summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
ModeNameSize
-rw-r--r--.cvsignore173logstatsplain
-rw-r--r--Makefile5993logstatsplain
-rw-r--r--Makefile.common1388logstatsplain
-rw-r--r--Makefile.mkinitrd_helper723logstatsplain
-rw-r--r--adsl.c4884logstatsplain
-rw-r--r--adsl.h780logstatsplain
-rw-r--r--automatic.c4341logstatsplain
-rw-r--r--automatic.h1093logstatsplain
-rw-r--r--bootsplash.c1459logstatsplain
-rw-r--r--bootsplash.h549logstatsplain
d---------bzlib380logstatsplain
-rw-r--r--cdrom.c5131logstatsplain
-rw-r--r--cdrom.h580logstatsplain
-rw-r--r--config-stage1.h3244logstatsplain
-rw-r--r--dhcp.c17813logstatsplain
-rw-r--r--dhcp.h810logstatsplain
d---------dietlibc1546logstatsplain
-rw-r--r--directory.c5283logstatsplain
-rw-r--r--directory.h711logstatsplain
-rw-r--r--disk.c8867logstatsplain
-rw-r--r--disk.h556logstatsplain
-rw-r--r--dns.c4673logstatsplain
-rw-r--r--dns.h634logstatsplain
d---------doc238logstatsplain
-rw-r--r--frontend-common.c823logstatsplain
-rw-r--r--frontend.h2092logstatsplain
-rw-r--r--init-libc-headers.h1046logstatsplain
-rw-r--r--init.c14931logstatsplain
d---------insmod-busybox371logstatsplain
d---------insmod-modutils212logstatsplain
-rw-r--r--insmod.h502logstatsplain
d---------linux-2.272logstatsplain
-rw-r--r--log.c1651logstatsplain
-rw-r--r--log.h744logstatsplain
-rw-r--r--lomount.c4343logstatsplain
-rw-r--r--lomount.h522logstatsplain
d---------mar241logstatsplain
-rw-r--r--minilibc.c5672logstatsplain
-rw-r--r--minilibc.h5229logstatsplain
d---------mkinitrd_helper81logstatsplain
-rw-r--r--modules.c16595logstatsplain
-rw-r--r--modules.h1016logstatsplain
-rw-r--r--modules_descr.h2287logstatsplain
-rw-r--r--mount.c5683logstatsplain
-rw-r--r--mount.h681logstatsplain
-rw-r--r--mount_rpcgen.h6175logstatsplain
-rw-r--r--network.c30903logstatsplain
-rw-r--r--network.h1373logstatsplain
-rw-r--r--newt-frontend.c8701logstatsplain
d---------newt619logstatsplain
-rw-r--r--nfs_mount4.h1510logstatsplain
-rw-r--r--nfsmount.c19061logstatsplain
-rw-r--r--nfsmount.h10466logstatsplain
d---------pci-resource119logstatsplain
d---------pcmcia_743logstatsplain
d---------ppp946logstatsplain
-rw-r--r--probing.c20421logstatsplain
-rw-r--r--probing.h1072logstatsplain
-rw-r--r--rescue-gui.c6047logstatsplain
d---------rp-pppoe410logstatsplain
d---------slang2495logstatsplain
d---------stage1-data149logstatsplain
-rw-r--r--stage1.c19709logstatsplain
-rw-r--r--stage1.h1729logstatsplain
-rw-r--r--stdio-frontend.c6663logstatsplain
-rw-r--r--tools.c11804logstatsplain
-rw-r--r--tools.h1864logstatsplain
-rw-r--r--url.c11010logstatsplain
-rw-r--r--url.h1388logstatsplain
d---------usb-resource119logstatsplain
c1af4addb6f18c15b59fc270854a0fbb8d92dcb6'>mdk-stage1/pcmcia/Makefile52
-rw-r--r--mdk-stage1/pcmcia/bulkmem.h195
-rw-r--r--mdk-stage1/pcmcia/cirrus.h157
-rw-r--r--mdk-stage1/pcmcia/cistpl.h604
-rw-r--r--mdk-stage1/pcmcia/cs.h433
-rw-r--r--mdk-stage1/pcmcia/cs_types.h70
-rw-r--r--mdk-stage1/pcmcia/driver_ops.h73
-rw-r--r--mdk-stage1/pcmcia/ds.h148
-rw-r--r--mdk-stage1/pcmcia/i82365.h135
-rw-r--r--mdk-stage1/pcmcia/lex_config.l223
-rwxr-xr-xmdk-stage1/pcmcia/merge_from_pcitable47
-rw-r--r--mdk-stage1/pcmcia/pcmcia.h21
-rw-r--r--mdk-stage1/pcmcia/probe.c524
-rw-r--r--mdk-stage1/pcmcia/startup.c271
-rw-r--r--mdk-stage1/pcmcia/startup.h54
-rw-r--r--mdk-stage1/pcmcia/tcic.h266
-rw-r--r--mdk-stage1/pcmcia/version.h4
-rw-r--r--mdk-stage1/pcmcia/vg468.h106
-rw-r--r--mdk-stage1/pcmcia/yacc_config.y133
-rw-r--r--mdk-stage1/ppp/Changes-2.3441
-rw-r--r--mdk-stage1/ppp/FAQ634
-rw-r--r--mdk-stage1/ppp/PLUGINS131
-rw-r--r--mdk-stage1/ppp/README168
-rw-r--r--mdk-stage1/ppp/README.MSCHAP80284
-rw-r--r--mdk-stage1/ppp/README.cbcp97
-rw-r--r--mdk-stage1/ppp/README.linux297
-rw-r--r--mdk-stage1/ppp/README.sol2220
-rw-r--r--mdk-stage1/ppp/README.sunos462
-rw-r--r--mdk-stage1/ppp/SETUP111
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.linux.makeopt27
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sol219
-rw-r--r--mdk-stage1/ppp/chat/Makefile.sunos419
-rw-r--r--mdk-stage1/ppp/chat/chat.8515
-rw-r--r--mdk-stage1/ppp/chat/chat.c1756
-rw-r--r--mdk-stage1/ppp/common/zlib.c5376
-rw-r--r--mdk-stage1/ppp/common/zlib.h1010
-rwxr-xr-xmdk-stage1/ppp/configure141
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux16
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.818
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c92
-rwxr-xr-xmdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh7
-rw-r--r--mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c218
-rw-r--r--mdk-stage1/ppp/etc.ppp/chap-secrets2
-rw-r--r--mdk-stage1/ppp/etc.ppp/options5
-rw-r--r--mdk-stage1/ppp/etc.ppp/options.options1
-rw-r--r--mdk-stage1/ppp/etc.ppp/pap-secrets2
-rw-r--r--mdk-stage1/ppp/include/linux/if_ppp.h155
-rw-r--r--mdk-stage1/ppp/include/linux/if_pppvar.h138
-rw-r--r--mdk-stage1/ppp/include/linux/ppp-comp.h203
-rw-r--r--mdk-stage1/ppp/include/linux/ppp_defs.h185
-rw-r--r--mdk-stage1/ppp/include/net/if_ppp.h133
-rw-r--r--mdk-stage1/ppp/include/net/ppp-comp.h165
-rw-r--r--mdk-stage1/ppp/include/net/ppp_defs.h184
-rw-r--r--mdk-stage1/ppp/include/net/pppio.h99
-rw-r--r--mdk-stage1/ppp/include/net/slcompress.h148
-rw-r--r--mdk-stage1/ppp/include/net/vjcompress.h144
-rw-r--r--mdk-stage1/ppp/include/pcap-int.h117
-rw-r--r--mdk-stage1/ppp/linux/Makefile.top55
-rw-r--r--mdk-stage1/ppp/modules/bsd-comp.c1116
-rw-r--r--mdk-stage1/ppp/modules/deflate.c760
-rw-r--r--mdk-stage1/ppp/modules/if_ppp.c865
-rw-r--r--mdk-stage1/ppp/modules/ppp.c2486
-rw-r--r--mdk-stage1/ppp/modules/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/modules/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/modules/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/modules/vjcompress.c587
-rw-r--r--mdk-stage1/ppp/pppd/Makefile51
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.make131
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.linux.makeopt129
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sol248
-rw-r--r--mdk-stage1/ppp/pppd/Makefile.sunos426
-rw-r--r--mdk-stage1/ppp/pppd/auth.c1939
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.c456
-rw-r--r--mdk-stage1/ppp/pppd/cbcp.h26
-rw-r--r--mdk-stage1/ppp/pppd/ccp.c1257
-rw-r--r--mdk-stage1/ppp/pppd/ccp.h48
-rw-r--r--mdk-stage1/ppp/pppd/chap.c860
-rw-r--r--mdk-stage1/ppp/pppd/chap.h124
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.c338
-rw-r--r--mdk-stage1/ppp/pppd/chap_ms.h33
-rw-r--r--mdk-stage1/ppp/pppd/demand.c351
-rw-r--r--mdk-stage1/ppp/pppd/eui64.c40
-rw-r--r--mdk-stage1/ppp/pppd/eui64.h97
-rw-r--r--mdk-stage1/ppp/pppd/fsm.c762
-rw-r--r--mdk-stage1/ppp/pppd/fsm.h144
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.c2054
-rw-r--r--mdk-stage1/ppp/pppd/ipcp.h73
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.c1512
-rw-r--r--mdk-stage1/ppp/pppd/ipv6cp.h126
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.c1570
-rw-r--r--mdk-stage1/ppp/pppd/ipxcp.h71
-rw-r--r--mdk-stage1/ppp/pppd/lcp.c2224
-rw-r--r--mdk-stage1/ppp/pppd/lcp.h95
-rw-r--r--mdk-stage1/ppp/pppd/magic.c88
-rw-r--r--mdk-stage1/ppp/pppd/magic.h23
-rw-r--r--mdk-stage1/ppp/pppd/main.c1846
-rw-r--r--mdk-stage1/ppp/pppd/md4.c298
-rw-r--r--mdk-stage1/ppp/pppd/md4.h64
-rw-r--r--mdk-stage1/ppp/pppd/md5.c309
-rw-r--r--mdk-stage1/ppp/pppd/md5.h58
-rw-r--r--mdk-stage1/ppp/pppd/multilink.c397
-rw-r--r--mdk-stage1/ppp/pppd/options.c1513
-rw-r--r--mdk-stage1/ppp/pppd/patchlevel.h4
-rw-r--r--mdk-stage1/ppp/pppd/pathnames.h25
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.linux19
-rw-r--r--mdk-stage1/ppp/pppd/plugins/Makefile.sol227
-rw-r--r--mdk-stage1/ppp/pppd/plugins/minconn.c46
-rw-r--r--mdk-stage1/ppp/pppd/plugins/passprompt.c108
-rw-r--r--mdk-stage1/ppp/pppd/ppp.pam6
-rw-r--r--mdk-stage1/ppp/pppd/pppd.81591
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h787
-rw-r--r--mdk-stage1/ppp/pppd/pppd.h.wtmp789
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c2672
-rw-r--r--mdk-stage1/ppp/pppd/sys-linux.c.wtmp2750
-rw-r--r--mdk-stage1/ppp/pppd/sys-solaris.c2737
-rw-r--r--mdk-stage1/ppp/pppd/sys-sunos4.c1559
-rw-r--r--mdk-stage1/ppp/pppd/tdb.c1282
-rw-r--r--mdk-stage1/ppp/pppd/tdb.h77
-rw-r--r--mdk-stage1/ppp/pppd/tty.c1164
-rw-r--r--mdk-stage1/ppp/pppd/upap.c640
-rw-r--r--mdk-stage1/ppp/pppd/upap.h87
-rw-r--r--mdk-stage1/ppp/pppd/utils.c949
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.makeopt17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile17
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sol221
-rw-r--r--mdk-stage1/ppp/pppdump/Makefile.sunos421
-rw-r--r--mdk-stage1/ppp/pppdump/bsd-comp.c750
-rw-r--r--mdk-stage1/ppp/pppdump/deflate.c344
-rw-r--r--mdk-stage1/ppp/pppdump/ppp-comp.h150
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.862
-rw-r--r--mdk-stage1/ppp/pppdump/pppdump.c502
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.c4614
-rw-r--r--mdk-stage1/ppp/pppdump/zlib.h631
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.linux32
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sol220
-rw-r--r--mdk-stage1/ppp/pppstats/Makefile.sunos430
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.8217
-rw-r--r--mdk-stage1/ppp/pppstats/pppstats.c557
-rw-r--r--mdk-stage1/ppp/sample/auth-down17
-rw-r--r--mdk-stage1/ppp/sample/auth-up17
-rw-r--r--mdk-stage1/ppp/sample/ip-down22
-rw-r--r--mdk-stage1/ppp/sample/ip-up23
-rw-r--r--mdk-stage1/ppp/sample/options153
-rw-r--r--mdk-stage1/ppp/sample/options.ttyXX14
-rw-r--r--mdk-stage1/ppp/sample/pap-secrets28
-rw-r--r--mdk-stage1/ppp/scripts/README143
-rwxr-xr-xmdk-stage1/ppp/scripts/callback77
-rw-r--r--mdk-stage1/ppp/scripts/chat-callback98
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/README134
-rw-r--r--mdk-stage1/ppp/scripts/chatchat/chatchat.c409
-rw-r--r--mdk-stage1/ppp/scripts/ip-down.local.add20
-rw-r--r--mdk-stage1/ppp/scripts/ip-up.local.add24
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-rsh-rem1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-loc1
-rw-r--r--mdk-stage1/ppp/scripts/options-ssh-rem1
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-off34
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on36
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-dialer17
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-rsh72
-rwxr-xr-xmdk-stage1/ppp/scripts/ppp-on-ssh76
-rwxr-xr-xmdk-stage1/ppp/scripts/redialer96
-rw-r--r--mdk-stage1/ppp/scripts/secure-card111
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs16
-rw-r--r--mdk-stage1/ppp/solaris/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/solaris/Makefile.top50
-rw-r--r--mdk-stage1/ppp/solaris/ppp.c2486
-rw-r--r--mdk-stage1/ppp/solaris/ppp.conf1
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc.c878
-rw-r--r--mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp.c1126
-rw-r--r--mdk-stage1/ppp/solaris/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.c174
-rw-r--r--mdk-stage1/ppp/solaris/ppp_mod.h190
-rw-r--r--mdk-stage1/ppp/sunos4/Makedefs13
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile57
-rw-r--r--mdk-stage1/ppp/sunos4/Makefile.top46
-rw-r--r--mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c57
-rwxr-xr-xmdk-stage1/ppp/sunos4/ppp.INSTALL104
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c57
-rw-r--r--mdk-stage1/ppp/sunos4/ppp_vdcmd.c81
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs16
-rw-r--r--mdk-stage1/ppp/svr4/Makedefs.sol259
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol266
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.sol2-6485
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.svr460
-rw-r--r--mdk-stage1/ppp/svr4/Makefile.top50
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.Node1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp.conf1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdl.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c49
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.Master1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp.System1
-rw-r--r--mdk-stage1/ppp/svr4/ppp_comp_mod.c81
-rw-r--r--mdk-stage1/ppp/svr4/ppp_mod.c174
-rw-r--r--mdk-stage1/probing.c1049
-rw-r--r--mdk-stage1/probing.h58
-rw-r--r--mdk-stage1/rescue-gui.c243
-rw-r--r--mdk-stage1/rp-pppoe/README87
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-masq35
-rw-r--r--mdk-stage1/rp-pppoe/configs/firewall-standalone32
-rw-r--r--mdk-stage1/rp-pppoe/configs/pap-secrets9
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe-server-options5
-rw-r--r--mdk-stage1/rp-pppoe/configs/pppoe.conf126
-rw-r--r--mdk-stage1/rp-pppoe/doc/CHANGES177
-rw-r--r--mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT295
-rw-r--r--mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE39
-rw-r--r--mdk-stage1/rp-pppoe/doc/LICENSE339
-rw-r--r--mdk-stage1/rp-pppoe/doc/PROBLEMS3
-rwxr-xr-xmdk-stage1/rp-pppoe/go43
-rwxr-xr-xmdk-stage1/rp-pppoe/go-gui92
-rw-r--r--mdk-stage1/rp-pppoe/gui/Makefile.in64
-rw-r--r--mdk-stage1/rp-pppoe/gui/html/tkpppoe.html181
-rw-r--r--mdk-stage1/rp-pppoe/gui/pppoe-wrapper.145
-rw-r--r--mdk-stage1/rp-pppoe/gui/tkpppoe.136
-rwxr-xr-xmdk-stage1/rp-pppoe/gui/tkpppoe.in2891
-rw-r--r--mdk-stage1/rp-pppoe/gui/wrapper.c234
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-connect.866
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-setup.823
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-start.827
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-status.825
-rw-r--r--mdk-stage1/rp-pppoe/man/adsl-stop.821
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-relay.8124
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-server.8123
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe-sniff.877
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.8236
-rw-r--r--mdk-stage1/rp-pppoe/man/pppoe.conf.5168
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe-gui.spec98
-rw-r--r--mdk-stage1/rp-pppoe/rp-pppoe.spec71
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-connect.in278
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-suse.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in62
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-init.in64
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-setup.in346
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-start.in186
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-status82
-rwxr-xr-xmdk-stage1/rp-pppoe/scripts/adsl-stop.in84
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile45
-rw-r--r--mdk-stage1/rp-pppoe/src/Makefile.in257
-rw-r--r--mdk-stage1/rp-pppoe/src/common.c485
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h135
-rw-r--r--mdk-stage1/rp-pppoe/src/config.h.in134
-rwxr-xr-xmdk-stage1/rp-pppoe/src/configure2356
-rw-r--r--mdk-stage1/rp-pppoe/src/configure.in231
-rw-r--r--mdk-stage1/rp-pppoe/src/debug.c143
-rw-r--r--mdk-stage1/rp-pppoe/src/discovery.c629
-rw-r--r--mdk-stage1/rp-pppoe/src/if.c1092
-rwxr-xr-xmdk-stage1/rp-pppoe/src/install-sh238
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.c246
-rw-r--r--mdk-stage1/rp-pppoe/src/md5.h27
-rw-r--r--mdk-stage1/rp-pppoe/src/plugin.c397
-rw-r--r--mdk-stage1/rp-pppoe/src/ppp.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-server.c1247
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe-sniff.c258
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.c834
-rw-r--r--mdk-stage1/rp-pppoe/src/pppoe.h331
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.c1541
-rw-r--r--mdk-stage1/rp-pppoe/src/relay.h97
-rw-r--r--mdk-stage1/slang/Makefile42
-rw-r--r--mdk-stage1/slang/_slang.h743
-rw-r--r--mdk-stage1/slang/config.h163
-rw-r--r--mdk-stage1/slang/jdmacros.h53
-rw-r--r--mdk-stage1/slang/keywhash.c190
-rw-r--r--mdk-stage1/slang/sl-feat.h60
-rw-r--r--mdk-stage1/slang/slang.c5547
-rw-r--r--mdk-stage1/slang/slang.h1930
-rw-r--r--mdk-stage1/slang/slarith.c1656
-rw-r--r--mdk-stage1/slang/slarith.inc783
-rw-r--r--mdk-stage1/slang/slarray.c3139
-rw-r--r--mdk-stage1/slang/slarrfun.c464
-rw-r--r--mdk-stage1/slang/slarrfun.inc257
-rw-r--r--mdk-stage1/slang/slarrmis.c38
-rw-r--r--mdk-stage1/slang/slassoc.c713
-rw-r--r--mdk-stage1/slang/slbstr.c615
-rw-r--r--mdk-stage1/slang/slclass.c1391
-rw-r--r--mdk-stage1/slang/slcmd.c351
-rw-r--r--mdk-stage1/slang/slcmplex.c1142
-rw-r--r--mdk-stage1/slang/slcompat.c34
-rw-r--r--mdk-stage1/slang/slcurses.c972
-rw-r--r--mdk-stage1/slang/slcurses.h353
-rw-r--r--mdk-stage1/slang/sldisply.c2596
-rw-r--r--mdk-stage1/slang/slerr.c181
-rw-r--r--mdk-stage1/slang/slerrno.c219
-rw-r--r--mdk-stage1/slang/slgetkey.c306
-rw-r--r--mdk-stage1/slang/slimport.c281
-rw-r--r--mdk-stage1/slang/slinclud.h26
-rw-r--r--mdk-stage1/slang/slintall.c27
-rw-r--r--mdk-stage1/slang/slistruc.c218
-rw-r--r--mdk-stage1/slang/slkeymap.c596
-rw-r--r--mdk-stage1/slang/slkeypad.c163
-rw-r--r--mdk-stage1/slang/sllimits.h64
-rw-r--r--mdk-stage1/slang/slmalloc.c165
-rw-r--r--mdk-stage1/slang/slmath.c565
-rw-r--r--mdk-stage1/slang/slmemchr.c47
-rw-r--r--mdk-stage1/slang/slmemcmp.c76
-rw-r--r--mdk-stage1/slang/slmemcpy.c49
-rw-r--r--mdk-stage1/slang/slmemset.c39
-rw-r--r--mdk-stage1/slang/slmisc.c330
-rw-r--r--mdk-stage1/slang/slnspace.c242
-rw-r--r--mdk-stage1/slang/slospath.c73
-rw-r--r--mdk-stage1/slang/slpack.c785
-rw-r--r--mdk-stage1/slang/slparse.c1970
-rw-r--r--mdk-stage1/slang/slpath.c344
-rw-r--r--mdk-stage1/slang/slposdir.c1057
-rw-r--r--mdk-stage1/slang/slposio.c568
-rw-r--r--mdk-stage1/slang/slprepr.c427
-rw-r--r--mdk-stage1/slang/slproc.c155
-rw-r--r--mdk-stage1/slang/slregexp.c935
-rw-r--r--mdk-stage1/slang/slrline.c836
-rw-r--r--mdk-stage1/slang/slscanf.c718
-rw-r--r--mdk-stage1/slang/slscroll.c450
-rw-r--r--mdk-stage1/slang/slsearch.c239
-rw-r--r--mdk-stage1/slang/slsignal.c336
-rw-r--r--mdk-stage1/slang/slsmg.c1584
-rw-r--r--mdk-stage1/slang/slstd.c724
-rw-r--r--mdk-stage1/slang/slstdio.c1050
-rw-r--r--mdk-stage1/slang/slstring.c546
-rw-r--r--mdk-stage1/slang/slstrops.c1686
-rw-r--r--mdk-stage1/slang/slstruct.c932
-rw-r--r--mdk-stage1/slang/sltermin.c1155
-rw-r--r--mdk-stage1/slang/sltime.c310
-rw-r--r--mdk-stage1/slang/sltoken.c1702
-rw-r--r--mdk-stage1/slang/sltypes.c966
-rw-r--r--mdk-stage1/slang/slutty.c596
-rw-r--r--mdk-stage1/slang/slxstrng.c43
-rw-r--r--mdk-stage1/stage1.c455
-rw-r--r--mdk-stage1/stage1.h62
-rw-r--r--mdk-stage1/stdio-frontend.c369
-rw-r--r--mdk-stage1/sysfs/Makefile39
-rw-r--r--mdk-stage1/sysfs/libsysfs.h90
-rw-r--r--mdk-stage1/sysfs/sysfs.h64
-rw-r--r--mdk-stage1/sysfs/sysfs_attr.c241
-rw-r--r--mdk-stage1/sysfs/sysfs_utils.c59
-rw-r--r--mdk-stage1/thirdparty.c458
-rw-r--r--mdk-stage1/thirdparty.h35
-rw-r--r--mdk-stage1/tools.c614
-rw-r--r--mdk-stage1/tools.h73
-rw-r--r--mdk-stage1/url.c559
-rw-r--r--mdk-stage1/url.h46
-rw-r--r--mdk-stage1/usb-resource/Makefile25
-rwxr-xr-xmdk-stage1/usb-resource/update-usb-ids.pl54
-rw-r--r--mdk-stage1/wireless.c157
-rw-r--r--mdk-stage1/wireless.h25
-rw-r--r--mdk-stage1/zlibsupport.c119
-rw-r--r--mdk-stage1/zlibsupport.h11
-rw-r--r--perl-install/.perl_checker63
-rw-r--r--perl-install/Makefile81
-rw-r--r--perl-install/Makefile.config21
-rw-r--r--perl-install/Makefile.drakxtools78
-rw-r--r--perl-install/NEWS111
-rw-r--r--perl-install/any.pm1329
-rw-r--r--perl-install/authentication.pm766
-rw-r--r--perl-install/bootloader.pm1751
-rw-r--r--perl-install/bootsplash.pm259
-rw-r--r--perl-install/c.pm19
-rw-r--r--perl-install/c/Makefile17
-rw-r--r--perl-install/c/Makefile.PL21
-rw-r--r--perl-install/c/README1
-rw-r--r--perl-install/c/stuff.pm14
-rw-r--r--perl-install/c/stuff.xs.pl546
-rw-r--r--perl-install/common.pm409
-rw-r--r--perl-install/cpufreq.pm149
-rw-r--r--perl-install/dbus_object.pm70
-rw-r--r--perl-install/detect_devices.pm1167
-rw-r--r--perl-install/devices.pm219
-rw-r--r--perl-install/diskdrake/dav.pm115
-rw-r--r--perl-install/diskdrake/diskdrake.html139
-rw-r--r--perl-install/diskdrake/hd_gtk.pm415
-rw-r--r--perl-install/diskdrake/interactive.pm1411
-rw-r--r--perl-install/diskdrake/removable.pm52
-rw-r--r--perl-install/diskdrake/resize_ext2.pm37
-rw-r--r--perl-install/diskdrake/resize_ntfs.pm36
-rw-r--r--perl-install/diskdrake/smbnfs_gtk.pm271
-rw-r--r--perl-install/do_pkgs.pm266
-rw-r--r--perl-install/fs.pm361
-rw-r--r--perl-install/fs/any.pm66
-rw-r--r--perl-install/fs/dmraid.pm214
-rw-r--r--perl-install/fs/format.pm195
-rw-r--r--perl-install/fs/get.pm155
-rw-r--r--perl-install/fs/loopback.pm119
-rw-r--r--perl-install/fs/mount.pm221
-rw-r--r--perl-install/fs/mount_options.pm268
-rw-r--r--perl-install/fs/mount_point.pm130
-rw-r--r--perl-install/fs/partitioning.pm82
-rw-r--r--perl-install/fs/partitioning_wizard.pm283
-rw-r--r--perl-install/fs/proc_partitions.pm73
-rw-r--r--perl-install/fs/remote.pm45
-rw-r--r--perl-install/fs/remote/nfs.pm68
-rw-r--r--perl-install/fs/remote/smb.pm217
-rw-r--r--perl-install/fs/type.pm384
-rw-r--r--perl-install/fs/wild_device.pm102
-rw-r--r--perl-install/fsedit.pm597
-rw-r--r--perl-install/handle_configs.pm160
-rw-r--r--perl-install/harddrake/TODO169
-rw-r--r--perl-install/harddrake/autoconf.pm86
-rwxr-xr-xperl-install/harddrake/check_snd.pl20
-rw-r--r--perl-install/harddrake/data.pm561
-rw-r--r--perl-install/harddrake/sound.pm377
-rw-r--r--perl-install/harddrake/v4l.pm495
-rw-r--r--perl-install/install/Makefile102
-rw-r--r--perl-install/install/NEWS113
-rw-r--r--perl-install/install/any.pm1411
-rwxr-xr-xperl-install/install/commands20
-rw-r--r--perl-install/install/commands.pm439
-rw-r--r--perl-install/install/ftp.pm100
-rw-r--r--perl-install/install/gtk.pm319
-rw-r--r--perl-install/install/help/Makefile9
-rw-r--r--perl-install/install/help/help.pm862
-rwxr-xr-xperl-install/install/help/help_xml2pm.pl326
-rw-r--r--perl-install/install/help/id.xsl5
-rw-r--r--perl-install/install/help/po/DrakX-help.pot1109
-rw-r--r--perl-install/install/help/po/Makefile35
-rw-r--r--perl-install/install/help/po/af.po1839
-rw-r--r--perl-install/install/help/po/am.po1108
-rw-r--r--perl-install/install/help/po/ar.po1919
-rw-r--r--perl-install/install/help/po/az.po1926
-rw-r--r--perl-install/install/help/po/be.po1108
-rw-r--r--perl-install/install/help/po/bg.po1633
-rw-r--r--perl-install/install/help/po/bn.po1510
-rw-r--r--perl-install/install/help/po/br.po1120
-rw-r--r--perl-install/install/help/po/bs.po1945
-rw-r--r--perl-install/install/help/po/ca.po1966
-rw-r--r--perl-install/install/help/po/cs.po1952
-rw-r--r--perl-install/install/help/po/cy.po1909
-rw-r--r--perl-install/install/help/po/da.po1906
-rw-r--r--perl-install/install/help/po/de.po2016
-rw-r--r--perl-install/install/help/po/el.po1791
-rw-r--r--perl-install/install/help/po/eo.po1196
-rw-r--r--perl-install/install/help/po/es.po2046
-rw-r--r--perl-install/install/help/po/et.po1945
-rw-r--r--perl-install/install/help/po/eu.po2003
-rw-r--r--perl-install/install/help/po/fa.po1938
-rw-r--r--perl-install/install/help/po/fi.po1914
-rw-r--r--perl-install/install/help/po/fr.po2066
-rw-r--r--perl-install/install/help/po/fur.po1110
-rw-r--r--perl-install/install/help/po/ga.po1107
-rw-r--r--perl-install/install/help/po/gl.po1948
-rw-r--r--perl-install/install/help/po/he.po1493
-rw-r--r--perl-install/install/help/po/hi.po1467
-rw-r--r--perl-install/install/help/po/hr.po1762
-rw-r--r--perl-install/install/help/po/hu.po1965
-rw-r--r--perl-install/install/help/po/id.po1974
-rw-r--r--perl-install/install/help/po/is.po1921
-rw-r--r--perl-install/install/help/po/it.po2070
-rw-r--r--perl-install/install/help/po/ja.po1841
-rw-r--r--perl-install/install/help/po/ko.po1504
-rw-r--r--perl-install/install/help/po/ky.po1536
-rw-r--r--perl-install/install/help/po/lt.po1403
-rw-r--r--perl-install/install/help/po/ltg.po1401
-rw-r--r--perl-install/install/help/po/lv.po1399
-rw-r--r--perl-install/install/help/po/mk.po2038
-rw-r--r--perl-install/install/help/po/mn.po1191
-rw-r--r--perl-install/install/help/po/ms.po1208
-rw-r--r--perl-install/install/help/po/mt.po1921
-rw-r--r--perl-install/install/help/po/nb.po2029
-rw-r--r--perl-install/install/help/po/nl.po2006
-rw-r--r--perl-install/install/help/po/nn.po1654
-rw-r--r--perl-install/install/help/po/pa_IN.po1163
-rw-r--r--perl-install/install/help/po/pl.po1969
-rw-r--r--perl-install/install/help/po/pt.po1943
-rw-r--r--perl-install/install/help/po/pt_BR.po2021
-rw-r--r--perl-install/install/help/po/ro.po1129
-rw-r--r--perl-install/install/help/po/ru.po1968
-rw-r--r--perl-install/install/help/po/sc.po1110
-rw-r--r--perl-install/install/help/po/sk.po1998
-rw-r--r--perl-install/install/help/po/sl.po1914
-rw-r--r--perl-install/install/help/po/sq.po1931
-rw-r--r--perl-install/install/help/po/sr.po1902
-rw-r--r--perl-install/install/help/po/sr@Latn.po1909
-rw-r--r--perl-install/install/help/po/sv.po1952
-rw-r--r--perl-install/install/help/po/ta.po1590
-rw-r--r--perl-install/install/help/po/tg.po1997
-rw-r--r--perl-install/install/help/po/th.po1137
-rw-r--r--perl-install/install/help/po/tl.po2076
-rw-r--r--perl-install/install/help/po/tr.po1738
-rw-r--r--perl-install/install/help/po/uk.po1942
-rw-r--r--perl-install/install/help/po/uz.po1141
-rw-r--r--perl-install/install/help/po/uz@Latn.po1142
-rw-r--r--perl-install/install/help/po/vi.po1869
-rw-r--r--perl-install/install/help/po/wa.po1994
-rw-r--r--perl-install/install/help/po/zh_CN.po1786
-rw-r--r--perl-install/install/help/po/zh_TW.po1617
-rw-r--r--perl-install/install/http.pm59
-rwxr-xr-xperl-install/install/install232
-rw-r--r--perl-install/install/install2.pm661
-rw-r--r--perl-install/install/interactive.pm33
-rw-r--r--perl-install/install/media.pm1007
-rw-r--r--perl-install/install/pixmaps/banner-adduser.pngbin0 -> 1482 bytes-rw-r--r--perl-install/install/pixmaps/banner-bootL.pngbin0 -> 1904 bytes-rw-r--r--perl-install/install/pixmaps/banner-exit.pngbin0 -> 1630 bytes-rw-r--r--perl-install/install/pixmaps/banner-generic-ad.pngbin0 -> 1546 bytes-rw-r--r--perl-install/install/pixmaps/banner-languages.pngbin0 -> 1976 bytes-rw-r--r--perl-install/install/pixmaps/banner-license.pngbin0 -> 1999 bytes-rw-r--r--perl-install/install/pixmaps/banner-part.pngbin0 -> 1532 bytes-rw-r--r--perl-install/install/pixmaps/banner-pw.pngbin0 -> 1947 bytes-rw-r--r--perl-install/install/pixmaps/banner-security.pngbin0 -> 1152 bytes-rw-r--r--perl-install/install/pixmaps/banner-summary.pngbin0 -> 1176 bytes-rw-r--r--perl-install/install/pixmaps/banner-sys.pngbin0 -> 1599 bytes-rw-r--r--perl-install/install/pixmaps/banner-update.pngbin0 -> 1609 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-af.pngbin0 -> 691 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-am.pngbin0 -> 658 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ar.pngbin0 -> 576 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-as.pngbin0 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-az.pngbin0 -> 928 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-be.pngbin0 -> 935 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ber.pngbin0 -> 566 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bg.pngbin0 -> 778 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bn.pngbin0 -> 439 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bo.pngbin0 -> 678 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-br.pngbin0 -> 781 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-bs.pngbin0 -> 740 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ca.pngbin0 -> 513 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ca@valencian.pngbin0 -> 1115 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-chr.pngbin0 -> 626 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-cs.pngbin0 -> 752 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-csb.pngbin0 -> 1052 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-cy.pngbin0 -> 809 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-da.pngbin0 -> 608 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-de.pngbin0 -> 730 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-dz.pngbin0 -> 603 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-el.pngbin0 -> 683 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_AU.pngbin0 -> 1129 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_CA.pngbin0 -> 1068 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_GB.pngbin0 -> 996 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_IE.pngbin0 -> 1128 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_NZ.pngbin0 -> 1388 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-en_US.pngbin0 -> 1330 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-eo.pngbin0 -> 845 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-es.pngbin0 -> 715 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-et.pngbin0 -> 482 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-eu.pngbin0 -> 602 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fa.pngbin0 -> 530 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fi.pngbin0 -> 554 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fil.pngbin0 -> 490 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fo.pngbin0 -> 799 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fr.pngbin0 -> 644 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fur.pngbin0 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-fy.pngbin0 -> 604 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ga.pngbin0 -> 666 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gd.pngbin0 -> 742 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gl.pngbin0 -> 723 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gn.pngbin0 -> 770 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gu.pngbin0 -> 778 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-gv.pngbin0 -> 628 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ha.pngbin0 -> 554 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-he.pngbin0 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hi.pngbin0 -> 491 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hr.pngbin0 -> 658 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hu.pngbin0 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-hy.pngbin0 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ia.pngbin0 -> 755 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-id.pngbin0 -> 974 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ig.pngbin0 -> 536 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ik.pngbin0 -> 670 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-is.pngbin0 -> 665 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-it.pngbin0 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-iu.pngbin0 -> 652 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ja.pngbin0 -> 561 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ka.pngbin0 -> 1012 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kk.pngbin0 -> 667 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kl.pngbin0 -> 747 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-km.pngbin0 -> 671 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kn.pngbin0 -> 543 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ko.pngbin0 -> 507 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ks.pngbin0 -> 648 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ks@Arab.pngbin0 -> 599 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ku.pngbin0 -> 496 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-kw.pngbin0 -> 664 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ky.pngbin0 -> 719 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lb.pngbin0 -> 1161 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lg.pngbin0 -> 681 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-li.pngbin0 -> 659 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lo.pngbin0 -> 230 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lt.pngbin0 -> 824 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ltg.pngbin0 -> 695 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-lv.pngbin0 -> 749 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mi.pngbin0 -> 558 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mk.pngbin0 -> 904 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ml.pngbin0 -> 1006 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mn.pngbin0 -> 491 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mr.pngbin0 -> 452 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ms.pngbin0 -> 1013 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-mt.pngbin0 -> 547 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-my.pngbin0 -> 557 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nb.pngbin0 -> 970 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nds.pngbin0 -> 877 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ne.pngbin0 -> 518 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nl.pngbin0 -> 788 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nn.pngbin0 -> 811 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-no.pngbin0 -> 970 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nr.pngbin0 -> 748 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-nso.pngbin0 -> 1019 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-oc.pngbin0 -> 631 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pa.pngbin0 -> 470 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pa_IN.pngbin0 -> 470 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pl.pngbin0 -> 551 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ps.pngbin0 -> 436 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pt.pngbin0 -> 814 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-pt_BR.pngbin0 -> 1178 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-qu.pngbin0 -> 851 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ro.pngbin0 -> 671 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ru.pngbin0 -> 622 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-rw.pngbin0 -> 913 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sc.pngbin0 -> 634 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-se.pngbin0 -> 810 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sh.pngbin0 -> 724 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sk.pngbin0 -> 878 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sl.pngbin0 -> 995 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-so.pngbin0 -> 690 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sq.pngbin0 -> 557 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sr.pngbin0 -> 639 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sr@Latn.pngbin0 -> 724 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ss.pngbin0 -> 619 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-st.pngbin0 -> 684 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sv.pngbin0 -> 810 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-sw.pngbin0 -> 814 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ta.pngbin0 -> 612 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-te.pngbin0 -> 649 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tg.pngbin0 -> 524 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-th.pngbin0 -> 396 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tk.pngbin0 -> 737 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tn.pngbin0 -> 863 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tr.pngbin0 -> 573 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ts.pngbin0 -> 878 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tt.pngbin0 -> 515 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-tt@Cyrl.pngbin0 -> 567 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ug.pngbin0 -> 635 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uk.pngbin0 -> 766 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ur.pngbin0 -> 423 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uz.pngbin0 -> 1203 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uz@Cyrl.pngbin0 -> 1203 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-uz@Latn.pngbin0 -> 1217 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-ve.pngbin0 -> 608 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-vi.pngbin0 -> 765 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-wa.pngbin0 -> 633 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-xh.pngbin0 -> 618 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-yi.pngbin0 -> 369 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-yo.pngbin0 -> 695 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zh_CN.pngbin0 -> 783 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zh_TW.pngbin0 -> 890 bytes-rw-r--r--perl-install/install/pixmaps/langs/lang-zu.pngbin0 -> 466 bytes-rw-r--r--perl-install/install/pixmaps/logo-mandriva.pngbin0 -> 25357 bytes-rw-r--r--perl-install/install/pixmaps/reload.pngbin0 -> 157 bytes-rw-r--r--perl-install/install/pixmaps/selected.pngbin0 -> 344 bytes-rw-r--r--perl-install/install/pixmaps/semiselected.pngbin0 -> 238 bytes-rw-r--r--perl-install/install/pixmaps/unselected.pngbin0 -> 123 bytes-rw-r--r--perl-install/install/pkgs.pm1162
-rw-r--r--perl-install/install/share/advertising/ARKEIA_EN.pl3
-rw-r--r--perl-install/install/share/advertising/ARKEIA_EN.pngbin0 -> 40722 bytes-rw-r--r--perl-install/install/share/advertising/ARKEIA_FR.pl3
-rw-r--r--perl-install/install/share/advertising/ARKEIA_FR.pngbin0 -> 45275 bytes-rw-r--r--perl-install/install/share/advertising/FLATOUT.pl3
-rw-r--r--perl-install/install/share/advertising/FLATOUT.pngbin0 -> 387071 bytes-rw-r--r--perl-install/install/share/advertising/IM-GWENVIEW.pl3
-rw-r--r--perl-install/install/share/advertising/IM-GWENVIEW.pngbin0 -> 184226 bytes-rw-r--r--perl-install/install/share/advertising/IM_3D.pl3
-rw-r--r--perl-install/install/share/advertising/IM_3D.pngbin0 -> 103384 bytes-rw-r--r--perl-install/install/share/advertising/IM_CMSJOOMLA.pl3
-rw-r--r--perl-install/install/share/advertising/IM_CMSJOOMLA.pngbin0 -> 108591 bytes-rw-r--r--perl-install/install/share/advertising/IM_CRM.pl3
-rw-r--r--perl-install/install/share/advertising/IM_CRM.pngbin0 -> 89674 bytes-rw-r--r--perl-install/install/share/advertising/IM_GAMME.pl3
-rw-r--r--perl-install/install/share/advertising/IM_GAMME.pngbin0 -> 153079 bytes-rw-r--r--perl-install/install/share/advertising/IM_INVICTUS.pl3
-rw-r--r--perl-install/install/share/advertising/IM_INVICTUS.pngbin0 -> 117364 bytes-rw-r--r--perl-install/install/share/advertising/IM_ONE.pl3
-rw-r--r--perl-install/install/share/advertising/IM_ONE.pngbin0 -> 131368 bytes-rw-r--r--perl-install/install/share/advertising/IM_REGISTER.pl3
-rw-r--r--perl-install/install/share/advertising/IM_REGISTER.pngbin0 -> 113548 bytes-rw-r--r--perl-install/install/share/advertising/IM_RPMDRAKE.pl3
-rw-r--r--perl-install/install/share/advertising/IM_RPMDRAKE.pngbin0 -> 123196 bytes-rw-r--r--perl-install/install/share/advertising/IM_SERVICES.pl3
-rw-r--r--perl-install/install/share/advertising/IM_SERVICES.pngbin0 -> 127624 bytes-rw-r--r--perl-install/install/share/advertising/IM_THEME.pl3
-rw-r--r--perl-install/install/share/advertising/IM_THEME.pngbin0 -> 109145 bytes-rw-r--r--perl-install/install/share/advertising/IM_web2.pl3
-rw-r--r--perl-install/install/share/advertising/IM_web2.pngbin0 -> 116105 bytes-rw-r--r--perl-install/install/share/advertising/Kaspersky.pl3
-rw-r--r--perl-install/install/share/advertising/Kaspersky.pngbin0 -> 127066 bytes-rw-r--r--perl-install/install/share/advertising/LinDVD.pl3
-rw-r--r--perl-install/install/share/advertising/LinDVD.pngbin0 -> 215657 bytes-rw-r--r--perl-install/install/share/advertising/Makefile9
-rw-r--r--perl-install/install/share/advertising/README4
-rw-r--r--perl-install/install/share/advertising/Skype.pl3
-rw-r--r--perl-install/install/share/advertising/Skype.pngbin0 -> 59113 bytes-rw-r--r--perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pl3
-rw-r--r--perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pngbin0 -> 101074 bytes-rw-r--r--perl-install/install/share/advertising/VPN.pl3
-rw-r--r--perl-install/install/share/advertising/VPN.pngbin0 -> 91945 bytes-rw-r--r--perl-install/install/share/advertising/bitdefender.pngbin0 -> 133427 bytes-rw-r--r--perl-install/install/share/advertising/list-dis14
-rw-r--r--perl-install/install/share/advertising/list-dwd14
-rw-r--r--perl-install/install/share/advertising/list-ppp13
-rw-r--r--perl-install/install/share/advertising/list-pwp14
-rw-r--r--perl-install/install/share/aliases8
-rw-r--r--perl-install/install/share/consolefonts/Cyr_a8x16bin0 -> 9782 bytes-rw-r--r--perl-install/install/share/consolefonts/lat0-sun16bin0 -> 9770 bytes-rw-r--r--perl-install/install/share/consolefonts/lat2-sun16bin0 -> 9802 bytes-rw-r--r--perl-install/install/share/consolefonts/ruscii_8x16bin0 -> 9782 bytes-rw-r--r--perl-install/install/share/fonts.tar.bz2bin0 -> 774796 bytes-rwxr-xr-xperl-install/install/share/generate-xlocales67
-rw-r--r--perl-install/install/share/keyboards.tar.bz2bin0 -> 31960 bytes-rw-r--r--perl-install/install/share/keymaps.tar.bz2bin0 -> 12421 bytes-rwxr-xr-xperl-install/install/share/keymaps_generate18
-rwxr-xr-xperl-install/install/share/kmap2bkmap39
-rw-r--r--perl-install/install/share/list.xml414
-rw-r--r--perl-install/install/share/po/DrakX.pot1490
-rw-r--r--perl-install/install/share/po/Makefile36
-rw-r--r--perl-install/install/share/po/af.po1619
-rw-r--r--perl-install/install/share/po/am.po1520
-rw-r--r--perl-install/install/share/po/ar.po1623
-rw-r--r--perl-install/install/share/po/az.po1612
-rw-r--r--perl-install/install/share/po/be.po1556
-rw-r--r--perl-install/install/share/po/bg.po1612
-rw-r--r--perl-install/install/share/po/bn.po1618
-rw-r--r--perl-install/install/share/po/br.po1562
-rw-r--r--perl-install/install/share/po/bs.po1632
-rw-r--r--perl-install/install/share/po/ca.po1632
-rw-r--r--perl-install/install/share/po/cs.po1587
-rw-r--r--perl-install/install/share/po/cy.po1626
-rw-r--r--perl-install/install/share/po/da.po1628
-rw-r--r--perl-install/install/share/po/de.po1649
-rw-r--r--perl-install/install/share/po/el.po1618
-rw-r--r--perl-install/install/share/po/eo.po1569
-rw-r--r--perl-install/install/share/po/es.po1642
-rw-r--r--perl-install/install/share/po/et.po1615
-rw-r--r--perl-install/install/share/po/eu.po1625
-rw-r--r--perl-install/install/share/po/fa.po1609
-rw-r--r--perl-install/install/share/po/fi.po1640
-rw-r--r--perl-install/install/share/po/fr.po1714
-rw-r--r--perl-install/install/share/po/fur.po1500
-rw-r--r--perl-install/install/share/po/ga.po1523
-rw-r--r--perl-install/install/share/po/gl.po1632
-rw-r--r--perl-install/install/share/po/he.po1612
-rw-r--r--perl-install/install/share/po/hi.po1609
-rw-r--r--perl-install/install/share/po/hr.po1612
-rw-r--r--perl-install/install/share/po/hu.po1651
-rw-r--r--perl-install/install/share/po/id.po1628
-rw-r--r--perl-install/install/share/po/is.po1624
-rw-r--r--perl-install/install/share/po/it.po1635
-rw-r--r--perl-install/install/share/po/ja.po1617
-rw-r--r--perl-install/install/share/po/ko.po1564
-rw-r--r--perl-install/install/share/po/ky.po1560
-rw-r--r--perl-install/install/share/po/lt.po1568
-rw-r--r--perl-install/install/share/po/ltg.po1629
-rw-r--r--perl-install/install/share/po/lv.po1608
-rw-r--r--perl-install/install/share/po/mk.po1635
-rw-r--r--perl-install/install/share/po/mn.po1528
-rw-r--r--perl-install/install/share/po/ms.po1543
-rw-r--r--perl-install/install/share/po/mt.po1619
-rw-r--r--perl-install/install/share/po/nb.po1639
-rw-r--r--perl-install/install/share/po/nl.po1635
-rw-r--r--perl-install/install/share/po/nn.po1622
-rw-r--r--perl-install/install/share/po/pa_IN.po1583
-rw-r--r--perl-install/install/share/po/pl.po1596
-rw-r--r--perl-install/install/share/po/pt.po1646
-rw-r--r--perl-install/install/share/po/pt_BR.po1649
-rw-r--r--perl-install/install/share/po/ro.po1577
-rw-r--r--perl-install/install/share/po/ru.po1640
-rw-r--r--perl-install/install/share/po/sc.po1534
-rw-r--r--perl-install/install/share/po/sk.po1618
-rw-r--r--perl-install/install/share/po/sl.po1635
-rw-r--r--perl-install/install/share/po/sq.po1616
-rw-r--r--perl-install/install/share/po/sr.po1630
-rw-r--r--perl-install/install/share/po/sr@Latn.po1630
-rw-r--r--perl-install/install/share/po/sv.po1592
-rw-r--r--perl-install/install/share/po/ta.po1589
-rw-r--r--perl-install/install/share/po/tg.po1643
-rw-r--r--perl-install/install/share/po/th.po1542
-rw-r--r--perl-install/install/share/po/tl.po1628
-rw-r--r--perl-install/install/share/po/tr.po1613
-rw-r--r--perl-install/install/share/po/uk.po1636
-rw-r--r--perl-install/install/share/po/uz.po1550
-rw-r--r--perl-install/install/share/po/uz@Latn.po1553
-rw-r--r--perl-install/install/share/po/vi.po1608
-rw-r--r--perl-install/install/share/po/wa.po1642
-rw-r--r--perl-install/install/share/po/zh_CN.po1552
-rw-r--r--perl-install/install/share/po/zh_TW.po1609
-rw-r--r--perl-install/install/share/symlinks11
-rw-r--r--perl-install/install/share/themes-blue.rc65
-rw-r--r--perl-install/install/share/themes-galaxy.rc30
-rw-r--r--perl-install/install/share/upgrade/conectiva.10/map3355
-rwxr-xr-xperl-install/install/share/upgrade/conectiva.10/pre.keep-kde-profile6
-rwxr-xr-xperl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh87
-rwxr-xr-xperl-install/install/share/upgrade/conectiva.10/pre.remove-conflicting-files.sh3
-rw-r--r--perl-install/install/steps.pm961
-rw-r--r--perl-install/install/steps_auto_install.pm138
-rw-r--r--perl-install/install/steps_curses.pm68
-rw-r--r--perl-install/install/steps_gtk.pm637
-rw-r--r--perl-install/install/steps_interactive.pm1083
-rw-r--r--perl-install/install/steps_list.pm49
-rw-r--r--perl-install/install/steps_stdio.pm36
-rw-r--r--perl-install/interactive.pm643
-rw-r--r--perl-install/interactive/curses.pm591
-rw-r--r--perl-install/interactive/gtk.pm881
-rw-r--r--perl-install/interactive/http.pm164
-rw-r--r--perl-install/interactive/stdio.pm173
-rw-r--r--perl-install/lang.pm1374
l---------perl-install/list_modules.pm1
-rw-r--r--perl-install/log.pm55
-rw-r--r--perl-install/lvm.pm194
-rw-r--r--perl-install/messages.pm147
-rw-r--r--perl-install/mirror.pm125
-rw-r--r--perl-install/modalias.pm84
-rw-r--r--perl-install/modules.pm323
-rw-r--r--perl-install/modules/any_conf.pm221
-rw-r--r--perl-install/modules/interactive.pm163
-rw-r--r--perl-install/modules/modprobe_conf.pm163
-rw-r--r--perl-install/modules/modules_conf.pm70
-rw-r--r--perl-install/modules/parameters.pm27
-rw-r--r--perl-install/mygtk2.pm1137
-rw-r--r--perl-install/partition_table.pm629
-rw-r--r--perl-install/partition_table/bsd.pm147
-rw-r--r--perl-install/partition_table/dos.pm251
-rw-r--r--perl-install/partition_table/empty.pm36
-rw-r--r--perl-install/partition_table/gpt.pm264
-rw-r--r--perl-install/partition_table/mac.pm393
-rw-r--r--perl-install/partition_table/raw.pm269
-rw-r--r--perl-install/partition_table/sun.pm202
-rw-r--r--perl-install/pixmaps/X.pngbin0 -> 2517 bytes-rw-r--r--perl-install/pixmaps/cups_config.pngbin0 -> 2290 bytes-rw-r--r--perl-install/pixmaps/default.pngbin0 -> 1701 bytes-rw-r--r--perl-install/pixmaps/eth_card_mini.pngbin0 -> 2712 bytes-rw-r--r--perl-install/pixmaps/help.pngbin0 -> 1699 bytes-rw-r--r--perl-install/pixmaps/nosplash_thumb.pngbin0 -> 5115 bytes-rw-r--r--perl-install/pixmaps/quit.pngbin0 -> 2117 bytes-rw-r--r--perl-install/pixmaps/redhat-config-users.pngbin0 -> 2770 bytes-rw-r--r--perl-install/pixmaps/refresh.pngbin0 -> 1775 bytes-rw-r--r--perl-install/pixmaps/selected.pngbin0 -> 344 bytes-rw-r--r--perl-install/pixmaps/steps_done.pngbin0 -> 348 bytes-rw-r--r--perl-install/pixmaps/steps_off.pngbin0 -> 401 bytes-rw-r--r--perl-install/pixmaps/steps_on.pngbin0 -> 372 bytes-rw-r--r--perl-install/pixmaps/unselected.pngbin0 -> 172 bytes-rw-r--r--perl-install/pixmaps/warning.pngbin0 -> 3169 bytes-rw-r--r--perl-install/pkgs.pm143
-rw-r--r--perl-install/raid.pm274
-rw-r--r--perl-install/resize_fat/Makefile10
-rw-r--r--perl-install/resize_fat/Makefile.PL13
-rw-r--r--perl-install/resize_fat/README8
-rw-r--r--perl-install/resize_fat/any.pm122
-rw-r--r--perl-install/resize_fat/boot_sector.pm110
-rw-r--r--perl-install/resize_fat/c_rewritten.pm14
-rw-r--r--perl-install/resize_fat/c_rewritten.xs265
-rw-r--r--perl-install/resize_fat/dir_entry.pm77
-rw-r--r--perl-install/resize_fat/directory.pm79
-rw-r--r--perl-install/resize_fat/fat.pm135
-rw-r--r--perl-install/resize_fat/info_sector.pm37
-rw-r--r--perl-install/resize_fat/io.pm58
-rw-r--r--perl-install/resize_fat/main.pm166
-rw-r--r--perl-install/run_program.pm171
-rwxr-xr-xperl-install/scanner.pm627
-rw-r--r--perl-install/security/help.pm139
-rw-r--r--perl-install/security/l10n.pm66
-rw-r--r--perl-install/security/level.pm71
-rw-r--r--perl-install/security/msec.pm187
-rw-r--r--perl-install/security/various.pm30
-rw-r--r--perl-install/services.pm398
-rw-r--r--perl-install/share/base.pngbin0 -> 386 bytes-rw-r--r--perl-install/share/diskdrake.rc51
-rw-r--r--perl-install/share/floppy.pngbin0 -> 317 bytes-rw-r--r--perl-install/share/ftin.pngbin0 -> 190 bytes-rw-r--r--perl-install/share/ftout.pngbin0 -> 190 bytes-rw-r--r--perl-install/share/help.pngbin0 -> 3769 bytes-rw-r--r--perl-install/share/installed.pngbin0 -> 344 bytes-rw-r--r--perl-install/share/po/Makefile55
-rw-r--r--perl-install/share/po/af.po6633
-rw-r--r--perl-install/share/po/am.po6095
-rw-r--r--perl-install/share/po/ar.po6692
-rw-r--r--perl-install/share/po/az.po6750
-rw-r--r--perl-install/share/po/be.po6211
-rw-r--r--perl-install/share/po/bg.po6514
-rw-r--r--perl-install/share/po/bn.po6702
-rw-r--r--perl-install/share/po/br.po6301
-rw-r--r--perl-install/share/po/bs.po6821
-rw-r--r--perl-install/share/po/ca.po6814
-rw-r--r--perl-install/share/po/cs.po6761
-rw-r--r--perl-install/share/po/cy.po6793
-rw-r--r--perl-install/share/po/da.po6762
-rw-r--r--perl-install/share/po/de.po6890
-rw-r--r--perl-install/share/po/el.po6681
-rw-r--r--perl-install/share/po/eo.po6440
-rw-r--r--perl-install/share/po/es.po6866
-rw-r--r--perl-install/share/po/et.po6771
-rw-r--r--perl-install/share/po/eu.po6817
-rw-r--r--perl-install/share/po/fa.po6743
-rw-r--r--perl-install/share/po/fi.po6949
-rw-r--r--perl-install/share/po/fr.po6960
-rw-r--r--perl-install/share/po/fur.po6097
-rw-r--r--perl-install/share/po/ga.po6139
-rw-r--r--perl-install/share/po/gl.po6764
-rw-r--r--perl-install/share/po/he.po6699
-rwxr-xr-xperl-install/share/po/help_update_english_only.pl50
-rw-r--r--perl-install/share/po/hi.po6538
-rw-r--r--perl-install/share/po/hr.po6588
-rw-r--r--perl-install/share/po/hu.po6898
-rw-r--r--perl-install/share/po/id.po6790
-rw-r--r--perl-install/share/po/is.po6737
-rw-r--r--perl-install/share/po/it.po6820
-rw-r--r--perl-install/share/po/ja.po6705
-rw-r--r--perl-install/share/po/ko.po6288
-rw-r--r--perl-install/share/po/ky.po6321
-rw-r--r--perl-install/share/po/libDrakX.pot5931
-rw-r--r--perl-install/share/po/lt.po6303
-rw-r--r--perl-install/share/po/ltg.po6404
-rw-r--r--perl-install/share/po/lv.po6378
-rw-r--r--perl-install/share/po/mk.po6713
-rw-r--r--perl-install/share/po/mn.po6165
-rw-r--r--perl-install/share/po/ms.po6136
-rw-r--r--perl-install/share/po/mt.po6595
-rw-r--r--perl-install/share/po/nb.po6797
-rw-r--r--perl-install/share/po/nl.po6880
-rw-r--r--perl-install/share/po/nn.po6527
-rw-r--r--perl-install/share/po/pa_IN.po6445
-rw-r--r--perl-install/share/po/pl.po6825
-rw-r--r--perl-install/share/po/pt.po6829
-rw-r--r--perl-install/share/po/pt_BR.po6878
-rw-r--r--perl-install/share/po/ro.po6333
-rw-r--r--perl-install/share/po/ru.po6838
-rw-r--r--perl-install/share/po/sc.po6199
-rw-r--r--perl-install/share/po/sk.po6801
-rw-r--r--perl-install/share/po/sl.po6804
-rw-r--r--perl-install/share/po/sq.po6783
-rw-r--r--perl-install/share/po/sr.po6834
-rw-r--r--perl-install/share/po/sr@Latn.po6839
-rw-r--r--perl-install/share/po/sv.po6773
-rw-r--r--perl-install/share/po/ta.po6376
-rw-r--r--perl-install/share/po/tg.po6895
-rw-r--r--perl-install/share/po/th.po6330
-rw-r--r--perl-install/share/po/tl.po6873
-rw-r--r--perl-install/share/po/tr.po6561
-rwxr-xr-xperl-install/share/po/translation_size.pl45
-rw-r--r--perl-install/share/po/uk.po6801
-rw-r--r--perl-install/share/po/uz.po6346
-rw-r--r--perl-install/share/po/uz@Latn.po6367
-rwxr-xr-xperl-install/share/po/validate.pl156
-rw-r--r--perl-install/share/po/vi.po6726
-rw-r--r--perl-install/share/po/wa.po6725
-rw-r--r--perl-install/share/po/zh_CN.po6566
-rw-r--r--perl-install/share/po/zh_TW.po6420
-rw-r--r--perl-install/standalone.pm312
-rw-r--r--perl-install/standalone/.perl_checker1
-rwxr-xr-xperl-install/standalone/adduserdrake25
-rwxr-xr-xperl-install/standalone/bootloader-config214
-rwxr-xr-xperl-install/standalone/convert10
-rwxr-xr-xperl-install/standalone/diskdrake123
-rwxr-xr-xperl-install/standalone/drakauth41
-rwxr-xr-xperl-install/standalone/drakautoinst370
-rwxr-xr-xperl-install/standalone/drakboot284
-rwxr-xr-xperl-install/standalone/drakbug174
-rwxr-xr-xperl-install/standalone/drakbug_report15
-rwxr-xr-xperl-install/standalone/drakclock395
-rwxr-xr-xperl-install/standalone/drakedm79
-rwxr-xr-xperl-install/standalone/drakfloppy340
-rwxr-xr-xperl-install/standalone/drakfont795
-rwxr-xr-xperl-install/standalone/drakhelp52
-rwxr-xr-xperl-install/standalone/drakperm449
-rwxr-xr-xperl-install/standalone/draksec362
-rwxr-xr-xperl-install/standalone/draksound61
-rwxr-xr-xperl-install/standalone/draksplash338
-rwxr-xr-xperl-install/standalone/drakupdate_fstab191
-rwxr-xr-xperl-install/standalone/drakups416
-rwxr-xr-xperl-install/standalone/drakxservices18
-rwxr-xr-xperl-install/standalone/drakxtv84
-rwxr-xr-xperl-install/standalone/fileshareset408
-rwxr-xr-xperl-install/standalone/finish-install199
-rwxr-xr-xperl-install/standalone/finish-install.xsetup17
-rwxr-xr-xperl-install/standalone/harddrake2584
-rw-r--r--perl-install/standalone/icons/IC-Dssh-48.pngbin0 -> 3720 bytes-rw-r--r--perl-install/standalone/icons/categ.pngbin0 -> 5173 bytes-rw-r--r--perl-install/standalone/icons/drakbug-16.pngbin0 -> 582 bytes-rw-r--r--perl-install/standalone/icons/drakfont.pngbin0 -> 2965 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-16.pngbin0 -> 886 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-24.pngbin0 -> 1768 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-32.pngbin0 -> 2423 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-52.pngbin0 -> 3656 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle-64.pngbin0 -> 6564 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle.pngbin0 -> 4361 bytes-rw-r--r--perl-install/standalone/icons/drakmenustyle_128.pngbin0 -> 14540 bytes-rw-r--r--perl-install/standalone/icons/draksound-16.pngbin0 -> 559 bytes-rw-r--r--perl-install/standalone/icons/draksplash-16.pngbin0 -> 763 bytes-rw-r--r--perl-install/standalone/icons/drakups.pngbin0 -> 3214 bytes-rw-r--r--perl-install/standalone/icons/drakwizard-16.pngbin0 -> 740 bytes-rw-r--r--perl-install/standalone/icons/eth_card_mini2.pngbin0 -> 1538 bytes-rw-r--r--perl-install/standalone/icons/gmon.pngbin0 -> 17411 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/cd.pngbin0 -> 834 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/cpu.pngbin0 -> 566 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/floppy.pngbin0 -> 730 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/harddisk.pngbin0 -> 725 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/harddrake.pngbin0 -> 970 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-keyboard.pngbin0 -> 827 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-memory.pngbin0 -> 937 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-pcmcia.pngbin0 -> 831 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-smbus.pngbin0 -> 915 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw-usb.pngbin0 -> 868 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_mouse.pngbin0 -> 751 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_network.pngbin0 -> 922 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/hw_printer.pngbin0 -> 603 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/ide_hd.pngbin0 -> 725 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/isdn.pngbin0 -> 710 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/joystick.pngbin0 -> 730 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/keyboard.pngbin0 -> 533 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/memory.pngbin0 -> 675 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu16.pngbin0 -> 970 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu32.pngbin0 -> 2447 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu48.pngbin0 -> 4214 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/modem.pngbin0 -> 847 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/multimedia.pngbin0 -> 1010 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scanner.pngbin0 -> 809 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scsi.pngbin0 -> 275 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/scsi_hd.pngbin0 -> 725 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/sound.pngbin0 -> 1042 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/tape.pngbin0 -> 920 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/tv.pngbin0 -> 647 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/unknown.pngbin0 -> 858 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/ups.pngbin0 -> 699 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/usb.pngbin0 -> 316 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/video.pngbin0 -> 806 bytes-rw-r--r--perl-install/standalone/icons/harddrake2/webcam.pngbin0 -> 842 bytes-rw-r--r--perl-install/standalone/icons/hori.pngbin0 -> 7232 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-16.pngbin0 -> 503 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-24.pngbin0 -> 774 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-32.pngbin0 -> 1235 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-52.pngbin0 -> 2070 bytes-rw-r--r--perl-install/standalone/icons/hwapplet-64.pngbin0 -> 2823 bytes-rw-r--r--perl-install/standalone/icons/hwapplet.pngbin0 -> 1953 bytes-rw-r--r--perl-install/standalone/icons/hwapplet_128.pngbin0 -> 7002 bytes-rw-r--r--perl-install/standalone/icons/ic-drakfont-48.pngbin0 -> 3290 bytes-rw-r--r--perl-install/standalone/icons/ic82-back-up-16.pngbin0 -> 1027 bytes-rw-r--r--perl-install/standalone/icons/ic82-back-up-32.pngbin0 -> 2977 bytes-rw-r--r--perl-install/standalone/icons/ic82-network-40.pngbin0 -> 2145 bytes-rw-r--r--perl-install/standalone/icons/ic82-users-16.pngbin0 -> 726 bytes-rw-r--r--perl-install/standalone/icons/localedrake-16.pngbin0 -> 1327 bytes-rw-r--r--perl-install/standalone/icons/localedrake-32.pngbin0 -> 1991 bytes-rw-r--r--perl-install/standalone/icons/localedrake-48.pngbin0 -> 3087 bytes-rw-r--r--perl-install/standalone/icons/logdrake.pngbin0 -> 1760 bytes-rw-r--r--perl-install/standalone/icons/mdk_logo.pngbin0 -> 15639 bytes-rw-r--r--perl-install/standalone/icons/net_c.pngbin0 -> 3198 bytes-rw-r--r--perl-install/standalone/icons/net_d.pngbin0 -> 3192 bytes-rw-r--r--perl-install/standalone/icons/net_u.pngbin0 -> 2866 bytes-rw-r--r--perl-install/standalone/icons/non-editable.pngbin0 -> 872 bytes-rw-r--r--perl-install/standalone/icons/scannerdrake.pngbin0 -> 2669 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_default.pngbin0 -> 260 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_has_mntpoint.pngbin0 -> 287 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_mounted.pngbin0 -> 282 bytes-rw-r--r--perl-install/standalone/icons/smbnfs_server.pngbin0 -> 314 bytes-rw-r--r--perl-install/standalone/icons/tradi.pngbin0 -> 32579 bytes-rw-r--r--perl-install/standalone/icons/verti.pngbin0 -> 21123 bytes-rw-r--r--perl-install/standalone/icons/wiz_default_up.pngbin0 -> 2686 bytes-rw-r--r--perl-install/standalone/interactive_http/Makefile21
-rw-r--r--perl-install/standalone/interactive_http/authorised_progs12
-rw-r--r--perl-install/standalone/interactive_http/index.html.pl14
-rwxr-xr-xperl-install/standalone/interactive_http/interactive_http.cgi93
-rw-r--r--perl-install/standalone/interactive_http/miniserv.conf13
-rw-r--r--perl-install/standalone/interactive_http/miniserv.init60
-rw-r--r--perl-install/standalone/interactive_http/miniserv.logrotate7
-rw-r--r--perl-install/standalone/interactive_http/miniserv.pam5
-rw-r--r--perl-install/standalone/interactive_http/miniserv.pem18
-rw-r--r--perl-install/standalone/interactive_http/miniserv.pl1817
-rw-r--r--perl-install/standalone/interactive_http/miniserv.users1
-rwxr-xr-xperl-install/standalone/localedrake61
-rwxr-xr-xperl-install/standalone/logdrake518
-rwxr-xr-xperl-install/standalone/lsnetdrake27
-rw-r--r--perl-install/standalone/po/Makefile38
-rw-r--r--perl-install/standalone/po/af.po3367
-rw-r--r--perl-install/standalone/po/am.po3151
-rw-r--r--perl-install/standalone/po/ar.po3364
-rw-r--r--perl-install/standalone/po/az.po3332
-rw-r--r--perl-install/standalone/po/be.po3160
-rw-r--r--perl-install/standalone/po/bg.po3214
-rw-r--r--perl-install/standalone/po/bn.po3379
-rw-r--r--perl-install/standalone/po/br.po3232
-rw-r--r--perl-install/standalone/po/bs.po3398
-rw-r--r--perl-install/standalone/po/ca.po3367
-rw-r--r--perl-install/standalone/po/cs.po3389
-rw-r--r--perl-install/standalone/po/cy.po3399
-rw-r--r--perl-install/standalone/po/da.po3403
-rw-r--r--perl-install/standalone/po/de.po3438
-rw-r--r--perl-install/standalone/po/el.po3275
-rw-r--r--perl-install/standalone/po/eo.po3165
-rw-r--r--perl-install/standalone/po/es.po3429
-rw-r--r--perl-install/standalone/po/et.po3381
-rw-r--r--perl-install/standalone/po/eu.po3406
-rw-r--r--perl-install/standalone/po/fa.po3386
-rw-r--r--perl-install/standalone/po/fi.po3396
-rw-r--r--perl-install/standalone/po/fr.po3516
-rw-r--r--perl-install/standalone/po/fur.po3152
-rw-r--r--perl-install/standalone/po/ga.po3160
-rw-r--r--perl-install/standalone/po/gl.po3398
-rw-r--r--perl-install/standalone/po/he.po3330
-rw-r--r--perl-install/standalone/po/hi.po3297
-rw-r--r--perl-install/standalone/po/hr.po3235
-rw-r--r--perl-install/standalone/po/hu.po3403
-rw-r--r--perl-install/standalone/po/id.po3410
-rw-r--r--perl-install/standalone/po/is.po3392
-rw-r--r--perl-install/standalone/po/it.po3422
-rw-r--r--perl-install/standalone/po/ja.po3376
-rw-r--r--perl-install/standalone/po/ko.po3185
-rw-r--r--perl-install/standalone/po/ky.po3261
-rw-r--r--perl-install/standalone/po/libDrakX-standalone.pot3150
-rw-r--r--perl-install/standalone/po/lt.po3163
-rw-r--r--perl-install/standalone/po/ltg.po3216
-rw-r--r--perl-install/standalone/po/lv.po3212
-rw-r--r--perl-install/standalone/po/mk.po3338
-rw-r--r--perl-install/standalone/po/mn.po3183
-rw-r--r--perl-install/standalone/po/ms.po3185
-rw-r--r--perl-install/standalone/po/mt.po3379
-rw-r--r--perl-install/standalone/po/nb.po3412
-rw-r--r--perl-install/standalone/po/nl.po3426
-rw-r--r--perl-install/standalone/po/nn.po3263
-rw-r--r--perl-install/standalone/po/pa_IN.po3336
-rw-r--r--perl-install/standalone/po/pl.po3425
-rw-r--r--perl-install/standalone/po/pt.po3429
-rw-r--r--perl-install/standalone/po/pt_BR.po3431
-rw-r--r--perl-install/standalone/po/ro.po3220
-rw-r--r--perl-install/standalone/po/ru.po3407
-rw-r--r--perl-install/standalone/po/sc.po3181
-rw-r--r--perl-install/standalone/po/sk.po3408
-rw-r--r--perl-install/standalone/po/sl.po3406
-rw-r--r--perl-install/standalone/po/sq.po3364
-rw-r--r--perl-install/standalone/po/sr.po3285
-rw-r--r--perl-install/standalone/po/sr@Latn.po3286
-rw-r--r--perl-install/standalone/po/sv.po3420
-rw-r--r--perl-install/standalone/po/ta.po3191
-rw-r--r--perl-install/standalone/po/tg.po3425
-rw-r--r--perl-install/standalone/po/th.po3168
-rw-r--r--perl-install/standalone/po/tl.po3398
-rw-r--r--perl-install/standalone/po/tr.po3275
-rw-r--r--perl-install/standalone/po/uk.po3402
-rw-r--r--perl-install/standalone/po/uz.po3228
-rw-r--r--perl-install/standalone/po/uz@Latn.po3233
-rw-r--r--perl-install/standalone/po/vi.po3381
-rw-r--r--perl-install/standalone/po/wa.po3425
-rw-r--r--perl-install/standalone/po/zh_CN.po3326
-rw-r--r--perl-install/standalone/po/zh_TW.po3299
-rwxr-xr-xperl-install/standalone/scannerdrake996
-rwxr-xr-xperl-install/standalone/service_harddrake284
-rwxr-xr-xperl-install/standalone/service_harddrake.sh62
-rwxr-xr-xperl-install/standalone/service_harddrake_confirm9
-rw-r--r--perl-install/timezone.pm263
-rw-r--r--perl-install/ugtk2.pm1602
-rw-r--r--perl-install/unused/cdrom.pm41
-rw-r--r--perl-install/unused/christmas-karaoke.patch98
-rw-r--r--perl-install/unused/demo-frozen-bubble.patch371
-rw-r--r--perl-install/unused/dns.pm64
-rw-r--r--perl-install/unused/migrate-ugtk2-to-mygtk2.el17
-rwxr-xr-xperl-install/unused/migrate-ugtk2-to-mygtk2.pl228
-rw-r--r--perl-install/unused/otherinsmod.pm26
-rw-r--r--perl-install/unused/scsi.pm104
-rw-r--r--perl-install/wizards.pm206
-rw-r--r--rescue/Makefile26
-rw-r--r--rescue/aliases6
-rw-r--r--rescue/devices.pl55
-rw-r--r--rescue/dirs6
-rwxr-xr-xrescue/drvinst47
-rwxr-xr-xrescue/guessmounts96
-rwxr-xr-xrescue/install_bootloader69
-rw-r--r--rescue/list.xml255
-rwxr-xr-xrescue/lsparts45
-rwxr-xr-xrescue/make_partimage_save_rest_all64
-rwxr-xr-xrescue/make_rescue_img109
-rwxr-xr-xrescue/partimage_whole_disk267
-rwxr-xr-xrescue/rescue-doc60
-rwxr-xr-xrescue/restore_ms_boot74
-rwxr-xr-xrescue/tree/bin/insmod2
-rwxr-xr-xrescue/tree/bin/login2
-rw-r--r--rescue/tree/etc/fstab4
-rw-r--r--rescue/tree/etc/group1
-rw-r--r--rescue/tree/etc/host.conf2
-rw-r--r--rescue/tree/etc/hosts1
-rw-r--r--rescue/tree/etc/inittab14
-rw-r--r--rescue/tree/etc/issue28
-rw-r--r--rescue/tree/etc/passwd3
-rw-r--r--rescue/tree/etc/profile24
-rwxr-xr-xrescue/tree/etc/rc.reboot8
-rwxr-xr-xrescue/tree/etc/rc.sysinit63
-rw-r--r--rescue/tree/etc/resolv.conf2
-rw-r--r--rescue/tree/ka/gen_modules_conf.pl191
-rw-r--r--rescue/tree/ka/hostnames225
-rwxr-xr-xrescue/tree/ka/install.sh641
-rwxr-xr-xrescue/tree/ka/ka-d-clientbin0 -> 399376 bytes-rwxr-xr-xrescue/tree/ka/make_initrd44
-rwxr-xr-xrescue/tree/ka/setup_network.sh80
-rw-r--r--rescue/tree/ka/tftpserver1
-rwxr-xr-xrescue/tree/sbin/fakeshutdown39
-rwxr-xr-xrescue/tree/sbin/modprobe56
-rw-r--r--rescue/tree/usr/lib/CVS.0
-rw-r--r--rescue/tree/usr/share/symlinks10
-rw-r--r--tools/.perl_checker10
-rw-r--r--tools/Makefile27
-rwxr-xr-xtools/checkusedmodules22
-rwxr-xr-xtools/drakx-in-chroot189
-rw-r--r--tools/extractchangelog2
-rwxr-xr-xtools/gencryptofiles115
-rwxr-xr-xtools/get-needed-drakx-modules19
-rwxr-xr-xtools/hd_grub.cgi102
-rwxr-xr-xtools/i386/busyboxbin0 -> 55508 bytes-rwxr-xr-xtools/ia64/elilo.efibin0 -> 315800 bytes-rwxr-xr-xtools/install-xml-file-list382
-rw-r--r--tools/make_lang_png_transparent.c167
-rwxr-xr-xtools/mdkinst_stage2_tool71
-rw-r--r--tools/ntp_servers.pl303
-rw-r--r--tools/ppc/README52
-rwxr-xr-xtools/ppc/convert5
-rwxr-xr-xtools/ppc/magic89
-rwxr-xr-xtools/ppc/mapping36
-rw-r--r--tools/rpcinfo-flushed.c740
-rw-r--r--tools/serial_probe/Makefile13
-rw-r--r--tools/serial_probe/device.h104
-rw-r--r--tools/serial_probe/kudzu.h26
-rw-r--r--tools/serial_probe/serial.c1136
-rw-r--r--tools/serial_probe/serial.h43
-rw-r--r--tools/serial_probe/serial_probe.c114
-rw-r--r--tools/shift_all.pl113
-rw-r--r--tools/shift_img.c165
-rwxr-xr-xtools/simplify-drakx-modules5
-rwxr-xr-xtools/specific_arch9
-rwxr-xr-xtools/x86_64/busyboxbin0 -> 74064 bytes-rw-r--r--tools/xhost+.c11
1310 files changed, 1164972 insertions, 0 deletions
diff --git a/Makefile.config b/Makefile.config
new file mode 100644
index 000000000..8923de49b
--- /dev/null
+++ b/Makefile.config
@@ -0,0 +1,18 @@
+
+_DISTRIB_NAME := $(shell sed -n '/^.*distribution=\([^,]*\),.*/s//\1/p' /etc/product.id)
+DISTRIB_NAME = "$(_DISTRIB_NAME)"
+DISTRIB_VERSION = $(shell sed -n '/^.*version=\([^,]*\),.*/s//\1/p' /etc/product.id)
+DISTRIB_DESCR = "$(_DISTRIB_NAME) release $(DISTRIB_VERSION)"
+
+
+# not config, but useful everywhere :)
+ARCH := $(patsubst i%86,i386,$(shell uname -m))
+ARCH := $(patsubst sparc%,sparc,$(ARCH))
+
+PKG_ARCH := $(patsubst i386,i586,$(ARCH))
+
+ifeq (x86_64, $(ARCH))
+LIB = lib64
+else
+LIB = lib
+endif
diff --git a/images/Makefile b/images/Makefile
new file mode 100644
index 000000000..db8de0a47
--- /dev/null
+++ b/images/Makefile
@@ -0,0 +1,41 @@
+include ../Makefile.config
+
+VERSION=1.9
+PRODUCT=drakx-installer-images
+
+IMAGES_DEST = $(ROOTDEST)/install/images
+
+all: images
+
+images: all.kernels
+ DISTRIB_DESCR=$(DISTRIB_DESCR) ./make_boot_img
+ rm -rf images/alternatives
+ if [ `ls images/*.img-* 2>/dev/null | wc -l` -gt 0 ]; then \
+ mkdir images/alternatives; cd images/alternatives; mv ../*.img-* .; md5sum *.img-* > MD5SUM; \
+ fi
+ cd images ; md5sum *.{img,iso}* > MD5SUM
+
+all.kernels: update_kernel ../kernel/list_modules.pm
+ ./update_kernel
+
+tar:
+ rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ mkdir -p $(PRODUCT)-$(VERSION)
+ svn export -q . $(PRODUCT)-$(VERSION)/images
+ svn export -q ../kernel $(PRODUCT)-$(VERSION)/kernel
+ cp ../Makefile.config $(PRODUCT)-$(VERSION)/
+ tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION)
+ rm -rf $(PRODUCT)-$(VERSION)
+
+clean:
+ rm -rf images isolinux all.kernels modules.description
+ find . -name "*~" -o -name ".#*" | xargs rm -f
+
+install:
+ install -d $(IMAGES_DEST)
+ rm -rf $(IMAGES_DEST)/alternatives
+ cp -r images/* $(IMAGES_DEST)
+ ifneq (,$(findstring $(ARCH), i386 x86_64))
+ rm -rf $(ROOTDEST)/isolinux
+ cp -af isolinux $(ROOTDEST)
+ endif
diff --git a/images/NEWS b/images/NEWS
new file mode 100644
index 000000000..45e23eef7
--- /dev/null
+++ b/images/NEWS
@@ -0,0 +1,28 @@
+Version 1.9 - 3 April 2007, by Pascal "Pixel" Rigaux
+
+- include mmc_block for card readers
+
+Version 1.8 - 23 March 2007, by Pascal "Pixel" Rigaux
+
+- restore F1 & F2 in boot.iso (#29766)
+
+Version 1.6 - 14 March 2007, by Olivier Blin
+
+- add tifm modules (Titi)
+
+Version 1.5 - 9 March 2007, by Pascal "Pixel" Rigaux
+
+- copy isolinux images for x86_64 as well
+
+Version 1.4 - 8 March 2007, by Pascal "Pixel" Rigaux
+
+- restore vga= and automatic= default options.
+ also restore noacpi, alt0, vgalo, vgahi, text entries
+ (all this is needed when gfxboot is not working or not there)
+
+Version 1.3 - 16 February 2007, by Pascal "Pixel" Rigaux
+
+- rely on gfxboot for options (vga=, automatic=...)
+- really use memtest instead of memtest.bin
+ (with file name "memtest.bin" it fails with error 8000, with "memtest" it works)
+ (it seems to be an ancient bug as far as google says)
diff --git a/images/advanced.msg.xml b/images/advanced.msg.xml
new file mode 100644
index 000000000..9f0bb1818
--- /dev/null
+++ b/images/advanced.msg.xml
@@ -0,0 +1,17 @@
+<document>
+The following install types may be used instead of previously notified :
+ o <white>vgahi</white> for high resolution graphical installation.
+ o <white>vga16</white> for 640x480 in 16 colors graphical installation.
+
+The following options may be added on the command line :
+ o <white>readonly=1</white> to disable editing disk partitions.
+ o <white>display=ackbar:0</white> to export display to <blue>ackbar</blue> machine screen 0 during
+ installation (only for network installations).
+ o <white>noauto</white> to disable automatic detection.
+ o <white>nodmraid</white> to disable BIOS software RAID.
+ o <white>updatemodules</white> to use the special update floppy containing modules updates.
+ o <white>patch</white> to use a patch from the floppy (file named <blue>patch.pl</blue>).
+ o <white>auto_install=floppy</white> to enable auto_install using <blue>auto_inst.cfg</blue> file on the
+ floppy.
+ o <white>memtest</white> to test your computer RAM for faulty memory modules.
+</document>
diff --git a/images/help.msg.xml b/images/help.msg.xml
new file mode 100644
index 000000000..e6d715830
--- /dev/null
+++ b/images/help.msg.xml
@@ -0,0 +1,21 @@
+<document>
+ <green>Welcome to <blue>Mandriva Linux</blue> install help</green>
+
+In most cases, the best way to get started is to simply press the <yellow>&lt;Enter&gt;</yellow> key.
+If you experience problems with standard install, try one of the following
+install types (type the highlighted text and press <yellow>&lt;Enter&gt;</yellow>):
+
+ o <white>text</white> for text installation instead of the graphical one.
+ o <white>linux</white> for standard graphical installation at normal resolution.
+ o <white>linux vga=785</white> for low resolution graphical installation.
+
+
+To repair an already installed system type <white>rescue</white> followed
+by <yellow>&lt;Enter&gt;</yellow>.
+
+You can also pass some <white>&lt;specific kernel options&gt;</white> to the Linux kernel.
+For example, try <white>linux noapic</white> if your system has trouble operating
+your network adapter correctly.
+<red>NOTE</red>: You cannot pass options to modules (SCSI, ethernet card) or devices
+such as CD-ROM drives in this way. If you need to do so, use noauto mode.
+</document>
diff --git a/images/make_boot_img b/images/make_boot_img
new file mode 100755
index 000000000..f1098e503
--- /dev/null
+++ b/images/make_boot_img
@@ -0,0 +1,782 @@
+#!/usr/bin/perl
+
+use Config;
+use MDK::Common;
+Config->import;
+my ($arch) = $Config{archname} =~ /(.*?)-/;
+
+my $default_append = '';
+my $default_acpi = '';
+my $default_vga = "vga=788 splash=silent";
+my $timeout = 150;
+my $isolinux_bin = $arch eq 'x86_64' ? '/usr/lib/syslinux/isolinux-x86_64.bin' : '/usr/lib/syslinux/isolinux-i586.bin';
+my $lib = $arch eq 'x86_64' ? 'lib64' : 'lib';
+
+my $tmp_mnt = '/tmp/drakx_mnt';
+my $tmp_initrd = '/tmp/drakx_initrd';
+
+my $sudo;
+if ($>) {
+ $sudo = "sudo";
+ $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
+}
+
+sub __ { print @_, "\n"; system(@_) }
+sub _ { __ @_; $? and die }
+sub mke2fs {
+ my ($f) = @_;
+ _ "/sbin/mke2fs -q -m 0 -F -s 1 $f";
+ _ "/sbin/tune2fs -c 0 -U clear -T 1970010101 $f";
+}
+
+_ "mkdir -p $tmp_mnt";
+mkdir "images";
+
+my @kernels = all('all.kernels');
+my $main = chomp_(cat_('RPMS/.main')) || $kernels[0];
+@kernels = uniq($main, @kernels);
+
+my @all_images = (
+ if_($arch =~ /i.86/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'),
+ if_($arch =~ /x86_64/, 'isolinux', 'boot.iso', 'all.img', 'hd_grub.img'),
+ if_($arch =~ /ia64/, 'all.img'),
+ if_($arch =~ /ppc/, 'all.img'),
+ );
+
+my @images = @ARGV ? @ARGV : map { "images/$_" } @all_images;
+
+foreach my $img (@images) {
+ my ($type, $I, $extension) = $img =~ m!([^/]*)(64)?\.([^.]*)$!;
+
+ if ($img =~ /hd_grub/) {
+ hd_grub($img);
+ } elsif ($img =~ /isolinux/) {
+ isolinux(\@kernels);
+
+ if (my ($tftpboot) = grep { -e $_ } qw(/tftpboot /var/lib/tftpboot)) {
+ system("/bin/cp -f isolinux/alt0/* $tftpboot");
+ }
+ } elsif ($img =~ /boot.iso/) {
+ boot_iso($img, \@kernels);
+ } elsif ($extension eq 'rdz') {
+ initrd($type, $I, "$img-$_") foreach @kernels;
+ } elsif ($extension eq 'img') {
+ print STDERR "calling boot_img_$arch for $img\n";
+ $::{"boot_img_$arch"}->($type, $I, "$img-$_", "all.kernels/$_/vmlinuz") foreach @kernels;
+ rename("$img-$main", $img);
+ } else {
+ die "unknown image $img";
+ }
+}
+
+sub syslinux_color {
+ "0" . {
+ default => '7',
+ blue => '9',
+ green => 'a',
+ red => 'c',
+ yellow => 'e',
+ white => 'f',
+ }->{$_[0]} || die "unknown color $_[0]\n";
+}
+
+sub syslinux_msg {
+ my ($msg_xml_file, @more_text) = @_;
+
+ require XML::Parser;
+
+ sub xml_tree2syslinux {
+ my ($current_color, $tree) = @_;
+ my (undef, @l) = @$tree;
+ join('', map {
+ my ($type, $val) = @$_;
+ if ($type eq '0') {
+ $val;
+ } else {
+ syslinux_color($type) . xml_tree2syslinux($type, $val) . syslinux_color($current_color);
+ }
+ } group_by2(@l));
+ }
+
+ print "parsing $msg_xml_file\n";
+ my $tree = XML::Parser->new(Style => 'Tree')->parsefile($msg_xml_file);
+ $tree->[0] eq 'document' or die "bad file $msg_xml_file\n";
+ my $text = xml_tree2syslinux('default', $tree->[1]);
+
+ pack("C*", 0x0E, 0x80, 0x03, 0x00) . " "
+ . $text . join('', @more_text)
+ . "\n" . syslinux_color('red') . "[F1-Help] [F2-Advanced Help]" . syslinux_color('default') . "\n";
+}
+
+sub syslinux_cfg {
+ my ($entries, $o_default) = @_;
+ my $default = $o_default || 'linux';
+
+ my $header = <<EOF;
+default $default
+prompt 1
+timeout $timeout
+display help.msg
+implicit 1
+EOF
+ my $header_gfxboot = <<EOF;
+gfxboot bootlogo
+label harddisk
+ localboot 0x80
+EOF
+ my $header_non_gfxboot = <<EOF;
+F1 help.msg
+F2 advanced.msg
+F3 boot.msg
+EOF
+
+ my @l = map {
+ $_->{append} =~ s/\s+/ /g;
+ "label $_->{label}\n" .
+ " kernel $_->{kernel}\n" .
+ ($_->{initrd} ? " append initrd=$_->{initrd} $_->{append}\n" : '');
+ } @$entries;
+
+ $header . ($o_default eq 'harddisk' ? $header_gfxboot : $header_non_gfxboot) . join('', @l);
+}
+
+sub initrd {
+ my ($type, $I, $img, $bootsplash_cfg) = @_;
+ my $stage1_root = $ENV{DEBUGSTAGE1} ? "../mdk-stage1" : "/usr/$lib/drakx-installer-binaries";
+
+ _ "rm -rf $tmp_initrd";
+ mkdir_p("$tmp_initrd$_") foreach qw(/etc /modules /sbin /tmp /var);
+
+ symlink "/proc/mounts", "$tpm_initrd/etc/mtab";
+ symlink "../tmp", "$tpm_initrd/var/run";
+ _ "install -D /usr/share/terminfo/l/linux $tmp_initrd/usr/share/terminfo/l/linux";
+
+ _ "install $stage1_root/init $tmp_initrd/";
+ foreach ('stage1', 'pppd', 'pppoe') {
+ _ "install $stage1_root/$_ $tmp_initrd/sbin/";
+ }
+
+ if ($arch !~ /ppc|ia64/) {
+ mkdir_p("$tmp_initrd/etc/pcmcia");
+ _ "cp -a /etc/pcmcia/config.opts $tmp_initrd/etc/pcmcia";
+ }
+ my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
+ my $modz = "all.kernels$I/$ext";
+ __ "tar xC $tmp_initrd/modules -f $modz/${type}_modules.tar";
+ _ "cp -f $modz/modules.dep modules.description $tmp_initrd/modules/";
+
+ if ($ENV{DEBUGSTAGE1}) {
+ _ "cp -f /bin/busybox $tmp_initrd/sbin";
+ symlink "busybox", "$tmp_initrd/sbin/$_" foreach qw(cat chgrp chmod chown chroot chvt clear cp cut date dd df dirname dmesg du echo env false find free grep gunzip gzip halt head id init kill killall klogd linuxrc ln logger ls lsmod mkdir mknod mkswap more mount mv poweroff ps pwd reboot reset rm rmdir sed sleep sh sort swapoff swapon sync syslogd tail tar touch true tty umount uname uniq uptime wc which whoami xargs yes zcat);
+ }
+
+ if ($bootsplash_cfg) {
+ _ "splash -s -f $bootspash_cfg > $tmp_initrd/bootsplash";
+ }
+
+ my $devs = sprintf "ls /dev/{%s}", join(',', qw(console fb0 fd0 loop3 mem null ppp ptyp0 ram3 tty[0-7] ttyp0 ttyS0));
+
+ _ "(cd $tmp_initrd; (find . ; $devs) | cpio -o -c --quiet) | gzip -9 > $img";
+ _ "rm -rf $tmp_initrd";
+}
+
+sub entries_append {
+ my ($type) = @_;
+
+ my $automatic = $type =~ /cdrom/ ? 'automatic=method:cdrom ' : '';
+ $automatic .= 'changedisk ' if $type =~ /changedisk/;
+
+ my @simple_entries = (
+ linux => $default_vga,
+ vgalo => "vga=785",
+ vgahi => "vga=791",
+ text => "text",
+# patch => "patch $default_vga",
+ rescue => "rescue",
+ );
+ my @entries = (
+ (map { $_->[0] => "$automatic$default_acpi $_->[1]" } group_by2(@simple_entries)),
+ noacpi => "$automatic$default_vga acpi=off",
+ );
+
+ map { { label => $_->[0], append => join(' ', grep {$_} $default_append, $_->[1]) } }
+ group_by2(@entries);
+}
+
+sub syslinux_cfg_all {
+ my ($type) = @_;
+
+ syslinux_cfg([
+ (map {
+ { kernel => 'alt0/vmlinuz', initrd => 'alt0/all.rdz', %$_ };
+ } entries_append($type)),
+ (map_index {
+ { label => "alt$::i", kernel => "alt$::i/vmlinuz", initrd => "alt$::i/all.rdz",
+ append => join(' ', grep {$_} $default_append, $default_acpi, $default_vga) };
+ } @kernels),
+ { label => 'memtest', kernel => 'memtest' },
+ ], if_($type =~ /cdrom/, 'harddisk'));
+}
+sub remove_ending_zero {
+ my ($img) = @_;
+ _(q(perl -0777 -pi -e 's/\0+$//' ) . $img);
+}
+
+sub boot_img_i386 {
+ my ($type, $I, $img, $kernel) = @_;
+
+ _ "dd if=/dev/zero of=$img bs=1k count=" . ($type eq 'all' ? 10000 : $type eq 'ka' ? 2950 : 1440);
+
+ _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt;
+ _ "cat $kernel > $tmp_mnt/vmlinuz";
+
+ output("$tmp_mnt/help.msg", syslinux_msg('help.msg.xml'));
+ output("$tmp_mnt/advanced.msg", syslinux_msg('advanced.msg.xml'));
+
+ (my $rdz = $img) =~ s/\.img/.rdz/;
+ (my $initrd_type = $type) =~ s/-changedisk//;
+ initrd($initrd_type, $I, $rdz);
+ my $short_type = substr($type, 0, 8);
+
+ output("$tmp_mnt/syslinux.cfg",
+ syslinux_cfg([ map {
+ { kernel => 'vmlinuz', initrd => "$short_type.rdz", %$_ };
+ } entries_append($type) ]));
+
+ _ "cp -f $rdz $tmp_mnt/$short_type.rdz";
+ unlink $rdz;
+
+ _ "mkdosfs-with-dir $tmp_mnt $img";
+ _ "syslinux $img";
+ _ "rm -rf $tmp_mnt";
+}
+
+# alias to x86 variant, slightly bigger with images though
+sub boot_img_x86_64 { &boot_img_i386 }
+
+sub boot_img_alpha {
+ my ($type, $I, $img) = @_;
+
+ __ "$sudo umount $tmp_mnt 2>/dev/null";
+ _ "dd if=/dev/zero of=$img bs=1k count=1440";
+ mke2fs($img);
+ _ "/sbin/e2writeboot $img /boot/bootlx";
+ _ "$sudo mount -t ext2 $img $tmp_mnt -o loop";
+ _ "cp -f vmlinux.gz $tmp_mnt";
+ -f "$type.rdz" ? _ "cp -f $type.rdz $tmp_mnt" : initrd($type, $I, "$tmp_mnt/$type.rdz");
+
+ mkdir "$tmp_mnt/etc", 0777;
+ output("$tmp_mnt/etc/aboot.conf",
+"0:vmlinux.gz initrd=$type.rdz rw $default_append $type
+1:vmlinux.gz initrd=$type.rdz rw $default_append text $type
+");
+ _ "sync";
+ _ "df $tmp_mnt";
+}
+
+sub boot_img_ia64 {
+ my ($type, $_I, $img, $kernel) = @_;
+ my $rdz = $img; $rdz =~ s/\.img/.rdz/;
+
+ __ "$sudo umount $tmp_mnt 2>/dev/null";
+ _ "dd if=/dev/zero of=$img bs=1k count=16384";
+ _ "mkdosfs $img";
+ _ "$sudo mount -t vfat $img $tmp_mnt -o loop,umask=000";
+ _ "$sudo cp -f $kernel $tmp_mnt/vmlinux";
+ _ "cp -f $rdz $tmp_mnt/$type.rdz";
+ _ "$sudo cp -f tools/ia64/elilo.efi $tmp_mnt";
+ output("$tmp_mnt/elilo.conf", qq(
+prompt
+timeout=50
+
+image=vmlinux
+ label=linux
+ initrd=$type.rdz
+ append=" ramdisk_size=120000"
+ read-only
+
+image=vmlinux
+ label=rescue
+ initrd=$type.rdz
+ append=" rescue ramdisk_size=120000"
+"));
+ _ "sync";
+ _ "df $tmp_mnt";
+
+}
+
+sub boot_img_sparc {
+ my ($type, $I, $_img) = @_;
+ if ($type =~ /^live(.*)/) {
+ #- hack to produce directly into /export the needed file for cdrom boot.
+ my $dir = "/export";
+ my $boot = "boot"; #- non-absolute pathname only!
+
+ _ "mkdir -p $dir/$boot";
+ _ "cp -f /boot/cd.b /boot/second.b $dir/$boot";
+ _ "cp -f vmlinux$1 $dir/$boot/vmlinux$1";
+ -f "live$1.rdz" ? _ "cp -f live$1.rdz $dir/$boot" : initrd($type, $I, "$dir/$boot/live$1.rdz");
+
+ output("$dir/$boot/silo.conf", qq(
+partition=1
+default=linux
+timeout=100
+read-write
+message=/$boot/boot.msg
+image="cat /$boot/boot.msg"
+ label=1
+ single-key
+image="cat /$boot/general.msg"
+ label=2
+ single-key
+image="cat /$boot/expert.msg"
+ label=3
+ single-key
+image="cat /$boot/rescue.msg"
+ label=4
+ single-key
+image="cat /$boot/kickit.msg"
+ label=5
+ single-key
+image="cat /$boot/param.msg"
+ label=6
+ single-key
+image[sun4c,sun4d,sun4m]=/$boot/vmlinux
+ label=linux
+ alias=install
+ initrd=/$boot/live.rdz
+ append="ramdisk_size=128000"
+image[sun4c,sun4d,sun4m]=/$boot/vmlinux
+ label=text
+ initrd=/$boot/live.rdz
+ append="ramdisk_size=128000 text"
+image[sun4c,sun4d,sun4m]=/$boot/vmlinux
+ label=expert
+ initrd=/$boot/live.rdz
+ append="ramdisk_size=128000 expert"
+image[sun4c,sun4d,sun4m]=/$boot/vmlinux
+ label=ks
+ initrd=/$boot/live.rdz
+ append="ramdisk_size=128000 ks"
+image[sun4c,sun4d,sun4m]=/$boot/vmlinux
+ label=rescue
+ initrd=/$boot/live.rdz
+ append="ramdisk_size=128000 rescue"
+image[sun4u]=/$boot/vmlinux64
+ label=linux
+ alias=install
+ initrd=/$boot/live64.rdz
+ append="ramdisk_size=128000"
+image[sun4u]=/$boot/vmlinux64
+ label=text
+ initrd=/$boot/live64.rdz
+ append="ramdisk_size=128000 text"
+image[sun4u]=/$boot/vmlinux64
+ label=expert
+ initrd=/$boot/live64.rdz
+ append="ramdisk_size=128000 expert"
+image[sun4u]=/$boot/vmlinux64
+ label=ks
+ initrd=/$boot/live64.rdz
+ append="ramdisk_size=128000 ks"
+image[sun4u]=/$boot/vmlinux64
+ label=rescue
+ initrd=/$boot/live64.rdz
+ append="ramdisk_size=128000 rescue"
+"));
+
+ output("$dir/$boot/README", "
+To Build a Bootable CD-ROM, try:
+ genisoimage -R -o t.iso -s /$boot/silo.conf /export
+");
+ } elsif ($type =~ /^tftprd(.*)/) {
+ my $dir = "/export";
+ my $boot = "images";
+ my $setarch = $1 ? "sparc64" : "sparc32";
+
+ _ "mkdir -p $dir/$boot";
+ -f "$type.rdz" or initrd($type, $I, "$type.rdz");
+ _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
+ _ "$setarch kernel$1/src/arch/sparc$1/boot/piggyback $dir/$boot/$type.img kernel$1/boot/System.map $type.rdz";
+ } elsif ($type =~ /^tftp(.*)/) {
+ my $dir = "/export";
+ my $boot = "images";
+
+ _ "mkdir -p $dir/$boot";
+ _ "cp -f vmlinux$1.aout $dir/$boot/$type.img";
+ } else {
+ my $dir = "floppy";
+ __ "$sudo umount $tmp_mnt 2>/dev/null";
+ _ "rm -rf $dir";
+ _ "mkdir -p $dir";
+ _ "cp -f /boot/fd.b /boot/second.b $dir";
+ _ "cp -f vmlinuz$I $dir/vmlinux$I.gz";
+ -f "$type.rdz" ? _ "cp -f $type.rdz $dir" : initrd($type, $I, "$dir/$type.rdz");
+
+ output("$dir/boot.msg", "
+Welcome to Mandriva Linux 7.1
+
+Press <Enter> to install or upgrade a system 7mMandriva Linux7m
+");
+
+ output("$dir/silo.conf", qq(
+partition=1
+default=linux
+timeout=100
+read-write
+message=/boot.msg
+image=/vmlinux$I.gz
+ label=linux
+ initrd=/$type.rdz
+ append="ramdisk_size=128000 $type"
+"));
+ _ "genromfs -d $dir -f /dev/ram -A 2048,/.. -a 512 -V 'DrakX boot disk'";
+ _ "$sudo mount -t romfs /dev/ram $tmp_mnt";
+ _ "silo -r $tmp_mnt -F -i /fd.b -b /second.b -C /silo.conf";
+ _ "$sudo umount $tmp_mnt";
+ _ "dd if=/dev/ram of=$type.img bs=1440k count=1";
+ _ "sync";
+ _ "$sudo mount -t romfs /dev/ram $tmp_mnt";
+ _ "df $tmp_mnt";
+ }
+}
+
+sub boot_img_ppc() {
+ my ($type, $I, $img, $kernel) = @_;
+ (my $rdz = $img) =~ s/\.img/.rdz/;
+ foreach (glob("all.kernels/*")) {
+ my $ext = basename($_);
+ if ($ext =~ /legacy/) {
+ initrd("all", $I, "images/all.rdz-$ext");
+ _ "mv images/all.rdz-$ext images/all.rdz-legacy";
+ _ "cp $_/vmlinuz images/vmlinux-legacy";
+ }
+ elsif ($ext =~ /2.6/) {
+ initrd("all", $I, "images/all.rdz-$ext");
+ _ "mv images/all.rdz-$ext images/all.rdz";
+ _ "cp $_/vmlinuz images/vmlinux";
+ }
+ }
+ _ "cp -f /usr/lib/yaboot/yaboot images/yaboot";
+
+ output("images/ofboot.b", '<CHRP-BOOT>
+<COMPATIBLE>
+MacRISC
+</COMPATIBLE>
+<DESCRIPTION>
+Mandriva Linux PPC bootloader
+</DESCRIPTION>
+<BOOT-SCRIPT>
+" screen" output
+load-base release-load-area
+dev screen
+" "(0000000000aa00aa0000aaaaaa0000aa00aaaa5500aaaaaa)" drop 0 8 set-colors
+" "(5555555555ff55ff5555ffffff5555ff55ffffff55ffffff)" drop 8 8 set-colors
+device-end
+3 to foreground-color
+0 to background-color
+" "(0C)" fb8-write drop
+" Booting Mandriva Linux PPC..." fb8-write drop 100 ms
+boot cd:,\boot\yaboot
+</BOOT-SCRIPT>
+<OS-BADGE-ICONS>
+1010
+000000000000F8FEACF6000000000000
+0000000000F5FFFFFEFEF50000000000
+00000000002BFAFEFAFCF70000000000
+0000000000F65D5857812B0000000000
+0000000000F5350B2F88560000000000
+0000000000F6335708F8FE0000000000
+00000000005600F600F5FD8100000000
+00000000F9F8000000F5FAFFF8000000
+000000008100F5F50000F6FEFE000000
+000000F8F700F500F50000FCFFF70000
+00000088F70000F50000F5FCFF2B0000
+0000002F582A00F5000008ADE02C0000
+00090B0A35A62B0000002D3B350A0000
+000A0A0B0B3BF60000505E0B0A0B0A00
+002E350B0B2F87FAFCF45F0B2E090000
+00000007335FF82BF72B575907000000
+000000000000ACFFFF81000000000000
+000000000081FFFFFFFF810000000000
+0000000000FBFFFFFFFFAC0000000000
+000000000081DFDFDFFFFB0000000000
+000000000081DD5F83FFFD0000000000
+000000000081DDDF5EACFF0000000000
+0000000000FDF981F981FFFF00000000
+00000000FFACF9F9F981FFFFAC000000
+00000000FFF98181F9F981FFFF000000
+000000ACACF981F981F9F9FFFFAC0000
+000000FFACF9F981F9F981FFFFFB0000
+00000083DFFBF981F9F95EFFFFFC0000
+005F5F5FDDFFFBF9F9F983DDDD5F0000
+005F5F5F5FDD81F9F9E7DF5F5F5F5F00
+0083DD5F5F83FFFFFFFFDF5F835F0000
+000000FBDDDFACFBACFBDFDFFB000000
+000000000000FFFFFFFF000000000000
+0000000000FFFFFFFFFFFF0000000000
+0000000000FFFFFFFFFFFF0000000000
+0000000000FFFFFFFFFFFF0000000000
+0000000000FFFFFFFFFFFF0000000000
+0000000000FFFFFFFFFFFF0000000000
+0000000000FFFFFFFFFFFFFF00000000
+00000000FFFFFFFFFFFFFFFFFF000000
+00000000FFFFFFFFFFFFFFFFFF000000
+000000FFFFFFFFFFFFFFFFFFFFFF0000
+000000FFFFFFFFFFFFFFFFFFFFFF0000
+000000FFFFFFFFFFFFFFFFFFFFFF0000
+00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
+00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
+00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
+000000FFFFFFFFFFFFFFFFFFFF000000
+</OS-BADGE-ICONS>
+</CHRP-BOOT>
+');
+
+ output("images/yaboot.conf", '
+init-message = "\nWelcome to Mandriva Linux PPC!\nHit <TAB> for boot options.\n\n"
+timeout = 150
+device=cd:
+default = install-gui
+message=/boot/yaboot.msg
+
+image = /boot/vmlinux
+ label = install-gui
+ initrd = /boot/all.gz
+ initrd-size = 34000
+ append = " ramdisk_size=128000"
+
+image = /boot/vmlinux-power4
+ label = install-gui-power4
+ initrd = /boot/all-power4.gz
+ initrd-size = 34000
+ append = " ramdisk_size=128000"
+
+image = /boot/vmlinux
+ label = install-text
+ initrd = /boot/all.gz
+ initrd-size = 34000
+ append = " text ramdisk_size=128000"
+
+image = /boot/vmlinux-power4
+ label = install-text-power4
+ initrd = /boot/all-power4.gz
+ initrd-size = 34000
+ append = " text ramdisk_size=128000"
+
+image = /boot/vmlinux
+ label = install-gui-old
+ initrd = /boot/all.gz
+ initrd-size = 34000
+ append = " gui-old ramdisk_size=128000"
+
+image = /boot/vmlinux-power4
+ label = install-gui-old-power4
+ initrd = /boot/all-power4.gz
+ initrd-size = 34000
+ append = " gui-old ramdisk_size=128000"
+
+image = enet:0,vmlinux
+ label = install-net
+ initrd = enet:0,all.gz
+ initrd-size = 34000
+ append = " ramdisk_size=128000"
+
+image = enet:0,vmlinux-power4
+ label = install-net-power4
+ initrd = enet:0,all-power4.gz
+ initrd-size = 34000
+ append = " ramdisk_size=128000"
+
+image = enet:0,vmlinux
+ label = install-net-text
+ initrd = enet:0,all.gz
+ initrd-size = 34000
+ append = " text ramdisk_size=128000"
+
+image = enet:0,vmlinux-power4
+ label = install-net-text-power4
+ initrd = enet:0,all-power4.gz
+ initrd-size = 34000
+ append = " text ramdisk_size=128000"
+
+image = /boot/vmlinux
+ label = rescue
+ initrd = /boot/all.gz
+ initrd-size = 34000
+ append = " rescue ramdisk_size=128000"
+
+image = /boot/vmlinux-power4
+ label = rescue-power4
+ initrd = /boot/all-power4.gz
+ initrd-size = 34000
+ append = " rescue ramdisk_size=128000"
+
+image = enet:0,vmlinux
+ label = rescue-net
+ initrd = enet:0,all.gz
+ initrd-size = 34000
+ append = " rescue ramdisk_size=128000"
+
+image = enet:0,vmlinux-power4
+ label = rescue-net-power4
+ initrd = enet:0,all-power4.gz
+ initrd-size = 34000
+ append = " rescue ramdisk_size=128000"
+');
+
+ output("images/yaboot.msg", '
+Thanks for choosing Mandriva Linux PPC. The following is a short
+explanation of the various options for booting the install CD.
+
+All options ending with "-power4" use the BOOT kernel for ppc 9xx and POWER4.
+The default syntax with no suffix uses the BOOT kernel for ppc 6xx 7xx and 7xxx.
+The default if you just hit enter is "install-gui".
+
+install-gui: uses Xorg fbdev mode
+install-text: text based install
+install-net: allows you to use a minimal boot CD,
+ pulling the rest of the install from
+ a network server
+install-net-text: text mode network install
+rescue: boots the rescue image
+rescue-net: boots the rescue image from a network server
+
+');
+
+}
+
+sub VERSION {
+ my ($kernels) = @_;
+
+ map { "$_\n" }
+ $ENV{DISTRIB_DESCR},
+ scalar gmtime(),
+ '', @$kernels;
+}
+
+sub syslinux_all_files {
+ my ($dir, $kernels) = @_;
+
+ eval { rm_rf($dir) }; mkdir_p($dir);
+
+ @$kernels or die "syslinux_all_files: no kernel\n";
+
+ $default_vga =~ /788/ or die 'we rely on vga=788 for bootsplash';
+ my $bootspash_cfg = '/etc/bootsplash/themes/Mandriva/config/bootsplash-800x600.cfg';
+ -e $bootspash_cfg or die "can't find $bootspash_cfg";
+
+ each_index {
+ mkdir "$dir/alt$::i", 0777;
+ _ "cp all.kernels/$_/vmlinuz $dir/alt$::i";
+ initrd('all', '', "images/all.rdz-$_", $bootspash_cfg);
+ rename("images/all.rdz-$_", "$dir/alt$::i/all.rdz");
+ } @$kernels;
+
+ _ "install -m 644 -D /boot/memtest* $dir/memtest";
+
+ output("$dir/help.msg", syslinux_msg('help.msg.xml'));
+ output("$dir/advanced.msg", syslinux_msg('advanced.msg.xml',
+ "\nYou can choose the following kernels :\n",
+ map_index { " o " . syslinux_color('white') . "alt$::i" . syslinux_color('default') . " is kernel $_\n" } @$kernels));
+}
+
+sub isolinux {
+ my ($kernels) = @_;
+
+ syslinux_all_files('isolinux', $kernels);
+
+ _ "cp $isolinux_bin isolinux/isolinux.bin";
+ output("isolinux/isolinux.cfg", syslinux_cfg_all('cdrom'));
+
+ xbox_stage1() if arch() =~ /i.86/;
+}
+
+sub xbox_stage1() {
+ my $xbox_kernel = find { /xbox/ } all('all.kernels') or return;
+
+ my $dir = 'isolinux/xbox';
+ eval { rm_rf($dir) }; mkdir_p($dir);
+
+ _ "cp all.kernels/$xbox_kernel/vmlinuz $dir";
+ initrd('all', '', "images/all.rdz-$xbox_kernel");
+ rename("images/all.rdz-$xbox_kernel", "$dir/initrd");
+
+ _ "cp /usr/share/cromwell/xromwell-installer.xbe $dir/default.xbe";
+ output("$dir/linuxboot.cfg", <<EOF);
+kernel $dir/vmlinuz
+initrd $dir/initrd
+append root=/dev/ram3 ramdisk_size=36000 automatic=method:cdrom
+EOF
+}
+
+sub boot_iso {
+ my ($iso, $kernels) = @_;
+
+ syslinux_all_files('.boot_iso/isolinux', $kernels);
+
+ output('.boot_iso/VERSION', VERSION($kernels));
+
+ # for the boot iso, use standard isolinux
+ _ "cp /usr/lib/syslinux/isolinux.bin .boot_iso/isolinux/isolinux.bin";
+ output('.boot_iso/isolinux/isolinux.cfg', syslinux_cfg_all(''));
+
+ _ "genisoimage -r -f -J -cache-inodes -V 'Mdk Boot ISO' -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o $iso .boot_iso";
+ rm_rf('.boot_iso');
+}
+
+sub hd_grub {
+ my ($img) = @_;
+ my $mapfile = '/tmp/device.map.tmp';
+
+ my ($grub_dir) = glob("/lib/grub/*-*");
+ my @grub_files = map { "$grub_dir/$_" } qw(stage1 stage2);
+ my $size = 40_000 + sum(map { -s $_ } @grub_files);
+
+ _ "dd if=/dev/zero of=$img bs=1 count=$size";
+
+ _ "rm -rf $tmp_mnt"; mkdir $tmp_mnt;
+ _ "cp @grub_files $tmp_mnt";
+
+ output("$tmp_mnt/menu.lst", <<EOF);
+timeout 10
+default 0
+fallback 1
+
+title Mandriva Linux Install
+
+root (hd0,0)
+kernel /cooker/isolinux/alt0/vmlinuz $default_append $default_acpi $default_vga automatic=method:disk
+initrd /cooker/isolinux/alt0/all.rdz
+
+title Help
+
+pause To display the help, press <space> until you reach "HELP END"
+pause .
+pause Please see http://qa.mandriva.com/hd_grub.cgi for a friendlier solution
+pause .
+pause To specify the location where Mandriva Linux is copied,
+pause choose "Mandriva Linux Install", and press "e".
+pause Then change "root (hd0,0)". FYI:
+pause - (hd0,0) is the first partition on first bios hard drive (usually hda1)
+pause - (hd0,4) is the first extended partition (usually hda5)
+pause - (hd1,0) is the first partition on second bios hard drive
+pause Replace /cooker to suits the directory containing Mandriva Linux
+pause .
+pause HELP END
+EOF
+
+ _ "mkdosfs-with-dir $tmp_mnt $img";
+ _ "rm -rf $tmp_mnt";
+
+ output($mapfile, "(fd0) $img\n");
+
+ open(my $G, "| grub --device-map=$mapfile --batch");
+ print $G <<EOF;
+root (fd0)
+install /stage1 d (fd0) /stage2 p /menu.lst
+quit
+EOF
+ close $G;
+ unlink $mapfile;
+}
diff --git a/images/update_kernel b/images/update_kernel
new file mode 100755
index 000000000..9d9e98612
--- /dev/null
+++ b/images/update_kernel
@@ -0,0 +1,117 @@
+#!/usr/bin/perl
+
+# this script takes kernels rpms from RPMS/ and create various files in all_kernels/
+# for each rpms in RPMS, it does:
+# RPMS/kernel-VER-*.rpm ->
+# all.kernels/VER/all_modules.tar (used for all.rdz)
+# all.kernels/VER/modules.dep
+# all.kernels/VER/modules.alias
+# all.kernels/VER/vmlinuz
+#
+# if RPMS is empty, this script tries to find kernels in $kernel_repository
+
+use lib '../kernel';
+use MDK::Common;
+use list_modules;
+
+(my $karch = arch()) =~ s/^i.86$/i586/;
+my $kernel_repository = chomp_(cat_('.repository'));
+my $rpm = 'rpm --nosignature';
+
+
+my $MOVE = $ARGV[0] eq '--move' && shift;
+
+@ARGV <= 1 or die "usage: ./update_kernel [--move] [<kernel rpm>]\n";
+
+eval { rm_rf('all.kernels') }; #- remove old things
+mkdir 'all.kernels';
+
+my $main = chomp_(cat_('RPMS/.main'));
+
+if (@ARGV) {
+ install_kernel($ARGV[0]);
+} elsif (! -d 'RPMS' && $kernel_repository) {
+ get_kernels_from_repository();
+}
+
+if (glob("RPMS/*.rpm")) {
+ extract_kernel($_) foreach glob("RPMS/*.rpm");
+} else {
+ my @l = all('/lib/modules');
+ @l = grep { /legacy/ } @l if arch() =~ /i.86/;
+ extract_installed_rpm('/', $_) foreach @l;
+}
+
+sub system_verbose { print join(' ', @_), "\n"; system(@_) }
+sub sys { &system_verbose; $? and die }
+
+sub rpm2version {
+ my ($kernel_rpm) = @_;
+ `$rpm -qpl $kernel_rpm` =~ m!/boot/vmlinuz-(.*)! && $1 or die "can't find vmlinuz in $kernel_rpm\n";
+}
+
+sub get_kernels_from_repository() {
+ sub look_for {
+ my ($name, $repository) = @_;
+ my $rpm_wildcard = 'kernel-' . ($name ? "$name-" : arch() =~ /i.86/ ? 'legacy-' : '') . '2.6*.rpm';
+ my @l = glob("$repository/$rpm_wildcard") or die "no $name kernel found in $repository matching $rpm_wildcard\n";
+ @l;
+ }
+ my @kernels;
+ push @kernels, look_for('', $kernel_repository);
+
+ install_kernel($_) foreach @kernels;
+}
+
+sub install_kernel {
+ my ($kernel_rpm) = @_;
+ my $basename = basename($kernel_rpm);
+ warn "Installing rpm $basename in RPMS\n";
+ mkdir 'RPMS';
+ cp_af($kernel_rpm, "RPMS/$basename");
+
+ if (!$main) {
+ $main = rpm2version($kernel_rpm);
+ output('RPMS/.main', "$main\n");
+ }
+}
+
+sub extract_kernel {
+ my ($kernel_rpm) = @_;
+
+ my $kern_ver = rpm2version($kernel_rpm);
+ my $dir = "all.kernels/$kern_ver";
+
+ warn "Extracting kernel $kern_ver\n";
+
+ eval { rm_rf($dir) };
+ mkdir_p("$dir/modules");
+ sys("rpm2cpio $kernel_rpm | (cd $dir ; cpio -id)");
+
+ extract_installed_rpm($dir, $kern_ver);
+
+ eval { rm_rf("$dir$_") } foreach qw(/boot /lib /usr);
+}
+
+sub extract_installed_rpm {
+ my ($installed_dir, $kern_ver) = @_;
+ my $local_dir = "all.kernels/$kern_ver";
+ mkdir_p("$local_dir/modules");
+
+ sys('cp', "$installed_dir/boot/vmlinuz-$kern_ver", "$local_dir/vmlinuz");
+ sys("cp $installed_dir/lib/modules/$kern_ver/modules.* $local_dir");
+
+ open(my $F, "find $installed_dir/lib/modules/$kern_ver -name '*.ko.gz' |");
+ my $file; while ($file = <$F>) {
+ chomp($file);
+ system('cp', $file, "$local_dir/modules/" . basename($file)) == 0
+ or warn "conflict for $file\n";
+ }
+
+ sys('perl', '../kernel/modules.pl', 'remove_unneeded_modules', $kern_ver);
+
+ sys('perl', '../kernel/modules.pl', 'make_modules_per_image', $kern_ver);
+ sys('cp', '-f', "$local_dir/modules.description", '.') if $kern_ver eq $main || !$main;
+
+ rm_rf("$local_dir/modules");
+}
diff --git a/kernel/Makefile b/kernel/Makefile
new file mode 100644
index 000000000..ea4cc1a54
--- /dev/null
+++ b/kernel/Makefile
@@ -0,0 +1,8 @@
+clean:
+ rm -rf *~
+
+check:
+ perl modules.pl check > /dev/null
+ @echo "unlisted drivers: "
+ @for i in $$(zcat /usr/share/ldetect-lst/pcitable.gz|cut -f 2 -d \" |egrep -v '^#|ADSL:|Bad:|Card:|H[cs]f:|ISDN:|LT:'|sort|uniq|less);do fgrep -q $$i list_modules.pm|| echo -n "$$i ";done
+ @echo
diff --git a/kernel/list_modules.pm b/kernel/list_modules.pm
new file mode 100644
index 000000000..a746f1bb1
--- /dev/null
+++ b/kernel/list_modules.pm
@@ -0,0 +1,335 @@
+package list_modules; # $Id: list_modules.pm 149149 2007-03-27 12:28:29Z tv $
+
+use MDK::Common;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories);
+
+# the categories have 2 purposes
+# - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl)
+# - performing a load_category or probe_category (detect_devices.pm and many files in perl-install)
+
+our %l = (
+ ################################################################################
+ network =>
+ {
+ atm => [ qw(ambassador eni firestream fore_200e he horizon idt77252 iphase lanai nicstar zatm) ],
+ main => [
+ if_(arch() =~ /ppc/, qw(bmac ibm_emac mace oaknet sungem)),
+ if_(arch() =~ /^sparc/, qw(sunbmac sunhme sunqe)),
+ if_(arch() !~ /alpha|sparc/,
+ qw(3c501 3c503 3c505 3c507 3c509 3c515 3c990 3c990fx),
+ qw(82596 ac3200 acenic aironet4500_card amd8111e at1700 atp),
+ qw(bcm4400 cassini cs89x0 de600 de620),
+ qw(depca dmfe e2100 eepro eexpress eth16i),
+ qw(ewrk3 hp hp-plus hp100),
+ qw(iph5526), #- fibre channel
+ qw(lance ne ni5010 ni52 ni65 nvnet),
+ qw(prism2_plx rcpci rhineget),
+ qw(sb1000 sc92031 smc-ultra smc9194),
+ qw(tc35815 tlan uli526x),
+ ),
+ if_(arch() !~ /alpha/,
+ qw(b44 com20020-pci de2104x),
+ qw(defxx), # most unused
+ qw(dgrs e100 eepro100 epic100 fealnx hamachi natsemi),
+ qw(ne2k-pci pcnet32 plip sis900 skfp starfire tulip),
+ qw(typhoon via-rhine winbond-840 forcedeth),
+ qw(sungem sunhme), # drivers for ultrasparc, but compiled in ix86 kernels...
+ ),
+ qw(3c59x 8139too 8139cp sundance), #rtl8139
+ ],
+ firewire => [ qw(eth1394 pcilynx) ],
+ gigabit => [
+ qw(atl1 bnx2 cxgb cxgb3 dl2k e1000 ixgb myri_sbus netxen_nic ns83820 qla3xxx r8169 s2io sis190 sk98lin skge sky2 spidernet tg3 via-velocity yellowfin),
+ qw(bcm5820 bcm5700), #- encrypted
+ ],
+
+ raw => [
+ qw(ppp_generic ppp_async ppp_deflate bsd_comp),
+ ],
+ pcmcia => [
+ qw(3c574_cs 3c589_cs axnet_cs fmvj18x_cs),
+ qw(ibmtr_cs nmclan_cs pcnet_cs smc91c92_cs),
+ qw(xirc2ps_cs xircom_cb xircom_tulip_cb),
+ ],
+ #- generic NIC detection for USB seems broken (class, subclass,
+ #- protocol reported are not accurate) so we match network adapters against
+ #- known drivers :-(
+ usb => [
+ qw(catc cdc_ether kaweth pegasus rtl8150 usbnet),
+ ],
+ wireless => [
+ qw(acx-pci acx-usb adm8211 airo airo_cs aironet4500_cs aironet_cs arlan),
+ qw(at76_usb ath_pci atmel_cs atmel_pci bcm43xx com20020_cs dyc_ar5),
+ qw(hostap_cs hostap_pci hostap_plx ipw2100 ipw2200 ipw3945 madwifi_pci netwave_cs orinoco orinoco_cs orinoco_nortel orinoco_pci orinoco_plx orinoco_tmd),
+ qw(ndiswrapper prism2_cs prism2_pci prism2_usb prism54 r8180 ray_cs rt2400 rt2500 rt2570 rt61 rt73 rtusb),
+ qw(spectrum_cs usbvnet_rfmd vt_ar5k wavelan_cs wl3501_cs wvlan_cs zd1201 zd1211rw),
+ if_(arch() =~ /ppc/, qw(airport)),
+ ],
+ isdn => [
+ qw(avmfritz c4 cdc-acm b1pci divas hfc4s8s_l1 hfc_usb hfc4s8s_l1 hisax hisax_st5481 hisax_fcpcipnp hysdn sedlfax t1pci tpam w6692pci),
+ qw(fcpci fcdsl fcdsl fcdsl2 fcdslsl fcdslslusb fcdslusb fcdslusba fcusb fcusb2 fxusb fxusb_CZ)
+ ],
+ cellular => [
+ qw(nozomi option),
+ ],
+ modem => [
+ qw(ltmodem mwave sm56),
+ ],
+ slmodem => [
+ qw(slamr slusb snd-ali5451 snd-atiixp-modem snd-intel8x0m snd-via82xx-modem),
+ ],
+ tokenring => [ qw(3c359 abyss ibmtr lanstreamer olympic proteon skisa smctr tms380tr tmspci) ],
+ wan => [ qw(c101 cosa cyclomx cycx_drv dlci dscc4 farsync hdlc hostess_sv11 lmc n2 pc300 pci200syn sbni sdla sdladrv sealevel syncppp wanxl z85230) ],
+ usb_dsl => [ qw(cxacru eagle-usb speedtch ueagle-atm usbatm xusbatm) ],
+ },
+
+ ################################################################################
+ disk =>
+ {
+ # ide drivers compiled as modules:
+ ide => [
+ qw(aec62xx cs5520 cs5530 cs5535 delkin_cb it8213),
+ qw(rz1000 sc1200 slc90e66 tc86c001 triflex trm290 ide-generic) ],
+ # ide drivers compiled in core kernel:
+ all_ide => [
+ qw(ali14xx amd74xx dtc2278 ht6560b qd65xx umc8672 alim15x3 atiixp cmd64x cy82c693),
+ qw(hpt34x hpt366 ns87415 opti621 pdc202xx_new pdc202xx_old piix serverworks),
+ qw(siimage sis5513 via82cxxx),
+ ],
+ scsi => [
+ if_(arch() =~ /ppc/, qw(mesh mac53c94)),
+ if_(arch() =~ /^sparc/, qw(qlogicpti)),
+ if_(arch() !~ /alpha/ && arch() !~ /sparc/,
+ '53c7,8xx',
+ qw(AM53C974 BusLogic NCR53c406a a100u2w advansys aha152x aha1542 aha1740),
+ qw(atp870u dc395x dc395x_trm dmx3191d dtc g_NCR5380 in2000 initio pas16 pci2220i psi240i fdomain),
+ qw(qla1280 qla2x00 qla2xxx qlogicfas qlogicfc),
+ qw(seagate wd7000 shasta sim710 stex sym53c416 t128 tmscsim u14-34f ultrastor),
+ qw(eata eata_pio eata_dma nsp32),
+ ),
+ qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicfas408 sym53c8xx lpfc lpfcdd), # ncr53c8xx
+ ],
+ sata => [
+ # note that ata_piix manage RAID devices on ICH6R
+ qw(ahci aic94xx ata_adma ata_piix pata_pdc2027x pdc_adma sata_inic162x sata_mv sata_nv sata_promise sata_qstor sata_sil sata_sil24 sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8),
+ # new drivers: old ide drivers ported over libata:
+ qw(pata_ali pata_amd pata_artop pata_atiixp pata_cmd64x pata_cmd640 pata_cs5520 pata_cs5530 pata_cs5535 pata_cypress),
+ qw(pata_efar pata_hpt366 pata_hpt37x pata_hpt3x2n pata_hpt3x3 pata_isapnp pata_it821x pata_it8172 pata_it8213 pata_jmicron),
+ qw(pata_legacy pata_marvell pata_mpiix pata_netcell pata_ns87410 pata_oldpiix pata_opti pata_optidma),
+ qw(pata_pdc2027x pata_pdc202xx_old pata_platform pata_qdi pata_radisys pata_rz1000),
+ qw(pata_sc1200 pata_serverworks pata_sil680 pata_sis pata_sl82c105 pata_triflex pata_via pata_winbond),
+ ],
+ hardware_raid => [
+ if_(arch() =~ /^sparc/, qw(pluto)),
+ if_(arch() !~ /alpha/ && arch() !~ /sparc/,
+ # 3w-xxxx drives ATA-RAID, 3w-9xxx and arcmsr drive SATA-RAID
+ qw(a320raid megaide),
+ qw(3w-9xxx 3w-xxxx aacraid arcmsr cciss cpqfc cpqarray DAC960 dpt_i2o gdth hptiop i2o_block ipr it821x it8212),
+ qw(iteraid megaraid megaraid_mbox megaraid_sas mptfc mptsas mptspi mptscsih qla2100 qla2200 qla2300 qla2322 qla4xxx qla6312 qla6322 pdc-ultra),
+ qw(ips ppa imm),
+ ),
+ ],
+ pcmcia => [ qw(aha152x_cs fdomain_cs nsp_cs qlogic_cs ide-cs pata_pcmcia sym53c500_cs) ],
+ raw => [ qw(sd_mod) ],
+ usb => [ qw(usb-storage) ],
+ firewire => [ qw(sbp2) ],
+ cdrom => [ qw(ide-cd sr_mod) ],
+ card_reader => [ qw(sdhci tifm_sd tifm_7xx1) ],
+ },
+
+ ################################################################################
+
+ bus =>
+ {
+ usb => [ qw(isp116x-hcd ehci-hcd ohci-hcd uhci-hcd usb-uhci usb-ohci) ],
+ bluetooth => [ qw(bcm203x bfusb bpa10x hci_usb) ],
+ firewire => [ qw(ohci1394) ],
+ i2c => [
+ qw(i2c-ali1535 i2c-ali1563 i2c-ali15x3 i2c-amd756 i2c-amd8111 i2c-i801 i2c-i810 i2c-nforce2),
+ qw(i2c-piix4 i2c-prosavage i2c-savage4 i2c-sis5595 i2c-sis630 i2c-sis96x i2c-via i2c-viapro i2c-voodoo3),
+ if_(arch() !~ /^ppc/, qw(i2c-hydra i2c-ibm_iic i2c-mpc)),
+ ],
+ pcmcia => [
+ if_(arch() !~ /^sparc/, qw(au1x00_ss i82365 i82092 pd6729 tcic vrc4171_card vrc4173_cardu yenta_socket)), # cb_enabler
+ ],
+ usb_keyboard => [ qw(usbkbd keybdev) ],
+ #serial_cs
+ #ftl_cs 3c575_cb apa1480_cb epic_cb serial_cb tulip_cb iflash2+_mtd iflash2_mtd
+ #cb_enabler
+ },
+
+ fs =>
+ {
+ network => [ qw(af_packet nfs) ],
+ cdrom => [ qw(isofs) ],
+ loopback => [ qw(isofs loop squashfs), if_($ENV{MOVE}, qw(supermount)) ],
+ local => [
+ if_(arch() =~ /^i.86|x86_64/, qw(vfat ntfs)),
+ if_(arch() =~ /^ppc/, qw(hfs)),
+ qw(reiserfs jfs xfs),
+ ],
+ various => [ qw(smbfs romfs ext3 ufs ntfs) ],
+
+ },
+
+ ################################################################################
+ multimedia =>
+ {
+ sound => [
+ if_(arch() =~ /ppc/, qw(dmasound_pmac snd-aoa snd-powermac)),
+ if_(arch() =~ /sparc/, qw(snd-sun-amd7930 snd-sun-cs4231 snd-sun-dbri)),
+ if_(arch() !~ /^sparc/,
+ qw(ad1816 ad1848 ad1889 ali5455 audigy audio awe_wave cmpci cs4232 cs4281 cs46xx cx88-alsa),
+ qw(emu10k1 es1370 es1371 esssolo1 forte gus i810_audio ice1712 kahlua mad16 maestro),
+ qw(maestro3 mpu401 msnd_pinnacle nm256_audio nvaudio opl3 opl3sa opl3sa2 pas2 pss),
+ qw(rme96xx sam9407 sb sgalaxy snd-ad1816a snd-ad1848 snd-ad1889 snd-ali5451 snd-als100 snd-als300),
+ qw(snd-als4000 snd-atiixp snd-au8810 snd-au8820 snd-au8830 snd-audigyls snd-azt2320 snd-azt3328 snd-azx),
+ qw(snd-asihpi snd-bt87x snd-ca0106 snd-cmi8330 snd-cmipci snd-cs4231 snd-cs4232 snd-cs4236 snd-cs4281),
+ qw(snd-cs46xx snd-cs5535audio snd-darla20 snd-darla24 snd-dt019x snd-echo3g snd-emu10k1 snd-emu10k1x snd-ens1370 snd-ens1371 snd-es1688 snd-es18xx),
+ qw(snd-es1938 snd-es1968 snd-es968 snd-fm801 snd-gina20 snd-gina24 snd-gina3g snd-gusclassic snd-gusextreme),
+ qw(snd-gusmax snd-hda-intel snd-hdsp snd-hdspm snd-ice1712 snd-ice1724 snd-indi snd-indigo snd-indigodj snd-indigoio snd-intel8x0 snd-interwave),
+ qw(snd-interwave-stb snd-korg1212 snd-layla20 snd-layla24 snd-layla3g snd-maestro3 snd-mia snd-mixart snd-mona snd-mpu401 snd-nm256),
+ qw(snd-opl3sa2 snd-opti92x-ad1848 snd-opti92x-cs4231 snd-opti93x snd-pcxhr snd-riptide snd-rme32),
+ qw(snd-rme96 snd-rme9652 snd-sb16 snd-sb8 snd-sbawe snd-sgalaxy snd-sonicvibes),
+ qw(snd-sscape snd-trident snd-via82xx snd-vx222 snd-vxp440 snd-vxpocket snd-wavefront),
+ qw(snd-ymfpci sonicvibes sscape trident via82cxxx_audio wavefront ymfpci),
+ ),
+ ],
+ tv => [ qw(bt878 bttv cx8800 cx8802 cx88-blackbird dpc7146 ivtv mxb pvrusb2 saa7134 zr36067) ],
+ dvb => [
+ qw(b2c2-flexcop-pci b2c2-flexcop-usb budget budget-av budget-ci cinergyT2),
+ qw(dvb-dibusb dvb-ttpci dvb-ttusb-budget dvb-usb-a800 dvb-usb-cxusb),
+ qw(dvb-usb-dib0700 dvb-usb-dibusb-mb dvb-usb-dibusb-mc dvb-usb-digitv dvb-usb-dtt200u),
+ qw(dvb-usb-gp8ps dvb-usb-nova-t-usb2 dvb-usb-ttusb2 dvb-usb-umt-010 dvb-usb-vp702x dvb-usb-vp7045),
+ qw(hexium_gemini hexium_orion pluto2 skystar2 ttusb_dec),
+ ],
+ photo => [ qw(dc2xx mdc800) ],
+ radio => [ qw(radio-gemtek-pci radio-maestro radio-maxiradio) ],
+ scanner => [ qw(scanner microtek) ],
+ gameport => [ qw(cs461x ns558 emu10k1-gp fm801-gp lightning ns558 vortex) ],
+ usb_sound => [ qw(audio dabusb dsbr100 snd-usb-audio snd-usb-caiaq snd-usb-usx2y usb-midi) ],
+ webcam => [ qw(cafe_ccic cpia_usb cpia2 cyber2000fb em28xx et61x251 ibmcam konicawc mod_quickcam ov511 ov511-alt ov518_decomp ovfx2 pwc quickcam quickcam_messenger se401 stv680 sn9c102 ultracam usbvideo usbvision vicam w9968cf zc0301) ],
+ },
+
+ # USB input stuff get automagically loaded by hotplug and thus
+ # magically work through /dev/input/mice multiplexing:
+ input => {
+ joystick => [
+ qw(iforce xpad),
+ # there're more drivers in drivers/input/joystick but they support non USB or PCI devices
+ # and thus cannot be detected but by slow (and maybe dangerous?) load_category:
+ qw(a3d adi analog cobra db9 gamecon gf2k grip grip_mp guillemot interact),
+ qw(joydump magellan sidewinder spaceball spaceorb stinger tmdc turbografx warrior)
+ ],
+ remote => [ qw(ati_remote) ],
+ # USB tablets and touchscreens:
+ tablet => [ qw(acecad aiptek wacom kbtab) ],
+ touchscreen => [ qw(ads7846_ts gunze hp680_ts_input itmtouch mk712 mtouch mtouchusb touchkitusb) ],
+ },
+
+ various =>
+ # just here for classification, unused categories (nor auto-detect, nor load_thiskind)
+ {
+ raid => [
+ qw(dm-crypt dm-mirror dm-mod linear lvm-mod multipath raid0 raid1 raid10 raid5 raid6),
+ ],
+ mouse => [
+ qw(atixlmouse busmouse generic_serial inport ioc3_serial logibm logibusmouse msbusmouse pcips2 qpmouse synclinkmp),
+ if_(arch() =~ /ppc/, 'macserial'),
+ qw(mousedev usbhid usbmouse),
+ ],
+ char => [
+ if_(arch() =~ /ia64/, qw(efivars)),
+ qw(applicom n_r3964 nvram pc110pad ppdev),
+ qw(wdt_pci i810-tco sx), #- what are these???
+ ],
+ crypto => [
+ qw(amd768_rng amd7xx_tco i810_rng hw_random leedslite padlock),
+ ],
+ laptop => [
+ qw(i8k sonypi toshiba),
+ ],
+ serial => [
+ qw(8250_pci 8250 epca esp isicom istallion jsm moxa mxser mxser_new stallion sx synclink synclinkmp),
+ ],
+ other => [
+ qw(defxx i810fb ide-floppy ide-scsi ide-tape loop lp nbd sg st),
+ qw(parport_pc parport_serial),
+ qw(btaudio mmc_block),
+
+ 'cryptoloop', arch() =~ /i.86/ ? 'aes-i586' : 'aes',
+ if_(arch() =~ /sparc/, 'openprom'),
+
+ qw(evdev), qw(usblp printer), 'floppy',
+
+ #- these need checking
+ qw(rrunner meye),
+ ],
+ agpgart => [
+ if_(arch() =~ /alpha/, qw(alpha-agp)),
+ if_(arch() =~ /ia64/, qw(hp-agp i460-agp)),
+ if_(arch() =~ /ppc/, qw(uninorth-agp)),
+
+ qw(ali-agp amd64-agp amd-k7-agp ati-agp efficeon-agp intel-agp),
+ qw(k7-agp mch-agp nvidia-agp sis-agp sworks-agp via-agp),
+ ],
+ },
+);
+
+my %dependencies;
+
+sub load_dependencies {
+ my ($file) = @_;
+
+ %dependencies = map {
+ s![^ ]*/!!g;
+ s!\.ko!!g;
+ s!\.gz!!g;
+ my ($f, $deps) = split ':';
+ $f => [ split ' ', $deps ];
+ } cat_($file);
+}
+
+sub dependencies_closure {
+ my @l = map { dependencies_closure($_) } @{$dependencies{$_[0]} || []};
+ (@l, $_[0]);
+}
+
+sub category2modules {
+ map {
+ my ($t1, $t2s) = m|(.*)/(.*)|;
+ my @sub = $t2s eq '*' ? keys %{$l{$t1}} : split('\|', $t2s);
+ map {
+ my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace();
+ @$l;
+ } @sub;
+ } split(' ', $_[0]);
+}
+
+sub all_modules() {
+ map { @$_ } map { values %$_ } values %l;
+}
+
+sub module2category {
+ my ($module) = @_;
+ foreach my $t1 (keys %l) {
+ my $h = $l{$t1};
+ foreach my $t2 (keys %$h) {
+ $module eq $_ and return "$t1/$t2" foreach @{$h->{$t2}};
+ }
+ }
+ return;
+}
+
+sub ethernet_categories() {
+ 'network/main|gigabit|pcmcia|tokenring|usb|wireless|firewire';
+}
+
+sub sub_categories {
+ my ($t1) = @_;
+ keys %{$l{$t1}};
+}
+
+1;
diff --git a/kernel/modules.pl b/kernel/modules.pl
new file mode 100644
index 000000000..baccde635
--- /dev/null
+++ b/kernel/modules.pl
@@ -0,0 +1,167 @@
+use strict;
+
+
+BEGIN {
+ #- for testing purpose
+ (my $f = __FILE__) =~ s|/[^/]*$||;
+ push @INC, $f;
+}
+
+use MDK::Common;
+use list_modules;
+
+
+sub flatten_and_check {
+ my ($h) = @_;
+ map {
+ my $category = $_;
+ my @l = @{$h->{$category}};
+ if (my @bad = difference2(\@l, [ category2modules($category) ])) {
+ foreach (@bad) {
+ if (my $cat = module2category($_)) {
+ warn "ERROR in modules.pl: module $_ is in category $cat, not in $category\n";
+ } else {
+ warn "ERROR in modules.pl: unknown module $_\n";
+ }
+ }
+ exit 1;
+ }
+ @l;
+ } keys %$h;
+}
+
+my $images_cat = 'fs/* disk/* bus/* network/* input/* various/*'; #- ie everything except multimedia
+
+my $verbose = $ARGV[0] eq '-v' && shift;
+my ($f, @para) = @ARGV;
+$::{$f}->(@para);
+
+sub modules() {
+ map { category2modules($_) } split(' ', $images_cat);
+}
+
+sub remove_unneeded_modules {
+ my ($kern_ver) = @_;
+
+ #- need creating a first time the modules.dep for all modules
+ filter_modules_dep($kern_ver);
+ load_dependencies("all.kernels/$kern_ver/modules.dep");
+
+ my @all = modules();
+ my @all_with_deps = map { dependencies_closure($_) } @all;
+ my %wanted_modules = map { ("$_.ko.gz" => 1) } @all_with_deps;
+ foreach (all("all.kernels/$kern_ver/modules")) {
+ $wanted_modules{$_} or unlink "all.kernels/$kern_ver/modules/$_";
+ }
+}
+
+sub make_modules_per_image {
+ my ($kern_ver) = @_;
+
+ my $dir = "all.kernels/$kern_ver/modules";
+
+ system("cd $dir ; tar cf ../all_modules.tar *.ko.gz") == 0 or die "tar failed\n";
+}
+
+sub filter_modules_dep {
+ my ($kern_ver) = @_;
+
+ my @l = cat_("all.kernels/$kern_ver/modules.dep");
+
+ @l = map {
+ if (/(\S+):\s+(.*)/) {
+ my ($module, @deps) = map { m!.*/(.*)\.k?o(\.gz)$! && $1 } $1, split(' ', $2);
+ if (member($module, 'plip', 'ppa', 'imm')) {
+ @deps = map { $_ eq 'parport' ? 'parport_pc' : $_ } @deps;
+ } elsif ($module eq 'vfat') {
+ push @deps, 'nls_cp437', 'nls_iso8859-1';
+ }
+ if_(@deps, join(' ', "$module:", @deps));
+ } else {
+ ();
+ }
+ } @l;
+
+ output("all.kernels/$kern_ver/modules.dep", map { "$_\n" } @l);
+}
+
+sub get_main_modules() {
+ my $base = dirname($0);
+ my $main = chomp_(cat_("$base/RPMS/.main"));
+ chomp_(`tar tf $base/all.kernels/$main/all_modules.tar`);
+}
+
+sub pci_modules4stage1 {
+ my ($category) = @_;
+ my @modules = difference2([ category2modules($category) ]);
+ print "$_\n" foreach uniq(map { dependencies_closure($_) } @modules);
+}
+
+sub check() {
+ my $error;
+ my %listed;
+ while (my ($t1, $l) = each %list_modules::l) {
+ while (my ($t2, $l) = each %$l) {
+ ref $l or die "bad $l in $t1/$t2";
+ foreach (@$l) {
+ $listed{$_} = "$t1/$t2";
+ }
+ }
+ }
+
+ my %module2category;
+ my %deprecated_modules = %listed;
+ my $not_listed = sub {
+ my ($msg, $verbose, @l) = @_;
+ my %not_listed;
+ foreach (@l) {
+ my ($mod) = m|([^/]*)\.k?o(\.gz)?$| or next;
+ delete $deprecated_modules{$mod};
+ next if $listed{$mod};
+ s|.*?mdk/||;
+ s|kernel/||; s|drivers/||; s|3rdparty/||;
+ $_ = dirname $_;
+ $_ = dirname $_ if $mod eq basename($_);
+ $module2category{$mod} = $_;
+ push @{$not_listed{$_}}, $mod;
+ }
+ if ($verbose) {
+ print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ }
+ };
+ $not_listed->('NOT LISTED', 1, get_main_modules());
+ $not_listed->('not listed', $verbose, chomp_(`rpm -qpl RPMS/kernel-*2.6*`));
+ if (%deprecated_modules) {
+ my %per_cat;
+ push @{$per_cat{$listed{$_}}}, $_ foreach keys %deprecated_modules;
+ foreach my $cat (sort keys %per_cat) {
+ print "bad/old modules ($cat) : ", join(" ", sort @{$per_cat{$cat}}), "\n";
+ }
+ }
+
+ {
+ require '/usr/bin/merge2pcitable.pl';
+ my $pcitable = read_pcitable("/usr/share/ldetect-lst/pcitable");
+ my $usbtable = read_pcitable("/usr/share/ldetect-lst/usbtable");
+
+ my @l1 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$pcitable;
+ if (my @l = difference2(\@l1, [ keys %listed ])) {
+ my %not_listed;
+ push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
+ if (my $l = delete $not_listed{''}) {
+ print "bad/old pcitable modules : ", join(" ", @$l), "\n";
+ }
+ print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ #$error = 1;
+ }
+
+ my @l2 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$usbtable;
+ if (my @l = difference2(\@l2, [ keys %listed ])) {
+ my %not_listed;
+ push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
+ print STDERR "usbtable modules not listed $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ }
+ }
+
+ exit $error;
+}
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile
new file mode 100644
index 000000000..1936fa98e
--- /dev/null
+++ b/mdk-stage1/Makefile
@@ -0,0 +1,228 @@
+ #******************************************************************************
+ #
+ # mdk-stage1 - the program that will load second-stage install
+ #
+ # $Id: Makefile 148432 2007-03-23 10:28:14Z pixel $
+ #
+ # Pixel (pixel@mandrakesoft.com) (mostly done by Guillaume Cottenceau)
+ #
+ # Copyright 2000-2004 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+VERSION=1.7
+PRODUCT=drakx-installer-binaries
+
+ #
+ # Portions from Erik Troan (ewt@redhat.com) Copyright 1996 Red Hat Software
+ #
+ #*****************************************************************************
+ #
+ # Currently:
+ #
+ # ix86
+ # init with minilibc
+ # stage1 with dietlibc
+ #
+ # ppc
+ # init with dietlibc
+ # stage1 with glibc
+ #
+ # ia64
+ # init with glibc
+ # stage1 with glibc
+ #
+ # x86-64
+ # init with minilibc
+ # stage1 with dietlibc
+ #
+ #*****************************************************************************
+
+
+top_dir = .
+
+include $(top_dir)/Makefile.common
+include $(top_dir)/../Makefile.config
+ARCHDIR=$(ARCH)
+ifeq (i386, $(ARCH))
+ARCHDIR=i586
+endif
+
+DEFS = -DDISTRIB_NAME=\"$(DISTRIB_NAME)\" -DDISTRIB_VERSION=\"$(DISTRIB_VERSION)\" -DDISTRIB_DESCR=\"$(DISTRIB_DESCR)\" $(ADDITIONAL_DEFS) -D_FILE_OFFSET_BITS=64 -DARCH=\"$(ARCHDIR)\" -DCONFIG_USE_ZLIB
+
+COMPILE = $(CC) $(DEFS) $(CFLAGS)
+
+ifeq (DIETLIBC, $(L))
+INIT_HEADERS=minilibc.h
+else
+INIT_HEADERS=init-libc-headers.h
+endif
+
+INIT_DEFS = -DINIT_HEADERS=\"$(INIT_HEADERS)\"
+
+ifeq (DIETLIBC, $(L))
+INITSRC = minilibc.c init.c
+INIT_DEFS += -fno-builtin
+else
+INITSRC = init.c
+INIT_DEFS += $(GLIBC_INCLUDES)
+endif
+
+INITOBJS = $(subst .c,.o,$(INITSRC))
+
+
+ #- frontends
+NEWT_FRONTEND_SRC = newt-frontend.c
+NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a
+
+STDIO_FRONTEND_SRC = stdio-frontend.c
+STDIO_FRONTEND_LIBS =
+STDIO_FRONTEND_LIBS =
+
+
+FRONTEND_OBJS = $(subst .c,.o,$($(F)_FRONTEND_SRC))
+
+FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS)
+
+STAGE1_OWN_LIBS =
+ifeq (DIETLIBC, $(L))
+STAGE1_OWN_LIBS = /usr/$(LIB)/libz-diet.a
+else
+STAGE1_OWN_LIBS = /usr/$(LIB)/libz.a
+endif
+
+
+ifeq (DIETLIBC, $(L))
+STAGE1_NETWORK_LIBS = /usr/lib/dietlibc/lib-$(ARCH)/librpc.a
+else
+STAGE1_NETWORK_LIBS = /usr/$(LIB)/libresolv.a
+endif
+
+ #- stage1 itself
+STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c lomount.c thirdparty.c zlibsupport.c
+CDROMSRC = cdrom.c
+DISKSRC = disk.c directory.c partition.c
+NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c directory.c wireless.c
+KASRC = ka.c
+
+# use sort to remove duplicates
+STAGE1_ALLSRC = $(sort $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC) $(KASRC))
+ALLSRC = $(INITSRC) $(STAGE1_ALLSRC)
+
+
+
+CDROM_DEFS = -DSPAWN_SHELL -DDISABLE_DISK -DDISABLE_NETWORK
+
+
+STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC))
+
+NETWORK_DEFS = -DSPAWN_SHELL -DDISABLE_CDROM -DDISABLE_DISK -DDISABLE_KA
+
+
+STAGE1OBJS-NETWORK-STANDALONE = $(subst .c,-NETWORK-STANDALONE.o,$(STAGE1SRC) $(NETWORKSRC))
+
+NETWORK_STANDALONE_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -DENABLE_NETWORK_STANDALONE -DDISABLE_KA
+
+
+STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1_ALLSRC))
+
+BINS = init stage1 dhcp-client rescue-gui
+
+DIRS += pci-resource pcmcia-resource usb-resource slang newt ppp/pppd rp-pppoe/src
+ifeq (i386, $(ARCH))
+DIRS += pcmcia sysfs
+endif
+ifeq (x86_64, $(ARCH))
+DIRS += pcmcia sysfs
+endif
+
+
+ifeq (i386,$(ARCH))
+PCMCIA_LIB = pcmcia/libpcmcia.a sysfs/libsysfs.a
+PCMCIA_DEFS = -DENABLE_PCMCIA
+endif
+ifeq (x86_64,$(ARCH))
+PCMCIA_LIB = pcmcia/libpcmcia.a sysfs/libsysfs.a
+PCMCIA_DEFS = -DENABLE_PCMCIA
+endif
+
+
+USB_DEFS_GEN = -DENABLE_USB
+USB_DEFS = -DENABLE_USB -DDISABLE_PCIADAPTERS
+
+all: dirs $(BINS)
+
+dirs:
+ @for n in . $(DIRS); do \
+ [ "$$n" = "." ] || make -C $$n || exit 1 ;\
+ done
+
+init: $(INITOBJS)
+ $(DIET) $(CC) $(LDFLAGS) -o $@ $^
+ $(STRIPCMD) $@
+
+stage1: $(STAGE1OBJS-FULL) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) bootsplash.o $(PCMCIA_LIB) $(STAGE1_LIBC)
+ $(DIET) $(CC) $(LDFLAGS) -o $@ $^
+ $(STRIPCMD) $@
+
+dhcp-client: $(STAGE1OBJS-NETWORK-STANDALONE) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
+ $(DIET) $(CC) $(LDFLAGS) -o $@ $^
+ $(STRIPCMD) $@
+
+
+$(INITOBJS): %.o: %.c
+ $(COMPILE) $(INIT_DEFS) -c $<
+
+$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c
+ $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) $(USB_DEFS_GEN) -DENABLE_ADDITIONAL_MODULES -c $< -o $@
+
+$(STAGE1OBJS-NETWORK-STANDALONE): %-NETWORK-STANDALONE.o: %.c
+ $(DIET) $(COMPILE) $(INCLUDES) $(NETWORK_STANDALONE_DEFS) $(USB_DEFS_GEN) -c $< -o $@
+
+$(STAGE1OBJS-FULL): %-FULL.o: %.c
+ $(DIET) $(COMPILE) $(INCLUDES) -DSPAWN_SHELL $(USB_DEFS_GEN) $(PCMCIA_DEFS) -DENABLE_BOOTSPLASH -c $< -o $@
+
+.c.o:
+ $(DIET) $(COMPILE) $(INCLUDES) -DENABLE_BOOTSPLASH -c $<
+
+
+clean: localclean
+ @for n in $(DIRS); do \
+ (cd $$n; make clean) \
+ done
+
+localclean:
+ rm -f *.o .depend *.rdz *.img $(BINS)
+
+
+rescue-gui: rescue-gui.o frontend-common.o $(FRONTEND_LINK) $(STAGE1_LIBC)
+ $(DIET) $(CC) $(LDFLAGS) -o $@ $^
+ $(STRIPCMD) $@
+
+
+tar:
+ rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ mkdir -p $(PRODUCT)-$(VERSION)
+ svn export -q . $(PRODUCT)-$(VERSION)/mdk-stage1
+ svn export -q ../kernel $(PRODUCT)-$(VERSION)/kernel
+ cp ../Makefile.config $(PRODUCT)-$(VERSION)/
+ tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION)
+ rm -rf $(PRODUCT)-$(VERSION)
+
+.depend:
+ $(CPP) $(CFLAGS) -M $(ALLSRC) > .depend
+
+ifeq (.depend,$(wildcard .depend))
+include .depend
+endif
+
+
+*-NETWORK.o: %-NETWORK.o: %.o
+
+*-FULL.o: %-FULL.o: %.o
+
diff --git a/mdk-stage1/Makefile.common b/mdk-stage1/Makefile.common
new file mode 100644
index 000000000..b668fab27
--- /dev/null
+++ b/mdk-stage1/Makefile.common
@@ -0,0 +1,52 @@
+ # -*- makefile -*-
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+ARCH := $(patsubst i%86,i386,$(shell uname -m))
+ARCH := $(patsubst sparc%,sparc,$(ARCH))
+
+ #- default frontend is newt (honoured by main Makefile whenever possible)
+F = NEWT
+# F = STDIO
+
+DIET = $(shell test -x /usr/bin/diet && echo diet)
+
+ifeq ($(DIET), diet)
+ #- default lib is dietlibc (honoured by main Makefile whenever possible)
+L = DIETLIBC
+else
+L = GLIBC
+endif
+
+#- flags used by all stuff
+CFLAGS = -Os -pipe -Wall -fomit-frame-pointer -fno-strict-aliasing
+
+ifneq (ppc, $(ARCH))
+ifneq (sparc, $(ARCH))
+CFLAGS += -Werror
+endif
+endif
+
+DIETLIBC_INCLUDES = -I/usr/lib/dietlibc/include -I.
+GLIBC_INCLUDES = -I.
+INCLUDES = $($(L)_INCLUDES)
+
+GLIBC_LDFLAGS = -static
+LDFLAGS = $($(L)_LDFLAGS)
+
+STAGE1_LIBC = $($(L)_LIBC)
+
+STRIPCMD = strip -R .note -R .comment
+
diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS
new file mode 100644
index 000000000..1c181f032
--- /dev/null
+++ b/mdk-stage1/NEWS
@@ -0,0 +1,10 @@
+1.7:
+- don't kill our init/klogd when running stage2
+ (bug introduced when switching to initramfs)
+
+1.6:
+- write DNS settings in temporary ifcfg file
+ (fixes resolv.conf post install)
+
+1.5:
+- fix infinite loop in wired interface mode
diff --git a/mdk-stage1/adsl.c b/mdk-stage1/adsl.c
new file mode 100644
index 000000000..595b3fae0
--- /dev/null
+++ b/mdk-stage1/adsl.c
@@ -0,0 +1,183 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <stdio.h>
+#include <resolv.h>
+#include <signal.h>
+
+#include "stage1.h"
+#include "log.h"
+#include "network.h"
+#include "modules.h"
+#include "tools.h"
+#include "frontend.h"
+#include "automatic.h"
+
+#include "adsl.h"
+
+
+static enum return_type adsl_connect(struct interface_info * intf, char * username, char * password, char * acname)
+{
+ char pppoe_call[500];
+ char * pppd_launch[] = { "/sbin/pppd", "pty", pppoe_call, "noipdefault", "noauth", "default-asyncmap", "defaultroute",
+ "hide-password", "nodetach", "usepeerdns", "local", "mtu", "1492", "mru", "1492", "noaccomp",
+ "noccp", "nobsdcomp", "nodeflate", "nopcomp", "novj", "novjccomp", "user", username,
+ "password", password, "lcp-echo-interval", "20", "lcp-echo-failure", "3", "lock", "persist", NULL };
+ int fd;
+ int retries = 10;
+ char * tty_adsl = "/dev/tty6";
+ enum return_type status = RETURN_ERROR;
+ pid_t ppp_pid;
+
+ snprintf(pppoe_call, sizeof(pppoe_call), "/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I %s -T 80 -U -m 1412", intf->device);
+
+ if (!streq(acname, "")) {
+ strcat(pppoe_call, "-C ");
+ strcat(pppoe_call, acname);
+ }
+
+ fd = open(tty_adsl, O_RDWR);
+ if (fd == -1) {
+ log_message("cannot open tty -- no pppd");
+ return RETURN_ERROR;
+ }
+ else if (access(pppd_launch[0], X_OK)) {
+ log_message("cannot open pppd - %s doesn't exist", pppd_launch[0]);
+ return RETURN_ERROR;
+ }
+
+ if (!(ppp_pid = fork())) {
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+
+ close(fd);
+ setsid();
+ if (ioctl(0, TIOCSCTTY, NULL))
+ log_perror("could not set new controlling tty");
+
+ printf("\t(exec of pppd)\n");
+ execv(pppd_launch[0], pppd_launch);
+ log_message("execve of %s failed: %s", pppd_launch[0], strerror(errno));
+ exit(-1);
+ }
+ close(fd);
+ while (retries > 0 && kill(ppp_pid, 0) == 0) {
+ FILE * f;
+ if ((f = fopen("/var/run/pppd.tdb", "rb"))) {
+ while (1) {
+ char buf[500];
+ char *p;
+ if (!fgets(buf, sizeof(buf), f))
+ break;
+ p = strstr(buf, "IPLOCAL=");
+ if (p) {
+ struct sockaddr_in addr;
+ if (inet_aton(p + 8, &addr.sin_addr))
+ intf->ip = addr.sin_addr;
+ status = RETURN_OK;
+ }
+ }
+ fclose(f);
+ if (status == RETURN_OK) {
+ log_message("PPP: connected!");
+ break;
+ }
+ }
+ retries--;
+ log_message("PPP: <sleep>");
+ sleep(2);
+ }
+
+ if (status != RETURN_OK) {
+ log_message("PPP: could not connect");
+ kill(ppp_pid, SIGTERM);
+ sleep(1);
+ kill(ppp_pid, SIGKILL);
+ sleep(1);
+ }
+ return status;
+}
+
+
+enum return_type perform_adsl(struct interface_info * intf)
+{
+ struct in_addr addr;
+ char * questions[] = { "Username", "Password", "AC Name", NULL };
+ char * questions_auto[] = { "adsluser", "adslpass", "adslacname", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+
+ inet_aton("10.0.0.10", &addr);
+ memcpy(&intf->ip, &addr, sizeof(addr));
+
+ inet_aton("255.255.255.0", &addr);
+ memcpy(&intf->netmask, &addr, sizeof(addr));
+
+ *((uint32_t *) &intf->broadcast) = (*((uint32_t *) &intf->ip) &
+ *((uint32_t *) &intf->netmask)) | ~(*((uint32_t *) &intf->netmask));
+
+ intf->is_ptp = 0;
+
+ if (configure_net_device(intf)) {
+ stg1_error_message("Could not configure..");
+ return RETURN_ERROR;
+ }
+
+ results = ask_from_entries_auto("Please enter the username and password for your ADSL account.\n"
+ "Leave blank the AC Name field if you don't know what it means.\n"
+ "(Warning! only PPPoE protocol is supported)",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results != RETURN_OK)
+ return results;
+
+ intf->boot_proto = BOOTPROTO_ADSL_PPPOE;
+
+ wait_message("Waiting for ADSL connection to show up...");
+ my_insmod("ppp_generic", ANY_DRIVER_TYPE, NULL, 1);
+ my_insmod("ppp_async", ANY_DRIVER_TYPE, NULL, 1);
+ results = adsl_connect(intf, answers[0], answers[1], answers[2]);
+ remove_wait_message();
+
+ if (results != RETURN_OK) {
+ wait_message("Retrying the ADSL connection...");
+ results = adsl_connect(intf, answers[0], answers[1], answers[2]);
+ remove_wait_message();
+ } else {
+ intf->user = strdup(answers[0]);
+ intf->pass = strdup(answers[1]);
+ intf->acname = strdup(answers[2]);
+ }
+
+ if (results != RETURN_OK) {
+ stg1_error_message("I could not connect to the ADSL network.");
+ return perform_adsl(intf);
+ }
+
+ sleep(1);
+ res_init(); /* reinit the resolver, pppd modified /etc/resolv.conf */
+
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/adsl.h b/mdk-stage1/adsl.h
new file mode 100644
index 000000000..fb0baf327
--- /dev/null
+++ b/mdk-stage1/adsl.h
@@ -0,0 +1,34 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2000 Free Software Foundation, Inc.
+ *
+ * Itself based on etherboot-4.6.4 by Martin Renters.
+ *
+ */
+
+#ifndef _ADSL_H_
+#define _ADSL_H_
+
+#include "stage1.h"
+#include "network.h"
+
+enum return_type perform_adsl(struct interface_info * intf);
+
+#endif
diff --git a/mdk-stage1/automatic.c b/mdk-stage1/automatic.c
new file mode 100644
index 000000000..3a816bab1
--- /dev/null
+++ b/mdk-stage1/automatic.c
@@ -0,0 +1,165 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * This is supposed to replace the redhat "kickstart", by name but
+ * also by design (less code pollution).
+ *
+ */
+
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include "tools.h"
+#include "stage1.h"
+#include "frontend.h"
+#include "log.h"
+
+#include "automatic.h"
+
+
+static struct param_elem * automatic_params;
+static char * value_not_bound = "";
+
+void grab_automatic_params(char * line)
+{
+ int i, p;
+ struct param_elem tmp_params[50];
+
+ i = 0; p = 0;
+ while (line[i] != '\0') {
+ char *name, *value;
+ int k;
+ int j = i;
+ while (line[i] != ':' && line[i] != '\0')
+ i++;
+ name = memdup(&line[j], i-j + 1);
+ name[i-j] = 0;
+
+ k = i+1;
+ i++;
+ while (line[i] != ',' && line[i] != '\0')
+ i++;
+ value = memdup(&line[k], i-k + 1);
+ value[i-k] = 0;
+
+ tmp_params[p].name = name;
+ tmp_params[p].value = value;
+ p++;
+ if (line[i] == '\0')
+ break;
+ i++;
+ }
+
+ tmp_params[p++].name = NULL;
+ automatic_params = memdup(tmp_params, sizeof(struct param_elem) * p);
+
+ log_message("AUTOMATIC MODE: got %d params", p-1);
+}
+
+
+char * get_auto_value(char * auto_param)
+{
+ struct param_elem * ptr = automatic_params;
+
+ struct param_elem short_aliases[] =
+ { { "method", "met" }, { "network", "netw" }, { "interface", "int" }, { "gateway", "gat" },
+ { "netmask", "netm" }, { "adsluser", "adslu" }, { "adslpass", "adslp" }, { "hostname", "hos" },
+ { "domain", "dom" }, { "server", "ser" }, { "directory", "dir" }, { "user", "use" },
+ { "pass", "pas" }, { "disk", "dis" }, { "partition", "par" }, { "proxy_host", "proxh" },
+ { "proxy_port", "proxp" }, { NULL, NULL } };
+ struct param_elem * ptr_alias = short_aliases;
+ while (ptr_alias->name) {
+ if (streq(auto_param, ptr_alias->name))
+ break;
+ ptr_alias++;
+ }
+
+ while (ptr->name) {
+ if (streq(ptr->name, auto_param)
+ || (ptr_alias->name && streq(ptr_alias->value, ptr->name)))
+ return ptr->value;
+ ptr++;
+ }
+
+ return value_not_bound;
+}
+
+
+enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, char * auto_param, char ** elems_auto)
+{
+ if (!IS_AUTOMATIC) {
+ exit_bootsplash();
+ return ask_from_list(msg, elems, choice);
+ } else {
+ char ** sav_elems = elems;
+ char * tmp = get_auto_value(auto_param);
+ while (elems && *elems) {
+ if (!strcmp(tmp, *elems_auto)) {
+ *choice = *elems;
+ log_message("AUTOMATIC: parameter %s for %s means returning %s", tmp, auto_param, *elems);
+ return RETURN_OK;
+ }
+ elems++;
+ elems_auto++;
+ }
+ unset_automatic(); /* we are in a fallback mode */
+ return ask_from_list(msg, sav_elems, choice);
+ }
+}
+
+enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto)
+{
+ if (!IS_AUTOMATIC) {
+ exit_bootsplash();
+ return ask_from_list_comments(msg, elems, elems_comments, choice);
+ } else {
+ char ** sav_elems = elems;
+ char * tmp = get_auto_value(auto_param);
+ while (elems && *elems) {
+ if (!strcmp(tmp, *elems_auto)) {
+ *choice = *elems;
+ log_message("AUTOMATIC: parameter %s for %s means returning %s", tmp, auto_param, *elems);
+ return RETURN_OK;
+ }
+ elems++;
+ elems_auto++;
+ }
+ unset_automatic(); /* we are in a fallback mode */
+ return ask_from_list_comments(msg, sav_elems, elems_comments, choice);
+ }
+}
+
+
+enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** answers, int entry_size, char ** questions_auto, void (*callback_func)(char ** strings))
+{
+ if (!IS_AUTOMATIC) {
+ exit_bootsplash();
+ return ask_from_entries(msg, questions, answers, entry_size, callback_func);
+ } else {
+ char * tmp_answers[50];
+ int i = 0;
+ while (questions && *questions) {
+ tmp_answers[i] = get_auto_value(*questions_auto);
+ log_message("AUTOMATIC: question %s answers %s because of param %s", *questions, tmp_answers[i], *questions_auto);
+ i++;
+ questions++;
+ questions_auto++;
+
+ }
+ *answers = memdup(tmp_answers, sizeof(char *) * i);
+ return RETURN_OK;
+ }
+}
diff --git a/mdk-stage1/automatic.h b/mdk-stage1/automatic.h
new file mode 100644
index 000000000..a5bfe212b
--- /dev/null
+++ b/mdk-stage1/automatic.h
@@ -0,0 +1,33 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * This is supposed to replace the redhat "kickstart", by name but
+ * also by design (no code pollution).
+ *
+ */
+
+#ifndef _AUTOMATIC_H_
+#define _AUTOMATIC_H_
+
+#include "stage1.h"
+
+void grab_automatic_params(char * line);
+char * get_auto_value(char * auto_param);
+
+enum return_type ask_from_list_auto(char *msg, char ** elems, char ** choice, char * auto_param, char ** elems_auto);
+enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto);
+enum return_type ask_from_entries_auto(char *msg, char ** questions, char *** answers, int entry_size, char ** questions_auto, void (*callback_func)(char ** strings));
+
+#endif
diff --git a/mdk-stage1/bootsplash.c b/mdk-stage1/bootsplash.c
new file mode 100644
index 000000000..d51deb543
--- /dev/null
+++ b/mdk-stage1/bootsplash.c
@@ -0,0 +1,70 @@
+/*
+ * Pixel (pixel@mandrakesoft.com)
+ *
+ * Copyright 2004 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdio.h>
+#include "bootsplash.h"
+#include "frontend.h"
+#include "log.h"
+
+static int total_size;
+static float previous;
+static FILE* splash = NULL;
+
+static void update_progression_only(int current_size)
+{
+ if (splash && total_size) {
+ float ratio = (float) (current_size + 1) / total_size;
+ if (ratio > previous + 0.01) {
+ fprintf(splash, "show %d\n", (int) (ratio * 65534));
+ fflush(splash);
+ previous = ratio;
+ }
+ }
+}
+
+static void open_bootsplash(void)
+{
+ if (!splash) splash = fopen("/proc/splash", "w");
+ if (!splash) log_message("opening /proc/splash failed");
+}
+
+void exit_bootsplash(void)
+{
+ log_message("exiting bootsplash");
+ open_bootsplash();
+ if (splash) {
+ fprintf(splash, "verbose\n");
+ fflush(splash);
+ }
+}
+
+
+void init_progression(char *msg, int size)
+{
+ previous = 0; total_size = size;
+ open_bootsplash();
+ update_progression_only(0);
+ init_progression_raw(msg, size);
+}
+
+void update_progression(int current_size)
+{
+ update_progression_only(current_size);
+ update_progression_raw(current_size);
+}
+
+void end_progression(void)
+{
+ end_progression_raw();
+}
diff --git a/mdk-stage1/bootsplash.h b/mdk-stage1/bootsplash.h
new file mode 100644
index 000000000..7d1c8403c
--- /dev/null
+++ b/mdk-stage1/bootsplash.h
@@ -0,0 +1,25 @@
+/*
+ * Pixel (pixel@mandrakesoft.com)
+ *
+ * Copyright 2004 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _BOOTSPLASH_H_
+#define _BOOTSPLASH_H_
+
+#ifdef ENABLE_BOOTSPLASH
+void exit_bootsplash(void);
+void tell_bootsplash(char *cmd);
+#else
+#define exit_bootsplash()
+#endif
+
+#endif
diff --git a/mdk-stage1/cdrom.c b/mdk-stage1/cdrom.c
new file mode 100644
index 000000000..199b1d830
--- /dev/null
+++ b/mdk-stage1/cdrom.c
@@ -0,0 +1,215 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/mount.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "modules.h"
+#include "probing.h"
+#include "log.h"
+#include "mount.h"
+
+#include "cdrom.h"
+
+
+static int mount_that_cd_device(char * dev_name)
+{
+ char device_fullname[50];
+ int mount_result;
+
+ snprintf(device_fullname, sizeof(device_fullname), "/dev/%s", dev_name);
+
+ mount_result = my_mount(device_fullname, MEDIA_LOCATION, "iso9660", 0);
+ symlink(MEDIA_LOCATION_REL "/" ARCH, IMAGE_LOCATION);
+ return mount_result;
+}
+
+
+static enum return_type try_with_device(char * dev_name, char * dev_model);
+
+static enum return_type do_with_device(char * dev_name, char * dev_model)
+{
+ if (!image_has_stage2()) {
+ enum return_type results;
+ umount(MEDIA_LOCATION);
+ results = ask_yes_no("That CDROM disc does not seem to be a " DISTRIB_NAME " Installation CDROM.\nRetry with another disc?");
+ if (results == RETURN_OK)
+ return try_with_device(dev_name, dev_model);
+ return results;
+ }
+
+ log_message("found a " DISTRIB_NAME " CDROM, good news!");
+
+ may_load_compressed_image();
+
+ if (!KEEP_MOUNTED)
+ /* in rescue mode, we don't need the media anymore */
+ umount(MEDIA_LOCATION);
+
+ add_to_env("METHOD", "cdrom");
+ return RETURN_OK;
+}
+
+static enum return_type try_with_device(char * dev_name, char * dev_model)
+{
+ wait_message("Trying to access a CDROM disc (drive %s)", dev_model);
+
+ if (mount_that_cd_device(dev_name) == -1) {
+ enum return_type results;
+ char msg[500];
+ unset_automatic(); /* we are in a fallback mode */
+ remove_wait_message();
+
+ snprintf(msg, sizeof(msg), "I can't access a " DISTRIB_NAME " Installation disc in your CDROM drive (%s).\nRetry?", dev_model);
+ results = ask_yes_no(msg);
+ if (results == RETURN_OK)
+ return try_with_device(dev_name, dev_model);
+ return results;
+ }
+ remove_wait_message();
+
+ return do_with_device(dev_name, dev_model);
+}
+
+int try_automatic(char ** medias, char ** medias_models)
+{
+ static char * already_tried[50] = { NULL };
+ char ** model = medias_models;
+ char ** ptr = medias;
+ int i = 0;
+ while (ptr && *ptr) {
+ char ** p;
+ for (p = already_tried; p && *p; p++)
+ if (streq(*p, *ptr))
+ goto try_automatic_already_tried;
+ *p = strdup(*ptr);
+ *(p+1) = NULL;
+
+ wait_message("Trying to access " DISTRIB_NAME " CDROM disc (drive %s)", *model);
+ if (mount_that_cd_device(*ptr) != -1) {
+ if (image_has_stage2()) {
+ remove_wait_message();
+ return i;
+ }
+ else
+ umount(MEDIA_LOCATION);
+ }
+ remove_wait_message();
+
+ try_automatic_already_tried:
+ ptr++;
+ model++;
+ i++;
+ }
+ return -1;
+}
+
+enum return_type cdrom_prepare(void)
+{
+ char ** medias, ** ptr, ** medias_models;
+ char * choice;
+ int i, count = 0;
+ enum return_type results;
+ static int already_probed_ide_generic = 0;
+
+ my_insmod("ide-cd", ANY_DRIVER_TYPE, NULL, 0);
+
+ if (IS_AUTOMATIC) {
+ get_medias(CDROM, &medias, &medias_models, BUS_IDE);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ get_medias(CDROM, &medias, &medias_models, BUS_PCMCIA);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL, 0);
+ get_medias(CDROM, &medias, &medias_models, BUS_SCSI);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ get_medias(CDROM, &medias, &medias_models, BUS_USB);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ unset_automatic();
+ } else
+ my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL, 0);
+
+
+ get_medias(CDROM, &medias, &medias_models, BUS_ANY);
+ ptr = medias;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
+ }
+
+ if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_insmod("ide-generic", ANY_DRIVER_TYPE, NULL, 0);
+ return cdrom_prepare();
+ }
+ stg1_error_message("No CDROM device found.");
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return cdrom_prepare();
+ }
+
+ if (count == 1) {
+ results = try_with_device(*medias, *medias_models);
+ if (results == RETURN_OK)
+ return RETURN_OK;
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return cdrom_prepare();
+ }
+
+ results = ask_from_list_comments("Please choose the CDROM drive to use for the installation.", medias, medias_models, &choice);
+ if (results == RETURN_OK) {
+ char ** model = medias_models;
+ ptr = medias;
+ while (ptr && *ptr && model && *model) {
+ if (!strcmp(*ptr, choice))
+ break;
+ ptr++;
+ model++;
+ }
+ results = try_with_device(choice, *model);
+ } else
+ return results;
+
+ if (results == RETURN_OK)
+ return RETURN_OK;
+ if (results == RETURN_BACK)
+ return cdrom_prepare();
+
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return cdrom_prepare();
+}
diff --git a/mdk-stage1/cdrom.h b/mdk-stage1/cdrom.h
new file mode 100644
index 000000000..c9ebc78aa
--- /dev/null
+++ b/mdk-stage1/cdrom.h
@@ -0,0 +1,29 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _CDROM_H_
+#define _CDROM_H_
+
+#include "stage1.h"
+
+enum return_type cdrom_prepare(void);
+
+#endif
diff --git a/mdk-stage1/config-stage1.h b/mdk-stage1/config-stage1.h
new file mode 100644
index 000000000..616783abc
--- /dev/null
+++ b/mdk-stage1/config-stage1.h
@@ -0,0 +1,82 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _CONFIG_STAGE1_H_
+#define _CONFIG_STAGE1_H_
+
+#ifdef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+#define _GNU_SOURCE 1
+
+
+/* If we have more than that amount of memory (in Mbytes), we assume we can load the second stage as a ramdisk */
+#define MEM_LIMIT_DRAKX 68
+/* If we have more than that amount of memory (in Mbytes), we preload the second stage as a ramdisk */
+#define MEM_LIMIT_DRAKX_PRELOAD 100
+
+/* If we have more than that amount of memory (in Mbytes), we assume we can load the rescue as a ramdisk */
+#define MEM_LIMIT_RESCUE 40
+/* If we have more than that amount of memory (in Mbytes), we preload the rescue as a ramdisk */
+#define MEM_LIMIT_RESCUE_PRELOAD 100
+
+#define KA_MAX_RETRY 5
+
+#define LIVE_LOCATION_REL "install/stage2/live/"
+#define COMPRESSED_LOCATION_REL "install/stage2/"
+#define COMPRESSED_STAGE2_NAME "mdkinst.sqfs"
+#define COMPRESSED_RESCUE_NAME "rescue.sqfs"
+#define COMPRESSED_NAME(prefix) (IS_RESCUE ? prefix COMPRESSED_RESCUE_NAME : prefix COMPRESSED_STAGE2_NAME)
+#define COMPRESSED_FILE_REL(prefix) COMPRESSED_NAME(prefix COMPRESSED_LOCATION_REL)
+
+/* the remote media is mounted in MEDIA_LOCATION, and
+ - IMAGE_LOCATION is a symlink image -> image/mdk/mirror/dir
+ - IMAGE_LOCATION is a symlink image -> loop/i586 and iso file is loopback mounted in LOOP_LOCATION
+ */
+#define MEDIA_LOCATION_REL "media"
+#define MEDIA_LOCATION IMAGE_LOCATION_DIR MEDIA_LOCATION_REL
+
+#define LOOP_LOCATION_REL "loop"
+#define LOOP_LOCATION IMAGE_LOCATION_DIR LOOP_LOCATION_REL
+
+#define IMAGE_LOCATION_REL "image"
+#define IMAGE_LOCATION_DIR "/tmp/"
+#define IMAGE_LOCATION IMAGE_LOCATION_DIR IMAGE_LOCATION_REL
+
+#define COMPRESSED_LOCATION IMAGE_LOCATION "/" COMPRESSED_LOCATION_REL
+
+/* - if we use a compressed image : STAGE2_LOCATION is a the mount point
+ - if we use the live: STAGE2_LOCATION is a relative symlink to image/install/stage2/live
+*/
+#define STAGE2_LOCATION "/tmp/stage2"
+
+
+/* user-definable (in Makefile): DISABLE_NETWORK, DISABLE_DISK, DISABLE_CDROM, DISABLE_PCMCIA */
+
+
+/* some factorizing for disabling more features */
+
+#ifdef DISABLE_DISK
+#ifdef DISABLE_CDROM
+#define DISABLE_MEDIAS
+#endif
+#endif
+
+/* path to mirror list for net install */
+#ifndef DISABLE_NETWORK
+#define MIRRORLIST_HOST "www.mandrivalinux.com"
+#define MIRRORLIST_PATH "/mirrorsfull.list"
+#endif
+
+#endif
diff --git a/mdk-stage1/dhcp.c b/mdk-stage1/dhcp.c
new file mode 100644
index 000000000..f5de6543e
--- /dev/null
+++ b/mdk-stage1/dhcp.c
@@ -0,0 +1,676 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+/*
+ * Portions from GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2000 Free Software Foundation, Inc.
+ */
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <arpa/inet.h>
+#include <net/route.h>
+#include <errno.h>
+#include <net/ethernet.h>
+#include <netinet/ip.h>
+#include <netinet/udp.h>
+#include <sys/time.h>
+#include <time.h>
+#include <fcntl.h>
+#include <sys/poll.h>
+
+#include "stage1.h"
+#include "log.h"
+#include "network.h"
+#include "frontend.h"
+#include "automatic.h"
+
+#include "dhcp.h"
+
+
+typedef int bp_int32;
+typedef short bp_int16;
+
+#define BOOTP_OPTION_NETMASK 1
+#define BOOTP_OPTION_GATEWAY 3
+#define BOOTP_OPTION_DNS 6
+#define BOOTP_OPTION_HOSTNAME 12
+#define BOOTP_OPTION_DOMAIN 15
+#define BOOTP_OPTION_BROADCAST 28
+
+#define DHCP_OPTION_REQADDR 50
+#define DHCP_OPTION_LEASE 51
+#define DHCP_OPTION_TYPE 53
+#define DHCP_OPTION_SERVER 54
+#define DHCP_OPTION_OPTIONREQ 55
+#define DHCP_OPTION_MAXSIZE 57
+
+#define DHCP_OPTION_CLIENT_IDENTIFIER 61
+
+#define BOOTP_CLIENT_PORT 68
+#define BOOTP_SERVER_PORT 67
+
+#define BOOTP_OPCODE_REQUEST 1
+#define BOOTP_OPCODE_REPLY 2
+
+#define DHCP_TYPE_DISCOVER 1
+#define DHCP_TYPE_OFFER 2
+#define DHCP_TYPE_REQUEST 3
+#define DHCP_TYPE_ACK 5
+#define DHCP_TYPE_RELEASE 7
+
+#define BOOTP_VENDOR_LENGTH 64
+#define DHCP_VENDOR_LENGTH 340
+
+struct bootp_request {
+ char opcode;
+ char hw;
+ char hwlength;
+ char hopcount;
+ bp_int32 id;
+ bp_int16 secs;
+ bp_int16 flags;
+ bp_int32 ciaddr, yiaddr, server_ip, bootp_gw_ip;
+ char hwaddr[16];
+ char servername[64];
+ char bootfile[128];
+ char vendor[DHCP_VENDOR_LENGTH];
+} ;
+
+static const char vendor_cookie[] = { 99, 130, 83, 99, 255 };
+
+
+static unsigned int verify_checksum(void * buf2, int length2)
+{
+ unsigned int csum = 0;
+ unsigned short * sp;
+
+ for (sp = (unsigned short *) buf2; length2 > 0; (length2 -= 2), sp++)
+ csum += *sp;
+
+ while (csum >> 16)
+ csum = (csum & 0xffff) + (csum >> 16);
+
+ return (csum == 0xffff);
+}
+
+
+static int initial_setup_interface(char * device, int s) {
+ struct sockaddr_in * addrp;
+ struct ifreq req;
+ struct rtentry route;
+ int true = 1;
+
+ addrp = (struct sockaddr_in *) &req.ifr_addr;
+
+ strcpy(req.ifr_name, device);
+ addrp->sin_family = AF_INET;
+ addrp->sin_port = 0;
+ memset(&addrp->sin_addr, 0, sizeof(addrp->sin_addr));
+
+ req.ifr_flags = 0; /* take it down */
+ if (ioctl(s, SIOCSIFFLAGS, &req)) {
+ log_perror("SIOCSIFFLAGS (downing)");
+ return -1;
+ }
+
+ addrp->sin_family = AF_INET;
+ addrp->sin_addr.s_addr = htonl(0);
+ if (ioctl(s, SIOCSIFADDR, &req)) {
+ log_perror("SIOCSIFADDR");
+ return -1;
+ }
+
+ req.ifr_flags = IFF_UP | IFF_BROADCAST | IFF_RUNNING;
+ if (ioctl(s, SIOCSIFFLAGS, &req)) {
+ log_perror("SIOCSIFFLAGS (upping)");
+ return -1;
+ }
+
+ memset(&route, 0, sizeof(route));
+ memcpy(&route.rt_gateway, addrp, sizeof(*addrp));
+
+ addrp->sin_family = AF_INET;
+ addrp->sin_port = 0;
+ addrp->sin_addr.s_addr = INADDR_ANY;
+ memcpy(&route.rt_dst, addrp, sizeof(*addrp));
+ memcpy(&route.rt_genmask, addrp, sizeof(*addrp));
+
+ route.rt_dev = device;
+ route.rt_flags = RTF_UP;
+ route.rt_metric = 0;
+
+ if (ioctl(s, SIOCADDRT, &route)) {
+ if (errno != EEXIST) {
+ close(s);
+ log_perror("SIOCADDRT");
+ return -1;
+ }
+ }
+
+ if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &true, sizeof(true))) {
+ close(s);
+ log_perror("setsockopt");
+ return -1;
+ }
+
+ /* I need to sleep a bit in order for kernel to finish init of the
+ network device; this would allow to not send further multiple
+ dhcp requests when only one is needed. */
+ wait_message("Bringing up networking...");
+ sleep(2);
+ remove_wait_message();
+
+ return 0;
+}
+
+
+void set_missing_ip_info(struct interface_info * intf)
+{
+ bp_int32 ipNum = *((bp_int32 *) &intf->ip);
+ bp_int32 nmNum;
+
+ if (intf->netmask.s_addr == 0)
+ inet_aton(guess_netmask(inet_ntoa(intf->ip)), &intf->netmask);
+
+ nmNum = *((bp_int32 *) &intf->netmask);
+
+ if (intf->broadcast.s_addr == 0)
+ *((bp_int32 *) &intf->broadcast) = (ipNum & nmNum) | ~(nmNum);
+
+ if (intf->network.s_addr == 0)
+ *((bp_int32 *) &intf->network) = ipNum & nmNum;
+}
+
+static void parse_reply(struct bootp_request * breq, struct interface_info * intf)
+{
+ unsigned char * chptr;
+ unsigned char option, length;
+
+ if (breq->bootfile && strlen(breq->bootfile) > 0) {
+ if (IS_NETAUTO)
+ add_to_env("KICKSTART", breq->bootfile);
+ else
+ log_message("warning: ignoring `bootfile' DHCP server parameter, since `netauto' boot parameter was not given; reboot with `linux netauto' (and anymore useful boot parameters) if you want `bootfile' to be used as a `auto_inst.cfg.pl' stage2 configuration file");
+ }
+
+ memcpy(&intf->ip, &breq->yiaddr, 4);
+
+ chptr = (unsigned char *) breq->vendor;
+ chptr += 4;
+ while (*chptr != 0xFF && (void *) chptr < (void *) breq->vendor + DHCP_VENDOR_LENGTH) {
+ char tmp_str[500];
+ option = *chptr++;
+ if (!option)
+ continue;
+ length = *chptr++;
+
+ switch (option) {
+ case BOOTP_OPTION_DNS:
+ memcpy(&dns_server, chptr, sizeof(dns_server));
+ log_message("got dns %s", inet_ntoa(dns_server));
+ if (length >= sizeof(dns_server)*2) {
+ memcpy(&dns_server2, chptr+sizeof(dns_server), sizeof(dns_server2));
+ log_message("got dns2 %s", inet_ntoa(dns_server2));
+ }
+ break;
+
+ case BOOTP_OPTION_NETMASK:
+ memcpy(&intf->netmask, chptr, sizeof(intf->netmask));
+ log_message("got netmask %s", inet_ntoa(intf->netmask));
+ break;
+
+ case BOOTP_OPTION_DOMAIN:
+ memcpy(tmp_str, chptr, length);
+ tmp_str[length] = '\0';
+ domain = strdup(tmp_str);
+ log_message("got domain %s", domain);
+ break;
+
+ case BOOTP_OPTION_BROADCAST:
+ memcpy(&intf->broadcast, chptr, sizeof(intf->broadcast));
+ log_message("got broadcast %s", inet_ntoa(intf->broadcast));
+ break;
+
+ case BOOTP_OPTION_GATEWAY:
+ memcpy(&gateway, chptr, sizeof(gateway));
+ log_message("got gateway %s", inet_ntoa(gateway));
+ break;
+
+ }
+
+ chptr += length;
+ }
+
+ set_missing_ip_info(intf);
+}
+
+
+static void init_vendor_codes(struct bootp_request * breq) {
+ memcpy(breq->vendor, vendor_cookie, sizeof(vendor_cookie));
+}
+
+static char gen_hwaddr[16];
+
+static int prepare_request(struct bootp_request * breq, int sock, char * device)
+{
+ struct ifreq req;
+
+ memset(breq, 0, sizeof(*breq));
+
+ breq->opcode = BOOTP_OPCODE_REQUEST;
+
+ strcpy(req.ifr_name, device);
+ if (ioctl(sock, SIOCGIFHWADDR, &req)) {
+ log_perror("SIOCSIFHWADDR");
+ return -1;
+ }
+
+ breq->hw = req.ifr_hwaddr.sa_family;
+ breq->hwlength = IFHWADDRLEN;
+ memcpy(breq->hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
+ memcpy(gen_hwaddr, req.ifr_hwaddr.sa_data, IFHWADDRLEN);
+
+ breq->hopcount = 0;
+
+ init_vendor_codes(breq);
+
+ return 0;
+}
+
+static int get_vendor_code(struct bootp_request * bresp, unsigned char option, void * data)
+{
+ unsigned char * chptr;
+ unsigned int length, theOption;
+
+ chptr = (unsigned char*) bresp->vendor + 4;
+ while (*chptr != 0xFF && *chptr != option) {
+ theOption = *chptr++;
+ if (!theOption)
+ continue;
+ length = *chptr++;
+ chptr += length;
+ }
+
+ if (*chptr++ == 0xff)
+ return 1;
+
+ length = *chptr++;
+ memcpy(data, chptr, length);
+
+ return 0;
+}
+
+
+static unsigned long currticks(void)
+{
+ struct timeval tv;
+ unsigned long csecs;
+ unsigned long ticks_per_csec, ticks_per_usec;
+
+ /* Note: 18.2 ticks/sec. */
+
+ gettimeofday (&tv, 0);
+ csecs = tv.tv_sec / 10;
+ ticks_per_csec = csecs * 182;
+ ticks_per_usec = (((tv.tv_sec - csecs * 10) * 1000000 + tv.tv_usec) * 182 / 10000000);
+ return ticks_per_csec + ticks_per_usec;
+}
+
+
+#define BACKOFF_LIMIT 7
+#define TICKS_PER_SEC 18
+#define MAX_ARP_RETRIES 7
+
+static void rfc951_sleep(int exp)
+{
+ static long seed = 0;
+ long q;
+ unsigned long tmo;
+
+ if (exp > BACKOFF_LIMIT)
+ exp = BACKOFF_LIMIT;
+
+ if (!seed)
+ /* Initialize linear congruential generator. */
+ seed = (currticks () + *(long *) &gen_hwaddr + ((short *) gen_hwaddr)[2]);
+
+ /* Simplified version of the LCG given in Bruce Scheier's
+ "Applied Cryptography". */
+ q = seed / 53668;
+ if ((seed = 40014 * (seed - 53668 * q) - 12211 * q) < 0)
+ seed += 2147483563l;
+
+ /* Compute mask. */
+ for (tmo = 63; tmo <= 60 * TICKS_PER_SEC && --exp > 0; tmo = 2 * tmo + 1)
+ ;
+
+ /* Sleep. */
+ log_message("<sleep>");
+
+ for (tmo = (tmo & seed) + currticks (); currticks () < tmo;);
+}
+
+
+static int handle_transaction(int s, struct bootp_request * breq, struct bootp_request * bresp,
+ struct sockaddr_in * server_addr, int dhcp_type)
+{
+ struct pollfd polls;
+ int i, j;
+ int retry = 1;
+ int sin;
+ char eth_packet[ETH_FRAME_LEN];
+ struct iphdr * ip_hdr;
+ struct udphdr * udp_hdr;
+ unsigned char type;
+ unsigned long starttime;
+ int timeout = 1;
+
+ breq->id = starttime = currticks();
+ breq->secs = 0;
+
+ sin = socket(AF_PACKET, SOCK_DGRAM, ntohs(ETH_P_IP));
+ if (sin < 0) {
+ log_perror("af_packet socket");
+ return -1;
+ }
+
+ while (retry <= MAX_ARP_RETRIES) {
+ i = sizeof(*breq);
+
+ if (sendto(s, breq, i, 0, (struct sockaddr *) server_addr, sizeof(*server_addr)) != i) {
+ close(s);
+ log_perror("sendto");
+ return -1;
+ }
+
+ polls.fd = sin;
+ polls.events = POLLIN;
+
+ while (poll(&polls, 1, timeout*1000) == 1) {
+
+ if ((j = recv(sin, eth_packet, sizeof(eth_packet), 0)) == -1) {
+ log_perror("recv");
+ continue;
+ }
+
+ /* We need to do some basic sanity checking of the header */
+ if (j < (signed)(sizeof(*ip_hdr) + sizeof(*udp_hdr)))
+ continue;
+
+ ip_hdr = (void *) eth_packet;
+ if (!verify_checksum(ip_hdr, sizeof(*ip_hdr)))
+ continue;
+
+ if (ntohs(ip_hdr->tot_len) > j)
+ continue;
+
+ j = ntohs(ip_hdr->tot_len);
+
+ if (ip_hdr->protocol != IPPROTO_UDP)
+ continue;
+
+ udp_hdr = (void *) (eth_packet + sizeof(*ip_hdr));
+
+ if (ntohs(udp_hdr->source) != BOOTP_SERVER_PORT)
+ continue;
+
+ if (ntohs(udp_hdr->dest) != BOOTP_CLIENT_PORT)
+ continue;
+ /* Go on with this packet; it looks sane */
+
+ /* Originally copied sizeof (*bresp) - this is a security
+ problem due to a potential underflow of the source
+ buffer. Also, it trusted that the packet was properly
+ 0xFF terminated, which is not true in the case of the
+ DHCP server on Cisco 800 series ISDN router. */
+
+ memset (bresp, 0xFF, sizeof (*bresp));
+ memcpy (bresp, (char *) udp_hdr + sizeof (*udp_hdr), j - sizeof (*ip_hdr) - sizeof (*udp_hdr));
+
+ /* sanity checks */
+ if (bresp->id != breq->id)
+ continue;
+ if (bresp->opcode != BOOTP_OPCODE_REPLY)
+ continue;
+ if (bresp->hwlength != breq->hwlength)
+ continue;
+ if (memcmp(bresp->hwaddr, breq->hwaddr, bresp->hwlength))
+ continue;
+ if (get_vendor_code(bresp, DHCP_OPTION_TYPE, &type) || type != dhcp_type)
+ continue;
+ if (memcmp(bresp->vendor, vendor_cookie, 4))
+ continue;
+ return 0;
+ }
+ rfc951_sleep(retry);
+ breq->secs = htons ((currticks () - starttime) / 20);
+ retry++;
+ timeout *= 2;
+ if (timeout > 5)
+ timeout = 5;
+ }
+
+ return -1;
+}
+
+static void add_vendor_code(struct bootp_request * breq, unsigned char option, unsigned char length, void * data)
+{
+ unsigned char * chptr;
+ int theOption, theLength;
+
+ chptr = (unsigned char*) breq->vendor;
+ chptr += 4;
+ while (*chptr != 0xFF && *chptr != option) {
+ theOption = *chptr++;
+ if (!theOption) continue;
+ theLength = *chptr++;
+ chptr += theLength;
+ }
+
+ *chptr++ = option;
+ *chptr++ = length;
+ memcpy(chptr, data, length);
+ chptr[length] = 0xff;
+}
+
+
+char * dhcp_hostname = NULL;
+char * dhcp_domain = NULL;
+
+enum return_type perform_dhcp(struct interface_info * intf)
+{
+ int s, i;
+ struct sockaddr_in server_addr;
+ struct sockaddr_in client_addr;
+ struct sockaddr_in broadcast_addr;
+ struct bootp_request breq, bresp;
+ unsigned char messageType;
+ unsigned int lease;
+ short aShort;
+ int num_options;
+ char requested_options[50];
+ char * client_id_str, * client_id_hwaddr;
+
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ log_perror("socket");
+ return RETURN_ERROR;
+ }
+
+ {
+ enum return_type results;
+ char * questions[] = { "Host name", "Domain name", NULL };
+ char * questions_auto[] = { "hostname", "domain" };
+ static char ** answers = NULL;
+ char * boulet;
+
+ client_id_str = client_id_hwaddr = NULL;
+
+ results = ask_from_entries_auto("If the DHCP server needs to know you by name; please fill in this information. "
+ "Valid answers are for example: `mybox' for hostname and `mynetwork.com' for "
+ "domain name, for a machine called `mybox.mynetwork.com' on the Internet.",
+ questions, &answers, 32, questions_auto, NULL);
+ if (results == RETURN_OK)
+ {
+ dhcp_hostname = answers[0];
+ if ((boulet = strchr(dhcp_hostname, '.')) != NULL)
+ boulet[0] = '\0';
+ dhcp_domain = answers[1];
+
+ if (*dhcp_hostname && *dhcp_domain) {
+ /* if we have both, then create client id from them */
+ client_id_str = malloc(1 + strlen(dhcp_hostname) + 1 + strlen(dhcp_domain) + 1);
+ client_id_str[0] = '\0';
+ sprintf(client_id_str+1, "%s.%s", dhcp_hostname, dhcp_domain);
+ }
+ }
+ }
+
+ if (initial_setup_interface(intf->device, s) != 0) {
+ close(s);
+ return RETURN_ERROR;
+ }
+
+ if (prepare_request(&breq, s, intf->device) != 0) {
+ close(s);
+ return RETURN_ERROR;
+ }
+
+ messageType = DHCP_TYPE_DISCOVER;
+ add_vendor_code(&breq, DHCP_OPTION_TYPE, 1, &messageType);
+
+ /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
+ if (dhcp_hostname && *dhcp_hostname) { /* pick client id form based on absence or presence of domain name */
+ if (*dhcp_domain) /* alternate style <hostname>.<domainname> */
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
+ else { /* usual style (aka windows / dhcpcd) */
+ /* but put MAC in form required for client identifier first */
+ client_id_hwaddr = malloc(IFHWADDRLEN+2);
+ /* (from pump-0.8.22/dhcp.c)
+ * Microsoft uses a client identifier field of the 802.3 address with a
+ * pre-byte of a "1". In order to re-use the DHCP address that they set
+ * for this interface, we have to mimic their identifier.
+ */
+ client_id_hwaddr[0] = 1; /* set flag for ethernet */
+ memcpy(client_id_hwaddr+1, gen_hwaddr, IFHWADDRLEN);
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
+ }
+ /* this is the one that the dhcp server really wants for DDNS updates */
+ add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
+ log_message("DHCP: telling server to use name = %s", dhcp_hostname);
+ }
+
+ memset(&client_addr.sin_addr, 0, sizeof(&client_addr.sin_addr));
+ client_addr.sin_family = AF_INET;
+ client_addr.sin_port = htons(BOOTP_CLIENT_PORT); /* bootp client */
+
+ if (bind(s, (struct sockaddr *) &client_addr, sizeof(client_addr))) {
+ log_perror("bind");
+ return RETURN_ERROR;
+ }
+
+ broadcast_addr.sin_family = AF_INET;
+ broadcast_addr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */
+ memset(&broadcast_addr.sin_addr, 0xff, sizeof(broadcast_addr.sin_addr)); /* broadcast */
+
+ log_message("DHCP: sending DISCOVER");
+
+ wait_message("Sending DHCP request...");
+ i = handle_transaction(s, &breq, &bresp, &broadcast_addr, DHCP_TYPE_OFFER);
+ remove_wait_message();
+
+ if (i != 0) {
+ stg1_error_message("No DHCP reply received.");
+ close(s);
+ return RETURN_ERROR;
+ }
+
+ server_addr.sin_family = AF_INET;
+ server_addr.sin_port = htons(BOOTP_SERVER_PORT); /* bootp server */
+ if (get_vendor_code(&bresp, DHCP_OPTION_SERVER, &server_addr.sin_addr)) {
+ close(s);
+ log_message("DHCPOFFER didn't include server address");
+ return RETURN_ERROR;
+ }
+
+ init_vendor_codes(&breq);
+ messageType = DHCP_TYPE_REQUEST;
+ add_vendor_code(&breq, DHCP_OPTION_TYPE, 1, &messageType);
+ add_vendor_code(&breq, DHCP_OPTION_SERVER, 4, &server_addr.sin_addr);
+ add_vendor_code(&breq, DHCP_OPTION_REQADDR, 4, &bresp.yiaddr);
+
+ /* if used the first time, then have to use it again */
+ if (dhcp_hostname && *dhcp_hostname) { /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
+ if (dhcp_domain && *dhcp_domain) /* alternate style */
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
+ else /* usual style (aka windows / dhcpcd) */
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
+ /* this is the one that the dhcp server really wants for DDNS updates */
+ add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
+ }
+
+ aShort = ntohs(sizeof(struct bootp_request));
+ add_vendor_code(&breq, DHCP_OPTION_MAXSIZE, 2, &aShort);
+
+ num_options = 0;
+ requested_options[num_options++] = BOOTP_OPTION_NETMASK;
+ requested_options[num_options++] = BOOTP_OPTION_GATEWAY;
+ requested_options[num_options++] = BOOTP_OPTION_DNS;
+ requested_options[num_options++] = BOOTP_OPTION_DOMAIN;
+ requested_options[num_options++] = BOOTP_OPTION_BROADCAST;
+ add_vendor_code(&breq, DHCP_OPTION_OPTIONREQ, num_options, requested_options);
+
+ /* request a lease of 1 hour */
+ i = htonl(60 * 60);
+ add_vendor_code(&breq, DHCP_OPTION_LEASE, 4, &i);
+
+ log_message("DHCP: sending REQUEST");
+
+ i = handle_transaction(s, &breq, &bresp, &broadcast_addr, DHCP_TYPE_ACK);
+
+ if (i != 0) {
+ close(s);
+ return RETURN_ERROR;
+ }
+
+ if (get_vendor_code(&bresp, DHCP_OPTION_LEASE, &lease)) {
+ log_message("failed to get lease time\n");
+ return RETURN_ERROR;
+ }
+ lease = ntohl(lease);
+
+ close(s);
+
+ intf->netmask.s_addr = 0;
+ intf->broadcast.s_addr = 0;
+ intf->network.s_addr = 0;
+
+ parse_reply(&bresp, intf);
+
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/dhcp.h b/mdk-stage1/dhcp.h
new file mode 100644
index 000000000..d1ad8ae9e
--- /dev/null
+++ b/mdk-stage1/dhcp.h
@@ -0,0 +1,37 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * View the homepage: http://us.mandrakesoft.com/~gc/html/stage1.html
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2000 Free Software Foundation, Inc.
+ *
+ * Itself based on etherboot-4.6.4 by Martin Renters.
+ *
+ */
+
+#ifndef _DHCP_H_
+#define _DHCP_H_
+
+#include "stage1.h"
+#include "network.h"
+
+enum return_type perform_dhcp(struct interface_info * intf);
+
+extern char * dhcp_hostname;
+extern char * dhcp_domain;
+
+#endif
diff --git a/mdk-stage1/directory.c b/mdk-stage1/directory.c
new file mode 100644
index 000000000..6957efbda
--- /dev/null
+++ b/mdk-stage1/directory.c
@@ -0,0 +1,170 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Olivier Blin (oblin@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <unistd.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <libgen.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "log.h"
+#include "lomount.h"
+
+char * extract_list_directory(char * direct)
+{
+ char ** full = list_directory(direct);
+ char tmp[20000] = "";
+ int i;
+ for (i=0; i<50 ; i++) {
+ if (!full || !*full)
+ break;
+ strcat(tmp, *full);
+ strcat(tmp, "\n");
+ full++;
+ }
+ return strdup(tmp);
+}
+
+static void choose_iso_in_directory(char *directory, char *location_full)
+{
+ char **file;
+ char *stage2_isos[100] = { "Use directory as a mirror tree", "-----" };
+ int stage2_iso_number = 2;
+
+ log_message("\"%s\" exists and is a directory, looking for iso files", directory);
+
+ for (file = list_directory(directory); *file; file++) {
+ char isofile[500];
+ char * loopdev = NULL;
+
+ if (strstr(*file, ".iso") != *file + strlen(*file) - 4)
+ /* file doesn't end in .iso, skipping */
+ continue;
+
+ strcpy(isofile, directory);
+ strcat(isofile, "/");
+ strcat(isofile, *file);
+
+ if (lomount(isofile, LOOP_LOCATION, &loopdev, 0)) {
+ log_message("unable to mount iso file \"%s\", skipping", isofile);
+ continue;
+ }
+ symlink(LOOP_LOCATION_REL "/" ARCH, IMAGE_LOCATION);
+
+ if (image_has_stage2()) {
+ log_message("stage2 installer found in ISO image \"%s\"", isofile);
+ stage2_isos[stage2_iso_number++] = strdup(*file);
+ } else {
+ log_message("ISO image \"%s\" doesn't contain stage2 installer", isofile);
+ }
+
+ unlink(IMAGE_LOCATION);
+ umount(LOOP_LOCATION);
+ del_loop(loopdev);
+ }
+
+ stage2_isos[stage2_iso_number] = NULL;
+
+ if (stage2_iso_number > 2) {
+ enum return_type results;
+ do {
+ results = ask_from_list("Please choose the ISO image to be used to install the "
+ DISTRIB_NAME " Distribution.",
+ stage2_isos, file);
+ if (results == RETURN_BACK) {
+ return;
+ } else if (results == RETURN_OK) {
+ if (!strcmp(*file, stage2_isos[0])) {
+ /* use directory as a mirror tree */
+ continue;
+ } else if (!strcmp(*file, stage2_isos[1])) {
+ /* the separator has been selected */
+ results = RETURN_ERROR;
+ continue;
+ } else {
+ /* use selected ISO image */
+ strcat(location_full, "/");
+ strcat(location_full, *file);
+ log_message("installer will use ISO image \"%s\"", location_full);
+ }
+ }
+ } while (results == RETURN_ERROR);
+ } else {
+ log_message("no ISO image found in \"%s\" directory", location_full);
+ }
+}
+
+
+enum return_type try_with_directory(char *directory, char *method_live, char *method_iso) {
+ char location_full[500];
+ char * loopdev = NULL;
+ struct stat statbuf;
+ enum return_type ret = RETURN_OK;
+
+ unlink(IMAGE_LOCATION);
+ strcpy(location_full, directory);
+
+ if (!stat(directory, &statbuf) && S_ISDIR(statbuf.st_mode)) {
+ choose_iso_in_directory(directory, location_full);
+ }
+
+ loopdev = NULL;
+ if (!stat(location_full, &statbuf) && !S_ISDIR(statbuf.st_mode)) {
+ log_message("%s exists and is not a directory, assuming this is an ISO image", location_full);
+ if (lomount(location_full, LOOP_LOCATION, &loopdev, 0)) {
+ stg1_error_message("Could not mount file %s as an ISO image of the " DISTRIB_NAME " Distribution.", location_full);
+ return RETURN_ERROR;
+ }
+ symlink(LOOP_LOCATION_REL "/" ARCH, IMAGE_LOCATION);
+ add_to_env("ISOPATH", location_full);
+ add_to_env("METHOD", method_iso);
+ } else {
+ int offset = strncmp(location_full, IMAGE_LOCATION_DIR, sizeof(IMAGE_LOCATION_DIR) - 1) == 0 ? sizeof(IMAGE_LOCATION_DIR) - 1 : 0;
+ log_message("assuming %s is a mirror tree", location_full + offset);
+
+ symlink(location_full + offset, IMAGE_LOCATION);
+ add_to_env("METHOD", method_live);
+ }
+
+ if (access(IMAGE_LOCATION "/" COMPRESSED_LOCATION_REL, R_OK)) {
+ stg1_error_message("I can't find the " DISTRIB_NAME " Distribution in the specified directory. "
+ "(I need the subdirectory " COMPRESSED_LOCATION_REL ")\n"
+ "Here's a short extract of the files in the directory:\n"
+ "%s", extract_list_directory(IMAGE_LOCATION));
+ ret = RETURN_BACK;
+ } else if (may_load_compressed_image() != RETURN_OK) {
+ stg1_error_message("Could not load program into memory.");
+ ret = RETURN_ERROR;
+ }
+
+ if (ret == RETURN_OK)
+ log_message("found the " DISTRIB_NAME " Installation, good news!");
+
+ if (!KEEP_MOUNTED || ret != RETURN_OK) {
+ /* in rescue mode, we don't need the media anymore */
+ umount(LOOP_LOCATION);
+ del_loop(loopdev);
+ }
+
+ return ret;
+}
diff --git a/mdk-stage1/directory.h b/mdk-stage1/directory.h
new file mode 100644
index 000000000..eb744520b
--- /dev/null
+++ b/mdk-stage1/directory.h
@@ -0,0 +1,29 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Olivier Blin (oblin@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _DIRECTORY_H_
+#define _DIRECTORY_H_
+
+char * extract_list_directory(char * direct);
+enum return_type try_with_directory(char *location_full, char *method_live, char *method_iso);
+
+#endif
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
new file mode 100644
index 000000000..4b85347f5
--- /dev/null
+++ b/mdk-stage1/disk.c
@@ -0,0 +1,160 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <libgen.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "modules.h"
+#include "probing.h"
+#include "log.h"
+#include "mount.h"
+#include "automatic.h"
+#include "directory.h"
+#include "partition.h"
+
+#include "disk.h"
+
+static enum return_type try_with_device(char *dev_name)
+{
+ char * questions_location[] = { "Directory or ISO images directory or ISO image", NULL };
+ char * questions_location_auto[] = { "directory", NULL };
+ static char ** answers_location = NULL;
+ char location_full[500];
+
+ char * parts[50];
+ char * parts_comments[50];
+ enum return_type results;
+ char * choice;
+
+ if (list_partitions(dev_name, parts, parts_comments)) {
+ stg1_error_message("Could not read partitions information.");
+ return RETURN_ERROR;
+ }
+
+ /* uglyness to allow auto starting with devfs */
+ if (!IS_AUTOMATIC || streq((choice = get_auto_value("partition")), "")) {
+ if (parts[0] == NULL) {
+ stg1_error_message("No partition found.");
+ return RETURN_ERROR;
+ }
+
+ results = ask_from_list_comments_auto("Please select the partition containing the copy of the "
+ DISTRIB_NAME " Distribution install source.",
+ parts, parts_comments, &choice, "partition", parts);
+ if (results != RETURN_OK)
+ return results;
+ }
+
+ /* in testing mode, assume the partition is already mounted on MEDIA_LOCATION */
+ if (!IS_TESTING && try_mount(choice, MEDIA_LOCATION)) {
+ stg1_error_message("I can't find a valid filesystem (tried: ext2, vfat, ntfs, reiserfs). "
+ "Make sure the partition has been cleanly unmounted.");
+ return try_with_device(dev_name);
+ }
+
+ ask_dir:
+ if (ask_from_entries_auto("Please enter the directory (or ISO image file) containing the "
+ DISTRIB_NAME " Distribution install source.",
+ questions_location, &answers_location, 24, questions_location_auto, NULL) != RETURN_OK) {
+ umount(MEDIA_LOCATION);
+ return try_with_device(dev_name);
+ }
+
+ strcpy(location_full, MEDIA_LOCATION);
+ strcat(location_full, "/");
+ strcat(location_full, answers_location[0]);
+
+ if (access(location_full, R_OK)) {
+ char * path = strdup(answers_location[0]);
+ stg1_error_message("Directory or ISO image file could not be found on partition.\n"
+ "Here's a short extract of the files in the directory %s:\n"
+ "%s", dirname(path), extract_list_directory(dirname(location_full)));
+ free(path);
+ goto ask_dir;
+ }
+
+ results = try_with_directory(location_full, "disk", "disk-iso");
+ if (results != RETURN_OK) {
+ goto ask_dir;
+ }
+
+ if (!KEEP_MOUNTED)
+ umount(MEDIA_LOCATION);
+
+ return RETURN_OK;
+}
+
+enum return_type disk_prepare(void)
+{
+ char ** medias, ** medias_models;
+ char * choice;
+ int i;
+ enum return_type results;
+ static int already_probed_ide_generic = 0;
+
+ int count = get_disks(&medias, &medias_models);
+
+ if (count == 0) {
+ if (!already_probed_ide_generic) {
+ already_probed_ide_generic = 1;
+ my_insmod("ide-generic", ANY_DRIVER_TYPE, NULL, 0);
+ return disk_prepare();
+ }
+ stg1_error_message("No DISK drive found.");
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return disk_prepare();
+ }
+
+ if (count == 1) {
+ results = try_with_device(*medias);
+ if (results != RETURN_ERROR)
+ return results;
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return disk_prepare();
+ }
+
+ results = ask_from_list_comments_auto("Please select the disk containing the copy of the "
+ DISTRIB_NAME " Distribution install source.",
+ medias, medias_models, &choice, "disk", medias);
+
+ if (results != RETURN_OK)
+ return results;
+
+ results = try_with_device(choice);
+ if (results != RETURN_ERROR)
+ return results;
+ i = ask_insmod(SCSI_ADAPTERS);
+ if (i == RETURN_BACK)
+ return RETURN_BACK;
+ return disk_prepare();
+}
diff --git a/mdk-stage1/disk.h b/mdk-stage1/disk.h
new file mode 100644
index 000000000..fae890894
--- /dev/null
+++ b/mdk-stage1/disk.h
@@ -0,0 +1,27 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _DISK_H_
+#define _DISK_H_
+
+enum return_type disk_prepare(void);
+
+#endif
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c
new file mode 100644
index 000000000..1d7d2d6c8
--- /dev/null
+++ b/mdk-stage1/dns.c
@@ -0,0 +1,224 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+
+// dietlibc can do hostname lookup, whereas glibc can't when linked statically :-(
+
+#if defined(__dietlibc__)
+
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <netdb.h>
+#include <sys/socket.h>
+#include <resolv.h>
+
+#include "network.h"
+#include "log.h"
+
+#include "dns.h"
+
+int mygethostbyname(char * name, struct in_addr * addr)
+{
+ struct hostent * h;
+
+ /* prevent from timeouts */
+ if (_res.nscount == 0)
+ return -1;
+
+ h = gethostbyname(name);
+
+ if (!h && domain) {
+ // gethostbyname from dietlibc doesn't support domain handling
+ char fully_qualified[500];
+ sprintf(fully_qualified, "%s.%s", name, domain);
+ h = gethostbyname(fully_qualified);
+ }
+
+ if (h && h->h_addr_list && (h->h_addr_list)[0]) {
+ memcpy(addr, (h->h_addr_list)[0], sizeof(*addr));
+ log_message("is-at: %s", inet_ntoa(*addr));
+ return 0;
+ }
+
+ log_message("unknown host %s", name);
+ return -1;
+}
+
+char * mygethostbyaddr(char * ipnum)
+{
+ struct in_addr in;
+ struct hostent * host;
+
+ /* prevent from timeouts */
+ if (_res.nscount == 0)
+ return NULL;
+
+ if (!inet_aton(ipnum, &in))
+ return NULL;
+ host = gethostbyaddr(&(in.s_addr), sizeof(in.s_addr) /* INADDRSZ */, AF_INET);
+ if (host && host->h_name)
+ return host->h_name;
+ return NULL;
+}
+
+#elif defined(__GLIBC__)
+
+#include <alloca.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <resolv.h>
+#include <arpa/nameser.h>
+#include <arpa/inet.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "log.h"
+
+#include "dns.h"
+
+/* This is dumb, but glibc doesn't like to do hostname lookups w/o libc.so */
+
+union dns_response {
+ HEADER hdr;
+ u_char buf[PACKETSZ];
+} ;
+
+static int do_query(char * query, int queryType, char ** domainName, struct in_addr * ipNum)
+{
+ int len, ancount, type;
+ u_char * data, * end;
+ char name[MAXDNAME];
+ union dns_response response;
+
+#ifdef __sparc__
+ /* from jj: */
+ /* We have to wait till ethernet negotiation is done */
+ _res.retry = 3;
+#else
+ _res.retry = 2;
+#endif
+
+
+ len = res_search(query, C_IN, queryType, (void *) &response, sizeof(response));
+ if (len <= 0)
+ return -1;
+
+ if (ntohs(response.hdr.rcode) != NOERROR)
+ return -1;
+
+ ancount = ntohs(response.hdr.ancount);
+ if (ancount < 1)
+ return -1;
+
+ data = response.buf + sizeof(HEADER);
+ end = response.buf + len;
+
+ /* skip the question */
+ data += dn_skipname(data, end) + QFIXEDSZ;
+
+ /* parse the answer(s) */
+ while (--ancount >= 0 && data < end) {
+
+ /* skip the domain name portion of the RR record */
+ data += dn_skipname(data, end);
+
+ /* get RR information */
+ GETSHORT(type, data);
+ data += INT16SZ; /* skipp class */
+ data += INT32SZ; /* skipp TTL */
+ GETSHORT(len, data);
+
+ if (type == T_PTR) {
+ /* we got a pointer */
+ len = dn_expand(response.buf, end, data, name, sizeof(name));
+ if (len <= 0) return -1;
+ if (queryType == T_PTR && domainName) {
+ /* we wanted a pointer */
+ *domainName = malloc(strlen(name) + 1);
+ strcpy(*domainName, name);
+ return 0;
+ }
+ } else if (type == T_A) {
+ /* we got an address */
+ if (queryType == T_A && ipNum) {
+ /* we wanted an address */
+ memcpy(ipNum, data, sizeof(*ipNum));
+ return 0;
+ }
+ }
+
+ /* move ahead to next RR */
+ data += len;
+ }
+
+ return -1;
+}
+
+char * mygethostbyaddr(char * ipnum) {
+ int rc;
+ char * result;
+ char * strbuf;
+ char * chptr;
+ char * splits[4];
+ int i;
+
+ _res.retry = 1;
+
+ strbuf = alloca(strlen(ipnum) + 1);
+ strcpy(strbuf, ipnum);
+
+ ipnum = alloca(strlen(strbuf) + 20);
+
+ for (i = 0; i < 4; i++) {
+ chptr = strbuf;
+ while (*chptr && *chptr != '.')
+ chptr++;
+ *chptr = '\0';
+
+ if (chptr - strbuf > 3) return NULL;
+ splits[i] = strbuf;
+ strbuf = chptr + 1;
+ }
+
+ sprintf(ipnum, "%s.%s.%s.%s.in-addr.arpa", splits[3], splits[2], splits[1], splits[0]);
+
+ rc = do_query(ipnum, T_PTR, &result, NULL);
+
+ if (rc)
+ return NULL;
+ else
+ return result;
+}
+
+int mygethostbyname(char * name, struct in_addr * addr) {
+ int rc = do_query(name, T_A, NULL, addr);
+ if (!rc)
+ log_message("is-at %s", inet_ntoa(*addr));
+ return rc;
+}
+
+#else
+
+#error "Unsupported C library"
+
+#endif
diff --git a/mdk-stage1/dns.h b/mdk-stage1/dns.h
new file mode 100644
index 000000000..21d0c63ac
--- /dev/null
+++ b/mdk-stage1/dns.h
@@ -0,0 +1,30 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef H_DNS
+#define H_DNS
+
+#include <netinet/in.h>
+
+int mygethostbyname(char * name, struct in_addr * addr);
+char * mygethostbyaddr(char * ipnum);
+
+#endif
diff --git a/mdk-stage1/doc/HACKING b/mdk-stage1/doc/HACKING
new file mode 100644
index 000000000..d196c8010
--- /dev/null
+++ b/mdk-stage1/doc/HACKING
@@ -0,0 +1,31 @@
+If you have to boot pretty often, you'll appreciate to speed the things up
+a little.
+
+Here's what we use: the GRUB feature to boot from the network using the
+DHCP protocol and the TFTP protocol.
+
+Here's the "menu.lst" to do that:
+
+-=-=--
+
+timeout 0
+
+title linux
+dhcp
+tftpserver 192.168.1.17
+kernel (nd)/tftpboot/gc/vmlinuz ramdisk=32000 vga=788
+initrd (nd)/tftpboot/gc/network.rdz
+
+-=-=--
+
+
+The option "tftpserver" is used to override the tftpserver address given
+as an answer by the DHCP server. That way, you'll not need to bother your
+system administrator to modify his dhcp server configuration.
+
+The directory /tftpboot seems to be the only one defaultly accepted by the
+server, and its subdirs.
+
+
+Of course, your GRUB needs to be compiled with the specific code for your
+network card; use ./configure --help in the GRUB build dir for more infos.
diff --git a/mdk-stage1/doc/README b/mdk-stage1/doc/README
new file mode 100644
index 000000000..6a1d92bf9
--- /dev/null
+++ b/mdk-stage1/doc/README
@@ -0,0 +1,185 @@
+-------------------------------------------------------
+* Stage1 of the Mandrakelinux installation program *
+-------------------------------------------------------
+
+
+[ Author ]
+
+ Guillaume Cottenceau (gc at mandrakesoft.com)
+
+
+[ Copyright ]
+
+ Copyright 2000, 2001, 2002 Mandrakesoft
+
+ Partially inspired by Redhat stuff (install from 5.x and 7.x) copyright
+ Red Hat Software, and Debian stuff (boot-floppies) copyright by their
+ respective holders.
+
+
+[ Licence ]
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+ *** WARNING! ***
+
+ This General Public License does not permit incorporating any part
+ of this program as a library into proprietary programs.
+
+
+[ Online ]
+
+ http://people.mandrakesoft.com/~gc/html/stage1.html
+
+
+[ Purpose ]
+
+ This code will take the control of the computer after that Linux
+ kernel booted properly, and will try to run the main installer
+ (also known as "stage 2") from a series of different media
+ including harddrive, cdrom, and network.
+
+ Use the source, Luke.
+
+
+
+
+ -=-=-- Okay, now, more details --=-=-
+
+
+ [ Installing Mandrakelinux ]
+
+Per default, just insert your Mandrakelinux Installation CD into your
+CDROM tray, be sure your system BIOS is configured to boot on your CDROM,
+and that's all.
+
+If you have multiple CDROM drives and the installer can't autodetect in
+which CDROM drive is the disc, it may ask you to choose the correct drive,
+between your CDROM drives.
+
+Also, if you want to install from an SCSI CDROM, the installer should
+detect your SCSI adapter; if it fails you may have to select the right
+driver and/or supply additional parameters.
+
+
+ [ Position of the problem ]
+
+The need for alternate installation methods come with more specific
+hardware configuration and/or need for frequent updates of the Installer
+software.
+
+All of these methods will require to use a special boot disk. The method
+is to download it and then to copy it "physically" to a floppy with the
+command:
+
+# dd if=<boot-disk> of=/dev/fd0
+
+Our boot disks are called "cdrom.img", "network.img", etc.
+
+
+ [ Installation from CDROM ]
+
+The first situation you may encounter is an old BIOS which does not permit
+you to boot from your CDROM drive.
+
+In that case, you'll need to use the "cdrom.img" image file. The steps are
+the same as with CDROM boot, and everything should be automatic.
+
+
+ [ Installation from DISK ]
+
+If you like trying occasionnally our development version, the Cooker, one
+of the easiest way is to grab a local copy of the Distribution on one of
+your local hard drives, and to install from that location.
+
+At present time, you can install from IDE or SCSI drives, from Linux
+(ext2), Windows (vfat) or Reiserfs partition.
+
+In that case, you'll need to use the "hd.img" image file. The dialogs will
+ask you to choose the DISK drive to use to install from, then the
+partition on which you copied the Distribution, then the location
+(directory) in which you copied the Distribution.
+
+
+ [ Installation from NETWORK ]
+
+For convenience, you can also install from a NFS volume, from a FTP
+server, or from a HTTP server. NFS installs are maybe the fastest
+and most convenient possible, so if you need to do frequent and/or
+multiple installs, you may like this option.
+
+In that case, you'll need to use the "network.img" image file. If you have
+PCI network card(s), you'll probably have to only setup your network
+options. If not, you'll have to choose the appropriate driver(s) and/or
+optional parameters. Supported network configurations include static IP
+allocation and DHCP automatic configuration.
+
+
+ [ Installation from PCMCIA ]
+
+If you want to perform an installation on your laptop that is not based on
+local IDE CDROM or DISK, nor on built-in network card, but on PCMCIA
+extension (probably a network adapter or CDROM drive), you'll need the
+"pcmcia.img" image file.
+
+PCMCIA services should automatically start and be transparent to you.
+Then, you'll follow the instructions according to your preferred
+installation method.
+
+
+ [ Monitoring a stage1 session ]
+
+Linux supports virtual consoles. You can switch between them by issueing
+Ctrl+Alt+Fx key, in which 'x' is the number of the console. Here's console
+occupancy during stage1.
+
+(#1) The user-interface of the stage1 is on the first console. In case of
+newt interaction, it's provided with a neat blue and black color scheme,
+and nice widgets. In case of stdio interaction (cdrom and disk installs),
+it's more basic but still usable :-).
+
+(#2) A shell is provided on second console in some cases (you need to
+compile it with -DSPAWN_SHELL and you need to provide a valid shell in the
+initrd) and of course it's not in, in image files of Mandrakelinux
+releases because it's too much diskspace.
+
+(#3) The log is printed out on the third console. This is the location
+where you can find most valuable information, prefixed by a '*'. See
+"log.h" for calls that print things out to the log.
+
+(#4) The kernel messages are printed on the fourth console. There is a
+process forked very early in the init (the program before the stage1)
+which monitors /proc/kmsg for new kernel messages. Also, syslog stuff (the
+logs commited by the programs) should appear on the /dev/log Unix socket,
+this is also printed on this console.
+
+(#5) Former place for the stderr of insmod calls. It's not used anymore.
+
+(#6) Place where a trivial interactive communication with the stage1 is
+set up if the parameter -DSPAWN_INTERACTIVE is compiled in. Basically, you
+can set switches such as "expert" and "rescue" on the fly with this
+feature. It's implemented with a fork and a Unix pipe.
+
+
+ [ Rescueing a system ]
+
+Since Mandrakelinux 7.1, we provide a rescue system through each of the
+previously described methods. You don't need a special "rescue.img" file.
+Just hit "F1" at boot time, type in "rescue", and follow the first steps
+of the installation according to the method you chose (choose
+disks/partitions for disk method, network parameters for network method,
+etc). Then, you'll end up with a workable system, very useful to rescue a
+damaged system, or do other basic actions.
diff --git a/mdk-stage1/doc/TECH-INFOS b/mdk-stage1/doc/TECH-INFOS
new file mode 100644
index 000000000..67151410e
--- /dev/null
+++ b/mdk-stage1/doc/TECH-INFOS
@@ -0,0 +1,106 @@
+
+| (*) Automatic install
+\----------------------
+
+This feature is used to replace redhat kickstart. It uses the kernel
+parameter "automatic" with keywords separated with commas and colons, on
+the following genres:
+
+ automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
+
+ automatic=method:ftp,network:dhcp,server:ftp.ciril.fr,directory:/pub/linux/mandrake-devel/cooker
+
+ automatic=method:ftp,network:dhcp,server:companyserver,directory:/mdkinst,user:XXX,pass:XXX
+
+ automatic=method:ftp,interface:eth1,network:dhcp,...
+
+ automatic=method:ftp,network:adsl,adsluser:XXX,adslpass:XXX,...
+
+ automatic=method:cdrom
+
+ automatic=method:disk,disk:hdb,partition:hdb7,directory:/cooker
+
+
+The keywords correspond to each "virtual" question answered automatically,
+either from a list or from a free field.
+
+
+Keywords are:
+
+
+`method' <- (nfs,ftp,http,cdrom,disk)
+
+if nfs/ftp/http:
+
+ `network' <- (static,dhcp,adsl)
+
+ if multiple interfaces detected:
+
+ `interface' <- (list-of-detected-interfaces)
+ if "auto":
+ use the first interface with a link beat
+ if "wired":
+ use the first wired interface with a link beat
+ or the first wired interface if none has a link beat
+
+ fi
+
+ if static:
+
+ `ip', `dns', `gateway', `netmask' (free fields)
+
+ elsif adsl:
+
+ `adsluser', `adslpass' (free field)
+
+ fi
+
+ if resolving fails:
+
+ `hostname', `domain' (free fields)
+
+ fi
+
+ `server', `directory' (free fields)
+
+ if ftp:
+
+ `user', `pass' (free fields)
+
+ fi
+
+fi
+
+if disk:
+
+ `disk' <- (list-of-detected-disks)
+
+ `partition' <- (list-of-detected-partitions)
+
+ `directory' (free fields)
+
+fi
+
+
+
+You may use shorter versions of keywords (it helps reducing size of
+commandline), please find each keyword short-alias counterpart in file
+../automatic.c under the identifier named "short_aliases".
+
+This gives for example for:
+
+ automatic=method:nfs,network:static,ip:192.168.1.24,server:192.168.1.7,directory:/stable/i586
+==>
+ automatic=met:nfs,net:static,ip:192.168.1.24,ser:192.168.1.7,dir:/stable/i586
+
+
+
+You may specify a stage2 auto-install file, different from the
+default `auto_inst.cfg.pl' in install/, by filling the
+`bootfile' parameter of your DHCP server response.
+
+Note that if the name ends with `-IP' or `-IP.pl', IP will be
+replaced by the IP address given to the host, normalized to
+hexadecimal (that is, `192.168.100.57' would give 'C0A86439').
+
+
diff --git a/mdk-stage1/doc/UPDATEMODULES b/mdk-stage1/doc/UPDATEMODULES
new file mode 100644
index 000000000..ceef21758
--- /dev/null
+++ b/mdk-stage1/doc/UPDATEMODULES
@@ -0,0 +1,95 @@
+This is the documentation for the "Update Modules" (Update Drivers)
+feature.
+
+This feature aims to propose new modules or replacement modules for the
+install and afterwards. This is useful when there is a firmware update for a
+given driver, an additional driver needed for something, etc.
+
+
+You must use a floppy disk with e2fs filesystem (NOT vfat/windows
+formatted). Use "mke2fs /dev/fd0" on your own box to format a floppy with
+e2fs filesystem.
+
+This disk may contain a number of kernel modules; some of them
+may replace existing modules, some of them may be added.
+This disk must contain a special file, named "to_load", on
+the root (not in a subdirectory). This file will contain a series of
+module names, with optional module options; the program will try to load
+all these modules one after another, using file on the floppy if present,
+else using file within standard module repository ("marfile" on the boot
+floppy). It can contain comments, these are strictly defined by the
+presence of a hash (#) character on column 0 of any line.
+
+This disk may also contain some update or new modules for installed kernels.
+Those modules must be placed in directory <kernel-version>. They must be
+gzipped if the installed kernel modules are gzipped.
+
+You may need to specify the "category" so that new modules are used correctly.
+For example, a scsi module should be put in category disk/scsi so that it is
+put in scsi_hostadapter and initrd.
+
+
+Here's a typical scenario:
+
+
+1. Boot the floppy (or cdrom) with the option "updatemodules"
+
+ (you may do that by pressing F1 then entering "linux updatemodules")
+
+
+2. At the very beginning of the User Interface, you are asked to insert
+ the Update Modules disk. Insert the Update Modules disk and press
+ Enter.
+
+--=----=----=----=----=----=----=----=----=--
+Our example disk contains:
+
+[root@obiwan mnt]# ll floppy/
+total 77
+drwxr-xr-x 2 root root 12288 Jul 26 12:02 lost+found/
+-rw-r--r-- 1 root root 9051 Jul 26 12:43 msdos.ko
+-rw-r--r-- 1 root root 13660 Jul 26 12:04 ppa.ko
+-rw-r--r-- 1 root root 54 Jul 26 12:46 to_load
+-rw-r--r-- 1 root root 32108 Jul 26 12:04 uhci.ko
+-rw-r--r-- 1 root root 6572 Jul 26 12:04 wacom.ko
+drwxr-xr-x 4 root root 4096 Jul 26 12:04 2.6.8.1-20mdk
+drwxr-xr-x 4 root root 4096 Jul 26 12:04 2.6.8.1-20mdksmp
+[root@obiwan mnt]# cat floppy/to_load
+# Update Drivers description file
+3c59x
+# fat is a dep for msdos
+fat
+# updated msdos (handling of 9+4 filenames)
+msdos
+ppa
+# ISA network card needing options
+ne io=0x300 irq=7
+# New module [list_modules: disk/scsi]
+a320raid
+[root@obiwan mnt]# (cd floppy/2.6.8.1-20mdk ; find -type f)
+./kernel/fs/msdos/msdos.ko.gz
+./kernel/drivers/scsi/ppa.ko.gz
+./kernel/drivers/usb/host/uhci-hcd.ko.gz
+./kernel/drivers/usb/input/wacom.ko.gz
+[root@obiwan mnt]#
+--=----=----=----=----=----=----=----=----=--
+
+
+3. The program reads the special file "to_load" and processes the files.
+
+ a- 3c59x loaded from the marfile on the boot floppy
+ b- fat loaded from the marfile on the boot floppy
+ c- msdos loaded from the update modules floppy
+ d- ppa loaded from the update modules floppy
+ e- ne loaded from the marfile on the boot floppy
+
+
+
+!!! Beware !!!, the dependencies are not handled automatically in
+the case of load from the update modules floppy, that's why on
+our example we need to load "fat" from the standard modules
+before "msdos" from the update floppy.
+
+
+4. When system is installed, update floppy is asked again so that update
+modules for the installed kernels can be copied. Then depmod is called.
diff --git a/mdk-stage1/doc/WHY-DIETLIBC b/mdk-stage1/doc/WHY-DIETLIBC
new file mode 100644
index 000000000..e7c526b49
--- /dev/null
+++ b/mdk-stage1/doc/WHY-DIETLIBC
@@ -0,0 +1,50 @@
+(the dietlibc is a replacement for the glibc, which aim is to produce
+smaller statically linked binaries)
+
+
+The use for dietlibc in the stage1 was clear because currently used
+install process on x86 is from a 1.44 Mbytes floppy. On this floppy we
+need to fit the kernel, modules (scsi and network access), and the code to
+do the basic things to load the stage2. The only part on which we could
+progress was the code.
+
+As always, figures demonstrate evidences. Here are the size of the
+binaries used for the cdrom, disk, network and full floppy installs, using
+newt as the UI library:
+
+ - with glibc
+
+-rwxr-xr-x 1 gc gc 569448 May 15 15:29 stage1-cdrom
+-rwxr-xr-x 1 gc gc 572264 May 15 15:29 stage1-disk
+-rwxr-xr-x 1 gc gc 624712 May 15 15:30 stage1-network
+-rwxr-xr-x 1 gc gc 720360 May 15 15:29 stage1-full
+
+ - with dietlibc
+
+-rwxr-xr-x 1 gc gc 169332 May 15 14:26 stage1-cdrom
+-rwxr-xr-x 1 gc gc 172180 May 15 14:26 stage1-disk
+-rwxr-xr-x 1 gc gc 198612 May 15 14:26 stage1-network
+-rwxr-xr-x 1 gc gc 251764 May 15 14:26 stage1-full
+
+
+The `stage1-full' binary has code for many things, most notably: data
+decrunching (bzlib), archive extraction (in-house format), module loading
+(insmod from busybox), PCI detection, ide and scsi handling,
+cdrom/disk/loopback mounting, DHCP client negociation (redhat+grub), NFS
+mounting (util-linux), FTP and HTTP transmission (redhat), pcmcia
+initializing (pcmcia-cs), UI interaction (slang/newt); with use of the
+dietlibc, the binary is only 250 kbytes!
+
+
+Due to the modular coding, it is also possible to choose to not use
+slang/newt as the UI, but a stdio-only UI. In that case, the binaries get
+even smaller:
+
+-rwxr-xr-x 1 gc gc 104500 May 15 15:46 stage1-cdrom*
+-rwxr-xr-x 1 gc gc 107348 May 15 15:46 stage1-disk*
+-rwxr-xr-x 1 gc gc 133972 May 15 15:47 stage1-network*
+-rwxr-xr-x 1 gc gc 187348 May 15 15:46 stage1-full*
+
+
+
+gc [Tue May 15 15:58:34 2001] \ No newline at end of file
diff --git a/mdk-stage1/doc/documented..frontend.h b/mdk-stage1/doc/documented..frontend.h
new file mode 100644
index 000000000..0e666d534
--- /dev/null
+++ b/mdk-stage1/doc/documented..frontend.h
@@ -0,0 +1,69 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Using high-level UI.
+ *
+ * These functions are frontend-independant: your program won't know each
+ * `frontend' (e.g. each way to grab user input) will be used.
+ *
+ * Then you may link your binary against any `frontend' that implement all
+ * these functions (and possibly necessary libraries).
+ */
+
+
+#ifndef _FRONTEND_H_
+#define _FRONTEND_H_
+
+/* this must be called before anything else */
+void init_frontend(void);
+
+/* this must be called before exit of program */
+void finish_frontend(void);
+
+
+void info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* (blocks program) */
+
+void error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* (blocks program) */
+
+/* (doesn't block program)
+ * (this is not necessarily stackable, e.g. only one wait_message at a time) */
+void wait_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
+
+/* call this to finish the wait on wait_message */
+void remove_wait_message(void);
+
+/* monitor progression of something (downloading a file, etc)
+ * if size of progression is unknown, use `0' */
+void init_progression(char *msg, int size);
+void update_progression(int current_size);
+void end_progression(void);
+
+enum frontend_return { RETURN_OK, RETURN_BACK, RETURN_ERROR };
+
+/* Yes == RETURN_OK No == RETURN_ERROR Back == RETURN_BACK */
+enum frontend_return ask_yes_no(char *msg);
+
+/* [elems] NULL terminated array of char*
+ * [choice] address of a (unitialized) char* */
+enum frontend_return ask_from_list(char *msg, char ** elems, char ** choice);
+
+enum frontend_return ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice);
+
+/* [questions] NULL terminated array of char*
+ * [answers] address of a (unitialized) char**, will contain a non-NULL terminated array of char*
+ * [callback_func] function called at most when the answers change; it can examine the array of char* and assign some new char* */
+enum frontend_return ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings));
+
+#endif
diff --git a/mdk-stage1/frontend-common.c b/mdk-stage1/frontend-common.c
new file mode 100644
index 000000000..a66db457a
--- /dev/null
+++ b/mdk-stage1/frontend-common.c
@@ -0,0 +1,45 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include <probing.h>
+
+#include "frontend.h"
+
+
+void info_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ vinfo_message(msg, args);
+ va_end(args);
+}
+
+void wait_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ vwait_message(msg, args);
+ va_end(args);
+}
+
+void error_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ verror_message(msg, args);
+ va_end(args);
+}
diff --git a/mdk-stage1/frontend.h b/mdk-stage1/frontend.h
new file mode 100644
index 000000000..1737ee7e7
--- /dev/null
+++ b/mdk-stage1/frontend.h
@@ -0,0 +1,67 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * For doc please read doc/documented..frontend.h
+ */
+
+#ifndef _FRONTEND_H_
+#define _FRONTEND_H_
+
+#include <stdarg.h>
+
+/* 'unused' atttribute, gcc specific and just to turn down some warnings. */
+#if defined __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
+
+enum return_type { RETURN_OK, RETURN_BACK, RETURN_ERROR };
+
+void init_frontend(char * welcome_msg);
+void finish_frontend(void);
+
+void error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* blocking */
+void info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* blocking */
+void wait_message(char *msg, ...) __attribute__ ((format (printf, 1, 2))); /* non-blocking */
+void remove_wait_message(void);
+
+void init_progression_raw(char *msg, int size);
+void update_progression_raw(int current_size);
+void end_progression_raw(void);
+
+#ifdef ENABLE_BOOTSPLASH
+void init_progression(char *msg, int size);
+void update_progression(int current_size);
+void end_progression(void);
+#else
+#define init_progression init_progression_raw
+#define update_progression update_progression_raw
+#define end_progression end_progression_raw
+#endif
+
+enum return_type ask_yes_no(char *msg);
+enum return_type ask_from_list(char *msg, char ** elems, char ** choice);
+enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice);
+enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings));
+
+void suspend_to_console(void);
+void resume_from_suspend(void);
+
+void verror_message(char *msg, va_list ap);
+void vinfo_message(char *msg, va_list ap);
+void vwait_message(char *msg, va_list ap);
+
+#endif
diff --git a/mdk-stage1/init-libc-headers.h b/mdk-stage1/init-libc-headers.h
new file mode 100644
index 000000000..55d6f10b3
--- /dev/null
+++ b/mdk-stage1/init-libc-headers.h
@@ -0,0 +1,45 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/mount.h>
+#include <linux/un.h>
+#include <errno.h>
+#include <signal.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <linux/unistd.h>
+#include <sys/select.h>
+#include <sys/ioctl.h>
+
+#ifndef SOCK_STREAM
+#define SOCK_STREAM 1
+#endif
+
+static inline _syscall3(int, syslog, int, type, char *, bufp, int, len);
+static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
diff --git a/mdk-stage1/init.c b/mdk-stage1/init.c
new file mode 100644
index 000000000..a47017b58
--- /dev/null
+++ b/mdk-stage1/init.c
@@ -0,0 +1,549 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef INIT_HEADERS
+#include "init-libc-headers.h"
+#else
+#include INIT_HEADERS
+#endif
+
+#include "config-stage1.h"
+#include <linux/cdrom.h>
+
+#if defined(__powerpc__)
+#define TIOCSCTTY 0x540E
+#endif
+
+
+#define BINARY "/sbin/stage1"
+#define BINARY_STAGE2 "/usr/bin/runinstall2"
+
+
+char * env[] = {
+ "PATH=/usr/bin:/bin:/sbin:/usr/sbin:/mnt/sbin:/mnt/usr/sbin:/mnt/bin:/mnt/usr/bin",
+ "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib:/usr/X11R6/lib:/mnt/usr/X11R6/lib"
+#if defined(__x86_64__) || defined(__ppc64__)
+ ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
+#endif
+ ,
+ "HOME=/",
+ "TERM=linux",
+ "TERMINFO=/etc/terminfo",
+ NULL
+};
+
+
+/*
+ * this needs to handle the following cases:
+ *
+ * 1) run from a CD root filesystem
+ * 2) run from a read only nfs rooted filesystem
+ * 3) run from a floppy
+ * 4) run from a floppy that's been loaded into a ramdisk
+ *
+ */
+
+int testing = 0;
+int klog_pid;
+
+
+void fatal_error(char *msg)
+{
+ printf("FATAL ERROR IN INIT: %s\n\nI can't recover from this, please reboot manually and send bugreport.\n", msg);
+ select(0, NULL, NULL, NULL, NULL);
+}
+
+void print_error(char *msg)
+{
+ printf("E: %s\n", msg);
+}
+
+void print_warning(char *msg)
+{
+ printf("W: %s\n", msg);
+}
+
+void print_int_init(int fd, int i)
+{
+ char buf[10];
+ char * chptr = buf + 9;
+ int j = 0;
+
+ if (i < 0)
+ {
+ write(1, "-", 1);
+ i = -1 * i;
+ }
+
+ while (i)
+ {
+ *chptr-- = '0' + (i % 10);
+ j++;
+ i = i / 10;
+ }
+
+ write(fd, chptr + 1, j);
+}
+
+void print_str_init(int fd, char * string)
+{
+ write(fd, string, strlen(string));
+}
+
+/* fork to:
+ * (1) watch /proc/kmsg and copy the stuff to /dev/tty4
+ * (2) listens to /dev/log and copy also this stuff (log from programs)
+ */
+void doklog()
+{
+ fd_set readset, unixs;
+ int in, out, i;
+ int log;
+ int s;
+ int sock = -1;
+ struct sockaddr_un sockaddr;
+ char buf[1024];
+ int readfd;
+
+ /* open kernel message logger */
+ in = open("/proc/kmsg", O_RDONLY,0);
+ if (in < 0) {
+ print_error("could not open /proc/kmsg");
+ return;
+ }
+
+ mkdir("/tmp", 0755);
+ if ((log = open("/tmp/syslog", O_WRONLY | O_CREAT | O_APPEND, 0644)) < 0) {
+ print_error("error opening /tmp/syslog");
+ sleep(5);
+ return;
+ }
+
+ if ((klog_pid = fork())) {
+ close(in);
+ close(log);
+ return;
+ } else {
+ close(0);
+ close(1);
+ close(2);
+ }
+
+ out = open("/dev/tty4", O_WRONLY, 0);
+ if (out < 0)
+ print_warning("couldn't open tty for syslog -- still using /tmp/syslog\n");
+
+ /* now open the syslog socket */
+// ############# LINUX 2.4 /dev/log IS BUGGED! --> apparently the syslogs can't reach me, and it's full up after a while
+// sockaddr.sun_family = AF_UNIX;
+// strncpy(sockaddr.sun_path, "/dev/log", UNIX_PATH_MAX);
+// sock = socket(AF_UNIX, SOCK_STREAM, 0);
+// if (sock < 0) {
+// printf("error creating socket: %d\n", errno);
+// sleep(5);
+// }
+//
+// print_str_init(log, "] got socket\n");
+// if (bind(sock, (struct sockaddr *) &sockaddr, sizeof(sockaddr.sun_family) + strlen(sockaddr.sun_path))) {
+// print_str_init(log, "] bind error: ");
+// print_int_init(log, errno);
+// print_str_init(log, "\n");
+// sleep(// }
+//
+// print_str_init(log, "] bound socket\n");
+// chmod("/dev/log", 0666);
+// if (listen(sock, 5)) {
+// print_str_init(log, "] listen error: ");
+// print_int_init(log, errno);
+// print_str_init(log, "\n");
+// sleep(5);
+// }
+
+ /* disable on-console syslog output */
+ syslog(8, NULL, 1);
+
+ print_str_init(log, "] kernel/system logger ok\n");
+ FD_ZERO(&unixs);
+ while (1) {
+ memcpy(&readset, &unixs, sizeof(unixs));
+
+ if (sock >= 0)
+ FD_SET(sock, &readset);
+ FD_SET(in, &readset);
+
+ i = select(20, &readset, NULL, NULL, NULL);
+ if (i <= 0)
+ continue;
+
+ /* has /proc/kmsg things to tell us? */
+ if (FD_ISSET(in, &readset)) {
+ i = read(in, buf, sizeof(buf));
+ if (i > 0) {
+ if (out >= 0)
+ write(out, buf, i);
+ write(log, buf, i);
+ }
+ }
+
+ /* examine some fd's in the hope to find some syslog outputs from programs */
+ for (readfd = 0; readfd < 20; ++readfd) {
+ if (FD_ISSET(readfd, &readset) && FD_ISSET(readfd, &unixs)) {
+ i = read(readfd, buf, sizeof(buf));
+ if (i > 0) {
+ /* grep out the output of RPM telling that it installed/removed some packages */
+ if (!strstr(buf, "mdk installed") && !strstr(buf, "mdk removed")) {
+ if (out >= 0)
+ write(out, buf, i);
+ write(log, buf, i);
+ }
+ } else if (i == 0) {
+ /* socket closed */
+ close(readfd);
+ FD_CLR(readfd, &unixs);
+ }
+ }
+ }
+
+ /* the socket has moved, new stuff to do */
+ if (sock >= 0 && FD_ISSET(sock, &readset)) {
+ s = sizeof(sockaddr);
+ readfd = accept(sock, (struct sockaddr *) &sockaddr, &s);
+ if (readfd < 0) {
+ char * msg_error = "] error in accept\n";
+ if (out >= 0)
+ write(out, msg_error, strlen(msg_error));
+ write(log, msg_error, strlen(msg_error));
+ close(sock);
+ sock = -1;
+ }
+ else
+ FD_SET(readfd, &unixs);
+ }
+ }
+}
+
+
+#define LOOP_CLR_FD 0x4C01
+
+void del_loops(void)
+{
+ char loopdev[] = "/dev/loop0";
+ char chloopdev[] = "/dev/chloop0";
+ int i;
+ for (i=0; i<8; i++) {
+ int fd;
+ loopdev[9] = '0' + i;
+ fd = open(loopdev, O_RDONLY, 0);
+ if (fd > 0) {
+ if (!ioctl(fd, LOOP_CLR_FD, 0))
+ printf("\t%s\n", loopdev);
+ close(fd);
+ }
+ chloopdev[11] = '0' + i;
+ fd = open(chloopdev, O_RDONLY, 0);
+ if (fd > 0) {
+ if (!ioctl(fd, LOOP_CLR_FD, 0))
+ printf("\t%s\n", chloopdev);
+ close(fd);
+ }
+ }
+}
+
+struct filesystem
+{
+ char * dev;
+ char * name;
+ char * fs;
+ int mounted;
+};
+
+char* strcat(register char* s,register const char* t)
+{
+ char *dest=s;
+ s+=strlen(s);
+ for (;;) {
+ if (!(*s = *t)) break; ++s; ++t;
+ }
+ return dest;
+}
+
+/* attempt to unmount all filesystems in /proc/mounts */
+void unmount_filesystems(void)
+{
+ int fd, size;
+ char buf[65535]; /* this should be big enough */
+ char *p;
+ struct filesystem fs[500];
+ int numfs = 0;
+ int i, nb;
+ int disallow_eject = 0;
+
+ printf("unmounting filesystems...\n");
+
+ fd = open("/proc/mounts", O_RDONLY, 0);
+ if (fd < 1) {
+ print_error("failed to open /proc/mounts");
+ sleep(2);
+ return;
+ }
+
+ size = read(fd, buf, sizeof(buf) - 1);
+ buf[size] = '\0';
+
+ close(fd);
+
+ p = buf;
+ while (*p) {
+ fs[numfs].mounted = 1;
+ fs[numfs].dev = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].name = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].fs = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ while (*p != '\n') p++;
+ p++;
+ if (!strcmp(fs[numfs].fs, "nfs"))
+ disallow_eject = 1;
+ if (strcmp(fs[numfs].name, "/")
+ && !strstr(fs[numfs].dev, "ram")
+ && strcmp(fs[numfs].name, "/dev")
+ && strcmp(fs[numfs].name, "/sys")
+ && strncmp(fs[numfs].name, "/proc", 5))
+ numfs++;
+ }
+
+ /* Pixel's ultra-optimized sorting algorithm:
+ multiple passes trying to umount everything until nothing moves
+ anymore (a.k.a holy shotgun method) */
+ do {
+ nb = 0;
+ for (i = 0; i < numfs; i++) {
+ /*printf("trying with %s\n", fs[i].name);*/
+ del_loops();
+ if (fs[i].mounted && umount(fs[i].name) == 0) {
+ printf("\t%s\n", fs[i].name);
+ fs[i].mounted = 0;
+ nb++;
+ }
+ }
+ } while (nb);
+
+ for (i = nb = 0; i < numfs; i++)
+ if (fs[i].mounted) {
+ printf("\tumount failed: %s\n", fs[i].name);
+ if (strcmp(fs[i].fs, "ext3") == 0) nb++; /* don't count not-ext3 umount failed */
+ }
+
+
+ if (nb) {
+ printf("failed to umount some filesystems\n");
+ select(0, NULL, NULL, NULL, NULL);
+ }
+}
+
+#define BMAGIC_HARD 0x89ABCDEF
+#define BMAGIC_SOFT 0
+#define BMAGIC_REBOOT 0x01234567
+#define BMAGIC_HALT 0xCDEF0123
+#define BMAGIC_POWEROFF 0x4321FEDC
+int reboot_magic = BMAGIC_REBOOT;
+
+int in_reboot(void)
+{
+ int fd;
+ if ((fd = open("/var/run/rebootctl", O_RDONLY, 0)) > 0) {
+ char buf[100];
+ int i = read(fd, buf, sizeof(buf));
+ close(fd);
+ if (strstr(buf, "halt"))
+ reboot_magic = BMAGIC_POWEROFF;
+ return i > 0;
+ }
+ return 0;
+}
+
+int exit_value_proceed = 66;
+int exit_value_restart = 0x35;
+
+int main(int argc, char **argv)
+{
+ pid_t installpid, childpid;
+ int wait_status;
+ int fd;
+ int counter = 0;
+ int abnormal_termination = 0;
+
+ if (argc > 1 && argv[1][0] >= '0' && argv[1][0] <= '9') {
+ printf("This is no normal init, sorry.\n"
+ "Call `reboot' or `halt' directly.\n");
+ return 0;
+ }
+
+ if (!testing) {
+ /* turn off screen blanking */
+ printf("\033[9;0]");
+ printf("\033[8]");
+ }
+ else
+ printf("*** TESTING MODE *** (pid is %d)\n", getpid());
+
+
+ if (!testing) {
+ mkdir("/proc", 0755);
+ if (mount("/proc", "/proc", "proc", 0, NULL))
+ fatal_error("Unable to mount proc filesystem");
+ mkdir("/sys", 0755);
+ if (mount("none", "/sys", "sysfs", 0, NULL))
+ fatal_error("Unable to mount sysfs filesystem");
+ }
+
+
+ /* ignore Control-C and keyboard stop signals */
+ signal(SIGINT, SIG_IGN);
+ signal(SIGTSTP, SIG_IGN);
+
+ if (!testing) {
+ fd = open("/dev/console", O_RDWR, 0);
+ if (fd < 0)
+ fatal_error("failed to open /dev/console");
+
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+ close(fd);
+ }
+
+
+ /* I set me up as session leader (probably not necessary?) */
+ setsid();
+// if (ioctl(0, TIOCSCTTY, NULL))
+// print_error("could not set new controlling tty");
+
+ if (!testing) {
+ char my_hostname[] = "localhost";
+ sethostname(my_hostname, sizeof(my_hostname));
+ /* the default domainname (as of 2.0.35) is "(none)", which confuses
+ glibc */
+ setdomainname("", 0);
+ }
+
+ if (!testing)
+ doklog();
+
+ /* Go into normal init mode - keep going, and then do a orderly shutdown
+ when:
+
+ 1) install exits
+ 2) we receive a SIGHUP
+ */
+
+ do {
+ if (counter == 1) {
+ printf("proceeding, please wait...\n");
+ }
+
+ if (!(installpid = fork())) {
+ /* child */
+ char * child_argv[2];
+ child_argv[0] = counter == 0 ? BINARY : BINARY_STAGE2;
+ child_argv[1] = NULL;
+
+ execve(child_argv[0], child_argv, env);
+ printf("error in exec of %s :-( [%d]\n", child_argv[0], errno);
+ return 0;
+ }
+
+ do {
+ childpid = wait4(-1, &wait_status, 0, NULL);
+ } while (childpid != installpid);
+
+ counter++;
+ } while (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_restart);
+
+ /* allow Ctrl Alt Del to reboot */
+ reboot(0xfee1dead, 672274793, BMAGIC_HARD);
+
+ if (in_reboot()) {
+ // any exitcode is valid if we're in_reboot
+ } else if (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_proceed) {
+ kill(klog_pid, 9);
+ printf("proceeding, please wait...\n");
+
+ {
+ char * child_argv[2] = { "/sbin/init", NULL };
+ execve(child_argv[0], child_argv, env);
+ }
+ fatal_error("failed to exec /sbin/init");
+ } else if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
+ printf("exited abnormally :-( ");
+ if (WIFSIGNALED(wait_status))
+ printf("-- received signal %d", WTERMSIG(wait_status));
+ printf("\n");
+ abnormal_termination = 1;
+ }
+
+ if (!abnormal_termination) {
+ int i;
+ for (i=0; i<50; i++)
+ printf("\n"); /* cleanup startkde messages */
+ }
+
+ if (testing)
+ return 0;
+
+ sync(); sync();
+ sleep(2);
+
+ printf("sending termination signals...");
+ kill(-1, 15);
+ sleep(2);
+ printf("done\n");
+
+ printf("sending kill signals...");
+ kill(-1, 9);
+ sleep(2);
+ printf("done\n");
+
+ unmount_filesystems();
+
+ sync(); sync();
+
+ if (!abnormal_termination) {
+ if (reboot_magic == BMAGIC_REBOOT) {
+#ifdef DEBUG
+ printf("automatic reboot in 10 seconds\n");
+ sleep(10);
+#endif
+ reboot(0xfee1dead, 672274793, reboot_magic);
+ } else {
+ printf("you may safely poweroff your computer now\n");
+ }
+ } else {
+ printf("you may safely reboot or halt your system\n");
+ }
+
+ select(0, NULL, NULL, NULL, NULL);
+ return 0;
+}
diff --git a/mdk-stage1/ka.c b/mdk-stage1/ka.c
new file mode 100644
index 000000000..d3c98e2fc
--- /dev/null
+++ b/mdk-stage1/ka.c
@@ -0,0 +1,193 @@
+/*
+ * Copyright 2005 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include "ka.h"
+#include <sys/mount.h>
+#include "mount.h"
+#include <sys/wait.h>
+#include <dirent.h>
+#include <errno.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "config-stage1.h"
+#include "frontend.h"
+#include "log.h"
+#include "tools.h"
+
+struct in_addr next_server = { 0 };
+
+#if 0
+static void save_stuff_for_rescue(void)
+{
+ copy_file("/etc/resolv.conf", STAGE2_LOCATION "/etc/resolv.conf", NULL);
+}
+#endif
+
+static void my_pause(void) {
+ unsigned char t;
+ fflush(stdout);
+ read(0, &t, 1);
+}
+
+static enum return_type ka_wait_for_stage2(void)
+{
+ char * ramdisk = "/dev/ram3"; /* warning, verify that this file exists in the initrd*/
+ char * ka_launch[] = { "/ka/ka-d-client", "-w","-s","getstage2","-e","(cd /tmp/stage2; tar --extract --read-full-records --same-permissions --numeric-o wner --sparse --file - )", NULL }; /* The command line for ka_launch */
+ char * mkfs_launch[] = { "/sbin/mke2fs", ramdisk, NULL}; /* The mkfs command for formating the ramdisk */
+
+ log_message("KA: Preparing to receive stage 2....");
+ int pida, wait_status;
+
+ if (!(pida = fork())) { /* Forking current process for running mkfs */
+ // close(1);
+ // close(2);
+ execv(mkfs_launch[0], mkfs_launch); /* Formating the ramdisk */
+ printf("KA: Can't execute %s\n<press Enter>\n", mkfs_launch[0]);
+ my_pause();
+ return KAERR_CANTFORK;
+ }
+ while (wait4(-1, &wait_status, 0, NULL) != pida) {}; /* Waiting the end of mkfs */
+
+ if (my_mount(ramdisk, STAGE2_LOCATION, "ext2", 1)) {/* Trying to mount the ramdisk */
+ return RETURN_ERROR;
+ }
+
+ log_message("KA: Waiting for stage 2....");
+ wait_message("Waiting for rescue from KA server");
+ pid_t pid; /* Process ID of the child process */
+ pid_t wpid; /* Process ID from wait() */
+ int status; /* Exit status from wait() */
+
+ pid = fork();
+ if ( pid == -1 ) {
+ fprintf(stderr, "%s: Failed to fork()\n", strerror(errno));
+ exit(13);
+ } else if ( pid == 0 ) {
+ fprintf(stderr, "%s: Failed to fork()\n", strerror(errno));
+ exit(13);
+ } else if ( pid == 0 ) {
+ execv(ka_launch[0], ka_launch);
+ } else {
+ // wpid = wait(&status); /* Child's exit status */
+ wpid = wait4(-1, &status, 0, NULL);
+ if ( wpid == -1 ) {
+ fprintf(stderr,"%s: wait()\n", strerror(errno));
+ return RETURN_ERROR;
+ } else if ( wpid != pid )
+ abort();
+ else {
+ if ( WIFEXITED(status) ) {
+ printf("Exited: $? = %d\n", WEXITSTATUS(status));
+ } else if ( WIFSIGNALED(status) ) {
+ printf("Signal: %d%s\n", WTERMSIG(status), WCOREDUMP(status) ? " with core file." : "");
+ }
+ }
+ }
+
+ remove_wait_message();
+ return RETURN_OK;
+ // if (!(pid = fork())) { /* Froking current process for running ka-deploy (client side) */
+ // close(1); /* Closing stdout */
+ // close(2); /* Closing stderr */
+ // execve(ka_launch[0], ka_launch,grab_env()); /* Running ka-deploy (client side) */
+ // printf("KA: Can't execute %s\n<press Enter>\n", ka_launch[0]);
+ // log_message("KA: Can't execute %s\n<press Enter>\n", ka_launch[0]);
+ // my_pause();
+ // return KAERR_CANTFORK;
+ //}
+
+ //while (wait4(-1, &wait_status, 0, NULL) != pid) {}; /* Waiting the end of duplication */
+ // log_message("kalaunch ret %d\n", WIFEXITED(wait_status));
+ // remove_wait_message();
+ //sleep(100000);
+ // return RETURN_OK;
+}
+
+enum return_type perform_ka(void) {
+ enum return_type results;
+ int server_failure = 1; /* Number of time we've failed to find a ka server */
+ FILE *f = fopen ("/ka/tftpserver","w");
+
+ if (f != NULL) {
+ /* Writing the NEXT_SERVER value of the DHCP Request in the /ka/tftpserver file */
+ fprintf(f,"%s\n",inet_ntoa(next_server));
+ fclose(f);
+ }
+
+ log_message("KA: Trying to retrieve stage2 from server");
+ log_message("KA: ka_wait_for_stage2");
+ do {
+ /* We are trying to get a valid stage 2 (rescue) */
+ results=ka_wait_for_stage2();
+ if (results != RETURN_OK) {
+ return results;
+ } else {
+ /* Trying to open STAGE2_LOCATION/ka directory */
+ char dir[255] = STAGE2_LOCATION;
+ strcat(dir,"/ka");
+ DIR *dp = opendir(dir);
+
+ /* Does the STAGE2_LOCATION/ka directory exists ? = Does the rescue with ka well downloaded ?*/
+ if (!dp) {
+ log_message("KA: Server not found !");
+ /* Be sure that the STAGE2_LOCATION isn't mounted after receiving a wrong rescue */
+ if (umount (STAGE2_LOCATION)) {
+ log_perror("KA: Unable to umount STAGE2");
+ }
+ int cpt;
+
+ if (server_failure++ == KA_MAX_RETRY){
+ /* if the KA server can't be reach KA_MAX_RETRY times */
+ char * reboot_launch[] = { "/sbin/reboot", NULL};
+ for (cpt=5; cpt>0; cpt--) {
+ wait_message("!!! Can't reach a valid KA server !!! (Rebooting in %d sec)",cpt);
+ sleep (1);
+ }
+ /* Rebooting the computer to avoid infinite loop on ka mode */
+ execv(reboot_launch[0], reboot_launch);
+ }
+
+ for (cpt=5; cpt>0; cpt--) {
+ wait_message("KA server not found ! (Try %d/%d in %d sec)",server_failure,KA_MAX_RETRY,cpt);
+ sleep (1);
+ }
+ remove_wait_message();
+ /* We should try another time*/
+ results=RETURN_BACK;
+ continue;
+ }
+
+ if (dp) {
+ log_message("KA: Stage 2 downloaded successfully");
+ closedir(dp); /* Closing the /ka directory */
+ server_failure=1; /* Resetting server_failure */
+ results = RETURN_OK;
+ }
+ }
+
+ log_message("KA: Preparing chroot");
+ return RETURN_OK;
+
+ // if (IS_RESCUE) { /* if we are in rescue mode */
+ // save_stuff_for_rescue(); /* Saving resolve.conf */
+ // if (umount (STAGE2_LOCATION)) { /* Unmounting STAGE2 elseif kernel can't mount it ! */
+ // log_perror("KA: Unable to umount STAGE2");
+ // return RETURN_ERROR;
+ // }
+ // }
+ } while (results == RETURN_BACK);
+
+ // method_name = strdup("ka");
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/ka.h b/mdk-stage1/ka.h
new file mode 100644
index 000000000..3c083af4f
--- /dev/null
+++ b/mdk-stage1/ka.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2005 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _KA_H_
+#define _KA_H_
+
+#define KAERR_CANTFORK -20
+
+enum return_type perform_ka(void);
+
+#endif
diff --git a/mdk-stage1/log.c b/mdk-stage1/log.c
new file mode 100644
index 000000000..a8406f6b2
--- /dev/null
+++ b/mdk-stage1/log.c
@@ -0,0 +1,94 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include <errno.h>
+#include "stage1.h"
+
+#include "log.h"
+
+static FILE * logtty = NULL;
+static FILE * logfile = NULL;
+
+
+void vlog_message(const char * s, va_list args)
+{
+ va_list args_copy;
+ va_copy(args_copy, args);
+
+ if (logfile) {
+ fprintf(logfile, "* ");
+ vfprintf(logfile, s, args);
+ fprintf(logfile, "\n");
+ fflush(logfile);
+ }
+ if (logtty) {
+ fprintf(logtty, "* ");
+ vfprintf(logtty, s, args_copy);
+ fprintf(logtty, "\n");
+ fflush(logtty);
+ }
+
+ va_end(args_copy);
+}
+
+
+void log_message(const char * s, ...)
+{
+ va_list args;
+ va_start(args, s);
+ vlog_message(s, args);
+ va_end(args);
+
+ return;
+}
+
+void log_perror(const char *msg)
+{
+ log_message("%s: %s", msg, strerror(errno));
+}
+
+
+void open_log(void)
+{
+ if (!IS_TESTING) {
+ logtty = fopen("/dev/tty3", "w");
+ logfile = fopen("/tmp/stage1.log", "w");
+ }
+ else
+ logfile = fopen("debug.log", "w");
+}
+
+void close_log(void)
+{
+ if (logfile) {
+ log_message("stage1: disconnecting life support systems");
+ fclose(logfile);
+ if (logtty)
+ fclose(logtty);
+ }
+}
diff --git a/mdk-stage1/log.h b/mdk-stage1/log.h
new file mode 100644
index 000000000..6a30fea8f
--- /dev/null
+++ b/mdk-stage1/log.h
@@ -0,0 +1,34 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+
+#ifndef _LOG_H_
+#define _LOG_H_
+
+#include <stdarg.h>
+
+void log_message(const char * s, ...) __attribute__ ((format (printf, 1, 2)));
+void vlog_message(const char * s, va_list args);
+void log_perror(const char *msg);
+void open_log(void);
+void close_log(void);
+
+#endif
diff --git a/mdk-stage1/lomount.c b/mdk-stage1/lomount.c
new file mode 100644
index 000000000..2f80ec71c
--- /dev/null
+++ b/mdk-stage1/lomount.c
@@ -0,0 +1,194 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/* This code comes from util-linux-2.10n (mount/lomount.c)
+ * (this is a simplified version of this code)
+ */
+
+#include <sys/types.h>
+#include <sys/mount.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "stage1.h"
+#include "frontend.h"
+#include "log.h"
+#include "mount.h"
+#include "modules.h"
+
+#include "lomount.h"
+
+
+#define LO_NAME_SIZE 64
+#define LO_KEY_SIZE 32
+
+struct loop_info
+{
+ int lo_number; /* ioctl r/o */
+ dev_t lo_device; /* ioctl r/o */
+ unsigned long lo_inode; /* ioctl r/o */
+ dev_t lo_rdevice; /* ioctl r/o */
+ int lo_offset;
+ int lo_encrypt_type;
+ int lo_encrypt_key_size; /* ioctl w/o */
+ int lo_flags; /* ioctl r/o */
+ char lo_name[LO_NAME_SIZE];
+ unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
+ unsigned long lo_init[2];
+ char reserved[4];
+};
+
+#define LOOP_SET_FD 0x4C00
+#define LOOP_CLR_FD 0x4C01
+#define LOOP_SET_STATUS 0x4C02
+#define LOOP_GET_STATUS 0x4C03
+
+int
+set_loop (const char *device, const char *file)
+{
+ struct loop_info loopinfo;
+ int fd, ffd, mode;
+
+ mode = O_RDONLY;
+
+ if ((ffd = open (file, mode)) < 0)
+ return 1;
+
+ if ((fd = open (device, mode)) < 0) {
+ close(ffd);
+ return 1;
+ }
+
+ memset(&loopinfo, 0, sizeof (loopinfo));
+ strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
+ loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
+ loopinfo.lo_offset = 0;
+
+#ifdef MCL_FUTURE
+ /*
+ * Oh-oh, sensitive data coming up. Better lock into memory to prevent
+ * passwd etc being swapped out and left somewhere on disk.
+ */
+
+ if(mlockall(MCL_CURRENT|MCL_FUTURE)) {
+ log_message("CRITICAL Couldn't lock into memory! %s (memlock)", strerror(errno));
+ return 1;
+ }
+#endif
+
+ if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
+ close(fd);
+ close(ffd);
+ return 1;
+ }
+
+ if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+ (void) ioctl (fd, LOOP_CLR_FD, 0);
+ close(fd);
+ close(ffd);
+ return 1;
+ }
+
+ close(fd);
+ close(ffd);
+ return 0;
+}
+
+
+char* find_free_loop()
+{
+ struct loop_info loopinfo;
+ int i;
+ for (i=0; i<256; i++) {
+ int fd;
+ char ldev[100];
+ sprintf(ldev, "/dev/loop%d", i);
+ ensure_dev_exists(ldev);
+ fd = open(ldev, O_RDONLY);
+ if (!ioctl(fd, LOOP_GET_STATUS, &loopinfo)) {
+ close(fd);
+ continue;
+ }
+ if (errno == ENXIO) {
+ log_message("%s is available", ldev);
+ close(fd);
+ return strdup(ldev);
+ } else {
+ log_perror("LOOP_GET_STATUS(unexpected error)");
+ close(fd);
+ continue;
+ }
+ }
+ return NULL;
+}
+
+void
+del_loop(char * loopdev)
+{
+ int fd;
+
+ if (!loopdev)
+ return;
+
+ if ((fd = open (loopdev, O_RDONLY)) < 0)
+ return;
+
+ if (ioctl (fd, LOOP_CLR_FD, 0) < 0)
+ return;
+
+ close (fd);
+}
+
+int
+lomount(char *loopfile, char *where, char **dev, int compressed)
+{
+
+ long int flag;
+ char * loopdev;
+
+ flag = MS_MGC_VAL;
+ flag |= MS_RDONLY;
+
+ my_insmod("loop", ANY_DRIVER_TYPE, "max_loop=256", 1);
+ if (compressed) {
+ my_insmod("squashfs", ANY_DRIVER_TYPE, NULL, 1);
+ }
+
+ if (!(loopdev = find_free_loop())) {
+ log_message("could not find a free loop");
+ return 1;
+ }
+ if (dev)
+ *dev = loopdev;
+
+ if (set_loop(loopdev, loopfile)) {
+ log_message("set_loop failed on %s (%s)", loopdev, strerror(errno));
+ return 1;
+ }
+
+ if (my_mount(loopdev, where, compressed ? "squashfs" : "iso9660", 0)) {
+ del_loop(loopdev);
+ return 1;
+ }
+
+ log_message("lomount succeeded for %s on %s", loopfile, where);
+ return 0;
+}
+
+
diff --git a/mdk-stage1/lomount.h b/mdk-stage1/lomount.h
new file mode 100644
index 000000000..4115507f2
--- /dev/null
+++ b/mdk-stage1/lomount.h
@@ -0,0 +1,21 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef LOMOUNT_H
+#define LOMOUNT_H
+
+int lomount(char *loopfile, char *where, char **loopdev, int compressed);
+void del_loop(char *loopdev);
+
+#endif
diff --git a/mdk-stage1/minilibc.c b/mdk-stage1/minilibc.c
new file mode 100644
index 000000000..7388c527c
--- /dev/null
+++ b/mdk-stage1/minilibc.c
@@ -0,0 +1,317 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+
+#define MINILIBC_INTERNAL
+
+#include "minilibc.h"
+
+int atexit (void (*__func) (void) __attribute__ ((unused)))
+{
+ return 0;
+}
+
+void exit()
+{
+ _do_exit(0);
+ for (;;); /* Shut up gcc */
+}
+
+
+char ** _environ = NULL;
+int errno = 0;
+
+void _init (int __status __attribute__ ((unused)))
+{
+}
+
+void __libc_init_first (int __status __attribute__ ((unused)))
+{
+}
+
+void __libc_csu_fini(int __status __attribute__ ((unused)))
+{
+}
+
+void __libc_csu_init(int __status __attribute__ ((unused)))
+{
+}
+
+
+int __libc_start_main (int (*main) (int, char **, char **), int argc,
+ char **argv, void (*init) (void) __attribute__ ((unused)), void (*fini) (void) __attribute__ ((unused)),
+ void (*rtld_fini) (void) __attribute__ ((unused)), void *stack_end __attribute__ ((unused)))
+{
+ exit ((*main) (argc, argv, NULL));
+ /* never get here */
+ return 0;
+}
+
+void _fini (int __status __attribute__ ((unused)))
+{
+}
+
+#ifdef __x86_64__
+/* x86-64 implementation of signal() derived from glibc sources */
+
+static inline int sigemptyset(sigset_t *set) {
+ *set = 0;
+ return 0;
+}
+
+static inline int sigaddset(sigset_t *set, int sig) {
+ __asm__("btsq %1,%0" : "=m" (*set) : "Ir" (sig - 1L) : "cc");
+ return 0;
+}
+
+#define __NR___rt_sigaction __NR_rt_sigaction
+static inline _syscall3(int,__rt_sigaction,int,signum,const void *,act,void *,oldact)
+#define __NR___rt_sigreturn __NR_rt_sigreturn
+static _syscall1(int,__rt_sigreturn,unsigned long,unused)
+
+static void restore_rt(void) {
+ __rt_sigreturn(0);
+}
+
+int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) {
+ struct sigaction *newact = (struct sigaction *)act;
+ if (act) {
+ newact = __builtin_alloca(sizeof(*newact));
+ newact->sa_handler = act->sa_handler;
+ newact->sa_flags = act->sa_flags | SA_RESTORER;
+ newact->sa_restorer = &restore_rt;
+ newact->sa_mask = act->sa_mask;
+ }
+ return __rt_sigaction(signum, newact, oldact);
+}
+
+__sighandler_t signal(int signum, __sighandler_t action) {
+ struct sigaction sa,oa;
+ sa.sa_handler=action;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask,signum);
+ sa.sa_flags=SA_RESTART;
+ if (sigaction(signum,&sa,&oa))
+ return SIG_ERR;
+ return oa.sa_handler;
+}
+
+#endif
+
+#ifdef __NR_socketcall
+
+int socket(int a, int b, int c)
+{
+ unsigned long args[] = { a, b, c };
+
+ return socketcall(SYS_SOCKET, args);
+}
+
+int bind(int a, void * b, int c)
+{
+ unsigned long args[] = { a, (long) b, c };
+
+ return socketcall(SYS_BIND, args);
+}
+
+int listen(int a, int b)
+{
+ unsigned long args[] = { a, b, 0 };
+
+ return socketcall(SYS_LISTEN, args);
+}
+
+int accept(int a, void * addr, void * addr2)
+{
+ unsigned long args[] = { a, (long) addr, (long) addr2 };
+
+ return socketcall(SYS_ACCEPT, args);
+}
+
+#else
+
+_syscall3(int,socket,int,domain,int,type,int,protocol)
+_syscall3(int,bind,int,sockfd,void *,my_addr,int,addrlen)
+_syscall2(int,listen,int,s,int,backlog)
+_syscall3(int,accept,int,s,void *,addr,void *,addrlen)
+
+#endif
+
+
+void sleep(int secs)
+{
+ struct timeval tv;
+
+ tv.tv_sec = secs;
+ tv.tv_usec = 0;
+
+ select(0, NULL, NULL, NULL, &tv);
+}
+
+
+int strlen(const char * string)
+{
+ int i = 0;
+
+ while (*string++) i++;
+
+ return i;
+}
+
+char * strncpy(char * dst, const char * src, int len)
+{
+ char * chptr = dst;
+ int i = 0;
+
+ while (*src && i < len) *dst++ = *src++, i++;
+ if (i < len) *dst = '\0';
+
+ return chptr;
+}
+
+char * strcpy(char * dst, const char * src)
+{
+ char * chptr = dst;
+
+ while (*src) *dst++ = *src++;
+ *dst = '\0';
+
+ return chptr;
+}
+
+void * memcpy(void * dst, const void * src, size_t count)
+{
+ char * a = dst;
+ const char * b = src;
+
+ while (count--)
+ *a++ = *b++;
+
+ return dst;
+}
+
+
+int strcmp(const char * a, const char * b)
+{
+ int i, j;
+
+ i = strlen(a); j = strlen(b);
+ if (i < j)
+ return -1;
+ else if (j < i)
+ return 1;
+
+ while (*a && (*a == *b)) a++, b++;
+
+ if (!*a) return 0;
+
+ if (*a < *b)
+ return -1;
+ else
+ return 1;
+}
+
+int strncmp(const char * a, const char * b, int len)
+{
+ char buf1[1000], buf2[1000];
+
+ strncpy(buf1, a, len);
+ strncpy(buf2, b, len);
+ buf1[len] = '\0';
+ buf2[len] = '\0';
+
+ return strcmp(buf1, buf2);
+}
+
+char * strchr(char * str, int ch)
+{
+ char * chptr;
+
+ chptr = str;
+ while (*chptr)
+ {
+ if (*chptr == ch) return chptr;
+ chptr++;
+ }
+
+ return NULL;
+}
+
+
+char * strstr(char *haystack, char *needle)
+{
+ char * tmp = haystack;
+ while ((tmp = strchr(tmp, needle[0])) != NULL) {
+ int i = 1;
+ while (i < strlen(tmp) && i < strlen(needle) && tmp[i] == needle[i])
+ i++;
+ if (needle[i] == '\0')
+ return tmp;
+ tmp++;
+ }
+ return NULL;
+}
+
+
+/* Minimum printf which handles only characters, %d's and %s's */
+void printf(char * fmt, ...)
+{
+ char buf[2048];
+ char * start = buf;
+ char * chptr = buf;
+ va_list args;
+ char * strarg;
+ int numarg;
+
+ strncpy(buf, fmt, sizeof(buf));
+ va_start(args, fmt);
+
+ while (start)
+ {
+ while (*chptr != '%' && *chptr) chptr++;
+
+ if (*chptr == '%')
+ {
+ *chptr++ = '\0';
+ print_str_init(1, start);
+
+ switch (*chptr++)
+ {
+ case 's':
+ strarg = va_arg(args, char *);
+ print_str_init(1, strarg);
+ break;
+
+ case 'd':
+ numarg = va_arg(args, int);
+ print_int_init(1, numarg);
+ break;
+ }
+
+ start = chptr;
+ }
+ else
+ {
+ print_str_init(1, start);
+ start = NULL;
+ }
+ }
+}
diff --git a/mdk-stage1/minilibc.h b/mdk-stage1/minilibc.h
new file mode 100644
index 000000000..e1d3e5b1f
--- /dev/null
+++ b/mdk-stage1/minilibc.h
@@ -0,0 +1,159 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+
+#include <stdarg.h>
+
+#define _LOOSE_KERNEL_NAMES 1
+
+#define NULL ((void *) 0)
+
+#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
+#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
+#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
+#define WTERMSIG(status) ((status) & 0x7f)
+#define WSTOPSIG(status) WEXITSTATUS(status)
+#define WIFEXITED(status) (WTERMSIG(status) == 0)
+
+#define MS_MGC_VAL 0xc0ed0000
+
+#define isspace(a) (a == ' ' || a == '\t')
+
+extern char ** _environ;
+
+extern int errno;
+
+/* Aieee, gcc 2.95+ creates a stub for posix_types.h on i386 which brings
+ glibc headers in and thus makes __FD_SET etc. not defined with 2.3+ kernels. */
+#define _FEATURES_H 1
+#include <linux/posix_types.h>
+#include <linux/socket.h>
+#include <linux/types.h>
+#include <linux/time.h>
+#include <linux/if.h>
+#include <linux/un.h>
+#include <linux/loop.h>
+#include <linux/net.h>
+#include <asm/termios.h>
+#include <asm/ioctls.h>
+#include <asm/unistd.h>
+#include <asm/fcntl.h>
+#include <asm/signal.h>
+
+#ifndef __NR__newselect
+#define __NR__newselect __NR_select
+#endif
+
+#ifndef MINILIBC_INTERNAL
+static inline _syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
+static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
+static inline _syscall4(int,wait4,pid_t,pid,int *,status,int,opts,void *,rusage)
+static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
+static inline _syscall3(int,reboot,int,magic,int,magic_too,int,flag)
+static inline _syscall3(int,execve,const char *,fn,void *,argv,void *,envp)
+static inline _syscall3(int,read,int,fd,const char *,buf,unsigned long,count)
+static inline _syscall3(int,open,const char *,fn,int,flags,mode_t,mode)
+static inline _syscall3(int,ioctl,int,fd,int,request,void *,argp)
+static inline _syscall2(int,dup2,int,one,int,two)
+static inline _syscall2(int,kill,pid_t,pid,int,sig)
+static inline _syscall2(int,symlink,const char *,a,const char *,b)
+static inline _syscall2(int,chmod,const char * ,path,mode_t,mode)
+static inline _syscall2(int,sethostname,const char *,name,int,len)
+static inline _syscall2(int,setdomainname,const char *,name,int,len)
+static inline _syscall2(int,setpgid,int,name,int,len)
+static inline _syscall2(int,mkdir,const char *,pathname,mode_t,mode)
+#ifdef __x86_64__
+extern __sighandler_t signal(int signum, __sighandler_t handler);
+#else
+static inline _syscall2(int,signal,int,num,void *,len)
+#endif
+#ifdef __NR_umount
+static inline _syscall1(int,umount,const char *,dir)
+#else
+static inline _syscall2(int,umount2,const char *,dir,int,flags)
+static inline int umount(const char * dir) { return umount2(dir, 0); }
+#endif
+static inline _syscall1(int,unlink,const char *,fn)
+static inline _syscall1(int,close,int,fd)
+static inline _syscall1(int,swapoff,const char *,fn)
+static inline _syscall0(int,getpid)
+static inline _syscall0(int,sync)
+#ifdef __sparc__
+/* Nonstandard fork calling convention :( */
+static inline int fork(void) {
+ int __res;
+ __asm__ __volatile__ (
+ "mov %0, %%g1\n\t"
+ "t 0x10\n\t"
+ "bcc 1f\n\t"
+ "dec %%o1\n\t"
+ "sethi %%hi(%2), %%g1\n\t"
+ "st %%o0, [%%g1 + %%lo(%2)]\n\t"
+ "b 2f\n\t"
+ "mov -1, %0\n\t"
+ "1:\n\t"
+ "and %%o0, %%o1, %0\n\t"
+ "2:\n\t"
+ : "=r" (__res)
+ : "0" (__NR_fork), "i" (&errno)
+ : "g1", "o0", "cc");
+ return __res;
+}
+#else
+static inline _syscall0(int,fork)
+#endif
+static inline _syscall0(pid_t,setsid)
+static inline _syscall3(int,syslog,int, type, char *, buf, int, len);
+#else
+static inline _syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
+static inline _syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
+#ifdef __NR_socketcall
+static inline _syscall2(int,socketcall,int,code,unsigned long *, args)
+#endif
+#define __NR__do_exit __NR_exit
+static inline _syscall1(int,_do_exit,int,exitcode)
+#endif
+
+#define select _newselect
+
+extern int errno;
+
+int socket(int a, int b, int c);
+int bind(int a, void * b, int c);
+int listen(int a, int b);
+int accept(int a, void * addr, void * addr2);
+
+void sleep(int secs);
+
+int strlen(const char * string);
+char * strcpy(char * dst, const char * src);
+void * memcpy(void * dst, const void * src, size_t count);
+int strcmp(const char * a, const char * b);
+int strncmp(const char * a, const char * b, int len);
+char * strchr(char * str, int ch);
+char * strstr(char *haystack, char *needle);
+char * strncpy(char * dst, const char * src, int len);
+
+void print_str_init(int fd, char * string);
+void print_int_init(int fd, int i);
+/* Minimum printf which handles only characters, %d's and %s's */
+void printf(char * fmt, ...) __attribute__ ((format (printf, 1, 2)));
+
diff --git a/mdk-stage1/modules.c b/mdk-stage1/modules.c
new file mode 100644
index 000000000..43120bc4f
--- /dev/null
+++ b/mdk-stage1/modules.c
@@ -0,0 +1,417 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * (1) calculate dependencies
+ * (2) unarchive relevant modules
+ * (3) insmod them
+ */
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mount.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+#include "stage1.h"
+#include "log.h"
+#include "frontend.h"
+#include "mount.h"
+#include "modules_descr.h"
+#include "zlibsupport.h"
+
+#include "modules.h"
+
+static struct module_deps_elem * modules_deps = NULL;
+
+extern long init_module(void *, unsigned long, const char *);
+
+
+static const char *moderror(int err)
+{
+ switch (err) {
+ case ENOEXEC:
+ return "Invalid module format";
+ case ENOENT:
+ return "Unknown symbol in module";
+ case ESRCH:
+ return "Module has wrong symbol version";
+ case EINVAL:
+ return "Invalid parameters";
+ default:
+ return strerror(err);
+ }
+}
+
+int insmod_local_file(char * path, char * options)
+{
+ void *file;
+ unsigned long len;
+ int rc;
+
+ file = grab_file(path, &len);
+
+ if (!file) {
+ log_perror(asprintf_("\terror reading %s", path));
+ return -1;
+ }
+
+ rc = init_module(file, len, options ? options : "");
+ if (rc)
+ log_message("\terror: %s", moderror(errno));
+ return rc;
+}
+
+static char *kernel_module_extension(void)
+{
+ return ".ko.gz";
+}
+
+static int load_modules_dependencies(void)
+{
+ char * deps_file = "/modules/modules.dep";
+ char * buf, * ptr, * start, * end;
+ struct stat s;
+ int fd, line, i;
+
+ log_message("loading modules dependencies");
+
+ if (IS_TESTING)
+ return 0;
+
+ fd = open(deps_file, O_RDONLY);
+ if (fd == -1) {
+ log_perror(deps_file);
+ return -1;
+ }
+
+ fstat(fd, &s);
+ buf = alloca(s.st_size + 1);
+ if (read(fd, buf, s.st_size) != (ssize_t)s.st_size) {
+ log_perror(deps_file);
+ return -1;
+ }
+ buf[s.st_size] = '\0';
+ close(fd);
+
+ ptr = buf;
+ line = 0;
+ while (ptr) {
+ line++;
+ ptr = strchr(ptr + 1, '\n');
+ }
+
+ modules_deps = malloc(sizeof(*modules_deps) * (line+1));
+
+ start = buf;
+ line = 0;
+ while (start < (buf+s.st_size) && *start) {
+ char * tmp_deps[50];
+
+ end = strchr(start, '\n');
+ *end = '\0';
+
+ ptr = strchr(start, ':');
+ if (!ptr) {
+ start = end + 1;
+ continue;
+ }
+ *ptr = '\0';
+ ptr++;
+
+ while (*ptr && (*ptr == ' ')) ptr++;
+ if (!*ptr) {
+ start = end + 1;
+ continue;
+ }
+
+ /* sort of a good line */
+ modules_deps[line].name = strdup(start);
+
+ start = ptr;
+ i = 0;
+ while (start && *start) {
+ ptr = strchr(start, ' ');
+ if (ptr) *ptr = '\0';
+ tmp_deps[i++] = strdup(start);
+ if (ptr)
+ start = ptr + 1;
+ else
+ start = NULL;
+ while (start && *start && *start == ' ')
+ start++;
+ }
+ tmp_deps[i++] = NULL;
+
+ modules_deps[line].deps = memdup(tmp_deps, sizeof(char *) * i);
+
+ line++;
+ start = end + 1;
+ }
+ modules_deps[line].name = NULL;
+
+ return 0;
+}
+
+
+void init_modules_insmoding(void)
+{
+ if (load_modules_dependencies()) {
+ fatal_error("warning, error initing modules stuff, modules loading disabled");
+ }
+}
+
+
+static void add_modules_conf(char * str)
+{
+ static char data[5000] = "";
+ char * target = "/tmp/modules.conf";
+ int fd;
+
+ if (strlen(data) + strlen(str) >= sizeof(data))
+ return;
+
+ strcat(data, str);
+ strcat(data, "\n");
+
+ fd = open(target, O_CREAT|O_WRONLY|O_TRUNC, 00660);
+
+ if (fd == -1) {
+ log_perror(str);
+ return;
+ }
+
+ if (write(fd, data, strlen(data) + 1) != (ssize_t) (strlen(data) + 1))
+ log_perror(str);
+
+ close(fd);
+}
+
+
+int module_already_present(const char * name)
+{
+ FILE * f;
+ int answ = 0;
+
+ if ((f = fopen("/proc/modules", "rb"))) {
+ while (1) {
+ char buf[500];
+ if (!fgets(buf, sizeof(buf), f)) break;
+ if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ')
+ answ = 1;
+ }
+ fclose(f);
+ }
+ return answ;
+}
+
+
+static enum insmod_return insmod_with_deps(const char * mod_name, char * options, int allow_modules_floppy)
+{
+ struct module_deps_elem * dep;
+
+ dep = modules_deps;
+ while (dep && dep->name && strcmp(dep->name, mod_name)) dep++;
+
+ if (dep && dep->name && dep->deps) {
+ char ** one_dep;
+ one_dep = dep->deps;
+ while (*one_dep) {
+ /* here, we can fail but we don't care, if the error is
+ * important, the desired module will fail also */
+ insmod_with_deps(*one_dep, NULL, allow_modules_floppy);
+ one_dep++;
+ }
+ }
+
+ if (module_already_present(mod_name))
+ return INSMOD_OK;
+
+ log_message("needs %s", mod_name);
+ {
+ char *file = asprintf_("/modules/%s%s", mod_name, kernel_module_extension());
+ return insmod_local_file(file, options);
+ }
+}
+
+
+static const char * get_name_kernel_26_transition(const char * name)
+{
+ struct kernel_24_26_mapping {
+ const char * name_24;
+ const char * name_26;
+ };
+ static struct kernel_24_26_mapping mappings[] = {
+ { "usb-ohci", "ohci-hcd" },
+ { "usb-uhci", "uhci-hcd" },
+ { "uhci", "uhci-hcd" },
+// { "printer", "usblp" },
+ { "bcm4400", "b44" },
+ { "3c559", "3c359" },
+ { "3c90x", "3c59x" },
+ { "dc395x_trm", "dc395x" },
+// { "audigy", "snd-emu10k1" },
+ };
+ int mappings_nb = sizeof(mappings) / sizeof(struct kernel_24_26_mapping);
+ int i;
+
+ /* pcitable contains 2.4 names. this will need to change if/when it contains 2.6 names! */
+ for (i=0; i<mappings_nb; i++) {
+ if (streq(name, mappings[i].name_24))
+ return mappings[i].name_26;
+ }
+ return name;
+}
+
+
+#ifndef DISABLE_NETWORK
+enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options, int allow_modules_floppy)
+#else
+enum insmod_return my_insmod(const char * mod_name, enum driver_type type __attribute__ ((unused)), char * options, int allow_modules_floppy)
+#endif
+{
+ int i;
+#ifndef DISABLE_NETWORK
+ char ** net_devices = NULL; /* fucking compiler */
+#endif
+
+ const char * real_mod_name = get_name_kernel_26_transition(mod_name);
+
+ if (module_already_present(real_mod_name))
+ return INSMOD_OK;
+
+ log_message("have to insmod %s", real_mod_name);
+
+#ifndef DISABLE_NETWORK
+ if (type == NETWORK_DEVICES)
+ net_devices = get_net_devices();
+#endif
+
+ if (IS_TESTING)
+ return INSMOD_OK;
+
+#ifdef ENABLE_NETWORK_STANDALONE
+ {
+ char *cmd = options ? asprintf_("/sbin/modprobe %s %s", mod_name, options) :
+ asprintf_("/sbin/modprobe %s", mod_name);
+ log_message("running %s", cmd);
+ i = system(cmd);
+ }
+#else
+ i = insmod_with_deps(real_mod_name, options, allow_modules_floppy);
+#endif
+ if (i == 0) {
+ log_message("\tsucceeded %s", real_mod_name);
+#ifndef DISABLE_NETWORK
+ if (type == NETWORK_DEVICES) {
+ char ** new_net_devices = get_net_devices();
+ while (new_net_devices && *new_net_devices) {
+ char alias[500];
+ char ** ptr = net_devices;
+ while (ptr && *ptr) {
+ if (!strcmp(*new_net_devices, *ptr))
+ goto already_present;
+ ptr++;
+ }
+ sprintf(alias, "alias %s %s", *new_net_devices, mod_name);
+ add_modules_conf(alias);
+ log_message("NET: %s", alias);
+ net_discovered_interface(*new_net_devices);
+
+ already_present:
+ new_net_devices++;
+ }
+ }
+#endif
+ } else
+ log_message("warning, insmod failed (%s %s) (%d)", real_mod_name, options, i);
+
+ return i;
+
+}
+
+static enum return_type insmod_with_options(char * mod, enum driver_type type)
+{
+ char * questions[] = { "Options", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+ char options[500] = "options ";
+
+ results = ask_from_entries("Please enter the parameters to give to the kernel:", questions, &answers, 24, NULL);
+ if (results != RETURN_OK)
+ return results;
+
+ strcat(options, mod);
+ strcat(options, " ");
+ strcat(options, answers[0]); // because my_insmod will eventually modify the string
+
+ if (my_insmod(mod, type, answers[0], 1) != INSMOD_OK) {
+ stg1_error_message("Insmod failed.");
+ return RETURN_ERROR;
+ }
+
+ add_modules_conf(options);
+
+ return RETURN_OK;
+}
+
+enum return_type ask_insmod(enum driver_type type)
+{
+ char * mytype;
+ char msg[200];
+ enum return_type results;
+ char * choice;
+
+ unset_automatic(); /* we are in a fallback mode */
+
+ if (type == SCSI_ADAPTERS)
+ mytype = "SCSI";
+ else if (type == NETWORK_DEVICES)
+ mytype = "NET";
+ else
+ return RETURN_ERROR;
+
+ snprintf(msg, sizeof(msg), "Which driver should I try to gain %s access?", mytype);
+
+ {
+ char ** modules = NULL;
+ char ** descrs = malloc(sizeof(char *) * string_array_length(modules));
+ char ** p_modules = modules;
+ char ** p_descrs = descrs;
+ while (p_modules && *p_modules) {
+ int i;
+ *p_descrs = NULL;
+ for (i = 0 ; i < modules_descriptions_num ; i++) {
+ if (!strncmp(*p_modules, modules_descriptions[i].module, strlen(modules_descriptions[i].module))
+ && (*p_modules)[strlen(modules_descriptions[i].module)] == '.') /* one contains '.ko.gz' not the other */
+ *p_descrs = modules_descriptions[i].descr;
+ }
+ p_modules++;
+ p_descrs++;
+ }
+ if (modules && *modules)
+ results = ask_from_list_comments(msg, modules, descrs, &choice);
+ else
+ results = RETURN_BACK;
+ }
+
+ if (results == RETURN_OK) {
+ choice[strlen(choice)-strlen(kernel_module_extension())] = '\0'; /* remove trailing .ko.gz */
+ return insmod_with_options(choice, type);
+ } else
+ return results;
+}
diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h
new file mode 100644
index 000000000..1d48f71e3
--- /dev/null
+++ b/mdk-stage1/modules.h
@@ -0,0 +1,36 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _MODULES_H_
+#define _MODULES_H_
+
+#include "stage1.h"
+#include "probing.h"
+
+enum insmod_return { INSMOD_OK, INSMOD_FAILED, INSMOD_FAILED_FILE_NOT_FOUND };
+
+void init_modules_insmoding(void);
+int insmod_local_file(char * path, char * options);
+enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options, int allow_modules_floppy);
+enum return_type ask_insmod(enum driver_type);
+int module_already_present(const char * name);
+
+struct module_deps_elem {
+ char * name;
+ char ** deps;
+};
+
+extern int disable_modules;
+
+#endif
diff --git a/mdk-stage1/modules_descr.h b/mdk-stage1/modules_descr.h
new file mode 100644
index 000000000..8faf726af
--- /dev/null
+++ b/mdk-stage1/modules_descr.h
@@ -0,0 +1,66 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2001 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _MODULES_DESCR_H_
+#define _MODULES_DESCR_H_
+
+struct module_descr {
+ const char * module;
+ char * descr;
+};
+
+struct module_descr modules_descriptions[] = {
+#ifndef DISABLE_NETWORK
+ /* description of network drivers that have not very explicit names */
+ { "ne", "NE1000/NE2000/clones" },
+ { "ne2k-pci", "PCI NE2000" },
+ { "depca", "DEC DEPCA/DE100/DE101/DE200/DE201/DE202/DE210/DE422" },
+ { "dgrs", "Digi RightSwitch SE-X" },
+ { "ewrk3", "DEC DE203/DE204/DE205" },
+ { "lance", "Allied Telesis AT1500, HP J2405A, NE2100/NE2500" },
+ { "sis900", "SiS 900/7016/630E, Am79c901, RTL8201" },
+ { "via-rhine", "VIA VT86c100A Rhine-II, 3043 Rhine-I" },
+ { "tulip", "DEC 21040-family based cards" },
+ { "wd", "WD8003/WD8013" },
+ { "bmac", "Macintosh integrated ethernet (G3)" },
+ { "gmac", "Macintosh integrated ethernet (G4/iBook)" },
+ { "mace", "Macintosh integrated ethernet (PowerMac)" },
+#endif
+
+#ifndef DISABLE_MEDIAS
+ /* description of scsi drivers that have not very explicit names */
+ { "53c7,8xx", "NCR53c810/700" },
+ { "sim710", "NCR53c710" },
+ { "aic7xxx", "Adaptec 7xxx family (AIC/AHA/etc)" },
+ { "atp870u", "ACARD/ARTOP AEC-6710/6712" },
+ { "ncr53c8xx", "Symbios 53c family" },
+ { "sym53c8xx", "Symbios 53c family" },
+ { "sim710", "NCR53C710 family" },
+ { "mesh", "Macintosh integrated SCSI (NewWorld or internal SCSI)" },
+ { "mac53c94", "Macintosh integrated SCSI (OldWorld or external SCSI)" },
+#endif
+
+#ifdef ENABLE_USB
+ /* description of usb drivers that have not very explicit names */
+ { "usbnet", "Netchip or Prolific USB-USB Bridge" },
+ { "pegasus", "ADMtek AN986 (USB Ethernet chipset)" },
+ { "kaweth", "KL5KUSB101 (USB Ethernet chipset)" },
+ { "catc", "CATC EL1210A NetMate USB Ethernet" },
+#endif
+};
+
+int modules_descriptions_num = sizeof(modules_descriptions) / sizeof(struct module_descr);
+
+
+#endif
diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c
new file mode 100644
index 000000000..71d6f111f
--- /dev/null
+++ b/mdk-stage1/mount.c
@@ -0,0 +1,233 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include "log.h"
+#include "modules.h"
+
+#include "mount.h"
+
+
+
+/* WARNING: this won't work if the argument is not /dev/ based */
+int ensure_dev_exists(const char * dev)
+{
+ int major, minor;
+ int type = S_IFBLK; /* my default type is block. don't forget to change for chars */
+ const char * name;
+ struct stat buf;
+ char * ptr;
+
+ name = &dev[5]; /* we really need that dev be passed as /dev/something.. */
+
+ if (!stat(dev, &buf))
+ return 0; /* if the file already exists, we assume it's correct */
+
+ if (ptr_begins_static_str(name, "sd")) {
+ /* SCSI disks */
+ major = 8;
+ minor = (name[2] - 'a') << 4;
+ if (name[3] && name[4])
+ minor += 10 + (name[4] - '0');
+ else if (name[3])
+ minor += (name[3] - '0');
+ } else if (ptr_begins_static_str(name, "hd")) {
+ /* IDE disks/cd's */
+ if (name[2] == 'a')
+ major = 3, minor = 0;
+ else if (name[2] == 'b')
+ major = 3, minor = 64;
+ else if (name[2] == 'c')
+ major = 22, minor = 0;
+ else if (name[2] == 'd')
+ major = 22, minor = 64;
+ else if (name[2] == 'e')
+ major = 33, minor = 0;
+ else if (name[2] == 'f')
+ major = 33, minor = 64;
+ else if (name[2] == 'g')
+ major = 34, minor = 0;
+ else if (name[2] == 'h')
+ major = 34, minor = 64;
+ else if (name[2] == 'i')
+ major = 56, minor = 0;
+ else if (name[2] == 'j')
+ major = 56, minor = 64;
+ else if (name[2] == 'k')
+ major = 57, minor = 0;
+ else if (name[2] == 'l')
+ major = 57, minor = 64;
+ else if (name[2] == 'm')
+ major = 88, minor = 0;
+ else if (name[2] == 'n')
+ major = 88, minor = 64;
+ else if (name[2] == 'o')
+ major = 89, minor = 0;
+ else if (name[2] == 'p')
+ major = 89, minor = 64;
+ else if (name[2] == 'q')
+ major = 90, minor = 0;
+ else if (name[2] == 'r')
+ major = 90, minor = 64;
+ else if (name[2] == 's')
+ major = 91, minor = 0;
+ else if (name[2] == 't')
+ major = 91, minor = 64;
+ else
+ return -1;
+
+ if (name[3] && name[4])
+ minor += 10 + (name[4] - '0');
+ else if (name[3])
+ minor += (name[3] - '0');
+ } else if (ptr_begins_static_str(name , "sr")) {
+ /* SCSI cd's */
+ major = 11;
+ minor = name[2] - '0';
+ } else if (ptr_begins_static_str(name, "ida/") ||
+ ptr_begins_static_str(name, "cciss/")) {
+ /* Compaq Smart Array "ida/c0d0{p1}" */
+ ptr = strchr(name, '/');
+ mkdir("/dev/ida", 0755);
+ mkdir("/dev/cciss", 0755);
+ major = ptr_begins_static_str(name, "ida/") ? 72 : 104 + charstar_to_int(ptr+2);
+ ptr = strchr(ptr, 'd');
+ minor = 16 * charstar_to_int(ptr+1);
+ ptr = strchr(ptr, 'p');
+ minor += charstar_to_int(ptr+1);
+ } else if (ptr_begins_static_str(name, "rd/")) {
+ /* DAC960 "rd/cXdXXpX" */
+ mkdir("/dev/rd", 0755);
+ major = 48 + charstar_to_int(name+4);
+ ptr = strchr(name+4, 'd');
+ minor = 8 * charstar_to_int(ptr+1);
+ ptr = strchr(ptr, 'p');
+ minor += charstar_to_int(ptr+1);
+ } else if (ptr_begins_static_str(name, "loop")) {
+ major = 7;
+ minor = name[4] - '0';
+ } else if (ptr_begins_static_str(name, "chloop")) {
+ major = 100;
+ minor = name[6] - '0';
+ } else {
+ log_message("I don't know how to create device %s, please post bugreport to me!", dev);
+ return -1;
+ }
+
+ if (mknod(dev, type | 0600, makedev(major, minor))) {
+ log_perror(dev);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+/* mounts, creating the device if needed+possible */
+int my_mount(char *dev, char *location, char *fs, int force_rw)
+{
+ unsigned long flags = MS_MGC_VAL | (force_rw ? 0 : MS_RDONLY);
+ char * opts = NULL;
+ struct stat buf;
+ int rc;
+
+ if (strcmp(fs, "nfs")) {
+ rc = ensure_dev_exists(dev);
+ if (rc != 0) {
+ log_message("could not create required device file");
+ return -1;
+ }
+ }
+
+ log_message("mounting %s on %s as type %s", dev, location, fs);
+
+ if (stat(location, &buf)) {
+ if (mkdir(location, 0755)) {
+ log_perror("could not create location dir");
+ return -1;
+ }
+ } else if (!S_ISDIR(buf.st_mode)) {
+ log_message("not a dir %s, will unlink and mkdir", location);
+ if (unlink(location)) {
+ log_perror("could not unlink");
+ return -1;
+ }
+ if (mkdir(location, 0755)) {
+ log_perror("could not create location dir");
+ return -1;
+ }
+ }
+
+ if (!strcmp(fs, "supermount")) {
+ my_insmod("supermount", ANY_DRIVER_TYPE, NULL, 1);
+ my_insmod("isofs", ANY_DRIVER_TYPE, NULL, 1);
+ opts = alloca(500);
+ sprintf(opts, "dev=%s,fs=iso9660,tray_lock=always", dev);
+ dev = "none";
+ }
+
+#ifndef DISABLE_MEDIAS
+ if (!strcmp(fs, "vfat")) {
+ my_insmod("vfat", ANY_DRIVER_TYPE, NULL, 1);
+ opts = "check=relaxed";
+ }
+
+ if (!strcmp(fs, "ntfs")) {
+ my_insmod("ntfs", ANY_DRIVER_TYPE, NULL, 1);
+ }
+
+ if (!strcmp(fs, "reiserfs"))
+ my_insmod("reiserfs", ANY_DRIVER_TYPE, NULL, 1);
+
+ if (!strcmp(fs, "jfs"))
+ my_insmod("jfs", ANY_DRIVER_TYPE, NULL, 1);
+
+ if (!strcmp(fs, "xfs"))
+ my_insmod("xfs", ANY_DRIVER_TYPE, NULL, 1);
+
+#endif
+ if (!strcmp(fs, "iso9660"))
+ my_insmod("isofs", ANY_DRIVER_TYPE, NULL, 1);
+
+#ifndef DISABLE_NETWORK
+ if (!strcmp(fs, "nfs")) {
+ my_insmod("nfs", ANY_DRIVER_TYPE, NULL, 1);
+ log_message("preparing nfsmount for %s", dev);
+ rc = nfsmount_prepare(dev, &opts);
+ if (rc != 0)
+ return rc;
+ }
+#endif
+
+ rc = mount(dev, location, fs, flags, opts);
+ if (rc != 0) {
+ log_perror("mount failed");
+ rmdir(location);
+ }
+
+ return rc;
+}
diff --git a/mdk-stage1/mount.h b/mdk-stage1/mount.h
new file mode 100644
index 000000000..4a4317182
--- /dev/null
+++ b/mdk-stage1/mount.h
@@ -0,0 +1,32 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _MOUNT_H_
+#define _MOUNT_H_
+
+#ifndef DISABLE_NETWORK
+#include "nfsmount.h"
+#endif
+
+int my_mount(char *dev, char *location, char *fs, int force_rw);
+int ensure_dev_exists(const char * dev);
+
+#endif
diff --git a/mdk-stage1/mount_rpcgen.h b/mdk-stage1/mount_rpcgen.h
new file mode 100644
index 000000000..d70ccaf9d
--- /dev/null
+++ b/mdk-stage1/mount_rpcgen.h
@@ -0,0 +1,208 @@
+/*
+ * Please do not edit this file.
+ * It was generated using rpcgen.
+ */
+
+#ifndef _MOUNT_H_RPCGEN
+#define _MOUNT_H_RPCGEN
+
+#include <rpc/rpc.h>
+
+#define MNTPATHLEN 1024
+#define MNTNAMLEN 255
+#define FHSIZE 32
+
+typedef char fhandle[FHSIZE];
+#ifdef __cplusplus
+extern "C" bool_t xdr_fhandle(XDR *, fhandle);
+#elif __STDC__
+extern bool_t xdr_fhandle(XDR *, fhandle);
+#else /* Old Style C */
+bool_t xdr_fhandle();
+#endif /* Old Style C */
+
+
+struct fhstatus {
+ u_int fhs_status;
+ union {
+ fhandle fhs_fhandle;
+ } fhstatus_u;
+};
+typedef struct fhstatus fhstatus;
+#ifdef __cplusplus
+extern "C" bool_t xdr_fhstatus(XDR *, fhstatus*);
+#elif __STDC__
+extern bool_t xdr_fhstatus(XDR *, fhstatus*);
+#else /* Old Style C */
+bool_t xdr_fhstatus();
+#endif /* Old Style C */
+
+
+typedef char *dirpath;
+#ifdef __cplusplus
+extern "C" bool_t xdr_dirpath(XDR *, dirpath*);
+#elif __STDC__
+extern bool_t xdr_dirpath(XDR *, dirpath*);
+#else /* Old Style C */
+bool_t xdr_dirpath();
+#endif /* Old Style C */
+
+
+typedef char *name;
+#ifdef __cplusplus
+extern "C" bool_t xdr_name(XDR *, name*);
+#elif __STDC__
+extern bool_t xdr_name(XDR *, name*);
+#else /* Old Style C */
+bool_t xdr_name();
+#endif /* Old Style C */
+
+
+typedef struct mountbody *mountlist;
+#ifdef __cplusplus
+extern "C" bool_t xdr_mountlist(XDR *, mountlist*);
+#elif __STDC__
+extern bool_t xdr_mountlist(XDR *, mountlist*);
+#else /* Old Style C */
+bool_t xdr_mountlist();
+#endif /* Old Style C */
+
+
+struct mountbody {
+ name ml_hostname;
+ dirpath ml_directory;
+ mountlist ml_next;
+};
+typedef struct mountbody mountbody;
+#ifdef __cplusplus
+extern "C" bool_t xdr_mountbody(XDR *, mountbody*);
+#elif __STDC__
+extern bool_t xdr_mountbody(XDR *, mountbody*);
+#else /* Old Style C */
+bool_t xdr_mountbody();
+#endif /* Old Style C */
+
+
+typedef struct groupnode *groups;
+#ifdef __cplusplus
+extern "C" bool_t xdr_groups(XDR *, groups*);
+#elif __STDC__
+extern bool_t xdr_groups(XDR *, groups*);
+#else /* Old Style C */
+bool_t xdr_groups();
+#endif /* Old Style C */
+
+
+struct groupnode {
+ name gr_name;
+ groups gr_next;
+};
+typedef struct groupnode groupnode;
+#ifdef __cplusplus
+extern "C" bool_t xdr_groupnode(XDR *, groupnode*);
+#elif __STDC__
+extern bool_t xdr_groupnode(XDR *, groupnode*);
+#else /* Old Style C */
+bool_t xdr_groupnode();
+#endif /* Old Style C */
+
+
+typedef struct exportnode *exports;
+#ifdef __cplusplus
+extern "C" bool_t xdr_exports(XDR *, exports*);
+#elif __STDC__
+extern bool_t xdr_exports(XDR *, exports*);
+#else /* Old Style C */
+bool_t xdr_exports();
+#endif /* Old Style C */
+
+
+struct exportnode {
+ dirpath ex_dir;
+ groups ex_groups;
+ exports ex_next;
+};
+typedef struct exportnode exportnode;
+#ifdef __cplusplus
+extern "C" bool_t xdr_exportnode(XDR *, exportnode*);
+#elif __STDC__
+extern bool_t xdr_exportnode(XDR *, exportnode*);
+#else /* Old Style C */
+bool_t xdr_exportnode();
+#endif /* Old Style C */
+
+
+#define MOUNTPROG ((u_long)100005)
+#define MOUNTVERS ((u_long)1)
+
+#ifdef __cplusplus
+#define MOUNTPROC_NULL ((u_long)0)
+extern "C" void * mountproc_null_1(void *, CLIENT *);
+extern "C" void * mountproc_null_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_MNT ((u_long)1)
+extern "C" fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
+extern "C" fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_DUMP ((u_long)2)
+extern "C" mountlist * mountproc_dump_1(void *, CLIENT *);
+extern "C" mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_UMNT ((u_long)3)
+extern "C" void * mountproc_umnt_1(dirpath *, CLIENT *);
+extern "C" void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_UMNTALL ((u_long)4)
+extern "C" void * mountproc_umntall_1(void *, CLIENT *);
+extern "C" void * mountproc_umntall_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORT ((u_long)5)
+extern "C" exports * mountproc_export_1(void *, CLIENT *);
+extern "C" exports * mountproc_export_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORTALL ((u_long)6)
+extern "C" exports * mountproc_exportall_1(void *, CLIENT *);
+extern "C" exports * mountproc_exportall_1_svc(void *, struct svc_req *);
+
+#elif __STDC__
+#define MOUNTPROC_NULL ((u_long)0)
+extern void * mountproc_null_1(void *, CLIENT *);
+extern void * mountproc_null_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_MNT ((u_long)1)
+extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
+extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_DUMP ((u_long)2)
+extern mountlist * mountproc_dump_1(void *, CLIENT *);
+extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_UMNT ((u_long)3)
+extern void * mountproc_umnt_1(dirpath *, CLIENT *);
+extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_UMNTALL ((u_long)4)
+extern void * mountproc_umntall_1(void *, CLIENT *);
+extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORT ((u_long)5)
+extern exports * mountproc_export_1(void *, CLIENT *);
+extern exports * mountproc_export_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORTALL ((u_long)6)
+extern exports * mountproc_exportall_1(void *, CLIENT *);
+extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
+
+#else /* Old Style C */
+#define MOUNTPROC_NULL ((u_long)0)
+extern void * mountproc_null_1();
+extern void * mountproc_null_1_svc();
+#define MOUNTPROC_MNT ((u_long)1)
+extern fhstatus * mountproc_mnt_1();
+extern fhstatus * mountproc_mnt_1_svc();
+#define MOUNTPROC_DUMP ((u_long)2)
+extern mountlist * mountproc_dump_1();
+extern mountlist * mountproc_dump_1_svc();
+#define MOUNTPROC_UMNT ((u_long)3)
+extern void * mountproc_umnt_1();
+extern void * mountproc_umnt_1_svc();
+#define MOUNTPROC_UMNTALL ((u_long)4)
+extern void * mountproc_umntall_1();
+extern void * mountproc_umntall_1_svc();
+#define MOUNTPROC_EXPORT ((u_long)5)
+extern exports * mountproc_export_1();
+extern exports * mountproc_export_1_svc();
+#define MOUNTPROC_EXPORTALL ((u_long)6)
+extern exports * mountproc_exportall_1();
+extern exports * mountproc_exportall_1_svc();
+#endif /* Old Style C */
+
+#endif /* !_MOUNT_H_RPCGEN */
diff --git a/mdk-stage1/network.c b/mdk-stage1/network.c
new file mode 100644
index 000000000..f02903c55
--- /dev/null
+++ b/mdk-stage1/network.c
@@ -0,0 +1,1243 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+/* define _GNU_SOURCE so strndup is available */
+#define _GNU_SOURCE
+#include <string.h>
+#include <unistd.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <arpa/inet.h>
+#include <net/route.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <stdio.h>
+#include <netdb.h>
+#include <resolv.h>
+#include <sys/utsname.h>
+
+#include "stage1.h"
+#include "frontend.h"
+#include "modules.h"
+#include "probing.h"
+#include "log.h"
+#include "mount.h"
+#include "automatic.h"
+#include "dhcp.h"
+#include "adsl.h"
+#include "url.h"
+#include "dns.h"
+
+#include "network.h"
+#include "directory.h"
+#include "wireless.h"
+
+#ifndef DISABLE_KA
+#include "ka.h"
+#endif
+
+static void error_message_net(void) /* reduce code size */
+{
+ stg1_error_message("Could not configure network.");
+}
+
+
+int configure_net_device(struct interface_info * intf)
+{
+ struct ifreq req;
+ struct rtentry route;
+ int s;
+ struct sockaddr_in addr;
+ struct in_addr ia;
+ char ip[20], nm[20], nw[20], bc[20];
+
+ addr.sin_family = AF_INET;
+ addr.sin_port = 0;
+
+ memcpy(&ia, &intf->ip, sizeof(intf->ip));
+ strcpy(ip, inet_ntoa(ia));
+
+ memcpy(&ia, &intf->netmask, sizeof(intf->netmask));
+ strcpy(nm, inet_ntoa(ia));
+
+ memcpy(&ia, &intf->broadcast, sizeof(intf->broadcast));
+ strcpy(bc, inet_ntoa(ia));
+
+ memcpy(&ia, &intf->network, sizeof(intf->network));
+ strcpy(nw, inet_ntoa(ia));
+
+ log_message("configuring device %s ip: %s nm: %s nw: %s bc: %s", intf->device, ip, nm, nw, bc);
+
+ if (IS_TESTING)
+ return 0;
+
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ log_perror("socket");
+ error_message_net();
+ return 1;
+ }
+
+ strcpy(req.ifr_name, intf->device);
+
+ if (intf->is_up == 1) {
+ log_message("interface already up, downing before reconfigure");
+
+ req.ifr_flags = 0;
+ if (ioctl(s, SIOCSIFFLAGS, &req)) {
+ close(s);
+ log_perror("SIOCSIFFLAGS (downing)");
+ error_message_net();
+ return 1;
+ }
+ }
+
+ /* sets IP address */
+ addr.sin_port = 0;
+ memcpy(&addr.sin_addr, &intf->ip, sizeof(intf->ip));
+ memcpy(&req.ifr_addr, &addr, sizeof(addr));
+ if (ioctl(s, SIOCSIFADDR, &req)) {
+ close(s);
+ log_perror("SIOCSIFADDR");
+ error_message_net();
+ return 1;
+ }
+
+ /* sets broadcast */
+ memcpy(&addr.sin_addr, &intf->broadcast, sizeof(intf->broadcast));
+ memcpy(&req.ifr_broadaddr, &addr, sizeof(addr));
+ if (ioctl(s, SIOCSIFBRDADDR, &req)) {
+ close(s);
+ log_perror("SIOCSIFBRDADDR");
+ error_message_net();
+ return 1;
+ }
+
+ /* sets netmask */
+ memcpy(&addr.sin_addr, &intf->netmask, sizeof(intf->netmask));
+ memcpy(&req.ifr_netmask, &addr, sizeof(addr));
+ if (ioctl(s, SIOCSIFNETMASK, &req)) {
+ close(s);
+ log_perror("SIOCSIFNETMASK");
+ error_message_net();
+ return 1;
+ }
+
+ if (intf->is_ptp)
+ req.ifr_flags = IFF_UP | IFF_RUNNING | IFF_POINTOPOINT | IFF_NOARP;
+ else
+ req.ifr_flags = IFF_UP | IFF_RUNNING | IFF_BROADCAST;
+
+ /* brings up networking! */
+ if (ioctl(s, SIOCSIFFLAGS, &req)) {
+ close(s);
+ log_perror("SIOCSIFFLAGS (upping)");
+ error_message_net();
+ return 1;
+ }
+
+ memset(&route, 0, sizeof(route));
+ route.rt_dev = intf->device;
+ route.rt_flags = RTF_UP;
+
+ memcpy(&addr.sin_addr, &intf->network, sizeof(intf->network));
+ memcpy(&route.rt_dst, &addr, sizeof(addr));
+
+ memcpy(&addr.sin_addr, &intf->netmask, sizeof(intf->netmask));
+ memcpy(&route.rt_genmask, &addr, sizeof(addr));
+
+ /* adds route */
+ if (ioctl(s, SIOCADDRT, &route)) {
+ close(s);
+ log_perror("SIOCADDRT");
+ error_message_net();
+ return 1;
+ }
+
+ close(s);
+
+ intf->is_up = 1;
+
+ if (intf->boot_proto != BOOTPROTO_DHCP && !streq(intf->device, "lo")) {
+ /* I need to sleep a bit in order for kernel to finish
+ init of the network device; if not, first sendto() for
+ gethostbyaddr will get an EINVAL. */
+ wait_message("Bringing up networking...");
+ sleep(2);
+ remove_wait_message();
+ }
+
+ return 0;
+}
+
+/* host network informations */
+char * hostname = NULL;
+char * domain = NULL;
+struct in_addr gateway = { 0 };
+struct in_addr dns_server = { 0 };
+struct in_addr dns_server2 = { 0 };
+
+static int add_default_route(void)
+{
+ int s;
+ struct rtentry route;
+ struct sockaddr_in addr;
+
+ if (IS_TESTING)
+ return 0;
+
+ if (gateway.s_addr == 0) {
+ log_message("no gateway provided, can't add default route");
+ return 0;
+ }
+
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ close(s);
+ log_perror("socket");
+ error_message_net();
+ return 1;
+ }
+
+ memset(&route, 0, sizeof(route));
+
+ addr.sin_family = AF_INET;
+ addr.sin_port = 0;
+ addr.sin_addr = gateway;
+ memcpy(&route.rt_gateway, &addr, sizeof(addr));
+
+ addr.sin_addr.s_addr = INADDR_ANY;
+ memcpy(&route.rt_dst, &addr, sizeof(addr));
+ memcpy(&route.rt_genmask, &addr, sizeof(addr));
+
+ route.rt_flags = RTF_UP | RTF_GATEWAY;
+ route.rt_metric = 0;
+
+ if (ioctl(s, SIOCADDRT, &route)) {
+ close(s);
+ log_perror("SIOCADDRT");
+ error_message_net();
+ return 1;
+ }
+
+ close(s);
+
+ return 0;
+}
+
+
+static int write_resolvconf(void)
+{
+ char * filename = "/etc/resolv.conf";
+ FILE * f;
+
+ if (dns_server.s_addr == 0) {
+ log_message("resolvconf needs a dns server");
+ return -1;
+ }
+
+ f = fopen(filename, "w");
+ if (!f) {
+ log_perror(filename);
+ return -1;
+ }
+
+ if (domain)
+ fprintf(f, "search %s\n", domain); /* we can live without the domain search (user will have to enter fully-qualified names) */
+ fprintf(f, "nameserver %s\n", inet_ntoa(dns_server));
+ if (dns_server2.s_addr != 0)
+ fprintf(f, "nameserver %s\n", inet_ntoa(dns_server2));
+
+ fclose(f);
+ res_init(); /* reinit the resolver so DNS changes take affect */
+
+ return 0;
+}
+
+
+static int save_netinfo(struct interface_info * intf)
+{
+ char * file_network = "/tmp/network";
+ char file_intf[500];
+ FILE * f;
+
+ f = fopen(file_network, "w");
+ if (!f) {
+ log_perror(file_network);
+ return -1;
+ }
+
+ fprintf(f, "NETWORKING=yes\n");
+ fprintf(f, "FORWARD_IPV4=false\n");
+
+ if (hostname && !intf->boot_proto == BOOTPROTO_DHCP)
+ fprintf(f, "HOSTNAME=%s\n", hostname);
+ if (gateway.s_addr != 0)
+ fprintf(f, "GATEWAY=%s\n", inet_ntoa(gateway));
+
+ fclose(f);
+
+
+ strcpy(file_intf, "/tmp/ifcfg-");
+ strcat(file_intf, intf->device);
+
+ f = fopen(file_intf, "w");
+ if (!f) {
+ log_perror(file_intf);
+ return -1;
+ }
+
+ fprintf(f, "DEVICE=%s\n", intf->device);
+
+ if (intf->boot_proto == BOOTPROTO_DHCP) {
+ fprintf(f, "BOOTPROTO=dhcp\n");
+ if (dhcp_hostname && !streq(dhcp_hostname, ""))
+ fprintf(f, "DHCP_HOSTNAME=%s\n", dhcp_hostname);
+ } else if (intf->boot_proto == BOOTPROTO_STATIC) {
+ fprintf(f, "BOOTPROTO=static\n");
+ fprintf(f, "IPADDR=%s\n", inet_ntoa(intf->ip));
+ fprintf(f, "NETMASK=%s\n", inet_ntoa(intf->netmask));
+ fprintf(f, "NETWORK=%s\n", inet_ntoa(intf->network));
+ fprintf(f, "BROADCAST=%s\n", inet_ntoa(intf->broadcast));
+ if (domain)
+ fprintf(f, "DOMAIN=%s\n", domain);
+ if (dns_server.s_addr != 0)
+ fprintf(f, "DNS1=%s\n", inet_ntoa(dns_server));
+ if (dns_server2.s_addr != 0)
+ fprintf(f, "DNS2=%s\n", inet_ntoa(dns_server2));
+ } else if (intf->boot_proto == BOOTPROTO_ADSL_PPPOE) {
+ fprintf(f, "BOOTPROTO=adsl_pppoe\n");
+ fprintf(f, "USER=%s\n", intf->user);
+ fprintf(f, "PASS=%s\n", intf->pass);
+ fprintf(f, "ACNAME=%s\n", intf->acname);
+ }
+
+ fclose(f);
+
+ return 0;
+}
+
+
+char * guess_netmask(char * ip_addr)
+{
+ struct in_addr addr;
+ unsigned long int tmp;
+
+ if (streq(ip_addr, "") || !inet_aton(ip_addr, &addr))
+ return "";
+
+ log_message("guessing netmask");
+
+ tmp = ntohl(addr.s_addr);
+
+ if (((tmp & 0xFF000000) >> 24) <= 127)
+ return "255.0.0.0";
+ else if (((tmp & 0xFF000000) >> 24) <= 191)
+ return "255.255.0.0";
+ else
+ return "255.255.255.0";
+}
+
+
+char * guess_domain_from_hostname(char *hostname)
+{
+ char *domain = strchr(strdup(hostname), '.');
+ if (!domain || domain[1] == '\0') {
+ log_message("unable to guess domain from hostname: %s", hostname);
+ return NULL;
+ }
+ return domain + 1; /* skip '.' */
+}
+
+
+static void static_ip_callback(char ** strings)
+{
+ struct in_addr addr;
+
+ static int done = 0;
+ if (done)
+ return;
+ if (streq(strings[0], "") || !inet_aton(strings[0], &addr))
+ return;
+ done = 1;
+
+ if (!strcmp(strings[1], "")) {
+ char * ptr;
+ strings[1] = strdup(strings[0]);
+ ptr = strrchr(strings[1], '.');
+ if (ptr)
+ *(ptr+1) = '\0';
+ }
+
+ if (!strcmp(strings[2], ""))
+ strings[2] = strdup(strings[1]);
+
+ if (!strcmp(strings[3], ""))
+ strings[3] = strdup(guess_netmask(strings[0]));
+}
+
+
+static enum return_type setup_network_interface(struct interface_info * intf)
+{
+ enum return_type results;
+ char * bootprotos[] = { "Static", "DHCP", "ADSL", NULL };
+ char * bootprotos_auto[] = { "static", "dhcp", "adsl" };
+ char * choice;
+
+ results = ask_from_list_auto("Please select your network connection type.", bootprotos, &choice, "network", bootprotos_auto);
+ if (results != RETURN_OK)
+ return results;
+
+ if (!strcmp(choice, "Static")) {
+ char * questions[] = { "IP of this machine", "IP of DNS", "IP of default gateway", "Netmask", NULL };
+ char * questions_auto[] = { "ip", "dns", "gateway", "netmask" };
+ static char ** answers = NULL;
+ struct in_addr addr;
+
+ results = ask_from_entries_auto("Please enter the network information. (leave netmask blank for Internet standard)",
+ questions, &answers, 16, questions_auto, static_ip_callback);
+ if (results != RETURN_OK)
+ return setup_network_interface(intf);
+
+ if (streq(answers[0], "") || !inet_aton(answers[0], &addr)) {
+ stg1_error_message("Invalid IP address.");
+ return setup_network_interface(intf);
+ }
+ memcpy(&intf->ip, &addr, sizeof(addr));
+
+ if (!inet_aton(answers[1], &dns_server)) {
+ log_message("invalid DNS");
+ dns_server.s_addr = 0; /* keep an understandable state */
+ }
+
+ if (streq(answers[0], answers[1])) {
+ log_message("IP and DNS are the same, guess you don't want a DNS, disabling it");
+ dns_server.s_addr = 0; /* keep an understandable state */
+ }
+
+ if (!inet_aton(answers[2], &gateway)) {
+ log_message("invalid gateway");
+ gateway.s_addr = 0; /* keep an understandable state */
+ }
+
+ if ((streq(answers[3], "") && inet_aton(guess_netmask(answers[0]), &addr))
+ || inet_aton(answers[3], &addr))
+ memcpy(&intf->netmask, &addr, sizeof(addr));
+ else {
+ stg1_error_message("Invalid netmask.");
+ return setup_network_interface(intf);
+ }
+
+ *((uint32_t *) &intf->broadcast) = (*((uint32_t *) &intf->ip) &
+ *((uint32_t *) &intf->netmask)) | ~(*((uint32_t *) &intf->netmask));
+
+ inet_aton("255.255.255.255", &addr);
+ if (!memcmp(&addr, &intf->netmask, sizeof(addr))) {
+ log_message("netmask is 255.255.255.255 -> point to point device");
+ intf->network = gateway;
+ intf->is_ptp = 1;
+ } else {
+ *((uint32_t *) &intf->network) = *((uint32_t *) &intf->ip) & *((uint32_t *) &intf->netmask);
+ intf->is_ptp = 0;
+ }
+ intf->boot_proto = BOOTPROTO_STATIC;
+
+ if (configure_net_device(intf))
+ return RETURN_ERROR;
+
+ } else if (streq(choice, "DHCP")) {
+ results = perform_dhcp(intf);
+
+ if (results == RETURN_BACK)
+ return setup_network_interface(intf);
+ if (results == RETURN_ERROR)
+ return results;
+ intf->boot_proto = BOOTPROTO_DHCP;
+
+ if (configure_net_device(intf))
+ return RETURN_ERROR;
+
+ } else if (streq(choice, "ADSL")) {
+ results = perform_adsl(intf);
+
+ if (results == RETURN_BACK)
+ return setup_network_interface(intf);
+ if (results == RETURN_ERROR)
+ return results;
+ } else
+ return RETURN_ERROR;
+
+ return add_default_route();
+}
+
+
+static enum return_type configure_network(struct interface_info * intf)
+{
+ char * dnshostname;
+
+ if (hostname && domain)
+ return RETURN_OK;
+
+ dnshostname = mygethostbyaddr(inet_ntoa(intf->ip));
+
+ if (dnshostname) {
+ if (intf->boot_proto == BOOTPROTO_STATIC)
+ hostname = strdup(dnshostname);
+ domain = guess_domain_from_hostname(dnshostname);
+ if (domain) {
+ log_message("got hostname and domain from dns entry, %s and %s", dnshostname, domain);
+ return RETURN_OK;
+ }
+ } else
+ log_message("reverse name lookup on self failed");
+
+ if (domain)
+ return RETURN_OK;
+
+ dnshostname = NULL;
+ if (dns_server.s_addr != 0) {
+ wait_message("Trying to resolve dns...");
+ dnshostname = mygethostbyaddr(inet_ntoa(dns_server));
+ remove_wait_message();
+ if (dnshostname) {
+ log_message("got DNS fullname, %s", dnshostname);
+ domain = guess_domain_from_hostname(dnshostname);
+ } else
+ log_message("reverse name lookup on DNS failed");
+ } else
+ log_message("no DNS, unable to guess domain");
+
+ if (domain) {
+ log_message("got domain from DNS fullname, %s", domain);
+ } else {
+ enum return_type results;
+ char * questions[] = { "Host name", "Domain name", NULL };
+ char * questions_auto[] = { "hostname", "domain" };
+ static char ** answers = NULL;
+ char * boulet;
+
+ if (dhcp_hostname || dhcp_domain) {
+ answers = (char **) malloc(sizeof(questions));
+ answers[0] = strdup(dhcp_hostname);
+ answers[1] = strdup(dhcp_domain);
+ }
+
+ if (!dhcp_hostname || !dhcp_hostname) {
+ results = ask_from_entries_auto("I could not guess hostname and domain name; please fill in this information. "
+ "Valid answers are for example: `mybox' for hostname and `mynetwork.com' for "
+ "domain name, for a machine called `mybox.mynetwork.com' on the Internet.",
+ questions, &answers, 32, questions_auto, NULL);
+ if (results != RETURN_OK)
+ return results;
+ }
+
+ hostname = answers[0];
+ if ((boulet = strchr(hostname, '.')) != NULL)
+ boulet[0] = '\0';
+ domain = answers[1];
+ }
+
+ log_message("using hostname %s", hostname);
+ log_message("using domain %s", domain);
+
+ return RETURN_OK;
+}
+
+
+static enum return_type bringup_networking(struct interface_info * intf)
+{
+ static struct interface_info loopback;
+ enum return_type results;
+
+ my_insmod("af_packet", ANY_DRIVER_TYPE, NULL, 1);
+
+ do {
+ results = configure_wireless(intf->device);
+ } while (results == RETURN_ERROR);
+
+ if (results == RETURN_BACK)
+ return RETURN_BACK;
+
+ do {
+ results = setup_network_interface(intf);
+ if (results != RETURN_OK)
+ return results;
+ write_resolvconf();
+ results = configure_network(intf);
+ } while (results == RETURN_ERROR);
+
+ if (results == RETURN_BACK)
+ return bringup_networking(intf);
+
+ write_resolvconf(); /* maybe we have now domain to write also */
+
+ if (loopback.is_up == 0) {
+ int rc;
+ strcpy(loopback.device, "lo");
+ loopback.is_ptp = 0;
+ loopback.is_up = 0;
+ loopback.ip.s_addr = htonl(0x7f000001);
+ loopback.netmask.s_addr = htonl(0xff000000);
+ loopback.broadcast.s_addr = htonl(0x7fffffff);
+ loopback.network.s_addr = htonl(0x7f000000);
+ rc = configure_net_device(&loopback);
+ if (rc)
+ return RETURN_ERROR;
+ }
+
+ return RETURN_OK;
+}
+
+
+static char * auto_select_up_intf(int detection_mode)
+{
+#define SIOCETHTOOL 0x8946
+#define ETHTOOL_GLINK 0x0000000a /* Get link status (ethtool_value) */
+
+ struct ethtool_value {
+ uint32_t cmd;
+ uint32_t data;
+ };
+
+ char ** interfaces, ** ptr;
+ interfaces = get_net_devices();
+
+ int s;
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ return NULL;
+ }
+
+ ptr = interfaces;
+ while (ptr && *ptr) {
+ if (detection_mode != AUTO_DETECTION_WIRED || !wireless_is_aware(s, *interfaces)) {
+ struct ifreq ifr;
+ struct ethtool_value edata;
+ strncpy(ifr.ifr_name, *ptr, IFNAMSIZ);
+ edata.cmd = ETHTOOL_GLINK;
+ ifr.ifr_data = (caddr_t)&edata;
+ if (ioctl(s, SIOCETHTOOL, &ifr) == 0 && edata.data) {
+ close(s);
+ log_message("NETWORK: choosing interface %s (link beat detected)", *ptr);
+ return *ptr;
+ }
+ }
+ ptr++;
+ }
+
+ log_message("NETWORK: no interface has a link beat");
+
+ if (detection_mode == AUTO_DETECTION_WIRED) {
+ ptr = interfaces;
+ while (ptr && *ptr) {
+ if (!wireless_is_aware(s, *interfaces)) {
+ close(s);
+ log_message("NETWORK: choosing interface %s (wired interface)", *ptr);
+ return *ptr;
+ }
+ ptr++;
+ }
+ log_message("NETWORK: no interface is wired");
+ }
+
+ close(s);
+
+ return NULL;
+}
+
+
+static char * interface_select(void)
+{
+ char ** interfaces, ** ptr;
+ char * descriptions[50];
+ char * choice;
+ int i, count = 0;
+ enum return_type results;
+
+ interfaces = get_net_devices();
+
+ ptr = interfaces;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
+ }
+
+ if (count == 0) {
+ stg1_error_message("No NET device found.\n"
+ "Hint: if you're using a Laptop, note that PCMCIA Network adapters are now supported either with `pcmcia.img' or `network.img', please try both these bootdisks.");
+ i = ask_insmod(NETWORK_DEVICES);
+ if (i == RETURN_BACK)
+ return NULL;
+ return interface_select();
+ }
+
+ if (count == 1)
+ return *interfaces;
+
+ /* this can't be done in ask_from_list_comments_auto because "auto" and "wired" are not in the interfaces list */
+ if (IS_AUTOMATIC) {
+ enum auto_detection_type auto_detect = AUTO_DETECTION_NONE;
+ if (streq(get_auto_value("interface"), "auto"))
+ auto_detect = AUTO_DETECTION_ALL;
+ else if (streq(get_auto_value("interface"), "wired"))
+ auto_detect = AUTO_DETECTION_WIRED;
+ if (auto_detect != AUTO_DETECTION_NONE) {
+ choice = auto_select_up_intf(auto_detect);
+ if (choice)
+ return choice;
+ }
+ }
+
+ i = 0;
+ while (interfaces[i]) {
+ descriptions[i] = get_net_intf_description(interfaces[i]);
+ i++;
+ }
+
+ results = ask_from_list_comments_auto("Please choose the NET device to use for the installation.",
+ interfaces, descriptions, &choice, "interface", interfaces);
+
+ if (results != RETURN_OK)
+ return NULL;
+
+ return choice;
+}
+
+static enum return_type get_http_proxy(char **http_proxy_host, char **http_proxy_port)
+{
+ char *questions[] = { "HTTP proxy host", "HTTP proxy port", NULL };
+ char *questions_auto[] = { "proxy_host", "proxy_port", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+
+ results = ask_from_entries_auto("Please enter HTTP proxy host and port if you need it, else leave them blank or cancel.",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results == RETURN_OK) {
+ *http_proxy_host = answers[0];
+ *http_proxy_port = answers[1];
+ } else {
+ *http_proxy_host = NULL;
+ *http_proxy_port = NULL;
+ }
+
+ return results;
+}
+
+
+static int mirrorlist_entry_split(const char *entry, char *mirror[4]) /* mirror = { medium, protocol, host, path } */
+{
+ char *medium_sep, *protocol_sep, *host_sep, *path_sep;
+
+ medium_sep = strchr(entry, ':');
+ if (!medium_sep || medium_sep == entry) {
+ log_message("NETWORK: no medium in \"%s\"", entry);
+ return -1;
+ }
+
+ mirror[0] = strndup(entry, medium_sep - entry);
+ entry = medium_sep + 1;
+
+ protocol_sep = strstr(entry, "://");
+ if (!protocol_sep || protocol_sep == entry) {
+ log_message("NETWORK: no protocol in \"%s\"", entry);
+ return -1;
+ }
+
+ mirror[1] = strndup(entry, protocol_sep - entry);
+ entry = protocol_sep + 3;
+
+ host_sep = strchr(entry, '/');
+ if (!host_sep || host_sep == entry) {
+ log_message("NETWORK: no hostname in \"%s\"", entry);
+ return -1;
+ }
+
+ mirror[2] = strndup(entry, host_sep - entry);
+ entry = host_sep;
+
+ path_sep = strstr(entry, "/media/main");
+ if (!path_sep || path_sep == entry) {
+ log_message("NETWORK: this path isn't valid : \"%s\"", entry);
+ return -1;
+ }
+
+ mirror[3] = strndup(entry, path_sep - entry);
+
+ return 0;
+}
+
+
+#define MIRRORLIST_MAX_ITEMS 500
+#define MIRRORLIST_MAX_MEDIA 10
+
+static int choose_mirror_from_host_list(char *mirrorlist[][4], const char *protocol, char *medium, char **selected_host, char **filepath)
+{
+ enum return_type results;
+ char *hostlist[MIRRORLIST_MAX_ITEMS+1] = { "Specify the mirror manually", "-----" };
+ int hostlist_index = 2, mirrorlist_index;
+
+ /* select hosts matching medium and protocol */
+ for (mirrorlist_index = 0; mirrorlist[mirrorlist_index][0]; mirrorlist_index++) {
+ if (!strcmp(mirrorlist[mirrorlist_index][0], medium) &&
+ !strcmp(mirrorlist[mirrorlist_index][1], protocol)) {
+ hostlist[hostlist_index] = mirrorlist[mirrorlist_index][2];
+ hostlist_index++;
+ if (hostlist_index == MIRRORLIST_MAX_ITEMS)
+ break;
+ }
+ }
+ hostlist[hostlist_index] = NULL;
+
+ do {
+ results = ask_from_list("Please select a mirror from the list below.",
+ hostlist, selected_host);
+
+ if (results == RETURN_BACK) {
+ return RETURN_ERROR;
+ } else if (results == RETURN_OK) {
+ if (!strcmp(*selected_host, hostlist[0])) {
+ /* enter the mirror manually */
+ return RETURN_OK;
+ } else if (!strcmp(*selected_host, hostlist[1])) {
+ /* the separator has been selected */
+ results = RETURN_ERROR;
+ continue;
+ }
+ }
+
+ /* select the path according to medium, protocol and host */
+ for (mirrorlist_index = 0; mirrorlist[mirrorlist_index][0]; mirrorlist_index++) {
+ if (!strcmp(mirrorlist[mirrorlist_index][0], medium) &&
+ !strcmp(mirrorlist[mirrorlist_index][1], protocol) &&
+ !strcmp(mirrorlist[mirrorlist_index][2], *selected_host)) {
+ *filepath = mirrorlist[mirrorlist_index][3];
+ return RETURN_OK;
+ }
+ }
+
+ stg1_info_message("Unable to find the path for this mirror, please select another one");
+ results = RETURN_ERROR;
+
+ } while (results == RETURN_ERROR);
+
+ return RETURN_ERROR;
+}
+
+
+static int choose_mirror_from_list(char *http_proxy_host, char *http_proxy_port, const char *protocol, char **selected_host, char **filepath)
+{
+ enum return_type results;
+ char *mirrorlist[MIRRORLIST_MAX_ITEMS+1][4];
+ int mirrorlist_number = 0;
+ char *medialist[MIRRORLIST_MAX_MEDIA+1] = { "Specify the mirror manually", "-----" };
+ int media_number = 2;
+ char *selected_medium;
+ int fd, size, line_pos = 0;
+ char line[500];
+ int use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+
+ fd = http_download_file(MIRRORLIST_HOST, MIRRORLIST_PATH, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ if (fd < 0) {
+ log_message("HTTP: unable to get mirrors list");
+ return RETURN_ERROR;
+ }
+
+ while (read(fd, line + line_pos, 1) > 0) {
+ if (line[line_pos] == '\n') {
+ line[line_pos] = '\0';
+ line_pos = 0;
+
+ /* skip medium if it looks like an updates one */
+ if (strstr(line, "updates"))
+ continue;
+
+ if (mirrorlist_entry_split(line, mirrorlist[mirrorlist_number]) < 0)
+ continue;
+
+ /* add medium in media list if different from previous one */
+ if (media_number == 2 ||
+ strcmp(mirrorlist[mirrorlist_number][0], medialist[media_number-1])) {
+ medialist[media_number] = mirrorlist[mirrorlist_number][0];
+ media_number++;
+ }
+
+ mirrorlist_number++;
+ } else {
+ line_pos++;
+ }
+
+ if (mirrorlist_number >= MIRRORLIST_MAX_ITEMS || media_number >= MIRRORLIST_MAX_MEDIA)
+ break;
+ }
+ close(fd);
+
+ mirrorlist[mirrorlist_number][0] = NULL;
+ medialist[media_number] = NULL;
+
+ do {
+ results = ask_from_list("Please select a medium from the list below.",
+ medialist, &selected_medium);
+
+ if (results == RETURN_BACK) {
+ return RETURN_BACK;
+ } else if (results == RETURN_OK) {
+ if (!strcmp(selected_medium, medialist[0])) {
+ /* enter the mirror manually */
+ return RETURN_OK;
+ } else if (!strcmp(selected_medium, medialist[1])) {
+ /* the separator has been selected */
+ results = RETURN_ERROR;
+ continue;
+ } else {
+ /* a medium has been selected */
+ results = choose_mirror_from_host_list(mirrorlist, protocol, selected_medium, selected_host, filepath);
+ }
+ }
+ } while (results == RETURN_ERROR);
+
+ return results;
+}
+
+
+/* -=-=-- */
+
+
+enum return_type intf_select_and_up()
+{
+ static struct interface_info intf[20];
+ static int num_interfaces = 0;
+ struct interface_info * sel_intf = NULL;
+ int i;
+ enum return_type results;
+ char * iface = interface_select();
+
+ if (iface == NULL)
+ return RETURN_BACK;
+
+ for (i = 0; i < num_interfaces ; i++)
+ if (!strcmp(intf[i].device, iface))
+ sel_intf = &(intf[i]);
+
+ if (sel_intf == NULL) {
+ sel_intf = &(intf[num_interfaces]);
+ strcpy(sel_intf->device, iface);
+ sel_intf->is_up = 0;
+ num_interfaces++;
+ }
+
+ results = bringup_networking(sel_intf);
+
+ if (results == RETURN_OK)
+ save_netinfo(sel_intf);
+
+ return results;
+}
+
+
+
+enum return_type nfs_prepare(void)
+{
+ char * questions[] = { "NFS server name", DISTRIB_NAME " directory", NULL };
+ char * questions_auto[] = { "server", "directory", NULL };
+ static char ** answers = NULL;
+ char * nfsmount_location;
+ enum return_type results = intf_select_and_up(NULL, NULL);
+
+ if (results != RETURN_OK)
+ return results;
+
+ do {
+ results = ask_from_entries_auto("Please enter the name or IP address of your NFS server, "
+ "and the directory containing the " DISTRIB_NAME " Distribution.",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results != RETURN_OK || streq(answers[0], "")) {
+ unset_automatic(); /* we are in a fallback mode */
+ return nfs_prepare();
+ }
+
+ nfsmount_location = malloc(strlen(answers[0]) + strlen(answers[1]) + 2);
+ strcpy(nfsmount_location, answers[0]);
+ strcat(nfsmount_location, ":");
+ strcat(nfsmount_location, answers[1]);
+
+ if (my_mount(nfsmount_location, MEDIA_LOCATION, "nfs", 0) == -1) {
+ stg1_error_message("I can't mount the directory from the NFS server.");
+ results = RETURN_BACK;
+ continue;
+ }
+ free(nfsmount_location); nfsmount_location = NULL;
+
+ results = try_with_directory(MEDIA_LOCATION, "nfs", "nfs-iso");
+ if (results != RETURN_OK)
+ umount(MEDIA_LOCATION);
+ if (results == RETURN_ERROR)
+ return RETURN_ERROR;
+ }
+ while (results == RETURN_BACK);
+
+ return RETURN_OK;
+}
+
+
+enum return_type ftp_prepare(void)
+{
+ char * questions[] = { "FTP server", DISTRIB_NAME " directory", "Login", "Password", NULL };
+ char * questions_auto[] = { "server", "directory", "user", "pass", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+ struct utsname kernel_uname;
+ char *http_proxy_host, *http_proxy_port;
+ int use_http_proxy;
+
+ if (!ramdisk_possible()) {
+ stg1_error_message("FTP install needs more than %d Mbytes of memory (detected %d Mbytes). You may want to try an NFS install.",
+ MEM_LIMIT_DRAKX, total_memory());
+ return RETURN_ERROR;
+ }
+
+ results = intf_select_and_up();
+
+ if (results != RETURN_OK)
+ return results;
+
+ get_http_proxy(&http_proxy_host, &http_proxy_port);
+ use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+
+ uname(&kernel_uname);
+
+ do {
+ char location_full[500];
+ int ftp_serv_response = -1;
+ int fd, size;
+ char ftp_hostname[500];
+
+ if (!IS_AUTOMATIC) {
+ if (answers == NULL)
+ answers = (char **) malloc(sizeof(questions));
+
+ results = choose_mirror_from_list(http_proxy_host, http_proxy_port, "ftp", &answers[0], &answers[1]);
+
+ if (results == RETURN_BACK)
+ return ftp_prepare();
+
+ if (use_http_proxy) {
+ results = ask_yes_no("Do you want to use this HTTP proxy for FTP connections too ?");
+
+ if (results == RETURN_BACK)
+ return ftp_prepare();
+
+ use_http_proxy = results == RETURN_OK;
+ }
+ }
+
+ results = ask_from_entries_auto("Please enter the name or IP address of the FTP server, "
+ "the directory containing the " DISTRIB_NAME " Distribution, "
+ "and the login/pass if necessary (leave login blank for anonymous). ",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results != RETURN_OK || streq(answers[0], "")) {
+ unset_automatic(); /* we are in a fallback mode */
+ return ftp_prepare();
+ }
+
+ strcpy(location_full, answers[1][0] == '/' ? "" : "/");
+ strcat(location_full, answers[1]);
+
+ if (use_http_proxy) {
+ log_message("FTP: don't connect to %s directly, will use proxy", answers[0]);
+ } else {
+ log_message("FTP: trying to connect to %s", answers[0]);
+ ftp_serv_response = ftp_open_connection(answers[0], answers[2], answers[3], "");
+ if (ftp_serv_response < 0) {
+ log_message("FTP: error connect %d", ftp_serv_response);
+ if (ftp_serv_response == FTPERR_BAD_HOSTNAME)
+ stg1_error_message("Error: bad hostname.");
+ else if (ftp_serv_response == FTPERR_FAILED_CONNECT)
+ stg1_error_message("Error: failed to connect to remote host.");
+ else
+ stg1_error_message("Error: couldn't connect.");
+ results = RETURN_BACK;
+ continue;
+ }
+ }
+
+ strcat(location_full, COMPRESSED_FILE_REL("/"));
+
+ log_message("FTP: trying to retrieve %s", location_full);
+
+ if (use_http_proxy) {
+ if (strcmp(answers[2], "")) {
+ strcpy(ftp_hostname, answers[2]); /* user name */
+ strcat(ftp_hostname, ":");
+ strcat(ftp_hostname, answers[3]); /* password */
+ strcat(ftp_hostname, "@");
+ } else {
+ strcpy(ftp_hostname, "");
+ }
+ strcat(ftp_hostname, answers[0]);
+ fd = http_download_file(ftp_hostname, location_full, &size, "ftp", http_proxy_host, http_proxy_port);
+ } else {
+ fd = ftp_start_download(ftp_serv_response, location_full, &size);
+ }
+
+ if (fd < 0) {
+ char *msg = str_ftp_error(fd);
+ log_message("FTP: error get %d for remote file %s", fd, location_full);
+ stg1_error_message("Error: %s.", msg ? msg : "couldn't retrieve Installation program");
+ results = RETURN_BACK;
+ continue;
+ }
+
+ log_message("FTP: size of download %d bytes", size);
+
+ results = load_compressed_fd(fd, size);
+ if (results == RETURN_OK) {
+ if (!use_http_proxy)
+ ftp_end_data_command(ftp_serv_response);
+ } else {
+ unset_automatic(); /* we are in a fallback mode */
+ return results;
+ }
+
+ if (use_http_proxy) {
+ add_to_env("METHOD", "http");
+ sprintf(location_full, "ftp://%s%s", ftp_hostname, answers[1]);
+ add_to_env("URLPREFIX", location_full);
+ add_to_env("PROXY", http_proxy_host);
+ add_to_env("PROXYPORT", http_proxy_port);
+ } else {
+ add_to_env("METHOD", "ftp");
+ add_to_env("HOST", answers[0]);
+ add_to_env("PREFIX", answers[1]);
+ if (!streq(answers[2], "")) {
+ add_to_env("LOGIN", answers[2]);
+ add_to_env("PASSWORD", answers[3]);
+ }
+ }
+ }
+ while (results == RETURN_BACK);
+
+ return RETURN_OK;
+}
+
+enum return_type http_prepare(void)
+{
+ char * questions[] = { "HTTP server", DISTRIB_NAME " directory", NULL };
+ char * questions_auto[] = { "server", "directory", NULL };
+ static char ** answers = NULL;
+ enum return_type results;
+ char *http_proxy_host, *http_proxy_port;
+
+ if (!ramdisk_possible()) {
+ stg1_error_message("HTTP install needs more than %d Mbytes of memory (detected %d Mbytes). You may want to try an NFS install.",
+ MEM_LIMIT_DRAKX, total_memory());
+ return RETURN_ERROR;
+ }
+
+ results = intf_select_and_up();
+
+ if (results != RETURN_OK)
+ return results;
+
+ get_http_proxy(&http_proxy_host, &http_proxy_port);
+
+ do {
+ char location_full[500];
+ int fd, size;
+ int use_http_proxy;
+
+ if (!IS_AUTOMATIC) {
+ if (answers == NULL)
+ answers = (char **) malloc(sizeof(questions));
+
+ results = choose_mirror_from_list(http_proxy_host, http_proxy_port, "http", &answers[0], &answers[1]);
+
+ if (results == RETURN_BACK)
+ return ftp_prepare();
+ }
+
+ results = ask_from_entries_auto("Please enter the name or IP address of the HTTP server, "
+ "and the directory containing the " DISTRIB_NAME " Distribution.",
+ questions, &answers, 40, questions_auto, NULL);
+ if (results != RETURN_OK || streq(answers[0], "")) {
+ unset_automatic(); /* we are in a fallback mode */
+ return http_prepare();
+ }
+
+ strcpy(location_full, answers[1][0] == '/' ? "" : "/");
+ strcat(location_full, answers[1]);
+ strcat(location_full, COMPRESSED_FILE_REL("/"));
+
+ log_message("HTTP: trying to retrieve %s from %s", location_full, answers[0]);
+
+ use_http_proxy = http_proxy_host && http_proxy_port && !streq(http_proxy_host, "") && !streq(http_proxy_port, "");
+
+ fd = http_download_file(answers[0], location_full, &size, use_http_proxy ? "http" : NULL, http_proxy_host, http_proxy_port);
+ if (fd < 0) {
+ log_message("HTTP: error %d", fd);
+ if (fd == FTPERR_FAILED_CONNECT)
+ stg1_error_message("Error: couldn't connect to server.");
+ else
+ stg1_error_message("Error: couldn't get file (%s).", location_full);
+ results = RETURN_BACK;
+ continue;
+ }
+
+ log_message("HTTP: size of download %d bytes", size);
+
+ if (load_compressed_fd(fd, size) != RETURN_OK) {
+ unset_automatic(); /* we are in a fallback mode */
+ return RETURN_ERROR;
+ }
+
+ add_to_env("METHOD", "http");
+ sprintf(location_full, "http://%s%s%s", answers[0], answers[1][0] == '/' ? "" : "/", answers[1]);
+ add_to_env("URLPREFIX", location_full);
+ if (!streq(http_proxy_host, ""))
+ add_to_env("PROXY", http_proxy_host);
+ if (!streq(http_proxy_port, ""))
+ add_to_env("PROXYPORT", http_proxy_port);
+ }
+ while (results == RETURN_BACK);
+
+ return RETURN_OK;
+
+}
+
+#ifndef DISABLE_KA
+enum return_type ka_prepare(void)
+{
+ enum return_type results;
+
+ if (!ramdisk_possible()) {
+ stg1_error_message("KA install needs more than %d Mbytes of memory (detected %d Mbytes).",
+ MEM_LIMIT_DRAKX, total_memory());
+ return RETURN_ERROR;
+ }
+
+ results = intf_select_and_up();
+
+ if (results != RETURN_OK)
+ return results;
+
+ return perform_ka();
+}
+#endif
diff --git a/mdk-stage1/network.h b/mdk-stage1/network.h
new file mode 100644
index 000000000..3d2d94871
--- /dev/null
+++ b/mdk-stage1/network.h
@@ -0,0 +1,66 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _NETWORK_H_
+#define _NETWORK_H_
+
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <arpa/inet.h>
+
+enum return_type intf_select_and_up();
+
+enum return_type nfs_prepare(void);
+enum return_type ftp_prepare(void);
+enum return_type http_prepare(void);
+#ifndef DISABLE_KA
+enum return_type ka_prepare(void);
+#endif
+
+
+enum boot_proto_type { BOOTPROTO_STATIC, BOOTPROTO_DHCP, BOOTPROTO_ADSL_PPPOE };
+enum auto_detection_type { AUTO_DETECTION_NONE, AUTO_DETECTION_ALL, AUTO_DETECTION_WIRED };
+
+/* all of these in_addr things are in network byte order! */
+struct interface_info {
+ char device[10];
+ int is_ptp, is_up;
+ struct in_addr ip, netmask, broadcast, network;
+ enum boot_proto_type boot_proto;
+ char *user, *pass, *acname; /* for ADSL connection */
+};
+
+
+/* these are to be used only by dhcp.c */
+
+char * guess_netmask(char * ip_addr);
+
+int configure_net_device(struct interface_info * intf);
+
+extern char * hostname;
+extern char * domain;
+extern struct in_addr gateway;
+extern struct in_addr dns_server;
+extern struct in_addr dns_server2;
+
+
+
+#endif
diff --git a/mdk-stage1/newt-frontend.c b/mdk-stage1/newt-frontend.c
new file mode 100644
index 000000000..4bedda82b
--- /dev/null
+++ b/mdk-stage1/newt-frontend.c
@@ -0,0 +1,400 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+
+/*
+ * Each different frontend must implement all functions defined in frontend.h
+ */
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <sys/time.h>
+#include "newt/newt.h"
+
+#include <probing.h>
+
+#include "frontend.h"
+
+void init_frontend(char * welcome_msg)
+{
+ int i;
+ for (i=0; i<38; i++) printf("\n");
+ newtInit();
+ newtCls();
+
+ newtDrawRootText(0, 0, welcome_msg);
+
+ if (welcome_msg[0])
+ newtPushHelpLine(" <Alt-F1> for here, <Alt-F3> to see the logs, <Alt-F4> for kernel msg");
+
+ newtRefresh();
+}
+
+
+void finish_frontend(void)
+{
+ newtFinished();
+}
+
+
+void verror_message(char *msg, va_list ap)
+{
+ newtWinMessagev("Error", "Ok", msg, ap);
+}
+
+void vinfo_message(char *msg, va_list ap)
+{
+ newtWinMessagev("Notice", "Ok", msg, ap);
+}
+
+
+void vwait_message(char *msg, va_list ap)
+{
+ int width, height;
+ char * title = "Please wait...";
+ newtComponent c, f;
+ newtGrid grid;
+ char * buf = NULL;
+ char * flowed;
+ int size = 0;
+ int i = 0;
+
+ do {
+ size += 1000;
+ if (buf) free(buf);
+ buf = malloc(size);
+ i = vsnprintf(buf, size, msg, ap);
+ } while (i >= size || i == -1);
+
+ flowed = newtReflowText(buf, 60, 5, 5, &width, &height);
+
+ c = newtTextbox(-1, -1, width, height, NEWT_TEXTBOX_WRAP);
+ newtTextboxSetText(c, flowed);
+
+ grid = newtCreateGrid(1, 1);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, c, 0, 0, 0, 0, 0, 0);
+ newtGridWrappedWindow(grid, title);
+
+ free(flowed);
+ free(buf);
+
+ f = newtForm(NULL, NULL, 0);
+ newtFormAddComponent(f, c);
+
+ newtDrawForm(f);
+ newtRefresh();
+ newtFormDestroy(f);
+}
+
+void remove_wait_message(void)
+{
+ newtPopWindow();
+}
+
+
+static newtComponent form = NULL, scale = NULL;
+static int size_progress;
+static int actually_drawn;
+static char * msg_progress;
+
+void init_progression_raw(char *msg, int size)
+{
+ size_progress = size;
+ if (size) {
+ actually_drawn = 0;
+ newtCenteredWindow(70, 5, "Please wait...");
+ form = newtForm(NULL, NULL, 0);
+ newtFormAddComponent(form, newtLabel(1, 1, msg));
+ scale = newtScale(1, 3, 68, size);
+ newtFormAddComponent(form, scale);
+ newtDrawForm(form);
+ newtRefresh();
+ }
+ else {
+ wait_message(msg);
+ msg_progress = msg;
+ }
+}
+
+void update_progression_raw(int current_size)
+{
+ if (size_progress) {
+ if (current_size <= size_progress)
+ newtScaleSet(scale, current_size);
+ newtRefresh();
+ }
+ else {
+ struct timeval t;
+ int time;
+ static int last_time = -1;
+ gettimeofday(&t, NULL);
+ time = t.tv_sec*3 + t.tv_usec/300000;
+ if (time != last_time) {
+ char msg_prog_final[500];
+ sprintf(msg_prog_final, "%s (%d bytes read) ", msg_progress, current_size);
+ remove_wait_message();
+ wait_message(msg_prog_final);
+ }
+ last_time = time;
+ }
+}
+
+void end_progression_raw(void)
+{
+ if (size_progress) {
+ newtPopWindow();
+ newtFormDestroy(form);
+ }
+ else
+ remove_wait_message();
+}
+
+
+enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
+{
+ char * items[500];
+ int answer = 0, rc;
+ char ** sav_elems = elems;
+ int i;
+
+ i = 0;
+ while (elems && *elems) {
+ int j = (*elems_comments) ? strlen(*elems_comments) : 0;
+ items[i] = malloc(sizeof(char) * (strlen(*elems) + j + 4));
+ strcpy(items[i], *elems);
+ if (*elems_comments) {
+ strcat(items[i], " (");
+ strcat(items[i], *elems_comments);
+ strcat(items[i], ")");
+ }
+ elems_comments++;
+ i++;
+ elems++;
+ }
+ items[i] = NULL;
+
+ rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, items, &answer, "Ok", "Cancel", NULL);
+
+ if (rc == 2)
+ return RETURN_BACK;
+
+ *choice = strdup(sav_elems[answer]);
+
+ return RETURN_OK;
+}
+
+
+enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
+{
+ int answer = 0, rc;
+
+ rc = newtWinMenu("Please choose...", msg, 52, 5, 5, 7, elems, &answer, "Ok", "Cancel", NULL);
+
+ if (rc == 2)
+ return RETURN_BACK;
+
+ *choice = strdup(elems[answer]);
+
+ return RETURN_OK;
+}
+
+
+enum return_type ask_yes_no(char *msg)
+{
+ int rc;
+
+ rc = newtWinTernary("Please answer...", "Yes", "No", "Back", msg);
+
+ if (rc == 1)
+ return RETURN_OK;
+ else if (rc == 3)
+ return RETURN_BACK;
+ else return RETURN_ERROR;
+}
+
+
+static void (*callback_real_function)(char ** strings) = NULL;
+
+static void default_callback(newtComponent co __attribute__ ((unused)), void * data)
+{
+ newtComponent * entries = data;
+ char * strings[50], ** ptr;
+
+ if (!callback_real_function)
+ return;
+
+ ptr = strings;
+ while (entries && *entries) {
+ *ptr = newtEntryGetValue(*entries);
+ entries++;
+ ptr++;
+ }
+
+ callback_real_function(strings);
+
+ ptr = strings;
+ entries = data;
+ while (entries && *entries) {
+ newtEntrySet(*entries, strdup(*ptr), 1);
+ entries++;
+ ptr++;
+ }
+}
+
+/* only supports up to 50 buttons and entries -- shucks! */
+static int mynewtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
+ int flexUp, int dataWidth, void (*callback_func)(char ** strings),
+ struct newtWinEntry * items, char * button1, ...) {
+ newtComponent buttons[50], result, form, textw;
+ newtGrid grid, buttonBar, subgrid;
+ int numItems;
+ int rc, i;
+ int numButtons;
+ char * buttonName;
+ newtComponent entries[50];
+
+ va_list args;
+
+ textw = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
+ flexUp, 0);
+
+ for (numItems = 0; items[numItems].text; numItems++);
+
+ buttonName = button1, numButtons = 0;
+ va_start(args, button1);
+ while (buttonName) {
+ buttons[numButtons] = newtButton(-1, -1, buttonName);
+ numButtons++;
+ buttonName = va_arg(args, char *);
+ }
+
+ va_end(args);
+
+ buttonBar = newtCreateGrid(numButtons, 1);
+ for (i = 0; i < numButtons; i++) {
+ newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
+ buttons[i],
+ i ? 1 : 0, 0, 0, 0, 0, 0);
+ }
+
+ if (callback_func) {
+ callback_real_function = callback_func;
+ entries[numItems] = NULL;
+ }
+ else
+ callback_real_function = NULL;
+
+ subgrid = newtCreateGrid(2, numItems);
+ for (i = 0; i < numItems; i++) {
+ newtComponent entr = newtEntry(-1, -1, items[i].value ?
+ *items[i].value : NULL, dataWidth,
+ items[i].value, items[i].flags);
+
+ newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
+ newtLabel(-1, -1, items[i].text),
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(subgrid, 1, i, NEWT_GRID_COMPONENT,
+ entr,
+ 1, 0, 0, 0, 0, 0);
+ if (callback_func) {
+ entries[i] = entr;
+ newtComponentAddCallback(entr, default_callback, entries);
+ }
+ }
+
+
+ grid = newtCreateGrid(1, 3);
+ form = newtForm(NULL, 0, 0);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, textw,
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid,
+ 0, 1, 0, 0, 0, 0);
+ newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttonBar,
+ 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
+ newtGridAddComponentsToForm(grid, form, 1);
+ newtGridWrappedWindow(grid, title);
+ newtGridFree(grid, 1);
+
+ result = newtRunForm(form);
+
+ for (rc = 0; rc < numItems; rc++)
+ *items[rc].value = strdup(*items[rc].value);
+
+ for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
+ if (rc == numButtons)
+ rc = 0; /* F12 */
+ else
+ rc++;
+
+ newtFormDestroy(form);
+ newtPopWindow();
+
+ return rc;
+}
+
+
+enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings))
+{
+ struct newtWinEntry entries[50];
+ int j, i = 0;
+ int rc;
+ char ** already_answers = NULL;
+
+ while (questions && *questions) {
+ entries[i].text = *questions;
+ entries[i].flags = NEWT_FLAG_SCROLL | (!strcmp(*questions, "Password") ? NEWT_FLAG_PASSWORD : 0);
+ i++;
+ questions++;
+ }
+ entries[i].text = NULL;
+ entries[i].value = NULL;
+
+ if (*answers == NULL)
+ *answers = (char **) malloc(sizeof(char *) * i);
+ else
+ already_answers = *answers;
+
+ for (j = 0 ; j < i ; j++) {
+ entries[j].value = &((*answers)[j]);
+ if (already_answers && *already_answers) {
+ *(entries[j].value) = *already_answers;
+ already_answers++;
+ } else
+ *(entries[j].value) = NULL;
+ }
+
+ rc = mynewtWinEntries("Please fill in entries...", msg, 52, 5, 5, entry_size, callback_func, entries, "Ok", "Cancel", NULL);
+
+ if (rc == 3)
+ return RETURN_BACK;
+ if (rc != 1)
+ return RETURN_ERROR;
+
+ return RETURN_OK;
+}
+
+
+void suspend_to_console(void) { newtSuspend(); }
+void resume_from_suspend(void) { newtResume(); }
diff --git a/mdk-stage1/newt/Makefile b/mdk-stage1/newt/Makefile
new file mode 100644
index 000000000..fb6cdd5ff
--- /dev/null
+++ b/mdk-stage1/newt/Makefile
@@ -0,0 +1,42 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+top_dir = ..
+
+include $(top_dir)/Makefile.common
+
+
+LIBNAME = libnewt
+
+OBJS = newt.o button.o form.o checkbox.o entry.o label.o listbox.o scrollbar.o textbox.o scale.o grid.o windows.o buttonbar.o checkboxtree.o
+
+DEFS = -DVERSION=\"0.50.19\"
+
+INCS = -I../slang
+
+
+TARGETS = $(LIBNAME).a
+
+all: $(TARGETS)
+
+clean:
+ rm -f *.o *.a
+
+$(LIBNAME).a: $(OBJS)
+ ar -cru $@ $^
+ ranlib $@
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/newt/button.c b/mdk-stage1/newt/button.c
new file mode 100644
index 000000000..d7da58175
--- /dev/null
+++ b/mdk-stage1/newt/button.c
@@ -0,0 +1,192 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct button {
+ char * text;
+ int compact;
+};
+
+static void buttonDrawIt(newtComponent co, int active, int pushed);
+static void buttonDrawText(newtComponent co, int active, int pushed);
+
+static void buttonDraw(newtComponent c);
+static void buttonDestroy(newtComponent co);
+static struct eventResult buttonEvent(newtComponent c,
+ struct event ev);
+static void buttonPlace(newtComponent co, int newLeft, int newTop);
+
+static struct componentOps buttonOps = {
+ buttonDraw,
+ buttonEvent,
+ buttonDestroy,
+ buttonPlace,
+ newtDefaultMappedHandler,
+} ;
+
+static newtComponent createButton(int left, int row, const char * text, int compact) {
+ newtComponent co;
+ struct button * bu;
+
+ co = malloc(sizeof(*co));
+ bu = malloc(sizeof(struct button));
+ co->data = bu;
+
+ bu->text = strdup(text);
+ bu->compact = compact;
+ co->ops = &buttonOps;
+
+ if (bu->compact) {
+ co->height = 1;
+ co->width = strlen(text) + 3;
+ } else {
+ co->height = 4;
+ co->width = strlen(text) + 5;
+ }
+
+ co->top = row;
+ co->left = left;
+ co->takesFocus = 1;
+ co->isMapped = 0;
+
+ newtGotorc(co->top, co->left);
+
+ return co;
+}
+
+newtComponent newtCompactButton(int left, int row, const char * text) {
+ return createButton(left, row, text, 1);
+}
+
+newtComponent newtButton(int left, int row, const char * text) {
+ return createButton(left, row, text, 0);
+}
+
+static void buttonDestroy(newtComponent co) {
+ struct button * bu = co->data;
+
+ free(bu->text);
+ free(bu);
+ free(co);
+}
+
+static void buttonPlace(newtComponent co, int newLeft, int newTop) {
+ co->top = newTop;
+ co->left = newLeft;
+
+ newtGotorc(co->top, co->left);
+}
+
+static void buttonDraw(newtComponent co) {
+ buttonDrawIt(co, 0, 0);
+}
+
+static void buttonDrawIt(newtComponent co, int active, int pushed) {
+ struct button * bu = co->data;
+
+ if (!co->isMapped) return;
+
+ SLsmg_set_color(NEWT_COLORSET_BUTTON);
+
+ if (bu->compact) {
+ if (active)
+ SLsmg_set_color(NEWT_COLORSET_COMPACTBUTTON);
+ else
+ SLsmg_set_color(NEWT_COLORSET_BUTTON);
+ newtGotorc(co->top+ pushed, co->left + 1 + pushed);
+ SLsmg_write_char('<');
+ SLsmg_write_string(bu->text);
+ SLsmg_write_char('>');
+ } else {
+ if (pushed) {
+ SLsmg_set_color(NEWT_COLORSET_BUTTON);
+ newtDrawBox(co->left + 1, co->top + 1, co->width - 1, 3, 0);
+
+ SLsmg_set_color(NEWT_COLORSET_WINDOW);
+ newtClearBox(co->left, co->top, co->width, 1);
+ newtClearBox(co->left, co->top, 1, co->height);
+ } else {
+ newtDrawBox(co->left, co->top, co->width - 1, 3, 1);
+ }
+
+ buttonDrawText(co, active, pushed);
+ }
+}
+
+static void buttonDrawText(newtComponent co, int active, int pushed) {
+ struct button * bu = co->data;
+
+ if (pushed) pushed = 1;
+
+ if (active)
+ SLsmg_set_color(NEWT_COLORSET_ACTBUTTON);
+ else
+ SLsmg_set_color(NEWT_COLORSET_BUTTON);
+
+ newtGotorc(co->top + 1 + pushed, co->left + 1 + pushed);
+ SLsmg_write_char(' ');
+ SLsmg_write_string(bu->text);
+ SLsmg_write_char(' ');
+}
+
+static struct eventResult buttonEvent(newtComponent co,
+ struct event ev) {
+ struct eventResult er;
+ struct button * bu = co->data;
+ er.result = ER_IGNORED;
+ er.u.focus = NULL;
+
+ if (ev.when == EV_NORMAL) {
+ switch (ev.event) {
+ case EV_FOCUS:
+ buttonDrawIt(co, 1, 0);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_UNFOCUS:
+ buttonDrawIt(co, 0, 0);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_KEYPRESS:
+ if (ev.u.key == ' ' || ev.u.key == '\r') {
+ if (!bu->compact) {
+ /* look pushed */
+ buttonDrawIt(co, 1, 1);
+ newtRefresh();
+ newtDelay(150000);
+ buttonDrawIt(co, 1, 0);
+ newtRefresh();
+ newtDelay(150000);
+ }
+
+ er.result = ER_EXITFORM;
+ } else
+ er.result = ER_IGNORED;
+ break;
+ case EV_MOUSE:
+ if (ev.u.mouse.type == MOUSE_BUTTON_DOWN &&
+ co->top <= ev.u.mouse.y &&
+ co->top + co->height - !bu->compact > ev.u.mouse.y &&
+ co->left <= ev.u.mouse.x &&
+ co->left + co->width - !bu->compact > ev.u.mouse.x) {
+ if (!bu->compact) {
+ buttonDrawIt(co, 1, 1);
+ newtRefresh();
+ newtDelay(150000);
+ buttonDrawIt(co, 1, 0);
+ newtRefresh();
+ newtDelay(150000);
+ }
+ er.result = ER_EXITFORM;
+ }
+ break;
+ }
+ } else
+ er.result = ER_IGNORED;
+
+ return er;
+}
diff --git a/mdk-stage1/newt/buttonbar.c b/mdk-stage1/newt/buttonbar.c
new file mode 100644
index 000000000..45473c9d2
--- /dev/null
+++ b/mdk-stage1/newt/buttonbar.c
@@ -0,0 +1,46 @@
+#include <stdarg.h>
+
+#include "newt.h"
+
+/* if they try and pack more then 50 buttons, screw 'em */
+newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args) {
+ newtGrid grid;
+ struct buttonInfo {
+ char * name;
+ newtComponent * compPtr;
+ } buttons[50];
+ int num;
+ int i;
+
+ buttons[0].name = button1, buttons[0].compPtr = b1comp, num = 1;
+ while (1) {
+ buttons[num].name = va_arg(args, char *);
+ if (!buttons[num].name) break;
+ buttons[num].compPtr = va_arg(args, newtComponent *);
+ num++;
+ }
+
+ grid = newtCreateGrid(num, 1);
+
+ for (i = 0; i < num; i++) {
+ *buttons[i].compPtr = newtButton(-1, -1, buttons[i].name);
+ newtGridSetField(grid, i, 0, NEWT_GRID_COMPONENT,
+ *buttons[i].compPtr,
+ num ? 1 : 0, 0, 0, 0, 0, 0);
+ }
+
+ return grid;
+}
+
+newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...) {
+ va_list args;
+ newtGrid grid;
+
+ va_start(args, b1comp);
+
+ grid = newtButtonBarv(button1, b1comp, args);
+
+ va_end(args);
+
+ return grid;
+}
diff --git a/mdk-stage1/newt/checkbox.c b/mdk-stage1/newt/checkbox.c
new file mode 100644
index 000000000..643609d34
--- /dev/null
+++ b/mdk-stage1/newt/checkbox.c
@@ -0,0 +1,292 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+enum type { CHECK, RADIO };
+
+struct checkbox {
+ char * text;
+ char * seq;
+ char * result;
+ newtComponent prevButton, lastButton;
+ enum type type;
+ char value;
+ int active, inactive;
+ const void * data;
+ int flags;
+ int hasFocus;
+};
+
+static void makeActive(newtComponent co);
+
+static void cbDraw(newtComponent c);
+static void cbDestroy(newtComponent co);
+struct eventResult cbEvent(newtComponent co, struct event ev);
+
+static struct componentOps cbOps = {
+ cbDraw,
+ cbEvent,
+ cbDestroy,
+ newtDefaultPlaceHandler,
+ newtDefaultMappedHandler,
+} ;
+
+newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
+ newtComponent prevButton) {
+ newtComponent co;
+ newtComponent curr;
+ struct checkbox * rb;
+ char initialValue;
+
+ if (isDefault)
+ initialValue = '*';
+ else
+ initialValue = ' ';
+
+ co = newtCheckbox(left, top, text, initialValue, " *", NULL);
+ rb = co->data;
+ rb->type = RADIO;
+
+ rb->prevButton = prevButton;
+
+ for (curr = co; curr; curr = rb->prevButton) {
+ rb = curr->data;
+ rb->lastButton = co;
+ }
+
+ return co;
+}
+
+newtComponent newtRadioGetCurrent(newtComponent setMember) {
+ struct checkbox * rb = setMember->data;
+
+ setMember = rb->lastButton;
+ rb = setMember->data;
+
+ while (rb && rb->value != '*') {
+ setMember = rb->prevButton;
+ if (!setMember)
+ return NULL;
+ rb = setMember->data;
+ }
+
+ return setMember;
+}
+
+char newtCheckboxGetValue(newtComponent co) {
+ struct checkbox * cb = co->data;
+
+ return cb->value;
+}
+
+void newtCheckboxSetValue(newtComponent co, char value) {
+ struct checkbox * cb = co->data;
+
+ *cb->result = value;
+ cbDraw(co);
+}
+
+newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
+ const char * seq, char * result) {
+ newtComponent co;
+ struct checkbox * cb;
+
+ if (!seq) seq = " *";
+
+ co = malloc(sizeof(*co));
+ cb = malloc(sizeof(struct checkbox));
+ co->data = cb;
+ cb->flags = 0;
+ if (result)
+ cb->result = result;
+ else
+ cb->result = &cb->value;
+
+ cb->text = strdup(text);
+ cb->seq = strdup(seq);
+ cb->type = CHECK;
+ cb->hasFocus = 0;
+ cb->inactive = COLORSET_CHECKBOX;
+ cb->active = COLORSET_ACTCHECKBOX;
+ defValue ? (*cb->result = defValue) : (*cb->result = cb->seq[0]);
+
+ co->ops = &cbOps;
+
+ co->callback = NULL;
+ co->height = 1;
+ co->width = strlen(text) + 4;
+ co->top = top;
+ co->left = left;
+ co->takesFocus = 1;
+
+ return co;
+}
+
+void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
+ struct checkbox * cb = co->data;
+ int row, col;
+
+ cb->flags = newtSetFlags(cb->flags, flags, sense);
+
+ if (!(cb->flags & NEWT_FLAG_DISABLED))
+ co->takesFocus = 1;
+ else
+ co->takesFocus = 0;
+
+ newtGetrc(&row, &col);
+ cbDraw(co);
+ newtGotorc(row, col);
+}
+
+static void cbDraw(newtComponent c) {
+ struct checkbox * cb = c->data;
+
+ if (c->top == -1 || !c->isMapped) return;
+
+ if (cb->flags & NEWT_FLAG_DISABLED) {
+ cb->inactive = NEWT_COLORSET_DISENTRY;
+ cb->active = NEWT_COLORSET_DISENTRY;
+ } else {
+ cb->inactive = COLORSET_CHECKBOX;
+ cb->active = COLORSET_ACTCHECKBOX;
+ }
+
+ SLsmg_set_color(cb->inactive);
+
+ newtGotorc(c->top, c->left);
+
+ switch (cb->type) {
+ case RADIO:
+ SLsmg_write_string("( ) ");
+ break;
+
+ case CHECK:
+ SLsmg_write_string("[ ] ");
+ break;
+
+ default:
+ break;
+ }
+
+ SLsmg_write_string(cb->text);
+
+ if (cb->hasFocus)
+ SLsmg_set_color(cb->active);
+
+ newtGotorc(c->top, c->left + 1);
+ SLsmg_write_char(*cb->result);
+}
+
+static void cbDestroy(newtComponent co) {
+ struct checkbox * cb = co->data;
+
+ free(cb->text);
+ free(cb->seq);
+ free(cb);
+ free(co);
+}
+
+struct eventResult cbEvent(newtComponent co, struct event ev) {
+ struct checkbox * cb = co->data;
+ struct eventResult er;
+ const char * cur;
+ er.result = ER_IGNORED;
+ er.u.focus = NULL;
+
+ if (ev.when == EV_NORMAL) {
+ switch (ev.event) {
+ case EV_FOCUS:
+ cb->hasFocus = 1;
+ cbDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_UNFOCUS:
+ cb->hasFocus = 0;
+ cbDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_KEYPRESS:
+ if (ev.u.key == ' ') {
+ if (cb->type == RADIO) {
+ makeActive(co);
+ } else if (cb->type == CHECK) {
+ cur = strchr(cb->seq, *cb->result);
+ if (!cur)
+ *cb->result = *cb->seq;
+ else {
+ cur++;
+ if (! *cur)
+ *cb->result = *cb->seq;
+ else
+ *cb->result = *cur;
+ }
+ cbDraw(co);
+ er.result = ER_SWALLOWED;
+
+ if (co->callback)
+ co->callback(co, co->callbackData);
+ } else {
+ er.result = ER_IGNORED;
+ }
+ } else if(ev.u.key == NEWT_KEY_ENTER) {
+ er.result = ER_IGNORED;
+ } else {
+ er.result = ER_IGNORED;
+ }
+ break;
+ case EV_MOUSE:
+ if (ev.u.mouse.type == MOUSE_BUTTON_DOWN) {
+ if (cb->type == RADIO) {
+ makeActive(co);
+ } else if (cb->type == CHECK) {
+ cur = strchr(cb->seq, *cb->result);
+ if (!cur)
+ *cb->result = *cb->seq;
+ else {
+ cur++;
+ if (! *cur)
+ *cb->result = *cb->seq;
+ else
+ *cb->result = *cur;
+ }
+ cbDraw(co);
+ er.result = ER_SWALLOWED;
+
+ if (co->callback)
+ co->callback(co, co->callbackData);
+ }
+ }
+ }
+ } else
+ er.result = ER_IGNORED;
+
+ return er;
+}
+
+static void makeActive(newtComponent co) {
+ struct checkbox * cb = co->data;
+ struct checkbox * rb;
+ newtComponent curr;
+
+ /* find the one that's turned off */
+ curr = cb->lastButton;
+ rb = curr->data;
+ while (curr && rb->value == rb->seq[0]) {
+ curr = rb->prevButton;
+ if (curr) rb = curr->data;
+ }
+ if (curr) {
+ rb->value = rb->seq[0];
+ cbDraw(curr);
+ }
+ cb->value = cb->seq[1];
+ cbDraw(co);
+
+ if (co->callback)
+ co->callback(co, co->callbackData);
+}
diff --git a/mdk-stage1/newt/checkboxtree.c b/mdk-stage1/newt/checkboxtree.c
new file mode 100644
index 000000000..00113f23e
--- /dev/null
+++ b/mdk-stage1/newt/checkboxtree.c
@@ -0,0 +1,714 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct items {
+ char * text;
+ const void *data;
+ unsigned char selected;
+ struct items *next;
+ struct items *prev;
+ struct items *branch;
+ int flags;
+ int depth;
+};
+
+struct CheckboxTree {
+ newtComponent sb;
+ int curWidth; /* size of text w/o scrollbar or border*/
+ int curHeight; /* size of text w/o border */
+ struct items * itemlist;
+ struct items ** flatList, ** currItem, ** firstItem;
+ int flatCount;
+ int flags;
+ int pad;
+ char * seq;
+ char * result;
+};
+
+static void ctDraw(newtComponent c);
+static void ctDestroy(newtComponent co);
+static void ctPlace(newtComponent co, int newLeft, int newTop);
+struct eventResult ctEvent(newtComponent co, struct event ev);
+static void ctMapped(newtComponent co, int isMapped);
+static struct items * findItem(struct items * items, const void * data);
+static void buildFlatList(newtComponent co);
+static void doBuildFlatList(struct CheckboxTree * ct, struct items * item);
+enum countWhat { COUNT_EXPOSED=0, COUNT_SELECTED=1 };
+static int countItems(struct items * item, enum countWhat justExposed);
+
+static struct componentOps ctOps = {
+ ctDraw,
+ ctEvent,
+ ctDestroy,
+ ctPlace,
+ ctMapped,
+} ;
+
+static int countItems(struct items * item, enum countWhat what) {
+ int count = 0;
+
+ while (item) {
+ if ((!item->branch && item->selected == what) || (what == COUNT_EXPOSED))
+ count++;
+ if (item->branch || (what == COUNT_EXPOSED && item->selected))
+ count += countItems(item->branch, what);
+ item = item->next;
+ }
+
+ return count;
+}
+
+static void doBuildFlatList(struct CheckboxTree * ct, struct items * item) {
+ while (item) {
+ ct->flatList[ct->flatCount++] = item;
+ if (item->branch && item->selected) doBuildFlatList(ct, item->branch);
+ item = item->next;
+ }
+}
+
+static void buildFlatList(newtComponent co) {
+ struct CheckboxTree * ct = co->data;
+
+ if (ct->flatList) free(ct->flatList);
+ ct->flatCount = countItems(ct->itemlist, COUNT_EXPOSED);
+
+ ct->flatList = malloc(sizeof(*ct->flatList) * (ct->flatCount+1));
+ ct->flatCount = 0;
+ doBuildFlatList(ct, ct->itemlist);
+ ct->flatList[ct->flatCount] = NULL;
+}
+
+int newtCheckboxTreeAddItem(newtComponent co,
+ const char * text, const void * data,
+ int flags, int index, ...) {
+ va_list argList;
+ int numIndexes;
+ int * indexes;
+ int i;
+
+ va_start(argList, index);
+ numIndexes = 0;
+ i = index;
+ while (i != NEWT_ARG_LAST) {
+ numIndexes++;
+ i = va_arg(argList, int);
+ }
+
+ va_end(argList);
+
+ indexes = alloca(sizeof(*indexes) * (numIndexes + 1));
+ va_start(argList, index);
+ numIndexes = 0;
+ i = index;
+ va_start(argList, index);
+ while (i != NEWT_ARG_LAST) {
+ indexes[numIndexes++] = i;
+ i = va_arg(argList, int);
+ }
+ va_end(argList);
+
+ indexes[numIndexes++] = NEWT_ARG_LAST;
+
+ return newtCheckboxTreeAddArray(co, text, data, flags, indexes);
+}
+
+static int doFindItemPath(struct items * items, void * data, int * path,
+ int * len) {
+ int where = 0;
+
+ while (items) {
+ if (items->data == data) {
+ if (path) path[items->depth] = where;
+ if (len) *len = items->depth + 1;
+ return 1;
+ }
+
+ if (items->branch && doFindItemPath(items->branch, data, path, len)) {
+ if (path) path[items->depth] = where;
+ return 1;
+ }
+
+ items = items->next;
+ where++;
+ }
+
+ return 0;
+}
+
+int * newtCheckboxTreeFindItem(newtComponent co, void * data) {
+ int len;
+ int * path;
+ struct CheckboxTree * ct = co->data;
+
+ if (!doFindItemPath(ct->itemlist, data, NULL, &len)) return NULL;
+
+ path = malloc(sizeof(*path) * (len + 1));
+ doFindItemPath(ct->itemlist, data, path, NULL);
+ path[len] = NEWT_ARG_LAST;
+
+ return path;
+}
+
+int newtCheckboxTreeAddArray(newtComponent co,
+ const char * text, const void * data,
+ int flags, int * indexes) {
+ struct items * curList, * newNode, * item = NULL;
+ struct items ** listPtr = NULL;
+ int i, index, numIndexes;
+ struct CheckboxTree * ct = co->data;
+
+ numIndexes = 0;
+ while (indexes[numIndexes] != NEWT_ARG_LAST) numIndexes++;
+
+ if (!ct->itemlist) {
+ if (numIndexes > 1) return -1;
+
+ ct->itemlist = malloc(sizeof(*ct->itemlist));
+ item = ct->itemlist;
+ item->prev = NULL;
+ item->next = NULL;
+ } else {
+ curList = ct->itemlist;
+ listPtr = &ct->itemlist;
+
+ i = 0;
+ index = indexes[i];
+ while (i < numIndexes) {
+ item = curList;
+
+ if (index == NEWT_ARG_APPEND) {
+ item = NULL;
+ } else {
+ while (index && item)
+ item = item->next, index--;
+ }
+
+ i++;
+ if (i < numIndexes) {
+ curList = item->branch;
+ listPtr = &item->branch;
+ if (!curList && (i + 1 != numIndexes)) return -1;
+
+ index = indexes[i];
+ }
+ }
+
+ if (!curList) { /* create a new branch */
+ item = malloc(sizeof(*curList->prev));
+ item->next = item->prev = NULL;
+ *listPtr = item;
+ } else if (!item) { /* append to end */
+ item = curList;
+ while (item->next) item = item->next;
+ item->next = malloc(sizeof(*curList->prev));
+ item->next->prev = item;
+ item = item->next;
+ item->next = NULL;
+ } else {
+ newNode = malloc(sizeof(*newNode));
+ newNode->prev = item->prev;
+ newNode->next = item;
+
+ if (item->prev) item->prev->next = newNode;
+ item->prev = newNode;
+ item = newNode;
+ if (!item->prev) *listPtr = item;
+ }
+ }
+
+ item->text = strdup(text);
+ item->data = data;
+ if (flags & NEWT_FLAG_SELECTED) {
+ item->selected = 1;
+ } else {
+ item->selected = 0;
+ }
+ item->flags = flags;
+ item->branch = NULL;
+ item->depth = numIndexes - 1;
+
+ i = 4 + (3 * item->depth);
+
+ if ((strlen(text) + i + ct->pad) > (size_t)co->width) {
+ co->width = strlen(text) + i + ct->pad;
+ }
+
+ return 0;
+}
+
+static struct items * findItem(struct items * items, const void * data) {
+ struct items * i;
+
+ while (items) {
+ if (items->data == data) return items;
+ if (items->branch) {
+ i = findItem(items->branch, data);
+ if (i) return i;
+ }
+
+ items = items->next;
+ }
+
+ return NULL;
+}
+
+static void listSelected(struct items * items, int * num, const void ** list, int seqindex) {
+ while (items) {
+ if ((seqindex ? items->selected==seqindex : items->selected) && !items->branch)
+ list[(*num)++] = (void *) items->data;
+ if (items->branch)
+ listSelected(items->branch, num, list, seqindex);
+ items = items->next;
+ }
+}
+
+const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems)
+{
+ return newtCheckboxTreeGetMultiSelection(co, numitems, 0);
+}
+
+const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum)
+{
+ struct CheckboxTree * ct;
+ const void **retval;
+ int seqindex=0;
+
+ if(!co || !numitems) return NULL;
+
+ ct = co->data;
+
+ if (seqnum) {
+ while( ct->seq[seqindex] && ( ct->seq[seqindex] != seqnum )) seqindex++;
+ } else {
+ seqindex = 0;
+ }
+
+ *numitems = countItems(ct->itemlist, (seqindex ? seqindex : COUNT_SELECTED));
+ if (!*numitems) return NULL;
+
+ retval = malloc(*numitems * sizeof(void *));
+ *numitems = 0;
+ listSelected(ct->itemlist, numitems, retval, seqindex);
+
+ return retval;
+}
+
+newtComponent newtCheckboxTree(int left, int top, int height, int flags) {
+ return newtCheckboxTreeMulti(left, top, height, NULL, flags);
+}
+
+newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags) {
+ newtComponent co;
+ struct CheckboxTree * ct;
+
+ co = malloc(sizeof(*co));
+ ct = malloc(sizeof(struct CheckboxTree));
+ co->callback = NULL;
+ co->data = ct;
+ co->ops = &ctOps;
+ co->takesFocus = 1;
+ co->height = height;
+ co->width = 0;
+ co->isMapped = 0;
+ ct->itemlist = NULL;
+ ct->firstItem = NULL;
+ ct->currItem = NULL;
+ ct->flatList = NULL;
+ if (seq)
+ ct->seq = strdup(seq);
+ else
+ ct->seq = strdup(" *");
+ if (flags & NEWT_FLAG_SCROLL) {
+ ct->sb = newtVerticalScrollbar(left, top, height,
+ COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
+ ct->pad = 2;
+ } else {
+ ct->sb = NULL;
+ ct->pad = 0;
+ }
+
+ return co;
+}
+
+static void ctMapped(newtComponent co, int isMapped) {
+ struct CheckboxTree * ct = co->data;
+
+ co->isMapped = isMapped;
+ if (ct->sb)
+ ct->sb->ops->mapped(ct->sb, isMapped);
+}
+
+static void ctPlace(newtComponent co, int newLeft, int newTop) {
+ struct CheckboxTree * ct = co->data;
+
+ co->top = newTop;
+ co->left = newLeft;
+
+ if (ct->sb)
+ ct->sb->ops->place(ct->sb, co->left + co->width - 1, co->top);
+}
+
+int ctSetItem(newtComponent co, struct items *item, enum newtFlagsSense sense)
+{
+ struct CheckboxTree * ct = co->data;
+ struct items * currItem;
+ struct items * firstItem;
+
+ if (!item)
+ return 1;
+
+ switch(sense) {
+ case NEWT_FLAGS_RESET:
+ item->selected = 0;
+ break;
+ case NEWT_FLAGS_SET:
+ item->selected = 1;
+ break;
+ case NEWT_FLAGS_TOGGLE:
+ if (item->branch)
+ item->selected = !item->selected;
+ else {
+ item->selected++;
+ if (item->selected==strlen(ct->seq))
+ item->selected = 0;
+ }
+ break;
+ }
+
+ if (item->branch) {
+ currItem = *ct->currItem;
+ firstItem = *ct->firstItem;
+
+ buildFlatList(co);
+
+ ct->currItem = ct->flatList;
+ while (*ct->currItem != currItem) ct->currItem++;
+
+ ct->firstItem = ct->flatList;
+ if (ct->flatCount > co->height) {
+ struct items ** last = ct->flatList + ct->flatCount - co->height;
+ while (*ct->firstItem != firstItem && ct->firstItem != last)
+ ct->firstItem++;
+ }
+ }
+
+ return 0;
+}
+
+static void ctSetItems(struct items *item, int selected)
+{
+ for (; item; item = item->next) {
+ if (!item->branch)
+ item->selected = selected;
+ else
+ ctSetItems(item->branch, selected);
+ }
+}
+
+static void ctDraw(newtComponent co) {
+ struct CheckboxTree * ct = co->data;
+ struct items ** item;
+ int i, j;
+ char * spaces = NULL;
+ int currRow = -1;
+
+ if (!co->isMapped) return ;
+
+ if (!ct->firstItem) {
+ buildFlatList(co);
+ ct->firstItem = ct->currItem = ct->flatList;
+ }
+
+ item = ct->firstItem;
+
+ i = 0;
+ while (*item && i < co->height) {
+ newtGotorc(co->top + i, co->left);
+ if (*item == *ct->currItem) {
+ SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
+ currRow = co->top + i;
+ } else
+ SLsmg_set_color(NEWT_COLORSET_LISTBOX);
+
+ for (j = 0; j < (*item)->depth; j++)
+ SLsmg_write_string(" ");
+
+ if ((*item)->branch) {
+ if ((*item)->selected)
+ SLsmg_write_string("<-> ");
+ else
+ SLsmg_write_string("<+> ");
+ } else {
+ char tmp[5];
+ snprintf(tmp,5,"[%c] ",ct->seq[(*item)->selected]);
+ SLsmg_write_string(tmp);
+ }
+
+ SLsmg_write_nstring((*item)->text, co->width - 4 -
+ (3 * (*item)->depth));
+ item++;
+ i++;
+ }
+
+ /* There could be empty lines left (i.e. if the user closes an expanded
+ list which is the last thing in the tree, and whose elements are
+ displayed at the bottom of the screen */
+ if (i < co->height) {
+ spaces = alloca(co->width);
+ memset(spaces, ' ', co->width);
+ SLsmg_set_color(NEWT_COLORSET_LISTBOX);
+ }
+ while (i < co->height) {
+ newtGotorc(co->top + i, co->left);
+ SLsmg_write_nstring(spaces, co->width);
+ i++;
+ }
+
+ if(ct->sb) {
+ newtScrollbarSet(ct->sb, ct->currItem - ct->flatList,
+ ct->flatCount - 1);
+ ct->sb->ops->draw(ct->sb);
+ }
+
+ newtGotorc(currRow, co->left + 1);
+}
+
+static void ctDestroy(newtComponent co) {
+ struct CheckboxTree * ct = co->data;
+ struct items * item, * nextitem;
+
+ nextitem = item = ct->itemlist;
+
+ while (item != NULL) {
+ nextitem = item->next;
+ free(item->text);
+ free(item);
+ item = nextitem;
+ }
+
+ free(ct->seq);
+ free(ct);
+ free(co);
+}
+
+struct eventResult ctEvent(newtComponent co, struct event ev) {
+ struct CheckboxTree * ct = co->data;
+ struct eventResult er;
+ struct items ** listEnd, ** lastItem;
+ int key, selnum = 1;
+
+ er.result = ER_IGNORED;
+
+ if(ev.when == EV_EARLY || ev.when == EV_LATE) {
+ return er;
+ }
+
+ switch(ev.event) {
+ case EV_KEYPRESS:
+ key = ev.u.key;
+ if (key == (char) key && key != ' ') {
+ for (selnum = 0; ct->seq[selnum]; selnum++)
+ if (key == ct->seq[selnum])
+ break;
+ if (!ct->seq[selnum])
+ switch (key) {
+ case '-': selnum = 0; break;
+ case '+':
+ case '*': selnum = 1; break;
+ }
+ if (ct->seq[selnum])
+ key = '*';
+ }
+ switch(key) {
+ case ' ':
+ case NEWT_KEY_ENTER:
+ ctSetItem(co, *ct->currItem, NEWT_FLAGS_TOGGLE);
+ er.result = ER_SWALLOWED;
+ if (!(*ct->currItem)->branch || (*ct->currItem)->selected)
+ key = NEWT_KEY_DOWN;
+ else
+ key = '*';
+ break;
+ case '*':
+ if ((*ct->currItem)->branch) {
+ ctSetItems((*ct->currItem)->branch, selnum);
+ if (!(*ct->currItem)->selected)
+ key = NEWT_KEY_DOWN;
+ } else {
+ (*ct->currItem)->selected = selnum;
+ key = NEWT_KEY_DOWN;
+ }
+ er.result = ER_SWALLOWED;
+ break;
+ }
+ switch (key) {
+ case '*':
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ return er;
+ case NEWT_KEY_HOME:
+ ct->currItem = ct->flatList;
+ ct->firstItem = ct->flatList;
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ return er;
+ case NEWT_KEY_END:
+ ct->currItem = ct->flatList + ct->flatCount - 1;
+ if (ct->flatCount <= co->height)
+ ct->firstItem = ct->flatList;
+ else
+ ct->firstItem = ct->flatList + ct->flatCount - co->height;
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ return er;
+ case NEWT_KEY_DOWN:
+ if (ev.u.key != NEWT_KEY_DOWN) {
+ if(co->callback) co->callback(co, co->callbackData);
+ if (strlen(ct->seq) != 2) {
+ ctDraw(co);
+ return er;
+ }
+ }
+ if ((ct->currItem - ct->flatList + 1) < ct->flatCount) {
+ ct->currItem++;
+
+ if (ct->currItem - ct->firstItem >= co->height)
+ ct->firstItem++;
+
+ ctDraw(co);
+ } else if (ev.u.key != NEWT_KEY_DOWN)
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ return er;
+ case NEWT_KEY_UP:
+ if (ct->currItem != ct->flatList) {
+ ct->currItem--;
+
+ if (ct->currItem < ct->firstItem)
+ ct->firstItem = ct->currItem;
+
+ ctDraw(co);
+ }
+ er.result = ER_SWALLOWED;
+ if(co->callback) co->callback(co, co->callbackData);
+ return er;
+ case NEWT_KEY_PGUP:
+ if (ct->firstItem - co->height < ct->flatList) {
+ ct->firstItem = ct->currItem = ct->flatList;
+ } else {
+ ct->currItem -= co->height;
+ ct->firstItem -= co->height;
+ }
+
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ return er;
+ case NEWT_KEY_PGDN:
+ listEnd = ct->flatList + ct->flatCount - 1;
+ lastItem = ct->firstItem + co->height - 1;
+
+ if (lastItem + co->height > listEnd) {
+ ct->firstItem = listEnd - co->height + 1;
+ ct->currItem = listEnd;
+ } else {
+ ct->currItem += co->height;
+ ct->firstItem += co->height;
+ }
+
+ ctDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ return er;
+ }
+ break;
+
+ case EV_FOCUS:
+ ctDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_UNFOCUS:
+ ctDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+ default:
+ break;
+ }
+
+ return er;
+}
+
+const void * newtCheckboxTreeGetCurrent(newtComponent co) {
+ struct CheckboxTree * ct = co->data;
+
+ if (!ct->currItem) return NULL;
+ return (*ct->currItem)->data;
+}
+
+void newtCheckboxTreeSetEntry(newtComponent co, const void * data, const char * text)
+{
+ struct CheckboxTree * ct;
+ struct items * item;
+ int i;
+
+ if (!co) return;
+ ct = co->data;
+ item = findItem(ct->itemlist, data);
+ if (!item) return;
+
+ free(item->text);
+ item->text = strdup(text);
+
+ i = 4 + (3 * item->depth);
+
+ if ((strlen(text) + i + ct->pad) > (size_t)co->width) {
+ co->width = strlen(text) + i + ct->pad;
+ }
+
+ ctDraw(co);
+}
+
+char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data)
+{
+ struct CheckboxTree * ct;
+ struct items * item;
+
+ if (!co) return -1;
+ ct = co->data;
+ item = findItem(ct->itemlist, data);
+ if (!item) return -1;
+ if (item->branch)
+ return item->selected ? NEWT_CHECKBOXTREE_EXPANDED : NEWT_CHECKBOXTREE_COLLAPSED;
+ else
+ return ct->seq[item->selected];
+}
+
+void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data, char value)
+{
+ struct CheckboxTree * ct;
+ struct items * item;
+ int i;
+
+ if (!co) return;
+ ct = co->data;
+ item = findItem(ct->itemlist, data);
+ if (!item || item->branch) return;
+
+ for(i = 0; ct->seq[i]; i++)
+ if (value == ct->seq[i])
+ break;
+
+ if (!ct->seq[i]) return;
+ item->selected = i;
+
+ ctDraw(co);
+}
+
diff --git a/mdk-stage1/newt/entry.c b/mdk-stage1/newt/entry.c
new file mode 100644
index 000000000..0ee449cf9
--- /dev/null
+++ b/mdk-stage1/newt/entry.c
@@ -0,0 +1,378 @@
+#include <ctype.h>
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct entry {
+ int flags;
+ char * buf;
+ char ** resultPtr;
+ int bufAlloced;
+ int bufUsed; /* amount of the buffer that's been used */
+ int cursorPosition; /* cursor *in the string* on on screen */
+ int firstChar; /* first character position being shown */
+ newtEntryFilter filter;
+ void * filterData;
+};
+
+static void entryDraw(newtComponent co);
+static void entryDestroy(newtComponent co);
+static struct eventResult entryEvent(newtComponent co,
+ struct event ev);
+
+static struct eventResult entryHandleKey(newtComponent co, int key);
+
+static struct componentOps entryOps = {
+ entryDraw,
+ entryEvent,
+ entryDestroy,
+ newtDefaultPlaceHandler,
+ newtDefaultMappedHandler,
+} ;
+
+void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd) {
+ struct entry * en = co->data;
+
+ if ((strlen(value) + 1) > (unsigned int)en->bufAlloced) {
+ free(en->buf);
+ en->bufAlloced = strlen(value) + 1;
+ en->buf = malloc(en->bufAlloced);
+ if (en->resultPtr) *en->resultPtr = en->buf;
+ }
+ memset(en->buf, 0, en->bufAlloced); /* clear the buffer */
+ strcpy(en->buf, value);
+ en->bufUsed = strlen(value);
+ en->firstChar = 0;
+ if (cursorAtEnd)
+ en->cursorPosition = en->bufUsed;
+ else
+ en->cursorPosition = 0;
+
+ entryDraw(co);
+} ;
+
+newtComponent newtEntry(int left, int top, const char * initialValue, int width,
+ char ** resultPtr, int flags) {
+ newtComponent co;
+ struct entry * en;
+
+ co = malloc(sizeof(*co));
+ en = malloc(sizeof(struct entry));
+ co->data = en;
+
+ co->top = top;
+ co->left = left;
+ co->height = 1;
+ co->width = width;
+ co->isMapped = 0;
+ co->callback = NULL;
+
+ co->ops = &entryOps;
+
+ en->flags = flags;
+ en->cursorPosition = 0;
+ en->firstChar = 0;
+ en->bufUsed = 0;
+ en->bufAlloced = width + 1;
+ en->filter = NULL;
+
+ if (!(en->flags & NEWT_FLAG_DISABLED))
+ co->takesFocus = 1;
+ else
+ co->takesFocus = 0;
+
+ if (initialValue && strlen(initialValue) > (unsigned int)width) {
+ en->bufAlloced = strlen(initialValue) + 1;
+ }
+ en->buf = malloc(en->bufAlloced);
+ en->resultPtr = resultPtr;
+ if (en->resultPtr) *en->resultPtr = en->buf;
+
+ memset(en->buf, 0, en->bufAlloced);
+ if (initialValue) {
+ strcpy(en->buf, initialValue);
+ en->bufUsed = strlen(initialValue);
+ en->cursorPosition = en->bufUsed;
+ } else {
+ *en->buf = '\0';
+ en->bufUsed = 0;
+ en->cursorPosition = 0;
+ }
+
+ return co;
+}
+
+static void entryDraw(newtComponent co) {
+ struct entry * en = co->data;
+ int i;
+ char * chptr;
+ int len;
+
+ if (!co->isMapped) return;
+
+ if (en->flags & NEWT_FLAG_DISABLED)
+ SLsmg_set_color(NEWT_COLORSET_DISENTRY);
+ else
+ SLsmg_set_color(NEWT_COLORSET_ENTRY);
+
+ if (en->flags & NEWT_FLAG_HIDDEN) {
+ newtGotorc(co->top, co->left);
+ for (i = 0; i < co->width; i++)
+ SLsmg_write_char('_');
+ newtGotorc(co->top, co->left);
+
+ return;
+ }
+
+ newtGotorc(co->top, co->left);
+
+ if (en->cursorPosition < en->firstChar) {
+ /* scroll to the left */
+ en->firstChar = en->cursorPosition;
+ } else if ((en->firstChar + co->width) <= en->cursorPosition) {
+ /* scroll to the right */
+ en->firstChar = en->cursorPosition - co->width + 1;
+ }
+
+ chptr = en->buf + en->firstChar;
+
+ if (en->flags & NEWT_FLAG_PASSWORD) {
+ char *tmpptr, *p;
+
+ tmpptr = alloca(strlen(chptr+2));
+ strcpy(tmpptr, chptr);
+ for (p = tmpptr; *p; p++)
+ *p = '*';
+ chptr = tmpptr;
+ }
+
+ len = strlen(chptr);
+
+ if (len <= co->width) {
+ i = len;
+ SLsmg_write_string(chptr);
+ while (i < co->width) {
+ SLsmg_write_char('_');
+ i++;
+ }
+ } else {
+ SLsmg_write_nstring(chptr, co->width);
+ }
+
+ if (en->flags & NEWT_FLAG_HIDDEN)
+ newtGotorc(co->top, co->left);
+ else
+ newtGotorc(co->top, co->left + (en->cursorPosition - en->firstChar));
+}
+
+void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense) {
+ struct entry * en = co->data;
+ int row, col;
+
+ en->flags = newtSetFlags(en->flags, flags, sense);
+
+ if (!(en->flags & NEWT_FLAG_DISABLED))
+ co->takesFocus = 1;
+ else
+ co->takesFocus = 0;
+
+ newtGetrc(&row, &col);
+ entryDraw(co);
+ newtGotorc(row, col);
+}
+
+static void entryDestroy(newtComponent co) {
+ struct entry * en = co->data;
+
+ free(en->buf);
+ free(en);
+ free(co);
+}
+
+static struct eventResult entryEvent(newtComponent co,
+ struct event ev) {
+ struct entry * en = co->data;
+ struct eventResult er;
+ int ch;
+ er.result = ER_IGNORED;
+ er.u.focus = NULL;
+
+ if (ev.when == EV_NORMAL) {
+ switch (ev.event) {
+ case EV_FOCUS:
+ newtCursorOn();
+ if (en->flags & NEWT_FLAG_HIDDEN)
+ newtGotorc(co->top, co->left);
+ else
+ newtGotorc(co->top, co->left +
+ (en->cursorPosition - en->firstChar));
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_UNFOCUS:
+ newtCursorOff();
+ newtGotorc(0, 0);
+ er.result = ER_SWALLOWED;
+ if (co->callback)
+ co->callback(co, co->callbackData);
+ break;
+
+ case EV_KEYPRESS:
+ ch = ev.u.key;
+ if (en->filter)
+ ch = en->filter(co, en->filterData, ch, en->cursorPosition);
+ if (ch) er = entryHandleKey(co, ch);
+ break;
+
+ case EV_MOUSE:
+ if ((ev.u.mouse.type == MOUSE_BUTTON_DOWN) &&
+ (en->flags ^ NEWT_FLAG_HIDDEN)) {
+ if (strlen(en->buf) >= (size_t) (ev.u.mouse.x - co->left)) {
+ en->cursorPosition = ev.u.mouse.x - co->left;
+ newtGotorc(co->top,
+ co->left +(en->cursorPosition - en->firstChar));
+ } else {
+ en->cursorPosition = strlen(en->buf);
+ newtGotorc(co->top,
+ co->left +(en->cursorPosition - en->firstChar));
+ }
+ }
+ break;
+ }
+ } else
+ er.result = ER_IGNORED;
+
+ return er;
+}
+
+static struct eventResult entryHandleKey(newtComponent co, int key) {
+ struct entry * en = co->data;
+ struct eventResult er;
+ char * chptr, * insPoint;
+
+ er.result = ER_SWALLOWED;
+ switch (key) {
+ case '\r': /* Return */
+ if (en->flags & NEWT_FLAG_RETURNEXIT) {
+ er.result = ER_EXITFORM;
+ } else {
+ er.result = ER_NEXTCOMP;
+ }
+ break;
+
+ case '\001': /* ^A */
+ case NEWT_KEY_HOME:
+ en->cursorPosition = 0;
+ break;
+
+ case '\005': /* ^E */
+ case NEWT_KEY_END:
+ en->cursorPosition = en->bufUsed;
+ break;
+
+ case '\013': /* ^K */
+ en->bufUsed = en->cursorPosition;
+ memset(en->buf + en->bufUsed, 0, en->bufAlloced - en->bufUsed);
+ break;
+
+ case '\002': /* ^B */
+ case NEWT_KEY_LEFT:
+ if (en->cursorPosition)
+ en->cursorPosition--;
+ break;
+
+ case '\004':
+ case NEWT_KEY_DELETE:
+ chptr = en->buf + en->cursorPosition;
+ if (*chptr) {
+ chptr++;
+ while (*chptr) {
+ *(chptr - 1) = *chptr;
+ chptr++;
+ }
+ *(chptr - 1) = '\0';
+ en->bufUsed--;
+ }
+ break;
+
+ case NEWT_KEY_BKSPC:
+ if (en->cursorPosition) {
+ /* if this isn't true, there's nothing to erase */
+ chptr = en->buf + en->cursorPosition;
+ en->bufUsed--;
+ en->cursorPosition--;
+ while (*chptr) {
+ *(chptr - 1) = *chptr;
+ chptr++;
+ }
+ *(chptr - 1) = '\0';
+ }
+ break;
+
+ case '\006': /* ^B */
+ case NEWT_KEY_RIGHT:
+ if (en->cursorPosition < en->bufUsed)
+ en->cursorPosition++;
+ break;
+
+ default:
+ if ((key >= 0x20 && key <= 0x7e) || (key >= 0xa0 && key <= 0xff)) {
+ if (!(en->flags & NEWT_FLAG_SCROLL) && en->bufUsed >= co->width) {
+ SLtt_beep();
+ break;
+ }
+
+ if ((en->bufUsed + 1) == en->bufAlloced) {
+ en->bufAlloced += 20;
+ en->buf = realloc(en->buf, en->bufAlloced);
+ if (en->resultPtr) *en->resultPtr = en->buf;
+ memset(en->buf + en->bufUsed + 1, 0, 20);
+ }
+
+ if (en->cursorPosition == en->bufUsed) {
+ en->bufUsed++;
+ } else {
+ /* insert the new character */
+
+ /* chptr is the last character in the string */
+ chptr = (en->buf + en->bufUsed) - 1;
+ if ((en->bufUsed + 1) == en->bufAlloced) {
+ /* this string fills the buffer, so clip it */
+ chptr--;
+ } else
+ en->bufUsed++;
+
+ insPoint = en->buf + en->cursorPosition;
+
+ while (chptr >= insPoint) {
+ *(chptr + 1) = *chptr;
+ chptr--;
+ }
+
+ }
+
+ en->buf[en->cursorPosition++] = key;
+ } else {
+ er.result = ER_IGNORED;
+ }
+ }
+
+ entryDraw(co);
+
+ return er;
+}
+
+char * newtEntryGetValue(newtComponent co) {
+ struct entry * en = co->data;
+
+ return en->buf;
+}
+
+void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data) {
+ struct entry * en = co->data;
+ en->filter = filter;
+ en->filterData = data;
+}
diff --git a/mdk-stage1/newt/form.c b/mdk-stage1/newt/form.c
new file mode 100644
index 000000000..ad7520e95
--- /dev/null
+++ b/mdk-stage1/newt/form.c
@@ -0,0 +1,713 @@
+#include <unistd.h>
+#include <slang.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/time.h>
+#include <sys/types.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+
+/****************************************************************************
+ These forms handle vertical scrolling of components with a height of 1
+
+ Horizontal scrolling won't work, and scrolling large widgets will fail
+ miserably. It shouldn't be too hard to fix either of those if anyone
+ cares to. I only use scrolling for listboxes and text boxes though so
+ I didn't bother.
+*****************************************************************************/
+
+struct element {
+ int top, left; /* Actual, not virtual. These are translated */
+ newtComponent co; /* into actual through vertOffset */
+};
+
+struct fdInfo {
+ int fd;
+ int flags;
+};
+
+struct form {
+ int numCompsAlloced;
+ struct element * elements;
+ int numComps;
+ int currComp;
+ int fixedHeight;
+ int flags;
+ int vertOffset;
+ newtComponent vertBar, exitComp;
+ const char * help;
+ int numRows;
+ int * hotKeys;
+ int numHotKeys;
+ int background;
+ int beenSet;
+ int numFds;
+ struct fdInfo * fds;
+ int maxFd;
+ int timer; /* in milliseconds */
+ struct timeval lastTimeout;
+ void * helpTag;
+ newtCallback helpCb;
+};
+
+static void gotoComponent(struct form * form, int newComp);
+static struct eventResult formEvent(newtComponent co, struct event ev);
+static struct eventResult sendEvent(newtComponent comp, struct event ev);
+static void formPlace(newtComponent co, int left, int top);
+
+/* Global, ick */
+static newtCallback helpCallback;
+
+/* this isn't static as grid.c tests against it to find forms */
+struct componentOps formOps = {
+ newtDrawForm,
+ formEvent,
+ newtFormDestroy,
+ formPlace,
+ newtDefaultMappedHandler,
+} ;
+
+static inline int componentFits(newtComponent co, int compNum) {
+ struct form * form = co->data;
+ struct element * el = form->elements + compNum;
+
+ if ((co->top + form->vertOffset) > el->top) return 0;
+ if ((co->top + form->vertOffset + co->height) <
+ (el->top + el->co->height)) return 0;
+
+ return 1;
+}
+
+newtComponent newtForm(newtComponent vertBar, void * help, int flags) {
+ newtComponent co;
+ struct form * form;
+
+ co = malloc(sizeof(*co));
+ form = malloc(sizeof(*form));
+ co->data = form;
+ co->width = 0;
+ co->height = 0;
+ co->top = -1;
+ co->left = -1;
+ co->isMapped = 0;
+
+ co->takesFocus = 0; /* we may have 0 components */
+ co->ops = &formOps;
+
+ form->help = help;
+ form->flags = flags;
+ form->numCompsAlloced = 5;
+ form->numComps = 0;
+ form->currComp = -1;
+ form->vertOffset = 0;
+ form->fixedHeight = 0;
+ form->numRows = 0;
+ form->numFds = 0;
+ form->maxFd = 0;
+ form->fds = NULL;
+ form->beenSet = 0;
+ form->elements = malloc(sizeof(*(form->elements)) * form->numCompsAlloced);
+
+ form->background = COLORSET_WINDOW;
+ form->hotKeys = malloc(sizeof(int));
+ form->numHotKeys = 0;
+ form->timer = 0;
+ form->lastTimeout.tv_sec = form->lastTimeout.tv_usec = 0;
+ if (!(form->flags & NEWT_FLAG_NOF12)) {
+ newtFormAddHotKey(co, NEWT_KEY_F12);
+ }
+
+ if (vertBar)
+ form->vertBar = vertBar;
+ else
+ form->vertBar = NULL;
+
+ form->helpTag = help;
+ form->helpCb = helpCallback;
+
+ return co;
+}
+
+newtComponent newtFormGetCurrent(newtComponent co) {
+ struct form * form = co->data;
+
+ return form->elements[form->currComp].co;
+}
+
+void newtFormSetCurrent(newtComponent co, newtComponent subco) {
+ struct form * form = co->data;
+ int i, new;
+
+ for (i = 0; i < form->numComps; i++) {
+ if (form->elements[i].co == subco) break;
+ }
+
+ if (form->elements[i].co != subco) return;
+ new = i;
+
+ if (co->isMapped && !componentFits(co, new)) {
+ gotoComponent(form, -1);
+ form->vertOffset = form->elements[new].top - co->top - 1;
+ if (form->vertOffset > (form->numRows - co->height))
+ form->vertOffset = form->numRows - co->height;
+ }
+
+ gotoComponent(form, new);
+}
+
+void newtFormSetTimer(newtComponent co, int millisecs) {
+ struct form * form = co->data;
+
+ form->timer = millisecs;
+ form->lastTimeout.tv_usec = 0;
+ form->lastTimeout.tv_sec = 0;
+}
+
+void newtFormSetHeight(newtComponent co, int height) {
+ struct form * form = co->data;
+
+ form->fixedHeight = 1;
+ co->height = height;
+}
+
+void newtFormSetWidth(newtComponent co, int width) {
+ co->width = width;
+}
+
+void newtFormAddComponent(newtComponent co, newtComponent newco) {
+ struct form * form = co->data;
+
+ co->takesFocus = 1;
+
+ if (form->numCompsAlloced == form->numComps) {
+ form->numCompsAlloced += 5;
+ form->elements = realloc(form->elements,
+ sizeof(*(form->elements)) * form->numCompsAlloced);
+ }
+
+ /* we grab real values for these a bit later */
+ form->elements[form->numComps].left = -2;
+ form->elements[form->numComps].top = -2;
+ form->elements[form->numComps].co = newco;
+
+ if (newco->takesFocus && form->currComp == -1)
+ form->currComp = form->numComps;
+
+ form->numComps++;
+}
+
+void newtFormAddComponents(newtComponent co, ...) {
+ va_list ap;
+ newtComponent subco;
+
+ va_start(ap, co);
+
+ while ((subco = va_arg(ap, newtComponent)))
+ newtFormAddComponent(co, subco);
+
+ va_end(ap);
+}
+
+static void formPlace(newtComponent co, int left, int top) {
+ struct form * form = co->data;
+ int vertDelta, horizDelta;
+ struct element * el;
+ int i;
+
+ newtFormSetSize(co);
+
+ vertDelta = top - co->top;
+ horizDelta = left - co->left;
+ co->top = top;
+ co->left = left;
+
+ for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
+ el->co->top += vertDelta;
+ el->top += vertDelta;
+ el->co->left += horizDelta;
+ el->left += horizDelta;
+ }
+}
+
+void newtDrawForm(newtComponent co) {
+ struct form * form = co->data;
+ struct element * el;
+ int i;
+
+ newtFormSetSize(co);
+
+ SLsmg_set_color(form->background);
+ newtClearBox(co->left, co->top, co->width, co->height);
+ for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
+ /* the scrollbar *always* fits somewhere */
+ if (el->co == form->vertBar) {
+ el->co->ops->mapped(el->co, 1);
+ el->co->ops->draw(el->co);
+ } else {
+ /* only draw it if it'll fit on the screen vertically */
+ if (componentFits(co, i)) {
+ el->co->top = el->top - form->vertOffset;
+ el->co->ops->mapped(el->co, 1);
+ el->co->ops->draw(el->co);
+ } else {
+ el->co->ops->mapped(el->co, 0);
+ }
+ }
+ }
+
+ if (form->vertBar)
+ newtScrollbarSet(form->vertBar, form->vertOffset,
+ form->numRows - co->height);
+}
+
+static struct eventResult formEvent(newtComponent co, struct event ev) {
+ struct form * form = co->data;
+ newtComponent subco = form->elements[form->currComp].co;
+ int new, wrap = 0;
+ struct eventResult er;
+ int dir = 0, page = 0;
+ int i, num, found;
+ struct element * el;
+
+ er.result = ER_IGNORED;
+ if (!form->numComps) return er;
+
+ subco = form->elements[form->currComp].co;
+
+ switch (ev.when) {
+ case EV_EARLY:
+ if (ev.event == EV_KEYPRESS) {
+ if (ev.u.key == NEWT_KEY_TAB) {
+ er.result = ER_SWALLOWED;
+ dir = 1;
+ wrap = 1;
+ } else if (ev.u.key == NEWT_KEY_UNTAB) {
+ er.result = ER_SWALLOWED;
+ dir = -1;
+ wrap = 1;
+ }
+ }
+
+ if (form->numComps) {
+ i = form->currComp;
+ num = 0;
+ while (er.result == ER_IGNORED && num != form->numComps ) {
+ er = form->elements[i].co->ops->event(form->elements[i].co, ev);
+
+ num++;
+ i++;
+ if (i == form->numComps) i = 0;
+ }
+ }
+
+ break;
+
+ case EV_NORMAL:
+ if (ev.event == EV_MOUSE) {
+ found = 0;
+ for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
+ if ((el->co->top <= ev.u.mouse.y) &&
+ (el->co->top + el->co->height > ev.u.mouse.y) &&
+ (el->co->left <= ev.u.mouse.x) &&
+ (el->co->left + el->co->width > ev.u.mouse.x)) {
+ found = 1;
+ if (el->co->takesFocus) {
+ gotoComponent(form, i);
+ subco = form->elements[form->currComp].co;
+ }
+ }
+ /* If we did not find a co to send this event to, we
+ should just swallow the event here. */
+ }
+ if (!found) {
+ er.result = ER_SWALLOWED;
+
+ return er;
+ }
+ }
+ er = subco->ops->event(subco, ev);
+ switch (er.result) {
+ case ER_NEXTCOMP:
+ er.result = ER_SWALLOWED;
+ dir = 1;
+ break;
+
+ case ER_EXITFORM:
+ form->exitComp = subco;
+ break;
+
+ default:
+ break;
+ }
+ break;
+
+ case EV_LATE:
+ er = subco->ops->event(subco, ev);
+
+ if (er.result == ER_IGNORED) {
+ switch (ev.u.key) {
+ case NEWT_KEY_UP:
+ case NEWT_KEY_LEFT:
+ case NEWT_KEY_BKSPC:
+ er.result = ER_SWALLOWED;
+ dir = -1;
+ break;
+
+ case NEWT_KEY_DOWN:
+ case NEWT_KEY_RIGHT:
+ er.result = ER_SWALLOWED;
+ dir = 1;
+ break;
+
+ case NEWT_KEY_PGUP:
+ er.result = ER_SWALLOWED;
+ dir = -1;
+ page = 1;
+ break;
+
+ case NEWT_KEY_PGDN:
+ er.result = ER_SWALLOWED;
+ dir = 1;
+ page = 1;
+ break;
+ }
+ }
+ }
+
+ if (dir) {
+ new = form->currComp;
+
+ if (page) {
+ new += dir * co->height;
+ if (new < 0)
+ new = 0;
+ else if (new >= form->numComps)
+ new = (form->numComps - 1);
+
+ while (!form->elements[new].co->takesFocus)
+ new = new - dir;
+ } else {
+ do {
+ new += dir;
+
+ if (wrap) {
+ if (new < 0)
+ new = form->numComps - 1;
+ else if (new >= form->numComps)
+ new = 0;
+ } else if (new < 0 || new >= form->numComps)
+ return er;
+ } while (!form->elements[new].co->takesFocus);
+ }
+
+ /* make sure this component is visible */
+ if (!componentFits(co, new)) {
+ gotoComponent(form, -1);
+
+ if (dir < 0) {
+ /* make the new component the first one */
+ form->vertOffset = form->elements[new].top - co->top;
+ } else {
+ /* make the new component the last one */
+ form->vertOffset = (form->elements[new].top +
+ form->elements[new].co->height) -
+ (co->top + co->height);
+ }
+
+ if (form->vertOffset < 0) form->vertOffset = 0;
+ if (form->vertOffset > (form->numRows - co->height))
+ form->vertOffset = form->numRows - co->height;
+
+ newtDrawForm(co);
+ }
+
+ gotoComponent(form, new);
+ er.result = ER_SWALLOWED;
+ }
+
+ return er;
+}
+
+/* this also destroys all of the components on the form */
+void newtFormDestroy(newtComponent co) {
+ newtComponent subco;
+ struct form * form = co->data;
+ int i;
+
+ /* first, destroy all of the components */
+ for (i = 0; i < form->numComps; i++) {
+ subco = form->elements[i].co;
+ if (subco->ops->destroy) {
+ subco->ops->destroy(subco);
+ } else {
+ if (subco->data) free(subco->data);
+ free(subco);
+ }
+ }
+
+ if (form->hotKeys) free(form->hotKeys);
+
+ free(form->elements);
+ free(form);
+ free(co);
+}
+
+newtComponent newtRunForm(newtComponent co) {
+ struct newtExitStruct es;
+
+ newtFormRun(co, &es);
+ if (es.reason == NEWT_EXIT_HOTKEY) {
+ if (es.u.key == NEWT_KEY_F12) {
+ es.reason = NEWT_EXIT_COMPONENT;
+ es.u.co = co;
+ } else {
+ return NULL;
+ }
+ }
+
+ return es.u.co;
+}
+
+void newtFormAddHotKey(newtComponent co, int key) {
+ struct form * form = co->data;
+
+ form->numHotKeys++;
+ form->hotKeys = realloc(form->hotKeys, sizeof(int) * form->numHotKeys);
+ form->hotKeys[form->numHotKeys - 1] = key;
+}
+
+void newtFormSetSize(newtComponent co) {
+ struct form * form = co->data;
+ int delta, i;
+ struct element * el;
+
+ if (form->beenSet) return;
+
+ form->beenSet = 1;
+
+ if (!form->numComps) return;
+
+ co->width = 0;
+ if (!form->fixedHeight) co->height = 0;
+
+ co->top = form->elements[0].co->top;
+ co->left = form->elements[0].co->left;
+ for (i = 0, el = form->elements; i < form->numComps; i++, el++) {
+ if (el->co->ops == &formOps)
+ newtFormSetSize(el->co);
+
+ el->left = el->co->left;
+ el->top = el->co->top;
+
+ if (co->left > el->co->left) {
+ delta = co->left - el->co->left;
+ co->left -= delta;
+ co->width += delta;
+ }
+
+ if (co->top > el->co->top) {
+ delta = co->top - el->co->top;
+ co->top -= delta;
+ if (!form->fixedHeight)
+ co->height += delta;
+ }
+
+ if ((co->left + co->width) < (el->co->left + el->co->width))
+ co->width = (el->co->left + el->co->width) - co->left;
+
+ if (!form->fixedHeight) {
+ if ((co->top + co->height) < (el->co->top + el->co->height))
+ co->height = (el->co->top + el->co->height) - co->top;
+ }
+
+ if ((el->co->top + el->co->height - co->top) > form->numRows) {
+ form->numRows = el->co->top + el->co->height - co->top;
+ }
+ }
+}
+
+void newtFormRun(newtComponent co, struct newtExitStruct * es) {
+ struct form * form = co->data;
+ struct event ev;
+ struct eventResult er;
+ int key, i, max;
+ int done = 0;
+ fd_set readSet, writeSet;
+ struct timeval nextTimeout, now, timeout;
+
+ newtFormSetSize(co);
+ /* draw all of the components */
+ newtDrawForm(co);
+
+ if (form->currComp == -1) {
+ gotoComponent(form, 0);
+ } else
+ gotoComponent(form, form->currComp);
+
+ while (!done) {
+ newtRefresh();
+
+ FD_ZERO(&readSet);
+ FD_ZERO(&writeSet);
+ FD_SET(0, &readSet);
+ max = form->maxFd;
+
+ for (i = 0; i < form->numFds; i++) {
+ if (form->fds[i].flags & NEWT_FD_READ)
+ FD_SET(form->fds[i].fd, &readSet);
+ if (form->fds[i].flags & NEWT_FD_WRITE)
+ FD_SET(form->fds[i].fd, &writeSet);
+ }
+
+ if (form->timer) {
+ /* Calculate when we next need to return with a timeout. Do
+ this inside the loop in case a callback resets the timer. */
+ if (!form->lastTimeout.tv_sec && !form->lastTimeout.tv_usec)
+ gettimeofday(&form->lastTimeout, NULL);
+
+ nextTimeout.tv_sec = form->lastTimeout.tv_sec +
+ (form->timer / 1000);
+ nextTimeout.tv_usec = form->lastTimeout.tv_usec +
+ (form->timer % 1000) * 1000;
+
+ gettimeofday(&now, 0);
+
+ if (now.tv_sec > nextTimeout.tv_sec) {
+ timeout.tv_sec = timeout.tv_usec = 0;
+ } else if (now.tv_sec == nextTimeout.tv_sec) {
+ timeout.tv_sec = 0;
+ if (now.tv_usec > nextTimeout.tv_usec)
+ timeout.tv_usec = 0;
+ else
+ timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
+ } else if (now.tv_sec < nextTimeout.tv_sec) {
+ timeout.tv_sec = nextTimeout.tv_sec - now.tv_sec;
+ if (now.tv_usec > nextTimeout.tv_usec)
+ timeout.tv_sec--,
+ timeout.tv_usec = nextTimeout.tv_usec + 1000000 -
+ now.tv_usec;
+ else
+ timeout.tv_usec = nextTimeout.tv_usec - now.tv_usec;
+ }
+ } else {
+ timeout.tv_sec = timeout.tv_usec = 0;
+ }
+
+ i = select(max + 1, &readSet, &writeSet, NULL,
+ form->timer ? &timeout : NULL);
+ if (i < 0) continue; /* ?? What should we do here? */
+
+ if (i == 0) {
+ done = 1;
+ es->reason = NEWT_EXIT_TIMER;
+ gettimeofday(&form->lastTimeout, NULL);
+ } else
+ {
+ if (FD_ISSET(0, &readSet)) {
+
+ key = newtGetKey();
+
+ if (key == NEWT_KEY_RESIZE) {
+ /* newtResizeScreen(1); */
+ continue;
+ }
+
+ for (i = 0; i < form->numHotKeys; i++) {
+ if (form->hotKeys[i] == key) {
+ es->reason = NEWT_EXIT_HOTKEY;
+ es->u.key = key;
+ done = 1;
+ break;
+ }
+ }
+
+ if (key == NEWT_KEY_F1 && form->helpTag && form->helpCb)
+ form->helpCb(co, form->helpTag);
+
+ if (!done) {
+ ev.event = EV_KEYPRESS;
+ ev.u.key = key;
+
+ er = sendEvent(co, ev);
+
+ if (er.result == ER_EXITFORM) {
+ done = 1;
+ es->reason = NEWT_EXIT_COMPONENT;
+ es->u.co = form->exitComp;
+ }
+ }
+ } else {
+ es->reason = NEWT_EXIT_FDREADY;
+ done = 1;
+ }
+ }
+ }
+ newtRefresh();
+}
+
+static struct eventResult sendEvent(newtComponent co, struct event ev) {
+ struct eventResult er;
+
+ ev.when = EV_EARLY;
+ er = co->ops->event(co, ev);
+
+ if (er.result == ER_IGNORED) {
+ ev.when = EV_NORMAL;
+ er = co->ops->event(co, ev);
+ }
+
+ if (er.result == ER_IGNORED) {
+ ev.when = EV_LATE;
+ er = co->ops->event(co, ev);
+ }
+
+ return er;
+}
+
+static void gotoComponent(struct form * form, int newComp) {
+ struct event ev;
+
+ if (form->currComp != -1) {
+ ev.event = EV_UNFOCUS;
+ sendEvent(form->elements[form->currComp].co, ev);
+ }
+
+ form->currComp = newComp;
+
+ if (form->currComp != -1) {
+ ev.event = EV_FOCUS;
+ ev.when = EV_NORMAL;
+ sendEvent(form->elements[form->currComp].co, ev);
+ }
+}
+
+void newtComponentAddCallback(newtComponent co, newtCallback f, void * data) {
+ co->callback = f;
+ co->callbackData = data;
+}
+
+void newtComponentTakesFocus(newtComponent co, int val) {
+ co->takesFocus = val;
+}
+
+void newtFormSetBackground(newtComponent co, int color) {
+ struct form * form = co->data;
+
+ form->background = color;
+}
+
+void newtFormWatchFd(newtComponent co, int fd, int fdFlags) {
+ struct form * form = co->data;
+
+ form->fds = realloc(form->fds, (form->numFds + 1) * sizeof(*form->fds));
+ form->fds[form->numFds].fd = fd;
+ form->fds[form->numFds++].flags = fdFlags;
+ if (form->maxFd < fd) form->maxFd = fd;
+}
+
+void newtSetHelpCallback(newtCallback cb) {
+ helpCallback = cb;
+}
diff --git a/mdk-stage1/newt/grid.c b/mdk-stage1/newt/grid.c
new file mode 100644
index 000000000..37d2b2e74
--- /dev/null
+++ b/mdk-stage1/newt/grid.c
@@ -0,0 +1,389 @@
+#include <alloca.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct gridField {
+ enum newtGridElement type;
+ union {
+ newtGrid grid;
+ newtComponent co;
+ } u;
+ int padLeft, padTop, padRight, padBottom;
+ int anchor;
+ int flags;
+};
+
+struct grid_s {
+ int rows, cols;
+ int width, height; /* totals, -1 means unknown */
+ struct gridField ** fields;
+};
+
+/* this is a bit of a hack */
+extern struct componentOps formOps[];
+
+newtGrid newtCreateGrid(int cols, int rows) {
+ newtGrid grid;
+
+ grid = malloc(sizeof(*grid));
+ grid->rows = rows;
+ grid->cols = cols;
+
+ grid->fields = malloc(sizeof(*grid->fields) * cols);
+ while (cols--) {
+ grid->fields[cols] = malloc(sizeof(**(grid->fields)) * rows);
+ memset(grid->fields[cols], 0, sizeof(**(grid->fields)) * rows);
+ }
+
+ grid->width = grid->height = -1;
+
+ return grid;
+}
+
+void newtGridSetField(newtGrid grid, int col, int row,
+ enum newtGridElement type, void * val, int padLeft,
+ int padTop, int padRight, int padBottom, int anchor,
+ int flags) {
+ struct gridField * field = &grid->fields[col][row];
+
+ if (field->type == NEWT_GRID_SUBGRID)
+ newtGridFree(field->u.grid, 1);
+
+ field->type = type;
+ field->u.co = (void *) val;
+
+ field->padLeft = padLeft;
+ field->padRight = padRight;
+ field->padTop = padTop;
+ field->padBottom = padBottom;
+ field->anchor = anchor;
+ field->flags = flags;
+
+ grid->width = grid->height = -1;
+}
+
+static void distSpace(int extra, int items, int * list) {
+ int all, some, i;
+
+ all = extra / items;
+ some = extra % items;
+ for (i = 0; i < items; i++) {
+ list[i] += all;
+ if (some) {
+ list[i]++;
+ some--;
+ }
+ }
+}
+
+static void shuffleGrid(newtGrid grid, int left, int top, int set) {
+ struct gridField * field;
+ int row, col;
+ int i, j;
+ int minWidth, minHeight;
+ int * widths, * heights;
+ int thisLeft, thisTop;
+ int x, y, remx, remy;
+
+ widths = alloca(sizeof(*widths) * grid->cols);
+ memset(widths, 0, sizeof(*widths) * grid->cols);
+ heights = alloca(sizeof(*heights) * grid->rows);
+ memset(heights, 0, sizeof(*heights) * grid->rows);
+
+ minWidth = 0;
+ for (row = 0; row < grid->rows; row++) {
+ i = 0;
+ for (col = 0; col < grid->cols; col++) {
+ field = &grid->fields[col][row];
+ if (field->type == NEWT_GRID_SUBGRID) {
+ /* we'll have to redo this later */
+ if (field->u.grid->width == -1)
+ shuffleGrid(field->u.grid, left, top, 0);
+ j = field->u.grid->width;
+ } else if (field->type == NEWT_GRID_COMPONENT) {
+ if (field->u.co->ops == formOps)
+ newtFormSetSize(field->u.co);
+ j = field->u.co->width;
+ } else
+ j = 0;
+
+ j += field->padLeft + field->padRight;
+
+ if (j > widths[col]) widths[col] = j;
+ i += widths[col];
+ }
+
+ if (i > minWidth) minWidth = i;
+ }
+
+ minHeight = 0;
+ for (col = 0; col < grid->cols; col++) {
+ i = 0;
+ for (row = 0; row < grid->rows; row++) {
+ field = &grid->fields[col][row];
+ if (field->type == NEWT_GRID_SUBGRID) {
+ /* we'll have to redo this later */
+ if (field->u.grid->height == -1)
+ shuffleGrid(field->u.grid, 0, 0, 0);
+ j = field->u.grid->height;
+ } else if (field->type == NEWT_GRID_COMPONENT){
+ j = field->u.co->height;
+ } else
+ j = 0;
+
+ j += field->padTop + field->padBottom;
+
+ if (j > heights[row]) heights[row] = j;
+ i += heights[row];
+ }
+
+ if (i > minHeight) minHeight = i;
+ }
+
+ /* this catches the -1 case */
+ if (grid->width < minWidth) grid->width = minWidth; /* ack! */
+ if (grid->height < minHeight) grid->height = minHeight; /* ditto! */
+
+ if (!set) return;
+
+ distSpace(grid->width - minWidth, grid->cols, widths);
+ distSpace(grid->height - minHeight, grid->rows, heights);
+
+ thisTop = top;
+ for (row = 0; row < grid->rows; row++) {
+ i = 0;
+ thisLeft = left;
+ for (col = 0; col < grid->cols; col++) {
+ field = &grid->fields[col][row];
+
+ if (field->type == NEWT_GRID_EMPTY) continue;
+
+ x = thisLeft + field->padLeft;
+ remx = widths[col] - field->padLeft - field->padRight;
+ y = thisTop + field->padTop;
+ remy = heights[row] - field->padTop - field->padBottom;
+
+ if (field->type == NEWT_GRID_SUBGRID) {
+ remx -= field->u.grid->width;
+ remy -= field->u.grid->height;
+ } else if (field->type == NEWT_GRID_COMPONENT) {
+ remx -= field->u.co->width;
+ remy -= field->u.co->height;
+ }
+
+ if (!(field->flags & NEWT_GRID_FLAG_GROWX)) {
+ if (field->anchor & NEWT_ANCHOR_RIGHT)
+ x += remx;
+ else if (!(field->anchor & NEWT_ANCHOR_LEFT))
+ x += (remx / 2);
+ }
+
+ if (!(field->flags & NEWT_GRID_FLAG_GROWY)) {
+ if (field->anchor & NEWT_ANCHOR_BOTTOM)
+ y += remx;
+ else if (!(field->anchor & NEWT_ANCHOR_TOP))
+ y += (remy / 2);
+ }
+
+ if (field->type == NEWT_GRID_SUBGRID) {
+ if (field->flags & NEWT_GRID_FLAG_GROWX)
+ field->u.grid->width = widths[col] - field->padLeft
+ - field->padRight;
+ if (field->flags & NEWT_GRID_FLAG_GROWY)
+ field->u.grid->height = heights[col] - field->padTop
+ - field->padBottom;
+
+ shuffleGrid(field->u.grid, x, y, 1);
+ } else if (field->type == NEWT_GRID_COMPONENT) {
+ field->u.co->ops->place(field->u.co, x, y);
+ }
+
+ thisLeft += widths[col];
+ }
+
+ thisTop += heights[row];
+ }
+}
+
+void newtGridPlace(newtGrid grid, int left, int top) {
+ shuffleGrid(grid, left, top, 1);
+}
+
+void newtGridFree(newtGrid grid, int recurse) {
+ int row, col;
+
+ for (col = 0; col < grid->cols; col++) {
+ if (recurse) {
+ for (row = 0; row < grid->rows; row++) {
+ if (grid->fields[col][row].type == NEWT_GRID_SUBGRID)
+ newtGridFree(grid->fields[col][row].u.grid, 1);
+ }
+ }
+
+ free(grid->fields[col]);
+ }
+
+ free(grid->fields);
+ free(grid);
+}
+
+void newtGridGetSize(newtGrid grid, int * width, int * height) {
+ if (grid->width == -1 || grid->height == -1) {
+ grid->width = grid->height = -1;
+ shuffleGrid(grid, 0, 0, 1);
+ }
+
+ *width = grid->width;
+ *height = grid->height;
+}
+
+void newtGridWrappedWindow(newtGrid grid, char * title) {
+ int width, height, offset = 0;
+
+ newtGridGetSize(grid, &width, &height);
+ if ((size_t)width < strlen(title) + 2) {
+ offset = ((strlen(title) + 2) - width) / 2;
+ width = strlen(title) + 2;
+ }
+ newtCenteredWindow(width + 2, height + 2, title);
+ newtGridPlace(grid, 1 + offset, 1);
+}
+
+void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top) {
+ int width, height;
+
+ newtGridGetSize(grid, &width, &height);
+ newtOpenWindow(left, top, width + 2, height + 2, title);
+ newtGridPlace(grid, 1, 1);
+}
+
+void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
+ int recurse) {
+ int row, col;
+
+ for (col = 0; col < grid->cols; col++) {
+ for (row = 0; row < grid->rows; row++) {
+ if (grid->fields[col][row].type == NEWT_GRID_SUBGRID && recurse)
+ newtGridAddComponentsToForm(grid->fields[col][row].u.grid,
+ form, 1);
+ else if (grid->fields[col][row].type == NEWT_GRID_COMPONENT)
+ newtFormAddComponent(form, grid->fields[col][row].u.co);
+ }
+ }
+}
+
+/* this handles up to 50 items */
+static newtGrid stackem(int isVert, enum newtGridElement type1, void * what1,
+ va_list args, int close) {
+ struct item {
+ enum newtGridElement type;
+ void * what;
+ } items[50];
+ int i, num;
+ newtGrid grid;
+
+ items[0].type = type1, items[0].what = what1, num = 1;
+ while (1) {
+ items[num].type = va_arg(args, enum newtGridElement);
+ if (items[num].type == NEWT_GRID_EMPTY) break;
+
+ items[num].what = va_arg(args, void *);
+ num++;
+ }
+
+ grid = newtCreateGrid(isVert ? 1 : num, isVert ? num : 1);
+
+ for (i = 0; i < num; i++) {
+ newtGridSetField(grid, isVert ? 0 : i, isVert ? i : 0,
+ items[i].type, items[i].what,
+ close ? 0 : (i ? (isVert ? 0 : 1) : 0),
+ close ? 0 : (i ? (isVert ? 1 : 0) : 0), 0, 0, 0, 0);
+ }
+
+ return grid;
+}
+
+newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...) {
+ va_list args;
+ newtGrid grid;
+
+ va_start(args, what1);
+
+ grid = stackem(0, type1, what1, args, 1);
+
+ va_start(args, what1);
+
+ return grid;
+}
+
+newtGrid newtGridVCloseStacked(enum newtGridElement type1, void * what1, ...) {
+ va_list args;
+ newtGrid grid;
+
+ va_start(args, what1);
+
+ grid = stackem(1, type1, what1, args, 1);
+
+ va_start(args, what1);
+
+ return grid;
+}
+
+newtGrid newtGridVStacked(enum newtGridElement type1, void * what1, ...) {
+ va_list args;
+ newtGrid grid;
+
+ va_start(args, what1);
+
+ grid = stackem(1, type1, what1, args, 0);
+
+ va_start(args, what1);
+
+ return grid;
+}
+
+newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...) {
+ va_list args;
+ newtGrid grid;
+
+ va_start(args, what1);
+
+ grid = stackem(0, type1, what1, args, 0);
+
+ va_start(args, what1);
+
+ return grid;
+}
+
+newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
+ newtGrid buttons) {
+ newtGrid grid;
+
+ grid = newtCreateGrid(1, 3);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, middle,
+ 0, 1, 0, 0, 0, 0);
+ newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
+ 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
+
+ return grid;
+}
+
+newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
+ newtGrid buttons) {
+ newtGrid grid;
+
+ grid = newtCreateGrid(1, 3);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, text,
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, middle,
+ 0, 1, 0, 0, 0, 0);
+ newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttons,
+ 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
+
+ return grid;
+}
diff --git a/mdk-stage1/newt/label.c b/mdk-stage1/newt/label.c
new file mode 100644
index 000000000..f1a9cebbf
--- /dev/null
+++ b/mdk-stage1/newt/label.c
@@ -0,0 +1,81 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct label {
+ char * text;
+ int length;
+};
+
+static void labelDraw(newtComponent co);
+static void labelDestroy(newtComponent co);
+
+static struct componentOps labelOps = {
+ labelDraw,
+ newtDefaultEventHandler,
+ labelDestroy,
+ newtDefaultPlaceHandler,
+ newtDefaultMappedHandler,
+} ;
+
+newtComponent newtLabel(int left, int top, const char * text) {
+ newtComponent co;
+ struct label * la;
+
+ co = malloc(sizeof(*co));
+ la = malloc(sizeof(struct label));
+ co->data = la;
+
+ co->ops = &labelOps;
+
+ co->height = 1;
+ co->width = strlen(text);
+ co->top = top;
+ co->left = left;
+ co->takesFocus = 0;
+
+ la->length = strlen(text);
+ la->text = strdup(text);
+
+ return co;
+}
+
+void newtLabelSetText(newtComponent co, const char * text) {
+ int newLength;
+ struct label * la = co->data;
+
+ newLength = strlen(text);
+ if (newLength <= la->length) {
+ memset(la->text, ' ', la->length);
+ memcpy(la->text, text, newLength);
+ } else {
+ free(la->text);
+ la->text = strdup(text);
+ la->length = newLength;
+ co->width = newLength;
+ }
+
+ labelDraw(co);
+}
+
+static void labelDraw(newtComponent co) {
+ struct label * la = co->data;
+
+ if (co->isMapped == -1) return;
+
+ SLsmg_set_color(COLORSET_LABEL);
+
+ newtGotorc(co->top, co->left);
+ SLsmg_write_string(la->text);
+}
+
+static void labelDestroy(newtComponent co) {
+ struct label * la = co->data;
+
+ free(la->text);
+ free(la);
+ free(co);
+}
diff --git a/mdk-stage1/newt/listbox.c b/mdk-stage1/newt/listbox.c
new file mode 100644
index 000000000..cdbf792ca
--- /dev/null
+++ b/mdk-stage1/newt/listbox.c
@@ -0,0 +1,752 @@
+/* This goofed-up box whacked into shape by Elliot Lee <sopwith@cuc.edu>
+ (from the original listbox by Erik Troan <ewt@redhat.com>)
+ and contributed to newt for use under the LGPL license.
+ Copyright (C) 1996, 1997 Elliot Lee */
+
+#include <slang.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+
+/* Linked list of items in the listbox */
+struct items {
+ char * text;
+ const void *data;
+ unsigned char isSelected;
+ struct items *next;
+};
+
+/* Holds all the relevant information for this listbox */
+struct listbox {
+ newtComponent sb; /* Scrollbar on right side of listbox */
+ int curWidth; /* size of text w/o scrollbar or border*/
+ int curHeight; /* size of text w/o border */
+ int sbAdjust;
+ int bdxAdjust, bdyAdjust;
+ int numItems, numSelected;
+ int userHasSetWidth;
+ int currItem, startShowItem; /* startShowItem is the first item displayed
+ on the screen */
+ int isActive; /* If we handle key events all the time, it seems
+ to do things even when they are supposed to be for
+ another button/whatever */
+ struct items *boxItems;
+ int grow;
+ int flags; /* flags for this listbox, right now just
+ NEWT_FLAG_RETURNEXIT */
+};
+
+static void listboxDraw(newtComponent co);
+static void listboxDestroy(newtComponent co);
+static struct eventResult listboxEvent(newtComponent co, struct event ev);
+static void newtListboxRealSetCurrent(newtComponent co);
+static void listboxPlace(newtComponent co, int newLeft, int newTop);
+static inline void updateWidth(newtComponent co, struct listbox * li,
+ int maxField);
+static void listboxMapped(newtComponent co, int isMapped);
+
+static struct componentOps listboxOps = {
+ listboxDraw,
+ listboxEvent,
+ listboxDestroy,
+ listboxPlace,
+ listboxMapped,
+};
+
+static void listboxMapped(newtComponent co, int isMapped) {
+ struct listbox * li = co->data;
+
+ co->isMapped = isMapped;
+ if (li->sb)
+ li->sb->ops->mapped(li->sb, isMapped);
+}
+
+static void listboxPlace(newtComponent co, int newLeft, int newTop) {
+ struct listbox * li = co->data;
+
+ co->top = newTop;
+ co->left = newLeft;
+
+ if (li->sb)
+ li->sb->ops->place(li->sb, co->left + co->width - li->bdxAdjust - 1,
+ co->top);
+}
+
+newtComponent newtListbox(int left, int top, int height, int flags) {
+ newtComponent co, sb;
+ struct listbox * li;
+
+ if (!(co = malloc(sizeof(*co))))
+ return NULL;
+
+ if (!(li = malloc(sizeof(struct listbox)))) {
+ free(co);
+ return NULL;
+ }
+
+ li->boxItems = NULL;
+ li->numItems = 0;
+ li->currItem = 0;
+ li->numSelected = 0;
+ li->isActive = 0;
+ li->userHasSetWidth = 0;
+ li->startShowItem = 0;
+ li->sbAdjust = 0;
+ li->bdxAdjust = 0;
+ li->bdyAdjust = 0;
+ li->flags = flags & (NEWT_FLAG_RETURNEXIT | NEWT_FLAG_BORDER |
+ NEWT_FLAG_MULTIPLE);
+
+ if (li->flags & NEWT_FLAG_BORDER) {
+ li->bdxAdjust = 2;
+ li->bdyAdjust = 1;
+ }
+
+ co->height = height;
+ li->curHeight = co->height - (2 * li->bdyAdjust);
+
+ if (height) {
+ li->grow = 0;
+ if (flags & NEWT_FLAG_SCROLL) {
+ sb = newtVerticalScrollbar(left, top + li->bdyAdjust,
+ li->curHeight,
+ COLORSET_LISTBOX, COLORSET_ACTLISTBOX);
+ li->sbAdjust = 3;
+ } else {
+ sb = NULL;
+ }
+ } else {
+ li->grow = 1;
+ sb = NULL;
+ }
+
+ li->sb = sb;
+ co->data = li;
+ co->isMapped = 0;
+ co->left = left;
+ co->top = top;
+ co->ops = &listboxOps;
+ co->takesFocus = 1;
+ co->callback = NULL;
+
+ updateWidth(co, li, 5);
+
+ return co;
+}
+
+static inline void updateWidth(newtComponent co, struct listbox * li,
+ int maxField) {
+ li->curWidth = maxField;
+ co->width = li->curWidth + li->sbAdjust + 2 * li->bdxAdjust;
+
+ if (li->sb)
+ li->sb->left = co->left + co->width - li->bdxAdjust - 1;
+}
+
+void newtListboxSetCurrentByKey(newtComponent co, void * key) {
+ struct listbox * li = co->data;
+ struct items * item;
+ int i;
+
+ item = li->boxItems, i = 0;
+ while (item && item->data != key)
+ item = item->next, i++;
+
+ if (item)
+ newtListboxSetCurrent(co, i);
+}
+
+void newtListboxSetCurrent(newtComponent co, int num)
+{
+ struct listbox * li = co->data;
+
+ if (num >= li->numItems)
+ li->currItem = li->numItems - 1;
+ else if (num < 0)
+ li->currItem = 0;
+ else
+ li->currItem = num;
+
+ if (li->currItem < li->startShowItem)
+ li->startShowItem = li->currItem;
+ else if (li->currItem - li->startShowItem > li->curHeight - 1)
+ li->startShowItem = li->currItem - li->curHeight + 1;
+ if (li->startShowItem + li->curHeight > li->numItems)
+ li->startShowItem = li->numItems - li->curHeight;
+ if(li->startShowItem < 0)
+ li->startShowItem = 0;
+
+ newtListboxRealSetCurrent(co);
+}
+
+static void newtListboxRealSetCurrent(newtComponent co)
+{
+ struct listbox * li = co->data;
+
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ listboxDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+}
+
+void newtListboxSetWidth(newtComponent co, int width) {
+ struct listbox * li = co->data;
+
+ co->width = width;
+ li->curWidth = co->width - li->sbAdjust - 2 * li->bdxAdjust;
+ li->userHasSetWidth = 1;
+ if (li->sb) li->sb->left = co->width + co->left - 1;
+ listboxDraw(co);
+}
+
+void * newtListboxGetCurrent(newtComponent co) {
+ struct listbox * li = co->data;
+ int i;
+ struct items *item;
+
+ for(i = 0, item = li->boxItems; item != NULL && i < li->currItem;
+ i++, item = item->next);
+
+ if (item)
+ return (void *)item->data;
+ else
+ return NULL;
+}
+
+void newtListboxSelectItem(newtComponent co, const void * key,
+ enum newtFlagsSense sense)
+{
+ struct listbox * li = co->data;
+ int i;
+ struct items * item;
+
+ item = li->boxItems, i = 0;
+ while (item && item->data != key)
+ item = item->next, i++;
+
+ if (!item) return;
+
+ if (item->isSelected)
+ li->numSelected--;
+
+ switch(sense) {
+ case NEWT_FLAGS_RESET:
+ item->isSelected = 0; break;
+ case NEWT_FLAGS_SET:
+ item->isSelected = 1; break;
+ case NEWT_FLAGS_TOGGLE:
+ item->isSelected = !item->isSelected;
+ }
+
+ if (item->isSelected)
+ li->numSelected++;
+
+ listboxDraw(co);
+}
+
+void newtListboxClearSelection(newtComponent co)
+{
+ struct items *item;
+ struct listbox * li = co->data;
+
+ for(item = li->boxItems; item != NULL;
+ item = item->next)
+ item->isSelected = 0;
+ li->numSelected = 0;
+ listboxDraw(co);
+}
+
+/* Free the returned array after use, but NOT the values in the array */
+void ** newtListboxGetSelection(newtComponent co, int *numitems)
+{
+ struct listbox * li;
+ int i;
+ void **retval;
+ struct items *item;
+
+ if(!co || !numitems) return NULL;
+
+ li = co->data;
+ if(!li || !li->numSelected) return NULL;
+
+ retval = malloc(li->numSelected * sizeof(void *));
+ for(i = 0, item = li->boxItems; item != NULL;
+ item = item->next)
+ if(item->isSelected)
+ retval[i++] = (void *)item->data;
+ *numitems = li->numSelected;
+ return retval;
+}
+
+void newtListboxSetEntry(newtComponent co, int num, const char * text) {
+ struct listbox * li = co->data;
+ int i;
+ struct items *item;
+
+ for(i = 0, item = li->boxItems; item != NULL && i < num;
+ i++, item = item->next);
+
+ if(!item)
+ return;
+ else {
+ free(item->text);
+ item->text = strdup(text);
+ }
+ if (li->userHasSetWidth == 0 && strlen(text) > (size_t)li->curWidth) {
+ updateWidth(co, li, strlen(text));
+ }
+
+ if (num >= li->startShowItem && num <= li->startShowItem + co->height)
+ listboxDraw(co);
+}
+
+void newtListboxSetData(newtComponent co, int num, void * data) {
+ struct listbox * li = co->data;
+ int i;
+ struct items *item;
+
+ for(i = 0, item = li->boxItems; item != NULL && i < num;
+ i++, item = item->next);
+
+ item->data = data;
+}
+
+int newtListboxAppendEntry(newtComponent co, const char * text,
+ const void * data) {
+ struct listbox * li = co->data;
+ struct items *item;
+
+ if(li->boxItems) {
+ for (item = li->boxItems; item->next != NULL; item = item->next);
+
+ item = item->next = malloc(sizeof(struct items));
+ } else {
+ item = li->boxItems = malloc(sizeof(struct items));
+ }
+
+ if (!li->userHasSetWidth && text && (strlen(text) > (size_t)li->curWidth))
+ updateWidth(co, li, strlen(text));
+
+ item->text = strdup(text); item->data = data; item->next = NULL;
+ item->isSelected = 0;
+
+ if (li->grow)
+ co->height++, li->curHeight++;
+ li->numItems++;
+
+ return 0;
+}
+
+int newtListboxInsertEntry(newtComponent co, const char * text,
+ const void * data, void * key) {
+ struct listbox * li = co->data;
+ struct items *item, *t;
+
+ if (li->boxItems) {
+ if (key) {
+ item = li->boxItems;
+ while (item && item->data != key) item = item->next;
+
+ if (!item) return 1;
+
+ t = item->next;
+ item = item->next = malloc(sizeof(struct items));
+ item->next = t;
+ } else {
+ t = li->boxItems;
+ item = li->boxItems = malloc(sizeof(struct items));
+ item->next = t;
+ }
+ } else if (key) {
+ return 1;
+ } else {
+ item = li->boxItems = malloc(sizeof(struct items));
+ item->next = NULL;
+ }
+
+ if (!li->userHasSetWidth && text && (strlen(text) > (size_t)li->curWidth))
+ updateWidth(co, li, strlen(text));
+
+ item->text = strdup(text?text:"(null)"); item->data = data;
+ item->isSelected = 0;
+
+ if (li->sb)
+ li->sb->left = co->left + co->width - li->bdxAdjust - 1;
+ li->numItems++;
+
+ listboxDraw(co);
+
+ return 0;
+}
+
+int newtListboxDeleteEntry(newtComponent co, void * key) {
+ struct listbox * li = co->data;
+ int widest = 0, t;
+ struct items *item, *item2 = NULL;
+ int num;
+
+ if (li->boxItems == NULL || li->numItems <= 0)
+ return 0;
+
+ num = 0;
+
+ item2 = NULL, item = li->boxItems;
+ while (item && item->data != key) {
+ item2 = item;
+ item = item->next;
+ num++;
+ }
+
+ if (!item)
+ return -1;
+
+ if (item2)
+ item2->next = item->next;
+ else
+ li->boxItems = item->next;
+
+ free(item->text);
+ free(item);
+ li->numItems--;
+
+ if (!li->userHasSetWidth) {
+ widest = 0;
+ for (item = li->boxItems; item != NULL; item = item->next)
+ if ((t = strlen(item->text)) > widest) widest = t;
+ }
+
+ if (li->currItem >= num)
+ li->currItem--;
+
+ if (!li->userHasSetWidth) {
+ updateWidth(co, li, widest);
+ }
+
+ listboxDraw(co);
+
+ return 0;
+}
+
+void newtListboxClear(newtComponent co)
+{
+ struct listbox * li;
+ struct items *anitem, *nextitem;
+ if(co == NULL || (li = co->data) == NULL)
+ return;
+ for(anitem = li->boxItems; anitem != NULL; anitem = nextitem) {
+ nextitem = anitem->next;
+ free(anitem->text);
+ free(anitem);
+ }
+ li->numItems = li->numSelected = li->currItem = li->startShowItem = 0;
+ li->boxItems = NULL;
+ if (!li->userHasSetWidth)
+ updateWidth(co, li, 5);
+}
+
+/* If you don't want to get back the text, pass in NULL for the ptr-ptr. Same
+ goes for the data. */
+void newtListboxGetEntry(newtComponent co, int num, char **text, void **data) {
+ struct listbox * li = co->data;
+ int i;
+ struct items *item;
+
+ if (!li->boxItems || num >= li->numItems) {
+ if(text)
+ *text = NULL;
+ if(data)
+ *data = NULL;
+ return;
+ }
+
+ i = 0;
+ item = li->boxItems;
+ while (item && i < num) {
+ i++, item = item->next;
+ }
+
+ if (item) {
+ if (text)
+ *text = item->text;
+ if (data)
+ *data = (void *)item->data;
+ }
+}
+
+static void listboxDraw(newtComponent co)
+{
+ struct listbox * li = co->data;
+ struct items *item;
+ int i, j;
+
+ if (!co->isMapped) return ;
+
+ if(li->flags & NEWT_FLAG_BORDER) {
+ if(li->isActive)
+ SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
+ else
+ SLsmg_set_color(NEWT_COLORSET_LISTBOX);
+
+ newtDrawBox(co->left, co->top, co->width, co->height, 0);
+ }
+
+ if(li->sb)
+ li->sb->ops->draw(li->sb);
+
+ SLsmg_set_color(NEWT_COLORSET_LISTBOX);
+
+ for(i = 0, item = li->boxItems; item != NULL && i < li->startShowItem;
+ i++, item = item->next);
+
+ j = i;
+
+ for (i = 0; item != NULL && i < li->curHeight; i++, item = item->next) {
+ if (!item->text) continue;
+
+ newtGotorc(co->top + i + li->bdyAdjust, co->left + li->bdxAdjust);
+ if(j + i == li->currItem) {
+ if(item->isSelected)
+ SLsmg_set_color(NEWT_COLORSET_ACTSELLISTBOX);
+ else
+ SLsmg_set_color(NEWT_COLORSET_ACTLISTBOX);
+ } else if(item->isSelected)
+ SLsmg_set_color(NEWT_COLORSET_SELLISTBOX);
+ else
+ SLsmg_set_color(NEWT_COLORSET_LISTBOX);
+
+ SLsmg_write_nstring(item->text, li->curWidth);
+
+ }
+ newtGotorc(co->top + (li->currItem - li->startShowItem), co->left);
+}
+
+static struct eventResult listboxEvent(newtComponent co, struct event ev) {
+ struct eventResult er;
+ struct listbox * li = co->data;
+ struct items *item;
+ int i;
+
+ er.result = ER_IGNORED;
+
+ if(ev.when == EV_EARLY || ev.when == EV_LATE) {
+ return er;
+ }
+
+ switch(ev.event) {
+ case EV_KEYPRESS:
+ if (!li->isActive) break;
+
+ switch(ev.u.key) {
+ case ' ':
+ if(!(li->flags & NEWT_FLAG_MULTIPLE)) break;
+ newtListboxSelectItem(co, li->boxItems[li->currItem].data,
+ NEWT_FLAGS_TOGGLE);
+ er.result = ER_SWALLOWED;
+ /* We don't break here, because it is cool to be able to
+ hold space to select a bunch of items in a list at once */
+
+ case NEWT_KEY_DOWN:
+ if(li->numItems <= 0) break;
+ if(li->currItem < li->numItems - 1) {
+ li->currItem++;
+ if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
+ li->startShowItem = li->currItem - li->curHeight + 1;
+ if(li->startShowItem + li->curHeight > li->numItems)
+ li->startShowItem = li->numItems - li->curHeight;
+ }
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ listboxDraw(co);
+ }
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_ENTER:
+ if(li->numItems <= 0) break;
+ if(li->flags & NEWT_FLAG_RETURNEXIT)
+ er.result = ER_EXITFORM;
+ break;
+
+ case NEWT_KEY_UP:
+ if(li->numItems <= 0) break;
+ if(li->currItem > 0) {
+ li->currItem--;
+ if(li->currItem < li->startShowItem)
+ li->startShowItem = li->currItem;
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ listboxDraw(co);
+ }
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_PGUP:
+ if(li->numItems <= 0) break;
+ li->startShowItem -= li->curHeight - 1;
+ if(li->startShowItem < 0)
+ li->startShowItem = 0;
+ li->currItem -= li->curHeight - 1;
+ if(li->currItem < 0)
+ li->currItem = 0;
+ newtListboxRealSetCurrent(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_PGDN:
+ if(li->numItems <= 0) break;
+ li->startShowItem += li->curHeight;
+ if(li->startShowItem > (li->numItems - li->curHeight)) {
+ li->startShowItem = li->numItems - li->curHeight;
+ }
+ li->currItem += li->curHeight;
+ if(li->currItem >= li->numItems) {
+ li->currItem = li->numItems - 1;
+ }
+ newtListboxRealSetCurrent(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_HOME:
+ if(li->numItems <= 0) break;
+ newtListboxSetCurrent(co, 0);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_END:
+ if(li->numItems <= 0) break;
+ li->startShowItem = li->numItems - li->curHeight;
+ if(li->startShowItem < 0)
+ li->startShowItem = 0;
+ li->currItem = li->numItems - 1;
+ newtListboxRealSetCurrent(co);
+ er.result = ER_SWALLOWED;
+ break;
+ default:
+ if (li->numItems <= 0) break;
+ if (ev.u.key < NEWT_KEY_EXTRA_BASE && isalpha(ev.u.key)) {
+ for(i = 0, item = li->boxItems; item != NULL &&
+ i < li->currItem; i++, item = item->next);
+
+ if (item && item->text && (toupper(*item->text) == toupper(ev.u.key))) {
+ item = item->next;
+ i++;
+ } else {
+ item = li->boxItems;
+ i = 0;
+ }
+ while (item && item->text &&
+ toupper(*item->text) != toupper(ev.u.key)) {
+ item = item->next;
+ i++;
+ }
+ if (item) {
+ li->currItem = i;
+ if(li->currItem < li->startShowItem ||
+ li->currItem > li->startShowItem)
+ li->startShowItem =
+ li->currItem > li->numItems - li->curHeight ?
+ li->startShowItem = li->numItems - li->curHeight :
+ li->currItem;
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ newtListboxRealSetCurrent(co);
+ er.result = ER_SWALLOWED;
+ }
+ }
+ }
+ break;
+
+ case EV_FOCUS:
+ li->isActive = 1;
+ listboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_UNFOCUS:
+ li->isActive = 0;
+ listboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case EV_MOUSE:
+ /* if this mouse click was within the listbox, make the current
+ item the item clicked on. */
+ /* Up scroll arrow */
+ if (li->sb &&
+ ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
+ ev.u.mouse.y == co->top + li->bdyAdjust) {
+ if(li->numItems <= 0) break;
+ if(li->currItem > 0) {
+ li->currItem--;
+ if(li->currItem < li->startShowItem)
+ li->startShowItem = li->currItem;
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ listboxDraw(co);
+ }
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ break;
+ }
+ /* Down scroll arrow */
+ if (li->sb &&
+ ev.u.mouse.x == co->left + co->width - li->bdxAdjust - 1 &&
+ ev.u.mouse.y == co->top + co->height - li->bdyAdjust - 1) {
+ if(li->numItems <= 0) break;
+ if(li->currItem < li->numItems - 1) {
+ li->currItem++;
+ if(li->currItem > (li->startShowItem + li->curHeight - 1)) {
+ li->startShowItem = li->currItem - li->curHeight + 1;
+ if(li->startShowItem + li->curHeight > li->numItems)
+ li->startShowItem = li->numItems - li->curHeight;
+ }
+ if(li->sb)
+ newtScrollbarSet(li->sb, li->currItem + 1, li->numItems);
+ listboxDraw(co);
+ }
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ break;
+ }
+ if ((ev.u.mouse.y >= co->top + li->bdyAdjust) &&
+ (ev.u.mouse.y <= co->top + co->height - (li->bdyAdjust * 2)) &&
+ (ev.u.mouse.x >= co->left + li->bdxAdjust) &&
+ (ev.u.mouse.x <= co->left + co->width + (li->bdxAdjust * 2))) {
+ li->currItem = li->startShowItem +
+ (ev.u.mouse.y - li->bdyAdjust - co->top);
+ newtListboxRealSetCurrent(co);
+ listboxDraw(co);
+ if(co->callback) co->callback(co, co->callbackData);
+ er.result = ER_SWALLOWED;
+ break;
+ }
+ }
+
+ return er;
+}
+
+static void listboxDestroy(newtComponent co) {
+ struct listbox * li = co->data;
+ struct items * item, * nextitem;
+
+ nextitem = item = li->boxItems;
+
+ while (item != NULL) {
+ nextitem = item->next;
+ free(item->text);
+ free(item);
+ item = nextitem;
+ }
+
+ if (li->sb) li->sb->ops->destroy(li->sb);
+
+ free(li);
+ free(co);
+}
diff --git a/mdk-stage1/newt/newt.c b/mdk-stage1/newt/newt.c
new file mode 100644
index 000000000..8ff5e39a5
--- /dev/null
+++ b/mdk-stage1/newt/newt.c
@@ -0,0 +1,672 @@
+#include <slang.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/signal.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <termios.h>
+#include <unistd.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct Window {
+ int height, width, top, left;
+ short * buffer;
+ char * title;
+};
+
+struct keymap {
+ char * str;
+ int code;
+ char * tc;
+};
+
+static struct Window windowStack[20];
+static struct Window * currentWindow = NULL;
+
+static char * helplineStack[20];
+static char ** currentHelpline = NULL;
+
+static int cursorRow, cursorCol;
+static int needResize;
+static int cursorOn = 1;
+
+static const char * defaultHelpLine =
+" <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screen"
+;
+
+const struct newtColors newtDefaultColorPalette = {
+ "cyan", "black", /* root fg, bg */
+ "black", "blue", /* border fg, bg */
+ "white", "blue", /* window fg, bg */
+ "white", "black", /* shadow fg, bg */
+ "white", "blue", /* title fg, bg */
+ "black", "cyan", /* button fg, bg */
+ "yellow", "cyan", /* active button fg, bg */
+ "yellow", "blue", /* checkbox fg, bg */
+ "blue", "brown", /* active checkbox fg, bg */
+ "yellow", "blue", /* entry box fg, bg */
+ "white", "blue", /* label fg, bg */
+ "black", "cyan", /* listbox fg, bg */
+ "yellow", "cyan", /* active listbox fg, bg */
+ "white", "blue", /* textbox fg, bg */
+ "cyan", "black", /* active textbox fg, bg */
+ "white", "blue", /* help line */
+ "yellow", "blue", /* root text */
+ "blue", /* scale full */
+ "red", /* scale empty */
+ "blue", "cyan", /* disabled entry fg, bg */
+ "white", "blue", /* compact button fg, bg */
+ "yellow", "red", /* active & sel listbox */
+ "black", "brown" /* selected listbox */
+};
+
+static const struct keymap keymap[] = {
+ { "\033OA", NEWT_KEY_UP, "kh" },
+ { "\033[A", NEWT_KEY_UP, "ku" },
+ { "\033OB", NEWT_KEY_DOWN, "kd" },
+ { "\033[B", NEWT_KEY_DOWN, "kd" },
+ { "\033[C", NEWT_KEY_RIGHT, "kr" },
+ { "\033OC", NEWT_KEY_RIGHT, "kr" },
+ { "\033[D", NEWT_KEY_LEFT, "kl" },
+ { "\033OD", NEWT_KEY_LEFT, "kl" },
+ { "\033[H", NEWT_KEY_HOME, "kh" },
+ { "\033[1~", NEWT_KEY_HOME, "kh" },
+ { "\033Ow", NEWT_KEY_END, "kH" },
+ { "\033[4~", NEWT_KEY_END, "kH" },
+
+ { "\033[3~", NEWT_KEY_DELETE, "kl" },
+ { "\033[2~", NEWT_KEY_INSERT, NULL },
+
+ { "\033\t", NEWT_KEY_UNTAB, NULL },
+
+ { "\033[5~", NEWT_KEY_PGUP, NULL },
+ { "\033[6~", NEWT_KEY_PGDN, NULL },
+ { "\033V", NEWT_KEY_PGUP, "kH" },
+ { "\033v", NEWT_KEY_PGUP, "kH" },
+
+ { "\033[[A", NEWT_KEY_F1, NULL },
+ { "\033[[B", NEWT_KEY_F2, NULL },
+ { "\033[[C", NEWT_KEY_F3, NULL },
+ { "\033[[D", NEWT_KEY_F4, NULL },
+ { "\033[[E", NEWT_KEY_F5, NULL },
+
+ { "\033OP", NEWT_KEY_F1, NULL },
+ { "\033OQ", NEWT_KEY_F2, NULL },
+ { "\033OR", NEWT_KEY_F3, NULL },
+ { "\033OS", NEWT_KEY_F4, NULL },
+
+ { "\033[11~", NEWT_KEY_F1, NULL },
+ { "\033[12~", NEWT_KEY_F2, NULL },
+ { "\033[13~", NEWT_KEY_F3, NULL },
+ { "\033[14~", NEWT_KEY_F4, NULL },
+ { "\033[15~", NEWT_KEY_F5, NULL },
+ { "\033[17~", NEWT_KEY_F6, NULL },
+ { "\033[18~", NEWT_KEY_F7, NULL },
+ { "\033[19~", NEWT_KEY_F8, NULL },
+ { "\033[20~", NEWT_KEY_F9, NULL },
+ { "\033[21~", NEWT_KEY_F10, NULL },
+ { "\033[23~", NEWT_KEY_F11, NULL },
+ { "\033[24~", NEWT_KEY_F12, NULL },
+
+ { NULL, 0, NULL }, /* LEAVE this one */
+};
+static char keyPrefix = '\033';
+
+static const char * version = "Newt windowing library version " VERSION
+ " - (C) 1996-2000 Red Hat Software. "
+ "Redistributable under the term of the Library "
+ "GNU Public License. "
+ "Written by Erik Troan\n";
+
+static newtSuspendCallback suspendCallback = NULL;
+static void * suspendCallbackData = NULL;
+
+void newtSetSuspendCallback(newtSuspendCallback cb, void * data) {
+ suspendCallback = cb;
+ suspendCallbackData = data;
+}
+
+static void handleSigwinch(int signum __attribute__ ((unused))) {
+ needResize = 1;
+}
+
+static int getkeyInterruptHook(void) {
+ return -1;
+}
+
+void newtFlushInput(void) {
+ while (SLang_input_pending(0)) {
+ SLang_getkey();
+ }
+}
+
+void newtRefresh(void) {
+ SLsmg_refresh();
+}
+
+void newtSuspend(void) {
+ SLtt_set_cursor_visibility (1);
+ SLsmg_suspend_smg();
+ SLang_reset_tty();
+ SLtt_set_cursor_visibility (cursorOn);
+}
+
+void newtResume(void) {
+ SLsmg_resume_smg ();
+ SLsmg_refresh();
+ SLang_init_tty(0, 0, 0);
+}
+
+void newtCls(void) {
+ SLsmg_set_color(NEWT_COLORSET_ROOT);
+ SLsmg_gotorc(0, 0);
+ SLsmg_erase_eos();
+
+ newtRefresh();
+}
+
+#if defined(THIS_DOESNT_WORK)
+void newtResizeScreen(int redraw) {
+ newtPushHelpLine("");
+
+ SLtt_get_screen_size();
+ SLang_init_tty(0, 0, 0);
+
+ SLsmg_touch_lines (0, SLtt_Screen_Rows - 1);
+
+ /* I don't know why I need this */
+ SLsmg_refresh();
+
+ newtPopHelpLine();
+
+ if (redraw)
+ SLsmg_refresh();
+}
+#endif
+
+int newtInit(void) {
+ char * MonoValue, * MonoEnv = "NEWT_MONO";
+
+ /* use the version variable just to be sure it gets included */
+ (void) strlen(version);
+
+ SLtt_get_terminfo();
+ SLtt_get_screen_size();
+
+ MonoValue = getenv(MonoEnv);
+ if ( MonoValue == NULL ) {
+ SLtt_Use_Ansi_Colors = 1;
+ } else {
+ SLtt_Use_Ansi_Colors = 0;
+ }
+
+ SLsmg_init_smg();
+ SLang_init_tty(0, 0, 0);
+
+ newtSetColors(newtDefaultColorPalette);
+ newtCursorOff();
+ /*initKeymap();*/
+
+ /*memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = handleSigwinch;
+ sigaction(SIGWINCH, &sa, NULL);*/
+
+ SLsignal_intr(SIGWINCH, handleSigwinch);
+ SLang_getkey_intr_hook = getkeyInterruptHook;
+
+
+
+ return 0;
+}
+
+int newtFinished(void) {
+ SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
+ newtCursorOn();
+ SLsmg_refresh();
+ SLsmg_reset_smg();
+ SLang_reset_tty();
+
+ return 0;
+}
+
+void newtSetColors(struct newtColors colors) {
+ SLtt_set_color(NEWT_COLORSET_ROOT, "", colors.rootFg, colors.rootBg);
+ SLtt_set_color(NEWT_COLORSET_BORDER, "", colors.borderFg, colors.borderBg);
+ SLtt_set_color(NEWT_COLORSET_WINDOW, "", colors.windowFg, colors.windowBg);
+ SLtt_set_color(NEWT_COLORSET_SHADOW, "", colors.shadowFg, colors.shadowBg);
+ SLtt_set_color(NEWT_COLORSET_TITLE, "", colors.titleFg, colors.titleBg);
+ SLtt_set_color(NEWT_COLORSET_BUTTON, "", colors.buttonFg, colors.buttonBg);
+ SLtt_set_color(NEWT_COLORSET_ACTBUTTON, "", colors.actButtonFg,
+ colors.actButtonBg);
+ SLtt_set_color(NEWT_COLORSET_CHECKBOX, "", colors.checkboxFg,
+ colors.checkboxBg);
+ SLtt_set_color(NEWT_COLORSET_ACTCHECKBOX, "", colors.actCheckboxFg,
+ colors.actCheckboxBg);
+ SLtt_set_color(NEWT_COLORSET_ENTRY, "", colors.entryFg, colors.entryBg);
+ SLtt_set_color(NEWT_COLORSET_LABEL, "", colors.labelFg, colors.labelBg);
+ SLtt_set_color(NEWT_COLORSET_LISTBOX, "", colors.listboxFg,
+ colors.listboxBg);
+ SLtt_set_color(NEWT_COLORSET_ACTLISTBOX, "", colors.actListboxFg,
+ colors.actListboxBg);
+ SLtt_set_color(NEWT_COLORSET_TEXTBOX, "", colors.textboxFg,
+ colors.textboxBg);
+ SLtt_set_color(NEWT_COLORSET_ACTTEXTBOX, "", colors.actTextboxFg,
+ colors.actTextboxBg);
+ SLtt_set_color(NEWT_COLORSET_HELPLINE, "", colors.helpLineFg,
+ colors.helpLineBg);
+ SLtt_set_color(NEWT_COLORSET_ROOTTEXT, "", colors.rootTextFg,
+ colors.rootTextBg);
+
+ SLtt_set_color(NEWT_COLORSET_EMPTYSCALE, "", "black",
+ colors.emptyScale);
+ SLtt_set_color(NEWT_COLORSET_FULLSCALE, "", "black",
+ colors.fullScale);
+ SLtt_set_color(NEWT_COLORSET_DISENTRY, "", colors.disabledEntryFg,
+ colors.disabledEntryBg);
+
+ SLtt_set_color(NEWT_COLORSET_COMPACTBUTTON, "", colors.compactButtonFg,
+ colors.compactButtonBg);
+
+ SLtt_set_color(NEWT_COLORSET_ACTSELLISTBOX, "", colors.actSelListboxFg,
+ colors.actSelListboxBg);
+ SLtt_set_color(NEWT_COLORSET_SELLISTBOX, "", colors.selListboxFg,
+ colors.selListboxBg);
+}
+
+int newtGetKey(void) {
+ int key;
+ char buf[10], * chptr = buf;
+ const struct keymap * curr;
+
+ do {
+ key = SLang_getkey();
+ if (key == 0xFFFF) {
+ if (needResize)
+ return NEWT_KEY_RESIZE;
+
+ /* ignore other signals */
+ continue;
+ }
+
+ if (key == NEWT_KEY_SUSPEND && suspendCallback)
+ suspendCallback(suspendCallbackData);
+ } while (key == NEWT_KEY_SUSPEND);
+
+ switch (key) {
+ case 'v' | 0x80:
+ case 'V' | 0x80:
+ return NEWT_KEY_PGUP;
+
+ case 22:
+ return NEWT_KEY_PGDN;
+
+ return NEWT_KEY_BKSPC;
+ case 0x7f:
+ return NEWT_KEY_BKSPC;
+
+ case 0x08:
+ return NEWT_KEY_BKSPC;
+
+ default:
+ if (key != keyPrefix) return key;
+ }
+
+ memset(buf, 0, sizeof(buf));
+
+ *chptr++ = key;
+ while (SLang_input_pending(5)) {
+ key = SLang_getkey();
+ if (key == keyPrefix) {
+ /* he hit unknown keys too many times -- start over */
+ memset(buf, 0, sizeof(buf));
+ chptr = buf;
+ }
+
+ *chptr++ = key;
+
+ /* this search should use bsearch(), but when we only look through
+ a list of 20 (or so) keymappings, it's probably faster just to
+ do a inline linear search */
+
+ for (curr = keymap; curr->code; curr++) {
+ if (curr->str) {
+ if (!strcmp(curr->str, buf))
+ return curr->code;
+ }
+ }
+ }
+
+ for (curr = keymap; curr->code; curr++) {
+ if (curr->str) {
+ if (!strcmp(curr->str, buf))
+ return curr->code;
+ }
+ }
+
+ /* Looks like we were a bit overzealous in reading characters. Return
+ just the first character, and put everything else back in the buffer
+ for later */
+
+ chptr--;
+ while (chptr > buf)
+ SLang_ungetkey(*chptr--);
+
+ return *chptr;
+}
+
+void newtWaitForKey(void) {
+ newtRefresh();
+
+ SLang_getkey();
+ newtClearKeyBuffer();
+}
+
+void newtClearKeyBuffer(void) {
+ while (SLang_input_pending(1)) {
+ SLang_getkey();
+ }
+}
+
+int newtOpenWindow(int left, int top, int width, int height,
+ const char * title) {
+ int j, row, col;
+ int n;
+ int i;
+
+ newtFlushInput();
+
+ if (!currentWindow) {
+ currentWindow = windowStack;
+ } else {
+ currentWindow++;
+ }
+
+ currentWindow->left = left;
+ currentWindow->top = top;
+ currentWindow->width = width;
+ currentWindow->height = height;
+ currentWindow->title = title ? strdup(title) : NULL;
+
+ currentWindow->buffer = malloc(sizeof(short) * (width + 3) * (height + 3));
+
+ row = top - 1;
+ col = left - 1;
+ n = 0;
+ for (j = 0; j < height + 3; j++, row++) {
+ SLsmg_gotorc(row, col);
+ SLsmg_read_raw((SLsmg_Char_Type *)currentWindow->buffer + n,
+ currentWindow->width + 3);
+ n += currentWindow->width + 3;
+ }
+
+ SLsmg_set_color(NEWT_COLORSET_BORDER);
+ SLsmg_draw_box(top - 1, left - 1, height + 2, width + 2);
+
+ if (currentWindow->title) {
+ i = strlen(currentWindow->title) + 4;
+ i = ((width - i) / 2) + left;
+ SLsmg_gotorc(top - 1, i);
+ SLsmg_set_char_set(1);
+ SLsmg_write_char(SLSMG_RTEE_CHAR);
+ SLsmg_set_char_set(0);
+ SLsmg_write_char(' ');
+ SLsmg_set_color(NEWT_COLORSET_TITLE);
+ SLsmg_write_string((char *)currentWindow->title);
+ SLsmg_set_color(NEWT_COLORSET_BORDER);
+ SLsmg_write_char(' ');
+ SLsmg_set_char_set(1);
+ SLsmg_write_char(SLSMG_LTEE_CHAR);
+ SLsmg_set_char_set(0);
+ }
+
+ SLsmg_set_color(NEWT_COLORSET_WINDOW);
+ SLsmg_fill_region(top, left, height, width, ' ');
+
+ SLsmg_set_color(NEWT_COLORSET_SHADOW);
+ SLsmg_fill_region(top + height + 1, left, 1, width + 2, ' ');
+ SLsmg_fill_region(top, left + width + 1, height + 1, 1, ' ');
+
+ for (i = top; i < (top + height + 1); i++) {
+ SLsmg_gotorc(i, left + width + 1);
+ SLsmg_write_string(" ");
+ }
+
+ return 0;
+}
+
+int newtCenteredWindow(int width, int height, const char * title) {
+ int top, left;
+
+ top = (SLtt_Screen_Rows - height) / 2;
+
+ /* I don't know why, but this seems to look better */
+ if ((SLtt_Screen_Rows % 2) && (top % 2)) top--;
+
+ left = (SLtt_Screen_Cols - width) / 2;
+
+ newtOpenWindow(left, top, width, height, title);
+
+ return 0;
+}
+
+void newtPopWindow(void) {
+ int j, row, col;
+ int n = 0;
+
+ row = col = 0;
+
+ row = currentWindow->top - 1;
+ col = currentWindow->left - 1;
+ for (j = 0; j < currentWindow->height + 3; j++, row++) {
+ SLsmg_gotorc(row, col);
+ SLsmg_write_raw((SLsmg_Char_Type *)currentWindow->buffer + n,
+ currentWindow->width + 3);
+ n += currentWindow->width + 3;
+ }
+
+ free(currentWindow->buffer);
+ free(currentWindow->title);
+
+ if (currentWindow == windowStack)
+ currentWindow = NULL;
+ else
+ currentWindow--;
+
+ SLsmg_set_char_set(0);
+
+ newtRefresh();
+}
+
+void newtGetWindowPos(int * x, int * y) {
+ if (currentWindow) {
+ *x = currentWindow->left;
+ *y = currentWindow->top;
+ } else
+ *x = *y = 0;
+}
+
+void newtGetrc(int * row, int * col) {
+ *row = cursorRow;
+ *col = cursorCol;
+}
+
+void newtGotorc(int newRow, int newCol) {
+ if (currentWindow) {
+ newRow += currentWindow->top;
+ newCol += currentWindow->left;
+ }
+
+ cursorRow = newRow;
+ cursorCol = newCol;
+ SLsmg_gotorc(cursorRow, cursorCol);
+}
+
+void newtDrawBox(int left, int top, int width, int height, int shadow) {
+ if (currentWindow) {
+ top += currentWindow->top;
+ left += currentWindow->left;
+ }
+
+ SLsmg_draw_box(top, left, height, width);
+
+ if (shadow) {
+ SLsmg_set_color(NEWT_COLORSET_SHADOW);
+ SLsmg_fill_region(top + height, left + 1, 1, width - 1, ' ');
+ SLsmg_fill_region(top + 1, left + width, height, 1, ' ');
+ }
+}
+
+void newtClearBox(int left, int top, int width, int height) {
+ if (currentWindow) {
+ top += currentWindow->top;
+ left += currentWindow->left;
+ }
+
+ SLsmg_fill_region(top, left, height, width, ' ');
+}
+
+#if 0
+/* This doesn't seem to work quite right. I don't know why not, but when
+ I rsh from an rxvt into a box and run this code, the machine returns
+ console key's (\033[B) rather then xterm ones (\033OB). */
+static void initKeymap(void) {
+ struct keymap * curr;
+
+ for (curr = keymap; curr->code; curr++) {
+ if (!curr->str)
+ curr->str = SLtt_tgetstr(curr->tc);
+ }
+
+ /* Newt's keymap handling is a bit broken. It assumes that any extended
+ keystrokes begin with ESC. If you're using a homebrek terminal you
+ will probably need to fix this, or just yell at me and I'll be so
+ ashamed of myself for doing it this way I'll fix it */
+
+ keyPrefix = 0x1b; /* ESC */
+}
+#endif
+
+void newtDelay(int usecs) {
+ fd_set set;
+ struct timeval tv;
+
+ FD_ZERO(&set);
+
+ tv.tv_sec = usecs / 1000000;
+ tv.tv_usec = usecs % 1000000;
+
+ select(0, &set, &set, &set, &tv);
+}
+
+struct eventResult newtDefaultEventHandler(newtComponent c __attribute__ ((unused)),
+ struct event ev __attribute__ ((unused))) {
+ struct eventResult er;
+
+ er.result = ER_IGNORED;
+ return er;
+}
+
+void newtRedrawHelpLine(void) {
+ char * buf;
+
+ SLsmg_set_color(NEWT_COLORSET_HELPLINE);
+
+ buf = alloca(SLtt_Screen_Cols + 1);
+ memset(buf, ' ', SLtt_Screen_Cols);
+ buf[SLtt_Screen_Cols] = '\0';
+
+ if (currentHelpline)
+ memcpy(buf, *currentHelpline, strlen(*currentHelpline));
+
+ SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);
+ SLsmg_write_string(buf);
+}
+
+void newtPushHelpLine(const char * text) {
+ if (!text)
+ text = defaultHelpLine;
+
+ if (currentHelpline)
+ (*(++currentHelpline)) = strdup(text);
+ else {
+ currentHelpline = helplineStack;
+ *currentHelpline = strdup(text);
+ }
+
+ newtRedrawHelpLine();
+}
+
+void newtPopHelpLine(void) {
+ if (!currentHelpline) return;
+
+ free(*currentHelpline);
+ if (currentHelpline == helplineStack)
+ currentHelpline = NULL;
+ else
+ currentHelpline--;
+
+ newtRedrawHelpLine();
+}
+
+void newtDrawRootText(int col, int row, const char * text) {
+ SLsmg_set_color(NEWT_COLORSET_ROOTTEXT);
+
+ if (col < 0) {
+ col = SLtt_Screen_Cols + col;
+ }
+
+ if (row < 0) {
+ row = SLtt_Screen_Rows + row;
+ }
+
+ SLsmg_gotorc(row, col);
+ SLsmg_write_string((char *)text);
+}
+
+int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense) {
+ switch (sense) {
+ case NEWT_FLAGS_SET:
+ return oldFlags | newFlags;
+
+ case NEWT_FLAGS_RESET:
+ return oldFlags & (~newFlags);
+
+ case NEWT_FLAGS_TOGGLE:
+ return oldFlags ^ newFlags;
+
+ default:
+ return oldFlags;
+ }
+}
+
+void newtBell(void)
+{
+ SLtt_beep();
+}
+
+void newtGetScreenSize(int * cols, int * rows) {
+ if (rows) *rows = SLtt_Screen_Rows;
+ if (cols) *cols = SLtt_Screen_Cols;
+}
+
+void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop) {
+ c->left = newLeft;
+ c->top = newTop;
+}
+
+void newtDefaultMappedHandler(newtComponent c, int isMapped) {
+ c->isMapped = isMapped;
+}
+
+void newtCursorOff(void) {
+ cursorOn = 0;
+ SLtt_set_cursor_visibility (cursorOn);
+}
+
+void newtCursorOn(void) {
+ cursorOn = 1;
+ SLtt_set_cursor_visibility (cursorOn);
+}
diff --git a/mdk-stage1/newt/newt.h b/mdk-stage1/newt/newt.h
new file mode 100644
index 000000000..d3fd8bedc
--- /dev/null
+++ b/mdk-stage1/newt/newt.h
@@ -0,0 +1,362 @@
+#ifndef H_NEWT
+#define H_NEWT
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdarg.h>
+
+#define NEWT_COLORSET_ROOT 2
+#define NEWT_COLORSET_BORDER 3
+#define NEWT_COLORSET_WINDOW 4
+#define NEWT_COLORSET_SHADOW 5
+#define NEWT_COLORSET_TITLE 6
+#define NEWT_COLORSET_BUTTON 7
+#define NEWT_COLORSET_ACTBUTTON 8
+#define NEWT_COLORSET_CHECKBOX 9
+#define NEWT_COLORSET_ACTCHECKBOX 10
+#define NEWT_COLORSET_ENTRY 11
+#define NEWT_COLORSET_LABEL 12
+#define NEWT_COLORSET_LISTBOX 13
+#define NEWT_COLORSET_ACTLISTBOX 14
+#define NEWT_COLORSET_TEXTBOX 15
+#define NEWT_COLORSET_ACTTEXTBOX 16
+#define NEWT_COLORSET_HELPLINE 17
+#define NEWT_COLORSET_ROOTTEXT 18
+#define NEWT_COLORSET_EMPTYSCALE 19
+#define NEWT_COLORSET_FULLSCALE 20
+#define NEWT_COLORSET_DISENTRY 21
+#define NEWT_COLORSET_COMPACTBUTTON 22
+#define NEWT_COLORSET_ACTSELLISTBOX 23
+#define NEWT_COLORSET_SELLISTBOX 24
+
+#define NEWT_ARG_LAST -100000
+#define NEWT_ARG_APPEND -1
+
+struct newtColors {
+ char * rootFg, * rootBg;
+ char * borderFg, * borderBg;
+ char * windowFg, * windowBg;
+ char * shadowFg, * shadowBg;
+ char * titleFg, * titleBg;
+ char * buttonFg, * buttonBg;
+ char * actButtonFg, * actButtonBg;
+ char * checkboxFg, * checkboxBg;
+ char * actCheckboxFg, * actCheckboxBg;
+ char * entryFg, * entryBg;
+ char * labelFg, * labelBg;
+ char * listboxFg, * listboxBg;
+ char * actListboxFg, * actListboxBg;
+ char * textboxFg, * textboxBg;
+ char * actTextboxFg, * actTextboxBg;
+ char * helpLineFg, * helpLineBg;
+ char * rootTextFg, * rootTextBg;
+ char * emptyScale, * fullScale;
+ char * disabledEntryFg, * disabledEntryBg;
+ char * compactButtonFg, * compactButtonBg;
+ char * actSelListboxFg, * actSelListboxBg;
+ char * selListboxFg, * selListboxBg;
+};
+
+enum newtFlagsSense { NEWT_FLAGS_SET, NEWT_FLAGS_RESET, NEWT_FLAGS_TOGGLE };
+
+#define NEWT_FLAG_RETURNEXIT (1 << 0)
+#define NEWT_FLAG_HIDDEN (1 << 1)
+#define NEWT_FLAG_SCROLL (1 << 2)
+#define NEWT_FLAG_DISABLED (1 << 3)
+/* OBSOLETE #define NEWT_FLAG_NOSCROLL (1 << 4) for listboxes */
+#define NEWT_FLAG_BORDER (1 << 5)
+#define NEWT_FLAG_WRAP (1 << 6)
+#define NEWT_FLAG_NOF12 (1 << 7)
+#define NEWT_FLAG_MULTIPLE (1 << 8)
+#define NEWT_FLAG_SELECTED (1 << 9)
+#define NEWT_FLAG_CHECKBOX (1 << 10)
+#define NEWT_FLAG_PASSWORD (1 << 11) /* draw '*' of chars in entrybox */
+#define NEWT_FD_READ (1 << 0)
+#define NEWT_FD_WRITE (1 << 1)
+
+#define NEWT_CHECKBOXTREE_COLLAPSED '\0'
+#define NEWT_CHECKBOXTREE_EXPANDED '\1'
+#define NEWT_CHECKBOXTREE_UNSELECTED ' '
+#define NEWT_CHECKBOXTREE_SELECTED '*'
+
+/* Backwards compatibility */
+#define NEWT_LISTBOX_RETURNEXIT NEWT_FLAG_RETURNEXIT
+#define NEWT_ENTRY_SCROLL NEWT_FLAG_SCROLL
+#define NEWT_ENTRY_HIDDEN NEWT_FLAG_HIDDEN
+#define NEWT_ENTRY_RETURNEXIT NEWT_FLAG_RETURNEXIT
+#define NEWT_ENTRY_DISABLED NEWT_FLAG_DISABLED
+
+#define NEWT_TEXTBOX_WRAP NEWT_FLAG_WRAP
+#define NEWT_TEXTBOX_SCROLL NEWT_FLAG_SCROLL
+#define NEWT_FORM_NOF12 NEWT_FLAG_NOF12
+
+#define newtListboxAddEntry newtListboxAppendEntry
+
+
+typedef struct newtComponent_struct * newtComponent;
+
+extern const struct newtColors newtDefaultColorPalette;
+
+typedef void (*newtCallback)(newtComponent, void *);
+typedef void (*newtSuspendCallback)(void * data);
+
+int newtInit(void);
+int newtFinished(void);
+void newtCls(void);
+void newtResizeScreen(int redraw);
+void newtWaitForKey(void);
+void newtClearKeyBuffer(void);
+void newtDelay(int usecs);
+/* top, left are *not* counting the border */
+int newtOpenWindow(int left, int top, int width, int height,
+ const char * title);
+int newtCenteredWindow(int width, int height, const char * title);
+void newtPopWindow(void);
+void newtSetColors(struct newtColors colors);
+void newtRefresh(void);
+void newtSuspend(void);
+void newtSetSuspendCallback(newtSuspendCallback cb, void * data);
+void newtSetHelpCallback(newtCallback cb);
+void newtResume(void);
+void newtPushHelpLine(const char * text);
+void newtRedrawHelpLine(void);
+void newtPopHelpLine(void);
+void newtDrawRootText(int col, int row, const char * text);
+void newtBell(void);
+void newtCursorOff(void);
+void newtCursorOn(void);
+
+/* Components */
+
+newtComponent newtCompactButton(int left, int top, const char * text);
+newtComponent newtButton(int left, int top, const char * text);
+newtComponent newtCheckbox(int left, int top, const char * text, char defValue,
+ const char * seq, char * result);
+char newtCheckboxGetValue(newtComponent co);
+void newtCheckboxSetValue(newtComponent co, char value);
+void newtCheckboxSetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
+
+
+newtComponent newtRadiobutton(int left, int top, const char * text, int isDefault,
+ newtComponent prevButton);
+newtComponent newtRadioGetCurrent(newtComponent setMember);
+newtComponent newtListitem(int left, int top, const char * text, int isDefault,
+ newtComponent prevItem, const void * data, int flags);
+void newtListitemSet(newtComponent co, const char * text);
+void * newtListitemGetData(newtComponent co);
+void newtGetScreenSize(int * cols, int * rows);
+
+newtComponent newtLabel(int left, int top, const char * text);
+void newtLabelSetText(newtComponent co, const char * text);
+newtComponent newtVerticalScrollbar(int left, int top, int height,
+ int normalColorset, int thumbColorset);
+void newtScrollbarSet(newtComponent co, int where, int total);
+
+newtComponent newtListbox(int left, int top, int height, int flags);
+void * newtListboxGetCurrent(newtComponent co);
+void newtListboxSetCurrent(newtComponent co, int num);
+void newtListboxSetCurrentByKey(newtComponent co, void * key);
+void newtListboxSetEntry(newtComponent co, int num, const char * text);
+void newtListboxSetWidth(newtComponent co, int width);
+void newtListboxSetData(newtComponent co, int num, void * data);
+int newtListboxAppendEntry(newtComponent co, const char * text,
+ const void * data);
+/* Send the key to insert after, or NULL to insert at the top */
+int newtListboxInsertEntry(newtComponent co, const char * text, const void * data, void * key);
+int newtListboxDeleteEntry(newtComponent co, void * data);
+void newtListboxClear(newtComponent co); /* removes all entries from listbox */
+void newtListboxGetEntry(newtComponent co, int num, char **text, void **data);
+/* Returns an array of data pointers from items, last element is NULL */
+void **newtListboxGetSelection(newtComponent co, int *numitems);
+void newtListboxClearSelection(newtComponent co);
+void newtListboxSelectItem(newtComponent co, const void * key,
+ enum newtFlagsSense sense);
+
+newtComponent newtCheckboxTree(int left, int top, int height, int flags);
+newtComponent newtCheckboxTreeMulti(int left, int top, int height, char *seq, int flags);
+const void ** newtCheckboxTreeGetSelection(newtComponent co, int *numitems);
+const void * newtCheckboxTreeGetCurrent(newtComponent co);
+const void ** newtCheckboxTreeGetMultiSelection(newtComponent co, int *numitems, char seqnum);
+/* last item is NEWT_ARG_LAST for all of these */
+int newtCheckboxTreeAddItem(newtComponent co,
+ const char * text, const void * data,
+ int flags, int index, ...);
+int newtCheckboxTreeAddArray(newtComponent co,
+ const char * text, const void * data,
+ int flags, int * indexes);
+int * newtCheckboxTreeFindItem(newtComponent co, void * data);
+void newtCheckboxTreeSetEntry(newtComponent co, const void * data,
+ const char * text);
+char newtCheckboxTreeGetEntryValue(newtComponent co, const void * data);
+void newtCheckboxTreeSetEntryValue(newtComponent co, const void * data,
+ char value);
+
+newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
+ int flexDown, int flexUp, int flags);
+newtComponent newtTextbox(int left, int top, int width, int height, int flags);
+void newtTextboxSetText(newtComponent co, const char * text);
+void newtTextboxSetHeight(newtComponent co, int height);
+int newtTextboxGetNumLines(newtComponent co);
+char * newtReflowText(char * text, int width, int flexDown, int flexUp,
+ int * actualWidth, int * actualHeight);
+
+struct newtExitStruct {
+ enum { NEWT_EXIT_HOTKEY, NEWT_EXIT_COMPONENT, NEWT_EXIT_FDREADY,
+ NEWT_EXIT_TIMER } reason;
+ union {
+ int key;
+ newtComponent co;
+ } u;
+} ;
+
+newtComponent newtForm(newtComponent vertBar, void * helpTag, int flags);
+void newtFormSetTimer(newtComponent form, int millisecs);
+void newtFormWatchFd(newtComponent form, int fd, int fdFlags);
+void newtFormSetSize(newtComponent co);
+newtComponent newtFormGetCurrent(newtComponent co);
+void newtFormSetBackground(newtComponent co, int color);
+void newtFormSetCurrent(newtComponent co, newtComponent subco);
+void newtFormAddComponent(newtComponent form, newtComponent co);
+void newtFormAddComponents(newtComponent form, ...);
+void newtFormSetHeight(newtComponent co, int height);
+void newtFormSetWidth(newtComponent co, int width);
+newtComponent newtRunForm(newtComponent form); /* obsolete */
+void newtFormRun(newtComponent co, struct newtExitStruct * es);
+void newtDrawForm(newtComponent form);
+void newtFormAddHotKey(newtComponent co, int key);
+
+typedef int (*newtEntryFilter)(newtComponent entry, void * data, int ch,
+ int cursor);
+newtComponent newtEntry(int left, int top, const char * initialValue, int width,
+ char ** resultPtr, int flags);
+void newtEntrySet(newtComponent co, const char * value, int cursorAtEnd);
+void newtEntrySetFilter(newtComponent co, newtEntryFilter filter, void * data);
+char * newtEntryGetValue(newtComponent co);
+void newtEntrySetFlags(newtComponent co, int flags, enum newtFlagsSense sense);
+
+newtComponent newtScale(int left, int top, int width, int fullValue);
+void newtScaleSet(newtComponent co, unsigned int amount);
+
+void newtComponentAddCallback(newtComponent co, newtCallback f, void * data);
+void newtComponentTakesFocus(newtComponent co, int val);
+
+/* this also destroys all of the components (including other forms) on the
+ form */
+void newtFormDestroy(newtComponent form);
+
+/* Key codes */
+
+#define NEWT_KEY_TAB '\t'
+#define NEWT_KEY_ENTER '\r'
+#define NEWT_KEY_SUSPEND '\032' /* ctrl - z*/
+#define NEWT_KEY_RETURN NEWT_KEY_ENTER
+
+#define NEWT_KEY_EXTRA_BASE 0x8000
+#define NEWT_KEY_UP NEWT_KEY_EXTRA_BASE + 1
+#define NEWT_KEY_DOWN NEWT_KEY_EXTRA_BASE + 2
+#define NEWT_KEY_LEFT NEWT_KEY_EXTRA_BASE + 4
+#define NEWT_KEY_RIGHT NEWT_KEY_EXTRA_BASE + 5
+#define NEWT_KEY_BKSPC NEWT_KEY_EXTRA_BASE + 6
+#define NEWT_KEY_DELETE NEWT_KEY_EXTRA_BASE + 7
+#define NEWT_KEY_HOME NEWT_KEY_EXTRA_BASE + 8
+#define NEWT_KEY_END NEWT_KEY_EXTRA_BASE + 9
+#define NEWT_KEY_UNTAB NEWT_KEY_EXTRA_BASE + 10
+#define NEWT_KEY_PGUP NEWT_KEY_EXTRA_BASE + 11
+#define NEWT_KEY_PGDN NEWT_KEY_EXTRA_BASE + 12
+#define NEWT_KEY_INSERT NEWT_KEY_EXTRA_BASE + 13
+
+#define NEWT_KEY_F1 NEWT_KEY_EXTRA_BASE + 101
+#define NEWT_KEY_F2 NEWT_KEY_EXTRA_BASE + 102
+#define NEWT_KEY_F3 NEWT_KEY_EXTRA_BASE + 103
+#define NEWT_KEY_F4 NEWT_KEY_EXTRA_BASE + 104
+#define NEWT_KEY_F5 NEWT_KEY_EXTRA_BASE + 105
+#define NEWT_KEY_F6 NEWT_KEY_EXTRA_BASE + 106
+#define NEWT_KEY_F7 NEWT_KEY_EXTRA_BASE + 107
+#define NEWT_KEY_F8 NEWT_KEY_EXTRA_BASE + 108
+#define NEWT_KEY_F9 NEWT_KEY_EXTRA_BASE + 109
+#define NEWT_KEY_F10 NEWT_KEY_EXTRA_BASE + 110
+#define NEWT_KEY_F11 NEWT_KEY_EXTRA_BASE + 111
+#define NEWT_KEY_F12 NEWT_KEY_EXTRA_BASE + 112
+
+/* not really a key, but newtGetKey returns it */
+#define NEWT_KEY_RESIZE NEWT_KEY_EXTRA_BASE + 113
+
+#define NEWT_ANCHOR_LEFT (1 << 0)
+#define NEWT_ANCHOR_RIGHT (1 << 1)
+#define NEWT_ANCHOR_TOP (1 << 2)
+#define NEWT_ANCHOR_BOTTOM (1 << 3)
+
+#define NEWT_GRID_FLAG_GROWX (1 << 0)
+#define NEWT_GRID_FLAG_GROWY (1 << 1)
+
+typedef struct grid_s * newtGrid;
+enum newtGridElement { NEWT_GRID_EMPTY = 0,
+ NEWT_GRID_COMPONENT, NEWT_GRID_SUBGRID };
+
+newtGrid newtCreateGrid(int cols, int rows);
+/* TYPE, what, TYPE, what, ..., NULL */
+newtGrid newtGridVStacked(enum newtGridElement type, void * what, ...);
+newtGrid newtGridVCloseStacked(enum newtGridElement type, void * what, ...);
+newtGrid newtGridHStacked(enum newtGridElement type1, void * what1, ...);
+newtGrid newtGridHCloseStacked(enum newtGridElement type1, void * what1, ...);
+newtGrid newtGridBasicWindow(newtComponent text, newtGrid middle,
+ newtGrid buttons);
+newtGrid newtGridSimpleWindow(newtComponent text, newtComponent middle,
+ newtGrid buttons);
+void newtGridSetField(newtGrid grid, int col, int row,
+ enum newtGridElement type, void * val, int padLeft,
+ int padTop, int padRight, int padBottom, int anchor,
+ int flags);
+void newtGridPlace(newtGrid grid, int left, int top);
+#define newtGridDestroy newtGridFree
+void newtGridFree(newtGrid grid, int recurse);
+void newtGridGetSize(newtGrid grid, int * width, int * height);
+void newtGridWrappedWindow(newtGrid grid, char * title);
+void newtGridWrappedWindowAt(newtGrid grid, char * title, int left, int top);
+void newtGridAddComponentsToForm(newtGrid grid, newtComponent form,
+ int recurse);
+
+/* convienve */
+newtGrid newtButtonBarv(char * button1, newtComponent * b1comp, va_list args);
+newtGrid newtButtonBar(char * button1, newtComponent * b1comp, ...);
+
+/* automatically centered and shrink wrapped */
+void newtWinMessage(char * title, char * buttonText, char * text, ...);
+void newtWinMessagev(char * title, char * buttonText, char * text,
+ va_list argv);
+
+/* having separate calls for these two seems silly, but having two separate
+ variable length-arg lists seems like a bad idea as well */
+
+/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2 */
+int newtWinChoice(char * title, char * button1, char * button2,
+ char * text, ...);
+/* Returns 0 if F12 was pressed, 1 for button1, 2 for button2,
+ 3 for button3 */
+int newtWinTernary(char * title, char * button1, char * button2,
+ char * button3, char * message, ...);
+
+/* Returns the button number pressed, 0 on F12 */
+int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
+ int flexUp, int maxListHeight, char ** items, int * listItem,
+ char * button1, ...);
+
+struct newtWinEntry {
+ char * text;
+ char ** value; /* may be initialized to set default */
+ int flags;
+};
+
+/* Returns the button number pressed, 0 on F12. The final values are
+ dynamically allocated, and need to be freed. */
+int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
+ int flexUp, int dataWidth,
+ struct newtWinEntry * items, char * button1, ...);
+
+#ifdef __cplusplus
+} /* End of extern "C" { */
+#endif
+
+#endif /* H_NEWT */
diff --git a/mdk-stage1/newt/newt_pr.h b/mdk-stage1/newt/newt_pr.h
new file mode 100644
index 000000000..76f5e2f6f
--- /dev/null
+++ b/mdk-stage1/newt/newt_pr.h
@@ -0,0 +1,82 @@
+#ifndef H_NEWT_PR
+#define H_NEWT_PR
+
+#define COLORSET_ROOT NEWT_COLORSET_ROOT
+#define COLORSET_BORDER NEWT_COLORSET_BORDER
+#define COLORSET_WINDOW NEWT_COLORSET_WINDOW
+#define COLORSET_SHADOW NEWT_COLORSET_SHADOW
+#define COLORSET_TITLE NEWT_COLORSET_TITLE
+#define COLORSET_BUTTON NEWT_COLORSET_BUTTON
+#define COLORSET_ACTBUTTON NEWT_COLORSET_ACTBUTTON
+#define COLORSET_CHECKBOX NEWT_COLORSET_CHECKBOX
+#define COLORSET_ACTCHECKBOX NEWT_COLORSET_ACTCHECKBOX
+#define COLORSET_ENTRY NEWT_COLORSET_ENTRY
+#define COLORSET_LABEL NEWT_COLORSET_LABEL
+#define COLORSET_LISTBOX NEWT_COLORSET_LISTBOX
+#define COLORSET_ACTLISTBOX NEWT_COLORSET_ACTLISTBOX
+#define COLORSET_TEXTBOX NEWT_COLORSET_TEXTBOX
+#define COLORSET_ACTTEXTBOX NEWT_COLORSET_ACTTEXTBOX
+
+int newtSetFlags(int oldFlags, int newFlags, enum newtFlagsSense sense);
+
+void newtGotorc(int row, int col);
+void newtGetrc(int * row, int * col);
+void newtGetWindowPos(int * x, int * y);
+void newtDrawBox(int left, int top, int width, int height, int shadow);
+void newtClearBox(int left, int top, int width, int height);
+
+int newtGetKey(void);
+
+struct newtComponent_struct {
+ /* common data */
+ int height, width;
+ int top, left;
+ int takesFocus;
+ int isMapped;
+
+ struct componentOps * ops;
+
+ newtCallback callback;
+ void * callbackData;
+
+ void * data;
+} ;
+
+enum eventResultTypes { ER_IGNORED, ER_SWALLOWED, ER_EXITFORM, ER_SETFOCUS,
+ ER_NEXTCOMP };
+struct eventResult {
+ enum eventResultTypes result;
+ union {
+ newtComponent focus;
+ } u;
+};
+
+enum eventTypes { EV_FOCUS, EV_UNFOCUS, EV_KEYPRESS, EV_MOUSE };
+enum eventSequence { EV_EARLY, EV_NORMAL, EV_LATE };
+
+struct event {
+ enum eventTypes event;
+ enum eventSequence when;
+ union {
+ int key;
+ struct {
+ enum { MOUSE_MOTION, MOUSE_BUTTON_DOWN, MOUSE_BUTTON_UP } type;
+ int x, y;
+ } mouse;
+ } u;
+} ;
+
+struct componentOps {
+ void (* draw)(newtComponent c);
+ struct eventResult (* event)(newtComponent c, struct event ev);
+ void (* destroy)(newtComponent c);
+ void (* place)(newtComponent c, int newLeft, int newTop);
+ void (* mapped)(newtComponent c, int isMapped);
+} ;
+
+void newtDefaultPlaceHandler(newtComponent c, int newLeft, int newTop);
+void newtDefaultMappedHandler(newtComponent c, int isMapped);
+struct eventResult newtDefaultEventHandler(newtComponent c,
+ struct event ev);
+
+#endif /* H_NEWT_PR */
diff --git a/mdk-stage1/newt/scale.c b/mdk-stage1/newt/scale.c
new file mode 100644
index 000000000..800958580
--- /dev/null
+++ b/mdk-stage1/newt/scale.c
@@ -0,0 +1,72 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct scale {
+ int fullValue;
+ int charsSet;
+};
+
+static void scaleDraw(newtComponent co);
+
+static struct componentOps scaleOps = {
+ scaleDraw,
+ newtDefaultEventHandler,
+ NULL,
+ newtDefaultPlaceHandler,
+ newtDefaultMappedHandler,
+} ;
+
+newtComponent newtScale(int left, int top, int width, int fullValue) {
+ newtComponent co;
+ struct scale * sc;
+
+ co = malloc(sizeof(*co));
+ sc = malloc(sizeof(struct scale));
+ co->data = sc;
+
+ co->ops = &scaleOps;
+
+ co->height = 1;
+ co->width = width;
+ co->top = top;
+ co->left = left;
+ co->takesFocus = 0;
+
+ sc->fullValue = fullValue;
+ sc->charsSet = 0;
+
+ return co;
+}
+
+void newtScaleSet(newtComponent co, unsigned int amount) {
+ struct scale * sc = co->data;
+ int newCharsSet;
+
+ newCharsSet = (amount * co->width) / sc->fullValue;
+
+ if (newCharsSet != sc->charsSet) {
+ sc->charsSet = newCharsSet;
+ scaleDraw(co);
+ }
+}
+
+static void scaleDraw(newtComponent co) {
+ struct scale * sc = co->data;
+ int i;
+
+ if (co->top == -1) return;
+
+ newtGotorc(co->top, co->left);
+
+ SLsmg_set_color(NEWT_COLORSET_FULLSCALE);
+ for (i = 0; i < sc->charsSet; i++)
+ SLsmg_write_string(" ");
+
+ SLsmg_set_color(NEWT_COLORSET_EMPTYSCALE);
+ for (i = 0; i < (co->width - sc->charsSet); i++)
+ SLsmg_write_string(" ");
+}
diff --git a/mdk-stage1/newt/scrollbar.c b/mdk-stage1/newt/scrollbar.c
new file mode 100644
index 000000000..cb4bc2757
--- /dev/null
+++ b/mdk-stage1/newt/scrollbar.c
@@ -0,0 +1,124 @@
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct scrollbar {
+ int curr;
+ int cs, csThumb;
+ int arrows;
+} ;
+
+static void sbDraw(newtComponent co);
+static void sbDestroy(newtComponent co);
+static void sbDrawThumb(newtComponent co, int isOn);
+
+static struct componentOps sbOps = {
+ sbDraw,
+ newtDefaultEventHandler,
+ sbDestroy,
+ newtDefaultPlaceHandler,
+ newtDefaultMappedHandler,
+} ;
+
+void newtScrollbarSet(newtComponent co, int where, int total) {
+ struct scrollbar * sb = co->data;
+ int new;
+
+ if (sb->arrows)
+ new = (where * (co->height - 3)) / (total ? total : 1) + 1;
+ else
+ new = (where * (co->height - 1)) / (total ? total : 1);
+ if (new != sb->curr) {
+ sbDrawThumb(co, 0);
+ sb->curr = new;
+ sbDrawThumb(co, 1);
+ }
+}
+
+newtComponent newtVerticalScrollbar(int left, int top, int height,
+ int normalColorset, int thumbColorset) {
+ newtComponent co;
+ struct scrollbar * sb;
+
+ co = malloc(sizeof(*co));
+ sb = malloc(sizeof(*sb));
+ co->data = sb;
+
+ if (!strcmp(getenv("TERM"), "linux") && height >= 2) {
+ sb->arrows = 1;
+ sb->curr = 1;
+ } else {
+ sb->arrows = 0;
+ sb->curr = 0;
+ }
+ sb->cs = normalColorset;
+ sb->csThumb = thumbColorset;
+
+ co->ops = &sbOps;
+ co->isMapped = 0;
+ co->left = left;
+ co->top = top;
+ co->height = height;
+ co->width = 1;
+ co->takesFocus = 0;
+
+ return co;
+}
+
+static void sbDraw(newtComponent co) {
+ struct scrollbar * sb = co->data;
+ int i;
+
+ if (!co->isMapped) return;
+
+ SLsmg_set_color(sb->cs);
+
+ SLsmg_set_char_set(1);
+ if (sb->arrows) {
+ newtGotorc(co->top, co->left);
+ SLsmg_write_char('\x2d');
+ for (i = 1; i < co->height - 1; i++) {
+ newtGotorc(i + co->top, co->left);
+ SLsmg_write_char('\x61');
+ }
+ newtGotorc(co->top + co->height - 1, co->left);
+ SLsmg_write_char('\x2e');
+ } else {
+ for (i = 0; i < co->height; i++) {
+ newtGotorc(i + co->top, co->left);
+ SLsmg_write_char('\x61');
+ }
+ }
+
+ SLsmg_set_char_set(0);
+
+ sbDrawThumb(co, 1);
+}
+
+static void sbDrawThumb(newtComponent co, int isOn) {
+ struct scrollbar * sb = co->data;
+ char ch = isOn ? '#' : '\x61';
+
+ if (!co->isMapped) return;
+
+ newtGotorc(sb->curr + co->top, co->left);
+ SLsmg_set_char_set(1);
+
+ /*if (isOn)
+ SLsmg_set_color(sb->csThumb);
+ else*/
+ SLsmg_set_color(sb->cs);
+
+ SLsmg_write_char(ch);
+ SLsmg_set_char_set(0);
+}
+
+static void sbDestroy(newtComponent co) {
+ struct scrollbar * sb = co->data;
+
+ free(sb);
+ free(co);
+}
diff --git a/mdk-stage1/newt/textbox.c b/mdk-stage1/newt/textbox.c
new file mode 100644
index 000000000..8eb4ae4db
--- /dev/null
+++ b/mdk-stage1/newt/textbox.c
@@ -0,0 +1,409 @@
+#include <ctype.h>
+#include <slang.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "newt.h"
+#include "newt_pr.h"
+
+struct textbox {
+ char ** lines;
+ int numLines;
+ int linesAlloced;
+ int doWrap;
+ newtComponent sb;
+ int topLine;
+ int textWidth;
+};
+
+static char * expandTabs(const char * text);
+static void textboxDraw(newtComponent co);
+static void addLine(newtComponent co, const char * s, int len);
+static void doReflow(const char * text, char ** resultPtr, int width,
+ int * badness, int * heightPtr);
+static struct eventResult textboxEvent(newtComponent c,
+ struct event ev);
+static void textboxDestroy(newtComponent co);
+static void textboxPlace(newtComponent co, int newLeft, int newTop);
+static void textboxMapped(newtComponent co, int isMapped);
+
+static struct componentOps textboxOps = {
+ textboxDraw,
+ textboxEvent,
+ textboxDestroy,
+ textboxPlace,
+ textboxMapped,
+} ;
+
+static void textboxMapped(newtComponent co, int isMapped) {
+ struct textbox * tb = co->data;
+
+ co->isMapped = isMapped;
+ if (tb->sb)
+ tb->sb->ops->mapped(tb->sb, isMapped);
+}
+
+static void textboxPlace(newtComponent co, int newLeft, int newTop) {
+ struct textbox * tb = co->data;
+
+ co->top = newTop;
+ co->left = newLeft;
+
+ if (tb->sb)
+ tb->sb->ops->place(tb->sb, co->left + co->width - 1, co->top);
+}
+
+void newtTextboxSetHeight(newtComponent co, int height) {
+ co->height = height;
+}
+
+int newtTextboxGetNumLines(newtComponent co) {
+ struct textbox * tb = co->data;
+
+ return (tb->numLines);
+}
+
+newtComponent newtTextboxReflowed(int left, int top, char * text, int width,
+ int flexDown, int flexUp, int flags __attribute__ ((unused))) {
+ newtComponent co;
+ char * reflowedText;
+ int actWidth, actHeight;
+
+ reflowedText = newtReflowText(text, width, flexDown, flexUp,
+ &actWidth, &actHeight);
+
+ co = newtTextbox(left, top, actWidth, actHeight, NEWT_FLAG_WRAP);
+ newtTextboxSetText(co, reflowedText);
+ free(reflowedText);
+
+ return co;
+}
+
+newtComponent newtTextbox(int left, int top, int width, int height, int flags) {
+ newtComponent co;
+ struct textbox * tb;
+
+ co = malloc(sizeof(*co));
+ tb = malloc(sizeof(*tb));
+ co->data = tb;
+
+ co->ops = &textboxOps;
+
+ co->height = height;
+ co->top = top;
+ co->left = left;
+ co->takesFocus = 0;
+ co->width = width;
+
+ tb->doWrap = flags & NEWT_FLAG_WRAP;
+ tb->numLines = 0;
+ tb->linesAlloced = 0;
+ tb->lines = NULL;
+ tb->topLine = 0;
+ tb->textWidth = width;
+
+ if (flags & NEWT_FLAG_SCROLL) {
+ co->width += 2;
+ tb->sb = newtVerticalScrollbar(co->left + co->width - 1, co->top,
+ co->height, COLORSET_TEXTBOX, COLORSET_TEXTBOX);
+ } else {
+ tb->sb = NULL;
+ }
+
+ return co;
+}
+
+static char * expandTabs(const char * text) {
+ int bufAlloced = strlen(text) + 40;
+ char * buf, * dest;
+ const char * src;
+ int bufUsed = 0;
+ int linePos = 0;
+ int i;
+
+ buf = malloc(bufAlloced + 1);
+ for (src = text, dest = buf; *src; src++) {
+ if ((bufUsed + 10) > bufAlloced) {
+ bufAlloced += strlen(text) / 2;
+ buf = realloc(buf, bufAlloced + 1);
+ dest = buf + bufUsed;
+ }
+ if (*src == '\t') {
+ i = 8 - (linePos & 8);
+ memset(dest, ' ', i);
+ dest += i, bufUsed += i, linePos += i;
+ } else {
+ if (*src == '\n')
+ linePos = 0;
+ else
+ linePos++;
+
+ *dest++ = *src;
+ bufUsed++;
+ }
+ }
+
+ *dest = '\0';
+ return buf;
+}
+
+#define iseuckanji(c) (0xa1 <= (unsigned char)(c&0xff) && (unsigned char)(c&0xff) <= 0xfe)
+
+static void doReflow(const char * text, char ** resultPtr, int width,
+ int * badness, int * heightPtr) {
+ char * result = NULL;
+ const char * chptr, * end;
+ int i;
+ int howbad = 0;
+ int height = 0;
+ int kanji = 0;
+
+ if (resultPtr) {
+ /* XXX I think this will work */
+ result = malloc(strlen(text) + (strlen(text) / width) + 50);
+ *result = '\0';
+ }
+
+ while (*text) {
+ kanji = 0;
+ end = strchr(text, '\n');
+ if (!end)
+ end = text + strlen(text);
+
+ while (*text && text < end) {
+ if (end - text < width) {
+ if (result) {
+ strncat(result, text, end - text);
+ strcat(result, "\n");
+ height++;
+ }
+
+ if (end - text < (width / 2))
+ howbad += ((width / 2) - (end - text)) / 2;
+ text = end;
+ if (*text) text++;
+ } else {
+ chptr = text;
+ kanji = 0;
+ for ( i = 0; i < width - 1; i++ ) {
+ if ( !iseuckanji(*chptr)) {
+ kanji = 0;
+ } else if ( kanji == 1 ) {
+ kanji = 2;
+ } else {
+ kanji = 1;
+ }
+ chptr++;
+ }
+ if (kanji == 0) {
+ while (chptr > text && !isspace(*chptr)) chptr--;
+ while (chptr > text && isspace(*chptr)) chptr--;
+ chptr++;
+ }
+
+ if (chptr-text == 1 && !isspace(*chptr))
+ chptr = text + width - 1;
+
+ if (chptr > text)
+ howbad += width - (chptr - text) + 1;
+ if (result) {
+ if (kanji == 1) {
+ strncat(result, text, chptr - text + 1);
+ chptr++;
+ kanji = 0;
+ } else {
+ strncat(result, text, chptr - text);
+ }
+ strcat(result, "\n");
+ height++;
+ }
+
+ if (isspace(*chptr))
+ text = chptr + 1;
+ else
+ text = chptr;
+ while (isspace(*text)) text++;
+ }
+ }
+ }
+
+// if (result) printf("result: %s\n", result);
+
+ if (badness) *badness = howbad;
+ if (resultPtr) *resultPtr = result;
+ if (heightPtr) *heightPtr = height;
+}
+
+char * newtReflowText(char * text, int width, int flexDown, int flexUp,
+ int * actualWidth, int * actualHeight) {
+ int min, max;
+ int i;
+ char * result;
+ int minbad, minbadwidth, howbad;
+ char * expandedText;
+
+ expandedText = expandTabs(text);
+
+ if (flexDown || flexUp) {
+ min = width - flexDown;
+ max = width + flexUp;
+
+ minbad = -1;
+ minbadwidth = width;
+
+ for (i = min; i <= max; i++) {
+ doReflow(expandedText, NULL, i, &howbad, NULL);
+
+ if (minbad == -1 || howbad < minbad) {
+ minbad = howbad;
+ minbadwidth = i;
+ }
+ }
+
+ width = minbadwidth;
+ }
+
+ doReflow(expandedText, &result, width, NULL, actualHeight);
+ free(expandedText);
+ if (actualWidth) *actualWidth = width;
+ return result;
+}
+
+void newtTextboxSetText(newtComponent co, const char * text) {
+ const char * start, * end;
+ struct textbox * tb = co->data;
+ char * reflowed, * expanded;
+ int badness, height;
+
+ if (tb->lines) {
+ free(tb->lines);
+ tb->linesAlloced = tb->numLines = 0;
+ }
+
+ expanded = expandTabs(text);
+
+ if (tb->doWrap) {
+ doReflow(expanded, &reflowed, tb->textWidth, &badness, &height);
+ free(expanded);
+ expanded = reflowed;
+ }
+
+ for (start = expanded; *start; start++)
+ if (*start == '\n') tb->linesAlloced++;
+
+ /* This ++ leaves room for an ending line w/o a \n */
+ tb->linesAlloced++;
+ tb->lines = malloc(sizeof(char *) * tb->linesAlloced);
+
+ start = expanded;
+ while ((end = strchr(start, '\n'))) {
+ addLine(co, start, end - start);
+ start = end + 1;
+ }
+
+ if (*start)
+ addLine(co, start, strlen(start));
+
+ free(expanded);
+}
+
+/* This assumes the buffer is allocated properly! */
+static void addLine(newtComponent co, const char * s, int len) {
+ struct textbox * tb = co->data;
+
+ if (len > tb->textWidth) len = tb->textWidth;
+
+ tb->lines[tb->numLines] = malloc(tb->textWidth + 1);
+ memset(tb->lines[tb->numLines], ' ', tb->textWidth);
+ memcpy(tb->lines[tb->numLines], s, len);
+ tb->lines[tb->numLines++][tb->textWidth] = '\0';
+}
+
+static void textboxDraw(newtComponent c) {
+ int i;
+ struct textbox * tb = c->data;
+ int size;
+
+ if (tb->sb) {
+ size = tb->numLines - c->height;
+ newtScrollbarSet(tb->sb, tb->topLine, size ? size : 0);
+ tb->sb->ops->draw(tb->sb);
+ }
+
+ SLsmg_set_color(NEWT_COLORSET_TEXTBOX);
+
+ for (i = 0; (i + tb->topLine) < tb->numLines && i < c->height; i++) {
+ newtGotorc(c->top + i, c->left);
+ SLsmg_write_string(tb->lines[i + tb->topLine]);
+ }
+}
+
+static struct eventResult textboxEvent(newtComponent co,
+ struct event ev) {
+ struct textbox * tb = co->data;
+ struct eventResult er;
+
+ er.result = ER_IGNORED;
+
+ if (ev.when == EV_EARLY && ev.event == EV_KEYPRESS && tb->sb) {
+ switch (ev.u.key) {
+ case NEWT_KEY_UP:
+ if (tb->topLine) tb->topLine--;
+ textboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_DOWN:
+ if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
+ textboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_PGDN:
+ tb->topLine += co->height;
+ if (tb->topLine > (tb->numLines - co->height)) {
+ tb->topLine = tb->numLines - co->height;
+ if (tb->topLine < 0) tb->topLine = 0;
+ }
+ textboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+
+ case NEWT_KEY_PGUP:
+ tb->topLine -= co->height;
+ if (tb->topLine < 0) tb->topLine = 0;
+ textboxDraw(co);
+ er.result = ER_SWALLOWED;
+ break;
+ }
+ }
+ if (ev.when == EV_EARLY && ev.event == EV_MOUSE && tb->sb) {
+ /* Top scroll arrow */
+ if (ev.u.mouse.x == co->width && ev.u.mouse.y == co->top) {
+ if (tb->topLine) tb->topLine--;
+ textboxDraw(co);
+
+ er.result = ER_SWALLOWED;
+ }
+ /* Bottom scroll arrow */
+ if (ev.u.mouse.x == co->width &&
+ ev.u.mouse.y == co->top + co->height - 1) {
+ if (tb->topLine < (tb->numLines - co->height)) tb->topLine++;
+ textboxDraw(co);
+
+ er.result = ER_SWALLOWED;
+ }
+ }
+ return er;
+}
+
+static void textboxDestroy(newtComponent co) {
+ int i;
+ struct textbox * tb = co->data;
+
+ for (i = 0; i < tb->numLines; i++)
+ free(tb->lines[i]);
+ free(tb->lines);
+ free(tb);
+ free(co);
+}
diff --git a/mdk-stage1/newt/windows.c b/mdk-stage1/newt/windows.c
new file mode 100644
index 000000000..30a8d526c
--- /dev/null
+++ b/mdk-stage1/newt/windows.c
@@ -0,0 +1,275 @@
+#include <errno.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "errno.h"
+#include "newt.h"
+
+static void * newtvwindow(char * title, char * button1, char * button2,
+ char * button3, char * message, va_list args) {
+ newtComponent b1, b2 = NULL, b3 = NULL, t, f, answer;
+ char * buf = NULL;
+ int size = 0;
+ int i = 0;
+ int scroll = 0;
+ int width, height;
+ char * flowedText;
+ newtGrid grid, buttonGrid;
+
+ do {
+ size += 1000;
+ if (buf) free(buf);
+ buf = malloc(size);
+ i = vsnprintf(buf, size, message, args);
+ } while (i >= size || i == -1);
+
+ flowedText = newtReflowText(buf, 50, 5, 5, &width, &height);
+ if (height > 6) {
+ free(flowedText);
+ flowedText = newtReflowText(buf, 60, 5, 5, &width, &height);
+ }
+ free(buf);
+
+ if (height > 12) {
+ height = 12;
+ scroll = NEWT_FLAG_SCROLL;
+ }
+ t = newtTextbox(-1, -1, width, height, NEWT_TEXTBOX_WRAP | scroll);
+ newtTextboxSetText(t, flowedText);
+ free(flowedText);
+
+ if (button3) {
+ buttonGrid = newtButtonBar(button1, &b1, button2, &b2,
+ button3, &b3, NULL);
+ } else if (button2) {
+ buttonGrid = newtButtonBar(button1, &b1, button2, &b2, NULL);
+ } else {
+ buttonGrid = newtButtonBar(button1, &b1, NULL);
+ }
+
+ newtGridSetField(buttonGrid, 0, 0, NEWT_GRID_COMPONENT, b1,
+ 0, 0, button2 ? 1 : 0, 0, 0, 0);
+
+ grid = newtCreateGrid(1, 2);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, t, 0, 0, 0, 0, 0, 0);
+ newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, buttonGrid,
+ 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
+ newtGridWrappedWindow(grid, title);
+
+ f = newtForm(NULL, NULL, 0);
+ newtFormAddComponents(f, t, b1, NULL);
+
+ if (button2)
+ newtFormAddComponent(f, b2);
+ if (button3)
+ newtFormAddComponent(f, b3);
+
+ answer = newtRunForm(f);
+ newtGridFree(grid, 1);
+
+ newtFormDestroy(f);
+ newtPopWindow();
+
+ if (answer == f)
+ return NULL;
+ else if (answer == b1)
+ return button1;
+ else if (answer == b2)
+ return button2;
+
+ return button3;
+}
+
+int newtWinChoice(char * title, char * button1, char * button2,
+ char * message, ...) {
+ va_list args;
+ void * rc;
+
+ va_start(args, message);
+ rc = newtvwindow(title, button1, button2, NULL, message, args);
+ va_end(args);
+
+ if (rc == button1)
+ return 1;
+ else if (rc == button2)
+ return 2;
+
+ return 0;
+}
+
+void newtWinMessage(char * title, char * buttonText, char * text, ...) {
+ va_list args;
+
+ va_start(args, text);
+ newtvwindow(title, buttonText, NULL, NULL, text, args);
+ va_end(args);
+}
+
+void newtWinMessagev(char * title, char * buttonText, char * text,
+ va_list argv) {
+ newtvwindow(title, buttonText, NULL, NULL, text, argv);
+}
+
+int newtWinTernary(char * title, char * button1, char * button2,
+ char * button3, char * message, ...) {
+ va_list args;
+ void * rc;
+
+ va_start(args, message);
+ rc = newtvwindow(title, button1, button2, button3, message, args);
+ va_end(args);
+
+ if (rc == button1)
+ return 1;
+ else if (rc == button2)
+ return 2;
+ else if (rc == button3)
+ return 3;
+
+ return 0;
+}
+
+/* only supports up to 50 buttons -- shucks! */
+int newtWinMenu(char * title, char * text, int suggestedWidth, int flexDown,
+ int flexUp, int maxListHeight, char ** items, int * listItem,
+ char * button1, ...) {
+ newtComponent textbox, listbox, result, form;
+ va_list args;
+ newtComponent buttons[50];
+ newtGrid grid, buttonBar;
+ int numButtons;
+ int i, rc;
+ int needScroll;
+ char * buttonName;
+
+ textbox = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
+ flexUp, 0);
+
+ for (i = 0; items[i]; i++) ;
+ if (i < maxListHeight) maxListHeight = i;
+ needScroll = i > maxListHeight;
+
+ listbox = newtListbox(-1, -1, maxListHeight,
+ (needScroll ? NEWT_FLAG_SCROLL : 0) | NEWT_FLAG_RETURNEXIT);
+ for (i = 0; items[i]; i++) {
+ newtListboxAddEntry(listbox, items[i], (void *) (long)i);
+ }
+
+ newtListboxSetCurrent(listbox, *listItem);
+
+ buttonName = button1, numButtons = 0;
+ va_start(args, button1);
+ while (buttonName) {
+ buttons[numButtons] = newtButton(-1, -1, buttonName);
+ numButtons++;
+ buttonName = va_arg(args, char *);
+ }
+
+ va_end(args);
+
+ buttonBar = newtCreateGrid(numButtons, 1);
+ for (i = 0; i < numButtons; i++) {
+ newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
+ buttons[i],
+ i ? 1 : 0, 0, 0, 0, 0, 0);
+ }
+
+ grid = newtGridSimpleWindow(textbox, listbox, buttonBar);
+ newtGridWrappedWindow(grid, title);
+
+ form = newtForm(NULL, 0, 0);
+ newtGridAddComponentsToForm(grid, form, 1);
+ newtGridFree(grid, 1);
+
+ result = newtRunForm(form);
+
+ *listItem = ((long) newtListboxGetCurrent(listbox));
+
+ for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
+ if (rc == numButtons)
+ rc = 0; /* F12 or return-on-exit (which are the same for us) */
+ else
+ rc++;
+
+ newtFormDestroy(form);
+ newtPopWindow();
+
+ return rc;
+}
+
+/* only supports up to 50 buttons and entries -- shucks! */
+int newtWinEntries(char * title, char * text, int suggestedWidth, int flexDown,
+ int flexUp, int dataWidth,
+ struct newtWinEntry * items, char * button1, ...) {
+ newtComponent buttons[50], result, form, textw;
+ newtGrid grid, buttonBar, subgrid;
+ int numItems;
+ int rc, i;
+ int numButtons;
+ char * buttonName;
+ va_list args;
+
+ textw = newtTextboxReflowed(-1, -1, text, suggestedWidth, flexDown,
+ flexUp, 0);
+
+ for (numItems = 0; items[numItems].text; numItems++);
+
+ buttonName = button1, numButtons = 0;
+ va_start(args, button1);
+ while (buttonName) {
+ buttons[numButtons] = newtButton(-1, -1, buttonName);
+ numButtons++;
+ buttonName = va_arg(args, char *);
+ }
+
+ va_end(args);
+
+ buttonBar = newtCreateGrid(numButtons, 1);
+ for (i = 0; i < numButtons; i++) {
+ newtGridSetField(buttonBar, i, 0, NEWT_GRID_COMPONENT,
+ buttons[i],
+ i ? 1 : 0, 0, 0, 0, 0, 0);
+ }
+
+ subgrid = newtCreateGrid(2, numItems);
+ for (i = 0; i < numItems; i++) {
+ newtGridSetField(subgrid, 0, i, NEWT_GRID_COMPONENT,
+ newtLabel(-1, -1, items[i].text),
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(subgrid, 1, i, NEWT_GRID_COMPONENT,
+ newtEntry(-1, -1, items[i].value ?
+ *items[i].value : NULL, dataWidth,
+ items[i].value, items[i].flags),
+ 1, 0, 0, 0, 0, 0);
+ }
+
+ grid = newtCreateGrid(1, 3);
+ form = newtForm(NULL, 0, 0);
+ newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, textw,
+ 0, 0, 0, 0, NEWT_ANCHOR_LEFT, 0);
+ newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid,
+ 0, 1, 0, 0, 0, 0);
+ newtGridSetField(grid, 0, 2, NEWT_GRID_SUBGRID, buttonBar,
+ 0, 1, 0, 0, 0, NEWT_GRID_FLAG_GROWX);
+ newtGridAddComponentsToForm(grid, form, 1);
+ newtGridWrappedWindow(grid, title);
+ newtGridFree(grid, 1);
+
+ result = newtRunForm(form);
+
+ for (rc = 0; rc < numItems; rc++)
+ *items[rc].value = strdup(*items[rc].value);
+
+ for (rc = 0; result != buttons[rc] && rc < numButtons; rc++);
+ if (rc == numButtons)
+ rc = 0; /* F12 */
+ else
+ rc++;
+
+ newtFormDestroy(form);
+ newtPopWindow();
+
+ return rc;
+}
diff --git a/mdk-stage1/nfs_mount4.h b/mdk-stage1/nfs_mount4.h
new file mode 100644
index 000000000..85650773a
--- /dev/null
+++ b/mdk-stage1/nfs_mount4.h
@@ -0,0 +1,54 @@
+/*
+ * We want to be able to compile mount on old kernels in such a way
+ * that the binary will work well on more recent kernels.
+ * Thus, if necessary we teach nfsmount.c the structure of new fields
+ * that will come later.
+ *
+ * Moreover, the new kernel includes conflict with glibc includes
+ * so it is easiest to ignore the kernel altogether (at compile time).
+ */
+
+#define NFS_MOUNT_VERSION 4
+
+struct nfs2_fh {
+ char data[32];
+};
+struct nfs3_fh {
+ unsigned short size;
+ unsigned char data[64];
+};
+
+struct nfs_mount_data {
+ int version; /* 1 */
+ int fd; /* 1 */
+ struct nfs2_fh old_root; /* 1 */
+ int flags; /* 1 */
+ int rsize; /* 1 */
+ int wsize; /* 1 */
+ int timeo; /* 1 */
+ int retrans; /* 1 */
+ int acregmin; /* 1 */
+ int acregmax; /* 1 */
+ int acdirmin; /* 1 */
+ int acdirmax; /* 1 */
+ struct sockaddr_in addr; /* 1 */
+ char hostname[256]; /* 1 */
+ int namlen; /* 2 */
+ unsigned int bsize; /* 3 */
+ struct nfs3_fh root; /* 4 */
+};
+
+/* bits in the flags field */
+
+#define NFS_MOUNT_SOFT 0x0001 /* 1 */
+#define NFS_MOUNT_INTR 0x0002 /* 1 */
+#define NFS_MOUNT_SECURE 0x0004 /* 1 */
+#define NFS_MOUNT_POSIX 0x0008 /* 1 */
+#define NFS_MOUNT_NOCTO 0x0010 /* 1 */
+#define NFS_MOUNT_NOAC 0x0020 /* 1 */
+#define NFS_MOUNT_TCP 0x0040 /* 2 */
+#define NFS_MOUNT_VER3 0x0080 /* 3 */
+#define NFS_MOUNT_KERBEROS 0x0100 /* 3 */
+#define NFS_MOUNT_NONLM 0x0200 /* 3 */
+#define NFS_MOUNT_BROKEN_SUID 0x0400 /* 4 */
+
diff --git a/mdk-stage1/nfsmount.c b/mdk-stage1/nfsmount.c
new file mode 100644
index 000000000..ce329d43c
--- /dev/null
+++ b/mdk-stage1/nfsmount.c
@@ -0,0 +1,740 @@
+ /*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2003 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * basing on nfsmount.c from util-linux-2.11z:
+ * - use our logging facilities
+ * - use our host resolving stuff
+ * - remove unneeded code
+ */
+
+/*
+ * nfsmount.c -- Linux NFS mount
+ * Copyright (C) 1993 Rick Sladkey <jrs@world.std.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, 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.
+ *
+ * Wed Feb 8 12:51:48 1995, biro@yggdrasil.com (Ross Biro): allow all port
+ * numbers to be specified on the command line.
+ *
+ * Fri, 8 Mar 1996 18:01:39, Swen Thuemmler <swen@uni-paderborn.de>:
+ * Omit the call to connect() for Linux version 1.3.11 or later.
+ *
+ * Wed Oct 1 23:55:28 1997: Dick Streefland <dick_streefland@tasking.com>
+ * Implemented the "bg", "fg" and "retry" mount options for NFS.
+ *
+ * 1999-02-22 Arkadiusz Miśkiewicz <misiek@pld.ORG.PL>
+ * - added Native Language Support
+ *
+ * Modified by Olaf Kirch and Trond Myklebust for new NFS code,
+ * plus NFSv3 stuff.
+ *
+ * 2003-04-14 David Black <david.black@xilinx.com>
+ * - added support for multiple hostname NFS mounts
+ */
+
+/*
+ * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
+ */
+
+#define HAVE_rpcsvc_nfs_prot_h
+#define HAVE_inet_aton
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <netdb.h>
+#include <time.h>
+#include <rpc/rpc.h>
+#include <rpc/pmap_prot.h>
+#include <rpc/pmap_clnt.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/utsname.h>
+#include <sys/stat.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <values.h>
+
+#include "nfsmount.h"
+
+#ifdef HAVE_rpcsvc_nfs_prot_h
+#include <rpcsvc/nfs_prot.h>
+#else
+#include <linux/nfs.h>
+#define nfsstat nfs_stat
+#endif
+
+#include "nfs_mount4.h"
+
+#include "log.h"
+#include "dns.h"
+
+#ifndef NFS_PORT
+#define NFS_PORT 2049
+#endif
+#ifndef NFS_FHSIZE
+#define NFS_FHSIZE 32
+#endif
+
+static char *nfs_strerror(int stat);
+
+#define MAKE_VERSION(p,q,r) (65536*(p) + 256*(q) + (r))
+
+#define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2)
+
+bool_t
+xdr_fhandle3 (XDR *xdrs, fhandle3 *objp)
+{
+ if (!xdr_bytes (xdrs, (char **)&objp->fhandle3_val, (u_int *) &objp->fhandle3_len, FHSIZE3))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_mountstat3 (XDR *xdrs, mountstat3 *objp)
+{
+ if (!xdr_enum (xdrs, (enum_t *) objp))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_mountres3_ok (XDR *xdrs, mountres3_ok *objp)
+{
+ if (!xdr_fhandle3 (xdrs, &objp->fhandle))
+ return FALSE;
+ if (!xdr_array (xdrs, (char **)&objp->auth_flavours.auth_flavours_val, (u_int *) &objp->auth_flavours.auth_flavours_len, ~0,
+ sizeof (int), (xdrproc_t) xdr_int))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_mountres3 (XDR *xdrs, mountres3 *objp)
+{
+ if (!xdr_mountstat3 (xdrs, &objp->fhs_status))
+ return FALSE;
+ switch (objp->fhs_status) {
+ case MNT_OK:
+ if (!xdr_mountres3_ok (xdrs, &objp->mountres3_u.mountinfo))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+bool_t
+xdr_dirpath (XDR *xdrs, dirpath *objp)
+{
+ if (!xdr_string (xdrs, objp, MNTPATHLEN))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_fhandle (XDR *xdrs, fhandle objp)
+{
+ if (!xdr_opaque (xdrs, objp, FHSIZE))
+ return FALSE;
+ return TRUE;
+}
+
+bool_t
+xdr_fhstatus (XDR *xdrs, fhstatus *objp)
+{
+ if (!xdr_u_int (xdrs, &objp->fhs_status))
+ return FALSE;
+ switch (objp->fhs_status) {
+ case 0:
+ if (!xdr_fhandle (xdrs, objp->fhstatus_u.fhs_fhandle))
+ return FALSE;
+ break;
+ default:
+ break;
+ }
+ return TRUE;
+}
+
+
+static int
+linux_version_code(void) {
+ struct utsname my_utsname;
+ int p, q, r;
+
+ if (uname(&my_utsname) == 0) {
+ p = atoi(strtok(my_utsname.release, "."));
+ q = atoi(strtok(NULL, "."));
+ r = atoi(strtok(NULL, "."));
+ return MAKE_VERSION(p,q,r);
+ }
+ return 0;
+}
+
+/*
+ * Unfortunately, the kernel prints annoying console messages
+ * in case of an unexpected nfs mount version (instead of
+ * just returning some error). Therefore we'll have to try
+ * and figure out what version the kernel expects.
+ *
+ * Variables:
+ * NFS_MOUNT_VERSION: these nfsmount sources at compile time
+ * nfs_mount_version: version this source and running kernel can handle
+ */
+static int
+find_kernel_nfs_mount_version(void) {
+ static int kernel_version = -1;
+ int nfs_mount_version = NFS_MOUNT_VERSION;
+
+ if (kernel_version == -1)
+ kernel_version = linux_version_code();
+
+ if (kernel_version) {
+ if (kernel_version < MAKE_VERSION(2,1,32))
+ nfs_mount_version = 1;
+ else if (kernel_version < MAKE_VERSION(2,2,18))
+ nfs_mount_version = 3;
+ else if (kernel_version < MAKE_VERSION(2,3,0))
+ nfs_mount_version = 4; /* since 2.2.18pre9 */
+ else if (kernel_version < MAKE_VERSION(2,3,99))
+ nfs_mount_version = 3;
+ else
+ nfs_mount_version = 4; /* since 2.3.99pre4 */
+ }
+ if (nfs_mount_version > NFS_MOUNT_VERSION)
+ nfs_mount_version = NFS_MOUNT_VERSION;
+ log_message("nfsmount: kernel_nfs_mount_version: %d", nfs_mount_version);
+ return nfs_mount_version;
+}
+
+static struct pmap *
+get_mountport(struct sockaddr_in *server_addr,
+ long unsigned prog,
+ long unsigned version,
+ long unsigned proto,
+ long unsigned port,
+ int nfs_mount_version)
+{
+ struct pmaplist *pmap;
+ static struct pmap p = {0, 0, 0, 0};
+
+ if (version > MAX_NFSPROT)
+ version = MAX_NFSPROT;
+ if (!prog)
+ prog = MOUNTPROG;
+ p.pm_prog = prog;
+ p.pm_vers = version;
+ p.pm_prot = proto;
+ p.pm_port = port;
+
+ server_addr->sin_port = PMAPPORT;
+ pmap = pmap_getmaps(server_addr);
+
+ while (pmap) {
+ if (pmap->pml_map.pm_prog != prog)
+ goto next;
+ if (!version && p.pm_vers > pmap->pml_map.pm_vers)
+ goto next;
+ if (version > 2 && pmap->pml_map.pm_vers != version)
+ goto next;
+ if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
+ goto next;
+ if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
+ (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
+ (port && pmap->pml_map.pm_port != port))
+ goto next;
+ memcpy(&p, &pmap->pml_map, sizeof(p));
+ next:
+ pmap = pmap->pml_next;
+ }
+ if (!p.pm_vers)
+ p.pm_vers = MOUNTVERS;
+ if (!p.pm_prot)
+ p.pm_prot = IPPROTO_TCP;
+ return &p;
+}
+
+
+
+int nfsmount_prepare(const char *spec, char **mount_opts)
+{
+ char hostdir[1024];
+ CLIENT *mclient;
+ char *hostname, *dirname, *mounthost = NULL;
+ struct timeval total_timeout;
+ enum clnt_stat clnt_stat;
+ static struct nfs_mount_data data;
+ int nfs_mount_version;
+ int val;
+ struct sockaddr_in server_addr;
+ struct sockaddr_in mount_server_addr;
+ struct pmap *pm_mnt;
+ int msock, fsock;
+ struct timeval retry_timeout;
+ union {
+ struct fhstatus nfsv2;
+ struct mountres3 nfsv3;
+ } status;
+ char *s;
+ int port, mountport, proto, soft, intr;
+ int posix, nocto, noac, broken_suid, nolock;
+ int retry, tcp;
+ int mountprog, mountvers, nfsprog, nfsvers;
+ int retval;
+ time_t t;
+ time_t prevt;
+ time_t timeout;
+
+ nfs_mount_version = find_kernel_nfs_mount_version();
+
+ retval = -1;
+ msock = fsock = -1;
+ mclient = NULL;
+ if (strlen(spec) >= sizeof(hostdir)) {
+ log_message("nfsmount: excessively long host:dir argument");
+ goto fail;
+ }
+ strcpy(hostdir, spec);
+ if ((s = strchr(hostdir, ':'))) {
+ hostname = hostdir;
+ dirname = s + 1;
+ *s = '\0';
+ } else {
+ log_message("nfsmount: directory to mount not in host:dir format");
+ goto fail;
+ }
+
+ server_addr.sin_family = AF_INET;
+#ifdef HAVE_inet_aton
+ if (!inet_aton(hostname, &server_addr.sin_addr))
+#endif
+ {
+ if (mygethostbyname(hostname, &server_addr.sin_addr)) {
+ log_message("nfsmount: can't get address for %s", hostname);
+ goto fail;
+ }
+ }
+
+ memcpy (&mount_server_addr, &server_addr, sizeof (mount_server_addr));
+
+
+
+ /* Set default options.
+ * rsize/wsize are set to 8192 to enable nfs install on
+ * old i586 machines
+ * timeo is filled in after we know whether it'll be TCP or UDP. */
+ memset(&data, 0, sizeof(data));
+ data.rsize = 8192;
+ data.wsize = 8192;
+ data.retrans = 30;
+ data.acregmin = 3;
+ data.acregmax = 60;
+ data.acdirmin = 30;
+ data.acdirmax = 60;
+#if NFS_MOUNT_VERSION >= 2
+ data.namlen = NAME_MAX;
+#endif
+
+ soft = 1;
+ intr = 0;
+ posix = 0;
+ nocto = 0;
+ nolock = 1;
+ broken_suid = 0;
+ noac = 0;
+ retry = 10000; /* 10000 minutes ~ 1 week */
+ tcp = 0;
+
+ mountprog = MOUNTPROG;
+ mountvers = 0;
+ port = 0;
+ mountport = 0;
+ nfsprog = NFS_PROGRAM;
+ nfsvers = 0;
+
+
+
+retry_mount:
+ proto = (tcp) ? IPPROTO_TCP : IPPROTO_UDP;
+
+ data.flags = (soft ? NFS_MOUNT_SOFT : 0)
+ | (intr ? NFS_MOUNT_INTR : 0)
+ | (posix ? NFS_MOUNT_POSIX : 0)
+ | (nocto ? NFS_MOUNT_NOCTO : 0)
+ | (noac ? NFS_MOUNT_NOAC : 0);
+#if NFS_MOUNT_VERSION >= 2
+ if (nfs_mount_version >= 2)
+ data.flags |= (tcp ? NFS_MOUNT_TCP : 0);
+#endif
+#if NFS_MOUNT_VERSION >= 3
+ if (nfs_mount_version >= 3)
+ data.flags |= (nolock ? NFS_MOUNT_NONLM : 0);
+#endif
+#if NFS_MOUNT_VERSION >= 4
+ if (nfs_mount_version >= 4)
+ data.flags |= (broken_suid ? NFS_MOUNT_BROKEN_SUID : 0);
+#endif
+ if (nfsvers > MAX_NFSPROT) {
+ log_message("NFSv%d not supported!", nfsvers);
+ return 0;
+ }
+ if (mountvers > MAX_NFSPROT) {
+ log_message("NFSv%d not supported!", nfsvers);
+ return 0;
+ }
+ if (nfsvers && !mountvers)
+ mountvers = (nfsvers < 3) ? 1 : nfsvers;
+ if (nfsvers && nfsvers < mountvers)
+ mountvers = nfsvers;
+
+ /* Adjust options if none specified */
+ if (!data.timeo)
+ data.timeo = tcp ? 70 : 7;
+
+#ifdef NFS_MOUNT_DEBUG
+ log_message("rsize = %d, wsize = %d, timeo = %d, retrans = %d",
+ data.rsize, data.wsize, data.timeo, data.retrans);
+ log_message("acreg (min, max) = (%d, %d), acdir (min, max) = (%d, %d)",
+ data.acregmin, data.acregmax, data.acdirmin, data.acdirmax);
+ log_message("port = %d, retry = %d, flags = %.8x",
+ port, retry, data.flags);
+ log_message("mountprog = %d, mountvers = %d, nfsprog = %d, nfsvers = %d",
+ mountprog, mountvers, nfsprog, nfsvers);
+ log_message("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d",
+ (data.flags & NFS_MOUNT_SOFT) != 0,
+ (data.flags & NFS_MOUNT_INTR) != 0,
+ (data.flags & NFS_MOUNT_POSIX) != 0,
+ (data.flags & NFS_MOUNT_NOCTO) != 0,
+ (data.flags & NFS_MOUNT_NOAC) != 0);
+#if NFS_MOUNT_VERSION >= 2
+ log_message("tcp = %d",
+ (data.flags & NFS_MOUNT_TCP) != 0);
+#endif
+#endif
+
+ data.version = nfs_mount_version;
+ *mount_opts = (char *) &data;
+
+
+ /* create mount deamon client */
+ /* See if the nfs host = mount host. */
+ if (mounthost) {
+ if (mounthost[0] >= '0' && mounthost[0] <= '9') {
+ mount_server_addr.sin_family = AF_INET;
+ mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
+ } else {
+ if (mygethostbyname(mounthost, &mount_server_addr.sin_addr)) {
+ log_message("nfsmount: can't get address for %s", mounthost);
+ goto fail;
+ }
+ }
+ }
+
+ /*
+ * The following loop implements the mount retries. On the first
+ * call, "running_bg" is 0. When the mount times out, and the
+ * "bg" option is set, the exit status EX_BG will be returned.
+ * For a backgrounded mount, there will be a second call by the
+ * child process with "running_bg" set to 1.
+ *
+ * The case where the mount point is not present and the "bg"
+ * option is set, is treated as a timeout. This is done to
+ * support nested mounts.
+ *
+ * The "retry" count specified by the user is the number of
+ * minutes to retry before giving up.
+ *
+ * Only the first error message will be displayed.
+ */
+ retry_timeout.tv_sec = 3;
+ retry_timeout.tv_usec = 0;
+ total_timeout.tv_sec = 20;
+ total_timeout.tv_usec = 0;
+ timeout = time(NULL) + 60 * retry;
+ prevt = 0;
+ t = 30;
+ val = 1;
+
+
+ /* be careful not to use too many CPU cycles */
+ if (t - prevt < 30)
+ sleep(30);
+
+ pm_mnt = get_mountport(&mount_server_addr,
+ mountprog,
+ mountvers,
+ proto,
+ mountport,
+ nfs_mount_version);
+
+ /* contact the mount daemon via TCP */
+ mount_server_addr.sin_port = htons(pm_mnt->pm_port);
+ msock = RPC_ANYSOCK;
+
+ switch (pm_mnt->pm_prot) {
+ case IPPROTO_UDP:
+ mclient = clntudp_create(&mount_server_addr,
+ pm_mnt->pm_prog,
+ pm_mnt->pm_vers,
+ retry_timeout,
+ &msock);
+ if (mclient)
+ break;
+ mount_server_addr.sin_port =
+ htons(pm_mnt->pm_port);
+ msock = RPC_ANYSOCK;
+ case IPPROTO_TCP:
+ mclient = clnttcp_create(&mount_server_addr,
+ pm_mnt->pm_prog,
+ pm_mnt->pm_vers,
+ &msock, 0, 0);
+ break;
+ default:
+ mclient = 0;
+ }
+
+ if (mclient) {
+ /* try to mount hostname:dirname */
+ mclient->cl_auth = authunix_create_default();
+
+ /* make pointers in xdr_mountres3 NULL so
+ * that xdr_array allocates memory for us
+ */
+ memset(&status, 0, sizeof(status));
+
+ log_message("nfsmount: doing client call in nfs version: %ld", pm_mnt->pm_vers);
+ if (pm_mnt->pm_vers == 3)
+ clnt_stat = clnt_call(mclient,
+ MOUNTPROC3_MNT,
+ (xdrproc_t) xdr_dirpath,
+ (caddr_t) &dirname,
+ (xdrproc_t) xdr_mountres3,
+ (caddr_t) &status,
+ total_timeout);
+ else
+ clnt_stat = clnt_call(mclient,
+ MOUNTPROC_MNT,
+ (xdrproc_t) xdr_dirpath,
+ (caddr_t) &dirname,
+ (xdrproc_t) xdr_fhstatus,
+ (caddr_t) &status,
+ total_timeout);
+
+ if (clnt_stat == RPC_SUCCESS)
+ goto succeeded;
+
+ if (prevt == 0)
+ log_message("could not call server: probably protocol or version error");
+ auth_destroy(mclient->cl_auth);
+ clnt_destroy(mclient);
+ mclient = 0;
+ close(msock);
+ } else {
+ log_message("could not create rpc client: host probably not found or NFS server is down");
+ }
+ prevt = t;
+
+ goto fail;
+
+ succeeded:
+ nfsvers = (pm_mnt->pm_vers < 2) ? 2 : pm_mnt->pm_vers;
+
+ if (nfsvers == 2) {
+ if (status.nfsv2.fhs_status != 0) {
+ log_message("nfsmount: %s:%s failed, reason given by server: %s",
+ hostname, dirname, nfs_strerror(status.nfsv2.fhs_status));
+ goto fail;
+ }
+ memcpy(data.root.data,
+ (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
+ NFS_FHSIZE);
+#if NFS_MOUNT_VERSION >= 4
+ data.root.size = NFS_FHSIZE;
+ memcpy(data.old_root.data,
+ (char *) status.nfsv2.fhstatus_u.fhs_fhandle,
+ NFS_FHSIZE);
+#endif
+ } else {
+#if NFS_MOUNT_VERSION >= 4
+ fhandle3 *fhandle;
+ if (status.nfsv3.fhs_status != 0) {
+ log_message("nfsmount: %s:%s failed, reason given by server: %s",
+ hostname, dirname, nfs_strerror(status.nfsv3.fhs_status));
+ goto fail;
+ }
+ fhandle = &status.nfsv3.mountres3_u.mountinfo.fhandle;
+ memset(data.old_root.data, 0, NFS_FHSIZE);
+ memset(&data.root, 0, sizeof(data.root));
+ data.root.size = fhandle->fhandle3_len;
+ memcpy(data.root.data,
+ (char *) fhandle->fhandle3_val,
+ fhandle->fhandle3_len);
+
+ data.flags |= NFS_MOUNT_VER3;
+#endif
+ }
+
+ /* create nfs socket for kernel */
+
+ if (tcp) {
+ if (nfs_mount_version < 3) {
+ log_message("NFS over TCP is not supported.");
+ goto fail;
+ }
+ fsock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ } else
+ fsock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ if (fsock < 0) {
+ log_perror("nfs socket");
+ goto fail;
+ }
+ if (bindresvport(fsock, 0) < 0) {
+ log_perror("nfs bindresvport");
+ goto fail;
+ }
+ if (port == 0) {
+ server_addr.sin_port = PMAPPORT;
+ port = pmap_getport(&server_addr, nfsprog, nfsvers,
+ tcp ? IPPROTO_TCP : IPPROTO_UDP);
+#if 1
+ /* Here we check to see if user is mounting with the
+ * tcp option. If so, and if the portmap returns a
+ * '0' for port (service unavailable), we then notify
+ * the user, and retry with udp.
+ */
+ if (port == 0 && tcp == 1) {
+ log_message("NFS server reported TCP not available, retrying with UDP...");
+ tcp = 0;
+ goto retry_mount;
+ }
+#endif
+
+ if (port == 0)
+ port = NFS_PORT;
+#ifdef NFS_MOUNT_DEBUG
+ else
+ log_message("used portmapper to find NFS port");
+#endif
+ }
+#ifdef NFS_MOUNT_DEBUG
+ log_message("using port %d for nfs deamon", port);
+#endif
+ server_addr.sin_port = htons(port);
+ /*
+ * connect() the socket for kernels 1.3.10 and below only,
+ * to avoid problems with multihomed hosts.
+ * --Swen
+ */
+ if (linux_version_code() <= 66314
+ && connect(fsock, (struct sockaddr *) &server_addr,
+ sizeof (server_addr)) < 0) {
+ log_perror("nfs connect");
+ goto fail;
+ }
+
+ /* prepare data structure for kernel */
+
+ data.fd = fsock;
+ memcpy((char *) &data.addr, (char *) &server_addr, sizeof(data.addr));
+ strncpy(data.hostname, hostname, sizeof(data.hostname));
+
+ /* clean up */
+
+ auth_destroy(mclient->cl_auth);
+ clnt_destroy(mclient);
+ close(msock);
+ return 0;
+
+ /* abort */
+
+ fail:
+ if (msock != -1) {
+ if (mclient) {
+ auth_destroy(mclient->cl_auth);
+ clnt_destroy(mclient);
+ }
+ close(msock);
+ }
+ if (fsock != -1)
+ close(fsock);
+ return retval;
+}
+
+/*
+ * We need to translate between nfs status return values and
+ * the local errno values which may not be the same.
+ *
+ * Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>: change errno:
+ * "after #include <errno.h> the symbol errno is reserved for any use,
+ * it cannot even be used as a struct tag or field name".
+ */
+
+#ifndef EDQUOT
+#define EDQUOT ENOSPC
+#endif
+
+static struct {
+ enum nfsstat stat;
+ int errnum;
+} nfs_errtbl[] = {
+ { NFS_OK, 0 },
+ { NFSERR_PERM, EPERM },
+ { NFSERR_NOENT, ENOENT },
+ { NFSERR_IO, EIO },
+ { NFSERR_NXIO, ENXIO },
+ { NFSERR_ACCES, EACCES },
+ { NFSERR_EXIST, EEXIST },
+ { NFSERR_NODEV, ENODEV },
+ { NFSERR_NOTDIR, ENOTDIR },
+ { NFSERR_ISDIR, EISDIR },
+#ifdef NFSERR_INVAL
+ { NFSERR_INVAL, EINVAL }, /* that Sun forgot */
+#endif
+ { NFSERR_FBIG, EFBIG },
+ { NFSERR_NOSPC, ENOSPC },
+ { NFSERR_ROFS, EROFS },
+ { NFSERR_NAMETOOLONG, ENAMETOOLONG },
+ { NFSERR_NOTEMPTY, ENOTEMPTY },
+ { NFSERR_DQUOT, EDQUOT },
+ { NFSERR_STALE, ESTALE },
+#ifdef EWFLUSH
+ { NFSERR_WFLUSH, EWFLUSH },
+#endif
+ /* Throw in some NFSv3 values for even more fun (HP returns these) */
+ { 71, EREMOTE },
+
+ { -1, EIO }
+};
+
+static char *nfs_strerror(int stat)
+{
+ int i;
+ static char buf[256];
+
+ for (i = 0; nfs_errtbl[i].stat != (unsigned)-1; i++) {
+ if (nfs_errtbl[i].stat == (unsigned)stat)
+ return strerror(nfs_errtbl[i].errnum);
+ }
+ sprintf(buf, "unknown nfs status return value: %d", stat);
+ return buf;
+}
+
diff --git a/mdk-stage1/nfsmount.h b/mdk-stage1/nfsmount.h
new file mode 100644
index 000000000..a27e8a8d7
--- /dev/null
+++ b/mdk-stage1/nfsmount.h
@@ -0,0 +1,331 @@
+/*
+ * Please do not edit this file.
+ * It was generated using rpcgen.
+ */
+
+#ifndef _NFSMOUNT_H_RPCGEN
+#define _NFSMOUNT_H_RPCGEN
+
+#include <rpc/rpc.h>
+
+int nfsmount_prepare(const char *spec, char **mount_opts);
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
+ * unrestricted use provided that this legend is included on all tape
+ * media and as a part of the software program in whole or part. Users
+ * may copy or modify Sun RPC without charge, but are not authorized
+ * to license or distribute it to anyone else except as part of a product or
+ * program developed by the user or with the express written consent of
+ * Sun Microsystems, Inc.
+ *
+ * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
+ * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ *
+ * Sun RPC is provided with no support and without any obligation on the
+ * part of Sun Microsystems, Inc. to assist in its use, correction,
+ * modification or enhancement.
+ *
+ * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
+ * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
+ * OR ANY PART THEREOF.
+ *
+ * In no event will Sun Microsystems, Inc. be liable for any lost revenue
+ * or profits or other special, indirect and consequential damages, even if
+ * Sun has been advised of the possibility of such damages.
+ *
+ * Sun Microsystems, Inc.
+ * 2550 Garcia Avenue
+ * Mountain View, California 94043
+ */
+/*
+ * Copyright (c) 1985, 1990 by Sun Microsystems, Inc.
+ */
+
+/* from @(#)mount.x 1.3 91/03/11 TIRPC 1.0 */
+#ifndef _rpcsvc_mount_h
+#define _rpcsvc_mount_h
+#include <asm/types.h>
+#define MNTPATHLEN 1024
+#define MNTNAMLEN 255
+#define FHSIZE 32
+#define FHSIZE3 64
+
+typedef char fhandle[FHSIZE];
+
+typedef struct {
+ u_int fhandle3_len;
+ char *fhandle3_val;
+} fhandle3;
+
+enum mountstat3 {
+ MNT_OK = 0,
+ MNT3ERR_PERM = 1,
+ MNT3ERR_NOENT = 2,
+ MNT3ERR_IO = 5,
+ MNT3ERR_ACCES = 13,
+ MNT3ERR_NOTDIR = 20,
+ MNT3ERR_INVAL = 22,
+ MNT3ERR_NAMETOOLONG = 63,
+ MNT3ERR_NOTSUPP = 10004,
+ MNT3ERR_SERVERFAULT = 10006,
+};
+typedef enum mountstat3 mountstat3;
+
+struct fhstatus {
+ u_int fhs_status;
+ union {
+ fhandle fhs_fhandle;
+ } fhstatus_u;
+};
+typedef struct fhstatus fhstatus;
+
+struct mountres3_ok {
+ fhandle3 fhandle;
+ struct {
+ u_int auth_flavours_len;
+ int *auth_flavours_val;
+ } auth_flavours;
+};
+typedef struct mountres3_ok mountres3_ok;
+
+struct mountres3 {
+ mountstat3 fhs_status;
+ union {
+ mountres3_ok mountinfo;
+ } mountres3_u;
+};
+typedef struct mountres3 mountres3;
+
+typedef char *dirpath;
+
+typedef char *name;
+
+typedef struct mountbody *mountlist;
+
+struct mountbody {
+ name ml_hostname;
+ dirpath ml_directory;
+ mountlist ml_next;
+};
+typedef struct mountbody mountbody;
+
+typedef struct groupnode *groups;
+
+struct groupnode {
+ name gr_name;
+ groups gr_next;
+};
+typedef struct groupnode groupnode;
+
+typedef struct exportnode *exports;
+
+struct exportnode {
+ dirpath ex_dir;
+ groups ex_groups;
+ exports ex_next;
+};
+typedef struct exportnode exportnode;
+
+struct ppathcnf {
+ int pc_link_max;
+ short pc_max_canon;
+ short pc_max_input;
+ short pc_name_max;
+ short pc_path_max;
+ short pc_pipe_buf;
+ u_char pc_vdisable;
+ char pc_xxx;
+ short pc_mask[2];
+};
+typedef struct ppathcnf ppathcnf;
+#endif /*!_rpcsvc_mount_h*/
+
+#define MOUNTPROG 100005
+#define MOUNTVERS 1
+
+#if defined(__STDC__) || defined(__cplusplus)
+#define MOUNTPROC_NULL 0
+extern void * mountproc_null_1(void *, CLIENT *);
+extern void * mountproc_null_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_MNT 1
+extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
+extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_DUMP 2
+extern mountlist * mountproc_dump_1(void *, CLIENT *);
+extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_UMNT 3
+extern void * mountproc_umnt_1(dirpath *, CLIENT *);
+extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC_UMNTALL 4
+extern void * mountproc_umntall_1(void *, CLIENT *);
+extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORT 5
+extern exports * mountproc_export_1(void *, CLIENT *);
+extern exports * mountproc_export_1_svc(void *, struct svc_req *);
+#define MOUNTPROC_EXPORTALL 6
+extern exports * mountproc_exportall_1(void *, CLIENT *);
+extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
+extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
+
+#else /* K&R C */
+#define MOUNTPROC_NULL 0
+extern void * mountproc_null_1();
+extern void * mountproc_null_1_svc();
+#define MOUNTPROC_MNT 1
+extern fhstatus * mountproc_mnt_1();
+extern fhstatus * mountproc_mnt_1_svc();
+#define MOUNTPROC_DUMP 2
+extern mountlist * mountproc_dump_1();
+extern mountlist * mountproc_dump_1_svc();
+#define MOUNTPROC_UMNT 3
+extern void * mountproc_umnt_1();
+extern void * mountproc_umnt_1_svc();
+#define MOUNTPROC_UMNTALL 4
+extern void * mountproc_umntall_1();
+extern void * mountproc_umntall_1_svc();
+#define MOUNTPROC_EXPORT 5
+extern exports * mountproc_export_1();
+extern exports * mountproc_export_1_svc();
+#define MOUNTPROC_EXPORTALL 6
+extern exports * mountproc_exportall_1();
+extern exports * mountproc_exportall_1_svc();
+extern int mountprog_1_freeresult ();
+#endif /* K&R C */
+#define MOUNTVERS_POSIX 2
+
+#if defined(__STDC__) || defined(__cplusplus)
+extern void * mountproc_null_2(void *, CLIENT *);
+extern void * mountproc_null_2_svc(void *, struct svc_req *);
+extern fhstatus * mountproc_mnt_2(dirpath *, CLIENT *);
+extern fhstatus * mountproc_mnt_2_svc(dirpath *, struct svc_req *);
+extern mountlist * mountproc_dump_2(void *, CLIENT *);
+extern mountlist * mountproc_dump_2_svc(void *, struct svc_req *);
+extern void * mountproc_umnt_2(dirpath *, CLIENT *);
+extern void * mountproc_umnt_2_svc(dirpath *, struct svc_req *);
+extern void * mountproc_umntall_2(void *, CLIENT *);
+extern void * mountproc_umntall_2_svc(void *, struct svc_req *);
+extern exports * mountproc_export_2(void *, CLIENT *);
+extern exports * mountproc_export_2_svc(void *, struct svc_req *);
+extern exports * mountproc_exportall_2(void *, CLIENT *);
+extern exports * mountproc_exportall_2_svc(void *, struct svc_req *);
+#define MOUNTPROC_PATHCONF 7
+extern ppathcnf * mountproc_pathconf_2(dirpath *, CLIENT *);
+extern ppathcnf * mountproc_pathconf_2_svc(dirpath *, struct svc_req *);
+extern int mountprog_2_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
+
+#else /* K&R C */
+extern void * mountproc_null_2();
+extern void * mountproc_null_2_svc();
+extern fhstatus * mountproc_mnt_2();
+extern fhstatus * mountproc_mnt_2_svc();
+extern mountlist * mountproc_dump_2();
+extern mountlist * mountproc_dump_2_svc();
+extern void * mountproc_umnt_2();
+extern void * mountproc_umnt_2_svc();
+extern void * mountproc_umntall_2();
+extern void * mountproc_umntall_2_svc();
+extern exports * mountproc_export_2();
+extern exports * mountproc_export_2_svc();
+extern exports * mountproc_exportall_2();
+extern exports * mountproc_exportall_2_svc();
+#define MOUNTPROC_PATHCONF 7
+extern ppathcnf * mountproc_pathconf_2();
+extern ppathcnf * mountproc_pathconf_2_svc();
+extern int mountprog_2_freeresult ();
+#endif /* K&R C */
+#define MOUNT_V3 3
+
+#if defined(__STDC__) || defined(__cplusplus)
+#define MOUNTPROC3_NULL 0
+extern void * mountproc3_null_3(void *, CLIENT *);
+extern void * mountproc3_null_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_MNT 1
+extern mountres3 * mountproc3_mnt_3(dirpath *, CLIENT *);
+extern mountres3 * mountproc3_mnt_3_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC3_DUMP 2
+extern mountlist * mountproc3_dump_3(void *, CLIENT *);
+extern mountlist * mountproc3_dump_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_UMNT 3
+extern void * mountproc3_umnt_3(dirpath *, CLIENT *);
+extern void * mountproc3_umnt_3_svc(dirpath *, struct svc_req *);
+#define MOUNTPROC3_UMNTALL 4
+extern void * mountproc3_umntall_3(void *, CLIENT *);
+extern void * mountproc3_umntall_3_svc(void *, struct svc_req *);
+#define MOUNTPROC3_EXPORT 5
+extern exports * mountproc3_export_3(void *, CLIENT *);
+extern exports * mountproc3_export_3_svc(void *, struct svc_req *);
+extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
+
+#else /* K&R C */
+#define MOUNTPROC3_NULL 0
+extern void * mountproc3_null_3();
+extern void * mountproc3_null_3_svc();
+#define MOUNTPROC3_MNT 1
+extern mountres3 * mountproc3_mnt_3();
+extern mountres3 * mountproc3_mnt_3_svc();
+#define MOUNTPROC3_DUMP 2
+extern mountlist * mountproc3_dump_3();
+extern mountlist * mountproc3_dump_3_svc();
+#define MOUNTPROC3_UMNT 3
+extern void * mountproc3_umnt_3();
+extern void * mountproc3_umnt_3_svc();
+#define MOUNTPROC3_UMNTALL 4
+extern void * mountproc3_umntall_3();
+extern void * mountproc3_umntall_3_svc();
+#define MOUNTPROC3_EXPORT 5
+extern exports * mountproc3_export_3();
+extern exports * mountproc3_export_3_svc();
+extern int mountprog_3_freeresult ();
+#endif /* K&R C */
+
+/* the xdr functions */
+
+#if defined(__STDC__) || defined(__cplusplus)
+extern bool_t xdr_fhandle (XDR *, fhandle);
+extern bool_t xdr_fhandle3 (XDR *, fhandle3*);
+extern bool_t xdr_mountstat3 (XDR *, mountstat3*);
+extern bool_t xdr_fhstatus (XDR *, fhstatus*);
+extern bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
+extern bool_t xdr_mountres3 (XDR *, mountres3*);
+extern bool_t xdr_dirpath (XDR *, dirpath*);
+extern bool_t xdr_name (XDR *, name*);
+extern bool_t xdr_mountlist (XDR *, mountlist*);
+extern bool_t xdr_mountbody (XDR *, mountbody*);
+extern bool_t xdr_groups (XDR *, groups*);
+extern bool_t xdr_groupnode (XDR *, groupnode*);
+extern bool_t xdr_exports (XDR *, exports*);
+extern bool_t xdr_exportnode (XDR *, exportnode*);
+extern bool_t xdr_ppathcnf (XDR *, ppathcnf*);
+
+#else /* K&R C */
+extern bool_t xdr_fhandle ();
+extern bool_t xdr_fhandle3 ();
+extern bool_t xdr_mountstat3 ();
+extern bool_t xdr_fhstatus ();
+extern bool_t xdr_mountres3_ok ();
+extern bool_t xdr_mountres3 ();
+extern bool_t xdr_dirpath ();
+extern bool_t xdr_name ();
+extern bool_t xdr_mountlist ();
+extern bool_t xdr_mountbody ();
+extern bool_t xdr_groups ();
+extern bool_t xdr_groupnode ();
+extern bool_t xdr_exports ();
+extern bool_t xdr_exportnode ();
+extern bool_t xdr_ppathcnf ();
+
+#endif /* K&R C */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_NFSMOUNT_H_RPCGEN */
+
diff --git a/mdk-stage1/partition.c b/mdk-stage1/partition.c
new file mode 100644
index 000000000..d41fa7ebf
--- /dev/null
+++ b/mdk-stage1/partition.c
@@ -0,0 +1,170 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <libgen.h>
+#include "stage1.h"
+#include "frontend.h"
+#include "modules.h"
+#include "probing.h"
+#include "log.h"
+#include "mount.h"
+#include "automatic.h"
+
+#include "disk.h"
+#include "partition.h"
+
+struct partition_detection_anchor {
+ off_t offset;
+ const char * anchor;
+};
+
+static int seek_and_compare(int fd, struct partition_detection_anchor anch)
+{
+ char buf[500];
+ size_t count;
+ if (lseek(fd, anch.offset, SEEK_SET) == (off_t)-1) {
+ log_perror("seek failed");
+ return -1;
+ }
+ count = read(fd, buf, strlen(anch.anchor));
+ if (count != strlen(anch.anchor)) {
+ log_perror("read failed");
+ return -1;
+ }
+ buf[count] = '\0';
+ if (strcmp(anch.anchor, buf))
+ return 1;
+ return 0;
+}
+
+static const char * detect_partition_type(char * dev)
+{
+ struct partition_detection_info {
+ const char * name;
+ struct partition_detection_anchor anchor0;
+ struct partition_detection_anchor anchor1;
+ struct partition_detection_anchor anchor2;
+ };
+ struct partition_detection_info partitions_signatures[] = {
+ { "Linux Swap", { 4086, "SWAP-SPACE" }, { 0, NULL }, { 0, NULL } },
+ { "Linux Swap", { 4086, "SWAPSPACE2" }, { 0, NULL }, { 0, NULL } },
+ { "Ext2", { 0x438, "\x53\xEF" }, { 0, NULL }, { 0, NULL } },
+ { "ReiserFS", { 0x10034, "ReIsErFs" }, { 0, NULL }, { 0, NULL } },
+ { "ReiserFS", { 0x10034, "ReIsEr2Fs" }, { 0, NULL }, { 0, NULL } },
+ { "XFS", { 0, "XFSB" }, { 0x200, "XAGF" }, { 0x400, "XAGI" } },
+ { "JFS", { 0x8000, "JFS1" }, { 0, NULL }, { 0, NULL } },
+ { "NTFS", { 0x1FE, "\x55\xAA" }, { 0x3, "NTFS" }, { 0, NULL } },
+ { "FAT32", { 0x1FE, "\x55\xAA" }, { 0x52, "FAT32" }, { 0, NULL } },
+ { "FAT", { 0x1FE, "\x55\xAA" }, { 0x36, "FAT" }, { 0, NULL } },
+ { "Linux LVM", { 0, "HM\1\0" }, { 0, NULL }, { 0, NULL } }
+ };
+ int partitions_signatures_nb = sizeof(partitions_signatures) / sizeof(struct partition_detection_info);
+ int i;
+ int fd;
+ const char *part_type = NULL;
+
+ char device_fullname[50];
+ strcpy(device_fullname, "/dev/");
+ strcat(device_fullname, dev);
+
+ if (ensure_dev_exists(device_fullname))
+ return NULL;
+ log_message("guessing type of %s", device_fullname);
+
+ if ((fd = open(device_fullname, O_RDONLY, 0)) < 0) {
+ log_perror("open");
+ return NULL;
+ }
+
+ for (i=0; i<partitions_signatures_nb; i++) {
+ int results = seek_and_compare(fd, partitions_signatures[i].anchor0);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+ if (!partitions_signatures[i].anchor1.anchor)
+ goto detect_partition_found_it;
+
+ results = seek_and_compare(fd, partitions_signatures[i].anchor1);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+ if (!partitions_signatures[i].anchor2.anchor)
+ goto detect_partition_found_it;
+
+ results = seek_and_compare(fd, partitions_signatures[i].anchor2);
+ if (results == -1)
+ goto detect_partition_type_end;
+ if (results == 1)
+ continue;
+
+ detect_partition_found_it:
+ part_type = partitions_signatures[i].name;
+ break;
+ }
+
+ detect_partition_type_end:
+ close(fd);
+ return part_type;
+}
+
+int list_partitions(char * dev_name, char ** parts, char ** comments)
+{
+ int major, minor, blocks;
+ char name[100];
+ FILE * f;
+ int i = 0;
+ char buf[512];
+
+ if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
+ log_perror(dev_name);
+ return 1;
+ }
+
+ while (fgets(buf, sizeof(buf), f)) {
+ memset(name, 0, sizeof(name));
+ sscanf(buf, " %d %d %d %s", &major, &minor, &blocks, name);
+ if ((strstr(name, dev_name) == name) && (blocks > 1) && (name[strlen(dev_name)] != '\0')) {
+ const char * partition_type = detect_partition_type(name);
+ parts[i] = strdup(name);
+ comments[i] = (char *) malloc(sizeof(char) * 100);
+ sprintf(comments[i], "size: %d Mbytes", blocks >> 10);
+ if (partition_type) {
+ strcat(comments[i], ", type: ");
+ strcat(comments[i], partition_type);
+ }
+ i++;
+ }
+ }
+ parts[i] = NULL;
+ fclose(f);
+
+ return 0;
+}
diff --git a/mdk-stage1/partition.h b/mdk-stage1/partition.h
new file mode 100644
index 000000000..e901662df
--- /dev/null
+++ b/mdk-stage1/partition.h
@@ -0,0 +1,28 @@
+/*
+ * Olivier Blin (oblin@mandrakesoft.com)
+ *
+ * Copyright 2005 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _PARTITION_H_
+#define _PARTITION_H_
+
+int list_partitions(char * dev_name, char ** parts, char ** comments);
+
+#endif
+
diff --git a/mdk-stage1/pci-resource/Makefile b/mdk-stage1/pci-resource/Makefile
new file mode 100644
index 000000000..985e5ce8c
--- /dev/null
+++ b/mdk-stage1/pci-resource/Makefile
@@ -0,0 +1,25 @@
+ #******************************************************************************
+ #
+ # $Id: Makefile 23860 2005-08-25 11:41:51Z prigaux $
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+
+all: pci-ids.h
+
+pci-ids.h: /usr/share/ldetect-lst/pcitable.gz update-pci-ids.pl
+ perl update-pci-ids.pl > $@ || { rm -f $@; exit 1; }
+
+clean:
+ rm -f pci-ids.h
diff --git a/mdk-stage1/pci-resource/update-pci-ids.pl b/mdk-stage1/pci-resource/update-pci-ids.pl
new file mode 100755
index 000000000..82eb060bf
--- /dev/null
+++ b/mdk-stage1/pci-resource/update-pci-ids.pl
@@ -0,0 +1,73 @@
+#!/usr/bin/perl
+
+use strict;
+use MDK::Common;
+
+require '/usr/bin/merge2pcitable.pl';
+my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable");
+
+print '
+#define PCI_REVISION_ID 0x08 /* Revision ID */
+
+struct pci_module_map {
+ unsigned short vendor; /* PCI vendor id */
+ unsigned short device; /* PCI device id */
+ const char *name; /* PCI human readable name */
+ const char *module; /* module to load */
+};
+
+struct pci_module_map_full {
+ unsigned short vendor; /* PCI vendor id */
+ unsigned short device; /* PCI device id */
+ unsigned short subvendor; /* PCI subvendor id */
+ unsigned short subdevice; /* PCI subdevice id */
+ const char *name; /* PCI human readable name */
+ const char *module; /* module to load */
+};
+
+';
+
+my %t = (
+ network => 'network/main|gigabit|tokenring|wireless|pcmcia',
+ medias => 'disk/scsi|hardware_raid|sata',
+);
+
+foreach my $type (keys %t) {
+ my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1 "$t{$type}"`)
+ or die "unable to get PCI modules";
+
+ my (@entries, @entries_full);
+
+ foreach my $k (sort keys %$pci) {
+ my $v = $pci->{$k};
+ member($v->[0], @modules) or next;
+ $k =~ /^(....)(....)(....)(....)/;
+ my $values = { vendor => $1, device => $2, subvendor => $3, subdevice => $4, driver => $v->[0], description => $v->[1] };
+ if ($values->{subdevice} eq 'ffff' && $values->{subvendor} eq 'ffff') {
+ push @entries, $values;
+ } else {
+ push @entries_full, $values;
+ }
+ }
+
+ print "#ifndef DISABLE_".uc($type)."
+struct pci_module_map ${type}_pci_ids[] = {
+";
+ printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{description}, $_->{driver}
+ foreach @entries;
+ print "};
+unsigned int ${type}_num_ids = sizeof(${type}_pci_ids) / sizeof(struct pci_module_map);
+";
+
+ print "
+struct pci_module_map_full ${type}_pci_ids_full[] = {
+";
+ printf qq|\t{ 0x%s, 0x%s, 0x%s, 0x%s, "%s", "%s" },\n|, $_->{vendor}, $_->{device}, $_->{subvendor}, $_->{subdevice}, $_->{description}, $_->{driver}
+ foreach @entries_full;
+ print "};
+unsigned int ${type}_num_ids_full = sizeof(${type}_pci_ids_full) / sizeof(struct pci_module_map_full);
+
+#endif
+
+";
+}
diff --git a/mdk-stage1/pcmcia-resource/Makefile b/mdk-stage1/pcmcia-resource/Makefile
new file mode 100644
index 000000000..46dda9be1
--- /dev/null
+++ b/mdk-stage1/pcmcia-resource/Makefile
@@ -0,0 +1,24 @@
+ #******************************************************************************
+ #
+ # Olivier Blin (blino@mandriva.com)
+ #
+ # Copyright 2006 Mandriva
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+TARGET=pcmcia-ids.h
+
+all: $(TARGET)
+
+$(TARGET):
+ perl update-pcmcia-ids.pl > $@ || { rm -f $@; exit 1; }
+
+clean:
+ rm -f $(TARGET)
diff --git a/mdk-stage1/pcmcia-resource/update-pcmcia-ids.pl b/mdk-stage1/pcmcia-resource/update-pcmcia-ids.pl
new file mode 100755
index 000000000..2dd7728b6
--- /dev/null
+++ b/mdk-stage1/pcmcia-resource/update-pcmcia-ids.pl
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+use strict;
+use MDK::Common;
+
+my @aliases;
+my ($main) = `ls -t /lib/modules/*/modules.alias`;
+foreach (cat_(chomp_($main))) {
+ push @aliases, [ $1, $2 ] if /^alias\s+(pcmcia:\S+)\s+(\S+)$/; #- modalias, module
+}
+@aliases or die "unable to get PCMCIA aliases";
+
+print '
+struct pcmcia_alias {
+ const char *modalias;
+ const char *module;
+};
+
+';
+
+my %t = (
+ network => 'network/pcmcia',
+ medias => 'disk/pcmcia',
+);
+
+foreach my $type (keys %t) {
+ my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1 "$t{$type}"`)
+ or die "unable to get PCMCIA modules";
+
+ print "#ifndef DISABLE_".uc($type)."
+struct pcmcia_alias ${type}_pcmcia_ids[] = {
+";
+ print qq|\t{ "$_->[0]", "$_->[1]" },\n| foreach grep { member($_->[1], @modules) } @aliases;
+ print "};
+unsigned int ${type}_pcmcia_num_ids = sizeof(${type}_pcmcia_ids) / sizeof(struct pcmcia_alias);
+
+#endif
+
+";
+
+}
diff --git a/mdk-stage1/pcmcia/Makefile b/mdk-stage1/pcmcia/Makefile
new file mode 100644
index 000000000..9e111f115
--- /dev/null
+++ b/mdk-stage1/pcmcia/Makefile
@@ -0,0 +1,52 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2001 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+# startup.c is based on pcmcia-socket-startup from pcmciautils-013
+
+top_dir = ..
+
+include $(top_dir)/Makefile.common
+
+TARGET = libpcmcia.a
+YFLAGS := -d
+
+all: $(TARGET) pcmcia_probe.o
+
+clean:
+ rm -f *.o $(TARGET) lex_config.c yacc_config.c yacc_config.h
+
+FLAGS = -D__linux__ -Wall -Werror -Wno-deprecated-declarations -Os -fomit-frame-pointer -pipe -c -I.. -D_BSD_SOURCE
+# (blino) make sure yynewerror and yyerrlab are uselessly used
+FLAGS += -Dlint
+LFLAGS += --nounput
+
+
+OBJS = probe.o startup.o yacc_config.o lex_config.o
+
+
+%.c %.h : %.y
+ $(YACC) $(YFLAGS) $<
+ mv y.tab.c $*.c
+ mv y.tab.h $*.h
+
+$(TARGET): $(OBJS) yacc_config.h
+ ar -cru $@ $^
+ ranlib $@
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(FLAGS) $(INCLUDES) -c $< -o $@
+
+pcmcia_probe.o: probe.c
+ $(DIET) gcc -fPIC $(FLAGS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/pcmcia/bulkmem.h b/mdk-stage1/pcmcia/bulkmem.h
new file mode 100644
index 000000000..7748d4432
--- /dev/null
+++ b/mdk-stage1/pcmcia/bulkmem.h
@@ -0,0 +1,195 @@
+/*
+ * Definitions for bulk memory services
+ *
+ * bulkmem.h 1.13 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ * bulkmem.h 1.3 1995/05/27 04:49:49
+ */
+
+#ifndef _LINUX_BULKMEM_H
+#define _LINUX_BULKMEM_H
+
+/* For GetFirstRegion and GetNextRegion */
+typedef struct region_info_t {
+ u_int Attributes;
+ u_int CardOffset;
+ u_int RegionSize;
+ u_int AccessSpeed;
+ u_int BlockSize;
+ u_int PartMultiple;
+ u_char JedecMfr, JedecInfo;
+ memory_handle_t next;
+} region_info_t;
+
+#define REGION_TYPE 0x0001
+#define REGION_TYPE_CM 0x0000
+#define REGION_TYPE_AM 0x0001
+#define REGION_PREFETCH 0x0008
+#define REGION_CACHEABLE 0x0010
+#define REGION_BAR_MASK 0xe000
+#define REGION_BAR_SHIFT 13
+
+/* For OpenMemory */
+typedef struct open_mem_t {
+ u_int Attributes;
+ u_int Offset;
+} open_mem_t;
+
+/* Attributes for OpenMemory */
+#define MEMORY_TYPE 0x0001
+#define MEMORY_TYPE_CM 0x0000
+#define MEMORY_TYPE_AM 0x0001
+#define MEMORY_EXCLUSIVE 0x0002
+#define MEMORY_PREFETCH 0x0008
+#define MEMORY_CACHEABLE 0x0010
+#define MEMORY_BAR_MASK 0xe000
+#define MEMORY_BAR_SHIFT 13
+
+typedef struct eraseq_entry_t {
+ memory_handle_t Handle;
+ u_char State;
+ u_int Size;
+ u_int Offset;
+ void *Optional;
+} eraseq_entry_t;
+
+typedef struct eraseq_hdr_t {
+ int QueueEntryCnt;
+ eraseq_entry_t *QueueEntryArray;
+} eraseq_hdr_t;
+
+#define ERASE_QUEUED 0x00
+#define ERASE_IN_PROGRESS(n) (((n) > 0) && ((n) < 0x80))
+#define ERASE_IDLE 0xff
+#define ERASE_PASSED 0xe0
+#define ERASE_FAILED 0xe1
+
+#define ERASE_MISSING 0x80
+#define ERASE_MEDIA_WRPROT 0x84
+#define ERASE_NOT_ERASABLE 0x85
+#define ERASE_BAD_OFFSET 0xc1
+#define ERASE_BAD_TECH 0xc2
+#define ERASE_BAD_SOCKET 0xc3
+#define ERASE_BAD_VCC 0xc4
+#define ERASE_BAD_VPP 0xc5
+#define ERASE_BAD_SIZE 0xc6
+
+/* For CopyMemory */
+typedef struct copy_op_t {
+ u_int Attributes;
+ u_int SourceOffset;
+ u_int DestOffset;
+ u_int Count;
+} copy_op_t;
+
+/* For ReadMemory and WriteMemory */
+typedef struct mem_op_t {
+ u_int Attributes;
+ u_int Offset;
+ u_int Count;
+} mem_op_t;
+
+#define MEM_OP_BUFFER 0x01
+#define MEM_OP_BUFFER_USER 0x00
+#define MEM_OP_BUFFER_KERNEL 0x01
+#define MEM_OP_DISABLE_ERASE 0x02
+#define MEM_OP_VERIFY 0x04
+
+/* For RegisterMTD */
+typedef struct mtd_reg_t {
+ u_int Attributes;
+ u_int Offset;
+ u_long MediaID;
+} mtd_reg_t;
+
+/*
+ * Definitions for MTD requests
+ */
+
+typedef struct mtd_request_t {
+ u_int SrcCardOffset;
+ u_int DestCardOffset;
+ u_int TransferLength;
+ u_int Function;
+ u_long MediaID;
+ u_int Status;
+ u_int Timeout;
+} mtd_request_t;
+
+/* Fields in MTD Function */
+#define MTD_REQ_ACTION 0x003
+#define MTD_REQ_ERASE 0x000
+#define MTD_REQ_READ 0x001
+#define MTD_REQ_WRITE 0x002
+#define MTD_REQ_COPY 0x003
+#define MTD_REQ_NOERASE 0x004
+#define MTD_REQ_VERIFY 0x008
+#define MTD_REQ_READY 0x010
+#define MTD_REQ_TIMEOUT 0x020
+#define MTD_REQ_LAST 0x040
+#define MTD_REQ_FIRST 0x080
+#define MTD_REQ_KERNEL 0x100
+
+/* Status codes */
+#define MTD_WAITREQ 0x00
+#define MTD_WAITTIMER 0x01
+#define MTD_WAITRDY 0x02
+#define MTD_WAITPOWER 0x03
+
+/*
+ * Definitions for MTD helper functions
+ */
+
+/* For MTDModifyWindow */
+typedef struct mtd_mod_win_t {
+ u_int Attributes;
+ u_int AccessSpeed;
+ u_int CardOffset;
+} mtd_mod_win_t;
+
+/* For MTDSetVpp */
+typedef struct mtd_vpp_req_t {
+ u_char Vpp1, Vpp2;
+} mtd_vpp_req_t;
+
+/* For MTDRDYMask */
+typedef struct mtd_rdy_req_t {
+ u_int Mask;
+} mtd_rdy_req_t;
+
+enum mtd_helper {
+ MTDRequestWindow, MTDModifyWindow, MTDReleaseWindow,
+ MTDSetVpp, MTDRDYMask
+};
+
+#ifdef IN_CARD_SERVICES
+extern int MTDHelperEntry(int func, void *a1, void *a2);
+#else
+extern int MTDHelperEntry(int func, ...);
+#endif
+
+#endif /* _LINUX_BULKMEM_H */
diff --git a/mdk-stage1/pcmcia/cirrus.h b/mdk-stage1/pcmcia/cirrus.h
new file mode 100644
index 000000000..78f73b26d
--- /dev/null
+++ b/mdk-stage1/pcmcia/cirrus.h
@@ -0,0 +1,157 @@
+/*
+ * cirrus.h 1.10 2001/08/24 12:15:33
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CIRRUS_H
+#define _LINUX_CIRRUS_H
+
+#ifndef PCI_VENDOR_ID_CIRRUS
+#define PCI_VENDOR_ID_CIRRUS 0x1013
+#endif
+#ifndef PCI_DEVICE_ID_CIRRUS_6729
+#define PCI_DEVICE_ID_CIRRUS_6729 0x1100
+#endif
+#ifndef PCI_DEVICE_ID_CIRRUS_6832
+#define PCI_DEVICE_ID_CIRRUS_6832 0x1110
+#endif
+
+#define PD67_MISC_CTL_1 0x16 /* Misc control 1 */
+#define PD67_FIFO_CTL 0x17 /* FIFO control */
+#define PD67_MISC_CTL_2 0x1E /* Misc control 2 */
+#define PD67_CHIP_INFO 0x1f /* Chip information */
+#define PD67_ATA_CTL 0x026 /* 6730: ATA control */
+#define PD67_EXT_INDEX 0x2e /* Extension index */
+#define PD67_EXT_DATA 0x2f /* Extension data */
+
+/* PD6722 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD67_DATA_MASK0 0x01 /* Data mask 0 */
+#define PD67_DATA_MASK1 0x02 /* Data mask 1 */
+#define PD67_DMA_CTL 0x03 /* DMA control */
+
+/* PD6730 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD67_EXT_CTL_1 0x03 /* Extension control 1 */
+#define PD67_MEM_PAGE(n) ((n)+5) /* PCI window bits 31:24 */
+#define PD67_EXTERN_DATA 0x0a
+#define PD67_MISC_CTL_3 0x25
+#define PD67_SMB_PWR_CTL 0x26
+
+/* I/O window address offset */
+#define PD67_IO_OFF(w) (0x36+((w)<<1))
+
+/* Timing register sets */
+#define PD67_TIME_SETUP(n) (0x3a + 3*(n))
+#define PD67_TIME_CMD(n) (0x3b + 3*(n))
+#define PD67_TIME_RECOV(n) (0x3c + 3*(n))
+
+/* Flags for PD67_MISC_CTL_1 */
+#define PD67_MC1_5V_DET 0x01 /* 5v detect */
+#define PD67_MC1_MEDIA_ENA 0x01 /* 6730: Multimedia enable */
+#define PD67_MC1_VCC_3V 0x02 /* 3.3v Vcc */
+#define PD67_MC1_PULSE_MGMT 0x04
+#define PD67_MC1_PULSE_IRQ 0x08
+#define PD67_MC1_SPKR_ENA 0x10
+#define PD67_MC1_INPACK_ENA 0x80
+
+/* Flags for PD67_FIFO_CTL */
+#define PD67_FIFO_EMPTY 0x80
+
+/* Flags for PD67_MISC_CTL_2 */
+#define PD67_MC2_FREQ_BYPASS 0x01
+#define PD67_MC2_DYNAMIC_MODE 0x02
+#define PD67_MC2_SUSPEND 0x04
+#define PD67_MC2_5V_CORE 0x08
+#define PD67_MC2_LED_ENA 0x10 /* IRQ 12 is LED enable */
+#define PD67_MC2_FAST_PCI 0x10 /* 6729: PCI bus > 25 MHz */
+#define PD67_MC2_3STATE_BIT7 0x20 /* Floppy change bit */
+#define PD67_MC2_DMA_MODE 0x40
+#define PD67_MC2_IRQ15_RI 0x80 /* IRQ 15 is ring enable */
+
+/* Flags for PD67_CHIP_INFO */
+#define PD67_INFO_SLOTS 0x20 /* 0 = 1 slot, 1 = 2 slots */
+#define PD67_INFO_CHIP_ID 0xc0
+#define PD67_INFO_REV 0x1c
+
+/* Fields in PD67_TIME_* registers */
+#define PD67_TIME_SCALE 0xc0
+#define PD67_TIME_SCALE_1 0x00
+#define PD67_TIME_SCALE_16 0x40
+#define PD67_TIME_SCALE_256 0x80
+#define PD67_TIME_SCALE_4096 0xc0
+#define PD67_TIME_MULT 0x3f
+
+/* Fields in PD67_DMA_CTL */
+#define PD67_DMA_MODE 0xc0
+#define PD67_DMA_OFF 0x00
+#define PD67_DMA_DREQ_INPACK 0x40
+#define PD67_DMA_DREQ_WP 0x80
+#define PD67_DMA_DREQ_BVD2 0xc0
+#define PD67_DMA_PULLUP 0x20 /* Disable socket pullups? */
+
+/* Fields in PD67_EXT_CTL_1 */
+#define PD67_EC1_VCC_PWR_LOCK 0x01
+#define PD67_EC1_AUTO_PWR_CLEAR 0x02
+#define PD67_EC1_LED_ENA 0x04
+#define PD67_EC1_INV_CARD_IRQ 0x08
+#define PD67_EC1_INV_MGMT_IRQ 0x10
+#define PD67_EC1_PULLUP_CTL 0x20
+
+/* Fields in PD67_MISC_CTL_3 */
+#define PD67_MC3_IRQ_MASK 0x03
+#define PD67_MC3_IRQ_PCPCI 0x00
+#define PD67_MC3_IRQ_EXTERN 0x01
+#define PD67_MC3_IRQ_PCIWAY 0x02
+#define PD67_MC3_IRQ_PCI 0x03
+#define PD67_MC3_PWR_MASK 0x0c
+#define PD67_MC3_PWR_SERIAL 0x00
+#define PD67_MC3_PWR_TI2202 0x08
+#define PD67_MC3_PWR_SMB 0x0c
+
+/* Register definitions for Cirrus PD6832 PCI-to-CardBus bridge */
+
+/* PD6832 extension registers -- indexed in PD67_EXT_INDEX */
+#define PD68_EXT_CTL_2 0x0b
+#define PD68_PCI_SPACE 0x22
+#define PD68_PCCARD_SPACE 0x23
+#define PD68_WINDOW_TYPE 0x24
+#define PD68_EXT_CSC 0x2e
+#define PD68_MISC_CTL_4 0x2f
+#define PD68_MISC_CTL_5 0x30
+#define PD68_MISC_CTL_6 0x31
+
+/* Extra flags in PD67_MISC_CTL_3 */
+#define PD68_MC3_HW_SUSP 0x10
+#define PD68_MC3_MM_EXPAND 0x40
+#define PD68_MC3_MM_ARM 0x80
+
+/* Bridge Control Register */
+#define PD6832_BCR_MGMT_IRQ_ENA 0x0800
+
+/* Socket Number Register */
+#define PD6832_SOCKET_NUMBER 0x004c /* 8 bit */
+
+#endif /* _LINUX_CIRRUS_H */
diff --git a/mdk-stage1/pcmcia/cistpl.h b/mdk-stage1/pcmcia/cistpl.h
new file mode 100644
index 000000000..1d4cac20e
--- /dev/null
+++ b/mdk-stage1/pcmcia/cistpl.h
@@ -0,0 +1,604 @@
+/*
+ * cistpl.h 1.35 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CISTPL_H
+#define _LINUX_CISTPL_H
+
+#define CISTPL_NULL 0x00
+#define CISTPL_DEVICE 0x01
+#define CISTPL_LONGLINK_CB 0x02
+#define CISTPL_INDIRECT 0x03
+#define CISTPL_CONFIG_CB 0x04
+#define CISTPL_CFTABLE_ENTRY_CB 0x05
+#define CISTPL_LONGLINK_MFC 0x06
+#define CISTPL_BAR 0x07
+#define CISTPL_PWR_MGMNT 0x08
+#define CISTPL_EXTDEVICE 0x09
+#define CISTPL_CHECKSUM 0x10
+#define CISTPL_LONGLINK_A 0x11
+#define CISTPL_LONGLINK_C 0x12
+#define CISTPL_LINKTARGET 0x13
+#define CISTPL_NO_LINK 0x14
+#define CISTPL_VERS_1 0x15
+#define CISTPL_ALTSTR 0x16
+#define CISTPL_DEVICE_A 0x17
+#define CISTPL_JEDEC_C 0x18
+#define CISTPL_JEDEC_A 0x19
+#define CISTPL_CONFIG 0x1a
+#define CISTPL_CFTABLE_ENTRY 0x1b
+#define CISTPL_DEVICE_OC 0x1c
+#define CISTPL_DEVICE_OA 0x1d
+#define CISTPL_DEVICE_GEO 0x1e
+#define CISTPL_DEVICE_GEO_A 0x1f
+#define CISTPL_MANFID 0x20
+#define CISTPL_FUNCID 0x21
+#define CISTPL_FUNCE 0x22
+#define CISTPL_SWIL 0x23
+#define CISTPL_END 0xff
+/* Layer 2 tuples */
+#define CISTPL_VERS_2 0x40
+#define CISTPL_FORMAT 0x41
+#define CISTPL_GEOMETRY 0x42
+#define CISTPL_BYTEORDER 0x43
+#define CISTPL_DATE 0x44
+#define CISTPL_BATTERY 0x45
+#define CISTPL_FORMAT_A 0x47
+/* Layer 3 tuples */
+#define CISTPL_ORG 0x46
+#define CISTPL_SPCL 0x90
+
+typedef struct cistpl_longlink_t {
+ u_int addr;
+} cistpl_longlink_t;
+
+typedef struct cistpl_checksum_t {
+ u_short addr;
+ u_short len;
+ u_char sum;
+} cistpl_checksum_t;
+
+#define CISTPL_MAX_FUNCTIONS 8
+#define CISTPL_MFC_ATTR 0x00
+#define CISTPL_MFC_COMMON 0x01
+
+typedef struct cistpl_longlink_mfc_t {
+ u_char nfn;
+ struct {
+ u_char space;
+ u_int addr;
+ } fn[CISTPL_MAX_FUNCTIONS];
+} cistpl_longlink_mfc_t;
+
+#define CISTPL_MAX_ALTSTR_STRINGS 4
+
+typedef struct cistpl_altstr_t {
+ u_char ns;
+ u_char ofs[CISTPL_MAX_ALTSTR_STRINGS];
+ char str[254];
+} cistpl_altstr_t;
+
+#define CISTPL_DTYPE_NULL 0x00
+#define CISTPL_DTYPE_ROM 0x01
+#define CISTPL_DTYPE_OTPROM 0x02
+#define CISTPL_DTYPE_EPROM 0x03
+#define CISTPL_DTYPE_EEPROM 0x04
+#define CISTPL_DTYPE_FLASH 0x05
+#define CISTPL_DTYPE_SRAM 0x06
+#define CISTPL_DTYPE_DRAM 0x07
+#define CISTPL_DTYPE_FUNCSPEC 0x0d
+#define CISTPL_DTYPE_EXTEND 0x0e
+
+#define CISTPL_MAX_DEVICES 4
+
+typedef struct cistpl_device_t {
+ u_char ndev;
+ struct {
+ u_char type;
+ u_char wp;
+ u_int speed;
+ u_int size;
+ } dev[CISTPL_MAX_DEVICES];
+} cistpl_device_t;
+
+#define CISTPL_DEVICE_MWAIT 0x01
+#define CISTPL_DEVICE_3VCC 0x02
+
+typedef struct cistpl_device_o_t {
+ u_char flags;
+ cistpl_device_t device;
+} cistpl_device_o_t;
+
+#define CISTPL_VERS_1_MAX_PROD_STRINGS 4
+
+typedef struct cistpl_vers_1_t {
+ u_char major;
+ u_char minor;
+ u_char ns;
+ u_char ofs[CISTPL_VERS_1_MAX_PROD_STRINGS];
+ char str[254];
+} cistpl_vers_1_t;
+
+typedef struct cistpl_jedec_t {
+ u_char nid;
+ struct {
+ u_char mfr;
+ u_char info;
+ } id[CISTPL_MAX_DEVICES];
+} cistpl_jedec_t;
+
+typedef struct cistpl_manfid_t {
+ u_short manf;
+ u_short card;
+} cistpl_manfid_t;
+
+#define CISTPL_FUNCID_MULTI 0x00
+#define CISTPL_FUNCID_MEMORY 0x01
+#define CISTPL_FUNCID_SERIAL 0x02
+#define CISTPL_FUNCID_PARALLEL 0x03
+#define CISTPL_FUNCID_FIXED 0x04
+#define CISTPL_FUNCID_VIDEO 0x05
+#define CISTPL_FUNCID_NETWORK 0x06
+#define CISTPL_FUNCID_AIMS 0x07
+#define CISTPL_FUNCID_SCSI 0x08
+
+#define CISTPL_SYSINIT_POST 0x01
+#define CISTPL_SYSINIT_ROM 0x02
+
+typedef struct cistpl_funcid_t {
+ u_char func;
+ u_char sysinit;
+} cistpl_funcid_t;
+
+typedef struct cistpl_funce_t {
+ u_char type;
+ u_char data[0];
+} cistpl_funce_t;
+
+/*======================================================================
+
+ Modem Function Extension Tuples
+
+======================================================================*/
+
+#define CISTPL_FUNCE_SERIAL_IF 0x00
+#define CISTPL_FUNCE_SERIAL_CAP 0x01
+#define CISTPL_FUNCE_SERIAL_SERV_DATA 0x02
+#define CISTPL_FUNCE_SERIAL_SERV_FAX 0x03
+#define CISTPL_FUNCE_SERIAL_SERV_VOICE 0x04
+#define CISTPL_FUNCE_SERIAL_CAP_DATA 0x05
+#define CISTPL_FUNCE_SERIAL_CAP_FAX 0x06
+#define CISTPL_FUNCE_SERIAL_CAP_VOICE 0x07
+#define CISTPL_FUNCE_SERIAL_IF_DATA 0x08
+#define CISTPL_FUNCE_SERIAL_IF_FAX 0x09
+#define CISTPL_FUNCE_SERIAL_IF_VOICE 0x0a
+
+/* UART identification */
+#define CISTPL_SERIAL_UART_8250 0x00
+#define CISTPL_SERIAL_UART_16450 0x01
+#define CISTPL_SERIAL_UART_16550 0x02
+#define CISTPL_SERIAL_UART_8251 0x03
+#define CISTPL_SERIAL_UART_8530 0x04
+#define CISTPL_SERIAL_UART_85230 0x05
+
+/* UART capabilities */
+#define CISTPL_SERIAL_UART_SPACE 0x01
+#define CISTPL_SERIAL_UART_MARK 0x02
+#define CISTPL_SERIAL_UART_ODD 0x04
+#define CISTPL_SERIAL_UART_EVEN 0x08
+#define CISTPL_SERIAL_UART_5BIT 0x01
+#define CISTPL_SERIAL_UART_6BIT 0x02
+#define CISTPL_SERIAL_UART_7BIT 0x04
+#define CISTPL_SERIAL_UART_8BIT 0x08
+#define CISTPL_SERIAL_UART_1STOP 0x10
+#define CISTPL_SERIAL_UART_MSTOP 0x20
+#define CISTPL_SERIAL_UART_2STOP 0x40
+
+typedef struct cistpl_serial_t {
+ u_char uart_type;
+ u_char uart_cap_0;
+ u_char uart_cap_1;
+} cistpl_serial_t;
+
+typedef struct cistpl_modem_cap_t {
+ u_char flow;
+ u_char cmd_buf;
+ u_char rcv_buf_0, rcv_buf_1, rcv_buf_2;
+ u_char xmit_buf_0, xmit_buf_1, xmit_buf_2;
+} cistpl_modem_cap_t;
+
+#define CISTPL_SERIAL_MOD_103 0x01
+#define CISTPL_SERIAL_MOD_V21 0x02
+#define CISTPL_SERIAL_MOD_V23 0x04
+#define CISTPL_SERIAL_MOD_V22 0x08
+#define CISTPL_SERIAL_MOD_212A 0x10
+#define CISTPL_SERIAL_MOD_V22BIS 0x20
+#define CISTPL_SERIAL_MOD_V26 0x40
+#define CISTPL_SERIAL_MOD_V26BIS 0x80
+#define CISTPL_SERIAL_MOD_V27BIS 0x01
+#define CISTPL_SERIAL_MOD_V29 0x02
+#define CISTPL_SERIAL_MOD_V32 0x04
+#define CISTPL_SERIAL_MOD_V32BIS 0x08
+#define CISTPL_SERIAL_MOD_V34 0x10
+
+#define CISTPL_SERIAL_ERR_MNP2_4 0x01
+#define CISTPL_SERIAL_ERR_V42_LAPM 0x02
+
+#define CISTPL_SERIAL_CMPR_V42BIS 0x01
+#define CISTPL_SERIAL_CMPR_MNP5 0x02
+
+#define CISTPL_SERIAL_CMD_AT1 0x01
+#define CISTPL_SERIAL_CMD_AT2 0x02
+#define CISTPL_SERIAL_CMD_AT3 0x04
+#define CISTPL_SERIAL_CMD_MNP_AT 0x08
+#define CISTPL_SERIAL_CMD_V25BIS 0x10
+#define CISTPL_SERIAL_CMD_V25A 0x20
+#define CISTPL_SERIAL_CMD_DMCL 0x40
+
+typedef struct cistpl_data_serv_t {
+ u_char max_data_0;
+ u_char max_data_1;
+ u_char modulation_0;
+ u_char modulation_1;
+ u_char error_control;
+ u_char compression;
+ u_char cmd_protocol;
+ u_char escape;
+ u_char encrypt;
+ u_char misc_features;
+ u_char ccitt_code[0];
+} cistpl_data_serv_t;
+
+typedef struct cistpl_fax_serv_t {
+ u_char max_data_0;
+ u_char max_data_1;
+ u_char modulation;
+ u_char encrypt;
+ u_char features_0;
+ u_char features_1;
+ u_char ccitt_code[0];
+} cistpl_fax_serv_t;
+
+typedef struct cistpl_voice_serv_t {
+ u_char max_data_0;
+ u_char max_data_1;
+} cistpl_voice_serv_t;
+
+/*======================================================================
+
+ LAN Function Extension Tuples
+
+======================================================================*/
+
+#define CISTPL_FUNCE_LAN_TECH 0x01
+#define CISTPL_FUNCE_LAN_SPEED 0x02
+#define CISTPL_FUNCE_LAN_MEDIA 0x03
+#define CISTPL_FUNCE_LAN_NODE_ID 0x04
+#define CISTPL_FUNCE_LAN_CONNECTOR 0x05
+
+/* LAN technologies */
+#define CISTPL_LAN_TECH_ARCNET 0x01
+#define CISTPL_LAN_TECH_ETHERNET 0x02
+#define CISTPL_LAN_TECH_TOKENRING 0x03
+#define CISTPL_LAN_TECH_LOCALTALK 0x04
+#define CISTPL_LAN_TECH_FDDI 0x05
+#define CISTPL_LAN_TECH_ATM 0x06
+#define CISTPL_LAN_TECH_WIRELESS 0x07
+
+typedef struct cistpl_lan_tech_t {
+ u_char tech;
+} cistpl_lan_tech_t;
+
+typedef struct cistpl_lan_speed_t {
+ u_int speed;
+} cistpl_lan_speed_t;
+
+/* LAN media definitions */
+#define CISTPL_LAN_MEDIA_UTP 0x01
+#define CISTPL_LAN_MEDIA_STP 0x02
+#define CISTPL_LAN_MEDIA_THIN_COAX 0x03
+#define CISTPL_LAN_MEDIA_THICK_COAX 0x04
+#define CISTPL_LAN_MEDIA_FIBER 0x05
+#define CISTPL_LAN_MEDIA_900MHZ 0x06
+#define CISTPL_LAN_MEDIA_2GHZ 0x07
+#define CISTPL_LAN_MEDIA_5GHZ 0x08
+#define CISTPL_LAN_MEDIA_DIFF_IR 0x09
+#define CISTPL_LAN_MEDIA_PTP_IR 0x0a
+
+typedef struct cistpl_lan_media_t {
+ u_char media;
+} cistpl_lan_media_t;
+
+typedef struct cistpl_lan_node_id_t {
+ u_char nb;
+ u_char id[16];
+} cistpl_lan_node_id_t;
+
+typedef struct cistpl_lan_connector_t {
+ u_char code;
+} cistpl_lan_connector_t;
+
+/*======================================================================
+
+ IDE Function Extension Tuples
+
+======================================================================*/
+
+#define CISTPL_IDE_INTERFACE 0x01
+
+typedef struct cistpl_ide_interface_t {
+ u_char interface;
+} cistpl_ide_interface_t;
+
+/* First feature byte */
+#define CISTPL_IDE_SILICON 0x04
+#define CISTPL_IDE_UNIQUE 0x08
+#define CISTPL_IDE_DUAL 0x10
+
+/* Second feature byte */
+#define CISTPL_IDE_HAS_SLEEP 0x01
+#define CISTPL_IDE_HAS_STANDBY 0x02
+#define CISTPL_IDE_HAS_IDLE 0x04
+#define CISTPL_IDE_LOW_POWER 0x08
+#define CISTPL_IDE_REG_INHIBIT 0x10
+#define CISTPL_IDE_HAS_INDEX 0x20
+#define CISTPL_IDE_IOIS16 0x40
+
+typedef struct cistpl_ide_feature_t {
+ u_char feature1;
+ u_char feature2;
+} cistpl_ide_feature_t;
+
+#define CISTPL_FUNCE_IDE_IFACE 0x01
+#define CISTPL_FUNCE_IDE_MASTER 0x02
+#define CISTPL_FUNCE_IDE_SLAVE 0x03
+
+/*======================================================================
+
+ Configuration Table Entries
+
+======================================================================*/
+
+#define CISTPL_BAR_SPACE 0x07
+#define CISTPL_BAR_SPACE_IO 0x10
+#define CISTPL_BAR_PREFETCH 0x20
+#define CISTPL_BAR_CACHEABLE 0x40
+#define CISTPL_BAR_1MEG_MAP 0x80
+
+typedef struct cistpl_bar_t {
+ u_char attr;
+ u_int size;
+} cistpl_bar_t;
+
+typedef struct cistpl_config_t {
+ u_char last_idx;
+ u_int base;
+ u_int rmask[4];
+ u_char subtuples;
+} cistpl_config_t;
+
+/* These are bits in the 'present' field, and indices in 'param' */
+#define CISTPL_POWER_VNOM 0
+#define CISTPL_POWER_VMIN 1
+#define CISTPL_POWER_VMAX 2
+#define CISTPL_POWER_ISTATIC 3
+#define CISTPL_POWER_IAVG 4
+#define CISTPL_POWER_IPEAK 5
+#define CISTPL_POWER_IDOWN 6
+
+#define CISTPL_POWER_HIGHZ_OK 0x01
+#define CISTPL_POWER_HIGHZ_REQ 0x02
+
+typedef struct cistpl_power_t {
+ u_char present;
+ u_char flags;
+ u_int param[7];
+} cistpl_power_t;
+
+typedef struct cistpl_timing_t {
+ u_int wait, waitscale;
+ u_int ready, rdyscale;
+ u_int reserved, rsvscale;
+} cistpl_timing_t;
+
+#define CISTPL_IO_LINES_MASK 0x1f
+#define CISTPL_IO_8BIT 0x20
+#define CISTPL_IO_16BIT 0x40
+#define CISTPL_IO_RANGE 0x80
+
+#define CISTPL_IO_MAX_WIN 16
+
+typedef struct cistpl_io_t {
+ u_char flags;
+ u_char nwin;
+ struct {
+ u_int base;
+ u_int len;
+ } win[CISTPL_IO_MAX_WIN];
+} cistpl_io_t;
+
+typedef struct cistpl_irq_t {
+ u_int IRQInfo1;
+ u_int IRQInfo2;
+} cistpl_irq_t;
+
+#define CISTPL_MEM_MAX_WIN 8
+
+typedef struct cistpl_mem_t {
+ u_char flags;
+ u_char nwin;
+ struct {
+ u_int len;
+ u_int card_addr;
+ u_int host_addr;
+ } win[CISTPL_MEM_MAX_WIN];
+} cistpl_mem_t;
+
+#define CISTPL_CFTABLE_DEFAULT 0x0001
+#define CISTPL_CFTABLE_BVDS 0x0002
+#define CISTPL_CFTABLE_WP 0x0004
+#define CISTPL_CFTABLE_RDYBSY 0x0008
+#define CISTPL_CFTABLE_MWAIT 0x0010
+#define CISTPL_CFTABLE_AUDIO 0x0800
+#define CISTPL_CFTABLE_READONLY 0x1000
+#define CISTPL_CFTABLE_PWRDOWN 0x2000
+
+typedef struct cistpl_cftable_entry_t {
+ u_char index;
+ u_short flags;
+ u_char interface;
+ cistpl_power_t vcc, vpp1, vpp2;
+ cistpl_timing_t timing;
+ cistpl_io_t io;
+ cistpl_irq_t irq;
+ cistpl_mem_t mem;
+ u_char subtuples;
+} cistpl_cftable_entry_t;
+
+#define CISTPL_CFTABLE_MASTER 0x000100
+#define CISTPL_CFTABLE_INVALIDATE 0x000200
+#define CISTPL_CFTABLE_VGA_PALETTE 0x000400
+#define CISTPL_CFTABLE_PARITY 0x000800
+#define CISTPL_CFTABLE_WAIT 0x001000
+#define CISTPL_CFTABLE_SERR 0x002000
+#define CISTPL_CFTABLE_FAST_BACK 0x004000
+#define CISTPL_CFTABLE_BINARY_AUDIO 0x010000
+#define CISTPL_CFTABLE_PWM_AUDIO 0x020000
+
+typedef struct cistpl_cftable_entry_cb_t {
+ u_char index;
+ u_int flags;
+ cistpl_power_t vcc, vpp1, vpp2;
+ u_char io;
+ cistpl_irq_t irq;
+ u_char mem;
+ u_char subtuples;
+} cistpl_cftable_entry_cb_t;
+
+typedef struct cistpl_device_geo_t {
+ u_char ngeo;
+ struct {
+ u_char buswidth;
+ u_int erase_block;
+ u_int read_block;
+ u_int write_block;
+ u_int partition;
+ u_int interleave;
+ } geo[CISTPL_MAX_DEVICES];
+} cistpl_device_geo_t;
+
+typedef struct cistpl_vers_2_t {
+ u_char vers;
+ u_char comply;
+ u_short dindex;
+ u_char vspec8, vspec9;
+ u_char nhdr;
+ u_char vendor, info;
+ char str[244];
+} cistpl_vers_2_t;
+
+typedef struct cistpl_org_t {
+ u_char data_org;
+ char desc[30];
+} cistpl_org_t;
+
+#define CISTPL_ORG_FS 0x00
+#define CISTPL_ORG_APPSPEC 0x01
+#define CISTPL_ORG_XIP 0x02
+
+typedef struct cistpl_format_t {
+ u_char type;
+ u_char edc;
+ u_int offset;
+ u_int length;
+} cistpl_format_t;
+
+#define CISTPL_FORMAT_DISK 0x00
+#define CISTPL_FORMAT_MEM 0x01
+
+#define CISTPL_EDC_NONE 0x00
+#define CISTPL_EDC_CKSUM 0x01
+#define CISTPL_EDC_CRC 0x02
+#define CISTPL_EDC_PCC 0x03
+
+typedef union cisparse_t {
+ cistpl_device_t device;
+ cistpl_checksum_t checksum;
+ cistpl_longlink_t longlink;
+ cistpl_longlink_mfc_t longlink_mfc;
+ cistpl_vers_1_t version_1;
+ cistpl_altstr_t altstr;
+ cistpl_jedec_t jedec;
+ cistpl_manfid_t manfid;
+ cistpl_funcid_t funcid;
+ cistpl_funce_t funce;
+ cistpl_bar_t bar;
+ cistpl_config_t config;
+ cistpl_cftable_entry_t cftable_entry;
+ cistpl_cftable_entry_cb_t cftable_entry_cb;
+ cistpl_device_geo_t device_geo;
+ cistpl_vers_2_t vers_2;
+ cistpl_org_t org;
+ cistpl_format_t format;
+} cisparse_t;
+
+typedef struct tuple_t {
+ u_int Attributes;
+ cisdata_t DesiredTuple;
+ u_int Flags; /* internal use */
+ u_int LinkOffset; /* internal use */
+ u_int CISOffset; /* internal use */
+ cisdata_t TupleCode;
+ cisdata_t TupleLink;
+ cisdata_t TupleOffset;
+ cisdata_t TupleDataMax;
+ cisdata_t TupleDataLen;
+ cisdata_t *TupleData;
+} tuple_t;
+
+/* Special cisdata_t value */
+#define RETURN_FIRST_TUPLE 0xff
+
+/* Attributes for tuple calls */
+#define TUPLE_RETURN_LINK 0x01
+#define TUPLE_RETURN_COMMON 0x02
+
+/* For ValidateCIS */
+typedef struct cisinfo_t {
+ u_int Chains;
+} cisinfo_t;
+
+#define CISTPL_MAX_CIS_SIZE 0x200
+
+/* For ReplaceCIS */
+typedef struct cisdump_t {
+ u_int Length;
+ cisdata_t Data[CISTPL_MAX_CIS_SIZE];
+} cisdump_t;
+
+#endif /* LINUX_CISTPL_H */
diff --git a/mdk-stage1/pcmcia/cs.h b/mdk-stage1/pcmcia/cs.h
new file mode 100644
index 000000000..9abeac216
--- /dev/null
+++ b/mdk-stage1/pcmcia/cs.h
@@ -0,0 +1,433 @@
+/*
+ * cs.h 1.73 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CS_H
+#define _LINUX_CS_H
+
+/* For AccessConfigurationRegister */
+typedef struct conf_reg_t {
+ u_char Function;
+ u_int Action;
+ off_t Offset;
+ u_int Value;
+} conf_reg_t;
+
+/* Actions */
+#define CS_READ 1
+#define CS_WRITE 2
+
+/* for AdjustResourceInfo */
+typedef struct adjust_t {
+ u_int Action;
+ u_int Resource;
+ u_int Attributes;
+ union {
+ struct memory {
+ unsigned long Base;
+ unsigned long Size;
+ } memory;
+ struct io {
+ ioaddr_t BasePort;
+ ioaddr_t NumPorts;
+ u_int IOAddrLines;
+ } io;
+ struct irq {
+ u_int IRQ;
+ } irq;
+ } resource;
+} adjust_t;
+
+/* Action field */
+#define REMOVE_MANAGED_RESOURCE 1
+#define ADD_MANAGED_RESOURCE 2
+#define GET_FIRST_MANAGED_RESOURCE 3
+#define GET_NEXT_MANAGED_RESOURCE 4
+/* Resource field */
+#define RES_MEMORY_RANGE 1
+#define RES_IO_RANGE 2
+#define RES_IRQ 3
+/* Attribute field */
+#define RES_IRQ_TYPE 0x03
+#define RES_IRQ_TYPE_EXCLUSIVE 0
+#define RES_IRQ_TYPE_TIME 1
+#define RES_IRQ_TYPE_DYNAMIC 2
+#define RES_IRQ_CSC 0x04
+#define RES_SHARED 0x08
+#define RES_RESERVED 0x10
+#define RES_ALLOCATED 0x20
+#define RES_REMOVED 0x40
+
+typedef struct servinfo_t {
+ char Signature[2];
+ u_int Count;
+ u_int Revision;
+ u_int CSLevel;
+ char *VendorString;
+} servinfo_t;
+
+typedef struct event_callback_args_t {
+ client_handle_t client_handle;
+ void *info;
+ void *mtdrequest;
+ void *buffer;
+ void *misc;
+ void *client_data;
+ struct bus_operations *bus;
+} event_callback_args_t;
+
+/* for GetConfigurationInfo */
+typedef struct config_info_t {
+ u_char Function;
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+ u_int IntType;
+ u_int ConfigBase;
+ u_char Status, Pin, Copy, Option, ExtStatus;
+ u_int Present;
+ u_int CardValues;
+ u_int AssignedIRQ;
+ u_int IRQAttributes;
+ ioaddr_t BasePort1;
+ ioaddr_t NumPorts1;
+ u_int Attributes1;
+ ioaddr_t BasePort2;
+ ioaddr_t NumPorts2;
+ u_int Attributes2;
+ u_int IOAddrLines;
+} config_info_t;
+
+/* For CardValues field */
+#define CV_OPTION_VALUE 0x01
+#define CV_STATUS_VALUE 0x02
+#define CV_PIN_REPLACEMENT 0x04
+#define CV_COPY_VALUE 0x08
+#define CV_EXT_STATUS 0x10
+
+/* For GetFirst/NextClient */
+typedef struct client_req_t {
+ socket_t Socket;
+ u_int Attributes;
+} client_req_t;
+
+#define CLIENT_THIS_SOCKET 0x01
+
+/* For RegisterClient */
+typedef struct client_reg_t {
+ dev_info_t *dev_info;
+ u_int Attributes;
+ u_int EventMask;
+ int (*event_handler)(event_t event, int priority,
+ event_callback_args_t *);
+ event_callback_args_t event_callback_args;
+ u_int Version;
+} client_reg_t;
+
+/* ModifyConfiguration */
+typedef struct modconf_t {
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+} modconf_t;
+
+/* Attributes for ModifyConfiguration */
+#define CONF_IRQ_CHANGE_VALID 0x100
+#define CONF_VCC_CHANGE_VALID 0x200
+#define CONF_VPP1_CHANGE_VALID 0x400
+#define CONF_VPP2_CHANGE_VALID 0x800
+
+/* For RequestConfiguration */
+typedef struct config_req_t {
+ u_int Attributes;
+ u_int Vcc, Vpp1, Vpp2;
+ u_int IntType;
+ u_int ConfigBase;
+ u_char Status, Pin, Copy, ExtStatus;
+ u_char ConfigIndex;
+ u_int Present;
+} config_req_t;
+
+/* Attributes for RequestConfiguration */
+#define CONF_ENABLE_IRQ 0x01
+#define CONF_ENABLE_DMA 0x02
+#define CONF_ENABLE_SPKR 0x04
+#define CONF_VALID_CLIENT 0x100
+
+/* IntType field */
+#define INT_MEMORY 0x01
+#define INT_MEMORY_AND_IO 0x02
+#define INT_CARDBUS 0x04
+#define INT_ZOOMED_VIDEO 0x08
+
+/* For RequestIO and ReleaseIO */
+typedef struct io_req_t {
+ ioaddr_t BasePort1;
+ ioaddr_t NumPorts1;
+ u_int Attributes1;
+ ioaddr_t BasePort2;
+ ioaddr_t NumPorts2;
+ u_int Attributes2;
+ u_int IOAddrLines;
+} io_req_t;
+
+/* Attributes for RequestIO and ReleaseIO */
+#define IO_SHARED 0x01
+#define IO_FIRST_SHARED 0x02
+#define IO_FORCE_ALIAS_ACCESS 0x04
+#define IO_DATA_PATH_WIDTH 0x18
+#define IO_DATA_PATH_WIDTH_8 0x00
+#define IO_DATA_PATH_WIDTH_16 0x08
+#define IO_DATA_PATH_WIDTH_AUTO 0x10
+
+/* For RequestIRQ and ReleaseIRQ */
+typedef struct irq_req_t {
+ u_int Attributes;
+ u_int AssignedIRQ;
+ u_int IRQInfo1, IRQInfo2;
+ void *Handler;
+ void *Instance;
+} irq_req_t;
+
+/* Attributes for RequestIRQ and ReleaseIRQ */
+#define IRQ_TYPE 0x03
+#define IRQ_TYPE_EXCLUSIVE 0x00
+#define IRQ_TYPE_TIME 0x01
+#define IRQ_TYPE_DYNAMIC_SHARING 0x02
+#define IRQ_FORCED_PULSE 0x04
+#define IRQ_FIRST_SHARED 0x08
+#define IRQ_HANDLE_PRESENT 0x10
+#define IRQ_PULSE_ALLOCATED 0x100
+
+/* Bits in IRQInfo1 field */
+#define IRQ_MASK 0x0f
+#define IRQ_NMI_ID 0x01
+#define IRQ_IOCK_ID 0x02
+#define IRQ_BERR_ID 0x04
+#define IRQ_VEND_ID 0x08
+#define IRQ_INFO2_VALID 0x10
+#define IRQ_LEVEL_ID 0x20
+#define IRQ_PULSE_ID 0x40
+#define IRQ_SHARE_ID 0x80
+
+typedef struct eventmask_t {
+ u_int Attributes;
+ u_int EventMask;
+} eventmask_t;
+
+#define CONF_EVENT_MASK_VALID 0x01
+
+/* Configuration registers present */
+#define PRESENT_OPTION 0x001
+#define PRESENT_STATUS 0x002
+#define PRESENT_PIN_REPLACE 0x004
+#define PRESENT_COPY 0x008
+#define PRESENT_EXT_STATUS 0x010
+#define PRESENT_IOBASE_0 0x020
+#define PRESENT_IOBASE_1 0x040
+#define PRESENT_IOBASE_2 0x080
+#define PRESENT_IOBASE_3 0x100
+#define PRESENT_IOSIZE 0x200
+
+/* For GetMemPage, MapMemPage */
+typedef struct memreq_t {
+ u_int CardOffset;
+ page_t Page;
+} memreq_t;
+
+/* For ModifyWindow */
+typedef struct modwin_t {
+ u_int Attributes;
+ u_int AccessSpeed;
+} modwin_t;
+
+/* For RequestWindow */
+typedef struct win_req_t {
+ u_int Attributes;
+ unsigned long Base;
+ u_int Size;
+ u_int AccessSpeed;
+} win_req_t;
+
+/* Attributes for RequestWindow */
+#define WIN_ADDR_SPACE 0x0001
+#define WIN_ADDR_SPACE_MEM 0x0000
+#define WIN_ADDR_SPACE_IO 0x0001
+#define WIN_MEMORY_TYPE 0x0002
+#define WIN_MEMORY_TYPE_CM 0x0000
+#define WIN_MEMORY_TYPE_AM 0x0002
+#define WIN_ENABLE 0x0004
+#define WIN_DATA_WIDTH 0x0018
+#define WIN_DATA_WIDTH_8 0x0000
+#define WIN_DATA_WIDTH_16 0x0008
+#define WIN_DATA_WIDTH_32 0x0010
+#define WIN_PAGED 0x0020
+#define WIN_SHARED 0x0040
+#define WIN_FIRST_SHARED 0x0080
+#define WIN_USE_WAIT 0x0100
+#define WIN_STRICT_ALIGN 0x0200
+#define WIN_MAP_BELOW_1MB 0x0400
+#define WIN_PREFETCH 0x0800
+#define WIN_CACHEABLE 0x1000
+#define WIN_BAR_MASK 0xe000
+#define WIN_BAR_SHIFT 13
+
+/* Attributes for RegisterClient */
+#define INFO_MASTER_CLIENT 0x01
+#define INFO_IO_CLIENT 0x02
+#define INFO_MTD_CLIENT 0x04
+#define INFO_MEM_CLIENT 0x08
+#define MAX_NUM_CLIENTS 3
+
+#define INFO_CARD_SHARE 0x10
+#define INFO_CARD_EXCL 0x20
+
+typedef struct cs_status_t {
+ u_char Function;
+ event_t CardState;
+ event_t SocketState;
+} cs_status_t;
+
+typedef struct error_info_t {
+ int func;
+ int retcode;
+} error_info_t;
+
+/* Special stuff for binding drivers to sockets */
+typedef struct bind_req_t {
+ socket_t Socket;
+ u_char Function;
+ dev_info_t *dev_info;
+} bind_req_t;
+
+/* Flag to bind to all functions */
+#define BIND_FN_ALL 0xff
+
+typedef struct mtd_bind_t {
+ socket_t Socket;
+ u_int Attributes;
+ u_int CardOffset;
+ dev_info_t *dev_info;
+} mtd_bind_t;
+
+/* Events */
+#define CS_EVENT_PRI_LOW 0
+#define CS_EVENT_PRI_HIGH 1
+
+#define CS_EVENT_WRITE_PROTECT 0x000001
+#define CS_EVENT_CARD_LOCK 0x000002
+#define CS_EVENT_CARD_INSERTION 0x000004
+#define CS_EVENT_CARD_REMOVAL 0x000008
+#define CS_EVENT_BATTERY_DEAD 0x000010
+#define CS_EVENT_BATTERY_LOW 0x000020
+#define CS_EVENT_READY_CHANGE 0x000040
+#define CS_EVENT_CARD_DETECT 0x000080
+#define CS_EVENT_RESET_REQUEST 0x000100
+#define CS_EVENT_RESET_PHYSICAL 0x000200
+#define CS_EVENT_CARD_RESET 0x000400
+#define CS_EVENT_REGISTRATION_COMPLETE 0x000800
+#define CS_EVENT_RESET_COMPLETE 0x001000
+#define CS_EVENT_PM_SUSPEND 0x002000
+#define CS_EVENT_PM_RESUME 0x004000
+#define CS_EVENT_INSERTION_REQUEST 0x008000
+#define CS_EVENT_EJECTION_REQUEST 0x010000
+#define CS_EVENT_MTD_REQUEST 0x020000
+#define CS_EVENT_ERASE_COMPLETE 0x040000
+#define CS_EVENT_REQUEST_ATTENTION 0x080000
+#define CS_EVENT_CB_DETECT 0x100000
+#define CS_EVENT_3VCARD 0x200000
+#define CS_EVENT_XVCARD 0x400000
+
+/* Return codes */
+#define CS_SUCCESS 0x00
+#define CS_BAD_ADAPTER 0x01
+#define CS_BAD_ATTRIBUTE 0x02
+#define CS_BAD_BASE 0x03
+#define CS_BAD_EDC 0x04
+#define CS_BAD_IRQ 0x06
+#define CS_BAD_OFFSET 0x07
+#define CS_BAD_PAGE 0x08
+#define CS_READ_FAILURE 0x09
+#define CS_BAD_SIZE 0x0a
+#define CS_BAD_SOCKET 0x0b
+#define CS_BAD_TYPE 0x0d
+#define CS_BAD_VCC 0x0e
+#define CS_BAD_VPP 0x0f
+#define CS_BAD_WINDOW 0x11
+#define CS_WRITE_FAILURE 0x12
+#define CS_NO_CARD 0x14
+#define CS_UNSUPPORTED_FUNCTION 0x15
+#define CS_UNSUPPORTED_MODE 0x16
+#define CS_BAD_SPEED 0x17
+#define CS_BUSY 0x18
+#define CS_GENERAL_FAILURE 0x19
+#define CS_WRITE_PROTECTED 0x1a
+#define CS_BAD_ARG_LENGTH 0x1b
+#define CS_BAD_ARGS 0x1c
+#define CS_CONFIGURATION_LOCKED 0x1d
+#define CS_IN_USE 0x1e
+#define CS_NO_MORE_ITEMS 0x1f
+#define CS_OUT_OF_RESOURCE 0x20
+#define CS_BAD_HANDLE 0x21
+
+#define CS_BAD_TUPLE 0x40
+
+#ifdef __KERNEL__
+
+/*
+ * The main Card Services entry point
+ */
+
+enum service {
+ AccessConfigurationRegister, AddSocketServices,
+ AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,
+ DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,
+ GetClientInfo, GetConfigurationInfo, GetEventMask,
+ GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,
+ GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,
+ GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,
+ MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,
+ OpenMemory, ParseTuple, ReadMemory, RegisterClient,
+ RegisterEraseQueue, RegisterMTD, RegisterTimer,
+ ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,
+ ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,
+ RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,
+ RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,
+ SetEventMask, SetRegion, ValidateCIS, VendorSpecific,
+ WriteMemory, BindDevice, BindMTD, ReportError,
+ SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,
+ GetFirstWindow, GetNextWindow, GetMemPage
+};
+
+#ifdef IN_CARD_SERVICES
+extern int CardServices(int func, void *a1, void *a2, void *a3);
+#else
+extern int CardServices(int func, ...);
+#endif
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_CS_H */
diff --git a/mdk-stage1/pcmcia/cs_types.h b/mdk-stage1/pcmcia/cs_types.h
new file mode 100644
index 000000000..4598d7f48
--- /dev/null
+++ b/mdk-stage1/pcmcia/cs_types.h
@@ -0,0 +1,70 @@
+/*
+ * cs_types.h 1.19 2001/08/24 12:16:12
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_CS_TYPES_H
+#define _LINUX_CS_TYPES_H
+
+#ifdef __linux__
+#ifdef __KERNEL__
+#include <linux/types.h>
+#else
+#include <sys/types.h>
+#endif
+#endif
+
+#ifdef __arm__
+typedef u_int ioaddr_t;
+#else
+typedef u_short ioaddr_t;
+#endif
+
+typedef u_short socket_t;
+typedef u_int event_t;
+typedef u_char cisdata_t;
+typedef u_short page_t;
+
+struct client_t;
+typedef struct client_t *client_handle_t;
+
+struct window_t;
+typedef struct window_t *window_handle_t;
+
+struct region_t;
+typedef struct region_t *memory_handle_t;
+
+struct eraseq_t;
+typedef struct eraseq_t *eraseq_handle_t;
+
+#ifndef DEV_NAME_LEN
+#define DEV_NAME_LEN 32
+#endif
+
+typedef char dev_info_t[DEV_NAME_LEN];
+
+#endif /* _LINUX_CS_TYPES_H */
diff --git a/mdk-stage1/pcmcia/driver_ops.h b/mdk-stage1/pcmcia/driver_ops.h
new file mode 100644
index 000000000..2f0a066d3
--- /dev/null
+++ b/mdk-stage1/pcmcia/driver_ops.h
@@ -0,0 +1,73 @@
+/*
+ * driver_ops.h 1.16 2001/08/24 12:16:13
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_DRIVER_OPS_H
+#define _LINUX_DRIVER_OPS_H
+
+#ifndef DEV_NAME_LEN
+#define DEV_NAME_LEN 32
+#endif
+
+#ifdef __KERNEL__
+
+typedef struct dev_node_t {
+ char dev_name[DEV_NAME_LEN];
+ u_short major, minor;
+ struct dev_node_t *next;
+} dev_node_t;
+
+typedef struct dev_locator_t {
+ enum { LOC_ISA, LOC_PCI } bus;
+ union {
+ struct {
+ u_short io_base_1, io_base_2;
+ u_long mem_base;
+ u_char irq, dma;
+ } isa;
+ struct {
+ u_char bus;
+ u_char devfn;
+ } pci;
+ } b;
+} dev_locator_t;
+
+typedef struct driver_operations {
+ char *name;
+ dev_node_t *(*attach) (dev_locator_t *loc);
+ void (*suspend) (dev_node_t *dev);
+ void (*resume) (dev_node_t *dev);
+ void (*detach) (dev_node_t *dev);
+} driver_operations;
+
+int register_driver(struct driver_operations *ops);
+void unregister_driver(struct driver_operations *ops);
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_DRIVER_OPS_H */
diff --git a/mdk-stage1/pcmcia/ds.h b/mdk-stage1/pcmcia/ds.h
new file mode 100644
index 000000000..29db7b415
--- /dev/null
+++ b/mdk-stage1/pcmcia/ds.h
@@ -0,0 +1,148 @@
+/*
+ * ds.h 1.57 2001/08/24 12:16:13
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_DS_H
+#define _LINUX_DS_H
+
+#include <pcmcia_/driver_ops.h>
+#include <pcmcia_/bulkmem.h>
+
+typedef struct tuple_parse_t {
+ tuple_t tuple;
+ cisdata_t data[255];
+ cisparse_t parse;
+} tuple_parse_t;
+
+typedef struct win_info_t {
+ window_handle_t handle;
+ win_req_t window;
+ memreq_t map;
+} win_info_t;
+
+typedef struct bind_info_t {
+ dev_info_t dev_info;
+ u_char function;
+ struct dev_link_t *instance;
+ char name[DEV_NAME_LEN];
+ u_short major, minor;
+ void *next;
+} bind_info_t;
+
+typedef struct mtd_info_t {
+ dev_info_t dev_info;
+ u_int Attributes;
+ u_int CardOffset;
+} mtd_info_t;
+
+typedef union ds_ioctl_arg_t {
+ servinfo_t servinfo;
+ adjust_t adjust;
+ config_info_t config;
+ tuple_t tuple;
+ tuple_parse_t tuple_parse;
+ client_req_t client_req;
+ cs_status_t status;
+ conf_reg_t conf_reg;
+ cisinfo_t cisinfo;
+ region_info_t region;
+ bind_info_t bind_info;
+ mtd_info_t mtd_info;
+ win_info_t win_info;
+ cisdump_t cisdump;
+} ds_ioctl_arg_t;
+
+#define DS_GET_CARD_SERVICES_INFO _IOR ('d', 1, servinfo_t)
+#define DS_ADJUST_RESOURCE_INFO _IOWR('d', 2, adjust_t)
+#define DS_GET_CONFIGURATION_INFO _IOWR('d', 3, config_info_t)
+#define DS_GET_FIRST_TUPLE _IOWR('d', 4, tuple_t)
+#define DS_GET_NEXT_TUPLE _IOWR('d', 5, tuple_t)
+#define DS_GET_TUPLE_DATA _IOWR('d', 6, tuple_parse_t)
+#define DS_PARSE_TUPLE _IOWR('d', 7, tuple_parse_t)
+#define DS_RESET_CARD _IO ('d', 8)
+#define DS_GET_STATUS _IOWR('d', 9, cs_status_t)
+#define DS_ACCESS_CONFIGURATION_REGISTER _IOWR('d', 10, conf_reg_t)
+#define DS_VALIDATE_CIS _IOR ('d', 11, cisinfo_t)
+#define DS_SUSPEND_CARD _IO ('d', 12)
+#define DS_RESUME_CARD _IO ('d', 13)
+#define DS_EJECT_CARD _IO ('d', 14)
+#define DS_INSERT_CARD _IO ('d', 15)
+#define DS_GET_FIRST_REGION _IOWR('d', 16, region_info_t)
+#define DS_GET_NEXT_REGION _IOWR('d', 17, region_info_t)
+#define DS_REPLACE_CIS _IOWR('d', 18, cisdump_t)
+#define DS_GET_FIRST_WINDOW _IOR ('d', 19, win_info_t)
+#define DS_GET_NEXT_WINDOW _IOWR('d', 20, win_info_t)
+#define DS_GET_MEM_PAGE _IOWR('d', 21, win_info_t)
+
+#define DS_BIND_REQUEST _IOWR('d', 60, bind_info_t)
+#define DS_GET_DEVICE_INFO _IOWR('d', 61, bind_info_t)
+#define DS_GET_NEXT_DEVICE _IOWR('d', 62, bind_info_t)
+#define DS_UNBIND_REQUEST _IOW ('d', 63, bind_info_t)
+#define DS_BIND_MTD _IOWR('d', 64, mtd_info_t)
+
+#ifdef __KERNEL__
+
+typedef struct dev_link_t {
+ dev_node_t *dev;
+ u_int state, open;
+ wait_queue_head_t pending;
+ struct timer_list release;
+ client_handle_t handle;
+ io_req_t io;
+ irq_req_t irq;
+ config_req_t conf;
+ window_handle_t win;
+ void *priv;
+ struct dev_link_t *next;
+} dev_link_t;
+
+/* Flags for device state */
+#define DEV_PRESENT 0x01
+#define DEV_CONFIG 0x02
+#define DEV_STALE_CONFIG 0x04 /* release on close */
+#define DEV_STALE_LINK 0x08 /* detach on release */
+#define DEV_CONFIG_PENDING 0x10
+#define DEV_RELEASE_PENDING 0x20
+#define DEV_SUSPEND 0x40
+#define DEV_BUSY 0x80
+
+#define DEV_OK(l) \
+ ((l) && ((l->state & ~DEV_BUSY) == (DEV_CONFIG|DEV_PRESENT)))
+
+int register_pccard_driver(dev_info_t *dev_info,
+ dev_link_t *(*attach)(void),
+ void (*detach)(dev_link_t *));
+
+int unregister_pccard_driver(dev_info_t *dev_info);
+
+#define register_pcmcia_driver register_pccard_driver
+#define unregister_pcmcia_driver unregister_pccard_driver
+
+#endif /* __KERNEL__ */
+
+#endif /* _LINUX_DS_H */
diff --git a/mdk-stage1/pcmcia/i82365.h b/mdk-stage1/pcmcia/i82365.h
new file mode 100644
index 000000000..38ff167fb
--- /dev/null
+++ b/mdk-stage1/pcmcia/i82365.h
@@ -0,0 +1,135 @@
+/*
+ * i82365.h 1.21 2001/08/24 12:15:33
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_I82365_H
+#define _LINUX_I82365_H
+
+/* register definitions for the Intel 82365SL PCMCIA controller */
+
+/* Offsets for PCIC registers */
+#define I365_IDENT 0x00 /* Identification and revision */
+#define I365_STATUS 0x01 /* Interface status */
+#define I365_POWER 0x02 /* Power and RESETDRV control */
+#define I365_INTCTL 0x03 /* Interrupt and general control */
+#define I365_CSC 0x04 /* Card status change */
+#define I365_CSCINT 0x05 /* Card status change interrupt control */
+#define I365_ADDRWIN 0x06 /* Address window enable */
+#define I365_IOCTL 0x07 /* I/O control */
+#define I365_GENCTL 0x16 /* Card detect and general control */
+#define I365_GBLCTL 0x1E /* Global control register */
+
+/* Offsets for I/O and memory window registers */
+#define I365_IO(map) (0x08+((map)<<2))
+#define I365_MEM(map) (0x10+((map)<<3))
+#define I365_W_START 0
+#define I365_W_STOP 2
+#define I365_W_OFF 4
+
+/* Flags for I365_STATUS */
+#define I365_CS_BVD1 0x01
+#define I365_CS_STSCHG 0x01
+#define I365_CS_BVD2 0x02
+#define I365_CS_SPKR 0x02
+#define I365_CS_DETECT 0x0C
+#define I365_CS_WRPROT 0x10
+#define I365_CS_READY 0x20 /* Inverted */
+#define I365_CS_POWERON 0x40
+#define I365_CS_GPI 0x80
+
+/* Flags for I365_POWER */
+#define I365_PWR_OFF 0x00 /* Turn off the socket */
+#define I365_PWR_OUT 0x80 /* Output enable */
+#define I365_PWR_NORESET 0x40 /* Disable RESETDRV on resume */
+#define I365_PWR_AUTO 0x20 /* Auto pwr switch enable */
+#define I365_VCC_MASK 0x18 /* Mask for turning off Vcc */
+/* There are different layouts for B-step and DF-step chips: the B
+ step has independent Vpp1/Vpp2 control, and the DF step has only
+ Vpp1 control, plus 3V control */
+#define I365_VCC_5V 0x10 /* Vcc = 5.0v */
+#define I365_VCC_3V 0x18 /* Vcc = 3.3v */
+#define I365_VPP2_MASK 0x0c /* Mask for turning off Vpp2 */
+#define I365_VPP2_5V 0x04 /* Vpp2 = 5.0v */
+#define I365_VPP2_12V 0x08 /* Vpp2 = 12.0v */
+#define I365_VPP1_MASK 0x03 /* Mask for turning off Vpp1 */
+#define I365_VPP1_5V 0x01 /* Vpp2 = 5.0v */
+#define I365_VPP1_12V 0x02 /* Vpp2 = 12.0v */
+
+/* Flags for I365_INTCTL */
+#define I365_RING_ENA 0x80
+#define I365_PC_RESET 0x40
+#define I365_PC_IOCARD 0x20
+#define I365_INTR_ENA 0x10
+#define I365_IRQ_MASK 0x0F
+
+/* Flags for I365_CSC and I365_CSCINT*/
+#define I365_CSC_BVD1 0x01
+#define I365_CSC_STSCHG 0x01
+#define I365_CSC_BVD2 0x02
+#define I365_CSC_READY 0x04
+#define I365_CSC_DETECT 0x08
+#define I365_CSC_ANY 0x0F
+#define I365_CSC_GPI 0x10
+
+/* Flags for I365_ADDRWIN */
+#define I365_ENA_IO(map) (0x40 << (map))
+#define I365_ENA_MEM(map) (0x01 << (map))
+
+/* Flags for I365_IOCTL */
+#define I365_IOCTL_MASK(map) (0x0F << (map<<2))
+#define I365_IOCTL_WAIT(map) (0x08 << (map<<2))
+#define I365_IOCTL_0WS(map) (0x04 << (map<<2))
+#define I365_IOCTL_IOCS16(map) (0x02 << (map<<2))
+#define I365_IOCTL_16BIT(map) (0x01 << (map<<2))
+
+/* Flags for I365_GENCTL */
+#define I365_CTL_16DELAY 0x01
+#define I365_CTL_RESET 0x02
+#define I365_CTL_GPI_ENA 0x04
+#define I365_CTL_GPI_CTL 0x08
+#define I365_CTL_RESUME 0x10
+#define I365_CTL_SW_IRQ 0x20
+
+/* Flags for I365_GBLCTL */
+#define I365_GBL_PWRDOWN 0x01
+#define I365_GBL_CSC_LEV 0x02
+#define I365_GBL_WRBACK 0x04
+#define I365_GBL_IRQ_0_LEV 0x08
+#define I365_GBL_IRQ_1_LEV 0x10
+
+/* Flags for memory window registers */
+#define I365_MEM_16BIT 0x8000 /* In memory start high byte */
+#define I365_MEM_0WS 0x4000
+#define I365_MEM_WS1 0x8000 /* In memory stop high byte */
+#define I365_MEM_WS0 0x4000
+#define I365_MEM_WRPROT 0x8000 /* In offset high byte */
+#define I365_MEM_REG 0x4000
+
+#define I365_REG(slot, reg) (((slot) << 6) + reg)
+
+#endif /* _LINUX_I82365_H */
diff --git a/mdk-stage1/pcmcia/lex_config.l b/mdk-stage1/pcmcia/lex_config.l
new file mode 100644
index 000000000..050d7479d
--- /dev/null
+++ b/mdk-stage1/pcmcia/lex_config.l
@@ -0,0 +1,223 @@
+/* Special state for handling include files */
+%x src
+
+%{
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#undef src
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <syslog.h>
+
+#ifdef HAS_WORDEXP
+#include <wordexp.h>
+#else
+#include <glob.h>
+#endif
+
+#define src 1
+
+#include "yacc_config.h"
+
+#define YY_NO_UNPUT 1 /* mdk-stage1 */
+extern int yyparse(void); /* mdk-stage1 */
+
+/* For assembling nice error messages */
+char *current_file;
+int current_lineno;
+
+static int lex_number(char *s);
+static int lex_string(char *s);
+static void do_source(char *fn);
+static int do_eof(void);
+
+%}
+
+int [0-9]+
+hex 0x[0-9a-fA-F]+
+str \"([^"]|\\.)*\"
+
+%%
+
+source[ \t]+ BEGIN(src); return SOURCE;
+<src>[^\n]+ do_source(yytext); BEGIN(INITIAL);
+<<EOF>> if (do_eof()) yyterminate();
+
+\n current_lineno++;
+[ \t]* /* skip */ ;
+[ ]*[#;].* /* skip */ ;
+
+exclude return EXCLUDE;
+include return INCLUDE;
+irq return IRQ_NO;
+port return PORT;
+memory return MEMORY;
+module /* skip */ ;
+
+{int} return lex_number(yytext);
+
+{hex} return lex_number(yytext);
+
+{str} return lex_string(yytext);
+
+. return yytext[0];
+
+%%
+
+#ifndef yywrap
+int yywrap() { return 1; }
+#endif
+
+/*======================================================================
+
+ Stuff to parse basic data types
+
+======================================================================*/
+
+static int lex_number(char *s)
+{
+ yylval.num = strtoul(s, NULL, 0);
+ return NUMBER;
+}
+
+static int lex_string(char *s)
+{
+ int n = strlen(s);
+ yylval.str = malloc(n-1);
+ strncpy(yylval.str, s+1, n-2);
+ yylval.str[n-2] = '\0';
+ return STRING;
+}
+
+/*======================================================================
+
+ Code to support nesting of configuration files
+
+======================================================================*/
+
+#define MAX_SOURCE_DEPTH 4
+struct source_stack {
+ YY_BUFFER_STATE buffer;
+ char *filename;
+ int lineno, fileno;
+ FILE *file;
+#ifdef HAS_WORDEXP
+ wordexp_t word;
+#else
+ glob_t glob;
+#endif
+} source_stack[MAX_SOURCE_DEPTH];
+static int source_stack_ptr = 0;
+static int parse_env = 0;
+
+static int get_glob(void)
+{
+ struct source_stack *s = &source_stack[source_stack_ptr];
+#ifdef HAS_WORDEXP
+ while (s->fileno < s->word.we_wordc) {
+ char *fn = s->word.we_wordv[s->fileno];
+#else
+ while (s->fileno < s->glob.gl_pathc) {
+ char *fn = s->glob.gl_pathv[s->fileno];
+#endif
+ s->file = fopen(fn, "r");
+ if (s->file == NULL) {
+ if (strpbrk(fn, "?*[") == NULL)
+ syslog(LOG_ERR, "could not open '%s': %m", fn);
+ s->fileno++;
+ } else {
+ current_lineno = 1;
+ current_file = strdup(fn);
+ yy_switch_to_buffer(yy_create_buffer(s->file, YY_BUF_SIZE));
+ source_stack_ptr++;
+ s->fileno++;
+ return 0;
+ }
+ }
+ return -1;
+}
+
+static void do_source(char *fn)
+{
+ struct source_stack *s = &source_stack[source_stack_ptr];
+
+ if (source_stack_ptr >= MAX_SOURCE_DEPTH) {
+ syslog(LOG_ERR, "source depth limit exceeded");
+ return;
+ }
+#ifdef HAS_WORDEXP
+ wordexp(fn, &s->word, 0);
+#else
+ glob(fn, GLOB_NOCHECK, NULL, &s->glob);
+#endif
+ s->fileno = 0;
+ s->buffer = YY_CURRENT_BUFFER;
+ s->lineno = current_lineno;
+ s->filename = current_file;
+ get_glob();
+}
+
+static int do_eof(void)
+{
+ struct source_stack *s = &source_stack[--source_stack_ptr];
+ if (source_stack_ptr < 0) {
+ if (parse_env == 0) {
+ char *t = getenv("PCMCIA_OPTS");
+ if (t == NULL) return -1;
+ parse_env = 1;
+ source_stack_ptr = 0;
+ current_file = "PCMCIA_OPTS";
+ current_lineno = 1;
+ yy_scan_string(t);
+ return 0;
+ } else
+ return -1;
+ }
+ fclose(s->file);
+ free(current_file);
+ yy_delete_buffer(YY_CURRENT_BUFFER);
+ if (get_glob() != 0) {
+ yy_switch_to_buffer(s->buffer);
+ current_lineno = s->lineno;
+ current_file = s->filename;
+ }
+ return 0;
+}
+
+/*======================================================================
+
+ The main entry point... returns -1 if the file can't be accessed.
+
+======================================================================*/
+
+int parse_configfile(char *fn)
+{
+ FILE *f;
+
+ f = fopen(fn, "r");
+ if (!f) {
+ syslog(LOG_ERR, "could not open '%s': %m", fn);
+ return -1;
+ }
+ current_lineno = 1;
+ current_file = fn;
+ source_stack_ptr = 0;
+ yyrestart(f);
+ yyparse();
+ fclose(f);
+ return 0;
+}
+
diff --git a/mdk-stage1/pcmcia/merge_from_pcitable b/mdk-stage1/pcmcia/merge_from_pcitable
new file mode 100755
index 000000000..3b88a1cd8
--- /dev/null
+++ b/mdk-stage1/pcmcia/merge_from_pcitable
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+
+# This program will show on stdout yenta_socket stuff from pcitable
+# which is not in probe.c
+
+use MDK::Common;
+
+my %probes;
+foreach (cat_('probe.c')) {
+ if (/^pci_id_t pci_id\[\] = {/ ... /^};/) {
+ /^\s*{\s*0x([\da-f]+),\s*0x([\da-f]+),\s*"([^"]*)",\s*"([^"]*)"\s*}/
+ and $probes{"$1$2"} = { vendor => $1, device => $2, driver => $3, name => $4 };
+ }
+}
+
+require '/usr/bin/merge2pcitable.pl';
+my $drivers = read_pcitable("/usr/share/ldetect-lst/pcitable");
+
+my %pcitable = map_each {
+ $::a =~ /^(....)(....)/ or die;
+ "$1$2" => { vendor => $1, device => $2, driver => $::b->[0], name => $::b->[1] };
+} %$drivers;
+
+my @yenta_socket_ids = grep { $pcitable{$_}{driver} eq 'yenta_socket' } keys %pcitable;
+
+if (my @missing_in_probe_c = difference2(\@yenta_socket_ids, [ keys %probes ])) {
+ print "Missing in `probe.c':\n",
+ map {
+ my $p = $pcitable{$_};
+ qq( { 0x$p->{vendor}, 0x$p->{device}, "yenta_socket", "$p->{name}" },\n);
+ } sort @missing_in_probe_c;
+}
+
+my @res;
+foreach my $id (keys %probes) {
+ my $p = $probes{$id};
+ my $r = $pcitable{$id};
+ if (!$r || $r->{driver} ne 'yenta_socket') {
+ push @res, qq(0x$p->{vendor}\t0x$p->{device}\t"yenta_socket"\t") . ($r ? $r->{name} : '(COMPLETELY MISSING)') . qq("\n);
+ }
+ if ($r && $r->{driver} ne 'unknown' && $r->{driver} ne $p->{driver}) {
+ warn "WARNING: $id: pcitable:$r->{driver} vs probe.c:$p->{driver}\n";
+ }
+}
+if (@res) {
+ print "\n", "Missing in pcitable:\n", sort @res;
+}
diff --git a/mdk-stage1/pcmcia/pcmcia.h b/mdk-stage1/pcmcia/pcmcia.h
new file mode 100644
index 000000000..ea0bccc2a
--- /dev/null
+++ b/mdk-stage1/pcmcia/pcmcia.h
@@ -0,0 +1,21 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _PCMCIA_CARDMGR_INTERFACE_H_
+#define _PCMCIA_CARDMGR_INTERFACE_H_
+
+char * pcmcia_probe(void);
+void pcmcia_socket_startup(int socket_no);
+
+#endif
diff --git a/mdk-stage1/pcmcia/probe.c b/mdk-stage1/pcmcia/probe.c
new file mode 100644
index 000000000..8f8a4bc8e
--- /dev/null
+++ b/mdk-stage1/pcmcia/probe.c
@@ -0,0 +1,524 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000-2001 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * Code comes from /anonymous@projects.sourceforge.net:/pub/pcmcia-cs/pcmcia-cs-3.1.29.tar.bz2
+ */
+
+/*======================================================================
+
+ PCMCIA controller probe
+
+ probe.c 1.55 2001/08/24 12:19:20
+
+ The contents of this file are subject to the Mozilla Public
+ License Version 1.1 (the "License"); you may not use this file
+ except in compliance with the License. You may obtain a copy of
+ the License at http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS
+ IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ rights and limitations under the License.
+
+ The initial developer of the original code is David A. Hinds
+ <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+
+ Alternatively, the contents of this file may be used under the
+ terms of the GNU General Public License version 2 (the "GPL"), in
+ which case the provisions of the GPL are applicable instead of the
+ above. If you wish to allow the use of your version of this file
+ only under the terms of the GPL and not to allow others to use
+ your version of this file under the MPL, indicate your decision
+ by deleting the provisions above and replace them with the notice
+ and other provisions required by the GPL. If you do not delete
+ the provisions above, a recipient may use your version of this
+ file under either the MPL or the GPL.
+
+======================================================================*/
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+
+//mdk-stage1// #include <pcmcia/config.h>
+#include "log.h"
+#include "pcmcia.h"
+
+/*====================================================================*/
+
+//mdk-stage1// #ifdef CONFIG_PCI
+
+typedef struct {
+ u_short vendor, device;
+ char *modname;
+ char *name;
+} pci_id_t;
+
+pci_id_t pci_id[] = {
+ { 0x1013, 0x1100, "i82365", "Cirrus Logic CL 6729" },
+ { 0x1013, 0x1110, "yenta_socket", "Cirrus Logic PD 6832" },
+ { 0x10b3, 0xb106, "yenta_socket", "SMC 34C90" },
+ { 0x1180, 0x0465, "yenta_socket", "Ricoh RL5C465" },
+ { 0x1180, 0x0466, "yenta_socket", "Ricoh RL5C466" },
+ { 0x1180, 0x0475, "yenta_socket", "Ricoh RL5C475" },
+ { 0x1180, 0x0476, "yenta_socket", "Ricoh RL5C476" },
+ { 0x1180, 0x0477, "yenta_socket", "Ricoh RL5C477" },
+ { 0x1180, 0x0478, "yenta_socket", "Ricoh RL5C478" },
+ { 0x104c, 0xac12, "yenta_socket", "Texas Instruments PCI1130" },
+ { 0x104c, 0xac13, "yenta_socket", "Texas Instruments PCI1031" },
+ { 0x104c, 0xac15, "yenta_socket", "Texas Instruments PCI1131" },
+ { 0x104c, 0xac1a, "yenta_socket", "Texas Instruments PCI1210" },
+ { 0x104c, 0xac1e, "yenta_socket", "Texas Instruments PCI1211" },
+ { 0x104c, 0xac17, "yenta_socket", "Texas Instruments PCI1220" },
+ { 0x104c, 0xac19, "yenta_socket", "Texas Instruments PCI1221" },
+ { 0x104c, 0xac1c, "yenta_socket", "Texas Instruments PCI1225" },
+ { 0x104c, 0xac16, "yenta_socket", "Texas Instruments PCI1250" },
+ { 0x104c, 0xac1d, "yenta_socket", "Texas Instruments PCI1251A" },
+ { 0x104c, 0xac1f, "yenta_socket", "Texas Instruments PCI1251B" },
+ { 0x104c, 0xac50, "yenta_socket", "Texas Instruments PCI1410" },
+ { 0x104c, 0xac51, "yenta_socket", "Texas Instruments PCI1420" },
+ { 0x104c, 0xac1b, "yenta_socket", "Texas Instruments PCI1450" },
+ { 0x104c, 0xac52, "yenta_socket", "Texas Instruments PCI1451" },
+ { 0x104c, 0xac56, "yenta_socket", "Texas Instruments PCI1510" },
+ { 0x104c, 0xac55, "yenta_socket", "Texas Instruments PCI1520" },
+ { 0x104c, 0xac54, "yenta_socket", "Texas Instruments PCI1620" },
+ { 0x104c, 0xac41, "yenta_socket", "Texas Instruments PCI4410" },
+ { 0x104c, 0xac40, "yenta_socket", "Texas Instruments PCI4450" },
+ { 0x104c, 0xac42, "yenta_socket", "Texas Instruments PCI4451" },
+ { 0x104c, 0xac44, "yenta_socket", "Texas Instruments PCI4510" },
+ { 0x104c, 0xac46, "yenta_socket", "Texas Instruments PCI4520" },
+ { 0x104c, 0xac49, "yenta_socket", "Texas Instruments PCI7410" },
+ { 0x104c, 0xac47, "yenta_socket", "Texas Instruments PCI7510" },
+ { 0x104c, 0xac48, "yenta_socket", "Texas Instruments PCI7610" },
+ { 0x104c, 0xac8e, "yenta_socket", "Texas Instruments PCI7420" },
+ { 0x1217, 0x6729, "i82365", "O2 Micro 6729" },
+ { 0x1217, 0x673a, "i82365", "O2 Micro 6730" },
+ { 0x1217, 0x6832, "yenta_socket", "O2 Micro 6832/6833" },
+ { 0x1217, 0x6836, "yenta_socket", "O2 Micro 6836/6860" },
+ { 0x1217, 0x6872, "yenta_socket", "O2 Micro 6812" },
+ { 0x1217, 0x6925, "yenta_socket", "O2 Micro 6922" },
+ { 0x1217, 0x6933, "yenta_socket", "O2 Micro 6933" },
+ { 0x1217, 0x6972, "yenta_socket", "O2 Micro 6912" },
+ { 0x1217, 0x7114, "yenta_socket", "O2 Micro 711M1" },
+ { 0x1179, 0x0603, "i82365", "Toshiba ToPIC95-A" },
+ { 0x1179, 0x060a, "yenta_socket", "Toshiba ToPIC95-B" },
+ { 0x1179, 0x060f, "yenta_socket", "Toshiba ToPIC97" },
+ { 0x1179, 0x0617, "yenta_socket", "Toshiba ToPIC100" },
+ { 0x119b, 0x1221, "i82365", "Omega Micro 82C092G" },
+ { 0x8086, 0x1221, "i82092", "Intel 82092AA_0" },
+ { 0x8086, 0x1222, "i82092", "Intel 82092AA_1" },
+ { 0x1524, 0x1211, "yenta_socket", "ENE 1211" },
+ { 0x1524, 0x1225, "yenta_socket", "ENE 1225" },
+ { 0x1524, 0x1410, "yenta_socket", "ENE 1410" },
+ { 0x1524, 0x1411, "yenta_socket", "ENE Technology CB1411" },
+ { 0x1524, 0x1420, "yenta_socket", "ENE 1420" },
+};
+#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
+
+char * driver = NULL;
+
+static int pci_probe(void)
+{
+ char s[256], *name = NULL;
+ u_int device, vendor, i;
+ FILE *f;
+
+//mdk-stage1// if (!module)
+ log_message("PCMCIA: probing PCI bus..");
+
+ if ((f = fopen("/proc/bus/pci/devices", "r")) != NULL) {
+ while (fgets(s, 256, f) != NULL) {
+ u_int n = strtoul(s+5, NULL, 16);
+ vendor = (n >> 16); device = (n & 0xffff);
+ for (i = 0; i < PCI_COUNT; i++)
+ if ((vendor == pci_id[i].vendor) &&
+ (device == pci_id[i].device)) break;
+ if (i < PCI_COUNT) {
+ name = pci_id[i].name;
+ driver = pci_id[i].modname;
+ }
+ }
+ }
+//mdk-stage1// else if ((f = fopen("/proc/pci", "r")) != NULL) {
+//mdk-stage1// while (fgets(s, 256, f) != NULL) {
+//mdk-stage1// t = strstr(s, "Device id=");
+//mdk-stage1// if (t) {
+//mdk-stage1// device = strtoul(t+10, NULL, 16);
+//mdk-stage1// t = strstr(s, "Vendor id=");
+//mdk-stage1// vendor = strtoul(t+10, NULL, 16);
+//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
+//mdk-stage1// if ((vendor == pci_id[i].vendor) &&
+//mdk-stage1// (device == pci_id[i].device)) break;
+//mdk-stage1// } else
+//mdk-stage1// for (i = 0; i < PCI_COUNT; i++)
+//mdk-stage1// if (strstr(s, pci_id[i].tag) != NULL) break;
+//mdk-stage1// if (i != PCI_COUNT) {
+//mdk-stage1// name = pci_id[i].name;
+//mdk-stage1// break;
+//mdk-stage1// } else {
+//mdk-stage1// t = strstr(s, "CardBus bridge");
+//mdk-stage1// if (t != NULL) {
+//mdk-stage1// name = t + 16;
+//mdk-stage1// t = strchr(s, '(');
+//mdk-stage1// t[-1] = '\0';
+//mdk-stage1// break;
+//mdk-stage1// }
+//mdk-stage1// }
+//mdk-stage1// }
+//mdk-stage1// }
+ fclose(f);
+
+ if (name) {
+//mdk-stage1// if (module)
+//mdk-stage1// printf("i82365\n");
+//mdk-stage1// else
+ log_message("\t%s found, 2 sockets (driver %s).", name, driver);
+ return 0;
+ } else {
+//mdk-stage1// if (!module)
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+}
+//mdk-stage1// #endif
+
+/*====================================================================*/
+
+//mdk-stage1// #ifdef CONFIG_ISA
+//mdk-stage1//
+//mdk-stage1// #ifdef __GLIBC__
+#include <sys/io.h>
+//mdk-stage1// #else
+//mdk-stage1// #include <asm/io.h>
+//mdk-stage1// #endif
+typedef u_short ioaddr_t;
+
+#include "i82365.h"
+#include "cirrus.h"
+#include "vg468.h"
+
+static ioaddr_t i365_base = 0x03e0;
+
+static u_char i365_get(u_short sock, u_short reg)
+{
+ u_char val = I365_REG(sock, reg);
+ outb(val, i365_base); val = inb(i365_base+1);
+ return val;
+}
+
+static void i365_set(u_short sock, u_short reg, u_char data)
+{
+ u_char val = I365_REG(sock, reg);
+ outb(val, i365_base); outb(data, i365_base+1);
+}
+
+static void i365_bset(u_short sock, u_short reg, u_char mask)
+{
+ u_char d = i365_get(sock, reg);
+ d |= mask;
+ i365_set(sock, reg, d);
+}
+
+static void i365_bclr(u_short sock, u_short reg, u_char mask)
+{
+ u_char d = i365_get(sock, reg);
+ d &= ~mask;
+ i365_set(sock, reg, d);
+}
+
+int i365_probe(void)
+{
+ int val, sock, done;
+ char *name = "i82365sl";
+
+//mdk-stage1// if (!module)
+ log_message("PCMCIA: probing for Intel PCIC (ISA)..");
+//mdk-stage1// if (verbose) printf("\n");
+
+ sock = done = 0;
+ if (ioperm(i365_base, 4, 1)) {
+ log_perror("PCMCIA: ioperm");
+ return -1;
+ }
+ ioperm(0x80, 1, 1);
+ for (; sock < 2; sock++) {
+ val = i365_get(sock, I365_IDENT);
+//mdk-stage1// if (verbose)
+//mdk-stage1// printf(" ident(%d)=%#2.2x", sock, val);
+ switch (val) {
+ case 0x82:
+ name = "i82365sl A step";
+ break;
+ case 0x83:
+ name = "i82365sl B step";
+ break;
+ case 0x84:
+ name = "VLSI 82C146";
+ break;
+ case 0x88: case 0x89: case 0x8a:
+ name = "IBM Clone";
+ break;
+ case 0x8b: case 0x8c:
+ break;
+ default:
+ done = 1;
+ }
+ if (done) break;
+ }
+
+//mdk-stage1// if (verbose) printf("\n ");
+ if (sock == 0) {
+//mdk-stage1// if (!module)
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+
+ if ((sock == 2) && (strcmp(name, "VLSI 82C146") == 0))
+ name = "i82365sl DF";
+
+ /* Check for Vadem chips */
+ outb(0x0e, i365_base);
+ outb(0x37, i365_base);
+ i365_bset(0, VG468_MISC, VG468_MISC_VADEMREV);
+ val = i365_get(0, I365_IDENT);
+ if (val & I365_IDENT_VADEM) {
+ if ((val & 7) < 4)
+ name = "Vadem VG-468";
+ else
+ name = "Vadem VG-469";
+ i365_bclr(0, VG468_MISC, VG468_MISC_VADEMREV);
+ }
+
+ /* Check for Cirrus CL-PD67xx chips */
+ i365_set(0, PD67_CHIP_INFO, 0);
+ val = i365_get(0, PD67_CHIP_INFO);
+ if ((val & PD67_INFO_CHIP_ID) == PD67_INFO_CHIP_ID) {
+ val = i365_get(0, PD67_CHIP_INFO);
+ if ((val & PD67_INFO_CHIP_ID) == 0) {
+ if (val & PD67_INFO_SLOTS)
+ name = "Cirrus CL-PD672x";
+ else {
+ name = "Cirrus CL-PD6710";
+ sock = 1;
+ }
+ i365_set(0, PD67_EXT_INDEX, 0xe5);
+ if (i365_get(0, PD67_EXT_INDEX) != 0xe5)
+ name = "VIA VT83C469";
+ }
+ }
+
+//mdk-stage1// if (module)
+//mdk-stage1// printf("i82365\n");
+//mdk-stage1// else
+ printf("\t%s found, %d sockets.\n", name, sock);
+ return 0;
+
+} /* i365_probe */
+
+//mdk-stage1//#endif /* CONFIG_ISA */
+
+/*====================================================================*/
+
+//mdk-stage1//#ifdef CONFIG_ISA
+
+#include "tcic.h"
+
+//mdk-stage1//static ioaddr_t tcic_base = TCIC_BASE;
+
+static u_char tcic_getb(ioaddr_t base, u_char reg)
+{
+ u_char val = inb(base+reg);
+ return val;
+}
+
+static void tcic_setb(ioaddr_t base, u_char reg, u_char data)
+{
+ outb(data, base+reg);
+}
+
+static u_short tcic_getw(ioaddr_t base, u_char reg)
+{
+ u_short val = inw(base+reg);
+ return val;
+}
+
+static void tcic_setw(ioaddr_t base, u_char reg, u_short data)
+{
+ outw(data, base+reg);
+}
+
+static u_short tcic_aux_getw(ioaddr_t base, u_short reg)
+{
+ u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
+ tcic_setb(base, TCIC_MODE, mode);
+ return tcic_getw(base, TCIC_AUX);
+}
+
+static void tcic_aux_setw(ioaddr_t base, u_short reg, u_short data)
+{
+ u_char mode = (tcic_getb(base, TCIC_MODE) & TCIC_MODE_PGMMASK) | reg;
+ tcic_setb(base, TCIC_MODE, mode);
+ tcic_setw(base, TCIC_AUX, data);
+}
+
+static int get_tcic_id(ioaddr_t base)
+{
+ u_short id;
+ tcic_aux_setw(base, TCIC_AUX_TEST, TCIC_TEST_DIAG);
+ id = tcic_aux_getw(base, TCIC_AUX_ILOCK);
+ id = (id & TCIC_ILOCKTEST_ID_MASK) >> TCIC_ILOCKTEST_ID_SH;
+ tcic_aux_setw(base, TCIC_AUX_TEST, 0);
+ return id;
+}
+
+int tcic_probe_at(ioaddr_t base)
+{
+ int i;
+ u_short old;
+
+ /* Anything there?? */
+ for (i = 0; i < 0x10; i += 2)
+ if (tcic_getw(base, i) == 0xffff)
+ return -1;
+
+//mdk-stage1// if (!module)
+ log_message("\tat %#3.3x: ", base); fflush(stdout);
+
+ /* Try to reset the chip */
+ tcic_setw(base, TCIC_SCTRL, TCIC_SCTRL_RESET);
+ tcic_setw(base, TCIC_SCTRL, 0);
+
+ /* Can we set the addr register? */
+ old = tcic_getw(base, TCIC_ADDR);
+ tcic_setw(base, TCIC_ADDR, 0);
+ if (tcic_getw(base, TCIC_ADDR) != 0) {
+ tcic_setw(base, TCIC_ADDR, old);
+ return -2;
+ }
+
+ tcic_setw(base, TCIC_ADDR, 0xc3a5);
+ if (tcic_getw(base, TCIC_ADDR) != 0xc3a5)
+ return -3;
+
+ return 2;
+}
+
+int tcic_probe(void)
+{
+ int sock, id;
+
+//mdk-stage1// if (!module)
+ log_message("PCMCIA: probing for Databook TCIC-2 (ISA).."); fflush(stdout);
+
+ if (ioperm(TCIC_BASE, 16, 1)) {
+ log_perror("PCMCIA: ioperm");
+ return -1;
+ }
+ ioperm(0x80, 1, 1);
+ sock = tcic_probe_at(TCIC_BASE);
+
+ if (sock <= 0) {
+//mdk-stage1// if (!module)
+ log_message("\tnot found.");
+ return -ENODEV;
+ }
+
+//mdk-stage1// if (module)
+//mdk-stage1// printf("tcic\n");
+//mdk-stage1// else {
+ id = get_tcic_id(TCIC_BASE);
+ switch (id) {
+ case TCIC_ID_DB86082:
+ log_message("DB86082"); break;
+ case TCIC_ID_DB86082A:
+ log_message("DB86082A"); break;
+ case TCIC_ID_DB86084:
+ log_message("DB86084"); break;
+ case TCIC_ID_DB86084A:
+ log_message("DB86084A"); break;
+ case TCIC_ID_DB86072:
+ log_message("DB86072"); break;
+ case TCIC_ID_DB86184:
+ log_message("DB86184"); break;
+ case TCIC_ID_DB86082B:
+ log_message("DB86082B"); break;
+ default:
+ log_message("Unknown TCIC-2 ID 0x%02x", id);
+ }
+ log_message(" found at %#6x, %d sockets.", TCIC_BASE, sock);
+//mdk-stage1// }
+ return 0;
+
+} /* tcic_probe */
+
+//mdk-stage1// #endif /* CONFIG_ISA */
+
+//mdk-stage1// /*====================================================================*/
+//mdk-stage1//
+//mdk-stage1// int main(int argc, char *argv[])
+//mdk-stage1// {
+//mdk-stage1// int optch, errflg;
+//mdk-stage1// extern char *optarg;
+//mdk-stage1// int verbose = 0, module = 0;
+//mdk-stage1//
+//mdk-stage1// errflg = 0;
+//mdk-stage1// while ((optch = getopt(argc, argv, "t:vxm")) != -1) {
+//mdk-stage1// switch (optch) {
+//mdk-stage1// #ifdef CONFIG_ISA
+//mdk-stage1// case 't':
+//mdk-stage1// tcic_base = strtoul(optarg, NULL, 0); break;
+//mdk-stage1// #endif
+//mdk-stage1// case 'v':
+//mdk-stage1// verbose = 1; break;
+//mdk-stage1// case 'm':
+//mdk-stage1// module = 1; break;
+//mdk-stage1// default:
+//mdk-stage1// errflg = 1; break;
+//mdk-stage1// }
+//mdk-stage1// }
+//mdk-stage1// if (errflg || (optind < argc)) {
+//mdk-stage1// fprintf(stderr, "usage: %s [-t tcic_base] [-v] [-m]\n", argv[0]);
+//mdk-stage1// exit(EXIT_FAILURE);
+//mdk-stage1// }
+//mdk-stage1//
+//mdk-stage1// #ifdef CONFIG_PCI
+//mdk-stage1// if (pci_probe(verbose, module) == 0)
+//mdk-stage1// exit(EXIT_SUCCESS);
+//mdk-stage1// #endif
+//mdk-stage1// #ifdef CONFIG_ISA
+//mdk-stage1// if (i365_probe(verbose, module) == 0)
+//mdk-stage1// exit(EXIT_SUCCESS);
+//mdk-stage1// else if (tcic_probe(verbose, module, tcic_base) == 0)
+//mdk-stage1// exit(EXIT_SUCCESS);
+//mdk-stage1// #endif
+//mdk-stage1// exit(EXIT_FAILURE);
+//mdk-stage1// return 0;
+//mdk-stage1// }
+
+
+char * pcmcia_probe(void)
+{
+ if (!pci_probe())
+ return driver;
+ else if (!i365_probe())
+ return "i82365";
+ else if (!tcic_probe())
+ return "tcic";
+ else
+ return NULL;
+}
diff --git a/mdk-stage1/pcmcia/startup.c b/mdk-stage1/pcmcia/startup.c
new file mode 100644
index 000000000..e9004484a
--- /dev/null
+++ b/mdk-stage1/pcmcia/startup.c
@@ -0,0 +1,271 @@
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <syslog.h>
+#include <unistd.h>
+
+#include <sysfs/libsysfs.h>
+
+#include "startup.h"
+
+/* uncomment for debug output */
+#ifdef DEBUG
+#define dprintf printf
+#else
+#define dprintf(...) do { } while(0);
+#endif
+
+/* Linked list of resource adjustments */
+struct adjust_list_t *root_adjust = NULL;
+
+/* path for config file, device scripts */
+static char *configpath = "/etc/pcmcia";
+
+enum {
+ RESOURCE_MEM,
+ RESOURCE_IO,
+ MAX_RESOURCE_FILES
+};
+
+
+static const char *resource_files[MAX_RESOURCE_FILES] = {
+ [RESOURCE_MEM] = "available_resources_mem",
+ [RESOURCE_IO] = "available_resources_io",
+};
+
+#define PATH_TO_SOCKET "/sys/class/pcmcia_socket/"
+
+
+static int add_available_resource(unsigned int socket_no, unsigned int type,
+ unsigned int action,
+ unsigned long start, unsigned long end)
+{
+ char file[SYSFS_PATH_MAX];
+ char content[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+ int ret;
+ size_t len;
+
+ if (type >= MAX_RESOURCE_FILES)
+ return -EINVAL;
+
+ if (end <= start)
+ return -EINVAL;
+
+ dprintf("%d %d %d 0x%lx 0x%lx\n", socket_no, type, action, start, end);
+
+ snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET "pcmcia_socket%u/%s",
+ socket_no, resource_files[type]);
+
+ switch(action) {
+ case ADD_MANAGED_RESOURCE:
+ len = snprintf(content, SYSFS_PATH_MAX,
+ "0x%08lx - 0x%08lx", start, end);
+ break;
+
+ case REMOVE_MANAGED_RESOURCE:
+ len = snprintf(content, SYSFS_PATH_MAX,
+ "- 0x%08lx - 0x%08lx", start, end);
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ dprintf("content is %s\n", content);
+
+ dprintf("file is %s\n", file);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ dprintf("open, len %d\n", len);
+
+ ret = sysfs_write_attribute(attr, content, len);
+
+ dprintf("ret is %d\n", ret);
+
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+static int setup_done(unsigned int socket_no)
+{
+ int ret;
+ char file[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+
+ snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET
+ "pcmcia_socket%u/available_resources_setup_done",
+ socket_no);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ ret = sysfs_write_attribute(attr, "42", 2);
+
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+
+static int disallow_irq(unsigned int socket_no, unsigned int irq)
+{
+ char file[SYSFS_PATH_MAX];
+ char content[SYSFS_PATH_MAX];
+ struct sysfs_attribute *attr;
+ unsigned int mask = 0xfff;
+ unsigned int new_mask;
+ int ret;
+ size_t len;
+
+ if (irq >= 32)
+ return -EINVAL;
+
+ len = snprintf(file, SYSFS_PATH_MAX, PATH_TO_SOCKET
+ "pcmcia_socket%u/card_irq_mask",
+ socket_no);
+ dprintf("file is %s\n", file);
+
+ attr = sysfs_open_attribute(file);
+ if (!attr)
+ return -ENODEV;
+
+ dprintf("open, len %d\n", len);
+
+ ret = sysfs_read_attribute(attr);
+ if (ret) {
+ ret = -EINVAL;
+ goto out;
+ }
+
+ if (!attr->value || (attr->len < 6)) {
+ ret = -EIO;
+ goto out;
+ }
+
+ ret = sscanf(attr->value, "0x%x\n", &mask);
+
+ new_mask = 1 << irq;
+
+ mask &= ~new_mask;
+
+ len = snprintf(content, SYSFS_PATH_MAX, "0x%04x", mask);
+
+ dprintf("content is %s\n", content);
+
+ ret = sysfs_write_attribute(attr, content, len);
+
+ out:
+ sysfs_close_attribute(attr);
+
+ return (ret);
+}
+
+
+static void load_config(void)
+{
+ if (chdir(configpath) != 0) {
+ syslog(LOG_ERR, "chdir to %s failed: %m", configpath);
+ exit(EXIT_FAILURE);
+ }
+ parse_configfile("config.opts");
+ return;
+}
+
+
+static void adjust_resources(unsigned int socket_no)
+{
+ adjust_list_t *al;
+
+ for (al = root_adjust; al; al = al->next) {
+ switch (al->adj.Resource) {
+ case RES_MEMORY_RANGE:
+ add_available_resource(socket_no, RESOURCE_MEM,
+ al->adj.Action,
+ al->adj.resource.memory.Base,
+ al->adj.resource.memory.Base +
+ al->adj.resource.memory.Size - 1);
+ break;
+ case RES_IO_RANGE:
+ add_available_resource(socket_no, RESOURCE_IO,
+ al->adj.Action,
+ al->adj.resource.io.BasePort,
+ al->adj.resource.io.BasePort +
+ al->adj.resource.io.NumPorts - 1);
+ break;
+ case RES_IRQ:
+ if(al->adj.Action == REMOVE_MANAGED_RESOURCE)
+ disallow_irq(socket_no, al->adj.resource.irq.IRQ);
+ break;
+ }
+ }
+}
+
+/* mdk-stage1
+int main(int argc, char *argv[])
+{
+ char *socket_no;
+ unsigned long socket, i;
+ unsigned int all_sockets = 0;
+
+
+ if ((socket_no = getenv("SOCKET_NO"))) {
+ socket = strtoul(socket_no, NULL, 0);
+ } else if (argc == 2) {
+ socket = strtoul(argv[1], NULL, 0);
+ } else if (argc == 1) {
+ socket = 0;
+ all_sockets = 1;
+ } else {
+ return -EINVAL;
+ }
+
+ load_config();
+
+ for (i = 0; i < MAX_SOCKS; i++) {
+ if ((socket != i) && (!all_sockets))
+ continue;
+
+ adjust_resources(i);
+ setup_done(i);
+ }
+
+ return 0;
+}
+*/
+
+void pcmcia_socket_startup(int socket_no) {
+ unsigned long i;
+ unsigned int all_sockets = 0;
+
+ if (socket_no == -1)
+ all_sockets = 1;
+
+ load_config();
+
+ for (i = 0; i < MAX_SOCKS; i++) {
+ if ((socket_no != i) && (!all_sockets))
+ continue;
+
+ adjust_resources(i);
+ setup_done(i);
+ }
+}
diff --git a/mdk-stage1/pcmcia/startup.h b/mdk-stage1/pcmcia/startup.h
new file mode 100644
index 000000000..ba6af2c15
--- /dev/null
+++ b/mdk-stage1/pcmcia/startup.h
@@ -0,0 +1,54 @@
+/*
+ * Startup tool for non statically mapped PCMCIA sockets
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ *
+ */
+
+#define MAX_SOCKS 8
+#define MAX_BINDINGS 4
+#define MAX_MODULES 4
+
+/* for AdjustResourceInfo */
+typedef struct adjust_t {
+ unsigned int Action;
+ unsigned int Resource;
+ unsigned int Attributes;
+ union {
+ struct memory {
+ unsigned long Base;
+ unsigned long Size;
+ } memory;
+ struct io {
+ unsigned long BasePort;
+ unsigned long NumPorts;
+ unsigned int IOAddrLines;
+ } io;
+ struct irq {
+ unsigned int IRQ;
+ } irq;
+ } resource;
+} adjust_t;
+
+
+typedef struct adjust_list_t {
+ adjust_t adj;
+ struct adjust_list_t *next;
+} adjust_list_t;
+
+
+extern adjust_list_t *root_adjust;
+
+int parse_configfile(char *fn);
+
+
+#define RES_MEMORY_RANGE 1
+#define RES_IO_RANGE 2
+#define RES_IRQ 3
+#define RES_RESERVED 0x10
+#define REMOVE_MANAGED_RESOURCE 1
+#define ADD_MANAGED_RESOURCE 2
diff --git a/mdk-stage1/pcmcia/tcic.h b/mdk-stage1/pcmcia/tcic.h
new file mode 100644
index 000000000..cad193885
--- /dev/null
+++ b/mdk-stage1/pcmcia/tcic.h
@@ -0,0 +1,266 @@
+/*
+ * tcic.h 1.15 2001/08/24 12:15:34
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_TCIC_H
+#define _LINUX_TCIC_H
+
+#define TCIC_BASE 0x240
+
+/* offsets of registers from TCIC_BASE */
+#define TCIC_DATA 0x00
+#define TCIC_ADDR 0x02
+#define TCIC_SCTRL 0x06
+#define TCIC_SSTAT 0x07
+#define TCIC_MODE 0x08
+#define TCIC_PWR 0x09
+#define TCIC_EDC 0x0A
+#define TCIC_ICSR 0x0C
+#define TCIC_IENA 0x0D
+#define TCIC_AUX 0x0E
+
+#define TCIC_SS_SHFT 12
+#define TCIC_SS_MASK 0x7000
+
+/* Flags for TCIC_ADDR */
+#define TCIC_ADR2_REG 0x8000
+#define TCIC_ADR2_INDREG 0x0800
+
+#define TCIC_ADDR_REG 0x80000000
+#define TCIC_ADDR_SS_SHFT (TCIC_SS_SHFT+16)
+#define TCIC_ADDR_SS_MASK (TCIC_SS_MASK<<16)
+#define TCIC_ADDR_INDREG 0x08000000
+#define TCIC_ADDR_IO 0x04000000
+#define TCIC_ADDR_MASK 0x03ffffff
+
+/* Flags for TCIC_SCTRL */
+#define TCIC_SCTRL_ENA 0x01
+#define TCIC_SCTRL_INCMODE 0x18
+#define TCIC_SCTRL_INCMODE_HOLD 0x00
+#define TCIC_SCTRL_INCMODE_WORD 0x08
+#define TCIC_SCTRL_INCMODE_REG 0x10
+#define TCIC_SCTRL_INCMODE_AUTO 0x18
+#define TCIC_SCTRL_EDCSUM 0x20
+#define TCIC_SCTRL_RESET 0x80
+
+/* Flags for TCIC_SSTAT */
+#define TCIC_SSTAT_6US 0x01
+#define TCIC_SSTAT_10US 0x02
+#define TCIC_SSTAT_PROGTIME 0x04
+#define TCIC_SSTAT_LBAT1 0x08
+#define TCIC_SSTAT_LBAT2 0x10
+#define TCIC_SSTAT_RDY 0x20 /* Inverted */
+#define TCIC_SSTAT_WP 0x40
+#define TCIC_SSTAT_CD 0x80 /* Card detect */
+
+/* Flags for TCIC_MODE */
+#define TCIC_MODE_PGMMASK 0x1f
+#define TCIC_MODE_NORMAL 0x00
+#define TCIC_MODE_PGMWR 0x01
+#define TCIC_MODE_PGMRD 0x02
+#define TCIC_MODE_PGMCE 0x04
+#define TCIC_MODE_PGMDBW 0x08
+#define TCIC_MODE_PGMWORD 0x10
+#define TCIC_MODE_AUXSEL_MASK 0xe0
+
+/* Registers accessed through TCIC_AUX, by setting TCIC_MODE */
+#define TCIC_AUX_TCTL (0<<5)
+#define TCIC_AUX_PCTL (1<<5)
+#define TCIC_AUX_WCTL (2<<5)
+#define TCIC_AUX_EXTERN (3<<5)
+#define TCIC_AUX_PDATA (4<<5)
+#define TCIC_AUX_SYSCFG (5<<5)
+#define TCIC_AUX_ILOCK (6<<5)
+#define TCIC_AUX_TEST (7<<5)
+
+/* Flags for TCIC_PWR */
+#define TCIC_PWR_VCC(sock) (0x01<<(sock))
+#define TCIC_PWR_VCC_MASK 0x03
+#define TCIC_PWR_VPP(sock) (0x08<<(sock))
+#define TCIC_PWR_VPP_MASK 0x18
+#define TCIC_PWR_CLIMENA 0x40
+#define TCIC_PWR_CLIMSTAT 0x80
+
+/* Flags for TCIC_ICSR */
+#define TCIC_ICSR_CLEAR 0x01
+#define TCIC_ICSR_SET 0x02
+#define TCIC_ICSR_JAM (TCIC_ICSR_CLEAR|TCIC_ICSR_SET)
+#define TCIC_ICSR_STOPCPU 0x04
+#define TCIC_ICSR_ILOCK 0x08
+#define TCIC_ICSR_PROGTIME 0x10
+#define TCIC_ICSR_ERR 0x20
+#define TCIC_ICSR_CDCHG 0x40
+#define TCIC_ICSR_IOCHK 0x80
+
+/* Flags for TCIC_IENA */
+#define TCIC_IENA_CFG_MASK 0x03
+#define TCIC_IENA_CFG_OFF 0x00 /* disabled */
+#define TCIC_IENA_CFG_OD 0x01 /* active low, open drain */
+#define TCIC_IENA_CFG_LOW 0x02 /* active low, totem pole */
+#define TCIC_IENA_CFG_HIGH 0x03 /* active high, totem pole */
+#define TCIC_IENA_ILOCK 0x08
+#define TCIC_IENA_PROGTIME 0x10
+#define TCIC_IENA_ERR 0x20 /* overcurrent or iochk */
+#define TCIC_IENA_CDCHG 0x40
+
+/* Flags for TCIC_AUX_WCTL */
+#define TCIC_WAIT_COUNT_MASK 0x001f
+#define TCIC_WAIT_ASYNC 0x0020
+#define TCIC_WAIT_SENSE 0x0040
+#define TCIC_WAIT_SRC 0x0080
+#define TCIC_WCTL_WR 0x0100
+#define TCIC_WCTL_RD 0x0200
+#define TCIC_WCTL_CE 0x0400
+#define TCIC_WCTL_LLBAT1 0x0800
+#define TCIC_WCTL_LLBAT2 0x1000
+#define TCIC_WCTL_LRDY 0x2000
+#define TCIC_WCTL_LWP 0x4000
+#define TCIC_WCTL_LCD 0x8000
+
+/* Flags for TCIC_AUX_SYSCFG */
+#define TCIC_SYSCFG_IRQ_MASK 0x000f
+#define TCIC_SYSCFG_MCSFULL 0x0010
+#define TCIC_SYSCFG_IO1723 0x0020
+#define TCIC_SYSCFG_MCSXB 0x0040
+#define TCIC_SYSCFG_ICSXB 0x0080
+#define TCIC_SYSCFG_NOPDN 0x0100
+#define TCIC_SYSCFG_MPSEL_SHFT 9
+#define TCIC_SYSCFG_MPSEL_MASK 0x0e00
+#define TCIC_SYSCFG_MPSENSE 0x2000
+#define TCIC_SYSCFG_AUTOBUSY 0x4000
+#define TCIC_SYSCFG_ACC 0x8000
+
+#define TCIC_ILOCK_OUT 0x01
+#define TCIC_ILOCK_SENSE 0x02
+#define TCIC_ILOCK_CRESET 0x04
+#define TCIC_ILOCK_CRESENA 0x08
+#define TCIC_ILOCK_CWAIT 0x10
+#define TCIC_ILOCK_CWAITSNS 0x20
+#define TCIC_ILOCK_HOLD_MASK 0xc0
+#define TCIC_ILOCK_HOLD_CCLK 0xc0
+
+#define TCIC_ILOCKTEST_ID_SH 8
+#define TCIC_ILOCKTEST_ID_MASK 0x7f00
+#define TCIC_ILOCKTEST_MCIC_1 0x8000
+
+#define TCIC_ID_DB86082 0x02
+#define TCIC_ID_DB86082A 0x03
+#define TCIC_ID_DB86084 0x04
+#define TCIC_ID_DB86084A 0x08
+#define TCIC_ID_DB86072 0x15
+#define TCIC_ID_DB86184 0x14
+#define TCIC_ID_DB86082B 0x17
+
+#define TCIC_TEST_DIAG 0x8000
+
+/*
+ * Indirectly addressed registers
+ */
+
+#define TCIC_SCF1(sock) ((sock)<<3)
+#define TCIC_SCF2(sock) (((sock)<<3)+2)
+
+/* Flags for SCF1 */
+#define TCIC_SCF1_IRQ_MASK 0x000f
+#define TCIC_SCF1_IRQ_OFF 0x0000
+#define TCIC_SCF1_IRQOC 0x0010
+#define TCIC_SCF1_PCVT 0x0020
+#define TCIC_SCF1_IRDY 0x0040
+#define TCIC_SCF1_ATA 0x0080
+#define TCIC_SCF1_DMA_SHIFT 8
+#define TCIC_SCF1_DMA_MASK 0x0700
+#define TCIC_SCF1_DMA_OFF 0
+#define TCIC_SCF1_DREQ2 2
+#define TCIC_SCF1_IOSTS 0x0800
+#define TCIC_SCF1_SPKR 0x1000
+#define TCIC_SCF1_FINPACK 0x2000
+#define TCIC_SCF1_DELWR 0x4000
+#define TCIC_SCF1_HD7IDE 0x8000
+
+/* Flags for SCF2 */
+#define TCIC_SCF2_RI 0x0001
+#define TCIC_SCF2_IDBR 0x0002
+#define TCIC_SCF2_MDBR 0x0004
+#define TCIC_SCF2_MLBAT1 0x0008
+#define TCIC_SCF2_MLBAT2 0x0010
+#define TCIC_SCF2_MRDY 0x0020
+#define TCIC_SCF2_MWP 0x0040
+#define TCIC_SCF2_MCD 0x0080
+#define TCIC_SCF2_MALL 0x00f8
+
+/* Indirect addresses for memory window registers */
+#define TCIC_MWIN(sock,map) (0x100+(((map)+((sock)<<2))<<3))
+#define TCIC_MBASE_X 2
+#define TCIC_MMAP_X 4
+#define TCIC_MCTL_X 6
+
+#define TCIC_MBASE_4K_BIT 0x4000
+#define TCIC_MBASE_HA_SHFT 12
+#define TCIC_MBASE_HA_MASK 0x0fff
+
+#define TCIC_MMAP_REG 0x8000
+#define TCIC_MMAP_CA_SHFT 12
+#define TCIC_MMAP_CA_MASK 0x3fff
+
+#define TCIC_MCTL_WSCNT_MASK 0x001f
+#define TCIC_MCTL_WCLK 0x0020
+#define TCIC_MCTL_WCLK_CCLK 0x0000
+#define TCIC_MCTL_WCLK_BCLK 0x0020
+#define TCIC_MCTL_QUIET 0x0040
+#define TCIC_MCTL_WP 0x0080
+#define TCIC_MCTL_ACC 0x0100
+#define TCIC_MCTL_KE 0x0200
+#define TCIC_MCTL_EDC 0x0400
+#define TCIC_MCTL_B8 0x0800
+#define TCIC_MCTL_SS_SHFT TCIC_SS_SHFT
+#define TCIC_MCTL_SS_MASK TCIC_SS_MASK
+#define TCIC_MCTL_ENA 0x8000
+
+/* Indirect addresses for I/O window registers */
+#define TCIC_IWIN(sock,map) (0x200+(((map)+((sock)<<1))<<2))
+#define TCIC_IBASE_X 0
+#define TCIC_ICTL_X 2
+
+#define TCIC_ICTL_WSCNT_MASK TCIC_MCTL_WSCNT_MASK
+#define TCIC_ICTL_QUIET TCIC_MCTL_QUIET
+#define TCIC_ICTL_1K 0x0080
+#define TCIC_ICTL_PASS16 0x0100
+#define TCIC_ICTL_ACC TCIC_MCTL_ACC
+#define TCIC_ICTL_TINY 0x0200
+#define TCIC_ICTL_B16 0x0400
+#define TCIC_ICTL_B8 TCIC_MCTL_B8
+#define TCIC_ICTL_BW_MASK (TCIC_ICTL_B16|TCIC_ICTL_B8)
+#define TCIC_ICTL_BW_DYN 0
+#define TCIC_ICTL_BW_8 TCIC_ICTL_B8
+#define TCIC_ICTL_BW_16 TCIC_ICTL_B16
+#define TCIC_ICTL_BW_ATA (TCIC_ICTL_B16|TCIC_ICTL_B8)
+#define TCIC_ICTL_SS_SHFT TCIC_SS_SHFT
+#define TCIC_ICTL_SS_MASK TCIC_SS_MASK
+#define TCIC_ICTL_ENA TCIC_MCTL_ENA
+
+#endif /* _LINUX_TCIC_H */
diff --git a/mdk-stage1/pcmcia/version.h b/mdk-stage1/pcmcia/version.h
new file mode 100644
index 000000000..3be8f28bc
--- /dev/null
+++ b/mdk-stage1/pcmcia/version.h
@@ -0,0 +1,4 @@
+/* version.h 1.101 2001/08/09 12:29:14 (David Hinds) */
+
+#define CS_RELEASE "3.1.29"
+#define CS_RELEASE_CODE 0x311d
diff --git a/mdk-stage1/pcmcia/vg468.h b/mdk-stage1/pcmcia/vg468.h
new file mode 100644
index 000000000..23890cd07
--- /dev/null
+++ b/mdk-stage1/pcmcia/vg468.h
@@ -0,0 +1,106 @@
+/*
+ * vg468.h 1.14 2001/08/24 12:15:34
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License
+ * at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * Alternatively, the contents of this file may be used under the
+ * terms of the GNU General Public License version 2 (the "GPL"), in
+ * which case the provisions of the GPL are applicable instead of the
+ * above. If you wish to allow the use of your version of this file
+ * only under the terms of the GPL and not to allow others to use
+ * your version of this file under the MPL, indicate your decision by
+ * deleting the provisions above and replace them with the notice and
+ * other provisions required by the GPL. If you do not delete the
+ * provisions above, a recipient may use your version of this file
+ * under either the MPL or the GPL.
+ */
+
+#ifndef _LINUX_VG468_H
+#define _LINUX_VG468_H
+
+/* Special bit in I365_IDENT used for Vadem chip detection */
+#define I365_IDENT_VADEM 0x08
+
+/* Special definitions in I365_POWER */
+#define VG468_VPP2_MASK 0x0c
+#define VG468_VPP2_5V 0x04
+#define VG468_VPP2_12V 0x08
+
+/* Unique Vadem registers */
+#define VG469_VSENSE 0x1f /* Card voltage sense */
+#define VG469_VSELECT 0x2f /* Card voltage select */
+#define VG468_CTL 0x38 /* Control register */
+#define VG468_TIMER 0x39 /* Timer control */
+#define VG468_MISC 0x3a /* Miscellaneous */
+#define VG468_GPIO_CFG 0x3b /* GPIO configuration */
+#define VG469_EXT_MODE 0x3c /* Extended mode register */
+#define VG468_SELECT 0x3d /* Programmable chip select */
+#define VG468_SELECT_CFG 0x3e /* Chip select configuration */
+#define VG468_ATA 0x3f /* ATA control */
+
+/* Flags for VG469_VSENSE */
+#define VG469_VSENSE_A_VS1 0x01
+#define VG469_VSENSE_A_VS2 0x02
+#define VG469_VSENSE_B_VS1 0x04
+#define VG469_VSENSE_B_VS2 0x08
+
+/* Flags for VG469_VSELECT */
+#define VG469_VSEL_VCC 0x03
+#define VG469_VSEL_5V 0x00
+#define VG469_VSEL_3V 0x03
+#define VG469_VSEL_MAX 0x0c
+#define VG469_VSEL_EXT_STAT 0x10
+#define VG469_VSEL_EXT_BUS 0x20
+#define VG469_VSEL_MIXED 0x40
+#define VG469_VSEL_ISA 0x80
+
+/* Flags for VG468_CTL */
+#define VG468_CTL_SLOW 0x01 /* 600ns memory timing */
+#define VG468_CTL_ASYNC 0x02 /* Asynchronous bus clocking */
+#define VG468_CTL_TSSI 0x08 /* Tri-state some outputs */
+#define VG468_CTL_DELAY 0x10 /* Card detect debounce */
+#define VG468_CTL_INPACK 0x20 /* Obey INPACK signal? */
+#define VG468_CTL_POLARITY 0x40 /* VCCEN polarity */
+#define VG468_CTL_COMPAT 0x80 /* Compatibility stuff */
+
+#define VG469_CTL_WS_COMPAT 0x04 /* Wait state compatibility */
+#define VG469_CTL_STRETCH 0x10 /* LED stretch */
+
+/* Flags for VG468_TIMER */
+#define VG468_TIMER_ZEROPWR 0x10 /* Zero power control */
+#define VG468_TIMER_SIGEN 0x20 /* Power up */
+#define VG468_TIMER_STATUS 0x40 /* Activity timer status */
+#define VG468_TIMER_RES 0x80 /* Timer resolution */
+#define VG468_TIMER_MASK 0x0f /* Activity timer timeout */
+
+/* Flags for VG468_MISC */
+#define VG468_MISC_GPIO 0x04 /* General-purpose IO */
+#define VG468_MISC_DMAWSB 0x08 /* DMA wait state control */
+#define VG469_MISC_LEDENA 0x10 /* LED enable */
+#define VG468_MISC_VADEMREV 0x40 /* Vadem revision control */
+#define VG468_MISC_UNLOCK 0x80 /* Unique register lock */
+
+/* Flags for VG469_EXT_MODE_A */
+#define VG469_MODE_VPPST 0x03 /* Vpp steering control */
+#define VG469_MODE_INT_SENSE 0x04 /* Internal voltage sense */
+#define VG469_MODE_CABLE 0x08
+#define VG469_MODE_COMPAT 0x10 /* i82365sl B or DF step */
+#define VG469_MODE_TEST 0x20
+#define VG469_MODE_RIO 0x40 /* Steer RIO to INTR? */
+
+/* Flags for VG469_EXT_MODE_B */
+#define VG469_MODE_B_3V 0x01 /* 3.3v for socket B */
+
+#endif /* _LINUX_VG468_H */
diff --git a/mdk-stage1/pcmcia/yacc_config.y b/mdk-stage1/pcmcia/yacc_config.y
new file mode 100644
index 000000000..be5ef98fe
--- /dev/null
+++ b/mdk-stage1/pcmcia/yacc_config.y
@@ -0,0 +1,133 @@
+%{
+/*
+ * Startup tool for non statically mapped PCMCIA sockets - config file parsing
+ *
+ * (C) 2005 Dominik Brodowski <linux@brodo.de>
+ *
+ * The initial developer of the original code is David A. Hinds
+ * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
+ * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
+ *
+ * License: GPL v2
+ */
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <syslog.h>
+#include <sys/types.h>
+
+#include "startup.h"
+
+/* If bison: generate nicer error messages */
+#define YYERROR_VERBOSE 1
+
+/* from lex_config, for nice error messages */
+extern char *current_file;
+extern int current_lineno;
+
+extern int yylex(void); /* mdk-stage1 */
+
+void yyerror(char *msg, ...);
+
+%}
+
+%token DEVICE CARD ANONYMOUS TUPLE MANFID VERSION FUNCTION PCI
+%token BIND CIS TO NEEDS_MTD MODULE OPTS CLASS
+%token REGION JEDEC DTYPE DEFAULT MTD
+%token INCLUDE EXCLUDE RESERVE IRQ_NO PORT MEMORY
+%token STRING NUMBER SOURCE
+
+%union {
+ char *str;
+ u_long num;
+ struct adjust_list_t *adjust;
+}
+
+%type <str> STRING
+%type <num> NUMBER
+%type <adjust> adjust resource
+%%
+list: /* nothing */
+ | list adjust
+ {
+ adjust_list_t **tail = &root_adjust;
+ while (*tail != NULL) tail = &(*tail)->next;
+ *tail = $2;
+ }
+ ;
+
+adjust: INCLUDE resource
+ {
+ $2->adj.Action = ADD_MANAGED_RESOURCE;
+ $$ = $2;
+ }
+ | EXCLUDE resource
+ {
+ $2->adj.Action = REMOVE_MANAGED_RESOURCE;
+ $$ = $2;
+ }
+ | RESERVE resource
+ {
+ $2->adj.Action = ADD_MANAGED_RESOURCE;
+ $2->adj.Attributes |= RES_RESERVED;
+ $$ = $2;
+ }
+ | adjust ',' resource
+ {
+ $3->adj.Action = $1->adj.Action;
+ $3->adj.Attributes = $1->adj.Attributes;
+ $3->next = $1;
+ $$ = $3;
+ }
+ ;
+
+resource: IRQ_NO NUMBER
+ {
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_IRQ;
+ $$->adj.resource.irq.IRQ = $2;
+ }
+ | PORT NUMBER '-' NUMBER
+ {
+ if (($4 < $2) || ($4 > 0xffff)) {
+ yyerror("invalid port range 0x%x-0x%x", $2, $4);
+ YYERROR;
+ }
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_IO_RANGE;
+ $$->adj.resource.io.BasePort = $2;
+ $$->adj.resource.io.NumPorts = $4 - $2 + 1;
+ }
+ | MEMORY NUMBER '-' NUMBER
+ {
+ if ($4 < $2) {
+ yyerror("invalid address range 0x%x-0x%x", $2, $4);
+ YYERROR;
+ }
+ $$ = calloc(sizeof(adjust_list_t), 1);
+ $$->adj.Resource = RES_MEMORY_RANGE;
+ $$->adj.resource.memory.Base = $2;
+ $$->adj.resource.memory.Size = $4 - $2 + 1;
+ }
+ ;
+
+%%
+void yyerror(char *msg, ...)
+{
+ va_list ap;
+ char str[256];
+
+ va_start(ap, msg);
+ sprintf(str, "error in file '%s' line %d: ",
+ current_file, current_lineno);
+ vsprintf(str+strlen(str), msg, ap);
+#if YYDEBUG
+ fprintf(stderr, "%s\n", str);
+#else
+ syslog(LOG_ERR, "%s", str);
+#endif
+ va_end(ap);
+}
+
diff --git a/mdk-stage1/ppp/Changes-2.3 b/mdk-stage1/ppp/Changes-2.3
new file mode 100644
index 000000000..f5c954b4b
--- /dev/null
+++ b/mdk-stage1/ppp/Changes-2.3
@@ -0,0 +1,441 @@
+What was new in ppp-2.3.11.
+***************************
+
+* Support for Solaris 8 has been added, including support for
+ replumbing and IPV6.
+
+* The Solaris `snoop' utility should now work on ppp interfaces.
+
+* New hooks have been added - pap_logout_hook, ip_up_hook, and
+ ip_down_hook.
+
+* A new `passprompt' plugin is included, thanks to Alan Curry, which
+ makes it possible for pppd to call an external program to get the
+ PAP password to send to the peer.
+
+* The error messages for the situation where authentication is
+ required because the system has a default route have been improved.
+
+* There is a new connect_delay option which specifies how long pppd
+ should pause after the connect script finishes. Previously this
+ delay was fixed at 1 second. (This delay terminates as soon as pppd
+ sees a valid PPP frame from the peer.)
+
+* The `hide-password' option is now the default, and there is a new
+ `show-password' option to enable the printing of password strings in
+ the debug output.
+
+* A fairly complete list of the names of PPP protocols has been added
+ so that when pppd rejects a frame because its protocol is not
+ supported, it can print the name of the unsupported protocol.
+
+* Synchronous serial lines are supported under Linux 2.3.x.
+
+* The bug where pppd would not recognize a modem hangup under Linux
+ 2.3.x kernels has been fixed.
+
+
+What was new in ppp-2.3.10.
+***************************
+
+* Pppd now supports `plugins', which are pieces of code (packaged as
+ shared libraries) which can be loaded into pppd at runtime and which
+ can affect its behaviour. The intention is that plugins provide a
+ way for people to customize the behaviour of pppd for their own
+ needs without needing to change the base pppd source. I have added
+ some hooks into pppd (places where pppd will call a function
+ pointer, if non-zero, to replace some of pppd's code) and I will be
+ receptive to suggestions about places to add more hooks. Plugins
+ are supported under Linux and Solaris at present.
+
+* We have a new maintainer for the Solaris port, Adi Masputra of Sun
+ Microsystems, and he has updated the Solaris port so that it should
+ work on 64-bit machines under Solaris 7 and later.
+
+* Pppd now has an `allow-ip' option, which takes an argument which is
+ an IP address (or subnet) which peers are permitted to use without
+ authenticating themselves. The argument takes the same form as each
+ element of the allowed IP address list in the secrets files. The
+ allow-ip option is privileged and may be specified multiple times.
+ Using the allow-ip option should be cleaner than putting a line like
+ `"" * "" address' in /etc/ppp/pap-secrets.
+
+* Chat can now substitute environment variables into the script. This
+ is enabled by the -E flag. (Thanks to Andreas Arens for the patch.)
+
+* If the PAP username and password from the peer contains unprintable
+ characters, they will be translated to a printable form before
+ looking in the pap-secrets file. Characters >= 0x80 are translated
+ to a M- form, and characters from 0 to 0x1f (and 0x7f as well) are
+ translated to a ^X form. If this change causes you grief, let me
+ know what would be a better translation. It appears that some peers
+ send nulls or other control characters in their usernames and
+ passwords.
+
+* Pppd has new `ktune' and `noktune' options, which enable/disable
+ it to change kernel settings as appropriate. This is only
+ implemented under Linux, and requires the /proc filesystem to be
+ mounted. Under Linux, with the ktune option, pppd will enable IP
+ forwarding in the kernel if the proxyarp option is used, and will
+ enable the dynamic IP address kernel option in demand mode if the
+ local IP address changes.
+
+* Pppd no longer requires a remote address to be specified for demand
+ dialling. If none is specified, it will use a default value of
+ 10.112.112.112+unit_number. (It will not propose this default to
+ the peer.)
+
+* The default holdoff is now 0 if no connect script is given.
+
+* The IPV6 code from Tommi Komulainen, which I unfortunately only
+ partially merged in to ppp-2.3.9, has been fixed and updated.
+
+* The linux compilation glitches should be fixed now.
+
+
+What was new in ppp-2.3.9.
+**************************
+
+* Support for the new generic PPP layer under development for the
+ Linux kernel.
+
+* You can now place extra options to apply to specific users at the
+ end of the line with their password in the pap-secrets or
+ chap-secrets file, separated from the IP address(es) with a "--"
+ separator. These options are parsed after the peer is authenticated
+ but before network protocol (IPCP, IPXCP) or CCP negotiation
+ commences.
+
+* Pppd will apply the holdoff period if the link was terminated by the
+ peer. It doesn't apply it if the link was terminated because the
+ local pppd thought it was idle.
+
+* Synchronous support for Solaris has been added, thanks to John
+ Morrison, and for FreeBSD, thanks to Paul Fulghum.
+
+* IPV6 support has been merged in, from Tommi Komulainen. At the
+ moment it only supports Linux and it is not tested by me.
+
+* The `nodefaultip' option can be used in demand mode to say that pppd
+ should not suggest its local IP address to the peer.
+
+* The `init' option has been added; this causes pppd to run a script
+ to initialize the serial device (e.g. by sending an init string to
+ the modem). Unlike the connect option, this can be used in a
+ dial-in situation. (Thanks to Tobias Ringstrom.)
+
+* There is a new `logfile' option to send log messages to a file as
+ well as syslog.
+
+* There is a new, privileged `linkname' option which sets a logical
+ name for the link. Pppd will create a /var/run/ppp-<linkname>.pid
+ file containing its process ID.
+
+* There is a new `maxfail' option which specifies how many consecutive
+ failed connection attempts are permitted before pppd will exit. The
+ default value is 10, and 0 means infinity. :-)
+
+* Sundry bugs fixed.
+
+
+What was new in ppp-2.3.8.
+**************************
+
+* The exit status of pppd will now indicate whether the link was
+ successfully established, or if not, what error was encountered.
+
+* Pppd has two new options: fdlog <n> will send log messages to file
+ descriptor <n> instead of standard output, and nofdlog will stop log
+ messages from being sent to any file descriptor (they will still be
+ sent to syslog). Pppd now will not send log messages to a file
+ descriptor if the serial port is open on that file descriptor.
+
+* Pppd sets an environment variable called PPPLOGNAME for scripts that
+ it runs, indicating the login name of the user who invoked pppd.
+
+* Pppd sets environment variables CONNECT_TIME, BYTES_SENT and
+ BYTES_RCVD for the ip-down and auth-down scripts indicating the
+ statistics for the connection just terminated. (CONNECT_TIME is in
+ seconds.)
+
+* If the user has the serial device open on standard input and
+ specifies a symbolic link to the serial device on the command line,
+ pppd will detect this and behave correctly (i.e. not detach from its
+ controlling terminal). Furthermore, if the serial port is open for
+ reading and writing on standard input, pppd will assume that it is
+ locked by its invoker and not lock it itself.
+
+* Chat now has a feature where if a string to be sent begins with an
+ at sign (@), the rest of the string is taken as the name of a file
+ (regular file or named pipe), and the actual string to send is taken
+ from that file.
+
+* Support for FreeBSD-2.2.8 and 3.0 has been added, thanks to Paul
+ Fulghum.
+
+* The Tru64 (aka Digital Unix aka OSF/1) port has been updated.
+
+* The system panics on Solaris SMP systems related to PPP connections
+ being established and terminated should no longer occur.
+
+* Fixed quite a few bugs.
+
+
+What was new in ppp-2.3.7.
+**************************
+
+* Pppd can now automatically allocate itself a pseudo-tty to use as
+ the serial device. This has made three new options possible:
+
+ - `pty script' will run `script' with its standard input and output
+ connected to the master side of the pty. For example:
+ pppd pty 'ssh -t server.my.net pppd'
+ is a basic command for setting up a PPP link (tunnel) over ssh.
+ (In practice you may need to specify other options such as IP
+ addresses, etc.)
+
+ - `notty' tells pppd to communicate over its standard input and
+ output, which do not have to be a terminal device.
+
+ - `record filename' tells pppd to record all of the characters sent
+ and received over the serial device to a file called `filename'.
+ The data is recorded in a tagged format with timestamps, which can
+ be printed in a readable form with the pppdump program, which is
+ included in this distribution.
+
+* Pppd now logs the connect time and number of bytes sent and received
+ (at the level of the serial device) when the connection is
+ terminated.
+
+* If you use the updetach or nodetach option, pppd will print its
+ messages to standard output as well as logging them with syslog
+ (provided of course pppd isn't using its standard input or output as
+ its serial device).
+
+* There is a new `privgroup groupname' option (a privileged option).
+ If the user running pppd is in group `groupname', s/he can use
+ privileged options without restriction.
+
+* There is a new `receive-all' option, which causes pppd to accept all
+ control characters, even the ones that the peer should be escaping
+ (i.e. the receive asyncmap is 0). This is useful with some buggy
+ peers.
+
+* The default asyncmap is now 0.
+
+* There is a new `sync' option, currently only implemented under
+ Linux, which allows pppd to run on synchronous HDLC devices.
+
+* If a value for the device name or for the connect, disconnect,
+ welcome or pty option is given in a privileged option file
+ (i.e. /etc/ppp/options or a file loaded with the `call' option), it
+ cannot be overridden by a non-privileged user.
+
+* Many bugs have been fixed, notably:
+ - signals are not blocked unnecessarily, as they were in 2.3.6.
+ - the usepeerdns option should work now.
+ - the SPEED environment variable for scripts is set correctly.
+ - the /etc/ppp/auth-down script is not run until auth-up completes.
+ - the device is opened as root if it is the device on standard
+ input.
+ - pppd doesn't die with the ioctl(PPPIOCSASYNCMAP) error under linux
+ if a hangup occurs at the wrong time.
+
+* Some error messages have been changed to be clearer (I hope :-)
+
+
+What was new in ppp-2.3.6.
+**************************
+
+* Pppd now opens the tty device as the user (rather than as root) if
+ the device name was given by the user, i.e. on the command line or
+ in the ~/.ppprc file. If the device name was given in
+ /etc/ppp/options or in a file loaded with the `call' option, the
+ device is opened as root.
+
+* The default behaviour of pppd is now to let a peer which has not
+ authenticated itself (e.g. your ISP) use any IP address to which the
+ system does not already have a route. (This is currently only
+ supported under Linux, Solaris and Digital Unix; on the other
+ systems, the peer must now authenticate itself unless the noauth
+ option is used.)
+
+* Added new option `usepeerdns', thanks to Nick Walker
+ <nickwalker@email.com>. If the peer supplies DNS addresses, these
+ will be written to /etc/ppp/resolv.conf. The ip-up script can then
+ be used to add these addresses to /etc/resolv.conf if desired (see
+ the ip-up.local.add and ip-down.local.add files in the scripts
+ directory).
+
+* The Solaris ppp driver should now work correctly on SMP systems.
+
+* Minor corrections so that the code can compile under Solaris 7,
+ and under Linux with glibc-2.1.
+
+* The Linux kernel driver has been restructured for improved
+ performance.
+
+* Pppd now won't start the ip-down script until the ip-up script has
+ finished.
+
+
+What was new in ppp-2.3.5.
+**************************
+
+* Minor corrections to the Digital UNIX and NetBSD ports.
+
+* A workaround to avoid tickling a bug in the `se' serial port driver
+on Sun PCI Ultra machines running Solaris.
+
+* Fixed a bug in the negotiation of the Microsoft WINS server address
+option.
+
+* Fixed a bug in the Linux port where it would fail for kernel
+versions above 2.1.99.
+
+
+What was new in ppp-2.3.4.
+**************************
+
+* The NeXT port has been updated, thanks to Steve Perkins.
+
+* ppp-2.3.4 compiles and works under Solaris 2.6, using either gcc or
+cc.
+
+* With the Solaris, SVR4 and SunOS ports, you can control the choice
+of C compiler, C compiler options, and installation directories by
+editing the svr4/Makedefs or sunos4/Makedefs file.
+
+* Until now, we have been using the number 24 to identify Deflate
+compression in the CCP negotiations, which was the number in the draft
+RFC describing Deflate. The number actually assigned to Deflate is
+26. The code has been changed to use 26, but to allow the use of 24
+for now for backwards compatibility. (This can be disabled with the
+`nodeflatedraft' option to pppd.)
+
+* Fixed some bugs in the linux driver and deflate compressor which
+were causing compression problems, including corrupting long
+incompressible packets sometimes.
+
+* Fixes to the PAM and shadow password support in pppd, from Al
+Longyear and others.
+
+* Pppd now sets some environment variables for scripts it invokes
+(ip-up/down, auth-ip/down), giving information about the connection.
+The variables it sets are PEERNAME, IPLOCAL, IPREMOTE, UID, DEVICE,
+SPEED, and IFNAME.
+
+* Pppd now has an `updetach' option, which will cause it to detach
+from its controlling terminal once the link has come up (i.e. once it
+is available for IP traffic).
+
+
+What was new in ppp-2.3.3.
+**************************
+
+* Fixed compilation problems under SunOS.
+
+* Fixed a bug introduced into chat in 2.3.2, and compilation problems
+introduced into the MS-CHAP implementation in 2.3.2.
+
+* The linux kernel driver has been updated for recent 2.1-series
+kernel changes, and it now will ask kerneld to load compression
+modules when required, if the kernel is configured to support kerneld.
+
+* Pppd should now compile correctly under linux on systems with glibc.
+
+
+What was new in ppp-2.3.2.
+**************************
+
+* In 2.3.1, I made a change which was intended to make pppd able to
+detect loss of CD during or immediately after the connection script
+runs. Unfortunately, this had the side-effect that the connection
+script wouldn't work at all on some systems. This change has been
+reversed.
+
+* Fix compilation problems in the Linux kernel driver.
+
+
+What was new in ppp-2.3.1.
+**************************
+
+* Enhancements to chat, thanks to Francis Demierre. Chat can now
+accept comments in the chat script file, and has new SAY, HANGUP,
+CLR_ABORT and CLR_REPORT keywords.
+
+* Fixed a bug which causes 2.3.0 to crash Solaris systems.
+
+* Bug-fixes and restructuring of the Linux kernel driver.
+
+* The holdoff behaviour of pppd has been changed slightly: now, if
+the link comes up for IP (or other network protocol) traffic, we
+consider that the link has been successfully established, and don't
+enforce the holdoff period after the link goes down.
+
+* Pppd should now correctly wait for CD (carrier detect) from the
+modem, even when the serial port initially had CLOCAL set, and it
+should also detect loss of CD during or immediately after the
+connection script runs.
+
+* Under linux, pppd will work with older 2.2.0* version kernel
+drivers, although demand-dialling is not supported with them.
+
+* Minor bugfixes for pppd.
+
+
+What was new in ppp-2.3.
+************************
+
+* Demand-dialling. Pppd now has a mode where it will establish the
+network interface immediately when it starts, but not actually bring
+the link up until it sees some data to be sent. Look for the demand
+option description in the pppd man page. Demand-dialling is not
+supported under Ultrix or NeXTStep.
+
+* Idle timeout. Pppd will optionally terminate the link if no data
+packets are sent or received within a certain time interval.
+
+* Pppd now runs the /etc/ppp/auth-up script, if it exists, when the
+peer successfully authenticates itself, and /etc/ppp/auth-down when
+the connection is subsequently terminated. This can be useful for
+accounting purposes.
+
+* A new packet compression scheme, Deflate, has been implemented.
+This uses the same compression method as `gzip'. This method is free
+of patent or copyright restrictions, and it achieves better
+compression than BSD-Compress. It does consume more CPU cycles for
+compression than BSD-Compress, but this shouldn't be a problem for
+links running at 100kbit/s or less.
+
+* There is no code in this distribution which is covered by Brad
+Clements' restrictive copyright notice. The STREAMS modules for SunOS
+and OSF/1 have been rewritten, based on the Solaris 2 modules, which
+were written from scratch without any Clements code.
+
+* Pppstats has been reworked to clean up the output format somewhat.
+It also has a new -d option which displays data rate in kbyte/s for
+those columns which would normally display bytes.
+
+* Pppd options beginning with - or + have been renamed, e.g. -ip
+became noip, +chap became require-chap, etc. The old options are
+still accepted for compatibility but may be removed in future.
+
+* Pppd now has some options (such as the new `noauth' option) which
+can only be specified if it is being run by root, or in an
+"privileged" options file: /etc/ppp/options or an options file in the
+/etc/ppp/peers directory. There is a new "call" option to read
+options from a file in /etc/ppp/peers, making it possible for non-root
+users to make unauthenticated connections, but only to certain trusted
+peers. My intention is to make the `auth' option the default in a
+future release.
+
+* Several minor new features have been added to pppd, including the
+maxconnect and welcome options. Pppd will now terminate the
+connection when there are no network control protocols running. The
+allowed IP address(es) field in the secrets files can now specify
+subnets (with a notation like 123.45.67.89/24) and addresses which are
+not acceptable (put a ! on the front).
+
+* Numerous bugs have been fixed (no doubt some have been introduced :-)
+Thanks to those who reported bugs in ppp-2.2.
diff --git a/mdk-stage1/ppp/FAQ b/mdk-stage1/ppp/FAQ
new file mode 100644
index 000000000..96bc5c708
--- /dev/null
+++ b/mdk-stage1/ppp/FAQ
@@ -0,0 +1,634 @@
+This is a list of Frequently Asked Questions about using ppp-2.x and
+their answers.
+
+
+------------------------------------------------------------------------
+
+Q: Can you give me an example of how I might set up my machine to dial
+out to an ISP?
+
+A: Here's an example for dialling out to an ISP via a modem on
+/dev/tty02. The modem uses hardware (CTS/RTS) flow control, and the
+serial port is run at 38400 baud. The ISP assigns our IP address.
+
+To configure pppd for this connection, create a file under
+/etc/ppp/peers called (say) my-isp containing the following:
+
+tty02 crtscts 38400
+connect 'chat -v -f /etc/ppp/chat/my-isp'
+defaultroute
+
+The ppp connection is then initiated using the following command:
+
+pppd call my-isp
+
+Of course, if the directory containing pppd is not in your path, you
+will need to give the full pathname for pppd, for example,
+/usr/sbin/pppd.
+
+When you run this, pppd will use the chat program to dial the ISP and
+invoke its ppp service. Chat will read the file specified with -f,
+namely /etc/ppp/chat/my-isp, to find a list of strings to expect to
+receive, and strings to send. This file would contain something like
+this:
+
+ABORT "NO CARRIER"
+ABORT "NO DIALTONE"
+ABORT "ERROR"
+ABORT "NO ANSWER"
+ABORT "BUSY"
+ABORT "Username/Password Incorrect"
+"" "at"
+OK "at&d2&c1"
+OK "atdt2479381"
+"name:" "^Uusername"
+"word:" "\qpassword"
+"annex" "\q^Uppp"
+"Switching to PPP-ppp-Switching to PPP"
+
+You will need to change the details here. The first string on each
+line is a string to expect to receive; the second is the string to
+send. You can add or delete lines according to the dialog required to
+access your ISP's system. This example is for a modem with a standard
+AT command set, dialling out to an Annex terminal server. The \q
+toggles "quiet" mode; when quiet mode is on, the strings to be sent
+are replaced by ?????? in the log. You may need to go through the
+dialog manually using kermit or tip first to determine what should go
+in the script.
+
+To terminate the link, run the following script, called (say)
+kill-ppp:
+
+#!/bin/sh
+unit=ppp${1-0}
+piddir=/var/run
+if [ -f $piddir/$unit.pid ]; then
+ kill -1 `cat $piddir/$unit.pid`
+fi
+
+On some systems (SunOS, Solaris, Ultrix), you will need to change
+/var/run to /etc/ppp.
+
+
+------------------------------------------------------------------------
+
+Q: Can you give me an example of how I could set up my office machine
+so I can dial in to it from home?
+
+A: Let's assume that the office machine is called "office" and is on a
+local ethernet subnet. Call the home machine "home" and give it an IP
+address on the same subnet as "office". We'll require both machines
+to authenticate themselves to each other.
+
+Set up the files on "office" as follows:
+
+/etc/ppp/options contains:
+
+auth # require the peer to authenticate itself
+lock
+# other options can go here if desired
+
+/etc/ppp/chap-secrets contains:
+
+home office "beware the frub-jub" home
+office home "bird, my son!%&*" -
+
+Set up a modem on a serial port so that users can dial in to the
+modem and get a login prompt.
+
+On "home", set up the files as follows:
+
+/etc/ppp/options contains the same as on "office".
+
+/etc/ppp/chap-secrets contains:
+
+home office "beware the frub-jub" -
+office home "bird, my son!%&*" office
+
+Create a file called /etc/ppp/peers/office containing the following:
+
+tty02 crtscts 38400
+connect 'chat -v -f /etc/ppp/chat/office'
+defaultroute
+
+(You may need to change some of the details here.)
+
+Create the /etc/ppp/chat/office file containing the following:
+
+ABORT "NO CARRIER"
+ABORT "NO DIALTONE"
+ABORT "ERROR"
+ABORT "NO ANSWER"
+ABORT "BUSY"
+ABORT "ogin incorrect"
+"" "at"
+OK "at&d2&c1"
+OK "atdt2479381"
+"name:" "^Uusername"
+"word:" "\qpassword"
+"$" "\q^U/usr/sbin/pppd proxyarp"
+"~"
+
+You will need to change the details. Note that the "$" in the
+second-last line is expecting the shell prompt after a successful
+login - you may need to change it to "%" or something else.
+
+You then initiate the connection (from home) with the command:
+
+pppd call office
+
+------------------------------------------------------------------------
+
+Q: When I try to establish a connection, the modem successfully dials
+the remote system, but then hangs up a few seconds later. How do I
+find out what's going wrong?
+
+A: There are a number of possible problems here. The first thing to
+do is to ensure that pppd's messages are visible. Pppd uses the
+syslog facility to log messages which help to identify specific
+problems. Messages from pppd have facility "daemon" and levels
+ranging from "debug" to "error".
+
+Usually it is useful to see messages of level "notice" or higher on
+the console. To see these, find the line in /etc/syslog.conf which
+has /dev/console on the right-hand side, and add "daemon.notice" in
+the list on the left. The line will end up looking something like
+this:
+
+*.err;kern.debug;auth.notice;mail.crit;daemon.notice /dev/console
+
+Note that the whitespace is tabs, *not* spaces.
+
+If you are having problems, it may be useful to see messages of level
+"info" as well, in which case you would change "daemon.notice" to
+"daemon.info".
+
+In addition, it is useful to collect pppd's debugging output in a
+file - the debug option to pppd causes it to log the contents of all
+control packets sent and received in human-readable form. To do this,
+add a line like this to /etc/syslog.conf:
+
+daemon,local2.debug /etc/ppp/log
+
+and create an empty /etc/ppp/log file.
+
+When you change syslog.conf, you will need to send a HUP signal to
+syslogd to causes it to re-read syslog.conf. You can do this with a
+command like this (as root):
+
+ kill -HUP `cat /etc/syslogd.pid`
+
+(On some systems, you need to use /var/run/syslog.pid instead of
+/etc/syslogd.pid.)
+
+After setting up syslog like this, you can use the -v flag to chat and
+the `debug' option to pppd to get more information. Try initiating
+the connection again; when it fails, inspect /etc/ppp/log to see what
+happened and where the connection failed.
+
+
+------------------------------------------------------------------------
+
+Q: When I try to establish a connection, I get an error message saying
+"Serial link is not 8-bit clean". Why?
+
+A: The most common cause is that your connection script hasn't
+successfully dialled out to the remote system and invoked ppp service
+there. Instead, pppd is talking to something (a shell or login
+process on the remote machine, or maybe just the modem) which is only
+outputting 7-bit characters.
+
+This can also arise with a modem which uses an AT command set if the
+dial command is issued before pppd is invoked, rather than within a
+connect script started by pppd. If the serial port is set to 7
+bits/character plus parity when the last AT command is issued, the
+modem serial port will be set to the same setting.
+
+Note that pppd *always* sets the local serial port to 8 bits per
+character, with no parity and 1 stop bit. So you shouldn't need to
+issue an stty command before invoking pppd.
+
+
+------------------------------------------------------------------------
+
+Q: When I try to establish a connection, I get an error message saying
+"Serial line is looped back". Why?
+
+A: Probably your connection script hasn't successfully dialled out to
+the remote system and invoked ppp service there. Instead, pppd is
+talking to something which is just echoing back the characters it
+receives. The -v option to chat can help you find out what's going
+on. It can be useful to include "~" as the last expect string to
+chat, so chat won't return until it's seen the start of the first PPP
+frame from the remote system.
+
+Another possibility is that your phone connection has dropped for some
+obscure reason and the modem is echoing the characters it receives
+from your system.
+
+
+------------------------------------------------------------------------
+
+Q: I installed pppd successfully, but when I try to run it, I get a
+message saying something like "peer authentication required but no
+authentication files accessible".
+
+A: When pppd is used on a machine which already has a connection to
+the Internet (or to be more precise, one which has a default route in
+its routing table), it will require all peers to authenticate
+themselves. The reason for this is that if you don't require
+authentication, you have a security hole, because the peer can
+basically choose any IP address it wants, even the IP address of some
+trusted host (for example, a host mentioned in some .rhosts file).
+
+On machines which don't have a default route, pppd does not require
+the peer to authenticate itself. The reason is that such machines
+would mostly be using pppd to dial out to an ISP which will refuse to
+authenticate itself. In that case the peer can use any IP address as
+long as the system does not already have a route to that address.
+For example, if you have a local ethernet network, the peer can't use
+an address on that network. (In fact it could if it authenticated
+itself and it was permitted to use that address by the pap-secrets or
+chap-secrets file.)
+
+There are 3 ways around the problem:
+
+1. If possible, arrange for the peer to authenticate itself, and
+create the necessary secrets files (/etc/ppp/pap-secrets and/or
+/etc/ppp/chap-secrets).
+
+2. If the peer refuses to authenticate itself, and will always be
+using the same IP address, or one of a small set of IP addresses, you
+can create an entry in the /etc/ppp/pap-secrets file like this:
+
+ "" * "" his-ip.his-domain his-other-ip.other-domain
+
+(that is, using the empty string for the client name and password
+fields). Of couse, you replace the 4th and following fields in the
+example above with the IP address(es) that the peer may use. You can
+use either hostnames or numeric IP addresses.
+
+3. You can add the `noauth' option to the /etc/ppp/options file.
+Pppd will then not ask the peer to authenticate itself. If you do
+this, I *strongly* recommend that you remove the set-uid bit from the
+permissions on the pppd executable, with a command like this:
+
+ chmod u-s /usr/sbin/pppd
+
+Then, an intruder could only use pppd maliciously if they had already
+become root, in which case they couldn't do any more damage using pppd
+than they could anyway.
+
+
+------------------------------------------------------------------------
+
+Q: What do I need to put in the secrets files?
+
+A: Three things:
+ - secrets (i.e. passwords) to use for authenticating this host to
+ other hosts (i.e., for proving our identity to others);
+ - secrets which other hosts can use for authenticating themselves
+ to us (i.e., so that they can prove their identity to us); and
+ - information about which IP addresses other hosts may use, once
+ they have authenticated themselves.
+
+There are two authentication files: /etc/ppp/pap-secrets, which
+contains secrets for use with PAP (the Password Authentication
+Protocol), and /etc/ppp/chap-secrets, which contains secrets for use
+with CHAP (the Challenge Handshake Authentication Protocol). Both
+files have the same simple format, which is as follows:
+
+- The file contains a series of entries, each of which contains a
+secret for authenticating one machine to another.
+
+- Each entry is contained on a single logical line. A logical line
+may be continued across several lines by placing a backslash (\) at
+the end of each line except the last.
+
+- Each entry has 3 or more fields, separated by whitespace (spaces
+and/or tabs). These fields are, in order:
+ * The name of the machine that is authenticating itself
+ (the "client").
+ * The name of the machine that is authenticating the client
+ (the "server").
+ * The secret to be used for authenticating that client to that
+ server. If this field begins with the at-sign `@', the rest
+ of the field is taken as the name of a file containing the
+ actual secret.
+ * The 4th and any following fields list the IP address(es)
+ that the client may use.
+
+- The file may contain comments, which begin with a `#' and continue
+to the end of the line.
+
+- Double quotes `"' should be used around a field if it contains
+characters with special significance, such as space, tab, `#', etc.
+
+- The backslash `\' may be used before characters with special
+significance (space, tab, `#', `\', etc.) to remove that significance.
+
+Some important points to note:
+
+* A machine can be *both* a "client" and a "server" for the purposes
+of authentication - this happens when both peers require the other to
+authenticate itself. So A would authenticate itself to B, and B would
+also authenticate itself to A (possibly using a different
+authentication protocol).
+
+* If both the "client" and the "server" are running ppp-2.x, they need
+to have a similar entry in the appropriate secrets file; the first two
+fields are *not* swapped on the client, compared to the server. So
+the client might have an entry like this:
+
+ ay bee "our little secret" -
+
+and the corresponding entry on the server could look like this:
+
+ ay bee "our little secret" 123.45.67.89
+
+
+------------------------------------------------------------------------
+
+Q: Explain about PAP and CHAP?
+
+PAP stands for the Password Authentication Protocol. With this
+protocol, the "client" (the machine that needs to authenticate itself)
+sends its name and a password, in clear text, to the "server". The
+server returns a message indicating whether the name and password are
+valid.
+
+CHAP stands for the Challenge Handshake Authentication Protocol. It
+is designed to address some of the deficiencies and vulnerabilities of
+PAP. Like PAP, it is based on the client and server having a shared
+secret, but the secret is never passed in clear text over the link.
+Instead, the server sends a "challenge" - an arbitrary string of
+bytes, and the client must prove it knows the shared secret by
+generating a hash value from the challenge combined with the shared
+secret, and sending the hash value back to the server. The server
+also generates the hash value and compares it with the value received
+from the client.
+
+At a practical level, CHAP can be slightly easier to configure than
+PAP because the server sends its name with the challenge. Thus, when
+finding the appropriate secret in the secrets file, the client knows
+the server's name. In contrast, with PAP, the client has to find its
+password (i.e. the shared secret) before it has received anything from
+the server. Thus, it may be necessary to use the `remotename' option
+to pppd when using PAP authentication so that it can select the
+appropriate secret from /etc/ppp/pap-secrets.
+
+Microsoft also has a variant of CHAP which uses a different hashing
+arrangement from normal CHAP. There is a client-side implementation
+of Microsoft's CHAP in ppp-2.3; see README.MSCHAP80.
+
+
+------------------------------------------------------------------------
+
+Q: When the modem hangs up, without the remote system having
+terminated the connection properly, pppd does not notice the hangup,
+but just keeps running. How do I get pppd to notice the hangup and
+exit?
+
+A: Pppd detects modem hangup by looking for an end-of-file indication
+from the serial driver, which should be generated when the CD (carrier
+detect) signal on the serial port is deasserted. For this to work:
+
+- The modem has to be set to assert CD when the connection is made and
+deassert it when the phone line hangs up. Usually the AT&C1 modem
+command sets this mode.
+
+- The cable from the modem to the serial port must connect the CD
+signal (on pin 8).
+
+- Some serial drivers have a "software carrier detect" mode, which
+must be *disabled*. The method of doing this varies between systems.
+Under SunOS, use the ttysoftcar command. Under NetBSD, edit /etc/ttys
+to remove the "softcar" flag from the line for the serial port, and
+run ttyflags.
+
+
+------------------------------------------------------------------------
+
+Q: Why should I use PPP compression (BSD-Compress or Deflate) when my
+modem already does V.42 compression? Won't it slow the CPU down a
+lot?
+
+A: Using PPP compression is preferable, especially when using modems
+over phone lines, for the following reasons:
+
+- The V.42 compression in the modem isn't very strong - it's an LZW
+technique (same as BSD-Compress) with a 10, 11 or 12 bit code size.
+With BSD-Compress you can use a code size of up to 15 bits and get
+much better compression, or you can use Deflate and get even better
+compression ratios.
+
+- I have found that enabling V.42 compression in my 14.4k modem
+increases the round-trip time for a character to be sent, echoed and
+returned by around 40ms, from 160ms to 200ms (with error correction
+enabled). This is enough to make it feel less responsive on rlogin or
+telnet sessions. Using PPP compression adds less than 5ms (small
+enough that I couldn't measure it reliably). I admit my modem is a
+cheapie and other modems may well perform better.
+
+- While compression and decompression do require some CPU time, they
+reduce the amount of time spent in the serial driver to transmit a
+given amount of data. Many machines require an interrupt for each
+character sent or received, and the interrupt handler can take a
+significant amount of CPU time. So the increase in CPU load isn't as
+great as you might think. My measurements indicate that a system with
+a 33MHz 486 CPU should be able to do Deflate compression for serial
+link speeds of up to 100kb/s or more. It depends somewhat on the type
+of data, of course; for example, when compressing a string of nulls
+with Deflate, it's hard to get a high output data rate from the
+compressor, simply because it compresses strings of nulls so well that
+it has to eat a very large amount of input data to get each byte of
+output.
+
+
+------------------------------------------------------------------------
+
+Q: I get messages saying "Unsupported protocol (...) received". What do
+these mean?
+
+A: If you only get one or two when pppd starts negotiating with the
+peer, they mean that the peer wanted to negotiate some PPP protocol
+that pppd doesn't understand. This doesn't represent a problem, it
+simply means that there is some functionality that the peer supports
+that pppd doesn't, so that functionality can't be used.
+
+If you get them sporadically while the link is operating, or if the
+protocol numbers (in parentheses) don't correspond to any valid PPP
+protocol that the peer might be using, then the problem is probably
+that characters are getting corrupted on the receive side, or that
+extra characters are being inserted into the receive stream somehow.
+If this is happening, most packets that get corrupted should get
+discarded by the FCS (Frame Check Sequence, a 16-bit CRC) check, but a
+small number may get through.
+
+One possibility may be that you are receiving broadcast messages on
+the remote system which are being sent over your serial link. Another
+possibility is that your modem is set for XON/XOFF (software) flow
+control and is inserting ^Q and ^S characters into the receive data
+stream.
+
+
+------------------------------------------------------------------------
+
+Q: I get messages saying "Protocol-Reject for unsupported protocol ...".
+What do these mean?
+
+A: This is the other side of the previous question. If characters are
+getting corrupted on the way to the peer, or if your system is
+inserting extra bogus characters into the transmit data stream, the
+peer may send protocol-reject messages to you, resulting in the above
+message (since your pppd doesn't recognize the protocol number
+either.)
+
+
+------------------------------------------------------------------------
+
+Q: I get a message saying something like "ioctl(TIOCSETD): Operation
+not permitted". How do I fix this?
+
+A: This is because pppd is not running as root. If you have not
+installed pppd setuid-root, you will have to be root to run it. If
+you have installed pppd setuid-root and you still get this message, it
+is probably because your shell is using some other copy of pppd than
+the installed one - for example, if you are in the pppd directory
+where you've just built pppd and your $PATH has . before /usr/sbin (or
+wherever pppd gets installed).
+
+
+------------------------------------------------------------------------
+
+Q: Has your package been ported to HP/UX or IRIX or AIX?
+
+A: No. I don't have access to systems running HP/UX or AIX. No-one
+has volunteered to port it to HP/UX. I had someone who did a port for
+AIX 4.x, but who is no longer able to maintain it. And apparently AIX
+3.x is quite different, so it would need a separate port.
+
+IRIX includes a good PPP implementation in the standard distribution,
+as far as I know.
+
+
+------------------------------------------------------------------------
+
+Q: Under SunOS 4, when I try to modload the ppp modules, I get the
+message "can't open /dev/vd: No such device".
+
+A: First check in /dev that there is an entry like this:
+
+crw-r--r-- 1 root 57, 0 Oct 2 1991 vd
+
+If not, make one (mknod /dev/vd c 57 0). If the problem still exists,
+probably your kernel has been configured without the vd driver
+included. The vd driver is needed for loadable module support.
+
+First, identify the config file that was used. When you boot your
+machine, or if you run /etc/dmesg, you'll see a line that looks
+something like this:
+
+SunOS Release 4.1.3_U1 (CAP_XBOX) #7: Thu Mar 21 15:31:56 EST 1996
+ ^^^^^^^^
+ this is the config file name
+
+The config file will be in the /sys/`arch -k`/conf directory (arch -k
+should return sun4m for a SparcStation 10, sun3x for a Sun 3/80,
+etc.). Look in there for a line saying "options VDDRV". If that line
+isn't present (or is commented out), add it (or uncomment it).
+
+You then need to rebuild the kernel as described in the SunOS
+manuals. Basically you need to run config and make like this:
+
+ /usr/etc/config CAP_XBOX
+ cd ../CAP_XBOX
+ make
+
+(replacing the string CAP_XBOX by the name of the config file for your
+kernel, of course).
+
+Then copy the new kernel to /:
+
+ mv /vmunix /vmunix.working
+ cp vmunix /
+
+and reboot. Modload should then work.
+
+
+------------------------------------------------------------------------
+
+Q: I'm running Linux (or NetBSD or FreeBSD), and my system comes with
+PPP already. Should I consider installing this package? Why?
+
+A: The PPP that is already installed in your system is (or is derived
+from) some version of this PPP package. You can find out what version
+of this package is already installed with the command "pppd --help".
+If this is older than the latest version, you may wish to install the
+latest version so that you can take advantage of the new features or
+bug fixes.
+
+
+------------------------------------------------------------------------
+
+Q: I'm running pppd in demand mode, and I find that pppd often dials
+out unnecessarily when I try to make a connection within my local
+machine or with a machine on my local LAN. What can I do about this?
+
+A: Very often the cause of this is that a program is trying to contact
+a nameserver to resolve a hostname, and the nameserver (specified in
+/etc/resolv.conf, usually) is on the far side of the ppp link. You
+can try executing a command such as `ping myhost' (where myhost is the
+name of the local machine, or some other machine on a local LAN), to
+see whether that starts the ppp link. If it does, check the setup of
+your /etc/hosts file to make sure you have the local machine and any
+hosts on your local LAN listed, and /etc/resolv.conf and/or
+/etc/nsswitch.conf files to make sure you resolve hostnames from
+/etc/hosts if possible before trying to contact a nameserver.
+
+
+------------------------------------------------------------------------
+
+Q: Since I installed ppp-2.3.6, dialin users to my server have been
+getting this message when they run pppd:
+
+peer authentication required but no suitable secret(s) found for
+authenticating any peer to us (ispserver)
+
+A: In 2.3.6, the default is to let an unauthenticated peer only use IP
+addresses to which the machine doesn't already have a route. So on a
+machine with a default route, everyone has to authenticate. If you
+really don't want that, you can put `noauth' in the /etc/ppp/options
+file. Note that there is then no check on who is using which IP
+address. IMHO, this is undesirably insecure, but I guess it may be
+tolerable as long as you don't use any .rhosts files or anything like
+that. I recommend that you require dialin users to authenticate, even
+if just with PAP using their login password (using the `login' option
+to pppd). If you do use `noauth', you should at least have a pppusers
+group and set the permissions on pppd to allow only user and group to
+execute it.
+
+------------------------------------------------------------------------
+
+Q: When running pppd as a dial-in server, I often get the message
+"LCP: timeout sending Config-Requests" from pppd. It seems to be
+random, but dial-out always works fine. What is wrong?
+
+A: Most modern modems auto-detects the speed of the serial line
+between the modem and the computer. This auto-detection occurs when
+the computer sends characters to the modem, when the modem is in
+command mode. It does not occur when the modem is in data mode.
+Thus, if you send commands to the modem at 2400 bps, and then change
+the serial port speed to 115200 bps, the modem will not detect this
+change until something is transmitted from the computer to the modem.
+When running pppd in dial-in mode (i.e. without a connect script),
+pppd sets the speed of the serial port, but does not transmit
+anything. If the modem was already running at the specified speed,
+everything is fine, but if not, you will just receive garbage from the
+modem. To cure this, use an init script such as the following:
+
+ pppd ttyS0 115200 modem crtscts init "chat '' AT OK"
+
+To reset the modem and enable auto-answer, use:
+
+ pppd ttyS0 115200 modem crtscts init "chat '' ATZ OK ATS0=1 OK"
diff --git a/mdk-stage1/ppp/PLUGINS b/mdk-stage1/ppp/PLUGINS
new file mode 100644
index 000000000..c73d4160f
--- /dev/null
+++ b/mdk-stage1/ppp/PLUGINS
@@ -0,0 +1,131 @@
+Starting with version 2.3.10, pppd includes support for `plugins' -
+pieces of code which can be loaded into pppd at runtime and which can
+affect its behaviour in various ways. The idea of plugins is to
+provide a way for people to customize the behaviour of pppd without
+having to either apply local patches to each version or get their
+patches accepted into the standard distribution. My aim is that
+plugins will be able to be used with successive versions of pppd
+without needing to recompile the plugins.
+
+A plugin is a standard shared library object, typically with a name
+ending in .so. They are loaded using the standard dlopen() library
+call, so plugins are only supported on systems which support shared
+libraries and the dlopen call. At present pppd is compiled with
+plugin support only under Linux and Solaris.
+
+Plugins are loaded into pppd using the `plugin' option, which takes
+one argument, the name of a shared object file. The plugin option is
+a privileged option. I suggest that you give the full path name of
+the shared object file; if you don't, it may be possible for
+unscrupulous users to substitute another shared object file for the
+one you mean to load, e.g. by setting the LD_LIBRARY_PATH variable.
+
+Plugins are usually written in C and compiled and linked to a shared
+object file in the appropriate manner for your platform. Using gcc
+under Linux, a plugin called `xyz' could be compiled and linked with
+the following commands:
+
+ gcc -c -O xyz.c
+ gcc -shared -o xyz.so xyz.o
+
+There are some example plugins in the pppd/plugins directory in the
+ppp distribution. Currently there is one example, minconn.c, which
+implements a `minconnect' option, which specifies a minimum connect
+time before the idle timeout applies.
+
+Plugins can access global variables within pppd, so it is useful for
+them to #include "pppd.h" from the pppd source directory.
+
+Every plugin must contain a global procedure called `plugin_init'.
+This procedure will get called (with no arguments) immediately after
+the plugin is loaded.
+
+Plugins can affect the behaviour of pppd in at least three ways:
+
+1. They can add extra options which pppd will then recognize. This is
+ done by calling the add_options() procedure with a pointer to an
+ array of option_t structures. The last entry in the array must
+ have its name field set to NULL.
+
+2. Pppd contains `hook' variables which are procedure pointers. If a
+ given hook is not NULL, pppd will call the procedure it points to
+ at the appropriate point in its processing. The plugin can set any
+ of these hooks to point to its own procedures. See below for a
+ description of the hooks which are currently implemented.
+
+3. Plugin code can call any global procedures and access any global
+ variables in pppd.
+
+Here is a list of the currently implemented hooks in pppd.
+
+
+int (*idle_time_hook)(struct ppp_idle *idlep);
+
+The idle_time_hook is called when the link first comes up (i.e. when
+the first network protocol comes up) and at intervals thereafter. On
+the first call, the idlep parameter is NULL, and the return value is
+the number of seconds before pppd should check the link activity, or 0
+if there is to be no idle timeout.
+
+On subsequent calls, idlep points to a structure giving the number of
+seconds since the last packets were sent and received. If the return
+value is > 0, pppd will wait that many seconds before checking again.
+If it is <= 0, that indicates that the link should be terminated due
+to lack of activity.
+
+
+int (*holdoff_hook)(void);
+
+The holdoff_hook is called when an attempt to bring up the link fails,
+or the link is terminated, and the persist or demand option was used.
+It returns the number of seconds that pppd should wait before trying
+to reestablish the link (0 means immediately).
+
+
+int (*pap_check_hook)(void);
+int (*pap_passwd_hook)(char *user, char *passwd);
+int (*pap_auth_hook)(char *user, int userlen,
+ char *passwd, int passlen,
+ char **msgp, int *msglenp,
+ struct wordlist **paddrs,
+ struct wordlist **popts);
+
+These hooks are designed to allow a plugin to replace the normal PAP
+password processing in pppd with something different (e.g. contacting
+an external server).
+
+The pap_check_hook is called to check whether there is any possibility
+that the peer could authenticate itself to us. If it returns 1, pppd
+will ask the peer to authenticate itself. If it returns 0, pppd will
+not ask the peer to authenticate itself (but if authentication is
+required, pppd may exit, or terminate the link before network protocol
+negotiation). If it returns -1, pppd will look in the pap-secrets
+file as it would normally.
+
+The pap_passwd_hook is called to determine what username and password
+pppd should use in authenticating itself to the peer with PAP. The
+user string will already be initialized, by the `user' option, the
+`name' option, or from the hostname, but can be changed if necessary.
+MAXNAMELEN bytes of space are available at *user, and MAXSECRETLEN
+bytes of space at *passwd. If this hook returns 0, pppd will use the
+values at *user and *passwd; if it returns -1, pppd will look in the
+pap-secrets file, or use the value from the +ua or password option, as
+it would normally.
+
+The pap_auth_hook is called to determine whether the username and
+password supplied by the peer are valid. user and passwd point to
+null-terminated strings containing the username and password supplied
+by the peer, with non-printable characters converted to a printable
+form. The pap_auth_hook function should set msg to a string to be
+returned to the peer and return 1 if the username/password was valid
+and 0 if not. If the hook returns -1, pppd will look in the
+pap-secrets file as usual.
+
+If the username/password was valid, the hook can set *paddrs to point
+to a wordlist containing the IP address(es) which the peer is
+permitted to use, formatted as in the pap-secrets file. It can also
+set *popts to a wordlist containing any extra options for this user
+which pppd should apply at this point.
+
+
+## $Id: PLUGINS 6001 2001-06-11 11:44:34Z gc $ ##
diff --git a/mdk-stage1/ppp/README b/mdk-stage1/ppp/README
new file mode 100644
index 000000000..97c173dc5
--- /dev/null
+++ b/mdk-stage1/ppp/README
@@ -0,0 +1,168 @@
+This is the README file for ppp-2.4, a package which implements the
+Point-to-Point Protocol (PPP) to provide Internet connections over
+serial lines.
+
+
+Introduction.
+*************
+
+The Point-to-Point Protocol (PPP) provides a standard way to establish
+a network connection over a serial link. At present, this package
+supports IP and the protocols layered above IP, such as TCP and UDP.
+The Linux and Solaris ports of this package have optional support for
+IPV6; the Linux port of this package also has support for IPX.
+
+This software consists of two parts:
+
+- Kernel code, which establishes a network interface and passes
+packets between the serial port, the kernel networking code and the
+PPP daemon (pppd). This code is implemented using STREAMS modules on
+SunOS 4.x and Solaris, and as a line discipline under Linux and FreeBSD.
+
+- The PPP daemon (pppd), which negotiates with the peer to establish
+the link and sets up the ppp network interface. Pppd includes support
+for authentication, so you can control which other systems may make a
+PPP connection and what IP addresses they may use.
+
+The primary platforms supported by this package are Linux and Solaris.
+Code for SunOS 4.x is included here but is largely untested. I have
+code for NeXTStep, FreeBSD, SVR4, Tru64 (Digital Unix), AIX and Ultrix
+but no active maintainers for these platforms. Code for all of these
+except AIX is included in the ppp-2.3.11 release.
+
+
+Installation.
+*************
+
+The file SETUP contains general information about setting up your
+system for using PPP. There is also a README file for each supported
+system, which contains more specific details for installing PPP on
+that system. The supported systems, and the corresponding README
+files, are:
+
+ Linux README.linux
+ Solaris 2 README.sol2
+ SunOS 4.x README.sunos4
+
+In each case you start by running the ./configure script. This works
+out which operating system you are using and creates symbolic links to
+the appropriate makefiles. You then run `make' to compile the
+user-level code, and (as root) `make install' to install the
+user-level programs pppd, chat and pppstats.
+
+N.B. Since 2.3.0, leaving the permitted IP addresses column of the
+pap-secrets or chap-secrets file empty means that no addresses are
+permitted. You need to put a "*" in that column to allow the peer to
+use any IP address. (This only applies where the peer is
+authenticating itself to you, of course.)
+
+
+What's new in ppp-2.4.1.
+************************
+
+* Pppd can now print out the set of options that are in effect. The
+ new `dump' option causes pppd to print out the option values after
+ option parsing is complete. The `dryrun' option causes pppd to
+ print the options and then exit.
+
+* The option parsing code has been fixed so that options in the
+ per-tty options file are parsed correctly, and don't override values
+ from the command line in most cases.
+
+* The plugin option now looks in /usr/lib/pppd/<pppd-version> (for
+ example, /usr/lib/pppd/2.4.1b1) for shared objects for plugins if
+ there is no slash in the plugin name.
+
+* When loading a plugin, pppd will now check the version of pppd for
+ which the plugin was compiled, and refuse to load it if it is
+ different to pppd's version string. To enable this, the plugin
+ source needs to #include "pppd.h" and have a line saying:
+ char pppd_version[] = VERSION;
+
+* There is a bug in zlib, discovered by James Carlson, which can cause
+ kernel memory corruption if Deflate is used with the lowest setting,
+ 8. As a workaround pppd will now insist on using at least 9.
+
+* Pppd should compile on Solaris and SunOS again.
+
+* Pppd should now set the MTU correctly on demand-dialled interfaces.
+
+
+What was new in ppp-2.4.0.
+**************************
+
+* Multilink: this package now allows you to combine multiple serial
+ links into one logical link or `bundle', for increased bandwidth and
+ reduced latency. This is currently only supported under the
+ Linux-2.3.99pre5 or later kernels.
+
+* All the pppd processes running on a system now write information
+ into a common database. I used the `tdb' code from samba for this.
+
+* New hooks have been added.
+
+For a list of the changes made during the 2.3 series releases of this
+package, see the Changes-2.3 file.
+
+
+Compression methods.
+********************
+
+This package supports two packet compression methods: Deflate and
+BSD-Compress. Other compression methods which are in common use
+include Predictor, LZS, and MPPC. These methods are not supported for
+two reasons - they are patent-encumbered, and they cause some packets
+to expand slightly, which pppd doesn't currently allow for.
+BSD-Compress is also patent-encumbered (its inclusion in this package
+can be considered a historical anomaly :-) but it doesn't ever expand
+packets. Neither does Deflate, which uses the same algorithm as gzip.
+
+
+Patents.
+********
+
+The BSD-Compress algorithm used for packet compression is the same as
+that used in the Unix "compress" command. It is apparently covered by
+U.S. patents 4,814,746 (owned by IBM) and 4,558,302 (owned by Unisys),
+and corresponding patents in various other countries (but not
+Australia). If this is of concern, you can build the package without
+including BSD-Compress. To do this, edit net/ppp-comp.h to change the
+definition of DO_BSD_COMPRESS to 0. The bsd-comp.c files are then no
+longer needed, so the references to bsd-comp.o may optionally be
+removed from the Makefiles.
+
+
+Contacts.
+*********
+
+The comp.protocols.ppp newsgroup is a useful place to get help if you
+have trouble getting your ppp connections to work. Please do not send
+me questions of the form "please help me get connected to my ISP" -
+I'm sorry, but I simply do not have the time to answer all the
+questions like this that I get.
+
+If you find bugs in this package, please report them to the maintainer
+for the port for the operating system you are using:
+
+Linux Paul Mackerras <paulus@linuxcare.com>
+Solaris 2 James Carlson <james.d.carlson@east.sun.com>
+SunOS 4.x Adi Masputra <adi.masputra@sun.com>
+
+
+Copyrights:
+***********
+
+All of the code can be freely used and redistributed. The individual
+source files each have their own copyright and permission notice; some
+have a BSD-style notice and some are under the GPL.
+
+
+Distribution:
+*************
+
+The primary site for releases of this software is:
+
+ ftp://linuxcare.com.au/pub/ppp/
+
+
+($Id: README 6001 2001-06-11 11:44:34Z gc $)
diff --git a/mdk-stage1/ppp/README.MSCHAP80 b/mdk-stage1/ppp/README.MSCHAP80
new file mode 100644
index 000000000..d3ed291b7
--- /dev/null
+++ b/mdk-stage1/ppp/README.MSCHAP80
@@ -0,0 +1,284 @@
+PPP Client Support for Microsoft's CHAP-80
+==========================================
+
+Eric Rosenquist rosenqui@strataware.com
+(updated by Paul Mackerras)
+(updated by Al Longyear)
+(updated by Farrell Woods)
+
+INTRODUCTION
+
+Microsoft has introduced an extension to the Challenge/Handshake
+Authentication Protocol (CHAP) which avoids storing cleartext
+passwords on a server. (Unfortunately, this is not as secure as it
+sounds, because the encrypted password stored on a server can be used
+by a bogus client to gain access to the server just as easily as if
+the password were stored in cleartext.) The details of the Microsoft
+extensions can be found in the document:
+
+ <ftp://ftp.microsoft.com/developr/rfc/chapexts.txt>
+
+In short, MS-CHAP is identified as <auth chap 80> since the hex value
+of 80 is used to designate Microsoft's scheme. Standard PPP CHAP uses
+a value of 5. If you enable PPP debugging with the "debug" option and
+see something like the following in your logs, the remote server is
+requesting MS-CHAP:
+
+ rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
+ ^^^^^^^^^^^^
+
+The standard pppd implementation will indicate its lack of support for
+MS-CHAP by NAKing it:
+
+ sent [LCP ConfNak id=0x2 <auth chap 05>]
+
+Windows NT Server systems are often configured to "Accept only
+Microsoft Authentication" (this is intended to enhance security). Up
+until now, that meant that you couldn't use this version of PPPD to
+connect to such a system. I've managed to get a client-only
+implementation of MS-CHAP working; it will authenticate itself to
+another system using MS-CHAP, but if you're using PPPD as a dial-in
+server, you won't be able to use MS-CHAP to authenticate the clients.
+This would not be a lot of extra work given that the framework is in
+place, but I didn't need it myself so I didn't implement it.
+
+
+BUILDING THE PPPD
+
+MS-CHAP uses a combination of MD4 hashing and DES encryption for
+authentication. You may need to get Eric Young's libdes library in
+order to use my MS-CHAP extensions. A lot of UNIX systems already
+have DES encryption available via the crypt(3), encrypt(3) and
+setkey(3) interfaces. Some may (such as that on Digital UNIX)
+provide only the encryption mechanism and will not perform
+decryption. This is okay. We only need to encrypt to perform
+MS-CHAP authentication.
+
+If you have encrypt/setkey available, then hopefully you need only
+define these two things in your Makefile: -DUSE_CRYPT and -DCHAPMS.
+Skip the paragraphs below about obtaining and building libdes. Do
+the "make clean" and "make" as described below. Linux users
+should not need to modify their Makefiles. Instead,
+just do "make CHAPMS=1 USE_CRYPT=1".
+
+If you don't have encrypt and setkey, you will need Eric Young's
+libdes library. You can find it in:
+
+ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.psy.uq.oz.au/DES/libdes-3.06.tar.gz
+
+Australian residents can get libdes from Eric Young's site:
+
+ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-3.06.tar.gz
+
+It is also available on many other sites (ask Archie).
+
+I used libdes-3.06, but hopefully anything newer than that will work
+also. Get the library, build and test it on your system, and install
+it somewhere (typically /usr/local/lib and /usr/local/include).
+
+
+
+You should now be ready to (re)compile the PPPD. Go to the pppd
+subdirectory and make sure the Makefile contains "-DCHAPMS" in the
+CFLAGS or COMPILE_FLAGS macro, and that the LIBS macro (or LDADD for
+BSD systems) contains "-ldes". Depending on your system and where the
+DES library was installed, you may also need to alter the include and
+library paths used by your compiler.
+
+Do a "make clean" and then a "make" to rebuild pppd. Assuming all
+goes well, install the new pppd and move on to the CONFIGURATION
+section.
+
+
+CONFIGURATION
+
+If you've never used PPPD with CHAP before, read the man page (type
+"man pppd") and read the description in there. Basically, you need to
+edit the "chap-secrets" file typically named /etc/ppp/chap-secrets.
+This should contain the following two lines for each system with which
+you use CHAP (with no leading blanks):
+
+ RemoteHost Account Secret
+ Account RemoteHost Secret
+
+Note that you need both lines and that item 1 and 2 are swapped in the
+second line. I'm not sure why you need it twice, but it works and I didn't
+have time to look into it further. The "RemoteHost" is a somewhat
+arbitrary name for the remote Windows NT system you're dialing. It doesn't
+have to match the NT system's name, but it *does* have to match what you
+use with the "remotename" parameter. The "Account" is the Windows NT
+account name you have been told to use when dialing, and the "Secret" is
+the password for that account. For example, if your service provider calls
+their machine "DialupNT" and tells you your account and password are
+"customer47" and "foobar", add the following to your chap-secrets file:
+
+ DialupNT customer47 foobar
+ customer47 DialupNT foobar
+
+The only other thing you need to do for MS-CHAP (compared to normal CHAP)
+is to always use the "remotename" option, either on the command line or in
+your "options" file (see the pppd man page for details). In the case of
+the above example, you would need to use the following command line:
+
+ pppd name customer47 remotename DialupNT <other options>
+
+or add:
+
+ name customer47
+ remotename DialupNT
+
+to your PPPD "options" file.
+
+The "remotename" option is required for MS-CHAP since Microsoft PPP servers
+don't send their system name in the CHAP challenge packet.
+
+
+E=691 (AUTHENTICATION_FAILURE) ERRORS WHEN YOU HAVE THE VALID SECRET (PASSWORD)
+
+If your RAS server is not the domain controller and is not a 'stand-alone'
+server then it must make a query to the domain controller for your domain.
+
+You need to specify the domain name with the user name when you attempt to
+use this type of a configuration. The domain name is specified with the
+local name in the chap-secrets file and with the option for the 'name'
+parameter.
+
+For example, the previous example would become:
+
+ DialupNT domain\\customer47 foobar
+ domain\\customer47 DialupNT foobar
+
+and
+
+ pppd name 'domain\\customer47' remotename DialupNT <other options>
+
+or add:
+
+ name domain\\customer47
+ remotename DialupNT
+
+when the Windows NT domain name is simply called 'domain'.
+
+
+TROUBLESHOOTING
+
+Assuming that everything else has been configured correctly for PPP and
+CHAP, the MS-CHAP-specific problems you're likely to encounter are mostly
+related to your Windows NT account and its settings. A Microsoft server
+returns error codes in its CHAP response. The following are extracted from
+Microsoft's "chapexts.txt" file referenced above:
+
+ 646 ERROR_RESTRICTED_LOGON_HOURS
+ 647 ERROR_ACCT_DISABLED
+ 648 ERROR_PASSWD_EXPIRED
+ 649 ERROR_NO_DIALIN_PERMISSION
+ 691 ERROR_AUTHENTICATION_FAILURE
+ 709 ERROR_CHANGING_PASSWORD
+
+You'll see these in your pppd log as a line similar to:
+
+ Remote message: E=649 R=0
+
+The "E=" is the error number from the table above, and the "R=" flag
+indicates whether the error is transient and the client should retry. If
+you consistently get error 691, then either you're using the wrong account
+name/password, or the DES library or MD4 hashing (in md4.c) aren't working
+properly. Verify your account name and password (use a Windows NT or
+Windows 95 system to dial-in if you have one available). If that checks
+out, test the DES library with the "destest" program included with the DES
+library. If DES checks out, the md4.c routines are probably failing
+(system byte ordering may be a problem) or my code is screwing up. I've
+only got access to a Linux system, so you're on your own for anything else.
+
+Another thing that might cause problems is that some RAS servers won't
+respond at all to LCP config requests without seeing the word "CLIENT"
+from the other end. If you see pppd sending out LCP config requests
+without getting any reply, try putting something in your chat script
+to send the word CLIENT after the modem has connected.
+
+If everything compiles cleanly, but fails at authentication time, then
+it might be a case of the MD4 or DES code screwing up. The following
+small program can be used to test the MS-CHAP code to see if it
+produces a known response:
+
+-----------------
+#include <stdio.h>
+
+#include "pppd.h"
+#include "chap.h"
+#include "chap_ms.h"
+
+int main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ u_char challenge[8];
+ int challengeInt[sizeof(challenge)];
+ chap_state cstate;
+ int i;
+
+ if (argc != 3) {
+ fprintf(stderr, "Usage: %s <16-hexchar challenge> <password>\n",
+ argv[0]); exit(1);
+ }
+
+ sscanf(argv[1], "%2x%2x%2x%2x%2x%2x%2x%2x",
+ challengeInt + 0, challengeInt + 1, challengeInt + 2,
+ challengeInt + 3, challengeInt + 4, challengeInt + 5,
+ challengeInt + 6, challengeInt + 7);
+
+ for (i = 0; i < sizeof(challenge); i++)
+ challenge[i] = (u_char)challengeInt[i];
+
+ ChapMS(&cstate, challenge, sizeof(challenge), argv[2], strlen(argv[2]));
+ printf("Response length is %d, response is:", cstate.resp_length);
+
+ for (i = 0; i < cstate.resp_length; i++) {
+ if (i % 8 == 0)
+ putchar('\n');
+ printf("%02X ", (unsigned int)cstate.response[i]);
+ }
+
+ putchar('\n');
+
+ exit(0);
+}
+-------------
+
+This needs to link against chap_ms.o, md4.o, and the DES library. When
+you run it with the command line:
+
+ $ testchap 00000000000000000000000000000000 hello
+
+it should output the following:
+
+ Response length is 49, response is:
+ 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00
+ 00 00 00 00 00 00 00 00
+ F4 D9 9D AF 82 64 DC 3C
+ 53 F9 BC 92 14 B5 5D 9E
+ 78 C4 21 48 9D B7 A8 B4
+ 01
+
+if not, then either the DES library is not working, the MD4 code isn't
+working, or there are some problems with the port of the code in
+chap_ms.c.
+
+
+STILL TO DO
+
+A site using only MS-CHAP to authenticate has no need to store cleartext
+passwords in the "chap-secrets" file. A utility that spits out the ASCII
+hex MD4 hash of a given password would be nice, and would allow that hash
+to be used in chap-secrets in place of the password. The code to do this
+could quite easily be lifted from chap_ms.c (you have to convert the
+password to Unicode before hashing it). The chap_ms.c file would also have
+to be changed to recognize a password hash (16 binary bytes == 32 ASCII hex
+characters) and skip the hashing stage.
+
+A server implementation would allow MS-CHAP to be used with Windows NT and
+Windows 95 clients for enhanced security. Some new command-line options
+would be required, as would code to generate the Challenge packet and
+verify the response. Most of the helper functions are in place, so this
+shouldn't be too hard for someone to add.
diff --git a/mdk-stage1/ppp/README.cbcp b/mdk-stage1/ppp/README.cbcp
new file mode 100644
index 000000000..6f7b7685e
--- /dev/null
+++ b/mdk-stage1/ppp/README.cbcp
@@ -0,0 +1,97 @@
+ Microsoft Call Back Configuration Protocol.
+ by Pedro Roque Marques
+ (updated by Paul Mackerras)
+
+The CBCP is a method by which the Microsoft Windows NT Server may
+implement additional security. It is possible to configure the server
+in such a manner so as to require that the client systems which
+connect with it are required that following a valid authentication to
+leave a method by which the number may be returned call.
+
+It is a requirement of servers so configured that the protocol be
+exchanged.
+
+So, this set of patches may be applied to the pppd process to enable
+the cbcp client *only* portion of the specification. It is primarily
+meant to permit connection with Windows NT Servers.
+
+The ietf-working specification may be obtained from ftp.microsoft.com
+in the developr/rfc directory.
+
+The ietf task group has decided to recommend that the LCP sequence be
+extended to permit the callback operation. For this reason, these
+patches are not 'part' of pppd but are an adjunct to the code.
+
+To enable CBCP support, all that is required is to change the
+appropriate Makefile in the pppd subdirectory to add "-DCBCP_SUPPORT"
+to the CFLAGS definition and add cbcp.o to the list of object files,
+and then recompile pppd. The patch below does this for Makefile.bsd
+and Makefile.linux.
+
+
+--------------------------------cut here-------------------------------
+diff -r -c ppp-2.3.orig/pppd/Makefile.bsd ppp-2.3/pppd/Makefile.bsd
+*** ppp-2.3.orig/pppd/Makefile.bsd Tue Oct 8 13:33:33 1996
+--- ppp-2.3/pppd/Makefile.bsd Fri Apr 11 23:59:15 1997
+***************
+*** 4,14 ****
+ # -D_BITYPES is for FreeBSD, which doesn't define anything to
+ # tell us that u_int32_t gets defined if <sys/types.h> is included.
+ # Remove for older *BSD systems for which this isn't true.
+! CFLAGS+= -g -I.. -DHAVE_PATHS_H -D_BITYPES
+
+ PROG= pppd
+ SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
+! demand.c auth.c options.c sys-bsd.c
+ MAN= pppd.cat8
+ MAN8= pppd.8
+ BINMODE=4555
+--- 4,14 ----
+ # -D_BITYPES is for FreeBSD, which doesn't define anything to
+ # tell us that u_int32_t gets defined if <sys/types.h> is included.
+ # Remove for older *BSD systems for which this isn't true.
+! CFLAGS+= -I.. -DHAVE_PATHS_H -D_BITYPES -DCBCP_SUPPORT
+
+ PROG= pppd
+ SRCS= main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
+! demand.c auth.c options.c sys-bsd.c cbcp.c
+ MAN= pppd.cat8
+ MAN8= pppd.8
+ BINMODE=4555
+diff -r -c ppp-2.3.orig/pppd/Makefile.linux ppp-2.3/pppd/Makefile.linux
+*** ppp-2.3.orig/pppd/Makefile.linux Tue Oct 8 15:42:41 1996
+--- ppp-2.3/pppd/Makefile.linux Sat Apr 12 00:02:28 1997
+***************
+*** 14,20 ****
+ ipxcp.h cbcp.h
+ MANPAGES = pppd.8
+ PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+! auth.o options.o demand.o sys-linux.o ipxcp.o
+
+ all: pppd
+
+--- 14,20 ----
+ ipxcp.h cbcp.h
+ MANPAGES = pppd.8
+ PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+! auth.o options.o demand.o sys-linux.o ipxcp.o cbcp.o
+
+ all: pppd
+
+***************
+*** 36,42 ****
+ #INCLUDE_DIRS= -I/usr/include -I..
+ INCLUDE_DIRS=
+
+! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE
+
+ CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
+
+--- 36,42 ----
+ #INCLUDE_DIRS= -I/usr/include -I..
+ INCLUDE_DIRS=
+
+! COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DCBCP_SUPPORT
+
+ CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
+
diff --git a/mdk-stage1/ppp/README.linux b/mdk-stage1/ppp/README.linux
new file mode 100644
index 000000000..62ed9ca7f
--- /dev/null
+++ b/mdk-stage1/ppp/README.linux
@@ -0,0 +1,297 @@
+ PPP for Linux
+ -------------
+
+ Paul Mackerras
+ 8 March 2001
+
+ for ppp-2.4.1
+
+1. Introduction
+---------------
+
+The Linux PPP implementation includes both kernel and user-level
+parts. This package contains the user-level part, which consists of
+the PPP daemon (pppd) and associated utilities. In the past this
+package has contained updated kernel drivers. This is no longer
+necessary, as the current 2.2 and 2.4 kernel sources contain
+up-to-date drivers.
+
+The Linux PPP implementation is capable of being used both for
+initiating PPP connections (as a `client') or for handling incoming
+PPP connections (as a `server'). Note that this is an operational
+distinction, based on how the connection is created, rather than a
+distinction that is made in the PPP protocols themselves.
+
+Mostly this package is used for PPP connections over modems connected
+via asynchronous serial ports, so this guide concentrates on this
+situation.
+
+The PPP protocol consists of two parts. One is a scheme for framing
+and encoding packets, the other is a series of protocols called LCP,
+IPCP, PAP and CHAP, for negotiating link options and for
+authentication. This package similarly consists of two parts: a
+kernel module which handles PPP's low-level framing protocol, and a
+user-level program called pppd which implements PPP's negotiation
+protocols.
+
+The kernel module assembles/disassembles PPP frames, handles error
+detection, and forwards packets between the serial port and either the
+kernel network code or the user-level program pppd. IP packets go
+directly to the kernel network code. So once pppd has negotiated the
+link, it in practice lies completely dormant until you want to take
+the link down, when it negotiates a graceful disconnect.
+
+
+2. Installation
+---------------
+
+2.1 Kernel driver
+
+Assuming you are running a recent 2.2 or 2.4 (or later) series kernel,
+the kernel source code will contain an up-to-date kernel PPP driver.
+If the PPP driver was included in your kernel configuration when your
+kernel was built, then you only need to install the user-level
+programs. Otherwise you will need to get the source tree for your
+kernel version, configure it with PPP included, and recompile. Most
+Linux distribution vendors ship kernels with PPP included in the
+configuration.
+
+The PPP driver can be either compiled into the kernel or compiled as a
+kernel module. If it is compiled into the kernel, the PPP driver is
+included in the kernel image which is loaded at boot time. If it is
+compiled as a module, the PPP driver is present in one or more files
+under /lib/modules and is loaded into the kernel when needed.
+
+The 2.2 series kernels contain an older version of the kernel PPP
+driver, one which doesn't support multilink. If you want multilink,
+you need to run the latest 2.4 series kernel. The kernel PPP driver
+was completely rewritten for the 2.4 series kernels to support
+multilink and to allow it to operate over diverse kinds of
+communication medium (the 2.2 driver only operates over serial ports
+and devices which look like serial ports, such as pseudo-ttys).
+
+Under the 2.2 kernels, if PPP is compiled as a module, the PPP driver
+modules should be present in the /lib/modules/`uname -r`/net directory
+(where `uname -r` represents the kernel version number). The PPP
+driver module itself is called ppp.o, and there will usually be
+compression modules there, ppp_deflate.o and bsd_comp.o, as well as
+slhc.o, which handles TCP/IP header compression. If the PPP driver is
+compiled into the kernel, the compression code will still be compiled
+as modules, for kernels before 2.2.17pre12. For 2.2.17pre12 and later,
+if the PPP driver is compiled in, the compression code will also.
+
+Under the 2.4 kernels, there are two PPP modules, ppp_generic.o and
+ppp_async.o, plus the compression modules (ppp_deflate.o, bsd_comp.o
+and slhc.o). If the PPP generic driver is compiled into the kernel,
+the other four can then be present either as modules or compiled into
+the kernel. There is a sixth module, ppp_synctty.o, which is used for
+synchronous tty devices such as high-speed WAN adaptors.
+
+
+2.2 User-level programs
+
+If you obtained this package in .rpm or .deb format, you simply follow
+the usual procedure for installing the package.
+
+If you are using the .tar.gz form of this package, then cd into the
+ppp-2.4.1b1 directory you obtained by unpacking the archive and issue
+the following commands:
+
+$ ./configure
+$ make
+# make install
+
+The `make install' has to be done as root. This makes and installs
+four programs and their man pages: pppd, chat, pppstats and pppdump.
+If the /etc/ppp configuration directory doesn't exist, the `make
+install' step will create it and install some default configuration
+files.
+
+
+2.3 System setup for 2.4 kernels
+
+Under the 2.4 series kernels, pppd needs to be able to open /dev/ppp,
+character device (108,0). If you are using devfs (the device
+filesystem), the /dev/ppp node will automagically appear when the
+ppp_generic module is loaded, or at startup if ppp_generic is compiled
+in.
+
+If you have ppp_generic as a module, and you are using devfsd (the
+devfs daemon), you will need to add a line like this to your
+/etc/devfsd.conf:
+
+LOOKUP ppp MODLOAD
+
+Otherwise you will need to create a /dev/ppp device node with the
+commands:
+
+# mknod /dev/ppp c 108 0
+# chmod 600 /dev/ppp
+
+If you use module autoloading and have PPP as a module, you will need
+to add the following to your /etc/modules.conf or /etc/conf.modules:
+
+alias /dev/ppp ppp_generic
+alias char-major-108 ppp_generic
+alias tty-ldisc-3 ppp_async
+alias tty-ldisc-14 ppp_synctty
+alias ppp-compress-21 bsd_comp
+alias ppp-compress-24 ppp_deflate
+alias ppp-compress-26 ppp_deflate
+
+
+2.4 System setup under 2.2 series kernels
+
+Under the 2.2 series kernels, you should add the following to your
+/etc/modules.conf or /etc/conf.modules:
+
+alias tty-ldisc-3 ppp
+alias ppp-compress-21 bsd_comp
+alias ppp-compress-24 ppp_deflate
+alias ppp-compress-26 ppp_deflate
+
+
+3. Getting help with problems
+-----------------------------
+
+If you have problems with your PPP setup, or you just want to ask some
+questions, or better yet if you can help others with their PPP
+questions, then you should join the linux-ppp mailing list. Send an
+email to majordomo@vger.kernel.org with a line in the body saying
+
+subscribe linux-ppp
+
+To leave the mailing list, send an email to majordomo@vger.kernel.org
+with a line in the body saying
+
+unsubscribe linux-ppp
+
+To send a message to the list, email it to linux-ppp@vger.kernel.org.
+You don't have to be subscribed to send messages to the list.
+
+You can also email me (paulus@linuxcare.com.au) but I am overloaded
+with email and I can't respond to most messages I get in a timely
+fashion.
+
+There are also several relevant news groups, such as comp.protocols.ppp,
+comp.os.linux.networking, or comp.os.linux.setup.
+
+
+4. Configuring your dial-out PPP connections
+--------------------------------------------
+
+Some Linux distribution makers include tools in their distributions
+for setting up PPP connections. For example, for Red Hat Linux and
+derivatives, you should probably use linuxconf or netcfg to set up
+your PPP connections.
+
+The two main windowing environments for Linux, KDE and Gnome, both
+come with GUI utilities for configuring and controlling PPP dial-out
+connections. They are convenient and relatively easy to configure.
+
+A third alternative is to use a PPP front-end package such as wvdial
+or ezppp. These also will handle most of the details of talking to
+the modem and setting up the PPP connection for you.
+
+Assuming that you don't want to use any of these tools, you want to
+set up the configuration manually yourself, then read on. This
+document gives a brief description and example. More details can be
+found by reading the pppd and chat man pages and the PPP-HOWTO.
+
+We assume that you have a modem that uses the Hayes-compatible AT
+command set connected to an async serial port (e.g. /dev/ttyS0) and
+that you are dialling out to an ISP.
+
+The trickiest and most variable part of setting up a dial-out PPP
+connection is the part which involves getting the modem to dial and
+then invoking PPP service at the far end. Generally, once both ends
+are talking PPP the rest is relatively straightforward.
+
+Now in fact pppd doesn't know anything about how to get modems to dial
+or what you have to say to the system at the far end to get it to talk
+PPP. That's handled by an external program such as chat, specified
+with the connect option to pppd. Chat takes a series of strings to
+expect from the modem interleaved with a series of strings to send to
+the modem. See the chat man page for more information. Here is a
+simple example for connecting to an ISP, assuming that the ISP's
+system starts talking PPP as soon as it answers the phone:
+
+pppd connect 'chat -v "" AT OK ATDT5551212 ~' \
+ /dev/ttyS0 57600 crtscts debug defaultroute
+
+Going through pppd's options in order:
+ connect 'chat ...' This gives a command to run to contact the
+ PPP server. Here the supplied 'chat' program is used to dial a
+ remote computer. The whole command is enclosed in single quotes
+ because pppd expects a one-word argument for the 'connect' option.
+ The options to 'chat' itself are:
+
+ -v verbose mode; log what we do to syslog
+ "" don't wait for any prompt, but instead...
+ AT send the string "AT"
+ OK expect the response "OK", then
+ ATDT5551212 dial the modem, then
+ ~ wait for a ~ character, indicating the start
+ of a PPP frame from the server
+
+ /dev/ttyS0 specifies which serial port the modem is connected to
+ 57600 specifies the baud rate to use
+ crtscts use hardware flow control using the RTS & CTS signals
+ debug log the PPP negotiation with syslog
+ defaultroute add default network route via the PPP link
+
+Pppd will write error messages and debugging logs to the syslogd
+daemon using the facility name "daemon". These messages may already
+be logged to the console or to a file like /var/log/messages; consult
+your /etc/syslog.conf file to see. If you want to make all pppd
+messages go to a file such as /var/log/ppp-debug, add the line
+
+daemon.* /var/log/ppp-debug
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ This is one or more tabs. Do not use spaces.
+
+to syslog.conf; make sure to put one or more TAB characters (not
+spaces!) between the two fields. Then you need to create an empty
+/var/log/ppp-debug file with a command such as
+
+ touch /var/log/ppp-debug
+
+and then restart syslogd, usually by sending it a SIGHUP signal with a
+command like this:
+
+ killall -HUP syslogd
+
+
+4.1 Is the link up?
+
+The main way to tell if your PPP link is up and operational is the
+ifconfig ("interface configuration") command. Type
+
+ /sbin/ifconfig
+
+at a shell prompt. It should print a list of interfaces including one
+like this example:
+
+ppp0 Link encap Point-to-Point Protocol
+ inet addr 192.76.32.3 P-t-P 129.67.1.165 Mask 255.255.255.0
+ UP POINTOPOINT RUNNING MTU 1500 Metric 1
+ RX packets 33 errors 0 dropped 0 overrun 0
+ TX packets 42 errors 0 dropped 0 overrun 0
+
+Assuming that ifconfig shows the ppp network interface, you can test
+the link using the ping command like this:
+
+ /sbin/ping -c 3 129.67.1.165
+
+where the address you give is the address shown as the P-t-P address
+in the ifconfig output. If the link is operating correctly, you
+should see output like this:
+
+ PING 129.67.1.165 (129.67.1.165): 56 data bytes
+ 64 bytes from 129.67.1.165: icmp_seq=0 ttl=255 time=268 ms
+ 64 bytes from 129.67.1.165: icmp_seq=1 ttl=255 time=247 ms
+ 64 bytes from 129.67.1.165: icmp_seq=2 ttl=255 time=266 ms
+ --- 129.67.1.165 ping statistics ---
+ 3 packets transmitted, 3 packets received, 0% packet loss
+ round-trip min/avg/max = 247/260/268 ms
+
diff --git a/mdk-stage1/ppp/README.sol2 b/mdk-stage1/ppp/README.sol2
new file mode 100644
index 000000000..4c862208f
--- /dev/null
+++ b/mdk-stage1/ppp/README.sol2
@@ -0,0 +1,220 @@
+This file describes the installation process for ppp-2.3 on systems
+running Solaris 2. The Solaris 2 and SVR4 ports share a lot of code
+but are not identical. The STREAMS kernel modules and driver for
+Solaris 2 are in the svr4 directory (and use some code from the
+modules directory).
+
+NOTE: Although the kernel driver and modules have been designed to
+operate correctly on SMP systems, they have not been extensively
+tested on SMP machines. Some users of SMP Solaris x86 systems have
+reported system problems apparently linked to the use of previous
+versions of this software. I believe these problems have been fixed.
+
+
+Installation.
+*************
+
+1. Run the configure script and make the user-level programs and the
+kernel modules.
+
+ ./configure
+ make
+
+If you wish to use gcc (or another compiler) instead of Sun's cc, edit
+the svr4/Makedefs file and uncomment the definition of CC. You can
+also change the options passed to the C compiler by editing the COPTS
+definition.
+
+2. Install the programs and kernel modules: as root, do
+
+ make install
+
+This installs pppd, chat and pppstats in /usr/local/bin and the kernel
+modules in /kernel/drv and /kernel/strmod, and creates the /etc/ppp
+directory and populates it with default configuration files. You can
+change the installation directories by editing svr4/Makedefs.
+
+If your system normally has only one network interface, the default
+Solaris 2 system startup scripts will disable IP forwarding in the IP
+kernel module. This will prevent the remote machine from using the
+local machine as a gateway to access other hosts. The solution is to
+create an /etc/ppp/ip-up script containing something like this:
+
+ #!/bin/sh
+ /usr/sbin/ndd -set /dev/ip ip_forwarding 1
+
+See the man page for ip(7p) for details.
+
+Dynamic STREAMS Re-Plumbing Support.
+************************************
+
+Solaris 8 includes dynamic re-plumbing support. With this, modules
+below ip can be inserted, or removed, without having the ip stream be
+unplumbed, and re-plumbed again. All states in ip for an interface
+will therefore now be preserved. Users can install (or upgrade)
+modules like firewall, bandwidth manager, cache manager, tunneling,
+etc., without shutting the machine down.
+
+To support this, ppp driver now uses /dev/udp instead of /dev/ip for
+the ip stream. The interface stream (where ip module pushed on top of
+ppp) is then I_PLINK'ed below the ip stream. /dev/udp is used because
+STREAMS will not let a driver be PLINK'ed under itself, and /dev/ip is
+typically the driver at the bottom of the tunneling interfaces
+stream. The mux ids of the ip streams are then added using
+SIOCSxIFMUXID ioctl.
+
+Users will be able to see the modules on the interface stream by, for
+example:
+
+ pikapon% ifconfig ppp modlist
+ 0 ip
+ 1 ppp
+
+Or arbitrarily if bandwidth manager and firewall modules are installed:
+
+ pikapon% ifconfig hme0 modlist
+ 0 arp
+ 1 ip
+ 2 ipqos
+ 3 firewall
+ 4 hme
+
+Snoop Support.
+**************
+
+This version includes support for /usr/sbin/snoop. Tests has been done
+on both Solaris 7 and 8. Only IPv4 and IPv6 packets will be sent up to
+stream(s) marked as promiscuous, e.g, snoop et al.
+
+Users will be able to see the packets on the ppp interface by, for example:
+
+ snoop -d ppp0
+
+See the man page for snoop(1M) for details.
+
+IPv6 Support.
+*************
+
+This is for Solaris 8 and later.
+
+This version has been tested under Solaris 8 running IPv6. As of now,
+interoperability testing has only been done between Solaris machines
+in terms of the IPV6 NCP. An additional command line option for the
+pppd daemon has been added: ipv6cp-use-persistent.
+
+By default, compilation for IPv6 support is not enabled. Uncomment
+the necessary lines in pppd/Makefile.sol2 to enable it. Once done, the
+quickest way to get IPv6 running is to add the following somewhere in
+the command line option:
+
+ +ipv6 ipv6cp-use-persistent
+
+The persistent id for the link-local address was added to conform to
+RFC 2472; such that if there's an EUI-48 available, use that to make
+up the EUI-64. As of now, the Solaris implementation extracts the
+EUI-48 id from the Ethernet's MAC address (the ethernet interface
+needs to be up). Future works might support other ways of obtaining a
+unique yet persistent id, such as EEPROM serial numbers, etc.
+
+There need not be any up/down scripts for ipv6, e.g. /etc/ppp/ipv6-up
+or /etc/ppp/ipv6-down, to trigger IPv6 neighbor discovery for auto
+configuration and routing. The in.ndpd daemon will perform all of the
+necessary jobs in the background. /etc/inet/ndpd.conf can be further
+customized to enable the machine as an IPv6 router. See the man page
+for in.ndpd(1M) and ndpd.conf(4) for details.
+
+Below is a sample output of "ifconfig -a" with persistent link-local
+address. Note the UNNUMBERED flag is set because hme0 and ppp0 both
+have identical link-local IPv6 addresses:
+
+lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
+ inet 127.0.0.1 netmask ff000000
+hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
+ inet 129.146.86.248 netmask ffffff00 broadcast 129.146.86.255
+ ether 8:0:20:8d:38:c1
+lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
+ inet6 ::1/128
+hme0: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
+ ether 8:0:20:8d:38:c1
+ inet6 fe80::a00:20ff:fe8d:38c1/10
+hme0:1: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
+ inet6 fec0::56:a00:20ff:fe8d:38c1/64
+hme0:2: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
+ inet6 2000::56:a00:20ff:fe8d:38c1/64
+hme0:3: flags=2080841<UP,RUNNING,MULTICAST,ADDRCONF,IPv6> mtu 1500 index 2
+ inet6 2::56:a00:20ff:fe8d:38c1/64
+ppp0: flags=10008d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,IPv4> mtu 1500 index 12
+ inet 172.16.1.1 --> 172.16.1.2 netmask ffffff00
+ppp0: flags=2202851<UP,POINTOPOINT,RUNNING,MULTICAST,UNNUMBERED,NONUD,IPv6> mtu 1500 index 12
+ inet6 fe80::a00:20ff:fe8d:38c1/10 --> fe80::a00:20ff:fe7a:24fb
+
+Note also that a plumbed ipv6 interface stream will exist throughout
+the entire PPP session in the case where the peer rejects IPV6CP,
+which further causes the interface state to stay down. Unplumbing will
+happen when the daemon exits. This is done by design and is not a bug.
+
+64-bit Support.
+***************
+
+This version has been tested under Solaris 7 (and Solaris 8 ) in both
+32- and 64-bits environments (Ultra class machines). Installing the
+package by executing "make install" will result in additional files
+residing in /kernel/drv/sparcv9 and /kernel/strmod/sparcv9
+subdirectories.
+
+64-bit modules and driver have been compiled and tested using Sun's cc.
+
+Synchronous Serial Support.
+***************************
+
+This version has working but limited support for the on-board
+synchronous HDLC interfaces. It has been tested with the /dev/se_hdlc
+and /dev/zsh drivers. Synchronous mode was tested with a Cisco
+router.
+
+There ppp daemon does not directly support controlling the serial
+interface. It relies on the /usr/sbin/syncinit command to initialize
+HDLC mode and clocking.
+
+Some bugs remain: large sized frames are not sent/received properly,
+and may be related to the IP mtu. This may be due to bugs in pppd
+itself, bugs in Solaris or the serial drivers. The /dev/zsh driver
+seems more larger and can send/receive larger frames than the
+/dev/se_hdlc driver. There is a confirmed bug with NRZ/NRZI mode in
+the /dev/se_hdlc driver, and Solaris patch 104596-11 is needed to
+correct it. (However this patch seems to introduce other serial
+problems. If you don't apply the patch, the workaround is to change
+the nrzi mode to yes or no, whichever works)
+
+How to start pppd with synchronous support:
+
+#!/bin/sh
+
+local=1.1.1.1 # your ip address here
+baud=38400 # needed, but ignored by serial driver
+
+# Change to the correct serial driver/port
+#dev=/dev/zsh0
+dev=/dev/se_hdlc0
+
+# Change the driver, nrzi mode, speed and clocking to match your setup
+# This configuration is for external clocking from the DCE
+connect="syncinit se_hdlc0 nrzi=no speed=64000 txc=rxc rxc=rxc"
+
+/usr/sbin/pppd $dev sync $baud novj noauth $local: connect "$connect"
+
+
+Sample Cisco router config excerpt:
+
+!
+! Cisco router setup as DCE with RS-232 DCE cable
+!
+!
+interface Serial0
+ ip address 1.1.1.2 255.255.255.0
+ encapsulation ppp
+ clockrate 64000
+ no nrzi-encoding
+ no shutdown
+!
+
diff --git a/mdk-stage1/ppp/README.sunos4 b/mdk-stage1/ppp/README.sunos4
new file mode 100644
index 000000000..b48aec377
--- /dev/null
+++ b/mdk-stage1/ppp/README.sunos4
@@ -0,0 +1,62 @@
+This file describes the installation process for ppp-2.3 on systems
+running SunOS 4.1.x (or the equivalent).
+
+The STREAMS modules in the sunos4 directory provide kernel support for
+PPP on SunOS 4.1.x systems. They have been tested under SunOS 4.1.3
+on a SparcStation 1+. They should work under earlier SunOS 4.1.x
+systems, but no guarantees are given.
+
+These modules are designed to be loaded into the running kernel using
+the `modload' command.
+
+
+Installation.
+*************
+
+1. Run the configure script and make the user-level programs and the
+kernel modules.
+
+ ./configure
+ make
+
+If you wish to compile using gcc instead of cc, edit the
+sunos4/Makedefs file and uncomment the line saying "CC = gcc". You
+can also change the C compiler options by editing the COPTS
+definition.
+
+2. Install the pppd, pppstats and chat programs and the loadable
+module object files (you need to be root to do this):
+
+ make install
+
+By default, the programs and the loadable module object files go into
+/usr/local/etc. Doing `make install' also copies a script called
+ppp.INSTALL into /dev, and makes ppp.LOAD, ppp.UNLOAD, ppp.MKDEV and
+ppp.RMDEV links to it. You can change the installation directories by
+editing sunos4/Makedefs.
+
+3. Load the ppp modules (you need to be root for this too):
+
+ /dev/ppp.LOAD
+
+You will want to do this in your /etc/rc.local file once you have
+everything installed. I suggest you put something like the following
+in /etc/rc.local (or /etc/loadable, if you have one):
+
+ if [ -f /dev/ppp.AUTOLOAD ]; then
+ /dev/ppp.LOAD
+ fi
+
+and then create a /dev/ppp.AUTOLOAD file with the command
+
+ touch /dev/ppp.AUTOLOAD
+
+It is not advisable to unload the "if_ppp" module, because it creates
+network interface units, and SunOS does not provide any way to destroy
+network interfaces once created. If you do unload it, the system will
+probably crash at some later stage.
+
+If you have previously had ppp-2.2 installed, you may have statements
+in your /etc/rc.local to load the ppp module. You will need to remove
+those. Having done this, you will need to reboot to remove the old
+ppp module and load the new modules.
diff --git a/mdk-stage1/ppp/SETUP b/mdk-stage1/ppp/SETUP
new file mode 100644
index 000000000..fb28a2138
--- /dev/null
+++ b/mdk-stage1/ppp/SETUP
@@ -0,0 +1,111 @@
+ Configuring a PPP link.
+
+After you have compiled and installed this package, there are some
+configuration files which will generally need to be set up. The
+pppd(8) man page is the best reference for the full details; this file
+outlines the configuration process for the most common case, where
+this package is being used to enable a machine to dial an ISP and
+connect to the internet. The FAQ and README.linux files also provide
+useful information about setting up PPP.
+
+Dialling an ISP.
+****************
+
+Usually, an ISP will assign an IP address to your machine, and will
+refuse to authenticate itself to you. Some ISPs require a username
+and password to be entered before PPP service commences, while others
+use PPP authentication (using either the PAP or CHAP protocols).
+
+The recommended way to set up to dial an ISP is for the system
+administrator to create a file under /etc/ppp/peers, named for the ISP
+that you will be dialling. For example, suppose the file is called
+/etc/ppp/peers/isp. This file would contain something like this:
+
+cua0 # modem is connected to /dev/cua0
+38400 # run the serial port at 38400 baud
+crtscts # use hardware flow control
+noauth # don't require the ISP to authenticate itself
+defaultroute # use the ISP as our default route
+connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
+
+If there are any other pppd options that should apply when calling
+this ISP, they can also be placed in this file.
+
+The /etc/ppp/chat-isp file named in the last line contains the script
+for chat(8) to use to dial the ISP and go through any username/
+password authentication required before PPP service starts. Here is
+an example (for dialling an Annex terminal server):
+
+ABORT "NO CARRIER"
+ABORT "NO DIALTONE"
+ABORT "ERROR"
+ABORT "NO ANSWER"
+ABORT "BUSY"
+ABORT "Username/Password Incorrect"
+"" "at"
+OK "at&d2&c1"
+OK "atdt2479381"
+"name:" "^Uusername"
+"word:" "\qpassword"
+"annex" "ppp"
+"Switching to PPP-ppp-Switching to PPP"
+
+See the chat(8) man page for details of the script. If you are not
+sure how the initial dialog with your ISP will go, you could use
+a terminal emulator such as kermit or minicom to go through the
+process manually.
+
+If your ISP requires PAP or CHAP authentication, you will have to
+create a line in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets like
+this:
+
+myhostname * "password"
+
+(Replace myhostname with the hostname of your machine.)
+
+At this point, you can initiate the link with the command:
+
+/usr/sbin/pppd call isp
+
+(N.B.: pppd might be installed in a different directory on some
+systems).
+
+This will return to the shell prompt immediately, as pppd will detach
+itself from its controlling terminal. (If you don't want it to do
+this, use the "nodetach" option.)
+
+Pppd will log messages describing the progress of the connection and
+any errors using the syslog facility (see the syslogd(8) and
+syslog.conf(5) man pages). Pppd issues messages using syslog facility
+daemon (or local2 if it has been compiled with debugging enabled);
+chat uses facility local2. It is often useful to see messages of
+priority notice or higher on the console. To see these, find the line
+in /etc/syslog.conf which has /dev/console on the right-hand side, and
+add `daemon.notice' on the left. This line should end up something
+like this:
+
+*.err;kern.debug;daemon,local2,auth.notice;mail.crit /dev/console
+
+If you want to see more messages from pppd, request messages of
+priority info or higher for facility daemon, like this:
+
+*.err;kern.debug;daemon.info;local2,auth.notice;mail.crit /dev/console
+
+It is also useful to add a line like this:
+
+daemon,local2.debug /etc/ppp/ppp-log
+
+If you do this, you will need to create an empty /etc/ppp/ppp-log
+file.
+
+After modifying syslog.conf, you will then need to send a HUP signal
+to syslogd (or reboot).
+
+When you wish terminate the PPP link, you should send a TERM or INTR
+signal to pppd. Pppd writes its process ID to a file called
+ppp<n>.pid in /var/run (or /etc/ppp on older systems such as SunOS or
+Ultrix). Here <n> is the PPP interface unit number, which will be 0
+unless you have more than one PPP link running simultaneously. Thus
+you can terminate the link with a command like
+
+ kill `cat /var/run/ppp0.pid`
diff --git a/mdk-stage1/ppp/chat/Makefile.linux b/mdk-stage1/ppp/chat/Makefile.linux
new file mode 100644
index 000000000..7c7fb69af
--- /dev/null
+++ b/mdk-stage1/ppp/chat/Makefile.linux
@@ -0,0 +1,27 @@
+# $Id: Makefile.linux 6001 2001-06-11 11:44:34Z gc $
+
+CDEF1= -DTERMIOS # Use the termios structure
+CDEF2= -DSIGTYPE=void # Standard definition
+CDEF3= -UNO_SLEEP # Use the usleep function
+CDEF4= -DFNDELAY=O_NDELAY # Old name value
+CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
+
+CFLAGS= $(RPM_OPT_FLAGS) $(CDEFS)
+
+INSTALL= install
+
+all: chat
+
+chat: chat.o
+ $(CC) -o chat chat.o
+
+chat.o: chat.c
+ $(CC) -c $(CFLAGS) -o chat.o chat.c
+
+install: chat
+ mkdir -p $(BINDIR)
+ $(INSTALL) -s -c chat $(BINDIR)
+ $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
+
+clean:
+ rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.linux.makeopt b/mdk-stage1/ppp/chat/Makefile.linux.makeopt
new file mode 100644
index 000000000..6176de538
--- /dev/null
+++ b/mdk-stage1/ppp/chat/Makefile.linux.makeopt
@@ -0,0 +1,27 @@
+# $Id: Makefile.linux.makeopt 6001 2001-06-11 11:44:34Z gc $
+
+CDEF1= -DTERMIOS # Use the termios structure
+CDEF2= -DSIGTYPE=void # Standard definition
+CDEF3= -UNO_SLEEP # Use the usleep function
+CDEF4= -DFNDELAY=O_NDELAY # Old name value
+CDEFS= $(CDEF1) $(CDEF2) $(CDEF3) $(CDEF4)
+
+CFLAGS= -O2 -g -pipe $(CDEFS)
+
+INSTALL= install
+
+all: chat
+
+chat: chat.o
+ $(CC) -o chat chat.o
+
+chat.o: chat.c
+ $(CC) -c $(CFLAGS) -o chat.o chat.c
+
+install: chat
+ mkdir -p $(BINDIR)
+ $(INSTALL) -s -c chat $(BINDIR)
+ $(INSTALL) -c -m 644 chat.8 $(MANDIR)/man8
+
+clean:
+ rm -f chat.o chat *~
diff --git a/mdk-stage1/ppp/chat/Makefile.sol2 b/mdk-stage1/ppp/chat/Makefile.sol2
new file mode 100644
index 000000000..f566cc68b
--- /dev/null
+++ b/mdk-stage1/ppp/chat/Makefile.sol2
@@ -0,0 +1,19 @@
+#
+# Makefile for chat on Solaris 2
+#
+
+include ../solaris/Makedefs
+
+CFLAGS = $(COPTS) -DNO_USLEEP -DSOL2
+
+all: chat
+
+chat: chat.o
+ $(CC) -o chat chat.o
+
+install: chat
+ $(INSTALL) -f $(BINDIR) chat
+ $(INSTALL) -m 444 -f $(MANDIR)/man8 chat.8
+
+clean:
+ rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/Makefile.sunos4 b/mdk-stage1/ppp/chat/Makefile.sunos4
new file mode 100644
index 000000000..b3507360e
--- /dev/null
+++ b/mdk-stage1/ppp/chat/Makefile.sunos4
@@ -0,0 +1,19 @@
+#
+# Makefile for chat on suns
+#
+
+include ../sunos4/Makedefs
+
+CFLAGS = -DSUNOS $(COPTS)
+
+all: chat
+
+chat: chat.o
+ $(CC) -o chat chat.o
+
+install: chat
+ $(INSTALL) -c chat $(BINDIR)/chat
+ $(INSTALL) -c -m 444 chat.8 $(MANDIR)/man8/chat.8
+
+clean:
+ rm -f *~ *.o chat
diff --git a/mdk-stage1/ppp/chat/chat.8 b/mdk-stage1/ppp/chat/chat.8
new file mode 100644
index 000000000..3412f13cd
--- /dev/null
+++ b/mdk-stage1/ppp/chat/chat.8
@@ -0,0 +1,515 @@
+.\" -*- nroff -*-
+.\" manual page [] for chat 1.8
+.\" $Id: chat.8 6001 2001-06-11 11:44:34Z gc $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.TH CHAT 8 "22 May 1999" "Chat Version 1.22"
+.SH NAME
+chat \- Automated conversational script with a modem
+.SH SYNOPSIS
+.B chat
+[
+.I options
+]
+.I script
+.SH DESCRIPTION
+.LP
+The \fIchat\fR program defines a conversational exchange between the
+computer and the modem. Its primary purpose is to establish the
+connection between the Point-to-Point Protocol Daemon (\fIpppd\fR) and
+the remote's \fIpppd\fR process.
+.SH OPTIONS
+.TP
+.B -f \fI<chat file>
+Read the chat script from the chat \fIfile\fR. The use of this option
+is mutually exclusive with the chat script parameters. The user must
+have read access to the file. Multiple lines are permitted in the
+file. Space or horizontal tab characters should be used to separate
+the strings.
+.TP
+.B -t \fI<timeout>
+Set the timeout for the expected string to be received. If the string
+is not received within the time limit then the reply string is not
+sent. An alternate reply may be sent or the script will fail if there
+is no alternate reply string. A failed script will cause the
+\fIchat\fR program to terminate with a non-zero error code.
+.TP
+.B -r \fI<report file>
+Set the file for output of the report strings. If you use the keyword
+\fIREPORT\fR, the resulting strings are written to this file. If this
+option is not used and you still use \fIREPORT\fR keywords, the
+\fIstderr\fR file is used for the report strings.
+.TP
+.B -e
+Start with the echo option turned on. Echoing may also be turned on
+or off at specific points in the chat script by using the \fIECHO\fR
+keyword. When echoing is enabled, all output from the modem is echoed
+to \fIstderr\fR.
+.TP
+.B -E
+Enables environment variable substituion within chat scripts using the
+standard \fI$xxx\fR syntax.
+.TP
+.B -v
+Request that the \fIchat\fR script be executed in a verbose mode. The
+\fIchat\fR program will then log the execution state of the chat
+script as well as all text received from the modem and the output
+strings sent to the modem. The default is to log through the SYSLOG;
+the logging method may be altered with the -S and -s flags.
+.TP
+.B -V
+Request that the \fIchat\fR script be executed in a stderr verbose
+mode. The \fIchat\fR program will then log all text received from the
+modem and the output strings sent to the modem to the stderr device. This
+device is usually the local console at the station running the chat or
+pppd program.
+.TP
+.B -s
+Use stderr. All log messages from '-v' and all error messages will be
+sent to stderr.
+.TP
+.B -S
+Do not use the SYSLOG. By default, error messages are sent to the
+SYSLOG. The use of -S will prevent both log messages from '-v' and
+error messages from being sent to the SYSLOG.
+.TP
+.B -T \fI<phone number>
+Pass in an arbitary string, usually a phone number, that will be
+substituted for the \\T substitution metacharacter in a send string.
+.TP
+.B -U \fI<phone number 2>
+Pass in a second string, usually a phone number, that will be
+substituted for the \\U substitution metacharacter in a send string.
+This is useful when dialing an ISDN terminal adapter that requires two
+numbers.
+.TP
+.B script
+If the script is not specified in a file with the \fI-f\fR option then
+the script is included as parameters to the \fIchat\fR program.
+.SH CHAT SCRIPT
+.LP
+The \fIchat\fR script defines the communications.
+.LP
+A script consists of one or more "expect-send" pairs of strings,
+separated by spaces, with an optional "subexpect-subsend" string pair,
+separated by a dash as in the following example:
+.IP
+ogin:-BREAK-ogin: ppp ssword: hello2u2
+.LP
+This line indicates that the \fIchat\fR program should expect the string
+"ogin:". If it fails to receive a login prompt within the time interval
+allotted, it is to send a break sequence to the remote and then expect the
+string "ogin:". If the first "ogin:" is received then the break sequence is
+not generated.
+.LP
+Once it received the login prompt the \fIchat\fR program will send the
+string ppp and then expect the prompt "ssword:". When it receives the
+prompt for the password, it will send the password hello2u2.
+.LP
+A carriage return is normally sent following the reply string. It is not
+expected in the "expect" string unless it is specifically requested by using
+the \\r character sequence.
+.LP
+The expect sequence should contain only what is needed to identify the
+string. Since it is normally stored on a disk file, it should not contain
+variable information. It is generally not acceptable to look for time
+strings, network identification strings, or other variable pieces of data as
+an expect string.
+.LP
+To help correct for characters which may be corrupted during the initial
+sequence, look for the string "ogin:" rather than "login:". It is possible
+that the leading "l" character may be received in error and you may never
+find the string even though it was sent by the system. For this reason,
+scripts look for "ogin:" rather than "login:" and "ssword:" rather than
+"password:".
+.LP
+A very simple script might look like this:
+.IP
+ogin: ppp ssword: hello2u2
+.LP
+In other words, expect ....ogin:, send ppp, expect ...ssword:, send hello2u2.
+.LP
+In actual practice, simple scripts are rare. At the vary least, you
+should include sub-expect sequences should the original string not be
+received. For example, consider the following script:
+.IP
+ogin:--ogin: ppp ssword: hello2u2
+.LP
+This would be a better script than the simple one used earlier. This would look
+for the same login: prompt, however, if one was not received, a single
+return sequence is sent and then it will look for login: again. Should line
+noise obscure the first login prompt then sending the empty line will
+usually generate a login prompt again.
+.SH COMMENTS
+Comments can be embedded in the chat script. A comment is a line which
+starts with the \fB#\fR (hash) character in column 1. Such comment
+lines are just ignored by the chat program. If a '#' character is to
+be expected as the first character of the expect sequence, you should
+quote the expect string.
+If you want to wait for a prompt that starts with a # (hash)
+character, you would have to write something like this:
+.IP
+# Now wait for the prompt and send logout string
+.br
+\'# ' logout
+.LP
+
+.SH SENDING DATA FROM A FILE
+If the string to send starts with an at sign (@), the rest of the
+string is taken to be the name of a file to read to get the string to
+send. If the last character of the data read is a newline, it is
+removed. The file can be a named pipe (or fifo) instead of a regular
+file. This provides a way for \fBchat\fR to communicate with another
+program, for example, a program to prompt the user and receive a
+password typed in.
+.LP
+
+.SH ABORT STRINGS
+Many modems will report the status of the call as a string. These
+strings may be \fBCONNECTED\fR or \fBNO CARRIER\fR or \fBBUSY\fR. It
+is often desirable to terminate the script should the modem fail to
+connect to the remote. The difficulty is that a script would not know
+exactly which modem string it may receive. On one attempt, it may
+receive \fBBUSY\fR while the next time it may receive \fBNO CARRIER\fR.
+.LP
+These "abort" strings may be specified in the script using the \fIABORT\fR
+sequence. It is written in the script as in the following example:
+.IP
+ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT
+.LP
+This sequence will expect nothing; and then send the string ATZ. The
+expected response to this is the string \fIOK\fR. When it receives \fIOK\fR,
+the string ATDT5551212 to dial the telephone. The expected string is
+\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder of the
+script is executed. However, should the modem find a busy telephone, it will
+send the string \fIBUSY\fR. This will cause the string to match the abort
+character sequence. The script will then fail because it found a match to
+the abort string. If it received the string \fINO CARRIER\fR, it will abort
+for the same reason. Either string may be received. Either string will
+terminate the \fIchat\fR script.
+.SH CLR_ABORT STRINGS
+This sequence allows for clearing previously set \fBABORT\fR strings.
+\fBABORT\fR strings are kept in an array of a pre-determined size (at
+compilation time); \fBCLR_ABORT\fR will reclaim the space for cleared
+entries so that new strings can use that space.
+.SH SAY STRINGS
+The \fBSAY\fR directive allows the script to send strings to the user
+at the terminal via standard error. If \fBchat\fR is being run by
+pppd, and pppd is running as a daemon (detached from its controlling
+terminal), standard error will normally be redirected to the file
+/etc/ppp/connect-errors.
+.LP
+\fBSAY\fR strings must be enclosed in single or double quotes. If
+carriage return and line feed are needed in the string to be output,
+you must explicitely add them to your string.
+.LP
+The SAY strings could be used to give progress messages in sections of
+the script where you want to have 'ECHO OFF' but still let the user
+know what is happening. An example is:
+.IP
+ABORT BUSY
+.br
+ECHO OFF
+.br
+SAY "Dialling your ISP...\\n"
+.br
+\'' ATDT5551212
+.br
+TIMEOUT 120
+.br
+SAY "Waiting up to 2 minutes for connection ... "
+.br
+CONNECT ''
+.br
+SAY "Connected, now logging in ...\n"
+.br
+ogin: account
+.br
+ssword: pass
+.br
+$ \c
+SAY "Logged in OK ...\n"
+\fIetc ...\fR
+.LP
+This sequence will only present the SAY strings to the user and all
+the details of the script will remain hidden. For example, if the
+above script works, the user will see:
+.IP
+Dialling your ISP...
+.br
+Waiting up to 2 minutes for connection ... Connected, now logging in ...
+.br
+Logged in OK ...
+.LP
+
+.SH REPORT STRINGS
+A \fBreport\fR string is similar to the ABORT string. The difference
+is that the strings, and all characters to the next control character
+such as a carriage return, are written to the report file.
+.LP
+The report strings may be used to isolate the transmission rate of the
+modem's connect string and return the value to the chat user. The
+analysis of the report string logic occurs in conjunction with the
+other string processing such as looking for the expect string. The use
+of the same string for a report and abort sequence is probably not
+very useful, however, it is possible.
+.LP
+The report strings to no change the completion code of the program.
+.LP
+These "report" strings may be specified in the script using the \fIREPORT\fR
+sequence. It is written in the script as in the following example:
+.IP
+REPORT CONNECT ABORT BUSY '' ATDT5551212 CONNECT '' ogin: account
+.LP
+This sequence will expect nothing; and then send the string
+ATDT5551212 to dial the telephone. The expected string is
+\fICONNECT\fR. If the string \fICONNECT\fR is received the remainder
+of the script is executed. In addition the program will write to the
+expect-file the string "CONNECT" plus any characters which follow it
+such as the connection rate.
+.SH CLR_REPORT STRINGS
+This sequence allows for clearing previously set \fBREPORT\fR strings.
+\fBREPORT\fR strings are kept in an array of a pre-determined size (at
+compilation time); \fBCLR_REPORT\fR will reclaim the space for cleared
+entries so that new strings can use that space.
+.SH ECHO
+The echo options controls whether the output from the modem is echoed
+to \fIstderr\fR. This option may be set with the \fI-e\fR option, but
+it can also be controlled by the \fIECHO\fR keyword. The "expect-send"
+pair \fIECHO\fR \fION\fR enables echoing, and \fIECHO\fR \fIOFF\fR
+disables it. With this keyword you can select which parts of the
+conversation should be visible. For instance, with the following
+script:
+.IP
+ABORT 'BUSY'
+.br
+ABORT 'NO CARRIER'
+.br
+'' ATZ
+.br
+OK\\r\\n ATD1234567
+.br
+\\r\\n \\c
+.br
+ECHO ON
+.br
+CONNECT \\c
+.br
+ogin: account
+.LP
+all output resulting from modem configuration and dialing is not visible,
+but starting with the \fICONNECT\fR (or \fIBUSY\fR) message, everything
+will be echoed.
+.SH HANGUP
+The HANGUP options control whether a modem hangup should be considered
+as an error or not. This option is useful in scripts for dialling
+systems which will hang up and call your system back. The HANGUP
+options can be \fBON\fR or \fBOFF\fR.
+.br
+When HANGUP is set OFF and the modem hangs up (e.g., after the first
+stage of logging in to a callback system), \fBchat\fR will continue
+running the script (e.g., waiting for the incoming call and second
+stage login prompt). As soon as the incoming call is connected, you
+should use the \fBHANGUP ON\fR directive to reinstall normal hang up
+signal behavior. Here is an (simple) example script:
+.IP
+ABORT 'BUSY'
+.br
+'' ATZ
+.br
+OK\\r\\n ATD1234567
+.br
+\\r\\n \\c
+.br
+CONNECT \\c
+.br
+\'Callback login:' call_back_ID
+.br
+HANGUP OFF
+.br
+ABORT "Bad Login"
+.br
+\'Callback Password:' Call_back_password
+.br
+TIMEOUT 120
+.br
+CONNECT \\c
+.br
+HANGUP ON
+.br
+ABORT "NO CARRIER"
+.br
+ogin:--BREAK--ogin: real_account
+.br
+\fIetc ...\fR
+.LP
+.SH TIMEOUT
+The initial timeout value is 45 seconds. This may be changed using the \fB-t\fR
+parameter.
+.LP
+To change the timeout value for the next expect string, the following
+example may be used:
+.IP
+ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:--ogin: TIMEOUT 5 assword: hello2u2
+.LP
+This will change the timeout to 10 seconds when it expects the login:
+prompt. The timeout is then changed to 5 seconds when it looks for the
+password prompt.
+.LP
+The timeout, once changed, remains in effect until it is changed again.
+.SH SENDING EOT
+The special reply string of \fIEOT\fR indicates that the chat program
+should send an EOT character to the remote. This is normally the
+End-of-file character sequence. A return character is not sent
+following the EOT.
+.PR
+The EOT sequence may be embedded into the send string using the
+sequence \fI^D\fR.
+.SH GENERATING BREAK
+The special reply string of \fIBREAK\fR will cause a break condition
+to be sent. The break is a special signal on the transmitter. The
+normal processing on the receiver is to change the transmission rate.
+It may be used to cycle through the available transmission rates on
+the remote until you are able to receive a valid login prompt.
+.PR
+The break sequence may be embedded into the send string using the
+\fI\\K\fR sequence.
+.SH ESCAPE SEQUENCES
+The expect and reply strings may contain escape sequences. All of the
+sequences are legal in the reply string. Many are legal in the expect.
+Those which are not valid in the expect sequence are so indicated.
+.TP
+.B ''
+Expects or sends a null string. If you send a null string then it will still
+send the return character. This sequence may either be a pair of apostrophe
+or quote characters.
+.TP
+.B \\\\b
+represents a backspace character.
+.TP
+.B \\\\c
+Suppresses the newline at the end of the reply string. This is the only
+method to send a string without a trailing return character. It must
+be at the end of the send string. For example,
+the sequence hello\\c will simply send the characters h, e, l, l, o.
+.I (not valid in expect.)
+.TP
+.B \\\\d
+Delay for one second. The program uses sleep(1) which will delay to a
+maximum of one second.
+.I (not valid in expect.)
+.TP
+.B \\\\K
+Insert a BREAK
+.I (not valid in expect.)
+.TP
+.B \\\\n
+Send a newline or linefeed character.
+.TP
+.B \\\\N
+Send a null character. The same sequence may be represented by \\0.
+.I (not valid in expect.)
+.TP
+.B \\\\p
+Pause for a fraction of a second. The delay is 1/10th of a second.
+.I (not valid in expect.)
+.TP
+.B \\\\q
+Suppress writing the string to the SYSLOG file. The string ?????? is
+written to the log in its place.
+.I (not valid in expect.)
+.TP
+.B \\\\r
+Send or expect a carriage return.
+.TP
+.B \\\\s
+Represents a space character in the string. This may be used when it
+is not desirable to quote the strings which contains spaces. The
+sequence 'HI TIM' and HI\\sTIM are the same.
+.TP
+.B \\\\t
+Send or expect a tab character.
+.TP
+.B \\\\T
+Send the phone number string as specified with the \fI-T\fR option
+.I (not valid in expect.)
+.TP
+.B \\\\U
+Send the phone number 2 string as specified with the \fI-U\fR option
+.I (not valid in expect.)
+.TP
+.B \\\\\\\\
+Send or expect a backslash character.
+.TP
+.B \\\\ddd
+Collapse the octal digits (ddd) into a single ASCII character and send that
+character.
+.I (some characters are not valid in expect.)
+.TP
+.B \^^C
+Substitute the sequence with the control character represented by C.
+For example, the character DC1 (17) is shown as \^^Q.
+.I (some characters are not valid in expect.)
+.SH ENVIRONMENT VARIABLES
+Environment variables are available within chat scripts, if the \fI-E\fR
+option was specified in the command line. The metacharacter \fI$\fR is used
+to introduce the name of the environment variable to substitute. If the
+substition fails, because the requested environment variable is not set,
+\fInothing\fR is replaced for the variable.
+.SH TERMINATION CODES
+The \fIchat\fR program will terminate with the following completion
+codes.
+.TP
+.B 0
+The normal termination of the program. This indicates that the script
+was executed without error to the normal conclusion.
+.TP
+.B 1
+One or more of the parameters are invalid or an expect string was too
+large for the internal buffers. This indicates that the program as not
+properly executed.
+.TP
+.B 2
+An error occurred during the execution of the program. This may be due
+to a read or write operation failing for some reason or chat receiving
+a signal such as SIGINT.
+.TP
+.B 3
+A timeout event occurred when there was an \fIexpect\fR string without
+having a "-subsend" string. This may mean that you did not program the
+script correctly for the condition or that some unexpected event has
+occurred and the expected string could not be found.
+.TP
+.B 4
+The first string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 5
+The second string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 6
+The third string marked as an \fIABORT\fR condition occurred.
+.TP
+.B 7
+The fourth string marked as an \fIABORT\fR condition occurred.
+.TP
+.B ...
+The other termination codes are also strings marked as an \fIABORT\fR
+condition.
+.LP
+Using the termination code, it is possible to determine which event
+terminated the script. It is possible to decide if the string "BUSY"
+was received from the modem as opposed to "NO DIAL TONE". While the
+first event may be retried, the second will probably have little
+chance of succeeding during a retry.
+.SH SEE ALSO
+Additional information about \fIchat\fR scripts may be found with UUCP
+documentation. The \fIchat\fR script was taken from the ideas proposed
+by the scripts used by the \fIuucico\fR program.
+.LP
+uucico(1), uucp(1)
+.SH COPYRIGHT
+The \fIchat\fR program is in public domain. This is not the GNU public
+license. If it breaks then you get to keep both pieces.
diff --git a/mdk-stage1/ppp/chat/chat.c b/mdk-stage1/ppp/chat/chat.c
new file mode 100644
index 000000000..70bc2c9dc
--- /dev/null
+++ b/mdk-stage1/ppp/chat/chat.c
@@ -0,0 +1,1756 @@
+/*
+ * Chat -- a program for automatic session establishment (i.e. dial
+ * the phone and log in).
+ *
+ * Standard termination codes:
+ * 0 - successful completion of the script
+ * 1 - invalid argument, expect string too large, etc.
+ * 2 - error on an I/O operation or fatal error condition.
+ * 3 - timeout waiting for a simple string.
+ * 4 - the first string declared as "ABORT"
+ * 5 - the second string declared as "ABORT"
+ * 6 - ... and so on for successive ABORT strings.
+ *
+ * This software is in the public domain.
+ *
+ * -----------------
+ * 22-May-99 added environment substitutuion, enabled with -E switch.
+ * Andreas Arens <andras@cityweb.de>.
+ *
+ * 12-May-99 added a feature to read data to be sent from a file,
+ * if the send string starts with @. Idea from gpk <gpk@onramp.net>.
+ *
+ * added -T and -U option and \T and \U substitution to pass a phone
+ * number into chat script. Two are needed for some ISDN TA applications.
+ * Keith Dart <kdart@cisco.com>
+ *
+ *
+ * Added SAY keyword to send output to stderr.
+ * This allows to turn ECHO OFF and to output specific, user selected,
+ * text to give progress messages. This best works when stderr
+ * exists (i.e.: pppd in nodetach mode).
+ *
+ * Added HANGUP directives to allow for us to be called
+ * back. When HANGUP is set to NO, chat will not hangup at HUP signal.
+ * We rely on timeouts in that case.
+ *
+ * Added CLR_ABORT to clear previously set ABORT string. This has been
+ * dictated by the HANGUP above as "NO CARRIER" (for example) must be
+ * an ABORT condition until we know the other host is going to close
+ * the connection for call back. As soon as we have completed the
+ * first stage of the call back sequence, "NO CARRIER" is a valid, non
+ * fatal string. As soon as we got called back (probably get "CONNECT"),
+ * we should re-arm the ABORT "NO CARRIER". Hence the CLR_ABORT command.
+ * Note that CLR_ABORT packs the abort_strings[] array so that we do not
+ * have unused entries not being reclaimed.
+ *
+ * In the same vein as above, added CLR_REPORT keyword.
+ *
+ * Allow for comments. Line starting with '#' are comments and are
+ * ignored. If a '#' is to be expected as the first character, the
+ * expect string must be quoted.
+ *
+ *
+ * Francis Demierre <Francis@SwissMail.Com>
+ * Thu May 15 17:15:40 MET DST 1997
+ *
+ *
+ * Added -r "report file" switch & REPORT keyword.
+ * Robert Geer <bgeer@xmission.com>
+ *
+ * Added -s "use stderr" and -S "don't use syslog" switches.
+ * June 18, 1997
+ * Karl O. Pinc <kop@meme.com>
+ *
+ *
+ * Added -e "echo" switch & ECHO keyword
+ * Dick Streefland <dicks@tasking.nl>
+ *
+ *
+ * Considerable updates and modifications by
+ * Al Longyear <longyear@pobox.com>
+ * Paul Mackerras <paulus@cs.anu.edu.au>
+ *
+ *
+ * The original author is:
+ *
+ * Karl Fox <karl@MorningStar.Com>
+ * Morning Star Technologies, Inc.
+ * 1760 Zollinger Road
+ * Columbus, OH 43221
+ * (614)451-1883
+ *
+ */
+
+#ifndef __STDC__
+#define const
+#endif
+
+#ifndef lint
+static const char rcsid[] = "$Id: chat.c 6001 2001-06-11 11:44:34Z gc $";
+#endif
+
+#include <stdio.h>
+#include <ctype.h>
+#include <time.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <syslog.h>
+
+#ifndef TERMIO
+#undef TERMIOS
+#define TERMIOS
+#endif
+
+#ifdef TERMIO
+#include <termio.h>
+#endif
+#ifdef TERMIOS
+#include <termios.h>
+#endif
+
+#define STR_LEN 1024
+
+#ifndef SIGTYPE
+#define SIGTYPE void
+#endif
+
+#undef __P
+#undef __V
+
+#ifdef __STDC__
+#include <stdarg.h>
+#define __V(x) x
+#define __P(x) x
+#else
+#include <varargs.h>
+#define __V(x) (va_alist) va_dcl
+#define __P(x) ()
+#define const
+#endif
+
+#ifndef O_NONBLOCK
+#define O_NONBLOCK O_NDELAY
+#endif
+
+#ifdef SUNOS
+extern int sys_nerr;
+extern char *sys_errlist[];
+#define memmove(to, from, n) bcopy(from, to, n)
+#define strerror(n) ((unsigned)(n) < sys_nerr? sys_errlist[(n)] :\
+ "unknown error")
+#endif
+
+/*************** Micro getopt() *********************************************/
+#define OPTION(c,v) (_O&2&&**v?*(*v)++:!c||_O&4?0:(!(_O&1)&& \
+ (--c,++v),_O=4,c&&**v=='-'&&v[0][1]?*++*v=='-'\
+ &&!v[0][1]?(--c,++v,0):(_O=2,*(*v)++):0))
+#define OPTARG(c,v) (_O&2?**v||(++v,--c)?(_O=1,--c,*v++): \
+ (_O=4,(char*)0):(char*)0)
+#define OPTONLYARG(c,v) (_O&2&&**v?(_O=1,--c,*v++):(char*)0)
+#define ARG(c,v) (c?(--c,*v++):(char*)0)
+
+static int _O = 0; /* Internal state */
+/*************** Micro getopt() *********************************************/
+
+char *program_name;
+
+#define MAX_ABORTS 50
+#define MAX_REPORTS 50
+#define DEFAULT_CHAT_TIMEOUT 45
+
+int echo = 0;
+int verbose = 0;
+int to_log = 1;
+int to_stderr = 0;
+int Verbose = 0;
+int quiet = 0;
+int report = 0;
+int use_env = 0;
+int exit_code = 0;
+FILE* report_fp = (FILE *) 0;
+char *report_file = (char *) 0;
+char *chat_file = (char *) 0;
+char *phone_num = (char *) 0;
+char *phone_num2 = (char *) 0;
+int timeout = DEFAULT_CHAT_TIMEOUT;
+
+int have_tty_parameters = 0;
+
+#ifdef TERMIO
+#define term_parms struct termio
+#define get_term_param(param) ioctl(0, TCGETA, param)
+#define set_term_param(param) ioctl(0, TCSETA, param)
+struct termio saved_tty_parameters;
+#endif
+
+#ifdef TERMIOS
+#define term_parms struct termios
+#define get_term_param(param) tcgetattr(0, param)
+#define set_term_param(param) tcsetattr(0, TCSANOW, param)
+struct termios saved_tty_parameters;
+#endif
+
+char *abort_string[MAX_ABORTS], *fail_reason = (char *)0,
+ fail_buffer[50];
+int n_aborts = 0, abort_next = 0, timeout_next = 0, echo_next = 0;
+int clear_abort_next = 0;
+
+char *report_string[MAX_REPORTS] ;
+char report_buffer[50] ;
+int n_reports = 0, report_next = 0, report_gathering = 0 ;
+int clear_report_next = 0;
+
+int say_next = 0, hup_next = 0;
+
+void *dup_mem __P((void *b, size_t c));
+void *copy_of __P((char *s));
+void usage __P((void));
+void logf __P((const char *fmt, ...));
+void fatal __P((int code, const char *fmt, ...));
+SIGTYPE sigalrm __P((int signo));
+SIGTYPE sigint __P((int signo));
+SIGTYPE sigterm __P((int signo));
+SIGTYPE sighup __P((int signo));
+void unalarm __P((void));
+void init __P((void));
+void set_tty_parameters __P((void));
+void echo_stderr __P((int));
+void break_sequence __P((void));
+void terminate __P((int status));
+void do_file __P((char *chat_file));
+int get_string __P((register char *string));
+int put_string __P((register char *s));
+int write_char __P((int c));
+int put_char __P((int c));
+int get_char __P((void));
+void chat_send __P((register char *s));
+char *character __P((int c));
+void chat_expect __P((register char *s));
+char *clean __P((register char *s, int sending));
+void break_sequence __P((void));
+void terminate __P((int status));
+void pack_array __P((char **array, int end));
+char *expect_strtok __P((char *, char *));
+int vfmtmsg __P((char *, int, const char *, va_list)); /* vsprintf++ */
+
+int main __P((int, char *[]));
+
+void *dup_mem(b, c)
+void *b;
+size_t c;
+{
+ void *ans = malloc (c);
+ if (!ans)
+ fatal(2, "memory error!");
+
+ memcpy (ans, b, c);
+ return ans;
+}
+
+void *copy_of (s)
+char *s;
+{
+ return dup_mem (s, strlen (s) + 1);
+}
+
+/*
+ * chat [ -v ] [ -E ] [ -T number ] [ -U number ] [ -t timeout ] [ -f chat-file ] \
+ * [ -r report-file ] \
+ * [...[[expect[-say[-expect...]] say expect[-say[-expect]] ...]]]
+ *
+ * Perform a UUCP-dialer-like chat script on stdin and stdout.
+ */
+int
+main(argc, argv)
+ int argc;
+ char **argv;
+{
+ int option;
+ char *arg;
+
+ program_name = *argv;
+ tzset();
+
+ while ((option = OPTION(argc, argv)) != 0) {
+ switch (option) {
+ case 'e':
+ ++echo;
+ break;
+
+ case 'E':
+ ++use_env;
+ break;
+
+ case 'v':
+ ++verbose;
+ break;
+
+ case 'V':
+ ++Verbose;
+ break;
+
+ case 's':
+ ++to_stderr;
+ break;
+
+ case 'S':
+ to_log = 0;
+ break;
+
+ case 'f':
+ if ((arg = OPTARG(argc, argv)) != NULL)
+ chat_file = copy_of(arg);
+ else
+ usage();
+ break;
+
+ case 't':
+ if ((arg = OPTARG(argc, argv)) != NULL)
+ timeout = atoi(arg);
+ else
+ usage();
+ break;
+
+ case 'r':
+ arg = OPTARG (argc, argv);
+ if (arg) {
+ if (report_fp != NULL)
+ fclose (report_fp);
+ report_file = copy_of (arg);
+ report_fp = fopen (report_file, "a");
+ if (report_fp != NULL) {
+ if (verbose)
+ fprintf (report_fp, "Opening \"%s\"...\n",
+ report_file);
+ report = 1;
+ }
+ }
+ break;
+
+ case 'T':
+ if ((arg = OPTARG(argc, argv)) != NULL)
+ phone_num = copy_of(arg);
+ else
+ usage();
+ break;
+
+ case 'U':
+ if ((arg = OPTARG(argc, argv)) != NULL)
+ phone_num2 = copy_of(arg);
+ else
+ usage();
+ break;
+
+ default:
+ usage();
+ break;
+ }
+ }
+/*
+ * Default the report file to the stderr location
+ */
+ if (report_fp == NULL)
+ report_fp = stderr;
+
+ if (to_log) {
+#ifdef ultrix
+ openlog("chat", LOG_PID);
+#else
+ openlog("chat", LOG_PID | LOG_NDELAY, LOG_LOCAL2);
+
+ if (verbose)
+ setlogmask(LOG_UPTO(LOG_INFO));
+ else
+ setlogmask(LOG_UPTO(LOG_WARNING));
+#endif
+ }
+
+ init();
+
+ if (chat_file != NULL) {
+ arg = ARG(argc, argv);
+ if (arg != NULL)
+ usage();
+ else
+ do_file (chat_file);
+ } else {
+ while ((arg = ARG(argc, argv)) != NULL) {
+ chat_expect(arg);
+
+ if ((arg = ARG(argc, argv)) != NULL)
+ chat_send(arg);
+ }
+ }
+
+ terminate(0);
+ return 0;
+}
+
+/*
+ * Process a chat script when read from a file.
+ */
+
+void do_file (chat_file)
+char *chat_file;
+{
+ int linect, sendflg;
+ char *sp, *arg, quote;
+ char buf [STR_LEN];
+ FILE *cfp;
+
+ cfp = fopen (chat_file, "r");
+ if (cfp == NULL)
+ fatal(1, "%s -- open failed: %m", chat_file);
+
+ linect = 0;
+ sendflg = 0;
+
+ while (fgets(buf, STR_LEN, cfp) != NULL) {
+ sp = strchr (buf, '\n');
+ if (sp)
+ *sp = '\0';
+
+ linect++;
+ sp = buf;
+
+ /* lines starting with '#' are comments. If a real '#'
+ is to be expected, it should be quoted .... */
+ if ( *sp == '#' )
+ continue;
+
+ while (*sp != '\0') {
+ if (*sp == ' ' || *sp == '\t') {
+ ++sp;
+ continue;
+ }
+
+ if (*sp == '"' || *sp == '\'') {
+ quote = *sp++;
+ arg = sp;
+ while (*sp != quote) {
+ if (*sp == '\0')
+ fatal(1, "unterminated quote (line %d)", linect);
+
+ if (*sp++ == '\\') {
+ if (*sp != '\0')
+ ++sp;
+ }
+ }
+ }
+ else {
+ arg = sp;
+ while (*sp != '\0' && *sp != ' ' && *sp != '\t')
+ ++sp;
+ }
+
+ if (*sp != '\0')
+ *sp++ = '\0';
+
+ if (sendflg)
+ chat_send (arg);
+ else
+ chat_expect (arg);
+ sendflg = !sendflg;
+ }
+ }
+ fclose (cfp);
+}
+
+/*
+ * We got an error parsing the command line.
+ */
+void usage()
+{
+ fprintf(stderr, "\
+Usage: %s [-e] [-E] [-v] [-V] [-t timeout] [-r report-file]\n\
+ [-T phone-number] [-U phone-number2] {-f chat-file | chat-script}\n", program_name);
+ exit(1);
+}
+
+char line[1024];
+
+/*
+ * Send a message to syslog and/or stderr.
+ */
+void logf __V((const char *fmt, ...))
+{
+ va_list args;
+
+#ifdef __STDC__
+ va_start(args, fmt);
+#else
+ char *fmt;
+ va_start(args);
+ fmt = va_arg(args, char *);
+#endif
+
+ vfmtmsg(line, sizeof(line), fmt, args);
+ if (to_log)
+ syslog(LOG_INFO, "%s", line);
+ if (to_stderr)
+ fprintf(stderr, "%s\n", line);
+}
+
+/*
+ * Print an error message and terminate.
+ */
+
+void fatal __V((int code, const char *fmt, ...))
+{
+ va_list args;
+
+#ifdef __STDC__
+ va_start(args, fmt);
+#else
+ int code;
+ char *fmt;
+ va_start(args);
+ code = va_arg(args, int);
+ fmt = va_arg(args, char *);
+#endif
+
+ vfmtmsg(line, sizeof(line), fmt, args);
+ if (to_log)
+ syslog(LOG_ERR, "%s", line);
+ if (to_stderr)
+ fprintf(stderr, "%s\n", line);
+ terminate(code);
+}
+
+int alarmed = 0;
+
+SIGTYPE sigalrm(signo)
+int signo;
+{
+ int flags;
+
+ alarm(1);
+ alarmed = 1; /* Reset alarm to avoid race window */
+ signal(SIGALRM, sigalrm); /* that can cause hanging in read() */
+
+ if ((flags = fcntl(0, F_GETFL, 0)) == -1)
+ fatal(2, "Can't get file mode flags on stdin: %m");
+
+ if (fcntl(0, F_SETFL, flags | O_NONBLOCK) == -1)
+ fatal(2, "Can't set file mode flags on stdin: %m");
+
+ if (verbose)
+ logf("alarm");
+}
+
+void unalarm()
+{
+ int flags;
+
+ if ((flags = fcntl(0, F_GETFL, 0)) == -1)
+ fatal(2, "Can't get file mode flags on stdin: %m");
+
+ if (fcntl(0, F_SETFL, flags & ~O_NONBLOCK) == -1)
+ fatal(2, "Can't set file mode flags on stdin: %m");
+}
+
+SIGTYPE sigint(signo)
+int signo;
+{
+ fatal(2, "SIGINT");
+}
+
+SIGTYPE sigterm(signo)
+int signo;
+{
+ fatal(2, "SIGTERM");
+}
+
+SIGTYPE sighup(signo)
+int signo;
+{
+ fatal(2, "SIGHUP");
+}
+
+void init()
+{
+ signal(SIGINT, sigint);
+ signal(SIGTERM, sigterm);
+ signal(SIGHUP, sighup);
+
+ set_tty_parameters();
+ signal(SIGALRM, sigalrm);
+ alarm(0);
+ alarmed = 0;
+}
+
+void set_tty_parameters()
+{
+#if defined(get_term_param)
+ term_parms t;
+
+ if (get_term_param (&t) < 0)
+ fatal(2, "Can't get terminal parameters: %m");
+
+ saved_tty_parameters = t;
+ have_tty_parameters = 1;
+
+ t.c_iflag |= IGNBRK | ISTRIP | IGNPAR;
+ t.c_oflag = 0;
+ t.c_lflag = 0;
+ t.c_cc[VERASE] =
+ t.c_cc[VKILL] = 0;
+ t.c_cc[VMIN] = 1;
+ t.c_cc[VTIME] = 0;
+
+ if (set_term_param (&t) < 0)
+ fatal(2, "Can't set terminal parameters: %m");
+#endif
+}
+
+void break_sequence()
+{
+#ifdef TERMIOS
+ tcsendbreak (0, 0);
+#endif
+}
+
+void terminate(status)
+int status;
+{
+ static int terminating = 0;
+
+ if (terminating)
+ exit(status);
+ terminating = 1;
+ echo_stderr(-1);
+/*
+ * Allow the last of the report string to be gathered before we terminate.
+ */
+ if (report_gathering) {
+ int c, rep_len;
+
+ rep_len = strlen(report_buffer);
+ while (rep_len + 1 <= sizeof(report_buffer)) {
+ alarm(1);
+ c = get_char();
+ alarm(0);
+ if (c < 0 || iscntrl(c))
+ break;
+ report_buffer[rep_len] = c;
+ ++rep_len;
+ }
+ report_buffer[rep_len] = 0;
+ fprintf (report_fp, "chat: %s\n", report_buffer);
+ }
+ if (report_file != (char *) 0 && report_fp != (FILE *) NULL) {
+ if (verbose)
+ fprintf (report_fp, "Closing \"%s\".\n", report_file);
+ fclose (report_fp);
+ report_fp = (FILE *) NULL;
+ }
+
+#if defined(get_term_param)
+ if (have_tty_parameters) {
+ if (set_term_param (&saved_tty_parameters) < 0)
+ fatal(2, "Can't restore terminal parameters: %m");
+ }
+#endif
+
+ exit(status);
+}
+
+/*
+ * 'Clean up' this string.
+ */
+char *clean(s, sending)
+register char *s;
+int sending; /* set to 1 when sending (putting) this string. */
+{
+ char temp[STR_LEN], env_str[STR_LEN], cur_chr;
+ register char *s1, *phchar;
+ int add_return = sending;
+#define isoctal(chr) (((chr) >= '0') && ((chr) <= '7'))
+#define isalnumx(chr) ((((chr) >= '0') && ((chr) <= '9')) \
+ || (((chr) >= 'a') && ((chr) <= 'z')) \
+ || (((chr) >= 'A') && ((chr) <= 'Z')) \
+ || (chr) == '_')
+
+ s1 = temp;
+ while (*s) {
+ cur_chr = *s++;
+ if (cur_chr == '^') {
+ cur_chr = *s++;
+ if (cur_chr == '\0') {
+ *s1++ = '^';
+ break;
+ }
+ cur_chr &= 0x1F;
+ if (cur_chr != 0) {
+ *s1++ = cur_chr;
+ }
+ continue;
+ }
+
+ if (use_env && cur_chr == '$') { /* ARI */
+ phchar = env_str;
+ while (isalnumx(*s))
+ *phchar++ = *s++;
+ *phchar = '\0';
+ phchar = getenv(env_str);
+ if (phchar)
+ while (*phchar)
+ *s1++ = *phchar++;
+ continue;
+ }
+
+ if (cur_chr != '\\') {
+ *s1++ = cur_chr;
+ continue;
+ }
+
+ cur_chr = *s++;
+ if (cur_chr == '\0') {
+ if (sending) {
+ *s1++ = '\\';
+ *s1++ = '\\';
+ }
+ break;
+ }
+
+ switch (cur_chr) {
+ case 'b':
+ *s1++ = '\b';
+ break;
+
+ case 'c':
+ if (sending && *s == '\0')
+ add_return = 0;
+ else
+ *s1++ = cur_chr;
+ break;
+
+ case '\\':
+ case 'K':
+ case 'p':
+ case 'd':
+ if (sending)
+ *s1++ = '\\';
+ *s1++ = cur_chr;
+ break;
+
+ case 'T':
+ if (sending && phone_num) {
+ for (phchar = phone_num; *phchar != '\0'; phchar++)
+ *s1++ = *phchar;
+ }
+ else {
+ *s1++ = '\\';
+ *s1++ = 'T';
+ }
+ break;
+
+ case 'U':
+ if (sending && phone_num2) {
+ for (phchar = phone_num2; *phchar != '\0'; phchar++)
+ *s1++ = *phchar;
+ }
+ else {
+ *s1++ = '\\';
+ *s1++ = 'U';
+ }
+ break;
+
+ case 'q':
+ quiet = 1;
+ break;
+
+ case 'r':
+ *s1++ = '\r';
+ break;
+
+ case 'n':
+ *s1++ = '\n';
+ break;
+
+ case 's':
+ *s1++ = ' ';
+ break;
+
+ case 't':
+ *s1++ = '\t';
+ break;
+
+ case 'N':
+ if (sending) {
+ *s1++ = '\\';
+ *s1++ = '\0';
+ }
+ else
+ *s1++ = 'N';
+ break;
+
+ case '$': /* ARI */
+ if (use_env) {
+ *s1++ = cur_chr;
+ break;
+ }
+ /* FALL THROUGH */
+
+ default:
+ if (isoctal (cur_chr)) {
+ cur_chr &= 0x07;
+ if (isoctal (*s)) {
+ cur_chr <<= 3;
+ cur_chr |= *s++ - '0';
+ if (isoctal (*s)) {
+ cur_chr <<= 3;
+ cur_chr |= *s++ - '0';
+ }
+ }
+
+ if (cur_chr != 0 || sending) {
+ if (sending && (cur_chr == '\\' || cur_chr == 0))
+ *s1++ = '\\';
+ *s1++ = cur_chr;
+ }
+ break;
+ }
+
+ if (sending)
+ *s1++ = '\\';
+ *s1++ = cur_chr;
+ break;
+ }
+ }
+
+ if (add_return)
+ *s1++ = '\r';
+
+ *s1++ = '\0'; /* guarantee closure */
+ *s1++ = '\0'; /* terminate the string */
+ return dup_mem (temp, (size_t) (s1 - temp)); /* may have embedded nuls */
+}
+
+/*
+ * A modified version of 'strtok'. This version skips \ sequences.
+ */
+
+char *expect_strtok (s, term)
+ char *s, *term;
+{
+ static char *str = "";
+ int escape_flag = 0;
+ char *result;
+
+/*
+ * If a string was specified then do initial processing.
+ */
+ if (s)
+ str = s;
+
+/*
+ * If this is the escape flag then reset it and ignore the character.
+ */
+ if (*str)
+ result = str;
+ else
+ result = (char *) 0;
+
+ while (*str) {
+ if (escape_flag) {
+ escape_flag = 0;
+ ++str;
+ continue;
+ }
+
+ if (*str == '\\') {
+ ++str;
+ escape_flag = 1;
+ continue;
+ }
+
+/*
+ * If this is not in the termination string, continue.
+ */
+ if (strchr (term, *str) == (char *) 0) {
+ ++str;
+ continue;
+ }
+
+/*
+ * This is the terminator. Mark the end of the string and stop.
+ */
+ *str++ = '\0';
+ break;
+ }
+ return (result);
+}
+
+/*
+ * Process the expect string
+ */
+
+void chat_expect (s)
+char *s;
+{
+ char *expect;
+ char *reply;
+
+ if (strcmp(s, "HANGUP") == 0) {
+ ++hup_next;
+ return;
+ }
+
+ if (strcmp(s, "ABORT") == 0) {
+ ++abort_next;
+ return;
+ }
+
+ if (strcmp(s, "CLR_ABORT") == 0) {
+ ++clear_abort_next;
+ return;
+ }
+
+ if (strcmp(s, "REPORT") == 0) {
+ ++report_next;
+ return;
+ }
+
+ if (strcmp(s, "CLR_REPORT") == 0) {
+ ++clear_report_next;
+ return;
+ }
+
+ if (strcmp(s, "TIMEOUT") == 0) {
+ ++timeout_next;
+ return;
+ }
+
+ if (strcmp(s, "ECHO") == 0) {
+ ++echo_next;
+ return;
+ }
+
+ if (strcmp(s, "SAY") == 0) {
+ ++say_next;
+ return;
+ }
+
+/*
+ * Fetch the expect and reply string.
+ */
+ for (;;) {
+ expect = expect_strtok (s, "-");
+ s = (char *) 0;
+
+ if (expect == (char *) 0)
+ return;
+
+ reply = expect_strtok (s, "-");
+
+/*
+ * Handle the expect string. If successful then exit.
+ */
+ if (get_string (expect))
+ return;
+
+/*
+ * If there is a sub-reply string then send it. Otherwise any condition
+ * is terminal.
+ */
+ if (reply == (char *) 0 || exit_code != 3)
+ break;
+
+ chat_send (reply);
+ }
+
+/*
+ * The expectation did not occur. This is terminal.
+ */
+ if (fail_reason)
+ logf("Failed (%s)", fail_reason);
+ else
+ logf("Failed");
+ terminate(exit_code);
+}
+
+/*
+ * Translate the input character to the appropriate string for printing
+ * the data.
+ */
+
+char *character(c)
+int c;
+{
+ static char string[10];
+ char *meta;
+
+ meta = (c & 0x80) ? "M-" : "";
+ c &= 0x7F;
+
+ if (c < 32)
+ sprintf(string, "%s^%c", meta, (int)c + '@');
+ else if (c == 127)
+ sprintf(string, "%s^?", meta);
+ else
+ sprintf(string, "%s%c", meta, c);
+
+ return (string);
+}
+
+/*
+ * process the reply string
+ */
+void chat_send (s)
+register char *s;
+{
+ char file_data[STR_LEN];
+
+ if (say_next) {
+ say_next = 0;
+ s = clean(s, 1);
+ write(2, s, strlen(s));
+ free(s);
+ return;
+ }
+
+ if (hup_next) {
+ hup_next = 0;
+ if (strcmp(s, "OFF") == 0)
+ signal(SIGHUP, SIG_IGN);
+ else
+ signal(SIGHUP, sighup);
+ return;
+ }
+
+ if (echo_next) {
+ echo_next = 0;
+ echo = (strcmp(s, "ON") == 0);
+ return;
+ }
+
+ if (abort_next) {
+ char *s1;
+
+ abort_next = 0;
+
+ if (n_aborts >= MAX_ABORTS)
+ fatal(2, "Too many ABORT strings");
+
+ s1 = clean(s, 0);
+
+ if (strlen(s1) > strlen(s)
+ || strlen(s1) + 1 > sizeof(fail_buffer))
+ fatal(1, "Illegal or too-long ABORT string ('%v')", s);
+
+ abort_string[n_aborts++] = s1;
+
+ if (verbose)
+ logf("abort on (%v)", s);
+ return;
+ }
+
+ if (clear_abort_next) {
+ char *s1;
+ int i;
+ int old_max;
+ int pack = 0;
+
+ clear_abort_next = 0;
+
+ s1 = clean(s, 0);
+
+ if (strlen(s1) > strlen(s)
+ || strlen(s1) + 1 > sizeof(fail_buffer))
+ fatal(1, "Illegal or too-long CLR_ABORT string ('%v')", s);
+
+ old_max = n_aborts;
+ for (i=0; i < n_aborts; i++) {
+ if ( strcmp(s1,abort_string[i]) == 0 ) {
+ free(abort_string[i]);
+ abort_string[i] = NULL;
+ pack++;
+ n_aborts--;
+ if (verbose)
+ logf("clear abort on (%v)", s);
+ }
+ }
+ free(s1);
+ if (pack)
+ pack_array(abort_string,old_max);
+ return;
+ }
+
+ if (report_next) {
+ char *s1;
+
+ report_next = 0;
+ if (n_reports >= MAX_REPORTS)
+ fatal(2, "Too many REPORT strings");
+
+ s1 = clean(s, 0);
+
+ if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
+ fatal(1, "Illegal or too-long REPORT string ('%v')", s);
+
+ report_string[n_reports++] = s1;
+
+ if (verbose)
+ logf("report (%v)", s);
+ return;
+ }
+
+ if (clear_report_next) {
+ char *s1;
+ int i;
+ int old_max;
+ int pack = 0;
+
+ clear_report_next = 0;
+
+ s1 = clean(s, 0);
+
+ if (strlen(s1) > strlen(s) || strlen(s1) > sizeof fail_buffer - 1)
+ fatal(1, "Illegal or too-long REPORT string ('%v')", s);
+
+ old_max = n_reports;
+ for (i=0; i < n_reports; i++) {
+ if ( strcmp(s1,report_string[i]) == 0 ) {
+ free(report_string[i]);
+ report_string[i] = NULL;
+ pack++;
+ n_reports--;
+ if (verbose)
+ logf("clear report (%v)", s);
+ }
+ }
+ free(s1);
+ if (pack)
+ pack_array(report_string,old_max);
+
+ return;
+ }
+
+ if (timeout_next) {
+ timeout_next = 0;
+ timeout = atoi(s);
+
+ if (timeout <= 0)
+ timeout = DEFAULT_CHAT_TIMEOUT;
+
+ if (verbose)
+ logf("timeout set to %d seconds", timeout);
+
+ return;
+ }
+
+ /*
+ * The syntax @filename means read the string to send from the
+ * file `filename'.
+ */
+ if (s[0] == '@') {
+ /* skip the @ and any following white-space */
+ char *fn = s;
+ while (*++fn == ' ' || *fn == '\t')
+ ;
+
+ if (*fn != 0) {
+ FILE *f;
+ int n = 0;
+
+ /* open the file and read until STR_LEN-1 bytes or end-of-file */
+ f = fopen(fn, "r");
+ if (f == NULL)
+ fatal(1, "%s -- open failed: %m", fn);
+ while (n < STR_LEN - 1) {
+ int nr = fread(&file_data[n], 1, STR_LEN - 1 - n, f);
+ if (nr < 0)
+ fatal(1, "%s -- read error", fn);
+ if (nr == 0)
+ break;
+ n += nr;
+ }
+ fclose(f);
+
+ /* use the string we got as the string to send,
+ but trim off the final newline if any. */
+ if (n > 0 && file_data[n-1] == '\n')
+ --n;
+ file_data[n] = 0;
+ s = file_data;
+ }
+ }
+
+ if (strcmp(s, "EOT") == 0)
+ s = "^D\\c";
+ else if (strcmp(s, "BREAK") == 0)
+ s = "\\K\\c";
+
+ if (!put_string(s))
+ fatal(1, "Failed");
+}
+
+int get_char()
+{
+ int status;
+ char c;
+
+ status = read(0, &c, 1);
+
+ switch (status) {
+ case 1:
+ return ((int)c & 0x7F);
+
+ default:
+ logf("warning: read() on stdin returned %d", status);
+
+ case -1:
+ if ((status = fcntl(0, F_GETFL, 0)) == -1)
+ fatal(2, "Can't get file mode flags on stdin: %m");
+
+ if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
+ fatal(2, "Can't set file mode flags on stdin: %m");
+
+ return (-1);
+ }
+}
+
+int put_char(c)
+int c;
+{
+ int status;
+ char ch = c;
+
+ usleep(10000); /* inter-character typing delay (?) */
+
+ status = write(1, &ch, 1);
+
+ switch (status) {
+ case 1:
+ return (0);
+
+ default:
+ logf("warning: write() on stdout returned %d", status);
+
+ case -1:
+ if ((status = fcntl(0, F_GETFL, 0)) == -1)
+ fatal(2, "Can't get file mode flags on stdin, %m");
+
+ if (fcntl(0, F_SETFL, status & ~O_NONBLOCK) == -1)
+ fatal(2, "Can't set file mode flags on stdin: %m");
+
+ return (-1);
+ }
+}
+
+int write_char (c)
+int c;
+{
+ if (alarmed || put_char(c) < 0) {
+ alarm(0);
+ alarmed = 0;
+
+ if (verbose) {
+ if (errno == EINTR || errno == EWOULDBLOCK)
+ logf(" -- write timed out");
+ else
+ logf(" -- write failed: %m");
+ }
+ return (0);
+ }
+ return (1);
+}
+
+int put_string (s)
+register char *s;
+{
+ quiet = 0;
+ s = clean(s, 1);
+
+ if (verbose) {
+ if (quiet)
+ logf("send (??????)");
+ else
+ logf("send (%v)", s);
+ }
+
+ alarm(timeout); alarmed = 0;
+
+ while (*s) {
+ register char c = *s++;
+
+ if (c != '\\') {
+ if (!write_char (c))
+ return 0;
+ continue;
+ }
+
+ c = *s++;
+ switch (c) {
+ case 'd':
+ sleep(1);
+ break;
+
+ case 'K':
+ break_sequence();
+ break;
+
+ case 'p':
+ usleep(10000); /* 1/100th of a second (arg is microseconds) */
+ break;
+
+ default:
+ if (!write_char (c))
+ return 0;
+ break;
+ }
+ }
+
+ alarm(0);
+ alarmed = 0;
+ return (1);
+}
+
+/*
+ * Echo a character to stderr.
+ * When called with -1, a '\n' character is generated when
+ * the cursor is not at the beginning of a line.
+ */
+void echo_stderr(n)
+int n;
+{
+ static int need_lf;
+ char *s;
+
+ switch (n) {
+ case '\r': /* ignore '\r' */
+ break;
+ case -1:
+ if (need_lf == 0)
+ break;
+ /* fall through */
+ case '\n':
+ write(2, "\n", 1);
+ need_lf = 0;
+ break;
+ default:
+ s = character(n);
+ write(2, s, strlen(s));
+ need_lf = 1;
+ break;
+ }
+}
+
+/*
+ * 'Wait for' this string to appear on this file descriptor.
+ */
+int get_string(string)
+register char *string;
+{
+ char temp[STR_LEN];
+ int c, printed = 0, len, minlen;
+ register char *s = temp, *end = s + STR_LEN;
+ char *logged = temp;
+
+ fail_reason = (char *)0;
+ string = clean(string, 0);
+ len = strlen(string);
+ minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1;
+
+ if (verbose)
+ logf("expect (%v)", string);
+
+ if (len > STR_LEN) {
+ logf("expect string is too long");
+ exit_code = 1;
+ return 0;
+ }
+
+ if (len == 0) {
+ if (verbose)
+ logf("got it");
+ return (1);
+ }
+
+ alarm(timeout);
+ alarmed = 0;
+
+ while ( ! alarmed && (c = get_char()) >= 0) {
+ int n, abort_len, report_len;
+
+ if (echo)
+ echo_stderr(c);
+ if (verbose && c == '\n') {
+ if (s == logged)
+ logf(""); /* blank line */
+ else
+ logf("%0.*v", s - logged, logged);
+ logged = s + 1;
+ }
+
+ *s++ = c;
+
+ if (verbose && s >= logged + 80) {
+ logf("%0.*v", s - logged, logged);
+ logged = s;
+ }
+
+ if (Verbose) {
+ if (c == '\n')
+ fputc( '\n', stderr );
+ else if (c != '\r')
+ fprintf( stderr, "%s", character(c) );
+ }
+
+ if (!report_gathering) {
+ for (n = 0; n < n_reports; ++n) {
+ if ((report_string[n] != (char*) NULL) &&
+ s - temp >= (report_len = strlen(report_string[n])) &&
+ strncmp(s - report_len, report_string[n], report_len) == 0) {
+ time_t time_now = time ((time_t*) NULL);
+ struct tm* tm_now = localtime (&time_now);
+
+ strftime (report_buffer, 20, "%b %d %H:%M:%S ", tm_now);
+ strcat (report_buffer, report_string[n]);
+
+ report_string[n] = (char *) NULL;
+ report_gathering = 1;
+ break;
+ }
+ }
+ }
+ else {
+ if (!iscntrl (c)) {
+ int rep_len = strlen (report_buffer);
+ report_buffer[rep_len] = c;
+ report_buffer[rep_len + 1] = '\0';
+ }
+ else {
+ report_gathering = 0;
+ fprintf (report_fp, "chat: %s\n", report_buffer);
+ }
+ }
+
+ if (s - temp >= len &&
+ c == string[len - 1] &&
+ strncmp(s - len, string, len) == 0) {
+ if (verbose) {
+ if (s > logged)
+ logf("%0.*v", s - logged, logged);
+ logf(" -- got it\n");
+ }
+
+ alarm(0);
+ alarmed = 0;
+ return (1);
+ }
+
+ for (n = 0; n < n_aborts; ++n) {
+ if (s - temp >= (abort_len = strlen(abort_string[n])) &&
+ strncmp(s - abort_len, abort_string[n], abort_len) == 0) {
+ if (verbose) {
+ if (s > logged)
+ logf("%0.*v", s - logged, logged);
+ logf(" -- failed");
+ }
+
+ alarm(0);
+ alarmed = 0;
+ exit_code = n + 4;
+ strcpy(fail_reason = fail_buffer, abort_string[n]);
+ return (0);
+ }
+ }
+
+ if (s >= end) {
+ if (logged < s - minlen) {
+ if (verbose)
+ logf("%0.*v", s - logged, logged);
+ logged = s;
+ }
+ s -= minlen;
+ memmove(temp, s, minlen);
+ logged = temp + (logged - s);
+ s = temp + minlen;
+ }
+
+ if (alarmed && verbose)
+ logf("warning: alarm synchronization problem");
+ }
+
+ alarm(0);
+
+ if (verbose && printed) {
+ if (alarmed)
+ logf(" -- read timed out");
+ else
+ logf(" -- read failed: %m");
+ }
+
+ exit_code = 3;
+ alarmed = 0;
+ return (0);
+}
+
+/*
+ * Gross kludge to handle Solaris versions >= 2.6 having usleep.
+ */
+#ifdef SOL2
+#include <sys/param.h>
+#if MAXUID > 65536 /* then this is Solaris 2.6 or later */
+#undef NO_USLEEP
+#endif
+#endif /* SOL2 */
+
+#ifdef NO_USLEEP
+#include <sys/types.h>
+#include <sys/time.h>
+
+/*
+ usleep -- support routine for 4.2BSD system call emulations
+ last edit: 29-Oct-1984 D A Gwyn
+ */
+
+extern int select();
+
+int
+usleep( usec ) /* returns 0 if ok, else -1 */
+ long usec; /* delay in microseconds */
+{
+ static struct { /* `timeval' */
+ long tv_sec; /* seconds */
+ long tv_usec; /* microsecs */
+ } delay; /* _select() timeout */
+
+ delay.tv_sec = usec / 1000000L;
+ delay.tv_usec = usec % 1000000L;
+
+ return select(0, (long *)0, (long *)0, (long *)0, &delay);
+}
+#endif
+
+void
+pack_array (array, end)
+ char **array; /* The address of the array of string pointers */
+ int end; /* The index of the next free entry before CLR_ */
+{
+ int i, j;
+
+ for (i = 0; i < end; i++) {
+ if (array[i] == NULL) {
+ for (j = i+1; j < end; ++j)
+ if (array[j] != NULL)
+ array[i++] = array[j];
+ for (; i < end; ++i)
+ array[i] = NULL;
+ break;
+ }
+ }
+}
+
+/*
+ * vfmtmsg - format a message into a buffer. Like vsprintf except we
+ * also specify the length of the output buffer, and we handle the
+ * %m (error message) format.
+ * Doesn't do floating-point formats.
+ * Returns the number of chars put into buf.
+ */
+#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
+
+int
+vfmtmsg(buf, buflen, fmt, args)
+ char *buf;
+ int buflen;
+ const char *fmt;
+ va_list args;
+{
+ int c, i, n;
+ int width, prec, fillch;
+ int base, len, neg, quoted;
+ unsigned long val = 0;
+ char *str, *buf0;
+ const char *f;
+ unsigned char *p;
+ char num[32];
+ static char hexchars[] = "0123456789abcdef";
+
+ buf0 = buf;
+ --buflen;
+ while (buflen > 0) {
+ for (f = fmt; *f != '%' && *f != 0; ++f)
+ ;
+ if (f > fmt) {
+ len = f - fmt;
+ if (len > buflen)
+ len = buflen;
+ memcpy(buf, fmt, len);
+ buf += len;
+ buflen -= len;
+ fmt = f;
+ }
+ if (*fmt == 0)
+ break;
+ c = *++fmt;
+ width = prec = 0;
+ fillch = ' ';
+ if (c == '0') {
+ fillch = '0';
+ c = *++fmt;
+ }
+ if (c == '*') {
+ width = va_arg(args, int);
+ c = *++fmt;
+ } else {
+ while (isdigit(c)) {
+ width = width * 10 + c - '0';
+ c = *++fmt;
+ }
+ }
+ if (c == '.') {
+ c = *++fmt;
+ if (c == '*') {
+ prec = va_arg(args, int);
+ c = *++fmt;
+ } else {
+ while (isdigit(c)) {
+ prec = prec * 10 + c - '0';
+ c = *++fmt;
+ }
+ }
+ }
+ str = 0;
+ base = 0;
+ neg = 0;
+ ++fmt;
+ switch (c) {
+ case 'd':
+ i = va_arg(args, int);
+ if (i < 0) {
+ neg = 1;
+ val = -i;
+ } else
+ val = i;
+ base = 10;
+ break;
+ case 'o':
+ val = va_arg(args, unsigned int);
+ base = 8;
+ break;
+ case 'x':
+ val = va_arg(args, unsigned int);
+ base = 16;
+ break;
+ case 'p':
+ val = (unsigned long) va_arg(args, void *);
+ base = 16;
+ neg = 2;
+ break;
+ case 's':
+ str = va_arg(args, char *);
+ break;
+ case 'c':
+ num[0] = va_arg(args, int);
+ num[1] = 0;
+ str = num;
+ break;
+ case 'm':
+ str = strerror(errno);
+ break;
+ case 'v': /* "visible" string */
+ case 'q': /* quoted string */
+ quoted = c == 'q';
+ p = va_arg(args, unsigned char *);
+ if (fillch == '0' && prec > 0) {
+ n = prec;
+ } else {
+ n = strlen((char *)p);
+ if (prec > 0 && prec < n)
+ n = prec;
+ }
+ while (n > 0 && buflen > 0) {
+ c = *p++;
+ --n;
+ if (!quoted && c >= 0x80) {
+ OUTCHAR('M');
+ OUTCHAR('-');
+ c -= 0x80;
+ }
+ if (quoted && (c == '"' || c == '\\'))
+ OUTCHAR('\\');
+ if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
+ if (quoted) {
+ OUTCHAR('\\');
+ switch (c) {
+ case '\t': OUTCHAR('t'); break;
+ case '\n': OUTCHAR('n'); break;
+ case '\b': OUTCHAR('b'); break;
+ case '\f': OUTCHAR('f'); break;
+ default:
+ OUTCHAR('x');
+ OUTCHAR(hexchars[c >> 4]);
+ OUTCHAR(hexchars[c & 0xf]);
+ }
+ } else {
+ if (c == '\t')
+ OUTCHAR(c);
+ else {
+ OUTCHAR('^');
+ OUTCHAR(c ^ 0x40);
+ }
+ }
+ } else
+ OUTCHAR(c);
+ }
+ continue;
+ default:
+ *buf++ = '%';
+ if (c != '%')
+ --fmt; /* so %z outputs %z etc. */
+ --buflen;
+ continue;
+ }
+ if (base != 0) {
+ str = num + sizeof(num);
+ *--str = 0;
+ while (str > num + neg) {
+ *--str = hexchars[val % base];
+ val = val / base;
+ if (--prec <= 0 && val == 0)
+ break;
+ }
+ switch (neg) {
+ case 1:
+ *--str = '-';
+ break;
+ case 2:
+ *--str = 'x';
+ *--str = '0';
+ break;
+ }
+ len = num + sizeof(num) - 1 - str;
+ } else {
+ len = strlen(str);
+ if (prec > 0 && len > prec)
+ len = prec;
+ }
+ if (width > 0) {
+ if (width > buflen)
+ width = buflen;
+ if ((n = width - len) > 0) {
+ buflen -= n;
+ for (; n > 0; --n)
+ *buf++ = fillch;
+ }
+ }
+ if (len > buflen)
+ len = buflen;
+ memcpy(buf, str, len);
+ buf += len;
+ buflen -= len;
+ }
+ *buf = 0;
+ return buf - buf0;
+}
diff --git a/mdk-stage1/ppp/common/zlib.c b/mdk-stage1/ppp/common/zlib.c
new file mode 100644
index 000000000..320f31469
--- /dev/null
+++ b/mdk-stage1/ppp/common/zlib.c
@@ -0,0 +1,5376 @@
+/*
+ * This file is derived from various .h and .c files from the zlib-1.0.4
+ * distribution by Jean-loup Gailly and Mark Adler, with some additions
+ * by Paul Mackerras to aid in implementing Deflate compression and
+ * decompression for PPP packets. See zlib.h for conditions of
+ * distribution and use.
+ *
+ * Changes that have been made include:
+ * - added Z_PACKET_FLUSH (see zlib.h for details)
+ * - added inflateIncomp and deflateOutputPending
+ * - allow strm->next_out to be NULL, meaning discard the output
+ *
+ * $Id: zlib.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * ==FILEVERSION 971210==
+ *
+ * This marker is used by the Linux installation script to determine
+ * whether an up-to-date version of this file is already installed.
+ */
+
+#define NO_DUMMY_DECL
+#define NO_ZCFUNCS
+#define MY_ZCALLOC
+
+#if defined(__FreeBSD__) && (defined(KERNEL) || defined(_KERNEL))
+#define inflate inflate_ppp /* FreeBSD already has an inflate :-( */
+#endif
+
+
+/* +++ zutil.h */
+/* zutil.h -- internal interface and configuration of the compression library
+ * Copyright (C) 1995-1996 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* From: zutil.h,v 1.16 1996/07/24 13:41:13 me Exp $ */
+
+#ifndef _Z_UTIL_H
+#define _Z_UTIL_H
+
+#include "zlib.h"
+
+#if defined(KERNEL) || defined(_KERNEL)
+/* Assume this is a *BSD or SVR4 kernel */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/systm.h>
+#undef u
+# define HAVE_MEMCPY
+# define memcpy(d, s, n) bcopy((s), (d), (n))
+# define memset(d, v, n) bzero((d), (n))
+# define memcmp bcmp
+
+#else
+#if defined(__KERNEL__)
+/* Assume this is a Linux kernel */
+#include <linux/string.h>
+#define HAVE_MEMCPY
+
+#else /* not kernel */
+
+#if defined(MSDOS)||defined(VMS)||defined(CRAY)||defined(WIN32)||defined(RISCOS)
+# include <stddef.h>
+# include <errno.h>
+#else
+ extern int errno;
+#endif
+#ifdef STDC
+# include <string.h>
+# include <stdlib.h>
+#endif
+#endif /* __KERNEL__ */
+#endif /* _KERNEL || KERNEL */
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+typedef unsigned char uch;
+typedef uch FAR uchf;
+typedef unsigned short ush;
+typedef ush FAR ushf;
+typedef unsigned long ulg;
+
+extern const char *z_errmsg[10]; /* indexed by 2-zlib_error */
+/* (size given to avoid silly warnings with Visual C++) */
+
+#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
+
+#define ERR_RETURN(strm,err) \
+ return (strm->msg = (char*)ERR_MSG(err), (err))
+/* To be used only when the state is known to be valid */
+
+ /* common constants */
+
+#ifndef DEF_WBITS
+# define DEF_WBITS MAX_WBITS
+#endif
+/* default windowBits for decompression. MAX_WBITS is for compression only */
+
+#if MAX_MEM_LEVEL >= 8
+# define DEF_MEM_LEVEL 8
+#else
+# define DEF_MEM_LEVEL MAX_MEM_LEVEL
+#endif
+/* default memLevel */
+
+#define STORED_BLOCK 0
+#define STATIC_TREES 1
+#define DYN_TREES 2
+/* The three kinds of block type */
+
+#define MIN_MATCH 3
+#define MAX_MATCH 258
+/* The minimum and maximum match lengths */
+
+#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
+
+ /* target dependencies */
+
+#ifdef MSDOS
+# define OS_CODE 0x00
+# ifdef __TURBOC__
+# include <alloc.h>
+# else /* MSC or DJGPP */
+# include <malloc.h>
+# endif
+#endif
+
+#ifdef OS2
+# define OS_CODE 0x06
+#endif
+
+#ifdef WIN32 /* Window 95 & Windows NT */
+# define OS_CODE 0x0b
+#endif
+
+#if defined(VAXC) || defined(VMS)
+# define OS_CODE 0x02
+# define FOPEN(name, mode) \
+ fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
+#endif
+
+#ifdef AMIGA
+# define OS_CODE 0x01
+#endif
+
+#if defined(ATARI) || defined(atarist)
+# define OS_CODE 0x05
+#endif
+
+#ifdef MACOS
+# define OS_CODE 0x07
+#endif
+
+#ifdef __50SERIES /* Prime/PRIMOS */
+# define OS_CODE 0x0F
+#endif
+
+#ifdef TOPS20
+# define OS_CODE 0x0a
+#endif
+
+#if defined(_BEOS_) || defined(RISCOS)
+# define fdopen(fd,mode) NULL /* No fdopen() */
+#endif
+
+ /* Common defaults */
+
+#ifndef OS_CODE
+# define OS_CODE 0x03 /* assume Unix */
+#endif
+
+#ifndef FOPEN
+# define FOPEN(name, mode) fopen((name), (mode))
+#endif
+
+ /* functions */
+
+#ifdef HAVE_STRERROR
+ extern char *strerror OF((int));
+# define zstrerror(errnum) strerror(errnum)
+#else
+# define zstrerror(errnum) ""
+#endif
+
+#if defined(pyr)
+# define NO_MEMCPY
+#endif
+#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(_MSC_VER)
+ /* Use our own functions for small and medium model with MSC <= 5.0.
+ * You may have to use the same strategy for Borland C (untested).
+ */
+# define NO_MEMCPY
+#endif
+#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
+# define HAVE_MEMCPY
+#endif
+#ifdef HAVE_MEMCPY
+# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
+# define zmemcpy _fmemcpy
+# define zmemcmp _fmemcmp
+# define zmemzero(dest, len) _fmemset(dest, 0, len)
+# else
+# define zmemcpy memcpy
+# define zmemcmp memcmp
+# define zmemzero(dest, len) memset(dest, 0, len)
+# endif
+#else
+ extern void zmemcpy OF((Bytef* dest, Bytef* source, uInt len));
+ extern int zmemcmp OF((Bytef* s1, Bytef* s2, uInt len));
+ extern void zmemzero OF((Bytef* dest, uInt len));
+#endif
+
+/* Diagnostic functions */
+#ifdef DEBUG_ZLIB
+# include <stdio.h>
+# ifndef verbose
+# define verbose 0
+# endif
+ extern void z_error OF((char *m));
+# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
+# define Trace(x) fprintf x
+# define Tracev(x) {if (verbose) fprintf x ;}
+# define Tracevv(x) {if (verbose>1) fprintf x ;}
+# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
+# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
+#else
+# define Assert(cond,msg)
+# define Trace(x)
+# define Tracev(x)
+# define Tracevv(x)
+# define Tracec(c,x)
+# define Tracecv(c,x)
+#endif
+
+
+typedef uLong (*check_func) OF((uLong check, const Bytef *buf, uInt len));
+
+voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
+void zcfree OF((voidpf opaque, voidpf ptr));
+
+#define ZALLOC(strm, items, size) \
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
+#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
+#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
+
+#endif /* _Z_UTIL_H */
+/* --- zutil.h */
+
+/* +++ deflate.h */
+/* deflate.h -- internal compression state
+ * Copyright (C) 1995-1996 Jean-loup Gailly
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* From: deflate.h,v 1.10 1996/07/02 12:41:00 me Exp $ */
+
+#ifndef _DEFLATE_H
+#define _DEFLATE_H
+
+/* #include "zutil.h" */
+
+/* ===========================================================================
+ * Internal compression state.
+ */
+
+#define LENGTH_CODES 29
+/* number of length codes, not counting the special END_BLOCK code */
+
+#define LITERALS 256
+/* number of literal bytes 0..255 */
+
+#define L_CODES (LITERALS+1+LENGTH_CODES)
+/* number of Literal or Length codes, including the END_BLOCK code */
+
+#define D_CODES 30
+/* number of distance codes */
+
+#define BL_CODES 19
+/* number of codes used to transfer the bit lengths */
+
+#define HEAP_SIZE (2*L_CODES+1)
+/* maximum heap size */
+
+#define MAX_BITS 15
+/* All codes must not exceed MAX_BITS bits */
+
+#define INIT_STATE 42
+#define BUSY_STATE 113
+#define FINISH_STATE 666
+/* Stream status */
+
+
+/* Data structure describing a single value and its code string. */
+typedef struct ct_data_s {
+ union {
+ ush freq; /* frequency count */
+ ush code; /* bit string */
+ } fc;
+ union {
+ ush dad; /* father node in Huffman tree */
+ ush len; /* length of bit string */
+ } dl;
+} FAR ct_data;
+
+#define Freq fc.freq
+#define Code fc.code
+#define Dad dl.dad
+#define Len dl.len
+
+typedef struct static_tree_desc_s static_tree_desc;
+
+typedef struct tree_desc_s {
+ ct_data *dyn_tree; /* the dynamic tree */
+ int max_code; /* largest code with non zero frequency */
+ static_tree_desc *stat_desc; /* the corresponding static tree */
+} FAR tree_desc;
+
+typedef ush Pos;
+typedef Pos FAR Posf;
+typedef unsigned IPos;
+
+/* A Pos is an index in the character window. We use short instead of int to
+ * save space in the various tables. IPos is used only for parameter passing.
+ */
+
+typedef struct deflate_state {
+ z_streamp strm; /* pointer back to this zlib stream */
+ int status; /* as the name implies */
+ Bytef *pending_buf; /* output still pending */
+ ulg pending_buf_size; /* size of pending_buf */
+ Bytef *pending_out; /* next pending byte to output to the stream */
+ int pending; /* nb of bytes in the pending buffer */
+ int noheader; /* suppress zlib header and adler32 */
+ Byte data_type; /* UNKNOWN, BINARY or ASCII */
+ Byte method; /* STORED (for zip only) or DEFLATED */
+ int last_flush; /* value of flush param for previous deflate call */
+
+ /* used by deflate.c: */
+
+ uInt w_size; /* LZ77 window size (32K by default) */
+ uInt w_bits; /* log2(w_size) (8..16) */
+ uInt w_mask; /* w_size - 1 */
+
+ Bytef *window;
+ /* Sliding window. Input bytes are read into the second half of the window,
+ * and move to the first half later to keep a dictionary of at least wSize
+ * bytes. With this organization, matches are limited to a distance of
+ * wSize-MAX_MATCH bytes, but this ensures that IO is always
+ * performed with a length multiple of the block size. Also, it limits
+ * the window size to 64K, which is quite useful on MSDOS.
+ * To do: use the user input buffer as sliding window.
+ */
+
+ ulg window_size;
+ /* Actual size of window: 2*wSize, except when the user input buffer
+ * is directly used as sliding window.
+ */
+
+ Posf *prev;
+ /* Link to older string with same hash index. To limit the size of this
+ * array to 64K, this link is maintained only for the last 32K strings.
+ * An index in this array is thus a window index modulo 32K.
+ */
+
+ Posf *head; /* Heads of the hash chains or NIL. */
+
+ uInt ins_h; /* hash index of string to be inserted */
+ uInt hash_size; /* number of elements in hash table */
+ uInt hash_bits; /* log2(hash_size) */
+ uInt hash_mask; /* hash_size-1 */
+
+ uInt hash_shift;
+ /* Number of bits by which ins_h must be shifted at each input
+ * step. It must be such that after MIN_MATCH steps, the oldest
+ * byte no longer takes part in the hash key, that is:
+ * hash_shift * MIN_MATCH >= hash_bits
+ */
+
+ long block_start;
+ /* Window position at the beginning of the current output block. Gets
+ * negative when the window is moved backwards.
+ */
+
+ uInt match_length; /* length of best match */
+ IPos prev_match; /* previous match */
+ int match_available; /* set if previous match exists */
+ uInt strstart; /* start of string to insert */
+ uInt match_start; /* start of matching string */
+ uInt lookahead; /* number of valid bytes ahead in window */
+
+ uInt prev_length;
+ /* Length of the best match at previous step. Matches not greater than this
+ * are discarded. This is used in the lazy match evaluation.
+ */
+
+ uInt max_chain_length;
+ /* To speed up deflation, hash chains are never searched beyond this
+ * length. A higher limit improves compression ratio but degrades the
+ * speed.
+ */
+
+ uInt max_lazy_match;
+ /* Attempt to find a better match only when the current match is strictly
+ * smaller than this value. This mechanism is used only for compression
+ * levels >= 4.
+ */
+# define max_insert_length max_lazy_match
+ /* Insert new strings in the hash table only if the match length is not
+ * greater than this length. This saves time but degrades compression.
+ * max_insert_length is used only for compression levels <= 3.
+ */
+
+ int level; /* compression level (1..9) */
+ int strategy; /* favor or force Huffman coding*/
+
+ uInt good_match;
+ /* Use a faster search when the previous match is longer than this */
+
+ int nice_match; /* Stop searching when current match exceeds this */
+
+ /* used by trees.c: */
+ /* Didn't use ct_data typedef below to supress compiler warning */
+ struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
+ struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
+ struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
+
+ struct tree_desc_s l_desc; /* desc. for literal tree */
+ struct tree_desc_s d_desc; /* desc. for distance tree */
+ struct tree_desc_s bl_desc; /* desc. for bit length tree */
+
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
+ int heap_len; /* number of elements in the heap */
+ int heap_max; /* element of largest frequency */
+ /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
+ * The same heap array is used to build all trees.
+ */
+
+ uch depth[2*L_CODES+1];
+ /* Depth of each subtree used as tie breaker for trees of equal frequency
+ */
+
+ uchf *l_buf; /* buffer for literals or lengths */
+
+ uInt lit_bufsize;
+ /* Size of match buffer for literals/lengths. There are 4 reasons for
+ * limiting lit_bufsize to 64K:
+ * - frequencies can be kept in 16 bit counters
+ * - if compression is not successful for the first block, all input
+ * data is still in the window so we can still emit a stored block even
+ * when input comes from standard input. (This can also be done for
+ * all blocks if lit_bufsize is not greater than 32K.)
+ * - if compression is not successful for a file smaller than 64K, we can
+ * even emit a stored file instead of a stored block (saving 5 bytes).
+ * This is applicable only for zip (not gzip or zlib).
+ * - creating new Huffman trees less frequently may not provide fast
+ * adaptation to changes in the input data statistics. (Take for
+ * example a binary file with poorly compressible code followed by
+ * a highly compressible string table.) Smaller buffer sizes give
+ * fast adaptation but have of course the overhead of transmitting
+ * trees more frequently.
+ * - I can't count above 4
+ */
+
+ uInt last_lit; /* running index in l_buf */
+
+ ushf *d_buf;
+ /* Buffer for distances. To simplify the code, d_buf and l_buf have
+ * the same number of elements. To use different lengths, an extra flag
+ * array would be necessary.
+ */
+
+ ulg opt_len; /* bit length of current block with optimal trees */
+ ulg static_len; /* bit length of current block with static trees */
+ ulg compressed_len; /* total bit length of compressed file */
+ uInt matches; /* number of string matches in current block */
+ int last_eob_len; /* bit length of EOB code for last block */
+
+#ifdef DEBUG_ZLIB
+ ulg bits_sent; /* bit length of the compressed data */
+#endif
+
+ ush bi_buf;
+ /* Output buffer. bits are inserted starting at the bottom (least
+ * significant bits).
+ */
+ int bi_valid;
+ /* Number of valid bits in bi_buf. All bits above the last valid bit
+ * are always zero.
+ */
+
+} FAR deflate_state;
+
+/* Output a byte on the stream.
+ * IN assertion: there is enough room in pending_buf.
+ */
+#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
+
+
+#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
+/* Minimum amount of lookahead, except at the end of the input file.
+ * See deflate.c for comments about the MIN_MATCH+1.
+ */
+
+#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
+/* In order to simplify the code, particularly on 16 bit machines, match
+ * distances are limited to MAX_DIST instead of WSIZE.
+ */
+
+ /* in trees.c */
+void _tr_init OF((deflate_state *s));
+int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
+ulg _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
+ int eof));
+void _tr_align OF((deflate_state *s));
+void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
+ int eof));
+void _tr_stored_type_only OF((deflate_state *));
+
+#endif
+/* --- deflate.h */
+
+/* +++ deflate.c */
+/* deflate.c -- compress data using the deflation algorithm
+ * Copyright (C) 1995-1996 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process depends on being able to identify portions
+ * of the input text which are identical to earlier input (within a
+ * sliding window trailing behind the input currently being processed).
+ *
+ * The most straightforward technique turns out to be the fastest for
+ * most input files: try all possible matches and select the longest.
+ * The key feature of this algorithm is that insertions into the string
+ * dictionary are very simple and thus fast, and deletions are avoided
+ * completely. Insertions are performed at each input character, whereas
+ * string matches are performed only when the previous match ends. So it
+ * is preferable to spend more time in matches to allow very fast string
+ * insertions and avoid deletions. The matching algorithm for small
+ * strings is inspired from that of Rabin & Karp. A brute force approach
+ * is used to find longer strings when a small match has been found.
+ * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
+ * (by Leonid Broukhis).
+ * A previous version of this file used a more sophisticated algorithm
+ * (by Fiala and Greene) which is guaranteed to run in linear amortized
+ * time, but has a larger average cost, uses more memory and is patented.
+ * However the F&G algorithm may be faster for some highly redundant
+ * files if the parameter max_chain_length (described below) is too large.
+ *
+ * ACKNOWLEDGEMENTS
+ *
+ * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
+ * I found it in 'freeze' written by Leonid Broukhis.
+ * Thanks to many people for bug reports and testing.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
+ * Available in ftp://ds.internic.net/rfc/rfc1951.txt
+ *
+ * A description of the Rabin and Karp algorithm is given in the book
+ * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
+ *
+ * Fiala,E.R., and Greene,D.H.
+ * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
+ *
+ */
+
+/* From: deflate.c,v 1.15 1996/07/24 13:40:58 me Exp $ */
+
+/* #include "deflate.h" */
+
+char deflate_copyright[] = " deflate 1.0.4 Copyright 1995-1996 Jean-loup Gailly ";
+/*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+ include such an acknowledgment, I would appreciate that you keep this
+ copyright string in the executable of your product.
+ */
+
+/* ===========================================================================
+ * Function prototypes.
+ */
+typedef enum {
+ need_more, /* block not completed, need more input or more output */
+ block_done, /* block flush performed */
+ finish_started, /* finish started, need only more output at next deflate */
+ finish_done /* finish done, accept no more input or output */
+} block_state;
+
+typedef block_state (*compress_func) OF((deflate_state *s, int flush));
+/* Compression function. Returns the block state after the call. */
+
+local void fill_window OF((deflate_state *s));
+local block_state deflate_stored OF((deflate_state *s, int flush));
+local block_state deflate_fast OF((deflate_state *s, int flush));
+local block_state deflate_slow OF((deflate_state *s, int flush));
+local void lm_init OF((deflate_state *s));
+local void putShortMSB OF((deflate_state *s, uInt b));
+local void flush_pending OF((z_streamp strm));
+local int read_buf OF((z_streamp strm, charf *buf, unsigned size));
+#ifdef ASMV
+ void match_init OF((void)); /* asm code initialization */
+ uInt longest_match OF((deflate_state *s, IPos cur_match));
+#else
+local uInt longest_match OF((deflate_state *s, IPos cur_match));
+#endif
+
+#ifdef DEBUG_ZLIB
+local void check_match OF((deflate_state *s, IPos start, IPos match,
+ int length));
+#endif
+
+/* ===========================================================================
+ * Local data
+ */
+
+#define NIL 0
+/* Tail of hash chains */
+
+#ifndef TOO_FAR
+# define TOO_FAR 4096
+#endif
+/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
+
+#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
+/* Minimum amount of lookahead, except at the end of the input file.
+ * See deflate.c for comments about the MIN_MATCH+1.
+ */
+
+/* Values for max_lazy_match, good_match and max_chain_length, depending on
+ * the desired pack level (0..9). The values given below have been tuned to
+ * exclude worst case performance for pathological files. Better values may be
+ * found for specific files.
+ */
+typedef struct config_s {
+ ush good_length; /* reduce lazy search above this match length */
+ ush max_lazy; /* do not perform lazy search above this match length */
+ ush nice_length; /* quit search above this match length */
+ ush max_chain;
+ compress_func func;
+} config;
+
+local config configuration_table[10] = {
+/* good lazy nice chain */
+/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */
+/* 1 */ {4, 4, 8, 4, deflate_fast}, /* maximum speed, no lazy matches */
+/* 2 */ {4, 5, 16, 8, deflate_fast},
+/* 3 */ {4, 6, 32, 32, deflate_fast},
+
+/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */
+/* 5 */ {8, 16, 32, 32, deflate_slow},
+/* 6 */ {8, 16, 128, 128, deflate_slow},
+/* 7 */ {8, 32, 128, 256, deflate_slow},
+/* 8 */ {32, 128, 258, 1024, deflate_slow},
+/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* maximum compression */
+
+/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
+ * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
+ * meaning.
+ */
+
+#define EQUAL 0
+/* result of memcmp for equal strings */
+
+#ifndef NO_DUMMY_DECL
+struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
+#endif
+
+/* ===========================================================================
+ * Update a hash value with the given input byte
+ * IN assertion: all calls to to UPDATE_HASH are made with consecutive
+ * input characters, so that a running hash key can be computed from the
+ * previous key instead of complete recalculation each time.
+ */
+#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
+
+
+/* ===========================================================================
+ * Insert string str in the dictionary and set match_head to the previous head
+ * of the hash chain (the most recent string with same hash key). Return
+ * the previous length of the hash chain.
+ * IN assertion: all calls to to INSERT_STRING are made with consecutive
+ * input characters and the first MIN_MATCH bytes of str are valid
+ * (except for the last MIN_MATCH-1 bytes of the input file).
+ */
+#define INSERT_STRING(s, str, match_head) \
+ (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
+ s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
+ s->head[s->ins_h] = (Pos)(str))
+
+/* ===========================================================================
+ * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
+ * prev[] will be initialized on the fly.
+ */
+#define CLEAR_HASH(s) \
+ s->head[s->hash_size-1] = NIL; \
+ zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+
+/* ========================================================================= */
+int deflateInit_(strm, level, version, stream_size)
+ z_streamp strm;
+ int level;
+ const char *version;
+ int stream_size;
+{
+ return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
+ Z_DEFAULT_STRATEGY, version, stream_size);
+ /* To do: ignore strm->next_in if we use it as window */
+}
+
+/* ========================================================================= */
+int deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ version, stream_size)
+ z_streamp strm;
+ int level;
+ int method;
+ int windowBits;
+ int memLevel;
+ int strategy;
+ const char *version;
+ int stream_size;
+{
+ deflate_state *s;
+ int noheader = 0;
+ static char* my_version = ZLIB_VERSION;
+
+ ushf *overlay;
+ /* We overlay pending_buf and d_buf+l_buf. This works since the average
+ * output size for (length,distance) codes is <= 24 bits.
+ */
+
+ if (version == Z_NULL || version[0] != my_version[0] ||
+ stream_size != sizeof(z_stream)) {
+ return Z_VERSION_ERROR;
+ }
+ if (strm == Z_NULL) return Z_STREAM_ERROR;
+
+ strm->msg = Z_NULL;
+#ifndef NO_ZCFUNCS
+ if (strm->zalloc == Z_NULL) {
+ strm->zalloc = zcalloc;
+ strm->opaque = (voidpf)0;
+ }
+ if (strm->zfree == Z_NULL) strm->zfree = zcfree;
+#endif
+
+ if (level == Z_DEFAULT_COMPRESSION) level = 6;
+
+ if (windowBits < 0) { /* undocumented feature: suppress zlib header */
+ noheader = 1;
+ windowBits = -windowBits;
+ }
+ if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
+ windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+ strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
+ return Z_STREAM_ERROR;
+ }
+ s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
+ if (s == Z_NULL) return Z_MEM_ERROR;
+ strm->state = (struct internal_state FAR *)s;
+ s->strm = strm;
+
+ s->noheader = noheader;
+ s->w_bits = windowBits;
+ s->w_size = 1 << s->w_bits;
+ s->w_mask = s->w_size - 1;
+
+ s->hash_bits = memLevel + 7;
+ s->hash_size = 1 << s->hash_bits;
+ s->hash_mask = s->hash_size - 1;
+ s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
+
+ s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
+ s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
+ s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
+
+ s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+
+ overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
+ s->pending_buf = (uchf *) overlay;
+ s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
+
+ if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
+ s->pending_buf == Z_NULL) {
+ strm->msg = (char*)ERR_MSG(Z_MEM_ERROR);
+ deflateEnd (strm);
+ return Z_MEM_ERROR;
+ }
+ s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
+ s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
+
+ s->level = level;
+ s->strategy = strategy;
+ s->method = (Byte)method;
+
+ return deflateReset(strm);
+}
+
+/* ========================================================================= */
+int deflateSetDictionary (strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+{
+ deflate_state *s;
+ uInt length = dictLength;
+ uInt n;
+ IPos hash_head = 0;
+
+ if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
+ return Z_STREAM_ERROR;
+
+ s = (deflate_state *) strm->state;
+ if (s->status != INIT_STATE) return Z_STREAM_ERROR;
+
+ strm->adler = adler32(strm->adler, dictionary, dictLength);
+
+ if (length < MIN_MATCH) return Z_OK;
+ if (length > MAX_DIST(s)) {
+ length = MAX_DIST(s);
+#ifndef USE_DICT_HEAD
+ dictionary += dictLength - length; /* use the tail of the dictionary */
+#endif
+ }
+ zmemcpy((charf *)s->window, dictionary, length);
+ s->strstart = length;
+ s->block_start = (long)length;
+
+ /* Insert all strings in the hash table (except for the last two bytes).
+ * s->lookahead stays null, so s->ins_h will be recomputed at the next
+ * call of fill_window.
+ */
+ s->ins_h = s->window[0];
+ UPDATE_HASH(s, s->ins_h, s->window[1]);
+ for (n = 0; n <= length - MIN_MATCH; n++) {
+ INSERT_STRING(s, n, hash_head);
+ }
+ if (hash_head) hash_head = 0; /* to make compiler happy */
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int deflateReset (strm)
+ z_streamp strm;
+{
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL ||
+ strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
+
+ strm->total_in = strm->total_out = 0;
+ strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
+ strm->data_type = Z_UNKNOWN;
+
+ s = (deflate_state *)strm->state;
+ s->pending = 0;
+ s->pending_out = s->pending_buf;
+
+ if (s->noheader < 0) {
+ s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
+ }
+ s->status = s->noheader ? BUSY_STATE : INIT_STATE;
+ strm->adler = 1;
+ s->last_flush = Z_NO_FLUSH;
+
+ _tr_init(s);
+ lm_init(s);
+
+ return Z_OK;
+}
+
+/* ========================================================================= */
+int deflateParams(strm, level, strategy)
+ z_streamp strm;
+ int level;
+ int strategy;
+{
+ deflate_state *s;
+ compress_func func;
+ int err = Z_OK;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ s = (deflate_state *) strm->state;
+
+ if (level == Z_DEFAULT_COMPRESSION) {
+ level = 6;
+ }
+ if (level < 0 || level > 9 || strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
+ return Z_STREAM_ERROR;
+ }
+ func = configuration_table[s->level].func;
+
+ if (func != configuration_table[level].func && strm->total_in != 0) {
+ /* Flush the last buffer: */
+ err = deflate(strm, Z_PARTIAL_FLUSH);
+ }
+ if (s->level != level) {
+ s->level = level;
+ s->max_lazy_match = configuration_table[level].max_lazy;
+ s->good_match = configuration_table[level].good_length;
+ s->nice_match = configuration_table[level].nice_length;
+ s->max_chain_length = configuration_table[level].max_chain;
+ }
+ s->strategy = strategy;
+ return err;
+}
+
+/* =========================================================================
+ * Put a short in the pending buffer. The 16-bit value is put in MSB order.
+ * IN assertion: the stream state is correct and there is enough room in
+ * pending_buf.
+ */
+local void putShortMSB (s, b)
+ deflate_state *s;
+ uInt b;
+{
+ put_byte(s, (Byte)(b >> 8));
+ put_byte(s, (Byte)(b & 0xff));
+}
+
+/* =========================================================================
+ * Flush as much pending output as possible. All deflate() output goes
+ * through this function so some applications may wish to modify it
+ * to avoid allocating a large strm->next_out buffer and copying into it.
+ * (See also read_buf()).
+ */
+local void flush_pending(strm)
+ z_streamp strm;
+{
+ deflate_state *s = (deflate_state *) strm->state;
+ unsigned len = s->pending;
+
+ if (len > strm->avail_out) len = strm->avail_out;
+ if (len == 0) return;
+
+ if (strm->next_out != Z_NULL) {
+ zmemcpy(strm->next_out, s->pending_out, len);
+ strm->next_out += len;
+ }
+ s->pending_out += len;
+ strm->total_out += len;
+ strm->avail_out -= len;
+ s->pending -= len;
+ if (s->pending == 0) {
+ s->pending_out = s->pending_buf;
+ }
+}
+
+/* ========================================================================= */
+int deflate (strm, flush)
+ z_streamp strm;
+ int flush;
+{
+ int old_flush; /* value of flush param for previous deflate call */
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL ||
+ flush > Z_FINISH || flush < 0) {
+ return Z_STREAM_ERROR;
+ }
+ s = (deflate_state *) strm->state;
+
+ if ((strm->next_in == Z_NULL && strm->avail_in != 0) ||
+ (s->status == FINISH_STATE && flush != Z_FINISH)) {
+ ERR_RETURN(strm, Z_STREAM_ERROR);
+ }
+ if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
+
+ s->strm = strm; /* just in case */
+ old_flush = s->last_flush;
+ s->last_flush = flush;
+
+ /* Write the zlib header */
+ if (s->status == INIT_STATE) {
+
+ uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
+ uInt level_flags = (s->level-1) >> 1;
+
+ if (level_flags > 3) level_flags = 3;
+ header |= (level_flags << 6);
+ if (s->strstart != 0) header |= PRESET_DICT;
+ header += 31 - (header % 31);
+
+ s->status = BUSY_STATE;
+ putShortMSB(s, header);
+
+ /* Save the adler32 of the preset dictionary: */
+ if (s->strstart != 0) {
+ putShortMSB(s, (uInt)(strm->adler >> 16));
+ putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ }
+ strm->adler = 1L;
+ }
+
+ /* Flush as much pending output as possible */
+ if (s->pending != 0) {
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ /* Since avail_out is 0, deflate will be called again with
+ * more output space, but possibly with both pending and
+ * avail_in equal to zero. There won't be anything to do,
+ * but this is not an error situation so make sure we
+ * return OK instead of BUF_ERROR at next call of deflate:
+ */
+ s->last_flush = -1;
+ return Z_OK;
+ }
+
+ /* Make sure there is something to do and avoid duplicate consecutive
+ * flushes. For repeated and useless calls with Z_FINISH, we keep
+ * returning Z_STREAM_END instead of Z_BUFF_ERROR.
+ */
+ } else if (strm->avail_in == 0 && flush <= old_flush &&
+ flush != Z_FINISH) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* User must not provide more input after the first FINISH: */
+ if (s->status == FINISH_STATE && strm->avail_in != 0) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* Start a new block or continue the current one.
+ */
+ if (strm->avail_in != 0 || s->lookahead != 0 ||
+ (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
+ block_state bstate;
+
+ bstate = (*(configuration_table[s->level].func))(s, flush);
+
+ if (bstate == finish_started || bstate == finish_done) {
+ s->status = FINISH_STATE;
+ }
+ if (bstate == need_more || bstate == finish_started) {
+ if (strm->avail_out == 0) {
+ s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
+ }
+ return Z_OK;
+ /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
+ * of deflate should use the same flush parameter to make sure
+ * that the flush is complete. So we don't have to output an
+ * empty block here, this will be done at next call. This also
+ * ensures that for a very small output buffer, we emit at most
+ * one empty block.
+ */
+ }
+ if (bstate == block_done) {
+ if (flush == Z_PARTIAL_FLUSH) {
+ _tr_align(s);
+ } else if (flush == Z_PACKET_FLUSH) {
+ /* Output just the 3-bit `stored' block type value,
+ but not a zero length. */
+ _tr_stored_type_only(s);
+ } else { /* FULL_FLUSH or SYNC_FLUSH */
+ _tr_stored_block(s, (char*)0, 0L, 0);
+ /* For a full flush, this empty block will be recognized
+ * as a special marker by inflate_sync().
+ */
+ if (flush == Z_FULL_FLUSH) {
+ CLEAR_HASH(s); /* forget history */
+ }
+ }
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
+ return Z_OK;
+ }
+ }
+ }
+ Assert(strm->avail_out > 0, "bug2");
+
+ if (flush != Z_FINISH) return Z_OK;
+ if (s->noheader) return Z_STREAM_END;
+
+ /* Write the zlib trailer (adler32) */
+ putShortMSB(s, (uInt)(strm->adler >> 16));
+ putShortMSB(s, (uInt)(strm->adler & 0xffff));
+ flush_pending(strm);
+ /* If avail_out is zero, the application will call deflate again
+ * to flush the rest.
+ */
+ s->noheader = -1; /* write the trailer only once! */
+ return s->pending != 0 ? Z_OK : Z_STREAM_END;
+}
+
+/* ========================================================================= */
+int deflateEnd (strm)
+ z_streamp strm;
+{
+ int status;
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+ s = (deflate_state *) strm->state;
+
+ status = s->status;
+ if (status != INIT_STATE && status != BUSY_STATE &&
+ status != FINISH_STATE) {
+ return Z_STREAM_ERROR;
+ }
+
+ /* Deallocate in reverse order of allocations: */
+ TRY_FREE(strm, s->pending_buf);
+ TRY_FREE(strm, s->head);
+ TRY_FREE(strm, s->prev);
+ TRY_FREE(strm, s->window);
+
+ ZFREE(strm, s);
+ strm->state = Z_NULL;
+
+ return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
+}
+
+/* =========================================================================
+ * Copy the source state to the destination state.
+ */
+int deflateCopy (dest, source)
+ z_streamp dest;
+ z_streamp source;
+{
+ deflate_state *ds;
+ deflate_state *ss;
+ ushf *overlay;
+
+ if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ ss = (deflate_state *) source->state;
+
+ zmemcpy(dest, source, sizeof(*dest));
+
+ ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
+ if (ds == Z_NULL) return Z_MEM_ERROR;
+ dest->state = (struct internal_state FAR *) ds;
+ zmemcpy(ds, ss, sizeof(*ds));
+ ds->strm = dest;
+
+ ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
+ ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos));
+ ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos));
+ overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
+ ds->pending_buf = (uchf *) overlay;
+
+ if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
+ ds->pending_buf == Z_NULL) {
+ deflateEnd (dest);
+ return Z_MEM_ERROR;
+ }
+ /* ??? following zmemcpy doesn't work for 16-bit MSDOS */
+ zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
+ zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
+ zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
+ zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
+
+ ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
+ ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
+ ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
+
+ ds->l_desc.dyn_tree = ds->dyn_ltree;
+ ds->d_desc.dyn_tree = ds->dyn_dtree;
+ ds->bl_desc.dyn_tree = ds->bl_tree;
+
+ return Z_OK;
+}
+
+/* ===========================================================================
+ * Return the number of bytes of output which are immediately available
+ * for output from the decompressor.
+ */
+int deflateOutputPending (strm)
+ z_streamp strm;
+{
+ if (strm == Z_NULL || strm->state == Z_NULL) return 0;
+
+ return ((deflate_state *)(strm->state))->pending;
+}
+
+/* ===========================================================================
+ * Read a new buffer from the current input stream, update the adler32
+ * and total number of bytes read. All deflate() input goes through
+ * this function so some applications may wish to modify it to avoid
+ * allocating a large strm->next_in buffer and copying from it.
+ * (See also flush_pending()).
+ */
+local int read_buf(strm, buf, size)
+ z_streamp strm;
+ charf *buf;
+ unsigned size;
+{
+ unsigned len = strm->avail_in;
+
+ if (len > size) len = size;
+ if (len == 0) return 0;
+
+ strm->avail_in -= len;
+
+ if (!((deflate_state *)(strm->state))->noheader) {
+ strm->adler = adler32(strm->adler, strm->next_in, len);
+ }
+ zmemcpy(buf, strm->next_in, len);
+ strm->next_in += len;
+ strm->total_in += len;
+
+ return (int)len;
+}
+
+/* ===========================================================================
+ * Initialize the "longest match" routines for a new zlib stream
+ */
+local void lm_init (s)
+ deflate_state *s;
+{
+ s->window_size = (ulg)2L*s->w_size;
+
+ CLEAR_HASH(s);
+
+ /* Set the default configuration parameters:
+ */
+ s->max_lazy_match = configuration_table[s->level].max_lazy;
+ s->good_match = configuration_table[s->level].good_length;
+ s->nice_match = configuration_table[s->level].nice_length;
+ s->max_chain_length = configuration_table[s->level].max_chain;
+
+ s->strstart = 0;
+ s->block_start = 0L;
+ s->lookahead = 0;
+ s->match_length = s->prev_length = MIN_MATCH-1;
+ s->match_available = 0;
+ s->ins_h = 0;
+#ifdef ASMV
+ match_init(); /* initialize the asm code */
+#endif
+}
+
+/* ===========================================================================
+ * Set match_start to the longest match starting at the given string and
+ * return its length. Matches shorter or equal to prev_length are discarded,
+ * in which case the result is equal to prev_length and match_start is
+ * garbage.
+ * IN assertions: cur_match is the head of the hash chain for the current
+ * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
+ * OUT assertion: the match length is not greater than s->lookahead.
+ */
+#ifndef ASMV
+/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
+ * match.S. The code will be functionally equivalent.
+ */
+local uInt longest_match(s, cur_match)
+ deflate_state *s;
+ IPos cur_match; /* current match */
+{
+ unsigned chain_length = s->max_chain_length;/* max hash chain length */
+ register Bytef *scan = s->window + s->strstart; /* current string */
+ register Bytef *match; /* matched string */
+ register int len; /* length of current match */
+ int best_len = s->prev_length; /* best match length so far */
+ int nice_match = s->nice_match; /* stop if match long enough */
+ IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
+ s->strstart - (IPos)MAX_DIST(s) : NIL;
+ /* Stop when cur_match becomes <= limit. To simplify the code,
+ * we prevent matches with the string of window index 0.
+ */
+ Posf *prev = s->prev;
+ uInt wmask = s->w_mask;
+
+#ifdef UNALIGNED_OK
+ /* Compare two bytes at a time. Note: this is not always beneficial.
+ * Try with and without -DUNALIGNED_OK to check.
+ */
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
+ register ush scan_start = *(ushf*)scan;
+ register ush scan_end = *(ushf*)(scan+best_len-1);
+#else
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH;
+ register Byte scan_end1 = scan[best_len-1];
+ register Byte scan_end = scan[best_len];
+#endif
+
+ /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+ * It is easy to get rid of this optimization if necessary.
+ */
+ Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+ /* Do not waste too much time if we already have a good match: */
+ if (s->prev_length >= s->good_match) {
+ chain_length >>= 2;
+ }
+ /* Do not look for matches beyond the end of the input. This is necessary
+ * to make deflate deterministic.
+ */
+ if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
+
+ Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+ do {
+ Assert(cur_match < s->strstart, "no future");
+ match = s->window + cur_match;
+
+ /* Skip to next match if the match length cannot increase
+ * or if the match length is less than 2:
+ */
+#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
+ /* This code assumes sizeof(unsigned short) == 2. Do not use
+ * UNALIGNED_OK if your compiler uses a different size.
+ */
+ if (*(ushf*)(match+best_len-1) != scan_end ||
+ *(ushf*)match != scan_start) continue;
+
+ /* It is not necessary to compare scan[2] and match[2] since they are
+ * always equal when the other bytes match, given that the hash keys
+ * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
+ * strstart+3, +5, ... up to strstart+257. We check for insufficient
+ * lookahead only every 4th comparison; the 128th check will be made
+ * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
+ * necessary to put more guard bytes at the end of the window, or
+ * to check more often for insufficient lookahead.
+ */
+ Assert(scan[2] == match[2], "scan[2]?");
+ scan++, match++;
+ do {
+ } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ scan < strend);
+ /* The funny "do {}" generates better code on most compilers */
+
+ /* Here, scan <= window+strstart+257 */
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+ if (*scan == *match) scan++;
+
+ len = (MAX_MATCH - 1) - (int)(strend-scan);
+ scan = strend - (MAX_MATCH-1);
+
+#else /* UNALIGNED_OK */
+
+ if (match[best_len] != scan_end ||
+ match[best_len-1] != scan_end1 ||
+ *match != *scan ||
+ *++match != scan[1]) continue;
+
+ /* The check at best_len-1 can be removed because it will be made
+ * again later. (This heuristic is not always a win.)
+ * It is not necessary to compare scan[2] and match[2] since they
+ * are always equal when the other bytes match, given that
+ * the hash keys are equal and that HASH_BITS >= 8.
+ */
+ scan += 2, match++;
+ Assert(*scan == *match, "match[2]?");
+
+ /* We check for insufficient lookahead only every 8th comparison;
+ * the 256th check will be made at strstart+258.
+ */
+ do {
+ } while (*++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ scan < strend);
+
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+ len = MAX_MATCH - (int)(strend - scan);
+ scan = strend - MAX_MATCH;
+
+#endif /* UNALIGNED_OK */
+
+ if (len > best_len) {
+ s->match_start = cur_match;
+ best_len = len;
+ if (len >= nice_match) break;
+#ifdef UNALIGNED_OK
+ scan_end = *(ushf*)(scan+best_len-1);
+#else
+ scan_end1 = scan[best_len-1];
+ scan_end = scan[best_len];
+#endif
+ }
+ } while ((cur_match = prev[cur_match & wmask]) > limit
+ && --chain_length != 0);
+
+ if ((uInt)best_len <= s->lookahead) return best_len;
+ return s->lookahead;
+}
+#endif /* ASMV */
+
+#ifdef DEBUG_ZLIB
+/* ===========================================================================
+ * Check that the match at match_start is indeed a match.
+ */
+local void check_match(s, start, match, length)
+ deflate_state *s;
+ IPos start, match;
+ int length;
+{
+ /* check that the match is indeed a match */
+ if (zmemcmp((charf *)s->window + match,
+ (charf *)s->window + start, length) != EQUAL) {
+ fprintf(stderr, " start %u, match %u, length %d\n",
+ start, match, length);
+ do {
+ fprintf(stderr, "%c%c", s->window[match++], s->window[start++]);
+ } while (--length != 0);
+ z_error("invalid match");
+ }
+ if (z_verbose > 1) {
+ fprintf(stderr,"\\[%d,%d]", start-match, length);
+ do { putc(s->window[start++], stderr); } while (--length != 0);
+ }
+}
+#else
+# define check_match(s, start, match, length)
+#endif
+
+/* ===========================================================================
+ * Fill the window when the lookahead becomes insufficient.
+ * Updates strstart and lookahead.
+ *
+ * IN assertion: lookahead < MIN_LOOKAHEAD
+ * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
+ * At least one byte has been read, or avail_in == 0; reads are
+ * performed for at least two bytes (required for the zip translate_eol
+ * option -- not supported here).
+ */
+local void fill_window(s)
+ deflate_state *s;
+{
+ register unsigned n, m;
+ register Posf *p;
+ unsigned more; /* Amount of free space at the end of the window. */
+ uInt wsize = s->w_size;
+
+ do {
+ more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
+
+ /* Deal with !@#$% 64K limit: */
+ if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
+ more = wsize;
+
+ } else if (more == (unsigned)(-1)) {
+ /* Very unlikely, but possible on 16 bit machine if strstart == 0
+ * and lookahead == 1 (input done one byte at time)
+ */
+ more--;
+
+ /* If the window is almost full and there is insufficient lookahead,
+ * move the upper half to the lower one to make room in the upper half.
+ */
+ } else if (s->strstart >= wsize+MAX_DIST(s)) {
+
+ zmemcpy((charf *)s->window, (charf *)s->window+wsize,
+ (unsigned)wsize);
+ s->match_start -= wsize;
+ s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
+ s->block_start -= (long) wsize;
+
+ /* Slide the hash table (could be avoided with 32 bit values
+ at the expense of memory usage). We slide even when level == 0
+ to keep the hash table consistent if we switch back to level > 0
+ later. (Using level 0 permanently is not an optimal usage of
+ zlib, so we don't care about this pathological case.)
+ */
+ n = s->hash_size;
+ p = &s->head[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ } while (--n);
+
+ n = wsize;
+ p = &s->prev[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ /* If n is not on any hash chain, prev[n] is garbage but
+ * its value will never be used.
+ */
+ } while (--n);
+ more += wsize;
+ }
+ if (s->strm->avail_in == 0) return;
+
+ /* If there was no sliding:
+ * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
+ * more == window_size - lookahead - strstart
+ * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
+ * => more >= window_size - 2*WSIZE + 2
+ * In the BIG_MEM or MMAP case (not yet supported),
+ * window_size == input_size + MIN_LOOKAHEAD &&
+ * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
+ * Otherwise, window_size == 2*WSIZE so more >= 2.
+ * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
+ */
+ Assert(more >= 2, "more < 2");
+
+ n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
+ more);
+ s->lookahead += n;
+
+ /* Initialize the hash value now that we have some input: */
+ if (s->lookahead >= MIN_MATCH) {
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ }
+ /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
+ * but this is not important since only literal bytes will be emitted.
+ */
+
+ } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
+}
+
+/* ===========================================================================
+ * Flush the current block, with given end-of-file flag.
+ * IN assertion: strstart is set to the end of the current match.
+ */
+#define FLUSH_BLOCK_ONLY(s, eof) { \
+ _tr_flush_block(s, (s->block_start >= 0L ? \
+ (charf *)&s->window[(unsigned)s->block_start] : \
+ (charf *)Z_NULL), \
+ (ulg)((long)s->strstart - s->block_start), \
+ (eof)); \
+ s->block_start = s->strstart; \
+ flush_pending(s->strm); \
+ Tracev((stderr,"[FLUSH]")); \
+}
+
+/* Same but force premature exit if necessary. */
+#define FLUSH_BLOCK(s, eof) { \
+ FLUSH_BLOCK_ONLY(s, eof); \
+ if (s->strm->avail_out == 0) return (eof) ? finish_started : need_more; \
+}
+
+/* ===========================================================================
+ * Copy without compression as much as possible from the input stream, return
+ * the current block state.
+ * This function does not insert new strings in the dictionary since
+ * uncompressible data is probably not useful. This function is used
+ * only for the level=0 compression option.
+ * NOTE: this function should be optimized to avoid extra copying from
+ * window to pending_buf.
+ */
+local block_state deflate_stored(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
+ * to pending_buf_size, and each stored block has a 5 byte header:
+ */
+ ulg max_block_size = 0xffff;
+ ulg max_start;
+
+ if (max_block_size > s->pending_buf_size - 5) {
+ max_block_size = s->pending_buf_size - 5;
+ }
+
+ /* Copy as much as possible from input to output: */
+ for (;;) {
+ /* Fill the window as much as possible: */
+ if (s->lookahead <= 1) {
+
+ Assert(s->strstart < s->w_size+MAX_DIST(s) ||
+ s->block_start >= (long)s->w_size, "slide too late");
+
+ fill_window(s);
+ if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
+
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+ Assert(s->block_start >= 0L, "block gone");
+
+ s->strstart += s->lookahead;
+ s->lookahead = 0;
+
+ /* Emit a stored block if pending_buf will be full: */
+ max_start = s->block_start + max_block_size;
+ if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
+ /* strstart == 0 is possible when wraparound on 16-bit machine */
+ s->lookahead = (uInt)(s->strstart - max_start);
+ s->strstart = (uInt)max_start;
+ FLUSH_BLOCK(s, 0);
+ }
+ /* Flush if we may have to slide, otherwise block_start may become
+ * negative and the data will be gone:
+ */
+ if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
+ FLUSH_BLOCK(s, 0);
+ }
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+
+/* ===========================================================================
+ * Compress as much as possible from the input stream, return the current
+ * block state.
+ * This function does not perform lazy evaluation of matches and inserts
+ * new strings in the dictionary only for unmatched strings or for short
+ * matches. It is used only for the fast compression options.
+ */
+local block_state deflate_fast(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head = NIL; /* head of the hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
+ return need_more;
+ }
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ * At this point we have always match_length < MIN_MATCH
+ */
+ if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ if (s->strategy != Z_HUFFMAN_ONLY) {
+ s->match_length = longest_match (s, hash_head);
+ }
+ /* longest_match() sets match_start */
+ }
+ if (s->match_length >= MIN_MATCH) {
+ check_match(s, s->strstart, s->match_start, s->match_length);
+
+ bflush = _tr_tally(s, s->strstart - s->match_start,
+ s->match_length - MIN_MATCH);
+
+ s->lookahead -= s->match_length;
+
+ /* Insert new strings in the hash table only if the match length
+ * is not too large. This saves time but degrades compression.
+ */
+ if (s->match_length <= s->max_insert_length &&
+ s->lookahead >= MIN_MATCH) {
+ s->match_length--; /* string at strstart already in hash table */
+ do {
+ s->strstart++;
+ INSERT_STRING(s, s->strstart, hash_head);
+ /* strstart never exceeds WSIZE-MAX_MATCH, so there are
+ * always MIN_MATCH bytes ahead.
+ */
+ } while (--s->match_length != 0);
+ s->strstart++;
+ } else {
+ s->strstart += s->match_length;
+ s->match_length = 0;
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
+ * matter since it will be recomputed at next deflate call.
+ */
+ }
+ } else {
+ /* No match, output a literal byte */
+ Tracevv((stderr,"%c", s->window[s->strstart]));
+ bflush = _tr_tally (s, 0, s->window[s->strstart]);
+ s->lookahead--;
+ s->strstart++;
+ }
+ if (bflush) FLUSH_BLOCK(s, 0);
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+
+/* ===========================================================================
+ * Same as above, but achieves better compression. We use a lazy
+ * evaluation for matches: a match is finally adopted only if there is
+ * no better match at the next window position.
+ */
+local block_state deflate_slow(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head = NIL; /* head of hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ /* Process the input block. */
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) {
+ return need_more;
+ }
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ */
+ s->prev_length = s->match_length, s->prev_match = s->match_start;
+ s->match_length = MIN_MATCH-1;
+
+ if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
+ s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ if (s->strategy != Z_HUFFMAN_ONLY) {
+ s->match_length = longest_match (s, hash_head);
+ }
+ /* longest_match() sets match_start */
+
+ if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
+ (s->match_length == MIN_MATCH &&
+ s->strstart - s->match_start > TOO_FAR))) {
+
+ /* If prev_match is also MIN_MATCH, match_start is garbage
+ * but we will ignore the current match anyway.
+ */
+ s->match_length = MIN_MATCH-1;
+ }
+ }
+ /* If there was a match at the previous step and the current
+ * match is not better, output the previous match:
+ */
+ if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
+ uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
+ /* Do not insert strings in hash table beyond this. */
+
+ check_match(s, s->strstart-1, s->prev_match, s->prev_length);
+
+ bflush = _tr_tally(s, s->strstart -1 - s->prev_match,
+ s->prev_length - MIN_MATCH);
+
+ /* Insert in hash table all strings up to the end of the match.
+ * strstart-1 and strstart are already inserted. If there is not
+ * enough lookahead, the last two strings are not inserted in
+ * the hash table.
+ */
+ s->lookahead -= s->prev_length-1;
+ s->prev_length -= 2;
+ do {
+ if (++s->strstart <= max_insert) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+ } while (--s->prev_length != 0);
+ s->match_available = 0;
+ s->match_length = MIN_MATCH-1;
+ s->strstart++;
+
+ if (bflush) FLUSH_BLOCK(s, 0);
+
+ } else if (s->match_available) {
+ /* If there was no match at the previous position, output a
+ * single literal. If there was a match but the current match
+ * is longer, truncate the previous match to a single literal.
+ */
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ if (_tr_tally (s, 0, s->window[s->strstart-1])) {
+ FLUSH_BLOCK_ONLY(s, 0);
+ }
+ s->strstart++;
+ s->lookahead--;
+ if (s->strm->avail_out == 0) return need_more;
+ } else {
+ /* There is no previous match to compare with, wait for
+ * the next step to decide.
+ */
+ s->match_available = 1;
+ s->strstart++;
+ s->lookahead--;
+ }
+ }
+ Assert (flush != Z_NO_FLUSH, "no flush?");
+ if (s->match_available) {
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ _tr_tally (s, 0, s->window[s->strstart-1]);
+ s->match_available = 0;
+ }
+ FLUSH_BLOCK(s, flush == Z_FINISH);
+ return flush == Z_FINISH ? finish_done : block_done;
+}
+/* --- deflate.c */
+
+/* +++ trees.c */
+/* trees.c -- output deflated data using Huffman coding
+ * Copyright (C) 1995-1996 Jean-loup Gailly
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process uses several Huffman trees. The more
+ * common source values are represented by shorter bit sequences.
+ *
+ * Each code tree is stored in a compressed form which is itself
+ * a Huffman encoding of the lengths of all the code strings (in
+ * ascending order by source values). The actual code strings are
+ * reconstructed from the lengths in the inflate process, as described
+ * in the deflate specification.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
+ * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
+ *
+ * Storer, James A.
+ * Data Compression: Methods and Theory, pp. 49-50.
+ * Computer Science Press, 1988. ISBN 0-7167-8156-5.
+ *
+ * Sedgewick, R.
+ * Algorithms, p290.
+ * Addison-Wesley, 1983. ISBN 0-201-06672-6.
+ */
+
+/* From: trees.c,v 1.11 1996/07/24 13:41:06 me Exp $ */
+
+/* #include "deflate.h" */
+
+#ifdef DEBUG_ZLIB
+# include <ctype.h>
+#endif
+
+/* ===========================================================================
+ * Constants
+ */
+
+#define MAX_BL_BITS 7
+/* Bit length codes must not exceed MAX_BL_BITS bits */
+
+#define END_BLOCK 256
+/* end of block literal code */
+
+#define REP_3_6 16
+/* repeat previous bit length 3-6 times (2 bits of repeat count) */
+
+#define REPZ_3_10 17
+/* repeat a zero length 3-10 times (3 bits of repeat count) */
+
+#define REPZ_11_138 18
+/* repeat a zero length 11-138 times (7 bits of repeat count) */
+
+local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
+ = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
+
+local int extra_dbits[D_CODES] /* extra bits for each distance code */
+ = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
+
+local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
+ = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
+
+local uch bl_order[BL_CODES]
+ = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
+/* The lengths of the bit length codes are sent in order of decreasing
+ * probability, to avoid transmitting the lengths for unused bit length codes.
+ */
+
+#define Buf_size (8 * 2*sizeof(char))
+/* Number of bits used within bi_buf. (bi_buf might be implemented on
+ * more than 16 bits on some systems.)
+ */
+
+/* ===========================================================================
+ * Local data. These are initialized only once.
+ */
+
+local ct_data static_ltree[L_CODES+2];
+/* The static literal tree. Since the bit lengths are imposed, there is no
+ * need for the L_CODES extra codes used during heap construction. However
+ * The codes 286 and 287 are needed to build a canonical tree (see _tr_init
+ * below).
+ */
+
+local ct_data static_dtree[D_CODES];
+/* The static distance tree. (Actually a trivial tree since all codes use
+ * 5 bits.)
+ */
+
+local uch dist_code[512];
+/* distance codes. The first 256 values correspond to the distances
+ * 3 .. 258, the last 256 values correspond to the top 8 bits of
+ * the 15 bit distances.
+ */
+
+local uch length_code[MAX_MATCH-MIN_MATCH+1];
+/* length code for each normalized match length (0 == MIN_MATCH) */
+
+local int base_length[LENGTH_CODES];
+/* First normalized length for each code (0 = MIN_MATCH) */
+
+local int base_dist[D_CODES];
+/* First normalized distance for each code (0 = distance of 1) */
+
+struct static_tree_desc_s {
+ ct_data *static_tree; /* static tree or NULL */
+ intf *extra_bits; /* extra bits for each code or NULL */
+ int extra_base; /* base index for extra_bits */
+ int elems; /* max number of elements in the tree */
+ int max_length; /* max bit length for the codes */
+};
+
+local static_tree_desc static_l_desc =
+{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
+
+local static_tree_desc static_d_desc =
+{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
+
+local static_tree_desc static_bl_desc =
+{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
+
+/* ===========================================================================
+ * Local (static) routines in this file.
+ */
+
+local void tr_static_init OF((void));
+local void init_block OF((deflate_state *s));
+local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
+local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
+local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
+local void build_tree OF((deflate_state *s, tree_desc *desc));
+local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local int build_bl_tree OF((deflate_state *s));
+local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
+ int blcodes));
+local void compress_block OF((deflate_state *s, ct_data *ltree,
+ ct_data *dtree));
+local void set_data_type OF((deflate_state *s));
+local unsigned bi_reverse OF((unsigned value, int length));
+local void bi_windup OF((deflate_state *s));
+local void bi_flush OF((deflate_state *s));
+local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
+ int header));
+
+#ifndef DEBUG_ZLIB
+# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
+ /* Send a code of the given tree. c and tree must not have side effects */
+
+#else /* DEBUG_ZLIB */
+# define send_code(s, c, tree) \
+ { if (verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
+ send_bits(s, tree[c].Code, tree[c].Len); }
+#endif
+
+#define d_code(dist) \
+ ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
+/* Mapping from a distance to a distance code. dist is the distance - 1 and
+ * must not have side effects. dist_code[256] and dist_code[257] are never
+ * used.
+ */
+
+/* ===========================================================================
+ * Output a short LSB first on the stream.
+ * IN assertion: there is enough room in pendingBuf.
+ */
+#define put_short(s, w) { \
+ put_byte(s, (uch)((w) & 0xff)); \
+ put_byte(s, (uch)((ush)(w) >> 8)); \
+}
+
+/* ===========================================================================
+ * Send a value on a given number of bits.
+ * IN assertion: length <= 16 and value fits in length bits.
+ */
+#ifdef DEBUG_ZLIB
+local void send_bits OF((deflate_state *s, int value, int length));
+
+local void send_bits(s, value, length)
+ deflate_state *s;
+ int value; /* value to send */
+ int length; /* number of bits */
+{
+ Tracevv((stderr," l %2d v %4x ", length, value));
+ Assert(length > 0 && length <= 15, "invalid length");
+ s->bits_sent += (ulg)length;
+
+ /* If not enough room in bi_buf, use (valid) bits from bi_buf and
+ * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
+ * unused bits in value.
+ */
+ if (s->bi_valid > (int)Buf_size - length) {
+ s->bi_buf |= (value << s->bi_valid);
+ put_short(s, s->bi_buf);
+ s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
+ s->bi_valid += length - Buf_size;
+ } else {
+ s->bi_buf |= value << s->bi_valid;
+ s->bi_valid += length;
+ }
+}
+#else /* !DEBUG_ZLIB */
+
+#define send_bits(s, value, length) \
+{ int len = length;\
+ if (s->bi_valid > (int)Buf_size - len) {\
+ int val = value;\
+ s->bi_buf |= (val << s->bi_valid);\
+ put_short(s, s->bi_buf);\
+ s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
+ s->bi_valid += len - Buf_size;\
+ } else {\
+ s->bi_buf |= (value) << s->bi_valid;\
+ s->bi_valid += len;\
+ }\
+}
+#endif /* DEBUG_ZLIB */
+
+
+#define MAX(a,b) (a >= b ? a : b)
+/* the arguments must not have side effects */
+
+/* ===========================================================================
+ * Initialize the various 'constant' tables. In a multi-threaded environment,
+ * this function may be called by two threads concurrently, but this is
+ * harmless since both invocations do exactly the same thing.
+ */
+local void tr_static_init()
+{
+ static int static_init_done = 0;
+ int n; /* iterates over tree elements */
+ int bits; /* bit counter */
+ int length; /* length value */
+ int code; /* code value */
+ int dist; /* distance index */
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ if (static_init_done) return;
+
+ /* Initialize the mapping length (0..255) -> length code (0..28) */
+ length = 0;
+ for (code = 0; code < LENGTH_CODES-1; code++) {
+ base_length[code] = length;
+ for (n = 0; n < (1<<extra_lbits[code]); n++) {
+ length_code[length++] = (uch)code;
+ }
+ }
+ Assert (length == 256, "tr_static_init: length != 256");
+ /* Note that the length 255 (match length 258) can be represented
+ * in two different ways: code 284 + 5 bits or code 285, so we
+ * overwrite length_code[255] to use the best encoding:
+ */
+ length_code[length-1] = (uch)code;
+
+ /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
+ dist = 0;
+ for (code = 0 ; code < 16; code++) {
+ base_dist[code] = dist;
+ for (n = 0; n < (1<<extra_dbits[code]); n++) {
+ dist_code[dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "tr_static_init: dist != 256");
+ dist >>= 7; /* from now on, all distances are divided by 128 */
+ for ( ; code < D_CODES; code++) {
+ base_dist[code] = dist << 7;
+ for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
+ dist_code[256 + dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "tr_static_init: 256+dist != 512");
+
+ /* Construct the codes of the static literal tree */
+ for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
+ n = 0;
+ while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
+ while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
+ while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
+ while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
+ /* Codes 286 and 287 do not exist, but we must include them in the
+ * tree construction to get a canonical Huffman tree (longest code
+ * all ones)
+ */
+ gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
+
+ /* The static distance tree is trivial: */
+ for (n = 0; n < D_CODES; n++) {
+ static_dtree[n].Len = 5;
+ static_dtree[n].Code = bi_reverse((unsigned)n, 5);
+ }
+ static_init_done = 1;
+}
+
+/* ===========================================================================
+ * Initialize the tree data structures for a new zlib stream.
+ */
+void _tr_init(s)
+ deflate_state *s;
+{
+ tr_static_init();
+
+ s->compressed_len = 0L;
+
+ s->l_desc.dyn_tree = s->dyn_ltree;
+ s->l_desc.stat_desc = &static_l_desc;
+
+ s->d_desc.dyn_tree = s->dyn_dtree;
+ s->d_desc.stat_desc = &static_d_desc;
+
+ s->bl_desc.dyn_tree = s->bl_tree;
+ s->bl_desc.stat_desc = &static_bl_desc;
+
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+#ifdef DEBUG_ZLIB
+ s->bits_sent = 0L;
+#endif
+
+ /* Initialize the first block of the first file: */
+ init_block(s);
+}
+
+/* ===========================================================================
+ * Initialize a new block.
+ */
+local void init_block(s)
+ deflate_state *s;
+{
+ int n; /* iterates over tree elements */
+
+ /* Initialize the trees. */
+ for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
+ for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
+ for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
+
+ s->dyn_ltree[END_BLOCK].Freq = 1;
+ s->opt_len = s->static_len = 0L;
+ s->last_lit = s->matches = 0;
+}
+
+#define SMALLEST 1
+/* Index within the heap array of least frequent node in the Huffman tree */
+
+
+/* ===========================================================================
+ * Remove the smallest element from the heap and recreate the heap with
+ * one less element. Updates heap and heap_len.
+ */
+#define pqremove(s, tree, top) \
+{\
+ top = s->heap[SMALLEST]; \
+ s->heap[SMALLEST] = s->heap[s->heap_len--]; \
+ pqdownheap(s, tree, SMALLEST); \
+}
+
+/* ===========================================================================
+ * Compares to subtrees, using the tree depth as tie breaker when
+ * the subtrees have equal frequency. This minimizes the worst case length.
+ */
+#define smaller(tree, n, m, depth) \
+ (tree[n].Freq < tree[m].Freq || \
+ (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
+
+/* ===========================================================================
+ * Restore the heap property by moving down the tree starting at node k,
+ * exchanging a node with the smallest of its two sons if necessary, stopping
+ * when the heap property is re-established (each father smaller than its
+ * two sons).
+ */
+local void pqdownheap(s, tree, k)
+ deflate_state *s;
+ ct_data *tree; /* the tree to restore */
+ int k; /* node to move down */
+{
+ int v = s->heap[k];
+ int j = k << 1; /* left son of k */
+ while (j <= s->heap_len) {
+ /* Set j to the smallest of the two sons: */
+ if (j < s->heap_len &&
+ smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
+ j++;
+ }
+ /* Exit if v is smaller than both sons */
+ if (smaller(tree, v, s->heap[j], s->depth)) break;
+
+ /* Exchange v with the smallest son */
+ s->heap[k] = s->heap[j]; k = j;
+
+ /* And continue down the tree, setting j to the left son of k */
+ j <<= 1;
+ }
+ s->heap[k] = v;
+}
+
+/* ===========================================================================
+ * Compute the optimal bit lengths for a tree and update the total bit length
+ * for the current block.
+ * IN assertion: the fields freq and dad are set, heap[heap_max] and
+ * above are the tree nodes sorted by increasing frequency.
+ * OUT assertions: the field len is set to the optimal bit length, the
+ * array bl_count contains the frequencies for each bit length.
+ * The length opt_len is updated; static_len is also updated if stree is
+ * not null.
+ */
+local void gen_bitlen(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ int max_code = desc->max_code;
+ ct_data *stree = desc->stat_desc->static_tree;
+ intf *extra = desc->stat_desc->extra_bits;
+ int base = desc->stat_desc->extra_base;
+ int max_length = desc->stat_desc->max_length;
+ int h; /* heap index */
+ int n, m; /* iterate over the tree elements */
+ int bits; /* bit length */
+ int xbits; /* extra bits */
+ ush f; /* frequency */
+ int overflow = 0; /* number of elements with bit length too large */
+
+ for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
+
+ /* In a first pass, compute the optimal bit lengths (which may
+ * overflow in the case of the bit length tree).
+ */
+ tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
+
+ for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
+ n = s->heap[h];
+ bits = tree[tree[n].Dad].Len + 1;
+ if (bits > max_length) bits = max_length, overflow++;
+ tree[n].Len = (ush)bits;
+ /* We overwrite tree[n].Dad which is no longer needed */
+
+ if (n > max_code) continue; /* not a leaf node */
+
+ s->bl_count[bits]++;
+ xbits = 0;
+ if (n >= base) xbits = extra[n-base];
+ f = tree[n].Freq;
+ s->opt_len += (ulg)f * (bits + xbits);
+ if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
+ }
+ if (overflow == 0) return;
+
+ Trace((stderr,"\nbit length overflow\n"));
+ /* This happens for example on obj2 and pic of the Calgary corpus */
+
+ /* Find the first bit length which could increase: */
+ do {
+ bits = max_length-1;
+ while (s->bl_count[bits] == 0) bits--;
+ s->bl_count[bits]--; /* move one leaf down the tree */
+ s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
+ s->bl_count[max_length]--;
+ /* The brother of the overflow item also moves one step up,
+ * but this does not affect bl_count[max_length]
+ */
+ overflow -= 2;
+ } while (overflow > 0);
+
+ /* Now recompute all bit lengths, scanning in increasing frequency.
+ * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
+ * lengths instead of fixing only the wrong ones. This idea is taken
+ * from 'ar' written by Haruhiko Okumura.)
+ */
+ for (bits = max_length; bits != 0; bits--) {
+ n = s->bl_count[bits];
+ while (n != 0) {
+ m = s->heap[--h];
+ if (m > max_code) continue;
+ if (tree[m].Len != (unsigned) bits) {
+ Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+ s->opt_len += ((long)bits - (long)tree[m].Len)
+ *(long)tree[m].Freq;
+ tree[m].Len = (ush)bits;
+ }
+ n--;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Generate the codes for a given tree and bit counts (which need not be
+ * optimal).
+ * IN assertion: the array bl_count contains the bit length statistics for
+ * the given tree and the field len is set for all tree elements.
+ * OUT assertion: the field code is set for all tree elements of non
+ * zero code length.
+ */
+local void gen_codes (tree, max_code, bl_count)
+ ct_data *tree; /* the tree to decorate */
+ int max_code; /* largest code with non zero frequency */
+ ushf *bl_count; /* number of codes at each bit length */
+{
+ ush next_code[MAX_BITS+1]; /* next code value for each bit length */
+ ush code = 0; /* running code value */
+ int bits; /* bit index */
+ int n; /* code index */
+
+ /* The distribution counts are first used to generate the code values
+ * without bit reversal.
+ */
+ for (bits = 1; bits <= MAX_BITS; bits++) {
+ next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+ }
+ /* Check that the bit counts in bl_count are consistent. The last code
+ * must be all ones.
+ */
+ Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
+ "inconsistent bit counts");
+ Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
+
+ for (n = 0; n <= max_code; n++) {
+ int len = tree[n].Len;
+ if (len == 0) continue;
+ /* Now reverse the bits */
+ tree[n].Code = bi_reverse(next_code[len]++, len);
+
+ Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
+ n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
+ }
+}
+
+/* ===========================================================================
+ * Construct one Huffman tree and assigns the code bit strings and lengths.
+ * Update the total bit length for the current block.
+ * IN assertion: the field freq is set for all tree elements.
+ * OUT assertions: the fields len and code are set to the optimal bit length
+ * and corresponding code. The length opt_len is updated; static_len is
+ * also updated if stree is not null. The field max_code is set.
+ */
+local void build_tree(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ ct_data *stree = desc->stat_desc->static_tree;
+ int elems = desc->stat_desc->elems;
+ int n, m; /* iterate over heap elements */
+ int max_code = -1; /* largest code with non zero frequency */
+ int node; /* new node being created */
+
+ /* Construct the initial heap, with least frequent element in
+ * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
+ * heap[0] is not used.
+ */
+ s->heap_len = 0, s->heap_max = HEAP_SIZE;
+
+ for (n = 0; n < elems; n++) {
+ if (tree[n].Freq != 0) {
+ s->heap[++(s->heap_len)] = max_code = n;
+ s->depth[n] = 0;
+ } else {
+ tree[n].Len = 0;
+ }
+ }
+
+ /* The pkzip format requires that at least one distance code exists,
+ * and that at least one bit should be sent even if there is only one
+ * possible code. So to avoid special checks later on we force at least
+ * two codes of non zero frequency.
+ */
+ while (s->heap_len < 2) {
+ node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
+ tree[node].Freq = 1;
+ s->depth[node] = 0;
+ s->opt_len--; if (stree) s->static_len -= stree[node].Len;
+ /* node is 0 or 1 so it does not have extra bits */
+ }
+ desc->max_code = max_code;
+
+ /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
+ * establish sub-heaps of increasing lengths:
+ */
+ for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
+
+ /* Construct the Huffman tree by repeatedly combining the least two
+ * frequent nodes.
+ */
+ node = elems; /* next internal node of the tree */
+ do {
+ pqremove(s, tree, n); /* n = node of least frequency */
+ m = s->heap[SMALLEST]; /* m = node of next least frequency */
+
+ s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
+ s->heap[--(s->heap_max)] = m;
+
+ /* Create a new node father of n and m */
+ tree[node].Freq = tree[n].Freq + tree[m].Freq;
+ s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
+ tree[n].Dad = tree[m].Dad = (ush)node;
+#ifdef DUMP_BL_TREE
+ if (tree == s->bl_tree) {
+ fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
+ node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
+ }
+#endif
+ /* and insert the new node in the heap */
+ s->heap[SMALLEST] = node++;
+ pqdownheap(s, tree, SMALLEST);
+
+ } while (s->heap_len >= 2);
+
+ s->heap[--(s->heap_max)] = s->heap[SMALLEST];
+
+ /* At this point, the fields freq and dad are set. We can now
+ * generate the bit lengths.
+ */
+ gen_bitlen(s, (tree_desc *)desc);
+
+ /* The field len is now set, we can generate the bit codes */
+ gen_codes ((ct_data *)tree, max_code, s->bl_count);
+}
+
+/* ===========================================================================
+ * Scan a literal or distance tree to determine the frequencies of the codes
+ * in the bit length tree.
+ */
+local void scan_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ if (nextlen == 0) max_count = 138, min_count = 3;
+ tree[max_code+1].Len = (ush)0xffff; /* guard */
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ s->bl_tree[curlen].Freq += count;
+ } else if (curlen != 0) {
+ if (curlen != prevlen) s->bl_tree[curlen].Freq++;
+ s->bl_tree[REP_3_6].Freq++;
+ } else if (count <= 10) {
+ s->bl_tree[REPZ_3_10].Freq++;
+ } else {
+ s->bl_tree[REPZ_11_138].Freq++;
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Send a literal or distance tree in compressed form, using the codes in
+ * bl_tree.
+ */
+local void send_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ /* tree[max_code+1].Len = -1; */ /* guard already set */
+ if (nextlen == 0) max_count = 138, min_count = 3;
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
+
+ } else if (curlen != 0) {
+ if (curlen != prevlen) {
+ send_code(s, curlen, s->bl_tree); count--;
+ }
+ Assert(count >= 3 && count <= 6, " 3_6?");
+ send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
+
+ } else if (count <= 10) {
+ send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
+
+ } else {
+ send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Construct the Huffman tree for the bit lengths and return the index in
+ * bl_order of the last bit length code to send.
+ */
+local int build_bl_tree(s)
+ deflate_state *s;
+{
+ int max_blindex; /* index of last bit length code of non zero freq */
+
+ /* Determine the bit length frequencies for literal and distance trees */
+ scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
+ scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
+
+ /* Build the bit length tree: */
+ build_tree(s, (tree_desc *)(&(s->bl_desc)));
+ /* opt_len now includes the length of the tree representations, except
+ * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
+ */
+
+ /* Determine the number of bit length codes to send. The pkzip format
+ * requires that at least 4 bit length codes be sent. (appnote.txt says
+ * 3 but the actual value used is 4.)
+ */
+ for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
+ if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
+ }
+ /* Update opt_len to include the bit length tree and counts */
+ s->opt_len += 3*(max_blindex+1) + 5+5+4;
+ Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
+ s->opt_len, s->static_len));
+
+ return max_blindex;
+}
+
+/* ===========================================================================
+ * Send the header for a block using dynamic Huffman trees: the counts, the
+ * lengths of the bit length codes, the literal tree and the distance tree.
+ * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
+ */
+local void send_all_trees(s, lcodes, dcodes, blcodes)
+ deflate_state *s;
+ int lcodes, dcodes, blcodes; /* number of codes for each tree */
+{
+ int rank; /* index in bl_order */
+
+ Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
+ Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
+ "too many codes");
+ Tracev((stderr, "\nbl counts: "));
+ send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
+ send_bits(s, dcodes-1, 5);
+ send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
+ for (rank = 0; rank < blcodes; rank++) {
+ Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
+ send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
+ }
+ Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
+ Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
+ Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
+}
+
+/* ===========================================================================
+ * Send a stored block
+ */
+void _tr_stored_block(s, buf, stored_len, eof)
+ deflate_state *s;
+ charf *buf; /* input block */
+ ulg stored_len; /* length of input block */
+ int eof; /* true if this is the last block for a file */
+{
+ send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
+ s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
+ s->compressed_len += (stored_len + 4) << 3;
+
+ copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
+}
+
+/* Send just the `stored block' type code without any length bytes or data.
+ */
+void _tr_stored_type_only(s)
+ deflate_state *s;
+{
+ send_bits(s, (STORED_BLOCK << 1), 3);
+ bi_windup(s);
+ s->compressed_len = (s->compressed_len + 3) & ~7L;
+}
+
+
+/* ===========================================================================
+ * Send one empty static block to give enough lookahead for inflate.
+ * This takes 10 bits, of which 7 may remain in the bit buffer.
+ * The current inflate code requires 9 bits of lookahead. If the
+ * last two codes for the previous block (real code plus EOB) were coded
+ * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
+ * the last real code. In this case we send two empty static blocks instead
+ * of one. (There are no problems if the previous block is stored or fixed.)
+ * To simplify the code, we assume the worst case of last real code encoded
+ * on one bit only.
+ */
+void _tr_align(s)
+ deflate_state *s;
+{
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+ s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
+ bi_flush(s);
+ /* Of the 10 bits for the empty block, we have already sent
+ * (10 - bi_valid) bits. The lookahead for the last real code (before
+ * the EOB of the previous block) was thus at least one plus the length
+ * of the EOB plus what we have just sent of the empty static block.
+ */
+ if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+ s->compressed_len += 10L;
+ bi_flush(s);
+ }
+ s->last_eob_len = 7;
+}
+
+/* ===========================================================================
+ * Determine the best encoding for the current block: dynamic trees, static
+ * trees or store, and output the encoded block to the zip file. This function
+ * returns the total compressed length for the file so far.
+ */
+ulg _tr_flush_block(s, buf, stored_len, eof)
+ deflate_state *s;
+ charf *buf; /* input block, or NULL if too old */
+ ulg stored_len; /* length of input block */
+ int eof; /* true if this is the last block for a file */
+{
+ ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
+ int max_blindex = 0; /* index of last bit length code of non zero freq */
+
+ /* Build the Huffman trees unless a stored block is forced */
+ if (s->level > 0) {
+
+ /* Check if the file is ascii or binary */
+ if (s->data_type == Z_UNKNOWN) set_data_type(s);
+
+ /* Construct the literal and distance trees */
+ build_tree(s, (tree_desc *)(&(s->l_desc)));
+ Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+
+ build_tree(s, (tree_desc *)(&(s->d_desc)));
+ Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+ /* At this point, opt_len and static_len are the total bit lengths of
+ * the compressed block data, excluding the tree representations.
+ */
+
+ /* Build the bit length tree for the above two trees, and get the index
+ * in bl_order of the last bit length code to send.
+ */
+ max_blindex = build_bl_tree(s);
+
+ /* Determine the best encoding. Compute first the block length in bytes*/
+ opt_lenb = (s->opt_len+3+7)>>3;
+ static_lenb = (s->static_len+3+7)>>3;
+
+ Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+ opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+ s->last_lit));
+
+ if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
+
+ } else {
+ Assert(buf != (char*)0, "lost buf");
+ opt_lenb = static_lenb = stored_len + 5; /* force a stored block */
+ }
+
+ /* If compression failed and this is the first and last block,
+ * and if the .zip file can be seeked (to rewrite the local header),
+ * the whole file is transformed into a stored file:
+ */
+#ifdef STORED_FILE_OK
+# ifdef FORCE_STORED_FILE
+ if (eof && s->compressed_len == 0L) { /* force stored file */
+# else
+ if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable()) {
+# endif
+ /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
+ if (buf == (charf*)0) error ("block vanished");
+
+ copy_block(s, buf, (unsigned)stored_len, 0); /* without header */
+ s->compressed_len = stored_len << 3;
+ s->method = STORED;
+ } else
+#endif /* STORED_FILE_OK */
+
+#ifdef FORCE_STORED
+ if (buf != (char*)0) { /* force stored block */
+#else
+ if (stored_len+4 <= opt_lenb && buf != (char*)0) {
+ /* 4: two words for the lengths */
+#endif
+ /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
+ * Otherwise we can't have processed more than WSIZE input bytes since
+ * the last block flush, because compression would have been
+ * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
+ * transform a block into a stored block.
+ */
+ _tr_stored_block(s, buf, stored_len, eof);
+
+#ifdef FORCE_STATIC
+ } else if (static_lenb >= 0) { /* force static trees */
+#else
+ } else if (static_lenb == opt_lenb) {
+#endif
+ send_bits(s, (STATIC_TREES<<1)+eof, 3);
+ compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
+ s->compressed_len += 3 + s->static_len;
+ } else {
+ send_bits(s, (DYN_TREES<<1)+eof, 3);
+ send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
+ max_blindex+1);
+ compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
+ s->compressed_len += 3 + s->opt_len;
+ }
+ Assert (s->compressed_len == s->bits_sent, "bad compressed size");
+ init_block(s);
+
+ if (eof) {
+ bi_windup(s);
+ s->compressed_len += 7; /* align on byte boundary */
+ }
+ Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+ s->compressed_len-7*eof));
+
+ return s->compressed_len >> 3;
+}
+
+/* ===========================================================================
+ * Save the match info and tally the frequency counts. Return true if
+ * the current block must be flushed.
+ */
+int _tr_tally (s, dist, lc)
+ deflate_state *s;
+ unsigned dist; /* distance of matched string */
+ unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
+{
+ s->d_buf[s->last_lit] = (ush)dist;
+ s->l_buf[s->last_lit++] = (uch)lc;
+ if (dist == 0) {
+ /* lc is the unmatched char */
+ s->dyn_ltree[lc].Freq++;
+ } else {
+ s->matches++;
+ /* Here, lc is the match length - MIN_MATCH */
+ dist--; /* dist = match distance - 1 */
+ Assert((ush)dist < (ush)MAX_DIST(s) &&
+ (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
+ (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
+
+ s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
+ s->dyn_dtree[d_code(dist)].Freq++;
+ }
+
+ /* Try to guess if it is profitable to stop the current block here */
+ if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
+ /* Compute an upper bound for the compressed length */
+ ulg out_length = (ulg)s->last_lit*8L;
+ ulg in_length = (ulg)((long)s->strstart - s->block_start);
+ int dcode;
+ for (dcode = 0; dcode < D_CODES; dcode++) {
+ out_length += (ulg)s->dyn_dtree[dcode].Freq *
+ (5L+extra_dbits[dcode]);
+ }
+ out_length >>= 3;
+ Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
+ s->last_lit, in_length, out_length,
+ 100L - out_length*100L/in_length));
+ if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
+ }
+ return (s->last_lit == s->lit_bufsize-1);
+ /* We avoid equality with lit_bufsize because of wraparound at 64K
+ * on 16 bit machines and because stored blocks are restricted to
+ * 64K-1 bytes.
+ */
+}
+
+/* ===========================================================================
+ * Send the block data compressed using the given Huffman trees
+ */
+local void compress_block(s, ltree, dtree)
+ deflate_state *s;
+ ct_data *ltree; /* literal tree */
+ ct_data *dtree; /* distance tree */
+{
+ unsigned dist; /* distance of matched string */
+ int lc; /* match length or unmatched char (if dist == 0) */
+ unsigned lx = 0; /* running index in l_buf */
+ unsigned code; /* the code to send */
+ int extra; /* number of extra bits to send */
+
+ if (s->last_lit != 0) do {
+ dist = s->d_buf[lx];
+ lc = s->l_buf[lx++];
+ if (dist == 0) {
+ send_code(s, lc, ltree); /* send a literal byte */
+ Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+ } else {
+ /* Here, lc is the match length - MIN_MATCH */
+ code = length_code[lc];
+ send_code(s, code+LITERALS+1, ltree); /* send the length code */
+ extra = extra_lbits[code];
+ if (extra != 0) {
+ lc -= base_length[code];
+ send_bits(s, lc, extra); /* send the extra length bits */
+ }
+ dist--; /* dist is now the match distance - 1 */
+ code = d_code(dist);
+ Assert (code < D_CODES, "bad d_code");
+
+ send_code(s, code, dtree); /* send the distance code */
+ extra = extra_dbits[code];
+ if (extra != 0) {
+ dist -= base_dist[code];
+ send_bits(s, dist, extra); /* send the extra distance bits */
+ }
+ } /* literal or match pair ? */
+
+ /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
+ Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
+
+ } while (lx < s->last_lit);
+
+ send_code(s, END_BLOCK, ltree);
+ s->last_eob_len = ltree[END_BLOCK].Len;
+}
+
+/* ===========================================================================
+ * Set the data type to ASCII or BINARY, using a crude approximation:
+ * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
+ * IN assertion: the fields freq of dyn_ltree are set and the total of all
+ * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
+ */
+local void set_data_type(s)
+ deflate_state *s;
+{
+ int n = 0;
+ unsigned ascii_freq = 0;
+ unsigned bin_freq = 0;
+ while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
+ while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
+ while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
+ s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII);
+}
+
+/* ===========================================================================
+ * Reverse the first len bits of a code, using straightforward code (a faster
+ * method would use a table)
+ * IN assertion: 1 <= len <= 15
+ */
+local unsigned bi_reverse(code, len)
+ unsigned code; /* the value to invert */
+ int len; /* its bit length */
+{
+ register unsigned res = 0;
+ do {
+ res |= code & 1;
+ code >>= 1, res <<= 1;
+ } while (--len > 0);
+ return res >> 1;
+}
+
+/* ===========================================================================
+ * Flush the bit buffer, keeping at most 7 bits in it.
+ */
+local void bi_flush(s)
+ deflate_state *s;
+{
+ if (s->bi_valid == 16) {
+ put_short(s, s->bi_buf);
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ } else if (s->bi_valid >= 8) {
+ put_byte(s, (Byte)s->bi_buf);
+ s->bi_buf >>= 8;
+ s->bi_valid -= 8;
+ }
+}
+
+/* ===========================================================================
+ * Flush the bit buffer and align the output on a byte boundary
+ */
+local void bi_windup(s)
+ deflate_state *s;
+{
+ if (s->bi_valid > 8) {
+ put_short(s, s->bi_buf);
+ } else if (s->bi_valid > 0) {
+ put_byte(s, (Byte)s->bi_buf);
+ }
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+#ifdef DEBUG_ZLIB
+ s->bits_sent = (s->bits_sent+7) & ~7;
+#endif
+}
+
+/* ===========================================================================
+ * Copy a stored block, storing first the length and its
+ * one's complement if requested.
+ */
+local void copy_block(s, buf, len, header)
+ deflate_state *s;
+ charf *buf; /* the input data */
+ unsigned len; /* its length */
+ int header; /* true if block header must be written */
+{
+ bi_windup(s); /* align on byte boundary */
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+
+ if (header) {
+ put_short(s, (ush)len);
+ put_short(s, (ush)~len);
+#ifdef DEBUG_ZLIB
+ s->bits_sent += 2*16;
+#endif
+ }
+#ifdef DEBUG_ZLIB
+ s->bits_sent += (ulg)len<<3;
+#endif
+ /* bundle up the put_byte(s, *buf++) calls */
+ zmemcpy(&s->pending_buf[s->pending], buf, len);
+ s->pending += len;
+}
+/* --- trees.c */
+
+/* +++ inflate.c */
+/* inflate.c -- zlib interface to inflate modules
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+
+/* +++ infblock.h */
+/* infblock.h -- header to use infblock.c
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+struct inflate_blocks_state;
+typedef struct inflate_blocks_state FAR inflate_blocks_statef;
+
+extern inflate_blocks_statef * inflate_blocks_new OF((
+ z_streamp z,
+ check_func c, /* check function */
+ uInt w)); /* window size */
+
+extern int inflate_blocks OF((
+ inflate_blocks_statef *,
+ z_streamp ,
+ int)); /* initial return code */
+
+extern void inflate_blocks_reset OF((
+ inflate_blocks_statef *,
+ z_streamp ,
+ uLongf *)); /* check value on output */
+
+extern int inflate_blocks_free OF((
+ inflate_blocks_statef *,
+ z_streamp ,
+ uLongf *)); /* check value on output */
+
+extern void inflate_set_dictionary OF((
+ inflate_blocks_statef *s,
+ const Bytef *d, /* dictionary */
+ uInt n)); /* dictionary length */
+
+extern int inflate_addhistory OF((
+ inflate_blocks_statef *,
+ z_streamp));
+
+extern int inflate_packet_flush OF((
+ inflate_blocks_statef *));
+/* --- infblock.h */
+
+#ifndef NO_DUMMY_DECL
+struct inflate_blocks_state {int dummy;}; /* for buggy compilers */
+#endif
+
+/* inflate private state */
+struct internal_state {
+
+ /* mode */
+ enum {
+ METHOD, /* waiting for method byte */
+ FLAG, /* waiting for flag byte */
+ DICT4, /* four dictionary check bytes to go */
+ DICT3, /* three dictionary check bytes to go */
+ DICT2, /* two dictionary check bytes to go */
+ DICT1, /* one dictionary check byte to go */
+ DICT0, /* waiting for inflateSetDictionary */
+ BLOCKS, /* decompressing blocks */
+ CHECK4, /* four check bytes to go */
+ CHECK3, /* three check bytes to go */
+ CHECK2, /* two check bytes to go */
+ CHECK1, /* one check byte to go */
+ DONE, /* finished check, done */
+ BAD} /* got an error--stay here */
+ mode; /* current inflate mode */
+
+ /* mode dependent information */
+ union {
+ uInt method; /* if FLAGS, method byte */
+ struct {
+ uLong was; /* computed check value */
+ uLong need; /* stream check value */
+ } check; /* if CHECK, check values to compare */
+ uInt marker; /* if BAD, inflateSync's marker bytes count */
+ } sub; /* submode */
+
+ /* mode independent information */
+ int nowrap; /* flag for no wrapper */
+ uInt wbits; /* log2(window size) (8..15, defaults to 15) */
+ inflate_blocks_statef
+ *blocks; /* current inflate_blocks state */
+
+};
+
+
+int inflateReset(z)
+z_streamp z;
+{
+ uLong c;
+
+ if (z == Z_NULL || z->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ z->total_in = z->total_out = 0;
+ z->msg = Z_NULL;
+ z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
+ inflate_blocks_reset(z->state->blocks, z, &c);
+ Trace((stderr, "inflate: reset\n"));
+ return Z_OK;
+}
+
+
+int inflateEnd(z)
+z_streamp z;
+{
+ uLong c;
+
+ if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
+ return Z_STREAM_ERROR;
+ if (z->state->blocks != Z_NULL)
+ inflate_blocks_free(z->state->blocks, z, &c);
+ ZFREE(z, z->state);
+ z->state = Z_NULL;
+ Trace((stderr, "inflate: end\n"));
+ return Z_OK;
+}
+
+
+int inflateInit2_(z, w, version, stream_size)
+z_streamp z;
+int w;
+const char *version;
+int stream_size;
+{
+ if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
+ stream_size != sizeof(z_stream))
+ return Z_VERSION_ERROR;
+
+ /* initialize state */
+ if (z == Z_NULL)
+ return Z_STREAM_ERROR;
+ z->msg = Z_NULL;
+#ifndef NO_ZCFUNCS
+ if (z->zalloc == Z_NULL)
+ {
+ z->zalloc = zcalloc;
+ z->opaque = (voidpf)0;
+ }
+ if (z->zfree == Z_NULL) z->zfree = zcfree;
+#endif
+ if ((z->state = (struct internal_state FAR *)
+ ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
+ return Z_MEM_ERROR;
+ z->state->blocks = Z_NULL;
+
+ /* handle undocumented nowrap option (no zlib header or check) */
+ z->state->nowrap = 0;
+ if (w < 0)
+ {
+ w = - w;
+ z->state->nowrap = 1;
+ }
+
+ /* set window size */
+ if (w < 8 || w > 15)
+ {
+ inflateEnd(z);
+ return Z_STREAM_ERROR;
+ }
+ z->state->wbits = (uInt)w;
+
+ /* create inflate_blocks state */
+ if ((z->state->blocks =
+ inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, (uInt)1 << w))
+ == Z_NULL)
+ {
+ inflateEnd(z);
+ return Z_MEM_ERROR;
+ }
+ Trace((stderr, "inflate: allocated\n"));
+
+ /* reset state */
+ inflateReset(z);
+ return Z_OK;
+}
+
+
+int inflateInit_(z, version, stream_size)
+z_streamp z;
+const char *version;
+int stream_size;
+{
+ return inflateInit2_(z, DEF_WBITS, version, stream_size);
+}
+
+
+#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
+#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
+
+int inflate(z, f)
+z_streamp z;
+int f;
+{
+ int r;
+ uInt b;
+
+ if (z == Z_NULL || z->state == Z_NULL || z->next_in == Z_NULL || f < 0)
+ return Z_STREAM_ERROR;
+ r = Z_BUF_ERROR;
+ while (1) switch (z->state->mode)
+ {
+ case METHOD:
+ NEEDBYTE
+ if (((z->state->sub.method = NEXTBYTE) & 0xf) != Z_DEFLATED)
+ {
+ z->state->mode = BAD;
+ z->msg = (char*)"unknown compression method";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
+ {
+ z->state->mode = BAD;
+ z->msg = (char*)"invalid window size";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ z->state->mode = FLAG;
+ case FLAG:
+ NEEDBYTE
+ b = NEXTBYTE;
+ if (((z->state->sub.method << 8) + b) % 31)
+ {
+ z->state->mode = BAD;
+ z->msg = (char*)"incorrect header check";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ Trace((stderr, "inflate: zlib header ok\n"));
+ if (!(b & PRESET_DICT))
+ {
+ z->state->mode = BLOCKS;
+ break;
+ }
+ z->state->mode = DICT4;
+ case DICT4:
+ NEEDBYTE
+ z->state->sub.check.need = (uLong)NEXTBYTE << 24;
+ z->state->mode = DICT3;
+ case DICT3:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 16;
+ z->state->mode = DICT2;
+ case DICT2:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 8;
+ z->state->mode = DICT1;
+ case DICT1:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE;
+ z->adler = z->state->sub.check.need;
+ z->state->mode = DICT0;
+ return Z_NEED_DICT;
+ case DICT0:
+ z->state->mode = BAD;
+ z->msg = (char*)"need dictionary";
+ z->state->sub.marker = 0; /* can try inflateSync */
+ return Z_STREAM_ERROR;
+ case BLOCKS:
+ r = inflate_blocks(z->state->blocks, z, r);
+ if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
+ r = inflate_packet_flush(z->state->blocks);
+ if (r == Z_DATA_ERROR)
+ {
+ z->state->mode = BAD;
+ z->state->sub.marker = 0; /* can try inflateSync */
+ break;
+ }
+ if (r != Z_STREAM_END)
+ return r;
+ r = Z_OK;
+ inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
+ if (z->state->nowrap)
+ {
+ z->state->mode = DONE;
+ break;
+ }
+ z->state->mode = CHECK4;
+ case CHECK4:
+ NEEDBYTE
+ z->state->sub.check.need = (uLong)NEXTBYTE << 24;
+ z->state->mode = CHECK3;
+ case CHECK3:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 16;
+ z->state->mode = CHECK2;
+ case CHECK2:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 8;
+ z->state->mode = CHECK1;
+ case CHECK1:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE;
+
+ if (z->state->sub.check.was != z->state->sub.check.need)
+ {
+ z->state->mode = BAD;
+ z->msg = (char*)"incorrect data check";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ Trace((stderr, "inflate: zlib check ok\n"));
+ z->state->mode = DONE;
+ case DONE:
+ return Z_STREAM_END;
+ case BAD:
+ return Z_DATA_ERROR;
+ default:
+ return Z_STREAM_ERROR;
+ }
+
+ empty:
+ if (f != Z_PACKET_FLUSH)
+ return r;
+ z->state->mode = BAD;
+ z->msg = (char *)"need more for packet flush";
+ z->state->sub.marker = 0; /* can try inflateSync */
+ return Z_DATA_ERROR;
+}
+
+
+int inflateSetDictionary(z, dictionary, dictLength)
+z_streamp z;
+const Bytef *dictionary;
+uInt dictLength;
+{
+ uInt length = dictLength;
+
+ if (z == Z_NULL || z->state == Z_NULL || z->state->mode != DICT0)
+ return Z_STREAM_ERROR;
+
+ if (adler32(1L, dictionary, dictLength) != z->adler) return Z_DATA_ERROR;
+ z->adler = 1L;
+
+ if (length >= ((uInt)1<<z->state->wbits))
+ {
+ length = (1<<z->state->wbits)-1;
+ dictionary += dictLength - length;
+ }
+ inflate_set_dictionary(z->state->blocks, dictionary, length);
+ z->state->mode = BLOCKS;
+ return Z_OK;
+}
+
+/*
+ * This subroutine adds the data at next_in/avail_in to the output history
+ * without performing any output. The output buffer must be "caught up";
+ * i.e. no pending output (hence s->read equals s->write), and the state must
+ * be BLOCKS (i.e. we should be willing to see the start of a series of
+ * BLOCKS). On exit, the output will also be caught up, and the checksum
+ * will have been updated if need be.
+ */
+
+int inflateIncomp(z)
+z_stream *z;
+{
+ if (z->state->mode != BLOCKS)
+ return Z_DATA_ERROR;
+ return inflate_addhistory(z->state->blocks, z);
+}
+
+
+int inflateSync(z)
+z_streamp z;
+{
+ uInt n; /* number of bytes to look at */
+ Bytef *p; /* pointer to bytes */
+ uInt m; /* number of marker bytes found in a row */
+ uLong r, w; /* temporaries to save total_in and total_out */
+
+ /* set up */
+ if (z == Z_NULL || z->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ if (z->state->mode != BAD)
+ {
+ z->state->mode = BAD;
+ z->state->sub.marker = 0;
+ }
+ if ((n = z->avail_in) == 0)
+ return Z_BUF_ERROR;
+ p = z->next_in;
+ m = z->state->sub.marker;
+
+ /* search */
+ while (n && m < 4)
+ {
+ if (*p == (Byte)(m < 2 ? 0 : 0xff))
+ m++;
+ else if (*p)
+ m = 0;
+ else
+ m = 4 - m;
+ p++, n--;
+ }
+
+ /* restore */
+ z->total_in += p - z->next_in;
+ z->next_in = p;
+ z->avail_in = n;
+ z->state->sub.marker = m;
+
+ /* return no joy or set up to restart on a new block */
+ if (m != 4)
+ return Z_DATA_ERROR;
+ r = z->total_in; w = z->total_out;
+ inflateReset(z);
+ z->total_in = r; z->total_out = w;
+ z->state->mode = BLOCKS;
+ return Z_OK;
+}
+
+#undef NEEDBYTE
+#undef NEXTBYTE
+/* --- inflate.c */
+
+/* +++ infblock.c */
+/* infblock.c -- interpret and process block types to last block
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+/* #include "infblock.h" */
+
+/* +++ inftrees.h */
+/* inftrees.h -- header to use inftrees.c
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* Huffman code lookup table entry--this entry is four bytes for machines
+ that have 16-bit pointers (e.g. PC's in the small or medium model). */
+
+typedef struct inflate_huft_s FAR inflate_huft;
+
+struct inflate_huft_s {
+ union {
+ struct {
+ Byte Exop; /* number of extra bits or operation */
+ Byte Bits; /* number of bits in this code or subcode */
+ } what;
+ Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
+ } word; /* 16-bit, 8 bytes for 32-bit machines) */
+ union {
+ uInt Base; /* literal, length base, or distance base */
+ inflate_huft *Next; /* pointer to next level of table */
+ } more;
+};
+
+#ifdef DEBUG_ZLIB
+ extern uInt inflate_hufts;
+#endif
+
+extern int inflate_trees_bits OF((
+ uIntf *, /* 19 code lengths */
+ uIntf *, /* bits tree desired/actual depth */
+ inflate_huft * FAR *, /* bits tree result */
+ z_streamp )); /* for zalloc, zfree functions */
+
+extern int inflate_trees_dynamic OF((
+ uInt, /* number of literal/length codes */
+ uInt, /* number of distance codes */
+ uIntf *, /* that many (total) code lengths */
+ uIntf *, /* literal desired/actual bit depth */
+ uIntf *, /* distance desired/actual bit depth */
+ inflate_huft * FAR *, /* literal/length tree result */
+ inflate_huft * FAR *, /* distance tree result */
+ z_streamp )); /* for zalloc, zfree functions */
+
+extern int inflate_trees_fixed OF((
+ uIntf *, /* literal desired/actual bit depth */
+ uIntf *, /* distance desired/actual bit depth */
+ inflate_huft * FAR *, /* literal/length tree result */
+ inflate_huft * FAR *)); /* distance tree result */
+
+extern int inflate_trees_free OF((
+ inflate_huft *, /* tables to free */
+ z_streamp )); /* for zfree function */
+
+/* --- inftrees.h */
+
+/* +++ infcodes.h */
+/* infcodes.h -- header to use infcodes.c
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+struct inflate_codes_state;
+typedef struct inflate_codes_state FAR inflate_codes_statef;
+
+extern inflate_codes_statef *inflate_codes_new OF((
+ uInt, uInt,
+ inflate_huft *, inflate_huft *,
+ z_streamp ));
+
+extern int inflate_codes OF((
+ inflate_blocks_statef *,
+ z_streamp ,
+ int));
+
+extern void inflate_codes_free OF((
+ inflate_codes_statef *,
+ z_streamp ));
+
+/* --- infcodes.h */
+
+/* +++ infutil.h */
+/* infutil.h -- types and macros common to blocks and codes
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+#ifndef _INFUTIL_H
+#define _INFUTIL_H
+
+typedef enum {
+ TYPE, /* get type bits (3, including end bit) */
+ LENS, /* get lengths for stored */
+ STORED, /* processing stored block */
+ TABLE, /* get table lengths */
+ BTREE, /* get bit lengths tree for a dynamic block */
+ DTREE, /* get length, distance trees for a dynamic block */
+ CODES, /* processing fixed or dynamic block */
+ DRY, /* output remaining window bytes */
+ DONEB, /* finished last block, done */
+ BADB} /* got a data error--stuck here */
+inflate_block_mode;
+
+/* inflate blocks semi-private state */
+struct inflate_blocks_state {
+
+ /* mode */
+ inflate_block_mode mode; /* current inflate_block mode */
+
+ /* mode dependent information */
+ union {
+ uInt left; /* if STORED, bytes left to copy */
+ struct {
+ uInt table; /* table lengths (14 bits) */
+ uInt index; /* index into blens (or border) */
+ uIntf *blens; /* bit lengths of codes */
+ uInt bb; /* bit length tree depth */
+ inflate_huft *tb; /* bit length decoding tree */
+ } trees; /* if DTREE, decoding info for trees */
+ struct {
+ inflate_huft *tl;
+ inflate_huft *td; /* trees to free */
+ inflate_codes_statef
+ *codes;
+ } decode; /* if CODES, current state */
+ } sub; /* submode */
+ uInt last; /* true if this block is the last block */
+
+ /* mode independent information */
+ uInt bitk; /* bits in bit buffer */
+ uLong bitb; /* bit buffer */
+ Bytef *window; /* sliding window */
+ Bytef *end; /* one byte after sliding window */
+ Bytef *read; /* window read pointer */
+ Bytef *write; /* window write pointer */
+ check_func checkfn; /* check function */
+ uLong check; /* check on output */
+
+};
+
+
+/* defines for inflate input/output */
+/* update pointers and return */
+#define UPDBITS {s->bitb=b;s->bitk=k;}
+#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
+#define UPDOUT {s->write=q;}
+#define UPDATE {UPDBITS UPDIN UPDOUT}
+#define LEAVE {UPDATE return inflate_flush(s,z,r);}
+/* get bytes and bits */
+#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
+#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
+#define NEXTBYTE (n--,*p++)
+#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
+#define DUMPBITS(j) {b>>=(j);k-=(j);}
+/* output bytes */
+#define WAVAIL (uInt)(q<s->read?s->read-q-1:s->end-q)
+#define LOADOUT {q=s->write;m=(uInt)WAVAIL;}
+#define WWRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=(uInt)WAVAIL;}}
+#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
+#define NEEDOUT {if(m==0){WWRAP if(m==0){FLUSH WWRAP if(m==0) LEAVE}}r=Z_OK;}
+#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
+/* load local pointers */
+#define LOAD {LOADIN LOADOUT}
+
+/* masks for lower bits (size given to avoid silly warnings with Visual C++) */
+extern uInt inflate_mask[17];
+
+/* copy as much as possible from the sliding window to the output area */
+extern int inflate_flush OF((
+ inflate_blocks_statef *,
+ z_streamp ,
+ int));
+
+#ifndef NO_DUMMY_DECL
+struct internal_state {int dummy;}; /* for buggy compilers */
+#endif
+
+#endif
+/* --- infutil.h */
+
+#ifndef NO_DUMMY_DECL
+struct inflate_codes_state {int dummy;}; /* for buggy compilers */
+#endif
+
+/* Table for deflate from PKZIP's appnote.txt. */
+local const uInt border[] = { /* Order of the bit length code lengths */
+ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
+
+/*
+ Notes beyond the 1.93a appnote.txt:
+
+ 1. Distance pointers never point before the beginning of the output
+ stream.
+ 2. Distance pointers can point back across blocks, up to 32k away.
+ 3. There is an implied maximum of 7 bits for the bit length table and
+ 15 bits for the actual data.
+ 4. If only one code exists, then it is encoded using one bit. (Zero
+ would be more efficient, but perhaps a little confusing.) If two
+ codes exist, they are coded using one bit each (0 and 1).
+ 5. There is no way of sending zero distance codes--a dummy must be
+ sent if there are none. (History: a pre 2.0 version of PKZIP would
+ store blocks with no distance codes, but this was discovered to be
+ too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
+ zero distance codes, which is sent as one code of zero bits in
+ length.
+ 6. There are up to 286 literal/length codes. Code 256 represents the
+ end-of-block. Note however that the static length tree defines
+ 288 codes just to fill out the Huffman codes. Codes 286 and 287
+ cannot be used though, since there is no length base or extra bits
+ defined for them. Similarily, there are up to 30 distance codes.
+ However, static trees define 32 codes (all 5 bits) to fill out the
+ Huffman codes, but the last two had better not show up in the data.
+ 7. Unzip can check dynamic Huffman blocks for complete code sets.
+ The exception is that a single code would not be complete (see #4).
+ 8. The five bits following the block type is really the number of
+ literal codes sent minus 257.
+ 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+ (1+6+6). Therefore, to output three times the length, you output
+ three codes (1+1+1), whereas to output four times the same length,
+ you only need two codes (1+3). Hmm.
+ 10. In the tree reconstruction algorithm, Code = Code + Increment
+ only if BitLength(i) is not zero. (Pretty obvious.)
+ 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
+ 12. Note: length code 284 can represent 227-258, but length code 285
+ really is 258. The last length deserves its own, short code
+ since it gets used a lot in very redundant files. The length
+ 258 is special since 258 - 3 (the min match length) is 255.
+ 13. The literal/length and distance code bit lengths are read as a
+ single stream of lengths. It is possible (and advantageous) for
+ a repeat code (16, 17, or 18) to go across the boundary between
+ the two sets of lengths.
+ */
+
+
+void inflate_blocks_reset(s, z, c)
+inflate_blocks_statef *s;
+z_streamp z;
+uLongf *c;
+{
+ if (s->checkfn != Z_NULL)
+ *c = s->check;
+ if (s->mode == BTREE || s->mode == DTREE)
+ ZFREE(z, s->sub.trees.blens);
+ if (s->mode == CODES)
+ {
+ inflate_codes_free(s->sub.decode.codes, z);
+ inflate_trees_free(s->sub.decode.td, z);
+ inflate_trees_free(s->sub.decode.tl, z);
+ }
+ s->mode = TYPE;
+ s->bitk = 0;
+ s->bitb = 0;
+ s->read = s->write = s->window;
+ if (s->checkfn != Z_NULL)
+ z->adler = s->check = (*s->checkfn)(0L, Z_NULL, 0);
+ Trace((stderr, "inflate: blocks reset\n"));
+}
+
+
+inflate_blocks_statef *inflate_blocks_new(z, c, w)
+z_streamp z;
+check_func c;
+uInt w;
+{
+ inflate_blocks_statef *s;
+
+ if ((s = (inflate_blocks_statef *)ZALLOC
+ (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
+ return s;
+ if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
+ {
+ ZFREE(z, s);
+ return Z_NULL;
+ }
+ s->end = s->window + w;
+ s->checkfn = c;
+ s->mode = TYPE;
+ Trace((stderr, "inflate: blocks allocated\n"));
+ inflate_blocks_reset(s, z, &s->check);
+ return s;
+}
+
+
+#ifdef DEBUG_ZLIB
+ extern uInt inflate_hufts;
+#endif
+int inflate_blocks(s, z, r)
+inflate_blocks_statef *s;
+z_streamp z;
+int r;
+{
+ uInt t; /* temporary storage */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+
+ /* copy input/output information to locals (UPDATE macro restores) */
+ LOAD
+
+ /* process input based on current state */
+ while (1) switch (s->mode)
+ {
+ case TYPE:
+ NEEDBITS(3)
+ t = (uInt)b & 7;
+ s->last = t & 1;
+ switch (t >> 1)
+ {
+ case 0: /* stored */
+ Trace((stderr, "inflate: stored block%s\n",
+ s->last ? " (last)" : ""));
+ DUMPBITS(3)
+ t = k & 7; /* go to byte boundary */
+ DUMPBITS(t)
+ s->mode = LENS; /* get length of stored block */
+ break;
+ case 1: /* fixed */
+ Trace((stderr, "inflate: fixed codes block%s\n",
+ s->last ? " (last)" : ""));
+ {
+ uInt bl, bd;
+ inflate_huft *tl, *td;
+
+ inflate_trees_fixed(&bl, &bd, &tl, &td);
+ s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
+ if (s->sub.decode.codes == Z_NULL)
+ {
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ s->sub.decode.tl = Z_NULL; /* don't try to free these */
+ s->sub.decode.td = Z_NULL;
+ }
+ DUMPBITS(3)
+ s->mode = CODES;
+ break;
+ case 2: /* dynamic */
+ Trace((stderr, "inflate: dynamic codes block%s\n",
+ s->last ? " (last)" : ""));
+ DUMPBITS(3)
+ s->mode = TABLE;
+ break;
+ case 3: /* illegal */
+ DUMPBITS(3)
+ s->mode = BADB;
+ z->msg = (char*)"invalid block type";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ break;
+ case LENS:
+ NEEDBITS(32)
+ if ((((~b) >> 16) & 0xffff) != (b & 0xffff))
+ {
+ s->mode = BADB;
+ z->msg = (char*)"invalid stored block lengths";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ s->sub.left = (uInt)b & 0xffff;
+ b = k = 0; /* dump bits */
+ Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
+ s->mode = s->sub.left ? STORED : (s->last ? DRY : TYPE);
+ break;
+ case STORED:
+ if (n == 0)
+ LEAVE
+ NEEDOUT
+ t = s->sub.left;
+ if (t > n) t = n;
+ if (t > m) t = m;
+ zmemcpy(q, p, t);
+ p += t; n -= t;
+ q += t; m -= t;
+ if ((s->sub.left -= t) != 0)
+ break;
+ Tracev((stderr, "inflate: stored end, %lu total out\n",
+ z->total_out + (q >= s->read ? q - s->read :
+ (s->end - s->read) + (q - s->window))));
+ s->mode = s->last ? DRY : TYPE;
+ break;
+ case TABLE:
+ NEEDBITS(14)
+ s->sub.trees.table = t = (uInt)b & 0x3fff;
+#ifndef PKZIP_BUG_WORKAROUND
+ if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
+ {
+ s->mode = BADB;
+ z->msg = (char*)"too many length or distance symbols";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+#endif
+ t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
+ if (t < 19)
+ t = 19;
+ if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
+ {
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ DUMPBITS(14)
+ s->sub.trees.index = 0;
+ Tracev((stderr, "inflate: table sizes ok\n"));
+ s->mode = BTREE;
+ case BTREE:
+ while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
+ {
+ NEEDBITS(3)
+ s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
+ DUMPBITS(3)
+ }
+ while (s->sub.trees.index < 19)
+ s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
+ s->sub.trees.bb = 7;
+ t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
+ &s->sub.trees.tb, z);
+ if (t != Z_OK)
+ {
+ ZFREE(z, s->sub.trees.blens);
+ r = t;
+ if (r == Z_DATA_ERROR)
+ s->mode = BADB;
+ LEAVE
+ }
+ s->sub.trees.index = 0;
+ Tracev((stderr, "inflate: bits tree ok\n"));
+ s->mode = DTREE;
+ case DTREE:
+ while (t = s->sub.trees.table,
+ s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
+ {
+ inflate_huft *h;
+ uInt i, j, c;
+
+ t = s->sub.trees.bb;
+ NEEDBITS(t)
+ h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
+ t = h->word.what.Bits;
+ c = h->more.Base;
+ if (c < 16)
+ {
+ DUMPBITS(t)
+ s->sub.trees.blens[s->sub.trees.index++] = c;
+ }
+ else /* c == 16..18 */
+ {
+ i = c == 18 ? 7 : c - 14;
+ j = c == 18 ? 11 : 3;
+ NEEDBITS(t + i)
+ DUMPBITS(t)
+ j += (uInt)b & inflate_mask[i];
+ DUMPBITS(i)
+ i = s->sub.trees.index;
+ t = s->sub.trees.table;
+ if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
+ (c == 16 && i < 1))
+ {
+ inflate_trees_free(s->sub.trees.tb, z);
+ ZFREE(z, s->sub.trees.blens);
+ s->mode = BADB;
+ z->msg = (char*)"invalid bit length repeat";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
+ do {
+ s->sub.trees.blens[i++] = c;
+ } while (--j);
+ s->sub.trees.index = i;
+ }
+ }
+ inflate_trees_free(s->sub.trees.tb, z);
+ s->sub.trees.tb = Z_NULL;
+ {
+ uInt bl, bd;
+ inflate_huft *tl, *td;
+ inflate_codes_statef *c;
+
+ bl = 9; /* must be <= 9 for lookahead assumptions */
+ bd = 6; /* must be <= 9 for lookahead assumptions */
+ t = s->sub.trees.table;
+#ifdef DEBUG_ZLIB
+ inflate_hufts = 0;
+#endif
+ t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
+ s->sub.trees.blens, &bl, &bd, &tl, &td, z);
+ ZFREE(z, s->sub.trees.blens);
+ if (t != Z_OK)
+ {
+ if (t == (uInt)Z_DATA_ERROR)
+ s->mode = BADB;
+ r = t;
+ LEAVE
+ }
+ Tracev((stderr, "inflate: trees ok, %d * %d bytes used\n",
+ inflate_hufts, sizeof(inflate_huft)));
+ if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
+ {
+ inflate_trees_free(td, z);
+ inflate_trees_free(tl, z);
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ s->sub.decode.codes = c;
+ s->sub.decode.tl = tl;
+ s->sub.decode.td = td;
+ }
+ s->mode = CODES;
+ case CODES:
+ UPDATE
+ if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
+ return inflate_flush(s, z, r);
+ r = Z_OK;
+ inflate_codes_free(s->sub.decode.codes, z);
+ inflate_trees_free(s->sub.decode.td, z);
+ inflate_trees_free(s->sub.decode.tl, z);
+ LOAD
+ Tracev((stderr, "inflate: codes end, %lu total out\n",
+ z->total_out + (q >= s->read ? q - s->read :
+ (s->end - s->read) + (q - s->window))));
+ if (!s->last)
+ {
+ s->mode = TYPE;
+ break;
+ }
+ if (k > 7) /* return unused byte, if any */
+ {
+ Assert(k < 16, "inflate_codes grabbed too many bytes")
+ k -= 8;
+ n++;
+ p--; /* can always return one */
+ }
+ s->mode = DRY;
+ case DRY:
+ FLUSH
+ if (s->read != s->write)
+ LEAVE
+ s->mode = DONEB;
+ case DONEB:
+ r = Z_STREAM_END;
+ LEAVE
+ case BADB:
+ r = Z_DATA_ERROR;
+ LEAVE
+ default:
+ r = Z_STREAM_ERROR;
+ LEAVE
+ }
+}
+
+
+int inflate_blocks_free(s, z, c)
+inflate_blocks_statef *s;
+z_streamp z;
+uLongf *c;
+{
+ inflate_blocks_reset(s, z, c);
+ ZFREE(z, s->window);
+ ZFREE(z, s);
+ Trace((stderr, "inflate: blocks freed\n"));
+ return Z_OK;
+}
+
+
+void inflate_set_dictionary(s, d, n)
+inflate_blocks_statef *s;
+const Bytef *d;
+uInt n;
+{
+ zmemcpy((charf *)s->window, d, n);
+ s->read = s->write = s->window + n;
+}
+
+/*
+ * This subroutine adds the data at next_in/avail_in to the output history
+ * without performing any output. The output buffer must be "caught up";
+ * i.e. no pending output (hence s->read equals s->write), and the state must
+ * be BLOCKS (i.e. we should be willing to see the start of a series of
+ * BLOCKS). On exit, the output will also be caught up, and the checksum
+ * will have been updated if need be.
+ */
+int inflate_addhistory(s, z)
+inflate_blocks_statef *s;
+z_stream *z;
+{
+ uLong b; /* bit buffer */ /* NOT USED HERE */
+ uInt k; /* bits in bit buffer */ /* NOT USED HERE */
+ uInt t; /* temporary storage */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+
+ if (s->read != s->write)
+ return Z_STREAM_ERROR;
+ if (s->mode != TYPE)
+ return Z_DATA_ERROR;
+
+ /* we're ready to rock */
+ LOAD
+ /* while there is input ready, copy to output buffer, moving
+ * pointers as needed.
+ */
+ while (n) {
+ t = n; /* how many to do */
+ /* is there room until end of buffer? */
+ if (t > m) t = m;
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ s->check = (*s->checkfn)(s->check, q, t);
+ zmemcpy(q, p, t);
+ q += t;
+ p += t;
+ n -= t;
+ z->total_out += t;
+ s->read = q; /* drag read pointer forward */
+/* WWRAP */ /* expand WWRAP macro by hand to handle s->read */
+ if (q == s->end) {
+ s->read = q = s->window;
+ m = WAVAIL;
+ }
+ }
+ UPDATE
+ return Z_OK;
+}
+
+
+/*
+ * At the end of a Deflate-compressed PPP packet, we expect to have seen
+ * a `stored' block type value but not the (zero) length bytes.
+ */
+int inflate_packet_flush(s)
+ inflate_blocks_statef *s;
+{
+ if (s->mode != LENS)
+ return Z_DATA_ERROR;
+ s->mode = TYPE;
+ return Z_OK;
+}
+/* --- infblock.c */
+
+/* +++ inftrees.c */
+/* inftrees.c -- generate Huffman trees for efficient decoding
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+/* #include "inftrees.h" */
+
+char inflate_copyright[] = " inflate 1.0.4 Copyright 1995-1996 Mark Adler ";
+/*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+ include such an acknowledgment, I would appreciate that you keep this
+ copyright string in the executable of your product.
+ */
+
+#ifndef NO_DUMMY_DECL
+struct internal_state {int dummy;}; /* for buggy compilers */
+#endif
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+
+local int huft_build OF((
+ uIntf *, /* code lengths in bits */
+ uInt, /* number of codes */
+ uInt, /* number of "simple" codes */
+ const uIntf *, /* list of base values for non-simple codes */
+ const uIntf *, /* list of extra bits for non-simple codes */
+ inflate_huft * FAR*,/* result: starting table */
+ uIntf *, /* maximum lookup bits (returns actual) */
+ z_streamp )); /* for zalloc function */
+
+local voidpf falloc OF((
+ voidpf, /* opaque pointer (not used) */
+ uInt, /* number of items */
+ uInt)); /* size of item */
+
+/* Tables for deflate from PKZIP's appnote.txt. */
+local const uInt cplens[31] = { /* Copy lengths for literal codes 257..285 */
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+ 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
+ /* see note #13 above about 258 */
+local const uInt cplext[31] = { /* Extra bits for literal codes 257..285 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
+ 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 112, 112}; /* 112==invalid */
+local const uInt cpdist[30] = { /* Copy offsets for distance codes 0..29 */
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+ 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+ 8193, 12289, 16385, 24577};
+local const uInt cpdext[30] = { /* Extra bits for distance codes */
+ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
+ 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
+ 12, 12, 13, 13};
+
+/*
+ Huffman code decoding is performed using a multi-level table lookup.
+ The fastest way to decode is to simply build a lookup table whose
+ size is determined by the longest code. However, the time it takes
+ to build this table can also be a factor if the data being decoded
+ is not very long. The most common codes are necessarily the
+ shortest codes, so those codes dominate the decoding time, and hence
+ the speed. The idea is you can have a shorter table that decodes the
+ shorter, more probable codes, and then point to subsidiary tables for
+ the longer codes. The time it costs to decode the longer codes is
+ then traded against the time it takes to make longer tables.
+
+ This results of this trade are in the variables lbits and dbits
+ below. lbits is the number of bits the first level table for literal/
+ length codes can decode in one step, and dbits is the same thing for
+ the distance codes. Subsequent tables are also less than or equal to
+ those sizes. These values may be adjusted either when all of the
+ codes are shorter than that, in which case the longest code length in
+ bits is used, or when the shortest code is *longer* than the requested
+ table size, in which case the length of the shortest code in bits is
+ used.
+
+ There are two different values for the two tables, since they code a
+ different number of possibilities each. The literal/length table
+ codes 286 possible values, or in a flat code, a little over eight
+ bits. The distance table codes 30 possible values, or a little less
+ than five bits, flat. The optimum values for speed end up being
+ about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+ The optimum values may differ though from machine to machine, and
+ possibly even between compilers. Your mileage may vary.
+ */
+
+
+/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
+#define BMAX 15 /* maximum bit length of any code */
+#define N_MAX 288 /* maximum number of codes in any set */
+
+#ifdef DEBUG_ZLIB
+ uInt inflate_hufts;
+#endif
+
+local int huft_build(b, n, s, d, e, t, m, zs)
+uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
+uInt n; /* number of codes (assumed <= N_MAX) */
+uInt s; /* number of simple-valued codes (0..s-1) */
+const uIntf *d; /* list of base values for non-simple codes */
+const uIntf *e; /* list of extra bits for non-simple codes */
+inflate_huft * FAR *t; /* result: starting table */
+uIntf *m; /* maximum lookup bits, returns actual */
+z_streamp zs; /* for zalloc function */
+/* Given a list of code lengths and a maximum table size, make a set of
+ tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
+ if the given code set is incomplete (the tables are still built in this
+ case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
+ lengths), or Z_MEM_ERROR if not enough memory. */
+{
+
+ uInt a; /* counter for codes of length k */
+ uInt c[BMAX+1]; /* bit length count table */
+ uInt f; /* i repeats in table every f entries */
+ int g; /* maximum code length */
+ int h; /* table level */
+ register uInt i; /* counter, current code */
+ register uInt j; /* counter */
+ register int k; /* number of bits in current code */
+ int l; /* bits per table (returned in m) */
+ register uIntf *p; /* pointer into c[], b[], or v[] */
+ inflate_huft *q; /* points to current table */
+ struct inflate_huft_s r; /* table entry for structure assignment */
+ inflate_huft *u[BMAX]; /* table stack */
+ uInt v[N_MAX]; /* values in order of bit length */
+ register int w; /* bits before this table == (l * h) */
+ uInt x[BMAX+1]; /* bit offsets, then code stack */
+ uIntf *xp; /* pointer into x */
+ int y; /* number of dummy codes added */
+ uInt z; /* number of entries in current table */
+
+
+ /* Generate counts for each bit length */
+ p = c;
+#define C0 *p++ = 0;
+#define C2 C0 C0 C0 C0
+#define C4 C2 C2 C2 C2
+ C4 /* clear c[]--assume BMAX+1 is 16 */
+ p = b; i = n;
+ do {
+ c[*p++]++; /* assume all entries <= BMAX */
+ } while (--i);
+ if (c[0] == n) /* null input--all zero length codes */
+ {
+ *t = (inflate_huft *)Z_NULL;
+ *m = 0;
+ return Z_OK;
+ }
+
+
+ /* Find minimum and maximum length, bound *m by those */
+ l = *m;
+ for (j = 1; j <= BMAX; j++)
+ if (c[j])
+ break;
+ k = j; /* minimum code length */
+ if ((uInt)l < j)
+ l = j;
+ for (i = BMAX; i; i--)
+ if (c[i])
+ break;
+ g = i; /* maximum code length */
+ if ((uInt)l > i)
+ l = i;
+ *m = l;
+
+
+ /* Adjust last length count to fill out codes, if needed */
+ for (y = 1 << j; j < i; j++, y <<= 1)
+ if ((y -= c[j]) < 0)
+ return Z_DATA_ERROR;
+ if ((y -= c[i]) < 0)
+ return Z_DATA_ERROR;
+ c[i] += y;
+
+
+ /* Generate starting offsets into the value table for each length */
+ x[1] = j = 0;
+ p = c + 1; xp = x + 2;
+ while (--i) { /* note that i == g from above */
+ *xp++ = (j += *p++);
+ }
+
+
+ /* Make a table of values in order of bit lengths */
+ p = b; i = 0;
+ do {
+ if ((j = *p++) != 0)
+ v[x[j]++] = i;
+ } while (++i < n);
+ n = x[g]; /* set n to length of v */
+
+
+ /* Generate the Huffman codes and for each, make the table entries */
+ x[0] = i = 0; /* first Huffman code is zero */
+ p = v; /* grab values in bit order */
+ h = -1; /* no tables yet--level -1 */
+ w = -l; /* bits decoded == (l * h) */
+ u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
+ q = (inflate_huft *)Z_NULL; /* ditto */
+ z = 0; /* ditto */
+
+ /* go through the bit lengths (k already is bits in shortest code) */
+ for (; k <= g; k++)
+ {
+ a = c[k];
+ while (a--)
+ {
+ /* here i is the Huffman code of length k bits for value *p */
+ /* make tables up to required level */
+ while (k > w + l)
+ {
+ h++;
+ w += l; /* previous table always l bits */
+
+ /* compute minimum size table less than or equal to l bits */
+ z = g - w;
+ z = z > (uInt)l ? l : z; /* table size upper limit */
+ if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
+ { /* too few codes for k-w bit table */
+ f -= a + 1; /* deduct codes from patterns left */
+ xp = c + k;
+ if (j < z)
+ while (++j < z) /* try smaller tables up to z bits */
+ {
+ if ((f <<= 1) <= *++xp)
+ break; /* enough codes to use up j bits */
+ f -= *xp; /* else deduct codes from patterns */
+ }
+ }
+ z = 1 << j; /* table entries for j-bit table */
+
+ /* allocate and link in new table */
+ if ((q = (inflate_huft *)ZALLOC
+ (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
+ {
+ if (h)
+ inflate_trees_free(u[0], zs);
+ return Z_MEM_ERROR; /* not enough memory */
+ }
+#ifdef DEBUG_ZLIB
+ inflate_hufts += z + 1;
+#endif
+ *t = q + 1; /* link to list for huft_free() */
+ *(t = &(q->next)) = Z_NULL;
+ u[h] = ++q; /* table starts after link */
+
+ /* connect to last table, if there is one */
+ if (h)
+ {
+ x[h] = i; /* save pattern for backing up */
+ r.bits = (Byte)l; /* bits to dump before this table */
+ r.exop = (Byte)j; /* bits in this table */
+ r.next = q; /* pointer to this table */
+ j = i >> (w - l); /* (get around Turbo C bug) */
+ u[h-1][j] = r; /* connect to last table */
+ }
+ }
+
+ /* set up table entry in r */
+ r.bits = (Byte)(k - w);
+ if (p >= v + n)
+ r.exop = 128 + 64; /* out of values--invalid code */
+ else if (*p < s)
+ {
+ r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
+ r.base = *p++; /* simple code is just the value */
+ }
+ else
+ {
+ r.exop = (Byte)(e[*p - s] + 16 + 64);/* non-simple--look up in lists */
+ r.base = d[*p++ - s];
+ }
+
+ /* fill code-like entries with r */
+ f = 1 << (k - w);
+ for (j = i >> w; j < z; j += f)
+ q[j] = r;
+
+ /* backwards increment the k-bit code i */
+ for (j = 1 << (k - 1); i & j; j >>= 1)
+ i ^= j;
+ i ^= j;
+
+ /* backup over finished tables */
+ while ((i & ((1 << w) - 1)) != x[h])
+ {
+ h--; /* don't need to update q */
+ w -= l;
+ }
+ }
+ }
+
+
+ /* Return Z_BUF_ERROR if we were given an incomplete table */
+ return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
+}
+
+
+int inflate_trees_bits(c, bb, tb, z)
+uIntf *c; /* 19 code lengths */
+uIntf *bb; /* bits tree desired/actual depth */
+inflate_huft * FAR *tb; /* bits tree result */
+z_streamp z; /* for zfree function */
+{
+ int r;
+
+ r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
+ if (r == Z_DATA_ERROR)
+ z->msg = (char*)"oversubscribed dynamic bit lengths tree";
+ else if (r == Z_BUF_ERROR || *bb == 0)
+ {
+ inflate_trees_free(*tb, z);
+ z->msg = (char*)"incomplete dynamic bit lengths tree";
+ r = Z_DATA_ERROR;
+ }
+ return r;
+}
+
+
+int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
+uInt nl; /* number of literal/length codes */
+uInt nd; /* number of distance codes */
+uIntf *c; /* that many (total) code lengths */
+uIntf *bl; /* literal desired/actual bit depth */
+uIntf *bd; /* distance desired/actual bit depth */
+inflate_huft * FAR *tl; /* literal/length tree result */
+inflate_huft * FAR *td; /* distance tree result */
+z_streamp z; /* for zfree function */
+{
+ int r;
+
+ /* build literal/length tree */
+ r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z);
+ if (r != Z_OK || *bl == 0)
+ {
+ if (r == Z_DATA_ERROR)
+ z->msg = (char*)"oversubscribed literal/length tree";
+ else if (r != Z_MEM_ERROR)
+ {
+ inflate_trees_free(*tl, z);
+ z->msg = (char*)"incomplete literal/length tree";
+ r = Z_DATA_ERROR;
+ }
+ return r;
+ }
+
+ /* build distance tree */
+ r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z);
+ if (r != Z_OK || (*bd == 0 && nl > 257))
+ {
+ if (r == Z_DATA_ERROR)
+ z->msg = (char*)"oversubscribed distance tree";
+ else if (r == Z_BUF_ERROR) {
+#ifdef PKZIP_BUG_WORKAROUND
+ r = Z_OK;
+ }
+#else
+ inflate_trees_free(*td, z);
+ z->msg = (char*)"incomplete distance tree";
+ r = Z_DATA_ERROR;
+ }
+ else if (r != Z_MEM_ERROR)
+ {
+ z->msg = (char*)"empty distance tree with lengths";
+ r = Z_DATA_ERROR;
+ }
+ inflate_trees_free(*tl, z);
+ return r;
+#endif
+ }
+
+ /* done */
+ return Z_OK;
+}
+
+
+/* build fixed tables only once--keep them here */
+local int fixed_built = 0;
+#define FIXEDH 530 /* number of hufts used by fixed tables */
+local inflate_huft fixed_mem[FIXEDH];
+local uInt fixed_bl;
+local uInt fixed_bd;
+local inflate_huft *fixed_tl;
+local inflate_huft *fixed_td;
+
+
+local voidpf falloc(q, n, s)
+voidpf q; /* opaque pointer */
+uInt n; /* number of items */
+uInt s; /* size of item */
+{
+ Assert(s == sizeof(inflate_huft) && n <= *(intf *)q,
+ "inflate_trees falloc overflow");
+ *(intf *)q -= n+s-s; /* s-s to avoid warning */
+ return (voidpf)(fixed_mem + *(intf *)q);
+}
+
+
+int inflate_trees_fixed(bl, bd, tl, td)
+uIntf *bl; /* literal desired/actual bit depth */
+uIntf *bd; /* distance desired/actual bit depth */
+inflate_huft * FAR *tl; /* literal/length tree result */
+inflate_huft * FAR *td; /* distance tree result */
+{
+ /* build fixed tables if not already (multiple overlapped executions ok) */
+ if (!fixed_built)
+ {
+ int k; /* temporary variable */
+ unsigned c[288]; /* length list for huft_build */
+ z_stream z; /* for falloc function */
+ int f = FIXEDH; /* number of hufts left in fixed_mem */
+
+ /* set up fake z_stream for memory routines */
+ z.zalloc = falloc;
+ z.zfree = Z_NULL;
+ z.opaque = (voidpf)&f;
+
+ /* literal table */
+ for (k = 0; k < 144; k++)
+ c[k] = 8;
+ for (; k < 256; k++)
+ c[k] = 9;
+ for (; k < 280; k++)
+ c[k] = 7;
+ for (; k < 288; k++)
+ c[k] = 8;
+ fixed_bl = 7;
+ huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
+
+ /* distance table */
+ for (k = 0; k < 30; k++)
+ c[k] = 5;
+ fixed_bd = 5;
+ huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
+
+ /* done */
+ Assert(f == 0, "invalid build of fixed tables");
+ fixed_built = 1;
+ }
+ *bl = fixed_bl;
+ *bd = fixed_bd;
+ *tl = fixed_tl;
+ *td = fixed_td;
+ return Z_OK;
+}
+
+
+int inflate_trees_free(t, z)
+inflate_huft *t; /* table to free */
+z_streamp z; /* for zfree function */
+/* Free the malloc'ed tables built by huft_build(), which makes a linked
+ list of the tables it made, with the links in a dummy first entry of
+ each table. */
+{
+ register inflate_huft *p, *q, *r;
+
+ /* Reverse linked list */
+ p = Z_NULL;
+ q = t;
+ while (q != Z_NULL)
+ {
+ r = (q - 1)->next;
+ (q - 1)->next = p;
+ p = q;
+ q = r;
+ }
+ /* Go through linked list, freeing from the malloced (t[-1]) address. */
+ while (p != Z_NULL)
+ {
+ q = (--p)->next;
+ ZFREE(z,p);
+ p = q;
+ }
+ return Z_OK;
+}
+/* --- inftrees.c */
+
+/* +++ infcodes.c */
+/* infcodes.c -- process literals and length/distance pairs
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+/* #include "inftrees.h" */
+/* #include "infblock.h" */
+/* #include "infcodes.h" */
+/* #include "infutil.h" */
+
+/* +++ inffast.h */
+/* inffast.h -- header to use inffast.c
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+extern int inflate_fast OF((
+ uInt,
+ uInt,
+ inflate_huft *,
+ inflate_huft *,
+ inflate_blocks_statef *,
+ z_streamp ));
+/* --- inffast.h */
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+/* inflate codes private state */
+struct inflate_codes_state {
+
+ /* mode */
+ enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
+ START, /* x: set up for LEN */
+ LEN, /* i: get length/literal/eob next */
+ LENEXT, /* i: getting length extra (have base) */
+ DIST, /* i: get distance next */
+ DISTEXT, /* i: getting distance extra */
+ COPY, /* o: copying bytes in window, waiting for space */
+ LIT, /* o: got literal, waiting for output space */
+ WASH, /* o: got eob, possibly still output waiting */
+ END, /* x: got eob and all data flushed */
+ BADCODE} /* x: got error */
+ mode; /* current inflate_codes mode */
+
+ /* mode dependent information */
+ uInt len;
+ union {
+ struct {
+ inflate_huft *tree; /* pointer into tree */
+ uInt need; /* bits needed */
+ } code; /* if LEN or DIST, where in tree */
+ uInt lit; /* if LIT, literal */
+ struct {
+ uInt get; /* bits to get for extra */
+ uInt dist; /* distance back to copy from */
+ } copy; /* if EXT or COPY, where and how much */
+ } sub; /* submode */
+
+ /* mode independent information */
+ Byte lbits; /* ltree bits decoded per branch */
+ Byte dbits; /* dtree bits decoder per branch */
+ inflate_huft *ltree; /* literal/length/eob tree */
+ inflate_huft *dtree; /* distance tree */
+
+};
+
+
+inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
+uInt bl, bd;
+inflate_huft *tl;
+inflate_huft *td; /* need separate declaration for Borland C++ */
+z_streamp z;
+{
+ inflate_codes_statef *c;
+
+ if ((c = (inflate_codes_statef *)
+ ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
+ {
+ c->mode = START;
+ c->lbits = (Byte)bl;
+ c->dbits = (Byte)bd;
+ c->ltree = tl;
+ c->dtree = td;
+ Tracev((stderr, "inflate: codes new\n"));
+ }
+ return c;
+}
+
+
+int inflate_codes(s, z, r)
+inflate_blocks_statef *s;
+z_streamp z;
+int r;
+{
+ uInt j; /* temporary storage */
+ inflate_huft *t; /* temporary pointer */
+ uInt e; /* extra bits or operation */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+ Bytef *f; /* pointer to copy strings from */
+ inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
+
+ /* copy input/output information to locals (UPDATE macro restores) */
+ LOAD
+
+ /* process input and output based on current state */
+ while (1) switch (c->mode)
+ { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
+ case START: /* x: set up for LEN */
+#ifndef SLOW
+ if (m >= 258 && n >= 10)
+ {
+ UPDATE
+ r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
+ LOAD
+ if (r != Z_OK)
+ {
+ c->mode = r == Z_STREAM_END ? WASH : BADCODE;
+ break;
+ }
+ }
+#endif /* !SLOW */
+ c->sub.code.need = c->lbits;
+ c->sub.code.tree = c->ltree;
+ c->mode = LEN;
+ case LEN: /* i: get length/literal/eob next */
+ j = c->sub.code.need;
+ NEEDBITS(j)
+ t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
+ DUMPBITS(t->bits)
+ e = (uInt)(t->exop);
+ if (e == 0) /* literal */
+ {
+ c->sub.lit = t->base;
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", t->base));
+ c->mode = LIT;
+ break;
+ }
+ if (e & 16) /* length */
+ {
+ c->sub.copy.get = e & 15;
+ c->len = t->base;
+ c->mode = LENEXT;
+ break;
+ }
+ if ((e & 64) == 0) /* next table */
+ {
+ c->sub.code.need = e;
+ c->sub.code.tree = t->next;
+ break;
+ }
+ if (e & 32) /* end of block */
+ {
+ Tracevv((stderr, "inflate: end of block\n"));
+ c->mode = WASH;
+ break;
+ }
+ c->mode = BADCODE; /* invalid code */
+ z->msg = (char*)"invalid literal/length code";
+ r = Z_DATA_ERROR;
+ LEAVE
+ case LENEXT: /* i: getting length extra (have base) */
+ j = c->sub.copy.get;
+ NEEDBITS(j)
+ c->len += (uInt)b & inflate_mask[j];
+ DUMPBITS(j)
+ c->sub.code.need = c->dbits;
+ c->sub.code.tree = c->dtree;
+ Tracevv((stderr, "inflate: length %u\n", c->len));
+ c->mode = DIST;
+ case DIST: /* i: get distance next */
+ j = c->sub.code.need;
+ NEEDBITS(j)
+ t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
+ DUMPBITS(t->bits)
+ e = (uInt)(t->exop);
+ if (e & 16) /* distance */
+ {
+ c->sub.copy.get = e & 15;
+ c->sub.copy.dist = t->base;
+ c->mode = DISTEXT;
+ break;
+ }
+ if ((e & 64) == 0) /* next table */
+ {
+ c->sub.code.need = e;
+ c->sub.code.tree = t->next;
+ break;
+ }
+ c->mode = BADCODE; /* invalid code */
+ z->msg = (char*)"invalid distance code";
+ r = Z_DATA_ERROR;
+ LEAVE
+ case DISTEXT: /* i: getting distance extra */
+ j = c->sub.copy.get;
+ NEEDBITS(j)
+ c->sub.copy.dist += (uInt)b & inflate_mask[j];
+ DUMPBITS(j)
+ Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
+ c->mode = COPY;
+ case COPY: /* o: copying bytes in window, waiting for space */
+#ifndef __TURBOC__ /* Turbo C bug for following expression */
+ f = (uInt)(q - s->window) < c->sub.copy.dist ?
+ s->end - (c->sub.copy.dist - (q - s->window)) :
+ q - c->sub.copy.dist;
+#else
+ f = q - c->sub.copy.dist;
+ if ((uInt)(q - s->window) < c->sub.copy.dist)
+ f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
+#endif
+ while (c->len)
+ {
+ NEEDOUT
+ OUTBYTE(*f++)
+ if (f == s->end)
+ f = s->window;
+ c->len--;
+ }
+ c->mode = START;
+ break;
+ case LIT: /* o: got literal, waiting for output space */
+ NEEDOUT
+ OUTBYTE(c->sub.lit)
+ c->mode = START;
+ break;
+ case WASH: /* o: got eob, possibly more output */
+ FLUSH
+ if (s->read != s->write)
+ LEAVE
+ c->mode = END;
+ case END:
+ r = Z_STREAM_END;
+ LEAVE
+ case BADCODE: /* x: got error */
+ r = Z_DATA_ERROR;
+ LEAVE
+ default:
+ r = Z_STREAM_ERROR;
+ LEAVE
+ }
+}
+
+
+void inflate_codes_free(c, z)
+inflate_codes_statef *c;
+z_streamp z;
+{
+ ZFREE(z, c);
+ Tracev((stderr, "inflate: codes free\n"));
+}
+/* --- infcodes.c */
+
+/* +++ infutil.c */
+/* inflate_util.c -- data and routines common to blocks and codes
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+/* #include "infblock.h" */
+/* #include "inftrees.h" */
+/* #include "infcodes.h" */
+/* #include "infutil.h" */
+
+#ifndef NO_DUMMY_DECL
+struct inflate_codes_state {int dummy;}; /* for buggy compilers */
+#endif
+
+/* And'ing with mask[n] masks the lower n bits */
+uInt inflate_mask[17] = {
+ 0x0000,
+ 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
+ 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
+};
+
+
+/* copy as much as possible from the sliding window to the output area */
+int inflate_flush(s, z, r)
+inflate_blocks_statef *s;
+z_streamp z;
+int r;
+{
+ uInt n;
+ Bytef *p;
+ Bytef *q;
+
+ /* local copies of source and destination pointers */
+ p = z->next_out;
+ q = s->read;
+
+ /* compute number of bytes to copy as far as end of window */
+ n = (uInt)((q <= s->write ? s->write : s->end) - q);
+ if (n > z->avail_out) n = z->avail_out;
+ if (n && r == Z_BUF_ERROR) r = Z_OK;
+
+ /* update counters */
+ z->avail_out -= n;
+ z->total_out += n;
+
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ z->adler = s->check = (*s->checkfn)(s->check, q, n);
+
+ /* copy as far as end of window */
+ if (p != Z_NULL) {
+ zmemcpy(p, q, n);
+ p += n;
+ }
+ q += n;
+
+ /* see if more to copy at beginning of window */
+ if (q == s->end)
+ {
+ /* wrap pointers */
+ q = s->window;
+ if (s->write == s->end)
+ s->write = s->window;
+
+ /* compute bytes to copy */
+ n = (uInt)(s->write - q);
+ if (n > z->avail_out) n = z->avail_out;
+ if (n && r == Z_BUF_ERROR) r = Z_OK;
+
+ /* update counters */
+ z->avail_out -= n;
+ z->total_out += n;
+
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ z->adler = s->check = (*s->checkfn)(s->check, q, n);
+
+ /* copy */
+ if (p != Z_NULL) {
+ zmemcpy(p, q, n);
+ p += n;
+ }
+ q += n;
+ }
+
+ /* update pointers */
+ z->next_out = p;
+ s->read = q;
+
+ /* done */
+ return r;
+}
+/* --- infutil.c */
+
+/* +++ inffast.c */
+/* inffast.c -- process literals and length/distance pairs fast
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* #include "zutil.h" */
+/* #include "inftrees.h" */
+/* #include "infblock.h" */
+/* #include "infcodes.h" */
+/* #include "infutil.h" */
+/* #include "inffast.h" */
+
+#ifndef NO_DUMMY_DECL
+struct inflate_codes_state {int dummy;}; /* for buggy compilers */
+#endif
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+/* macros for bit input with no checking and for returning unused bytes */
+#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
+#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
+
+/* Called with number of bytes left to write in window at least 258
+ (the maximum string length) and number of input bytes available
+ at least ten. The ten bytes are six bytes for the longest length/
+ distance pair plus four bytes for overloading the bit buffer. */
+
+int inflate_fast(bl, bd, tl, td, s, z)
+uInt bl, bd;
+inflate_huft *tl;
+inflate_huft *td; /* need separate declaration for Borland C++ */
+inflate_blocks_statef *s;
+z_streamp z;
+{
+ inflate_huft *t; /* temporary pointer */
+ uInt e; /* extra bits or operation */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+ uInt ml; /* mask for literal/length tree */
+ uInt md; /* mask for distance tree */
+ uInt c; /* bytes to copy */
+ uInt d; /* distance back to copy from */
+ Bytef *r; /* copy source pointer */
+
+ /* load input, output, bit values */
+ LOAD
+
+ /* initialize masks */
+ ml = inflate_mask[bl];
+ md = inflate_mask[bd];
+
+ /* do until not enough input or output space for fast loop */
+ do { /* assume called with m >= 258 && n >= 10 */
+ /* get literal/length code */
+ GRABBITS(20) /* max bits for literal/length code */
+ if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
+ {
+ DUMPBITS(t->bits)
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: * literal '%c'\n" :
+ "inflate: * literal 0x%02x\n", t->base));
+ *q++ = (Byte)t->base;
+ m--;
+ continue;
+ }
+ do {
+ DUMPBITS(t->bits)
+ if (e & 16)
+ {
+ /* get extra bits for length */
+ e &= 15;
+ c = t->base + ((uInt)b & inflate_mask[e]);
+ DUMPBITS(e)
+ Tracevv((stderr, "inflate: * length %u\n", c));
+
+ /* decode distance base of block to copy */
+ GRABBITS(15); /* max bits for distance code */
+ e = (t = td + ((uInt)b & md))->exop;
+ do {
+ DUMPBITS(t->bits)
+ if (e & 16)
+ {
+ /* get extra bits to add to distance base */
+ e &= 15;
+ GRABBITS(e) /* get extra bits (up to 13) */
+ d = t->base + ((uInt)b & inflate_mask[e]);
+ DUMPBITS(e)
+ Tracevv((stderr, "inflate: * distance %u\n", d));
+
+ /* do the copy */
+ m -= c;
+ if ((uInt)(q - s->window) >= d) /* offset before dest */
+ { /* just copy */
+ r = q - d;
+ *q++ = *r++; c--; /* minimum count is three, */
+ *q++ = *r++; c--; /* so unroll loop a little */
+ }
+ else /* else offset after destination */
+ {
+ e = d - (uInt)(q - s->window); /* bytes from offset to end */
+ r = s->end - e; /* pointer to offset */
+ if (c > e) /* if source crosses, */
+ {
+ c -= e; /* copy to end of window */
+ do {
+ *q++ = *r++;
+ } while (--e);
+ r = s->window; /* copy rest from start of window */
+ }
+ }
+ do { /* copy all or what's left */
+ *q++ = *r++;
+ } while (--c);
+ break;
+ }
+ else if ((e & 64) == 0)
+ e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
+ else
+ {
+ z->msg = (char*)"invalid distance code";
+ UNGRAB
+ UPDATE
+ return Z_DATA_ERROR;
+ }
+ } while (1);
+ break;
+ }
+ if ((e & 64) == 0)
+ {
+ if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
+ {
+ DUMPBITS(t->bits)
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: * literal '%c'\n" :
+ "inflate: * literal 0x%02x\n", t->base));
+ *q++ = (Byte)t->base;
+ m--;
+ break;
+ }
+ }
+ else if (e & 32)
+ {
+ Tracevv((stderr, "inflate: * end of block\n"));
+ UNGRAB
+ UPDATE
+ return Z_STREAM_END;
+ }
+ else
+ {
+ z->msg = (char*)"invalid literal/length code";
+ UNGRAB
+ UPDATE
+ return Z_DATA_ERROR;
+ }
+ } while (1);
+ } while (m >= 258 && n >= 10);
+
+ /* not enough input or output--restore pointers and return */
+ UNGRAB
+ UPDATE
+ return Z_OK;
+}
+/* --- inffast.c */
+
+/* +++ zutil.c */
+/* zutil.c -- target dependent utility functions for the compression library
+ * Copyright (C) 1995-1996 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: zutil.c,v 1.17 1996/07/24 13:41:12 me Exp $ */
+
+#ifdef DEBUG_ZLIB
+#include <stdio.h>
+#endif
+
+/* #include "zutil.h" */
+
+#ifndef NO_DUMMY_DECL
+struct internal_state {int dummy;}; /* for buggy compilers */
+#endif
+
+#ifndef STDC
+extern void exit OF((int));
+#endif
+
+const char *z_errmsg[10] = {
+"need dictionary", /* Z_NEED_DICT 2 */
+"stream end", /* Z_STREAM_END 1 */
+"", /* Z_OK 0 */
+"file error", /* Z_ERRNO (-1) */
+"stream error", /* Z_STREAM_ERROR (-2) */
+"data error", /* Z_DATA_ERROR (-3) */
+"insufficient memory", /* Z_MEM_ERROR (-4) */
+"buffer error", /* Z_BUF_ERROR (-5) */
+"incompatible version",/* Z_VERSION_ERROR (-6) */
+""};
+
+
+const char *zlibVersion()
+{
+ return ZLIB_VERSION;
+}
+
+#ifdef DEBUG_ZLIB
+void z_error (m)
+ char *m;
+{
+ fprintf(stderr, "%s\n", m);
+ exit(1);
+}
+#endif
+
+#ifndef HAVE_MEMCPY
+
+void zmemcpy(dest, source, len)
+ Bytef* dest;
+ Bytef* source;
+ uInt len;
+{
+ if (len == 0) return;
+ do {
+ *dest++ = *source++; /* ??? to be unrolled */
+ } while (--len != 0);
+}
+
+int zmemcmp(s1, s2, len)
+ Bytef* s1;
+ Bytef* s2;
+ uInt len;
+{
+ uInt j;
+
+ for (j = 0; j < len; j++) {
+ if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
+ }
+ return 0;
+}
+
+void zmemzero(dest, len)
+ Bytef* dest;
+ uInt len;
+{
+ if (len == 0) return;
+ do {
+ *dest++ = 0; /* ??? to be unrolled */
+ } while (--len != 0);
+}
+#endif
+
+#ifdef __TURBOC__
+#if (defined( __BORLANDC__) || !defined(SMALL_MEDIUM)) && !defined(__32BIT__)
+/* Small and medium model in Turbo C are for now limited to near allocation
+ * with reduced MAX_WBITS and MAX_MEM_LEVEL
+ */
+# define MY_ZCALLOC
+
+/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
+ * and farmalloc(64K) returns a pointer with an offset of 8, so we
+ * must fix the pointer. Warning: the pointer must be put back to its
+ * original form in order to free it, use zcfree().
+ */
+
+#define MAX_PTR 10
+/* 10*64K = 640K */
+
+local int next_ptr = 0;
+
+typedef struct ptr_table_s {
+ voidpf org_ptr;
+ voidpf new_ptr;
+} ptr_table;
+
+local ptr_table table[MAX_PTR];
+/* This table is used to remember the original form of pointers
+ * to large buffers (64K). Such pointers are normalized with a zero offset.
+ * Since MSDOS is not a preemptive multitasking OS, this table is not
+ * protected from concurrent access. This hack doesn't work anyway on
+ * a protected system like OS/2. Use Microsoft C instead.
+ */
+
+voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
+{
+ voidpf buf = opaque; /* just to make some compilers happy */
+ ulg bsize = (ulg)items*size;
+
+ /* If we allocate less than 65520 bytes, we assume that farmalloc
+ * will return a usable pointer which doesn't have to be normalized.
+ */
+ if (bsize < 65520L) {
+ buf = farmalloc(bsize);
+ if (*(ush*)&buf != 0) return buf;
+ } else {
+ buf = farmalloc(bsize + 16L);
+ }
+ if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
+ table[next_ptr].org_ptr = buf;
+
+ /* Normalize the pointer to seg:0 */
+ *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
+ *(ush*)&buf = 0;
+ table[next_ptr++].new_ptr = buf;
+ return buf;
+}
+
+void zcfree (voidpf opaque, voidpf ptr)
+{
+ int n;
+ if (*(ush*)&ptr != 0) { /* object < 64K */
+ farfree(ptr);
+ return;
+ }
+ /* Find the original pointer */
+ for (n = 0; n < next_ptr; n++) {
+ if (ptr != table[n].new_ptr) continue;
+
+ farfree(table[n].org_ptr);
+ while (++n < next_ptr) {
+ table[n-1] = table[n];
+ }
+ next_ptr--;
+ return;
+ }
+ ptr = opaque; /* just to make some compilers happy */
+ Assert(0, "zcfree: ptr not found");
+}
+#endif
+#endif /* __TURBOC__ */
+
+
+#if defined(M_I86) && !defined(__32BIT__)
+/* Microsoft C in 16-bit mode */
+
+# define MY_ZCALLOC
+
+#if (!defined(_MSC_VER) || (_MSC_VER < 600))
+# define _halloc halloc
+# define _hfree hfree
+#endif
+
+voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
+{
+ if (opaque) opaque = 0; /* to make compiler happy */
+ return _halloc((long)items, size);
+}
+
+void zcfree (voidpf opaque, voidpf ptr)
+{
+ if (opaque) opaque = 0; /* to make compiler happy */
+ _hfree(ptr);
+}
+
+#endif /* MSC */
+
+
+#ifndef MY_ZCALLOC /* Any system without a special alloc function */
+
+#ifndef STDC
+extern voidp calloc OF((uInt items, uInt size));
+extern void free OF((voidpf ptr));
+#endif
+
+voidpf zcalloc (opaque, items, size)
+ voidpf opaque;
+ unsigned items;
+ unsigned size;
+{
+ if (opaque) items += size - size; /* make compiler happy */
+ return (voidpf)calloc(items, size);
+}
+
+void zcfree (opaque, ptr)
+ voidpf opaque;
+ voidpf ptr;
+{
+ free(ptr);
+ if (opaque) return; /* make compiler happy */
+}
+
+#endif /* MY_ZCALLOC */
+/* --- zutil.c */
+
+/* +++ adler32.c */
+/* adler32.c -- compute the Adler-32 checksum of a data stream
+ * Copyright (C) 1995-1996 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: adler32.c,v 1.10 1996/05/22 11:52:18 me Exp $ */
+
+/* #include "zlib.h" */
+
+#define BASE 65521L /* largest prime smaller than 65536 */
+#define NMAX 5552
+/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
+
+#define DO1(buf,i) {s1 += buf[i]; s2 += s1;}
+#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
+#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
+#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
+#define DO16(buf) DO8(buf,0); DO8(buf,8);
+
+/* ========================================================================= */
+uLong adler32(adler, buf, len)
+ uLong adler;
+ const Bytef *buf;
+ uInt len;
+{
+ unsigned long s1 = adler & 0xffff;
+ unsigned long s2 = (adler >> 16) & 0xffff;
+ int k;
+
+ if (buf == Z_NULL) return 1L;
+
+ while (len > 0) {
+ k = len < NMAX ? len : NMAX;
+ len -= k;
+ while (k >= 16) {
+ DO16(buf);
+ buf += 16;
+ k -= 16;
+ }
+ if (k != 0) do {
+ s1 += *buf++;
+ s2 += s1;
+ } while (--k);
+ s1 %= BASE;
+ s2 %= BASE;
+ }
+ return (s2 << 16) | s1;
+}
+/* --- adler32.c */
diff --git a/mdk-stage1/ppp/common/zlib.h b/mdk-stage1/ppp/common/zlib.h
new file mode 100644
index 000000000..d90eedc9b
--- /dev/null
+++ b/mdk-stage1/ppp/common/zlib.h
@@ -0,0 +1,1010 @@
+/* $Id: zlib.h 6001 2001-06-11 11:44:34Z gc $ */
+
+/*
+ * This file is derived from zlib.h and zconf.h from the zlib-1.0.4
+ * distribution by Jean-loup Gailly and Mark Adler, with some additions
+ * by Paul Mackerras to aid in implementing Deflate compression and
+ * decompression for PPP packets.
+ */
+
+/*
+ * ==FILEVERSION 971127==
+ *
+ * This marker is used by the Linux installation script to determine
+ * whether an up-to-date version of this file is already installed.
+ */
+
+
+/* +++ zlib.h */
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.0.4, Jul 24th, 1996.
+
+ Copyright (C) 1995-1996 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ gzip@prep.ai.mit.edu madler@alumni.caltech.edu
+
+
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
+ (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+*/
+
+#ifndef _ZLIB_H
+#define _ZLIB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* +++ zconf.h */
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995-1996 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: zconf.h,v 1.20 1996/07/02 15:09:28 me Exp $ */
+
+#ifndef _ZCONF_H
+#define _ZCONF_H
+
+/*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+ */
+#ifdef Z_PREFIX
+# define deflateInit_ z_deflateInit_
+# define deflate z_deflate
+# define deflateEnd z_deflateEnd
+# define inflateInit_ z_inflateInit_
+# define inflate z_inflate
+# define inflateEnd z_inflateEnd
+# define deflateInit2_ z_deflateInit2_
+# define deflateSetDictionary z_deflateSetDictionary
+# define deflateCopy z_deflateCopy
+# define deflateReset z_deflateReset
+# define deflateParams z_deflateParams
+# define inflateInit2_ z_inflateInit2_
+# define inflateSetDictionary z_inflateSetDictionary
+# define inflateSync z_inflateSync
+# define inflateReset z_inflateReset
+# define compress z_compress
+# define uncompress z_uncompress
+# define adler32 z_adler32
+# define crc32 z_crc32
+# define get_crc_table z_get_crc_table
+
+# define Byte z_Byte
+# define uInt z_uInt
+# define uLong z_uLong
+# define Bytef z_Bytef
+# define charf z_charf
+# define intf z_intf
+# define uIntf z_uIntf
+# define uLongf z_uLongf
+# define voidpf z_voidpf
+# define voidp z_voidp
+#endif
+
+#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
+# define WIN32
+#endif
+#if defined(__GNUC__) || defined(WIN32) || defined(__386__) || defined(i386)
+# ifndef __32BIT__
+# define __32BIT__
+# endif
+#endif
+#if defined(__MSDOS__) && !defined(MSDOS)
+# define MSDOS
+#endif
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ */
+#if defined(MSDOS) && !defined(__32BIT__)
+# define MAXSEG_64K
+#endif
+#ifdef MSDOS
+# define UNALIGNED_OK
+#endif
+
+#if (defined(MSDOS) || defined(_WINDOWS) || defined(WIN32)) && !defined(STDC)
+# define STDC
+#endif
+#if (defined(__STDC__) || defined(__cplusplus)) && !defined(STDC)
+# define STDC
+#endif
+
+#ifndef STDC
+# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
+# define const
+# endif
+#endif
+
+/* Some Mac compilers merge all .h files incorrectly: */
+#if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__)
+# define NO_DUMMY_DECL
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+# ifdef MAXSEG_64K
+# define MAX_MEM_LEVEL 8
+# else
+# define MAX_MEM_LEVEL 9
+# endif
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
+#ifndef MAX_WBITS
+# define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+ 1 << (windowBits+2) + 1 << (memLevel+9)
+ that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+ make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+ The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ for small objects.
+*/
+
+ /* Type declarations */
+
+#ifndef OF /* function prototypes */
+# ifdef STDC
+# define OF(args) args
+# else
+# define OF(args) ()
+# endif
+#endif
+
+/* The following definitions for FAR are needed only for MSDOS mixed
+ * model programming (small or medium model with some far allocations).
+ * This was tested only with MSC; for other MSDOS compilers you may have
+ * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
+ * just define FAR to be empty.
+ */
+#if (defined(M_I86SM) || defined(M_I86MM)) && !defined(__32BIT__)
+ /* MSC small or medium model */
+# define SMALL_MEDIUM
+# ifdef _MSC_VER
+# define FAR __far
+# else
+# define FAR far
+# endif
+#endif
+#if defined(__BORLANDC__) && (defined(__SMALL__) || defined(__MEDIUM__))
+# ifndef __32BIT__
+# define SMALL_MEDIUM
+# define FAR __far
+# endif
+#endif
+#ifndef FAR
+# define FAR
+#endif
+
+typedef unsigned char Byte; /* 8 bits */
+typedef unsigned int uInt; /* 16 bits or more */
+typedef unsigned long uLong; /* 32 bits or more */
+
+#if defined(__BORLANDC__) && defined(SMALL_MEDIUM)
+ /* Borland C/C++ ignores FAR inside typedef */
+# define Bytef Byte FAR
+#else
+ typedef Byte FAR Bytef;
+#endif
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+ typedef void FAR *voidpf;
+ typedef void *voidp;
+#else
+ typedef Byte FAR *voidpf;
+ typedef Byte *voidp;
+#endif
+
+
+/* Compile with -DZLIB_DLL for Windows DLL support */
+#if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL)
+# include <windows.h>
+# define EXPORT WINAPI
+#else
+# define EXPORT
+#endif
+
+#endif /* _ZCONF_H */
+/* --- zconf.h */
+
+#define ZLIB_VERSION "1.0.4P"
+
+/*
+ The 'zlib' compression library provides in-memory compression and
+ decompression functions, including integrity checks of the uncompressed
+ data. This version of the library supports only one compression method
+ (deflation) but other algorithms may be added later and will have the same
+ stream interface.
+
+ For compression the application must provide the output buffer and
+ may optionally provide the input buffer for optimization. For decompression,
+ the application must provide the input buffer and may optionally provide
+ the output buffer for optimization.
+
+ Compression can be done in a single step if the buffers are large
+ enough (for example if an input file is mmap'ed), or can be done by
+ repeated calls of the compression function. In the latter case, the
+ application must provide more input and/or consume the output
+ (providing more output space) before each call.
+
+ The library does not install any signal handler. It is recommended to
+ add at least a handler for SIGSEGV when decompressing; the library checks
+ the consistency of the input data whenever possible but may go nuts
+ for some forms of corrupted input.
+*/
+
+typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
+typedef void (*free_func) OF((voidpf opaque, voidpf address));
+
+struct internal_state;
+
+typedef struct z_stream_s {
+ Bytef *next_in; /* next input byte */
+ uInt avail_in; /* number of bytes available at next_in */
+ uLong total_in; /* total nb of input bytes read so far */
+
+ Bytef *next_out; /* next output byte should be put there */
+ uInt avail_out; /* remaining free space at next_out */
+ uLong total_out; /* total nb of bytes output so far */
+
+ char *msg; /* last error message, NULL if no error */
+ struct internal_state FAR *state; /* not visible by applications */
+
+ alloc_func zalloc; /* used to allocate the internal state */
+ free_func zfree; /* used to free the internal state */
+ voidpf opaque; /* private data object passed to zalloc and zfree */
+
+ int data_type; /* best guess about the data type: ascii or binary */
+ uLong adler; /* adler32 value of the uncompressed data */
+ uLong reserved; /* reserved for future use */
+} z_stream;
+
+typedef z_stream FAR *z_streamp;
+
+/*
+ The application must update next_in and avail_in when avail_in has
+ dropped to zero. It must update next_out and avail_out when avail_out
+ has dropped to zero. The application must initialize zalloc, zfree and
+ opaque before calling the init function. All other fields are set by the
+ compression library and must not be updated by the application.
+
+ The opaque value provided by the application will be passed as the first
+ parameter for calls of zalloc and zfree. This can be useful for custom
+ memory management. The compression library attaches no meaning to the
+ opaque value.
+
+ zalloc must return Z_NULL if there is not enough memory for the object.
+ On 16-bit systems, the functions zalloc and zfree must be able to allocate
+ exactly 65536 bytes, but will not be required to allocate more than this
+ if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
+ pointers returned by zalloc for objects of exactly 65536 bytes *must*
+ have their offset normalized to zero. The default allocation function
+ provided by this library ensures this (see zutil.c). To reduce memory
+ requirements and avoid any allocation of 64K objects, at the expense of
+ compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
+
+ The fields total_in and total_out can be used for statistics or
+ progress reports. After compression, total_in holds the total size of
+ the uncompressed data and may be saved for use in the decompressor
+ (particularly if the decompressor wants to decompress everything in
+ a single step).
+*/
+
+ /* constants */
+
+#define Z_NO_FLUSH 0
+#define Z_PARTIAL_FLUSH 1
+#define Z_PACKET_FLUSH 2
+#define Z_SYNC_FLUSH 3
+#define Z_FULL_FLUSH 4
+#define Z_FINISH 5
+/* Allowed flush values; see deflate() below for details */
+
+#define Z_OK 0
+#define Z_STREAM_END 1
+#define Z_NEED_DICT 2
+#define Z_ERRNO (-1)
+#define Z_STREAM_ERROR (-2)
+#define Z_DATA_ERROR (-3)
+#define Z_MEM_ERROR (-4)
+#define Z_BUF_ERROR (-5)
+#define Z_VERSION_ERROR (-6)
+/* Return codes for the compression/decompression functions. Negative
+ * values are errors, positive values are used for special but normal events.
+ */
+
+#define Z_NO_COMPRESSION 0
+#define Z_BEST_SPEED 1
+#define Z_BEST_COMPRESSION 9
+#define Z_DEFAULT_COMPRESSION (-1)
+/* compression levels */
+
+#define Z_FILTERED 1
+#define Z_HUFFMAN_ONLY 2
+#define Z_DEFAULT_STRATEGY 0
+/* compression strategy; see deflateInit2() below for details */
+
+#define Z_BINARY 0
+#define Z_ASCII 1
+#define Z_UNKNOWN 2
+/* Possible values of the data_type field */
+
+#define Z_DEFLATED 8
+/* The deflate compression method (the only one supported in this version) */
+
+#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
+
+#define zlib_version zlibVersion()
+/* for compatibility with versions < 1.0.2 */
+
+ /* basic functions */
+
+extern const char * EXPORT zlibVersion OF((void));
+/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+ not compatible with the zlib.h header file used by the application.
+ This check is automatically made by deflateInit and inflateInit.
+ */
+
+/*
+extern int EXPORT deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller.
+ If zalloc and zfree are set to Z_NULL, deflateInit updates them to
+ use default allocation functions.
+
+ The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
+ 1 gives best speed, 9 gives best compression, 0 gives no compression at
+ all (the input data is simply copied a block at a time).
+ Z_DEFAULT_COMPRESSION requests a default compromise between speed and
+ compression (currently equivalent to level 6).
+
+ deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if level is not a valid compression level,
+ Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
+ with the version assumed by the caller (ZLIB_VERSION).
+ msg is set to null if there is no error message. deflateInit does not
+ perform any compression: this will be done by deflate().
+*/
+
+
+extern int EXPORT deflate OF((z_streamp strm, int flush));
+/*
+ Performs one or both of the following actions:
+
+ - Compress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in and avail_in are updated and
+ processing will resume at this point for the next call of deflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. This action is forced if the parameter flush is non zero.
+ Forcing flush frequently degrades the compression ratio, so this parameter
+ should be set only when necessary (in interactive applications).
+ Some output may be provided even if flush is not set.
+
+ Before the call of deflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating avail_in or avail_out accordingly; avail_out
+ should never be zero before the call. The application can consume the
+ compressed output when it wants, for example when the output buffer is full
+ (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
+ and with zero avail_out, it must be called again after making room in the
+ output buffer because there might be more output pending.
+
+ If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
+ block is terminated and flushed to the output buffer so that the
+ decompressor can get all input data available so far. For method 9, a future
+ variant on method 8, the current block will be flushed but not terminated.
+ Z_SYNC_FLUSH has the same effect as partial flush except that the compressed
+ output is byte aligned (the compressor can clear its internal bit buffer)
+ and the current block is always terminated; this can be useful if the
+ compressor has to be restarted from scratch after an interruption (in which
+ case the internal state of the compressor may be lost).
+ If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
+ special marker is output and the compression dictionary is discarded; this
+ is useful to allow the decompressor to synchronize if one compressed block
+ has been damaged (see inflateSync below). Flushing degrades compression and
+ so should be used only when necessary. Using Z_FULL_FLUSH too often can
+ seriously degrade the compression. If deflate returns with avail_out == 0,
+ this function must be called again with the same value of the flush
+ parameter and more output space (updated avail_out), until the flush is
+ complete (deflate returns with non-zero avail_out).
+
+ If the parameter flush is set to Z_PACKET_FLUSH, the compression
+ block is terminated, and a zero-length stored block is output,
+ omitting the length bytes (the effect of this is that the 3-bit type
+ code 000 for a stored block is output, and the output is then
+ byte-aligned). This is designed for use at the end of a PPP packet.
+
+ If the parameter flush is set to Z_FINISH, pending input is processed,
+ pending output is flushed and deflate returns with Z_STREAM_END if there
+ was enough output space; if deflate returns with Z_OK, this function must be
+ called again with Z_FINISH and more output space (updated avail_out) but no
+ more input data, until it returns with Z_STREAM_END or an error. After
+ deflate has returned Z_STREAM_END, the only possible operations on the
+ stream are deflateReset or deflateEnd.
+
+ Z_FINISH can be used immediately after deflateInit if all the compression
+ is to be done in a single step. In this case, avail_out must be at least
+ 0.1% larger than avail_in plus 12 bytes. If deflate does not return
+ Z_STREAM_END, then it must be called again as described above.
+
+ deflate() may update data_type if it can make a good guess about
+ the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
+ binary. This field is only for information purposes and does not affect
+ the compression algorithm in any manner.
+
+ deflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if all input has been
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+ if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
+*/
+
+
+extern int EXPORT deflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
+ stream state was inconsistent, Z_DATA_ERROR if the stream was freed
+ prematurely (some input or output was discarded). In the error case,
+ msg may be set but then points to a static string (which must not be
+ deallocated).
+*/
+
+
+/*
+extern int EXPORT inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller. If
+ zalloc and zfree are set to Z_NULL, inflateInit updates them to use default
+ allocation functions.
+
+ inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_VERSION_ERROR if the zlib library version is incompatible
+ with the version assumed by the caller. msg is set to null if there is no
+ error message. inflateInit does not perform any decompression: this will be
+ done by inflate().
+*/
+
+
+extern int EXPORT inflate OF((z_streamp strm, int flush));
+/*
+ Performs one or both of the following actions:
+
+ - Decompress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in is updated and processing
+ will resume at this point for the next call of inflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. inflate() provides as much output as possible, until there
+ is no more input data or no more space in the output buffer (see below
+ about the flush parameter).
+
+ Before the call of inflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating the next_* and avail_* values accordingly.
+ The application can consume the uncompressed output when it wants, for
+ example when the output buffer is full (avail_out == 0), or after each
+ call of inflate(). If inflate returns Z_OK and with zero avail_out, it
+ must be called again after making room in the output buffer because there
+ might be more output pending.
+
+ If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
+ inflate flushes as much output as possible to the output buffer. The
+ flushing behavior of inflate is not specified for values of the flush
+ parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
+ current implementation actually flushes as much output as possible
+ anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
+ has been consumed, it is expecting to see the length field of a stored
+ block; if not, it returns Z_DATA_ERROR.
+
+ inflate() should normally be called until it returns Z_STREAM_END or an
+ error. However if all decompression is to be performed in a single step
+ (a single call of inflate), the parameter flush should be set to
+ Z_FINISH. In this case all pending input is processed and all pending
+ output is flushed; avail_out must be large enough to hold all the
+ uncompressed data. (The size of the uncompressed data may have been saved
+ by the compressor for this purpose.) The next operation on this stream must
+ be inflateEnd to deallocate the decompression state. The use of Z_FINISH
+ is never required, but can be used to inform inflate that a faster routine
+ may be used for the single inflate() call.
+
+ inflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if the end of the
+ compressed data has been reached and all uncompressed output has been
+ produced, Z_NEED_DICT if a preset dictionary is needed at this point (see
+ inflateSetDictionary below), Z_DATA_ERROR if the input data was corrupted,
+ Z_STREAM_ERROR if the stream structure was inconsistent (for example if
+ next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
+ Z_BUF_ERROR if no progress is possible or if there was not enough room in
+ the output buffer when Z_FINISH is used. In the Z_DATA_ERROR case, the
+ application may then call inflateSync to look for a good compression block.
+ In the Z_NEED_DICT case, strm->adler is set to the Adler32 value of the
+ dictionary chosen by the compressor.
+*/
+
+
+extern int EXPORT inflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
+ was inconsistent. In the error case, msg may be set but then points to a
+ static string (which must not be deallocated).
+*/
+
+ /* Advanced functions */
+
+/*
+ The following functions are needed only in some special applications.
+*/
+
+/*
+extern int EXPORT deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+ int memLevel,
+ int strategy));
+
+ This is another version of deflateInit with more compression options. The
+ fields next_in, zalloc, zfree and opaque must be initialized before by
+ the caller.
+
+ The method parameter is the compression method. It must be Z_DEFLATED in
+ this version of the library. (Method 9 will allow a 64K history buffer and
+ partial block flushes.)
+
+ The windowBits parameter is the base two logarithm of the window size
+ (the size of the history buffer). It should be in the range 8..15 for this
+ version of the library (the value 16 will be allowed for method 9). Larger
+ values of this parameter result in better compression at the expense of
+ memory usage. The default value is 15 if deflateInit is used instead.
+
+ The memLevel parameter specifies how much memory should be allocated
+ for the internal compression state. memLevel=1 uses minimum memory but
+ is slow and reduces compression ratio; memLevel=9 uses maximum memory
+ for optimal speed. The default value is 8. See zconf.h for total memory
+ usage as a function of windowBits and memLevel.
+
+ The strategy parameter is used to tune the compression algorithm. Use the
+ value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
+ filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman encoding only (no
+ string match). Filtered data consists mostly of small values with a
+ somewhat random distribution. In this case, the compression algorithm is
+ tuned to compress them better. The effect of Z_FILTERED is to force more
+ Huffman coding and less string matching; it is somewhat intermediate
+ between Z_DEFAULT and Z_HUFFMAN_ONLY. The strategy parameter only affects
+ the compression ratio but not the correctness of the compressed output even
+ if it is not set appropriately.
+
+ If next_in is not null, the library will use this buffer to hold also
+ some history information; the buffer must either hold the entire input
+ data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
+ is null, the library will allocate its own history buffer (and leave next_in
+ null). next_out need not be provided here but must be provided by the
+ application for the next call of deflate().
+
+ If the history buffer is provided by the application, next_in must
+ must never be changed by the application since the compressor maintains
+ information inside this buffer from call to call; the application
+ must provide more input only by increasing avail_in. next_in is always
+ reset by the library in this case.
+
+ deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
+ not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
+ an invalid method). msg is set to null if there is no error message.
+ deflateInit2 does not perform any compression: this will be done by
+ deflate().
+*/
+
+extern int EXPORT deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the compression dictionary (history buffer) from the given
+ byte sequence without producing any compressed output. This function must
+ be called immediately after deflateInit or deflateInit2, before any call
+ of deflate. The compressor and decompressor must use exactly the same
+ dictionary (see inflateSetDictionary).
+ The dictionary should consist of strings (byte sequences) that are likely
+ to be encountered later in the data to be compressed, with the most commonly
+ used strings preferably put towards the end of the dictionary. Using a
+ dictionary is most useful when the data to be compressed is short and
+ can be predicted with good accuracy; the data can then be compressed better
+ than with the default empty dictionary. In this version of the library,
+ only the last 32K bytes of the dictionary are used.
+ Upon return of this function, strm->adler is set to the Adler32 value
+ of the dictionary; the decompressor may later use this value to determine
+ which dictionary has been used by the compressor. (The Adler32 value
+ applies to the whole dictionary even if only a subset of the dictionary is
+ actually used by the compressor.)
+
+ deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
+ parameter is invalid (such as NULL dictionary) or the stream state
+ is inconsistent (for example if deflate has already been called for this
+ stream). deflateSetDictionary does not perform any compression: this will
+ be done by deflate().
+*/
+
+extern int EXPORT deflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream. If
+ the source stream is using an application-supplied history buffer, a new
+ buffer is allocated for the destination stream. The compressed output
+ buffer is always application-supplied. It's the responsibility of the
+ application to provide the correct values of next_out and avail_out for the
+ next call of deflate.
+
+ This function can be useful when several compression strategies will be
+ tried, for example when there are several ways of pre-processing the input
+ data with a filter. The streams that will be discarded should then be freed
+ by calling deflateEnd. Note that deflateCopy duplicates the internal
+ compression state which can be quite large, so this strategy is slow and
+ can consume lots of memory.
+
+ deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+extern int EXPORT deflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state.
+ The stream will keep the same compression level and any other attributes
+ that may have been set by deflateInit2.
+
+ deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+extern int EXPORT deflateParams OF((z_streamp strm, int level, int strategy));
+/*
+ Dynamically update the compression level and compression strategy.
+ This can be used to switch between compression and straight copy of
+ the input data, or to switch to a different kind of input data requiring
+ a different strategy. If the compression level is changed, the input
+ available so far is compressed with the old level (and may be flushed);
+ the new level will take effect only at the next call of deflate().
+
+ Before the call of deflateParams, the stream state must be set as for
+ a call of deflate(), since the currently available input may have to
+ be compressed and flushed. In particular, strm->avail_out must be non-zero.
+
+ deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
+ stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
+ if strm->avail_out was zero.
+*/
+
+extern int EXPORT deflateOutputPending OF((z_streamp strm));
+/*
+ Returns the number of bytes of output which are immediately
+ available from the compressor (i.e. without any further input
+ or flush).
+*/
+
+/*
+extern int EXPORT inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with more compression options. The
+ fields next_out, zalloc, zfree and opaque must be initialized before by
+ the caller.
+
+ The windowBits parameter is the base two logarithm of the maximum window
+ size (the size of the history buffer). It should be in the range 8..15 for
+ this version of the library (the value 16 will be allowed soon). The
+ default value is 15 if inflateInit is used instead. If a compressed stream
+ with a larger window size is given as input, inflate() will return with
+ the error code Z_DATA_ERROR instead of trying to allocate a larger window.
+
+ If next_out is not null, the library will use this buffer for the history
+ buffer; the buffer must either be large enough to hold the entire output
+ data, or have at least 1<<windowBits bytes. If next_out is null, the
+ library will allocate its own buffer (and leave next_out null). next_in
+ need not be provided here but must be provided by the application for the
+ next call of inflate().
+
+ If the history buffer is provided by the application, next_out must
+ never be changed by the application since the decompressor maintains
+ history information inside this buffer from call to call; the application
+ can only reset next_out to the beginning of the history buffer when
+ avail_out is zero and all output has been consumed.
+
+ inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
+ not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
+ windowBits < 8). msg is set to null if there is no error message.
+ inflateInit2 does not perform any decompression: this will be done by
+ inflate().
+*/
+
+extern int EXPORT inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the decompression dictionary (history buffer) from the given
+ uncompressed byte sequence. This function must be called immediately after
+ a call of inflate if this call returned Z_NEED_DICT. The dictionary chosen
+ by the compressor can be determined from the Adler32 value returned by this
+ call of inflate. The compressor and decompressor must use exactly the same
+ dictionary (see deflateSetDictionary).
+
+ inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
+ parameter is invalid (such as NULL dictionary) or the stream state is
+ inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
+ expected one (incorrect Adler32 value). inflateSetDictionary does not
+ perform any decompression: this will be done by subsequent calls of
+ inflate().
+*/
+
+extern int EXPORT inflateSync OF((z_streamp strm));
+/*
+ Skips invalid compressed data until the special marker (see deflate()
+ above) can be found, or until all available input is skipped. No output
+ is provided.
+
+ inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
+ if no more input was provided, Z_DATA_ERROR if no marker has been found,
+ or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
+ case, the application may save the current current value of total_in which
+ indicates where valid compressed data was found. In the error case, the
+ application may repeatedly call inflateSync, providing more input each time,
+ until success or end of the input data.
+*/
+
+extern int EXPORT inflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state.
+ The stream will keep attributes that may have been set by inflateInit2.
+
+ inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+extern int inflateIncomp OF((z_stream *strm));
+/*
+ This function adds the data at next_in (avail_in bytes) to the output
+ history without performing any output. There must be no pending output,
+ and the decompressor must be expecting to see the start of a block.
+ Calling this function is equivalent to decompressing a stored block
+ containing the data at next_in (except that the data is not output).
+*/
+
+ /* utility functions */
+
+/*
+ The following utility functions are implemented on top of the
+ basic stream-oriented functions. To simplify the interface, some
+ default options are assumed (compression level, window size,
+ standard memory allocation functions). The source code of these
+ utility functions can easily be modified if you need special options.
+*/
+
+extern int EXPORT compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Compresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total
+ size of the destination buffer, which must be at least 0.1% larger than
+ sourceLen plus 12 bytes. Upon exit, destLen is the actual size of the
+ compressed buffer.
+ This function can be used to compress a whole file at once if the
+ input file is mmap'ed.
+ compress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer.
+*/
+
+extern int EXPORT uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total
+ size of the destination buffer, which must be large enough to hold the
+ entire uncompressed data. (The size of the uncompressed data must have
+ been saved previously by the compressor and transmitted to the decompressor
+ by some mechanism outside the scope of this compression library.)
+ Upon exit, destLen is the actual size of the compressed buffer.
+ This function can be used to decompress a whole file at once if the
+ input file is mmap'ed.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted.
+*/
+
+
+typedef voidp gzFile;
+
+extern gzFile EXPORT gzopen OF((const char *path, const char *mode));
+/*
+ Opens a gzip (.gz) file for reading or writing. The mode parameter
+ is as in fopen ("rb" or "wb") but can also include a compression level
+ ("wb9"). gzopen can be used to read a file which is not in gzip format;
+ in this case gzread will directly read from the file without decompression.
+ gzopen returns NULL if the file could not be opened or if there was
+ insufficient memory to allocate the (de)compression state; errno
+ can be checked to distinguish the two cases (if errno is zero, the
+ zlib error is Z_MEM_ERROR).
+*/
+
+extern gzFile EXPORT gzdopen OF((int fd, const char *mode));
+/*
+ gzdopen() associates a gzFile with the file descriptor fd. File
+ descriptors are obtained from calls like open, dup, creat, pipe or
+ fileno (in the file has been previously opened with fopen).
+ The mode parameter is as in gzopen.
+ The next call of gzclose on the returned gzFile will also close the
+ file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
+ descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
+ gzdopen returns NULL if there was insufficient memory to allocate
+ the (de)compression state.
+*/
+
+extern int EXPORT gzread OF((gzFile file, voidp buf, unsigned len));
+/*
+ Reads the given number of uncompressed bytes from the compressed file.
+ If the input file was not in gzip format, gzread copies the given number
+ of bytes into the buffer.
+ gzread returns the number of uncompressed bytes actually read (0 for
+ end of file, -1 for error). */
+
+extern int EXPORT gzwrite OF((gzFile file, const voidp buf, unsigned len));
+/*
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of uncompressed bytes actually written
+ (0 in case of error).
+*/
+
+extern int EXPORT gzflush OF((gzFile file, int flush));
+/*
+ Flushes all pending output into the compressed file. The parameter
+ flush is as in the deflate() function. The return value is the zlib
+ error number (see function gzerror below). gzflush returns Z_OK if
+ the flush parameter is Z_FINISH and all output could be flushed.
+ gzflush should be called only when strictly necessary because it can
+ degrade compression.
+*/
+
+extern int EXPORT gzclose OF((gzFile file));
+/*
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state. The return value is the zlib
+ error number (see function gzerror below).
+*/
+
+extern const char * EXPORT gzerror OF((gzFile file, int *errnum));
+/*
+ Returns the error message for the last error which occurred on the
+ given compressed file. errnum is set to zlib error number. If an
+ error occurred in the file system and not in the compression library,
+ errnum is set to Z_ERRNO and the application may consult errno
+ to get the exact error code.
+*/
+
+ /* checksum functions */
+
+/*
+ These functions are not related to compression but are exported
+ anyway because they might be useful in applications using the
+ compression library.
+*/
+
+extern uLong EXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
+
+/*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is NULL, this function returns
+ the required initial value for the checksum.
+ An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ much faster. Usage example:
+
+ uLong adler = adler32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ adler = adler32(adler, buffer, length);
+ }
+ if (adler != original_adler) error();
+*/
+
+extern uLong EXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+/*
+ Update a running crc with the bytes buf[0..len-1] and return the updated
+ crc. If buf is NULL, this function returns the required initial value
+ for the crc. Pre- and post-conditioning (one's complement) is performed
+ within this function so it shouldn't be done by the application.
+ Usage example:
+
+ uLong crc = crc32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ crc = crc32(crc, buffer, length);
+ }
+ if (crc != original_crc) error();
+*/
+
+
+ /* various hacks, don't look :) */
+
+/* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+extern int EXPORT deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+extern int EXPORT inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+extern int EXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel, int strategy,
+ const char *version, int stream_size));
+extern int EXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+#define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
+#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, sizeof(z_stream))
+#define inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
+
+#if !defined(_Z_UTIL_H) && !defined(NO_DUMMY_DECL)
+ struct internal_state {int dummy;}; /* hack for buggy compilers */
+#endif
+
+uLongf *get_crc_table OF((void)); /* can be used by asm versions of crc32() */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ZLIB_H */
+/* --- zlib.h */
diff --git a/mdk-stage1/ppp/configure b/mdk-stage1/ppp/configure
new file mode 100755
index 000000000..19fc3c11d
--- /dev/null
+++ b/mdk-stage1/ppp/configure
@@ -0,0 +1,141 @@
+#!/bin/sh
+# $Id: configure 6001 2001-06-11 11:44:34Z gc $
+
+# if [ -d /NextApps ]; then
+# system="NeXTStep"
+# else
+ system=`uname -s`
+ release=`uname -r`
+ machine=`uname -p`
+ arch=`uname -m`
+# fi
+state="unknown"
+
+case $system in
+ Linux)
+ makext="linux";
+ ksrc="linux";
+ state="known";;
+ SunOS)
+ case $release in
+# [0-3]*) state="ancient";;
+# 4*) state="known"; ksrc="sunos4"; makext="sunos4";;
+ 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";;
+ 5.[7-9]*) state="known"; ksrc="solaris"; makext="sol2";
+ case $arch in
+ sun4u) lp64='y';;
+ *) ;;
+ esac;;
+ esac;;
+ NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
+ state="notincluded";;
+# NetBSD)
+# makext="bsd";
+# case $release in
+# 0.*) state="ancient";;
+# 1.0*) state="ancient";;
+# 1.1*) state="known"; ksrc="netbsd-1.1";;
+# 1.2*) state="known"; ksrc="netbsd-1.2"; makext="netbsd-1.2";;
+# 1.[3-9]*|[2-9]*)
+# state="late"; ksrc="netbsd-1.2";;
+# esac;;
+# ULTRIX)
+# makext="ultrix";
+# case $release in
+# [0-3]*) state="ancient";;
+# 4.[01]*) state="early"; ksrc="ultrix";;
+# 4.[234]) state="known"; ksrc="ultrix";;
+# esac;;
+# OSF1)
+# makext="osf";
+# case $release in
+# V1.*) state="neolithic"; ksrc="osf1";;
+# V[23].*) state="neolithic"; ksrc="osf1";;
+# V4.*) state="known"; ksrc="osf1";;
+# V[5-9]*) state="late"; ksrc="osf1";;
+# esac;;
+# FreeBSD)
+# makext="bsd";
+# case $release in
+# 1.*) state="known"; ksrc="freebsd-old";;
+# 2.[01]*) state="known"; ksrc="freebsd-2.0";;
+# 2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
+# 2.2.8*) state="known"; ksrc="freebsd-2.2.8";;
+# 3.[0-1]*) state="known"; ksrc="freebsd-3.0";;
+# esac;;
+# NeXTStep)
+# makext="NeXT";
+# ksrc="NeXT";
+# state="known";;
+# SINIX-?)
+# case $release in
+# 5.4[01]) state=known; ksrc=svr4; makext=svr4;;
+# 5.4[2-9]) state=late; ksrc=svr4; makext=svr4;;
+# esac;;
+# # Intel SVR4 systems come with a bug in the uname program. Unless
+# # your provider fixed the bug, or you get a fix for it, uname -S will
+# # overwrite the system name with the node name!
+# UNIX_SV|UNIX_System_V|`uname -n`)
+# case $release in
+# 4.0) state=known; ksrc=svr4; makext=svr4;;
+# 4.2) state=late; ksrc=svr4; makext=svr4;;
+# esac;;
+esac
+
+if [ -d "$ksrc" ]; then :; else
+ state="notincluded"
+ unset ksrc
+fi
+
+case $state in
+ neolithic)
+ echo "This is a newer release on an outdated OS ($system)."
+ echo " This software may or may not work on this OS."
+ echo " You may want to download an older version of PPP for this OS.";;
+ ancient)
+ echo "This is an old release of a supported OS ($system)."
+ echo "This software cannot be used as-is on this system,"
+ echo "but you may be able to port it. Good luck!"
+ exit;;
+ early)
+ echo "This is an old release of a supported OS ($system)."
+ echo "This software should install and run on this system,"
+ echo "but it hasn't been tested.";;
+ late)
+ echo "This is a newer release of $system than is supported by"
+ echo "this software. It may or may not work.";;
+ unknown)
+ echo "This software has not been ported to this system. Sorry.";;
+ notincluded)
+ echo "Support for this system has not been included"
+ echo "in this distribution. Sorry.";;
+esac
+
+orig_makext=$makext
+
+if [ -d "$ksrc" ]; then
+ echo "Creating links to Makefiles."
+ rm -f Makefile
+ ln -s $ksrc/Makefile.top Makefile
+ echo " Makefile -> $ksrc/Makefile.top"
+ if [ "$ksrc" = solaris ]; then
+ # Point to 64-bit Makefile extension
+ if [ "$lp64" = y ]; then
+ makext=$makext-64
+ fi
+ rm -f $ksrc/Makefile
+ ln -s Makefile.$makext $ksrc/Makefile
+ echo " $ksrc/Makefile -> Makefile.$makext"
+ # Restore extension
+ if [ "$lp64" = y ]; then
+ makext=$orig_makext
+ fi
+ fi
+ for dir in pppd pppstats chat pppdump; do
+ rm -f $dir/Makefile
+ if [ -f $dir/Makefile.$makext ]; then
+ ln -s Makefile.$makext $dir/Makefile
+ echo " $dir/Makefile -> Makefile.$makext"
+ fi
+ done
+fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux b/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
new file mode 100644
index 000000000..7eb217dac
--- /dev/null
+++ b/mdk-stage1/ppp/contrib/pppgetpass/Makefile.linux
@@ -0,0 +1,16 @@
+all: pppgetpass.vt pppgetpass.gtk
+
+pppgetpass.vt: pppgetpass.vt.o
+
+pppgetpass.gtk: pppgetpass.gtk.o
+ $(CC) $(LDFLAGS) pppgetpass.gtk.o `gtk-config --libs` -o pppgetpass.gtk
+pppgetpass.gtk.o: pppgetpass.gtk.c
+ $(CC) $(CFLAGS) -c pppgetpass.gtk.c `gtk-config --cflags`
+
+install: all
+ install -m 755 pppgetpass.sh /usr/bin/pppgetpass
+ install -m 4755 -o root -g root pppgetpass.vt /usr/bin/
+ install -m 755 -o root -g root pppgetpass.gtk /usr/X11/bin/
+
+clean:
+ rm -f *.o pppgetpass.gtk pppgetpass.vt core
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8 b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
new file mode 100644
index 000000000..ade576970
--- /dev/null
+++ b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.8
@@ -0,0 +1,18 @@
+.TH PPPGETPASS 8 "26 Sep 1999"
+.SH NAME
+pppgetpass \- prompt for PAP password
+.SH SYNOPSIS
+.B pppgetpass
+.I client server fd
+.SH DESCRIPTION
+.B pppgetpass
+the outer half of a plugin for PAP password prompting in pppd.
+If the peer requires PAP, and the
+.B passprompt.so
+plugin is loaded into pppd, it will run
+.B /usr/sbin/pppgetpass
+(or another program specified by the
+.B promptprog
+option) to prompt the user for the password.
+.SH SEE ALSO
+pppd(8)
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
new file mode 100644
index 000000000..48ca04202
--- /dev/null
+++ b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.gtk.c
@@ -0,0 +1,92 @@
+#include <glib.h>
+#include <gdk/gdk.h>
+#include <gtk/gtkwindow.h>
+#include <gtk/gtkmain.h>
+#include <gtk/gtkbutton.h>
+#include <gtk/gtkvbox.h>
+#include <gtk/gtklabel.h>
+#include <gtk/gtkentry.h>
+#include <gtk/gtksignal.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <syslog.h>
+
+int outfd;
+int err;
+
+static void okpressed(void *widget, void *clientdata)
+{
+ GtkWidget *answer=clientdata;
+ gchar *pass;
+ int passlen;
+ ssize_t wrote;
+ (void)widget;
+
+ pass=gtk_entry_get_text(GTK_ENTRY(answer));
+
+ passlen=strlen(pass);
+ if(!passlen)
+ return;
+
+ if((wrote=write(outfd, pass, passlen))!=passlen) {
+ if(wrote<0)
+ syslog(LOG_ERR, "write error on outpipe: %m");
+ else
+ syslog(LOG_ERR, "short write on outpipe");
+ err=1;
+ }
+ gtk_main_quit();
+}
+
+int main(int argc, char **argv)
+{
+ GtkWidget *mainwindow, *vbox, *question, *answer, *ok;
+ char buf[1024];
+ gtk_init(&argc, &argv);
+
+ openlog(argv[0], LOG_PID, LOG_DAEMON);
+ if(argc!=4) {
+ syslog(LOG_WARNING, "Usage error");
+ return 1;
+ }
+ outfd=atoi(argv[3]);
+ mainwindow=gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title(GTK_WINDOW(mainwindow), "pppgetpass");
+ gtk_signal_connect(GTK_OBJECT(mainwindow), "destroy",
+ GTK_SIGNAL_FUNC(gtk_main_quit), 0);
+
+ vbox=gtk_vbox_new(FALSE, 5);
+ gtk_container_add(GTK_CONTAINER(mainwindow), vbox);
+ gtk_widget_show(vbox);
+
+ if(argv[1][0] && argv[2][0])
+ snprintf(buf, sizeof buf, "Password for PPP client %s on server %s: ", argv[1], argv[2]);
+ else if(argv[1][0] && !argv[2][0])
+ snprintf(buf, sizeof buf, "Password for PPP client %s: ", argv[1]);
+ else if(!argv[1][0] && argv[2][0])
+ snprintf(buf, sizeof buf, "Password for PPP on server %s: ", argv[2]);
+ else
+ snprintf(buf, sizeof buf, "Enter PPP password: ");
+ question=gtk_label_new(buf);
+ gtk_box_pack_start(GTK_BOX(vbox), question, FALSE, TRUE, 0);
+ gtk_widget_show(question);
+
+ answer=gtk_entry_new();
+ gtk_entry_set_visibility(GTK_ENTRY(answer), 0);
+ gtk_box_pack_start(GTK_BOX(vbox), answer, FALSE, TRUE, 0);
+ gtk_widget_show(answer);
+
+ ok=gtk_button_new_with_label("OK");
+ gtk_box_pack_start(GTK_BOX(vbox), ok, FALSE, TRUE, 0);
+ gtk_signal_connect(GTK_OBJECT(ok), "clicked",
+ GTK_SIGNAL_FUNC(okpressed), answer);
+ gtk_widget_show(ok);
+
+ gtk_widget_show(mainwindow);
+ gtk_main();
+
+ return err;
+}
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
new file mode 100755
index 000000000..09c480519
--- /dev/null
+++ b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if [ -z "$DISPLAY" ]; then
+ exec pppgetpass.vt "$@"
+else
+ exec pppgetpass.gtk "$@"
+fi
diff --git a/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
new file mode 100644
index 000000000..a1520883c
--- /dev/null
+++ b/mdk-stage1/ppp/contrib/pppgetpass/pppgetpass.vt.c
@@ -0,0 +1,218 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <syslog.h>
+#include <termios.h>
+#include <sys/vt.h>
+
+static int console_owner(uid_t, int);
+
+int main(int argc, char **argv)
+{
+ int console;
+ uid_t uid;
+ struct vt_stat origstate;
+ int openvtnum;
+ char openvtname[256];
+ int openvt;
+ gid_t gid;
+ int chowned;
+ FILE *fp;
+ struct termios t;
+ char pass[256], *nl;
+ int outfd, passlen;
+ ssize_t wrote;
+ console=open("/dev/console", O_RDWR);
+
+ uid=getuid();
+ gid=getgid();
+ seteuid(uid);
+
+ openlog(argv[0], LOG_PID, LOG_DAEMON);
+
+ if(argc!=4) {
+ syslog(LOG_WARNING, "Usage error");
+ return 1;
+ }
+
+ if(console<0) {
+ syslog(LOG_ERR, "open(/dev/console): %m");
+ return 1;
+ }
+
+ if(ioctl(console, VT_GETSTATE, &origstate)<0) {
+ syslog(LOG_ERR, "VT_GETSTATE: %m");
+ return 1;
+ }
+
+ if(uid) {
+ if(!console_owner(uid, origstate.v_active)) {
+ int i;
+ for(i=0;i<64;++i) {
+ if(i!=origstate.v_active && console_owner(uid, i))
+ break;
+ }
+ if(i==64) {
+ syslog(LOG_WARNING, "run by uid %lu not at console", (unsigned long)uid);
+ return 1;
+ }
+ }
+ }
+
+ if(ioctl(console, VT_OPENQRY, &openvtnum)<0) {
+ syslog(LOG_ERR, "VT_OPENQRY: %m");
+ return 1;
+ }
+ if(openvtnum==-1) {
+ syslog(LOG_ERR, "No free VTs");
+ return 1;
+ }
+
+ snprintf(openvtname, sizeof openvtname, "/dev/tty%d", openvtnum);
+ seteuid(0);
+ openvt=open(openvtname, O_RDWR);
+ if(openvt<0) {
+ seteuid(uid);
+ syslog(LOG_ERR, "open(%s): %m", openvtname);
+ return 1;
+ }
+
+ chowned=fchown(openvt, uid, gid);
+ if(chowned<0) {
+ seteuid(uid);
+ syslog(LOG_ERR, "fchown(%s): %m", openvtname);
+ return 1;
+ }
+
+ close(console);
+
+ if(ioctl(openvt, VT_ACTIVATE, openvtnum)<0) {
+ seteuid(uid);
+ syslog(LOG_ERR, "VT_ACTIVATE(%d): %m", openvtnum);
+ return 1;
+ }
+
+ while(ioctl(openvt, VT_WAITACTIVE, openvtnum)<0) {
+ if(errno!=EINTR) {
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "VT_WAITACTIVE(%d): %m", openvtnum);
+ return 1;
+ }
+ }
+
+ seteuid(uid);
+ fp=fdopen(openvt, "r+");
+ if(!fp) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "fdopen(%s): %m", openvtname);
+ return 1;
+ }
+
+ if(tcgetattr(openvt, &t)<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "tcgetattr(%s): %m", openvtname);
+ return 1;
+ }
+ t.c_lflag &= ~ECHO;
+ if(tcsetattr(openvt, TCSANOW, &t)<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "tcsetattr(%s): %m", openvtname);
+ return 1;
+ }
+
+ if(fprintf(fp, "\033[2J\033[H")<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "write error on %s: %m", openvtname);
+ return 1;
+ }
+ if(argv[1][0] && argv[2][0]) {
+ if(fprintf(fp, "Password for PPP client %s on server %s: ", argv[1], argv[2])<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "write error on %s: %m", openvtname);
+ return 1;
+ }
+ } else if(argv[1][0] && !argv[2][0]) {
+ if(fprintf(fp, "Password for PPP client %s: ", argv[1])<0) {
+ syslog(LOG_ERR, "write error on %s: %m", openvtname);
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ return 1;
+ }
+ } else if(!argv[1][0] && argv[2][0]) {
+ if(fprintf(fp, "Password for PPP on server %s: ", argv[2])<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "write error on %s: %m", openvtname);
+ return 1;
+ }
+ } else {
+ if(fprintf(fp, "Enter PPP password: ")<0) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ syslog(LOG_ERR, "write error on %s: %m", openvtname);
+ return 1;
+ }
+ }
+
+ if(!fgets(pass, sizeof pass, fp)) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ if(ferror(fp)) {
+ syslog(LOG_ERR, "read error on %s: %m", openvtname);
+ }
+ return 1;
+ }
+ if((nl=strchr(pass, '\n')))
+ *nl=0;
+ passlen=strlen(pass);
+
+ outfd=atoi(argv[3]);
+ if((wrote=write(outfd, pass, passlen))!=passlen) {
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ if(wrote<0)
+ syslog(LOG_ERR, "write error on outpipe: %m");
+ else
+ syslog(LOG_ERR, "short write on outpipe");
+ return 1;
+ }
+
+ seteuid(0);
+ ioctl(openvt, VT_ACTIVATE, origstate.v_active);
+ seteuid(uid);
+ return 0;
+}
+
+static int console_owner(uid_t uid, int cons)
+{
+ char name[256];
+ struct stat st;
+ snprintf(name, sizeof name, "/dev/tty%d", cons);
+ if(stat(name, &st)<0) {
+ if(errno!=ENOENT)
+ syslog(LOG_ERR, "stat(%s): %m", name);
+ return 0;
+ }
+ return uid==st.st_uid;
+}
diff --git a/mdk-stage1/ppp/etc.ppp/chap-secrets b/mdk-stage1/ppp/etc.ppp/chap-secrets
new file mode 100644
index 000000000..7d1c3cd7c
--- /dev/null
+++ b/mdk-stage1/ppp/etc.ppp/chap-secrets
@@ -0,0 +1,2 @@
+# Secrets for authentication using CHAP
+# client server secret IP addresses
diff --git a/mdk-stage1/ppp/etc.ppp/options b/mdk-stage1/ppp/etc.ppp/options
new file mode 100644
index 000000000..0f77a9aa0
--- /dev/null
+++ b/mdk-stage1/ppp/etc.ppp/options
@@ -0,0 +1,5 @@
+lock
+noauth
+noipdefault
+usepeerdns
+
diff --git a/mdk-stage1/ppp/etc.ppp/options.options b/mdk-stage1/ppp/etc.ppp/options.options
new file mode 100644
index 000000000..4b67b6a0d
--- /dev/null
+++ b/mdk-stage1/ppp/etc.ppp/options.options
@@ -0,0 +1 @@
+lock
diff --git a/mdk-stage1/ppp/etc.ppp/pap-secrets b/mdk-stage1/ppp/etc.ppp/pap-secrets
new file mode 100644
index 000000000..f8b7dce3c
--- /dev/null
+++ b/mdk-stage1/ppp/etc.ppp/pap-secrets
@@ -0,0 +1,2 @@
+# Secrets for authentication using PAP
+# client server secret IP addresses
diff --git a/mdk-stage1/ppp/include/linux/if_ppp.h b/mdk-stage1/ppp/include/linux/if_ppp.h
new file mode 100644
index 000000000..fd3e27bf4
--- /dev/null
+++ b/mdk-stage1/ppp/include/linux/if_ppp.h
@@ -0,0 +1,155 @@
+/* $Id: if_ppp.h 6001 2001-06-11 11:44:34Z gc $ */
+
+/*
+ * if_ppp.h - Point-to-Point Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+/*
+ * ==FILEVERSION 20000724==
+ *
+ * NOTE TO MAINTAINERS:
+ * If you modify this file at all, please set the above date.
+ * if_ppp.h is shipped with a PPP distribution as well as with the kernel;
+ * if everyone increases the FILEVERSION number above, then scripts
+ * can do the right thing when deciding whether to install a new if_ppp.h
+ * file. Don't change the format of that line otherwise, so the
+ * installation script can recognize it.
+ */
+
+#ifndef _IF_PPP_H_
+#define _IF_PPP_H_
+
+/*
+ * Packet sizes
+ */
+
+#define PPP_MTU 1500 /* Default MTU (size of Info field) */
+#define PPP_MAXMRU 65000 /* Largest MRU we allow */
+#define PROTO_IPX 0x002b /* protocol numbers */
+#define PROTO_DNA_RT 0x0027 /* DNA Routing */
+
+
+/*
+ * Bit definitions for flags.
+ */
+
+#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
+#define SC_COMP_AC 0x00000002 /* header compression (output) */
+#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
+#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
+#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
+#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
+#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
+#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
+#define SC_ENABLE_IP 0x00000100 /* IP packets may be exchanged */
+#define SC_LOOP_TRAFFIC 0x00000200 /* send traffic to pppd */
+#define SC_MULTILINK 0x00000400 /* do multilink encapsulation */
+#define SC_MP_SHORTSEQ 0x00000800 /* use short MP sequence numbers */
+#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
+#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
+#define SC_MP_XSHORTSEQ 0x00004000 /* transmit short MP seq numbers */
+#define SC_DEBUG 0x00010000 /* enable debug messages */
+#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
+#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
+#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
+#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
+#define SC_SYNC 0x00200000 /* synchronous serial mode */
+#define SC_MASK 0x0f200fff /* bits that user can change */
+
+/* state bits */
+#define SC_XMIT_BUSY 0x10000000 /* (used by isdn_ppp?) */
+#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
+#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
+#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
+#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
+#define SC_DC_FERROR 0x00800000 /* fatal decomp error detected */
+#define SC_DC_ERROR 0x00400000 /* non-fatal decomp error detected */
+
+/*
+ * Ioctl definitions.
+ */
+
+struct npioctl {
+ int protocol; /* PPP protocol, e.g. PPP_IP */
+ enum NPmode mode;
+};
+
+/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
+struct ppp_option_data {
+ __u8 *ptr;
+ __u32 length;
+ int transmit;
+};
+
+struct ifpppstatsreq {
+ struct ifreq b;
+ struct ppp_stats stats; /* statistic information */
+};
+
+struct ifpppcstatsreq {
+ struct ifreq b;
+ struct ppp_comp_stats stats;
+};
+
+#define ifr__name b.ifr_ifrn.ifrn_name
+#define stats_ptr b.ifr_ifru.ifru_data
+
+/*
+ * Ioctl definitions.
+ */
+
+#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
+#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
+#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
+#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
+#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
+#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
+#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
+#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
+#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
+#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
+#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
+#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
+#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
+#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
+#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
+#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog) /* set pass filter */
+#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog) /* set active filt */
+#define PPPIOCGDEBUG _IOR('t', 65, int) /* Read debug level */
+#define PPPIOCSDEBUG _IOW('t', 64, int) /* Set debug level */
+#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) /* get idle time */
+#define PPPIOCNEWUNIT _IOWR('t', 62, int) /* create new ppp unit */
+#define PPPIOCATTACH _IOW('t', 61, int) /* attach to ppp unit */
+#define PPPIOCDETACH _IOW('t', 60, int) /* detach from ppp unit/chan */
+#define PPPIOCSMRRU _IOW('t', 59, int) /* set multilink MRU */
+#define PPPIOCCONNECT _IOW('t', 58, int) /* connect channel to unit */
+#define PPPIOCDISCONN _IO('t', 57) /* disconnect channel */
+#define PPPIOCATTCHAN _IOW('t', 56, int) /* attach to ppp channel */
+#define PPPIOCGCHAN _IOR('t', 55, int) /* get ppp channel number */
+
+#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
+#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) /* NEVER change this!! */
+#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
+
+#if !defined(ifr_mtu)
+#define ifr_mtu ifr_ifru.ifru_metric
+#endif
+
+#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/linux/if_pppvar.h b/mdk-stage1/ppp/include/linux/if_pppvar.h
new file mode 100644
index 000000000..b2485cd9d
--- /dev/null
+++ b/mdk-stage1/ppp/include/linux/if_pppvar.h
@@ -0,0 +1,138 @@
+/* From: if_pppvar.h,v 1.2 1995/06/12 11:36:51 paulus Exp */
+/*
+ * if_pppvar.h - private structures and declarations for PPP.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+ * ==FILEVERSION 990911==
+ *
+ * NOTE TO MAINTAINERS:
+ * If you modify this file at all, please set the above date.
+ * if_pppvar.h is shipped with a PPP distribution as well as with the kernel;
+ * if everyone increases the FILEVERSION number above, then scripts
+ * can do the right thing when deciding whether to install a new if_pppvar.h
+ * file. Don't change the format of that line otherwise, so the
+ * installation script can recognize it.
+ */
+
+/*
+ * Supported network protocols. These values are used for
+ * indexing sc_npmode.
+ */
+
+#define NP_IP 0 /* Internet Protocol */
+#define NP_IPX 1 /* IPX protocol */
+#define NP_AT 2 /* Appletalk protocol */
+#define NP_IPV6 3 /* Internet Protocol */
+#define NUM_NP 4 /* Number of NPs. */
+
+#define OBUFSIZE 256 /* # chars of output buffering */
+
+/*
+ * Structure describing each ppp unit.
+ */
+
+struct ppp {
+ int magic; /* magic value for structure */
+ struct ppp *next; /* unit with next index */
+ unsigned long inuse; /* are we allocated? */
+ int line; /* network interface unit # */
+ __u32 flags; /* miscellaneous control flags */
+ int mtu; /* maximum xmit frame size */
+ int mru; /* maximum receive frame size */
+ struct slcompress *slcomp; /* for TCP header compression */
+ struct sk_buff_head xmt_q; /* frames to send from pppd */
+ struct sk_buff_head rcv_q; /* frames for pppd to read */
+ unsigned long xmit_busy; /* bit 0 set when xmitter busy */
+
+ /* Information specific to using ppp on async serial lines. */
+ struct tty_struct *tty; /* ptr to TTY structure */
+ struct tty_struct *backup_tty; /* TTY to use if tty gets closed */
+ __u8 escape; /* 0x20 if prev char was PPP_ESC */
+ __u8 toss; /* toss this frame */
+ volatile __u8 tty_pushing; /* internal state flag */
+ volatile __u8 woke_up; /* internal state flag */
+ __u32 xmit_async_map[8]; /* 1 bit means that given control
+ character is quoted on output*/
+ __u32 recv_async_map; /* 1 bit means that given control
+ character is ignored on input*/
+ __u32 bytes_sent; /* Bytes sent on frame */
+ __u32 bytes_rcvd; /* Bytes recvd on frame */
+
+ /* Async transmission information */
+ struct sk_buff *tpkt; /* frame currently being sent */
+ int tpkt_pos; /* how much of it we've done */
+ __u16 tfcs; /* FCS so far for it */
+ unsigned char *optr; /* where we're up to in sending */
+ unsigned char *olim; /* points past last valid char */
+
+ /* Async reception information */
+ struct sk_buff *rpkt; /* frame currently being rcvd */
+ __u16 rfcs; /* FCS so far of rpkt */
+
+ /* Queues for select() functionality */
+ struct wait_queue *read_wait; /* queue for reading processes */
+
+ /* info for detecting idle channels */
+ unsigned long last_xmit; /* time of last transmission */
+ unsigned long last_recv; /* time last packet received */
+
+ /* Statistic information */
+ struct pppstat stats; /* statistic information */
+
+ /* PPP compression protocol information */
+ struct compressor *sc_xcomp; /* transmit compressor */
+ void *sc_xc_state; /* transmit compressor state */
+ struct compressor *sc_rcomp; /* receive decompressor */
+ void *sc_rc_state; /* receive decompressor state */
+
+ enum NPmode sc_npmode[NUM_NP]; /* what to do with each NP */
+ int sc_xfer; /* PID of reserved PPP table */
+ char name[8]; /* space for unit name */
+ struct device dev; /* net device structure */
+ struct enet_statistics estats; /* more detailed stats */
+
+ /* tty output buffer */
+ unsigned char obuf[OBUFSIZE]; /* buffer for characters to send */
+};
+
+#define PPP_MAGIC 0x5002
+#define PPP_VERSION "2.3.11"
diff --git a/mdk-stage1/ppp/include/linux/ppp-comp.h b/mdk-stage1/ppp/include/linux/ppp-comp.h
new file mode 100644
index 000000000..646f8da19
--- /dev/null
+++ b/mdk-stage1/ppp/include/linux/ppp-comp.h
@@ -0,0 +1,203 @@
+/*
+ * ppp-comp.h - Definitions for doing PPP packet compression.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp-comp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * ==FILEVERSION 980319==
+ *
+ * NOTE TO MAINTAINERS:
+ * If you modify this file at all, please set the above date.
+ * ppp-comp.h is shipped with a PPP distribution as well as with the kernel;
+ * if everyone increases the FILEVERSION number above, then scripts
+ * can do the right thing when deciding whether to install a new ppp-comp.h
+ * file. Don't change the format of that line otherwise, so the
+ * installation script can recognize it.
+ */
+
+#ifndef _NET_PPP_COMP_H
+#define _NET_PPP_COMP_H
+
+/*
+ * The following symbols control whether we include code for
+ * various compression methods.
+ */
+
+#ifndef DO_BSD_COMPRESS
+#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
+#endif
+#ifndef DO_DEFLATE
+#define DO_DEFLATE 1 /* by default, include Deflate */
+#endif
+#define DO_PREDICTOR_1 0
+#define DO_PREDICTOR_2 0
+
+/*
+ * Structure giving methods for compression/decompression.
+ */
+
+struct compressor {
+ int compress_proto; /* CCP compression protocol number */
+
+ /* Allocate space for a compressor (transmit side) */
+ void *(*comp_alloc) (unsigned char *options, int opt_len);
+
+ /* Free space used by a compressor */
+ void (*comp_free) (void *state);
+
+ /* Initialize a compressor */
+ int (*comp_init) (void *state, unsigned char *options,
+ int opt_len, int unit, int opthdr, int debug);
+
+ /* Reset a compressor */
+ void (*comp_reset) (void *state);
+
+ /* Compress a packet */
+ int (*compress) (void *state, unsigned char *rptr,
+ unsigned char *obuf, int isize, int osize);
+
+ /* Return compression statistics */
+ void (*comp_stat) (void *state, struct compstat *stats);
+
+ /* Allocate space for a decompressor (receive side) */
+ void *(*decomp_alloc) (unsigned char *options, int opt_len);
+
+ /* Free space used by a decompressor */
+ void (*decomp_free) (void *state);
+
+ /* Initialize a decompressor */
+ int (*decomp_init) (void *state, unsigned char *options,
+ int opt_len, int unit, int opthdr, int mru,
+ int debug);
+
+ /* Reset a decompressor */
+ void (*decomp_reset) (void *state);
+
+ /* Decompress a packet. */
+ int (*decompress) (void *state, unsigned char *ibuf, int isize,
+ unsigned char *obuf, int osize);
+
+ /* Update state for an incompressible packet received */
+ void (*incomp) (void *state, unsigned char *ibuf, int icnt);
+
+ /* Return decompression statistics */
+ void (*decomp_stat) (void *state, struct compstat *stats);
+};
+
+/*
+ * The return value from decompress routine is the length of the
+ * decompressed packet if successful, otherwise DECOMP_ERROR
+ * or DECOMP_FATALERROR if an error occurred.
+ *
+ * We need to make this distinction so that we can disable certain
+ * useful functionality, namely sending a CCP reset-request as a result
+ * of an error detected after decompression. This is to avoid infringing
+ * a patent held by Motorola.
+ * Don't you just lurve software patents.
+ */
+
+#define DECOMP_ERROR -1 /* error detected before decomp. */
+#define DECOMP_FATALERROR -2 /* error detected after decomp. */
+
+/*
+ * CCP codes.
+ */
+
+#define CCP_CONFREQ 1
+#define CCP_CONFACK 2
+#define CCP_TERMREQ 5
+#define CCP_TERMACK 6
+#define CCP_RESETREQ 14
+#define CCP_RESETACK 15
+
+/*
+ * Max # bytes for a CCP option
+ */
+
+#define CCP_MAX_OPTION_LENGTH 32
+
+/*
+ * Parts of a CCP packet.
+ */
+
+#define CCP_CODE(dp) ((dp)[0])
+#define CCP_ID(dp) ((dp)[1])
+#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
+#define CCP_HDRLEN 4
+
+#define CCP_OPT_CODE(dp) ((dp)[0])
+#define CCP_OPT_LENGTH(dp) ((dp)[1])
+#define CCP_OPT_MINLEN 2
+
+/*
+ * Definitions for BSD-Compress.
+ */
+
+#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
+#define CILEN_BSD_COMPRESS 3 /* length of config. option */
+
+/* Macros for handling the 3rd byte of the BSD-Compress config option. */
+#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
+#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
+#define BSD_CURRENT_VERSION 1 /* current version number */
+#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
+
+#define BSD_MIN_BITS 9 /* smallest code size supported */
+#define BSD_MAX_BITS 15 /* largest code size supported */
+
+/*
+ * Definitions for Deflate.
+ */
+
+#define CI_DEFLATE 26 /* config option for Deflate */
+#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
+#define CILEN_DEFLATE 4 /* length of its config option */
+
+#define DEFLATE_MIN_SIZE 8
+#define DEFLATE_MAX_SIZE 15
+#define DEFLATE_METHOD_VAL 8
+#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
+#define DEFLATE_METHOD(x) ((x) & 0x0F)
+#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
+ + DEFLATE_METHOD_VAL)
+#define DEFLATE_CHK_SEQUENCE 0
+
+/*
+ * Definitions for other, as yet unsupported, compression methods.
+ */
+
+#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
+#define CILEN_PREDICTOR_1 2 /* length of its config option */
+#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
+#define CILEN_PREDICTOR_2 2 /* length of its config option */
+
+#ifdef __KERNEL__
+extern int ppp_register_compressor(struct compressor *);
+extern void ppp_unregister_compressor(struct compressor *);
+#endif /* __KERNEL__ */
+
+#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/linux/ppp_defs.h b/mdk-stage1/ppp/include/linux/ppp_defs.h
new file mode 100644
index 000000000..6941f1653
--- /dev/null
+++ b/mdk-stage1/ppp/include/linux/ppp_defs.h
@@ -0,0 +1,185 @@
+/* $Id: ppp_defs.h 6001 2001-06-11 11:44:34Z gc $ */
+
+/*
+ * ppp_defs.h - PPP definitions.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ */
+
+/*
+ * ==FILEVERSION 20000114==
+ *
+ * NOTE TO MAINTAINERS:
+ * If you modify this file at all, please set the above date.
+ * ppp_defs.h is shipped with a PPP distribution as well as with the kernel;
+ * if everyone increases the FILEVERSION number above, then scripts
+ * can do the right thing when deciding whether to install a new ppp_defs.h
+ * file. Don't change the format of that line otherwise, so the
+ * installation script can recognize it.
+ */
+
+#ifndef _PPP_DEFS_H_
+#define _PPP_DEFS_H_
+
+/*
+ * The basic PPP frame.
+ */
+#define PPP_HDRLEN 4 /* octets for standard ppp header */
+#define PPP_FCSLEN 2 /* octets for FCS */
+#define PPP_MRU 1500 /* default MRU = max length of info field */
+
+#define PPP_ADDRESS(p) (((__u8 *)(p))[0])
+#define PPP_CONTROL(p) (((__u8 *)(p))[1])
+#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3])
+
+/*
+ * Significant octet values.
+ */
+#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
+#define PPP_UI 0x03 /* Unnumbered Information */
+#define PPP_FLAG 0x7e /* Flag Sequence */
+#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
+#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
+
+/*
+ * Protocol field values.
+ */
+#define PPP_IP 0x21 /* Internet Protocol */
+#define PPP_AT 0x29 /* AppleTalk Protocol */
+#define PPP_IPX 0x2b /* IPX protocol */
+#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
+#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
+#define PPP_MP 0x3d /* Multilink protocol */
+#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
+#define PPP_COMPFRAG 0xfb /* fragment compressed below bundle */
+#define PPP_COMP 0xfd /* compressed packet */
+#define PPP_IPCP 0x8021 /* IP Control Protocol */
+#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
+#define PPP_IPXCP 0x802b /* IPX Control Protocol */
+#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
+#define PPP_CCPFRAG 0x80fb /* CCP at link level (below MP bundle) */
+#define PPP_CCP 0x80fd /* Compression Control Protocol */
+#define PPP_LCP 0xc021 /* Link Control Protocol */
+#define PPP_PAP 0xc023 /* Password Authentication Protocol */
+#define PPP_LQR 0xc025 /* Link Quality Report protocol */
+#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
+#define PPP_CBCP 0xc029 /* Callback Control Protocol */
+
+/*
+ * Values for FCS calculations.
+ */
+
+#define PPP_INITFCS 0xffff /* Initial FCS value */
+#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
+#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
+
+/*
+ * Extended asyncmap - allows any character to be escaped.
+ */
+
+typedef __u32 ext_accm[8];
+
+/*
+ * What to do with network protocol (NP) packets.
+ */
+enum NPmode {
+ NPMODE_PASS, /* pass the packet through */
+ NPMODE_DROP, /* silently drop the packet */
+ NPMODE_ERROR, /* return an error */
+ NPMODE_QUEUE /* save it up for later. */
+};
+
+/*
+ * Statistics for LQRP and pppstats
+ */
+struct pppstat {
+ __u32 ppp_discards; /* # frames discarded */
+
+ __u32 ppp_ibytes; /* bytes received */
+ __u32 ppp_ioctects; /* bytes received not in error */
+ __u32 ppp_ipackets; /* packets received */
+ __u32 ppp_ierrors; /* receive errors */
+ __u32 ppp_ilqrs; /* # LQR frames received */
+
+ __u32 ppp_obytes; /* raw bytes sent */
+ __u32 ppp_ooctects; /* frame bytes sent */
+ __u32 ppp_opackets; /* packets sent */
+ __u32 ppp_oerrors; /* transmit errors */
+ __u32 ppp_olqrs; /* # LQR frames sent */
+};
+
+struct vjstat {
+ __u32 vjs_packets; /* outbound packets */
+ __u32 vjs_compressed; /* outbound compressed packets */
+ __u32 vjs_searches; /* searches for connection state */
+ __u32 vjs_misses; /* times couldn't find conn. state */
+ __u32 vjs_uncompressedin; /* inbound uncompressed packets */
+ __u32 vjs_compressedin; /* inbound compressed packets */
+ __u32 vjs_errorin; /* inbound unknown type packets */
+ __u32 vjs_tossed; /* inbound packets tossed because of error */
+};
+
+struct compstat {
+ __u32 unc_bytes; /* total uncompressed bytes */
+ __u32 unc_packets; /* total uncompressed packets */
+ __u32 comp_bytes; /* compressed bytes */
+ __u32 comp_packets; /* compressed packets */
+ __u32 inc_bytes; /* incompressible bytes */
+ __u32 inc_packets; /* incompressible packets */
+
+ /* the compression ratio is defined as in_count / bytes_out */
+ __u32 in_count; /* Bytes received */
+ __u32 bytes_out; /* Bytes transmitted */
+
+ double ratio; /* not computed in kernel. */
+};
+
+struct ppp_stats {
+ struct pppstat p; /* basic PPP statistics */
+ struct vjstat vj; /* VJ header compression statistics */
+};
+
+struct ppp_comp_stats {
+ struct compstat c; /* packet compression statistics */
+ struct compstat d; /* packet decompression statistics */
+};
+
+/*
+ * The following structure records the time in seconds since
+ * the last NP packet was sent or received.
+ */
+struct ppp_idle {
+ time_t xmit_idle; /* time since last NP packet sent */
+ time_t recv_idle; /* time since last NP packet received */
+};
+
+#ifndef __P
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+#endif
+
+#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/if_ppp.h b/mdk-stage1/ppp/include/net/if_ppp.h
new file mode 100644
index 000000000..b384828e1
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/if_ppp.h
@@ -0,0 +1,133 @@
+/* $Id: if_ppp.h 6001 2001-06-11 11:44:34Z gc $ */
+
+/*
+ * if_ppp.h - Point-to-Point Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef _IF_PPP_H_
+#define _IF_PPP_H_
+
+/*
+ * Bit definitions for flags.
+ */
+#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
+#define SC_COMP_AC 0x00000002 /* header compression (output) */
+#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
+#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
+#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
+#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
+#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
+#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
+#define SC_DEBUG 0x00010000 /* enable debug messages */
+#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
+#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
+#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
+#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
+#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
+#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
+#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
+#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
+#define SC_SYNC 0x00200000 /* use synchronous HDLC framing */
+#define SC_MASK 0x0fff00ff /* bits that user can change */
+
+/*
+ * State bits in sc_flags, not changeable by user.
+ */
+#define SC_TIMEOUT 0x00000400 /* timeout is currently pending */
+#define SC_VJ_RESET 0x00000800 /* need to reset VJ decomp */
+#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
+#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
+#define SC_DC_ERROR 0x00004000 /* non-fatal decomp error detected */
+#define SC_DC_FERROR 0x00008000 /* fatal decomp error detected */
+#define SC_TBUSY 0x10000000 /* xmitter doesn't need a packet yet */
+#define SC_PKTLOST 0x20000000 /* have lost or dropped a packet */
+#define SC_FLUSH 0x40000000 /* flush input until next PPP_FLAG */
+#define SC_ESCAPED 0x80000000 /* saw a PPP_ESCAPE */
+
+/*
+ * Ioctl definitions.
+ */
+
+struct npioctl {
+ int protocol; /* PPP procotol, e.g. PPP_IP */
+ enum NPmode mode;
+};
+
+/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
+struct ppp_option_data {
+ u_char *ptr;
+ u_int length;
+ int transmit;
+};
+
+struct ifpppstatsreq {
+ char ifr_name[IFNAMSIZ];
+ struct ppp_stats stats;
+};
+
+struct ifpppcstatsreq {
+ char ifr_name[IFNAMSIZ];
+ struct ppp_comp_stats stats;
+};
+
+/*
+ * Ioctl definitions.
+ */
+
+#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
+#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
+#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
+#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
+#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
+#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
+#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
+#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
+#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
+#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
+#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
+#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
+#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
+#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
+#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
+#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
+#define PPPIOCGIDLE _IOR('t', 74, struct ppp_idle) /* get idle time */
+#ifdef PPP_FILTER
+#define PPPIOCSPASS _IOW('t', 71, struct bpf_program) /* set pass filter */
+#define PPPIOCSACTIVE _IOW('t', 70, struct bpf_program) /* set active filt */
+#endif /* PPP_FILTER */
+
+/* PPPIOC[GS]MTU are alternatives to SIOC[GS]IFMTU, used under Ultrix */
+#define PPPIOCGMTU _IOR('t', 73, int) /* get interface MTU */
+#define PPPIOCSMTU _IOW('t', 72, int) /* set interface MTU */
+
+/*
+ * These two are interface ioctls so that pppstats can do them on
+ * a socket without having to open the serial device.
+ */
+#define SIOCGPPPSTATS _IOWR('i', 123, struct ifpppstatsreq)
+#define SIOCGPPPCSTATS _IOWR('i', 122, struct ifpppcstatsreq)
+
+#if !defined(ifr_mtu)
+#define ifr_mtu ifr_ifru.ifru_metric
+#endif
+
+#if (defined(_KERNEL) || defined(KERNEL)) && !defined(NeXT)
+void pppattach __P((void));
+void pppintr __P((void));
+#endif
+#endif /* _IF_PPP_H_ */
diff --git a/mdk-stage1/ppp/include/net/ppp-comp.h b/mdk-stage1/ppp/include/net/ppp-comp.h
new file mode 100644
index 000000000..53d767b0d
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/ppp-comp.h
@@ -0,0 +1,165 @@
+/*
+ * ppp-comp.h - Definitions for doing PPP packet compression.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp-comp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifndef _NET_PPP_COMP_H
+#define _NET_PPP_COMP_H
+
+/*
+ * The following symbols control whether we include code for
+ * various compression methods.
+ */
+#ifndef DO_BSD_COMPRESS
+#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
+#endif
+#ifndef DO_DEFLATE
+#define DO_DEFLATE 1 /* by default, include Deflate */
+#endif
+#define DO_PREDICTOR_1 0
+#define DO_PREDICTOR_2 0
+
+/*
+ * Structure giving methods for compression/decompression.
+ */
+#ifdef PACKETPTR
+struct compressor {
+ int compress_proto; /* CCP compression protocol number */
+
+ /* Allocate space for a compressor (transmit side) */
+ void *(*comp_alloc) __P((u_char *options, int opt_len));
+ /* Free space used by a compressor */
+ void (*comp_free) __P((void *state));
+ /* Initialize a compressor */
+ int (*comp_init) __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int debug));
+ /* Reset a compressor */
+ void (*comp_reset) __P((void *state));
+ /* Compress a packet */
+ int (*compress) __P((void *state, PACKETPTR *mret,
+ PACKETPTR mp, int orig_len, int max_len));
+ /* Return compression statistics */
+ void (*comp_stat) __P((void *state, struct compstat *stats));
+
+ /* Allocate space for a decompressor (receive side) */
+ void *(*decomp_alloc) __P((u_char *options, int opt_len));
+ /* Free space used by a decompressor */
+ void (*decomp_free) __P((void *state));
+ /* Initialize a decompressor */
+ int (*decomp_init) __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+ /* Reset a decompressor */
+ void (*decomp_reset) __P((void *state));
+ /* Decompress a packet. */
+ int (*decompress) __P((void *state, PACKETPTR mp,
+ PACKETPTR *dmpp));
+ /* Update state for an incompressible packet received */
+ void (*incomp) __P((void *state, PACKETPTR mp));
+ /* Return decompression statistics */
+ void (*decomp_stat) __P((void *state, struct compstat *stats));
+};
+#endif /* PACKETPTR */
+
+/*
+ * Return values for decompress routine.
+ * We need to make these distinctions so that we can disable certain
+ * useful functionality, namely sending a CCP reset-request as a result
+ * of an error detected after decompression. This is to avoid infringing
+ * a patent held by Motorola.
+ * Don't you just lurve software patents.
+ */
+#define DECOMP_OK 0 /* everything went OK */
+#define DECOMP_ERROR 1 /* error detected before decomp. */
+#define DECOMP_FATALERROR 2 /* error detected after decomp. */
+
+/*
+ * CCP codes.
+ */
+#define CCP_CONFREQ 1
+#define CCP_CONFACK 2
+#define CCP_TERMREQ 5
+#define CCP_TERMACK 6
+#define CCP_RESETREQ 14
+#define CCP_RESETACK 15
+
+/*
+ * Max # bytes for a CCP option
+ */
+#define CCP_MAX_OPTION_LENGTH 32
+
+/*
+ * Parts of a CCP packet.
+ */
+#define CCP_CODE(dp) ((dp)[0])
+#define CCP_ID(dp) ((dp)[1])
+#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
+#define CCP_HDRLEN 4
+
+#define CCP_OPT_CODE(dp) ((dp)[0])
+#define CCP_OPT_LENGTH(dp) ((dp)[1])
+#define CCP_OPT_MINLEN 2
+
+/*
+ * Definitions for BSD-Compress.
+ */
+#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
+#define CILEN_BSD_COMPRESS 3 /* length of config. option */
+
+/* Macros for handling the 3rd byte of the BSD-Compress config option. */
+#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
+#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
+#define BSD_CURRENT_VERSION 1 /* current version number */
+#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
+
+#define BSD_MIN_BITS 9 /* smallest code size supported */
+#define BSD_MAX_BITS 15 /* largest code size supported */
+
+/*
+ * Definitions for Deflate.
+ */
+#define CI_DEFLATE 26 /* config option for Deflate */
+#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
+#define CILEN_DEFLATE 4 /* length of its config option */
+
+#define DEFLATE_MIN_SIZE 8
+#define DEFLATE_MAX_SIZE 15
+#define DEFLATE_METHOD_VAL 8
+#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
+#define DEFLATE_METHOD(x) ((x) & 0x0F)
+#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
+ + DEFLATE_METHOD_VAL)
+#define DEFLATE_CHK_SEQUENCE 0
+
+/*
+ * Definitions for other, as yet unsupported, compression methods.
+ */
+#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
+#define CILEN_PREDICTOR_1 2 /* length of its config option */
+#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
+#define CILEN_PREDICTOR_2 2 /* length of its config option */
+
+#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/include/net/ppp_defs.h b/mdk-stage1/ppp/include/net/ppp_defs.h
new file mode 100644
index 000000000..70655cde7
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/ppp_defs.h
@@ -0,0 +1,184 @@
+/* $Id: ppp_defs.h 13324 2003-06-04 18:31:57Z gbeauchesne $ */
+
+/*
+ * ppp_defs.h - PPP definitions.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ */
+
+#ifndef _PPP_DEFS_H_
+#define _PPP_DEFS_H_
+
+/*
+ * The basic PPP frame.
+ */
+#define PPP_HDRLEN 4 /* octets for standard ppp header */
+#define PPP_FCSLEN 2 /* octets for FCS */
+
+/*
+ * Packet sizes
+ *
+ * Note - lcp shouldn't be allowed to negotiate stuff outside these
+ * limits. See lcp.h in the pppd directory.
+ * (XXX - these constants should simply be shared by lcp.c instead
+ * of living in lcp.h)
+ */
+#define PPP_MTU 1500 /* Default MTU (size of Info field) */
+#define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN)
+#define PPP_MINMTU 64
+#define PPP_MRU 1500 /* default MRU = max length of info field */
+#define PPP_MAXMRU 65000 /* Largest MRU we allow */
+#define PPP_MINMRU 128
+
+#define PPP_ADDRESS(p) (((u_char *)(p))[0])
+#define PPP_CONTROL(p) (((u_char *)(p))[1])
+#define PPP_PROTOCOL(p) ((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])
+
+/*
+ * Significant octet values.
+ */
+#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
+#define PPP_UI 0x03 /* Unnumbered Information */
+#define PPP_FLAG 0x7e /* Flag Sequence */
+#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
+#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
+
+/*
+ * Protocol field values.
+ */
+#define PPP_IP 0x21 /* Internet Protocol */
+#define PPP_AT 0x29 /* AppleTalk Protocol */
+#define PPP_IPX 0x2b /* IPX protocol */
+#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
+#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
+#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
+#define PPP_COMP 0xfd /* compressed packet */
+#define PPP_IPCP 0x8021 /* IP Control Protocol */
+#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
+#define PPP_IPXCP 0x802b /* IPX Control Protocol */
+#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
+#define PPP_CCP 0x80fd /* Compression Control Protocol */
+#define PPP_LCP 0xc021 /* Link Control Protocol */
+#define PPP_PAP 0xc023 /* Password Authentication Protocol */
+#define PPP_LQR 0xc025 /* Link Quality Report protocol */
+#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
+#define PPP_CBCP 0xc029 /* Callback Control Protocol */
+
+/*
+ * Values for FCS calculations.
+ */
+#define PPP_INITFCS 0xffff /* Initial FCS value */
+#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
+#define PPP_FCS(fcs, c) (((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
+
+/*
+ * A 32-bit unsigned integral type.
+ */
+
+#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \
+ && !defined(__FreeBSD__) && (NS_TARGET < 40) && !defined(__dietlibc__)
+#ifdef UINT32_T
+typedef UINT32_T u_int32_t;
+#else
+typedef unsigned int u_int32_t;
+typedef unsigned short u_int16_t;
+#endif
+#endif
+
+/*
+ * Extended asyncmap - allows any character to be escaped.
+ */
+typedef u_int32_t ext_accm[8];
+
+/*
+ * What to do with network protocol (NP) packets.
+ */
+enum NPmode {
+ NPMODE_PASS, /* pass the packet through */
+ NPMODE_DROP, /* silently drop the packet */
+ NPMODE_ERROR, /* return an error */
+ NPMODE_QUEUE /* save it up for later. */
+};
+
+/*
+ * Statistics.
+ */
+struct pppstat {
+ unsigned int ppp_ibytes; /* bytes received */
+ unsigned int ppp_ipackets; /* packets received */
+ unsigned int ppp_ierrors; /* receive errors */
+ unsigned int ppp_obytes; /* bytes sent */
+ unsigned int ppp_opackets; /* packets sent */
+ unsigned int ppp_oerrors; /* transmit errors */
+};
+
+struct vjstat {
+ unsigned int vjs_packets; /* outbound packets */
+ unsigned int vjs_compressed; /* outbound compressed packets */
+ unsigned int vjs_searches; /* searches for connection state */
+ unsigned int vjs_misses; /* times couldn't find conn. state */
+ unsigned int vjs_uncompressedin; /* inbound uncompressed packets */
+ unsigned int vjs_compressedin; /* inbound compressed packets */
+ unsigned int vjs_errorin; /* inbound unknown type packets */
+ unsigned int vjs_tossed; /* inbound packets tossed because of error */
+};
+
+struct ppp_stats {
+ struct pppstat p; /* basic PPP statistics */
+ struct vjstat vj; /* VJ header compression statistics */
+};
+
+struct compstat {
+ unsigned int unc_bytes; /* total uncompressed bytes */
+ unsigned int unc_packets; /* total uncompressed packets */
+ unsigned int comp_bytes; /* compressed bytes */
+ unsigned int comp_packets; /* compressed packets */
+ unsigned int inc_bytes; /* incompressible bytes */
+ unsigned int inc_packets; /* incompressible packets */
+ unsigned int ratio; /* recent compression ratio << 8 */
+};
+
+struct ppp_comp_stats {
+ struct compstat c; /* packet compression statistics */
+ struct compstat d; /* packet decompression statistics */
+};
+
+/*
+ * The following structure records the time in seconds since
+ * the last NP packet was sent or received.
+ */
+struct ppp_idle {
+ time_t xmit_idle; /* time since last NP packet sent */
+ time_t recv_idle; /* time since last NP packet received */
+};
+
+#ifndef __P
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+#endif
+
+#endif /* _PPP_DEFS_H_ */
diff --git a/mdk-stage1/ppp/include/net/pppio.h b/mdk-stage1/ppp/include/net/pppio.h
new file mode 100644
index 000000000..328eb0213
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/pppio.h
@@ -0,0 +1,99 @@
+/*
+ * pppio.h - ioctl and other misc. definitions for STREAMS modules.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: pppio.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#define _PPPIO(n) (('p' << 8) + (n))
+
+#define PPPIO_NEWPPA _PPPIO(130) /* allocate a new PPP unit */
+#define PPPIO_GETSTAT _PPPIO(131) /* get PPP statistics */
+#define PPPIO_GETCSTAT _PPPIO(132) /* get PPP compression stats */
+#define PPPIO_MTU _PPPIO(133) /* set max transmission unit */
+#define PPPIO_MRU _PPPIO(134) /* set max receive unit */
+#define PPPIO_CFLAGS _PPPIO(135) /* set/clear/get compression flags */
+#define PPPIO_XCOMP _PPPIO(136) /* alloc transmit compressor */
+#define PPPIO_RCOMP _PPPIO(137) /* alloc receive decompressor */
+#define PPPIO_XACCM _PPPIO(138) /* set transmit asyncmap */
+#define PPPIO_RACCM _PPPIO(139) /* set receive asyncmap */
+#define PPPIO_VJINIT _PPPIO(140) /* initialize VJ comp/decomp */
+#define PPPIO_ATTACH _PPPIO(141) /* attach to a ppa (without putmsg) */
+#define PPPIO_LASTMOD _PPPIO(142) /* mark last ppp module */
+#define PPPIO_GCLEAN _PPPIO(143) /* get 8-bit-clean flags */
+#define PPPIO_DEBUG _PPPIO(144) /* request debug information */
+#define PPPIO_BIND _PPPIO(145) /* bind to SAP */
+#define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */
+#define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */
+#define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */
+#define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */
+
+/*
+ * Values for PPPIO_CFLAGS
+ */
+#define COMP_AC 0x1 /* compress address/control */
+#define DECOMP_AC 0x2 /* decompress address/control */
+#define COMP_PROT 0x4 /* compress PPP protocol */
+#define DECOMP_PROT 0x8 /* decompress PPP protocol */
+
+#define COMP_VJC 0x10 /* compress TCP/IP headers */
+#define COMP_VJCCID 0x20 /* compress connection ID as well */
+#define DECOMP_VJC 0x40 /* decompress TCP/IP headers */
+#define DECOMP_VJCCID 0x80 /* accept compressed connection ID */
+
+#define CCP_ISOPEN 0x100 /* look at CCP packets */
+#define CCP_ISUP 0x200 /* do packet comp/decomp */
+#define CCP_ERROR 0x400 /* (status) error in packet decomp */
+#define CCP_FATALERROR 0x800 /* (status) fatal error ditto */
+#define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */
+#define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */
+
+/*
+ * Values for 8-bit-clean flags.
+ */
+#define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */
+#define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */
+#define RCV_EVNP 4 /* have rcvd char with even parity */
+#define RCV_ODDP 8 /* have rcvd char with odd parity */
+
+/*
+ * Values for the first byte of M_CTL messages passed between
+ * PPP modules.
+ */
+#define PPPCTL_OERROR 0xe0 /* output error [up] */
+#define PPPCTL_IERROR 0xe1 /* input error (e.g. FCS) [up] */
+#define PPPCTL_MTU 0xe2 /* set MTU [down] */
+#define PPPCTL_MRU 0xe3 /* set MRU [down] */
+#define PPPCTL_UNIT 0xe4 /* note PPP unit number [down] */
+
+/*
+ * Values for the integer argument to PPPIO_DEBUG.
+ */
+#define PPPDBG_DUMP 0x10000 /* print out debug info now */
+#define PPPDBG_LOG 0x100 /* log various things */
+#define PPPDBG_DRIVER 0 /* identifies ppp driver as target */
+#define PPPDBG_IF 1 /* identifies ppp network i/f target */
+#define PPPDBG_COMP 2 /* identifies ppp compression target */
+#define PPPDBG_AHDLC 3 /* identifies ppp async hdlc target */
diff --git a/mdk-stage1/ppp/include/net/slcompress.h b/mdk-stage1/ppp/include/net/slcompress.h
new file mode 100644
index 000000000..6ae085202
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/slcompress.h
@@ -0,0 +1,148 @@
+/*
+ * Definitions for tcp compression routines.
+ *
+ * $Id: slcompress.h 6001 2001-06-11 11:44:34Z gc $
+ *
+ * Copyright (c) 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
+ * - Initial distribution.
+ */
+
+#ifndef _SLCOMPRESS_H_
+#define _SLCOMPRESS_H_
+
+#define MAX_STATES 16 /* must be > 2 and < 256 */
+#define MAX_HDR MLEN /* XXX 4bsd-ism: should really be 128 */
+
+/*
+ * Compressed packet format:
+ *
+ * The first octet contains the packet type (top 3 bits), TCP
+ * 'push' bit, and flags that indicate which of the 4 TCP sequence
+ * numbers have changed (bottom 5 bits). The next octet is a
+ * conversation number that associates a saved IP/TCP header with
+ * the compressed packet. The next two octets are the TCP checksum
+ * from the original datagram. The next 0 to 15 octets are
+ * sequence number changes, one change per bit set in the header
+ * (there may be no changes and there are two special cases where
+ * the receiver implicitly knows what changed -- see below).
+ *
+ * There are 5 numbers which can change (they are always inserted
+ * in the following order): TCP urgent pointer, window,
+ * acknowlegement, sequence number and IP ID. (The urgent pointer
+ * is different from the others in that its value is sent, not the
+ * change in value.) Since typical use of SLIP links is biased
+ * toward small packets (see comments on MTU/MSS below), changes
+ * use a variable length coding with one octet for numbers in the
+ * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
+ * range 256 - 65535 or 0. (If the change in sequence number or
+ * ack is more than 65535, an uncompressed packet is sent.)
+ */
+
+/*
+ * Packet types (must not conflict with IP protocol version)
+ *
+ * The top nibble of the first octet is the packet type. There are
+ * three possible types: IP (not proto TCP or tcp with one of the
+ * control flags set); uncompressed TCP (a normal IP/TCP packet but
+ * with the 8-bit protocol field replaced by an 8-bit connection id --
+ * this type of packet syncs the sender & receiver); and compressed
+ * TCP (described above).
+ *
+ * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
+ * is logically part of the 4-bit "changes" field that follows. Top
+ * three bits are actual packet type. For backward compatibility
+ * and in the interest of conserving bits, numbers are chosen so the
+ * IP protocol version number (4) which normally appears in this nibble
+ * means "IP packet".
+ */
+
+/* packet types */
+#define TYPE_IP 0x40
+#define TYPE_UNCOMPRESSED_TCP 0x70
+#define TYPE_COMPRESSED_TCP 0x80
+#define TYPE_ERROR 0x00
+
+/* Bits in first octet of compressed packet */
+#define NEW_C 0x40 /* flag bits for what changed in a packet */
+#define NEW_I 0x20
+#define NEW_S 0x08
+#define NEW_A 0x04
+#define NEW_W 0x02
+#define NEW_U 0x01
+
+/* reserved, special-case values of above */
+#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
+#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
+#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
+
+#define TCP_PUSH_BIT 0x10
+
+
+/*
+ * "state" data for each active tcp conversation on the wire. This is
+ * basically a copy of the entire IP/TCP header from the last packet
+ * we saw from the conversation together with a small identifier
+ * the transmit & receive ends of the line use to locate saved header.
+ */
+struct cstate {
+ struct cstate *cs_next; /* next most recently used cstate (xmit only) */
+ u_short cs_hlen; /* size of hdr (receive only) */
+ u_char cs_id; /* connection # associated with this state */
+ u_char cs_filler;
+ union {
+ char csu_hdr[MAX_HDR];
+ struct ip csu_ip; /* ip/tcp hdr from most recent packet */
+ } slcs_u;
+};
+#define cs_ip slcs_u.csu_ip
+#define cs_hdr slcs_u.csu_hdr
+
+/*
+ * all the state data for one serial line (we need one of these
+ * per line).
+ */
+struct slcompress {
+ struct cstate *last_cs; /* most recently used tstate */
+ u_char last_recv; /* last rcvd conn. id */
+ u_char last_xmit; /* last sent conn. id */
+ u_short flags;
+#ifndef SL_NO_STATS
+ int sls_packets; /* outbound packets */
+ int sls_compressed; /* outbound compressed packets */
+ int sls_searches; /* searches for connection state */
+ int sls_misses; /* times couldn't find conn. state */
+ int sls_uncompressedin; /* inbound uncompressed packets */
+ int sls_compressedin; /* inbound compressed packets */
+ int sls_errorin; /* inbound unknown type packets */
+ int sls_tossed; /* inbound packets tossed because of error */
+#endif
+ struct cstate tstate[MAX_STATES]; /* xmit connection states */
+ struct cstate rstate[MAX_STATES]; /* receive connection states */
+};
+/* flag values */
+#define SLF_TOSS 1 /* tossing rcvd frames because of input err */
+
+void sl_compress_init __P((struct slcompress *));
+void sl_compress_setup __P((struct slcompress *, int));
+u_int sl_compress_tcp __P((struct mbuf *,
+ struct ip *, struct slcompress *, int));
+int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
+int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
+ struct slcompress *, u_char **, u_int *));
+
+#endif /* _SLCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/net/vjcompress.h b/mdk-stage1/ppp/include/net/vjcompress.h
new file mode 100644
index 000000000..530817057
--- /dev/null
+++ b/mdk-stage1/ppp/include/net/vjcompress.h
@@ -0,0 +1,144 @@
+/*
+ * Definitions for tcp compression routines.
+ *
+ * $Id: vjcompress.h 6001 2001-06-11 11:44:34Z gc $
+ *
+ * Copyright (c) 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
+ * - Initial distribution.
+ */
+
+#ifndef _VJCOMPRESS_H_
+#define _VJCOMPRESS_H_
+
+#define MAX_STATES 16 /* must be > 2 and < 256 */
+#define MAX_HDR 128
+
+/*
+ * Compressed packet format:
+ *
+ * The first octet contains the packet type (top 3 bits), TCP
+ * 'push' bit, and flags that indicate which of the 4 TCP sequence
+ * numbers have changed (bottom 5 bits). The next octet is a
+ * conversation number that associates a saved IP/TCP header with
+ * the compressed packet. The next two octets are the TCP checksum
+ * from the original datagram. The next 0 to 15 octets are
+ * sequence number changes, one change per bit set in the header
+ * (there may be no changes and there are two special cases where
+ * the receiver implicitly knows what changed -- see below).
+ *
+ * There are 5 numbers which can change (they are always inserted
+ * in the following order): TCP urgent pointer, window,
+ * acknowlegement, sequence number and IP ID. (The urgent pointer
+ * is different from the others in that its value is sent, not the
+ * change in value.) Since typical use of SLIP links is biased
+ * toward small packets (see comments on MTU/MSS below), changes
+ * use a variable length coding with one octet for numbers in the
+ * range 1 - 255 and 3 octets (0, MSB, LSB) for numbers in the
+ * range 256 - 65535 or 0. (If the change in sequence number or
+ * ack is more than 65535, an uncompressed packet is sent.)
+ */
+
+/*
+ * Packet types (must not conflict with IP protocol version)
+ *
+ * The top nibble of the first octet is the packet type. There are
+ * three possible types: IP (not proto TCP or tcp with one of the
+ * control flags set); uncompressed TCP (a normal IP/TCP packet but
+ * with the 8-bit protocol field replaced by an 8-bit connection id --
+ * this type of packet syncs the sender & receiver); and compressed
+ * TCP (described above).
+ *
+ * LSB of 4-bit field is TCP "PUSH" bit (a worthless anachronism) and
+ * is logically part of the 4-bit "changes" field that follows. Top
+ * three bits are actual packet type. For backward compatibility
+ * and in the interest of conserving bits, numbers are chosen so the
+ * IP protocol version number (4) which normally appears in this nibble
+ * means "IP packet".
+ */
+
+/* packet types */
+#define TYPE_IP 0x40
+#define TYPE_UNCOMPRESSED_TCP 0x70
+#define TYPE_COMPRESSED_TCP 0x80
+#define TYPE_ERROR 0x00
+
+/* Bits in first octet of compressed packet */
+#define NEW_C 0x40 /* flag bits for what changed in a packet */
+#define NEW_I 0x20
+#define NEW_S 0x08
+#define NEW_A 0x04
+#define NEW_W 0x02
+#define NEW_U 0x01
+
+/* reserved, special-case values of above */
+#define SPECIAL_I (NEW_S|NEW_W|NEW_U) /* echoed interactive traffic */
+#define SPECIAL_D (NEW_S|NEW_A|NEW_W|NEW_U) /* unidirectional data */
+#define SPECIALS_MASK (NEW_S|NEW_A|NEW_W|NEW_U)
+
+#define TCP_PUSH_BIT 0x10
+
+
+/*
+ * "state" data for each active tcp conversation on the wire. This is
+ * basically a copy of the entire IP/TCP header from the last packet
+ * we saw from the conversation together with a small identifier
+ * the transmit & receive ends of the line use to locate saved header.
+ */
+struct cstate {
+ struct cstate *cs_next; /* next most recently used state (xmit only) */
+ u_short cs_hlen; /* size of hdr (receive only) */
+ u_char cs_id; /* connection # associated with this state */
+ u_char cs_filler;
+ union {
+ char csu_hdr[MAX_HDR];
+ struct ip csu_ip; /* ip/tcp hdr from most recent packet */
+ } vjcs_u;
+};
+#define cs_ip vjcs_u.csu_ip
+#define cs_hdr vjcs_u.csu_hdr
+
+/*
+ * all the state data for one serial line (we need one of these per line).
+ */
+struct vjcompress {
+ struct cstate *last_cs; /* most recently used tstate */
+ u_char last_recv; /* last rcvd conn. id */
+ u_char last_xmit; /* last sent conn. id */
+ u_short flags;
+#ifndef VJ_NO_STATS
+ struct vjstat stats;
+#endif
+ struct cstate tstate[MAX_STATES]; /* xmit connection states */
+ struct cstate rstate[MAX_STATES]; /* receive connection states */
+};
+
+/* flag values */
+#define VJF_TOSS 1 /* tossing rcvd frames because of input err */
+
+extern void vj_compress_init __P((struct vjcompress *comp, int max_state));
+extern u_int vj_compress_tcp __P((struct ip *ip, u_int mlen,
+ struct vjcompress *comp, int compress_cid_flag,
+ u_char **vjhdrp));
+extern void vj_uncompress_err __P((struct vjcompress *comp));
+extern int vj_uncompress_uncomp __P((u_char *buf, int buflen,
+ struct vjcompress *comp));
+extern int vj_uncompress_tcp __P((u_char *buf, int buflen, int total_len,
+ struct vjcompress *comp, u_char **hdrp,
+ u_int *hlenp));
+
+#endif /* _VJCOMPRESS_H_ */
diff --git a/mdk-stage1/ppp/include/pcap-int.h b/mdk-stage1/ppp/include/pcap-int.h
new file mode 100644
index 000000000..323994929
--- /dev/null
+++ b/mdk-stage1/ppp/include/pcap-int.h
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 1994, 1995, 1996
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the Computer Systems
+ * Engineering Group at Lawrence Berkeley Laboratory.
+ * 4. Neither the name of the University nor of the Laboratory may be used
+ * to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#) $Header$ (LBL)
+ */
+
+#ifndef pcap_int_h
+#define pcap_int_h
+
+#include <pcap.h>
+
+/*
+ * Savefile
+ */
+struct pcap_sf {
+ FILE *rfile;
+ int swapped;
+ int version_major;
+ int version_minor;
+ u_char *base;
+};
+
+struct pcap_md {
+ struct pcap_stat stat;
+ /*XXX*/
+ int use_bpf;
+ u_long TotPkts; /* can't oflow for 79 hrs on ether */
+ u_long TotAccepted; /* count accepted by filter */
+ u_long TotDrops; /* count of dropped packets */
+ long TotMissed; /* missed by i/f during this run */
+ long OrigMissed; /* missed by i/f before this run */
+#ifdef linux
+ int pad;
+ int skip;
+ char *device;
+#endif
+};
+
+struct pcap {
+ int fd;
+ int snapshot;
+ int linktype;
+ int tzoff; /* timezone offset */
+ int offset; /* offset for proper alignment */
+
+ struct pcap_sf sf;
+ struct pcap_md md;
+
+ /*
+ * Read buffer.
+ */
+ int bufsize;
+ u_char *buffer;
+ u_char *bp;
+ int cc;
+
+ /*
+ * Place holder for pcap_next().
+ */
+ u_char *pkt;
+
+
+ /*
+ * Placeholder for filter code if bpf not in kernel.
+ */
+ struct bpf_program fcode;
+
+ char errbuf[PCAP_ERRBUF_SIZE];
+};
+
+int yylex(void);
+
+#ifndef min
+#define min(a, b) ((a) > (b) ? (b) : (a))
+#endif
+
+/* XXX should these be in pcap.h? */
+int pcap_offline_read(pcap_t *, int, pcap_handler, u_char *);
+int pcap_read(pcap_t *, int cnt, pcap_handler, u_char *);
+
+/* Ultrix pads to make everything line up on a nice boundary */
+#if defined(ultrix) || defined(__alpha)
+#define PCAP_FDDIPAD 3
+#endif
+
+/* XXX */
+extern int pcap_fddipad;
+#endif
diff --git a/mdk-stage1/ppp/linux/Makefile.top b/mdk-stage1/ppp/linux/Makefile.top
new file mode 100644
index 000000000..fa34ce59f
--- /dev/null
+++ b/mdk-stage1/ppp/linux/Makefile.top
@@ -0,0 +1,55 @@
+# PPP top-level Makefile for Linux.
+
+
+BINDIR = $(DESTDIR)/usr/sbin
+MANDIR = $(DESTDIR)/usr/man
+ETCDIR = $(DESTDIR)/etc/ppp
+
+# uid 0 = root
+INSTALL= install
+
+all:
+ cd chat; $(MAKE) $(MFLAGS) all
+ cd pppd; $(MAKE) $(MFLAGS) all
+ cd pppstats; $(MAKE) $(MFLAGS) all
+ cd pppdump; $(MAKE) $(MFLAGS) all
+
+install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
+
+install-progs:
+ cd chat; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
+ cd pppd; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
+ cd pppstats; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
+ cd pppdump; $(MAKE) BINDIR=$(BINDIR) MANDIR=$(MANDIR) $(MFLAGS) install
+
+install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
+ $(ETCDIR)/chap-secrets
+
+$(ETCDIR)/options:
+ $(INSTALL) -c -m 644 etc.ppp/options $@
+$(ETCDIR)/pap-secrets:
+ $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
+$(ETCDIR)/chap-secrets:
+ $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
+
+$(BINDIR):
+ $(INSTALL) -d -m 755 $@
+$(MANDIR)/man8:
+ $(INSTALL) -d -m 755 $@
+$(ETCDIR):
+ $(INSTALL) -d -m 755 $@
+
+clean:
+ rm -f `find . -name '*.[oas]' -print`
+ rm -f `find . -name 'core' -print`
+ rm -f `find . -name '*~' -print`
+ cd chat; $(MAKE) clean
+ cd pppd; $(MAKE) clean
+ cd pppstats; $(MAKE) clean
+ cd pppdump; $(MAKE) clean
+
+dist-clean: clean
+ rm -f Makefile `find . -name Makefile -print`
+
+#kernel:
+# cd linux; ./kinstall.sh
diff --git a/mdk-stage1/ppp/modules/bsd-comp.c b/mdk-stage1/ppp/modules/bsd-comp.c
new file mode 100644
index 000000000..66893f183
--- /dev/null
+++ b/mdk-stage1/ppp/modules/bsd-comp.c
@@ -0,0 +1,1116 @@
+/* Because this code is derived from the 4.3BSD compress source:
+ *
+ *
+ * Copyright (c) 1985, 1986 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * James A. Woods, derived from original work by Spencer Thomas
+ * and Joseph Orost.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * This version is for use with STREAMS under SunOS 4.x,
+ * Digital UNIX, AIX 4.x, and SVR4 systems including Solaris 2.
+ *
+ * $Id: bsd-comp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifdef AIX4
+#include <net/net_globals.h>
+#endif
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/stream.h>
+#include <net/ppp_defs.h>
+#include "ppp_mod.h"
+
+#ifdef SVR4
+#include <sys/byteorder.h>
+#ifndef _BIG_ENDIAN
+#define BSD_LITTLE_ENDIAN
+#endif
+#endif
+
+#ifdef __osf__
+#undef FIRST
+#undef LAST
+#define BSD_LITTLE_ENDIAN
+#endif
+
+#define PACKETPTR mblk_t *
+#include <net/ppp-comp.h>
+
+#if DO_BSD_COMPRESS
+
+/*
+ * PPP "BSD compress" compression
+ * The differences between this compression and the classic BSD LZW
+ * source are obvious from the requirement that the classic code worked
+ * with files while this handles arbitrarily long streams that
+ * are broken into packets. They are:
+ *
+ * When the code size expands, a block of junk is not emitted by
+ * the compressor and not expected by the decompressor.
+ *
+ * New codes are not necessarily assigned every time an old
+ * code is output by the compressor. This is because a packet
+ * end forces a code to be emitted, but does not imply that a
+ * new sequence has been seen.
+ *
+ * The compression ratio is checked at the first end of a packet
+ * after the appropriate gap. Besides simplifying and speeding
+ * things up, this makes it more likely that the transmitter
+ * and receiver will agree when the dictionary is cleared when
+ * compression is not going well.
+ */
+
+/*
+ * A dictionary for doing BSD compress.
+ */
+struct bsd_db {
+ int totlen; /* length of this structure */
+ u_int hsize; /* size of the hash table */
+ u_char hshift; /* used in hash function */
+ u_char n_bits; /* current bits/code */
+ u_char maxbits;
+ u_char debug;
+ u_char unit;
+ u_short seqno; /* sequence number of next packet */
+ u_int hdrlen; /* header length to preallocate */
+ u_int mru;
+ u_int maxmaxcode; /* largest valid code */
+ u_int max_ent; /* largest code in use */
+ u_int in_count; /* uncompressed bytes, aged */
+ u_int bytes_out; /* compressed bytes, aged */
+ u_int ratio; /* recent compression ratio */
+ u_int checkpoint; /* when to next check the ratio */
+ u_int clear_count; /* times dictionary cleared */
+ u_int incomp_count; /* incompressible packets */
+ u_int incomp_bytes; /* incompressible bytes */
+ u_int uncomp_count; /* uncompressed packets */
+ u_int uncomp_bytes; /* uncompressed bytes */
+ u_int comp_count; /* compressed packets */
+ u_int comp_bytes; /* compressed bytes */
+ u_short *lens; /* array of lengths of codes */
+ struct bsd_dict {
+ union { /* hash value */
+ u_int32_t fcode;
+ struct {
+#ifdef BSD_LITTLE_ENDIAN
+ u_short prefix; /* preceding code */
+ u_char suffix; /* last character of new code */
+ u_char pad;
+#else
+ u_char pad;
+ u_char suffix; /* last character of new code */
+ u_short prefix; /* preceding code */
+#endif
+ } hs;
+ } f;
+ u_short codem1; /* output of hash table -1 */
+ u_short cptr; /* map code to hash table entry */
+ } dict[1];
+};
+
+#define BSD_OVHD 2 /* BSD compress overhead/packet */
+#define BSD_INIT_BITS BSD_MIN_BITS
+
+static void *bsd_comp_alloc __P((u_char *options, int opt_len));
+static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
+static void bsd_free __P((void *state));
+static int bsd_comp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int debug));
+static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+static int bsd_compress __P((void *state, mblk_t **mret,
+ mblk_t *mp, int slen, int maxolen));
+static void bsd_incomp __P((void *state, mblk_t *dmsg));
+static int bsd_decompress __P((void *state, mblk_t *cmp, mblk_t **dmpp));
+static void bsd_reset __P((void *state));
+static void bsd_comp_stats __P((void *state, struct compstat *stats));
+
+/*
+ * Procedures exported to ppp_comp.c.
+ */
+struct compressor ppp_bsd_compress = {
+ CI_BSD_COMPRESS, /* compress_proto */
+ bsd_comp_alloc, /* comp_alloc */
+ bsd_free, /* comp_free */
+ bsd_comp_init, /* comp_init */
+ bsd_reset, /* comp_reset */
+ bsd_compress, /* compress */
+ bsd_comp_stats, /* comp_stat */
+ bsd_decomp_alloc, /* decomp_alloc */
+ bsd_free, /* decomp_free */
+ bsd_decomp_init, /* decomp_init */
+ bsd_reset, /* decomp_reset */
+ bsd_decompress, /* decompress */
+ bsd_incomp, /* incomp */
+ bsd_comp_stats, /* decomp_stat */
+};
+
+/*
+ * the next two codes should not be changed lightly, as they must not
+ * lie within the contiguous general code space.
+ */
+#define CLEAR 256 /* table clear output code */
+#define FIRST 257 /* first free entry */
+#define LAST 255
+
+#define MAXCODE(b) ((1 << (b)) - 1)
+#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
+
+#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
+ ^ (u_int32_t)(prefix))
+#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
+ + (u_int32_t)(prefix))
+
+#define CHECK_GAP 10000 /* Ratio check interval */
+
+#define RATIO_SCALE_LOG 8
+#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
+#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
+
+#define DECOMP_CHUNK 256
+
+/*
+ * clear the dictionary
+ */
+static void
+bsd_clear(db)
+ struct bsd_db *db;
+{
+ db->clear_count++;
+ db->max_ent = FIRST-1;
+ db->n_bits = BSD_INIT_BITS;
+ db->ratio = 0;
+ db->bytes_out = 0;
+ db->in_count = 0;
+ db->checkpoint = CHECK_GAP;
+}
+
+/*
+ * If the dictionary is full, then see if it is time to reset it.
+ *
+ * Compute the compression ratio using fixed-point arithmetic
+ * with 8 fractional bits.
+ *
+ * Since we have an infinite stream instead of a single file,
+ * watch only the local compression ratio.
+ *
+ * Since both peers must reset the dictionary at the same time even in
+ * the absence of CLEAR codes (while packets are incompressible), they
+ * must compute the same ratio.
+ */
+static int /* 1=output CLEAR */
+bsd_check(db)
+ struct bsd_db *db;
+{
+ u_int new_ratio;
+
+ if (db->in_count >= db->checkpoint) {
+ /* age the ratio by limiting the size of the counts */
+ if (db->in_count >= RATIO_MAX
+ || db->bytes_out >= RATIO_MAX) {
+ db->in_count -= db->in_count/4;
+ db->bytes_out -= db->bytes_out/4;
+ }
+
+ db->checkpoint = db->in_count + CHECK_GAP;
+
+ if (db->max_ent >= db->maxmaxcode) {
+ /* Reset the dictionary only if the ratio is worse,
+ * or if it looks as if it has been poisoned
+ * by incompressible data.
+ *
+ * This does not overflow, because
+ * db->in_count <= RATIO_MAX.
+ */
+ new_ratio = db->in_count << RATIO_SCALE_LOG;
+ if (db->bytes_out != 0)
+ new_ratio /= db->bytes_out;
+
+ if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
+ bsd_clear(db);
+ return 1;
+ }
+ db->ratio = new_ratio;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Return statistics.
+ */
+static void
+bsd_comp_stats(state, stats)
+ void *state;
+ struct compstat *stats;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int out;
+
+ stats->unc_bytes = db->uncomp_bytes;
+ stats->unc_packets = db->uncomp_count;
+ stats->comp_bytes = db->comp_bytes;
+ stats->comp_packets = db->comp_count;
+ stats->inc_bytes = db->incomp_bytes;
+ stats->inc_packets = db->incomp_count;
+ stats->ratio = db->in_count;
+ out = db->bytes_out;
+ if (stats->ratio <= 0x7fffff)
+ stats->ratio <<= 8;
+ else
+ out >>= 8;
+ if (out != 0)
+ stats->ratio /= out;
+}
+
+/*
+ * Reset state, as on a CCP ResetReq.
+ */
+static void
+bsd_reset(state)
+ void *state;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+
+ db->seqno = 0;
+ bsd_clear(db);
+ db->clear_count = 0;
+}
+
+/*
+ * Allocate space for a (de) compressor.
+ */
+static void *
+bsd_alloc(options, opt_len, decomp)
+ u_char *options;
+ int opt_len, decomp;
+{
+ int bits;
+ u_int newlen, hsize, hshift, maxmaxcode;
+ struct bsd_db *db;
+
+ if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
+ || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
+ return NULL;
+
+ bits = BSD_NBITS(options[2]);
+ switch (bits) {
+ case 9: /* needs 82152 for both directions */
+ case 10: /* needs 84144 */
+ case 11: /* needs 88240 */
+ case 12: /* needs 96432 */
+ hsize = 5003;
+ hshift = 4;
+ break;
+ case 13: /* needs 176784 */
+ hsize = 9001;
+ hshift = 5;
+ break;
+ case 14: /* needs 353744 */
+ hsize = 18013;
+ hshift = 6;
+ break;
+ case 15: /* needs 691440 */
+ hsize = 35023;
+ hshift = 7;
+ break;
+ case 16: /* needs 1366160--far too much, */
+ /* hsize = 69001; */ /* and 69001 is too big for cptr */
+ /* hshift = 8; */ /* in struct bsd_db */
+ /* break; */
+ default:
+ return NULL;
+ }
+
+ maxmaxcode = MAXCODE(bits);
+ newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
+#ifdef __osf__
+ db = (struct bsd_db *) ALLOC_SLEEP(newlen);
+#else
+ db = (struct bsd_db *) ALLOC_NOSLEEP(newlen);
+#endif
+ if (!db)
+ return NULL;
+ bzero(db, sizeof(*db) - sizeof(db->dict));
+
+ if (!decomp) {
+ db->lens = NULL;
+ } else {
+#ifdef __osf__
+ db->lens = (u_short *) ALLOC_SLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
+#else
+ db->lens = (u_short *) ALLOC_NOSLEEP((maxmaxcode+1) * sizeof(db->lens[0]));
+#endif
+ if (!db->lens) {
+ FREE(db, newlen);
+ return NULL;
+ }
+ }
+
+ db->totlen = newlen;
+ db->hsize = hsize;
+ db->hshift = hshift;
+ db->maxmaxcode = maxmaxcode;
+ db->maxbits = bits;
+
+ return (void *) db;
+}
+
+static void
+bsd_free(state)
+ void *state;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+
+ if (db->lens)
+ FREE(db->lens, (db->maxmaxcode+1) * sizeof(db->lens[0]));
+ FREE(db, db->totlen);
+}
+
+static void *
+bsd_comp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ return bsd_alloc(options, opt_len, 0);
+}
+
+static void *
+bsd_decomp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ return bsd_alloc(options, opt_len, 1);
+}
+
+/*
+ * Initialize the database.
+ */
+static int
+bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
+ struct bsd_db *db;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug, decomp;
+{
+ int i;
+
+ if (opt_len < CILEN_BSD_COMPRESS
+ || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
+ || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
+ || BSD_NBITS(options[2]) != db->maxbits
+ || decomp && db->lens == NULL)
+ return 0;
+
+ if (decomp) {
+ i = LAST+1;
+ while (i != 0)
+ db->lens[--i] = 1;
+ }
+ i = db->hsize;
+ while (i != 0) {
+ db->dict[--i].codem1 = BADCODEM1;
+ db->dict[i].cptr = 0;
+ }
+
+ db->unit = unit;
+ db->hdrlen = hdrlen;
+ db->mru = mru;
+ if (debug)
+ db->debug = 1;
+
+ bsd_reset(db);
+
+ return 1;
+}
+
+static int
+bsd_comp_init(state, options, opt_len, unit, hdrlen, debug)
+ void *state;
+ u_char *options;
+ int opt_len, unit, hdrlen, debug;
+{
+ return bsd_init((struct bsd_db *) state, options, opt_len,
+ unit, hdrlen, 0, debug, 0);
+}
+
+static int
+bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
+ void *state;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug;
+{
+ return bsd_init((struct bsd_db *) state, options, opt_len,
+ unit, hdrlen, mru, debug, 1);
+}
+
+
+/*
+ * compress a packet
+ * One change from the BSD compress command is that when the
+ * code size expands, we do not output a bunch of padding.
+ *
+ * N.B. at present, we ignore the hdrlen specified in the comp_init call.
+ */
+static int /* new slen */
+bsd_compress(state, mretp, mp, slen, maxolen)
+ void *state;
+ mblk_t **mretp; /* return compressed mbuf chain here */
+ mblk_t *mp; /* from here */
+ int slen; /* uncompressed length */
+ int maxolen; /* max compressed length */
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ int hshift = db->hshift;
+ u_int max_ent = db->max_ent;
+ u_int n_bits = db->n_bits;
+ u_int bitno = 32;
+ u_int32_t accm = 0, fcode;
+ struct bsd_dict *dictp;
+ u_char c;
+ int hval, disp, ent, ilen;
+ mblk_t *np, *mret;
+ u_char *rptr, *wptr;
+ u_char *cp_end;
+ int olen;
+ mblk_t *m, **mnp;
+
+#define PUTBYTE(v) { \
+ if (wptr) { \
+ *wptr++ = (v); \
+ if (wptr >= cp_end) { \
+ m->b_wptr = wptr; \
+ m = m->b_cont; \
+ if (m) { \
+ wptr = m->b_wptr; \
+ cp_end = m->b_datap->db_lim; \
+ } else \
+ wptr = NULL; \
+ } \
+ } \
+ ++olen; \
+}
+
+#define OUTPUT(ent) { \
+ bitno -= n_bits; \
+ accm |= ((ent) << bitno); \
+ do { \
+ PUTBYTE(accm >> 24); \
+ accm <<= 8; \
+ bitno += 8; \
+ } while (bitno <= 24); \
+}
+
+ /*
+ * First get the protocol and check that we're
+ * interested in this packet.
+ */
+ *mretp = NULL;
+ rptr = mp->b_rptr;
+ if (rptr + PPP_HDRLEN > mp->b_wptr) {
+ if (!pullupmsg(mp, PPP_HDRLEN))
+ return 0;
+ rptr = mp->b_rptr;
+ }
+ ent = PPP_PROTOCOL(rptr); /* get the protocol */
+ if (ent < 0x21 || ent > 0xf9)
+ return 0;
+
+ /* Don't generate compressed packets which are larger than
+ the uncompressed packet. */
+ if (maxolen > slen)
+ maxolen = slen;
+
+ /* Allocate enough message blocks to give maxolen total space. */
+ mnp = &mret;
+ for (olen = maxolen; olen > 0; ) {
+ m = allocb((olen < 4096? olen: 4096), BPRI_MED);
+ *mnp = m;
+ if (m == NULL) {
+ if (mret != NULL) {
+ freemsg(mret);
+ mnp = &mret;
+ }
+ break;
+ }
+ mnp = &m->b_cont;
+ olen -= m->b_datap->db_lim - m->b_wptr;
+ }
+ *mnp = NULL;
+
+ if ((m = mret) != NULL) {
+ wptr = m->b_wptr;
+ cp_end = m->b_datap->db_lim;
+ } else
+ wptr = cp_end = NULL;
+ olen = 0;
+
+ /*
+ * Copy the PPP header over, changing the protocol,
+ * and install the 2-byte sequence number.
+ */
+ if (wptr) {
+ wptr[0] = PPP_ADDRESS(rptr);
+ wptr[1] = PPP_CONTROL(rptr);
+ wptr[2] = 0; /* change the protocol */
+ wptr[3] = PPP_COMP;
+ wptr[4] = db->seqno >> 8;
+ wptr[5] = db->seqno;
+ wptr += PPP_HDRLEN + BSD_OVHD;
+ }
+ ++db->seqno;
+ rptr += PPP_HDRLEN;
+
+ slen = mp->b_wptr - rptr;
+ ilen = slen + 1;
+ np = mp->b_cont;
+ for (;;) {
+ if (slen <= 0) {
+ if (!np)
+ break;
+ rptr = np->b_rptr;
+ slen = np->b_wptr - rptr;
+ np = np->b_cont;
+ if (!slen)
+ continue; /* handle 0-length buffers */
+ ilen += slen;
+ }
+
+ slen--;
+ c = *rptr++;
+ fcode = BSD_KEY(ent, c);
+ hval = BSD_HASH(ent, c, hshift);
+ dictp = &db->dict[hval];
+
+ /* Validate and then check the entry. */
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ if (dictp->f.fcode == fcode) {
+ ent = dictp->codem1+1;
+ continue; /* found (prefix,suffix) */
+ }
+
+ /* continue probing until a match or invalid entry */
+ disp = (hval == 0) ? 1 : hval;
+ do {
+ hval += disp;
+ if (hval >= db->hsize)
+ hval -= db->hsize;
+ dictp = &db->dict[hval];
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ } while (dictp->f.fcode != fcode);
+ ent = dictp->codem1 + 1; /* finally found (prefix,suffix) */
+ continue;
+
+ nomatch:
+ OUTPUT(ent); /* output the prefix */
+
+ /* code -> hashtable */
+ if (max_ent < db->maxmaxcode) {
+ struct bsd_dict *dictp2;
+ /* expand code size if needed */
+ if (max_ent >= MAXCODE(n_bits))
+ db->n_bits = ++n_bits;
+
+ /* Invalidate old hash table entry using
+ * this code, and then take it over.
+ */
+ dictp2 = &db->dict[max_ent+1];
+ if (db->dict[dictp2->cptr].codem1 == max_ent)
+ db->dict[dictp2->cptr].codem1 = BADCODEM1;
+ dictp2->cptr = hval;
+ dictp->codem1 = max_ent;
+ dictp->f.fcode = fcode;
+
+ db->max_ent = ++max_ent;
+ }
+ ent = c;
+ }
+
+ OUTPUT(ent); /* output the last code */
+ db->bytes_out += olen;
+ db->in_count += ilen;
+ if (bitno < 32)
+ ++db->bytes_out; /* count complete bytes */
+
+ if (bsd_check(db))
+ OUTPUT(CLEAR); /* do not count the CLEAR */
+
+ /*
+ * Pad dribble bits of last code with ones.
+ * Do not emit a completely useless byte of ones.
+ */
+ if (bitno != 32)
+ PUTBYTE((accm | (0xff << (bitno-8))) >> 24);
+
+ /*
+ * Increase code size if we would have without the packet
+ * boundary and as the decompressor will.
+ */
+ if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
+ db->n_bits++;
+
+ db->uncomp_bytes += ilen;
+ ++db->uncomp_count;
+ if (olen + PPP_HDRLEN + BSD_OVHD > maxolen && mret != NULL) {
+ /* throw away the compressed stuff if it is longer than uncompressed */
+ freemsg(mret);
+ mret = NULL;
+ ++db->incomp_count;
+ db->incomp_bytes += ilen;
+ } else if (wptr != NULL) {
+ m->b_wptr = wptr;
+ if (m->b_cont) {
+ freemsg(m->b_cont);
+ m->b_cont = NULL;
+ }
+ ++db->comp_count;
+ db->comp_bytes += olen + BSD_OVHD;
+ }
+
+ *mretp = mret;
+ return olen + PPP_HDRLEN + BSD_OVHD;
+#undef OUTPUT
+#undef PUTBYTE
+}
+
+
+/*
+ * Update the "BSD Compress" dictionary on the receiver for
+ * incompressible data by pretending to compress the incoming data.
+ */
+static void
+bsd_incomp(state, dmsg)
+ void *state;
+ mblk_t *dmsg;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int hshift = db->hshift;
+ u_int max_ent = db->max_ent;
+ u_int n_bits = db->n_bits;
+ struct bsd_dict *dictp;
+ u_int32_t fcode;
+ u_char c;
+ long hval, disp;
+ int slen, ilen;
+ u_int bitno = 7;
+ u_char *rptr;
+ u_int ent;
+
+ rptr = dmsg->b_rptr;
+ if (rptr + PPP_HDRLEN > dmsg->b_wptr) {
+ if (!pullupmsg(dmsg, PPP_HDRLEN))
+ return;
+ rptr = dmsg->b_rptr;
+ }
+ ent = PPP_PROTOCOL(rptr); /* get the protocol */
+ if (ent < 0x21 || ent > 0xf9)
+ return;
+
+ db->seqno++;
+ ilen = 1; /* count the protocol as 1 byte */
+ rptr += PPP_HDRLEN;
+ for (;;) {
+ slen = dmsg->b_wptr - rptr;
+ if (slen <= 0) {
+ dmsg = dmsg->b_cont;
+ if (!dmsg)
+ break;
+ rptr = dmsg->b_rptr;
+ continue; /* skip zero-length buffers */
+ }
+ ilen += slen;
+
+ do {
+ c = *rptr++;
+ fcode = BSD_KEY(ent, c);
+ hval = BSD_HASH(ent, c, hshift);
+ dictp = &db->dict[hval];
+
+ /* validate and then check the entry */
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ if (dictp->f.fcode == fcode) {
+ ent = dictp->codem1+1;
+ continue; /* found (prefix,suffix) */
+ }
+
+ /* continue probing until a match or invalid entry */
+ disp = (hval == 0) ? 1 : hval;
+ do {
+ hval += disp;
+ if (hval >= db->hsize)
+ hval -= db->hsize;
+ dictp = &db->dict[hval];
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ } while (dictp->f.fcode != fcode);
+ ent = dictp->codem1+1;
+ continue; /* finally found (prefix,suffix) */
+
+ nomatch: /* output (count) the prefix */
+ bitno += n_bits;
+
+ /* code -> hashtable */
+ if (max_ent < db->maxmaxcode) {
+ struct bsd_dict *dictp2;
+ /* expand code size if needed */
+ if (max_ent >= MAXCODE(n_bits))
+ db->n_bits = ++n_bits;
+
+ /* Invalidate previous hash table entry
+ * assigned this code, and then take it over.
+ */
+ dictp2 = &db->dict[max_ent+1];
+ if (db->dict[dictp2->cptr].codem1 == max_ent)
+ db->dict[dictp2->cptr].codem1 = BADCODEM1;
+ dictp2->cptr = hval;
+ dictp->codem1 = max_ent;
+ dictp->f.fcode = fcode;
+
+ db->max_ent = ++max_ent;
+ db->lens[max_ent] = db->lens[ent]+1;
+ }
+ ent = c;
+ } while (--slen != 0);
+ }
+ bitno += n_bits; /* output (count) the last code */
+ db->bytes_out += bitno/8;
+ db->in_count += ilen;
+ (void)bsd_check(db);
+
+ ++db->incomp_count;
+ db->incomp_bytes += ilen;
+ ++db->uncomp_count;
+ db->uncomp_bytes += ilen;
+
+ /* Increase code size if we would have without the packet
+ * boundary and as the decompressor will.
+ */
+ if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
+ db->n_bits++;
+}
+
+
+/*
+ * Decompress "BSD Compress"
+ *
+ * Because of patent problems, we return DECOMP_ERROR for errors
+ * found by inspecting the input data and for system problems, but
+ * DECOMP_FATALERROR for any errors which could possibly be said to
+ * be being detected "after" decompression. For DECOMP_ERROR,
+ * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
+ * infringing a patent of Motorola's if we do, so we take CCP down
+ * instead.
+ *
+ * Given that the frame has the correct sequence number and a good FCS,
+ * errors such as invalid codes in the input most likely indicate a
+ * bug, so we return DECOMP_FATALERROR for them in order to turn off
+ * compression, even though they are detected by inspecting the input.
+ */
+static int
+bsd_decompress(state, cmsg, dmpp)
+ void *state;
+ mblk_t *cmsg, **dmpp;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int max_ent = db->max_ent;
+ u_int32_t accm = 0;
+ u_int bitno = 32; /* 1st valid bit in accm */
+ u_int n_bits = db->n_bits;
+ u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
+ struct bsd_dict *dictp;
+ int explen, i, seq, len;
+ u_int incode, oldcode, finchar;
+ u_char *p, *rptr, *wptr;
+ mblk_t *dmsg, *mret;
+ int adrs, ctrl, ilen;
+ int dlen, space, codelen, extra;
+
+ /*
+ * Get at least the BSD Compress header in the first buffer
+ */
+ rptr = cmsg->b_rptr;
+ if (rptr + PPP_HDRLEN + BSD_OVHD >= cmsg->b_wptr) {
+ if (!pullupmsg(cmsg, PPP_HDRLEN + BSD_OVHD + 1)) {
+ if (db->debug)
+ printf("bsd_decomp%d: failed to pullup\n", db->unit);
+ return DECOMP_ERROR;
+ }
+ rptr = cmsg->b_rptr;
+ }
+
+ /*
+ * Save the address/control from the PPP header
+ * and then get the sequence number.
+ */
+ adrs = PPP_ADDRESS(rptr);
+ ctrl = PPP_CONTROL(rptr);
+ rptr += PPP_HDRLEN;
+ seq = (rptr[0] << 8) + rptr[1];
+ rptr += BSD_OVHD;
+ ilen = len = cmsg->b_wptr - rptr;
+
+ /*
+ * Check the sequence number and give up if it is not what we expect.
+ */
+ if (seq != db->seqno++) {
+ if (db->debug)
+ printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
+ db->unit, seq, db->seqno - 1);
+ return DECOMP_ERROR;
+ }
+
+ /*
+ * Allocate one message block to start with.
+ */
+ if ((dmsg = allocb(DECOMP_CHUNK + db->hdrlen, BPRI_MED)) == NULL)
+ return DECOMP_ERROR;
+ mret = dmsg;
+ dmsg->b_wptr += db->hdrlen;
+ dmsg->b_rptr = wptr = dmsg->b_wptr;
+
+ /* Fill in the ppp header, but not the last byte of the protocol
+ (that comes from the decompressed data). */
+ wptr[0] = adrs;
+ wptr[1] = ctrl;
+ wptr[2] = 0;
+ wptr += PPP_HDRLEN - 1;
+ space = dmsg->b_datap->db_lim - wptr;
+
+ oldcode = CLEAR;
+ explen = 0;
+ for (;;) {
+ if (len == 0) {
+ cmsg = cmsg->b_cont;
+ if (!cmsg) /* quit at end of message */
+ break;
+ rptr = cmsg->b_rptr;
+ len = cmsg->b_wptr - rptr;
+ ilen += len;
+ continue; /* handle 0-length buffers */
+ }
+
+ /*
+ * Accumulate bytes until we have a complete code.
+ * Then get the next code, relying on the 32-bit,
+ * unsigned accm to mask the result.
+ */
+ bitno -= 8;
+ accm |= *rptr++ << bitno;
+ --len;
+ if (tgtbitno < bitno)
+ continue;
+ incode = accm >> tgtbitno;
+ accm <<= n_bits;
+ bitno += n_bits;
+
+ if (incode == CLEAR) {
+ /*
+ * The dictionary must only be cleared at
+ * the end of a packet. But there could be an
+ * empty message block at the end.
+ */
+ if (len > 0 || cmsg->b_cont != 0) {
+ if (cmsg->b_cont)
+ len += msgdsize(cmsg->b_cont);
+ if (len > 0) {
+ freemsg(dmsg);
+ if (db->debug)
+ printf("bsd_decomp%d: bad CLEAR\n", db->unit);
+ return DECOMP_FATALERROR;
+ }
+ }
+ bsd_clear(db);
+ explen = ilen = 0;
+ break;
+ }
+
+ if (incode > max_ent + 2 || incode > db->maxmaxcode
+ || incode > max_ent && oldcode == CLEAR) {
+ freemsg(dmsg);
+ if (db->debug) {
+ printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
+ db->unit, incode, oldcode);
+ printf("max_ent=0x%x dlen=%d seqno=%d\n",
+ max_ent, dlen, db->seqno);
+ }
+ return DECOMP_FATALERROR; /* probably a bug */
+ }
+
+ /* Special case for KwKwK string. */
+ if (incode > max_ent) {
+ finchar = oldcode;
+ extra = 1;
+ } else {
+ finchar = incode;
+ extra = 0;
+ }
+
+ codelen = db->lens[finchar];
+ explen += codelen + extra;
+ if (explen > db->mru + 1) {
+ freemsg(dmsg);
+ if (db->debug)
+ printf("bsd_decomp%d: ran out of mru\n", db->unit);
+ return DECOMP_FATALERROR;
+ }
+
+ /*
+ * Decode this code and install it in the decompressed buffer.
+ */
+ space -= codelen + extra;
+ if (space < 0) {
+ /* Allocate another message block. */
+ dmsg->b_wptr = wptr;
+ dlen = codelen + extra;
+ if (dlen < DECOMP_CHUNK)
+ dlen = DECOMP_CHUNK;
+ if ((dmsg->b_cont = allocb(dlen, BPRI_MED)) == NULL) {
+ freemsg(dmsg);
+ return DECOMP_ERROR;
+ }
+ dmsg = dmsg->b_cont;
+ wptr = dmsg->b_wptr;
+ space = dmsg->b_datap->db_lim - wptr - codelen - extra;
+ }
+ p = (wptr += codelen);
+ while (finchar > LAST) {
+ dictp = &db->dict[db->dict[finchar].cptr];
+#ifdef DEBUG
+ --codelen;
+ if (codelen <= 0) {
+ freemsg(dmsg);
+ printf("bsd_decomp%d: fell off end of chain ", db->unit);
+ printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
+ incode, finchar, db->dict[finchar].cptr, max_ent);
+ return DECOMP_FATALERROR;
+ }
+ if (dictp->codem1 != finchar-1) {
+ freemsg(dmsg);
+ printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
+ db->unit, incode, finchar);
+ printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
+ db->dict[finchar].cptr, dictp->codem1);
+ return DECOMP_FATALERROR;
+ }
+#endif
+ *--p = dictp->f.hs.suffix;
+ finchar = dictp->f.hs.prefix;
+ }
+ *--p = finchar;
+
+#ifdef DEBUG
+ if (--codelen != 0)
+ printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
+ db->unit, codelen, incode, max_ent);
+#endif
+
+ if (extra) /* the KwKwK case again */
+ *wptr++ = finchar;
+
+ /*
+ * If not first code in a packet, and
+ * if not out of code space, then allocate a new code.
+ *
+ * Keep the hash table correct so it can be used
+ * with uncompressed packets.
+ */
+ if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
+ struct bsd_dict *dictp2;
+ u_int32_t fcode;
+ int hval, disp;
+
+ fcode = BSD_KEY(oldcode,finchar);
+ hval = BSD_HASH(oldcode,finchar,db->hshift);
+ dictp = &db->dict[hval];
+
+ /* look for a free hash table entry */
+ if (dictp->codem1 < max_ent) {
+ disp = (hval == 0) ? 1 : hval;
+ do {
+ hval += disp;
+ if (hval >= db->hsize)
+ hval -= db->hsize;
+ dictp = &db->dict[hval];
+ } while (dictp->codem1 < max_ent);
+ }
+
+ /*
+ * Invalidate previous hash table entry
+ * assigned this code, and then take it over
+ */
+ dictp2 = &db->dict[max_ent+1];
+ if (db->dict[dictp2->cptr].codem1 == max_ent) {
+ db->dict[dictp2->cptr].codem1 = BADCODEM1;
+ }
+ dictp2->cptr = hval;
+ dictp->codem1 = max_ent;
+ dictp->f.fcode = fcode;
+
+ db->max_ent = ++max_ent;
+ db->lens[max_ent] = db->lens[oldcode]+1;
+
+ /* Expand code size if needed. */
+ if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
+ db->n_bits = ++n_bits;
+ tgtbitno = 32-n_bits;
+ }
+ }
+ oldcode = incode;
+ }
+ dmsg->b_wptr = wptr;
+
+ /*
+ * Keep the checkpoint right so that incompressible packets
+ * clear the dictionary at the right times.
+ */
+ db->bytes_out += ilen;
+ db->in_count += explen;
+ if (bsd_check(db) && db->debug) {
+ printf("bsd_decomp%d: peer should have cleared dictionary\n",
+ db->unit);
+ }
+
+ ++db->comp_count;
+ db->comp_bytes += ilen + BSD_OVHD;
+ ++db->uncomp_count;
+ db->uncomp_bytes += explen;
+
+ *dmpp = mret;
+ return DECOMP_OK;
+}
+#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/modules/deflate.c b/mdk-stage1/ppp/modules/deflate.c
new file mode 100644
index 000000000..692b87e90
--- /dev/null
+++ b/mdk-stage1/ppp/modules/deflate.c
@@ -0,0 +1,760 @@
+/*
+ * ppp_deflate.c - interface the zlib procedures for Deflate compression
+ * and decompression (as used by gzip) to the PPP code.
+ * This version is for use with STREAMS under SunOS 4.x, Solaris 2,
+ * SVR4, OSF/1 and AIX 4.x.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: deflate.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifdef AIX4
+#include <net/net_globals.h>
+#endif
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/stream.h>
+#include <net/ppp_defs.h>
+#include "ppp_mod.h"
+
+#define PACKETPTR mblk_t *
+#include <net/ppp-comp.h>
+
+#ifdef __osf__
+#include "zlib.h"
+#else
+#include "../common/zlib.h"
+#endif
+
+#if DO_DEFLATE
+
+#define DEFLATE_DEBUG 1
+
+/*
+ * State for a Deflate (de)compressor.
+ */
+struct deflate_state {
+ int seqno;
+ int w_size;
+ int unit;
+ int hdrlen;
+ int mru;
+ int debug;
+ z_stream strm;
+ struct compstat stats;
+};
+
+#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
+
+static void *z_alloc __P((void *, u_int items, u_int size));
+static void *z_alloc_init __P((void *, u_int items, u_int size));
+static void z_free __P((void *, void *ptr));
+static void *z_comp_alloc __P((u_char *options, int opt_len));
+static void *z_decomp_alloc __P((u_char *options, int opt_len));
+static void z_comp_free __P((void *state));
+static void z_decomp_free __P((void *state));
+static int z_comp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int debug));
+static int z_decomp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+static int z_compress __P((void *state, mblk_t **mret,
+ mblk_t *mp, int slen, int maxolen));
+static void z_incomp __P((void *state, mblk_t *dmsg));
+static int z_decompress __P((void *state, mblk_t *cmp,
+ mblk_t **dmpp));
+static void z_comp_reset __P((void *state));
+static void z_decomp_reset __P((void *state));
+static void z_comp_stats __P((void *state, struct compstat *stats));
+
+/*
+ * Procedures exported to ppp_comp.c.
+ */
+struct compressor ppp_deflate = {
+ CI_DEFLATE, /* compress_proto */
+ z_comp_alloc, /* comp_alloc */
+ z_comp_free, /* comp_free */
+ z_comp_init, /* comp_init */
+ z_comp_reset, /* comp_reset */
+ z_compress, /* compress */
+ z_comp_stats, /* comp_stat */
+ z_decomp_alloc, /* decomp_alloc */
+ z_decomp_free, /* decomp_free */
+ z_decomp_init, /* decomp_init */
+ z_decomp_reset, /* decomp_reset */
+ z_decompress, /* decompress */
+ z_incomp, /* incomp */
+ z_comp_stats, /* decomp_stat */
+};
+
+struct compressor ppp_deflate_draft = {
+ CI_DEFLATE_DRAFT, /* compress_proto */
+ z_comp_alloc, /* comp_alloc */
+ z_comp_free, /* comp_free */
+ z_comp_init, /* comp_init */
+ z_comp_reset, /* comp_reset */
+ z_compress, /* compress */
+ z_comp_stats, /* comp_stat */
+ z_decomp_alloc, /* decomp_alloc */
+ z_decomp_free, /* decomp_free */
+ z_decomp_init, /* decomp_init */
+ z_decomp_reset, /* decomp_reset */
+ z_decompress, /* decompress */
+ z_incomp, /* incomp */
+ z_comp_stats, /* decomp_stat */
+};
+
+#define DECOMP_CHUNK 512
+
+/*
+ * Space allocation and freeing routines for use by zlib routines.
+ */
+struct zchunk {
+ u_int size;
+ u_int guard;
+};
+
+#define GUARD_MAGIC 0x77a6011a
+
+static void *
+z_alloc_init(notused, items, size)
+ void *notused;
+ u_int items, size;
+{
+ struct zchunk *z;
+
+ size = items * size + sizeof(struct zchunk);
+#ifdef __osf__
+ z = (struct zchunk *) ALLOC_SLEEP(size);
+#else
+ z = (struct zchunk *) ALLOC_NOSLEEP(size);
+#endif
+ z->size = size;
+ z->guard = GUARD_MAGIC;
+ return (void *) (z + 1);
+}
+
+static void *
+z_alloc(notused, items, size)
+ void *notused;
+ u_int items, size;
+{
+ struct zchunk *z;
+
+ size = items * size + sizeof(struct zchunk);
+ z = (struct zchunk *) ALLOC_NOSLEEP(size);
+ z->size = size;
+ z->guard = GUARD_MAGIC;
+ return (void *) (z + 1);
+}
+
+static void
+z_free(notused, ptr)
+ void *notused;
+ void *ptr;
+{
+ struct zchunk *z = ((struct zchunk *) ptr) - 1;
+
+ if (z->guard != GUARD_MAGIC) {
+ printf("ppp: z_free of corrupted chunk at %x (%x, %x)\n",
+ z, z->size, z->guard);
+ return;
+ }
+ FREE(z, z->size);
+}
+
+/*
+ * Allocate space for a compressor.
+ */
+static void *
+z_comp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ struct deflate_state *state;
+ int w_size;
+
+ if (opt_len != CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return NULL;
+ w_size = DEFLATE_SIZE(options[2]);
+ /*
+ * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
+ * 8 will cause kernel crashes because of a bug in zlib.
+ */
+ if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
+ return NULL;
+
+
+#ifdef __osf__
+ state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
+#else
+ state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
+#endif
+
+ if (state == NULL)
+ return NULL;
+
+ state->strm.next_in = NULL;
+ state->strm.zalloc = (alloc_func) z_alloc_init;
+ state->strm.zfree = (free_func) z_free;
+ if (deflateInit2(&state->strm, Z_DEFAULT_COMPRESSION, DEFLATE_METHOD_VAL,
+ -w_size, 8, Z_DEFAULT_STRATEGY) != Z_OK) {
+ FREE(state, sizeof(*state));
+ return NULL;
+ }
+
+ state->strm.zalloc = (alloc_func) z_alloc;
+ state->w_size = w_size;
+ bzero(&state->stats, sizeof(state->stats));
+ return (void *) state;
+}
+
+static void
+z_comp_free(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ deflateEnd(&state->strm);
+ FREE(state, sizeof(*state));
+}
+
+static int
+z_comp_init(arg, options, opt_len, unit, hdrlen, debug)
+ void *arg;
+ u_char *options;
+ int opt_len, unit, hdrlen, debug;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ if (opt_len < CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || DEFLATE_SIZE(options[2]) != state->w_size
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return 0;
+
+ state->seqno = 0;
+ state->unit = unit;
+ state->hdrlen = hdrlen;
+ state->debug = debug;
+
+ deflateReset(&state->strm);
+
+ return 1;
+}
+
+static void
+z_comp_reset(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ state->seqno = 0;
+ deflateReset(&state->strm);
+}
+
+static int
+z_compress(arg, mret, mp, orig_len, maxolen)
+ void *arg;
+ mblk_t **mret; /* compressed packet (out) */
+ mblk_t *mp; /* uncompressed packet (in) */
+ int orig_len, maxolen;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_char *rptr, *wptr;
+ int proto, olen, wspace, r, flush;
+ mblk_t *m;
+
+ /*
+ * Check that the protocol is in the range we handle.
+ */
+ *mret = NULL;
+ rptr = mp->b_rptr;
+ if (rptr + PPP_HDRLEN > mp->b_wptr) {
+ if (!pullupmsg(mp, PPP_HDRLEN))
+ return 0;
+ rptr = mp->b_rptr;
+ }
+ proto = PPP_PROTOCOL(rptr);
+ if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
+ return orig_len;
+
+ /* Allocate one mblk initially. */
+ if (maxolen > orig_len)
+ maxolen = orig_len;
+ if (maxolen <= PPP_HDRLEN + 2) {
+ wspace = 0;
+ m = NULL;
+ } else {
+ wspace = maxolen + state->hdrlen;
+ if (wspace > 4096)
+ wspace = 4096;
+ m = allocb(wspace, BPRI_MED);
+ }
+ if (m != NULL) {
+ *mret = m;
+ if (state->hdrlen + PPP_HDRLEN + 2 < wspace) {
+ m->b_rptr += state->hdrlen;
+ m->b_wptr = m->b_rptr;
+ wspace -= state->hdrlen;
+ }
+ wptr = m->b_wptr;
+
+ /*
+ * Copy over the PPP header and store the 2-byte sequence number.
+ */
+ wptr[0] = PPP_ADDRESS(rptr);
+ wptr[1] = PPP_CONTROL(rptr);
+ wptr[2] = PPP_COMP >> 8;
+ wptr[3] = PPP_COMP;
+ wptr += PPP_HDRLEN;
+ wptr[0] = state->seqno >> 8;
+ wptr[1] = state->seqno;
+ wptr += 2;
+ state->strm.next_out = wptr;
+ state->strm.avail_out = wspace - (PPP_HDRLEN + 2);
+ } else {
+ state->strm.next_out = NULL;
+ state->strm.avail_out = 1000000;
+ }
+ ++state->seqno;
+
+ rptr += (proto > 0xff)? 2: 3; /* skip 1st proto byte if 0 */
+ state->strm.next_in = rptr;
+ state->strm.avail_in = mp->b_wptr - rptr;
+ mp = mp->b_cont;
+ flush = (mp == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
+ olen = 0;
+ for (;;) {
+ r = deflate(&state->strm, flush);
+ if (r != Z_OK) {
+ printf("z_compress: deflate returned %d (%s)\n",
+ r, (state->strm.msg? state->strm.msg: ""));
+ break;
+ }
+ if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
+ break; /* all done */
+ if (state->strm.avail_in == 0 && mp != NULL) {
+ state->strm.next_in = mp->b_rptr;
+ state->strm.avail_in = mp->b_wptr - mp->b_rptr;
+ mp = mp->b_cont;
+ if (mp == NULL)
+ flush = Z_PACKET_FLUSH;
+ }
+ if (state->strm.avail_out == 0) {
+ if (m != NULL) {
+ m->b_wptr += wspace;
+ olen += wspace;
+ wspace = maxolen - olen;
+ if (wspace <= 0) {
+ wspace = 0;
+ m->b_cont = NULL;
+ } else {
+ if (wspace < 32)
+ wspace = 32;
+ else if (wspace > 4096)
+ wspace = 4096;
+ m->b_cont = allocb(wspace, BPRI_MED);
+ }
+ m = m->b_cont;
+ if (m != NULL) {
+ state->strm.next_out = m->b_wptr;
+ state->strm.avail_out = wspace;
+ }
+ }
+ if (m == NULL) {
+ state->strm.next_out = NULL;
+ state->strm.avail_out = 1000000;
+ }
+ }
+ }
+ if (m != NULL) {
+ m->b_wptr += wspace - state->strm.avail_out;
+ olen += wspace - state->strm.avail_out;
+ }
+
+ /*
+ * See if we managed to reduce the size of the packet.
+ */
+ if (olen < orig_len && m != NULL) {
+ state->stats.comp_bytes += olen;
+ state->stats.comp_packets++;
+ } else {
+ if (*mret != NULL) {
+ freemsg(*mret);
+ *mret = NULL;
+ }
+ state->stats.inc_bytes += orig_len;
+ state->stats.inc_packets++;
+ olen = orig_len;
+ }
+ state->stats.unc_bytes += orig_len;
+ state->stats.unc_packets++;
+
+ return olen;
+}
+
+static void
+z_comp_stats(arg, stats)
+ void *arg;
+ struct compstat *stats;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_int out;
+
+ *stats = state->stats;
+ stats->ratio = stats->unc_bytes;
+ out = stats->comp_bytes + stats->unc_bytes;
+ if (stats->ratio <= 0x7ffffff)
+ stats->ratio <<= 8;
+ else
+ out >>= 8;
+ if (out != 0)
+ stats->ratio /= out;
+}
+
+/*
+ * Allocate space for a decompressor.
+ */
+static void *
+z_decomp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ struct deflate_state *state;
+ int w_size;
+
+ if (opt_len != CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return NULL;
+ w_size = DEFLATE_SIZE(options[2]);
+ /*
+ * N.B. the 9 below should be DEFLATE_MIN_SIZE (8), but using
+ * 8 will cause kernel crashes because of a bug in zlib.
+ */
+ if (w_size < 9 || w_size > DEFLATE_MAX_SIZE)
+ return NULL;
+
+#ifdef __osf__
+ state = (struct deflate_state *) ALLOC_SLEEP(sizeof(*state));
+#else
+ state = (struct deflate_state *) ALLOC_NOSLEEP(sizeof(*state));
+#endif
+ if (state == NULL)
+ return NULL;
+
+ state->strm.next_out = NULL;
+ state->strm.zalloc = (alloc_func) z_alloc_init;
+ state->strm.zfree = (free_func) z_free;
+ if (inflateInit2(&state->strm, -w_size) != Z_OK) {
+ FREE(state, sizeof(*state));
+ return NULL;
+ }
+
+ state->strm.zalloc = (alloc_func) z_alloc;
+ state->w_size = w_size;
+ bzero(&state->stats, sizeof(state->stats));
+ return (void *) state;
+}
+
+static void
+z_decomp_free(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ inflateEnd(&state->strm);
+ FREE(state, sizeof(*state));
+}
+
+static int
+z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
+ void *arg;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ if (opt_len < CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || DEFLATE_SIZE(options[2]) != state->w_size
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return 0;
+
+ state->seqno = 0;
+ state->unit = unit;
+ state->hdrlen = hdrlen;
+ state->debug = debug;
+ state->mru = mru;
+
+ inflateReset(&state->strm);
+
+ return 1;
+}
+
+static void
+z_decomp_reset(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ state->seqno = 0;
+ inflateReset(&state->strm);
+}
+
+/*
+ * Decompress a Deflate-compressed packet.
+ *
+ * Because of patent problems, we return DECOMP_ERROR for errors
+ * found by inspecting the input data and for system problems, but
+ * DECOMP_FATALERROR for any errors which could possibly be said to
+ * be being detected "after" decompression. For DECOMP_ERROR,
+ * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
+ * infringing a patent of Motorola's if we do, so we take CCP down
+ * instead.
+ *
+ * Given that the frame has the correct sequence number and a good FCS,
+ * errors such as invalid codes in the input most likely indicate a
+ * bug, so we return DECOMP_FATALERROR for them in order to turn off
+ * compression, even though they are detected by inspecting the input.
+ */
+static int
+z_decompress(arg, mi, mop)
+ void *arg;
+ mblk_t *mi, **mop;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ mblk_t *mo, *mo_head;
+ u_char *rptr, *wptr;
+ int rlen, olen, ospace;
+ int seq, i, flush, r, decode_proto;
+ u_char hdr[PPP_HDRLEN + DEFLATE_OVHD];
+
+ *mop = NULL;
+ rptr = mi->b_rptr;
+ for (i = 0; i < PPP_HDRLEN + DEFLATE_OVHD; ++i) {
+ while (rptr >= mi->b_wptr) {
+ mi = mi->b_cont;
+ if (mi == NULL)
+ return DECOMP_ERROR;
+ rptr = mi->b_rptr;
+ }
+ hdr[i] = *rptr++;
+ }
+
+ /* Check the sequence number. */
+ seq = (hdr[PPP_HDRLEN] << 8) + hdr[PPP_HDRLEN+1];
+ if (seq != state->seqno) {
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_decompress%d: bad seq # %d, expected %d\n",
+ state->unit, seq, state->seqno);
+ return DECOMP_ERROR;
+ }
+ ++state->seqno;
+
+ /* Allocate an output message block. */
+ mo = allocb(DECOMP_CHUNK + state->hdrlen, BPRI_MED);
+ if (mo == NULL)
+ return DECOMP_ERROR;
+ mo_head = mo;
+ mo->b_cont = NULL;
+ mo->b_rptr += state->hdrlen;
+ mo->b_wptr = wptr = mo->b_rptr;
+ ospace = DECOMP_CHUNK;
+ olen = 0;
+
+ /*
+ * Fill in the first part of the PPP header. The protocol field
+ * comes from the decompressed data.
+ */
+ wptr[0] = PPP_ADDRESS(hdr);
+ wptr[1] = PPP_CONTROL(hdr);
+ wptr[2] = 0;
+
+ /*
+ * Set up to call inflate. We set avail_out to 1 initially so we can
+ * look at the first byte of the output and decide whether we have
+ * a 1-byte or 2-byte protocol field.
+ */
+ state->strm.next_in = rptr;
+ state->strm.avail_in = mi->b_wptr - rptr;
+ mi = mi->b_cont;
+ flush = (mi == NULL)? Z_PACKET_FLUSH: Z_NO_FLUSH;
+ rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
+ state->strm.next_out = wptr + 3;
+ state->strm.avail_out = 1;
+ decode_proto = 1;
+
+ /*
+ * Call inflate, supplying more input or output as needed.
+ */
+ for (;;) {
+ r = inflate(&state->strm, flush);
+ if (r != Z_OK) {
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_decompress%d: inflate returned %d (%s)\n",
+ state->unit, r, (state->strm.msg? state->strm.msg: ""));
+ freemsg(mo_head);
+ return DECOMP_FATALERROR;
+ }
+ if (flush != Z_NO_FLUSH && state->strm.avail_out != 0)
+ break; /* all done */
+ if (state->strm.avail_in == 0 && mi != NULL) {
+ state->strm.next_in = mi->b_rptr;
+ state->strm.avail_in = mi->b_wptr - mi->b_rptr;
+ rlen += state->strm.avail_in;
+ mi = mi->b_cont;
+ if (mi == NULL)
+ flush = Z_PACKET_FLUSH;
+ }
+ if (state->strm.avail_out == 0) {
+ if (decode_proto) {
+ state->strm.avail_out = ospace - PPP_HDRLEN;
+ if ((wptr[3] & 1) == 0) {
+ /* 2-byte protocol field */
+ wptr[2] = wptr[3];
+ --state->strm.next_out;
+ ++state->strm.avail_out;
+ }
+ decode_proto = 0;
+ } else {
+ mo->b_wptr += ospace;
+ olen += ospace;
+ mo->b_cont = allocb(DECOMP_CHUNK, BPRI_MED);
+ mo = mo->b_cont;
+ if (mo == NULL) {
+ freemsg(mo_head);
+ return DECOMP_ERROR;
+ }
+ state->strm.next_out = mo->b_rptr;
+ state->strm.avail_out = ospace = DECOMP_CHUNK;
+ }
+ }
+ }
+ if (decode_proto) {
+ freemsg(mo_head);
+ return DECOMP_ERROR;
+ }
+ mo->b_wptr += ospace - state->strm.avail_out;
+ olen += ospace - state->strm.avail_out;
+
+#if DEFLATE_DEBUG
+ if (olen > state->mru + PPP_HDRLEN)
+ printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
+ state->unit, olen, state->mru + PPP_HDRLEN);
+#endif
+
+ state->stats.unc_bytes += olen;
+ state->stats.unc_packets++;
+ state->stats.comp_bytes += rlen;
+ state->stats.comp_packets++;
+
+ *mop = mo_head;
+ return DECOMP_OK;
+}
+
+/*
+ * Incompressible data has arrived - add it to the history.
+ */
+static void
+z_incomp(arg, mi)
+ void *arg;
+ mblk_t *mi;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_char *rptr;
+ int rlen, proto, r;
+
+ /*
+ * Check that the protocol is one we handle.
+ */
+ rptr = mi->b_rptr;
+ if (rptr + PPP_HDRLEN > mi->b_wptr) {
+ if (!pullupmsg(mi, PPP_HDRLEN))
+ return;
+ rptr = mi->b_rptr;
+ }
+ proto = PPP_PROTOCOL(rptr);
+ if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
+ return;
+
+ ++state->seqno;
+
+ /*
+ * Iterate through the message blocks, adding the characters in them
+ * to the decompressor's history. For the first block, we start
+ * at the either the 1st or 2nd byte of the protocol field,
+ * depending on whether the protocol value is compressible.
+ */
+ rlen = mi->b_wptr - mi->b_rptr;
+ state->strm.next_in = rptr + 3;
+ state->strm.avail_in = rlen - 3;
+ if (proto > 0xff) {
+ --state->strm.next_in;
+ ++state->strm.avail_in;
+ }
+ for (;;) {
+ r = inflateIncomp(&state->strm);
+ if (r != Z_OK) {
+ /* gak! */
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
+ state->unit, r, (state->strm.msg? state->strm.msg: ""));
+ return;
+ }
+ mi = mi->b_cont;
+ if (mi == NULL)
+ break;
+ state->strm.next_in = mi->b_rptr;
+ state->strm.avail_in = mi->b_wptr - mi->b_rptr;
+ rlen += state->strm.avail_in;
+ }
+
+ /*
+ * Update stats.
+ */
+ state->stats.inc_bytes += rlen;
+ state->stats.inc_packets++;
+ state->stats.unc_bytes += rlen;
+ state->stats.unc_packets++;
+}
+
+#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/modules/if_ppp.c b/mdk-stage1/ppp/modules/if_ppp.c
new file mode 100644
index 000000000..52c5702b2
--- /dev/null
+++ b/mdk-stage1/ppp/modules/if_ppp.c
@@ -0,0 +1,865 @@
+/*
+ * if_ppp.c - a network interface connected to a STREAMS module.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: if_ppp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under SunOS 4 and Digital UNIX.
+ *
+ * This file provides the glue between PPP and IP.
+ */
+
+#define INET 1
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/errno.h>
+#include <sys/mbuf.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <net/netisr.h>
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include <netinet/in.h>
+#include <netinet/in_var.h>
+#ifdef __osf__
+#include <sys/ioctl.h>
+#include <net/if_types.h>
+#else
+#include <sys/sockio.h>
+#endif
+#include "ppp_mod.h"
+
+#include <sys/stream.h>
+
+#ifdef SNIT_SUPPORT
+#include <sys/time.h>
+#include <net/nit_if.h>
+#include <netinet/if_ether.h>
+#endif
+
+#ifdef __osf__
+#define SIOCSIFMTU SIOCSIPMTU
+#define SIOCGIFMTU SIOCRIPMTU
+#define IFA_ADDR(ifa) (*(ifa)->ifa_addr)
+#else
+#define IFA_ADDR(ifa) ((ifa)->ifa_addr)
+#endif
+
+#define ifr_mtu ifr_metric
+
+static int if_ppp_open __P((queue_t *, int, int, int));
+static int if_ppp_close __P((queue_t *, int));
+static int if_ppp_wput __P((queue_t *, mblk_t *));
+static int if_ppp_rput __P((queue_t *, mblk_t *));
+
+#define PPP_IF_ID 0x8021
+static struct module_info minfo = {
+ PPP_IF_ID, "if_ppp", 0, INFPSZ, 4096, 128
+};
+
+static struct qinit rinit = {
+ if_ppp_rput, NULL, if_ppp_open, if_ppp_close, NULL, &minfo, NULL
+};
+
+static struct qinit winit = {
+ if_ppp_wput, NULL, NULL, NULL, NULL, &minfo, NULL
+};
+
+struct streamtab if_pppinfo = {
+ &rinit, &winit, NULL, NULL
+};
+
+typedef struct if_ppp_state {
+ int unit;
+ queue_t *q;
+ int flags;
+} if_ppp_t;
+
+/* Values for flags */
+#define DBGLOG 1
+
+static int if_ppp_count; /* Number of currently-active streams */
+
+static int ppp_nalloc; /* Number of elements of ifs and states */
+static struct ifnet **ifs; /* Array of pointers to interface structs */
+static if_ppp_t **states; /* Array of pointers to state structs */
+
+static int if_ppp_output __P((struct ifnet *, struct mbuf *,
+ struct sockaddr *));
+static int if_ppp_ioctl __P((struct ifnet *, u_int, caddr_t));
+static struct mbuf *make_mbufs __P((mblk_t *, int));
+static mblk_t *make_message __P((struct mbuf *, int));
+
+#ifdef SNIT_SUPPORT
+/* Fake ether header for SNIT */
+static struct ether_header snit_ehdr = {{0}, {0}, ETHERTYPE_IP};
+#endif
+
+#ifndef __osf__
+static void ppp_if_detach __P((struct ifnet *));
+
+/*
+ * Detach all the interfaces before unloading.
+ * Not sure this works.
+ */
+int
+if_ppp_unload()
+{
+ int i;
+
+ if (if_ppp_count > 0)
+ return EBUSY;
+ for (i = 0; i < ppp_nalloc; ++i)
+ if (ifs[i] != 0)
+ ppp_if_detach(ifs[i]);
+ if (ifs) {
+ FREE(ifs, ppp_nalloc * sizeof (struct ifnet *));
+ FREE(states, ppp_nalloc * sizeof (struct if_ppp_t *));
+ }
+ ppp_nalloc = 0;
+ return 0;
+}
+#endif /* __osf__ */
+
+/*
+ * STREAMS module entry points.
+ */
+static int
+if_ppp_open(q, dev, flag, sflag)
+ queue_t *q;
+ int dev;
+ int flag, sflag;
+{
+ if_ppp_t *sp;
+
+ if (q->q_ptr == 0) {
+ sp = (if_ppp_t *) ALLOC_SLEEP(sizeof (if_ppp_t));
+ if (sp == 0)
+ return OPENFAIL;
+ bzero(sp, sizeof (if_ppp_t));
+ q->q_ptr = (caddr_t) sp;
+ WR(q)->q_ptr = (caddr_t) sp;
+ sp->unit = -1; /* no interface unit attached at present */
+ sp->q = WR(q);
+ sp->flags = 0;
+ ++if_ppp_count;
+ }
+ return 0;
+}
+
+static int
+if_ppp_close(q, flag)
+ queue_t *q;
+ int flag;
+{
+ if_ppp_t *sp;
+ struct ifnet *ifp;
+
+ sp = (if_ppp_t *) q->q_ptr;
+ if (sp != 0) {
+ if (sp->flags & DBGLOG)
+ printf("if_ppp closed, q=%x sp=%x\n", q, sp);
+ if (sp->unit >= 0) {
+ if (sp->unit < ppp_nalloc) {
+ states[sp->unit] = 0;
+ ifp = ifs[sp->unit];
+ if (ifp != 0)
+ ifp->if_flags &= ~(IFF_UP | IFF_RUNNING);
+#ifdef DEBUG
+ } else {
+ printf("if_ppp: unit %d nonexistent!\n", sp->unit);
+#endif
+ }
+ }
+ FREE(sp, sizeof (if_ppp_t));
+ --if_ppp_count;
+ }
+ return 0;
+}
+
+static int
+if_ppp_wput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ if_ppp_t *sp;
+ struct iocblk *iop;
+ int error, unit;
+ struct ifnet *ifp;
+
+ sp = (if_ppp_t *) q->q_ptr;
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ /*
+ * Now why would we be getting data coming in here??
+ */
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: got M_DATA len=%d\n", msgdsize(mp));
+ freemsg(mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: got ioctl cmd=%x count=%d\n",
+ iop->ioc_cmd, iop->ioc_count);
+
+ switch (iop->ioc_cmd) {
+ case PPPIO_NEWPPA: /* well almost */
+ if (iop->ioc_count != sizeof(int) || sp->unit >= 0)
+ break;
+ if ((error = NOTSUSER()) != 0)
+ break;
+ unit = *(int *)mp->b_cont->b_rptr;
+
+ /* Check that this unit isn't already in use */
+ if (unit < ppp_nalloc && states[unit] != 0) {
+ error = EADDRINUSE;
+ break;
+ }
+
+ /* Extend ifs and states arrays if necessary. */
+ error = ENOSR;
+ if (unit >= ppp_nalloc) {
+ int newn;
+ struct ifnet **newifs;
+ if_ppp_t **newstates;
+
+ newn = unit + 4;
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: extending ifs to %d\n", newn);
+ newifs = (struct ifnet **)
+ ALLOC_NOSLEEP(newn * sizeof (struct ifnet *));
+ if (newifs == 0)
+ break;
+ bzero(newifs, newn * sizeof (struct ifnet *));
+ newstates = (if_ppp_t **)
+ ALLOC_NOSLEEP(newn * sizeof (struct if_ppp_t *));
+ if (newstates == 0) {
+ FREE(newifs, newn * sizeof (struct ifnet *));
+ break;
+ }
+ bzero(newstates, newn * sizeof (struct if_ppp_t *));
+ bcopy(ifs, newifs, ppp_nalloc * sizeof(struct ifnet *));
+ bcopy(states, newstates, ppp_nalloc * sizeof(if_ppp_t *));
+ if (ifs) {
+ FREE(ifs, ppp_nalloc * sizeof(struct ifnet *));
+ FREE(states, ppp_nalloc * sizeof(if_ppp_t *));
+ }
+ ifs = newifs;
+ states = newstates;
+ ppp_nalloc = newn;
+ }
+
+ /* Allocate a new ifnet struct if necessary. */
+ ifp = ifs[unit];
+ if (ifp == 0) {
+ ifp = (struct ifnet *) ALLOC_NOSLEEP(sizeof (struct ifnet));
+ if (ifp == 0)
+ break;
+ bzero(ifp, sizeof (struct ifnet));
+ ifs[unit] = ifp;
+ ifp->if_name = "ppp";
+ ifp->if_unit = unit;
+ ifp->if_mtu = PPP_MTU;
+ ifp->if_flags = IFF_POINTOPOINT | IFF_RUNNING;
+#ifndef __osf__
+#ifdef IFF_MULTICAST
+ ifp->if_flags |= IFF_MULTICAST;
+#endif
+#endif /* __osf__ */
+ ifp->if_output = if_ppp_output;
+#ifdef __osf__
+ ifp->if_version = "Point-to-Point Protocol, version 2.3.11";
+ ifp->if_mediamtu = PPP_MTU;
+ ifp->if_type = IFT_PPP;
+ ifp->if_hdrlen = PPP_HDRLEN;
+ ifp->if_addrlen = 0;
+ ifp->if_flags |= IFF_NOARP | IFF_SIMPLEX | IFF_NOTRAILERS;
+#ifdef IFF_VAR_MTU
+ ifp->if_flags |= IFF_VAR_MTU;
+#endif
+#ifdef NETMASTERCPU
+ ifp->if_affinity = NETMASTERCPU;
+#endif
+#endif
+ ifp->if_ioctl = if_ppp_ioctl;
+ ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+ if_attach(ifp);
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: created unit %d\n", unit);
+ } else {
+ ifp->if_mtu = PPP_MTU;
+ ifp->if_flags |= IFF_RUNNING;
+ }
+
+ states[unit] = sp;
+ sp->unit = unit;
+
+ error = 0;
+ iop->ioc_count = 0;
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: attached unit %d, sp=%x q=%x\n", unit,
+ sp, sp->q);
+ break;
+
+ case PPPIO_DEBUG:
+ error = -1;
+ if (iop->ioc_count == sizeof(int)) {
+ if (*(int *)mp->b_cont->b_rptr == PPPDBG_LOG + PPPDBG_IF) {
+ printf("if_ppp: debug log enabled, q=%x sp=%x\n", q, sp);
+ sp->flags |= DBGLOG;
+ error = 0;
+ iop->ioc_count = 0;
+ }
+ }
+ break;
+
+ default:
+ error = -1;
+ break;
+ }
+
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: ioctl result %d\n", error);
+ if (error < 0)
+ putnext(q, mp);
+ else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+ mp->b_datap->db_type = M_IOCNAK;
+ iop->ioc_count = 0;
+ iop->ioc_error = error;
+ qreply(q, mp);
+ }
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+ return 0;
+}
+
+static int
+if_ppp_rput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ if_ppp_t *sp;
+ int proto, s;
+ struct mbuf *mb;
+ struct ifqueue *inq;
+ struct ifnet *ifp;
+ int len;
+
+ sp = (if_ppp_t *) q->q_ptr;
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ /*
+ * Convert the message into an mbuf chain
+ * and inject it into the network code.
+ */
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: rput pkt len %d data %x %x %x %x %x %x %x %x\n",
+ msgdsize(mp), mp->b_rptr[0], mp->b_rptr[1], mp->b_rptr[2],
+ mp->b_rptr[3], mp->b_rptr[4], mp->b_rptr[5], mp->b_rptr[6],
+ mp->b_rptr[7]);
+
+ if (sp->unit < 0) {
+ freemsg(mp);
+ break;
+ }
+ if (sp->unit >= ppp_nalloc || (ifp = ifs[sp->unit]) == 0) {
+#ifdef DEBUG
+ printf("if_ppp: no unit %d!\n", sp->unit);
+#endif
+ freemsg(mp);
+ break;
+ }
+
+ if ((ifp->if_flags & IFF_UP) == 0) {
+ freemsg(mp);
+ break;
+ }
+ ++ifp->if_ipackets;
+
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ adjmsg(mp, PPP_HDRLEN);
+ len = msgdsize(mp);
+ mb = make_mbufs(mp, sizeof(struct ifnet *));
+ freemsg(mp);
+ if (mb == NULL) {
+ if (sp->flags & DBGLOG)
+ printf("if_ppp%d: make_mbufs failed\n", ifp->if_unit);
+ ++ifp->if_ierrors;
+ break;
+ }
+
+#ifdef SNIT_SUPPORT
+ if (proto == PPP_IP && (ifp->if_flags & IFF_PROMISC)) {
+ struct nit_if nif;
+
+ nif.nif_header = (caddr_t) &snit_ehdr;
+ nif.nif_hdrlen = sizeof(snit_ehdr);
+ nif.nif_bodylen = len;
+ nif.nif_promisc = 0;
+ snit_intr(ifp, mb, &nif);
+ }
+#endif
+
+/*
+ * For Digital UNIX, there's space set aside in the header mbuf
+ * for the interface info.
+ *
+ * For Sun it's smuggled around via a pointer at the front of the mbuf.
+ */
+#ifdef __osf__
+ mb->m_pkthdr.rcvif = ifp;
+ mb->m_pkthdr.len = len;
+#else
+ mb->m_off -= sizeof(struct ifnet *);
+ mb->m_len += sizeof(struct ifnet *);
+ *mtod(mb, struct ifnet **) = ifp;
+#endif
+
+ inq = 0;
+ switch (proto) {
+ case PPP_IP:
+ inq = &ipintrq;
+ schednetisr(NETISR_IP);
+ }
+
+ if (inq != 0) {
+ s = splhigh();
+ if (IF_QFULL(inq)) {
+ IF_DROP(inq);
+ ++ifp->if_ierrors;
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: inq full, proto=%x\n", proto);
+ m_freem(mb);
+ } else {
+ IF_ENQUEUE(inq, mb);
+ }
+ splx(s);
+ } else {
+ if (sp->flags & DBGLOG)
+ printf("if_ppp%d: proto=%x?\n", ifp->if_unit, proto);
+ ++ifp->if_ierrors;
+ m_freem(mb);
+ }
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+ return 0;
+}
+
+/*
+ * Network code wants to output a packet.
+ * Turn it into a STREAMS message and send it down.
+ */
+static int
+if_ppp_output(ifp, m0, dst)
+ struct ifnet *ifp;
+ struct mbuf *m0;
+ struct sockaddr *dst;
+{
+ mblk_t *mp;
+ int proto, s;
+ if_ppp_t *sp;
+ u_char *p;
+
+ if ((ifp->if_flags & IFF_UP) == 0) {
+ m_freem(m0);
+ return ENETDOWN;
+ }
+
+ if ((unsigned)ifp->if_unit >= ppp_nalloc) {
+#ifdef DEBUG
+ printf("if_ppp_output: unit %d?\n", ifp->if_unit);
+#endif
+ m_freem(m0);
+ return EINVAL;
+ }
+ sp = states[ifp->if_unit];
+ if (sp == 0) {
+#ifdef DEBUG
+ printf("if_ppp_output: no queue?\n");
+#endif
+ m_freem(m0);
+ return ENETDOWN;
+ }
+
+ if (sp->flags & DBGLOG) {
+ p = mtod(m0, u_char *);
+ printf("if_ppp_output%d: af=%d data=%x %x %x %x %x %x %x %x q=%x\n",
+ ifp->if_unit, dst->sa_family, p[0], p[1], p[2], p[3], p[4],
+ p[5], p[6], p[7], sp->q);
+ }
+
+ switch (dst->sa_family) {
+ case AF_INET:
+ proto = PPP_IP;
+#ifdef SNIT_SUPPORT
+ if (ifp->if_flags & IFF_PROMISC) {
+ struct nit_if nif;
+ struct mbuf *m;
+ int len;
+
+ for (len = 0, m = m0; m != NULL; m = m->m_next)
+ len += m->m_len;
+ nif.nif_header = (caddr_t) &snit_ehdr;
+ nif.nif_hdrlen = sizeof(snit_ehdr);
+ nif.nif_bodylen = len;
+ nif.nif_promisc = 0;
+ snit_intr(ifp, m0, &nif);
+ }
+#endif
+ break;
+
+ default:
+ m_freem(m0);
+ return EAFNOSUPPORT;
+ }
+
+ ++ifp->if_opackets;
+ mp = make_message(m0, PPP_HDRLEN);
+ m_freem(m0);
+ if (mp == 0) {
+ ++ifp->if_oerrors;
+ return ENOBUFS;
+ }
+ mp->b_rptr -= PPP_HDRLEN;
+ mp->b_rptr[0] = PPP_ALLSTATIONS;
+ mp->b_rptr[1] = PPP_UI;
+ mp->b_rptr[2] = proto >> 8;
+ mp->b_rptr[3] = proto;
+
+ s = splstr();
+ if (sp->flags & DBGLOG)
+ printf("if_ppp: putnext(%x, %x), r=%x w=%x p=%x\n",
+ sp->q, mp, mp->b_rptr, mp->b_wptr, proto);
+ putnext(sp->q, mp);
+ splx(s);
+
+ return 0;
+}
+
+/*
+ * Socket ioctl routine for ppp interfaces.
+ */
+static int
+if_ppp_ioctl(ifp, cmd, data)
+ struct ifnet *ifp;
+ u_int cmd;
+ caddr_t data;
+{
+ int s, error;
+ struct ifreq *ifr = (struct ifreq *) data;
+ struct ifaddr *ifa = (struct ifaddr *) data;
+ u_short mtu;
+
+ error = 0;
+ s = splimp();
+ switch (cmd) {
+ case SIOCSIFFLAGS:
+ if ((ifp->if_flags & IFF_RUNNING) == 0)
+ ifp->if_flags &= ~IFF_UP;
+ break;
+
+ case SIOCSIFADDR:
+ if (IFA_ADDR(ifa).sa_family != AF_INET)
+ error = EAFNOSUPPORT;
+ break;
+
+ case SIOCSIFDSTADDR:
+ if (IFA_ADDR(ifa).sa_family != AF_INET)
+ error = EAFNOSUPPORT;
+ break;
+
+ case SIOCSIFMTU:
+ if ((error = NOTSUSER()) != 0)
+ break;
+#ifdef __osf__
+ /* this hack is necessary because ifioctl checks ifr_data
+ * in 4.0 and 5.0, but ifr_data and ifr_metric overlay each
+ * other in the definition of struct ifreq so pppd can't set both.
+ */
+ bcopy(ifr->ifr_data, &mtu, sizeof (u_short));
+ ifr->ifr_mtu = mtu;
+#endif
+
+ if (ifr->ifr_mtu < PPP_MINMTU || ifr->ifr_mtu > PPP_MAXMTU) {
+ error = EINVAL;
+ break;
+ }
+ ifp->if_mtu = ifr->ifr_mtu;
+ break;
+
+ case SIOCGIFMTU:
+ ifr->ifr_mtu = ifp->if_mtu;
+ break;
+
+ case SIOCADDMULTI:
+ case SIOCDELMULTI:
+ switch(ifr->ifr_addr.sa_family) {
+ case AF_INET:
+ break;
+ default:
+ error = EAFNOSUPPORT;
+ break;
+ }
+ break;
+
+ default:
+ error = EINVAL;
+ }
+ splx(s);
+ return (error);
+}
+
+/*
+ * Turn a STREAMS message into an mbuf chain.
+ */
+static struct mbuf *
+make_mbufs(mp, off)
+ mblk_t *mp;
+ int off;
+{
+ struct mbuf *head, **prevp, *m;
+ int len, space, n;
+ unsigned char *cp, *dp;
+
+ len = msgdsize(mp);
+ if (len == 0)
+ return 0;
+ prevp = &head;
+ space = 0;
+ cp = mp->b_rptr;
+#ifdef __osf__
+ MGETHDR(m, M_DONTWAIT, MT_DATA);
+ m->m_len = 0;
+ space = MHLEN;
+ *prevp = m;
+ prevp = &m->m_next;
+ dp = mtod(m, unsigned char *);
+ len -= space;
+ off = 0;
+#endif
+ for (;;) {
+ while (cp >= mp->b_wptr) {
+ mp = mp->b_cont;
+ if (mp == 0) {
+ *prevp = 0;
+ return head;
+ }
+ cp = mp->b_rptr;
+ }
+ n = mp->b_wptr - cp;
+ if (space == 0) {
+ MGET(m, M_DONTWAIT, MT_DATA);
+ *prevp = m;
+ if (m == 0) {
+ if (head != 0)
+ m_freem(head);
+ return 0;
+ }
+ if (len + off > 2 * MLEN) {
+#ifdef __osf__
+ MCLGET(m, M_DONTWAIT);
+#else
+ MCLGET(m);
+#endif
+ }
+#ifdef __osf__
+ space = ((m->m_flags & M_EXT) ? MCLBYTES : MLEN);
+#else
+ space = (m->m_off > MMAXOFF? MCLBYTES: MLEN) - off;
+ m->m_off += off;
+#endif
+ m->m_len = 0;
+ len -= space;
+ dp = mtod(m, unsigned char *);
+ off = 0;
+ prevp = &m->m_next;
+ }
+ if (n > space)
+ n = space;
+ bcopy(cp, dp, n);
+ cp += n;
+ dp += n;
+ space -= n;
+ m->m_len += n;
+ }
+}
+
+/*
+ * Turn an mbuf chain into a STREAMS message.
+ */
+#define ALLOCB_MAX 4096
+
+static mblk_t *
+make_message(m, off)
+ struct mbuf *m;
+ int off;
+{
+ mblk_t *head, **prevp, *mp;
+ int len, space, n, nb;
+ unsigned char *cp, *dp;
+ struct mbuf *nm;
+
+ len = 0;
+ for (nm = m; nm != 0; nm = nm->m_next)
+ len += nm->m_len;
+ prevp = &head;
+ space = 0;
+ cp = mtod(m, unsigned char *);
+ nb = m->m_len;
+ for (;;) {
+ while (nb <= 0) {
+ m = m->m_next;
+ if (m == 0) {
+ *prevp = 0;
+ return head;
+ }
+ cp = mtod(m, unsigned char *);
+ nb = m->m_len;
+ }
+ if (space == 0) {
+ space = len + off;
+ if (space > ALLOCB_MAX)
+ space = ALLOCB_MAX;
+ mp = allocb(space, BPRI_LO);
+ *prevp = mp;
+ if (mp == 0) {
+ if (head != 0)
+ freemsg(head);
+ return 0;
+ }
+ dp = mp->b_rptr += off;
+ space -= off;
+ len -= space;
+ off = 0;
+ prevp = &mp->b_cont;
+ }
+ n = nb < space? nb: space;
+ bcopy(cp, dp, n);
+ cp += n;
+ dp += n;
+ nb -= n;
+ space -= n;
+ mp->b_wptr = dp;
+ }
+}
+
+/*
+ * Digital UNIX doesn't allow for removing ifnet structures
+ * from the list. But then we're not using this as a loadable
+ * module anyway, so that's OK.
+ *
+ * Under SunOS, this should allow the module to be unloaded.
+ * Unfortunately, it doesn't seem to detach all the references,
+ * so your system may well crash after you unload this module :-(
+ */
+#ifndef __osf__
+
+/*
+ * Remove an interface from the system.
+ * This routine contains magic.
+ */
+#include <net/route.h>
+#include <netinet/in_pcb.h>
+#include <netinet/ip_var.h>
+#include <netinet/tcp.h>
+#include <netinet/tcp_timer.h>
+#include <netinet/tcp_var.h>
+#include <netinet/udp.h>
+#include <netinet/udp_var.h>
+
+static void
+ppp_if_detach(ifp)
+ struct ifnet *ifp;
+{
+ int s;
+ struct inpcb *pcb;
+ struct ifaddr *ifa;
+ struct in_ifaddr **inap;
+ struct ifnet **ifpp;
+
+ s = splhigh();
+
+ /*
+ * Clear the interface from any routes currently cached in
+ * TCP or UDP protocol control blocks.
+ */
+ for (pcb = tcb.inp_next; pcb != &tcb; pcb = pcb->inp_next)
+ if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
+ in_losing(pcb);
+ for (pcb = udb.inp_next; pcb != &udb; pcb = pcb->inp_next)
+ if (pcb->inp_route.ro_rt && pcb->inp_route.ro_rt->rt_ifp == ifp)
+ in_losing(pcb);
+
+ /*
+ * Delete routes through all addresses of the interface.
+ */
+ for (ifa = ifp->if_addrlist; ifa != 0; ifa = ifa->ifa_next) {
+ rtinit(ifa, ifa, SIOCDELRT, RTF_HOST);
+ rtinit(ifa, ifa, SIOCDELRT, 0);
+ }
+
+ /*
+ * Unlink the interface's address(es) from the in_ifaddr list.
+ */
+ for (inap = &in_ifaddr; *inap != 0; ) {
+ if ((*inap)->ia_ifa.ifa_ifp == ifp)
+ *inap = (*inap)->ia_next;
+ else
+ inap = &(*inap)->ia_next;
+ }
+
+ /*
+ * Delete the interface from the ifnet list.
+ */
+ for (ifpp = &ifnet; (*ifpp) != 0; ) {
+ if (*ifpp == ifp)
+ break;
+ ifpp = &(*ifpp)->if_next;
+ }
+ if (*ifpp == 0)
+ printf("couldn't find interface ppp%d in ifnet list\n", ifp->if_unit);
+ else
+ *ifpp = ifp->if_next;
+
+ splx(s);
+}
+
+#endif /* __osf__ */
diff --git a/mdk-stage1/ppp/modules/ppp.c b/mdk-stage1/ppp/modules/ppp.c
new file mode 100644
index 000000000..c7f7bc440
--- /dev/null
+++ b/mdk-stage1/ppp/modules/ppp.c
@@ -0,0 +1,2486 @@
+/*
+ * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/errno.h>
+#ifdef __osf__
+#include <sys/ioctl.h>
+#include <sys/cmn_err.h>
+#define queclass(mp) ((mp)->b_band & QPCTL)
+#else
+#include <sys/ioccom.h>
+#endif
+#include <sys/time.h>
+#ifdef SVR4
+#include <sys/cmn_err.h>
+#include <sys/conf.h>
+#include <sys/dlpi.h>
+#include <sys/ddi.h>
+#ifdef SOL2
+#include <sys/ksynch.h>
+#include <sys/kstat.h>
+#include <sys/sunddi.h>
+#include <sys/ethernet.h>
+#else
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#endif /* SOL2 */
+#else /* not SVR4 */
+#include <sys/user.h>
+#endif /* SVR4 */
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+/*
+ * Modifications marked with #ifdef PRIOQ are for priority queueing of
+ * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
+ */
+#ifdef PRIOQ
+#endif /* PRIOQ */
+
+#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
+
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+
+/*
+ * The IP module may use this SAP value for IP packets.
+ */
+#ifndef ETHERTYPE_IP
+#define ETHERTYPE_IP 0x800
+#endif
+
+#if !defined(ETHERTYPE_IPV6)
+#define ETHERTYPE_IPV6 0x86dd
+#endif /* !defined(ETHERTYPE_IPV6) */
+
+#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
+#define ETHERTYPE_ALLSAP 0
+#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
+
+#if !defined(PPP_ALLSAP) && defined(SOL2)
+#define PPP_ALLSAP PPP_ALLSTATIONS
+#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
+
+extern time_t time;
+
+#ifdef SOL2
+/*
+ * We use this reader-writer lock to ensure that the lower streams
+ * stay connected to the upper streams while the lower-side put and
+ * service procedures are running. Essentially it is an existence
+ * lock for the upper stream associated with each lower stream.
+ */
+krwlock_t ppp_lower_lock;
+#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
+#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
+#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
+#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
+
+#define MT_ENTER(x) mutex_enter(x)
+#define MT_EXIT(x) mutex_exit(x)
+
+/*
+ * Notes on multithreaded implementation for Solaris 2:
+ *
+ * We use an inner perimeter around each queue pair and an outer
+ * perimeter around the whole driver. The inner perimeter is
+ * entered exclusively for all entry points (open, close, put,
+ * service). The outer perimeter is entered exclusively for open
+ * and close and shared for put and service. This is all done for
+ * us by the streams framework.
+ *
+ * I used to think that the perimeters were entered for the lower
+ * streams' put and service routines as well as for the upper streams'.
+ * Because of problems experienced by people, and after reading the
+ * documentation more closely, I now don't think that is true. So we
+ * now use ppp_lower_lock to give us an existence guarantee on the
+ * upper stream controlling each lower stream.
+ *
+ * Shared entry to the outer perimeter protects the existence of all
+ * the upper streams and their upperstr_t structures, and guarantees
+ * that the following fields of any upperstr_t won't change:
+ * nextmn, next, nextppa. It guarantees that the lowerq field of an
+ * upperstr_t won't go from non-zero to zero, that the global `ppas'
+ * won't change and that the no lower stream will get unlinked.
+ *
+ * Shared (reader) access to ppa_lower_lock guarantees that no lower
+ * stream will be unlinked and that the lowerq field of all upperstr_t
+ * structures won't change.
+ */
+
+#else /* SOL2 */
+#define LOCK_LOWER_W 0
+#define LOCK_LOWER_R 0
+#define TRYLOCK_LOWER_R 1
+#define UNLOCK_LOWER 0
+#define MT_ENTER(x) 0
+#define MT_EXIT(x) 0
+
+#endif /* SOL2 */
+
+/*
+ * Private information; one per upper stream.
+ */
+typedef struct upperstr {
+ minor_t mn; /* minor device number */
+ struct upperstr *nextmn; /* next minor device */
+ queue_t *q; /* read q associated with this upper stream */
+ int flags; /* flag bits, see below */
+ int state; /* current DLPI state */
+ int sap; /* service access point */
+ int req_sap; /* which SAP the DLPI client requested */
+ struct upperstr *ppa; /* control stream for our ppa */
+ struct upperstr *next; /* next stream for this ppa */
+ uint ioc_id; /* last ioctl ID for this stream */
+ enum NPmode npmode; /* what to do with packets on this SAP */
+ unsigned char rblocked; /* flow control has blocked upper read strm */
+ /* N.B. rblocked is only changed by control stream's put/srv procs */
+ /*
+ * There is exactly one control stream for each PPA.
+ * The following fields are only used for control streams.
+ */
+ int ppa_id;
+ queue_t *lowerq; /* write queue attached below this PPA */
+ struct upperstr *nextppa; /* next control stream */
+ int mru;
+ int mtu;
+ struct pppstat stats; /* statistics */
+ time_t last_sent; /* time last NP packet sent */
+ time_t last_recv; /* time last NP packet rcvd */
+#ifdef SOL2
+ kmutex_t stats_lock; /* lock for stats updates */
+ kstat_t *kstats; /* stats for netstat */
+#endif /* SOL2 */
+#ifdef LACHTCP
+ int ifflags;
+ char ifname[IFNAMSIZ];
+ struct ifstats ifstats;
+#endif /* LACHTCP */
+} upperstr_t;
+
+/* Values for flags */
+#define US_PRIV 1 /* stream was opened by superuser */
+#define US_CONTROL 2 /* stream is a control stream */
+#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
+#define US_LASTMOD 8 /* no PPP modules below us */
+#define US_DBGLOG 0x10 /* log various occurrences */
+#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
+
+#if defined(SOL2)
+#if DL_CURRENT_VERSION >= 2
+#define US_PROMISC 0x40 /* stream is promiscuous */
+#endif /* DL_CURRENT_VERSION >= 2 */
+#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
+#endif /* defined(SOL2) */
+
+#ifdef PRIOQ
+static u_char max_band=0;
+static u_char def_band=0;
+
+#define IPPORT_DEFAULT 65535
+
+/*
+ * Port priority table
+ * Highest priority ports are listed first, lowest are listed last.
+ * ICMP & packets using unlisted ports will be treated as "default".
+ * If IPPORT_DEFAULT is not listed here, "default" packets will be
+ * assigned lowest priority.
+ * Each line should be terminated with "0".
+ * Line containing only "0" marks the end of the list.
+ */
+
+static u_short prioq_table[]= {
+ 113, 53, 0,
+ 22, 23, 513, 517, 518, 0,
+ 514, 21, 79, 111, 0,
+ 25, 109, 110, 0,
+ IPPORT_DEFAULT, 0,
+ 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
+0 };
+
+#endif /* PRIOQ */
+
+
+static upperstr_t *minor_devs = NULL;
+static upperstr_t *ppas = NULL;
+
+#ifdef SVR4
+static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
+static int pppclose __P((queue_t *, int, cred_t *));
+#else
+static int pppopen __P((queue_t *, int, int, int));
+static int pppclose __P((queue_t *, int));
+#endif /* SVR4 */
+static int pppurput __P((queue_t *, mblk_t *));
+static int pppuwput __P((queue_t *, mblk_t *));
+static int pppursrv __P((queue_t *));
+static int pppuwsrv __P((queue_t *));
+static int ppplrput __P((queue_t *, mblk_t *));
+static int ppplwput __P((queue_t *, mblk_t *));
+static int ppplrsrv __P((queue_t *));
+static int ppplwsrv __P((queue_t *));
+#ifndef NO_DLPI
+static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
+static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
+static void dlpi_ok __P((queue_t *, int));
+#endif
+static int send_data __P((mblk_t *, upperstr_t *));
+static void new_ppa __P((queue_t *, mblk_t *));
+static void attach_ppa __P((queue_t *, mblk_t *));
+static void detach_ppa __P((queue_t *, mblk_t *));
+static void detach_lower __P((queue_t *, mblk_t *));
+static void debug_dump __P((queue_t *, mblk_t *));
+static upperstr_t *find_dest __P((upperstr_t *, int));
+#if defined(SOL2)
+static upperstr_t *find_promisc __P((upperstr_t *, int));
+static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
+static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
+static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
+#endif /* defined(SOL2) */
+static int putctl2 __P((queue_t *, int, int, int));
+static int putctl4 __P((queue_t *, int, int, int));
+static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
+#ifdef FILTER_PACKETS
+static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
+#endif /* FILTER_PACKETS */
+
+#define PPP_ID 0xb1a6
+static struct module_info ppp_info = {
+#ifdef PRIOQ
+ PPP_ID, "ppp", 0, 512, 512, 384
+#else
+ PPP_ID, "ppp", 0, 512, 512, 128
+#endif /* PRIOQ */
+};
+
+static struct qinit pppurint = {
+ pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
+};
+
+static struct qinit pppuwint = {
+ pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+static struct qinit ppplrint = {
+ ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+static struct qinit ppplwint = {
+ ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+#ifdef LACHTCP
+extern struct ifstats *ifstats;
+int pppdevflag = 0;
+#endif
+
+struct streamtab pppinfo = {
+ &pppurint, &pppuwint,
+ &ppplrint, &ppplwint
+};
+
+int ppp_count;
+
+/*
+ * How we maintain statistics.
+ */
+#ifdef SOL2
+#define INCR_IPACKETS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
+ }
+#define INCR_IERRORS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
+ }
+#define INCR_OPACKETS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
+ }
+#define INCR_OERRORS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
+ }
+#endif
+
+#ifdef LACHTCP
+#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
+#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
+#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
+#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
+#endif
+
+/*
+ * STREAMS driver entry points.
+ */
+static int
+#ifdef SVR4
+pppopen(q, devp, oflag, sflag, credp)
+ queue_t *q;
+ dev_t *devp;
+ int oflag, sflag;
+ cred_t *credp;
+#else
+pppopen(q, dev, oflag, sflag)
+ queue_t *q;
+ int dev; /* really dev_t */
+ int oflag, sflag;
+#endif
+{
+ upperstr_t *up;
+ upperstr_t **prevp;
+ minor_t mn;
+#ifdef PRIOQ
+ u_short *ptr;
+ u_char new_band;
+#endif /* PRIOQ */
+
+ if (q->q_ptr)
+ DRV_OPEN_OK(dev); /* device is already open */
+
+#ifdef PRIOQ
+ /* Calculate max_bband & def_band from definitions in prioq.h
+ This colud be done at some more approtiate time (less often)
+ but this way it works well so I'll just leave it here */
+
+ max_band = 1;
+ def_band = 0;
+ ptr = prioq_table;
+ while (*ptr) {
+ new_band = 1;
+ while (*ptr)
+ if (*ptr++ == IPPORT_DEFAULT) {
+ new_band = 0;
+ def_band = max_band;
+ }
+ max_band += new_band;
+ ptr++;
+ }
+ if (def_band)
+ def_band = max_band - def_band;
+ --max_band;
+#endif /* PRIOQ */
+
+ if (sflag == CLONEOPEN) {
+ mn = 0;
+ for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
+ if (up->mn != mn)
+ break;
+ ++mn;
+ }
+ } else {
+#ifdef SVR4
+ mn = getminor(*devp);
+#else
+ mn = minor(dev);
+#endif
+ for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
+ if (up->mn >= mn)
+ break;
+ }
+ if (up->mn == mn) {
+ /* this can't happen */
+ q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
+ DRV_OPEN_OK(dev);
+ }
+ }
+
+ /*
+ * Construct a new minor node.
+ */
+ up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
+ bzero((caddr_t) up, sizeof(upperstr_t));
+ if (up == 0) {
+ DPRINT("pppopen: out of kernel memory\n");
+ OPEN_ERROR(ENXIO);
+ }
+ up->nextmn = *prevp;
+ *prevp = up;
+ up->mn = mn;
+#ifdef SVR4
+ *devp = makedevice(getmajor(*devp), mn);
+#endif
+ up->q = q;
+ if (NOTSUSER() == 0)
+ up->flags |= US_PRIV;
+#ifndef NO_DLPI
+ up->state = DL_UNATTACHED;
+#endif
+#ifdef LACHTCP
+ up->ifflags = IFF_UP | IFF_POINTOPOINT;
+#endif
+ up->sap = -1;
+ up->last_sent = up->last_recv = time;
+ up->npmode = NPMODE_DROP;
+ q->q_ptr = (caddr_t) up;
+ WR(q)->q_ptr = (caddr_t) up;
+ noenable(WR(q));
+#ifdef SOL2
+ mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
+#endif
+ ++ppp_count;
+
+ qprocson(q);
+ DRV_OPEN_OK(makedev(major(dev), mn));
+}
+
+static int
+#ifdef SVR4
+pppclose(q, flag, credp)
+ queue_t *q;
+ int flag;
+ cred_t *credp;
+#else
+pppclose(q, flag)
+ queue_t *q;
+ int flag;
+#endif
+{
+ upperstr_t *up, **upp;
+ upperstr_t *as, *asnext;
+ upperstr_t **prevp;
+
+ qprocsoff(q);
+
+ up = (upperstr_t *) q->q_ptr;
+ if (up == 0) {
+ DPRINT("pppclose: q_ptr = 0\n");
+ return 0;
+ }
+ if (up->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
+ if (up->flags & US_CONTROL) {
+#ifdef LACHTCP
+ struct ifstats *ifp, *pifp;
+#endif
+ if (up->lowerq != 0) {
+ /* Gack! the lower stream should have be unlinked earlier! */
+ DPRINT1("ppp%d: lower stream still connected on close?\n",
+ up->mn);
+ LOCK_LOWER_W;
+ up->lowerq->q_ptr = 0;
+ RD(up->lowerq)->q_ptr = 0;
+ up->lowerq = 0;
+ UNLOCK_LOWER;
+ }
+
+ /*
+ * This stream represents a PPA:
+ * For all streams attached to the PPA, clear their
+ * references to this PPA.
+ * Then remove this PPA from the list of PPAs.
+ */
+ for (as = up->next; as != 0; as = asnext) {
+ asnext = as->next;
+ as->next = 0;
+ as->ppa = 0;
+ if (as->flags & US_BLOCKED) {
+ as->flags &= ~US_BLOCKED;
+ flushq(WR(as->q), FLUSHDATA);
+ }
+ }
+ for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
+ if (*upp == up) {
+ *upp = up->nextppa;
+ break;
+ }
+#ifdef LACHTCP
+ /* Remove the statistics from the active list. */
+ for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
+ if (ifp == &up->ifstats) {
+ if (pifp)
+ pifp->ifs_next = ifp->ifs_next;
+ else
+ ifstats = ifp->ifs_next;
+ break;
+ }
+ pifp = ifp;
+ }
+#endif
+ } else {
+ /*
+ * If this stream is attached to a PPA,
+ * remove it from the PPA's list.
+ */
+ if ((as = up->ppa) != 0) {
+ for (; as->next != 0; as = as->next)
+ if (as->next == up) {
+ as->next = up->next;
+ break;
+ }
+ }
+ }
+
+#ifdef SOL2
+ if (up->kstats)
+ kstat_delete(up->kstats);
+ mutex_destroy(&up->stats_lock);
+#endif
+
+ q->q_ptr = NULL;
+ WR(q)->q_ptr = NULL;
+
+ for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
+ if (*prevp == up) {
+ *prevp = up->nextmn;
+ break;
+ }
+ }
+ FREE(up, sizeof(upperstr_t));
+ --ppp_count;
+
+ return 0;
+}
+
+/*
+ * A message from on high. We do one of three things:
+ * - qreply()
+ * - put the message on the lower write stream
+ * - queue it for our service routine
+ */
+static int
+pppuwput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *ppa, *nps;
+ struct iocblk *iop;
+ struct linkblk *lb;
+#ifdef LACHTCP
+ struct ifreq *ifr;
+ int i;
+#endif
+ queue_t *lq;
+ int error, n, sap;
+ mblk_t *mq;
+ struct ppp_idle *pip;
+#ifdef PRIOQ
+ queue_t *tlq;
+#endif /* PRIOQ */
+#ifdef NO_DLPI
+ upperstr_t *os;
+#endif
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppuwput: q_ptr = 0!\n");
+ return 0;
+ }
+ if (mp == 0) {
+ DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
+ return 0;
+ }
+ if (mp->b_datap == 0) {
+ DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
+ return 0;
+ }
+ switch (mp->b_datap->db_type) {
+#ifndef NO_DLPI
+ case M_PCPROTO:
+ case M_PROTO:
+ dlpi_request(q, mp, us);
+ break;
+#endif /* NO_DLPI */
+
+ case M_DATA:
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
+ us->mn, msgdsize(mp), us->flags);
+ if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
+#ifndef NO_DLPI
+ || (us->flags & US_CONTROL) == 0
+#endif /* NO_DLPI */
+ ) {
+ DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
+ freemsg(mp);
+ break;
+ }
+#ifdef NO_DLPI
+ if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
+ break;
+#endif
+ if (!send_data(mp, us))
+ putq(q, mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: ioctl %x count=%d\n",
+ us->mn, iop->ioc_cmd, iop->ioc_count);
+ switch (iop->ioc_cmd) {
+#if defined(SOL2)
+ case DLIOCRAW: /* raw M_DATA mode */
+ us->flags |= US_RAWDATA;
+ error = 0;
+ break;
+#endif /* defined(SOL2) */
+ case I_LINK:
+ if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
+ break;
+ }
+ lb = (struct linkblk *) mp->b_cont->b_rptr;
+ lq = lb->l_qbot;
+ if (lq == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
+ break;
+ }
+ LOCK_LOWER_W;
+ us->lowerq = lq;
+ lq->q_ptr = (caddr_t) q;
+ RD(lq)->q_ptr = (caddr_t) us->q;
+ UNLOCK_LOWER;
+ iop->ioc_count = 0;
+ error = 0;
+ us->flags &= ~US_LASTMOD;
+ /* Unblock upper streams which now feed this lower stream. */
+ qenable(q);
+ /* Send useful information down to the modules which
+ are now linked below us. */
+ putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
+ putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
+ putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
+#ifdef PRIOQ
+ /* Lower tty driver's queue hiwat/lowat from default 4096/128
+ to 256/128 since we don't want queueing of data on
+ output to physical device */
+
+ freezestr(lq);
+ for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
+ ;
+ strqset(tlq, QHIWAT, 0, 256);
+ strqset(tlq, QLOWAT, 0, 128);
+ unfreezestr(lq);
+#endif /* PRIOQ */
+ break;
+
+ case I_UNLINK:
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
+ break;
+ }
+ lb = (struct linkblk *) mp->b_cont->b_rptr;
+#if DEBUG
+ if (us->lowerq != lb->l_qbot) {
+ DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
+ us->lowerq, lb->l_qbot);
+ break;
+ }
+#endif
+ iop->ioc_count = 0;
+ qwriter(q, mp, detach_lower, PERIM_OUTER);
+ error = -1;
+ break;
+
+ case PPPIO_NEWPPA:
+ if (us->flags & US_CONTROL)
+ break;
+ if ((us->flags & US_PRIV) == 0) {
+ error = EPERM;
+ break;
+ }
+ /* Arrange to return an int */
+ if ((mq = mp->b_cont) == 0
+ || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
+ mq = allocb(sizeof(int), BPRI_HI);
+ if (mq == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = mq;
+ mq->b_cont = 0;
+ }
+ iop->ioc_count = sizeof(int);
+ mq->b_wptr = mq->b_rptr + sizeof(int);
+ qwriter(q, mp, new_ppa, PERIM_OUTER);
+ error = -1;
+ break;
+
+ case PPPIO_ATTACH:
+ /* like dlpi_attach, for programs which can't write to
+ the stream (like pppstats) */
+ if (iop->ioc_count != sizeof(int) || us->ppa != 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
+ if (ppa->ppa_id == n)
+ break;
+ if (ppa == 0)
+ break;
+ us->ppa = ppa;
+ iop->ioc_count = 0;
+ qwriter(q, mp, attach_ppa, PERIM_OUTER);
+ error = -1;
+ break;
+
+#ifdef NO_DLPI
+ case PPPIO_BIND:
+ /* Attach to a given SAP. */
+ if (iop->ioc_count != sizeof(int) || us->ppa == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ /* n must be a valid PPP network protocol number. */
+ if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
+ break;
+ /* check that no other stream is bound to this sap already. */
+ for (os = us->ppa; os != 0; os = os->next)
+ if (os->sap == n)
+ break;
+ if (os != 0)
+ break;
+ us->sap = n;
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+#endif /* NO_DLPI */
+
+ case PPPIO_MRU:
+ if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n <= 0 || n > PPP_MAXMRU)
+ break;
+ if (n < PPP_MRU)
+ n = PPP_MRU;
+ us->mru = n;
+ if (us->lowerq)
+ putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_MTU:
+ if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n <= 0 || n > PPP_MAXMTU)
+ break;
+ us->mtu = n;
+#ifdef LACHTCP
+ /* The MTU reported in netstat, not used as IP max packet size! */
+ us->ifstats.ifs_mtu = n;
+#endif
+ if (us->lowerq)
+ putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_LASTMOD:
+ us->flags |= US_LASTMOD;
+ error = 0;
+ break;
+
+ case PPPIO_DEBUG:
+ if (iop->ioc_count != sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
+ qwriter(q, NULL, debug_dump, PERIM_OUTER);
+ iop->ioc_count = 0;
+ error = -1;
+ } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
+ DPRINT1("ppp/%d: debug log enabled\n", us->mn);
+ us->flags |= US_DBGLOG;
+ iop->ioc_count = 0;
+ error = 0;
+ } else {
+ if (us->ppa == 0 || us->ppa->lowerq == 0)
+ break;
+ putnext(us->ppa->lowerq, mp);
+ error = -1;
+ }
+ break;
+
+ case PPPIO_NPMODE:
+ if (iop->ioc_count != 2 * sizeof(int))
+ break;
+ if ((us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
+ break;
+ }
+ sap = ((int *)mp->b_cont->b_rptr)[0];
+ for (nps = us->next; nps != 0; nps = nps->next) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
+ if (nps->sap == sap)
+ break;
+ }
+ if (nps == 0) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
+ break;
+ }
+ /* XXX possibly should use qwriter here */
+ nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
+ if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
+ qenable(WR(nps->q));
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_GIDLE:
+ if ((ppa = us->ppa) == 0)
+ break;
+ mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
+ if (mq == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = mq;
+ mq->b_cont = 0;
+ pip = (struct ppp_idle *) mq->b_wptr;
+ pip->xmit_idle = time - ppa->last_sent;
+ pip->recv_idle = time - ppa->last_recv;
+ mq->b_wptr += sizeof(struct ppp_idle);
+ iop->ioc_count = sizeof(struct ppp_idle);
+ error = 0;
+ break;
+
+#ifdef LACHTCP
+ case SIOCSIFNAME:
+ /* Sent from IP down to us. Attach the ifstats structure. */
+ if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
+ break;
+ ifr = (struct ifreq *)mp->b_cont->b_rptr;
+ /* Find the unit number in the interface name. */
+ for (i = 0; i < IFNAMSIZ; i++) {
+ if (ifr->ifr_name[i] == 0 ||
+ (ifr->ifr_name[i] >= '0' &&
+ ifr->ifr_name[i] <= '9'))
+ break;
+ else
+ us->ifname[i] = ifr->ifr_name[i];
+ }
+ us->ifname[i] = 0;
+
+ /* Convert the unit number to binary. */
+ for (n = 0; i < IFNAMSIZ; i++) {
+ if (ifr->ifr_name[i] == 0) {
+ break;
+ }
+ else {
+ n = n * 10 + ifr->ifr_name[i] - '0';
+ }
+ }
+
+ /* Verify the ppa. */
+ if (us->ppa->ppa_id != n)
+ break;
+ ppa = us->ppa;
+
+ /* Set up the netstat block. */
+ strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
+
+ ppa->ifstats.ifs_name = ppa->ifname;
+ ppa->ifstats.ifs_unit = n;
+ ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
+ ppa->ifstats.ifs_mtu = ppa->mtu;
+
+ /* Link in statistics used by netstat. */
+ ppa->ifstats.ifs_next = ifstats;
+ ifstats = &ppa->ifstats;
+
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case SIOCGIFFLAGS:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
+ error = 0;
+ break;
+
+ case SIOCSIFFLAGS:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
+ error = 0;
+ break;
+
+ case SIOCSIFADDR:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ us->ifflags |= IFF_RUNNING;
+ ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
+ error = 0;
+ break;
+
+ case SIOCSIFMTU:
+ /*
+ * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
+ * they take the MTU from the DL_INFO_ACK we sent in response
+ * to their DL_INFO_REQ. Fortunately, they will update the
+ * MTU if we send an unsolicited DL_INFO_ACK up.
+ */
+ if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
+ mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
+ dlpi_request(q, mq, us);
+ error = 0;
+ break;
+
+ case SIOCGIFNETMASK:
+ case SIOCSIFNETMASK:
+ case SIOCGIFADDR:
+ case SIOCGIFDSTADDR:
+ case SIOCSIFDSTADDR:
+ case SIOCGIFMETRIC:
+ error = 0;
+ break;
+#endif /* LACHTCP */
+
+ default:
+ if (us->ppa == 0 || us->ppa->lowerq == 0)
+ break;
+ us->ioc_id = iop->ioc_id;
+ error = -1;
+ switch (iop->ioc_cmd) {
+ case PPPIO_GETSTAT:
+ case PPPIO_GETCSTAT:
+ if (us->flags & US_LASTMOD) {
+ error = EINVAL;
+ break;
+ }
+ putnext(us->ppa->lowerq, mp);
+ break;
+ default:
+ if (us->flags & US_PRIV)
+ putnext(us->ppa->lowerq, mp);
+ else {
+ DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
+ error = EPERM;
+ }
+ break;
+ }
+ break;
+ }
+
+ if (error > 0) {
+ iop->ioc_error = error;
+ mp->b_datap->db_type = M_IOCNAK;
+ qreply(q, mp);
+ } else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_FLUSH:
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
+ if (*mp->b_rptr & FLUSHW)
+ flushq(q, FLUSHDATA);
+ if (*mp->b_rptr & FLUSHR) {
+ *mp->b_rptr &= ~FLUSHW;
+ qreply(q, mp);
+ } else
+ freemsg(mp);
+ break;
+
+ default:
+ freemsg(mp);
+ break;
+ }
+ return 0;
+}
+
+#ifndef NO_DLPI
+static void
+dlpi_request(q, mp, us)
+ queue_t *q;
+ mblk_t *mp;
+ upperstr_t *us;
+{
+ union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
+ int size = mp->b_wptr - mp->b_rptr;
+ mblk_t *reply, *np;
+ upperstr_t *ppa, *os;
+ int sap, len;
+ dl_info_ack_t *info;
+ dl_bind_ack_t *ackp;
+#if DL_CURRENT_VERSION >= 2
+ dl_phys_addr_ack_t *paddrack;
+ static struct ether_addr eaddr = {0};
+#endif
+
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
+ d->dl_primitive, size);
+ switch (d->dl_primitive) {
+ case DL_INFO_REQ:
+ if (size < sizeof(dl_info_req_t))
+ goto badprim;
+ if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ info = (dl_info_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_info_ack_t);
+ bzero((caddr_t) info, sizeof(dl_info_ack_t));
+ info->dl_primitive = DL_INFO_ACK;
+ info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
+ info->dl_min_sdu = 1;
+ info->dl_addr_length = sizeof(uint);
+ info->dl_mac_type = DL_ETHER; /* a bigger lie */
+ info->dl_current_state = us->state;
+ info->dl_service_mode = DL_CLDLS;
+ info->dl_provider_style = DL_STYLE2;
+#if DL_CURRENT_VERSION >= 2
+ info->dl_sap_length = sizeof(uint);
+ info->dl_version = DL_CURRENT_VERSION;
+#endif
+ qreply(q, reply);
+ break;
+
+ case DL_ATTACH_REQ:
+ if (size < sizeof(dl_attach_req_t))
+ goto badprim;
+ if (us->state != DL_UNATTACHED || us->ppa != 0) {
+ dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
+ if (ppa->ppa_id == d->attach_req.dl_ppa)
+ break;
+ if (ppa == 0) {
+ dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
+ break;
+ }
+ us->ppa = ppa;
+ qwriter(q, mp, attach_ppa, PERIM_OUTER);
+ return;
+
+ case DL_DETACH_REQ:
+ if (size < sizeof(dl_detach_req_t))
+ goto badprim;
+ if (us->state != DL_UNBOUND || us->ppa == 0) {
+ dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ qwriter(q, mp, detach_ppa, PERIM_OUTER);
+ return;
+
+ case DL_BIND_REQ:
+ if (size < sizeof(dl_bind_req_t))
+ goto badprim;
+ if (us->state != DL_UNBOUND || us->ppa == 0) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+#if 0
+ /* apparently this test fails (unnecessarily?) on some systems */
+ if (d->bind_req.dl_service_mode != DL_CLDLS) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
+ break;
+ }
+#endif
+
+ /* saps must be valid PPP network protocol numbers,
+ except that we accept ETHERTYPE_IP in place of PPP_IP. */
+ sap = d->bind_req.dl_sap;
+ us->req_sap = sap;
+
+#if defined(SOL2)
+ if (us->flags & US_DBGLOG)
+ DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
+
+ if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
+ sap = PPP_IP;
+ else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
+ sap = PPP_IPV6;
+ else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
+ sap = PPP_ALLSAP;
+ else {
+ DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
+ dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
+ break;
+ }
+#else
+ if (sap == ETHERTYPE_IP)
+ sap = PPP_IP;
+ if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
+ break;
+ }
+#endif /* defined(SOL2) */
+
+ /* check that no other stream is bound to this sap already. */
+ for (os = us->ppa; os != 0; os = os->next)
+ if (os->sap == sap)
+ break;
+ if (os != 0) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
+ break;
+ }
+
+ us->sap = sap;
+ us->state = DL_IDLE;
+
+ if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
+ BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ ackp = (dl_bind_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
+ reply->b_datap->db_type = M_PCPROTO;
+ bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
+ ackp->dl_primitive = DL_BIND_ACK;
+ ackp->dl_sap = sap;
+ ackp->dl_addr_length = sizeof(uint);
+ ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
+ *(uint *)(ackp+1) = sap;
+ qreply(q, reply);
+ break;
+
+ case DL_UNBIND_REQ:
+ if (size < sizeof(dl_unbind_req_t))
+ goto badprim;
+ if (us->state != DL_IDLE) {
+ dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ us->sap = -1;
+ us->state = DL_UNBOUND;
+#ifdef LACHTCP
+ us->ppa->ifstats.ifs_active = 0;
+#endif
+ dlpi_ok(q, DL_UNBIND_REQ);
+ break;
+
+ case DL_UNITDATA_REQ:
+ if (size < sizeof(dl_unitdata_req_t))
+ goto badprim;
+ if (us->state != DL_IDLE) {
+ dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ if ((ppa = us->ppa) == 0) {
+ cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
+ break;
+ }
+ len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
+ if (len > ppa->mtu) {
+ DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
+ break;
+ }
+
+#if defined(SOL2)
+ /*
+ * Should there be any promiscuous stream(s), send the data
+ * up for each promiscuous stream that we recognize.
+ */
+ if (mp->b_cont)
+ promisc_sendup(ppa, mp->b_cont, us->sap, 0);
+#endif /* defined(SOL2) */
+
+ mp->b_band = 0;
+#ifdef PRIOQ
+ /* Extract s_port & d_port from IP-packet, the code is a bit
+ dirty here, but so am I, too... */
+ if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
+ && mp->b_cont != 0) {
+ u_char *bb, *tlh;
+ int iphlen, len;
+ u_short *ptr;
+ u_char band_unset, cur_band, syn;
+ u_short s_port, d_port;
+
+ bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
+ len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
+ syn = 0;
+ s_port = IPPORT_DEFAULT;
+ d_port = IPPORT_DEFAULT;
+ if (len >= 20) { /* 20 = minimum length of IP header */
+ iphlen = (bb[0] & 0x0f) * 4;
+ tlh = bb + iphlen;
+ len -= iphlen;
+ switch (bb[9]) {
+ case IPPROTO_TCP:
+ if (len >= 20) { /* min length of TCP header */
+ s_port = (tlh[0] << 8) + tlh[1];
+ d_port = (tlh[2] << 8) + tlh[3];
+ syn = tlh[13] & 0x02;
+ }
+ break;
+ case IPPROTO_UDP:
+ if (len >= 8) { /* min length of UDP header */
+ s_port = (tlh[0] << 8) + tlh[1];
+ d_port = (tlh[2] << 8) + tlh[3];
+ }
+ break;
+ }
+ }
+
+ /*
+ * Now calculate b_band for this packet from the
+ * port-priority table.
+ */
+ ptr = prioq_table;
+ cur_band = max_band;
+ band_unset = 1;
+ while (*ptr) {
+ while (*ptr && band_unset)
+ if (s_port == *ptr || d_port == *ptr++) {
+ mp->b_band = cur_band;
+ band_unset = 0;
+ break;
+ }
+ ptr++;
+ cur_band--;
+ }
+ if (band_unset)
+ mp->b_band = def_band;
+ /* It may be usable to urge SYN packets a bit */
+ if (syn)
+ mp->b_band++;
+ }
+#endif /* PRIOQ */
+ /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
+ if (mp->b_datap->db_ref > 1) {
+ np = allocb(PPP_HDRLEN, BPRI_HI);
+ if (np == 0)
+ break; /* gak! */
+ np->b_cont = mp->b_cont;
+ mp->b_cont = 0;
+ freeb(mp);
+ mp = np;
+ } else
+ mp->b_datap->db_type = M_DATA;
+ /* XXX should use dl_dest_addr_offset/length here,
+ but we would have to translate ETHERTYPE_IP -> PPP_IP */
+ mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
+ mp->b_rptr[0] = PPP_ALLSTATIONS;
+ mp->b_rptr[1] = PPP_UI;
+ mp->b_rptr[2] = us->sap >> 8;
+ mp->b_rptr[3] = us->sap;
+ if (pass_packet(us, mp, 1)) {
+ if (!send_data(mp, us))
+ putq(q, mp);
+ }
+ return;
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_PHYS_ADDR_REQ:
+ if (size < sizeof(dl_phys_addr_req_t))
+ goto badprim;
+
+ /*
+ * Don't check state because ifconfig sends this one down too
+ */
+
+ if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
+ BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_phys_addr_ack_t);
+ bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
+ paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
+ paddrack->dl_addr_length = ETHERADDRL;
+ paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
+ bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
+ reply->b_wptr += ETHERADDRL;
+ qreply(q, reply);
+ break;
+
+#if defined(SOL2)
+ case DL_PROMISCON_REQ:
+ if (size < sizeof(dl_promiscon_req_t))
+ goto badprim;
+ us->flags |= US_PROMISC;
+ dlpi_ok(q, DL_PROMISCON_REQ);
+ break;
+
+ case DL_PROMISCOFF_REQ:
+ if (size < sizeof(dl_promiscoff_req_t))
+ goto badprim;
+ us->flags &= ~US_PROMISC;
+ dlpi_ok(q, DL_PROMISCOFF_REQ);
+ break;
+#else
+ case DL_PROMISCON_REQ: /* fall thru */
+ case DL_PROMISCOFF_REQ: /* fall thru */
+#endif /* defined(SOL2) */
+#endif /* DL_CURRENT_VERSION >= 2 */
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_SET_PHYS_ADDR_REQ:
+ case DL_SUBS_BIND_REQ:
+ case DL_SUBS_UNBIND_REQ:
+ case DL_ENABMULTI_REQ:
+ case DL_DISABMULTI_REQ:
+ case DL_XID_REQ:
+ case DL_TEST_REQ:
+ case DL_REPLY_UPDATE_REQ:
+ case DL_REPLY_REQ:
+ case DL_DATA_ACK_REQ:
+#endif
+ case DL_CONNECT_REQ:
+ case DL_TOKEN_REQ:
+ dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
+ break;
+
+ case DL_CONNECT_RES:
+ case DL_DISCONNECT_REQ:
+ case DL_RESET_REQ:
+ case DL_RESET_RES:
+ dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
+ break;
+
+ case DL_UDQOS_REQ:
+ dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
+ break;
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_TEST_RES:
+ case DL_XID_RES:
+ break;
+#endif
+
+ default:
+ cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
+ /* fall through */
+ badprim:
+ dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
+ break;
+ }
+ freemsg(mp);
+}
+
+static void
+dlpi_error(q, us, prim, err, uerr)
+ queue_t *q;
+ upperstr_t *us;
+ int prim, err, uerr;
+{
+ mblk_t *reply;
+ dl_error_ack_t *errp;
+
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
+ reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
+ if (reply == 0)
+ return; /* XXX should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ errp = (dl_error_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_error_ack_t);
+ errp->dl_primitive = DL_ERROR_ACK;
+ errp->dl_error_primitive = prim;
+ errp->dl_errno = err;
+ errp->dl_unix_errno = uerr;
+ qreply(q, reply);
+}
+
+static void
+dlpi_ok(q, prim)
+ queue_t *q;
+ int prim;
+{
+ mblk_t *reply;
+ dl_ok_ack_t *okp;
+
+ reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
+ if (reply == 0)
+ return; /* XXX should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ okp = (dl_ok_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_ok_ack_t);
+ okp->dl_primitive = DL_OK_ACK;
+ okp->dl_correct_primitive = prim;
+ qreply(q, reply);
+}
+#endif /* NO_DLPI */
+
+static int
+pass_packet(us, mp, outbound)
+ upperstr_t *us;
+ mblk_t *mp;
+ int outbound;
+{
+ int pass;
+ upperstr_t *ppa;
+
+ if ((ppa = us->ppa) == 0) {
+ freemsg(mp);
+ return 0;
+ }
+
+#ifdef FILTER_PACKETS
+ pass = ip_hard_filter(us, mp, outbound);
+#else
+ /*
+ * Here is where we might, in future, decide whether to pass
+ * or drop the packet, and whether it counts as link activity.
+ */
+ pass = 1;
+#endif /* FILTER_PACKETS */
+
+ if (pass < 0) {
+ /* pass only if link already up, and don't update time */
+ if (ppa->lowerq == 0) {
+ freemsg(mp);
+ return 0;
+ }
+ pass = 1;
+ } else if (pass) {
+ if (outbound)
+ ppa->last_sent = time;
+ else
+ ppa->last_recv = time;
+ }
+
+ return pass;
+}
+
+/*
+ * We have some data to send down to the lower stream (or up the
+ * control stream, if we don't have a lower stream attached).
+ * Returns 1 if the message was dealt with, 0 if it wasn't able
+ * to be sent on and should therefore be queued up.
+ */
+static int
+send_data(mp, us)
+ mblk_t *mp;
+ upperstr_t *us;
+{
+ upperstr_t *ppa;
+
+ if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
+ return 0;
+ ppa = us->ppa;
+ if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
+ freemsg(mp);
+ return 1;
+ }
+ if (ppa->lowerq == 0) {
+ /* try to send it up the control stream */
+ if (bcanputnext(ppa->q, mp->b_band)) {
+ /*
+ * The message seems to get corrupted for some reason if
+ * we just send the message up as it is, so we send a copy.
+ */
+ mblk_t *np = copymsg(mp);
+ freemsg(mp);
+ if (np != 0)
+ putnext(ppa->q, np);
+ return 1;
+ }
+ } else {
+ if (bcanputnext(ppa->lowerq, mp->b_band)) {
+ MT_ENTER(&ppa->stats_lock);
+ ppa->stats.ppp_opackets++;
+ ppa->stats.ppp_obytes += msgdsize(mp);
+#ifdef INCR_OPACKETS
+ INCR_OPACKETS(ppa);
+#endif
+ MT_EXIT(&ppa->stats_lock);
+ /*
+ * The lower queue is only ever detached while holding an
+ * exclusive lock on the whole driver. So we can be confident
+ * that the lower queue is still there.
+ */
+ putnext(ppa->lowerq, mp);
+ return 1;
+ }
+ }
+ us->flags |= US_BLOCKED;
+ return 0;
+}
+
+/*
+ * Allocate a new PPA id and link this stream into the list of PPAs.
+ * This procedure is called with an exclusive lock on all queues in
+ * this driver.
+ */
+static void
+new_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *up, **usp;
+ int ppa_id;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("new_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+ usp = &ppas;
+ ppa_id = 0;
+ while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
+ ++ppa_id;
+ usp = &up->nextppa;
+ }
+ us->ppa_id = ppa_id;
+ us->ppa = us;
+ us->next = 0;
+ us->nextppa = *usp;
+ *usp = us;
+ us->flags |= US_CONTROL;
+ us->npmode = NPMODE_PASS;
+
+ us->mtu = PPP_MTU;
+ us->mru = PPP_MRU;
+
+#ifdef SOL2
+ /*
+ * Create a kstats record for our statistics, so netstat -i works.
+ */
+ if (us->kstats == 0) {
+ char unit[32];
+
+ sprintf(unit, "ppp%d", us->ppa->ppa_id);
+ us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
+ "net", KSTAT_TYPE_NAMED, 4, 0);
+ if (us->kstats != 0) {
+ kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
+
+ strcpy(kn[0].name, "ipackets");
+ kn[0].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[1].name, "ierrors");
+ kn[1].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[2].name, "opackets");
+ kn[2].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[3].name, "oerrors");
+ kn[3].data_type = KSTAT_DATA_ULONG;
+ kstat_install(us->kstats);
+ }
+ }
+#endif /* SOL2 */
+
+ *(int *)mp->b_cont->b_rptr = ppa_id;
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+static void
+attach_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *t;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("attach_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+#ifndef NO_DLPI
+ us->state = DL_UNBOUND;
+#endif
+ for (t = us->ppa; t->next != 0; t = t->next)
+ ;
+ t->next = us;
+ us->next = 0;
+ if (mp->b_datap->db_type == M_IOCTL) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+#ifndef NO_DLPI
+ dlpi_ok(q, DL_ATTACH_REQ);
+#endif
+ }
+}
+
+static void
+detach_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *t;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("detach_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+ for (t = us->ppa; t->next != 0; t = t->next)
+ if (t->next == us) {
+ t->next = us->next;
+ break;
+ }
+ us->next = 0;
+ us->ppa = 0;
+#ifndef NO_DLPI
+ us->state = DL_UNATTACHED;
+ dlpi_ok(q, DL_DETACH_REQ);
+#endif
+}
+
+/*
+ * We call this with qwriter in order to give the upper queue procedures
+ * the guarantee that the lower queue is not going to go away while
+ * they are executing.
+ */
+static void
+detach_lower(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("detach_lower: q_ptr = 0!\n");
+ return;
+ }
+
+ LOCK_LOWER_W;
+ us->lowerq->q_ptr = 0;
+ RD(us->lowerq)->q_ptr = 0;
+ us->lowerq = 0;
+ UNLOCK_LOWER;
+
+ /* Unblock streams which now feed back up the control stream. */
+ qenable(us->q);
+
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+static int
+pppuwsrv(q)
+ queue_t *q;
+{
+ upperstr_t *us, *as;
+ mblk_t *mp;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppuwsrv: q_ptr = 0!\n");
+ return 0;
+ }
+
+ /*
+ * If this is a control stream, then this service procedure
+ * probably got enabled because of flow control in the lower
+ * stream being enabled (or because of the lower stream going
+ * away). Therefore we enable the service procedure of all
+ * attached upper streams.
+ */
+ if (us->flags & US_CONTROL) {
+ for (as = us->next; as != 0; as = as->next)
+ qenable(WR(as->q));
+ }
+
+ /* Try to send on any data queued here. */
+ us->flags &= ~US_BLOCKED;
+ while ((mp = getq(q)) != 0) {
+ if (!send_data(mp, us)) {
+ putbq(q, mp);
+ break;
+ }
+ }
+
+ return 0;
+}
+
+/* should never get called... */
+static int
+ppplwput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ putnext(q, mp);
+ return 0;
+}
+
+static int
+ppplwsrv(q)
+ queue_t *q;
+{
+ queue_t *uq;
+
+ /*
+ * Flow control has back-enabled this stream:
+ * enable the upper write service procedure for
+ * the upper control stream for this lower stream.
+ */
+ LOCK_LOWER_R;
+ uq = (queue_t *) q->q_ptr;
+ if (uq != 0)
+ qenable(uq);
+ UNLOCK_LOWER;
+ return 0;
+}
+
+/*
+ * This should only get called for control streams.
+ */
+static int
+pppurput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *ppa, *us;
+ int proto, len;
+ struct iocblk *iop;
+
+ ppa = (upperstr_t *) q->q_ptr;
+ if (ppa == 0) {
+ DPRINT("pppurput: q_ptr = 0!\n");
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_CTL:
+ MT_ENTER(&ppa->stats_lock);
+ switch (*mp->b_rptr) {
+ case PPPCTL_IERROR:
+#ifdef INCR_IERRORS
+ INCR_IERRORS(ppa);
+#endif
+ ppa->stats.ppp_ierrors++;
+ break;
+ case PPPCTL_OERROR:
+#ifdef INCR_OERRORS
+ INCR_OERRORS(ppa);
+#endif
+ ppa->stats.ppp_oerrors++;
+ break;
+ }
+ MT_EXIT(&ppa->stats_lock);
+ freemsg(mp);
+ break;
+
+ case M_IOCACK:
+ case M_IOCNAK:
+ /*
+ * Attempt to match up the response with the stream
+ * that the request came from.
+ */
+ iop = (struct iocblk *) mp->b_rptr;
+ for (us = ppa; us != 0; us = us->next)
+ if (us->ioc_id == iop->ioc_id)
+ break;
+ if (us == 0)
+ freemsg(mp);
+ else
+ putnext(us->q, mp);
+ break;
+
+ case M_HANGUP:
+ /*
+ * The serial device has hung up. We don't want to send
+ * the M_HANGUP message up to pppd because that will stop
+ * us from using the control stream any more. Instead we
+ * send a zero-length message as an end-of-file indication.
+ */
+ freemsg(mp);
+ mp = allocb(1, BPRI_HI);
+ if (mp == 0) {
+ DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
+ break;
+ }
+ putnext(ppa->q, mp);
+ break;
+
+ default:
+ if (mp->b_datap->db_type == M_DATA) {
+ len = msgdsize(mp);
+ if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
+ PULLUP(mp, PPP_HDRLEN);
+ if (mp == 0) {
+ DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
+ break;
+ }
+ }
+ MT_ENTER(&ppa->stats_lock);
+ ppa->stats.ppp_ipackets++;
+ ppa->stats.ppp_ibytes += len;
+#ifdef INCR_IPACKETS
+ INCR_IPACKETS(ppa);
+#endif
+ MT_EXIT(&ppa->stats_lock);
+
+ proto = PPP_PROTOCOL(mp->b_rptr);
+
+#if defined(SOL2)
+ /*
+ * Should there be any promiscuous stream(s), send the data
+ * up for each promiscuous stream that we recognize.
+ */
+ promisc_sendup(ppa, mp, proto, 1);
+#endif /* defined(SOL2) */
+
+ if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
+ /*
+ * A data packet for some network protocol.
+ * Queue it on the upper stream for that protocol.
+ * XXX could we just putnext it? (would require thought)
+ * The rblocked flag is there to ensure that we keep
+ * messages in order for each network protocol.
+ */
+ if (!pass_packet(us, mp, 0))
+ break;
+ if (!us->rblocked && !canput(us->q))
+ us->rblocked = 1;
+ if (!us->rblocked)
+ putq(us->q, mp);
+ else
+ putq(q, mp);
+ break;
+ }
+ }
+ /*
+ * A control frame, a frame for an unknown protocol,
+ * or some other message type.
+ * Send it up to pppd via the control stream.
+ */
+ if (queclass(mp) == QPCTL || canputnext(ppa->q))
+ putnext(ppa->q, mp);
+ else
+ putq(q, mp);
+ break;
+ }
+
+ return 0;
+}
+
+static int
+pppursrv(q)
+ queue_t *q;
+{
+ upperstr_t *us, *as;
+ mblk_t *mp, *hdr;
+#ifndef NO_DLPI
+ dl_unitdata_ind_t *ud;
+#endif
+ int proto;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppursrv: q_ptr = 0!\n");
+ return 0;
+ }
+
+ if (us->flags & US_CONTROL) {
+ /*
+ * A control stream.
+ * If there is no lower queue attached, run the write service
+ * routines of other upper streams attached to this PPA.
+ */
+ if (us->lowerq == 0) {
+ as = us;
+ do {
+ if (as->flags & US_BLOCKED)
+ qenable(WR(as->q));
+ as = as->next;
+ } while (as != 0);
+ }
+
+ /*
+ * Messages get queued on this stream's read queue if they
+ * can't be queued on the read queue of the attached stream
+ * that they are destined for. This is for flow control -
+ * when this queue fills up, the lower read put procedure will
+ * queue messages there and the flow control will propagate
+ * down from there.
+ */
+ while ((mp = getq(q)) != 0) {
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
+ if (!canput(as->q))
+ break;
+ putq(as->q, mp);
+ } else {
+ if (!canputnext(q))
+ break;
+ putnext(q, mp);
+ }
+ }
+ if (mp) {
+ putbq(q, mp);
+ } else {
+ /* can now put stuff directly on network protocol streams again */
+ for (as = us->next; as != 0; as = as->next)
+ as->rblocked = 0;
+ }
+
+ /*
+ * If this stream has a lower stream attached,
+ * enable the read queue's service routine.
+ * XXX we should really only do this if the queue length
+ * has dropped below the low-water mark.
+ */
+ if (us->lowerq != 0)
+ qenable(RD(us->lowerq));
+
+ } else {
+ /*
+ * A network protocol stream. Put a DLPI header on each
+ * packet and send it on.
+ * (Actually, it seems that the IP module will happily
+ * accept M_DATA messages without the DL_UNITDATA_IND header.)
+ */
+ while ((mp = getq(q)) != 0) {
+ if (!canputnext(q)) {
+ putbq(q, mp);
+ break;
+ }
+#ifndef NO_DLPI
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ mp->b_rptr += PPP_HDRLEN;
+ hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
+ BPRI_MED);
+ if (hdr == 0) {
+ /* XXX should put it back and use bufcall */
+ freemsg(mp);
+ continue;
+ }
+ hdr->b_datap->db_type = M_PROTO;
+ ud = (dl_unitdata_ind_t *) hdr->b_wptr;
+ hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
+ hdr->b_cont = mp;
+ ud->dl_primitive = DL_UNITDATA_IND;
+ ud->dl_dest_addr_length = sizeof(uint);
+ ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
+ ud->dl_src_addr_length = sizeof(uint);
+ ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
+#if DL_CURRENT_VERSION >= 2
+ ud->dl_group_address = 0;
+#endif
+ /* Send the DLPI client the data with the SAP they requested,
+ (e.g. ETHERTYPE_IP) rather than the PPP protocol number
+ (e.g. PPP_IP) */
+ ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
+ ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
+ putnext(q, hdr);
+#else /* NO_DLPI */
+ putnext(q, mp);
+#endif /* NO_DLPI */
+ }
+ /*
+ * Now that we have consumed some packets from this queue,
+ * enable the control stream's read service routine so that we
+ * can process any packets for us that might have got queued
+ * there for flow control reasons.
+ */
+ if (us->ppa)
+ qenable(us->ppa->q);
+ }
+
+ return 0;
+}
+
+static upperstr_t *
+find_dest(ppa, proto)
+ upperstr_t *ppa;
+ int proto;
+{
+ upperstr_t *us;
+
+ for (us = ppa->next; us != 0; us = us->next)
+ if (proto == us->sap)
+ break;
+ return us;
+}
+
+#if defined (SOL2)
+/*
+ * Test upstream promiscuous conditions. As of now, only pass IPv4 and
+ * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
+ */
+static upperstr_t *
+find_promisc(us, proto)
+ upperstr_t *us;
+ int proto;
+{
+
+ if ((proto != PPP_IP) && (proto != PPP_IPV6))
+ return (upperstr_t *)0;
+
+ for ( ; us; us = us->next) {
+ if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
+ return us;
+ }
+
+ return (upperstr_t *)0;
+}
+
+/*
+ * Prepend an empty Ethernet header to msg for snoop, et al.
+ */
+static mblk_t *
+prepend_ether(us, mp, proto)
+ upperstr_t *us;
+ mblk_t *mp;
+ int proto;
+{
+ mblk_t *eh;
+ int type;
+
+ if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
+ freemsg(mp);
+ return (mblk_t *)0;
+ }
+
+ if (proto == PPP_IP)
+ type = ETHERTYPE_IP;
+ else if (proto == PPP_IPV6)
+ type = ETHERTYPE_IPV6;
+ else
+ type = proto; /* What else? Let decoder decide */
+
+ eh->b_wptr += sizeof(struct ether_header);
+ bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
+ ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
+ eh->b_cont = mp;
+ return (eh);
+}
+
+/*
+ * Prepend DL_UNITDATA_IND mblk to msg
+ */
+static mblk_t *
+prepend_udind(us, mp, proto)
+ upperstr_t *us;
+ mblk_t *mp;
+ int proto;
+{
+ dl_unitdata_ind_t *dlu;
+ mblk_t *dh;
+ size_t size;
+
+ size = sizeof(dl_unitdata_ind_t);
+ if ((dh = allocb(size, BPRI_MED)) == 0) {
+ freemsg(mp);
+ return (mblk_t *)0;
+ }
+
+ dh->b_datap->db_type = M_PROTO;
+ dh->b_wptr = dh->b_datap->db_lim;
+ dh->b_rptr = dh->b_wptr - size;
+
+ dlu = (dl_unitdata_ind_t *)dh->b_rptr;
+ dlu->dl_primitive = DL_UNITDATA_IND;
+ dlu->dl_dest_addr_length = 0;
+ dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
+ dlu->dl_src_addr_length = 0;
+ dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
+ dlu->dl_group_address = 0;
+
+ dh->b_cont = mp;
+ return (dh);
+}
+
+/*
+ * For any recognized promiscuous streams, send data upstream
+ */
+static void
+promisc_sendup(ppa, mp, proto, skip)
+ upperstr_t *ppa;
+ mblk_t *mp;
+ int proto, skip;
+{
+ mblk_t *dup_mp, *dup_dup_mp;
+ upperstr_t *prus, *nprus;
+
+ if ((prus = find_promisc(ppa, proto)) != 0) {
+ if (dup_mp = dupmsg(mp)) {
+
+ if (skip)
+ dup_mp->b_rptr += PPP_HDRLEN;
+
+ for ( ; nprus = find_promisc(prus->next, proto);
+ prus = nprus) {
+
+ if (dup_dup_mp = dupmsg(dup_mp)) {
+ if (canputnext(prus->q)) {
+ if (prus->flags & US_RAWDATA) {
+ dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
+ putnext(prus->q, dup_dup_mp);
+ } else {
+ dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
+ putnext(prus->q, dup_dup_mp);
+ }
+ } else {
+ DPRINT("ppp_urput: data to promisc q dropped\n");
+ freemsg(dup_dup_mp);
+ }
+ }
+ }
+
+ if (canputnext(prus->q)) {
+ if (prus->flags & US_RAWDATA) {
+ dup_mp = prepend_ether(prus, dup_mp, proto);
+ putnext(prus->q, dup_mp);
+ } else {
+ dup_mp = prepend_udind(prus, dup_mp, proto);
+ putnext(prus->q, dup_mp);
+ }
+ } else {
+ DPRINT("ppp_urput: data to promisc q dropped\n");
+ freemsg(dup_mp);
+ }
+ }
+ }
+}
+#endif /* defined(SOL2) */
+
+/*
+ * We simply put the message on to the associated upper control stream
+ * (either here or in ppplrsrv). That way we enter the perimeters
+ * before looking through the list of attached streams to decide which
+ * stream it should go up.
+ */
+static int
+ppplrput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ queue_t *uq;
+ struct iocblk *iop;
+
+ switch (mp->b_datap->db_type) {
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ iop->ioc_error = EINVAL;
+ mp->b_datap->db_type = M_IOCNAK;
+ qreply(q, mp);
+ return 0;
+ case M_FLUSH:
+ if (*mp->b_rptr & FLUSHR)
+ flushq(q, FLUSHDATA);
+ if (*mp->b_rptr & FLUSHW) {
+ *mp->b_rptr &= ~FLUSHR;
+ qreply(q, mp);
+ } else
+ freemsg(mp);
+ return 0;
+ }
+
+ /*
+ * If we can't get the lower lock straight away, queue this one
+ * rather than blocking, to avoid the possibility of deadlock.
+ */
+ if (!TRYLOCK_LOWER_R) {
+ putq(q, mp);
+ return 0;
+ }
+
+ /*
+ * Check that we're still connected to the driver.
+ */
+ uq = (queue_t *) q->q_ptr;
+ if (uq == 0) {
+ UNLOCK_LOWER;
+ DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
+ freemsg(mp);
+ return 0;
+ }
+
+ /*
+ * Try to forward the message to the put routine for the upper
+ * control stream for this lower stream.
+ * If there are already messages queued here, queue this one so
+ * they don't get out of order.
+ */
+ if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
+ put(uq, mp);
+ else
+ putq(q, mp);
+
+ UNLOCK_LOWER;
+ return 0;
+}
+
+static int
+ppplrsrv(q)
+ queue_t *q;
+{
+ mblk_t *mp;
+ queue_t *uq;
+
+ /*
+ * Packets get queued here for flow control reasons
+ * or if the lrput routine couldn't get the lower lock
+ * without blocking.
+ */
+ LOCK_LOWER_R;
+ uq = (queue_t *) q->q_ptr;
+ if (uq == 0) {
+ UNLOCK_LOWER;
+ flushq(q, FLUSHALL);
+ DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
+ return 0;
+ }
+ while ((mp = getq(q)) != 0) {
+ if (queclass(mp) == QPCTL || canput(uq))
+ put(uq, mp);
+ else {
+ putbq(q, mp);
+ break;
+ }
+ }
+ UNLOCK_LOWER;
+ return 0;
+}
+
+static int
+putctl2(q, type, code, val)
+ queue_t *q;
+ int type, code, val;
+{
+ mblk_t *mp;
+
+ mp = allocb(2, BPRI_HI);
+ if (mp == 0)
+ return 0;
+ mp->b_datap->db_type = type;
+ mp->b_wptr[0] = code;
+ mp->b_wptr[1] = val;
+ mp->b_wptr += 2;
+ putnext(q, mp);
+ return 1;
+}
+
+static int
+putctl4(q, type, code, val)
+ queue_t *q;
+ int type, code, val;
+{
+ mblk_t *mp;
+
+ mp = allocb(4, BPRI_HI);
+ if (mp == 0)
+ return 0;
+ mp->b_datap->db_type = type;
+ mp->b_wptr[0] = code;
+ ((short *)mp->b_wptr)[1] = val;
+ mp->b_wptr += 4;
+ putnext(q, mp);
+ return 1;
+}
+
+static void
+debug_dump(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us;
+ queue_t *uq, *lq;
+
+ DPRINT("ppp upper streams:\n");
+ for (us = minor_devs; us != 0; us = us->nextmn) {
+ uq = us->q;
+ DPRINT3(" %d: q=%x rlev=%d",
+ us->mn, uq, (uq? qsize(uq): 0));
+ DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
+ us->flags, "\020\1priv\2control\3blocked\4last");
+ DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
+ us->req_sap);
+ if (us->ppa == 0)
+ DPRINT(" ppa=?\n");
+ else
+ DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
+ if (us->flags & US_CONTROL) {
+ lq = us->lowerq;
+ DPRINT3(" control for %d lq=%x rlev=%d",
+ us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
+ DPRINT3(" wlev=%d mru=%d mtu=%d\n",
+ (lq? qsize(lq): 0), us->mru, us->mtu);
+ }
+ }
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+#ifdef FILTER_PACKETS
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/udp.h>
+#include <netinet/tcp.h>
+
+#define MAX_IPHDR 128 /* max TCP/IP header size */
+
+
+/* The following table contains a hard-coded list of protocol/port pairs.
+ * Any matching packets are either discarded unconditionally, or,
+ * if ok_if_link_up is non-zero when a connection does not currently exist
+ * (i.e., they go through if the connection is present, but never initiate
+ * a dial-out).
+ * This idea came from a post by dm@garage.uun.org (David Mazieres)
+ */
+static struct pktfilt_tab {
+ int proto;
+ u_short port;
+ u_short ok_if_link_up;
+} pktfilt_tab[] = {
+ { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
+ { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
+ { -1, 0, 0 } /* terminator entry has port == -1 */
+};
+
+
+static int
+ip_hard_filter(us, mp, outbound)
+ upperstr_t *us;
+ mblk_t *mp;
+ int outbound;
+{
+ struct ip *ip;
+ struct pktfilt_tab *pft;
+ mblk_t *temp_mp;
+ int proto;
+ int len, hlen;
+
+
+ /* Note, the PPP header has already been pulled up in all cases */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
+
+ switch (proto)
+ {
+ case PPP_IP:
+ if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
+ temp_mp = mp->b_cont;
+ len = msgdsize(temp_mp);
+ hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
+ PULLUP(temp_mp, hlen);
+ if (temp_mp == 0) {
+ DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
+ us->mn, hlen);
+ mp->b_cont = 0; /* PULLUP() freed the rest */
+ freemsg(mp);
+ return 0;
+ }
+ ip = (struct ip *)mp->b_cont->b_rptr;
+ }
+ else {
+ len = msgdsize(mp);
+ hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
+ PULLUP(mp, hlen);
+ if (mp == 0) {
+ DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
+ us->mn, hlen);
+ return 0;
+ }
+ ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
+ }
+
+ /* For IP traffic, certain packets (e.g., RIP) may be either
+ * 1. ignored - dropped completely
+ * 2. will not initiate a connection, but
+ * will be passed if a connection is currently up.
+ */
+ for (pft=pktfilt_tab; pft->proto != -1; pft++) {
+ if (ip->ip_p == pft->proto) {
+ switch(pft->proto) {
+ case IPPROTO_UDP:
+ if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
+ == htons(pft->port)) goto endfor;
+ break;
+ case IPPROTO_TCP:
+ if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
+ == htons(pft->port)) goto endfor;
+ break;
+ }
+ }
+ }
+ endfor:
+ if (pft->proto != -1) {
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
+ us->mn, pft->proto, pft->port);
+ /* Discard if not connected, or if not pass_with_link_up */
+ /* else, if link is up let go by, but don't update time */
+ return pft->ok_if_link_up? -1: 0;
+ }
+ break;
+ } /* end switch (proto) */
+
+ return 1;
+}
+#endif /* FILTER_PACKETS */
+
diff --git a/mdk-stage1/ppp/modules/ppp_ahdlc.c b/mdk-stage1/ppp/modules/ppp_ahdlc.c
new file mode 100644
index 000000000..a69dd8a7f
--- /dev/null
+++ b/mdk-stage1/ppp/modules/ppp_ahdlc.c
@@ -0,0 +1,878 @@
+/*
+ * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
+ *
+ * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
+ * the original ppp_ahdlc.c
+ *
+ * Copyright (c) 2000 by Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies.
+ *
+ * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
+ * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+ * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_ahdlc.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
+ */
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stream.h>
+#include <sys/errno.h>
+
+#ifdef SVR4
+#include <sys/conf.h>
+#include <sys/kmem.h>
+#include <sys/cmn_err.h>
+#include <sys/ddi.h>
+#else
+#include <sys/user.h>
+#ifdef __osf__
+#include <sys/cmn_err.h>
+#endif
+#endif /* SVR4 */
+
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+/*
+ * Right now, mutex is only enabled for Solaris 2.x
+ */
+#if defined(SOL2)
+#define USE_MUTEX
+#endif /* SOL2 */
+
+/*
+ * intpointer_t and uintpointer_t are signed and unsigned integer types
+ * large enough to hold any data pointer; that is, data pointers can be
+ * assigned into or from these integer types without losing precision.
+ * On recent Solaris releases, these types are defined in sys/int_types.h,
+ * but not on SunOS 4.x or the earlier Solaris versions.
+ */
+#if defined(_LP64) || defined(_I32LPx)
+typedef long intpointer_t;
+typedef unsigned long uintpointer_t;
+#else
+typedef int intpointer_t;
+typedef unsigned int uintpointer_t;
+#endif
+
+MOD_OPEN_DECL(ahdlc_open);
+MOD_CLOSE_DECL(ahdlc_close);
+static int ahdlc_wput __P((queue_t *, mblk_t *));
+static int ahdlc_rput __P((queue_t *, mblk_t *));
+static void ahdlc_encode __P((queue_t *, mblk_t *));
+static void ahdlc_decode __P((queue_t *, mblk_t *));
+static int msg_byte __P((mblk_t *, unsigned int));
+
+#if defined(SOL2)
+/*
+ * Don't send HDLC start flag is last transmit is within 1.5 seconds -
+ * FLAG_TIME is defined is microseconds
+ */
+#define FLAG_TIME 1500
+#define ABS(x) (x >= 0 ? x : (-x))
+#endif /* SOL2 */
+
+/*
+ * Extract byte i of message mp
+ */
+#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+ msg_byte((mp), (i)))
+
+/*
+ * Is this LCP packet one we have to transmit using LCP defaults?
+ */
+#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
+
+/*
+ * Standard STREAMS declarations
+ */
+static struct module_info minfo = {
+ 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
+};
+
+static struct qinit rinit = {
+ ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
+};
+
+static struct qinit winit = {
+ ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
+};
+
+#if defined(SVR4) && !defined(SOL2)
+int phdldevflag = 0;
+#define ppp_ahdlcinfo phdlinfo
+#endif /* defined(SVR4) && !defined(SOL2) */
+
+struct streamtab ppp_ahdlcinfo = {
+ &rinit, /* ptr to st_rdinit */
+ &winit, /* ptr to st_wrinit */
+ NULL, /* ptr to st_muxrinit */
+ NULL, /* ptr to st_muxwinit */
+#if defined(SUNOS4)
+ NULL /* ptr to ptr to st_modlist */
+#endif /* SUNOS4 */
+};
+
+#if defined(SUNOS4)
+int ppp_ahdlc_count = 0; /* open counter */
+#endif /* SUNOS4 */
+
+/*
+ * Per-stream state structure
+ */
+typedef struct ahdlc_state {
+#if defined(USE_MUTEX)
+ kmutex_t lock; /* lock for this structure */
+#endif /* USE_MUTEX */
+ int flags; /* link flags */
+ mblk_t *rx_buf; /* ptr to receive buffer */
+ int rx_buf_size; /* receive buffer size */
+ ushort_t infcs; /* calculated rx HDLC FCS */
+ u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
+ u_int32_t raccm; /* 32-bit rcv ACCM */
+ int mtu; /* interface MTU */
+ int mru; /* link MRU */
+ int unit; /* current PPP unit number */
+ struct pppstat stats; /* statistic structure */
+#if defined(SOL2)
+ clock_t flag_time; /* time in usec between flags */
+ clock_t lbolt; /* last updated lbolt */
+#endif /* SOL2 */
+} ahdlc_state_t;
+
+/*
+ * Values for flags
+ */
+#define ESCAPED 0x100 /* last saw escape char on input */
+#define IFLUSH 0x200 /* flushing input due to error */
+
+/*
+ * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
+ */
+#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
+
+/*
+ * FCS lookup table as calculated by genfcstab.
+ */
+static u_short fcstab[256] = {
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
+};
+
+static u_int32_t paritytab[8] =
+{
+ 0x96696996, 0x69969669, 0x69969669, 0x96696996,
+ 0x69969669, 0x96696996, 0x96696996, 0x69969669
+};
+
+/*
+ * STREAMS module open (entry) point
+ */
+MOD_OPEN(ahdlc_open)
+{
+ ahdlc_state_t *state;
+
+ /*
+ * Return if it's already opened
+ */
+ if (q->q_ptr) {
+ return 0;
+ }
+
+ /*
+ * This can only be opened as a module
+ */
+ if (sflag != MODOPEN) {
+ return 0;
+ }
+
+ state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
+ if (state == 0)
+ OPEN_ERROR(ENOSR);
+ bzero((caddr_t) state, sizeof(ahdlc_state_t));
+
+ q->q_ptr = (caddr_t) state;
+ WR(q)->q_ptr = (caddr_t) state;
+
+#if defined(USE_MUTEX)
+ mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
+ state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
+ state->mru = PPP_MRU; /* default of 1500 bytes */
+#if defined(SOL2)
+ state->flag_time = drv_usectohz(FLAG_TIME);
+#endif /* SOL2 */
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+
+#if defined(SUNOS4)
+ ppp_ahdlc_count++;
+#endif /* SUNOS4 */
+
+ qprocson(q);
+
+ return 0;
+}
+
+/*
+ * STREAMS module close (exit) point
+ */
+MOD_CLOSE(ahdlc_close)
+{
+ ahdlc_state_t *state;
+
+ qprocsoff(q);
+
+ state = (ahdlc_state_t *) q->q_ptr;
+
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_close\n");
+ return 0;
+ }
+
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ if (state->rx_buf != 0) {
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ }
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+ mutex_destroy(&state->lock);
+#endif /* USE_MUTEX */
+
+ FREE(q->q_ptr, sizeof(ahdlc_state_t));
+ q->q_ptr = NULL;
+ OTHERQ(q)->q_ptr = NULL;
+
+#if defined(SUNOS4)
+ if (ppp_ahdlc_count)
+ ppp_ahdlc_count--;
+#endif /* SUNOS4 */
+
+ return 0;
+}
+
+/*
+ * Write side put routine
+ */
+static int
+ahdlc_wput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ struct iocblk *iop;
+ int error;
+ mblk_t *np;
+ struct ppp_stats *psp;
+
+ state = (ahdlc_state_t *) q->q_ptr;
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_wput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ /*
+ * A data packet - do character-stuffing and FCS, and
+ * send it onwards.
+ */
+ ahdlc_encode(q, mp);
+ freemsg(mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ switch (iop->ioc_cmd) {
+ case PPPIO_XACCM:
+ if ((iop->ioc_count < sizeof(u_int32_t)) ||
+ (iop->ioc_count > sizeof(ext_accm))) {
+ break;
+ }
+ if (mp->b_cont == 0) {
+ DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
+ break;
+ }
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
+ iop->ioc_count);
+ state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
+ state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_RACCM:
+ if (iop->ioc_count != sizeof(u_int32_t))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
+ break;
+ }
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
+ sizeof(u_int32_t));
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_GCLEAN:
+ np = allocb(sizeof(int), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ *(int *)np->b_wptr = state->flags & RCV_FLAGS;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ np->b_wptr += sizeof(int);
+ iop->ioc_count = sizeof(int);
+ error = 0;
+ break;
+
+ case PPPIO_GETSTAT:
+ np = allocb(sizeof(struct ppp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ psp = (struct ppp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_stats);
+ bzero((caddr_t)psp, sizeof(struct ppp_stats));
+ psp->p = state->stats;
+ iop->ioc_count = sizeof(struct ppp_stats);
+ error = 0;
+ break;
+
+ case PPPIO_LASTMOD:
+ /* we knew this anyway */
+ error = 0;
+ break;
+
+ default:
+ error = -1;
+ break;
+ }
+
+ if (error < 0)
+ putnext(q, mp);
+ else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+ mp->b_datap->db_type = M_IOCNAK;
+ iop->ioc_count = 0;
+ iop->ioc_error = error;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_CTL:
+ switch (*mp->b_rptr) {
+ case PPPCTL_MTU:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->mtu = ((unsigned short *)mp->b_rptr)[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ freemsg(mp);
+ break;
+ case PPPCTL_MRU:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->mru = ((unsigned short *)mp->b_rptr)[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ freemsg(mp);
+ break;
+ case PPPCTL_UNIT:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->unit = mp->b_rptr[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ break;
+ default:
+ putnext(q, mp);
+ }
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+/*
+ * Read side put routine
+ */
+static int
+ahdlc_rput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+
+ state = (ahdlc_state_t *) q->q_ptr;
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_rput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ ahdlc_decode(q, mp);
+ freemsg(mp);
+ break;
+
+ case M_HANGUP:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ if (state->rx_buf != 0) {
+ /* XXX would like to send this up for debugging */
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ }
+ state->flags = IFLUSH;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+ return 0;
+}
+
+/*
+ * Extract bit c from map m, to determine if c needs to be escaped
+ */
+#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
+
+static void
+ahdlc_encode(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ u_int32_t *xaccm, loc_xaccm[8];
+ ushort_t fcs;
+ size_t outmp_len;
+ mblk_t *outmp, *tmp;
+ uchar_t *dp, fcs_val;
+ int is_lcp, code;
+#if defined(SOL2)
+ clock_t lbolt;
+#endif /* SOL2 */
+
+ if (msgdsize(mp) < 4) {
+ return;
+ }
+
+ state = (ahdlc_state_t *)q->q_ptr;
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ /*
+ * Allocate an output buffer large enough to handle a case where all
+ * characters need to be escaped
+ */
+ outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
+ (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
+ (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
+
+ outmp = allocb(outmp_len, BPRI_MED);
+ if (outmp == NULL) {
+ state->stats.ppp_oerrors++;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ return;
+ }
+
+#if defined(SOL2)
+ /*
+ * Check if our last transmit happenned within flag_time, using
+ * the system's LBOLT value in clock ticks
+ */
+ if (drv_getparm(LBOLT, &lbolt) != -1) {
+ if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+ state->lbolt = lbolt;
+ } else {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+#else
+ /*
+ * If the driver below still has a message to process, skip the
+ * HDLC flag, otherwise, put one in the beginning
+ */
+ if (qsize(q->q_next) == 0) {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+#endif
+
+ /*
+ * All control characters must be escaped for LCP packets with code
+ * values between 1 (Conf-Req) and 7 (Code-Rej).
+ */
+ is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
+ (MSG_BYTE(mp, 1) == PPP_UI) &&
+ (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
+ (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
+ LCP_USE_DFLT(mp));
+
+ xaccm = state->xaccm;
+ if (is_lcp) {
+ bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
+ loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
+ xaccm = loc_xaccm;
+ }
+
+ fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
+
+ /*
+ * Process this block and the rest (if any) attached to the this one
+ */
+ for (tmp = mp; tmp; tmp = tmp->b_cont) {
+ if (tmp->b_datap->db_type == M_DATA) {
+ for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
+ fcs = PPP_FCS(fcs, *dp);
+ if (IN_TX_MAP(*dp, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = *dp ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = *dp;
+ }
+ }
+ } else {
+ continue; /* skip if db_type is something other than M_DATA */
+ }
+ }
+
+ /*
+ * Append the HDLC FCS, making sure that escaping is done on any
+ * necessary bytes
+ */
+ fcs_val = (fcs ^ 0xffff) & 0xff;
+ if (IN_TX_MAP(fcs_val, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = fcs_val;
+ }
+
+ fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
+ if (IN_TX_MAP(fcs_val, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = fcs_val;
+ }
+
+ /*
+ * And finally, append the HDLC flag, and send it away
+ */
+ *outmp->b_wptr++ = PPP_FLAG;
+
+ state->stats.ppp_obytes += msgdsize(outmp);
+ state->stats.ppp_opackets++;
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+
+ putnext(q, outmp);
+ return;
+}
+
+/*
+ * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
+ */
+#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
+ (m) & (1 << (c)))
+
+
+/*
+ * Process received characters.
+ */
+static void
+ahdlc_decode(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ mblk_t *om;
+ uchar_t *dp;
+ ushort_t fcs;
+#if defined(SOL2)
+ mblk_t *zmp;
+#endif /* SOL2 */
+
+#if defined(SOL2)
+ /*
+ * In case the driver (or something below) doesn't send
+ * data upstream in one message block, concatenate everything
+ */
+ if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
+ ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
+
+ zmp = msgpullup(mp, -1);
+ freemsg(mp);
+ mp = zmp;
+ if (mp == 0)
+ return;
+ }
+#endif /* SOL2 */
+
+ state = (ahdlc_state_t *) q->q_ptr;
+
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ state->stats.ppp_ibytes += msgdsize(mp);
+
+ for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
+
+ /*
+ * This should detect the lack of 8-bit communication channel
+ * which is necessary for PPP to work. In addition, it also
+ * checks on the parity.
+ */
+ if (*dp & 0x80)
+ state->flags |= RCV_B7_1;
+ else
+ state->flags |= RCV_B7_0;
+
+ if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
+ state->flags |= RCV_ODDP;
+ else
+ state->flags |= RCV_EVNP;
+
+ /*
+ * So we have a HDLC flag ...
+ */
+ if (*dp == PPP_FLAG) {
+
+ /*
+ * If we think that it marks the beginning of the frame,
+ * then continue to process the next octects
+ */
+ if ((state->flags & IFLUSH) ||
+ (state->rx_buf == 0) ||
+ (msgdsize(state->rx_buf) == 0)) {
+
+ state->flags &= ~IFLUSH;
+ continue;
+ }
+
+ /*
+ * We get here because the above condition isn't true,
+ * in which case the HDLC flag was there to mark the end
+ * of the frame (or so we think)
+ */
+ om = state->rx_buf;
+
+ if (state->infcs == PPP_GOODFCS) {
+ state->stats.ppp_ipackets++;
+ adjmsg(om, -PPP_FCSLEN);
+ putnext(q, om);
+ } else {
+ DPRINT2("ppp%d: bad fcs (len=%d)\n",
+ state->unit, msgdsize(state->rx_buf));
+ freemsg(state->rx_buf);
+ state->flags &= ~(IFLUSH | ESCAPED);
+ state->stats.ppp_ierrors++;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ }
+
+ state->rx_buf = 0;
+ continue;
+ }
+
+ if (state->flags & IFLUSH) {
+ continue;
+ }
+
+ /*
+ * Allocate a receive buffer, large enough to store a frame (after
+ * un-escaping) of at least 1500 octets. If MRU is negotiated to
+ * be more than the default, then allocate that much. In addition,
+ * we add an extra 32-bytes for a fudge factor
+ */
+ if (state->rx_buf == 0) {
+ state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
+ state->rx_buf_size += (sizeof(u_int32_t) << 3);
+ state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
+
+ /*
+ * If allocation fails, try again on the next frame
+ */
+ if (state->rx_buf == 0) {
+ state->flags |= IFLUSH;
+ continue;
+ }
+ state->flags &= ~(IFLUSH | ESCAPED);
+ state->infcs = PPP_INITFCS;
+ }
+
+ if (*dp == PPP_ESCAPE) {
+ state->flags |= ESCAPED;
+ continue;
+ }
+
+ /*
+ * Make sure we un-escape the necessary characters, as well as the
+ * ones in our receive async control character map
+ */
+ if (state->flags & ESCAPED) {
+ *dp ^= PPP_TRANS;
+ state->flags &= ~ESCAPED;
+ } else if (IN_RX_MAP(*dp, state->raccm))
+ continue;
+
+ /*
+ * Unless the peer lied to us about the negotiated MRU, we should
+ * never get a frame which is too long. If it happens, toss it away
+ * and grab the next incoming one
+ */
+ if (msgdsize(state->rx_buf) < state->rx_buf_size) {
+ state->infcs = PPP_FCS(state->infcs, *dp);
+ *state->rx_buf->b_wptr++ = *dp;
+ } else {
+ DPRINT2("ppp%d: frame too long (%d)\n",
+ state->unit, msgdsize(state->rx_buf));
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ state->flags |= IFLUSH;
+ }
+ }
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+}
+
+static int
+msg_byte(mp, i)
+ mblk_t *mp;
+ unsigned int i;
+{
+ while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
+ mp = mp->b_cont;
+ if (mp == 0)
+ return -1;
+ return mp->b_rptr[i];
+}
diff --git a/mdk-stage1/ppp/modules/ppp_comp.c b/mdk-stage1/ppp/modules/ppp_comp.c
new file mode 100644
index 000000000..21902d948
--- /dev/null
+++ b/mdk-stage1/ppp/modules/ppp_comp.c
@@ -0,0 +1,1126 @@
+/*
+ * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_comp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/errno.h>
+#include <sys/stream.h>
+
+#ifdef SVR4
+#include <sys/conf.h>
+#include <sys/cmn_err.h>
+#include <sys/ddi.h>
+#else
+#include <sys/user.h>
+#ifdef __osf__
+#include <sys/cmn_err.h>
+#endif
+#endif /* SVR4 */
+
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+#ifdef __osf__
+#include <sys/mbuf.h>
+#include <sys/protosw.h>
+#endif
+
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <net/vjcompress.h>
+
+#define PACKETPTR mblk_t *
+#include <net/ppp-comp.h>
+
+MOD_OPEN_DECL(ppp_comp_open);
+MOD_CLOSE_DECL(ppp_comp_close);
+static int ppp_comp_rput __P((queue_t *, mblk_t *));
+static int ppp_comp_rsrv __P((queue_t *));
+static int ppp_comp_wput __P((queue_t *, mblk_t *));
+static int ppp_comp_wsrv __P((queue_t *));
+static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
+static int msg_byte __P((mblk_t *, unsigned int));
+
+/* Extract byte i of message mp. */
+#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+ msg_byte((mp), (i)))
+
+/* Is this LCP packet one we have to transmit using LCP defaults? */
+#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
+
+#define PPP_COMP_ID 0xbadf
+static struct module_info minfo = {
+#ifdef PRIOQ
+ PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
+#else
+ PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
+#endif
+};
+
+static struct qinit r_init = {
+ ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
+ NULL, &minfo, NULL
+};
+
+static struct qinit w_init = {
+ ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
+};
+
+#if defined(SVR4) && !defined(SOL2)
+int pcmpdevflag = 0;
+#define ppp_compinfo pcmpinfo
+#endif
+struct streamtab ppp_compinfo = {
+ &r_init, &w_init, NULL, NULL
+};
+
+int ppp_comp_count; /* number of module instances in use */
+
+#ifdef __osf__
+
+static void ppp_comp_alloc __P((comp_state_t *));
+typedef struct memreq {
+ unsigned char comp_opts[20];
+ int cmd;
+ int thread_status;
+ char *returned_mem;
+} memreq_t;
+
+#endif
+
+typedef struct comp_state {
+ int flags;
+ int mru;
+ int mtu;
+ int unit;
+ struct compressor *xcomp;
+ void *xstate;
+ struct compressor *rcomp;
+ void *rstate;
+ struct vjcompress vj_comp;
+ int vj_last_ierrors;
+ struct pppstat stats;
+#ifdef __osf__
+ memreq_t memreq;
+ thread_t thread;
+#endif
+} comp_state_t;
+
+
+#ifdef __osf__
+extern task_t first_task;
+#endif
+
+/* Bits in flags are as defined in pppio.h. */
+#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
+#define LAST_MOD 0x1000000 /* no ppp modules below us */
+#define DBGLOG 0x2000000 /* log debugging stuff */
+
+#define MAX_IPHDR 128 /* max TCP/IP header size */
+#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
+
+#undef MIN /* just in case */
+#define MIN(a, b) ((a) < (b)? (a): (b))
+
+/*
+ * List of compressors we know about.
+ */
+
+#if DO_BSD_COMPRESS
+extern struct compressor ppp_bsd_compress;
+#endif
+#if DO_DEFLATE
+extern struct compressor ppp_deflate, ppp_deflate_draft;
+#endif
+
+struct compressor *ppp_compressors[] = {
+#if DO_BSD_COMPRESS
+ &ppp_bsd_compress,
+#endif
+#if DO_DEFLATE
+ &ppp_deflate,
+ &ppp_deflate_draft,
+#endif
+ NULL
+};
+
+/*
+ * STREAMS module entry points.
+ */
+MOD_OPEN(ppp_comp_open)
+{
+ comp_state_t *cp;
+#ifdef __osf__
+ thread_t thread;
+#endif
+
+ if (q->q_ptr == NULL) {
+ cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
+ if (cp == NULL)
+ OPEN_ERROR(ENOSR);
+ bzero((caddr_t)cp, sizeof(comp_state_t));
+ WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
+ cp->mru = PPP_MRU;
+ cp->mtu = PPP_MTU;
+ cp->xstate = NULL;
+ cp->rstate = NULL;
+ vj_compress_init(&cp->vj_comp, -1);
+#ifdef __osf__
+ if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
+ OPEN_ERROR(ENOSR);
+ cp->thread = thread;
+#endif
+ ++ppp_comp_count;
+ qprocson(q);
+ }
+ return 0;
+}
+
+MOD_CLOSE(ppp_comp_close)
+{
+ comp_state_t *cp;
+
+ qprocsoff(q);
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp != NULL) {
+ if (cp->xstate != NULL)
+ (*cp->xcomp->comp_free)(cp->xstate);
+ if (cp->rstate != NULL)
+ (*cp->rcomp->decomp_free)(cp->rstate);
+#ifdef __osf__
+ if (!cp->thread)
+ printf("ppp_comp_close: NULL thread!\n");
+ else
+ thread_terminate(cp->thread);
+#endif
+ FREE(cp, sizeof(comp_state_t));
+ q->q_ptr = NULL;
+ OTHERQ(q)->q_ptr = NULL;
+ --ppp_comp_count;
+ }
+ return 0;
+}
+
+#ifdef __osf__
+
+/* thread for calling back to a compressor's memory allocator
+ * Needed for Digital UNIX since it's VM can't handle requests
+ * for large amounts of memory without blocking. The thread
+ * provides a context in which we can call a memory allocator
+ * that may block.
+ */
+static void
+ppp_comp_alloc(comp_state_t *cp)
+{
+ int len, cmd;
+ unsigned char *compressor_options;
+ thread_t thread;
+ void *(*comp_allocator)();
+
+
+#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
+
+ /* In 2.x and earlier the argument gets passed
+ * in the thread structure itself. Yuck.
+ */
+ thread = current_thread();
+ cp = thread->reply_port;
+ thread->reply_port = PORT_NULL;
+
+#endif
+
+ for (;;) {
+ assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
+ thread_block();
+
+ if (thread_should_halt(current_thread()))
+ thread_halt_self();
+ cmd = cp->memreq.cmd;
+ compressor_options = &cp->memreq.comp_opts[0];
+ len = compressor_options[1];
+ if (cmd == PPPIO_XCOMP) {
+ cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
+ if (!cp->memreq.returned_mem) {
+ cp->memreq.thread_status = ENOSR;
+ } else {
+ cp->memreq.thread_status = 0;
+ }
+ } else {
+ cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
+ if (!cp->memreq.returned_mem) {
+ cp->memreq.thread_status = ENOSR;
+ } else {
+ cp->memreq.thread_status = 0;
+ }
+ }
+ }
+}
+
+#endif /* __osf__ */
+
+/* here's the deal with memory allocation under Digital UNIX.
+ * Some other may also benefit from this...
+ * We can't ask for huge chunks of memory in a context where
+ * the caller can't be put to sleep (like, here.) The alloc
+ * is likely to fail. Instead we do this: the first time we
+ * get called, kick off a thread to do the allocation. Return
+ * immediately to the caller with EAGAIN, as an indication that
+ * they should send down the ioctl again. By the time the
+ * second call comes in it's likely that the memory allocation
+ * thread will have returned with the requested memory. We will
+ * continue to return EAGAIN however until the thread has completed.
+ * When it has, we return zero (and the memory) if the allocator
+ * was successful and ENOSR otherwise.
+ *
+ * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
+ * required) to loop for some number of iterations with a small
+ * delay in the loop body (for instance a 1/10-th second "sleep"
+ * via select.)
+ */
+static int
+ppp_comp_wput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ struct iocblk *iop;
+ comp_state_t *cp;
+ int error, len, n;
+ int flags, mask;
+ mblk_t *np;
+ struct compressor **comp;
+ struct ppp_stats *psp;
+ struct ppp_comp_stats *csp;
+ unsigned char *opt_data;
+ int nxslots, nrslots;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_wput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+
+ case M_DATA:
+ putq(q, mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ switch (iop->ioc_cmd) {
+
+ case PPPIO_CFLAGS:
+ /* set/get CCP state */
+ if (iop->ioc_count != 2 * sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
+ break;
+ }
+ flags = ((int *) mp->b_cont->b_rptr)[0];
+ mask = ((int *) mp->b_cont->b_rptr)[1];
+ cp->flags = (cp->flags & ~mask) | (flags & mask);
+ if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
+ if (cp->xstate != NULL) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = NULL;
+ }
+ if (cp->rstate != NULL) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ cp->flags &= ~CCP_ISUP;
+ }
+ error = 0;
+ iop->ioc_count = sizeof(int);
+ ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
+ mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
+ break;
+
+ case PPPIO_VJINIT:
+ /*
+ * Initialize VJ compressor/decompressor
+ */
+ if (iop->ioc_count != 2)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
+ break;
+ }
+ nxslots = mp->b_cont->b_rptr[0] + 1;
+ nrslots = mp->b_cont->b_rptr[1] + 1;
+ if (nxslots > MAX_STATES || nrslots > MAX_STATES)
+ break;
+ vj_compress_init(&cp->vj_comp, nxslots);
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_XCOMP:
+ case PPPIO_RCOMP:
+ if (iop->ioc_count <= 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
+ break;
+ }
+ opt_data = mp->b_cont->b_rptr;
+ len = mp->b_cont->b_wptr - opt_data;
+ if (len > iop->ioc_count)
+ len = iop->ioc_count;
+ if (opt_data[1] < 2 || opt_data[1] > len)
+ break;
+ for (comp = ppp_compressors; *comp != NULL; ++comp)
+ if ((*comp)->compress_proto == opt_data[0]) {
+ /* here's the handler! */
+ error = 0;
+#ifndef __osf__
+ if (iop->ioc_cmd == PPPIO_XCOMP) {
+ /* A previous call may have fetched memory for a compressor
+ * that's now being retired or reset. Free it using it's
+ * mechanism for freeing stuff.
+ */
+ if (cp->xstate != NULL) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = NULL;
+ }
+ cp->xcomp = *comp;
+ cp->xstate = (*comp)->comp_alloc(opt_data, len);
+ if (cp->xstate == NULL)
+ error = ENOSR;
+ } else {
+ if (cp->rstate != NULL) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ cp->rcomp = *comp;
+ cp->rstate = (*comp)->decomp_alloc(opt_data, len);
+ if (cp->rstate == NULL)
+ error = ENOSR;
+ }
+#else
+ if ((error = cp->memreq.thread_status) != EAGAIN)
+ if (iop->ioc_cmd == PPPIO_XCOMP) {
+ if (cp->xstate) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = 0;
+ }
+ /* sanity check for compressor options
+ */
+ if (sizeof (cp->memreq.comp_opts) < len) {
+ printf("can't handle options for compressor %d (%d)\n", opt_data[0],
+ opt_data[1]);
+ cp->memreq.thread_status = ENOSR;
+ cp->memreq.returned_mem = 0;
+ }
+ /* fill in request for the thread and kick it off
+ */
+ if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
+ bcopy(opt_data, cp->memreq.comp_opts, len);
+ cp->memreq.cmd = PPPIO_XCOMP;
+ cp->xcomp = *comp;
+ error = cp->memreq.thread_status = EAGAIN;
+ thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
+ } else {
+ cp->xstate = cp->memreq.returned_mem;
+ cp->memreq.returned_mem = 0;
+ cp->memreq.thread_status = 0;
+ }
+ } else {
+ if (cp->rstate) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ if (sizeof (cp->memreq.comp_opts) < len) {
+ printf("can't handle options for compressor %d (%d)\n", opt_data[0],
+ opt_data[1]);
+ cp->memreq.thread_status = ENOSR;
+ cp->memreq.returned_mem = 0;
+ }
+ if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
+ bcopy(opt_data, cp->memreq.comp_opts, len);
+ cp->memreq.cmd = PPPIO_RCOMP;
+ cp->rcomp = *comp;
+ error = cp->memreq.thread_status = EAGAIN;
+ thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
+ } else {
+ cp->rstate = cp->memreq.returned_mem;
+ cp->memreq.returned_mem = 0;
+ cp->memreq.thread_status = 0;
+ }
+ }
+#endif
+ break;
+ }
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_GETSTAT:
+ if ((cp->flags & LAST_MOD) == 0) {
+ error = -1; /* let the ppp_ahdl module handle it */
+ break;
+ }
+ np = allocb(sizeof(struct ppp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ psp = (struct ppp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_stats);
+ iop->ioc_count = sizeof(struct ppp_stats);
+ psp->p = cp->stats;
+ psp->vj = cp->vj_comp.stats;
+ error = 0;
+ break;
+
+ case PPPIO_GETCSTAT:
+ np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ csp = (struct ppp_comp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_comp_stats);
+ iop->ioc_count = sizeof(struct ppp_comp_stats);
+ bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
+ if (cp->xstate != 0)
+ (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
+ if (cp->rstate != 0)
+ (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
+ error = 0;
+ break;
+
+ case PPPIO_DEBUG:
+ if (iop->ioc_count != sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n == PPPDBG_LOG + PPPDBG_COMP) {
+ DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
+ cp->flags |= DBGLOG;
+ error = 0;
+ iop->ioc_count = 0;
+ } else {
+ error = -1;
+ }
+ break;
+
+ case PPPIO_LASTMOD:
+ cp->flags |= LAST_MOD;
+ error = 0;
+ break;
+
+ default:
+ error = -1;
+ break;
+ }
+
+ if (error < 0)
+ putnext(q, mp);
+ else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+ mp->b_datap->db_type = M_IOCNAK;
+ iop->ioc_error = error;
+ iop->ioc_count = 0;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_CTL:
+ switch (*mp->b_rptr) {
+ case PPPCTL_MTU:
+ cp->mtu = ((unsigned short *)mp->b_rptr)[1];
+ break;
+ case PPPCTL_MRU:
+ cp->mru = ((unsigned short *)mp->b_rptr)[1];
+ break;
+ case PPPCTL_UNIT:
+ cp->unit = mp->b_rptr[1];
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_wsrv(q)
+ queue_t *q;
+{
+ mblk_t *mp, *cmp = NULL;
+ comp_state_t *cp;
+ int len, proto, type, hlen, code;
+ struct ip *ip;
+ unsigned char *vjhdr, *dp;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_wsrv\n");
+ return 0;
+ }
+
+ while ((mp = getq(q)) != 0) {
+ /* assert(mp->b_datap->db_type == M_DATA) */
+#ifdef PRIOQ
+ if (!bcanputnext(q,mp->b_band))
+#else
+ if (!canputnext(q))
+#endif PRIOQ
+ {
+ putbq(q, mp);
+ break;
+ }
+
+ /*
+ * First check the packet length and work out what the protocol is.
+ */
+ len = msgdsize(mp);
+ if (len < PPP_HDRLEN) {
+ DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
+ freemsg(mp);
+ cp->stats.ppp_oerrors++;
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ continue;
+ }
+ proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
+
+ /*
+ * Make sure we've got enough data in the first mblk
+ * and that we are its only user.
+ */
+ if (proto == PPP_CCP)
+ hlen = len;
+ else if (proto == PPP_IP)
+ hlen = PPP_HDRLEN + MAX_IPHDR;
+ else
+ hlen = PPP_HDRLEN;
+ if (hlen > len)
+ hlen = len;
+ if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
+ PULLUP(mp, hlen);
+ if (mp == 0) {
+ DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
+ cp->stats.ppp_oerrors++;
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ continue;
+ }
+ }
+
+ /*
+ * Do VJ compression if requested.
+ */
+ if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
+ ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
+ if (ip->ip_p == IPPROTO_TCP) {
+ type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
+ (cp->flags & COMP_VJCCID), &vjhdr);
+ switch (type) {
+ case TYPE_UNCOMPRESSED_TCP:
+ mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
+ break;
+ case TYPE_COMPRESSED_TCP:
+ dp = vjhdr - PPP_HDRLEN;
+ dp[1] = mp->b_rptr[1]; /* copy control field */
+ dp[0] = mp->b_rptr[0]; /* copy address field */
+ dp[2] = 0; /* set protocol field */
+ dp[3] = proto = PPP_VJC_COMP;
+ mp->b_rptr = dp;
+ break;
+ }
+ }
+ }
+
+ /*
+ * Do packet compression if enabled.
+ */
+ if (proto == PPP_CCP)
+ ppp_comp_ccp(q, mp, 0);
+ else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
+ && cp->xstate != NULL) {
+ len = msgdsize(mp);
+ (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
+ (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
+ if (cmp != NULL) {
+#ifdef PRIOQ
+ cmp->b_band=mp->b_band;
+#endif PRIOQ
+ freemsg(mp);
+ mp = cmp;
+ }
+ }
+
+ /*
+ * Do address/control and protocol compression if enabled.
+ */
+ if ((cp->flags & COMP_AC)
+ && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
+ mp->b_rptr += 2; /* drop the address & ctrl fields */
+ if (proto < 0x100 && (cp->flags & COMP_PROT))
+ ++mp->b_rptr; /* drop the high protocol byte */
+ } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
+ /* shuffle up the address & ctrl fields */
+ mp->b_rptr[2] = mp->b_rptr[1];
+ mp->b_rptr[1] = mp->b_rptr[0];
+ ++mp->b_rptr;
+ }
+
+ cp->stats.ppp_opackets++;
+ cp->stats.ppp_obytes += msgdsize(mp);
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_rput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ comp_state_t *cp;
+ struct iocblk *iop;
+ struct ppp_stats *psp;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_rput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+
+ case M_DATA:
+ putq(q, mp);
+ break;
+
+ case M_IOCACK:
+ iop = (struct iocblk *) mp->b_rptr;
+ switch (iop->ioc_cmd) {
+ case PPPIO_GETSTAT:
+ /*
+ * Catch this on the way back from the ppp_ahdl module
+ * so we can fill in the VJ stats.
+ */
+ if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
+ break;
+ psp = (struct ppp_stats *) mp->b_cont->b_rptr;
+ psp->vj = cp->vj_comp.stats;
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ case M_CTL:
+ switch (mp->b_rptr[0]) {
+ case PPPCTL_IERROR:
+ ++cp->stats.ppp_ierrors;
+ break;
+ case PPPCTL_OERROR:
+ ++cp->stats.ppp_oerrors;
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_rsrv(q)
+ queue_t *q;
+{
+ int proto, rv, i;
+ mblk_t *mp, *dmp = NULL, *np;
+ uchar_t *dp, *iphdr;
+ comp_state_t *cp;
+ int len, hlen, vjlen;
+ u_int iphlen;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_rsrv\n");
+ return 0;
+ }
+
+ while ((mp = getq(q)) != 0) {
+ /* assert(mp->b_datap->db_type == M_DATA) */
+ if (!canputnext(q)) {
+ putbq(q, mp);
+ break;
+ }
+
+ len = msgdsize(mp);
+ cp->stats.ppp_ibytes += len;
+ cp->stats.ppp_ipackets++;
+
+ /*
+ * First work out the protocol and where the PPP header ends.
+ */
+ i = 0;
+ proto = MSG_BYTE(mp, 0);
+ if (proto == PPP_ALLSTATIONS) {
+ i = 2;
+ proto = MSG_BYTE(mp, 2);
+ }
+ if ((proto & 1) == 0) {
+ ++i;
+ proto = (proto << 8) + MSG_BYTE(mp, i);
+ }
+ hlen = i + 1;
+
+ /*
+ * Now reconstruct a complete, contiguous PPP header at the
+ * start of the packet.
+ */
+ if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
+ + ((cp->flags & DECOMP_PROT)? 1: 2)) {
+ /* count these? */
+ goto bad;
+ }
+ if (mp->b_rptr + hlen > mp->b_wptr) {
+ adjmsg(mp, hlen); /* XXX check this call */
+ hlen = 0;
+ }
+ if (hlen != PPP_HDRLEN) {
+ /*
+ * We need to put some bytes on the front of the packet
+ * to make a full-length PPP header.
+ * If we can put them in *mp, we do, otherwise we
+ * tack another mblk on the front.
+ * XXX we really shouldn't need to carry around
+ * the address and control at this stage.
+ */
+ dp = mp->b_rptr + hlen - PPP_HDRLEN;
+ if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
+ np = allocb(PPP_HDRLEN, BPRI_MED);
+ if (np == 0)
+ goto bad;
+ np->b_cont = mp;
+ mp->b_rptr += hlen;
+ mp = np;
+ dp = mp->b_wptr;
+ mp->b_wptr += PPP_HDRLEN;
+ } else
+ mp->b_rptr = dp;
+
+ dp[0] = PPP_ALLSTATIONS;
+ dp[1] = PPP_UI;
+ dp[2] = proto >> 8;
+ dp[3] = proto;
+ }
+
+ /*
+ * Now see if we have a compressed packet to decompress,
+ * or a CCP packet to take notice of.
+ */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto == PPP_CCP) {
+ len = msgdsize(mp);
+ if (mp->b_wptr < mp->b_rptr + len) {
+ PULLUP(mp, len);
+ if (mp == 0)
+ goto bad;
+ }
+ ppp_comp_ccp(q, mp, 1);
+ } else if (proto == PPP_COMP) {
+ if ((cp->flags & CCP_ISUP)
+ && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
+ && (cp->flags & CCP_ERR) == 0) {
+ rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
+ switch (rv) {
+ case DECOMP_OK:
+ freemsg(mp);
+ mp = dmp;
+ if (mp == NULL) {
+ /* no error, but no packet returned either. */
+ continue;
+ }
+ break;
+ case DECOMP_ERROR:
+ cp->flags |= CCP_ERROR;
+ ++cp->stats.ppp_ierrors;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ break;
+ case DECOMP_FATALERROR:
+ cp->flags |= CCP_FATALERROR;
+ ++cp->stats.ppp_ierrors;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ break;
+ }
+ }
+ } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
+ (*cp->rcomp->incomp)(cp->rstate, mp);
+ }
+
+ /*
+ * Now do VJ decompression.
+ */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
+ len = msgdsize(mp) - PPP_HDRLEN;
+ if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
+ goto bad;
+
+ /*
+ * Advance past the ppp header.
+ * Here we assume that the whole PPP header is in the first mblk.
+ */
+ np = mp;
+ dp = np->b_rptr + PPP_HDRLEN;
+ if (dp >= mp->b_wptr) {
+ np = np->b_cont;
+ dp = np->b_rptr;
+ }
+
+ /*
+ * Make sure we have sufficient contiguous data at this point.
+ */
+ hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
+ if (hlen > len)
+ hlen = len;
+ if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
+ PULLUP(mp, hlen + PPP_HDRLEN);
+ if (mp == 0)
+ goto bad;
+ np = mp;
+ dp = np->b_rptr + PPP_HDRLEN;
+ }
+
+ if (proto == PPP_VJC_COMP) {
+ /*
+ * Decompress VJ-compressed packet.
+ * First reset compressor if an input error has occurred.
+ */
+ if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
+ if (cp->flags & DBGLOG)
+ DPRINT1("ppp%d: resetting VJ\n", cp->unit);
+ vj_uncompress_err(&cp->vj_comp);
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ }
+
+ vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
+ &cp->vj_comp, &iphdr, &iphlen);
+ if (vjlen < 0) {
+ if (cp->flags & DBGLOG)
+ DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
+ cp->unit, len);
+ ++cp->vj_last_ierrors; /* so we don't reset next time */
+ goto bad;
+ }
+
+ /* drop ppp and vj headers off */
+ if (mp != np) {
+ freeb(mp);
+ mp = np;
+ }
+ mp->b_rptr = dp + vjlen;
+
+ /* allocate a new mblk for the ppp and ip headers */
+ if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
+ goto bad;
+ dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
+ dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
+ dp[1] = PPP_UI;
+ dp[2] = PPP_IP >> 8;
+ dp[3] = PPP_IP;
+ bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
+ np->b_wptr = dp + iphlen + PPP_HDRLEN;
+ np->b_cont = mp;
+
+ /* XXX there seems to be a bug which causes panics in strread
+ if we make an mbuf with only the IP header in it :-( */
+ if (mp->b_wptr - mp->b_rptr > 4) {
+ bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
+ mp->b_rptr += 4;
+ np->b_wptr += 4;
+ } else {
+ bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
+ mp->b_wptr - mp->b_rptr);
+ np->b_wptr += mp->b_wptr - mp->b_rptr;
+ np->b_cont = mp->b_cont;
+ freeb(mp);
+ }
+
+ mp = np;
+
+ } else {
+ /*
+ * "Decompress" a VJ-uncompressed packet.
+ */
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
+ if (cp->flags & DBGLOG)
+ DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
+ cp->unit, len);
+ ++cp->vj_last_ierrors; /* don't need to reset next time */
+ goto bad;
+ }
+ mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
+ }
+ }
+
+ putnext(q, mp);
+ continue;
+
+ bad:
+ if (mp != 0)
+ freemsg(mp);
+ cp->stats.ppp_ierrors++;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ }
+
+ return 0;
+}
+
+/*
+ * Handle a CCP packet being sent or received.
+ * Here all the data in the packet is in a single mbuf.
+ */
+static void
+ppp_comp_ccp(q, mp, rcvd)
+ queue_t *q;
+ mblk_t *mp;
+ int rcvd;
+{
+ int len, clen;
+ comp_state_t *cp;
+ unsigned char *dp;
+
+ len = msgdsize(mp);
+ if (len < PPP_HDRLEN + CCP_HDRLEN)
+ return;
+
+ cp = (comp_state_t *) q->q_ptr;
+ dp = mp->b_rptr + PPP_HDRLEN;
+ len -= PPP_HDRLEN;
+ clen = CCP_LENGTH(dp);
+ if (clen > len)
+ return;
+
+ switch (CCP_CODE(dp)) {
+ case CCP_CONFREQ:
+ case CCP_TERMREQ:
+ case CCP_TERMACK:
+ cp->flags &= ~CCP_ISUP;
+ break;
+
+ case CCP_CONFACK:
+ if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
+ && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
+ && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
+ if (!rcvd) {
+ if (cp->xstate != NULL
+ && (*cp->xcomp->comp_init)
+ (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
+ cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
+ cp->flags |= CCP_COMP_RUN;
+ } else {
+ if (cp->rstate != NULL
+ && (*cp->rcomp->decomp_init)
+ (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
+ cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
+ cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
+ }
+ }
+ break;
+
+ case CCP_RESETACK:
+ if (cp->flags & CCP_ISUP) {
+ if (!rcvd) {
+ if (cp->xstate && (cp->flags & CCP_COMP_RUN))
+ (*cp->xcomp->comp_reset)(cp->xstate);
+ } else {
+ if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
+ (*cp->rcomp->decomp_reset)(cp->rstate);
+ cp->flags &= ~CCP_ERROR;
+ }
+ }
+ }
+ break;
+ }
+}
+
+#if 0
+dump_msg(mp)
+ mblk_t *mp;
+{
+ dblk_t *db;
+
+ while (mp != 0) {
+ db = mp->b_datap;
+ DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
+ DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
+ DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
+ DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
+ mp = mp->b_cont;
+ }
+}
+#endif
+
+static int
+msg_byte(mp, i)
+ mblk_t *mp;
+ unsigned int i;
+{
+ while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
+ mp = mp->b_cont;
+ if (mp == 0)
+ return -1;
+ return mp->b_rptr[i];
+}
diff --git a/mdk-stage1/ppp/modules/ppp_mod.h b/mdk-stage1/ppp/modules/ppp_mod.h
new file mode 100644
index 000000000..f0af00886
--- /dev/null
+++ b/mdk-stage1/ppp/modules/ppp_mod.h
@@ -0,0 +1,190 @@
+/*
+ * Miscellaneous definitions for PPP STREAMS modules.
+ */
+
+/*
+ * Macros for allocating and freeing kernel memory.
+ */
+#ifdef SVR4 /* SVR4, including Solaris 2 */
+#include <sys/kmem.h>
+#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
+#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
+#define FREE(p, n) kmem_free((p), (n))
+#endif
+
+#ifdef SUNOS4
+#include <sys/kmem_alloc.h> /* SunOS 4.x */
+#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
+#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
+#define FREE(p, n) kmem_free((p), (n))
+#define NOTSUSER() (suser()? 0: EPERM)
+#define bcanputnext(q, band) canputnext((q))
+#endif /* SunOS 4 */
+
+#ifdef __osf__
+#include <sys/malloc.h>
+
+/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
+ * which are subject to change.
+ * The problems are that:
+ * - the official MALLOC macro wants the lhs of the assignment as an argument,
+ * and it takes care of the assignment itself (yuck.)
+ * - PPP insists on using "FREE" which conflicts with a macro of the same name.
+ *
+ */
+#ifdef BUCKETINDX /* V2.0 */
+#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
+#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
+#else
+#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
+#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
+#endif
+
+#define bcanputnext(q, band) canputnext((q))
+
+#ifdef FREE
+#undef FREE
+#endif
+#define FREE(p, n) free((void *)(p), M_DEVBUF)
+
+#define NO_DLPI 1
+
+#ifndef IFT_PPP
+#define IFT_PPP 0x17
+#endif
+
+#include <sys/proc.h>
+#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
+
+/* #include "ppp_osf.h" */
+
+#endif /* __osf__ */
+
+#ifdef AIX4
+#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
+#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
+#define FREE(p, n) xmfree((p), pinned_heap)
+#define NOTSUSER() (suser()? 0: EPERM)
+#endif /* AIX */
+
+/*
+ * Macros for printing debugging stuff.
+ */
+#ifdef DEBUG
+#if defined(SVR4) || defined(__osf__)
+#if defined(SNI)
+#include <sys/strlog.h>
+#define STRLOG_ID 4712
+#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
+#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
+#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
+#else
+#define DPRINT(f) cmn_err(CE_CONT, f)
+#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
+#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
+#endif /* SNI */
+#else
+#define DPRINT(f) printf(f)
+#define DPRINT1(f, a1) printf(f, a1)
+#define DPRINT2(f, a1, a2) printf(f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
+#endif /* SVR4 or OSF */
+
+#else
+#define DPRINT(f) 0
+#define DPRINT1(f, a1) 0
+#define DPRINT2(f, a1, a2) 0
+#define DPRINT3(f, a1, a2, a3) 0
+#endif /* DEBUG */
+
+#ifndef SVR4
+typedef unsigned char uchar_t;
+typedef unsigned short ushort_t;
+#ifndef __osf__
+typedef int minor_t;
+#endif
+#endif
+
+/*
+ * If we don't have multithreading support, define substitutes.
+ */
+#ifndef D_MP
+# define qprocson(q)
+# define qprocsoff(q)
+# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
+# define canputnext(q) canput((q)->q_next)
+# define qwriter(q, mp, func, scope) (func)((q), (mp))
+#endif
+
+#ifdef D_MP
+/* Use msgpullup if we have other multithreading support. */
+#define PULLUP(mp, len) \
+ do { \
+ mblk_t *np = msgpullup((mp), (len)); \
+ freemsg((mp)); \
+ mp = np; \
+ } while (0)
+
+#else
+/* Use pullupmsg if we don't have any multithreading support. */
+#define PULLUP(mp, len) \
+ do { \
+ if (!pullupmsg((mp), (len))) { \
+ freemsg((mp)); \
+ mp = 0; \
+ } \
+ } while (0)
+#endif
+
+/*
+ * How to declare the open and close procedures for a module.
+ */
+#ifdef SVR4
+#define MOD_OPEN_DECL(name) \
+static int name __P((queue_t *, dev_t *, int, int, cred_t *))
+
+#define MOD_CLOSE_DECL(name) \
+static int name __P((queue_t *, int, cred_t *))
+
+#define MOD_OPEN(name) \
+static int name(q, devp, flag, sflag, credp) \
+ queue_t *q; \
+ dev_t *devp; \
+ int flag, sflag; \
+ cred_t *credp;
+
+#define MOD_CLOSE(name) \
+static int name(q, flag, credp) \
+ queue_t *q; \
+ int flag; \
+ cred_t *credp;
+
+#define OPEN_ERROR(x) return (x)
+#define DRV_OPEN_OK(dev) return 0
+
+#define NOTSUSER() (drv_priv(credp))
+
+#else /* not SVR4 */
+#define MOD_OPEN_DECL(name) \
+static int name __P((queue_t *, int, int, int))
+
+#define MOD_CLOSE_DECL(name) \
+static int name __P((queue_t *, int))
+
+#define MOD_OPEN(name) \
+static int name(q, dev, flag, sflag) \
+ queue_t *q; \
+ int dev; \
+ int flag, sflag;
+
+#define MOD_CLOSE(name) \
+static int name(q, flag) \
+ queue_t *q; \
+ int flag;
+
+#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
+#define DRV_OPEN_OK(dev) return (dev)
+
+#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/modules/vjcompress.c b/mdk-stage1/ppp/modules/vjcompress.c
new file mode 100644
index 000000000..8bbf1df16
--- /dev/null
+++ b/mdk-stage1/ppp/modules/vjcompress.c
@@ -0,0 +1,587 @@
+/*
+ * Routines to compress and uncompess tcp packets (for transmission
+ * over low speed serial lines.
+ *
+ * Copyright (c) 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Van Jacobson (van@helios.ee.lbl.gov), Dec 31, 1989:
+ * - Initial distribution.
+ *
+ * Modified June 1993 by Paul Mackerras, paulus@cs.anu.edu.au,
+ * so that the entire packet being decompressed doesn't have
+ * to be in contiguous memory (just the compressed header).
+ */
+
+/*
+ * This version is used under SunOS 4.x, Digital UNIX, AIX 4.x,
+ * and SVR4 systems including Solaris 2.
+ *
+ * $Id: vjcompress.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+
+#ifdef SVR4
+#ifndef __GNUC__
+#include <sys/byteorder.h> /* for ntohl, etc. */
+#else
+/* make sure we don't get the gnu "fixed" one! */
+#include "/usr/include/sys/byteorder.h"
+#endif
+#endif
+
+#ifdef __osf__
+#include <net/net_globals.h>
+#endif
+#include <netinet/in.h>
+
+#ifdef AIX4
+#define _NETINET_IN_SYSTM_H_
+typedef u_long n_long;
+#else
+#include <netinet/in_systm.h>
+#endif
+
+#include <netinet/ip.h>
+#include <netinet/tcp.h>
+
+#include <net/ppp_defs.h>
+#include <net/vjcompress.h>
+
+#ifndef VJ_NO_STATS
+#define INCR(counter) ++comp->stats.counter
+#else
+#define INCR(counter)
+#endif
+
+#define BCMP(p1, p2, n) bcmp((char *)(p1), (char *)(p2), (int)(n))
+#undef BCOPY
+#define BCOPY(p1, p2, n) bcopy((char *)(p1), (char *)(p2), (int)(n))
+#ifndef KERNEL
+#define ovbcopy bcopy
+#endif
+
+#ifdef __osf__
+#define getip_hl(base) (((base).ip_vhl)&0xf)
+#define getth_off(base) ((((base).th_xoff)&0xf0)>>4)
+
+#else
+#define getip_hl(base) ((base).ip_hl)
+#define getth_off(base) ((base).th_off)
+#endif
+
+void
+vj_compress_init(comp, max_state)
+ struct vjcompress *comp;
+ int max_state;
+{
+ register u_int i;
+ register struct cstate *tstate = comp->tstate;
+
+ if (max_state == -1)
+ max_state = MAX_STATES - 1;
+ bzero((char *)comp, sizeof(*comp));
+ for (i = max_state; i > 0; --i) {
+ tstate[i].cs_id = i;
+ tstate[i].cs_next = &tstate[i - 1];
+ }
+ tstate[0].cs_next = &tstate[max_state];
+ tstate[0].cs_id = 0;
+ comp->last_cs = &tstate[0];
+ comp->last_recv = 255;
+ comp->last_xmit = 255;
+ comp->flags = VJF_TOSS;
+}
+
+
+/* ENCODE encodes a number that is known to be non-zero. ENCODEZ
+ * checks for zero (since zero has to be encoded in the long, 3 byte
+ * form).
+ */
+#define ENCODE(n) { \
+ if ((u_short)(n) >= 256) { \
+ *cp++ = 0; \
+ cp[1] = (n); \
+ cp[0] = (n) >> 8; \
+ cp += 2; \
+ } else { \
+ *cp++ = (n); \
+ } \
+}
+#define ENCODEZ(n) { \
+ if ((u_short)(n) >= 256 || (u_short)(n) == 0) { \
+ *cp++ = 0; \
+ cp[1] = (n); \
+ cp[0] = (n) >> 8; \
+ cp += 2; \
+ } else { \
+ *cp++ = (n); \
+ } \
+}
+
+#define DECODEL(f) { \
+ if (*cp == 0) {\
+ u_int32_t tmp = ntohl(f) + ((cp[1] << 8) | cp[2]); \
+ (f) = htonl(tmp); \
+ cp += 3; \
+ } else { \
+ u_int32_t tmp = ntohl(f) + (u_int32_t)*cp++; \
+ (f) = htonl(tmp); \
+ } \
+}
+
+#define DECODES(f) { \
+ if (*cp == 0) {\
+ u_short tmp = ntohs(f) + ((cp[1] << 8) | cp[2]); \
+ (f) = htons(tmp); \
+ cp += 3; \
+ } else { \
+ u_short tmp = ntohs(f) + (u_int32_t)*cp++; \
+ (f) = htons(tmp); \
+ } \
+}
+
+#define DECODEU(f) { \
+ if (*cp == 0) {\
+ (f) = htons((cp[1] << 8) | cp[2]); \
+ cp += 3; \
+ } else { \
+ (f) = htons((u_int32_t)*cp++); \
+ } \
+}
+
+u_int
+vj_compress_tcp(ip, mlen, comp, compress_cid, vjhdrp)
+ register struct ip *ip;
+ u_int mlen;
+ struct vjcompress *comp;
+ int compress_cid;
+ u_char **vjhdrp;
+{
+ register struct cstate *cs = comp->last_cs->cs_next;
+ register u_int hlen = getip_hl(*ip);
+ register struct tcphdr *oth;
+ register struct tcphdr *th;
+ register u_int deltaS, deltaA;
+ register u_int changes = 0;
+ u_char new_seq[16];
+ register u_char *cp = new_seq;
+
+ /*
+ * Bail if this is an IP fragment or if the TCP packet isn't
+ * `compressible' (i.e., ACK isn't set or some other control bit is
+ * set). (We assume that the caller has already made sure the
+ * packet is IP proto TCP).
+ */
+ if ((ip->ip_off & htons(0x3fff)) || mlen < 40)
+ return (TYPE_IP);
+
+ th = (struct tcphdr *)&((int *)ip)[hlen];
+ if ((th->th_flags & (TH_SYN|TH_FIN|TH_RST|TH_ACK)) != TH_ACK)
+ return (TYPE_IP);
+ /*
+ * Packet is compressible -- we're going to send either a
+ * COMPRESSED_TCP or UNCOMPRESSED_TCP packet. Either way we need
+ * to locate (or create) the connection state. Special case the
+ * most recently used connection since it's most likely to be used
+ * again & we don't have to do any reordering if it's used.
+ */
+ INCR(vjs_packets);
+ if (ip->ip_src.s_addr != cs->cs_ip.ip_src.s_addr ||
+ ip->ip_dst.s_addr != cs->cs_ip.ip_dst.s_addr ||
+ *(int *)th != ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)]) {
+ /*
+ * Wasn't the first -- search for it.
+ *
+ * States are kept in a circularly linked list with
+ * last_cs pointing to the end of the list. The
+ * list is kept in lru order by moving a state to the
+ * head of the list whenever it is referenced. Since
+ * the list is short and, empirically, the connection
+ * we want is almost always near the front, we locate
+ * states via linear search. If we don't find a state
+ * for the datagram, the oldest state is (re-)used.
+ */
+ register struct cstate *lcs;
+ register struct cstate *lastcs = comp->last_cs;
+
+ do {
+ lcs = cs; cs = cs->cs_next;
+ INCR(vjs_searches);
+ if (ip->ip_src.s_addr == cs->cs_ip.ip_src.s_addr
+ && ip->ip_dst.s_addr == cs->cs_ip.ip_dst.s_addr
+ && *(int *)th == ((int *)&cs->cs_ip)[getip_hl(cs->cs_ip)])
+ goto found;
+ } while (cs != lastcs);
+
+ /*
+ * Didn't find it -- re-use oldest cstate. Send an
+ * uncompressed packet that tells the other side what
+ * connection number we're using for this conversation.
+ * Note that since the state list is circular, the oldest
+ * state points to the newest and we only need to set
+ * last_cs to update the lru linkage.
+ */
+ INCR(vjs_misses);
+ comp->last_cs = lcs;
+ hlen += getth_off(*th);
+ hlen <<= 2;
+ if (hlen > mlen)
+ return (TYPE_IP);
+ goto uncompressed;
+
+ found:
+ /*
+ * Found it -- move to the front on the connection list.
+ */
+ if (cs == lastcs)
+ comp->last_cs = lcs;
+ else {
+ lcs->cs_next = cs->cs_next;
+ cs->cs_next = lastcs->cs_next;
+ lastcs->cs_next = cs;
+ }
+ }
+
+ /*
+ * Make sure that only what we expect to change changed. The first
+ * line of the `if' checks the IP protocol version, header length &
+ * type of service. The 2nd line checks the "Don't fragment" bit.
+ * The 3rd line checks the time-to-live and protocol (the protocol
+ * check is unnecessary but costless). The 4th line checks the TCP
+ * header length. The 5th line checks IP options, if any. The 6th
+ * line checks TCP options, if any. If any of these things are
+ * different between the previous & current datagram, we send the
+ * current datagram `uncompressed'.
+ */
+ oth = (struct tcphdr *)&((int *)&cs->cs_ip)[hlen];
+ deltaS = hlen;
+ hlen += getth_off(*th);
+ hlen <<= 2;
+ if (hlen > mlen)
+ return (TYPE_IP);
+
+ if (((u_short *)ip)[0] != ((u_short *)&cs->cs_ip)[0] ||
+ ((u_short *)ip)[3] != ((u_short *)&cs->cs_ip)[3] ||
+ ((u_short *)ip)[4] != ((u_short *)&cs->cs_ip)[4] ||
+ getth_off(*th) != getth_off(*oth) ||
+ (deltaS > 5 && BCMP(ip + 1, &cs->cs_ip + 1, (deltaS - 5) << 2)) ||
+ (getth_off(*th) > 5 && BCMP(th + 1, oth + 1, (getth_off(*th) - 5) << 2)))
+ goto uncompressed;
+
+ /*
+ * Figure out which of the changing fields changed. The
+ * receiver expects changes in the order: urgent, window,
+ * ack, seq (the order minimizes the number of temporaries
+ * needed in this section of code).
+ */
+ if (th->th_flags & TH_URG) {
+ deltaS = ntohs(th->th_urp);
+ ENCODEZ(deltaS);
+ changes |= NEW_U;
+ } else if (th->th_urp != oth->th_urp)
+ /* argh! URG not set but urp changed -- a sensible
+ * implementation should never do this but RFC793
+ * doesn't prohibit the change so we have to deal
+ * with it. */
+ goto uncompressed;
+
+ if ((deltaS = (u_short)(ntohs(th->th_win) - ntohs(oth->th_win))) > 0) {
+ ENCODE(deltaS);
+ changes |= NEW_W;
+ }
+
+ if ((deltaA = ntohl(th->th_ack) - ntohl(oth->th_ack)) > 0) {
+ if (deltaA > 0xffff)
+ goto uncompressed;
+ ENCODE(deltaA);
+ changes |= NEW_A;
+ }
+
+ if ((deltaS = ntohl(th->th_seq) - ntohl(oth->th_seq)) > 0) {
+ if (deltaS > 0xffff)
+ goto uncompressed;
+ ENCODE(deltaS);
+ changes |= NEW_S;
+ }
+
+ switch(changes) {
+
+ case 0:
+ /*
+ * Nothing changed. If this packet contains data and the
+ * last one didn't, this is probably a data packet following
+ * an ack (normal on an interactive connection) and we send
+ * it compressed. Otherwise it's probably a retransmit,
+ * retransmitted ack or window probe. Send it uncompressed
+ * in case the other side missed the compressed version.
+ */
+ if (ip->ip_len != cs->cs_ip.ip_len &&
+ ntohs(cs->cs_ip.ip_len) == hlen)
+ break;
+
+ /* (fall through) */
+
+ case SPECIAL_I:
+ case SPECIAL_D:
+ /*
+ * actual changes match one of our special case encodings --
+ * send packet uncompressed.
+ */
+ goto uncompressed;
+
+ case NEW_S|NEW_A:
+ if (deltaS == deltaA && deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
+ /* special case for echoed terminal traffic */
+ changes = SPECIAL_I;
+ cp = new_seq;
+ }
+ break;
+
+ case NEW_S:
+ if (deltaS == ntohs(cs->cs_ip.ip_len) - hlen) {
+ /* special case for data xfer */
+ changes = SPECIAL_D;
+ cp = new_seq;
+ }
+ break;
+ }
+
+ deltaS = ntohs(ip->ip_id) - ntohs(cs->cs_ip.ip_id);
+ if (deltaS != 1) {
+ ENCODEZ(deltaS);
+ changes |= NEW_I;
+ }
+ if (th->th_flags & TH_PUSH)
+ changes |= TCP_PUSH_BIT;
+ /*
+ * Grab the cksum before we overwrite it below. Then update our
+ * state with this packet's header.
+ */
+ deltaA = ntohs(th->th_sum);
+ BCOPY(ip, &cs->cs_ip, hlen);
+
+ /*
+ * We want to use the original packet as our compressed packet.
+ * (cp - new_seq) is the number of bytes we need for compressed
+ * sequence numbers. In addition we need one byte for the change
+ * mask, one for the connection id and two for the tcp checksum.
+ * So, (cp - new_seq) + 4 bytes of header are needed. hlen is how
+ * many bytes of the original packet to toss so subtract the two to
+ * get the new packet size.
+ */
+ deltaS = cp - new_seq;
+ cp = (u_char *)ip;
+ if (compress_cid == 0 || comp->last_xmit != cs->cs_id) {
+ comp->last_xmit = cs->cs_id;
+ hlen -= deltaS + 4;
+ *vjhdrp = (cp += hlen);
+ *cp++ = changes | NEW_C;
+ *cp++ = cs->cs_id;
+ } else {
+ hlen -= deltaS + 3;
+ *vjhdrp = (cp += hlen);
+ *cp++ = changes;
+ }
+ *cp++ = deltaA >> 8;
+ *cp++ = deltaA;
+ BCOPY(new_seq, cp, deltaS);
+ INCR(vjs_compressed);
+ return (TYPE_COMPRESSED_TCP);
+
+ /*
+ * Update connection state cs & send uncompressed packet (that is,
+ * a regular ip/tcp packet but with the 'conversation id' we hope
+ * to use on future compressed packets in the protocol field).
+ */
+ uncompressed:
+ BCOPY(ip, &cs->cs_ip, hlen);
+ ip->ip_p = cs->cs_id;
+ comp->last_xmit = cs->cs_id;
+ return (TYPE_UNCOMPRESSED_TCP);
+}
+
+/*
+ * Called when we may have missed a packet.
+ */
+void
+vj_uncompress_err(comp)
+ struct vjcompress *comp;
+{
+ comp->flags |= VJF_TOSS;
+ INCR(vjs_errorin);
+}
+
+/*
+ * "Uncompress" a packet of type TYPE_UNCOMPRESSED_TCP.
+ */
+int
+vj_uncompress_uncomp(buf, buflen, comp)
+ u_char *buf;
+ int buflen;
+ struct vjcompress *comp;
+{
+ register u_int hlen;
+ register struct cstate *cs;
+ register struct ip *ip;
+
+ ip = (struct ip *) buf;
+ hlen = getip_hl(*ip) << 2;
+ if (ip->ip_p >= MAX_STATES
+ || hlen + sizeof(struct tcphdr) > buflen
+ || (hlen += getth_off(*((struct tcphdr *)&((char *)ip)[hlen])) << 2)
+ > buflen
+ || hlen > MAX_HDR) {
+ comp->flags |= VJF_TOSS;
+ INCR(vjs_errorin);
+ return (0);
+ }
+ cs = &comp->rstate[comp->last_recv = ip->ip_p];
+ comp->flags &=~ VJF_TOSS;
+ ip->ip_p = IPPROTO_TCP;
+ BCOPY(ip, &cs->cs_ip, hlen);
+ cs->cs_hlen = hlen;
+ INCR(vjs_uncompressedin);
+ return (1);
+}
+
+/*
+ * Uncompress a packet of type TYPE_COMPRESSED_TCP.
+ * The packet starts at buf and is of total length total_len.
+ * The first buflen bytes are at buf; this must include the entire
+ * compressed TCP/IP header. This procedure returns the length
+ * of the VJ header, with a pointer to the uncompressed IP header
+ * in *hdrp and its length in *hlenp.
+ */
+int
+vj_uncompress_tcp(buf, buflen, total_len, comp, hdrp, hlenp)
+ u_char *buf;
+ int buflen, total_len;
+ struct vjcompress *comp;
+ u_char **hdrp;
+ u_int *hlenp;
+{
+ register u_char *cp;
+ register u_int hlen, changes;
+ register struct tcphdr *th;
+ register struct cstate *cs;
+ register u_short *bp;
+ register u_int vjlen;
+ register u_int32_t tmp;
+
+ INCR(vjs_compressedin);
+ cp = buf;
+ changes = *cp++;
+ if (changes & NEW_C) {
+ /* Make sure the state index is in range, then grab the state.
+ * If we have a good state index, clear the 'discard' flag. */
+ if (*cp >= MAX_STATES)
+ goto bad;
+
+ comp->flags &=~ VJF_TOSS;
+ comp->last_recv = *cp++;
+ } else {
+ /* this packet has an implicit state index. If we've
+ * had a line error since the last time we got an
+ * explicit state index, we have to toss the packet. */
+ if (comp->flags & VJF_TOSS) {
+ INCR(vjs_tossed);
+ return (-1);
+ }
+ }
+ cs = &comp->rstate[comp->last_recv];
+ hlen = getip_hl(cs->cs_ip) << 2;
+ th = (struct tcphdr *)&((u_char *)&cs->cs_ip)[hlen];
+ th->th_sum = htons((*cp << 8) | cp[1]);
+ cp += 2;
+ if (changes & TCP_PUSH_BIT)
+ th->th_flags |= TH_PUSH;
+ else
+ th->th_flags &=~ TH_PUSH;
+
+ switch (changes & SPECIALS_MASK) {
+ case SPECIAL_I:
+ {
+ register u_int32_t i = ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
+ /* some compilers can't nest inline assembler.. */
+ tmp = ntohl(th->th_ack) + i;
+ th->th_ack = htonl(tmp);
+ tmp = ntohl(th->th_seq) + i;
+ th->th_seq = htonl(tmp);
+ }
+ break;
+
+ case SPECIAL_D:
+ /* some compilers can't nest inline assembler.. */
+ tmp = ntohl(th->th_seq) + ntohs(cs->cs_ip.ip_len) - cs->cs_hlen;
+ th->th_seq = htonl(tmp);
+ break;
+
+ default:
+ if (changes & NEW_U) {
+ th->th_flags |= TH_URG;
+ DECODEU(th->th_urp);
+ } else
+ th->th_flags &=~ TH_URG;
+ if (changes & NEW_W)
+ DECODES(th->th_win);
+ if (changes & NEW_A)
+ DECODEL(th->th_ack);
+ if (changes & NEW_S)
+ DECODEL(th->th_seq);
+ break;
+ }
+ if (changes & NEW_I) {
+ DECODES(cs->cs_ip.ip_id);
+ } else {
+ cs->cs_ip.ip_id = ntohs(cs->cs_ip.ip_id) + 1;
+ cs->cs_ip.ip_id = htons(cs->cs_ip.ip_id);
+ }
+
+ /*
+ * At this point, cp points to the first byte of data in the
+ * packet. Fill in the IP total length and update the IP
+ * header checksum.
+ */
+ vjlen = cp - buf;
+ buflen -= vjlen;
+ if (buflen < 0)
+ /* we must have dropped some characters (crc should detect
+ * this but the old slip framing won't) */
+ goto bad;
+
+ total_len += cs->cs_hlen - vjlen;
+ cs->cs_ip.ip_len = htons(total_len);
+
+ /* recompute the ip header checksum */
+ bp = (u_short *) &cs->cs_ip;
+ cs->cs_ip.ip_sum = 0;
+ for (changes = 0; hlen > 0; hlen -= 2)
+ changes += *bp++;
+ changes = (changes & 0xffff) + (changes >> 16);
+ changes = (changes & 0xffff) + (changes >> 16);
+ cs->cs_ip.ip_sum = ~ changes;
+
+ *hdrp = (u_char *) &cs->cs_ip;
+ *hlenp = cs->cs_hlen;
+ return vjlen;
+
+ bad:
+ comp->flags |= VJF_TOSS;
+ INCR(vjs_errorin);
+ return (-1);
+}
diff --git a/mdk-stage1/ppp/pppd/Makefile b/mdk-stage1/ppp/pppd/Makefile
new file mode 100644
index 000000000..fb5658879
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile
@@ -0,0 +1,51 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+top_dir = ../..
+
+include $(top_dir)/Makefile.common
+
+
+TARGETS = pppd
+
+BINTARGET = ../../pppd
+
+
+all: $(TARGETS)
+
+clean:
+ rm -f *.o *.a $(BINTARGET) pppd
+
+FLAGS = -Wall -Wno-deprecated-declarations -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48 -D_BSD_SOURCE -D_GNU_SOURCE
+# (blino) for gcc-4.1.1, dereferencing type-punned pointer will break strict-aliasing rules, in options.c:711
+FLAGS += -fno-strict-aliasing
+
+INCS = -I../include -I.
+
+ifeq (GLIBC, $(L))
+LIBS = -static -lcrypt
+endif
+
+
+OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o tdb.o tty.o
+
+
+pppd: $(OBJS)
+ $(DIET) gcc -o $@ $^ $(LIBS)
+ $(STRIPCMD) $@
+ cp -f $@ $(BINTARGET)
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(FLAGS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux b/mdk-stage1/ppp/pppd/Makefile.linux
new file mode 100644
index 000000000..61b650f68
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile.linux
@@ -0,0 +1,129 @@
+#
+# pppd makefile for Linux
+# $Id: Makefile.linux 6001 2001-06-11 11:44:34Z gc $
+#
+
+# Default installation locations
+BINDIR = $(DESTDIR)/usr/sbin
+MANDIR = $(DESTDIR)/usr/man
+
+PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
+ ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
+ demand.c utils.c multilink.c tdb.c tty.c
+HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
+ ipxcp.h cbcp.h tdb.h
+MANPAGES = pppd.8
+PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+ auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
+ tdb.o tty.o
+
+all: pppd
+
+#
+# include dependancies if present and backup if as a header file
+ifeq (.depend,$(wildcard .depend))
+include .depend
+endif
+
+CC = gcc
+#
+COPTS = -Wall $(RPM_OPT_FLAGS)
+LIBS = -lutil
+
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+LIBS += -lcrypt
+endif
+
+# Uncomment the next 2 lines to include support for Microsoft's
+# MS-CHAP authentication protocol.
+CHAPMS=y
+USE_CRYPT=y
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+HAVE_CRYPT_H=y
+endif
+
+# Uncomment the next line to include support for PPP packet filtering.
+# This requires that the libpcap library and headers be installed
+# and that the kernel driver support PPP packet filtering, which it
+# doesn't yet.
+#FILTER=y
+
+HAS_SHADOW=y
+USE_PAM=y
+#HAVE_INET6=y
+
+PLUGIN=y
+
+INCLUDE_DIRS= -I../include
+
+COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
+
+CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
+
+ifdef CHAPMS
+CFLAGS += -DCHAPMS=1
+ifndef USE_CRYPT
+LIBS := -ldes $(LIBS)
+else
+CFLAGS += -DUSE_CRYPT=1
+ifneq ($(wildcard /usr/include/crypt.h),)
+CFLAGS += -DHAVE_CRYPT_H=1
+endif
+endif
+PPPDOBJS += md4.o chap_ms.o
+ifdef MSLANMAN
+CFLAGS += -DMSLANMAN=1
+endif
+endif
+
+ifdef HAS_SHADOW
+CFLAGS += -DHAS_SHADOW
+#LIBS := -lshadow $(LIBS)
+endif
+
+# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
+ifdef USE_PAM
+CFLAGS += -DUSE_PAM
+LIBS := -lpam -ldl $(LIBS)
+endif
+
+# Lock library binary for Linux is included in 'linux' subdirectory.
+ifdef LOCKLIB
+LIBS := -llock $(LIBS)
+CFLAGS += -DLOCKLIB=1
+endif
+
+ifdef PLUGIN
+CFLAGS += -DPLUGIN
+LDFLAGS += -Wl,-E
+LIBS += -ldl
+endif
+
+ifdef FILTER
+LIBS += -lpcap
+CFLAGS += -DPPP_FILTER -I/usr/include/pcap
+endif
+
+ifdef HAVE_INET6
+ PPPDSRCS += ipv6cp.c eui64.c
+ HEADERS += ipv6cp.h eui64.h
+ PPPDOBJS += ipv6cp.o eui64.o
+ CFLAGS += -DINET6=1
+endif
+
+
+INSTALL= install
+
+install: pppd
+ mkdir -p $(BINDIR) $(MANDIR)
+ $(INSTALL) -m 555 pppd $(BINDIR)/pppd
+ $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
+
+pppd: $(PPPDOBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
+
+clean:
+ rm -f $(PPPDOBJS) pppd *~ #* core
+
+depend:
+ $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.make b/mdk-stage1/ppp/pppd/Makefile.linux.make
new file mode 100644
index 000000000..a696746d6
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile.linux.make
@@ -0,0 +1,131 @@
+#
+# pppd makefile for Linux
+# $Id: Makefile.linux.make 6001 2001-06-11 11:44:34Z gc $
+#
+
+# Default installation locations
+BINDIR = /usr/sbin
+MANDIR = /usr/man
+
+PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
+ ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
+ demand.c utils.c multilink.c tdb.c tty.c
+HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
+ ipxcp.h cbcp.h tdb.h
+MANPAGES = pppd.8
+PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+ auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
+ tdb.o tty.o
+
+all: pppd
+
+#
+# include dependancies if present and backup if as a header file
+ifeq (.depend,$(wildcard .depend))
+include .depend
+endif
+
+# CC = gcc
+#
+COPTS = -O2 -pipe -Wall -g
+LIBS =
+
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+LIBS += -lcrypt
+endif
+
+# Uncomment the next 2 lines to include support for Microsoft's
+# MS-CHAP authentication protocol.
+CHAPMS=y
+USE_CRYPT=y
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+HAVE_CRYPT_H=y
+endif
+
+# Uncomment the next line to include support for PPP packet filtering.
+# This requires that the libpcap library and headers be installed
+# and that the kernel driver support PPP packet filtering, which it
+# doesn't yet.
+#FILTER=y
+
+HAS_SHADOW=y
+#USE_PAM=y
+#HAVE_INET6=y
+
+PLUGIN=y
+
+INCLUDE_DIRS= -I../include
+
+COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
+
+CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
+
+ifdef CHAPMS
+CFLAGS += -DCHAPMS=1
+ifndef USE_CRYPT
+LIBS := -ldes $(LIBS)
+else
+CFLAGS += -DUSE_CRYPT=1
+ifneq ($(wildcard /usr/include/crypt.h),)
+CFLAGS += -DHAVE_CRYPT_H=1
+endif
+endif
+PPPDOBJS += md4.o chap_ms.o
+ifdef MSLANMAN
+CFLAGS += -DMSLANMAN=1
+endif
+endif
+
+ifdef HAS_SHADOW
+CFLAGS += -DHAS_SHADOW
+#LIBS := -lshadow $(LIBS)
+endif
+
+# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
+ifdef USE_PAM
+CFLAGS += -DUSE_PAM
+LIBS := -lpam -ldl $(LIBS)
+endif
+
+# Lock library binary for Linux is included in 'linux' subdirectory.
+ifdef LOCKLIB
+LIBS := -llock $(LIBS)
+CFLAGS += -DLOCKLIB=1
+endif
+
+ifdef PLUGIN
+CFLAGS += -DPLUGIN
+LDFLAGS += -Wl,-E
+LIBS += -ldl
+endif
+
+ifdef FILTER
+LIBS += -lpcap
+CFLAGS += -DPPP_FILTER -I/usr/include/pcap
+endif
+
+ifdef HAVE_INET6
+ PPPDSRCS += ipv6cp.c eui64.c
+ HEADERS += ipv6cp.h eui64.h
+ PPPDOBJS += ipv6cp.o eui64.o
+ CFLAGS += -DINET6=1
+endif
+
+
+INSTALL= install -o root
+
+install: pppd
+ mkdir -p $(BINDIR) $(MANDIR)
+ $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
+ if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
+ chmod o-rx,u+s $(BINDIR)/pppd; fi
+ $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
+
+pppd: $(PPPDOBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
+
+clean:
+ rm -f $(PPPDOBJS) pppd *~ #* core
+
+depend:
+ $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.linux.makeopt b/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
new file mode 100644
index 000000000..fb1a881d0
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile.linux.makeopt
@@ -0,0 +1,129 @@
+#
+# pppd makefile for Linux
+# $Id: Makefile.linux.makeopt 6001 2001-06-11 11:44:34Z gc $
+#
+
+# Default installation locations
+BINDIR = $(DESTDIR)/usr/sbin
+MANDIR = $(DESTDIR)/usr/man
+
+PPPDSRCS = main.c magic.c fsm.c lcp.c ipcp.c upap.c chap.c md5.c ccp.c \
+ ipxcp.c auth.c options.c sys-linux.c md4.c chap_ms.c cbcp.c \
+ demand.c utils.c multilink.c tdb.c tty.c
+HEADERS = callout.h pathnames.h patchlevel.h chap.h md5.h chap_ms.h md4.h \
+ ipxcp.h cbcp.h tdb.h
+MANPAGES = pppd.8
+PPPDOBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+ auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o \
+ tdb.o tty.o
+
+all: pppd
+
+#
+# include dependancies if present and backup if as a header file
+ifeq (.depend,$(wildcard .depend))
+include .depend
+endif
+
+CC = gcc
+#
+COPTS = -O2 -pipe -Wall -g
+LIBS = -lutil
+
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+LIBS += -lcrypt
+endif
+
+# Uncomment the next 2 lines to include support for Microsoft's
+# MS-CHAP authentication protocol.
+CHAPMS=y
+USE_CRYPT=y
+ifneq ($(wildcard /usr/lib/libcrypt.*),)
+HAVE_CRYPT_H=y
+endif
+
+# Uncomment the next line to include support for PPP packet filtering.
+# This requires that the libpcap library and headers be installed
+# and that the kernel driver support PPP packet filtering, which it
+# doesn't yet.
+#FILTER=y
+
+HAS_SHADOW=y
+USE_PAM=y
+#HAVE_INET6=y
+
+PLUGIN=y
+
+INCLUDE_DIRS= -I../include
+
+COMPILE_FLAGS= -D_linux_=1 -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MULTILINK -DHAVE_MMAP
+
+CFLAGS= $(COPTS) $(COMPILE_FLAGS) $(INCLUDE_DIRS)
+
+ifdef CHAPMS
+CFLAGS += -DCHAPMS=1
+ifndef USE_CRYPT
+LIBS := -ldes $(LIBS)
+else
+CFLAGS += -DUSE_CRYPT=1
+ifneq ($(wildcard /usr/include/crypt.h),)
+CFLAGS += -DHAVE_CRYPT_H=1
+endif
+endif
+PPPDOBJS += md4.o chap_ms.o
+ifdef MSLANMAN
+CFLAGS += -DMSLANMAN=1
+endif
+endif
+
+ifdef HAS_SHADOW
+CFLAGS += -DHAS_SHADOW
+#LIBS := -lshadow $(LIBS)
+endif
+
+# For "Pluggable Authentication Modules", see ftp.redhat.com:/pub/pam/.
+ifdef USE_PAM
+CFLAGS += -DUSE_PAM
+LIBS := -lpam -ldl $(LIBS)
+endif
+
+# Lock library binary for Linux is included in 'linux' subdirectory.
+ifdef LOCKLIB
+LIBS := -llock $(LIBS)
+CFLAGS += -DLOCKLIB=1
+endif
+
+ifdef PLUGIN
+CFLAGS += -DPLUGIN
+LDFLAGS += -Wl,-E
+LIBS += -ldl
+endif
+
+ifdef FILTER
+LIBS += -lpcap
+CFLAGS += -DPPP_FILTER -I/usr/include/pcap
+endif
+
+ifdef HAVE_INET6
+ PPPDSRCS += ipv6cp.c eui64.c
+ HEADERS += ipv6cp.h eui64.h
+ PPPDOBJS += ipv6cp.o eui64.o
+ CFLAGS += -DINET6=1
+endif
+
+
+INSTALL= install
+
+install: pppd
+ mkdir -p $(BINDIR) $(MANDIR)
+ $(INSTALL) -m 555 pppd $(BINDIR)/pppd
+ $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8
+
+pppd: $(PPPDOBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o pppd $(PPPDOBJS) $(LIBS)
+
+clean:
+ rm -f $(PPPDOBJS) pppd *~ #* core
+
+depend:
+ $(CPP) -M $(CFLAGS) $(PPPDSRCS) >.depend
diff --git a/mdk-stage1/ppp/pppd/Makefile.sol2 b/mdk-stage1/ppp/pppd/Makefile.sol2
new file mode 100644
index 000000000..9419597bf
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile.sol2
@@ -0,0 +1,48 @@
+#
+# Makefile for pppd under Solaris 2.
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../solaris/Makedefs
+
+COPTS += -xO2 -xspace -W0,-Lt
+CFLAGS = -I../include -DSVR4 -DSOL2 $(COPTS)
+LIBS = -lsocket -lnsl
+
+OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o tty.o \
+ ccp.o auth.o options.o demand.o utils.o sys-solaris.o tdb.o
+
+#
+# uncomment the following to enable plugins
+#
+CFLAGS += -DPLUGIN
+LIBS += -ldl
+
+#
+# Solaris 8 and above accomodates /var/run, so uncomment the
+# following to place pppd process IDs on that location
+#
+#CFLAGS += -D_PATH_VARRUN='"/var/run/"'
+
+#
+# uncomment the following to enable IPv6
+#
+# Solaris 8 and on includes support for IPv6
+#
+#CFLAGS += -DINET6
+#OBJS += ipv6cp.o eui64.o
+
+#
+# Make targets
+#
+all: pppd
+
+pppd: $(OBJS)
+ $(CC) -o pppd $(OBJS) $(LIBS)
+
+install:
+ $(INSTALL) -f $(BINDIR) -m 4755 -u root pppd
+ $(INSTALL) -f $(MANDIR)/man8 -m 444 pppd.8
+
+clean:
+ rm -f $(OBJS) pppd *~ core y.tab.c y.tab.h
diff --git a/mdk-stage1/ppp/pppd/Makefile.sunos4 b/mdk-stage1/ppp/pppd/Makefile.sunos4
new file mode 100644
index 000000000..5be69e404
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/Makefile.sunos4
@@ -0,0 +1,26 @@
+#
+# Makefile for pppd under SunOS 4.
+# $Id: Makefile.sunos4 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../sunos4/Makedefs
+
+LIBS =
+
+CFLAGS = $(COPTS) -I../include -DSUNOS4 -DGIDSET_TYPE=int \
+ -DLOCK_DIR=\"/usr/spool/locks\"
+
+all: pppd
+
+OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o \
+ auth.o options.o demand.o utils.o sys-sunos4.o tty.o
+
+pppd: $(OBJS)
+ $(CC) -o pppd $(OBJS) $(LIBS)
+
+install:
+ $(INSTALL) -c -m 4555 pppd $(BINDIR)/pppd
+ $(INSTALL) -c -m 444 pppd.8 $(MANDIR)/man8/pppd.8
+
+clean:
+ rm -f $(OBJS) pppd *~ core
diff --git a/mdk-stage1/ppp/pppd/auth.c b/mdk-stage1/ppp/pppd/auth.c
new file mode 100644
index 000000000..f01a2b6e4
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/auth.c
@@ -0,0 +1,1939 @@
+/*
+ * auth.c - PPP authentication and phase control.
+ *
+ * Copyright (c) 1993 The Australian National University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the Australian National University. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: auth.c 6015 2001-06-11 14:46:02Z gc $"
+
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <pwd.h>
+#include <grp.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <utmp.h>
+#include <fcntl.h>
+#if defined(_PATH_LASTLOG) && defined(_linux_)
+#include <lastlog.h>
+#endif
+
+#include <netdb.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#ifdef USE_PAM
+#include <security/pam_appl.h>
+#endif
+
+#ifdef HAS_SHADOW
+#include <shadow.h>
+#ifndef PW_PPP
+#define PW_PPP PW_LOGIN
+#endif
+#endif
+
+#include "pppd.h"
+#include "fsm.h"
+#include "lcp.h"
+#include "ipcp.h"
+#include "upap.h"
+#include "chap.h"
+#ifdef CBCP_SUPPORT
+#include "cbcp.h"
+#endif
+#include "pathnames.h"
+
+#include <time.h>
+
+static const char rcsid[] = RCSID;
+
+/* Bits in scan_authfile return value */
+#define NONWILD_SERVER 1
+#define NONWILD_CLIENT 2
+
+#define ISWILD(word) (word[0] == '*' && word[1] == 0)
+
+/* The name by which the peer authenticated itself to us. */
+char peer_authname[MAXNAMELEN];
+
+/* Records which authentication operations haven't completed yet. */
+static int auth_pending[NUM_PPP];
+
+/* Set if we have successfully called plogin() */
+static int logged_in;
+
+/* List of addresses which the peer may use. */
+static struct permitted_ip *addresses[NUM_PPP];
+
+/* Wordlist giving addresses which the peer may use
+ without authenticating itself. */
+static struct wordlist *noauth_addrs;
+
+/* Extra options to apply, from the secrets file entry for the peer. */
+static struct wordlist *extra_options;
+
+/* Number of network protocols which we have opened. */
+static int num_np_open;
+
+/* Number of network protocols which have come up. */
+static int num_np_up;
+
+/* Set if we got the contents of passwd[] from the pap-secrets file. */
+static int passwd_from_file;
+
+/* Set if we require authentication only because we have a default route. */
+static bool default_auth;
+
+/* Hook to enable a plugin to control the idle time limit */
+int (*idle_time_hook) __P((struct ppp_idle *)) = NULL;
+
+/* Hook for a plugin to say whether we can possibly authenticate any peer */
+int (*pap_check_hook) __P((void)) = NULL;
+
+/* Hook for a plugin to check the PAP user and password */
+int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
+ struct wordlist **paddrs,
+ struct wordlist **popts)) = NULL;
+
+/* Hook for a plugin to know about the PAP user logout */
+void (*pap_logout_hook) __P((void)) = NULL;
+
+/* Hook for a plugin to get the PAP password for authenticating us */
+int (*pap_passwd_hook) __P((char *user, char *passwd)) = NULL;
+
+/*
+ * This is used to ensure that we don't start an auth-up/down
+ * script while one is already running.
+ */
+enum script_state {
+ s_down,
+ s_up
+};
+
+static enum script_state auth_state = s_down;
+static enum script_state auth_script_state = s_down;
+static pid_t auth_script_pid = 0;
+
+static int used_login; /* peer authenticated against login database */
+
+/*
+ * Option variables.
+ */
+bool uselogin = 0; /* Use /etc/passwd for checking PAP */
+bool cryptpap = 0; /* Passwords in pap-secrets are encrypted */
+bool refuse_pap = 0; /* Don't wanna auth. ourselves with PAP */
+bool refuse_chap = 0; /* Don't wanna auth. ourselves with CHAP */
+bool usehostname = 0; /* Use hostname for our_name */
+bool auth_required = 0; /* Always require authentication from peer */
+bool allow_any_ip = 0; /* Allow peer to use any IP address */
+bool explicit_remote = 0; /* User specified explicit remote name */
+char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
+
+static char *uafname; /* name of most recent +ua file */
+
+/* Bits in auth_pending[] */
+#define PAP_WITHPEER 1
+#define PAP_PEER 2
+#define CHAP_WITHPEER 4
+#define CHAP_PEER 8
+
+extern char *crypt __P((const char *, const char *));
+
+/* Prototypes for procedures local to this file. */
+
+static void network_phase __P((int));
+static void check_idle __P((void *));
+static void connect_time_expired __P((void *));
+static int plogin __P((char *, char *, char **));
+static void plogout __P((void));
+static int null_login __P((int));
+static int get_pap_passwd __P((char *));
+static int have_pap_secret __P((int *));
+static int have_chap_secret __P((char *, char *, int, int *));
+static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
+static int scan_authfile __P((FILE *, char *, char *, char *,
+ struct wordlist **, struct wordlist **,
+ char *));
+static void free_wordlist __P((struct wordlist *));
+static void auth_script __P((char *));
+static void auth_script_done __P((void *));
+static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
+static int some_ip_ok __P((struct wordlist *));
+static int setupapfile __P((char **));
+static int privgroup __P((char **));
+static int set_noauth_addr __P((char **));
+static void check_access __P((FILE *, char *));
+static int wordlist_count __P((struct wordlist *));
+
+/*
+ * Authentication-related options.
+ */
+option_t auth_options[] = {
+ { "auth", o_bool, &auth_required,
+ "Require authentication from peer", OPT_PRIO | 1 },
+ { "noauth", o_bool, &auth_required,
+ "Don't require peer to authenticate", OPT_PRIOSUB | OPT_PRIV,
+ &allow_any_ip },
+ { "require-pap", o_bool, &lcp_wantoptions[0].neg_upap,
+ "Require PAP authentication from peer",
+ OPT_PRIOSUB | 1, &auth_required },
+ { "+pap", o_bool, &lcp_wantoptions[0].neg_upap,
+ "Require PAP authentication from peer",
+ OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
+ { "require-chap", o_bool, &lcp_wantoptions[0].neg_chap,
+ "Require CHAP authentication from peer",
+ OPT_PRIOSUB | 1, &auth_required },
+ { "+chap", o_bool, &lcp_wantoptions[0].neg_chap,
+ "Require CHAP authentication from peer",
+ OPT_ALIAS | OPT_PRIOSUB | 1, &auth_required },
+
+ { "refuse-pap", o_bool, &refuse_pap,
+ "Don't agree to auth to peer with PAP", 1 },
+ { "-pap", o_bool, &refuse_pap,
+ "Don't allow PAP authentication with peer", OPT_ALIAS | 1 },
+
+ { "refuse-chap", o_bool, &refuse_chap,
+ "Don't agree to auth to peer with CHAP", 1 },
+ { "-chap", o_bool, &refuse_chap,
+ "Don't allow CHAP authentication with peer", OPT_ALIAS | 1 },
+
+ { "name", o_string, our_name,
+ "Set local name for authentication",
+ OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXNAMELEN },
+
+ { "+ua", o_special, (void *)setupapfile,
+ "Get PAP user and password from file",
+ OPT_PRIO | OPT_A2STRVAL, &uafname },
+
+ { "user", o_string, user,
+ "Set name for auth with peer", OPT_PRIO | OPT_STATIC, NULL, MAXNAMELEN },
+
+ { "password", o_string, passwd,
+ "Password for authenticating us to the peer",
+ OPT_PRIO | OPT_STATIC | OPT_HIDE, NULL, MAXSECRETLEN },
+
+ { "usehostname", o_bool, &usehostname,
+ "Must use hostname for authentication", 1 },
+
+ { "remotename", o_string, remote_name,
+ "Set remote name for authentication", OPT_PRIO | OPT_STATIC,
+ &explicit_remote, MAXNAMELEN },
+
+ { "login", o_bool, &uselogin,
+ "Use system password database for PAP", 1 },
+
+ { "papcrypt", o_bool, &cryptpap,
+ "PAP passwords are encrypted", 1 },
+
+ { "privgroup", o_special, (void *)privgroup,
+ "Allow group members to use privileged options", OPT_PRIV | OPT_A2LIST },
+
+ { "allow-ip", o_special, (void *)set_noauth_addr,
+ "Set IP address(es) which can be used without authentication",
+ OPT_PRIV | OPT_A2LIST },
+
+ { NULL }
+};
+
+/*
+ * setupapfile - specifies UPAP info for authenticating with peer.
+ */
+static int
+setupapfile(argv)
+ char **argv;
+{
+ FILE *ufile;
+ int l;
+ char u[MAXNAMELEN], p[MAXSECRETLEN];
+ char *fname;
+
+ lcp_allowoptions[0].neg_upap = 1;
+
+ /* open user info file */
+ fname = strdup(*argv);
+ if (fname == NULL)
+ novm("+ua file name");
+ seteuid(getuid());
+ ufile = fopen(fname, "r");
+ seteuid(0);
+ if (ufile == NULL) {
+ option_error("unable to open user login data file %s", fname);
+ return 0;
+ }
+ check_access(ufile, fname);
+ uafname = fname;
+
+ /* get username */
+ if (fgets(u, MAXNAMELEN - 1, ufile) == NULL
+ || fgets(p, MAXSECRETLEN - 1, ufile) == NULL){
+ option_error("unable to read user login data file %s", fname);
+ return 0;
+ }
+ fclose(ufile);
+
+ /* get rid of newlines */
+ l = strlen(u);
+ if (l > 0 && u[l-1] == '\n')
+ u[l-1] = 0;
+ l = strlen(p);
+ if (l > 0 && p[l-1] == '\n')
+ p[l-1] = 0;
+
+ if (override_value("user", option_priority, fname))
+ strlcpy(user, u, sizeof(user));
+ if (override_value("passwd", option_priority, fname))
+ strlcpy(passwd, p, sizeof(passwd));
+
+ return (1);
+}
+
+
+/*
+ * privgroup - allow members of the group to have privileged access.
+ */
+static int
+privgroup(argv)
+ char **argv;
+{
+ struct group *g;
+ int i;
+
+ g = getgrnam(*argv);
+ if (g == 0) {
+ option_error("group %s is unknown", *argv);
+ return 0;
+ }
+ for (i = 0; i < ngroups; ++i) {
+ if (groups[i] == g->gr_gid) {
+ privileged = 1;
+ break;
+ }
+ }
+ return 1;
+}
+
+
+/*
+ * set_noauth_addr - set address(es) that can be used without authentication.
+ * Equivalent to specifying an entry like `"" * "" addr' in pap-secrets.
+ */
+static int
+set_noauth_addr(argv)
+ char **argv;
+{
+ char *addr = *argv;
+ int l = strlen(addr) + 1;
+ struct wordlist *wp;
+
+ wp = (struct wordlist *) malloc(sizeof(struct wordlist) + l);
+ if (wp == NULL)
+ novm("allow-ip argument");
+ wp->word = (char *) (wp + 1);
+ wp->next = noauth_addrs;
+ BCOPY(addr, wp->word, l);
+ noauth_addrs = wp;
+ return 1;
+}
+
+
+/*
+ * An Open on LCP has requested a change from Dead to Establish phase.
+ * Do what's necessary to bring the physical layer up.
+ */
+void
+link_required(unit)
+ int unit;
+{
+}
+
+/*
+ * LCP has terminated the link; go to the Dead phase and take the
+ * physical layer down.
+ */
+void
+link_terminated(unit)
+ int unit;
+{
+ if (phase == PHASE_DEAD)
+ return;
+ if (pap_logout_hook) {
+ pap_logout_hook();
+ } else {
+ if (logged_in)
+ plogout();
+ }
+ new_phase(PHASE_DEAD);
+ notice("Connection terminated.");
+}
+
+/*
+ * LCP has gone down; it will either die or try to re-establish.
+ */
+void
+link_down(unit)
+ int unit;
+{
+ int i;
+ struct protent *protp;
+
+ auth_state = s_down;
+ if (auth_script_state == s_up && auth_script_pid == 0) {
+ update_link_stats(unit);
+ auth_script_state = s_down;
+ auth_script(_PATH_AUTHDOWN);
+ }
+ for (i = 0; (protp = protocols[i]) != NULL; ++i) {
+ if (!protp->enabled_flag)
+ continue;
+ if (protp->protocol != PPP_LCP && protp->lowerdown != NULL)
+ (*protp->lowerdown)(unit);
+ if (protp->protocol < 0xC000 && protp->close != NULL)
+ (*protp->close)(unit, "LCP down");
+ }
+ num_np_open = 0;
+ num_np_up = 0;
+ if (phase != PHASE_DEAD)
+ new_phase(PHASE_TERMINATE);
+}
+
+/*
+ * The link is established.
+ * Proceed to the Dead, Authenticate or Network phase as appropriate.
+ */
+void
+link_established(unit)
+ int unit;
+{
+ int auth;
+ lcp_options *wo = &lcp_wantoptions[unit];
+ lcp_options *go = &lcp_gotoptions[unit];
+ lcp_options *ho = &lcp_hisoptions[unit];
+ int i;
+ struct protent *protp;
+
+ /*
+ * Tell higher-level protocols that LCP is up.
+ */
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->protocol != PPP_LCP && protp->enabled_flag
+ && protp->lowerup != NULL)
+ (*protp->lowerup)(unit);
+
+ if (auth_required && !(go->neg_chap || go->neg_upap)) {
+ /*
+ * We wanted the peer to authenticate itself, and it refused:
+ * if we have some address(es) it can use without auth, fine,
+ * otherwise treat it as though it authenticated with PAP using
+ * a username * of "" and a password of "". If that's not OK,
+ * boot it out.
+ */
+ if (noauth_addrs != NULL) {
+ set_allowed_addrs(unit, NULL, NULL);
+ } else if (!wo->neg_upap || uselogin || !null_login(unit)) {
+ warn("peer refused to authenticate: terminating link");
+ lcp_close(unit, "peer refused to authenticate");
+ status = EXIT_PEER_AUTH_FAILED;
+ return;
+ }
+ }
+
+ new_phase(PHASE_AUTHENTICATE);
+ used_login = 0;
+ auth = 0;
+ if (go->neg_chap) {
+ ChapAuthPeer(unit, our_name, go->chap_mdtype);
+ auth |= CHAP_PEER;
+ } else if (go->neg_upap) {
+ upap_authpeer(unit);
+ auth |= PAP_PEER;
+ }
+ if (ho->neg_chap) {
+ ChapAuthWithPeer(unit, user, ho->chap_mdtype);
+ auth |= CHAP_WITHPEER;
+ } else if (ho->neg_upap) {
+ if (passwd[0] == 0) {
+ passwd_from_file = 1;
+ if (!get_pap_passwd(passwd))
+ error("No secret found for PAP login");
+ }
+ upap_authwithpeer(unit, user, passwd);
+ auth |= PAP_WITHPEER;
+ }
+ auth_pending[unit] = auth;
+
+ if (!auth)
+ network_phase(unit);
+}
+
+/*
+ * Proceed to the network phase.
+ */
+static void
+network_phase(unit)
+ int unit;
+{
+ lcp_options *go = &lcp_gotoptions[unit];
+
+ /*
+ * If the peer had to authenticate, run the auth-up script now.
+ */
+ if (go->neg_chap || go->neg_upap) {
+ auth_state = s_up;
+ if (auth_script_state == s_down && auth_script_pid == 0) {
+ auth_script_state = s_up;
+ auth_script(_PATH_AUTHUP);
+ }
+ }
+
+#ifdef CBCP_SUPPORT
+ /*
+ * If we negotiated callback, do it now.
+ */
+ if (go->neg_cbcp) {
+ new_phase(PHASE_CALLBACK);
+ (*cbcp_protent.open)(unit);
+ return;
+ }
+#endif
+
+ /*
+ * Process extra options from the secrets file
+ */
+ if (extra_options) {
+ options_from_list(extra_options, 1);
+ free_wordlist(extra_options);
+ extra_options = 0;
+ }
+ start_networks();
+}
+
+void
+start_networks()
+{
+ int i;
+ struct protent *protp;
+
+ new_phase(PHASE_NETWORK);
+
+#ifdef HAVE_MULTILINK
+ if (multilink) {
+ if (mp_join_bundle()) {
+ if (updetach && !nodetach)
+ detach();
+ return;
+ }
+ }
+#endif /* HAVE_MULTILINK */
+
+#ifdef PPP_FILTER
+ if (!demand)
+ set_filters(&pass_filter, &active_filter);
+#endif
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->protocol < 0xC000 && protp->enabled_flag
+ && protp->open != NULL) {
+ (*protp->open)(0);
+ if (protp->protocol != PPP_CCP)
+ ++num_np_open;
+ }
+
+ if (num_np_open == 0)
+ /* nothing to do */
+ lcp_close(0, "No network protocols running");
+}
+
+/*
+ * The peer has failed to authenticate himself using `protocol'.
+ */
+void
+auth_peer_fail(unit, protocol)
+ int unit, protocol;
+{
+ /*
+ * Authentication failure: take the link down
+ */
+ lcp_close(unit, "Authentication failed");
+ status = EXIT_PEER_AUTH_FAILED;
+}
+
+/*
+ * The peer has been successfully authenticated using `protocol'.
+ */
+void
+auth_peer_success(unit, protocol, name, namelen)
+ int unit, protocol;
+ char *name;
+ int namelen;
+{
+ int bit;
+
+ switch (protocol) {
+ case PPP_CHAP:
+ bit = CHAP_PEER;
+ break;
+ case PPP_PAP:
+ bit = PAP_PEER;
+ break;
+ default:
+ warn("auth_peer_success: unknown protocol %x", protocol);
+ return;
+ }
+
+ /*
+ * Save the authenticated name of the peer for later.
+ */
+ if (namelen > sizeof(peer_authname) - 1)
+ namelen = sizeof(peer_authname) - 1;
+ BCOPY(name, peer_authname, namelen);
+ peer_authname[namelen] = 0;
+ script_setenv("PEERNAME", peer_authname, 0);
+
+ /*
+ * If there is no more authentication still to be done,
+ * proceed to the network (or callback) phase.
+ */
+ if ((auth_pending[unit] &= ~bit) == 0)
+ network_phase(unit);
+}
+
+/*
+ * We have failed to authenticate ourselves to the peer using `protocol'.
+ */
+void
+auth_withpeer_fail(unit, protocol)
+ int unit, protocol;
+{
+ if (passwd_from_file)
+ BZERO(passwd, MAXSECRETLEN);
+ /*
+ * We've failed to authenticate ourselves to our peer.
+ * Some servers keep sending CHAP challenges, but there
+ * is no point in persisting without any way to get updated
+ * authentication secrets.
+ */
+ lcp_close(unit, "Failed to authenticate ourselves to peer");
+ status = EXIT_AUTH_TOPEER_FAILED;
+}
+
+/*
+ * We have successfully authenticated ourselves with the peer using `protocol'.
+ */
+void
+auth_withpeer_success(unit, protocol)
+ int unit, protocol;
+{
+ int bit;
+
+ switch (protocol) {
+ case PPP_CHAP:
+ bit = CHAP_WITHPEER;
+ break;
+ case PPP_PAP:
+ if (passwd_from_file)
+ BZERO(passwd, MAXSECRETLEN);
+ bit = PAP_WITHPEER;
+ break;
+ default:
+ warn("auth_withpeer_success: unknown protocol %x", protocol);
+ bit = 0;
+ }
+
+ /*
+ * If there is no more authentication still being done,
+ * proceed to the network (or callback) phase.
+ */
+ if ((auth_pending[unit] &= ~bit) == 0)
+ network_phase(unit);
+}
+
+
+/*
+ * np_up - a network protocol has come up.
+ */
+void
+np_up(unit, proto)
+ int unit, proto;
+{
+ int tlim;
+
+ if (num_np_up == 0) {
+ /*
+ * At this point we consider that the link has come up successfully.
+ */
+ status = EXIT_OK;
+ unsuccess = 0;
+ new_phase(PHASE_RUNNING);
+
+ if (idle_time_hook != 0)
+ tlim = (*idle_time_hook)(NULL);
+ else
+ tlim = idle_time_limit;
+ if (tlim > 0)
+ TIMEOUT(check_idle, NULL, tlim);
+
+ /*
+ * Set a timeout to close the connection once the maximum
+ * connect time has expired.
+ */
+ if (maxconnect > 0)
+ TIMEOUT(connect_time_expired, 0, maxconnect);
+
+ /*
+ * Detach now, if the updetach option was given.
+ */
+ if (updetach && !nodetach)
+ detach();
+ }
+ ++num_np_up;
+}
+
+/*
+ * np_down - a network protocol has gone down.
+ */
+void
+np_down(unit, proto)
+ int unit, proto;
+{
+ if (--num_np_up == 0) {
+ UNTIMEOUT(check_idle, NULL);
+ new_phase(PHASE_NETWORK);
+ }
+}
+
+/*
+ * np_finished - a network protocol has finished using the link.
+ */
+void
+np_finished(unit, proto)
+ int unit, proto;
+{
+ if (--num_np_open <= 0) {
+ /* no further use for the link: shut up shop. */
+ lcp_close(0, "No network protocols running");
+ }
+}
+
+/*
+ * check_idle - check whether the link has been idle for long
+ * enough that we can shut it down.
+ */
+static void
+check_idle(arg)
+ void *arg;
+{
+ struct ppp_idle idle;
+ time_t itime;
+ int tlim;
+
+ if (!get_idle_time(0, &idle))
+ return;
+ if (idle_time_hook != 0) {
+ tlim = idle_time_hook(&idle);
+ } else {
+ itime = MIN(idle.xmit_idle, idle.recv_idle);
+ tlim = idle_time_limit - itime;
+ }
+ if (tlim <= 0) {
+ /* link is idle: shut it down. */
+ notice("Terminating connection due to lack of activity.");
+ lcp_close(0, "Link inactive");
+ need_holdoff = 0;
+ status = EXIT_IDLE_TIMEOUT;
+ } else {
+ TIMEOUT(check_idle, NULL, tlim);
+ }
+}
+
+/*
+ * connect_time_expired - log a message and close the connection.
+ */
+static void
+connect_time_expired(arg)
+ void *arg;
+{
+ info("Connect time expired");
+ lcp_close(0, "Connect time expired"); /* Close connection */
+ status = EXIT_CONNECT_TIME;
+}
+
+/*
+ * auth_check_options - called to check authentication options.
+ */
+void
+auth_check_options()
+{
+ lcp_options *wo = &lcp_wantoptions[0];
+ int can_auth;
+ int lacks_ip;
+
+ /* Default our_name to hostname, and user to our_name */
+ if (our_name[0] == 0 || usehostname)
+ strlcpy(our_name, hostname, sizeof(our_name));
+ if (user[0] == 0)
+ strlcpy(user, our_name, sizeof(user));
+
+ /*
+ * If we have a default route, require the peer to authenticate
+ * unless the noauth option was given or the real user is root.
+ */
+ if (!auth_required && !allow_any_ip && have_route_to(0) && !privileged) {
+ auth_required = 1;
+ default_auth = 1;
+ }
+
+ /* If authentication is required, ask peer for CHAP or PAP. */
+ if (auth_required) {
+ allow_any_ip = 0;
+ if (!wo->neg_chap && !wo->neg_upap) {
+ wo->neg_chap = 1;
+ wo->neg_upap = 1;
+ }
+ } else {
+ wo->neg_chap = 0;
+ wo->neg_upap = 0;
+ }
+
+ /*
+ * Check whether we have appropriate secrets to use
+ * to authenticate the peer.
+ */
+ lacks_ip = 0;
+ can_auth = wo->neg_upap && (uselogin || have_pap_secret(&lacks_ip));
+ if (!can_auth && wo->neg_chap) {
+ can_auth = have_chap_secret((explicit_remote? remote_name: NULL),
+ our_name, 1, &lacks_ip);
+ }
+
+ if (auth_required && !can_auth && noauth_addrs == NULL) {
+ if (default_auth) {
+ option_error(
+"By default the remote system is required to authenticate itself");
+ option_error(
+"(because this system has a default route to the internet)");
+ } else if (explicit_remote)
+ option_error(
+"The remote system (%s) is required to authenticate itself",
+ remote_name);
+ else
+ option_error(
+"The remote system is required to authenticate itself");
+ option_error(
+"but I couldn't find any suitable secret (password) for it to use to do so.");
+ if (lacks_ip)
+ option_error(
+"(None of the available passwords would let it use an IP address.)");
+
+ exit(1);
+ }
+}
+
+/*
+ * auth_reset - called when LCP is starting negotiations to recheck
+ * authentication options, i.e. whether we have appropriate secrets
+ * to use for authenticating ourselves and/or the peer.
+ */
+void
+auth_reset(unit)
+ int unit;
+{
+ lcp_options *go = &lcp_gotoptions[unit];
+ lcp_options *ao = &lcp_allowoptions[0];
+
+ ao->neg_upap = !refuse_pap && (passwd[0] != 0 || get_pap_passwd(NULL));
+ ao->neg_chap = !refuse_chap
+ && (passwd[0] != 0
+ || have_chap_secret(user, (explicit_remote? remote_name: NULL),
+ 0, NULL));
+
+ if (go->neg_upap && !uselogin && !have_pap_secret(NULL))
+ go->neg_upap = 0;
+ if (go->neg_chap) {
+ if (!have_chap_secret((explicit_remote? remote_name: NULL),
+ our_name, 1, NULL))
+ go->neg_chap = 0;
+ }
+}
+
+
+/*
+ * check_passwd - Check the user name and passwd against the PAP secrets
+ * file. If requested, also check against the system password database,
+ * and login the user if OK.
+ *
+ * returns:
+ * UPAP_AUTHNAK: Authentication failed.
+ * UPAP_AUTHACK: Authentication succeeded.
+ * In either case, msg points to an appropriate message.
+ */
+int
+check_passwd(unit, auser, userlen, apasswd, passwdlen, msg)
+ int unit;
+ char *auser;
+ int userlen;
+ char *apasswd;
+ int passwdlen;
+ char **msg;
+{
+ int ret;
+ char *filename;
+ FILE *f;
+ struct wordlist *addrs = NULL, *opts = NULL;
+ char passwd[256], user[256];
+ char secret[MAXWORDLEN];
+ static int attempts = 0;
+
+ /*
+ * Make copies of apasswd and auser, then null-terminate them.
+ * If there are unprintable characters in the password, make
+ * them visible.
+ */
+ slprintf(passwd, sizeof(passwd), "%.*v", passwdlen, apasswd);
+ slprintf(user, sizeof(user), "%.*v", userlen, auser);
+ *msg = "";
+
+ /*
+ * Check if a plugin wants to handle this.
+ */
+ if (pap_auth_hook) {
+ ret = (*pap_auth_hook)(user, passwd, msg, &addrs, &opts);
+ if (ret >= 0) {
+ if (ret)
+ set_allowed_addrs(unit, addrs, opts);
+ BZERO(passwd, sizeof(passwd));
+ if (addrs != 0)
+ free_wordlist(addrs);
+ return ret? UPAP_AUTHACK: UPAP_AUTHNAK;
+ }
+ }
+
+ /*
+ * Open the file of pap secrets and scan for a suitable secret
+ * for authenticating this user.
+ */
+ filename = _PATH_UPAPFILE;
+ addrs = opts = NULL;
+ ret = UPAP_AUTHNAK;
+ f = fopen(filename, "r");
+ if (f == NULL) {
+ error("Can't open PAP password file %s: %m", filename);
+
+ } else {
+ check_access(f, filename);
+ if (scan_authfile(f, user, our_name, secret, &addrs, &opts, filename) < 0) {
+ warn("no PAP secret found for %s", user);
+ } else {
+ /*
+ * If the secret is "@login", it means to check
+ * the password against the login database.
+ */
+ int login_secret = strcmp(secret, "@login") == 0;
+ ret = UPAP_AUTHACK;
+ if (uselogin || login_secret) {
+ /* login option or secret is @login */
+ ret = plogin(user, passwd, msg);
+ if (ret == UPAP_AUTHNAK)
+ warn("PAP login failure for %s", user);
+ else
+ used_login = 1;
+ }
+ if (secret[0] != 0 && !login_secret) {
+ /* password given in pap-secrets - must match */
+ if ((cryptpap || strcmp(passwd, secret) != 0)
+ && strcmp(crypt(passwd, secret), secret) != 0) {
+ ret = UPAP_AUTHNAK;
+ warn("PAP authentication failure for %s", user);
+ }
+ }
+ }
+ fclose(f);
+ }
+
+ if (ret == UPAP_AUTHNAK) {
+ if (**msg == 0)
+ *msg = "Login incorrect";
+ /*
+ * XXX can we ever get here more than once??
+ * Frustrate passwd stealer programs.
+ * Allow 10 tries, but start backing off after 3 (stolen from login).
+ * On 10'th, drop the connection.
+ */
+ if (attempts++ >= 10) {
+ warn("%d LOGIN FAILURES ON %s, %s", attempts, devnam, user);
+ lcp_close(unit, "login failed");
+ }
+ if (attempts > 3)
+ sleep((u_int) (attempts - 3) * 5);
+ if (opts != NULL)
+ free_wordlist(opts);
+
+ } else {
+ attempts = 0; /* Reset count */
+ if (**msg == 0)
+ *msg = "Login ok";
+ set_allowed_addrs(unit, addrs, opts);
+ }
+
+ if (addrs != NULL)
+ free_wordlist(addrs);
+ BZERO(passwd, sizeof(passwd));
+ BZERO(secret, sizeof(secret));
+
+ return ret;
+}
+
+/*
+ * This function is needed for PAM.
+ */
+
+#ifdef USE_PAM
+/* Static variables used to communicate between the conversation function
+ * and the server_login function
+ */
+static char *PAM_username;
+static char *PAM_password;
+static int PAM_error = 0;
+static pam_handle_t *pamh = NULL;
+
+/* PAM conversation function
+ * Here we assume (for now, at least) that echo on means login name, and
+ * echo off means password.
+ */
+
+static int PAM_conv (int num_msg, const struct pam_message **msg,
+ struct pam_response **resp, void *appdata_ptr)
+{
+ int replies = 0;
+ struct pam_response *reply = NULL;
+
+#define COPY_STRING(s) (s) ? strdup(s) : NULL
+
+ reply = malloc(sizeof(struct pam_response) * num_msg);
+ if (!reply) return PAM_CONV_ERR;
+
+ for (replies = 0; replies < num_msg; replies++) {
+ switch (msg[replies]->msg_style) {
+ case PAM_PROMPT_ECHO_ON:
+ reply[replies].resp_retcode = PAM_SUCCESS;
+ reply[replies].resp = COPY_STRING(PAM_username);
+ /* PAM frees resp */
+ break;
+ case PAM_PROMPT_ECHO_OFF:
+ reply[replies].resp_retcode = PAM_SUCCESS;
+ reply[replies].resp = COPY_STRING(PAM_password);
+ /* PAM frees resp */
+ break;
+ case PAM_TEXT_INFO:
+ /* fall through */
+ case PAM_ERROR_MSG:
+ /* ignore it, but pam still wants a NULL response... */
+ reply[replies].resp_retcode = PAM_SUCCESS;
+ reply[replies].resp = NULL;
+ break;
+ default:
+ /* Must be an error of some sort... */
+ free (reply);
+ PAM_error = 1;
+ return PAM_CONV_ERR;
+ }
+ }
+ *resp = reply;
+ return PAM_SUCCESS;
+}
+
+static struct pam_conv PAM_conversation = {
+ &PAM_conv,
+ NULL
+};
+#endif /* USE_PAM */
+
+/*
+ * plogin - Check the user name and password against the system
+ * password database, and login the user if OK.
+ *
+ * returns:
+ * UPAP_AUTHNAK: Login failed.
+ * UPAP_AUTHACK: Login succeeded.
+ * In either case, msg points to an appropriate message.
+ */
+
+static int
+plogin(user, passwd, msg)
+ char *user;
+ char *passwd;
+ char **msg;
+{
+ char *tty;
+
+#ifdef USE_PAM
+ int pam_error;
+
+ pam_error = pam_start ("ppp", user, &PAM_conversation, &pamh);
+ if (pam_error != PAM_SUCCESS) {
+ *msg = (char *) pam_strerror (pamh, pam_error);
+ reopen_log();
+ return UPAP_AUTHNAK;
+ }
+ /*
+ * Define the fields for the credential validation
+ */
+
+ PAM_username = user;
+ PAM_password = passwd;
+ PAM_error = 0;
+ pam_set_item (pamh, PAM_TTY, devnam); /* this might be useful to some modules */
+
+ /*
+ * Validate the user
+ */
+ pam_error = pam_authenticate (pamh, PAM_SILENT);
+ if (pam_error == PAM_SUCCESS && !PAM_error) {
+ pam_error = pam_acct_mgmt (pamh, PAM_SILENT);
+ if (pam_error == PAM_SUCCESS)
+ pam_error = pam_open_session (pamh, PAM_SILENT);
+ }
+
+ *msg = (char *) pam_strerror (pamh, pam_error);
+
+ /*
+ * Clean up the mess
+ */
+ reopen_log(); /* apparently the PAM stuff does closelog() */
+ PAM_username = NULL;
+ PAM_password = NULL;
+ if (pam_error != PAM_SUCCESS)
+ return UPAP_AUTHNAK;
+#else /* #ifdef USE_PAM */
+
+/*
+ * Use the non-PAM methods directly
+ */
+
+#ifdef HAS_SHADOW
+ struct spwd *spwd;
+ struct spwd *getspnam();
+#endif
+ struct passwd *pw = getpwnam(user);
+
+ endpwent();
+ if (pw == NULL)
+ return (UPAP_AUTHNAK);
+
+#ifdef HAS_SHADOW
+ spwd = getspnam(user);
+ endspent();
+ if (spwd) {
+ /* check the age of the password entry */
+ long now = time(NULL) / 86400L;
+
+ if ((spwd->sp_expire > 0 && now >= spwd->sp_expire)
+ || ((spwd->sp_max >= 0 && spwd->sp_max < 10000)
+ && spwd->sp_lstchg >= 0
+ && now >= spwd->sp_lstchg + spwd->sp_max)) {
+ warn("Password for %s has expired", user);
+ return (UPAP_AUTHNAK);
+ }
+ pw->pw_passwd = spwd->sp_pwdp;
+ }
+#endif
+
+ /*
+ * If no passwd, don't let them login.
+ */
+ if (pw->pw_passwd == NULL || strlen(pw->pw_passwd) < 2
+ || strcmp(crypt(passwd, pw->pw_passwd), pw->pw_passwd) != 0)
+ return (UPAP_AUTHNAK);
+
+#endif /* #ifdef USE_PAM */
+
+ /*
+ * Write a wtmp entry for this user.
+ */
+
+ tty = devnam;
+ if (strncmp(tty, "/dev/", 5) == 0)
+ tty += 5;
+// logwtmp(tty, user, remote_name); /* Add wtmp login entry */
+
+#if defined(_PATH_LASTLOG) && !defined(USE_PAM)
+ if (pw != (struct passwd *)NULL) {
+ struct lastlog ll;
+ int fd;
+
+ if ((fd = open(_PATH_LASTLOG, O_RDWR, 0)) >= 0) {
+ (void)lseek(fd, (off_t)(pw->pw_uid * sizeof(ll)), SEEK_SET);
+ memset((void *)&ll, 0, sizeof(ll));
+ (void)time(&ll.ll_time);
+ (void)strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
+ (void)write(fd, (char *)&ll, sizeof(ll));
+ (void)close(fd);
+ }
+ }
+#endif /* _PATH_LASTLOG and not USE_PAM */
+
+ info("user %s logged in", user);
+ logged_in = 1;
+
+ return (UPAP_AUTHACK);
+}
+
+/*
+ * plogout - Logout the user.
+ */
+static void
+plogout()
+{
+#ifdef USE_PAM
+ int pam_error;
+
+ if (pamh != NULL) {
+ pam_error = pam_close_session (pamh, PAM_SILENT);
+ pam_end (pamh, pam_error);
+ pamh = NULL;
+ }
+ /* Apparently the pam stuff does closelog(). */
+ reopen_log();
+#else /* ! USE_PAM */
+ char *tty;
+
+ tty = devnam;
+ if (strncmp(tty, "/dev/", 5) == 0)
+ tty += 5;
+// logwtmp(tty, "", ""); /* Wipe out utmp logout entry */
+#endif /* ! USE_PAM */
+ logged_in = 0;
+}
+
+
+/*
+ * null_login - Check if a username of "" and a password of "" are
+ * acceptable, and iff so, set the list of acceptable IP addresses
+ * and return 1.
+ */
+static int
+null_login(unit)
+ int unit;
+{
+ char *filename;
+ FILE *f;
+ int i, ret;
+ struct wordlist *addrs, *opts;
+ char secret[MAXWORDLEN];
+
+ /*
+ * Open the file of pap secrets and scan for a suitable secret.
+ */
+ filename = _PATH_UPAPFILE;
+ addrs = NULL;
+ f = fopen(filename, "r");
+ if (f == NULL)
+ return 0;
+ check_access(f, filename);
+
+ i = scan_authfile(f, "", our_name, secret, &addrs, &opts, filename);
+ ret = i >= 0 && secret[0] == 0;
+ BZERO(secret, sizeof(secret));
+
+ if (ret)
+ set_allowed_addrs(unit, addrs, opts);
+ else if (opts != 0)
+ free_wordlist(opts);
+ if (addrs != 0)
+ free_wordlist(addrs);
+
+ fclose(f);
+ return ret;
+}
+
+
+/*
+ * get_pap_passwd - get a password for authenticating ourselves with
+ * our peer using PAP. Returns 1 on success, 0 if no suitable password
+ * could be found.
+ * Assumes passwd points to MAXSECRETLEN bytes of space (if non-null).
+ */
+static int
+get_pap_passwd(passwd)
+ char *passwd;
+{
+ char *filename;
+ FILE *f;
+ int ret;
+ char secret[MAXWORDLEN];
+
+ /*
+ * Check whether a plugin wants to supply this.
+ */
+ if (pap_passwd_hook) {
+ ret = (*pap_passwd_hook)(user, passwd);
+ if (ret >= 0)
+ return ret;
+ }
+
+ filename = _PATH_UPAPFILE;
+ f = fopen(filename, "r");
+ if (f == NULL)
+ return 0;
+ check_access(f, filename);
+ ret = scan_authfile(f, user,
+ (remote_name[0]? remote_name: NULL),
+ secret, NULL, NULL, filename);
+ fclose(f);
+ if (ret < 0)
+ return 0;
+ if (passwd != NULL)
+ strlcpy(passwd, secret, MAXSECRETLEN);
+ BZERO(secret, sizeof(secret));
+ return 1;
+}
+
+
+/*
+ * have_pap_secret - check whether we have a PAP file with any
+ * secrets that we could possibly use for authenticating the peer.
+ */
+static int
+have_pap_secret(lacks_ipp)
+ int *lacks_ipp;
+{
+ FILE *f;
+ int ret;
+ char *filename;
+ struct wordlist *addrs;
+
+ /* let the plugin decide, if there is one */
+ if (pap_check_hook) {
+ ret = (*pap_check_hook)();
+ if (ret >= 0)
+ return ret;
+ }
+
+ filename = _PATH_UPAPFILE;
+ f = fopen(filename, "r");
+ if (f == NULL)
+ return 0;
+
+ ret = scan_authfile(f, (explicit_remote? remote_name: NULL), our_name,
+ NULL, &addrs, NULL, filename);
+ fclose(f);
+ if (ret >= 0 && !some_ip_ok(addrs)) {
+ if (lacks_ipp != 0)
+ *lacks_ipp = 1;
+ ret = -1;
+ }
+ if (addrs != 0)
+ free_wordlist(addrs);
+
+ return ret >= 0;
+}
+
+
+/*
+ * have_chap_secret - check whether we have a CHAP file with a
+ * secret that we could possibly use for authenticating `client'
+ * on `server'. Either can be the null string, meaning we don't
+ * know the identity yet.
+ */
+static int
+have_chap_secret(client, server, need_ip, lacks_ipp)
+ char *client;
+ char *server;
+ int need_ip;
+ int *lacks_ipp;
+{
+ FILE *f;
+ int ret;
+ char *filename;
+ struct wordlist *addrs;
+
+ filename = _PATH_CHAPFILE;
+ f = fopen(filename, "r");
+ if (f == NULL)
+ return 0;
+
+ if (client != NULL && client[0] == 0)
+ client = NULL;
+ else if (server != NULL && server[0] == 0)
+ server = NULL;
+
+ ret = scan_authfile(f, client, server, NULL, &addrs, NULL, filename);
+ fclose(f);
+ if (ret >= 0 && need_ip && !some_ip_ok(addrs)) {
+ if (lacks_ipp != 0)
+ *lacks_ipp = 1;
+ ret = -1;
+ }
+ if (addrs != 0)
+ free_wordlist(addrs);
+
+ return ret >= 0;
+}
+
+
+/*
+ * get_secret - open the CHAP secret file and return the secret
+ * for authenticating the given client on the given server.
+ * (We could be either client or server).
+ */
+int
+get_secret(unit, client, server, secret, secret_len, am_server)
+ int unit;
+ char *client;
+ char *server;
+ char *secret;
+ int *secret_len;
+ int am_server;
+{
+ FILE *f;
+ int ret, len;
+ char *filename;
+ struct wordlist *addrs, *opts;
+ char secbuf[MAXWORDLEN];
+
+ if (!am_server && passwd[0] != 0) {
+ strlcpy(secbuf, passwd, sizeof(secbuf));
+ } else {
+ filename = _PATH_CHAPFILE;
+ addrs = NULL;
+ secbuf[0] = 0;
+
+ f = fopen(filename, "r");
+ if (f == NULL) {
+ error("Can't open chap secret file %s: %m", filename);
+ return 0;
+ }
+ check_access(f, filename);
+
+ ret = scan_authfile(f, client, server, secbuf, &addrs, &opts, filename);
+ fclose(f);
+ if (ret < 0)
+ return 0;
+
+ if (am_server)
+ set_allowed_addrs(unit, addrs, opts);
+ else if (opts != 0)
+ free_wordlist(opts);
+ if (addrs != 0)
+ free_wordlist(addrs);
+ }
+
+ len = strlen(secbuf);
+ if (len > MAXSECRETLEN) {
+ error("Secret for %s on %s is too long", client, server);
+ len = MAXSECRETLEN;
+ }
+ BCOPY(secbuf, secret, len);
+ BZERO(secbuf, sizeof(secbuf));
+ *secret_len = len;
+
+ return 1;
+}
+
+/*
+ * set_allowed_addrs() - set the list of allowed addresses.
+ * Also looks for `--' indicating options to apply for this peer
+ * and leaves the following words in extra_options.
+ */
+static void
+set_allowed_addrs(unit, addrs, opts)
+ int unit;
+ struct wordlist *addrs;
+ struct wordlist *opts;
+{
+ int n;
+ struct wordlist *ap, **plink;
+ struct permitted_ip *ip;
+ char *ptr_word, *ptr_mask;
+ struct hostent *hp;
+ u_int32_t a, mask, offset;
+ struct ipcp_options *wo = &ipcp_wantoptions[unit];
+ u_int32_t suggested_ip = 0;
+
+ if (addresses[unit] != NULL)
+ free(addresses[unit]);
+ addresses[unit] = NULL;
+ if (extra_options != NULL)
+ free_wordlist(extra_options);
+ extra_options = opts;
+
+ /*
+ * Count the number of IP addresses given.
+ */
+ n = wordlist_count(addrs) + wordlist_count(noauth_addrs);
+ if (n == 0)
+ return;
+ ip = (struct permitted_ip *) malloc((n + 1) * sizeof(struct permitted_ip));
+ if (ip == 0)
+ return;
+
+ /* temporarily append the noauth_addrs list to addrs */
+ for (plink = &addrs; *plink != NULL; plink = &(*plink)->next)
+ ;
+ *plink = noauth_addrs;
+
+ n = 0;
+ for (ap = addrs; ap != NULL; ap = ap->next) {
+ /* "-" means no addresses authorized, "*" means any address allowed */
+ ptr_word = ap->word;
+ if (strcmp(ptr_word, "-") == 0)
+ break;
+ if (strcmp(ptr_word, "*") == 0) {
+ ip[n].permit = 1;
+ ip[n].base = ip[n].mask = 0;
+ ++n;
+ break;
+ }
+
+ ip[n].permit = 1;
+ if (*ptr_word == '!') {
+ ip[n].permit = 0;
+ ++ptr_word;
+ }
+
+ mask = ~ (u_int32_t) 0;
+ offset = 0;
+ ptr_mask = strchr (ptr_word, '/');
+ if (ptr_mask != NULL) {
+ int bit_count;
+ char *endp;
+
+ bit_count = (int) strtol (ptr_mask+1, &endp, 10);
+ if (bit_count <= 0 || bit_count > 32) {
+ warn("invalid address length %v in auth. address list",
+ ptr_mask+1);
+ continue;
+ }
+ bit_count = 32 - bit_count; /* # bits in host part */
+ if (*endp == '+') {
+ offset = ifunit + 1;
+ ++endp;
+ }
+ if (*endp != 0) {
+ warn("invalid address length syntax: %v", ptr_mask+1);
+ continue;
+ }
+ *ptr_mask = '\0';
+ mask <<= bit_count;
+ }
+
+ hp = gethostbyname(ptr_word);
+ if (hp != NULL && hp->h_addrtype == AF_INET) {
+ a = *(u_int32_t *)hp->h_addr;
+ } else {
+ printf("*** getnetbyname is unsupported, please report bug! ***\n");
+ return;
+ }
+
+ if (ptr_mask != NULL)
+ *ptr_mask = '/';
+
+ if (a == (u_int32_t)-1L) {
+ warn("unknown host %s in auth. address list", ap->word);
+ continue;
+ }
+ if (offset != 0) {
+ if (offset >= ~mask) {
+ warn("interface unit %d too large for subnet %v",
+ ifunit, ptr_word);
+ continue;
+ }
+ a = htonl((ntohl(a) & mask) + offset);
+ mask = ~(u_int32_t)0;
+ }
+ ip[n].mask = htonl(mask);
+ ip[n].base = a & ip[n].mask;
+ ++n;
+ if (~mask == 0 && suggested_ip == 0)
+ suggested_ip = a;
+ }
+ *plink = NULL;
+
+ ip[n].permit = 0; /* make the last entry forbid all addresses */
+ ip[n].base = 0; /* to terminate the list */
+ ip[n].mask = 0;
+
+ addresses[unit] = ip;
+
+ /*
+ * If the address given for the peer isn't authorized, or if
+ * the user hasn't given one, AND there is an authorized address
+ * which is a single host, then use that if we find one.
+ */
+ if (suggested_ip != 0
+ && (wo->hisaddr == 0 || !auth_ip_addr(unit, wo->hisaddr))) {
+ wo->hisaddr = suggested_ip;
+ /*
+ * Do we insist on this address? No, if there are other
+ * addresses authorized than the suggested one.
+ */
+ if (n > 1)
+ wo->accept_remote = 1;
+ }
+}
+
+/*
+ * auth_ip_addr - check whether the peer is authorized to use
+ * a given IP address. Returns 1 if authorized, 0 otherwise.
+ */
+int
+auth_ip_addr(unit, addr)
+ int unit;
+ u_int32_t addr;
+{
+ int ok;
+
+ /* don't allow loopback or multicast address */
+ if (bad_ip_adrs(addr))
+ return 0;
+
+ if (addresses[unit] != NULL) {
+ ok = ip_addr_check(addr, addresses[unit]);
+ if (ok >= 0)
+ return ok;
+ }
+ if (auth_required)
+ return 0; /* no addresses authorized */
+ return allow_any_ip || privileged || !have_route_to(addr);
+}
+
+static int
+ip_addr_check(addr, addrs)
+ u_int32_t addr;
+ struct permitted_ip *addrs;
+{
+ for (; ; ++addrs)
+ if ((addr & addrs->mask) == addrs->base)
+ return addrs->permit;
+}
+
+/*
+ * bad_ip_adrs - return 1 if the IP address is one we don't want
+ * to use, such as an address in the loopback net or a multicast address.
+ * addr is in network byte order.
+ */
+int
+bad_ip_adrs(addr)
+ u_int32_t addr;
+{
+ addr = ntohl(addr);
+ return (addr >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET
+ || IN_MULTICAST(addr) || IN_BADCLASS(addr);
+}
+
+/*
+ * some_ip_ok - check a wordlist to see if it authorizes any
+ * IP address(es).
+ */
+static int
+some_ip_ok(addrs)
+ struct wordlist *addrs;
+{
+ for (; addrs != 0; addrs = addrs->next) {
+ if (addrs->word[0] == '-')
+ break;
+ if (addrs->word[0] != '!')
+ return 1; /* some IP address is allowed */
+ }
+ return 0;
+}
+
+/*
+ * check_access - complain if a secret file has too-liberal permissions.
+ */
+static void
+check_access(f, filename)
+ FILE *f;
+ char *filename;
+{
+ struct stat sbuf;
+
+ if (fstat(fileno(f), &sbuf) < 0) {
+ warn("cannot stat secret file %s: %m", filename);
+ } else if ((sbuf.st_mode & (S_IRWXG | S_IRWXO)) != 0) {
+ warn("Warning - secret file %s has world and/or group access",
+ filename);
+ }
+}
+
+
+/*
+ * scan_authfile - Scan an authorization file for a secret suitable
+ * for authenticating `client' on `server'. The return value is -1
+ * if no secret is found, otherwise >= 0. The return value has
+ * NONWILD_CLIENT set if the secret didn't have "*" for the client, and
+ * NONWILD_SERVER set if the secret didn't have "*" for the server.
+ * Any following words on the line up to a "--" (i.e. address authorization
+ * info) are placed in a wordlist and returned in *addrs. Any
+ * following words (extra options) are placed in a wordlist and
+ * returned in *opts.
+ * We assume secret is NULL or points to MAXWORDLEN bytes of space.
+ */
+static int
+scan_authfile(f, client, server, secret, addrs, opts, filename)
+ FILE *f;
+ char *client;
+ char *server;
+ char *secret;
+ struct wordlist **addrs;
+ struct wordlist **opts;
+ char *filename;
+{
+ int newline, xxx;
+ int got_flag, best_flag;
+ FILE *sf;
+ struct wordlist *ap, *addr_list, *alist, **app;
+ char word[MAXWORDLEN];
+ char atfile[MAXWORDLEN];
+ char lsecret[MAXWORDLEN];
+
+ if (addrs != NULL)
+ *addrs = NULL;
+ if (opts != NULL)
+ *opts = NULL;
+ addr_list = NULL;
+ if (!getword(f, word, &newline, filename))
+ return -1; /* file is empty??? */
+ newline = 1;
+ best_flag = -1;
+ for (;;) {
+ /*
+ * Skip until we find a word at the start of a line.
+ */
+ while (!newline && getword(f, word, &newline, filename))
+ ;
+ if (!newline)
+ break; /* got to end of file */
+
+ /*
+ * Got a client - check if it's a match or a wildcard.
+ */
+ got_flag = 0;
+ if (client != NULL && strcmp(word, client) != 0 && !ISWILD(word)) {
+ newline = 0;
+ continue;
+ }
+ if (!ISWILD(word))
+ got_flag = NONWILD_CLIENT;
+
+ /*
+ * Now get a server and check if it matches.
+ */
+ if (!getword(f, word, &newline, filename))
+ break;
+ if (newline)
+ continue;
+ if (!ISWILD(word)) {
+ if (server != NULL && strcmp(word, server) != 0)
+ continue;
+ got_flag |= NONWILD_SERVER;
+ }
+
+ /*
+ * Got some sort of a match - see if it's better than what
+ * we have already.
+ */
+ if (got_flag <= best_flag)
+ continue;
+
+ /*
+ * Get the secret.
+ */
+ if (!getword(f, word, &newline, filename))
+ break;
+ if (newline)
+ continue;
+
+ if (secret != NULL) {
+ /*
+ * Special syntax: @/pathname means read secret from file.
+ */
+ if (word[0] == '@' && word[1] == '/') {
+ strlcpy(atfile, word+1, sizeof(atfile));
+ if ((sf = fopen(atfile, "r")) == NULL) {
+ warn("can't open indirect secret file %s", atfile);
+ continue;
+ }
+ check_access(sf, atfile);
+ if (!getword(sf, word, &xxx, atfile)) {
+ warn("no secret in indirect secret file %s", atfile);
+ fclose(sf);
+ continue;
+ }
+ fclose(sf);
+ }
+ strlcpy(lsecret, word, sizeof(lsecret));
+ }
+
+ /*
+ * Now read address authorization info and make a wordlist.
+ */
+ app = &alist;
+ for (;;) {
+ if (!getword(f, word, &newline, filename) || newline)
+ break;
+ ap = (struct wordlist *)
+ malloc(sizeof(struct wordlist) + strlen(word) + 1);
+ if (ap == NULL)
+ novm("authorized addresses");
+ ap->word = (char *) (ap + 1);
+ strcpy(ap->word, word);
+ *app = ap;
+ app = &ap->next;
+ }
+ *app = NULL;
+
+ /*
+ * This is the best so far; remember it.
+ */
+ best_flag = got_flag;
+ if (addr_list)
+ free_wordlist(addr_list);
+ addr_list = alist;
+ if (secret != NULL)
+ strlcpy(secret, lsecret, MAXWORDLEN);
+
+ if (!newline)
+ break;
+ }
+
+ /* scan for a -- word indicating the start of options */
+ for (app = &addr_list; (ap = *app) != NULL; app = &ap->next)
+ if (strcmp(ap->word, "--") == 0)
+ break;
+ /* ap = start of options */
+ if (ap != NULL) {
+ ap = ap->next; /* first option */
+ free(*app); /* free the "--" word */
+ *app = NULL; /* terminate addr list */
+ }
+ if (opts != NULL)
+ *opts = ap;
+ else if (ap != NULL)
+ free_wordlist(ap);
+ if (addrs != NULL)
+ *addrs = addr_list;
+ else if (addr_list != NULL)
+ free_wordlist(addr_list);
+
+ return best_flag;
+}
+
+/*
+ * wordlist_count - return the number of items in a wordlist
+ */
+static int
+wordlist_count(wp)
+ struct wordlist *wp;
+{
+ int n;
+
+ for (n = 0; wp != NULL; wp = wp->next)
+ ++n;
+ return n;
+}
+
+/*
+ * free_wordlist - release memory allocated for a wordlist.
+ */
+static void
+free_wordlist(wp)
+ struct wordlist *wp;
+{
+ struct wordlist *next;
+
+ while (wp != NULL) {
+ next = wp->next;
+ free(wp);
+ wp = next;
+ }
+}
+
+/*
+ * auth_script_done - called when the auth-up or auth-down script
+ * has finished.
+ */
+static void
+auth_script_done(arg)
+ void *arg;
+{
+ auth_script_pid = 0;
+ switch (auth_script_state) {
+ case s_up:
+ if (auth_state == s_down) {
+ auth_script_state = s_down;
+ auth_script(_PATH_AUTHDOWN);
+ }
+ break;
+ case s_down:
+ if (auth_state == s_up) {
+ auth_script_state = s_up;
+ auth_script(_PATH_AUTHUP);
+ }
+ break;
+ }
+}
+
+/*
+ * auth_script - execute a script with arguments
+ * interface-name peer-name real-user tty speed
+ */
+static void
+auth_script(script)
+ char *script;
+{
+ char strspeed[32];
+ struct passwd *pw;
+ char struid[32];
+ char *user_name;
+ char *argv[8];
+
+ if ((pw = getpwuid(getuid())) != NULL && pw->pw_name != NULL)
+ user_name = pw->pw_name;
+ else {
+ slprintf(struid, sizeof(struid), "%d", getuid());
+ user_name = struid;
+ }
+ slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
+
+ argv[0] = script;
+ argv[1] = ifname;
+ argv[2] = peer_authname;
+ argv[3] = user_name;
+ argv[4] = devnam;
+ argv[5] = strspeed;
+ argv[6] = NULL;
+
+ auth_script_pid = run_program(script, argv, 0, auth_script_done, NULL);
+}
diff --git a/mdk-stage1/ppp/pppd/cbcp.c b/mdk-stage1/ppp/pppd/cbcp.c
new file mode 100644
index 000000000..2257ae809
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/cbcp.c
@@ -0,0 +1,456 @@
+/*
+ * cbcp - Call Back Configuration Protocol.
+ *
+ * Copyright (c) 1995 Pedro Roque Marques
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Pedro Roque Marques. The name of the author may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: cbcp.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include "pppd.h"
+#include "cbcp.h"
+#include "fsm.h"
+#include "lcp.h"
+
+static const char rcsid[] = RCSID;
+
+/*
+ * Options.
+ */
+static int setcbcp __P((char **));
+
+static option_t cbcp_option_list[] = {
+ { "callback", o_special, setcbcp,
+ "Ask for callback", OPT_PRIO | OPT_A2STRVAL, &cbcp[0].us_number },
+ { NULL }
+};
+
+/*
+ * Protocol entry points.
+ */
+static void cbcp_init __P((int unit));
+static void cbcp_open __P((int unit));
+static void cbcp_lowerup __P((int unit));
+static void cbcp_input __P((int unit, u_char *pkt, int len));
+static void cbcp_protrej __P((int unit));
+static int cbcp_printpkt __P((u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+ void *arg));
+
+struct protent cbcp_protent = {
+ PPP_CBCP,
+ cbcp_init,
+ cbcp_input,
+ cbcp_protrej,
+ cbcp_lowerup,
+ NULL,
+ cbcp_open,
+ NULL,
+ cbcp_printpkt,
+ NULL,
+ 0,
+ "CBCP",
+ NULL,
+ cbcp_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+cbcp_state cbcp[NUM_PPP];
+
+/* internal prototypes */
+
+static void cbcp_recvreq __P((cbcp_state *us, char *pckt, int len));
+static void cbcp_resp __P((cbcp_state *us));
+static void cbcp_up __P((cbcp_state *us));
+static void cbcp_recvack __P((cbcp_state *us, char *pckt, int len));
+static void cbcp_send __P((cbcp_state *us, u_char code, u_char *buf, int len));
+
+/* option processing */
+static int
+setcbcp(argv)
+ char **argv;
+{
+ lcp_wantoptions[0].neg_cbcp = 1;
+ cbcp_protent.enabled_flag = 1;
+ cbcp[0].us_number = strdup(*argv);
+ if (cbcp[0].us_number == 0)
+ novm("callback number");
+ cbcp[0].us_type |= (1 << CB_CONF_USER);
+ cbcp[0].us_type |= (1 << CB_CONF_ADMIN);
+ return (1);
+}
+
+/* init state */
+static void
+cbcp_init(iface)
+ int iface;
+{
+ cbcp_state *us;
+
+ us = &cbcp[iface];
+ memset(us, 0, sizeof(cbcp_state));
+ us->us_unit = iface;
+ us->us_type |= (1 << CB_CONF_NO);
+}
+
+/* lower layer is up */
+static void
+cbcp_lowerup(iface)
+ int iface;
+{
+ cbcp_state *us = &cbcp[iface];
+
+ dbglog("cbcp_lowerup");
+ dbglog("want: %d", us->us_type);
+
+ if (us->us_type == CB_CONF_USER)
+ dbglog("phone no: %s", us->us_number);
+}
+
+static void
+cbcp_open(unit)
+ int unit;
+{
+ dbglog("cbcp_open");
+}
+
+/* process an incomming packet */
+static void
+cbcp_input(unit, inpacket, pktlen)
+ int unit;
+ u_char *inpacket;
+ int pktlen;
+{
+ u_char *inp;
+ u_char code, id;
+ u_short len;
+
+ cbcp_state *us = &cbcp[unit];
+
+ inp = inpacket;
+
+ if (pktlen < CBCP_MINLEN) {
+ error("CBCP packet is too small");
+ return;
+ }
+
+ GETCHAR(code, inp);
+ GETCHAR(id, inp);
+ GETSHORT(len, inp);
+
+#if 0
+ if (len > pktlen) {
+ error("CBCP packet: invalid length");
+ return;
+ }
+#endif
+
+ len -= CBCP_MINLEN;
+
+ switch(code) {
+ case CBCP_REQ:
+ us->us_id = id;
+ cbcp_recvreq(us, inp, len);
+ break;
+
+ case CBCP_RESP:
+ dbglog("CBCP_RESP received");
+ break;
+
+ case CBCP_ACK:
+ if (id != us->us_id)
+ dbglog("id doesn't match: expected %d recv %d",
+ us->us_id, id);
+
+ cbcp_recvack(us, inp, len);
+ break;
+
+ default:
+ break;
+ }
+}
+
+/* protocol was rejected by foe */
+void cbcp_protrej(int iface)
+{
+}
+
+char *cbcp_codenames[] = {
+ "Request", "Response", "Ack"
+};
+
+char *cbcp_optionnames[] = {
+ "NoCallback",
+ "UserDefined",
+ "AdminDefined",
+ "List"
+};
+
+/* pretty print a packet */
+static int
+cbcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, opt, id, len, olen, delay;
+ u_char *pstart;
+
+ if (plen < HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(cbcp_codenames) / sizeof(char *))
+ printer(arg, " %s", cbcp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+
+ switch (code) {
+ case CBCP_REQ:
+ case CBCP_RESP:
+ case CBCP_ACK:
+ while(len >= 2) {
+ GETCHAR(opt, p);
+ GETCHAR(olen, p);
+
+ if (olen < 2 || olen > len) {
+ break;
+ }
+
+ printer(arg, " <");
+ len -= olen;
+
+ if (opt >= 1 && opt <= sizeof(cbcp_optionnames) / sizeof(char *))
+ printer(arg, " %s", cbcp_optionnames[opt-1]);
+ else
+ printer(arg, " option=0x%x", opt);
+
+ if (olen > 2) {
+ GETCHAR(delay, p);
+ printer(arg, " delay = %d", delay);
+ }
+
+ if (olen > 3) {
+ int addrt;
+ char str[256];
+
+ GETCHAR(addrt, p);
+ memcpy(str, p, olen - 4);
+ str[olen - 4] = 0;
+ printer(arg, " number = %s", str);
+ }
+ printer(arg, ">");
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ for (; len > 0; --len) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+
+ return p - pstart;
+}
+
+/* received CBCP request */
+static void
+cbcp_recvreq(us, pckt, pcktlen)
+ cbcp_state *us;
+ char *pckt;
+ int pcktlen;
+{
+ u_char type, opt_len, delay, addr_type;
+ char address[256];
+ int len = pcktlen;
+
+ address[0] = 0;
+
+ while (len) {
+ dbglog("length: %d", len);
+
+ GETCHAR(type, pckt);
+ GETCHAR(opt_len, pckt);
+
+ if (opt_len > 2)
+ GETCHAR(delay, pckt);
+
+ us->us_allowed |= (1 << type);
+
+ switch(type) {
+ case CB_CONF_NO:
+ dbglog("no callback allowed");
+ break;
+
+ case CB_CONF_USER:
+ dbglog("user callback allowed");
+ if (opt_len > 4) {
+ GETCHAR(addr_type, pckt);
+ memcpy(address, pckt, opt_len - 4);
+ address[opt_len - 4] = 0;
+ if (address[0])
+ dbglog("address: %s", address);
+ }
+ break;
+
+ case CB_CONF_ADMIN:
+ dbglog("user admin defined allowed");
+ break;
+
+ case CB_CONF_LIST:
+ break;
+ }
+ len -= opt_len;
+ }
+
+ cbcp_resp(us);
+}
+
+static void
+cbcp_resp(us)
+ cbcp_state *us;
+{
+ u_char cb_type;
+ u_char buf[256];
+ u_char *bufp = buf;
+ int len = 0;
+
+ cb_type = us->us_allowed & us->us_type;
+ dbglog("cbcp_resp cb_type=%d", cb_type);
+
+#if 0
+ if (!cb_type)
+ lcp_down(us->us_unit);
+#endif
+
+ if (cb_type & ( 1 << CB_CONF_USER ) ) {
+ dbglog("cbcp_resp CONF_USER");
+ PUTCHAR(CB_CONF_USER, bufp);
+ len = 3 + 1 + strlen(us->us_number) + 1;
+ PUTCHAR(len , bufp);
+ PUTCHAR(5, bufp); /* delay */
+ PUTCHAR(1, bufp);
+ BCOPY(us->us_number, bufp, strlen(us->us_number) + 1);
+ cbcp_send(us, CBCP_RESP, buf, len);
+ return;
+ }
+
+ if (cb_type & ( 1 << CB_CONF_ADMIN ) ) {
+ dbglog("cbcp_resp CONF_ADMIN");
+ PUTCHAR(CB_CONF_ADMIN, bufp);
+ len = 3;
+ PUTCHAR(len, bufp);
+ PUTCHAR(5, bufp); /* delay */
+ cbcp_send(us, CBCP_RESP, buf, len);
+ return;
+ }
+
+ if (cb_type & ( 1 << CB_CONF_NO ) ) {
+ dbglog("cbcp_resp CONF_NO");
+ PUTCHAR(CB_CONF_NO, bufp);
+ len = 3;
+ PUTCHAR(len , bufp);
+ PUTCHAR(0, bufp);
+ cbcp_send(us, CBCP_RESP, buf, len);
+ start_networks();
+ return;
+ }
+}
+
+static void
+cbcp_send(us, code, buf, len)
+ cbcp_state *us;
+ u_char code;
+ u_char *buf;
+ int len;
+{
+ u_char *outp;
+ int outlen;
+
+ outp = outpacket_buf;
+
+ outlen = 4 + len;
+
+ MAKEHEADER(outp, PPP_CBCP);
+
+ PUTCHAR(code, outp);
+ PUTCHAR(us->us_id, outp);
+ PUTSHORT(outlen, outp);
+
+ if (len)
+ BCOPY(buf, outp, len);
+
+ output(us->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
+}
+
+static void
+cbcp_recvack(us, pckt, len)
+ cbcp_state *us;
+ char *pckt;
+ int len;
+{
+ u_char type, delay, addr_type;
+ int opt_len;
+ char address[256];
+
+ if (len) {
+ GETCHAR(type, pckt);
+ GETCHAR(opt_len, pckt);
+
+ if (opt_len > 2)
+ GETCHAR(delay, pckt);
+
+ if (opt_len > 4) {
+ GETCHAR(addr_type, pckt);
+ memcpy(address, pckt, opt_len - 4);
+ address[opt_len - 4] = 0;
+ if (address[0])
+ dbglog("peer will call: %s", address);
+ }
+ if (type == CB_CONF_NO)
+ return;
+ }
+
+ cbcp_up(us);
+}
+
+/* ok peer will do callback */
+static void
+cbcp_up(us)
+ cbcp_state *us;
+{
+ persist = 0;
+ lcp_close(0, "Call me back, please");
+ status = EXIT_CALLBACK;
+}
diff --git a/mdk-stage1/ppp/pppd/cbcp.h b/mdk-stage1/ppp/pppd/cbcp.h
new file mode 100644
index 000000000..c2ab3f689
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/cbcp.h
@@ -0,0 +1,26 @@
+#ifndef CBCP_H
+#define CBCP_H
+
+typedef struct cbcp_state {
+ int us_unit; /* Interface unit number */
+ u_char us_id; /* Current id */
+ u_char us_allowed;
+ int us_type;
+ char *us_number; /* Telefone Number */
+} cbcp_state;
+
+extern cbcp_state cbcp[];
+
+extern struct protent cbcp_protent;
+
+#define CBCP_MINLEN 4
+
+#define CBCP_REQ 1
+#define CBCP_RESP 2
+#define CBCP_ACK 3
+
+#define CB_CONF_NO 1
+#define CB_CONF_USER 2
+#define CB_CONF_ADMIN 3
+#define CB_CONF_LIST 4
+#endif
diff --git a/mdk-stage1/ppp/pppd/ccp.c b/mdk-stage1/ppp/pppd/ccp.c
new file mode 100644
index 000000000..bb6f1ea75
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ccp.c
@@ -0,0 +1,1257 @@
+/*
+ * ccp.c - PPP Compression Control Protocol.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ */
+
+#define RCSID "$Id: ccp.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ccp.h"
+#include <net/ppp-comp.h>
+
+static const char rcsid[] = RCSID;
+
+/*
+ * Unfortunately there is a bug in zlib which means that using a
+ * size of 8 (window size = 256) for Deflate compression will cause
+ * buffer overruns and kernel crashes in the deflate module.
+ * Until this is fixed we only accept sizes in the range 9 .. 15.
+ * Thanks to James Carlson for pointing this out.
+ */
+#define DEFLATE_MIN_WORKS 9
+
+/*
+ * Command-line options.
+ */
+static int setbsdcomp __P((char **));
+static int setdeflate __P((char **));
+static char bsd_value[8];
+static char deflate_value[8];
+
+static option_t ccp_option_list[] = {
+ { "noccp", o_bool, &ccp_protent.enabled_flag,
+ "Disable CCP negotiation" },
+ { "-ccp", o_bool, &ccp_protent.enabled_flag,
+ "Disable CCP negotiation", OPT_ALIAS },
+
+ { "bsdcomp", o_special, (void *)setbsdcomp,
+ "Request BSD-Compress packet compression",
+ OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, bsd_value },
+ { "nobsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
+ "don't allow BSD-Compress", OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].bsd_compress },
+ { "-bsdcomp", o_bool, &ccp_wantoptions[0].bsd_compress,
+ "don't allow BSD-Compress", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].bsd_compress },
+
+ { "deflate", o_special, (void *)setdeflate,
+ "request Deflate compression",
+ OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, deflate_value },
+ { "nodeflate", o_bool, &ccp_wantoptions[0].deflate,
+ "don't allow Deflate compression", OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].deflate },
+ { "-deflate", o_bool, &ccp_wantoptions[0].deflate,
+ "don't allow Deflate compression", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].deflate },
+
+ { "nodeflatedraft", o_bool, &ccp_wantoptions[0].deflate_draft,
+ "don't use draft deflate #", OPT_A2COPY,
+ &ccp_allowoptions[0].deflate_draft },
+
+ { "predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
+ "request Predictor-1", 1, &ccp_allowoptions[0].predictor_1, OPT_PRIO },
+ { "nopredictor1", o_bool, &ccp_wantoptions[0].predictor_1,
+ "don't allow Predictor-1", OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].predictor_1 },
+ { "-predictor1", o_bool, &ccp_wantoptions[0].predictor_1,
+ "don't allow Predictor-1", OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR,
+ &ccp_allowoptions[0].predictor_1 },
+
+ { NULL }
+};
+
+/*
+ * Protocol entry points from main code.
+ */
+static void ccp_init __P((int unit));
+static void ccp_open __P((int unit));
+static void ccp_close __P((int unit, char *));
+static void ccp_lowerup __P((int unit));
+static void ccp_lowerdown __P((int));
+static void ccp_input __P((int unit, u_char *pkt, int len));
+static void ccp_protrej __P((int unit));
+static int ccp_printpkt __P((u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+ void *arg));
+static void ccp_datainput __P((int unit, u_char *pkt, int len));
+
+struct protent ccp_protent = {
+ PPP_CCP,
+ ccp_init,
+ ccp_input,
+ ccp_protrej,
+ ccp_lowerup,
+ ccp_lowerdown,
+ ccp_open,
+ ccp_close,
+ ccp_printpkt,
+ ccp_datainput,
+ 1,
+ "CCP",
+ "Compressed",
+ ccp_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+fsm ccp_fsm[NUM_PPP];
+ccp_options ccp_wantoptions[NUM_PPP]; /* what to request the peer to use */
+ccp_options ccp_gotoptions[NUM_PPP]; /* what the peer agreed to do */
+ccp_options ccp_allowoptions[NUM_PPP]; /* what we'll agree to do */
+ccp_options ccp_hisoptions[NUM_PPP]; /* what we agreed to do */
+
+/*
+ * Callbacks for fsm code.
+ */
+static void ccp_resetci __P((fsm *));
+static int ccp_cilen __P((fsm *));
+static void ccp_addci __P((fsm *, u_char *, int *));
+static int ccp_ackci __P((fsm *, u_char *, int));
+static int ccp_nakci __P((fsm *, u_char *, int));
+static int ccp_rejci __P((fsm *, u_char *, int));
+static int ccp_reqci __P((fsm *, u_char *, int *, int));
+static void ccp_up __P((fsm *));
+static void ccp_down __P((fsm *));
+static int ccp_extcode __P((fsm *, int, int, u_char *, int));
+static void ccp_rack_timeout __P((void *));
+static char *method_name __P((ccp_options *, ccp_options *));
+
+static fsm_callbacks ccp_callbacks = {
+ ccp_resetci,
+ ccp_cilen,
+ ccp_addci,
+ ccp_ackci,
+ ccp_nakci,
+ ccp_rejci,
+ ccp_reqci,
+ ccp_up,
+ ccp_down,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ ccp_extcode,
+ "CCP"
+};
+
+/*
+ * Do we want / did we get any compression?
+ */
+#define ANY_COMPRESS(opt) ((opt).deflate || (opt).bsd_compress \
+ || (opt).predictor_1 || (opt).predictor_2)
+
+/*
+ * Local state (mainly for handling reset-reqs and reset-acks).
+ */
+static int ccp_localstate[NUM_PPP];
+#define RACK_PENDING 1 /* waiting for reset-ack */
+#define RREQ_REPEAT 2 /* send another reset-req if no reset-ack */
+
+#define RACKTIMEOUT 1 /* second */
+
+static int all_rejected[NUM_PPP]; /* we rejected all peer's options */
+
+/*
+ * Option parsing.
+ */
+static int
+setbsdcomp(argv)
+ char **argv;
+{
+ int rbits, abits;
+ char *str, *endp;
+
+ str = *argv;
+ abits = rbits = strtol(str, &endp, 0);
+ if (endp != str && *endp == ',') {
+ str = endp + 1;
+ abits = strtol(str, &endp, 0);
+ }
+ if (*endp != 0 || endp == str) {
+ option_error("invalid parameter '%s' for bsdcomp option", *argv);
+ return 0;
+ }
+ if ((rbits != 0 && (rbits < BSD_MIN_BITS || rbits > BSD_MAX_BITS))
+ || (abits != 0 && (abits < BSD_MIN_BITS || abits > BSD_MAX_BITS))) {
+ option_error("bsdcomp option values must be 0 or %d .. %d",
+ BSD_MIN_BITS, BSD_MAX_BITS);
+ return 0;
+ }
+ if (rbits > 0) {
+ ccp_wantoptions[0].bsd_compress = 1;
+ ccp_wantoptions[0].bsd_bits = rbits;
+ } else
+ ccp_wantoptions[0].bsd_compress = 0;
+ if (abits > 0) {
+ ccp_allowoptions[0].bsd_compress = 1;
+ ccp_allowoptions[0].bsd_bits = abits;
+ } else
+ ccp_allowoptions[0].bsd_compress = 0;
+ slprintf(bsd_value, sizeof(bsd_value),
+ rbits == abits? "%d": "%d,%d", rbits, abits);
+
+ return 1;
+}
+
+static int
+setdeflate(argv)
+ char **argv;
+{
+ int rbits, abits;
+ char *str, *endp;
+
+ str = *argv;
+ abits = rbits = strtol(str, &endp, 0);
+ if (endp != str && *endp == ',') {
+ str = endp + 1;
+ abits = strtol(str, &endp, 0);
+ }
+ if (*endp != 0 || endp == str) {
+ option_error("invalid parameter '%s' for deflate option", *argv);
+ return 0;
+ }
+ if ((rbits != 0 && (rbits < DEFLATE_MIN_SIZE || rbits > DEFLATE_MAX_SIZE))
+ || (abits != 0 && (abits < DEFLATE_MIN_SIZE
+ || abits > DEFLATE_MAX_SIZE))) {
+ option_error("deflate option values must be 0 or %d .. %d",
+ DEFLATE_MIN_SIZE, DEFLATE_MAX_SIZE);
+ return 0;
+ }
+ if (rbits == DEFLATE_MIN_SIZE || abits == DEFLATE_MIN_SIZE) {
+ if (rbits == DEFLATE_MIN_SIZE)
+ rbits = DEFLATE_MIN_WORKS;
+ if (abits == DEFLATE_MIN_SIZE)
+ abits = DEFLATE_MIN_WORKS;
+ warn("deflate option value of %d changed to %d to avoid zlib bug",
+ DEFLATE_MIN_SIZE, DEFLATE_MIN_WORKS);
+ }
+ if (rbits > 0) {
+ ccp_wantoptions[0].deflate = 1;
+ ccp_wantoptions[0].deflate_size = rbits;
+ } else
+ ccp_wantoptions[0].deflate = 0;
+ if (abits > 0) {
+ ccp_allowoptions[0].deflate = 1;
+ ccp_allowoptions[0].deflate_size = abits;
+ } else
+ ccp_allowoptions[0].deflate = 0;
+ slprintf(deflate_value, sizeof(deflate_value),
+ rbits == abits? "%d": "%d,%d", rbits, abits);
+
+ return 1;
+}
+
+/*
+ * ccp_init - initialize CCP.
+ */
+static void
+ccp_init(unit)
+ int unit;
+{
+ fsm *f = &ccp_fsm[unit];
+
+ f->unit = unit;
+ f->protocol = PPP_CCP;
+ f->callbacks = &ccp_callbacks;
+ fsm_init(f);
+
+ memset(&ccp_wantoptions[unit], 0, sizeof(ccp_options));
+ memset(&ccp_gotoptions[unit], 0, sizeof(ccp_options));
+ memset(&ccp_allowoptions[unit], 0, sizeof(ccp_options));
+ memset(&ccp_hisoptions[unit], 0, sizeof(ccp_options));
+
+ ccp_wantoptions[0].deflate = 1;
+ ccp_wantoptions[0].deflate_size = DEFLATE_MAX_SIZE;
+ ccp_wantoptions[0].deflate_correct = 1;
+ ccp_wantoptions[0].deflate_draft = 1;
+ ccp_allowoptions[0].deflate = 1;
+ ccp_allowoptions[0].deflate_size = DEFLATE_MAX_SIZE;
+ ccp_allowoptions[0].deflate_correct = 1;
+ ccp_allowoptions[0].deflate_draft = 1;
+
+ ccp_wantoptions[0].bsd_compress = 1;
+ ccp_wantoptions[0].bsd_bits = BSD_MAX_BITS;
+ ccp_allowoptions[0].bsd_compress = 1;
+ ccp_allowoptions[0].bsd_bits = BSD_MAX_BITS;
+
+ ccp_allowoptions[0].predictor_1 = 1;
+}
+
+/*
+ * ccp_open - CCP is allowed to come up.
+ */
+static void
+ccp_open(unit)
+ int unit;
+{
+ fsm *f = &ccp_fsm[unit];
+
+ if (f->state != OPENED)
+ ccp_flags_set(unit, 1, 0);
+
+ /*
+ * Find out which compressors the kernel supports before
+ * deciding whether to open in silent mode.
+ */
+ ccp_resetci(f);
+ if (!ANY_COMPRESS(ccp_gotoptions[unit]))
+ f->flags |= OPT_SILENT;
+
+ fsm_open(f);
+}
+
+/*
+ * ccp_close - Terminate CCP.
+ */
+static void
+ccp_close(unit, reason)
+ int unit;
+ char *reason;
+{
+ ccp_flags_set(unit, 0, 0);
+ fsm_close(&ccp_fsm[unit], reason);
+}
+
+/*
+ * ccp_lowerup - we may now transmit CCP packets.
+ */
+static void
+ccp_lowerup(unit)
+ int unit;
+{
+ fsm_lowerup(&ccp_fsm[unit]);
+}
+
+/*
+ * ccp_lowerdown - we may not transmit CCP packets.
+ */
+static void
+ccp_lowerdown(unit)
+ int unit;
+{
+ fsm_lowerdown(&ccp_fsm[unit]);
+}
+
+/*
+ * ccp_input - process a received CCP packet.
+ */
+static void
+ccp_input(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ fsm *f = &ccp_fsm[unit];
+ int oldstate;
+
+ /*
+ * Check for a terminate-request so we can print a message.
+ */
+ oldstate = f->state;
+ fsm_input(f, p, len);
+ if (oldstate == OPENED && p[0] == TERMREQ && f->state != OPENED)
+ notice("Compression disabled by peer.");
+
+ /*
+ * If we get a terminate-ack and we're not asking for compression,
+ * close CCP.
+ */
+ if (oldstate == REQSENT && p[0] == TERMACK
+ && !ANY_COMPRESS(ccp_gotoptions[unit]))
+ ccp_close(unit, "No compression negotiated");
+}
+
+/*
+ * Handle a CCP-specific code.
+ */
+static int
+ccp_extcode(f, code, id, p, len)
+ fsm *f;
+ int code, id;
+ u_char *p;
+ int len;
+{
+ switch (code) {
+ case CCP_RESETREQ:
+ if (f->state != OPENED)
+ break;
+ /* send a reset-ack, which the transmitter will see and
+ reset its compression state. */
+ fsm_sdata(f, CCP_RESETACK, id, NULL, 0);
+ break;
+
+ case CCP_RESETACK:
+ if (ccp_localstate[f->unit] & RACK_PENDING && id == f->reqid) {
+ ccp_localstate[f->unit] &= ~(RACK_PENDING | RREQ_REPEAT);
+ UNTIMEOUT(ccp_rack_timeout, f);
+ }
+ break;
+
+ default:
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * ccp_protrej - peer doesn't talk CCP.
+ */
+static void
+ccp_protrej(unit)
+ int unit;
+{
+ ccp_flags_set(unit, 0, 0);
+ fsm_lowerdown(&ccp_fsm[unit]);
+}
+
+/*
+ * ccp_resetci - initialize at start of negotiation.
+ */
+static void
+ccp_resetci(f)
+ fsm *f;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ u_char opt_buf[16];
+
+ *go = ccp_wantoptions[f->unit];
+ all_rejected[f->unit] = 0;
+
+ /*
+ * Check whether the kernel knows about the various
+ * compression methods we might request.
+ */
+ if (go->bsd_compress) {
+ opt_buf[0] = CI_BSD_COMPRESS;
+ opt_buf[1] = CILEN_BSD_COMPRESS;
+ opt_buf[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, BSD_MIN_BITS);
+ if (ccp_test(f->unit, opt_buf, CILEN_BSD_COMPRESS, 0) <= 0)
+ go->bsd_compress = 0;
+ }
+ if (go->deflate) {
+ if (go->deflate_correct) {
+ opt_buf[0] = CI_DEFLATE;
+ opt_buf[1] = CILEN_DEFLATE;
+ opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
+ opt_buf[3] = DEFLATE_CHK_SEQUENCE;
+ if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
+ go->deflate_correct = 0;
+ }
+ if (go->deflate_draft) {
+ opt_buf[0] = CI_DEFLATE_DRAFT;
+ opt_buf[1] = CILEN_DEFLATE;
+ opt_buf[2] = DEFLATE_MAKE_OPT(DEFLATE_MIN_WORKS);
+ opt_buf[3] = DEFLATE_CHK_SEQUENCE;
+ if (ccp_test(f->unit, opt_buf, CILEN_DEFLATE, 0) <= 0)
+ go->deflate_draft = 0;
+ }
+ if (!go->deflate_correct && !go->deflate_draft)
+ go->deflate = 0;
+ }
+ if (go->predictor_1) {
+ opt_buf[0] = CI_PREDICTOR_1;
+ opt_buf[1] = CILEN_PREDICTOR_1;
+ if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_1, 0) <= 0)
+ go->predictor_1 = 0;
+ }
+ if (go->predictor_2) {
+ opt_buf[0] = CI_PREDICTOR_2;
+ opt_buf[1] = CILEN_PREDICTOR_2;
+ if (ccp_test(f->unit, opt_buf, CILEN_PREDICTOR_2, 0) <= 0)
+ go->predictor_2 = 0;
+ }
+}
+
+/*
+ * ccp_cilen - Return total length of our configuration info.
+ */
+static int
+ccp_cilen(f)
+ fsm *f;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+
+ return (go->bsd_compress? CILEN_BSD_COMPRESS: 0)
+ + (go->deflate? CILEN_DEFLATE: 0)
+ + (go->predictor_1? CILEN_PREDICTOR_1: 0)
+ + (go->predictor_2? CILEN_PREDICTOR_2: 0);
+}
+
+/*
+ * ccp_addci - put our requests in a packet.
+ */
+static void
+ccp_addci(f, p, lenp)
+ fsm *f;
+ u_char *p;
+ int *lenp;
+{
+ int res;
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ u_char *p0 = p;
+
+ /*
+ * Add the compression types that we can receive, in decreasing
+ * preference order. Get the kernel to allocate the first one
+ * in case it gets Acked.
+ */
+ if (go->deflate) {
+ p[0] = go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT;
+ p[1] = CILEN_DEFLATE;
+ p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
+ p[3] = DEFLATE_CHK_SEQUENCE;
+ for (;;) {
+ res = ccp_test(f->unit, p, CILEN_DEFLATE, 0);
+ if (res > 0) {
+ p += CILEN_DEFLATE;
+ break;
+ }
+ if (res < 0 || go->deflate_size <= DEFLATE_MIN_WORKS) {
+ go->deflate = 0;
+ break;
+ }
+ --go->deflate_size;
+ p[2] = DEFLATE_MAKE_OPT(go->deflate_size);
+ }
+ if (p != p0 && go->deflate_correct && go->deflate_draft) {
+ p[0] = CI_DEFLATE_DRAFT;
+ p[1] = CILEN_DEFLATE;
+ p[2] = p[2 - CILEN_DEFLATE];
+ p[3] = DEFLATE_CHK_SEQUENCE;
+ p += CILEN_DEFLATE;
+ }
+ }
+ if (go->bsd_compress) {
+ p[0] = CI_BSD_COMPRESS;
+ p[1] = CILEN_BSD_COMPRESS;
+ p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
+ if (p != p0) {
+ p += CILEN_BSD_COMPRESS; /* not the first option */
+ } else {
+ for (;;) {
+ res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 0);
+ if (res > 0) {
+ p += CILEN_BSD_COMPRESS;
+ break;
+ }
+ if (res < 0 || go->bsd_bits <= BSD_MIN_BITS) {
+ go->bsd_compress = 0;
+ break;
+ }
+ --go->bsd_bits;
+ p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits);
+ }
+ }
+ }
+ /* XXX Should Predictor 2 be preferable to Predictor 1? */
+ if (go->predictor_1) {
+ p[0] = CI_PREDICTOR_1;
+ p[1] = CILEN_PREDICTOR_1;
+ if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 0) <= 0) {
+ go->predictor_1 = 0;
+ } else {
+ p += CILEN_PREDICTOR_1;
+ }
+ }
+ if (go->predictor_2) {
+ p[0] = CI_PREDICTOR_2;
+ p[1] = CILEN_PREDICTOR_2;
+ if (p == p0 && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 0) <= 0) {
+ go->predictor_2 = 0;
+ } else {
+ p += CILEN_PREDICTOR_2;
+ }
+ }
+
+ go->method = (p > p0)? p0[0]: -1;
+
+ *lenp = p - p0;
+}
+
+/*
+ * ccp_ackci - process a received configure-ack, and return
+ * 1 iff the packet was OK.
+ */
+static int
+ccp_ackci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ u_char *p0 = p;
+
+ if (go->deflate) {
+ if (len < CILEN_DEFLATE
+ || p[0] != (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
+ || p[1] != CILEN_DEFLATE
+ || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
+ || p[3] != DEFLATE_CHK_SEQUENCE)
+ return 0;
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ /* XXX Cope with first/fast ack */
+ if (len == 0)
+ return 1;
+ if (go->deflate_correct && go->deflate_draft) {
+ if (len < CILEN_DEFLATE
+ || p[0] != CI_DEFLATE_DRAFT
+ || p[1] != CILEN_DEFLATE
+ || p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
+ || p[3] != DEFLATE_CHK_SEQUENCE)
+ return 0;
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ }
+ }
+ if (go->bsd_compress) {
+ if (len < CILEN_BSD_COMPRESS
+ || p[0] != CI_BSD_COMPRESS || p[1] != CILEN_BSD_COMPRESS
+ || p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
+ return 0;
+ p += CILEN_BSD_COMPRESS;
+ len -= CILEN_BSD_COMPRESS;
+ /* XXX Cope with first/fast ack */
+ if (p == p0 && len == 0)
+ return 1;
+ }
+ if (go->predictor_1) {
+ if (len < CILEN_PREDICTOR_1
+ || p[0] != CI_PREDICTOR_1 || p[1] != CILEN_PREDICTOR_1)
+ return 0;
+ p += CILEN_PREDICTOR_1;
+ len -= CILEN_PREDICTOR_1;
+ /* XXX Cope with first/fast ack */
+ if (p == p0 && len == 0)
+ return 1;
+ }
+ if (go->predictor_2) {
+ if (len < CILEN_PREDICTOR_2
+ || p[0] != CI_PREDICTOR_2 || p[1] != CILEN_PREDICTOR_2)
+ return 0;
+ p += CILEN_PREDICTOR_2;
+ len -= CILEN_PREDICTOR_2;
+ /* XXX Cope with first/fast ack */
+ if (p == p0 && len == 0)
+ return 1;
+ }
+
+ if (len != 0)
+ return 0;
+ return 1;
+}
+
+/*
+ * ccp_nakci - process received configure-nak.
+ * Returns 1 iff the nak was OK.
+ */
+static int
+ccp_nakci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ ccp_options no; /* options we've seen already */
+ ccp_options try; /* options to ask for next time */
+
+ memset(&no, 0, sizeof(no));
+ try = *go;
+
+ if (go->deflate && len >= CILEN_DEFLATE
+ && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
+ && p[1] == CILEN_DEFLATE) {
+ no.deflate = 1;
+ /*
+ * Peer wants us to use a different code size or something.
+ * Stop asking for Deflate if we don't understand his suggestion.
+ */
+ if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
+ || DEFLATE_SIZE(p[2]) < DEFLATE_MIN_WORKS
+ || p[3] != DEFLATE_CHK_SEQUENCE)
+ try.deflate = 0;
+ else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
+ try.deflate_size = DEFLATE_SIZE(p[2]);
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ if (go->deflate_correct && go->deflate_draft
+ && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
+ && p[1] == CILEN_DEFLATE) {
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ }
+ }
+
+ if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
+ && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
+ no.bsd_compress = 1;
+ /*
+ * Peer wants us to use a different number of bits
+ * or a different version.
+ */
+ if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION)
+ try.bsd_compress = 0;
+ else if (BSD_NBITS(p[2]) < go->bsd_bits)
+ try.bsd_bits = BSD_NBITS(p[2]);
+ p += CILEN_BSD_COMPRESS;
+ len -= CILEN_BSD_COMPRESS;
+ }
+
+ /*
+ * Predictor-1 and 2 have no options, so they can't be Naked.
+ *
+ * There may be remaining options but we ignore them.
+ */
+
+ if (f->state != OPENED)
+ *go = try;
+ return 1;
+}
+
+/*
+ * ccp_rejci - reject some of our suggested compression methods.
+ */
+static int
+ccp_rejci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ ccp_options try; /* options to request next time */
+
+ try = *go;
+
+ /*
+ * Cope with empty configure-rejects by ceasing to send
+ * configure-requests.
+ */
+ if (len == 0 && all_rejected[f->unit])
+ return -1;
+
+ if (go->deflate && len >= CILEN_DEFLATE
+ && p[0] == (go->deflate_correct? CI_DEFLATE: CI_DEFLATE_DRAFT)
+ && p[1] == CILEN_DEFLATE) {
+ if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
+ || p[3] != DEFLATE_CHK_SEQUENCE)
+ return 0; /* Rej is bad */
+ if (go->deflate_correct)
+ try.deflate_correct = 0;
+ else
+ try.deflate_draft = 0;
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ if (go->deflate_correct && go->deflate_draft
+ && len >= CILEN_DEFLATE && p[0] == CI_DEFLATE_DRAFT
+ && p[1] == CILEN_DEFLATE) {
+ if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
+ || p[3] != DEFLATE_CHK_SEQUENCE)
+ return 0; /* Rej is bad */
+ try.deflate_draft = 0;
+ p += CILEN_DEFLATE;
+ len -= CILEN_DEFLATE;
+ }
+ if (!try.deflate_correct && !try.deflate_draft)
+ try.deflate = 0;
+ }
+ if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
+ && p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
+ if (p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
+ return 0;
+ try.bsd_compress = 0;
+ p += CILEN_BSD_COMPRESS;
+ len -= CILEN_BSD_COMPRESS;
+ }
+ if (go->predictor_1 && len >= CILEN_PREDICTOR_1
+ && p[0] == CI_PREDICTOR_1 && p[1] == CILEN_PREDICTOR_1) {
+ try.predictor_1 = 0;
+ p += CILEN_PREDICTOR_1;
+ len -= CILEN_PREDICTOR_1;
+ }
+ if (go->predictor_2 && len >= CILEN_PREDICTOR_2
+ && p[0] == CI_PREDICTOR_2 && p[1] == CILEN_PREDICTOR_2) {
+ try.predictor_2 = 0;
+ p += CILEN_PREDICTOR_2;
+ len -= CILEN_PREDICTOR_2;
+ }
+
+ if (len != 0)
+ return 0;
+
+ if (f->state != OPENED)
+ *go = try;
+
+ return 1;
+}
+
+/*
+ * ccp_reqci - processed a received configure-request.
+ * Returns CONFACK, CONFNAK or CONFREJ and the packet modified
+ * appropriately.
+ */
+static int
+ccp_reqci(f, p, lenp, dont_nak)
+ fsm *f;
+ u_char *p;
+ int *lenp;
+ int dont_nak;
+{
+ int ret, newret, res;
+ u_char *p0, *retp;
+ int len, clen, type, nb;
+ ccp_options *ho = &ccp_hisoptions[f->unit];
+ ccp_options *ao = &ccp_allowoptions[f->unit];
+
+ ret = CONFACK;
+ retp = p0 = p;
+ len = *lenp;
+
+ memset(ho, 0, sizeof(ccp_options));
+ ho->method = (len > 0)? p[0]: -1;
+
+ while (len > 0) {
+ newret = CONFACK;
+ if (len < 2 || p[1] < 2 || p[1] > len) {
+ /* length is bad */
+ clen = len;
+ newret = CONFREJ;
+
+ } else {
+ type = p[0];
+ clen = p[1];
+
+ switch (type) {
+ case CI_DEFLATE:
+ case CI_DEFLATE_DRAFT:
+ if (!ao->deflate || clen != CILEN_DEFLATE
+ || (!ao->deflate_correct && type == CI_DEFLATE)
+ || (!ao->deflate_draft && type == CI_DEFLATE_DRAFT)) {
+ newret = CONFREJ;
+ break;
+ }
+
+ ho->deflate = 1;
+ ho->deflate_size = nb = DEFLATE_SIZE(p[2]);
+ if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
+ || p[3] != DEFLATE_CHK_SEQUENCE
+ || nb > ao->deflate_size || nb < DEFLATE_MIN_WORKS) {
+ newret = CONFNAK;
+ if (!dont_nak) {
+ p[2] = DEFLATE_MAKE_OPT(ao->deflate_size);
+ p[3] = DEFLATE_CHK_SEQUENCE;
+ /* fall through to test this #bits below */
+ } else
+ break;
+ }
+
+ /*
+ * Check whether we can do Deflate with the window
+ * size they want. If the window is too big, reduce
+ * it until the kernel can cope and nak with that.
+ * We only check this for the first option.
+ */
+ if (p == p0) {
+ for (;;) {
+ res = ccp_test(f->unit, p, CILEN_DEFLATE, 1);
+ if (res > 0)
+ break; /* it's OK now */
+ if (res < 0 || nb == DEFLATE_MIN_WORKS || dont_nak) {
+ newret = CONFREJ;
+ p[2] = DEFLATE_MAKE_OPT(ho->deflate_size);
+ break;
+ }
+ newret = CONFNAK;
+ --nb;
+ p[2] = DEFLATE_MAKE_OPT(nb);
+ }
+ }
+ break;
+
+ case CI_BSD_COMPRESS:
+ if (!ao->bsd_compress || clen != CILEN_BSD_COMPRESS) {
+ newret = CONFREJ;
+ break;
+ }
+
+ ho->bsd_compress = 1;
+ ho->bsd_bits = nb = BSD_NBITS(p[2]);
+ if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION
+ || nb > ao->bsd_bits || nb < BSD_MIN_BITS) {
+ newret = CONFNAK;
+ if (!dont_nak) {
+ p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, ao->bsd_bits);
+ /* fall through to test this #bits below */
+ } else
+ break;
+ }
+
+ /*
+ * Check whether we can do BSD-Compress with the code
+ * size they want. If the code size is too big, reduce
+ * it until the kernel can cope and nak with that.
+ * We only check this for the first option.
+ */
+ if (p == p0) {
+ for (;;) {
+ res = ccp_test(f->unit, p, CILEN_BSD_COMPRESS, 1);
+ if (res > 0)
+ break;
+ if (res < 0 || nb == BSD_MIN_BITS || dont_nak) {
+ newret = CONFREJ;
+ p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION,
+ ho->bsd_bits);
+ break;
+ }
+ newret = CONFNAK;
+ --nb;
+ p[2] = BSD_MAKE_OPT(BSD_CURRENT_VERSION, nb);
+ }
+ }
+ break;
+
+ case CI_PREDICTOR_1:
+ if (!ao->predictor_1 || clen != CILEN_PREDICTOR_1) {
+ newret = CONFREJ;
+ break;
+ }
+
+ ho->predictor_1 = 1;
+ if (p == p0
+ && ccp_test(f->unit, p, CILEN_PREDICTOR_1, 1) <= 0) {
+ newret = CONFREJ;
+ }
+ break;
+
+ case CI_PREDICTOR_2:
+ if (!ao->predictor_2 || clen != CILEN_PREDICTOR_2) {
+ newret = CONFREJ;
+ break;
+ }
+
+ ho->predictor_2 = 1;
+ if (p == p0
+ && ccp_test(f->unit, p, CILEN_PREDICTOR_2, 1) <= 0) {
+ newret = CONFREJ;
+ }
+ break;
+
+ default:
+ newret = CONFREJ;
+ }
+ }
+
+ if (newret == CONFNAK && dont_nak)
+ newret = CONFREJ;
+ if (!(newret == CONFACK || (newret == CONFNAK && ret == CONFREJ))) {
+ /* we're returning this option */
+ if (newret == CONFREJ && ret == CONFNAK)
+ retp = p0;
+ ret = newret;
+ if (p != retp)
+ BCOPY(p, retp, clen);
+ retp += clen;
+ }
+
+ p += clen;
+ len -= clen;
+ }
+
+ if (ret != CONFACK) {
+ if (ret == CONFREJ && *lenp == retp - p0)
+ all_rejected[f->unit] = 1;
+ else
+ *lenp = retp - p0;
+ }
+ return ret;
+}
+
+/*
+ * Make a string name for a compression method (or 2).
+ */
+static char *
+method_name(opt, opt2)
+ ccp_options *opt, *opt2;
+{
+ static char result[64];
+
+ if (!ANY_COMPRESS(*opt))
+ return "(none)";
+ switch (opt->method) {
+ case CI_DEFLATE:
+ case CI_DEFLATE_DRAFT:
+ if (opt2 != NULL && opt2->deflate_size != opt->deflate_size)
+ slprintf(result, sizeof(result), "Deflate%s (%d/%d)",
+ (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
+ opt->deflate_size, opt2->deflate_size);
+ else
+ slprintf(result, sizeof(result), "Deflate%s (%d)",
+ (opt->method == CI_DEFLATE_DRAFT? "(old#)": ""),
+ opt->deflate_size);
+ break;
+ case CI_BSD_COMPRESS:
+ if (opt2 != NULL && opt2->bsd_bits != opt->bsd_bits)
+ slprintf(result, sizeof(result), "BSD-Compress (%d/%d)",
+ opt->bsd_bits, opt2->bsd_bits);
+ else
+ slprintf(result, sizeof(result), "BSD-Compress (%d)",
+ opt->bsd_bits);
+ break;
+ case CI_PREDICTOR_1:
+ return "Predictor 1";
+ case CI_PREDICTOR_2:
+ return "Predictor 2";
+ default:
+ slprintf(result, sizeof(result), "Method %d", opt->method);
+ }
+ return result;
+}
+
+/*
+ * CCP has come up - inform the kernel driver and log a message.
+ */
+static void
+ccp_up(f)
+ fsm *f;
+{
+ ccp_options *go = &ccp_gotoptions[f->unit];
+ ccp_options *ho = &ccp_hisoptions[f->unit];
+ char method1[64];
+
+ ccp_flags_set(f->unit, 1, 1);
+ if (ANY_COMPRESS(*go)) {
+ if (ANY_COMPRESS(*ho)) {
+ if (go->method == ho->method) {
+ notice("%s compression enabled", method_name(go, ho));
+ } else {
+ strlcpy(method1, method_name(go, NULL), sizeof(method1));
+ notice("%s / %s compression enabled",
+ method1, method_name(ho, NULL));
+ }
+ } else
+ notice("%s receive compression enabled", method_name(go, NULL));
+ } else if (ANY_COMPRESS(*ho))
+ notice("%s transmit compression enabled", method_name(ho, NULL));
+}
+
+/*
+ * CCP has gone down - inform the kernel driver.
+ */
+static void
+ccp_down(f)
+ fsm *f;
+{
+ if (ccp_localstate[f->unit] & RACK_PENDING)
+ UNTIMEOUT(ccp_rack_timeout, f);
+ ccp_localstate[f->unit] = 0;
+ ccp_flags_set(f->unit, 1, 0);
+}
+
+/*
+ * Print the contents of a CCP packet.
+ */
+static char *ccp_codenames[] = {
+ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
+ "TermReq", "TermAck", "CodeRej",
+ NULL, NULL, NULL, NULL, NULL, NULL,
+ "ResetReq", "ResetAck",
+};
+
+static int
+ccp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ u_char *p0, *optend;
+ int code, id, len;
+ int optlen;
+
+ p0 = p;
+ if (plen < HEADERLEN)
+ return 0;
+ code = p[0];
+ id = p[1];
+ len = (p[2] << 8) + p[3];
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(ccp_codenames) / sizeof(char *)
+ && ccp_codenames[code-1] != NULL)
+ printer(arg, " %s", ccp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+ p += HEADERLEN;
+
+ switch (code) {
+ case CONFREQ:
+ case CONFACK:
+ case CONFNAK:
+ case CONFREJ:
+ /* print list of possible compression methods */
+ while (len >= 2) {
+ code = p[0];
+ optlen = p[1];
+ if (optlen < 2 || optlen > len)
+ break;
+ printer(arg, " <");
+ len -= optlen;
+ optend = p + optlen;
+ switch (code) {
+ case CI_DEFLATE:
+ case CI_DEFLATE_DRAFT:
+ if (optlen >= CILEN_DEFLATE) {
+ printer(arg, "deflate%s %d",
+ (code == CI_DEFLATE_DRAFT? "(old#)": ""),
+ DEFLATE_SIZE(p[2]));
+ if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL)
+ printer(arg, " method %d", DEFLATE_METHOD(p[2]));
+ if (p[3] != DEFLATE_CHK_SEQUENCE)
+ printer(arg, " check %d", p[3]);
+ p += CILEN_DEFLATE;
+ }
+ break;
+ case CI_BSD_COMPRESS:
+ if (optlen >= CILEN_BSD_COMPRESS) {
+ printer(arg, "bsd v%d %d", BSD_VERSION(p[2]),
+ BSD_NBITS(p[2]));
+ p += CILEN_BSD_COMPRESS;
+ }
+ break;
+ case CI_PREDICTOR_1:
+ if (optlen >= CILEN_PREDICTOR_1) {
+ printer(arg, "predictor 1");
+ p += CILEN_PREDICTOR_1;
+ }
+ break;
+ case CI_PREDICTOR_2:
+ if (optlen >= CILEN_PREDICTOR_2) {
+ printer(arg, "predictor 2");
+ p += CILEN_PREDICTOR_2;
+ }
+ break;
+ }
+ while (p < optend)
+ printer(arg, " %.2x", *p++);
+ printer(arg, ">");
+ }
+ break;
+
+ case TERMACK:
+ case TERMREQ:
+ if (len > 0 && *p >= ' ' && *p < 0x7f) {
+ print_string((char *)p, len, printer, arg);
+ p += len;
+ len = 0;
+ }
+ break;
+ }
+
+ /* dump out the rest of the packet in hex */
+ while (--len >= 0)
+ printer(arg, " %.2x", *p++);
+
+ return p - p0;
+}
+
+/*
+ * We have received a packet that the decompressor failed to
+ * decompress. Here we would expect to issue a reset-request, but
+ * Motorola has a patent on resetting the compressor as a result of
+ * detecting an error in the decompressed data after decompression.
+ * (See US patent 5,130,993; international patent publication number
+ * WO 91/10289; Australian patent 73296/91.)
+ *
+ * So we ask the kernel whether the error was detected after
+ * decompression; if it was, we take CCP down, thus disabling
+ * compression :-(, otherwise we issue the reset-request.
+ */
+static void
+ccp_datainput(unit, pkt, len)
+ int unit;
+ u_char *pkt;
+ int len;
+{
+ fsm *f;
+
+ f = &ccp_fsm[unit];
+ if (f->state == OPENED) {
+ if (ccp_fatal_error(unit)) {
+ /*
+ * Disable compression by taking CCP down.
+ */
+ error("Lost compression sync: disabling compression");
+ ccp_close(unit, "Lost compression sync");
+ } else {
+ /*
+ * Send a reset-request to reset the peer's compressor.
+ * We don't do that if we are still waiting for an
+ * acknowledgement to a previous reset-request.
+ */
+ if (!(ccp_localstate[f->unit] & RACK_PENDING)) {
+ fsm_sdata(f, CCP_RESETREQ, f->reqid = ++f->id, NULL, 0);
+ TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
+ ccp_localstate[f->unit] |= RACK_PENDING;
+ } else
+ ccp_localstate[f->unit] |= RREQ_REPEAT;
+ }
+ }
+}
+
+/*
+ * Timeout waiting for reset-ack.
+ */
+static void
+ccp_rack_timeout(arg)
+ void *arg;
+{
+ fsm *f = arg;
+
+ if (f->state == OPENED && ccp_localstate[f->unit] & RREQ_REPEAT) {
+ fsm_sdata(f, CCP_RESETREQ, f->reqid, NULL, 0);
+ TIMEOUT(ccp_rack_timeout, f, RACKTIMEOUT);
+ ccp_localstate[f->unit] &= ~RREQ_REPEAT;
+ } else
+ ccp_localstate[f->unit] &= ~RACK_PENDING;
+}
+
diff --git a/mdk-stage1/ppp/pppd/ccp.h b/mdk-stage1/ppp/pppd/ccp.h
new file mode 100644
index 000000000..6b3979b35
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ccp.h
@@ -0,0 +1,48 @@
+/*
+ * ccp.h - Definitions for PPP Compression Control Protocol.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ccp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+typedef struct ccp_options {
+ bool bsd_compress; /* do BSD Compress? */
+ bool deflate; /* do Deflate? */
+ bool predictor_1; /* do Predictor-1? */
+ bool predictor_2; /* do Predictor-2? */
+ bool deflate_correct; /* use correct code for deflate? */
+ bool deflate_draft; /* use draft RFC code for deflate? */
+ u_short bsd_bits; /* # bits/code for BSD Compress */
+ u_short deflate_size; /* lg(window size) for Deflate */
+ short method; /* code for chosen compression method */
+} ccp_options;
+
+extern fsm ccp_fsm[];
+extern ccp_options ccp_wantoptions[];
+extern ccp_options ccp_gotoptions[];
+extern ccp_options ccp_allowoptions[];
+extern ccp_options ccp_hisoptions[];
+
+extern struct protent ccp_protent;
diff --git a/mdk-stage1/ppp/pppd/chap.c b/mdk-stage1/ppp/pppd/chap.c
new file mode 100644
index 000000000..6c9bd9c69
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/chap.c
@@ -0,0 +1,860 @@
+/*
+ * chap.c - Challenge Handshake Authentication Protocol.
+ *
+ * Copyright (c) 1993 The Australian National University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the Australian National University. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Copyright (c) 1991 Gregory M. Christy.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Gregory M. Christy. The name of the author may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: chap.c 6001 2001-06-11 11:44:34Z gc $"
+
+/*
+ * TODO:
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include "pppd.h"
+#include "chap.h"
+#include "md5.h"
+#ifdef CHAPMS
+#include "chap_ms.h"
+#endif
+
+static const char rcsid[] = RCSID;
+
+/*
+ * Command-line options.
+ */
+static option_t chap_option_list[] = {
+ { "chap-restart", o_int, &chap[0].timeouttime,
+ "Set timeout for CHAP", OPT_PRIO },
+ { "chap-max-challenge", o_int, &chap[0].max_transmits,
+ "Set max #xmits for challenge", OPT_PRIO },
+ { "chap-interval", o_int, &chap[0].chal_interval,
+ "Set interval for rechallenge", OPT_PRIO },
+#ifdef MSLANMAN
+ { "ms-lanman", o_bool, &ms_lanman,
+ "Use LanMan passwd when using MS-CHAP", 1 },
+#endif
+ { NULL }
+};
+
+/*
+ * Protocol entry points.
+ */
+static void ChapInit __P((int));
+static void ChapLowerUp __P((int));
+static void ChapLowerDown __P((int));
+static void ChapInput __P((int, u_char *, int));
+static void ChapProtocolReject __P((int));
+static int ChapPrintPkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+
+struct protent chap_protent = {
+ PPP_CHAP,
+ ChapInit,
+ ChapInput,
+ ChapProtocolReject,
+ ChapLowerUp,
+ ChapLowerDown,
+ NULL,
+ NULL,
+ ChapPrintPkt,
+ NULL,
+ 1,
+ "CHAP",
+ NULL,
+ chap_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+chap_state chap[NUM_PPP]; /* CHAP state; one for each unit */
+
+static void ChapChallengeTimeout __P((void *));
+static void ChapResponseTimeout __P((void *));
+static void ChapReceiveChallenge __P((chap_state *, u_char *, int, int));
+static void ChapRechallenge __P((void *));
+static void ChapReceiveResponse __P((chap_state *, u_char *, int, int));
+static void ChapReceiveSuccess __P((chap_state *, u_char *, int, int));
+static void ChapReceiveFailure __P((chap_state *, u_char *, int, int));
+static void ChapSendStatus __P((chap_state *, int));
+static void ChapSendChallenge __P((chap_state *));
+static void ChapSendResponse __P((chap_state *));
+static void ChapGenChallenge __P((chap_state *));
+
+extern double drand48 __P((void));
+extern void srand48 __P((long));
+
+/*
+ * ChapInit - Initialize a CHAP unit.
+ */
+static void
+ChapInit(unit)
+ int unit;
+{
+ chap_state *cstate = &chap[unit];
+
+ BZERO(cstate, sizeof(*cstate));
+ cstate->unit = unit;
+ cstate->clientstate = CHAPCS_INITIAL;
+ cstate->serverstate = CHAPSS_INITIAL;
+ cstate->timeouttime = CHAP_DEFTIMEOUT;
+ cstate->max_transmits = CHAP_DEFTRANSMITS;
+ /* random number generator is initialized in magic_init */
+}
+
+
+/*
+ * ChapAuthWithPeer - Authenticate us with our peer (start client).
+ *
+ */
+void
+ChapAuthWithPeer(unit, our_name, digest)
+ int unit;
+ char *our_name;
+ int digest;
+{
+ chap_state *cstate = &chap[unit];
+
+ cstate->resp_name = our_name;
+ cstate->resp_type = digest;
+
+ if (cstate->clientstate == CHAPCS_INITIAL ||
+ cstate->clientstate == CHAPCS_PENDING) {
+ /* lower layer isn't up - wait until later */
+ cstate->clientstate = CHAPCS_PENDING;
+ return;
+ }
+
+ /*
+ * We get here as a result of LCP coming up.
+ * So even if CHAP was open before, we will
+ * have to re-authenticate ourselves.
+ */
+ cstate->clientstate = CHAPCS_LISTEN;
+}
+
+
+/*
+ * ChapAuthPeer - Authenticate our peer (start server).
+ */
+void
+ChapAuthPeer(unit, our_name, digest)
+ int unit;
+ char *our_name;
+ int digest;
+{
+ chap_state *cstate = &chap[unit];
+
+ cstate->chal_name = our_name;
+ cstate->chal_type = digest;
+
+ if (cstate->serverstate == CHAPSS_INITIAL ||
+ cstate->serverstate == CHAPSS_PENDING) {
+ /* lower layer isn't up - wait until later */
+ cstate->serverstate = CHAPSS_PENDING;
+ return;
+ }
+
+ ChapGenChallenge(cstate);
+ ChapSendChallenge(cstate); /* crank it up dude! */
+ cstate->serverstate = CHAPSS_INITIAL_CHAL;
+}
+
+
+/*
+ * ChapChallengeTimeout - Timeout expired on sending challenge.
+ */
+static void
+ChapChallengeTimeout(arg)
+ void *arg;
+{
+ chap_state *cstate = (chap_state *) arg;
+
+ /* if we aren't sending challenges, don't worry. then again we */
+ /* probably shouldn't be here either */
+ if (cstate->serverstate != CHAPSS_INITIAL_CHAL &&
+ cstate->serverstate != CHAPSS_RECHALLENGE)
+ return;
+
+ if (cstate->chal_transmits >= cstate->max_transmits) {
+ /* give up on peer */
+ error("Peer failed to respond to CHAP challenge");
+ cstate->serverstate = CHAPSS_BADAUTH;
+ auth_peer_fail(cstate->unit, PPP_CHAP);
+ return;
+ }
+
+ ChapSendChallenge(cstate); /* Re-send challenge */
+}
+
+
+/*
+ * ChapResponseTimeout - Timeout expired on sending response.
+ */
+static void
+ChapResponseTimeout(arg)
+ void *arg;
+{
+ chap_state *cstate = (chap_state *) arg;
+
+ /* if we aren't sending a response, don't worry. */
+ if (cstate->clientstate != CHAPCS_RESPONSE)
+ return;
+
+ ChapSendResponse(cstate); /* re-send response */
+}
+
+
+/*
+ * ChapRechallenge - Time to challenge the peer again.
+ */
+static void
+ChapRechallenge(arg)
+ void *arg;
+{
+ chap_state *cstate = (chap_state *) arg;
+
+ /* if we aren't sending a response, don't worry. */
+ if (cstate->serverstate != CHAPSS_OPEN)
+ return;
+
+ ChapGenChallenge(cstate);
+ ChapSendChallenge(cstate);
+ cstate->serverstate = CHAPSS_RECHALLENGE;
+}
+
+
+/*
+ * ChapLowerUp - The lower layer is up.
+ *
+ * Start up if we have pending requests.
+ */
+static void
+ChapLowerUp(unit)
+ int unit;
+{
+ chap_state *cstate = &chap[unit];
+
+ if (cstate->clientstate == CHAPCS_INITIAL)
+ cstate->clientstate = CHAPCS_CLOSED;
+ else if (cstate->clientstate == CHAPCS_PENDING)
+ cstate->clientstate = CHAPCS_LISTEN;
+
+ if (cstate->serverstate == CHAPSS_INITIAL)
+ cstate->serverstate = CHAPSS_CLOSED;
+ else if (cstate->serverstate == CHAPSS_PENDING) {
+ ChapGenChallenge(cstate);
+ ChapSendChallenge(cstate);
+ cstate->serverstate = CHAPSS_INITIAL_CHAL;
+ }
+}
+
+
+/*
+ * ChapLowerDown - The lower layer is down.
+ *
+ * Cancel all timeouts.
+ */
+static void
+ChapLowerDown(unit)
+ int unit;
+{
+ chap_state *cstate = &chap[unit];
+
+ /* Timeout(s) pending? Cancel if so. */
+ if (cstate->serverstate == CHAPSS_INITIAL_CHAL ||
+ cstate->serverstate == CHAPSS_RECHALLENGE)
+ UNTIMEOUT(ChapChallengeTimeout, cstate);
+ else if (cstate->serverstate == CHAPSS_OPEN
+ && cstate->chal_interval != 0)
+ UNTIMEOUT(ChapRechallenge, cstate);
+ if (cstate->clientstate == CHAPCS_RESPONSE)
+ UNTIMEOUT(ChapResponseTimeout, cstate);
+
+ cstate->clientstate = CHAPCS_INITIAL;
+ cstate->serverstate = CHAPSS_INITIAL;
+}
+
+
+/*
+ * ChapProtocolReject - Peer doesn't grok CHAP.
+ */
+static void
+ChapProtocolReject(unit)
+ int unit;
+{
+ chap_state *cstate = &chap[unit];
+
+ if (cstate->serverstate != CHAPSS_INITIAL &&
+ cstate->serverstate != CHAPSS_CLOSED)
+ auth_peer_fail(unit, PPP_CHAP);
+ if (cstate->clientstate != CHAPCS_INITIAL &&
+ cstate->clientstate != CHAPCS_CLOSED)
+ auth_withpeer_fail(unit, PPP_CHAP);
+ ChapLowerDown(unit); /* shutdown chap */
+}
+
+
+/*
+ * ChapInput - Input CHAP packet.
+ */
+static void
+ChapInput(unit, inpacket, packet_len)
+ int unit;
+ u_char *inpacket;
+ int packet_len;
+{
+ chap_state *cstate = &chap[unit];
+ u_char *inp;
+ u_char code, id;
+ int len;
+
+ /*
+ * Parse header (code, id and length).
+ * If packet too short, drop it.
+ */
+ inp = inpacket;
+ if (packet_len < CHAP_HEADERLEN) {
+ CHAPDEBUG(("ChapInput: rcvd short header."));
+ return;
+ }
+ GETCHAR(code, inp);
+ GETCHAR(id, inp);
+ GETSHORT(len, inp);
+ if (len < CHAP_HEADERLEN) {
+ CHAPDEBUG(("ChapInput: rcvd illegal length."));
+ return;
+ }
+ if (len > packet_len) {
+ CHAPDEBUG(("ChapInput: rcvd short packet."));
+ return;
+ }
+ len -= CHAP_HEADERLEN;
+
+ /*
+ * Action depends on code (as in fact it usually does :-).
+ */
+ switch (code) {
+ case CHAP_CHALLENGE:
+ ChapReceiveChallenge(cstate, inp, id, len);
+ break;
+
+ case CHAP_RESPONSE:
+ ChapReceiveResponse(cstate, inp, id, len);
+ break;
+
+ case CHAP_FAILURE:
+ ChapReceiveFailure(cstate, inp, id, len);
+ break;
+
+ case CHAP_SUCCESS:
+ ChapReceiveSuccess(cstate, inp, id, len);
+ break;
+
+ default: /* Need code reject? */
+ warn("Unknown CHAP code (%d) received.", code);
+ break;
+ }
+}
+
+
+/*
+ * ChapReceiveChallenge - Receive Challenge and send Response.
+ */
+static void
+ChapReceiveChallenge(cstate, inp, id, len)
+ chap_state *cstate;
+ u_char *inp;
+ int id;
+ int len;
+{
+ int rchallenge_len;
+ u_char *rchallenge;
+ int secret_len;
+ char secret[MAXSECRETLEN];
+ char rhostname[256];
+ MD5_CTX mdContext;
+ u_char hash[MD5_SIGNATURE_SIZE];
+
+ if (cstate->clientstate == CHAPCS_CLOSED ||
+ cstate->clientstate == CHAPCS_PENDING) {
+ CHAPDEBUG(("ChapReceiveChallenge: in state %d", cstate->clientstate));
+ return;
+ }
+
+ if (len < 2) {
+ CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
+ return;
+ }
+
+ GETCHAR(rchallenge_len, inp);
+ len -= sizeof (u_char) + rchallenge_len; /* now name field length */
+ if (len < 0) {
+ CHAPDEBUG(("ChapReceiveChallenge: rcvd short packet."));
+ return;
+ }
+ rchallenge = inp;
+ INCPTR(rchallenge_len, inp);
+
+ if (len >= sizeof(rhostname))
+ len = sizeof(rhostname) - 1;
+ BCOPY(inp, rhostname, len);
+ rhostname[len] = '\000';
+
+ /* Microsoft doesn't send their name back in the PPP packet */
+ if (explicit_remote || (remote_name[0] != 0 && rhostname[0] == 0)) {
+ strlcpy(rhostname, remote_name, sizeof(rhostname));
+ CHAPDEBUG(("ChapReceiveChallenge: using '%q' as remote name",
+ rhostname));
+ }
+
+ /* get secret for authenticating ourselves with the specified host */
+ if (!get_secret(cstate->unit, cstate->resp_name, rhostname,
+ secret, &secret_len, 0)) {
+ secret_len = 0; /* assume null secret if can't find one */
+ warn("No CHAP secret found for authenticating us to %q", rhostname);
+ }
+
+ /* cancel response send timeout if necessary */
+ if (cstate->clientstate == CHAPCS_RESPONSE)
+ UNTIMEOUT(ChapResponseTimeout, cstate);
+
+ cstate->resp_id = id;
+ cstate->resp_transmits = 0;
+
+ /* generate MD based on negotiated type */
+ switch (cstate->resp_type) {
+
+ case CHAP_DIGEST_MD5:
+ MD5Init(&mdContext);
+ MD5Update(&mdContext, &cstate->resp_id, 1);
+ MD5Update(&mdContext, secret, secret_len);
+ MD5Update(&mdContext, rchallenge, rchallenge_len);
+ MD5Final(hash, &mdContext);
+ BCOPY(hash, cstate->response, MD5_SIGNATURE_SIZE);
+ cstate->resp_length = MD5_SIGNATURE_SIZE;
+ break;
+
+#ifdef CHAPMS
+ case CHAP_MICROSOFT:
+ ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len);
+ break;
+#endif
+
+ default:
+ CHAPDEBUG(("unknown digest type %d", cstate->resp_type));
+ return;
+ }
+
+ BZERO(secret, sizeof(secret));
+ ChapSendResponse(cstate);
+}
+
+
+/*
+ * ChapReceiveResponse - Receive and process response.
+ */
+static void
+ChapReceiveResponse(cstate, inp, id, len)
+ chap_state *cstate;
+ u_char *inp;
+ int id;
+ int len;
+{
+ u_char *remmd, remmd_len;
+ int secret_len, old_state;
+ int code;
+ char rhostname[256];
+ MD5_CTX mdContext;
+ char secret[MAXSECRETLEN];
+ u_char hash[MD5_SIGNATURE_SIZE];
+
+ if (cstate->serverstate == CHAPSS_CLOSED ||
+ cstate->serverstate == CHAPSS_PENDING) {
+ CHAPDEBUG(("ChapReceiveResponse: in state %d", cstate->serverstate));
+ return;
+ }
+
+ if (id != cstate->chal_id)
+ return; /* doesn't match ID of last challenge */
+
+ /*
+ * If we have received a duplicate or bogus Response,
+ * we have to send the same answer (Success/Failure)
+ * as we did for the first Response we saw.
+ */
+ if (cstate->serverstate == CHAPSS_OPEN) {
+ ChapSendStatus(cstate, CHAP_SUCCESS);
+ return;
+ }
+ if (cstate->serverstate == CHAPSS_BADAUTH) {
+ ChapSendStatus(cstate, CHAP_FAILURE);
+ return;
+ }
+
+ if (len < 2) {
+ CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
+ return;
+ }
+ GETCHAR(remmd_len, inp); /* get length of MD */
+ remmd = inp; /* get pointer to MD */
+ INCPTR(remmd_len, inp);
+
+ len -= sizeof (u_char) + remmd_len;
+ if (len < 0) {
+ CHAPDEBUG(("ChapReceiveResponse: rcvd short packet."));
+ return;
+ }
+
+ UNTIMEOUT(ChapChallengeTimeout, cstate);
+
+ if (len >= sizeof(rhostname))
+ len = sizeof(rhostname) - 1;
+ BCOPY(inp, rhostname, len);
+ rhostname[len] = '\000';
+
+ /*
+ * Get secret for authenticating them with us,
+ * do the hash ourselves, and compare the result.
+ */
+ code = CHAP_FAILURE;
+ if (!get_secret(cstate->unit, (explicit_remote? remote_name: rhostname),
+ cstate->chal_name, secret, &secret_len, 1)) {
+ warn("No CHAP secret found for authenticating %q", rhostname);
+ } else {
+
+ /* generate MD based on negotiated type */
+ switch (cstate->chal_type) {
+
+ case CHAP_DIGEST_MD5: /* only MD5 is defined for now */
+ if (remmd_len != MD5_SIGNATURE_SIZE)
+ break; /* it's not even the right length */
+ MD5Init(&mdContext);
+ MD5Update(&mdContext, &cstate->chal_id, 1);
+ MD5Update(&mdContext, secret, secret_len);
+ MD5Update(&mdContext, cstate->challenge, cstate->chal_len);
+ MD5Final(hash, &mdContext);
+
+ /* compare local and remote MDs and send the appropriate status */
+ if (memcmp (hash, remmd, MD5_SIGNATURE_SIZE) == 0)
+ code = CHAP_SUCCESS; /* they are the same! */
+ break;
+
+ default:
+ CHAPDEBUG(("unknown digest type %d", cstate->chal_type));
+ }
+ }
+
+ BZERO(secret, sizeof(secret));
+ ChapSendStatus(cstate, code);
+
+ if (code == CHAP_SUCCESS) {
+ old_state = cstate->serverstate;
+ cstate->serverstate = CHAPSS_OPEN;
+ if (old_state == CHAPSS_INITIAL_CHAL) {
+ auth_peer_success(cstate->unit, PPP_CHAP, rhostname, len);
+ }
+ if (cstate->chal_interval != 0)
+ TIMEOUT(ChapRechallenge, cstate, cstate->chal_interval);
+ notice("CHAP peer authentication succeeded for %q", rhostname);
+
+ } else {
+ error("CHAP peer authentication failed for remote host %q", rhostname);
+ cstate->serverstate = CHAPSS_BADAUTH;
+ auth_peer_fail(cstate->unit, PPP_CHAP);
+ }
+}
+
+/*
+ * ChapReceiveSuccess - Receive Success
+ */
+static void
+ChapReceiveSuccess(cstate, inp, id, len)
+ chap_state *cstate;
+ u_char *inp;
+ u_char id;
+ int len;
+{
+
+ if (cstate->clientstate == CHAPCS_OPEN)
+ /* presumably an answer to a duplicate response */
+ return;
+
+ if (cstate->clientstate != CHAPCS_RESPONSE) {
+ /* don't know what this is */
+ CHAPDEBUG(("ChapReceiveSuccess: in state %d\n", cstate->clientstate));
+ return;
+ }
+
+ UNTIMEOUT(ChapResponseTimeout, cstate);
+
+ /*
+ * Print message.
+ */
+ if (len > 0)
+ PRINTMSG(inp, len);
+
+ cstate->clientstate = CHAPCS_OPEN;
+
+ auth_withpeer_success(cstate->unit, PPP_CHAP);
+}
+
+
+/*
+ * ChapReceiveFailure - Receive failure.
+ */
+static void
+ChapReceiveFailure(cstate, inp, id, len)
+ chap_state *cstate;
+ u_char *inp;
+ u_char id;
+ int len;
+{
+ if (cstate->clientstate != CHAPCS_RESPONSE) {
+ /* don't know what this is */
+ CHAPDEBUG(("ChapReceiveFailure: in state %d\n", cstate->clientstate));
+ return;
+ }
+
+ UNTIMEOUT(ChapResponseTimeout, cstate);
+
+ /*
+ * Print message.
+ */
+ if (len > 0)
+ PRINTMSG(inp, len);
+
+ error("CHAP authentication failed");
+ auth_withpeer_fail(cstate->unit, PPP_CHAP);
+}
+
+
+/*
+ * ChapSendChallenge - Send an Authenticate challenge.
+ */
+static void
+ChapSendChallenge(cstate)
+ chap_state *cstate;
+{
+ u_char *outp;
+ int chal_len, name_len;
+ int outlen;
+
+ chal_len = cstate->chal_len;
+ name_len = strlen(cstate->chal_name);
+ outlen = CHAP_HEADERLEN + sizeof (u_char) + chal_len + name_len;
+ outp = outpacket_buf;
+
+ MAKEHEADER(outp, PPP_CHAP); /* paste in a CHAP header */
+
+ PUTCHAR(CHAP_CHALLENGE, outp);
+ PUTCHAR(cstate->chal_id, outp);
+ PUTSHORT(outlen, outp);
+
+ PUTCHAR(chal_len, outp); /* put length of challenge */
+ BCOPY(cstate->challenge, outp, chal_len);
+ INCPTR(chal_len, outp);
+
+ BCOPY(cstate->chal_name, outp, name_len); /* append hostname */
+
+ output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
+
+ TIMEOUT(ChapChallengeTimeout, cstate, cstate->timeouttime);
+ ++cstate->chal_transmits;
+}
+
+
+/*
+ * ChapSendStatus - Send a status response (ack or nak).
+ */
+static void
+ChapSendStatus(cstate, code)
+ chap_state *cstate;
+ int code;
+{
+ u_char *outp;
+ int outlen, msglen;
+ char msg[256];
+
+ if (code == CHAP_SUCCESS)
+ slprintf(msg, sizeof(msg), "Welcome to %s.", hostname);
+ else
+ slprintf(msg, sizeof(msg), "I don't like you. Go 'way.");
+ msglen = strlen(msg);
+
+ outlen = CHAP_HEADERLEN + msglen;
+ outp = outpacket_buf;
+
+ MAKEHEADER(outp, PPP_CHAP); /* paste in a header */
+
+ PUTCHAR(code, outp);
+ PUTCHAR(cstate->chal_id, outp);
+ PUTSHORT(outlen, outp);
+ BCOPY(msg, outp, msglen);
+ output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
+}
+
+/*
+ * ChapGenChallenge is used to generate a pseudo-random challenge string of
+ * a pseudo-random length between min_len and max_len. The challenge
+ * string and its length are stored in *cstate, and various other fields of
+ * *cstate are initialized.
+ */
+
+static void
+ChapGenChallenge(cstate)
+ chap_state *cstate;
+{
+ int chal_len;
+ u_char *ptr = cstate->challenge;
+ int i;
+
+ /* pick a random challenge length between MIN_CHALLENGE_LENGTH and
+ MAX_CHALLENGE_LENGTH */
+ chal_len = (unsigned) ((drand48() *
+ (MAX_CHALLENGE_LENGTH - MIN_CHALLENGE_LENGTH)) +
+ MIN_CHALLENGE_LENGTH);
+ cstate->chal_len = chal_len;
+ cstate->chal_id = ++cstate->id;
+ cstate->chal_transmits = 0;
+
+ /* generate a random string */
+ for (i = 0; i < chal_len; i++)
+ *ptr++ = (char) (drand48() * 0xff);
+}
+
+/*
+ * ChapSendResponse - send a response packet with values as specified
+ * in *cstate.
+ */
+/* ARGSUSED */
+static void
+ChapSendResponse(cstate)
+ chap_state *cstate;
+{
+ u_char *outp;
+ int outlen, md_len, name_len;
+
+ md_len = cstate->resp_length;
+ name_len = strlen(cstate->resp_name);
+ outlen = CHAP_HEADERLEN + sizeof (u_char) + md_len + name_len;
+ outp = outpacket_buf;
+
+ MAKEHEADER(outp, PPP_CHAP);
+
+ PUTCHAR(CHAP_RESPONSE, outp); /* we are a response */
+ PUTCHAR(cstate->resp_id, outp); /* copy id from challenge packet */
+ PUTSHORT(outlen, outp); /* packet length */
+
+ PUTCHAR(md_len, outp); /* length of MD */
+ BCOPY(cstate->response, outp, md_len); /* copy MD to buffer */
+ INCPTR(md_len, outp);
+
+ BCOPY(cstate->resp_name, outp, name_len); /* append our name */
+
+ /* send the packet */
+ output(cstate->unit, outpacket_buf, outlen + PPP_HDRLEN);
+
+ cstate->clientstate = CHAPCS_RESPONSE;
+ TIMEOUT(ChapResponseTimeout, cstate, cstate->timeouttime);
+ ++cstate->resp_transmits;
+}
+
+/*
+ * ChapPrintPkt - print the contents of a CHAP packet.
+ */
+static char *ChapCodenames[] = {
+ "Challenge", "Response", "Success", "Failure"
+};
+
+static int
+ChapPrintPkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len;
+ int clen, nlen;
+ u_char x;
+
+ if (plen < CHAP_HEADERLEN)
+ return 0;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < CHAP_HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(ChapCodenames) / sizeof(char *))
+ printer(arg, " %s", ChapCodenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= CHAP_HEADERLEN;
+ switch (code) {
+ case CHAP_CHALLENGE:
+ case CHAP_RESPONSE:
+ if (len < 1)
+ break;
+ clen = p[0];
+ if (len < clen + 1)
+ break;
+ ++p;
+ nlen = len - clen - 1;
+ printer(arg, " <");
+ for (; clen > 0; --clen) {
+ GETCHAR(x, p);
+ printer(arg, "%.2x", x);
+ }
+ printer(arg, ">, name = ");
+ print_string((char *)p, nlen, printer, arg);
+ break;
+ case CHAP_FAILURE:
+ case CHAP_SUCCESS:
+ printer(arg, " ");
+ print_string((char *)p, len, printer, arg);
+ break;
+ default:
+ for (clen = len; clen > 0; --clen) {
+ GETCHAR(x, p);
+ printer(arg, " %.2x", x);
+ }
+ }
+
+ return len + CHAP_HEADERLEN;
+}
diff --git a/mdk-stage1/ppp/pppd/chap.h b/mdk-stage1/ppp/pppd/chap.h
new file mode 100644
index 000000000..c12c27d38
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/chap.h
@@ -0,0 +1,124 @@
+/*
+ * chap.h - Challenge Handshake Authentication Protocol definitions.
+ *
+ * Copyright (c) 1993 The Australian National University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the Australian National University. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Copyright (c) 1991 Gregory M. Christy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the author.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: chap.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifndef __CHAP_INCLUDE__
+
+/* Code + ID + length */
+#define CHAP_HEADERLEN 4
+
+/*
+ * CHAP codes.
+ */
+
+#define CHAP_DIGEST_MD5 5 /* use MD5 algorithm */
+#define MD5_SIGNATURE_SIZE 16 /* 16 bytes in a MD5 message digest */
+#define CHAP_MICROSOFT 0x80 /* use Microsoft-compatible alg. */
+#define MS_CHAP_RESPONSE_LEN 49 /* Response length for MS-CHAP */
+
+#define CHAP_CHALLENGE 1
+#define CHAP_RESPONSE 2
+#define CHAP_SUCCESS 3
+#define CHAP_FAILURE 4
+
+/*
+ * Challenge lengths (for challenges we send) and other limits.
+ */
+#define MIN_CHALLENGE_LENGTH 16
+#define MAX_CHALLENGE_LENGTH 24
+#define MAX_RESPONSE_LENGTH 64 /* sufficient for MD5 or MS-CHAP */
+
+/*
+ * Each interface is described by a chap structure.
+ */
+
+typedef struct chap_state {
+ int unit; /* Interface unit number */
+ int clientstate; /* Client state */
+ int serverstate; /* Server state */
+ u_char challenge[MAX_CHALLENGE_LENGTH]; /* last challenge string sent */
+ u_char chal_len; /* challenge length */
+ u_char chal_id; /* ID of last challenge */
+ u_char chal_type; /* hash algorithm for challenges */
+ u_char id; /* Current id */
+ char *chal_name; /* Our name to use with challenge */
+ int chal_interval; /* Time until we challenge peer again */
+ int timeouttime; /* Timeout time in seconds */
+ int max_transmits; /* Maximum # of challenge transmissions */
+ int chal_transmits; /* Number of transmissions of challenge */
+ int resp_transmits; /* Number of transmissions of response */
+ u_char response[MAX_RESPONSE_LENGTH]; /* Response to send */
+ u_char resp_length; /* length of response */
+ u_char resp_id; /* ID for response messages */
+ u_char resp_type; /* hash algorithm for responses */
+ char *resp_name; /* Our name to send with response */
+} chap_state;
+
+
+/*
+ * Client (peer) states.
+ */
+#define CHAPCS_INITIAL 0 /* Lower layer down, not opened */
+#define CHAPCS_CLOSED 1 /* Lower layer up, not opened */
+#define CHAPCS_PENDING 2 /* Auth us to peer when lower up */
+#define CHAPCS_LISTEN 3 /* Listening for a challenge */
+#define CHAPCS_RESPONSE 4 /* Sent response, waiting for status */
+#define CHAPCS_OPEN 5 /* We've received Success */
+
+/*
+ * Server (authenticator) states.
+ */
+#define CHAPSS_INITIAL 0 /* Lower layer down, not opened */
+#define CHAPSS_CLOSED 1 /* Lower layer up, not opened */
+#define CHAPSS_PENDING 2 /* Auth peer when lower up */
+#define CHAPSS_INITIAL_CHAL 3 /* We've sent the first challenge */
+#define CHAPSS_OPEN 4 /* We've sent a Success msg */
+#define CHAPSS_RECHALLENGE 5 /* We've sent another challenge */
+#define CHAPSS_BADAUTH 6 /* We've sent a Failure msg */
+
+/*
+ * Timeouts.
+ */
+#define CHAP_DEFTIMEOUT 3 /* Timeout time in seconds */
+#define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */
+
+extern chap_state chap[];
+
+void ChapAuthWithPeer __P((int, char *, int));
+void ChapAuthPeer __P((int, char *, int));
+
+extern struct protent chap_protent;
+
+#define __CHAP_INCLUDE__
+#endif /* __CHAP_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.c b/mdk-stage1/ppp/pppd/chap_ms.c
new file mode 100644
index 000000000..63ccc2eeb
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/chap_ms.c
@@ -0,0 +1,338 @@
+/*
+ * chap_ms.c - Microsoft MS-CHAP compatible implementation.
+ *
+ * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
+ * http://www.strataware.com/
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Eric Rosenquist. The name of the author may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+/*
+ * Modifications by Lauri Pesonen / lpesonen@clinet.fi, april 1997
+ *
+ * Implemented LANManager type password response to MS-CHAP challenges.
+ * Now pppd provides both NT style and LANMan style blocks, and the
+ * prefered is set by option "ms-lanman". Default is to use NT.
+ * The hash text (StdText) was taken from Win95 RASAPI32.DLL.
+ *
+ * You should also use DOMAIN\\USERNAME as described in README.MSCHAP80
+ */
+
+#define RCSID "$Id: chap_ms.c 6001 2001-06-11 11:44:34Z gc $"
+
+#ifdef CHAPMS
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <unistd.h>
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#endif
+
+#include "pppd.h"
+#include "chap.h"
+#include "chap_ms.h"
+#include "md4.h"
+
+#ifndef USE_CRYPT
+#include <des.h>
+#endif
+
+static const char rcsid[] = RCSID;
+
+typedef struct {
+ u_char LANManResp[24];
+ u_char NTResp[24];
+ u_char UseNT; /* If 1, ignore the LANMan response field */
+} MS_ChapResponse;
+/* We use MS_CHAP_RESPONSE_LEN, rather than sizeof(MS_ChapResponse),
+ in case this struct gets padded. */
+
+
+static void ChallengeResponse __P((u_char *, u_char *, u_char *));
+static void DesEncrypt __P((u_char *, u_char *, u_char *));
+static void MakeKey __P((u_char *, u_char *));
+static u_char Get7Bits __P((u_char *, int));
+static void ChapMS_NT __P((char *, int, char *, int, MS_ChapResponse *));
+#ifdef MSLANMAN
+static void ChapMS_LANMan __P((char *, int, char *, int, MS_ChapResponse *));
+#endif
+
+#ifdef USE_CRYPT
+static void Expand __P((u_char *, u_char *));
+static void Collapse __P((u_char *, u_char *));
+#endif
+
+#ifdef MSLANMAN
+bool ms_lanman = 0; /* Use LanMan password instead of NT */
+ /* Has meaning only with MS-CHAP challenges */
+#endif
+
+static void
+ChallengeResponse(challenge, pwHash, response)
+ u_char *challenge; /* IN 8 octets */
+ u_char *pwHash; /* IN 16 octets */
+ u_char *response; /* OUT 24 octets */
+{
+ char ZPasswordHash[21];
+
+ BZERO(ZPasswordHash, sizeof(ZPasswordHash));
+ BCOPY(pwHash, ZPasswordHash, MD4_SIGNATURE_SIZE);
+
+#if 0
+ dbglog("ChallengeResponse - ZPasswordHash %.*B",
+ sizeof(ZPasswordHash), ZPasswordHash);
+#endif
+
+ DesEncrypt(challenge, ZPasswordHash + 0, response + 0);
+ DesEncrypt(challenge, ZPasswordHash + 7, response + 8);
+ DesEncrypt(challenge, ZPasswordHash + 14, response + 16);
+
+#if 0
+ dbglog("ChallengeResponse - response %.24B", response);
+#endif
+}
+
+
+#ifdef USE_CRYPT
+static void
+DesEncrypt(clear, key, cipher)
+ u_char *clear; /* IN 8 octets */
+ u_char *key; /* IN 7 octets */
+ u_char *cipher; /* OUT 8 octets */
+{
+ u_char des_key[8];
+ u_char crypt_key[66];
+ u_char des_input[66];
+
+ MakeKey(key, des_key);
+
+ Expand(des_key, crypt_key);
+ setkey(crypt_key);
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
+#endif
+
+ Expand(clear, des_input);
+ encrypt(des_input, 0);
+ Collapse(des_input, cipher);
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
+#endif
+}
+
+#else /* USE_CRYPT */
+
+static void
+DesEncrypt(clear, key, cipher)
+ u_char *clear; /* IN 8 octets */
+ u_char *key; /* IN 7 octets */
+ u_char *cipher; /* OUT 8 octets */
+{
+ des_cblock des_key;
+ des_key_schedule key_schedule;
+
+ MakeKey(key, des_key);
+
+ des_set_key(&des_key, key_schedule);
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet input : %.8B", clear));
+#endif
+
+ des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, key_schedule, 1);
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "DesEncrypt: 8 octet output: %.8B", cipher));
+#endif
+}
+
+#endif /* USE_CRYPT */
+
+
+static u_char Get7Bits(input, startBit)
+ u_char *input;
+ int startBit;
+{
+ register unsigned int word;
+
+ word = (unsigned)input[startBit / 8] << 8;
+ word |= (unsigned)input[startBit / 8 + 1];
+
+ word >>= 15 - (startBit % 8 + 7);
+
+ return word & 0xFE;
+}
+
+#ifdef USE_CRYPT
+
+/* in == 8-byte string (expanded version of the 56-bit key)
+ * out == 64-byte string where each byte is either 1 or 0
+ * Note that the low-order "bit" is always ignored by by setkey()
+ */
+static void Expand(in, out)
+ u_char *in;
+ u_char *out;
+{
+ int j, c;
+ int i;
+
+ for(i = 0; i < 64; in++){
+ c = *in;
+ for(j = 7; j >= 0; j--)
+ *out++ = (c >> j) & 01;
+ i += 8;
+ }
+}
+
+/* The inverse of Expand
+ */
+static void Collapse(in, out)
+ u_char *in;
+ u_char *out;
+{
+ int j;
+ int i;
+ unsigned int c;
+
+ for (i = 0; i < 64; i += 8, out++) {
+ c = 0;
+ for (j = 7; j >= 0; j--, in++)
+ c |= *in << j;
+ *out = c & 0xff;
+ }
+}
+#endif
+
+static void MakeKey(key, des_key)
+ u_char *key; /* IN 56 bit DES key missing parity bits */
+ u_char *des_key; /* OUT 64 bit DES key with parity bits added */
+{
+ des_key[0] = Get7Bits(key, 0);
+ des_key[1] = Get7Bits(key, 7);
+ des_key[2] = Get7Bits(key, 14);
+ des_key[3] = Get7Bits(key, 21);
+ des_key[4] = Get7Bits(key, 28);
+ des_key[5] = Get7Bits(key, 35);
+ des_key[6] = Get7Bits(key, 42);
+ des_key[7] = Get7Bits(key, 49);
+
+#ifndef USE_CRYPT
+ des_set_odd_parity((des_cblock *)des_key);
+#endif
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "MakeKey: 56-bit input : %.7B", key));
+ CHAPDEBUG((LOG_INFO, "MakeKey: 64-bit output: %.8B", des_key));
+#endif
+}
+
+static void
+ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, response)
+ char *rchallenge;
+ int rchallenge_len;
+ char *secret;
+ int secret_len;
+ MS_ChapResponse *response;
+{
+ int i;
+#ifdef __NetBSD__
+ /* NetBSD uses the libc md4 routines which take bytes instead of bits */
+ int mdlen = secret_len * 2;
+#else
+ int mdlen = secret_len * 2 * 8;
+#endif
+ MD4_CTX md4Context;
+ u_char hash[MD4_SIGNATURE_SIZE];
+ u_char unicodePassword[MAX_NT_PASSWORD * 2];
+
+ /* Initialize the Unicode version of the secret (== password). */
+ /* This implicitly supports 8-bit ISO8859/1 characters. */
+ BZERO(unicodePassword, sizeof(unicodePassword));
+ for (i = 0; i < secret_len; i++)
+ unicodePassword[i * 2] = (u_char)secret[i];
+
+ MD4Init(&md4Context);
+ MD4Update(&md4Context, unicodePassword, mdlen);
+
+ MD4Final(hash, &md4Context); /* Tell MD4 we're done */
+
+ ChallengeResponse(rchallenge, hash, response->NTResp);
+}
+
+#ifdef MSLANMAN
+static u_char *StdText = (u_char *)"KGS!@#$%"; /* key from rasapi32.dll */
+
+static void
+ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, response)
+ char *rchallenge;
+ int rchallenge_len;
+ char *secret;
+ int secret_len;
+ MS_ChapResponse *response;
+{
+ int i;
+ u_char UcasePassword[MAX_NT_PASSWORD]; /* max is actually 14 */
+ u_char PasswordHash[MD4_SIGNATURE_SIZE];
+
+ /* LANMan password is case insensitive */
+ BZERO(UcasePassword, sizeof(UcasePassword));
+ for (i = 0; i < secret_len; i++)
+ UcasePassword[i] = (u_char)toupper(secret[i]);
+ DesEncrypt( StdText, UcasePassword + 0, PasswordHash + 0 );
+ DesEncrypt( StdText, UcasePassword + 7, PasswordHash + 8 );
+ ChallengeResponse(rchallenge, PasswordHash, response->LANManResp);
+}
+#endif
+
+void
+ChapMS(cstate, rchallenge, rchallenge_len, secret, secret_len)
+ chap_state *cstate;
+ char *rchallenge;
+ int rchallenge_len;
+ char *secret;
+ int secret_len;
+{
+ MS_ChapResponse response;
+
+#if 0
+ CHAPDEBUG((LOG_INFO, "ChapMS: secret is '%.*s'", secret_len, secret));
+#endif
+ BZERO(&response, sizeof(response));
+
+ /* Calculate both always */
+ ChapMS_NT(rchallenge, rchallenge_len, secret, secret_len, &response);
+
+#ifdef MSLANMAN
+ ChapMS_LANMan(rchallenge, rchallenge_len, secret, secret_len, &response);
+
+ /* prefered method is set by option */
+ response.UseNT = !ms_lanman;
+#else
+ response.UseNT = 1;
+#endif
+
+ BCOPY(&response, cstate->response, MS_CHAP_RESPONSE_LEN);
+ cstate->resp_length = MS_CHAP_RESPONSE_LEN;
+}
+
+#endif /* CHAPMS */
diff --git a/mdk-stage1/ppp/pppd/chap_ms.h b/mdk-stage1/ppp/pppd/chap_ms.h
new file mode 100644
index 000000000..a466a92fe
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/chap_ms.h
@@ -0,0 +1,33 @@
+/*
+ * chap.h - Challenge Handshake Authentication Protocol definitions.
+ *
+ * Copyright (c) 1995 Eric Rosenquist, Strata Software Limited.
+ * http://www.strataware.com/
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Eric Rosenquist. The name of the author may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: chap_ms.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifndef __CHAPMS_INCLUDE__
+
+#define MD4_SIGNATURE_SIZE 16 /* 16 bytes in a MD4 message digest */
+#define MAX_NT_PASSWORD 256 /* Maximum number of (Unicode) chars in an NT password */
+
+void ChapMS __P((chap_state *, char *, int, char *, int));
+
+#define __CHAPMS_INCLUDE__
+#endif /* __CHAPMS_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/demand.c b/mdk-stage1/ppp/pppd/demand.c
new file mode 100644
index 000000000..6c7f928d6
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/demand.c
@@ -0,0 +1,351 @@
+/*
+ * demand.c - Support routines for demand-dialling.
+ *
+ * Copyright (c) 1993 The Australian National University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the Australian National University. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: demand.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#ifdef PPP_FILTER
+#include <net/if.h>
+#include <net/bpf.h>
+#include <pcap.h>
+#endif
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipcp.h"
+#include "lcp.h"
+
+static const char rcsid[] = RCSID;
+
+char *frame;
+int framelen;
+int framemax;
+int escape_flag;
+int flush_flag;
+int fcs;
+
+struct packet {
+ int length;
+ struct packet *next;
+ unsigned char data[1];
+};
+
+struct packet *pend_q;
+struct packet *pend_qtail;
+
+static int active_packet __P((unsigned char *, int));
+
+/*
+ * demand_conf - configure the interface for doing dial-on-demand.
+ */
+void
+demand_conf()
+{
+ int i;
+ struct protent *protp;
+
+/* framemax = lcp_allowoptions[0].mru;
+ if (framemax < PPP_MRU) */
+ framemax = PPP_MRU;
+ framemax += PPP_HDRLEN + PPP_FCSLEN;
+ frame = malloc(framemax);
+ if (frame == NULL)
+ novm("demand frame");
+ framelen = 0;
+ pend_q = NULL;
+ escape_flag = 0;
+ flush_flag = 0;
+ fcs = PPP_INITFCS;
+
+ netif_set_mtu(0, MIN(lcp_allowoptions[0].mru, PPP_MRU));
+ ppp_send_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
+ ppp_recv_config(0, PPP_MRU, (u_int32_t) 0, 0, 0);
+
+#ifdef PPP_FILTER
+ set_filters(&pass_filter, &active_filter);
+#endif
+
+ /*
+ * Call the demand_conf procedure for each protocol that's got one.
+ */
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->enabled_flag && protp->demand_conf != NULL)
+ if (!((*protp->demand_conf)(0)))
+ die(1);
+}
+
+
+/*
+ * demand_block - set each network protocol to block further packets.
+ */
+void
+demand_block()
+{
+ int i;
+ struct protent *protp;
+
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->enabled_flag && protp->demand_conf != NULL)
+ sifnpmode(0, protp->protocol & ~0x8000, NPMODE_QUEUE);
+ get_loop_output();
+}
+
+/*
+ * demand_discard - set each network protocol to discard packets
+ * with an error.
+ */
+void
+demand_discard()
+{
+ struct packet *pkt, *nextpkt;
+ int i;
+ struct protent *protp;
+
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->enabled_flag && protp->demand_conf != NULL)
+ sifnpmode(0, protp->protocol & ~0x8000, NPMODE_ERROR);
+ get_loop_output();
+
+ /* discard all saved packets */
+ for (pkt = pend_q; pkt != NULL; pkt = nextpkt) {
+ nextpkt = pkt->next;
+ free(pkt);
+ }
+ pend_q = NULL;
+ framelen = 0;
+ flush_flag = 0;
+ escape_flag = 0;
+ fcs = PPP_INITFCS;
+}
+
+/*
+ * demand_unblock - set each enabled network protocol to pass packets.
+ */
+void
+demand_unblock()
+{
+ int i;
+ struct protent *protp;
+
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->enabled_flag && protp->demand_conf != NULL)
+ sifnpmode(0, protp->protocol & ~0x8000, NPMODE_PASS);
+}
+
+/*
+ * FCS lookup table as calculated by genfcstab.
+ */
+static u_short fcstab[256] = {
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
+};
+
+/*
+ * loop_chars - process characters received from the loopback.
+ * Calls loop_frame when a complete frame has been accumulated.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ */
+int
+loop_chars(p, n)
+ unsigned char *p;
+ int n;
+{
+ int c, rv;
+
+ rv = 0;
+ for (; n > 0; --n) {
+ c = *p++;
+ if (c == PPP_FLAG) {
+ if (!escape_flag && !flush_flag
+ && framelen > 2 && fcs == PPP_GOODFCS) {
+ framelen -= 2;
+ if (loop_frame((unsigned char *)frame, framelen))
+ rv = 1;
+ }
+ framelen = 0;
+ flush_flag = 0;
+ escape_flag = 0;
+ fcs = PPP_INITFCS;
+ continue;
+ }
+ if (flush_flag)
+ continue;
+ if (escape_flag) {
+ c ^= PPP_TRANS;
+ escape_flag = 0;
+ } else if (c == PPP_ESCAPE) {
+ escape_flag = 1;
+ continue;
+ }
+ if (framelen >= framemax) {
+ flush_flag = 1;
+ continue;
+ }
+ frame[framelen++] = c;
+ fcs = PPP_FCS(fcs, c);
+ }
+ return rv;
+}
+
+/*
+ * loop_frame - given a frame obtained from the loopback,
+ * decide whether to bring up the link or not, and, if we want
+ * to transmit this frame later, put it on the pending queue.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ * We assume that the kernel driver has already applied the
+ * pass_filter, so we won't get packets it rejected.
+ * We apply the active_filter to see if we want this packet to
+ * bring up the link.
+ */
+int
+loop_frame(frame, len)
+ unsigned char *frame;
+ int len;
+{
+ struct packet *pkt;
+
+ /* dbglog("from loop: %P", frame, len); */
+ if (len < PPP_HDRLEN)
+ return 0;
+ if ((PPP_PROTOCOL(frame) & 0x8000) != 0)
+ return 0; /* shouldn't get any of these anyway */
+ if (!active_packet(frame, len))
+ return 0;
+
+ pkt = (struct packet *) malloc(sizeof(struct packet) + len);
+ if (pkt != NULL) {
+ pkt->length = len;
+ pkt->next = NULL;
+ memcpy(pkt->data, frame, len);
+ if (pend_q == NULL)
+ pend_q = pkt;
+ else
+ pend_qtail->next = pkt;
+ pend_qtail = pkt;
+ }
+ return 1;
+}
+
+/*
+ * demand_rexmit - Resend all those frames which we got via the
+ * loopback, now that the real serial link is up.
+ */
+void
+demand_rexmit(proto)
+ int proto;
+{
+ struct packet *pkt, *prev, *nextpkt;
+
+ prev = NULL;
+ pkt = pend_q;
+ pend_q = NULL;
+ for (; pkt != NULL; pkt = nextpkt) {
+ nextpkt = pkt->next;
+ if (PPP_PROTOCOL(pkt->data) == proto) {
+ output(0, pkt->data, pkt->length);
+ free(pkt);
+ } else {
+ if (prev == NULL)
+ pend_q = pkt;
+ else
+ prev->next = pkt;
+ prev = pkt;
+ }
+ }
+ pend_qtail = prev;
+ if (prev != NULL)
+ prev->next = NULL;
+}
+
+/*
+ * Scan a packet to decide whether it is an "active" packet,
+ * that is, whether it is worth bringing up the link for.
+ */
+static int
+active_packet(p, len)
+ unsigned char *p;
+ int len;
+{
+ int proto, i;
+ struct protent *protp;
+
+ if (len < PPP_HDRLEN)
+ return 0;
+ proto = PPP_PROTOCOL(p);
+#ifdef PPP_FILTER
+ if (pass_filter.bf_len != 0
+ && bpf_filter(pass_filter.bf_insns, p, len, len) == 0)
+ return 0;
+ if (active_filter.bf_len != 0
+ && bpf_filter(active_filter.bf_insns, p, len, len) == 0)
+ return 0;
+#endif
+ for (i = 0; (protp = protocols[i]) != NULL; ++i) {
+ if (protp->protocol < 0xC000 && (protp->protocol & ~0x8000) == proto) {
+ if (!protp->enabled_flag)
+ return 0;
+ if (protp->active_pkt == NULL)
+ return 1;
+ return (*protp->active_pkt)(p, len);
+ }
+ }
+ return 0; /* not a supported protocol !!?? */
+}
diff --git a/mdk-stage1/ppp/pppd/eui64.c b/mdk-stage1/ppp/pppd/eui64.c
new file mode 100644
index 000000000..71f53d537
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/eui64.c
@@ -0,0 +1,40 @@
+/*
+ eui64.c - EUI64 routines for IPv6CP.
+ Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms and that any documentation,
+ advertising materials, and other materials related to such
+ distribution and use acknowledge that the software was developed
+ by Tommi Komulainen. The name of the author may not be used
+ to endorse or promote products derived from this software without
+ specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+ $Id: eui64.c 6001 2001-06-11 11:44:34Z gc $
+*/
+
+#define RCSID "$Id: eui64.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include "pppd.h"
+
+static const char rcsid[] = RCSID;
+
+/*
+ * eui64_ntoa - Make an ascii representation of an interface identifier
+ */
+char *
+eui64_ntoa(e)
+ eui64_t e;
+{
+ static char buf[32];
+
+ snprintf(buf, 32, "%02x%02x:%02x%02x:%02x%02x:%02x%02x",
+ e.e8[0], e.e8[1], e.e8[2], e.e8[3],
+ e.e8[4], e.e8[5], e.e8[6], e.e8[7]);
+ return buf;
+}
diff --git a/mdk-stage1/ppp/pppd/eui64.h b/mdk-stage1/ppp/pppd/eui64.h
new file mode 100644
index 000000000..55a5ccc86
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/eui64.h
@@ -0,0 +1,97 @@
+/*
+ eui64.h - EUI64 routines for IPv6CP.
+ Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms and that any documentation,
+ advertising materials, and other materials related to such
+ distribution and use acknowledge that the software was developed
+ by Tommi Komulainen. The name of the author may not be used
+ to endorse or promote products derived from this software without
+ specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+ $Id: eui64.h 6001 2001-06-11 11:44:34Z gc $
+*/
+
+#ifndef __EUI64_H__
+#define __EUI64_H__
+
+#if !defined(INET6)
+#error "this file should only be included when INET6 is defined"
+#endif /* not defined(INET6) */
+
+#if defined(SOL2)
+#include <netinet/in.h>
+
+typedef union {
+ uint8_t e8[8]; /* lower 64-bit IPv6 address */
+ uint32_t e32[2]; /* lower 64-bit IPv6 address */
+} eui64_t;
+
+/*
+ * Declare the two below, since in.h only defines them when _KERNEL
+ * is declared - which shouldn't be true when dealing with user-land programs
+ */
+#define s6_addr8 _S6_un._S6_u8
+#define s6_addr32 _S6_un._S6_u32
+
+#else /* else if not defined(SOL2) */
+
+/*
+ * TODO:
+ *
+ * Maybe this should be done by processing struct in6_addr directly...
+ */
+typedef union
+{
+ u_int8_t e8[8];
+ u_int16_t e16[4];
+ u_int32_t e32[2];
+} eui64_t;
+
+#endif /* defined(SOL2) */
+
+#define eui64_iszero(e) (((e).e32[0] | (e).e32[1]) == 0)
+#define eui64_equals(e, o) (((e).e32[0] == (o).e32[0]) && \
+ ((e).e32[1] == (o).e32[1]))
+#define eui64_zero(e) (e).e32[0] = (e).e32[1] = 0;
+
+#define eui64_copy(s, d) memcpy(&(d), &(s), sizeof(eui64_t))
+
+#define eui64_magic(e) do { \
+ (e).e32[0] = magic(); \
+ (e).e32[1] = magic(); \
+ (e).e8[0] &= ~2; \
+ } while (0)
+#define eui64_magic_nz(x) do { \
+ eui64_magic(x); \
+ } while (eui64_iszero(x))
+#define eui64_magic_ne(x, y) do { \
+ eui64_magic(x); \
+ } while (eui64_equals(x, y))
+
+#define eui64_get(ll, cp) do { \
+ eui64_copy((*cp), (ll)); \
+ (cp) += sizeof(eui64_t); \
+ } while (0)
+
+#define eui64_put(ll, cp) do { \
+ eui64_copy((ll), (*cp)); \
+ (cp) += sizeof(eui64_t); \
+ } while (0)
+
+#define eui64_set32(e, l) do { \
+ (e).e32[0] = 0; \
+ (e).e32[1] = htonl(l); \
+ } while (0)
+#define eui64_setlo32(e, l) eui64_set32(e, l)
+
+char *eui64_ntoa __P((eui64_t)); /* Returns ascii representation of id */
+
+#endif /* __EUI64_H__ */
+
diff --git a/mdk-stage1/ppp/pppd/fsm.c b/mdk-stage1/ppp/pppd/fsm.c
new file mode 100644
index 000000000..5a21bdae9
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/fsm.c
@@ -0,0 +1,762 @@
+/*
+ * fsm.c - {Link, IP} Control Protocol Finite State Machine.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: fsm.c 6001 2001-06-11 11:44:34Z gc $"
+
+/*
+ * TODO:
+ * Randomize fsm id on link/init.
+ * Deal with variable outgoing MTU.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "pppd.h"
+#include "fsm.h"
+
+static const char rcsid[] = RCSID;
+
+static void fsm_timeout __P((void *));
+static void fsm_rconfreq __P((fsm *, int, u_char *, int));
+static void fsm_rconfack __P((fsm *, int, u_char *, int));
+static void fsm_rconfnakrej __P((fsm *, int, int, u_char *, int));
+static void fsm_rtermreq __P((fsm *, int, u_char *, int));
+static void fsm_rtermack __P((fsm *));
+static void fsm_rcoderej __P((fsm *, u_char *, int));
+static void fsm_sconfreq __P((fsm *, int));
+
+#define PROTO_NAME(f) ((f)->callbacks->proto_name)
+
+int peer_mru[NUM_PPP];
+
+
+/*
+ * fsm_init - Initialize fsm.
+ *
+ * Initialize fsm state.
+ */
+void
+fsm_init(f)
+ fsm *f;
+{
+ f->state = INITIAL;
+ f->flags = 0;
+ f->id = 0; /* XXX Start with random id? */
+ f->timeouttime = DEFTIMEOUT;
+ f->maxconfreqtransmits = DEFMAXCONFREQS;
+ f->maxtermtransmits = DEFMAXTERMREQS;
+ f->maxnakloops = DEFMAXNAKLOOPS;
+ f->term_reason_len = 0;
+}
+
+
+/*
+ * fsm_lowerup - The lower layer is up.
+ */
+void
+fsm_lowerup(f)
+ fsm *f;
+{
+ switch( f->state ){
+ case INITIAL:
+ f->state = CLOSED;
+ break;
+
+ case STARTING:
+ if( f->flags & OPT_SILENT )
+ f->state = STOPPED;
+ else {
+ /* Send an initial configure-request */
+ fsm_sconfreq(f, 0);
+ f->state = REQSENT;
+ }
+ break;
+
+ default:
+ FSMDEBUG(("%s: Up event in state %d!", PROTO_NAME(f), f->state));
+ }
+}
+
+
+/*
+ * fsm_lowerdown - The lower layer is down.
+ *
+ * Cancel all timeouts and inform upper layers.
+ */
+void
+fsm_lowerdown(f)
+ fsm *f;
+{
+ switch( f->state ){
+ case CLOSED:
+ f->state = INITIAL;
+ break;
+
+ case STOPPED:
+ f->state = STARTING;
+ if( f->callbacks->starting )
+ (*f->callbacks->starting)(f);
+ break;
+
+ case CLOSING:
+ f->state = INITIAL;
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ break;
+
+ case STOPPING:
+ case REQSENT:
+ case ACKRCVD:
+ case ACKSENT:
+ f->state = STARTING;
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ break;
+
+ case OPENED:
+ if( f->callbacks->down )
+ (*f->callbacks->down)(f);
+ f->state = STARTING;
+ break;
+
+ default:
+ FSMDEBUG(("%s: Down event in state %d!", PROTO_NAME(f), f->state));
+ }
+}
+
+
+/*
+ * fsm_open - Link is allowed to come up.
+ */
+void
+fsm_open(f)
+ fsm *f;
+{
+ switch( f->state ){
+ case INITIAL:
+ f->state = STARTING;
+ if( f->callbacks->starting )
+ (*f->callbacks->starting)(f);
+ break;
+
+ case CLOSED:
+ if( f->flags & OPT_SILENT )
+ f->state = STOPPED;
+ else {
+ /* Send an initial configure-request */
+ fsm_sconfreq(f, 0);
+ f->state = REQSENT;
+ }
+ break;
+
+ case CLOSING:
+ f->state = STOPPING;
+ /* fall through */
+ case STOPPED:
+ case OPENED:
+ if( f->flags & OPT_RESTART ){
+ fsm_lowerdown(f);
+ fsm_lowerup(f);
+ }
+ break;
+ }
+}
+
+
+/*
+ * fsm_close - Start closing connection.
+ *
+ * Cancel timeouts and either initiate close or possibly go directly to
+ * the CLOSED state.
+ */
+void
+fsm_close(f, reason)
+ fsm *f;
+ char *reason;
+{
+ f->term_reason = reason;
+ f->term_reason_len = (reason == NULL? 0: strlen(reason));
+ switch( f->state ){
+ case STARTING:
+ f->state = INITIAL;
+ break;
+ case STOPPED:
+ f->state = CLOSED;
+ break;
+ case STOPPING:
+ f->state = CLOSING;
+ break;
+
+ case REQSENT:
+ case ACKRCVD:
+ case ACKSENT:
+ case OPENED:
+ if( f->state != OPENED )
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ else if( f->callbacks->down )
+ (*f->callbacks->down)(f); /* Inform upper layers we're down */
+
+ /* Init restart counter, send Terminate-Request */
+ f->retransmits = f->maxtermtransmits;
+ fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
+ (u_char *) f->term_reason, f->term_reason_len);
+ TIMEOUT(fsm_timeout, f, f->timeouttime);
+ --f->retransmits;
+
+ f->state = CLOSING;
+ break;
+ }
+}
+
+
+/*
+ * fsm_timeout - Timeout expired.
+ */
+static void
+fsm_timeout(arg)
+ void *arg;
+{
+ fsm *f = (fsm *) arg;
+
+ switch (f->state) {
+ case CLOSING:
+ case STOPPING:
+ if( f->retransmits <= 0 ){
+ /*
+ * We've waited for an ack long enough. Peer probably heard us.
+ */
+ f->state = (f->state == CLOSING)? CLOSED: STOPPED;
+ if( f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+ } else {
+ /* Send Terminate-Request */
+ fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
+ (u_char *) f->term_reason, f->term_reason_len);
+ TIMEOUT(fsm_timeout, f, f->timeouttime);
+ --f->retransmits;
+ }
+ break;
+
+ case REQSENT:
+ case ACKRCVD:
+ case ACKSENT:
+ if (f->retransmits <= 0) {
+ warn("%s: timeout sending Config-Requests\n", PROTO_NAME(f));
+ f->state = STOPPED;
+ if( (f->flags & OPT_PASSIVE) == 0 && f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+
+ } else {
+ /* Retransmit the configure-request */
+ if (f->callbacks->retransmit)
+ (*f->callbacks->retransmit)(f);
+ fsm_sconfreq(f, 1); /* Re-send Configure-Request */
+ if( f->state == ACKRCVD )
+ f->state = REQSENT;
+ }
+ break;
+
+ default:
+ FSMDEBUG(("%s: Timeout event in state %d!", PROTO_NAME(f), f->state));
+ }
+}
+
+
+/*
+ * fsm_input - Input packet.
+ */
+void
+fsm_input(f, inpacket, l)
+ fsm *f;
+ u_char *inpacket;
+ int l;
+{
+ u_char *inp;
+ u_char code, id;
+ int len;
+
+ /*
+ * Parse header (code, id and length).
+ * If packet too short, drop it.
+ */
+ inp = inpacket;
+ if (l < HEADERLEN) {
+ FSMDEBUG(("fsm_input(%x): Rcvd short header.", f->protocol));
+ return;
+ }
+ GETCHAR(code, inp);
+ GETCHAR(id, inp);
+ GETSHORT(len, inp);
+ if (len < HEADERLEN) {
+ FSMDEBUG(("fsm_input(%x): Rcvd illegal length.", f->protocol));
+ return;
+ }
+ if (len > l) {
+ FSMDEBUG(("fsm_input(%x): Rcvd short packet.", f->protocol));
+ return;
+ }
+ len -= HEADERLEN; /* subtract header length */
+
+ if( f->state == INITIAL || f->state == STARTING ){
+ FSMDEBUG(("fsm_input(%x): Rcvd packet in state %d.",
+ f->protocol, f->state));
+ return;
+ }
+
+ /*
+ * Action depends on code.
+ */
+ switch (code) {
+ case CONFREQ:
+ fsm_rconfreq(f, id, inp, len);
+ break;
+
+ case CONFACK:
+ fsm_rconfack(f, id, inp, len);
+ break;
+
+ case CONFNAK:
+ case CONFREJ:
+ fsm_rconfnakrej(f, code, id, inp, len);
+ break;
+
+ case TERMREQ:
+ fsm_rtermreq(f, id, inp, len);
+ break;
+
+ case TERMACK:
+ fsm_rtermack(f);
+ break;
+
+ case CODEREJ:
+ fsm_rcoderej(f, inp, len);
+ break;
+
+ default:
+ if( !f->callbacks->extcode
+ || !(*f->callbacks->extcode)(f, code, id, inp, len) )
+ fsm_sdata(f, CODEREJ, ++f->id, inpacket, len + HEADERLEN);
+ break;
+ }
+}
+
+
+/*
+ * fsm_rconfreq - Receive Configure-Request.
+ */
+static void
+fsm_rconfreq(f, id, inp, len)
+ fsm *f;
+ u_char id;
+ u_char *inp;
+ int len;
+{
+ int code, reject_if_disagree;
+
+ switch( f->state ){
+ case CLOSED:
+ /* Go away, we're closed */
+ fsm_sdata(f, TERMACK, id, NULL, 0);
+ return;
+ case CLOSING:
+ case STOPPING:
+ return;
+
+ case OPENED:
+ /* Go down and restart negotiation */
+ if( f->callbacks->down )
+ (*f->callbacks->down)(f); /* Inform upper layers */
+ fsm_sconfreq(f, 0); /* Send initial Configure-Request */
+ break;
+
+ case STOPPED:
+ /* Negotiation started by our peer */
+ fsm_sconfreq(f, 0); /* Send initial Configure-Request */
+ f->state = REQSENT;
+ break;
+ }
+
+ /*
+ * Pass the requested configuration options
+ * to protocol-specific code for checking.
+ */
+ if (f->callbacks->reqci){ /* Check CI */
+ reject_if_disagree = (f->nakloops >= f->maxnakloops);
+ code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);
+ } else if (len)
+ code = CONFREJ; /* Reject all CI */
+ else
+ code = CONFACK;
+
+ /* send the Ack, Nak or Rej to the peer */
+ fsm_sdata(f, code, id, inp, len);
+
+ if (code == CONFACK) {
+ if (f->state == ACKRCVD) {
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ f->state = OPENED;
+ if (f->callbacks->up)
+ (*f->callbacks->up)(f); /* Inform upper layers */
+ } else
+ f->state = ACKSENT;
+ f->nakloops = 0;
+
+ } else {
+ /* we sent CONFACK or CONFREJ */
+ if (f->state != ACKRCVD)
+ f->state = REQSENT;
+ if( code == CONFNAK )
+ ++f->nakloops;
+ }
+}
+
+
+/*
+ * fsm_rconfack - Receive Configure-Ack.
+ */
+static void
+fsm_rconfack(f, id, inp, len)
+ fsm *f;
+ int id;
+ u_char *inp;
+ int len;
+{
+ if (id != f->reqid || f->seen_ack) /* Expected id? */
+ return; /* Nope, toss... */
+ if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len):
+ (len == 0)) ){
+ /* Ack is bad - ignore it */
+ error("Received bad configure-ack: %P", inp, len);
+ return;
+ }
+ f->seen_ack = 1;
+
+ switch (f->state) {
+ case CLOSED:
+ case STOPPED:
+ fsm_sdata(f, TERMACK, id, NULL, 0);
+ break;
+
+ case REQSENT:
+ f->state = ACKRCVD;
+ f->retransmits = f->maxconfreqtransmits;
+ break;
+
+ case ACKRCVD:
+ /* Huh? an extra valid Ack? oh well... */
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ fsm_sconfreq(f, 0);
+ f->state = REQSENT;
+ break;
+
+ case ACKSENT:
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ f->state = OPENED;
+ f->retransmits = f->maxconfreqtransmits;
+ if (f->callbacks->up)
+ (*f->callbacks->up)(f); /* Inform upper layers */
+ break;
+
+ case OPENED:
+ /* Go down and restart negotiation */
+ if (f->callbacks->down)
+ (*f->callbacks->down)(f); /* Inform upper layers */
+ fsm_sconfreq(f, 0); /* Send initial Configure-Request */
+ f->state = REQSENT;
+ break;
+ }
+}
+
+
+/*
+ * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
+ */
+static void
+fsm_rconfnakrej(f, code, id, inp, len)
+ fsm *f;
+ int code, id;
+ u_char *inp;
+ int len;
+{
+ int (*proc) __P((fsm *, u_char *, int));
+ int ret;
+
+ if (id != f->reqid || f->seen_ack) /* Expected id? */
+ return; /* Nope, toss... */
+ proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;
+ if (!proc || !(ret = proc(f, inp, len))) {
+ /* Nak/reject is bad - ignore it */
+ error("Received bad configure-nak/rej: %P", inp, len);
+ return;
+ }
+ f->seen_ack = 1;
+
+ switch (f->state) {
+ case CLOSED:
+ case STOPPED:
+ fsm_sdata(f, TERMACK, id, NULL, 0);
+ break;
+
+ case REQSENT:
+ case ACKSENT:
+ /* They didn't agree to what we wanted - try another request */
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ if (ret < 0)
+ f->state = STOPPED; /* kludge for stopping CCP */
+ else
+ fsm_sconfreq(f, 0); /* Send Configure-Request */
+ break;
+
+ case ACKRCVD:
+ /* Got a Nak/reject when we had already had an Ack?? oh well... */
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ fsm_sconfreq(f, 0);
+ f->state = REQSENT;
+ break;
+
+ case OPENED:
+ /* Go down and restart negotiation */
+ if (f->callbacks->down)
+ (*f->callbacks->down)(f); /* Inform upper layers */
+ fsm_sconfreq(f, 0); /* Send initial Configure-Request */
+ f->state = REQSENT;
+ break;
+ }
+}
+
+
+/*
+ * fsm_rtermreq - Receive Terminate-Req.
+ */
+static void
+fsm_rtermreq(f, id, p, len)
+ fsm *f;
+ int id;
+ u_char *p;
+ int len;
+{
+ switch (f->state) {
+ case ACKRCVD:
+ case ACKSENT:
+ f->state = REQSENT; /* Start over but keep trying */
+ break;
+
+ case OPENED:
+ if (len > 0) {
+ info("%s terminated by peer (%0.*v)", PROTO_NAME(f), len, p);
+ } else
+ info("%s terminated by peer", PROTO_NAME(f));
+ if (f->callbacks->down)
+ (*f->callbacks->down)(f); /* Inform upper layers */
+ f->retransmits = 0;
+ f->state = STOPPING;
+ TIMEOUT(fsm_timeout, f, f->timeouttime);
+ break;
+ }
+
+ fsm_sdata(f, TERMACK, id, NULL, 0);
+}
+
+
+/*
+ * fsm_rtermack - Receive Terminate-Ack.
+ */
+static void
+fsm_rtermack(f)
+ fsm *f;
+{
+ switch (f->state) {
+ case CLOSING:
+ UNTIMEOUT(fsm_timeout, f);
+ f->state = CLOSED;
+ if( f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+ break;
+ case STOPPING:
+ UNTIMEOUT(fsm_timeout, f);
+ f->state = STOPPED;
+ if( f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+ break;
+
+ case ACKRCVD:
+ f->state = REQSENT;
+ break;
+
+ case OPENED:
+ if (f->callbacks->down)
+ (*f->callbacks->down)(f); /* Inform upper layers */
+ fsm_sconfreq(f, 0);
+ break;
+ }
+}
+
+
+/*
+ * fsm_rcoderej - Receive an Code-Reject.
+ */
+static void
+fsm_rcoderej(f, inp, len)
+ fsm *f;
+ u_char *inp;
+ int len;
+{
+ u_char code, id;
+
+ if (len < HEADERLEN) {
+ FSMDEBUG(("fsm_rcoderej: Rcvd short Code-Reject packet!"));
+ return;
+ }
+ GETCHAR(code, inp);
+ GETCHAR(id, inp);
+ warn("%s: Rcvd Code-Reject for code %d, id %d", PROTO_NAME(f), code, id);
+
+ if( f->state == ACKRCVD )
+ f->state = REQSENT;
+}
+
+
+/*
+ * fsm_protreject - Peer doesn't speak this protocol.
+ *
+ * Treat this as a catastrophic error (RXJ-).
+ */
+void
+fsm_protreject(f)
+ fsm *f;
+{
+ switch( f->state ){
+ case CLOSING:
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ /* fall through */
+ case CLOSED:
+ f->state = CLOSED;
+ if( f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+ break;
+
+ case STOPPING:
+ case REQSENT:
+ case ACKRCVD:
+ case ACKSENT:
+ UNTIMEOUT(fsm_timeout, f); /* Cancel timeout */
+ /* fall through */
+ case STOPPED:
+ f->state = STOPPED;
+ if( f->callbacks->finished )
+ (*f->callbacks->finished)(f);
+ break;
+
+ case OPENED:
+ if( f->callbacks->down )
+ (*f->callbacks->down)(f);
+
+ /* Init restart counter, send Terminate-Request */
+ f->retransmits = f->maxtermtransmits;
+ fsm_sdata(f, TERMREQ, f->reqid = ++f->id,
+ (u_char *) f->term_reason, f->term_reason_len);
+ TIMEOUT(fsm_timeout, f, f->timeouttime);
+ --f->retransmits;
+
+ f->state = STOPPING;
+ break;
+
+ default:
+ FSMDEBUG(("%s: Protocol-reject event in state %d!",
+ PROTO_NAME(f), f->state));
+ }
+}
+
+
+/*
+ * fsm_sconfreq - Send a Configure-Request.
+ */
+static void
+fsm_sconfreq(f, retransmit)
+ fsm *f;
+ int retransmit;
+{
+ u_char *outp;
+ int cilen;
+
+ if( f->state != REQSENT && f->state != ACKRCVD && f->state != ACKSENT ){
+ /* Not currently negotiating - reset options */
+ if( f->callbacks->resetci )
+ (*f->callbacks->resetci)(f);
+ f->nakloops = 0;
+ }
+
+ if( !retransmit ){
+ /* New request - reset retransmission counter, use new ID */
+ f->retransmits = f->maxconfreqtransmits;
+ f->reqid = ++f->id;
+ }
+
+ f->seen_ack = 0;
+
+ /*
+ * Make up the request packet
+ */
+ outp = outpacket_buf + PPP_HDRLEN + HEADERLEN;
+ if( f->callbacks->cilen && f->callbacks->addci ){
+ cilen = (*f->callbacks->cilen)(f);
+ if( cilen > peer_mru[f->unit] - HEADERLEN )
+ cilen = peer_mru[f->unit] - HEADERLEN;
+ if (f->callbacks->addci)
+ (*f->callbacks->addci)(f, outp, &cilen);
+ } else
+ cilen = 0;
+
+ /* send the request to our peer */
+ fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);
+
+ /* start the retransmit timer */
+ --f->retransmits;
+ TIMEOUT(fsm_timeout, f, f->timeouttime);
+}
+
+
+/*
+ * fsm_sdata - Send some data.
+ *
+ * Used for all packets sent to our peer by this module.
+ */
+void
+fsm_sdata(f, code, id, data, datalen)
+ fsm *f;
+ u_char code, id;
+ u_char *data;
+ int datalen;
+{
+ u_char *outp;
+ int outlen;
+
+ /* Adjust length to be smaller than MTU */
+ outp = outpacket_buf;
+ if (datalen > peer_mru[f->unit] - HEADERLEN)
+ datalen = peer_mru[f->unit] - HEADERLEN;
+ if (datalen && data != outp + PPP_HDRLEN + HEADERLEN)
+ BCOPY(data, outp + PPP_HDRLEN + HEADERLEN, datalen);
+ outlen = datalen + HEADERLEN;
+ MAKEHEADER(outp, f->protocol);
+ PUTCHAR(code, outp);
+ PUTCHAR(id, outp);
+ PUTSHORT(outlen, outp);
+ output(f->unit, outpacket_buf, outlen + PPP_HDRLEN);
+}
diff --git a/mdk-stage1/ppp/pppd/fsm.h b/mdk-stage1/ppp/pppd/fsm.h
new file mode 100644
index 000000000..4c718f273
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/fsm.h
@@ -0,0 +1,144 @@
+/*
+ * fsm.h - {Link, IP} Control Protocol Finite State Machine definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: fsm.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * Packet header = Code, id, length.
+ */
+#define HEADERLEN 4
+
+
+/*
+ * CP (LCP, IPCP, etc.) codes.
+ */
+#define CONFREQ 1 /* Configuration Request */
+#define CONFACK 2 /* Configuration Ack */
+#define CONFNAK 3 /* Configuration Nak */
+#define CONFREJ 4 /* Configuration Reject */
+#define TERMREQ 5 /* Termination Request */
+#define TERMACK 6 /* Termination Ack */
+#define CODEREJ 7 /* Code Reject */
+
+
+/*
+ * Each FSM is described by an fsm structure and fsm callbacks.
+ */
+typedef struct fsm {
+ int unit; /* Interface unit number */
+ int protocol; /* Data Link Layer Protocol field value */
+ int state; /* State */
+ int flags; /* Contains option bits */
+ u_char id; /* Current id */
+ u_char reqid; /* Current request id */
+ u_char seen_ack; /* Have received valid Ack/Nak/Rej to Req */
+ int timeouttime; /* Timeout time in milliseconds */
+ int maxconfreqtransmits; /* Maximum Configure-Request transmissions */
+ int retransmits; /* Number of retransmissions left */
+ int maxtermtransmits; /* Maximum Terminate-Request transmissions */
+ int nakloops; /* Number of nak loops since last ack */
+ int maxnakloops; /* Maximum number of nak loops tolerated */
+ struct fsm_callbacks *callbacks; /* Callback routines */
+ char *term_reason; /* Reason for closing protocol */
+ int term_reason_len; /* Length of term_reason */
+} fsm;
+
+
+typedef struct fsm_callbacks {
+ void (*resetci) /* Reset our Configuration Information */
+ __P((fsm *));
+ int (*cilen) /* Length of our Configuration Information */
+ __P((fsm *));
+ void (*addci) /* Add our Configuration Information */
+ __P((fsm *, u_char *, int *));
+ int (*ackci) /* ACK our Configuration Information */
+ __P((fsm *, u_char *, int));
+ int (*nakci) /* NAK our Configuration Information */
+ __P((fsm *, u_char *, int));
+ int (*rejci) /* Reject our Configuration Information */
+ __P((fsm *, u_char *, int));
+ int (*reqci) /* Request peer's Configuration Information */
+ __P((fsm *, u_char *, int *, int));
+ void (*up) /* Called when fsm reaches OPENED state */
+ __P((fsm *));
+ void (*down) /* Called when fsm leaves OPENED state */
+ __P((fsm *));
+ void (*starting) /* Called when we want the lower layer */
+ __P((fsm *));
+ void (*finished) /* Called when we don't want the lower layer */
+ __P((fsm *));
+ void (*protreject) /* Called when Protocol-Reject received */
+ __P((int));
+ void (*retransmit) /* Retransmission is necessary */
+ __P((fsm *));
+ int (*extcode) /* Called when unknown code received */
+ __P((fsm *, int, int, u_char *, int));
+ char *proto_name; /* String name for protocol (for messages) */
+} fsm_callbacks;
+
+
+/*
+ * Link states.
+ */
+#define INITIAL 0 /* Down, hasn't been opened */
+#define STARTING 1 /* Down, been opened */
+#define CLOSED 2 /* Up, hasn't been opened */
+#define STOPPED 3 /* Open, waiting for down event */
+#define CLOSING 4 /* Terminating the connection, not open */
+#define STOPPING 5 /* Terminating, but open */
+#define REQSENT 6 /* We've sent a Config Request */
+#define ACKRCVD 7 /* We've received a Config Ack */
+#define ACKSENT 8 /* We've sent a Config Ack */
+#define OPENED 9 /* Connection available */
+
+
+/*
+ * Flags - indicate options controlling FSM operation
+ */
+#define OPT_PASSIVE 1 /* Don't die if we don't get a response */
+#define OPT_RESTART 2 /* Treat 2nd OPEN as DOWN, UP */
+#define OPT_SILENT 4 /* Wait for peer to speak first */
+
+
+/*
+ * Timeouts.
+ */
+#define DEFTIMEOUT 3 /* Timeout time in seconds */
+#define DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */
+#define DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */
+#define DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */
+
+
+/*
+ * Prototypes
+ */
+void fsm_init __P((fsm *));
+void fsm_lowerup __P((fsm *));
+void fsm_lowerdown __P((fsm *));
+void fsm_open __P((fsm *));
+void fsm_close __P((fsm *, char *));
+void fsm_input __P((fsm *, u_char *, int));
+void fsm_protreject __P((fsm *));
+void fsm_sdata __P((fsm *, int, int, u_char *, int));
+
+
+/*
+ * Variables
+ */
+extern int peer_mru[]; /* currently negotiated peer MRU (per unit) */
diff --git a/mdk-stage1/ppp/pppd/ipcp.c b/mdk-stage1/ppp/pppd/ipcp.c
new file mode 100644
index 000000000..22706da2f
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipcp.c
@@ -0,0 +1,2054 @@
+/*
+ * ipcp.c - PPP IP Control Protocol.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: ipcp.c 8878 2002-05-13 15:34:06Z gc $"
+
+/*
+ * TODO:
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <netdb.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipcp.h"
+#include "pathnames.h"
+
+static const char rcsid[] = RCSID;
+
+/* global vars */
+ipcp_options ipcp_wantoptions[NUM_PPP]; /* Options that we want to request */
+ipcp_options ipcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
+ipcp_options ipcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
+ipcp_options ipcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
+
+u_int32_t netmask = 0; /* IP netmask to set on interface */
+
+bool disable_defaultip = 0; /* Don't use hostname for default IP adrs */
+
+/* Hook for a plugin to know when IP protocol has come up */
+void (*ip_up_hook) __P((void)) = NULL;
+
+/* Hook for a plugin to know when IP protocol has come down */
+void (*ip_down_hook) __P((void)) = NULL;
+
+/* Hook for a plugin to choose the remote IP address */
+void (*ip_choose_hook) __P((u_int32_t *)) = NULL;
+
+/* local vars */
+static int default_route_set[NUM_PPP]; /* Have set up a default route */
+static int proxy_arp_set[NUM_PPP]; /* Have created proxy arp entry */
+static bool usepeerdns; /* Ask peer for DNS addrs */
+static int ipcp_is_up; /* have called np_up() */
+static bool ask_for_local; /* request our address from peer */
+static char vj_value[8]; /* string form of vj option value */
+static char netmask_str[20]; /* string form of netmask value */
+
+/*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+static void ipcp_resetci __P((fsm *)); /* Reset our CI */
+static int ipcp_cilen __P((fsm *)); /* Return length of our CI */
+static void ipcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+static int ipcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+static int ipcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
+static int ipcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+static int ipcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+static void ipcp_up __P((fsm *)); /* We're UP */
+static void ipcp_down __P((fsm *)); /* We're DOWN */
+static void ipcp_finished __P((fsm *)); /* Don't need lower layer */
+
+fsm ipcp_fsm[NUM_PPP]; /* IPCP fsm structure */
+
+static fsm_callbacks ipcp_callbacks = { /* IPCP callback routines */
+ ipcp_resetci, /* Reset our Configuration Information */
+ ipcp_cilen, /* Length of our Configuration Information */
+ ipcp_addci, /* Add our Configuration Information */
+ ipcp_ackci, /* ACK our Configuration Information */
+ ipcp_nakci, /* NAK our Configuration Information */
+ ipcp_rejci, /* Reject our Configuration Information */
+ ipcp_reqci, /* Request peer's Configuration Information */
+ ipcp_up, /* Called when fsm reaches OPENED state */
+ ipcp_down, /* Called when fsm leaves OPENED state */
+ NULL, /* Called when we want the lower layer up */
+ ipcp_finished, /* Called when we want the lower layer down */
+ NULL, /* Called when Protocol-Reject received */
+ NULL, /* Retransmission is necessary */
+ NULL, /* Called to handle protocol-specific codes */
+ "IPCP" /* String name of protocol */
+};
+
+/*
+ * Command-line options.
+ */
+static int setvjslots __P((char **));
+static int setdnsaddr __P((char **));
+static int setwinsaddr __P((char **));
+static int setnetmask __P((char **));
+static int setipaddr __P((char *, char **, int));
+static void printipaddr __P((option_t *, void (*)(void *, char *,...),void *));
+
+static option_t ipcp_option_list[] = {
+ { "noip", o_bool, &ipcp_protent.enabled_flag,
+ "Disable IP and IPCP" },
+ { "-ip", o_bool, &ipcp_protent.enabled_flag,
+ "Disable IP and IPCP", OPT_ALIAS },
+
+ { "novj", o_bool, &ipcp_wantoptions[0].neg_vj,
+ "Disable VJ compression", OPT_A2CLR, &ipcp_allowoptions[0].neg_vj },
+ { "-vj", o_bool, &ipcp_wantoptions[0].neg_vj,
+ "Disable VJ compression", OPT_ALIAS | OPT_A2CLR,
+ &ipcp_allowoptions[0].neg_vj },
+
+ { "novjccomp", o_bool, &ipcp_wantoptions[0].cflag,
+ "Disable VJ connection-ID compression", OPT_A2CLR,
+ &ipcp_allowoptions[0].cflag },
+ { "-vjccomp", o_bool, &ipcp_wantoptions[0].cflag,
+ "Disable VJ connection-ID compression", OPT_ALIAS | OPT_A2CLR,
+ &ipcp_allowoptions[0].cflag },
+
+ { "vj-max-slots", o_special, (void *)setvjslots,
+ "Set maximum VJ header slots",
+ OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, vj_value },
+
+ { "ipcp-accept-local", o_bool, &ipcp_wantoptions[0].accept_local,
+ "Accept peer's address for us", 1 },
+ { "ipcp-accept-remote", o_bool, &ipcp_wantoptions[0].accept_remote,
+ "Accept peer's address for it", 1 },
+
+ { "ipparam", o_string, &ipparam,
+ "Set ip script parameter", OPT_PRIO },
+
+ { "noipdefault", o_bool, &disable_defaultip,
+ "Don't use name for default IP adrs", 1 },
+
+ { "ms-dns", 1, (void *)setdnsaddr,
+ "DNS address for the peer's use" },
+ { "ms-wins", 1, (void *)setwinsaddr,
+ "Nameserver for SMB over TCP/IP for peer" },
+
+ { "ipcp-restart", o_int, &ipcp_fsm[0].timeouttime,
+ "Set timeout for IPCP", OPT_PRIO },
+ { "ipcp-max-terminate", o_int, &ipcp_fsm[0].maxtermtransmits,
+ "Set max #xmits for term-reqs", OPT_PRIO },
+ { "ipcp-max-configure", o_int, &ipcp_fsm[0].maxconfreqtransmits,
+ "Set max #xmits for conf-reqs", OPT_PRIO },
+ { "ipcp-max-failure", o_int, &ipcp_fsm[0].maxnakloops,
+ "Set max #conf-naks for IPCP", OPT_PRIO },
+
+ { "defaultroute", o_bool, &ipcp_wantoptions[0].default_route,
+ "Add default route", OPT_ENABLE|1, &ipcp_allowoptions[0].default_route },
+ { "nodefaultroute", o_bool, &ipcp_allowoptions[0].default_route,
+ "disable defaultroute option", OPT_A2CLR,
+ &ipcp_wantoptions[0].default_route },
+ { "-defaultroute", o_bool, &ipcp_allowoptions[0].default_route,
+ "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
+ &ipcp_wantoptions[0].default_route },
+
+ { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
+ "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
+ { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
+ "disable proxyarp option", OPT_A2CLR,
+ &ipcp_wantoptions[0].proxy_arp },
+ { "-proxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
+ "disable proxyarp option", OPT_ALIAS | OPT_A2CLR,
+ &ipcp_wantoptions[0].proxy_arp },
+
+ { "usepeerdns", o_bool, &usepeerdns,
+ "Ask peer for DNS address(es)", 1 },
+
+ { "netmask", o_special, (void *)setnetmask,
+ "set netmask", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, netmask_str },
+
+ { "IP addresses", o_wild, (void *) &setipaddr,
+ "set local and remote IP addresses",
+ OPT_NOARG | OPT_A2PRINTER, (void *) &printipaddr },
+
+ { NULL }
+};
+
+/*
+ * Protocol entry points from main code.
+ */
+static void ipcp_init __P((int));
+static void ipcp_open __P((int));
+static void ipcp_close __P((int, char *));
+static void ipcp_lowerup __P((int));
+static void ipcp_lowerdown __P((int));
+static void ipcp_input __P((int, u_char *, int));
+static void ipcp_protrej __P((int));
+static int ipcp_printpkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+static void ip_check_options __P((void));
+static int ip_demand_conf __P((int));
+static int ip_active_pkt __P((u_char *, int));
+static void create_resolv __P((u_int32_t, u_int32_t));
+
+struct protent ipcp_protent = {
+ PPP_IPCP,
+ ipcp_init,
+ ipcp_input,
+ ipcp_protrej,
+ ipcp_lowerup,
+ ipcp_lowerdown,
+ ipcp_open,
+ ipcp_close,
+ ipcp_printpkt,
+ NULL,
+ 1,
+ "IPCP",
+ "IP",
+ ipcp_option_list,
+ ip_check_options,
+ ip_demand_conf,
+ ip_active_pkt
+};
+
+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
+static void ipcp_script __P((char *)); /* Run an up/down script */
+static void ipcp_script_done __P((void *));
+
+/*
+ * Lengths of configuration options.
+ */
+#define CILEN_VOID 2
+#define CILEN_COMPRESS 4 /* min length for compression protocol opt. */
+#define CILEN_VJ 6 /* length for RFC1332 Van-Jacobson opt. */
+#define CILEN_ADDR 6 /* new-style single address option */
+#define CILEN_ADDRS 10 /* old-style dual address option */
+
+
+#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
+ (x) == CONFNAK ? "NAK" : "REJ")
+
+/*
+ * This state variable is used to ensure that we don't
+ * run an ipcp-up/down script while one is already running.
+ */
+static enum script_state {
+ s_down,
+ s_up,
+} ipcp_script_state;
+static pid_t ipcp_script_pid;
+
+/*
+ * Make a string representation of a network IP address.
+ */
+char *
+ip_ntoa(ipaddr)
+u_int32_t ipaddr;
+{
+ static char b[64];
+
+ slprintf(b, sizeof(b), "%I", ipaddr);
+ return b;
+}
+
+/*
+ * Option parsing.
+ */
+
+/*
+ * setvjslots - set maximum number of connection slots for VJ compression
+ */
+static int
+setvjslots(argv)
+ char **argv;
+{
+ int value;
+
+ if (!int_option(*argv, &value))
+ return 0;
+ if (value < 2 || value > 16) {
+ option_error("vj-max-slots value must be between 2 and 16");
+ return 0;
+ }
+ ipcp_wantoptions [0].maxslotindex =
+ ipcp_allowoptions[0].maxslotindex = value - 1;
+ slprintf(vj_value, sizeof(vj_value), "%d", value);
+ return 1;
+}
+
+/*
+ * setdnsaddr - set the dns address(es)
+ */
+static int
+setdnsaddr(argv)
+ char **argv;
+{
+ u_int32_t dns;
+ struct hostent *hp;
+
+ dns = inet_addr(*argv);
+ if (dns == (u_int32_t) -1) {
+ if ((hp = gethostbyname(*argv)) == NULL) {
+ option_error("invalid address parameter '%s' for ms-dns option",
+ *argv);
+ return 0;
+ }
+ dns = *(u_int32_t *)hp->h_addr;
+ }
+
+ /* We take the last 2 values given, the 2nd-last as the primary
+ and the last as the secondary. If only one is given it
+ becomes both primary and secondary. */
+ if (ipcp_allowoptions[0].dnsaddr[1] == 0)
+ ipcp_allowoptions[0].dnsaddr[0] = dns;
+ else
+ ipcp_allowoptions[0].dnsaddr[0] = ipcp_allowoptions[0].dnsaddr[1];
+
+ /* always set the secondary address value. */
+ ipcp_allowoptions[0].dnsaddr[1] = dns;
+
+ return (1);
+}
+
+/*
+ * setwinsaddr - set the wins address(es)
+ * This is primrarly used with the Samba package under UNIX or for pointing
+ * the caller to the existing WINS server on a Windows NT platform.
+ */
+static int
+setwinsaddr(argv)
+ char **argv;
+{
+ u_int32_t wins;
+ struct hostent *hp;
+
+ wins = inet_addr(*argv);
+ if (wins == (u_int32_t) -1) {
+ if ((hp = gethostbyname(*argv)) == NULL) {
+ option_error("invalid address parameter '%s' for ms-wins option",
+ *argv);
+ return 0;
+ }
+ wins = *(u_int32_t *)hp->h_addr;
+ }
+
+ /* We take the last 2 values given, the 2nd-last as the primary
+ and the last as the secondary. If only one is given it
+ becomes both primary and secondary. */
+ if (ipcp_allowoptions[0].winsaddr[1] == 0)
+ ipcp_allowoptions[0].winsaddr[0] = wins;
+ else
+ ipcp_allowoptions[0].winsaddr[0] = ipcp_allowoptions[0].winsaddr[1];
+
+ /* always set the secondary address value. */
+ ipcp_allowoptions[0].winsaddr[1] = wins;
+
+ return (1);
+}
+
+/*
+ * setipaddr - Set the IP address
+ * If doit is 0, the call is to check whether this option is
+ * potentially an IP address specification.
+ */
+static int
+setipaddr(arg, argv, doit)
+ char *arg;
+ char **argv;
+ int doit;
+{
+ struct hostent *hp;
+ char *colon;
+ u_int32_t local, remote;
+ ipcp_options *wo = &ipcp_wantoptions[0];
+ static int prio_local = 0, prio_remote = 0;
+
+ /*
+ * IP address pair separated by ":".
+ */
+ if ((colon = strchr(arg, ':')) == NULL)
+ return 0;
+ if (!doit)
+ return 1;
+
+ /*
+ * If colon first character, then no local addr.
+ */
+ if (colon != arg && option_priority >= prio_local) {
+ *colon = '\0';
+ if ((local = inet_addr(arg)) == (u_int32_t) -1) {
+ if ((hp = gethostbyname(arg)) == NULL) {
+ option_error("unknown host: %s", arg);
+ return 0;
+ }
+ local = *(u_int32_t *)hp->h_addr;
+ }
+ if (bad_ip_adrs(local)) {
+ option_error("bad local IP address %s", ip_ntoa(local));
+ return 0;
+ }
+ if (local != 0)
+ wo->ouraddr = local;
+ *colon = ':';
+ prio_local = option_priority;
+ }
+
+ /*
+ * If colon last character, then no remote addr.
+ */
+ if (*++colon != '\0' && option_priority >= prio_remote) {
+ if ((remote = inet_addr(colon)) == (u_int32_t) -1) {
+ if ((hp = gethostbyname(colon)) == NULL) {
+ option_error("unknown host: %s", colon);
+ return 0;
+ }
+ remote = *(u_int32_t *)hp->h_addr;
+ if (remote_name[0] == 0)
+ strlcpy(remote_name, colon, sizeof(remote_name));
+ }
+ if (bad_ip_adrs(remote)) {
+ option_error("bad remote IP address %s", ip_ntoa(remote));
+ return 0;
+ }
+ if (remote != 0)
+ wo->hisaddr = remote;
+ prio_remote = option_priority;
+ }
+
+ return 1;
+}
+
+static void
+printipaddr(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ ipcp_options *wo = &ipcp_wantoptions[0];
+
+ if (wo->ouraddr != 0)
+ printer(arg, "%I", wo->ouraddr);
+ printer(arg, ":");
+ if (wo->hisaddr != 0)
+ printer(arg, "%I", wo->hisaddr);
+}
+
+/*
+ * setnetmask - set the netmask to be used on the interface.
+ */
+static int
+setnetmask(argv)
+ char **argv;
+{
+ u_int32_t mask;
+ int n;
+ char *p;
+
+ /*
+ * Unfortunately, if we use inet_addr, we can't tell whether
+ * a result of all 1s is an error or a valid 255.255.255.255.
+ */
+ p = *argv;
+ n = parse_dotted_ip(p, &mask);
+
+ mask = htonl(mask);
+
+ if (n == 0 || p[n] != 0 || (netmask & ~mask) != 0) {
+ option_error("invalid netmask value '%s'", *argv);
+ return 0;
+ }
+
+ netmask = mask;
+ slprintf(netmask_str, sizeof(netmask_str), "%I", mask);
+
+ return (1);
+}
+
+int
+parse_dotted_ip(p, vp)
+ char *p;
+ u_int32_t *vp;
+{
+ int n;
+ u_int32_t v, b;
+ char *endp, *p0 = p;
+
+ v = 0;
+ for (n = 3;; --n) {
+ b = strtoul(p, &endp, 0);
+ if (endp == p)
+ return 0;
+ if (b > 255) {
+ if (n < 3)
+ return 0;
+ /* accept e.g. 0xffffff00 */
+ *vp = b;
+ return endp - p0;
+ }
+ v |= b << (n * 8);
+ p = endp;
+ if (n == 0)
+ break;
+ if (*p != '.')
+ return 0;
+ ++p;
+ }
+ *vp = v;
+ return p - p0;
+}
+
+
+/*
+ * ipcp_init - Initialize IPCP.
+ */
+static void
+ipcp_init(unit)
+ int unit;
+{
+ fsm *f = &ipcp_fsm[unit];
+ ipcp_options *wo = &ipcp_wantoptions[unit];
+ ipcp_options *ao = &ipcp_allowoptions[unit];
+
+ f->unit = unit;
+ f->protocol = PPP_IPCP;
+ f->callbacks = &ipcp_callbacks;
+ fsm_init(&ipcp_fsm[unit]);
+
+ memset(wo, 0, sizeof(*wo));
+ memset(ao, 0, sizeof(*ao));
+
+ wo->neg_addr = 1;
+ wo->neg_vj = 1;
+ wo->vj_protocol = IPCP_VJ_COMP;
+ wo->maxslotindex = MAX_STATES - 1; /* really max index */
+ wo->cflag = 1;
+
+
+ /* max slots and slot-id compression are currently hardwired in */
+ /* ppp_if.c to 16 and 1, this needs to be changed (among other */
+ /* things) gmc */
+
+ ao->neg_addr = 1;
+ ao->neg_vj = 1;
+ ao->maxslotindex = MAX_STATES - 1;
+ ao->cflag = 1;
+
+ /*
+ * XXX These control whether the user may use the proxyarp
+ * and defaultroute options.
+ */
+ ao->proxy_arp = 1;
+ ao->default_route = 1;
+}
+
+
+/*
+ * ipcp_open - IPCP is allowed to come up.
+ */
+static void
+ipcp_open(unit)
+ int unit;
+{
+ fsm_open(&ipcp_fsm[unit]);
+}
+
+
+/*
+ * ipcp_close - Take IPCP down.
+ */
+static void
+ipcp_close(unit, reason)
+ int unit;
+ char *reason;
+{
+ fsm_close(&ipcp_fsm[unit], reason);
+}
+
+
+/*
+ * ipcp_lowerup - The lower layer is up.
+ */
+static void
+ipcp_lowerup(unit)
+ int unit;
+{
+ fsm_lowerup(&ipcp_fsm[unit]);
+}
+
+
+/*
+ * ipcp_lowerdown - The lower layer is down.
+ */
+static void
+ipcp_lowerdown(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipcp_fsm[unit]);
+}
+
+
+/*
+ * ipcp_input - Input IPCP packet.
+ */
+static void
+ipcp_input(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ fsm_input(&ipcp_fsm[unit], p, len);
+}
+
+
+/*
+ * ipcp_protrej - A Protocol-Reject was received for IPCP.
+ *
+ * Pretend the lower layer went down, so we shut up.
+ */
+static void
+ipcp_protrej(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipcp_fsm[unit]);
+}
+
+
+/*
+ * ipcp_resetci - Reset our CI.
+ * Called by fsm_sconfreq, Send Configure Request.
+ */
+static void
+ipcp_resetci(f)
+ fsm *f;
+{
+ ipcp_options *wo = &ipcp_wantoptions[f->unit];
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+
+ wo->req_addr = wo->neg_addr && ipcp_allowoptions[f->unit].neg_addr;
+ if (wo->ouraddr == 0)
+ wo->accept_local = 1;
+ if (wo->hisaddr == 0)
+ wo->accept_remote = 1;
+ wo->req_dns1 = usepeerdns; /* Request DNS addresses from the peer */
+ wo->req_dns2 = usepeerdns;
+ *go = *wo;
+ if (!ask_for_local)
+ go->ouraddr = 0;
+ if (ip_choose_hook)
+ ip_choose_hook(&wo->hisaddr);
+}
+
+
+/*
+ * ipcp_cilen - Return length of our CI.
+ * Called by fsm_sconfreq, Send Configure Request.
+ */
+static int
+ipcp_cilen(f)
+ fsm *f;
+{
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ ipcp_options *wo = &ipcp_wantoptions[f->unit];
+ ipcp_options *ho = &ipcp_hisoptions[f->unit];
+
+#define LENCIVJ(neg, old) (neg ? (old? CILEN_COMPRESS : CILEN_VJ) : 0)
+#define LENCIADDR(neg, old) (neg ? (old? CILEN_ADDRS : CILEN_ADDR) : 0)
+#define LENCIDNS(neg) (neg ? (CILEN_ADDR) : 0)
+
+ /*
+ * First see if we want to change our options to the old
+ * forms because we have received old forms from the peer.
+ */
+ if (wo->neg_addr && !go->neg_addr && !go->old_addrs) {
+ /* use the old style of address negotiation */
+ go->neg_addr = 1;
+ go->old_addrs = 1;
+ }
+ if (wo->neg_vj && !go->neg_vj && !go->old_vj) {
+ /* try an older style of VJ negotiation */
+ /* use the old style only if the peer did */
+ if (ho->neg_vj && ho->old_vj) {
+ go->neg_vj = 1;
+ go->old_vj = 1;
+ go->vj_protocol = ho->vj_protocol;
+ }
+ }
+
+ return (LENCIADDR(go->neg_addr, go->old_addrs) +
+ LENCIVJ(go->neg_vj, go->old_vj) +
+ LENCIDNS(go->req_dns1) +
+ LENCIDNS(go->req_dns2)) ;
+}
+
+
+/*
+ * ipcp_addci - Add our desired CIs to a packet.
+ * Called by fsm_sconfreq, Send Configure Request.
+ */
+static void
+ipcp_addci(f, ucp, lenp)
+ fsm *f;
+ u_char *ucp;
+ int *lenp;
+{
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ int len = *lenp;
+
+#define ADDCIVJ(opt, neg, val, old, maxslotindex, cflag) \
+ if (neg) { \
+ int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
+ if (len >= vjlen) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(vjlen, ucp); \
+ PUTSHORT(val, ucp); \
+ if (!old) { \
+ PUTCHAR(maxslotindex, ucp); \
+ PUTCHAR(cflag, ucp); \
+ } \
+ len -= vjlen; \
+ } else \
+ neg = 0; \
+ }
+
+#define ADDCIADDR(opt, neg, old, val1, val2) \
+ if (neg) { \
+ int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
+ if (len >= addrlen) { \
+ u_int32_t l; \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(addrlen, ucp); \
+ l = ntohl(val1); \
+ PUTLONG(l, ucp); \
+ if (old) { \
+ l = ntohl(val2); \
+ PUTLONG(l, ucp); \
+ } \
+ len -= addrlen; \
+ } else \
+ neg = 0; \
+ }
+
+#define ADDCIDNS(opt, neg, addr) \
+ if (neg) { \
+ if (len >= CILEN_ADDR) { \
+ u_int32_t l; \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_ADDR, ucp); \
+ l = ntohl(addr); \
+ PUTLONG(l, ucp); \
+ len -= CILEN_ADDR; \
+ } else \
+ neg = 0; \
+ }
+
+ ADDCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
+ go->old_addrs, go->ouraddr, go->hisaddr);
+
+ ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
+ go->maxslotindex, go->cflag);
+
+ ADDCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
+
+ ADDCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
+
+ *lenp -= len;
+}
+
+
+/*
+ * ipcp_ackci - Ack our CIs.
+ * Called by fsm_rconfack, Receive Configure ACK.
+ *
+ * Returns:
+ * 0 - Ack was bad.
+ * 1 - Ack was good.
+ */
+static int
+ipcp_ackci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ u_short cilen, citype, cishort;
+ u_int32_t cilong;
+ u_char cimaxslotindex, cicflag;
+
+ /*
+ * CIs must be in exactly the same order that we sent...
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+
+#define ACKCIVJ(opt, neg, val, old, maxslotindex, cflag) \
+ if (neg) { \
+ int vjlen = old? CILEN_COMPRESS : CILEN_VJ; \
+ if ((len -= vjlen) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != vjlen || \
+ citype != opt) \
+ goto bad; \
+ GETSHORT(cishort, p); \
+ if (cishort != val) \
+ goto bad; \
+ if (!old) { \
+ GETCHAR(cimaxslotindex, p); \
+ if (cimaxslotindex != maxslotindex) \
+ goto bad; \
+ GETCHAR(cicflag, p); \
+ if (cicflag != cflag) \
+ goto bad; \
+ } \
+ }
+
+#define ACKCIADDR(opt, neg, old, val1, val2) \
+ if (neg) { \
+ int addrlen = (old? CILEN_ADDRS: CILEN_ADDR); \
+ u_int32_t l; \
+ if ((len -= addrlen) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != addrlen || \
+ citype != opt) \
+ goto bad; \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ if (val1 != cilong) \
+ goto bad; \
+ if (old) { \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ if (val2 != cilong) \
+ goto bad; \
+ } \
+ }
+
+#define ACKCIDNS(opt, neg, addr) \
+ if (neg) { \
+ u_int32_t l; \
+ if ((len -= CILEN_ADDR) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_ADDR || citype != opt) \
+ goto bad; \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ if (addr != cilong) \
+ goto bad; \
+ }
+
+ ACKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), go->neg_addr,
+ go->old_addrs, go->ouraddr, go->hisaddr);
+
+ ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol, go->old_vj,
+ go->maxslotindex, go->cflag);
+
+ ACKCIDNS(CI_MS_DNS1, go->req_dns1, go->dnsaddr[0]);
+
+ ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ return (1);
+
+bad:
+ IPCPDEBUG(("ipcp_ackci: received bad Ack!"));
+ return (0);
+}
+
+/*
+ * ipcp_nakci - Peer has sent a NAK for some of our CIs.
+ * This should not modify any state if the Nak is bad
+ * or if IPCP is in the OPENED state.
+ * Calback from fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject.
+ *
+ * Returns:
+ * 0 - Nak was bad.
+ * 1 - Nak was good.
+ */
+static int
+ipcp_nakci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ u_char cimaxslotindex, cicflag;
+ u_char citype, cilen, *next;
+ u_short cishort;
+ u_int32_t ciaddr1, ciaddr2, l, cidnsaddr;
+ ipcp_options no; /* options we've seen Naks for */
+ ipcp_options try; /* options to request next time */
+
+ BZERO(&no, sizeof(no));
+ try = *go;
+
+ /*
+ * Any Nak'd CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define NAKCIADDR(opt, neg, old, code) \
+ if (go->neg && \
+ len >= (cilen = (old? CILEN_ADDRS: CILEN_ADDR)) && \
+ p[1] == cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETLONG(l, p); \
+ ciaddr1 = htonl(l); \
+ if (old) { \
+ GETLONG(l, p); \
+ ciaddr2 = htonl(l); \
+ no.old_addrs = 1; \
+ } else \
+ ciaddr2 = 0; \
+ no.neg = 1; \
+ code \
+ }
+
+#define NAKCIVJ(opt, neg, code) \
+ if (go->neg && \
+ ((cilen = p[1]) == CILEN_COMPRESS || cilen == CILEN_VJ) && \
+ len >= cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ no.neg = 1; \
+ code \
+ }
+
+#define NAKCIDNS(opt, neg, code) \
+ if (go->neg && \
+ ((cilen = p[1]) == CILEN_ADDR) && \
+ len >= cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETLONG(l, p); \
+ cidnsaddr = htonl(l); \
+ no.neg = 1; \
+ code \
+ }
+
+ /*
+ * Accept the peer's idea of {our,his} address, if different
+ * from our idea, only if the accept_{local,remote} flag is set.
+ */
+ NAKCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr, go->old_addrs,
+ if (go->accept_local && ciaddr1) { /* Do we know our address? */
+ try.ouraddr = ciaddr1;
+ }
+ if (go->accept_remote && ciaddr2) { /* Does he know his? */
+ try.hisaddr = ciaddr2;
+ }
+ );
+
+ /*
+ * Accept the peer's value of maxslotindex provided that it
+ * is less than what we asked for. Turn off slot-ID compression
+ * if the peer wants. Send old-style compress-type option if
+ * the peer wants.
+ */
+ NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
+ if (cilen == CILEN_VJ) {
+ GETCHAR(cimaxslotindex, p);
+ GETCHAR(cicflag, p);
+ if (cishort == IPCP_VJ_COMP) {
+ try.old_vj = 0;
+ if (cimaxslotindex < go->maxslotindex)
+ try.maxslotindex = cimaxslotindex;
+ if (!cicflag)
+ try.cflag = 0;
+ } else {
+ try.neg_vj = 0;
+ }
+ } else {
+ if (cishort == IPCP_VJ_COMP || cishort == IPCP_VJ_COMP_OLD) {
+ try.old_vj = 1;
+ try.vj_protocol = cishort;
+ } else {
+ try.neg_vj = 0;
+ }
+ }
+ );
+
+ NAKCIDNS(CI_MS_DNS1, req_dns1,
+ try.dnsaddr[0] = cidnsaddr;
+ );
+
+ NAKCIDNS(CI_MS_DNS2, req_dns2,
+ try.dnsaddr[1] = cidnsaddr;
+ );
+
+ /*
+ * There may be remaining CIs, if the peer is requesting negotiation
+ * on an option that we didn't include in our request packet.
+ * If they want to negotiate about IP addresses, we comply.
+ * If they want us to ask for compression, we refuse.
+ */
+ while (len > CILEN_VOID) {
+ GETCHAR(citype, p);
+ GETCHAR(cilen, p);
+ if( (len -= cilen) < 0 )
+ goto bad;
+ next = p + cilen - 2;
+
+ switch (citype) {
+ case CI_COMPRESSTYPE:
+ if (go->neg_vj || no.neg_vj ||
+ (cilen != CILEN_VJ && cilen != CILEN_COMPRESS))
+ goto bad;
+ no.neg_vj = 1;
+ break;
+ case CI_ADDRS:
+ if ((go->neg_addr && go->old_addrs) || no.old_addrs
+ || cilen != CILEN_ADDRS)
+ goto bad;
+ try.neg_addr = 1;
+ try.old_addrs = 1;
+ GETLONG(l, p);
+ ciaddr1 = htonl(l);
+ if (ciaddr1 && go->accept_local)
+ try.ouraddr = ciaddr1;
+ GETLONG(l, p);
+ ciaddr2 = htonl(l);
+ if (ciaddr2 && go->accept_remote)
+ try.hisaddr = ciaddr2;
+ no.old_addrs = 1;
+ break;
+ case CI_ADDR:
+ if (go->neg_addr || no.neg_addr || cilen != CILEN_ADDR)
+ goto bad;
+ try.old_addrs = 0;
+ GETLONG(l, p);
+ ciaddr1 = htonl(l);
+ if (ciaddr1 && go->accept_local)
+ try.ouraddr = ciaddr1;
+ if (try.ouraddr != 0)
+ try.neg_addr = 1;
+ no.neg_addr = 1;
+ break;
+ }
+ p = next;
+ }
+
+ /*
+ * OK, the Nak is good. Now we can update state.
+ * If there are any remaining options, we ignore them.
+ */
+ if (f->state != OPENED)
+ *go = try;
+
+ return 1;
+
+bad:
+ IPCPDEBUG(("ipcp_nakci: received bad Nak!"));
+ return 0;
+}
+
+
+/*
+ * ipcp_rejci - Reject some of our CIs.
+ * Callback from fsm_rconfnakrej.
+ */
+static int
+ipcp_rejci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ u_char cimaxslotindex, ciflag, cilen;
+ u_short cishort;
+ u_int32_t cilong;
+ ipcp_options try; /* options to request next time */
+
+ try = *go;
+ /*
+ * Any Rejected CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define REJCIADDR(opt, neg, old, val1, val2) \
+ if (go->neg && \
+ len >= (cilen = old? CILEN_ADDRS: CILEN_ADDR) && \
+ p[1] == cilen && \
+ p[0] == opt) { \
+ u_int32_t l; \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ /* Check rejected value. */ \
+ if (cilong != val1) \
+ goto bad; \
+ if (old) { \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ /* Check rejected value. */ \
+ if (cilong != val2) \
+ goto bad; \
+ } \
+ try.neg = 0; \
+ }
+
+#define REJCIVJ(opt, neg, val, old, maxslot, cflag) \
+ if (go->neg && \
+ p[1] == (old? CILEN_COMPRESS : CILEN_VJ) && \
+ len >= p[1] && \
+ p[0] == opt) { \
+ len -= p[1]; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ /* Check rejected value. */ \
+ if (cishort != val) \
+ goto bad; \
+ if (!old) { \
+ GETCHAR(cimaxslotindex, p); \
+ if (cimaxslotindex != maxslot) \
+ goto bad; \
+ GETCHAR(ciflag, p); \
+ if (ciflag != cflag) \
+ goto bad; \
+ } \
+ try.neg = 0; \
+ }
+
+#define REJCIDNS(opt, neg, dnsaddr) \
+ if (go->neg && \
+ ((cilen = p[1]) == CILEN_ADDR) && \
+ len >= cilen && \
+ p[0] == opt) { \
+ u_int32_t l; \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETLONG(l, p); \
+ cilong = htonl(l); \
+ /* Check rejected value. */ \
+ if (cilong != dnsaddr) \
+ goto bad; \
+ try.neg = 0; \
+ }
+
+
+ REJCIADDR((go->old_addrs? CI_ADDRS: CI_ADDR), neg_addr,
+ go->old_addrs, go->ouraddr, go->hisaddr);
+
+ REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol, go->old_vj,
+ go->maxslotindex, go->cflag);
+
+ REJCIDNS(CI_MS_DNS1, req_dns1, go->dnsaddr[0]);
+
+ REJCIDNS(CI_MS_DNS2, req_dns2, go->dnsaddr[1]);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ /*
+ * Now we can update state.
+ */
+ if (f->state != OPENED)
+ *go = try;
+ return 1;
+
+bad:
+ IPCPDEBUG(("ipcp_rejci: received bad Reject!"));
+ return 0;
+}
+
+
+/*
+ * ipcp_reqci - Check the peer's requested CIs and send appropriate response.
+ * Callback from fsm_rconfreq, Receive Configure Request
+ *
+ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
+ * appropriately. If reject_if_disagree is non-zero, doesn't return
+ * CONFNAK; returns CONFREJ if it can't return CONFACK.
+ */
+static int
+ipcp_reqci(f, inp, len, reject_if_disagree)
+ fsm *f;
+ u_char *inp; /* Requested CIs */
+ int *len; /* Length of requested CIs */
+ int reject_if_disagree;
+{
+ ipcp_options *wo = &ipcp_wantoptions[f->unit];
+ ipcp_options *ho = &ipcp_hisoptions[f->unit];
+ ipcp_options *ao = &ipcp_allowoptions[f->unit];
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ u_char *cip, *next; /* Pointer to current and next CIs */
+ u_short cilen, citype; /* Parsed len, type */
+ u_short cishort; /* Parsed short value */
+ u_int32_t tl, ciaddr1, ciaddr2;/* Parsed address values */
+ int rc = CONFACK; /* Final packet return code */
+ int orc; /* Individual option return code */
+ u_char *p; /* Pointer to next char to parse */
+ u_char *ucp = inp; /* Pointer to current output char */
+ int l = *len; /* Length left */
+ u_char maxslotindex, cflag;
+ int d;
+
+ /*
+ * Reset all his options.
+ */
+ BZERO(ho, sizeof(*ho));
+
+ /*
+ * Process all his options.
+ */
+ next = inp;
+ while (l) {
+ orc = CONFACK; /* Assume success */
+ cip = p = next; /* Remember begining of CI */
+ if (l < 2 || /* Not enough data for CI header or */
+ p[1] < 2 || /* CI length too small or */
+ p[1] > l) { /* CI length too big? */
+ IPCPDEBUG(("ipcp_reqci: bad CI length!"));
+ orc = CONFREJ; /* Reject bad CI */
+ cilen = l; /* Reject till end of packet */
+ l = 0; /* Don't loop again */
+ goto endswitch;
+ }
+ GETCHAR(citype, p); /* Parse CI type */
+ GETCHAR(cilen, p); /* Parse CI length */
+ l -= cilen; /* Adjust remaining length */
+ next += cilen; /* Step to next CI */
+
+ switch (citype) { /* Check CI type */
+ case CI_ADDRS:
+ if (!ao->neg_addr ||
+ cilen != CILEN_ADDRS) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+
+ /*
+ * If he has no address, or if we both have his address but
+ * disagree about it, then NAK it with our idea.
+ * In particular, if we don't know his address, but he does,
+ * then accept it.
+ */
+ GETLONG(tl, p); /* Parse source address (his) */
+ ciaddr1 = htonl(tl);
+ if (ciaddr1 != wo->hisaddr
+ && (ciaddr1 == 0 || !wo->accept_remote)) {
+ orc = CONFNAK;
+ if (!reject_if_disagree) {
+ DECPTR(sizeof(u_int32_t), p);
+ tl = ntohl(wo->hisaddr);
+ PUTLONG(tl, p);
+ }
+ } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
+ /*
+ * If neither we nor he knows his address, reject the option.
+ */
+ orc = CONFREJ;
+ wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
+ break;
+ }
+
+ /*
+ * If he doesn't know our address, or if we both have our address
+ * but disagree about it, then NAK it with our idea.
+ */
+ GETLONG(tl, p); /* Parse desination address (ours) */
+ ciaddr2 = htonl(tl);
+ if (ciaddr2 != wo->ouraddr) {
+ if (ciaddr2 == 0 || !wo->accept_local) {
+ orc = CONFNAK;
+ if (!reject_if_disagree) {
+ DECPTR(sizeof(u_int32_t), p);
+ tl = ntohl(wo->ouraddr);
+ PUTLONG(tl, p);
+ }
+ } else {
+ go->ouraddr = ciaddr2; /* accept peer's idea */
+ }
+ }
+
+ ho->neg_addr = 1;
+ ho->old_addrs = 1;
+ ho->hisaddr = ciaddr1;
+ ho->ouraddr = ciaddr2;
+ break;
+
+ case CI_ADDR:
+ if (!ao->neg_addr ||
+ cilen != CILEN_ADDR) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+
+ /*
+ * If he has no address, or if we both have his address but
+ * disagree about it, then NAK it with our idea.
+ * In particular, if we don't know his address, but he does,
+ * then accept it.
+ */
+ GETLONG(tl, p); /* Parse source address (his) */
+ ciaddr1 = htonl(tl);
+ if (ciaddr1 != wo->hisaddr
+ && (ciaddr1 == 0 || !wo->accept_remote)) {
+ orc = CONFNAK;
+ if (!reject_if_disagree) {
+ DECPTR(sizeof(u_int32_t), p);
+ tl = ntohl(wo->hisaddr);
+ PUTLONG(tl, p);
+ }
+ } else if (ciaddr1 == 0 && wo->hisaddr == 0) {
+ /*
+ * Don't ACK an address of 0.0.0.0 - reject it instead.
+ */
+ orc = CONFREJ;
+ wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
+ break;
+ }
+
+ ho->neg_addr = 1;
+ ho->hisaddr = ciaddr1;
+ break;
+
+ case CI_MS_DNS1:
+ case CI_MS_DNS2:
+ /* Microsoft primary or secondary DNS request */
+ d = citype == CI_MS_DNS2;
+
+ /* If we do not have a DNS address then we cannot send it */
+ if (ao->dnsaddr[d] == 0 ||
+ cilen != CILEN_ADDR) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+ GETLONG(tl, p);
+ if (htonl(tl) != ao->dnsaddr[d]) {
+ DECPTR(sizeof(u_int32_t), p);
+ tl = ntohl(ao->dnsaddr[d]);
+ PUTLONG(tl, p);
+ orc = CONFNAK;
+ }
+ break;
+
+ case CI_MS_WINS1:
+ case CI_MS_WINS2:
+ /* Microsoft primary or secondary WINS request */
+ d = citype == CI_MS_WINS2;
+
+ /* If we do not have a DNS address then we cannot send it */
+ if (ao->winsaddr[d] == 0 ||
+ cilen != CILEN_ADDR) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+ GETLONG(tl, p);
+ if (htonl(tl) != ao->winsaddr[d]) {
+ DECPTR(sizeof(u_int32_t), p);
+ tl = ntohl(ao->winsaddr[d]);
+ PUTLONG(tl, p);
+ orc = CONFNAK;
+ }
+ break;
+
+ case CI_COMPRESSTYPE:
+ if (!ao->neg_vj ||
+ (cilen != CILEN_VJ && cilen != CILEN_COMPRESS)) {
+ orc = CONFREJ;
+ break;
+ }
+ GETSHORT(cishort, p);
+
+ if (!(cishort == IPCP_VJ_COMP ||
+ (cishort == IPCP_VJ_COMP_OLD && cilen == CILEN_COMPRESS))) {
+ orc = CONFREJ;
+ break;
+ }
+
+ ho->neg_vj = 1;
+ ho->vj_protocol = cishort;
+ if (cilen == CILEN_VJ) {
+ GETCHAR(maxslotindex, p);
+ if (maxslotindex > ao->maxslotindex) {
+ orc = CONFNAK;
+ if (!reject_if_disagree){
+ DECPTR(1, p);
+ PUTCHAR(ao->maxslotindex, p);
+ }
+ }
+ GETCHAR(cflag, p);
+ if (cflag && !ao->cflag) {
+ orc = CONFNAK;
+ if (!reject_if_disagree){
+ DECPTR(1, p);
+ PUTCHAR(wo->cflag, p);
+ }
+ }
+ ho->maxslotindex = maxslotindex;
+ ho->cflag = cflag;
+ } else {
+ ho->old_vj = 1;
+ ho->maxslotindex = MAX_STATES - 1;
+ ho->cflag = 1;
+ }
+ break;
+
+ default:
+ orc = CONFREJ;
+ break;
+ }
+endswitch:
+ if (orc == CONFACK && /* Good CI */
+ rc != CONFACK) /* but prior CI wasnt? */
+ continue; /* Don't send this one */
+
+ if (orc == CONFNAK) { /* Nak this CI? */
+ if (reject_if_disagree) /* Getting fed up with sending NAKs? */
+ orc = CONFREJ; /* Get tough if so */
+ else {
+ if (rc == CONFREJ) /* Rejecting prior CI? */
+ continue; /* Don't send this one */
+ if (rc == CONFACK) { /* Ack'd all prior CIs? */
+ rc = CONFNAK; /* Not anymore... */
+ ucp = inp; /* Backup */
+ }
+ }
+ }
+
+ if (orc == CONFREJ && /* Reject this CI */
+ rc != CONFREJ) { /* but no prior ones? */
+ rc = CONFREJ;
+ ucp = inp; /* Backup */
+ }
+
+ /* Need to move CI? */
+ if (ucp != cip)
+ BCOPY(cip, ucp, cilen); /* Move it */
+
+ /* Update output pointer */
+ INCPTR(cilen, ucp);
+ }
+
+ /*
+ * If we aren't rejecting this packet, and we want to negotiate
+ * their address, and they didn't send their address, then we
+ * send a NAK with a CI_ADDR option appended. We assume the
+ * input buffer is long enough that we can append the extra
+ * option safely.
+ */
+ if (rc != CONFREJ && !ho->neg_addr &&
+ wo->req_addr && !reject_if_disagree) {
+ if (rc == CONFACK) {
+ rc = CONFNAK;
+ ucp = inp; /* reset pointer */
+ wo->req_addr = 0; /* don't ask again */
+ }
+ PUTCHAR(CI_ADDR, ucp);
+ PUTCHAR(CILEN_ADDR, ucp);
+ tl = ntohl(wo->hisaddr);
+ PUTLONG(tl, ucp);
+ }
+
+ *len = ucp - inp; /* Compute output length */
+ IPCPDEBUG(("ipcp: returning Configure-%s", CODENAME(rc)));
+ return (rc); /* Return final code */
+}
+
+
+/*
+ * ip_check_options - check that any IP-related options are OK,
+ * and assign appropriate defaults.
+ */
+static void
+ip_check_options()
+{
+ struct hostent *hp;
+ u_int32_t local;
+ ipcp_options *wo = &ipcp_wantoptions[0];
+
+ /*
+ * Default our local IP address based on our hostname.
+ * If local IP address already given, don't bother.
+ */
+ if (wo->ouraddr == 0 && !disable_defaultip) {
+ /*
+ * Look up our hostname (possibly with domain name appended)
+ * and take the first IP address as our local IP address.
+ * If there isn't an IP address for our hostname, too bad.
+ */
+ wo->accept_local = 1; /* don't insist on this default value */
+ if ((hp = gethostbyname(hostname)) != NULL) {
+ local = *(u_int32_t *)hp->h_addr;
+ if (local != 0 && !bad_ip_adrs(local))
+ wo->ouraddr = local;
+ }
+ }
+ ask_for_local = wo->ouraddr != 0 || !disable_defaultip;
+}
+
+
+/*
+ * ip_demand_conf - configure the interface as though
+ * IPCP were up, for use with dial-on-demand.
+ */
+static int
+ip_demand_conf(u)
+ int u;
+{
+ ipcp_options *wo = &ipcp_wantoptions[u];
+
+ if (wo->hisaddr == 0) {
+ /* make up an arbitrary address for the peer */
+ wo->hisaddr = htonl(0x0a707070 + ifunit);
+ wo->accept_remote = 1;
+ }
+ if (wo->ouraddr == 0) {
+ /* make up an arbitrary address for us */
+ wo->ouraddr = htonl(0x0a404040 + ifunit);
+ wo->accept_local = 1;
+ ask_for_local = 0; /* don't tell the peer this address */
+ }
+ if (!sifaddr(u, wo->ouraddr, wo->hisaddr, GetMask(wo->ouraddr)))
+ return 0;
+ if (!sifup(u))
+ return 0;
+ if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
+ return 0;
+ if (wo->default_route)
+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
+ default_route_set[u] = 1;
+ if (wo->proxy_arp)
+ if (sifproxyarp(u, wo->hisaddr))
+ proxy_arp_set[u] = 1;
+
+ notice("local IP address %I", wo->ouraddr);
+ notice("remote IP address %I", wo->hisaddr);
+
+ return 1;
+}
+
+
+/*
+ * ipcp_up - IPCP has come UP.
+ *
+ * Configure the IP network interface appropriately and bring it up.
+ */
+static void
+ipcp_up(f)
+ fsm *f;
+{
+ u_int32_t mask;
+ ipcp_options *ho = &ipcp_hisoptions[f->unit];
+ ipcp_options *go = &ipcp_gotoptions[f->unit];
+ ipcp_options *wo = &ipcp_wantoptions[f->unit];
+
+ IPCPDEBUG(("ipcp: up"));
+
+ /*
+ * We must have a non-zero IP address for both ends of the link.
+ */
+ if (!ho->neg_addr)
+ ho->hisaddr = wo->hisaddr;
+
+ if (go->ouraddr == 0) {
+ error("Could not determine local IP address");
+ ipcp_close(f->unit, "Could not determine local IP address");
+ return;
+ }
+ if (ho->hisaddr == 0) {
+ ho->hisaddr = htonl(0x0a404040 + ifunit);
+ warn("Could not determine remote IP address: defaulting to %I",
+ ho->hisaddr);
+ }
+ script_setenv("IPLOCAL", ip_ntoa(go->ouraddr), 0);
+ script_setenv("IPREMOTE", ip_ntoa(ho->hisaddr), 1);
+
+ if (usepeerdns && (go->dnsaddr[0] || go->dnsaddr[1])) {
+ script_setenv("USEPEERDNS", "1", 0);
+ if (go->dnsaddr[0])
+ script_setenv("DNS1", ip_ntoa(go->dnsaddr[0]), 0);
+ if (go->dnsaddr[1])
+ script_setenv("DNS2", ip_ntoa(go->dnsaddr[1]), 0);
+ create_resolv(go->dnsaddr[0], go->dnsaddr[1]);
+ }
+
+ /*
+ * Check that the peer is allowed to use the IP address it wants.
+ */
+ if (!auth_ip_addr(f->unit, ho->hisaddr)) {
+ error("Peer is not authorized to use remote address %I", ho->hisaddr);
+ ipcp_close(f->unit, "Unauthorized remote IP address");
+ return;
+ }
+
+ /* set tcp compression */
+ sifvjcomp(f->unit, ho->neg_vj, ho->cflag, ho->maxslotindex);
+
+ /*
+ * If we are doing dial-on-demand, the interface is already
+ * configured, so we put out any saved-up packets, then set the
+ * interface to pass IP packets.
+ */
+ if (demand) {
+ if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
+ if (go->ouraddr != wo->ouraddr) {
+ warn("Local IP address changed to %I", go->ouraddr);
+ script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
+ wo->ouraddr = go->ouraddr;
+ } else
+ script_unsetenv("OLDIPLOCAL");
+ if (ho->hisaddr != wo->hisaddr) {
+ warn("Remote IP address changed to %I", ho->hisaddr);
+ script_setenv("OLDIPREMOTE", ip_ntoa(wo->hisaddr), 0);
+ wo->hisaddr = ho->hisaddr;
+ } else
+ script_unsetenv("OLDIPREMOTE");
+
+ /* Set the interface to the new addresses */
+ mask = GetMask(go->ouraddr);
+ if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
+ if (debug)
+ warn("Interface configuration failed");
+ ipcp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+
+ /* assign a default route through the interface if required */
+ if (ipcp_wantoptions[f->unit].default_route)
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
+ default_route_set[f->unit] = 1;
+
+ /* Make a proxy ARP entry if requested. */
+ if (ipcp_wantoptions[f->unit].proxy_arp)
+ if (sifproxyarp(f->unit, ho->hisaddr))
+ proxy_arp_set[f->unit] = 1;
+
+ }
+ demand_rexmit(PPP_IP);
+ sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
+
+ } else {
+ /*
+ * Set IP addresses and (if specified) netmask.
+ */
+ mask = GetMask(go->ouraddr);
+
+#if !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+ if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
+ if (debug)
+ warn("Interface configuration failed");
+ ipcp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#endif
+
+ /* bring the interface up for IP */
+ if (!sifup(f->unit)) {
+ if (debug)
+ warn("Interface failed to come up");
+ ipcp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+
+#if (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+ if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {
+ if (debug)
+ warn("Interface configuration failed");
+ ipcp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#endif
+ sifnpmode(f->unit, PPP_IP, NPMODE_PASS);
+
+ /* assign a default route through the interface if required */
+ if (ipcp_wantoptions[f->unit].default_route)
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
+ default_route_set[f->unit] = 1;
+
+ /* Make a proxy ARP entry if requested. */
+ if (ipcp_wantoptions[f->unit].proxy_arp)
+ if (sifproxyarp(f->unit, ho->hisaddr))
+ proxy_arp_set[f->unit] = 1;
+
+ ipcp_wantoptions[0].ouraddr = go->ouraddr;
+
+ notice("local IP address %I", go->ouraddr);
+ notice("remote IP address %I", ho->hisaddr);
+ if (go->dnsaddr[0])
+ notice("primary DNS address %I", go->dnsaddr[0]);
+ if (go->dnsaddr[1])
+ notice("secondary DNS address %I", go->dnsaddr[1]);
+ }
+
+ np_up(f->unit, PPP_IP);
+ ipcp_is_up = 1;
+
+ if (ip_up_hook)
+ ip_up_hook();
+
+ /*
+ * Execute the ip-up script, like this:
+ * /etc/ppp/ip-up interface tty speed local-IP remote-IP
+ */
+ if (ipcp_script_state == s_down && ipcp_script_pid == 0) {
+ ipcp_script_state = s_up;
+ ipcp_script(_PATH_IPUP);
+ }
+}
+
+
+/*
+ * ipcp_down - IPCP has gone DOWN.
+ *
+ * Take the IP network interface down, clear its addresses
+ * and delete routes through it.
+ */
+static void
+ipcp_down(f)
+ fsm *f;
+{
+ IPCPDEBUG(("ipcp: down"));
+ /* XXX a bit IPv4-centric here, we only need to get the stats
+ * before the interface is marked down. */
+ update_link_stats(f->unit);
+ if (ip_down_hook)
+ ip_down_hook();
+ if (ipcp_is_up) {
+ ipcp_is_up = 0;
+ np_down(f->unit, PPP_IP);
+ }
+ sifvjcomp(f->unit, 0, 0, 0);
+
+ /*
+ * If we are doing dial-on-demand, set the interface
+ * to queue up outgoing packets (for now).
+ */
+ if (demand) {
+ sifnpmode(f->unit, PPP_IP, NPMODE_QUEUE);
+ } else {
+ sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
+ sifdown(f->unit);
+ ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
+ ipcp_hisoptions[f->unit].hisaddr);
+ }
+
+ /* Execute the ip-down script */
+ if (ipcp_script_state == s_up && ipcp_script_pid == 0) {
+ ipcp_script_state = s_down;
+ ipcp_script(_PATH_IPDOWN);
+ }
+}
+
+
+/*
+ * ipcp_clear_addrs() - clear the interface addresses, routes,
+ * proxy arp entries, etc.
+ */
+static void
+ipcp_clear_addrs(unit, ouraddr, hisaddr)
+ int unit;
+ u_int32_t ouraddr; /* local address */
+ u_int32_t hisaddr; /* remote address */
+{
+ if (proxy_arp_set[unit]) {
+ cifproxyarp(unit, hisaddr);
+ proxy_arp_set[unit] = 0;
+ }
+ if (default_route_set[unit]) {
+ cifdefaultroute(unit, ouraddr, hisaddr);
+ default_route_set[unit] = 0;
+ }
+ cifaddr(unit, ouraddr, hisaddr);
+}
+
+
+/*
+ * ipcp_finished - possibly shut down the lower layers.
+ */
+static void
+ipcp_finished(f)
+ fsm *f;
+{
+ np_finished(f->unit, PPP_IP);
+}
+
+
+/*
+ * ipcp_script_done - called when the ip-up or ip-down script
+ * has finished.
+ */
+static void
+ipcp_script_done(arg)
+ void *arg;
+{
+ ipcp_script_pid = 0;
+ switch (ipcp_script_state) {
+ case s_up:
+ if (ipcp_fsm[0].state != OPENED) {
+ ipcp_script_state = s_down;
+ ipcp_script(_PATH_IPDOWN);
+ }
+ break;
+ case s_down:
+ if (ipcp_fsm[0].state == OPENED) {
+ ipcp_script_state = s_up;
+ ipcp_script(_PATH_IPUP);
+ }
+ break;
+ }
+}
+
+
+/*
+ * ipcp_script - Execute a script with arguments
+ * interface-name tty-name speed local-IP remote-IP.
+ */
+static void
+ipcp_script(script)
+ char *script;
+{
+ char strspeed[32], strlocal[32], strremote[32];
+ char *argv[8];
+
+ slprintf(strspeed, sizeof(strspeed), "%d", baud_rate);
+ slprintf(strlocal, sizeof(strlocal), "%I", ipcp_gotoptions[0].ouraddr);
+ slprintf(strremote, sizeof(strremote), "%I", ipcp_hisoptions[0].hisaddr);
+
+ argv[0] = script;
+ argv[1] = ifname;
+ argv[2] = devnam;
+ argv[3] = strspeed;
+ argv[4] = strlocal;
+ argv[5] = strremote;
+ argv[6] = ipparam;
+ argv[7] = NULL;
+ ipcp_script_pid = run_program(script, argv, 0, ipcp_script_done, NULL);
+}
+
+/*
+ * create_resolv - create the replacement resolv.conf file
+ */
+static void
+create_resolv(peerdns1, peerdns2)
+ u_int32_t peerdns1, peerdns2;
+{
+ FILE *f;
+
+ f = fopen(_PATH_RESOLV, "w");
+ if (f == NULL) {
+ error("Failed to create %s: %m", _PATH_RESOLV);
+ return;
+ }
+
+ if (peerdns1)
+ fprintf(f, "nameserver %s\n", ip_ntoa(peerdns1));
+
+ if (peerdns2)
+ fprintf(f, "nameserver %s\n", ip_ntoa(peerdns2));
+
+ if (ferror(f))
+ error("Write failed to %s: %m", _PATH_RESOLV);
+
+ fclose(f);
+}
+
+/*
+ * ipcp_printpkt - print the contents of an IPCP packet.
+ */
+static char *ipcp_codenames[] = {
+ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
+ "TermReq", "TermAck", "CodeRej"
+};
+
+static int
+ipcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len, olen;
+ u_char *pstart, *optend;
+ u_short cishort;
+ u_int32_t cilong;
+
+ if (plen < HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(ipcp_codenames) / sizeof(char *))
+ printer(arg, " %s", ipcp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+ switch (code) {
+ case CONFREQ:
+ case CONFACK:
+ case CONFNAK:
+ case CONFREJ:
+ /* print option list */
+ while (len >= 2) {
+ GETCHAR(code, p);
+ GETCHAR(olen, p);
+ p -= 2;
+ if (olen < 2 || olen > len) {
+ break;
+ }
+ printer(arg, " <");
+ len -= olen;
+ optend = p + olen;
+ switch (code) {
+ case CI_ADDRS:
+ if (olen == CILEN_ADDRS) {
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "addrs %I", htonl(cilong));
+ GETLONG(cilong, p);
+ printer(arg, " %I", htonl(cilong));
+ }
+ break;
+ case CI_COMPRESSTYPE:
+ if (olen >= CILEN_COMPRESS) {
+ p += 2;
+ GETSHORT(cishort, p);
+ printer(arg, "compress ");
+ switch (cishort) {
+ case IPCP_VJ_COMP:
+ printer(arg, "VJ");
+ break;
+ case IPCP_VJ_COMP_OLD:
+ printer(arg, "old-VJ");
+ break;
+ default:
+ printer(arg, "0x%x", cishort);
+ }
+ }
+ break;
+ case CI_ADDR:
+ if (olen == CILEN_ADDR) {
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "addr %I", htonl(cilong));
+ }
+ break;
+ case CI_MS_DNS1:
+ case CI_MS_DNS2:
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "ms-dns%d %I", code - CI_MS_DNS1 + 1,
+ htonl(cilong));
+ break;
+ case CI_MS_WINS1:
+ case CI_MS_WINS2:
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "ms-wins %I", htonl(cilong));
+ break;
+ }
+ while (p < optend) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+ printer(arg, ">");
+ }
+ break;
+
+ case TERMACK:
+ case TERMREQ:
+ if (len > 0 && *p >= ' ' && *p < 0x7f) {
+ printer(arg, " ");
+ print_string((char *)p, len, printer, arg);
+ p += len;
+ len = 0;
+ }
+ break;
+ }
+
+ /* print the rest of the bytes in the packet */
+ for (; len > 0; --len) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+
+ return p - pstart;
+}
+
+/*
+ * ip_active_pkt - see if this IP packet is worth bringing the link up for.
+ * We don't bring the link up for IP fragments or for TCP FIN packets
+ * with no data.
+ */
+#define IP_HDRLEN 20 /* bytes */
+#define IP_OFFMASK 0x1fff
+// #define IPPROTO_TCP 6
+#define TCP_HDRLEN 20
+#define TH_FIN 0x01
+
+/*
+ * We use these macros because the IP header may be at an odd address,
+ * and some compilers might use word loads to get th_off or ip_hl.
+ */
+
+#define net_short(x) (((x)[0] << 8) + (x)[1])
+#define get_iphl(x) (((unsigned char *)(x))[0] & 0xF)
+#define get_ipoff(x) net_short((unsigned char *)(x) + 6)
+#define get_ipproto(x) (((unsigned char *)(x))[9])
+#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
+#define get_tcpflags(x) (((unsigned char *)(x))[13])
+
+static int
+ip_active_pkt(pkt, len)
+ u_char *pkt;
+ int len;
+{
+ u_char *tcp;
+ int hlen;
+
+ len -= PPP_HDRLEN;
+ pkt += PPP_HDRLEN;
+ if (len < IP_HDRLEN)
+ return 0;
+ if ((get_ipoff(pkt) & IP_OFFMASK) != 0)
+ return 0;
+ if (get_ipproto(pkt) != IPPROTO_TCP)
+ return 1;
+ hlen = get_iphl(pkt) * 4;
+ if (len < hlen + TCP_HDRLEN)
+ return 0;
+ tcp = pkt + hlen;
+ if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == hlen + get_tcpoff(tcp) * 4)
+ return 0;
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/ipcp.h b/mdk-stage1/ppp/pppd/ipcp.h
new file mode 100644
index 000000000..8f0f5794d
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipcp.h
@@ -0,0 +1,73 @@
+/*
+ * ipcp.h - IP Control Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: ipcp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * Options.
+ */
+#define CI_ADDRS 1 /* IP Addresses */
+#define CI_COMPRESSTYPE 2 /* Compression Type */
+#define CI_ADDR 3
+
+#define CI_MS_DNS1 129 /* Primary DNS value */
+#define CI_MS_WINS1 130 /* Primary WINS value */
+#define CI_MS_DNS2 131 /* Secondary DNS value */
+#define CI_MS_WINS2 132 /* Secondary WINS value */
+
+#define MAX_STATES 16 /* from slcompress.h */
+
+#define IPCP_VJMODE_OLD 1 /* "old" mode (option # = 0x0037) */
+#define IPCP_VJMODE_RFC1172 2 /* "old-rfc"mode (option # = 0x002d) */
+#define IPCP_VJMODE_RFC1332 3 /* "new-rfc"mode (option # = 0x002d, */
+ /* maxslot and slot number compression) */
+
+#define IPCP_VJ_COMP 0x002d /* current value for VJ compression option*/
+#define IPCP_VJ_COMP_OLD 0x0037 /* "old" (i.e, broken) value for VJ */
+ /* compression option*/
+
+typedef struct ipcp_options {
+ bool neg_addr; /* Negotiate IP Address? */
+ bool old_addrs; /* Use old (IP-Addresses) option? */
+ bool req_addr; /* Ask peer to send IP address? */
+ bool default_route; /* Assign default route through interface? */
+ bool proxy_arp; /* Make proxy ARP entry for peer? */
+ bool neg_vj; /* Van Jacobson Compression? */
+ bool old_vj; /* use old (short) form of VJ option? */
+ bool accept_local; /* accept peer's value for ouraddr */
+ bool accept_remote; /* accept peer's value for hisaddr */
+ bool req_dns1; /* Ask peer to send primary DNS address? */
+ bool req_dns2; /* Ask peer to send secondary DNS address? */
+ int vj_protocol; /* protocol value to use in VJ option */
+ int maxslotindex; /* values for RFC1332 VJ compression neg. */
+ bool cflag;
+ u_int32_t ouraddr, hisaddr; /* Addresses in NETWORK BYTE ORDER */
+ u_int32_t dnsaddr[2]; /* Primary and secondary MS DNS entries */
+ u_int32_t winsaddr[2]; /* Primary and secondary MS WINS entries */
+} ipcp_options;
+
+extern fsm ipcp_fsm[];
+extern ipcp_options ipcp_wantoptions[];
+extern ipcp_options ipcp_gotoptions[];
+extern ipcp_options ipcp_allowoptions[];
+extern ipcp_options ipcp_hisoptions[];
+
+char *ip_ntoa __P((u_int32_t));
+
+extern struct protent ipcp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.c b/mdk-stage1/ppp/pppd/ipv6cp.c
new file mode 100644
index 000000000..c6c0af342
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipv6cp.c
@@ -0,0 +1,1512 @@
+/*
+ ipv6cp.c - PPP IPV6 Control Protocol.
+ Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms. The name of the author may not be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/* Original version, based on RFC2023 :
+
+ Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
+ Alain.Durand@imag.fr, IMAG,
+ Jean-Luc.Richier@imag.fr, IMAG-LSR.
+
+ Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
+ Alain.Durand@imag.fr, IMAG,
+ Jean-Luc.Richier@imag.fr, IMAG-LSR.
+
+ Ce travail a été fait au sein du GIE DYADE (Groupement d'Intérêt
+ Économique ayant pour membres BULL S.A. et l'INRIA).
+
+ Ce logiciel informatique est disponible aux conditions
+ usuelles dans la recherche, c'est-à-dire qu'il peut
+ être utilisé, copié, modifié, distribué à l'unique
+ condition que ce texte soit conservé afin que
+ l'origine de ce logiciel soit reconnue.
+
+ Le nom de l'Institut National de Recherche en Informatique
+ et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
+ ou physique ayant participé à l'élaboration de ce logiciel ne peut
+ être utilisé sans son accord préalable explicite.
+
+ Ce logiciel est fourni tel quel sans aucune garantie,
+ support ou responsabilité d'aucune sorte.
+ Ce logiciel est dérivé de sources d'origine
+ "University of California at Berkeley" et
+ "Digital Equipment Corporation" couvertes par des copyrights.
+
+ L'Institut d'Informatique et de Mathématiques Appliquées de Grenoble (IMAG)
+ est une fédération d'unités mixtes de recherche du CNRS, de l'Institut National
+ Polytechnique de Grenoble et de l'Université Joseph Fourier regroupant
+ sept laboratoires dont le laboratoire Logiciels, Systèmes, Réseaux (LSR).
+
+ This work has been done in the context of GIE DYADE (joint R & D venture
+ between BULL S.A. and INRIA).
+
+ This software is available with usual "research" terms
+ with the aim of retain credits of the software.
+ Permission to use, copy, modify and distribute this software for any
+ purpose and without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies,
+ and the name of INRIA, IMAG, or any contributor not be used in advertising
+ or publicity pertaining to this material without the prior explicit
+ permission. The software is provided "as is" without any
+ warranties, support or liabilities of any kind.
+ This software is derived from source code from
+ "University of California at Berkeley" and
+ "Digital Equipment Corporation" protected by copyrights.
+
+ Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
+ is a federation of seven research units funded by the CNRS, National
+ Polytechnic Institute of Grenoble and University Joseph Fourier.
+ The research unit in Software, Systems, Networks (LSR) is member of IMAG.
+*/
+
+/*
+ * Derived from :
+ *
+ *
+ * ipcp.c - PPP IP Control Protocol.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: ipv6cp.c 94180 2006-12-09 16:28:06Z pablo $
+ */
+
+#define RCSID "$Id: ipv6cp.c 94180 2006-12-09 16:28:06Z pablo $"
+
+/*
+ * TODO:
+ *
+ * Proxy Neighbour Discovery.
+ *
+ * Better defines for selecting the ordering of
+ * interface up / set address. (currently checks for __linux__,
+ * since SVR4 && (SNI || __USLC__) didn't work properly)
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <netdb.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipcp.h"
+#include "ipv6cp.h"
+#include "magic.h"
+#include "pathnames.h"
+
+static const char rcsid[] = RCSID;
+
+/* global vars */
+ipv6cp_options ipv6cp_wantoptions[NUM_PPP]; /* Options that we want to request */
+ipv6cp_options ipv6cp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
+ipv6cp_options ipv6cp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
+ipv6cp_options ipv6cp_hisoptions[NUM_PPP]; /* Options that we ack'd */
+int no_ifaceid_neg = 0;
+
+/* local vars */
+static int ipv6cp_is_up;
+
+/*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+static void ipv6cp_resetci __P((fsm *)); /* Reset our CI */
+static int ipv6cp_cilen __P((fsm *)); /* Return length of our CI */
+static void ipv6cp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+static int ipv6cp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+static int ipv6cp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
+static int ipv6cp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+static int ipv6cp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+static void ipv6cp_up __P((fsm *)); /* We're UP */
+static void ipv6cp_down __P((fsm *)); /* We're DOWN */
+static void ipv6cp_finished __P((fsm *)); /* Don't need lower layer */
+
+fsm ipv6cp_fsm[NUM_PPP]; /* IPV6CP fsm structure */
+
+static fsm_callbacks ipv6cp_callbacks = { /* IPV6CP callback routines */
+ ipv6cp_resetci, /* Reset our Configuration Information */
+ ipv6cp_cilen, /* Length of our Configuration Information */
+ ipv6cp_addci, /* Add our Configuration Information */
+ ipv6cp_ackci, /* ACK our Configuration Information */
+ ipv6cp_nakci, /* NAK our Configuration Information */
+ ipv6cp_rejci, /* Reject our Configuration Information */
+ ipv6cp_reqci, /* Request peer's Configuration Information */
+ ipv6cp_up, /* Called when fsm reaches OPENED state */
+ ipv6cp_down, /* Called when fsm leaves OPENED state */
+ NULL, /* Called when we want the lower layer up */
+ ipv6cp_finished, /* Called when we want the lower layer down */
+ NULL, /* Called when Protocol-Reject received */
+ NULL, /* Retransmission is necessary */
+ NULL, /* Called to handle protocol-specific codes */
+ "IPV6CP" /* String name of protocol */
+};
+
+/*
+ * Command-line options.
+ */
+static int setifaceid __P((char **arg));
+static void printifaceid __P((option_t *,
+ void (*)(void *, char *, ...), void *));
+
+static option_t ipv6cp_option_list[] = {
+ { "ipv6", o_special, (void *)setifaceid,
+ "Set interface identifiers for IPV6",
+ OPT_A2PRINTER, (void *)printifaceid },
+
+ { "+ipv6", o_bool, &ipv6cp_protent.enabled_flag,
+ "Enable IPv6 and IPv6CP", OPT_PRIO | 1 },
+ { "noipv6", o_bool, &ipv6cp_protent.enabled_flag,
+ "Disable IPv6 and IPv6CP", OPT_PRIOSUB },
+ { "-ipv6", o_bool, &ipv6cp_protent.enabled_flag,
+ "Disable IPv6 and IPv6CP", OPT_PRIOSUB | OPT_ALIAS },
+
+ { "ipv6cp-accept-local", o_bool, &ipv6cp_allowoptions[0].accept_local,
+ "Accept peer's interface identifier for us", 1 },
+
+ { "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
+ "Use (default) IPv4 address as interface identifier", 1 },
+
+#if defined(SOL2)
+ { "ipv6cp-use-persistent", o_bool, &ipv6cp_wantoptions[0].use_persistent,
+ "Use uniquely-available persistent value for link local address", 1 },
+#endif /* defined(SOL2) */
+
+ { "ipv6cp-restart", o_int, &ipv6cp_fsm[0].timeouttime,
+ "Set timeout for IPv6CP", OPT_PRIO },
+ { "ipv6cp-max-terminate", o_int, &ipv6cp_fsm[0].maxtermtransmits,
+ "Set max #xmits for term-reqs", OPT_PRIO },
+ { "ipv6cp-max-configure", o_int, &ipv6cp_fsm[0].maxconfreqtransmits,
+ "Set max #xmits for conf-reqs", OPT_PRIO },
+ { "ipv6cp-max-failure", o_int, &ipv6cp_fsm[0].maxnakloops,
+ "Set max #conf-naks for IPv6CP", OPT_PRIO },
+
+ { NULL }
+};
+
+
+/*
+ * Protocol entry points from main code.
+ */
+static void ipv6cp_init __P((int));
+static void ipv6cp_open __P((int));
+static void ipv6cp_close __P((int, char *));
+static void ipv6cp_lowerup __P((int));
+static void ipv6cp_lowerdown __P((int));
+static void ipv6cp_input __P((int, u_char *, int));
+static void ipv6cp_protrej __P((int));
+static int ipv6cp_printpkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+static void ipv6_check_options __P((void));
+static int ipv6_demand_conf __P((int));
+static int ipv6_active_pkt __P((u_char *, int));
+
+struct protent ipv6cp_protent = {
+ PPP_IPV6CP,
+ ipv6cp_init,
+ ipv6cp_input,
+ ipv6cp_protrej,
+ ipv6cp_lowerup,
+ ipv6cp_lowerdown,
+ ipv6cp_open,
+ ipv6cp_close,
+ ipv6cp_printpkt,
+ NULL,
+ 0,
+ "IPV6CP",
+ "IPV6",
+ ipv6cp_option_list,
+ ipv6_check_options,
+ ipv6_demand_conf,
+ ipv6_active_pkt
+};
+
+static void ipv6cp_clear_addrs __P((int, eui64_t, eui64_t));
+static void ipv6cp_script __P((char *));
+static void ipv6cp_script_done __P((void *));
+
+/*
+ * Lengths of configuration options.
+ */
+#define CILEN_VOID 2
+#define CILEN_COMPRESS 4 /* length for RFC2023 compress opt. */
+#define CILEN_IFACEID 10 /* RFC2472, interface identifier */
+
+#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
+ (x) == CONFNAK ? "NAK" : "REJ")
+
+/*
+ * This state variable is used to ensure that we don't
+ * run an ipcp-up/down script while one is already running.
+ */
+static enum script_state {
+ s_down,
+ s_up,
+} ipv6cp_script_state;
+static pid_t ipv6cp_script_pid;
+
+/*
+ * setifaceid - set the interface identifiers manually
+ */
+static int
+setifaceid(argv)
+ char **argv;
+{
+ char *comma, *arg, c;
+ ipv6cp_options *wo = &ipv6cp_wantoptions[0];
+ struct in6_addr addr;
+ static int prio_local, prio_remote;
+
+#define VALIDID(a) ( (((a).s6_addr32[0] == 0) && ((a).s6_addr32[1] == 0)) && \
+ (((a).s6_addr32[2] != 0) || ((a).s6_addr32[3] != 0)) )
+
+ arg = *argv;
+ if ((comma = strchr(arg, ',')) == NULL)
+ comma = arg + strlen(arg);
+
+ /*
+ * If comma first character, then no local identifier
+ */
+ if (comma != arg) {
+ c = *comma;
+ *comma = '\0';
+
+ if (inet_pton(AF_INET6, arg, &addr) == 0 || !VALIDID(addr)) {
+ option_error("Illegal interface identifier (local): %s", arg);
+ return 0;
+ }
+
+ if (option_priority >= prio_local) {
+ eui64_copy(addr.s6_addr32[2], wo->ourid);
+ wo->opt_local = 1;
+ prio_local = option_priority;
+ }
+ *comma = c;
+ }
+
+ /*
+ * If comma last character, the no remote identifier
+ */
+ if (*comma != 0 && *++comma != '\0') {
+ if (inet_pton(AF_INET6, comma, &addr) == 0 || !VALIDID(addr)) {
+ option_error("Illegal interface identifier (remote): %s", comma);
+ return 0;
+ }
+ if (option_priority >= prio_remote) {
+ eui64_copy(addr.s6_addr32[2], wo->hisid);
+ wo->opt_remote = 1;
+ prio_remote = option_priority;
+ }
+ }
+
+ if (override_value("+ipv6", option_priority, option_source))
+ ipv6cp_protent.enabled_flag = 1;
+ return 1;
+}
+
+static void
+printifaceid(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ ipv6cp_options *wo = &ipv6cp_wantoptions[0];
+
+ if (wo->opt_local)
+ printer(arg, "%s", llv6_ntoa(wo->ourid));
+ printer(arg, ",");
+ if (wo->opt_remote)
+ printer(arg, "%s", llv6_ntoa(wo->hisid));
+}
+
+/*
+ * Make a string representation of a network address.
+ */
+char *
+llv6_ntoa(ifaceid)
+ eui64_t ifaceid;
+{
+ static char b[64];
+
+ sprintf(b, "fe80::%s", eui64_ntoa(ifaceid));
+ return b;
+}
+
+
+/*
+ * ipv6cp_init - Initialize IPV6CP.
+ */
+static void
+ipv6cp_init(unit)
+ int unit;
+{
+ fsm *f = &ipv6cp_fsm[unit];
+ ipv6cp_options *wo = &ipv6cp_wantoptions[unit];
+ ipv6cp_options *ao = &ipv6cp_allowoptions[unit];
+
+ f->unit = unit;
+ f->protocol = PPP_IPV6CP;
+ f->callbacks = &ipv6cp_callbacks;
+ fsm_init(&ipv6cp_fsm[unit]);
+
+ memset(wo, 0, sizeof(*wo));
+ memset(ao, 0, sizeof(*ao));
+
+ wo->accept_local = 1;
+ wo->neg_ifaceid = 1;
+ ao->neg_ifaceid = 1;
+
+#ifdef IPV6CP_COMP
+ wo->neg_vj = 1;
+ ao->neg_vj = 1;
+ wo->vj_protocol = IPV6CP_COMP;
+#endif
+
+}
+
+
+/*
+ * ipv6cp_open - IPV6CP is allowed to come up.
+ */
+static void
+ipv6cp_open(unit)
+ int unit;
+{
+ fsm_open(&ipv6cp_fsm[unit]);
+}
+
+
+/*
+ * ipv6cp_close - Take IPV6CP down.
+ */
+static void
+ipv6cp_close(unit, reason)
+ int unit;
+ char *reason;
+{
+ fsm_close(&ipv6cp_fsm[unit], reason);
+}
+
+
+/*
+ * ipv6cp_lowerup - The lower layer is up.
+ */
+static void
+ipv6cp_lowerup(unit)
+ int unit;
+{
+ fsm_lowerup(&ipv6cp_fsm[unit]);
+}
+
+
+/*
+ * ipv6cp_lowerdown - The lower layer is down.
+ */
+static void
+ipv6cp_lowerdown(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipv6cp_fsm[unit]);
+}
+
+
+/*
+ * ipv6cp_input - Input IPV6CP packet.
+ */
+static void
+ipv6cp_input(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ fsm_input(&ipv6cp_fsm[unit], p, len);
+}
+
+
+/*
+ * ipv6cp_protrej - A Protocol-Reject was received for IPV6CP.
+ *
+ * Pretend the lower layer went down, so we shut up.
+ */
+static void
+ipv6cp_protrej(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipv6cp_fsm[unit]);
+}
+
+
+/*
+ * ipv6cp_resetci - Reset our CI.
+ */
+static void
+ipv6cp_resetci(f)
+ fsm *f;
+{
+ ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+
+ wo->req_ifaceid = wo->neg_ifaceid && ipv6cp_allowoptions[f->unit].neg_ifaceid;
+
+ if (!wo->opt_local) {
+ eui64_magic_nz(wo->ourid);
+ }
+
+ *go = *wo;
+ eui64_zero(go->hisid); /* last proposed interface identifier */
+}
+
+
+/*
+ * ipv6cp_cilen - Return length of our CI.
+ */
+static int
+ipv6cp_cilen(f)
+ fsm *f;
+{
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+
+#define LENCIVJ(neg) (neg ? CILEN_COMPRESS : 0)
+#define LENCIIFACEID(neg) (neg ? CILEN_IFACEID : 0)
+
+ return (LENCIIFACEID(go->neg_ifaceid) +
+ LENCIVJ(go->neg_vj));
+}
+
+
+/*
+ * ipv6cp_addci - Add our desired CIs to a packet.
+ */
+static void
+ipv6cp_addci(f, ucp, lenp)
+ fsm *f;
+ u_char *ucp;
+ int *lenp;
+{
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ int len = *lenp;
+
+#define ADDCIVJ(opt, neg, val) \
+ if (neg) { \
+ int vjlen = CILEN_COMPRESS; \
+ if (len >= vjlen) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(vjlen, ucp); \
+ PUTSHORT(val, ucp); \
+ len -= vjlen; \
+ } else \
+ neg = 0; \
+ }
+
+#define ADDCIIFACEID(opt, neg, val1) \
+ if (neg) { \
+ int idlen = CILEN_IFACEID; \
+ if (len >= idlen) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(idlen, ucp); \
+ eui64_put(val1, ucp); \
+ len -= idlen; \
+ } else \
+ neg = 0; \
+ }
+
+ ADDCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
+
+ ADDCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
+
+ *lenp -= len;
+}
+
+
+/*
+ * ipv6cp_ackci - Ack our CIs.
+ *
+ * Returns:
+ * 0 - Ack was bad.
+ * 1 - Ack was good.
+ */
+static int
+ipv6cp_ackci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ u_short cilen, citype, cishort;
+ eui64_t ifaceid;
+
+ /*
+ * CIs must be in exactly the same order that we sent...
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+
+#define ACKCIVJ(opt, neg, val) \
+ if (neg) { \
+ int vjlen = CILEN_COMPRESS; \
+ if ((len -= vjlen) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != vjlen || \
+ citype != opt) \
+ goto bad; \
+ GETSHORT(cishort, p); \
+ if (cishort != val) \
+ goto bad; \
+ }
+
+#define ACKCIIFACEID(opt, neg, val1) \
+ if (neg) { \
+ int idlen = CILEN_IFACEID; \
+ if ((len -= idlen) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != idlen || \
+ citype != opt) \
+ goto bad; \
+ eui64_get(ifaceid, p); \
+ if (! eui64_equals(val1, ifaceid)) \
+ goto bad; \
+ }
+
+ ACKCIIFACEID(CI_IFACEID, go->neg_ifaceid, go->ourid);
+
+ ACKCIVJ(CI_COMPRESSTYPE, go->neg_vj, go->vj_protocol);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ return (1);
+
+bad:
+ IPV6CPDEBUG(("ipv6cp_ackci: received bad Ack!"));
+ return (0);
+}
+
+/*
+ * ipv6cp_nakci - Peer has sent a NAK for some of our CIs.
+ * This should not modify any state if the Nak is bad
+ * or if IPV6CP is in the OPENED state.
+ *
+ * Returns:
+ * 0 - Nak was bad.
+ * 1 - Nak was good.
+ */
+static int
+ipv6cp_nakci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ u_char citype, cilen, *next;
+ u_short cishort;
+ eui64_t ifaceid;
+ ipv6cp_options no; /* options we've seen Naks for */
+ ipv6cp_options try; /* options to request next time */
+
+ BZERO(&no, sizeof(no));
+ try = *go;
+
+ /*
+ * Any Nak'd CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define NAKCIIFACEID(opt, neg, code) \
+ if (go->neg && \
+ len >= (cilen = CILEN_IFACEID) && \
+ p[1] == cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ eui64_get(ifaceid, p); \
+ no.neg = 1; \
+ code \
+ }
+
+#define NAKCIVJ(opt, neg, code) \
+ if (go->neg && \
+ ((cilen = p[1]) == CILEN_COMPRESS) && \
+ len >= cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ no.neg = 1; \
+ code \
+ }
+
+ /*
+ * Accept the peer's idea of {our,his} interface identifier, if different
+ * from our idea, only if the accept_{local,remote} flag is set.
+ */
+ NAKCIIFACEID(CI_IFACEID, neg_ifaceid,
+ if (go->accept_local) {
+ while (eui64_iszero(ifaceid) ||
+ eui64_equals(ifaceid, go->hisid)) /* bad luck */
+ eui64_magic(ifaceid);
+ try.ourid = ifaceid;
+ IPV6CPDEBUG(("local LL address %s", llv6_ntoa(ifaceid)));
+ }
+ );
+
+#ifdef IPV6CP_COMP
+ NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
+ {
+ if (cishort == IPV6CP_COMP) {
+ try.vj_protocol = cishort;
+ } else {
+ try.neg_vj = 0;
+ }
+ }
+ );
+#else
+ NAKCIVJ(CI_COMPRESSTYPE, neg_vj,
+ {
+ try.neg_vj = 0;
+ }
+ );
+#endif
+
+ /*
+ * There may be remaining CIs, if the peer is requesting negotiation
+ * on an option that we didn't include in our request packet.
+ * If they want to negotiate about interface identifier, we comply.
+ * If they want us to ask for compression, we refuse.
+ */
+ while (len > CILEN_VOID) {
+ GETCHAR(citype, p);
+ GETCHAR(cilen, p);
+ if( (len -= cilen) < 0 )
+ goto bad;
+ next = p + cilen - 2;
+
+ switch (citype) {
+ case CI_COMPRESSTYPE:
+ if (go->neg_vj || no.neg_vj ||
+ (cilen != CILEN_COMPRESS))
+ goto bad;
+ no.neg_vj = 1;
+ break;
+ case CI_IFACEID:
+ if (go->neg_ifaceid || no.neg_ifaceid || cilen != CILEN_IFACEID)
+ goto bad;
+ try.neg_ifaceid = 1;
+ eui64_get(ifaceid, p);
+ if (go->accept_local) {
+ while (eui64_iszero(ifaceid) ||
+ eui64_equals(ifaceid, go->hisid)) /* bad luck */
+ eui64_magic(ifaceid);
+ try.ourid = ifaceid;
+ }
+ no.neg_ifaceid = 1;
+ break;
+ }
+ p = next;
+ }
+
+ /* If there is still anything left, this packet is bad. */
+ if (len != 0)
+ goto bad;
+
+ /*
+ * OK, the Nak is good. Now we can update state.
+ */
+ if (f->state != OPENED)
+ *go = try;
+
+ return 1;
+
+bad:
+ IPV6CPDEBUG(("ipv6cp_nakci: received bad Nak!"));
+ return 0;
+}
+
+
+/*
+ * ipv6cp_rejci - Reject some of our CIs.
+ */
+static int
+ipv6cp_rejci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ u_char cilen;
+ u_short cishort;
+ eui64_t ifaceid;
+ ipv6cp_options try; /* options to request next time */
+
+ try = *go;
+ /*
+ * Any Rejected CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define REJCIIFACEID(opt, neg, val1) \
+ if (go->neg && \
+ len >= (cilen = CILEN_IFACEID) && \
+ p[1] == cilen && \
+ p[0] == opt) { \
+ len -= cilen; \
+ INCPTR(2, p); \
+ eui64_get(ifaceid, p); \
+ /* Check rejected value. */ \
+ if (! eui64_equals(ifaceid, val1)) \
+ goto bad; \
+ try.neg = 0; \
+ }
+
+#define REJCIVJ(opt, neg, val) \
+ if (go->neg && \
+ p[1] == CILEN_COMPRESS && \
+ len >= p[1] && \
+ p[0] == opt) { \
+ len -= p[1]; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ /* Check rejected value. */ \
+ if (cishort != val) \
+ goto bad; \
+ try.neg = 0; \
+ }
+
+ REJCIIFACEID(CI_IFACEID, neg_ifaceid, go->ourid);
+
+ REJCIVJ(CI_COMPRESSTYPE, neg_vj, go->vj_protocol);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ /*
+ * Now we can update state.
+ */
+ if (f->state != OPENED)
+ *go = try;
+ return 1;
+
+bad:
+ IPV6CPDEBUG(("ipv6cp_rejci: received bad Reject!"));
+ return 0;
+}
+
+
+/*
+ * ipv6cp_reqci - Check the peer's requested CIs and send appropriate response.
+ *
+ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
+ * appropriately. If reject_if_disagree is non-zero, doesn't return
+ * CONFNAK; returns CONFREJ if it can't return CONFACK.
+ */
+static int
+ipv6cp_reqci(f, inp, len, reject_if_disagree)
+ fsm *f;
+ u_char *inp; /* Requested CIs */
+ int *len; /* Length of requested CIs */
+ int reject_if_disagree;
+{
+ ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
+ ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
+ ipv6cp_options *ao = &ipv6cp_allowoptions[f->unit];
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ u_char *cip, *next; /* Pointer to current and next CIs */
+ u_short cilen, citype; /* Parsed len, type */
+ u_short cishort; /* Parsed short value */
+ eui64_t ifaceid; /* Parsed interface identifier */
+ int rc = CONFACK; /* Final packet return code */
+ int orc; /* Individual option return code */
+ u_char *p; /* Pointer to next char to parse */
+ u_char *ucp = inp; /* Pointer to current output char */
+ int l = *len; /* Length left */
+
+ /*
+ * Reset all his options.
+ */
+ BZERO(ho, sizeof(*ho));
+
+ /*
+ * Process all his options.
+ */
+ next = inp;
+ while (l) {
+ orc = CONFACK; /* Assume success */
+ cip = p = next; /* Remember begining of CI */
+ if (l < 2 || /* Not enough data for CI header or */
+ p[1] < 2 || /* CI length too small or */
+ p[1] > l) { /* CI length too big? */
+ IPV6CPDEBUG(("ipv6cp_reqci: bad CI length!"));
+ orc = CONFREJ; /* Reject bad CI */
+ cilen = l; /* Reject till end of packet */
+ l = 0; /* Don't loop again */
+ goto endswitch;
+ }
+ GETCHAR(citype, p); /* Parse CI type */
+ GETCHAR(cilen, p); /* Parse CI length */
+ l -= cilen; /* Adjust remaining length */
+ next += cilen; /* Step to next CI */
+
+ switch (citype) { /* Check CI type */
+ case CI_IFACEID:
+ IPV6CPDEBUG(("ipv6cp: received interface identifier "));
+
+ if (!ao->neg_ifaceid ||
+ cilen != CILEN_IFACEID) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+
+ /*
+ * If he has no interface identifier, or if we both have same
+ * identifier then NAK it with new idea.
+ * In particular, if we don't know his identifier, but he does,
+ * then accept it.
+ */
+ eui64_get(ifaceid, p);
+ IPV6CPDEBUG(("(%s)", llv6_ntoa(ifaceid)));
+ if (eui64_iszero(ifaceid) && eui64_iszero(go->ourid)) {
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+ if (!eui64_iszero(wo->hisid) &&
+ !eui64_equals(ifaceid, wo->hisid) &&
+ eui64_iszero(go->hisid)) {
+
+ orc = CONFNAK;
+ ifaceid = wo->hisid;
+ go->hisid = ifaceid;
+ DECPTR(sizeof(ifaceid), p);
+ eui64_put(ifaceid, p);
+ } else
+ if (eui64_iszero(ifaceid) || eui64_equals(ifaceid, go->ourid)) {
+ orc = CONFNAK;
+ if (eui64_iszero(go->hisid)) /* first time, try option */
+ ifaceid = wo->hisid;
+ while (eui64_iszero(ifaceid) ||
+ eui64_equals(ifaceid, go->ourid)) /* bad luck */
+ eui64_magic(ifaceid);
+ go->hisid = ifaceid;
+ DECPTR(sizeof(ifaceid), p);
+ eui64_put(ifaceid, p);
+ }
+
+ ho->neg_ifaceid = 1;
+ ho->hisid = ifaceid;
+ break;
+
+ case CI_COMPRESSTYPE:
+ IPV6CPDEBUG(("ipv6cp: received COMPRESSTYPE "));
+ if (!ao->neg_vj ||
+ (cilen != CILEN_COMPRESS)) {
+ orc = CONFREJ;
+ break;
+ }
+ GETSHORT(cishort, p);
+ IPV6CPDEBUG(("(%d)", cishort));
+
+#ifdef IPV6CP_COMP
+ if (!(cishort == IPV6CP_COMP)) {
+ orc = CONFREJ;
+ break;
+ }
+
+ ho->neg_vj = 1;
+ ho->vj_protocol = cishort;
+ break;
+#else
+ orc = CONFREJ;
+ break;
+#endif
+
+ default:
+ orc = CONFREJ;
+ break;
+ }
+
+endswitch:
+ IPV6CPDEBUG((" (%s)\n", CODENAME(orc)));
+
+ if (orc == CONFACK && /* Good CI */
+ rc != CONFACK) /* but prior CI wasnt? */
+ continue; /* Don't send this one */
+
+ if (orc == CONFNAK) { /* Nak this CI? */
+ if (reject_if_disagree) /* Getting fed up with sending NAKs? */
+ orc = CONFREJ; /* Get tough if so */
+ else {
+ if (rc == CONFREJ) /* Rejecting prior CI? */
+ continue; /* Don't send this one */
+ if (rc == CONFACK) { /* Ack'd all prior CIs? */
+ rc = CONFNAK; /* Not anymore... */
+ ucp = inp; /* Backup */
+ }
+ }
+ }
+
+ if (orc == CONFREJ && /* Reject this CI */
+ rc != CONFREJ) { /* but no prior ones? */
+ rc = CONFREJ;
+ ucp = inp; /* Backup */
+ }
+
+ /* Need to move CI? */
+ if (ucp != cip)
+ BCOPY(cip, ucp, cilen); /* Move it */
+
+ /* Update output pointer */
+ INCPTR(cilen, ucp);
+ }
+
+ /*
+ * If we aren't rejecting this packet, and we want to negotiate
+ * their identifier and they didn't send their identifier, then we
+ * send a NAK with a CI_IFACEID option appended. We assume the
+ * input buffer is long enough that we can append the extra
+ * option safely.
+ */
+ if (rc != CONFREJ && !ho->neg_ifaceid &&
+ wo->req_ifaceid && !reject_if_disagree) {
+ if (rc == CONFACK) {
+ rc = CONFNAK;
+ ucp = inp; /* reset pointer */
+ wo->req_ifaceid = 0; /* don't ask again */
+ }
+ PUTCHAR(CI_IFACEID, ucp);
+ PUTCHAR(CILEN_IFACEID, ucp);
+ eui64_put(wo->hisid, ucp);
+ }
+
+ *len = ucp - inp; /* Compute output length */
+ IPV6CPDEBUG(("ipv6cp: returning Configure-%s", CODENAME(rc)));
+ return (rc); /* Return final code */
+}
+
+
+/*
+ * ipv6_check_options - check that any IP-related options are OK,
+ * and assign appropriate defaults.
+ */
+static void
+ipv6_check_options()
+{
+ ipv6cp_options *wo = &ipv6cp_wantoptions[0];
+
+ if (!ipv6cp_protent.enabled_flag)
+ return;
+
+#if defined(SOL2)
+ /*
+ * Persistent link-local id is only used when user has not explicitly
+ * configure/hard-code the id
+ */
+ if ((wo->use_persistent) && (!wo->opt_local) && (!wo->opt_remote)) {
+
+ /*
+ * On systems where there are no Ethernet interfaces used, there
+ * may be other ways to obtain a persistent id. Right now, it
+ * will fall back to using magic [see eui64_magic] below when
+ * an EUI-48 from MAC address can't be obtained. Other possibilities
+ * include obtaining EEPROM serial numbers, or some other unique
+ * yet persistent number. On Sparc platforms, this is possible,
+ * but too bad there's no standards yet for x86 machines.
+ */
+ if (ether_to_eui64(&wo->ourid)) {
+ wo->opt_local = 1;
+ }
+ }
+#endif
+
+ if (!wo->opt_local) { /* init interface identifier */
+ if (wo->use_ip && eui64_iszero(wo->ourid)) {
+ eui64_setlo32(wo->ourid, ntohl(ipcp_wantoptions[0].ouraddr));
+ if (!eui64_iszero(wo->ourid))
+ wo->opt_local = 1;
+ }
+
+ while (eui64_iszero(wo->ourid))
+ eui64_magic(wo->ourid);
+ }
+
+ if (!wo->opt_remote) {
+ if (wo->use_ip && eui64_iszero(wo->hisid)) {
+ eui64_setlo32(wo->hisid, ntohl(ipcp_wantoptions[0].hisaddr));
+ if (!eui64_iszero(wo->hisid))
+ wo->opt_remote = 1;
+ }
+ }
+
+ if (demand && (eui64_iszero(wo->ourid) || eui64_iszero(wo->hisid))) {
+ option_error("local/remote LL address required for demand-dialling\n");
+ exit(1);
+ }
+}
+
+
+/*
+ * ipv6_demand_conf - configure the interface as though
+ * IPV6CP were up, for use with dial-on-demand.
+ */
+static int
+ipv6_demand_conf(u)
+ int u;
+{
+ ipv6cp_options *wo = &ipv6cp_wantoptions[u];
+
+#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+#if defined(SOL2)
+ if (!sif6up(u))
+ return 0;
+#else
+ if (!sifup(u))
+ return 0;
+#endif /* defined(SOL2) */
+#endif
+ if (!sif6addr(u, wo->ourid, wo->hisid))
+ return 0;
+#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+ if (!sifup(u))
+ return 0;
+#endif
+ if (!sifnpmode(u, PPP_IPV6, NPMODE_QUEUE))
+ return 0;
+
+ notice("ipv6_demand_conf");
+ notice("local LL address %s", llv6_ntoa(wo->ourid));
+ notice("remote LL address %s", llv6_ntoa(wo->hisid));
+
+ return 1;
+}
+
+
+/*
+ * ipv6cp_up - IPV6CP has come UP.
+ *
+ * Configure the IPv6 network interface appropriately and bring it up.
+ */
+static void
+ipv6cp_up(f)
+ fsm *f;
+{
+ ipv6cp_options *ho = &ipv6cp_hisoptions[f->unit];
+ ipv6cp_options *go = &ipv6cp_gotoptions[f->unit];
+ ipv6cp_options *wo = &ipv6cp_wantoptions[f->unit];
+
+ IPV6CPDEBUG(("ipv6cp: up"));
+
+ /*
+ * We must have a non-zero LL address for both ends of the link.
+ */
+ if (!ho->neg_ifaceid)
+ ho->hisid = wo->hisid;
+
+ if(!no_ifaceid_neg) {
+ if (eui64_iszero(ho->hisid)) {
+ error("Could not determine remote LL address");
+ ipv6cp_close(f->unit, "Could not determine remote LL address");
+ return;
+ }
+ if (eui64_iszero(go->ourid)) {
+ error("Could not determine local LL address");
+ ipv6cp_close(f->unit, "Could not determine local LL address");
+ return;
+ }
+ if (eui64_equals(go->ourid, ho->hisid)) {
+ error("local and remote LL addresses are equal");
+ ipv6cp_close(f->unit, "local and remote LL addresses are equal");
+ return;
+ }
+ }
+ script_setenv("LLLOCAL", llv6_ntoa(go->ourid), 0);
+ script_setenv("LLREMOTE", llv6_ntoa(ho->hisid), 0);
+
+#ifdef IPV6CP_COMP
+ /* set tcp compression */
+ sif6comp(f->unit, ho->neg_vj);
+#endif
+
+ /*
+ * If we are doing dial-on-demand, the interface is already
+ * configured, so we put out any saved-up packets, then set the
+ * interface to pass IPv6 packets.
+ */
+ if (demand) {
+ if (! eui64_equals(go->ourid, wo->ourid) ||
+ ! eui64_equals(ho->hisid, wo->hisid)) {
+ if (! eui64_equals(go->ourid, wo->ourid))
+ warn("Local LL address changed to %s",
+ llv6_ntoa(go->ourid));
+ if (! eui64_equals(ho->hisid, wo->hisid))
+ warn("Remote LL address changed to %s",
+ llv6_ntoa(ho->hisid));
+ ipv6cp_clear_addrs(f->unit, go->ourid, ho->hisid);
+
+ /* Set the interface to the new addresses */
+ if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
+ if (debug)
+ warn("sif6addr failed");
+ ipv6cp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+
+ }
+ demand_rexmit(PPP_IPV6);
+ sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
+
+ } else {
+ /*
+ * Set LL addresses
+ */
+#if !defined(__linux__) && !defined(SOL2) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+ if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
+ if (debug)
+ warn("sif6addr failed");
+ ipv6cp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#endif
+
+ /* bring the interface up for IPv6 */
+#if defined(SOL2)
+ if (!sif6up(f->unit)) {
+ if (debug)
+ warn("sifup failed (IPV6)");
+ ipv6cp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#else
+ if (!sifup(f->unit)) {
+ if (debug)
+ warn("sifup failed (IPV6)");
+ ipv6cp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#endif /* defined(SOL2) */
+
+#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
+ if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
+ if (debug)
+ warn("sif6addr failed");
+ ipv6cp_close(f->unit, "Interface configuration failed");
+ return;
+ }
+#endif
+ sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
+
+ notice("local LL address %s", llv6_ntoa(go->ourid));
+ notice("remote LL address %s", llv6_ntoa(ho->hisid));
+ }
+
+ np_up(f->unit, PPP_IPV6);
+ ipv6cp_is_up = 1;
+
+ /*
+ * Execute the ipv6-up script, like this:
+ * /etc/ppp/ipv6-up interface tty speed local-LL remote-LL
+ */
+ if (ipv6cp_script_state == s_down && ipv6cp_script_pid == 0) {
+ ipv6cp_script_state = s_up;
+ ipv6cp_script(_PATH_IPV6UP);
+ }
+}
+
+
+/*
+ * ipv6cp_down - IPV6CP has gone DOWN.
+ *
+ * Take the IPv6 network interface down, clear its addresses
+ * and delete routes through it.
+ */
+static void
+ipv6cp_down(f)
+ fsm *f;
+{
+ IPV6CPDEBUG(("ipv6cp: down"));
+ update_link_stats(f->unit);
+ if (ipv6cp_is_up) {
+ ipv6cp_is_up = 0;
+ np_down(f->unit, PPP_IPV6);
+ }
+#ifdef IPV6CP_COMP
+ sif6comp(f->unit, 0);
+#endif
+
+ /*
+ * If we are doing dial-on-demand, set the interface
+ * to queue up outgoing packets (for now).
+ */
+ if (demand) {
+ sifnpmode(f->unit, PPP_IPV6, NPMODE_QUEUE);
+ } else {
+ sifnpmode(f->unit, PPP_IPV6, NPMODE_DROP);
+#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC)))
+#if defined(SOL2)
+ sif6down(f->unit);
+#else
+ sifdown(f->unit);
+#endif /* defined(SOL2) */
+#endif
+ ipv6cp_clear_addrs(f->unit,
+ ipv6cp_gotoptions[f->unit].ourid,
+ ipv6cp_hisoptions[f->unit].hisid);
+#if defined(__linux__) || (defined(SVR4) && (defined(SNI) || defined(__USLC)))
+ sifdown(f->unit);
+#endif
+ }
+
+ /* Execute the ipv6-down script */
+ if (ipv6cp_script_state == s_up && ipv6cp_script_pid == 0) {
+ ipv6cp_script_state = s_down;
+ ipv6cp_script(_PATH_IPV6DOWN);
+ }
+}
+
+
+/*
+ * ipv6cp_clear_addrs() - clear the interface addresses, routes,
+ * proxy neighbour discovery entries, etc.
+ */
+static void
+ipv6cp_clear_addrs(unit, ourid, hisid)
+ int unit;
+ eui64_t ourid;
+ eui64_t hisid;
+{
+ cif6addr(unit, ourid, hisid);
+}
+
+
+/*
+ * ipv6cp_finished - possibly shut down the lower layers.
+ */
+static void
+ipv6cp_finished(f)
+ fsm *f;
+{
+ np_finished(f->unit, PPP_IPV6);
+}
+
+
+/*
+ * ipv6cp_script_done - called when the ipv6-up or ipv6-down script
+ * has finished.
+ */
+static void
+ipv6cp_script_done(arg)
+ void *arg;
+{
+ ipv6cp_script_pid = 0;
+ switch (ipv6cp_script_state) {
+ case s_up:
+ if (ipv6cp_fsm[0].state != OPENED) {
+ ipv6cp_script_state = s_down;
+ ipv6cp_script(_PATH_IPV6DOWN);
+ }
+ break;
+ case s_down:
+ if (ipv6cp_fsm[0].state == OPENED) {
+ ipv6cp_script_state = s_up;
+ ipv6cp_script(_PATH_IPV6UP);
+ }
+ break;
+ }
+}
+
+
+/*
+ * ipv6cp_script - Execute a script with arguments
+ * interface-name tty-name speed local-LL remote-LL.
+ */
+static void
+ipv6cp_script(script)
+ char *script;
+{
+ char strspeed[32], strlocal[32], strremote[32];
+ char *argv[8];
+
+ sprintf(strspeed, "%d", baud_rate);
+ strcpy(strlocal, llv6_ntoa(ipv6cp_gotoptions[0].ourid));
+ strcpy(strremote, llv6_ntoa(ipv6cp_hisoptions[0].hisid));
+
+ argv[0] = script;
+ argv[1] = ifname;
+ argv[2] = devnam;
+ argv[3] = strspeed;
+ argv[4] = strlocal;
+ argv[5] = strremote;
+ argv[6] = ipparam;
+ argv[7] = NULL;
+
+ ipv6cp_script_pid = run_program(script, argv, 0, ipv6cp_script_done, NULL);
+}
+
+/*
+ * ipv6cp_printpkt - print the contents of an IPV6CP packet.
+ */
+static char *ipv6cp_codenames[] = {
+ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
+ "TermReq", "TermAck", "CodeRej"
+};
+
+static int
+ipv6cp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len, olen;
+ u_char *pstart, *optend;
+ u_short cishort;
+ eui64_t ifaceid;
+
+ if (plen < HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(ipv6cp_codenames) / sizeof(char *))
+ printer(arg, " %s", ipv6cp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+ switch (code) {
+ case CONFREQ:
+ case CONFACK:
+ case CONFNAK:
+ case CONFREJ:
+ /* print option list */
+ while (len >= 2) {
+ GETCHAR(code, p);
+ GETCHAR(olen, p);
+ p -= 2;
+ if (olen < 2 || olen > len) {
+ break;
+ }
+ printer(arg, " <");
+ len -= olen;
+ optend = p + olen;
+ switch (code) {
+ case CI_COMPRESSTYPE:
+ if (olen >= CILEN_COMPRESS) {
+ p += 2;
+ GETSHORT(cishort, p);
+ printer(arg, "compress ");
+ printer(arg, "0x%x", cishort);
+ }
+ break;
+ case CI_IFACEID:
+ if (olen == CILEN_IFACEID) {
+ p += 2;
+ eui64_get(ifaceid, p);
+ printer(arg, "addr %s", llv6_ntoa(ifaceid));
+ }
+ break;
+ }
+ while (p < optend) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+ printer(arg, ">");
+ }
+ break;
+
+ case TERMACK:
+ case TERMREQ:
+ if (len > 0 && *p >= ' ' && *p < 0x7f) {
+ printer(arg, " ");
+ print_string((char *)p, len, printer, arg);
+ p += len;
+ len = 0;
+ }
+ break;
+ }
+
+ /* print the rest of the bytes in the packet */
+ for (; len > 0; --len) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+
+ return p - pstart;
+}
+
+/*
+ * ipv6_active_pkt - see if this IP packet is worth bringing the link up for.
+ * We don't bring the link up for IP fragments or for TCP FIN packets
+ * with no data.
+ */
+#define IP6_HDRLEN 40 /* bytes */
+#define IP6_NHDR_FRAG 44 /* fragment IPv6 header */
+#define IPPROTO_TCP 6
+#define TCP_HDRLEN 20
+#define TH_FIN 0x01
+
+/*
+ * We use these macros because the IP header may be at an odd address,
+ * and some compilers might use word loads to get th_off or ip_hl.
+ */
+
+#define get_ip6nh(x) (((unsigned char *)(x))[6])
+#define get_tcpoff(x) (((unsigned char *)(x))[12] >> 4)
+#define get_tcpflags(x) (((unsigned char *)(x))[13])
+
+static int
+ipv6_active_pkt(pkt, len)
+ u_char *pkt;
+ int len;
+{
+ u_char *tcp;
+
+ len -= PPP_HDRLEN;
+ pkt += PPP_HDRLEN;
+ if (len < IP6_HDRLEN)
+ return 0;
+ if (get_ip6nh(pkt) == IP6_NHDR_FRAG)
+ return 0;
+ if (get_ip6nh(pkt) != IPPROTO_TCP)
+ return 1;
+ if (len < IP6_HDRLEN + TCP_HDRLEN)
+ return 0;
+ tcp = pkt + IP6_HDRLEN;
+ if ((get_tcpflags(tcp) & TH_FIN) != 0 && len == IP6_HDRLEN + get_tcpoff(tcp) * 4)
+ return 0;
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/ipv6cp.h b/mdk-stage1/ppp/pppd/ipv6cp.h
new file mode 100644
index 000000000..abd157691
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipv6cp.h
@@ -0,0 +1,126 @@
+/*
+ ipv6cp.h - PPP IPV6 Control Protocol.
+ Copyright (C) 1999 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+
+ Redistribution and use in source and binary forms are permitted
+ provided that the above copyright notice and this paragraph are
+ duplicated in all such forms. The name of the author may not be
+ used to endorse or promote products derived from this software
+ without specific prior written permission.
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+*/
+
+/* Original version, based on RFC2023 :
+
+ Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
+ Alain.Durand@imag.fr, IMAG,
+ Jean-Luc.Richier@imag.fr, IMAG-LSR.
+
+ Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
+ Alain.Durand@imag.fr, IMAG,
+ Jean-Luc.Richier@imag.fr, IMAG-LSR.
+
+ Ce travail a été fait au sein du GIE DYADE (Groupement d'Intérêt
+ Économique ayant pour membres BULL S.A. et l'INRIA).
+
+ Ce logiciel informatique est disponible aux conditions
+ usuelles dans la recherche, c'est-à-dire qu'il peut
+ être utilisé, copié, modifié, distribué à l'unique
+ condition que ce texte soit conservé afin que
+ l'origine de ce logiciel soit reconnue.
+
+ Le nom de l'Institut National de Recherche en Informatique
+ et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
+ ou physique ayant participé à l'élaboration de ce logiciel ne peut
+ être utilisé sans son accord préalable explicite.
+
+ Ce logiciel est fourni tel quel sans aucune garantie,
+ support ou responsabilité d'aucune sorte.
+ Ce logiciel est dérivé de sources d'origine
+ "University of California at Berkeley" et
+ "Digital Equipment Corporation" couvertes par des copyrights.
+
+ L'Institut d'Informatique et de Mathématiques Appliquées de Grenoble (IMAG)
+ est une fédération d'unités mixtes de recherche du CNRS, de l'Institut National
+ Polytechnique de Grenoble et de l'Université Joseph Fourier regroupant
+ sept laboratoires dont le laboratoire Logiciels, Systèmes, Réseaux (LSR).
+
+ This work has been done in the context of GIE DYADE (joint R & D venture
+ between BULL S.A. and INRIA).
+
+ This software is available with usual "research" terms
+ with the aim of retain credits of the software.
+ Permission to use, copy, modify and distribute this software for any
+ purpose and without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies,
+ and the name of INRIA, IMAG, or any contributor not be used in advertising
+ or publicity pertaining to this material without the prior explicit
+ permission. The software is provided "as is" without any
+ warranties, support or liabilities of any kind.
+ This software is derived from source code from
+ "University of California at Berkeley" and
+ "Digital Equipment Corporation" protected by copyrights.
+
+ Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
+ is a federation of seven research units funded by the CNRS, National
+ Polytechnic Institute of Grenoble and University Joseph Fourier.
+ The research unit in Software, Systems, Networks (LSR) is member of IMAG.
+*/
+
+/*
+ * Derived from :
+ *
+ *
+ * ipcp.h - IP Control Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: ipv6cp.h 94180 2006-12-09 16:28:06Z pablo $
+ */
+
+/*
+ * Options.
+ */
+#define CI_IFACEID 1 /* Interface Identifier */
+#define CI_COMPRESSTYPE 2 /* Compression Type */
+
+/* No compression types yet defined.
+ *#define IPV6CP_COMP 0x004f
+ */
+typedef struct ipv6cp_options {
+ int neg_ifaceid; /* Negotiate interface identifier? */
+ int req_ifaceid; /* Ask peer to send interface identifier? */
+ int accept_local; /* accept peer's value for iface id? */
+ int opt_local; /* ourtoken set by option */
+ int opt_remote; /* histoken set by option */
+ int use_ip; /* use IP as interface identifier */
+#if defined(SOL2)
+ int use_persistent; /* use uniquely persistent value for address */
+#endif /* defined(SOL2) */
+ int neg_vj; /* Van Jacobson Compression? */
+ u_short vj_protocol; /* protocol value to use in VJ option */
+ eui64_t ourid, hisid; /* Interface identifiers */
+} ipv6cp_options;
+
+extern fsm ipv6cp_fsm[];
+extern ipv6cp_options ipv6cp_wantoptions[];
+extern ipv6cp_options ipv6cp_gotoptions[];
+extern ipv6cp_options ipv6cp_allowoptions[];
+extern ipv6cp_options ipv6cp_hisoptions[];
+
+extern struct protent ipv6cp_protent;
diff --git a/mdk-stage1/ppp/pppd/ipxcp.c b/mdk-stage1/ppp/pppd/ipxcp.c
new file mode 100644
index 000000000..4aa900fe0
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipxcp.c
@@ -0,0 +1,1570 @@
+/*
+ * ipxcp.c - PPP IPX Control Protocol.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifdef IPX_CHANGE
+
+#define RCSID "$Id: ipxcp.c 6001 2001-06-11 11:44:34Z gc $"
+
+/*
+ * TODO:
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipxcp.h"
+#include "pathnames.h"
+#include "magic.h"
+
+static const char rcsid[] = RCSID;
+
+/* global vars */
+ipxcp_options ipxcp_wantoptions[NUM_PPP]; /* Options that we want to request */
+ipxcp_options ipxcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
+ipxcp_options ipxcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
+ipxcp_options ipxcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
+
+#define wo (&ipxcp_wantoptions[0])
+#define ao (&ipxcp_allowoptions[0])
+#define go (&ipxcp_gotoptions[0])
+#define ho (&ipxcp_hisoptions[0])
+
+/*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+static void ipxcp_resetci __P((fsm *)); /* Reset our CI */
+static int ipxcp_cilen __P((fsm *)); /* Return length of our CI */
+static void ipxcp_addci __P((fsm *, u_char *, int *)); /* Add our CI */
+static int ipxcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+static int ipxcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
+static int ipxcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+static int ipxcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv CI */
+static void ipxcp_up __P((fsm *)); /* We're UP */
+static void ipxcp_down __P((fsm *)); /* We're DOWN */
+static void ipxcp_finished __P((fsm *)); /* Don't need lower layer */
+static void ipxcp_script __P((fsm *, char *)); /* Run an up/down script */
+
+fsm ipxcp_fsm[NUM_PPP]; /* IPXCP fsm structure */
+
+static fsm_callbacks ipxcp_callbacks = { /* IPXCP callback routines */
+ ipxcp_resetci, /* Reset our Configuration Information */
+ ipxcp_cilen, /* Length of our Configuration Information */
+ ipxcp_addci, /* Add our Configuration Information */
+ ipxcp_ackci, /* ACK our Configuration Information */
+ ipxcp_nakci, /* NAK our Configuration Information */
+ ipxcp_rejci, /* Reject our Configuration Information */
+ ipxcp_reqci, /* Request peer's Configuration Information */
+ ipxcp_up, /* Called when fsm reaches OPENED state */
+ ipxcp_down, /* Called when fsm leaves OPENED state */
+ NULL, /* Called when we want the lower layer up */
+ ipxcp_finished, /* Called when we want the lower layer down */
+ NULL, /* Called when Protocol-Reject received */
+ NULL, /* Retransmission is necessary */
+ NULL, /* Called to handle protocol-specific codes */
+ "IPXCP" /* String name of protocol */
+};
+
+/*
+ * Command-line options.
+ */
+static int setipxnode __P((char **));
+static void printipxnode __P((option_t *,
+ void (*)(void *, char *, ...), void *));
+static int setipxname __P((char **));
+
+static option_t ipxcp_option_list[] = {
+ { "ipx", o_bool, &ipxcp_protent.enabled_flag,
+ "Enable IPXCP (and IPX)", OPT_PRIO | 1 },
+ { "+ipx", o_bool, &ipxcp_protent.enabled_flag,
+ "Enable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS | 1 },
+ { "noipx", o_bool, &ipxcp_protent.enabled_flag,
+ "Disable IPXCP (and IPX)", OPT_PRIOSUB },
+ { "-ipx", o_bool, &ipxcp_protent.enabled_flag,
+ "Disable IPXCP (and IPX)", OPT_PRIOSUB | OPT_ALIAS },
+
+ { "ipx-network", o_uint32, &ipxcp_wantoptions[0].our_network,
+ "Set our IPX network number", OPT_PRIO, &ipxcp_wantoptions[0].neg_nn },
+
+ { "ipxcp-accept-network", o_bool, &ipxcp_wantoptions[0].accept_network,
+ "Accept peer IPX network number", 1,
+ &ipxcp_allowoptions[0].accept_network },
+
+ { "ipx-node", o_special, (void *)setipxnode,
+ "Set IPX node number", OPT_A2PRINTER, (void *)printipxnode },
+
+ { "ipxcp-accept-local", o_bool, &ipxcp_wantoptions[0].accept_local,
+ "Accept our IPX address", 1,
+ &ipxcp_allowoptions[0].accept_local },
+
+ { "ipxcp-accept-remote", o_bool, &ipxcp_wantoptions[0].accept_remote,
+ "Accept peer's IPX address", 1,
+ &ipxcp_allowoptions[0].accept_remote },
+
+ { "ipx-routing", o_int, &ipxcp_wantoptions[0].router,
+ "Set IPX routing proto number", OPT_PRIO,
+ &ipxcp_wantoptions[0].neg_router },
+
+ { "ipx-router-name", o_special, setipxname,
+ "Set IPX router name", OPT_PRIO | OPT_A2STRVAL | OPT_STATIC,
+ &ipxcp_wantoptions[0].name },
+
+ { "ipxcp-restart", o_int, &ipxcp_fsm[0].timeouttime,
+ "Set timeout for IPXCP", OPT_PRIO },
+ { "ipxcp-max-terminate", o_int, &ipxcp_fsm[0].maxtermtransmits,
+ "Set max #xmits for IPXCP term-reqs", OPT_PRIO },
+ { "ipxcp-max-configure", o_int, &ipxcp_fsm[0].maxconfreqtransmits,
+ "Set max #xmits for IPXCP conf-reqs", OPT_PRIO },
+ { "ipxcp-max-failure", o_int, &ipxcp_fsm[0].maxnakloops,
+ "Set max #conf-naks for IPXCP", OPT_PRIO },
+
+ { NULL }
+};
+
+/*
+ * Protocol entry points.
+ */
+
+static void ipxcp_init __P((int));
+static void ipxcp_open __P((int));
+static void ipxcp_close __P((int, char *));
+static void ipxcp_lowerup __P((int));
+static void ipxcp_lowerdown __P((int));
+static void ipxcp_input __P((int, u_char *, int));
+static void ipxcp_protrej __P((int));
+static int ipxcp_printpkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+
+struct protent ipxcp_protent = {
+ PPP_IPXCP,
+ ipxcp_init,
+ ipxcp_input,
+ ipxcp_protrej,
+ ipxcp_lowerup,
+ ipxcp_lowerdown,
+ ipxcp_open,
+ ipxcp_close,
+ ipxcp_printpkt,
+ NULL,
+ 0,
+ "IPXCP",
+ "IPX",
+ ipxcp_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+/*
+ * Lengths of configuration options.
+ */
+
+#define CILEN_VOID 2
+#define CILEN_COMPLETE 2 /* length of complete option */
+#define CILEN_NETN 6 /* network number length option */
+#define CILEN_NODEN 8 /* node number length option */
+#define CILEN_PROTOCOL 4 /* Minimum length of routing protocol */
+#define CILEN_NAME 3 /* Minimum length of router name */
+#define CILEN_COMPRESS 4 /* Minimum length of compression protocol */
+
+#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
+ (x) == CONFNAK ? "NAK" : "REJ")
+
+static int ipxcp_is_up;
+
+static char *ipx_ntoa __P((u_int32_t));
+
+/* Used in printing the node number */
+#define NODE(base) base[0], base[1], base[2], base[3], base[4], base[5]
+
+/* Used to generate the proper bit mask */
+#define BIT(num) (1 << (num))
+
+/*
+ * Convert from internal to external notation
+ */
+
+static short int
+to_external(internal)
+short int internal;
+{
+ short int external;
+
+ if (internal & BIT(IPX_NONE) )
+ external = IPX_NONE;
+ else
+ external = RIP_SAP;
+
+ return external;
+}
+
+/*
+ * Make a string representation of a network IP address.
+ */
+
+static char *
+ipx_ntoa(ipxaddr)
+u_int32_t ipxaddr;
+{
+ static char b[64];
+ slprintf(b, sizeof(b), "%x", ipxaddr);
+ return b;
+}
+
+
+static u_char *
+setipxnodevalue(src,dst)
+u_char *src, *dst;
+{
+ int indx;
+ int item;
+
+ for (;;) {
+ if (!isxdigit (*src))
+ break;
+
+ for (indx = 0; indx < 5; ++indx) {
+ dst[indx] <<= 4;
+ dst[indx] |= (dst[indx + 1] >> 4) & 0x0F;
+ }
+
+ item = toupper (*src) - '0';
+ if (item > 9)
+ item -= 7;
+
+ dst[5] = (dst[5] << 4) | item;
+ ++src;
+ }
+ return src;
+}
+
+static int ipx_prio_our, ipx_prio_his;
+
+static int
+setipxnode(argv)
+ char **argv;
+{
+ char *end;
+ int have_his = 0;
+ u_char our_node[6];
+ u_char his_node[6];
+
+ memset (our_node, 0, 6);
+ memset (his_node, 0, 6);
+
+ end = setipxnodevalue (*argv, our_node);
+ if (*end == ':') {
+ have_his = 1;
+ end = setipxnodevalue (++end, his_node);
+ }
+
+ if (*end == '\0') {
+ ipxcp_wantoptions[0].neg_node = 1;
+ if (option_priority >= ipx_prio_our) {
+ memcpy(&ipxcp_wantoptions[0].our_node[0], our_node, 6);
+ ipx_prio_our = option_priority;
+ }
+ if (have_his && option_priority >= ipx_prio_his) {
+ memcpy(&ipxcp_wantoptions[0].his_node[0], his_node, 6);
+ ipx_prio_his = option_priority;
+ }
+ return 1;
+ }
+
+ option_error("invalid parameter '%s' for ipx-node option", *argv);
+ return 0;
+}
+
+static void
+printipxnode(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ unsigned char *p;
+
+ p = ipxcp_wantoptions[0].our_node;
+ if (ipx_prio_our)
+ printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
+ p[0], p[1], p[2], p[3], p[4], p[5]);
+ printer(arg, ":");
+ p = ipxcp_wantoptions[0].his_node;
+ if (ipx_prio_his)
+ printer(arg, "%.2x%.2x%.2x%.2x%.2x%.2x",
+ p[0], p[1], p[2], p[3], p[4], p[5]);
+}
+
+static int
+setipxname (argv)
+ char **argv;
+{
+ char *dest = ipxcp_wantoptions[0].name;
+ char *src = *argv;
+ int count;
+ char ch;
+
+ ipxcp_wantoptions[0].neg_name = 1;
+ ipxcp_allowoptions[0].neg_name = 1;
+ memset (dest, '\0', sizeof (ipxcp_wantoptions[0].name));
+
+ count = 0;
+ while (*src) {
+ ch = *src++;
+ if (! isalnum (ch) && ch != '_') {
+ option_error("IPX router name must be alphanumeric or _");
+ return 0;
+ }
+
+ if (count >= sizeof (ipxcp_wantoptions[0].name) - 1) {
+ option_error("IPX router name is limited to %d characters",
+ sizeof (ipxcp_wantoptions[0].name) - 1);
+ return 0;
+ }
+
+ dest[count++] = toupper (ch);
+ }
+ dest[count] = 0;
+
+ return 1;
+}
+
+/*
+ * ipxcp_init - Initialize IPXCP.
+ */
+static void
+ipxcp_init(unit)
+ int unit;
+{
+ fsm *f = &ipxcp_fsm[unit];
+
+ f->unit = unit;
+ f->protocol = PPP_IPXCP;
+ f->callbacks = &ipxcp_callbacks;
+ fsm_init(&ipxcp_fsm[unit]);
+
+ memset (wo->name, 0, sizeof (wo->name));
+ memset (wo->our_node, 0, sizeof (wo->our_node));
+ memset (wo->his_node, 0, sizeof (wo->his_node));
+
+ wo->neg_nn = 1;
+ wo->neg_complete = 1;
+ wo->network = 0;
+
+ ao->neg_node = 1;
+ ao->neg_nn = 1;
+ ao->neg_name = 1;
+ ao->neg_complete = 1;
+ ao->neg_router = 1;
+
+ ao->accept_local = 0;
+ ao->accept_remote = 0;
+ ao->accept_network = 0;
+
+ wo->tried_rip = 0;
+ wo->tried_nlsp = 0;
+}
+
+/*
+ * Copy the node number
+ */
+
+static void
+copy_node (src, dst)
+u_char *src, *dst;
+{
+ memcpy (dst, src, sizeof (ipxcp_wantoptions[0].our_node));
+}
+
+/*
+ * Compare node numbers
+ */
+
+static int
+compare_node (src, dst)
+u_char *src, *dst;
+{
+ return memcmp (dst, src, sizeof (ipxcp_wantoptions[0].our_node)) == 0;
+}
+
+/*
+ * Is the node number zero?
+ */
+
+static int
+zero_node (node)
+u_char *node;
+{
+ int indx;
+ for (indx = 0; indx < sizeof (ipxcp_wantoptions[0].our_node); ++indx)
+ if (node [indx] != 0)
+ return 0;
+ return 1;
+}
+
+/*
+ * Increment the node number
+ */
+
+static void
+inc_node (node)
+u_char *node;
+{
+ u_char *outp;
+ u_int32_t magic_num;
+
+ outp = node;
+ magic_num = magic();
+ *outp++ = '\0';
+ *outp++ = '\0';
+ PUTLONG (magic_num, outp);
+}
+
+/*
+ * ipxcp_open - IPXCP is allowed to come up.
+ */
+static void
+ipxcp_open(unit)
+ int unit;
+{
+ fsm_open(&ipxcp_fsm[unit]);
+}
+
+/*
+ * ipxcp_close - Take IPXCP down.
+ */
+static void
+ipxcp_close(unit, reason)
+ int unit;
+ char *reason;
+{
+ fsm_close(&ipxcp_fsm[unit], reason);
+}
+
+
+/*
+ * ipxcp_lowerup - The lower layer is up.
+ */
+static void
+ipxcp_lowerup(unit)
+ int unit;
+{
+ fsm_lowerup(&ipxcp_fsm[unit]);
+}
+
+
+/*
+ * ipxcp_lowerdown - The lower layer is down.
+ */
+static void
+ipxcp_lowerdown(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipxcp_fsm[unit]);
+}
+
+
+/*
+ * ipxcp_input - Input IPXCP packet.
+ */
+static void
+ipxcp_input(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ fsm_input(&ipxcp_fsm[unit], p, len);
+}
+
+
+/*
+ * ipxcp_protrej - A Protocol-Reject was received for IPXCP.
+ *
+ * Pretend the lower layer went down, so we shut up.
+ */
+static void
+ipxcp_protrej(unit)
+ int unit;
+{
+ fsm_lowerdown(&ipxcp_fsm[unit]);
+}
+
+
+/*
+ * ipxcp_resetci - Reset our CI.
+ */
+static void
+ipxcp_resetci(f)
+ fsm *f;
+{
+ wo->req_node = wo->neg_node && ao->neg_node;
+ wo->req_nn = wo->neg_nn && ao->neg_nn;
+
+ if (wo->our_network == 0) {
+ wo->neg_node = 1;
+ ao->accept_network = 1;
+ }
+/*
+ * If our node number is zero then change it.
+ */
+ if (zero_node (wo->our_node)) {
+ inc_node (wo->our_node);
+ ao->accept_local = 1;
+ wo->neg_node = 1;
+ }
+/*
+ * If his node number is zero then change it.
+ */
+ if (zero_node (wo->his_node)) {
+ inc_node (wo->his_node);
+ ao->accept_remote = 1;
+ }
+/*
+ * If no routing agent was specified then we do RIP/SAP according to the
+ * RFC documents. If you have specified something then OK. Otherwise, we
+ * do RIP/SAP.
+ */
+ if (ao->router == 0) {
+ ao->router |= BIT(RIP_SAP);
+ wo->router |= BIT(RIP_SAP);
+ }
+
+ /* Always specify a routing protocol unless it was REJected. */
+ wo->neg_router = 1;
+/*
+ * Start with these default values
+ */
+ *go = *wo;
+}
+
+/*
+ * ipxcp_cilen - Return length of our CI.
+ */
+
+static int
+ipxcp_cilen(f)
+ fsm *f;
+{
+ int len;
+
+ len = go->neg_nn ? CILEN_NETN : 0;
+ len += go->neg_node ? CILEN_NODEN : 0;
+ len += go->neg_name ? CILEN_NAME + strlen (go->name) - 1 : 0;
+
+ /* RFC says that defaults should not be included. */
+ if (go->neg_router && to_external(go->router) != RIP_SAP)
+ len += CILEN_PROTOCOL;
+
+ return (len);
+}
+
+
+/*
+ * ipxcp_addci - Add our desired CIs to a packet.
+ */
+static void
+ipxcp_addci(f, ucp, lenp)
+ fsm *f;
+ u_char *ucp;
+ int *lenp;
+{
+/*
+ * Add the options to the record.
+ */
+ if (go->neg_nn) {
+ PUTCHAR (IPX_NETWORK_NUMBER, ucp);
+ PUTCHAR (CILEN_NETN, ucp);
+ PUTLONG (go->our_network, ucp);
+ }
+
+ if (go->neg_node) {
+ int indx;
+ PUTCHAR (IPX_NODE_NUMBER, ucp);
+ PUTCHAR (CILEN_NODEN, ucp);
+ for (indx = 0; indx < sizeof (go->our_node); ++indx)
+ PUTCHAR (go->our_node[indx], ucp);
+ }
+
+ if (go->neg_name) {
+ int cilen = strlen (go->name);
+ int indx;
+ PUTCHAR (IPX_ROUTER_NAME, ucp);
+ PUTCHAR (CILEN_NAME + cilen - 1, ucp);
+ for (indx = 0; indx < cilen; ++indx)
+ PUTCHAR (go->name [indx], ucp);
+ }
+
+ if (go->neg_router) {
+ short external = to_external (go->router);
+ if (external != RIP_SAP) {
+ PUTCHAR (IPX_ROUTER_PROTOCOL, ucp);
+ PUTCHAR (CILEN_PROTOCOL, ucp);
+ PUTSHORT (external, ucp);
+ }
+ }
+}
+
+/*
+ * ipxcp_ackci - Ack our CIs.
+ *
+ * Returns:
+ * 0 - Ack was bad.
+ * 1 - Ack was good.
+ */
+static int
+ipxcp_ackci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ u_short cilen, citype, cishort;
+ u_char cichar;
+ u_int32_t cilong;
+
+#define ACKCIVOID(opt, neg) \
+ if (neg) { \
+ if ((len -= CILEN_VOID) < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_VOID || \
+ citype != opt) \
+ break; \
+ }
+
+#define ACKCICOMPLETE(opt,neg) ACKCIVOID(opt, neg)
+
+#define ACKCICHARS(opt, neg, val, cnt) \
+ if (neg) { \
+ int indx, count = cnt; \
+ len -= (count + 2); \
+ if (len < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != (count + 2) || \
+ citype != opt) \
+ break; \
+ for (indx = 0; indx < count; ++indx) {\
+ GETCHAR(cichar, p); \
+ if (cichar != ((u_char *) &val)[indx]) \
+ break; \
+ }\
+ if (indx != count) \
+ break; \
+ }
+
+#define ACKCINODE(opt,neg,val) ACKCICHARS(opt,neg,val,sizeof(val))
+#define ACKCINAME(opt,neg,val) ACKCICHARS(opt,neg,val,strlen(val))
+
+#define ACKCINETWORK(opt, neg, val) \
+ if (neg) { \
+ if ((len -= CILEN_NETN) < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_NETN || \
+ citype != opt) \
+ break; \
+ GETLONG(cilong, p); \
+ if (cilong != val) \
+ break; \
+ }
+
+#define ACKCIPROTO(opt, neg, val) \
+ if (neg) { \
+ if (len < 2) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_PROTOCOL || citype != opt) \
+ break; \
+ len -= cilen; \
+ if (len < 0) \
+ break; \
+ GETSHORT(cishort, p); \
+ if (cishort != to_external (val) || cishort == RIP_SAP) \
+ break; \
+ }
+/*
+ * Process the ACK frame in the order in which the frame was assembled
+ */
+ do {
+ ACKCINETWORK (IPX_NETWORK_NUMBER, go->neg_nn, go->our_network);
+ ACKCINODE (IPX_NODE_NUMBER, go->neg_node, go->our_node);
+ ACKCINAME (IPX_ROUTER_NAME, go->neg_name, go->name);
+ if (len > 0)
+ ACKCIPROTO (IPX_ROUTER_PROTOCOL, go->neg_router, go->router);
+/*
+ * This is the end of the record.
+ */
+ if (len == 0)
+ return (1);
+ } while (0);
+/*
+ * The frame is invalid
+ */
+ IPXCPDEBUG(("ipxcp_ackci: received bad Ack!"));
+ return (0);
+}
+
+/*
+ * ipxcp_nakci - Peer has sent a NAK for some of our CIs.
+ * This should not modify any state if the Nak is bad
+ * or if IPXCP is in the OPENED state.
+ *
+ * Returns:
+ * 0 - Nak was bad.
+ * 1 - Nak was good.
+ */
+
+static int
+ipxcp_nakci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ u_char citype, cilen, *next;
+ u_short s;
+ u_int32_t l;
+ ipxcp_options no; /* options we've seen Naks for */
+ ipxcp_options try; /* options to request next time */
+
+ BZERO(&no, sizeof(no));
+ try = *go;
+
+ while (len > CILEN_VOID) {
+ GETCHAR (citype, p);
+ GETCHAR (cilen, p);
+ len -= cilen;
+ if (len < 0)
+ goto bad;
+ next = &p [cilen - CILEN_VOID];
+
+ switch (citype) {
+ case IPX_NETWORK_NUMBER:
+ if (!go->neg_nn || no.neg_nn || (cilen != CILEN_NETN))
+ goto bad;
+ no.neg_nn = 1;
+
+ GETLONG(l, p);
+ if (l && ao->accept_network)
+ try.our_network = l;
+ break;
+
+ case IPX_NODE_NUMBER:
+ if (!go->neg_node || no.neg_node || (cilen != CILEN_NODEN))
+ goto bad;
+ no.neg_node = 1;
+
+ if (!zero_node (p) && ao->accept_local &&
+ ! compare_node (p, ho->his_node))
+ copy_node (p, try.our_node);
+ break;
+
+ /* This has never been sent. Ignore the NAK frame */
+ case IPX_COMPRESSION_PROTOCOL:
+ goto bad;
+
+ case IPX_ROUTER_PROTOCOL:
+ if (!go->neg_router || (cilen < CILEN_PROTOCOL))
+ goto bad;
+
+ GETSHORT (s, p);
+ if (s > 15) /* This is just bad, but ignore for now. */
+ break;
+
+ s = BIT(s);
+ if (no.router & s) /* duplicate NAKs are always bad */
+ goto bad;
+
+ if (no.router == 0) /* Reset on first NAK only */
+ try.router = 0;
+
+ no.router |= s;
+ try.router |= s;
+ try.neg_router = 1;
+ break;
+
+ /* These, according to the RFC, must never be NAKed. */
+ case IPX_ROUTER_NAME:
+ case IPX_COMPLETE:
+ goto bad;
+
+ /* These are for options which we have not seen. */
+ default:
+ break;
+ }
+ p = next;
+ }
+
+ /*
+ * Do not permit the peer to force a router protocol which we do not
+ * support. However, default to the condition that will accept "NONE".
+ */
+ try.router &= (ao->router | BIT(IPX_NONE));
+ if (try.router == 0 && ao->router != 0)
+ try.router = BIT(IPX_NONE);
+
+ if (try.router != 0)
+ try.neg_router = 1;
+
+ /*
+ * OK, the Nak is good. Now we can update state.
+ * If there are any options left, we ignore them.
+ */
+ if (f->state != OPENED)
+ *go = try;
+
+ return 1;
+
+bad:
+ IPXCPDEBUG(("ipxcp_nakci: received bad Nak!"));
+ return 0;
+}
+
+/*
+ * ipxcp_rejci - Reject some of our CIs.
+ */
+static int
+ipxcp_rejci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ u_short cilen, citype, cishort;
+ u_char cichar;
+ u_int32_t cilong;
+ ipxcp_options try; /* options to request next time */
+
+#define REJCINETWORK(opt, neg, val) \
+ if (neg && p[0] == opt) { \
+ if ((len -= CILEN_NETN) < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_NETN || \
+ citype != opt) \
+ break; \
+ GETLONG(cilong, p); \
+ if (cilong != val) \
+ break; \
+ neg = 0; \
+ }
+
+#define REJCICHARS(opt, neg, val, cnt) \
+ if (neg && p[0] == opt) { \
+ int indx, count = cnt; \
+ len -= (count + 2); \
+ if (len < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != (count + 2) || \
+ citype != opt) \
+ break; \
+ for (indx = 0; indx < count; ++indx) {\
+ GETCHAR(cichar, p); \
+ if (cichar != ((u_char *) &val)[indx]) \
+ break; \
+ }\
+ if (indx != count) \
+ break; \
+ neg = 0; \
+ }
+
+#define REJCINODE(opt,neg,val) REJCICHARS(opt,neg,val,sizeof(val))
+#define REJCINAME(opt,neg,val) REJCICHARS(opt,neg,val,strlen(val))
+
+#define REJCIVOID(opt, neg) \
+ if (neg && p[0] == opt) { \
+ if ((len -= CILEN_VOID) < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_VOID || citype != opt) \
+ break; \
+ neg = 0; \
+ }
+
+/* a reject for RIP/SAP is invalid since we don't send it and you can't
+ reject something which is not sent. (You can NAK, but you can't REJ.) */
+#define REJCIPROTO(opt, neg, val, bit) \
+ if (neg && p[0] == opt) { \
+ if ((len -= CILEN_PROTOCOL) < 0) \
+ break; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_PROTOCOL) \
+ break; \
+ GETSHORT(cishort, p); \
+ if (cishort != to_external (val) || cishort == RIP_SAP) \
+ break; \
+ neg = 0; \
+ }
+/*
+ * Any Rejected CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+ try = *go;
+
+ do {
+ REJCINETWORK (IPX_NETWORK_NUMBER, try.neg_nn, try.our_network);
+ REJCINODE (IPX_NODE_NUMBER, try.neg_node, try.our_node);
+ REJCINAME (IPX_ROUTER_NAME, try.neg_name, try.name);
+ REJCIPROTO (IPX_ROUTER_PROTOCOL, try.neg_router, try.router, 0);
+/*
+ * This is the end of the record.
+ */
+ if (len == 0) {
+ if (f->state != OPENED)
+ *go = try;
+ return (1);
+ }
+ } while (0);
+/*
+ * The frame is invalid at this point.
+ */
+ IPXCPDEBUG(("ipxcp_rejci: received bad Reject!"));
+ return 0;
+}
+
+/*
+ * ipxcp_reqci - Check the peer's requested CIs and send appropriate response.
+ *
+ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
+ * appropriately. If reject_if_disagree is non-zero, doesn't return
+ * CONFNAK; returns CONFREJ if it can't return CONFACK.
+ */
+static int
+ipxcp_reqci(f, inp, len, reject_if_disagree)
+ fsm *f;
+ u_char *inp; /* Requested CIs */
+ int *len; /* Length of requested CIs */
+ int reject_if_disagree;
+{
+ u_char *cip, *next; /* Pointer to current and next CIs */
+ u_short cilen, citype; /* Parsed len, type */
+ u_short cishort; /* Parsed short value */
+ u_int32_t cinetwork; /* Parsed address values */
+ int rc = CONFACK; /* Final packet return code */
+ int orc; /* Individual option return code */
+ u_char *p; /* Pointer to next char to parse */
+ u_char *ucp = inp; /* Pointer to current output char */
+ int l = *len; /* Length left */
+
+ /*
+ * Reset all his options.
+ */
+ BZERO(ho, sizeof(*ho));
+
+ /*
+ * Process all his options.
+ */
+ next = inp;
+ while (l) {
+ orc = CONFACK; /* Assume success */
+ cip = p = next; /* Remember begining of CI */
+ if (l < 2 || /* Not enough data for CI header or */
+ p[1] < 2 || /* CI length too small or */
+ p[1] > l) { /* CI length too big? */
+ IPXCPDEBUG(("ipxcp_reqci: bad CI length!"));
+ orc = CONFREJ; /* Reject bad CI */
+ cilen = l; /* Reject till end of packet */
+ l = 0; /* Don't loop again */
+ goto endswitch;
+ }
+ GETCHAR(citype, p); /* Parse CI type */
+ GETCHAR(cilen, p); /* Parse CI length */
+ l -= cilen; /* Adjust remaining length */
+ next += cilen; /* Step to next CI */
+
+ switch (citype) { /* Check CI type */
+/*
+ * The network number must match. Choose the larger of the two.
+ */
+ case IPX_NETWORK_NUMBER:
+ /* if we wont negotiate the network number or the length is wrong
+ then reject the option */
+ if ( !ao->neg_nn || cilen != CILEN_NETN ) {
+ orc = CONFREJ;
+ break;
+ }
+ GETLONG(cinetwork, p);
+
+ /* If the network numbers match then acknowledge them. */
+ if (cinetwork != 0) {
+ ho->his_network = cinetwork;
+ ho->neg_nn = 1;
+ if (wo->our_network == cinetwork)
+ break;
+/*
+ * If the network number is not given or we don't accept their change or
+ * the network number is too small then NAK it.
+ */
+ if (! ao->accept_network || cinetwork < wo->our_network) {
+ DECPTR (sizeof (u_int32_t), p);
+ PUTLONG (wo->our_network, p);
+ orc = CONFNAK;
+ }
+ break;
+ }
+/*
+ * The peer sent '0' for the network. Give it ours if we have one.
+ */
+ if (go->our_network != 0) {
+ DECPTR (sizeof (u_int32_t), p);
+ PUTLONG (wo->our_network, p);
+ orc = CONFNAK;
+/*
+ * We don't have one. Reject the value.
+ */
+ } else
+ orc = CONFREJ;
+
+ break;
+/*
+ * The node number is required
+ */
+ case IPX_NODE_NUMBER:
+ /* if we wont negotiate the node number or the length is wrong
+ then reject the option */
+ if ( cilen != CILEN_NODEN ) {
+ orc = CONFREJ;
+ break;
+ }
+
+ copy_node (p, ho->his_node);
+ ho->neg_node = 1;
+/*
+ * If the remote does not have a number and we do then NAK it with the value
+ * which we have for it. (We never have a default value of zero.)
+ */
+ if (zero_node (ho->his_node)) {
+ orc = CONFNAK;
+ copy_node (wo->his_node, p);
+ INCPTR (sizeof (wo->his_node), p);
+ break;
+ }
+/*
+ * If you have given me the expected network node number then I'll accept
+ * it now.
+ */
+ if (compare_node (wo->his_node, ho->his_node)) {
+ orc = CONFACK;
+ ho->neg_node = 1;
+ INCPTR (sizeof (wo->his_node), p);
+ break;
+ }
+/*
+ * If his node number is the same as ours then ask him to try the next
+ * value.
+ */
+ if (compare_node (ho->his_node, go->our_node)) {
+ inc_node (ho->his_node);
+ orc = CONFNAK;
+ copy_node (ho->his_node, p);
+ INCPTR (sizeof (wo->his_node), p);
+ break;
+ }
+/*
+ * If we don't accept a new value then NAK it.
+ */
+ if (! ao->accept_remote) {
+ copy_node (wo->his_node, p);
+ INCPTR (sizeof (wo->his_node), p);
+ orc = CONFNAK;
+ break;
+ }
+ orc = CONFACK;
+ ho->neg_node = 1;
+ INCPTR (sizeof (wo->his_node), p);
+ break;
+/*
+ * Compression is not desired at this time. It is always rejected.
+ */
+ case IPX_COMPRESSION_PROTOCOL:
+ orc = CONFREJ;
+ break;
+/*
+ * The routing protocol is a bitmask of various types. Any combination
+ * of the values RIP_SAP and NLSP are permissible. 'IPX_NONE' for no
+ * routing protocol must be specified only once.
+ */
+ case IPX_ROUTER_PROTOCOL:
+ if ( !ao->neg_router || cilen < CILEN_PROTOCOL ) {
+ orc = CONFREJ;
+ break;
+ }
+
+ GETSHORT (cishort, p);
+
+ if (wo->neg_router == 0) {
+ wo->neg_router = 1;
+ wo->router = BIT(IPX_NONE);
+ }
+
+ if ((cishort == IPX_NONE && ho->router != 0) ||
+ (ho->router & BIT(IPX_NONE))) {
+ orc = CONFREJ;
+ break;
+ }
+
+ cishort = BIT(cishort);
+ if (ho->router & cishort) {
+ orc = CONFREJ;
+ break;
+ }
+
+ ho->router |= cishort;
+ ho->neg_router = 1;
+
+ /* Finally do not allow a router protocol which we do not
+ support. */
+
+ if ((cishort & (ao->router | BIT(IPX_NONE))) == 0) {
+ int protocol;
+
+ if (cishort == BIT(NLSP) &&
+ (ao->router & BIT(RIP_SAP)) &&
+ !wo->tried_rip) {
+ protocol = RIP_SAP;
+ wo->tried_rip = 1;
+ } else
+ protocol = IPX_NONE;
+
+ DECPTR (sizeof (u_int16_t), p);
+ PUTSHORT (protocol, p);
+ orc = CONFNAK;
+ }
+ break;
+/*
+ * The router name is advisorary. Just accept it if it is not too large.
+ */
+ case IPX_ROUTER_NAME:
+ if (cilen >= CILEN_NAME) {
+ int name_size = cilen - CILEN_NAME;
+ if (name_size > sizeof (ho->name))
+ name_size = sizeof (ho->name) - 1;
+ memset (ho->name, 0, sizeof (ho->name));
+ memcpy (ho->name, p, name_size);
+ ho->name [name_size] = '\0';
+ ho->neg_name = 1;
+ orc = CONFACK;
+ break;
+ }
+ orc = CONFREJ;
+ break;
+/*
+ * This is advisorary.
+ */
+ case IPX_COMPLETE:
+ if (cilen != CILEN_COMPLETE)
+ orc = CONFREJ;
+ else {
+ ho->neg_complete = 1;
+ orc = CONFACK;
+ }
+ break;
+/*
+ * All other entries are not known at this time.
+ */
+ default:
+ orc = CONFREJ;
+ break;
+ }
+endswitch:
+ if (orc == CONFACK && /* Good CI */
+ rc != CONFACK) /* but prior CI wasnt? */
+ continue; /* Don't send this one */
+
+ if (orc == CONFNAK) { /* Nak this CI? */
+ if (reject_if_disagree) /* Getting fed up with sending NAKs? */
+ orc = CONFREJ; /* Get tough if so */
+ if (rc == CONFREJ) /* Rejecting prior CI? */
+ continue; /* Don't send this one */
+ if (rc == CONFACK) { /* Ack'd all prior CIs? */
+ rc = CONFNAK; /* Not anymore... */
+ ucp = inp; /* Backup */
+ }
+ }
+
+ if (orc == CONFREJ && /* Reject this CI */
+ rc != CONFREJ) { /* but no prior ones? */
+ rc = CONFREJ;
+ ucp = inp; /* Backup */
+ }
+
+ /* Need to move CI? */
+ if (ucp != cip)
+ BCOPY(cip, ucp, cilen); /* Move it */
+
+ /* Update output pointer */
+ INCPTR(cilen, ucp);
+ }
+
+ /*
+ * If we aren't rejecting this packet, and we want to negotiate
+ * their address, and they didn't send their address, then we
+ * send a NAK with a IPX_NODE_NUMBER option appended. We assume the
+ * input buffer is long enough that we can append the extra
+ * option safely.
+ */
+
+ if (rc != CONFREJ && !ho->neg_node &&
+ wo->req_nn && !reject_if_disagree) {
+ if (rc == CONFACK) {
+ rc = CONFNAK;
+ wo->req_nn = 0; /* don't ask again */
+ ucp = inp; /* reset pointer */
+ }
+
+ if (zero_node (wo->his_node))
+ inc_node (wo->his_node);
+
+ PUTCHAR (IPX_NODE_NUMBER, ucp);
+ PUTCHAR (CILEN_NODEN, ucp);
+ copy_node (wo->his_node, ucp);
+ INCPTR (sizeof (wo->his_node), ucp);
+ }
+
+ *len = ucp - inp; /* Compute output length */
+ IPXCPDEBUG(("ipxcp: returning Configure-%s", CODENAME(rc)));
+ return (rc); /* Return final code */
+}
+
+/*
+ * ipxcp_up - IPXCP has come UP.
+ *
+ * Configure the IP network interface appropriately and bring it up.
+ */
+
+static void
+ipxcp_up(f)
+ fsm *f;
+{
+ int unit = f->unit;
+
+ IPXCPDEBUG(("ipxcp: up"));
+
+ /* The default router protocol is RIP/SAP. */
+ if (ho->router == 0)
+ ho->router = BIT(RIP_SAP);
+
+ if (go->router == 0)
+ go->router = BIT(RIP_SAP);
+
+ /* Fetch the network number */
+ if (!ho->neg_nn)
+ ho->his_network = wo->his_network;
+
+ if (!ho->neg_node)
+ copy_node (wo->his_node, ho->his_node);
+
+ if (!wo->neg_node && !go->neg_node)
+ copy_node (wo->our_node, go->our_node);
+
+ if (zero_node (go->our_node)) {
+ static char errmsg[] = "Could not determine local IPX node address";
+ if (debug)
+ error(errmsg);
+ ipxcp_close(f->unit, errmsg);
+ return;
+ }
+
+ go->network = go->our_network;
+ if (ho->his_network != 0 && ho->his_network > go->network)
+ go->network = ho->his_network;
+
+ if (go->network == 0) {
+ static char errmsg[] = "Can not determine network number";
+ if (debug)
+ error(errmsg);
+ ipxcp_close (unit, errmsg);
+ return;
+ }
+
+ /* bring the interface up */
+ if (!sifup(unit)) {
+ if (debug)
+ warn("sifup failed (IPX)");
+ ipxcp_close(unit, "Interface configuration failed");
+ return;
+ }
+ ipxcp_is_up = 1;
+
+ /* set the network number for IPX */
+ if (!sipxfaddr(unit, go->network, go->our_node)) {
+ if (debug)
+ warn("sipxfaddr failed");
+ ipxcp_close(unit, "Interface configuration failed");
+ return;
+ }
+
+ np_up(f->unit, PPP_IPX);
+
+ /*
+ * Execute the ipx-up script, like this:
+ * /etc/ppp/ipx-up interface tty speed local-IPX remote-IPX
+ */
+
+ ipxcp_script (f, _PATH_IPXUP);
+}
+
+/*
+ * ipxcp_down - IPXCP has gone DOWN.
+ *
+ * Take the IP network interface down, clear its addresses
+ * and delete routes through it.
+ */
+
+static void
+ipxcp_down(f)
+ fsm *f;
+{
+ IPXCPDEBUG(("ipxcp: down"));
+
+ if (!ipxcp_is_up)
+ return;
+ ipxcp_is_up = 0;
+ np_down(f->unit, PPP_IPX);
+ cipxfaddr(f->unit);
+ sifnpmode(f->unit, PPP_IPX, NPMODE_DROP);
+ sifdown(f->unit);
+ ipxcp_script (f, _PATH_IPXDOWN);
+}
+
+
+/*
+ * ipxcp_finished - possibly shut down the lower layers.
+ */
+static void
+ipxcp_finished(f)
+ fsm *f;
+{
+ np_finished(f->unit, PPP_IPX);
+}
+
+
+/*
+ * ipxcp_script - Execute a script with arguments
+ * interface-name tty-name speed local-IPX remote-IPX networks.
+ */
+static void
+ipxcp_script(f, script)
+ fsm *f;
+ char *script;
+{
+ char strspeed[32], strlocal[32], strremote[32];
+ char strnetwork[32], strpid[32];
+ char *argv[14], strproto_lcl[32], strproto_rmt[32];
+
+ slprintf(strpid, sizeof(strpid), "%d", getpid());
+ slprintf(strspeed, sizeof(strspeed),"%d", baud_rate);
+
+ strproto_lcl[0] = '\0';
+ if (go->neg_router && ((go->router & BIT(IPX_NONE)) == 0)) {
+ if (go->router & BIT(RIP_SAP))
+ strlcpy (strproto_lcl, "RIP ", sizeof(strproto_lcl));
+ if (go->router & BIT(NLSP))
+ strlcat (strproto_lcl, "NLSP ", sizeof(strproto_lcl));
+ }
+
+ if (strproto_lcl[0] == '\0')
+ strlcpy (strproto_lcl, "NONE ", sizeof(strproto_lcl));
+
+ strproto_lcl[strlen (strproto_lcl)-1] = '\0';
+
+ strproto_rmt[0] = '\0';
+ if (ho->neg_router && ((ho->router & BIT(IPX_NONE)) == 0)) {
+ if (ho->router & BIT(RIP_SAP))
+ strlcpy (strproto_rmt, "RIP ", sizeof(strproto_rmt));
+ if (ho->router & BIT(NLSP))
+ strlcat (strproto_rmt, "NLSP ", sizeof(strproto_rmt));
+ }
+
+ if (strproto_rmt[0] == '\0')
+ strlcpy (strproto_rmt, "NONE ", sizeof(strproto_rmt));
+
+ strproto_rmt[strlen (strproto_rmt)-1] = '\0';
+
+ strlcpy (strnetwork, ipx_ntoa (go->network), sizeof(strnetwork));
+
+ slprintf (strlocal, sizeof(strlocal), "%0.6B", go->our_node);
+
+ slprintf (strremote, sizeof(strremote), "%0.6B", ho->his_node);
+
+ argv[0] = script;
+ argv[1] = ifname;
+ argv[2] = devnam;
+ argv[3] = strspeed;
+ argv[4] = strnetwork;
+ argv[5] = strlocal;
+ argv[6] = strremote;
+ argv[7] = strproto_lcl;
+ argv[8] = strproto_rmt;
+ argv[9] = go->name;
+ argv[10] = ho->name;
+ argv[11] = ipparam;
+ argv[12] = strpid;
+ argv[13] = NULL;
+ run_program(script, argv, 0, NULL, NULL);
+}
+
+/*
+ * ipxcp_printpkt - print the contents of an IPXCP packet.
+ */
+static char *ipxcp_codenames[] = {
+ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
+ "TermReq", "TermAck", "CodeRej"
+};
+
+static int
+ipxcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len, olen;
+ u_char *pstart, *optend;
+ u_short cishort;
+ u_int32_t cilong;
+
+ if (plen < HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(ipxcp_codenames) / sizeof(char *))
+ printer(arg, " %s", ipxcp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+ switch (code) {
+ case CONFREQ:
+ case CONFACK:
+ case CONFNAK:
+ case CONFREJ:
+ /* print option list */
+ while (len >= 2) {
+ GETCHAR(code, p);
+ GETCHAR(olen, p);
+ p -= 2;
+ if (olen < CILEN_VOID || olen > len) {
+ break;
+ }
+ printer(arg, " <");
+ len -= olen;
+ optend = p + olen;
+ switch (code) {
+ case IPX_NETWORK_NUMBER:
+ if (olen == CILEN_NETN) {
+ p += 2;
+ GETLONG(cilong, p);
+ printer (arg, "network %s", ipx_ntoa (cilong));
+ }
+ break;
+ case IPX_NODE_NUMBER:
+ if (olen == CILEN_NODEN) {
+ p += 2;
+ printer (arg, "node ");
+ while (p < optend) {
+ GETCHAR(code, p);
+ printer(arg, "%.2x", (int) (unsigned int) (unsigned char) code);
+ }
+ }
+ break;
+ case IPX_COMPRESSION_PROTOCOL:
+ if (olen == CILEN_COMPRESS) {
+ p += 2;
+ GETSHORT (cishort, p);
+ printer (arg, "compression %d", (int) cishort);
+ }
+ break;
+ case IPX_ROUTER_PROTOCOL:
+ if (olen == CILEN_PROTOCOL) {
+ p += 2;
+ GETSHORT (cishort, p);
+ printer (arg, "router proto %d", (int) cishort);
+ }
+ break;
+ case IPX_ROUTER_NAME:
+ if (olen >= CILEN_NAME) {
+ p += 2;
+ printer (arg, "router name \"");
+ while (p < optend) {
+ GETCHAR(code, p);
+ if (code >= 0x20 && code <= 0x7E)
+ printer (arg, "%c", (int) (unsigned int) (unsigned char) code);
+ else
+ printer (arg, " \\%.2x", (int) (unsigned int) (unsigned char) code);
+ }
+ printer (arg, "\"");
+ }
+ break;
+ case IPX_COMPLETE:
+ if (olen == CILEN_COMPLETE) {
+ p += 2;
+ printer (arg, "complete");
+ }
+ break;
+ default:
+ break;
+ }
+
+ while (p < optend) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
+ }
+ printer(arg, ">");
+ }
+ break;
+
+ case TERMACK:
+ case TERMREQ:
+ if (len > 0 && *p >= ' ' && *p < 0x7f) {
+ printer(arg, " ");
+ print_string(p, len, printer, arg);
+ p += len;
+ len = 0;
+ }
+ break;
+ }
+
+ /* print the rest of the bytes in the packet */
+ for (; len > 0; --len) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", (int) (unsigned int) (unsigned char) code);
+ }
+
+ return p - pstart;
+}
+#endif /* ifdef IPX_CHANGE */
diff --git a/mdk-stage1/ppp/pppd/ipxcp.h b/mdk-stage1/ppp/pppd/ipxcp.h
new file mode 100644
index 000000000..791720403
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ipxcp.h
@@ -0,0 +1,71 @@
+/*
+ * ipxcp.h - IPX Control Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: ipxcp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * Options.
+ */
+#define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
+#define IPX_NODE_NUMBER 2
+#define IPX_COMPRESSION_PROTOCOL 3
+#define IPX_ROUTER_PROTOCOL 4
+#define IPX_ROUTER_NAME 5
+#define IPX_COMPLETE 6
+
+/* Values for the router protocol */
+#define IPX_NONE 0
+#define RIP_SAP 2
+#define NLSP 4
+
+typedef struct ipxcp_options {
+ bool neg_node; /* Negotiate IPX node number? */
+ bool req_node; /* Ask peer to send IPX node number? */
+
+ bool neg_nn; /* Negotiate IPX network number? */
+ bool req_nn; /* Ask peer to send IPX network number */
+
+ bool neg_name; /* Negotiate IPX router name */
+ bool neg_complete; /* Negotiate completion */
+ bool neg_router; /* Negotiate IPX router number */
+
+ bool accept_local; /* accept peer's value for ournode */
+ bool accept_remote; /* accept peer's value for hisnode */
+ bool accept_network; /* accept network number */
+
+ bool tried_nlsp; /* I have suggested NLSP already */
+ bool tried_rip; /* I have suggested RIP/SAP already */
+
+ u_int32_t his_network; /* base network number */
+ u_int32_t our_network; /* our value for network number */
+ u_int32_t network; /* the final network number */
+
+ u_char his_node[6]; /* peer's node number */
+ u_char our_node[6]; /* our node number */
+ u_char name [48]; /* name of the router */
+ int router; /* routing protocol */
+} ipxcp_options;
+
+extern fsm ipxcp_fsm[];
+extern ipxcp_options ipxcp_wantoptions[];
+extern ipxcp_options ipxcp_gotoptions[];
+extern ipxcp_options ipxcp_allowoptions[];
+extern ipxcp_options ipxcp_hisoptions[];
+
+extern struct protent ipxcp_protent;
diff --git a/mdk-stage1/ppp/pppd/lcp.c b/mdk-stage1/ppp/pppd/lcp.c
new file mode 100644
index 000000000..5aff25971
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/lcp.c
@@ -0,0 +1,2224 @@
+/*
+ * lcp.c - PPP Link Control Protocol.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: lcp.c 6001 2001-06-11 11:44:34Z gc $"
+
+/*
+ * TODO:
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "lcp.h"
+#include "chap.h"
+#include "magic.h"
+
+static const char rcsid[] = RCSID;
+
+/*
+ * When the link comes up we want to be able to wait for a short while,
+ * or until seeing some input from the peer, before starting to send
+ * configure-requests. We do this by delaying the fsm_lowerup call.
+ */
+/* steal a bit in fsm flags word */
+#define DELAYED_UP 0x100
+
+static void lcp_delayed_up __P((void *));
+
+/*
+ * LCP-related command-line options.
+ */
+int lcp_echo_interval = 0; /* Interval between LCP echo-requests */
+int lcp_echo_fails = 0; /* Tolerance to unanswered echo-requests */
+bool lax_recv = 0; /* accept control chars in asyncmap */
+bool noendpoint = 0; /* don't send/accept endpoint discriminator */
+
+static int noopt __P((char **));
+
+#ifdef HAVE_MULTILINK
+static int setendpoint __P((char **));
+static void printendpoint __P((option_t *, void (*)(void *, char *, ...),
+ void *));
+#endif /* HAVE_MULTILINK */
+
+static option_t lcp_option_list[] = {
+ /* LCP options */
+ { "-all", o_special_noarg, (void *)noopt,
+ "Don't request/allow any LCP options" },
+
+ { "noaccomp", o_bool, &lcp_wantoptions[0].neg_accompression,
+ "Disable address/control compression",
+ OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
+ { "-ac", o_bool, &lcp_wantoptions[0].neg_accompression,
+ "Disable address/control compression",
+ OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_accompression },
+
+ { "asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
+ "Set asyncmap (for received packets)",
+ OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
+ { "-as", o_uint32, &lcp_wantoptions[0].asyncmap,
+ "Set asyncmap (for received packets)",
+ OPT_ALIAS | OPT_OR, &lcp_wantoptions[0].neg_asyncmap },
+ { "default-asyncmap", o_uint32, &lcp_wantoptions[0].asyncmap,
+ "Disable asyncmap negotiation",
+ OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
+ &lcp_allowoptions[0].neg_asyncmap },
+ { "-am", o_uint32, &lcp_wantoptions[0].asyncmap,
+ "Disable asyncmap negotiation",
+ OPT_ALIAS | OPT_OR | OPT_NOARG | OPT_VAL(~0U) | OPT_A2CLR,
+ &lcp_allowoptions[0].neg_asyncmap },
+
+ { "nomagic", o_bool, &lcp_wantoptions[0].neg_magicnumber,
+ "Disable magic number negotiation (looped-back line detection)",
+ OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
+ { "-mn", o_bool, &lcp_wantoptions[0].neg_magicnumber,
+ "Disable magic number negotiation (looped-back line detection)",
+ OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_magicnumber },
+
+ { "mru", o_int, &lcp_wantoptions[0].mru,
+ "Set MRU (maximum received packet size) for negotiation",
+ OPT_PRIO, &lcp_wantoptions[0].neg_mru },
+ { "default-mru", o_bool, &lcp_wantoptions[0].neg_mru,
+ "Disable MRU negotiation (use default 1500)",
+ OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
+ { "-mru", o_bool, &lcp_wantoptions[0].neg_mru,
+ "Disable MRU negotiation (use default 1500)",
+ OPT_ALIAS | OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_mru },
+
+ { "mtu", o_int, &lcp_allowoptions[0].mru,
+ "Set our MTU", OPT_LIMITS, NULL, MAXMRU, MINMRU },
+
+ { "nopcomp", o_bool, &lcp_wantoptions[0].neg_pcompression,
+ "Disable protocol field compression",
+ OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
+ { "-pc", o_bool, &lcp_wantoptions[0].neg_pcompression,
+ "Disable protocol field compression",
+ OPT_ALIAS | OPT_A2CLR, &lcp_allowoptions[0].neg_pcompression },
+
+ { "passive", o_bool, &lcp_wantoptions[0].passive,
+ "Set passive mode", 1 },
+ { "-p", o_bool, &lcp_wantoptions[0].passive,
+ "Set passive mode", OPT_ALIAS | 1 },
+
+ { "silent", o_bool, &lcp_wantoptions[0].silent,
+ "Set silent mode", 1 },
+
+ { "lcp-echo-failure", o_int, &lcp_echo_fails,
+ "Set number of consecutive echo failures to indicate link failure",
+ OPT_PRIO },
+ { "lcp-echo-interval", o_int, &lcp_echo_interval,
+ "Set time in seconds between LCP echo requests", OPT_PRIO },
+ { "lcp-restart", o_int, &lcp_fsm[0].timeouttime,
+ "Set time in seconds between LCP retransmissions", OPT_PRIO },
+ { "lcp-max-terminate", o_int, &lcp_fsm[0].maxtermtransmits,
+ "Set maximum number of LCP terminate-request transmissions", OPT_PRIO },
+ { "lcp-max-configure", o_int, &lcp_fsm[0].maxconfreqtransmits,
+ "Set maximum number of LCP configure-request transmissions", OPT_PRIO },
+ { "lcp-max-failure", o_int, &lcp_fsm[0].maxnakloops,
+ "Set limit on number of LCP configure-naks", OPT_PRIO },
+
+ { "receive-all", o_bool, &lax_recv,
+ "Accept all received control characters", 1 },
+
+#ifdef HAVE_MULTILINK
+ { "mrru", o_int, &lcp_wantoptions[0].mrru,
+ "Maximum received packet size for multilink bundle",
+ OPT_PRIO, &lcp_wantoptions[0].neg_mrru },
+
+ { "mpshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
+ "Use short sequence numbers in multilink headers",
+ OPT_PRIO | 1, &lcp_allowoptions[0].neg_ssnhf },
+ { "nompshortseq", o_bool, &lcp_wantoptions[0].neg_ssnhf,
+ "Don't use short sequence numbers in multilink headers",
+ OPT_PRIOSUB | OPT_A2CLR, &lcp_allowoptions[0].neg_ssnhf },
+
+ { "endpoint", o_special, (void *) setendpoint,
+ "Endpoint discriminator for multilink",
+ OPT_PRIO | OPT_A2PRINTER, (void *) printendpoint },
+#endif /* HAVE_MULTILINK */
+
+ { "noendpoint", o_bool, &noendpoint,
+ "Don't send or accept multilink endpoint discriminator", 1 },
+
+ {NULL}
+};
+
+/* global vars */
+fsm lcp_fsm[NUM_PPP]; /* LCP fsm structure (global)*/
+lcp_options lcp_wantoptions[NUM_PPP]; /* Options that we want to request */
+lcp_options lcp_gotoptions[NUM_PPP]; /* Options that peer ack'd */
+lcp_options lcp_allowoptions[NUM_PPP]; /* Options we allow peer to request */
+lcp_options lcp_hisoptions[NUM_PPP]; /* Options that we ack'd */
+
+static int lcp_echos_pending = 0; /* Number of outstanding echo msgs */
+static int lcp_echo_number = 0; /* ID number of next echo frame */
+static int lcp_echo_timer_running = 0; /* set if a timer is running */
+
+static u_char nak_buffer[PPP_MRU]; /* where we construct a nak packet */
+
+/*
+ * Callbacks for fsm code. (CI = Configuration Information)
+ */
+static void lcp_resetci __P((fsm *)); /* Reset our CI */
+static int lcp_cilen __P((fsm *)); /* Return length of our CI */
+static void lcp_addci __P((fsm *, u_char *, int *)); /* Add our CI to pkt */
+static int lcp_ackci __P((fsm *, u_char *, int)); /* Peer ack'd our CI */
+static int lcp_nakci __P((fsm *, u_char *, int)); /* Peer nak'd our CI */
+static int lcp_rejci __P((fsm *, u_char *, int)); /* Peer rej'd our CI */
+static int lcp_reqci __P((fsm *, u_char *, int *, int)); /* Rcv peer CI */
+static void lcp_up __P((fsm *)); /* We're UP */
+static void lcp_down __P((fsm *)); /* We're DOWN */
+static void lcp_starting __P((fsm *)); /* We need lower layer up */
+static void lcp_finished __P((fsm *)); /* We need lower layer down */
+static int lcp_extcode __P((fsm *, int, int, u_char *, int));
+static void lcp_rprotrej __P((fsm *, u_char *, int));
+
+/*
+ * routines to send LCP echos to peer
+ */
+
+static void lcp_echo_lowerup __P((int));
+static void lcp_echo_lowerdown __P((int));
+static void LcpEchoTimeout __P((void *));
+static void lcp_received_echo_reply __P((fsm *, int, u_char *, int));
+static void LcpSendEchoRequest __P((fsm *));
+static void LcpLinkFailure __P((fsm *));
+static void LcpEchoCheck __P((fsm *));
+
+static fsm_callbacks lcp_callbacks = { /* LCP callback routines */
+ lcp_resetci, /* Reset our Configuration Information */
+ lcp_cilen, /* Length of our Configuration Information */
+ lcp_addci, /* Add our Configuration Information */
+ lcp_ackci, /* ACK our Configuration Information */
+ lcp_nakci, /* NAK our Configuration Information */
+ lcp_rejci, /* Reject our Configuration Information */
+ lcp_reqci, /* Request peer's Configuration Information */
+ lcp_up, /* Called when fsm reaches OPENED state */
+ lcp_down, /* Called when fsm leaves OPENED state */
+ lcp_starting, /* Called when we want the lower layer up */
+ lcp_finished, /* Called when we want the lower layer down */
+ NULL, /* Called when Protocol-Reject received */
+ NULL, /* Retransmission is necessary */
+ lcp_extcode, /* Called to handle LCP-specific codes */
+ "LCP" /* String name of protocol */
+};
+
+/*
+ * Protocol entry points.
+ * Some of these are called directly.
+ */
+
+static void lcp_init __P((int));
+static void lcp_input __P((int, u_char *, int));
+static void lcp_protrej __P((int));
+static int lcp_printpkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+
+struct protent lcp_protent = {
+ PPP_LCP,
+ lcp_init,
+ lcp_input,
+ lcp_protrej,
+ lcp_lowerup,
+ lcp_lowerdown,
+ lcp_open,
+ lcp_close,
+ lcp_printpkt,
+ NULL,
+ 1,
+ "LCP",
+ NULL,
+ lcp_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+int lcp_loopbackfail = DEFLOOPBACKFAIL;
+
+/*
+ * Length of each type of configuration option (in octets)
+ */
+#define CILEN_VOID 2
+#define CILEN_CHAR 3
+#define CILEN_SHORT 4 /* CILEN_VOID + 2 */
+#define CILEN_CHAP 5 /* CILEN_VOID + 2 + 1 */
+#define CILEN_LONG 6 /* CILEN_VOID + 4 */
+#define CILEN_LQR 8 /* CILEN_VOID + 2 + 4 */
+#define CILEN_CBCP 3
+
+#define CODENAME(x) ((x) == CONFACK ? "ACK" : \
+ (x) == CONFNAK ? "NAK" : "REJ")
+
+/*
+ * noopt - Disable all options (why?).
+ */
+static int
+noopt(argv)
+ char **argv;
+{
+ BZERO((char *) &lcp_wantoptions[0], sizeof (struct lcp_options));
+ BZERO((char *) &lcp_allowoptions[0], sizeof (struct lcp_options));
+
+ return (1);
+}
+
+#ifdef HAVE_MULTILINK
+static int
+setendpoint(argv)
+ char **argv;
+{
+ if (str_to_epdisc(&lcp_wantoptions[0].endpoint, *argv)) {
+ lcp_wantoptions[0].neg_endpoint = 1;
+ return 1;
+ }
+ option_error("Can't parse '%s' as an endpoint discriminator", *argv);
+ return 0;
+}
+
+static void
+printendpoint(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ printer(arg, "%s", epdisc_to_str(&lcp_wantoptions[0].endpoint));
+}
+#endif /* HAVE_MULTILINK */
+
+/*
+ * lcp_init - Initialize LCP.
+ */
+static void
+lcp_init(unit)
+ int unit;
+{
+ fsm *f = &lcp_fsm[unit];
+ lcp_options *wo = &lcp_wantoptions[unit];
+ lcp_options *ao = &lcp_allowoptions[unit];
+
+ f->unit = unit;
+ f->protocol = PPP_LCP;
+ f->callbacks = &lcp_callbacks;
+
+ fsm_init(f);
+
+ BZERO(wo, sizeof(*wo));
+ wo->neg_mru = 1;
+ wo->mru = DEFMRU;
+ wo->neg_asyncmap = 1;
+ wo->chap_mdtype = CHAP_DIGEST_MD5;
+ wo->neg_magicnumber = 1;
+ wo->neg_pcompression = 1;
+ wo->neg_accompression = 1;
+
+ BZERO(ao, sizeof(*ao));
+ ao->neg_mru = 1;
+ ao->mru = MAXMRU;
+ ao->neg_asyncmap = 1;
+ ao->neg_chap = 1;
+ ao->chap_mdtype = CHAP_DIGEST_MD5;
+ ao->neg_upap = 1;
+ ao->neg_magicnumber = 1;
+ ao->neg_pcompression = 1;
+ ao->neg_accompression = 1;
+#ifdef CBCP_SUPPORT
+ ao->neg_cbcp = 1;
+#endif
+ ao->neg_endpoint = 1;
+}
+
+
+/*
+ * lcp_open - LCP is allowed to come up.
+ */
+void
+lcp_open(unit)
+ int unit;
+{
+ fsm *f = &lcp_fsm[unit];
+ lcp_options *wo = &lcp_wantoptions[unit];
+
+ f->flags &= ~(OPT_PASSIVE | OPT_SILENT);
+ if (wo->passive)
+ f->flags |= OPT_PASSIVE;
+ if (wo->silent)
+ f->flags |= OPT_SILENT;
+ fsm_open(f);
+}
+
+
+/*
+ * lcp_close - Take LCP down.
+ */
+void
+lcp_close(unit, reason)
+ int unit;
+ char *reason;
+{
+ fsm *f = &lcp_fsm[unit];
+
+ if (phase != PHASE_DEAD)
+ new_phase(PHASE_TERMINATE);
+ if (f->state == STOPPED && f->flags & (OPT_PASSIVE|OPT_SILENT)) {
+ /*
+ * This action is not strictly according to the FSM in RFC1548,
+ * but it does mean that the program terminates if you do a
+ * lcp_close() in passive/silent mode when a connection hasn't
+ * been established.
+ */
+ f->state = CLOSED;
+ lcp_finished(f);
+
+ } else
+ fsm_close(&lcp_fsm[unit], reason);
+}
+
+
+/*
+ * lcp_lowerup - The lower layer is up.
+ */
+void
+lcp_lowerup(unit)
+ int unit;
+{
+ lcp_options *wo = &lcp_wantoptions[unit];
+ fsm *f = &lcp_fsm[unit];
+
+ /*
+ * Don't use A/C or protocol compression on transmission,
+ * but accept A/C and protocol compressed packets
+ * if we are going to ask for A/C and protocol compression.
+ */
+ ppp_send_config(unit, PPP_MRU, 0xffffffff, 0, 0);
+ ppp_recv_config(unit, PPP_MRU, (lax_recv? 0: 0xffffffff),
+ wo->neg_pcompression, wo->neg_accompression);
+ peer_mru[unit] = PPP_MRU;
+
+ if (listen_time != 0) {
+ f->flags |= DELAYED_UP;
+ timeout(lcp_delayed_up, f, 0, listen_time * 1000);
+ } else
+ fsm_lowerup(f);
+}
+
+
+/*
+ * lcp_lowerdown - The lower layer is down.
+ */
+void
+lcp_lowerdown(unit)
+ int unit;
+{
+ fsm *f = &lcp_fsm[unit];
+
+ if (f->flags & DELAYED_UP)
+ f->flags &= ~DELAYED_UP;
+ else
+ fsm_lowerdown(&lcp_fsm[unit]);
+}
+
+
+/*
+ * lcp_delayed_up - Bring the lower layer up now.
+ */
+static void
+lcp_delayed_up(arg)
+ void *arg;
+{
+ fsm *f = arg;
+
+ if (f->flags & DELAYED_UP) {
+ f->flags &= ~DELAYED_UP;
+ fsm_lowerup(f);
+ }
+}
+
+
+/*
+ * lcp_input - Input LCP packet.
+ */
+static void
+lcp_input(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ fsm *f = &lcp_fsm[unit];
+
+ if (f->flags & DELAYED_UP) {
+ f->flags &= ~DELAYED_UP;
+ fsm_lowerup(f);
+ }
+ fsm_input(f, p, len);
+}
+
+
+/*
+ * lcp_extcode - Handle a LCP-specific code.
+ */
+static int
+lcp_extcode(f, code, id, inp, len)
+ fsm *f;
+ int code, id;
+ u_char *inp;
+ int len;
+{
+ u_char *magp;
+
+ switch( code ){
+ case PROTREJ:
+ lcp_rprotrej(f, inp, len);
+ break;
+
+ case ECHOREQ:
+ if (f->state != OPENED)
+ break;
+ magp = inp;
+ PUTLONG(lcp_gotoptions[f->unit].magicnumber, magp);
+ fsm_sdata(f, ECHOREP, id, inp, len);
+ break;
+
+ case ECHOREP:
+ lcp_received_echo_reply(f, id, inp, len);
+ break;
+
+ case DISCREQ:
+ break;
+
+ default:
+ return 0;
+ }
+ return 1;
+}
+
+
+/*
+ * lcp_rprotrej - Receive an Protocol-Reject.
+ *
+ * Figure out which protocol is rejected and inform it.
+ */
+static void
+lcp_rprotrej(f, inp, len)
+ fsm *f;
+ u_char *inp;
+ int len;
+{
+ int i;
+ struct protent *protp;
+ u_short prot;
+
+ if (len < 2) {
+ LCPDEBUG(("lcp_rprotrej: Rcvd short Protocol-Reject packet!"));
+ return;
+ }
+
+ GETSHORT(prot, inp);
+
+ /*
+ * Protocol-Reject packets received in any state other than the LCP
+ * OPENED state SHOULD be silently discarded.
+ */
+ if( f->state != OPENED ){
+ LCPDEBUG(("Protocol-Reject discarded: LCP in state %d", f->state));
+ return;
+ }
+
+ /*
+ * Upcall the proper Protocol-Reject routine.
+ */
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->protocol == prot && protp->enabled_flag) {
+ (*protp->protrej)(f->unit);
+ return;
+ }
+
+ warn("Protocol-Reject for unsupported protocol 0x%x", prot);
+}
+
+
+/*
+ * lcp_protrej - A Protocol-Reject was received.
+ */
+/*ARGSUSED*/
+static void
+lcp_protrej(unit)
+ int unit;
+{
+ /*
+ * Can't reject LCP!
+ */
+ error("Received Protocol-Reject for LCP!");
+ fsm_protreject(&lcp_fsm[unit]);
+}
+
+
+/*
+ * lcp_sprotrej - Send a Protocol-Reject for some protocol.
+ */
+void
+lcp_sprotrej(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ /*
+ * Send back the protocol and the information field of the
+ * rejected packet. We only get here if LCP is in the OPENED state.
+ */
+ p += 2;
+ len -= 2;
+
+ fsm_sdata(&lcp_fsm[unit], PROTREJ, ++lcp_fsm[unit].id,
+ p, len);
+}
+
+
+/*
+ * lcp_resetci - Reset our CI.
+ */
+static void
+lcp_resetci(f)
+ fsm *f;
+{
+ lcp_options *wo = &lcp_wantoptions[f->unit];
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ lcp_options *ao = &lcp_allowoptions[f->unit];
+
+ wo->magicnumber = magic();
+ wo->numloops = 0;
+ *go = *wo;
+ if (!multilink) {
+ go->neg_mrru = 0;
+ go->neg_ssnhf = 0;
+ go->neg_endpoint = 0;
+ }
+ if (noendpoint)
+ ao->neg_endpoint = 0;
+ peer_mru[f->unit] = PPP_MRU;
+ auth_reset(f->unit);
+}
+
+
+/*
+ * lcp_cilen - Return length of our CI.
+ */
+static int
+lcp_cilen(f)
+ fsm *f;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+
+#define LENCIVOID(neg) ((neg) ? CILEN_VOID : 0)
+#define LENCICHAP(neg) ((neg) ? CILEN_CHAP : 0)
+#define LENCISHORT(neg) ((neg) ? CILEN_SHORT : 0)
+#define LENCILONG(neg) ((neg) ? CILEN_LONG : 0)
+#define LENCILQR(neg) ((neg) ? CILEN_LQR: 0)
+#define LENCICBCP(neg) ((neg) ? CILEN_CBCP: 0)
+ /*
+ * NB: we only ask for one of CHAP and UPAP, even if we will
+ * accept either.
+ */
+ return (LENCISHORT(go->neg_mru && go->mru != DEFMRU) +
+ LENCILONG(go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) +
+ LENCICHAP(go->neg_chap) +
+ LENCISHORT(!go->neg_chap && go->neg_upap) +
+ LENCILQR(go->neg_lqr) +
+ LENCICBCP(go->neg_cbcp) +
+ LENCILONG(go->neg_magicnumber) +
+ LENCIVOID(go->neg_pcompression) +
+ LENCIVOID(go->neg_accompression) +
+ LENCISHORT(go->neg_mrru) +
+ LENCIVOID(go->neg_ssnhf) +
+ (go->neg_endpoint? CILEN_CHAR + go->endpoint.length: 0));
+}
+
+
+/*
+ * lcp_addci - Add our desired CIs to a packet.
+ */
+static void
+lcp_addci(f, ucp, lenp)
+ fsm *f;
+ u_char *ucp;
+ int *lenp;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ u_char *start_ucp = ucp;
+
+#define ADDCIVOID(opt, neg) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_VOID, ucp); \
+ }
+#define ADDCISHORT(opt, neg, val) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_SHORT, ucp); \
+ PUTSHORT(val, ucp); \
+ }
+#define ADDCICHAP(opt, neg, val, digest) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_CHAP, ucp); \
+ PUTSHORT(val, ucp); \
+ PUTCHAR(digest, ucp); \
+ }
+#define ADDCILONG(opt, neg, val) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_LONG, ucp); \
+ PUTLONG(val, ucp); \
+ }
+#define ADDCILQR(opt, neg, val) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_LQR, ucp); \
+ PUTSHORT(PPP_LQR, ucp); \
+ PUTLONG(val, ucp); \
+ }
+#define ADDCICHAR(opt, neg, val) \
+ if (neg) { \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_CHAR, ucp); \
+ PUTCHAR(val, ucp); \
+ }
+#define ADDCIENDP(opt, neg, class, val, len) \
+ if (neg) { \
+ int i; \
+ PUTCHAR(opt, ucp); \
+ PUTCHAR(CILEN_CHAR + len, ucp); \
+ PUTCHAR(class, ucp); \
+ for (i = 0; i < len; ++i) \
+ PUTCHAR(val[i], ucp); \
+ }
+
+ ADDCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
+ ADDCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
+ go->asyncmap);
+ ADDCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
+ ADDCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
+ ADDCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
+ ADDCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
+ ADDCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
+ ADDCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
+ ADDCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
+ ADDCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
+ ADDCIVOID(CI_SSNHF, go->neg_ssnhf);
+ ADDCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
+ go->endpoint.value, go->endpoint.length);
+
+ if (ucp - start_ucp != *lenp) {
+ /* this should never happen, because peer_mtu should be 1500 */
+ error("Bug in lcp_addci: wrong length");
+ }
+}
+
+
+/*
+ * lcp_ackci - Ack our CIs.
+ * This should not modify any state if the Ack is bad.
+ *
+ * Returns:
+ * 0 - Ack was bad.
+ * 1 - Ack was good.
+ */
+static int
+lcp_ackci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ u_char cilen, citype, cichar;
+ u_short cishort;
+ u_int32_t cilong;
+
+ /*
+ * CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define ACKCIVOID(opt, neg) \
+ if (neg) { \
+ if ((len -= CILEN_VOID) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_VOID || \
+ citype != opt) \
+ goto bad; \
+ }
+#define ACKCISHORT(opt, neg, val) \
+ if (neg) { \
+ if ((len -= CILEN_SHORT) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_SHORT || \
+ citype != opt) \
+ goto bad; \
+ GETSHORT(cishort, p); \
+ if (cishort != val) \
+ goto bad; \
+ }
+#define ACKCICHAR(opt, neg, val) \
+ if (neg) { \
+ if ((len -= CILEN_CHAR) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_CHAR || \
+ citype != opt) \
+ goto bad; \
+ GETCHAR(cichar, p); \
+ if (cichar != val) \
+ goto bad; \
+ }
+#define ACKCICHAP(opt, neg, val, digest) \
+ if (neg) { \
+ if ((len -= CILEN_CHAP) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_CHAP || \
+ citype != opt) \
+ goto bad; \
+ GETSHORT(cishort, p); \
+ if (cishort != val) \
+ goto bad; \
+ GETCHAR(cichar, p); \
+ if (cichar != digest) \
+ goto bad; \
+ }
+#define ACKCILONG(opt, neg, val) \
+ if (neg) { \
+ if ((len -= CILEN_LONG) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_LONG || \
+ citype != opt) \
+ goto bad; \
+ GETLONG(cilong, p); \
+ if (cilong != val) \
+ goto bad; \
+ }
+#define ACKCILQR(opt, neg, val) \
+ if (neg) { \
+ if ((len -= CILEN_LQR) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_LQR || \
+ citype != opt) \
+ goto bad; \
+ GETSHORT(cishort, p); \
+ if (cishort != PPP_LQR) \
+ goto bad; \
+ GETLONG(cilong, p); \
+ if (cilong != val) \
+ goto bad; \
+ }
+#define ACKCIENDP(opt, neg, class, val, vlen) \
+ if (neg) { \
+ int i; \
+ if ((len -= CILEN_CHAR + vlen) < 0) \
+ goto bad; \
+ GETCHAR(citype, p); \
+ GETCHAR(cilen, p); \
+ if (cilen != CILEN_CHAR + vlen || \
+ citype != opt) \
+ goto bad; \
+ GETCHAR(cichar, p); \
+ if (cichar != class) \
+ goto bad; \
+ for (i = 0; i < vlen; ++i) { \
+ GETCHAR(cichar, p); \
+ if (cichar != val[i]) \
+ goto bad; \
+ } \
+ }
+
+ ACKCISHORT(CI_MRU, go->neg_mru && go->mru != DEFMRU, go->mru);
+ ACKCILONG(CI_ASYNCMAP, go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF,
+ go->asyncmap);
+ ACKCICHAP(CI_AUTHTYPE, go->neg_chap, PPP_CHAP, go->chap_mdtype);
+ ACKCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, PPP_PAP);
+ ACKCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);
+ ACKCICHAR(CI_CALLBACK, go->neg_cbcp, CBCP_OPT);
+ ACKCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);
+ ACKCIVOID(CI_PCOMPRESSION, go->neg_pcompression);
+ ACKCIVOID(CI_ACCOMPRESSION, go->neg_accompression);
+ ACKCISHORT(CI_MRRU, go->neg_mrru, go->mrru);
+ ACKCIVOID(CI_SSNHF, go->neg_ssnhf);
+ ACKCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class,
+ go->endpoint.value, go->endpoint.length);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ return (1);
+bad:
+ LCPDEBUG(("lcp_acki: received bad Ack!"));
+ return (0);
+}
+
+
+/*
+ * lcp_nakci - Peer has sent a NAK for some of our CIs.
+ * This should not modify any state if the Nak is bad
+ * or if LCP is in the OPENED state.
+ *
+ * Returns:
+ * 0 - Nak was bad.
+ * 1 - Nak was good.
+ */
+static int
+lcp_nakci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ lcp_options *wo = &lcp_wantoptions[f->unit];
+ u_char citype, cichar, *next;
+ u_short cishort;
+ u_int32_t cilong;
+ lcp_options no; /* options we've seen Naks for */
+ lcp_options try; /* options to request next time */
+ int looped_back = 0;
+ int cilen;
+
+ BZERO(&no, sizeof(no));
+ try = *go;
+
+ /*
+ * Any Nak'd CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define NAKCIVOID(opt, neg) \
+ if (go->neg && \
+ len >= CILEN_VOID && \
+ p[1] == CILEN_VOID && \
+ p[0] == opt) { \
+ len -= CILEN_VOID; \
+ INCPTR(CILEN_VOID, p); \
+ no.neg = 1; \
+ try.neg = 0; \
+ }
+#define NAKCICHAP(opt, neg, code) \
+ if (go->neg && \
+ len >= CILEN_CHAP && \
+ p[1] == CILEN_CHAP && \
+ p[0] == opt) { \
+ len -= CILEN_CHAP; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ GETCHAR(cichar, p); \
+ no.neg = 1; \
+ code \
+ }
+#define NAKCICHAR(opt, neg, code) \
+ if (go->neg && \
+ len >= CILEN_CHAR && \
+ p[1] == CILEN_CHAR && \
+ p[0] == opt) { \
+ len -= CILEN_CHAR; \
+ INCPTR(2, p); \
+ GETCHAR(cichar, p); \
+ no.neg = 1; \
+ code \
+ }
+#define NAKCISHORT(opt, neg, code) \
+ if (go->neg && \
+ len >= CILEN_SHORT && \
+ p[1] == CILEN_SHORT && \
+ p[0] == opt) { \
+ len -= CILEN_SHORT; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ no.neg = 1; \
+ code \
+ }
+#define NAKCILONG(opt, neg, code) \
+ if (go->neg && \
+ len >= CILEN_LONG && \
+ p[1] == CILEN_LONG && \
+ p[0] == opt) { \
+ len -= CILEN_LONG; \
+ INCPTR(2, p); \
+ GETLONG(cilong, p); \
+ no.neg = 1; \
+ code \
+ }
+#define NAKCILQR(opt, neg, code) \
+ if (go->neg && \
+ len >= CILEN_LQR && \
+ p[1] == CILEN_LQR && \
+ p[0] == opt) { \
+ len -= CILEN_LQR; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ GETLONG(cilong, p); \
+ no.neg = 1; \
+ code \
+ }
+#define NAKCIENDP(opt, neg) \
+ if (go->neg && \
+ len >= CILEN_CHAR && \
+ p[0] == opt && \
+ p[1] >= CILEN_CHAR && \
+ p[1] <= len) { \
+ len -= p[1]; \
+ INCPTR(p[1], p); \
+ no.neg = 1; \
+ try.neg = 0; \
+ }
+
+ /*
+ * We don't care if they want to send us smaller packets than
+ * we want. Therefore, accept any MRU less than what we asked for,
+ * but then ignore the new value when setting the MRU in the kernel.
+ * If they send us a bigger MRU than what we asked, accept it, up to
+ * the limit of the default MRU we'd get if we didn't negotiate.
+ */
+ if (go->neg_mru && go->mru != DEFMRU) {
+ NAKCISHORT(CI_MRU, neg_mru,
+ if (cishort <= wo->mru || cishort <= DEFMRU)
+ try.mru = cishort;
+ );
+ }
+
+ /*
+ * Add any characters they want to our (receive-side) asyncmap.
+ */
+ if (go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF) {
+ NAKCILONG(CI_ASYNCMAP, neg_asyncmap,
+ try.asyncmap = go->asyncmap | cilong;
+ );
+ }
+
+ /*
+ * If they've nak'd our authentication-protocol, check whether
+ * they are proposing a different protocol, or a different
+ * hash algorithm for CHAP.
+ */
+ if ((go->neg_chap || go->neg_upap)
+ && len >= CILEN_SHORT
+ && p[0] == CI_AUTHTYPE && p[1] >= CILEN_SHORT && p[1] <= len) {
+ cilen = p[1];
+ len -= cilen;
+ no.neg_chap = go->neg_chap;
+ no.neg_upap = go->neg_upap;
+ INCPTR(2, p);
+ GETSHORT(cishort, p);
+ if (cishort == PPP_PAP && cilen == CILEN_SHORT) {
+ /*
+ * If we were asking for CHAP, they obviously don't want to do it.
+ * If we weren't asking for CHAP, then we were asking for PAP,
+ * in which case this Nak is bad.
+ */
+ if (!go->neg_chap)
+ goto bad;
+ try.neg_chap = 0;
+
+ } else if (cishort == PPP_CHAP && cilen == CILEN_CHAP) {
+ GETCHAR(cichar, p);
+ if (go->neg_chap) {
+ /*
+ * We were asking for CHAP/MD5; they must want a different
+ * algorithm. If they can't do MD5, we can ask for M$-CHAP
+ * if we support it, otherwise we'll have to stop
+ * asking for CHAP.
+ */
+ if (cichar != go->chap_mdtype) {
+#ifdef CHAPMS
+ if (cichar == CHAP_MICROSOFT)
+ go->chap_mdtype = CHAP_MICROSOFT;
+ else
+#endif /* CHAPMS */
+ try.neg_chap = 0;
+ }
+ } else {
+ /*
+ * Stop asking for PAP if we were asking for it.
+ */
+ try.neg_upap = 0;
+ }
+
+ } else {
+ /*
+ * We don't recognize what they're suggesting.
+ * Stop asking for what we were asking for.
+ */
+ if (go->neg_chap)
+ try.neg_chap = 0;
+ else
+ try.neg_upap = 0;
+ p += cilen - CILEN_SHORT;
+ }
+ }
+
+ /*
+ * If they can't cope with our link quality protocol, we'll have
+ * to stop asking for LQR. We haven't got any other protocol.
+ * If they Nak the reporting period, take their value XXX ?
+ */
+ NAKCILQR(CI_QUALITY, neg_lqr,
+ if (cishort != PPP_LQR)
+ try.neg_lqr = 0;
+ else
+ try.lqr_period = cilong;
+ );
+
+ /*
+ * Only implementing CBCP...not the rest of the callback options
+ */
+ NAKCICHAR(CI_CALLBACK, neg_cbcp,
+ try.neg_cbcp = 0;
+ );
+
+ /*
+ * Check for a looped-back line.
+ */
+ NAKCILONG(CI_MAGICNUMBER, neg_magicnumber,
+ try.magicnumber = magic();
+ looped_back = 1;
+ );
+
+ /*
+ * Peer shouldn't send Nak for protocol compression or
+ * address/control compression requests; they should send
+ * a Reject instead. If they send a Nak, treat it as a Reject.
+ */
+ NAKCIVOID(CI_PCOMPRESSION, neg_pcompression);
+ NAKCIVOID(CI_ACCOMPRESSION, neg_accompression);
+
+ /*
+ * Nak for MRRU option - accept their value if it is smaller
+ * than the one we want.
+ */
+ if (go->neg_mrru) {
+ NAKCISHORT(CI_MRRU, neg_mrru,
+ if (cishort <= wo->mrru)
+ try.mrru = cishort;
+ );
+ }
+
+ /*
+ * Nak for short sequence numbers shouldn't be sent, treat it
+ * like a reject.
+ */
+ NAKCIVOID(CI_SSNHF, neg_ssnhf);
+
+ /*
+ * Nak of the endpoint discriminator option is not permitted,
+ * treat it like a reject.
+ */
+ NAKCIENDP(CI_EPDISC, neg_endpoint);
+
+ /*
+ * There may be remaining CIs, if the peer is requesting negotiation
+ * on an option that we didn't include in our request packet.
+ * If we see an option that we requested, or one we've already seen
+ * in this packet, then this packet is bad.
+ * If we wanted to respond by starting to negotiate on the requested
+ * option(s), we could, but we don't, because except for the
+ * authentication type and quality protocol, if we are not negotiating
+ * an option, it is because we were told not to.
+ * For the authentication type, the Nak from the peer means
+ * `let me authenticate myself with you' which is a bit pointless.
+ * For the quality protocol, the Nak means `ask me to send you quality
+ * reports', but if we didn't ask for them, we don't want them.
+ * An option we don't recognize represents the peer asking to
+ * negotiate some option we don't support, so ignore it.
+ */
+ while (len > CILEN_VOID) {
+ GETCHAR(citype, p);
+ GETCHAR(cilen, p);
+ if (cilen < CILEN_VOID || (len -= cilen) < 0)
+ goto bad;
+ next = p + cilen - 2;
+
+ switch (citype) {
+ case CI_MRU:
+ if ((go->neg_mru && go->mru != DEFMRU)
+ || no.neg_mru || cilen != CILEN_SHORT)
+ goto bad;
+ GETSHORT(cishort, p);
+ if (cishort < DEFMRU) {
+ try.neg_mru = 1;
+ try.mru = cishort;
+ }
+ break;
+ case CI_ASYNCMAP:
+ if ((go->neg_asyncmap && go->asyncmap != 0xFFFFFFFF)
+ || no.neg_asyncmap || cilen != CILEN_LONG)
+ goto bad;
+ break;
+ case CI_AUTHTYPE:
+ if (go->neg_chap || no.neg_chap || go->neg_upap || no.neg_upap)
+ goto bad;
+ break;
+ case CI_MAGICNUMBER:
+ if (go->neg_magicnumber || no.neg_magicnumber ||
+ cilen != CILEN_LONG)
+ goto bad;
+ break;
+ case CI_PCOMPRESSION:
+ if (go->neg_pcompression || no.neg_pcompression
+ || cilen != CILEN_VOID)
+ goto bad;
+ break;
+ case CI_ACCOMPRESSION:
+ if (go->neg_accompression || no.neg_accompression
+ || cilen != CILEN_VOID)
+ goto bad;
+ break;
+ case CI_QUALITY:
+ if (go->neg_lqr || no.neg_lqr || cilen != CILEN_LQR)
+ goto bad;
+ break;
+ case CI_MRRU:
+ if (go->neg_mrru || no.neg_mrru || cilen != CILEN_SHORT)
+ goto bad;
+ break;
+ case CI_SSNHF:
+ if (go->neg_ssnhf || no.neg_ssnhf || cilen != CILEN_VOID)
+ goto bad;
+ try.neg_ssnhf = 1;
+ break;
+ case CI_EPDISC:
+ if (go->neg_endpoint || no.neg_endpoint || cilen < CILEN_CHAR)
+ goto bad;
+ break;
+ }
+ p = next;
+ }
+
+ /*
+ * OK, the Nak is good. Now we can update state.
+ * If there are any options left we ignore them.
+ */
+ if (f->state != OPENED) {
+ if (looped_back) {
+ if (++try.numloops >= lcp_loopbackfail) {
+ notice("Serial line is looped back.");
+ lcp_close(f->unit, "Loopback detected");
+ status = EXIT_LOOPBACK;
+ }
+ } else
+ try.numloops = 0;
+ *go = try;
+ }
+
+ return 1;
+
+bad:
+ LCPDEBUG(("lcp_nakci: received bad Nak!"));
+ return 0;
+}
+
+
+/*
+ * lcp_rejci - Peer has Rejected some of our CIs.
+ * This should not modify any state if the Reject is bad
+ * or if LCP is in the OPENED state.
+ *
+ * Returns:
+ * 0 - Reject was bad.
+ * 1 - Reject was good.
+ */
+static int
+lcp_rejci(f, p, len)
+ fsm *f;
+ u_char *p;
+ int len;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ u_char cichar;
+ u_short cishort;
+ u_int32_t cilong;
+ lcp_options try; /* options to request next time */
+
+ try = *go;
+
+ /*
+ * Any Rejected CIs must be in exactly the same order that we sent.
+ * Check packet length and CI length at each step.
+ * If we find any deviations, then this packet is bad.
+ */
+#define REJCIVOID(opt, neg) \
+ if (go->neg && \
+ len >= CILEN_VOID && \
+ p[1] == CILEN_VOID && \
+ p[0] == opt) { \
+ len -= CILEN_VOID; \
+ INCPTR(CILEN_VOID, p); \
+ try.neg = 0; \
+ }
+#define REJCISHORT(opt, neg, val) \
+ if (go->neg && \
+ len >= CILEN_SHORT && \
+ p[1] == CILEN_SHORT && \
+ p[0] == opt) { \
+ len -= CILEN_SHORT; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ /* Check rejected value. */ \
+ if (cishort != val) \
+ goto bad; \
+ try.neg = 0; \
+ }
+#define REJCICHAP(opt, neg, val, digest) \
+ if (go->neg && \
+ len >= CILEN_CHAP && \
+ p[1] == CILEN_CHAP && \
+ p[0] == opt) { \
+ len -= CILEN_CHAP; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ GETCHAR(cichar, p); \
+ /* Check rejected value. */ \
+ if (cishort != val || cichar != digest) \
+ goto bad; \
+ try.neg = 0; \
+ try.neg_upap = 0; \
+ }
+#define REJCILONG(opt, neg, val) \
+ if (go->neg && \
+ len >= CILEN_LONG && \
+ p[1] == CILEN_LONG && \
+ p[0] == opt) { \
+ len -= CILEN_LONG; \
+ INCPTR(2, p); \
+ GETLONG(cilong, p); \
+ /* Check rejected value. */ \
+ if (cilong != val) \
+ goto bad; \
+ try.neg = 0; \
+ }
+#define REJCILQR(opt, neg, val) \
+ if (go->neg && \
+ len >= CILEN_LQR && \
+ p[1] == CILEN_LQR && \
+ p[0] == opt) { \
+ len -= CILEN_LQR; \
+ INCPTR(2, p); \
+ GETSHORT(cishort, p); \
+ GETLONG(cilong, p); \
+ /* Check rejected value. */ \
+ if (cishort != PPP_LQR || cilong != val) \
+ goto bad; \
+ try.neg = 0; \
+ }
+#define REJCICBCP(opt, neg, val) \
+ if (go->neg && \
+ len >= CILEN_CBCP && \
+ p[1] == CILEN_CBCP && \
+ p[0] == opt) { \
+ len -= CILEN_CBCP; \
+ INCPTR(2, p); \
+ GETCHAR(cichar, p); \
+ /* Check rejected value. */ \
+ if (cichar != val) \
+ goto bad; \
+ try.neg = 0; \
+ }
+#define REJCIENDP(opt, neg, class, val, vlen) \
+ if (go->neg && \
+ len >= CILEN_CHAR + vlen && \
+ p[0] == opt && \
+ p[1] == CILEN_CHAR + vlen) { \
+ int i; \
+ len -= CILEN_CHAR + vlen; \
+ INCPTR(2, p); \
+ GETCHAR(cichar, p); \
+ if (cichar != class) \
+ goto bad; \
+ for (i = 0; i < vlen; ++i) { \
+ GETCHAR(cichar, p); \
+ if (cichar != val[i]) \
+ goto bad; \
+ } \
+ try.neg = 0; \
+ }
+
+ REJCISHORT(CI_MRU, neg_mru, go->mru);
+ REJCILONG(CI_ASYNCMAP, neg_asyncmap, go->asyncmap);
+ REJCICHAP(CI_AUTHTYPE, neg_chap, PPP_CHAP, go->chap_mdtype);
+ if (!go->neg_chap) {
+ REJCISHORT(CI_AUTHTYPE, neg_upap, PPP_PAP);
+ }
+ REJCILQR(CI_QUALITY, neg_lqr, go->lqr_period);
+ REJCICBCP(CI_CALLBACK, neg_cbcp, CBCP_OPT);
+ REJCILONG(CI_MAGICNUMBER, neg_magicnumber, go->magicnumber);
+ REJCIVOID(CI_PCOMPRESSION, neg_pcompression);
+ REJCIVOID(CI_ACCOMPRESSION, neg_accompression);
+ REJCISHORT(CI_MRRU, neg_mrru, go->mrru);
+ REJCIVOID(CI_SSNHF, neg_ssnhf);
+ REJCIENDP(CI_EPDISC, neg_endpoint, go->endpoint.class,
+ go->endpoint.value, go->endpoint.length);
+
+ /*
+ * If there are any remaining CIs, then this packet is bad.
+ */
+ if (len != 0)
+ goto bad;
+ /*
+ * Now we can update state.
+ */
+ if (f->state != OPENED)
+ *go = try;
+ return 1;
+
+bad:
+ LCPDEBUG(("lcp_rejci: received bad Reject!"));
+ return 0;
+}
+
+
+/*
+ * lcp_reqci - Check the peer's requested CIs and send appropriate response.
+ *
+ * Returns: CONFACK, CONFNAK or CONFREJ and input packet modified
+ * appropriately. If reject_if_disagree is non-zero, doesn't return
+ * CONFNAK; returns CONFREJ if it can't return CONFACK.
+ */
+static int
+lcp_reqci(f, inp, lenp, reject_if_disagree)
+ fsm *f;
+ u_char *inp; /* Requested CIs */
+ int *lenp; /* Length of requested CIs */
+ int reject_if_disagree;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ lcp_options *ho = &lcp_hisoptions[f->unit];
+ lcp_options *ao = &lcp_allowoptions[f->unit];
+ u_char *cip, *next; /* Pointer to current and next CIs */
+ int cilen, citype, cichar; /* Parsed len, type, char value */
+ u_short cishort; /* Parsed short value */
+ u_int32_t cilong; /* Parse long value */
+ int rc = CONFACK; /* Final packet return code */
+ int orc; /* Individual option return code */
+ u_char *p; /* Pointer to next char to parse */
+ u_char *rejp; /* Pointer to next char in reject frame */
+ u_char *nakp; /* Pointer to next char in Nak frame */
+ int l = *lenp; /* Length left */
+
+ /*
+ * Reset all his options.
+ */
+ BZERO(ho, sizeof(*ho));
+
+ /*
+ * Process all his options.
+ */
+ next = inp;
+ nakp = nak_buffer;
+ rejp = inp;
+ while (l) {
+ orc = CONFACK; /* Assume success */
+ cip = p = next; /* Remember begining of CI */
+ if (l < 2 || /* Not enough data for CI header or */
+ p[1] < 2 || /* CI length too small or */
+ p[1] > l) { /* CI length too big? */
+ LCPDEBUG(("lcp_reqci: bad CI length!"));
+ orc = CONFREJ; /* Reject bad CI */
+ cilen = l; /* Reject till end of packet */
+ l = 0; /* Don't loop again */
+ citype = 0;
+ goto endswitch;
+ }
+ GETCHAR(citype, p); /* Parse CI type */
+ GETCHAR(cilen, p); /* Parse CI length */
+ l -= cilen; /* Adjust remaining length */
+ next += cilen; /* Step to next CI */
+
+ switch (citype) { /* Check CI type */
+ case CI_MRU:
+ if (!ao->neg_mru || /* Allow option? */
+ cilen != CILEN_SHORT) { /* Check CI length */
+ orc = CONFREJ; /* Reject CI */
+ break;
+ }
+ GETSHORT(cishort, p); /* Parse MRU */
+
+ /*
+ * He must be able to receive at least our minimum.
+ * No need to check a maximum. If he sends a large number,
+ * we'll just ignore it.
+ */
+ if (cishort < MINMRU) {
+ orc = CONFNAK; /* Nak CI */
+ PUTCHAR(CI_MRU, nakp);
+ PUTCHAR(CILEN_SHORT, nakp);
+ PUTSHORT(MINMRU, nakp); /* Give him a hint */
+ break;
+ }
+ ho->neg_mru = 1; /* Remember he sent MRU */
+ ho->mru = cishort; /* And remember value */
+ break;
+
+ case CI_ASYNCMAP:
+ if (!ao->neg_asyncmap ||
+ cilen != CILEN_LONG) {
+ orc = CONFREJ;
+ break;
+ }
+ GETLONG(cilong, p);
+
+ /*
+ * Asyncmap must have set at least the bits
+ * which are set in lcp_allowoptions[unit].asyncmap.
+ */
+ if ((ao->asyncmap & ~cilong) != 0) {
+ orc = CONFNAK;
+ PUTCHAR(CI_ASYNCMAP, nakp);
+ PUTCHAR(CILEN_LONG, nakp);
+ PUTLONG(ao->asyncmap | cilong, nakp);
+ break;
+ }
+ ho->neg_asyncmap = 1;
+ ho->asyncmap = cilong;
+ break;
+
+ case CI_AUTHTYPE:
+ if (cilen < CILEN_SHORT ||
+ !(ao->neg_upap || ao->neg_chap)) {
+ /*
+ * Reject the option if we're not willing to authenticate.
+ */
+ orc = CONFREJ;
+ break;
+ }
+ GETSHORT(cishort, p);
+
+ /*
+ * Authtype must be PAP or CHAP.
+ *
+ * Note: if both ao->neg_upap and ao->neg_chap are set,
+ * and the peer sends a Configure-Request with two
+ * authenticate-protocol requests, one for CHAP and one
+ * for UPAP, then we will reject the second request.
+ * Whether we end up doing CHAP or UPAP depends then on
+ * the ordering of the CIs in the peer's Configure-Request.
+ */
+
+ if (cishort == PPP_PAP) {
+ if (ho->neg_chap || /* we've already accepted CHAP */
+ cilen != CILEN_SHORT) {
+ LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE PAP, rejecting..."));
+ orc = CONFREJ;
+ break;
+ }
+ if (!ao->neg_upap) { /* we don't want to do PAP */
+ orc = CONFNAK; /* NAK it and suggest CHAP */
+ PUTCHAR(CI_AUTHTYPE, nakp);
+ PUTCHAR(CILEN_CHAP, nakp);
+ PUTSHORT(PPP_CHAP, nakp);
+ PUTCHAR(ao->chap_mdtype, nakp);
+ /* XXX if we can do CHAP_MICROSOFT as well, we should
+ probably put in another option saying so */
+ break;
+ }
+ ho->neg_upap = 1;
+ break;
+ }
+ if (cishort == PPP_CHAP) {
+ if (ho->neg_upap || /* we've already accepted PAP */
+ cilen != CILEN_CHAP) {
+ LCPDEBUG(("lcp_reqci: rcvd AUTHTYPE CHAP, rejecting..."));
+ orc = CONFREJ;
+ break;
+ }
+ if (!ao->neg_chap) { /* we don't want to do CHAP */
+ orc = CONFNAK; /* NAK it and suggest PAP */
+ PUTCHAR(CI_AUTHTYPE, nakp);
+ PUTCHAR(CILEN_SHORT, nakp);
+ PUTSHORT(PPP_PAP, nakp);
+ break;
+ }
+ GETCHAR(cichar, p); /* get digest type*/
+ if (cichar != CHAP_DIGEST_MD5
+#ifdef CHAPMS
+ && cichar != CHAP_MICROSOFT
+#endif
+ ) {
+ orc = CONFNAK;
+ PUTCHAR(CI_AUTHTYPE, nakp);
+ PUTCHAR(CILEN_CHAP, nakp);
+ PUTSHORT(PPP_CHAP, nakp);
+ PUTCHAR(ao->chap_mdtype, nakp);
+ break;
+ }
+ ho->chap_mdtype = cichar; /* save md type */
+ ho->neg_chap = 1;
+ break;
+ }
+
+ /*
+ * We don't recognize the protocol they're asking for.
+ * Nak it with something we're willing to do.
+ * (At this point we know ao->neg_upap || ao->neg_chap.)
+ */
+ orc = CONFNAK;
+ PUTCHAR(CI_AUTHTYPE, nakp);
+ if (ao->neg_chap) {
+ PUTCHAR(CILEN_CHAP, nakp);
+ PUTSHORT(PPP_CHAP, nakp);
+ PUTCHAR(ao->chap_mdtype, nakp);
+ } else {
+ PUTCHAR(CILEN_SHORT, nakp);
+ PUTSHORT(PPP_PAP, nakp);
+ }
+ break;
+
+ case CI_QUALITY:
+ if (!ao->neg_lqr ||
+ cilen != CILEN_LQR) {
+ orc = CONFREJ;
+ break;
+ }
+
+ GETSHORT(cishort, p);
+ GETLONG(cilong, p);
+
+ /*
+ * Check the protocol and the reporting period.
+ * XXX When should we Nak this, and what with?
+ */
+ if (cishort != PPP_LQR) {
+ orc = CONFNAK;
+ PUTCHAR(CI_QUALITY, nakp);
+ PUTCHAR(CILEN_LQR, nakp);
+ PUTSHORT(PPP_LQR, nakp);
+ PUTLONG(ao->lqr_period, nakp);
+ break;
+ }
+ break;
+
+ case CI_MAGICNUMBER:
+ if (!(ao->neg_magicnumber || go->neg_magicnumber) ||
+ cilen != CILEN_LONG) {
+ orc = CONFREJ;
+ break;
+ }
+ GETLONG(cilong, p);
+
+ /*
+ * He must have a different magic number.
+ */
+ if (go->neg_magicnumber &&
+ cilong == go->magicnumber) {
+ cilong = magic(); /* Don't put magic() inside macro! */
+ orc = CONFNAK;
+ PUTCHAR(CI_MAGICNUMBER, nakp);
+ PUTCHAR(CILEN_LONG, nakp);
+ PUTLONG(cilong, nakp);
+ break;
+ }
+ ho->neg_magicnumber = 1;
+ ho->magicnumber = cilong;
+ break;
+
+
+ case CI_PCOMPRESSION:
+ if (!ao->neg_pcompression ||
+ cilen != CILEN_VOID) {
+ orc = CONFREJ;
+ break;
+ }
+ ho->neg_pcompression = 1;
+ break;
+
+ case CI_ACCOMPRESSION:
+ if (!ao->neg_accompression ||
+ cilen != CILEN_VOID) {
+ orc = CONFREJ;
+ break;
+ }
+ ho->neg_accompression = 1;
+ break;
+
+ case CI_MRRU:
+ if (!ao->neg_mrru || !multilink ||
+ cilen != CILEN_SHORT) {
+ orc = CONFREJ;
+ break;
+ }
+
+ GETSHORT(cishort, p);
+ /* possibly should insist on a minimum/maximum MRRU here */
+ ho->neg_mrru = 1;
+ ho->mrru = cishort;
+ break;
+
+ case CI_SSNHF:
+ if (!ao->neg_ssnhf || !multilink ||
+ cilen != CILEN_VOID) {
+ orc = CONFREJ;
+ break;
+ }
+ ho->neg_ssnhf = 1;
+ break;
+
+ case CI_EPDISC:
+ if (!ao->neg_endpoint ||
+ cilen < CILEN_CHAR ||
+ cilen > CILEN_CHAR + MAX_ENDP_LEN) {
+ orc = CONFREJ;
+ break;
+ }
+ GETCHAR(cichar, p);
+ cilen -= CILEN_CHAR;
+ ho->neg_endpoint = 1;
+ ho->endpoint.class = cichar;
+ ho->endpoint.length = cilen;
+ BCOPY(p, ho->endpoint.value, cilen);
+ INCPTR(cilen, p);
+ break;
+
+ default:
+ LCPDEBUG(("lcp_reqci: rcvd unknown option %d", citype));
+ orc = CONFREJ;
+ break;
+ }
+
+endswitch:
+ if (orc == CONFACK && /* Good CI */
+ rc != CONFACK) /* but prior CI wasnt? */
+ continue; /* Don't send this one */
+
+ if (orc == CONFNAK) { /* Nak this CI? */
+ if (reject_if_disagree /* Getting fed up with sending NAKs? */
+ && citype != CI_MAGICNUMBER) {
+ orc = CONFREJ; /* Get tough if so */
+ } else {
+ if (rc == CONFREJ) /* Rejecting prior CI? */
+ continue; /* Don't send this one */
+ rc = CONFNAK;
+ }
+ }
+ if (orc == CONFREJ) { /* Reject this CI */
+ rc = CONFREJ;
+ if (cip != rejp) /* Need to move rejected CI? */
+ BCOPY(cip, rejp, cilen); /* Move it */
+ INCPTR(cilen, rejp); /* Update output pointer */
+ }
+ }
+
+ /*
+ * If we wanted to send additional NAKs (for unsent CIs), the
+ * code would go here. The extra NAKs would go at *nakp.
+ * At present there are no cases where we want to ask the
+ * peer to negotiate an option.
+ */
+
+ switch (rc) {
+ case CONFACK:
+ *lenp = next - inp;
+ break;
+ case CONFNAK:
+ /*
+ * Copy the Nak'd options from the nak_buffer to the caller's buffer.
+ */
+ *lenp = nakp - nak_buffer;
+ BCOPY(nak_buffer, inp, *lenp);
+ break;
+ case CONFREJ:
+ *lenp = rejp - inp;
+ break;
+ }
+
+ LCPDEBUG(("lcp_reqci: returning CONF%s.", CODENAME(rc)));
+ return (rc); /* Return final code */
+}
+
+
+/*
+ * lcp_up - LCP has come UP.
+ */
+static void
+lcp_up(f)
+ fsm *f;
+{
+ lcp_options *wo = &lcp_wantoptions[f->unit];
+ lcp_options *ho = &lcp_hisoptions[f->unit];
+ lcp_options *go = &lcp_gotoptions[f->unit];
+ lcp_options *ao = &lcp_allowoptions[f->unit];
+ int mtu;
+
+ if (!go->neg_magicnumber)
+ go->magicnumber = 0;
+ if (!ho->neg_magicnumber)
+ ho->magicnumber = 0;
+
+ /*
+ * Set our MTU to the smaller of the MTU we wanted and
+ * the MRU our peer wanted. If we negotiated an MRU,
+ * set our MRU to the larger of value we wanted and
+ * the value we got in the negotiation.
+ * Note on the MTU: the link MTU can be the MRU the peer wanted,
+ * the interface MTU is set to the lower of that and the
+ * MTU we want to use.
+ */
+ mtu = ho->neg_mru? ho->mru: PPP_MRU;
+#ifdef HAVE_MULTILINK
+ if (!(multilink && go->neg_mrru && ho->neg_mrru))
+#endif /* HAVE_MULTILINK */
+ netif_set_mtu(f->unit, MIN(mtu, ao->mru));
+ ppp_send_config(f->unit, mtu,
+ (ho->neg_asyncmap? ho->asyncmap: 0xffffffff),
+ ho->neg_pcompression, ho->neg_accompression);
+ ppp_recv_config(f->unit, (go->neg_mru? MAX(wo->mru, go->mru): PPP_MRU),
+ (lax_recv? 0: go->neg_asyncmap? go->asyncmap: 0xffffffff),
+ go->neg_pcompression, go->neg_accompression);
+
+ if (ho->neg_mru)
+ peer_mru[f->unit] = ho->mru;
+
+ lcp_echo_lowerup(f->unit); /* Enable echo messages */
+
+ link_established(f->unit);
+}
+
+
+/*
+ * lcp_down - LCP has gone DOWN.
+ *
+ * Alert other protocols.
+ */
+static void
+lcp_down(f)
+ fsm *f;
+{
+ lcp_options *go = &lcp_gotoptions[f->unit];
+
+ lcp_echo_lowerdown(f->unit);
+
+ link_down(f->unit);
+
+ ppp_send_config(f->unit, PPP_MRU, 0xffffffff, 0, 0);
+ ppp_recv_config(f->unit, PPP_MRU,
+ (go->neg_asyncmap? go->asyncmap: 0xffffffff),
+ go->neg_pcompression, go->neg_accompression);
+ peer_mru[f->unit] = PPP_MRU;
+}
+
+
+/*
+ * lcp_starting - LCP needs the lower layer up.
+ */
+static void
+lcp_starting(f)
+ fsm *f;
+{
+ link_required(f->unit);
+}
+
+
+/*
+ * lcp_finished - LCP has finished with the lower layer.
+ */
+static void
+lcp_finished(f)
+ fsm *f;
+{
+ link_terminated(f->unit);
+}
+
+
+/*
+ * lcp_printpkt - print the contents of an LCP packet.
+ */
+static char *lcp_codenames[] = {
+ "ConfReq", "ConfAck", "ConfNak", "ConfRej",
+ "TermReq", "TermAck", "CodeRej", "ProtRej",
+ "EchoReq", "EchoRep", "DiscReq"
+};
+
+static int
+lcp_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len, olen, i;
+ u_char *pstart, *optend;
+ u_short cishort;
+ u_int32_t cilong;
+
+ if (plen < HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(lcp_codenames) / sizeof(char *))
+ printer(arg, " %s", lcp_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= HEADERLEN;
+ switch (code) {
+ case CONFREQ:
+ case CONFACK:
+ case CONFNAK:
+ case CONFREJ:
+ /* print option list */
+ while (len >= 2) {
+ GETCHAR(code, p);
+ GETCHAR(olen, p);
+ p -= 2;
+ if (olen < 2 || olen > len) {
+ break;
+ }
+ printer(arg, " <");
+ len -= olen;
+ optend = p + olen;
+ switch (code) {
+ case CI_MRU:
+ if (olen == CILEN_SHORT) {
+ p += 2;
+ GETSHORT(cishort, p);
+ printer(arg, "mru %d", cishort);
+ }
+ break;
+ case CI_ASYNCMAP:
+ if (olen == CILEN_LONG) {
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "asyncmap 0x%x", cilong);
+ }
+ break;
+ case CI_AUTHTYPE:
+ if (olen >= CILEN_SHORT) {
+ p += 2;
+ printer(arg, "auth ");
+ GETSHORT(cishort, p);
+ switch (cishort) {
+ case PPP_PAP:
+ printer(arg, "pap");
+ break;
+ case PPP_CHAP:
+ printer(arg, "chap");
+ if (p < optend) {
+ switch (*p) {
+ case CHAP_DIGEST_MD5:
+ printer(arg, " MD5");
+ ++p;
+ break;
+#ifdef CHAPMS
+ case CHAP_MICROSOFT:
+ printer(arg, " m$oft");
+ ++p;
+ break;
+#endif
+ }
+ }
+ break;
+ default:
+ printer(arg, "0x%x", cishort);
+ }
+ }
+ break;
+ case CI_QUALITY:
+ if (olen >= CILEN_SHORT) {
+ p += 2;
+ printer(arg, "quality ");
+ GETSHORT(cishort, p);
+ switch (cishort) {
+ case PPP_LQR:
+ printer(arg, "lqr");
+ break;
+ default:
+ printer(arg, "0x%x", cishort);
+ }
+ }
+ break;
+ case CI_CALLBACK:
+ if (olen >= CILEN_CHAR) {
+ p += 2;
+ printer(arg, "callback ");
+ GETCHAR(cishort, p);
+ switch (cishort) {
+ case CBCP_OPT:
+ printer(arg, "CBCP");
+ break;
+ default:
+ printer(arg, "0x%x", cishort);
+ }
+ }
+ break;
+ case CI_MAGICNUMBER:
+ if (olen == CILEN_LONG) {
+ p += 2;
+ GETLONG(cilong, p);
+ printer(arg, "magic 0x%x", cilong);
+ }
+ break;
+ case CI_PCOMPRESSION:
+ if (olen == CILEN_VOID) {
+ p += 2;
+ printer(arg, "pcomp");
+ }
+ break;
+ case CI_ACCOMPRESSION:
+ if (olen == CILEN_VOID) {
+ p += 2;
+ printer(arg, "accomp");
+ }
+ break;
+ case CI_MRRU:
+ if (olen == CILEN_SHORT) {
+ p += 2;
+ GETSHORT(cishort, p);
+ printer(arg, "mrru %d", cishort);
+ }
+ break;
+ case CI_SSNHF:
+ if (olen == CILEN_VOID) {
+ p += 2;
+ printer(arg, "ssnhf");
+ }
+ break;
+ case CI_EPDISC:
+#ifdef HAVE_MULTILINK
+ if (olen >= CILEN_CHAR) {
+ struct epdisc epd;
+ p += 2;
+ GETCHAR(epd.class, p);
+ epd.length = olen - CILEN_CHAR;
+ if (epd.length > MAX_ENDP_LEN)
+ epd.length = MAX_ENDP_LEN;
+ if (epd.length > 0) {
+ BCOPY(p, epd.value, epd.length);
+ p += epd.length;
+ }
+ printer(arg, "endpoint [%s]", epdisc_to_str(&epd));
+ }
+#else
+ printer(arg, "endpoint");
+#endif
+ break;
+ }
+ while (p < optend) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+ printer(arg, ">");
+ }
+ break;
+
+ case TERMACK:
+ case TERMREQ:
+ if (len > 0 && *p >= ' ' && *p < 0x7f) {
+ printer(arg, " ");
+ print_string((char *)p, len, printer, arg);
+ p += len;
+ len = 0;
+ }
+ break;
+
+ case ECHOREQ:
+ case ECHOREP:
+ case DISCREQ:
+ if (len >= 4) {
+ GETLONG(cilong, p);
+ printer(arg, " magic=0x%x", cilong);
+ p += 4;
+ len -= 4;
+ }
+ break;
+ }
+
+ /* print the rest of the bytes in the packet */
+ for (i = 0; i < len && i < 32; ++i) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+ if (i < len) {
+ printer(arg, " ...");
+ p += len - i;
+ }
+
+ return p - pstart;
+}
+
+/*
+ * Time to shut down the link because there is nothing out there.
+ */
+
+static
+void LcpLinkFailure (f)
+ fsm *f;
+{
+ if (f->state == OPENED) {
+ info("No response to %d echo-requests", lcp_echos_pending);
+ notice("Serial link appears to be disconnected.");
+ lcp_close(f->unit, "Peer not responding");
+ status = EXIT_PEER_DEAD;
+ }
+}
+
+/*
+ * Timer expired for the LCP echo requests from this process.
+ */
+
+static void
+LcpEchoCheck (f)
+ fsm *f;
+{
+ LcpSendEchoRequest (f);
+ if (f->state != OPENED)
+ return;
+
+ /*
+ * Start the timer for the next interval.
+ */
+ if (lcp_echo_timer_running)
+ warn("assertion lcp_echo_timer_running==0 failed");
+ TIMEOUT (LcpEchoTimeout, f, lcp_echo_interval);
+ lcp_echo_timer_running = 1;
+}
+
+/*
+ * LcpEchoTimeout - Timer expired on the LCP echo
+ */
+
+static void
+LcpEchoTimeout (arg)
+ void *arg;
+{
+ if (lcp_echo_timer_running != 0) {
+ lcp_echo_timer_running = 0;
+ LcpEchoCheck ((fsm *) arg);
+ }
+}
+
+/*
+ * LcpEchoReply - LCP has received a reply to the echo
+ */
+
+static void
+lcp_received_echo_reply (f, id, inp, len)
+ fsm *f;
+ int id;
+ u_char *inp;
+ int len;
+{
+ u_int32_t magic;
+
+ /* Check the magic number - don't count replies from ourselves. */
+ if (len < 4) {
+ dbglog("lcp: received short Echo-Reply, length %d", len);
+ return;
+ }
+ GETLONG(magic, inp);
+ if (lcp_gotoptions[f->unit].neg_magicnumber
+ && magic == lcp_gotoptions[f->unit].magicnumber) {
+ warn("appear to have received our own echo-reply!");
+ return;
+ }
+
+ /* Reset the number of outstanding echo frames */
+ lcp_echos_pending = 0;
+}
+
+/*
+ * LcpSendEchoRequest - Send an echo request frame to the peer
+ */
+
+static void
+LcpSendEchoRequest (f)
+ fsm *f;
+{
+ u_int32_t lcp_magic;
+ u_char pkt[4], *pktp;
+
+ /*
+ * Detect the failure of the peer at this point.
+ */
+ if (lcp_echo_fails != 0) {
+ if (lcp_echos_pending >= lcp_echo_fails) {
+ LcpLinkFailure(f);
+ lcp_echos_pending = 0;
+ }
+ }
+
+ /*
+ * Make and send the echo request frame.
+ */
+ if (f->state == OPENED) {
+ lcp_magic = lcp_gotoptions[f->unit].magicnumber;
+ pktp = pkt;
+ PUTLONG(lcp_magic, pktp);
+ fsm_sdata(f, ECHOREQ, lcp_echo_number++ & 0xFF, pkt, pktp - pkt);
+ ++lcp_echos_pending;
+ }
+}
+
+/*
+ * lcp_echo_lowerup - Start the timer for the LCP frame
+ */
+
+static void
+lcp_echo_lowerup (unit)
+ int unit;
+{
+ fsm *f = &lcp_fsm[unit];
+
+ /* Clear the parameters for generating echo frames */
+ lcp_echos_pending = 0;
+ lcp_echo_number = 0;
+ lcp_echo_timer_running = 0;
+
+ /* If a timeout interval is specified then start the timer */
+ if (lcp_echo_interval != 0)
+ LcpEchoCheck (f);
+}
+
+/*
+ * lcp_echo_lowerdown - Stop the timer for the LCP frame
+ */
+
+static void
+lcp_echo_lowerdown (unit)
+ int unit;
+{
+ fsm *f = &lcp_fsm[unit];
+
+ if (lcp_echo_timer_running != 0) {
+ UNTIMEOUT (LcpEchoTimeout, f);
+ lcp_echo_timer_running = 0;
+ }
+}
diff --git a/mdk-stage1/ppp/pppd/lcp.h b/mdk-stage1/ppp/pppd/lcp.h
new file mode 100644
index 000000000..6e0634f11
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/lcp.h
@@ -0,0 +1,95 @@
+/*
+ * lcp.h - Link Control Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: lcp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * Options.
+ */
+#define CI_MRU 1 /* Maximum Receive Unit */
+#define CI_ASYNCMAP 2 /* Async Control Character Map */
+#define CI_AUTHTYPE 3 /* Authentication Type */
+#define CI_QUALITY 4 /* Quality Protocol */
+#define CI_MAGICNUMBER 5 /* Magic Number */
+#define CI_PCOMPRESSION 7 /* Protocol Field Compression */
+#define CI_ACCOMPRESSION 8 /* Address/Control Field Compression */
+#define CI_CALLBACK 13 /* callback */
+#define CI_MRRU 17 /* max reconstructed receive unit; multilink */
+#define CI_SSNHF 18 /* short sequence numbers for multilink */
+#define CI_EPDISC 19 /* endpoint discriminator */
+
+/*
+ * LCP-specific packet types.
+ */
+#define PROTREJ 8 /* Protocol Reject */
+#define ECHOREQ 9 /* Echo Request */
+#define ECHOREP 10 /* Echo Reply */
+#define DISCREQ 11 /* Discard Request */
+#define CBCP_OPT 6 /* Use callback control protocol */
+
+/*
+ * The state of options is described by an lcp_options structure.
+ */
+typedef struct lcp_options {
+ bool passive; /* Don't die if we don't get a response */
+ bool silent; /* Wait for the other end to start first */
+ bool restart; /* Restart vs. exit after close */
+ bool neg_mru; /* Negotiate the MRU? */
+ bool neg_asyncmap; /* Negotiate the async map? */
+ bool neg_upap; /* Ask for UPAP authentication? */
+ bool neg_chap; /* Ask for CHAP authentication? */
+ bool neg_magicnumber; /* Ask for magic number? */
+ bool neg_pcompression; /* HDLC Protocol Field Compression? */
+ bool neg_accompression; /* HDLC Address/Control Field Compression? */
+ bool neg_lqr; /* Negotiate use of Link Quality Reports */
+ bool neg_cbcp; /* Negotiate use of CBCP */
+ bool neg_mrru; /* negotiate multilink MRRU */
+ bool neg_ssnhf; /* negotiate short sequence numbers */
+ bool neg_endpoint; /* negotiate endpoint discriminator */
+ int mru; /* Value of MRU */
+ int mrru; /* Value of MRRU, and multilink enable */
+ u_char chap_mdtype; /* which MD type (hashing algorithm) */
+ u_int32_t asyncmap; /* Value of async map */
+ u_int32_t magicnumber;
+ int numloops; /* Number of loops during magic number neg. */
+ u_int32_t lqr_period; /* Reporting period for LQR 1/100ths second */
+ struct epdisc endpoint; /* endpoint discriminator */
+} lcp_options;
+
+extern fsm lcp_fsm[];
+extern lcp_options lcp_wantoptions[];
+extern lcp_options lcp_gotoptions[];
+extern lcp_options lcp_allowoptions[];
+extern lcp_options lcp_hisoptions[];
+
+#define DEFMRU 1500 /* Try for this */
+#define MINMRU 128 /* No MRUs below this */
+#define MAXMRU 16384 /* Normally limit MRU to this */
+
+void lcp_open __P((int));
+void lcp_close __P((int, char *));
+void lcp_lowerup __P((int));
+void lcp_lowerdown __P((int));
+void lcp_sprotrej __P((int, u_char *, int)); /* send protocol reject */
+
+extern struct protent lcp_protent;
+
+/* Default number of times we receive our magic number from the peer
+ before deciding the link is looped-back. */
+#define DEFLOOPBACKFAIL 10
diff --git a/mdk-stage1/ppp/pppd/magic.c b/mdk-stage1/ppp/pppd/magic.c
new file mode 100644
index 000000000..7aeb64a3f
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/magic.c
@@ -0,0 +1,88 @@
+/*
+ * magic.c - PPP Magic Number routines.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: magic.c 6015 2001-06-11 14:46:02Z gc $"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include "pppd.h"
+#include "magic.h"
+
+static const char rcsid[] = RCSID;
+
+extern long mrand48 __P((void));
+extern void srand48 __P((long));
+
+/*
+ * magic_init - Initialize the magic number generator.
+ *
+ * Attempts to compute a random number seed which will not repeat.
+ * The current method uses the current hostid, current process ID
+ * and current time, currently.
+ */
+void
+magic_init()
+{
+ long seed;
+ struct timeval t;
+
+ gettimeofday(&t, NULL);
+ seed = get_host_seed() ^ t.tv_sec ^ t.tv_usec ^ getpid();
+ srand48(seed);
+}
+
+/*
+ * magic - Returns the next magic number.
+ */
+u_int32_t
+magic()
+{
+ return (u_int32_t) mrand48();
+}
+
+#ifdef NO_DRAND48
+/*
+ * Substitute procedures for those systems which don't have
+ * drand48 et al.
+ */
+
+double
+drand48()
+{
+ return (double)random() / (double)0x7fffffffL; /* 2**31-1 */
+}
+
+long
+mrand48()
+{
+ return random();
+}
+
+void
+srand48(seedval)
+long seedval;
+{
+ srandom((int)seedval);
+}
+
+#endif
diff --git a/mdk-stage1/ppp/pppd/magic.h b/mdk-stage1/ppp/pppd/magic.h
new file mode 100644
index 000000000..2aa2af67e
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/magic.h
@@ -0,0 +1,23 @@
+/*
+ * magic.h - PPP Magic Number definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: magic.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+void magic_init __P((void)); /* Initialize the magic number generator */
+u_int32_t magic __P((void)); /* Returns the next magic number */
diff --git a/mdk-stage1/ppp/pppd/main.c b/mdk-stage1/ppp/pppd/main.c
new file mode 100644
index 000000000..7948708df
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/main.c
@@ -0,0 +1,1846 @@
+/*
+ * main.c - Point-to-Point Protocol main module
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: main.c 6015 2001-06-11 14:46:02Z gc $"
+
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <syslog.h>
+#include <netdb.h>
+#include <utmp.h>
+#include <pwd.h>
+#include <setjmp.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "pppd.h"
+#include "magic.h"
+#include "fsm.h"
+#include "lcp.h"
+#include "ipcp.h"
+#ifdef INET6
+#include "ipv6cp.h"
+#endif
+#include "upap.h"
+#include "chap.h"
+#include "ccp.h"
+#include "pathnames.h"
+#include "tdb.h"
+
+#ifdef CBCP_SUPPORT
+#include "cbcp.h"
+#endif
+
+#ifdef IPX_CHANGE
+#include "ipxcp.h"
+#endif /* IPX_CHANGE */
+#ifdef AT_CHANGE
+#include "atcp.h"
+#endif
+
+static const char rcsid[] = RCSID;
+
+/* interface vars */
+char ifname[32]; /* Interface name */
+int ifunit; /* Interface unit number */
+
+struct channel *the_channel;
+
+char *progname; /* Name of this program */
+char hostname[MAXNAMELEN]; /* Our hostname */
+static char pidfilename[MAXPATHLEN]; /* name of pid file */
+static char linkpidfile[MAXPATHLEN]; /* name of linkname pid file */
+char ppp_devnam[MAXPATHLEN]; /* name of PPP tty (maybe ttypx) */
+uid_t uid; /* Our real user-id */
+struct notifier *pidchange = NULL;
+struct notifier *phasechange = NULL;
+struct notifier *exitnotify = NULL;
+struct notifier *sigreceived = NULL;
+
+int hungup; /* terminal has been hung up */
+int privileged; /* we're running as real uid root */
+int need_holdoff; /* need holdoff period before restarting */
+int detached; /* have detached from terminal */
+volatile int status; /* exit status for pppd */
+int unsuccess; /* # unsuccessful connection attempts */
+int do_callback; /* != 0 if we should do callback next */
+int doing_callback; /* != 0 if we are doing callback */
+TDB_CONTEXT *pppdb; /* database for storing status etc. */
+char db_key[32];
+
+int (*holdoff_hook) __P((void)) = NULL;
+int (*new_phase_hook) __P((int)) = NULL;
+
+static int conn_running; /* we have a [dis]connector running */
+static int devfd; /* fd of underlying device */
+static int fd_ppp = -1; /* fd for talking PPP */
+static int fd_loop; /* fd for getting demand-dial packets */
+
+int phase; /* where the link is at */
+int kill_link;
+int open_ccp_flag;
+int listen_time;
+int got_sigusr2;
+int got_sigterm;
+int got_sighup;
+
+static int waiting;
+static sigjmp_buf sigjmp;
+
+char **script_env; /* Env. variable values for scripts */
+int s_env_nalloc; /* # words avail at script_env */
+
+u_char outpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for outgoing packet */
+u_char inpacket_buf[PPP_MRU+PPP_HDRLEN]; /* buffer for incoming packet */
+
+static int n_children; /* # child processes still running */
+static int got_sigchld; /* set if we have received a SIGCHLD */
+
+int privopen; /* don't lock, open device as root */
+
+char *no_ppp_msg = "Sorry - this system lacks PPP kernel support\n";
+
+GIDSET_TYPE groups[NGROUPS_MAX];/* groups the user is in */
+int ngroups; /* How many groups valid in groups */
+
+static struct timeval start_time; /* Time when link was started. */
+
+struct pppd_stats link_stats;
+int link_connect_time;
+int link_stats_valid;
+
+/*
+ * We maintain a list of child process pids and
+ * functions to call when they exit.
+ */
+struct subprocess {
+ pid_t pid;
+ char *prog;
+ void (*done) __P((void *));
+ void *arg;
+ struct subprocess *next;
+};
+
+static struct subprocess *children;
+
+/* Prototypes for procedures local to this file. */
+
+static void setup_signals __P((void));
+static void create_pidfile __P((void));
+static void create_linkpidfile __P((void));
+static void cleanup __P((void));
+static void get_input __P((void));
+static void calltimeout __P((void));
+static struct timeval *timeleft __P((struct timeval *));
+static void kill_my_pg __P((int));
+static void hup __P((int));
+static void term __P((int));
+static void chld __P((int));
+static void toggle_debug __P((int));
+static void open_ccp __P((int));
+static void bad_signal __P((int));
+static void holdoff_end __P((void *));
+static int reap_kids __P((int waitfor));
+static void update_db_entry __P((void));
+static void add_db_key __P((const char *));
+static void delete_db_key __P((const char *));
+static void cleanup_db __P((void));
+static void handle_events __P((void));
+
+extern char *ttyname __P((int));
+extern char *getlogin __P((void));
+int main __P((int, char *[]));
+
+#ifdef ultrix
+#undef O_NONBLOCK
+#define O_NONBLOCK O_NDELAY
+#endif
+
+#ifdef ULTRIX
+#define setlogmask(x)
+#endif
+
+/*
+ * PPP Data Link Layer "protocol" table.
+ * One entry per supported protocol.
+ * The last entry must be NULL.
+ */
+struct protent *protocols[] = {
+ &lcp_protent,
+ &pap_protent,
+ &chap_protent,
+#ifdef CBCP_SUPPORT
+ &cbcp_protent,
+#endif
+ &ipcp_protent,
+#ifdef INET6
+ &ipv6cp_protent,
+#endif
+ &ccp_protent,
+#ifdef IPX_CHANGE
+ &ipxcp_protent,
+#endif
+#ifdef AT_CHANGE
+ &atcp_protent,
+#endif
+ NULL
+};
+
+/*
+ * If PPP_DRV_NAME is not defined, use the default "ppp" as the device name.
+ */
+#if !defined(PPP_DRV_NAME)
+#define PPP_DRV_NAME "ppp"
+#endif /* !defined(PPP_DRV_NAME) */
+
+int
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ int i, t;
+ char *p;
+ struct passwd *pw;
+ struct protent *protp;
+ char numbuf[16];
+
+ new_phase(PHASE_INITIALIZE);
+
+ /*
+ * Ensure that fds 0, 1, 2 are open, to /dev/null if nowhere else.
+ * This way we can close 0, 1, 2 in detach() without clobbering
+ * a fd that we are using.
+ */
+ if ((i = open("/dev/null", O_RDWR)) >= 0) {
+ while (0 <= i && i <= 2)
+ i = dup(i);
+ if (i >= 0)
+ close(i);
+ }
+
+ script_env = NULL;
+
+ /* Initialize syslog facilities */
+ reopen_log();
+
+ if (gethostname(hostname, MAXNAMELEN) < 0 ) {
+ option_error("Couldn't get hostname: %m");
+ exit(1);
+ }
+ hostname[MAXNAMELEN-1] = 0;
+
+ /* make sure we don't create world or group writable files. */
+ umask(umask(0777) | 022);
+
+ uid = getuid();
+ privileged = uid == 0;
+ slprintf(numbuf, sizeof(numbuf), "%d", uid);
+ script_setenv("ORIG_UID", numbuf, 0);
+
+ ngroups = getgroups(NGROUPS_MAX, groups);
+
+ /*
+ * Initialize magic number generator now so that protocols may
+ * use magic numbers in initialization.
+ */
+ magic_init();
+
+ /*
+ * Initialize each protocol.
+ */
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ (*protp->init)(0);
+
+ /*
+ * Initialize the default channel.
+ */
+ tty_init();
+
+ progname = *argv;
+
+ /*
+ * Parse, in order, the system options file, the user's options file,
+ * and the command line arguments.
+ */
+ if (!options_from_file(_PATH_SYSOPTIONS, !privileged, 0, 1)
+ || !options_from_user()
+ || !parse_args(argc-1, argv+1))
+ exit(EXIT_OPTION_ERROR);
+ devnam_fixed = 1; /* can no longer change device name */
+
+ /*
+ * Work out the device name, if it hasn't already been specified,
+ * and parse the tty's options file.
+ */
+ if (the_channel->process_extra_options)
+ (*the_channel->process_extra_options)();
+
+ if (debug)
+ setlogmask(LOG_UPTO(LOG_DEBUG));
+
+ /*
+ * Check that we are running as root.
+ */
+ if (geteuid() != 0) {
+ option_error("must be root to run %s, since it is not setuid-root",
+ argv[0]);
+ exit(EXIT_NOT_ROOT);
+ }
+
+ if (!ppp_available()) {
+ option_error("%s", no_ppp_msg);
+ exit(EXIT_NO_KERNEL_SUPPORT);
+ }
+
+ /*
+ * Check that the options given are valid and consistent.
+ */
+ check_options();
+ if (!sys_check_options())
+ exit(EXIT_OPTION_ERROR);
+ auth_check_options();
+#ifdef HAVE_MULTILINK
+ mp_check_options();
+#endif
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (protp->check_options != NULL)
+ (*protp->check_options)();
+ if (the_channel->check_options)
+ (*the_channel->check_options)();
+
+
+ if (dump_options || dryrun) {
+ init_pr_log(NULL, LOG_INFO);
+ print_options(pr_log, NULL);
+ end_pr_log();
+ if (dryrun)
+ die(0);
+ }
+
+ /*
+ * Initialize system-dependent stuff.
+ */
+ sys_init();
+
+ pppdb = tdb_open(_PATH_PPPDB, 0, 0, O_RDWR|O_CREAT, 0644);
+ if (pppdb != NULL) {
+ slprintf(db_key, sizeof(db_key), "pppd%d", getpid());
+ update_db_entry();
+ } else {
+ warn("Warning: couldn't open ppp database %s", _PATH_PPPDB);
+ if (multilink) {
+ warn("Warning: disabling multilink");
+ multilink = 0;
+ }
+ }
+
+ /*
+ * Detach ourselves from the terminal, if required,
+ * and identify who is running us.
+ */
+ if (!nodetach && !updetach)
+ detach();
+ p = getlogin();
+ if (p == NULL) {
+ pw = getpwuid(uid);
+ if (pw != NULL && pw->pw_name != NULL)
+ p = pw->pw_name;
+ else
+ p = "(unknown)";
+ }
+ syslog(LOG_NOTICE, "pppd %s started by %s, uid %d", VERSION, p, uid);
+ script_setenv("PPPLOGNAME", p, 0);
+
+ if (devnam[0])
+ script_setenv("DEVICE", devnam, 1);
+ slprintf(numbuf, sizeof(numbuf), "%d", getpid());
+ script_setenv("PPPD_PID", numbuf, 1);
+
+ setup_signals();
+
+ waiting = 0;
+
+ create_linkpidfile();
+
+ /*
+ * If we're doing dial-on-demand, set up the interface now.
+ */
+ if (demand) {
+ /*
+ * Open the loopback channel and set it up to be the ppp interface.
+ */
+ tdb_writelock(pppdb);
+ fd_loop = open_ppp_loopback();
+ set_ifunit(1);
+ tdb_writeunlock(pppdb);
+
+ /*
+ * Configure the interface and mark it up, etc.
+ */
+ demand_conf();
+ }
+
+ do_callback = 0;
+ for (;;) {
+
+ listen_time = 0;
+ need_holdoff = 1;
+ devfd = -1;
+ status = EXIT_OK;
+ ++unsuccess;
+ doing_callback = do_callback;
+ do_callback = 0;
+
+ if (demand && !doing_callback) {
+ /*
+ * Don't do anything until we see some activity.
+ */
+ new_phase(PHASE_DORMANT);
+ demand_unblock();
+ add_fd(fd_loop);
+ for (;;) {
+ handle_events();
+ if (kill_link && !persist)
+ break;
+ if (get_loop_output())
+ break;
+ }
+ remove_fd(fd_loop);
+ if (kill_link && !persist)
+ break;
+
+ /*
+ * Now we want to bring up the link.
+ */
+ demand_block();
+ info("Starting link");
+ }
+
+ new_phase(PHASE_SERIALCONN);
+
+ devfd = the_channel->connect();
+ if (devfd < 0)
+ goto fail;
+
+ /* set up the serial device as a ppp interface */
+ tdb_writelock(pppdb);
+ fd_ppp = the_channel->establish_ppp(devfd);
+ if (fd_ppp < 0) {
+ tdb_writeunlock(pppdb);
+ status = EXIT_FATAL_ERROR;
+ goto disconnect;
+ }
+
+ if (!demand && ifunit >= 0)
+ set_ifunit(1);
+ tdb_writeunlock(pppdb);
+
+ /*
+ * Start opening the connection and wait for
+ * incoming events (reply, timeout, etc.).
+ */
+ notice("Connect: %s <--> %s", ifname, ppp_devnam);
+ gettimeofday(&start_time, NULL);
+ link_stats_valid = 0;
+ script_unsetenv("CONNECT_TIME");
+ script_unsetenv("BYTES_SENT");
+ script_unsetenv("BYTES_RCVD");
+ lcp_lowerup(0);
+
+ add_fd(fd_ppp);
+ lcp_open(0); /* Start protocol */
+ status = EXIT_NEGOTIATION_FAILED;
+ new_phase(PHASE_ESTABLISH);
+ while (phase != PHASE_DEAD) {
+ handle_events();
+ get_input();
+ if (kill_link)
+ lcp_close(0, "User request");
+ if (open_ccp_flag) {
+ if (phase == PHASE_NETWORK || phase == PHASE_RUNNING) {
+ ccp_fsm[0].flags = OPT_RESTART; /* clears OPT_SILENT */
+ (*ccp_protent.open)(0);
+ }
+ }
+ }
+
+ /*
+ * Print connect time and statistics.
+ */
+ if (link_stats_valid) {
+ int t = (link_connect_time + 5) / 6; /* 1/10ths of minutes */
+ info("Connect time %d.%d minutes.", t/10, t%10);
+ info("Sent %u bytes, received %u bytes.",
+ link_stats.bytes_out, link_stats.bytes_in);
+ }
+
+ /*
+ * Delete pid file before disestablishing ppp. Otherwise it
+ * can happen that another pppd gets the same unit and then
+ * we delete its pid file.
+ */
+ if (!demand) {
+ if (pidfilename[0] != 0
+ && unlink(pidfilename) < 0 && errno != ENOENT)
+ warn("unable to delete pid file %s: %m", pidfilename);
+ pidfilename[0] = 0;
+ }
+
+ /*
+ * If we may want to bring the link up again, transfer
+ * the ppp unit back to the loopback. Set the
+ * real serial device back to its normal mode of operation.
+ */
+ remove_fd(fd_ppp);
+ clean_check();
+ the_channel->disestablish_ppp(devfd);
+ fd_ppp = -1;
+ if (!hungup)
+ lcp_lowerdown(0);
+ if (!demand)
+ script_unsetenv("IFNAME");
+
+ /*
+ * Run disconnector script, if requested.
+ * XXX we may not be able to do this if the line has hung up!
+ */
+ disconnect:
+ new_phase(PHASE_DISCONNECT);
+ the_channel->disconnect();
+
+ fail:
+ if (the_channel->cleanup)
+ (*the_channel->cleanup)();
+
+ if (!demand) {
+ if (pidfilename[0] != 0
+ && unlink(pidfilename) < 0 && errno != ENOENT)
+ warn("unable to delete pid file %s: %m", pidfilename);
+ pidfilename[0] = 0;
+ }
+
+ if (!persist || (maxfail > 0 && unsuccess >= maxfail))
+ break;
+
+ if (demand)
+ demand_discard();
+ t = need_holdoff? holdoff: 0;
+ if (holdoff_hook)
+ t = (*holdoff_hook)();
+ if (t > 0) {
+ new_phase(PHASE_HOLDOFF);
+ TIMEOUT(holdoff_end, NULL, t);
+ do {
+ handle_events();
+ if (kill_link)
+ new_phase(PHASE_DORMANT); /* allow signal to end holdoff */
+ } while (phase == PHASE_HOLDOFF);
+ if (!persist)
+ break;
+ }
+ }
+
+ /* Wait for scripts to finish */
+ /* XXX should have a timeout here */
+ while (n_children > 0) {
+ if (debug) {
+ struct subprocess *chp;
+ dbglog("Waiting for %d child processes...", n_children);
+ for (chp = children; chp != NULL; chp = chp->next)
+ dbglog(" script %s, pid %d", chp->prog, chp->pid);
+ }
+ if (reap_kids(1) < 0)
+ break;
+ }
+
+ die(status);
+ return 0;
+}
+
+/*
+ * handle_events - wait for something to happen and respond to it.
+ */
+static void
+handle_events()
+{
+ struct timeval timo;
+ sigset_t mask;
+
+ kill_link = open_ccp_flag = 0;
+ if (sigsetjmp(sigjmp, 1) == 0) {
+ sigprocmask(SIG_BLOCK, &mask, NULL);
+ if (got_sighup || got_sigterm || got_sigusr2 || got_sigchld) {
+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
+ } else {
+ waiting = 1;
+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
+ wait_input(timeleft(&timo));
+ }
+ }
+ waiting = 0;
+ calltimeout();
+ if (got_sighup) {
+ kill_link = 1;
+ got_sighup = 0;
+ if (status != EXIT_HANGUP)
+ status = EXIT_USER_REQUEST;
+ }
+ if (got_sigterm) {
+ kill_link = 1;
+ persist = 0;
+ status = EXIT_USER_REQUEST;
+ got_sigterm = 0;
+ }
+ if (got_sigchld) {
+ reap_kids(0); /* Don't leave dead kids lying around */
+ got_sigchld = 0;
+ }
+ if (got_sigusr2) {
+ open_ccp_flag = 1;
+ got_sigusr2 = 0;
+ }
+}
+
+/*
+ * setup_signals - initialize signal handling.
+ */
+static void
+setup_signals()
+{
+ struct sigaction sa;
+ sigset_t mask;
+
+ /*
+ * Compute mask of all interesting signals and install signal handlers
+ * for each. Only one signal handler may be active at a time. Therefore,
+ * all other signals should be masked when any handler is executing.
+ */
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGHUP);
+ sigaddset(&mask, SIGINT);
+ sigaddset(&mask, SIGTERM);
+ sigaddset(&mask, SIGCHLD);
+ sigaddset(&mask, SIGUSR2);
+
+#define SIGNAL(s, handler) do { \
+ sa.sa_handler = handler; \
+ if (sigaction(s, &sa, NULL) < 0) \
+ fatal("Couldn't establish signal handler (%d): %m", s); \
+ } while (0)
+
+ sa.sa_mask = mask;
+ sa.sa_flags = 0;
+ SIGNAL(SIGHUP, hup); /* Hangup */
+ SIGNAL(SIGINT, term); /* Interrupt */
+ SIGNAL(SIGTERM, term); /* Terminate */
+ SIGNAL(SIGCHLD, chld);
+
+ SIGNAL(SIGUSR1, toggle_debug); /* Toggle debug flag */
+ SIGNAL(SIGUSR2, open_ccp); /* Reopen CCP */
+
+ /*
+ * Install a handler for other signals which would otherwise
+ * cause pppd to exit without cleaning up.
+ */
+ SIGNAL(SIGABRT, bad_signal);
+ SIGNAL(SIGALRM, bad_signal);
+ SIGNAL(SIGFPE, bad_signal);
+ SIGNAL(SIGILL, bad_signal);
+ SIGNAL(SIGPIPE, bad_signal);
+ SIGNAL(SIGQUIT, bad_signal);
+ SIGNAL(SIGSEGV, bad_signal);
+#ifdef SIGBUS
+ SIGNAL(SIGBUS, bad_signal);
+#endif
+#ifdef SIGEMT
+ SIGNAL(SIGEMT, bad_signal);
+#endif
+#ifdef SIGPOLL
+ SIGNAL(SIGPOLL, bad_signal);
+#endif
+#ifdef SIGPROF
+ SIGNAL(SIGPROF, bad_signal);
+#endif
+#ifdef SIGSYS
+ SIGNAL(SIGSYS, bad_signal);
+#endif
+#ifdef SIGTRAP
+ SIGNAL(SIGTRAP, bad_signal);
+#endif
+#ifdef SIGVTALRM
+ SIGNAL(SIGVTALRM, bad_signal);
+#endif
+#ifdef SIGXCPU
+ SIGNAL(SIGXCPU, bad_signal);
+#endif
+#ifdef SIGXFSZ
+ SIGNAL(SIGXFSZ, bad_signal);
+#endif
+
+ /*
+ * Apparently we can get a SIGPIPE when we call syslog, if
+ * syslogd has died and been restarted. Ignoring it seems
+ * be sufficient.
+ */
+ signal(SIGPIPE, SIG_IGN);
+}
+
+/*
+ * set_ifunit - do things we need to do once we know which ppp
+ * unit we are using.
+ */
+void
+set_ifunit(iskey)
+ int iskey;
+{
+ info("Using interface %s%d", PPP_DRV_NAME, ifunit);
+ slprintf(ifname, sizeof(ifname), "%s%d", PPP_DRV_NAME, ifunit);
+ script_setenv("IFNAME", ifname, iskey);
+ if (iskey) {
+ create_pidfile(); /* write pid to file */
+ create_linkpidfile();
+ }
+}
+
+/*
+ * detach - detach us from the controlling terminal.
+ */
+void
+detach()
+{
+ int pid;
+ char numbuf[16];
+
+ if (detached)
+ return;
+ if ((pid = fork()) < 0) {
+ error("Couldn't detach (fork failed: %m)");
+ die(1); /* or just return? */
+ }
+ if (pid != 0) {
+ /* parent */
+ notify(pidchange, pid);
+ exit(0); /* parent dies */
+ }
+ setsid();
+ chdir("/");
+ close(0);
+ close(1);
+ close(2);
+ detached = 1;
+ if (log_default)
+ log_to_fd = -1;
+ /* update pid files if they have been written already */
+ if (pidfilename[0])
+ create_pidfile();
+ if (linkpidfile[0])
+ create_linkpidfile();
+ slprintf(numbuf, sizeof(numbuf), "%d", getpid());
+ script_setenv("PPPD_PID", numbuf, 1);
+}
+
+/*
+ * reopen_log - (re)open our connection to syslog.
+ */
+void
+reopen_log()
+{
+#ifdef ULTRIX
+ openlog("pppd", LOG_PID);
+#else
+ openlog("pppd", LOG_PID | LOG_NDELAY, LOG_PPP);
+ setlogmask(LOG_UPTO(LOG_INFO));
+#endif
+}
+
+/*
+ * Create a file containing our process ID.
+ */
+static void
+create_pidfile()
+{
+ FILE *pidfile;
+
+ slprintf(pidfilename, sizeof(pidfilename), "%s%s.pid",
+ _PATH_VARRUN, ifname);
+ if ((pidfile = fopen(pidfilename, "w")) != NULL) {
+ fprintf(pidfile, "%d\n", getpid());
+ (void) fclose(pidfile);
+ } else {
+ error("Failed to create pid file %s: %m", pidfilename);
+ pidfilename[0] = 0;
+ }
+}
+
+static void
+create_linkpidfile()
+{
+ FILE *pidfile;
+
+ if (linkname[0] == 0)
+ return;
+ script_setenv("LINKNAME", linkname, 1);
+ slprintf(linkpidfile, sizeof(linkpidfile), "%sppp-%s.pid",
+ _PATH_VARRUN, linkname);
+ if ((pidfile = fopen(linkpidfile, "w")) != NULL) {
+ fprintf(pidfile, "%d\n", getpid());
+ if (ifname[0])
+ fprintf(pidfile, "%s\n", ifname);
+ (void) fclose(pidfile);
+ } else {
+ error("Failed to create pid file %s: %m", linkpidfile);
+ linkpidfile[0] = 0;
+ }
+}
+
+/*
+ * holdoff_end - called via a timeout when the holdoff period ends.
+ */
+static void
+holdoff_end(arg)
+ void *arg;
+{
+ new_phase(PHASE_DORMANT);
+}
+
+/* List of protocol names, to make our messages a little more informative. */
+struct protocol_list {
+ u_short proto;
+ const char *name;
+} protocol_list[] = {
+ { 0x21, "IP" },
+ { 0x23, "OSI Network Layer" },
+ { 0x25, "Xerox NS IDP" },
+ { 0x27, "DECnet Phase IV" },
+ { 0x29, "Appletalk" },
+ { 0x2b, "Novell IPX" },
+ { 0x2d, "VJ compressed TCP/IP" },
+ { 0x2f, "VJ uncompressed TCP/IP" },
+ { 0x31, "Bridging PDU" },
+ { 0x33, "Stream Protocol ST-II" },
+ { 0x35, "Banyan Vines" },
+ { 0x39, "AppleTalk EDDP" },
+ { 0x3b, "AppleTalk SmartBuffered" },
+ { 0x3d, "Multi-Link" },
+ { 0x3f, "NETBIOS Framing" },
+ { 0x41, "Cisco Systems" },
+ { 0x43, "Ascom Timeplex" },
+ { 0x45, "Fujitsu Link Backup and Load Balancing (LBLB)" },
+ { 0x47, "DCA Remote Lan" },
+ { 0x49, "Serial Data Transport Protocol (PPP-SDTP)" },
+ { 0x4b, "SNA over 802.2" },
+ { 0x4d, "SNA" },
+ { 0x4f, "IP6 Header Compression" },
+ { 0x6f, "Stampede Bridging" },
+ { 0xfb, "single-link compression" },
+ { 0xfd, "1st choice compression" },
+ { 0x0201, "802.1d Hello Packets" },
+ { 0x0203, "IBM Source Routing BPDU" },
+ { 0x0205, "DEC LANBridge100 Spanning Tree" },
+ { 0x0231, "Luxcom" },
+ { 0x0233, "Sigma Network Systems" },
+ { 0x8021, "Internet Protocol Control Protocol" },
+ { 0x8023, "OSI Network Layer Control Protocol" },
+ { 0x8025, "Xerox NS IDP Control Protocol" },
+ { 0x8027, "DECnet Phase IV Control Protocol" },
+ { 0x8029, "Appletalk Control Protocol" },
+ { 0x802b, "Novell IPX Control Protocol" },
+ { 0x8031, "Bridging NCP" },
+ { 0x8033, "Stream Protocol Control Protocol" },
+ { 0x8035, "Banyan Vines Control Protocol" },
+ { 0x803d, "Multi-Link Control Protocol" },
+ { 0x803f, "NETBIOS Framing Control Protocol" },
+ { 0x8041, "Cisco Systems Control Protocol" },
+ { 0x8043, "Ascom Timeplex" },
+ { 0x8045, "Fujitsu LBLB Control Protocol" },
+ { 0x8047, "DCA Remote Lan Network Control Protocol (RLNCP)" },
+ { 0x8049, "Serial Data Control Protocol (PPP-SDCP)" },
+ { 0x804b, "SNA over 802.2 Control Protocol" },
+ { 0x804d, "SNA Control Protocol" },
+ { 0x804f, "IP6 Header Compression Control Protocol" },
+ { 0x006f, "Stampede Bridging Control Protocol" },
+ { 0x80fb, "Single Link Compression Control Protocol" },
+ { 0x80fd, "Compression Control Protocol" },
+ { 0xc021, "Link Control Protocol" },
+ { 0xc023, "Password Authentication Protocol" },
+ { 0xc025, "Link Quality Report" },
+ { 0xc027, "Shiva Password Authentication Protocol" },
+ { 0xc029, "CallBack Control Protocol (CBCP)" },
+ { 0xc081, "Container Control Protocol" },
+ { 0xc223, "Challenge Handshake Authentication Protocol" },
+ { 0xc281, "Proprietary Authentication Protocol" },
+ { 0, NULL },
+};
+
+/*
+ * protocol_name - find a name for a PPP protocol.
+ */
+const char *
+protocol_name(proto)
+ int proto;
+{
+ struct protocol_list *lp;
+
+ for (lp = protocol_list; lp->proto != 0; ++lp)
+ if (proto == lp->proto)
+ return lp->name;
+ return NULL;
+}
+
+/*
+ * get_input - called when incoming data is available.
+ */
+static void
+get_input()
+{
+ int len, i;
+ u_char *p;
+ u_short protocol;
+ struct protent *protp;
+
+ p = inpacket_buf; /* point to beginning of packet buffer */
+
+ len = read_packet(inpacket_buf);
+ if (len < 0)
+ return;
+
+ if (len == 0) {
+ notice("Modem hangup");
+ hungup = 1;
+ status = EXIT_HANGUP;
+ lcp_lowerdown(0); /* serial link is no longer available */
+ link_terminated(0);
+ return;
+ }
+
+ if (debug /*&& (debugflags & DBG_INPACKET)*/)
+ dbglog("rcvd %P", p, len);
+
+ if (len < PPP_HDRLEN) {
+ MAINDEBUG(("io(): Received short packet."));
+ return;
+ }
+
+ p += 2; /* Skip address and control */
+ GETSHORT(protocol, p);
+ len -= PPP_HDRLEN;
+
+ /*
+ * Toss all non-LCP packets unless LCP is OPEN.
+ */
+ if (protocol != PPP_LCP && lcp_fsm[0].state != OPENED) {
+ MAINDEBUG(("get_input: Received non-LCP packet when LCP not open."));
+ return;
+ }
+
+ /*
+ * Until we get past the authentication phase, toss all packets
+ * except LCP, LQR and authentication packets.
+ */
+ if (phase <= PHASE_AUTHENTICATE
+ && !(protocol == PPP_LCP || protocol == PPP_LQR
+ || protocol == PPP_PAP || protocol == PPP_CHAP)) {
+ MAINDEBUG(("get_input: discarding proto 0x%x in phase %d",
+ protocol, phase));
+ return;
+ }
+
+ /*
+ * Upcall the proper protocol input routine.
+ */
+ for (i = 0; (protp = protocols[i]) != NULL; ++i) {
+ if (protp->protocol == protocol && protp->enabled_flag) {
+ (*protp->input)(0, p, len);
+ return;
+ }
+ if (protocol == (protp->protocol & ~0x8000) && protp->enabled_flag
+ && protp->datainput != NULL) {
+ (*protp->datainput)(0, p, len);
+ return;
+ }
+ }
+
+ if (debug) {
+ const char *pname = protocol_name(protocol);
+ if (pname != NULL)
+ warn("Unsupported protocol '%s' (0x%x) received", pname, protocol);
+ else
+ warn("Unsupported protocol 0x%x received", protocol);
+ }
+ lcp_sprotrej(0, p - PPP_HDRLEN, len + PPP_HDRLEN);
+}
+
+/*
+ * new_phase - signal the start of a new phase of pppd's operation.
+ */
+void
+new_phase(p)
+ int p;
+{
+ phase = p;
+ if (new_phase_hook)
+ (*new_phase_hook)(p);
+ notify(phasechange, p);
+}
+
+/*
+ * die - clean up state and exit with the specified status.
+ */
+void
+die(status)
+ int status;
+{
+ cleanup();
+ notify(exitnotify, status);
+ syslog(LOG_INFO, "Exit.");
+ exit(status);
+}
+
+/*
+ * cleanup - restore anything which needs to be restored before we exit
+ */
+/* ARGSUSED */
+static void
+cleanup()
+{
+ sys_cleanup();
+
+ if (fd_ppp >= 0)
+ the_channel->disestablish_ppp(devfd);
+ if (the_channel->cleanup)
+ (*the_channel->cleanup)();
+
+ if (pidfilename[0] != 0 && unlink(pidfilename) < 0 && errno != ENOENT)
+ warn("unable to delete pid file %s: %m", pidfilename);
+ pidfilename[0] = 0;
+ if (linkpidfile[0] != 0 && unlink(linkpidfile) < 0 && errno != ENOENT)
+ warn("unable to delete pid file %s: %m", linkpidfile);
+ linkpidfile[0] = 0;
+
+ if (pppdb != NULL)
+ cleanup_db();
+}
+
+/*
+ * update_link_stats - get stats at link termination.
+ */
+void
+update_link_stats(u)
+ int u;
+{
+ struct timeval now;
+ char numbuf[32];
+
+ if (!get_ppp_stats(u, &link_stats)
+ || gettimeofday(&now, NULL) < 0)
+ return;
+ link_connect_time = now.tv_sec - start_time.tv_sec;
+ link_stats_valid = 1;
+
+ slprintf(numbuf, sizeof(numbuf), "%d", link_connect_time);
+ script_setenv("CONNECT_TIME", numbuf, 0);
+ slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_out);
+ script_setenv("BYTES_SENT", numbuf, 0);
+ slprintf(numbuf, sizeof(numbuf), "%d", link_stats.bytes_in);
+ script_setenv("BYTES_RCVD", numbuf, 0);
+}
+
+
+struct callout {
+ struct timeval c_time; /* time at which to call routine */
+ void *c_arg; /* argument to routine */
+ void (*c_func) __P((void *)); /* routine */
+ struct callout *c_next;
+};
+
+static struct callout *callout = NULL; /* Callout list */
+static struct timeval timenow; /* Current time */
+
+/*
+ * timeout - Schedule a timeout.
+ *
+ * Note that this timeout takes the number of milliseconds, NOT hz (as in
+ * the kernel).
+ */
+void
+timeout(func, arg, secs, usecs)
+ void (*func) __P((void *));
+ void *arg;
+ int secs, usecs;
+{
+ struct callout *newp, *p, **pp;
+
+ MAINDEBUG(("Timeout %p:%p in %d.%03d seconds.", func, arg,
+ time / 1000, time % 1000));
+
+ /*
+ * Allocate timeout.
+ */
+ if ((newp = (struct callout *) malloc(sizeof(struct callout))) == NULL)
+ fatal("Out of memory in timeout()!");
+ newp->c_arg = arg;
+ newp->c_func = func;
+ gettimeofday(&timenow, NULL);
+ newp->c_time.tv_sec = timenow.tv_sec + secs;
+ newp->c_time.tv_usec = timenow.tv_usec + usecs;
+ if (newp->c_time.tv_usec >= 1000000) {
+ newp->c_time.tv_sec += newp->c_time.tv_usec / 1000000;
+ newp->c_time.tv_usec %= 1000000;
+ }
+
+ /*
+ * Find correct place and link it in.
+ */
+ for (pp = &callout; (p = *pp); pp = &p->c_next)
+ if (newp->c_time.tv_sec < p->c_time.tv_sec
+ || (newp->c_time.tv_sec == p->c_time.tv_sec
+ && newp->c_time.tv_usec < p->c_time.tv_usec))
+ break;
+ newp->c_next = p;
+ *pp = newp;
+}
+
+
+/*
+ * untimeout - Unschedule a timeout.
+ */
+void
+untimeout(func, arg)
+ void (*func) __P((void *));
+ void *arg;
+{
+ struct callout **copp, *freep;
+
+ MAINDEBUG(("Untimeout %p:%p.", func, arg));
+
+ /*
+ * Find first matching timeout and remove it from the list.
+ */
+ for (copp = &callout; (freep = *copp); copp = &freep->c_next)
+ if (freep->c_func == func && freep->c_arg == arg) {
+ *copp = freep->c_next;
+ free((char *) freep);
+ break;
+ }
+}
+
+
+/*
+ * calltimeout - Call any timeout routines which are now due.
+ */
+static void
+calltimeout()
+{
+ struct callout *p;
+
+ while (callout != NULL) {
+ p = callout;
+
+ if (gettimeofday(&timenow, NULL) < 0)
+ fatal("Failed to get time of day: %m");
+ if (!(p->c_time.tv_sec < timenow.tv_sec
+ || (p->c_time.tv_sec == timenow.tv_sec
+ && p->c_time.tv_usec <= timenow.tv_usec)))
+ break; /* no, it's not time yet */
+
+ callout = p->c_next;
+ (*p->c_func)(p->c_arg);
+
+ free((char *) p);
+ }
+}
+
+
+/*
+ * timeleft - return the length of time until the next timeout is due.
+ */
+static struct timeval *
+timeleft(tvp)
+ struct timeval *tvp;
+{
+ if (callout == NULL)
+ return NULL;
+
+ gettimeofday(&timenow, NULL);
+ tvp->tv_sec = callout->c_time.tv_sec - timenow.tv_sec;
+ tvp->tv_usec = callout->c_time.tv_usec - timenow.tv_usec;
+ if (tvp->tv_usec < 0) {
+ tvp->tv_usec += 1000000;
+ tvp->tv_sec -= 1;
+ }
+ if (tvp->tv_sec < 0)
+ tvp->tv_sec = tvp->tv_usec = 0;
+
+ return tvp;
+}
+
+
+/*
+ * kill_my_pg - send a signal to our process group, and ignore it ourselves.
+ */
+static void
+kill_my_pg(sig)
+ int sig;
+{
+ struct sigaction act, oldact;
+
+ act.sa_handler = SIG_IGN;
+ act.sa_flags = 0;
+ kill(0, sig);
+ sigaction(sig, &act, &oldact);
+ sigaction(sig, &oldact, NULL);
+}
+
+
+/*
+ * hup - Catch SIGHUP signal.
+ *
+ * Indicates that the physical layer has been disconnected.
+ * We don't rely on this indication; if the user has sent this
+ * signal, we just take the link down.
+ */
+static void
+hup(sig)
+ int sig;
+{
+ info("Hangup (SIGHUP)");
+ got_sighup = 1;
+ if (conn_running)
+ /* Send the signal to the [dis]connector process(es) also */
+ kill_my_pg(sig);
+ notify(sigreceived, sig);
+ if (waiting)
+ siglongjmp(sigjmp, 1);
+}
+
+
+/*
+ * term - Catch SIGTERM signal and SIGINT signal (^C/del).
+ *
+ * Indicates that we should initiate a graceful disconnect and exit.
+ */
+/*ARGSUSED*/
+static void
+term(sig)
+ int sig;
+{
+ info("Terminating on signal %d.", sig);
+ got_sigterm = 1;
+ if (conn_running)
+ /* Send the signal to the [dis]connector process(es) also */
+ kill_my_pg(sig);
+ notify(sigreceived, sig);
+ if (waiting)
+ siglongjmp(sigjmp, 1);
+}
+
+
+/*
+ * chld - Catch SIGCHLD signal.
+ * Sets a flag so we will call reap_kids in the mainline.
+ */
+static void
+chld(sig)
+ int sig;
+{
+ got_sigchld = 1;
+ if (waiting)
+ siglongjmp(sigjmp, 1);
+}
+
+
+/*
+ * toggle_debug - Catch SIGUSR1 signal.
+ *
+ * Toggle debug flag.
+ */
+/*ARGSUSED*/
+static void
+toggle_debug(sig)
+ int sig;
+{
+ debug = !debug;
+ if (debug) {
+ setlogmask(LOG_UPTO(LOG_DEBUG));
+ } else {
+ setlogmask(LOG_UPTO(LOG_WARNING));
+ }
+}
+
+
+/*
+ * open_ccp - Catch SIGUSR2 signal.
+ *
+ * Try to (re)negotiate compression.
+ */
+/*ARGSUSED*/
+static void
+open_ccp(sig)
+ int sig;
+{
+ got_sigusr2 = 1;
+ if (waiting)
+ siglongjmp(sigjmp, 1);
+}
+
+
+/*
+ * bad_signal - We've caught a fatal signal. Clean up state and exit.
+ */
+static void
+bad_signal(sig)
+ int sig;
+{
+ static int crashed = 0;
+
+ if (crashed)
+ _exit(127);
+ crashed = 1;
+ error("Fatal signal %d", sig);
+ if (conn_running)
+ kill_my_pg(SIGTERM);
+ notify(sigreceived, sig);
+ die(127);
+}
+
+
+/*
+ * device_script - run a program to talk to the specified fds
+ * (e.g. to run the connector or disconnector script).
+ * stderr gets connected to the log fd or to the _PATH_CONNERRS file.
+ */
+int
+device_script(program, in, out, dont_wait)
+ char *program;
+ int in, out;
+ int dont_wait;
+{
+ int pid, fd;
+ int status = -1;
+ int errfd;
+
+ ++conn_running;
+ pid = fork();
+
+ if (pid < 0) {
+ --conn_running;
+ error("Failed to create child process: %m");
+ return -1;
+ }
+
+ if (pid != 0) {
+ if (dont_wait) {
+ record_child(pid, program, NULL, NULL);
+ status = 0;
+ } else {
+ while (waitpid(pid, &status, 0) < 0) {
+ if (errno == EINTR)
+ continue;
+ fatal("error waiting for (dis)connection process: %m");
+ }
+ --conn_running;
+ }
+ return (status == 0 ? 0 : -1);
+ }
+
+ /* here we are executing in the child */
+ /* make sure fds 0, 1, 2 are occupied */
+ while ((fd = dup(in)) >= 0) {
+ if (fd > 2) {
+ close(fd);
+ break;
+ }
+ }
+
+ /* dup in and out to fds > 2 */
+ in = dup(in);
+ out = dup(out);
+ if (log_to_fd >= 0) {
+ errfd = dup(log_to_fd);
+ } else {
+ errfd = open(_PATH_CONNERRS, O_WRONLY | O_APPEND | O_CREAT, 0600);
+ }
+
+ /* close fds 0 - 2 and any others we can think of */
+ close(0);
+ close(1);
+ close(2);
+ sys_close();
+ if (the_channel->close)
+ (*the_channel->close)();
+ closelog();
+
+ /* dup the in, out, err fds to 0, 1, 2 */
+ dup2(in, 0);
+ close(in);
+ dup2(out, 1);
+ close(out);
+ if (errfd >= 0) {
+ dup2(errfd, 2);
+ close(errfd);
+ }
+
+ setuid(uid);
+ if (getuid() != uid) {
+ error("setuid failed");
+ exit(1);
+ }
+ setgid(getgid());
+ {
+ int argc = 0;
+ char * argv[500];
+ char * ptr = program;
+ while (ptr != NULL) {
+ argv[argc] = ptr;
+ argc++;
+ ptr = strchr(ptr, ' ');
+ if (ptr) {
+ ptr[0] = '\0';
+ ptr++;
+ }
+ }
+ argv[argc] = NULL;
+ execv(argv[0], argv);
+ error("could not exec %s: %m", program);
+ exit(99);
+ }
+ /* NOTREACHED */
+}
+
+
+/*
+ * run-program - execute a program with given arguments,
+ * but don't wait for it.
+ * If the program can't be executed, logs an error unless
+ * must_exist is 0 and the program file doesn't exist.
+ * Returns -1 if it couldn't fork, 0 if the file doesn't exist
+ * or isn't an executable plain file, or the process ID of the child.
+ * If done != NULL, (*done)(arg) will be called later (within
+ * reap_kids) iff the return value is > 0.
+ */
+pid_t
+run_program(prog, args, must_exist, done, arg)
+ char *prog;
+ char **args;
+ int must_exist;
+ void (*done) __P((void *));
+ void *arg;
+{
+ int pid;
+ struct stat sbuf;
+
+ /*
+ * First check if the file exists and is executable.
+ * We don't use access() because that would use the
+ * real user-id, which might not be root, and the script
+ * might be accessible only to root.
+ */
+ errno = EINVAL;
+ if (stat(prog, &sbuf) < 0 || !S_ISREG(sbuf.st_mode)
+ || (sbuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0) {
+ if (must_exist || errno != ENOENT)
+ warn("Can't execute %s: %m", prog);
+ return 0;
+ }
+
+ pid = fork();
+ if (pid == -1) {
+ error("Failed to create child process for %s: %m", prog);
+ return -1;
+ }
+ if (pid == 0) {
+ int new_fd;
+
+ /* Leave the current location */
+ (void) setsid(); /* No controlling tty. */
+ (void) umask (S_IRWXG|S_IRWXO);
+ (void) chdir ("/"); /* no current directory. */
+ setuid(0); /* set real UID = root */
+ setgid(getegid());
+
+ /* Ensure that nothing of our device environment is inherited. */
+ sys_close();
+ closelog();
+ close (0);
+ close (1);
+ close (2);
+ if (the_channel->close)
+ (*the_channel->close)();
+
+ /* Don't pass handles to the PPP device, even by accident. */
+ new_fd = open (_PATH_DEVNULL, O_RDWR);
+ if (new_fd >= 0) {
+ if (new_fd != 0) {
+ dup2 (new_fd, 0); /* stdin <- /dev/null */
+ close (new_fd);
+ }
+ dup2 (0, 1); /* stdout -> /dev/null */
+ dup2 (0, 2); /* stderr -> /dev/null */
+ }
+
+#ifdef BSD
+ /* Force the priority back to zero if pppd is running higher. */
+ if (setpriority (PRIO_PROCESS, 0, 0) < 0)
+ warn("can't reset priority to 0: %m");
+#endif
+
+ /* SysV recommends a second fork at this point. */
+
+ /* run the program */
+ execve(prog, args, script_env);
+ if (must_exist || errno != ENOENT) {
+ /* have to reopen the log, there's nowhere else
+ for the message to go. */
+ reopen_log();
+ syslog(LOG_ERR, "Can't execute %s: %m", prog);
+ closelog();
+ }
+ _exit(-1);
+ }
+
+ if (debug)
+ dbglog("Script %s started (pid %d)", prog, pid);
+ record_child(pid, prog, done, arg);
+
+ return pid;
+}
+
+
+/*
+ * record_child - add a child process to the list for reap_kids
+ * to use.
+ */
+void
+record_child(pid, prog, done, arg)
+ int pid;
+ char *prog;
+ void (*done) __P((void *));
+ void *arg;
+{
+ struct subprocess *chp;
+
+ ++n_children;
+
+ chp = (struct subprocess *) malloc(sizeof(struct subprocess));
+ if (chp == NULL) {
+ warn("losing track of %s process", prog);
+ } else {
+ chp->pid = pid;
+ chp->prog = prog;
+ chp->done = done;
+ chp->arg = arg;
+ chp->next = children;
+ children = chp;
+ }
+}
+
+
+/*
+ * reap_kids - get status from any dead child processes,
+ * and log a message for abnormal terminations.
+ */
+static int
+reap_kids(waitfor)
+ int waitfor;
+{
+ int pid, status;
+ struct subprocess *chp, **prevp;
+
+ if (n_children == 0)
+ return 0;
+ while ((pid = waitpid(-1, &status, (waitfor? 0: WNOHANG))) != -1
+ && pid != 0) {
+ for (prevp = &children; (chp = *prevp) != NULL; prevp = &chp->next) {
+ if (chp->pid == pid) {
+ --n_children;
+ *prevp = chp->next;
+ break;
+ }
+ }
+ if (WIFSIGNALED(status)) {
+ warn("Child process %s (pid %d) terminated with signal %d",
+ (chp? chp->prog: "??"), pid, WTERMSIG(status));
+ } else if (debug)
+ dbglog("Script %s finished (pid %d), status = 0x%x",
+ (chp? chp->prog: "??"), pid, status);
+ if (chp && chp->done)
+ (*chp->done)(chp->arg);
+ if (chp)
+ free(chp);
+ }
+ if (pid == -1) {
+ if (errno == ECHILD)
+ return -1;
+ if (errno != EINTR)
+ error("Error waiting for child process: %m");
+ }
+ return 0;
+}
+
+/*
+ * add_notifier - add a new function to be called when something happens.
+ */
+void
+add_notifier(notif, func, arg)
+ struct notifier **notif;
+ notify_func func;
+ void *arg;
+{
+ struct notifier *np;
+
+ np = malloc(sizeof(struct notifier));
+ if (np == 0)
+ novm("notifier struct");
+ np->next = *notif;
+ np->func = func;
+ np->arg = arg;
+ *notif = np;
+}
+
+/*
+ * remove_notifier - remove a function from the list of things to
+ * be called when something happens.
+ */
+void
+remove_notifier(notif, func, arg)
+ struct notifier **notif;
+ notify_func func;
+ void *arg;
+{
+ struct notifier *np;
+
+ for (; (np = *notif) != 0; notif = &np->next) {
+ if (np->func == func && np->arg == arg) {
+ *notif = np->next;
+ free(np);
+ break;
+ }
+ }
+}
+
+/*
+ * notify - call a set of functions registered with add_notify.
+ */
+void
+notify(notif, val)
+ struct notifier *notif;
+ int val;
+{
+ struct notifier *np;
+
+ while ((np = notif) != 0) {
+ notif = np->next;
+ (*np->func)(np->arg, val);
+ }
+}
+
+/*
+ * novm - log an error message saying we ran out of memory, and die.
+ */
+void
+novm(msg)
+ char *msg;
+{
+ fatal("Virtual memory exhausted allocating %s\n", msg);
+}
+
+/*
+ * script_setenv - set an environment variable value to be used
+ * for scripts that we run (e.g. ip-up, auth-up, etc.)
+ */
+void
+script_setenv(var, value, iskey)
+ char *var, *value;
+ int iskey;
+{
+ size_t varl = strlen(var);
+ size_t vl = varl + strlen(value) + 2;
+ int i;
+ char *p, *newstring;
+
+ newstring = (char *) malloc(vl+1);
+ if (newstring == 0)
+ return;
+ *newstring++ = iskey;
+ slprintf(newstring, vl, "%s=%s", var, value);
+
+ /* check if this variable is already set */
+ if (script_env != 0) {
+ for (i = 0; (p = script_env[i]) != 0; ++i) {
+ if (strncmp(p, var, varl) == 0 && p[varl] == '=') {
+ if (p[-1] && pppdb != NULL)
+ delete_db_key(p);
+ free(p-1);
+ script_env[i] = newstring;
+ if (iskey && pppdb != NULL)
+ add_db_key(newstring);
+ update_db_entry();
+ return;
+ }
+ }
+ } else {
+ /* no space allocated for script env. ptrs. yet */
+ i = 0;
+ script_env = (char **) malloc(16 * sizeof(char *));
+ if (script_env == 0)
+ return;
+ s_env_nalloc = 16;
+ }
+
+ /* reallocate script_env with more space if needed */
+ if (i + 1 >= s_env_nalloc) {
+ int new_n = i + 17;
+ char **newenv = (char **) realloc((void *)script_env,
+ new_n * sizeof(char *));
+ if (newenv == 0)
+ return;
+ script_env = newenv;
+ s_env_nalloc = new_n;
+ }
+
+ script_env[i] = newstring;
+ script_env[i+1] = 0;
+
+ if (pppdb != NULL) {
+ if (iskey)
+ add_db_key(newstring);
+ update_db_entry();
+ }
+}
+
+/*
+ * script_unsetenv - remove a variable from the environment
+ * for scripts.
+ */
+void
+script_unsetenv(var)
+ char *var;
+{
+ int vl = strlen(var);
+ int i;
+ char *p;
+
+ if (script_env == 0)
+ return;
+ for (i = 0; (p = script_env[i]) != 0; ++i) {
+ if (strncmp(p, var, vl) == 0 && p[vl] == '=') {
+ if (p[-1] && pppdb != NULL)
+ delete_db_key(p);
+ free(p-1);
+ while ((script_env[i] = script_env[i+1]) != 0)
+ ++i;
+ break;
+ }
+ }
+ if (pppdb != NULL)
+ update_db_entry();
+}
+
+/*
+ * update_db_entry - update our entry in the database.
+ */
+static void
+update_db_entry()
+{
+ TDB_DATA key, dbuf;
+ int vlen, i;
+ char *p, *q, *vbuf;
+
+ if (script_env == NULL)
+ return;
+ vlen = 0;
+ for (i = 0; (p = script_env[i]) != 0; ++i)
+ vlen += strlen(p) + 1;
+ vbuf = malloc(vlen);
+ if (vbuf == 0)
+ novm("database entry");
+ q = vbuf;
+ for (i = 0; (p = script_env[i]) != 0; ++i)
+ q += slprintf(q, vbuf + vlen - q, "%s;", p);
+
+ key.dptr = db_key;
+ key.dsize = strlen(db_key);
+ dbuf.dptr = vbuf;
+ dbuf.dsize = vlen;
+ if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
+ error("tdb_store failed: %s", tdb_error(pppdb));
+
+}
+
+/*
+ * add_db_key - add a key that we can use to look up our database entry.
+ */
+static void
+add_db_key(str)
+ const char *str;
+{
+ TDB_DATA key, dbuf;
+
+ key.dptr = (char *) str;
+ key.dsize = strlen(str);
+ dbuf.dptr = db_key;
+ dbuf.dsize = strlen(db_key);
+ if (tdb_store(pppdb, key, dbuf, TDB_REPLACE))
+ error("tdb_store key failed: %s", tdb_error(pppdb));
+}
+
+/*
+ * delete_db_key - delete a key for looking up our database entry.
+ */
+static void
+delete_db_key(str)
+ const char *str;
+{
+ TDB_DATA key;
+
+ key.dptr = (char *) str;
+ key.dsize = strlen(str);
+ tdb_delete(pppdb, key);
+}
+
+/*
+ * cleanup_db - delete all the entries we put in the database.
+ */
+static void
+cleanup_db()
+{
+ TDB_DATA key;
+ int i;
+ char *p;
+
+ key.dptr = db_key;
+ key.dsize = strlen(db_key);
+ tdb_delete(pppdb, key);
+ for (i = 0; (p = script_env[i]) != 0; ++i)
+ if (p[-1])
+ delete_db_key(p);
+}
diff --git a/mdk-stage1/ppp/pppd/md4.c b/mdk-stage1/ppp/pppd/md4.c
new file mode 100644
index 000000000..cda9f943d
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/md4.c
@@ -0,0 +1,298 @@
+/*
+** ********************************************************************
+** md4.c -- Implementation of MD4 Message Digest Algorithm **
+** Updated: 2/16/90 by Ronald L. Rivest **
+** (C) 1990 RSA Data Security, Inc. **
+** ********************************************************************
+*/
+
+/*
+** To use MD4:
+** -- Include md4.h in your program
+** -- Declare an MDstruct MD to hold the state of the digest
+** computation.
+** -- Initialize MD using MDbegin(&MD)
+** -- For each full block (64 bytes) X you wish to process, call
+** MD4Update(&MD,X,512)
+** (512 is the number of bits in a full block.)
+** -- For the last block (less than 64 bytes) you wish to process,
+** MD4Update(&MD,X,n)
+** where n is the number of bits in the partial block. A partial
+** block terminates the computation, so every MD computation
+** should terminate by processing a partial block, even if it
+** has n = 0.
+** -- The message digest is available in MD.buffer[0] ...
+** MD.buffer[3]. (Least-significant byte of each word
+** should be output first.)
+** -- You can print out the digest using MDprint(&MD)
+*/
+
+/* Implementation notes:
+** This implementation assumes that ints are 32-bit quantities.
+*/
+
+#define TRUE 1
+#define FALSE 0
+
+/* Compile-time includes
+*/
+#include <stdio.h>
+#include "md4.h"
+#include "pppd.h"
+
+/* Compile-time declarations of MD4 "magic constants".
+*/
+#define I0 0x67452301 /* Initial values for MD buffer */
+#define I1 0xefcdab89
+#define I2 0x98badcfe
+#define I3 0x10325476
+#define C2 013240474631 /* round 2 constant = sqrt(2) in octal */
+#define C3 015666365641 /* round 3 constant = sqrt(3) in octal */
+/* C2 and C3 are from Knuth, The Art of Programming, Volume 2
+** (Seminumerical Algorithms), Second Edition (1981), Addison-Wesley.
+** Table 2, page 660.
+*/
+
+#define fs1 3 /* round 1 shift amounts */
+#define fs2 7
+#define fs3 11
+#define fs4 19
+#define gs1 3 /* round 2 shift amounts */
+#define gs2 5
+#define gs3 9
+#define gs4 13
+#define hs1 3 /* round 3 shift amounts */
+#define hs2 9
+#define hs3 11
+#define hs4 15
+
+/* Compile-time macro declarations for MD4.
+** Note: The "rot" operator uses the variable "tmp".
+** It assumes tmp is declared as unsigned int, so that the >>
+** operator will shift in zeros rather than extending the sign bit.
+*/
+#define f(X,Y,Z) ((X&Y) | ((~X)&Z))
+#define g(X,Y,Z) ((X&Y) | (X&Z) | (Y&Z))
+#define h(X,Y,Z) (X^Y^Z)
+#define rot(X,S) (tmp=X,(tmp<<S) | (tmp>>(32-S)))
+#define ff(A,B,C,D,i,s) A = rot((A + f(B,C,D) + X[i]),s)
+#define gg(A,B,C,D,i,s) A = rot((A + g(B,C,D) + X[i] + C2),s)
+#define hh(A,B,C,D,i,s) A = rot((A + h(B,C,D) + X[i] + C3),s)
+
+/* MD4print(MDp)
+** Print message digest buffer MDp as 32 hexadecimal digits.
+** Order is from low-order byte of buffer[0] to high-order byte of
+** buffer[3].
+** Each byte is printed with high-order hexadecimal digit first.
+** This is a user-callable routine.
+*/
+void
+MD4Print(MDp)
+MD4_CTX *MDp;
+{
+ int i,j;
+ for (i=0;i<4;i++)
+ for (j=0;j<32;j=j+8)
+ printf("%02x",(MDp->buffer[i]>>j) & 0xFF);
+}
+
+/* MD4Init(MDp)
+** Initialize message digest buffer MDp.
+** This is a user-callable routine.
+*/
+void
+MD4Init(MDp)
+MD4_CTX *MDp;
+{
+ int i;
+ MDp->buffer[0] = I0;
+ MDp->buffer[1] = I1;
+ MDp->buffer[2] = I2;
+ MDp->buffer[3] = I3;
+ for (i=0;i<8;i++) MDp->count[i] = 0;
+ MDp->done = 0;
+}
+
+/* MDblock(MDp,X)
+** Update message digest buffer MDp->buffer using 16-word data block X.
+** Assumes all 16 words of X are full of data.
+** Does not update MDp->count.
+** This routine is not user-callable.
+*/
+static void
+MDblock(MDp,Xb)
+MD4_CTX *MDp;
+unsigned char *Xb;
+{
+ register unsigned int tmp, A, B, C, D;
+ unsigned int X[16];
+ int i;
+
+ for (i = 0; i < 16; ++i) {
+ X[i] = Xb[0] + (Xb[1] << 8) + (Xb[2] << 16) + (Xb[3] << 24);
+ Xb += 4;
+ }
+
+ A = MDp->buffer[0];
+ B = MDp->buffer[1];
+ C = MDp->buffer[2];
+ D = MDp->buffer[3];
+ /* Update the message digest buffer */
+ ff(A , B , C , D , 0 , fs1); /* Round 1 */
+ ff(D , A , B , C , 1 , fs2);
+ ff(C , D , A , B , 2 , fs3);
+ ff(B , C , D , A , 3 , fs4);
+ ff(A , B , C , D , 4 , fs1);
+ ff(D , A , B , C , 5 , fs2);
+ ff(C , D , A , B , 6 , fs3);
+ ff(B , C , D , A , 7 , fs4);
+ ff(A , B , C , D , 8 , fs1);
+ ff(D , A , B , C , 9 , fs2);
+ ff(C , D , A , B , 10 , fs3);
+ ff(B , C , D , A , 11 , fs4);
+ ff(A , B , C , D , 12 , fs1);
+ ff(D , A , B , C , 13 , fs2);
+ ff(C , D , A , B , 14 , fs3);
+ ff(B , C , D , A , 15 , fs4);
+ gg(A , B , C , D , 0 , gs1); /* Round 2 */
+ gg(D , A , B , C , 4 , gs2);
+ gg(C , D , A , B , 8 , gs3);
+ gg(B , C , D , A , 12 , gs4);
+ gg(A , B , C , D , 1 , gs1);
+ gg(D , A , B , C , 5 , gs2);
+ gg(C , D , A , B , 9 , gs3);
+ gg(B , C , D , A , 13 , gs4);
+ gg(A , B , C , D , 2 , gs1);
+ gg(D , A , B , C , 6 , gs2);
+ gg(C , D , A , B , 10 , gs3);
+ gg(B , C , D , A , 14 , gs4);
+ gg(A , B , C , D , 3 , gs1);
+ gg(D , A , B , C , 7 , gs2);
+ gg(C , D , A , B , 11 , gs3);
+ gg(B , C , D , A , 15 , gs4);
+ hh(A , B , C , D , 0 , hs1); /* Round 3 */
+ hh(D , A , B , C , 8 , hs2);
+ hh(C , D , A , B , 4 , hs3);
+ hh(B , C , D , A , 12 , hs4);
+ hh(A , B , C , D , 2 , hs1);
+ hh(D , A , B , C , 10 , hs2);
+ hh(C , D , A , B , 6 , hs3);
+ hh(B , C , D , A , 14 , hs4);
+ hh(A , B , C , D , 1 , hs1);
+ hh(D , A , B , C , 9 , hs2);
+ hh(C , D , A , B , 5 , hs3);
+ hh(B , C , D , A , 13 , hs4);
+ hh(A , B , C , D , 3 , hs1);
+ hh(D , A , B , C , 11 , hs2);
+ hh(C , D , A , B , 7 , hs3);
+ hh(B , C , D , A , 15 , hs4);
+ MDp->buffer[0] += A;
+ MDp->buffer[1] += B;
+ MDp->buffer[2] += C;
+ MDp->buffer[3] += D;
+}
+
+/* MD4Update(MDp,X,count)
+** Input: X -- a pointer to an array of unsigned characters.
+** count -- the number of bits of X to use.
+** (if not a multiple of 8, uses high bits of last byte.)
+** Update MDp using the number of bits of X given by count.
+** This is the basic input routine for an MD4 user.
+** The routine completes the MD computation when count < 512, so
+** every MD computation should end with one call to MD4Update with a
+** count less than 512. A call with count 0 will be ignored if the
+** MD has already been terminated (done != 0), so an extra call with
+** count 0 can be given as a "courtesy close" to force termination
+** if desired.
+*/
+void
+MD4Update(MDp,X,count)
+MD4_CTX *MDp;
+unsigned char *X;
+unsigned int count;
+{
+ unsigned int i, tmp, bit, byte, mask;
+ unsigned char XX[64];
+ unsigned char *p;
+
+ /* return with no error if this is a courtesy close with count
+ ** zero and MDp->done is true.
+ */
+ if (count == 0 && MDp->done) return;
+ /* check to see if MD is already done and report error */
+ if (MDp->done)
+ { printf("\nError: MD4Update MD already done."); return; }
+
+ /* Add count to MDp->count */
+ tmp = count;
+ p = MDp->count;
+ while (tmp)
+ { tmp += *p;
+ *p++ = tmp;
+ tmp = tmp >> 8;
+ }
+
+ /* Process data */
+ if (count == 512)
+ { /* Full block of data to handle */
+ MDblock(MDp,X);
+ }
+ else if (count > 512) /* Check for count too large */
+ {
+ printf("\nError: MD4Update called with illegal count value %d.",
+ count);
+ return;
+ }
+ else /* partial block -- must be last block so finish up */
+ {
+ /* Find out how many bytes and residual bits there are */
+ byte = count >> 3;
+ bit = count & 7;
+ /* Copy X into XX since we need to modify it */
+ for (i=0;i<=byte;i++) XX[i] = X[i];
+ for (i=byte+1;i<64;i++) XX[i] = 0;
+ /* Add padding '1' bit and low-order zeros in last byte */
+ mask = 1 << (7 - bit);
+ XX[byte] = (XX[byte] | mask) & ~( mask - 1);
+ /* If room for bit count, finish up with this block */
+ if (byte <= 55)
+ {
+ for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
+ MDblock(MDp,XX);
+ }
+ else /* need to do two blocks to finish up */
+ {
+ MDblock(MDp,XX);
+ for (i=0;i<56;i++) XX[i] = 0;
+ for (i=0;i<8;i++) XX[56+i] = MDp->count[i];
+ MDblock(MDp,XX);
+ }
+ /* Set flag saying we're done with MD computation */
+ MDp->done = 1;
+ }
+}
+
+/*
+** Finish up MD4 computation and return message digest.
+*/
+void
+MD4Final(buf, MD)
+unsigned char *buf;
+MD4_CTX *MD;
+{
+ int i, j;
+ unsigned int w;
+
+ MD4Update(MD, NULL, 0);
+ for (i = 0; i < 4; ++i) {
+ w = MD->buffer[i];
+ for (j = 0; j < 4; ++j) {
+ *buf++ = w;
+ w >>= 8;
+ }
+ }
+}
+
+/*
+** End of md4.c
+****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md4.h b/mdk-stage1/ppp/pppd/md4.h
new file mode 100644
index 000000000..80e8f9a2a
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/md4.h
@@ -0,0 +1,64 @@
+
+/*
+** ********************************************************************
+** md4.h -- Header file for implementation of **
+** MD4 Message Digest Algorithm **
+** Updated: 2/13/90 by Ronald L. Rivest **
+** (C) 1990 RSA Data Security, Inc. **
+** ********************************************************************
+*/
+
+#ifndef __P
+# if defined(__STDC__) || defined(__GNUC__)
+# define __P(x) x
+# else
+# define __P(x) ()
+# endif
+#endif
+
+
+/* MDstruct is the data structure for a message digest computation.
+*/
+typedef struct {
+ unsigned int buffer[4]; /* Holds 4-word result of MD computation */
+ unsigned char count[8]; /* Number of bits processed so far */
+ unsigned int done; /* Nonzero means MD computation finished */
+} MD4_CTX;
+
+/* MD4Init(MD4_CTX *)
+** Initialize the MD4_CTX prepatory to doing a message digest
+** computation.
+*/
+extern void MD4Init __P((MD4_CTX *MD));
+
+/* MD4Update(MD,X,count)
+** Input: X -- a pointer to an array of unsigned characters.
+** count -- the number of bits of X to use (an unsigned int).
+** Updates MD using the first "count" bits of X.
+** The array pointed to by X is not modified.
+** If count is not a multiple of 8, MD4Update uses high bits of
+** last byte.
+** This is the basic input routine for a user.
+** The routine terminates the MD computation when count < 512, so
+** every MD computation should end with one call to MD4Update with a
+** count less than 512. Zero is OK for a count.
+*/
+extern void MD4Update __P((MD4_CTX *MD, unsigned char *X, unsigned int count));
+
+/* MD4Print(MD)
+** Prints message digest buffer MD as 32 hexadecimal digits.
+** Order is from low-order byte of buffer[0] to high-order byte
+** of buffer[3].
+** Each byte is printed with high-order hexadecimal digit first.
+*/
+extern void MD4Print __P((MD4_CTX *));
+
+/* MD4Final(buf, MD)
+** Returns message digest from MD and terminates the message
+** digest computation.
+*/
+extern void MD4Final __P((unsigned char *, MD4_CTX *));
+
+/*
+** End of md4.h
+****************************(cut)***********************************/
diff --git a/mdk-stage1/ppp/pppd/md5.c b/mdk-stage1/ppp/pppd/md5.c
new file mode 100644
index 000000000..0b8de3aae
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/md5.c
@@ -0,0 +1,309 @@
+
+
+/*
+ ***********************************************************************
+ ** md5.c -- the source code for MD5 routines **
+ ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
+ ** Created: 2/17/90 RLR **
+ ** Revised: 1/91 SRD,AJ,BSK,JT Reference C ver., 7/10 constant corr. **
+ ***********************************************************************
+ */
+
+/*
+ ***********************************************************************
+ ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
+ ** **
+ ** License to copy and use this software is granted provided that **
+ ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
+ ** Digest Algorithm" in all material mentioning or referencing this **
+ ** software or this function. **
+ ** **
+ ** License is also granted to make and use derivative works **
+ ** provided that such works are identified as "derived from the RSA **
+ ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
+ ** material mentioning or referencing the derived work. **
+ ** **
+ ** RSA Data Security, Inc. makes no representations concerning **
+ ** either the merchantability of this software or the suitability **
+ ** of this software for any particular purpose. It is provided "as **
+ ** is" without express or implied warranty of any kind. **
+ ** **
+ ** These notices must be retained in any copies of any part of this **
+ ** documentation and/or software. **
+ ***********************************************************************
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "md5.h"
+
+/*
+ ***********************************************************************
+ ** Message-digest routines: **
+ ** To form the message digest for a message M **
+ ** (1) Initialize a context buffer mdContext using MD5Init **
+ ** (2) Call MD5Update on mdContext and M **
+ ** (3) Call MD5Final on mdContext **
+ ** The message digest is now in mdContext->digest[0...15] **
+ ***********************************************************************
+ */
+
+/* forward declaration */
+static void Transform ();
+
+static unsigned char PADDING[64] = {
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+/* F, G, H and I are basic MD5 functions */
+#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
+#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
+#define H(x, y, z) ((x) ^ (y) ^ (z))
+#define I(x, y, z) ((y) ^ ((x) | (~z)))
+
+/* ROTATE_LEFT rotates x left n bits */
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
+
+/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */
+/* Rotation is separate from addition to prevent recomputation */
+#define FF(a, b, c, d, x, s, ac) \
+ {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define GG(a, b, c, d, x, s, ac) \
+ {(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define HH(a, b, c, d, x, s, ac) \
+ {(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+#define II(a, b, c, d, x, s, ac) \
+ {(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \
+ (a) = ROTATE_LEFT ((a), (s)); \
+ (a) += (b); \
+ }
+
+#ifdef __STDC__
+#define UL(x) x##U
+#else
+#define UL(x) x
+#endif
+
+/* The routine MD5Init initializes the message-digest context
+ mdContext. All fields are set to zero.
+ */
+void MD5Init (mdContext)
+MD5_CTX *mdContext;
+{
+ mdContext->i[0] = mdContext->i[1] = (UINT4)0;
+
+ /* Load magic initialization constants.
+ */
+ mdContext->buf[0] = (UINT4)0x67452301;
+ mdContext->buf[1] = (UINT4)0xefcdab89;
+ mdContext->buf[2] = (UINT4)0x98badcfe;
+ mdContext->buf[3] = (UINT4)0x10325476;
+}
+
+/* The routine MD5Update updates the message-digest context to
+ account for the presence of each of the characters inBuf[0..inLen-1]
+ in the message whose digest is being computed.
+ */
+void MD5Update (mdContext, inBuf, inLen)
+MD5_CTX *mdContext;
+unsigned char *inBuf;
+unsigned int inLen;
+{
+ UINT4 in[16];
+ int mdi;
+ unsigned int i, ii;
+
+ /* compute number of bytes mod 64 */
+ mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
+
+ /* update number of bits */
+ if ((mdContext->i[0] + ((UINT4)inLen << 3)) < mdContext->i[0])
+ mdContext->i[1]++;
+ mdContext->i[0] += ((UINT4)inLen << 3);
+ mdContext->i[1] += ((UINT4)inLen >> 29);
+
+ while (inLen--) {
+ /* add new character to buffer, increment mdi */
+ mdContext->in[mdi++] = *inBuf++;
+
+ /* transform if necessary */
+ if (mdi == 0x40) {
+ for (i = 0, ii = 0; i < 16; i++, ii += 4)
+ in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
+ (((UINT4)mdContext->in[ii+2]) << 16) |
+ (((UINT4)mdContext->in[ii+1]) << 8) |
+ ((UINT4)mdContext->in[ii]);
+ Transform (mdContext->buf, in);
+ mdi = 0;
+ }
+ }
+}
+
+/* The routine MD5Final terminates the message-digest computation and
+ ends with the desired message digest in mdContext->digest[0...15].
+ */
+void MD5Final (hash, mdContext)
+unsigned char hash[];
+MD5_CTX *mdContext;
+{
+ UINT4 in[16];
+ int mdi;
+ unsigned int i, ii;
+ unsigned int padLen;
+
+ /* save number of bits */
+ in[14] = mdContext->i[0];
+ in[15] = mdContext->i[1];
+
+ /* compute number of bytes mod 64 */
+ mdi = (int)((mdContext->i[0] >> 3) & 0x3F);
+
+ /* pad out to 56 mod 64 */
+ padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi);
+ MD5Update (mdContext, PADDING, padLen);
+
+ /* append length in bits and transform */
+ for (i = 0, ii = 0; i < 14; i++, ii += 4)
+ in[i] = (((UINT4)mdContext->in[ii+3]) << 24) |
+ (((UINT4)mdContext->in[ii+2]) << 16) |
+ (((UINT4)mdContext->in[ii+1]) << 8) |
+ ((UINT4)mdContext->in[ii]);
+ Transform (mdContext->buf, in);
+
+ /* store buffer in digest */
+ for (i = 0, ii = 0; i < 4; i++, ii += 4) {
+ mdContext->digest[ii] = (unsigned char)(mdContext->buf[i] & 0xFF);
+ mdContext->digest[ii+1] =
+ (unsigned char)((mdContext->buf[i] >> 8) & 0xFF);
+ mdContext->digest[ii+2] =
+ (unsigned char)((mdContext->buf[i] >> 16) & 0xFF);
+ mdContext->digest[ii+3] =
+ (unsigned char)((mdContext->buf[i] >> 24) & 0xFF);
+ }
+ memcpy(hash, mdContext->digest, 16);
+}
+
+/* Basic MD5 step. Transforms buf based on in.
+ */
+static void Transform (buf, in)
+UINT4 *buf;
+UINT4 *in;
+{
+ UINT4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
+
+ /* Round 1 */
+#define S11 7
+#define S12 12
+#define S13 17
+#define S14 22
+ FF ( a, b, c, d, in[ 0], S11, UL(3614090360)); /* 1 */
+ FF ( d, a, b, c, in[ 1], S12, UL(3905402710)); /* 2 */
+ FF ( c, d, a, b, in[ 2], S13, UL( 606105819)); /* 3 */
+ FF ( b, c, d, a, in[ 3], S14, UL(3250441966)); /* 4 */
+ FF ( a, b, c, d, in[ 4], S11, UL(4118548399)); /* 5 */
+ FF ( d, a, b, c, in[ 5], S12, UL(1200080426)); /* 6 */
+ FF ( c, d, a, b, in[ 6], S13, UL(2821735955)); /* 7 */
+ FF ( b, c, d, a, in[ 7], S14, UL(4249261313)); /* 8 */
+ FF ( a, b, c, d, in[ 8], S11, UL(1770035416)); /* 9 */
+ FF ( d, a, b, c, in[ 9], S12, UL(2336552879)); /* 10 */
+ FF ( c, d, a, b, in[10], S13, UL(4294925233)); /* 11 */
+ FF ( b, c, d, a, in[11], S14, UL(2304563134)); /* 12 */
+ FF ( a, b, c, d, in[12], S11, UL(1804603682)); /* 13 */
+ FF ( d, a, b, c, in[13], S12, UL(4254626195)); /* 14 */
+ FF ( c, d, a, b, in[14], S13, UL(2792965006)); /* 15 */
+ FF ( b, c, d, a, in[15], S14, UL(1236535329)); /* 16 */
+
+ /* Round 2 */
+#define S21 5
+#define S22 9
+#define S23 14
+#define S24 20
+ GG ( a, b, c, d, in[ 1], S21, UL(4129170786)); /* 17 */
+ GG ( d, a, b, c, in[ 6], S22, UL(3225465664)); /* 18 */
+ GG ( c, d, a, b, in[11], S23, UL( 643717713)); /* 19 */
+ GG ( b, c, d, a, in[ 0], S24, UL(3921069994)); /* 20 */
+ GG ( a, b, c, d, in[ 5], S21, UL(3593408605)); /* 21 */
+ GG ( d, a, b, c, in[10], S22, UL( 38016083)); /* 22 */
+ GG ( c, d, a, b, in[15], S23, UL(3634488961)); /* 23 */
+ GG ( b, c, d, a, in[ 4], S24, UL(3889429448)); /* 24 */
+ GG ( a, b, c, d, in[ 9], S21, UL( 568446438)); /* 25 */
+ GG ( d, a, b, c, in[14], S22, UL(3275163606)); /* 26 */
+ GG ( c, d, a, b, in[ 3], S23, UL(4107603335)); /* 27 */
+ GG ( b, c, d, a, in[ 8], S24, UL(1163531501)); /* 28 */
+ GG ( a, b, c, d, in[13], S21, UL(2850285829)); /* 29 */
+ GG ( d, a, b, c, in[ 2], S22, UL(4243563512)); /* 30 */
+ GG ( c, d, a, b, in[ 7], S23, UL(1735328473)); /* 31 */
+ GG ( b, c, d, a, in[12], S24, UL(2368359562)); /* 32 */
+
+ /* Round 3 */
+#define S31 4
+#define S32 11
+#define S33 16
+#define S34 23
+ HH ( a, b, c, d, in[ 5], S31, UL(4294588738)); /* 33 */
+ HH ( d, a, b, c, in[ 8], S32, UL(2272392833)); /* 34 */
+ HH ( c, d, a, b, in[11], S33, UL(1839030562)); /* 35 */
+ HH ( b, c, d, a, in[14], S34, UL(4259657740)); /* 36 */
+ HH ( a, b, c, d, in[ 1], S31, UL(2763975236)); /* 37 */
+ HH ( d, a, b, c, in[ 4], S32, UL(1272893353)); /* 38 */
+ HH ( c, d, a, b, in[ 7], S33, UL(4139469664)); /* 39 */
+ HH ( b, c, d, a, in[10], S34, UL(3200236656)); /* 40 */
+ HH ( a, b, c, d, in[13], S31, UL( 681279174)); /* 41 */
+ HH ( d, a, b, c, in[ 0], S32, UL(3936430074)); /* 42 */
+ HH ( c, d, a, b, in[ 3], S33, UL(3572445317)); /* 43 */
+ HH ( b, c, d, a, in[ 6], S34, UL( 76029189)); /* 44 */
+ HH ( a, b, c, d, in[ 9], S31, UL(3654602809)); /* 45 */
+ HH ( d, a, b, c, in[12], S32, UL(3873151461)); /* 46 */
+ HH ( c, d, a, b, in[15], S33, UL( 530742520)); /* 47 */
+ HH ( b, c, d, a, in[ 2], S34, UL(3299628645)); /* 48 */
+
+ /* Round 4 */
+#define S41 6
+#define S42 10
+#define S43 15
+#define S44 21
+ II ( a, b, c, d, in[ 0], S41, UL(4096336452)); /* 49 */
+ II ( d, a, b, c, in[ 7], S42, UL(1126891415)); /* 50 */
+ II ( c, d, a, b, in[14], S43, UL(2878612391)); /* 51 */
+ II ( b, c, d, a, in[ 5], S44, UL(4237533241)); /* 52 */
+ II ( a, b, c, d, in[12], S41, UL(1700485571)); /* 53 */
+ II ( d, a, b, c, in[ 3], S42, UL(2399980690)); /* 54 */
+ II ( c, d, a, b, in[10], S43, UL(4293915773)); /* 55 */
+ II ( b, c, d, a, in[ 1], S44, UL(2240044497)); /* 56 */
+ II ( a, b, c, d, in[ 8], S41, UL(1873313359)); /* 57 */
+ II ( d, a, b, c, in[15], S42, UL(4264355552)); /* 58 */
+ II ( c, d, a, b, in[ 6], S43, UL(2734768916)); /* 59 */
+ II ( b, c, d, a, in[13], S44, UL(1309151649)); /* 60 */
+ II ( a, b, c, d, in[ 4], S41, UL(4149444226)); /* 61 */
+ II ( d, a, b, c, in[11], S42, UL(3174756917)); /* 62 */
+ II ( c, d, a, b, in[ 2], S43, UL( 718787259)); /* 63 */
+ II ( b, c, d, a, in[ 9], S44, UL(3951481745)); /* 64 */
+
+ buf[0] += a;
+ buf[1] += b;
+ buf[2] += c;
+ buf[3] += d;
+}
+
+/*
+ ***********************************************************************
+ ** End of md5.c **
+ ******************************** (cut) ********************************
+ */
diff --git a/mdk-stage1/ppp/pppd/md5.h b/mdk-stage1/ppp/pppd/md5.h
new file mode 100644
index 000000000..7492b2228
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/md5.h
@@ -0,0 +1,58 @@
+/*
+ ***********************************************************************
+ ** md5.h -- header file for implementation of MD5 **
+ ** RSA Data Security, Inc. MD5 Message-Digest Algorithm **
+ ** Created: 2/17/90 RLR **
+ ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
+ ** Revised (for MD5): RLR 4/27/91 **
+ ** -- G modified to have y&~z instead of y&z **
+ ** -- FF, GG, HH modified to add in last register done **
+ ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
+ ** -- distinct additive constant for each step **
+ ** -- round 4 added, working mod 7 **
+ ***********************************************************************
+ */
+
+/*
+ ***********************************************************************
+ ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
+ ** **
+ ** License to copy and use this software is granted provided that **
+ ** it is identified as the "RSA Data Security, Inc. MD5 Message- **
+ ** Digest Algorithm" in all material mentioning or referencing this **
+ ** software or this function. **
+ ** **
+ ** License is also granted to make and use derivative works **
+ ** provided that such works are identified as "derived from the RSA **
+ ** Data Security, Inc. MD5 Message-Digest Algorithm" in all **
+ ** material mentioning or referencing the derived work. **
+ ** **
+ ** RSA Data Security, Inc. makes no representations concerning **
+ ** either the merchantability of this software or the suitability **
+ ** of this software for any particular purpose. It is provided "as **
+ ** is" without express or implied warranty of any kind. **
+ ** **
+ ** These notices must be retained in any copies of any part of this **
+ ** documentation and/or software. **
+ ***********************************************************************
+ */
+
+#ifndef __MD5_INCLUDE__
+
+/* typedef a 32-bit type */
+typedef unsigned int UINT4;
+
+/* Data structure for MD5 (Message-Digest) computation */
+typedef struct {
+ UINT4 i[2]; /* number of _bits_ handled mod 2^64 */
+ UINT4 buf[4]; /* scratch buffer */
+ unsigned char in[64]; /* input buffer */
+ unsigned char digest[16]; /* actual digest after MD5Final call */
+} MD5_CTX;
+
+void MD5Init ();
+void MD5Update ();
+void MD5Final ();
+
+#define __MD5_INCLUDE__
+#endif /* __MD5_INCLUDE__ */
diff --git a/mdk-stage1/ppp/pppd/multilink.c b/mdk-stage1/ppp/pppd/multilink.c
new file mode 100644
index 000000000..c30b07e0a
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/multilink.c
@@ -0,0 +1,397 @@
+/*
+ * multilink.c - support routines for multilink.
+ *
+ * Copyright (c) 2000 Paul Mackerras.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms. The name of the author may not be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <ctype.h>
+#include <netdb.h>
+#include <errno.h>
+#include <signal.h>
+#include <netinet/in.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "lcp.h"
+#include "tdb.h"
+
+bool endpoint_specified; /* user gave explicit endpoint discriminator */
+char *bundle_id; /* identifier for our bundle */
+
+extern TDB_CONTEXT *pppdb;
+extern char db_key[];
+
+static int get_default_epdisc __P((struct epdisc *));
+static int parse_num __P((char *str, const char *key, int *valp));
+static int owns_unit __P((TDB_DATA pid, int unit));
+
+#define set_ip_epdisc(ep, addr) do { \
+ ep->length = 4; \
+ ep->value[0] = addr >> 24; \
+ ep->value[1] = addr >> 16; \
+ ep->value[2] = addr >> 8; \
+ ep->value[3] = addr; \
+} while (0)
+
+#define LOCAL_IP_ADDR(addr) \
+ (((addr) & 0xff000000) == 0x0a000000 /* 10.x.x.x */ \
+ || ((addr) & 0xfff00000) == 0xac100000 /* 172.16.x.x */ \
+ || ((addr) & 0xffff0000) == 0xc0a80000) /* 192.168.x.x */
+
+#define process_exists(n) (kill((n), 0) == 0 || errno != ESRCH)
+
+void
+mp_check_options()
+{
+ lcp_options *wo = &lcp_wantoptions[0];
+ lcp_options *ao = &lcp_allowoptions[0];
+
+ if (!multilink)
+ return;
+ /* if we're doing multilink, we have to negotiate MRRU */
+ if (!wo->neg_mrru) {
+ /* mrru not specified, default to mru */
+ wo->mrru = wo->mru;
+ wo->neg_mrru = 1;
+ }
+ ao->mrru = ao->mru;
+ ao->neg_mrru = 1;
+
+ if (!wo->neg_endpoint && !noendpoint) {
+ /* get a default endpoint value */
+ wo->neg_endpoint = get_default_epdisc(&wo->endpoint);
+ }
+}
+
+/*
+ * Make a new bundle or join us to an existing bundle
+ * if we are doing multilink.
+ */
+int
+mp_join_bundle()
+{
+ lcp_options *go = &lcp_gotoptions[0];
+ lcp_options *ho = &lcp_hisoptions[0];
+ lcp_options *ao = &lcp_allowoptions[0];
+ int unit, pppd_pid;
+ int l, mtu;
+ char *p;
+ TDB_DATA key, pid, rec;
+
+ if (!go->neg_mrru || !ho->neg_mrru) {
+ /* not doing multilink */
+ if (go->neg_mrru)
+ notice("oops, multilink negotiated only for receive");
+ mtu = ho->neg_mru? ho->mru: PPP_MRU;
+ if (mtu > ao->mru)
+ mtu = ao->mru;
+ if (demand) {
+ /* already have a bundle */
+ cfg_bundle(0, 0, 0, 0);
+ netif_set_mtu(0, mtu);
+ return 0;
+ }
+ make_new_bundle(0, 0, 0, 0);
+ set_ifunit(1);
+ netif_set_mtu(0, mtu);
+ return 0;
+ }
+
+ /*
+ * Find the appropriate bundle or join a new one.
+ * First we make up a name for the bundle.
+ * The length estimate is worst-case assuming every
+ * character has to be quoted.
+ */
+ l = 4 * strlen(peer_authname) + 10;
+ if (ho->neg_endpoint)
+ l += 3 * ho->endpoint.length + 8;
+ if (bundle_name)
+ l += 3 * strlen(bundle_name) + 2;
+ bundle_id = malloc(l);
+ if (bundle_id == 0)
+ novm("bundle identifier");
+
+ p = bundle_id;
+ p += slprintf(p, l-1, "BUNDLE=\"%q\"", peer_authname);
+ if (ho->neg_endpoint || bundle_name)
+ *p++ = '/';
+ if (ho->neg_endpoint)
+ p += slprintf(p, bundle_id+l-p, "%s",
+ epdisc_to_str(&ho->endpoint));
+ if (bundle_name)
+ p += slprintf(p, bundle_id+l-p, "/%v", bundle_name);
+
+ /*
+ * For demand mode, we only need to configure the bundle
+ * and attach the link.
+ */
+ mtu = MIN(ho->mrru, ao->mru);
+ if (demand) {
+ cfg_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
+ netif_set_mtu(0, mtu);
+ script_setenv("BUNDLE", bundle_id + 7, 1);
+ return 0;
+ }
+
+ /*
+ * Check if the bundle ID is already in the database.
+ */
+ unit = -1;
+ tdb_writelock(pppdb);
+ key.dptr = bundle_id;
+ key.dsize = p - bundle_id;
+ pid = tdb_fetch(pppdb, key);
+ if (pid.dptr != NULL) {
+ /* bundle ID exists, see if the pppd record exists */
+ rec = tdb_fetch(pppdb, pid);
+ if (rec.dptr != NULL) {
+ /* it is, parse the interface number */
+ parse_num(rec.dptr, "IFNAME=ppp", &unit);
+ /* check the pid value */
+ if (!parse_num(rec.dptr, "PPPD_PID=", &pppd_pid)
+ || !process_exists(pppd_pid)
+ || !owns_unit(pid, unit))
+ unit = -1;
+ free(rec.dptr);
+ }
+ free(pid.dptr);
+ }
+
+ if (unit >= 0) {
+ /* attach to existing unit */
+ if (bundle_attach(unit)) {
+ set_ifunit(0);
+ script_setenv("BUNDLE", bundle_id + 7, 0);
+ tdb_writeunlock(pppdb);
+ info("Link attached to %s", ifname);
+ return 1;
+ }
+ /* attach failed because bundle doesn't exist */
+ }
+
+ /* we have to make a new bundle */
+ make_new_bundle(go->mrru, ho->mrru, go->neg_ssnhf, ho->neg_ssnhf);
+ set_ifunit(1);
+ netif_set_mtu(0, mtu);
+ script_setenv("BUNDLE", bundle_id + 7, 1);
+ tdb_writeunlock(pppdb);
+ info("New bundle %s created", ifname);
+ return 0;
+}
+
+static int
+parse_num(str, key, valp)
+ char *str;
+ const char *key;
+ int *valp;
+{
+ char *p, *endp;
+ int i;
+
+ p = strstr(str, key);
+ if (p != 0) {
+ p += strlen(key);
+ i = strtol(p, &endp, 10);
+ if (endp != p && (*endp == 0 || *endp == ';')) {
+ *valp = i;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Check whether the pppd identified by `key' still owns ppp unit `unit'.
+ */
+static int
+owns_unit(key, unit)
+ TDB_DATA key;
+ int unit;
+{
+ char ifkey[32];
+ TDB_DATA kd, vd;
+ int ret = 0;
+
+ slprintf(ifkey, sizeof(ifkey), "IFNAME=ppp%d", unit);
+ kd.dptr = ifkey;
+ kd.dsize = strlen(ifkey);
+ vd = tdb_fetch(pppdb, kd);
+ if (vd.dptr != NULL) {
+ ret = vd.dsize == key.dsize
+ && memcmp(vd.dptr, key.dptr, vd.dsize) == 0;
+ free(vd.dptr);
+ }
+ return ret;
+}
+
+static int
+get_default_epdisc(ep)
+ struct epdisc *ep;
+{
+ char *p;
+ struct hostent *hp;
+ u_int32_t addr;
+
+ /* First try for an ethernet MAC address */
+ p = get_first_ethernet();
+ if (p != 0 && get_if_hwaddr(ep->value, p) >= 0) {
+ ep->class = EPD_MAC;
+ ep->length = 6;
+ return 1;
+ }
+
+ /* see if our hostname corresponds to a reasonable IP address */
+ hp = gethostbyname(hostname);
+ if (hp != NULL) {
+ addr = *(u_int32_t *)hp->h_addr;
+ if (!bad_ip_adrs(addr)) {
+ addr = ntohl(addr);
+ if (!LOCAL_IP_ADDR(addr)) {
+ ep->class = EPD_IP;
+ set_ip_epdisc(ep, addr);
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+/*
+ * epdisc_to_str - make a printable string from an endpoint discriminator.
+ */
+
+static char *endp_class_names[] = {
+ "null", "local", "IP", "MAC", "magic", "phone"
+};
+
+char *
+epdisc_to_str(ep)
+ struct epdisc *ep;
+{
+ static char str[MAX_ENDP_LEN*3+8];
+ u_char *p = ep->value;
+ int i, mask = 0;
+ char *q, c, c2;
+
+ if (ep->class == EPD_NULL && ep->length == 0)
+ return "null";
+ if (ep->class == EPD_IP && ep->length == 4) {
+ u_int32_t addr;
+
+ GETLONG(addr, p);
+ slprintf(str, sizeof(str), "IP:%I", htonl(addr));
+ return str;
+ }
+
+ c = ':';
+ c2 = '.';
+ if (ep->class == EPD_MAC && ep->length == 6)
+ c2 = ':';
+ else if (ep->class == EPD_MAGIC && (ep->length % 4) == 0)
+ mask = 3;
+ q = str;
+ if (ep->class <= EPD_PHONENUM)
+ q += slprintf(q, sizeof(str)-1, "%s",
+ endp_class_names[ep->class]);
+ else
+ q += slprintf(q, sizeof(str)-1, "%d", ep->class);
+ c = ':';
+ for (i = 0; i < ep->length && i < MAX_ENDP_LEN; ++i) {
+ if ((i & mask) == 0) {
+ *q++ = c;
+ c = c2;
+ }
+ q += slprintf(q, str + sizeof(str) - q, "%.2x", ep->value[i]);
+ }
+ return str;
+}
+
+static int hexc_val(int c)
+{
+ if (c >= 'a')
+ return c - 'a' + 10;
+ if (c >= 'A')
+ return c - 'A' + 10;
+ return c - '0';
+}
+
+int
+str_to_epdisc(ep, str)
+ struct epdisc *ep;
+ char *str;
+{
+ int i, l;
+ char *p, *endp;
+
+ for (i = EPD_NULL; i <= EPD_PHONENUM; ++i) {
+ int sl = strlen(endp_class_names[i]);
+ if (strncasecmp(str, endp_class_names[i], sl) == 0) {
+ str += sl;
+ break;
+ }
+ }
+ if (i > EPD_PHONENUM) {
+ /* not a class name, try a decimal class number */
+ i = strtol(str, &endp, 10);
+ if (endp == str)
+ return 0; /* can't parse class number */
+ str = endp;
+ }
+ ep->class = i;
+ if (*str == 0) {
+ ep->length = 0;
+ return 1;
+ }
+ if (*str != ':' && *str != '.')
+ return 0;
+ ++str;
+
+ if (i == EPD_IP) {
+ u_int32_t addr;
+ i = parse_dotted_ip(str, &addr);
+ if (i == 0 || str[i] != 0)
+ return 0;
+ set_ip_epdisc(ep, addr);
+ return 1;
+ }
+ if (i == EPD_MAC && get_if_hwaddr(ep->value, str) >= 0) {
+ ep->length = 6;
+ return 1;
+ }
+
+ p = str;
+ for (l = 0; l < MAX_ENDP_LEN; ++l) {
+ if (*str == 0)
+ break;
+ if (p <= str)
+ for (p = str; isxdigit(*p); ++p)
+ ;
+ i = p - str;
+ if (i == 0)
+ return 0;
+ ep->value[l] = hexc_val(*str++);
+ if ((i & 1) == 0)
+ ep->value[l] = (ep->value[l] << 4) + hexc_val(*str++);
+ if (*str == ':' || *str == '.')
+ ++str;
+ }
+ if (*str != 0 || (ep->class == EPD_MAC && l != 6))
+ return 0;
+ ep->length = l;
+ return 1;
+}
+
diff --git a/mdk-stage1/ppp/pppd/options.c b/mdk-stage1/ppp/pppd/options.c
new file mode 100644
index 000000000..e82cbea3e
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/options.c
@@ -0,0 +1,1513 @@
+/*
+ * options.c - handles option processing for PPP.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: options.c 6015 2001-06-11 14:46:02Z gc $"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <string.h>
+#include <pwd.h>
+#ifdef PLUGIN
+#include <dlfcn.h>
+#endif
+#ifdef PPP_FILTER
+#include <pcap.h>
+#include <pcap-int.h> /* XXX: To get struct pcap */
+#endif
+
+#include "pppd.h"
+#include "pathnames.h"
+
+#if defined(ultrix) || defined(NeXT)
+char *strdup __P((char *));
+#endif
+
+static const char rcsid[] = RCSID;
+
+struct option_value {
+ struct option_value *next;
+ const char *source;
+ char value[1];
+};
+
+/*
+ * Option variables and default values.
+ */
+#ifdef PPP_FILTER
+int dflag = 0; /* Tell libpcap we want debugging */
+#endif
+int debug = 0; /* Debug flag */
+int kdebugflag = 0; /* Tell kernel to print debug messages */
+int default_device = 1; /* Using /dev/tty or equivalent */
+char devnam[MAXPATHLEN]; /* Device name */
+bool nodetach = 0; /* Don't detach from controlling tty */
+bool updetach = 0; /* Detach once link is up */
+int maxconnect = 0; /* Maximum connect time */
+char user[MAXNAMELEN]; /* Username for PAP */
+char passwd[MAXSECRETLEN]; /* Password for PAP */
+bool persist = 0; /* Reopen link after it goes down */
+char our_name[MAXNAMELEN]; /* Our name for authentication purposes */
+bool demand = 0; /* do dial-on-demand */
+char *ipparam = NULL; /* Extra parameter for ip up/down scripts */
+int idle_time_limit = 0; /* Disconnect if idle for this many seconds */
+int holdoff = 30; /* # seconds to pause before reconnecting */
+bool holdoff_specified; /* true if a holdoff value has been given */
+int log_to_fd = 1; /* send log messages to this fd too */
+bool log_default = 1; /* log_to_fd is default (stdout) */
+int maxfail = 10; /* max # of unsuccessful connection attempts */
+char linkname[MAXPATHLEN]; /* logical name for link */
+bool tune_kernel; /* may alter kernel settings */
+int connect_delay = 1000; /* wait this many ms after connect script */
+int req_unit = -1; /* requested interface unit */
+bool multilink = 0; /* Enable multilink operation */
+char *bundle_name = NULL; /* bundle name for multilink */
+bool dump_options; /* print out option values */
+bool dryrun; /* print out option values and exit */
+char *domain; /* domain name set by domain option */
+
+extern option_t auth_options[];
+extern struct stat devstat;
+
+#ifdef PPP_FILTER
+struct bpf_program pass_filter;/* Filter program for packets to pass */
+struct bpf_program active_filter; /* Filter program for link-active pkts */
+pcap_t pc; /* Fake struct pcap so we can compile expr */
+#endif
+
+char *current_option; /* the name of the option being parsed */
+int privileged_option; /* set iff the current option came from root */
+char *option_source; /* string saying where the option came from */
+int option_priority = OPRIO_CFGFILE; /* priority of the current options */
+bool devnam_fixed; /* can no longer change device name */
+
+static int logfile_fd = -1; /* fd opened for log file */
+static char logfile_name[MAXPATHLEN]; /* name of log file */
+
+/*
+ * Prototypes
+ */
+static int setdomain __P((char **));
+static int readfile __P((char **));
+static int callfile __P((char **));
+static int showversion __P((char **));
+static int showhelp __P((char **));
+static void usage __P((void));
+static int setlogfile __P((char **));
+#ifdef PLUGIN
+static int loadplugin __P((char **));
+#endif
+
+#ifdef PPP_FILTER
+static int setpassfilter __P((char **));
+static int setactivefilter __P((char **));
+#endif
+
+static option_t *find_option __P((const char *name));
+static int process_option __P((option_t *, char *, char **));
+static int n_arguments __P((option_t *));
+static int number_option __P((char *, u_int32_t *, int));
+
+/*
+ * Structure to store extra lists of options.
+ */
+struct option_list {
+ option_t *options;
+ struct option_list *next;
+};
+
+static struct option_list *extra_options = NULL;
+
+/*
+ * Valid arguments.
+ */
+option_t general_options[] = {
+ { "debug", o_int, &debug,
+ "Increase debugging level", OPT_INC | OPT_NOARG | 1 },
+ { "-d", o_int, &debug,
+ "Increase debugging level",
+ OPT_ALIAS | OPT_INC | OPT_NOARG | 1 },
+
+ { "kdebug", o_int, &kdebugflag,
+ "Set kernel driver debug level", OPT_PRIO },
+
+ { "nodetach", o_bool, &nodetach,
+ "Don't detach from controlling tty", OPT_PRIO | 1 },
+ { "-detach", o_bool, &nodetach,
+ "Don't detach from controlling tty", OPT_ALIAS | OPT_PRIOSUB | 1 },
+ { "updetach", o_bool, &updetach,
+ "Detach from controlling tty once link is up",
+ OPT_PRIOSUB | OPT_A2CLR | 1, &nodetach },
+
+ { "holdoff", o_int, &holdoff,
+ "Set time in seconds before retrying connection", OPT_PRIO },
+
+ { "idle", o_int, &idle_time_limit,
+ "Set time in seconds before disconnecting idle link", OPT_PRIO },
+
+ { "maxconnect", o_int, &maxconnect,
+ "Set connection time limit",
+ OPT_PRIO | OPT_LLIMIT | OPT_NOINCR | OPT_ZEROINF },
+
+ { "domain", o_special, (void *)setdomain,
+ "Add given domain name to hostname",
+ OPT_PRIO | OPT_PRIV | OPT_A2STRVAL, &domain },
+
+ { "file", o_special, (void *)readfile,
+ "Take options from a file", OPT_NOPRINT },
+ { "call", o_special, (void *)callfile,
+ "Take options from a privileged file", OPT_NOPRINT },
+
+ { "persist", o_bool, &persist,
+ "Keep on reopening connection after close", OPT_PRIO | 1 },
+ { "nopersist", o_bool, &persist,
+ "Turn off persist option", OPT_PRIOSUB },
+
+ { "demand", o_bool, &demand,
+ "Dial on demand", OPT_INITONLY | 1, &persist },
+
+ { "--version", o_special_noarg, (void *)showversion,
+ "Show version number" },
+ { "--help", o_special_noarg, (void *)showhelp,
+ "Show brief listing of options" },
+ { "-h", o_special_noarg, (void *)showhelp,
+ "Show brief listing of options", OPT_ALIAS },
+
+ { "logfile", o_special, (void *)setlogfile,
+ "Append log messages to this file",
+ OPT_PRIO | OPT_A2STRVAL | OPT_STATIC, &logfile_name },
+ { "logfd", o_int, &log_to_fd,
+ "Send log messages to this file descriptor",
+ OPT_PRIOSUB | OPT_A2CLR, &log_default },
+ { "nolog", o_int, &log_to_fd,
+ "Don't send log messages to any file",
+ OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
+ { "nologfd", o_int, &log_to_fd,
+ "Don't send log messages to any file descriptor",
+ OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
+
+ { "linkname", o_string, linkname,
+ "Set logical name for link",
+ OPT_PRIO | OPT_PRIV | OPT_STATIC, NULL, MAXPATHLEN },
+
+ { "maxfail", o_int, &maxfail,
+ "Maximum number of unsuccessful connection attempts to allow",
+ OPT_PRIO },
+
+ { "ktune", o_bool, &tune_kernel,
+ "Alter kernel settings as necessary", OPT_PRIO | 1 },
+ { "noktune", o_bool, &tune_kernel,
+ "Don't alter kernel settings", OPT_PRIOSUB },
+
+ { "connect-delay", o_int, &connect_delay,
+ "Maximum time (in ms) to wait after connect script finishes",
+ OPT_PRIO },
+
+ { "unit", o_int, &req_unit,
+ "PPP interface unit number to use if possible",
+ OPT_PRIO | OPT_LLIMIT, 0, 0 },
+
+ { "dump", o_bool, &dump_options,
+ "Print out option values after parsing all options", 1 },
+ { "dryrun", o_bool, &dryrun,
+ "Stop after parsing, printing, and checking options", 1 },
+
+#ifdef HAVE_MULTILINK
+ { "multilink", o_bool, &multilink,
+ "Enable multilink operation", OPT_PRIO | 1 },
+ { "mp", o_bool, &multilink,
+ "Enable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 1 },
+ { "nomultilink", o_bool, &multilink,
+ "Disable multilink operation", OPT_PRIOSUB | 0 },
+ { "nomp", o_bool, &multilink,
+ "Disable multilink operation", OPT_PRIOSUB | OPT_ALIAS | 0 },
+
+ { "bundle", o_string, &bundle_name,
+ "Bundle name for multilink", OPT_PRIO },
+#endif /* HAVE_MULTILINK */
+
+#ifdef PLUGIN
+ { "plugin", o_special, (void *)loadplugin,
+ "Load a plug-in module into pppd", OPT_PRIV | OPT_A2LIST },
+#endif
+
+#ifdef PPP_FILTER
+ { "pdebug", o_int, &dflag,
+ "libpcap debugging", OPT_PRIO },
+
+ { "pass-filter", 1, setpassfilter,
+ "set filter for packets to pass", OPT_PRIO },
+
+ { "active-filter", 1, setactivefilter,
+ "set filter for active pkts", OPT_PRIO },
+#endif
+
+ { NULL }
+};
+
+#ifndef IMPLEMENTATION
+#define IMPLEMENTATION ""
+#endif
+
+static char *usage_string = "\
+pppd version %s\n\
+Usage: %s [ options ], where options are:\n\
+ <device> Communicate over the named device\n\
+ <speed> Set the baud rate to <speed>\n\
+ <loc>:<rem> Set the local and/or remote interface IP\n\
+ addresses. Either one may be omitted.\n\
+ asyncmap <n> Set the desired async map to hex <n>\n\
+ auth Require authentication from peer\n\
+ connect <p> Invoke shell command <p> to set up the serial line\n\
+ crtscts Use hardware RTS/CTS flow control\n\
+ defaultroute Add default route through interface\n\
+ file <f> Take options from file <f>\n\
+ modem Use modem control lines\n\
+ mru <n> Set MRU value to <n> for negotiation\n\
+See pppd(8) for more options.\n\
+";
+
+/*
+ * parse_args - parse a string of arguments from the command line.
+ */
+int
+parse_args(argc, argv)
+ int argc;
+ char **argv;
+{
+ char *arg;
+ option_t *opt;
+ int n;
+
+ privileged_option = privileged;
+ option_source = "command line";
+ option_priority = OPRIO_CMDLINE;
+ while (argc > 0) {
+ arg = *argv++;
+ --argc;
+ opt = find_option(arg);
+ if (opt == NULL) {
+ option_error("unrecognized option '%s'", arg);
+ usage();
+ return 0;
+ }
+ n = n_arguments(opt);
+ if (argc < n) {
+ option_error("too few parameters for option %s", arg);
+ return 0;
+ }
+ if (!process_option(opt, arg, argv))
+ return 0;
+ argc -= n;
+ argv += n;
+ }
+ return 1;
+}
+
+/*
+ * options_from_file - Read a string of options from a file,
+ * and interpret them.
+ */
+int
+options_from_file(filename, must_exist, check_prot, priv)
+ char *filename;
+ int must_exist;
+ int check_prot;
+ int priv;
+{
+ FILE *f;
+ int i, newline, ret, err;
+ option_t *opt;
+ int oldpriv, n;
+ char *oldsource;
+ char *argv[MAXARGS];
+ char args[MAXARGS][MAXWORDLEN];
+ char cmd[MAXWORDLEN];
+
+ if (check_prot)
+ seteuid(getuid());
+ f = fopen(filename, "r");
+ err = errno;
+ if (check_prot)
+ seteuid(0);
+ if (f == NULL) {
+ errno = err;
+ if (!must_exist) {
+ if (err != ENOENT && err != ENOTDIR)
+ warn("Warning: can't open options file %s: %m", filename);
+ return 1;
+ }
+ option_error("Can't open options file %s: %m", filename);
+ return 0;
+ }
+
+ oldpriv = privileged_option;
+ privileged_option = priv;
+ oldsource = option_source;
+ option_source = strdup(filename);
+ if (option_source == NULL)
+ option_source = "file";
+ ret = 0;
+ while (getword(f, cmd, &newline, filename)) {
+ opt = find_option(cmd);
+ if (opt == NULL) {
+ option_error("In file %s: unrecognized option '%s'",
+ filename, cmd);
+ goto err;
+ }
+ n = n_arguments(opt);
+ for (i = 0; i < n; ++i) {
+ if (!getword(f, args[i], &newline, filename)) {
+ option_error(
+ "In file %s: too few parameters for option '%s'",
+ filename, cmd);
+ goto err;
+ }
+ argv[i] = args[i];
+ }
+ if (!process_option(opt, cmd, argv))
+ goto err;
+ }
+ ret = 1;
+
+err:
+ fclose(f);
+ privileged_option = oldpriv;
+ option_source = oldsource;
+ return ret;
+}
+
+/*
+ * options_from_user - See if the use has a ~/.ppprc file,
+ * and if so, interpret options from it.
+ */
+int
+options_from_user()
+{
+ char *user, *path, *file;
+ int ret;
+ struct passwd *pw;
+ size_t pl;
+
+ pw = getpwuid(getuid());
+ if (pw == NULL || (user = pw->pw_dir) == NULL || user[0] == 0)
+ return 1;
+ file = _PATH_USEROPT;
+ pl = strlen(user) + strlen(file) + 2;
+ path = malloc(pl);
+ if (path == NULL)
+ novm("init file name");
+ slprintf(path, pl, "%s/%s", user, file);
+ option_priority = OPRIO_CFGFILE;
+ ret = options_from_file(path, 0, 1, privileged);
+ free(path);
+ return ret;
+}
+
+/*
+ * options_for_tty - See if an options file exists for the serial
+ * device, and if so, interpret options from it.
+ * We only allow the per-tty options file to override anything from
+ * the command line if it is something that the user can't override
+ * once it has been set by root; this is done by giving configuration
+ * files a lower priority than the command line.
+ */
+int
+options_for_tty()
+{
+ char *dev, *path, *p;
+ int ret;
+ size_t pl;
+
+ dev = devnam;
+ if (strncmp(dev, "/dev/", 5) == 0)
+ dev += 5;
+ if (dev[0] == 0 || strcmp(dev, "tty") == 0)
+ return 1; /* don't look for /etc/ppp/options.tty */
+ pl = strlen(_PATH_TTYOPT) + strlen(dev) + 1;
+ path = malloc(pl);
+ if (path == NULL)
+ novm("tty init file name");
+ slprintf(path, pl, "%s%s", _PATH_TTYOPT, dev);
+ /* Turn slashes into dots, for Solaris case (e.g. /dev/term/a) */
+ for (p = path + strlen(_PATH_TTYOPT); *p != 0; ++p)
+ if (*p == '/')
+ *p = '.';
+ option_priority = OPRIO_CFGFILE;
+ ret = options_from_file(path, 0, 0, 1);
+ free(path);
+ return ret;
+}
+
+/*
+ * options_from_list - process a string of options in a wordlist.
+ */
+int
+options_from_list(w, priv)
+ struct wordlist *w;
+ int priv;
+{
+ char *argv[MAXARGS];
+ option_t *opt;
+ int i, n, ret = 0;
+ struct wordlist *w0;
+
+ privileged_option = priv;
+ option_source = "secrets file";
+ option_priority = OPRIO_SECFILE;
+
+ while (w != NULL) {
+ opt = find_option(w->word);
+ if (opt == NULL) {
+ option_error("In secrets file: unrecognized option '%s'",
+ w->word);
+ goto err;
+ }
+ n = n_arguments(opt);
+ w0 = w;
+ for (i = 0; i < n; ++i) {
+ w = w->next;
+ if (w == NULL) {
+ option_error(
+ "In secrets file: too few parameters for option '%s'",
+ w0->word);
+ goto err;
+ }
+ argv[i] = w->word;
+ }
+ if (!process_option(opt, w0->word, argv))
+ goto err;
+ w = w->next;
+ }
+ ret = 1;
+
+err:
+ return ret;
+}
+
+/*
+ * match_option - see if this option matches an option_t structure.
+ */
+static int
+match_option(name, opt, dowild)
+ char *name;
+ option_t *opt;
+ int dowild;
+{
+ int (*match) __P((char *, char **, int));
+
+ if (dowild != (opt->type == o_wild))
+ return 0;
+ if (!dowild)
+ return strcmp(name, opt->name) == 0;
+ match = (int (*) __P((char *, char **, int))) opt->addr;
+ return (*match)(name, NULL, 0);
+}
+
+/*
+ * find_option - scan the option lists for the various protocols
+ * looking for an entry with the given name.
+ * This could be optimized by using a hash table.
+ */
+static option_t *
+find_option(name)
+ const char *name;
+{
+ option_t *opt;
+ struct option_list *list;
+ int i, dowild;
+
+ for (dowild = 0; dowild <= 1; ++dowild) {
+ for (opt = general_options; opt->name != NULL; ++opt)
+ if (match_option(name, opt, dowild))
+ return opt;
+ for (opt = auth_options; opt->name != NULL; ++opt)
+ if (match_option(name, opt, dowild))
+ return opt;
+ for (list = extra_options; list != NULL; list = list->next)
+ for (opt = list->options; opt->name != NULL; ++opt)
+ if (match_option(name, opt, dowild))
+ return opt;
+ for (opt = the_channel->options; opt->name != NULL; ++opt)
+ if (match_option(name, opt, dowild))
+ return opt;
+ for (i = 0; protocols[i] != NULL; ++i)
+ if ((opt = protocols[i]->options) != NULL)
+ for (; opt->name != NULL; ++opt)
+ if (match_option(name, opt, dowild))
+ return opt;
+ }
+ return NULL;
+}
+
+/*
+ * process_option - process one new-style option.
+ */
+static int
+process_option(opt, cmd, argv)
+ option_t *opt;
+ char *cmd;
+ char **argv;
+{
+ u_int32_t v;
+ int iv, a;
+ char *sv;
+ int (*parser) __P((char **));
+ int (*wildp) __P((char *, char **, int));
+ char *optopt = (opt->type == o_wild)? "": " option";
+ int prio = option_priority;
+ option_t *mainopt = opt;
+
+ if ((opt->flags & OPT_PRIVFIX) && privileged_option)
+ prio += OPRIO_ROOT;
+ while (mainopt->flags & OPT_PRIOSUB)
+ --mainopt;
+ if (mainopt->flags & OPT_PRIO) {
+ if (prio < mainopt->priority) {
+ /* new value doesn't override old */
+ if (prio == OPRIO_CMDLINE && mainopt->priority > OPRIO_ROOT) {
+ option_error("%s%s set in %s cannot be overridden\n",
+ opt->name, optopt, mainopt->source);
+ return 0;
+ }
+ return 1;
+ }
+ if (prio > OPRIO_ROOT && mainopt->priority == OPRIO_CMDLINE)
+ warn("%s%s from %s overrides command line",
+ opt->name, optopt, option_source);
+ }
+
+ if ((opt->flags & OPT_INITONLY) && phase != PHASE_INITIALIZE) {
+ option_error("%s%s cannot be changed after initialization",
+ opt->name, optopt);
+ return 0;
+ }
+ if ((opt->flags & OPT_PRIV) && !privileged_option) {
+ option_error("using the %s%s requires root privilege",
+ opt->name, optopt);
+ return 0;
+ }
+ if ((opt->flags & OPT_ENABLE) && *(bool *)(opt->addr2) == 0) {
+ option_error("%s%s is disabled", opt->name, optopt);
+ return 0;
+ }
+ if ((opt->flags & OPT_DEVEQUIV) && devnam_fixed) {
+ option_error("the %s%s may not be changed in %s",
+ opt->name, optopt, option_source);
+ return 0;
+ }
+
+ switch (opt->type) {
+ case o_bool:
+ v = opt->flags & OPT_VALUE;
+ *(bool *)(opt->addr) = v;
+ if (opt->addr2 && (opt->flags & OPT_A2COPY))
+ *(bool *)(opt->addr2) = v;
+ break;
+
+ case o_int:
+ iv = 0;
+ if ((opt->flags & OPT_NOARG) == 0) {
+ if (!int_option(*argv, &iv))
+ return 0;
+ if ((((opt->flags & OPT_LLIMIT) && iv < opt->lower_limit)
+ || ((opt->flags & OPT_ULIMIT) && iv > opt->upper_limit))
+ && !((opt->flags & OPT_ZEROOK && iv == 0))) {
+ char *zok = (opt->flags & OPT_ZEROOK)? " zero or": "";
+ switch (opt->flags & OPT_LIMITS) {
+ case OPT_LLIMIT:
+ option_error("%s value must be%s >= %d",
+ opt->name, zok, opt->lower_limit);
+ break;
+ case OPT_ULIMIT:
+ option_error("%s value must be%s <= %d",
+ opt->name, zok, opt->upper_limit);
+ break;
+ case OPT_LIMITS:
+ option_error("%s value must be%s between %d and %d",
+ opt->name, opt->lower_limit, opt->upper_limit);
+ break;
+ }
+ return 0;
+ }
+ }
+ a = opt->flags & OPT_VALUE;
+ if (a >= 128)
+ a -= 256; /* sign extend */
+ iv += a;
+ if (opt->flags & OPT_INC)
+ iv += *(int *)(opt->addr);
+ if ((opt->flags & OPT_NOINCR) && !privileged_option) {
+ int oldv = *(int *)(opt->addr);
+ if ((opt->flags & OPT_ZEROINF) ?
+ (oldv != 0 && (iv == 0 || iv > oldv)) : (iv > oldv)) {
+ option_error("%s value cannot be increased", opt->name);
+ return 0;
+ }
+ }
+ *(int *)(opt->addr) = iv;
+ if (opt->addr2 && (opt->flags & OPT_A2COPY))
+ *(int *)(opt->addr2) = iv;
+ break;
+
+ case o_uint32:
+ if (opt->flags & OPT_NOARG) {
+ v = opt->flags & OPT_VALUE;
+ if (v & 0x80)
+ v |= 0xffffff00U;
+ } else if (!number_option(*argv, &v, 16))
+ return 0;
+ if (opt->flags & OPT_OR)
+ v |= *(u_int32_t *)(opt->addr);
+ *(u_int32_t *)(opt->addr) = v;
+ if (opt->addr2 && (opt->flags & OPT_A2COPY))
+ *(u_int32_t *)(opt->addr2) = v;
+ break;
+
+ case o_string:
+ if (opt->flags & OPT_STATIC) {
+ strlcpy((char *)(opt->addr), *argv, opt->upper_limit);
+ } else {
+ sv = strdup(*argv);
+ if (sv == NULL)
+ novm("option argument");
+ *(char **)(opt->addr) = sv;
+ }
+ break;
+
+ case o_special_noarg:
+ case o_special:
+ parser = (int (*) __P((char **))) opt->addr;
+ if (!(*parser)(argv))
+ return 0;
+ if (opt->flags & OPT_A2LIST) {
+ struct option_value *ovp, **pp;
+
+ ovp = malloc(sizeof(*ovp) + strlen(*argv));
+ if (ovp != 0) {
+ strcpy(ovp->value, *argv);
+ ovp->source = option_source;
+ ovp->next = NULL;
+ pp = (struct option_value **) &opt->addr2;
+ while (*pp != 0)
+ pp = &(*pp)->next;
+ *pp = ovp;
+ }
+ }
+ break;
+
+ case o_wild:
+ wildp = (int (*) __P((char *, char **, int))) opt->addr;
+ if (!(*wildp)(cmd, argv, 1))
+ return 0;
+ break;
+ }
+
+ if (opt->addr2 && (opt->flags & (OPT_A2COPY|OPT_ENABLE
+ |OPT_A2PRINTER|OPT_A2STRVAL|OPT_A2LIST)) == 0)
+ *(bool *)(opt->addr2) = !(opt->flags & OPT_A2CLR);
+
+ mainopt->source = option_source;
+ mainopt->priority = prio;
+ mainopt->winner = opt - mainopt;
+
+ return 1;
+}
+
+/*
+ * override_value - if the option priorities would permit us to
+ * override the value of option, return 1 and update the priority
+ * and source of the option value. Otherwise returns 0.
+ */
+int
+override_value(option, priority, source)
+ const char *option;
+ int priority;
+ const char *source;
+{
+ option_t *opt;
+
+ opt = find_option(option);
+ if (opt == NULL)
+ return 0;
+ while (opt->flags & OPT_PRIOSUB)
+ --opt;
+ if ((opt->flags & OPT_PRIO) && priority < opt->priority)
+ return 0;
+ opt->priority = priority;
+ opt->source = source;
+ opt->winner = -1;
+ return 1;
+}
+
+/*
+ * n_arguments - tell how many arguments an option takes
+ */
+static int
+n_arguments(opt)
+ option_t *opt;
+{
+ return (opt->type == o_bool || opt->type == o_special_noarg
+ || (opt->flags & OPT_NOARG))? 0: 1;
+}
+
+/*
+ * add_options - add a list of options to the set we grok.
+ */
+void
+add_options(opt)
+ option_t *opt;
+{
+ struct option_list *list;
+
+ list = malloc(sizeof(*list));
+ if (list == 0)
+ novm("option list entry");
+ list->options = opt;
+ list->next = extra_options;
+ extra_options = list;
+}
+
+/*
+ * check_options - check that options are valid and consistent.
+ */
+void
+check_options()
+{
+ if (logfile_fd >= 0 && logfile_fd != log_to_fd)
+ close(logfile_fd);
+}
+
+/*
+ * print_option - print out an option and its value
+ */
+static void
+print_option(opt, mainopt, printer, arg)
+ option_t *opt, *mainopt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int i, v;
+ char *p;
+
+ if (opt->flags & OPT_NOPRINT)
+ return;
+ switch (opt->type) {
+ case o_bool:
+ v = opt->flags & OPT_VALUE;
+ if (*(bool *)opt->addr != v)
+ /* this can happen legitimately, e.g. lock
+ option turned off for default device */
+ break;
+ printer(arg, "%s", opt->name);
+ break;
+ case o_int:
+ v = opt->flags & OPT_VALUE;
+ if (v >= 128)
+ v -= 256;
+ i = *(int *)opt->addr;
+ if (opt->flags & OPT_NOARG) {
+ printer(arg, "%s", opt->name);
+ if (i != v) {
+ if (opt->flags & OPT_INC) {
+ for (; i > v; i -= v)
+ printer(arg, " %s", opt->name);
+ } else
+ printer(arg, " # oops: %d not %d\n",
+ i, v);
+ }
+ } else {
+ printer(arg, "%s %d", opt->name, i);
+ }
+ break;
+ case o_uint32:
+ printer(arg, "%s", opt->name);
+ if ((opt->flags & OPT_NOARG) == 0)
+ printer(arg, " %x", *(u_int32_t *)opt->addr);
+ break;
+
+ case o_string:
+ if (opt->flags & OPT_HIDE) {
+ p = "??????";
+ } else {
+ p = (char *) opt->addr;
+ if ((opt->flags & OPT_STATIC) == 0)
+ p = *(char **)p;
+ }
+ printer(arg, "%s %q", opt->name, p);
+ break;
+
+ case o_special:
+ case o_special_noarg:
+ case o_wild:
+ if (opt->type != o_wild) {
+ printer(arg, "%s", opt->name);
+ if (n_arguments(opt) == 0)
+ break;
+ printer(arg, " ");
+ }
+ if (opt->flags & OPT_A2PRINTER) {
+ void (*oprt) __P((option_t *,
+ void ((*)__P((void *, char *, ...))),
+ void *));
+ oprt = opt->addr2;
+ (*oprt)(opt, printer, arg);
+ } else if (opt->flags & OPT_A2STRVAL) {
+ p = (char *) opt->addr2;
+ if ((opt->flags & OPT_STATIC) == 0)
+ p = *(char **)p;
+ printer("%q", p);
+ } else if (opt->flags & OPT_A2LIST) {
+ struct option_value *ovp;
+
+ ovp = (struct option_value *) opt->addr2;
+ for (;;) {
+ printer(arg, "%q", ovp->value);
+ if ((ovp = ovp->next) == NULL)
+ break;
+ printer(arg, "\t\t# (from %s)\n%s ",
+ ovp->source, opt->name);
+ }
+ } else {
+ printer(arg, "xxx # [don't know how to print value]");
+ }
+ break;
+
+ default:
+ printer(arg, "# %s value (type %d)", opt->name, opt->type);
+ break;
+ }
+ printer(arg, "\t\t# (from %s)\n", mainopt->source);
+}
+
+/*
+ * print_option_list - print out options in effect from an
+ * array of options.
+ */
+static void
+print_option_list(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ while (opt->name != NULL) {
+ if (opt->priority != OPRIO_DEFAULT
+ && opt->winner != (short int) -1)
+ print_option(opt + opt->winner, opt, printer, arg);
+ do {
+ ++opt;
+ } while (opt->flags & OPT_PRIOSUB);
+ }
+}
+
+/*
+ * print_options - print out what options are in effect.
+ */
+void
+print_options(printer, arg)
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ struct option_list *list;
+ int i;
+
+ printer(arg, "pppd options in effect:\n");
+ print_option_list(general_options, printer, arg);
+ print_option_list(auth_options, printer, arg);
+ for (list = extra_options; list != NULL; list = list->next)
+ print_option_list(list->options, printer, arg);
+ print_option_list(the_channel->options, printer, arg);
+ for (i = 0; protocols[i] != NULL; ++i)
+ print_option_list(protocols[i]->options, printer, arg);
+}
+
+/*
+ * usage - print out a message telling how to use the program.
+ */
+static void
+usage()
+{
+ if (phase == PHASE_INITIALIZE)
+ fprintf(stderr, usage_string, VERSION, progname);
+}
+
+/*
+ * showhelp - print out usage message and exit.
+ */
+static int
+showhelp(argv)
+ char **argv;
+{
+ if (phase == PHASE_INITIALIZE) {
+ usage();
+ exit(0);
+ }
+ return 0;
+}
+
+/*
+ * showversion - print out the version number and exit.
+ */
+static int
+showversion(argv)
+ char **argv;
+{
+ if (phase == PHASE_INITIALIZE) {
+ fprintf(stderr, "pppd version %s\n", VERSION);
+ exit(0);
+ }
+ return 0;
+}
+
+/*
+ * option_error - print a message about an error in an option.
+ * The message is logged, and also sent to
+ * stderr if phase == PHASE_INITIALIZE.
+ */
+void
+option_error __V((char *fmt, ...))
+{
+ va_list args;
+ char buf[1024];
+
+#if defined(__STDC__)
+ va_start(args, fmt);
+#else
+ char *fmt;
+ va_start(args);
+ fmt = va_arg(args, char *);
+#endif
+ vslprintf(buf, sizeof(buf), fmt, args);
+ va_end(args);
+ if (phase == PHASE_INITIALIZE)
+ fprintf(stderr, "%s: %s\n", progname, buf);
+ syslog(LOG_ERR, "%s", buf);
+}
+
+#if 0
+/*
+ * readable - check if a file is readable by the real user.
+ */
+int
+readable(fd)
+ int fd;
+{
+ uid_t uid;
+ int i;
+ struct stat sbuf;
+
+ uid = getuid();
+ if (uid == 0)
+ return 1;
+ if (fstat(fd, &sbuf) != 0)
+ return 0;
+ if (sbuf.st_uid == uid)
+ return sbuf.st_mode & S_IRUSR;
+ if (sbuf.st_gid == getgid())
+ return sbuf.st_mode & S_IRGRP;
+ for (i = 0; i < ngroups; ++i)
+ if (sbuf.st_gid == groups[i])
+ return sbuf.st_mode & S_IRGRP;
+ return sbuf.st_mode & S_IROTH;
+}
+#endif
+
+/*
+ * Read a word from a file.
+ * Words are delimited by white-space or by quotes (" or ').
+ * Quotes, white-space and \ may be escaped with \.
+ * \<newline> is ignored.
+ */
+int
+getword(f, word, newlinep, filename)
+ FILE *f;
+ char *word;
+ int *newlinep;
+ char *filename;
+{
+ int c, len, escape;
+ int quoted, comment;
+ int value, digit, got, n;
+
+#define isoctal(c) ((c) >= '0' && (c) < '8')
+
+ *newlinep = 0;
+ len = 0;
+ escape = 0;
+ comment = 0;
+
+ /*
+ * First skip white-space and comments.
+ */
+ for (;;) {
+ c = getc(f);
+ if (c == EOF)
+ break;
+
+ /*
+ * A newline means the end of a comment; backslash-newline
+ * is ignored. Note that we cannot have escape && comment.
+ */
+ if (c == '\n') {
+ if (!escape) {
+ *newlinep = 1;
+ comment = 0;
+ } else
+ escape = 0;
+ continue;
+ }
+
+ /*
+ * Ignore characters other than newline in a comment.
+ */
+ if (comment)
+ continue;
+
+ /*
+ * If this character is escaped, we have a word start.
+ */
+ if (escape)
+ break;
+
+ /*
+ * If this is the escape character, look at the next character.
+ */
+ if (c == '\\') {
+ escape = 1;
+ continue;
+ }
+
+ /*
+ * If this is the start of a comment, ignore the rest of the line.
+ */
+ if (c == '#') {
+ comment = 1;
+ continue;
+ }
+
+ /*
+ * A non-whitespace character is the start of a word.
+ */
+ if (!isspace(c))
+ break;
+ }
+
+ /*
+ * Save the delimiter for quoted strings.
+ */
+ if (!escape && (c == '"' || c == '\'')) {
+ quoted = c;
+ c = getc(f);
+ } else
+ quoted = 0;
+
+ /*
+ * Process characters until the end of the word.
+ */
+ while (c != EOF) {
+ if (escape) {
+ /*
+ * This character is escaped: backslash-newline is ignored,
+ * various other characters indicate particular values
+ * as for C backslash-escapes.
+ */
+ escape = 0;
+ if (c == '\n') {
+ c = getc(f);
+ continue;
+ }
+
+ got = 0;
+ switch (c) {
+ case 'a':
+ value = '\a';
+ break;
+ case 'b':
+ value = '\b';
+ break;
+ case 'f':
+ value = '\f';
+ break;
+ case 'n':
+ value = '\n';
+ break;
+ case 'r':
+ value = '\r';
+ break;
+ case 's':
+ value = ' ';
+ break;
+ case 't':
+ value = '\t';
+ break;
+
+ default:
+ if (isoctal(c)) {
+ /*
+ * \ddd octal sequence
+ */
+ value = 0;
+ for (n = 0; n < 3 && isoctal(c); ++n) {
+ value = (value << 3) + (c & 07);
+ c = getc(f);
+ }
+ got = 1;
+ break;
+ }
+
+ if (c == 'x') {
+ /*
+ * \x<hex_string> sequence
+ */
+ value = 0;
+ c = getc(f);
+ for (n = 0; n < 2 && isxdigit(c); ++n) {
+ digit = toupper(c) - '0';
+ if (digit > 10)
+ digit += '0' + 10 - 'A';
+ value = (value << 4) + digit;
+ c = getc (f);
+ }
+ got = 1;
+ break;
+ }
+
+ /*
+ * Otherwise the character stands for itself.
+ */
+ value = c;
+ break;
+ }
+
+ /*
+ * Store the resulting character for the escape sequence.
+ */
+ if (len < MAXWORDLEN-1)
+ word[len] = value;
+ ++len;
+
+ if (!got)
+ c = getc(f);
+ continue;
+
+ }
+
+ /*
+ * Not escaped: see if we've reached the end of the word.
+ */
+ if (quoted) {
+ if (c == quoted)
+ break;
+ } else {
+ if (isspace(c) || c == '#') {
+ ungetc (c, f);
+ break;
+ }
+ }
+
+ /*
+ * Backslash starts an escape sequence.
+ */
+ if (c == '\\') {
+ escape = 1;
+ c = getc(f);
+ continue;
+ }
+
+ /*
+ * An ordinary character: store it in the word and get another.
+ */
+ if (len < MAXWORDLEN-1)
+ word[len] = c;
+ ++len;
+
+ c = getc(f);
+ }
+
+ /*
+ * End of the word: check for errors.
+ */
+ if (c == EOF) {
+ if (ferror(f)) {
+ if (errno == 0)
+ errno = EIO;
+ option_error("Error reading %s: %m", filename);
+ die(1);
+ }
+ /*
+ * If len is zero, then we didn't find a word before the
+ * end of the file.
+ */
+ if (len == 0)
+ return 0;
+ }
+
+ /*
+ * Warn if the word was too long, and append a terminating null.
+ */
+ if (len >= MAXWORDLEN) {
+ option_error("warning: word in file %s too long (%.20s...)",
+ filename, word);
+ len = MAXWORDLEN - 1;
+ }
+ word[len] = 0;
+
+ return 1;
+
+#undef isoctal
+
+}
+
+/*
+ * number_option - parse an unsigned numeric parameter for an option.
+ */
+static int
+number_option(str, valp, base)
+ char *str;
+ u_int32_t *valp;
+ int base;
+{
+ char *ptr;
+
+ *valp = strtoul(str, &ptr, base);
+ if (ptr == str) {
+ option_error("invalid numeric parameter '%s' for %s option",
+ str, current_option);
+ return 0;
+ }
+ return 1;
+}
+
+
+/*
+ * int_option - like number_option, but valp is int *,
+ * the base is assumed to be 0, and *valp is not changed
+ * if there is an error.
+ */
+int
+int_option(str, valp)
+ char *str;
+ int *valp;
+{
+ u_int32_t v;
+
+ if (!number_option(str, &v, 0))
+ return 0;
+ *valp = (int) v;
+ return 1;
+}
+
+
+/*
+ * The following procedures parse options.
+ */
+
+/*
+ * readfile - take commands from a file.
+ */
+static int
+readfile(argv)
+ char **argv;
+{
+ return options_from_file(*argv, 1, 1, privileged_option);
+}
+
+/*
+ * callfile - take commands from /etc/ppp/peers/<name>.
+ * Name may not contain /../, start with / or ../, or end in /..
+ */
+static int
+callfile(argv)
+ char **argv;
+{
+ char *fname, *arg, *p;
+ int l, ok;
+
+ arg = *argv;
+ ok = 1;
+ if (arg[0] == '/' || arg[0] == 0)
+ ok = 0;
+ else {
+ for (p = arg; *p != 0; ) {
+ if (p[0] == '.' && p[1] == '.' && (p[2] == '/' || p[2] == 0)) {
+ ok = 0;
+ break;
+ }
+ while (*p != '/' && *p != 0)
+ ++p;
+ if (*p == '/')
+ ++p;
+ }
+ }
+ if (!ok) {
+ option_error("call option value may not contain .. or start with /");
+ return 0;
+ }
+
+ l = strlen(arg) + strlen(_PATH_PEERFILES) + 1;
+ if ((fname = (char *) malloc(l)) == NULL)
+ novm("call file name");
+ slprintf(fname, l, "%s%s", _PATH_PEERFILES, arg);
+
+ ok = options_from_file(fname, 1, 1, 1);
+
+ free(fname);
+ return ok;
+}
+
+#ifdef PPP_FILTER
+/*
+ * setpassfilter - Set the pass filter for packets
+ */
+static int
+setpassfilter(argv)
+ char **argv;
+{
+ pc.linktype = DLT_PPP;
+ pc.snapshot = PPP_HDRLEN;
+
+ if (pcap_compile(&pc, &pass_filter, *argv, 1, netmask) == 0)
+ return 1;
+ option_error("error in pass-filter expression: %s\n", pcap_geterr(&pc));
+ return 0;
+}
+
+/*
+ * setactivefilter - Set the active filter for packets
+ */
+static int
+setactivefilter(argv)
+ char **argv;
+{
+ pc.linktype = DLT_PPP;
+ pc.snapshot = PPP_HDRLEN;
+
+ if (pcap_compile(&pc, &active_filter, *argv, 1, netmask) == 0)
+ return 1;
+ option_error("error in active-filter expression: %s\n", pcap_geterr(&pc));
+ return 0;
+}
+#endif
+
+/*
+ * setdomain - Set domain name to append to hostname
+ */
+static int
+setdomain(argv)
+ char **argv;
+{
+ gethostname(hostname, MAXNAMELEN);
+ if (**argv != 0) {
+ if (**argv != '.')
+ strncat(hostname, ".", MAXNAMELEN - strlen(hostname));
+ domain = hostname + strlen(hostname);
+ strncat(hostname, *argv, MAXNAMELEN - strlen(hostname));
+ }
+ hostname[MAXNAMELEN-1] = 0;
+ return (1);
+}
+
+
+static int
+setlogfile(argv)
+ char **argv;
+{
+ int fd, err;
+
+ if (!privileged_option)
+ seteuid(getuid());
+ fd = open(*argv, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0644);
+ if (fd < 0 && errno == EEXIST)
+ fd = open(*argv, O_WRONLY | O_APPEND);
+ err = errno;
+ if (!privileged_option)
+ seteuid(0);
+ if (fd < 0) {
+ errno = err;
+ option_error("Can't open log file %s: %m", *argv);
+ return 0;
+ }
+ strlcpy(logfile_name, *argv, sizeof(logfile_name));
+ if (logfile_fd >= 0)
+ close(logfile_fd);
+ logfile_fd = fd;
+ log_to_fd = fd;
+ log_default = 0;
+ return 1;
+}
+
+#ifdef PLUGIN
+static int
+loadplugin(argv)
+ char **argv;
+{
+ char *arg = *argv;
+ void *handle;
+ const char *err;
+ void (*init) __P((void));
+ char *path = arg;
+ const char *vers;
+
+ if (strchr(arg, '/') == 0) {
+ const char *base = _PATH_PLUGIN;
+ int l = strlen(base) + strlen(arg) + 2;
+ path = malloc(l);
+ if (path == 0)
+ novm("plugin file path");
+ strlcpy(path, base, l);
+ strlcat(path, "/", l);
+ strlcat(path, arg, l);
+ }
+ handle = dlopen(path, RTLD_GLOBAL | RTLD_NOW);
+ if (handle == 0) {
+ err = dlerror();
+ if (err != 0)
+ option_error("%s", err);
+ option_error("Couldn't load plugin %s", arg);
+ goto err;
+ }
+ init = (void (*)(void))dlsym(handle, "plugin_init");
+ if (init == 0) {
+ option_error("%s has no initialization entry point", arg);
+ goto errclose;
+ }
+ vers = (const char *) dlsym(handle, "pppd_version");
+ if (vers == 0) {
+ warn("Warning: plugin %s has no version information", arg);
+ } else if (strcmp(vers, VERSION) != 0) {
+ option_error("Plugin %s is for pppd version %s, this is %s",
+ vers, VERSION);
+ goto errclose;
+ }
+ info("Plugin %s loaded.", arg);
+ (*init)();
+ return 1;
+
+ errclose:
+ dlclose(handle);
+ err:
+ if (path != arg)
+ free(path);
+ return 0;
+}
+#endif /* PLUGIN */
diff --git a/mdk-stage1/ppp/pppd/patchlevel.h b/mdk-stage1/ppp/pppd/patchlevel.h
new file mode 100644
index 000000000..47f2e9716
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/patchlevel.h
@@ -0,0 +1,4 @@
+/* $Id: patchlevel.h 6001 2001-06-11 11:44:34Z gc $ */
+
+#define VERSION "2.4.1"
+#define DATE "25 March 2001"
diff --git a/mdk-stage1/ppp/pppd/pathnames.h b/mdk-stage1/ppp/pppd/pathnames.h
new file mode 100644
index 000000000..340c6967a
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/pathnames.h
@@ -0,0 +1,25 @@
+/*
+ * define path names
+ *
+ * $Id: pathnames.h 6015 2001-06-11 14:46:02Z gc $
+ */
+
+#define _PATH_VARRUN "/var/run/"
+#define _PATH_DEVNULL "/dev/null"
+#define _ROOT_PATH
+
+#define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets"
+#define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets"
+#define _PATH_SYSOPTIONS _ROOT_PATH "/etc/ppp/options"
+#define _PATH_IPUP _ROOT_PATH "/etc/ppp/ip-up"
+#define _PATH_IPDOWN _ROOT_PATH "/etc/ppp/ip-down"
+#define _PATH_AUTHUP _ROOT_PATH "/etc/ppp/auth-up"
+#define _PATH_AUTHDOWN _ROOT_PATH "/etc/ppp/auth-down"
+#define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
+#define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
+#define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
+#define _PATH_RESOLV _ROOT_PATH "/etc/resolv.conf"
+
+#define _PATH_USEROPT ".ppprc"
+
+#define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd.tdb"
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.linux b/mdk-stage1/ppp/pppd/plugins/Makefile.linux
new file mode 100644
index 000000000..a64256461
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/plugins/Makefile.linux
@@ -0,0 +1,19 @@
+CC = gcc
+CFLAGS = -g -O2 -I.. -I../../include -fPIC
+LDFLAGS = -shared
+INSTALL = install
+
+all: minconn.so passprompt.so
+
+minconn.so: minconn.c
+ $(CC) -o $@ $(LDFLAGS) $(CFLAGS) minconn.c
+
+passprompt.so: passprompt.c
+ $(CC) -o $@ $(LDFLAGS) $(CFLAGS) passprompt.c
+
+LIBDIR = /usr/lib/pppd
+
+install: minconn.so passprompt.so
+ version=`awk -F '"' '/VERSION/ { print $$2; }' ../patchlevel.h`; \
+ $(INSTALL) -d $(LIBDIR)/$$version; \
+ $(INSTALL) $? $(LIBDIR)/$$version \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/plugins/Makefile.sol2 b/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
new file mode 100644
index 000000000..ffc194e8f
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/plugins/Makefile.sol2
@@ -0,0 +1,27 @@
+#
+# Makefile for plugins on Solaris 2
+#
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../../svr4/Makedefs
+
+CFLAGS = -c -O -I.. -I../../include $(COPTS)
+LDFLAGS = -G
+
+all: minconn.so
+
+minconn.so: minconn.o
+ ld -o $@ $(LDFLAGS) -h $@ minconn.o
+
+minconn.o: minconn.c
+ $(CC) $(CFLAGS) -c $?
+
+passprompt.so: passprompt.o
+ ld -o $@ $(LDFLAGS) -h $@ passprompt.o
+
+passprompt.o: passprompt.c
+ $(CC) $(CFLAGS) -c $?
+
+clean:
+ rm -f *.o *.so
diff --git a/mdk-stage1/ppp/pppd/plugins/minconn.c b/mdk-stage1/ppp/pppd/plugins/minconn.c
new file mode 100644
index 000000000..02ea34bf6
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/plugins/minconn.c
@@ -0,0 +1,46 @@
+/*
+ * minconn.c - pppd plugin to implement a `minconnect' option.
+ *
+ * Copyright 1999 Paul Mackerras.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms. The name of the author
+ * may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+#include <stddef.h>
+#include <time.h>
+#include "pppd.h"
+
+char pppd_version[] = VERSION;
+
+static int minconnect = 0;
+
+static option_t my_options[] = {
+ { "minconnect", o_int, &minconnect,
+ "Set minimum connect time before idle timeout applies" },
+ { NULL }
+};
+
+static int my_get_idle(struct ppp_idle *idle)
+{
+ time_t t;
+
+ if (idle == NULL)
+ return minconnect? minconnect: idle_time_limit;
+ t = idle->xmit_idle;
+ if (idle->recv_idle < t)
+ t = idle->recv_idle;
+ return idle_time_limit - t;
+}
+
+void plugin_init(void)
+{
+ info("plugin_init");
+ add_options(my_options);
+ idle_time_hook = my_get_idle;
+}
diff --git a/mdk-stage1/ppp/pppd/plugins/passprompt.c b/mdk-stage1/ppp/pppd/plugins/passprompt.c
new file mode 100644
index 000000000..5e6a7f90b
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/plugins/passprompt.c
@@ -0,0 +1,108 @@
+/*
+ * passprompt.c - pppd plugin to invoke an external PAP password prompter
+ *
+ * Copyright 1999 Paul Mackerras, Alan Curry.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ */
+#include <errno.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <syslog.h>
+#include "pppd.h"
+
+char pppd_version[] = VERSION;
+
+static char promptprog[PATH_MAX+1];
+
+static option_t options[] = {
+ { "promptprog", o_string, promptprog,
+ "External PAP password prompting program",
+ OPT_STATIC, NULL, PATH_MAX },
+ { NULL }
+};
+
+static int promptpass(char *user, char *passwd)
+{
+ int p[2];
+ pid_t kid;
+ int readgood, wstat;
+ size_t red;
+
+ if (promptprog[0] == 0 || access(promptprog, X_OK) < 0)
+ return -1; /* sorry, can't help */
+
+ if (!passwd)
+ return 1;
+
+ if (pipe(p)) {
+ warn("Can't make a pipe for %s", promptprog);
+ return 0;
+ }
+ if ((kid = fork()) == (pid_t) -1) {
+ warn("Can't fork to run %s", promptprog);
+ close(p[0]);
+ close(p[1]);
+ return 0;
+ }
+ if (!kid) {
+ /* we are the child, exec the program */
+ char *argv[4], fdstr[32];
+ sys_close();
+ closelog();
+ close(p[0]);
+ seteuid(getuid());
+ setegid(getgid());
+ argv[0] = promptprog;
+ argv[1] = user;
+ argv[2] = remote_name;
+ sprintf(fdstr, "%d", p[1]);
+ argv[3] = fdstr;
+ argv[4] = 0;
+ execv(*argv, argv);
+ _exit(127);
+ }
+
+ /* we are the parent, read the password from the pipe */
+ close(p[1]);
+ readgood = 0;
+ do {
+ red = read(p[0], passwd + readgood, MAXSECRETLEN-1 - readgood);
+ if (red == 0)
+ break;
+ if (red < 0) {
+ error("Can't read secret from %s: %m", promptprog);
+ readgood = -1;
+ break;
+ }
+ readgood += red;
+ } while (readgood < MAXSECRETLEN - 1);
+ passwd[readgood] = 0;
+ close(p[0]);
+
+ /* now wait for child to exit */
+ while (waitpid(kid, &wstat, 0) < 0) {
+ if (errno != EINTR) {
+ warn("error waiting for %s: %m", promptprog);
+ break;
+ }
+ }
+
+ if (readgood < 0)
+ return 0;
+ if (!WIFEXITED(wstat))
+ warn("%s terminated abnormally", promptprog);
+ if (WEXITSTATUS(wstat))
+ warn("%s exited with code %d", promptprog, WEXITSTATUS(status));
+
+ return 1;
+}
+
+void plugin_init(void)
+{
+ add_options(options);
+ pap_passwd_hook = promptpass;
+}
diff --git a/mdk-stage1/ppp/pppd/ppp.pam b/mdk-stage1/ppp/pppd/ppp.pam
new file mode 100644
index 000000000..475a4bc88
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/ppp.pam
@@ -0,0 +1,6 @@
+#%PAM-1.0
+# Information for the PPPD process with the 'login' option.
+auth required pam_nologin.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so \ No newline at end of file
diff --git a/mdk-stage1/ppp/pppd/pppd.8 b/mdk-stage1/ppp/pppd/pppd.8
new file mode 100644
index 000000000..a6dd065b0
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/pppd.8
@@ -0,0 +1,1591 @@
+.\" manual page [] for pppd 2.4
+.\" $Id: pppd.8 6001 2001-06-11 11:44:34Z gc $
+.\" SH section heading
+.\" SS subsection heading
+.\" LP paragraph
+.\" IP indented paragraph
+.\" TP hanging label
+.TH PPPD 8
+.SH NAME
+pppd \- Point to Point Protocol daemon
+.SH SYNOPSIS
+.B pppd
+[
+.I tty_name
+] [
+.I speed
+] [
+.I options
+]
+.SH DESCRIPTION
+.LP
+The Point-to-Point Protocol (PPP) provides a method for transmitting
+datagrams over serial point-to-point links. PPP
+is composed of three parts: a method for encapsulating datagrams over
+serial links, an extensible Link Control Protocol (LCP), and
+a family of Network Control Protocols (NCP) for establishing
+and configuring different network-layer protocols.
+.LP
+The encapsulation scheme is provided by driver code in the kernel.
+Pppd provides the basic LCP, authentication support, and an NCP for
+establishing and configuring the Internet Protocol (IP) (called the IP
+Control Protocol, IPCP).
+.SH FREQUENTLY USED OPTIONS
+.TP
+.I <tty_name>
+Communicate over the named device. The string "/dev/" is prepended if
+necessary. If no device name is given, or if the name of the terminal
+connected to the standard input is given, pppd will use that terminal,
+and will not fork to put itself in the background. A value for this
+option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.I <speed>
+Set the baud rate to <speed> (a decimal number). On systems such as
+4.4BSD and NetBSD, any speed can be specified. Other systems
+(e.g. SunOS) allow only a limited set of speeds.
+.TP
+.B asyncmap \fI<map>
+Set the async character map to <map>. This map describes which
+control characters cannot be successfully received over the serial
+line. Pppd will ask the peer to send these characters as a 2-byte
+escape sequence. The argument is a 32 bit hex number with each bit
+representing a character to escape. Bit 0 (00000001) represents the
+character 0x00; bit 31 (80000000) represents the character 0x1f or ^_.
+If multiple \fIasyncmap\fR options are given, the values are ORed
+together. If no \fIasyncmap\fR option is given, no async character
+map will be negotiated for the receive direction; the peer should then
+escape \fIall\fR control characters. To escape transmitted
+characters, use the \fIescape\fR option.
+.TP
+.B auth
+Require the peer to authenticate itself before allowing network
+packets to be sent or received. This option is the default if the
+system has a default route. If neither this option nor the
+\fInoauth\fR option is specified, pppd will only allow the peer to use
+IP addresses to which the system does not already have a route.
+.TP
+.B call \fIname
+Read options from the file /etc/ppp/peers/\fIname\fR. This file may
+contain privileged options, such as \fInoauth\fR, even if pppd
+is not being run by root. The \fIname\fR string may not begin with /
+or include .. as a pathname component. The format of the options file
+is described below.
+.TP
+.B connect \fIscript
+Use the executable or shell command specified by \fIscript\fR to set
+up the serial line. This script would typically use the chat(8)
+program to dial the modem and start the remote ppp session. A value
+for this option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.B crtscts
+Use hardware flow control (i.e. RTS/CTS) to control the flow of
+data on the serial port. If neither the \fIcrtscts\fR, the
+\fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option
+is given, the hardware flow control setting for the serial port is
+left unchanged.
+Some serial ports (such as Macintosh serial ports) lack a true
+RTS output. Such serial ports use this mode to implement
+unidirectional flow control. The serial port will
+suspend transmission when requested by the modem (via CTS)
+but will be unable to request the modem stop sending to the
+computer. This mode retains the ability to use DTR as
+a modem control line.
+.TP
+.B defaultroute
+Add a default route to the system routing tables, using the peer as
+the gateway, when IPCP negotiation is successfully completed.
+This entry is removed when the PPP connection is broken. This option
+is privileged if the \fInodefaultroute\fR option has been specified.
+.TP
+.B disconnect \fIscript
+Run the executable or shell command specified by \fIscript\fR after
+pppd has terminated the link. This script could, for example, issue
+commands to the modem to cause it to hang up if hardware modem control
+signals were not available. The disconnect script is not run if the
+modem has already hung up. A value for this option from a privileged
+source cannot be overridden by a non-privileged user.
+.TP
+.B escape \fIxx,yy,...
+Specifies that certain characters should be escaped on transmission
+(regardless of whether the peer requests them to be escaped with its
+async control character map). The characters to be escaped are
+specified as a list of hex numbers separated by commas. Note that
+almost any character can be specified for the \fIescape\fR option,
+unlike the \fIasyncmap\fR option which only allows control characters
+to be specified. The characters which may not be escaped are those
+with hex values 0x20 - 0x3f or 0x5e.
+.TP
+.B file \fIname
+Read options from file \fIname\fR (the format is described below).
+The file must be readable by the user who has invoked pppd.
+.TP
+.B init \fIscript
+Run the executable or shell command specified by \fIscript\fR to
+initialize the serial line. This script would typically use the
+chat(8) program to configure the modem to enable auto answer. A value
+for this option from a privileged source cannot be overridden by a
+non-privileged user.
+.TP
+.B lock
+Specifies that pppd should create a UUCP-style lock file for the
+serial device to ensure exclusive access to the device.
+.TP
+.B mru \fIn
+Set the MRU [Maximum Receive Unit] value to \fIn\fR. Pppd
+will ask the peer to send packets of no more than \fIn\fR bytes. The
+minimum MRU value is 128. The default MRU value is 1500. A value of
+296 is recommended for slow links (40 bytes for TCP/IP header + 256
+bytes of data). (Note that for IPv6 MRU must be at least 1280)
+.TP
+.B mtu \fIn
+Set the MTU [Maximum Transmit Unit] value to \fIn\fR. Unless the
+peer requests a smaller value via MRU negotiation, pppd will
+request that the kernel networking code send data packets of no more
+than \fIn\fR bytes through the PPP network interface. (Note that for
+IPv6 MTU must be at least 1280)
+.TP
+.B passive
+Enables the "passive" option in the LCP. With this option, pppd will
+attempt to initiate a connection; if no reply is received from the
+peer, pppd will then just wait passively for a valid LCP packet from
+the peer, instead of exiting, as it would without this option.
+.SH OPTIONS
+.TP
+.I <local_IP_address>\fB:\fI<remote_IP_address>
+Set the local and/or remote interface IP addresses. Either one may be
+omitted. The IP addresses can be specified with a host name or in
+decimal dot notation (e.g. 150.234.56.78). The default local
+address is the (first) IP address of the system (unless the
+\fInoipdefault\fR
+option is given). The remote address will be obtained from the peer
+if not specified in any option. Thus, in simple cases, this option is
+not required. If a local and/or remote IP address is specified with
+this option, pppd
+will not accept a different value from the peer in the IPCP
+negotiation, unless the \fIipcp-accept-local\fR and/or
+\fIipcp-accept-remote\fR options are given, respectively.
+.TP
+.B ipv6 \fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>
+Set the local and/or remote 64-bit interface identifier. Either one may be
+omitted. The identifier must be specified in standard ascii notation of
+IPv6 addresses (e.g. ::dead:beef). If the
+\fIipv6cp-use-ipaddr\fR
+option is given, the local identifier is the local IPv4 address (see above).
+On systems which supports a unique persistent id, such as EUI-48 derived
+from the Ethernet MAC address, \fIipv6cp-use-persistent\fR option can be
+used to replace the \fIipv6 <local>,<remote>\fR option. Otherwise the
+identifier is randomized.
+.TP
+.B active-filter \fIfilter-expression
+Specifies a packet filter to be applied to data packets to determine
+which packets are to be regarded as link activity, and therefore reset
+the idle timer, or cause the link to be brought up in demand-dialling
+mode. This option is useful in conjunction with the
+\fBidle\fR option if there are packets being sent or received
+regularly over the link (for example, routing information packets)
+which would otherwise prevent the link from ever appearing to be idle.
+The \fIfilter-expression\fR syntax is as described for tcpdump(1),
+except that qualifiers which are inappropriate for a PPP link, such as
+\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
+expression should be enclosed in single-quotes to prevent whitespace
+in the expression from being interpreted by the shell. This option
+is currently only available under NetBSD, and then only
+if both the kernel and pppd were compiled with PPP_FILTER defined.
+.TP
+.B allow-ip \fIaddress(es)
+Allow peers to use the given IP address or subnet without
+authenticating themselves. The parameter is parsed as for each
+element of the list of allowed IP addresses in the secrets files (see
+the AUTHENTICATION section below).
+.TP
+.B bsdcomp \fInr,nt
+Request that the peer compress packets that it sends, using the
+BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
+agree to compress packets sent to the peer with a maximum code size of
+\fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
+given for \fInr\fR. Values in the range 9 to 15 may be used for
+\fInr\fR and \fInt\fR; larger values give better compression but
+consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
+compression in the corresponding direction. Use \fInobsdcomp\fR or
+\fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
+.TP
+.B cdtrcts
+Use a non-standard hardware flow control (i.e. DTR/CTS) to control
+the flow of data on the serial port. If neither the \fIcrtscts\fR,
+the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR
+option is given, the hardware flow control setting for the serial
+port is left unchanged.
+Some serial ports (such as Macintosh serial ports) lack a true
+RTS output. Such serial ports use this mode to implement true
+bi-directional flow control. The sacrifice is that this flow
+control mode does not permit using DTR as a modem control line.
+.TP
+.B chap-interval \fIn
+If this option is given, pppd will rechallenge the peer every \fIn\fR
+seconds.
+.TP
+.B chap-max-challenge \fIn
+Set the maximum number of CHAP challenge transmissions to \fIn\fR
+(default 10).
+.TP
+.B chap-restart \fIn
+Set the CHAP restart interval (retransmission timeout for challenges)
+to \fIn\fR seconds (default 3).
+.TP
+.B connect-delay \fIn
+Wait for up \fIn\fR milliseconds after the connect script finishes for
+a valid PPP packet from the peer. At the end of this time, or when a
+valid PPP packet is received from the peer, pppd will commence
+negotiation by sending its first LCP packet. The default value is
+1000 (1 second). This wait period only applies if the \fBconnect\fR
+or \fBpty\fR option is used.
+.TP
+.B debug
+Enables connection debugging facilities.
+If this option is given, pppd will log the contents of all
+control packets sent or received in a readable form. The packets are
+logged through syslog with facility \fIdaemon\fR and level
+\fIdebug\fR. This information can be directed to a file by setting up
+/etc/syslog.conf appropriately (see syslog.conf(5)).
+.TP
+.B default-asyncmap
+Disable asyncmap negotiation, forcing all control characters to be
+escaped for both the transmit and the receive direction.
+.TP
+.B default-mru
+Disable MRU [Maximum Receive Unit] negotiation. With this option,
+pppd will use the default MRU value of 1500 bytes for both the
+transmit and receive direction.
+.TP
+.B deflate \fInr,nt
+Request that the peer compress packets that it sends, using the
+Deflate scheme, with a maximum window size of \fI2**nr\fR bytes, and
+agree to compress packets sent to the peer with a maximum window size
+of \fI2**nt\fR bytes. If \fInt\fR is not specified, it defaults to
+the value given for \fInr\fR. Values in the range 9 to 15 may be used
+for \fInr\fR and \fInt\fR; larger values give better compression but
+consume more kernel memory for compression dictionaries.
+Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
+compression in the corresponding direction. Use \fInodeflate\fR or
+\fIdeflate 0\fR to disable Deflate compression entirely. (Note: pppd
+requests Deflate compression in preference to BSD-Compress if the peer
+can do either.)
+.TP
+.B demand
+Initiate the link only on demand, i.e. when data traffic is present.
+With this option, the remote IP address must be specified by the user
+on the command line or in an options file. Pppd will initially
+configure the interface and enable it for IP traffic without
+connecting to the peer. When traffic is available, pppd will
+connect to the peer and perform negotiation, authentication, etc.
+When this is completed, pppd will commence passing data packets
+(i.e., IP packets) across the link.
+
+The \fIdemand\fR option implies the \fIpersist\fR option. If this
+behaviour is not desired, use the \fInopersist\fR option after the
+\fIdemand\fR option. The \fIidle\fR and \fIholdoff\fR
+options are also useful in conjuction with the \fIdemand\fR option.
+.TP
+.B domain \fId
+Append the domain name \fId\fR to the local host name for authentication
+purposes. For example, if gethostname() returns the name porsche, but
+the fully qualified domain name is porsche.Quotron.COM, you could
+specify \fIdomain Quotron.COM\fR. Pppd would then use the name
+\fIporsche.Quotron.COM\fR for looking up secrets in the secrets file,
+and as the default name to send to the peer when authenticating itself
+to the peer. This option is privileged.
+.TP
+.B dryrun
+With the \fBdryrun\fR option, pppd will print out all the option
+values which have been set and then exit, after parsing the command
+line and options files and checking the option values, but before
+initiating the link. The option values are logged at level info, and
+also printed to standard output unless the device on standard output
+is the device that pppd would be using to communicate with the peer.
+.TP
+.B dump
+With the \fBdump\fR option, pppd will print out all the option values
+which have been set. This option is like the \fBdryrun\fR option
+except that pppd proceeds as normal rather than exiting.
+.TP
+.B endpoint \fI<epdisc>
+Sets the endpoint discriminator sent by the local machine to the peer
+during multilink negotiation to \fI<epdisc>\fR. The default is to use
+the MAC address of the first ethernet interface on the system, if any,
+otherwise the IPv4 address corresponding to the hostname, if any,
+provided it is not in the multicast or locally-assigned IP address
+ranges, or the localhost address. The endpoint discriminator can be
+the string \fBnull\fR or of the form \fItype\fR:\fIvalue\fR, where
+type is a decimal number or one of the strings \fBlocal\fR, \fBIP\fR,
+\fBMAC\fR, \fBmagic\fR, or \fBphone\fR. The value is an IP address in
+dotted-decimal notation for the \fBIP\fR type, or a string of bytes in
+hexadecimal, separated by periods or colons for the other types. For
+the MAC type, the value may also be the name of an ethernet or similar
+network interface. This option is currently only available under
+Linux.
+.TP
+.B hide-password
+When logging the contents of PAP packets, this option causes pppd to
+exclude the password string from the log. This is the default.
+.TP
+.B holdoff \fIn
+Specifies how many seconds to wait before re-initiating the link after
+it terminates. This option only has any effect if the \fIpersist\fR
+or \fIdemand\fR option is used. The holdoff period is not applied if
+the link was terminated because it was idle.
+.TP
+.B idle \fIn
+Specifies that pppd should disconnect if the link is idle for \fIn\fR
+seconds. The link is idle when no data packets (i.e. IP packets) are
+being sent or received. Note: it is not advisable to use this option
+with the \fIpersist\fR option without the \fIdemand\fR option.
+If the \fBactive-filter\fR
+option is given, data packets which are rejected by the specified
+activity filter also count as the link being idle.
+.TP
+.B ipcp-accept-local
+With this option, pppd will accept the peer's idea of our local IP
+address, even if the local IP address was specified in an option.
+.TP
+.B ipcp-accept-remote
+With this option, pppd will accept the peer's idea of its (remote) IP
+address, even if the remote IP address was specified in an option.
+.TP
+.B ipcp-max-configure \fIn
+Set the maximum number of IPCP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B ipcp-max-failure \fIn
+Set the maximum number of IPCP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B ipcp-max-terminate \fIn
+Set the maximum number of IPCP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B ipcp-restart \fIn
+Set the IPCP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B ipparam \fIstring
+Provides an extra parameter to the ip-up and ip-down scripts. If this
+option is given, the \fIstring\fR supplied is given as the 6th
+parameter to those scripts.
+.TP
+.B ipv6cp-max-configure \fIn
+Set the maximum number of IPv6CP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B ipv6cp-max-failure \fIn
+Set the maximum number of IPv6CP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B ipv6cp-max-terminate \fIn
+Set the maximum number of IPv6CP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B ipv6cp-restart \fIn
+Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B ipx
+Enable the IPXCP and IPX protocols. This option is presently only
+supported under Linux, and only if your kernel has been configured to
+include IPX support.
+.TP
+.B ipx-network \fIn
+Set the IPX network number in the IPXCP configure request frame to
+\fIn\fR, a hexadecimal number (without a leading 0x). There is no
+valid default. If this option is not specified, the network number is
+obtained from the peer. If the peer does not have the network number,
+the IPX protocol will not be started.
+.TP
+.B ipx-node \fIn\fB:\fIm
+Set the IPX node numbers. The two node numbers are separated from each
+other with a colon character. The first number \fIn\fR is the local
+node number. The second number \fIm\fR is the peer's node number. Each
+node number is a hexadecimal number, at most 10 digits long. The node
+numbers on the ipx-network must be unique. There is no valid
+default. If this option is not specified then the node numbers are
+obtained from the peer.
+.TP
+.B ipx-router-name \fI<string>
+Set the name of the router. This is a string and is sent to the peer
+as information data.
+.TP
+.B ipx-routing \fIn
+Set the routing protocol to be received by this option. More than one
+instance of \fIipx-routing\fR may be specified. The '\fInone\fR'
+option (0) may be specified as the only instance of ipx-routing. The
+values may be \fI0\fR for \fINONE\fR, \fI2\fR for \fIRIP/SAP\fR, and
+\fI4\fR for \fINLSP\fR.
+.TP
+.B ipxcp-accept-local
+Accept the peer's NAK for the node number specified in the ipx-node
+option. If a node number was specified, and non-zero, the default is
+to insist that the value be used. If you include this option then you
+will permit the peer to override the entry of the node number.
+.TP
+.B ipxcp-accept-network
+Accept the peer's NAK for the network number specified in the
+ipx-network option. If a network number was specified, and non-zero, the
+default is to insist that the value be used. If you include this
+option then you will permit the peer to override the entry of the node
+number.
+.TP
+.B ipxcp-accept-remote
+Use the peer's network number specified in the configure request
+frame. If a node number was specified for the peer and this option was
+not specified, the peer will be forced to use the value which you have
+specified.
+.TP
+.B ipxcp-max-configure \fIn
+Set the maximum number of IPXCP configure request frames which the
+system will send to \fIn\fR. The default is 10.
+.TP
+.B ipxcp-max-failure \fIn
+Set the maximum number of IPXCP NAK frames which the local system will
+send before it rejects the options. The default value is 3.
+.TP
+.B ipxcp-max-terminate \fIn
+Set the maximum nuber of IPXCP terminate request frames before the
+local system considers that the peer is not listening to them. The
+default value is 3.
+.TP
+.B kdebug \fIn
+Enable debugging code in the kernel-level PPP driver. The argument
+values depend on the specific kernel driver, but in general a value of
+1 will enable general kernel debug messages. (Note that these
+messages are usually only useful for debugging the kernel driver
+itself.) For the Linux 2.2.x kernel driver, the value is a sum of
+bits: 1 to
+enable general debug messages, 2 to request that the contents of
+received packets be printed, and 4 to request that the contents of
+transmitted packets be printed. On most systems, messages printed by
+the kernel are logged by syslog(1) to a file as directed in the
+/etc/syslog.conf configuration file.
+.TP
+.B ktune
+Enables pppd to alter kernel settings as appropriate. Under Linux,
+pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
+to 1) if the \fIproxyarp\fR option is used, and will enable the
+dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
+1) in demand mode if the local address changes.
+.TP
+.B lcp-echo-failure \fIn
+If this option is given, pppd will presume the peer to be dead
+if \fIn\fR LCP echo-requests are sent without receiving a valid LCP
+echo-reply. If this happens, pppd will terminate the
+connection. Use of this option requires a non-zero value for the
+\fIlcp-echo-interval\fR parameter. This option can be used to enable
+pppd to terminate after the physical connection has been broken
+(e.g., the modem has hung up) in situations where no hardware modem
+control lines are available.
+.TP
+.B lcp-echo-interval \fIn
+If this option is given, pppd will send an LCP echo-request frame to
+the peer every \fIn\fR seconds. Normally the peer should respond to
+the echo-request by sending an echo-reply. This option can be used
+with the \fIlcp-echo-failure\fR option to detect that the peer is no
+longer connected.
+.TP
+.B lcp-max-configure \fIn
+Set the maximum number of LCP configure-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B lcp-max-failure \fIn
+Set the maximum number of LCP configure-NAKs returned before starting
+to send configure-Rejects instead to \fIn\fR (default 10).
+.TP
+.B lcp-max-terminate \fIn
+Set the maximum number of LCP terminate-request transmissions to
+\fIn\fR (default 3).
+.TP
+.B lcp-restart \fIn
+Set the LCP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B linkname \fIname\fR
+Sets the logical name of the link to \fIname\fR. Pppd will create a
+file named \fBppp-\fIname\fB.pid\fR in /var/run (or /etc/ppp on some
+systems) containing its process ID. This can be useful in determining
+which instance of pppd is responsible for the link to a given peer
+system. This is a privileged option.
+.TP
+.B local
+Don't use the modem control lines. With this option, pppd will ignore
+the state of the CD (Carrier Detect) signal from the modem and will
+not change the state of the DTR (Data Terminal Ready) signal.
+.TP
+.B logfd \fIn
+Send log messages to file descriptor \fIn\fR. Pppd will send log
+messages to at most one file or file descriptor (as well as sending
+the log messages to syslog), so this option and the \fBlogfile\fR
+option are mutually exclusive. The default is for pppd to send log
+messages to stdout (file descriptor 1), unless the serial port is
+already open on stdout.
+.TP
+.B logfile \fIfilename
+Append log messages to the file \fIfilename\fR (as well as sending the
+log messages to syslog). The file is opened with the privileges of
+the user who invoked pppd, in append mode.
+.TP
+.B login
+Use the system password database for authenticating the peer using
+PAP, and record the user in the system wtmp file. Note that the peer
+must have an entry in the /etc/ppp/pap-secrets file as well as the
+system password database to be allowed access.
+.TP
+.B maxconnect \fIn
+Terminate the connection when it has been available for network
+traffic for \fIn\fR seconds (i.e. \fIn\fR seconds after the first
+network control protocol comes up).
+.TP
+.B maxfail \fIn
+Terminate after \fIn\fR consecutive failed connection attempts. A
+value of 0 means no limit. The default value is 10.
+.TP
+.B modem
+Use the modem control lines. This option is the default. With this
+option, pppd will wait for the CD (Carrier Detect) signal from the
+modem to be asserted when opening the serial device (unless a connect
+script is specified), and it will drop the DTR (Data Terminal Ready)
+signal briefly when the connection is terminated and before executing
+the connect script. On Ultrix, this option implies hardware flow
+control, as for the \fIcrtscts\fR option.
+.TP
+.B mp
+Enables the use of PPP multilink; this is an alias for the `multilink'
+option. This option is currently only available under Linux.
+.TP
+.B mpshortseq
+Enables the use of short (12-bit) sequence numbers in multilink
+headers, as opposed to 24-bit sequence numbers. This option is only
+available under Linux, and only has any effect if multilink is
+enabled (see the multilink option).
+.TP
+.B mrru \fIn
+Sets the Maximum Reconstructed Receive Unit to \fIn\fR. The MRRU is
+the maximum size for a received packet on a multilink bundle, and is
+analogous to the MRU for the individual links. This option is
+currently only available under Linux, and only has any effect if
+multilink is enabled (see the multilink option).
+.TP
+.B ms-dns \fI<addr>
+If pppd is acting as a server for Microsoft Windows clients, this
+option allows pppd to supply one or two DNS (Domain Name Server)
+addresses to the clients. The first instance of this option specifies
+the primary DNS address; the second instance (if given) specifies the
+secondary DNS address. (This option was present in some older
+versions of pppd under the name \fBdns-addr\fR.)
+.TP
+.B ms-wins \fI<addr>
+If pppd is acting as a server for Microsoft Windows or "Samba"
+clients, this option allows pppd to supply one or two WINS (Windows
+Internet Name Services) server addresses to the clients. The first
+instance of this option specifies the primary WINS address; the second
+instance (if given) specifies the secondary WINS address.
+.TP
+.B multilink
+Enables the use of the PPP multilink protocol. If the peer also
+supports multilink, then this link can become part of a bundle between
+the local system and the peer. If there is an existing bundle to the
+peer, pppd will join this link to that bundle, otherwise pppd will
+create a new bundle. See the MULTILINK section below. This option is
+currently only available under Linux.
+.TP
+.B name \fIname
+Set the name of the local system for authentication purposes to
+\fIname\fR. This is a privileged option. With this option, pppd will
+use lines in the secrets files which have \fIname\fR as the second
+field when looking for a secret to use in authenticating the peer. In
+addition, unless overridden with the \fIuser\fR option, \fIname\fR
+will be used as the name to send to the peer when authenticating the
+local system to the peer. (Note that pppd does not append the domain
+name to \fIname\fR.)
+.TP
+.B netmask \fIn
+Set the interface netmask to \fIn\fR, a 32 bit netmask in "decimal dot"
+notation (e.g. 255.255.255.0). If this option is given, the value
+specified is ORed with the default netmask. The default netmask is
+chosen based on the negotiated remote IP address; it is the
+appropriate network mask for the class of the remote IP address, ORed
+with the netmasks for any non point-to-point network interfaces in the
+system which are on the same network. (Note: on some platforms, pppd
+will always use 255.255.255.255 for the netmask, if that is the only
+appropriate value for a point-to-point interface.)
+.TP
+.B noaccomp
+Disable Address/Control compression in both directions (send and
+receive).
+.TP
+.B noauth
+Do not require the peer to authenticate itself. This option is
+privileged.
+.TP
+.B nobsdcomp
+Disables BSD-Compress compression; \fBpppd\fR will not request or
+agree to compress packets using the BSD-Compress scheme.
+.TP
+.B noccp
+Disable CCP (Compression Control Protocol) negotiation. This option
+should only be required if the peer is buggy and gets confused by
+requests from pppd for CCP negotiation.
+.TP
+.B nocrtscts
+Disable hardware flow control (i.e. RTS/CTS) on the serial port.
+If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the
+\fIcdtrcts\fR nor the \fInocdtrcts\fR option is given, the hardware
+flow control setting for the serial port is left unchanged.
+.TP
+.B nocdtrcts
+This option is a synonym for \fInocrtscts\fR. Either of these options will
+disable both forms of hardware flow control.
+.TP
+.B nodefaultroute
+Disable the \fIdefaultroute\fR option. The system administrator who
+wishes to prevent users from creating default routes with pppd
+can do so by placing this option in the /etc/ppp/options file.
+.TP
+.B nodeflate
+Disables Deflate compression; pppd will not request or agree to
+compress packets using the Deflate scheme.
+.TP
+.B nodetach
+Don't detach from the controlling terminal. Without this option, if a
+serial device other than the terminal on the standard input is
+specified, pppd will fork to become a background process.
+.TP
+.B noendpoint
+Disables pppd from sending an endpoint discriminator to the peer or
+accepting one from the peer (see the MULTILINK section below). This
+option should only be required if the peer is buggy.
+.TP
+.B noip
+Disable IPCP negotiation and IP communication. This option should
+only be required if the peer is buggy and gets confused by requests
+from pppd for IPCP negotiation.
+.TP
+.B noipv6
+Disable IPv6CP negotiation and IPv6 communication. This option should
+only be required if the peer is buggy and gets confused by requests
+from pppd for IPv6CP negotiation.
+.TP
+.B noipdefault
+Disables the default behaviour when no local IP address is specified,
+which is to determine (if possible) the local IP address from the
+hostname. With this option, the peer will have to supply the local IP
+address during IPCP negotiation (unless it specified explicitly on the
+command line or in an options file).
+.TP
+.B noipx
+Disable the IPXCP and IPX protocols. This option should only be
+required if the peer is buggy and gets confused by requests from pppd
+for IPXCP negotiation.
+.TP
+.B noktune
+Opposite of the \fIktune\fR option; disables pppd from changing system
+settings.
+.TP
+.B nolog
+Do not send log messages to a file or file descriptor. This option
+cancels the \fBlogfd\fR and \fBlogfile\fR options.
+.TP
+.B nomagic
+Disable magic number negotiation. With this option, pppd cannot
+detect a looped-back line. This option should only be needed if the
+peer is buggy.
+.TP
+.B nomp
+Disables the use of PPP multilink. This option is currently only
+available under Linux.
+.TP
+.B nompshortseq
+Disables the use of short (12-bit) sequence numbers in the PPP
+multilink protocol, forcing the use of 24-bit sequence numbers. This
+option is currently only available under Linux, and only has any
+effect if multilink is enabled.
+.TP
+.B nomultilink
+Disables the use of PPP multilink. This option is currently only
+available under Linux.
+.TP
+.B nopcomp
+Disable protocol field compression negotiation in both the receive and
+the transmit direction.
+.TP
+.B nopersist
+Exit once a connection has been made and terminated. This is the
+default unless the \fIpersist\fR or \fIdemand\fR option has been
+specified.
+.TP
+.B nopredictor1
+Do not accept or agree to Predictor-1 compression.
+.TP
+.B noproxyarp
+Disable the \fIproxyarp\fR option. The system administrator who
+wishes to prevent users from creating proxy ARP entries with pppd can
+do so by placing this option in the /etc/ppp/options file.
+.TP
+.B notty
+Normally, pppd requires a terminal device. With this option, pppd
+will allocate itself a pseudo-tty master/slave pair and use the slave
+as its terminal device. Pppd will create a child process to act as a
+`character shunt' to transfer characters between the pseudo-tty master
+and its standard input and output. Thus pppd will transmit characters
+on its standard output and receive characters on its standard input
+even if they are not terminal devices. This option increases the
+latency and CPU overhead of transferring data over the ppp interface
+as all of the characters sent and received must flow through the
+character shunt process. An explicit device name may not be given if
+this option is used.
+.TP
+.B novj
+Disable Van Jacobson style TCP/IP header compression in both the
+transmit and the receive direction.
+.TP
+.B novjccomp
+Disable the connection-ID compression option in Van Jacobson style
+TCP/IP header compression. With this option, pppd will not omit the
+connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
+ask the peer to do so.
+.TP
+.B papcrypt
+Indicates that all secrets in the /etc/ppp/pap-secrets file which are
+used for checking the identity of the peer are encrypted, and thus
+pppd should not accept a password which, before encryption, is
+identical to the secret from the /etc/ppp/pap-secrets file.
+.TP
+.B pap-max-authreq \fIn
+Set the maximum number of PAP authenticate-request transmissions to
+\fIn\fR (default 10).
+.TP
+.B pap-restart \fIn
+Set the PAP restart interval (retransmission timeout) to \fIn\fR
+seconds (default 3).
+.TP
+.B pap-timeout \fIn
+Set the maximum time that pppd will wait for the peer to authenticate
+itself with PAP to \fIn\fR seconds (0 means no limit).
+.TP
+.B pass-filter \fIfilter-expression
+Specifies a packet filter to applied to data packets being sent or
+received to determine which packets should be allowed to pass.
+Packets which are rejected by the filter are silently discarded. This
+option can be used to prevent specific network daemons (such as
+routed) using up link bandwidth, or to provide a basic firewall
+capability.
+The \fIfilter-expression\fR syntax is as described for tcpdump(1),
+except that qualifiers which are inappropriate for a PPP link, such as
+\fBether\fR and \fBarp\fR, are not permitted. Generally the filter
+expression should be enclosed in single-quotes to prevent whitespace
+in the expression from being interpreted by the shell. Note that it
+is possible to apply different constraints to incoming and outgoing
+packets using the \fBinbound\fR and \fBoutbound\fR qualifiers. This
+option is currently only available under NetBSD, and then only if both
+the kernel and pppd were compiled with PPP_FILTER defined.
+.TP
+.B persist
+Do not exit after a connection is terminated; instead try to reopen
+the connection.
+.TP
+.B plugin \fIfilename
+Load the shared library object file \fIfilename\fR as a plugin. This
+is a privileged option.
+.TP
+.B predictor1
+Request that the peer compress frames that it sends using Predictor-1
+compression, and agree to compress transmitted frames with Predictor-1
+if requested. This option has no effect unless the kernel driver
+supports Predictor-1 compression.
+.TP
+.B privgroup \fIgroup-name
+Allows members of group \fIgroup-name\fR to use privileged options.
+This is a privileged option. Use of this option requires care as
+there is no guarantee that members of \fIgroup-name\fR cannot use pppd
+to become root themselves. Consider it equivalent to putting the
+members of \fIgroup-name\fR in the kmem or disk group.
+.TP
+.B proxyarp
+Add an entry to this system's ARP [Address Resolution Protocol] table
+with the IP address of the peer and the Ethernet address of this
+system. This will have the effect of making the peer appear to other
+systems to be on the local ethernet.
+.TP
+.B pty \fIscript
+Specifies that the command \fIscript\fR is to be used to communicate
+rather than a specific terminal device. Pppd will allocate itself a
+pseudo-tty master/slave pair and use the slave as its terminal
+device. The \fIscript\fR will be run in a child process with the
+pseudo-tty master as its standard input and output. An explicit
+device name may not be given if this option is used. (Note: if the
+\fIrecord\fR option is used in conjuction with the \fIpty\fR option,
+the child process will have pipes on its standard input and output.)
+.TP
+.B receive-all
+With this option, pppd will accept all control characters from the
+peer, including those marked in the receive asyncmap. Without this
+option, pppd will discard those characters as specified in RFC1662.
+This option should only be needed if the peer is buggy.
+.TP
+.B record \fIfilename
+Specifies that pppd should record all characters sent and received to
+a file named \fIfilename\fR. This file is opened in append mode,
+using the user's user-ID and permissions. This option is implemented
+using a pseudo-tty and a process to transfer characters between the
+pseudo-tty and the real serial device, so it will increase the latency
+and CPU overhead of transferring data over the ppp interface. The
+characters are stored in a tagged format with timestamps, which can be
+displayed in readable form using the pppdump(8) program.
+.TP
+.B remotename \fIname
+Set the assumed name of the remote system for authentication purposes
+to \fIname\fR.
+.TP
+.B refuse-chap
+With this option, pppd will not agree to authenticate itself to the
+peer using CHAP.
+.TP
+.B refuse-pap
+With this option, pppd will not agree to authenticate itself to the
+peer using PAP.
+.TP
+.B require-chap
+Require the peer to authenticate itself using CHAP [Challenge
+Handshake Authentication Protocol] authentication.
+.TP
+.B require-pap
+Require the peer to authenticate itself using PAP [Password
+Authentication Protocol] authentication.
+.TP
+.B show-password
+When logging the contents of PAP packets, this option causes pppd to
+show the password string in the log message.
+.TP
+.B silent
+With this option, pppd will not transmit LCP packets to initiate a
+connection until a valid LCP packet is received from the peer (as for
+the `passive' option with ancient versions of pppd).
+.TP
+.B sync
+Use synchronous HDLC serial encoding instead of asynchronous.
+The device used by pppd with this option must have sync support.
+Currently supports Microgate SyncLink adapters
+under Linux and FreeBSD 2.2.8 and later.
+.TP
+.B updetach
+With this option, pppd will detach from its controlling terminal once
+it has successfully established the ppp connection (to the point where
+the first network control protocol, usually the IP control protocol,
+has come up).
+.TP
+.B usehostname
+Enforce the use of the hostname (with domain name appended, if given)
+as the name of the local system for authentication purposes (overrides
+the \fIname\fR option). This option is not normally needed since the
+\fIname\fR option is privileged.
+.TP
+.B usepeerdns
+Ask the peer for up to 2 DNS server addresses. The addresses supplied
+by the peer (if any) are passed to the /etc/ppp/ip-up script in the
+environment variables DNS1 and DNS2. In addition, pppd will create an
+/etc/ppp/resolv.conf file containing one or two nameserver lines with
+the address(es) supplied by the peer.
+.TP
+.B user \fIname
+Sets the name used for authenticating the local system to the peer to
+\fIname\fR.
+.TP
+.B vj-max-slots \fIn
+Sets the number of connection slots to be used by the Van Jacobson
+TCP/IP header compression and decompression code to \fIn\fR, which
+must be between 2 and 16 (inclusive).
+.TP
+.B welcome \fIscript
+Run the executable or shell command specified by \fIscript\fR before
+initiating PPP negotiation, after the connect script (if any) has
+completed. A value for this option from a privileged source cannot be
+overridden by a non-privileged user.
+.TP
+.B xonxoff
+Use software flow control (i.e. XON/XOFF) to control the flow of data on
+the serial port.
+.SH OPTIONS FILES
+Options can be taken from files as well as the command line. Pppd
+reads options from the files /etc/ppp/options, ~/.ppprc and
+/etc/ppp/options.\fIttyname\fR (in that order) before processing the
+options on the command line. (In fact, the command-line options are
+scanned to find the terminal name before the options.\fIttyname\fR
+file is read.) In forming the name of the options.\fIttyname\fR file,
+the initial /dev/ is removed from the terminal name, and any remaining
+/ characters are replaced with dots.
+.PP
+An options file is parsed into a series of words, delimited by
+whitespace. Whitespace can be included in a word by enclosing the
+word in double-quotes ("). A backslash (\\) quotes the following character.
+A hash (#) starts a comment, which continues until the end of the
+line. There is no restriction on using the \fIfile\fR or \fIcall\fR
+options within an options file.
+.SH SECURITY
+.I pppd
+provides system administrators with sufficient access control that PPP
+access to a server machine can be provided to legitimate users without
+fear of compromising the security of the server or the network it's
+on. This control is provided through restrictions on which IP
+addresses the peer may use, based on its authenticated identity (if
+any), and through restrictions on which options a non-privileged user
+may use. Several of pppd's options are privileged, in particular
+those which permit potentially insecure configurations; these options
+are only accepted in files which are under the control of the system
+administrator, or if pppd is being run by root.
+.PP
+The default behaviour of pppd is to allow an unauthenticated peer to
+use a given IP address only if the system does not already have a
+route to that IP address. For example, a system with a
+permanent connection to the wider internet will normally have a
+default route, and thus all peers will have to authenticate themselves
+in order to set up a connection. On such a system, the \fIauth\fR
+option is the default. On the other hand, a system where the
+PPP link is the only connection to the internet will not normally have
+a default route, so the peer will be able to use almost any IP address
+without authenticating itself.
+.PP
+As indicated above, some security-sensitive options are privileged,
+which means that they may not be used by an ordinary non-privileged
+user running a setuid-root pppd, either on the command line, in the
+user's ~/.ppprc file, or in an options file read using the \fIfile\fR
+option. Privileged options may be used in /etc/ppp/options file or in
+an options file read using the \fIcall\fR option. If pppd is being
+run by the root user, privileged options can be used without
+restriction.
+.PP
+When opening the device, pppd uses either the invoking user's user ID
+or the root UID (that is, 0), depending on whether the device name was
+specified by the user or the system administrator. If the device name
+comes from a privileged source, that is, /etc/ppp/options or an
+options file read using the \fIcall\fR option, pppd uses full root
+privileges when opening the device. Thus, by creating an appropriate
+file under /etc/ppp/peers, the system administrator can allow users to
+establish a ppp connection via a device which they would not normally
+have permission to access. Otherwise pppd uses the invoking user's
+real UID when opening the device.
+.SH AUTHENTICATION
+Authentication is the process whereby one peer convinces the other of
+its identity. This involves the first peer sending its name to the
+other, together with some kind of secret information which could only
+come from the genuine authorized user of that name. In such an
+exchange, we will call the first peer the "client" and the other the
+"server". The client has a name by which it identifies itself to the
+server, and the server also has a name by which it identifies itself
+to the client. Generally the genuine client shares some secret (or
+password) with the server, and authenticates itself by proving that it
+knows that secret. Very often, the names used for authentication
+correspond to the internet hostnames of the peers, but this is not
+essential.
+.LP
+At present, pppd supports two authentication protocols: the Password
+Authentication Protocol (PAP) and the Challenge Handshake
+Authentication Protocol (CHAP). PAP involves the client sending its
+name and a cleartext password to the server to authenticate itself.
+In contrast, the server initiates the CHAP authentication exchange by
+sending a challenge to the client (the challenge packet includes the
+server's name). The client must respond with a response which
+includes its name plus a hash value derived from the shared secret and
+the challenge, in order to prove that it knows the secret.
+.LP
+The PPP protocol, being symmetrical, allows both peers to require the
+other to authenticate itself. In that case, two separate and
+independent authentication exchanges will occur. The two exchanges
+could use different authentication protocols, and in principle,
+different names could be used in the two exchanges.
+.LP
+The default behaviour of pppd is to agree to authenticate if
+requested, and to not require authentication from the peer. However,
+pppd will not agree to authenticate itself with a particular protocol
+if it has no secrets which could be used to do so.
+.LP
+Pppd stores secrets for use in authentication in secrets
+files (/etc/ppp/pap-secrets for PAP, /etc/ppp/chap-secrets for CHAP).
+Both secrets files have the same format. The secrets files can
+contain secrets for pppd to use in authenticating itself to other
+systems, as well as secrets for pppd to use when authenticating other
+systems to itself.
+.LP
+Each line in a secrets file contains one secret. A given secret is
+specific to a particular combination of client and server - it can
+only be used by that client to authenticate itself to that server.
+Thus each line in a secrets file has at least 3 fields: the name of
+the client, the name of the server, and the secret. These fields may
+be followed by a list of the IP addresses that the specified client
+may use when connecting to the specified server.
+.LP
+A secrets file is parsed into words as for a options file, so the
+client name, server name and secrets fields must each be one word,
+with any embedded spaces or other special characters quoted or
+escaped. Note that case is significant in the client and server names
+and in the secret.
+.LP
+If the secret starts with an `@', what follows is assumed to be the
+name of a file from which to read the secret. A "*" as the client or
+server name matches any name. When selecting a secret, pppd takes the
+best match, i.e. the match with the fewest wildcards.
+.LP
+Any following words on the same line are taken to be a list of
+acceptable IP addresses for that client. If there are only 3 words on
+the line, or if the first word is "-", then all IP addresses are
+disallowed. To allow any address, use "*". A word starting with "!"
+indicates that the specified address is \fInot\fR acceptable. An
+address may be followed by "/" and a number \fIn\fR, to indicate a
+whole subnet, i.e. all addresses which have the same value in the most
+significant \fIn\fR bits. In this form, the address may be followed
+by a plus sign ("+") to indicate that one address from the subnet is
+authorized, based on the ppp network interface unit number in use.
+In this case, the host part of the address will be set to the unit
+number plus one.
+.LP
+Thus a secrets file contains both secrets for use in authenticating
+other hosts, plus secrets which we use for authenticating ourselves to
+others. When pppd is authenticating the peer (checking the peer's
+identity), it chooses a secret with the peer's name in the first
+field and the name of the local system in the second field. The
+name of the local system defaults to the hostname, with the domain
+name appended if the \fIdomain\fR option is used. This default can be
+overridden with the \fIname\fR option, except when the
+\fIusehostname\fR option is used.
+.LP
+When pppd is choosing a secret to use in authenticating itself to the
+peer, it first determines what name it is going to use to identify
+itself to the peer. This name can be specified by the user with the
+\fIuser\fR option. If this option is not used, the name defaults to
+the name of the local system, determined as described in the previous
+paragraph. Then pppd looks for a secret with this name in the first
+field and the peer's name in the second field. Pppd will know the
+name of the peer if CHAP authentication is being used, because the
+peer will have sent it in the challenge packet. However, if PAP is being
+used, pppd will have to determine the peer's name from the options
+specified by the user. The user can specify the peer's name directly
+with the \fIremotename\fR option. Otherwise, if the remote IP address
+was specified by a name (rather than in numeric form), that name will
+be used as the peer's name. Failing that, pppd will use the null
+string as the peer's name.
+.LP
+When authenticating the peer with PAP, the supplied password is first
+compared with the secret from the secrets file. If the password
+doesn't match the secret, the password is encrypted using crypt() and
+checked against the secret again. Thus secrets for authenticating the
+peer can be stored in encrypted form if desired. If the
+\fIpapcrypt\fR option is given, the first (unencrypted) comparison is
+omitted, for better security.
+.LP
+Furthermore, if the \fIlogin\fR option was specified, the username and
+password are also checked against the system password database. Thus,
+the system administrator can set up the pap-secrets file to allow PPP
+access only to certain users, and to restrict the set of IP addresses
+that each user can use. Typically, when using the \fIlogin\fR option,
+the secret in /etc/ppp/pap-secrets would be "", which will match any
+password supplied by the peer. This avoids the need to have the same
+secret in two places.
+.LP
+Authentication must be satisfactorily completed before IPCP (or any
+other Network Control Protocol) can be started. If the peer is
+required to authenticate itself, and fails to do so, pppd will
+terminated the link (by closing LCP). If IPCP negotiates an
+unacceptable IP address for the remote host, IPCP will be closed. IP
+packets can only be sent or received when IPCP is open.
+.LP
+In some cases it is desirable to allow some hosts which can't
+authenticate themselves to connect and use one of a restricted set of
+IP addresses, even when the local host generally requires
+authentication. If the peer refuses to authenticate itself when
+requested, pppd takes that as equivalent to authenticating with PAP
+using the empty string for the username and password. Thus, by adding
+a line to the pap-secrets file which specifies the empty string for
+the client and password, it is possible to allow restricted access to
+hosts which refuse to authenticate themselves.
+.SH ROUTING
+.LP
+When IPCP negotiation is completed successfully, pppd will inform the
+kernel of the local and remote IP addresses for the ppp interface.
+This is sufficient to create a host route to the remote end of the
+link, which will enable the peers to exchange IP packets.
+Communication with other machines generally requires further
+modification to routing tables and/or ARP (Address Resolution
+Protocol) tables. In most cases the \fIdefaultroute\fR and/or
+\fIproxyarp\fR options are sufficient for this, but in some cases
+further intervention is required. The /etc/ppp/ip-up script can be
+used for this.
+.LP
+Sometimes it is desirable to add a default route through the remote
+host, as in the case of a machine whose only connection to the
+Internet is through the ppp interface. The \fIdefaultroute\fR option
+causes pppd to create such a default route when IPCP comes up, and
+delete it when the link is terminated.
+.LP
+In some cases it is desirable to use proxy ARP, for example on a
+server machine connected to a LAN, in order to allow other hosts to
+communicate with the remote host. The \fIproxyarp\fR option causes
+pppd to look for a network interface on the same subnet as the remote
+host (an interface supporting broadcast and ARP, which is up and not a
+point-to-point or loopback interface). If found, pppd creates a
+permanent, published ARP entry with the IP address of the remote host
+and the hardware address of the network interface found.
+.LP
+When the \fIdemand\fR option is used, the interface IP addresses have
+already been set at the point when IPCP comes up. If pppd has not
+been able to negotiate the same addresses that it used to configure
+the interface (for example when the peer is an ISP that uses dynamic
+IP address assignment), pppd has to change the interface IP addresses
+to the negotiated addresses. This may disrupt existing connections,
+and the use of demand dialling with peers that do dynamic IP address
+assignment is not recommended.
+.SH MULTILINK
+Multilink PPP provides the capability to combine two or more PPP links
+between a pair of machines into a single `bundle', which appears as a
+single virtual PPP link which has the combined bandwidth of the
+individual links. Currently, multilink PPP is only supported under
+Linux.
+.LP
+Pppd detects that the link it is controlling is connected to the same
+peer as another link using the peer's endpoint discriminator and the
+authenticated identity of the peer (if it authenticates itself). The
+endpoint discriminator is a block of data which is hopefully unique
+for each peer. Several types of data can be used, including
+locally-assigned strings of bytes, IP addresses, MAC addresses,
+randomly strings of bytes, or E-164 phone numbers. The endpoint
+discriminator sent to the peer by pppd can be set using the endpoint
+option.
+.LP
+In circumstances the peer may send no endpoint discriminator or a
+non-unique value. The optional bundle option adds an extra string
+which is added to the peer's endpoint discriminator and authenticated
+identity when matching up links to be joined together in a bundle.
+The bundle option can also be used to allow the establishment of
+multiple bundles between the local system and the peer. Pppd uses a
+TDB database in /var/run/pppd.tdb to match up links.
+.LP
+Assuming that multilink is enabled and the peer is willing to
+negotiate multilink, then when pppd is invoked to bring up the first
+link to the peer, it will detect that no other link is connected to
+the peer and create a new bundle, that is, another ppp network
+interface unit. When another pppd is invoked to bring up another link
+to the peer, it will detect the existing bundle and join its link to
+it. Currently, if the first pppd terminates (for example, because of
+a hangup or a received signal) the bundle is destroyed.
+.SH EXAMPLES
+.LP
+The following examples assume that the /etc/ppp/options file contains
+the \fIauth\fR option (as in the default /etc/ppp/options file in the
+ppp distribution).
+.LP
+Probably the most common use of pppd is to dial out to an ISP. This
+can be done with a command such as
+.IP
+pppd call isp
+.LP
+where the /etc/ppp/peers/isp file is set up by the system
+administrator to contain something like this:
+.IP
+ttyS0 19200 crtscts
+.br
+connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
+.br
+noauth
+.LP
+In this example, we are using chat to dial the ISP's modem and go
+through any logon sequence required. The /etc/ppp/chat-isp file
+contains the script used by chat; it could for example contain
+something like this:
+.IP
+ABORT "NO CARRIER"
+.br
+ABORT "NO DIALTONE"
+.br
+ABORT "ERROR"
+.br
+ABORT "NO ANSWER"
+.br
+ABORT "BUSY"
+.br
+ABORT "Username/Password Incorrect"
+.br
+"" "at"
+.br
+OK "at&d0&c1"
+.br
+OK "atdt2468135"
+.br
+"name:" "^Umyuserid"
+.br
+"word:" "\\qmypassword"
+.br
+"ispts" "\\q^Uppp"
+.br
+"~-^Uppp-~"
+.LP
+See the chat(8) man page for details of chat scripts.
+.LP
+Pppd can also be used to provide a dial-in ppp service for users. If
+the users already have login accounts, the simplest way to set up the
+ppp service is to let the users log in to their accounts and run pppd
+(installed setuid-root) with a command such as
+.IP
+pppd proxyarp
+.LP
+To allow a user to use the PPP facilities, you need to allocate an IP
+address for that user's machine and create an entry in
+/etc/ppp/pap-secrets or /etc/ppp/chap-secrets (depending on which
+authentication method the PPP implementation on the user's machine
+supports), so that the user's
+machine can authenticate itself. For example, if Joe has a machine
+called "joespc" which is to be allowed to dial in to the machine
+called "server" and use the IP address joespc.my.net, you would add an
+entry like this to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
+.IP
+joespc server "joe's secret" joespc.my.net
+.LP
+Alternatively, you can create a username called (for example) "ppp",
+whose login shell is pppd and whose home directory is /etc/ppp.
+Options to be used when pppd is run this way can be put in
+/etc/ppp/.ppprc.
+.LP
+If your serial connection is any more complicated than a piece of
+wire, you may need to arrange for some control characters to be
+escaped. In particular, it is often useful to escape XON (^Q) and
+XOFF (^S), using \fIasyncmap a0000\fR. If the path includes a telnet,
+you probably should escape ^] as well (\fIasyncmap 200a0000\fR). If
+the path includes an rlogin, you will need to use the \fIescape ff\fR
+option on the end which is running the rlogin client, since many
+rlogin implementations are not transparent; they will remove the
+sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the
+stream.
+.SH DIAGNOSTICS
+.LP
+Messages are sent to the syslog daemon using facility LOG_DAEMON.
+(This can be overriden by recompiling pppd with the macro
+LOG_PPP defined as the desired facility.) In order to see the error
+and debug messages, you will need to edit your /etc/syslog.conf file
+to direct the messages to the desired output device or file.
+.LP
+The \fIdebug\fR option causes the contents of all control packets sent
+or received to be logged, that is, all LCP, PAP, CHAP or IPCP packets.
+This can be useful if the PPP negotiation does not succeed or if
+authentication fails.
+If debugging is enabled at compile time, the \fIdebug\fR option also
+causes other debugging messages to be logged.
+.LP
+Debugging can also be enabled or disabled by sending a SIGUSR1 signal
+to the pppd process. This signal acts as a toggle.
+.SH EXIT STATUS
+The exit status of pppd is set to indicate whether any error was
+detected, or the reason for the link being terminated. The values
+used are:
+.TP
+.B 0
+Pppd has detached, or otherwise the connection was successfully
+established and terminated at the peer's request.
+.TP
+.B 1
+An immediately fatal error of some kind occurred, such as an essential
+system call failing, or running out of virtual memory.
+.TP
+.B 2
+An error was detected in processing the options given, such as two
+mutually exclusive options being used.
+.TP
+.B 3
+Pppd is not setuid-root and the invoking user is not root.
+.TP
+.B 4
+The kernel does not support PPP, for example, the PPP kernel driver is
+not included or cannot be loaded.
+.TP
+.B 5
+Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP
+signal.
+.TP
+.B 6
+The serial port could not be locked.
+.TP
+.B 7
+The serial port could not be opened.
+.TP
+.B 8
+The connect script failed (returned a non-zero exit status).
+.TP
+.B 9
+The command specified as the argument to the \fIpty\fR option could
+not be run.
+.TP
+.B 10
+The PPP negotiation failed, that is, it didn't reach the point where
+at least one network protocol (e.g. IP) was running.
+.TP
+.B 11
+The peer system failed (or refused) to authenticate itself.
+.TP
+.B 12
+The link was established successfully and terminated because it was
+idle.
+.TP
+.B 13
+The link was established successfully and terminated because the
+connect time limit was reached.
+.TP
+.B 14
+Callback was negotiated and an incoming call should arrive shortly.
+.TP
+.B 15
+The link was terminated because the peer is not responding to echo
+requests.
+.TP
+.B 16
+The link was terminated by the modem hanging up.
+.TP
+.B 17
+The PPP negotiation failed because serial loopback was detected.
+.TP
+.B 18
+The init script failed (returned a non-zero exit status).
+.TP
+.B 19
+We failed to authenticate ourselves to the peer.
+.SH SCRIPTS
+Pppd invokes scripts at various stages in its processing which can be
+used to perform site-specific ancillary processing. These scripts are
+usually shell scripts, but could be executable code files instead.
+Pppd does not wait for the scripts to finish. The scripts are
+executed as root (with the real and effective user-id set to 0), so
+that they can do things such as update routing tables or run
+privileged daemons. Be careful that the contents of these scripts do
+not compromise your system's security. Pppd runs the scripts with
+standard input, output and error redirected to /dev/null, and with an
+environment that is empty except for some environment variables that
+give information about the link. The environment variables that pppd
+sets are:
+.TP
+.B DEVICE
+The name of the serial tty device being used.
+.TP
+.B IFNAME
+The name of the network interface being used.
+.TP
+.B IPLOCAL
+The IP address for the local end of the link. This is only set when
+IPCP has come up.
+.TP
+.B IPREMOTE
+The IP address for the remote end of the link. This is only set when
+IPCP has come up.
+.TP
+.B PEERNAME
+The authenticated name of the peer. This is only set if the peer
+authenticates itself.
+.TP
+.B SPEED
+The baud rate of the tty device.
+.TP
+.B ORIG_UID
+The real user-id of the user who invoked pppd.
+.TP
+.B PPPLOGNAME
+The username of the real user-id that invoked pppd. This is always set.
+.P
+For the ip-down and auth-down scripts, pppd also sets the following
+variables giving statistics for the connection:
+.TP
+.B CONNECT_TIME
+The number of seconds from when the PPP negotiation started until the
+connection was terminated.
+.TP
+.B BYTES_SENT
+The number of bytes sent (at the level of the serial port) during the
+connection.
+.TP
+.B BYTES_RCVD
+The number of bytes received (at the level of the serial port) during
+the connection.
+.TP
+.B LINKNAME
+The logical name of the link, set with the \fIlinkname\fR option.
+.P
+Pppd invokes the following scripts, if they exist. It is not an error
+if they don't exist.
+.TP
+.B /etc/ppp/auth-up
+A program or script which is executed after the remote system
+successfully authenticates itself. It is executed with the parameters
+.IP
+\fIinterface-name peer-name user-name tty-device speed\fR
+.IP
+Note that this script is not executed if the peer doesn't authenticate
+itself, for example when the \fInoauth\fR option is used.
+.TP
+.B /etc/ppp/auth-down
+A program or script which is executed when the link goes down, if
+/etc/ppp/auth-up was previously executed. It is executed in the same
+manner with the same parameters as /etc/ppp/auth-up.
+.TP
+.B /etc/ppp/ip-up
+A program or script which is executed when the link is available for
+sending and receiving IP packets (that is, IPCP has come up). It is
+executed with the parameters
+.IP
+\fIinterface-name tty-device speed local-IP-address
+remote-IP-address ipparam\fR
+.TP
+.B /etc/ppp/ip-down
+A program or script which is executed when the link is no longer
+available for sending and receiving IP packets. This script can be
+used for undoing the effects of the /etc/ppp/ip-up script. It is
+invoked in the same manner and with the same parameters as the ip-up
+script.
+.TP
+.B /etc/ppp/ipv6-up
+Like /etc/ppp/ip-up, except that it is executed when the link is available
+for sending and receiving IPv6 packets. It is executed with the parameters
+.IP
+\fIinterface-name tty-device speed local-link-local-address
+remote-link-local-address ipparam\fR
+.TP
+.B /etc/ppp/ipv6-down
+Similar to /etc/ppp/ip-down, but it is executed when IPv6 packets can no
+longer be transmitted on the link. It is executed with the same parameters
+as the ipv6-up script.
+.TP
+.B /etc/ppp/ipx-up
+A program or script which is executed when the link is available for
+sending and receiving IPX packets (that is, IPXCP has come up). It is
+executed with the parameters
+.IP
+\fIinterface-name tty-device speed network-number local-IPX-node-address
+remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol
+local-IPX-router-name remote-IPX-router-name ipparam pppd-pid\fR
+.IP
+The local-IPX-routing-protocol and remote-IPX-routing-protocol field
+may be one of the following:
+.IP
+NONE to indicate that there is no routing protocol
+.br
+RIP to indicate that RIP/SAP should be used
+.br
+NLSP to indicate that Novell NLSP should be used
+.br
+RIP NLSP to indicate that both RIP/SAP and NLSP should be used
+.TP
+.B /etc/ppp/ipx-down
+A program or script which is executed when the link is no longer
+available for sending and receiving IPX packets. This script can be
+used for undoing the effects of the /etc/ppp/ipx-up script. It is
+invoked in the same manner and with the same parameters as the ipx-up
+script.
+.SH FILES
+.TP
+.B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
+Process-ID for pppd process on ppp interface unit \fIn\fR.
+.TP
+.B /var/run/ppp-\fIname\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp-\fIname\fB.pid \fR(others)
+Process-ID for pppd process for logical link \fIname\fR (see the
+\fIlinkname\fR option).
+.TP
+.B /etc/ppp/pap-secrets
+Usernames, passwords and IP addresses for PAP authentication. This
+file should be owned by root and not readable or writable by any other
+user. Pppd will log a warning if this is not the case.
+.TP
+.B /etc/ppp/chap-secrets
+Names, secrets and IP addresses for CHAP authentication. As for
+/etc/ppp/pap-secrets, this file should be owned by root and not
+readable or writable by any other user. Pppd will log a warning if
+this is not the case.
+.TP
+.B /etc/ppp/options
+System default options for pppd, read before user default options or
+command-line options.
+.TP
+.B ~/.ppprc
+User default options, read before /etc/ppp/options.\fIttyname\fR.
+.TP
+.B /etc/ppp/options.\fIttyname
+System default options for the serial port being used, read after
+~/.ppprc. In forming the \fIttyname\fR part of this
+filename, an initial /dev/ is stripped from the port name (if
+present), and any slashes in the remaining part are converted to
+dots.
+.TP
+.B /etc/ppp/peers
+A directory containing options files which may contain privileged
+options, even if pppd was invoked by a user other than root. The
+system administrator can create options files in this directory to
+permit non-privileged users to dial out without requiring the peer to
+authenticate, but only to certain trusted peers.
+.SH SEE ALSO
+.TP
+.B RFC1144
+Jacobson, V.
+\fICompressing TCP/IP headers for low-speed serial links.\fR
+February 1990.
+.TP
+.B RFC1321
+Rivest, R.
+.I The MD5 Message-Digest Algorithm.
+April 1992.
+.TP
+.B RFC1332
+McGregor, G.
+.I PPP Internet Protocol Control Protocol (IPCP).
+May 1992.
+.TP
+.B RFC1334
+Lloyd, B.; Simpson, W.A.
+.I PPP authentication protocols.
+October 1992.
+.TP
+.B RFC1661
+Simpson, W.A.
+.I The Point\-to\-Point Protocol (PPP).
+July 1994.
+.TP
+.B RFC1662
+Simpson, W.A.
+.I PPP in HDLC-like Framing.
+July 1994.
+.TP
+.B RFC2472
+Haskin, D.
+.I IP Version 6 over PPP
+December 1998.
+.SH NOTES
+The following signals have the specified effect when sent to pppd.
+.TP
+.B SIGINT, SIGTERM
+These signals cause pppd to terminate the link (by closing LCP),
+restore the serial device settings, and exit.
+.TP
+.B SIGHUP
+This signal causes pppd to terminate the link, restore the serial
+device settings, and close the serial device. If the \fIpersist\fR or
+\fIdemand\fR option has been specified, pppd will try to reopen the
+serial device and start another connection (after the holdoff period).
+Otherwise pppd will exit. If this signal is received during the
+holdoff period, it causes pppd to end the holdoff period immediately.
+.TP
+.B SIGUSR1
+This signal toggles the state of the \fIdebug\fR option.
+.TP
+.B SIGUSR2
+This signal causes pppd to renegotiate compression. This can be
+useful to re-enable compression after it has been disabled as a result
+of a fatal decompression error. (Fatal decompression errors generally
+indicate a bug in one or other implementation.)
+
+.SH AUTHORS
+Paul Mackerras (Paul.Mackerras@cs.anu.edu.au), based on earlier work by
+Drew Perkins,
+Brad Clements,
+Karl Fox,
+Greg Christy,
+and
+Brad Parker.
diff --git a/mdk-stage1/ppp/pppd/pppd.h b/mdk-stage1/ppp/pppd/pppd.h
new file mode 100644
index 000000000..9c2f520b0
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/pppd.h
@@ -0,0 +1,787 @@
+/*
+ * pppd.h - PPP daemon global declarations.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: pppd.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * TODO:
+ */
+
+#ifndef __PPPD_H__
+#define __PPPD_H__
+
+#include <stdio.h> /* for FILE */
+#include <limits.h> /* for NGROUPS_MAX */
+#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
+#include <sys/types.h> /* for u_int32_t, if defined */
+#include <sys/time.h> /* for struct timeval */
+#include <net/ppp_defs.h>
+#include "patchlevel.h"
+
+#if defined(__STDC__)
+#include <stdarg.h>
+#define __V(x) x
+#else
+#include <varargs.h>
+#define __V(x) (va_alist) va_dcl
+#define const
+#define volatile
+#endif
+
+#ifdef INET6
+#include "eui64.h"
+#endif
+
+/*
+ * Limits.
+ */
+
+#define NUM_PPP 1 /* One PPP interface supported (per process) */
+#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
+#define MAXARGS 1 /* max # args to a command */
+#define MAXNAMELEN 256 /* max length of hostname or name for auth */
+#define MAXSECRETLEN 256 /* max length of password or secret */
+
+/*
+ * Option descriptor structure.
+ */
+
+typedef unsigned char bool;
+
+enum opt_type {
+ o_special_noarg = 0,
+ o_special = 1,
+ o_bool,
+ o_int,
+ o_uint32,
+ o_string,
+ o_wild,
+};
+
+typedef struct {
+ char *name; /* name of the option */
+ enum opt_type type;
+ void *addr;
+ char *description;
+ int flags;
+ void *addr2;
+ int upper_limit;
+ int lower_limit;
+ const char *source;
+ short int priority;
+ short int winner;
+} option_t;
+
+/* Values for flags */
+#define OPT_VALUE 0xff /* mask for presupplied value */
+#define OPT_HEX 0x100 /* int option is in hex */
+#define OPT_NOARG 0x200 /* option doesn't take argument */
+#define OPT_OR 0x400 /* OR in argument to value */
+#define OPT_INC 0x800 /* increment value */
+#define OPT_PRIV 0x1000 /* privileged option */
+#define OPT_STATIC 0x2000 /* string option goes into static array */
+#define OPT_LLIMIT 0x4000 /* check value against lower limit */
+#define OPT_ULIMIT 0x8000 /* check value against upper limit */
+#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
+#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
+#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
+#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
+#define OPT_NOINCR 0x20000 /* value mustn't be increased */
+#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
+#define OPT_PRIO 0x80000 /* process option priorities for this option */
+#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
+#define OPT_ALIAS 0x200000 /* option is alias for previous option */
+#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
+#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
+#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
+#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
+#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
+#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
+#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
+#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
+#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
+#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
+
+#define OPT_VAL(x) ((x) & OPT_VALUE)
+
+/* Values for priority */
+#define OPRIO_DEFAULT 0 /* a default value */
+#define OPRIO_CFGFILE 1 /* value from a configuration file */
+#define OPRIO_CMDLINE 2 /* value from the command line */
+#define OPRIO_SECFILE 3 /* value from options in a secrets file */
+#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
+
+#ifndef GIDSET_TYPE
+#define GIDSET_TYPE gid_t
+#endif
+
+/* Structure representing a list of permitted IP addresses. */
+struct permitted_ip {
+ int permit; /* 1 = permit, 0 = forbid */
+ u_int32_t base; /* match if (addr & mask) == base */
+ u_int32_t mask; /* base and mask are in network byte order */
+};
+
+/*
+ * Unfortunately, the linux kernel driver uses a different structure
+ * for statistics from the rest of the ports.
+ * This structure serves as a common representation for the bits
+ * pppd needs.
+ */
+struct pppd_stats {
+ unsigned int bytes_in;
+ unsigned int bytes_out;
+};
+
+/* Used for storing a sequence of words. Usually malloced. */
+struct wordlist {
+ struct wordlist *next;
+ char *word;
+};
+
+/* An endpoint discriminator, used with multilink. */
+#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
+struct epdisc {
+ unsigned char class;
+ unsigned char length;
+ unsigned char value[MAX_ENDP_LEN];
+};
+
+/* values for epdisc.class */
+#define EPD_NULL 0 /* null discriminator, no data */
+#define EPD_LOCAL 1
+#define EPD_IP 2
+#define EPD_MAC 3
+#define EPD_MAGIC 4
+#define EPD_PHONENUM 5
+
+typedef void (*notify_func) __P((void *, int));
+
+struct notifier {
+ struct notifier *next;
+ notify_func func;
+ void *arg;
+};
+
+/*
+ * Global variables.
+ */
+
+extern int hungup; /* Physical layer has disconnected */
+extern int ifunit; /* Interface unit number */
+extern char ifname[]; /* Interface name */
+extern char hostname[]; /* Our hostname */
+extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
+extern int phase; /* Current state of link - see values below */
+extern int baud_rate; /* Current link speed in bits/sec */
+extern char *progname; /* Name of this program */
+extern int redirect_stderr;/* Connector's stderr should go to file */
+extern char peer_authname[];/* Authenticated name of peer */
+extern int privileged; /* We were run by real-uid root */
+extern int need_holdoff; /* Need holdoff period after link terminates */
+extern char **script_env; /* Environment variables for scripts */
+extern int detached; /* Have detached from controlling tty */
+extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
+extern int ngroups; /* How many groups valid in groups */
+extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
+extern int link_stats_valid; /* set if link_stats is valid */
+extern int link_connect_time; /* time the link was up for */
+extern int using_pty; /* using pty as device (notty or pty opt.) */
+extern int log_to_fd; /* logging to this fd as well as syslog */
+extern bool log_default; /* log_to_fd is default (stdout) */
+extern char *no_ppp_msg; /* message to print if ppp not in kernel */
+extern volatile int status; /* exit status for pppd */
+extern bool devnam_fixed; /* can no longer change devnam */
+extern int unsuccess; /* # unsuccessful connection attempts */
+extern int do_callback; /* set if we want to do callback next */
+extern int doing_callback; /* set if this is a callback */
+extern char ppp_devnam[MAXPATHLEN];
+extern struct notifier *pidchange; /* for notifications of pid changing */
+extern struct notifier *phasechange; /* for notifications of phase changes */
+extern struct notifier *exitnotify; /* for notification that we're exiting */
+extern struct notifier *sigreceived; /* notification of received signal */
+extern int listen_time; /* time to listen first (ms) */
+
+/* Values for do_callback and doing_callback */
+#define CALLBACK_DIALIN 1 /* we are expecting the call back */
+#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
+
+/*
+ * Variables set by command-line options.
+ */
+
+extern int debug; /* Debug flag */
+extern int kdebugflag; /* Tell kernel to print debug messages */
+extern int default_device; /* Using /dev/tty or equivalent */
+extern char devnam[MAXPATHLEN]; /* Device name */
+extern int crtscts; /* Use hardware flow control */
+extern bool modem; /* Use modem control lines */
+extern int inspeed; /* Input/Output speed requested */
+extern u_int32_t netmask; /* IP netmask to set on interface */
+extern bool lockflag; /* Create lock file to lock the serial dev */
+extern bool nodetach; /* Don't detach from controlling tty */
+extern bool updetach; /* Detach from controlling tty when link up */
+extern char *initializer; /* Script to initialize physical link */
+extern char *connect_script; /* Script to establish physical link */
+extern char *disconnect_script; /* Script to disestablish physical link */
+extern char *welcomer; /* Script to welcome client after connection */
+extern char *ptycommand; /* Command to run on other side of pty */
+extern int maxconnect; /* Maximum connect time (seconds) */
+extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
+extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
+extern bool auth_required; /* Peer is required to authenticate */
+extern bool persist; /* Reopen link after it goes down */
+extern bool uselogin; /* Use /etc/passwd for checking PAP */
+extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
+extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
+extern bool explicit_remote;/* remote_name specified with remotename opt */
+extern bool demand; /* Do dial-on-demand */
+extern char *ipparam; /* Extra parameter for ip up/down scripts */
+extern bool cryptpap; /* Others' PAP passwords are encrypted */
+extern int idle_time_limit;/* Shut down link if idle for this long */
+extern int holdoff; /* Dead time before restarting */
+extern bool holdoff_specified; /* true if user gave a holdoff value */
+extern bool notty; /* Stdin/out is not a tty */
+extern char *pty_socket; /* Socket to connect to pty */
+extern char *record_file; /* File to record chars sent/received */
+extern bool sync_serial; /* Device is synchronous serial device */
+extern int maxfail; /* Max # of unsuccessful connection attempts */
+extern char linkname[MAXPATHLEN]; /* logical name for link */
+extern bool tune_kernel; /* May alter kernel settings as necessary */
+extern int connect_delay; /* Time to delay after connect script */
+extern int max_data_rate; /* max bytes/sec through charshunt */
+extern int req_unit; /* interface unit number to use */
+extern bool multilink; /* enable multilink operation */
+extern bool noendpoint; /* don't send or accept endpt. discrim. */
+extern char *bundle_name; /* bundle name for multilink */
+extern bool dump_options; /* print out option values */
+extern bool dryrun; /* check everything, print options, exit */
+
+#ifdef PPP_FILTER
+extern struct bpf_program pass_filter; /* Filter for pkts to pass */
+extern struct bpf_program active_filter; /* Filter for link-active pkts */
+#endif
+
+#ifdef MSLANMAN
+extern bool ms_lanman; /* Use LanMan password instead of NT */
+ /* Has meaning only with MS-CHAP challenges */
+#endif
+
+extern char *current_option; /* the name of the option being parsed */
+extern int privileged_option; /* set iff the current option came from root */
+extern char *option_source; /* string saying where the option came from */
+extern int option_priority; /* priority of current options */
+
+/*
+ * Values for phase.
+ */
+#define PHASE_DEAD 0
+#define PHASE_INITIALIZE 1
+#define PHASE_SERIALCONN 2
+#define PHASE_DORMANT 3
+#define PHASE_ESTABLISH 4
+#define PHASE_AUTHENTICATE 5
+#define PHASE_CALLBACK 6
+#define PHASE_NETWORK 7
+#define PHASE_RUNNING 8
+#define PHASE_TERMINATE 9
+#define PHASE_DISCONNECT 10
+#define PHASE_HOLDOFF 11
+
+/*
+ * The following struct gives the addresses of procedures to call
+ * for a particular protocol.
+ */
+struct protent {
+ u_short protocol; /* PPP protocol number */
+ /* Initialization procedure */
+ void (*init) __P((int unit));
+ /* Process a received packet */
+ void (*input) __P((int unit, u_char *pkt, int len));
+ /* Process a received protocol-reject */
+ void (*protrej) __P((int unit));
+ /* Lower layer has come up */
+ void (*lowerup) __P((int unit));
+ /* Lower layer has gone down */
+ void (*lowerdown) __P((int unit));
+ /* Open the protocol */
+ void (*open) __P((int unit));
+ /* Close the protocol */
+ void (*close) __P((int unit, char *reason));
+ /* Print a packet in readable form */
+ int (*printpkt) __P((u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+ void *arg));
+ /* Process a received data packet */
+ void (*datainput) __P((int unit, u_char *pkt, int len));
+ bool enabled_flag; /* 0 iff protocol is disabled */
+ char *name; /* Text name of protocol */
+ char *data_name; /* Text name of corresponding data protocol */
+ option_t *options; /* List of command-line options */
+ /* Check requested options, assign defaults */
+ void (*check_options) __P((void));
+ /* Configure interface for demand-dial */
+ int (*demand_conf) __P((int unit));
+ /* Say whether to bring up link for this pkt */
+ int (*active_pkt) __P((u_char *pkt, int len));
+};
+
+/* Table of pointers to supported protocols */
+extern struct protent *protocols[];
+
+/*
+ * This struct contains pointers to a set of procedures for
+ * doing operations on a "channel". A channel provides a way
+ * to send and receive PPP packets - the canonical example is
+ * a serial port device in PPP line discipline (or equivalently
+ * with PPP STREAMS modules pushed onto it).
+ */
+struct channel {
+ /* set of options for this channel */
+ option_t *options;
+ /* find and process a per-channel options file */
+ void (*process_extra_options) __P((void));
+ /* check all the options that have been given */
+ void (*check_options) __P((void));
+ /* get the channel ready to do PPP, return a file descriptor */
+ int (*connect) __P((void));
+ /* we're finished with the channel */
+ void (*disconnect) __P((void));
+ /* put the channel into PPP `mode' */
+ int (*establish_ppp) __P((int));
+ /* take the channel out of PPP `mode', restore loopback if demand */
+ void (*disestablish_ppp) __P((int));
+ /* set the transmit-side PPP parameters of the channel */
+ void (*send_config) __P((int, u_int32_t, int, int));
+ /* set the receive-side PPP parameters of the channel */
+ void (*recv_config) __P((int, u_int32_t, int, int));
+ /* cleanup on error or normal exit */
+ void (*cleanup) __P((void));
+ /* close the device, called in children after fork */
+ void (*close) __P((void));
+};
+
+extern struct channel *the_channel;
+
+#define ppp_send_config(unit, mtu, accm, pc, acc) \
+do { \
+ if (the_channel->send_config) \
+ (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
+} while (0)
+
+#define ppp_recv_config(unit, mtu, accm, pc, acc) \
+do { \
+ if (the_channel->send_config) \
+ (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
+} while (0)
+
+/*
+ * Prototypes.
+ */
+
+/* Procedures exported from main.c. */
+void set_ifunit __P((int)); /* set stuff that depends on ifunit */
+void detach __P((void)); /* Detach from controlling tty */
+void die __P((int)); /* Cleanup and exit */
+void quit __P((void)); /* like die(1) */
+void novm __P((char *)); /* Say we ran out of memory, and die */
+void timeout __P((void (*func)(void *), void *arg, int s, int us));
+ /* Call func(arg) after s.us seconds */
+void untimeout __P((void (*func)(void *), void *arg));
+ /* Cancel call to func(arg) */
+void record_child __P((int, char *, void (*) (void *), void *));
+int device_script __P((char *cmd, int in, int out, int dont_wait));
+ /* Run `cmd' with given stdin and stdout */
+pid_t run_program __P((char *prog, char **args, int must_exist,
+ void (*done)(void *), void *arg));
+ /* Run program prog with args in child */
+void reopen_log __P((void)); /* (re)open the connection to syslog */
+void update_link_stats __P((int)); /* Get stats at link termination */
+void script_setenv __P((char *, char *, int)); /* set script env var */
+void script_unsetenv __P((char *)); /* unset script env var */
+void new_phase __P((int)); /* signal start of new phase */
+void add_notifier __P((struct notifier **, notify_func, void *));
+void remove_notifier __P((struct notifier **, notify_func, void *));
+void notify __P((struct notifier *, int));
+
+/* Procedures exported from tty.c. */
+void tty_init __P((void));
+
+/* Procedures exported from utils.c. */
+void log_packet __P((u_char *, int, char *, int));
+ /* Format a packet and log it with syslog */
+void print_string __P((char *, int, void (*) (void *, char *, ...),
+ void *)); /* Format a string for output */
+int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
+int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
+size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
+size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
+void dbglog __P((char *, ...)); /* log a debug message */
+void info __P((char *, ...)); /* log an informational message */
+void notice __P((char *, ...)); /* log a notice-level message */
+void warn __P((char *, ...)); /* log a warning message */
+void error __P((char *, ...)); /* log an error message */
+void fatal __P((char *, ...)); /* log an error message and die(1) */
+void init_pr_log __P((char *, int)); /* initialize for using pr_log */
+void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
+void end_pr_log __P((void)); /* finish up after using pr_log */
+
+/* Procedures exported from auth.c */
+void link_required __P((int)); /* we are starting to use the link */
+void link_terminated __P((int)); /* we are finished with the link */
+void link_down __P((int)); /* the LCP layer has left the Opened state */
+void link_established __P((int)); /* the link is up; authenticate now */
+void start_networks __P((void)); /* start all the network control protos */
+void np_up __P((int, int)); /* a network protocol has come up */
+void np_down __P((int, int)); /* a network protocol has gone down */
+void np_finished __P((int, int)); /* a network protocol no longer needs link */
+void auth_peer_fail __P((int, int));
+ /* peer failed to authenticate itself */
+void auth_peer_success __P((int, int, char *, int));
+ /* peer successfully authenticated itself */
+void auth_withpeer_fail __P((int, int));
+ /* we failed to authenticate ourselves */
+void auth_withpeer_success __P((int, int));
+ /* we successfully authenticated ourselves */
+void auth_check_options __P((void));
+ /* check authentication options supplied */
+void auth_reset __P((int)); /* check what secrets we have */
+int check_passwd __P((int, char *, int, char *, int, char **));
+ /* Check peer-supplied username/password */
+int get_secret __P((int, char *, char *, char *, int *, int));
+ /* get "secret" for chap */
+int auth_ip_addr __P((int, u_int32_t));
+ /* check if IP address is authorized */
+int bad_ip_adrs __P((u_int32_t));
+ /* check if IP address is unreasonable */
+
+/* Procedures exported from demand.c */
+void demand_conf __P((void)); /* config interface(s) for demand-dial */
+void demand_block __P((void)); /* set all NPs to queue up packets */
+void demand_unblock __P((void)); /* set all NPs to pass packets */
+void demand_discard __P((void)); /* set all NPs to discard packets */
+void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
+int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
+int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
+
+/* Procedures exported from multilink.c */
+void mp_check_options __P((void)); /* Check multilink-related options */
+int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
+char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
+int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
+
+/* Procedures exported from sys-*.c */
+void sys_init __P((void)); /* Do system-dependent initialization */
+void sys_cleanup __P((void)); /* Restore system state before exiting */
+int sys_check_options __P((void)); /* Check options specified */
+void sys_close __P((void)); /* Clean up in a child before execing */
+int ppp_available __P((void)); /* Test whether ppp kernel support exists */
+int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
+int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
+int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
+void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
+void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
+int bundle_attach __P((int)); /* Attach link to existing bundle */
+void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
+void clean_check __P((void)); /* Check if line was 8-bit clean */
+void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
+void restore_tty __P((int)); /* Restore port's original parameters */
+void setdtr __P((int, int)); /* Raise or lower port's DTR line */
+void output __P((int, u_char *, int)); /* Output a PPP packet */
+void wait_input __P((struct timeval *));
+ /* Wait for input, with timeout */
+void add_fd __P((int)); /* Add fd to set to wait for */
+void remove_fd __P((int)); /* Remove fd from set to wait for */
+int read_packet __P((u_char *)); /* Read PPP packet */
+int get_loop_output __P((void)); /* Read pkts from loopback */
+void tty_send_config __P((int, u_int32_t, int, int));
+ /* Configure i/f transmit parameters */
+void tty_set_xaccm __P((ext_accm));
+ /* Set extended transmit ACCM */
+void tty_recv_config __P((int, u_int32_t, int, int));
+ /* Configure i/f receive parameters */
+int ccp_test __P((int, u_char *, int, int));
+ /* Test support for compression scheme */
+void ccp_flags_set __P((int, int, int));
+ /* Set kernel CCP state */
+int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
+int get_idle_time __P((int, struct ppp_idle *));
+ /* Find out how long link has been idle */
+int get_ppp_stats __P((int, struct pppd_stats *));
+ /* Return link statistics */
+void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
+int sifvjcomp __P((int, int, int, int));
+ /* Configure VJ TCP header compression */
+int sifup __P((int)); /* Configure i/f up for one protocol */
+int sifnpmode __P((int u, int proto, enum NPmode mode));
+ /* Set mode for handling packets for proto */
+int sifdown __P((int)); /* Configure i/f down for one protocol */
+int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
+ /* Configure IPv4 addresses for i/f */
+int cifaddr __P((int, u_int32_t, u_int32_t));
+ /* Reset i/f IP addresses */
+#ifdef INET6
+int sif6addr __P((int, eui64_t, eui64_t));
+ /* Configure IPv6 addresses for i/f */
+int cif6addr __P((int, eui64_t, eui64_t));
+ /* Remove an IPv6 address from i/f */
+#endif
+int sifdefaultroute __P((int, u_int32_t, u_int32_t));
+ /* Create default route through i/f */
+int cifdefaultroute __P((int, u_int32_t, u_int32_t));
+ /* Delete default route through i/f */
+int sifproxyarp __P((int, u_int32_t));
+ /* Add proxy ARP entry for peer */
+int cifproxyarp __P((int, u_int32_t));
+ /* Delete proxy ARP entry for peer */
+u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
+int lock __P((char *)); /* Create lock file for device */
+int relock __P((int)); /* Rewrite lock file with new pid */
+void unlock __P((void)); /* Delete previously-created lock file */
+int get_host_seed __P((void)); /* Get host-dependent random number seed */
+int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
+#ifdef PPP_FILTER
+int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
+ /* Set filter programs in kernel */
+#endif
+#ifdef IPX_CHANGE
+int sipxfaddr __P((int, unsigned long, unsigned char *));
+int cipxfaddr __P((int));
+#endif
+int get_if_hwaddr __P((u_char *addr, char *name));
+char *get_first_ethernet __P((void));
+
+/* Procedures exported from options.c */
+int parse_args __P((int argc, char **argv));
+ /* Parse options from arguments given */
+int options_from_file __P((char *filename, int must_exist, int check_prot,
+ int privileged));
+ /* Parse options from an options file */
+int options_from_user __P((void)); /* Parse options from user's .ppprc */
+int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
+int options_from_list __P((struct wordlist *, int privileged));
+ /* Parse options from a wordlist */
+int getword __P((FILE *f, char *word, int *newlinep, char *filename));
+ /* Read a word from a file */
+void option_error __P((char *fmt, ...));
+ /* Print an error message about an option */
+int int_option __P((char *, int *));
+ /* Simplified number_option for decimal ints */
+void add_options __P((option_t *)); /* Add extra options */
+void check_options __P((void)); /* check values after all options parsed */
+int override_value __P((const char *, int, const char *));
+ /* override value if permitted by priority */
+void print_options __P((void (*) __P((void *, char *, ...)), void *));
+ /* print out values of all options */
+
+int parse_dotted_ip __P((char *, u_int32_t *));
+
+/*
+ * Hooks to enable plugins to change various things.
+ */
+extern int (*new_phase_hook) __P((int));
+extern int (*idle_time_hook) __P((struct ppp_idle *));
+extern int (*holdoff_hook) __P((void));
+extern int (*pap_check_hook) __P((void));
+extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
+ struct wordlist **paddrs,
+ struct wordlist **popts));
+extern void (*pap_logout_hook) __P((void));
+extern int (*pap_passwd_hook) __P((char *user, char *passwd));
+extern void (*ip_up_hook) __P((void));
+extern void (*ip_down_hook) __P((void));
+extern void (*ip_choose_hook) __P((u_int32_t *));
+
+/*
+ * Inline versions of get/put char/short/long.
+ * Pointer is advanced; we assume that both arguments
+ * are lvalues and will already be in registers.
+ * cp MUST be u_char *.
+ */
+#define GETCHAR(c, cp) { \
+ (c) = *(cp)++; \
+}
+#define PUTCHAR(c, cp) { \
+ *(cp)++ = (u_char) (c); \
+}
+
+
+#define GETSHORT(s, cp) { \
+ (s) = *(cp)++ << 8; \
+ (s) |= *(cp)++; \
+}
+#define PUTSHORT(s, cp) { \
+ *(cp)++ = (u_char) ((s) >> 8); \
+ *(cp)++ = (u_char) (s); \
+}
+
+#define GETLONG(l, cp) { \
+ (l) = *(cp)++ << 8; \
+ (l) |= *(cp)++; (l) <<= 8; \
+ (l) |= *(cp)++; (l) <<= 8; \
+ (l) |= *(cp)++; \
+}
+#define PUTLONG(l, cp) { \
+ *(cp)++ = (u_char) ((l) >> 24); \
+ *(cp)++ = (u_char) ((l) >> 16); \
+ *(cp)++ = (u_char) ((l) >> 8); \
+ *(cp)++ = (u_char) (l); \
+}
+
+#define INCPTR(n, cp) ((cp) += (n))
+#define DECPTR(n, cp) ((cp) -= (n))
+
+/*
+ * System dependent definitions for user-level 4.3BSD UNIX implementation.
+ */
+
+#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
+#define UNTIMEOUT(r, f) untimeout((r), (f))
+
+#define BCOPY(s, d, l) memcpy(d, s, l)
+#define BZERO(s, n) memset(s, 0, n)
+
+#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
+
+/*
+ * MAKEHEADER - Add Header fields to a packet.
+ */
+#define MAKEHEADER(p, t) { \
+ PUTCHAR(PPP_ALLSTATIONS, p); \
+ PUTCHAR(PPP_UI, p); \
+ PUTSHORT(t, p); }
+
+/*
+ * Exit status values.
+ */
+#define EXIT_OK 0
+#define EXIT_FATAL_ERROR 1
+#define EXIT_OPTION_ERROR 2
+#define EXIT_NOT_ROOT 3
+#define EXIT_NO_KERNEL_SUPPORT 4
+#define EXIT_USER_REQUEST 5
+#define EXIT_LOCK_FAILED 6
+#define EXIT_OPEN_FAILED 7
+#define EXIT_CONNECT_FAILED 8
+#define EXIT_PTYCMD_FAILED 9
+#define EXIT_NEGOTIATION_FAILED 10
+#define EXIT_PEER_AUTH_FAILED 11
+#define EXIT_IDLE_TIMEOUT 12
+#define EXIT_CONNECT_TIME 13
+#define EXIT_CALLBACK 14
+#define EXIT_PEER_DEAD 15
+#define EXIT_HANGUP 16
+#define EXIT_LOOPBACK 17
+#define EXIT_INIT_FAILED 18
+#define EXIT_AUTH_TOPEER_FAILED 19
+
+/*
+ * Debug macros. Slightly useful for finding bugs in pppd, not particularly
+ * useful for finding out why your connection isn't being established.
+ */
+#ifdef DEBUGALL
+#define DEBUGMAIN 1
+#define DEBUGFSM 1
+#define DEBUGLCP 1
+#define DEBUGIPCP 1
+#define DEBUGIPV6CP 1
+#define DEBUGUPAP 1
+#define DEBUGCHAP 1
+#endif
+
+#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
+#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
+ || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
+ || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
+#define LOG_PPP LOG_LOCAL2
+#else
+#define LOG_PPP LOG_DAEMON
+#endif
+#endif /* LOG_PPP */
+
+#ifdef DEBUGMAIN
+#define MAINDEBUG(x) if (debug) dbglog x
+#else
+#define MAINDEBUG(x)
+#endif
+
+#ifdef DEBUGSYS
+#define SYSDEBUG(x) if (debug) dbglog x
+#else
+#define SYSDEBUG(x)
+#endif
+
+#ifdef DEBUGFSM
+#define FSMDEBUG(x) if (debug) dbglog x
+#else
+#define FSMDEBUG(x)
+#endif
+
+#ifdef DEBUGLCP
+#define LCPDEBUG(x) if (debug) dbglog x
+#else
+#define LCPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPCP
+#define IPCPDEBUG(x) if (debug) dbglog x
+#else
+#define IPCPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPV6CP
+#define IPV6CPDEBUG(x) if (debug) dbglog x
+#else
+#define IPV6CPDEBUG(x)
+#endif
+
+#ifdef DEBUGUPAP
+#define UPAPDEBUG(x) if (debug) dbglog x
+#else
+#define UPAPDEBUG(x)
+#endif
+
+#ifdef DEBUGCHAP
+#define CHAPDEBUG(x) if (debug) dbglog x
+#else
+#define CHAPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPXCP
+#define IPXCPDEBUG(x) if (debug) dbglog x
+#else
+#define IPXCPDEBUG(x)
+#endif
+
+#ifndef SIGTYPE
+#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
+#define SIGTYPE void
+#else
+#define SIGTYPE int
+#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
+#endif /* SIGTYPE */
+
+#ifndef MIN
+#define MIN(a, b) ((a) < (b)? (a): (b))
+#endif
+#ifndef MAX
+#define MAX(a, b) ((a) > (b)? (a): (b))
+#endif
+
+#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/pppd.h.wtmp b/mdk-stage1/ppp/pppd/pppd.h.wtmp
new file mode 100644
index 000000000..fbf9cfd84
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/pppd.h.wtmp
@@ -0,0 +1,789 @@
+/*
+ * pppd.h - PPP daemon global declarations.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: pppd.h.wtmp 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * TODO:
+ */
+
+#ifndef __PPPD_H__
+#define __PPPD_H__
+
+#include <stdio.h> /* for FILE */
+#include <limits.h> /* for NGROUPS_MAX */
+#include <sys/param.h> /* for MAXPATHLEN and BSD4_4, if defined */
+#include <sys/types.h> /* for u_int32_t, if defined */
+#include <sys/time.h> /* for struct timeval */
+#include <net/ppp_defs.h>
+#include "patchlevel.h"
+
+#if defined(__STDC__)
+#include <stdarg.h>
+#define __V(x) x
+#else
+#include <varargs.h>
+#define __V(x) (va_alist) va_dcl
+#define const
+#define volatile
+#endif
+
+#ifdef INET6
+#include "eui64.h"
+#endif
+
+/*
+ * Limits.
+ */
+
+#define NUM_PPP 1 /* One PPP interface supported (per process) */
+#define MAXWORDLEN 1024 /* max length of word in file (incl null) */
+#define MAXARGS 1 /* max # args to a command */
+#define MAXNAMELEN 256 /* max length of hostname or name for auth */
+#define MAXSECRETLEN 256 /* max length of password or secret */
+
+/*
+ * Option descriptor structure.
+ */
+
+typedef unsigned char bool;
+
+enum opt_type {
+ o_special_noarg = 0,
+ o_special = 1,
+ o_bool,
+ o_int,
+ o_uint32,
+ o_string,
+ o_wild,
+};
+
+typedef struct {
+ char *name; /* name of the option */
+ enum opt_type type;
+ void *addr;
+ char *description;
+ int flags;
+ void *addr2;
+ int upper_limit;
+ int lower_limit;
+ const char *source;
+ short int priority;
+ short int winner;
+} option_t;
+
+/* Values for flags */
+#define OPT_VALUE 0xff /* mask for presupplied value */
+#define OPT_HEX 0x100 /* int option is in hex */
+#define OPT_NOARG 0x200 /* option doesn't take argument */
+#define OPT_OR 0x400 /* OR in argument to value */
+#define OPT_INC 0x800 /* increment value */
+#define OPT_PRIV 0x1000 /* privileged option */
+#define OPT_STATIC 0x2000 /* string option goes into static array */
+#define OPT_LLIMIT 0x4000 /* check value against lower limit */
+#define OPT_ULIMIT 0x8000 /* check value against upper limit */
+#define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT)
+#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */
+#define OPT_HIDE 0x10000 /* for o_string, print value as ?????? */
+#define OPT_A2LIST 0x10000 /* for o_special, keep list of values */
+#define OPT_NOINCR 0x20000 /* value mustn't be increased */
+#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */
+#define OPT_PRIO 0x80000 /* process option priorities for this option */
+#define OPT_PRIOSUB 0x100000 /* subsidiary member of priority group */
+#define OPT_ALIAS 0x200000 /* option is alias for previous option */
+#define OPT_A2COPY 0x400000 /* addr2 -> second location to rcv value */
+#define OPT_ENABLE 0x800000 /* use *addr2 as enable for option */
+#define OPT_A2CLR 0x1000000 /* clear *(bool *)addr2 */
+#define OPT_PRIVFIX 0x2000000 /* user can't override if set by root */
+#define OPT_INITONLY 0x4000000 /* option can only be set in init phase */
+#define OPT_DEVEQUIV 0x8000000 /* equiv to device name */
+#define OPT_DEVNAM (OPT_INITONLY | OPT_DEVEQUIV)
+#define OPT_A2PRINTER 0x10000000 /* *addr2 is a fn for printing option */
+#define OPT_A2STRVAL 0x20000000 /* *addr2 points to current string value */
+#define OPT_NOPRINT 0x40000000 /* don't print this option at all */
+
+#define OPT_VAL(x) ((x) & OPT_VALUE)
+
+/* Values for priority */
+#define OPRIO_DEFAULT 0 /* a default value */
+#define OPRIO_CFGFILE 1 /* value from a configuration file */
+#define OPRIO_CMDLINE 2 /* value from the command line */
+#define OPRIO_SECFILE 3 /* value from options in a secrets file */
+#define OPRIO_ROOT 100 /* added to priority if OPT_PRIVFIX && root */
+
+#ifndef GIDSET_TYPE
+#define GIDSET_TYPE gid_t
+#endif
+
+/* Structure representing a list of permitted IP addresses. */
+struct permitted_ip {
+ int permit; /* 1 = permit, 0 = forbid */
+ u_int32_t base; /* match if (addr & mask) == base */
+ u_int32_t mask; /* base and mask are in network byte order */
+};
+
+/*
+ * Unfortunately, the linux kernel driver uses a different structure
+ * for statistics from the rest of the ports.
+ * This structure serves as a common representation for the bits
+ * pppd needs.
+ */
+struct pppd_stats {
+ unsigned int bytes_in;
+ unsigned int bytes_out;
+};
+
+/* Used for storing a sequence of words. Usually malloced. */
+struct wordlist {
+ struct wordlist *next;
+ char *word;
+};
+
+/* An endpoint discriminator, used with multilink. */
+#define MAX_ENDP_LEN 20 /* maximum length of discriminator value */
+struct epdisc {
+ unsigned char class;
+ unsigned char length;
+ unsigned char value[MAX_ENDP_LEN];
+};
+
+/* values for epdisc.class */
+#define EPD_NULL 0 /* null discriminator, no data */
+#define EPD_LOCAL 1
+#define EPD_IP 2
+#define EPD_MAC 3
+#define EPD_MAGIC 4
+#define EPD_PHONENUM 5
+
+typedef void (*notify_func) __P((void *, int));
+
+struct notifier {
+ struct notifier *next;
+ notify_func func;
+ void *arg;
+};
+
+/*
+ * Global variables.
+ */
+
+extern int hungup; /* Physical layer has disconnected */
+extern int ifunit; /* Interface unit number */
+extern char ifname[]; /* Interface name */
+extern char hostname[]; /* Our hostname */
+extern u_char outpacket_buf[]; /* Buffer for outgoing packets */
+extern int phase; /* Current state of link - see values below */
+extern int baud_rate; /* Current link speed in bits/sec */
+extern char *progname; /* Name of this program */
+extern int redirect_stderr;/* Connector's stderr should go to file */
+extern char peer_authname[];/* Authenticated name of peer */
+extern int privileged; /* We were run by real-uid root */
+extern int need_holdoff; /* Need holdoff period after link terminates */
+extern char **script_env; /* Environment variables for scripts */
+extern int detached; /* Have detached from controlling tty */
+extern GIDSET_TYPE groups[NGROUPS_MAX]; /* groups the user is in */
+extern int ngroups; /* How many groups valid in groups */
+extern struct pppd_stats link_stats; /* byte/packet counts etc. for link */
+extern int link_stats_valid; /* set if link_stats is valid */
+extern int link_connect_time; /* time the link was up for */
+extern int using_pty; /* using pty as device (notty or pty opt.) */
+extern int log_to_fd; /* logging to this fd as well as syslog */
+extern bool log_default; /* log_to_fd is default (stdout) */
+extern char *no_ppp_msg; /* message to print if ppp not in kernel */
+extern volatile int status; /* exit status for pppd */
+extern bool devnam_fixed; /* can no longer change devnam */
+extern int unsuccess; /* # unsuccessful connection attempts */
+extern int do_callback; /* set if we want to do callback next */
+extern int doing_callback; /* set if this is a callback */
+extern char ppp_devnam[MAXPATHLEN];
+extern struct notifier *pidchange; /* for notifications of pid changing */
+extern struct notifier *phasechange; /* for notifications of phase changes */
+extern struct notifier *exitnotify; /* for notification that we're exiting */
+extern struct notifier *sigreceived; /* notification of received signal */
+extern int listen_time; /* time to listen first (ms) */
+
+/* Values for do_callback and doing_callback */
+#define CALLBACK_DIALIN 1 /* we are expecting the call back */
+#define CALLBACK_DIALOUT 2 /* we are dialling out to call back */
+
+/*
+ * Variables set by command-line options.
+ */
+
+extern int debug; /* Debug flag */
+extern int kdebugflag; /* Tell kernel to print debug messages */
+extern int default_device; /* Using /dev/tty or equivalent */
+extern char devnam[MAXPATHLEN]; /* Device name */
+extern int crtscts; /* Use hardware flow control */
+extern bool modem; /* Use modem control lines */
+extern int inspeed; /* Input/Output speed requested */
+extern u_int32_t netmask; /* IP netmask to set on interface */
+extern bool lockflag; /* Create lock file to lock the serial dev */
+extern bool nodetach; /* Don't detach from controlling tty */
+extern bool updetach; /* Detach from controlling tty when link up */
+extern char *initializer; /* Script to initialize physical link */
+extern char *connect_script; /* Script to establish physical link */
+extern char *disconnect_script; /* Script to disestablish physical link */
+extern char *welcomer; /* Script to welcome client after connection */
+extern char *ptycommand; /* Command to run on other side of pty */
+extern int maxconnect; /* Maximum connect time (seconds) */
+extern char user[MAXNAMELEN];/* Our name for authenticating ourselves */
+extern char passwd[MAXSECRETLEN]; /* Password for PAP or CHAP */
+extern bool auth_required; /* Peer is required to authenticate */
+extern bool persist; /* Reopen link after it goes down */
+extern bool uselogin; /* Use /etc/passwd for checking PAP */
+extern char our_name[MAXNAMELEN];/* Our name for authentication purposes */
+extern char remote_name[MAXNAMELEN]; /* Peer's name for authentication */
+extern bool explicit_remote;/* remote_name specified with remotename opt */
+extern bool demand; /* Do dial-on-demand */
+extern char *ipparam; /* Extra parameter for ip up/down scripts */
+extern bool cryptpap; /* Others' PAP passwords are encrypted */
+extern int idle_time_limit;/* Shut down link if idle for this long */
+extern int holdoff; /* Dead time before restarting */
+extern bool holdoff_specified; /* true if user gave a holdoff value */
+extern bool notty; /* Stdin/out is not a tty */
+extern char *pty_socket; /* Socket to connect to pty */
+extern char *record_file; /* File to record chars sent/received */
+extern bool sync_serial; /* Device is synchronous serial device */
+extern int maxfail; /* Max # of unsuccessful connection attempts */
+extern char linkname[MAXPATHLEN]; /* logical name for link */
+extern bool tune_kernel; /* May alter kernel settings as necessary */
+extern int connect_delay; /* Time to delay after connect script */
+extern int max_data_rate; /* max bytes/sec through charshunt */
+extern int req_unit; /* interface unit number to use */
+extern bool multilink; /* enable multilink operation */
+extern bool noendpoint; /* don't send or accept endpt. discrim. */
+extern char *bundle_name; /* bundle name for multilink */
+extern bool dump_options; /* print out option values */
+extern bool dryrun; /* check everything, print options, exit */
+
+#ifdef PPP_FILTER
+extern struct bpf_program pass_filter; /* Filter for pkts to pass */
+extern struct bpf_program active_filter; /* Filter for link-active pkts */
+#endif
+
+#ifdef MSLANMAN
+extern bool ms_lanman; /* Use LanMan password instead of NT */
+ /* Has meaning only with MS-CHAP challenges */
+#endif
+
+extern char *current_option; /* the name of the option being parsed */
+extern int privileged_option; /* set iff the current option came from root */
+extern char *option_source; /* string saying where the option came from */
+extern int option_priority; /* priority of current options */
+
+/*
+ * Values for phase.
+ */
+#define PHASE_DEAD 0
+#define PHASE_INITIALIZE 1
+#define PHASE_SERIALCONN 2
+#define PHASE_DORMANT 3
+#define PHASE_ESTABLISH 4
+#define PHASE_AUTHENTICATE 5
+#define PHASE_CALLBACK 6
+#define PHASE_NETWORK 7
+#define PHASE_RUNNING 8
+#define PHASE_TERMINATE 9
+#define PHASE_DISCONNECT 10
+#define PHASE_HOLDOFF 11
+
+/*
+ * The following struct gives the addresses of procedures to call
+ * for a particular protocol.
+ */
+struct protent {
+ u_short protocol; /* PPP protocol number */
+ /* Initialization procedure */
+ void (*init) __P((int unit));
+ /* Process a received packet */
+ void (*input) __P((int unit, u_char *pkt, int len));
+ /* Process a received protocol-reject */
+ void (*protrej) __P((int unit));
+ /* Lower layer has come up */
+ void (*lowerup) __P((int unit));
+ /* Lower layer has gone down */
+ void (*lowerdown) __P((int unit));
+ /* Open the protocol */
+ void (*open) __P((int unit));
+ /* Close the protocol */
+ void (*close) __P((int unit, char *reason));
+ /* Print a packet in readable form */
+ int (*printpkt) __P((u_char *pkt, int len,
+ void (*printer) __P((void *, char *, ...)),
+ void *arg));
+ /* Process a received data packet */
+ void (*datainput) __P((int unit, u_char *pkt, int len));
+ bool enabled_flag; /* 0 iff protocol is disabled */
+ char *name; /* Text name of protocol */
+ char *data_name; /* Text name of corresponding data protocol */
+ option_t *options; /* List of command-line options */
+ /* Check requested options, assign defaults */
+ void (*check_options) __P((void));
+ /* Configure interface for demand-dial */
+ int (*demand_conf) __P((int unit));
+ /* Say whether to bring up link for this pkt */
+ int (*active_pkt) __P((u_char *pkt, int len));
+};
+
+/* Table of pointers to supported protocols */
+extern struct protent *protocols[];
+
+/*
+ * This struct contains pointers to a set of procedures for
+ * doing operations on a "channel". A channel provides a way
+ * to send and receive PPP packets - the canonical example is
+ * a serial port device in PPP line discipline (or equivalently
+ * with PPP STREAMS modules pushed onto it).
+ */
+struct channel {
+ /* set of options for this channel */
+ option_t *options;
+ /* find and process a per-channel options file */
+ void (*process_extra_options) __P((void));
+ /* check all the options that have been given */
+ void (*check_options) __P((void));
+ /* get the channel ready to do PPP, return a file descriptor */
+ int (*connect) __P((void));
+ /* we're finished with the channel */
+ void (*disconnect) __P((void));
+ /* put the channel into PPP `mode' */
+ int (*establish_ppp) __P((int));
+ /* take the channel out of PPP `mode', restore loopback if demand */
+ void (*disestablish_ppp) __P((int));
+ /* set the transmit-side PPP parameters of the channel */
+ void (*send_config) __P((int, u_int32_t, int, int));
+ /* set the receive-side PPP parameters of the channel */
+ void (*recv_config) __P((int, u_int32_t, int, int));
+ /* cleanup on error or normal exit */
+ void (*cleanup) __P((void));
+ /* close the device, called in children after fork */
+ void (*close) __P((void));
+};
+
+extern struct channel *the_channel;
+
+#define ppp_send_config(unit, mtu, accm, pc, acc) \
+do { \
+ if (the_channel->send_config) \
+ (*the_channel->send_config)((mtu), (accm), (pc), (acc)); \
+} while (0)
+
+#define ppp_recv_config(unit, mtu, accm, pc, acc) \
+do { \
+ if (the_channel->send_config) \
+ (*the_channel->recv_config)((mtu), (accm), (pc), (acc)); \
+} while (0)
+
+/*
+ * Prototypes.
+ */
+
+/* Procedures exported from main.c. */
+void set_ifunit __P((int)); /* set stuff that depends on ifunit */
+void detach __P((void)); /* Detach from controlling tty */
+void die __P((int)); /* Cleanup and exit */
+void quit __P((void)); /* like die(1) */
+void novm __P((char *)); /* Say we ran out of memory, and die */
+void timeout __P((void (*func)(void *), void *arg, int s, int us));
+ /* Call func(arg) after s.us seconds */
+void untimeout __P((void (*func)(void *), void *arg));
+ /* Cancel call to func(arg) */
+void record_child __P((int, char *, void (*) (void *), void *));
+int device_script __P((char *cmd, int in, int out, int dont_wait));
+ /* Run `cmd' with given stdin and stdout */
+pid_t run_program __P((char *prog, char **args, int must_exist,
+ void (*done)(void *), void *arg));
+ /* Run program prog with args in child */
+void reopen_log __P((void)); /* (re)open the connection to syslog */
+void update_link_stats __P((int)); /* Get stats at link termination */
+void script_setenv __P((char *, char *, int)); /* set script env var */
+void script_unsetenv __P((char *)); /* unset script env var */
+void new_phase __P((int)); /* signal start of new phase */
+void add_notifier __P((struct notifier **, notify_func, void *));
+void remove_notifier __P((struct notifier **, notify_func, void *));
+void notify __P((struct notifier *, int));
+
+/* Procedures exported from tty.c. */
+void tty_init __P((void));
+
+/* Procedures exported from utils.c. */
+void log_packet __P((u_char *, int, char *, int));
+ /* Format a packet and log it with syslog */
+void print_string __P((char *, int, void (*) (void *, char *, ...),
+ void *)); /* Format a string for output */
+int slprintf __P((char *, int, char *, ...)); /* sprintf++ */
+int vslprintf __P((char *, int, char *, va_list)); /* vsprintf++ */
+size_t strlcpy __P((char *, const char *, size_t)); /* safe strcpy */
+size_t strlcat __P((char *, const char *, size_t)); /* safe strncpy */
+void dbglog __P((char *, ...)); /* log a debug message */
+void info __P((char *, ...)); /* log an informational message */
+void notice __P((char *, ...)); /* log a notice-level message */
+void warn __P((char *, ...)); /* log a warning message */
+void error __P((char *, ...)); /* log an error message */
+void fatal __P((char *, ...)); /* log an error message and die(1) */
+void init_pr_log __P((char *, int)); /* initialize for using pr_log */
+void pr_log __P((void *, char *, ...)); /* printer fn, output to syslog */
+void end_pr_log __P((void)); /* finish up after using pr_log */
+
+/* Procedures exported from auth.c */
+void link_required __P((int)); /* we are starting to use the link */
+void link_terminated __P((int)); /* we are finished with the link */
+void link_down __P((int)); /* the LCP layer has left the Opened state */
+void link_established __P((int)); /* the link is up; authenticate now */
+void start_networks __P((void)); /* start all the network control protos */
+void np_up __P((int, int)); /* a network protocol has come up */
+void np_down __P((int, int)); /* a network protocol has gone down */
+void np_finished __P((int, int)); /* a network protocol no longer needs link */
+void auth_peer_fail __P((int, int));
+ /* peer failed to authenticate itself */
+void auth_peer_success __P((int, int, char *, int));
+ /* peer successfully authenticated itself */
+void auth_withpeer_fail __P((int, int));
+ /* we failed to authenticate ourselves */
+void auth_withpeer_success __P((int, int));
+ /* we successfully authenticated ourselves */
+void auth_check_options __P((void));
+ /* check authentication options supplied */
+void auth_reset __P((int)); /* check what secrets we have */
+int check_passwd __P((int, char *, int, char *, int, char **));
+ /* Check peer-supplied username/password */
+int get_secret __P((int, char *, char *, char *, int *, int));
+ /* get "secret" for chap */
+int auth_ip_addr __P((int, u_int32_t));
+ /* check if IP address is authorized */
+int bad_ip_adrs __P((u_int32_t));
+ /* check if IP address is unreasonable */
+
+/* Procedures exported from demand.c */
+void demand_conf __P((void)); /* config interface(s) for demand-dial */
+void demand_block __P((void)); /* set all NPs to queue up packets */
+void demand_unblock __P((void)); /* set all NPs to pass packets */
+void demand_discard __P((void)); /* set all NPs to discard packets */
+void demand_rexmit __P((int)); /* retransmit saved frames for an NP */
+int loop_chars __P((unsigned char *, int)); /* process chars from loopback */
+int loop_frame __P((unsigned char *, int)); /* should we bring link up? */
+
+/* Procedures exported from multilink.c */
+void mp_check_options __P((void)); /* Check multilink-related options */
+int mp_join_bundle __P((void)); /* join our link to an appropriate bundle */
+char *epdisc_to_str __P((struct epdisc *)); /* string from endpoint discrim. */
+int str_to_epdisc __P((struct epdisc *, char *)); /* endpt disc. from str */
+
+/* Procedures exported from sys-*.c */
+void sys_init __P((void)); /* Do system-dependent initialization */
+void sys_cleanup __P((void)); /* Restore system state before exiting */
+int sys_check_options __P((void)); /* Check options specified */
+void sys_close __P((void)); /* Clean up in a child before execing */
+int ppp_available __P((void)); /* Test whether ppp kernel support exists */
+int get_pty __P((int *, int *, char *, int)); /* Get pty master/slave */
+int open_ppp_loopback __P((void)); /* Open loopback for demand-dialling */
+int tty_establish_ppp __P((int)); /* Turn serial port into a ppp interface */
+void tty_disestablish_ppp __P((int)); /* Restore port to normal operation */
+void make_new_bundle __P((int, int, int, int)); /* Create new bundle */
+int bundle_attach __P((int)); /* Attach link to existing bundle */
+void cfg_bundle __P((int, int, int, int)); /* Configure existing bundle */
+void clean_check __P((void)); /* Check if line was 8-bit clean */
+void set_up_tty __P((int, int)); /* Set up port's speed, parameters, etc. */
+void restore_tty __P((int)); /* Restore port's original parameters */
+void setdtr __P((int, int)); /* Raise or lower port's DTR line */
+void output __P((int, u_char *, int)); /* Output a PPP packet */
+void wait_input __P((struct timeval *));
+ /* Wait for input, with timeout */
+void add_fd __P((int)); /* Add fd to set to wait for */
+void remove_fd __P((int)); /* Remove fd from set to wait for */
+int read_packet __P((u_char *)); /* Read PPP packet */
+int get_loop_output __P((void)); /* Read pkts from loopback */
+void tty_send_config __P((int, u_int32_t, int, int));
+ /* Configure i/f transmit parameters */
+void tty_set_xaccm __P((ext_accm));
+ /* Set extended transmit ACCM */
+void tty_recv_config __P((int, u_int32_t, int, int));
+ /* Configure i/f receive parameters */
+int ccp_test __P((int, u_char *, int, int));
+ /* Test support for compression scheme */
+void ccp_flags_set __P((int, int, int));
+ /* Set kernel CCP state */
+int ccp_fatal_error __P((int)); /* Test for fatal decomp error in kernel */
+int get_idle_time __P((int, struct ppp_idle *));
+ /* Find out how long link has been idle */
+int get_ppp_stats __P((int, struct pppd_stats *));
+ /* Return link statistics */
+void netif_set_mtu __P((int, int)); /* Set PPP interface MTU */
+int sifvjcomp __P((int, int, int, int));
+ /* Configure VJ TCP header compression */
+int sifup __P((int)); /* Configure i/f up for one protocol */
+int sifnpmode __P((int u, int proto, enum NPmode mode));
+ /* Set mode for handling packets for proto */
+int sifdown __P((int)); /* Configure i/f down for one protocol */
+int sifaddr __P((int, u_int32_t, u_int32_t, u_int32_t));
+ /* Configure IPv4 addresses for i/f */
+int cifaddr __P((int, u_int32_t, u_int32_t));
+ /* Reset i/f IP addresses */
+#ifdef INET6
+int sif6addr __P((int, eui64_t, eui64_t));
+ /* Configure IPv6 addresses for i/f */
+int cif6addr __P((int, eui64_t, eui64_t));
+ /* Remove an IPv6 address from i/f */
+#endif
+int sifdefaultroute __P((int, u_int32_t, u_int32_t));
+ /* Create default route through i/f */
+int cifdefaultroute __P((int, u_int32_t, u_int32_t));
+ /* Delete default route through i/f */
+int sifproxyarp __P((int, u_int32_t));
+ /* Add proxy ARP entry for peer */
+int cifproxyarp __P((int, u_int32_t));
+ /* Delete proxy ARP entry for peer */
+u_int32_t GetMask __P((u_int32_t)); /* Get appropriate netmask for address */
+int lock __P((char *)); /* Create lock file for device */
+int relock __P((int)); /* Rewrite lock file with new pid */
+void unlock __P((void)); /* Delete previously-created lock file */
+void logwtmp __P((const char *, const char *, const char *));
+ /* Write entry to wtmp file */
+int get_host_seed __P((void)); /* Get host-dependent random number seed */
+int have_route_to __P((u_int32_t)); /* Check if route to addr exists */
+#ifdef PPP_FILTER
+int set_filters __P((struct bpf_program *pass, struct bpf_program *active));
+ /* Set filter programs in kernel */
+#endif
+#ifdef IPX_CHANGE
+int sipxfaddr __P((int, unsigned long, unsigned char *));
+int cipxfaddr __P((int));
+#endif
+int get_if_hwaddr __P((u_char *addr, char *name));
+char *get_first_ethernet __P((void));
+
+/* Procedures exported from options.c */
+int parse_args __P((int argc, char **argv));
+ /* Parse options from arguments given */
+int options_from_file __P((char *filename, int must_exist, int check_prot,
+ int privileged));
+ /* Parse options from an options file */
+int options_from_user __P((void)); /* Parse options from user's .ppprc */
+int options_for_tty __P((void)); /* Parse options from /etc/ppp/options.tty */
+int options_from_list __P((struct wordlist *, int privileged));
+ /* Parse options from a wordlist */
+int getword __P((FILE *f, char *word, int *newlinep, char *filename));
+ /* Read a word from a file */
+void option_error __P((char *fmt, ...));
+ /* Print an error message about an option */
+int int_option __P((char *, int *));
+ /* Simplified number_option for decimal ints */
+void add_options __P((option_t *)); /* Add extra options */
+void check_options __P((void)); /* check values after all options parsed */
+int override_value __P((const char *, int, const char *));
+ /* override value if permitted by priority */
+void print_options __P((void (*) __P((void *, char *, ...)), void *));
+ /* print out values of all options */
+
+int parse_dotted_ip __P((char *, u_int32_t *));
+
+/*
+ * Hooks to enable plugins to change various things.
+ */
+extern int (*new_phase_hook) __P((int));
+extern int (*idle_time_hook) __P((struct ppp_idle *));
+extern int (*holdoff_hook) __P((void));
+extern int (*pap_check_hook) __P((void));
+extern int (*pap_auth_hook) __P((char *user, char *passwd, char **msgp,
+ struct wordlist **paddrs,
+ struct wordlist **popts));
+extern void (*pap_logout_hook) __P((void));
+extern int (*pap_passwd_hook) __P((char *user, char *passwd));
+extern void (*ip_up_hook) __P((void));
+extern void (*ip_down_hook) __P((void));
+extern void (*ip_choose_hook) __P((u_int32_t *));
+
+/*
+ * Inline versions of get/put char/short/long.
+ * Pointer is advanced; we assume that both arguments
+ * are lvalues and will already be in registers.
+ * cp MUST be u_char *.
+ */
+#define GETCHAR(c, cp) { \
+ (c) = *(cp)++; \
+}
+#define PUTCHAR(c, cp) { \
+ *(cp)++ = (u_char) (c); \
+}
+
+
+#define GETSHORT(s, cp) { \
+ (s) = *(cp)++ << 8; \
+ (s) |= *(cp)++; \
+}
+#define PUTSHORT(s, cp) { \
+ *(cp)++ = (u_char) ((s) >> 8); \
+ *(cp)++ = (u_char) (s); \
+}
+
+#define GETLONG(l, cp) { \
+ (l) = *(cp)++ << 8; \
+ (l) |= *(cp)++; (l) <<= 8; \
+ (l) |= *(cp)++; (l) <<= 8; \
+ (l) |= *(cp)++; \
+}
+#define PUTLONG(l, cp) { \
+ *(cp)++ = (u_char) ((l) >> 24); \
+ *(cp)++ = (u_char) ((l) >> 16); \
+ *(cp)++ = (u_char) ((l) >> 8); \
+ *(cp)++ = (u_char) (l); \
+}
+
+#define INCPTR(n, cp) ((cp) += (n))
+#define DECPTR(n, cp) ((cp) -= (n))
+
+/*
+ * System dependent definitions for user-level 4.3BSD UNIX implementation.
+ */
+
+#define TIMEOUT(r, f, t) timeout((r), (f), (t), 0)
+#define UNTIMEOUT(r, f) untimeout((r), (f))
+
+#define BCOPY(s, d, l) memcpy(d, s, l)
+#define BZERO(s, n) memset(s, 0, n)
+
+#define PRINTMSG(m, l) { info("Remote message: %0.*v", l, m); }
+
+/*
+ * MAKEHEADER - Add Header fields to a packet.
+ */
+#define MAKEHEADER(p, t) { \
+ PUTCHAR(PPP_ALLSTATIONS, p); \
+ PUTCHAR(PPP_UI, p); \
+ PUTSHORT(t, p); }
+
+/*
+ * Exit status values.
+ */
+#define EXIT_OK 0
+#define EXIT_FATAL_ERROR 1
+#define EXIT_OPTION_ERROR 2
+#define EXIT_NOT_ROOT 3
+#define EXIT_NO_KERNEL_SUPPORT 4
+#define EXIT_USER_REQUEST 5
+#define EXIT_LOCK_FAILED 6
+#define EXIT_OPEN_FAILED 7
+#define EXIT_CONNECT_FAILED 8
+#define EXIT_PTYCMD_FAILED 9
+#define EXIT_NEGOTIATION_FAILED 10
+#define EXIT_PEER_AUTH_FAILED 11
+#define EXIT_IDLE_TIMEOUT 12
+#define EXIT_CONNECT_TIME 13
+#define EXIT_CALLBACK 14
+#define EXIT_PEER_DEAD 15
+#define EXIT_HANGUP 16
+#define EXIT_LOOPBACK 17
+#define EXIT_INIT_FAILED 18
+#define EXIT_AUTH_TOPEER_FAILED 19
+
+/*
+ * Debug macros. Slightly useful for finding bugs in pppd, not particularly
+ * useful for finding out why your connection isn't being established.
+ */
+#ifdef DEBUGALL
+#define DEBUGMAIN 1
+#define DEBUGFSM 1
+#define DEBUGLCP 1
+#define DEBUGIPCP 1
+#define DEBUGIPV6CP 1
+#define DEBUGUPAP 1
+#define DEBUGCHAP 1
+#endif
+
+#ifndef LOG_PPP /* we use LOG_LOCAL2 for syslog by default */
+#if defined(DEBUGMAIN) || defined(DEBUGFSM) || defined(DEBUGSYS) \
+ || defined(DEBUGLCP) || defined(DEBUGIPCP) || defined(DEBUGUPAP) \
+ || defined(DEBUGCHAP) || defined(DEBUG) || defined(DEBUGIPV6CP)
+#define LOG_PPP LOG_LOCAL2
+#else
+#define LOG_PPP LOG_DAEMON
+#endif
+#endif /* LOG_PPP */
+
+#ifdef DEBUGMAIN
+#define MAINDEBUG(x) if (debug) dbglog x
+#else
+#define MAINDEBUG(x)
+#endif
+
+#ifdef DEBUGSYS
+#define SYSDEBUG(x) if (debug) dbglog x
+#else
+#define SYSDEBUG(x)
+#endif
+
+#ifdef DEBUGFSM
+#define FSMDEBUG(x) if (debug) dbglog x
+#else
+#define FSMDEBUG(x)
+#endif
+
+#ifdef DEBUGLCP
+#define LCPDEBUG(x) if (debug) dbglog x
+#else
+#define LCPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPCP
+#define IPCPDEBUG(x) if (debug) dbglog x
+#else
+#define IPCPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPV6CP
+#define IPV6CPDEBUG(x) if (debug) dbglog x
+#else
+#define IPV6CPDEBUG(x)
+#endif
+
+#ifdef DEBUGUPAP
+#define UPAPDEBUG(x) if (debug) dbglog x
+#else
+#define UPAPDEBUG(x)
+#endif
+
+#ifdef DEBUGCHAP
+#define CHAPDEBUG(x) if (debug) dbglog x
+#else
+#define CHAPDEBUG(x)
+#endif
+
+#ifdef DEBUGIPXCP
+#define IPXCPDEBUG(x) if (debug) dbglog x
+#else
+#define IPXCPDEBUG(x)
+#endif
+
+#ifndef SIGTYPE
+#if defined(sun) || defined(SYSV) || defined(POSIX_SOURCE)
+#define SIGTYPE void
+#else
+#define SIGTYPE int
+#endif /* defined(sun) || defined(SYSV) || defined(POSIX_SOURCE) */
+#endif /* SIGTYPE */
+
+#ifndef MIN
+#define MIN(a, b) ((a) < (b)? (a): (b))
+#endif
+#ifndef MAX
+#define MAX(a, b) ((a) > (b)? (a): (b))
+#endif
+
+#endif /* __PPP_H__ */
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c b/mdk-stage1/ppp/pppd/sys-linux.c
new file mode 100644
index 000000000..3ab92dfba
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/sys-linux.c
@@ -0,0 +1,2672 @@
+/*
+ * sys-linux.c - System-dependent procedures for setting up
+ * PPP interfaces on Linux systems
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include <sys/sysmacros.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <string.h>
+#include <time.h>
+#include <memory.h>
+#include <utmp.h>
+#include <mntent.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <termios.h>
+#include <unistd.h>
+
+/* This is in netdevice.h. However, this compile will fail miserably if
+ you attempt to include netdevice.h because it has so many references
+ to __memcpy functions which it should not attempt to do. So, since I
+ really don't use it, but it must be defined, define it now. */
+
+#ifndef MAX_ADDR_LEN
+#define MAX_ADDR_LEN 7
+#endif
+
+#if (defined(__GLIBC__) && __GLIBC__ >= 2) || defined(__dietlibc__)
+#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/route.h>
+#include <netinet/if_ether.h>
+#else
+#include <linux/types.h>
+#include <linux/if.h>
+#include <linux/if_arp.h>
+#include <linux/route.h>
+#include <linux/if_ether.h>
+#endif
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <linux/ppp_defs.h>
+#include <linux/if_ppp.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipcp.h"
+
+#ifdef IPX_CHANGE
+#include "ipxcp.h"
+#if __GLIBC__ >= 2 && \
+ !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
+#include <netipx/ipx.h>
+#else
+#include <linux/ipx.h>
+#endif
+#endif /* IPX_CHANGE */
+
+#ifdef PPP_FILTER
+#include <net/bpf.h>
+#include <linux/filter.h>
+#endif /* PPP_FILTER */
+
+#ifdef LOCKLIB
+#include <sys/locks.h>
+#endif
+
+#ifdef INET6
+#ifndef _LINUX_IN6_H
+/*
+ * This is in linux/include/net/ipv6.h.
+ */
+
+struct in6_ifreq {
+ struct in6_addr ifr6_addr;
+ __u32 ifr6_prefixlen;
+ unsigned int ifr6_ifindex;
+};
+#endif
+
+#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
+ memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
+ sin6.s6_addr16[0] = htons(0xfe80); \
+ eui64_copy(eui64, sin6.s6_addr32[2]); \
+ } while (0)
+
+#endif /* INET6 */
+
+/* We can get an EIO error on an ioctl if the modem has hung up */
+#define ok_error(num) ((num)==EIO)
+
+static int tty_disc = N_TTY; /* The TTY discipline */
+static int ppp_disc = N_PPP; /* The PPP discpline */
+static int initfdflags = -1; /* Initial file descriptor flags for fd */
+static int ppp_fd = -1; /* fd which is set to PPP discipline */
+static int sock_fd = -1; /* socket for doing interface ioctls */
+static int slave_fd = -1;
+static int master_fd = -1;
+#ifdef INET6
+static int sock6_fd = -1;
+#endif /* INET6 */
+static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
+static int chindex; /* channel index (new style driver) */
+
+static fd_set in_fds; /* set of fds that wait_input waits for */
+static int max_in_fd; /* highest fd set in in_fds */
+
+static int has_proxy_arp = 0;
+static int driver_version = 0;
+static int driver_modification = 0;
+static int driver_patch = 0;
+static int driver_is_old = 0;
+static int restore_term = 0; /* 1 => we've munged the terminal */
+static struct termios inittermios; /* Initial TTY termios */
+
+static int new_style_driver = 0;
+
+static char loop_name[20];
+static unsigned char inbuf[512]; /* buffer for chars read from loopback */
+
+static int if_is_up; /* Interface has been marked up */
+static u_int32_t default_route_gateway; /* Gateway for default route added */
+static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+static char proxy_arp_dev[16]; /* Device for proxy arp entry */
+static u_int32_t our_old_addr; /* for detecting address changes */
+static int dynaddr_set; /* 1 if ip_dynaddr set */
+static int looped; /* 1 if using loop */
+static int link_mtu; /* mtu for the link (not bundle) */
+
+static struct utsname utsname; /* for the kernel version */
+static int kernel_version;
+#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
+
+#define MAX_IFS 100
+
+#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
+#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
+ IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
+
+#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
+
+/* Prototypes for procedures local to this file. */
+static int get_flags (int fd);
+static void set_flags (int fd, int flags);
+static int translate_speed (int bps);
+static int baud_rate_of (int speed);
+static void close_route_table (void);
+static int open_route_table (void);
+static int read_route_table (struct rtentry *rt);
+static int defaultroute_exists (struct rtentry *rt);
+static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
+ char *name, int namelen);
+static void decode_version (char *buf, int *version, int *mod, int *patch);
+static int set_kdebugflag(int level);
+static int ppp_registered(void);
+static int make_ppp_unit(void);
+static void restore_loop(void); /* Transfer ppp unit back to loopback */
+
+extern u_char inpacket_buf[]; /* borrowed from main.c */
+
+/*
+ * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
+ * if it exists.
+ */
+
+#define SET_SA_FAMILY(addr, family) \
+ memset ((char *) &(addr), '\0', sizeof(addr)); \
+ addr.sa_family = (family);
+
+/*
+ * Determine if the PPP connection should still be present.
+ */
+
+extern int hungup;
+
+/* new_fd is the fd of a tty */
+static void set_ppp_fd (int new_fd)
+{
+ SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
+ ppp_fd = new_fd;
+ if (!new_style_driver)
+ ppp_dev_fd = new_fd;
+}
+
+static int still_ppp(void)
+{
+ if (new_style_driver)
+ return !hungup && ppp_fd >= 0;
+ if (!hungup || ppp_fd == slave_fd)
+ return 1;
+ if (slave_fd >= 0) {
+ set_ppp_fd(slave_fd);
+ return 1;
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * Functions to read and set the flags value in the device driver
+ */
+
+static int get_flags (int fd)
+{
+ int flags;
+
+ if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
+ if ( ok_error (errno) )
+ flags = 0;
+ else
+ fatal("ioctl(PPPIOCGFLAGS): %m");
+ }
+
+ SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
+ return flags;
+}
+
+/********************************************************************/
+
+static void set_flags (int fd, int flags)
+{
+ SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
+
+ if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
+ if (! ok_error (errno) )
+ fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
+ }
+}
+
+/********************************************************************
+ *
+ * sys_init - System-dependent initialization.
+ */
+
+void sys_init(void)
+{
+ int flags;
+
+ if (new_style_driver) {
+ ppp_dev_fd = open("/dev/ppp", O_RDWR);
+ if (ppp_dev_fd < 0)
+ fatal("Couldn't open /dev/ppp: %m");
+ flags = fcntl(ppp_dev_fd, F_GETFL);
+ if (flags == -1
+ || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("Couldn't set /dev/ppp to nonblock: %m");
+ }
+
+ /* Get an internet socket for doing socket ioctls. */
+ sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock_fd < 0)
+ fatal("Couldn't create IP socket: %m(%d)", errno);
+
+#ifdef INET6
+ sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (sock6_fd < 0)
+ sock6_fd = -errno; /* save errno for later */
+#endif
+
+ FD_ZERO(&in_fds);
+ max_in_fd = 0;
+}
+
+/********************************************************************
+ *
+ * sys_cleanup - restore any system state we modified before exiting:
+ * mark the interface down, delete default route and/or proxy arp entry.
+ * This shouldn't call die() because it's called from die().
+ */
+
+void sys_cleanup(void)
+{
+/*
+ * Take down the device
+ */
+ if (if_is_up) {
+ if_is_up = 0;
+ sifdown(0);
+ }
+/*
+ * Delete any routes through the device.
+ */
+ if (default_route_gateway != 0)
+ cifdefaultroute(0, 0, default_route_gateway);
+
+ if (has_proxy_arp)
+ cifproxyarp(0, proxy_arp_addr);
+}
+
+/********************************************************************
+ *
+ * sys_close - Clean up in a child process before execing.
+ */
+void
+sys_close(void)
+{
+ if (new_style_driver)
+ close(ppp_dev_fd);
+ if (sock_fd >= 0)
+ close(sock_fd);
+ if (slave_fd >= 0)
+ close(slave_fd);
+ if (master_fd >= 0)
+ close(master_fd);
+ closelog();
+}
+
+/********************************************************************
+ *
+ * set_kdebugflag - Define the debugging level for the kernel
+ */
+
+static int set_kdebugflag (int requested_level)
+{
+ if (new_style_driver && ifunit < 0)
+ return 1;
+ if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
+ if ( ! ok_error (errno) )
+ error("ioctl(PPPIOCSDEBUG): %m");
+ return (0);
+ }
+ SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
+ requested_level));
+ return (1);
+}
+
+/********************************************************************
+ *
+ * tty_establish_ppp - Turn the serial port into a ppp interface.
+ */
+
+int tty_establish_ppp (int tty_fd)
+{
+ int x;
+ int fd = -1;
+
+/*
+ * Ensure that the tty device is in exclusive mode.
+ */
+ if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("Couldn't make tty exclusive: %m");
+ }
+/*
+ * Demand mode - prime the old ppp device to relinquish the unit.
+ */
+ if (!new_style_driver && looped
+ && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
+ error("ioctl(transfer ppp unit): %m");
+ return -1;
+ }
+/*
+ * Set the current tty to the PPP discpline
+ */
+
+#ifndef N_SYNC_PPP
+#define N_SYNC_PPP 14
+#endif
+ ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
+ if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
+ if ( ! ok_error (errno) ) {
+ error("Couldn't set tty to PPP discipline: %m");
+ return -1;
+ }
+ }
+
+ if (new_style_driver) {
+ /* Open another instance of /dev/ppp and connect the channel to it */
+ int flags;
+
+ if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
+ error("Couldn't get channel number: %m");
+ goto err;
+ }
+ dbglog("using channel %d", chindex);
+ fd = open("/dev/ppp", O_RDWR);
+ if (fd < 0) {
+ error("Couldn't reopen /dev/ppp: %m");
+ goto err;
+ }
+ if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
+ error("Couldn't attach to channel %d: %m", chindex);
+ goto err_close;
+ }
+ flags = fcntl(fd, F_GETFL);
+ if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
+ set_ppp_fd(fd);
+
+ if (!looped)
+ ifunit = -1;
+ if (!looped && !multilink) {
+ /*
+ * Create a new PPP unit.
+ */
+ if (make_ppp_unit() < 0)
+ goto err_close;
+ }
+
+ if (looped)
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
+
+ if (!multilink) {
+ add_fd(ppp_dev_fd);
+ if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
+ error("Couldn't attach to PPP unit %d: %m", ifunit);
+ goto err_close;
+ }
+ }
+
+ } else {
+ /*
+ * Old-style driver: find out which interface we were given.
+ */
+ set_ppp_fd (tty_fd);
+ if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
+ if (ok_error (errno))
+ goto err;
+ fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
+ }
+ /* Check that we got the same unit again. */
+ if (looped && x != ifunit)
+ fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
+ ifunit = x;
+
+ /*
+ * Fetch the initial file flags and reset blocking mode on the file.
+ */
+ initfdflags = fcntl(tty_fd, F_GETFL);
+ if (initfdflags == -1 ||
+ fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
+ if ( ! ok_error (errno))
+ warn("Couldn't set device to non-blocking mode: %m");
+ }
+ }
+
+ looped = 0;
+
+ /*
+ * Enable debug in the driver if requested.
+ */
+ if (!looped)
+ set_kdebugflag (kdebugflag);
+
+#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
+#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
+ | SC_LOG_FLUSH)
+
+ set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
+ | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
+
+ SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
+ driver_version, driver_modification, driver_patch));
+
+ return ppp_fd;
+
+ err_close:
+ close(fd);
+ err:
+ if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
+ warn("Couldn't reset tty to normal line discipline: %m");
+ return -1;
+}
+
+/********************************************************************
+ *
+ * tty_disestablish_ppp - Restore the serial port to normal operation,
+ * and reconnect the ppp unit to the loopback if in demand mode.
+ * This shouldn't call die() because it's called from die().
+ */
+
+void tty_disestablish_ppp(int tty_fd)
+{
+ if (demand)
+ restore_loop();
+ if (!hungup) {
+/*
+ * Flush the tty output buffer so that the TIOCSETD doesn't hang.
+ */
+ if (tcflush(tty_fd, TCIOFLUSH) < 0)
+ warn("tcflush failed: %m");
+/*
+ * Restore the previous line discipline
+ */
+ if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
+ if ( ! ok_error (errno))
+ error("ioctl(TIOCSETD, N_TTY): %m");
+ }
+
+ if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
+ if ( ! ok_error (errno))
+ warn("ioctl(TIOCNXCL): %m(%d)", errno);
+ }
+
+ /* Reset non-blocking mode on fd. */
+ if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
+ if ( ! ok_error (errno))
+ warn("Couldn't restore device fd flags: %m");
+ }
+ }
+ initfdflags = -1;
+
+ if (new_style_driver) {
+ close(ppp_fd);
+ ppp_fd = -1;
+ if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
+ error("Couldn't release PPP unit: %m");
+ if (!multilink)
+ remove_fd(ppp_dev_fd);
+ }
+}
+
+/*
+ * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
+ * Assumes new_style_driver.
+ */
+static int make_ppp_unit()
+{
+ int x;
+
+ ifunit = req_unit;
+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
+ if (x < 0 && req_unit >= 0 && errno == EEXIST) {
+ warn("Couldn't allocate PPP unit %d as it is already in use");
+ ifunit = -1;
+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
+ }
+ if (x < 0)
+ error("Couldn't create new ppp unit: %m");
+ return x;
+}
+
+/*
+ * cfg_bundle - configure the existing bundle.
+ * Used in demand mode.
+ */
+void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
+{
+ int flags;
+
+ if (!new_style_driver)
+ return;
+
+ /* set the mrru, mtu and flags */
+ if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
+ error("Couldn't set MRRU: %m");
+ flags = get_flags(ppp_dev_fd);
+ flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
+ flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
+ | (mrru? SC_MULTILINK: 0);
+
+ set_flags(ppp_dev_fd, flags);
+
+ /* connect up the channel */
+ if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
+ fatal("Couldn't attach to PPP unit %d: %m", ifunit);
+ add_fd(ppp_dev_fd);
+}
+
+/*
+ * make_new_bundle - create a new PPP unit (i.e. a bundle)
+ * and connect our channel to it. This should only get called
+ * if `multilink' was set at the time establish_ppp was called.
+ * In demand mode this uses our existing bundle instead of making
+ * a new one.
+ */
+void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
+{
+ if (!new_style_driver)
+ return;
+
+ /* make us a ppp unit */
+ if (make_ppp_unit() < 0)
+ die(1);
+
+ /* set the mrru and flags */
+ cfg_bundle(mrru, mtru, rssn, tssn);
+}
+
+/*
+ * bundle_attach - attach our link to a given PPP unit.
+ * We assume the unit is controlled by another pppd.
+ */
+int bundle_attach(int ifnum)
+{
+ if (!new_style_driver)
+ return -1;
+
+ if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
+ if (errno == ENXIO)
+ return 0; /* doesn't still exist */
+ fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
+ }
+ if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
+ fatal("Couldn't connect to interface unit %d: %m", ifnum);
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
+
+ ifunit = ifnum;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * clean_check - Fetch the flags for the device and generate
+ * appropriate error messages.
+ */
+void clean_check(void)
+{
+ int x;
+ char *s;
+
+ if (still_ppp()) {
+ if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
+ s = NULL;
+ switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
+ case SC_RCV_B7_0:
+ s = "all had bit 7 set to 1";
+ break;
+
+ case SC_RCV_B7_1:
+ s = "all had bit 7 set to 0";
+ break;
+
+ case SC_RCV_EVNP:
+ s = "all had odd parity";
+ break;
+
+ case SC_RCV_ODDP:
+ s = "all had even parity";
+ break;
+ }
+
+ if (s != NULL) {
+ warn("Receive serial link is not 8-bit clean:");
+ warn("Problem: %s", s);
+ }
+ }
+ }
+}
+
+
+/*
+ * List of valid speeds.
+ */
+
+struct speed {
+ int speed_int, speed_val;
+} speeds[] = {
+#ifdef B50
+ { 50, B50 },
+#endif
+#ifdef B75
+ { 75, B75 },
+#endif
+#ifdef B110
+ { 110, B110 },
+#endif
+#ifdef B134
+ { 134, B134 },
+#endif
+#ifdef B150
+ { 150, B150 },
+#endif
+#ifdef B200
+ { 200, B200 },
+#endif
+#ifdef B300
+ { 300, B300 },
+#endif
+#ifdef B600
+ { 600, B600 },
+#endif
+#ifdef B1200
+ { 1200, B1200 },
+#endif
+#ifdef B1800
+ { 1800, B1800 },
+#endif
+#ifdef B2000
+ { 2000, B2000 },
+#endif
+#ifdef B2400
+ { 2400, B2400 },
+#endif
+#ifdef B3600
+ { 3600, B3600 },
+#endif
+#ifdef B4800
+ { 4800, B4800 },
+#endif
+#ifdef B7200
+ { 7200, B7200 },
+#endif
+#ifdef B9600
+ { 9600, B9600 },
+#endif
+#ifdef B19200
+ { 19200, B19200 },
+#endif
+#ifdef B38400
+ { 38400, B38400 },
+#endif
+#ifdef B57600
+ { 57600, B57600 },
+#endif
+#ifdef B76800
+ { 76800, B76800 },
+#endif
+#ifdef B115200
+ { 115200, B115200 },
+#endif
+#ifdef EXTA
+ { 19200, EXTA },
+#endif
+#ifdef EXTB
+ { 38400, EXTB },
+#endif
+#ifdef B230400
+ { 230400, B230400 },
+#endif
+#ifdef B460800
+ { 460800, B460800 },
+#endif
+#ifdef B921600
+ { 921600, B921600 },
+#endif
+ { 0, 0 }
+};
+
+/********************************************************************
+ *
+ * Translate from bits/second to a speed_t.
+ */
+
+static int translate_speed (int bps)
+{
+ struct speed *speedp;
+
+ if (bps != 0) {
+ for (speedp = speeds; speedp->speed_int; speedp++) {
+ if (bps == speedp->speed_int)
+ return speedp->speed_val;
+ }
+ warn("speed %d not supported", bps);
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * Translate from a speed_t to bits/second.
+ */
+
+static int baud_rate_of (int speed)
+{
+ struct speed *speedp;
+
+ if (speed != 0) {
+ for (speedp = speeds; speedp->speed_int; speedp++) {
+ if (speed == speedp->speed_val)
+ return speedp->speed_int;
+ }
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
+ * at the requested speed, etc. If `local' is true, set CLOCAL
+ * regardless of whether the modem option was specified.
+ */
+
+void set_up_tty(int tty_fd, int local)
+{
+ int speed;
+ struct termios tios;
+
+ setdtr(tty_fd, 1);
+ if (tcgetattr(tty_fd, &tios) < 0) {
+ if (!ok_error(errno))
+ fatal("tcgetattr: %m(%d)", errno);
+ return;
+ }
+
+ if (!restore_term)
+ inittermios = tios;
+
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
+ tios.c_cflag |= CS8 | CREAD | HUPCL;
+
+ tios.c_iflag = IGNBRK | IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ tios.c_cc[VMIN] = 1;
+ tios.c_cc[VTIME] = 0;
+
+ if (local || !modem)
+ tios.c_cflag ^= (CLOCAL | HUPCL);
+
+ switch (crtscts) {
+ case 1:
+ tios.c_cflag |= CRTSCTS;
+ break;
+
+ case -2:
+ tios.c_iflag |= IXON | IXOFF;
+ tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
+ tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
+ break;
+
+ case -1:
+ tios.c_cflag &= ~CRTSCTS;
+ break;
+
+ default:
+ break;
+ }
+
+ speed = translate_speed(inspeed);
+ if (speed) {
+ cfsetospeed (&tios, speed);
+ cfsetispeed (&tios, speed);
+ }
+/*
+ * We can't proceed if the serial port speed is B0,
+ * since that implies that the serial port is disabled.
+ */
+ else {
+ speed = cfgetospeed(&tios);
+ if (speed == B0)
+ fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
+ }
+
+ if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
+ if (!ok_error(errno))
+ fatal("tcsetattr: %m");
+
+ baud_rate = baud_rate_of(speed);
+ restore_term = 1;
+}
+
+/********************************************************************
+ *
+ * setdtr - control the DTR line on the serial port.
+ * This is called from die(), so it shouldn't call die().
+ */
+
+void setdtr (int tty_fd, int on)
+{
+ int modembits = TIOCM_DTR;
+
+ ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
+}
+
+/********************************************************************
+ *
+ * restore_tty - restore the terminal to the saved settings.
+ */
+
+void restore_tty (int tty_fd)
+{
+ if (restore_term) {
+ restore_term = 0;
+/*
+ * Turn off echoing, because otherwise we can get into
+ * a loop with the tty and the modem echoing to each other.
+ * We presume we are the sole user of this tty device, so
+ * when we close it, it will revert to its defaults anyway.
+ */
+ if (!default_device)
+ inittermios.c_lflag &= ~(ECHO | ECHONL);
+
+ if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
+ if (! ok_error (errno))
+ warn("tcsetattr: %m");
+ }
+ }
+}
+
+/********************************************************************
+ *
+ * output - Output PPP packet.
+ */
+
+void output (int unit, unsigned char *p, int len)
+{
+ int fd = ppp_fd;
+ int proto;
+
+ if (debug)
+ dbglog("sent %P", p, len);
+
+ if (len < PPP_HDRLEN)
+ return;
+ if (new_style_driver) {
+ p += 2;
+ len -= 2;
+ proto = (p[0] << 8) + p[1];
+ if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
+ fd = ppp_dev_fd;
+ }
+ if (write(fd, p, len) < 0) {
+ if (errno == EWOULDBLOCK || errno == ENOBUFS
+ || errno == ENXIO || errno == EIO || errno == EINTR)
+ warn("write: warning: %m (%d)", errno);
+ else
+ error("write: %m (%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * wait_input - wait until there is data available,
+ * for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+
+void wait_input(struct timeval *timo)
+{
+ fd_set ready, exc;
+ int n;
+
+ ready = in_fds;
+ exc = in_fds;
+ n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
+ if (n < 0 && errno != EINTR)
+ fatal("select: %m(%d)", errno);
+}
+
+/*
+ * add_fd - add an fd to the set that wait_input waits for.
+ */
+void add_fd(int fd)
+{
+ FD_SET(fd, &in_fds);
+ if (fd > max_in_fd)
+ max_in_fd = fd;
+}
+
+/*
+ * remove_fd - remove an fd from the set that wait_input waits for.
+ */
+void remove_fd(int fd)
+{
+ FD_CLR(fd, &in_fds);
+}
+
+
+/********************************************************************
+ *
+ * read_packet - get a PPP packet from the serial device.
+ */
+
+int read_packet (unsigned char *buf)
+{
+ int len, nr;
+
+ len = PPP_MRU + PPP_HDRLEN;
+ if (new_style_driver) {
+ *buf++ = PPP_ALLSTATIONS;
+ *buf++ = PPP_UI;
+ len -= 2;
+ }
+ nr = -1;
+ if (ppp_fd >= 0) {
+ nr = read(ppp_fd, buf, len);
+ if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
+ error("read: %m");
+ if (nr < 0 && errno == ENXIO)
+ return 0;
+ }
+ if (nr < 0 && new_style_driver && ifunit >= 0) {
+ /* N.B. we read ppp_fd first since LCP packets come in there. */
+ nr = read(ppp_dev_fd, buf, len);
+ if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
+ error("read /dev/ppp: %m");
+ if (nr < 0 && errno == ENXIO)
+ return 0;
+ }
+ return (new_style_driver && nr > 0)? nr+2: nr;
+}
+
+/********************************************************************
+ *
+ * get_loop_output - get outgoing packets from the ppp device,
+ * and detect when we want to bring the real link up.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ */
+int
+get_loop_output(void)
+{
+ int rv = 0;
+ int n;
+
+ if (new_style_driver) {
+ while ((n = read_packet(inpacket_buf)) > 0)
+ if (loop_frame(inpacket_buf, n))
+ rv = 1;
+ return rv;
+ }
+
+ while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
+ if (loop_chars(inbuf, n))
+ rv = 1;
+
+ if (n == 0)
+ fatal("eof on loopback");
+
+ if (errno != EWOULDBLOCK)
+ fatal("read from loopback: %m(%d)", errno);
+
+ return rv;
+}
+
+/*
+ * netif_set_mtu - set the MTU on the PPP network interface.
+ */
+void
+netif_set_mtu(int unit, int mtu)
+{
+ struct ifreq ifr;
+
+ SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ ifr.ifr_mtu = mtu;
+
+ if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
+ fatal("ioctl(SIOCSIFMTU): %m");
+}
+
+/********************************************************************
+ *
+ * tty_send_config - configure the transmit characteristics of
+ * the ppp interface.
+ */
+
+void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
+{
+ u_int x;
+
+/*
+ * Set the asyncmap and other parameters for the ppp device
+ */
+ if (!still_ppp())
+ return;
+ link_mtu = mtu;
+ SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
+ if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
+ if (!ok_error(errno))
+ fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
+ return;
+ }
+
+ x = get_flags(ppp_fd);
+ x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
+ x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
+ x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
+ set_flags(ppp_fd, x);
+}
+
+/********************************************************************
+ *
+ * tty_set_xaccm - set the extended transmit ACCM for the interface.
+ */
+
+void tty_set_xaccm (ext_accm accm)
+{
+ SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
+ accm[0], accm[1], accm[2], accm[3]));
+
+ if (!still_ppp())
+ return;
+ if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
+ if ( ! ok_error (errno))
+ warn("ioctl(set extended ACCM): %m(%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * tty_recv_config - configure the receive-side characteristics of
+ * the ppp interface.
+ */
+
+void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
+{
+ SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
+/*
+ * If we were called because the link has gone down then there is nothing
+ * which may be done. Just return without incident.
+ */
+ if (!still_ppp())
+ return;
+/*
+ * Set the receiver parameters
+ */
+ if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
+ if ( ! ok_error (errno))
+ error("ioctl(PPPIOCSMRU): %m(%d)", errno);
+ }
+ if (new_style_driver && ifunit >= 0
+ && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
+ error("Couldn't set MRU in generic PPP layer: %m");
+
+ SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
+ if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
+ if (!ok_error(errno))
+ error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * ccp_test - ask kernel whether a given compression method
+ * is acceptable for use.
+ */
+
+int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
+{
+ struct ppp_option_data data;
+
+ memset (&data, '\0', sizeof (data));
+ data.ptr = opt_ptr;
+ data.length = opt_len;
+ data.transmit = for_transmit;
+
+ if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
+ return 1;
+
+ return (errno == ENOBUFS)? 0: -1;
+}
+
+/********************************************************************
+ *
+ * ccp_flags_set - inform kernel about the current state of CCP.
+ */
+
+void ccp_flags_set (int unit, int isopen, int isup)
+{
+ if (still_ppp()) {
+ int x = get_flags(ppp_dev_fd);
+ x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
+ x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
+ set_flags (ppp_dev_fd, x);
+ }
+}
+
+#ifdef PPP_FILTER
+/*
+ * set_filters - set the active and pass filters in the kernel driver.
+ */
+int set_filters(struct bpf_program *pass, struct bpf_program *active)
+{
+ struct sock_fprog fp;
+
+ fp.len = pass->bf_len;
+ fp.filter = (struct sock_filter *) pass->bf_insns;
+ if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
+ if (errno == ENOTTY)
+ warn("kernel does not support PPP filtering");
+ else
+ error("Couldn't set pass-filter in kernel: %m");
+ return 0;
+ }
+ fp.len = active->bf_len;
+ fp.filter = (struct sock_filter *) active->bf_insns;
+ if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
+ error("Couldn't set active-filter in kernel: %m");
+ return 0;
+ }
+ return 1;
+}
+#endif /* PPP_FILTER */
+
+/********************************************************************
+ *
+ * get_idle_time - return how long the link has been idle.
+ */
+int
+get_idle_time(u, ip)
+ int u;
+ struct ppp_idle *ip;
+{
+ return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
+}
+
+/********************************************************************
+ *
+ * get_ppp_stats - return statistics for the link.
+ */
+int
+get_ppp_stats(u, stats)
+ int u;
+ struct pppd_stats *stats;
+{
+ struct ifpppstatsreq req;
+
+ memset (&req, 0, sizeof (req));
+
+ req.stats_ptr = (caddr_t) &req.stats;
+ strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
+ if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
+ error("Couldn't get PPP statistics: %m");
+ return 0;
+ }
+ stats->bytes_in = req.stats.p.ppp_ibytes;
+ stats->bytes_out = req.stats.p.ppp_obytes;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * ccp_fatal_error - returns 1 if decompression was disabled as a
+ * result of an error detected after decompression of a packet,
+ * 0 otherwise. This is necessary because of patent nonsense.
+ */
+
+int ccp_fatal_error (int unit)
+{
+ int x = get_flags(ppp_dev_fd);
+
+ return x & SC_DC_FERROR;
+}
+
+/********************************************************************
+ *
+ * path_to_procfs - find the path to the proc file system mount point
+ */
+static char proc_path[MAXPATHLEN];
+static int proc_path_len;
+
+static char *path_to_procfs(const char *tail)
+{
+ struct mntent *mntent;
+ FILE *fp;
+
+ if (proc_path_len == 0) {
+ /* Default the mount location of /proc */
+ strlcpy (proc_path, "/proc", sizeof(proc_path));
+ proc_path_len = 5;
+ fp = fopen(MOUNTED, "r");
+ if (fp != NULL) {
+ while ((mntent = getmntent(fp)) != NULL) {
+ if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
+ continue;
+ if (strcmp(mntent->mnt_type, "proc") == 0) {
+ strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
+ proc_path_len = strlen(proc_path);
+ break;
+ }
+ }
+ fclose (fp);
+ }
+ }
+
+ strlcpy(proc_path + proc_path_len, tail,
+ sizeof(proc_path) - proc_path_len);
+ return proc_path;
+}
+
+/*
+ * /proc/net/route parsing stuff.
+ */
+#define ROUTE_MAX_COLS 12
+FILE *route_fd = (FILE *) 0;
+static char route_buffer[512];
+static int route_dev_col, route_dest_col, route_gw_col;
+static int route_flags_col, route_mask_col;
+static int route_num_cols;
+
+static int open_route_table (void);
+static void close_route_table (void);
+static int read_route_table (struct rtentry *rt);
+
+/********************************************************************
+ *
+ * close_route_table - close the interface to the route table
+ */
+
+static void close_route_table (void)
+{
+ if (route_fd != (FILE *) 0) {
+ fclose (route_fd);
+ route_fd = (FILE *) 0;
+ }
+}
+
+/********************************************************************
+ *
+ * open_route_table - open the interface to the route table
+ */
+static char route_delims[] = " \t\n";
+
+static int open_route_table (void)
+{
+ char *path;
+
+ close_route_table();
+
+ path = path_to_procfs("/net/route");
+ route_fd = fopen (path, "r");
+ if (route_fd == NULL) {
+ error("can't open routing table %s: %m", path);
+ return 0;
+ }
+
+ route_dev_col = 0; /* default to usual columns */
+ route_dest_col = 1;
+ route_gw_col = 2;
+ route_flags_col = 3;
+ route_mask_col = 7;
+ route_num_cols = 8;
+
+ /* parse header line */
+ if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
+ char *p = route_buffer, *q;
+ int col;
+ for (col = 0; col < ROUTE_MAX_COLS; ++col) {
+ int used = 1;
+ if ((q = strtok(p, route_delims)) == 0)
+ break;
+ if (strcasecmp(q, "iface") == 0)
+ route_dev_col = col;
+ else if (strcasecmp(q, "destination") == 0)
+ route_dest_col = col;
+ else if (strcasecmp(q, "gateway") == 0)
+ route_gw_col = col;
+ else if (strcasecmp(q, "flags") == 0)
+ route_flags_col = col;
+ else if (strcasecmp(q, "mask") == 0)
+ route_mask_col = col;
+ else
+ used = 0;
+ if (used && col >= route_num_cols)
+ route_num_cols = col + 1;
+ p = NULL;
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * read_route_table - read the next entry from the route table
+ */
+
+static int read_route_table(struct rtentry *rt)
+{
+ char *cols[ROUTE_MAX_COLS], *p;
+ int col;
+
+ memset (rt, '\0', sizeof (struct rtentry));
+
+ if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
+ return 0;
+
+ p = route_buffer;
+ for (col = 0; col < route_num_cols; ++col) {
+ cols[col] = strtok(p, route_delims);
+ if (cols[col] == NULL)
+ return 0; /* didn't get enough columns */
+ p = NULL;
+ }
+
+ SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
+ SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
+ SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
+
+ rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
+ rt->rt_dev = cols[route_dev_col];
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * defaultroute_exists - determine if there is a default route
+ */
+
+static int defaultroute_exists (struct rtentry *rt)
+{
+ int result = 0;
+
+ if (!open_route_table())
+ return 0;
+
+ while (read_route_table(rt) != 0) {
+ if ((rt->rt_flags & RTF_UP) == 0)
+ continue;
+
+ if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
+ continue;
+ if (SIN_ADDR(rt->rt_dst) == 0L) {
+ result = 1;
+ break;
+ }
+ }
+
+ close_route_table();
+ return result;
+}
+
+/*
+ * have_route_to - determine if the system has any route to
+ * a given IP address. `addr' is in network byte order.
+ * Return value is 1 if yes, 0 if no, -1 if don't know.
+ * For demand mode to work properly, we have to ignore routes
+ * through our own interface.
+ */
+int have_route_to(u_int32_t addr)
+{
+ struct rtentry rt;
+ int result = 0;
+
+ if (!open_route_table())
+ return -1; /* don't know */
+
+ while (read_route_table(&rt)) {
+ if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
+ continue;
+ if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
+ result = 1;
+ break;
+ }
+ }
+
+ close_route_table();
+ return result;
+}
+
+/********************************************************************
+ *
+ * sifdefaultroute - assign a default route through the address given.
+ */
+
+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
+{
+ struct rtentry rt;
+
+ if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
+ u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
+
+ if (old_gateway != gateway)
+ error("not replacing existing default route to %s [%I]",
+ rt.rt_dev, old_gateway);
+ return 0;
+ }
+
+ memset (&rt, '\0', sizeof (rt));
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCADDRT): %m(%d)", errno);
+ return 0;
+ }
+
+ default_route_gateway = gateway;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifdefaultroute - delete a default route through the address given.
+ */
+
+int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
+{
+ struct rtentry rt;
+
+ default_route_gateway = 0;
+
+ memset (&rt, '\0', sizeof (rt));
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp()) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCDELRT): %m (%d)", errno);
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifproxyarp - Make a proxy ARP entry for the peer.
+ */
+
+int sifproxyarp (int unit, u_int32_t his_adr)
+{
+ struct arpreq arpreq;
+ char *forw_path;
+
+ if (has_proxy_arp == 0) {
+ memset (&arpreq, '\0', sizeof(arpreq));
+
+ SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
+ SIN_ADDR(arpreq.arp_pa) = his_adr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+/*
+ * Get the hardware address of an interface on the same subnet
+ * as our local address.
+ */
+ if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
+ sizeof(proxy_arp_dev))) {
+ error("Cannot determine ethernet address for proxy ARP");
+ return 0;
+ }
+ strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
+
+ if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
+ if ( ! ok_error ( errno ))
+ error("ioctl(SIOCSARP): %m(%d)", errno);
+ return 0;
+ }
+ proxy_arp_addr = his_adr;
+ has_proxy_arp = 1;
+
+ if (tune_kernel) {
+ forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
+ if (forw_path != 0) {
+ int fd = open(forw_path, O_WRONLY);
+ if (fd >= 0) {
+ if (write(fd, "1", 1) != 1)
+ error("Couldn't enable IP forwarding: %m");
+ close(fd);
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifproxyarp - Delete the proxy ARP entry for the peer.
+ */
+
+int cifproxyarp (int unit, u_int32_t his_adr)
+{
+ struct arpreq arpreq;
+
+ if (has_proxy_arp) {
+ has_proxy_arp = 0;
+ memset (&arpreq, '\0', sizeof(arpreq));
+ SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
+ SIN_ADDR(arpreq.arp_pa) = his_adr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+ strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
+
+ if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("ioctl(SIOCDARP): %m(%d)", errno);
+ return 0;
+ }
+ }
+ return 1;
+}
+
+/********************************************************************
+ *
+ * get_ether_addr - get the hardware address of an interface on the
+ * the same subnet as ipaddr.
+ */
+
+static int get_ether_addr (u_int32_t ipaddr,
+ struct sockaddr *hwaddr,
+ char *name, int namelen)
+{
+ struct ifreq *ifr, *ifend;
+ u_int32_t ina, mask;
+ char *aliasp;
+ struct ifreq ifreq;
+ struct ifconf ifc;
+ struct ifreq ifs[MAX_IFS];
+
+ ifc.ifc_len = sizeof(ifs);
+ ifc.ifc_req = ifs;
+ if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
+ if ( ! ok_error ( errno ))
+ error("ioctl(SIOCGIFCONF): %m(%d)", errno);
+ return 0;
+ }
+
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
+ ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
+/*
+ * Scan through looking for an interface with an Internet
+ * address on the same subnet as `ipaddr'.
+ */
+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
+ for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
+ if (ifr->ifr_addr.sa_family == AF_INET) {
+ ina = SIN_ADDR(ifr->ifr_addr);
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
+ ifreq.ifr_name));
+/*
+ * Check that the interface is up, and not point-to-point
+ * nor loopback.
+ */
+ if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+
+ if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
+ continue;
+/*
+ * Get its netmask and check that it's on the right subnet.
+ */
+ if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+
+ mask = SIN_ADDR(ifreq.ifr_addr);
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
+ ip_ntoa(ina), ntohl(mask)));
+
+ if (((ipaddr ^ ina) & mask) != 0)
+ continue;
+ break;
+ }
+ }
+
+ if (ifr >= ifend)
+ return 0;
+
+ strlcpy(name, ifreq.ifr_name, namelen);
+
+ /* trim off the :1 in eth0:1 */
+ aliasp = strchr(name, ':');
+ if (aliasp != 0)
+ *aliasp = 0;
+
+ info("found interface %s for proxy arp", name);
+/*
+ * Now get the hardware address.
+ */
+ memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
+ if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
+ error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
+ return 0;
+ }
+
+ memcpy (hwaddr,
+ &ifreq.ifr_hwaddr,
+ sizeof (struct sockaddr));
+
+ SYSDEBUG ((LOG_DEBUG,
+ "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
+ (int) ((unsigned char *) &hwaddr->sa_data)[0],
+ (int) ((unsigned char *) &hwaddr->sa_data)[1],
+ (int) ((unsigned char *) &hwaddr->sa_data)[2],
+ (int) ((unsigned char *) &hwaddr->sa_data)[3],
+ (int) ((unsigned char *) &hwaddr->sa_data)[4],
+ (int) ((unsigned char *) &hwaddr->sa_data)[5],
+ (int) ((unsigned char *) &hwaddr->sa_data)[6],
+ (int) ((unsigned char *) &hwaddr->sa_data)[7]));
+ return 1;
+}
+
+/*
+ * get_if_hwaddr - get the hardware address for the specified
+ * network interface device.
+ */
+int
+get_if_hwaddr(u_char *addr, char *name)
+{
+ struct ifreq ifreq;
+ int ret, sock_fd;
+
+ sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock_fd < 0)
+ return 0;
+ memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
+ strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
+ ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
+ close(sock_fd);
+ if (ret >= 0)
+ memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
+ return ret;
+}
+
+/*
+ * get_first_ethernet - return the name of the first ethernet-style
+ * interface on this system.
+ */
+char *
+get_first_ethernet()
+{
+ return "eth0";
+}
+
+/********************************************************************
+ *
+ * Return user specified netmask, modified by any mask we might determine
+ * for address `addr' (in network byte order).
+ * Here we scan through the system's list of interfaces, looking for
+ * any non-point-to-point interfaces which might appear to be on the same
+ * network as `addr'. If we find any, we OR in their netmask to the
+ * user-specified netmask.
+ */
+
+u_int32_t GetMask (u_int32_t addr)
+{
+ u_int32_t mask, nmask, ina;
+ struct ifreq *ifr, *ifend, ifreq;
+ struct ifconf ifc;
+ struct ifreq ifs[MAX_IFS];
+
+ addr = ntohl(addr);
+
+ if (IN_CLASSA(addr)) /* determine network mask for address class */
+ nmask = IN_CLASSA_NET;
+ else if (IN_CLASSB(addr))
+ nmask = IN_CLASSB_NET;
+ else
+ nmask = IN_CLASSC_NET;
+
+ /* class D nets are disallowed by bad_ip_adrs */
+ mask = netmask | htonl(nmask);
+/*
+ * Scan through the system's network interfaces.
+ */
+ ifc.ifc_len = sizeof(ifs);
+ ifc.ifc_req = ifs;
+ if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
+ return mask;
+ }
+
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
+/*
+ * Check the interface's internet address.
+ */
+ if (ifr->ifr_addr.sa_family != AF_INET)
+ continue;
+ ina = SIN_ADDR(ifr->ifr_addr);
+ if (((ntohl(ina) ^ addr) & nmask) != 0)
+ continue;
+/*
+ * Check that the interface is up, and not point-to-point nor loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+
+ if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
+ continue;
+/*
+ * Get its netmask and OR it into our mask.
+ */
+ if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ mask |= SIN_ADDR(ifreq.ifr_addr);
+ break;
+ }
+ return mask;
+}
+
+/********************************************************************
+ *
+ * Internal routine to decode the version.modification.patch level
+ */
+
+static void decode_version (char *buf, int *version,
+ int *modification, int *patch)
+{
+ char *endp;
+
+ *version = (int) strtoul (buf, &endp, 10);
+ *modification = 0;
+ *patch = 0;
+
+ if (endp != buf && *endp == '.') {
+ buf = endp + 1;
+ *modification = (int) strtoul (buf, &endp, 10);
+ if (endp != buf && *endp == '.') {
+ buf = endp + 1;
+ *patch = (int) strtoul (buf, &buf, 10);
+ }
+ }
+}
+
+/********************************************************************
+ *
+ * Procedure to determine if the PPP line discipline is registered.
+ */
+
+static int
+ppp_registered(void)
+{
+ int local_fd;
+ int mfd = -1;
+ int ret = 0;
+ char slave[16];
+
+ /*
+ * We used to open the serial device and set it to the ppp line
+ * discipline here, in order to create a ppp unit. But that is
+ * not a good idea - the user might have specified a device that
+ * they can't open (permission, or maybe it doesn't really exist).
+ * So we grab a pty master/slave pair and use that.
+ */
+ if (!get_pty(&mfd, &local_fd, slave, 0)) {
+ no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
+ return 0;
+ }
+
+ /*
+ * Try to put the device into the PPP discipline.
+ */
+ if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
+ error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
+ } else
+ ret = 1;
+
+ close(local_fd);
+ close(mfd);
+ return ret;
+}
+
+/********************************************************************
+ *
+ * ppp_available - check whether the system has any ppp interfaces
+ * (in fact we check whether we can do an ioctl on ppp0).
+ */
+
+int ppp_available(void)
+{
+ int s, ok, fd;
+ struct ifreq ifr;
+ int size;
+ int my_version, my_modification, my_patch;
+ int osmaj, osmin, ospatch;
+
+ no_ppp_msg =
+ "This system lacks kernel support for PPP. This could be because\n"
+ "the PPP kernel module could not be loaded, or because PPP was not\n"
+ "included in the kernel configuration. If PPP was included as a\n"
+ "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
+ "ppp.o exists in /lib/modules/`uname -r`/net.\n"
+ "See README.linux file in the ppp distribution for more details.\n";
+
+ /* get the kernel version now, since we are called before sys_init */
+ uname(&utsname);
+ osmaj = osmin = ospatch = 0;
+ sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
+ kernel_version = KVERSION(osmaj, osmin, ospatch);
+
+ fd = open("/dev/ppp", O_RDWR);
+#if 0
+ if (fd < 0 && errno == ENOENT) {
+ /* try making it and see if that helps. */
+ if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
+ makedev(108, 0)) >= 0) {
+ fd = open("/dev/ppp", O_RDWR);
+ if (fd >= 0)
+ info("Created /dev/ppp device node");
+ else
+ unlink("/dev/ppp"); /* didn't work, undo the mknod */
+ } else if (errno == EEXIST) {
+ fd = open("/dev/ppp", O_RDWR);
+ }
+ }
+#endif /* 0 */
+ if (fd >= 0) {
+ new_style_driver = 1;
+
+ /* XXX should get from driver */
+ driver_version = 2;
+ driver_modification = 4;
+ driver_patch = 0;
+ close(fd);
+ return 1;
+ }
+ if (kernel_version >= KVERSION(2,3,13)) {
+ if (errno == ENOENT)
+ no_ppp_msg =
+ "pppd is unable to open the /dev/ppp device.\n"
+ "You need to create the /dev/ppp device node by\n"
+ "executing the following command as root:\n"
+ " mknod /dev/ppp c 108 0\n";
+ return 0;
+ }
+
+/*
+ * Open a socket for doing the ioctl operations.
+ */
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0)
+ return 0;
+
+ strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
+ ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
+/*
+ * If the device did not exist then attempt to create one by putting the
+ * current tty into the PPP discipline. If this works then obtain the
+ * flags for the device again.
+ */
+ if (!ok) {
+ if (ppp_registered()) {
+ strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
+ ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
+ }
+ }
+/*
+ * Ensure that the hardware address is for PPP and not something else
+ */
+ if (ok)
+ ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
+
+ if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
+ ok = 0;
+
+/*
+ * This is the PPP device. Validate the version of the driver at this
+ * point to ensure that this program will work with the driver.
+ */
+ if (ok) {
+ char abBuffer [1024];
+
+ ifr.ifr_data = abBuffer;
+ size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
+ if (size < 0) {
+ error("Couldn't read driver version: %m");
+ ok = 0;
+ no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
+
+ } else {
+ decode_version(abBuffer,
+ &driver_version,
+ &driver_modification,
+ &driver_patch);
+/*
+ * Validate the version of the driver against the version that we used.
+ */
+ decode_version(VERSION,
+ &my_version,
+ &my_modification,
+ &my_patch);
+
+ /* The version numbers must match */
+ if (driver_version != my_version)
+ ok = 0;
+
+ /* The modification levels must be legal */
+ if (driver_modification < 3) {
+ if (driver_modification >= 2) {
+ /* we can cope with 2.2.0 and above */
+ driver_is_old = 1;
+ } else {
+ ok = 0;
+ }
+ }
+
+ close (s);
+ if (!ok) {
+ slprintf(route_buffer, sizeof(route_buffer),
+ "Sorry - PPP driver version %d.%d.%d is out of date\n",
+ driver_version, driver_modification, driver_patch);
+
+ no_ppp_msg = route_buffer;
+ }
+ }
+ }
+ return ok;
+}
+
+/********************************************************************
+ *
+ * sifvjcomp - config tcp header compression
+ */
+
+int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
+{
+ u_int x = get_flags(ppp_dev_fd);
+
+ if (vjcomp) {
+ if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
+ vjcomp = 0;
+ }
+ }
+
+ x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
+ x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
+ set_flags (ppp_dev_fd, x);
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifup - Config the interface up and enable IP packets to pass.
+ */
+
+int sifup(int u)
+{
+ struct ifreq ifr;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+
+ ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
+ if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+ if_is_up++;
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifdown - Disable the indicated protocol and config the interface
+ * down if there are no remaining protocols.
+ */
+
+int sifdown (int u)
+{
+ struct ifreq ifr;
+
+ if (if_is_up && --if_is_up > 0)
+ return 1;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+
+ ifr.ifr_flags &= ~IFF_UP;
+ ifr.ifr_flags |= IFF_POINTOPOINT;
+ if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifaddr - Config the interface IP addresses and netmask.
+ */
+
+int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
+ u_int32_t net_mask)
+{
+ struct ifreq ifr;
+ struct rtentry rt;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ memset (&rt, '\0', sizeof (rt));
+
+ SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
+ SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
+ SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
+
+ strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+/*
+ * Set our IP address
+ */
+ SIN_ADDR(ifr.ifr_addr) = our_adr;
+ if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (errno != EEXIST) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFADDR): %m(%d)", errno);
+ }
+ else {
+ warn("ioctl(SIOCSIFADDR): Address already exists");
+ }
+ return (0);
+ }
+/*
+ * Set the gateway address
+ */
+ SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
+ if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
+ return (0);
+ }
+/*
+ * Set the netmask.
+ * For recent kernels, force the netmask to 255.255.255.255.
+ */
+ if (kernel_version >= KVERSION(2,1,16))
+ net_mask = ~0L;
+ if (net_mask != 0) {
+ SIN_ADDR(ifr.ifr_netmask) = net_mask;
+ if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
+ return (0);
+ }
+ }
+/*
+ * Add the device route
+ */
+ if (kernel_version < KVERSION(2,1,16)) {
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+ rt.rt_dev = ifname;
+
+ SIN_ADDR(rt.rt_gateway) = 0L;
+ SIN_ADDR(rt.rt_dst) = his_adr;
+ rt.rt_flags = RTF_UP | RTF_HOST;
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = -1L;
+ }
+
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
+ return (0);
+ }
+ }
+
+ /* set ip_dynaddr in demand mode if address changes */
+ if (demand && tune_kernel && !dynaddr_set
+ && our_old_addr && our_old_addr != our_adr) {
+ /* set ip_dynaddr if possible */
+ char *path;
+ int fd;
+
+ path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
+ if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
+ if (write(fd, "1", 1) != 1)
+ error("Couldn't enable dynamic IP addressing: %m");
+ close(fd);
+ }
+ dynaddr_set = 1; /* only 1 attempt */
+ }
+ our_old_addr = 0;
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifaddr - Clear the interface IP addresses, and delete routes
+ * through the interface if possible.
+ */
+
+int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
+{
+ struct ifreq ifr;
+
+ if (kernel_version < KVERSION(2,1,16)) {
+/*
+ * Delete the route through the device
+ */
+ struct rtentry rt;
+ memset (&rt, '\0', sizeof (rt));
+
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+ rt.rt_dev = ifname;
+
+ SIN_ADDR(rt.rt_gateway) = 0;
+ SIN_ADDR(rt.rt_dst) = his_adr;
+ rt.rt_flags = RTF_UP | RTF_HOST;
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = -1L;
+ }
+
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp() && ! ok_error (errno))
+ error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
+ return (0);
+ }
+ }
+
+ /* This way it is possible to have an IPX-only or IPv6-only interface */
+ memset(&ifr, 0, sizeof(ifr));
+ SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno)) {
+ error("ioctl(SIOCSIFADDR): %m(%d)", errno);
+ return 0;
+ }
+ }
+
+ our_old_addr = our_adr;
+
+ return 1;
+}
+
+#ifdef INET6
+/********************************************************************
+ *
+ * sif6addr - Config the interface with an IPv6 link-local address
+ */
+int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
+{
+ struct in6_ifreq ifr6;
+ struct ifreq ifr;
+ struct in6_rtmsg rt6;
+
+ if (sock6_fd < 0) {
+ errno = -sock6_fd;
+ error("IPv6 socket creation failed: %m");
+ return 0;
+ }
+ memset(&ifr, 0, sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
+ error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
+ return 0;
+ }
+
+ /* Local interface */
+ memset(&ifr6, 0, sizeof(ifr6));
+ IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
+ ifr6.ifr6_ifindex = ifr.ifr_ifindex;
+ ifr6.ifr6_prefixlen = 10;
+
+ if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
+ error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
+ return 0;
+ }
+
+ /* Route to remote host */
+ memset(&rt6, 0, sizeof(rt6));
+ IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
+ rt6.rtmsg_flags = RTF_UP;
+ rt6.rtmsg_dst_len = 10;
+ rt6.rtmsg_ifindex = ifr.ifr_ifindex;
+ rt6.rtmsg_metric = 1;
+
+ if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
+ error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
+ return 0;
+ }
+
+ return 1;
+}
+
+
+/********************************************************************
+ *
+ * cif6addr - Remove IPv6 address from interface
+ */
+int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
+{
+ struct ifreq ifr;
+ struct in6_ifreq ifr6;
+
+ if (sock6_fd < 0) {
+ errno = -sock6_fd;
+ error("IPv6 socket creation failed: %m");
+ return 0;
+ }
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
+ error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
+ return 0;
+ }
+
+ memset(&ifr6, 0, sizeof(ifr6));
+ IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
+ ifr6.ifr6_ifindex = ifr.ifr_ifindex;
+ ifr6.ifr6_prefixlen = 10;
+
+ if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
+ if (errno != EADDRNOTAVAIL) {
+ if (! ok_error (errno))
+ error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
+ }
+ else {
+ warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
+ }
+ return (0);
+ }
+ return 1;
+}
+#endif /* INET6 */
+
+/*
+ * get_pty - get a pty master/slave pair and chown the slave side
+ * to the uid given. Assumes slave_name points to >= 16 bytes of space.
+ */
+int
+get_pty(master_fdp, slave_fdp, slave_name, uid)
+ int *master_fdp;
+ int *slave_fdp;
+ char *slave_name;
+ int uid;
+{
+ int i, mfd, sfd = -1;
+ char pty_name[16];
+ struct termios tios;
+
+#ifdef TIOCGPTN
+ /*
+ * Try the unix98 way first.
+ */
+ mfd = open("/dev/ptmx", O_RDWR);
+ if (mfd >= 0) {
+ int ptn;
+ if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
+ slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
+ chmod(pty_name, S_IRUSR | S_IWUSR);
+#ifdef TIOCSPTLCK
+ ptn = 0;
+ if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
+ warn("Couldn't unlock pty slave %s: %m", pty_name);
+#endif
+ if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
+ warn("Couldn't open pty slave %s: %m", pty_name);
+ }
+ }
+#endif /* TIOCGPTN */
+
+ if (sfd < 0) {
+ /* the old way - scan through the pty name space */
+ for (i = 0; i < 64; ++i) {
+ slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
+ 'p' + i / 16, i % 16);
+ mfd = open(pty_name, O_RDWR, 0);
+ if (mfd >= 0) {
+ pty_name[5] = 't';
+ sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
+ if (sfd >= 0) {
+ fchown(sfd, uid, -1);
+ fchmod(sfd, S_IRUSR | S_IWUSR);
+ break;
+ }
+ close(mfd);
+ }
+ }
+ }
+
+ if (sfd < 0)
+ return 0;
+
+ strlcpy(slave_name, pty_name, 16);
+ *master_fdp = mfd;
+ *slave_fdp = sfd;
+ if (tcgetattr(sfd, &tios) == 0) {
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
+ tios.c_cflag |= CS8 | CREAD | CLOCAL;
+ tios.c_iflag = IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
+ warn("couldn't set attributes on pty: %m");
+ } else
+ warn("couldn't get attributes on pty: %m");
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * open_loopback - open the device we use for getting packets
+ * in demand mode. Under Linux, we use a pty master/slave pair.
+ */
+int
+open_ppp_loopback(void)
+{
+ int flags;
+
+ looped = 1;
+ if (new_style_driver) {
+ /* allocate ourselves a ppp unit */
+ if (make_ppp_unit() < 0)
+ die(1);
+ set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
+ set_kdebugflag(kdebugflag);
+ ppp_fd = -1;
+ return ppp_dev_fd;
+ }
+
+ if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
+ fatal("No free pty for loopback");
+ SYSDEBUG(("using %s for loopback", loop_name));
+
+ set_ppp_fd(slave_fd);
+
+ flags = fcntl(master_fd, F_GETFL);
+ if (flags == -1 ||
+ fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set master loopback to nonblock: %m(%d)", errno);
+
+ flags = fcntl(ppp_fd, F_GETFL);
+ if (flags == -1 ||
+ fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
+
+ if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
+ fatal("ioctl(TIOCSETD): %m(%d)", errno);
+/*
+ * Find out which interface we were given.
+ */
+ if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
+ fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
+/*
+ * Enable debug in the driver if requested.
+ */
+ set_kdebugflag (kdebugflag);
+
+ return master_fd;
+}
+
+/********************************************************************
+ *
+ * restore_loop - reattach the ppp unit to the loopback.
+ *
+ * The kernel ppp driver automatically reattaches the ppp unit to
+ * the loopback if the serial port is set to a line discipline other
+ * than ppp, or if it detects a modem hangup. The former will happen
+ * in disestablish_ppp if the latter hasn't already happened, so we
+ * shouldn't need to do anything.
+ *
+ * Just to be sure, set the real serial port to the normal discipline.
+ */
+
+static void
+restore_loop(void)
+{
+ looped = 1;
+ if (new_style_driver) {
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
+ return;
+ }
+ if (ppp_fd != slave_fd) {
+ (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
+ set_ppp_fd(slave_fd);
+ }
+}
+
+/********************************************************************
+ *
+ * sifnpmode - Set the mode for handling packets for a given NP.
+ */
+
+int
+sifnpmode(u, proto, mode)
+ int u;
+ int proto;
+ enum NPmode mode;
+{
+ struct npioctl npi;
+
+ npi.protocol = proto;
+ npi.mode = mode;
+ if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
+ proto, mode, errno);
+ return 0;
+ }
+ return 1;
+}
+
+
+/********************************************************************
+ *
+ * sipxfaddr - Config the interface IPX networknumber
+ */
+
+int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
+{
+ int result = 1;
+
+#ifdef IPX_CHANGE
+ int skfd;
+ struct ifreq ifr;
+ struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
+
+ skfd = socket (AF_IPX, SOCK_DGRAM, 0);
+ if (skfd < 0) {
+ if (! ok_error (errno))
+ dbglog("socket(AF_IPX): %m (%d)", errno);
+ result = 0;
+ }
+ else {
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
+ sipx->sipx_family = AF_IPX;
+ sipx->sipx_port = 0;
+ sipx->sipx_network = htonl (network);
+ sipx->sipx_type = IPX_FRAME_ETHERII;
+ sipx->sipx_action = IPX_CRTITF;
+/*
+ * Set the IPX device
+ */
+ if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ result = 0;
+ if (errno != EEXIST) {
+ if (! ok_error (errno))
+ dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
+ }
+ else {
+ warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
+ }
+ }
+ close (skfd);
+ }
+#endif
+ return result;
+}
+
+/********************************************************************
+ *
+ * cipxfaddr - Clear the information for the IPX network. The IPX routes
+ * are removed and the device is no longer able to pass IPX
+ * frames.
+ */
+
+int cipxfaddr (int unit)
+{
+ int result = 1;
+
+#ifdef IPX_CHANGE
+ int skfd;
+ struct ifreq ifr;
+ struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
+
+ skfd = socket (AF_IPX, SOCK_DGRAM, 0);
+ if (skfd < 0) {
+ if (! ok_error (errno))
+ dbglog("socket(AF_IPX): %m (%d)", errno);
+ result = 0;
+ }
+ else {
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ sipx->sipx_type = IPX_FRAME_ETHERII;
+ sipx->sipx_action = IPX_DLTITF;
+ sipx->sipx_family = AF_IPX;
+/*
+ * Set the IPX device
+ */
+ if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
+ result = 0;
+ }
+ close (skfd);
+ }
+#endif
+ return result;
+}
+
+/*
+ * Use the hostname as part of the random number seed.
+ */
+int
+get_host_seed()
+{
+ int h;
+ char *p = hostname;
+
+ h = 407;
+ for (p = hostname; *p != 0; ++p)
+ h = h * 37 + *p;
+ return h;
+}
+
+/********************************************************************
+ *
+ * sys_check_options - check the options that the user specified
+ */
+
+int
+sys_check_options(void)
+{
+#ifdef IPX_CHANGE
+/*
+ * Disable the IPX protocol if the support is not present in the kernel.
+ */
+ char *path;
+
+ if (ipxcp_protent.enabled_flag) {
+ struct stat stat_buf;
+ if ((path = path_to_procfs("/net/ipx_interface")) == 0
+ || lstat(path, &stat_buf) < 0) {
+ error("IPX support is not present in the kernel\n");
+ ipxcp_protent.enabled_flag = 0;
+ }
+ }
+#endif
+ if (demand && driver_is_old) {
+ option_error("demand dialling is not supported by kernel driver "
+ "version %d.%d.%d", driver_version, driver_modification,
+ driver_patch);
+ return 0;
+ }
+ if (multilink && !new_style_driver) {
+ warn("Warning: multilink is not supported by the kernel driver");
+ multilink = 0;
+ }
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/sys-linux.c.wtmp b/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
new file mode 100644
index 000000000..f1b48423e
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/sys-linux.c.wtmp
@@ -0,0 +1,2750 @@
+/*
+ * sys-linux.c - System-dependent procedures for setting up
+ * PPP interfaces on Linux systems
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/errno.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include <sys/sysmacros.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <string.h>
+#include <time.h>
+#include <memory.h>
+#include <utmp.h>
+#include <mntent.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <ctype.h>
+#include <termios.h>
+#include <unistd.h>
+
+/* This is in netdevice.h. However, this compile will fail miserably if
+ you attempt to include netdevice.h because it has so many references
+ to __memcpy functions which it should not attempt to do. So, since I
+ really don't use it, but it must be defined, define it now. */
+
+#ifndef MAX_ADDR_LEN
+#define MAX_ADDR_LEN 7
+#endif
+
+#if __GLIBC__ >= 2
+#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/route.h>
+#include <netinet/if_ether.h>
+#else
+#include <linux/types.h>
+#include <linux/if.h>
+#include <linux/if_arp.h>
+#include <linux/route.h>
+#include <linux/if_ether.h>
+#endif
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <linux/ppp_defs.h>
+#include <linux/if_ppp.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "ipcp.h"
+
+#ifdef IPX_CHANGE
+#include "ipxcp.h"
+#if __GLIBC__ >= 2 && \
+ !(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
+#include <netipx/ipx.h>
+#else
+#include <linux/ipx.h>
+#endif
+#endif /* IPX_CHANGE */
+
+#ifdef PPP_FILTER
+#include <net/bpf.h>
+#include <linux/filter.h>
+#endif /* PPP_FILTER */
+
+#ifdef LOCKLIB
+#include <sys/locks.h>
+#endif
+
+#ifdef INET6
+#ifndef _LINUX_IN6_H
+/*
+ * This is in linux/include/net/ipv6.h.
+ */
+
+struct in6_ifreq {
+ struct in6_addr ifr6_addr;
+ __u32 ifr6_prefixlen;
+ unsigned int ifr6_ifindex;
+};
+#endif
+
+#define IN6_LLADDR_FROM_EUI64(sin6, eui64) do { \
+ memset(&sin6.s6_addr, 0, sizeof(struct in6_addr)); \
+ sin6.s6_addr16[0] = htons(0xfe80); \
+ eui64_copy(eui64, sin6.s6_addr32[2]); \
+ } while (0)
+
+#endif /* INET6 */
+
+/* We can get an EIO error on an ioctl if the modem has hung up */
+#define ok_error(num) ((num)==EIO)
+
+static int tty_disc = N_TTY; /* The TTY discipline */
+static int ppp_disc = N_PPP; /* The PPP discpline */
+static int initfdflags = -1; /* Initial file descriptor flags for fd */
+static int ppp_fd = -1; /* fd which is set to PPP discipline */
+static int sock_fd = -1; /* socket for doing interface ioctls */
+static int slave_fd = -1;
+static int master_fd = -1;
+#ifdef INET6
+static int sock6_fd = -1;
+#endif /* INET6 */
+static int ppp_dev_fd = -1; /* fd for /dev/ppp (new style driver) */
+static int chindex; /* channel index (new style driver) */
+
+static fd_set in_fds; /* set of fds that wait_input waits for */
+static int max_in_fd; /* highest fd set in in_fds */
+
+static int has_proxy_arp = 0;
+static int driver_version = 0;
+static int driver_modification = 0;
+static int driver_patch = 0;
+static int driver_is_old = 0;
+static int restore_term = 0; /* 1 => we've munged the terminal */
+static struct termios inittermios; /* Initial TTY termios */
+
+static int new_style_driver = 0;
+
+static char loop_name[20];
+static unsigned char inbuf[512]; /* buffer for chars read from loopback */
+
+static int if_is_up; /* Interface has been marked up */
+static u_int32_t default_route_gateway; /* Gateway for default route added */
+static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+static char proxy_arp_dev[16]; /* Device for proxy arp entry */
+static u_int32_t our_old_addr; /* for detecting address changes */
+static int dynaddr_set; /* 1 if ip_dynaddr set */
+static int looped; /* 1 if using loop */
+static int link_mtu; /* mtu for the link (not bundle) */
+
+static struct utsname utsname; /* for the kernel version */
+static int kernel_version;
+#define KVERSION(j,n,p) ((j)*1000000 + (n)*1000 + (p))
+
+#define MAX_IFS 100
+
+#define FLAGS_GOOD (IFF_UP | IFF_BROADCAST)
+#define FLAGS_MASK (IFF_UP | IFF_BROADCAST | \
+ IFF_POINTOPOINT | IFF_LOOPBACK | IFF_NOARP)
+
+#define SIN_ADDR(x) (((struct sockaddr_in *) (&(x)))->sin_addr.s_addr)
+
+/* Prototypes for procedures local to this file. */
+static int get_flags (int fd);
+static void set_flags (int fd, int flags);
+static int translate_speed (int bps);
+static int baud_rate_of (int speed);
+static void close_route_table (void);
+static int open_route_table (void);
+static int read_route_table (struct rtentry *rt);
+static int defaultroute_exists (struct rtentry *rt);
+static int get_ether_addr (u_int32_t ipaddr, struct sockaddr *hwaddr,
+ char *name, int namelen);
+static void decode_version (char *buf, int *version, int *mod, int *patch);
+static int set_kdebugflag(int level);
+static int ppp_registered(void);
+static int make_ppp_unit(void);
+static void restore_loop(void); /* Transfer ppp unit back to loopback */
+
+extern u_char inpacket_buf[]; /* borrowed from main.c */
+
+/*
+ * SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
+ * if it exists.
+ */
+
+#define SET_SA_FAMILY(addr, family) \
+ memset ((char *) &(addr), '\0', sizeof(addr)); \
+ addr.sa_family = (family);
+
+/*
+ * Determine if the PPP connection should still be present.
+ */
+
+extern int hungup;
+
+/* new_fd is the fd of a tty */
+static void set_ppp_fd (int new_fd)
+{
+ SYSDEBUG ((LOG_DEBUG, "setting ppp_fd to %d\n", new_fd));
+ ppp_fd = new_fd;
+ if (!new_style_driver)
+ ppp_dev_fd = new_fd;
+}
+
+static int still_ppp(void)
+{
+ if (new_style_driver)
+ return !hungup && ppp_fd >= 0;
+ if (!hungup || ppp_fd == slave_fd)
+ return 1;
+ if (slave_fd >= 0) {
+ set_ppp_fd(slave_fd);
+ return 1;
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * Functions to read and set the flags value in the device driver
+ */
+
+static int get_flags (int fd)
+{
+ int flags;
+
+ if (ioctl(fd, PPPIOCGFLAGS, (caddr_t) &flags) < 0) {
+ if ( ok_error (errno) )
+ flags = 0;
+ else
+ fatal("ioctl(PPPIOCGFLAGS): %m");
+ }
+
+ SYSDEBUG ((LOG_DEBUG, "get flags = %x\n", flags));
+ return flags;
+}
+
+/********************************************************************/
+
+static void set_flags (int fd, int flags)
+{
+ SYSDEBUG ((LOG_DEBUG, "set flags = %x\n", flags));
+
+ if (ioctl(fd, PPPIOCSFLAGS, (caddr_t) &flags) < 0) {
+ if (! ok_error (errno) )
+ fatal("ioctl(PPPIOCSFLAGS, %x): %m", flags, errno);
+ }
+}
+
+/********************************************************************
+ *
+ * sys_init - System-dependent initialization.
+ */
+
+void sys_init(void)
+{
+ int flags;
+
+ if (new_style_driver) {
+ ppp_dev_fd = open("/dev/ppp", O_RDWR);
+ if (ppp_dev_fd < 0)
+ fatal("Couldn't open /dev/ppp: %m");
+ flags = fcntl(ppp_dev_fd, F_GETFL);
+ if (flags == -1
+ || fcntl(ppp_dev_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("Couldn't set /dev/ppp to nonblock: %m");
+ }
+
+ /* Get an internet socket for doing socket ioctls. */
+ sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock_fd < 0)
+ fatal("Couldn't create IP socket: %m(%d)", errno);
+
+#ifdef INET6
+ sock6_fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (sock6_fd < 0)
+ sock6_fd = -errno; /* save errno for later */
+#endif
+
+ FD_ZERO(&in_fds);
+ max_in_fd = 0;
+}
+
+/********************************************************************
+ *
+ * sys_cleanup - restore any system state we modified before exiting:
+ * mark the interface down, delete default route and/or proxy arp entry.
+ * This shouldn't call die() because it's called from die().
+ */
+
+void sys_cleanup(void)
+{
+/*
+ * Take down the device
+ */
+ if (if_is_up) {
+ if_is_up = 0;
+ sifdown(0);
+ }
+/*
+ * Delete any routes through the device.
+ */
+ if (default_route_gateway != 0)
+ cifdefaultroute(0, 0, default_route_gateway);
+
+ if (has_proxy_arp)
+ cifproxyarp(0, proxy_arp_addr);
+}
+
+/********************************************************************
+ *
+ * sys_close - Clean up in a child process before execing.
+ */
+void
+sys_close(void)
+{
+ if (new_style_driver)
+ close(ppp_dev_fd);
+ if (sock_fd >= 0)
+ close(sock_fd);
+ if (slave_fd >= 0)
+ close(slave_fd);
+ if (master_fd >= 0)
+ close(master_fd);
+ closelog();
+}
+
+/********************************************************************
+ *
+ * set_kdebugflag - Define the debugging level for the kernel
+ */
+
+static int set_kdebugflag (int requested_level)
+{
+ if (new_style_driver && ifunit < 0)
+ return 1;
+ if (ioctl(ppp_dev_fd, PPPIOCSDEBUG, &requested_level) < 0) {
+ if ( ! ok_error (errno) )
+ error("ioctl(PPPIOCSDEBUG): %m");
+ return (0);
+ }
+ SYSDEBUG ((LOG_INFO, "set kernel debugging level to %d",
+ requested_level));
+ return (1);
+}
+
+/********************************************************************
+ *
+ * tty_establish_ppp - Turn the serial port into a ppp interface.
+ */
+
+int tty_establish_ppp (int tty_fd)
+{
+ int x;
+ int fd = -1;
+
+/*
+ * Ensure that the tty device is in exclusive mode.
+ */
+ if (ioctl(tty_fd, TIOCEXCL, 0) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("Couldn't make tty exclusive: %m");
+ }
+/*
+ * Demand mode - prime the old ppp device to relinquish the unit.
+ */
+ if (!new_style_driver && looped
+ && ioctl(slave_fd, PPPIOCXFERUNIT, 0) < 0) {
+ error("ioctl(transfer ppp unit): %m");
+ return -1;
+ }
+/*
+ * Set the current tty to the PPP discpline
+ */
+
+#ifndef N_SYNC_PPP
+#define N_SYNC_PPP 14
+#endif
+ ppp_disc = (new_style_driver && sync_serial)? N_SYNC_PPP: N_PPP;
+ if (ioctl(tty_fd, TIOCSETD, &ppp_disc) < 0) {
+ if ( ! ok_error (errno) ) {
+ error("Couldn't set tty to PPP discipline: %m");
+ return -1;
+ }
+ }
+
+ if (new_style_driver) {
+ /* Open another instance of /dev/ppp and connect the channel to it */
+ int flags;
+
+ if (ioctl(tty_fd, PPPIOCGCHAN, &chindex) == -1) {
+ error("Couldn't get channel number: %m");
+ goto err;
+ }
+ dbglog("using channel %d", chindex);
+ fd = open("/dev/ppp", O_RDWR);
+ if (fd < 0) {
+ error("Couldn't reopen /dev/ppp: %m");
+ goto err;
+ }
+ if (ioctl(fd, PPPIOCATTCHAN, &chindex) < 0) {
+ error("Couldn't attach to channel %d: %m", chindex);
+ goto err_close;
+ }
+ flags = fcntl(fd, F_GETFL);
+ if (flags == -1 || fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("Couldn't set /dev/ppp (channel) to nonblock: %m");
+ set_ppp_fd(fd);
+
+ if (!looped)
+ ifunit = -1;
+ if (!looped && !multilink) {
+ /*
+ * Create a new PPP unit.
+ */
+ if (make_ppp_unit() < 0)
+ goto err_close;
+ }
+
+ if (looped)
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) & ~SC_LOOP_TRAFFIC);
+
+ if (!multilink) {
+ add_fd(ppp_dev_fd);
+ if (ioctl(fd, PPPIOCCONNECT, &ifunit) < 0) {
+ error("Couldn't attach to PPP unit %d: %m", ifunit);
+ goto err_close;
+ }
+ }
+
+ } else {
+ /*
+ * Old-style driver: find out which interface we were given.
+ */
+ set_ppp_fd (tty_fd);
+ if (ioctl(tty_fd, PPPIOCGUNIT, &x) < 0) {
+ if (ok_error (errno))
+ goto err;
+ fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
+ }
+ /* Check that we got the same unit again. */
+ if (looped && x != ifunit)
+ fatal("transfer_ppp failed: wanted unit %d, got %d", ifunit, x);
+ ifunit = x;
+
+ /*
+ * Fetch the initial file flags and reset blocking mode on the file.
+ */
+ initfdflags = fcntl(tty_fd, F_GETFL);
+ if (initfdflags == -1 ||
+ fcntl(tty_fd, F_SETFL, initfdflags | O_NONBLOCK) == -1) {
+ if ( ! ok_error (errno))
+ warn("Couldn't set device to non-blocking mode: %m");
+ }
+ }
+
+ looped = 0;
+
+ /*
+ * Enable debug in the driver if requested.
+ */
+ if (!looped)
+ set_kdebugflag (kdebugflag);
+
+#define SC_RCVB (SC_RCV_B7_0 | SC_RCV_B7_1 | SC_RCV_EVNP | SC_RCV_ODDP)
+#define SC_LOGB (SC_DEBUG | SC_LOG_INPKT | SC_LOG_OUTPKT | SC_LOG_RAWIN \
+ | SC_LOG_FLUSH)
+
+ set_flags(ppp_fd, ((get_flags(ppp_fd) & ~(SC_RCVB | SC_LOGB))
+ | ((kdebugflag * SC_DEBUG) & SC_LOGB)));
+
+ SYSDEBUG ((LOG_NOTICE, "Using version %d.%d.%d of PPP driver",
+ driver_version, driver_modification, driver_patch));
+
+ return ppp_fd;
+
+ err_close:
+ close(fd);
+ err:
+ if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0 && !ok_error(errno))
+ warn("Couldn't reset tty to normal line discipline: %m");
+ return -1;
+}
+
+/********************************************************************
+ *
+ * tty_disestablish_ppp - Restore the serial port to normal operation,
+ * and reconnect the ppp unit to the loopback if in demand mode.
+ * This shouldn't call die() because it's called from die().
+ */
+
+void tty_disestablish_ppp(int tty_fd)
+{
+ if (demand)
+ restore_loop();
+ if (!hungup) {
+/*
+ * Flush the tty output buffer so that the TIOCSETD doesn't hang.
+ */
+ if (tcflush(tty_fd, TCIOFLUSH) < 0)
+ warn("tcflush failed: %m");
+/*
+ * Restore the previous line discipline
+ */
+ if (ioctl(tty_fd, TIOCSETD, &tty_disc) < 0) {
+ if ( ! ok_error (errno))
+ error("ioctl(TIOCSETD, N_TTY): %m");
+ }
+
+ if (ioctl(tty_fd, TIOCNXCL, 0) < 0) {
+ if ( ! ok_error (errno))
+ warn("ioctl(TIOCNXCL): %m(%d)", errno);
+ }
+
+ /* Reset non-blocking mode on fd. */
+ if (initfdflags != -1 && fcntl(tty_fd, F_SETFL, initfdflags) < 0) {
+ if ( ! ok_error (errno))
+ warn("Couldn't restore device fd flags: %m");
+ }
+ }
+ initfdflags = -1;
+
+ if (new_style_driver) {
+ close(ppp_fd);
+ ppp_fd = -1;
+ if (!looped && ifunit >= 0 && ioctl(ppp_dev_fd, PPPIOCDETACH) < 0)
+ error("Couldn't release PPP unit: %m");
+ if (!multilink)
+ remove_fd(ppp_dev_fd);
+ }
+}
+
+/*
+ * make_ppp_unit - make a new ppp unit for ppp_dev_fd.
+ * Assumes new_style_driver.
+ */
+static int make_ppp_unit()
+{
+ int x;
+
+ ifunit = req_unit;
+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
+ if (x < 0 && req_unit >= 0 && errno == EEXIST) {
+ warn("Couldn't allocate PPP unit %d as it is already in use");
+ ifunit = -1;
+ x = ioctl(ppp_dev_fd, PPPIOCNEWUNIT, &ifunit);
+ }
+ if (x < 0)
+ error("Couldn't create new ppp unit: %m");
+ return x;
+}
+
+/*
+ * cfg_bundle - configure the existing bundle.
+ * Used in demand mode.
+ */
+void cfg_bundle(int mrru, int mtru, int rssn, int tssn)
+{
+ int flags;
+
+ if (!new_style_driver)
+ return;
+
+ /* set the mrru, mtu and flags */
+ if (ioctl(ppp_dev_fd, PPPIOCSMRRU, &mrru) < 0)
+ error("Couldn't set MRRU: %m");
+ flags = get_flags(ppp_dev_fd);
+ flags &= ~(SC_MP_SHORTSEQ | SC_MP_XSHORTSEQ);
+ flags |= (rssn? SC_MP_SHORTSEQ: 0) | (tssn? SC_MP_XSHORTSEQ: 0)
+ | (mrru? SC_MULTILINK: 0);
+
+ set_flags(ppp_dev_fd, flags);
+
+ /* connect up the channel */
+ if (ioctl(ppp_fd, PPPIOCCONNECT, &ifunit) < 0)
+ fatal("Couldn't attach to PPP unit %d: %m", ifunit);
+ add_fd(ppp_dev_fd);
+}
+
+/*
+ * make_new_bundle - create a new PPP unit (i.e. a bundle)
+ * and connect our channel to it. This should only get called
+ * if `multilink' was set at the time establish_ppp was called.
+ * In demand mode this uses our existing bundle instead of making
+ * a new one.
+ */
+void make_new_bundle(int mrru, int mtru, int rssn, int tssn)
+{
+ if (!new_style_driver)
+ return;
+
+ /* make us a ppp unit */
+ if (make_ppp_unit() < 0)
+ die(1);
+
+ /* set the mrru and flags */
+ cfg_bundle(mrru, mtru, rssn, tssn);
+}
+
+/*
+ * bundle_attach - attach our link to a given PPP unit.
+ * We assume the unit is controlled by another pppd.
+ */
+int bundle_attach(int ifnum)
+{
+ if (!new_style_driver)
+ return -1;
+
+ if (ioctl(ppp_dev_fd, PPPIOCATTACH, &ifnum) < 0) {
+ if (errno == ENXIO)
+ return 0; /* doesn't still exist */
+ fatal("Couldn't attach to interface unit %d: %m\n", ifnum);
+ }
+ if (ioctl(ppp_fd, PPPIOCCONNECT, &ifnum) < 0)
+ fatal("Couldn't connect to interface unit %d: %m", ifnum);
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_MULTILINK);
+
+ ifunit = ifnum;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * clean_check - Fetch the flags for the device and generate
+ * appropriate error messages.
+ */
+void clean_check(void)
+{
+ int x;
+ char *s;
+
+ if (still_ppp()) {
+ if (ioctl(ppp_fd, PPPIOCGFLAGS, (caddr_t) &x) == 0) {
+ s = NULL;
+ switch (~x & (SC_RCV_B7_0|SC_RCV_B7_1|SC_RCV_EVNP|SC_RCV_ODDP)) {
+ case SC_RCV_B7_0:
+ s = "all had bit 7 set to 1";
+ break;
+
+ case SC_RCV_B7_1:
+ s = "all had bit 7 set to 0";
+ break;
+
+ case SC_RCV_EVNP:
+ s = "all had odd parity";
+ break;
+
+ case SC_RCV_ODDP:
+ s = "all had even parity";
+ break;
+ }
+
+ if (s != NULL) {
+ warn("Receive serial link is not 8-bit clean:");
+ warn("Problem: %s", s);
+ }
+ }
+ }
+}
+
+
+/*
+ * List of valid speeds.
+ */
+
+struct speed {
+ int speed_int, speed_val;
+} speeds[] = {
+#ifdef B50
+ { 50, B50 },
+#endif
+#ifdef B75
+ { 75, B75 },
+#endif
+#ifdef B110
+ { 110, B110 },
+#endif
+#ifdef B134
+ { 134, B134 },
+#endif
+#ifdef B150
+ { 150, B150 },
+#endif
+#ifdef B200
+ { 200, B200 },
+#endif
+#ifdef B300
+ { 300, B300 },
+#endif
+#ifdef B600
+ { 600, B600 },
+#endif
+#ifdef B1200
+ { 1200, B1200 },
+#endif
+#ifdef B1800
+ { 1800, B1800 },
+#endif
+#ifdef B2000
+ { 2000, B2000 },
+#endif
+#ifdef B2400
+ { 2400, B2400 },
+#endif
+#ifdef B3600
+ { 3600, B3600 },
+#endif
+#ifdef B4800
+ { 4800, B4800 },
+#endif
+#ifdef B7200
+ { 7200, B7200 },
+#endif
+#ifdef B9600
+ { 9600, B9600 },
+#endif
+#ifdef B19200
+ { 19200, B19200 },
+#endif
+#ifdef B38400
+ { 38400, B38400 },
+#endif
+#ifdef B57600
+ { 57600, B57600 },
+#endif
+#ifdef B76800
+ { 76800, B76800 },
+#endif
+#ifdef B115200
+ { 115200, B115200 },
+#endif
+#ifdef EXTA
+ { 19200, EXTA },
+#endif
+#ifdef EXTB
+ { 38400, EXTB },
+#endif
+#ifdef B230400
+ { 230400, B230400 },
+#endif
+#ifdef B460800
+ { 460800, B460800 },
+#endif
+#ifdef B921600
+ { 921600, B921600 },
+#endif
+ { 0, 0 }
+};
+
+/********************************************************************
+ *
+ * Translate from bits/second to a speed_t.
+ */
+
+static int translate_speed (int bps)
+{
+ struct speed *speedp;
+
+ if (bps != 0) {
+ for (speedp = speeds; speedp->speed_int; speedp++) {
+ if (bps == speedp->speed_int)
+ return speedp->speed_val;
+ }
+ warn("speed %d not supported", bps);
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * Translate from a speed_t to bits/second.
+ */
+
+static int baud_rate_of (int speed)
+{
+ struct speed *speedp;
+
+ if (speed != 0) {
+ for (speedp = speeds; speedp->speed_int; speedp++) {
+ if (speed == speedp->speed_val)
+ return speedp->speed_int;
+ }
+ }
+ return 0;
+}
+
+/********************************************************************
+ *
+ * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
+ * at the requested speed, etc. If `local' is true, set CLOCAL
+ * regardless of whether the modem option was specified.
+ */
+
+void set_up_tty(int tty_fd, int local)
+{
+ int speed;
+ struct termios tios;
+
+ setdtr(tty_fd, 1);
+ if (tcgetattr(tty_fd, &tios) < 0) {
+ if (!ok_error(errno))
+ fatal("tcgetattr: %m(%d)", errno);
+ return;
+ }
+
+ if (!restore_term)
+ inittermios = tios;
+
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
+ tios.c_cflag |= CS8 | CREAD | HUPCL;
+
+ tios.c_iflag = IGNBRK | IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ tios.c_cc[VMIN] = 1;
+ tios.c_cc[VTIME] = 0;
+
+ if (local || !modem)
+ tios.c_cflag ^= (CLOCAL | HUPCL);
+
+ switch (crtscts) {
+ case 1:
+ tios.c_cflag |= CRTSCTS;
+ break;
+
+ case -2:
+ tios.c_iflag |= IXON | IXOFF;
+ tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
+ tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
+ break;
+
+ case -1:
+ tios.c_cflag &= ~CRTSCTS;
+ break;
+
+ default:
+ break;
+ }
+
+ speed = translate_speed(inspeed);
+ if (speed) {
+ cfsetospeed (&tios, speed);
+ cfsetispeed (&tios, speed);
+ }
+/*
+ * We can't proceed if the serial port speed is B0,
+ * since that implies that the serial port is disabled.
+ */
+ else {
+ speed = cfgetospeed(&tios);
+ if (speed == B0)
+ fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
+ }
+
+ if (tcsetattr(tty_fd, TCSAFLUSH, &tios) < 0)
+ if (!ok_error(errno))
+ fatal("tcsetattr: %m");
+
+ baud_rate = baud_rate_of(speed);
+ restore_term = 1;
+}
+
+/********************************************************************
+ *
+ * setdtr - control the DTR line on the serial port.
+ * This is called from die(), so it shouldn't call die().
+ */
+
+void setdtr (int tty_fd, int on)
+{
+ int modembits = TIOCM_DTR;
+
+ ioctl(tty_fd, (on ? TIOCMBIS : TIOCMBIC), &modembits);
+}
+
+/********************************************************************
+ *
+ * restore_tty - restore the terminal to the saved settings.
+ */
+
+void restore_tty (int tty_fd)
+{
+ if (restore_term) {
+ restore_term = 0;
+/*
+ * Turn off echoing, because otherwise we can get into
+ * a loop with the tty and the modem echoing to each other.
+ * We presume we are the sole user of this tty device, so
+ * when we close it, it will revert to its defaults anyway.
+ */
+ if (!default_device)
+ inittermios.c_lflag &= ~(ECHO | ECHONL);
+
+ if (tcsetattr(tty_fd, TCSAFLUSH, &inittermios) < 0) {
+ if (! ok_error (errno))
+ warn("tcsetattr: %m");
+ }
+ }
+}
+
+/********************************************************************
+ *
+ * output - Output PPP packet.
+ */
+
+void output (int unit, unsigned char *p, int len)
+{
+ int fd = ppp_fd;
+ int proto;
+
+ if (debug)
+ dbglog("sent %P", p, len);
+
+ if (len < PPP_HDRLEN)
+ return;
+ if (new_style_driver) {
+ p += 2;
+ len -= 2;
+ proto = (p[0] << 8) + p[1];
+ if (ifunit >= 0 && !(proto >= 0xc000 || proto == PPP_CCPFRAG))
+ fd = ppp_dev_fd;
+ }
+ if (write(fd, p, len) < 0) {
+ if (errno == EWOULDBLOCK || errno == ENOBUFS
+ || errno == ENXIO || errno == EIO || errno == EINTR)
+ warn("write: warning: %m (%d)", errno);
+ else
+ error("write: %m (%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * wait_input - wait until there is data available,
+ * for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+
+void wait_input(struct timeval *timo)
+{
+ fd_set ready, exc;
+ int n;
+
+ ready = in_fds;
+ exc = in_fds;
+ n = select(max_in_fd + 1, &ready, NULL, &exc, timo);
+ if (n < 0 && errno != EINTR)
+ fatal("select: %m(%d)", errno);
+}
+
+/*
+ * add_fd - add an fd to the set that wait_input waits for.
+ */
+void add_fd(int fd)
+{
+ FD_SET(fd, &in_fds);
+ if (fd > max_in_fd)
+ max_in_fd = fd;
+}
+
+/*
+ * remove_fd - remove an fd from the set that wait_input waits for.
+ */
+void remove_fd(int fd)
+{
+ FD_CLR(fd, &in_fds);
+}
+
+
+/********************************************************************
+ *
+ * read_packet - get a PPP packet from the serial device.
+ */
+
+int read_packet (unsigned char *buf)
+{
+ int len, nr;
+
+ len = PPP_MRU + PPP_HDRLEN;
+ if (new_style_driver) {
+ *buf++ = PPP_ALLSTATIONS;
+ *buf++ = PPP_UI;
+ len -= 2;
+ }
+ nr = -1;
+ if (ppp_fd >= 0) {
+ nr = read(ppp_fd, buf, len);
+ if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
+ error("read: %m");
+ if (nr < 0 && errno == ENXIO)
+ return 0;
+ }
+ if (nr < 0 && new_style_driver && ifunit >= 0) {
+ /* N.B. we read ppp_fd first since LCP packets come in there. */
+ nr = read(ppp_dev_fd, buf, len);
+ if (nr < 0 && errno != EWOULDBLOCK && errno != EIO && errno != EINTR)
+ error("read /dev/ppp: %m");
+ if (nr < 0 && errno == ENXIO)
+ return 0;
+ }
+ return (new_style_driver && nr > 0)? nr+2: nr;
+}
+
+/********************************************************************
+ *
+ * get_loop_output - get outgoing packets from the ppp device,
+ * and detect when we want to bring the real link up.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ */
+int
+get_loop_output(void)
+{
+ int rv = 0;
+ int n;
+
+ if (new_style_driver) {
+ while ((n = read_packet(inpacket_buf)) > 0)
+ if (loop_frame(inpacket_buf, n))
+ rv = 1;
+ return rv;
+ }
+
+ while ((n = read(master_fd, inbuf, sizeof(inbuf))) > 0)
+ if (loop_chars(inbuf, n))
+ rv = 1;
+
+ if (n == 0)
+ fatal("eof on loopback");
+
+ if (errno != EWOULDBLOCK)
+ fatal("read from loopback: %m(%d)", errno);
+
+ return rv;
+}
+
+/*
+ * netif_set_mtu - set the MTU on the PPP network interface.
+ */
+void
+netif_set_mtu(int unit, int mtu)
+{
+ struct ifreq ifr;
+
+ SYSDEBUG ((LOG_DEBUG, "netif_set_mtu: mtu = %d\n", mtu));
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ ifr.ifr_mtu = mtu;
+
+ if (ifunit >= 0 && ioctl(sock_fd, SIOCSIFMTU, (caddr_t) &ifr) < 0)
+ fatal("ioctl(SIOCSIFMTU): %m");
+}
+
+/********************************************************************
+ *
+ * tty_send_config - configure the transmit characteristics of
+ * the ppp interface.
+ */
+
+void tty_send_config (int mtu,u_int32_t asyncmap,int pcomp,int accomp)
+{
+ u_int x;
+
+/*
+ * Set the asyncmap and other parameters for the ppp device
+ */
+ if (!still_ppp())
+ return;
+ link_mtu = mtu;
+ SYSDEBUG ((LOG_DEBUG, "send_config: asyncmap = %lx\n", asyncmap));
+ if (ioctl(ppp_fd, PPPIOCSASYNCMAP, (caddr_t) &asyncmap) < 0) {
+ if (!ok_error(errno))
+ fatal("ioctl(PPPIOCSASYNCMAP): %m(%d)", errno);
+ return;
+ }
+
+ x = get_flags(ppp_fd);
+ x = pcomp ? x | SC_COMP_PROT : x & ~SC_COMP_PROT;
+ x = accomp ? x | SC_COMP_AC : x & ~SC_COMP_AC;
+ x = sync_serial ? x | SC_SYNC : x & ~SC_SYNC;
+ set_flags(ppp_fd, x);
+}
+
+/********************************************************************
+ *
+ * tty_set_xaccm - set the extended transmit ACCM for the interface.
+ */
+
+void tty_set_xaccm (ext_accm accm)
+{
+ SYSDEBUG ((LOG_DEBUG, "set_xaccm: %08lx %08lx %08lx %08lx\n",
+ accm[0], accm[1], accm[2], accm[3]));
+
+ if (!still_ppp())
+ return;
+ if (ioctl(ppp_fd, PPPIOCSXASYNCMAP, accm) < 0 && errno != ENOTTY) {
+ if ( ! ok_error (errno))
+ warn("ioctl(set extended ACCM): %m(%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * tty_recv_config - configure the receive-side characteristics of
+ * the ppp interface.
+ */
+
+void tty_recv_config (int mru,u_int32_t asyncmap,int pcomp,int accomp)
+{
+ SYSDEBUG ((LOG_DEBUG, "recv_config: mru = %d\n", mru));
+/*
+ * If we were called because the link has gone down then there is nothing
+ * which may be done. Just return without incident.
+ */
+ if (!still_ppp())
+ return;
+/*
+ * Set the receiver parameters
+ */
+ if (ioctl(ppp_fd, PPPIOCSMRU, (caddr_t) &mru) < 0) {
+ if ( ! ok_error (errno))
+ error("ioctl(PPPIOCSMRU): %m(%d)", errno);
+ }
+ if (new_style_driver && ifunit >= 0
+ && ioctl(ppp_dev_fd, PPPIOCSMRU, (caddr_t) &mru) < 0)
+ error("Couldn't set MRU in generic PPP layer: %m");
+
+ SYSDEBUG ((LOG_DEBUG, "recv_config: asyncmap = %lx\n", asyncmap));
+ if (ioctl(ppp_fd, PPPIOCSRASYNCMAP, (caddr_t) &asyncmap) < 0) {
+ if (!ok_error(errno))
+ error("ioctl(PPPIOCSRASYNCMAP): %m(%d)", errno);
+ }
+}
+
+/********************************************************************
+ *
+ * ccp_test - ask kernel whether a given compression method
+ * is acceptable for use.
+ */
+
+int ccp_test (int unit, u_char *opt_ptr, int opt_len, int for_transmit)
+{
+ struct ppp_option_data data;
+
+ memset (&data, '\0', sizeof (data));
+ data.ptr = opt_ptr;
+ data.length = opt_len;
+ data.transmit = for_transmit;
+
+ if (ioctl(ppp_dev_fd, PPPIOCSCOMPRESS, (caddr_t) &data) >= 0)
+ return 1;
+
+ return (errno == ENOBUFS)? 0: -1;
+}
+
+/********************************************************************
+ *
+ * ccp_flags_set - inform kernel about the current state of CCP.
+ */
+
+void ccp_flags_set (int unit, int isopen, int isup)
+{
+ if (still_ppp()) {
+ int x = get_flags(ppp_dev_fd);
+ x = isopen? x | SC_CCP_OPEN : x &~ SC_CCP_OPEN;
+ x = isup? x | SC_CCP_UP : x &~ SC_CCP_UP;
+ set_flags (ppp_dev_fd, x);
+ }
+}
+
+#ifdef PPP_FILTER
+/*
+ * set_filters - set the active and pass filters in the kernel driver.
+ */
+int set_filters(struct bpf_program *pass, struct bpf_program *active)
+{
+ struct sock_fprog fp;
+
+ fp.len = pass->bf_len;
+ fp.filter = (struct sock_filter *) pass->bf_insns;
+ if (ioctl(ppp_dev_fd, PPPIOCSPASS, &fp) < 0) {
+ if (errno == ENOTTY)
+ warn("kernel does not support PPP filtering");
+ else
+ error("Couldn't set pass-filter in kernel: %m");
+ return 0;
+ }
+ fp.len = active->bf_len;
+ fp.filter = (struct sock_filter *) active->bf_insns;
+ if (ioctl(ppp_dev_fd, PPPIOCSACTIVE, &fp) < 0) {
+ error("Couldn't set active-filter in kernel: %m");
+ return 0;
+ }
+ return 1;
+}
+#endif /* PPP_FILTER */
+
+/********************************************************************
+ *
+ * get_idle_time - return how long the link has been idle.
+ */
+int
+get_idle_time(u, ip)
+ int u;
+ struct ppp_idle *ip;
+{
+ return ioctl(ppp_dev_fd, PPPIOCGIDLE, ip) >= 0;
+}
+
+/********************************************************************
+ *
+ * get_ppp_stats - return statistics for the link.
+ */
+int
+get_ppp_stats(u, stats)
+ int u;
+ struct pppd_stats *stats;
+{
+ struct ifpppstatsreq req;
+
+ memset (&req, 0, sizeof (req));
+
+ req.stats_ptr = (caddr_t) &req.stats;
+ strlcpy(req.ifr__name, ifname, sizeof(req.ifr__name));
+ if (ioctl(sock_fd, SIOCGPPPSTATS, &req) < 0) {
+ error("Couldn't get PPP statistics: %m");
+ return 0;
+ }
+ stats->bytes_in = req.stats.p.ppp_ibytes;
+ stats->bytes_out = req.stats.p.ppp_obytes;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * ccp_fatal_error - returns 1 if decompression was disabled as a
+ * result of an error detected after decompression of a packet,
+ * 0 otherwise. This is necessary because of patent nonsense.
+ */
+
+int ccp_fatal_error (int unit)
+{
+ int x = get_flags(ppp_dev_fd);
+
+ return x & SC_DC_FERROR;
+}
+
+/********************************************************************
+ *
+ * path_to_procfs - find the path to the proc file system mount point
+ */
+static char proc_path[MAXPATHLEN];
+static int proc_path_len;
+
+static char *path_to_procfs(const char *tail)
+{
+ struct mntent *mntent;
+ FILE *fp;
+
+ if (proc_path_len == 0) {
+ /* Default the mount location of /proc */
+ strlcpy (proc_path, "/proc", sizeof(proc_path));
+ proc_path_len = 5;
+ fp = fopen(MOUNTED, "r");
+ if (fp != NULL) {
+ while ((mntent = getmntent(fp)) != NULL) {
+ if (strcmp(mntent->mnt_type, MNTTYPE_IGNORE) == 0)
+ continue;
+ if (strcmp(mntent->mnt_type, "proc") == 0) {
+ strlcpy(proc_path, mntent->mnt_dir, sizeof(proc_path));
+ proc_path_len = strlen(proc_path);
+ break;
+ }
+ }
+ fclose (fp);
+ }
+ }
+
+ strlcpy(proc_path + proc_path_len, tail,
+ sizeof(proc_path) - proc_path_len);
+ return proc_path;
+}
+
+/*
+ * /proc/net/route parsing stuff.
+ */
+#define ROUTE_MAX_COLS 12
+FILE *route_fd = (FILE *) 0;
+static char route_buffer[512];
+static int route_dev_col, route_dest_col, route_gw_col;
+static int route_flags_col, route_mask_col;
+static int route_num_cols;
+
+static int open_route_table (void);
+static void close_route_table (void);
+static int read_route_table (struct rtentry *rt);
+
+/********************************************************************
+ *
+ * close_route_table - close the interface to the route table
+ */
+
+static void close_route_table (void)
+{
+ if (route_fd != (FILE *) 0) {
+ fclose (route_fd);
+ route_fd = (FILE *) 0;
+ }
+}
+
+/********************************************************************
+ *
+ * open_route_table - open the interface to the route table
+ */
+static char route_delims[] = " \t\n";
+
+static int open_route_table (void)
+{
+ char *path;
+
+ close_route_table();
+
+ path = path_to_procfs("/net/route");
+ route_fd = fopen (path, "r");
+ if (route_fd == NULL) {
+ error("can't open routing table %s: %m", path);
+ return 0;
+ }
+
+ route_dev_col = 0; /* default to usual columns */
+ route_dest_col = 1;
+ route_gw_col = 2;
+ route_flags_col = 3;
+ route_mask_col = 7;
+ route_num_cols = 8;
+
+ /* parse header line */
+ if (fgets(route_buffer, sizeof(route_buffer), route_fd) != 0) {
+ char *p = route_buffer, *q;
+ int col;
+ for (col = 0; col < ROUTE_MAX_COLS; ++col) {
+ int used = 1;
+ if ((q = strtok(p, route_delims)) == 0)
+ break;
+ if (strcasecmp(q, "iface") == 0)
+ route_dev_col = col;
+ else if (strcasecmp(q, "destination") == 0)
+ route_dest_col = col;
+ else if (strcasecmp(q, "gateway") == 0)
+ route_gw_col = col;
+ else if (strcasecmp(q, "flags") == 0)
+ route_flags_col = col;
+ else if (strcasecmp(q, "mask") == 0)
+ route_mask_col = col;
+ else
+ used = 0;
+ if (used && col >= route_num_cols)
+ route_num_cols = col + 1;
+ p = NULL;
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * read_route_table - read the next entry from the route table
+ */
+
+static int read_route_table(struct rtentry *rt)
+{
+ char *cols[ROUTE_MAX_COLS], *p;
+ int col;
+
+ memset (rt, '\0', sizeof (struct rtentry));
+
+ if (fgets (route_buffer, sizeof (route_buffer), route_fd) == (char *) 0)
+ return 0;
+
+ p = route_buffer;
+ for (col = 0; col < route_num_cols; ++col) {
+ cols[col] = strtok(p, route_delims);
+ if (cols[col] == NULL)
+ return 0; /* didn't get enough columns */
+ p = NULL;
+ }
+
+ SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
+ SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
+ SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
+
+ rt->rt_flags = (short) strtoul(cols[route_flags_col], NULL, 16);
+ rt->rt_dev = cols[route_dev_col];
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * defaultroute_exists - determine if there is a default route
+ */
+
+static int defaultroute_exists (struct rtentry *rt)
+{
+ int result = 0;
+
+ if (!open_route_table())
+ return 0;
+
+ while (read_route_table(rt) != 0) {
+ if ((rt->rt_flags & RTF_UP) == 0)
+ continue;
+
+ if (kernel_version > KVERSION(2,1,0) && SIN_ADDR(rt->rt_genmask) != 0)
+ continue;
+ if (SIN_ADDR(rt->rt_dst) == 0L) {
+ result = 1;
+ break;
+ }
+ }
+
+ close_route_table();
+ return result;
+}
+
+/*
+ * have_route_to - determine if the system has any route to
+ * a given IP address. `addr' is in network byte order.
+ * Return value is 1 if yes, 0 if no, -1 if don't know.
+ * For demand mode to work properly, we have to ignore routes
+ * through our own interface.
+ */
+int have_route_to(u_int32_t addr)
+{
+ struct rtentry rt;
+ int result = 0;
+
+ if (!open_route_table())
+ return -1; /* don't know */
+
+ while (read_route_table(&rt)) {
+ if ((rt.rt_flags & RTF_UP) == 0 || strcmp(rt.rt_dev, ifname) == 0)
+ continue;
+ if ((addr & SIN_ADDR(rt.rt_genmask)) == SIN_ADDR(rt.rt_dst)) {
+ result = 1;
+ break;
+ }
+ }
+
+ close_route_table();
+ return result;
+}
+
+/********************************************************************
+ *
+ * sifdefaultroute - assign a default route through the address given.
+ */
+
+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
+{
+ struct rtentry rt;
+
+ if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
+ u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
+
+ if (old_gateway != gateway)
+ error("not replacing existing default route to %s [%I]",
+ rt.rt_dev, old_gateway);
+ return 0;
+ }
+
+ memset (&rt, '\0', sizeof (rt));
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCADDRT): %m(%d)", errno);
+ return 0;
+ }
+
+ default_route_gateway = gateway;
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifdefaultroute - delete a default route through the address given.
+ */
+
+int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
+{
+ struct rtentry rt;
+
+ default_route_gateway = 0;
+
+ memset (&rt, '\0', sizeof (rt));
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = 0L;
+ }
+
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp()) {
+ if ( ! ok_error ( errno ))
+ error("default route ioctl(SIOCDELRT): %m (%d)", errno);
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifproxyarp - Make a proxy ARP entry for the peer.
+ */
+
+int sifproxyarp (int unit, u_int32_t his_adr)
+{
+ struct arpreq arpreq;
+ char *forw_path;
+
+ if (has_proxy_arp == 0) {
+ memset (&arpreq, '\0', sizeof(arpreq));
+
+ SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
+ SIN_ADDR(arpreq.arp_pa) = his_adr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+/*
+ * Get the hardware address of an interface on the same subnet
+ * as our local address.
+ */
+ if (!get_ether_addr(his_adr, &arpreq.arp_ha, proxy_arp_dev,
+ sizeof(proxy_arp_dev))) {
+ error("Cannot determine ethernet address for proxy ARP");
+ return 0;
+ }
+ strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
+
+ if (ioctl(sock_fd, SIOCSARP, (caddr_t)&arpreq) < 0) {
+ if ( ! ok_error ( errno ))
+ error("ioctl(SIOCSARP): %m(%d)", errno);
+ return 0;
+ }
+ proxy_arp_addr = his_adr;
+ has_proxy_arp = 1;
+
+ if (tune_kernel) {
+ forw_path = path_to_procfs("/sys/net/ipv4/ip_forward");
+ if (forw_path != 0) {
+ int fd = open(forw_path, O_WRONLY);
+ if (fd >= 0) {
+ if (write(fd, "1", 1) != 1)
+ error("Couldn't enable IP forwarding: %m");
+ close(fd);
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifproxyarp - Delete the proxy ARP entry for the peer.
+ */
+
+int cifproxyarp (int unit, u_int32_t his_adr)
+{
+ struct arpreq arpreq;
+
+ if (has_proxy_arp) {
+ has_proxy_arp = 0;
+ memset (&arpreq, '\0', sizeof(arpreq));
+ SET_SA_FAMILY(arpreq.arp_pa, AF_INET);
+ SIN_ADDR(arpreq.arp_pa) = his_adr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+ strlcpy(arpreq.arp_dev, proxy_arp_dev, sizeof(arpreq.arp_dev));
+
+ if (ioctl(sock_fd, SIOCDARP, (caddr_t)&arpreq) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("ioctl(SIOCDARP): %m(%d)", errno);
+ return 0;
+ }
+ }
+ return 1;
+}
+
+/********************************************************************
+ *
+ * get_ether_addr - get the hardware address of an interface on the
+ * the same subnet as ipaddr.
+ */
+
+static int get_ether_addr (u_int32_t ipaddr,
+ struct sockaddr *hwaddr,
+ char *name, int namelen)
+{
+ struct ifreq *ifr, *ifend;
+ u_int32_t ina, mask;
+ char *aliasp;
+ struct ifreq ifreq;
+ struct ifconf ifc;
+ struct ifreq ifs[MAX_IFS];
+
+ ifc.ifc_len = sizeof(ifs);
+ ifc.ifc_req = ifs;
+ if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
+ if ( ! ok_error ( errno ))
+ error("ioctl(SIOCGIFCONF): %m(%d)", errno);
+ return 0;
+ }
+
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: scanning %d interfaces for IP %s",
+ ifc.ifc_len / sizeof(struct ifreq), ip_ntoa(ipaddr)));
+/*
+ * Scan through looking for an interface with an Internet
+ * address on the same subnet as `ipaddr'.
+ */
+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
+ for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
+ if (ifr->ifr_addr.sa_family == AF_INET) {
+ ina = SIN_ADDR(ifr->ifr_addr);
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: examining interface %s",
+ ifreq.ifr_name));
+/*
+ * Check that the interface is up, and not point-to-point
+ * nor loopback.
+ */
+ if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+
+ if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
+ continue;
+/*
+ * Get its netmask and check that it's on the right subnet.
+ */
+ if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+
+ mask = SIN_ADDR(ifreq.ifr_addr);
+ SYSDEBUG ((LOG_DEBUG, "proxy arp: interface addr %s mask %lx",
+ ip_ntoa(ina), ntohl(mask)));
+
+ if (((ipaddr ^ ina) & mask) != 0)
+ continue;
+ break;
+ }
+ }
+
+ if (ifr >= ifend)
+ return 0;
+
+ strlcpy(name, ifreq.ifr_name, namelen);
+
+ /* trim off the :1 in eth0:1 */
+ aliasp = strchr(name, ':');
+ if (aliasp != 0)
+ *aliasp = 0;
+
+ info("found interface %s for proxy arp", name);
+/*
+ * Now get the hardware address.
+ */
+ memset (&ifreq.ifr_hwaddr, 0, sizeof (struct sockaddr));
+ if (ioctl (sock_fd, SIOCGIFHWADDR, &ifreq) < 0) {
+ error("SIOCGIFHWADDR(%s): %m(%d)", ifreq.ifr_name, errno);
+ return 0;
+ }
+
+ memcpy (hwaddr,
+ &ifreq.ifr_hwaddr,
+ sizeof (struct sockaddr));
+
+ SYSDEBUG ((LOG_DEBUG,
+ "proxy arp: found hwaddr %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
+ (int) ((unsigned char *) &hwaddr->sa_data)[0],
+ (int) ((unsigned char *) &hwaddr->sa_data)[1],
+ (int) ((unsigned char *) &hwaddr->sa_data)[2],
+ (int) ((unsigned char *) &hwaddr->sa_data)[3],
+ (int) ((unsigned char *) &hwaddr->sa_data)[4],
+ (int) ((unsigned char *) &hwaddr->sa_data)[5],
+ (int) ((unsigned char *) &hwaddr->sa_data)[6],
+ (int) ((unsigned char *) &hwaddr->sa_data)[7]));
+ return 1;
+}
+
+/*
+ * get_if_hwaddr - get the hardware address for the specified
+ * network interface device.
+ */
+int
+get_if_hwaddr(u_char *addr, char *name)
+{
+ struct ifreq ifreq;
+ int ret, sock_fd;
+
+ sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock_fd < 0)
+ return 0;
+ memset(&ifreq.ifr_hwaddr, 0, sizeof(struct sockaddr));
+ strlcpy(ifreq.ifr_name, name, sizeof(ifreq.ifr_name));
+ ret = ioctl(sock_fd, SIOCGIFHWADDR, &ifreq);
+ close(sock_fd);
+ if (ret >= 0)
+ memcpy(addr, ifreq.ifr_hwaddr.sa_data, 6);
+ return ret;
+}
+
+/*
+ * get_first_ethernet - return the name of the first ethernet-style
+ * interface on this system.
+ */
+char *
+get_first_ethernet()
+{
+ return "eth0";
+}
+
+/********************************************************************
+ *
+ * Return user specified netmask, modified by any mask we might determine
+ * for address `addr' (in network byte order).
+ * Here we scan through the system's list of interfaces, looking for
+ * any non-point-to-point interfaces which might appear to be on the same
+ * network as `addr'. If we find any, we OR in their netmask to the
+ * user-specified netmask.
+ */
+
+u_int32_t GetMask (u_int32_t addr)
+{
+ u_int32_t mask, nmask, ina;
+ struct ifreq *ifr, *ifend, ifreq;
+ struct ifconf ifc;
+ struct ifreq ifs[MAX_IFS];
+
+ addr = ntohl(addr);
+
+ if (IN_CLASSA(addr)) /* determine network mask for address class */
+ nmask = IN_CLASSA_NET;
+ else if (IN_CLASSB(addr))
+ nmask = IN_CLASSB_NET;
+ else
+ nmask = IN_CLASSC_NET;
+
+ /* class D nets are disallowed by bad_ip_adrs */
+ mask = netmask | htonl(nmask);
+/*
+ * Scan through the system's network interfaces.
+ */
+ ifc.ifc_len = sizeof(ifs);
+ ifc.ifc_req = ifs;
+ if (ioctl(sock_fd, SIOCGIFCONF, &ifc) < 0) {
+ if ( ! ok_error ( errno ))
+ warn("ioctl(SIOCGIFCONF): %m(%d)", errno);
+ return mask;
+ }
+
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
+/*
+ * Check the interface's internet address.
+ */
+ if (ifr->ifr_addr.sa_family != AF_INET)
+ continue;
+ ina = SIN_ADDR(ifr->ifr_addr);
+ if (((ntohl(ina) ^ addr) & nmask) != 0)
+ continue;
+/*
+ * Check that the interface is up, and not point-to-point nor loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+
+ if (((ifreq.ifr_flags ^ FLAGS_GOOD) & FLAGS_MASK) != 0)
+ continue;
+/*
+ * Get its netmask and OR it into our mask.
+ */
+ if (ioctl(sock_fd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ mask |= SIN_ADDR(ifreq.ifr_addr);
+ break;
+ }
+ return mask;
+}
+
+/********************************************************************
+ *
+ * Internal routine to decode the version.modification.patch level
+ */
+
+static void decode_version (char *buf, int *version,
+ int *modification, int *patch)
+{
+ char *endp;
+
+ *version = (int) strtoul (buf, &endp, 10);
+ *modification = 0;
+ *patch = 0;
+
+ if (endp != buf && *endp == '.') {
+ buf = endp + 1;
+ *modification = (int) strtoul (buf, &endp, 10);
+ if (endp != buf && *endp == '.') {
+ buf = endp + 1;
+ *patch = (int) strtoul (buf, &buf, 10);
+ }
+ }
+}
+
+/********************************************************************
+ *
+ * Procedure to determine if the PPP line discipline is registered.
+ */
+
+static int
+ppp_registered(void)
+{
+ int local_fd;
+ int mfd = -1;
+ int ret = 0;
+ char slave[16];
+
+ /*
+ * We used to open the serial device and set it to the ppp line
+ * discipline here, in order to create a ppp unit. But that is
+ * not a good idea - the user might have specified a device that
+ * they can't open (permission, or maybe it doesn't really exist).
+ * So we grab a pty master/slave pair and use that.
+ */
+ if (!get_pty(&mfd, &local_fd, slave, 0)) {
+ no_ppp_msg = "Couldn't determine if PPP is supported (no free ptys)";
+ return 0;
+ }
+
+ /*
+ * Try to put the device into the PPP discipline.
+ */
+ if (ioctl(local_fd, TIOCSETD, &ppp_disc) < 0) {
+ error("ioctl(TIOCSETD(PPP)): %m(%d)", errno);
+ } else
+ ret = 1;
+
+ close(local_fd);
+ close(mfd);
+ return ret;
+}
+
+/********************************************************************
+ *
+ * ppp_available - check whether the system has any ppp interfaces
+ * (in fact we check whether we can do an ioctl on ppp0).
+ */
+
+int ppp_available(void)
+{
+ int s, ok, fd;
+ struct ifreq ifr;
+ int size;
+ int my_version, my_modification, my_patch;
+ int osmaj, osmin, ospatch;
+
+ no_ppp_msg =
+ "This system lacks kernel support for PPP. This could be because\n"
+ "the PPP kernel module could not be loaded, or because PPP was not\n"
+ "included in the kernel configuration. If PPP was included as a\n"
+ "module, try `/sbin/modprobe -v ppp'. If that fails, check that\n"
+ "ppp.o exists in /lib/modules/`uname -r`/net.\n"
+ "See README.linux file in the ppp distribution for more details.\n";
+
+ /* get the kernel version now, since we are called before sys_init */
+ uname(&utsname);
+ osmaj = osmin = ospatch = 0;
+ sscanf(utsname.release, "%d.%d.%d", &osmaj, &osmin, &ospatch);
+ kernel_version = KVERSION(osmaj, osmin, ospatch);
+
+ fd = open("/dev/ppp", O_RDWR);
+#if 0
+ if (fd < 0 && errno == ENOENT) {
+ /* try making it and see if that helps. */
+ if (mknod("/dev/ppp", S_IFCHR | S_IRUSR | S_IWUSR,
+ makedev(108, 0)) >= 0) {
+ fd = open("/dev/ppp", O_RDWR);
+ if (fd >= 0)
+ info("Created /dev/ppp device node");
+ else
+ unlink("/dev/ppp"); /* didn't work, undo the mknod */
+ } else if (errno == EEXIST) {
+ fd = open("/dev/ppp", O_RDWR);
+ }
+ }
+#endif /* 0 */
+ if (fd >= 0) {
+ new_style_driver = 1;
+
+ /* XXX should get from driver */
+ driver_version = 2;
+ driver_modification = 4;
+ driver_patch = 0;
+ close(fd);
+ return 1;
+ }
+ if (kernel_version >= KVERSION(2,3,13)) {
+ if (errno == ENOENT)
+ no_ppp_msg =
+ "pppd is unable to open the /dev/ppp device.\n"
+ "You need to create the /dev/ppp device node by\n"
+ "executing the following command as root:\n"
+ " mknod /dev/ppp c 108 0\n";
+ return 0;
+ }
+
+/*
+ * Open a socket for doing the ioctl operations.
+ */
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0)
+ return 0;
+
+ strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
+ ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
+/*
+ * If the device did not exist then attempt to create one by putting the
+ * current tty into the PPP discipline. If this works then obtain the
+ * flags for the device again.
+ */
+ if (!ok) {
+ if (ppp_registered()) {
+ strlcpy (ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
+ ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
+ }
+ }
+/*
+ * Ensure that the hardware address is for PPP and not something else
+ */
+ if (ok)
+ ok = ioctl (s, SIOCGIFHWADDR, (caddr_t) &ifr) >= 0;
+
+ if (ok && ((ifr.ifr_hwaddr.sa_family & ~0xFF) != ARPHRD_PPP))
+ ok = 0;
+
+/*
+ * This is the PPP device. Validate the version of the driver at this
+ * point to ensure that this program will work with the driver.
+ */
+ if (ok) {
+ char abBuffer [1024];
+
+ ifr.ifr_data = abBuffer;
+ size = ioctl (s, SIOCGPPPVER, (caddr_t) &ifr);
+ if (size < 0) {
+ error("Couldn't read driver version: %m");
+ ok = 0;
+ no_ppp_msg = "Sorry, couldn't verify kernel driver version\n";
+
+ } else {
+ decode_version(abBuffer,
+ &driver_version,
+ &driver_modification,
+ &driver_patch);
+/*
+ * Validate the version of the driver against the version that we used.
+ */
+ decode_version(VERSION,
+ &my_version,
+ &my_modification,
+ &my_patch);
+
+ /* The version numbers must match */
+ if (driver_version != my_version)
+ ok = 0;
+
+ /* The modification levels must be legal */
+ if (driver_modification < 3) {
+ if (driver_modification >= 2) {
+ /* we can cope with 2.2.0 and above */
+ driver_is_old = 1;
+ } else {
+ ok = 0;
+ }
+ }
+
+ close (s);
+ if (!ok) {
+ slprintf(route_buffer, sizeof(route_buffer),
+ "Sorry - PPP driver version %d.%d.%d is out of date\n",
+ driver_version, driver_modification, driver_patch);
+
+ no_ppp_msg = route_buffer;
+ }
+ }
+ }
+ return ok;
+}
+
+/********************************************************************
+ *
+ * Update the wtmp file with the appropriate user name and tty device.
+ */
+
+void logwtmp (const char *line, const char *name, const char *host)
+{
+ struct utmp ut, *utp;
+ pid_t mypid = getpid();
+#if __GLIBC__ < 2
+ int wtmp;
+#endif
+
+/*
+ * Update the signon database for users.
+ * Christoph Lameter: Copied from poeigl-1.36 Jan 3, 1996
+ */
+ utmpname(_PATH_UTMP);
+ setutent();
+ while ((utp = getutent()) && (utp->ut_pid != mypid))
+ /* nothing */;
+
+ /* Is this call really necessary? There is another one after the 'put' */
+ endutent();
+
+ if (utp)
+ memcpy(&ut, utp, sizeof(ut));
+ else
+ /* some gettys/telnetds don't initialize utmp... */
+ memset(&ut, 0, sizeof(ut));
+
+ if (ut.ut_id[0] == 0)
+ strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
+
+ strncpy(ut.ut_user, name, sizeof(ut.ut_user));
+ strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+
+ time(&ut.ut_time);
+
+ ut.ut_type = USER_PROCESS;
+ ut.ut_pid = mypid;
+
+ /* Insert the host name if one is supplied */
+ if (*host)
+ strncpy (ut.ut_host, host, sizeof(ut.ut_host));
+
+ /* Insert the IP address of the remote system if IP is enabled */
+ if (ipcp_protent.enabled_flag && ipcp_hisoptions[0].neg_addr)
+ memcpy(&ut.ut_addr, (char *) &ipcp_hisoptions[0].hisaddr,
+ sizeof(ut.ut_addr));
+
+ /* CL: Makes sure that the logout works */
+ if (*host == 0 && *name==0)
+ ut.ut_host[0]=0;
+
+ pututline(&ut);
+ endutent();
+/*
+ * Update the wtmp file.
+ */
+#if __GLIBC__ >= 2
+ updwtmp(_PATH_WTMP, &ut);
+#else
+ wtmp = open(_PATH_WTMP, O_APPEND|O_WRONLY);
+ if (wtmp >= 0) {
+ flock(wtmp, LOCK_EX);
+
+ if (write (wtmp, (char *)&ut, sizeof(ut)) != sizeof(ut))
+ warn("error writing %s: %m", _PATH_WTMP);
+
+ flock(wtmp, LOCK_UN);
+
+ close (wtmp);
+ }
+#endif
+}
+
+
+/********************************************************************
+ *
+ * sifvjcomp - config tcp header compression
+ */
+
+int sifvjcomp (int u, int vjcomp, int cidcomp, int maxcid)
+{
+ u_int x = get_flags(ppp_dev_fd);
+
+ if (vjcomp) {
+ if (ioctl (ppp_dev_fd, PPPIOCSMAXCID, (caddr_t) &maxcid) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(PPPIOCSMAXCID): %m(%d)", errno);
+ vjcomp = 0;
+ }
+ }
+
+ x = vjcomp ? x | SC_COMP_TCP : x &~ SC_COMP_TCP;
+ x = cidcomp ? x & ~SC_NO_TCP_CCID : x | SC_NO_TCP_CCID;
+ set_flags (ppp_dev_fd, x);
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifup - Config the interface up and enable IP packets to pass.
+ */
+
+int sifup(int u)
+{
+ struct ifreq ifr;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+
+ ifr.ifr_flags |= (IFF_UP | IFF_POINTOPOINT);
+ if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+ if_is_up++;
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifdown - Disable the indicated protocol and config the interface
+ * down if there are no remaining protocols.
+ */
+
+int sifdown (int u)
+{
+ struct ifreq ifr;
+
+ if (if_is_up && --if_is_up > 0)
+ return 1;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+ if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl (SIOCGIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+
+ ifr.ifr_flags &= ~IFF_UP;
+ ifr.ifr_flags |= IFF_POINTOPOINT;
+ if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFFLAGS): %m(%d)", errno);
+ return 0;
+ }
+ return 1;
+}
+
+/********************************************************************
+ *
+ * sifaddr - Config the interface IP addresses and netmask.
+ */
+
+int sifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr,
+ u_int32_t net_mask)
+{
+ struct ifreq ifr;
+ struct rtentry rt;
+
+ memset (&ifr, '\0', sizeof (ifr));
+ memset (&rt, '\0', sizeof (rt));
+
+ SET_SA_FAMILY (ifr.ifr_addr, AF_INET);
+ SET_SA_FAMILY (ifr.ifr_dstaddr, AF_INET);
+ SET_SA_FAMILY (ifr.ifr_netmask, AF_INET);
+
+ strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
+/*
+ * Set our IP address
+ */
+ SIN_ADDR(ifr.ifr_addr) = our_adr;
+ if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (errno != EEXIST) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFADDR): %m(%d)", errno);
+ }
+ else {
+ warn("ioctl(SIOCSIFADDR): Address already exists");
+ }
+ return (0);
+ }
+/*
+ * Set the gateway address
+ */
+ SIN_ADDR(ifr.ifr_dstaddr) = his_adr;
+ if (ioctl(sock_fd, SIOCSIFDSTADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFDSTADDR): %m(%d)", errno);
+ return (0);
+ }
+/*
+ * Set the netmask.
+ * For recent kernels, force the netmask to 255.255.255.255.
+ */
+ if (kernel_version >= KVERSION(2,1,16))
+ net_mask = ~0L;
+ if (net_mask != 0) {
+ SIN_ADDR(ifr.ifr_netmask) = net_mask;
+ if (ioctl(sock_fd, SIOCSIFNETMASK, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCSIFNETMASK): %m(%d)", errno);
+ return (0);
+ }
+ }
+/*
+ * Add the device route
+ */
+ if (kernel_version < KVERSION(2,1,16)) {
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+ rt.rt_dev = ifname;
+
+ SIN_ADDR(rt.rt_gateway) = 0L;
+ SIN_ADDR(rt.rt_dst) = his_adr;
+ rt.rt_flags = RTF_UP | RTF_HOST;
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = -1L;
+ }
+
+ if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(SIOCADDRT) device route: %m(%d)", errno);
+ return (0);
+ }
+ }
+
+ /* set ip_dynaddr in demand mode if address changes */
+ if (demand && tune_kernel && !dynaddr_set
+ && our_old_addr && our_old_addr != our_adr) {
+ /* set ip_dynaddr if possible */
+ char *path;
+ int fd;
+
+ path = path_to_procfs("/sys/net/ipv4/ip_dynaddr");
+ if (path != 0 && (fd = open(path, O_WRONLY)) >= 0) {
+ if (write(fd, "1", 1) != 1)
+ error("Couldn't enable dynamic IP addressing: %m");
+ close(fd);
+ }
+ dynaddr_set = 1; /* only 1 attempt */
+ }
+ our_old_addr = 0;
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * cifaddr - Clear the interface IP addresses, and delete routes
+ * through the interface if possible.
+ */
+
+int cifaddr (int unit, u_int32_t our_adr, u_int32_t his_adr)
+{
+ struct ifreq ifr;
+
+ if (kernel_version < KVERSION(2,1,16)) {
+/*
+ * Delete the route through the device
+ */
+ struct rtentry rt;
+ memset (&rt, '\0', sizeof (rt));
+
+ SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY (rt.rt_gateway, AF_INET);
+ rt.rt_dev = ifname;
+
+ SIN_ADDR(rt.rt_gateway) = 0;
+ SIN_ADDR(rt.rt_dst) = his_adr;
+ rt.rt_flags = RTF_UP | RTF_HOST;
+
+ if (kernel_version > KVERSION(2,1,0)) {
+ SET_SA_FAMILY (rt.rt_genmask, AF_INET);
+ SIN_ADDR(rt.rt_genmask) = -1L;
+ }
+
+ if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) {
+ if (still_ppp() && ! ok_error (errno))
+ error("ioctl(SIOCDELRT) device route: %m(%d)", errno);
+ return (0);
+ }
+ }
+
+ /* This way it is possible to have an IPX-only or IPv6-only interface */
+ memset(&ifr, 0, sizeof(ifr));
+ SET_SA_FAMILY(ifr.ifr_addr, AF_INET);
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ if (ioctl(sock_fd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno)) {
+ error("ioctl(SIOCSIFADDR): %m(%d)", errno);
+ return 0;
+ }
+ }
+
+ our_old_addr = our_adr;
+
+ return 1;
+}
+
+#ifdef INET6
+/********************************************************************
+ *
+ * sif6addr - Config the interface with an IPv6 link-local address
+ */
+int sif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
+{
+ struct in6_ifreq ifr6;
+ struct ifreq ifr;
+ struct in6_rtmsg rt6;
+
+ if (sock6_fd < 0) {
+ errno = -sock6_fd;
+ error("IPv6 socket creation failed: %m");
+ return 0;
+ }
+ memset(&ifr, 0, sizeof (ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
+ error("sif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
+ return 0;
+ }
+
+ /* Local interface */
+ memset(&ifr6, 0, sizeof(ifr6));
+ IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
+ ifr6.ifr6_ifindex = ifr.ifr_ifindex;
+ ifr6.ifr6_prefixlen = 10;
+
+ if (ioctl(sock6_fd, SIOCSIFADDR, &ifr6) < 0) {
+ error("sif6addr: ioctl(SIOCSIFADDR): %m (%d)", errno);
+ return 0;
+ }
+
+ /* Route to remote host */
+ memset(&rt6, 0, sizeof(rt6));
+ IN6_LLADDR_FROM_EUI64(rt6.rtmsg_dst, his_eui64);
+ rt6.rtmsg_flags = RTF_UP;
+ rt6.rtmsg_dst_len = 10;
+ rt6.rtmsg_ifindex = ifr.ifr_ifindex;
+ rt6.rtmsg_metric = 1;
+
+ if (ioctl(sock6_fd, SIOCADDRT, &rt6) < 0) {
+ error("sif6addr: ioctl(SIOCADDRT): %m (%d)", errno);
+ return 0;
+ }
+
+ return 1;
+}
+
+
+/********************************************************************
+ *
+ * cif6addr - Remove IPv6 address from interface
+ */
+int cif6addr (int unit, eui64_t our_eui64, eui64_t his_eui64)
+{
+ struct ifreq ifr;
+ struct in6_ifreq ifr6;
+
+ if (sock6_fd < 0) {
+ errno = -sock6_fd;
+ error("IPv6 socket creation failed: %m");
+ return 0;
+ }
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock6_fd, SIOCGIFINDEX, (caddr_t) &ifr) < 0) {
+ error("cif6addr: ioctl(SIOCGIFINDEX): %m (%d)", errno);
+ return 0;
+ }
+
+ memset(&ifr6, 0, sizeof(ifr6));
+ IN6_LLADDR_FROM_EUI64(ifr6.ifr6_addr, our_eui64);
+ ifr6.ifr6_ifindex = ifr.ifr_ifindex;
+ ifr6.ifr6_prefixlen = 10;
+
+ if (ioctl(sock6_fd, SIOCDIFADDR, &ifr6) < 0) {
+ if (errno != EADDRNOTAVAIL) {
+ if (! ok_error (errno))
+ error("cif6addr: ioctl(SIOCDIFADDR): %m (%d)", errno);
+ }
+ else {
+ warn("cif6addr: ioctl(SIOCDIFADDR): No such address");
+ }
+ return (0);
+ }
+ return 1;
+}
+#endif /* INET6 */
+
+/*
+ * get_pty - get a pty master/slave pair and chown the slave side
+ * to the uid given. Assumes slave_name points to >= 16 bytes of space.
+ */
+int
+get_pty(master_fdp, slave_fdp, slave_name, uid)
+ int *master_fdp;
+ int *slave_fdp;
+ char *slave_name;
+ int uid;
+{
+ int i, mfd, sfd = -1;
+ char pty_name[16];
+ struct termios tios;
+
+#ifdef TIOCGPTN
+ /*
+ * Try the unix98 way first.
+ */
+ mfd = open("/dev/ptmx", O_RDWR);
+ if (mfd >= 0) {
+ int ptn;
+ if (ioctl(mfd, TIOCGPTN, &ptn) >= 0) {
+ slprintf(pty_name, sizeof(pty_name), "/dev/pts/%d", ptn);
+ chmod(pty_name, S_IRUSR | S_IWUSR);
+#ifdef TIOCSPTLCK
+ ptn = 0;
+ if (ioctl(mfd, TIOCSPTLCK, &ptn) < 0)
+ warn("Couldn't unlock pty slave %s: %m", pty_name);
+#endif
+ if ((sfd = open(pty_name, O_RDWR | O_NOCTTY)) < 0)
+ warn("Couldn't open pty slave %s: %m", pty_name);
+ }
+ }
+#endif /* TIOCGPTN */
+
+ if (sfd < 0) {
+ /* the old way - scan through the pty name space */
+ for (i = 0; i < 64; ++i) {
+ slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
+ 'p' + i / 16, i % 16);
+ mfd = open(pty_name, O_RDWR, 0);
+ if (mfd >= 0) {
+ pty_name[5] = 't';
+ sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
+ if (sfd >= 0) {
+ fchown(sfd, uid, -1);
+ fchmod(sfd, S_IRUSR | S_IWUSR);
+ break;
+ }
+ close(mfd);
+ }
+ }
+ }
+
+ if (sfd < 0)
+ return 0;
+
+ strlcpy(slave_name, pty_name, 16);
+ *master_fdp = mfd;
+ *slave_fdp = sfd;
+ if (tcgetattr(sfd, &tios) == 0) {
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
+ tios.c_cflag |= CS8 | CREAD | CLOCAL;
+ tios.c_iflag = IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
+ warn("couldn't set attributes on pty: %m");
+ } else
+ warn("couldn't get attributes on pty: %m");
+
+ return 1;
+}
+
+/********************************************************************
+ *
+ * open_loopback - open the device we use for getting packets
+ * in demand mode. Under Linux, we use a pty master/slave pair.
+ */
+int
+open_ppp_loopback(void)
+{
+ int flags;
+
+ looped = 1;
+ if (new_style_driver) {
+ /* allocate ourselves a ppp unit */
+ if (make_ppp_unit() < 0)
+ die(1);
+ set_flags(ppp_dev_fd, SC_LOOP_TRAFFIC);
+ set_kdebugflag(kdebugflag);
+ ppp_fd = -1;
+ return ppp_dev_fd;
+ }
+
+ if (!get_pty(&master_fd, &slave_fd, loop_name, 0))
+ fatal("No free pty for loopback");
+ SYSDEBUG(("using %s for loopback", loop_name));
+
+ set_ppp_fd(slave_fd);
+
+ flags = fcntl(master_fd, F_GETFL);
+ if (flags == -1 ||
+ fcntl(master_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set master loopback to nonblock: %m(%d)", errno);
+
+ flags = fcntl(ppp_fd, F_GETFL);
+ if (flags == -1 ||
+ fcntl(ppp_fd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set slave loopback to nonblock: %m(%d)", errno);
+
+ if (ioctl(ppp_fd, TIOCSETD, &ppp_disc) < 0)
+ fatal("ioctl(TIOCSETD): %m(%d)", errno);
+/*
+ * Find out which interface we were given.
+ */
+ if (ioctl(ppp_fd, PPPIOCGUNIT, &ifunit) < 0)
+ fatal("ioctl(PPPIOCGUNIT): %m(%d)", errno);
+/*
+ * Enable debug in the driver if requested.
+ */
+ set_kdebugflag (kdebugflag);
+
+ return master_fd;
+}
+
+/********************************************************************
+ *
+ * restore_loop - reattach the ppp unit to the loopback.
+ *
+ * The kernel ppp driver automatically reattaches the ppp unit to
+ * the loopback if the serial port is set to a line discipline other
+ * than ppp, or if it detects a modem hangup. The former will happen
+ * in disestablish_ppp if the latter hasn't already happened, so we
+ * shouldn't need to do anything.
+ *
+ * Just to be sure, set the real serial port to the normal discipline.
+ */
+
+static void
+restore_loop(void)
+{
+ looped = 1;
+ if (new_style_driver) {
+ set_flags(ppp_dev_fd, get_flags(ppp_dev_fd) | SC_LOOP_TRAFFIC);
+ return;
+ }
+ if (ppp_fd != slave_fd) {
+ (void) ioctl(ppp_fd, TIOCSETD, &tty_disc);
+ set_ppp_fd(slave_fd);
+ }
+}
+
+/********************************************************************
+ *
+ * sifnpmode - Set the mode for handling packets for a given NP.
+ */
+
+int
+sifnpmode(u, proto, mode)
+ int u;
+ int proto;
+ enum NPmode mode;
+{
+ struct npioctl npi;
+
+ npi.protocol = proto;
+ npi.mode = mode;
+ if (ioctl(ppp_dev_fd, PPPIOCSNPMODE, (caddr_t) &npi) < 0) {
+ if (! ok_error (errno))
+ error("ioctl(PPPIOCSNPMODE, %d, %d): %m (%d)",
+ proto, mode, errno);
+ return 0;
+ }
+ return 1;
+}
+
+
+/********************************************************************
+ *
+ * sipxfaddr - Config the interface IPX networknumber
+ */
+
+int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
+{
+ int result = 1;
+
+#ifdef IPX_CHANGE
+ int skfd;
+ struct ifreq ifr;
+ struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
+
+ skfd = socket (AF_IPX, SOCK_DGRAM, 0);
+ if (skfd < 0) {
+ if (! ok_error (errno))
+ dbglog("socket(AF_IPX): %m (%d)", errno);
+ result = 0;
+ }
+ else {
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
+ sipx->sipx_family = AF_IPX;
+ sipx->sipx_port = 0;
+ sipx->sipx_network = htonl (network);
+ sipx->sipx_type = IPX_FRAME_ETHERII;
+ sipx->sipx_action = IPX_CRTITF;
+/*
+ * Set the IPX device
+ */
+ if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ result = 0;
+ if (errno != EEXIST) {
+ if (! ok_error (errno))
+ dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (%d)", errno);
+ }
+ else {
+ warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
+ }
+ }
+ close (skfd);
+ }
+#endif
+ return result;
+}
+
+/********************************************************************
+ *
+ * cipxfaddr - Clear the information for the IPX network. The IPX routes
+ * are removed and the device is no longer able to pass IPX
+ * frames.
+ */
+
+int cipxfaddr (int unit)
+{
+ int result = 1;
+
+#ifdef IPX_CHANGE
+ int skfd;
+ struct ifreq ifr;
+ struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
+
+ skfd = socket (AF_IPX, SOCK_DGRAM, 0);
+ if (skfd < 0) {
+ if (! ok_error (errno))
+ dbglog("socket(AF_IPX): %m (%d)", errno);
+ result = 0;
+ }
+ else {
+ memset (&ifr, '\0', sizeof (ifr));
+ strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+
+ sipx->sipx_type = IPX_FRAME_ETHERII;
+ sipx->sipx_action = IPX_DLTITF;
+ sipx->sipx_family = AF_IPX;
+/*
+ * Set the IPX device
+ */
+ if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
+ if (! ok_error (errno))
+ info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (%d)", errno);
+ result = 0;
+ }
+ close (skfd);
+ }
+#endif
+ return result;
+}
+
+/*
+ * Use the hostname as part of the random number seed.
+ */
+int
+get_host_seed()
+{
+ int h;
+ char *p = hostname;
+
+ h = 407;
+ for (p = hostname; *p != 0; ++p)
+ h = h * 37 + *p;
+ return h;
+}
+
+/********************************************************************
+ *
+ * sys_check_options - check the options that the user specified
+ */
+
+int
+sys_check_options(void)
+{
+#ifdef IPX_CHANGE
+/*
+ * Disable the IPX protocol if the support is not present in the kernel.
+ */
+ char *path;
+
+ if (ipxcp_protent.enabled_flag) {
+ struct stat stat_buf;
+ if ((path = path_to_procfs("/net/ipx_interface")) == 0
+ || lstat(path, &stat_buf) < 0) {
+ error("IPX support is not present in the kernel\n");
+ ipxcp_protent.enabled_flag = 0;
+ }
+ }
+#endif
+ if (demand && driver_is_old) {
+ option_error("demand dialling is not supported by kernel driver "
+ "version %d.%d.%d", driver_version, driver_modification,
+ driver_patch);
+ return 0;
+ }
+ if (multilink && !new_style_driver) {
+ warn("Warning: multilink is not supported by the kernel driver");
+ multilink = 0;
+ }
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/sys-solaris.c b/mdk-stage1/ppp/pppd/sys-solaris.c
new file mode 100644
index 000000000..892bf7f43
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/sys-solaris.c
@@ -0,0 +1,2737 @@
+/*
+ * System-dependent procedures for pppd under Solaris 2.
+ *
+ * Parts re-written by Adi Masputra <adi.masputra@sun.com>, based on
+ * the original sys-svr4.c
+ *
+ * Copyright (c) 2000 by Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies.
+ *
+ * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
+ * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+ * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ */
+
+#define RCSID "$Id: sys-solaris.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <limits.h>
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <termios.h>
+#ifndef CRTSCTS
+#include <sys/termiox.h>
+#endif
+#include <signal.h>
+#include <utmpx.h>
+#include <sys/types.h>
+#include <sys/ioccom.h>
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysmacros.h>
+#include <sys/systeminfo.h>
+#include <sys/dlpi.h>
+#include <sys/stat.h>
+#include <sys/mkdev.h>
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/route.h>
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include <netinet/in.h>
+#ifdef SOL2
+#include <sys/tihdr.h>
+#include <sys/tiuser.h>
+#include <inet/common.h>
+#include <inet/mib2.h>
+#include <sys/ethernet.h>
+#endif
+
+#include "pppd.h"
+#include "fsm.h"
+#include "lcp.h"
+#include "ipcp.h"
+#include "ccp.h"
+
+#if !defined(PPP_DRV_NAME)
+#define PPP_DRV_NAME "ppp"
+#endif /* !defined(PPP_DRV_NAME) */
+
+#if !defined(PPP_DEV_NAME)
+#define PPP_DEV_NAME "/dev/" PPP_DRV_NAME
+#endif /* !defined(PPP_DEV_NAME) */
+
+#if !defined(AHDLC_MOD_NAME)
+#define AHDLC_MOD_NAME "ppp_ahdl"
+#endif /* !defined(AHDLC_MOD_NAME) */
+
+#if !defined(COMP_MOD_NAME)
+#define COMP_MOD_NAME "ppp_comp"
+#endif /* !defined(COMP_MOD_NAME) */
+
+#if !defined(IP_DEV_NAME)
+#define IP_DEV_NAME "/dev/ip"
+#endif /* !defined(IP_DEV_NAME) */
+
+#if !defined(IP_MOD_NAME)
+#define IP_MOD_NAME "ip"
+#endif /* !defined(IP_MOD_NAME) */
+
+#if !defined(UDP_DEV_NAME) && defined(SOL2)
+#define UDP_DEV_NAME "/dev/udp"
+#endif /* !defined(UDP_DEV_NAME) && defined(SOL2) */
+
+#if !defined(UDP6_DEV_NAME) && defined(SOL2)
+#define UDP6_DEV_NAME "/dev/udp6"
+#endif /* !defined(UDP6_DEV_NAME) && defined(SOL2) */
+
+static const char rcsid[] = RCSID;
+
+#if defined(SOL2)
+/*
+ * "/dev/udp" is used as a multiplexor to PLINK the interface stream
+ * under. It is used in place of "/dev/ip" since STREAMS will not let
+ * a driver be PLINK'ed under itself, and "/dev/ip" is typically the
+ * driver at the bottom of the tunneling interfaces stream.
+ */
+static char *mux_dev_name = UDP_DEV_NAME;
+#else
+static char *mux_dev_name = IP_DEV_NAME;
+#endif
+static int pppfd;
+static int fdmuxid = -1;
+static int ipfd;
+static int ipmuxid = -1;
+
+#if defined(INET6) && defined(SOL2)
+static int ip6fd; /* IP file descriptor */
+static int ip6muxid = -1; /* Multiplexer file descriptor */
+static int if6_is_up = 0; /* IPv6 interface has been marked up */
+
+#define _IN6_LLX_FROM_EUI64(l, s, eui64, as) do { \
+ s->sin6_addr.s6_addr32[0] = htonl(as); \
+ eui64_copy(eui64, s->sin6_addr.s6_addr32[2]); \
+ s->sin6_family = AF_INET6; \
+ l.lifr_addr.ss_family = AF_INET6; \
+ l.lifr_addrlen = 10; \
+ l.lifr_addr = laddr; \
+ } while (0)
+
+#define IN6_LLADDR_FROM_EUI64(l, s, eui64) \
+ _IN6_LLX_FROM_EUI64(l, s, eui64, 0xfe800000)
+
+#define IN6_LLTOKEN_FROM_EUI64(l, s, eui64) \
+ _IN6_LLX_FROM_EUI64(l, s, eui64, 0)
+
+#endif /* defined(INET6) && defined(SOL2) */
+
+#if defined(INET6) && defined(SOL2)
+static char first_ether_name[LIFNAMSIZ]; /* Solaris 8 and above */
+#else
+static char first_ether_name[IFNAMSIZ]; /* Before Solaris 8 */
+#define MAXIFS 256 /* Max # of interfaces */
+#endif /* defined(INET6) && defined(SOL2) */
+
+static int restore_term;
+static struct termios inittermios;
+#ifndef CRTSCTS
+static struct termiox inittermiox;
+static int termiox_ok;
+#endif
+static struct winsize wsinfo; /* Initial window size info */
+static pid_t tty_sid; /* original session ID for terminal */
+
+extern u_char inpacket_buf[]; /* borrowed from main.c */
+
+#define MAX_POLLFDS 32
+static struct pollfd pollfds[MAX_POLLFDS];
+static int n_pollfds;
+
+static int link_mtu, link_mru;
+
+#define NMODULES 32
+static int tty_nmodules;
+static char tty_modules[NMODULES][FMNAMESZ+1];
+static int tty_npushed;
+
+static int if_is_up; /* Interface has been marked up */
+static u_int32_t remote_addr; /* IP address of peer */
+static u_int32_t default_route_gateway; /* Gateway for default route added */
+static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+
+/* Prototypes for procedures local to this file. */
+static int translate_speed __P((int));
+static int baud_rate_of __P((int));
+static int get_ether_addr __P((u_int32_t, struct sockaddr *));
+static int get_hw_addr __P((char *, u_int32_t, struct sockaddr *));
+static int get_hw_addr_dlpi __P((char *, struct sockaddr *));
+static int dlpi_attach __P((int, int));
+static int dlpi_info_req __P((int));
+static int dlpi_get_reply __P((int, union DL_primitives *, int, int));
+static int strioctl __P((int, int, void *, int, int));
+
+#ifdef SOL2
+/*
+ * sifppa - Sets interface ppa
+ *
+ * without setting the ppa, ip module will return EINVAL upon setting the
+ * interface UP (SIOCSxIFFLAGS). This is because ip module in 2.8 expects
+ * two DLPI_INFO_REQ to be sent down to the driver (below ip) before
+ * IFF_UP can be set. Plumbing the device causes one DLPI_INFO_REQ to
+ * be sent down, and the second DLPI_INFO_REQ is sent upon receiving
+ * IF_UNITSEL (old) or SIOCSLIFNAME (new) ioctls. Such setting of the ppa
+ * is required because the ppp DLPI provider advertises itself as
+ * a DLPI style 2 type, which requires a point of attachment to be
+ * specified. The only way the user can specify a point of attachment
+ * is via SIOCSLIFNAME or IF_UNITSEL.
+ *
+ * Such changes in the behavior of ip module was made to meet new or
+ * evolving standards requirements.
+ *
+ */
+static int
+sifppa(fd, ppa)
+ int fd;
+ int ppa;
+{
+ return (int)ioctl(fd, IF_UNITSEL, (char *)&ppa);
+}
+#endif /* SOL2 */
+
+#if defined(SOL2) && defined(INET6)
+/*
+ * get_first_ethernet - returns the first Ethernet interface name found in
+ * the system, or NULL if none is found
+ *
+ * NOTE: This is the lifreq version (Solaris 8 and above)
+ */
+char *
+get_first_ethernet()
+{
+ struct lifnum lifn;
+ struct lifconf lifc;
+ struct lifreq *plifreq;
+ struct lifreq lifr;
+ int fd, num_ifs, i, found;
+ uint_t fl, req_size;
+ char *req;
+
+ fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (fd < 0) {
+ return 0;
+ }
+
+ /*
+ * Find out how many interfaces are running
+ */
+ lifn.lifn_family = AF_UNSPEC;
+ lifn.lifn_flags = LIFC_NOXMIT;
+ if (ioctl(fd, SIOCGLIFNUM, &lifn) < 0) {
+ close(fd);
+ error("could not determine number of interfaces: %m");
+ return 0;
+ }
+
+ num_ifs = lifn.lifn_count;
+ req_size = num_ifs * sizeof(struct lifreq);
+ req = malloc(req_size);
+ if (req == NULL) {
+ close(fd);
+ error("out of memory");
+ return 0;
+ }
+
+ /*
+ * Get interface configuration info for all interfaces
+ */
+ lifc.lifc_family = AF_UNSPEC;
+ lifc.lifc_flags = LIFC_NOXMIT;
+ lifc.lifc_len = req_size;
+ lifc.lifc_buf = req;
+ if (ioctl(fd, SIOCGLIFCONF, &lifc) < 0) {
+ close(fd);
+ free(req);
+ error("SIOCGLIFCONF: %m");
+ return 0;
+ }
+
+ /*
+ * And traverse each interface to look specifically for the first
+ * occurence of an Ethernet interface which has been marked up
+ */
+ plifreq = lifc.lifc_req;
+ found = 0;
+ for (i = lifc.lifc_len / sizeof(struct lifreq); i > 0; i--, plifreq++) {
+
+ if (strchr(plifreq->lifr_name, ':') != NULL)
+ continue;
+
+ memset(&lifr, 0, sizeof(lifr));
+ strncpy(lifr.lifr_name, plifreq->lifr_name, sizeof(lifr.lifr_name));
+ if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
+ close(fd);
+ free(req);
+ error("SIOCGLIFFLAGS: %m");
+ return 0;
+ }
+ fl = lifr.lifr_flags;
+
+ if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
+ != (IFF_UP | IFF_BROADCAST))
+ continue;
+
+ found = 1;
+ break;
+ }
+ free(req);
+ close(fd);
+
+ if (found) {
+ strncpy(first_ether_name, lifr.lifr_name, sizeof(first_ether_name));
+ return (char *)first_ether_name;
+ } else
+ return NULL;
+}
+#else
+/*
+ * get_first_ethernet - returns the first Ethernet interface name found in
+ * the system, or NULL if none is found
+ *
+ * NOTE: This is the ifreq version (before Solaris 8).
+ */
+char *
+get_first_ethernet()
+{
+ struct ifconf ifc;
+ struct ifreq *pifreq;
+ struct ifreq ifr;
+ int fd, num_ifs, i, found;
+ uint_t fl, req_size;
+ char *req;
+
+ fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (fd < 0) {
+ return 0;
+ }
+
+ /*
+ * Find out how many interfaces are running
+ */
+ if (ioctl(fd, SIOCGIFNUM, (char *)&num_ifs) < 0) {
+ num_ifs = MAXIFS;
+ }
+
+ req_size = num_ifs * sizeof(struct ifreq);
+ req = malloc(req_size);
+ if (req == NULL) {
+ close(fd);
+ error("out of memory");
+ return 0;
+ }
+
+ /*
+ * Get interface configuration info for all interfaces
+ */
+ ifc.ifc_len = req_size;
+ ifc.ifc_buf = req;
+ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
+ close(fd);
+ free(req);
+ error("SIOCGIFCONF: %m");
+ return 0;
+ }
+
+ /*
+ * And traverse each interface to look specifically for the first
+ * occurence of an Ethernet interface which has been marked up
+ */
+ pifreq = ifc.ifc_req;
+ found = 0;
+ for (i = ifc.ifc_len / sizeof(struct ifreq); i > 0; i--, pifreq++) {
+
+ if (strchr(pifreq->ifr_name, ':') != NULL)
+ continue;
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, pifreq->ifr_name, sizeof(ifr.ifr_name));
+ if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
+ close(fd);
+ free(req);
+ error("SIOCGIFFLAGS: %m");
+ return 0;
+ }
+ fl = ifr.ifr_flags;
+
+ if ((fl & (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
+ != (IFF_UP | IFF_BROADCAST))
+ continue;
+
+ found = 1;
+ break;
+ }
+ free(req);
+ close(fd);
+
+ if (found) {
+ strncpy(first_ether_name, ifr.ifr_name, sizeof(first_ether_name));
+ return (char *)first_ether_name;
+ } else
+ return NULL;
+}
+#endif /* defined(SOL2) && defined(INET6) */
+
+#if defined(SOL2)
+/*
+ * get_if_hwaddr - get the hardware address for the specified
+ * network interface device.
+ */
+int
+get_if_hwaddr(u_char *addr, char *if_name)
+{
+ struct sockaddr s_eth_addr;
+ struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
+
+ if (if_name == NULL)
+ return -1;
+
+ /*
+ * Send DL_INFO_REQ to the driver to solicit its MAC address
+ */
+ if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
+ error("could not obtain hardware address for %s", if_name);
+ return -1;
+ }
+
+ memcpy(addr, eth_addr->ether_addr_octet, 6);
+ return 1;
+}
+#endif /* SOL2 */
+
+#if defined(SOL2) && defined(INET6)
+/*
+ * slifname - Sets interface ppa and flags
+ *
+ * in addition to the comments stated in sifppa(), IFF_IPV6 bit must
+ * be set in order to declare this as an IPv6 interface
+ */
+static int
+slifname(fd, ppa)
+ int fd;
+ int ppa;
+{
+ struct lifreq lifr;
+ int ret;
+
+ memset(&lifr, 0, sizeof(lifr));
+ ret = ioctl(fd, SIOCGLIFFLAGS, &lifr);
+ if (ret < 0)
+ goto slifname_done;
+
+ lifr.lifr_flags |= IFF_IPV6;
+ lifr.lifr_flags &= ~(IFF_BROADCAST | IFF_IPV4);
+ lifr.lifr_ppa = ppa;
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+
+ ret = ioctl(fd, SIOCSLIFNAME, &lifr);
+
+slifname_done:
+ return ret;
+
+
+}
+
+
+/*
+ * ether_to_eui64 - Convert 48-bit Ethernet address into 64-bit EUI
+ *
+ * walks the list of valid ethernet interfaces, and convert the first
+ * found 48-bit MAC address into EUI 64. caller also assumes that
+ * the system has a properly configured Ethernet interface for this
+ * function to return non-zero.
+ */
+int
+ether_to_eui64(eui64_t *p_eui64)
+{
+ struct sockaddr s_eth_addr;
+ struct ether_addr *eth_addr = (struct ether_addr *)&s_eth_addr.sa_data;
+ char *if_name;
+
+ if ((if_name = get_first_ethernet()) == NULL) {
+ error("no persistent id can be found");
+ return 0;
+ }
+
+ /*
+ * Send DL_INFO_REQ to the driver to solicit its MAC address
+ */
+ if (!get_hw_addr_dlpi(if_name, &s_eth_addr)) {
+ error("could not obtain hardware address for %s", if_name);
+ return 0;
+ }
+
+ /*
+ * And convert the EUI-48 into EUI-64, per RFC 2472 [sec 4.1]
+ */
+ p_eui64->e8[0] = (eth_addr->ether_addr_octet[0] & 0xFF) | 0x02;
+ p_eui64->e8[1] = (eth_addr->ether_addr_octet[1] & 0xFF);
+ p_eui64->e8[2] = (eth_addr->ether_addr_octet[2] & 0xFF);
+ p_eui64->e8[3] = 0xFF;
+ p_eui64->e8[4] = 0xFE;
+ p_eui64->e8[5] = (eth_addr->ether_addr_octet[3] & 0xFF);
+ p_eui64->e8[6] = (eth_addr->ether_addr_octet[4] & 0xFF);
+ p_eui64->e8[7] = (eth_addr->ether_addr_octet[5] & 0xFF);
+
+ return 1;
+}
+#endif /* defined(SOL2) && defined(INET6) */
+
+/*
+ * sys_init - System-dependent initialization.
+ */
+void
+sys_init()
+{
+ int ifd, x;
+ struct ifreq ifr;
+#if defined(INET6) && defined(SOL2)
+ int i6fd;
+ struct lifreq lifr;
+#endif /* defined(INET6) && defined(SOL2) */
+#if !defined(SOL2)
+ struct {
+ union DL_primitives prim;
+ char space[64];
+ } reply;
+#endif /* !defined(SOL2) */
+
+ ipfd = open(mux_dev_name, O_RDWR, 0);
+ if (ipfd < 0)
+ fatal("Couldn't open IP device: %m");
+
+#if defined(INET6) && defined(SOL2)
+ ip6fd = open(UDP6_DEV_NAME, O_RDWR, 0);
+ if (ip6fd < 0)
+ fatal("Couldn't open IP device (2): %m");
+#endif /* defined(INET6) && defined(SOL2) */
+
+ if (default_device && !notty)
+ tty_sid = getsid((pid_t)0);
+
+ pppfd = open(PPP_DEV_NAME, O_RDWR | O_NONBLOCK, 0);
+ if (pppfd < 0)
+ fatal("Can't open %s: %m", PPP_DEV_NAME);
+ if (kdebugflag & 1) {
+ x = PPPDBG_LOG + PPPDBG_DRIVER;
+ strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+
+ /* Assign a new PPA and get its unit number. */
+ if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
+ fatal("Can't create new PPP interface: %m");
+
+#if defined(SOL2)
+ /*
+ * Since sys_init() is called prior to ifname being set in main(),
+ * we need to get the ifname now, otherwise slifname(), and others,
+ * will fail, or maybe, I should move them to a later point ?
+ * <adi.masputra@sun.com>
+ */
+ sprintf(ifname, PPP_DRV_NAME "%d", ifunit);
+#endif /* defined(SOL2) */
+ /*
+ * Open the ppp device again and link it under the ip multiplexor.
+ * IP will assign a unit number which hopefully is the same as ifunit.
+ * I don't know any way to be certain they will be the same. :-(
+ */
+ ifd = open(PPP_DEV_NAME, O_RDWR, 0);
+ if (ifd < 0)
+ fatal("Can't open %s (2): %m", PPP_DEV_NAME);
+ if (kdebugflag & 1) {
+ x = PPPDBG_LOG + PPPDBG_DRIVER;
+ strioctl(ifd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+
+#if defined(INET6) && defined(SOL2)
+ i6fd = open(PPP_DEV_NAME, O_RDWR, 0);
+ if (i6fd < 0) {
+ close(ifd);
+ fatal("Can't open %s (3): %m", PPP_DEV_NAME);
+ }
+ if (kdebugflag & 1) {
+ x = PPPDBG_LOG + PPPDBG_DRIVER;
+ strioctl(i6fd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+#endif /* defined(INET6) && defined(SOL2) */
+
+#if defined(SOL2)
+ if (ioctl(ifd, I_PUSH, IP_MOD_NAME) < 0) {
+ close(ifd);
+#if defined(INET6)
+ close(i6fd);
+#endif /* defined(INET6) */
+ fatal("Can't push IP module: %m");
+ }
+
+ /*
+ * Assign ppa according to the unit number returned by ppp device
+ * after plumbing is completed above.
+ */
+ if (sifppa(ifd, ifunit) < 0) {
+ close (ifd);
+#if defined(INET6)
+ close(i6fd);
+#endif /* defined(INET6) */
+ fatal("Can't set ppa for unit %d: %m", ifunit);
+ }
+
+#if defined(INET6)
+ /*
+ * An IPv6 interface is created anyway, even when the user does not
+ * explicitly enable it. Note that the interface will be marked
+ * IPv6 during slifname().
+ */
+ if (ioctl(i6fd, I_PUSH, IP_MOD_NAME) < 0) {
+ close(ifd);
+ close(i6fd);
+ fatal("Can't push IP module (2): %m");
+ }
+
+ /*
+ * Assign ppa according to the unit number returned by ppp device
+ * after plumbing is completed above. In addition, mark the interface
+ * as an IPv6 interface.
+ */
+ if (slifname(i6fd, ifunit) < 0) {
+ close(ifd);
+ close(i6fd);
+ fatal("Can't set ifname for unit %d: %m", ifunit);
+ }
+#endif /* defined(INET6) */
+
+ ipmuxid = ioctl(ipfd, I_PLINK, ifd);
+ close(ifd);
+ if (ipmuxid < 0) {
+#if defined(INET6)
+ close(i6fd);
+#endif /* defined(INET6) */
+ fatal("Can't I_PLINK PPP device to IP: %m");
+ }
+
+ memset(&ifr, 0, sizeof(ifr));
+ sprintf(ifr.ifr_name, "%s", ifname);
+ ifr.ifr_ip_muxid = ipmuxid;
+
+ /*
+ * In Sol 8 and later, STREAMS dynamic module plumbing feature exists.
+ * This is so that an arbitrary module can be inserted, or deleted,
+ * between ip module and the device driver without tearing down the
+ * existing stream. Such feature requires the mux ids, which is set
+ * by SIOCSIFMUXID (or SIOCLSIFMUXID).
+ */
+ if (ioctl(ipfd, SIOCSIFMUXID, &ifr) < 0) {
+ ioctl(ipfd, I_PUNLINK, ipmuxid);
+#if defined(INET6)
+ close(i6fd);
+#endif /* defined(INET6) */
+ fatal("SIOCSIFMUXID: %m");
+ }
+
+#else /* else if !defined(SOL2) */
+
+ if (dlpi_attach(ifd, ifunit) < 0 ||
+ dlpi_get_reply(ifd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0) {
+ close(ifd);
+ fatal("Can't attach to ppp%d: %m", ifunit);
+ }
+
+ ipmuxid = ioctl(ipfd, I_LINK, ifd);
+ close(ifd);
+ if (ipmuxid < 0)
+ fatal("Can't link PPP device to IP: %m");
+#endif /* defined(SOL2) */
+
+#if defined(INET6) && defined(SOL2)
+ ip6muxid = ioctl(ip6fd, I_PLINK, i6fd);
+ close(i6fd);
+ if (ip6muxid < 0) {
+ ioctl(ipfd, I_PUNLINK, ipmuxid);
+ fatal("Can't I_PLINK PPP device to IP (2): %m");
+ }
+
+ memset(&lifr, 0, sizeof(lifr));
+ sprintf(lifr.lifr_name, "%s", ifname);
+ lifr.lifr_ip_muxid = ip6muxid;
+
+ /*
+ * Let IP know of the mux id [see comment for SIOCSIFMUXID above]
+ */
+ if (ioctl(ip6fd, SIOCSLIFMUXID, &lifr) < 0) {
+ ioctl(ipfd, I_PUNLINK, ipmuxid);
+ ioctl(ip6fd, I_PUNLINK, ip6muxid);
+ fatal("Can't link PPP device to IP (2): %m");
+ }
+#endif /* defined(INET6) && defined(SOL2) */
+
+#if !defined(SOL2)
+ /* Set the interface name for the link. */
+ slprintf(ifr.ifr_name, sizeof(ifr.ifr_name), PPP_DRV_NAME "%d", ifunit);
+ ifr.ifr_metric = ipmuxid;
+ if (strioctl(ipfd, SIOCSIFNAME, (char *)&ifr, sizeof ifr, 0) < 0)
+ fatal("Can't set interface name %s: %m", ifr.ifr_name);
+#endif /* !defined(SOL2) */
+
+ n_pollfds = 0;
+}
+
+/*
+ * sys_cleanup - restore any system state we modified before exiting:
+ * mark the interface down, delete default route and/or proxy arp entry.
+ * This should call die() because it's called from die().
+ */
+void
+sys_cleanup()
+{
+#if defined(SOL2)
+ struct ifreq ifr;
+#if defined(INET6)
+ struct lifreq lifr;
+#endif /* defined(INET6) */
+#endif /* defined(SOL2) */
+
+#if defined(SOL2) && defined(INET6)
+ if (if6_is_up)
+ sif6down(0);
+#endif /* defined(SOL2) && defined(INET6) */
+ if (if_is_up)
+ sifdown(0);
+ if (default_route_gateway)
+ cifdefaultroute(0, default_route_gateway, default_route_gateway);
+ if (proxy_arp_addr)
+ cifproxyarp(0, proxy_arp_addr);
+#if defined(SOL2)
+ /*
+ * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
+ * unlink and re-link the modules, causing the muxid to change.
+ */
+ memset(&ifr, 0, sizeof(ifr));
+ sprintf(ifr.ifr_name, "%s", ifname);
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
+ error("SIOCGIFFLAGS: %m");
+ return;
+ }
+
+ if (ioctl(ipfd, SIOCGIFMUXID, &ifr) < 0) {
+ error("SIOCGIFMUXID: %m");
+ return;
+ }
+
+ ipmuxid = ifr.ifr_ip_muxid;
+
+ if (ioctl(ipfd, I_PUNLINK, ipmuxid) < 0) {
+ error("Can't I_PUNLINK PPP from IP: %m");
+ return;
+ }
+#if defined(INET6)
+ /*
+ * Make sure we ask ip what the muxid, because 'ifconfig modlist' will
+ * unlink and re-link the modules, causing the muxid to change.
+ */
+ memset(&lifr, 0, sizeof(lifr));
+ sprintf(lifr.lifr_name, "%s", ifname);
+ if (ioctl(ip6fd, SIOCGLIFFLAGS, &lifr) < 0) {
+ error("SIOCGLIFFLAGS: %m");
+ return;
+ }
+
+ if (ioctl(ip6fd, SIOCGLIFMUXID, &lifr) < 0) {
+ error("SIOCGLIFMUXID: %m");
+ return;
+ }
+
+ ip6muxid = lifr.lifr_ip_muxid;
+
+ if (ioctl(ip6fd, I_PUNLINK, ip6muxid) < 0) {
+ error("Can't I_PUNLINK PPP from IP (2): %m");
+ }
+#endif /* defined(INET6) */
+#endif /* defined(SOL2) */
+}
+
+/*
+ * sys_close - Clean up in a child process before execing.
+ */
+void
+sys_close()
+{
+ close(ipfd);
+#if defined(INET6) && defined(SOL2)
+ close(ip6fd);
+#endif /* defined(INET6) && defined(SOL2) */
+ if (pppfd >= 0)
+ close(pppfd);
+}
+
+/*
+ * sys_check_options - check the options that the user specified
+ */
+int
+sys_check_options()
+{
+ return 1;
+}
+
+#if 0
+/*
+ * daemon - Detach us from controlling terminal session.
+ */
+int
+daemon(nochdir, noclose)
+ int nochdir, noclose;
+{
+ int pid;
+
+ if ((pid = fork()) < 0)
+ return -1;
+ if (pid != 0)
+ exit(0); /* parent dies */
+ setsid();
+ if (!nochdir)
+ chdir("/");
+ if (!noclose) {
+ fclose(stdin); /* don't need stdin, stdout, stderr */
+ fclose(stdout);
+ fclose(stderr);
+ }
+ return 0;
+}
+#endif
+
+/*
+ * ppp_available - check whether the system has any ppp interfaces
+ */
+int
+ppp_available()
+{
+ struct stat buf;
+
+ return stat(PPP_DEV_NAME, &buf) >= 0;
+}
+
+/*
+ * any_compressions - see if compression is enabled or not
+ *
+ * In the STREAMS implementation of kernel-portion pppd,
+ * the comp STREAMS module performs the ACFC, PFC, as well
+ * CCP and VJ compressions. However, if the user has explicitly
+ * declare to not enable them from the command line, there is
+ * no point of having the comp module be pushed on the stream.
+ */
+static int
+any_compressions()
+{
+ if ((!lcp_wantoptions[0].neg_accompression) &&
+ (!lcp_wantoptions[0].neg_pcompression) &&
+ (!ccp_protent.enabled_flag) &&
+ (!ipcp_wantoptions[0].neg_vj)) {
+ return 0;
+ }
+ return 1;
+}
+
+/*
+ * tty_establish_ppp - Turn the serial port into a ppp interface.
+ */
+int
+tty_establish_ppp(fd)
+ int fd;
+{
+ int i;
+
+ /* Pop any existing modules off the tty stream. */
+ for (i = 0;; ++i)
+ if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
+ || strcmp(tty_modules[i], "ptem") == 0
+ || ioctl(fd, I_POP, 0) < 0)
+ break;
+ tty_nmodules = i;
+
+ /* Push the async hdlc module and the compressor module. */
+ tty_npushed = 0;
+
+ if(!sync_serial) {
+ if (ioctl(fd, I_PUSH, AHDLC_MOD_NAME) < 0) {
+ error("Couldn't push PPP Async HDLC module: %m");
+ return -1;
+ }
+ ++tty_npushed;
+ }
+ if (kdebugflag & 4) {
+ i = PPPDBG_LOG + PPPDBG_AHDLC;
+ strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
+ }
+ /*
+ * There's no need to push comp module if we don't intend
+ * to compress anything
+ */
+ if (any_compressions()) {
+ if (ioctl(fd, I_PUSH, COMP_MOD_NAME) < 0)
+ error("Couldn't push PPP compression module: %m");
+ else
+ ++tty_npushed;
+ }
+
+ if (kdebugflag & 2) {
+ i = PPPDBG_LOG;
+ if (any_compressions())
+ i += PPPDBG_COMP;
+ strioctl(pppfd, PPPIO_DEBUG, &i, sizeof(int), 0);
+ }
+
+ /* Link the serial port under the PPP multiplexor. */
+ if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0) {
+ error("Can't link tty to PPP mux: %m");
+ return -1;
+ }
+
+ return pppfd;
+}
+
+/*
+ * tty_disestablish_ppp - Restore the serial port to normal operation.
+ * It attempts to reconstruct the stream with the previously popped
+ * modules. This shouldn't call die() because it's called from die().
+ */
+void
+tty_disestablish_ppp(fd)
+ int fd;
+{
+ int i;
+
+ if (fdmuxid >= 0) {
+ if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
+ if (!hungup)
+ error("Can't unlink tty from PPP mux: %m");
+ }
+ fdmuxid = -1;
+
+ if (!hungup) {
+ while (tty_npushed > 0 && ioctl(fd, I_POP, 0) >= 0)
+ --tty_npushed;
+ for (i = tty_nmodules - 1; i >= 0; --i)
+ if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
+ error("Couldn't restore tty module %s: %m",
+ tty_modules[i]);
+ }
+ if (hungup && default_device && tty_sid > 0) {
+ /*
+ * If we have received a hangup, we need to send a SIGHUP
+ * to the terminal's controlling process. The reason is
+ * that the original stream head for the terminal hasn't
+ * seen the M_HANGUP message (it went up through the ppp
+ * driver to the stream head for our fd to /dev/ppp).
+ */
+ kill(tty_sid, SIGHUP);
+ }
+ }
+}
+
+/*
+ * Check whether the link seems not to be 8-bit clean.
+ */
+void
+clean_check()
+{
+ int x;
+ char *s;
+
+ if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
+ return;
+ s = NULL;
+ switch (~x) {
+ case RCV_B7_0:
+ s = "bit 7 set to 1";
+ break;
+ case RCV_B7_1:
+ s = "bit 7 set to 0";
+ break;
+ case RCV_EVNP:
+ s = "odd parity";
+ break;
+ case RCV_ODDP:
+ s = "even parity";
+ break;
+ }
+ if (s != NULL) {
+ warn("Serial link is not 8-bit clean:");
+ warn("All received characters had %s", s);
+ }
+}
+
+/*
+ * List of valid speeds.
+ */
+struct speed {
+ int speed_int, speed_val;
+} speeds[] = {
+#ifdef B50
+ { 50, B50 },
+#endif
+#ifdef B75
+ { 75, B75 },
+#endif
+#ifdef B110
+ { 110, B110 },
+#endif
+#ifdef B134
+ { 134, B134 },
+#endif
+#ifdef B150
+ { 150, B150 },
+#endif
+#ifdef B200
+ { 200, B200 },
+#endif
+#ifdef B300
+ { 300, B300 },
+#endif
+#ifdef B600
+ { 600, B600 },
+#endif
+#ifdef B1200
+ { 1200, B1200 },
+#endif
+#ifdef B1800
+ { 1800, B1800 },
+#endif
+#ifdef B2000
+ { 2000, B2000 },
+#endif
+#ifdef B2400
+ { 2400, B2400 },
+#endif
+#ifdef B3600
+ { 3600, B3600 },
+#endif
+#ifdef B4800
+ { 4800, B4800 },
+#endif
+#ifdef B7200
+ { 7200, B7200 },
+#endif
+#ifdef B9600
+ { 9600, B9600 },
+#endif
+#ifdef B19200
+ { 19200, B19200 },
+#endif
+#ifdef B38400
+ { 38400, B38400 },
+#endif
+#ifdef EXTA
+ { 19200, EXTA },
+#endif
+#ifdef EXTB
+ { 38400, EXTB },
+#endif
+#ifdef B57600
+ { 57600, B57600 },
+#endif
+#ifdef B76800
+ { 76800, B76800 },
+#endif
+#ifdef B115200
+ { 115200, B115200 },
+#endif
+#ifdef B153600
+ { 153600, B153600 },
+#endif
+#ifdef B230400
+ { 230400, B230400 },
+#endif
+#ifdef B307200
+ { 307200, B307200 },
+#endif
+#ifdef B460800
+ { 460800, B460800 },
+#endif
+ { 0, 0 }
+};
+
+/*
+ * Translate from bits/second to a speed_t.
+ */
+static int
+translate_speed(bps)
+ int bps;
+{
+ struct speed *speedp;
+
+ if (bps == 0)
+ return 0;
+ for (speedp = speeds; speedp->speed_int; speedp++)
+ if (bps == speedp->speed_int)
+ return speedp->speed_val;
+ warn("speed %d not supported", bps);
+ return 0;
+}
+
+/*
+ * Translate from a speed_t to bits/second.
+ */
+static int
+baud_rate_of(speed)
+ int speed;
+{
+ struct speed *speedp;
+
+ if (speed == 0)
+ return 0;
+ for (speedp = speeds; speedp->speed_int; speedp++)
+ if (speed == speedp->speed_val)
+ return speedp->speed_int;
+ return 0;
+}
+
+/*
+ * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
+ * at the requested speed, etc. If `local' is true, set CLOCAL
+ * regardless of whether the modem option was specified.
+ */
+void
+set_up_tty(fd, local)
+ int fd, local;
+{
+ int speed;
+ struct termios tios;
+#if !defined (CRTSCTS)
+ struct termiox tiox;
+#endif
+
+ if (!sync_serial && tcgetattr(fd, &tios) < 0)
+ fatal("tcgetattr: %m");
+
+#ifndef CRTSCTS
+ termiox_ok = 1;
+ if (!sync_serial && ioctl (fd, TCGETX, &tiox) < 0) {
+ termiox_ok = 0;
+ if (errno != ENOTTY)
+ error("TCGETX: %m");
+ }
+#endif
+
+ if (!restore_term) {
+ inittermios = tios;
+#ifndef CRTSCTS
+ inittermiox = tiox;
+#endif
+ if (!sync_serial)
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
+
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
+#ifdef CRTSCTS
+ if (crtscts > 0)
+ tios.c_cflag |= CRTSCTS;
+ else if (crtscts < 0)
+ tios.c_cflag &= ~CRTSCTS;
+#else
+ if (crtscts != 0 && !termiox_ok) {
+ error("Can't set RTS/CTS flow control");
+ } else if (crtscts > 0) {
+ tiox.x_hflag |= RTSXOFF|CTSXON;
+ } else if (crtscts < 0) {
+ tiox.x_hflag &= ~(RTSXOFF|CTSXON);
+ }
+#endif
+
+ tios.c_cflag |= CS8 | CREAD | HUPCL;
+ if (local || !modem)
+ tios.c_cflag |= CLOCAL;
+ tios.c_iflag = IGNBRK | IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ tios.c_cc[VMIN] = 1;
+ tios.c_cc[VTIME] = 0;
+
+ if (crtscts == -2) {
+ tios.c_iflag |= IXON | IXOFF;
+ tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
+ tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
+ }
+
+ speed = translate_speed(inspeed);
+ if (speed) {
+ cfsetospeed(&tios, speed);
+ cfsetispeed(&tios, speed);
+ } else {
+ speed = cfgetospeed(&tios);
+ /*
+ * We can't proceed if the serial port speed is 0,
+ * since that implies that the serial port is disabled.
+ */
+ if ((speed == B0) && !sync_serial)
+ fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
+ }
+
+ if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &tios) < 0)
+ fatal("tcsetattr: %m");
+
+#ifndef CRTSCTS
+ if (!sync_serial && termiox_ok && ioctl (fd, TCSETXF, &tiox) < 0){
+ error("TCSETXF: %m");
+ }
+#endif
+
+ baud_rate = inspeed = baud_rate_of(speed);
+ if (!sync_serial)
+ restore_term = 1;
+}
+
+/*
+ * restore_tty - restore the terminal to the saved settings.
+ */
+void
+restore_tty(fd)
+ int fd;
+{
+ if (restore_term) {
+ if (!default_device) {
+ /*
+ * Turn off echoing, because otherwise we can get into
+ * a loop with the tty and the modem echoing to each other.
+ * We presume we are the sole user of this tty device, so
+ * when we close it, it will revert to its defaults anyway.
+ */
+ inittermios.c_lflag &= ~(ECHO | ECHONL);
+ }
+ if (!sync_serial && tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
+ if (!hungup && errno != ENXIO)
+ warn("tcsetattr: %m");
+#ifndef CRTSCTS
+ if (!sync_serial && ioctl (fd, TCSETXF, &inittermiox) < 0){
+ if (!hungup && errno != ENXIO)
+ error("TCSETXF: %m");
+ }
+#endif
+ if (!sync_serial)
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
+ restore_term = 0;
+ }
+}
+
+/*
+ * setdtr - control the DTR line on the serial port.
+ * This is called from die(), so it shouldn't call die().
+ */
+void
+setdtr(fd, on)
+int fd, on;
+{
+ int modembits = TIOCM_DTR;
+
+ ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
+}
+
+/*
+ * open_loopback - open the device we use for getting packets
+ * in demand mode. Under Solaris 2, we use our existing fd
+ * to the ppp driver.
+ */
+int
+open_ppp_loopback()
+{
+ return pppfd;
+}
+
+/*
+ * output - Output PPP packet.
+ */
+void
+output(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ struct strbuf data;
+ int retries;
+ struct pollfd pfd;
+
+ if (debug)
+ dbglog("sent %P", p, len);
+
+ data.len = len;
+ data.buf = (caddr_t) p;
+ retries = 4;
+ while (putmsg(pppfd, NULL, &data, 0) < 0) {
+ if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
+ if (errno != ENXIO)
+ error("Couldn't send packet: %m");
+ break;
+ }
+ pfd.fd = pppfd;
+ pfd.events = POLLOUT;
+ poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
+ }
+}
+
+
+/*
+ * wait_input - wait until there is data available,
+ * for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+void
+wait_input(timo)
+ struct timeval *timo;
+{
+ int t;
+
+ t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
+ if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR)
+ fatal("poll: %m");
+}
+
+/*
+ * add_fd - add an fd to the set that wait_input waits for.
+ */
+void add_fd(fd)
+ int fd;
+{
+ int n;
+
+ for (n = 0; n < n_pollfds; ++n)
+ if (pollfds[n].fd == fd)
+ return;
+ if (n_pollfds < MAX_POLLFDS) {
+ pollfds[n_pollfds].fd = fd;
+ pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
+ ++n_pollfds;
+ } else
+ error("Too many inputs!");
+}
+
+/*
+ * remove_fd - remove an fd from the set that wait_input waits for.
+ */
+void remove_fd(fd)
+ int fd;
+{
+ int n;
+
+ for (n = 0; n < n_pollfds; ++n) {
+ if (pollfds[n].fd == fd) {
+ while (++n < n_pollfds)
+ pollfds[n-1] = pollfds[n];
+ --n_pollfds;
+ break;
+ }
+ }
+}
+
+#if 0
+/*
+ * wait_loop_output - wait until there is data available on the
+ * loopback, for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+void
+wait_loop_output(timo)
+ struct timeval *timo;
+{
+ wait_input(timo);
+}
+
+/*
+ * wait_time - wait for a given length of time or until a
+ * signal is received.
+ */
+void
+wait_time(timo)
+ struct timeval *timo;
+{
+ int n;
+
+ n = select(0, NULL, NULL, NULL, timo);
+ if (n < 0 && errno != EINTR)
+ fatal("select: %m");
+}
+#endif
+
+
+/*
+ * read_packet - get a PPP packet from the serial device.
+ */
+int
+read_packet(buf)
+ u_char *buf;
+{
+ struct strbuf ctrl, data;
+ int flags, len;
+ unsigned char ctrlbuf[sizeof(union DL_primitives) + 64];
+
+ for (;;) {
+ data.maxlen = PPP_MRU + PPP_HDRLEN;
+ data.buf = (caddr_t) buf;
+ ctrl.maxlen = sizeof(ctrlbuf);
+ ctrl.buf = (caddr_t) ctrlbuf;
+ flags = 0;
+ len = getmsg(pppfd, &ctrl, &data, &flags);
+ if (len < 0) {
+ if (errno == EAGAIN || errno == EINTR)
+ return -1;
+ fatal("Error reading packet: %m");
+ }
+
+ if (ctrl.len <= 0)
+ return data.len;
+
+ /*
+ * Got a M_PROTO or M_PCPROTO message. Interpret it
+ * as a DLPI primitive??
+ */
+ if (debug)
+ dbglog("got dlpi prim 0x%x, len=%d",
+ ((union DL_primitives *)ctrlbuf)->dl_primitive, ctrl.len);
+
+ }
+}
+
+/*
+ * get_loop_output - get outgoing packets from the ppp device,
+ * and detect when we want to bring the real link up.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ */
+int
+get_loop_output()
+{
+ int len;
+ int rv = 0;
+
+ while ((len = read_packet(inpacket_buf)) > 0) {
+ if (loop_frame(inpacket_buf, len))
+ rv = 1;
+ }
+ return rv;
+}
+
+/*
+ * netif_set_mtu - set the MTU on the PPP network interface.
+ */
+void
+netif_set_mtu(unit, mtu)
+ int unit, mtu;
+{
+ struct ifreq ifr;
+#if defined(INET6) && defined(SOL2)
+ struct lifreq lifr;
+ int fd;
+#endif /* defined(INET6) && defined(SOL2) */
+
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ ifr.ifr_metric = link_mtu;
+ if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
+ error("Couldn't set IP MTU (%s): %m", ifr.ifr_name);
+ }
+
+#if defined(INET6) && defined(SOL2)
+ fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (fd < 0)
+ error("Couldn't open IPv6 socket: %m");
+
+ memset(&lifr, 0, sizeof(lifr));
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ lifr.lifr_mtu = link_mtu;
+ if (ioctl(fd, SIOCSLIFMTU, &lifr) < 0) {
+ close(fd);
+ error("Couldn't set IPv6 MTU (%s): %m", ifr.ifr_name);
+ }
+ close(fd);
+#endif /* defined(INET6) && defined(SOL2) */
+}
+
+/*
+ * tty_send_config - configure the transmit characteristics of
+ * the ppp interface.
+ */
+void
+tty_send_config(mtu, asyncmap, pcomp, accomp)
+ int mtu;
+ u_int32_t asyncmap;
+ int pcomp, accomp;
+{
+ int cf[2];
+
+ link_mtu = mtu;
+ if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
+ if (hungup && errno == ENXIO)
+ return;
+ error("Couldn't set MTU: %m");
+ }
+ if (fdmuxid >= 0) {
+ if (!sync_serial) {
+ if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
+ error("Couldn't set transmit ACCM: %m");
+ }
+ }
+ cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
+ cf[1] = COMP_PROT | COMP_AC;
+ if (any_compressions() &&
+ strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ error("Couldn't set prot/AC compression: %m");
+ }
+ }
+}
+
+/*
+ * ppp_set_xaccm - set the extended transmit ACCM for the interface.
+ */
+void
+tty_set_xaccm(accm)
+ ext_accm accm;
+{
+ if (sync_serial)
+ return;
+
+ if (fdmuxid >= 0
+ && strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
+ if (!hungup || errno != ENXIO)
+ warn("Couldn't set extended ACCM: %m");
+ }
+}
+
+/*
+ * ppp_recv_config - configure the receive-side characteristics of
+ * the ppp interface.
+ */
+void
+tty_recv_config(mru, asyncmap, pcomp, accomp)
+ int mru;
+ u_int32_t asyncmap;
+ int pcomp, accomp;
+{
+ int cf[2];
+
+ link_mru = mru;
+ if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
+ if (hungup && errno == ENXIO)
+ return;
+ error("Couldn't set MRU: %m");
+ }
+ if (fdmuxid >= 0) {
+ if (!sync_serial) {
+ if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
+ error("Couldn't set receive ACCM: %m");
+ }
+ }
+ cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
+ cf[1] = DECOMP_PROT | DECOMP_AC;
+ if (any_compressions() &&
+ strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ error("Couldn't set prot/AC decompression: %m");
+ }
+ }
+}
+
+/*
+ * ccp_test - ask kernel whether a given compression method
+ * is acceptable for use.
+ */
+int
+ccp_test(unit, opt_ptr, opt_len, for_transmit)
+ int unit, opt_len, for_transmit;
+ u_char *opt_ptr;
+{
+ if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
+ opt_ptr, opt_len, 0) >= 0)
+ return 1;
+ return (errno == ENOSR)? 0: -1;
+}
+
+/*
+ * ccp_flags_set - inform kernel about the current state of CCP.
+ */
+void
+ccp_flags_set(unit, isopen, isup)
+ int unit, isopen, isup;
+{
+ int cf[2];
+
+ cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
+ cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (!hungup || errno != ENXIO)
+ error("Couldn't set kernel CCP state: %m");
+ }
+}
+
+/*
+ * get_idle_time - return how long the link has been idle.
+ */
+int
+get_idle_time(u, ip)
+ int u;
+ struct ppp_idle *ip;
+{
+ return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
+}
+
+/*
+ * get_ppp_stats - return statistics for the link.
+ */
+int
+get_ppp_stats(u, stats)
+ int u;
+ struct pppd_stats *stats;
+{
+ struct ppp_stats s;
+
+ if (!sync_serial &&
+ strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
+ error("Couldn't get link statistics: %m");
+ return 0;
+ }
+ stats->bytes_in = s.p.ppp_ibytes;
+ stats->bytes_out = s.p.ppp_obytes;
+ return 1;
+}
+
+#if 0
+/*
+ * set_filters - transfer the pass and active filters to the kernel.
+ */
+int
+set_filters(pass, active)
+ struct bpf_program *pass, *active;
+{
+ int ret = 1;
+
+ if (pass->bf_len > 0) {
+ if (strioctl(pppfd, PPPIO_PASSFILT, pass,
+ sizeof(struct bpf_program), 0) < 0) {
+ error("Couldn't set pass-filter in kernel: %m");
+ ret = 0;
+ }
+ }
+ if (active->bf_len > 0) {
+ if (strioctl(pppfd, PPPIO_ACTIVEFILT, active,
+ sizeof(struct bpf_program), 0) < 0) {
+ error("Couldn't set active-filter in kernel: %m");
+ ret = 0;
+ }
+ }
+ return ret;
+}
+#endif
+
+/*
+ * ccp_fatal_error - returns 1 if decompression was disabled as a
+ * result of an error detected after decompression of a packet,
+ * 0 otherwise. This is necessary because of patent nonsense.
+ */
+int
+ccp_fatal_error(unit)
+ int unit;
+{
+ int cf[2];
+
+ cf[0] = cf[1] = 0;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (errno != ENXIO && errno != EINVAL)
+ error("Couldn't get compression flags: %m");
+ return 0;
+ }
+ return cf[0] & CCP_FATALERROR;
+}
+
+/*
+ * sifvjcomp - config tcp header compression
+ */
+int
+sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
+ int u, vjcomp, xcidcomp, xmaxcid;
+{
+ int cf[2];
+ char maxcid[2];
+
+ if (vjcomp) {
+ maxcid[0] = xcidcomp;
+ maxcid[1] = 15; /* XXX should be rmaxcid */
+ if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
+ error("Couldn't initialize VJ compression: %m");
+ }
+ }
+
+ cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
+ + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
+ cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (vjcomp)
+ error("Couldn't enable VJ compression: %m");
+ }
+
+ return 1;
+}
+
+/*
+ * sifup - Config the interface up and enable IP packets to pass.
+ */
+int
+sifup(u)
+ int u;
+{
+ struct ifreq ifr;
+
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface up (get): %m");
+ return 0;
+ }
+ ifr.ifr_flags |= IFF_UP;
+ if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface up (set): %m");
+ return 0;
+ }
+ if_is_up = 1;
+ return 1;
+}
+
+/*
+ * sifdown - Config the interface down and disable IP.
+ */
+int
+sifdown(u)
+ int u;
+{
+ struct ifreq ifr;
+
+ if (ipmuxid < 0)
+ return 1;
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface down (get): %m");
+ return 0;
+ }
+ ifr.ifr_flags &= ~IFF_UP;
+ if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface down (set): %m");
+ return 0;
+ }
+ if_is_up = 0;
+ return 1;
+}
+
+/*
+ * sifnpmode - Set the mode for handling packets for a given NP.
+ */
+int
+sifnpmode(u, proto, mode)
+ int u;
+ int proto;
+ enum NPmode mode;
+{
+ int npi[2];
+
+ npi[0] = proto;
+ npi[1] = (int) mode;
+ if (strioctl(pppfd, PPPIO_NPMODE, &npi, 2 * sizeof(int), 0) < 0) {
+ error("ioctl(set NP %d mode to %d): %m", proto, mode);
+ return 0;
+ }
+ return 1;
+}
+
+#if defined(SOL2) && defined(INET6)
+/*
+ * sif6up - Config the IPv6 interface up and enable IPv6 packets to pass.
+ */
+int
+sif6up(u)
+ int u;
+{
+ struct lifreq lifr;
+ int fd;
+
+ fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (fd < 0) {
+ return 0;
+ }
+
+ memset(&lifr, 0, sizeof(lifr));
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ lifr.lifr_flags |= IFF_UP;
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ if (ioctl(fd, SIOCSLIFFLAGS, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ if6_is_up = 1;
+ close(fd);
+ return 1;
+}
+
+/*
+ * sifdown - Config the IPv6 interface down and disable IPv6.
+ */
+int
+sif6down(u)
+ int u;
+{
+ struct lifreq lifr;
+ int fd;
+
+ fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (fd < 0)
+ return 0;
+
+ memset(&lifr, 0, sizeof(lifr));
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ lifr.lifr_flags &= ~IFF_UP;
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ if (ioctl(fd, SIOCGLIFFLAGS, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ if6_is_up = 0;
+ close(fd);
+ return 1;
+}
+
+/*
+ * sif6addr - Config the interface with an IPv6 link-local address
+ */
+int
+sif6addr(u, o, h)
+ int u;
+ eui64_t o, h;
+{
+ struct lifreq lifr;
+ struct sockaddr_storage laddr;
+ struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&laddr;
+ int fd;
+
+ fd = socket(AF_INET6, SOCK_DGRAM, 0);
+ if (fd < 0)
+ return 0;
+
+ memset(&lifr, 0, sizeof(lifr));
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+
+ /*
+ * Do this because /dev/ppp responds to DL_PHYS_ADDR_REQ with
+ * zero values, hence the interface token came to be zero too,
+ * and without this, in.ndpd will complain
+ */
+ IN6_LLTOKEN_FROM_EUI64(lifr, sin6, o);
+ if (ioctl(fd, SIOCSLIFTOKEN, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ /*
+ * Set the interface address and destination address
+ */
+ IN6_LLADDR_FROM_EUI64(lifr, sin6, o);
+ if (ioctl(fd, SIOCSLIFADDR, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ memset(&lifr, 0, sizeof(lifr));
+ strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name));
+ IN6_LLADDR_FROM_EUI64(lifr, sin6, h);
+ if (ioctl(fd, SIOCSLIFDSTADDR, &lifr) < 0) {
+ close(fd);
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * cif6addr - Remove the IPv6 address from interface
+ */
+int
+cif6addr(u, o, h)
+ int u;
+ eui64_t o, h;
+{
+ return 1;
+}
+
+#endif /* defined(SOL2) && defined(INET6) */
+
+
+#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
+
+/*
+ * sifaddr - Config the interface IP addresses and netmask.
+ */
+int
+sifaddr(u, o, h, m)
+ int u;
+ u_int32_t o, h, m;
+{
+ struct ifreq ifr;
+ int ret = 1;
+
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ ifr.ifr_addr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_addr) = m;
+ if (ioctl(ipfd, SIOCSIFNETMASK, &ifr) < 0) {
+ error("Couldn't set IP netmask: %m");
+ ret = 0;
+ }
+ ifr.ifr_addr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_addr) = o;
+ if (ioctl(ipfd, SIOCSIFADDR, &ifr) < 0) {
+ error("Couldn't set local IP address: %m");
+ ret = 0;
+ }
+
+ /*
+ * On some systems, we have to explicitly set the point-to-point
+ * flag bit before we can set a destination address.
+ */
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifr) >= 0
+ && (ifr.ifr_flags & IFF_POINTOPOINT) == 0) {
+ ifr.ifr_flags |= IFF_POINTOPOINT;
+ if (ioctl(ipfd, SIOCSIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface pt-to-pt: %m");
+ ret = 0;
+ }
+ }
+ ifr.ifr_dstaddr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_dstaddr) = h;
+ if (ioctl(ipfd, SIOCSIFDSTADDR, &ifr) < 0) {
+ error("Couldn't set remote IP address: %m");
+ ret = 0;
+ }
+#if 0 /* now done in ppp_send_config */
+ ifr.ifr_metric = link_mtu;
+ if (ioctl(ipfd, SIOCSIFMTU, &ifr) < 0) {
+ error("Couldn't set IP MTU: %m");
+ }
+#endif
+
+ remote_addr = h;
+ return ret;
+}
+
+/*
+ * cifaddr - Clear the interface IP addresses, and delete routes
+ * through the interface if possible.
+ */
+int
+cifaddr(u, o, h)
+ int u;
+ u_int32_t o, h;
+{
+#if defined(__USLC__) /* was: #if 0 */
+ cifroute(unit, ouraddr, hisaddr);
+ if (ipmuxid >= 0) {
+ notice("Removing ppp interface unit");
+ if (ioctl(ipfd, I_UNLINK, ipmuxid) < 0) {
+ error("Can't remove ppp interface unit: %m");
+ return 0;
+ }
+ ipmuxid = -1;
+ }
+#endif
+ remote_addr = 0;
+ return 1;
+}
+
+/*
+ * sifdefaultroute - assign a default route through the address given.
+ */
+int
+sifdefaultroute(u, l, g)
+ int u;
+ u_int32_t l, g;
+{
+ struct rtentry rt;
+
+#if defined(__USLC__)
+ g = l; /* use the local address as gateway */
+#endif
+ memset(&rt, 0, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = 0;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = g;
+ rt.rt_flags = RTF_GATEWAY;
+
+ if (ioctl(ipfd, SIOCADDRT, &rt) < 0) {
+ error("Can't add default route: %m");
+ return 0;
+ }
+
+ default_route_gateway = g;
+ return 1;
+}
+
+/*
+ * cifdefaultroute - delete a default route through the address given.
+ */
+int
+cifdefaultroute(u, l, g)
+ int u;
+ u_int32_t l, g;
+{
+ struct rtentry rt;
+
+#if defined(__USLC__)
+ g = l; /* use the local address as gateway */
+#endif
+ memset(&rt, 0, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = 0;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = g;
+ rt.rt_flags = RTF_GATEWAY;
+
+ if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
+ error("Can't delete default route: %m");
+ return 0;
+ }
+
+ default_route_gateway = 0;
+ return 1;
+}
+
+/*
+ * sifproxyarp - Make a proxy ARP entry for the peer.
+ */
+int
+sifproxyarp(unit, hisaddr)
+ int unit;
+ u_int32_t hisaddr;
+{
+ struct arpreq arpreq;
+
+ memset(&arpreq, 0, sizeof(arpreq));
+ if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
+ return 0;
+
+ arpreq.arp_pa.sa_family = AF_INET;
+ INET_ADDR(arpreq.arp_pa) = hisaddr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+ if (ioctl(ipfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
+ error("Couldn't set proxy ARP entry: %m");
+ return 0;
+ }
+
+ proxy_arp_addr = hisaddr;
+ return 1;
+}
+
+/*
+ * cifproxyarp - Delete the proxy ARP entry for the peer.
+ */
+int
+cifproxyarp(unit, hisaddr)
+ int unit;
+ u_int32_t hisaddr;
+{
+ struct arpreq arpreq;
+
+ memset(&arpreq, 0, sizeof(arpreq));
+ arpreq.arp_pa.sa_family = AF_INET;
+ INET_ADDR(arpreq.arp_pa) = hisaddr;
+ if (ioctl(ipfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
+ error("Couldn't delete proxy ARP entry: %m");
+ return 0;
+ }
+
+ proxy_arp_addr = 0;
+ return 1;
+}
+
+/*
+ * get_ether_addr - get the hardware address of an interface on the
+ * the same subnet as ipaddr.
+ */
+#define MAX_IFS 32
+
+static int
+get_ether_addr(ipaddr, hwaddr)
+ u_int32_t ipaddr;
+ struct sockaddr *hwaddr;
+{
+ struct ifreq *ifr, *ifend, ifreq;
+ int nif;
+ struct ifconf ifc;
+ u_int32_t ina, mask;
+
+ /*
+ * Scan through the system's network interfaces.
+ */
+#ifdef SIOCGIFNUM
+ if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
+#endif
+ nif = MAX_IFS;
+ ifc.ifc_len = nif * sizeof(struct ifreq);
+ ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
+ if (ifc.ifc_buf == 0)
+ return 0;
+ if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
+ warn("Couldn't get system interface list: %m");
+ free(ifc.ifc_buf);
+ return 0;
+ }
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
+ if (ifr->ifr_addr.sa_family != AF_INET)
+ continue;
+ /*
+ * Check that the interface is up, and not point-to-point or loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+ if ((ifreq.ifr_flags &
+ (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
+ != (IFF_UP|IFF_BROADCAST))
+ continue;
+ /*
+ * Get its netmask and check that it's on the right subnet.
+ */
+ if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ ina = INET_ADDR(ifr->ifr_addr);
+ mask = INET_ADDR(ifreq.ifr_addr);
+ if ((ipaddr & mask) == (ina & mask))
+ break;
+ }
+
+ if (ifr >= ifend) {
+ warn("No suitable interface found for proxy ARP");
+ free(ifc.ifc_buf);
+ return 0;
+ }
+
+ info("found interface %s for proxy ARP", ifr->ifr_name);
+ if (!get_hw_addr(ifr->ifr_name, ina, hwaddr)) {
+ error("Couldn't get hardware address for %s", ifr->ifr_name);
+ free(ifc.ifc_buf);
+ return 0;
+ }
+
+ free(ifc.ifc_buf);
+ return 1;
+}
+
+/*
+ * get_hw_addr_dlpi - obtain the hardware address using DLPI
+ */
+static int
+get_hw_addr_dlpi(name, hwaddr)
+ char *name;
+ struct sockaddr *hwaddr;
+{
+ char *p, *q;
+ int unit, iffd, adrlen;
+ unsigned char *adrp;
+ char ifdev[24];
+ struct {
+ union DL_primitives prim;
+ char space[64];
+ } reply;
+
+ /*
+ * We have to open the device and ask it for its hardware address.
+ * First split apart the device name and unit.
+ */
+ slprintf(ifdev, sizeof(ifdev), "/dev/%s", name);
+ for (q = ifdev + strlen(ifdev); --q >= ifdev; )
+ if (!isdigit(*q))
+ break;
+ unit = atoi(q+1);
+ q[1] = 0;
+
+ /*
+ * Open the device and do a DLPI attach and phys_addr_req.
+ */
+ iffd = open(ifdev, O_RDWR);
+ if (iffd < 0) {
+ error("Can't open %s: %m", ifdev);
+ return 0;
+ }
+ if (dlpi_attach(iffd, unit) < 0
+ || dlpi_get_reply(iffd, &reply.prim, DL_OK_ACK, sizeof(reply)) < 0
+ || dlpi_info_req(iffd) < 0
+ || dlpi_get_reply(iffd, &reply.prim, DL_INFO_ACK, sizeof(reply)) < 0) {
+ close(iffd);
+ return 0;
+ }
+
+ adrlen = reply.prim.info_ack.dl_addr_length;
+ adrp = (unsigned char *)&reply + reply.prim.info_ack.dl_addr_offset;
+
+#if DL_CURRENT_VERSION >= 2
+ if (reply.prim.info_ack.dl_sap_length < 0)
+ adrlen += reply.prim.info_ack.dl_sap_length;
+ else
+ adrp += reply.prim.info_ack.dl_sap_length;
+#endif
+
+ hwaddr->sa_family = AF_UNSPEC;
+ memcpy(hwaddr->sa_data, adrp, adrlen);
+
+ return 1;
+}
+/*
+ * get_hw_addr - obtain the hardware address for a named interface.
+ */
+static int
+get_hw_addr(name, ina, hwaddr)
+ char *name;
+ u_int32_t ina;
+ struct sockaddr *hwaddr;
+{
+ /* New way - get the address by doing an arp request. */
+ int s;
+ struct arpreq req;
+
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0)
+ return 0;
+ memset(&req, 0, sizeof(req));
+ req.arp_pa.sa_family = AF_INET;
+ INET_ADDR(req.arp_pa) = ina;
+ if (ioctl(s, SIOCGARP, &req) < 0) {
+ error("Couldn't get ARP entry for %s: %m", ip_ntoa(ina));
+ return 0;
+ }
+ *hwaddr = req.arp_ha;
+ hwaddr->sa_family = AF_UNSPEC;
+
+ return 1;
+}
+
+static int
+dlpi_attach(fd, ppa)
+ int fd, ppa;
+{
+ dl_attach_req_t req;
+ struct strbuf buf;
+
+ req.dl_primitive = DL_ATTACH_REQ;
+ req.dl_ppa = ppa;
+ buf.len = sizeof(req);
+ buf.buf = (void *) &req;
+ return putmsg(fd, &buf, NULL, RS_HIPRI);
+}
+
+static int
+dlpi_info_req(fd)
+ int fd;
+{
+ dl_info_req_t req;
+ struct strbuf buf;
+
+ req.dl_primitive = DL_INFO_REQ;
+ buf.len = sizeof(req);
+ buf.buf = (void *) &req;
+ return putmsg(fd, &buf, NULL, RS_HIPRI);
+}
+
+static int
+dlpi_get_reply(fd, reply, expected_prim, maxlen)
+ union DL_primitives *reply;
+ int fd, expected_prim, maxlen;
+{
+ struct strbuf buf;
+ int flags, n;
+ struct pollfd pfd;
+
+ /*
+ * Use poll to wait for a message with a timeout.
+ */
+ pfd.fd = fd;
+ pfd.events = POLLIN | POLLPRI;
+ do {
+ n = poll(&pfd, 1, 1000);
+ } while (n == -1 && errno == EINTR);
+ if (n <= 0)
+ return -1;
+
+ /*
+ * Get the reply.
+ */
+ buf.maxlen = maxlen;
+ buf.buf = (void *) reply;
+ flags = 0;
+ if (getmsg(fd, &buf, NULL, &flags) < 0)
+ return -1;
+
+ if (buf.len < sizeof(ulong)) {
+ if (debug)
+ dbglog("dlpi response short (len=%d)\n", buf.len);
+ return -1;
+ }
+
+ if (reply->dl_primitive == expected_prim)
+ return 0;
+
+ if (debug) {
+ if (reply->dl_primitive == DL_ERROR_ACK) {
+ dbglog("dlpi error %d (unix errno %d) for prim %x\n",
+ reply->error_ack.dl_errno, reply->error_ack.dl_unix_errno,
+ reply->error_ack.dl_error_primitive);
+ } else {
+ dbglog("dlpi unexpected response prim %x\n",
+ reply->dl_primitive);
+ }
+ }
+
+ return -1;
+}
+
+/*
+ * Return user specified netmask, modified by any mask we might determine
+ * for address `addr' (in network byte order).
+ * Here we scan through the system's list of interfaces, looking for
+ * any non-point-to-point interfaces which might appear to be on the same
+ * network as `addr'. If we find any, we OR in their netmask to the
+ * user-specified netmask.
+ */
+u_int32_t
+GetMask(addr)
+ u_int32_t addr;
+{
+ u_int32_t mask, nmask, ina;
+ struct ifreq *ifr, *ifend, ifreq;
+ int nif;
+ struct ifconf ifc;
+
+ addr = ntohl(addr);
+ if (IN_CLASSA(addr)) /* determine network mask for address class */
+ nmask = IN_CLASSA_NET;
+ else if (IN_CLASSB(addr))
+ nmask = IN_CLASSB_NET;
+ else
+ nmask = IN_CLASSC_NET;
+ /* class D nets are disallowed by bad_ip_adrs */
+ mask = netmask | htonl(nmask);
+
+ /*
+ * Scan through the system's network interfaces.
+ */
+#ifdef SIOCGIFNUM
+ if (ioctl(ipfd, SIOCGIFNUM, &nif) < 0)
+#endif
+ nif = MAX_IFS;
+ ifc.ifc_len = nif * sizeof(struct ifreq);
+ ifc.ifc_buf = (caddr_t) malloc(ifc.ifc_len);
+ if (ifc.ifc_buf == 0)
+ return mask;
+ if (ioctl(ipfd, SIOCGIFCONF, &ifc) < 0) {
+ warn("Couldn't get system interface list: %m");
+ free(ifc.ifc_buf);
+ return mask;
+ }
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
+ /*
+ * Check the interface's internet address.
+ */
+ if (ifr->ifr_addr.sa_family != AF_INET)
+ continue;
+ ina = INET_ADDR(ifr->ifr_addr);
+ if ((ntohl(ina) & nmask) != (addr & nmask))
+ continue;
+ /*
+ * Check that the interface is up, and not point-to-point or loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(ipfd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+ if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
+ != IFF_UP)
+ continue;
+ /*
+ * Get its netmask and OR it into our mask.
+ */
+ if (ioctl(ipfd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ mask |= INET_ADDR(ifreq.ifr_addr);
+ }
+
+ free(ifc.ifc_buf);
+ return mask;
+}
+
+/*
+ * logwtmp - write an accounting record to the /var/adm/wtmp file.
+ */
+void
+logwtmp(line, name, host)
+ const char *line, *name, *host;
+{
+ static struct utmpx utmpx;
+
+ if (name[0] != 0) {
+ /* logging in */
+ strncpy(utmpx.ut_user, name, sizeof(utmpx.ut_user));
+ strncpy(utmpx.ut_id, ifname, sizeof(utmpx.ut_id));
+ strncpy(utmpx.ut_line, line, sizeof(utmpx.ut_line));
+ utmpx.ut_pid = getpid();
+ utmpx.ut_type = USER_PROCESS;
+ } else {
+ utmpx.ut_type = DEAD_PROCESS;
+ }
+ gettimeofday(&utmpx.ut_tv, NULL);
+ updwtmpx("/var/adm/wtmpx", &utmpx);
+}
+
+/*
+ * get_host_seed - return the serial number of this machine.
+ */
+int
+get_host_seed()
+{
+ char buf[32];
+
+ if (sysinfo(SI_HW_SERIAL, buf, sizeof(buf)) < 0) {
+ error("sysinfo: %m");
+ return 0;
+ }
+ return (int) strtoul(buf, NULL, 16);
+}
+
+static int
+strioctl(fd, cmd, ptr, ilen, olen)
+ int fd, cmd, ilen, olen;
+ void *ptr;
+{
+ struct strioctl str;
+
+ str.ic_cmd = cmd;
+ str.ic_timout = 0;
+ str.ic_len = ilen;
+ str.ic_dp = ptr;
+ if (ioctl(fd, I_STR, &str) == -1)
+ return -1;
+ if (str.ic_len != olen)
+ dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
+ olen, str.ic_len, cmd);
+ return 0;
+}
+
+#if 0
+/*
+ * lock - create a lock file for the named lock device
+ */
+
+#define LOCK_PREFIX "/var/spool/locks/LK."
+static char lock_file[40]; /* name of lock file created */
+
+int
+lock(dev)
+ char *dev;
+{
+ int n, fd, pid;
+ struct stat sbuf;
+ char ascii_pid[12];
+
+ if (stat(dev, &sbuf) < 0) {
+ error("Can't get device number for %s: %m", dev);
+ return -1;
+ }
+ if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
+ error("Can't lock %s: not a character device", dev);
+ return -1;
+ }
+ slprintf(lock_file, sizeof(lock_file), "%s%03d.%03d.%03d",
+ LOCK_PREFIX, major(sbuf.st_dev),
+ major(sbuf.st_rdev), minor(sbuf.st_rdev));
+
+ while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
+ if (errno == EEXIST
+ && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
+ /* Read the lock file to find out who has the device locked */
+ n = read(fd, ascii_pid, 11);
+ if (n <= 0) {
+ error("Can't read pid from lock file %s", lock_file);
+ close(fd);
+ } else {
+ ascii_pid[n] = 0;
+ pid = atoi(ascii_pid);
+ if (pid > 0 && kill(pid, 0) == -1 && errno == ESRCH) {
+ /* pid no longer exists - remove the lock file */
+ if (unlink(lock_file) == 0) {
+ close(fd);
+ notice("Removed stale lock on %s (pid %d)",
+ dev, pid);
+ continue;
+ } else
+ warn("Couldn't remove stale lock on %s",
+ dev);
+ } else
+ notice("Device %s is locked by pid %d",
+ dev, pid);
+ }
+ close(fd);
+ } else
+ error("Can't create lock file %s: %m", lock_file);
+ lock_file[0] = 0;
+ return -1;
+ }
+
+ slprintf(ascii_pid, sizeof(ascii_pid), "%10d\n", getpid());
+ write(fd, ascii_pid, 11);
+
+ close(fd);
+ return 1;
+}
+
+/*
+ * unlock - remove our lockfile
+ */
+void
+unlock()
+{
+ if (lock_file[0]) {
+ unlink(lock_file);
+ lock_file[0] = 0;
+ }
+}
+#endif
+
+/*
+ * cifroute - delete a route through the addresses given.
+ */
+int
+cifroute(u, our, his)
+ int u;
+ u_int32_t our, his;
+{
+ struct rtentry rt;
+
+ memset(&rt, 0, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = his;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = our;
+ rt.rt_flags = RTF_HOST;
+
+ if (ioctl(ipfd, SIOCDELRT, &rt) < 0) {
+ error("Can't delete route: %m");
+ return 0;
+ }
+
+ return 1;
+}
+
+/*
+ * have_route_to - determine if the system has a route to the specified
+ * IP address. Returns 0 if not, 1 if so, -1 if we can't tell.
+ * `addr' is in network byte order.
+ * For demand mode to work properly, we have to ignore routes
+ * through our own interface.
+ */
+#ifndef T_CURRENT /* needed for Solaris 2.5 */
+#define T_CURRENT MI_T_CURRENT
+#endif
+
+int
+have_route_to(addr)
+ u_int32_t addr;
+{
+#ifdef SOL2
+ int fd, r, flags, i;
+ struct {
+ struct T_optmgmt_req req;
+ struct opthdr hdr;
+ } req;
+ union {
+ struct T_optmgmt_ack ack;
+ unsigned char space[64];
+ } ack;
+ struct opthdr *rh;
+ struct strbuf cbuf, dbuf;
+ int nroutes;
+ mib2_ipRouteEntry_t routes[8];
+ mib2_ipRouteEntry_t *rp;
+
+ fd = open(mux_dev_name, O_RDWR);
+ if (fd < 0) {
+ warn("have_route_to: couldn't open %s: %m", mux_dev_name);
+ return -1;
+ }
+
+ req.req.PRIM_type = T_OPTMGMT_REQ;
+ req.req.OPT_offset = (char *) &req.hdr - (char *) &req;
+ req.req.OPT_length = sizeof(req.hdr);
+ req.req.MGMT_flags = T_CURRENT;
+
+ req.hdr.level = MIB2_IP;
+ req.hdr.name = 0;
+ req.hdr.len = 0;
+
+ cbuf.buf = (char *) &req;
+ cbuf.len = sizeof(req);
+
+ if (putmsg(fd, &cbuf, NULL, 0) == -1) {
+ warn("have_route_to: putmsg: %m");
+ close(fd);
+ return -1;
+ }
+
+ for (;;) {
+ cbuf.buf = (char *) &ack;
+ cbuf.maxlen = sizeof(ack);
+ dbuf.buf = (char *) routes;
+ dbuf.maxlen = sizeof(routes);
+ flags = 0;
+ r = getmsg(fd, &cbuf, &dbuf, &flags);
+ if (r == -1) {
+ warn("have_route_to: getmsg: %m");
+ close(fd);
+ return -1;
+ }
+
+ if (cbuf.len < sizeof(struct T_optmgmt_ack)
+ || ack.ack.PRIM_type != T_OPTMGMT_ACK
+ || ack.ack.MGMT_flags != T_SUCCESS
+ || ack.ack.OPT_length < sizeof(struct opthdr)) {
+ dbglog("have_route_to: bad message len=%d prim=%d",
+ cbuf.len, ack.ack.PRIM_type);
+ close(fd);
+ return -1;
+ }
+
+ rh = (struct opthdr *) ((char *)&ack + ack.ack.OPT_offset);
+ if (rh->level == 0 && rh->name == 0)
+ break;
+ if (rh->level != MIB2_IP || rh->name != MIB2_IP_21) {
+ while (r == MOREDATA)
+ r = getmsg(fd, NULL, &dbuf, &flags);
+ continue;
+ }
+
+ for (;;) {
+ nroutes = dbuf.len / sizeof(mib2_ipRouteEntry_t);
+ for (rp = routes, i = 0; i < nroutes; ++i, ++rp) {
+ if (rp->ipRouteMask != ~0) {
+ dbglog("have_route_to: dest=%x gw=%x mask=%x\n",
+ rp->ipRouteDest, rp->ipRouteNextHop,
+ rp->ipRouteMask);
+ if (((addr ^ rp->ipRouteDest) & rp->ipRouteMask) == 0
+ && rp->ipRouteNextHop != remote_addr)
+ return 1;
+ }
+ }
+ if (r == 0)
+ break;
+ r = getmsg(fd, NULL, &dbuf, &flags);
+ }
+ }
+ close(fd);
+ return 0;
+#else
+ return -1;
+#endif /* SOL2 */
+}
+
+/*
+ * get_pty - get a pty master/slave pair and chown the slave side to
+ * the uid given. Assumes slave_name points to MAXPATHLEN bytes of space.
+ */
+int
+get_pty(master_fdp, slave_fdp, slave_name, uid)
+ int *master_fdp;
+ int *slave_fdp;
+ char *slave_name;
+ int uid;
+{
+ int mfd, sfd;
+ char *pty_name;
+ struct termios tios;
+
+ mfd = open("/dev/ptmx", O_RDWR);
+ if (mfd < 0) {
+ error("Couldn't open pty master: %m");
+ return 0;
+ }
+
+ pty_name = ptsname(mfd);
+ if (pty_name == NULL) {
+ error("Couldn't get name of pty slave");
+ close(mfd);
+ return 0;
+ }
+ if (chown(pty_name, uid, -1) < 0)
+ warn("Couldn't change owner of pty slave: %m");
+ if (chmod(pty_name, S_IRUSR | S_IWUSR) < 0)
+ warn("Couldn't change permissions on pty slave: %m");
+ if (unlockpt(mfd) < 0)
+ warn("Couldn't unlock pty slave: %m");
+
+ sfd = open(pty_name, O_RDWR);
+ if (sfd < 0) {
+ error("Couldn't open pty slave %s: %m", pty_name);
+ close(mfd);
+ return 0;
+ }
+ if (ioctl(sfd, I_PUSH, "ptem") < 0)
+ warn("Couldn't push ptem module on pty slave: %m");
+
+ dbglog("Using %s", pty_name);
+ strlcpy(slave_name, pty_name, MAXPATHLEN);
+ *master_fdp = mfd;
+ *slave_fdp = sfd;
+
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/sys-sunos4.c b/mdk-stage1/ppp/pppd/sys-sunos4.c
new file mode 100644
index 000000000..b7d6bab47
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/sys-sunos4.c
@@ -0,0 +1,1559 @@
+/*
+ * System-dependent procedures for pppd under SunOS 4.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ */
+
+#define RCSID "$Id: sys-sunos4.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <termios.h>
+#include <signal.h>
+#include <malloc.h>
+#include <utmp.h>
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/poll.h>
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/nit_if.h>
+#include <net/route.h>
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include <netinet/in.h>
+
+#include "pppd.h"
+
+#if defined(sun) && defined(sparc)
+#include <alloca.h>
+#ifndef __GNUC__
+extern void *alloca();
+#endif
+#endif /*sparc*/
+
+static const char rcsid[] = RCSID;
+
+static int pppfd;
+static int fdmuxid = -1;
+static int iffd;
+static int sockfd;
+
+static int restore_term;
+static struct termios inittermios;
+static struct winsize wsinfo; /* Initial window size info */
+static pid_t parent_pid; /* PID of our parent */
+
+extern u_char inpacket_buf[]; /* borrowed from main.c */
+
+#define MAX_POLLFDS 32
+static struct pollfd pollfds[MAX_POLLFDS];
+static int n_pollfds;
+
+static int link_mtu, link_mru;
+
+#define NMODULES 32
+static int tty_nmodules;
+static char tty_modules[NMODULES][FMNAMESZ+1];
+
+static int if_is_up; /* Interface has been marked up */
+static u_int32_t ifaddrs[2]; /* local and remote addresses */
+static u_int32_t default_route_gateway; /* Gateway for default route added */
+static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+
+/* Prototypes for procedures local to this file. */
+static int translate_speed __P((int));
+static int baud_rate_of __P((int));
+static int get_ether_addr __P((u_int32_t, struct sockaddr *));
+static int strioctl __P((int, int, void *, int, int));
+
+
+/*
+ * sys_init - System-dependent initialization.
+ */
+void
+sys_init()
+{
+ int x;
+
+ /* Get an internet socket for doing socket ioctl's on. */
+ if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
+ fatal("Couldn't create IP socket: %m");
+
+ /*
+ * We may want to send a SIGHUP to the session leader associated
+ * with our controlling terminal later. Because SunOS doesn't
+ * have getsid(), we make do with sending the signal to our
+ * parent process.
+ */
+ parent_pid = getppid();
+
+ /*
+ * Open the ppp device.
+ */
+ pppfd = open("/dev/ppp", O_RDWR | O_NONBLOCK, 0);
+ if (pppfd < 0)
+ fatal("Can't open /dev/ppp: %m");
+ if (kdebugflag) {
+ x = PPPDBG_LOG + PPPDBG_DRIVER;
+ strioctl(pppfd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+
+ /* Assign a new PPA and get its unit number. */
+ if (strioctl(pppfd, PPPIO_NEWPPA, &ifunit, 0, sizeof(int)) < 0)
+ fatal("Can't create new PPP interface: %m");
+
+ /*
+ * Open the ppp device again and push the if_ppp module on it.
+ */
+ iffd = open("/dev/ppp", O_RDWR, 0);
+ if (iffd < 0)
+ fatal("Can't open /dev/ppp (2): %m");
+ if (kdebugflag) {
+ x = PPPDBG_LOG + PPPDBG_DRIVER;
+ strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+ if (strioctl(iffd, PPPIO_ATTACH, &ifunit, sizeof(int), 0) < 0)
+ fatal("Couldn't attach ppp interface to device: %m");
+ if (ioctl(iffd, I_PUSH, "if_ppp") < 0)
+ fatal("Can't push ppp interface module: %m");
+ if (kdebugflag) {
+ x = PPPDBG_LOG + PPPDBG_IF;
+ strioctl(iffd, PPPIO_DEBUG, &x, sizeof(int), 0);
+ }
+ if (strioctl(iffd, PPPIO_NEWPPA, &ifunit, sizeof(int), 0) < 0)
+ fatal("Couldn't create ppp interface unit: %m");
+ x = PPP_IP;
+ if (strioctl(iffd, PPPIO_BIND, &x, sizeof(int), 0) < 0)
+ fatal("Couldn't bind ppp interface to IP SAP: %m");
+
+ n_pollfds = 0;
+}
+
+/*
+ * sys_cleanup - restore any system state we modified before exiting:
+ * mark the interface down, delete default route and/or proxy arp entry.
+ * This shouldn't call die() because it's called from die().
+ */
+void
+sys_cleanup()
+{
+ if (if_is_up)
+ sifdown(0);
+ if (ifaddrs[0])
+ cifaddr(0, ifaddrs[0], ifaddrs[1]);
+ if (default_route_gateway)
+ cifdefaultroute(0, 0, default_route_gateway);
+ if (proxy_arp_addr)
+ cifproxyarp(0, proxy_arp_addr);
+}
+
+/*
+ * sys_close - Clean up in a child process before execing.
+ */
+void
+sys_close()
+{
+ close(iffd);
+ close(pppfd);
+ close(sockfd);
+}
+
+/*
+ * sys_check_options - check the options that the user specified
+ */
+int
+sys_check_options()
+{
+ return 1;
+}
+
+#if 0
+/*
+ * daemon - Detach us from controlling terminal session.
+ */
+int
+daemon(nochdir, noclose)
+ int nochdir, noclose;
+{
+ int pid;
+
+ if ((pid = fork()) < 0)
+ return -1;
+ if (pid != 0)
+ exit(0); /* parent dies */
+ setsid();
+ if (!nochdir)
+ chdir("/");
+ if (!noclose) {
+ fclose(stdin); /* don't need stdin, stdout, stderr */
+ fclose(stdout);
+ fclose(stderr);
+ }
+ return 0;
+}
+#endif
+
+/*
+ * ppp_available - check whether the system has any ppp interfaces
+ */
+int
+ppp_available()
+{
+ struct stat buf;
+
+ return stat("/dev/ppp", &buf) >= 0;
+}
+
+/*
+ * tty_establish_ppp - Turn the serial port into a ppp interface.
+ */
+int
+tty_establish_ppp(fd)
+ int fd;
+{
+ int i;
+
+ /* Pop any existing modules off the tty stream. */
+ for (i = 0;; ++i)
+ if (ioctl(fd, I_LOOK, tty_modules[i]) < 0
+ || ioctl(fd, I_POP, 0) < 0)
+ break;
+ tty_nmodules = i;
+
+ /* Push the async hdlc module and the compressor module. */
+ if (ioctl(fd, I_PUSH, "ppp_ahdl") < 0)
+ fatal("Couldn't push PPP Async HDLC module: %m");
+ if (ioctl(fd, I_PUSH, "ppp_comp") < 0)
+ error("Couldn't push PPP compression module: %m");
+
+ /* Link the serial port under the PPP multiplexor. */
+ if ((fdmuxid = ioctl(pppfd, I_LINK, fd)) < 0)
+ fatal("Can't link tty to PPP mux: %m");
+
+ return pppfd;
+}
+
+/*
+ * disestablish_ppp - Restore the serial port to normal operation.
+ * It attempts to reconstruct the stream with the previously popped
+ * modules. This shouldn't call die() because it's called from die().
+ */
+void
+tty_disestablish_ppp(fd)
+ int fd;
+{
+ int i;
+
+ if (fdmuxid >= 0) {
+ if (ioctl(pppfd, I_UNLINK, fdmuxid) < 0) {
+ if (!hungup)
+ error("Can't unlink tty from PPP mux: %m");
+ }
+ fdmuxid = -1;
+
+ if (!hungup) {
+ while (ioctl(fd, I_POP, 0) >= 0)
+ ;
+ for (i = tty_nmodules - 1; i >= 0; --i)
+ if (ioctl(fd, I_PUSH, tty_modules[i]) < 0)
+ error("Couldn't restore tty module %s: %m",
+ tty_modules[i]);
+ }
+ if (hungup && default_device && parent_pid > 0) {
+ /*
+ * If we have received a hangup, we need to send a SIGHUP
+ * to the terminal's controlling process. The reason is
+ * that the original stream head for the terminal hasn't
+ * seen the M_HANGUP message (it went up through the ppp
+ * driver to the stream head for our fd to /dev/ppp).
+ * Actually we send the signal to the process that invoked
+ * pppd, since SunOS doesn't have getsid().
+ */
+ kill(parent_pid, SIGHUP);
+ }
+ }
+}
+
+/*
+ * Check whether the link seems not to be 8-bit clean.
+ */
+void
+clean_check()
+{
+ int x;
+ char *s;
+
+ if (strioctl(pppfd, PPPIO_GCLEAN, &x, 0, sizeof(x)) < 0)
+ return;
+ s = NULL;
+ switch (~x) {
+ case RCV_B7_0:
+ s = "bit 7 set to 1";
+ break;
+ case RCV_B7_1:
+ s = "bit 7 set to 0";
+ break;
+ case RCV_EVNP:
+ s = "odd parity";
+ break;
+ case RCV_ODDP:
+ s = "even parity";
+ break;
+ }
+ if (s != NULL) {
+ warn("Serial link is not 8-bit clean:");
+ warn("All received characters had %s", s);
+ }
+}
+
+/*
+ * List of valid speeds.
+ */
+struct speed {
+ int speed_int, speed_val;
+} speeds[] = {
+#ifdef B50
+ { 50, B50 },
+#endif
+#ifdef B75
+ { 75, B75 },
+#endif
+#ifdef B110
+ { 110, B110 },
+#endif
+#ifdef B134
+ { 134, B134 },
+#endif
+#ifdef B150
+ { 150, B150 },
+#endif
+#ifdef B200
+ { 200, B200 },
+#endif
+#ifdef B300
+ { 300, B300 },
+#endif
+#ifdef B600
+ { 600, B600 },
+#endif
+#ifdef B1200
+ { 1200, B1200 },
+#endif
+#ifdef B1800
+ { 1800, B1800 },
+#endif
+#ifdef B2000
+ { 2000, B2000 },
+#endif
+#ifdef B2400
+ { 2400, B2400 },
+#endif
+#ifdef B3600
+ { 3600, B3600 },
+#endif
+#ifdef B4800
+ { 4800, B4800 },
+#endif
+#ifdef B7200
+ { 7200, B7200 },
+#endif
+#ifdef B9600
+ { 9600, B9600 },
+#endif
+#ifdef B19200
+ { 19200, B19200 },
+#endif
+#ifdef B38400
+ { 38400, B38400 },
+#endif
+#ifdef EXTA
+ { 19200, EXTA },
+#endif
+#ifdef EXTB
+ { 38400, EXTB },
+#endif
+#ifdef B57600
+ { 57600, B57600 },
+#endif
+#ifdef B115200
+ { 115200, B115200 },
+#endif
+ { 0, 0 }
+};
+
+/*
+ * Translate from bits/second to a speed_t.
+ */
+static int
+translate_speed(bps)
+ int bps;
+{
+ struct speed *speedp;
+
+ if (bps == 0)
+ return 0;
+ for (speedp = speeds; speedp->speed_int; speedp++)
+ if (bps == speedp->speed_int)
+ return speedp->speed_val;
+ warn("speed %d not supported", bps);
+ return 0;
+}
+
+/*
+ * Translate from a speed_t to bits/second.
+ */
+static int
+baud_rate_of(speed)
+ int speed;
+{
+ struct speed *speedp;
+
+ if (speed == 0)
+ return 0;
+ for (speedp = speeds; speedp->speed_int; speedp++)
+ if (speed == speedp->speed_val)
+ return speedp->speed_int;
+ return 0;
+}
+
+/*
+ * set_up_tty: Set up the serial port on `fd' for 8 bits, no parity,
+ * at the requested speed, etc. If `local' is true, set CLOCAL
+ * regardless of whether the modem option was specified.
+ */
+void
+set_up_tty(fd, local)
+ int fd, local;
+{
+ int speed;
+ struct termios tios;
+
+ if (tcgetattr(fd, &tios) < 0)
+ fatal("tcgetattr: %m");
+
+ if (!restore_term) {
+ inittermios = tios;
+ ioctl(fd, TIOCGWINSZ, &wsinfo);
+ }
+
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
+ if (crtscts > 0)
+ tios.c_cflag |= CRTSCTS;
+ else if (crtscts < 0)
+ tios.c_cflag &= ~CRTSCTS;
+
+ tios.c_cflag |= CS8 | CREAD | HUPCL;
+ if (local || !modem)
+ tios.c_cflag |= CLOCAL;
+ tios.c_iflag = IGNBRK | IGNPAR;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ tios.c_cc[VMIN] = 1;
+ tios.c_cc[VTIME] = 0;
+
+ if (crtscts == -2) {
+ tios.c_iflag |= IXON | IXOFF;
+ tios.c_cc[VSTOP] = 0x13; /* DC3 = XOFF = ^S */
+ tios.c_cc[VSTART] = 0x11; /* DC1 = XON = ^Q */
+ }
+
+ speed = translate_speed(inspeed);
+ if (speed) {
+ cfsetospeed(&tios, speed);
+ cfsetispeed(&tios, speed);
+ } else {
+ speed = cfgetospeed(&tios);
+ /*
+ * We can't proceed if the serial port speed is 0,
+ * since that implies that the serial port is disabled.
+ */
+ if (speed == B0)
+ fatal("Baud rate for %s is 0; need explicit baud rate", devnam);
+ }
+
+ if (tcsetattr(fd, TCSAFLUSH, &tios) < 0)
+ fatal("tcsetattr: %m");
+
+ baud_rate = inspeed = baud_rate_of(speed);
+ restore_term = 1;
+}
+
+/*
+ * restore_tty - restore the terminal to the saved settings.
+ */
+void
+restore_tty(fd)
+ int fd;
+{
+ if (restore_term) {
+ if (!default_device) {
+ /*
+ * Turn off echoing, because otherwise we can get into
+ * a loop with the tty and the modem echoing to each other.
+ * We presume we are the sole user of this tty device, so
+ * when we close it, it will revert to its defaults anyway.
+ */
+ inittermios.c_lflag &= ~(ECHO | ECHONL);
+ }
+ if (tcsetattr(fd, TCSAFLUSH, &inittermios) < 0)
+ if (!hungup && errno != ENXIO)
+ warn("tcsetattr: %m");
+ ioctl(fd, TIOCSWINSZ, &wsinfo);
+ restore_term = 0;
+ }
+}
+
+/*
+ * setdtr - control the DTR line on the serial port.
+ * This is called from die(), so it shouldn't call die().
+ */
+void
+setdtr(fd, on)
+int fd, on;
+{
+ int modembits = TIOCM_DTR;
+
+ ioctl(fd, (on? TIOCMBIS: TIOCMBIC), &modembits);
+}
+
+/*
+ * open_loopback - open the device we use for getting packets
+ * in demand mode. Under SunOS, we use our existing fd
+ * to the ppp driver.
+ */
+int
+open_ppp_loopback()
+{
+ return pppfd;
+}
+
+/*
+ * output - Output PPP packet.
+ */
+void
+output(unit, p, len)
+ int unit;
+ u_char *p;
+ int len;
+{
+ struct strbuf data;
+ int retries;
+ struct pollfd pfd;
+
+ if (debug)
+ dbglog("sent %P", p, len);
+
+ data.len = len;
+ data.buf = (caddr_t) p;
+ retries = 4;
+ while (putmsg(pppfd, NULL, &data, 0) < 0) {
+ if (--retries < 0 || (errno != EWOULDBLOCK && errno != EAGAIN)) {
+ if (errno != ENXIO)
+ error("Couldn't send packet: %m");
+ break;
+ }
+ pfd.fd = pppfd;
+ pfd.events = POLLOUT;
+ poll(&pfd, 1, 250); /* wait for up to 0.25 seconds */
+ }
+}
+
+
+/*
+ * wait_input - wait until there is data available,
+ * for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+void
+wait_input(timo)
+ struct timeval *timo;
+{
+ int t;
+
+ t = timo == NULL? -1: timo->tv_sec * 1000 + timo->tv_usec / 1000;
+ if (poll(pollfds, n_pollfds, t) < 0 && errno != EINTR) {
+ if (errno != EAGAIN)
+ fatal("poll: %m");
+ /* we can get EAGAIN on a heavily loaded system,
+ * just wait a short time and try again. */
+ usleep(50000);
+ }
+}
+
+/*
+ * add_fd - add an fd to the set that wait_input waits for.
+ */
+void add_fd(fd)
+ int fd;
+{
+ int n;
+
+ for (n = 0; n < n_pollfds; ++n)
+ if (pollfds[n].fd == fd)
+ return;
+ if (n_pollfds < MAX_POLLFDS) {
+ pollfds[n_pollfds].fd = fd;
+ pollfds[n_pollfds].events = POLLIN | POLLPRI | POLLHUP;
+ ++n_pollfds;
+ } else
+ error("Too many inputs!");
+}
+
+/*
+ * remove_fd - remove an fd from the set that wait_input waits for.
+ */
+void remove_fd(fd)
+ int fd;
+{
+ int n;
+
+ for (n = 0; n < n_pollfds; ++n) {
+ if (pollfds[n].fd == fd) {
+ while (++n < n_pollfds)
+ pollfds[n-1] = pollfds[n];
+ --n_pollfds;
+ break;
+ }
+ }
+}
+
+#if 0
+/*
+ * wait_loop_output - wait until there is data available on the
+ * loopback, for the length of time specified by *timo (indefinite
+ * if timo is NULL).
+ */
+void
+wait_loop_output(timo)
+ struct timeval *timo;
+{
+ wait_input(timo);
+}
+
+/*
+ * wait_time - wait for a given length of time or until a
+ * signal is received.
+ */
+void
+wait_time(timo)
+ struct timeval *timo;
+{
+ int n;
+
+ n = select(0, NULL, NULL, NULL, timo);
+ if (n < 0 && errno != EINTR)
+ fatal("select: %m");
+}
+#endif
+
+/*
+ * read_packet - get a PPP packet from the serial device.
+ */
+int
+read_packet(buf)
+ u_char *buf;
+{
+ struct strbuf ctrl, data;
+ int flags, len;
+ unsigned char ctrlbuf[64];
+
+ for (;;) {
+ data.maxlen = PPP_MRU + PPP_HDRLEN;
+ data.buf = (caddr_t) buf;
+ ctrl.maxlen = sizeof(ctrlbuf);
+ ctrl.buf = (caddr_t) ctrlbuf;
+ flags = 0;
+ len = getmsg(pppfd, &ctrl, &data, &flags);
+ if (len < 0) {
+ if (errno == EAGAIN || errno == EINTR)
+ return -1;
+ fatal("Error reading packet: %m");
+ }
+
+ if (ctrl.len <= 0)
+ return data.len;
+
+ /*
+ * Got a M_PROTO or M_PCPROTO message. Huh?
+ */
+ if (debug)
+ dbglog("got ctrl msg len=%d", ctrl.len);
+
+ }
+}
+
+/*
+ * get_loop_output - get outgoing packets from the ppp device,
+ * and detect when we want to bring the real link up.
+ * Return value is 1 if we need to bring up the link, 0 otherwise.
+ */
+int
+get_loop_output()
+{
+ int len;
+ int rv = 0;
+
+ while ((len = read_packet(inpacket_buf)) > 0) {
+ if (loop_frame(inpacket_buf, len))
+ rv = 1;
+ }
+ return rv;
+}
+
+/*
+ * ppp_send_config - configure the transmit characteristics of
+ * the ppp interface.
+ */
+void
+ppp_send_config(unit, mtu, asyncmap, pcomp, accomp)
+ int unit, mtu;
+ u_int32_t asyncmap;
+ int pcomp, accomp;
+{
+ int cf[2];
+ struct ifreq ifr;
+
+ link_mtu = mtu;
+ if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) {
+ if (hungup && errno == ENXIO)
+ return;
+ error("Couldn't set MTU: %m");
+ }
+ if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
+ error("Couldn't set transmit ACCM: %m");
+ }
+ cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0);
+ cf[1] = COMP_PROT | COMP_AC;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ error("Couldn't set prot/AC compression: %m");
+ }
+
+ /* set mtu for ip as well */
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ ifr.ifr_metric = link_mtu;
+ if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
+ error("Couldn't set IP MTU: %m");
+ }
+}
+
+/*
+ * ppp_set_xaccm - set the extended transmit ACCM for the interface.
+ */
+void
+ppp_set_xaccm(unit, accm)
+ int unit;
+ ext_accm accm;
+{
+ if (strioctl(pppfd, PPPIO_XACCM, accm, sizeof(ext_accm), 0) < 0) {
+ if (!hungup || errno != ENXIO)
+ warn("Couldn't set extended ACCM: %m");
+ }
+}
+
+/*
+ * ppp_recv_config - configure the receive-side characteristics of
+ * the ppp interface.
+ */
+void
+ppp_recv_config(unit, mru, asyncmap, pcomp, accomp)
+ int unit, mru;
+ u_int32_t asyncmap;
+ int pcomp, accomp;
+{
+ int cf[2];
+
+ link_mru = mru;
+ if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) {
+ if (hungup && errno == ENXIO)
+ return;
+ error("Couldn't set MRU: %m");
+ }
+ if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) {
+ error("Couldn't set receive ACCM: %m");
+ }
+ cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0);
+ cf[1] = DECOMP_PROT | DECOMP_AC;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ error("Couldn't set prot/AC decompression: %m");
+ }
+}
+
+/*
+ * ccp_test - ask kernel whether a given compression method
+ * is acceptable for use.
+ */
+int
+ccp_test(unit, opt_ptr, opt_len, for_transmit)
+ int unit, opt_len, for_transmit;
+ u_char *opt_ptr;
+{
+ if (strioctl(pppfd, (for_transmit? PPPIO_XCOMP: PPPIO_RCOMP),
+ opt_ptr, opt_len, 0) >= 0)
+ return 1;
+ return (errno == ENOSR)? 0: -1;
+}
+
+/*
+ * ccp_flags_set - inform kernel about the current state of CCP.
+ */
+void
+ccp_flags_set(unit, isopen, isup)
+ int unit, isopen, isup;
+{
+ int cf[2];
+
+ cf[0] = (isopen? CCP_ISOPEN: 0) + (isup? CCP_ISUP: 0);
+ cf[1] = CCP_ISOPEN | CCP_ISUP | CCP_ERROR | CCP_FATALERROR;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (!hungup || errno != ENXIO)
+ error("Couldn't set kernel CCP state: %m");
+ }
+}
+
+/*
+ * get_idle_time - return how long the link has been idle.
+ */
+int
+get_idle_time(u, ip)
+ int u;
+ struct ppp_idle *ip;
+{
+ return strioctl(pppfd, PPPIO_GIDLE, ip, 0, sizeof(struct ppp_idle)) >= 0;
+}
+
+/*
+ * get_ppp_stats - return statistics for the link.
+ */
+int
+get_ppp_stats(u, stats)
+ int u;
+ struct pppd_stats *stats;
+{
+ struct ppp_stats s;
+
+ if (strioctl(pppfd, PPPIO_GETSTAT, &s, 0, sizeof(s)) < 0) {
+ error("Couldn't get link statistics: %m");
+ return 0;
+ }
+ stats->bytes_in = s.p.ppp_ibytes;
+ stats->bytes_out = s.p.ppp_obytes;
+ return 1;
+}
+
+
+/*
+ * ccp_fatal_error - returns 1 if decompression was disabled as a
+ * result of an error detected after decompression of a packet,
+ * 0 otherwise. This is necessary because of patent nonsense.
+ */
+int
+ccp_fatal_error(unit)
+ int unit;
+{
+ int cf[2];
+
+ cf[0] = cf[1] = 0;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (errno != ENXIO && errno != EINVAL)
+ error("Couldn't get compression flags: %m");
+ return 0;
+ }
+ return cf[0] & CCP_FATALERROR;
+}
+
+/*
+ * sifvjcomp - config tcp header compression
+ */
+int
+sifvjcomp(u, vjcomp, xcidcomp, xmaxcid)
+ int u, vjcomp, xcidcomp, xmaxcid;
+{
+ int cf[2];
+ char maxcid[2];
+
+ if (vjcomp) {
+ maxcid[0] = xcidcomp;
+ maxcid[1] = 15; /* XXX should be rmaxcid */
+ if (strioctl(pppfd, PPPIO_VJINIT, maxcid, sizeof(maxcid), 0) < 0) {
+ error("Couldn't initialize VJ compression: %m");
+ }
+ }
+
+ cf[0] = (vjcomp? COMP_VJC + DECOMP_VJC: 0) /* XXX this is wrong */
+ + (xcidcomp? COMP_VJCCID + DECOMP_VJCCID: 0);
+ cf[1] = COMP_VJC + DECOMP_VJC + COMP_VJCCID + DECOMP_VJCCID;
+ if (strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) {
+ if (vjcomp)
+ error("Couldn't enable VJ compression: %m");
+ }
+
+ return 1;
+}
+
+/*
+ * sifup - Config the interface up and enable IP packets to pass.
+ */
+int
+sifup(u)
+ int u;
+{
+ struct ifreq ifr;
+
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface up (get): %m");
+ return 0;
+ }
+ ifr.ifr_flags |= IFF_UP;
+ if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface up (set): %m");
+ return 0;
+ }
+ if_is_up = 1;
+ return 1;
+}
+
+/*
+ * sifdown - Config the interface down and disable IP.
+ */
+int
+sifdown(u)
+ int u;
+{
+ struct ifreq ifr;
+
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sockfd, SIOCGIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface down (get): %m");
+ return 0;
+ }
+ if ((ifr.ifr_flags & IFF_UP) != 0) {
+ ifr.ifr_flags &= ~IFF_UP;
+ if (ioctl(sockfd, SIOCSIFFLAGS, &ifr) < 0) {
+ error("Couldn't mark interface down (set): %m");
+ return 0;
+ }
+ }
+ if_is_up = 0;
+ return 1;
+}
+
+/*
+ * sifnpmode - Set the mode for handling packets for a given NP.
+ */
+int
+sifnpmode(u, proto, mode)
+ int u;
+ int proto;
+ enum NPmode mode;
+{
+ int npi[2];
+
+ npi[0] = proto;
+ npi[1] = (int) mode;
+ if (strioctl(pppfd, PPPIO_NPMODE, npi, 2 * sizeof(int), 0) < 0) {
+ error("ioctl(set NP %d mode to %d): %m", proto, mode);
+ return 0;
+ }
+ return 1;
+}
+
+#define INET_ADDR(x) (((struct sockaddr_in *) &(x))->sin_addr.s_addr)
+
+/*
+ * sifaddr - Config the interface IP addresses and netmask.
+ */
+int
+sifaddr(u, o, h, m)
+ int u;
+ u_int32_t o, h, m;
+{
+ struct ifreq ifr;
+
+ memset(&ifr, 0, sizeof(ifr));
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ ifr.ifr_addr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_addr) = m;
+ if (ioctl(sockfd, SIOCSIFNETMASK, &ifr) < 0) {
+ error("Couldn't set IP netmask: %m");
+ }
+ ifr.ifr_addr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_addr) = o;
+ if (ioctl(sockfd, SIOCSIFADDR, &ifr) < 0) {
+ error("Couldn't set local IP address: %m");
+ }
+ ifr.ifr_dstaddr.sa_family = AF_INET;
+ INET_ADDR(ifr.ifr_dstaddr) = h;
+ if (ioctl(sockfd, SIOCSIFDSTADDR, &ifr) < 0) {
+ error("Couldn't set remote IP address: %m");
+ }
+#if 0 /* now done in ppp_send_config */
+ ifr.ifr_metric = link_mtu;
+ if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
+ error("Couldn't set IP MTU: %m");
+ }
+#endif
+ ifaddrs[0] = o;
+ ifaddrs[1] = h;
+
+ return 1;
+}
+
+/*
+ * cifaddr - Clear the interface IP addresses, and delete routes
+ * through the interface if possible.
+ */
+int
+cifaddr(u, o, h)
+ int u;
+ u_int32_t o, h;
+{
+ struct rtentry rt;
+
+ bzero(&rt, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = h;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = o;
+ rt.rt_flags = RTF_HOST;
+ if (ioctl(sockfd, SIOCDELRT, &rt) < 0)
+ error("Couldn't delete route through interface: %m");
+ ifaddrs[0] = 0;
+ return 1;
+}
+
+/*
+ * sifdefaultroute - assign a default route through the address given.
+ */
+int
+sifdefaultroute(u, l, g)
+ int u;
+ u_int32_t l, g;
+{
+ struct rtentry rt;
+
+ bzero(&rt, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = 0;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = g;
+ rt.rt_flags = RTF_GATEWAY;
+
+ if (ioctl(sockfd, SIOCADDRT, &rt) < 0) {
+ error("Can't add default route: %m");
+ return 0;
+ }
+
+ default_route_gateway = g;
+ return 1;
+}
+
+/*
+ * cifdefaultroute - delete a default route through the address given.
+ */
+int
+cifdefaultroute(u, l, g)
+ int u;
+ u_int32_t l, g;
+{
+ struct rtentry rt;
+
+ bzero(&rt, sizeof(rt));
+ rt.rt_dst.sa_family = AF_INET;
+ INET_ADDR(rt.rt_dst) = 0;
+ rt.rt_gateway.sa_family = AF_INET;
+ INET_ADDR(rt.rt_gateway) = g;
+ rt.rt_flags = RTF_GATEWAY;
+
+ if (ioctl(sockfd, SIOCDELRT, &rt) < 0) {
+ error("Can't delete default route: %m");
+ return 0;
+ }
+
+ default_route_gateway = 0;
+ return 1;
+}
+
+/*
+ * sifproxyarp - Make a proxy ARP entry for the peer.
+ */
+int
+sifproxyarp(unit, hisaddr)
+ int unit;
+ u_int32_t hisaddr;
+{
+ struct arpreq arpreq;
+
+ bzero(&arpreq, sizeof(arpreq));
+ if (!get_ether_addr(hisaddr, &arpreq.arp_ha))
+ return 0;
+
+ arpreq.arp_pa.sa_family = AF_INET;
+ INET_ADDR(arpreq.arp_pa) = hisaddr;
+ arpreq.arp_flags = ATF_PERM | ATF_PUBL;
+ if (ioctl(sockfd, SIOCSARP, (caddr_t) &arpreq) < 0) {
+ error("Couldn't set proxy ARP entry: %m");
+ return 0;
+ }
+
+ proxy_arp_addr = hisaddr;
+ return 1;
+}
+
+/*
+ * cifproxyarp - Delete the proxy ARP entry for the peer.
+ */
+int
+cifproxyarp(unit, hisaddr)
+ int unit;
+ u_int32_t hisaddr;
+{
+ struct arpreq arpreq;
+
+ bzero(&arpreq, sizeof(arpreq));
+ arpreq.arp_pa.sa_family = AF_INET;
+ INET_ADDR(arpreq.arp_pa) = hisaddr;
+ if (ioctl(sockfd, SIOCDARP, (caddr_t)&arpreq) < 0) {
+ error("Couldn't delete proxy ARP entry: %m");
+ return 0;
+ }
+
+ proxy_arp_addr = 0;
+ return 1;
+}
+
+/*
+ * get_ether_addr - get the hardware address of an interface on the
+ * the same subnet as ipaddr.
+ */
+#define MAX_IFS 32
+
+static int
+get_ether_addr(ipaddr, hwaddr)
+ u_int32_t ipaddr;
+ struct sockaddr *hwaddr;
+{
+ struct ifreq *ifr, *ifend;
+ u_int32_t ina, mask;
+ struct ifreq ifreq;
+ struct ifconf ifc;
+ struct ifreq ifs[MAX_IFS];
+ int nit_fd;
+
+ ifc.ifc_len = sizeof(ifs);
+ ifc.ifc_req = ifs;
+ if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
+ error("ioctl(SIOCGIFCONF): %m");
+ return 0;
+ }
+
+ /*
+ * Scan through looking for an interface with an Internet
+ * address on the same subnet as `ipaddr'.
+ */
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ifr = (struct ifreq *)
+ ((char *)&ifr->ifr_addr + sizeof(struct sockaddr))) {
+ if (ifr->ifr_addr.sa_family == AF_INET) {
+
+ /*
+ * Check that the interface is up, and not point-to-point
+ * or loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+ if ((ifreq.ifr_flags &
+ (IFF_UP|IFF_BROADCAST|IFF_POINTOPOINT|IFF_LOOPBACK|IFF_NOARP))
+ != (IFF_UP|IFF_BROADCAST))
+ continue;
+
+ /*
+ * Get its netmask and check that it's on the right subnet.
+ */
+ if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ ina = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr.s_addr;
+ mask = ((struct sockaddr_in *) &ifreq.ifr_addr)->sin_addr.s_addr;
+ if ((ipaddr & mask) != (ina & mask))
+ continue;
+
+ break;
+ }
+ }
+
+ if (ifr >= ifend)
+ return 0;
+ info("found interface %s for proxy arp", ifr->ifr_name);
+
+ /*
+ * Grab the physical address for this interface.
+ */
+ if ((nit_fd = open("/dev/nit", O_RDONLY)) < 0) {
+ error("Couldn't open /dev/nit: %m");
+ return 0;
+ }
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(nit_fd, NIOCBIND, &ifreq) < 0
+ || ioctl(nit_fd, SIOCGIFADDR, &ifreq) < 0) {
+ error("Couldn't get hardware address for %s: %m",
+ ifreq.ifr_name);
+ close(nit_fd);
+ return 0;
+ }
+
+ hwaddr->sa_family = AF_UNSPEC;
+ memcpy(hwaddr->sa_data, ifreq.ifr_addr.sa_data, 6);
+ close(nit_fd);
+ return 1;
+}
+
+/*
+ * have_route_to - determine if the system has any route to
+ * a given IP address.
+ * For demand mode to work properly, we have to ignore routes
+ * through our own interface.
+ */
+int have_route_to(addr)
+ u_int32_t addr;
+{
+ return -1;
+}
+
+#define WTMPFILE "/usr/adm/wtmp"
+
+void
+logwtmp(line, name, host)
+ const char *line, *name, *host;
+{
+ int fd;
+ struct stat buf;
+ struct utmp ut;
+
+ if ((fd = open(WTMPFILE, O_WRONLY|O_APPEND, 0)) < 0)
+ return;
+ if (!fstat(fd, &buf)) {
+ strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+ strncpy(ut.ut_name, name, sizeof(ut.ut_name));
+ strncpy(ut.ut_host, host, sizeof(ut.ut_host));
+ (void)time(&ut.ut_time);
+ if (write(fd, (char *)&ut, sizeof(struct utmp)) != sizeof(struct utmp))
+ (void)ftruncate(fd, buf.st_size);
+ }
+ close(fd);
+}
+
+/*
+ * Return user specified netmask, modified by any mask we might determine
+ * for address `addr' (in network byte order).
+ * Here we scan through the system's list of interfaces, looking for
+ * any non-point-to-point interfaces which might appear to be on the same
+ * network as `addr'. If we find any, we OR in their netmask to the
+ * user-specified netmask.
+ */
+u_int32_t
+GetMask(addr)
+ u_int32_t addr;
+{
+ u_int32_t mask, nmask, ina;
+ struct ifreq *ifr, *ifend, ifreq;
+ struct ifconf ifc;
+
+ addr = ntohl(addr);
+ if (IN_CLASSA(addr)) /* determine network mask for address class */
+ nmask = IN_CLASSA_NET;
+ else if (IN_CLASSB(addr))
+ nmask = IN_CLASSB_NET;
+ else
+ nmask = IN_CLASSC_NET;
+ /* class D nets are disallowed by bad_ip_adrs */
+ mask = netmask | htonl(nmask);
+
+ /*
+ * Scan through the system's network interfaces.
+ */
+ ifc.ifc_len = MAX_IFS * sizeof(struct ifreq);
+ ifc.ifc_req = alloca(ifc.ifc_len);
+ if (ifc.ifc_req == 0)
+ return mask;
+ if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0) {
+ warn("Couldn't get system interface list: %m");
+ return mask;
+ }
+ ifend = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len);
+ for (ifr = ifc.ifc_req; ifr < ifend; ++ifr) {
+ /*
+ * Check the interface's internet address.
+ */
+ if (ifr->ifr_addr.sa_family != AF_INET)
+ continue;
+ ina = INET_ADDR(ifr->ifr_addr);
+ if ((ntohl(ina) & nmask) != (addr & nmask))
+ continue;
+ /*
+ * Check that the interface is up, and not point-to-point or loopback.
+ */
+ strlcpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+ if (ioctl(sockfd, SIOCGIFFLAGS, &ifreq) < 0)
+ continue;
+ if ((ifreq.ifr_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK))
+ != IFF_UP)
+ continue;
+ /*
+ * Get its netmask and OR it into our mask.
+ */
+ if (ioctl(sockfd, SIOCGIFNETMASK, &ifreq) < 0)
+ continue;
+ mask |= INET_ADDR(ifreq.ifr_addr);
+ }
+
+ return mask;
+}
+
+static int
+strioctl(fd, cmd, ptr, ilen, olen)
+ int fd, cmd, ilen, olen;
+ void *ptr;
+{
+ struct strioctl str;
+
+ str.ic_cmd = cmd;
+ str.ic_timout = 0;
+ str.ic_len = ilen;
+ str.ic_dp = ptr;
+ if (ioctl(fd, I_STR, &str) == -1)
+ return -1;
+ if (str.ic_len != olen)
+ dbglog("strioctl: expected %d bytes, got %d for cmd %x\n",
+ olen, str.ic_len, cmd);
+ return 0;
+}
+
+/*
+ * Use the hostid as part of the random number seed.
+ */
+int
+get_host_seed()
+{
+ return gethostid();
+}
+
+#if 0
+/*
+ * Code for locking/unlocking the serial device.
+ * This code is derived from chat.c.
+ */
+
+#if !defined(HDB) && !defined(SUNOS3)
+#define HDB 1 /* ascii lock files are the default */
+#endif
+
+#ifndef LOCK_DIR
+# if HDB
+# define PIDSTRING
+# define LOCK_PREFIX "/usr/spool/locks/LCK.."
+# else /* HDB */
+# define LOCK_PREFIX "/usr/spool/uucp/LCK.."
+# endif /* HDB */
+#endif /* LOCK_DIR */
+
+static char *lock_file; /* name of lock file created */
+
+/*
+ * lock - create a lock file for the named device.
+ */
+int
+lock(dev)
+ char *dev;
+{
+ char hdb_lock_buffer[12];
+ int fd, pid, n;
+ char *p;
+ size_t l;
+
+ if ((p = strrchr(dev, '/')) != NULL)
+ dev = p + 1;
+ l = strlen(LOCK_PREFIX) + strlen(dev) + 1;
+ lock_file = malloc(l);
+ if (lock_file == NULL)
+ novm("lock file name");
+ slprintf(lock_file, l, "%s%s", LOCK_PREFIX, dev);
+
+ while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
+ if (errno == EEXIST
+ && (fd = open(lock_file, O_RDONLY, 0)) >= 0) {
+ /* Read the lock file to find out who has the device locked */
+#ifdef PIDSTRING
+ n = read(fd, hdb_lock_buffer, 11);
+ if (n > 0) {
+ hdb_lock_buffer[n] = 0;
+ pid = atoi(hdb_lock_buffer);
+ }
+#else
+ n = read(fd, &pid, sizeof(pid));
+#endif
+ if (n <= 0) {
+ error("Can't read pid from lock file %s", lock_file);
+ close(fd);
+ } else {
+ if (kill(pid, 0) == -1 && errno == ESRCH) {
+ /* pid no longer exists - remove the lock file */
+ if (unlink(lock_file) == 0) {
+ close(fd);
+ notice("Removed stale lock on %s (pid %d)",
+ dev, pid);
+ continue;
+ } else
+ warn("Couldn't remove stale lock on %s",
+ dev);
+ } else
+ notice("Device %s is locked by pid %d",
+ dev, pid);
+ }
+ close(fd);
+ } else
+ error("Can't create lock file %s: %m", lock_file);
+ free(lock_file);
+ lock_file = NULL;
+ return -1;
+ }
+
+#ifdef PIDSTRING
+ slprintf(hdb_lock_buffer, sizeof(hdb_lock_buffer), "%10d\n", getpid());
+ write(fd, hdb_lock_buffer, 11);
+#else
+ pid = getpid();
+ write(fd, &pid, sizeof pid);
+#endif
+
+ close(fd);
+ return 0;
+}
+
+/*
+ * unlock - remove our lockfile
+ */
+void
+unlock()
+{
+ if (lock_file) {
+ unlink(lock_file);
+ free(lock_file);
+ lock_file = NULL;
+ }
+}
+#endif /* lock stuff removed */
+
+/*
+ * get_pty - get a pty master/slave pair and chown the slave side
+ * to the uid given. Assumes slave_name points to >= 12 bytes of space.
+ */
+int
+get_pty(master_fdp, slave_fdp, slave_name, uid)
+ int *master_fdp;
+ int *slave_fdp;
+ char *slave_name;
+ int uid;
+{
+ int i, mfd, sfd;
+ char pty_name[12];
+ struct termios tios;
+
+ sfd = -1;
+ for (i = 0; i < 64; ++i) {
+ slprintf(pty_name, sizeof(pty_name), "/dev/pty%c%x",
+ 'p' + i / 16, i % 16);
+ mfd = open(pty_name, O_RDWR, 0);
+ if (mfd >= 0) {
+ pty_name[5] = 't';
+ sfd = open(pty_name, O_RDWR | O_NOCTTY, 0);
+ if (sfd >= 0)
+ break;
+ close(mfd);
+ }
+ }
+ if (sfd < 0)
+ return 0;
+
+ strlcpy(slave_name, pty_name, 12);
+ *master_fdp = mfd;
+ *slave_fdp = sfd;
+ fchown(sfd, uid, -1);
+ fchmod(sfd, S_IRUSR | S_IWUSR);
+ if (tcgetattr(sfd, &tios) == 0) {
+ tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB);
+ tios.c_cflag |= CS8 | CREAD;
+ tios.c_iflag = IGNPAR | CLOCAL;
+ tios.c_oflag = 0;
+ tios.c_lflag = 0;
+ if (tcsetattr(sfd, TCSAFLUSH, &tios) < 0)
+ warn("couldn't set attributes on pty: %m");
+ } else
+ warn("couldn't get attributes on pty: %m");
+
+ return 1;
+}
+
+/*
+ * SunOS doesn't have strtoul :-(
+ */
+unsigned long
+strtoul(str, ptr, base)
+ char *str, **ptr;
+ int base;
+{
+ return (unsigned long) strtol(str, ptr, base);
+}
+
+/*
+ * Or strerror :-(
+ */
+extern char *sys_errlist[];
+extern int sys_nerr;
+
+char *
+strerror(n)
+ int n;
+{
+ static char unknown[32];
+
+ if (n > 0 && n < sys_nerr)
+ return sys_errlist[n];
+ slprintf(unknown, sizeof(unknown), "Error %d", n);
+ return unknown;
+}
diff --git a/mdk-stage1/ppp/pppd/tdb.c b/mdk-stage1/ppp/pppd/tdb.c
new file mode 100644
index 000000000..7fd58291e
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/tdb.c
@@ -0,0 +1,1282 @@
+/*
+ * Database functions
+ * Copyright (C) Andrew Tridgell 1999
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms AND provided that this software or
+ * any derived work is only used as part of the PPP daemon (pppd)
+ * and related utilities.
+ * The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Note: this software is also available under the Gnu Public License
+ * version 2 or later.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include "tdb.h"
+
+#define TDB_VERSION (0x26011967 + 1)
+#define TDB_MAGIC (0x26011999U)
+#define TDB_FREE_MAGIC (~TDB_MAGIC)
+#define TDB_ALIGN 4
+#define MIN_REC_SIZE (2*sizeof(struct list_struct) + TDB_ALIGN)
+#define DEFAULT_HASH_SIZE 128
+#define TDB_PAGE_SIZE 0x2000
+#define TDB_LEN_MULTIPLIER 10
+#define FREELIST_TOP (sizeof(struct tdb_header))
+
+#define LOCK_SET 1
+#define LOCK_CLEAR 0
+
+/* lock offsets */
+#define GLOBAL_LOCK 0
+#define ACTIVE_LOCK 4
+#define LIST_LOCK_BASE 1024
+
+#define BUCKET(hash) ((hash) % tdb->header.hash_size)
+
+#ifndef MAP_FILE
+#define MAP_FILE 0
+#endif
+
+/* the body of the database is made of one list_struct for the free space
+ plus a separate data list for each hash value */
+struct list_struct {
+ tdb_len rec_len; /* total byte length of record */
+ tdb_off next; /* offset of the next record in the list */
+ tdb_len key_len; /* byte length of key */
+ tdb_len data_len; /* byte length of data */
+ unsigned full_hash; /* the full 32 bit hash of the key */
+ unsigned magic; /* try to catch errors */
+ /*
+ the following union is implied
+ union {
+ char record[rec_len];
+ struct {
+ char key[key_len];
+ char data[data_len];
+ }
+ }
+ */
+};
+
+/* a null data record - useful for error returns */
+static TDB_DATA null_data;
+
+/* a byte range locking function - return 0 on success
+ this functions locks/unlocks 1 byte at the specified offset */
+static int tdb_brlock(TDB_CONTEXT *tdb, tdb_off offset,
+ int set, int rw_type, int lck_type)
+{
+#if NOLOCK
+ return 0;
+#else
+ struct flock fl;
+
+ if (tdb->fd == -1) return 0; /* for in memory tdb */
+
+ if (tdb->read_only) return -1;
+
+ fl.l_type = set==LOCK_SET?rw_type:F_UNLCK;
+ fl.l_whence = SEEK_SET;
+ fl.l_start = offset;
+ fl.l_len = 1;
+ fl.l_pid = 0;
+
+ if (fcntl(tdb->fd, lck_type, &fl) != 0) {
+#if TDB_DEBUG
+ if (lck_type == F_SETLKW) {
+ printf("lock %d failed at %d (%s)\n",
+ set, offset, strerror(errno));
+ }
+#endif
+ tdb->ecode = TDB_ERR_LOCK;
+ return -1;
+ }
+ return 0;
+#endif
+}
+
+/* lock a list in the database. list -1 is the alloc list */
+static int tdb_lock(TDB_CONTEXT *tdb, int list)
+{
+ if (list < -1 || list >= (int)tdb->header.hash_size) {
+#if TDB_DEBUG
+ printf("bad list %d\n", list);
+#endif
+ return -1;
+ }
+ if (tdb->locked[list+1] == 0) {
+ if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_SET,
+ F_WRLCK, F_SETLKW) != 0) {
+ return -1;
+ }
+ }
+ tdb->locked[list+1]++;
+ return 0;
+}
+
+/* unlock the database. */
+static int tdb_unlock(TDB_CONTEXT *tdb, int list)
+{
+ if (list < -1 || list >= (int)tdb->header.hash_size) {
+#if TDB_DEBUG
+ printf("bad unlock list %d\n", list);
+#endif
+ return -1;
+ }
+
+ if (tdb->locked[list+1] == 0) {
+#if TDB_DEBUG
+ printf("not locked %d\n", list);
+#endif
+ tdb->ecode = TDB_ERR_LOCK;
+ return -1;
+ }
+ if (tdb->locked[list+1] == 1) {
+ if (tdb_brlock(tdb, LIST_LOCK_BASE + 4*list, LOCK_CLEAR,
+ F_WRLCK, F_SETLKW) != 0) {
+ return -1;
+ }
+ }
+ tdb->locked[list+1]--;
+ return 0;
+}
+
+/* the hash algorithm - turn a key into an integer
+ This is based on the hash agorithm from gdbm */
+static unsigned tdb_hash(TDB_DATA *key)
+{
+ unsigned value; /* Used to compute the hash value. */
+ unsigned i; /* Used to cycle through random values. */
+
+ /* Set the initial value from the key size. */
+ value = 0x238F13AF * key->dsize;
+ for (i=0; i < key->dsize; i++) {
+ value = (value + (key->dptr[i] << (i*5 % 24)));
+ }
+
+ value = (1103515243 * value + 12345);
+
+ return value;
+}
+
+/* find the top of the hash chain for an open database */
+static tdb_off tdb_hash_top(TDB_CONTEXT *tdb, unsigned hash)
+{
+ tdb_off ret;
+ hash = BUCKET(hash);
+ ret = FREELIST_TOP + (hash+1)*sizeof(tdb_off);
+ return ret;
+}
+
+
+/* check for an out of bounds access - if it is out of bounds then
+ see if the database has been expanded by someone else and expand
+ if necessary */
+static int tdb_oob(TDB_CONTEXT *tdb, tdb_off offset)
+{
+ struct stat st;
+ if ((offset <= tdb->map_size) || (tdb->fd == -1)) return 0;
+
+ fstat(tdb->fd, &st);
+ if (st.st_size <= (ssize_t)offset) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ }
+
+#if HAVE_MMAP
+ if (tdb->map_ptr) {
+ munmap(tdb->map_ptr, tdb->map_size);
+ tdb->map_ptr = NULL;
+ }
+#endif
+
+ tdb->map_size = st.st_size;
+#if HAVE_MMAP
+ tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
+ tdb->read_only?PROT_READ:PROT_READ|PROT_WRITE,
+ MAP_SHARED | MAP_FILE, tdb->fd, 0);
+#endif
+ return 0;
+}
+
+
+/* write a lump of data at a specified offset */
+static int tdb_write(TDB_CONTEXT *tdb, tdb_off offset, const char *buf, tdb_len len)
+{
+ if (tdb_oob(tdb, offset + len) != 0) {
+ /* oops - trying to write beyond the end of the database! */
+ return -1;
+ }
+
+ if (tdb->map_ptr) {
+ memcpy(offset + (char *)tdb->map_ptr, buf, len);
+ } else {
+ if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
+ write(tdb->fd, buf, len) != (ssize_t)len) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ }
+ }
+ return 0;
+}
+
+/* read a lump of data at a specified offset */
+static int tdb_read(TDB_CONTEXT *tdb, tdb_off offset, char *buf, tdb_len len)
+{
+ if (tdb_oob(tdb, offset + len) != 0) {
+ /* oops - trying to read beyond the end of the database! */
+ return -1;
+ }
+
+ if (tdb->map_ptr) {
+ memcpy(buf, offset + (char *)tdb->map_ptr, len);
+ } else {
+ if (lseek(tdb->fd, offset, SEEK_SET) != offset ||
+ read(tdb->fd, buf, len) != (ssize_t)len) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ }
+ }
+ return 0;
+}
+
+
+/* read a lump of data, allocating the space for it */
+static char *tdb_alloc_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_len len)
+{
+ char *buf;
+
+ buf = (char *)malloc(len);
+
+ if (!buf) {
+ tdb->ecode = TDB_ERR_OOM;
+ return NULL;
+ }
+
+ if (tdb_read(tdb, offset, buf, len) == -1) {
+ free(buf);
+ return NULL;
+ }
+
+ return buf;
+}
+
+/* convenience routine for writing a record */
+static int rec_write(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
+{
+ return tdb_write(tdb, offset, (char *)rec, sizeof(*rec));
+}
+
+/* convenience routine for writing a tdb_off */
+static int ofs_write(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
+{
+ return tdb_write(tdb, offset, (char *)d, sizeof(*d));
+}
+
+/* read a tdb_off from the store */
+static int ofs_read(TDB_CONTEXT *tdb, tdb_off offset, tdb_off *d)
+{
+ return tdb_read(tdb, offset, (char *)d, sizeof(*d));
+}
+
+/* read a record and check for simple errors */
+static int rec_read(TDB_CONTEXT *tdb, tdb_off offset, struct list_struct *rec)
+{
+ if (tdb_read(tdb, offset, (char *)rec, sizeof(*rec)) == -1) return -1;
+ if (rec->magic != TDB_MAGIC) {
+#if TDB_DEBUG
+ printf("bad magic 0x%08x at offset %d\n",
+ rec->magic, offset);
+#endif
+ tdb->ecode = TDB_ERR_CORRUPT;
+ return -1;
+ }
+ if (tdb_oob(tdb, rec->next) != 0) {
+ return -1;
+ }
+ return 0;
+}
+
+/* expand the database at least length bytes by expanding the
+ underlying file and doing the mmap again if necessary */
+static int tdb_expand(TDB_CONTEXT *tdb, tdb_off length)
+{
+ struct list_struct rec;
+ tdb_off offset, ptr;
+ char b = 0;
+
+ tdb_lock(tdb,-1);
+
+ /* make sure we know about any previous expansions by another
+ process */
+ tdb_oob(tdb,tdb->map_size + 1);
+
+ /* always make room for at least 10 more records */
+ length *= TDB_LEN_MULTIPLIER;
+
+ /* and round the database up to a multiple of TDB_PAGE_SIZE */
+ length = ((tdb->map_size + length + TDB_PAGE_SIZE) & ~(TDB_PAGE_SIZE - 1)) - tdb->map_size;
+
+ /* expand the file itself */
+ if (tdb->fd != -1) {
+ lseek(tdb->fd, tdb->map_size + length - 1, SEEK_SET);
+ if (write(tdb->fd, &b, 1) != 1) goto fail;
+ }
+
+ /* form a new freelist record */
+ offset = FREELIST_TOP;
+ rec.rec_len = length - sizeof(rec);
+ rec.magic = TDB_FREE_MAGIC;
+ if (ofs_read(tdb, offset, &rec.next) == -1) {
+ goto fail;
+ }
+
+#if HAVE_MMAP
+ if (tdb->fd != -1 && tdb->map_ptr) {
+ munmap(tdb->map_ptr, tdb->map_size);
+ tdb->map_ptr = NULL;
+ }
+#endif
+
+ tdb->map_size += length;
+
+ if (tdb->fd == -1) {
+ tdb->map_ptr = realloc(tdb->map_ptr, tdb->map_size);
+ }
+
+ /* write it out */
+ if (rec_write(tdb, tdb->map_size - length, &rec) == -1) {
+ goto fail;
+ }
+
+ /* link it into the free list */
+ ptr = tdb->map_size - length;
+ if (ofs_write(tdb, offset, &ptr) == -1) goto fail;
+
+#if HAVE_MMAP
+ if (tdb->fd != -1) {
+ tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
+ PROT_READ|PROT_WRITE,
+ MAP_SHARED | MAP_FILE, tdb->fd, 0);
+ }
+#endif
+
+ tdb_unlock(tdb, -1);
+ return 0;
+
+ fail:
+ tdb_unlock(tdb,-1);
+ return -1;
+}
+
+/* allocate some space from the free list. The offset returned points
+ to a unconnected list_struct within the database with room for at
+ least length bytes of total data
+
+ 0 is returned if the space could not be allocated
+ */
+static tdb_off tdb_allocate(TDB_CONTEXT *tdb, tdb_len length)
+{
+ tdb_off offset, rec_ptr, last_ptr;
+ struct list_struct rec, lastrec, newrec;
+
+ tdb_lock(tdb, -1);
+
+ again:
+ last_ptr = 0;
+ offset = FREELIST_TOP;
+
+ /* read in the freelist top */
+ if (ofs_read(tdb, offset, &rec_ptr) == -1) {
+ goto fail;
+ }
+
+ /* keep looking until we find a freelist record that is big
+ enough */
+ while (rec_ptr) {
+ if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
+ goto fail;
+ }
+
+ if (rec.magic != TDB_FREE_MAGIC) {
+#if TDB_DEBUG
+ printf("bad magic 0x%08x in free list\n", rec.magic);
+#endif
+ goto fail;
+ }
+
+ if (rec.rec_len >= length) {
+ /* found it - now possibly split it up */
+ if (rec.rec_len > length + MIN_REC_SIZE) {
+ length = (length + TDB_ALIGN) & ~(TDB_ALIGN-1);
+
+ newrec.rec_len = rec.rec_len - (sizeof(rec) + length);
+ newrec.next = rec.next;
+ newrec.magic = TDB_FREE_MAGIC;
+
+ rec.rec_len = length;
+ rec.next = rec_ptr + sizeof(rec) + rec.rec_len;
+
+ if (rec_write(tdb, rec.next, &newrec) == -1) {
+ goto fail;
+ }
+
+ if (rec_write(tdb, rec_ptr, &rec) == -1) {
+ goto fail;
+ }
+ }
+
+ /* remove it from the list */
+ if (last_ptr == 0) {
+ offset = FREELIST_TOP;
+
+ if (ofs_write(tdb, offset, &rec.next) == -1) {
+ goto fail;
+ }
+ } else {
+ lastrec.next = rec.next;
+ if (rec_write(tdb, last_ptr, &lastrec) == -1) {
+ goto fail;
+ }
+ }
+
+ /* all done - return the new record offset */
+ tdb_unlock(tdb, -1);
+ return rec_ptr;
+ }
+
+ /* move to the next record */
+ lastrec = rec;
+ last_ptr = rec_ptr;
+ rec_ptr = rec.next;
+ }
+
+ /* we didn't find enough space. See if we can expand the
+ database and if we can then try again */
+ if (tdb_expand(tdb, length + sizeof(rec)) == 0) goto again;
+
+ fail:
+#if TDB_DEBUG
+ printf("tdb_allocate failed for size %u\n", length);
+#endif
+ tdb_unlock(tdb, -1);
+ return 0;
+}
+
+/* initialise a new database with a specified hash size */
+static int tdb_new_database(TDB_CONTEXT *tdb, int hash_size)
+{
+ struct tdb_header header;
+ tdb_off offset;
+ int i, size = 0;
+ tdb_off buf[16];
+
+ /* create the header */
+ memset(&header, 0, sizeof(header));
+ memcpy(header.magic_food, TDB_MAGIC_FOOD, strlen(TDB_MAGIC_FOOD)+1);
+ header.version = TDB_VERSION;
+ header.hash_size = hash_size;
+ lseek(tdb->fd, 0, SEEK_SET);
+ ftruncate(tdb->fd, 0);
+
+ if (tdb->fd != -1 && write(tdb->fd, &header, sizeof(header)) !=
+ sizeof(header)) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ } else size += sizeof(header);
+
+ /* the freelist and hash pointers */
+ offset = 0;
+ memset(buf, 0, sizeof(buf));
+
+ for (i=0;(hash_size+1)-i >= 16; i += 16) {
+ if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(buf)) !=
+ sizeof(buf)) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ } else size += sizeof(buf);
+ }
+
+ for (;i<hash_size+1; i++) {
+ if (tdb->fd != -1 && write(tdb->fd, buf, sizeof(tdb_off)) !=
+ sizeof(tdb_off)) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ } else size += sizeof(tdb_off);
+ }
+
+ if (tdb->fd == -1) {
+ tdb->map_ptr = calloc(size, 1);
+ tdb->map_size = size;
+ if (tdb->map_ptr == NULL) {
+ tdb->ecode = TDB_ERR_IO;
+ return -1;
+ }
+ memcpy(&tdb->header, &header, sizeof(header));
+ }
+
+#if TDB_DEBUG
+ printf("initialised database of hash_size %u\n",
+ hash_size);
+#endif
+ return 0;
+}
+
+/* Returns 0 on fail. On success, return offset of record, and fills
+ in rec */
+static tdb_off tdb_find(TDB_CONTEXT *tdb, TDB_DATA key, unsigned int hash,
+ struct list_struct *rec)
+{
+ tdb_off offset, rec_ptr;
+
+ /* find the top of the hash chain */
+ offset = tdb_hash_top(tdb, hash);
+
+ /* read in the hash top */
+ if (ofs_read(tdb, offset, &rec_ptr) == -1)
+ return 0;
+
+ /* keep looking until we find the right record */
+ while (rec_ptr) {
+ if (rec_read(tdb, rec_ptr, rec) == -1)
+ return 0;
+
+ if (hash == rec->full_hash && key.dsize == rec->key_len) {
+ char *k;
+ /* a very likely hit - read the key */
+ k = tdb_alloc_read(tdb, rec_ptr + sizeof(*rec),
+ rec->key_len);
+
+ if (!k)
+ return 0;
+
+ if (memcmp(key.dptr, k, key.dsize) == 0) {
+ free(k);
+ return rec_ptr;
+ }
+ free(k);
+ }
+
+ /* move to the next record */
+ rec_ptr = rec->next;
+ }
+ return 0;
+}
+
+/*
+ return an error string for the last tdb error
+*/
+char *tdb_error(TDB_CONTEXT *tdb)
+{
+ int i;
+ static struct {
+ enum TDB_ERROR ecode;
+ char *estring;
+ } emap[] = {
+ {TDB_SUCCESS, "Success"},
+ {TDB_ERR_CORRUPT, "Corrupt database"},
+ {TDB_ERR_IO, "IO Error"},
+ {TDB_ERR_LOCK, "Locking error"},
+ {TDB_ERR_OOM, "Out of memory"},
+ {TDB_ERR_EXISTS, "Record exists"},
+ {-1, NULL}};
+ if (tdb != NULL) {
+ for (i=0;emap[i].estring;i++) {
+ if (tdb->ecode == emap[i].ecode) return emap[i].estring;
+ }
+ } else {
+ return "Invalid tdb context";
+ }
+ return "Invalid error code";
+}
+
+
+/* update an entry in place - this only works if the new data size
+ is <= the old data size and the key exists.
+ on failure return -1
+*/
+int tdb_update(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf)
+{
+ unsigned hash;
+ struct list_struct rec;
+ tdb_off rec_ptr;
+ int ret = -1;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_update() called with null context\n");
+#endif
+ return -1;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+
+ tdb_lock(tdb, BUCKET(hash));
+ rec_ptr = tdb_find(tdb, key, hash, &rec);
+
+ if (!rec_ptr)
+ goto out;
+
+ /* must be long enough */
+ if (rec.rec_len < key.dsize + dbuf.dsize)
+ goto out;
+
+ if (tdb_write(tdb, rec_ptr + sizeof(rec) + rec.key_len,
+ dbuf.dptr, dbuf.dsize) == -1)
+ goto out;
+
+ if (dbuf.dsize != rec.data_len) {
+ /* update size */
+ rec.data_len = dbuf.dsize;
+ ret = rec_write(tdb, rec_ptr, &rec);
+ } else
+ ret = 0;
+
+ out:
+ tdb_unlock(tdb, BUCKET(hash));
+ return ret;
+}
+
+/* find an entry in the database given a key */
+TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ unsigned hash;
+ tdb_off rec_ptr;
+ struct list_struct rec;
+ TDB_DATA ret = null_data;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_fetch() called with null context\n");
+#endif
+ return null_data;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+
+ tdb_lock(tdb, BUCKET(hash));
+ rec_ptr = tdb_find(tdb, key, hash, &rec);
+
+ if (rec_ptr) {
+ ret.dptr = tdb_alloc_read(tdb,
+ rec_ptr + sizeof(rec) + rec.key_len,
+ rec.data_len);
+ ret.dsize = rec.data_len;
+ }
+
+ tdb_unlock(tdb, BUCKET(hash));
+ return ret;
+}
+
+/* check if an entry in the database exists
+
+ note that 1 is returned if the key is found and 0 is returned if not found
+ this doesn't match the conventions in the rest of this module, but is
+ compatible with gdbm
+*/
+int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ unsigned hash;
+ tdb_off rec_ptr;
+ struct list_struct rec;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_exists() called with null context\n");
+#endif
+ return 0;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+
+ tdb_lock(tdb, BUCKET(hash));
+ rec_ptr = tdb_find(tdb, key, hash, &rec);
+ tdb_unlock(tdb, BUCKET(hash));
+
+ return rec_ptr != 0;
+}
+
+/* traverse the entire database - calling fn(tdb, key, data) on each element.
+ return -1 on error or the record count traversed
+ if fn is NULL then it is not called
+ a non-zero return value from fn() indicates that the traversal should stop
+ */
+int tdb_traverse(TDB_CONTEXT *tdb, int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void* state), void* state)
+{
+ int count = 0;
+ unsigned h;
+ tdb_off offset, rec_ptr;
+ struct list_struct rec;
+ char *data;
+ TDB_DATA key, dbuf;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_traverse() called with null context\n");
+#endif
+ return -1;
+ }
+
+ /* loop over all hash chains */
+ for (h = 0; h < tdb->header.hash_size; h++) {
+ tdb_lock(tdb, BUCKET(h));
+
+ /* read in the hash top */
+ offset = tdb_hash_top(tdb, h);
+ if (ofs_read(tdb, offset, &rec_ptr) == -1) {
+ goto fail;
+ }
+
+ /* traverse all records for this hash */
+ while (rec_ptr) {
+ if (rec_read(tdb, rec_ptr, &rec) == -1) {
+ goto fail;
+ }
+
+ /* now read the full record */
+ data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
+ rec.key_len + rec.data_len);
+ if (!data) {
+ goto fail;
+ }
+
+ key.dptr = data;
+ key.dsize = rec.key_len;
+ dbuf.dptr = data + rec.key_len;
+ dbuf.dsize = rec.data_len;
+ count++;
+
+ if (fn && fn(tdb, key, dbuf, state) != 0) {
+ /* they want us to stop traversing */
+ free(data);
+ tdb_unlock(tdb, BUCKET(h));
+ return count;
+ }
+
+ /* a miss - drat */
+ free(data);
+
+ /* move to the next record */
+ rec_ptr = rec.next;
+ }
+ tdb_unlock(tdb, BUCKET(h));
+ }
+
+ /* return the number traversed */
+ return count;
+
+ fail:
+ tdb_unlock(tdb, BUCKET(h));
+ return -1;
+}
+
+
+/* find the first entry in the database and return its key */
+TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb)
+{
+ tdb_off offset, rec_ptr;
+ struct list_struct rec;
+ unsigned hash;
+ TDB_DATA ret;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_firstkey() called with null context\n");
+#endif
+ return null_data;
+ }
+
+ /* look for a non-empty hash chain */
+ for (hash = 0, rec_ptr = 0;
+ hash < tdb->header.hash_size;
+ hash++) {
+ /* find the top of the hash chain */
+ offset = tdb_hash_top(tdb, hash);
+
+ tdb_lock(tdb, BUCKET(hash));
+
+ /* read in the hash top */
+ if (ofs_read(tdb, offset, &rec_ptr) == -1) {
+ goto fail;
+ }
+
+ if (rec_ptr) break;
+
+ tdb_unlock(tdb, BUCKET(hash));
+ }
+
+ if (rec_ptr == 0) return null_data;
+
+ /* we've found a non-empty chain, now read the record */
+ if (rec_read(tdb, rec_ptr, &rec) == -1) {
+ goto fail;
+ }
+
+ /* allocate and read the key space */
+ ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
+ ret.dsize = rec.key_len;
+ tdb_unlock(tdb, BUCKET(hash));
+ return ret;
+
+ fail:
+ tdb_unlock(tdb, BUCKET(hash));
+ return null_data;
+}
+
+/* find the next entry in the database, returning its key */
+TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ unsigned hash, hbucket;
+ tdb_off rec_ptr, offset;
+ struct list_struct rec;
+ TDB_DATA ret;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_nextkey() called with null context\n");
+#endif
+ return null_data;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+ hbucket = BUCKET(hash);
+
+ tdb_lock(tdb, hbucket);
+ rec_ptr = tdb_find(tdb, key, hash, &rec);
+ if (rec_ptr) {
+ /* we want the next record after this one */
+ rec_ptr = rec.next;
+ }
+
+ /* not found or last in hash: look for next non-empty hash chain */
+ while (rec_ptr == 0) {
+ tdb_unlock(tdb, hbucket);
+
+ if (++hbucket >= tdb->header.hash_size - 1)
+ return null_data;
+
+ offset = tdb_hash_top(tdb, hbucket);
+ tdb_lock(tdb, hbucket);
+ /* read in the hash top */
+ if (ofs_read(tdb, offset, &rec_ptr) == -1) {
+ tdb_unlock(tdb, hbucket);
+ return null_data;
+ }
+ }
+
+ /* Read the record. */
+ if (rec_read(tdb, rec_ptr, &rec) == -1) {
+ tdb_unlock(tdb, hbucket);
+ return null_data;
+ }
+ /* allocate and read the key */
+ ret.dptr = tdb_alloc_read(tdb, rec_ptr + sizeof(rec), rec.key_len);
+ ret.dsize = rec.key_len;
+ tdb_unlock(tdb, hbucket);
+
+ return ret;
+}
+
+/* delete an entry in the database given a key */
+int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ unsigned hash;
+ tdb_off offset, rec_ptr, last_ptr;
+ struct list_struct rec, lastrec;
+ char *data = NULL;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_delete() called with null context\n");
+#endif
+ return -1;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+
+ tdb_lock(tdb, BUCKET(hash));
+
+ /* find the top of the hash chain */
+ offset = tdb_hash_top(tdb, hash);
+
+ /* read in the hash top */
+ if (ofs_read(tdb, offset, &rec_ptr) == -1) {
+ goto fail;
+ }
+
+ last_ptr = 0;
+
+ /* keep looking until we find the right record */
+ while (rec_ptr) {
+ if (rec_read(tdb, rec_ptr, &rec) == -1) {
+ goto fail;
+ }
+
+ if (hash == rec.full_hash && key.dsize == rec.key_len) {
+ /* a very likely hit - read the record and full key */
+ data = tdb_alloc_read(tdb, rec_ptr + sizeof(rec),
+ rec.key_len);
+ if (!data) {
+ goto fail;
+ }
+
+ if (memcmp(key.dptr, data, key.dsize) == 0) {
+ /* a definite match - delete it */
+ if (last_ptr == 0) {
+ offset = tdb_hash_top(tdb, hash);
+ if (ofs_write(tdb, offset, &rec.next) == -1) {
+ goto fail;
+ }
+ } else {
+ lastrec.next = rec.next;
+ if (rec_write(tdb, last_ptr, &lastrec) == -1) {
+ goto fail;
+ }
+ }
+ tdb_unlock(tdb, BUCKET(hash));
+ tdb_lock(tdb, -1);
+ /* and recover the space */
+ offset = FREELIST_TOP;
+ if (ofs_read(tdb, offset, &rec.next) == -1) {
+ goto fail2;
+ }
+ rec.magic = TDB_FREE_MAGIC;
+ if (rec_write(tdb, rec_ptr, &rec) == -1) {
+ goto fail2;
+ }
+ if (ofs_write(tdb, offset, &rec_ptr) == -1) {
+ goto fail2;
+ }
+
+ /* yipee - all done */
+ free(data);
+ tdb_unlock(tdb, -1);
+ return 0;
+ }
+
+ /* a miss - drat */
+ free(data);
+ data = NULL;
+ }
+
+ /* move to the next record */
+ last_ptr = rec_ptr;
+ lastrec = rec;
+ rec_ptr = rec.next;
+ }
+
+ fail:
+ if (data) free(data);
+ tdb_unlock(tdb, BUCKET(hash));
+ return -1;
+
+ fail2:
+ if (data) free(data);
+ tdb_unlock(tdb, -1);
+ return -1;
+}
+
+
+/* store an element in the database, replacing any existing element
+ with the same key
+
+ return 0 on success, -1 on failure
+*/
+int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag)
+{
+ struct list_struct rec;
+ unsigned hash;
+ tdb_off rec_ptr, offset;
+ char *p = NULL;
+
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_store() called with null context\n");
+#endif
+ return -1;
+ }
+
+ /* find which hash bucket it is in */
+ hash = tdb_hash(&key);
+
+ /* check for it existing */
+ if (flag == TDB_INSERT && tdb_exists(tdb, key)) {
+ tdb->ecode = TDB_ERR_EXISTS;
+ return -1;
+ }
+
+ /* first try in-place update */
+ if (flag != TDB_INSERT && tdb_update(tdb, key, dbuf) == 0) {
+ return 0;
+ }
+
+ rec_ptr = tdb_allocate(tdb, key.dsize + dbuf.dsize);
+ if (rec_ptr == 0) {
+ return -1;
+ }
+
+ tdb_lock(tdb, BUCKET(hash));
+
+ /* delete any existing record - if it doesn't exist we don't care */
+ if (flag != TDB_INSERT) {
+ tdb_delete(tdb, key);
+ }
+
+ /* read the newly created record */
+ if (tdb_read(tdb, rec_ptr, (char *)&rec, sizeof(rec)) == -1) {
+ goto fail;
+ }
+
+ if (rec.magic != TDB_FREE_MAGIC) goto fail;
+
+ /* find the top of the hash chain */
+ offset = tdb_hash_top(tdb, hash);
+
+ /* read in the hash top diretcly into our next pointer */
+ if (ofs_read(tdb, offset, &rec.next) == -1) {
+ goto fail;
+ }
+
+ rec.key_len = key.dsize;
+ rec.data_len = dbuf.dsize;
+ rec.full_hash = hash;
+ rec.magic = TDB_MAGIC;
+
+ p = (char *)malloc(sizeof(rec) + key.dsize + dbuf.dsize);
+ if (!p) {
+ tdb->ecode = TDB_ERR_OOM;
+ goto fail;
+ }
+
+ memcpy(p, &rec, sizeof(rec));
+ memcpy(p+sizeof(rec), key.dptr, key.dsize);
+ memcpy(p+sizeof(rec)+key.dsize, dbuf.dptr, dbuf.dsize);
+
+ if (tdb_write(tdb, rec_ptr, p, sizeof(rec)+key.dsize+dbuf.dsize) == -1)
+ goto fail;
+
+ free(p);
+ p = NULL;
+
+ /* and point the top of the hash chain at it */
+ if (ofs_write(tdb, offset, &rec_ptr) == -1) goto fail;
+
+ tdb_unlock(tdb, BUCKET(hash));
+ return 0;
+
+ fail:
+#if TDB_DEBUG
+ printf("store failed for hash 0x%08x in bucket %u\n", hash, BUCKET(hash));
+#endif
+ if (p) free(p);
+ tdb_unlock(tdb, BUCKET(hash));
+ return -1;
+}
+
+
+/* open the database, creating it if necessary
+
+ The open_flags and mode are passed straight to the open call on the database
+ file. A flags value of O_WRONLY is invalid
+
+ The hash size is advisory, use zero for a default value.
+
+ return is NULL on error
+*/
+TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
+ int open_flags, mode_t mode)
+{
+ TDB_CONTEXT tdb, *ret;
+ struct stat st;
+
+ memset(&tdb, 0, sizeof(tdb));
+
+ tdb.fd = -1;
+ tdb.name = NULL;
+ tdb.map_ptr = NULL;
+
+ if ((open_flags & O_ACCMODE) == O_WRONLY) {
+ goto fail;
+ }
+
+ if (hash_size == 0) hash_size = DEFAULT_HASH_SIZE;
+
+ tdb.read_only = ((open_flags & O_ACCMODE) == O_RDONLY);
+
+ if (name != NULL) {
+ tdb.fd = open(name, open_flags, mode);
+ if (tdb.fd == -1) {
+ goto fail;
+ }
+ }
+
+ /* ensure there is only one process initialising at once */
+ tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_SET, F_WRLCK, F_SETLKW);
+
+ if (tdb_flags & TDB_CLEAR_IF_FIRST) {
+ /* we need to zero the database if we are the only
+ one with it open */
+ if (tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_WRLCK, F_SETLK) == 0) {
+ ftruncate(tdb.fd, 0);
+ tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLK);
+ }
+ }
+
+ /* leave this lock in place */
+ tdb_brlock(&tdb, ACTIVE_LOCK, LOCK_SET, F_RDLCK, F_SETLKW);
+
+ if (read(tdb.fd, &tdb.header, sizeof(tdb.header)) != sizeof(tdb.header) ||
+ strcmp(tdb.header.magic_food, TDB_MAGIC_FOOD) != 0 ||
+ tdb.header.version != TDB_VERSION) {
+ /* its not a valid database - possibly initialise it */
+ if (!(open_flags & O_CREAT)) {
+ goto fail;
+ }
+ if (tdb_new_database(&tdb, hash_size) == -1) goto fail;
+
+ lseek(tdb.fd, 0, SEEK_SET);
+ if (tdb.fd != -1 && read(tdb.fd, &tdb.header,
+ sizeof(tdb.header)) !=
+ sizeof(tdb.header))
+ goto fail;
+ }
+
+ if (tdb.fd != -1) {
+ fstat(tdb.fd, &st);
+
+ /* map the database and fill in the return structure */
+ tdb.name = (char *)strdup(name);
+ tdb.map_size = st.st_size;
+ }
+
+ tdb.locked = (int *)calloc(tdb.header.hash_size+1,
+ sizeof(tdb.locked[0]));
+ if (!tdb.locked) {
+ goto fail;
+ }
+
+#if HAVE_MMAP
+ if (tdb.fd != -1) {
+ tdb.map_ptr = (void *)mmap(NULL, st.st_size,
+ tdb.read_only? PROT_READ : PROT_READ|PROT_WRITE,
+ MAP_SHARED | MAP_FILE, tdb.fd, 0);
+ }
+#endif
+
+ ret = (TDB_CONTEXT *)malloc(sizeof(tdb));
+ if (!ret) goto fail;
+
+ *ret = tdb;
+
+#if TDB_DEBUG
+ printf("mapped database of hash_size %u map_size=%u\n",
+ hash_size, tdb.map_size);
+#endif
+
+ tdb_brlock(&tdb, GLOBAL_LOCK, LOCK_CLEAR, F_WRLCK, F_SETLKW);
+ return ret;
+
+ fail:
+ if (tdb.name) free(tdb.name);
+ if (tdb.fd != -1) close(tdb.fd);
+ if (tdb.map_ptr) munmap(tdb.map_ptr, tdb.map_size);
+
+ return NULL;
+}
+
+/* close a database */
+int tdb_close(TDB_CONTEXT *tdb)
+{
+ if (!tdb) return -1;
+
+ if (tdb->name) free(tdb->name);
+ if (tdb->fd != -1) close(tdb->fd);
+ if (tdb->locked) free(tdb->locked);
+
+ if (tdb->map_ptr) {
+ if (tdb->fd != -1) {
+ munmap(tdb->map_ptr, tdb->map_size);
+ } else {
+ free(tdb->map_ptr);
+ }
+ }
+
+ memset(tdb, 0, sizeof(*tdb));
+ free(tdb);
+
+ return 0;
+}
+
+/* lock the database. If we already have it locked then don't do anything */
+int tdb_writelock(TDB_CONTEXT *tdb)
+{
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_writelock() called with null context\n");
+#endif
+ return -1;
+ }
+
+ return tdb_lock(tdb, -1);
+}
+
+/* unlock the database. */
+int tdb_writeunlock(TDB_CONTEXT *tdb)
+{
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_writeunlock() called with null context\n");
+#endif
+ return -1;
+ }
+
+ return tdb_unlock(tdb, -1);
+}
+
+/* lock one hash chain. This is meant to be used to reduce locking
+ contention - it cannot guarantee how many records will be locked */
+int tdb_lockchain(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_lockchain() called with null context\n");
+#endif
+ return -1;
+ }
+
+ return tdb_lock(tdb, BUCKET(tdb_hash(&key)));
+}
+
+
+/* unlock one hash chain */
+int tdb_unlockchain(TDB_CONTEXT *tdb, TDB_DATA key)
+{
+ if (tdb == NULL) {
+#ifdef TDB_DEBUG
+ printf("tdb_unlockchain() called with null context\n");
+#endif
+ return -1;
+ }
+
+ return tdb_unlock(tdb, BUCKET(tdb_hash(&key)));
+}
diff --git a/mdk-stage1/ppp/pppd/tdb.h b/mdk-stage1/ppp/pppd/tdb.h
new file mode 100644
index 000000000..56ae0ac2a
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/tdb.h
@@ -0,0 +1,77 @@
+#define STANDALONE 1
+/*
+ * Database functions
+ * Copyright (C) Andrew Tridgell 1999
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms AND provided that this software or
+ * any derived work is only used as part of the PPP daemon (pppd)
+ * and related utilities.
+ * The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Note: this software is also available under the Gnu Public License
+ * version 2 or later.
+ */
+
+typedef unsigned tdb_len;
+typedef unsigned tdb_off;
+
+#define TDB_MAGIC_FOOD "TDB file\n"
+
+/* this is stored at the front of every database */
+struct tdb_header {
+ char magic_food[32]; /* for /etc/magic */
+ unsigned version; /* version of the code */
+ unsigned hash_size; /* number of hash entries */
+};
+
+typedef struct {
+ char *dptr;
+ size_t dsize;
+} TDB_DATA;
+
+/* this is the context structure that is returned from a db open */
+typedef struct {
+ char *name; /* the name of the database */
+ void *map_ptr; /* where it is currently mapped */
+ int fd; /* open file descriptor for the database */
+ tdb_len map_size; /* how much space has been mapped */
+ int read_only; /* opened read-only */
+ int *locked; /* set if we have a chain locked */
+ int ecode; /* error code for last tdb error */
+ struct tdb_header header; /* a cached copy of the header */
+} TDB_CONTEXT;
+
+/* flags to tdb_store() */
+#define TDB_REPLACE 1
+#define TDB_INSERT 2
+
+/* flags for tdb_open() */
+#define TDB_CLEAR_IF_FIRST 1
+
+/* error codes */
+enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK,
+ TDB_ERR_OOM, TDB_ERR_EXISTS};
+
+#if STANDALONE
+TDB_CONTEXT *tdb_open(char *name, int hash_size, int tdb_flags,
+ int open_flags, mode_t mode);
+char *tdb_error(TDB_CONTEXT *tdb);
+int tdb_writelock(TDB_CONTEXT *tdb);
+int tdb_writeunlock(TDB_CONTEXT *tdb);
+TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key);
+int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key);
+int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag);
+int tdb_close(TDB_CONTEXT *tdb);
+TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb);
+TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key);
+int tdb_traverse(TDB_CONTEXT *tdb,
+ int (*fn)(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, void *state),
+ void *state);
+int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key);
+#endif
diff --git a/mdk-stage1/ppp/pppd/tty.c b/mdk-stage1/ppp/pppd/tty.c
new file mode 100644
index 000000000..8ef761487
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/tty.c
@@ -0,0 +1,1164 @@
+/*
+ * tty.c - code for handling serial ports in pppd.
+ *
+ * Copyright (C) 2000 Paul Mackerras.
+ * All rights reserved.
+ *
+ * Portions Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: tty.c 6001 2001-06-11 11:44:34Z gc $"
+
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <syslog.h>
+#include <netdb.h>
+#include <utmp.h>
+#include <pwd.h>
+#include <setjmp.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "pppd.h"
+#include "fsm.h"
+#include "lcp.h"
+
+void tty_process_extra_options __P((void));
+void tty_check_options __P((void));
+int connect_tty __P((void));
+void disconnect_tty __P((void));
+void tty_close_fds __P((void));
+void cleanup_tty __P((void));
+void tty_do_send_config __P((int, u_int32_t, int, int));
+
+static int setdevname __P((char *, char **, int));
+static int setspeed __P((char *, char **, int));
+static int setxonxoff __P((char **));
+static int setescape __P((char **));
+static void printescape __P((option_t *, void (*)(void *, char *,...),void *));
+static void finish_tty __P((void));
+static int start_charshunt __P((int, int));
+static void stop_charshunt __P((void *, int));
+static void charshunt_done __P((void *));
+static void charshunt __P((int, int, char *));
+static int record_write __P((FILE *, int code, u_char *buf, int nb,
+ struct timeval *));
+static int open_socket __P((char *));
+static void maybe_relock __P((void *, int));
+
+static int pty_master; /* fd for master side of pty */
+static int pty_slave; /* fd for slave side of pty */
+static int real_ttyfd; /* fd for actual serial port (not pty) */
+static int ttyfd; /* Serial port file descriptor */
+static char speed_str[16]; /* Serial port speed as string */
+
+mode_t tty_mode = (mode_t)-1; /* Original access permissions to tty */
+int baud_rate; /* Actual bits/second for serial device */
+char *callback_script; /* script for doing callback */
+int charshunt_pid; /* Process ID for charshunt */
+int locked; /* lock() has succeeded */
+struct stat devstat; /* result of stat() on devnam */
+
+/* option variables */
+int crtscts = 0; /* Use hardware flow control */
+bool modem = 1; /* Use modem control lines */
+int inspeed = 0; /* Input/Output speed requested */
+bool lockflag = 0; /* Create lock file to lock the serial dev */
+char *initializer = NULL; /* Script to initialize physical link */
+char *connect_script = NULL; /* Script to establish physical link */
+char *disconnect_script = NULL; /* Script to disestablish physical link */
+char *welcomer = NULL; /* Script to run after phys link estab. */
+char *ptycommand = NULL; /* Command to run on other side of pty */
+bool notty = 0; /* Stdin/out is not a tty */
+char *record_file = NULL; /* File to record chars sent/received */
+int max_data_rate; /* max bytes/sec through charshunt */
+bool sync_serial = 0; /* Device is synchronous serial device */
+char *pty_socket = NULL; /* Socket to connect to pty */
+int using_pty = 0; /* we're allocating a pty as the device */
+
+extern uid_t uid;
+extern int kill_link;
+
+/* XXX */
+extern int privopen; /* don't lock, open device as root */
+
+u_int32_t xmit_accm[8]; /* extended transmit ACCM */
+
+/* option descriptors */
+option_t tty_options[] = {
+ /* device name must be first, or change connect_tty() below! */
+ { "device name", o_wild, (void *) &setdevname,
+ "Serial port device name",
+ OPT_DEVNAM | OPT_PRIVFIX | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC,
+ devnam},
+
+ { "tty speed", o_wild, (void *) &setspeed,
+ "Baud rate for serial port",
+ OPT_PRIO | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC, speed_str },
+
+ { "lock", o_bool, &lockflag,
+ "Lock serial device with UUCP-style lock file", OPT_PRIO | 1 },
+ { "nolock", o_bool, &lockflag,
+ "Don't lock serial device", OPT_PRIOSUB | OPT_PRIV },
+
+ { "init", o_string, &initializer,
+ "A program to initialize the device", OPT_PRIO | OPT_PRIVFIX },
+
+ { "connect", o_string, &connect_script,
+ "A program to set up a connection", OPT_PRIO | OPT_PRIVFIX },
+
+ { "disconnect", o_string, &disconnect_script,
+ "Program to disconnect serial device", OPT_PRIO | OPT_PRIVFIX },
+
+ { "welcome", o_string, &welcomer,
+ "Script to welcome client", OPT_PRIO | OPT_PRIVFIX },
+
+ { "pty", o_string, &ptycommand,
+ "Script to run on pseudo-tty master side",
+ OPT_PRIO | OPT_PRIVFIX | OPT_DEVNAM },
+
+ { "notty", o_bool, &notty,
+ "Input/output is not a tty", OPT_DEVNAM | 1 },
+
+ { "socket", o_string, &pty_socket,
+ "Send and receive over socket, arg is host:port",
+ OPT_PRIO | OPT_DEVNAM },
+
+ { "record", o_string, &record_file,
+ "Record characters sent/received to file", OPT_PRIO },
+
+ { "crtscts", o_int, &crtscts,
+ "Set hardware (RTS/CTS) flow control",
+ OPT_PRIO | OPT_NOARG | OPT_VAL(1) },
+ { "cdtrcts", o_int, &crtscts,
+ "Set alternate hardware (DTR/CTS) flow control",
+ OPT_PRIOSUB | OPT_NOARG | OPT_VAL(2) },
+ { "nocrtscts", o_int, &crtscts,
+ "Disable hardware flow control",
+ OPT_PRIOSUB | OPT_NOARG | OPT_VAL(-1) },
+ { "-crtscts", o_int, &crtscts,
+ "Disable hardware flow control",
+ OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
+ { "nocdtrcts", o_int, &crtscts,
+ "Disable hardware flow control",
+ OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
+ { "xonxoff", o_special_noarg, (void *)setxonxoff,
+ "Set software (XON/XOFF) flow control", OPT_PRIOSUB },
+
+ { "modem", o_bool, &modem,
+ "Use modem control lines", OPT_PRIO | 1 },
+ { "local", o_bool, &modem,
+ "Don't use modem control lines", OPT_PRIOSUB | 0 },
+
+ { "sync", o_bool, &sync_serial,
+ "Use synchronous HDLC serial encoding", 1 },
+
+ { "datarate", o_int, &max_data_rate,
+ "Maximum data rate in bytes/sec (with pty, notty or record option)",
+ OPT_PRIO },
+
+ { "escape", o_special, (void *)setescape,
+ "List of character codes to escape on transmission",
+ OPT_A2PRINTER, (void *)printescape },
+
+ { NULL }
+};
+
+
+struct channel tty_channel = {
+ tty_options,
+ &tty_process_extra_options,
+ &tty_check_options,
+ &connect_tty,
+ &disconnect_tty,
+ &tty_establish_ppp,
+ &tty_disestablish_ppp,
+ &tty_do_send_config,
+ &tty_recv_config,
+ &cleanup_tty,
+ &tty_close_fds
+};
+
+/*
+ * setspeed - Set the serial port baud rate.
+ * If doit is 0, the call is to check whether this option is
+ * potentially a speed value.
+ */
+static int
+setspeed(arg, argv, doit)
+ char *arg;
+ char **argv;
+ int doit;
+{
+ char *ptr;
+ int spd;
+
+ spd = strtol(arg, &ptr, 0);
+ if (ptr == arg || *ptr != 0 || spd == 0)
+ return 0;
+ if (doit) {
+ inspeed = spd;
+ slprintf(speed_str, sizeof(speed_str), "%d", spd);
+ }
+ return 1;
+}
+
+
+/*
+ * setdevname - Set the device name.
+ * If doit is 0, the call is to check whether this option is
+ * potentially a device name.
+ */
+static int
+setdevname(cp, argv, doit)
+ char *cp;
+ char **argv;
+ int doit;
+{
+ struct stat statbuf;
+ char dev[MAXPATHLEN];
+
+ if (*cp == 0)
+ return 0;
+
+ if (strncmp("/dev/", cp, 5) != 0) {
+ strlcpy(dev, "/dev/", sizeof(dev));
+ strlcat(dev, cp, sizeof(dev));
+ cp = dev;
+ }
+
+ /*
+ * Check if there is a character device by this name.
+ */
+ if (stat(cp, &statbuf) < 0) {
+ if (!doit)
+ return errno != ENOENT;
+ option_error("Couldn't stat %s: %m", cp);
+ return 0;
+ }
+ if (!S_ISCHR(statbuf.st_mode)) {
+ if (doit)
+ option_error("%s is not a character device", cp);
+ return 0;
+ }
+
+ if (doit) {
+ strlcpy(devnam, cp, sizeof(devnam));
+ devstat = statbuf;
+ default_device = 0;
+ }
+
+ return 1;
+}
+
+static int
+setxonxoff(argv)
+ char **argv;
+{
+ lcp_wantoptions[0].asyncmap |= 0x000A0000; /* escape ^S and ^Q */
+ lcp_wantoptions[0].neg_asyncmap = 1;
+
+ crtscts = -2;
+ return 1;
+}
+
+/*
+ * setescape - add chars to the set we escape on transmission.
+ */
+static int
+setescape(argv)
+ char **argv;
+{
+ int n, ret;
+ char *p, *endp;
+
+ p = *argv;
+ ret = 1;
+ while (*p) {
+ n = strtol(p, &endp, 16);
+ if (p == endp) {
+ option_error("escape parameter contains invalid hex number '%s'",
+ p);
+ return 0;
+ }
+ p = endp;
+ if (n < 0 || n == 0x5E || n > 0xFF) {
+ option_error("can't escape character 0x%x", n);
+ ret = 0;
+ } else
+ xmit_accm[n >> 5] |= 1 << (n & 0x1F);
+ while (*p == ',' || *p == ' ')
+ ++p;
+ }
+ lcp_allowoptions[0].asyncmap = xmit_accm[0];
+ return ret;
+}
+
+static void
+printescape(opt, printer, arg)
+ option_t *opt;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int n;
+ int first = 1;
+
+ for (n = 0; n < 256; ++n) {
+ if (n == 0x7d)
+ n += 2; /* skip 7d, 7e */
+ if (xmit_accm[n >> 5] & (1 << (n & 0x1f))) {
+ if (!first)
+ printer(arg, ",");
+ else
+ first = 0;
+ printer(arg, "%x", n);
+ }
+ }
+ if (first)
+ printer(arg, "oops # nothing escaped");
+}
+
+/*
+ * tty_init - do various tty-related initializations.
+ */
+void tty_init()
+{
+ add_notifier(&pidchange, maybe_relock, 0);
+ the_channel = &tty_channel;
+ xmit_accm[3] = 0x60000000;
+}
+
+/*
+ * tty_process_extra_options - work out which tty device we are using
+ * and read its options file.
+ */
+void tty_process_extra_options()
+{
+ using_pty = notty || ptycommand != NULL || pty_socket != NULL;
+ if (using_pty)
+ return;
+ if (default_device) {
+ char *p;
+ if (!isatty(0) || (p = ttyname(0)) == NULL) {
+ option_error("no device specified and stdin is not a tty");
+ exit(EXIT_OPTION_ERROR);
+ }
+ strlcpy(devnam, p, sizeof(devnam));
+ if (stat(devnam, &devstat) < 0)
+ fatal("Couldn't stat default device %s: %m", devnam);
+ }
+
+
+ /*
+ * Parse the tty options file.
+ * The per-tty options file should not change
+ * ptycommand, pty_socket, notty or devnam.
+ * options_for_tty doesn't override options set on the command line,
+ * except for some privileged options.
+ */
+ if (!options_for_tty())
+ exit(EXIT_OPTION_ERROR);
+}
+
+/*
+ * tty_check_options - do consistency checks on the options we were given.
+ */
+void
+tty_check_options()
+{
+ struct stat statbuf;
+ int fdflags;
+
+ if (demand && connect_script == 0) {
+ option_error("connect script is required for demand-dialling\n");
+ exit(EXIT_OPTION_ERROR);
+ }
+ /* default holdoff to 0 if no connect script has been given */
+ if (connect_script == 0 && !holdoff_specified)
+ holdoff = 0;
+
+ if (using_pty) {
+ if (!default_device) {
+ option_error("%s option precludes specifying device name",
+ notty? "notty": "pty");
+ exit(EXIT_OPTION_ERROR);
+ }
+ if (ptycommand != NULL && notty) {
+ option_error("pty option is incompatible with notty option");
+ exit(EXIT_OPTION_ERROR);
+ }
+ if (pty_socket != NULL && (ptycommand != NULL || notty)) {
+ option_error("socket option is incompatible with pty and notty");
+ exit(EXIT_OPTION_ERROR);
+ }
+ default_device = notty;
+ lockflag = 0;
+ modem = 0;
+ if (notty && log_to_fd <= 1)
+ log_to_fd = -1;
+ } else {
+ /*
+ * If the user has specified a device which is the same as
+ * the one on stdin, pretend they didn't specify any.
+ * If the device is already open read/write on stdin,
+ * we assume we don't need to lock it, and we can open it
+ * as root.
+ */
+ if (fstat(0, &statbuf) >= 0 && S_ISCHR(statbuf.st_mode)
+ && statbuf.st_rdev == devstat.st_rdev) {
+ default_device = 1;
+ fdflags = fcntl(0, F_GETFL);
+ if (fdflags != -1 && (fdflags & O_ACCMODE) == O_RDWR)
+ privopen = 1;
+ }
+ }
+ if (default_device)
+ nodetach = 1;
+
+ /*
+ * Don't send log messages to the serial port, it tends to
+ * confuse the peer. :-)
+ */
+ if (log_to_fd >= 0 && fstat(log_to_fd, &statbuf) >= 0
+ && S_ISCHR(statbuf.st_mode) && statbuf.st_rdev == devstat.st_rdev)
+ log_to_fd = -1;
+}
+
+/*
+ * connect_tty - get the serial port ready to start doing PPP.
+ * That is, open the serial port, set its speed and mode, and run
+ * the connector and/or welcomer.
+ */
+int connect_tty()
+{
+ char *connector;
+ int fdflags;
+ struct stat statbuf;
+ char numbuf[16];
+
+ /*
+ * Get a pty master/slave pair if the pty, notty, socket,
+ * or record options were specified.
+ */
+ strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
+ pty_master = -1;
+ pty_slave = -1;
+ real_ttyfd = -1;
+ if (using_pty || record_file != NULL) {
+ if (!get_pty(&pty_master, &pty_slave, ppp_devnam, uid)) {
+ error("Couldn't allocate pseudo-tty");
+ status = EXIT_FATAL_ERROR;
+ return -1;
+ }
+ set_up_tty(pty_slave, 1);
+ }
+
+ /*
+ * Lock the device if we've been asked to.
+ */
+ status = EXIT_LOCK_FAILED;
+ if (lockflag && !privopen) {
+ if (lock(devnam) < 0)
+ return -1;
+ locked = 1;
+ }
+
+ /*
+ * Open the serial device and set it up to be the ppp interface.
+ * First we open it in non-blocking mode so we can set the
+ * various termios flags appropriately. If we aren't dialling
+ * out and we want to use the modem lines, we reopen it later
+ * in order to wait for the carrier detect signal from the modem.
+ */
+ hungup = 0;
+ kill_link = 0;
+ connector = doing_callback? callback_script: connect_script;
+ if (devnam[0] != 0) {
+ for (;;) {
+ /* If the user specified the device name, become the
+ user before opening it. */
+ int err, prio;
+
+ prio = privopen? OPRIO_ROOT: tty_options[0].priority;
+ if (prio < OPRIO_ROOT)
+ seteuid(uid);
+ ttyfd = open(devnam, O_NONBLOCK | O_RDWR, 0);
+ err = errno;
+ if (prio < OPRIO_ROOT)
+ seteuid(0);
+ if (ttyfd >= 0)
+ break;
+ errno = err;
+ if (err != EINTR) {
+ error("Failed to open %s: %m", devnam);
+ status = EXIT_OPEN_FAILED;
+ }
+ if (!persist || err != EINTR)
+ return -1;
+ }
+ real_ttyfd = ttyfd;
+ if ((fdflags = fcntl(ttyfd, F_GETFL)) == -1
+ || fcntl(ttyfd, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
+ warn("Couldn't reset non-blocking mode on device: %m");
+
+ /*
+ * Do the equivalent of `mesg n' to stop broadcast messages.
+ */
+ if (fstat(ttyfd, &statbuf) < 0
+ || fchmod(ttyfd, statbuf.st_mode & ~(S_IWGRP | S_IWOTH)) < 0) {
+ warn("Couldn't restrict write permissions to %s: %m", devnam);
+ } else
+ tty_mode = statbuf.st_mode;
+
+ /*
+ * Set line speed, flow control, etc.
+ * If we have a non-null connection or initializer script,
+ * on most systems we set CLOCAL for now so that we can talk
+ * to the modem before carrier comes up. But this has the
+ * side effect that we might miss it if CD drops before we
+ * get to clear CLOCAL below. On systems where we can talk
+ * successfully to the modem with CLOCAL clear and CD down,
+ * we could clear CLOCAL at this point.
+ */
+ set_up_tty(ttyfd, ((connector != NULL && connector[0] != 0)
+ || initializer != NULL));
+ }
+
+ /*
+ * If the pty, socket, notty and/or record option was specified,
+ * start up the character shunt now.
+ */
+ status = EXIT_PTYCMD_FAILED;
+ if (ptycommand != NULL) {
+ if (record_file != NULL) {
+ int ipipe[2], opipe[2], ok;
+
+ if (pipe(ipipe) < 0 || pipe(opipe) < 0)
+ fatal("Couldn't create pipes for record option: %m");
+ ok = device_script(ptycommand, opipe[0], ipipe[1], 1) == 0
+ && start_charshunt(ipipe[0], opipe[1]);
+ close(ipipe[0]);
+ close(ipipe[1]);
+ close(opipe[0]);
+ close(opipe[1]);
+ if (!ok)
+ return -1;
+ } else {
+ if (device_script(ptycommand, pty_master, pty_master, 1) < 0)
+ return -1;
+ ttyfd = pty_slave;
+ close(pty_master);
+ pty_master = -1;
+ }
+ } else if (pty_socket != NULL) {
+ int fd = open_socket(pty_socket);
+ if (fd < 0)
+ return -1;
+ if (!start_charshunt(fd, fd))
+ return -1;
+ } else if (notty) {
+ if (!start_charshunt(0, 1))
+ return -1;
+ } else if (record_file != NULL) {
+ if (!start_charshunt(ttyfd, ttyfd))
+ return -1;
+ }
+
+ /* run connection script */
+ if ((connector && connector[0]) || initializer) {
+ if (real_ttyfd != -1) {
+ /* XXX do this if doing_callback == CALLBACK_DIALIN? */
+ if (!default_device && modem) {
+ setdtr(real_ttyfd, 0); /* in case modem is off hook */
+ sleep(1);
+ setdtr(real_ttyfd, 1);
+ }
+ }
+
+ if (initializer && initializer[0]) {
+ if (device_script(initializer, ttyfd, ttyfd, 0) < 0) {
+ error("Initializer script failed");
+ status = EXIT_INIT_FAILED;
+ return -1;
+ }
+ if (kill_link) {
+ disconnect_tty();
+ return -1;
+ }
+ info("Serial port initialized.");
+ }
+
+ if (connector && connector[0]) {
+ if (device_script(connector, ttyfd, ttyfd, 0) < 0) {
+ error("Connect script failed");
+ status = EXIT_CONNECT_FAILED;
+ return -1;
+ }
+ if (kill_link) {
+ disconnect_tty();
+ return -1;
+ }
+ info("Serial connection established.");
+ }
+
+ /* set line speed, flow control, etc.;
+ clear CLOCAL if modem option */
+ if (real_ttyfd != -1)
+ set_up_tty(real_ttyfd, 0);
+
+ if (doing_callback == CALLBACK_DIALIN)
+ connector = NULL;
+ }
+
+ /* reopen tty if necessary to wait for carrier */
+ if (connector == NULL && modem && devnam[0] != 0) {
+ int i;
+ for (;;) {
+ if ((i = open(devnam, O_RDWR)) >= 0)
+ break;
+ if (errno != EINTR) {
+ error("Failed to reopen %s: %m", devnam);
+ status = EXIT_OPEN_FAILED;
+ }
+ if (!persist || errno != EINTR || hungup || kill_link)
+ return -1;
+ }
+ close(i);
+ }
+
+ slprintf(numbuf, sizeof(numbuf), "%d", baud_rate);
+ script_setenv("SPEED", numbuf, 0);
+
+ /* run welcome script, if any */
+ if (welcomer && welcomer[0]) {
+ if (device_script(welcomer, ttyfd, ttyfd, 0) < 0)
+ warn("Welcome script failed");
+ }
+
+ /*
+ * If we are initiating this connection, wait for a short
+ * time for something from the peer. This can avoid bouncing
+ * our packets off his tty before he has it set up.
+ */
+ if (connector != NULL || ptycommand != NULL)
+ listen_time = connect_delay;
+
+ return ttyfd;
+}
+
+
+void disconnect_tty()
+{
+ if (disconnect_script == NULL || hungup)
+ return;
+ if (real_ttyfd >= 0)
+ set_up_tty(real_ttyfd, 1);
+ if (device_script(disconnect_script, ttyfd, ttyfd, 0) < 0) {
+ warn("disconnect script failed");
+ } else {
+ info("Serial link disconnected.");
+ }
+}
+
+void tty_close_fds()
+{
+ if (pty_master >= 0)
+ close(pty_master);
+ if (pty_slave >= 0)
+ close(pty_slave);
+ if (real_ttyfd >= 0) {
+ close(real_ttyfd);
+ real_ttyfd = -1;
+ }
+ /* N.B. ttyfd will == either pty_slave or real_ttyfd */
+}
+
+void cleanup_tty()
+{
+ if (real_ttyfd >= 0)
+ finish_tty();
+ tty_close_fds();
+ if (locked) {
+ unlock();
+ locked = 0;
+ }
+}
+
+/*
+ * tty_do_send_config - set transmit-side PPP configuration.
+ * We set the extended transmit ACCM here as well.
+ */
+void
+tty_do_send_config(mtu, accm, pcomp, accomp)
+ int mtu;
+ u_int32_t accm;
+ int pcomp, accomp;
+{
+ tty_set_xaccm(xmit_accm);
+ tty_send_config(mtu, accm, pcomp, accomp);
+}
+
+/*
+ * finish_tty - restore the terminal device to its original settings
+ */
+static void
+finish_tty()
+{
+ /* drop dtr to hang up */
+ if (!default_device && modem) {
+ setdtr(real_ttyfd, 0);
+ /*
+ * This sleep is in case the serial port has CLOCAL set by default,
+ * and consequently will reassert DTR when we close the device.
+ */
+ sleep(1);
+ }
+
+ restore_tty(real_ttyfd);
+
+ if (tty_mode != (mode_t) -1) {
+ if (fchmod(real_ttyfd, tty_mode) != 0) {
+ /* XXX if devnam is a symlink, this will change the link */
+ chmod(devnam, tty_mode);
+ }
+ }
+
+ close(real_ttyfd);
+ real_ttyfd = -1;
+}
+
+/*
+ * maybe_relock - our PID has changed, maybe update the lock file.
+ */
+static void
+maybe_relock(arg, pid)
+ void *arg;
+ int pid;
+{
+ if (locked)
+ relock(pid);
+}
+
+/*
+ * open_socket - establish a stream socket connection to the nominated
+ * host and port.
+ */
+static int
+open_socket(dest)
+ char *dest;
+{
+ char *sep, *endp = NULL;
+ int sock, port = -1;
+ u_int32_t host;
+ struct hostent *hent;
+ struct sockaddr_in sad;
+
+ /* parse host:port and resolve host to an IP address */
+ sep = strchr(dest, ':');
+ if (sep != NULL)
+ port = strtol(sep+1, &endp, 10);
+ if (port < 0 || endp == sep+1 || sep == dest) {
+ error("Can't parse host:port for socket destination");
+ return -1;
+ }
+ *sep = 0;
+ host = inet_addr(dest);
+ if (host == (u_int32_t) -1) {
+ hent = gethostbyname(dest);
+ if (hent == NULL) {
+ error("%s: unknown host in socket option", dest);
+ *sep = ':';
+ return -1;
+ }
+ host = *(u_int32_t *)(hent->h_addr_list[0]);
+ }
+ *sep = ':';
+
+ /* get a socket and connect it to the other end */
+ sock = socket(PF_INET, SOCK_STREAM, 0);
+ if (sock < 0) {
+ error("Can't create socket: %m");
+ return -1;
+ }
+ memset(&sad, 0, sizeof(sad));
+ sad.sin_family = AF_INET;
+ sad.sin_port = htons(port);
+ sad.sin_addr.s_addr = host;
+ if (connect(sock, (struct sockaddr *)&sad, sizeof(sad)) < 0) {
+ error("Can't connect to %s: %m", dest);
+ close(sock);
+ return -1;
+ }
+
+ return sock;
+}
+
+
+/*
+ * start_charshunt - create a child process to run the character shunt.
+ */
+static int
+start_charshunt(ifd, ofd)
+ int ifd, ofd;
+{
+ int cpid;
+
+ cpid = fork();
+ if (cpid == -1) {
+ error("Can't fork process for character shunt: %m");
+ return 0;
+ }
+ if (cpid == 0) {
+ /* child */
+ close(pty_slave);
+ setuid(uid);
+ if (getuid() != uid)
+ fatal("setuid failed");
+ setgid(getgid());
+ if (!nodetach)
+ log_to_fd = -1;
+ charshunt(ifd, ofd, record_file);
+ exit(0);
+ }
+ charshunt_pid = cpid;
+ add_notifier(&sigreceived, stop_charshunt, 0);
+ close(pty_master);
+ pty_master = -1;
+ ttyfd = pty_slave;
+ record_child(cpid, "pppd (charshunt)", charshunt_done, NULL);
+ return 1;
+}
+
+static void
+charshunt_done(arg)
+ void *arg;
+{
+ charshunt_pid = 0;
+}
+
+static void
+stop_charshunt(arg, sig)
+ void *arg;
+ int sig;
+{
+ if (charshunt_pid)
+ kill(charshunt_pid, (sig == SIGINT? sig: SIGTERM));
+}
+
+/*
+ * charshunt - the character shunt, which passes characters between
+ * the pty master side and the serial port (or stdin/stdout).
+ * This runs as the user (not as root).
+ * (We assume ofd >= ifd which is true the way this gets called. :-).
+ */
+static void
+charshunt(ifd, ofd, record_file)
+ int ifd, ofd;
+ char *record_file;
+{
+ int n, nfds;
+ fd_set ready, writey;
+ u_char *ibufp, *obufp;
+ int nibuf, nobuf;
+ int flags;
+ int pty_readable, stdin_readable;
+ struct timeval lasttime;
+ FILE *recordf = NULL;
+ int ilevel, olevel, max_level;
+ struct timeval levelt, tout, *top;
+ extern u_char inpacket_buf[];
+
+ /*
+ * Reset signal handlers.
+ */
+ signal(SIGHUP, SIG_IGN); /* Hangup */
+ signal(SIGINT, SIG_DFL); /* Interrupt */
+ signal(SIGTERM, SIG_DFL); /* Terminate */
+ signal(SIGCHLD, SIG_DFL);
+ signal(SIGUSR1, SIG_DFL);
+ signal(SIGUSR2, SIG_DFL);
+ signal(SIGABRT, SIG_DFL);
+ signal(SIGALRM, SIG_DFL);
+ signal(SIGFPE, SIG_DFL);
+ signal(SIGILL, SIG_DFL);
+ signal(SIGPIPE, SIG_DFL);
+ signal(SIGQUIT, SIG_DFL);
+ signal(SIGSEGV, SIG_DFL);
+#ifdef SIGBUS
+ signal(SIGBUS, SIG_DFL);
+#endif
+#ifdef SIGEMT
+ signal(SIGEMT, SIG_DFL);
+#endif
+#ifdef SIGPOLL
+ signal(SIGPOLL, SIG_DFL);
+#endif
+#ifdef SIGPROF
+ signal(SIGPROF, SIG_DFL);
+#endif
+#ifdef SIGSYS
+ signal(SIGSYS, SIG_DFL);
+#endif
+#ifdef SIGTRAP
+ signal(SIGTRAP, SIG_DFL);
+#endif
+#ifdef SIGVTALRM
+ signal(SIGVTALRM, SIG_DFL);
+#endif
+#ifdef SIGXCPU
+ signal(SIGXCPU, SIG_DFL);
+#endif
+#ifdef SIGXFSZ
+ signal(SIGXFSZ, SIG_DFL);
+#endif
+
+ /*
+ * Open the record file if required.
+ */
+ if (record_file != NULL) {
+ recordf = fopen(record_file, "a");
+ if (recordf == NULL)
+ error("Couldn't create record file %s: %m", record_file);
+ }
+
+ /* set all the fds to non-blocking mode */
+ flags = fcntl(pty_master, F_GETFL);
+ if (flags == -1
+ || fcntl(pty_master, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set pty master to nonblock: %m");
+ flags = fcntl(ifd, F_GETFL);
+ if (flags == -1
+ || fcntl(ifd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set %s to nonblock: %m", (ifd==0? "stdin": "tty"));
+ if (ofd != ifd) {
+ flags = fcntl(ofd, F_GETFL);
+ if (flags == -1
+ || fcntl(ofd, F_SETFL, flags | O_NONBLOCK) == -1)
+ warn("couldn't set stdout to nonblock: %m");
+ }
+
+ nibuf = nobuf = 0;
+ ibufp = obufp = NULL;
+ pty_readable = stdin_readable = 1;
+
+ ilevel = olevel = 0;
+ gettimeofday(&levelt, NULL);
+ if (max_data_rate) {
+ max_level = max_data_rate / 10;
+ if (max_level < 100)
+ max_level = 100;
+ } else
+ max_level = PPP_MRU + PPP_HDRLEN + 1;
+
+ nfds = (ofd > pty_master? ofd: pty_master) + 1;
+ if (recordf != NULL) {
+ gettimeofday(&lasttime, NULL);
+ putc(7, recordf); /* put start marker */
+ putc(lasttime.tv_sec >> 24, recordf);
+ putc(lasttime.tv_sec >> 16, recordf);
+ putc(lasttime.tv_sec >> 8, recordf);
+ putc(lasttime.tv_sec, recordf);
+ lasttime.tv_usec = 0;
+ }
+
+ while (nibuf != 0 || nobuf != 0 || pty_readable || stdin_readable) {
+ top = 0;
+ tout.tv_sec = 0;
+ tout.tv_usec = 10000;
+ FD_ZERO(&ready);
+ FD_ZERO(&writey);
+ if (nibuf != 0) {
+ if (ilevel >= max_level)
+ top = &tout;
+ else
+ FD_SET(pty_master, &writey);
+ } else if (stdin_readable)
+ FD_SET(ifd, &ready);
+ if (nobuf != 0) {
+ if (olevel >= max_level)
+ top = &tout;
+ else
+ FD_SET(ofd, &writey);
+ } else if (pty_readable)
+ FD_SET(pty_master, &ready);
+ if (select(nfds, &ready, &writey, NULL, top) < 0) {
+ if (errno != EINTR)
+ fatal("select");
+ continue;
+ }
+ if (max_data_rate) {
+ double dt;
+ int nbt;
+ struct timeval now;
+
+ gettimeofday(&now, NULL);
+ dt = (now.tv_sec - levelt.tv_sec
+ + (now.tv_usec - levelt.tv_usec) / 1e6);
+ nbt = (int)(dt * max_data_rate);
+ ilevel = (nbt < 0 || nbt > ilevel)? 0: ilevel - nbt;
+ olevel = (nbt < 0 || nbt > olevel)? 0: olevel - nbt;
+ levelt = now;
+ } else
+ ilevel = olevel = 0;
+ if (FD_ISSET(ifd, &ready)) {
+ ibufp = inpacket_buf;
+ nibuf = read(ifd, ibufp, PPP_MRU + PPP_HDRLEN);
+ if (nibuf < 0 && errno == EIO)
+ nibuf = 0;
+ if (nibuf < 0) {
+ if (!(errno == EINTR || errno == EAGAIN)) {
+ error("Error reading standard input: %m");
+ break;
+ }
+ nibuf = 0;
+ } else if (nibuf == 0) {
+ /* end of file from stdin */
+ stdin_readable = 0;
+ /* do a 0-length write, hopefully this will generate
+ an EOF (hangup) on the slave side. */
+ write(pty_master, inpacket_buf, 0);
+ if (recordf)
+ if (!record_write(recordf, 4, NULL, 0, &lasttime))
+ recordf = NULL;
+ } else {
+ FD_SET(pty_master, &writey);
+ if (recordf)
+ if (!record_write(recordf, 2, ibufp, nibuf, &lasttime))
+ recordf = NULL;
+ }
+ }
+ if (FD_ISSET(pty_master, &ready)) {
+ obufp = outpacket_buf;
+ nobuf = read(pty_master, obufp, PPP_MRU + PPP_HDRLEN);
+ if (nobuf < 0 && errno == EIO)
+ nobuf = 0;
+ if (nobuf < 0) {
+ if (!(errno == EINTR || errno == EAGAIN)) {
+ error("Error reading pseudo-tty master: %m");
+ break;
+ }
+ nobuf = 0;
+ } else if (nobuf == 0) {
+ /* end of file from the pty - slave side has closed */
+ pty_readable = 0;
+ stdin_readable = 0; /* pty is not writable now */
+ nibuf = 0;
+ close(ofd);
+ if (recordf)
+ if (!record_write(recordf, 3, NULL, 0, &lasttime))
+ recordf = NULL;
+ } else {
+ FD_SET(ofd, &writey);
+ if (recordf)
+ if (!record_write(recordf, 1, obufp, nobuf, &lasttime))
+ recordf = NULL;
+ }
+ }
+ if (FD_ISSET(ofd, &writey)) {
+ n = nobuf;
+ if (olevel + n > max_level)
+ n = max_level - olevel;
+ n = write(ofd, obufp, n);
+ if (n < 0) {
+ if (errno == EIO) {
+ pty_readable = 0;
+ nobuf = 0;
+ } else if (errno != EAGAIN && errno != EINTR) {
+ error("Error writing standard output: %m");
+ break;
+ }
+ } else {
+ obufp += n;
+ nobuf -= n;
+ olevel += n;
+ }
+ }
+ if (FD_ISSET(pty_master, &writey)) {
+ n = nibuf;
+ if (ilevel + n > max_level)
+ n = max_level - ilevel;
+ n = write(pty_master, ibufp, n);
+ if (n < 0) {
+ if (errno == EIO) {
+ stdin_readable = 0;
+ nibuf = 0;
+ } else if (errno != EAGAIN && errno != EINTR) {
+ error("Error writing pseudo-tty master: %m");
+ break;
+ }
+ } else {
+ ibufp += n;
+ nibuf -= n;
+ ilevel += n;
+ }
+ }
+ }
+ exit(0);
+}
+
+static int
+record_write(f, code, buf, nb, tp)
+ FILE *f;
+ int code;
+ u_char *buf;
+ int nb;
+ struct timeval *tp;
+{
+ struct timeval now;
+ int diff;
+
+ gettimeofday(&now, NULL);
+ now.tv_usec /= 100000; /* actually 1/10 s, not usec now */
+ diff = (now.tv_sec - tp->tv_sec) * 10 + (now.tv_usec - tp->tv_usec);
+ if (diff > 0) {
+ if (diff > 255) {
+ putc(5, f);
+ putc(diff >> 24, f);
+ putc(diff >> 16, f);
+ putc(diff >> 8, f);
+ putc(diff, f);
+ } else {
+ putc(6, f);
+ putc(diff, f);
+ }
+ *tp = now;
+ }
+ putc(code, f);
+ if (buf != NULL) {
+ putc(nb >> 8, f);
+ putc(nb, f);
+ fwrite(buf, nb, 1, f);
+ }
+ fflush(f);
+ if (ferror(f)) {
+ error("Error writing record file: %m");
+ return 0;
+ }
+ return 1;
+}
diff --git a/mdk-stage1/ppp/pppd/upap.c b/mdk-stage1/ppp/pppd/upap.c
new file mode 100644
index 000000000..a0bdf30b7
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/upap.c
@@ -0,0 +1,640 @@
+/*
+ * upap.c - User/Password Authentication Protocol.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: upap.c 6001 2001-06-11 11:44:34Z gc $"
+
+/*
+ * TODO:
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+#include "pppd.h"
+#include "upap.h"
+
+static const char rcsid[] = RCSID;
+
+static bool hide_password = 1;
+
+/*
+ * Command-line options.
+ */
+static option_t pap_option_list[] = {
+ { "hide-password", o_bool, &hide_password,
+ "Don't output passwords to log", OPT_PRIO | 1 },
+ { "show-password", o_bool, &hide_password,
+ "Show password string in debug log messages", OPT_PRIOSUB | 0 },
+
+ { "pap-restart", o_int, &upap[0].us_timeouttime,
+ "Set retransmit timeout for PAP", OPT_PRIO },
+ { "pap-max-authreq", o_int, &upap[0].us_maxtransmits,
+ "Set max number of transmissions for auth-reqs", OPT_PRIO },
+ { "pap-timeout", o_int, &upap[0].us_reqtimeout,
+ "Set time limit for peer PAP authentication", OPT_PRIO },
+
+ { NULL }
+};
+
+/*
+ * Protocol entry points.
+ */
+static void upap_init __P((int));
+static void upap_lowerup __P((int));
+static void upap_lowerdown __P((int));
+static void upap_input __P((int, u_char *, int));
+static void upap_protrej __P((int));
+static int upap_printpkt __P((u_char *, int,
+ void (*) __P((void *, char *, ...)), void *));
+
+struct protent pap_protent = {
+ PPP_PAP,
+ upap_init,
+ upap_input,
+ upap_protrej,
+ upap_lowerup,
+ upap_lowerdown,
+ NULL,
+ NULL,
+ upap_printpkt,
+ NULL,
+ 1,
+ "PAP",
+ NULL,
+ pap_option_list,
+ NULL,
+ NULL,
+ NULL
+};
+
+upap_state upap[NUM_PPP]; /* UPAP state; one for each unit */
+
+static void upap_timeout __P((void *));
+static void upap_reqtimeout __P((void *));
+static void upap_rauthreq __P((upap_state *, u_char *, int, int));
+static void upap_rauthack __P((upap_state *, u_char *, int, int));
+static void upap_rauthnak __P((upap_state *, u_char *, int, int));
+static void upap_sauthreq __P((upap_state *));
+static void upap_sresp __P((upap_state *, int, int, char *, int));
+
+
+/*
+ * upap_init - Initialize a UPAP unit.
+ */
+static void
+upap_init(unit)
+ int unit;
+{
+ upap_state *u = &upap[unit];
+
+ u->us_unit = unit;
+ u->us_user = NULL;
+ u->us_userlen = 0;
+ u->us_passwd = NULL;
+ u->us_passwdlen = 0;
+ u->us_clientstate = UPAPCS_INITIAL;
+ u->us_serverstate = UPAPSS_INITIAL;
+ u->us_id = 0;
+ u->us_timeouttime = UPAP_DEFTIMEOUT;
+ u->us_maxtransmits = 10;
+ u->us_reqtimeout = UPAP_DEFREQTIME;
+}
+
+
+/*
+ * upap_authwithpeer - Authenticate us with our peer (start client).
+ *
+ * Set new state and send authenticate's.
+ */
+void
+upap_authwithpeer(unit, user, password)
+ int unit;
+ char *user, *password;
+{
+ upap_state *u = &upap[unit];
+
+ /* Save the username and password we're given */
+ u->us_user = user;
+ u->us_userlen = strlen(user);
+ u->us_passwd = password;
+ u->us_passwdlen = strlen(password);
+ u->us_transmits = 0;
+
+ /* Lower layer up yet? */
+ if (u->us_clientstate == UPAPCS_INITIAL ||
+ u->us_clientstate == UPAPCS_PENDING) {
+ u->us_clientstate = UPAPCS_PENDING;
+ return;
+ }
+
+ upap_sauthreq(u); /* Start protocol */
+}
+
+
+/*
+ * upap_authpeer - Authenticate our peer (start server).
+ *
+ * Set new state.
+ */
+void
+upap_authpeer(unit)
+ int unit;
+{
+ upap_state *u = &upap[unit];
+
+ /* Lower layer up yet? */
+ if (u->us_serverstate == UPAPSS_INITIAL ||
+ u->us_serverstate == UPAPSS_PENDING) {
+ u->us_serverstate = UPAPSS_PENDING;
+ return;
+ }
+
+ u->us_serverstate = UPAPSS_LISTEN;
+ if (u->us_reqtimeout > 0)
+ TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
+}
+
+
+/*
+ * upap_timeout - Retransmission timer for sending auth-reqs expired.
+ */
+static void
+upap_timeout(arg)
+ void *arg;
+{
+ upap_state *u = (upap_state *) arg;
+
+ if (u->us_clientstate != UPAPCS_AUTHREQ)
+ return;
+
+ if (u->us_transmits >= u->us_maxtransmits) {
+ /* give up in disgust */
+ error("No response to PAP authenticate-requests");
+ u->us_clientstate = UPAPCS_BADAUTH;
+ auth_withpeer_fail(u->us_unit, PPP_PAP);
+ return;
+ }
+
+ upap_sauthreq(u); /* Send Authenticate-Request */
+}
+
+
+/*
+ * upap_reqtimeout - Give up waiting for the peer to send an auth-req.
+ */
+static void
+upap_reqtimeout(arg)
+ void *arg;
+{
+ upap_state *u = (upap_state *) arg;
+
+ if (u->us_serverstate != UPAPSS_LISTEN)
+ return; /* huh?? */
+
+ auth_peer_fail(u->us_unit, PPP_PAP);
+ u->us_serverstate = UPAPSS_BADAUTH;
+}
+
+
+/*
+ * upap_lowerup - The lower layer is up.
+ *
+ * Start authenticating if pending.
+ */
+static void
+upap_lowerup(unit)
+ int unit;
+{
+ upap_state *u = &upap[unit];
+
+ if (u->us_clientstate == UPAPCS_INITIAL)
+ u->us_clientstate = UPAPCS_CLOSED;
+ else if (u->us_clientstate == UPAPCS_PENDING) {
+ upap_sauthreq(u); /* send an auth-request */
+ }
+
+ if (u->us_serverstate == UPAPSS_INITIAL)
+ u->us_serverstate = UPAPSS_CLOSED;
+ else if (u->us_serverstate == UPAPSS_PENDING) {
+ u->us_serverstate = UPAPSS_LISTEN;
+ if (u->us_reqtimeout > 0)
+ TIMEOUT(upap_reqtimeout, u, u->us_reqtimeout);
+ }
+}
+
+
+/*
+ * upap_lowerdown - The lower layer is down.
+ *
+ * Cancel all timeouts.
+ */
+static void
+upap_lowerdown(unit)
+ int unit;
+{
+ upap_state *u = &upap[unit];
+
+ if (u->us_clientstate == UPAPCS_AUTHREQ) /* Timeout pending? */
+ UNTIMEOUT(upap_timeout, u); /* Cancel timeout */
+ if (u->us_serverstate == UPAPSS_LISTEN && u->us_reqtimeout > 0)
+ UNTIMEOUT(upap_reqtimeout, u);
+
+ u->us_clientstate = UPAPCS_INITIAL;
+ u->us_serverstate = UPAPSS_INITIAL;
+}
+
+
+/*
+ * upap_protrej - Peer doesn't speak this protocol.
+ *
+ * This shouldn't happen. In any case, pretend lower layer went down.
+ */
+static void
+upap_protrej(unit)
+ int unit;
+{
+ upap_state *u = &upap[unit];
+
+ if (u->us_clientstate == UPAPCS_AUTHREQ) {
+ error("PAP authentication failed due to protocol-reject");
+ auth_withpeer_fail(unit, PPP_PAP);
+ }
+ if (u->us_serverstate == UPAPSS_LISTEN) {
+ error("PAP authentication of peer failed (protocol-reject)");
+ auth_peer_fail(unit, PPP_PAP);
+ }
+ upap_lowerdown(unit);
+}
+
+
+/*
+ * upap_input - Input UPAP packet.
+ */
+static void
+upap_input(unit, inpacket, l)
+ int unit;
+ u_char *inpacket;
+ int l;
+{
+ upap_state *u = &upap[unit];
+ u_char *inp;
+ u_char code, id;
+ int len;
+
+ /*
+ * Parse header (code, id and length).
+ * If packet too short, drop it.
+ */
+ inp = inpacket;
+ if (l < UPAP_HEADERLEN) {
+ UPAPDEBUG(("pap_input: rcvd short header."));
+ return;
+ }
+ GETCHAR(code, inp);
+ GETCHAR(id, inp);
+ GETSHORT(len, inp);
+ if (len < UPAP_HEADERLEN) {
+ UPAPDEBUG(("pap_input: rcvd illegal length."));
+ return;
+ }
+ if (len > l) {
+ UPAPDEBUG(("pap_input: rcvd short packet."));
+ return;
+ }
+ len -= UPAP_HEADERLEN;
+
+ /*
+ * Action depends on code.
+ */
+ switch (code) {
+ case UPAP_AUTHREQ:
+ upap_rauthreq(u, inp, id, len);
+ break;
+
+ case UPAP_AUTHACK:
+ upap_rauthack(u, inp, id, len);
+ break;
+
+ case UPAP_AUTHNAK:
+ upap_rauthnak(u, inp, id, len);
+ break;
+
+ default: /* XXX Need code reject */
+ break;
+ }
+}
+
+
+/*
+ * upap_rauth - Receive Authenticate.
+ */
+static void
+upap_rauthreq(u, inp, id, len)
+ upap_state *u;
+ u_char *inp;
+ int id;
+ int len;
+{
+ u_char ruserlen, rpasswdlen;
+ char *ruser, *rpasswd;
+ int retcode;
+ char *msg;
+ int msglen;
+
+ if (u->us_serverstate < UPAPSS_LISTEN)
+ return;
+
+ /*
+ * If we receive a duplicate authenticate-request, we are
+ * supposed to return the same status as for the first request.
+ */
+ if (u->us_serverstate == UPAPSS_OPEN) {
+ upap_sresp(u, UPAP_AUTHACK, id, "", 0); /* return auth-ack */
+ return;
+ }
+ if (u->us_serverstate == UPAPSS_BADAUTH) {
+ upap_sresp(u, UPAP_AUTHNAK, id, "", 0); /* return auth-nak */
+ return;
+ }
+
+ /*
+ * Parse user/passwd.
+ */
+ if (len < 1) {
+ UPAPDEBUG(("pap_rauth: rcvd short packet."));
+ return;
+ }
+ GETCHAR(ruserlen, inp);
+ len -= sizeof (u_char) + ruserlen + sizeof (u_char);
+ if (len < 0) {
+ UPAPDEBUG(("pap_rauth: rcvd short packet."));
+ return;
+ }
+ ruser = (char *) inp;
+ INCPTR(ruserlen, inp);
+ GETCHAR(rpasswdlen, inp);
+ if (len < rpasswdlen) {
+ UPAPDEBUG(("pap_rauth: rcvd short packet."));
+ return;
+ }
+ rpasswd = (char *) inp;
+
+ /*
+ * Check the username and password given.
+ */
+ retcode = check_passwd(u->us_unit, ruser, ruserlen, rpasswd,
+ rpasswdlen, &msg);
+ BZERO(rpasswd, rpasswdlen);
+ msglen = strlen(msg);
+ if (msglen > 255)
+ msglen = 255;
+
+ upap_sresp(u, retcode, id, msg, msglen);
+
+ if (retcode == UPAP_AUTHACK) {
+ u->us_serverstate = UPAPSS_OPEN;
+ auth_peer_success(u->us_unit, PPP_PAP, ruser, ruserlen);
+ } else {
+ u->us_serverstate = UPAPSS_BADAUTH;
+ auth_peer_fail(u->us_unit, PPP_PAP);
+ }
+
+ if (u->us_reqtimeout > 0)
+ UNTIMEOUT(upap_reqtimeout, u);
+}
+
+
+/*
+ * upap_rauthack - Receive Authenticate-Ack.
+ */
+static void
+upap_rauthack(u, inp, id, len)
+ upap_state *u;
+ u_char *inp;
+ int id;
+ int len;
+{
+ u_char msglen;
+ char *msg;
+
+ if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
+ return;
+
+ /*
+ * Parse message.
+ */
+ if (len < 1) {
+ UPAPDEBUG(("pap_rauthack: ignoring missing msg-length."));
+ } else {
+ GETCHAR(msglen, inp);
+ if (msglen > 0) {
+ len -= sizeof (u_char);
+ if (len < msglen) {
+ UPAPDEBUG(("pap_rauthack: rcvd short packet."));
+ return;
+ }
+ msg = (char *) inp;
+ PRINTMSG(msg, msglen);
+ }
+ }
+
+ u->us_clientstate = UPAPCS_OPEN;
+
+ auth_withpeer_success(u->us_unit, PPP_PAP);
+}
+
+
+/*
+ * upap_rauthnak - Receive Authenticate-Nakk.
+ */
+static void
+upap_rauthnak(u, inp, id, len)
+ upap_state *u;
+ u_char *inp;
+ int id;
+ int len;
+{
+ u_char msglen;
+ char *msg;
+
+ if (u->us_clientstate != UPAPCS_AUTHREQ) /* XXX */
+ return;
+
+ /*
+ * Parse message.
+ */
+ if (len < 1) {
+ UPAPDEBUG(("pap_rauthnak: ignoring missing msg-length."));
+ } else {
+ GETCHAR(msglen, inp);
+ if (msglen > 0) {
+ len -= sizeof (u_char);
+ if (len < msglen) {
+ UPAPDEBUG(("pap_rauthnak: rcvd short packet."));
+ return;
+ }
+ msg = (char *) inp;
+ PRINTMSG(msg, msglen);
+ }
+ }
+
+ u->us_clientstate = UPAPCS_BADAUTH;
+
+ error("PAP authentication failed");
+ auth_withpeer_fail(u->us_unit, PPP_PAP);
+}
+
+
+/*
+ * upap_sauthreq - Send an Authenticate-Request.
+ */
+static void
+upap_sauthreq(u)
+ upap_state *u;
+{
+ u_char *outp;
+ int outlen;
+
+ outlen = UPAP_HEADERLEN + 2 * sizeof (u_char) +
+ u->us_userlen + u->us_passwdlen;
+ outp = outpacket_buf;
+
+ MAKEHEADER(outp, PPP_PAP);
+
+ PUTCHAR(UPAP_AUTHREQ, outp);
+ PUTCHAR(++u->us_id, outp);
+ PUTSHORT(outlen, outp);
+ PUTCHAR(u->us_userlen, outp);
+ BCOPY(u->us_user, outp, u->us_userlen);
+ INCPTR(u->us_userlen, outp);
+ PUTCHAR(u->us_passwdlen, outp);
+ BCOPY(u->us_passwd, outp, u->us_passwdlen);
+
+ output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
+
+ TIMEOUT(upap_timeout, u, u->us_timeouttime);
+ ++u->us_transmits;
+ u->us_clientstate = UPAPCS_AUTHREQ;
+}
+
+
+/*
+ * upap_sresp - Send a response (ack or nak).
+ */
+static void
+upap_sresp(u, code, id, msg, msglen)
+ upap_state *u;
+ u_char code, id;
+ char *msg;
+ int msglen;
+{
+ u_char *outp;
+ int outlen;
+
+ outlen = UPAP_HEADERLEN + sizeof (u_char) + msglen;
+ outp = outpacket_buf;
+ MAKEHEADER(outp, PPP_PAP);
+
+ PUTCHAR(code, outp);
+ PUTCHAR(id, outp);
+ PUTSHORT(outlen, outp);
+ PUTCHAR(msglen, outp);
+ BCOPY(msg, outp, msglen);
+ output(u->us_unit, outpacket_buf, outlen + PPP_HDRLEN);
+}
+
+/*
+ * upap_printpkt - print the contents of a PAP packet.
+ */
+static char *upap_codenames[] = {
+ "AuthReq", "AuthAck", "AuthNak"
+};
+
+static int
+upap_printpkt(p, plen, printer, arg)
+ u_char *p;
+ int plen;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int code, id, len;
+ int mlen, ulen, wlen;
+ char *user, *pwd, *msg;
+ u_char *pstart;
+
+ if (plen < UPAP_HEADERLEN)
+ return 0;
+ pstart = p;
+ GETCHAR(code, p);
+ GETCHAR(id, p);
+ GETSHORT(len, p);
+ if (len < UPAP_HEADERLEN || len > plen)
+ return 0;
+
+ if (code >= 1 && code <= sizeof(upap_codenames) / sizeof(char *))
+ printer(arg, " %s", upap_codenames[code-1]);
+ else
+ printer(arg, " code=0x%x", code);
+ printer(arg, " id=0x%x", id);
+ len -= UPAP_HEADERLEN;
+ switch (code) {
+ case UPAP_AUTHREQ:
+ if (len < 1)
+ break;
+ ulen = p[0];
+ if (len < ulen + 2)
+ break;
+ wlen = p[ulen + 1];
+ if (len < ulen + wlen + 2)
+ break;
+ user = (char *) (p + 1);
+ pwd = (char *) (p + ulen + 2);
+ p += ulen + wlen + 2;
+ len -= ulen + wlen + 2;
+ printer(arg, " user=");
+ print_string(user, ulen, printer, arg);
+ printer(arg, " password=");
+ if (!hide_password)
+ print_string(pwd, wlen, printer, arg);
+ else
+ printer(arg, "<hidden>");
+ break;
+ case UPAP_AUTHACK:
+ case UPAP_AUTHNAK:
+ if (len < 1)
+ break;
+ mlen = p[0];
+ if (len < mlen + 1)
+ break;
+ msg = (char *) (p + 1);
+ p += mlen + 1;
+ len -= mlen + 1;
+ printer(arg, " ");
+ print_string(msg, mlen, printer, arg);
+ break;
+ }
+
+ /* print the rest of the bytes in the packet */
+ for (; len > 0; --len) {
+ GETCHAR(code, p);
+ printer(arg, " %.2x", code);
+ }
+
+ return p - pstart;
+}
diff --git a/mdk-stage1/ppp/pppd/upap.h b/mdk-stage1/ppp/pppd/upap.h
new file mode 100644
index 000000000..25690975a
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/upap.h
@@ -0,0 +1,87 @@
+/*
+ * upap.h - User/Password Authentication Protocol definitions.
+ *
+ * Copyright (c) 1989 Carnegie Mellon University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by Carnegie Mellon University. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Id: upap.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * Packet header = Code, id, length.
+ */
+#define UPAP_HEADERLEN 4
+
+
+/*
+ * UPAP codes.
+ */
+#define UPAP_AUTHREQ 1 /* Authenticate-Request */
+#define UPAP_AUTHACK 2 /* Authenticate-Ack */
+#define UPAP_AUTHNAK 3 /* Authenticate-Nak */
+
+
+/*
+ * Each interface is described by upap structure.
+ */
+typedef struct upap_state {
+ int us_unit; /* Interface unit number */
+ char *us_user; /* User */
+ int us_userlen; /* User length */
+ char *us_passwd; /* Password */
+ int us_passwdlen; /* Password length */
+ int us_clientstate; /* Client state */
+ int us_serverstate; /* Server state */
+ u_char us_id; /* Current id */
+ int us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
+ int us_transmits; /* Number of auth-reqs sent */
+ int us_maxtransmits; /* Maximum number of auth-reqs to send */
+ int us_reqtimeout; /* Time to wait for auth-req from peer */
+} upap_state;
+
+
+/*
+ * Client states.
+ */
+#define UPAPCS_INITIAL 0 /* Connection down */
+#define UPAPCS_CLOSED 1 /* Connection up, haven't requested auth */
+#define UPAPCS_PENDING 2 /* Connection down, have requested auth */
+#define UPAPCS_AUTHREQ 3 /* We've sent an Authenticate-Request */
+#define UPAPCS_OPEN 4 /* We've received an Ack */
+#define UPAPCS_BADAUTH 5 /* We've received a Nak */
+
+/*
+ * Server states.
+ */
+#define UPAPSS_INITIAL 0 /* Connection down */
+#define UPAPSS_CLOSED 1 /* Connection up, haven't requested auth */
+#define UPAPSS_PENDING 2 /* Connection down, have requested auth */
+#define UPAPSS_LISTEN 3 /* Listening for an Authenticate */
+#define UPAPSS_OPEN 4 /* We've sent an Ack */
+#define UPAPSS_BADAUTH 5 /* We've sent a Nak */
+
+
+/*
+ * Timeouts.
+ */
+#define UPAP_DEFTIMEOUT 3 /* Timeout (seconds) for retransmitting req */
+#define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */
+
+extern upap_state upap[];
+
+void upap_authwithpeer __P((int, char *, char *));
+void upap_authpeer __P((int));
+
+extern struct protent pap_protent;
diff --git a/mdk-stage1/ppp/pppd/utils.c b/mdk-stage1/ppp/pppd/utils.c
new file mode 100644
index 000000000..55248d6f4
--- /dev/null
+++ b/mdk-stage1/ppp/pppd/utils.c
@@ -0,0 +1,949 @@
+/*
+ * utils.c - various utility functions used in pppd.
+ *
+ * Copyright (c) 1999 The Australian National University.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the Australian National University. The name of the University
+ * may not be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#define RCSID "$Id: utils.c 13877 2003-08-19 08:57:26Z gbeauchesne $"
+
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <syslog.h>
+#include <netdb.h>
+#include <utmp.h>
+#include <pwd.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#ifdef SVR4
+#include <sys/mkdev.h>
+#endif
+
+#include "pppd.h"
+#include <time.h>
+
+static const char rcsid[] = RCSID;
+
+#if defined(SUNOS4)
+extern char *strerror();
+#endif
+
+static void logit __P((int, char *, va_list));
+static void log_write __P((int, char *));
+static void vslp_printer __P((void *, char *, ...));
+static void format_packet __P((u_char *, int, void (*) (void *, char *, ...),
+ void *));
+
+struct buffer_info {
+ char *ptr;
+ int len;
+};
+
+/*
+ * strlcpy - like strcpy/strncpy, doesn't overflow destination buffer,
+ * always leaves destination null-terminated (for len > 0).
+ */
+size_t
+strlcpy(dest, src, len)
+ char *dest;
+ const char *src;
+ size_t len;
+{
+ size_t ret = strlen(src);
+
+ if (len != 0) {
+ if (ret < len)
+ strcpy(dest, src);
+ else {
+ strncpy(dest, src, len - 1);
+ dest[len-1] = 0;
+ }
+ }
+ return ret;
+}
+
+/*
+ * strlcat - like strcat/strncat, doesn't overflow destination buffer,
+ * always leaves destination null-terminated (for len > 0).
+ */
+size_t
+strlcat(dest, src, len)
+ char *dest;
+ const char *src;
+ size_t len;
+{
+ size_t dlen = strlen(dest);
+
+ return dlen + strlcpy(dest + dlen, src, (len > dlen? len - dlen: 0));
+}
+
+
+/*
+ * slprintf - format a message into a buffer. Like sprintf except we
+ * also specify the length of the output buffer, and we handle
+ * %r (recursive format), %m (error message), %v (visible string),
+ * %q (quoted string), %t (current time) and %I (IP address) formats.
+ * Doesn't do floating-point formats.
+ * Returns the number of chars put into buf.
+ */
+int
+slprintf __V((char *buf, int buflen, char *fmt, ...))
+{
+ va_list args;
+ int n;
+
+#if defined(__STDC__)
+ va_start(args, fmt);
+#else
+ char *buf;
+ int buflen;
+ char *fmt;
+ va_start(args);
+ buf = va_arg(args, char *);
+ buflen = va_arg(args, int);
+ fmt = va_arg(args, char *);
+#endif
+ n = vslprintf(buf, buflen, fmt, args);
+ va_end(args);
+ return n;
+}
+
+/*
+ * vslprintf - like slprintf, takes a va_list instead of a list of args.
+ */
+#define OUTCHAR(c) (buflen > 0? (--buflen, *buf++ = (c)): 0)
+
+int
+vslprintf(buf, buflen, fmt, args)
+ char *buf;
+ int buflen;
+ char *fmt;
+ va_list args;
+{
+ int c, i, n;
+ int width, prec, fillch;
+ int base, len, neg, quoted;
+ unsigned long val = 0;
+ char *str, *f, *buf0;
+ unsigned char *p;
+ char num[32];
+ time_t t;
+ u_int32_t ip;
+ static char hexchars[] = "0123456789abcdef";
+ struct buffer_info bufinfo;
+
+ buf0 = buf;
+ --buflen;
+ while (buflen > 0) {
+ for (f = fmt; *f != '%' && *f != 0; ++f)
+ ;
+ if (f > fmt) {
+ len = f - fmt;
+ if (len > buflen)
+ len = buflen;
+ memcpy(buf, fmt, len);
+ buf += len;
+ buflen -= len;
+ fmt = f;
+ }
+ if (*fmt == 0)
+ break;
+ c = *++fmt;
+ width = 0;
+ prec = -1;
+ fillch = ' ';
+ if (c == '0') {
+ fillch = '0';
+ c = *++fmt;
+ }
+ if (c == '*') {
+ width = va_arg(args, int);
+ c = *++fmt;
+ } else {
+ while (isdigit(c)) {
+ width = width * 10 + c - '0';
+ c = *++fmt;
+ }
+ }
+ if (c == '.') {
+ c = *++fmt;
+ if (c == '*') {
+ prec = va_arg(args, int);
+ c = *++fmt;
+ } else {
+ prec = 0;
+ while (isdigit(c)) {
+ prec = prec * 10 + c - '0';
+ c = *++fmt;
+ }
+ }
+ }
+ str = 0;
+ base = 0;
+ neg = 0;
+ ++fmt;
+ switch (c) {
+ case 'd':
+ i = va_arg(args, int);
+ if (i < 0) {
+ neg = 1;
+ val = -i;
+ } else
+ val = i;
+ base = 10;
+ break;
+ case 'u':
+ val = va_arg(args, unsigned int);
+ base = 10;
+ break;
+ case 'o':
+ val = va_arg(args, unsigned int);
+ base = 8;
+ break;
+ case 'x':
+ case 'X':
+ val = va_arg(args, unsigned int);
+ base = 16;
+ break;
+ case 'p':
+ val = (unsigned long) va_arg(args, void *);
+ base = 16;
+ neg = 2;
+ break;
+ case 's':
+ str = va_arg(args, char *);
+ break;
+ case 'c':
+ num[0] = va_arg(args, int);
+ num[1] = 0;
+ str = num;
+ break;
+ case 'm':
+ str = strerror(errno);
+ break;
+ case 'I':
+ ip = va_arg(args, u_int32_t);
+ ip = ntohl(ip);
+ slprintf(num, sizeof(num), "%d.%d.%d.%d", (ip >> 24) & 0xff,
+ (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff);
+ str = num;
+ break;
+ case 'r':
+ f = va_arg(args, char *);
+#if !defined(__powerpc__) && !defined(__x86_64__)
+ n = vslprintf(buf, buflen + 1, f, va_arg(args, va_list));
+#else
+ /* On the powerpc, a va_list is an array of 1 structure */
+ n = vslprintf(buf, buflen + 1, f, va_arg(args, void *));
+#endif
+ buf += n;
+ buflen -= n;
+ continue;
+ case 't':
+ time(&t);
+ str = ctime(&t);
+ str += 4; /* chop off the day name */
+ str[15] = 0; /* chop off year and newline */
+ break;
+ case 'v': /* "visible" string */
+ case 'q': /* quoted string */
+ quoted = c == 'q';
+ p = va_arg(args, unsigned char *);
+ if (fillch == '0' && prec >= 0) {
+ n = prec;
+ } else {
+ n = strlen((char *)p);
+ if (prec >= 0 && n > prec)
+ n = prec;
+ }
+ while (n > 0 && buflen > 0) {
+ c = *p++;
+ --n;
+ if (!quoted && c >= 0x80) {
+ OUTCHAR('M');
+ OUTCHAR('-');
+ c -= 0x80;
+ }
+ if (quoted && (c == '"' || c == '\\'))
+ OUTCHAR('\\');
+ if (c < 0x20 || (0x7f <= c && c < 0xa0)) {
+ if (quoted) {
+ OUTCHAR('\\');
+ switch (c) {
+ case '\t': OUTCHAR('t'); break;
+ case '\n': OUTCHAR('n'); break;
+ case '\b': OUTCHAR('b'); break;
+ case '\f': OUTCHAR('f'); break;
+ default:
+ OUTCHAR('x');
+ OUTCHAR(hexchars[c >> 4]);
+ OUTCHAR(hexchars[c & 0xf]);
+ }
+ } else {
+ if (c == '\t')
+ OUTCHAR(c);
+ else {
+ OUTCHAR('^');
+ OUTCHAR(c ^ 0x40);
+ }
+ }
+ } else
+ OUTCHAR(c);
+ }
+ continue;
+ case 'P': /* print PPP packet */
+ bufinfo.ptr = buf;
+ bufinfo.len = buflen + 1;
+ p = va_arg(args, unsigned char *);
+ n = va_arg(args, int);
+ format_packet(p, n, vslp_printer, &bufinfo);
+ buf = bufinfo.ptr;
+ buflen = bufinfo.len - 1;
+ continue;
+ case 'B':
+ p = va_arg(args, unsigned char *);
+ for (n = prec; n > 0; --n) {
+ c = *p++;
+ if (fillch == ' ')
+ OUTCHAR(' ');
+ OUTCHAR(hexchars[(c >> 4) & 0xf]);
+ OUTCHAR(hexchars[c & 0xf]);
+ }
+ continue;
+ default:
+ *buf++ = '%';
+ if (c != '%')
+ --fmt; /* so %z outputs %z etc. */
+ --buflen;
+ continue;
+ }
+ if (base != 0) {
+ str = num + sizeof(num);
+ *--str = 0;
+ while (str > num + neg) {
+ *--str = hexchars[val % base];
+ val = val / base;
+ if (--prec <= 0 && val == 0)
+ break;
+ }
+ switch (neg) {
+ case 1:
+ *--str = '-';
+ break;
+ case 2:
+ *--str = 'x';
+ *--str = '0';
+ break;
+ }
+ len = num + sizeof(num) - 1 - str;
+ } else {
+ len = strlen(str);
+ if (prec >= 0 && len > prec)
+ len = prec;
+ }
+ if (width > 0) {
+ if (width > buflen)
+ width = buflen;
+ if ((n = width - len) > 0) {
+ buflen -= n;
+ for (; n > 0; --n)
+ *buf++ = fillch;
+ }
+ }
+ if (len > buflen)
+ len = buflen;
+ memcpy(buf, str, len);
+ buf += len;
+ buflen -= len;
+ }
+ *buf = 0;
+ return buf - buf0;
+}
+
+/*
+ * vslp_printer - used in processing a %P format
+ */
+static void
+vslp_printer __V((void *arg, char *fmt, ...))
+{
+ int n;
+ va_list pvar;
+ struct buffer_info *bi;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ void *arg;
+ char *fmt;
+ va_start(pvar);
+ arg = va_arg(pvar, void *);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ bi = (struct buffer_info *) arg;
+ n = vslprintf(bi->ptr, bi->len, fmt, pvar);
+ va_end(pvar);
+
+ bi->ptr += n;
+ bi->len -= n;
+}
+
+#ifdef unused
+/*
+ * log_packet - format a packet and log it.
+ */
+
+void
+log_packet(p, len, prefix, level)
+ u_char *p;
+ int len;
+ char *prefix;
+ int level;
+{
+ init_pr_log(prefix, level);
+ format_packet(p, len, pr_log, &level);
+ end_pr_log();
+}
+#endif /* unused */
+
+/*
+ * format_packet - make a readable representation of a packet,
+ * calling `printer(arg, format, ...)' to output it.
+ */
+static void
+format_packet(p, len, printer, arg)
+ u_char *p;
+ int len;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int i, n;
+ u_short proto;
+ struct protent *protp;
+
+ if (len >= PPP_HDRLEN && p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) {
+ p += 2;
+ GETSHORT(proto, p);
+ len -= PPP_HDRLEN;
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (proto == protp->protocol)
+ break;
+ if (protp != NULL) {
+ printer(arg, "[%s", protp->name);
+ n = (*protp->printpkt)(p, len, printer, arg);
+ printer(arg, "]");
+ p += n;
+ len -= n;
+ } else {
+ for (i = 0; (protp = protocols[i]) != NULL; ++i)
+ if (proto == (protp->protocol & ~0x8000))
+ break;
+ if (protp != 0 && protp->data_name != 0) {
+ printer(arg, "[%s data]", protp->data_name);
+ if (len > 8)
+ printer(arg, "%.8B ...", p);
+ else
+ printer(arg, "%.*B", len, p);
+ len = 0;
+ } else
+ printer(arg, "[proto=0x%x]", proto);
+ }
+ }
+
+ if (len > 32)
+ printer(arg, "%.32B ...", p);
+ else
+ printer(arg, "%.*B", len, p);
+}
+
+/*
+ * init_pr_log, end_pr_log - initialize and finish use of pr_log.
+ */
+
+static char line[256]; /* line to be logged accumulated here */
+static char *linep; /* current pointer within line */
+static int llevel; /* level for logging */
+
+void
+init_pr_log(prefix, level)
+ char *prefix;
+ int level;
+{
+ linep = line;
+ if (prefix != NULL) {
+ strlcpy(line, prefix, sizeof(line));
+ linep = line + strlen(line);
+ }
+ llevel = level;
+}
+
+void
+end_pr_log()
+{
+ if (linep != line) {
+ *linep = 0;
+ log_write(llevel, line);
+ }
+}
+
+/*
+ * pr_log - printer routine for outputting to syslog
+ */
+void
+pr_log __V((void *arg, char *fmt, ...))
+{
+ int l, n;
+ va_list pvar;
+ char *p, *eol;
+ char buf[256];
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ void *arg;
+ char *fmt;
+ va_start(pvar);
+ arg = va_arg(pvar, void *);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ n = vslprintf(buf, sizeof(buf), fmt, pvar);
+ va_end(pvar);
+
+ p = buf;
+ eol = strchr(buf, '\n');
+ if (linep != line) {
+ l = (eol == NULL)? n: eol - buf;
+ if (linep + l < line + sizeof(line)) {
+ if (l > 0) {
+ memcpy(linep, buf, l);
+ linep += l;
+ }
+ if (eol == NULL)
+ return;
+ p = eol + 1;
+ eol = strchr(p, '\n');
+ }
+ *linep = 0;
+ log_write(llevel, line);
+ linep = line;
+ }
+
+ while (eol != NULL) {
+ *eol = 0;
+ log_write(llevel, p);
+ p = eol + 1;
+ eol = strchr(p, '\n');
+ }
+
+ /* assumes sizeof(buf) <= sizeof(line) */
+ l = buf + n - p;
+ if (l > 0) {
+ memcpy(line, p, n);
+ linep = line + l;
+ }
+}
+
+/*
+ * print_string - print a readable representation of a string using
+ * printer.
+ */
+void
+print_string(p, len, printer, arg)
+ char *p;
+ int len;
+ void (*printer) __P((void *, char *, ...));
+ void *arg;
+{
+ int c;
+
+ printer(arg, "\"");
+ for (; len > 0; --len) {
+ c = *p++;
+ if (' ' <= c && c <= '~') {
+ if (c == '\\' || c == '"')
+ printer(arg, "\\");
+ printer(arg, "%c", c);
+ } else {
+ switch (c) {
+ case '\n':
+ printer(arg, "\\n");
+ break;
+ case '\r':
+ printer(arg, "\\r");
+ break;
+ case '\t':
+ printer(arg, "\\t");
+ break;
+ default:
+ printer(arg, "\\%.3o", c);
+ }
+ }
+ }
+ printer(arg, "\"");
+}
+
+/*
+ * logit - does the hard work for fatal et al.
+ */
+static void
+logit(level, fmt, args)
+ int level;
+ char *fmt;
+ va_list args;
+{
+ int n;
+ char buf[1024];
+
+ n = vslprintf(buf, sizeof(buf), fmt, args);
+ log_write(level, buf);
+}
+
+static void
+log_write(level, buf)
+ int level;
+ char *buf;
+{
+ syslog(level, "%s", buf);
+ if (log_to_fd >= 0 && (level != LOG_DEBUG || debug)) {
+ int n = strlen(buf);
+
+ if (n > 0 && buf[n-1] == '\n')
+ --n;
+ if (write(log_to_fd, buf, n) != n
+ || write(log_to_fd, "\n", 1) != 1)
+ log_to_fd = -1;
+ }
+}
+
+/*
+ * fatal - log an error message and die horribly.
+ */
+void
+fatal __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_ERR, fmt, pvar);
+ va_end(pvar);
+
+ die(1); /* as promised */
+}
+
+/*
+ * error - log an error message.
+ */
+void
+error __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_ERR, fmt, pvar);
+ va_end(pvar);
+}
+
+/*
+ * warn - log a warning message.
+ */
+void
+warn __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_WARNING, fmt, pvar);
+ va_end(pvar);
+}
+
+/*
+ * notice - log a notice-level message.
+ */
+void
+notice __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_NOTICE, fmt, pvar);
+ va_end(pvar);
+}
+
+/*
+ * info - log an informational message.
+ */
+void
+info __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_INFO, fmt, pvar);
+ va_end(pvar);
+}
+
+/*
+ * dbglog - log a debug message.
+ */
+void
+dbglog __V((char *fmt, ...))
+{
+ va_list pvar;
+
+#if defined(__STDC__)
+ va_start(pvar, fmt);
+#else
+ char *fmt;
+ va_start(pvar);
+ fmt = va_arg(pvar, char *);
+#endif
+
+ logit(LOG_DEBUG, fmt, pvar);
+ va_end(pvar);
+}
+
+/* Procedures for locking the serial device using a lock file. */
+#ifndef LOCK_DIR
+#ifdef _linux_
+#define LOCK_DIR "/var/lock"
+#else
+#ifdef SVR4
+#define LOCK_DIR "/var/spool/locks"
+#else
+#define LOCK_DIR "/var/spool/lock"
+#endif
+#endif
+#endif /* LOCK_DIR */
+
+static char lock_file[MAXPATHLEN];
+
+/*
+ * lock - create a lock file for the named device
+ */
+int
+lock(dev)
+ char *dev;
+{
+#ifdef LOCKLIB
+ int result;
+
+ result = mklock (dev, (void *) 0);
+ if (result == 0) {
+ strlcpy(lock_file, sizeof(lock_file), dev);
+ return 0;
+ }
+
+ if (result > 0)
+ notice("Device %s is locked by pid %d", dev, result);
+ else
+ error("Can't create lock file %s", lock_file);
+ return -1;
+
+#else /* LOCKLIB */
+
+ char lock_buffer[12];
+ int fd, pid, n;
+
+#ifdef SVR4
+ struct stat sbuf;
+
+ if (stat(dev, &sbuf) < 0) {
+ error("Can't get device number for %s: %m", dev);
+ return -1;
+ }
+ if ((sbuf.st_mode & S_IFMT) != S_IFCHR) {
+ error("Can't lock %s: not a character device", dev);
+ return -1;
+ }
+ slprintf(lock_file, sizeof(lock_file), "%s/LK.%03d.%03d.%03d",
+ LOCK_DIR, major(sbuf.st_dev),
+ major(sbuf.st_rdev), minor(sbuf.st_rdev));
+#else
+ char *p;
+
+ if ((p = strrchr(dev, '/')) != NULL)
+ dev = p + 1;
+ slprintf(lock_file, sizeof(lock_file), "%s/LCK..%s", LOCK_DIR, dev);
+#endif
+
+ while ((fd = open(lock_file, O_EXCL | O_CREAT | O_RDWR, 0644)) < 0) {
+ if (errno != EEXIST) {
+ error("Can't create lock file %s: %m", lock_file);
+ break;
+ }
+
+ /* Read the lock file to find out who has the device locked. */
+ fd = open(lock_file, O_RDONLY, 0);
+ if (fd < 0) {
+ if (errno == ENOENT) /* This is just a timing problem. */
+ continue;
+ error("Can't open existing lock file %s: %m", lock_file);
+ break;
+ }
+#ifndef LOCK_BINARY
+ n = read(fd, lock_buffer, 11);
+#else
+ n = read(fd, &pid, sizeof(pid));
+#endif /* LOCK_BINARY */
+ close(fd);
+ fd = -1;
+ if (n <= 0) {
+ error("Can't read pid from lock file %s", lock_file);
+ break;
+ }
+
+ /* See if the process still exists. */
+#ifndef LOCK_BINARY
+ lock_buffer[n] = 0;
+ pid = atoi(lock_buffer);
+#endif /* LOCK_BINARY */
+ if (pid == getpid())
+ return 1; /* somebody else locked it for us */
+ if (pid == 0
+ || (kill(pid, 0) == -1 && errno == ESRCH)) {
+ if (unlink (lock_file) == 0) {
+ notice("Removed stale lock on %s (pid %d)", dev, pid);
+ continue;
+ }
+ warn("Couldn't remove stale lock on %s", dev);
+ } else
+ notice("Device %s is locked by pid %d", dev, pid);
+ break;
+ }
+
+ if (fd < 0) {
+ lock_file[0] = 0;
+ return -1;
+ }
+
+ pid = getpid();
+#ifndef LOCK_BINARY
+ slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
+ write (fd, lock_buffer, 11);
+#else
+ write(fd, &pid, sizeof (pid));
+#endif
+ close(fd);
+ return 0;
+
+#endif
+}
+
+/*
+ * relock - called to update our lockfile when we are about to detach,
+ * thus changing our pid (we fork, the child carries on, and the parent dies).
+ * Note that this is called by the parent, with pid equal to the pid
+ * of the child. This avoids a potential race which would exist if
+ * we had the child rewrite the lockfile (the parent might die first,
+ * and another process could think the lock was stale if it checked
+ * between when the parent died and the child rewrote the lockfile).
+ */
+int
+relock(pid)
+ int pid;
+{
+#ifdef LOCKLIB
+ /* XXX is there a way to do this? */
+ return -1;
+#else /* LOCKLIB */
+
+ int fd;
+ char lock_buffer[12];
+
+ if (lock_file[0] == 0)
+ return -1;
+ fd = open(lock_file, O_WRONLY, 0);
+ if (fd < 0) {
+ error("Couldn't reopen lock file %s: %m", lock_file);
+ lock_file[0] = 0;
+ return -1;
+ }
+
+#ifndef LOCK_BINARY
+ slprintf(lock_buffer, sizeof(lock_buffer), "%10d\n", pid);
+ write (fd, lock_buffer, 11);
+#else
+ write(fd, &pid, sizeof(pid));
+#endif /* LOCK_BINARY */
+ close(fd);
+ return 0;
+
+#endif /* LOCKLIB */
+}
+
+/*
+ * unlock - remove our lockfile
+ */
+void
+unlock()
+{
+ if (lock_file[0]) {
+#ifdef LOCKLIB
+ (void) rmlock(lock_file, (void *) 0);
+#else
+ unlink(lock_file);
+#endif
+ lock_file[0] = 0;
+ }
+}
+
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux b/mdk-stage1/ppp/pppdump/Makefile.linux
new file mode 100644
index 000000000..1d8d78ff7
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/Makefile.linux
@@ -0,0 +1,17 @@
+CFLAGS= -I../include/net $(RPM_OPT_FLAGS)
+OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+
+INSTALL= install
+
+all: pppdump
+
+pppdump: $(OBJS)
+ $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
+
+clean:
+ rm -f pppdump $(OBJS) *~
+
+install:
+ mkdir -p $(BINDIR) $(MANDIR)/man8
+ $(INSTALL) -s -c pppdump $(BINDIR)
+ $(INSTALL) -c pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt b/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
new file mode 100644
index 000000000..d02fecde8
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/Makefile.linux.makeopt
@@ -0,0 +1,17 @@
+CFLAGS= -O -I../include/net
+OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+
+INSTALL= install
+
+all: pppdump
+
+pppdump: $(OBJS)
+ $(CC) -o pppdump $(OBJS)
+
+clean:
+ rm -f pppdump $(OBJS) *~
+
+install:
+ mkdir -p $(BINDIR) $(MANDIR)/man8
+ $(INSTALL) -s -c pppdump $(BINDIR)
+ $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile b/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
new file mode 100644
index 000000000..4c98b6c6d
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/Makefile.linux.pppdump-Makefile
@@ -0,0 +1,17 @@
+CFLAGS= -O -I../include/net
+OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+
+INSTALL= install
+
+all: pppdump
+
+pppdump: $(OBJS)
+ $(CC) $(RPM_OPT_FLAGS) -o pppdump $(OBJS)
+
+clean:
+ rm -f pppdump $(OBJS) *~
+
+install:
+ mkdir -p $(BINDIR) $(MANDIR)/man8
+ $(INSTALL) -s -c pppdump $(BINDIR)
+ $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sol2 b/mdk-stage1/ppp/pppdump/Makefile.sol2
new file mode 100644
index 000000000..a905913d2
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/Makefile.sol2
@@ -0,0 +1,21 @@
+#
+# pppdump Makefile for SVR4 systems
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../solaris/Makedefs
+
+CFLAGS= $(COPTS) -I../include/net
+OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+
+all: pppdump
+
+pppdump: $(OBJS)
+ $(CC) -o pppdump $(OBJS)
+
+clean:
+ rm -f $(OBJS) pppdump *~
+
+install:
+ $(INSTALL) -f $(BINDIR) pppdump
+ $(INSTALL) -m 444 -f $(MANDIR)/man8 pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/Makefile.sunos4 b/mdk-stage1/ppp/pppdump/Makefile.sunos4
new file mode 100644
index 000000000..d56a8ccdc
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/Makefile.sunos4
@@ -0,0 +1,21 @@
+#
+# pppstats makefile
+# $Id: Makefile.sunos4 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../sunos4/Makedefs
+
+OBJS = pppdump.o bsd-comp.o deflate.o zlib.o
+CFLAGS = $(COPTS) -I../include/net
+
+all: pppdump
+
+pppdump: $(OBJS)
+ $(CC) -o pppdump $(OBJS)
+
+clean:
+ rm -f pppdump $(OBJS) *~
+
+install: pppdump
+ $(INSTALL) -c pppdump $(BINDIR)/pppdump
+ $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)/man8/pppdump.8
diff --git a/mdk-stage1/ppp/pppdump/bsd-comp.c b/mdk-stage1/ppp/pppdump/bsd-comp.c
new file mode 100644
index 000000000..7cb8eb19d
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/bsd-comp.c
@@ -0,0 +1,750 @@
+/* Because this code is derived from the 4.3BSD compress source:
+ *
+ *
+ * Copyright (c) 1985, 1986 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * James A. Woods, derived from original work by Spencer Thomas
+ * and Joseph Orost.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * $Id: bsd-comp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#include <sys/types.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include "ppp_defs.h"
+#include "ppp-comp.h"
+
+#if DO_BSD_COMPRESS
+
+/*
+ * PPP "BSD compress" compression
+ * The differences between this compression and the classic BSD LZW
+ * source are obvious from the requirement that the classic code worked
+ * with files while this handles arbitrarily long streams that
+ * are broken into packets. They are:
+ *
+ * When the code size expands, a block of junk is not emitted by
+ * the compressor and not expected by the decompressor.
+ *
+ * New codes are not necessarily assigned every time an old
+ * code is output by the compressor. This is because a packet
+ * end forces a code to be emitted, but does not imply that a
+ * new sequence has been seen.
+ *
+ * The compression ratio is checked at the first end of a packet
+ * after the appropriate gap. Besides simplifying and speeding
+ * things up, this makes it more likely that the transmitter
+ * and receiver will agree when the dictionary is cleared when
+ * compression is not going well.
+ */
+
+/*
+ * A dictionary for doing BSD compress.
+ */
+struct bsd_db {
+ int totlen; /* length of this structure */
+ u_int hsize; /* size of the hash table */
+ u_char hshift; /* used in hash function */
+ u_char n_bits; /* current bits/code */
+ u_char maxbits;
+ u_char debug;
+ u_char unit;
+ u_short seqno; /* sequence number of next packet */
+ u_int hdrlen; /* header length to preallocate */
+ u_int mru;
+ u_int maxmaxcode; /* largest valid code */
+ u_int max_ent; /* largest code in use */
+ u_int in_count; /* uncompressed bytes, aged */
+ u_int bytes_out; /* compressed bytes, aged */
+ u_int ratio; /* recent compression ratio */
+ u_int checkpoint; /* when to next check the ratio */
+ u_int clear_count; /* times dictionary cleared */
+ u_int incomp_count; /* incompressible packets */
+ u_int incomp_bytes; /* incompressible bytes */
+ u_int uncomp_count; /* uncompressed packets */
+ u_int uncomp_bytes; /* uncompressed bytes */
+ u_int comp_count; /* compressed packets */
+ u_int comp_bytes; /* compressed bytes */
+ u_short *lens; /* array of lengths of codes */
+ struct bsd_dict {
+ union { /* hash value */
+ u_int32_t fcode;
+ struct {
+#ifdef BSD_LITTLE_ENDIAN
+ u_short prefix; /* preceding code */
+ u_char suffix; /* last character of new code */
+ u_char pad;
+#else
+ u_char pad;
+ u_char suffix; /* last character of new code */
+ u_short prefix; /* preceding code */
+#endif
+ } hs;
+ } f;
+ u_short codem1; /* output of hash table -1 */
+ u_short cptr; /* map code to hash table entry */
+ } dict[1];
+};
+
+#define BSD_OVHD 2 /* BSD compress overhead/packet */
+#define BSD_INIT_BITS BSD_MIN_BITS
+
+static void *bsd_decomp_alloc __P((u_char *options, int opt_len));
+static void bsd_free __P((void *state));
+static int bsd_decomp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+static void bsd_incomp __P((void *state, u_char *dmsg, int len));
+static int bsd_decompress __P((void *state, u_char *cmp, int inlen,
+ u_char *dmp, int *outlen));
+static void bsd_reset __P((void *state));
+static void bsd_comp_stats __P((void *state, struct compstat *stats));
+
+/*
+ * Exported procedures.
+ */
+struct compressor ppp_bsd_compress = {
+ CI_BSD_COMPRESS, /* compress_proto */
+ bsd_decomp_alloc, /* decomp_alloc */
+ bsd_free, /* decomp_free */
+ bsd_decomp_init, /* decomp_init */
+ bsd_reset, /* decomp_reset */
+ bsd_decompress, /* decompress */
+ bsd_incomp, /* incomp */
+ bsd_comp_stats, /* decomp_stat */
+};
+
+/*
+ * the next two codes should not be changed lightly, as they must not
+ * lie within the contiguous general code space.
+ */
+#define CLEAR 256 /* table clear output code */
+#define FIRST 257 /* first free entry */
+#define LAST 255
+
+#define MAXCODE(b) ((1 << (b)) - 1)
+#define BADCODEM1 MAXCODE(BSD_MAX_BITS)
+
+#define BSD_HASH(prefix,suffix,hshift) ((((u_int32_t)(suffix)) << (hshift)) \
+ ^ (u_int32_t)(prefix))
+#define BSD_KEY(prefix,suffix) ((((u_int32_t)(suffix)) << 16) \
+ + (u_int32_t)(prefix))
+
+#define CHECK_GAP 10000 /* Ratio check interval */
+
+#define RATIO_SCALE_LOG 8
+#define RATIO_SCALE (1<<RATIO_SCALE_LOG)
+#define RATIO_MAX (0x7fffffff>>RATIO_SCALE_LOG)
+
+/*
+ * clear the dictionary
+ */
+static void
+bsd_clear(db)
+ struct bsd_db *db;
+{
+ db->clear_count++;
+ db->max_ent = FIRST-1;
+ db->n_bits = BSD_INIT_BITS;
+ db->ratio = 0;
+ db->bytes_out = 0;
+ db->in_count = 0;
+ db->checkpoint = CHECK_GAP;
+}
+
+/*
+ * If the dictionary is full, then see if it is time to reset it.
+ *
+ * Compute the compression ratio using fixed-point arithmetic
+ * with 8 fractional bits.
+ *
+ * Since we have an infinite stream instead of a single file,
+ * watch only the local compression ratio.
+ *
+ * Since both peers must reset the dictionary at the same time even in
+ * the absence of CLEAR codes (while packets are incompressible), they
+ * must compute the same ratio.
+ */
+static int /* 1=output CLEAR */
+bsd_check(db)
+ struct bsd_db *db;
+{
+ u_int new_ratio;
+
+ if (db->in_count >= db->checkpoint) {
+ /* age the ratio by limiting the size of the counts */
+ if (db->in_count >= RATIO_MAX
+ || db->bytes_out >= RATIO_MAX) {
+ db->in_count -= db->in_count/4;
+ db->bytes_out -= db->bytes_out/4;
+ }
+
+ db->checkpoint = db->in_count + CHECK_GAP;
+
+ if (db->max_ent >= db->maxmaxcode) {
+ /* Reset the dictionary only if the ratio is worse,
+ * or if it looks as if it has been poisoned
+ * by incompressible data.
+ *
+ * This does not overflow, because
+ * db->in_count <= RATIO_MAX.
+ */
+ new_ratio = db->in_count << RATIO_SCALE_LOG;
+ if (db->bytes_out != 0)
+ new_ratio /= db->bytes_out;
+
+ if (new_ratio < db->ratio || new_ratio < 1 * RATIO_SCALE) {
+ bsd_clear(db);
+ return 1;
+ }
+ db->ratio = new_ratio;
+ }
+ }
+ return 0;
+}
+
+/*
+ * Return statistics.
+ */
+static void
+bsd_comp_stats(state, stats)
+ void *state;
+ struct compstat *stats;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int out;
+
+ stats->unc_bytes = db->uncomp_bytes;
+ stats->unc_packets = db->uncomp_count;
+ stats->comp_bytes = db->comp_bytes;
+ stats->comp_packets = db->comp_count;
+ stats->inc_bytes = db->incomp_bytes;
+ stats->inc_packets = db->incomp_count;
+ stats->ratio = db->in_count;
+ out = db->bytes_out;
+ if (stats->ratio <= 0x7fffff)
+ stats->ratio <<= 8;
+ else
+ out >>= 8;
+ if (out != 0)
+ stats->ratio /= out;
+}
+
+/*
+ * Reset state, as on a CCP ResetReq.
+ */
+static void
+bsd_reset(state)
+ void *state;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+
+ db->seqno = 0;
+ bsd_clear(db);
+ db->clear_count = 0;
+}
+
+/*
+ * Allocate space for a (de) compressor.
+ */
+static void *
+bsd_alloc(options, opt_len, decomp)
+ u_char *options;
+ int opt_len, decomp;
+{
+ int bits;
+ u_int newlen, hsize, hshift, maxmaxcode;
+ struct bsd_db *db;
+
+ if (opt_len != 3 || options[0] != CI_BSD_COMPRESS || options[1] != 3
+ || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION)
+ return NULL;
+
+ bits = BSD_NBITS(options[2]);
+ switch (bits) {
+ case 9: /* needs 82152 for both directions */
+ case 10: /* needs 84144 */
+ case 11: /* needs 88240 */
+ case 12: /* needs 96432 */
+ hsize = 5003;
+ hshift = 4;
+ break;
+ case 13: /* needs 176784 */
+ hsize = 9001;
+ hshift = 5;
+ break;
+ case 14: /* needs 353744 */
+ hsize = 18013;
+ hshift = 6;
+ break;
+ case 15: /* needs 691440 */
+ hsize = 35023;
+ hshift = 7;
+ break;
+ case 16: /* needs 1366160--far too much, */
+ /* hsize = 69001; */ /* and 69001 is too big for cptr */
+ /* hshift = 8; */ /* in struct bsd_db */
+ /* break; */
+ default:
+ return NULL;
+ }
+
+ maxmaxcode = MAXCODE(bits);
+ newlen = sizeof(*db) + (hsize-1) * (sizeof(db->dict[0]));
+ db = (struct bsd_db *) malloc(newlen);
+ if (!db)
+ return NULL;
+ memset(db, 0, sizeof(*db) - sizeof(db->dict));
+
+ if (!decomp) {
+ db->lens = NULL;
+ } else {
+ db->lens = (u_short *) malloc((maxmaxcode+1) * sizeof(db->lens[0]));
+ if (!db->lens) {
+ free(db);
+ return NULL;
+ }
+ }
+
+ db->totlen = newlen;
+ db->hsize = hsize;
+ db->hshift = hshift;
+ db->maxmaxcode = maxmaxcode;
+ db->maxbits = bits;
+
+ return (void *) db;
+}
+
+static void
+bsd_free(state)
+ void *state;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+
+ if (db->lens)
+ free(db->lens);
+ free(db);
+}
+
+static void *
+bsd_decomp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ return bsd_alloc(options, opt_len, 1);
+}
+
+/*
+ * Initialize the database.
+ */
+static int
+bsd_init(db, options, opt_len, unit, hdrlen, mru, debug, decomp)
+ struct bsd_db *db;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug, decomp;
+{
+ int i;
+
+ if (opt_len < CILEN_BSD_COMPRESS
+ || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
+ || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
+ || BSD_NBITS(options[2]) != db->maxbits
+ || decomp && db->lens == NULL)
+ return 0;
+
+ if (decomp) {
+ i = LAST+1;
+ while (i != 0)
+ db->lens[--i] = 1;
+ }
+ i = db->hsize;
+ while (i != 0) {
+ db->dict[--i].codem1 = BADCODEM1;
+ db->dict[i].cptr = 0;
+ }
+
+ db->unit = unit;
+ db->hdrlen = hdrlen;
+ db->mru = mru;
+ if (debug)
+ db->debug = 1;
+
+ bsd_reset(db);
+
+ return 1;
+}
+
+static int
+bsd_decomp_init(state, options, opt_len, unit, hdrlen, mru, debug)
+ void *state;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug;
+{
+ return bsd_init((struct bsd_db *) state, options, opt_len,
+ unit, hdrlen, mru, debug, 1);
+}
+
+
+/*
+ * Update the "BSD Compress" dictionary on the receiver for
+ * incompressible data by pretending to compress the incoming data.
+ */
+static void
+bsd_incomp(state, dmsg, mlen)
+ void *state;
+ u_char *dmsg;
+ int mlen;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int hshift = db->hshift;
+ u_int max_ent = db->max_ent;
+ u_int n_bits = db->n_bits;
+ struct bsd_dict *dictp;
+ u_int32_t fcode;
+ u_char c;
+ long hval, disp;
+ int slen, ilen;
+ u_int bitno = 7;
+ u_char *rptr;
+ u_int ent;
+
+ rptr = dmsg;
+ ent = rptr[0]; /* get the protocol */
+ if (ent == 0) {
+ ++rptr;
+ --mlen;
+ ent = rptr[0];
+ }
+ if ((ent & 1) == 0 || ent < 0x21 || ent > 0xf9)
+ return;
+
+ db->seqno++;
+ ilen = 1; /* count the protocol as 1 byte */
+ ++rptr;
+ slen = dmsg + mlen - rptr;
+ ilen += slen;
+ for (; slen > 0; --slen) {
+ c = *rptr++;
+ fcode = BSD_KEY(ent, c);
+ hval = BSD_HASH(ent, c, hshift);
+ dictp = &db->dict[hval];
+
+ /* validate and then check the entry */
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ if (dictp->f.fcode == fcode) {
+ ent = dictp->codem1+1;
+ continue; /* found (prefix,suffix) */
+ }
+
+ /* continue probing until a match or invalid entry */
+ disp = (hval == 0) ? 1 : hval;
+ do {
+ hval += disp;
+ if (hval >= db->hsize)
+ hval -= db->hsize;
+ dictp = &db->dict[hval];
+ if (dictp->codem1 >= max_ent)
+ goto nomatch;
+ } while (dictp->f.fcode != fcode);
+ ent = dictp->codem1+1;
+ continue; /* finally found (prefix,suffix) */
+
+ nomatch: /* output (count) the prefix */
+ bitno += n_bits;
+
+ /* code -> hashtable */
+ if (max_ent < db->maxmaxcode) {
+ struct bsd_dict *dictp2;
+ /* expand code size if needed */
+ if (max_ent >= MAXCODE(n_bits))
+ db->n_bits = ++n_bits;
+
+ /* Invalidate previous hash table entry
+ * assigned this code, and then take it over.
+ */
+ dictp2 = &db->dict[max_ent+1];
+ if (db->dict[dictp2->cptr].codem1 == max_ent)
+ db->dict[dictp2->cptr].codem1 = BADCODEM1;
+ dictp2->cptr = hval;
+ dictp->codem1 = max_ent;
+ dictp->f.fcode = fcode;
+
+ db->max_ent = ++max_ent;
+ db->lens[max_ent] = db->lens[ent]+1;
+ }
+ ent = c;
+ }
+ bitno += n_bits; /* output (count) the last code */
+ db->bytes_out += bitno/8;
+ db->in_count += ilen;
+ (void)bsd_check(db);
+
+ ++db->incomp_count;
+ db->incomp_bytes += ilen;
+ ++db->uncomp_count;
+ db->uncomp_bytes += ilen;
+
+ /* Increase code size if we would have without the packet
+ * boundary and as the decompressor will.
+ */
+ if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode)
+ db->n_bits++;
+}
+
+
+/*
+ * Decompress "BSD Compress"
+ *
+ * Because of patent problems, we return DECOMP_ERROR for errors
+ * found by inspecting the input data and for system problems, but
+ * DECOMP_FATALERROR for any errors which could possibly be said to
+ * be being detected "after" decompression. For DECOMP_ERROR,
+ * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
+ * infringing a patent of Motorola's if we do, so we take CCP down
+ * instead.
+ *
+ * Given that the frame has the correct sequence number and a good FCS,
+ * errors such as invalid codes in the input most likely indicate a
+ * bug, so we return DECOMP_FATALERROR for them in order to turn off
+ * compression, even though they are detected by inspecting the input.
+ */
+static int
+bsd_decompress(state, cmsg, inlen, dmp, outlenp)
+ void *state;
+ u_char *cmsg, *dmp;
+ int inlen, *outlenp;
+{
+ struct bsd_db *db = (struct bsd_db *) state;
+ u_int max_ent = db->max_ent;
+ u_int32_t accm = 0;
+ u_int bitno = 32; /* 1st valid bit in accm */
+ u_int n_bits = db->n_bits;
+ u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
+ struct bsd_dict *dictp;
+ int explen, i, seq, len;
+ u_int incode, oldcode, finchar;
+ u_char *p, *rptr, *wptr;
+ int ilen;
+ int dlen, space, codelen, extra;
+
+ rptr = cmsg;
+ if (*rptr == 0)
+ ++rptr;
+ ++rptr; /* skip protocol (assumed 0xfd) */
+ seq = (rptr[0] << 8) + rptr[1];
+ rptr += BSD_OVHD;
+ ilen = len = cmsg + inlen - rptr;
+
+ /*
+ * Check the sequence number and give up if it is not what we expect.
+ */
+ if (seq != db->seqno++) {
+ if (db->debug)
+ printf("bsd_decomp%d: bad sequence # %d, expected %d\n",
+ db->unit, seq, db->seqno - 1);
+ return DECOMP_ERROR;
+ }
+
+ wptr = dmp + db->hdrlen;
+
+ oldcode = CLEAR;
+ explen = 0;
+ while (len > 0) {
+ /*
+ * Accumulate bytes until we have a complete code.
+ * Then get the next code, relying on the 32-bit,
+ * unsigned accm to mask the result.
+ */
+ bitno -= 8;
+ accm |= *rptr++ << bitno;
+ --len;
+ if (tgtbitno < bitno)
+ continue;
+ incode = accm >> tgtbitno;
+ accm <<= n_bits;
+ bitno += n_bits;
+
+ if (incode == CLEAR) {
+ /*
+ * The dictionary must only be cleared at
+ * the end of a packet. But there could be an
+ * empty message block at the end.
+ */
+ if (len > 0) {
+ if (db->debug)
+ printf("bsd_decomp%d: bad CLEAR\n", db->unit);
+ return DECOMP_FATALERROR;
+ }
+ bsd_clear(db);
+ explen = ilen = 0;
+ break;
+ }
+
+ if (incode > max_ent + 2 || incode > db->maxmaxcode
+ || incode > max_ent && oldcode == CLEAR) {
+ if (db->debug) {
+ printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
+ db->unit, incode, oldcode);
+ printf("max_ent=0x%x dlen=%d seqno=%d\n",
+ max_ent, dlen, db->seqno);
+ }
+ return DECOMP_FATALERROR; /* probably a bug */
+ }
+
+ /* Special case for KwKwK string. */
+ if (incode > max_ent) {
+ finchar = oldcode;
+ extra = 1;
+ } else {
+ finchar = incode;
+ extra = 0;
+ }
+
+ codelen = db->lens[finchar];
+ explen += codelen + extra;
+ if (explen > db->mru + 1) {
+ if (db->debug)
+ printf("bsd_decomp%d: ran out of mru\n", db->unit);
+ return DECOMP_FATALERROR;
+ }
+
+ /*
+ * Decode this code and install it in the decompressed buffer.
+ */
+ p = (wptr += codelen);
+ while (finchar > LAST) {
+ dictp = &db->dict[db->dict[finchar].cptr];
+#ifdef DEBUG
+ --codelen;
+ if (codelen <= 0) {
+ printf("bsd_decomp%d: fell off end of chain ", db->unit);
+ printf("0x%x at 0x%x by 0x%x, max_ent=0x%x\n",
+ incode, finchar, db->dict[finchar].cptr, max_ent);
+ return DECOMP_FATALERROR;
+ }
+ if (dictp->codem1 != finchar-1) {
+ printf("bsd_decomp%d: bad code chain 0x%x finchar=0x%x ",
+ db->unit, incode, finchar);
+ printf("oldcode=0x%x cptr=0x%x codem1=0x%x\n", oldcode,
+ db->dict[finchar].cptr, dictp->codem1);
+ return DECOMP_FATALERROR;
+ }
+#endif
+ *--p = dictp->f.hs.suffix;
+ finchar = dictp->f.hs.prefix;
+ }
+ *--p = finchar;
+
+#ifdef DEBUG
+ if (--codelen != 0)
+ printf("bsd_decomp%d: short by %d after code 0x%x, max_ent=0x%x\n",
+ db->unit, codelen, incode, max_ent);
+#endif
+
+ if (extra) /* the KwKwK case again */
+ *wptr++ = finchar;
+
+ /*
+ * If not first code in a packet, and
+ * if not out of code space, then allocate a new code.
+ *
+ * Keep the hash table correct so it can be used
+ * with uncompressed packets.
+ */
+ if (oldcode != CLEAR && max_ent < db->maxmaxcode) {
+ struct bsd_dict *dictp2;
+ u_int32_t fcode;
+ int hval, disp;
+
+ fcode = BSD_KEY(oldcode,finchar);
+ hval = BSD_HASH(oldcode,finchar,db->hshift);
+ dictp = &db->dict[hval];
+
+ /* look for a free hash table entry */
+ if (dictp->codem1 < max_ent) {
+ disp = (hval == 0) ? 1 : hval;
+ do {
+ hval += disp;
+ if (hval >= db->hsize)
+ hval -= db->hsize;
+ dictp = &db->dict[hval];
+ } while (dictp->codem1 < max_ent);
+ }
+
+ /*
+ * Invalidate previous hash table entry
+ * assigned this code, and then take it over
+ */
+ dictp2 = &db->dict[max_ent+1];
+ if (db->dict[dictp2->cptr].codem1 == max_ent) {
+ db->dict[dictp2->cptr].codem1 = BADCODEM1;
+ }
+ dictp2->cptr = hval;
+ dictp->codem1 = max_ent;
+ dictp->f.fcode = fcode;
+
+ db->max_ent = ++max_ent;
+ db->lens[max_ent] = db->lens[oldcode]+1;
+
+ /* Expand code size if needed. */
+ if (max_ent >= MAXCODE(n_bits) && max_ent < db->maxmaxcode) {
+ db->n_bits = ++n_bits;
+ tgtbitno = 32-n_bits;
+ }
+ }
+ oldcode = incode;
+ }
+ *outlenp = wptr - (dmp + db->hdrlen);
+
+ /*
+ * Keep the checkpoint right so that incompressible packets
+ * clear the dictionary at the right times.
+ */
+ db->bytes_out += ilen;
+ db->in_count += explen;
+ if (bsd_check(db) && db->debug) {
+ printf("bsd_decomp%d: peer should have cleared dictionary\n",
+ db->unit);
+ }
+
+ ++db->comp_count;
+ db->comp_bytes += ilen + BSD_OVHD;
+ ++db->uncomp_count;
+ db->uncomp_bytes += explen;
+
+ return DECOMP_OK;
+}
+#endif /* DO_BSD_COMPRESS */
diff --git a/mdk-stage1/ppp/pppdump/deflate.c b/mdk-stage1/ppp/pppdump/deflate.c
new file mode 100644
index 000000000..cc8abfdfe
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/deflate.c
@@ -0,0 +1,344 @@
+/*
+ * ppp_deflate.c - interface the zlib procedures for Deflate compression
+ * and decompression (as used by gzip) to the PPP code.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: deflate.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#include <sys/types.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include "ppp_defs.h"
+#include "ppp-comp.h"
+#include "zlib.h"
+
+#if DO_DEFLATE
+
+#define DEFLATE_DEBUG 1
+
+/*
+ * State for a Deflate (de)compressor.
+ */
+struct deflate_state {
+ int seqno;
+ int w_size;
+ int unit;
+ int hdrlen;
+ int mru;
+ int debug;
+ z_stream strm;
+ struct compstat stats;
+};
+
+#define DEFLATE_OVHD 2 /* Deflate overhead/packet */
+
+static void *z_alloc __P((void *, u_int items, u_int size));
+static void z_free __P((void *, void *ptr, u_int nb));
+static void *z_decomp_alloc __P((u_char *options, int opt_len));
+static void z_decomp_free __P((void *state));
+static int z_decomp_init __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+static void z_incomp __P((void *state, u_char *dmsg, int len));
+static int z_decompress __P((void *state, u_char *cmp, int inlen,
+ u_char *dmp, int *outlenp));
+static void z_decomp_reset __P((void *state));
+static void z_comp_stats __P((void *state, struct compstat *stats));
+
+/*
+ * Procedures exported to if_ppp.c.
+ */
+struct compressor ppp_deflate = {
+ CI_DEFLATE, /* compress_proto */
+ z_decomp_alloc, /* decomp_alloc */
+ z_decomp_free, /* decomp_free */
+ z_decomp_init, /* decomp_init */
+ z_decomp_reset, /* decomp_reset */
+ z_decompress, /* decompress */
+ z_incomp, /* incomp */
+ z_comp_stats, /* decomp_stat */
+};
+
+/*
+ * Space allocation and freeing routines for use by zlib routines.
+ */
+static void *
+z_alloc(notused, items, size)
+ void *notused;
+ u_int items, size;
+{
+ return malloc(items * size);
+}
+
+static void
+z_free(notused, ptr, nbytes)
+ void *notused;
+ void *ptr;
+ u_int nbytes;
+{
+ free(ptr);
+}
+
+static void
+z_comp_stats(arg, stats)
+ void *arg;
+ struct compstat *stats;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_int out;
+
+ *stats = state->stats;
+ stats->ratio = stats->unc_bytes;
+ out = stats->comp_bytes + stats->unc_bytes;
+ if (stats->ratio <= 0x7ffffff)
+ stats->ratio <<= 8;
+ else
+ out >>= 8;
+ if (out != 0)
+ stats->ratio /= out;
+}
+
+/*
+ * Allocate space for a decompressor.
+ */
+static void *
+z_decomp_alloc(options, opt_len)
+ u_char *options;
+ int opt_len;
+{
+ struct deflate_state *state;
+ int w_size;
+
+ if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return NULL;
+ w_size = DEFLATE_SIZE(options[2]);
+ if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
+ return NULL;
+
+ state = (struct deflate_state *) malloc(sizeof(*state));
+ if (state == NULL)
+ return NULL;
+
+ state->strm.next_out = NULL;
+ state->strm.zalloc = (alloc_func) z_alloc;
+ state->strm.zfree = (free_func) z_free;
+ if (inflateInit2(&state->strm, -w_size) != Z_OK) {
+ free(state);
+ return NULL;
+ }
+
+ state->w_size = w_size;
+ memset(&state->stats, 0, sizeof(state->stats));
+ return (void *) state;
+}
+
+static void
+z_decomp_free(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ inflateEnd(&state->strm);
+ free(state);
+}
+
+static int
+z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
+ void *arg;
+ u_char *options;
+ int opt_len, unit, hdrlen, mru, debug;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE
+ || options[1] != CILEN_DEFLATE
+ || DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
+ || DEFLATE_SIZE(options[2]) != state->w_size
+ || options[3] != DEFLATE_CHK_SEQUENCE)
+ return 0;
+
+ state->seqno = 0;
+ state->unit = unit;
+ state->hdrlen = hdrlen;
+ state->debug = debug;
+ state->mru = mru;
+
+ inflateReset(&state->strm);
+
+ return 1;
+}
+
+static void
+z_decomp_reset(arg)
+ void *arg;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+
+ state->seqno = 0;
+ inflateReset(&state->strm);
+}
+
+/*
+ * Decompress a Deflate-compressed packet.
+ *
+ * Because of patent problems, we return DECOMP_ERROR for errors
+ * found by inspecting the input data and for system problems, but
+ * DECOMP_FATALERROR for any errors which could possibly be said to
+ * be being detected "after" decompression. For DECOMP_ERROR,
+ * we can issue a CCP reset-request; for DECOMP_FATALERROR, we may be
+ * infringing a patent of Motorola's if we do, so we take CCP down
+ * instead.
+ *
+ * Given that the frame has the correct sequence number and a good FCS,
+ * errors such as invalid codes in the input most likely indicate a
+ * bug, so we return DECOMP_FATALERROR for them in order to turn off
+ * compression, even though they are detected by inspecting the input.
+ */
+static int
+z_decompress(arg, mi, inlen, mo, outlenp)
+ void *arg;
+ u_char *mi, *mo;
+ int inlen, *outlenp;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_char *rptr, *wptr;
+ int rlen, olen, ospace;
+ int seq, i, flush, r, decode_proto;
+
+ rptr = mi;
+ if (*rptr == 0)
+ ++rptr;
+ ++rptr;
+
+ /* Check the sequence number. */
+ seq = (rptr[0] << 8) + rptr[1];
+ rptr += 2;
+ if (seq != state->seqno) {
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_decompress%d: bad seq # %d, expected %d\n",
+ state->unit, seq, state->seqno);
+ return DECOMP_ERROR;
+ }
+ ++state->seqno;
+
+ /*
+ * Set up to call inflate.
+ */
+ wptr = mo;
+ state->strm.next_in = rptr;
+ state->strm.avail_in = mi + inlen - rptr;
+ rlen = state->strm.avail_in + PPP_HDRLEN + DEFLATE_OVHD;
+ state->strm.next_out = wptr;
+ state->strm.avail_out = state->mru + 2;
+
+ r = inflate(&state->strm, Z_PACKET_FLUSH);
+ if (r != Z_OK) {
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_decompress%d: inflate returned %d (%s)\n",
+ state->unit, r, (state->strm.msg? state->strm.msg: ""));
+ return DECOMP_FATALERROR;
+ }
+ olen = state->mru + 2 - state->strm.avail_out;
+ *outlenp = olen;
+
+ if ((wptr[0] & 1) != 0)
+ ++olen; /* for suppressed protocol high byte */
+ olen += 2; /* for address, control */
+
+#if DEFLATE_DEBUG
+ if (olen > state->mru + PPP_HDRLEN)
+ printf("ppp_deflate%d: exceeded mru (%d > %d)\n",
+ state->unit, olen, state->mru + PPP_HDRLEN);
+#endif
+
+ state->stats.unc_bytes += olen;
+ state->stats.unc_packets++;
+ state->stats.comp_bytes += rlen;
+ state->stats.comp_packets++;
+
+ return DECOMP_OK;
+}
+
+/*
+ * Incompressible data has arrived - add it to the history.
+ */
+static void
+z_incomp(arg, mi, mlen)
+ void *arg;
+ u_char *mi;
+ int mlen;
+{
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_char *rptr;
+ int rlen, proto, r;
+
+ /*
+ * Check that the protocol is one we handle.
+ */
+ rptr = mi;
+ proto = rptr[0];
+ if ((proto & 1) == 0)
+ proto = (proto << 8) + rptr[1];
+ if (proto > 0x3fff || proto == 0xfd || proto == 0xfb)
+ return;
+
+ ++state->seqno;
+
+ if (rptr[0] == 0)
+ ++rptr;
+ rlen = mi + mlen - rptr;
+ state->strm.next_in = rptr;
+ state->strm.avail_in = rlen;
+ r = inflateIncomp(&state->strm);
+ if (r != Z_OK) {
+ /* gak! */
+#if !DEFLATE_DEBUG
+ if (state->debug)
+#endif
+ printf("z_incomp%d: inflateIncomp returned %d (%s)\n",
+ state->unit, r, (state->strm.msg? state->strm.msg: ""));
+ return;
+ }
+
+ /*
+ * Update stats.
+ */
+ if (proto <= 0xff)
+ ++rlen;
+ rlen += 2;
+ state->stats.inc_bytes += rlen;
+ state->stats.inc_packets++;
+ state->stats.unc_bytes += rlen;
+ state->stats.unc_packets++;
+}
+
+#endif /* DO_DEFLATE */
diff --git a/mdk-stage1/ppp/pppdump/ppp-comp.h b/mdk-stage1/ppp/pppdump/ppp-comp.h
new file mode 100644
index 000000000..e88e72b6a
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/ppp-comp.h
@@ -0,0 +1,150 @@
+/*
+ * ppp-comp.h - Definitions for doing PPP packet compression.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp-comp.h 6001 2001-06-11 11:44:34Z gc $
+ */
+
+#ifndef _NET_PPP_COMP_H
+#define _NET_PPP_COMP_H
+
+/*
+ * The following symbols control whether we include code for
+ * various compression methods.
+ */
+#ifndef DO_BSD_COMPRESS
+#define DO_BSD_COMPRESS 1 /* by default, include BSD-Compress */
+#endif
+#ifndef DO_DEFLATE
+#define DO_DEFLATE 1 /* by default, include Deflate */
+#endif
+#define DO_PREDICTOR_1 0
+#define DO_PREDICTOR_2 0
+
+/*
+ * Structure giving methods for compression/decompression.
+ */
+struct compressor {
+ int compress_proto; /* CCP compression protocol number */
+
+ /* Allocate space for a decompressor (receive side) */
+ void *(*decomp_alloc) __P((u_char *options, int opt_len));
+ /* Free space used by a decompressor */
+ void (*decomp_free) __P((void *state));
+ /* Initialize a decompressor */
+ int (*decomp_init) __P((void *state, u_char *options, int opt_len,
+ int unit, int hdrlen, int mru, int debug));
+ /* Reset a decompressor */
+ void (*decomp_reset) __P((void *state));
+ /* Decompress a packet. */
+ int (*decompress) __P((void *state, u_char *mp, int inlen,
+ u_char *dmp, int *outlen));
+ /* Update state for an incompressible packet received */
+ void (*incomp) __P((void *state, u_char *mp, int len));
+ /* Return decompression statistics */
+ void (*decomp_stat) __P((void *state, struct compstat *stats));
+};
+
+/*
+ * Return values for decompress routine.
+ * We need to make these distinctions so that we can disable certain
+ * useful functionality, namely sending a CCP reset-request as a result
+ * of an error detected after decompression. This is to avoid infringing
+ * a patent held by Motorola.
+ * Don't you just lurve software patents.
+ */
+#define DECOMP_OK 0 /* everything went OK */
+#define DECOMP_ERROR 1 /* error detected before decomp. */
+#define DECOMP_FATALERROR 2 /* error detected after decomp. */
+
+/*
+ * CCP codes.
+ */
+#define CCP_CONFREQ 1
+#define CCP_CONFACK 2
+#define CCP_CONFNAK 3
+#define CCP_CONFREJ 4
+#define CCP_TERMREQ 5
+#define CCP_TERMACK 6
+#define CCP_RESETREQ 14
+#define CCP_RESETACK 15
+
+/*
+ * Max # bytes for a CCP option
+ */
+#define CCP_MAX_OPTION_LENGTH 32
+
+/*
+ * Parts of a CCP packet.
+ */
+#define CCP_CODE(dp) ((dp)[0])
+#define CCP_ID(dp) ((dp)[1])
+#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
+#define CCP_HDRLEN 4
+
+#define CCP_OPT_CODE(dp) ((dp)[0])
+#define CCP_OPT_LENGTH(dp) ((dp)[1])
+#define CCP_OPT_MINLEN 2
+
+/*
+ * Definitions for BSD-Compress.
+ */
+#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
+#define CILEN_BSD_COMPRESS 3 /* length of config. option */
+
+/* Macros for handling the 3rd byte of the BSD-Compress config option. */
+#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
+#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
+#define BSD_CURRENT_VERSION 1 /* current version number */
+#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
+
+#define BSD_MIN_BITS 9 /* smallest code size supported */
+#define BSD_MAX_BITS 15 /* largest code size supported */
+
+/*
+ * Definitions for Deflate.
+ */
+#define CI_DEFLATE 26 /* config option for Deflate */
+#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
+#define CILEN_DEFLATE 4 /* length of its config option */
+
+#define DEFLATE_MIN_SIZE 8
+#define DEFLATE_MAX_SIZE 15
+#define DEFLATE_METHOD_VAL 8
+#define DEFLATE_SIZE(x) (((x) >> 4) + DEFLATE_MIN_SIZE)
+#define DEFLATE_METHOD(x) ((x) & 0x0F)
+#define DEFLATE_MAKE_OPT(w) ((((w) - DEFLATE_MIN_SIZE) << 4) \
+ + DEFLATE_METHOD_VAL)
+#define DEFLATE_CHK_SEQUENCE 0
+
+/*
+ * Definitions for other, as yet unsupported, compression methods.
+ */
+#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
+#define CILEN_PREDICTOR_1 2 /* length of its config option */
+#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
+#define CILEN_PREDICTOR_2 2 /* length of its config option */
+
+#endif /* _NET_PPP_COMP_H */
diff --git a/mdk-stage1/ppp/pppdump/pppdump.8 b/mdk-stage1/ppp/pppdump/pppdump.8
new file mode 100644
index 000000000..b98cb30de
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/pppdump.8
@@ -0,0 +1,62 @@
+.\" @(#) $Id: pppdump.8 6001 2001-06-11 11:44:34Z gc $
+.TH PPPDUMP 8 "1 April 1999"
+.SH NAME
+pppdump \- convert PPP record file to readable format
+.SH SYNOPSIS
+.B pppdump
+[
+.B -h
+|
+.B -p
+[
+.B -d
+]] [
+.B -r
+] [
+.B -m \fImru
+] [
+.I file \fR...
+]
+.ti 12
+.SH DESCRIPTION
+The
+.B pppdump
+utility converts the files written using the \fIrecord\fR option of
+.B pppd
+into a human-readable format. If one or more filenames are specified,
+.B pppdump
+will read each in turn; otherwise it will read its standard input. In
+each case the result is written to standard output.
+.PP
+The options are as follows:
+.TP
+.B -h
+Prints the bytes sent and received in hexadecimal. If neither this
+option nor the \fB-p\fR option is specified, the bytes are printed as
+the characters themselves, with non-printing and non-ASCII characters
+printed as escape sequences.
+.TP
+.B -p
+Collects the bytes sent and received into PPP packets, interpreting
+the async HDLC framing and escape characters and checking the FCS
+(frame check sequence) of each packet. The packets are printed as hex
+values and as characters (non-printable characters are printed as
+`.').
+.TP
+.B -d
+With the \fB-p\fR option, this option causes
+.B pppdump
+to decompress packets which have been compressed with the BSD-Compress
+or Deflate methods.
+.TP
+.B -r
+Reverses the direction indicators, so that `sent' is printed for
+bytes or packets received, and `rcvd' is printed for bytes or packets
+sent.
+.TP
+.B -m \fImru
+Use \fImru\fR as the MRU (maximum receive unit) for both directions of
+the link when checking for over-length PPP packets (with the \fB-p\fR
+option).
+.SH SEE ALSO
+pppd(8)
diff --git a/mdk-stage1/ppp/pppdump/pppdump.c b/mdk-stage1/ppp/pppdump/pppdump.c
new file mode 100644
index 000000000..a8e69d4bf
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/pppdump.c
@@ -0,0 +1,502 @@
+/*
+ * pppdump - print out the contents of a record file generated by
+ * pppd in readable form.
+ *
+ * Copyright (C) 1999 Paul Mackerras. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms. The name of the author
+ * may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+#include <stdio.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include "ppp_defs.h"
+#include "ppp-comp.h"
+
+int hexmode;
+int pppmode;
+int reverse;
+int decompress;
+int mru = 1500;
+int abs_times;
+time_t start_time;
+int start_time_tenths;
+int tot_sent, tot_rcvd;
+
+extern int optind;
+extern char *optarg;
+
+main(ac, av)
+ int ac;
+ char **av;
+{
+ int i;
+ char *p;
+ FILE *f;
+
+ while ((i = getopt(ac, av, "hprdm:a")) != -1) {
+ switch (i) {
+ case 'h':
+ hexmode = 1;
+ break;
+ case 'p':
+ pppmode = 1;
+ break;
+ case 'r':
+ reverse = 1;
+ break;
+ case 'd':
+ decompress = 1;
+ break;
+ case 'm':
+ mru = atoi(optarg);
+ break;
+ case 'a':
+ abs_times = 1;
+ break;
+ default:
+ fprintf(stderr, "Usage: %s [-h | -p[d]] [-r] [-m mru] [-a] [file ...]\n", av[0]);
+ exit(1);
+ }
+ }
+ if (optind >= ac)
+ dumplog(stdin);
+ else {
+ for (i = optind; i < ac; ++i) {
+ p = av[i];
+ if ((f = fopen(p, "r")) == NULL) {
+ perror(p);
+ exit(1);
+ }
+ if (pppmode)
+ dumpppp(f);
+ else
+ dumplog(f);
+ fclose(f);
+ }
+ }
+ exit(0);
+}
+
+dumplog(f)
+ FILE *f;
+{
+ int c, n, k, col;
+ int nb, c2;
+ unsigned char buf[16];
+
+ while ((c = getc(f)) != EOF) {
+ switch (c) {
+ case 1:
+ case 2:
+ if (reverse)
+ c = 3 - c;
+ printf("%s %c", c==1? "sent": "rcvd", hexmode? ' ': '"');
+ col = 6;
+ n = getc(f);
+ n = (n << 8) + getc(f);
+ *(c==1? &tot_sent: &tot_rcvd) += n;
+ nb = 0;
+ for (; n > 0; --n) {
+ c = getc(f);
+ if (c == EOF) {
+ printf("\nEOF\n");
+ exit(0);
+ }
+ if (hexmode) {
+ if (nb >= 16) {
+ printf(" ");
+ for (k = 0; k < nb; ++k) {
+ c2 = buf[k];
+ putchar((' ' <= c2 && c2 <= '~')? c2: '.');
+ }
+ printf("\n ");
+ nb = 0;
+ }
+ buf[nb++] = c;
+ printf(" %.2x", c);
+ } else {
+ k = (' ' <= c && c <= '~')? (c != '\\' && c != '"')? 1: 2: 3;
+ if ((col += k) >= 78) {
+ printf("\n ");
+ col = 6 + k;
+ }
+ switch (k) {
+ case 1:
+ putchar(c);
+ break;
+ case 2:
+ printf("\\%c", c);
+ break;
+ case 3:
+ printf("\\%.2x", c);
+ break;
+ }
+ }
+ }
+ if (hexmode) {
+ for (k = nb; k < 16; ++k)
+ printf(" ");
+ printf(" ");
+ for (k = 0; k < nb; ++k) {
+ c2 = buf[k];
+ putchar((' ' <= c2 && c2 <= '~')? c2: '.');
+ }
+ } else
+ putchar('"');
+ printf("\n");
+ break;
+ case 3:
+ case 4:
+ printf("end %s\n", c==3? "send": "recv");
+ break;
+ case 5:
+ case 6:
+ case 7:
+ show_time(f, c);
+ break;
+ default:
+ printf("?%.2x\n");
+ }
+ }
+}
+
+/*
+ * FCS lookup table as calculated by genfcstab.
+ */
+static u_short fcstab[256] = {
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
+};
+
+struct pkt {
+ int cnt;
+ int esc;
+ int flags;
+ struct compressor *comp;
+ void *state;
+ unsigned char buf[8192];
+} spkt, rpkt;
+
+/* Values for flags */
+#define CCP_ISUP 1
+#define CCP_ERROR 2
+#define CCP_FATALERROR 4
+#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
+#define CCP_DECOMP_RUN 8
+
+unsigned char dbuf[8192];
+
+dumpppp(f)
+ FILE *f;
+{
+ int c, n, k;
+ int nb, nl, dn, proto, rv;
+ char *dir, *q;
+ unsigned char *p, *r, *endp;
+ unsigned char *d;
+ unsigned short fcs;
+ struct pkt *pkt;
+
+ spkt.cnt = rpkt.cnt = 0;
+ spkt.esc = rpkt.esc = 0;
+ while ((c = getc(f)) != EOF) {
+ switch (c) {
+ case 1:
+ case 2:
+ if (reverse)
+ c = 3 - c;
+ dir = c==1? "sent": "rcvd";
+ pkt = c==1? &spkt: &rpkt;
+ n = getc(f);
+ n = (n << 8) + getc(f);
+ *(c==1? &tot_sent: &tot_rcvd) += n;
+ for (; n > 0; --n) {
+ c = getc(f);
+ switch (c) {
+ case EOF:
+ printf("\nEOF\n");
+ if (spkt.cnt > 0)
+ printf("[%d bytes in incomplete send packet]\n",
+ spkt.cnt);
+ if (rpkt.cnt > 0)
+ printf("[%d bytes in incomplete recv packet]\n",
+ rpkt.cnt);
+ exit(0);
+ case '~':
+ if (pkt->cnt > 0) {
+ q = dir;
+ if (pkt->esc) {
+ printf("%s aborted packet:\n ", dir);
+ q = " ";
+ }
+ nb = pkt->cnt;
+ p = pkt->buf;
+ pkt->cnt = 0;
+ pkt->esc = 0;
+ if (nb <= 2) {
+ printf("%s short packet [%d bytes]:", q, nb);
+ for (k = 0; k < nb; ++k)
+ printf(" %.2x", p[k]);
+ printf("\n");
+ break;
+ }
+ fcs = PPP_INITFCS;
+ for (k = 0; k < nb; ++k)
+ fcs = PPP_FCS(fcs, p[k]);
+ fcs &= 0xFFFF;
+ nb -= 2;
+ endp = p + nb;
+ r = p;
+ if (r[0] == 0xff && r[1] == 3)
+ r += 2;
+ if ((r[0] & 1) == 0)
+ ++r;
+ ++r;
+ if (endp - r > mru)
+ printf(" ERROR: length (%d) > MRU (%d)\n",
+ endp - r, mru);
+ if (decompress && fcs == PPP_GOODFCS) {
+ /* See if this is a CCP or compressed packet */
+ d = dbuf;
+ r = p;
+ if (r[0] == 0xff && r[1] == 3) {
+ *d++ = *r++;
+ *d++ = *r++;
+ }
+ proto = r[0];
+ if ((proto & 1) == 0)
+ proto = (proto << 8) + r[1];
+ if (proto == PPP_CCP) {
+ handle_ccp(pkt, r + 2, endp - r - 2);
+ } else if (proto == PPP_COMP) {
+ if ((pkt->flags & CCP_ISUP)
+ && (pkt->flags & CCP_DECOMP_RUN)
+ && pkt->state
+ && (pkt->flags & CCP_ERR) == 0) {
+ rv = pkt->comp->decompress(pkt->state, r,
+ endp - r, d, &dn);
+ switch (rv) {
+ case DECOMP_OK:
+ p = dbuf;
+ nb = d + dn - p;
+ if ((d[0] & 1) == 0)
+ --dn;
+ --dn;
+ if (dn > mru)
+ printf(" ERROR: decompressed length (%d) > MRU (%d)\n", dn, mru);
+ break;
+ case DECOMP_ERROR:
+ printf(" DECOMPRESSION ERROR\n");
+ pkt->flags |= CCP_ERROR;
+ break;
+ case DECOMP_FATALERROR:
+ printf(" FATAL DECOMPRESSION ERROR\n");
+ pkt->flags |= CCP_FATALERROR;
+ break;
+ }
+ }
+ } else if (pkt->state
+ && (pkt->flags & CCP_DECOMP_RUN)) {
+ pkt->comp->incomp(pkt->state, r, endp - r);
+ }
+ }
+ do {
+ nl = nb < 16? nb: 16;
+ printf("%s ", q);
+ for (k = 0; k < nl; ++k)
+ printf(" %.2x", p[k]);
+ for (; k < 16; ++k)
+ printf(" ");
+ printf(" ");
+ for (k = 0; k < nl; ++k) {
+ c = p[k];
+ putchar((' ' <= c && c <= '~')? c: '.');
+ }
+ printf("\n");
+ q = " ";
+ p += nl;
+ nb -= nl;
+ } while (nb > 0);
+ if (fcs != PPP_GOODFCS)
+ printf(" BAD FCS: (residue = %x)\n", fcs);
+ }
+ break;
+ case '}':
+ if (!pkt->esc) {
+ pkt->esc = 1;
+ break;
+ }
+ /* else fall through */
+ default:
+ if (pkt->esc) {
+ c ^= 0x20;
+ pkt->esc = 0;
+ }
+ pkt->buf[pkt->cnt++] = c;
+ break;
+ }
+ }
+ break;
+ case 3:
+ case 4:
+ if (reverse)
+ c = 7 - c;
+ dir = c==3? "send": "recv";
+ pkt = c==3? &spkt: &rpkt;
+ printf("end %s", dir);
+ if (pkt->cnt > 0)
+ printf(" [%d bytes in incomplete packet]", pkt->cnt);
+ printf("\n");
+ break;
+ case 5:
+ case 6:
+ case 7:
+ show_time(f, c);
+ break;
+ default:
+ printf("?%.2x\n");
+ }
+ }
+}
+
+extern struct compressor ppp_bsd_compress, ppp_deflate;
+
+struct compressor *compressors[] = {
+#if DO_BSD_COMPRESS
+ &ppp_bsd_compress,
+#endif
+#if DO_DEFLATE
+ &ppp_deflate,
+#endif
+ NULL
+};
+
+handle_ccp(cp, dp, len)
+ struct pkt *cp;
+ u_char *dp;
+ int len;
+{
+ int clen;
+ struct compressor **comp;
+
+ if (len < CCP_HDRLEN)
+ return;
+ clen = CCP_LENGTH(dp);
+ if (clen > len)
+ return;
+
+ switch (CCP_CODE(dp)) {
+ case CCP_CONFACK:
+ cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
+ if (clen < CCP_HDRLEN + CCP_OPT_MINLEN
+ || clen < CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN))
+ break;
+ dp += CCP_HDRLEN;
+ clen -= CCP_HDRLEN;
+ for (comp = compressors; *comp != NULL; ++comp) {
+ if ((*comp)->compress_proto == dp[0]) {
+ if (cp->state != NULL) {
+ (*cp->comp->decomp_free)(cp->state);
+ cp->state = NULL;
+ }
+ cp->comp = *comp;
+ cp->state = (*comp)->decomp_alloc(dp, CCP_OPT_LENGTH(dp));
+ cp->flags |= CCP_ISUP;
+ if (cp->state != NULL
+ && (*cp->comp->decomp_init)
+ (cp->state, dp, clen, 0, 0, 8192, 1))
+ cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
+ break;
+ }
+ }
+ break;
+
+ case CCP_CONFNAK:
+ case CCP_CONFREJ:
+ cp->flags &= ~(CCP_DECOMP_RUN | CCP_ISUP);
+ break;
+
+ case CCP_RESETACK:
+ if (cp->flags & CCP_ISUP) {
+ if (cp->state && (cp->flags & CCP_DECOMP_RUN)) {
+ (*cp->comp->decomp_reset)(cp->state);
+ cp->flags &= ~CCP_ERROR;
+ }
+ }
+ break;
+ }
+}
+
+show_time(f, c)
+ FILE *f;
+ int c;
+{
+ time_t t;
+ int n;
+ struct tm *tm;
+
+ if (c == 7) {
+ t = getc(f);
+ t = (t << 8) + getc(f);
+ t = (t << 8) + getc(f);
+ t = (t << 8) + getc(f);
+ printf("start %s", ctime(&t));
+ start_time = t;
+ start_time_tenths = 0;
+ tot_sent = tot_rcvd = 0;
+ } else {
+ n = getc(f);
+ if (c == 5) {
+ for (c = 3; c > 0; --c)
+ n = (n << 8) + getc(f);
+ }
+ if (abs_times) {
+ n += start_time_tenths;
+ start_time += n / 10;
+ start_time_tenths = n % 10;
+ tm = localtime(&start_time);
+ printf("time %.2d:%.2d:%.2d.%d", tm->tm_hour, tm->tm_min,
+ tm->tm_sec, start_time_tenths);
+ printf(" (sent %d, rcvd %d)\n", tot_sent, tot_rcvd);
+ } else
+ printf("time %.1fs\n", (double) n / 10);
+ }
+}
diff --git a/mdk-stage1/ppp/pppdump/zlib.c b/mdk-stage1/ppp/pppdump/zlib.c
new file mode 100644
index 000000000..44ef28497
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/zlib.c
@@ -0,0 +1,4614 @@
+/*
+ * This file is derived from various .h and .c files from the zlib-0.95
+ * distribution by Jean-loup Gailly and Mark Adler, with some additions
+ * by Paul Mackerras to aid in implementing Deflate compression and
+ * decompression for PPP packets. See zlib.h for conditions of
+ * distribution and use.
+ *
+ * Changes that have been made include:
+ * - changed functions not used outside this file to "local"
+ * - added minCompression parameter to deflateInit2
+ * - added Z_PACKET_FLUSH (see zlib.h for details)
+ * - added inflateIncomp
+ *
+ * $Id: zlib.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+
+/*+++++*/
+/* zutil.h -- internal interface and configuration of the compression library
+ * Copyright (C) 1995 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* From: zutil.h,v 1.9 1995/05/03 17:27:12 jloup Exp */
+
+#define _Z_UTIL_H
+
+#include "zlib.h"
+
+#ifdef STDC
+# include <string.h>
+#endif
+
+#ifndef local
+# define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+#define FAR
+
+typedef unsigned char uch;
+typedef uch FAR uchf;
+typedef unsigned short ush;
+typedef ush FAR ushf;
+typedef unsigned long ulg;
+
+extern char *z_errmsg[]; /* indexed by 1-zlib_error */
+
+#define ERR_RETURN(strm,err) return (strm->msg=z_errmsg[1-err], err)
+/* To be used only when the state is known to be valid */
+
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
+
+ /* common constants */
+
+#define DEFLATED 8
+
+#ifndef DEF_WBITS
+# define DEF_WBITS MAX_WBITS
+#endif
+/* default windowBits for decompression. MAX_WBITS is for compression only */
+
+#if MAX_MEM_LEVEL >= 8
+# define DEF_MEM_LEVEL 8
+#else
+# define DEF_MEM_LEVEL MAX_MEM_LEVEL
+#endif
+/* default memLevel */
+
+#define STORED_BLOCK 0
+#define STATIC_TREES 1
+#define DYN_TREES 2
+/* The three kinds of block type */
+
+#define MIN_MATCH 3
+#define MAX_MATCH 258
+/* The minimum and maximum match lengths */
+
+ /* functions */
+
+#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
+# define HAVE_MEMCPY
+#endif
+#ifdef HAVE_MEMCPY
+# define zmemcpy memcpy
+# define zmemzero(dest, len) memset(dest, 0, len)
+#else
+# define zmemcpy(d, s, n) bcopy((s), (d), (n))
+# define zmemzero bzero
+#endif
+
+/* Diagnostic functions */
+#ifdef DEBUG_ZLIB
+# include <stdio.h>
+# ifndef verbose
+# define verbose 0
+# endif
+# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
+# define Trace(x) fprintf x
+# define Tracev(x) {if (verbose) fprintf x ;}
+# define Tracevv(x) {if (verbose>1) fprintf x ;}
+# define Tracec(c,x) {if (verbose && (c)) fprintf x ;}
+# define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;}
+#else
+# define Assert(cond,msg)
+# define Trace(x)
+# define Tracev(x)
+# define Tracevv(x)
+# define Tracec(c,x)
+# define Tracecv(c,x)
+#endif
+
+
+typedef uLong (*check_func) OF((uLong check, Bytef *buf, uInt len));
+
+/* voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size)); */
+/* void zcfree OF((voidpf opaque, voidpf ptr)); */
+
+#define ZALLOC(strm, items, size) \
+ (*((strm)->zalloc))((strm)->opaque, (items), (size))
+#define ZFREE(strm, addr, size) \
+ (*((strm)->zfree))((strm)->opaque, (voidpf)(addr), (size))
+#define TRY_FREE(s, p, n) {if (p) ZFREE(s, p, n);}
+
+/* deflate.h -- internal compression state
+ * Copyright (C) 1995 Jean-loup Gailly
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+
+/*+++++*/
+/* From: deflate.h,v 1.5 1995/05/03 17:27:09 jloup Exp */
+
+/* ===========================================================================
+ * Internal compression state.
+ */
+
+/* Data type */
+#define BINARY 0
+#define ASCII 1
+#define UNKNOWN 2
+
+#define LENGTH_CODES 29
+/* number of length codes, not counting the special END_BLOCK code */
+
+#define LITERALS 256
+/* number of literal bytes 0..255 */
+
+#define L_CODES (LITERALS+1+LENGTH_CODES)
+/* number of Literal or Length codes, including the END_BLOCK code */
+
+#define D_CODES 30
+/* number of distance codes */
+
+#define BL_CODES 19
+/* number of codes used to transfer the bit lengths */
+
+#define HEAP_SIZE (2*L_CODES+1)
+/* maximum heap size */
+
+#define MAX_BITS 15
+/* All codes must not exceed MAX_BITS bits */
+
+#define INIT_STATE 42
+#define BUSY_STATE 113
+#define FLUSH_STATE 124
+#define FINISH_STATE 666
+/* Stream status */
+
+
+/* Data structure describing a single value and its code string. */
+typedef struct ct_data_s {
+ union {
+ ush freq; /* frequency count */
+ ush code; /* bit string */
+ } fc;
+ union {
+ ush dad; /* father node in Huffman tree */
+ ush len; /* length of bit string */
+ } dl;
+} FAR ct_data;
+
+#define Freq fc.freq
+#define Code fc.code
+#define Dad dl.dad
+#define Len dl.len
+
+typedef struct static_tree_desc_s static_tree_desc;
+
+typedef struct tree_desc_s {
+ ct_data *dyn_tree; /* the dynamic tree */
+ int max_code; /* largest code with non zero frequency */
+ static_tree_desc *stat_desc; /* the corresponding static tree */
+} FAR tree_desc;
+
+typedef ush Pos;
+typedef Pos FAR Posf;
+typedef unsigned IPos;
+
+/* A Pos is an index in the character window. We use short instead of int to
+ * save space in the various tables. IPos is used only for parameter passing.
+ */
+
+typedef struct deflate_state {
+ z_stream *strm; /* pointer back to this zlib stream */
+ int status; /* as the name implies */
+ Bytef *pending_buf; /* output still pending */
+ Bytef *pending_out; /* next pending byte to output to the stream */
+ int pending; /* nb of bytes in the pending buffer */
+ uLong adler; /* adler32 of uncompressed data */
+ int noheader; /* suppress zlib header and adler32 */
+ Byte data_type; /* UNKNOWN, BINARY or ASCII */
+ Byte method; /* STORED (for zip only) or DEFLATED */
+ int minCompr; /* min size decrease for Z_FLUSH_NOSTORE */
+
+ /* used by deflate.c: */
+
+ uInt w_size; /* LZ77 window size (32K by default) */
+ uInt w_bits; /* log2(w_size) (8..16) */
+ uInt w_mask; /* w_size - 1 */
+
+ Bytef *window;
+ /* Sliding window. Input bytes are read into the second half of the window,
+ * and move to the first half later to keep a dictionary of at least wSize
+ * bytes. With this organization, matches are limited to a distance of
+ * wSize-MAX_MATCH bytes, but this ensures that IO is always
+ * performed with a length multiple of the block size. Also, it limits
+ * the window size to 64K, which is quite useful on MSDOS.
+ * To do: use the user input buffer as sliding window.
+ */
+
+ ulg window_size;
+ /* Actual size of window: 2*wSize, except when the user input buffer
+ * is directly used as sliding window.
+ */
+
+ Posf *prev;
+ /* Link to older string with same hash index. To limit the size of this
+ * array to 64K, this link is maintained only for the last 32K strings.
+ * An index in this array is thus a window index modulo 32K.
+ */
+
+ Posf *head; /* Heads of the hash chains or NIL. */
+
+ uInt ins_h; /* hash index of string to be inserted */
+ uInt hash_size; /* number of elements in hash table */
+ uInt hash_bits; /* log2(hash_size) */
+ uInt hash_mask; /* hash_size-1 */
+
+ uInt hash_shift;
+ /* Number of bits by which ins_h must be shifted at each input
+ * step. It must be such that after MIN_MATCH steps, the oldest
+ * byte no longer takes part in the hash key, that is:
+ * hash_shift * MIN_MATCH >= hash_bits
+ */
+
+ long block_start;
+ /* Window position at the beginning of the current output block. Gets
+ * negative when the window is moved backwards.
+ */
+
+ uInt match_length; /* length of best match */
+ IPos prev_match; /* previous match */
+ int match_available; /* set if previous match exists */
+ uInt strstart; /* start of string to insert */
+ uInt match_start; /* start of matching string */
+ uInt lookahead; /* number of valid bytes ahead in window */
+
+ uInt prev_length;
+ /* Length of the best match at previous step. Matches not greater than this
+ * are discarded. This is used in the lazy match evaluation.
+ */
+
+ uInt max_chain_length;
+ /* To speed up deflation, hash chains are never searched beyond this
+ * length. A higher limit improves compression ratio but degrades the
+ * speed.
+ */
+
+ uInt max_lazy_match;
+ /* Attempt to find a better match only when the current match is strictly
+ * smaller than this value. This mechanism is used only for compression
+ * levels >= 4.
+ */
+# define max_insert_length max_lazy_match
+ /* Insert new strings in the hash table only if the match length is not
+ * greater than this length. This saves time but degrades compression.
+ * max_insert_length is used only for compression levels <= 3.
+ */
+
+ int level; /* compression level (1..9) */
+ int strategy; /* favor or force Huffman coding*/
+
+ uInt good_match;
+ /* Use a faster search when the previous match is longer than this */
+
+ int nice_match; /* Stop searching when current match exceeds this */
+
+ /* used by trees.c: */
+ /* Didn't use ct_data typedef below to supress compiler warning */
+ struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
+ struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
+ struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
+
+ struct tree_desc_s l_desc; /* desc. for literal tree */
+ struct tree_desc_s d_desc; /* desc. for distance tree */
+ struct tree_desc_s bl_desc; /* desc. for bit length tree */
+
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
+ int heap_len; /* number of elements in the heap */
+ int heap_max; /* element of largest frequency */
+ /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
+ * The same heap array is used to build all trees.
+ */
+
+ uch depth[2*L_CODES+1];
+ /* Depth of each subtree used as tie breaker for trees of equal frequency
+ */
+
+ uchf *l_buf; /* buffer for literals or lengths */
+
+ uInt lit_bufsize;
+ /* Size of match buffer for literals/lengths. There are 4 reasons for
+ * limiting lit_bufsize to 64K:
+ * - frequencies can be kept in 16 bit counters
+ * - if compression is not successful for the first block, all input
+ * data is still in the window so we can still emit a stored block even
+ * when input comes from standard input. (This can also be done for
+ * all blocks if lit_bufsize is not greater than 32K.)
+ * - if compression is not successful for a file smaller than 64K, we can
+ * even emit a stored file instead of a stored block (saving 5 bytes).
+ * This is applicable only for zip (not gzip or zlib).
+ * - creating new Huffman trees less frequently may not provide fast
+ * adaptation to changes in the input data statistics. (Take for
+ * example a binary file with poorly compressible code followed by
+ * a highly compressible string table.) Smaller buffer sizes give
+ * fast adaptation but have of course the overhead of transmitting
+ * trees more frequently.
+ * - I can't count above 4
+ */
+
+ uInt last_lit; /* running index in l_buf */
+
+ ushf *d_buf;
+ /* Buffer for distances. To simplify the code, d_buf and l_buf have
+ * the same number of elements. To use different lengths, an extra flag
+ * array would be necessary.
+ */
+
+ ulg opt_len; /* bit length of current block with optimal trees */
+ ulg static_len; /* bit length of current block with static trees */
+ ulg compressed_len; /* total bit length of compressed file */
+ uInt matches; /* number of string matches in current block */
+ int last_eob_len; /* bit length of EOB code for last block */
+
+#ifdef DEBUG_ZLIB
+ ulg bits_sent; /* bit length of the compressed data */
+#endif
+
+ ush bi_buf;
+ /* Output buffer. bits are inserted starting at the bottom (least
+ * significant bits).
+ */
+ int bi_valid;
+ /* Number of valid bits in bi_buf. All bits above the last valid bit
+ * are always zero.
+ */
+
+ uInt blocks_in_packet;
+ /* Number of blocks produced since the last time Z_PACKET_FLUSH
+ * was used.
+ */
+
+} FAR deflate_state;
+
+/* Output a byte on the stream.
+ * IN assertion: there is enough room in pending_buf.
+ */
+#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
+
+
+#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
+/* Minimum amount of lookahead, except at the end of the input file.
+ * See deflate.c for comments about the MIN_MATCH+1.
+ */
+
+#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
+/* In order to simplify the code, particularly on 16 bit machines, match
+ * distances are limited to MAX_DIST instead of WSIZE.
+ */
+
+ /* in trees.c */
+local void ct_init OF((deflate_state *s));
+local int ct_tally OF((deflate_state *s, int dist, int lc));
+local ulg ct_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
+ int flush));
+local void ct_align OF((deflate_state *s));
+local void ct_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
+ int eof));
+local void ct_stored_type_only OF((deflate_state *s));
+
+
+/*+++++*/
+/* deflate.c -- compress data using the deflation algorithm
+ * Copyright (C) 1995 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process depends on being able to identify portions
+ * of the input text which are identical to earlier input (within a
+ * sliding window trailing behind the input currently being processed).
+ *
+ * The most straightforward technique turns out to be the fastest for
+ * most input files: try all possible matches and select the longest.
+ * The key feature of this algorithm is that insertions into the string
+ * dictionary are very simple and thus fast, and deletions are avoided
+ * completely. Insertions are performed at each input character, whereas
+ * string matches are performed only when the previous match ends. So it
+ * is preferable to spend more time in matches to allow very fast string
+ * insertions and avoid deletions. The matching algorithm for small
+ * strings is inspired from that of Rabin & Karp. A brute force approach
+ * is used to find longer strings when a small match has been found.
+ * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze
+ * (by Leonid Broukhis).
+ * A previous version of this file used a more sophisticated algorithm
+ * (by Fiala and Greene) which is guaranteed to run in linear amortized
+ * time, but has a larger average cost, uses more memory and is patented.
+ * However the F&G algorithm may be faster for some highly redundant
+ * files if the parameter max_chain_length (described below) is too large.
+ *
+ * ACKNOWLEDGEMENTS
+ *
+ * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and
+ * I found it in 'freeze' written by Leonid Broukhis.
+ * Thanks to many people for bug reports and testing.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
+ * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
+ *
+ * A description of the Rabin and Karp algorithm is given in the book
+ * "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
+ *
+ * Fiala,E.R., and Greene,D.H.
+ * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595
+ *
+ */
+
+/* From: deflate.c,v 1.8 1995/05/03 17:27:08 jloup Exp */
+
+local char zlib_copyright[] = " deflate Copyright 1995 Jean-loup Gailly ";
+/*
+ If you use the zlib library in a product, an acknowledgment is welcome
+ in the documentation of your product. If for some reason you cannot
+ include such an acknowledgment, I would appreciate that you keep this
+ copyright string in the executable of your product.
+ */
+
+#define NIL 0
+/* Tail of hash chains */
+
+#ifndef TOO_FAR
+# define TOO_FAR 4096
+#endif
+/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */
+
+#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
+/* Minimum amount of lookahead, except at the end of the input file.
+ * See deflate.c for comments about the MIN_MATCH+1.
+ */
+
+/* Values for max_lazy_match, good_match and max_chain_length, depending on
+ * the desired pack level (0..9). The values given below have been tuned to
+ * exclude worst case performance for pathological files. Better values may be
+ * found for specific files.
+ */
+
+typedef struct config_s {
+ ush good_length; /* reduce lazy search above this match length */
+ ush max_lazy; /* do not perform lazy search above this match length */
+ ush nice_length; /* quit search above this match length */
+ ush max_chain;
+} config;
+
+local config configuration_table[10] = {
+/* good lazy nice chain */
+/* 0 */ {0, 0, 0, 0}, /* store only */
+/* 1 */ {4, 4, 8, 4}, /* maximum speed, no lazy matches */
+/* 2 */ {4, 5, 16, 8},
+/* 3 */ {4, 6, 32, 32},
+
+/* 4 */ {4, 4, 16, 16}, /* lazy matches */
+/* 5 */ {8, 16, 32, 32},
+/* 6 */ {8, 16, 128, 128},
+/* 7 */ {8, 32, 128, 256},
+/* 8 */ {32, 128, 258, 1024},
+/* 9 */ {32, 258, 258, 4096}}; /* maximum compression */
+
+/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4
+ * For deflate_fast() (levels <= 3) good is ignored and lazy has a different
+ * meaning.
+ */
+
+#define EQUAL 0
+/* result of memcmp for equal strings */
+
+/* ===========================================================================
+ * Prototypes for local functions.
+ */
+
+local void fill_window OF((deflate_state *s));
+local int deflate_fast OF((deflate_state *s, int flush));
+local int deflate_slow OF((deflate_state *s, int flush));
+local void lm_init OF((deflate_state *s));
+local int longest_match OF((deflate_state *s, IPos cur_match));
+local void putShortMSB OF((deflate_state *s, uInt b));
+local void flush_pending OF((z_stream *strm));
+local int read_buf OF((z_stream *strm, charf *buf, unsigned size));
+#ifdef ASMV
+ void match_init OF((void)); /* asm code initialization */
+#endif
+
+#ifdef DEBUG_ZLIB
+local void check_match OF((deflate_state *s, IPos start, IPos match,
+ int length));
+#endif
+
+
+/* ===========================================================================
+ * Update a hash value with the given input byte
+ * IN assertion: all calls to to UPDATE_HASH are made with consecutive
+ * input characters, so that a running hash key can be computed from the
+ * previous key instead of complete recalculation each time.
+ */
+#define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
+
+
+/* ===========================================================================
+ * Insert string str in the dictionary and set match_head to the previous head
+ * of the hash chain (the most recent string with same hash key). Return
+ * the previous length of the hash chain.
+ * IN assertion: all calls to to INSERT_STRING are made with consecutive
+ * input characters and the first MIN_MATCH bytes of str are valid
+ * (except for the last MIN_MATCH-1 bytes of the input file).
+ */
+#define INSERT_STRING(s, str, match_head) \
+ (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
+ s->prev[(str) & s->w_mask] = match_head = s->head[s->ins_h], \
+ s->head[s->ins_h] = (str))
+
+/* ===========================================================================
+ * Initialize the hash table (avoiding 64K overflow for 16 bit systems).
+ * prev[] will be initialized on the fly.
+ */
+#define CLEAR_HASH(s) \
+ s->head[s->hash_size-1] = NIL; \
+ zmemzero((charf *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+
+/* ========================================================================= */
+int deflateInit (strm, level)
+ z_stream *strm;
+ int level;
+{
+ return deflateInit2 (strm, level, DEFLATED, MAX_WBITS, DEF_MEM_LEVEL,
+ 0, 0);
+ /* To do: ignore strm->next_in if we use it as window */
+}
+
+/* ========================================================================= */
+int deflateInit2 (strm, level, method, windowBits, memLevel,
+ strategy, minCompression)
+ z_stream *strm;
+ int level;
+ int method;
+ int windowBits;
+ int memLevel;
+ int strategy;
+ int minCompression;
+{
+ deflate_state *s;
+ int noheader = 0;
+
+ if (strm == Z_NULL) return Z_STREAM_ERROR;
+
+ strm->msg = Z_NULL;
+/* if (strm->zalloc == Z_NULL) strm->zalloc = zcalloc; */
+/* if (strm->zfree == Z_NULL) strm->zfree = zcfree; */
+
+ if (level == Z_DEFAULT_COMPRESSION) level = 6;
+
+ if (windowBits < 0) { /* undocumented feature: suppress zlib header */
+ noheader = 1;
+ windowBits = -windowBits;
+ }
+ if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != DEFLATED ||
+ windowBits < 8 || windowBits > 15 || level < 1 || level > 9) {
+ return Z_STREAM_ERROR;
+ }
+ s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state));
+ if (s == Z_NULL) return Z_MEM_ERROR;
+ strm->state = (struct internal_state FAR *)s;
+ s->strm = strm;
+
+ s->noheader = noheader;
+ s->w_bits = windowBits;
+ s->w_size = 1 << s->w_bits;
+ s->w_mask = s->w_size - 1;
+
+ s->hash_bits = memLevel + 7;
+ s->hash_size = 1 << s->hash_bits;
+ s->hash_mask = s->hash_size - 1;
+ s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
+
+ s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
+ s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos));
+ s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos));
+
+ s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+
+ s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 2*sizeof(ush));
+
+ if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
+ s->pending_buf == Z_NULL) {
+ strm->msg = z_errmsg[1-Z_MEM_ERROR];
+ deflateEnd (strm);
+ return Z_MEM_ERROR;
+ }
+ s->d_buf = (ushf *) &(s->pending_buf[s->lit_bufsize]);
+ s->l_buf = (uchf *) &(s->pending_buf[3*s->lit_bufsize]);
+ /* We overlay pending_buf and d_buf+l_buf. This works since the average
+ * output size for (length,distance) codes is <= 32 bits (worst case
+ * is 15+15+13=33).
+ */
+
+ s->level = level;
+ s->strategy = strategy;
+ s->method = (Byte)method;
+ s->minCompr = minCompression;
+ s->blocks_in_packet = 0;
+
+ return deflateReset(strm);
+}
+
+/* ========================================================================= */
+int deflateReset (strm)
+ z_stream *strm;
+{
+ deflate_state *s;
+
+ if (strm == Z_NULL || strm->state == Z_NULL ||
+ strm->zalloc == Z_NULL || strm->zfree == Z_NULL) return Z_STREAM_ERROR;
+
+ strm->total_in = strm->total_out = 0;
+ strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */
+ strm->data_type = Z_UNKNOWN;
+
+ s = (deflate_state *)strm->state;
+ s->pending = 0;
+ s->pending_out = s->pending_buf;
+
+ if (s->noheader < 0) {
+ s->noheader = 0; /* was set to -1 by deflate(..., Z_FINISH); */
+ }
+ s->status = s->noheader ? BUSY_STATE : INIT_STATE;
+ s->adler = 1;
+
+ ct_init(s);
+ lm_init(s);
+
+ return Z_OK;
+}
+
+/* =========================================================================
+ * Put a short in the pending buffer. The 16-bit value is put in MSB order.
+ * IN assertion: the stream state is correct and there is enough room in
+ * pending_buf.
+ */
+local void putShortMSB (s, b)
+ deflate_state *s;
+ uInt b;
+{
+ put_byte(s, (Byte)(b >> 8));
+ put_byte(s, (Byte)(b & 0xff));
+}
+
+/* =========================================================================
+ * Flush as much pending output as possible.
+ */
+local void flush_pending(strm)
+ z_stream *strm;
+{
+ deflate_state *state = (deflate_state *) strm->state;
+ unsigned len = state->pending;
+
+ if (len > strm->avail_out) len = strm->avail_out;
+ if (len == 0) return;
+
+ if (strm->next_out != NULL) {
+ zmemcpy(strm->next_out, state->pending_out, len);
+ strm->next_out += len;
+ }
+ state->pending_out += len;
+ strm->total_out += len;
+ strm->avail_out -= len;
+ state->pending -= len;
+ if (state->pending == 0) {
+ state->pending_out = state->pending_buf;
+ }
+}
+
+/* ========================================================================= */
+int deflate (strm, flush)
+ z_stream *strm;
+ int flush;
+{
+ deflate_state *state = (deflate_state *) strm->state;
+
+ if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
+
+ if (strm->next_in == Z_NULL && strm->avail_in != 0) {
+ ERR_RETURN(strm, Z_STREAM_ERROR);
+ }
+ if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
+
+ state->strm = strm; /* just in case */
+
+ /* Write the zlib header */
+ if (state->status == INIT_STATE) {
+
+ uInt header = (DEFLATED + ((state->w_bits-8)<<4)) << 8;
+ uInt level_flags = (state->level-1) >> 1;
+
+ if (level_flags > 3) level_flags = 3;
+ header |= (level_flags << 6);
+ header += 31 - (header % 31);
+
+ state->status = BUSY_STATE;
+ putShortMSB(state, header);
+ }
+
+ /* Flush as much pending output as possible */
+ if (state->pending != 0) {
+ flush_pending(strm);
+ if (strm->avail_out == 0) return Z_OK;
+ }
+
+ /* If we came back in here to get the last output from
+ * a previous flush, we're done for now.
+ */
+ if (state->status == FLUSH_STATE) {
+ state->status = BUSY_STATE;
+ if (flush != Z_NO_FLUSH && flush != Z_FINISH)
+ return Z_OK;
+ }
+
+ /* User must not provide more input after the first FINISH: */
+ if (state->status == FINISH_STATE && strm->avail_in != 0) {
+ ERR_RETURN(strm, Z_BUF_ERROR);
+ }
+
+ /* Start a new block or continue the current one.
+ */
+ if (strm->avail_in != 0 || state->lookahead != 0 ||
+ (flush == Z_FINISH && state->status != FINISH_STATE)) {
+ int quit;
+
+ if (flush == Z_FINISH) {
+ state->status = FINISH_STATE;
+ }
+ if (state->level <= 3) {
+ quit = deflate_fast(state, flush);
+ } else {
+ quit = deflate_slow(state, flush);
+ }
+ if (quit || strm->avail_out == 0)
+ return Z_OK;
+ /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
+ * of deflate should use the same flush parameter to make sure
+ * that the flush is complete. So we don't have to output an
+ * empty block here, this will be done at next call. This also
+ * ensures that for a very small output buffer, we emit at most
+ * one empty block.
+ */
+ }
+
+ /* If a flush was requested, we have a little more to output now. */
+ if (flush != Z_NO_FLUSH && flush != Z_FINISH
+ && state->status != FINISH_STATE) {
+ switch (flush) {
+ case Z_PARTIAL_FLUSH:
+ ct_align(state);
+ break;
+ case Z_PACKET_FLUSH:
+ /* Output just the 3-bit `stored' block type value,
+ but not a zero length. */
+ ct_stored_type_only(state);
+ break;
+ default:
+ ct_stored_block(state, (char*)0, 0L, 0);
+ /* For a full flush, this empty block will be recognized
+ * as a special marker by inflate_sync().
+ */
+ if (flush == Z_FULL_FLUSH) {
+ CLEAR_HASH(state); /* forget history */
+ }
+ }
+ flush_pending(strm);
+ if (strm->avail_out == 0) {
+ /* We'll have to come back to get the rest of the output;
+ * this ensures we don't output a second zero-length stored
+ * block (or whatever).
+ */
+ state->status = FLUSH_STATE;
+ return Z_OK;
+ }
+ }
+
+ Assert(strm->avail_out > 0, "bug2");
+
+ if (flush != Z_FINISH) return Z_OK;
+ if (state->noheader) return Z_STREAM_END;
+
+ /* Write the zlib trailer (adler32) */
+ putShortMSB(state, (uInt)(state->adler >> 16));
+ putShortMSB(state, (uInt)(state->adler & 0xffff));
+ flush_pending(strm);
+ /* If avail_out is zero, the application will call deflate again
+ * to flush the rest.
+ */
+ state->noheader = -1; /* write the trailer only once! */
+ return state->pending != 0 ? Z_OK : Z_STREAM_END;
+}
+
+/* ========================================================================= */
+int deflateEnd (strm)
+ z_stream *strm;
+{
+ deflate_state *state = (deflate_state *) strm->state;
+
+ if (strm == Z_NULL || state == Z_NULL) return Z_STREAM_ERROR;
+
+ TRY_FREE(strm, state->window, state->w_size * 2 * sizeof(Byte));
+ TRY_FREE(strm, state->prev, state->w_size * sizeof(Pos));
+ TRY_FREE(strm, state->head, state->hash_size * sizeof(Pos));
+ TRY_FREE(strm, state->pending_buf, state->lit_bufsize * 2 * sizeof(ush));
+
+ ZFREE(strm, state, sizeof(deflate_state));
+ strm->state = Z_NULL;
+
+ return Z_OK;
+}
+
+/* ===========================================================================
+ * Read a new buffer from the current input stream, update the adler32
+ * and total number of bytes read.
+ */
+local int read_buf(strm, buf, size)
+ z_stream *strm;
+ charf *buf;
+ unsigned size;
+{
+ unsigned len = strm->avail_in;
+ deflate_state *state = (deflate_state *) strm->state;
+
+ if (len > size) len = size;
+ if (len == 0) return 0;
+
+ strm->avail_in -= len;
+
+ if (!state->noheader) {
+ state->adler = adler32(state->adler, strm->next_in, len);
+ }
+ zmemcpy(buf, strm->next_in, len);
+ strm->next_in += len;
+ strm->total_in += len;
+
+ return (int)len;
+}
+
+/* ===========================================================================
+ * Initialize the "longest match" routines for a new zlib stream
+ */
+local void lm_init (s)
+ deflate_state *s;
+{
+ s->window_size = (ulg)2L*s->w_size;
+
+ CLEAR_HASH(s);
+
+ /* Set the default configuration parameters:
+ */
+ s->max_lazy_match = configuration_table[s->level].max_lazy;
+ s->good_match = configuration_table[s->level].good_length;
+ s->nice_match = configuration_table[s->level].nice_length;
+ s->max_chain_length = configuration_table[s->level].max_chain;
+
+ s->strstart = 0;
+ s->block_start = 0L;
+ s->lookahead = 0;
+ s->match_length = MIN_MATCH-1;
+ s->match_available = 0;
+ s->ins_h = 0;
+#ifdef ASMV
+ match_init(); /* initialize the asm code */
+#endif
+}
+
+/* ===========================================================================
+ * Set match_start to the longest match starting at the given string and
+ * return its length. Matches shorter or equal to prev_length are discarded,
+ * in which case the result is equal to prev_length and match_start is
+ * garbage.
+ * IN assertions: cur_match is the head of the hash chain for the current
+ * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
+ */
+#ifndef ASMV
+/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
+ * match.S. The code will be functionally equivalent.
+ */
+local int longest_match(s, cur_match)
+ deflate_state *s;
+ IPos cur_match; /* current match */
+{
+ unsigned chain_length = s->max_chain_length;/* max hash chain length */
+ register Bytef *scan = s->window + s->strstart; /* current string */
+ register Bytef *match; /* matched string */
+ register int len; /* length of current match */
+ int best_len = s->prev_length; /* best match length so far */
+ IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
+ s->strstart - (IPos)MAX_DIST(s) : NIL;
+ /* Stop when cur_match becomes <= limit. To simplify the code,
+ * we prevent matches with the string of window index 0.
+ */
+ Posf *prev = s->prev;
+ uInt wmask = s->w_mask;
+
+#ifdef UNALIGNED_OK
+ /* Compare two bytes at a time. Note: this is not always beneficial.
+ * Try with and without -DUNALIGNED_OK to check.
+ */
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
+ register ush scan_start = *(ushf*)scan;
+ register ush scan_end = *(ushf*)(scan+best_len-1);
+#else
+ register Bytef *strend = s->window + s->strstart + MAX_MATCH;
+ register Byte scan_end1 = scan[best_len-1];
+ register Byte scan_end = scan[best_len];
+#endif
+
+ /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
+ * It is easy to get rid of this optimization if necessary.
+ */
+ Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever");
+
+ /* Do not waste too much time if we already have a good match: */
+ if (s->prev_length >= s->good_match) {
+ chain_length >>= 2;
+ }
+ Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
+
+ do {
+ Assert(cur_match < s->strstart, "no future");
+ match = s->window + cur_match;
+
+ /* Skip to next match if the match length cannot increase
+ * or if the match length is less than 2:
+ */
+#if (defined(UNALIGNED_OK) && MAX_MATCH == 258)
+ /* This code assumes sizeof(unsigned short) == 2. Do not use
+ * UNALIGNED_OK if your compiler uses a different size.
+ */
+ if (*(ushf*)(match+best_len-1) != scan_end ||
+ *(ushf*)match != scan_start) continue;
+
+ /* It is not necessary to compare scan[2] and match[2] since they are
+ * always equal when the other bytes match, given that the hash keys
+ * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at
+ * strstart+3, +5, ... up to strstart+257. We check for insufficient
+ * lookahead only every 4th comparison; the 128th check will be made
+ * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
+ * necessary to put more guard bytes at the end of the window, or
+ * to check more often for insufficient lookahead.
+ */
+ Assert(scan[2] == match[2], "scan[2]?");
+ scan++, match++;
+ do {
+ } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ *(ushf*)(scan+=2) == *(ushf*)(match+=2) &&
+ scan < strend);
+ /* The funny "do {}" generates better code on most compilers */
+
+ /* Here, scan <= window+strstart+257 */
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+ if (*scan == *match) scan++;
+
+ len = (MAX_MATCH - 1) - (int)(strend-scan);
+ scan = strend - (MAX_MATCH-1);
+
+#else /* UNALIGNED_OK */
+
+ if (match[best_len] != scan_end ||
+ match[best_len-1] != scan_end1 ||
+ *match != *scan ||
+ *++match != scan[1]) continue;
+
+ /* The check at best_len-1 can be removed because it will be made
+ * again later. (This heuristic is not always a win.)
+ * It is not necessary to compare scan[2] and match[2] since they
+ * are always equal when the other bytes match, given that
+ * the hash keys are equal and that HASH_BITS >= 8.
+ */
+ scan += 2, match++;
+ Assert(*scan == *match, "match[2]?");
+
+ /* We check for insufficient lookahead only every 8th comparison;
+ * the 256th check will be made at strstart+258.
+ */
+ do {
+ } while (*++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ *++scan == *++match && *++scan == *++match &&
+ scan < strend);
+
+ Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan");
+
+ len = MAX_MATCH - (int)(strend - scan);
+ scan = strend - MAX_MATCH;
+
+#endif /* UNALIGNED_OK */
+
+ if (len > best_len) {
+ s->match_start = cur_match;
+ best_len = len;
+ if (len >= s->nice_match) break;
+#ifdef UNALIGNED_OK
+ scan_end = *(ushf*)(scan+best_len-1);
+#else
+ scan_end1 = scan[best_len-1];
+ scan_end = scan[best_len];
+#endif
+ }
+ } while ((cur_match = prev[cur_match & wmask]) > limit
+ && --chain_length != 0);
+
+ return best_len;
+}
+#endif /* ASMV */
+
+#ifdef DEBUG_ZLIB
+/* ===========================================================================
+ * Check that the match at match_start is indeed a match.
+ */
+local void check_match(s, start, match, length)
+ deflate_state *s;
+ IPos start, match;
+ int length;
+{
+ /* check that the match is indeed a match */
+ if (memcmp((charf *)s->window + match,
+ (charf *)s->window + start, length) != EQUAL) {
+ fprintf(stderr,
+ " start %u, match %u, length %d\n",
+ start, match, length);
+ do { fprintf(stderr, "%c%c", s->window[match++],
+ s->window[start++]); } while (--length != 0);
+ z_error("invalid match");
+ }
+ if (verbose > 1) {
+ fprintf(stderr,"\\[%d,%d]", start-match, length);
+ do { putc(s->window[start++], stderr); } while (--length != 0);
+ }
+}
+#else
+# define check_match(s, start, match, length)
+#endif
+
+/* ===========================================================================
+ * Fill the window when the lookahead becomes insufficient.
+ * Updates strstart and lookahead.
+ *
+ * IN assertion: lookahead < MIN_LOOKAHEAD
+ * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
+ * At least one byte has been read, or avail_in == 0; reads are
+ * performed for at least two bytes (required for the zip translate_eol
+ * option -- not supported here).
+ */
+local void fill_window(s)
+ deflate_state *s;
+{
+ register unsigned n, m;
+ register Posf *p;
+ unsigned more; /* Amount of free space at the end of the window. */
+ uInt wsize = s->w_size;
+
+ do {
+ more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
+
+ /* Deal with !@#$% 64K limit: */
+ if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
+ more = wsize;
+ } else if (more == (unsigned)(-1)) {
+ /* Very unlikely, but possible on 16 bit machine if strstart == 0
+ * and lookahead == 1 (input done one byte at time)
+ */
+ more--;
+
+ /* If the window is almost full and there is insufficient lookahead,
+ * move the upper half to the lower one to make room in the upper half.
+ */
+ } else if (s->strstart >= wsize+MAX_DIST(s)) {
+
+ /* By the IN assertion, the window is not empty so we can't confuse
+ * more == 0 with more == 64K on a 16 bit machine.
+ */
+ zmemcpy((charf *)s->window, (charf *)s->window+wsize,
+ (unsigned)wsize);
+ s->match_start -= wsize;
+ s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
+
+ s->block_start -= (long) wsize;
+
+ /* Slide the hash table (could be avoided with 32 bit values
+ at the expense of memory usage):
+ */
+ n = s->hash_size;
+ p = &s->head[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ } while (--n);
+
+ n = wsize;
+ p = &s->prev[n];
+ do {
+ m = *--p;
+ *p = (Pos)(m >= wsize ? m-wsize : NIL);
+ /* If n is not on any hash chain, prev[n] is garbage but
+ * its value will never be used.
+ */
+ } while (--n);
+
+ more += wsize;
+ }
+ if (s->strm->avail_in == 0) return;
+
+ /* If there was no sliding:
+ * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
+ * more == window_size - lookahead - strstart
+ * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)
+ * => more >= window_size - 2*WSIZE + 2
+ * In the BIG_MEM or MMAP case (not yet supported),
+ * window_size == input_size + MIN_LOOKAHEAD &&
+ * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
+ * Otherwise, window_size == 2*WSIZE so more >= 2.
+ * If there was sliding, more >= WSIZE. So in all cases, more >= 2.
+ */
+ Assert(more >= 2, "more < 2");
+
+ n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
+ more);
+ s->lookahead += n;
+
+ /* Initialize the hash value now that we have some input: */
+ if (s->lookahead >= MIN_MATCH) {
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ }
+ /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
+ * but this is not important since only literal bytes will be emitted.
+ */
+
+ } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0);
+}
+
+/* ===========================================================================
+ * Flush the current block, with given end-of-file flag.
+ * IN assertion: strstart is set to the end of the current match.
+ */
+#define FLUSH_BLOCK_ONLY(s, flush) { \
+ ct_flush_block(s, (s->block_start >= 0L ? \
+ (charf *)&s->window[(unsigned)s->block_start] : \
+ (charf *)Z_NULL), (long)s->strstart - s->block_start, (flush)); \
+ s->block_start = s->strstart; \
+ flush_pending(s->strm); \
+ Tracev((stderr,"[FLUSH]")); \
+}
+
+/* Same but force premature exit if necessary. */
+#define FLUSH_BLOCK(s, flush) { \
+ FLUSH_BLOCK_ONLY(s, flush); \
+ if (s->strm->avail_out == 0) return 1; \
+}
+
+/* ===========================================================================
+ * Compress as much as possible from the input stream, return true if
+ * processing was terminated prematurely (no more input or output space).
+ * This function does not perform lazy evaluationof matches and inserts
+ * new strings in the dictionary only for unmatched strings or for short
+ * matches. It is used only for the fast compression options.
+ */
+local int deflate_fast(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head = NIL; /* head of the hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ s->prev_length = MIN_MATCH-1;
+
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
+
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ * At this point we have always match_length < MIN_MATCH
+ */
+ if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ if (s->strategy != Z_HUFFMAN_ONLY) {
+ s->match_length = longest_match (s, hash_head);
+ }
+ /* longest_match() sets match_start */
+
+ if (s->match_length > s->lookahead) s->match_length = s->lookahead;
+ }
+ if (s->match_length >= MIN_MATCH) {
+ check_match(s, s->strstart, s->match_start, s->match_length);
+
+ bflush = ct_tally(s, s->strstart - s->match_start,
+ s->match_length - MIN_MATCH);
+
+ s->lookahead -= s->match_length;
+
+ /* Insert new strings in the hash table only if the match length
+ * is not too large. This saves time but degrades compression.
+ */
+ if (s->match_length <= s->max_insert_length &&
+ s->lookahead >= MIN_MATCH) {
+ s->match_length--; /* string at strstart already in hash table */
+ do {
+ s->strstart++;
+ INSERT_STRING(s, s->strstart, hash_head);
+ /* strstart never exceeds WSIZE-MAX_MATCH, so there are
+ * always MIN_MATCH bytes ahead.
+ */
+ } while (--s->match_length != 0);
+ s->strstart++;
+ } else {
+ s->strstart += s->match_length;
+ s->match_length = 0;
+ s->ins_h = s->window[s->strstart];
+ UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+#if MIN_MATCH != 3
+ Call UPDATE_HASH() MIN_MATCH-3 more times
+#endif
+ /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not
+ * matter since it will be recomputed at next deflate call.
+ */
+ }
+ } else {
+ /* No match, output a literal byte */
+ Tracevv((stderr,"%c", s->window[s->strstart]));
+ bflush = ct_tally (s, 0, s->window[s->strstart]);
+ s->lookahead--;
+ s->strstart++;
+ }
+ if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
+ }
+ FLUSH_BLOCK(s, flush);
+ return 0; /* normal exit */
+}
+
+/* ===========================================================================
+ * Same as above, but achieves better compression. We use a lazy
+ * evaluation for matches: a match is finally adopted only if there is
+ * no better match at the next window position.
+ */
+local int deflate_slow(s, flush)
+ deflate_state *s;
+ int flush;
+{
+ IPos hash_head = NIL; /* head of hash chain */
+ int bflush; /* set if current block must be flushed */
+
+ /* Process the input block. */
+ for (;;) {
+ /* Make sure that we always have enough lookahead, except
+ * at the end of the input file. We need MAX_MATCH bytes
+ * for the next match, plus MIN_MATCH bytes to insert the
+ * string following the next match.
+ */
+ if (s->lookahead < MIN_LOOKAHEAD) {
+ fill_window(s);
+ if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) return 1;
+
+ if (s->lookahead == 0) break; /* flush the current block */
+ }
+
+ /* Insert the string window[strstart .. strstart+2] in the
+ * dictionary, and set hash_head to the head of the hash chain:
+ */
+ if (s->lookahead >= MIN_MATCH) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+
+ /* Find the longest match, discarding those <= prev_length.
+ */
+ s->prev_length = s->match_length, s->prev_match = s->match_start;
+ s->match_length = MIN_MATCH-1;
+
+ if (hash_head != NIL && s->prev_length < s->max_lazy_match &&
+ s->strstart - hash_head <= MAX_DIST(s)) {
+ /* To simplify the code, we prevent matches with the string
+ * of window index 0 (in particular we have to avoid a match
+ * of the string with itself at the start of the input file).
+ */
+ if (s->strategy != Z_HUFFMAN_ONLY) {
+ s->match_length = longest_match (s, hash_head);
+ }
+ /* longest_match() sets match_start */
+ if (s->match_length > s->lookahead) s->match_length = s->lookahead;
+
+ if (s->match_length <= 5 && (s->strategy == Z_FILTERED ||
+ (s->match_length == MIN_MATCH &&
+ s->strstart - s->match_start > TOO_FAR))) {
+
+ /* If prev_match is also MIN_MATCH, match_start is garbage
+ * but we will ignore the current match anyway.
+ */
+ s->match_length = MIN_MATCH-1;
+ }
+ }
+ /* If there was a match at the previous step and the current
+ * match is not better, output the previous match:
+ */
+ if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
+ uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
+ /* Do not insert strings in hash table beyond this. */
+
+ check_match(s, s->strstart-1, s->prev_match, s->prev_length);
+
+ bflush = ct_tally(s, s->strstart -1 - s->prev_match,
+ s->prev_length - MIN_MATCH);
+
+ /* Insert in hash table all strings up to the end of the match.
+ * strstart-1 and strstart are already inserted. If there is not
+ * enough lookahead, the last two strings are not inserted in
+ * the hash table.
+ */
+ s->lookahead -= s->prev_length-1;
+ s->prev_length -= 2;
+ do {
+ if (++s->strstart <= max_insert) {
+ INSERT_STRING(s, s->strstart, hash_head);
+ }
+ } while (--s->prev_length != 0);
+ s->match_available = 0;
+ s->match_length = MIN_MATCH-1;
+ s->strstart++;
+
+ if (bflush) FLUSH_BLOCK(s, Z_NO_FLUSH);
+
+ } else if (s->match_available) {
+ /* If there was no match at the previous position, output a
+ * single literal. If there was a match but the current match
+ * is longer, truncate the previous match to a single literal.
+ */
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ if (ct_tally (s, 0, s->window[s->strstart-1])) {
+ FLUSH_BLOCK_ONLY(s, Z_NO_FLUSH);
+ }
+ s->strstart++;
+ s->lookahead--;
+ if (s->strm->avail_out == 0) return 1;
+ } else {
+ /* There is no previous match to compare with, wait for
+ * the next step to decide.
+ */
+ s->match_available = 1;
+ s->strstart++;
+ s->lookahead--;
+ }
+ }
+ Assert (flush != Z_NO_FLUSH, "no flush?");
+ if (s->match_available) {
+ Tracevv((stderr,"%c", s->window[s->strstart-1]));
+ ct_tally (s, 0, s->window[s->strstart-1]);
+ s->match_available = 0;
+ }
+ FLUSH_BLOCK(s, flush);
+ return 0;
+}
+
+
+/*+++++*/
+/* trees.c -- output deflated data using Huffman coding
+ * Copyright (C) 1995 Jean-loup Gailly
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/*
+ * ALGORITHM
+ *
+ * The "deflation" process uses several Huffman trees. The more
+ * common source values are represented by shorter bit sequences.
+ *
+ * Each code tree is stored in a compressed form which is itself
+ * a Huffman encoding of the lengths of all the code strings (in
+ * ascending order by source values). The actual code strings are
+ * reconstructed from the lengths in the inflate process, as described
+ * in the deflate specification.
+ *
+ * REFERENCES
+ *
+ * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification".
+ * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc
+ *
+ * Storer, James A.
+ * Data Compression: Methods and Theory, pp. 49-50.
+ * Computer Science Press, 1988. ISBN 0-7167-8156-5.
+ *
+ * Sedgewick, R.
+ * Algorithms, p290.
+ * Addison-Wesley, 1983. ISBN 0-201-06672-6.
+ */
+
+/* From: trees.c,v 1.5 1995/05/03 17:27:12 jloup Exp */
+
+#ifdef DEBUG_ZLIB
+# include <ctype.h>
+#endif
+
+/* ===========================================================================
+ * Constants
+ */
+
+#define MAX_BL_BITS 7
+/* Bit length codes must not exceed MAX_BL_BITS bits */
+
+#define END_BLOCK 256
+/* end of block literal code */
+
+#define REP_3_6 16
+/* repeat previous bit length 3-6 times (2 bits of repeat count) */
+
+#define REPZ_3_10 17
+/* repeat a zero length 3-10 times (3 bits of repeat count) */
+
+#define REPZ_11_138 18
+/* repeat a zero length 11-138 times (7 bits of repeat count) */
+
+local int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
+ = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0};
+
+local int extra_dbits[D_CODES] /* extra bits for each distance code */
+ = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13};
+
+local int extra_blbits[BL_CODES]/* extra bits for each bit length code */
+ = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
+
+local uch bl_order[BL_CODES]
+ = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15};
+/* The lengths of the bit length codes are sent in order of decreasing
+ * probability, to avoid transmitting the lengths for unused bit length codes.
+ */
+
+#define Buf_size (8 * 2*sizeof(char))
+/* Number of bits used within bi_buf. (bi_buf might be implemented on
+ * more than 16 bits on some systems.)
+ */
+
+/* ===========================================================================
+ * Local data. These are initialized only once.
+ * To do: initialize at compile time to be completely reentrant. ???
+ */
+
+local ct_data static_ltree[L_CODES+2];
+/* The static literal tree. Since the bit lengths are imposed, there is no
+ * need for the L_CODES extra codes used during heap construction. However
+ * The codes 286 and 287 are needed to build a canonical tree (see ct_init
+ * below).
+ */
+
+local ct_data static_dtree[D_CODES];
+/* The static distance tree. (Actually a trivial tree since all codes use
+ * 5 bits.)
+ */
+
+local uch dist_code[512];
+/* distance codes. The first 256 values correspond to the distances
+ * 3 .. 258, the last 256 values correspond to the top 8 bits of
+ * the 15 bit distances.
+ */
+
+local uch length_code[MAX_MATCH-MIN_MATCH+1];
+/* length code for each normalized match length (0 == MIN_MATCH) */
+
+local int base_length[LENGTH_CODES];
+/* First normalized length for each code (0 = MIN_MATCH) */
+
+local int base_dist[D_CODES];
+/* First normalized distance for each code (0 = distance of 1) */
+
+struct static_tree_desc_s {
+ ct_data *static_tree; /* static tree or NULL */
+ intf *extra_bits; /* extra bits for each code or NULL */
+ int extra_base; /* base index for extra_bits */
+ int elems; /* max number of elements in the tree */
+ int max_length; /* max bit length for the codes */
+};
+
+local static_tree_desc static_l_desc =
+{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS};
+
+local static_tree_desc static_d_desc =
+{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS};
+
+local static_tree_desc static_bl_desc =
+{(ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS};
+
+/* ===========================================================================
+ * Local (static) routines in this file.
+ */
+
+local void ct_static_init OF((void));
+local void init_block OF((deflate_state *s));
+local void pqdownheap OF((deflate_state *s, ct_data *tree, int k));
+local void gen_bitlen OF((deflate_state *s, tree_desc *desc));
+local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count));
+local void build_tree OF((deflate_state *s, tree_desc *desc));
+local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local void send_tree OF((deflate_state *s, ct_data *tree, int max_code));
+local int build_bl_tree OF((deflate_state *s));
+local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes,
+ int blcodes));
+local void compress_block OF((deflate_state *s, ct_data *ltree,
+ ct_data *dtree));
+local void set_data_type OF((deflate_state *s));
+local unsigned bi_reverse OF((unsigned value, int length));
+local void bi_windup OF((deflate_state *s));
+local void bi_flush OF((deflate_state *s));
+local void copy_block OF((deflate_state *s, charf *buf, unsigned len,
+ int header));
+
+#ifndef DEBUG_ZLIB
+# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
+ /* Send a code of the given tree. c and tree must not have side effects */
+
+#else /* DEBUG_ZLIB */
+# define send_code(s, c, tree) \
+ { if (verbose>1) fprintf(stderr,"\ncd %3d ",(c)); \
+ send_bits(s, tree[c].Code, tree[c].Len); }
+#endif
+
+#define d_code(dist) \
+ ((dist) < 256 ? dist_code[dist] : dist_code[256+((dist)>>7)])
+/* Mapping from a distance to a distance code. dist is the distance - 1 and
+ * must not have side effects. dist_code[256] and dist_code[257] are never
+ * used.
+ */
+
+/* ===========================================================================
+ * Output a short LSB first on the stream.
+ * IN assertion: there is enough room in pendingBuf.
+ */
+#define put_short(s, w) { \
+ put_byte(s, (uch)((w) & 0xff)); \
+ put_byte(s, (uch)((ush)(w) >> 8)); \
+}
+
+/* ===========================================================================
+ * Send a value on a given number of bits.
+ * IN assertion: length <= 16 and value fits in length bits.
+ */
+#ifdef DEBUG_ZLIB
+local void send_bits OF((deflate_state *s, int value, int length));
+
+local void send_bits(s, value, length)
+ deflate_state *s;
+ int value; /* value to send */
+ int length; /* number of bits */
+{
+ Tracev((stderr," l %2d v %4x ", length, value));
+ Assert(length > 0 && length <= 15, "invalid length");
+ s->bits_sent += (ulg)length;
+
+ /* If not enough room in bi_buf, use (valid) bits from bi_buf and
+ * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
+ * unused bits in value.
+ */
+ if (s->bi_valid > (int)Buf_size - length) {
+ s->bi_buf |= (value << s->bi_valid);
+ put_short(s, s->bi_buf);
+ s->bi_buf = (ush)value >> (Buf_size - s->bi_valid);
+ s->bi_valid += length - Buf_size;
+ } else {
+ s->bi_buf |= value << s->bi_valid;
+ s->bi_valid += length;
+ }
+}
+#else /* !DEBUG_ZLIB */
+
+#define send_bits(s, value, length) \
+{ int len = length;\
+ if (s->bi_valid > (int)Buf_size - len) {\
+ int val = value;\
+ s->bi_buf |= (val << s->bi_valid);\
+ put_short(s, s->bi_buf);\
+ s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
+ s->bi_valid += len - Buf_size;\
+ } else {\
+ s->bi_buf |= (value) << s->bi_valid;\
+ s->bi_valid += len;\
+ }\
+}
+#endif /* DEBUG_ZLIB */
+
+
+#define MAX(a,b) (a >= b ? a : b)
+/* the arguments must not have side effects */
+
+/* ===========================================================================
+ * Initialize the various 'constant' tables.
+ * To do: do this at compile time.
+ */
+local void ct_static_init()
+{
+ int n; /* iterates over tree elements */
+ int bits; /* bit counter */
+ int length; /* length value */
+ int code; /* code value */
+ int dist; /* distance index */
+ ush bl_count[MAX_BITS+1];
+ /* number of codes at each bit length for an optimal tree */
+
+ /* Initialize the mapping length (0..255) -> length code (0..28) */
+ length = 0;
+ for (code = 0; code < LENGTH_CODES-1; code++) {
+ base_length[code] = length;
+ for (n = 0; n < (1<<extra_lbits[code]); n++) {
+ length_code[length++] = (uch)code;
+ }
+ }
+ Assert (length == 256, "ct_static_init: length != 256");
+ /* Note that the length 255 (match length 258) can be represented
+ * in two different ways: code 284 + 5 bits or code 285, so we
+ * overwrite length_code[255] to use the best encoding:
+ */
+ length_code[length-1] = (uch)code;
+
+ /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
+ dist = 0;
+ for (code = 0 ; code < 16; code++) {
+ base_dist[code] = dist;
+ for (n = 0; n < (1<<extra_dbits[code]); n++) {
+ dist_code[dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "ct_static_init: dist != 256");
+ dist >>= 7; /* from now on, all distances are divided by 128 */
+ for ( ; code < D_CODES; code++) {
+ base_dist[code] = dist << 7;
+ for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
+ dist_code[256 + dist++] = (uch)code;
+ }
+ }
+ Assert (dist == 256, "ct_static_init: 256+dist != 512");
+
+ /* Construct the codes of the static literal tree */
+ for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0;
+ n = 0;
+ while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++;
+ while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++;
+ while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++;
+ while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++;
+ /* Codes 286 and 287 do not exist, but we must include them in the
+ * tree construction to get a canonical Huffman tree (longest code
+ * all ones)
+ */
+ gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count);
+
+ /* The static distance tree is trivial: */
+ for (n = 0; n < D_CODES; n++) {
+ static_dtree[n].Len = 5;
+ static_dtree[n].Code = bi_reverse(n, 5);
+ }
+}
+
+/* ===========================================================================
+ * Initialize the tree data structures for a new zlib stream.
+ */
+local void ct_init(s)
+ deflate_state *s;
+{
+ if (static_dtree[0].Len == 0) {
+ ct_static_init(); /* To do: at compile time */
+ }
+
+ s->compressed_len = 0L;
+
+ s->l_desc.dyn_tree = s->dyn_ltree;
+ s->l_desc.stat_desc = &static_l_desc;
+
+ s->d_desc.dyn_tree = s->dyn_dtree;
+ s->d_desc.stat_desc = &static_d_desc;
+
+ s->bl_desc.dyn_tree = s->bl_tree;
+ s->bl_desc.stat_desc = &static_bl_desc;
+
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+#ifdef DEBUG_ZLIB
+ s->bits_sent = 0L;
+#endif
+ s->blocks_in_packet = 0;
+
+ /* Initialize the first block of the first file: */
+ init_block(s);
+}
+
+/* ===========================================================================
+ * Initialize a new block.
+ */
+local void init_block(s)
+ deflate_state *s;
+{
+ int n; /* iterates over tree elements */
+
+ /* Initialize the trees. */
+ for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0;
+ for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0;
+ for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0;
+
+ s->dyn_ltree[END_BLOCK].Freq = 1;
+ s->opt_len = s->static_len = 0L;
+ s->last_lit = s->matches = 0;
+}
+
+#define SMALLEST 1
+/* Index within the heap array of least frequent node in the Huffman tree */
+
+
+/* ===========================================================================
+ * Remove the smallest element from the heap and recreate the heap with
+ * one less element. Updates heap and heap_len.
+ */
+#define pqremove(s, tree, top) \
+{\
+ top = s->heap[SMALLEST]; \
+ s->heap[SMALLEST] = s->heap[s->heap_len--]; \
+ pqdownheap(s, tree, SMALLEST); \
+}
+
+/* ===========================================================================
+ * Compares to subtrees, using the tree depth as tie breaker when
+ * the subtrees have equal frequency. This minimizes the worst case length.
+ */
+#define smaller(tree, n, m, depth) \
+ (tree[n].Freq < tree[m].Freq || \
+ (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
+
+/* ===========================================================================
+ * Restore the heap property by moving down the tree starting at node k,
+ * exchanging a node with the smallest of its two sons if necessary, stopping
+ * when the heap property is re-established (each father smaller than its
+ * two sons).
+ */
+local void pqdownheap(s, tree, k)
+ deflate_state *s;
+ ct_data *tree; /* the tree to restore */
+ int k; /* node to move down */
+{
+ int v = s->heap[k];
+ int j = k << 1; /* left son of k */
+ while (j <= s->heap_len) {
+ /* Set j to the smallest of the two sons: */
+ if (j < s->heap_len &&
+ smaller(tree, s->heap[j+1], s->heap[j], s->depth)) {
+ j++;
+ }
+ /* Exit if v is smaller than both sons */
+ if (smaller(tree, v, s->heap[j], s->depth)) break;
+
+ /* Exchange v with the smallest son */
+ s->heap[k] = s->heap[j]; k = j;
+
+ /* And continue down the tree, setting j to the left son of k */
+ j <<= 1;
+ }
+ s->heap[k] = v;
+}
+
+/* ===========================================================================
+ * Compute the optimal bit lengths for a tree and update the total bit length
+ * for the current block.
+ * IN assertion: the fields freq and dad are set, heap[heap_max] and
+ * above are the tree nodes sorted by increasing frequency.
+ * OUT assertions: the field len is set to the optimal bit length, the
+ * array bl_count contains the frequencies for each bit length.
+ * The length opt_len is updated; static_len is also updated if stree is
+ * not null.
+ */
+local void gen_bitlen(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ int max_code = desc->max_code;
+ ct_data *stree = desc->stat_desc->static_tree;
+ intf *extra = desc->stat_desc->extra_bits;
+ int base = desc->stat_desc->extra_base;
+ int max_length = desc->stat_desc->max_length;
+ int h; /* heap index */
+ int n, m; /* iterate over the tree elements */
+ int bits; /* bit length */
+ int xbits; /* extra bits */
+ ush f; /* frequency */
+ int overflow = 0; /* number of elements with bit length too large */
+
+ for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0;
+
+ /* In a first pass, compute the optimal bit lengths (which may
+ * overflow in the case of the bit length tree).
+ */
+ tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */
+
+ for (h = s->heap_max+1; h < HEAP_SIZE; h++) {
+ n = s->heap[h];
+ bits = tree[tree[n].Dad].Len + 1;
+ if (bits > max_length) bits = max_length, overflow++;
+ tree[n].Len = (ush)bits;
+ /* We overwrite tree[n].Dad which is no longer needed */
+
+ if (n > max_code) continue; /* not a leaf node */
+
+ s->bl_count[bits]++;
+ xbits = 0;
+ if (n >= base) xbits = extra[n-base];
+ f = tree[n].Freq;
+ s->opt_len += (ulg)f * (bits + xbits);
+ if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
+ }
+ if (overflow == 0) return;
+
+ Trace((stderr,"\nbit length overflow\n"));
+ /* This happens for example on obj2 and pic of the Calgary corpus */
+
+ /* Find the first bit length which could increase: */
+ do {
+ bits = max_length-1;
+ while (s->bl_count[bits] == 0) bits--;
+ s->bl_count[bits]--; /* move one leaf down the tree */
+ s->bl_count[bits+1] += 2; /* move one overflow item as its brother */
+ s->bl_count[max_length]--;
+ /* The brother of the overflow item also moves one step up,
+ * but this does not affect bl_count[max_length]
+ */
+ overflow -= 2;
+ } while (overflow > 0);
+
+ /* Now recompute all bit lengths, scanning in increasing frequency.
+ * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all
+ * lengths instead of fixing only the wrong ones. This idea is taken
+ * from 'ar' written by Haruhiko Okumura.)
+ */
+ for (bits = max_length; bits != 0; bits--) {
+ n = s->bl_count[bits];
+ while (n != 0) {
+ m = s->heap[--h];
+ if (m > max_code) continue;
+ if (tree[m].Len != (unsigned) bits) {
+ Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+ s->opt_len += ((long)bits - (long)tree[m].Len)
+ *(long)tree[m].Freq;
+ tree[m].Len = (ush)bits;
+ }
+ n--;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Generate the codes for a given tree and bit counts (which need not be
+ * optimal).
+ * IN assertion: the array bl_count contains the bit length statistics for
+ * the given tree and the field len is set for all tree elements.
+ * OUT assertion: the field code is set for all tree elements of non
+ * zero code length.
+ */
+local void gen_codes (tree, max_code, bl_count)
+ ct_data *tree; /* the tree to decorate */
+ int max_code; /* largest code with non zero frequency */
+ ushf *bl_count; /* number of codes at each bit length */
+{
+ ush next_code[MAX_BITS+1]; /* next code value for each bit length */
+ ush code = 0; /* running code value */
+ int bits; /* bit index */
+ int n; /* code index */
+
+ /* The distribution counts are first used to generate the code values
+ * without bit reversal.
+ */
+ for (bits = 1; bits <= MAX_BITS; bits++) {
+ next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+ }
+ /* Check that the bit counts in bl_count are consistent. The last code
+ * must be all ones.
+ */
+ Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
+ "inconsistent bit counts");
+ Tracev((stderr,"\ngen_codes: max_code %d ", max_code));
+
+ for (n = 0; n <= max_code; n++) {
+ int len = tree[n].Len;
+ if (len == 0) continue;
+ /* Now reverse the bits */
+ tree[n].Code = bi_reverse(next_code[len]++, len);
+
+ Tracec(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
+ n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
+ }
+}
+
+/* ===========================================================================
+ * Construct one Huffman tree and assigns the code bit strings and lengths.
+ * Update the total bit length for the current block.
+ * IN assertion: the field freq is set for all tree elements.
+ * OUT assertions: the fields len and code are set to the optimal bit length
+ * and corresponding code. The length opt_len is updated; static_len is
+ * also updated if stree is not null. The field max_code is set.
+ */
+local void build_tree(s, desc)
+ deflate_state *s;
+ tree_desc *desc; /* the tree descriptor */
+{
+ ct_data *tree = desc->dyn_tree;
+ ct_data *stree = desc->stat_desc->static_tree;
+ int elems = desc->stat_desc->elems;
+ int n, m; /* iterate over heap elements */
+ int max_code = -1; /* largest code with non zero frequency */
+ int node; /* new node being created */
+
+ /* Construct the initial heap, with least frequent element in
+ * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].
+ * heap[0] is not used.
+ */
+ s->heap_len = 0, s->heap_max = HEAP_SIZE;
+
+ for (n = 0; n < elems; n++) {
+ if (tree[n].Freq != 0) {
+ s->heap[++(s->heap_len)] = max_code = n;
+ s->depth[n] = 0;
+ } else {
+ tree[n].Len = 0;
+ }
+ }
+
+ /* The pkzip format requires that at least one distance code exists,
+ * and that at least one bit should be sent even if there is only one
+ * possible code. So to avoid special checks later on we force at least
+ * two codes of non zero frequency.
+ */
+ while (s->heap_len < 2) {
+ node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0);
+ tree[node].Freq = 1;
+ s->depth[node] = 0;
+ s->opt_len--; if (stree) s->static_len -= stree[node].Len;
+ /* node is 0 or 1 so it does not have extra bits */
+ }
+ desc->max_code = max_code;
+
+ /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,
+ * establish sub-heaps of increasing lengths:
+ */
+ for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n);
+
+ /* Construct the Huffman tree by repeatedly combining the least two
+ * frequent nodes.
+ */
+ node = elems; /* next internal node of the tree */
+ do {
+ pqremove(s, tree, n); /* n = node of least frequency */
+ m = s->heap[SMALLEST]; /* m = node of next least frequency */
+
+ s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */
+ s->heap[--(s->heap_max)] = m;
+
+ /* Create a new node father of n and m */
+ tree[node].Freq = tree[n].Freq + tree[m].Freq;
+ s->depth[node] = (uch) (MAX(s->depth[n], s->depth[m]) + 1);
+ tree[n].Dad = tree[m].Dad = (ush)node;
+#ifdef DUMP_BL_TREE
+ if (tree == s->bl_tree) {
+ fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)",
+ node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq);
+ }
+#endif
+ /* and insert the new node in the heap */
+ s->heap[SMALLEST] = node++;
+ pqdownheap(s, tree, SMALLEST);
+
+ } while (s->heap_len >= 2);
+
+ s->heap[--(s->heap_max)] = s->heap[SMALLEST];
+
+ /* At this point, the fields freq and dad are set. We can now
+ * generate the bit lengths.
+ */
+ gen_bitlen(s, (tree_desc *)desc);
+
+ /* The field len is now set, we can generate the bit codes */
+ gen_codes ((ct_data *)tree, max_code, s->bl_count);
+}
+
+/* ===========================================================================
+ * Scan a literal or distance tree to determine the frequencies of the codes
+ * in the bit length tree.
+ */
+local void scan_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ if (nextlen == 0) max_count = 138, min_count = 3;
+ tree[max_code+1].Len = (ush)0xffff; /* guard */
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ s->bl_tree[curlen].Freq += count;
+ } else if (curlen != 0) {
+ if (curlen != prevlen) s->bl_tree[curlen].Freq++;
+ s->bl_tree[REP_3_6].Freq++;
+ } else if (count <= 10) {
+ s->bl_tree[REPZ_3_10].Freq++;
+ } else {
+ s->bl_tree[REPZ_11_138].Freq++;
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Send a literal or distance tree in compressed form, using the codes in
+ * bl_tree.
+ */
+local void send_tree (s, tree, max_code)
+ deflate_state *s;
+ ct_data *tree; /* the tree to be scanned */
+ int max_code; /* and its largest code of non zero frequency */
+{
+ int n; /* iterates over all tree elements */
+ int prevlen = -1; /* last emitted length */
+ int curlen; /* length of current code */
+ int nextlen = tree[0].Len; /* length of next code */
+ int count = 0; /* repeat count of the current code */
+ int max_count = 7; /* max repeat count */
+ int min_count = 4; /* min repeat count */
+
+ /* tree[max_code+1].Len = -1; */ /* guard already set */
+ if (nextlen == 0) max_count = 138, min_count = 3;
+
+ for (n = 0; n <= max_code; n++) {
+ curlen = nextlen; nextlen = tree[n+1].Len;
+ if (++count < max_count && curlen == nextlen) {
+ continue;
+ } else if (count < min_count) {
+ do { send_code(s, curlen, s->bl_tree); } while (--count != 0);
+
+ } else if (curlen != 0) {
+ if (curlen != prevlen) {
+ send_code(s, curlen, s->bl_tree); count--;
+ }
+ Assert(count >= 3 && count <= 6, " 3_6?");
+ send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2);
+
+ } else if (count <= 10) {
+ send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3);
+
+ } else {
+ send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7);
+ }
+ count = 0; prevlen = curlen;
+ if (nextlen == 0) {
+ max_count = 138, min_count = 3;
+ } else if (curlen == nextlen) {
+ max_count = 6, min_count = 3;
+ } else {
+ max_count = 7, min_count = 4;
+ }
+ }
+}
+
+/* ===========================================================================
+ * Construct the Huffman tree for the bit lengths and return the index in
+ * bl_order of the last bit length code to send.
+ */
+local int build_bl_tree(s)
+ deflate_state *s;
+{
+ int max_blindex; /* index of last bit length code of non zero freq */
+
+ /* Determine the bit length frequencies for literal and distance trees */
+ scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code);
+ scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code);
+
+ /* Build the bit length tree: */
+ build_tree(s, (tree_desc *)(&(s->bl_desc)));
+ /* opt_len now includes the length of the tree representations, except
+ * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
+ */
+
+ /* Determine the number of bit length codes to send. The pkzip format
+ * requires that at least 4 bit length codes be sent. (appnote.txt says
+ * 3 but the actual value used is 4.)
+ */
+ for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
+ if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
+ }
+ /* Update opt_len to include the bit length tree and counts */
+ s->opt_len += 3*(max_blindex+1) + 5+5+4;
+ Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
+ s->opt_len, s->static_len));
+
+ return max_blindex;
+}
+
+/* ===========================================================================
+ * Send the header for a block using dynamic Huffman trees: the counts, the
+ * lengths of the bit length codes, the literal tree and the distance tree.
+ * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
+ */
+local void send_all_trees(s, lcodes, dcodes, blcodes)
+ deflate_state *s;
+ int lcodes, dcodes, blcodes; /* number of codes for each tree */
+{
+ int rank; /* index in bl_order */
+
+ Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes");
+ Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,
+ "too many codes");
+ Tracev((stderr, "\nbl counts: "));
+ send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */
+ send_bits(s, dcodes-1, 5);
+ send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */
+ for (rank = 0; rank < blcodes; rank++) {
+ Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
+ send_bits(s, s->bl_tree[bl_order[rank]].Len, 3);
+ }
+ Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */
+ Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent));
+
+ send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */
+ Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent));
+}
+
+/* ===========================================================================
+ * Send a stored block
+ */
+local void ct_stored_block(s, buf, stored_len, eof)
+ deflate_state *s;
+ charf *buf; /* input block */
+ ulg stored_len; /* length of input block */
+ int eof; /* true if this is the last block for a file */
+{
+ send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
+ s->compressed_len = (s->compressed_len + 3 + 7) & ~7L;
+ s->compressed_len += (stored_len + 4) << 3;
+
+ copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
+}
+
+/* Send just the `stored block' type code without any length bytes or data.
+ */
+local void ct_stored_type_only(s)
+ deflate_state *s;
+{
+ send_bits(s, (STORED_BLOCK << 1), 3);
+ bi_windup(s);
+ s->compressed_len = (s->compressed_len + 3) & ~7L;
+}
+
+
+/* ===========================================================================
+ * Send one empty static block to give enough lookahead for inflate.
+ * This takes 10 bits, of which 7 may remain in the bit buffer.
+ * The current inflate code requires 9 bits of lookahead. If the EOB
+ * code for the previous block was coded on 5 bits or less, inflate
+ * may have only 5+3 bits of lookahead to decode this EOB.
+ * (There are no problems if the previous block is stored or fixed.)
+ */
+local void ct_align(s)
+ deflate_state *s;
+{
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+ s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
+ bi_flush(s);
+ /* Of the 10 bits for the empty block, we have already sent
+ * (10 - bi_valid) bits. The lookahead for the EOB of the previous
+ * block was thus its length plus what we have just sent.
+ */
+ if (s->last_eob_len + 10 - s->bi_valid < 9) {
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
+ s->compressed_len += 10L;
+ bi_flush(s);
+ }
+ s->last_eob_len = 7;
+}
+
+/* ===========================================================================
+ * Determine the best encoding for the current block: dynamic trees, static
+ * trees or store, and output the encoded block to the zip file. This function
+ * returns the total compressed length for the file so far.
+ */
+local ulg ct_flush_block(s, buf, stored_len, flush)
+ deflate_state *s;
+ charf *buf; /* input block, or NULL if too old */
+ ulg stored_len; /* length of input block */
+ int flush; /* Z_FINISH if this is the last block for a file */
+{
+ ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */
+ int max_blindex; /* index of last bit length code of non zero freq */
+ int eof = flush == Z_FINISH;
+
+ ++s->blocks_in_packet;
+
+ /* Check if the file is ascii or binary */
+ if (s->data_type == UNKNOWN) set_data_type(s);
+
+ /* Construct the literal and distance trees */
+ build_tree(s, (tree_desc *)(&(s->l_desc)));
+ Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+
+ build_tree(s, (tree_desc *)(&(s->d_desc)));
+ Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len,
+ s->static_len));
+ /* At this point, opt_len and static_len are the total bit lengths of
+ * the compressed block data, excluding the tree representations.
+ */
+
+ /* Build the bit length tree for the above two trees, and get the index
+ * in bl_order of the last bit length code to send.
+ */
+ max_blindex = build_bl_tree(s);
+
+ /* Determine the best encoding. Compute first the block length in bytes */
+ opt_lenb = (s->opt_len+3+7)>>3;
+ static_lenb = (s->static_len+3+7)>>3;
+
+ Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+ opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+ s->last_lit));
+
+ if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
+
+ /* If compression failed and this is the first and last block,
+ * and if the .zip file can be seeked (to rewrite the local header),
+ * the whole file is transformed into a stored file:
+ */
+#ifdef STORED_FILE_OK
+# ifdef FORCE_STORED_FILE
+ if (eof && compressed_len == 0L) /* force stored file */
+# else
+ if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable())
+# endif
+ {
+ /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
+ if (buf == (charf*)0) error ("block vanished");
+
+ copy_block(buf, (unsigned)stored_len, 0); /* without header */
+ s->compressed_len = stored_len << 3;
+ s->method = STORED;
+ } else
+#endif /* STORED_FILE_OK */
+
+ /* For Z_PACKET_FLUSH, if we don't achieve the required minimum
+ * compression, and this block contains all the data since the last
+ * time we used Z_PACKET_FLUSH, then just omit this block completely
+ * from the output.
+ */
+ if (flush == Z_PACKET_FLUSH && s->blocks_in_packet == 1
+ && opt_lenb > stored_len - s->minCompr) {
+ s->blocks_in_packet = 0;
+ /* output nothing */
+ } else
+
+#ifdef FORCE_STORED
+ if (buf != (char*)0) /* force stored block */
+#else
+ if (stored_len+4 <= opt_lenb && buf != (char*)0)
+ /* 4: two words for the lengths */
+#endif
+ {
+ /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.
+ * Otherwise we can't have processed more than WSIZE input bytes since
+ * the last block flush, because compression would have been
+ * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to
+ * transform a block into a stored block.
+ */
+ ct_stored_block(s, buf, stored_len, eof);
+ } else
+
+#ifdef FORCE_STATIC
+ if (static_lenb >= 0) /* force static trees */
+#else
+ if (static_lenb == opt_lenb)
+#endif
+ {
+ send_bits(s, (STATIC_TREES<<1)+eof, 3);
+ compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
+ s->compressed_len += 3 + s->static_len;
+ } else {
+ send_bits(s, (DYN_TREES<<1)+eof, 3);
+ send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1,
+ max_blindex+1);
+ compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
+ s->compressed_len += 3 + s->opt_len;
+ }
+ Assert (s->compressed_len == s->bits_sent, "bad compressed size");
+ init_block(s);
+
+ if (eof) {
+ bi_windup(s);
+ s->compressed_len += 7; /* align on byte boundary */
+ }
+ Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+ s->compressed_len-7*eof));
+
+ return s->compressed_len >> 3;
+}
+
+/* ===========================================================================
+ * Save the match info and tally the frequency counts. Return true if
+ * the current block must be flushed.
+ */
+local int ct_tally (s, dist, lc)
+ deflate_state *s;
+ int dist; /* distance of matched string */
+ int lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
+{
+ s->d_buf[s->last_lit] = (ush)dist;
+ s->l_buf[s->last_lit++] = (uch)lc;
+ if (dist == 0) {
+ /* lc is the unmatched char */
+ s->dyn_ltree[lc].Freq++;
+ } else {
+ s->matches++;
+ /* Here, lc is the match length - MIN_MATCH */
+ dist--; /* dist = match distance - 1 */
+ Assert((ush)dist < (ush)MAX_DIST(s) &&
+ (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
+ (ush)d_code(dist) < (ush)D_CODES, "ct_tally: bad match");
+
+ s->dyn_ltree[length_code[lc]+LITERALS+1].Freq++;
+ s->dyn_dtree[d_code(dist)].Freq++;
+ }
+
+ /* Try to guess if it is profitable to stop the current block here */
+ if (s->level > 2 && (s->last_lit & 0xfff) == 0) {
+ /* Compute an upper bound for the compressed length */
+ ulg out_length = (ulg)s->last_lit*8L;
+ ulg in_length = (ulg)s->strstart - s->block_start;
+ int dcode;
+ for (dcode = 0; dcode < D_CODES; dcode++) {
+ out_length += (ulg)s->dyn_dtree[dcode].Freq *
+ (5L+extra_dbits[dcode]);
+ }
+ out_length >>= 3;
+ Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
+ s->last_lit, in_length, out_length,
+ 100L - out_length*100L/in_length));
+ if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
+ }
+ return (s->last_lit == s->lit_bufsize-1);
+ /* We avoid equality with lit_bufsize because of wraparound at 64K
+ * on 16 bit machines and because stored blocks are restricted to
+ * 64K-1 bytes.
+ */
+}
+
+/* ===========================================================================
+ * Send the block data compressed using the given Huffman trees
+ */
+local void compress_block(s, ltree, dtree)
+ deflate_state *s;
+ ct_data *ltree; /* literal tree */
+ ct_data *dtree; /* distance tree */
+{
+ unsigned dist; /* distance of matched string */
+ int lc; /* match length or unmatched char (if dist == 0) */
+ unsigned lx = 0; /* running index in l_buf */
+ unsigned code; /* the code to send */
+ int extra; /* number of extra bits to send */
+
+ if (s->last_lit != 0) do {
+ dist = s->d_buf[lx];
+ lc = s->l_buf[lx++];
+ if (dist == 0) {
+ send_code(s, lc, ltree); /* send a literal byte */
+ Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+ } else {
+ /* Here, lc is the match length - MIN_MATCH */
+ code = length_code[lc];
+ send_code(s, code+LITERALS+1, ltree); /* send the length code */
+ extra = extra_lbits[code];
+ if (extra != 0) {
+ lc -= base_length[code];
+ send_bits(s, lc, extra); /* send the extra length bits */
+ }
+ dist--; /* dist is now the match distance - 1 */
+ code = d_code(dist);
+ Assert (code < D_CODES, "bad d_code");
+
+ send_code(s, code, dtree); /* send the distance code */
+ extra = extra_dbits[code];
+ if (extra != 0) {
+ dist -= base_dist[code];
+ send_bits(s, dist, extra); /* send the extra distance bits */
+ }
+ } /* literal or match pair ? */
+
+ /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
+ Assert(s->pending < s->lit_bufsize + 2*lx, "pendingBuf overflow");
+
+ } while (lx < s->last_lit);
+
+ send_code(s, END_BLOCK, ltree);
+ s->last_eob_len = ltree[END_BLOCK].Len;
+}
+
+/* ===========================================================================
+ * Set the data type to ASCII or BINARY, using a crude approximation:
+ * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise.
+ * IN assertion: the fields freq of dyn_ltree are set and the total of all
+ * frequencies does not exceed 64K (to fit in an int on 16 bit machines).
+ */
+local void set_data_type(s)
+ deflate_state *s;
+{
+ int n = 0;
+ unsigned ascii_freq = 0;
+ unsigned bin_freq = 0;
+ while (n < 7) bin_freq += s->dyn_ltree[n++].Freq;
+ while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq;
+ while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq;
+ s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? BINARY : ASCII);
+}
+
+/* ===========================================================================
+ * Reverse the first len bits of a code, using straightforward code (a faster
+ * method would use a table)
+ * IN assertion: 1 <= len <= 15
+ */
+local unsigned bi_reverse(code, len)
+ unsigned code; /* the value to invert */
+ int len; /* its bit length */
+{
+ register unsigned res = 0;
+ do {
+ res |= code & 1;
+ code >>= 1, res <<= 1;
+ } while (--len > 0);
+ return res >> 1;
+}
+
+/* ===========================================================================
+ * Flush the bit buffer, keeping at most 7 bits in it.
+ */
+local void bi_flush(s)
+ deflate_state *s;
+{
+ if (s->bi_valid == 16) {
+ put_short(s, s->bi_buf);
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+ } else if (s->bi_valid >= 8) {
+ put_byte(s, (Byte)s->bi_buf);
+ s->bi_buf >>= 8;
+ s->bi_valid -= 8;
+ }
+}
+
+/* ===========================================================================
+ * Flush the bit buffer and align the output on a byte boundary
+ */
+local void bi_windup(s)
+ deflate_state *s;
+{
+ if (s->bi_valid > 8) {
+ put_short(s, s->bi_buf);
+ } else if (s->bi_valid > 0) {
+ put_byte(s, (Byte)s->bi_buf);
+ }
+ s->bi_buf = 0;
+ s->bi_valid = 0;
+#ifdef DEBUG_ZLIB
+ s->bits_sent = (s->bits_sent+7) & ~7;
+#endif
+}
+
+/* ===========================================================================
+ * Copy a stored block, storing first the length and its
+ * one's complement if requested.
+ */
+local void copy_block(s, buf, len, header)
+ deflate_state *s;
+ charf *buf; /* the input data */
+ unsigned len; /* its length */
+ int header; /* true if block header must be written */
+{
+ bi_windup(s); /* align on byte boundary */
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+
+ if (header) {
+ put_short(s, (ush)len);
+ put_short(s, (ush)~len);
+#ifdef DEBUG_ZLIB
+ s->bits_sent += 2*16;
+#endif
+ }
+#ifdef DEBUG_ZLIB
+ s->bits_sent += (ulg)len<<3;
+#endif
+ while (len--) {
+ put_byte(s, *buf++);
+ }
+}
+
+
+/*+++++*/
+/* infblock.h -- header to use infblock.c
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+struct inflate_blocks_state;
+typedef struct inflate_blocks_state FAR inflate_blocks_statef;
+
+local inflate_blocks_statef * inflate_blocks_new OF((
+ z_stream *z,
+ check_func c, /* check function */
+ uInt w)); /* window size */
+
+local int inflate_blocks OF((
+ inflate_blocks_statef *,
+ z_stream *,
+ int)); /* initial return code */
+
+local void inflate_blocks_reset OF((
+ inflate_blocks_statef *,
+ z_stream *,
+ uLongf *)); /* check value on output */
+
+local int inflate_blocks_free OF((
+ inflate_blocks_statef *,
+ z_stream *,
+ uLongf *)); /* check value on output */
+
+local int inflate_addhistory OF((
+ inflate_blocks_statef *,
+ z_stream *));
+
+local int inflate_packet_flush OF((
+ inflate_blocks_statef *));
+
+/*+++++*/
+/* inftrees.h -- header to use inftrees.c
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* Huffman code lookup table entry--this entry is four bytes for machines
+ that have 16-bit pointers (e.g. PC's in the small or medium model). */
+
+typedef struct inflate_huft_s FAR inflate_huft;
+
+struct inflate_huft_s {
+ union {
+ struct {
+ Byte Exop; /* number of extra bits or operation */
+ Byte Bits; /* number of bits in this code or subcode */
+ } what;
+ uInt Nalloc; /* number of these allocated here */
+ Bytef *pad; /* pad structure to a power of 2 (4 bytes for */
+ } word; /* 16-bit, 8 bytes for 32-bit machines) */
+ union {
+ uInt Base; /* literal, length base, or distance base */
+ inflate_huft *Next; /* pointer to next level of table */
+ } more;
+};
+
+#ifdef DEBUG_ZLIB
+ local uInt inflate_hufts;
+#endif
+
+local int inflate_trees_bits OF((
+ uIntf *, /* 19 code lengths */
+ uIntf *, /* bits tree desired/actual depth */
+ inflate_huft * FAR *, /* bits tree result */
+ z_stream *)); /* for zalloc, zfree functions */
+
+local int inflate_trees_dynamic OF((
+ uInt, /* number of literal/length codes */
+ uInt, /* number of distance codes */
+ uIntf *, /* that many (total) code lengths */
+ uIntf *, /* literal desired/actual bit depth */
+ uIntf *, /* distance desired/actual bit depth */
+ inflate_huft * FAR *, /* literal/length tree result */
+ inflate_huft * FAR *, /* distance tree result */
+ z_stream *)); /* for zalloc, zfree functions */
+
+local int inflate_trees_fixed OF((
+ uIntf *, /* literal desired/actual bit depth */
+ uIntf *, /* distance desired/actual bit depth */
+ inflate_huft * FAR *, /* literal/length tree result */
+ inflate_huft * FAR *)); /* distance tree result */
+
+local int inflate_trees_free OF((
+ inflate_huft *, /* tables to free */
+ z_stream *)); /* for zfree function */
+
+
+/*+++++*/
+/* infcodes.h -- header to use infcodes.c
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+struct inflate_codes_state;
+typedef struct inflate_codes_state FAR inflate_codes_statef;
+
+local inflate_codes_statef *inflate_codes_new OF((
+ uInt, uInt,
+ inflate_huft *, inflate_huft *,
+ z_stream *));
+
+local int inflate_codes OF((
+ inflate_blocks_statef *,
+ z_stream *,
+ int));
+
+local void inflate_codes_free OF((
+ inflate_codes_statef *,
+ z_stream *));
+
+
+/*+++++*/
+/* inflate.c -- zlib interface to inflate modules
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* inflate private state */
+struct internal_state {
+
+ /* mode */
+ enum {
+ METHOD, /* waiting for method byte */
+ FLAG, /* waiting for flag byte */
+ BLOCKS, /* decompressing blocks */
+ CHECK4, /* four check bytes to go */
+ CHECK3, /* three check bytes to go */
+ CHECK2, /* two check bytes to go */
+ CHECK1, /* one check byte to go */
+ DONE, /* finished check, done */
+ BAD} /* got an error--stay here */
+ mode; /* current inflate mode */
+
+ /* mode dependent information */
+ union {
+ uInt method; /* if FLAGS, method byte */
+ struct {
+ uLong was; /* computed check value */
+ uLong need; /* stream check value */
+ } check; /* if CHECK, check values to compare */
+ uInt marker; /* if BAD, inflateSync's marker bytes count */
+ } sub; /* submode */
+
+ /* mode independent information */
+ int nowrap; /* flag for no wrapper */
+ uInt wbits; /* log2(window size) (8..15, defaults to 15) */
+ inflate_blocks_statef
+ *blocks; /* current inflate_blocks state */
+
+};
+
+
+int inflateReset(z)
+z_stream *z;
+{
+ uLong c;
+
+ if (z == Z_NULL || z->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ z->total_in = z->total_out = 0;
+ z->msg = Z_NULL;
+ z->state->mode = z->state->nowrap ? BLOCKS : METHOD;
+ inflate_blocks_reset(z->state->blocks, z, &c);
+ Trace((stderr, "inflate: reset\n"));
+ return Z_OK;
+}
+
+
+int inflateEnd(z)
+z_stream *z;
+{
+ uLong c;
+
+ if (z == Z_NULL || z->state == Z_NULL || z->zfree == Z_NULL)
+ return Z_STREAM_ERROR;
+ if (z->state->blocks != Z_NULL)
+ inflate_blocks_free(z->state->blocks, z, &c);
+ ZFREE(z, z->state, sizeof(struct internal_state));
+ z->state = Z_NULL;
+ Trace((stderr, "inflate: end\n"));
+ return Z_OK;
+}
+
+
+int inflateInit2(z, w)
+z_stream *z;
+int w;
+{
+ /* initialize state */
+ if (z == Z_NULL)
+ return Z_STREAM_ERROR;
+/* if (z->zalloc == Z_NULL) z->zalloc = zcalloc; */
+/* if (z->zfree == Z_NULL) z->zfree = zcfree; */
+ if ((z->state = (struct internal_state FAR *)
+ ZALLOC(z,1,sizeof(struct internal_state))) == Z_NULL)
+ return Z_MEM_ERROR;
+ z->state->blocks = Z_NULL;
+
+ /* handle undocumented nowrap option (no zlib header or check) */
+ z->state->nowrap = 0;
+ if (w < 0)
+ {
+ w = - w;
+ z->state->nowrap = 1;
+ }
+
+ /* set window size */
+ if (w < 8 || w > 15)
+ {
+ inflateEnd(z);
+ return Z_STREAM_ERROR;
+ }
+ z->state->wbits = (uInt)w;
+
+ /* create inflate_blocks state */
+ if ((z->state->blocks =
+ inflate_blocks_new(z, z->state->nowrap ? Z_NULL : adler32, 1 << w))
+ == Z_NULL)
+ {
+ inflateEnd(z);
+ return Z_MEM_ERROR;
+ }
+ Trace((stderr, "inflate: allocated\n"));
+
+ /* reset state */
+ inflateReset(z);
+ return Z_OK;
+}
+
+
+int inflateInit(z)
+z_stream *z;
+{
+ return inflateInit2(z, DEF_WBITS);
+}
+
+
+#define NEEDBYTE {if(z->avail_in==0)goto empty;r=Z_OK;}
+#define NEXTBYTE (z->avail_in--,z->total_in++,*z->next_in++)
+
+int inflate(z, f)
+z_stream *z;
+int f;
+{
+ int r;
+ uInt b;
+
+ if (z == Z_NULL || z->next_in == Z_NULL)
+ return Z_STREAM_ERROR;
+ r = Z_BUF_ERROR;
+ while (1) switch (z->state->mode)
+ {
+ case METHOD:
+ NEEDBYTE
+ if (((z->state->sub.method = NEXTBYTE) & 0xf) != DEFLATED)
+ {
+ z->state->mode = BAD;
+ z->msg = "unknown compression method";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ if ((z->state->sub.method >> 4) + 8 > z->state->wbits)
+ {
+ z->state->mode = BAD;
+ z->msg = "invalid window size";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ z->state->mode = FLAG;
+ case FLAG:
+ NEEDBYTE
+ if ((b = NEXTBYTE) & 0x20)
+ {
+ z->state->mode = BAD;
+ z->msg = "invalid reserved bit";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ if (((z->state->sub.method << 8) + b) % 31)
+ {
+ z->state->mode = BAD;
+ z->msg = "incorrect header check";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ Trace((stderr, "inflate: zlib header ok\n"));
+ z->state->mode = BLOCKS;
+ case BLOCKS:
+ r = inflate_blocks(z->state->blocks, z, r);
+ if (f == Z_PACKET_FLUSH && z->avail_in == 0 && z->avail_out != 0)
+ r = inflate_packet_flush(z->state->blocks);
+ if (r == Z_DATA_ERROR)
+ {
+ z->state->mode = BAD;
+ z->state->sub.marker = 0; /* can try inflateSync */
+ break;
+ }
+ if (r != Z_STREAM_END)
+ return r;
+ r = Z_OK;
+ inflate_blocks_reset(z->state->blocks, z, &z->state->sub.check.was);
+ if (z->state->nowrap)
+ {
+ z->state->mode = DONE;
+ break;
+ }
+ z->state->mode = CHECK4;
+ case CHECK4:
+ NEEDBYTE
+ z->state->sub.check.need = (uLong)NEXTBYTE << 24;
+ z->state->mode = CHECK3;
+ case CHECK3:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 16;
+ z->state->mode = CHECK2;
+ case CHECK2:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE << 8;
+ z->state->mode = CHECK1;
+ case CHECK1:
+ NEEDBYTE
+ z->state->sub.check.need += (uLong)NEXTBYTE;
+
+ if (z->state->sub.check.was != z->state->sub.check.need)
+ {
+ z->state->mode = BAD;
+ z->msg = "incorrect data check";
+ z->state->sub.marker = 5; /* can't try inflateSync */
+ break;
+ }
+ Trace((stderr, "inflate: zlib check ok\n"));
+ z->state->mode = DONE;
+ case DONE:
+ return Z_STREAM_END;
+ case BAD:
+ return Z_DATA_ERROR;
+ default:
+ return Z_STREAM_ERROR;
+ }
+
+ empty:
+ if (f != Z_PACKET_FLUSH)
+ return r;
+ z->state->mode = BAD;
+ z->state->sub.marker = 0; /* can try inflateSync */
+ return Z_DATA_ERROR;
+}
+
+/*
+ * This subroutine adds the data at next_in/avail_in to the output history
+ * without performing any output. The output buffer must be "caught up";
+ * i.e. no pending output (hence s->read equals s->write), and the state must
+ * be BLOCKS (i.e. we should be willing to see the start of a series of
+ * BLOCKS). On exit, the output will also be caught up, and the checksum
+ * will have been updated if need be.
+ */
+
+int inflateIncomp(z)
+z_stream *z;
+{
+ if (z->state->mode != BLOCKS)
+ return Z_DATA_ERROR;
+ return inflate_addhistory(z->state->blocks, z);
+}
+
+
+int inflateSync(z)
+z_stream *z;
+{
+ uInt n; /* number of bytes to look at */
+ Bytef *p; /* pointer to bytes */
+ uInt m; /* number of marker bytes found in a row */
+ uLong r, w; /* temporaries to save total_in and total_out */
+
+ /* set up */
+ if (z == Z_NULL || z->state == Z_NULL)
+ return Z_STREAM_ERROR;
+ if (z->state->mode != BAD)
+ {
+ z->state->mode = BAD;
+ z->state->sub.marker = 0;
+ }
+ if ((n = z->avail_in) == 0)
+ return Z_BUF_ERROR;
+ p = z->next_in;
+ m = z->state->sub.marker;
+
+ /* search */
+ while (n && m < 4)
+ {
+ if (*p == (Byte)(m < 2 ? 0 : 0xff))
+ m++;
+ else if (*p)
+ m = 0;
+ else
+ m = 4 - m;
+ p++, n--;
+ }
+
+ /* restore */
+ z->total_in += p - z->next_in;
+ z->next_in = p;
+ z->avail_in = n;
+ z->state->sub.marker = m;
+
+ /* return no joy or set up to restart on a new block */
+ if (m != 4)
+ return Z_DATA_ERROR;
+ r = z->total_in; w = z->total_out;
+ inflateReset(z);
+ z->total_in = r; z->total_out = w;
+ z->state->mode = BLOCKS;
+ return Z_OK;
+}
+
+#undef NEEDBYTE
+#undef NEXTBYTE
+
+/*+++++*/
+/* infutil.h -- types and macros common to blocks and codes
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+/* inflate blocks semi-private state */
+struct inflate_blocks_state {
+
+ /* mode */
+ enum {
+ TYPE, /* get type bits (3, including end bit) */
+ LENS, /* get lengths for stored */
+ STORED, /* processing stored block */
+ TABLE, /* get table lengths */
+ BTREE, /* get bit lengths tree for a dynamic block */
+ DTREE, /* get length, distance trees for a dynamic block */
+ CODES, /* processing fixed or dynamic block */
+ DRY, /* output remaining window bytes */
+ DONEB, /* finished last block, done */
+ BADB} /* got a data error--stuck here */
+ mode; /* current inflate_block mode */
+
+ /* mode dependent information */
+ union {
+ uInt left; /* if STORED, bytes left to copy */
+ struct {
+ uInt table; /* table lengths (14 bits) */
+ uInt index; /* index into blens (or border) */
+ uIntf *blens; /* bit lengths of codes */
+ uInt bb; /* bit length tree depth */
+ inflate_huft *tb; /* bit length decoding tree */
+ int nblens; /* # elements allocated at blens */
+ } trees; /* if DTREE, decoding info for trees */
+ struct {
+ inflate_huft *tl, *td; /* trees to free */
+ inflate_codes_statef
+ *codes;
+ } decode; /* if CODES, current state */
+ } sub; /* submode */
+ uInt last; /* true if this block is the last block */
+
+ /* mode independent information */
+ uInt bitk; /* bits in bit buffer */
+ uLong bitb; /* bit buffer */
+ Bytef *window; /* sliding window */
+ Bytef *end; /* one byte after sliding window */
+ Bytef *read; /* window read pointer */
+ Bytef *write; /* window write pointer */
+ check_func checkfn; /* check function */
+ uLong check; /* check on output */
+
+};
+
+
+/* defines for inflate input/output */
+/* update pointers and return */
+#define UPDBITS {s->bitb=b;s->bitk=k;}
+#define UPDIN {z->avail_in=n;z->total_in+=p-z->next_in;z->next_in=p;}
+#define UPDOUT {s->write=q;}
+#define UPDATE {UPDBITS UPDIN UPDOUT}
+#define LEAVE {UPDATE return inflate_flush(s,z,r);}
+/* get bytes and bits */
+#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
+#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
+#define NEXTBYTE (n--,*p++)
+#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
+#define DUMPBITS(j) {b>>=(j);k-=(j);}
+/* output bytes */
+#define WAVAIL (q<s->read?s->read-q-1:s->end-q)
+#define LOADOUT {q=s->write;m=WAVAIL;}
+#define WRAP {if(q==s->end&&s->read!=s->window){q=s->window;m=WAVAIL;}}
+#define FLUSH {UPDOUT r=inflate_flush(s,z,r); LOADOUT}
+#define NEEDOUT {if(m==0){WRAP if(m==0){FLUSH WRAP if(m==0) LEAVE}}r=Z_OK;}
+#define OUTBYTE(a) {*q++=(Byte)(a);m--;}
+/* load local pointers */
+#define LOAD {LOADIN LOADOUT}
+
+/* And'ing with mask[n] masks the lower n bits */
+local uInt inflate_mask[] = {
+ 0x0000,
+ 0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
+ 0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
+};
+
+/* copy as much as possible from the sliding window to the output area */
+local int inflate_flush OF((
+ inflate_blocks_statef *,
+ z_stream *,
+ int));
+
+/*+++++*/
+/* inffast.h -- header to use inffast.c
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* WARNING: this file should *not* be used by applications. It is
+ part of the implementation of the compression library and is
+ subject to change. Applications should only use zlib.h.
+ */
+
+local int inflate_fast OF((
+ uInt,
+ uInt,
+ inflate_huft *,
+ inflate_huft *,
+ inflate_blocks_statef *,
+ z_stream *));
+
+
+/*+++++*/
+/* infblock.c -- interpret and process block types to last block
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* Table for deflate from PKZIP's appnote.txt. */
+local uInt border[] = { /* Order of the bit length code lengths */
+ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
+
+/*
+ Notes beyond the 1.93a appnote.txt:
+
+ 1. Distance pointers never point before the beginning of the output
+ stream.
+ 2. Distance pointers can point back across blocks, up to 32k away.
+ 3. There is an implied maximum of 7 bits for the bit length table and
+ 15 bits for the actual data.
+ 4. If only one code exists, then it is encoded using one bit. (Zero
+ would be more efficient, but perhaps a little confusing.) If two
+ codes exist, they are coded using one bit each (0 and 1).
+ 5. There is no way of sending zero distance codes--a dummy must be
+ sent if there are none. (History: a pre 2.0 version of PKZIP would
+ store blocks with no distance codes, but this was discovered to be
+ too harsh a criterion.) Valid only for 1.93a. 2.04c does allow
+ zero distance codes, which is sent as one code of zero bits in
+ length.
+ 6. There are up to 286 literal/length codes. Code 256 represents the
+ end-of-block. Note however that the static length tree defines
+ 288 codes just to fill out the Huffman codes. Codes 286 and 287
+ cannot be used though, since there is no length base or extra bits
+ defined for them. Similarily, there are up to 30 distance codes.
+ However, static trees define 32 codes (all 5 bits) to fill out the
+ Huffman codes, but the last two had better not show up in the data.
+ 7. Unzip can check dynamic Huffman blocks for complete code sets.
+ The exception is that a single code would not be complete (see #4).
+ 8. The five bits following the block type is really the number of
+ literal codes sent minus 257.
+ 9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+ (1+6+6). Therefore, to output three times the length, you output
+ three codes (1+1+1), whereas to output four times the same length,
+ you only need two codes (1+3). Hmm.
+ 10. In the tree reconstruction algorithm, Code = Code + Increment
+ only if BitLength(i) is not zero. (Pretty obvious.)
+ 11. Correction: 4 Bits: # of Bit Length codes - 4 (4 - 19)
+ 12. Note: length code 284 can represent 227-258, but length code 285
+ really is 258. The last length deserves its own, short code
+ since it gets used a lot in very redundant files. The length
+ 258 is special since 258 - 3 (the min match length) is 255.
+ 13. The literal/length and distance code bit lengths are read as a
+ single stream of lengths. It is possible (and advantageous) for
+ a repeat code (16, 17, or 18) to go across the boundary between
+ the two sets of lengths.
+ */
+
+
+local void inflate_blocks_reset(s, z, c)
+inflate_blocks_statef *s;
+z_stream *z;
+uLongf *c;
+{
+ if (s->checkfn != Z_NULL)
+ *c = s->check;
+ if (s->mode == BTREE || s->mode == DTREE)
+ ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
+ if (s->mode == CODES)
+ {
+ inflate_codes_free(s->sub.decode.codes, z);
+ inflate_trees_free(s->sub.decode.td, z);
+ inflate_trees_free(s->sub.decode.tl, z);
+ }
+ s->mode = TYPE;
+ s->bitk = 0;
+ s->bitb = 0;
+ s->read = s->write = s->window;
+ if (s->checkfn != Z_NULL)
+ s->check = (*s->checkfn)(0L, Z_NULL, 0);
+ Trace((stderr, "inflate: blocks reset\n"));
+}
+
+
+local inflate_blocks_statef *inflate_blocks_new(z, c, w)
+z_stream *z;
+check_func c;
+uInt w;
+{
+ inflate_blocks_statef *s;
+
+ if ((s = (inflate_blocks_statef *)ZALLOC
+ (z,1,sizeof(struct inflate_blocks_state))) == Z_NULL)
+ return s;
+ if ((s->window = (Bytef *)ZALLOC(z, 1, w)) == Z_NULL)
+ {
+ ZFREE(z, s, sizeof(struct inflate_blocks_state));
+ return Z_NULL;
+ }
+ s->end = s->window + w;
+ s->checkfn = c;
+ s->mode = TYPE;
+ Trace((stderr, "inflate: blocks allocated\n"));
+ inflate_blocks_reset(s, z, &s->check);
+ return s;
+}
+
+
+local int inflate_blocks(s, z, r)
+inflate_blocks_statef *s;
+z_stream *z;
+int r;
+{
+ uInt t; /* temporary storage */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+
+ /* copy input/output information to locals (UPDATE macro restores) */
+ LOAD
+
+ /* process input based on current state */
+ while (1) switch (s->mode)
+ {
+ case TYPE:
+ NEEDBITS(3)
+ t = (uInt)b & 7;
+ s->last = t & 1;
+ switch (t >> 1)
+ {
+ case 0: /* stored */
+ Trace((stderr, "inflate: stored block%s\n",
+ s->last ? " (last)" : ""));
+ DUMPBITS(3)
+ t = k & 7; /* go to byte boundary */
+ DUMPBITS(t)
+ s->mode = LENS; /* get length of stored block */
+ break;
+ case 1: /* fixed */
+ Trace((stderr, "inflate: fixed codes block%s\n",
+ s->last ? " (last)" : ""));
+ {
+ uInt bl, bd;
+ inflate_huft *tl, *td;
+
+ inflate_trees_fixed(&bl, &bd, &tl, &td);
+ s->sub.decode.codes = inflate_codes_new(bl, bd, tl, td, z);
+ if (s->sub.decode.codes == Z_NULL)
+ {
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ s->sub.decode.tl = Z_NULL; /* don't try to free these */
+ s->sub.decode.td = Z_NULL;
+ }
+ DUMPBITS(3)
+ s->mode = CODES;
+ break;
+ case 2: /* dynamic */
+ Trace((stderr, "inflate: dynamic codes block%s\n",
+ s->last ? " (last)" : ""));
+ DUMPBITS(3)
+ s->mode = TABLE;
+ break;
+ case 3: /* illegal */
+ DUMPBITS(3)
+ s->mode = BADB;
+ z->msg = "invalid block type";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ break;
+ case LENS:
+ NEEDBITS(32)
+ if (((~b) >> 16) != (b & 0xffff))
+ {
+ s->mode = BADB;
+ z->msg = "invalid stored block lengths";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ s->sub.left = (uInt)b & 0xffff;
+ b = k = 0; /* dump bits */
+ Tracev((stderr, "inflate: stored length %u\n", s->sub.left));
+ s->mode = s->sub.left ? STORED : TYPE;
+ break;
+ case STORED:
+ if (n == 0)
+ LEAVE
+ NEEDOUT
+ t = s->sub.left;
+ if (t > n) t = n;
+ if (t > m) t = m;
+ zmemcpy(q, p, t);
+ p += t; n -= t;
+ q += t; m -= t;
+ if ((s->sub.left -= t) != 0)
+ break;
+ Tracev((stderr, "inflate: stored end, %lu total out\n",
+ z->total_out + (q >= s->read ? q - s->read :
+ (s->end - s->read) + (q - s->window))));
+ s->mode = s->last ? DRY : TYPE;
+ break;
+ case TABLE:
+ NEEDBITS(14)
+ s->sub.trees.table = t = (uInt)b & 0x3fff;
+#ifndef PKZIP_BUG_WORKAROUND
+ if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29)
+ {
+ s->mode = BADB;
+ z->msg = "too many length or distance symbols";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+#endif
+ t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
+ if (t < 19)
+ t = 19;
+ if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
+ {
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ s->sub.trees.nblens = t;
+ DUMPBITS(14)
+ s->sub.trees.index = 0;
+ Tracev((stderr, "inflate: table sizes ok\n"));
+ s->mode = BTREE;
+ case BTREE:
+ while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
+ {
+ NEEDBITS(3)
+ s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
+ DUMPBITS(3)
+ }
+ while (s->sub.trees.index < 19)
+ s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
+ s->sub.trees.bb = 7;
+ t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
+ &s->sub.trees.tb, z);
+ if (t != Z_OK)
+ {
+ r = t;
+ if (r == Z_DATA_ERROR)
+ s->mode = BADB;
+ LEAVE
+ }
+ s->sub.trees.index = 0;
+ Tracev((stderr, "inflate: bits tree ok\n"));
+ s->mode = DTREE;
+ case DTREE:
+ while (t = s->sub.trees.table,
+ s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
+ {
+ inflate_huft *h;
+ uInt i, j, c;
+
+ t = s->sub.trees.bb;
+ NEEDBITS(t)
+ h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
+ t = h->word.what.Bits;
+ c = h->more.Base;
+ if (c < 16)
+ {
+ DUMPBITS(t)
+ s->sub.trees.blens[s->sub.trees.index++] = c;
+ }
+ else /* c == 16..18 */
+ {
+ i = c == 18 ? 7 : c - 14;
+ j = c == 18 ? 11 : 3;
+ NEEDBITS(t + i)
+ DUMPBITS(t)
+ j += (uInt)b & inflate_mask[i];
+ DUMPBITS(i)
+ i = s->sub.trees.index;
+ t = s->sub.trees.table;
+ if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) ||
+ (c == 16 && i < 1))
+ {
+ s->mode = BADB;
+ z->msg = "invalid bit length repeat";
+ r = Z_DATA_ERROR;
+ LEAVE
+ }
+ c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
+ do {
+ s->sub.trees.blens[i++] = c;
+ } while (--j);
+ s->sub.trees.index = i;
+ }
+ }
+ inflate_trees_free(s->sub.trees.tb, z);
+ s->sub.trees.tb = Z_NULL;
+ {
+ uInt bl, bd;
+ inflate_huft *tl, *td;
+ inflate_codes_statef *c;
+
+ bl = 9; /* must be <= 9 for lookahead assumptions */
+ bd = 6; /* must be <= 9 for lookahead assumptions */
+ t = s->sub.trees.table;
+ t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
+ s->sub.trees.blens, &bl, &bd, &tl, &td, z);
+ if (t != Z_OK)
+ {
+ if (t == (uInt)Z_DATA_ERROR)
+ s->mode = BADB;
+ r = t;
+ LEAVE
+ }
+ Tracev((stderr, "inflate: trees ok\n"));
+ if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
+ {
+ inflate_trees_free(td, z);
+ inflate_trees_free(tl, z);
+ r = Z_MEM_ERROR;
+ LEAVE
+ }
+ ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
+ s->sub.decode.codes = c;
+ s->sub.decode.tl = tl;
+ s->sub.decode.td = td;
+ }
+ s->mode = CODES;
+ case CODES:
+ UPDATE
+ if ((r = inflate_codes(s, z, r)) != Z_STREAM_END)
+ return inflate_flush(s, z, r);
+ r = Z_OK;
+ inflate_codes_free(s->sub.decode.codes, z);
+ inflate_trees_free(s->sub.decode.td, z);
+ inflate_trees_free(s->sub.decode.tl, z);
+ LOAD
+ Tracev((stderr, "inflate: codes end, %lu total out\n",
+ z->total_out + (q >= s->read ? q - s->read :
+ (s->end - s->read) + (q - s->window))));
+ if (!s->last)
+ {
+ s->mode = TYPE;
+ break;
+ }
+ if (k > 7) /* return unused byte, if any */
+ {
+ Assert(k < 16, "inflate_codes grabbed too many bytes")
+ k -= 8;
+ n++;
+ p--; /* can always return one */
+ }
+ s->mode = DRY;
+ case DRY:
+ FLUSH
+ if (s->read != s->write)
+ LEAVE
+ s->mode = DONEB;
+ case DONEB:
+ r = Z_STREAM_END;
+ LEAVE
+ case BADB:
+ r = Z_DATA_ERROR;
+ LEAVE
+ default:
+ r = Z_STREAM_ERROR;
+ LEAVE
+ }
+}
+
+
+local int inflate_blocks_free(s, z, c)
+inflate_blocks_statef *s;
+z_stream *z;
+uLongf *c;
+{
+ inflate_blocks_reset(s, z, c);
+ ZFREE(z, s->window, s->end - s->window);
+ ZFREE(z, s, sizeof(struct inflate_blocks_state));
+ Trace((stderr, "inflate: blocks freed\n"));
+ return Z_OK;
+}
+
+/*
+ * This subroutine adds the data at next_in/avail_in to the output history
+ * without performing any output. The output buffer must be "caught up";
+ * i.e. no pending output (hence s->read equals s->write), and the state must
+ * be BLOCKS (i.e. we should be willing to see the start of a series of
+ * BLOCKS). On exit, the output will also be caught up, and the checksum
+ * will have been updated if need be.
+ */
+local int inflate_addhistory(s, z)
+inflate_blocks_statef *s;
+z_stream *z;
+{
+ uLong b; /* bit buffer */ /* NOT USED HERE */
+ uInt k; /* bits in bit buffer */ /* NOT USED HERE */
+ uInt t; /* temporary storage */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+
+ if (s->read != s->write)
+ return Z_STREAM_ERROR;
+ if (s->mode != TYPE)
+ return Z_DATA_ERROR;
+
+ /* we're ready to rock */
+ LOAD
+ /* while there is input ready, copy to output buffer, moving
+ * pointers as needed.
+ */
+ while (n) {
+ t = n; /* how many to do */
+ /* is there room until end of buffer? */
+ if (t > m) t = m;
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ s->check = (*s->checkfn)(s->check, q, t);
+ zmemcpy(q, p, t);
+ q += t;
+ p += t;
+ n -= t;
+ z->total_out += t;
+ s->read = q; /* drag read pointer forward */
+/* WRAP */ /* expand WRAP macro by hand to handle s->read */
+ if (q == s->end) {
+ s->read = q = s->window;
+ m = WAVAIL;
+ }
+ }
+ UPDATE
+ return Z_OK;
+}
+
+
+/*
+ * At the end of a Deflate-compressed PPP packet, we expect to have seen
+ * a `stored' block type value but not the (zero) length bytes.
+ */
+local int inflate_packet_flush(s)
+ inflate_blocks_statef *s;
+{
+ if (s->mode != LENS)
+ return Z_DATA_ERROR;
+ s->mode = TYPE;
+ return Z_OK;
+}
+
+
+/*+++++*/
+/* inftrees.c -- generate Huffman trees for efficient decoding
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+
+local int huft_build OF((
+ uIntf *, /* code lengths in bits */
+ uInt, /* number of codes */
+ uInt, /* number of "simple" codes */
+ uIntf *, /* list of base values for non-simple codes */
+ uIntf *, /* list of extra bits for non-simple codes */
+ inflate_huft * FAR*,/* result: starting table */
+ uIntf *, /* maximum lookup bits (returns actual) */
+ z_stream *)); /* for zalloc function */
+
+local voidpf falloc OF((
+ voidpf, /* opaque pointer (not used) */
+ uInt, /* number of items */
+ uInt)); /* size of item */
+
+local void ffree OF((
+ voidpf q, /* opaque pointer (not used) */
+ voidpf p, /* what to free (not used) */
+ uInt n)); /* number of bytes (not used) */
+
+/* Tables for deflate from PKZIP's appnote.txt. */
+local uInt cplens[] = { /* Copy lengths for literal codes 257..285 */
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
+ 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
+ /* actually lengths - 2; also see note #13 above about 258 */
+local uInt cplext[] = { /* Extra bits for literal codes 257..285 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
+ 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 192, 192}; /* 192==invalid */
+local uInt cpdist[] = { /* Copy offsets for distance codes 0..29 */
+ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
+ 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
+ 8193, 12289, 16385, 24577};
+local uInt cpdext[] = { /* Extra bits for distance codes */
+ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
+ 7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
+ 12, 12, 13, 13};
+
+/*
+ Huffman code decoding is performed using a multi-level table lookup.
+ The fastest way to decode is to simply build a lookup table whose
+ size is determined by the longest code. However, the time it takes
+ to build this table can also be a factor if the data being decoded
+ is not very long. The most common codes are necessarily the
+ shortest codes, so those codes dominate the decoding time, and hence
+ the speed. The idea is you can have a shorter table that decodes the
+ shorter, more probable codes, and then point to subsidiary tables for
+ the longer codes. The time it costs to decode the longer codes is
+ then traded against the time it takes to make longer tables.
+
+ This results of this trade are in the variables lbits and dbits
+ below. lbits is the number of bits the first level table for literal/
+ length codes can decode in one step, and dbits is the same thing for
+ the distance codes. Subsequent tables are also less than or equal to
+ those sizes. These values may be adjusted either when all of the
+ codes are shorter than that, in which case the longest code length in
+ bits is used, or when the shortest code is *longer* than the requested
+ table size, in which case the length of the shortest code in bits is
+ used.
+
+ There are two different values for the two tables, since they code a
+ different number of possibilities each. The literal/length table
+ codes 286 possible values, or in a flat code, a little over eight
+ bits. The distance table codes 30 possible values, or a little less
+ than five bits, flat. The optimum values for speed end up being
+ about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+ The optimum values may differ though from machine to machine, and
+ possibly even between compilers. Your mileage may vary.
+ */
+
+
+/* If BMAX needs to be larger than 16, then h and x[] should be uLong. */
+#define BMAX 15 /* maximum bit length of any code */
+#define N_MAX 288 /* maximum number of codes in any set */
+
+#ifdef DEBUG_ZLIB
+ uInt inflate_hufts;
+#endif
+
+local int huft_build(b, n, s, d, e, t, m, zs)
+uIntf *b; /* code lengths in bits (all assumed <= BMAX) */
+uInt n; /* number of codes (assumed <= N_MAX) */
+uInt s; /* number of simple-valued codes (0..s-1) */
+uIntf *d; /* list of base values for non-simple codes */
+uIntf *e; /* list of extra bits for non-simple codes */
+inflate_huft * FAR *t; /* result: starting table */
+uIntf *m; /* maximum lookup bits, returns actual */
+z_stream *zs; /* for zalloc function */
+/* Given a list of code lengths and a maximum table size, make a set of
+ tables to decode that set of codes. Return Z_OK on success, Z_BUF_ERROR
+ if the given code set is incomplete (the tables are still built in this
+ case), Z_DATA_ERROR if the input is invalid (all zero length codes or an
+ over-subscribed set of lengths), or Z_MEM_ERROR if not enough memory. */
+{
+
+ uInt a; /* counter for codes of length k */
+ uInt c[BMAX+1]; /* bit length count table */
+ uInt f; /* i repeats in table every f entries */
+ int g; /* maximum code length */
+ int h; /* table level */
+ register uInt i; /* counter, current code */
+ register uInt j; /* counter */
+ register int k; /* number of bits in current code */
+ int l; /* bits per table (returned in m) */
+ register uIntf *p; /* pointer into c[], b[], or v[] */
+ inflate_huft *q; /* points to current table */
+ struct inflate_huft_s r; /* table entry for structure assignment */
+ inflate_huft *u[BMAX]; /* table stack */
+ uInt v[N_MAX]; /* values in order of bit length */
+ register int w; /* bits before this table == (l * h) */
+ uInt x[BMAX+1]; /* bit offsets, then code stack */
+ uIntf *xp; /* pointer into x */
+ int y; /* number of dummy codes added */
+ uInt z; /* number of entries in current table */
+
+
+ /* Generate counts for each bit length */
+ p = c;
+#define C0 *p++ = 0;
+#define C2 C0 C0 C0 C0
+#define C4 C2 C2 C2 C2
+ C4 /* clear c[]--assume BMAX+1 is 16 */
+ p = b; i = n;
+ do {
+ c[*p++]++; /* assume all entries <= BMAX */
+ } while (--i);
+ if (c[0] == n) /* null input--all zero length codes */
+ {
+ *t = (inflate_huft *)Z_NULL;
+ *m = 0;
+ return Z_OK;
+ }
+
+
+ /* Find minimum and maximum length, bound *m by those */
+ l = *m;
+ for (j = 1; j <= BMAX; j++)
+ if (c[j])
+ break;
+ k = j; /* minimum code length */
+ if ((uInt)l < j)
+ l = j;
+ for (i = BMAX; i; i--)
+ if (c[i])
+ break;
+ g = i; /* maximum code length */
+ if ((uInt)l > i)
+ l = i;
+ *m = l;
+
+
+ /* Adjust last length count to fill out codes, if needed */
+ for (y = 1 << j; j < i; j++, y <<= 1)
+ if ((y -= c[j]) < 0)
+ return Z_DATA_ERROR;
+ if ((y -= c[i]) < 0)
+ return Z_DATA_ERROR;
+ c[i] += y;
+
+
+ /* Generate starting offsets into the value table for each length */
+ x[1] = j = 0;
+ p = c + 1; xp = x + 2;
+ while (--i) { /* note that i == g from above */
+ *xp++ = (j += *p++);
+ }
+
+
+ /* Make a table of values in order of bit lengths */
+ p = b; i = 0;
+ do {
+ if ((j = *p++) != 0)
+ v[x[j]++] = i;
+ } while (++i < n);
+
+
+ /* Generate the Huffman codes and for each, make the table entries */
+ x[0] = i = 0; /* first Huffman code is zero */
+ p = v; /* grab values in bit order */
+ h = -1; /* no tables yet--level -1 */
+ w = -l; /* bits decoded == (l * h) */
+ u[0] = (inflate_huft *)Z_NULL; /* just to keep compilers happy */
+ q = (inflate_huft *)Z_NULL; /* ditto */
+ z = 0; /* ditto */
+
+ /* go through the bit lengths (k already is bits in shortest code) */
+ for (; k <= g; k++)
+ {
+ a = c[k];
+ while (a--)
+ {
+ /* here i is the Huffman code of length k bits for value *p */
+ /* make tables up to required level */
+ while (k > w + l)
+ {
+ h++;
+ w += l; /* previous table always l bits */
+
+ /* compute minimum size table less than or equal to l bits */
+ z = (z = g - w) > (uInt)l ? l : z; /* table size upper limit */
+ if ((f = 1 << (j = k - w)) > a + 1) /* try a k-w bit table */
+ { /* too few codes for k-w bit table */
+ f -= a + 1; /* deduct codes from patterns left */
+ xp = c + k;
+ if (j < z)
+ while (++j < z) /* try smaller tables up to z bits */
+ {
+ if ((f <<= 1) <= *++xp)
+ break; /* enough codes to use up j bits */
+ f -= *xp; /* else deduct codes from patterns */
+ }
+ }
+ z = 1 << j; /* table entries for j-bit table */
+
+ /* allocate and link in new table */
+ if ((q = (inflate_huft *)ZALLOC
+ (zs,z + 1,sizeof(inflate_huft))) == Z_NULL)
+ {
+ if (h)
+ inflate_trees_free(u[0], zs);
+ return Z_MEM_ERROR; /* not enough memory */
+ }
+ q->word.Nalloc = z + 1;
+#ifdef DEBUG_ZLIB
+ inflate_hufts += z + 1;
+#endif
+ *t = q + 1; /* link to list for huft_free() */
+ *(t = &(q->next)) = Z_NULL;
+ u[h] = ++q; /* table starts after link */
+
+ /* connect to last table, if there is one */
+ if (h)
+ {
+ x[h] = i; /* save pattern for backing up */
+ r.bits = (Byte)l; /* bits to dump before this table */
+ r.exop = (Byte)j; /* bits in this table */
+ r.next = q; /* pointer to this table */
+ j = i >> (w - l); /* (get around Turbo C bug) */
+ u[h-1][j] = r; /* connect to last table */
+ }
+ }
+
+ /* set up table entry in r */
+ r.bits = (Byte)(k - w);
+ if (p >= v + n)
+ r.exop = 128 + 64; /* out of values--invalid code */
+ else if (*p < s)
+ {
+ r.exop = (Byte)(*p < 256 ? 0 : 32 + 64); /* 256 is end-of-block */
+ r.base = *p++; /* simple code is just the value */
+ }
+ else
+ {
+ r.exop = (Byte)e[*p - s] + 16 + 64; /* non-simple--look up in lists */
+ r.base = d[*p++ - s];
+ }
+
+ /* fill code-like entries with r */
+ f = 1 << (k - w);
+ for (j = i >> w; j < z; j += f)
+ q[j] = r;
+
+ /* backwards increment the k-bit code i */
+ for (j = 1 << (k - 1); i & j; j >>= 1)
+ i ^= j;
+ i ^= j;
+
+ /* backup over finished tables */
+ while ((i & ((1 << w) - 1)) != x[h])
+ {
+ h--; /* don't need to update q */
+ w -= l;
+ }
+ }
+ }
+
+
+ /* Return Z_BUF_ERROR if we were given an incomplete table */
+ return y != 0 && g != 1 ? Z_BUF_ERROR : Z_OK;
+}
+
+
+local int inflate_trees_bits(c, bb, tb, z)
+uIntf *c; /* 19 code lengths */
+uIntf *bb; /* bits tree desired/actual depth */
+inflate_huft * FAR *tb; /* bits tree result */
+z_stream *z; /* for zfree function */
+{
+ int r;
+
+ r = huft_build(c, 19, 19, (uIntf*)Z_NULL, (uIntf*)Z_NULL, tb, bb, z);
+ if (r == Z_DATA_ERROR)
+ z->msg = "oversubscribed dynamic bit lengths tree";
+ else if (r == Z_BUF_ERROR)
+ {
+ inflate_trees_free(*tb, z);
+ z->msg = "incomplete dynamic bit lengths tree";
+ r = Z_DATA_ERROR;
+ }
+ return r;
+}
+
+
+local int inflate_trees_dynamic(nl, nd, c, bl, bd, tl, td, z)
+uInt nl; /* number of literal/length codes */
+uInt nd; /* number of distance codes */
+uIntf *c; /* that many (total) code lengths */
+uIntf *bl; /* literal desired/actual bit depth */
+uIntf *bd; /* distance desired/actual bit depth */
+inflate_huft * FAR *tl; /* literal/length tree result */
+inflate_huft * FAR *td; /* distance tree result */
+z_stream *z; /* for zfree function */
+{
+ int r;
+
+ /* build literal/length tree */
+ if ((r = huft_build(c, nl, 257, cplens, cplext, tl, bl, z)) != Z_OK)
+ {
+ if (r == Z_DATA_ERROR)
+ z->msg = "oversubscribed literal/length tree";
+ else if (r == Z_BUF_ERROR)
+ {
+ inflate_trees_free(*tl, z);
+ z->msg = "incomplete literal/length tree";
+ r = Z_DATA_ERROR;
+ }
+ return r;
+ }
+
+ /* build distance tree */
+ if ((r = huft_build(c + nl, nd, 0, cpdist, cpdext, td, bd, z)) != Z_OK)
+ {
+ if (r == Z_DATA_ERROR)
+ z->msg = "oversubscribed literal/length tree";
+ else if (r == Z_BUF_ERROR) {
+#ifdef PKZIP_BUG_WORKAROUND
+ r = Z_OK;
+ }
+#else
+ inflate_trees_free(*td, z);
+ z->msg = "incomplete literal/length tree";
+ r = Z_DATA_ERROR;
+ }
+ inflate_trees_free(*tl, z);
+ return r;
+#endif
+ }
+
+ /* done */
+ return Z_OK;
+}
+
+
+/* build fixed tables only once--keep them here */
+local int fixed_lock = 0;
+local int fixed_built = 0;
+#define FIXEDH 530 /* number of hufts used by fixed tables */
+local uInt fixed_left = FIXEDH;
+local inflate_huft fixed_mem[FIXEDH];
+local uInt fixed_bl;
+local uInt fixed_bd;
+local inflate_huft *fixed_tl;
+local inflate_huft *fixed_td;
+
+
+local voidpf falloc(q, n, s)
+voidpf q; /* opaque pointer (not used) */
+uInt n; /* number of items */
+uInt s; /* size of item */
+{
+ Assert(s == sizeof(inflate_huft) && n <= fixed_left,
+ "inflate_trees falloc overflow");
+ if (q) s++; /* to make some compilers happy */
+ fixed_left -= n;
+ return (voidpf)(fixed_mem + fixed_left);
+}
+
+
+local void ffree(q, p, n)
+voidpf q;
+voidpf p;
+uInt n;
+{
+ Assert(0, "inflate_trees ffree called!");
+ if (q) q = p; /* to make some compilers happy */
+}
+
+
+local int inflate_trees_fixed(bl, bd, tl, td)
+uIntf *bl; /* literal desired/actual bit depth */
+uIntf *bd; /* distance desired/actual bit depth */
+inflate_huft * FAR *tl; /* literal/length tree result */
+inflate_huft * FAR *td; /* distance tree result */
+{
+ /* build fixed tables if not built already--lock out other instances */
+ while (++fixed_lock > 1)
+ fixed_lock--;
+ if (!fixed_built)
+ {
+ int k; /* temporary variable */
+ unsigned c[288]; /* length list for huft_build */
+ z_stream z; /* for falloc function */
+
+ /* set up fake z_stream for memory routines */
+ z.zalloc = falloc;
+ z.zfree = ffree;
+ z.opaque = Z_NULL;
+
+ /* literal table */
+ for (k = 0; k < 144; k++)
+ c[k] = 8;
+ for (; k < 256; k++)
+ c[k] = 9;
+ for (; k < 280; k++)
+ c[k] = 7;
+ for (; k < 288; k++)
+ c[k] = 8;
+ fixed_bl = 7;
+ huft_build(c, 288, 257, cplens, cplext, &fixed_tl, &fixed_bl, &z);
+
+ /* distance table */
+ for (k = 0; k < 30; k++)
+ c[k] = 5;
+ fixed_bd = 5;
+ huft_build(c, 30, 0, cpdist, cpdext, &fixed_td, &fixed_bd, &z);
+
+ /* done */
+ fixed_built = 1;
+ }
+ fixed_lock--;
+ *bl = fixed_bl;
+ *bd = fixed_bd;
+ *tl = fixed_tl;
+ *td = fixed_td;
+ return Z_OK;
+}
+
+
+local int inflate_trees_free(t, z)
+inflate_huft *t; /* table to free */
+z_stream *z; /* for zfree function */
+/* Free the malloc'ed tables built by huft_build(), which makes a linked
+ list of the tables it made, with the links in a dummy first entry of
+ each table. */
+{
+ register inflate_huft *p, *q;
+
+ /* Go through linked list, freeing from the malloced (t[-1]) address. */
+ p = t;
+ while (p != Z_NULL)
+ {
+ q = (--p)->next;
+ ZFREE(z, p, p->word.Nalloc * sizeof(inflate_huft));
+ p = q;
+ }
+ return Z_OK;
+}
+
+/*+++++*/
+/* infcodes.c -- process literals and length/distance pairs
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+/* inflate codes private state */
+struct inflate_codes_state {
+
+ /* mode */
+ enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
+ START, /* x: set up for LEN */
+ LEN, /* i: get length/literal/eob next */
+ LENEXT, /* i: getting length extra (have base) */
+ DIST, /* i: get distance next */
+ DISTEXT, /* i: getting distance extra */
+ COPY, /* o: copying bytes in window, waiting for space */
+ LIT, /* o: got literal, waiting for output space */
+ WASH, /* o: got eob, possibly still output waiting */
+ END, /* x: got eob and all data flushed */
+ BADCODE} /* x: got error */
+ mode; /* current inflate_codes mode */
+
+ /* mode dependent information */
+ uInt len;
+ union {
+ struct {
+ inflate_huft *tree; /* pointer into tree */
+ uInt need; /* bits needed */
+ } code; /* if LEN or DIST, where in tree */
+ uInt lit; /* if LIT, literal */
+ struct {
+ uInt get; /* bits to get for extra */
+ uInt dist; /* distance back to copy from */
+ } copy; /* if EXT or COPY, where and how much */
+ } sub; /* submode */
+
+ /* mode independent information */
+ Byte lbits; /* ltree bits decoded per branch */
+ Byte dbits; /* dtree bits decoder per branch */
+ inflate_huft *ltree; /* literal/length/eob tree */
+ inflate_huft *dtree; /* distance tree */
+
+};
+
+
+local inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
+uInt bl, bd;
+inflate_huft *tl, *td;
+z_stream *z;
+{
+ inflate_codes_statef *c;
+
+ if ((c = (inflate_codes_statef *)
+ ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
+ {
+ c->mode = START;
+ c->lbits = (Byte)bl;
+ c->dbits = (Byte)bd;
+ c->ltree = tl;
+ c->dtree = td;
+ Tracev((stderr, "inflate: codes new\n"));
+ }
+ return c;
+}
+
+
+local int inflate_codes(s, z, r)
+inflate_blocks_statef *s;
+z_stream *z;
+int r;
+{
+ uInt j; /* temporary storage */
+ inflate_huft *t; /* temporary pointer */
+ uInt e; /* extra bits or operation */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+ Bytef *f; /* pointer to copy strings from */
+ inflate_codes_statef *c = s->sub.decode.codes; /* codes state */
+
+ /* copy input/output information to locals (UPDATE macro restores) */
+ LOAD
+
+ /* process input and output based on current state */
+ while (1) switch (c->mode)
+ { /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
+ case START: /* x: set up for LEN */
+#ifndef SLOW
+ if (m >= 258 && n >= 10)
+ {
+ UPDATE
+ r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
+ LOAD
+ if (r != Z_OK)
+ {
+ c->mode = r == Z_STREAM_END ? WASH : BADCODE;
+ break;
+ }
+ }
+#endif /* !SLOW */
+ c->sub.code.need = c->lbits;
+ c->sub.code.tree = c->ltree;
+ c->mode = LEN;
+ case LEN: /* i: get length/literal/eob next */
+ j = c->sub.code.need;
+ NEEDBITS(j)
+ t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
+ DUMPBITS(t->bits)
+ e = (uInt)(t->exop);
+ if (e == 0) /* literal */
+ {
+ c->sub.lit = t->base;
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", t->base));
+ c->mode = LIT;
+ break;
+ }
+ if (e & 16) /* length */
+ {
+ c->sub.copy.get = e & 15;
+ c->len = t->base;
+ c->mode = LENEXT;
+ break;
+ }
+ if ((e & 64) == 0) /* next table */
+ {
+ c->sub.code.need = e;
+ c->sub.code.tree = t->next;
+ break;
+ }
+ if (e & 32) /* end of block */
+ {
+ Tracevv((stderr, "inflate: end of block\n"));
+ c->mode = WASH;
+ break;
+ }
+ c->mode = BADCODE; /* invalid code */
+ z->msg = "invalid literal/length code";
+ r = Z_DATA_ERROR;
+ LEAVE
+ case LENEXT: /* i: getting length extra (have base) */
+ j = c->sub.copy.get;
+ NEEDBITS(j)
+ c->len += (uInt)b & inflate_mask[j];
+ DUMPBITS(j)
+ c->sub.code.need = c->dbits;
+ c->sub.code.tree = c->dtree;
+ Tracevv((stderr, "inflate: length %u\n", c->len));
+ c->mode = DIST;
+ case DIST: /* i: get distance next */
+ j = c->sub.code.need;
+ NEEDBITS(j)
+ t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
+ DUMPBITS(t->bits)
+ e = (uInt)(t->exop);
+ if (e & 16) /* distance */
+ {
+ c->sub.copy.get = e & 15;
+ c->sub.copy.dist = t->base;
+ c->mode = DISTEXT;
+ break;
+ }
+ if ((e & 64) == 0) /* next table */
+ {
+ c->sub.code.need = e;
+ c->sub.code.tree = t->next;
+ break;
+ }
+ c->mode = BADCODE; /* invalid code */
+ z->msg = "invalid distance code";
+ r = Z_DATA_ERROR;
+ LEAVE
+ case DISTEXT: /* i: getting distance extra */
+ j = c->sub.copy.get;
+ NEEDBITS(j)
+ c->sub.copy.dist += (uInt)b & inflate_mask[j];
+ DUMPBITS(j)
+ Tracevv((stderr, "inflate: distance %u\n", c->sub.copy.dist));
+ c->mode = COPY;
+ case COPY: /* o: copying bytes in window, waiting for space */
+#ifndef __TURBOC__ /* Turbo C bug for following expression */
+ f = (uInt)(q - s->window) < c->sub.copy.dist ?
+ s->end - (c->sub.copy.dist - (q - s->window)) :
+ q - c->sub.copy.dist;
+#else
+ f = q - c->sub.copy.dist;
+ if ((uInt)(q - s->window) < c->sub.copy.dist)
+ f = s->end - (c->sub.copy.dist - (q - s->window));
+#endif
+ while (c->len)
+ {
+ NEEDOUT
+ OUTBYTE(*f++)
+ if (f == s->end)
+ f = s->window;
+ c->len--;
+ }
+ c->mode = START;
+ break;
+ case LIT: /* o: got literal, waiting for output space */
+ NEEDOUT
+ OUTBYTE(c->sub.lit)
+ c->mode = START;
+ break;
+ case WASH: /* o: got eob, possibly more output */
+ FLUSH
+ if (s->read != s->write)
+ LEAVE
+ c->mode = END;
+ case END:
+ r = Z_STREAM_END;
+ LEAVE
+ case BADCODE: /* x: got error */
+ r = Z_DATA_ERROR;
+ LEAVE
+ default:
+ r = Z_STREAM_ERROR;
+ LEAVE
+ }
+}
+
+
+local void inflate_codes_free(c, z)
+inflate_codes_statef *c;
+z_stream *z;
+{
+ ZFREE(z, c, sizeof(struct inflate_codes_state));
+ Tracev((stderr, "inflate: codes free\n"));
+}
+
+/*+++++*/
+/* inflate_util.c -- data and routines common to blocks and codes
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* copy as much as possible from the sliding window to the output area */
+local int inflate_flush(s, z, r)
+inflate_blocks_statef *s;
+z_stream *z;
+int r;
+{
+ uInt n;
+ Bytef *p, *q;
+
+ /* local copies of source and destination pointers */
+ p = z->next_out;
+ q = s->read;
+
+ /* compute number of bytes to copy as far as end of window */
+ n = (uInt)((q <= s->write ? s->write : s->end) - q);
+ if (n > z->avail_out) n = z->avail_out;
+ if (n && r == Z_BUF_ERROR) r = Z_OK;
+
+ /* update counters */
+ z->avail_out -= n;
+ z->total_out += n;
+
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ s->check = (*s->checkfn)(s->check, q, n);
+
+ /* copy as far as end of window */
+ if (p != NULL) {
+ zmemcpy(p, q, n);
+ p += n;
+ }
+ q += n;
+
+ /* see if more to copy at beginning of window */
+ if (q == s->end)
+ {
+ /* wrap pointers */
+ q = s->window;
+ if (s->write == s->end)
+ s->write = s->window;
+
+ /* compute bytes to copy */
+ n = (uInt)(s->write - q);
+ if (n > z->avail_out) n = z->avail_out;
+ if (n && r == Z_BUF_ERROR) r = Z_OK;
+
+ /* update counters */
+ z->avail_out -= n;
+ z->total_out += n;
+
+ /* update check information */
+ if (s->checkfn != Z_NULL)
+ s->check = (*s->checkfn)(s->check, q, n);
+
+ /* copy */
+ if (p != NULL) {
+ zmemcpy(p, q, n);
+ p += n;
+ }
+ q += n;
+ }
+
+ /* update pointers */
+ z->next_out = p;
+ s->read = q;
+
+ /* done */
+ return r;
+}
+
+
+/*+++++*/
+/* inffast.c -- process literals and length/distance pairs fast
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* simplify the use of the inflate_huft type with some defines */
+#define base more.Base
+#define next more.Next
+#define exop word.what.Exop
+#define bits word.what.Bits
+
+/* macros for bit input with no checking and for returning unused bytes */
+#define GRABBITS(j) {while(k<(j)){b|=((uLong)NEXTBYTE)<<k;k+=8;}}
+#define UNGRAB {n+=(c=k>>3);p-=c;k&=7;}
+
+/* Called with number of bytes left to write in window at least 258
+ (the maximum string length) and number of input bytes available
+ at least ten. The ten bytes are six bytes for the longest length/
+ distance pair plus four bytes for overloading the bit buffer. */
+
+local int inflate_fast(bl, bd, tl, td, s, z)
+uInt bl, bd;
+inflate_huft *tl, *td;
+inflate_blocks_statef *s;
+z_stream *z;
+{
+ inflate_huft *t; /* temporary pointer */
+ uInt e; /* extra bits or operation */
+ uLong b; /* bit buffer */
+ uInt k; /* bits in bit buffer */
+ Bytef *p; /* input data pointer */
+ uInt n; /* bytes available there */
+ Bytef *q; /* output window write pointer */
+ uInt m; /* bytes to end of window or read pointer */
+ uInt ml; /* mask for literal/length tree */
+ uInt md; /* mask for distance tree */
+ uInt c; /* bytes to copy */
+ uInt d; /* distance back to copy from */
+ Bytef *r; /* copy source pointer */
+
+ /* load input, output, bit values */
+ LOAD
+
+ /* initialize masks */
+ ml = inflate_mask[bl];
+ md = inflate_mask[bd];
+
+ /* do until not enough input or output space for fast loop */
+ do { /* assume called with m >= 258 && n >= 10 */
+ /* get literal/length code */
+ GRABBITS(20) /* max bits for literal/length code */
+ if ((e = (t = tl + ((uInt)b & ml))->exop) == 0)
+ {
+ DUMPBITS(t->bits)
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: * literal '%c'\n" :
+ "inflate: * literal 0x%02x\n", t->base));
+ *q++ = (Byte)t->base;
+ m--;
+ continue;
+ }
+ do {
+ DUMPBITS(t->bits)
+ if (e & 16)
+ {
+ /* get extra bits for length */
+ e &= 15;
+ c = t->base + ((uInt)b & inflate_mask[e]);
+ DUMPBITS(e)
+ Tracevv((stderr, "inflate: * length %u\n", c));
+
+ /* decode distance base of block to copy */
+ GRABBITS(15); /* max bits for distance code */
+ e = (t = td + ((uInt)b & md))->exop;
+ do {
+ DUMPBITS(t->bits)
+ if (e & 16)
+ {
+ /* get extra bits to add to distance base */
+ e &= 15;
+ GRABBITS(e) /* get extra bits (up to 13) */
+ d = t->base + ((uInt)b & inflate_mask[e]);
+ DUMPBITS(e)
+ Tracevv((stderr, "inflate: * distance %u\n", d));
+
+ /* do the copy */
+ m -= c;
+ if ((uInt)(q - s->window) >= d) /* offset before dest */
+ { /* just copy */
+ r = q - d;
+ *q++ = *r++; c--; /* minimum count is three, */
+ *q++ = *r++; c--; /* so unroll loop a little */
+ }
+ else /* else offset after destination */
+ {
+ e = d - (q - s->window); /* bytes from offset to end */
+ r = s->end - e; /* pointer to offset */
+ if (c > e) /* if source crosses, */
+ {
+ c -= e; /* copy to end of window */
+ do {
+ *q++ = *r++;
+ } while (--e);
+ r = s->window; /* copy rest from start of window */
+ }
+ }
+ do { /* copy all or what's left */
+ *q++ = *r++;
+ } while (--c);
+ break;
+ }
+ else if ((e & 64) == 0)
+ e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop;
+ else
+ {
+ z->msg = "invalid distance code";
+ UNGRAB
+ UPDATE
+ return Z_DATA_ERROR;
+ }
+ } while (1);
+ break;
+ }
+ if ((e & 64) == 0)
+ {
+ if ((e = (t = t->next + ((uInt)b & inflate_mask[e]))->exop) == 0)
+ {
+ DUMPBITS(t->bits)
+ Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
+ "inflate: * literal '%c'\n" :
+ "inflate: * literal 0x%02x\n", t->base));
+ *q++ = (Byte)t->base;
+ m--;
+ break;
+ }
+ }
+ else if (e & 32)
+ {
+ Tracevv((stderr, "inflate: * end of block\n"));
+ UNGRAB
+ UPDATE
+ return Z_STREAM_END;
+ }
+ else
+ {
+ z->msg = "invalid literal/length code";
+ UNGRAB
+ UPDATE
+ return Z_DATA_ERROR;
+ }
+ } while (1);
+ } while (m >= 258 && n >= 10);
+
+ /* not enough input or output--restore pointers and return */
+ UNGRAB
+ UPDATE
+ return Z_OK;
+}
+
+
+/*+++++*/
+/* zutil.c -- target dependent utility functions for the compression library
+ * Copyright (C) 1995 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: zutil.c,v 1.8 1995/05/03 17:27:12 jloup Exp */
+
+char *zlib_version = ZLIB_VERSION;
+
+char *z_errmsg[] = {
+"stream end", /* Z_STREAM_END 1 */
+"", /* Z_OK 0 */
+"file error", /* Z_ERRNO (-1) */
+"stream error", /* Z_STREAM_ERROR (-2) */
+"data error", /* Z_DATA_ERROR (-3) */
+"insufficient memory", /* Z_MEM_ERROR (-4) */
+"buffer error", /* Z_BUF_ERROR (-5) */
+""};
+
+
+/*+++++*/
+/* adler32.c -- compute the Adler-32 checksum of a data stream
+ * Copyright (C) 1995 Mark Adler
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: adler32.c,v 1.6 1995/05/03 17:27:08 jloup Exp */
+
+#define BASE 65521L /* largest prime smaller than 65536 */
+#define NMAX 5552
+/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
+
+#define DO1(buf) {s1 += *buf++; s2 += s1;}
+#define DO2(buf) DO1(buf); DO1(buf);
+#define DO4(buf) DO2(buf); DO2(buf);
+#define DO8(buf) DO4(buf); DO4(buf);
+#define DO16(buf) DO8(buf); DO8(buf);
+
+/* ========================================================================= */
+uLong adler32(adler, buf, len)
+ uLong adler;
+ Bytef *buf;
+ uInt len;
+{
+ unsigned long s1 = adler & 0xffff;
+ unsigned long s2 = (adler >> 16) & 0xffff;
+ int k;
+
+ if (buf == Z_NULL) return 1L;
+
+ while (len > 0) {
+ k = len < NMAX ? len : NMAX;
+ len -= k;
+ while (k >= 16) {
+ DO16(buf);
+ k -= 16;
+ }
+ if (k != 0) do {
+ DO1(buf);
+ } while (--k);
+ s1 %= BASE;
+ s2 %= BASE;
+ }
+ return (s2 << 16) | s1;
+}
diff --git a/mdk-stage1/ppp/pppdump/zlib.h b/mdk-stage1/ppp/pppdump/zlib.h
new file mode 100644
index 000000000..b120f3db2
--- /dev/null
+++ b/mdk-stage1/ppp/pppdump/zlib.h
@@ -0,0 +1,631 @@
+/* $Id: zlib.h 6001 2001-06-11 11:44:34Z gc $ */
+
+/*
+ * This file is derived from zlib.h and zconf.h from the zlib-0.95
+ * distribution by Jean-loup Gailly and Mark Adler, with some additions
+ * by Paul Mackerras to aid in implementing Deflate compression and
+ * decompression for PPP packets.
+ */
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 0.95, Aug 16th, 1995.
+
+ Copyright (C) 1995 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ gzip@prep.ai.mit.edu madler@alumni.caltech.edu
+ */
+
+#ifndef _ZLIB_H
+#define _ZLIB_H
+
+/* #include "zconf.h" */ /* included directly here */
+
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* From: zconf.h,v 1.12 1995/05/03 17:27:12 jloup Exp */
+
+/*
+ The library does not install any signal handler. It is recommended to
+ add at least a handler for SIGSEGV when decompressing; the library checks
+ the consistency of the input data whenever possible but may go nuts
+ for some forms of corrupted input.
+ */
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ * Compile with -DUNALIGNED_OK if it is OK to access shorts or ints
+ * at addresses which are not a multiple of their size.
+ * Under DOS, -DFAR=far or -DFAR=__far may be needed.
+ */
+
+#ifndef STDC
+# if defined(MSDOS) || defined(__STDC__) || defined(__cplusplus)
+# define STDC
+# endif
+#endif
+
+#ifdef __MWERKS__ /* Metrowerks CodeWarrior declares fileno() in unix.h */
+# include <unix.h>
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+# ifdef MAXSEG_64K
+# define MAX_MEM_LEVEL 8
+# else
+# define MAX_MEM_LEVEL 9
+# endif
+#endif
+
+#ifndef FAR
+# define FAR
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2 */
+#ifndef MAX_WBITS
+# define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+ 1 << (windowBits+2) + 1 << (memLevel+9)
+ that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+ make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+ The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ for small objects.
+*/
+
+ /* Type declarations */
+
+#ifndef OF /* function prototypes */
+# ifdef STDC
+# define OF(args) args
+# else
+# define OF(args) ()
+# endif
+#endif
+
+typedef unsigned char Byte; /* 8 bits */
+typedef unsigned int uInt; /* 16 bits or more */
+typedef unsigned long uLong; /* 32 bits or more */
+
+typedef Byte FAR Bytef;
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+ typedef void FAR *voidpf;
+ typedef void *voidp;
+#else
+ typedef Byte FAR *voidpf;
+ typedef Byte *voidp;
+#endif
+
+/* end of original zconf.h */
+
+#define ZLIB_VERSION "0.95P"
+
+/*
+ The 'zlib' compression library provides in-memory compression and
+ decompression functions, including integrity checks of the uncompressed
+ data. This version of the library supports only one compression method
+ (deflation) but other algorithms may be added later and will have the same
+ stream interface.
+
+ For compression the application must provide the output buffer and
+ may optionally provide the input buffer for optimization. For decompression,
+ the application must provide the input buffer and may optionally provide
+ the output buffer for optimization.
+
+ Compression can be done in a single step if the buffers are large
+ enough (for example if an input file is mmap'ed), or can be done by
+ repeated calls of the compression function. In the latter case, the
+ application must provide more input and/or consume the output
+ (providing more output space) before each call.
+*/
+
+typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
+typedef void (*free_func) OF((voidpf opaque, voidpf address, uInt nbytes));
+
+struct internal_state;
+
+typedef struct z_stream_s {
+ Bytef *next_in; /* next input byte */
+ uInt avail_in; /* number of bytes available at next_in */
+ uLong total_in; /* total nb of input bytes read so far */
+
+ Bytef *next_out; /* next output byte should be put there */
+ uInt avail_out; /* remaining free space at next_out */
+ uLong total_out; /* total nb of bytes output so far */
+
+ char *msg; /* last error message, NULL if no error */
+ struct internal_state FAR *state; /* not visible by applications */
+
+ alloc_func zalloc; /* used to allocate the internal state */
+ free_func zfree; /* used to free the internal state */
+ voidp opaque; /* private data object passed to zalloc and zfree */
+
+ Byte data_type; /* best guess about the data type: ascii or binary */
+
+} z_stream;
+
+/*
+ The application must update next_in and avail_in when avail_in has
+ dropped to zero. It must update next_out and avail_out when avail_out
+ has dropped to zero. The application must initialize zalloc, zfree and
+ opaque before calling the init function. All other fields are set by the
+ compression library and must not be updated by the application.
+
+ The opaque value provided by the application will be passed as the first
+ parameter for calls of zalloc and zfree. This can be useful for custom
+ memory management. The compression library attaches no meaning to the
+ opaque value.
+
+ zalloc must return Z_NULL if there is not enough memory for the object.
+ On 16-bit systems, the functions zalloc and zfree must be able to allocate
+ exactly 65536 bytes, but will not be required to allocate more than this
+ if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
+ pointers returned by zalloc for objects of exactly 65536 bytes *must*
+ have their offset normalized to zero. The default allocation function
+ provided by this library ensures this (see zutil.c). To reduce memory
+ requirements and avoid any allocation of 64K objects, at the expense of
+ compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
+
+ The fields total_in and total_out can be used for statistics or
+ progress reports. After compression, total_in holds the total size of
+ the uncompressed data and may be saved for use in the decompressor
+ (particularly if the decompressor wants to decompress everything in
+ a single step).
+*/
+
+ /* constants */
+
+#define Z_NO_FLUSH 0
+#define Z_PARTIAL_FLUSH 1
+#define Z_FULL_FLUSH 2
+#define Z_SYNC_FLUSH 3 /* experimental: partial_flush + byte align */
+#define Z_FINISH 4
+#define Z_PACKET_FLUSH 5
+/* See deflate() below for the usage of these constants */
+
+#define Z_OK 0
+#define Z_STREAM_END 1
+#define Z_ERRNO (-1)
+#define Z_STREAM_ERROR (-2)
+#define Z_DATA_ERROR (-3)
+#define Z_MEM_ERROR (-4)
+#define Z_BUF_ERROR (-5)
+/* error codes for the compression/decompression functions */
+
+#define Z_BEST_SPEED 1
+#define Z_BEST_COMPRESSION 9
+#define Z_DEFAULT_COMPRESSION (-1)
+/* compression levels */
+
+#define Z_FILTERED 1
+#define Z_HUFFMAN_ONLY 2
+#define Z_DEFAULT_STRATEGY 0
+
+#define Z_BINARY 0
+#define Z_ASCII 1
+#define Z_UNKNOWN 2
+/* Used to set the data_type field */
+
+#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
+
+extern char *zlib_version;
+/* The application can compare zlib_version and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+ not compatible with the zlib.h header file used by the application.
+ */
+
+ /* basic functions */
+
+extern int deflateInit OF((z_stream *strm, int level));
+/*
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller.
+ If zalloc and zfree are set to Z_NULL, deflateInit updates them to
+ use default allocation functions.
+
+ The compression level must be Z_DEFAULT_COMPRESSION, or between 1 and 9:
+ 1 gives best speed, 9 gives best compression. Z_DEFAULT_COMPRESSION requests
+ a default compromise between speed and compression (currently equivalent
+ to level 6).
+
+ deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if level is not a valid compression level.
+ msg is set to null if there is no error message. deflateInit does not
+ perform any compression: this will be done by deflate().
+*/
+
+
+extern int deflate OF((z_stream *strm, int flush));
+/*
+ Performs one or both of the following actions:
+
+ - Compress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in and avail_in are updated and
+ processing will resume at this point for the next call of deflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. This action is forced if the parameter flush is non zero.
+ Forcing flush frequently degrades the compression ratio, so this parameter
+ should be set only when necessary (in interactive applications).
+ Some output may be provided even if flush is not set.
+
+ Before the call of deflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating avail_in or avail_out accordingly; avail_out
+ should never be zero before the call. The application can consume the
+ compressed output when it wants, for example when the output buffer is full
+ (avail_out == 0), or after each call of deflate().
+
+ If the parameter flush is set to Z_PARTIAL_FLUSH, the current compression
+ block is terminated and flushed to the output buffer so that the
+ decompressor can get all input data available so far. For method 9, a future
+ variant on method 8, the current block will be flushed but not terminated.
+ If flush is set to Z_FULL_FLUSH, the compression block is terminated, a
+ special marker is output and the compression dictionary is discarded; this
+ is useful to allow the decompressor to synchronize if one compressed block
+ has been damaged (see inflateSync below). Flushing degrades compression and
+ so should be used only when necessary. Using Z_FULL_FLUSH too often can
+ seriously degrade the compression. If deflate returns with avail_out == 0,
+ this function must be called again with the same value of the flush
+ parameter and more output space (updated avail_out), until the flush is
+ complete (deflate returns with non-zero avail_out).
+
+ If the parameter flush is set to Z_PACKET_FLUSH, the compression
+ block is terminated, and a zero-length stored block is output,
+ omitting the length bytes (the effect of this is that the 3-bit type
+ code 000 for a stored block is output, and the output is then
+ byte-aligned). This is designed for use at the end of a PPP packet.
+ In addition, if the current compression block contains all the data
+ since the last Z_PACKET_FLUSH, it is never output as a stored block.
+ If the current compression block output as a static or dynamic block
+ would not be at least `minCompression' bytes smaller than the
+ original data, then nothing is output for that block. (The type
+ code for the zero-length stored block is still output, resulting in
+ a single zero byte being output for the whole packet.)
+ `MinCompression' is a parameter to deflateInit2, or 0 if deflateInit
+ is used.
+
+ If the parameter flush is set to Z_FINISH, all pending input is processed,
+ all pending output is flushed and deflate returns with Z_STREAM_END if there
+ was enough output space; if deflate returns with Z_OK, this function must be
+ called again with Z_FINISH and more output space (updated avail_out) but no
+ more input data, until it returns with Z_STREAM_END or an error. After
+ deflate has returned Z_STREAM_END, the only possible operations on the
+ stream are deflateReset or deflateEnd.
+
+ Z_FINISH can be used immediately after deflateInit if all the compression
+ is to be done in a single step. In this case, avail_out must be at least
+ 0.1% larger than avail_in plus 12 bytes. If deflate does not return
+ Z_STREAM_END, then it must be called again as described above.
+
+ deflate() may update data_type if it can make a good guess about
+ the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
+ binary. This field is only for information purposes and does not affect
+ the compression algorithm in any manner.
+
+ deflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if all input has been
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+ if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
+*/
+
+
+extern int deflateEnd OF((z_stream *strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
+ stream state was inconsistent. In the error case, msg may be set
+ but then points to a static string (which must not be deallocated).
+*/
+
+
+extern int inflateInit OF((z_stream *strm));
+/*
+ Initializes the internal stream state for decompression. The fields
+ zalloc and zfree must be initialized before by the caller. If zalloc and
+ zfree are set to Z_NULL, inflateInit updates them to use default allocation
+ functions.
+
+ inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory. msg is set to null if there is no error message.
+ inflateInit does not perform any decompression: this will be done by
+ inflate().
+*/
+
+
+extern int inflate OF((z_stream *strm, int flush));
+/*
+ Performs one or both of the following actions:
+
+ - Decompress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in is updated and processing
+ will resume at this point for the next call of inflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. inflate() always provides as much output as possible
+ (until there is no more input data or no more space in the output buffer).
+
+ Before the call of inflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming
+ more output, and updating the next_* and avail_* values accordingly.
+ The application can consume the uncompressed output when it wants, for
+ example when the output buffer is full (avail_out == 0), or after each
+ call of inflate().
+
+ If the parameter flush is set to Z_PARTIAL_FLUSH or Z_PACKET_FLUSH,
+ inflate flushes as much output as possible to the output buffer. The
+ flushing behavior of inflate is not specified for values of the flush
+ parameter other than Z_PARTIAL_FLUSH, Z_PACKET_FLUSH or Z_FINISH, but the
+ current implementation actually flushes as much output as possible
+ anyway. For Z_PACKET_FLUSH, inflate checks that once all the input data
+ has been consumed, it is expecting to see the length field of a stored
+ block; if not, it returns Z_DATA_ERROR.
+
+ inflate() should normally be called until it returns Z_STREAM_END or an
+ error. However if all decompression is to be performed in a single step
+ (a single call of inflate), the parameter flush should be set to
+ Z_FINISH. In this case all pending input is processed and all pending
+ output is flushed; avail_out must be large enough to hold all the
+ uncompressed data. (The size of the uncompressed data may have been saved
+ by the compressor for this purpose.) The next operation on this stream must
+ be inflateEnd to deallocate the decompression state. The use of Z_FINISH
+ is never required, but can be used to inform inflate that a faster routine
+ may be used for the single inflate() call.
+
+ inflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if the end of the
+ compressed data has been reached and all uncompressed output has been
+ produced, Z_DATA_ERROR if the input data was corrupted, Z_STREAM_ERROR if
+ the stream structure was inconsistent (for example if next_in or next_out
+ was NULL), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR if no
+ progress is possible or if there was not enough room in the output buffer
+ when Z_FINISH is used. In the Z_DATA_ERROR case, the application may then
+ call inflateSync to look for a good compression block. */
+
+
+extern int inflateEnd OF((z_stream *strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+ pending output.
+
+ inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
+ was inconsistent. In the error case, msg may be set but then points to a
+ static string (which must not be deallocated).
+*/
+
+ /* advanced functions */
+
+/*
+ The following functions are needed only in some special applications.
+*/
+
+extern int deflateInit2 OF((z_stream *strm,
+ int level,
+ int method,
+ int windowBits,
+ int memLevel,
+ int strategy,
+ int minCompression));
+/*
+ This is another version of deflateInit with more compression options. The
+ fields next_in, zalloc and zfree must be initialized before by the caller.
+
+ The method parameter is the compression method. It must be 8 in this
+ version of the library. (Method 9 will allow a 64K history buffer and
+ partial block flushes.)
+
+ The windowBits parameter is the base two logarithm of the window size
+ (the size of the history buffer). It should be in the range 8..15 for this
+ version of the library (the value 16 will be allowed for method 9). Larger
+ values of this parameter result in better compression at the expense of
+ memory usage. The default value is 15 if deflateInit is used instead.
+
+ The memLevel parameter specifies how much memory should be allocated
+ for the internal compression state. memLevel=1 uses minimum memory but
+ is slow and reduces compression ratio; memLevel=9 uses maximum memory
+ for optimal speed. The default value is 8. See zconf.h for total memory
+ usage as a function of windowBits and memLevel.
+
+ The strategy parameter is used to tune the compression algorithm. Use
+ the value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data
+ produced by a filter (or predictor), or Z_HUFFMAN_ONLY to force Huffman
+ encoding only (no string match). Filtered data consists mostly of small
+ values with a somewhat random distribution. In this case, the
+ compression algorithm is tuned to compress them better. The strategy
+ parameter only affects the compression ratio but not the correctness of
+ the compressed output even if it is not set appropriately.
+
+ The minCompression parameter specifies the minimum reduction in size
+ required for a compressed block to be output when Z_PACKET_FLUSH is
+ used (see the description of deflate above).
+
+ If next_in is not null, the library will use this buffer to hold also
+ some history information; the buffer must either hold the entire input
+ data, or have at least 1<<(windowBits+1) bytes and be writable. If next_in
+ is null, the library will allocate its own history buffer (and leave next_in
+ null). next_out need not be provided here but must be provided by the
+ application for the next call of deflate().
+
+ If the history buffer is provided by the application, next_in must
+ must never be changed by the application since the compressor maintains
+ information inside this buffer from call to call; the application
+ must provide more input only by increasing avail_in. next_in is always
+ reset by the library in this case.
+
+ deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
+ not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
+ an invalid method). msg is set to null if there is no error message.
+ deflateInit2 does not perform any compression: this will be done by
+ deflate().
+*/
+
+extern int deflateCopy OF((z_stream *dest,
+ z_stream *source));
+/*
+ Sets the destination stream as a complete copy of the source stream. If
+ the source stream is using an application-supplied history buffer, a new
+ buffer is allocated for the destination stream. The compressed output
+ buffer is always application-supplied. It's the responsibility of the
+ application to provide the correct values of next_out and avail_out for the
+ next call of deflate.
+
+ This function is useful when several compression strategies will be
+ tried, for example when there are several ways of pre-processing the input
+ data with a filter. The streams that will be discarded should then be freed
+ by calling deflateEnd. Note that deflateCopy duplicates the internal
+ compression state which can be quite large, so this strategy is slow and
+ can consume lots of memory.
+
+ deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+extern int deflateReset OF((z_stream *strm));
+/*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state.
+ The stream will keep the same compression level and any other attributes
+ that may have been set by deflateInit2.
+
+ deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+extern int inflateInit2 OF((z_stream *strm,
+ int windowBits));
+/*
+ This is another version of inflateInit with more compression options. The
+ fields next_out, zalloc and zfree must be initialized before by the caller.
+
+ The windowBits parameter is the base two logarithm of the maximum window
+ size (the size of the history buffer). It should be in the range 8..15 for
+ this version of the library (the value 16 will be allowed soon). The
+ default value is 15 if inflateInit is used instead. If a compressed stream
+ with a larger window size is given as input, inflate() will return with
+ the error code Z_DATA_ERROR instead of trying to allocate a larger window.
+
+ If next_out is not null, the library will use this buffer for the history
+ buffer; the buffer must either be large enough to hold the entire output
+ data, or have at least 1<<windowBits bytes. If next_out is null, the
+ library will allocate its own buffer (and leave next_out null). next_in
+ need not be provided here but must be provided by the application for the
+ next call of inflate().
+
+ If the history buffer is provided by the application, next_out must
+ never be changed by the application since the decompressor maintains
+ history information inside this buffer from call to call; the application
+ can only reset next_out to the beginning of the history buffer when
+ avail_out is zero and all output has been consumed.
+
+ inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
+ not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
+ windowBits < 8). msg is set to null if there is no error message.
+ inflateInit2 does not perform any decompression: this will be done by
+ inflate().
+*/
+
+extern int inflateSync OF((z_stream *strm));
+/*
+ Skips invalid compressed data until the special marker (see deflate()
+ above) can be found, or until all available input is skipped. No output
+ is provided.
+
+ inflateSync returns Z_OK if the special marker has been found, Z_BUF_ERROR
+ if no more input was provided, Z_DATA_ERROR if no marker has been found,
+ or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
+ case, the application may save the current current value of total_in which
+ indicates where valid compressed data was found. In the error case, the
+ application may repeatedly call inflateSync, providing more input each time,
+ until success or end of the input data.
+*/
+
+extern int inflateReset OF((z_stream *strm));
+/*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state.
+ The stream will keep attributes that may have been set by inflateInit2.
+
+ inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being NULL).
+*/
+
+extern int inflateIncomp OF((z_stream *strm));
+/*
+ This function adds the data at next_in (avail_in bytes) to the output
+ history without performing any output. There must be no pending output,
+ and the decompressor must be expecting to see the start of a block.
+ Calling this function is equivalent to decompressing a stored block
+ containing the data at next_in (except that the data is not output).
+*/
+
+ /* checksum functions */
+
+/*
+ This function is not related to compression but is exported
+ anyway because it might be useful in applications using the
+ compression library.
+*/
+
+extern uLong adler32 OF((uLong adler, Bytef *buf, uInt len));
+
+/*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is NULL, this function returns
+ the required initial value for the checksum.
+ An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ much faster. Usage example:
+
+ uLong adler = adler32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ adler = adler32(adler, buffer, length);
+ }
+ if (adler != original_adler) error();
+*/
+
+#ifndef _Z_UTIL_H
+ struct internal_state {int dummy;}; /* hack for buggy compilers */
+#endif
+
+#endif /* _ZLIB_H */
diff --git a/mdk-stage1/ppp/pppstats/Makefile.linux b/mdk-stage1/ppp/pppstats/Makefile.linux
new file mode 100644
index 000000000..5c422635b
--- /dev/null
+++ b/mdk-stage1/ppp/pppstats/Makefile.linux
@@ -0,0 +1,32 @@
+#
+# pppstats makefile
+# $Id: Makefile.linux 6001 2001-06-11 11:44:34Z gc $
+#
+
+PPPSTATSRCS = pppstats.c
+PPPSTATOBJS = pppstats.o
+
+#CC = gcc
+COPTS = -O
+COMPILE_FLAGS = -D_linux_ -I../include
+LIBS =
+
+INSTALL= install -o root -g daemon
+
+CFLAGS = $(COPTS) $(COMPILE_FLAGS)
+
+all: pppstats
+
+install: pppstats
+ $(INSTALL) -s -c pppstats $(BINDIR)/pppstats
+ $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
+
+pppstats: $(PPPSTATSRCS)
+ $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
+
+clean:
+ rm -f pppstats *~ #* core
+
+depend:
+ cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
+# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sol2 b/mdk-stage1/ppp/pppstats/Makefile.sol2
new file mode 100644
index 000000000..cb6ad2845
--- /dev/null
+++ b/mdk-stage1/ppp/pppstats/Makefile.sol2
@@ -0,0 +1,20 @@
+#
+# pppstats Makefile for SVR4 systems
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../solaris/Makedefs
+
+CFLAGS = -DSTREAMS -I../include $(COPTS)
+
+all: pppstats
+
+pppstats: pppstats.c
+ $(CC) $(CFLAGS) -o pppstats pppstats.c
+
+install: pppstats
+ $(INSTALL) -f $(BINDIR) pppstats
+ $(INSTALL) -m 444 -f $(MANDIR)/man8 pppstats.8
+
+clean:
+ rm -f pppstats *~ core
diff --git a/mdk-stage1/ppp/pppstats/Makefile.sunos4 b/mdk-stage1/ppp/pppstats/Makefile.sunos4
new file mode 100644
index 000000000..ff404be0c
--- /dev/null
+++ b/mdk-stage1/ppp/pppstats/Makefile.sunos4
@@ -0,0 +1,30 @@
+#
+# pppstats makefile
+# $Id: Makefile.sunos4 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../sunos4/Makedefs
+
+PPPSTATSRCS = pppstats.c
+PPPSTATOBJS = pppstats.o
+
+COMPILE_FLAGS = -DSTREAMS -DSUNOS4
+LIBS =
+
+CFLAGS = -I../include $(COPTS) $(COMPILE_FLAGS)
+
+all: pppstats
+
+install: pppstats
+ $(INSTALL) -c pppstats $(BINDIR)/pppstats
+ $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)/man8/pppstats.8
+
+pppstats: $(PPPSTATSRCS)
+ $(CC) $(CFLAGS) -o pppstats pppstats.c $(LIBS)
+
+clean:
+ rm -f pppstats *~ #* core
+
+depend:
+ cpp -M $(CFLAGS) $(PPPSTATSRCS) >.depend
+# makedepend $(CFLAGS) $(PPPSTATSRCS)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.8 b/mdk-stage1/ppp/pppstats/pppstats.8
new file mode 100644
index 000000000..a695fdb4a
--- /dev/null
+++ b/mdk-stage1/ppp/pppstats/pppstats.8
@@ -0,0 +1,217 @@
+.\" @(#) $Id: pppstats.8 6001 2001-06-11 11:44:34Z gc $
+.TH PPPSTATS 8 "26 June 1995"
+.SH NAME
+pppstats \- print PPP statistics
+.SH SYNOPSIS
+.B pppstats
+[
+.B -a
+] [
+.B -v
+] [
+.B -r
+] [
+.B -z
+] [
+.B -c
+.I <count>
+] [
+.B -w
+.I <secs>
+] [
+.I interface
+]
+.ti 12
+.SH DESCRIPTION
+The
+.B pppstats
+utility reports PPP-related statistics at regular intervals for the
+specified PPP interface. If the interface is unspecified, it will
+default to ppp0.
+The display is split horizontally
+into input and output sections containing columns of statistics
+describing the properties and volume of packets received and
+transmitted by the interface.
+.PP
+The options are as follows:
+.TP
+.B -a
+Display absolute values rather than deltas. With this option, all
+reports show statistics for the time since the link was initiated.
+Without this option, the second and subsequent reports show statistics
+for the time since the last report.
+.TP
+.B -c \fIcount
+Repeat the display
+.I count
+times. If this option is not specified, the default repeat count is 1
+if the
+.B -w
+option is not specified, otherwise infinity.
+.TP
+.B -r
+Display additional statistics summarizing the compression ratio
+achieved by the packet compression algorithm in use.
+.TP
+.B -v
+Display additional statistics relating to the performance of the Van
+Jacobson TCP header compression algorithm.
+.TP
+.B -w \fIwait
+Pause
+.I wait
+seconds between each display. If this option is not specified, the
+default interval is 5 seconds.
+.TP
+.B -z
+Instead of the standard display, show statistics indicating the
+performance of the packet compression algorithm in use.
+.PP
+The following fields are printed on the input side when the
+.B -z
+option is not used:
+.TP
+.B IN
+The total number of bytes received by this interface.
+.TP
+.B PACK
+The total number of packets received by this interface.
+.TP
+.B VJCOMP
+The number of header-compressed TCP packets received by this interface.
+.TP
+.B VJUNC
+The number of header-uncompressed TCP packets received by this
+interface. Not reported when the
+.B -r
+option is specified.
+.TP
+.B VJERR
+The number of corrupted or bogus header-compressed TCP packets
+received by this interface. Not reported when the
+.B -r
+option is specified.
+.TP
+.B VJTOSS
+The number of VJ header-compressed TCP packets dropped on reception by
+this interface because of preceding errors. Only reported when the
+.B -v
+option is specified.
+.TP
+.B NON-VJ
+The total number of non-TCP packets received by this interface. Only
+reported when the
+.B -v
+option is specified.
+.TP
+.B RATIO
+The compression ratio achieved for received packets by the
+packet compression scheme in use, defined as the uncompressed size
+divided by the compressed size.
+Only reported when the
+.B -r
+option is specified.
+.TP
+.B UBYTE
+The total number of bytes received, after decompression of compressed
+packets. Only reported when the
+.B -r
+option is specified.
+.PP
+The following fields are printed on the output side:
+.TP
+.B OUT
+The total number of bytes transmitted from this interface.
+.TP
+.B PACK
+The total number of packets transmitted from this interface.
+.TP
+.B VJCOMP
+The number of TCP packets transmitted from this interface with
+VJ-compressed TCP headers.
+.TP
+.B VJUNC
+The number of TCP packets transmitted from this interface with
+VJ-uncompressed TCP headers.
+Not reported when the
+.B -r
+option is specified.
+.TP
+.B NON-VJ
+The total number of non-TCP packets transmitted from this interface.
+Not reported when the
+.B -r
+option is specified.
+.TP
+.B VJSRCH
+The number of searches for the cached header entry for a VJ header
+compressed TCP packet. Only reported when the
+.B -v
+option is specified.
+.TP
+.B VJMISS
+The number of failed searches for the cached header entry for a
+VJ header compressed TCP packet. Only reported when the
+.B -v
+option is specified.
+.TP
+.B RATIO
+The compression ratio achieved for transmitted packets by the
+packet compression scheme in use, defined as the size
+before compression divided by the compressed size.
+Only reported when the
+.B -r
+option is specified.
+.TP
+.B UBYTE
+The total number of bytes to be transmitted, before packet compression
+is applied. Only reported when the
+.B -r
+option is specified.
+.PP
+When the
+.B -z
+option is specified,
+.Nm pppstats
+instead displays the following fields, relating to the packet
+compression algorithm currently in use. If packet compression is not
+in use, these fields will all display zeroes. The fields displayed on
+the input side are:
+.TP
+.B COMPRESSED BYTE
+The number of bytes of compressed packets received.
+.TP
+.B COMPRESSED PACK
+The number of compressed packets received.
+.TP
+.B INCOMPRESSIBLE BYTE
+The number of bytes of incompressible packets (that is, those which
+were transmitted in uncompressed form) received.
+.TP
+.B INCOMPRESSIBLE PACK
+The number of incompressible packets received.
+.TP
+.B COMP RATIO
+The recent compression ratio for incoming packets, defined as the
+uncompressed size divided by the compressed size (including both
+compressible and incompressible packets).
+.PP
+The fields displayed on the output side are:
+.TP
+.B COMPRESSED BYTE
+The number of bytes of compressed packets transmitted.
+.TP
+.B COMPRESSED PACK
+The number of compressed packets transmitted.
+.TP
+.B INCOMPRESSIBLE BYTE
+The number of bytes of incompressible packets transmitted (that is,
+those which were transmitted in uncompressed form).
+.TP
+.B INCOMPRESSIBLE PACK
+The number of incompressible packets transmitted.
+.TP
+.B COMP RATIO
+The recent compression ratio for outgoing packets.
+.SH SEE ALSO
+pppd(8)
diff --git a/mdk-stage1/ppp/pppstats/pppstats.c b/mdk-stage1/ppp/pppstats/pppstats.c
new file mode 100644
index 000000000..e57561005
--- /dev/null
+++ b/mdk-stage1/ppp/pppstats/pppstats.c
@@ -0,0 +1,557 @@
+/*
+ * print PPP statistics:
+ * pppstats [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]
+ *
+ * -a Show absolute values rather than deltas
+ * -d Show data rate (kB/s) rather than bytes
+ * -v Show more stats for VJ TCP header compression
+ * -r Show compression ratio
+ * -z Show compression statistics instead of default display
+ *
+ * History:
+ * perkins@cps.msu.edu: Added compression statistics and alternate
+ * display. 11/94
+ * Brad Parker (brad@cayman.com) 6/92
+ *
+ * from the original "slstats" by Van Jacobson
+ *
+ * Copyright (c) 1989 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley. The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#ifndef __STDC__
+#define const
+#endif
+
+#ifndef lint
+static const char rcsid[] = "$Id: pppstats.c 6001 2001-06-11 11:44:34Z gc $";
+#endif
+
+#include <stdio.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#ifndef STREAMS
+#if defined(_linux_) && defined(__powerpc__) \
+ && (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
+/* kludge alert! */
+#undef __GLIBC__
+#endif
+#include <sys/socket.h> /* *BSD, Linux, NeXT, Ultrix etc. */
+#ifndef _linux_
+#include <net/if.h>
+#include <net/ppp_defs.h>
+#include <net/if_ppp.h>
+#else
+/* Linux */
+#if __GLIBC__ >= 2
+#include <asm/types.h> /* glibc 2 conflicts with linux/types.h */
+#include <net/if.h>
+#else
+#include <linux/types.h>
+#include <linux/if.h>
+#endif
+#include <linux/ppp_defs.h>
+#include <linux/if_ppp.h>
+#endif /* _linux_ */
+
+#else /* STREAMS */
+#include <sys/stropts.h> /* SVR4, Solaris 2, SunOS 4, OSF/1, etc. */
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+
+#endif /* STREAMS */
+
+int vflag, rflag, zflag; /* select type of display */
+int aflag; /* print absolute values, not deltas */
+int dflag; /* print data rates, not bytes */
+int interval, count;
+int infinite;
+int unit;
+int s; /* socket or /dev/ppp file descriptor */
+int signalled; /* set if alarm goes off "early" */
+char *progname;
+char *interface;
+
+#if defined(SUNOS4) || defined(ULTRIX) || defined(NeXT)
+extern int optind;
+extern char *optarg;
+#endif
+
+/*
+ * If PPP_DRV_NAME is not defined, use the legacy "ppp" as the
+ * device name.
+ */
+#if !defined(PPP_DRV_NAME)
+#define PPP_DRV_NAME "ppp"
+#endif /* !defined(PPP_DRV_NAME) */
+
+static void usage __P((void));
+static void catchalarm __P((int));
+static void get_ppp_stats __P((struct ppp_stats *));
+static void get_ppp_cstats __P((struct ppp_comp_stats *));
+static void intpr __P((void));
+
+int main __P((int, char *argv[]));
+
+static void
+usage()
+{
+ fprintf(stderr, "Usage: %s [-a|-d] [-v|-r|-z] [-c count] [-w wait] [interface]\n",
+ progname);
+ exit(1);
+}
+
+/*
+ * Called if an interval expires before intpr has completed a loop.
+ * Sets a flag to not wait for the alarm.
+ */
+static void
+catchalarm(arg)
+ int arg;
+{
+ signalled = 1;
+}
+
+
+#ifndef STREAMS
+static void
+get_ppp_stats(curp)
+ struct ppp_stats *curp;
+{
+ struct ifpppstatsreq req;
+
+ memset (&req, 0, sizeof (req));
+
+#ifdef _linux_
+ req.stats_ptr = (caddr_t) &req.stats;
+#undef ifr_name
+#define ifr_name ifr__name
+#endif
+
+ strncpy(req.ifr_name, interface, sizeof(req.ifr_name));
+ if (ioctl(s, SIOCGPPPSTATS, &req) < 0) {
+ fprintf(stderr, "%s: ", progname);
+ if (errno == ENOTTY)
+ fprintf(stderr, "kernel support missing\n");
+ else
+ perror("couldn't get PPP statistics");
+ exit(1);
+ }
+ *curp = req.stats;
+}
+
+static void
+get_ppp_cstats(csp)
+ struct ppp_comp_stats *csp;
+{
+ struct ifpppcstatsreq creq;
+
+ memset (&creq, 0, sizeof (creq));
+
+#ifdef _linux_
+ creq.stats_ptr = (caddr_t) &creq.stats;
+#undef ifr_name
+#define ifr_name ifr__name
+#endif
+
+ strncpy(creq.ifr_name, interface, sizeof(creq.ifr_name));
+ if (ioctl(s, SIOCGPPPCSTATS, &creq) < 0) {
+ fprintf(stderr, "%s: ", progname);
+ if (errno == ENOTTY) {
+ fprintf(stderr, "no kernel compression support\n");
+ if (zflag)
+ exit(1);
+ rflag = 0;
+ } else {
+ perror("couldn't get PPP compression stats");
+ exit(1);
+ }
+ }
+
+#ifdef _linux_
+ if (creq.stats.c.bytes_out == 0) {
+ creq.stats.c.bytes_out = creq.stats.c.comp_bytes + creq.stats.c.inc_bytes;
+ creq.stats.c.in_count = creq.stats.c.unc_bytes;
+ }
+ if (creq.stats.c.bytes_out == 0)
+ creq.stats.c.ratio = 0.0;
+ else
+ creq.stats.c.ratio = 256.0 * creq.stats.c.in_count /
+ creq.stats.c.bytes_out;
+
+ if (creq.stats.d.bytes_out == 0) {
+ creq.stats.d.bytes_out = creq.stats.d.comp_bytes + creq.stats.d.inc_bytes;
+ creq.stats.d.in_count = creq.stats.d.unc_bytes;
+ }
+ if (creq.stats.d.bytes_out == 0)
+ creq.stats.d.ratio = 0.0;
+ else
+ creq.stats.d.ratio = 256.0 * creq.stats.d.in_count /
+ creq.stats.d.bytes_out;
+#endif
+
+ *csp = creq.stats;
+}
+
+#else /* STREAMS */
+
+int
+strioctl(fd, cmd, ptr, ilen, olen)
+ int fd, cmd, ilen, olen;
+ char *ptr;
+{
+ struct strioctl str;
+
+ str.ic_cmd = cmd;
+ str.ic_timout = 0;
+ str.ic_len = ilen;
+ str.ic_dp = ptr;
+ if (ioctl(fd, I_STR, &str) == -1)
+ return -1;
+ if (str.ic_len != olen)
+ fprintf(stderr, "strioctl: expected %d bytes, got %d for cmd %x\n",
+ olen, str.ic_len, cmd);
+ return 0;
+}
+
+static void
+get_ppp_stats(curp)
+ struct ppp_stats *curp;
+{
+ if (strioctl(s, PPPIO_GETSTAT, curp, 0, sizeof(*curp)) < 0) {
+ fprintf(stderr, "%s: ", progname);
+ if (errno == EINVAL)
+ fprintf(stderr, "kernel support missing\n");
+ else
+ perror("couldn't get PPP statistics");
+ exit(1);
+ }
+}
+
+static void
+get_ppp_cstats(csp)
+ struct ppp_comp_stats *csp;
+{
+ if (strioctl(s, PPPIO_GETCSTAT, csp, 0, sizeof(*csp)) < 0) {
+ fprintf(stderr, "%s: ", progname);
+ if (errno == ENOTTY) {
+ fprintf(stderr, "no kernel compression support\n");
+ if (zflag)
+ exit(1);
+ rflag = 0;
+ } else {
+ perror("couldn't get PPP compression statistics");
+ exit(1);
+ }
+ }
+}
+
+#endif /* STREAMS */
+
+#define MAX0(a) ((int)(a) > 0? (a): 0)
+#define V(offset) MAX0(cur.offset - old.offset)
+#define W(offset) MAX0(ccs.offset - ocs.offset)
+
+#define RATIO(c, i, u) ((c) == 0? 1.0: (u) / ((double)(c) + (i)))
+#define CRATE(x) RATIO(W(x.comp_bytes), W(x.inc_bytes), W(x.unc_bytes))
+
+#define KBPS(n) ((n) / (interval * 1000.0))
+
+/*
+ * Print a running summary of interface statistics.
+ * Repeat display every interval seconds, showing statistics
+ * collected over that interval. Assumes that interval is non-zero.
+ * First line printed is cumulative.
+ */
+static void
+intpr()
+{
+ register int line = 0;
+ sigset_t oldmask, mask;
+ char *bunit;
+ int ratef = 0;
+ struct ppp_stats cur, old;
+ struct ppp_comp_stats ccs, ocs;
+
+ memset(&old, 0, sizeof(old));
+ memset(&ocs, 0, sizeof(ocs));
+
+ while (1) {
+ get_ppp_stats(&cur);
+ if (zflag || rflag)
+ get_ppp_cstats(&ccs);
+
+ (void)signal(SIGALRM, catchalarm);
+ signalled = 0;
+ (void)alarm(interval);
+
+ if ((line % 20) == 0) {
+ if (zflag) {
+ printf("IN: COMPRESSED INCOMPRESSIBLE COMP | ");
+ printf("OUT: COMPRESSED INCOMPRESSIBLE COMP\n");
+ bunit = dflag? "KB/S": "BYTE";
+ printf(" %s PACK %s PACK RATIO | ", bunit, bunit);
+ printf(" %s PACK %s PACK RATIO", bunit, bunit);
+ } else {
+ printf("%8.8s %6.6s %6.6s",
+ "IN", "PACK", "VJCOMP");
+
+ if (!rflag)
+ printf(" %6.6s %6.6s", "VJUNC", "VJERR");
+ if (vflag)
+ printf(" %6.6s %6.6s", "VJTOSS", "NON-VJ");
+ if (rflag)
+ printf(" %6.6s %6.6s", "RATIO", "UBYTE");
+ printf(" | %8.8s %6.6s %6.6s",
+ "OUT", "PACK", "VJCOMP");
+
+ if (!rflag)
+ printf(" %6.6s %6.6s", "VJUNC", "NON-VJ");
+ if (vflag)
+ printf(" %6.6s %6.6s", "VJSRCH", "VJMISS");
+ if (rflag)
+ printf(" %6.6s %6.6s", "RATIO", "UBYTE");
+ }
+ putchar('\n');
+ }
+
+ if (zflag) {
+ if (ratef) {
+ printf("%8.3f %6u %8.3f %6u %6.2f",
+ KBPS(W(d.comp_bytes)),
+ W(d.comp_packets),
+ KBPS(W(d.inc_bytes)),
+ W(d.inc_packets),
+ ccs.d.ratio / 256.0);
+ printf(" | %8.3f %6u %8.3f %6u %6.2f",
+ KBPS(W(c.comp_bytes)),
+ W(c.comp_packets),
+ KBPS(W(c.inc_bytes)),
+ W(c.inc_packets),
+ ccs.c.ratio / 256.0);
+ } else {
+ printf("%8u %6u %8u %6u %6.2f",
+ W(d.comp_bytes),
+ W(d.comp_packets),
+ W(d.inc_bytes),
+ W(d.inc_packets),
+ ccs.d.ratio / 256.0);
+ printf(" | %8u %6u %8u %6u %6.2f",
+ W(c.comp_bytes),
+ W(c.comp_packets),
+ W(c.inc_bytes),
+ W(c.inc_packets),
+ ccs.c.ratio / 256.0);
+ }
+
+ } else {
+ if (ratef)
+ printf("%8.3f", KBPS(V(p.ppp_ibytes)));
+ else
+ printf("%8u", V(p.ppp_ibytes));
+ printf(" %6u %6u",
+ V(p.ppp_ipackets),
+ V(vj.vjs_compressedin));
+ if (!rflag)
+ printf(" %6u %6u",
+ V(vj.vjs_uncompressedin),
+ V(vj.vjs_errorin));
+ if (vflag)
+ printf(" %6u %6u",
+ V(vj.vjs_tossed),
+ V(p.ppp_ipackets) - V(vj.vjs_compressedin)
+ - V(vj.vjs_uncompressedin) - V(vj.vjs_errorin));
+ if (rflag) {
+ printf(" %6.2f ", CRATE(d));
+ if (ratef)
+ printf("%6.2f", KBPS(W(d.unc_bytes)));
+ else
+ printf("%6u", W(d.unc_bytes));
+ }
+ if (ratef)
+ printf(" | %8.3f", KBPS(V(p.ppp_obytes)));
+ else
+ printf(" | %8u", V(p.ppp_obytes));
+ printf(" %6u %6u",
+ V(p.ppp_opackets),
+ V(vj.vjs_compressed));
+ if (!rflag)
+ printf(" %6u %6u",
+ V(vj.vjs_packets) - V(vj.vjs_compressed),
+ V(p.ppp_opackets) - V(vj.vjs_packets));
+ if (vflag)
+ printf(" %6u %6u",
+ V(vj.vjs_searches),
+ V(vj.vjs_misses));
+ if (rflag) {
+ printf(" %6.2f ", CRATE(c));
+ if (ratef)
+ printf("%6.2f", KBPS(W(c.unc_bytes)));
+ else
+ printf("%6u", W(c.unc_bytes));
+ }
+
+ }
+
+ putchar('\n');
+ fflush(stdout);
+ line++;
+
+ count--;
+ if (!infinite && !count)
+ break;
+
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGALRM);
+ sigprocmask(SIG_BLOCK, &mask, &oldmask);
+ if (!signalled) {
+ sigemptyset(&mask);
+ sigsuspend(&mask);
+ }
+ sigprocmask(SIG_SETMASK, &oldmask, NULL);
+ signalled = 0;
+ (void)alarm(interval);
+
+ if (!aflag) {
+ old = cur;
+ ocs = ccs;
+ ratef = dflag;
+ }
+ }
+}
+
+int
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ int c;
+#ifdef STREAMS
+ char *dev;
+#endif
+
+ interface = PPP_DRV_NAME "0";
+ if ((progname = strrchr(argv[0], '/')) == NULL)
+ progname = argv[0];
+ else
+ ++progname;
+
+ while ((c = getopt(argc, argv, "advrzc:w:")) != -1) {
+ switch (c) {
+ case 'a':
+ ++aflag;
+ break;
+ case 'd':
+ ++dflag;
+ break;
+ case 'v':
+ ++vflag;
+ break;
+ case 'r':
+ ++rflag;
+ break;
+ case 'z':
+ ++zflag;
+ break;
+ case 'c':
+ count = atoi(optarg);
+ if (count <= 0)
+ usage();
+ break;
+ case 'w':
+ interval = atoi(optarg);
+ if (interval <= 0)
+ usage();
+ break;
+ default:
+ usage();
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (!interval && count)
+ interval = 5;
+ if (interval && !count)
+ infinite = 1;
+ if (!interval && !count)
+ count = 1;
+ if (aflag)
+ dflag = 0;
+
+ if (argc > 1)
+ usage();
+ if (argc > 0)
+ interface = argv[0];
+
+ if (sscanf(interface, PPP_DRV_NAME "%d", &unit) != 1) {
+ fprintf(stderr, "%s: invalid interface '%s' specified\n",
+ progname, interface);
+ }
+
+#ifndef STREAMS
+ {
+ struct ifreq ifr;
+
+ s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s < 0) {
+ fprintf(stderr, "%s: ", progname);
+ perror("couldn't create IP socket");
+ exit(1);
+ }
+
+#ifdef _linux_
+#undef ifr_name
+#define ifr_name ifr_ifrn.ifrn_name
+#endif
+ strncpy(ifr.ifr_name, interface, sizeof(ifr.ifr_name));
+ if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&ifr) < 0) {
+ fprintf(stderr, "%s: nonexistent interface '%s' specified\n",
+ progname, interface);
+ exit(1);
+ }
+ }
+
+#else /* STREAMS */
+#ifdef __osf__
+ dev = "/dev/streams/ppp";
+#else
+ dev = "/dev/" PPP_DRV_NAME;
+#endif
+ if ((s = open(dev, O_RDONLY)) < 0) {
+ fprintf(stderr, "%s: couldn't open ", progname);
+ perror(dev);
+ exit(1);
+ }
+ if (strioctl(s, PPPIO_ATTACH, &unit, sizeof(int), 0) < 0) {
+ fprintf(stderr, "%s: ppp%d is not available\n", progname, unit);
+ exit(1);
+ }
+
+#endif /* STREAMS */
+
+ intpr();
+ exit(0);
+}
diff --git a/mdk-stage1/ppp/sample/auth-down b/mdk-stage1/ppp/sample/auth-down
new file mode 100644
index 000000000..edde65db1
--- /dev/null
+++ b/mdk-stage1/ppp/sample/auth-down
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# A program or script which is executed after the remote system
+# successfully authenticates itself. It is executed with the parameters
+# <interface-name> <peer-name> <user-name> <tty-device> <speed>
+#
+
+#
+# The environment is cleared before executing this script
+# so the path must be reset
+#
+PATH=/usr/sbin:/sbin:/usr/bin:/bin
+export PATH
+
+echo auth-down `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
+
+# last line
diff --git a/mdk-stage1/ppp/sample/auth-up b/mdk-stage1/ppp/sample/auth-up
new file mode 100644
index 000000000..54722a3c0
--- /dev/null
+++ b/mdk-stage1/ppp/sample/auth-up
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# A program or script which is executed after the remote system
+# successfully authenticates itself. It is executed with the parameters
+# <interface-name> <peer-name> <user-name> <tty-device> <speed>
+#
+
+#
+# The environment is cleared before executing this script
+# so the path must be reset
+#
+PATH=/usr/sbin:/sbin:/usr/bin:/bin
+export PATH
+
+echo auth-up `date +'%y/%m/%d %T'` $* >> /var/log/pppstats
+
+# last line
diff --git a/mdk-stage1/ppp/sample/ip-down b/mdk-stage1/ppp/sample/ip-down
new file mode 100644
index 000000000..b771fb644
--- /dev/null
+++ b/mdk-stage1/ppp/sample/ip-down
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# This script is run by the pppd _after_ the link is brought down.
+# It should be used to delete routes, unset IP addresses etc.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+#
+
+#
+# The environment is cleared before executing this script
+# so the path must be reset
+#
+PATH=/usr/sbin:/sbin:/usr/bin:/bin
+export PATH
+
+# last line
diff --git a/mdk-stage1/ppp/sample/ip-up b/mdk-stage1/ppp/sample/ip-up
new file mode 100644
index 000000000..02bb71c44
--- /dev/null
+++ b/mdk-stage1/ppp/sample/ip-up
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# This script is run by the pppd after the link is established.
+# It should be used to add routes, set IP address, run the mailq
+# etc.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+#
+
+#
+# The environment is cleared before executing this script
+# so the path must be reset
+#
+PATH=/usr/sbin:/sbin:/usr/bin:/bin
+export PATH
+
+# last line
diff --git a/mdk-stage1/ppp/sample/options b/mdk-stage1/ppp/sample/options
new file mode 100644
index 000000000..8d0a3f963
--- /dev/null
+++ b/mdk-stage1/ppp/sample/options
@@ -0,0 +1,153 @@
+# /etc/ppp/options
+
+# The name of this server. Often, the FQDN is used here.
+#name <host>
+
+# Enforce the use of the hostname as the name of the local system for
+# authentication purposes (overrides the name option).
+usehostname
+
+# If no local IP address is given, pppd will use the first IP address
+# that belongs to the local hostname. If "noipdefault" is given, this
+# is disabled and the peer will have to supply an IP address.
+noipdefault
+
+# With this option, pppd will accept the peer's idea of our local IP
+# address, even if the local IP address was specified in an option.
+#ipcp-accept-local
+
+# With this option, pppd will accept the peer's idea of its (remote) IP
+# address, even if the remote IP address was specified in an option.
+#ipcp-accept-remote
+
+# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
+# Two Servers can be remotely configured
+#ms-dns 192.168.1.1
+#ms-dns 192.168.1.2
+
+# Specify which WINS Servers the incoming connection Win95 or WinNT should use
+#wins-addr 192.168.1.50
+#wins-addr 192.168.1.51
+
+# enable this on a server that already has a permanent default route
+#nodefaultroute
+
+# Run the executable or shell command specified after pppd has terminated
+# the link. This script could, for example, issue commands to the modem
+# to cause it to hang up if hardware modem control signals were not
+# available.
+# If mgetty is running, it will reset the modem anyway. So there is no need
+# to do it here.
+#disconnect "chat -- \d+++\d\c OK ath0 OK"
+
+# Increase debugging level (same as -d). The debug output is written
+# to syslog LOG_LOCAL2.
+debug
+
+# Enable debugging code in the kernel-level PPP driver. The argument n
+# is a number which is the sum of the following values: 1 to enable
+# general debug messages, 2 to request that the contents of received
+# packets be printed, and 4 to request that the contents of transmitted
+# packets be printed.
+#kdebug n
+
+# Require the peer to authenticate itself before allowing network
+# packets to be sent or received.
+# Please do not disable this setting. It is expected to be standard in
+# future releases of pppd. Use the call option (see manpage) to disable
+# authentication for specific peers.
+#auth
+
+# authentication can either be pap or chap. As most people only want to
+# use pap, you can also disable chap:
+#require-pap
+#refuse-chap
+
+# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
+# on the serial port.
+crtscts
+
+# Specifies that pppd should use a UUCP-style lock on the serial device
+# to ensure exclusive access to the device.
+lock
+
+# Use the modem control lines.
+modem
+
+# async character map -- 32-bit hex; each bit is a character
+# that needs to be escaped for pppd to receive it. 0x00000001
+# represents '\x01', and 0x80000000 represents '\x1f'.
+# To allow pppd to work over a rlogin/telnet connection, ou should escape
+# XON (^Q), XOFF (^S) and ^]: (The peer should use "escape ff".)
+#asyncmap 200a0000
+asyncmap 0
+
+# Specifies that certain characters should be escaped on transmission
+# (regardless of whether the peer requests them to be escaped with its
+# async control character map). The characters to be escaped are
+# specified as a list of hex numbers separated by commas. Note that
+# almost any character can be specified for the escape option, unlike
+# the asyncmap option which only allows control characters to be
+# specified. The characters which may not be escaped are those with hex
+# values 0x20 - 0x3f or 0x5e.
+#escape 11,13,ff
+
+# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd
+# will ask the peer to send packets of no more than <n> bytes. The
+# minimum MRU value is 128. The default MRU value is 1500. A value of
+# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
+# bytes of data).
+#mru 542
+
+# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
+# requests a smaller value via MRU negotiation, pppd will request that
+# the kernel networking code send data packets of no more than n bytes
+# through the PPP network interface.
+#mtu <n>
+
+# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
+# notation (e.g. 255.255.255.0).
+#netmask 255.255.255.0
+
+# Don't fork to become a background process (otherwise pppd will do so
+# if a serial device is specified).
+nodetach
+
+# Set the assumed name of the remote system for authentication purposes
+# to <n>.
+#remotename <n>
+
+# Add an entry to this system's ARP [Address Resolution Protocol]
+# table with the IP address of the peer and the Ethernet address of this
+# system. {proxyarp,noproxyarp}
+proxyarp
+
+# Use the system password database for authenticating the peer using
+# PAP. Note: mgetty already provides this option. If this is specified
+# then dialin from users using a script under Linux to fire up ppp wont work.
+#login
+
+# If this option is given, pppd will send an LCP echo-request frame to
+# the peer every n seconds. Under Linux, the echo-request is sent when
+# no packets have been received from the peer for n seconds. Normally
+# the peer should respond to the echo-request by sending an echo-reply.
+# This option can be used with the lcp-echo-failure option to detect
+# that the peer is no longer connected.
+lcp-echo-interval 30
+
+# If this option is given, pppd will presume the peer to be dead if n
+# LCP echo-requests are sent without receiving a valid LCP echo-reply.
+# If this happens, pppd will terminate the connection. Use of this
+# option requires a non-zero value for the lcp-echo-interval parameter.
+# This option can be used to enable pppd to terminate after the physical
+# connection has been broken (e.g., the modem has hung up) in
+# situations where no hardware modem control lines are available.
+lcp-echo-failure 4
+
+# Specifies that pppd should disconnect if the link is idle for n seconds.
+idle 600
+
+# Disable the IPXCP and IPX protocols.
+noipx
+
+# ---<End of File>---
diff --git a/mdk-stage1/ppp/sample/options.ttyXX b/mdk-stage1/ppp/sample/options.ttyXX
new file mode 100644
index 000000000..d4202f534
--- /dev/null
+++ b/mdk-stage1/ppp/sample/options.ttyXX
@@ -0,0 +1,14 @@
+# If you need to set up multiple serial lines then copy this file to
+# options.<ttyname> for each tty with a modem on it.
+#
+# The options.tty file will assign an IP address to each PPP connection
+# as it comes up. They must all be distinct!
+#
+# Example:
+# options.ttyS1 for com2 under DOS.
+#
+# Edit the following line so that the first IP address
+# mentioned is the ip address of the serial port while the second
+# is the IP address of your host
+#
+hostname-s1:hostname
diff --git a/mdk-stage1/ppp/sample/pap-secrets b/mdk-stage1/ppp/sample/pap-secrets
new file mode 100644
index 000000000..098971b9f
--- /dev/null
+++ b/mdk-stage1/ppp/sample/pap-secrets
@@ -0,0 +1,28 @@
+# Secrets for authentication using PAP
+# client server secret IP addresses
+
+# OUTBOUND CONNECTIONS
+# Here you should add your userid password to connect to your providers via
+# pap. The * means that the password is to be used for ANY host you connect
+# to. Thus you do not have to worry about the foreign machine name. Just
+# replace password with your password.
+# If you have different providers with different passwords then you better
+# remove the following line.
+#hostname * password
+
+# INBOUND CONNECTIONS
+#client hostname <password> 192.168.1.1
+
+# If you add "auth login -chap +pap" to /etc/mgetty+sendfax/login.config,
+# all users in /etc/passwd can use their password for pap-authentication.
+#
+# Every regular user can use PPP and has to use passwords from /etc/passwd
+#* hostname ""
+# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any
+# other accounts that should not be able to use pppd! Replace hostname
+# with your local hostname.
+#guest hostname "*" -
+#master hostname "*" -
+#root hostname "*" -
+#support hostname "*" -
+#stats hostname "*" -
diff --git a/mdk-stage1/ppp/scripts/README b/mdk-stage1/ppp/scripts/README
new file mode 100644
index 000000000..00e032ca6
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/README
@@ -0,0 +1,143 @@
+This directory contains a set of scripts which have been used on Linux
+as well as Solaris 2.x systems to initiate or maintain a connection
+with PPP. The files in this directory were contributed by Al Longyear
+(longyear@netcom.com) and Adi Masputra (adi.masputra@sun.com)
+
+------------------------------------------------------------------------
+
+1. README
+
+This file. You are reading it. It is just documentation.
+
+------------------------------------------------------------------------
+
+2. ppp-on
+
+This script will initiate a connection to the PPP system. It will run
+the chat program with the connection script as a parameter. This is a
+possible security hole. However, it is simple. It is meant to replace
+the previous version of ppp-on which was not very functional.
+
+The ppp-on script has entries for the account name, password, IP
+addresses, and telephone numbers. The parameters are passed to the
+pppd process and, then in turn, to the second part of the connect
+script, as a set of environment variables.
+
+Please make sure that you put the full path name to the ppp-on-dialer
+script in the reference to it in ppp-on.
+
+------------------------------------------------------------------------
+
+3. ppp-on-dialer
+
+This is the second part to the simple calling script, ppp-on. It
+executes the chat program to connect the user with a standard UNIX
+style getty/login connection sequence.
+
+------------------------------------------------------------------------
+
+4. callback
+
+This script may be used in lieu of the ppp-on-dialer to permit the
+common modem callback sequence. You may need to make changes to the
+expected prompt string for the modem.
+
+The script works by disabling the system's detection of the DCD
+condition and working on the modem status message "NO CARRIER" which
+is generated when the modem disconnects.
+
+It is crude. It does work for my modem connection. Use as you see fit.
+
+------------------------------------------------------------------------
+
+5. redialer
+
+The redialer script is a replacement for the ppp-on-dialer script. It
+will do 'attack dialing' or 'demon dialing' of one or more telephone
+numbers. The first number which responds will be used for a
+connection.
+
+There is a limit of ten attempts and a 15 second delay between dialing
+attempts. Both values are set in the script.
+
+------------------------------------------------------------------------
+
+6. ppp-off
+
+This is a script which will terminate the active ppp connection. Use
+as either "ppp-off" to terminate ppp0, or "ppp-off <device>" to
+terminate the connection on <device>. For example, "ppp-off ppp2" will
+terminate the ppp2 connection.
+
+------------------------------------------------------------------------
+
+7. secure-card
+
+This script was written by Jim Isaacson <jcisaac@crl.com>. It is a script
+for the 'expect' programming language used with Tcl. You need to have
+expect and Tcl installed before this script may be used.
+
+This script will operate with a device marketed under the name "SecureCARD".
+This little device is mated with its controller. On the credit card size
+device, there is a sequence number which changes on a random basis. In order
+for you to connect you need to enter a fixed portion of your account name
+and the number which is displayed on this card device. The number must match
+the value at the controller in order for the account name to be used.
+
+The problem is that chat uses fixed response strings. In addition, the
+timing for running the script may prevent the use of a script that reads the
+value before it starts the dial sequence. What was needed was a script which
+asked the user at the user's console at the time that it is needed.
+
+This led to the use of expect.
+
+------------------------------------------------------------------------
+
+8. ppp-on-rsh
+
+This script will initiate a PPP connection to a remote machine using rsh.
+This is implemented by creating a master/slave pseudo-tty with the slave
+pointing to rsh, specifically with the 'pty' and 'notty' options of pppd.
+It is assumed that the remote machine contains some sort of trust
+mechanisms (such as ~/.rhosts, et al) to allow the local machine to
+connect via rsh as root.
+
+------------------------------------------------------------------------
+
+9. ppp-on-ssh
+
+This script will initiate a PPP connection to a remote machine using the
+secure shell, or ssh. I've only tested this on ssh 1.x, so those of you
+who are running ssh 2.x mahy need to modify the ssh options slightly.
+This is implemented by creating a master/slave pseudo-ttyt with the slave
+pointing to ssh, specifically with the 'pty' and 'notty' options of pppd.
+It is assumed that the remote machine can accept the ssh connection from
+the local host, in the sense that all ssh authentication mechanisms have
+been properly configured, so that a remote root user can open a ssh
+connection.
+
+------------------------------------------------------------------------
+
+10. options-rsh-loc & options-rsh-rem
+
+These options files accompany the ppp-on-rsh script mentioned above. In
+theory, you'd want to copy the options-rsh-rem to the remote machine where
+in.rshd is running. The only extra option required on the remote machine
+options file is the 'notty' option. In addition, all ASCII control characters
+[0x00 to 0x1f], plus 0xff, are escaped. This may need to be modified
+depending on the rsh (or pseudo-tty) implementation which may differ across
+platforms, for further optimizations.
+
+------------------------------------------------------------------------
+
+11. options-ssh-loc & options-ssh-rem
+
+These options files accompany the ppp-on-ssh script mentioned above. I've
+only tested this on ssh 1.x, so those of you who are running ssh 2.x need
+to modify the ssh options slightly. In theory, you'd want to copy the
+options-ssh-rem to the remote machine where sshd daemon is running. The only
+extra options required on the remote machine options file is the 'notty'
+option. In addition, all ASCII control characters [0x00 to 0x1f], plus 0xff,
+are escaped. This may need to be modified depending on the ssh (or
+pseudo-tty) implementation which may differ across platforms, for further
+optimizations.
diff --git a/mdk-stage1/ppp/scripts/callback b/mdk-stage1/ppp/scripts/callback
new file mode 100755
index 000000000..3e74e10b2
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/callback
@@ -0,0 +1,77 @@
+#!/bin/sh
+###################################################################
+#
+# Script to dial the remote system, negotiate the connection, and send
+# it the id. Then wait for the modem to disconnect. Reset the modem
+# to answer mode and wait for the system to call back.
+#
+# The telephone number and modempass are used when establishing the
+# connection to the modem.
+#
+PHONE=555-1212
+MODEMPASS=modem_identifier
+#
+# Once the modem calls back, the account name and password are used for
+# a UNIX style login operation.
+#
+ACCOUNT=my_account_name
+PASSWORD=my_password
+
+###################################################################
+#
+# Step 1. Dial the modem and negotiate the initial dialog.
+# note: the modem is configured to ignore loss of DCD at this point.
+# it is important that this be performed because the loss of DCD
+# will normally prevent system from working since 'modem' is used
+# for pppd.
+#
+# The script is terminated normally when the carrier is lost.
+#
+chat -v \
+ TIMEOUT 3 \
+ ABORT '\nBUSY\r' \
+ ABORT '\nNO ANSWER\r' \
+ ABORT '\nRINGING\r\n\r\nRINGING\r' \
+ '' AT \
+ 'OK-+++\c-OK' 'AT&C0&D2S0=0H0 \
+ TIMEOUT 30 \
+ OK ATDT$TELEPHONE \
+ CONNECT '' \
+ assword: $MODEMPASS \
+ "\nNO CARRIER\r"
+
+if [ "$?" = "0" ]; then
+
+###################################################################
+#
+# Step 2. Wait for the call back from the remote. This will wait for at most
+# 30 seconds for the call back should the first attempt fail or
+# something happen with the callback logic at the remote.
+#
+# note: when the callback occurs, the DCD setting is re-enabled.
+#
+# If some voice call should happen during this period, the system will
+# answer the telephone and then hang up on them. I realize that this is
+# rude, but there is little that this script can do.
+#
+ chat -v \
+ TIMEOUT 30 \
+ ABORT '\nVOICE\r' \
+ '\nRING\r' 'AT&C1A' \
+ CONNECT '' \
+ TIMEOUT 10 \
+ ogin:--ogin: $ACCOUNT \
+ TIMEOUT 45 \
+ assword: $PASSWORD
+
+ if [ "$?" = "0" ]; then
+ exit 0
+ fi
+fi
+
+###################################################################
+#
+# The script has failed. Terminate the connection mode.
+#
+chat -v TIMEOUT 3 "" AT 'OK-+++\c-OK' 'AT&C1&D2S0=0H0' OK
+exit 1
diff --git a/mdk-stage1/ppp/scripts/chat-callback b/mdk-stage1/ppp/scripts/chat-callback
new file mode 100644
index 000000000..d014d6af3
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/chat-callback
@@ -0,0 +1,98 @@
+# =====================================================================================
+# Chat script to dial our Company PPP account.
+# They uses a call-back system to identify us and to reverse
+# charge the call cost.
+# =====================================================================================
+#
+ECHO OFF
+# All the usual abort strings
+ABORT "NO CARRIER"
+ABORT "VOICE"
+ABORT "BUSY"
+ABORT "NO DIALTONE"
+ABORT "NO ANSWER"
+#
+# If calling outside allowed time we get this:
+#
+ABORT "Access denied"
+#
+# Modem initialisation stuff
+#
+TIMEOUT 5
+SAY "Initialising modem ...\n"
+'' ATE1
+'OK\r\n' ATS0=1S11=60X4&K4S42.1=1
+#
+# Now dial our ISP and wait for connection
+#
+SAY "Dialling our ISP ...\n"
+'OK\r\n' ATDT09834657
+TIMEOUT 60
+CONNECT \c
+SAY "Connected ...\n"
+#
+# This is the first stage login, we identify ourself so that the remote
+# system will agree to call us back.
+#
+TIMEOUT 30
+SAY "Sending Callback login ID ...\n"
+name:-BREAK-name: callme
+#
+# From now on, we must assume no carrier is normal as well
+# as receiving a HANGUP signal because it will be the
+# case if our ISP clears the call to call us back.
+#
+CLR_ABORT "NO CARRIER"
+HANGUP OFF
+#
+ABORT "Invalid"
+#
+# Now send password and wait to see what happens
+#
+SAY "Sending Callback password ...\n"
+word:--word: xvsgsgs
+"You will be" \c
+#
+# What can happen now is:
+# either: we get "You will be called back..." which is the successful case
+# or: we get "Invalid login" and we abort (bad login ID or password)
+# or: we get "NO CARRIER" because of an error, this will not abort
+# and we will time out after 30 seconds
+# or: we get nothing and we will time out after 30 seconds
+#
+#
+# We reach here if we got "You will be called back..."
+#
+CLR_ABORT "Invalid"
+SAY "Now waiting for Call back ...\n"
+#
+# The remote system will now hangup and we will get both "NO CARRIER"
+# and a hangup signal which are ignored. We now wait for a connection
+# for up to 120 seconds. What happens here if somebody else calls before
+# the remote system is a bit dangerous:
+#
+# If a malicious user connects and says 'name:', he will see 'PPPuser'
+# If he then says 'word:' he will see the passowrd 'blipblop'. I may not
+# know to which systems these belong to, though. It is up to you to consider
+# that case and decide wether the risk is too big or not ....
+#
+TIMEOUT 120
+"CONNECT" \c
+#
+# We have been called, re-arm ABORT on NO CARRIER and normal hangup signal
+# behaviour
+#
+HANGUP ON
+ABORT "NO CARRIER"
+#
+# Second stage login in order to start PPP
+#
+SAY "Remote system called back, logging in ...\n"
+SAY "Sending login ID ...\n"
+name:-BREAK-name: PPPuser
+SAY "Sending password ...\n"
+word:--word: blipblop
+SAY "Asking to start PPP ...\n"
+'CnetSrv' "ppp default"
+"Entering PPP mode" \c
+SAY "ISP PPP started ...\n"
diff --git a/mdk-stage1/ppp/scripts/chatchat/README b/mdk-stage1/ppp/scripts/chatchat/README
new file mode 100644
index 000000000..88a4c6939
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/chatchat/README
@@ -0,0 +1,134 @@
+v 0.1 gpk@onramp.net 3/27/99
+
+I Intro
+
+ This document covers the use of the modified "chat" program and its
+adjunct "chatchat" to login using the Security Dynamics SecurID card
+on a linux system.
+
+ This set of files comprises a modified version of the chat program
+(the one distributed with ppp-2.3.5) and a new program called chatchat
+that allows you to supply data from the keyboard to the chat program.
+
+ The SecurID card generates passwords that have a lifetime of one
+minute and are used as a first layer in dial up security. The only
+software I know of for this card is for windows, so I wrote my own.
+This software allows you to type in the time-sensitive password right
+when your chat script is asked to supply the passcode by the remote
+system.
+
+
+II How It Works
+
+ This version of chat his an additional command that can be put into
+its options that says "Don't reply with this string. Open this pipe,
+read the contents, and reply with that instead." Chatchat creates a
+pipe and lets you type your passcode into it, then chat picks that up
+and sends it out just as though the passcode was hardcoded into the
+options.
+
+
+III Installation
+
+ I've provided intel binaries and source code the the modified chat
+program and the chatchat program. I'll recommend that you copy the
+chat.c program into your ppp-2.3.5/chat directory (save your original
+chat.c program first!) and re-make it using the Makefile that comes
+with chat. Copy the new chat somewhere into your path. (On my system
+chat lives in /usr/sbin/chat, so I've copied the modified one into
+/usr/sbin/chat.new and changed my dial in script to call chat.new
+instead of chat.
+
+ Second, compile chatchat.c and install it somewhere in your path:
+
+ gcc -g -o chatchat chatchat.c
+ cp chatchat /usr/sbin
+
+ Third, modify your chat script to use the chatchat program. Mine
+looks something like this:
+
+
+ --------------------
+
+#!/bin/sh
+#
+# This is part 2 of the ppp-on script. It will perform the connection
+# protocol for the desired connection.
+# use atm0 to turn down the speaker volume on my sportster x2 voice modem
+# gpk 11/2/97
+
+exec /usr/sbin/chat.new -V -v \
+ ABORT "BUSY" \
+ ABORT "NO DIAL TONE" \
+ ABORT "NO ANSWER" \
+ TIMEOUT 50 \
+ "" "atm0" \
+ OK ATDT$TELEPHONE \
+ CONNECT '' \
+ name: \\da0xxxxxx \
+ word: @/var/tmp/p \
+ compress. ''
+
+
+ -----------------------
+
+ This is a standard chat script:
+
+* abort if the modem is busy, you don't get a dial tone, no one
+ answers, or 50 seconds elapses.
+
+* use atm0 to mute the modem
+
+* dial the modem, when it connects, wait to be asked for account name
+
+* when we see "name:" prompt, delay briefly then respond with your
+ account name (fill in your account name)
+
+Now we get to the new stuff:
+
+* when we see "word:" in the password prompt, instead of responding
+ with "@/var/tmp/p", the modified chat program will open the pipe
+ /var/tmp/p, read the passcode out of there, and send it
+
+* when we see "compress." (the last word before ppp starts), reply
+ with nothing. The script ends and we start ppp.
+
+Note:
+
+* Make sure there is some whitespace between the filename and the \.
+
+
+IV Usage
+
+ To use this install the modified chat and chatchat programs, and
+modify your chat script similar to the above. Before you dial in,
+start that chatchat program giving it the same pipe as in your config
+file. In the above case:
+
+chatchat /var/tmp/p
+
+ Wait until you have one or two tick marks left on your card's
+current number, then start your dial up process that eventually calls
+chat. When chat goes to open and read the pipe, chatchat will prompt:
+
+
+type PIN into SecurID card and
+ enter resulting passcode:
+
+ At that point, type your PIN number into your Securid card, press
+the diamond, and type the resulting numbers in as your passcode. If
+you've left the -V -v options on your chat command you'll see
+everything so out, otherwise it works silently.
+
+ If you type the number wrong or run out of time, the server will
+respond with an authentication failure. In that case you will have to
+hang up and start again. I don't know how to build a conditional script
+that says either expect "compress" next, but if you see "name:" again,
+do this instead.
+
+
+V Additional Information
+
+ You can obtain additional information about chat and ppp from the
+man pages for chat and pppd, as well as the PPP-HOWTO.
+
diff --git a/mdk-stage1/ppp/scripts/chatchat/chatchat.c b/mdk-stage1/ppp/scripts/chatchat/chatchat.c
new file mode 100644
index 000000000..4534fb9e3
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/chatchat/chatchat.c
@@ -0,0 +1,409 @@
+/* *************************************************************************
+* NAME: chatchat.c
+*
+* DESCRIPTION:
+*
+* This program creates a pipe for the chat process to read. The user
+* can supply information (like a password) that will be picked up
+* by chat and sent just like the regular contents of a chat script.
+*
+* Usage is:
+*
+* chatchat <filename>
+*
+* where <filename> matches the option given in the chat script.
+*
+* for instance the chat script fragment:
+*
+* ...
+* name: \\dmyname \
+* word: @/var/tmp/p \
+* ...
+* ^
+* (note: leave some whitespace after the filename)
+*
+* expect "name:", reply with a delay followed by "myname"
+* expect "word:", reply with the data read from the pipe /var/tmp/p
+*
+* the matching usage of chatchat would be:
+*
+* chatchat /var/tmp/p
+*
+* eg:
+*
+* $chatchat /var/tmp/p
+* ...
+* some other process eventually starts:
+* chat ...
+* chat parses the "@/var/tmp/p" option and opens
+* /var/tmp/p
+* (chatchat prompts:)
+*
+* type PIN into SecurID card
+* enter resulting passcode: [user inputs something]
+*
+* chat reads /var/tmp/p & gets what the
+* user typed at chatchat's "enter string" prompt
+* chat removes the pipe file
+* chat sends the user's input as a response in
+* place of "@/var/tmp/p"
+*
+* PROCESS:
+*
+* gcc -g -o chatchat chatchat.c
+*
+*
+* GLOBALS: none
+*
+* REFERENCES:
+*
+* see the man pages and documentation that come with the 'chat' program
+* (part of the ppp package). you will need to use the modified chat
+* program that accepts the '@' operator.
+*
+* LIMITATIONS:
+*
+* REVISION HISTORY:
+*
+* STR Description Author
+*
+* 23-Mar-99 initial coding gpk
+* 12-May-99 unlink the pipe after closing paulus
+*
+* TARGET: ANSI C
+* This program is in the public domain.
+*
+*
+* ************************************************************************* */
+
+
+
+
+#include <sys/time.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+
+/* MAXINPUT - the data typed into chatchat must be fewer */
+/* characters than this. */
+
+#define MAXINPUT 80
+
+
+
+
+
+
+/* *************************************************************************
+
+
+ NAME: main
+
+
+ USAGE:
+
+ int argc;
+ char * argv[];
+
+ main(argc, argv[]);
+
+ returns: int
+
+ DESCRIPTION:
+ if the pipe file name is given on the command line,
+ create the pipe, prompt the user and put whatever
+ is typed into the pipe.
+
+ returns -1 on error
+ else # characters entered
+ REFERENCES:
+
+ LIMITATIONS:
+
+ GLOBAL VARIABLES:
+
+ accessed: none
+
+ modified: none
+
+ FUNCTIONS CALLED:
+
+ REVISION HISTORY:
+
+ STR Description of Revision Author
+
+ 25-Mar-99 initial coding gpk
+
+ ************************************************************************* */
+
+int main(int argc, char * argv[])
+{
+ int retval;
+
+ int create_and_write_pipe(char * pipename);
+
+ if (argc != 2)
+ {
+ fprintf(stderr, "usage: %s pipename\n", argv[0]);
+ retval = -1;
+ }
+ else
+ {
+ retval = create_and_write_pipe(argv[1]);
+ }
+ return (retval);
+}
+
+
+
+
+/* *************************************************************************
+
+
+ NAME: create_and_write_pipe
+
+
+ USAGE:
+
+ int some_int;
+ char * pipename;
+
+ some_int = create_and_write_pipe(pipename);
+
+ returns: int
+
+ DESCRIPTION:
+ given the pipename, create the pipe, open it,
+ prompt the user for a string to put into the
+ pipe, write the string, and close the pipe
+
+ on error, print out an error message and return -1
+
+ returns -1 on error
+ else #bytes written into the pipe
+ REFERENCES:
+
+ LIMITATIONS:
+
+ GLOBAL VARIABLES:
+
+ accessed: none
+
+ modified: none
+
+ FUNCTIONS CALLED:
+
+ REVISION HISTORY:
+
+ STR Description of Revision Author
+
+ 25-Mar-99 initial coding gpk
+ 12-May-99 remove pipe after closing paulus
+
+ ************************************************************************* */
+
+int create_and_write_pipe(char * pipename)
+{
+ int retval, created, pipefd, nread, nwritten;
+ char input[MAXINPUT];
+ char errstring[180];
+
+ int create_pipe(char * pipename);
+ int write_to_pipe(int pipefd, char * input, int nchar);
+
+ created = create_pipe(pipename);
+
+ if (-1 == created)
+ {
+ sprintf(errstring, "unable to create pipe '%s'", pipename);
+ perror(errstring);
+ retval = -1;
+ }
+ else
+ {
+
+ /* note: this open won't succeed until chat has the pipe */
+ /* open and ready to read. this makes for nice timing. */
+
+ pipefd = open(pipename, O_WRONLY);
+
+ if (-1 == pipefd)
+ {
+ sprintf(errstring, "unable to open pipe '%s'", pipename);
+ perror(errstring);
+ retval = -1;
+ }
+ else
+ {
+ fprintf(stderr, "%s \n %s",
+ "type PIN into SecurID card and",
+ "enter resulting passcode:");
+ nread = read(STDIN_FILENO, (void *)input, MAXINPUT);
+
+
+ if (0 >= nread)
+ {
+ perror("unable to read from stdin");
+ retval = -1;
+ }
+ else
+ {
+ /* munch off the newline character, chat supplies */
+ /* a return when it sends the string out. */
+ input[nread -1] = 0;
+ nread--;
+ nwritten = write_to_pipe(pipefd, input, nread);
+ /* printf("wrote [%d]: '%s'\n", nwritten, input); */
+ retval = nwritten;
+ }
+ close(pipefd);
+
+ /* Now make the pipe go away. It won't actually go away
+ completely until chat closes it. */
+ if (unlink(pipename) < 0)
+ perror("Warning: couldn't remove pipe");
+ }
+ }
+ return(retval);
+}
+
+
+
+
+
+
+
+/* *************************************************************************
+
+
+ NAME: create_pipe
+
+
+ USAGE:
+
+ int some_int;
+ char * pipename;
+
+ some_int = create_pipe(pipename);
+
+ returns: int
+
+ DESCRIPTION:
+ create a pipe of the given name
+
+ if there is an error (like the pipe already exists)
+ print an error message and return
+
+ return -1 on failure else success
+
+ REFERENCES:
+
+ LIMITATIONS:
+
+ GLOBAL VARIABLES:
+
+ accessed: none
+
+ modified: none
+
+ FUNCTIONS CALLED:
+
+ REVISION HISTORY:
+
+ STR Description of Revision Author
+
+ 25-Mar-99 initial coding gpk
+
+ ************************************************************************* */
+
+int create_pipe(char * pipename)
+{
+ mode_t old_umask;
+ int created;
+
+ /* hijack the umask temporarily to get the mode I want */
+ /* on the pipe. */
+
+ old_umask = umask(000);
+
+ created = mknod(pipename, S_IFIFO | S_IRWXU | S_IWGRP | S_IWOTH,
+ (dev_t)NULL);
+
+ /* now restore umask. */
+
+ (void)umask(old_umask);
+
+ if (-1 == created)
+ {
+ perror("unable to create pipe");
+ }
+
+ return(created);
+}
+
+
+
+
+
+
+/* *************************************************************************
+
+
+ NAME: write_to_pipe
+
+
+ USAGE:
+
+ int some_int;
+ int pipefd;
+ char * input;
+ int nchar;
+
+ some_int = write_to_pipe(pipefd, input, nchar);
+
+ returns: int
+
+ DESCRIPTION:
+ write nchars of data from input to pipefd
+
+ on error print a message to stderr
+
+ return -1 on error, else # bytes written
+ REFERENCES:
+
+ LIMITATIONS:
+
+ GLOBAL VARIABLES:
+
+ accessed: none
+
+ modified: none
+
+ FUNCTIONS CALLED:
+
+ REVISION HISTORY:
+
+ STR Description of Revision Author
+
+ 25-Mar-99 initial coding gpk
+ 12-May-99 don't write count word first paulus
+
+ ************************************************************************* */
+
+int write_to_pipe(int pipefd, char * input, int nchar)
+{
+ int nwritten;
+
+ /* nwritten = write(pipefd, (void *)&nchar, sizeof(nchar)); */
+ nwritten = write(pipefd, (void *)input, nchar);
+
+ if (-1 == nwritten)
+ {
+ perror("unable to write to pipe");
+ }
+
+ return(nwritten);
+}
diff --git a/mdk-stage1/ppp/scripts/ip-down.local.add b/mdk-stage1/ppp/scripts/ip-down.local.add
new file mode 100644
index 000000000..b93590e49
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ip-down.local.add
@@ -0,0 +1,20 @@
+
+#
+# This sample code shows you one way to modify your setup to allow automatic
+# configuration of your resolv.conf for peer supplied DNS addresses when using
+# the `usepeerdns' option.
+#
+# In my case I just added this to my /etc/ppp/ip-down.local script. You may need to
+# create an executable script if one does not exist.
+#
+# Nick Walker (nickwalker@email.com)
+#
+
+if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
+ if [ -f /etc/ppp/resolv.prev ]; then
+ cp -f /etc/ppp/resolv.prev /etc/resolv.conf
+ else
+ rm -f /etc/resolv.conf
+ fi
+fi
+
diff --git a/mdk-stage1/ppp/scripts/ip-up.local.add b/mdk-stage1/ppp/scripts/ip-up.local.add
new file mode 100644
index 000000000..80172093a
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ip-up.local.add
@@ -0,0 +1,24 @@
+
+#
+# This sample code shows you one way to modify your setup to allow automatic
+# configuration of your resolv.conf for peer supplied DNS addresses when using
+# the `usepeerdns' option.
+#
+# In my case I just added this to my /etc/ppp/ip-up.local script. You may need to
+# create an executable script if one does not exist.
+#
+# Nick Walker (nickwalker@email.com)
+#
+
+if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
+ rm -f /etc/ppp/resolv.prev
+ if [ -f /etc/resolv.conf ]; then
+ cp /etc/resolv.conf /etc/ppp/resolv.prev
+ grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
+ grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
+ cat /etc/ppp/resolv.conf >> /etc/resolv.conf
+ else
+ cp /etc/ppp/resolv.conf /etc
+ fi
+fi
+
diff --git a/mdk-stage1/ppp/scripts/options-rsh-loc b/mdk-stage1/ppp/scripts/options-rsh-loc
new file mode 100644
index 000000000..b015b87fe
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/options-rsh-loc
@@ -0,0 +1 @@
+debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-rsh-rem b/mdk-stage1/ppp/scripts/options-rsh-rem
new file mode 100644
index 000000000..4b10bb9e9
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/options-rsh-rem
@@ -0,0 +1 @@
+notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1460
diff --git a/mdk-stage1/ppp/scripts/options-ssh-loc b/mdk-stage1/ppp/scripts/options-ssh-loc
new file mode 100644
index 000000000..add03d659
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/options-ssh-loc
@@ -0,0 +1 @@
+debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/options-ssh-rem b/mdk-stage1/ppp/scripts/options-ssh-rem
new file mode 100644
index 000000000..d690722c6
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/options-ssh-rem
@@ -0,0 +1 @@
+notty debug asyncmap FFFFFFFF escape FF kdebug 0 noipdefault nodefaultroute noauth mtu 1400
diff --git a/mdk-stage1/ppp/scripts/ppp-off b/mdk-stage1/ppp/scripts/ppp-off
new file mode 100755
index 000000000..a22b5ea3d
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ppp-off
@@ -0,0 +1,34 @@
+#!/bin/sh
+######################################################################
+#
+# Determine the device to be terminated.
+#
+if [ "$1" = "" ]; then
+ DEVICE=ppp0
+else
+ DEVICE=$1
+fi
+
+######################################################################
+#
+# If the ppp0 pid file is present then the program is running. Stop it.
+if [ -r /var/run/$DEVICE.pid ]; then
+ kill -INT `cat /var/run/$DEVICE.pid`
+#
+# If the kill did not work then there is no process running for this
+# pid. It may also mean that the lock file will be left. You may wish
+# to delete the lock file at the same time.
+ if [ ! "$?" = "0" ]; then
+ rm -f /var/run/$DEVICE.pid
+ echo "ERROR: Removed stale pid file"
+ exit 1
+ fi
+#
+# Success. Let pppd clean up its own junk.
+ echo "PPP link to $DEVICE terminated."
+ exit 0
+fi
+#
+# The ppp process is not running for ppp0
+echo "ERROR: PPP link is not active on $DEVICE"
+exit 1
diff --git a/mdk-stage1/ppp/scripts/ppp-on b/mdk-stage1/ppp/scripts/ppp-on
new file mode 100755
index 000000000..ab79db471
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ppp-on
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Script to initiate a ppp connection. This is the first part of the
+# pair of scripts. This is not a secure pair of scripts as the codes
+# are visible with the 'ps' command. However, it is simple.
+#
+# These are the parameters. Change as needed.
+TELEPHONE=555-1212 # The telephone number for the connection
+ACCOUNT=george # The account name for logon (as in 'George Burns')
+PASSWORD=gracie # The password for this account (and 'Gracie Allen')
+LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
+REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
+NETMASK=255.255.255.0 # The proper netmask if needed
+#
+# Export them so that they will be available at 'ppp-on-dialer' time.
+export TELEPHONE ACCOUNT PASSWORD
+#
+# This is the location of the script which dials the phone and logs
+# in. Please use the absolute file name as the $PATH variable is not
+# used on the connect option. (To do so on a 'root' account would be
+# a security hole so don't ask.)
+#
+DIALER_SCRIPT=/etc/ppp/ppp-on-dialer
+#
+# Initiate the connection
+#
+# I put most of the common options on this command. Please, don't
+# forget the 'lock' option or some programs such as mgetty will not
+# work. The asyncmap and escape will permit the PPP link to work with
+# a telnet or rlogin connection. You are welcome to make any changes
+# as desired. Don't use the 'defaultroute' option if you currently
+# have a default route to an ethernet gateway.
+#
+exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyS0 38400 \
+ asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
+ noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
diff --git a/mdk-stage1/ppp/scripts/ppp-on-dialer b/mdk-stage1/ppp/scripts/ppp-on-dialer
new file mode 100755
index 000000000..7d66765f1
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ppp-on-dialer
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# This is part 2 of the ppp-on script. It will perform the connection
+# protocol for the desired connection.
+#
+exec chat -v \
+ TIMEOUT 3 \
+ ABORT '\nBUSY\r' \
+ ABORT '\nNO ANSWER\r' \
+ ABORT '\nRINGING\r\n\r\nRINGING\r' \
+ '' \rAT \
+ 'OK-+++\c-OK' ATH0 \
+ TIMEOUT 30 \
+ OK ATDT$TELEPHONE \
+ CONNECT '' \
+ ogin:--ogin: $ACCOUNT \
+ assword: $PASSWORD
diff --git a/mdk-stage1/ppp/scripts/ppp-on-rsh b/mdk-stage1/ppp/scripts/ppp-on-rsh
new file mode 100755
index 000000000..30a50dba6
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ppp-on-rsh
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# A sample script to establish PPP session(s) via rsh
+#
+# Adi Masputra <adi.masputra@sun.com>
+# Jan 24, 2000
+#
+
+#
+# You'd definitely want to change the following addresses to suit
+# your network configuration
+#
+LOC_IP=10.0.0.1
+REM_IP=10.0.0.2
+NETMASK=255.255.0.0
+
+export LOC_IP REM_IP
+
+#
+# This is the remote peer where in.rshd is running, either
+# its hostname or IP address
+#
+PPPD_RHOST=myremotehost
+
+#
+# For this example, we assume that pppd on both local and remote
+# machines reside in the same place, /usr/local/bin/pppd
+#
+PPPD_LOC=/usr/local/bin/pppd
+
+#
+# The location of local options file (where rsh client is running).
+# Note that the sample options file included in the distribution
+# may need further customizations, depending on your needs. The 'noauth'
+# option specified in the file is there to simplify the example. In
+# reality, you'd probably want to remove such option.
+#
+PPPD_LOC_OPT=/etc/ppp/options-rsh-loc
+
+#
+# The location of remote options file (where in.rshd daemon is running).
+# Note that the sample options file included in the distribution
+# may need further customizations, depending on your needs. The 'noauth'
+# option specified in the file is there to simplify the example. In
+# reality, you'd probably want to remove such option. Also note that
+# the remote options file need to include the 'notty' option for this
+# to work
+#
+PPPD_REM_OPT=/etc/ppp/options-rsh-rem
+
+#
+# The location of rsh client on the local machine
+#
+RSH_LOC=/bin/rsh
+
+export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST RSH_LOC
+
+#
+# Uncomment the following to enable IPv6, note that the IPv6 support
+# needs to be enabled during compilation
+#
+# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
+export PPPD_IPV6
+
+#
+# And execute pppd with the pty option, specifying rsh client as the
+# slave side of the pseduo-tty master/slave pair.
+#
+exec $PPPD_LOC \
+ pty '$RSH_LOC $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
+ $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
+
diff --git a/mdk-stage1/ppp/scripts/ppp-on-ssh b/mdk-stage1/ppp/scripts/ppp-on-ssh
new file mode 100755
index 000000000..0e41acac6
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/ppp-on-ssh
@@ -0,0 +1,76 @@
+#!/bin/sh
+#
+# A sample script to establish PPP session(s) via SSH 1.x
+#
+# Adi Masputra <adi.masputra@sun.com>
+# Jan 24, 2000
+#
+
+#
+# You'd definitely want to change the following addresses to suit
+# your network configuration
+#
+LOC_IP=10.0.0.1
+REM_IP=10.0.0.2
+NETMASK=255.255.0.0
+
+export LOC_IP REM_IP
+
+#
+# This is the remote peer where sshd is running, either
+# its hostname or IP address
+#
+PPPD_RHOST=myremotehost
+
+#
+# For this example, we assume that pppd on both local and remote
+# machines reside in the same place, /usr/local/bin/pppd
+#
+PPPD_LOC=/usr/local/bin/pppd
+
+#
+# The location of local options file (where ssh client is running).
+# Note that the sample options file included in the distribution
+# may need further customizations, depending on your needs. The 'noauth'
+# option specified in the file is there to simplify the example, although
+# some may choose to have it there and rely on ssh authentication
+# instead.
+#
+PPPD_LOC_OPT=/etc/ppp/options-ssh-loc
+
+#
+# The location of remote options file (where sshd daemon is running)
+# Note that the sample options file included in the distribution
+# may need further customizations, depending on your needs. The 'noauth'
+# option specified in the file is there to simplify the example, although
+# some may choose to have it there and rely on ssh authentication
+# instead. Also note that the remote options file need to include the 'notty'
+# options for this to work.
+#
+PPPD_REM_OPT=/etc/ppp/options-ssh-rem
+
+#
+# The location of ssh client on the local machine
+#
+SSH_LOC=/usr/local/bin/ssh
+
+export PPPD_LOC PPPD_LOC_OPT PPPD_REM_OPT PPPD_RHOST SSH_LOC
+
+#
+# Uncomment the following to enable IPv6, note that the IPv6 support
+# needs to be enabled during compilation
+#
+# PPPD_IPV6='+ipv6 ipv6cp-use-ipaddr'
+export PPPD_IPV6
+
+#
+# And execute pppd with the pty option, specifying ssh client as the
+# slave side of the pseudo-tty master/slave pair. Note that on this example,
+# ssh has been compiled to allow NULL encryption (thus the '-c none' option),
+# but in reality, you'd probably want to specify the encryption algorithm.
+# See the man page of ssh(1) for details.
+#
+exec $PPPD_LOC \
+ pty '$SSH_LOC -c none $PPPD_RHOST $PPPD_LOC $REM_IP:$LOC_IP $PPPD_IPV6 file $PPPD_REM_OPT' \
+ $LOC_IP:$REM_IP netmask $NETMASK $PPPD_IPV6 file $PPPD_LOC_OPT
+
diff --git a/mdk-stage1/ppp/scripts/redialer b/mdk-stage1/ppp/scripts/redialer
new file mode 100755
index 000000000..5bbde4e9d
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/redialer
@@ -0,0 +1,96 @@
+#!/bin/sh
+###################################################################
+#
+# These parameters control the attack dialing sequence.
+#
+# Maximum number of attempts to reach the telephone number(s)
+MAX_ATTEMPTS=10
+
+# Delay between each of the attempts. This is a parameter to sleep
+# so use "15s" for 15 seconds, "1m" for 1 minute, etc.
+SLEEP_DELAY=15s
+
+###################################################################
+#
+# This is a list of telephone numbers. Add new numbers if you wish
+# and see the function 'callall' below for the dial process.
+PHONE1=555-1212
+PHONE2=411
+
+###################################################################
+#
+# If you use the ppp-on script, then these are passed to this routine
+# automatically. There is no need to define them here. If not, then
+# you will need to set the values.
+#
+ACCOUNT=my_account_name
+PASSWORD=my_password
+
+###################################################################
+#
+# Function to initialize the modem and ensure that it is in command
+# state. This may not be needed, but it doesn't hurt.
+#
+function initialize
+{
+ chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK'
+ return
+}
+
+###################################################################
+#
+# Script to dial a telephone
+#
+function callnumber
+{
+chat -v \
+ ABORT '\nBUSY\r' \
+ ABORT '\nNO ANSWER\r' \
+ ABORT '\nRINGING\r\n\r\nRINGING\r' \
+ '' ATDT$1 \
+ CONNECT '' \
+ ogin:--ogin: $ACCOUNT \
+ assword: $PASSWORD
+#
+# If the connection was successful then end the whole script with a
+# success.
+#
+ if [ "$?" = "0" ]; then
+ exit 0
+ fi
+
+ return
+}
+
+###################################################################
+#
+# Script to dial any telephone number
+#
+function callall
+{
+# echo "dialing attempt number: $1" >/dev/console
+ callnumber $PHONE1
+# callnumber $PHONE2
+}
+
+###################################################################
+#
+# Initialize the modem to ensure that it is in the command state
+#
+initialize
+if [ ! "$?" = "0" ]; then
+ exit 1
+fi
+
+#
+# Dial telephone numbers until one answers
+#
+attempt=0
+while : ; do
+ attempt=`expr $attempt + 1`
+ callall $attempt
+ if [ "$attempt" = "$MAX_ATTEMPTS" ]; then
+ exit 1
+ fi
+ sleep "$SLEEP_DELAY"
+done
diff --git a/mdk-stage1/ppp/scripts/secure-card b/mdk-stage1/ppp/scripts/secure-card
new file mode 100644
index 000000000..a32138b7d
--- /dev/null
+++ b/mdk-stage1/ppp/scripts/secure-card
@@ -0,0 +1,111 @@
+#!/usr/local/bin/expect -f
+#
+# This script was written by Jim Isaacson <jcisaac@crl.com>. It is
+# designed to work as a script to use the SecureCARD(tm) device. This
+# little device is mated with a central controller. The number displayed
+# on this card changes every so often and you need to enter the number
+# along with your user account name in order to gain access. Since chat
+# is based upon fixed strings this procedure will not work with chat.
+#
+# It is included by permission. An excellent reference for the expect
+# program used by this script is in the book:
+#
+# "Exploring Expect"
+# by Don Libes
+# Published by O'Rielly and Associates
+#
+
+send_user "hello, starting ppp\n"
+
+system "stty 19200 -echoe -echo raw < /dev/cua3 > /dev/cua3"
+
+#
+# These are the parameters for the program.
+#
+set user Pxxxxxx
+set password xxxxxxx
+set modem /dev/cua3
+set dialup <put phone number here>
+set timeout 60
+
+spawn -noecho -open [open $modem "r+"]
+
+send "AT&F\r"
+expect "OK"
+
+send "ATe0v1x4&c1q0&d2&c1s2=128s0=0DT $dialup\r"
+set timeout 15
+set counter 0
+
+set still_connecting 1
+
+expect {
+ -re ".*CONNECT.*\n" {
+ set timeout 5
+ set still_connecting 0
+ continue -expect
+ }
+ -re ".*CONNECT.*\r" {
+ set timeout 5
+ set still_connecting 0
+ continue -expect
+ }
+ -re ".*NO.*CARRIER" {
+ send_user "Failed to Connect, exiting...\n"
+ exit
+ }
+ -re ".*NO.*DIAL.*TONE" {
+ send_user "Failed to Connect, exiting...\n"
+ exit
+ }
+ -re ".*VOICE" {
+ send_user "Failed to Connect, exiting...\n"
+ exit
+ }
+ -re ".*sscode:.*\n" {
+ continue -expect
+ }
+ -re ".*sscode:" {
+ set timeout -1
+ expect_user -re "(.*)\n"
+ send "$expect_out(1,string)\r"
+ set timeout 30
+ continue -expect
+ }
+ -re ".*Next.*:" {
+ set timeout -1
+ expect_user -re "(.*)\n"
+ send "$expect_out(1,string)\r"
+ set timeout 30
+ continue -expect
+ }
+ -re "Your.*" {
+ send "\r"
+ continue -expect
+ }
+ -re ".*in:" {
+ send "$user\r"
+ continue -expect
+ }
+ -re ".*word:" {
+ send "$password\r"
+ }
+
+ timeout {
+ if { $still_connecting > 0 } {
+ continue -expect
+ }
+ set timeout 15
+ send "\r"
+ incr counter
+ if { $counter > 8 } {
+ send_user "Cannot Connect\n"
+ exit
+ } else {
+ continue -expect
+ }
+ }
+}
+
+overlay -0 $spawn_id -1 $spawn_id pppd /dev/cua3 19200 192.111.187.215: \
+ crtscts modem defaultroute debug
diff --git a/mdk-stage1/ppp/solaris/Makedefs b/mdk-stage1/ppp/solaris/Makedefs
new file mode 100644
index 000000000..81db8ab2e
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/Makedefs
@@ -0,0 +1,16 @@
+#
+# defines common to several Makefiles
+#
+
+INSTALL= /usr/sbin/install
+
+BINDIR = /usr/local/bin
+MANDIR = /usr/local/man
+ETCDIR = /etc/ppp
+
+COPTS = -O -Xa
+
+# For compiling with gcc, comment out the COPTS definition above and
+# uncomment the next 2 definitions.
+#CC = gcc
+#COPTS = -O2
diff --git a/mdk-stage1/ppp/solaris/Makedefs.sol2 b/mdk-stage1/ppp/solaris/Makedefs.sol2
new file mode 100644
index 000000000..d3db6b394
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/Makedefs.sol2
@@ -0,0 +1,59 @@
+#
+# Generic make definitions for Solaris 2
+#
+# $Id: Makedefs.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../solaris/Makedefs
+
+CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
+CFLAGS = $(CPPFLAGS) $(COPTS)
+
+# lint-specific variables
+LINT = lint
+LINT_OPT_32 =
+LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
+
+LINT_32 =
+LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
+LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
+LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
+LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
+LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
+LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
+LINT_32 += -erroff=E_FUNC_ARG_UNUSED
+# This might be needed, but zlib.c and vjcompress.c will squawk
+# when not ignored
+LINT_32 += -erroff=E_CASE_FALLTHRU
+LINT_32 += -erroff=E_RET_INT_IMPLICITLY
+LINT_32 += -erroff=E_FUNC_NO_RET_VAL
+# Some STREAMS macros will be noisy too when this isn't ignored
+LINT_32 += -erroff=E_CONSTANT_CONDITION
+LINT_32 += -erroff=E_CONST_EXPR
+
+# Extra noise suppressant for 64-bit
+EXTRA_OFF =
+EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
+EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
+EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
+EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
+EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
+EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
+EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
+EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
+EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
+EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
+
+LINT_64 = $(LINT_32)
+LINT_64 += $(EXTRA_OFF)
+
+LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
+LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
+
+LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
+LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
+
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2 b/mdk-stage1/ppp/solaris/Makefile.sol2
new file mode 100644
index 000000000..2b7598abd
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/Makefile.sol2
@@ -0,0 +1,66 @@
+#
+# Makefile for STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include Makedefs.sol2
+
+COPTS += -xO2 -xspace -W0,-Lt
+
+COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
+ ppp_comp_mod.o
+
+all: ppp ppp_ahdl ppp_comp
+
+ppp: ppp.o ppp_mod.o
+ ld -r -o $@ ppp.o ppp_mod.o
+ chmod +x $@
+
+ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
+ ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
+ chmod +x $@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $@ $(COMP_OBJS)
+ chmod +x $@
+
+bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $?
+deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $?
+ppp.o: ppp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc.o: ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp.o: ppp_comp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $?
+vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $?
+zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $?
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT32) $(SRCS)
+
+clean:
+ rm -f ppp ppp_comp ppp_ahdl *.o *~ core
+ rm -f *.ln
diff --git a/mdk-stage1/ppp/solaris/Makefile.sol2-64 b/mdk-stage1/ppp/solaris/Makefile.sol2-64
new file mode 100644
index 000000000..4d9a7f6da
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/Makefile.sol2-64
@@ -0,0 +1,85 @@
+#
+# Makefile for 64-bit STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2-64 6001 2001-06-11 11:44:34Z gc $
+#
+
+include Makedefs.sol2
+
+# Sun's cc flag for LP64 compilation / linkage
+COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
+
+# subdirectory where 64-bit objects / binaries will be placed
+LP64DIR = sparcv9
+
+# Name of legacy Makefile (for 32-bit binaries)
+STD_MAKE = Makefile.sol2
+
+COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
+ $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
+ $(LP64DIR)/ppp_comp_mod.o
+
+all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
+
+std_objs:
+ $(MAKE) -f $(STD_MAKE) all
+
+ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
+ chmod +x $(LP64DIR)/$@
+
+$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp.o: ppp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc.o: ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp.o: ppp_comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $? -o $@
+
+$(LP64DIR):
+ mkdir -m 755 -p $@
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
+ cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ppp.c ppp_mod.c ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT64) $(SRCS)
+
+lint-32:
+ $(LINT32) $(SRCS)
+
+clean:
+ $(MAKE) -f $(STD_MAKE) clean
+ rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/solaris/Makefile.top b/mdk-stage1/ppp/solaris/Makefile.top
new file mode 100644
index 000000000..ceccdfe2f
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/Makefile.top
@@ -0,0 +1,50 @@
+#
+# ppp top level makefile for SVR4 and Solaris 2
+#
+# $Id: Makefile.top 6001 2001-06-11 11:44:34Z gc $
+#
+
+include solaris/Makedefs
+
+all:
+ cd chat; $(MAKE) all
+ cd pppd; $(MAKE) all
+ cd pppstats; $(MAKE) all
+ cd pppdump; $(MAKE) all
+ cd solaris; $(MAKE) all
+
+install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
+
+install-progs:
+ cd chat; $(MAKE) install
+ cd pppd; $(MAKE) install
+ cd pppstats; $(MAKE) install
+ cd pppdump; $(MAKE) install
+ cd solaris; $(MAKE) install
+
+install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
+ $(ETCDIR)/chap-secrets
+
+$(ETCDIR)/options:
+ cp etc.ppp/options $@
+ chmod go-w $@
+$(ETCDIR)/pap-secrets:
+ $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
+$(ETCDIR)/chap-secrets:
+ $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
+
+$(BINDIR):
+ mkdir -m 755 -p $@
+$(MANDIR)/man8:
+ mkdir -m 755 -p $@
+$(ETCDIR):
+ mkdir -m 755 -p $@
+
+clean:
+ rm -f *~
+ cd chat; $(MAKE) clean
+ cd pppd; $(MAKE) clean
+ cd pppstats; $(MAKE) clean
+ cd pppdump; $(MAKE) clean
+ cd solaris; $(MAKE) clean
+
diff --git a/mdk-stage1/ppp/solaris/ppp.c b/mdk-stage1/ppp/solaris/ppp.c
new file mode 100644
index 000000000..c7f7bc440
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp.c
@@ -0,0 +1,2486 @@
+/*
+ * ppp.c - STREAMS multiplexing pseudo-device driver for PPP.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/errno.h>
+#ifdef __osf__
+#include <sys/ioctl.h>
+#include <sys/cmn_err.h>
+#define queclass(mp) ((mp)->b_band & QPCTL)
+#else
+#include <sys/ioccom.h>
+#endif
+#include <sys/time.h>
+#ifdef SVR4
+#include <sys/cmn_err.h>
+#include <sys/conf.h>
+#include <sys/dlpi.h>
+#include <sys/ddi.h>
+#ifdef SOL2
+#include <sys/ksynch.h>
+#include <sys/kstat.h>
+#include <sys/sunddi.h>
+#include <sys/ethernet.h>
+#else
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <net/if.h>
+#include <netinet/in.h>
+#endif /* SOL2 */
+#else /* not SVR4 */
+#include <sys/user.h>
+#endif /* SVR4 */
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+/*
+ * Modifications marked with #ifdef PRIOQ are for priority queueing of
+ * interactive traffic, and are due to Marko Zec <zec@japa.tel.fer.hr>.
+ */
+#ifdef PRIOQ
+#endif /* PRIOQ */
+
+#include <netinet/in.h> /* leave this outside of PRIOQ for htons */
+
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+
+/*
+ * The IP module may use this SAP value for IP packets.
+ */
+#ifndef ETHERTYPE_IP
+#define ETHERTYPE_IP 0x800
+#endif
+
+#if !defined(ETHERTYPE_IPV6)
+#define ETHERTYPE_IPV6 0x86dd
+#endif /* !defined(ETHERTYPE_IPV6) */
+
+#if !defined(ETHERTYPE_ALLSAP) && defined(SOL2)
+#define ETHERTYPE_ALLSAP 0
+#endif /* !defined(ETHERTYPE_ALLSAP) && defined(SOL2) */
+
+#if !defined(PPP_ALLSAP) && defined(SOL2)
+#define PPP_ALLSAP PPP_ALLSTATIONS
+#endif /* !defined(PPP_ALLSAP) && defined(SOL2) */
+
+extern time_t time;
+
+#ifdef SOL2
+/*
+ * We use this reader-writer lock to ensure that the lower streams
+ * stay connected to the upper streams while the lower-side put and
+ * service procedures are running. Essentially it is an existence
+ * lock for the upper stream associated with each lower stream.
+ */
+krwlock_t ppp_lower_lock;
+#define LOCK_LOWER_W rw_enter(&ppp_lower_lock, RW_WRITER)
+#define LOCK_LOWER_R rw_enter(&ppp_lower_lock, RW_READER)
+#define TRYLOCK_LOWER_R rw_tryenter(&ppp_lower_lock, RW_READER)
+#define UNLOCK_LOWER rw_exit(&ppp_lower_lock)
+
+#define MT_ENTER(x) mutex_enter(x)
+#define MT_EXIT(x) mutex_exit(x)
+
+/*
+ * Notes on multithreaded implementation for Solaris 2:
+ *
+ * We use an inner perimeter around each queue pair and an outer
+ * perimeter around the whole driver. The inner perimeter is
+ * entered exclusively for all entry points (open, close, put,
+ * service). The outer perimeter is entered exclusively for open
+ * and close and shared for put and service. This is all done for
+ * us by the streams framework.
+ *
+ * I used to think that the perimeters were entered for the lower
+ * streams' put and service routines as well as for the upper streams'.
+ * Because of problems experienced by people, and after reading the
+ * documentation more closely, I now don't think that is true. So we
+ * now use ppp_lower_lock to give us an existence guarantee on the
+ * upper stream controlling each lower stream.
+ *
+ * Shared entry to the outer perimeter protects the existence of all
+ * the upper streams and their upperstr_t structures, and guarantees
+ * that the following fields of any upperstr_t won't change:
+ * nextmn, next, nextppa. It guarantees that the lowerq field of an
+ * upperstr_t won't go from non-zero to zero, that the global `ppas'
+ * won't change and that the no lower stream will get unlinked.
+ *
+ * Shared (reader) access to ppa_lower_lock guarantees that no lower
+ * stream will be unlinked and that the lowerq field of all upperstr_t
+ * structures won't change.
+ */
+
+#else /* SOL2 */
+#define LOCK_LOWER_W 0
+#define LOCK_LOWER_R 0
+#define TRYLOCK_LOWER_R 1
+#define UNLOCK_LOWER 0
+#define MT_ENTER(x) 0
+#define MT_EXIT(x) 0
+
+#endif /* SOL2 */
+
+/*
+ * Private information; one per upper stream.
+ */
+typedef struct upperstr {
+ minor_t mn; /* minor device number */
+ struct upperstr *nextmn; /* next minor device */
+ queue_t *q; /* read q associated with this upper stream */
+ int flags; /* flag bits, see below */
+ int state; /* current DLPI state */
+ int sap; /* service access point */
+ int req_sap; /* which SAP the DLPI client requested */
+ struct upperstr *ppa; /* control stream for our ppa */
+ struct upperstr *next; /* next stream for this ppa */
+ uint ioc_id; /* last ioctl ID for this stream */
+ enum NPmode npmode; /* what to do with packets on this SAP */
+ unsigned char rblocked; /* flow control has blocked upper read strm */
+ /* N.B. rblocked is only changed by control stream's put/srv procs */
+ /*
+ * There is exactly one control stream for each PPA.
+ * The following fields are only used for control streams.
+ */
+ int ppa_id;
+ queue_t *lowerq; /* write queue attached below this PPA */
+ struct upperstr *nextppa; /* next control stream */
+ int mru;
+ int mtu;
+ struct pppstat stats; /* statistics */
+ time_t last_sent; /* time last NP packet sent */
+ time_t last_recv; /* time last NP packet rcvd */
+#ifdef SOL2
+ kmutex_t stats_lock; /* lock for stats updates */
+ kstat_t *kstats; /* stats for netstat */
+#endif /* SOL2 */
+#ifdef LACHTCP
+ int ifflags;
+ char ifname[IFNAMSIZ];
+ struct ifstats ifstats;
+#endif /* LACHTCP */
+} upperstr_t;
+
+/* Values for flags */
+#define US_PRIV 1 /* stream was opened by superuser */
+#define US_CONTROL 2 /* stream is a control stream */
+#define US_BLOCKED 4 /* flow ctrl has blocked lower write stream */
+#define US_LASTMOD 8 /* no PPP modules below us */
+#define US_DBGLOG 0x10 /* log various occurrences */
+#define US_RBLOCKED 0x20 /* flow ctrl has blocked upper read stream */
+
+#if defined(SOL2)
+#if DL_CURRENT_VERSION >= 2
+#define US_PROMISC 0x40 /* stream is promiscuous */
+#endif /* DL_CURRENT_VERSION >= 2 */
+#define US_RAWDATA 0x80 /* raw M_DATA, no DLPI header */
+#endif /* defined(SOL2) */
+
+#ifdef PRIOQ
+static u_char max_band=0;
+static u_char def_band=0;
+
+#define IPPORT_DEFAULT 65535
+
+/*
+ * Port priority table
+ * Highest priority ports are listed first, lowest are listed last.
+ * ICMP & packets using unlisted ports will be treated as "default".
+ * If IPPORT_DEFAULT is not listed here, "default" packets will be
+ * assigned lowest priority.
+ * Each line should be terminated with "0".
+ * Line containing only "0" marks the end of the list.
+ */
+
+static u_short prioq_table[]= {
+ 113, 53, 0,
+ 22, 23, 513, 517, 518, 0,
+ 514, 21, 79, 111, 0,
+ 25, 109, 110, 0,
+ IPPORT_DEFAULT, 0,
+ 20, 70, 80, 8001, 8008, 8080, 0, /* 8001,8008,8080 - common proxy ports */
+0 };
+
+#endif /* PRIOQ */
+
+
+static upperstr_t *minor_devs = NULL;
+static upperstr_t *ppas = NULL;
+
+#ifdef SVR4
+static int pppopen __P((queue_t *, dev_t *, int, int, cred_t *));
+static int pppclose __P((queue_t *, int, cred_t *));
+#else
+static int pppopen __P((queue_t *, int, int, int));
+static int pppclose __P((queue_t *, int));
+#endif /* SVR4 */
+static int pppurput __P((queue_t *, mblk_t *));
+static int pppuwput __P((queue_t *, mblk_t *));
+static int pppursrv __P((queue_t *));
+static int pppuwsrv __P((queue_t *));
+static int ppplrput __P((queue_t *, mblk_t *));
+static int ppplwput __P((queue_t *, mblk_t *));
+static int ppplrsrv __P((queue_t *));
+static int ppplwsrv __P((queue_t *));
+#ifndef NO_DLPI
+static void dlpi_request __P((queue_t *, mblk_t *, upperstr_t *));
+static void dlpi_error __P((queue_t *, upperstr_t *, int, int, int));
+static void dlpi_ok __P((queue_t *, int));
+#endif
+static int send_data __P((mblk_t *, upperstr_t *));
+static void new_ppa __P((queue_t *, mblk_t *));
+static void attach_ppa __P((queue_t *, mblk_t *));
+static void detach_ppa __P((queue_t *, mblk_t *));
+static void detach_lower __P((queue_t *, mblk_t *));
+static void debug_dump __P((queue_t *, mblk_t *));
+static upperstr_t *find_dest __P((upperstr_t *, int));
+#if defined(SOL2)
+static upperstr_t *find_promisc __P((upperstr_t *, int));
+static mblk_t *prepend_ether __P((upperstr_t *, mblk_t *, int));
+static mblk_t *prepend_udind __P((upperstr_t *, mblk_t *, int));
+static void promisc_sendup __P((upperstr_t *, mblk_t *, int, int));
+#endif /* defined(SOL2) */
+static int putctl2 __P((queue_t *, int, int, int));
+static int putctl4 __P((queue_t *, int, int, int));
+static int pass_packet __P((upperstr_t *ppa, mblk_t *mp, int outbound));
+#ifdef FILTER_PACKETS
+static int ip_hard_filter __P((upperstr_t *ppa, mblk_t *mp, int outbound));
+#endif /* FILTER_PACKETS */
+
+#define PPP_ID 0xb1a6
+static struct module_info ppp_info = {
+#ifdef PRIOQ
+ PPP_ID, "ppp", 0, 512, 512, 384
+#else
+ PPP_ID, "ppp", 0, 512, 512, 128
+#endif /* PRIOQ */
+};
+
+static struct qinit pppurint = {
+ pppurput, pppursrv, pppopen, pppclose, NULL, &ppp_info, NULL
+};
+
+static struct qinit pppuwint = {
+ pppuwput, pppuwsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+static struct qinit ppplrint = {
+ ppplrput, ppplrsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+static struct qinit ppplwint = {
+ ppplwput, ppplwsrv, NULL, NULL, NULL, &ppp_info, NULL
+};
+
+#ifdef LACHTCP
+extern struct ifstats *ifstats;
+int pppdevflag = 0;
+#endif
+
+struct streamtab pppinfo = {
+ &pppurint, &pppuwint,
+ &ppplrint, &ppplwint
+};
+
+int ppp_count;
+
+/*
+ * How we maintain statistics.
+ */
+#ifdef SOL2
+#define INCR_IPACKETS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[0].value.ul++; \
+ }
+#define INCR_IERRORS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[1].value.ul++; \
+ }
+#define INCR_OPACKETS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[2].value.ul++; \
+ }
+#define INCR_OERRORS(ppa) \
+ if (ppa->kstats != 0) { \
+ KSTAT_NAMED_PTR(ppa->kstats)[3].value.ul++; \
+ }
+#endif
+
+#ifdef LACHTCP
+#define INCR_IPACKETS(ppa) ppa->ifstats.ifs_ipackets++;
+#define INCR_IERRORS(ppa) ppa->ifstats.ifs_ierrors++;
+#define INCR_OPACKETS(ppa) ppa->ifstats.ifs_opackets++;
+#define INCR_OERRORS(ppa) ppa->ifstats.ifs_oerrors++;
+#endif
+
+/*
+ * STREAMS driver entry points.
+ */
+static int
+#ifdef SVR4
+pppopen(q, devp, oflag, sflag, credp)
+ queue_t *q;
+ dev_t *devp;
+ int oflag, sflag;
+ cred_t *credp;
+#else
+pppopen(q, dev, oflag, sflag)
+ queue_t *q;
+ int dev; /* really dev_t */
+ int oflag, sflag;
+#endif
+{
+ upperstr_t *up;
+ upperstr_t **prevp;
+ minor_t mn;
+#ifdef PRIOQ
+ u_short *ptr;
+ u_char new_band;
+#endif /* PRIOQ */
+
+ if (q->q_ptr)
+ DRV_OPEN_OK(dev); /* device is already open */
+
+#ifdef PRIOQ
+ /* Calculate max_bband & def_band from definitions in prioq.h
+ This colud be done at some more approtiate time (less often)
+ but this way it works well so I'll just leave it here */
+
+ max_band = 1;
+ def_band = 0;
+ ptr = prioq_table;
+ while (*ptr) {
+ new_band = 1;
+ while (*ptr)
+ if (*ptr++ == IPPORT_DEFAULT) {
+ new_band = 0;
+ def_band = max_band;
+ }
+ max_band += new_band;
+ ptr++;
+ }
+ if (def_band)
+ def_band = max_band - def_band;
+ --max_band;
+#endif /* PRIOQ */
+
+ if (sflag == CLONEOPEN) {
+ mn = 0;
+ for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
+ if (up->mn != mn)
+ break;
+ ++mn;
+ }
+ } else {
+#ifdef SVR4
+ mn = getminor(*devp);
+#else
+ mn = minor(dev);
+#endif
+ for (prevp = &minor_devs; (up = *prevp) != 0; prevp = &up->nextmn) {
+ if (up->mn >= mn)
+ break;
+ }
+ if (up->mn == mn) {
+ /* this can't happen */
+ q->q_ptr = WR(q)->q_ptr = (caddr_t) up;
+ DRV_OPEN_OK(dev);
+ }
+ }
+
+ /*
+ * Construct a new minor node.
+ */
+ up = (upperstr_t *) ALLOC_SLEEP(sizeof(upperstr_t));
+ bzero((caddr_t) up, sizeof(upperstr_t));
+ if (up == 0) {
+ DPRINT("pppopen: out of kernel memory\n");
+ OPEN_ERROR(ENXIO);
+ }
+ up->nextmn = *prevp;
+ *prevp = up;
+ up->mn = mn;
+#ifdef SVR4
+ *devp = makedevice(getmajor(*devp), mn);
+#endif
+ up->q = q;
+ if (NOTSUSER() == 0)
+ up->flags |= US_PRIV;
+#ifndef NO_DLPI
+ up->state = DL_UNATTACHED;
+#endif
+#ifdef LACHTCP
+ up->ifflags = IFF_UP | IFF_POINTOPOINT;
+#endif
+ up->sap = -1;
+ up->last_sent = up->last_recv = time;
+ up->npmode = NPMODE_DROP;
+ q->q_ptr = (caddr_t) up;
+ WR(q)->q_ptr = (caddr_t) up;
+ noenable(WR(q));
+#ifdef SOL2
+ mutex_init(&up->stats_lock, NULL, MUTEX_DRIVER, NULL);
+#endif
+ ++ppp_count;
+
+ qprocson(q);
+ DRV_OPEN_OK(makedev(major(dev), mn));
+}
+
+static int
+#ifdef SVR4
+pppclose(q, flag, credp)
+ queue_t *q;
+ int flag;
+ cred_t *credp;
+#else
+pppclose(q, flag)
+ queue_t *q;
+ int flag;
+#endif
+{
+ upperstr_t *up, **upp;
+ upperstr_t *as, *asnext;
+ upperstr_t **prevp;
+
+ qprocsoff(q);
+
+ up = (upperstr_t *) q->q_ptr;
+ if (up == 0) {
+ DPRINT("pppclose: q_ptr = 0\n");
+ return 0;
+ }
+ if (up->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: close, flags=%x\n", up->mn, up->flags);
+ if (up->flags & US_CONTROL) {
+#ifdef LACHTCP
+ struct ifstats *ifp, *pifp;
+#endif
+ if (up->lowerq != 0) {
+ /* Gack! the lower stream should have be unlinked earlier! */
+ DPRINT1("ppp%d: lower stream still connected on close?\n",
+ up->mn);
+ LOCK_LOWER_W;
+ up->lowerq->q_ptr = 0;
+ RD(up->lowerq)->q_ptr = 0;
+ up->lowerq = 0;
+ UNLOCK_LOWER;
+ }
+
+ /*
+ * This stream represents a PPA:
+ * For all streams attached to the PPA, clear their
+ * references to this PPA.
+ * Then remove this PPA from the list of PPAs.
+ */
+ for (as = up->next; as != 0; as = asnext) {
+ asnext = as->next;
+ as->next = 0;
+ as->ppa = 0;
+ if (as->flags & US_BLOCKED) {
+ as->flags &= ~US_BLOCKED;
+ flushq(WR(as->q), FLUSHDATA);
+ }
+ }
+ for (upp = &ppas; *upp != 0; upp = &(*upp)->nextppa)
+ if (*upp == up) {
+ *upp = up->nextppa;
+ break;
+ }
+#ifdef LACHTCP
+ /* Remove the statistics from the active list. */
+ for (ifp = ifstats, pifp = 0; ifp; ifp = ifp->ifs_next) {
+ if (ifp == &up->ifstats) {
+ if (pifp)
+ pifp->ifs_next = ifp->ifs_next;
+ else
+ ifstats = ifp->ifs_next;
+ break;
+ }
+ pifp = ifp;
+ }
+#endif
+ } else {
+ /*
+ * If this stream is attached to a PPA,
+ * remove it from the PPA's list.
+ */
+ if ((as = up->ppa) != 0) {
+ for (; as->next != 0; as = as->next)
+ if (as->next == up) {
+ as->next = up->next;
+ break;
+ }
+ }
+ }
+
+#ifdef SOL2
+ if (up->kstats)
+ kstat_delete(up->kstats);
+ mutex_destroy(&up->stats_lock);
+#endif
+
+ q->q_ptr = NULL;
+ WR(q)->q_ptr = NULL;
+
+ for (prevp = &minor_devs; *prevp != 0; prevp = &(*prevp)->nextmn) {
+ if (*prevp == up) {
+ *prevp = up->nextmn;
+ break;
+ }
+ }
+ FREE(up, sizeof(upperstr_t));
+ --ppp_count;
+
+ return 0;
+}
+
+/*
+ * A message from on high. We do one of three things:
+ * - qreply()
+ * - put the message on the lower write stream
+ * - queue it for our service routine
+ */
+static int
+pppuwput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *ppa, *nps;
+ struct iocblk *iop;
+ struct linkblk *lb;
+#ifdef LACHTCP
+ struct ifreq *ifr;
+ int i;
+#endif
+ queue_t *lq;
+ int error, n, sap;
+ mblk_t *mq;
+ struct ppp_idle *pip;
+#ifdef PRIOQ
+ queue_t *tlq;
+#endif /* PRIOQ */
+#ifdef NO_DLPI
+ upperstr_t *os;
+#endif
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppuwput: q_ptr = 0!\n");
+ return 0;
+ }
+ if (mp == 0) {
+ DPRINT1("pppuwput/%d: mp = 0!\n", us->mn);
+ return 0;
+ }
+ if (mp->b_datap == 0) {
+ DPRINT1("pppuwput/%d: mp->b_datap = 0!\n", us->mn);
+ return 0;
+ }
+ switch (mp->b_datap->db_type) {
+#ifndef NO_DLPI
+ case M_PCPROTO:
+ case M_PROTO:
+ dlpi_request(q, mp, us);
+ break;
+#endif /* NO_DLPI */
+
+ case M_DATA:
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: uwput M_DATA len=%d flags=%x\n",
+ us->mn, msgdsize(mp), us->flags);
+ if (us->ppa == 0 || msgdsize(mp) > us->ppa->mtu + PPP_HDRLEN
+#ifndef NO_DLPI
+ || (us->flags & US_CONTROL) == 0
+#endif /* NO_DLPI */
+ ) {
+ DPRINT1("pppuwput: junk data len=%d\n", msgdsize(mp));
+ freemsg(mp);
+ break;
+ }
+#ifdef NO_DLPI
+ if ((us->flags & US_CONTROL) == 0 && !pass_packet(us, mp, 1))
+ break;
+#endif
+ if (!send_data(mp, us))
+ putq(q, mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: ioctl %x count=%d\n",
+ us->mn, iop->ioc_cmd, iop->ioc_count);
+ switch (iop->ioc_cmd) {
+#if defined(SOL2)
+ case DLIOCRAW: /* raw M_DATA mode */
+ us->flags |= US_RAWDATA;
+ error = 0;
+ break;
+#endif /* defined(SOL2) */
+ case I_LINK:
+ if ((us->flags & US_CONTROL) == 0 || us->lowerq != 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_LINK b_cont = 0!\n", us->mn);
+ break;
+ }
+ lb = (struct linkblk *) mp->b_cont->b_rptr;
+ lq = lb->l_qbot;
+ if (lq == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_LINK l_qbot = 0!\n", us->mn);
+ break;
+ }
+ LOCK_LOWER_W;
+ us->lowerq = lq;
+ lq->q_ptr = (caddr_t) q;
+ RD(lq)->q_ptr = (caddr_t) us->q;
+ UNLOCK_LOWER;
+ iop->ioc_count = 0;
+ error = 0;
+ us->flags &= ~US_LASTMOD;
+ /* Unblock upper streams which now feed this lower stream. */
+ qenable(q);
+ /* Send useful information down to the modules which
+ are now linked below us. */
+ putctl2(lq, M_CTL, PPPCTL_UNIT, us->ppa_id);
+ putctl4(lq, M_CTL, PPPCTL_MRU, us->mru);
+ putctl4(lq, M_CTL, PPPCTL_MTU, us->mtu);
+#ifdef PRIOQ
+ /* Lower tty driver's queue hiwat/lowat from default 4096/128
+ to 256/128 since we don't want queueing of data on
+ output to physical device */
+
+ freezestr(lq);
+ for (tlq = lq; tlq->q_next != NULL; tlq = tlq->q_next)
+ ;
+ strqset(tlq, QHIWAT, 0, 256);
+ strqset(tlq, QLOWAT, 0, 128);
+ unfreezestr(lq);
+#endif /* PRIOQ */
+ break;
+
+ case I_UNLINK:
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl I_UNLINK b_cont = 0!\n", us->mn);
+ break;
+ }
+ lb = (struct linkblk *) mp->b_cont->b_rptr;
+#if DEBUG
+ if (us->lowerq != lb->l_qbot) {
+ DPRINT2("ppp unlink: lowerq=%x qbot=%x\n",
+ us->lowerq, lb->l_qbot);
+ break;
+ }
+#endif
+ iop->ioc_count = 0;
+ qwriter(q, mp, detach_lower, PERIM_OUTER);
+ error = -1;
+ break;
+
+ case PPPIO_NEWPPA:
+ if (us->flags & US_CONTROL)
+ break;
+ if ((us->flags & US_PRIV) == 0) {
+ error = EPERM;
+ break;
+ }
+ /* Arrange to return an int */
+ if ((mq = mp->b_cont) == 0
+ || mq->b_datap->db_lim - mq->b_rptr < sizeof(int)) {
+ mq = allocb(sizeof(int), BPRI_HI);
+ if (mq == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = mq;
+ mq->b_cont = 0;
+ }
+ iop->ioc_count = sizeof(int);
+ mq->b_wptr = mq->b_rptr + sizeof(int);
+ qwriter(q, mp, new_ppa, PERIM_OUTER);
+ error = -1;
+ break;
+
+ case PPPIO_ATTACH:
+ /* like dlpi_attach, for programs which can't write to
+ the stream (like pppstats) */
+ if (iop->ioc_count != sizeof(int) || us->ppa != 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_ATTACH b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
+ if (ppa->ppa_id == n)
+ break;
+ if (ppa == 0)
+ break;
+ us->ppa = ppa;
+ iop->ioc_count = 0;
+ qwriter(q, mp, attach_ppa, PERIM_OUTER);
+ error = -1;
+ break;
+
+#ifdef NO_DLPI
+ case PPPIO_BIND:
+ /* Attach to a given SAP. */
+ if (iop->ioc_count != sizeof(int) || us->ppa == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_BIND b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ /* n must be a valid PPP network protocol number. */
+ if (n < 0x21 || n > 0x3fff || (n & 0x101) != 1)
+ break;
+ /* check that no other stream is bound to this sap already. */
+ for (os = us->ppa; os != 0; os = os->next)
+ if (os->sap == n)
+ break;
+ if (os != 0)
+ break;
+ us->sap = n;
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+#endif /* NO_DLPI */
+
+ case PPPIO_MRU:
+ if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_MRU b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n <= 0 || n > PPP_MAXMRU)
+ break;
+ if (n < PPP_MRU)
+ n = PPP_MRU;
+ us->mru = n;
+ if (us->lowerq)
+ putctl4(us->lowerq, M_CTL, PPPCTL_MRU, n);
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_MTU:
+ if (iop->ioc_count != sizeof(int) || (us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_MTU b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n <= 0 || n > PPP_MAXMTU)
+ break;
+ us->mtu = n;
+#ifdef LACHTCP
+ /* The MTU reported in netstat, not used as IP max packet size! */
+ us->ifstats.ifs_mtu = n;
+#endif
+ if (us->lowerq)
+ putctl4(us->lowerq, M_CTL, PPPCTL_MTU, n);
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_LASTMOD:
+ us->flags |= US_LASTMOD;
+ error = 0;
+ break;
+
+ case PPPIO_DEBUG:
+ if (iop->ioc_count != sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_DEBUG b_cont = 0!\n", us->mn);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n == PPPDBG_DUMP + PPPDBG_DRIVER) {
+ qwriter(q, NULL, debug_dump, PERIM_OUTER);
+ iop->ioc_count = 0;
+ error = -1;
+ } else if (n == PPPDBG_LOG + PPPDBG_DRIVER) {
+ DPRINT1("ppp/%d: debug log enabled\n", us->mn);
+ us->flags |= US_DBGLOG;
+ iop->ioc_count = 0;
+ error = 0;
+ } else {
+ if (us->ppa == 0 || us->ppa->lowerq == 0)
+ break;
+ putnext(us->ppa->lowerq, mp);
+ error = -1;
+ }
+ break;
+
+ case PPPIO_NPMODE:
+ if (iop->ioc_count != 2 * sizeof(int))
+ break;
+ if ((us->flags & US_CONTROL) == 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("pppuwput/%d: ioctl PPPIO_NPMODE b_cont = 0!\n", us->mn);
+ break;
+ }
+ sap = ((int *)mp->b_cont->b_rptr)[0];
+ for (nps = us->next; nps != 0; nps = nps->next) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("us = 0x%x, us->next->sap = 0x%x\n", nps, nps->sap);
+ if (nps->sap == sap)
+ break;
+ }
+ if (nps == 0) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: no stream for sap %x\n", us->mn, sap);
+ break;
+ }
+ /* XXX possibly should use qwriter here */
+ nps->npmode = (enum NPmode) ((int *)mp->b_cont->b_rptr)[1];
+ if (nps->npmode != NPMODE_QUEUE && (nps->flags & US_BLOCKED) != 0)
+ qenable(WR(nps->q));
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_GIDLE:
+ if ((ppa = us->ppa) == 0)
+ break;
+ mq = allocb(sizeof(struct ppp_idle), BPRI_HI);
+ if (mq == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = mq;
+ mq->b_cont = 0;
+ pip = (struct ppp_idle *) mq->b_wptr;
+ pip->xmit_idle = time - ppa->last_sent;
+ pip->recv_idle = time - ppa->last_recv;
+ mq->b_wptr += sizeof(struct ppp_idle);
+ iop->ioc_count = sizeof(struct ppp_idle);
+ error = 0;
+ break;
+
+#ifdef LACHTCP
+ case SIOCSIFNAME:
+ /* Sent from IP down to us. Attach the ifstats structure. */
+ if (iop->ioc_count != sizeof(struct ifreq) || us->ppa == 0)
+ break;
+ ifr = (struct ifreq *)mp->b_cont->b_rptr;
+ /* Find the unit number in the interface name. */
+ for (i = 0; i < IFNAMSIZ; i++) {
+ if (ifr->ifr_name[i] == 0 ||
+ (ifr->ifr_name[i] >= '0' &&
+ ifr->ifr_name[i] <= '9'))
+ break;
+ else
+ us->ifname[i] = ifr->ifr_name[i];
+ }
+ us->ifname[i] = 0;
+
+ /* Convert the unit number to binary. */
+ for (n = 0; i < IFNAMSIZ; i++) {
+ if (ifr->ifr_name[i] == 0) {
+ break;
+ }
+ else {
+ n = n * 10 + ifr->ifr_name[i] - '0';
+ }
+ }
+
+ /* Verify the ppa. */
+ if (us->ppa->ppa_id != n)
+ break;
+ ppa = us->ppa;
+
+ /* Set up the netstat block. */
+ strncpy (ppa->ifname, us->ifname, IFNAMSIZ);
+
+ ppa->ifstats.ifs_name = ppa->ifname;
+ ppa->ifstats.ifs_unit = n;
+ ppa->ifstats.ifs_active = us->state != DL_UNBOUND;
+ ppa->ifstats.ifs_mtu = ppa->mtu;
+
+ /* Link in statistics used by netstat. */
+ ppa->ifstats.ifs_next = ifstats;
+ ifstats = &ppa->ifstats;
+
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case SIOCGIFFLAGS:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ ((struct iocblk_in *)iop)->ioc_ifflags = us->ifflags;
+ error = 0;
+ break;
+
+ case SIOCSIFFLAGS:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ us->ifflags = ((struct iocblk_in *)iop)->ioc_ifflags;
+ error = 0;
+ break;
+
+ case SIOCSIFADDR:
+ if (!(us->flags & US_CONTROL)) {
+ if (us->ppa)
+ us = us->ppa;
+ else
+ break;
+ }
+ us->ifflags |= IFF_RUNNING;
+ ((struct iocblk_in *)iop)->ioc_ifflags |= IFF_RUNNING;
+ error = 0;
+ break;
+
+ case SIOCSIFMTU:
+ /*
+ * Vanilla SVR4 systems don't handle SIOCSIFMTU, rather
+ * they take the MTU from the DL_INFO_ACK we sent in response
+ * to their DL_INFO_REQ. Fortunately, they will update the
+ * MTU if we send an unsolicited DL_INFO_ACK up.
+ */
+ if ((mq = allocb(sizeof(dl_info_req_t), BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ ((union DL_primitives *)mq->b_rptr)->dl_primitive = DL_INFO_REQ;
+ mq->b_wptr = mq->b_rptr + sizeof(dl_info_req_t);
+ dlpi_request(q, mq, us);
+ error = 0;
+ break;
+
+ case SIOCGIFNETMASK:
+ case SIOCSIFNETMASK:
+ case SIOCGIFADDR:
+ case SIOCGIFDSTADDR:
+ case SIOCSIFDSTADDR:
+ case SIOCGIFMETRIC:
+ error = 0;
+ break;
+#endif /* LACHTCP */
+
+ default:
+ if (us->ppa == 0 || us->ppa->lowerq == 0)
+ break;
+ us->ioc_id = iop->ioc_id;
+ error = -1;
+ switch (iop->ioc_cmd) {
+ case PPPIO_GETSTAT:
+ case PPPIO_GETCSTAT:
+ if (us->flags & US_LASTMOD) {
+ error = EINVAL;
+ break;
+ }
+ putnext(us->ppa->lowerq, mp);
+ break;
+ default:
+ if (us->flags & US_PRIV)
+ putnext(us->ppa->lowerq, mp);
+ else {
+ DPRINT1("ppp ioctl %x rejected\n", iop->ioc_cmd);
+ error = EPERM;
+ }
+ break;
+ }
+ break;
+ }
+
+ if (error > 0) {
+ iop->ioc_error = error;
+ mp->b_datap->db_type = M_IOCNAK;
+ qreply(q, mp);
+ } else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_FLUSH:
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: flush %x\n", us->mn, *mp->b_rptr);
+ if (*mp->b_rptr & FLUSHW)
+ flushq(q, FLUSHDATA);
+ if (*mp->b_rptr & FLUSHR) {
+ *mp->b_rptr &= ~FLUSHW;
+ qreply(q, mp);
+ } else
+ freemsg(mp);
+ break;
+
+ default:
+ freemsg(mp);
+ break;
+ }
+ return 0;
+}
+
+#ifndef NO_DLPI
+static void
+dlpi_request(q, mp, us)
+ queue_t *q;
+ mblk_t *mp;
+ upperstr_t *us;
+{
+ union DL_primitives *d = (union DL_primitives *) mp->b_rptr;
+ int size = mp->b_wptr - mp->b_rptr;
+ mblk_t *reply, *np;
+ upperstr_t *ppa, *os;
+ int sap, len;
+ dl_info_ack_t *info;
+ dl_bind_ack_t *ackp;
+#if DL_CURRENT_VERSION >= 2
+ dl_phys_addr_ack_t *paddrack;
+ static struct ether_addr eaddr = {0};
+#endif
+
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: dlpi prim %x len=%d\n", us->mn,
+ d->dl_primitive, size);
+ switch (d->dl_primitive) {
+ case DL_INFO_REQ:
+ if (size < sizeof(dl_info_req_t))
+ goto badprim;
+ if ((reply = allocb(sizeof(dl_info_ack_t), BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ info = (dl_info_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_info_ack_t);
+ bzero((caddr_t) info, sizeof(dl_info_ack_t));
+ info->dl_primitive = DL_INFO_ACK;
+ info->dl_max_sdu = us->ppa? us->ppa->mtu: PPP_MAXMTU;
+ info->dl_min_sdu = 1;
+ info->dl_addr_length = sizeof(uint);
+ info->dl_mac_type = DL_ETHER; /* a bigger lie */
+ info->dl_current_state = us->state;
+ info->dl_service_mode = DL_CLDLS;
+ info->dl_provider_style = DL_STYLE2;
+#if DL_CURRENT_VERSION >= 2
+ info->dl_sap_length = sizeof(uint);
+ info->dl_version = DL_CURRENT_VERSION;
+#endif
+ qreply(q, reply);
+ break;
+
+ case DL_ATTACH_REQ:
+ if (size < sizeof(dl_attach_req_t))
+ goto badprim;
+ if (us->state != DL_UNATTACHED || us->ppa != 0) {
+ dlpi_error(q, us, DL_ATTACH_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ for (ppa = ppas; ppa != 0; ppa = ppa->nextppa)
+ if (ppa->ppa_id == d->attach_req.dl_ppa)
+ break;
+ if (ppa == 0) {
+ dlpi_error(q, us, DL_ATTACH_REQ, DL_BADPPA, 0);
+ break;
+ }
+ us->ppa = ppa;
+ qwriter(q, mp, attach_ppa, PERIM_OUTER);
+ return;
+
+ case DL_DETACH_REQ:
+ if (size < sizeof(dl_detach_req_t))
+ goto badprim;
+ if (us->state != DL_UNBOUND || us->ppa == 0) {
+ dlpi_error(q, us, DL_DETACH_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ qwriter(q, mp, detach_ppa, PERIM_OUTER);
+ return;
+
+ case DL_BIND_REQ:
+ if (size < sizeof(dl_bind_req_t))
+ goto badprim;
+ if (us->state != DL_UNBOUND || us->ppa == 0) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+#if 0
+ /* apparently this test fails (unnecessarily?) on some systems */
+ if (d->bind_req.dl_service_mode != DL_CLDLS) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_UNSUPPORTED, 0);
+ break;
+ }
+#endif
+
+ /* saps must be valid PPP network protocol numbers,
+ except that we accept ETHERTYPE_IP in place of PPP_IP. */
+ sap = d->bind_req.dl_sap;
+ us->req_sap = sap;
+
+#if defined(SOL2)
+ if (us->flags & US_DBGLOG)
+ DPRINT2("DL_BIND_REQ: ip gives sap = 0x%x, us = 0x%x", sap, us);
+
+ if (sap == ETHERTYPE_IP) /* normal IFF_IPV4 */
+ sap = PPP_IP;
+ else if (sap == ETHERTYPE_IPV6) /* when IFF_IPV6 is set */
+ sap = PPP_IPV6;
+ else if (sap == ETHERTYPE_ALLSAP) /* snoop gives sap of 0 */
+ sap = PPP_ALLSAP;
+ else {
+ DPRINT2("DL_BIND_REQ: unrecognized sap = 0x%x, us = 0x%x", sap, us);
+ dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
+ break;
+ }
+#else
+ if (sap == ETHERTYPE_IP)
+ sap = PPP_IP;
+ if (sap < 0x21 || sap > 0x3fff || (sap & 0x101) != 1) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_BADADDR, 0);
+ break;
+ }
+#endif /* defined(SOL2) */
+
+ /* check that no other stream is bound to this sap already. */
+ for (os = us->ppa; os != 0; os = os->next)
+ if (os->sap == sap)
+ break;
+ if (os != 0) {
+ dlpi_error(q, us, DL_BIND_REQ, DL_NOADDR, 0);
+ break;
+ }
+
+ us->sap = sap;
+ us->state = DL_IDLE;
+
+ if ((reply = allocb(sizeof(dl_bind_ack_t) + sizeof(uint),
+ BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ ackp = (dl_bind_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_bind_ack_t) + sizeof(uint);
+ reply->b_datap->db_type = M_PCPROTO;
+ bzero((caddr_t) ackp, sizeof(dl_bind_ack_t));
+ ackp->dl_primitive = DL_BIND_ACK;
+ ackp->dl_sap = sap;
+ ackp->dl_addr_length = sizeof(uint);
+ ackp->dl_addr_offset = sizeof(dl_bind_ack_t);
+ *(uint *)(ackp+1) = sap;
+ qreply(q, reply);
+ break;
+
+ case DL_UNBIND_REQ:
+ if (size < sizeof(dl_unbind_req_t))
+ goto badprim;
+ if (us->state != DL_IDLE) {
+ dlpi_error(q, us, DL_UNBIND_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ us->sap = -1;
+ us->state = DL_UNBOUND;
+#ifdef LACHTCP
+ us->ppa->ifstats.ifs_active = 0;
+#endif
+ dlpi_ok(q, DL_UNBIND_REQ);
+ break;
+
+ case DL_UNITDATA_REQ:
+ if (size < sizeof(dl_unitdata_req_t))
+ goto badprim;
+ if (us->state != DL_IDLE) {
+ dlpi_error(q, us, DL_UNITDATA_REQ, DL_OUTSTATE, 0);
+ break;
+ }
+ if ((ppa = us->ppa) == 0) {
+ cmn_err(CE_CONT, "ppp: in state dl_idle but ppa == 0?\n");
+ break;
+ }
+ len = mp->b_cont == 0? 0: msgdsize(mp->b_cont);
+ if (len > ppa->mtu) {
+ DPRINT2("dlpi data too large (%d > %d)\n", len, ppa->mtu);
+ break;
+ }
+
+#if defined(SOL2)
+ /*
+ * Should there be any promiscuous stream(s), send the data
+ * up for each promiscuous stream that we recognize.
+ */
+ if (mp->b_cont)
+ promisc_sendup(ppa, mp->b_cont, us->sap, 0);
+#endif /* defined(SOL2) */
+
+ mp->b_band = 0;
+#ifdef PRIOQ
+ /* Extract s_port & d_port from IP-packet, the code is a bit
+ dirty here, but so am I, too... */
+ if (mp->b_datap->db_type == M_PROTO && us->sap == PPP_IP
+ && mp->b_cont != 0) {
+ u_char *bb, *tlh;
+ int iphlen, len;
+ u_short *ptr;
+ u_char band_unset, cur_band, syn;
+ u_short s_port, d_port;
+
+ bb = mp->b_cont->b_rptr; /* bb points to IP-header*/
+ len = mp->b_cont->b_wptr - mp->b_cont->b_rptr;
+ syn = 0;
+ s_port = IPPORT_DEFAULT;
+ d_port = IPPORT_DEFAULT;
+ if (len >= 20) { /* 20 = minimum length of IP header */
+ iphlen = (bb[0] & 0x0f) * 4;
+ tlh = bb + iphlen;
+ len -= iphlen;
+ switch (bb[9]) {
+ case IPPROTO_TCP:
+ if (len >= 20) { /* min length of TCP header */
+ s_port = (tlh[0] << 8) + tlh[1];
+ d_port = (tlh[2] << 8) + tlh[3];
+ syn = tlh[13] & 0x02;
+ }
+ break;
+ case IPPROTO_UDP:
+ if (len >= 8) { /* min length of UDP header */
+ s_port = (tlh[0] << 8) + tlh[1];
+ d_port = (tlh[2] << 8) + tlh[3];
+ }
+ break;
+ }
+ }
+
+ /*
+ * Now calculate b_band for this packet from the
+ * port-priority table.
+ */
+ ptr = prioq_table;
+ cur_band = max_band;
+ band_unset = 1;
+ while (*ptr) {
+ while (*ptr && band_unset)
+ if (s_port == *ptr || d_port == *ptr++) {
+ mp->b_band = cur_band;
+ band_unset = 0;
+ break;
+ }
+ ptr++;
+ cur_band--;
+ }
+ if (band_unset)
+ mp->b_band = def_band;
+ /* It may be usable to urge SYN packets a bit */
+ if (syn)
+ mp->b_band++;
+ }
+#endif /* PRIOQ */
+ /* this assumes PPP_HDRLEN <= sizeof(dl_unitdata_req_t) */
+ if (mp->b_datap->db_ref > 1) {
+ np = allocb(PPP_HDRLEN, BPRI_HI);
+ if (np == 0)
+ break; /* gak! */
+ np->b_cont = mp->b_cont;
+ mp->b_cont = 0;
+ freeb(mp);
+ mp = np;
+ } else
+ mp->b_datap->db_type = M_DATA;
+ /* XXX should use dl_dest_addr_offset/length here,
+ but we would have to translate ETHERTYPE_IP -> PPP_IP */
+ mp->b_wptr = mp->b_rptr + PPP_HDRLEN;
+ mp->b_rptr[0] = PPP_ALLSTATIONS;
+ mp->b_rptr[1] = PPP_UI;
+ mp->b_rptr[2] = us->sap >> 8;
+ mp->b_rptr[3] = us->sap;
+ if (pass_packet(us, mp, 1)) {
+ if (!send_data(mp, us))
+ putq(q, mp);
+ }
+ return;
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_PHYS_ADDR_REQ:
+ if (size < sizeof(dl_phys_addr_req_t))
+ goto badprim;
+
+ /*
+ * Don't check state because ifconfig sends this one down too
+ */
+
+ if ((reply = allocb(sizeof(dl_phys_addr_ack_t)+ETHERADDRL,
+ BPRI_HI)) == 0)
+ break; /* should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ paddrack = (dl_phys_addr_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_phys_addr_ack_t);
+ bzero((caddr_t) paddrack, sizeof(dl_phys_addr_ack_t)+ETHERADDRL);
+ paddrack->dl_primitive = DL_PHYS_ADDR_ACK;
+ paddrack->dl_addr_length = ETHERADDRL;
+ paddrack->dl_addr_offset = sizeof(dl_phys_addr_ack_t);
+ bcopy(&eaddr, reply->b_wptr, ETHERADDRL);
+ reply->b_wptr += ETHERADDRL;
+ qreply(q, reply);
+ break;
+
+#if defined(SOL2)
+ case DL_PROMISCON_REQ:
+ if (size < sizeof(dl_promiscon_req_t))
+ goto badprim;
+ us->flags |= US_PROMISC;
+ dlpi_ok(q, DL_PROMISCON_REQ);
+ break;
+
+ case DL_PROMISCOFF_REQ:
+ if (size < sizeof(dl_promiscoff_req_t))
+ goto badprim;
+ us->flags &= ~US_PROMISC;
+ dlpi_ok(q, DL_PROMISCOFF_REQ);
+ break;
+#else
+ case DL_PROMISCON_REQ: /* fall thru */
+ case DL_PROMISCOFF_REQ: /* fall thru */
+#endif /* defined(SOL2) */
+#endif /* DL_CURRENT_VERSION >= 2 */
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_SET_PHYS_ADDR_REQ:
+ case DL_SUBS_BIND_REQ:
+ case DL_SUBS_UNBIND_REQ:
+ case DL_ENABMULTI_REQ:
+ case DL_DISABMULTI_REQ:
+ case DL_XID_REQ:
+ case DL_TEST_REQ:
+ case DL_REPLY_UPDATE_REQ:
+ case DL_REPLY_REQ:
+ case DL_DATA_ACK_REQ:
+#endif
+ case DL_CONNECT_REQ:
+ case DL_TOKEN_REQ:
+ dlpi_error(q, us, d->dl_primitive, DL_NOTSUPPORTED, 0);
+ break;
+
+ case DL_CONNECT_RES:
+ case DL_DISCONNECT_REQ:
+ case DL_RESET_REQ:
+ case DL_RESET_RES:
+ dlpi_error(q, us, d->dl_primitive, DL_OUTSTATE, 0);
+ break;
+
+ case DL_UDQOS_REQ:
+ dlpi_error(q, us, d->dl_primitive, DL_BADQOSTYPE, 0);
+ break;
+
+#if DL_CURRENT_VERSION >= 2
+ case DL_TEST_RES:
+ case DL_XID_RES:
+ break;
+#endif
+
+ default:
+ cmn_err(CE_CONT, "ppp: unknown dlpi prim 0x%x\n", d->dl_primitive);
+ /* fall through */
+ badprim:
+ dlpi_error(q, us, d->dl_primitive, DL_BADPRIM, 0);
+ break;
+ }
+ freemsg(mp);
+}
+
+static void
+dlpi_error(q, us, prim, err, uerr)
+ queue_t *q;
+ upperstr_t *us;
+ int prim, err, uerr;
+{
+ mblk_t *reply;
+ dl_error_ack_t *errp;
+
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: dlpi error, prim=%x, err=%x\n", us->mn, prim, err);
+ reply = allocb(sizeof(dl_error_ack_t), BPRI_HI);
+ if (reply == 0)
+ return; /* XXX should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ errp = (dl_error_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_error_ack_t);
+ errp->dl_primitive = DL_ERROR_ACK;
+ errp->dl_error_primitive = prim;
+ errp->dl_errno = err;
+ errp->dl_unix_errno = uerr;
+ qreply(q, reply);
+}
+
+static void
+dlpi_ok(q, prim)
+ queue_t *q;
+ int prim;
+{
+ mblk_t *reply;
+ dl_ok_ack_t *okp;
+
+ reply = allocb(sizeof(dl_ok_ack_t), BPRI_HI);
+ if (reply == 0)
+ return; /* XXX should do bufcall */
+ reply->b_datap->db_type = M_PCPROTO;
+ okp = (dl_ok_ack_t *) reply->b_wptr;
+ reply->b_wptr += sizeof(dl_ok_ack_t);
+ okp->dl_primitive = DL_OK_ACK;
+ okp->dl_correct_primitive = prim;
+ qreply(q, reply);
+}
+#endif /* NO_DLPI */
+
+static int
+pass_packet(us, mp, outbound)
+ upperstr_t *us;
+ mblk_t *mp;
+ int outbound;
+{
+ int pass;
+ upperstr_t *ppa;
+
+ if ((ppa = us->ppa) == 0) {
+ freemsg(mp);
+ return 0;
+ }
+
+#ifdef FILTER_PACKETS
+ pass = ip_hard_filter(us, mp, outbound);
+#else
+ /*
+ * Here is where we might, in future, decide whether to pass
+ * or drop the packet, and whether it counts as link activity.
+ */
+ pass = 1;
+#endif /* FILTER_PACKETS */
+
+ if (pass < 0) {
+ /* pass only if link already up, and don't update time */
+ if (ppa->lowerq == 0) {
+ freemsg(mp);
+ return 0;
+ }
+ pass = 1;
+ } else if (pass) {
+ if (outbound)
+ ppa->last_sent = time;
+ else
+ ppa->last_recv = time;
+ }
+
+ return pass;
+}
+
+/*
+ * We have some data to send down to the lower stream (or up the
+ * control stream, if we don't have a lower stream attached).
+ * Returns 1 if the message was dealt with, 0 if it wasn't able
+ * to be sent on and should therefore be queued up.
+ */
+static int
+send_data(mp, us)
+ mblk_t *mp;
+ upperstr_t *us;
+{
+ upperstr_t *ppa;
+
+ if ((us->flags & US_BLOCKED) || us->npmode == NPMODE_QUEUE)
+ return 0;
+ ppa = us->ppa;
+ if (ppa == 0 || us->npmode == NPMODE_DROP || us->npmode == NPMODE_ERROR) {
+ if (us->flags & US_DBGLOG)
+ DPRINT2("ppp/%d: dropping pkt (npmode=%d)\n", us->mn, us->npmode);
+ freemsg(mp);
+ return 1;
+ }
+ if (ppa->lowerq == 0) {
+ /* try to send it up the control stream */
+ if (bcanputnext(ppa->q, mp->b_band)) {
+ /*
+ * The message seems to get corrupted for some reason if
+ * we just send the message up as it is, so we send a copy.
+ */
+ mblk_t *np = copymsg(mp);
+ freemsg(mp);
+ if (np != 0)
+ putnext(ppa->q, np);
+ return 1;
+ }
+ } else {
+ if (bcanputnext(ppa->lowerq, mp->b_band)) {
+ MT_ENTER(&ppa->stats_lock);
+ ppa->stats.ppp_opackets++;
+ ppa->stats.ppp_obytes += msgdsize(mp);
+#ifdef INCR_OPACKETS
+ INCR_OPACKETS(ppa);
+#endif
+ MT_EXIT(&ppa->stats_lock);
+ /*
+ * The lower queue is only ever detached while holding an
+ * exclusive lock on the whole driver. So we can be confident
+ * that the lower queue is still there.
+ */
+ putnext(ppa->lowerq, mp);
+ return 1;
+ }
+ }
+ us->flags |= US_BLOCKED;
+ return 0;
+}
+
+/*
+ * Allocate a new PPA id and link this stream into the list of PPAs.
+ * This procedure is called with an exclusive lock on all queues in
+ * this driver.
+ */
+static void
+new_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *up, **usp;
+ int ppa_id;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("new_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+ usp = &ppas;
+ ppa_id = 0;
+ while ((up = *usp) != 0 && ppa_id == up->ppa_id) {
+ ++ppa_id;
+ usp = &up->nextppa;
+ }
+ us->ppa_id = ppa_id;
+ us->ppa = us;
+ us->next = 0;
+ us->nextppa = *usp;
+ *usp = us;
+ us->flags |= US_CONTROL;
+ us->npmode = NPMODE_PASS;
+
+ us->mtu = PPP_MTU;
+ us->mru = PPP_MRU;
+
+#ifdef SOL2
+ /*
+ * Create a kstats record for our statistics, so netstat -i works.
+ */
+ if (us->kstats == 0) {
+ char unit[32];
+
+ sprintf(unit, "ppp%d", us->ppa->ppa_id);
+ us->kstats = kstat_create("ppp", us->ppa->ppa_id, unit,
+ "net", KSTAT_TYPE_NAMED, 4, 0);
+ if (us->kstats != 0) {
+ kstat_named_t *kn = KSTAT_NAMED_PTR(us->kstats);
+
+ strcpy(kn[0].name, "ipackets");
+ kn[0].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[1].name, "ierrors");
+ kn[1].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[2].name, "opackets");
+ kn[2].data_type = KSTAT_DATA_ULONG;
+ strcpy(kn[3].name, "oerrors");
+ kn[3].data_type = KSTAT_DATA_ULONG;
+ kstat_install(us->kstats);
+ }
+ }
+#endif /* SOL2 */
+
+ *(int *)mp->b_cont->b_rptr = ppa_id;
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+static void
+attach_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *t;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("attach_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+#ifndef NO_DLPI
+ us->state = DL_UNBOUND;
+#endif
+ for (t = us->ppa; t->next != 0; t = t->next)
+ ;
+ t->next = us;
+ us->next = 0;
+ if (mp->b_datap->db_type == M_IOCTL) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+#ifndef NO_DLPI
+ dlpi_ok(q, DL_ATTACH_REQ);
+#endif
+ }
+}
+
+static void
+detach_ppa(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us, *t;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("detach_ppa: q_ptr = 0!\n");
+ return;
+ }
+
+ for (t = us->ppa; t->next != 0; t = t->next)
+ if (t->next == us) {
+ t->next = us->next;
+ break;
+ }
+ us->next = 0;
+ us->ppa = 0;
+#ifndef NO_DLPI
+ us->state = DL_UNATTACHED;
+ dlpi_ok(q, DL_DETACH_REQ);
+#endif
+}
+
+/*
+ * We call this with qwriter in order to give the upper queue procedures
+ * the guarantee that the lower queue is not going to go away while
+ * they are executing.
+ */
+static void
+detach_lower(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("detach_lower: q_ptr = 0!\n");
+ return;
+ }
+
+ LOCK_LOWER_W;
+ us->lowerq->q_ptr = 0;
+ RD(us->lowerq)->q_ptr = 0;
+ us->lowerq = 0;
+ UNLOCK_LOWER;
+
+ /* Unblock streams which now feed back up the control stream. */
+ qenable(us->q);
+
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+static int
+pppuwsrv(q)
+ queue_t *q;
+{
+ upperstr_t *us, *as;
+ mblk_t *mp;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppuwsrv: q_ptr = 0!\n");
+ return 0;
+ }
+
+ /*
+ * If this is a control stream, then this service procedure
+ * probably got enabled because of flow control in the lower
+ * stream being enabled (or because of the lower stream going
+ * away). Therefore we enable the service procedure of all
+ * attached upper streams.
+ */
+ if (us->flags & US_CONTROL) {
+ for (as = us->next; as != 0; as = as->next)
+ qenable(WR(as->q));
+ }
+
+ /* Try to send on any data queued here. */
+ us->flags &= ~US_BLOCKED;
+ while ((mp = getq(q)) != 0) {
+ if (!send_data(mp, us)) {
+ putbq(q, mp);
+ break;
+ }
+ }
+
+ return 0;
+}
+
+/* should never get called... */
+static int
+ppplwput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ putnext(q, mp);
+ return 0;
+}
+
+static int
+ppplwsrv(q)
+ queue_t *q;
+{
+ queue_t *uq;
+
+ /*
+ * Flow control has back-enabled this stream:
+ * enable the upper write service procedure for
+ * the upper control stream for this lower stream.
+ */
+ LOCK_LOWER_R;
+ uq = (queue_t *) q->q_ptr;
+ if (uq != 0)
+ qenable(uq);
+ UNLOCK_LOWER;
+ return 0;
+}
+
+/*
+ * This should only get called for control streams.
+ */
+static int
+pppurput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *ppa, *us;
+ int proto, len;
+ struct iocblk *iop;
+
+ ppa = (upperstr_t *) q->q_ptr;
+ if (ppa == 0) {
+ DPRINT("pppurput: q_ptr = 0!\n");
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_CTL:
+ MT_ENTER(&ppa->stats_lock);
+ switch (*mp->b_rptr) {
+ case PPPCTL_IERROR:
+#ifdef INCR_IERRORS
+ INCR_IERRORS(ppa);
+#endif
+ ppa->stats.ppp_ierrors++;
+ break;
+ case PPPCTL_OERROR:
+#ifdef INCR_OERRORS
+ INCR_OERRORS(ppa);
+#endif
+ ppa->stats.ppp_oerrors++;
+ break;
+ }
+ MT_EXIT(&ppa->stats_lock);
+ freemsg(mp);
+ break;
+
+ case M_IOCACK:
+ case M_IOCNAK:
+ /*
+ * Attempt to match up the response with the stream
+ * that the request came from.
+ */
+ iop = (struct iocblk *) mp->b_rptr;
+ for (us = ppa; us != 0; us = us->next)
+ if (us->ioc_id == iop->ioc_id)
+ break;
+ if (us == 0)
+ freemsg(mp);
+ else
+ putnext(us->q, mp);
+ break;
+
+ case M_HANGUP:
+ /*
+ * The serial device has hung up. We don't want to send
+ * the M_HANGUP message up to pppd because that will stop
+ * us from using the control stream any more. Instead we
+ * send a zero-length message as an end-of-file indication.
+ */
+ freemsg(mp);
+ mp = allocb(1, BPRI_HI);
+ if (mp == 0) {
+ DPRINT1("ppp/%d: couldn't allocate eof message!\n", ppa->mn);
+ break;
+ }
+ putnext(ppa->q, mp);
+ break;
+
+ default:
+ if (mp->b_datap->db_type == M_DATA) {
+ len = msgdsize(mp);
+ if (mp->b_wptr - mp->b_rptr < PPP_HDRLEN) {
+ PULLUP(mp, PPP_HDRLEN);
+ if (mp == 0) {
+ DPRINT1("ppp_urput: msgpullup failed (len=%d)\n", len);
+ break;
+ }
+ }
+ MT_ENTER(&ppa->stats_lock);
+ ppa->stats.ppp_ipackets++;
+ ppa->stats.ppp_ibytes += len;
+#ifdef INCR_IPACKETS
+ INCR_IPACKETS(ppa);
+#endif
+ MT_EXIT(&ppa->stats_lock);
+
+ proto = PPP_PROTOCOL(mp->b_rptr);
+
+#if defined(SOL2)
+ /*
+ * Should there be any promiscuous stream(s), send the data
+ * up for each promiscuous stream that we recognize.
+ */
+ promisc_sendup(ppa, mp, proto, 1);
+#endif /* defined(SOL2) */
+
+ if (proto < 0x8000 && (us = find_dest(ppa, proto)) != 0) {
+ /*
+ * A data packet for some network protocol.
+ * Queue it on the upper stream for that protocol.
+ * XXX could we just putnext it? (would require thought)
+ * The rblocked flag is there to ensure that we keep
+ * messages in order for each network protocol.
+ */
+ if (!pass_packet(us, mp, 0))
+ break;
+ if (!us->rblocked && !canput(us->q))
+ us->rblocked = 1;
+ if (!us->rblocked)
+ putq(us->q, mp);
+ else
+ putq(q, mp);
+ break;
+ }
+ }
+ /*
+ * A control frame, a frame for an unknown protocol,
+ * or some other message type.
+ * Send it up to pppd via the control stream.
+ */
+ if (queclass(mp) == QPCTL || canputnext(ppa->q))
+ putnext(ppa->q, mp);
+ else
+ putq(q, mp);
+ break;
+ }
+
+ return 0;
+}
+
+static int
+pppursrv(q)
+ queue_t *q;
+{
+ upperstr_t *us, *as;
+ mblk_t *mp, *hdr;
+#ifndef NO_DLPI
+ dl_unitdata_ind_t *ud;
+#endif
+ int proto;
+
+ us = (upperstr_t *) q->q_ptr;
+ if (us == 0) {
+ DPRINT("pppursrv: q_ptr = 0!\n");
+ return 0;
+ }
+
+ if (us->flags & US_CONTROL) {
+ /*
+ * A control stream.
+ * If there is no lower queue attached, run the write service
+ * routines of other upper streams attached to this PPA.
+ */
+ if (us->lowerq == 0) {
+ as = us;
+ do {
+ if (as->flags & US_BLOCKED)
+ qenable(WR(as->q));
+ as = as->next;
+ } while (as != 0);
+ }
+
+ /*
+ * Messages get queued on this stream's read queue if they
+ * can't be queued on the read queue of the attached stream
+ * that they are destined for. This is for flow control -
+ * when this queue fills up, the lower read put procedure will
+ * queue messages there and the flow control will propagate
+ * down from there.
+ */
+ while ((mp = getq(q)) != 0) {
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto < 0x8000 && (as = find_dest(us, proto)) != 0) {
+ if (!canput(as->q))
+ break;
+ putq(as->q, mp);
+ } else {
+ if (!canputnext(q))
+ break;
+ putnext(q, mp);
+ }
+ }
+ if (mp) {
+ putbq(q, mp);
+ } else {
+ /* can now put stuff directly on network protocol streams again */
+ for (as = us->next; as != 0; as = as->next)
+ as->rblocked = 0;
+ }
+
+ /*
+ * If this stream has a lower stream attached,
+ * enable the read queue's service routine.
+ * XXX we should really only do this if the queue length
+ * has dropped below the low-water mark.
+ */
+ if (us->lowerq != 0)
+ qenable(RD(us->lowerq));
+
+ } else {
+ /*
+ * A network protocol stream. Put a DLPI header on each
+ * packet and send it on.
+ * (Actually, it seems that the IP module will happily
+ * accept M_DATA messages without the DL_UNITDATA_IND header.)
+ */
+ while ((mp = getq(q)) != 0) {
+ if (!canputnext(q)) {
+ putbq(q, mp);
+ break;
+ }
+#ifndef NO_DLPI
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ mp->b_rptr += PPP_HDRLEN;
+ hdr = allocb(sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint),
+ BPRI_MED);
+ if (hdr == 0) {
+ /* XXX should put it back and use bufcall */
+ freemsg(mp);
+ continue;
+ }
+ hdr->b_datap->db_type = M_PROTO;
+ ud = (dl_unitdata_ind_t *) hdr->b_wptr;
+ hdr->b_wptr += sizeof(dl_unitdata_ind_t) + 2 * sizeof(uint);
+ hdr->b_cont = mp;
+ ud->dl_primitive = DL_UNITDATA_IND;
+ ud->dl_dest_addr_length = sizeof(uint);
+ ud->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
+ ud->dl_src_addr_length = sizeof(uint);
+ ud->dl_src_addr_offset = ud->dl_dest_addr_offset + sizeof(uint);
+#if DL_CURRENT_VERSION >= 2
+ ud->dl_group_address = 0;
+#endif
+ /* Send the DLPI client the data with the SAP they requested,
+ (e.g. ETHERTYPE_IP) rather than the PPP protocol number
+ (e.g. PPP_IP) */
+ ((uint *)(ud + 1))[0] = us->req_sap; /* dest SAP */
+ ((uint *)(ud + 1))[1] = us->req_sap; /* src SAP */
+ putnext(q, hdr);
+#else /* NO_DLPI */
+ putnext(q, mp);
+#endif /* NO_DLPI */
+ }
+ /*
+ * Now that we have consumed some packets from this queue,
+ * enable the control stream's read service routine so that we
+ * can process any packets for us that might have got queued
+ * there for flow control reasons.
+ */
+ if (us->ppa)
+ qenable(us->ppa->q);
+ }
+
+ return 0;
+}
+
+static upperstr_t *
+find_dest(ppa, proto)
+ upperstr_t *ppa;
+ int proto;
+{
+ upperstr_t *us;
+
+ for (us = ppa->next; us != 0; us = us->next)
+ if (proto == us->sap)
+ break;
+ return us;
+}
+
+#if defined (SOL2)
+/*
+ * Test upstream promiscuous conditions. As of now, only pass IPv4 and
+ * Ipv6 packets upstream (let PPP packets be decoded elsewhere).
+ */
+static upperstr_t *
+find_promisc(us, proto)
+ upperstr_t *us;
+ int proto;
+{
+
+ if ((proto != PPP_IP) && (proto != PPP_IPV6))
+ return (upperstr_t *)0;
+
+ for ( ; us; us = us->next) {
+ if ((us->flags & US_PROMISC) && (us->state == DL_IDLE))
+ return us;
+ }
+
+ return (upperstr_t *)0;
+}
+
+/*
+ * Prepend an empty Ethernet header to msg for snoop, et al.
+ */
+static mblk_t *
+prepend_ether(us, mp, proto)
+ upperstr_t *us;
+ mblk_t *mp;
+ int proto;
+{
+ mblk_t *eh;
+ int type;
+
+ if ((eh = allocb(sizeof(struct ether_header), BPRI_HI)) == 0) {
+ freemsg(mp);
+ return (mblk_t *)0;
+ }
+
+ if (proto == PPP_IP)
+ type = ETHERTYPE_IP;
+ else if (proto == PPP_IPV6)
+ type = ETHERTYPE_IPV6;
+ else
+ type = proto; /* What else? Let decoder decide */
+
+ eh->b_wptr += sizeof(struct ether_header);
+ bzero((caddr_t)eh->b_rptr, sizeof(struct ether_header));
+ ((struct ether_header *)eh->b_rptr)->ether_type = htons((short)type);
+ eh->b_cont = mp;
+ return (eh);
+}
+
+/*
+ * Prepend DL_UNITDATA_IND mblk to msg
+ */
+static mblk_t *
+prepend_udind(us, mp, proto)
+ upperstr_t *us;
+ mblk_t *mp;
+ int proto;
+{
+ dl_unitdata_ind_t *dlu;
+ mblk_t *dh;
+ size_t size;
+
+ size = sizeof(dl_unitdata_ind_t);
+ if ((dh = allocb(size, BPRI_MED)) == 0) {
+ freemsg(mp);
+ return (mblk_t *)0;
+ }
+
+ dh->b_datap->db_type = M_PROTO;
+ dh->b_wptr = dh->b_datap->db_lim;
+ dh->b_rptr = dh->b_wptr - size;
+
+ dlu = (dl_unitdata_ind_t *)dh->b_rptr;
+ dlu->dl_primitive = DL_UNITDATA_IND;
+ dlu->dl_dest_addr_length = 0;
+ dlu->dl_dest_addr_offset = sizeof(dl_unitdata_ind_t);
+ dlu->dl_src_addr_length = 0;
+ dlu->dl_src_addr_offset = sizeof(dl_unitdata_ind_t);
+ dlu->dl_group_address = 0;
+
+ dh->b_cont = mp;
+ return (dh);
+}
+
+/*
+ * For any recognized promiscuous streams, send data upstream
+ */
+static void
+promisc_sendup(ppa, mp, proto, skip)
+ upperstr_t *ppa;
+ mblk_t *mp;
+ int proto, skip;
+{
+ mblk_t *dup_mp, *dup_dup_mp;
+ upperstr_t *prus, *nprus;
+
+ if ((prus = find_promisc(ppa, proto)) != 0) {
+ if (dup_mp = dupmsg(mp)) {
+
+ if (skip)
+ dup_mp->b_rptr += PPP_HDRLEN;
+
+ for ( ; nprus = find_promisc(prus->next, proto);
+ prus = nprus) {
+
+ if (dup_dup_mp = dupmsg(dup_mp)) {
+ if (canputnext(prus->q)) {
+ if (prus->flags & US_RAWDATA) {
+ dup_dup_mp = prepend_ether(prus, dup_dup_mp, proto);
+ putnext(prus->q, dup_dup_mp);
+ } else {
+ dup_dup_mp = prepend_udind(prus, dup_dup_mp, proto);
+ putnext(prus->q, dup_dup_mp);
+ }
+ } else {
+ DPRINT("ppp_urput: data to promisc q dropped\n");
+ freemsg(dup_dup_mp);
+ }
+ }
+ }
+
+ if (canputnext(prus->q)) {
+ if (prus->flags & US_RAWDATA) {
+ dup_mp = prepend_ether(prus, dup_mp, proto);
+ putnext(prus->q, dup_mp);
+ } else {
+ dup_mp = prepend_udind(prus, dup_mp, proto);
+ putnext(prus->q, dup_mp);
+ }
+ } else {
+ DPRINT("ppp_urput: data to promisc q dropped\n");
+ freemsg(dup_mp);
+ }
+ }
+ }
+}
+#endif /* defined(SOL2) */
+
+/*
+ * We simply put the message on to the associated upper control stream
+ * (either here or in ppplrsrv). That way we enter the perimeters
+ * before looking through the list of attached streams to decide which
+ * stream it should go up.
+ */
+static int
+ppplrput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ queue_t *uq;
+ struct iocblk *iop;
+
+ switch (mp->b_datap->db_type) {
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ iop->ioc_error = EINVAL;
+ mp->b_datap->db_type = M_IOCNAK;
+ qreply(q, mp);
+ return 0;
+ case M_FLUSH:
+ if (*mp->b_rptr & FLUSHR)
+ flushq(q, FLUSHDATA);
+ if (*mp->b_rptr & FLUSHW) {
+ *mp->b_rptr &= ~FLUSHR;
+ qreply(q, mp);
+ } else
+ freemsg(mp);
+ return 0;
+ }
+
+ /*
+ * If we can't get the lower lock straight away, queue this one
+ * rather than blocking, to avoid the possibility of deadlock.
+ */
+ if (!TRYLOCK_LOWER_R) {
+ putq(q, mp);
+ return 0;
+ }
+
+ /*
+ * Check that we're still connected to the driver.
+ */
+ uq = (queue_t *) q->q_ptr;
+ if (uq == 0) {
+ UNLOCK_LOWER;
+ DPRINT1("ppplrput: q = %x, uq = 0??\n", q);
+ freemsg(mp);
+ return 0;
+ }
+
+ /*
+ * Try to forward the message to the put routine for the upper
+ * control stream for this lower stream.
+ * If there are already messages queued here, queue this one so
+ * they don't get out of order.
+ */
+ if (queclass(mp) == QPCTL || (qsize(q) == 0 && canput(uq)))
+ put(uq, mp);
+ else
+ putq(q, mp);
+
+ UNLOCK_LOWER;
+ return 0;
+}
+
+static int
+ppplrsrv(q)
+ queue_t *q;
+{
+ mblk_t *mp;
+ queue_t *uq;
+
+ /*
+ * Packets get queued here for flow control reasons
+ * or if the lrput routine couldn't get the lower lock
+ * without blocking.
+ */
+ LOCK_LOWER_R;
+ uq = (queue_t *) q->q_ptr;
+ if (uq == 0) {
+ UNLOCK_LOWER;
+ flushq(q, FLUSHALL);
+ DPRINT1("ppplrsrv: q = %x, uq = 0??\n", q);
+ return 0;
+ }
+ while ((mp = getq(q)) != 0) {
+ if (queclass(mp) == QPCTL || canput(uq))
+ put(uq, mp);
+ else {
+ putbq(q, mp);
+ break;
+ }
+ }
+ UNLOCK_LOWER;
+ return 0;
+}
+
+static int
+putctl2(q, type, code, val)
+ queue_t *q;
+ int type, code, val;
+{
+ mblk_t *mp;
+
+ mp = allocb(2, BPRI_HI);
+ if (mp == 0)
+ return 0;
+ mp->b_datap->db_type = type;
+ mp->b_wptr[0] = code;
+ mp->b_wptr[1] = val;
+ mp->b_wptr += 2;
+ putnext(q, mp);
+ return 1;
+}
+
+static int
+putctl4(q, type, code, val)
+ queue_t *q;
+ int type, code, val;
+{
+ mblk_t *mp;
+
+ mp = allocb(4, BPRI_HI);
+ if (mp == 0)
+ return 0;
+ mp->b_datap->db_type = type;
+ mp->b_wptr[0] = code;
+ ((short *)mp->b_wptr)[1] = val;
+ mp->b_wptr += 4;
+ putnext(q, mp);
+ return 1;
+}
+
+static void
+debug_dump(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ upperstr_t *us;
+ queue_t *uq, *lq;
+
+ DPRINT("ppp upper streams:\n");
+ for (us = minor_devs; us != 0; us = us->nextmn) {
+ uq = us->q;
+ DPRINT3(" %d: q=%x rlev=%d",
+ us->mn, uq, (uq? qsize(uq): 0));
+ DPRINT3(" wlev=%d flags=0x%b", (uq? qsize(WR(uq)): 0),
+ us->flags, "\020\1priv\2control\3blocked\4last");
+ DPRINT3(" state=%x sap=%x req_sap=%x", us->state, us->sap,
+ us->req_sap);
+ if (us->ppa == 0)
+ DPRINT(" ppa=?\n");
+ else
+ DPRINT1(" ppa=%d\n", us->ppa->ppa_id);
+ if (us->flags & US_CONTROL) {
+ lq = us->lowerq;
+ DPRINT3(" control for %d lq=%x rlev=%d",
+ us->ppa_id, lq, (lq? qsize(RD(lq)): 0));
+ DPRINT3(" wlev=%d mru=%d mtu=%d\n",
+ (lq? qsize(lq): 0), us->mru, us->mtu);
+ }
+ }
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+}
+
+#ifdef FILTER_PACKETS
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/udp.h>
+#include <netinet/tcp.h>
+
+#define MAX_IPHDR 128 /* max TCP/IP header size */
+
+
+/* The following table contains a hard-coded list of protocol/port pairs.
+ * Any matching packets are either discarded unconditionally, or,
+ * if ok_if_link_up is non-zero when a connection does not currently exist
+ * (i.e., they go through if the connection is present, but never initiate
+ * a dial-out).
+ * This idea came from a post by dm@garage.uun.org (David Mazieres)
+ */
+static struct pktfilt_tab {
+ int proto;
+ u_short port;
+ u_short ok_if_link_up;
+} pktfilt_tab[] = {
+ { IPPROTO_UDP, 520, 1 }, /* RIP, ok to pass if link is up */
+ { IPPROTO_UDP, 123, 1 }, /* NTP, don't keep up the link for it */
+ { -1, 0, 0 } /* terminator entry has port == -1 */
+};
+
+
+static int
+ip_hard_filter(us, mp, outbound)
+ upperstr_t *us;
+ mblk_t *mp;
+ int outbound;
+{
+ struct ip *ip;
+ struct pktfilt_tab *pft;
+ mblk_t *temp_mp;
+ int proto;
+ int len, hlen;
+
+
+ /* Note, the PPP header has already been pulled up in all cases */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: filter, proto=0x%x, out=%d\n", us->mn, proto, outbound);
+
+ switch (proto)
+ {
+ case PPP_IP:
+ if ((mp->b_wptr - mp->b_rptr) == PPP_HDRLEN && mp->b_cont != 0) {
+ temp_mp = mp->b_cont;
+ len = msgdsize(temp_mp);
+ hlen = (len < MAX_IPHDR) ? len : MAX_IPHDR;
+ PULLUP(temp_mp, hlen);
+ if (temp_mp == 0) {
+ DPRINT2("ppp/%d: filter, pullup next failed, len=%d\n",
+ us->mn, hlen);
+ mp->b_cont = 0; /* PULLUP() freed the rest */
+ freemsg(mp);
+ return 0;
+ }
+ ip = (struct ip *)mp->b_cont->b_rptr;
+ }
+ else {
+ len = msgdsize(mp);
+ hlen = (len < (PPP_HDRLEN+MAX_IPHDR)) ? len : (PPP_HDRLEN+MAX_IPHDR);
+ PULLUP(mp, hlen);
+ if (mp == 0) {
+ DPRINT2("ppp/%d: filter, pullup failed, len=%d\n",
+ us->mn, hlen);
+ return 0;
+ }
+ ip = (struct ip *)(mp->b_rptr + PPP_HDRLEN);
+ }
+
+ /* For IP traffic, certain packets (e.g., RIP) may be either
+ * 1. ignored - dropped completely
+ * 2. will not initiate a connection, but
+ * will be passed if a connection is currently up.
+ */
+ for (pft=pktfilt_tab; pft->proto != -1; pft++) {
+ if (ip->ip_p == pft->proto) {
+ switch(pft->proto) {
+ case IPPROTO_UDP:
+ if (((struct udphdr *) &((int *)ip)[ip->ip_hl])->uh_dport
+ == htons(pft->port)) goto endfor;
+ break;
+ case IPPROTO_TCP:
+ if (((struct tcphdr *) &((int *)ip)[ip->ip_hl])->th_dport
+ == htons(pft->port)) goto endfor;
+ break;
+ }
+ }
+ }
+ endfor:
+ if (pft->proto != -1) {
+ if (us->flags & US_DBGLOG)
+ DPRINT3("ppp/%d: found IP pkt, proto=0x%x (%d)\n",
+ us->mn, pft->proto, pft->port);
+ /* Discard if not connected, or if not pass_with_link_up */
+ /* else, if link is up let go by, but don't update time */
+ return pft->ok_if_link_up? -1: 0;
+ }
+ break;
+ } /* end switch (proto) */
+
+ return 1;
+}
+#endif /* FILTER_PACKETS */
+
diff --git a/mdk-stage1/ppp/solaris/ppp.conf b/mdk-stage1/ppp/solaris/ppp.conf
new file mode 100644
index 000000000..e443a7aac
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp.conf
@@ -0,0 +1 @@
+name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc.c b/mdk-stage1/ppp/solaris/ppp_ahdlc.c
new file mode 100644
index 000000000..a69dd8a7f
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_ahdlc.c
@@ -0,0 +1,878 @@
+/*
+ * ppp_ahdlc.c - STREAMS module for doing PPP asynchronous HDLC.
+ *
+ * Re-written by Adi Masputra <adi.masputra@sun.com>, based on
+ * the original ppp_ahdlc.c
+ *
+ * Copyright (c) 2000 by Sun Microsystems, Inc.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies.
+ *
+ * SUN MAKES NO REPRESENTATION OR WARRANTIES ABOUT THE SUITABILITY OF
+ * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+ * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_ahdlc.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2, SVR4, SunOS 4, and Digital UNIX.
+ */
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stream.h>
+#include <sys/errno.h>
+
+#ifdef SVR4
+#include <sys/conf.h>
+#include <sys/kmem.h>
+#include <sys/cmn_err.h>
+#include <sys/ddi.h>
+#else
+#include <sys/user.h>
+#ifdef __osf__
+#include <sys/cmn_err.h>
+#endif
+#endif /* SVR4 */
+
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+/*
+ * Right now, mutex is only enabled for Solaris 2.x
+ */
+#if defined(SOL2)
+#define USE_MUTEX
+#endif /* SOL2 */
+
+/*
+ * intpointer_t and uintpointer_t are signed and unsigned integer types
+ * large enough to hold any data pointer; that is, data pointers can be
+ * assigned into or from these integer types without losing precision.
+ * On recent Solaris releases, these types are defined in sys/int_types.h,
+ * but not on SunOS 4.x or the earlier Solaris versions.
+ */
+#if defined(_LP64) || defined(_I32LPx)
+typedef long intpointer_t;
+typedef unsigned long uintpointer_t;
+#else
+typedef int intpointer_t;
+typedef unsigned int uintpointer_t;
+#endif
+
+MOD_OPEN_DECL(ahdlc_open);
+MOD_CLOSE_DECL(ahdlc_close);
+static int ahdlc_wput __P((queue_t *, mblk_t *));
+static int ahdlc_rput __P((queue_t *, mblk_t *));
+static void ahdlc_encode __P((queue_t *, mblk_t *));
+static void ahdlc_decode __P((queue_t *, mblk_t *));
+static int msg_byte __P((mblk_t *, unsigned int));
+
+#if defined(SOL2)
+/*
+ * Don't send HDLC start flag is last transmit is within 1.5 seconds -
+ * FLAG_TIME is defined is microseconds
+ */
+#define FLAG_TIME 1500
+#define ABS(x) (x >= 0 ? x : (-x))
+#endif /* SOL2 */
+
+/*
+ * Extract byte i of message mp
+ */
+#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+ msg_byte((mp), (i)))
+
+/*
+ * Is this LCP packet one we have to transmit using LCP defaults?
+ */
+#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
+
+/*
+ * Standard STREAMS declarations
+ */
+static struct module_info minfo = {
+ 0x7d23, "ppp_ahdl", 0, INFPSZ, 32768, 512
+};
+
+static struct qinit rinit = {
+ ahdlc_rput, NULL, ahdlc_open, ahdlc_close, NULL, &minfo, NULL
+};
+
+static struct qinit winit = {
+ ahdlc_wput, NULL, NULL, NULL, NULL, &minfo, NULL
+};
+
+#if defined(SVR4) && !defined(SOL2)
+int phdldevflag = 0;
+#define ppp_ahdlcinfo phdlinfo
+#endif /* defined(SVR4) && !defined(SOL2) */
+
+struct streamtab ppp_ahdlcinfo = {
+ &rinit, /* ptr to st_rdinit */
+ &winit, /* ptr to st_wrinit */
+ NULL, /* ptr to st_muxrinit */
+ NULL, /* ptr to st_muxwinit */
+#if defined(SUNOS4)
+ NULL /* ptr to ptr to st_modlist */
+#endif /* SUNOS4 */
+};
+
+#if defined(SUNOS4)
+int ppp_ahdlc_count = 0; /* open counter */
+#endif /* SUNOS4 */
+
+/*
+ * Per-stream state structure
+ */
+typedef struct ahdlc_state {
+#if defined(USE_MUTEX)
+ kmutex_t lock; /* lock for this structure */
+#endif /* USE_MUTEX */
+ int flags; /* link flags */
+ mblk_t *rx_buf; /* ptr to receive buffer */
+ int rx_buf_size; /* receive buffer size */
+ ushort_t infcs; /* calculated rx HDLC FCS */
+ u_int32_t xaccm[8]; /* 256-bit xmit ACCM */
+ u_int32_t raccm; /* 32-bit rcv ACCM */
+ int mtu; /* interface MTU */
+ int mru; /* link MRU */
+ int unit; /* current PPP unit number */
+ struct pppstat stats; /* statistic structure */
+#if defined(SOL2)
+ clock_t flag_time; /* time in usec between flags */
+ clock_t lbolt; /* last updated lbolt */
+#endif /* SOL2 */
+} ahdlc_state_t;
+
+/*
+ * Values for flags
+ */
+#define ESCAPED 0x100 /* last saw escape char on input */
+#define IFLUSH 0x200 /* flushing input due to error */
+
+/*
+ * RCV_B7_1, etc., defined in net/pppio.h, are stored in flags also.
+ */
+#define RCV_FLAGS (RCV_B7_1|RCV_B7_0|RCV_ODDP|RCV_EVNP)
+
+/*
+ * FCS lookup table as calculated by genfcstab.
+ */
+static u_short fcstab[256] = {
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
+};
+
+static u_int32_t paritytab[8] =
+{
+ 0x96696996, 0x69969669, 0x69969669, 0x96696996,
+ 0x69969669, 0x96696996, 0x96696996, 0x69969669
+};
+
+/*
+ * STREAMS module open (entry) point
+ */
+MOD_OPEN(ahdlc_open)
+{
+ ahdlc_state_t *state;
+
+ /*
+ * Return if it's already opened
+ */
+ if (q->q_ptr) {
+ return 0;
+ }
+
+ /*
+ * This can only be opened as a module
+ */
+ if (sflag != MODOPEN) {
+ return 0;
+ }
+
+ state = (ahdlc_state_t *) ALLOC_NOSLEEP(sizeof(ahdlc_state_t));
+ if (state == 0)
+ OPEN_ERROR(ENOSR);
+ bzero((caddr_t) state, sizeof(ahdlc_state_t));
+
+ q->q_ptr = (caddr_t) state;
+ WR(q)->q_ptr = (caddr_t) state;
+
+#if defined(USE_MUTEX)
+ mutex_init(&state->lock, NULL, MUTEX_DEFAULT, NULL);
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ state->xaccm[0] = ~0; /* escape 0x00 through 0x1f */
+ state->xaccm[3] = 0x60000000; /* escape 0x7d and 0x7e */
+ state->mru = PPP_MRU; /* default of 1500 bytes */
+#if defined(SOL2)
+ state->flag_time = drv_usectohz(FLAG_TIME);
+#endif /* SOL2 */
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+
+#if defined(SUNOS4)
+ ppp_ahdlc_count++;
+#endif /* SUNOS4 */
+
+ qprocson(q);
+
+ return 0;
+}
+
+/*
+ * STREAMS module close (exit) point
+ */
+MOD_CLOSE(ahdlc_close)
+{
+ ahdlc_state_t *state;
+
+ qprocsoff(q);
+
+ state = (ahdlc_state_t *) q->q_ptr;
+
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_close\n");
+ return 0;
+ }
+
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ if (state->rx_buf != 0) {
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ }
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+ mutex_destroy(&state->lock);
+#endif /* USE_MUTEX */
+
+ FREE(q->q_ptr, sizeof(ahdlc_state_t));
+ q->q_ptr = NULL;
+ OTHERQ(q)->q_ptr = NULL;
+
+#if defined(SUNOS4)
+ if (ppp_ahdlc_count)
+ ppp_ahdlc_count--;
+#endif /* SUNOS4 */
+
+ return 0;
+}
+
+/*
+ * Write side put routine
+ */
+static int
+ahdlc_wput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ struct iocblk *iop;
+ int error;
+ mblk_t *np;
+ struct ppp_stats *psp;
+
+ state = (ahdlc_state_t *) q->q_ptr;
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_wput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ /*
+ * A data packet - do character-stuffing and FCS, and
+ * send it onwards.
+ */
+ ahdlc_encode(q, mp);
+ freemsg(mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ switch (iop->ioc_cmd) {
+ case PPPIO_XACCM:
+ if ((iop->ioc_count < sizeof(u_int32_t)) ||
+ (iop->ioc_count > sizeof(ext_accm))) {
+ break;
+ }
+ if (mp->b_cont == 0) {
+ DPRINT1("ahdlc_wput/%d: PPPIO_XACCM b_cont = 0!\n", state->unit);
+ break;
+ }
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)state->xaccm,
+ iop->ioc_count);
+ state->xaccm[2] &= ~0x40000000; /* don't escape 0x5e */
+ state->xaccm[3] |= 0x60000000; /* do escape 0x7d, 0x7e */
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_RACCM:
+ if (iop->ioc_count != sizeof(u_int32_t))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ahdlc_wput/%d: PPPIO_RACCM b_cont = 0!\n", state->unit);
+ break;
+ }
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ bcopy((caddr_t)mp->b_cont->b_rptr, (caddr_t)&state->raccm,
+ sizeof(u_int32_t));
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ iop->ioc_count = 0;
+ error = 0;
+ break;
+
+ case PPPIO_GCLEAN:
+ np = allocb(sizeof(int), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ *(int *)np->b_wptr = state->flags & RCV_FLAGS;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ np->b_wptr += sizeof(int);
+ iop->ioc_count = sizeof(int);
+ error = 0;
+ break;
+
+ case PPPIO_GETSTAT:
+ np = allocb(sizeof(struct ppp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ psp = (struct ppp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_stats);
+ bzero((caddr_t)psp, sizeof(struct ppp_stats));
+ psp->p = state->stats;
+ iop->ioc_count = sizeof(struct ppp_stats);
+ error = 0;
+ break;
+
+ case PPPIO_LASTMOD:
+ /* we knew this anyway */
+ error = 0;
+ break;
+
+ default:
+ error = -1;
+ break;
+ }
+
+ if (error < 0)
+ putnext(q, mp);
+ else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+ mp->b_datap->db_type = M_IOCNAK;
+ iop->ioc_count = 0;
+ iop->ioc_error = error;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_CTL:
+ switch (*mp->b_rptr) {
+ case PPPCTL_MTU:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->mtu = ((unsigned short *)mp->b_rptr)[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ freemsg(mp);
+ break;
+ case PPPCTL_MRU:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->mru = ((unsigned short *)mp->b_rptr)[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ freemsg(mp);
+ break;
+ case PPPCTL_UNIT:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ state->unit = mp->b_rptr[1];
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ break;
+ default:
+ putnext(q, mp);
+ }
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+/*
+ * Read side put routine
+ */
+static int
+ahdlc_rput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+
+ state = (ahdlc_state_t *) q->q_ptr;
+ if (state == 0) {
+ DPRINT("state == 0 in ahdlc_rput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+ case M_DATA:
+ ahdlc_decode(q, mp);
+ freemsg(mp);
+ break;
+
+ case M_HANGUP:
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+ if (state->rx_buf != 0) {
+ /* XXX would like to send this up for debugging */
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ }
+ state->flags = IFLUSH;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+ return 0;
+}
+
+/*
+ * Extract bit c from map m, to determine if c needs to be escaped
+ */
+#define IN_TX_MAP(c, m) ((m)[(c) >> 5] & (1 << ((c) & 0x1f)))
+
+static void
+ahdlc_encode(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ u_int32_t *xaccm, loc_xaccm[8];
+ ushort_t fcs;
+ size_t outmp_len;
+ mblk_t *outmp, *tmp;
+ uchar_t *dp, fcs_val;
+ int is_lcp, code;
+#if defined(SOL2)
+ clock_t lbolt;
+#endif /* SOL2 */
+
+ if (msgdsize(mp) < 4) {
+ return;
+ }
+
+ state = (ahdlc_state_t *)q->q_ptr;
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ /*
+ * Allocate an output buffer large enough to handle a case where all
+ * characters need to be escaped
+ */
+ outmp_len = (msgdsize(mp) << 1) + /* input block x 2 */
+ (sizeof(fcs) << 2) + /* HDLC FCS x 4 */
+ (sizeof(uchar_t) << 1); /* HDLC flags x 2 */
+
+ outmp = allocb(outmp_len, BPRI_MED);
+ if (outmp == NULL) {
+ state->stats.ppp_oerrors++;
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ return;
+ }
+
+#if defined(SOL2)
+ /*
+ * Check if our last transmit happenned within flag_time, using
+ * the system's LBOLT value in clock ticks
+ */
+ if (drv_getparm(LBOLT, &lbolt) != -1) {
+ if (ABS((clock_t)lbolt - state->lbolt) > state->flag_time) {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+ state->lbolt = lbolt;
+ } else {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+#else
+ /*
+ * If the driver below still has a message to process, skip the
+ * HDLC flag, otherwise, put one in the beginning
+ */
+ if (qsize(q->q_next) == 0) {
+ *outmp->b_wptr++ = PPP_FLAG;
+ }
+#endif
+
+ /*
+ * All control characters must be escaped for LCP packets with code
+ * values between 1 (Conf-Req) and 7 (Code-Rej).
+ */
+ is_lcp = ((MSG_BYTE(mp, 0) == PPP_ALLSTATIONS) &&
+ (MSG_BYTE(mp, 1) == PPP_UI) &&
+ (MSG_BYTE(mp, 2) == (PPP_LCP >> 8)) &&
+ (MSG_BYTE(mp, 3) == (PPP_LCP & 0xff)) &&
+ LCP_USE_DFLT(mp));
+
+ xaccm = state->xaccm;
+ if (is_lcp) {
+ bcopy((caddr_t)state->xaccm, (caddr_t)loc_xaccm, sizeof(loc_xaccm));
+ loc_xaccm[0] = ~0; /* force escape on 0x00 through 0x1f */
+ xaccm = loc_xaccm;
+ }
+
+ fcs = PPP_INITFCS; /* Initial FCS is 0xffff */
+
+ /*
+ * Process this block and the rest (if any) attached to the this one
+ */
+ for (tmp = mp; tmp; tmp = tmp->b_cont) {
+ if (tmp->b_datap->db_type == M_DATA) {
+ for (dp = tmp->b_rptr; dp < tmp->b_wptr; dp++) {
+ fcs = PPP_FCS(fcs, *dp);
+ if (IN_TX_MAP(*dp, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = *dp ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = *dp;
+ }
+ }
+ } else {
+ continue; /* skip if db_type is something other than M_DATA */
+ }
+ }
+
+ /*
+ * Append the HDLC FCS, making sure that escaping is done on any
+ * necessary bytes
+ */
+ fcs_val = (fcs ^ 0xffff) & 0xff;
+ if (IN_TX_MAP(fcs_val, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = fcs_val;
+ }
+
+ fcs_val = ((fcs ^ 0xffff) >> 8) & 0xff;
+ if (IN_TX_MAP(fcs_val, xaccm)) {
+ *outmp->b_wptr++ = PPP_ESCAPE;
+ *outmp->b_wptr++ = fcs_val ^ PPP_TRANS;
+ } else {
+ *outmp->b_wptr++ = fcs_val;
+ }
+
+ /*
+ * And finally, append the HDLC flag, and send it away
+ */
+ *outmp->b_wptr++ = PPP_FLAG;
+
+ state->stats.ppp_obytes += msgdsize(outmp);
+ state->stats.ppp_opackets++;
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+
+ putnext(q, outmp);
+ return;
+}
+
+/*
+ * Checks the 32-bit receive ACCM to see if the byte needs un-escaping
+ */
+#define IN_RX_MAP(c, m) ((((unsigned int) (uchar_t) (c)) < 0x20) && \
+ (m) & (1 << (c)))
+
+
+/*
+ * Process received characters.
+ */
+static void
+ahdlc_decode(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ ahdlc_state_t *state;
+ mblk_t *om;
+ uchar_t *dp;
+ ushort_t fcs;
+#if defined(SOL2)
+ mblk_t *zmp;
+#endif /* SOL2 */
+
+#if defined(SOL2)
+ /*
+ * In case the driver (or something below) doesn't send
+ * data upstream in one message block, concatenate everything
+ */
+ if (!((mp->b_wptr - mp->b_rptr == msgdsize(mp)) &&
+ ((intpointer_t)mp->b_rptr % sizeof(intpointer_t) == 0))) {
+
+ zmp = msgpullup(mp, -1);
+ freemsg(mp);
+ mp = zmp;
+ if (mp == 0)
+ return;
+ }
+#endif /* SOL2 */
+
+ state = (ahdlc_state_t *) q->q_ptr;
+
+#if defined(USE_MUTEX)
+ mutex_enter(&state->lock);
+#endif /* USE_MUTEX */
+
+ state->stats.ppp_ibytes += msgdsize(mp);
+
+ for (dp = mp->b_rptr; dp < mp->b_wptr; dp++) {
+
+ /*
+ * This should detect the lack of 8-bit communication channel
+ * which is necessary for PPP to work. In addition, it also
+ * checks on the parity.
+ */
+ if (*dp & 0x80)
+ state->flags |= RCV_B7_1;
+ else
+ state->flags |= RCV_B7_0;
+
+ if (paritytab[*dp >> 5] & (1 << (*dp & 0x1f)))
+ state->flags |= RCV_ODDP;
+ else
+ state->flags |= RCV_EVNP;
+
+ /*
+ * So we have a HDLC flag ...
+ */
+ if (*dp == PPP_FLAG) {
+
+ /*
+ * If we think that it marks the beginning of the frame,
+ * then continue to process the next octects
+ */
+ if ((state->flags & IFLUSH) ||
+ (state->rx_buf == 0) ||
+ (msgdsize(state->rx_buf) == 0)) {
+
+ state->flags &= ~IFLUSH;
+ continue;
+ }
+
+ /*
+ * We get here because the above condition isn't true,
+ * in which case the HDLC flag was there to mark the end
+ * of the frame (or so we think)
+ */
+ om = state->rx_buf;
+
+ if (state->infcs == PPP_GOODFCS) {
+ state->stats.ppp_ipackets++;
+ adjmsg(om, -PPP_FCSLEN);
+ putnext(q, om);
+ } else {
+ DPRINT2("ppp%d: bad fcs (len=%d)\n",
+ state->unit, msgdsize(state->rx_buf));
+ freemsg(state->rx_buf);
+ state->flags &= ~(IFLUSH | ESCAPED);
+ state->stats.ppp_ierrors++;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ }
+
+ state->rx_buf = 0;
+ continue;
+ }
+
+ if (state->flags & IFLUSH) {
+ continue;
+ }
+
+ /*
+ * Allocate a receive buffer, large enough to store a frame (after
+ * un-escaping) of at least 1500 octets. If MRU is negotiated to
+ * be more than the default, then allocate that much. In addition,
+ * we add an extra 32-bytes for a fudge factor
+ */
+ if (state->rx_buf == 0) {
+ state->rx_buf_size = (state->mru < PPP_MRU ? PPP_MRU : state->mru);
+ state->rx_buf_size += (sizeof(u_int32_t) << 3);
+ state->rx_buf = allocb(state->rx_buf_size, BPRI_MED);
+
+ /*
+ * If allocation fails, try again on the next frame
+ */
+ if (state->rx_buf == 0) {
+ state->flags |= IFLUSH;
+ continue;
+ }
+ state->flags &= ~(IFLUSH | ESCAPED);
+ state->infcs = PPP_INITFCS;
+ }
+
+ if (*dp == PPP_ESCAPE) {
+ state->flags |= ESCAPED;
+ continue;
+ }
+
+ /*
+ * Make sure we un-escape the necessary characters, as well as the
+ * ones in our receive async control character map
+ */
+ if (state->flags & ESCAPED) {
+ *dp ^= PPP_TRANS;
+ state->flags &= ~ESCAPED;
+ } else if (IN_RX_MAP(*dp, state->raccm))
+ continue;
+
+ /*
+ * Unless the peer lied to us about the negotiated MRU, we should
+ * never get a frame which is too long. If it happens, toss it away
+ * and grab the next incoming one
+ */
+ if (msgdsize(state->rx_buf) < state->rx_buf_size) {
+ state->infcs = PPP_FCS(state->infcs, *dp);
+ *state->rx_buf->b_wptr++ = *dp;
+ } else {
+ DPRINT2("ppp%d: frame too long (%d)\n",
+ state->unit, msgdsize(state->rx_buf));
+ freemsg(state->rx_buf);
+ state->rx_buf = 0;
+ state->flags |= IFLUSH;
+ }
+ }
+
+#if defined(USE_MUTEX)
+ mutex_exit(&state->lock);
+#endif /* USE_MUTEX */
+}
+
+static int
+msg_byte(mp, i)
+ mblk_t *mp;
+ unsigned int i;
+{
+ while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
+ mp = mp->b_cont;
+ if (mp == 0)
+ return -1;
+ return mp->b_rptr[i];
+}
diff --git a/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c b/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
new file mode 100644
index 000000000..f81be8abb
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_ahdlc_mod.c
@@ -0,0 +1,49 @@
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+
+extern struct streamtab ppp_ahdlcinfo;
+
+static struct fmodsw fsw = {
+ "ppp_ahdl",
+ &ppp_ahdlcinfo,
+ D_NEW | D_MP | D_MTQPAIR
+};
+
+extern struct mod_ops mod_strmodops;
+
+static struct modlstrmod modlstrmod = {
+ &mod_strmodops,
+ "PPP async HDLC module",
+ &fsw
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modlstrmod,
+ NULL
+};
+
+/*
+ * Entry points for modloading.
+ */
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp.c b/mdk-stage1/ppp/solaris/ppp_comp.c
new file mode 100644
index 000000000..21902d948
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_comp.c
@@ -0,0 +1,1126 @@
+/*
+ * ppp_comp.c - STREAMS module for kernel-level compression and CCP support.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_comp.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under SVR4, Solaris 2, SunOS 4, and Digital UNIX.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/errno.h>
+#include <sys/stream.h>
+
+#ifdef SVR4
+#include <sys/conf.h>
+#include <sys/cmn_err.h>
+#include <sys/ddi.h>
+#else
+#include <sys/user.h>
+#ifdef __osf__
+#include <sys/cmn_err.h>
+#endif
+#endif /* SVR4 */
+
+#include <net/ppp_defs.h>
+#include <net/pppio.h>
+#include "ppp_mod.h"
+
+#ifdef __osf__
+#include <sys/mbuf.h>
+#include <sys/protosw.h>
+#endif
+
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <net/vjcompress.h>
+
+#define PACKETPTR mblk_t *
+#include <net/ppp-comp.h>
+
+MOD_OPEN_DECL(ppp_comp_open);
+MOD_CLOSE_DECL(ppp_comp_close);
+static int ppp_comp_rput __P((queue_t *, mblk_t *));
+static int ppp_comp_rsrv __P((queue_t *));
+static int ppp_comp_wput __P((queue_t *, mblk_t *));
+static int ppp_comp_wsrv __P((queue_t *));
+static void ppp_comp_ccp __P((queue_t *, mblk_t *, int));
+static int msg_byte __P((mblk_t *, unsigned int));
+
+/* Extract byte i of message mp. */
+#define MSG_BYTE(mp, i) ((i) < (mp)->b_wptr - (mp)->b_rptr? (mp)->b_rptr[i]: \
+ msg_byte((mp), (i)))
+
+/* Is this LCP packet one we have to transmit using LCP defaults? */
+#define LCP_USE_DFLT(mp) (1 <= (code = MSG_BYTE((mp), 4)) && code <= 7)
+
+#define PPP_COMP_ID 0xbadf
+static struct module_info minfo = {
+#ifdef PRIOQ
+ PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16512, 16384,
+#else
+ PPP_COMP_ID, "ppp_comp", 0, INFPSZ, 16384, 4096,
+#endif
+};
+
+static struct qinit r_init = {
+ ppp_comp_rput, ppp_comp_rsrv, ppp_comp_open, ppp_comp_close,
+ NULL, &minfo, NULL
+};
+
+static struct qinit w_init = {
+ ppp_comp_wput, ppp_comp_wsrv, NULL, NULL, NULL, &minfo, NULL
+};
+
+#if defined(SVR4) && !defined(SOL2)
+int pcmpdevflag = 0;
+#define ppp_compinfo pcmpinfo
+#endif
+struct streamtab ppp_compinfo = {
+ &r_init, &w_init, NULL, NULL
+};
+
+int ppp_comp_count; /* number of module instances in use */
+
+#ifdef __osf__
+
+static void ppp_comp_alloc __P((comp_state_t *));
+typedef struct memreq {
+ unsigned char comp_opts[20];
+ int cmd;
+ int thread_status;
+ char *returned_mem;
+} memreq_t;
+
+#endif
+
+typedef struct comp_state {
+ int flags;
+ int mru;
+ int mtu;
+ int unit;
+ struct compressor *xcomp;
+ void *xstate;
+ struct compressor *rcomp;
+ void *rstate;
+ struct vjcompress vj_comp;
+ int vj_last_ierrors;
+ struct pppstat stats;
+#ifdef __osf__
+ memreq_t memreq;
+ thread_t thread;
+#endif
+} comp_state_t;
+
+
+#ifdef __osf__
+extern task_t first_task;
+#endif
+
+/* Bits in flags are as defined in pppio.h. */
+#define CCP_ERR (CCP_ERROR | CCP_FATALERROR)
+#define LAST_MOD 0x1000000 /* no ppp modules below us */
+#define DBGLOG 0x2000000 /* log debugging stuff */
+
+#define MAX_IPHDR 128 /* max TCP/IP header size */
+#define MAX_VJHDR 20 /* max VJ compressed header size (?) */
+
+#undef MIN /* just in case */
+#define MIN(a, b) ((a) < (b)? (a): (b))
+
+/*
+ * List of compressors we know about.
+ */
+
+#if DO_BSD_COMPRESS
+extern struct compressor ppp_bsd_compress;
+#endif
+#if DO_DEFLATE
+extern struct compressor ppp_deflate, ppp_deflate_draft;
+#endif
+
+struct compressor *ppp_compressors[] = {
+#if DO_BSD_COMPRESS
+ &ppp_bsd_compress,
+#endif
+#if DO_DEFLATE
+ &ppp_deflate,
+ &ppp_deflate_draft,
+#endif
+ NULL
+};
+
+/*
+ * STREAMS module entry points.
+ */
+MOD_OPEN(ppp_comp_open)
+{
+ comp_state_t *cp;
+#ifdef __osf__
+ thread_t thread;
+#endif
+
+ if (q->q_ptr == NULL) {
+ cp = (comp_state_t *) ALLOC_SLEEP(sizeof(comp_state_t));
+ if (cp == NULL)
+ OPEN_ERROR(ENOSR);
+ bzero((caddr_t)cp, sizeof(comp_state_t));
+ WR(q)->q_ptr = q->q_ptr = (caddr_t) cp;
+ cp->mru = PPP_MRU;
+ cp->mtu = PPP_MTU;
+ cp->xstate = NULL;
+ cp->rstate = NULL;
+ vj_compress_init(&cp->vj_comp, -1);
+#ifdef __osf__
+ if (!(thread = kernel_thread_w_arg(first_task, ppp_comp_alloc, (void *)cp)))
+ OPEN_ERROR(ENOSR);
+ cp->thread = thread;
+#endif
+ ++ppp_comp_count;
+ qprocson(q);
+ }
+ return 0;
+}
+
+MOD_CLOSE(ppp_comp_close)
+{
+ comp_state_t *cp;
+
+ qprocsoff(q);
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp != NULL) {
+ if (cp->xstate != NULL)
+ (*cp->xcomp->comp_free)(cp->xstate);
+ if (cp->rstate != NULL)
+ (*cp->rcomp->decomp_free)(cp->rstate);
+#ifdef __osf__
+ if (!cp->thread)
+ printf("ppp_comp_close: NULL thread!\n");
+ else
+ thread_terminate(cp->thread);
+#endif
+ FREE(cp, sizeof(comp_state_t));
+ q->q_ptr = NULL;
+ OTHERQ(q)->q_ptr = NULL;
+ --ppp_comp_count;
+ }
+ return 0;
+}
+
+#ifdef __osf__
+
+/* thread for calling back to a compressor's memory allocator
+ * Needed for Digital UNIX since it's VM can't handle requests
+ * for large amounts of memory without blocking. The thread
+ * provides a context in which we can call a memory allocator
+ * that may block.
+ */
+static void
+ppp_comp_alloc(comp_state_t *cp)
+{
+ int len, cmd;
+ unsigned char *compressor_options;
+ thread_t thread;
+ void *(*comp_allocator)();
+
+
+#if defined(MAJOR_VERSION) && (MAJOR_VERSION <= 2)
+
+ /* In 2.x and earlier the argument gets passed
+ * in the thread structure itself. Yuck.
+ */
+ thread = current_thread();
+ cp = thread->reply_port;
+ thread->reply_port = PORT_NULL;
+
+#endif
+
+ for (;;) {
+ assert_wait((vm_offset_t)&cp->memreq.thread_status, TRUE);
+ thread_block();
+
+ if (thread_should_halt(current_thread()))
+ thread_halt_self();
+ cmd = cp->memreq.cmd;
+ compressor_options = &cp->memreq.comp_opts[0];
+ len = compressor_options[1];
+ if (cmd == PPPIO_XCOMP) {
+ cp->memreq.returned_mem = cp->xcomp->comp_alloc(compressor_options, len);
+ if (!cp->memreq.returned_mem) {
+ cp->memreq.thread_status = ENOSR;
+ } else {
+ cp->memreq.thread_status = 0;
+ }
+ } else {
+ cp->memreq.returned_mem = cp->rcomp->decomp_alloc(compressor_options, len);
+ if (!cp->memreq.returned_mem) {
+ cp->memreq.thread_status = ENOSR;
+ } else {
+ cp->memreq.thread_status = 0;
+ }
+ }
+ }
+}
+
+#endif /* __osf__ */
+
+/* here's the deal with memory allocation under Digital UNIX.
+ * Some other may also benefit from this...
+ * We can't ask for huge chunks of memory in a context where
+ * the caller can't be put to sleep (like, here.) The alloc
+ * is likely to fail. Instead we do this: the first time we
+ * get called, kick off a thread to do the allocation. Return
+ * immediately to the caller with EAGAIN, as an indication that
+ * they should send down the ioctl again. By the time the
+ * second call comes in it's likely that the memory allocation
+ * thread will have returned with the requested memory. We will
+ * continue to return EAGAIN however until the thread has completed.
+ * When it has, we return zero (and the memory) if the allocator
+ * was successful and ENOSR otherwise.
+ *
+ * Callers of the RCOMP and XCOMP ioctls are encouraged (but not
+ * required) to loop for some number of iterations with a small
+ * delay in the loop body (for instance a 1/10-th second "sleep"
+ * via select.)
+ */
+static int
+ppp_comp_wput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ struct iocblk *iop;
+ comp_state_t *cp;
+ int error, len, n;
+ int flags, mask;
+ mblk_t *np;
+ struct compressor **comp;
+ struct ppp_stats *psp;
+ struct ppp_comp_stats *csp;
+ unsigned char *opt_data;
+ int nxslots, nrslots;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_wput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+
+ case M_DATA:
+ putq(q, mp);
+ break;
+
+ case M_IOCTL:
+ iop = (struct iocblk *) mp->b_rptr;
+ error = EINVAL;
+ switch (iop->ioc_cmd) {
+
+ case PPPIO_CFLAGS:
+ /* set/get CCP state */
+ if (iop->ioc_count != 2 * sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_CFLAGS b_cont = 0!\n", cp->unit);
+ break;
+ }
+ flags = ((int *) mp->b_cont->b_rptr)[0];
+ mask = ((int *) mp->b_cont->b_rptr)[1];
+ cp->flags = (cp->flags & ~mask) | (flags & mask);
+ if ((mask & CCP_ISOPEN) && (flags & CCP_ISOPEN) == 0) {
+ if (cp->xstate != NULL) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = NULL;
+ }
+ if (cp->rstate != NULL) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ cp->flags &= ~CCP_ISUP;
+ }
+ error = 0;
+ iop->ioc_count = sizeof(int);
+ ((int *) mp->b_cont->b_rptr)[0] = cp->flags;
+ mp->b_cont->b_wptr = mp->b_cont->b_rptr + sizeof(int);
+ break;
+
+ case PPPIO_VJINIT:
+ /*
+ * Initialize VJ compressor/decompressor
+ */
+ if (iop->ioc_count != 2)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_VJINIT b_cont = 0!\n", cp->unit);
+ break;
+ }
+ nxslots = mp->b_cont->b_rptr[0] + 1;
+ nrslots = mp->b_cont->b_rptr[1] + 1;
+ if (nxslots > MAX_STATES || nrslots > MAX_STATES)
+ break;
+ vj_compress_init(&cp->vj_comp, nxslots);
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ error = 0;
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_XCOMP:
+ case PPPIO_RCOMP:
+ if (iop->ioc_count <= 0)
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_[XR]COMP b_cont = 0!\n", cp->unit);
+ break;
+ }
+ opt_data = mp->b_cont->b_rptr;
+ len = mp->b_cont->b_wptr - opt_data;
+ if (len > iop->ioc_count)
+ len = iop->ioc_count;
+ if (opt_data[1] < 2 || opt_data[1] > len)
+ break;
+ for (comp = ppp_compressors; *comp != NULL; ++comp)
+ if ((*comp)->compress_proto == opt_data[0]) {
+ /* here's the handler! */
+ error = 0;
+#ifndef __osf__
+ if (iop->ioc_cmd == PPPIO_XCOMP) {
+ /* A previous call may have fetched memory for a compressor
+ * that's now being retired or reset. Free it using it's
+ * mechanism for freeing stuff.
+ */
+ if (cp->xstate != NULL) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = NULL;
+ }
+ cp->xcomp = *comp;
+ cp->xstate = (*comp)->comp_alloc(opt_data, len);
+ if (cp->xstate == NULL)
+ error = ENOSR;
+ } else {
+ if (cp->rstate != NULL) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ cp->rcomp = *comp;
+ cp->rstate = (*comp)->decomp_alloc(opt_data, len);
+ if (cp->rstate == NULL)
+ error = ENOSR;
+ }
+#else
+ if ((error = cp->memreq.thread_status) != EAGAIN)
+ if (iop->ioc_cmd == PPPIO_XCOMP) {
+ if (cp->xstate) {
+ (*cp->xcomp->comp_free)(cp->xstate);
+ cp->xstate = 0;
+ }
+ /* sanity check for compressor options
+ */
+ if (sizeof (cp->memreq.comp_opts) < len) {
+ printf("can't handle options for compressor %d (%d)\n", opt_data[0],
+ opt_data[1]);
+ cp->memreq.thread_status = ENOSR;
+ cp->memreq.returned_mem = 0;
+ }
+ /* fill in request for the thread and kick it off
+ */
+ if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
+ bcopy(opt_data, cp->memreq.comp_opts, len);
+ cp->memreq.cmd = PPPIO_XCOMP;
+ cp->xcomp = *comp;
+ error = cp->memreq.thread_status = EAGAIN;
+ thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
+ } else {
+ cp->xstate = cp->memreq.returned_mem;
+ cp->memreq.returned_mem = 0;
+ cp->memreq.thread_status = 0;
+ }
+ } else {
+ if (cp->rstate) {
+ (*cp->rcomp->decomp_free)(cp->rstate);
+ cp->rstate = NULL;
+ }
+ if (sizeof (cp->memreq.comp_opts) < len) {
+ printf("can't handle options for compressor %d (%d)\n", opt_data[0],
+ opt_data[1]);
+ cp->memreq.thread_status = ENOSR;
+ cp->memreq.returned_mem = 0;
+ }
+ if (cp->memreq.thread_status == 0 && !cp->memreq.returned_mem) {
+ bcopy(opt_data, cp->memreq.comp_opts, len);
+ cp->memreq.cmd = PPPIO_RCOMP;
+ cp->rcomp = *comp;
+ error = cp->memreq.thread_status = EAGAIN;
+ thread_wakeup((vm_offset_t)&cp->memreq.thread_status);
+ } else {
+ cp->rstate = cp->memreq.returned_mem;
+ cp->memreq.returned_mem = 0;
+ cp->memreq.thread_status = 0;
+ }
+ }
+#endif
+ break;
+ }
+ iop->ioc_count = 0;
+ break;
+
+ case PPPIO_GETSTAT:
+ if ((cp->flags & LAST_MOD) == 0) {
+ error = -1; /* let the ppp_ahdl module handle it */
+ break;
+ }
+ np = allocb(sizeof(struct ppp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ psp = (struct ppp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_stats);
+ iop->ioc_count = sizeof(struct ppp_stats);
+ psp->p = cp->stats;
+ psp->vj = cp->vj_comp.stats;
+ error = 0;
+ break;
+
+ case PPPIO_GETCSTAT:
+ np = allocb(sizeof(struct ppp_comp_stats), BPRI_HI);
+ if (np == 0) {
+ error = ENOSR;
+ break;
+ }
+ if (mp->b_cont != 0)
+ freemsg(mp->b_cont);
+ mp->b_cont = np;
+ csp = (struct ppp_comp_stats *) np->b_wptr;
+ np->b_wptr += sizeof(struct ppp_comp_stats);
+ iop->ioc_count = sizeof(struct ppp_comp_stats);
+ bzero((caddr_t)csp, sizeof(struct ppp_comp_stats));
+ if (cp->xstate != 0)
+ (*cp->xcomp->comp_stat)(cp->xstate, &csp->c);
+ if (cp->rstate != 0)
+ (*cp->rcomp->decomp_stat)(cp->rstate, &csp->d);
+ error = 0;
+ break;
+
+ case PPPIO_DEBUG:
+ if (iop->ioc_count != sizeof(int))
+ break;
+ if (mp->b_cont == 0) {
+ DPRINT1("ppp_comp_wput/%d: PPPIO_DEBUG b_cont = 0!\n", cp->unit);
+ break;
+ }
+ n = *(int *)mp->b_cont->b_rptr;
+ if (n == PPPDBG_LOG + PPPDBG_COMP) {
+ DPRINT1("ppp_comp%d: debug log enabled\n", cp->unit);
+ cp->flags |= DBGLOG;
+ error = 0;
+ iop->ioc_count = 0;
+ } else {
+ error = -1;
+ }
+ break;
+
+ case PPPIO_LASTMOD:
+ cp->flags |= LAST_MOD;
+ error = 0;
+ break;
+
+ default:
+ error = -1;
+ break;
+ }
+
+ if (error < 0)
+ putnext(q, mp);
+ else if (error == 0) {
+ mp->b_datap->db_type = M_IOCACK;
+ qreply(q, mp);
+ } else {
+ mp->b_datap->db_type = M_IOCNAK;
+ iop->ioc_error = error;
+ iop->ioc_count = 0;
+ qreply(q, mp);
+ }
+ break;
+
+ case M_CTL:
+ switch (*mp->b_rptr) {
+ case PPPCTL_MTU:
+ cp->mtu = ((unsigned short *)mp->b_rptr)[1];
+ break;
+ case PPPCTL_MRU:
+ cp->mru = ((unsigned short *)mp->b_rptr)[1];
+ break;
+ case PPPCTL_UNIT:
+ cp->unit = mp->b_rptr[1];
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_wsrv(q)
+ queue_t *q;
+{
+ mblk_t *mp, *cmp = NULL;
+ comp_state_t *cp;
+ int len, proto, type, hlen, code;
+ struct ip *ip;
+ unsigned char *vjhdr, *dp;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_wsrv\n");
+ return 0;
+ }
+
+ while ((mp = getq(q)) != 0) {
+ /* assert(mp->b_datap->db_type == M_DATA) */
+#ifdef PRIOQ
+ if (!bcanputnext(q,mp->b_band))
+#else
+ if (!canputnext(q))
+#endif PRIOQ
+ {
+ putbq(q, mp);
+ break;
+ }
+
+ /*
+ * First check the packet length and work out what the protocol is.
+ */
+ len = msgdsize(mp);
+ if (len < PPP_HDRLEN) {
+ DPRINT1("ppp_comp_wsrv: bogus short packet (%d)\n", len);
+ freemsg(mp);
+ cp->stats.ppp_oerrors++;
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ continue;
+ }
+ proto = (MSG_BYTE(mp, 2) << 8) + MSG_BYTE(mp, 3);
+
+ /*
+ * Make sure we've got enough data in the first mblk
+ * and that we are its only user.
+ */
+ if (proto == PPP_CCP)
+ hlen = len;
+ else if (proto == PPP_IP)
+ hlen = PPP_HDRLEN + MAX_IPHDR;
+ else
+ hlen = PPP_HDRLEN;
+ if (hlen > len)
+ hlen = len;
+ if (mp->b_wptr < mp->b_rptr + hlen || mp->b_datap->db_ref > 1) {
+ PULLUP(mp, hlen);
+ if (mp == 0) {
+ DPRINT1("ppp_comp_wsrv: pullup failed (%d)\n", hlen);
+ cp->stats.ppp_oerrors++;
+ putctl1(RD(q)->q_next, M_CTL, PPPCTL_OERROR);
+ continue;
+ }
+ }
+
+ /*
+ * Do VJ compression if requested.
+ */
+ if (proto == PPP_IP && (cp->flags & COMP_VJC)) {
+ ip = (struct ip *) (mp->b_rptr + PPP_HDRLEN);
+ if (ip->ip_p == IPPROTO_TCP) {
+ type = vj_compress_tcp(ip, len - PPP_HDRLEN, &cp->vj_comp,
+ (cp->flags & COMP_VJCCID), &vjhdr);
+ switch (type) {
+ case TYPE_UNCOMPRESSED_TCP:
+ mp->b_rptr[3] = proto = PPP_VJC_UNCOMP;
+ break;
+ case TYPE_COMPRESSED_TCP:
+ dp = vjhdr - PPP_HDRLEN;
+ dp[1] = mp->b_rptr[1]; /* copy control field */
+ dp[0] = mp->b_rptr[0]; /* copy address field */
+ dp[2] = 0; /* set protocol field */
+ dp[3] = proto = PPP_VJC_COMP;
+ mp->b_rptr = dp;
+ break;
+ }
+ }
+ }
+
+ /*
+ * Do packet compression if enabled.
+ */
+ if (proto == PPP_CCP)
+ ppp_comp_ccp(q, mp, 0);
+ else if (proto != PPP_LCP && (cp->flags & CCP_COMP_RUN)
+ && cp->xstate != NULL) {
+ len = msgdsize(mp);
+ (*cp->xcomp->compress)(cp->xstate, &cmp, mp, len,
+ (cp->flags & CCP_ISUP? cp->mtu + PPP_HDRLEN: 0));
+ if (cmp != NULL) {
+#ifdef PRIOQ
+ cmp->b_band=mp->b_band;
+#endif PRIOQ
+ freemsg(mp);
+ mp = cmp;
+ }
+ }
+
+ /*
+ * Do address/control and protocol compression if enabled.
+ */
+ if ((cp->flags & COMP_AC)
+ && !(proto == PPP_LCP && LCP_USE_DFLT(mp))) {
+ mp->b_rptr += 2; /* drop the address & ctrl fields */
+ if (proto < 0x100 && (cp->flags & COMP_PROT))
+ ++mp->b_rptr; /* drop the high protocol byte */
+ } else if (proto < 0x100 && (cp->flags & COMP_PROT)) {
+ /* shuffle up the address & ctrl fields */
+ mp->b_rptr[2] = mp->b_rptr[1];
+ mp->b_rptr[1] = mp->b_rptr[0];
+ ++mp->b_rptr;
+ }
+
+ cp->stats.ppp_opackets++;
+ cp->stats.ppp_obytes += msgdsize(mp);
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_rput(q, mp)
+ queue_t *q;
+ mblk_t *mp;
+{
+ comp_state_t *cp;
+ struct iocblk *iop;
+ struct ppp_stats *psp;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_rput\n");
+ freemsg(mp);
+ return 0;
+ }
+
+ switch (mp->b_datap->db_type) {
+
+ case M_DATA:
+ putq(q, mp);
+ break;
+
+ case M_IOCACK:
+ iop = (struct iocblk *) mp->b_rptr;
+ switch (iop->ioc_cmd) {
+ case PPPIO_GETSTAT:
+ /*
+ * Catch this on the way back from the ppp_ahdl module
+ * so we can fill in the VJ stats.
+ */
+ if (mp->b_cont == 0 || iop->ioc_count != sizeof(struct ppp_stats))
+ break;
+ psp = (struct ppp_stats *) mp->b_cont->b_rptr;
+ psp->vj = cp->vj_comp.stats;
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ case M_CTL:
+ switch (mp->b_rptr[0]) {
+ case PPPCTL_IERROR:
+ ++cp->stats.ppp_ierrors;
+ break;
+ case PPPCTL_OERROR:
+ ++cp->stats.ppp_oerrors;
+ break;
+ }
+ putnext(q, mp);
+ break;
+
+ default:
+ putnext(q, mp);
+ }
+
+ return 0;
+}
+
+static int
+ppp_comp_rsrv(q)
+ queue_t *q;
+{
+ int proto, rv, i;
+ mblk_t *mp, *dmp = NULL, *np;
+ uchar_t *dp, *iphdr;
+ comp_state_t *cp;
+ int len, hlen, vjlen;
+ u_int iphlen;
+
+ cp = (comp_state_t *) q->q_ptr;
+ if (cp == 0) {
+ DPRINT("cp == 0 in ppp_comp_rsrv\n");
+ return 0;
+ }
+
+ while ((mp = getq(q)) != 0) {
+ /* assert(mp->b_datap->db_type == M_DATA) */
+ if (!canputnext(q)) {
+ putbq(q, mp);
+ break;
+ }
+
+ len = msgdsize(mp);
+ cp->stats.ppp_ibytes += len;
+ cp->stats.ppp_ipackets++;
+
+ /*
+ * First work out the protocol and where the PPP header ends.
+ */
+ i = 0;
+ proto = MSG_BYTE(mp, 0);
+ if (proto == PPP_ALLSTATIONS) {
+ i = 2;
+ proto = MSG_BYTE(mp, 2);
+ }
+ if ((proto & 1) == 0) {
+ ++i;
+ proto = (proto << 8) + MSG_BYTE(mp, i);
+ }
+ hlen = i + 1;
+
+ /*
+ * Now reconstruct a complete, contiguous PPP header at the
+ * start of the packet.
+ */
+ if (hlen < ((cp->flags & DECOMP_AC)? 0: 2)
+ + ((cp->flags & DECOMP_PROT)? 1: 2)) {
+ /* count these? */
+ goto bad;
+ }
+ if (mp->b_rptr + hlen > mp->b_wptr) {
+ adjmsg(mp, hlen); /* XXX check this call */
+ hlen = 0;
+ }
+ if (hlen != PPP_HDRLEN) {
+ /*
+ * We need to put some bytes on the front of the packet
+ * to make a full-length PPP header.
+ * If we can put them in *mp, we do, otherwise we
+ * tack another mblk on the front.
+ * XXX we really shouldn't need to carry around
+ * the address and control at this stage.
+ */
+ dp = mp->b_rptr + hlen - PPP_HDRLEN;
+ if (dp < mp->b_datap->db_base || mp->b_datap->db_ref > 1) {
+ np = allocb(PPP_HDRLEN, BPRI_MED);
+ if (np == 0)
+ goto bad;
+ np->b_cont = mp;
+ mp->b_rptr += hlen;
+ mp = np;
+ dp = mp->b_wptr;
+ mp->b_wptr += PPP_HDRLEN;
+ } else
+ mp->b_rptr = dp;
+
+ dp[0] = PPP_ALLSTATIONS;
+ dp[1] = PPP_UI;
+ dp[2] = proto >> 8;
+ dp[3] = proto;
+ }
+
+ /*
+ * Now see if we have a compressed packet to decompress,
+ * or a CCP packet to take notice of.
+ */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto == PPP_CCP) {
+ len = msgdsize(mp);
+ if (mp->b_wptr < mp->b_rptr + len) {
+ PULLUP(mp, len);
+ if (mp == 0)
+ goto bad;
+ }
+ ppp_comp_ccp(q, mp, 1);
+ } else if (proto == PPP_COMP) {
+ if ((cp->flags & CCP_ISUP)
+ && (cp->flags & CCP_DECOMP_RUN) && cp->rstate
+ && (cp->flags & CCP_ERR) == 0) {
+ rv = (*cp->rcomp->decompress)(cp->rstate, mp, &dmp);
+ switch (rv) {
+ case DECOMP_OK:
+ freemsg(mp);
+ mp = dmp;
+ if (mp == NULL) {
+ /* no error, but no packet returned either. */
+ continue;
+ }
+ break;
+ case DECOMP_ERROR:
+ cp->flags |= CCP_ERROR;
+ ++cp->stats.ppp_ierrors;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ break;
+ case DECOMP_FATALERROR:
+ cp->flags |= CCP_FATALERROR;
+ ++cp->stats.ppp_ierrors;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ break;
+ }
+ }
+ } else if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
+ (*cp->rcomp->incomp)(cp->rstate, mp);
+ }
+
+ /*
+ * Now do VJ decompression.
+ */
+ proto = PPP_PROTOCOL(mp->b_rptr);
+ if (proto == PPP_VJC_COMP || proto == PPP_VJC_UNCOMP) {
+ len = msgdsize(mp) - PPP_HDRLEN;
+ if ((cp->flags & DECOMP_VJC) == 0 || len <= 0)
+ goto bad;
+
+ /*
+ * Advance past the ppp header.
+ * Here we assume that the whole PPP header is in the first mblk.
+ */
+ np = mp;
+ dp = np->b_rptr + PPP_HDRLEN;
+ if (dp >= mp->b_wptr) {
+ np = np->b_cont;
+ dp = np->b_rptr;
+ }
+
+ /*
+ * Make sure we have sufficient contiguous data at this point.
+ */
+ hlen = (proto == PPP_VJC_COMP)? MAX_VJHDR: MAX_IPHDR;
+ if (hlen > len)
+ hlen = len;
+ if (np->b_wptr < dp + hlen || np->b_datap->db_ref > 1) {
+ PULLUP(mp, hlen + PPP_HDRLEN);
+ if (mp == 0)
+ goto bad;
+ np = mp;
+ dp = np->b_rptr + PPP_HDRLEN;
+ }
+
+ if (proto == PPP_VJC_COMP) {
+ /*
+ * Decompress VJ-compressed packet.
+ * First reset compressor if an input error has occurred.
+ */
+ if (cp->stats.ppp_ierrors != cp->vj_last_ierrors) {
+ if (cp->flags & DBGLOG)
+ DPRINT1("ppp%d: resetting VJ\n", cp->unit);
+ vj_uncompress_err(&cp->vj_comp);
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ }
+
+ vjlen = vj_uncompress_tcp(dp, np->b_wptr - dp, len,
+ &cp->vj_comp, &iphdr, &iphlen);
+ if (vjlen < 0) {
+ if (cp->flags & DBGLOG)
+ DPRINT2("ppp%d: vj_uncomp_tcp failed, pkt len %d\n",
+ cp->unit, len);
+ ++cp->vj_last_ierrors; /* so we don't reset next time */
+ goto bad;
+ }
+
+ /* drop ppp and vj headers off */
+ if (mp != np) {
+ freeb(mp);
+ mp = np;
+ }
+ mp->b_rptr = dp + vjlen;
+
+ /* allocate a new mblk for the ppp and ip headers */
+ if ((np = allocb(iphlen + PPP_HDRLEN + 4, BPRI_MED)) == 0)
+ goto bad;
+ dp = np->b_rptr; /* prepend mblk with TCP/IP hdr */
+ dp[0] = PPP_ALLSTATIONS; /* reconstruct PPP header */
+ dp[1] = PPP_UI;
+ dp[2] = PPP_IP >> 8;
+ dp[3] = PPP_IP;
+ bcopy((caddr_t)iphdr, (caddr_t)dp + PPP_HDRLEN, iphlen);
+ np->b_wptr = dp + iphlen + PPP_HDRLEN;
+ np->b_cont = mp;
+
+ /* XXX there seems to be a bug which causes panics in strread
+ if we make an mbuf with only the IP header in it :-( */
+ if (mp->b_wptr - mp->b_rptr > 4) {
+ bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr, 4);
+ mp->b_rptr += 4;
+ np->b_wptr += 4;
+ } else {
+ bcopy((caddr_t)mp->b_rptr, (caddr_t)np->b_wptr,
+ mp->b_wptr - mp->b_rptr);
+ np->b_wptr += mp->b_wptr - mp->b_rptr;
+ np->b_cont = mp->b_cont;
+ freeb(mp);
+ }
+
+ mp = np;
+
+ } else {
+ /*
+ * "Decompress" a VJ-uncompressed packet.
+ */
+ cp->vj_last_ierrors = cp->stats.ppp_ierrors;
+ if (!vj_uncompress_uncomp(dp, hlen, &cp->vj_comp)) {
+ if (cp->flags & DBGLOG)
+ DPRINT2("ppp%d: vj_uncomp_uncomp failed, pkt len %d\n",
+ cp->unit, len);
+ ++cp->vj_last_ierrors; /* don't need to reset next time */
+ goto bad;
+ }
+ mp->b_rptr[3] = PPP_IP; /* fix up the PPP protocol field */
+ }
+ }
+
+ putnext(q, mp);
+ continue;
+
+ bad:
+ if (mp != 0)
+ freemsg(mp);
+ cp->stats.ppp_ierrors++;
+ putctl1(q->q_next, M_CTL, PPPCTL_IERROR);
+ }
+
+ return 0;
+}
+
+/*
+ * Handle a CCP packet being sent or received.
+ * Here all the data in the packet is in a single mbuf.
+ */
+static void
+ppp_comp_ccp(q, mp, rcvd)
+ queue_t *q;
+ mblk_t *mp;
+ int rcvd;
+{
+ int len, clen;
+ comp_state_t *cp;
+ unsigned char *dp;
+
+ len = msgdsize(mp);
+ if (len < PPP_HDRLEN + CCP_HDRLEN)
+ return;
+
+ cp = (comp_state_t *) q->q_ptr;
+ dp = mp->b_rptr + PPP_HDRLEN;
+ len -= PPP_HDRLEN;
+ clen = CCP_LENGTH(dp);
+ if (clen > len)
+ return;
+
+ switch (CCP_CODE(dp)) {
+ case CCP_CONFREQ:
+ case CCP_TERMREQ:
+ case CCP_TERMACK:
+ cp->flags &= ~CCP_ISUP;
+ break;
+
+ case CCP_CONFACK:
+ if ((cp->flags & (CCP_ISOPEN | CCP_ISUP)) == CCP_ISOPEN
+ && clen >= CCP_HDRLEN + CCP_OPT_MINLEN
+ && clen >= CCP_HDRLEN + CCP_OPT_LENGTH(dp + CCP_HDRLEN)) {
+ if (!rcvd) {
+ if (cp->xstate != NULL
+ && (*cp->xcomp->comp_init)
+ (cp->xstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
+ cp->unit, 0, ((cp->flags & DBGLOG) != 0)))
+ cp->flags |= CCP_COMP_RUN;
+ } else {
+ if (cp->rstate != NULL
+ && (*cp->rcomp->decomp_init)
+ (cp->rstate, dp + CCP_HDRLEN, clen - CCP_HDRLEN,
+ cp->unit, 0, cp->mru, ((cp->flags & DBGLOG) != 0)))
+ cp->flags = (cp->flags & ~CCP_ERR) | CCP_DECOMP_RUN;
+ }
+ }
+ break;
+
+ case CCP_RESETACK:
+ if (cp->flags & CCP_ISUP) {
+ if (!rcvd) {
+ if (cp->xstate && (cp->flags & CCP_COMP_RUN))
+ (*cp->xcomp->comp_reset)(cp->xstate);
+ } else {
+ if (cp->rstate && (cp->flags & CCP_DECOMP_RUN)) {
+ (*cp->rcomp->decomp_reset)(cp->rstate);
+ cp->flags &= ~CCP_ERROR;
+ }
+ }
+ }
+ break;
+ }
+}
+
+#if 0
+dump_msg(mp)
+ mblk_t *mp;
+{
+ dblk_t *db;
+
+ while (mp != 0) {
+ db = mp->b_datap;
+ DPRINT2("mp=%x cont=%x ", mp, mp->b_cont);
+ DPRINT3("rptr=%x wptr=%x datap=%x\n", mp->b_rptr, mp->b_wptr, db);
+ DPRINT2(" base=%x lim=%x", db->db_base, db->db_lim);
+ DPRINT2(" ref=%d type=%d\n", db->db_ref, db->db_type);
+ mp = mp->b_cont;
+ }
+}
+#endif
+
+static int
+msg_byte(mp, i)
+ mblk_t *mp;
+ unsigned int i;
+{
+ while (mp != 0 && i >= mp->b_wptr - mp->b_rptr)
+ mp = mp->b_cont;
+ if (mp == 0)
+ return -1;
+ return mp->b_rptr[i];
+}
diff --git a/mdk-stage1/ppp/solaris/ppp_comp_mod.c b/mdk-stage1/ppp/solaris/ppp_comp_mod.c
new file mode 100644
index 000000000..587d7a743
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_comp_mod.c
@@ -0,0 +1,81 @@
+/*
+ * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_comp_mod.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2.
+ */
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+
+extern struct streamtab ppp_compinfo;
+
+static struct fmodsw fsw = {
+ "ppp_comp",
+ &ppp_compinfo,
+ D_NEW | D_MP | D_MTQPAIR
+};
+
+extern struct mod_ops mod_strmodops;
+
+static struct modlstrmod modlstrmod = {
+ &mod_strmodops,
+ "PPP compression module",
+ &fsw
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modlstrmod,
+ NULL
+};
+
+/*
+ * Entry points for modloading.
+ */
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.c b/mdk-stage1/ppp/solaris/ppp_mod.c
new file mode 100644
index 000000000..ae296100c
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_mod.c
@@ -0,0 +1,174 @@
+/*
+ * ppp_mod.c - modload support for PPP pseudo-device driver.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_mod.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+#include <sys/ksynch.h>
+
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+
+static int ppp_identify __P((dev_info_t *));
+static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
+static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
+static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
+
+extern struct streamtab pppinfo;
+extern krwlock_t ppp_lower_lock;
+
+static dev_info_t *ppp_dip;
+
+static struct cb_ops cb_ppp_ops = {
+ nulldev, nulldev, nodev, nodev, /* cb_open, ... */
+ nodev, nodev, nodev, nodev, /* cb_dump, ... */
+ nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
+ ddi_prop_op, /* cb_prop_op */
+ &pppinfo, /* cb_stream */
+ D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
+};
+
+static struct dev_ops ppp_ops = {
+ DEVO_REV, /* devo_rev */
+ 0, /* devo_refcnt */
+ ppp_devinfo, /* devo_getinfo */
+ ppp_identify, /* devo_identify */
+ nulldev, /* devo_probe */
+ ppp_attach, /* devo_attach */
+ ppp_detach, /* devo_detach */
+ nodev, /* devo_reset */
+ &cb_ppp_ops, /* devo_cb_ops */
+ NULL /* devo_bus_ops */
+};
+
+/*
+ * Module linkage information
+ */
+
+static struct modldrv modldrv = {
+ &mod_driverops, /* says this is a pseudo driver */
+ "PPP-2.3 multiplexing driver",
+ &ppp_ops /* driver ops */
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modldrv,
+ NULL
+};
+
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
+
+static int
+ppp_identify(dip)
+ dev_info_t *dip;
+{
+ return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
+ DDI_NOT_IDENTIFIED;
+}
+
+static int
+ppp_attach(dip, cmd)
+ dev_info_t *dip;
+ ddi_attach_cmd_t cmd;
+{
+
+ if (cmd != DDI_ATTACH)
+ return DDI_FAILURE;
+ if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
+ == DDI_FAILURE) {
+ ddi_remove_minor_node(dip, NULL);
+ return DDI_FAILURE;
+ }
+ rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
+ return DDI_SUCCESS;
+}
+
+static int
+ppp_detach(dip, cmd)
+ dev_info_t *dip;
+ ddi_detach_cmd_t cmd;
+{
+ rw_destroy(&ppp_lower_lock);
+ ddi_remove_minor_node(dip, NULL);
+ return DDI_SUCCESS;
+}
+
+static int
+ppp_devinfo(dip, cmd, arg, result)
+ dev_info_t *dip;
+ ddi_info_cmd_t cmd;
+ void *arg;
+ void **result;
+{
+ int error;
+
+ error = DDI_SUCCESS;
+ switch (cmd) {
+ case DDI_INFO_DEVT2DEVINFO:
+ if (ppp_dip == NULL)
+ error = DDI_FAILURE;
+ else
+ *result = (void *) ppp_dip;
+ break;
+ case DDI_INFO_DEVT2INSTANCE:
+ *result = NULL;
+ break;
+ default:
+ error = DDI_FAILURE;
+ }
+ return error;
+}
diff --git a/mdk-stage1/ppp/solaris/ppp_mod.h b/mdk-stage1/ppp/solaris/ppp_mod.h
new file mode 100644
index 000000000..f0af00886
--- /dev/null
+++ b/mdk-stage1/ppp/solaris/ppp_mod.h
@@ -0,0 +1,190 @@
+/*
+ * Miscellaneous definitions for PPP STREAMS modules.
+ */
+
+/*
+ * Macros for allocating and freeing kernel memory.
+ */
+#ifdef SVR4 /* SVR4, including Solaris 2 */
+#include <sys/kmem.h>
+#define ALLOC_SLEEP(n) kmem_alloc((n), KM_SLEEP)
+#define ALLOC_NOSLEEP(n) kmem_alloc((n), KM_NOSLEEP)
+#define FREE(p, n) kmem_free((p), (n))
+#endif
+
+#ifdef SUNOS4
+#include <sys/kmem_alloc.h> /* SunOS 4.x */
+#define ALLOC_SLEEP(n) kmem_alloc((n), KMEM_SLEEP)
+#define ALLOC_NOSLEEP(n) kmem_alloc((n), KMEM_NOSLEEP)
+#define FREE(p, n) kmem_free((p), (n))
+#define NOTSUSER() (suser()? 0: EPERM)
+#define bcanputnext(q, band) canputnext((q))
+#endif /* SunOS 4 */
+
+#ifdef __osf__
+#include <sys/malloc.h>
+
+/* caution: this mirrors macros in sys/malloc.h, and uses interfaces
+ * which are subject to change.
+ * The problems are that:
+ * - the official MALLOC macro wants the lhs of the assignment as an argument,
+ * and it takes care of the assignment itself (yuck.)
+ * - PPP insists on using "FREE" which conflicts with a macro of the same name.
+ *
+ */
+#ifdef BUCKETINDX /* V2.0 */
+#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_WAITOK)
+#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETP(n), M_DEVBUF, M_NOWAIT)
+#else
+#define ALLOC_SLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_WAITOK)
+#define ALLOC_NOSLEEP(n) (void *)malloc((u_long)(n), BUCKETINDEX(n), M_DEVBUF, M_NOWAIT)
+#endif
+
+#define bcanputnext(q, band) canputnext((q))
+
+#ifdef FREE
+#undef FREE
+#endif
+#define FREE(p, n) free((void *)(p), M_DEVBUF)
+
+#define NO_DLPI 1
+
+#ifndef IFT_PPP
+#define IFT_PPP 0x17
+#endif
+
+#include <sys/proc.h>
+#define NOTSUSER() (suser(u.u_procp->p_rcred, &u.u_acflag) ? EPERM : 0)
+
+/* #include "ppp_osf.h" */
+
+#endif /* __osf__ */
+
+#ifdef AIX4
+#define ALLOC_SLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
+#define ALLOC_NOSLEEP(n) xmalloc((n), 0, pinned_heap) /* AIX V4.x */
+#define FREE(p, n) xmfree((p), pinned_heap)
+#define NOTSUSER() (suser()? 0: EPERM)
+#endif /* AIX */
+
+/*
+ * Macros for printing debugging stuff.
+ */
+#ifdef DEBUG
+#if defined(SVR4) || defined(__osf__)
+#if defined(SNI)
+#include <sys/strlog.h>
+#define STRLOG_ID 4712
+#define DPRINT(f) strlog(STRLOG_ID, 0, 0, SL_TRACE, f)
+#define DPRINT1(f, a1) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1)
+#define DPRINT2(f, a1, a2) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) strlog(STRLOG_ID, 0, 0, SL_TRACE, f, a1, a2, a3)
+#else
+#define DPRINT(f) cmn_err(CE_CONT, f)
+#define DPRINT1(f, a1) cmn_err(CE_CONT, f, a1)
+#define DPRINT2(f, a1, a2) cmn_err(CE_CONT, f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) cmn_err(CE_CONT, f, a1, a2, a3)
+#endif /* SNI */
+#else
+#define DPRINT(f) printf(f)
+#define DPRINT1(f, a1) printf(f, a1)
+#define DPRINT2(f, a1, a2) printf(f, a1, a2)
+#define DPRINT3(f, a1, a2, a3) printf(f, a1, a2, a3)
+#endif /* SVR4 or OSF */
+
+#else
+#define DPRINT(f) 0
+#define DPRINT1(f, a1) 0
+#define DPRINT2(f, a1, a2) 0
+#define DPRINT3(f, a1, a2, a3) 0
+#endif /* DEBUG */
+
+#ifndef SVR4
+typedef unsigned char uchar_t;
+typedef unsigned short ushort_t;
+#ifndef __osf__
+typedef int minor_t;
+#endif
+#endif
+
+/*
+ * If we don't have multithreading support, define substitutes.
+ */
+#ifndef D_MP
+# define qprocson(q)
+# define qprocsoff(q)
+# define put(q, mp) ((*(q)->q_qinfo->qi_putp)((q), (mp)))
+# define canputnext(q) canput((q)->q_next)
+# define qwriter(q, mp, func, scope) (func)((q), (mp))
+#endif
+
+#ifdef D_MP
+/* Use msgpullup if we have other multithreading support. */
+#define PULLUP(mp, len) \
+ do { \
+ mblk_t *np = msgpullup((mp), (len)); \
+ freemsg((mp)); \
+ mp = np; \
+ } while (0)
+
+#else
+/* Use pullupmsg if we don't have any multithreading support. */
+#define PULLUP(mp, len) \
+ do { \
+ if (!pullupmsg((mp), (len))) { \
+ freemsg((mp)); \
+ mp = 0; \
+ } \
+ } while (0)
+#endif
+
+/*
+ * How to declare the open and close procedures for a module.
+ */
+#ifdef SVR4
+#define MOD_OPEN_DECL(name) \
+static int name __P((queue_t *, dev_t *, int, int, cred_t *))
+
+#define MOD_CLOSE_DECL(name) \
+static int name __P((queue_t *, int, cred_t *))
+
+#define MOD_OPEN(name) \
+static int name(q, devp, flag, sflag, credp) \
+ queue_t *q; \
+ dev_t *devp; \
+ int flag, sflag; \
+ cred_t *credp;
+
+#define MOD_CLOSE(name) \
+static int name(q, flag, credp) \
+ queue_t *q; \
+ int flag; \
+ cred_t *credp;
+
+#define OPEN_ERROR(x) return (x)
+#define DRV_OPEN_OK(dev) return 0
+
+#define NOTSUSER() (drv_priv(credp))
+
+#else /* not SVR4 */
+#define MOD_OPEN_DECL(name) \
+static int name __P((queue_t *, int, int, int))
+
+#define MOD_CLOSE_DECL(name) \
+static int name __P((queue_t *, int))
+
+#define MOD_OPEN(name) \
+static int name(q, dev, flag, sflag) \
+ queue_t *q; \
+ int dev; \
+ int flag, sflag;
+
+#define MOD_CLOSE(name) \
+static int name(q, flag) \
+ queue_t *q; \
+ int flag;
+
+#define OPEN_ERROR(x) { u.u_error = (x); return OPENFAIL; }
+#define DRV_OPEN_OK(dev) return (dev)
+
+#endif /* SVR4 */
diff --git a/mdk-stage1/ppp/sunos4/Makedefs b/mdk-stage1/ppp/sunos4/Makedefs
new file mode 100644
index 000000000..8b56a2b67
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/Makedefs
@@ -0,0 +1,13 @@
+#
+# defines common to several Makefiles
+#
+
+INSTALL= install -o root -g daemon
+
+BINDIR = /usr/local/etc
+MANDIR = /usr/local/man
+ETCDIR = /etc/ppp
+
+# To use gcc, uncomment the next line.
+#CC = gcc
+COPTS = -O
diff --git a/mdk-stage1/ppp/sunos4/Makefile b/mdk-stage1/ppp/sunos4/Makefile
new file mode 100644
index 000000000..12e13b21f
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/Makefile
@@ -0,0 +1,57 @@
+#
+# Makefile for STREAMS modules for SunOS 4.
+#
+# $Id: Makefile 6001 2001-06-11 11:44:34Z gc $
+#
+
+include Makedefs
+
+LD = /usr/bin/ld # make sure we don't get gnu ld
+
+# Defining __$(ARCH)__ is for gcc's broken version of sun/vddrv.h.
+ARCH = `/bin/arch -k`
+DEFINES= -DKERNEL -D_KERNEL -DSUNOS4 -D$(ARCH) -D__$(ARCH)__ \
+ -DDEBUG -DNO_DLPI -DSNIT_SUPPORT
+CFLAGS= $(DEFINES) -I../include $(COPTS)
+
+MODULES= ppp_mod.o ppp_ahdl_mod.o ppp_comp_mod.o if_ppp_mod.o
+
+all: $(MODULES)
+
+ppp_mod.o: ppp.o ppp_vdcmd.o
+ $(LD) -r -o ppp_mod.o ppp.o ppp_vdcmd.o
+
+ppp_ahdl_mod.o: ppp_ahdlc.o ppp_ahdlc_vdcmd.o
+ $(LD) -r -o ppp_ahdl_mod.o ppp_ahdlc.o ppp_ahdlc_vdcmd.o
+
+COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
+ ppp_comp_vdcmd.o
+ppp_comp_mod.o: $(COMP_OBJS)
+ $(LD) -r -o $@ $(COMP_OBJS)
+
+if_ppp.o: ../modules/if_ppp.c
+ $(CC) $(CFLAGS) -c $?
+bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $?
+deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $?
+ppp.o: ../modules/ppp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc.o: ../modules/ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp.o: ../modules/ppp_comp.c
+ $(CC) $(CFLAGS) -c $?
+vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $?
+zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $?
+
+if_ppp_mod.o: if_ppp.o if_ppp_vdcmd.o
+ $(LD) -r -o if_ppp_mod.o if_ppp.o if_ppp_vdcmd.o
+
+install: all
+ $(INSTALL) $(MODULES) $(BINDIR)
+ ./ppp.INSTALL
+
+clean:
+ rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/sunos4/Makefile.top b/mdk-stage1/ppp/sunos4/Makefile.top
new file mode 100644
index 000000000..c86e0884d
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/Makefile.top
@@ -0,0 +1,46 @@
+#
+# ppp top level makefile
+#
+
+include sunos4/Makedefs
+
+all:
+ cd chat; $(MAKE) all
+ cd pppd; $(MAKE) all
+ cd pppstats; $(MAKE) all
+ cd sunos4; $(MAKE) all
+ cd pppdump; $(MAKE) all
+
+install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
+
+install-progs:
+ cd chat; $(MAKE) install
+ cd pppd; $(MAKE) install
+ cd pppstats; $(MAKE) install
+ cd pppdump; $(MAKE) install
+ cd sunos4; $(MAKE) install
+
+install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
+ $(ETCDIR)/chap-secrets
+
+$(ETCDIR)/options:
+ $(INSTALL) -c -m 644 etc.ppp/options $@
+$(ETCDIR)/pap-secrets:
+ $(INSTALL) -c -m 600 etc.ppp/pap-secrets $@
+$(ETCDIR)/chap-secrets:
+ $(INSTALL) -c -m 600 etc.ppp/chap-secrets $@
+
+$(BINDIR):
+ $(INSTALL) -d -m 755 $@
+$(MANDIR)/man8:
+ $(INSTALL) -d -m 755 $@
+$(ETCDIR):
+ $(INSTALL) -d -m 755 $@
+
+clean:
+ rm -f *~
+ cd chat; $(MAKE) clean
+ cd pppd; $(MAKE) clean
+ cd pppstats; $(MAKE) clean
+ cd sunos4; $(MAKE) clean
+
diff --git a/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
new file mode 100644
index 000000000..2bf9710f4
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/if_ppp_vdcmd.c
@@ -0,0 +1,57 @@
+#include <sys/types.h>
+#include <sys/errno.h>
+#include <sys/conf.h>
+#include <sun/vddrv.h>
+
+extern struct streamtab if_pppinfo;
+
+static struct vdldrv vd = {
+ VDMAGIC_USER,
+ "if_ppp"
+};
+
+static int fmodsw_index = -1;
+
+int
+if_ppp_vdcmd(fun, vdp, vdi, vds)
+ unsigned int fun;
+ struct vddrv *vdp;
+ addr_t vdi;
+ struct vdstat *vds;
+{
+ int n, error;
+
+ switch (fun) {
+ case VDLOAD:
+ vdp->vdd_vdtab = (struct vdlinkage *) &vd;
+ if (fmodsw_index >= 0)
+ return EBUSY;
+ for (n = 0; n < fmodcnt; ++n)
+ if (fmodsw[n].f_str == 0)
+ break;
+ if (n >= fmodcnt)
+ return ENODEV;
+ strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
+ fmodsw[n].f_str = &if_pppinfo;
+ fmodsw_index = n;
+ break;
+
+ case VDUNLOAD:
+ if (fmodsw_index <= 0)
+ return EINVAL;
+ error = if_ppp_unload();
+ if (error != 0)
+ return error;
+ fmodsw[fmodsw_index].f_name[0] = 0;
+ fmodsw[fmodsw_index].f_str = 0;
+ fmodsw_index = -1;
+ break;
+
+ case VDSTAT:
+ break;
+
+ default:
+ return EIO;
+ }
+ return 0;
+}
diff --git a/mdk-stage1/ppp/sunos4/ppp.INSTALL b/mdk-stage1/ppp/sunos4/ppp.INSTALL
new file mode 100755
index 000000000..0018bf8d0
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/ppp.INSTALL
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Script for loading, unloading, etc. ppp modules.
+
+moddir=/usr/local/etc
+etcppp=/etc/ppp
+
+PATH=/usr/etc:/usr/bin
+
+# Check that we're superuser
+touch /tmp/su$$
+if chown root /tmp/su$$ >/dev/null; then :
+else
+ echo "$0: must be root."
+ rm -f /tmp/su$$
+ exit 1
+fi
+rm -f /tmp/su$$
+
+case "$0" in
+*ppp.INSTALL)
+ if [ ! -f ppp.INSTALL ]; then
+ echo "ppp.INSTALL: not found"
+ exit 1
+ fi
+ for n in INSTALL LOAD UNLOAD MKDEV RMDEV; do
+ if [ -h /dev/ppp.$n -o -f /dev/ppp.$n ]; then
+ rm /dev/ppp.$n
+ fi
+ done
+ cp ppp.INSTALL /dev
+ for n in LOAD UNLOAD MKDEV RMDEV; do
+ ln -s ppp.INSTALL /dev/ppp.$n
+ done
+ ;;
+
+*ppp.LOAD)
+ if modstat | grep -w ppp >/dev/null; then
+ echo "ppp driver is already loaded."
+ exit 1
+ fi
+ if modstat | grep -w if_ppp >/dev/null; then
+ echo "if_ppp module already loaded: not reloading."
+ else
+ echo -n "if_ppp: "
+ modload $moddir/if_ppp_mod.o -sym -entry _if_ppp_vdcmd \
+ -o $etcppp/if_ppp_mod
+ fi
+ echo -n "ppp: "
+ modload $moddir/ppp_mod.o -sym -entry _ppp_vdcmd -exec /dev/ppp.MKDEV \
+ -o $etcppp/ppp_mod
+ echo -n "ppp_comp: "
+ modload $moddir/ppp_comp_mod.o -sym -entry _ppp_comp_vdcmd \
+ -o $etcppp/ppp_comp
+ echo -n "ppp_ahdl: "
+ modload $moddir/ppp_ahdl_mod.o -sym -entry _ppp_ahdlc_vdcmd \
+ -o $etcppp/ppp_ahdl
+ exit 0
+ ;;
+
+*ppp.MKDEV)
+ # args: module number, type, b-major, c-major
+ if [ $# -ne 4 ]; then
+ echo "Usage: $0 module-id module-type b-major c-major"
+ exit 1
+ fi
+ if [ "$2" -ne "12345607" -a "$2" -ne "12345600" ]; then
+ echo "$0: $2: bad module type"
+ exit 1
+ fi
+ rm -f /dev/ppp
+ # we "just know" that 37 is the major number of the clone driver
+ mknod /dev/ppp c 37 $4
+ chmod 644 /dev/ppp
+ exit 0
+ ;;
+
+*ppp.UNLOAD)
+ stat=0
+ if modstat | grep -w if_ppp >/dev/null; then
+ echo "$0: not unloading if_ppp module."
+ fi
+ for mod in ppp ppp_comp ppp_ahdl; do
+ id=`modstat | grep -w $mod | awk '{print $1}'`
+ if [ x$id = x ]; then
+ echo "$mod is not loaded."
+ stat=1
+ else
+ modunload -id $id
+ fi
+ done
+ exit $stat
+ ;;
+
+*ppp.RMDEV)
+ rm -f /dev/ppp
+ exit 0
+ ;;
+
+*)
+ echo "Invocation names: ppp.INSTALL ppp.LOAD ppp.UNLOAD ppp.MKDEV ppp.RMDEV"
+ exit 1
+ ;;
+esac
diff --git a/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
new file mode 100644
index 000000000..2dbe8262b
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/ppp_ahdlc_vdcmd.c
@@ -0,0 +1,57 @@
+#include <sys/types.h>
+#include <sys/errno.h>
+#include <sys/conf.h>
+#include <sun/vddrv.h>
+
+extern struct streamtab ppp_ahdlcinfo;
+extern int ppp_ahdlc_count;
+
+static struct vdldrv vd = {
+ VDMAGIC_USER,
+ "ppp_ahdl"
+};
+
+static int fmodsw_index = -1;
+
+int
+ppp_ahdlc_vdcmd(fun, vdp, vdi, vds)
+ unsigned int fun;
+ struct vddrv *vdp;
+ addr_t vdi;
+ struct vdstat *vds;
+{
+ int n;
+
+ switch (fun) {
+ case VDLOAD:
+ vdp->vdd_vdtab = (struct vdlinkage *) &vd;
+ if (fmodsw_index >= 0)
+ return EBUSY;
+ for (n = 0; n < fmodcnt; ++n)
+ if (fmodsw[n].f_str == 0)
+ break;
+ if (n >= fmodcnt)
+ return ENODEV;
+ strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
+ fmodsw[n].f_str = &ppp_ahdlcinfo;
+ fmodsw_index = n;
+ break;
+
+ case VDUNLOAD:
+ if (ppp_ahdlc_count > 0)
+ return EBUSY;
+ if (fmodsw_index <= 0)
+ return EINVAL;
+ fmodsw[fmodsw_index].f_name[0] = 0;
+ fmodsw[fmodsw_index].f_str = 0;
+ fmodsw_index = -1;
+ break;
+
+ case VDSTAT:
+ break;
+
+ default:
+ return EIO;
+ }
+ return 0;
+}
diff --git a/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
new file mode 100644
index 000000000..b81bc47e8
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/ppp_comp_vdcmd.c
@@ -0,0 +1,57 @@
+#include <sys/types.h>
+#include <sys/errno.h>
+#include <sys/conf.h>
+#include <sun/vddrv.h>
+
+extern struct streamtab ppp_compinfo;
+extern int ppp_comp_count;
+
+static struct vdldrv vd = {
+ VDMAGIC_USER,
+ "ppp_comp"
+};
+
+static int fmodsw_index = -1;
+
+int
+ppp_comp_vdcmd(fun, vdp, vdi, vds)
+ unsigned int fun;
+ struct vddrv *vdp;
+ addr_t vdi;
+ struct vdstat *vds;
+{
+ int n;
+
+ switch (fun) {
+ case VDLOAD:
+ vdp->vdd_vdtab = (struct vdlinkage *) &vd;
+ if (fmodsw_index >= 0)
+ return EBUSY;
+ for (n = 0; n < fmodcnt; ++n)
+ if (fmodsw[n].f_str == 0)
+ break;
+ if (n >= fmodcnt)
+ return ENODEV;
+ strncpy(fmodsw[n].f_name, vd.Drv_name, FMNAMESZ+1);
+ fmodsw[n].f_str = &ppp_compinfo;
+ fmodsw_index = n;
+ break;
+
+ case VDUNLOAD:
+ if (ppp_comp_count > 0)
+ return EBUSY;
+ if (fmodsw_index <= 0)
+ return EINVAL;
+ fmodsw[fmodsw_index].f_name[0] = 0;
+ fmodsw[fmodsw_index].f_str = 0;
+ fmodsw_index = -1;
+ break;
+
+ case VDSTAT:
+ break;
+
+ default:
+ return EIO;
+ }
+ return 0;
+}
diff --git a/mdk-stage1/ppp/sunos4/ppp_vdcmd.c b/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
new file mode 100644
index 000000000..68095c92e
--- /dev/null
+++ b/mdk-stage1/ppp/sunos4/ppp_vdcmd.c
@@ -0,0 +1,81 @@
+#include <sys/types.h>
+#include <sys/errno.h>
+#include <sys/conf.h>
+#include <sun/vddrv.h>
+
+extern struct streamtab pppinfo;
+extern int ppp_count;
+extern int nchrdev;
+
+static struct vdldrv vd = {
+ VDMAGIC_PSEUDO,
+ "ppp"
+};
+
+extern int nodev();
+
+static struct cdevsw ppp_cdevsw = {
+ nodev, nodev, nodev, nodev, nodev, nodev, nodev, 0,
+ &pppinfo
+};
+
+static struct cdevsw old_entry;
+
+int
+ppp_vdcmd(fun, vdp, vdi, vds)
+ unsigned int fun;
+ struct vddrv *vdp;
+ addr_t vdi;
+ struct vdstat *vds;
+{
+ static int majnum = -1;
+ int n, maj;
+
+ switch (fun) {
+ case VDLOAD:
+ /*
+ * It seems like modload doesn't install the cdevsw entry
+ * for us. Oh well...
+ */
+ for (maj = 1; maj < nchrdev; ++maj)
+ if (cdevsw[maj].d_open == vd_unuseddev)
+ break;
+ if (maj >= nchrdev)
+ return ENODEV;
+ vd.Drv_charmajor = maj;
+ old_entry = cdevsw[maj];
+ cdevsw[maj] = ppp_cdevsw;
+ vd.Drv_cdevsw = &ppp_cdevsw;
+ vdp->vdd_vdtab = (struct vdlinkage *) &vd;
+ majnum = maj;
+ break;
+
+ case VDUNLOAD:
+ if (ppp_count > 0)
+ return EBUSY;
+ if (vd.Drv_charmajor > 0)
+ cdevsw[vd.Drv_charmajor] = old_entry;
+ break;
+
+ case VDSTAT:
+ /*
+ * We have to fool the modstat command into thinking
+ * that this module is actually a driver! This is
+ * so that installation commands that use the -exec
+ * option of modload to run a shell script find out
+ * the block and/or char major numbers of the driver
+ * loaded (so that the shell script can go off to
+ * /dev and *MAKE* the bloody device nodes- remember
+ * they might change from one load to another if
+ * you don't hardwire the number!).
+ */
+ vds->vds_magic = VDMAGIC_DRV;
+ vds->vds_modinfo[0] = (char) 0;
+ vds->vds_modinfo[1] = (char) majnum;
+ break;
+
+ default:
+ return EIO;
+ }
+ return 0;
+}
diff --git a/mdk-stage1/ppp/svr4/Makedefs b/mdk-stage1/ppp/svr4/Makedefs
new file mode 100644
index 000000000..81db8ab2e
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makedefs
@@ -0,0 +1,16 @@
+#
+# defines common to several Makefiles
+#
+
+INSTALL= /usr/sbin/install
+
+BINDIR = /usr/local/bin
+MANDIR = /usr/local/man
+ETCDIR = /etc/ppp
+
+COPTS = -O -Xa
+
+# For compiling with gcc, comment out the COPTS definition above and
+# uncomment the next 2 definitions.
+#CC = gcc
+#COPTS = -O2
diff --git a/mdk-stage1/ppp/svr4/Makedefs.sol2 b/mdk-stage1/ppp/svr4/Makedefs.sol2
new file mode 100644
index 000000000..2952dba3b
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makedefs.sol2
@@ -0,0 +1,59 @@
+#
+# Generic make definitions for Solaris 2
+#
+# $Id: Makedefs.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include ../svr4/Makedefs
+
+CPPFLAGS = -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include
+CFLAGS = $(CPPFLAGS) $(COPTS)
+
+# lint-specific variables
+LINT = lint
+LINT_OPT_32 =
+LINT_OPT_64 = -Xarch=v9 -errchk=longptr64
+
+LINT_32 =
+LINT_32 += -erroff=E_BAD_PTR_CAST_ALIGN
+LINT_32 += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
+LINT_32 += -erroff=E_SUSPICIOUS_COMPARISON
+LINT_32 += -erroff=E_CAST_UINT_TO_SIGNED_INT
+LINT_32 += -erroff=E_PASS_UINT_TO_SIGNED_INT
+LINT_32 += -erroff=E_INVALID_ANNOTATION_NAME
+LINT_32 += -erroff=E_FUNC_ARG_UNUSED
+# This might be needed, but zlib.c and vjcompress.c will squawk
+# when not ignored
+LINT_32 += -erroff=E_CASE_FALLTHRU
+LINT_32 += -erroff=E_RET_INT_IMPLICITLY
+LINT_32 += -erroff=E_FUNC_NO_RET_VAL
+# Some STREAMS macros will be noisy too when this isn't ignored
+LINT_32 += -erroff=E_CONSTANT_CONDITION
+LINT_32 += -erroff=E_CONST_EXPR
+
+# Extra noise suppressant for 64-bit
+EXTRA_OFF =
+EXTRA_OFF += -erroff=E_CAST_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_CAST_INT_CONST_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_CAST_TO_PTR_FROM_INT
+EXTRA_OFF += -erroff=E_ASSIGN_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_ASSIGN_INT_FROM_BIG_CONST
+EXTRA_OFF += -erroff=E_CONST_PROMOTED_UNSIGNED_LL
+EXTRA_OFF += -erroff=E_CONST_PROMOTED_LONG_LONG
+EXTRA_OFF += -erroff=E_CONST_TRUNCATED_BY_ASSIGN
+EXTRA_OFF += -erroff=E_PASS_INT_FROM_BIG_CONST
+EXTRA_OFF += -erroff=E_COMP_INT_WITH_LARGE_INT
+EXTRA_OFF += -erroff=E_ASSIGN_UINT_TO_SIGNED_INT
+EXTRA_OFF += -erroff=E_ASSIGN_NARROW_CONV
+EXTRA_OFF += -erroff=E_PASS_INT_TO_SMALL_INT
+EXTRA_OFF += -erroff=E_PTR_CONV_LOSES_BITS
+
+LINT_64 = $(LINT_32)
+LINT_64 += $(EXTRA_OFF)
+
+LINTFLAGS64 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_64) $(LINT_64)
+LINT64 = $(LINT) -c $(LINTFLAGS64) $(CPPFLAGS)
+
+LINTFLAGS32 = -Xa -nsxmuF -errtags=yes $(LINT_OPT_32) $(LINT_32)
+LINT32 = $(LINT) -c $(LINTFLAGS32) $(CPPFLAGS)
+
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2 b/mdk-stage1/ppp/svr4/Makefile.sol2
new file mode 100644
index 000000000..e40582469
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makefile.sol2
@@ -0,0 +1,66 @@
+#
+# Makefile for STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2 6001 2001-06-11 11:44:34Z gc $
+#
+
+include Makedefs.sol2
+
+COPTS += -xO2 -xspace -W0,-Lt
+
+COMP_OBJS = ppp_comp.o bsd-comp.o deflate.o zlib.o vjcompress.o \
+ ppp_comp_mod.o
+
+all: ppp ppp_ahdl ppp_comp
+
+ppp: ppp.o ppp_mod.o
+ ld -r -o $@ ppp.o ppp_mod.o
+ chmod +x $@
+
+ppp_ahdl: ppp_ahdlc.o ppp_ahdlc_mod.o
+ ld -r -o $@ ppp_ahdlc.o ppp_ahdlc_mod.o
+ chmod +x $@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $@ $(COMP_OBJS)
+ chmod +x $@
+
+bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $?
+deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $?
+ppp.o: ../modules/ppp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc.o: ../modules/ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp.o: ../modules/ppp_comp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $?
+vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $?
+zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $?
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT32) $(SRCS)
+
+clean:
+ rm -f ppp ppp_comp ppp_ahdl *.o *~ core
+ rm -f *.ln
diff --git a/mdk-stage1/ppp/svr4/Makefile.sol2-64 b/mdk-stage1/ppp/svr4/Makefile.sol2-64
new file mode 100644
index 000000000..3b44962c4
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makefile.sol2-64
@@ -0,0 +1,85 @@
+#
+# Makefile for 64-bit STREAMS modules for Solaris 2.
+#
+# $Id: Makefile.sol2-64 6001 2001-06-11 11:44:34Z gc $
+#
+
+include Makedefs.sol2
+
+# Sun's cc flag for LP64 compilation / linkage
+COPTS += -xchip=ultra -xarch=v9 -Wc,-xcode=abs32 -Wc,-Qiselect-regsym=0 -xO3 -xspace -W0,-Lt
+
+# subdirectory where 64-bit objects / binaries will be placed
+LP64DIR = sparcv9
+
+# Name of legacy Makefile (for 32-bit binaries)
+STD_MAKE = Makefile.sol2
+
+COMP_OBJS = $(LP64DIR)/ppp_comp.o $(LP64DIR)/bsd-comp.o \
+ $(LP64DIR)/deflate.o $(LP64DIR)/zlib.o $(LP64DIR)/vjcompress.o \
+ $(LP64DIR)/ppp_comp_mod.o
+
+all: std_objs $(LP64DIR) ppp ppp_ahdl ppp_comp
+
+std_objs:
+ $(MAKE) -f $(STD_MAKE) all
+
+ppp: $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp.o $(LP64DIR)/ppp_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_ahdl: $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ ld -r -o $(LP64DIR)/$@ $(LP64DIR)/ppp_ahdlc.o $(LP64DIR)/ppp_ahdlc_mod.o
+ chmod +x $(LP64DIR)/$@
+
+ppp_comp: $(COMP_OBJS)
+ ld -r -o $(LP64DIR)/$@ $(COMP_OBJS)
+ chmod +x $(LP64DIR)/$@
+
+$(LP64DIR)/bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp.o: ../modules/ppp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_mod.o: ppp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc_mod.o: ppp_ahdlc_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_ahdlc.o: ../modules/ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp.o: ../modules/ppp_comp.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/ppp_comp_mod.o: ppp_comp_mod.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $? -o $@
+$(LP64DIR)/zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $? -o $@
+
+$(LP64DIR):
+ mkdir -m 755 -p $@
+
+install:
+ cp ppp ppp.conf /kernel/drv
+ cp ppp_comp ppp_ahdl /kernel/strmod
+ cp $(LP64DIR)/ppp /kernel/drv/$(LP64DIR)
+ cp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl /kernel/strmod/$(LP64DIR)
+ if grep clone:ppp /etc/minor_perm; then :; else \
+ echo clone:ppp 0644 root sys >>/etc/minor_perm; fi
+ /usr/sbin/rem_drv ppp 2>/dev/null || true
+ /usr/sbin/add_drv ppp
+
+SRCS = ../modules/ppp.c ppp_mod.c ../modules/ppp_ahdlc.c ppp_ahdlc_mod.c \
+ ../modules/ppp_comp.c ../modules/bsd-comp.c ../modules/deflate.c \
+ ../common/zlib.c ../modules/vjcompress.c ppp_comp_mod.c
+
+lint:
+ $(LINT64) $(SRCS)
+
+lint-32:
+ $(LINT32) $(SRCS)
+
+clean:
+ $(MAKE) -f $(STD_MAKE) clean
+ rm -f $(LP64DIR)/ppp $(LP64DIR)/ppp_comp $(LP64DIR)/ppp_ahdl $(LP64DIR)/*.o $(LP64DIR)/*~ $(LP64DIR)/core
diff --git a/mdk-stage1/ppp/svr4/Makefile.svr4 b/mdk-stage1/ppp/svr4/Makefile.svr4
new file mode 100644
index 000000000..6db828e3e
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makefile.svr4
@@ -0,0 +1,60 @@
+#
+# Makefile for STREAMS modules for SVR4.
+#
+# $Id: Makefile.svr4 6001 2001-06-11 11:44:34Z gc $
+#
+
+COPTS = -O
+
+CFLAGS= -D_KERNEL -DSVR4 -DLACHTCP -I../include $(COPTS)
+
+all: ppp ppp_ahdl ppp_comp
+
+ppp: ppp.o
+ ld -r -o $@ ppp.o
+
+ppp_ahdl: ppp_ahdlc.o
+ ld -r -o $@ ppp_ahdlc.o
+
+ppp_comp: ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
+ ld -r -o $@ ppp_comp.o bsd-comp.o vjcompress.o deflate.o zlib.o
+
+bsd-comp.o: ../modules/bsd-comp.c
+ $(CC) $(CFLAGS) -c $?
+deflate.o: ../modules/deflate.c
+ $(CC) $(CFLAGS) -c $?
+ppp.o: ../modules/ppp.c
+ $(CC) $(CFLAGS) -c $?
+ppp_ahdlc.o: ../modules/ppp_ahdlc.c
+ $(CC) $(CFLAGS) -c $?
+ppp_comp.o: ../modules/ppp_comp.c
+ $(CC) $(CFLAGS) -c $?
+vjcompress.o: ../modules/vjcompress.c
+ $(CC) $(CFLAGS) -c $?
+zlib.o: ../common/zlib.c
+ $(CC) $(CFLAGS) -c $?
+
+install: all
+ cp ppp Driver.o
+ cp ppp.Master Master
+ cp ppp.System System
+ cp ppp.Node Node
+ /etc/conf/bin/idinstall -d ppp
+ /etc/conf/bin/idinstall -a ppp
+ cp ppp_comp Driver.o
+ cp ppp_comp.Master Master
+ cp ppp_comp.System System
+ /etc/conf/bin/idinstall -d ppp_comp
+ /etc/conf/bin/idinstall -a ppp_comp
+ cp ppp_ahdl Driver.o
+ cp ppp_ahdl.Master Master
+ cp ppp_ahdl.System System
+ /etc/conf/bin/idinstall -d ppp_ahdl
+ /etc/conf/bin/idinstall -a ppp_ahdl
+ @echo
+ @echo 'NOTE: You must rebuild your kernel to incorporate the driver.'
+ @echo '(use /etc/conf/bin/idbuild)'
+ @echo
+
+clean:
+ rm -f ppp ppp_comp ppp_ahdl *.o *~ core
diff --git a/mdk-stage1/ppp/svr4/Makefile.top b/mdk-stage1/ppp/svr4/Makefile.top
new file mode 100644
index 000000000..2c2f44873
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/Makefile.top
@@ -0,0 +1,50 @@
+#
+# ppp top level makefile for SVR4 and Solaris 2
+#
+# $Id: Makefile.top 6001 2001-06-11 11:44:34Z gc $
+#
+
+include svr4/Makedefs
+
+all:
+ cd chat; $(MAKE) all
+ cd pppd; $(MAKE) all
+ cd pppstats; $(MAKE) all
+ cd pppdump; $(MAKE) all
+ cd svr4; $(MAKE) all
+
+install: $(BINDIR) $(MANDIR)/man8 install-progs install-etcppp
+
+install-progs:
+ cd chat; $(MAKE) install
+ cd pppd; $(MAKE) install
+ cd pppstats; $(MAKE) install
+ cd pppdump; $(MAKE) install
+ cd svr4; $(MAKE) install
+
+install-etcppp: $(ETCDIR) $(ETCDIR)/options $(ETCDIR)/pap-secrets \
+ $(ETCDIR)/chap-secrets
+
+$(ETCDIR)/options:
+ cp etc.ppp/options $@
+ chmod go-w $@
+$(ETCDIR)/pap-secrets:
+ $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/pap-secrets
+$(ETCDIR)/chap-secrets:
+ $(INSTALL) -f $(ETCDIR) -m 600 etc.ppp/chap-secrets
+
+$(BINDIR):
+ mkdir -m 755 -p $@
+$(MANDIR)/man8:
+ mkdir -m 755 -p $@
+$(ETCDIR):
+ mkdir -m 755 -p $@
+
+clean:
+ rm -f *~
+ cd chat; $(MAKE) clean
+ cd pppd; $(MAKE) clean
+ cd pppstats; $(MAKE) clean
+ cd pppdump; $(MAKE) clean
+ cd svr4; $(MAKE) clean
+
diff --git a/mdk-stage1/ppp/svr4/ppp.Master b/mdk-stage1/ppp/svr4/ppp.Master
new file mode 100644
index 000000000..346db035b
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp.Master
@@ -0,0 +1 @@
+ppp - Sciof ppp 0 0 1 128 -1
diff --git a/mdk-stage1/ppp/svr4/ppp.Node b/mdk-stage1/ppp/svr4/ppp.Node
new file mode 100644
index 000000000..7767ade71
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp.Node
@@ -0,0 +1 @@
+clone ppp c ppp
diff --git a/mdk-stage1/ppp/svr4/ppp.System b/mdk-stage1/ppp/svr4/ppp.System
new file mode 100644
index 000000000..e60c0eec3
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp.System
@@ -0,0 +1 @@
+ppp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp.conf b/mdk-stage1/ppp/svr4/ppp.conf
new file mode 100644
index 000000000..e443a7aac
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp.conf
@@ -0,0 +1 @@
+name="ppp" parent="pseudo" instance=0;
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.Master b/mdk-stage1/ppp/svr4/ppp_ahdl.Master
new file mode 100644
index 000000000..4fde52596
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_ahdl.Master
@@ -0,0 +1 @@
+ppp_ahdl - iSf phdl 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdl.System b/mdk-stage1/ppp/svr4/ppp_ahdl.System
new file mode 100644
index 000000000..f41a500f4
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_ahdl.System
@@ -0,0 +1 @@
+ppp_ahdl Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c b/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
new file mode 100644
index 000000000..f81be8abb
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_ahdlc_mod.c
@@ -0,0 +1,49 @@
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+
+extern struct streamtab ppp_ahdlcinfo;
+
+static struct fmodsw fsw = {
+ "ppp_ahdl",
+ &ppp_ahdlcinfo,
+ D_NEW | D_MP | D_MTQPAIR
+};
+
+extern struct mod_ops mod_strmodops;
+
+static struct modlstrmod modlstrmod = {
+ &mod_strmodops,
+ "PPP async HDLC module",
+ &fsw
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modlstrmod,
+ NULL
+};
+
+/*
+ * Entry points for modloading.
+ */
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.Master b/mdk-stage1/ppp/svr4/ppp_comp.Master
new file mode 100644
index 000000000..78019064e
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_comp.Master
@@ -0,0 +1 @@
+ppp_comp - iSf pcmp 0 0 1 1 -1
diff --git a/mdk-stage1/ppp/svr4/ppp_comp.System b/mdk-stage1/ppp/svr4/ppp_comp.System
new file mode 100644
index 000000000..e69d4a1a3
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_comp.System
@@ -0,0 +1 @@
+ppp_comp Y 1 0 0 0 0 0 0 0
diff --git a/mdk-stage1/ppp/svr4/ppp_comp_mod.c b/mdk-stage1/ppp/svr4/ppp_comp_mod.c
new file mode 100644
index 000000000..587d7a743
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_comp_mod.c
@@ -0,0 +1,81 @@
+/*
+ * ppp_comp_mod.c - modload support for PPP compression STREAMS module.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_comp_mod.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2.
+ */
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+
+extern struct streamtab ppp_compinfo;
+
+static struct fmodsw fsw = {
+ "ppp_comp",
+ &ppp_compinfo,
+ D_NEW | D_MP | D_MTQPAIR
+};
+
+extern struct mod_ops mod_strmodops;
+
+static struct modlstrmod modlstrmod = {
+ &mod_strmodops,
+ "PPP compression module",
+ &fsw
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modlstrmod,
+ NULL
+};
+
+/*
+ * Entry points for modloading.
+ */
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
diff --git a/mdk-stage1/ppp/svr4/ppp_mod.c b/mdk-stage1/ppp/svr4/ppp_mod.c
new file mode 100644
index 000000000..ae296100c
--- /dev/null
+++ b/mdk-stage1/ppp/svr4/ppp_mod.c
@@ -0,0 +1,174 @@
+/*
+ * ppp_mod.c - modload support for PPP pseudo-device driver.
+ *
+ * Copyright (c) 1994 The Australian National University.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. The Australian National University
+ * makes no representations about the suitability of this software for
+ * any purpose.
+ *
+ * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
+ * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+ * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
+ * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
+ * OR MODIFICATIONS.
+ *
+ * $Id: ppp_mod.c 6001 2001-06-11 11:44:34Z gc $
+ */
+
+/*
+ * This file is used under Solaris 2.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/conf.h>
+#include <sys/modctl.h>
+#include <sys/sunddi.h>
+#include <sys/ksynch.h>
+
+#ifdef __STDC__
+#define __P(x) x
+#else
+#define __P(x) ()
+#endif
+
+static int ppp_identify __P((dev_info_t *));
+static int ppp_attach __P((dev_info_t *, ddi_attach_cmd_t));
+static int ppp_detach __P((dev_info_t *, ddi_detach_cmd_t));
+static int ppp_devinfo __P((dev_info_t *, ddi_info_cmd_t, void *, void **));
+
+extern struct streamtab pppinfo;
+extern krwlock_t ppp_lower_lock;
+
+static dev_info_t *ppp_dip;
+
+static struct cb_ops cb_ppp_ops = {
+ nulldev, nulldev, nodev, nodev, /* cb_open, ... */
+ nodev, nodev, nodev, nodev, /* cb_dump, ... */
+ nodev, nodev, nodev, nochpoll, /* cb_devmap, ... */
+ ddi_prop_op, /* cb_prop_op */
+ &pppinfo, /* cb_stream */
+ D_NEW|D_MP|D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL /* cb_flag */
+};
+
+static struct dev_ops ppp_ops = {
+ DEVO_REV, /* devo_rev */
+ 0, /* devo_refcnt */
+ ppp_devinfo, /* devo_getinfo */
+ ppp_identify, /* devo_identify */
+ nulldev, /* devo_probe */
+ ppp_attach, /* devo_attach */
+ ppp_detach, /* devo_detach */
+ nodev, /* devo_reset */
+ &cb_ppp_ops, /* devo_cb_ops */
+ NULL /* devo_bus_ops */
+};
+
+/*
+ * Module linkage information
+ */
+
+static struct modldrv modldrv = {
+ &mod_driverops, /* says this is a pseudo driver */
+ "PPP-2.3 multiplexing driver",
+ &ppp_ops /* driver ops */
+};
+
+static struct modlinkage modlinkage = {
+ MODREV_1,
+ (void *) &modldrv,
+ NULL
+};
+
+int
+_init(void)
+{
+ return mod_install(&modlinkage);
+}
+
+int
+_fini(void)
+{
+ return mod_remove(&modlinkage);
+}
+
+int
+_info(mip)
+ struct modinfo *mip;
+{
+ return mod_info(&modlinkage, mip);
+}
+
+static int
+ppp_identify(dip)
+ dev_info_t *dip;
+{
+ return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED:
+ DDI_NOT_IDENTIFIED;
+}
+
+static int
+ppp_attach(dip, cmd)
+ dev_info_t *dip;
+ ddi_attach_cmd_t cmd;
+{
+
+ if (cmd != DDI_ATTACH)
+ return DDI_FAILURE;
+ if (ddi_create_minor_node(dip, "ppp", S_IFCHR, 0, DDI_PSEUDO, CLONE_DEV)
+ == DDI_FAILURE) {
+ ddi_remove_minor_node(dip, NULL);
+ return DDI_FAILURE;
+ }
+ rw_init(&ppp_lower_lock, NULL, RW_DRIVER, NULL);
+ return DDI_SUCCESS;
+}
+
+static int
+ppp_detach(dip, cmd)
+ dev_info_t *dip;
+ ddi_detach_cmd_t cmd;
+{
+ rw_destroy(&ppp_lower_lock);
+ ddi_remove_minor_node(dip, NULL);
+ return DDI_SUCCESS;
+}
+
+static int
+ppp_devinfo(dip, cmd, arg, result)
+ dev_info_t *dip;
+ ddi_info_cmd_t cmd;
+ void *arg;
+ void **result;
+{
+ int error;
+
+ error = DDI_SUCCESS;
+ switch (cmd) {
+ case DDI_INFO_DEVT2DEVINFO:
+ if (ppp_dip == NULL)
+ error = DDI_FAILURE;
+ else
+ *result = (void *) ppp_dip;
+ break;
+ case DDI_INFO_DEVT2INSTANCE:
+ *result = NULL;
+ break;
+ default:
+ error = DDI_FAILURE;
+ }
+ return error;
+}
diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c
new file mode 100644
index 000000000..803c11806
--- /dev/null
+++ b/mdk-stage1/probing.c
@@ -0,0 +1,1049 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+
+/*
+ * This contains stuff related to probing:
+ * (1) any (actually only SCSI, NET, CPQ, USB Controllers) devices (autoprobe for PCI and USB)
+ * (2) IDE media
+ * (3) SCSI media
+ * (4) ETH devices
+ */
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <fnmatch.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <pci/pci.h>
+#include "stage1.h"
+
+#include "log.h"
+#include "frontend.h"
+#include "modules.h"
+#include "pci-resource/pci-ids.h"
+#ifdef ENABLE_USB
+#include "usb-resource/usb-ids.h"
+#endif
+#ifdef ENABLE_PCMCIA
+#include "sysfs/libsysfs.h"
+#include "pcmcia-resource/pcmcia-ids.h"
+#endif
+
+#include "probing.h"
+
+
+struct media_info {
+ char * name;
+ char * model;
+ enum media_type type;
+};
+
+
+static void warning_insmod_failed(enum insmod_return r)
+{
+ if (IS_AUTOMATIC && r == INSMOD_FAILED_FILE_NOT_FOUND)
+ return;
+ if (r != INSMOD_OK) {
+ if (r == INSMOD_FAILED_FILE_NOT_FOUND)
+ stg1_error_message("This floppy doesn't contain the driver.");
+ else
+ stg1_error_message("Warning, installation of driver failed. (please include msg from <Alt-F3> for bugreports)");
+ }
+}
+
+#ifndef DISABLE_NETWORK
+struct net_description_elem
+{
+ char * intf_name;
+ char * intf_description;
+};
+static struct net_description_elem net_descriptions[50];
+static int net_descr_number = 0;
+static char * intf_descr_for_discover = NULL;
+static char * net_intf_too_early_name[50]; /* for modules providing more than one net intf */
+static int net_intf_too_early_number = 0;
+static int net_intf_too_early_ptr = 0;
+
+void prepare_intf_descr(const char * intf_descr)
+{
+ intf_descr_for_discover = strdup(intf_descr);
+}
+
+void net_discovered_interface(char * intf_name)
+{
+ if (!intf_descr_for_discover) {
+ net_intf_too_early_name[net_intf_too_early_number++] = strdup(intf_name);
+ return;
+ }
+ if (!intf_name) {
+ if (net_intf_too_early_ptr >= net_intf_too_early_number) {
+ log_message("NET: was expecting another network interface (broken net module?)");
+ return;
+ }
+ net_descriptions[net_descr_number].intf_name = net_intf_too_early_name[net_intf_too_early_ptr++];
+ }
+ else
+ net_descriptions[net_descr_number].intf_name = strdup(intf_name);
+ net_descriptions[net_descr_number].intf_description = strdup(intf_descr_for_discover);
+ intf_descr_for_discover = NULL;
+ net_descr_number++;
+}
+
+char * get_net_intf_description(char * intf_name)
+{
+ int i;
+ for (i = 0; i < net_descr_number ; i++)
+ if (!strcmp(net_descriptions[i].intf_name, intf_name))
+ return net_descriptions[i].intf_description;
+ return strdup("unknown");
+}
+#endif
+
+struct pcitable_entry *detected_devices = NULL;
+int detected_devices_len = 0;
+
+static void detected_devices_destroy(void)
+{
+ if (detected_devices)
+ free(detected_devices);
+}
+
+static struct pcitable_entry *detected_device_new(void)
+{
+ static int detected_devices_maxlen = 0;
+ if (detected_devices_len >= detected_devices_maxlen) {
+ detected_devices_maxlen += 32;
+ if (detected_devices == NULL)
+ detected_devices = malloc(detected_devices_maxlen * sizeof(*detected_devices));
+ else
+ detected_devices = realloc(detected_devices, detected_devices_maxlen * sizeof(*detected_devices));
+ if (detected_devices == NULL)
+ log_perror("detected_device_new: could not (re)allocate table. Let it crash, sorry");
+ }
+ return &detected_devices[detected_devices_len++];
+}
+
+/* FIXME: factorize with probe_that_type() */
+
+static void add_detected_device(unsigned short vendor, unsigned short device, unsigned int subvendor, unsigned int subdevice, const char *name, const char *module)
+{
+ struct pcitable_entry *dev = detected_device_new();
+ dev->vendor = vendor;
+ dev->device = device;
+ dev->subvendor = subvendor;
+ dev->subdevice = subdevice;
+ strncpy(dev->module, module, sizeof(dev->module) - 1);
+ dev->module[sizeof(dev->module) - 1] = '\0';
+ strncpy(dev->description, name, sizeof(dev->description) - 1);
+ dev->description[sizeof(dev->description) - 1] = '\0';
+ log_message("detected device (%04x, %04x, %04x, %04x, %s, %s)", vendor, device, subvendor, subdevice, name, module);
+}
+
+static int check_device_full(struct pci_module_map_full * pcidb_full, unsigned int len_full,
+ unsigned short vendor, unsigned short device,
+ unsigned short subvendor, unsigned short subdevice)
+{
+ int i;
+ for (i = 0; i < len_full; i++)
+ if (pcidb_full[i].vendor == vendor && pcidb_full[i].device == device) {
+ if (pcidb_full[i].subvendor == subvendor && pcidb_full[i].subdevice == subdevice) {
+ add_detected_device(vendor, device, subvendor, subdevice,
+ pcidb_full[i].name, pcidb_full[i].module);
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int check_device(struct pci_module_map * pcidb, unsigned int len,
+ unsigned short vendor, unsigned short device,
+ unsigned short subvendor, unsigned short subdevice)
+{
+ int i;
+ for (i = 0; i < len; i++)
+ if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
+ add_detected_device(vendor, device, subvendor, subdevice,
+ pcidb[i].name, pcidb[i].module);
+ return 1;
+ }
+ return 0;
+}
+
+void probing_detect_devices()
+{
+ FILE * f = NULL;
+ char buf[512]; /* XXX the better fix is to readjust on '\n' */
+ static int already_detected_devices = 0;
+
+ if (already_detected_devices)
+ return;
+
+ if (!(f = fopen("/proc/bus/pci/devices", "rb"))) {
+ log_message("PCI: could not open proc file");
+ return;
+ }
+
+ while (1) {
+ unsigned int i;
+ unsigned short vendor, device, subvendor, subdevice, devbusfn;
+ if (!fgets(buf, sizeof(buf), f)) break;
+ sscanf(buf, "%hx %x", &devbusfn, &i);
+ device = i;
+ vendor = i >> 16;
+ {
+ int bus = devbusfn >> 8;
+ int device_p = (devbusfn & 0xff) >> 3;
+ int function = (devbusfn & 0xff) & 0x07;
+ char file[100];
+ int sf;
+ sprintf(file, "/proc/bus/pci/%02x/%02x.%d", bus, device_p, function);
+ if ((sf = open(file, O_RDONLY)) == -1) {
+ log_message("PCI: could not open file for full probe (%s)", file);
+ continue;
+ }
+ if (read(sf, buf, 48) == -1) {
+ log_message("PCI: could not read 48 bytes from %s", file);
+ close(sf);
+ continue;
+ }
+ close(sf);
+ memcpy(&subvendor, buf+44, 2);
+ memcpy(&subdevice, buf+46, 2);
+ }
+
+
+#ifndef DISABLE_PCIADAPTERS
+#ifndef DISABLE_MEDIAS
+ if (check_device_full(medias_pci_ids_full, medias_num_ids_full, vendor, device, subvendor, subdevice))
+ continue;
+ if (check_device(medias_pci_ids, medias_num_ids, vendor, device, subvendor, subdevice))
+ continue;
+#endif
+
+#ifndef DISABLE_NETWORK
+ if (check_device_full(network_pci_ids_full, network_num_ids_full, vendor, device, subvendor, subdevice))
+ continue;
+ if (check_device(network_pci_ids, network_num_ids, vendor, device, subvendor, subdevice))
+ continue;
+#endif
+#endif
+
+#ifdef ENABLE_USB
+ if (check_device(usb_pci_ids, usb_num_ids, vendor, device, subvendor, subdevice))
+ continue;
+#endif
+
+ /* device can't be found in built-in pcitables, but keep it */
+ add_detected_device(vendor, device, subvendor, subdevice, "", "");
+ }
+
+ fclose(f);
+ already_detected_devices = 1;
+}
+
+void probing_destroy(void)
+{
+ detected_devices_destroy();
+}
+
+#ifndef DISABLE_MEDIAS
+static const char * get_alternate_module(const char * name)
+{
+ struct alternate_mapping {
+ const char * a;
+ const char * b;
+ };
+ static struct alternate_mapping mappings[] = {
+ { "ahci", "ata_piix" },
+ };
+ int mappings_nb = sizeof(mappings) / sizeof(struct alternate_mapping);
+ int i;
+
+ for (i=0; i<mappings_nb; i++) {
+ const char * alternate = NULL;
+ if (streq(name, mappings[i].a))
+ alternate = mappings[i].b;
+ else if (streq(name, mappings[i].b))
+ alternate = mappings[i].a;
+ if (alternate) {
+ log_message("found alternate module %s for driver %s", alternate, name);
+ return alternate;
+ }
+ }
+ return NULL;
+}
+#endif
+
+void discovered_device(enum driver_type type, const char * description, const char * driver)
+{
+
+
+ enum insmod_return failed = INSMOD_FAILED;
+#ifndef DISABLE_MEDIAS
+ if (type == SCSI_ADAPTERS) {
+ const char * alternate = NULL;
+ wait_message("Loading driver for media adapter:\n \n%s", description);
+ failed = my_insmod(driver, SCSI_ADAPTERS, NULL, 1);
+ alternate = get_alternate_module(driver);
+ if (!IS_NOAUTO && alternate) {
+ failed = failed || my_insmod(alternate, SCSI_ADAPTERS, NULL, 1);
+ }
+ remove_wait_message();
+ warning_insmod_failed(failed);
+ }
+#endif
+#ifndef DISABLE_NETWORK
+ if (type == NETWORK_DEVICES) {
+ wait_message("Loading driver for network device:\n \n%s", description);
+ prepare_intf_descr(description);
+ failed = my_insmod(driver, NETWORK_DEVICES, NULL, 1);
+ warning_insmod_failed(failed);
+ remove_wait_message();
+ if (intf_descr_for_discover) /* for modules providing more than one net intf */
+ net_discovered_interface(NULL);
+ }
+#endif
+#ifdef ENABLE_USB
+ if (type == USB_CONTROLLERS)
+ /* we can't allow additional modules floppy since we need usbkbd for keystrokes of usb keyboards */
+ failed = my_insmod(driver, USB_CONTROLLERS, NULL, 0);
+#endif
+}
+
+#ifdef ENABLE_USB
+void probe_that_type(enum driver_type type, enum media_bus bus)
+#else
+void probe_that_type(enum driver_type type, enum media_bus bus __attribute__ ((unused)))
+#endif
+{
+ static int already_probed_usb_controllers = 0;
+ static int already_loaded_usb_scsi = 0;
+
+ /* ---- PCI probe ---------------------------------------------- */
+ {
+ FILE * f = NULL;
+ unsigned int len = 0;
+ unsigned int len_full = 0;
+ char buf[200];
+ struct pci_module_map * pcidb = NULL;
+ struct pci_module_map_full * pcidb_full = NULL;
+
+ switch (type) {
+#ifndef DISABLE_PCIADAPTERS
+#ifndef DISABLE_MEDIAS
+ static int already_probed_scsi_adapters = 0;
+ case SCSI_ADAPTERS:
+ if (already_probed_scsi_adapters)
+ goto end_pci_probe;
+ already_probed_scsi_adapters = 1;
+ pcidb = medias_pci_ids;
+ len = medias_num_ids;
+ pcidb_full = medias_pci_ids_full;
+ len_full = medias_num_ids_full;
+ break;
+#endif
+#ifndef DISABLE_NETWORK
+ case NETWORK_DEVICES:
+ pcidb = network_pci_ids;
+ len = network_num_ids;
+ pcidb_full = network_pci_ids_full;
+ len_full = network_num_ids_full;
+ break;
+#endif
+#endif
+#ifdef ENABLE_USB
+ case USB_CONTROLLERS:
+ if (already_probed_usb_controllers || IS_NOAUTO)
+ goto end_pci_probe;
+ already_probed_usb_controllers = 1;
+ pcidb = usb_pci_ids;
+ len = usb_num_ids;
+ break;
+#endif
+ default:
+ goto end_pci_probe;
+ }
+
+ if (!(f = fopen("/proc/bus/pci/devices", "rb"))) {
+ log_message("PCI: could not open proc file");
+ goto end_pci_probe;
+ }
+
+ while (1) {
+ unsigned int i;
+ unsigned short vendor, device, subvendor, subdevice, class_, devbusfn;
+ unsigned char class_prog;
+ const char *name, *module;
+ enum driver_type type_ = type;
+
+ if (!fgets(buf, sizeof(buf), f)) break;
+
+ sscanf(buf, "%hx %x", &devbusfn, &i);
+ device = i;
+ vendor = i >> 16;
+
+ {
+ int bus = devbusfn >> 8;
+ int device_p = (devbusfn & 0xff) >> 3;
+ int function = (devbusfn & 0xff) & 0x07;
+ char file[100];
+ int sf;
+ sprintf(file, "/proc/bus/pci/%02x/%02x.%d", bus, device_p, function);
+ if ((sf = open(file, O_RDONLY)) == -1) {
+ log_message("PCI: could not open file for full probe (%s)", file);
+ continue;
+ }
+ if (read(sf, buf, 48) == -1) {
+ log_message("PCI: could not read 48 bytes from %s", file);
+ close(sf);
+ continue;
+ }
+ close(sf);
+ memcpy(&class_prog, buf+9, 1);
+ memcpy(&class_, buf+10, 2);
+ memcpy(&subvendor, buf+44, 2);
+ memcpy(&subdevice, buf+46, 2);
+ }
+
+ /* special rules below must be in sync with ldetect/pci.c */
+
+ if (class_ == PCI_CLASS_SERIAL_USB) {
+ /* taken from kudzu's pci.c */
+ module =
+ class_prog == 0 ? "usb-uhci" :
+ class_prog == 0x10 ? "usb-ohci" :
+ class_prog == 0x20 ? "ehci-hcd" : NULL;
+ if (module) {
+ name = "USB Controller";
+ type_ = USB_CONTROLLERS;
+ goto found_pci_device;
+ }
+ }
+ if (class_ == PCI_CLASS_SERIAL_FIREWIRE) {
+ /* taken from kudzu's pci.c */
+ if (class_prog == 0x10) {
+ module = strdup("ohci1394");
+ name = "Firewire Controller";
+ goto found_pci_device;
+ }
+ }
+
+ for (i = 0; i < len_full; i++)
+ if (pcidb_full[i].vendor == vendor && pcidb_full[i].device == device) {
+ if (pcidb_full[i].subvendor == subvendor && pcidb_full[i].subdevice == subdevice) {
+ name = pcidb_full[i].name;
+ module = pcidb_full[i].module;
+ goto found_pci_device;
+ }
+ }
+
+ for (i = 0; i < len; i++)
+ if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
+ name = pcidb[i].name;
+ module = pcidb[i].module;
+ goto found_pci_device;
+ }
+
+ continue;
+
+ found_pci_device:
+ log_message("PCI: device %04x %04x %04x %04x is \"%s\", driver is %s", vendor, device, subvendor, subdevice, name, module);
+ discovered_device(type_, name, module);
+ }
+ end_pci_probe:;
+ if (f)
+ fclose(f);
+ }
+
+
+#ifdef ENABLE_USB
+ /* ---- USB probe ---------------------------------------------- */
+ if ((bus == BUS_USB || bus == BUS_ANY) && !(IS_NOAUTO)) {
+ static int already_mounted_usbdev = 0;
+
+ FILE * f = NULL;
+ int len = 0;
+ char buf[200];
+ struct usb_module_map * usbdb = NULL;
+
+ if (!already_probed_usb_controllers) {
+ already_probed_usb_controllers = 1;
+ probe_that_type(USB_CONTROLLERS, BUS_ANY);
+ }
+
+ if (!already_mounted_usbdev) {
+ already_mounted_usbdev = 1;
+ if (mount("none", "/proc/bus/usb", "usbfs", 0, NULL) &&
+ mount("none", "/proc/bus/usb", "usbdevfs", 0, NULL)) {
+ log_message("USB: couldn't mount /proc/bus/usb");
+ goto end_usb_probe;
+ }
+ wait_message("Detecting USB devices.");
+ sleep(4); /* sucking background work */
+ my_insmod("usbkbd", ANY_DRIVER_TYPE, NULL, 0);
+ my_insmod("keybdev", ANY_DRIVER_TYPE, NULL, 0);
+ remove_wait_message();
+ }
+
+ if (!(f = fopen("/proc/bus/usb/devices", "rb"))) {
+ log_message("USB: could not open proc file");
+ goto end_usb_probe;
+ }
+
+ switch (type) {
+ case NETWORK_DEVICES:
+ usbdb = usb_usb_ids;
+ len = usb_usb_num_ids;
+ break;
+ default:
+ goto end_usb_probe;
+ }
+
+ while (1) {
+ int i, vendor, id;
+
+ if (!fgets(buf, sizeof(buf), f)) break;
+
+ if (sscanf(buf, "P: Vendor=%x ProdID=%x", &vendor, &id) != 2)
+ continue;
+
+ for (i = 0; i < len; i++) {
+ if (usbdb[i].vendor == vendor && usbdb[i].id == id) {
+ log_message("USB: device %04x %04x is \"%s\" (%s)", vendor, id, usbdb[i].name, usbdb[i].module);
+ discovered_device(type, usbdb[i].name, usbdb[i].module);
+ }
+ }
+ }
+ end_usb_probe:;
+ if (f)
+ fclose(f);
+ }
+#endif
+
+#ifdef ENABLE_PCMCIA
+ /* ---- PCMCIA probe ---------------------------------------------- */
+ if ((bus == BUS_PCMCIA || bus == BUS_ANY) && !(IS_NOAUTO)) {
+ struct pcmcia_alias * pcmciadb = NULL;
+ unsigned int len = 0;
+ char *base = "/sys/bus/pcmcia/devices";
+ DIR *dir;
+ struct dirent *dent;
+
+ dir = opendir(base);
+ if (dir == NULL)
+ goto end_pcmcia_probe;
+
+ switch (type) {
+#ifndef DISABLE_MEDIAS
+ case SCSI_ADAPTERS:
+ pcmciadb = medias_pcmcia_ids;
+ len = medias_pcmcia_num_ids;
+ break;
+#endif
+#ifndef DISABLE_NETWORK
+ case NETWORK_DEVICES:
+ pcmciadb = network_pcmcia_ids;
+ len = network_pcmcia_num_ids;
+ break;
+#endif
+ default:
+ goto end_pcmcia_probe;
+ }
+
+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
+ struct sysfs_attribute *modalias_attr;
+ char keyfile[256];
+ int i, id;
+
+ if (dent->d_name[0] == '.')
+ continue;
+
+ log_message("PCMCIA: device found %s", dent->d_name);
+
+ snprintf(keyfile, sizeof(keyfile)-1, "%s/%s/modalias", base, dent->d_name);
+ modalias_attr = sysfs_open_attribute(keyfile);
+ if (!modalias_attr)
+ continue;
+ if (sysfs_read_attribute(modalias_attr) != 0 || !modalias_attr->value) {
+ sysfs_close_attribute(modalias_attr);
+ continue;
+ }
+
+ log_message("PCMCIA: device found %s", modalias_attr->value);
+
+ for (i = 0; i < len; i++) {
+ if (!fnmatch(pcmciadb[i].modalias, modalias_attr->value, 0)) {
+ char product[256];
+
+ log_message("PCMCIA: device found %s (%s)", pcmciadb[i].modalias, pcmciadb[i].module);
+ strcpy(product, "");
+ for (id = 1; id <= 4; id++) {
+ struct sysfs_attribute *product_attr;
+ snprintf(keyfile, sizeof(keyfile)-1, "%s/%s/prod_id%d", base, dent->d_name, id);
+ product_attr = sysfs_open_attribute(keyfile);
+ if (!product_attr)
+ continue;
+ if (sysfs_read_attribute(product_attr) || !product_attr->value) {
+ sysfs_close_attribute(product_attr);
+ continue;
+ }
+ snprintf(product + strlen(product), sizeof(product)-strlen(product)-1, "%s%s", product[0] ? " " : "", product_attr->value);
+ if (product[strlen(product)-1] == '\n')
+ product[strlen(product)-1] = '\0';
+ sysfs_close_attribute(product_attr);
+ }
+
+ if (!product[0])
+ strcpy(product, "PCMCIA device");
+
+ log_message("PCMCIA: device found %s (%s)", product, pcmciadb[i].module);
+ discovered_device(type, product, pcmciadb[i].module);
+ }
+ }
+
+ sysfs_close_attribute(modalias_attr);
+ }
+ end_pcmcia_probe:;
+ if (dir)
+ closedir(dir);
+ }
+#endif
+
+ /* be sure to load usb-storage after SCSI adapters, so that they are in
+ same order than reboot, so that naming is the same */
+ if (type == SCSI_ADAPTERS && already_probed_usb_controllers && !already_loaded_usb_scsi) {
+ already_loaded_usb_scsi = 1;
+ /* we can't allow additional modules floppy since we need usbkbd for keystrokes of usb keyboards */
+ my_insmod("usb-storage", SCSI_ADAPTERS, NULL, 0);
+ if (module_already_present("ieee1394"))
+ my_insmod("sbp2", SCSI_ADAPTERS, NULL, 0);
+ wait_message("Detecting USB mass-storage devices.");
+ sleep(10); /* sucking background work */
+ remove_wait_message();
+ }
+}
+
+
+static struct media_info * medias = NULL;
+
+static void find_media(enum media_bus bus)
+{
+ char b[50];
+ char buf[5000];
+ struct media_info tmp[50];
+ int count = 0;
+ int fd;
+
+ if (medias)
+ free(medias); /* that does not free the strings, by the way */
+
+ if (bus == BUS_SCSI || bus == BUS_USB || bus == BUS_PCMCIA || bus == BUS_ANY) {
+ log_message("looking for media adapters");
+ probe_that_type(SCSI_ADAPTERS, bus);
+ }
+ /* ----------------------------------------------- */
+ if (bus != BUS_IDE && bus != BUS_ANY)
+ goto find_media_after_ide;
+ log_message("looking for ide media");
+
+ strcpy(b, "/proc/ide/hd");
+ for (b[12] = 'a'; b[12] <= 't'; b[12]++) {
+ int i;
+ char ide_disk[] = "disk";
+ char ide_cdrom[] = "cdrom";
+ char ide_tape[] = "tape";
+ char ide_floppy[] = "floppy";
+
+ /* first, test if file exists (will tell if attached medium exists) */
+ b[13] = '\0';
+ if (access(b, R_OK))
+ continue;
+
+ tmp[count].name = strdup("hda");
+ tmp[count].name[2] = b[12];
+
+ /* media type */
+ strcpy(b + 13, "/media");
+ fd = open(b, O_RDONLY);
+ if (fd == -1) {
+ log_message("failed to open %s for reading", b);
+ continue;
+ }
+
+ i = read(fd, buf, sizeof(buf));
+ if (i == -1) {
+ log_message("failed to read %s", b);
+ continue;
+ }
+ buf[i] = '\0';
+ close(fd);
+
+ if (ptr_begins_static_str(buf, ide_disk))
+ tmp[count].type = DISK;
+ else if (ptr_begins_static_str(buf, ide_cdrom))
+ tmp[count].type = CDROM;
+ else if (ptr_begins_static_str(buf, ide_tape))
+ tmp[count].type = TAPE;
+ else if (ptr_begins_static_str(buf, ide_floppy))
+ tmp[count].type = FLOPPY;
+ else
+ tmp[count].type = UNKNOWN_MEDIA;
+
+ /* media model */
+ strcpy(b + 13, "/model");
+ fd = open(b, O_RDONLY);
+ if (fd == -1) {
+ log_message("failed to open %s for reading", b);
+ continue;
+ }
+
+ i = read(fd, buf, sizeof(buf));
+ if (i <= 0) {
+ log_message("failed to read %s", b);
+ tmp[count].model = strdup("(none)");
+ }
+ else {
+ buf[i-1] = '\0'; /* eat the \n */
+ tmp[count].model = strdup(buf);
+ }
+ close(fd);
+
+ log_message("IDE/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
+ count++;
+ }
+
+ find_media_after_ide:
+ /* ----------------------------------------------- */
+ if (bus != BUS_SCSI && bus != BUS_USB && bus != BUS_PCMCIA && bus != BUS_ANY)
+ goto find_media_after_scsi;
+ log_message("looking for scsi media");
+
+ fd = open("/proc/scsi/scsi", O_RDONLY);
+ if (fd != -1) {
+ FILE * f;
+
+ enum { SCSI_TOP, SCSI_HOST, SCSI_VENDOR, SCSI_TYPE } state = SCSI_TOP;
+ char * start, * chptr, * next, * end;
+ char scsi_disk_count = 'a';
+ char scsi_cdrom_count = '0';
+ char scsi_tape_count = '0';
+
+ char scsi_no_devices[] = "Attached devices: none";
+ char scsi_some_devices[] = "Attached devices:";
+ char scsi_host[] = "Host: ";
+ char scsi_vendor[] = " Vendor: ";
+
+ int i = read(fd, &buf, sizeof(buf)-1);
+ if (i < 1) {
+ close(fd);
+ goto end_scsi;
+ }
+ close(fd);
+ buf[i] = '\0';
+
+ if (ptr_begins_static_str(buf, scsi_no_devices))
+ goto end_scsi;
+
+ start = buf;
+ while (*start) {
+ char tmp_model[50];
+ char tmp_name[10];
+
+ chptr = start;
+ while (*chptr != '\n') chptr++;
+ *chptr = '\0';
+ next = chptr + 1;
+
+ switch (state) {
+ case SCSI_TOP:
+ if (!ptr_begins_static_str(start, scsi_some_devices))
+ goto end_scsi;
+ state = SCSI_HOST;
+ break;
+
+ case SCSI_HOST:
+ if (!ptr_begins_static_str(start, scsi_host))
+ goto end_scsi;
+ state = SCSI_VENDOR;
+ break;
+
+ case SCSI_VENDOR:
+ if (!ptr_begins_static_str(start, scsi_vendor))
+ goto end_scsi;
+
+ /* (1) Grab Vendor info */
+ start += 10;
+ end = chptr = strstr(start, "Model:");
+ if (!chptr)
+ goto end_scsi;
+
+ chptr--;
+ while (*chptr == ' ')
+ chptr--;
+ if (*chptr == ':') {
+ chptr++;
+ *(chptr + 1) = '\0';
+ strcpy(tmp_model,"(unknown)");
+ } else {
+ *(chptr + 1) = '\0';
+ strcpy(tmp_model, start);
+ }
+
+ /* (2) Grab Model info */
+ start = end;
+ start += 7;
+
+ chptr = strstr(start, "Rev:");
+ if (!chptr)
+ goto end_scsi;
+
+ chptr--;
+ while (*chptr == ' ') chptr--;
+ *(chptr + 1) = '\0';
+
+ strcat(tmp_model, " ");
+ strcat(tmp_model, start);
+
+ tmp[count].model = strdup(tmp_model);
+
+ state = SCSI_TYPE;
+
+ break;
+
+ case SCSI_TYPE:
+ if (strncmp(" Type:", start, 7))
+ goto end_scsi;
+ *tmp_name = '\0';
+
+ if (strstr(start, "Direct-Access")) {
+ sprintf(tmp_name, "sd%c", scsi_disk_count++);
+ tmp[count].type = DISK;
+ } else if (strstr(start, "Sequential-Access")) {
+ sprintf(tmp_name, "st%c", scsi_tape_count++);
+ tmp[count].type = TAPE;
+ } else if (strstr(start, "CD-ROM")) {
+ sprintf(tmp_name, "sr%c", scsi_cdrom_count++);
+ tmp[count].type = CDROM;
+ }
+
+ if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
+ log_message("Couldn't open /proc/partitions");
+ } else {
+ while (fgets(buf, sizeof(buf), f)) {
+ char name[100];
+ int major, minor, blocks;
+ memset(name, 0, sizeof(name));
+ sscanf(buf, " %d %d %d %s", &major, &minor, &blocks, name);
+ if (streq(name, tmp_name) && tmp[count].type == DISK && ((blocks == 1048575) || (blocks == 1440)))
+ tmp[count].type = FLOPPY;
+ }
+ fclose(f);
+ }
+
+ if (*tmp_name) {
+ tmp[count].name = strdup(tmp_name);
+ log_message("SCSI/%d: %s is a %s", tmp[count].type, tmp[count].name, tmp[count].model);
+ count++;
+ }
+
+ state = SCSI_HOST;
+ }
+
+ start = next;
+ }
+
+ end_scsi:;
+ }
+
+ /* ----------------------------------------------- */
+ log_message("looking for Compaq Smart Array media");
+ {
+ char * procfiles[] = { "/proc/driver/cpqarray/ida0", "/proc/driver/cciss/cciss0", // 2.4 style
+ "/proc/array/ida", "/proc/cciss/cciss", // 2.2 style
+ NULL };
+ static char cpq_descr[] = "Compaq RAID logical disk";
+ char ** procfile = procfiles;
+ FILE * f;
+ while (procfile && *procfile && (f = fopen(*procfile, "rb"))) {
+ while (fgets(buf, sizeof(buf), f)) {
+ if (ptr_begins_static_str(buf, "ida/") || ptr_begins_static_str(buf, "cciss/")) {
+ char * end = strchr(buf, ':');
+ if (!end)
+ log_message("Inconsistency in %s, line:\n%s", *procfile, buf);
+ else {
+ *end = '\0';
+ tmp[count].name = strdup(buf);
+ tmp[count].type = DISK;
+ tmp[count].model = cpq_descr;
+ log_message("CPQ: found %s", tmp[count].name);
+ count++;
+ }
+ }
+ }
+ fclose(f);
+ procfile++;
+ }
+ }
+
+ /* ----------------------------------------------- */
+ log_message("looking for DAC960");
+ {
+ FILE * f;
+ if ((f = fopen("/tmp/syslog", "rb"))) {
+ while (fgets(buf, sizeof(buf), f)) {
+ char * start;
+ if ((start = strstr(buf, "/dev/rd/"))) {
+ char * end = strchr(start, ':');
+ if (!end)
+ log_message("Inconsistency in syslog, line:\n%s", buf);
+ else {
+ *end = '\0';
+ tmp[count].name = strdup(start+5);
+ tmp[count].type = DISK;
+ start = end + 2;
+ end = strchr(start, ',');
+ if (end) {
+ *end = '\0';
+ tmp[count].model = strdup(start);
+ } else
+ tmp[count].model = "(unknown)";
+ log_message("DAC960: found %s (%s)", tmp[count].name, tmp[count].model);
+ count++;
+ }
+ }
+ }
+ fclose(f);
+ }
+ }
+ find_media_after_scsi:
+
+ /* ----------------------------------------------- */
+ tmp[count].name = NULL;
+ count++;
+
+ medias = memdup(tmp, sizeof(struct media_info) * count);
+}
+
+
+/* Finds by media */
+void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus)
+{
+ struct media_info * m;
+ char * tmp_names[50];
+ char * tmp_models[50];
+ int count;
+
+ find_media(bus);
+
+ m = medias;
+
+ count = 0;
+ while (m && m->name) {
+ if (m->type == media) {
+ tmp_names[count] = strdup(m->name);
+ tmp_models[count++] = strdup(m->model);
+ }
+ m++;
+ }
+ tmp_names[count] = NULL;
+ tmp_models[count++] = NULL;
+
+ *names = memdup(tmp_names, sizeof(char *) * count);
+ *models = memdup(tmp_models, sizeof(char *) * count);
+}
+
+
+#ifndef DISABLE_NETWORK
+static int is_net_interface_blacklisted(char *intf)
+{
+ /* see detect_devicess::is_lan_interface() */
+ char * blacklist[] = { "lo", "ippp", "isdn", "plip", "ppp", "wifi", "sit", NULL };
+ char ** ptr = blacklist;
+
+ while (ptr && *ptr) {
+ if (!strncmp(intf, *ptr, strlen(*ptr)))
+ return 1;
+ ptr++;
+ }
+
+ return 0;
+}
+
+char ** get_net_devices(void)
+{
+ char * tmp[50];
+ static int already_probed = 0;
+ FILE * f;
+ int i = 0;
+
+ if (!already_probed) {
+ already_probed = 1; /* cut off loop brought by: probe_that_type => my_insmod => get_net_devices */
+ probe_that_type(NETWORK_DEVICES, BUS_ANY);
+ }
+
+ /* use /proc/net/dev since SIOCGIFCONF doesn't work with some drivers (rt2500) */
+ f = fopen("/proc/net/dev", "rb");
+ if (f) {
+ char line[128];
+
+ /* skip the two first lines */
+ fgets(line, sizeof(line), f);
+ fgets(line, sizeof(line), f);
+
+ while (1) {
+ char *start, *end;
+ if (!fgets(line, sizeof(line), f))
+ break;
+ start = line;
+ while (*start == ' ')
+ start++;
+ end = strchr(start, ':');
+ if (end)
+ end[0] = '\0';
+ if (!is_net_interface_blacklisted(start)) {
+ log_message("found net interface %s", start);
+ tmp[i++] = strdup(start);
+ } else {
+ log_message("found net interface %s, but blacklisted", start);
+ }
+ }
+
+ fclose(f);
+ } else {
+ log_message("net: could not open devices file");
+ }
+
+ tmp[i++] = NULL;
+
+ return memdup(tmp, sizeof(char *) * i);
+
+}
+#endif /* DISABLE_NETWORK */
diff --git a/mdk-stage1/probing.h b/mdk-stage1/probing.h
new file mode 100644
index 000000000..ed1af8ea6
--- /dev/null
+++ b/mdk-stage1/probing.h
@@ -0,0 +1,58 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _PROBING_H_
+#define _PROBING_H_
+
+enum media_type { CDROM, DISK, FLOPPY, TAPE, UNKNOWN_MEDIA };
+
+enum driver_type { SCSI_ADAPTERS, NETWORK_DEVICES, USB_CONTROLLERS, ANY_DRIVER_TYPE };
+
+enum media_bus { BUS_IDE, BUS_SCSI, BUS_USB, BUS_PCMCIA, BUS_ANY };
+
+void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus);
+char ** get_net_devices(void);
+void net_discovered_interface(char * intf_name);
+char * get_net_intf_description(char * intf_name);
+void prepare_intf_descr(const char * intf_descr);
+void probe_that_type(enum driver_type type, enum media_bus bus);
+
+/* Make sure the MATCH_ALL value is greater than all possible values
+ for subvendor & subdevice: this simplifies the orderer */
+#define PCITABLE_MATCH_ALL 0x10000
+
+struct pcitable_entry {
+ /* some bits stolen from pci-resource/pci-ids.h
+ * FIXME: split pci-ids.h into pci-ids.c and pci-ids.h so that the header can be re-used
+ */
+ unsigned short vendor; /* PCI vendor id */
+ unsigned short device; /* PCI device id */
+ unsigned int subvendor; /* PCI subvendor id */
+ unsigned int subdevice; /* PCI subdevice id */
+ char module[20]; /* module to load */
+ char description[100]; /* PCI human readable description */
+};
+extern struct pcitable_entry *detected_devices;
+extern int detected_devices_len;
+void probing_detect_devices();
+void probing_destroy(void);
+
+#endif
diff --git a/mdk-stage1/rescue-gui.c b/mdk-stage1/rescue-gui.c
new file mode 100644
index 000000000..be63229e8
--- /dev/null
+++ b/mdk-stage1/rescue-gui.c
@@ -0,0 +1,243 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2001 Mandrakesoft
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#define _USE_BSD
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/mount.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <linux/unistd.h>
+#include <sys/select.h>
+
+#include "config-stage1.h"
+#include "frontend.h"
+#include "tools.h"
+
+#if defined(__i386__) || defined(__x86_64__)
+#define ENABLE_RESCUE_MS_BOOT 1
+#endif
+
+char * env[] = {
+ "PATH=/usr/bin:/bin:/sbin:/usr/sbin:/mnt/sbin:/mnt/usr/sbin:/mnt/bin:/mnt/usr/bin",
+ "LD_LIBRARY_PATH=/lib:/usr/lib:/mnt/lib:/mnt/usr/lib:/usr/X11R6/lib:/mnt/usr/X11R6/lib"
+#if defined(__x86_64__) || defined(__ppc64__)
+ ":/lib64:/usr/lib64:/usr/X11R6/lib64:/mnt/lib64:/mnt/usr/lib64:/mnt/usr/X11R6/lib64"
+#endif
+ ,
+ "HOME=/",
+ "TERM=linux",
+ "TERMINFO=/etc/terminfo",
+ NULL
+};
+
+/* pause() already exists and causes the invoking process to sleep
+ until a signal is received */
+static void PAUSE(void) {
+ unsigned char t;
+ fflush(stdout);
+ read(0, &t, 1);
+}
+
+
+/* ------ UUURGH this is duplicated from `init.c', don't edit here........ */
+static inline _syscall3(int, reboot, int, magic, int, magic2, int, flag);
+#define LOOP_CLR_FD 0x4C01
+void del_loop(char *device)
+{
+ int fd;
+ if ((fd = open(device, O_RDONLY, 0)) < 0) {
+ printf("del_loop open failed\n");
+ return;
+ }
+
+ if (ioctl(fd, LOOP_CLR_FD, 0) < 0) {
+ printf("del_loop ioctl failed");
+ return;
+ }
+
+ close(fd);
+}
+struct filesystem { char * dev; char * name; char * fs; int mounted; };
+void unmount_filesystems(void)
+{
+ int fd, size;
+ char buf[65535]; /* this should be big enough */
+ char *p;
+ struct filesystem fs[500];
+ int numfs = 0;
+ int i, nb;
+
+ printf("unmounting filesystems...\n");
+
+ fd = open("/proc/mounts", O_RDONLY, 0);
+ if (fd < 1) {
+ printf("ERROR: failed to open /proc/mounts");
+ sleep(2);
+ return;
+ }
+
+ size = read(fd, buf, sizeof(buf) - 1);
+ buf[size] = '\0';
+
+ close(fd);
+
+ p = buf;
+ while (*p) {
+ fs[numfs].mounted = 1;
+ fs[numfs].dev = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].name = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].fs = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ while (*p != '\n') p++;
+ p++;
+ if (strcmp(fs[numfs].name, "/") != 0) numfs++; /* skip if root, no need to take initrd root in account */
+ }
+
+ /* Pixel's ultra-optimized sorting algorithm:
+ multiple passes trying to umount everything until nothing moves
+ anymore (a.k.a holy shotgun method) */
+ do {
+ nb = 0;
+ for (i = 0; i < numfs; i++) {
+ /*printf("trying with %s\n", fs[i].name);*/
+ if (fs[i].mounted && umount(fs[i].name) == 0) {
+ if (strncmp(fs[i].dev + sizeof("/dev/") - 1, "loop",
+ sizeof("loop") - 1) == 0)
+ del_loop(fs[i].dev);
+
+ printf("\t%s\n", fs[i].name);
+ fs[i].mounted = 0;
+ nb++;
+ }
+ }
+ } while (nb);
+
+ for (i = nb = 0; i < numfs; i++)
+ if (fs[i].mounted) {
+ printf("\t%s umount failed\n", fs[i].name);
+ if (strcmp(fs[i].fs, "ext2") == 0) nb++; /* don't count not-ext2 umount failed */
+ }
+
+ if (nb) {
+ printf("failed to umount some filesystems\n");
+ while (1);
+ }
+}
+/* ------ UUURGH -- end */
+
+
+/* ------ UUURGH -- this is dirrrrrttttyyyyyy */
+void probe_that_type(void) {}
+
+
+int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)))
+{
+ enum return_type results;
+
+ char install_bootloader[] = "Re-install Boot Loader";
+#if ENABLE_RESCUE_MS_BOOT
+ char restore_ms_boot[] = "Restore Windows Boot Loader";
+#endif
+ char mount_parts[] = "Mount your partitions under /mnt";
+ char go_to_console[] = "Go to console";
+ char reboot_[] = "Reboot";
+ char doc[] = "Doc: what's addressed by this Rescue?";
+
+ char * actions[] = { install_bootloader,
+#if ENABLE_RESCUE_MS_BOOT
+ restore_ms_boot,
+#endif
+ mount_parts, go_to_console, reboot_, doc, NULL };
+ char * choice;
+
+ init_frontend("Welcome to " DISTRIB_NAME " Rescue (" DISTRIB_VERSION ") " __DATE__ " " __TIME__);
+
+ do {
+ int pid;
+ char * binary = NULL;
+
+ choice = "";
+ results = ask_from_list("Please choose the desired action.", actions, &choice);
+
+ if (ptr_begins_static_str(choice, install_bootloader)) {
+ binary = "/usr/bin/install_bootloader";
+ }
+#if ENABLE_RESCUE_MS_BOOT
+ if (ptr_begins_static_str(choice, restore_ms_boot)) {
+ binary = "/usr/bin/restore_ms_boot";
+ }
+#endif
+ if (ptr_begins_static_str(choice, mount_parts)) {
+ binary = "/usr/bin/guessmounts";
+ }
+ if (ptr_begins_static_str(choice, reboot_)) {
+ finish_frontend();
+ sync(); sync();
+ sleep(2);
+ unmount_filesystems();
+ sync(); sync();
+ printf("rebooting system\n");
+ sleep(2);
+ reboot(0xfee1dead, 672274793, 0x01234567);
+ }
+ if (ptr_begins_static_str(choice, doc)) {
+ binary = "/usr/bin/rescue-doc";
+ }
+
+ if (binary) {
+ int wait_status;
+ suspend_to_console();
+ if (!(pid = fork())) {
+
+ char * child_argv[2];
+ child_argv[0] = binary;
+ child_argv[1] = NULL;
+
+ execve(child_argv[0], child_argv, env);
+ printf("Can't execute binary (%s)\n<press Enter>\n", binary);
+ PAUSE();
+
+ return 33;
+ }
+ while (wait4(-1, &wait_status, 0, NULL) != pid) {};
+ printf("<press Enter to return to Rescue GUI>");
+ PAUSE();
+ resume_from_suspend();
+ if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
+ error_message("Program exited abnormally (return code %d).", WEXITSTATUS(wait_status));
+ if (WIFSIGNALED(wait_status))
+ error_message("(received signal %d)", WTERMSIG(wait_status));
+ }
+ }
+
+ } while (results == RETURN_OK && !ptr_begins_static_str(choice, go_to_console));
+
+ finish_frontend();
+ printf("Bye.\n");
+
+ return 0;
+}
diff --git a/mdk-stage1/rp-pppoe/README b/mdk-stage1/rp-pppoe/README
new file mode 100644
index 000000000..269fc16be
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/README
@@ -0,0 +1,87 @@
+pppoe: a PPP-over-Ethernet redirector for pppd
+Copyright (C) 2001 Roaring Penguin Software Inc.
+
+Much inspiration from an earlier client by Luke Stras.
+
+The MSS clamping was inspired by mssclampfw by Marc Boucher <marc@mbsi.ca>
+with acknowledgements to Rebel.com (http://www.rebel.com). However, the
+actual MSS clamping code is original and is licensed under the GPL, unlike
+the original mssclampfw.
+
+Introduction
+============
+
+pppoe is a user-space redirector which permits the use of PPPoE
+(Point-to-Point Over Ethernet) with Linux. PPPoE is used by many
+ADSL service providers.
+
+Installation
+============
+
+Requirements
+------------
+
+1) Linux 2.2.9 or later on Intel, Sparc or PowerPC. It may work on
+ Alpha, too -- anyone care to let me know?
+
+ OR
+
+ Linux 2.0.36 or later.
+
+ OR
+
+ FreeBSD, NetBSD or OpenBSD with BPF support. I have access only
+ to FreeBSD. In general, I can't answer questions about the *BSD's
+ as well as I can about Linux.
+
+
+2) pppd 2.3.10 or later. Versions 2.3.7 and later work unless you use
+ demand-dialling. For demand dialling, you *must* use 2.3.10 or later.
+
+QUICKSTART
+----------
+
+If you're lucky, the "quickstart" method will work. After unpacking
+the archive, become root and type:
+
+ ./go
+
+This should configure, compile and install the software and set up your
+ADSL connection. You'll have to answer a few questions along the way.
+
+If you want the GUI wrapper, type:
+
+ ./go-gui
+
+If ./go and ./go-gui didn't work, read the rest of this README.
+
+Compiling
+---------
+
+Compile and install pppd if you don't already have it. Then:
+
+1) Unpack:
+
+ $ tar xzvf rp-pppoe-xxx.tar.gz
+
+2) Change to source directory:
+
+ $ cd src
+
+3) Configure:
+
+ $ ./configure
+
+4) Compile:
+
+ $ make
+
+4) Install (this step must be done as root)
+
+ # make install
+
+5) Now read doc/HOW-TO-CONNECT
+
+--
+David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
+http://www.roaringpenguin.com | Linux and UNIX Specialists \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-masq b/mdk-stage1/rp-pppoe/configs/firewall-masq
new file mode 100644
index 000000000..cb16fbecf
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/configs/firewall-masq
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# firewall-masq This script sets up firewall rules for a machine
+# acting as a masquerading gateway
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
+# be distributed under the terms of the GNU General Public License, version
+# 2 or any later version.
+
+# Interface to Internet
+EXTIF=ppp+
+
+ANY=0.0.0.0/0
+
+ipchains -P input ACCEPT
+ipchains -P output ACCEPT
+ipchains -P forward DENY
+
+ipchains -F forward
+ipchains -F input
+ipchains -F output
+
+# Deny TCP and UDP packets to privileged ports
+ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
+ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
+
+# Deny TCP connection attempts
+ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
+
+# Deny ICMP echo-requests
+ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
+
+# Do masquerading
+ipchains -A forward -j MASQ
+echo 1 > /proc/sys/net/ipv4/ip_forward
diff --git a/mdk-stage1/rp-pppoe/configs/firewall-standalone b/mdk-stage1/rp-pppoe/configs/firewall-standalone
new file mode 100644
index 000000000..bcb1e92b1
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/configs/firewall-standalone
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# firewall-standalone This script sets up firewall rules for a standalone
+# machine
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
+# be distributed under the terms of the GNU General Public License, version
+# 2 or any later version.
+
+# Interface to Internet
+EXTIF=ppp+
+
+ANY=0.0.0.0/0
+
+ipchains -P input ACCEPT
+ipchains -P output ACCEPT
+ipchains -P forward DENY
+
+ipchains -F forward
+ipchains -F input
+ipchains -F output
+
+# Deny TCP and UDP packets to privileged ports
+ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p udp -j DENY
+ipchains -A input -l -i $EXTIF -d $ANY 0:1023 -p tcp -j DENY
+
+# Deny TCP connection attempts
+ipchains -A input -l -i $EXTIF -p tcp -y -j DENY
+
+# Deny ICMP echo-requests
+ipchains -A input -l -i $EXTIF -s $ANY echo-request -p icmp -j DENY
+
diff --git a/mdk-stage1/rp-pppoe/configs/pap-secrets b/mdk-stage1/rp-pppoe/configs/pap-secrets
new file mode 100644
index 000000000..f4483a723
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/configs/pap-secrets
@@ -0,0 +1,9 @@
+# Edit this file and place it in /etc/ppp/pap-secrets
+
+#User #Server #Password #IP
+bxxxxx@sympatico.ca * my_password *
+
+# Replace bxxxxx@sympatico.ca with your Sympatico user-ID
+# Replace my_password with your Sympatico password
+
+# For Magma, use xxyyzz@magma.ca
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe-server-options b/mdk-stage1/rp-pppoe/configs/pppoe-server-options
new file mode 100644
index 000000000..8319870ac
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/configs/pppoe-server-options
@@ -0,0 +1,5 @@
+# PPP options for the PPPoE server
+require-pap
+login
+lcp-echo-interval 10
+lcp-echo-failure 2
diff --git a/mdk-stage1/rp-pppoe/configs/pppoe.conf b/mdk-stage1/rp-pppoe/configs/pppoe.conf
new file mode 100644
index 000000000..20d2173e9
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/configs/pppoe.conf
@@ -0,0 +1,126 @@
+#***********************************************************************
+#
+# pppoe.conf
+#
+# Configuration file for rp-pppoe. Edit as appropriate and install in
+# /etc/ppp/pppoe.conf
+#
+# NOTE: This file is used by the adsl-start, adsl-stop, adsl-connect and
+# adsl-status shell scripts. It is *not* used in any way by the
+# "pppoe" executable.
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# This file may be distributed under the terms of the GNU General
+# Public License.
+#
+# $Id: pppoe.conf 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+
+# When you configure a variable, DO NOT leave spaces around the "=" sign.
+
+# Ethernet card connected to ADSL modem
+ETH=eth1
+
+# ADSL user name. You may have to supply "@provider.com" Sympatico
+# users in Canada do need to include "@sympatico.ca"
+# Sympatico uses PAP authentication. Make sure /etc/ppp/pap-secrets
+# contains the right username/password combination.
+# For Magma, use xxyyzz@magma.ca
+USER=bxxxnxnx@sympatico.ca
+
+# Bring link up on demand? Default is to leave link up all the time.
+# If you want the link to come up on demand, set DEMAND to a number indicating
+# the idle time after which the link is brought down.
+DEMAND=no
+#DEMAND=300
+
+# DNS type: SERVER=obtain from server; SPECIFY=use DNS1 and DNS2;
+# NOCHANGE=do not adjust.
+DNSTYPE=SERVER
+
+# Obtain DNS server addresses from the peer (recent versions of pppd only)
+USEPEERDNS=yes
+
+DNS1=
+DNS2=
+
+### ONLY TOUCH THE FOLLOWING SETTINGS IF YOU'RE AN EXPERT
+
+# How long adsl-start waits for a new PPP interface to appear before
+# concluding something went wrong. If you use 0, then adsl-start
+# exits immediately with a successful status and does not wait for the
+# link to come up. Time is in seconds.
+#
+# WARNING WARNING WARNING:
+#
+# If you are using rp-pppoe on a physically-inaccessible host, set
+# CONNECT_TIMEOUT to 0. This makes SURE that the machine keeps trying
+# to connect forever after adsl-start is called. Otherwise, it will
+# give out after CONNECT_TIMEOUT seconds and will not attempt to
+# connect again, making it impossible to reach.
+CONNECT_TIMEOUT=30
+
+# How often in seconds adsl-start polls to check if link is up
+CONNECT_POLL=2
+
+# Specific desired AC Name
+ACNAME=
+
+# Specific desired service name
+SERVICENAME=
+
+# Character to echo at each poll. Use PING="" if you don't want
+# anything echoed
+PING="."
+
+# File where the adsl-connect script writes its process-ID.
+# Three files are actually used:
+# $PIDFILE contains PID of adsl-connect script
+# $PIDFILE.pppoe contains PID of pppoe process
+# $PIDFILE.pppd contains PID of pppd process
+CF_BASE=`basename $CONFIG`
+PIDFILE="/var/run/$CF_BASE-adsl.pid"
+
+# Do you want to use synchronous PPP? "yes" or "no". "yes" is much
+# easier on CPU usage, but may not work for you. It is safer to use
+# "no", but you may want to experiment with "yes". "yes" is generally
+# safe on Linux machines with the n_hdlc line discipline; unsafe on others.
+SYNCHRONOUS=no
+
+# Do you want to clamp the MSS? Here's how to decide:
+# - If you have only a SINGLE computer connected to the ADSL modem, choose
+# "no".
+# - If you have a computer acting as a gateway for a LAN, choose "1412".
+# The setting of 1412 is safe for either setup, but uses slightly more
+# CPU power.
+CLAMPMSS=1412
+#CLAMPMSS=no
+
+# LCP echo interval and failure count.
+LCP_INTERVAL=20
+LCP_FAILURE=3
+
+# PPPOE_TIMEOUT should be about 4*LCP_INTERVAL
+PPPOE_TIMEOUT=80
+
+# Firewalling: One of NONE, STANDALONE or MASQUERADE
+FIREWALL=NONE
+
+# Linux kernel-mode plugin for pppd. If you want to try the kernel-mode
+# plugin, use LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
+LINUX_PLUGIN=
+
+# Any extra arguments to pass to pppoe. Normally, use a blank string
+# like this:
+PPPOE_EXTRA=""
+
+# Rumour has it that "Citizen's Communications" with a 3Com
+# HomeConnect ADSL Modem DualLink requires these extra options:
+# PPPOE_EXTRA="-f 3c12:3c13 -S ISP"
+
+# Any extra arguments to pass to pppd. Normally, use a blank string
+# like this:
+PPPD_EXTRA=""
+
+
diff --git a/mdk-stage1/rp-pppoe/doc/CHANGES b/mdk-stage1/rp-pppoe/doc/CHANGES
new file mode 100644
index 000000000..a9120bbe7
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/doc/CHANGES
@@ -0,0 +1,177 @@
+Changes from Version 2.8 to 3.0:
+
+- Many small improvements to server. Server now only makes one
+ discovery socket, systemwide, with addition of "-n" option to pppoe.
+
+- Fixes for compilation problems on BSD, Solaris and some Linux platforms.
+
+- Added "-p" option to pppoe-server to allow you to specify a pool of
+ IP addresses to assign to clients.
+
+- Added GUI system (tkpppoe). This work was funded by Iospan
+ Wireless, Inc. The GUI includes a Set-UID wrapper (pppoe-wrapper)
+ which allows ordinary users to control a link (if so authorized.)
+ I believe the wrapper script is secure, but please audit the
+ source code (gui/wrapper.c) if you have any concerns.
+
+- Changes to scripts and pppoe.conf. DNS setup is now dynamic (happens
+ each time adsl-connect runs.)
+
+- Made relay.c check packet lengths rigorously; made it throw out Ethernet
+ frame padding on session packets as well as discovery packets.
+
+Changes from Version 2.7 to 2.8:
+
+- Added init scripts for TurboLinux, courtesy of Yasuhiro Sumi.
+
+- Made relay.c check packet lengths rigorously; made it throw out Ethernet
+ frame padding on discovery packets.
+
+*** NOTE: 2.7 was not released publicly
+
+Changes from Version 2.6 to 2.7:
+
+- Completely restructured source file tree.
+
+- Much internal restructuring to eliminate a bunch of global variables.
+
+- adsl-connect now executes /etc/ppp/adsl-lost whenever connection is dropped
+ or cannot be established.
+
+- Split pppoe.c into pppoe.c and discovery.c.
+
+- Added relay agent (pppoe-relay).
+
+- Made adsl-connect script use the "-U" (host-unique) option to better support
+ multiple PPPoE links.
+
+- Added support for kernel-mode PPPoE (EXPERIMENTAL, UNSUPPORTED!)
+
+- Added "-o" option to PPPoE server; encoded server PID in pppoe-server
+ cookie.
+
+Changes from Version 2.5 to 2.6:
+
+- Code should now compile cleanly on Caldera and Slackware Linux
+
+- Fixed rp-pppoe.spec file to work on Mandrake and Red Hat.
+
+- Deleted some obsolete files
+
+- Fixed bug in Solaris/x86 port (thanks to Philippe Levan)
+
+- Made shell scripts nicer under Solaris (again, Philippe Levan)
+
+- Made adsl-status look under /var/run and /etc/ppp for PID files. Should
+ fix problems with NetBSD.
+
+- Added PPPD_EXTRA to pppoe.conf; made the PID file depend on the config
+ file name. This makes it easier to run multiple PPPoE sessions.
+
+Changes from Version 2.4 to 2.5:
+
+- Tested for zero-length TCP option-length field, and for reverse-packing
+ of type/code bitfields. Thanks to Robert Schlabbach for pointing out
+ these problems.
+
+- Set umask to 077 in adsl-setup.in to protect created files like
+ /etc/ppp/pap-secrets.
+
+Changes from Version 2.3 to 2.4:
+
+- Fixed spec file to automatically add .gz extension to man files as required
+
+- Tightened firewall rules.
+
+- Better check for /var/run in adsl-status; minor shell script fixes and
+ cleanups for NetBSD and Solaris.
+
+- Added FAQ to HOW-TO-CONNECT regarding running a script each time a
+ connection is made.
+
+Changes from Version 2.2 to 2.3:
+
+- Fixed the init script to create/remove /var/lock/subsys/adsl (patch
+ courtesy of Charley Carter.)
+
+- Added support (under Linux) for N_HDLC line discipline which should
+ greatly reduce CPU usage. My tests show it cuts CPU usage in half.
+ My 486 DX2/66 gets 800 kb/s at 22% CPU usage.
+
+- adsl-connect uses "setsid" (if available) so that adsl-stop doesn't kill
+ its caller. There is (IMO) a bug in pppd which kills all processes in
+ its process group if the "pty" option is used. The setsid program gets
+ around this bug, on Linux at least.
+
+- Port to Solaris, courtesy of David Holland.
+
+- Renamed spec file from "spec" to "rp-pppoe.spec" and made some cleanups.
+ NOTE: Red Hat, in their infinite wisdom, decided to make the new RPM
+ compress man pages automatically. You may have problems building RPM's
+ from source unless you get the latest rpm package and make sure it
+ compresses man pages.
+
+Changes from Version 2.1 to 2.2:
+
+- Added "-f" option to pppoe to allow use of any Ethernet frame type
+ for PPPoE. USE WITH CAUTION -- this is a workaround for broken DSL
+ providers, not something you should monkey with freely!
+
+- Added pppoe-sniff program to help expose non-standard PPPoE implementations.
+
+Changes from Version 2.0 to 2.1:
+
+- Fixed minor bugs in bounds-checking
+
+- Modified adsl-status to use output of "netstat -r -n" to determine whether
+ or not link is up. This should make it independent of locale, I hope!
+
+- Added "-k" and "-d" options to pppoe.
+
+Changes from Version 1.9 to 2.0:
+
+- Addition of pppoe-server
+
+- Massive internal code restructuring
+
+- Zealous bounds-checking everywhere.
+
+- adsl-setup now quotes user name and password in /etc/ppp/pap-secrets.
+
+- Ported to OpenBSD, FreeBSD and NetBSD, courtesy of Geoff Mottram
+ and Yannis Sismanis.
+
+- Rearranged adsl-* shell scripts, courtesy of Heiko Schlittermann.
+
+- Fixed bug in which Host-Uniq did not work if access concentrator sent
+ a cookie.
+
+- Addition of SuSE-specific "init" script, courtesy of Gary Cameron.
+
+Changes from Version 1.8 to 1.9:
+
+- Added some more documentation to HOW-TO-CONNECT
+
+- Demand-dialling option now works correctly
+
+- SIGHUP terminates pppoe after sending a PADT to the access concentrator
+
+- Minor cleanups to connection shell scripts
+
+Changes from Version 1.7 to 1.8:
+
+- Added demand-dialling option
+
+- Clarified HOW-TO-CONNECT
+
+- Added adsl-status script
+
+- Added "restart" and "status" options to Red Hat /etc/rc.d/init.d/adsl script
+
+- Made adsl-setup check for existence of pppd
+
+- Wildcarded external interface in firewall rules
+
+- Made pppoe send a PADT frame if connection is terminated
+
+$Id: CHANGES 6005 2001-06-11 13:49:39Z gc $
diff --git a/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT b/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
new file mode 100644
index 000000000..284548e51
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/doc/HOW-TO-CONNECT
@@ -0,0 +1,295 @@
+$Id: HOW-TO-CONNECT 6005 2001-06-11 13:49:39Z gc $
+
+This package lets you connect a Linux machine to Sympatico HSE or Magma's
+high-speed service using a Nortel 1-meg modem.
+
+Follow these steps and you should have your high-speed service up and running.
+
+0. Install the rp-pppoe-software
+--------------------------------
+
+You should have already done this by the time you're reading this. If not,
+go back and read README.
+
+1. Set up your Ethernet hardware
+--------------------------------
+
+First, make sure the Ethernet card you intend to use with the modem is
+visible to the Linux kernel. Just how to do this is beyond the scope
+of this document. However, if the card is the only Ethernet card in
+the system, executing:
+
+ ifconfig eth0
+
+should display something like this:
+
+ eth0 Link encap:Ethernet HWaddr 00:60:67:62:31:D4
+
+plust some more lines. Your HWaddr will be different. As long as you see
+the HWaddr line, your card should be working.
+
+DO NOT assign an IP address to the Ethernet card. DO NOT configure the
+card to come up at boot time.
+
+2. Configure various files
+--------------------------
+
+Several files need editing. The easiest way to do this is to run
+the following command as root:
+
+ adsl-setup
+
+Answer the questions and you should be all set. If you want to know what
+goes on behind the scenes, continue reading this document. If you don't
+care and your connection works, stop reading. :-)
+
+3. Edit pap-secrets
+-------------------
+
+Edit the "pap-secrets" file, inserting your proper user-ID and password.
+Install the file (or copy the relevant lines) to /etc/ppp/pap-secrets.
+Your ISP may use CHAP authentication. In this case, add the line to
+/etc/ppp/chap-secrets.
+
+4. Edit /etc/ppp/pppoe.conf
+-----------------------------
+
+The file /etc/ppp/pppoe.conf contains configuration information for the
+ADSL connection. You need to edit the following items:
+
+- Change ETH=eth1 to the correct Ethernet device for your modem.
+- Change USER=bxxxnxnx@sympatico.ca to your proper ADSL user-ID.
+
+Don't edit any of the other settings unless you're an expert.
+
+5. Set up DNS
+-------------
+
+If you are using DNS servers supplied by your ISP, edit the file
+/etc/resolv.conf to contain these lines:
+
+ nameserver ip_addr_of_first_dns_server
+ nameserver ip_addr_of_second_dns_server
+
+For example:
+
+ nameserver 204.101.251.1
+ nameserver 204.101.251.2
+
+
+6. Firewall your machine
+------------------------
+
+MAKE SURE YOU FIREWALL YOUR MACHINE. A sample firewall script is given
+in the shell script "firewall" To install the script:
+
+a) Copy it to /etc/rc.d/init.d/firewall
+b) Type: chkconfig firewall on
+c) Start the firewall: sh /etc/rc.d/init.d/firewall start
+
+(The above procedure works ONLY on Red Hat-like systems.)
+
+You may want to tweak the script somewhat.
+
+7. Bring up the connection at boot time
+---------------------------------------
+
+On a Red Hat system, the installation procedure should have installed
+a script called /etc/rc.d/init.d/adsl. To bring up the connection
+at boot time, just type this command as root:
+
+ chkconfig --add adsl
+
+On non-Red-Hat systems, add this line to the end
+of /etc/rc.d/rc.local:
+
+ /usr/sbin/adsl-start
+
+8. Configure LAN Hosts
+----------------------
+
+If you have a LAN behind the firewall, you have to lower the TCP
+maximum segment size from the normal 1460 to 1452 (or better, 1412.)
+You have two options: Either set the MTU of all the interfaces on
+other hosts on the LAN to 1452, or use the "-m 1412" option to pppoe.
+The "-m" option for pppoe is far simpler and makes it easier to add
+hosts to the LAN, but consumes some extra CPU time.
+
+If you want to manually configure the LAN hosts, here's how:
+
+In Linux, use: "ifconfig eth0 mtu 1452". For best results, put this
+in an /etc/rc.d/rc.local script.
+
+For Windows, machines, see http://lan.cns.ksu.edu/OS/WIN95/slip95.htm.
+Set the MaxMTU to 1452.
+
+9. Commands to control the ADSL link
+------------------------------------
+
+As root, bring up the link by typing: adsl-start
+As root, bring down the link by typing: adsl-stop
+
+That's it!
+
+--
+David F. Skoll <dfs@roaringpenguin.com> | Roaring Penguin Software Inc.
+http://www.roaringpenguin.com | Linux and UNIX Specialists
+
+PROBLEMS! DAVE, IT DOESN'T WORK!
+---------------------------------
+
+Here are some problems PPPoE users have encountered.
+
+-----------------------------------------------------------------------------
+A) Can't see the Ethernet interface
+
+Well, I can't really help you here. To use these instructions, you must
+have Linux working to the point where it recognizes your Ethernet card.
+If you type "ifconfig ethx" and you get back a HWAddr value, your Ethernet
+card is probably OK. But I really can't help with hardware configuration
+issues.
+
+-----------------------------------------------------------------------------
+B) Connection seems to come up, but I can't browse the web or ping anything
+
+You probably don't have DNS set up. See step 6.
+
+-----------------------------------------------------------------------------
+C) Can't compile PPPoE
+
+I have only tested compilation on 2.2-kernel machines. Make sure you have
+"make", the C compiler and all development header files installed.
+
+-----------------------------------------------------------------------------
+D) pppd complains about (i) "unknown option pty" or (ii) "pty option precludes
+ specifying device name"
+
+(i) Your pppd is too old. You need at least 2.3.7.
+(ii) Your /etc/ppp/options file is not empty. Empty it!
+
+-----------------------------------------------------------------------------
+E) pppoe dies with the log message "Message too long"
+
+You set the MTU of the Ethernet interface connected to the ADSL modem
+to less than 1500. Don't do that.
+
+-----------------------------------------------------------------------------
+F) Internal hosts can't see the Internet
+
+Do you have masquerading set up? I can't help you in great detail, but
+see the IPCHAINS-HOWTO and the IP-Masquerade mini-HOWTO.
+
+-----------------------------------------------------------------------------
+G) Authentication fails
+
+Make sure you have the right secret in /etc/ppp/pap-secrets. Your ISP
+may be using CHAP; it won't hurt to copy the line to /etc/ppp/chap-secrets.
+
+Also, MAKE SURE that /etc/ppp/options is EMPTY. The "adsl-connect" script
+supplies all required options on the command line; additional options
+in /etc/ppp/options may mess things up.
+
+-----------------------------------------------------------------------------
+H) VPN software does not work
+
+If you are using VPN software on a Windows or Linux machine with another
+Linux machine running PPPoE as the gateway, you MUST NOT use the "-m" option
+to pppoe. This alters IP packets, which will break any VPN which uses IPSec.
+In /etc/ppp/pppoe.conf, set CLAMPMSS to "no". You'll also have to reduce
+the MTU on the hosts behind the gateway to 1452.
+
+-----------------------------------------------------------------------------
+I) I can browse some web sites just fine, but others stall forever.
+
+There is probably a buggy router or firewall between you and the Web server.
+One possible workaround: In /etc/ppp/pppoe.conf, find the line which reads:
+
+ CLAMPMSS=1412
+
+Try lowering the 1412 until it works (go down in steps of 100 or so.) Each
+time you lower the value, you have to restart your connection like this:
+
+ adsl-stop; adsl-start
+
+This should work around buggy routers which do not support Path MTU discovery.
+
+-----------------------------------------------------------------------------
+J) Whenever I connect using ADSL, my internal LAN no longer sees the gateway
+
+You are more than likely running a 2.0.X Linux kernel. To solve this
+problem, give the Ethernet card connected to the DSL modem a fake IP
+address. For example, if eth0 is your internal LAN card and eth1 goes to
+the DSL modem, do something like this:
+
+ ifconfig eth1 10.0.0.1 netmask 255.255.255.0
+
+(You may have to choose a different IP address; experiment.)
+-----------------------------------------------------------------------------
+K) How can I run a script every time I connect and get a new IP address?
+
+Put the script in /etc/ppp/ip-up. See the pppd(8) man page.
+-----------------------------------------------------------------------------
+L) Nothing works!
+
+You may need to put your Ethernet card in half-duplex, 10Mb/s mode to
+work with the DSL modem. You may have to run a DOS program to do this,
+or pass special parameters to the Linux driver.
+
+Some providers object to attempts to set the MRU or MTU. Try removing
+"mtu 1492 mru 1492" from PPP_STD_OPTIONS in the adsl-connect script.
+This problem has been seen with an ISP in Hong Kong.
+
+Your DSL provider may be using non-standard PPPoE frames or require
+something special in the Service-Name field. If you have two computers,
+you can try sniffing out these values with the "pppoe-sniff" program.
+Type "man pppoe-sniff" for details. If you don't have two computers,
+you'll have to ask your DSL provider if it uses non-standard PPPoE frames
+or special Service-Name fields. Good luck getting an answer...
+
+If pppoe-sniff indicates that nothing is amiss, make sure the Ethernet
+card associated with the ADSL modem does NOT have a valid IP address.
+(NOTE: For 2.0 kernels, you may have to give it a fake IP address
+which is not on your internal subnet. Something like 192.168.42.42
+might work if you are not using 192.168.42.*)
+
+If you are using synchronous PPP on a slow machine, try switching to
+asynchronous PPP.
+
+Make sure no entries in the routing table go through the Ethernet card
+connected to the ADSL modem. You might want to add these lines in
+adsl-connect:
+
+ ifconfig ethx down
+ ifconfig ethx up mtu 1500
+
+which should reset things to sane values.
+
+#######################################################################
+# WHEN ALL ELSE FAILS: #
+#######################################################################
+
+If you are completely unable to connect, run the adsl-start script in
+debugging mode. If you are using bash as your shell (if you don't
+know what your shell is, it's probably bash), type this:
+
+ DEBUG=1 adsl-start
+
+In tcsh or csh, use:
+
+ setenv DEBUG 1; adsl-start
+
+Then follow the instructions to mail the debugging file to me. PLEASE
+DON'T DO THIS until you have exhausted all other avenues; rp-pppoe is
+free software and it costs me time and money to help people with
+problems. While I don't mind doing this, I do mind it if you don't
+make an effort to fix the problem yourself first.
+
+WARNING: If you run adsl-start in debugging mode and you manage to
+connect, your connection will be extremely slow and huge amounts of
+data will quickly fill your /tmp directory. Do not use debugging mode
+unless you really cannot get your connection to work.
+
+Be aware that debugging mode produces hex dumps which potentially reveal
+your user name and password. If the debugging output includes packets
+labeled "PPPOE Session", you may wish to remove these packets from the
+dump before mailing it to me.
diff --git a/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE b/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
new file mode 100644
index 000000000..454c4b870
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/doc/KERNEL-MODE-PPPOE
@@ -0,0 +1,39 @@
+RP-PPPoE now supports kernel-mode PPPoE on Linux kernels 2.4.x. However,
+the default "./go" build procedure does not make kernel-mode support.
+
+Here's what you need to do:
+
+1) Download Michal Ostrowski's patched version of pppd which supports
+a PPPoE plugin. The latest version as of this writing is
+at http://www.math.uwaterloo.ca/~mostrows/ in
+http://www.math.uwaterloo.ca/~mostrows/ppp-2.4.0-pppoe4.tgz. It is
+also mirrored at http://www.roaringpenguin.com/pppoe/
+
+2) Unpack that version of pppd and build and install it.
+
+3) In the rp-pppoe directory, change to src/ and type:
+
+ ./configure --enable-plugin=/path/to/ppp-tree
+
+Here, /path/to/ppp-tree is where you unpacked the pppd software. It
+should be the directory named ppp-2.4.0.pppoe
+
+4) Type make; make install
+
+5) Edit /etc/ppp/pppoe.conf to include this line:
+
+ LINUX_PLUGIN=/etc/ppp/plugins/rp-pppoe.so
+
+6) Make sure your kernel was built with support for PPP, PPPOX and that
+all modules are locatable by modprobe. Make sure you have a /dev/ppp
+device:
+
+ mknod /dev/ppp c 108 0
+
+After that, adsl-start should use kernel-mode PPPoE.
+
+This code is experimental and unsupported. Use at your own risk.
+
+--
+David F. Skoll <dfs@roaringpenguin.com>
+
diff --git a/mdk-stage1/rp-pppoe/doc/LICENSE b/mdk-stage1/rp-pppoe/doc/LICENSE
new file mode 100644
index 000000000..9ed341535
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/doc/LICENSE
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/mdk-stage1/rp-pppoe/doc/PROBLEMS b/mdk-stage1/rp-pppoe/doc/PROBLEMS
new file mode 100644
index 000000000..f0b7d7d59
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/doc/PROBLEMS
@@ -0,0 +1,3 @@
+Problems?
+
+See the last section of HOW-TO-CONNECT.
diff --git a/mdk-stage1/rp-pppoe/go b/mdk-stage1/rp-pppoe/go
new file mode 100755
index 000000000..6e9910d44
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/go
@@ -0,0 +1,43 @@
+#!/bin/sh
+#***********************************************************************
+#
+# go
+#
+# Quick-start shell script to set up ADSL
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: go 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+
+# Figure out directory of script
+MYDIR=`dirname $0`
+cd $MYDIR/src
+
+echo "Running ./configure..."
+./configure
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like ./configure failed."
+ exit 1
+fi
+
+echo "Running make..."
+make
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make failed."
+ exit 1
+fi
+
+echo "Running make install..."
+make install
+
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make install failed."
+ exit 1
+fi
+
+for i in a a a a a a a a a a a a a a a a a a a a a a a a a a a a ; do
+ echo ""
+done
+
+sh ../scripts/adsl-setup
diff --git a/mdk-stage1/rp-pppoe/go-gui b/mdk-stage1/rp-pppoe/go-gui
new file mode 100755
index 000000000..157085d23
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/go-gui
@@ -0,0 +1,92 @@
+#!/bin/sh
+#***********************************************************************
+#
+# go-gui
+#
+# Quick-start shell script to set up ADSL and GUI wrapper
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: go-gui 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+
+# GUI only works on Linux
+if test "`uname`" != "Linux" ; then
+ echo "Sorry, the GUI only works on Linux."
+ exit 1
+fi
+
+# Figure out directory of script
+MYDIR=`dirname $0`
+cd $MYDIR/src
+
+echo "Running ./configure..."
+./configure
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like ./configure failed."
+ exit 1
+fi
+
+echo "Running make..."
+make
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make failed."
+ exit 1
+fi
+
+echo "Running make install..."
+make install
+
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make install failed."
+ exit 1
+fi
+
+echo "Building GUI wrapper..."
+cd ../gui
+make
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make failed."
+ exit 1
+fi
+
+echo "Installing GUI..."
+make install
+
+if [ "$?" != 0 ] ; then
+ echo "Oops! It looks like make install failed."
+ exit 1
+fi
+
+# Install entry in KDE menu
+if test -n "$KDEDIR" ; then
+ echo "Installing KDE menu entry Internet : TkPPPoE..."
+ mkdir -p "$KDEDIR/share/applnk/Internet"
+ cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
+# KDE Config File
+[KDE Desktop Entry]
+Name=TkPPPoE
+Comment=Start/Stop ADSL connections
+Exec=tkpppoe
+Terminal=0
+Type=Application
+EOF
+fi
+
+# Install entry in GNOME menus
+GNOMEDIR=`gnome-config --datadir 2>/dev/null`
+if test -n "$GNOMEDIR" ; then
+ echo "Installing GNOME menu entry Internet : TkPPPoE..."
+ mkdir -p "$GNOMEDIR/gnome/apps/Internet"
+cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
+[Desktop Entry]
+Name=TkPPPoE
+Comment=Start/Stop ADSL connections
+Exec=tkpppoe
+Terminal=0
+Type=Application
+EOF
+fi
+echo "Running GUI configuration tool..."
+tkpppoe &
+exit 0
diff --git a/mdk-stage1/rp-pppoe/gui/Makefile.in b/mdk-stage1/rp-pppoe/gui/Makefile.in
new file mode 100644
index 000000000..0ae5e3bbf
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/Makefile.in
@@ -0,0 +1,64 @@
+# @configure_input@
+#***********************************************************************
+#
+# Makefile
+#
+# Makefile for GUI for Roaring Penguin's Linux user-space PPPoE client.
+#
+# Copyright (C) 2001 Roaring Penguin Software Inc.
+#
+# This program may be distributed according to the terms of the GNU
+# General Public License, version 2 or (at your option) any later version.
+#
+# $Id: Makefile.in 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+DEFINES=
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+mandir=@mandir@
+install=@INSTALL@
+install_dir=@INSTALL@ -d
+sbindir=@sbindir@
+bindir=@bindir@
+
+ADSL_START_PATH=@sbindir@/adsl-start
+ADSL_STOP_PATH=@sbindir@/adsl-stop
+ADSL_STATUS_PATH=@sbindir@/adsl-status
+
+PATHS='-DADSL_START_PATH="$(ADSL_START_PATH)"' '-DADSL_STOP_PATH="$(ADSL_STOP_PATH)"' '-DADSL_STATUS_PATH="$(ADSL_STATUS_PATH)"'
+
+CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
+
+all: pppoe-wrapper
+ @echo ""
+ @echo "Type 'make install' as root to install the software."
+
+pppoe-wrapper: wrapper.o
+ @CC@ -o pppoe-wrapper wrapper.o
+
+wrapper.o: wrapper.c
+ @CC@ $(CFLAGS) -c -o wrapper.o wrapper.c
+
+install: all
+ -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
+ -mkdir -p $(RPM_INSTALL_ROOT)$(bindir)
+ -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp/rp-pppoe-gui
+ $(install) -m 4755 -s pppoe-wrapper $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 tkpppoe $(RPM_INSTALL_ROOT)$(bindir)
+ -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man1
+ $(install) -m 644 pppoe-wrapper.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
+ $(install) -m 644 tkpppoe.1 $(RPM_INSTALL_ROOT)$(mandir)/man1
+ -mkdir -p $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui
+ for i in tkpppoe.html mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png ; do \
+ $(install) -m 644 html/$$i $(RPM_INSTALL_ROOT)/usr/share/rp-pppoe-gui; \
+ done
+
+clean:
+ rm -f *.o *~ pppoe-wrapper
+
+distclean: clean
+ rm -f Makefile tkpppoe
+
+.PHONY: clean
+
+.PHONY: distclean
diff --git a/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html b/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
new file mode 100644
index 000000000..51aadb895
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/html/tkpppoe.html
@@ -0,0 +1,181 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <meta name="GENERATOR" content="Mozilla/4.76 [en] (X11; U; Linux 2.2.14-5.0 i686) [Netscape]">
+ <title>TkPPPoE Manual</title>
+</head>
+<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#59188E" alink="#FF0000">
+
+<center>
+<h1>tkpppoe - A GUI for managing PPPoE Connections</h1>
+</center>
+
+<h1>Introduction</h1>
+
+TkPPPoE is a graphical user interface for managing PPPoE connections. It
+performs two different functions:
+<ul>
+<li>TkPPPoE lets you <em>define</em> connection properties. This step must
+be done as root.
+<li>TkPPPoE lets you <em>start and stop</em> PPPoE connections. This step
+may be done as a normal user, depending on how you configured the connection.
+</ul>
+
+<h1>Defining Connections</h1>
+
+To define connections, start TkPPPoE as root. You can do this from
+a terminal by typing <code>tkpppoe</code>, or from the KDE or GNOME menus
+by selecting <b>Internet : TkPPPoE</b>. The following window pops up:
+
+<p>
+<center><img src="mainwin.png" width="361" height="73" alt="Main Window">
+</center>
+
+<p>
+Because you have not yet defined any connections, the connection property
+window also pops up:
+
+<p>
+<center><img src="props-basic.png" width="440" height="259" alt="Connection Properties - Basic">
+</center>
+
+You can pop up the connection property window at any time by clicking
+<b>New Connection...</b> You can edit the properties of an existing
+connection by selecting the connection's name and clicking
+<b>Properties...</b>
+<h4>Basic Information</h4>
+
+Let's fill in the basic information:
+<ul>
+<li>For <b>Connection Name</b>, enter a unique name for this connection. It
+can be anything you like, but must contain only letters, numbers, underscores
+or dashes. In particular, it can't contain spaces. If you have only one
+PPPoE connection, a good name is <b>Default</b>.
+<li>For <b>User Name</b>, enter the user name supplied by your ISP. Enter
+only the user name; do not enter an "@isp.com" part.
+<li>For <b>Network</b>, you may have to enter your ISP's domain name.
+(For example, <b>isp.com</b>.) Some DSL providers add this to your user
+name; others do not. You may have to experiment a bit. The two most likely
+choices are your ISP's domain name, or blank. Try both.
+<li>For <b>Password</b>, enter the password your ISP provided you with.
+</ul>
+
+<h4>NIC and DNS</h4>
+Click on the <b>NIC and DNS</b> tab:
+
+<p>
+<center><img src="props-nic.png" width="440" height="259" alt="Connection Properties - NIC and DNS"></center>
+<p>
+<ul>
+<li>For <b>Ethernet Interface</b>, enter the Ethernet interface connected
+to the DSL modem. It is something like <b>eth0</b> or <b>eth1</b>. Click
+on <b>...</b> to browse a list of detected Ethernet interfaces.
+<li>For <b>DNS Setup</b>, you have three options:
+<ol>
+<li><b>From Server</b> means that the system will obtain DNS information from
+the PPPoE server. This is the correct choice for most ISPs.
+<li><b>Specify</b> means that you will enter the IP addresses of your DNS
+servers manually. In this case, enter the addresses in the <b>Primary DNS</b>
+and <b>Secondary DNS</b> entries.
+<li><b>Do not Adjust</b> means that you want RP-PPPoE to leave your
+DNS setup alone. Use this if you are running your own caching DNS server
+or know that you don't want the DNS setup touched.
+</ol>
+</ul>
+
+<h4>Options</h4>
+Click on the <b>Options</b> tab:
+
+<p>
+<center><img src="props-options.png" width="440" height="259" alt="Connection Properties - Options"></center>
+<p>
+<ul>
+<li>If you want ordinary users to be able to start and stop this connection,
+enable <b>Allow use by non-root users</b>. If you do not enable this,
+non-root users will be able to monitor the connection, but not control it.
+<li>If you want to use synchronous PPP, enable <b>Use synchronous PPP</b>.
+This is recommended as it conserves CPU usage, but may not work on some
+(misconfigured) Linux kernels.
+<li>For <b>Firewalling</b>, you have three options:
+<ol>
+<li><b>Stand-Alone</b> installs a simple firewall ruleset for stand-alone
+machines. Use this if you have only a single computer connected to the DSL
+modem.
+<li><b>Masquerading</b> installs a simple firewall ruleset for using
+your Linux computer as an Internet sharing device. If you have two Ethernet
+cards, you can connect one card to the DSL modem and the other to an
+internal LAN. The masquerading firewall ruleset lets internal machines
+share the DSL connection.
+<li><b>None</b>. If you already have your own firewall rules, or you wish
+to run servers on your machine, select None. This is <em>not recommended</em>
+unless you take steps to secure your machine, and know what you are doing.
+</ol>
+</ul>
+
+<h4>Advanced</h4>
+Click on the <b>Advanced</b> tab:
+
+<p>
+<center><img src="props-advanced.png" width="440" height="259" alt="Connection Properties - Advanced"></center>
+<p>
+
+In most cases, you can leave <b>AC-Name</b> and <b>Service-Name</b> blank.
+In some cases, your ISP may require you to enter information in these fields;
+contact your ISP for more information.
+
+<h1>Controlling Connections</h1>
+For these examples, run <code>tkpppoe</code> as a normal user (not root).
+The main window appears like this:
+
+<p>
+<center><img src="mainwin-nonroot.png" width="206" height="73" alt="Main Window - Non-root">
+</center>
+<p>
+<ul>
+<li>To start a connection, press <b>Start</b>. The two LEDs flash red
+and grey. If the connection is established, they turn green.
+<li>To stop a connection, press <b>Stop</b>.
+</ul>
+
+<p>The two rectangles to the right of the connection name are the
+<em>status LEDs</em>. The top LED corresponds to transmitted data and
+the bottom to received. The LEDs are colored as follows:
+<ul>
+<li>Grey -- connection is not established.
+<li>Flashing red/grey -- connection is being started.
+<li>Green -- connection is up, but idle.
+<li>Yellow -- connection is up and data is being sent or received.
+<li>Red -- connection has been lost, but the system is trying to reestablish it.
+</ul>
+
+<p>
+When a connection is established, two graphs appear:
+
+<p>
+<center><img src="mainwin-busy.png" width="206" height="73" alt="Main Window - Established Connection">
+</center>
+<p>
+
+The left (red) graph shows transmitted packets and the average
+transmission speed (in bits per second) over the sample time. The
+right (green) graph shows received packets.
+
+<h1>Miscellaneous Information</h1>
+<ul>
+<li>The connection menu has an entry called <b>User's Manual</b> which
+will pop up this user manual (if you have Netscape installed.)
+<li>You can define multiple PPPoE connections, but you should not use
+more than one simultaneuously unless you feel comfortable editing scripts
+and setting up routing tables. By default, TkPPPoE tries to add a default
+route for connections. This does not work well with multiple simultaneous
+connections.
+<li>If you exit from TkPPPoE, connections which are up remain up. You
+have to explicitly stop connections if you want them terminated.
+</ul>
+<hr>
+<a href="http://www.roaringpenguin.com/pppoe/">TkPPPoE</a> is Copyright 2001 by <a href="http://www.roaringpenguin.com">Roaring Penguin Software Inc</a> and
+is licensed under the GNU General Public License.
+<p>Screenshots show TkPPPoE running under the <a href="http://www.xfce.org">XFCE</a> desktop, a lightweight UNIX and Linux desktop.
+</body>
+</html>
diff --git a/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1 b/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
new file mode 100644
index 000000000..037803cfb
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/pppoe-wrapper.1
@@ -0,0 +1,45 @@
+.\" $Id: pppoe-wrapper.1 6005 2001-06-11 13:49:39Z gc $
+.TH PPPOE-WRAPPER 1 "26 February 2001"
+.UC 4
+.SH NAME
+pppoe-wrapper \- SUID wrapper for starting and stopping PPPoE connections.
+.SH SYNOPSIS
+.B pppoe-wrapper start linkname
+.P
+.B pppoe-wrapper stop linkname
+.P
+.B pppoe-wrapper status linkname
+
+.SH DESCRIPTION
+\fBpppoe-wrapper\fR is a small SUID program which allows non-root users
+to start and stop PPPoE links. It operates as follows:
+
+.TP
+.B o
+First, \fIlinkname\fR is sanity-checked. Too-long names and names containing
+illegal characters are rejected.
+
+.TP
+.B o
+Second, \fBpppoe-wrapper\fR opens the file \fB/etc/ppp/rp-pppoe-gui/\fR\fIlinkname\fR for reading. If that file does not contain the line:
+.nf
+
+ NONROOT=OK
+
+.fi
+then \fBpppoe-wrapper\fR fails.
+
+.TP
+.B o
+Otherwise, \fBpppoe-wrapper\fR runs \fBadsl-start\fR, \fBadsl-stop\fR or
+\fBadsl-status\fR with the above filename as its single argument.
+
+.SH AUTHOR
+\fBpppoe-wrapper\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), adsl-status(8), tkpppoe(1)
+
+
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.1 b/mdk-stage1/rp-pppoe/gui/tkpppoe.1
new file mode 100644
index 000000000..11d34c5da
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/tkpppoe.1
@@ -0,0 +1,36 @@
+.\" $Id: tkpppoe.1 6005 2001-06-11 13:49:39Z gc $
+.TH TKPPPOE 1 "26 February 2001"
+.UC 4
+.SH NAME
+tkpppoe \- Graphical interface for controlling rp-pppoe
+.SH SYNOPSIS
+.B tkpppoe
+
+.SH DESCRIPTION
+\fBtkpppoe\fR is a graphical program for controlling PPPoE links.
+It works with the RP-PPPoE package and has its own HTML manual.
+
+.SH FILES
+
+.TP
+.B /etc/ppp/rp-pppoe-gui/connection-info
+Contains connection information. This file is not human-editable.
+
+.TP
+.B /etc/ppp/rp-pppoe-gui/passwd
+Contains passwords for each connection. This file is not human-editable.
+
+.TP
+.B /etc/ppp/rp-pppoe-gui/conf.*
+These configuration files are used by \fBadsl-start\fR. They are
+generated anew by \fBtkpppoe\fR each time a change is made to a
+connection's properties.
+
+.SH AUTHOR
+\fBtkpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), pppoe-wrapper(8).
+
diff --git a/mdk-stage1/rp-pppoe/gui/tkpppoe.in b/mdk-stage1/rp-pppoe/gui/tkpppoe.in
new file mode 100755
index 000000000..0f0d4cdd4
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/tkpppoe.in
@@ -0,0 +1,2891 @@
+#!/bin/sh
+# -*-Mode: TCL;-*-
+
+#--------------------------------------------------------------
+# tkpppoe
+#
+# A graphical front-end for configuring and using rp-pppoe.
+#
+# Copyright (C) 2001 by Roaring Penguin Software Inc.
+# This file may be distributed under the terms of the GNU General Public
+# License, Version 2, or (at your option) any later version.
+#
+# The "Roaring Penguin" logo is a trademark of Roaring Penguin Software Inc.
+#
+# http://www.roaringpenguin.com
+#
+#--------------------------------------------------------------
+
+# $Id: tkpppoe.in 6005 2001-06-11 13:49:39Z gc $
+
+# the next line restarts using wish \
+umask 022; \
+exec wish "$0" "$@" || clear; echo "*****"; echo "Cannot find 'wish' -- you need Tcl/Tk installed to run this program"; exit 1
+
+# Set app name
+tk appname TkPPPoE
+
+# Set this to one if you want to allow multiple instances of TkPPPoE
+set AllowMultipleInstances 0
+
+# Check for other instances
+if {"[tk appname]" != "TkPPPoE"} {
+ # Must be another instance running...
+ if {!$AllowMultipleInstances} {
+ send TkPPPoE AnotherInstance
+ exit 0
+ }
+}
+
+# Location of config directory
+set ConfigDir /etc/ppp/rp-pppoe-gui
+
+# Are we running as root?
+set Admin 0
+
+# Location of connection info file
+set ConnectionInfoFile [file join $ConfigDir connection-info]
+
+# Location of password file
+set PasswordFile [file join $ConfigDir passwd]
+
+# Location of "already run" file
+set AlreadyRunFile [file join $ConfigDir gui-already-run]
+
+# Connection information
+set ConnectionInfo {}
+
+# Connection options
+set OPTS(nonroot) 0
+set OPTS(sync) 1
+
+# Location of wrapper
+set Wrapper "@WRAPPER@"
+
+# Timer token for UpdateConnectionState
+set UpdateToken {}
+
+# Update interval in milliseconds
+set UpdateInterval 500
+
+# Packet counters for signalling activity
+set Packets(in) 0
+set Packets(out) 0
+set Bytes(in) 0
+set Bytes(out) 0
+set MeasureTime 0
+
+# Set up some options to make it look better
+option add *Button.borderWidth 1
+option add *Button.Pad 1
+option add *Menubutton.borderWidth 1
+option add *Menubutton.Pad 1
+option add *Entry.Background white
+
+# Array holding help strings for windows
+array set HelpData {}
+
+bind HelpWin <Enter> "HelpWindowEntered %W"
+bind HelpWin <Leave> "HelpWindowLeft %W"
+
+proc AnotherInstance {} {
+ wm deiconify .
+ raise .
+}
+
+#***********************************************************************
+# %PROCEDURE: HelpWindowEntered
+# %ARGUMENTS:
+# w -- window
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Looks for procedure in HelpData; evals it if found.
+#***********************************************************************
+proc HelpWindowEntered { w } {
+ global HelpData
+ if {[info exists HelpData($w)]} {
+ set cmd "$HelpData($w) Enter"
+ uplevel #0 $cmd
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: HelpWindowLeft
+# %ARGUMENTS:
+# w -- window
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Looks for procedure in HelpData; evals it if found.
+#***********************************************************************
+proc HelpWindowLeft { w } {
+ global HelpData
+ if {[info exists HelpData($w)]} {
+ set cmd "$HelpData($w) Leave"
+ uplevel #0 $cmd
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: RegisterHelpWindow
+# %ARGUMENTS:
+# w -- window we need help about
+# helptext -- the help text
+# win -- window in which to put help messages
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Sets things up so help text appears in "$win" when mouse enters "$w"
+#***********************************************************************
+proc RegisterHelpWindow {w helptext win} {
+ global HelpData
+ set tags [bindtags $w]
+ if {[lsearch -exact $tags HelpWin] < 0} {
+ lappend tags HelpWin
+ bindtags $w $tags
+ }
+ set HelpData($w) [list HelpInTextWin $helptext $win]
+}
+
+#***********************************************************************
+# %PROCEDURE: HelpInTextWin
+# %ARGUMENTS:
+# text -- help text
+# tw -- window in which to write text
+# what -- one of "Enter" or "Leave"
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Clears out $tw; if $what is "Enter", puts $text in $tw.
+#***********************************************************************
+proc HelpInTextWin {text tw what} {
+ $tw configure -state normal
+ $tw delete 1.0 end
+ if {"$what" == "Enter"} {
+ $tw insert end $text
+ }
+ $tw configure -state disabled
+}
+
+
+#***********************************************************************
+# %PROCEDURE: drawLogo
+# %ARGUMENTS:
+# c -- canvas to draw logo in
+# bg -- background color of canvas
+# pencolor -- color of the word "Penguin"
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Draws Roaring Penguin logo in a Tcl canvas
+#***********************************************************************
+proc drawLogo { c bg {pengcolor #6699cc} } {
+ $c create polygon 372.249 5.182 361.23 5.519 \
+ 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
+ 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
+ 254.531 77.814 236.204 125.26 225.635 174.844 \
+ 221.026 226.113 213.605 228.025 208.658 232.634 \
+ 225.523 240.28 250.708 243.316 282.752 242.416 \
+ 320.079 238.818 330.985 193.17 338.181 146.735 \
+ 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
+ 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
+ 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
+ 5.182 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create line 372.249 5.182 361.23 5.519 \
+ 346.164 8.892 316.482 20.023 305.463 17.774 296.468 \
+ 19.573 288.935 24.97 282.864 33.177 267.348 55.102 \
+ 254.531 77.814 236.204 125.26 225.635 174.844 \
+ 221.026 226.113 213.605 228.025 208.658 232.634 \
+ 225.523 240.28 250.708 243.316 282.752 242.416 \
+ 320.079 238.818 330.985 193.17 338.181 146.735 \
+ 338.743 99.963 335.483 76.577 329.524 53.191 345.602 \
+ 48.131 353.135 45.995 359.768 41.048 342.679 43.184 \
+ 324.689 40.036 334.583 28.905 348.3 18.674 372.249 \
+ 5.182 -tags logo
+
+ $c create polygon 298.605 109.632 290.734 \
+ 159.328 282.752 182.939 271.958 205.65 262.851 \
+ 171.133 263.75 138.752 264.537 164.5 271.958 192.833 \
+ 286.687 157.192 298.605 109.632 -fill #ffffff \
+ -outline {} -width 1 -tags logo
+
+ $c create line 298.605 109.632 290.734 159.328 \
+ 282.752 182.939 271.958 205.65 262.851 171.133 \
+ 263.75 138.752 264.537 164.5 271.958 192.833 286.687 \
+ 157.192 298.605 109.632 -tags logo
+
+ $c create polygon 312.546 30.592 315.132 35.876 \
+ 310.747 39.586 308.161 34.414 312.546 30.592 -fill \
+ #ffffff -outline {} -width 1 -tags logo
+
+ $c create line 312.546 30.592 315.132 35.876 \
+ 310.747 39.586 308.161 34.414 312.546 30.592 -tags logo
+
+ $c create polygon 328.624 54.427 322.665 58.7 \
+ 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
+ 90.181 303.214 98.951 308.499 106.259 310.523 \
+ 116.378 305.913 130.208 312.771 141.563 308.049 \
+ 167.76 299.729 192.158 279.041 238.593 313.558 \
+ 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
+ 328.624 54.427 -fill #ffffff -outline {} -width 1 -tags logo
+
+ $c create line 328.624 54.427 322.665 58.7 \
+ 314.458 61.286 289.16 59.15 284.55 74.665 285.338 \
+ 90.181 303.214 98.951 308.499 106.259 310.523 \
+ 116.378 305.913 130.208 312.771 141.563 308.049 \
+ 167.76 299.729 192.158 279.041 238.593 313.558 \
+ 233.871 327.388 185.75 335.033 139.989 335.82 96.253 \
+ 328.624 54.427 -tags logo
+
+ $c create polygon 53.837 185.412 54.399 185.862 \
+ 53.837 188.223 54.399 188.673 53.837 188.673 53.837 \
+ 189.572 53.837 190.472 53.387 191.034 52.938 192.833 \
+ 50.577 195.644 49.677 196.656 49.677 197.105 48.215 \
+ 198.455 47.316 198.904 46.866 198.904 44.505 200.816 \
+ 43.606 200.366 42.594 201.265 42.144 201.715 41.245 \
+ 202.277 40.795 202.727 40.345 202.277 39.783 202.277 \
+ 36.972 203.177 36.522 203.177 36.073 203.177 35.623 \
+ 203.627 34.723 203.627 34.161 203.627 34.161 204.076 \
+ 30.901 204.526 28.54 205.538 26.291 205.088 25.729 \
+ 205.088 24.829 205.088 24.38 204.526 23.93 204.526 \
+ 23.48 204.526 22.918 205.088 22.918 206.437 22.918 \
+ 206.887 22.918 207.337 22.468 207.337 22.468 208.798 \
+ 22.018 209.248 22.018 211.16 22.018 211.609 21.569 \
+ 213.521 21.119 215.769 21.569 216.781 20.669 218.13 \
+ 20.669 219.592 20.669 220.042 20.107 220.941 20.107 \
+ 221.953 20.107 223.752 19.657 225.664 19.208 226.113 \
+ 19.657 227.013 18.308 230.835 17.858 240.167 17.296 \
+ 248.15 17.296 249.05 16.846 250.062 15.947 250.062 \
+ 15.048 250.062 15.048 250.511 12.686 251.86 12.237 \
+ 251.86 11.675 251.411 11.675 250.511 11.675 246.689 \
+ 11.225 245.339 11.225 243.878 10.775 240.617 11.225 \
+ 239.268 11.225 238.818 10.775 238.256 10.325 237.357 \
+ 10.325 236.007 9.876 232.634 9.876 231.735 9.876 \
+ 231.285 9.876 230.835 9.876 230.386 9.876 229.824 \
+ 9.426 229.374 9.426 226.113 9.876 226.113 9.876 \
+ 225.664 9.426 224.202 9.426 223.752 9.426 223.302 \
+ 10.325 221.953 9.426 220.941 9.426 219.592 9.426 \
+ 219.142 9.426 218.58 9.426 217.681 9.426 217.231 \
+ 9.426 216.781 8.864 216.332 8.864 214.42 8.864 \
+ 213.97 8.414 213.521 8.414 210.148 8.414 209.248 \
+ 7.964 207.899 8.414 205.988 8.414 204.526 7.065 \
+ 201.265 7.515 200.816 9.426 201.715 10.325 201.265 \
+ 10.775 200.816 10.775 198.904 11.225 198.005 11.225 \
+ 197.555 10.775 197.555 9.876 196.094 9.426 194.744 \
+ 7.515 194.295 6.615 193.845 6.053 193.845 5.153 \
+ 193.283 3.804 191.484 3.804 190.022 3.804 189.572 \
+ 3.804 189.123 3.242 188.673 3.242 186.762 3.804 \
+ 185.412 4.254 184.85 4.704 184.4 7.964 180.24 10.325 \
+ 178.779 11.225 178.779 12.237 177.879 14.036 176.98 \
+ 15.497 175.968 21.569 173.607 22.918 173.157 23.48 \
+ 173.157 24.38 172.707 24.829 172.707 29.102 171.808 \
+ 29.551 171.808 30.001 171.358 31.35 170.796 31.913 \
+ 171.358 32.362 170.796 39.783 171.358 40.345 170.796 \
+ 42.144 171.358 47.766 174.619 48.778 176.418 49.227 \
+ 176.418 49.677 176.98 50.127 176.98 51.588 178.329 \
+ 52.038 179.228 52.488 180.69 52.038 181.14 52.038 \
+ 181.59 52.488 182.039 52.938 182.039 53.387 182.601 \
+ 53.837 183.051 53.837 183.501 53.837 185.412 -fill \
+ $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 42.594 222.853 43.156 221.953 \
+ 41.694 222.403 39.783 224.202 39.783 224.764 39.783 \
+ 225.214 40.345 225.214 41.245 224.202 41.694 223.752 \
+ 42.594 222.853 -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 58.559 234.096 59.009 234.096 \
+ 59.009 234.546 58.559 234.995 58.559 235.445 57.21 \
+ 236.907 56.648 237.806 52.938 241.067 52.038 241.629 \
+ 52.038 242.079 51.026 242.529 50.577 242.978 50.127 \
+ 242.978 49.227 244.44 45.405 246.239 44.055 246.689 \
+ 43.606 246.689 43.606 247.251 42.144 247.251 41.694 \
+ 247.7 40.795 247.7 38.434 248.15 36.522 248.15 \
+ 35.173 247.7 34.161 246.689 33.711 246.239 32.812 \
+ 244.44 32.362 241.629 32.812 239.718 32.812 239.268 \
+ 33.711 234.995 36.522 229.824 35.623 228.474 35.623 \
+ 227.013 36.522 225.664 37.534 224.202 38.883 222.853 \
+ 41.694 220.492 42.594 219.592 43.156 219.592 43.606 \
+ 219.142 45.405 217.681 45.967 217.681 46.416 217.231 \
+ 48.778 215.769 52.038 214.87 53.387 214.42 54.849 \
+ 214.87 55.299 214.87 56.198 215.769 56.198 217.681 \
+ 56.198 218.58 54.399 221.953 53.837 222.853 53.837 \
+ 223.302 53.387 223.752 50.577 226.113 49.677 226.563 \
+ 47.316 228.474 43.156 230.386 41.245 230.835 40.795 \
+ 230.835 40.345 230.835 39.333 230.835 38.883 230.835 \
+ 38.883 229.824 39.783 229.374 40.795 228.474 41.694 \
+ 228.025 42.594 227.575 45.967 227.013 46.866 226.563 \
+ 50.127 224.764 51.588 223.302 52.488 221.953 52.488 \
+ 220.492 52.488 219.142 51.026 218.13 49.677 218.13 \
+ 48.778 218.13 47.766 219.142 47.316 219.142 47.316 \
+ 219.592 46.866 219.592 45.967 220.941 44.505 221.953 \
+ 44.055 222.403 43.606 222.853 42.594 223.752 41.694 \
+ 225.664 41.245 225.664 41.245 226.113 40.345 226.563 \
+ 39.333 227.575 39.333 228.474 38.434 229.374 36.522 \
+ 233.197 35.623 236.457 35.623 237.357 35.623 238.256 \
+ 35.173 241.067 35.623 242.079 36.522 243.428 37.534 \
+ 243.878 37.984 244.44 38.434 244.89 38.883 244.89 \
+ 39.783 245.339 43.156 245.339 45.967 244.44 49.227 \
+ 242.529 50.127 241.629 50.577 241.067 54.399 238.818 \
+ 54.399 238.256 54.399 237.806 56.198 236.907 58.559 \
+ 234.096 -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 92.289 248.6 92.739 249.05 \
+ 92.289 249.05 91.84 249.05 90.94 248.6 90.378 248.6 \
+ 89.478 247.7 89.029 247.251 88.129 246.689 87.117 \
+ 245.789 85.768 244.89 85.318 244.44 85.768 244.44 \
+ 85.318 242.529 84.756 242.079 84.756 240.617 84.756 \
+ 240.167 84.756 239.718 84.756 239.268 83.857 236.457 \
+ 83.407 234.096 83.407 233.197 83.407 231.735 83.407 \
+ 223.302 83.407 221.391 82.957 220.941 82.508 221.953 \
+ 80.596 226.113 80.146 226.563 80.146 227.013 79.697 \
+ 228.025 79.135 228.474 79.697 228.474 76.324 234.096 \
+ 75.874 234.995 75.424 236.457 74.975 236.457 74.975 \
+ 236.907 74.975 237.357 74.075 239.268 73.513 239.718 \
+ 73.063 240.167 72.613 241.067 72.164 242.529 71.714 \
+ 242.529 71.714 243.878 70.252 245.789 69.803 246.689 \
+ 68.903 246.689 68.903 247.251 67.891 247.7 66.542 \
+ 247.7 66.092 247.7 65.643 247.7 65.08 247.251 65.08 \
+ 246.689 65.08 245.789 64.631 242.079 65.08 242.079 \
+ 64.631 241.629 65.08 241.067 65.08 238.818 64.631 \
+ 237.806 64.631 236.457 64.631 234.546 64.631 233.197 \
+ 64.631 232.634 64.631 232.185 64.631 231.735 64.631 \
+ 228.924 64.631 227.575 64.631 225.664 64.631 225.214 \
+ 64.631 224.764 64.631 223.302 64.631 217.231 65.08 \
+ 216.332 65.643 215.769 69.803 214.87 70.252 215.32 \
+ 70.252 216.332 70.252 217.681 70.252 218.58 69.803 \
+ 219.142 69.803 220.492 69.353 220.941 69.353 221.391 \
+ 68.903 221.953 68.903 225.664 68.453 226.563 68.453 \
+ 228.025 68.453 228.474 67.891 228.924 67.891 230.835 \
+ 68.453 236.457 68.453 237.806 68.453 238.818 68.453 \
+ 240.617 68.453 241.067 68.903 241.067 68.903 241.629 \
+ 69.353 241.629 70.702 241.067 70.702 240.617 71.264 \
+ 240.167 71.264 239.268 72.164 238.256 73.063 236.457 \
+ 74.525 234.546 74.975 233.197 76.324 230.835 77.336 \
+ 229.824 78.235 227.575 78.235 227.013 78.685 226.563 \
+ 78.685 225.664 79.135 225.214 79.697 224.764 79.697 \
+ 224.202 80.146 222.403 81.046 220.941 81.945 217.681 \
+ 82.957 215.769 85.318 214.87 85.768 214.87 87.567 \
+ 214.42 87.567 215.769 87.117 216.332 87.567 216.781 \
+ 88.129 219.592 87.567 219.592 87.567 220.492 87.567 \
+ 221.391 87.567 224.764 87.567 225.664 87.567 226.113 \
+ 87.117 226.113 87.117 227.575 87.567 229.374 88.579 \
+ 235.445 89.029 239.268 89.029 239.718 89.029 241.067 \
+ 89.478 242.529 89.478 242.978 89.928 243.878 89.928 \
+ 244.44 90.378 244.89 90.94 246.239 92.289 248.6 \
+ -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 117.587 220.492 118.037 \
+ 222.403 117.587 222.853 117.587 224.764 116.687 \
+ 226.113 116.687 227.013 116.238 228.025 114.776 \
+ 229.374 113.877 231.285 112.865 231.735 109.154 \
+ 234.995 106.343 236.457 105.444 237.357 103.982 \
+ 237.806 103.083 238.256 102.633 238.818 102.183 \
+ 238.818 101.172 239.268 99.822 239.718 98.361 \
+ 239.268 97.461 239.718 96.562 239.268 96.0 238.818 \
+ 95.55 238.818 94.201 236.907 94.201 235.445 94.201 \
+ 233.646 94.65 233.197 94.65 232.634 95.1 232.185 \
+ 95.1 231.735 95.55 231.735 96.0 230.386 97.461 \
+ 228.025 97.461 227.575 98.361 226.563 99.822 224.764 \
+ 101.172 223.302 101.172 222.853 102.633 221.391 \
+ 103.083 220.941 104.432 219.592 103.982 218.58 \
+ 103.982 217.231 103.982 216.781 103.982 215.32 \
+ 104.432 214.42 103.982 210.148 103.982 209.698 \
+ 103.982 209.248 104.432 208.798 104.432 207.899 \
+ 104.432 205.988 104.432 205.538 104.994 203.177 \
+ 104.994 202.277 104.994 201.265 104.994 200.816 \
+ 104.994 200.366 104.994 199.916 105.894 199.467 \
+ 106.343 198.904 106.793 198.455 107.243 198.904 \
+ 108.255 198.904 108.255 199.467 108.705 199.467 \
+ 108.705 202.727 108.255 204.076 108.255 205.538 \
+ 108.255 205.988 107.805 205.988 107.805 206.887 \
+ 107.805 209.698 107.243 210.71 106.793 212.059 \
+ 106.343 214.87 106.343 215.32 106.343 215.769 \
+ 105.894 217.681 106.343 217.681 106.793 217.681 \
+ 107.243 217.231 108.705 215.32 109.604 215.32 \
+ 110.054 214.42 110.054 213.97 110.616 213.97 110.616 \
+ 214.42 111.965 214.87 112.415 214.87 112.865 215.32 \
+ 114.326 216.332 116.238 217.681 116.687 218.58 \
+ 117.137 219.592 117.587 220.042 117.587 220.492 \
+ -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 123.658 258.944 123.658 \
+ 259.394 123.658 260.293 123.658 261.755 123.658 \
+ 262.654 123.658 263.104 123.209 266.364 123.209 \
+ 267.376 122.759 269.175 122.309 269.737 121.859 \
+ 271.087 121.859 271.536 121.859 271.986 121.297 \
+ 271.986 121.297 272.548 120.847 273.448 120.398 \
+ 273.448 120.398 273.897 118.486 276.259 118.037 \
+ 276.708 117.587 277.608 117.137 278.17 116.687 \
+ 278.17 115.675 278.62 115.675 279.069 113.427 \
+ 280.419 112.865 280.981 112.415 280.981 111.965 \
+ 281.43 110.054 282.33 109.154 282.33 108.705 282.78 \
+ 108.255 282.78 107.805 283.229 104.994 283.792 \
+ 104.432 283.792 103.982 283.792 103.533 283.792 \
+ 103.083 283.792 102.633 283.792 102.183 283.792 \
+ 101.172 283.792 100.722 283.792 99.822 283.792 98.81 \
+ 283.792 96.562 282.33 96.0 282.78 95.1 281.88 94.201 \
+ 281.43 91.84 279.969 92.289 279.519 92.289 278.62 \
+ 93.751 279.069 93.751 279.519 94.201 279.519 94.65 \
+ 279.969 95.1 279.969 96.0 280.981 98.81 281.88 \
+ 101.172 281.88 101.621 281.88 102.633 281.88 103.083 \
+ 281.88 103.533 281.88 104.432 281.43 104.994 281.88 \
+ 105.444 281.43 106.793 281.43 107.805 280.981 \
+ 108.705 280.419 109.154 280.419 109.604 279.969 \
+ 110.054 279.969 110.616 279.969 111.066 279.519 \
+ 112.865 278.17 113.427 277.608 113.877 277.608 \
+ 113.877 277.158 114.326 277.158 114.326 276.708 \
+ 114.776 276.259 115.226 276.259 116.238 274.347 \
+ 116.687 274.347 116.687 273.897 117.587 272.998 \
+ 117.587 272.548 118.037 271.986 119.498 267.826 \
+ 120.398 265.015 120.398 262.204 119.948 259.843 \
+ 119.948 259.394 119.948 258.944 119.498 257.482 \
+ 118.486 254.222 118.037 253.772 117.587 251.86 \
+ 115.675 249.05 115.226 248.6 114.776 248.15 113.877 \
+ 247.251 111.965 246.239 111.515 246.239 110.616 \
+ 246.239 110.054 246.239 109.154 246.239 107.243 \
+ 247.251 106.343 247.251 105.444 247.7 104.994 247.7 \
+ 103.083 248.15 102.183 248.6 101.621 248.6 101.172 \
+ 249.05 100.722 249.499 99.822 250.062 98.361 250.062 \
+ 97.461 249.499 97.012 249.499 96.562 249.05 96.562 \
+ 248.6 97.012 248.15 99.822 245.789 100.272 245.339 \
+ 101.621 244.44 101.621 243.878 102.183 243.428 \
+ 102.633 243.428 102.633 242.978 103.982 241.629 \
+ 103.982 241.067 103.982 240.617 103.982 240.167 \
+ 105.444 239.268 108.705 236.907 108.705 236.457 \
+ 109.154 236.457 110.054 235.445 111.066 234.546 \
+ 112.415 234.096 112.865 233.646 113.427 233.646 \
+ 113.877 233.646 113.877 234.096 114.326 234.995 \
+ 114.776 235.445 114.776 236.457 114.326 237.357 \
+ 113.427 238.818 112.415 239.268 112.415 240.167 \
+ 111.965 240.167 111.515 240.617 110.054 241.629 \
+ 110.054 242.079 109.604 242.529 108.705 242.978 \
+ 110.054 242.978 113.427 242.079 114.326 242.529 \
+ 115.226 242.978 116.687 244.44 119.048 246.689 \
+ 119.498 247.7 119.498 248.15 119.948 248.6 119.948 \
+ 249.05 120.398 249.05 120.398 249.499 120.847 \
+ 249.499 120.847 250.062 121.297 250.511 121.297 \
+ 251.411 121.859 252.31 122.759 252.872 122.759 \
+ 254.222 122.759 254.671 123.658 258.494 123.658 \
+ 258.944 -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 147.607 215.769 148.506 215.32 \
+ 148.506 217.231 148.506 217.681 148.506 218.13 \
+ 148.956 218.58 148.506 220.492 148.506 220.941 \
+ 148.506 222.853 148.956 224.764 148.956 226.113 \
+ 148.506 226.563 148.956 226.563 148.506 228.924 \
+ 148.956 229.824 148.956 231.285 148.506 232.185 \
+ 148.956 232.634 148.956 233.646 149.405 234.995 \
+ 148.956 234.995 149.405 235.445 149.405 236.907 \
+ 149.405 237.357 149.968 238.818 150.867 240.167 \
+ 150.867 240.617 151.317 242.079 152.216 243.428 \
+ 153.228 245.339 154.128 245.789 155.027 246.239 \
+ 156.939 245.789 157.388 246.239 156.489 246.689 \
+ 155.027 247.7 154.128 247.7 153.228 247.7 152.216 \
+ 247.7 151.767 247.7 150.867 247.251 150.417 246.239 \
+ 149.405 246.239 148.056 245.339 147.607 244.44 \
+ 147.157 243.428 145.695 241.629 145.695 240.617 \
+ 145.245 240.167 145.245 239.718 144.796 238.256 \
+ 144.346 236.907 144.346 235.445 143.784 234.546 \
+ 143.784 233.197 143.784 232.185 143.784 230.835 \
+ 143.334 229.824 143.784 229.374 143.334 229.374 \
+ 143.334 228.474 142.884 230.386 141.985 231.735 \
+ 140.973 233.197 140.523 234.096 140.523 234.546 \
+ 140.523 234.995 139.624 236.457 139.174 237.806 \
+ 138.162 239.718 137.263 241.067 136.813 242.079 \
+ 135.913 242.978 134.452 244.89 134.002 245.789 \
+ 133.552 245.789 132.091 246.689 131.191 247.251 \
+ 129.73 248.15 129.28 248.15 128.38 247.7 128.38 \
+ 248.15 126.919 247.7 126.019 247.251 125.12 246.239 \
+ 125.12 245.339 124.67 244.89 124.67 244.44 124.67 \
+ 243.428 124.67 242.529 124.67 241.067 124.67 239.718 \
+ 125.12 239.268 124.67 239.268 124.67 238.256 125.12 \
+ 237.806 125.12 237.357 125.12 236.907 125.12 236.007 \
+ 125.12 234.096 125.57 233.197 125.57 232.185 126.019 \
+ 232.185 126.019 231.285 126.019 230.386 126.019 \
+ 229.374 126.469 228.474 126.469 227.013 126.469 \
+ 225.214 126.019 225.214 126.469 225.214 126.019 \
+ 223.302 126.019 221.953 126.019 220.492 125.57 \
+ 220.042 125.12 219.592 124.108 219.142 123.209 \
+ 219.142 121.859 220.042 121.297 220.042 120.398 \
+ 220.941 119.498 221.391 119.048 221.391 118.486 \
+ 221.953 118.037 221.953 118.037 221.391 118.486 \
+ 220.941 119.498 220.042 120.847 219.142 122.759 \
+ 217.681 124.108 216.781 125.12 215.769 126.469 \
+ 214.87 126.919 214.87 127.481 214.87 128.38 214.87 \
+ 128.83 214.87 129.73 214.87 129.73 215.769 130.292 \
+ 215.769 130.742 216.781 130.742 217.681 130.292 \
+ 219.142 130.292 221.953 130.292 223.302 130.292 \
+ 224.202 129.73 225.214 129.28 227.013 128.83 227.575 \
+ 129.28 227.575 129.28 228.474 128.83 229.374 129.28 \
+ 229.824 129.28 230.386 128.83 231.735 128.38 234.096 \
+ 128.38 234.995 127.931 236.457 127.931 239.268 \
+ 127.931 240.167 127.931 241.629 128.83 242.978 \
+ 129.28 243.878 129.73 244.44 130.742 244.44 131.191 \
+ 244.44 132.091 244.44 133.103 243.878 134.002 \
+ 242.978 134.902 242.079 135.351 241.067 135.913 \
+ 240.167 136.363 239.268 136.813 238.818 137.263 \
+ 237.806 137.712 236.907 138.162 235.445 138.724 \
+ 234.546 139.174 233.646 139.624 232.634 140.523 \
+ 230.835 140.973 228.924 141.535 227.013 142.435 \
+ 225.664 142.884 223.302 143.334 221.391 143.334 \
+ 220.941 143.334 219.142 144.346 217.681 144.796 \
+ 216.781 145.695 216.332 146.595 216.332 147.607 \
+ 215.769 -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 165.371 241.067 165.371 \
+ 241.067 164.921 243.878 164.921 246.239 163.46 \
+ 246.689 161.211 247.251 160.649 247.251 160.199 \
+ 244.44 160.199 243.878 160.199 243.428 160.199 \
+ 242.079 160.199 240.167 160.199 239.718 159.749 \
+ 239.268 160.199 237.806 159.749 237.357 159.749 \
+ 236.007 159.749 230.835 159.749 229.824 159.749 \
+ 228.924 159.749 226.113 159.749 225.664 159.749 \
+ 223.752 159.749 222.853 159.749 218.58 159.749 \
+ 218.13 159.749 217.681 160.199 217.231 161.661 \
+ 216.781 162.11 216.781 162.56 216.781 163.46 216.781 \
+ 164.022 219.142 163.46 222.403 163.46 222.853 163.46 \
+ 224.202 163.46 225.664 163.46 226.563 163.46 227.013 \
+ 163.46 228.924 163.01 230.835 163.01 232.634 163.46 \
+ 233.197 164.022 232.634 164.472 232.634 164.921 \
+ 232.185 164.921 231.735 165.371 231.735 165.821 \
+ 232.185 165.371 233.646 165.821 236.007 165.371 \
+ 238.256 165.371 238.818 165.371 240.617 165.371 \
+ 241.067 -fill $pengcolor -outline {} -width 1 -tags logo
+
+ $c create polygon 165.821 214.42 166.833 215.32 \
+ 166.271 215.32 165.821 216.332 165.371 216.332 \
+ 165.371 216.781 165.821 217.681 165.821 218.13 \
+ 165.371 219.142 165.371 220.042 164.921 222.853 \
+ 165.371 224.764 164.921 225.664 165.371 227.575 \
+ 165.371 228.474 164.921 228.474 164.472 227.575 \
+ 164.472 226.113 164.022 224.764 164.472 224.202 \
+ 164.472 223.752 164.472 222.403 164.921 214.87 \
+ 164.472 213.521 164.472 212.959 164.472 212.509 \
+ 164.022 212.509 163.46 212.509 163.01 212.959 162.56 \
+ 212.959 161.661 212.959 161.211 212.059 161.211 \
+ 211.609 160.649 211.609 160.199 209.698 160.649 \
+ 208.349 163.46 206.437 164.472 206.437 165.821 \
+ 207.899 165.821 208.349 166.833 210.148 166.833 \
+ 210.71 165.821 211.609 165.371 212.059 165.371 \
+ 212.959 165.821 213.97 165.821 214.42 -fill $pengcolor \
+ -outline {} -width 1 -tags logo
+
+ $c create polygon 201.462 248.6 201.462 249.05 \
+ 201.012 249.05 200.563 249.05 200.001 248.6 199.551 \
+ 248.6 198.651 247.7 197.752 247.251 196.74 246.689 \
+ 196.29 245.789 194.379 244.89 194.379 244.44 194.379 \
+ 242.529 193.929 242.079 193.479 240.617 193.479 \
+ 240.167 193.929 239.718 193.479 239.268 193.03 \
+ 236.457 192.58 234.096 192.58 233.197 192.58 231.735 \
+ 192.58 223.302 192.58 221.391 192.13 220.941 191.568 \
+ 221.953 189.769 226.113 189.319 226.563 189.319 \
+ 227.013 188.757 228.025 188.307 228.474 188.757 \
+ 228.474 185.497 234.096 185.047 234.995 184.597 \
+ 236.457 184.147 236.457 184.147 236.907 184.147 \
+ 237.357 183.136 239.268 182.686 239.268 182.686 \
+ 239.718 182.236 240.167 181.786 241.067 181.337 \
+ 242.529 180.887 242.529 180.887 243.878 179.425 \
+ 245.789 178.975 246.689 178.076 246.689 178.076 \
+ 247.251 177.064 247.7 175.715 247.7 175.265 247.7 \
+ 174.703 247.7 174.253 247.251 174.253 246.689 \
+ 174.253 245.789 173.804 242.079 174.253 242.079 \
+ 173.804 241.629 173.804 241.067 173.804 238.818 \
+ 173.804 237.806 173.804 236.457 173.354 234.546 \
+ 173.354 233.197 173.804 232.634 173.804 232.185 \
+ 173.804 231.735 173.804 228.924 173.354 227.575 \
+ 173.804 227.575 173.804 225.664 173.804 225.214 \
+ 173.804 224.764 173.804 223.302 173.804 217.231 \
+ 174.253 216.332 174.703 215.769 178.526 214.87 \
+ 179.425 215.32 179.425 216.332 179.425 217.681 \
+ 179.425 218.58 178.975 219.142 178.526 220.492 \
+ 178.526 220.941 178.076 221.391 178.076 221.953 \
+ 178.076 225.664 177.514 226.563 177.514 228.025 \
+ 177.064 228.474 177.064 228.924 177.064 230.835 \
+ 177.514 236.457 177.064 237.806 177.514 237.806 \
+ 177.514 238.818 177.514 240.617 177.514 241.067 \
+ 178.076 241.629 178.526 241.629 179.425 241.067 \
+ 179.875 240.617 179.875 240.167 180.325 239.268 \
+ 181.337 238.256 182.236 236.457 183.698 234.546 \
+ 184.147 233.197 185.497 230.835 186.509 229.824 \
+ 187.408 227.575 187.408 227.013 187.408 226.563 \
+ 187.858 225.664 188.307 225.214 188.757 224.764 \
+ 188.757 224.202 189.319 222.403 190.219 220.941 \
+ 191.118 217.681 192.13 215.769 194.379 214.87 \
+ 194.941 214.87 196.74 214.42 196.74 215.769 196.29 \
+ 215.769 196.29 216.332 196.29 216.781 196.74 219.592 \
+ 196.74 220.492 196.29 221.391 196.74 224.764 196.29 \
+ 225.664 196.29 226.113 196.29 227.575 196.74 229.374 \
+ 197.19 235.445 198.202 239.268 198.202 239.718 \
+ 198.202 241.067 198.202 242.529 198.651 242.978 \
+ 199.101 243.878 199.101 244.44 199.551 244.89 \
+ 200.001 246.239 201.462 248.6 -fill $pengcolor -outline \
+ {} -width 1 -tags logo
+
+ $c create polygon 71.714 185.412 71.714 110.869 \
+ 81.496 110.869 82.845 110.981 83.969 111.431 85.094 \
+ 112.106 86.105 113.118 86.893 114.467 87.567 116.041 \
+ 88.017 117.39 88.242 118.065 88.467 118.852 88.579 \
+ 119.639 88.804 120.538 88.916 121.438 89.029 122.337 \
+ 89.141 123.349 89.254 124.361 89.366 125.485 89.366 \
+ 126.61 89.478 127.734 89.478 128.971 89.478 130.208 \
+ 89.478 131.444 89.478 132.456 89.478 133.468 89.478 \
+ 134.48 89.366 135.492 89.254 136.391 89.254 137.291 \
+ 89.141 138.19 89.029 139.09 88.916 139.877 88.804 \
+ 140.664 88.691 141.451 88.579 142.238 88.354 143.362 \
+ 88.129 144.374 87.904 145.386 87.567 146.398 87.342 \
+ 147.297 87.005 148.197 86.668 148.984 86.218 149.771 \
+ 87.005 151.233 87.342 152.02 87.68 152.919 87.904 \
+ 153.931 88.129 154.943 88.129 155.505 88.354 156.854 \
+ 88.354 157.641 88.354 158.428 88.467 159.328 88.467 \
+ 160.34 88.467 161.352 88.467 162.476 88.579 163.6 \
+ 88.579 164.837 88.579 166.186 88.579 166.973 88.691 \
+ 167.873 88.804 168.885 88.916 169.897 89.029 171.021 \
+ 89.029 172.258 89.029 173.719 89.029 175.068 89.029 \
+ 176.305 89.029 177.542 89.141 178.554 89.141 179.566 \
+ 89.141 180.353 89.141 181.14 89.254 181.814 89.366 \
+ 182.714 89.478 183.051 89.478 185.412 83.857 185.412 \
+ 83.857 184.738 83.744 183.951 83.744 183.276 83.744 \
+ 182.489 83.744 180.803 83.857 179.791 83.857 178.891 \
+ 83.857 177.879 83.857 176.867 83.857 175.743 83.857 \
+ 174.619 83.857 173.27 83.857 172.033 83.744 170.908 \
+ 83.744 170.009 83.632 169.109 83.632 168.322 83.52 \
+ 166.973 83.407 166.524 83.407 166.186 83.407 165.062 \
+ 83.407 164.05 83.295 163.151 83.295 162.251 83.295 \
+ 161.464 83.182 160.789 82.957 159.553 81.945 158.203 \
+ 80.596 157.754 76.886 157.754 76.886 185.412 71.714 \
+ 185.412 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 92.289 148.309 92.289 147.185 \
+ 92.289 146.061 92.289 145.049 92.402 143.924 92.402 \
+ 142.8 92.402 141.788 92.402 140.664 92.514 139.652 \
+ 92.514 138.64 92.627 137.628 92.627 136.616 92.739 \
+ 135.717 92.739 134.705 92.851 133.805 92.964 132.793 \
+ 92.964 131.894 93.076 130.995 93.301 129.196 93.414 \
+ 128.409 93.526 127.509 93.639 126.722 93.751 125.935 \
+ 93.863 125.148 93.976 124.361 94.313 122.787 94.426 \
+ 122.112 94.65 121.325 94.763 120.651 95.1 119.301 \
+ 95.55 117.615 96.112 116.041 96.674 114.692 97.236 \
+ 113.455 97.799 112.443 98.361 111.544 99.035 110.757 \
+ 99.71 110.082 100.385 109.632 101.059 109.295 \
+ 101.846 109.07 102.633 108.958 104.207 109.295 \
+ 104.882 109.632 105.556 110.082 106.231 110.757 \
+ 106.906 111.544 107.468 112.443 108.03 113.455 \
+ 108.592 114.692 109.154 116.041 109.604 117.615 \
+ 110.054 119.301 110.279 119.976 110.616 121.325 \
+ 110.841 122.112 110.953 122.787 111.178 123.574 \
+ 111.403 125.148 111.628 125.935 111.74 126.722 \
+ 111.853 127.622 111.965 128.409 112.078 129.308 \
+ 112.19 130.208 112.302 130.995 112.415 132.006 \
+ 112.64 133.805 112.752 134.817 112.865 135.717 \
+ 112.977 136.729 112.977 137.741 113.089 138.752 \
+ 113.089 139.764 113.202 140.776 113.202 141.788 \
+ 113.314 142.912 113.314 143.924 113.314 145.049 \
+ 113.427 146.061 113.427 147.185 113.427 148.309 \
+ 113.427 149.546 113.314 150.783 113.314 151.907 \
+ 113.314 153.032 113.314 154.156 113.202 155.28 \
+ 113.202 156.405 113.089 157.529 113.089 158.541 \
+ 112.977 159.553 112.865 160.565 112.752 161.576 \
+ 112.64 162.588 112.527 163.6 112.415 164.5 112.302 \
+ 165.512 112.19 166.411 112.078 167.311 111.965 \
+ 168.21 111.853 169.109 111.628 169.897 111.515 \
+ 170.796 111.403 171.583 111.178 172.37 111.066 \
+ 173.157 110.616 174.731 110.504 175.518 110.279 \
+ 176.193 110.054 176.98 109.604 178.666 109.154 \
+ 180.128 108.592 181.59 108.03 182.826 107.468 \
+ 183.951 106.906 184.963 106.231 185.75 105.556 \
+ 186.424 104.882 186.986 104.207 187.436 103.42 \
+ 187.661 102.633 187.661 101.846 187.661 101.059 \
+ 187.436 100.385 186.986 99.71 186.424 99.035 185.75 \
+ 98.361 184.963 97.799 183.951 97.236 182.826 96.674 \
+ 181.59 96.112 180.128 95.55 178.666 95.1 176.98 \
+ 94.988 176.193 94.763 175.518 94.538 174.731 94.426 \
+ 173.944 94.088 172.37 93.976 171.583 93.863 170.796 \
+ 93.639 169.897 93.526 169.109 93.414 168.21 93.301 \
+ 167.311 93.189 166.411 93.076 165.512 92.964 164.5 \
+ 92.964 163.6 92.851 162.588 92.739 161.576 92.627 \
+ 160.565 92.627 159.553 92.514 158.541 92.514 157.529 \
+ 92.514 156.405 92.402 155.28 92.402 154.156 92.402 \
+ 153.032 92.289 151.907 92.289 150.783 92.289 149.546 \
+ 92.289 148.309 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 121.859 110.869 127.481 \
+ 110.869 134.902 185.412 129.28 185.412 127.931 \
+ 171.808 120.847 171.808 119.948 185.412 114.326 \
+ 185.412 121.859 110.869 -fill #000000 -outline {} \
+ -width 1 -tags logo
+
+ $c create polygon 137.263 185.412 137.263 \
+ 110.869 147.157 110.869 148.394 110.981 149.518 \
+ 111.431 150.417 112.106 151.317 113.118 152.104 \
+ 114.467 152.778 116.041 153.228 117.39 153.341 \
+ 118.065 153.566 118.852 153.903 120.538 154.015 \
+ 121.438 154.128 122.337 154.24 123.349 154.353 \
+ 124.361 154.465 125.485 154.465 126.61 154.577 \
+ 127.734 154.577 128.971 154.577 130.208 154.577 \
+ 131.444 154.577 132.456 154.577 133.468 154.577 \
+ 134.48 154.577 135.492 154.577 136.391 154.577 \
+ 137.291 154.577 138.19 154.465 139.09 154.465 \
+ 139.877 154.353 140.664 154.24 141.451 154.128 \
+ 142.238 153.903 143.362 153.678 144.374 153.341 \
+ 145.386 153.003 146.398 152.554 147.297 152.216 \
+ 148.197 151.767 148.984 151.317 149.771 152.104 \
+ 151.233 152.441 152.02 152.778 152.919 153.003 \
+ 153.931 153.228 154.943 153.341 155.505 153.453 \
+ 156.854 153.566 157.641 153.678 158.428 153.79 \
+ 159.328 153.903 160.34 154.015 161.352 154.015 \
+ 162.476 154.128 163.6 154.128 164.837 154.128 \
+ 166.186 154.128 166.973 154.128 167.873 154.128 \
+ 168.885 154.128 169.897 154.128 171.021 154.128 \
+ 172.258 154.128 173.719 154.24 175.068 154.24 \
+ 176.305 154.353 177.542 154.353 178.554 154.465 \
+ 179.566 154.577 180.353 154.69 181.14 154.69 181.814 \
+ 154.915 182.714 155.027 183.051 155.027 185.412 \
+ 149.405 185.412 149.405 184.738 149.293 183.951 \
+ 149.293 183.276 149.181 182.489 149.181 180.803 \
+ 149.068 179.791 149.068 178.891 149.068 177.879 \
+ 149.068 176.867 148.956 175.743 148.956 174.619 \
+ 148.956 173.27 148.956 172.033 148.956 170.908 \
+ 148.956 170.009 148.956 169.109 148.956 168.322 \
+ 148.956 166.973 148.956 166.524 148.956 166.186 \
+ 148.956 165.062 148.843 164.05 148.731 163.151 \
+ 148.618 162.251 148.506 161.464 148.394 160.789 \
+ 148.056 159.553 147.269 158.203 146.145 157.754 \
+ 142.435 157.754 142.435 185.412 137.263 185.412 \
+ -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 158.4 185.412 158.4 110.869 \
+ 164.022 110.869 164.022 185.412 158.4 185.412 -fill \
+ #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 168.182 185.412 168.182 \
+ 110.869 173.804 110.869 177.514 135.267 177.739 \
+ 136.054 177.851 136.954 177.964 137.853 178.076 \
+ 138.752 178.301 139.539 178.413 140.439 178.526 \
+ 141.338 178.751 143.137 178.975 144.037 179.088 \
+ 144.824 179.2 145.723 179.313 146.623 179.425 147.41 \
+ 179.538 148.422 179.763 149.321 179.875 150.333 \
+ 180.1 151.233 180.212 152.132 180.437 153.032 180.55 \
+ 154.043 180.774 154.943 180.887 155.842 180.999 \
+ 156.742 181.224 157.754 181.337 158.653 181.337 \
+ 157.641 181.224 156.629 181.224 155.617 181.224 \
+ 154.606 181.224 153.594 181.112 152.582 181.112 \
+ 151.682 181.112 150.67 180.999 149.771 180.999 \
+ 148.759 180.999 147.86 180.887 146.96 180.887 \
+ 145.948 180.887 145.049 180.887 144.149 180.887 \
+ 143.25 180.887 142.125 180.887 141.114 180.887 \
+ 140.102 180.887 139.09 180.887 138.078 180.887 \
+ 137.178 180.887 136.166 180.887 135.267 180.887 \
+ 134.368 180.887 133.468 180.887 132.569 180.887 \
+ 131.669 180.887 130.882 180.887 130.095 180.887 \
+ 110.869 185.946 110.869 185.946 185.412 180.325 \
+ 185.412 176.165 160.565 176.052 159.778 175.94 \
+ 158.99 175.827 158.203 175.602 156.517 175.49 \
+ 155.617 175.378 154.718 175.265 153.931 175.153 \
+ 153.032 175.04 152.02 174.928 151.12 174.703 150.221 \
+ 174.591 149.321 174.478 148.422 174.366 147.41 \
+ 174.141 146.51 174.028 145.611 173.804 144.599 \
+ 173.691 143.587 173.579 142.575 173.354 141.676 \
+ 173.241 140.551 173.017 139.539 172.904 138.528 \
+ 172.904 139.539 172.904 140.551 173.017 141.563 \
+ 173.017 142.575 173.017 143.587 173.129 144.599 \
+ 173.129 145.498 173.129 146.51 173.241 147.41 \
+ 173.241 148.422 173.241 149.321 173.354 150.221 \
+ 173.354 151.233 173.354 152.132 173.354 153.144 \
+ 173.354 154.156 173.354 155.055 173.354 156.067 \
+ 173.354 156.967 173.354 157.866 173.354 158.766 \
+ 173.354 159.553 173.354 160.452 173.354 161.239 \
+ 173.354 162.026 173.354 162.926 173.354 185.412 \
+ 168.182 185.412 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 206.184 185.412 205.622 \
+ 175.968 205.397 177.092 205.172 178.217 204.948 \
+ 179.228 204.61 180.128 204.385 181.027 204.048 \
+ 181.814 203.823 182.489 203.486 183.164 203.149 \
+ 183.838 202.811 184.4 202.024 185.75 201.125 186.762 \
+ 200.113 187.436 199.101 187.661 198.089 187.549 \
+ 197.19 186.986 196.29 186.087 195.391 184.85 194.941 \
+ 184.176 194.491 183.389 194.042 182.489 193.592 \
+ 181.477 193.255 180.465 192.805 179.341 192.467 \
+ 178.217 192.13 176.98 191.905 176.193 191.68 175.406 \
+ 191.568 174.619 191.456 173.832 191.231 172.932 \
+ 191.118 172.145 191.006 171.246 190.781 169.559 \
+ 190.669 168.66 190.556 167.648 190.444 166.748 \
+ 190.331 165.736 190.219 164.725 190.106 163.825 \
+ 189.994 162.926 189.994 162.026 189.882 161.127 \
+ 189.769 160.227 189.769 159.215 189.657 158.316 \
+ 189.544 157.304 189.544 156.405 189.432 155.393 \
+ 189.432 154.381 189.319 153.369 189.319 152.357 \
+ 189.319 151.345 189.319 150.333 189.319 149.321 \
+ 189.319 148.197 189.319 146.96 189.319 145.948 \
+ 189.319 144.824 189.319 143.7 189.319 142.688 \
+ 189.432 141.563 189.432 140.551 189.544 139.539 \
+ 189.544 138.528 189.544 137.516 189.657 136.504 \
+ 189.769 135.492 189.769 134.592 189.882 133.581 \
+ 189.994 132.681 189.994 131.782 190.106 130.882 \
+ 190.219 129.983 190.331 129.083 190.556 127.397 \
+ 190.669 126.61 190.781 125.823 191.006 124.923 \
+ 191.118 124.136 191.231 123.462 191.568 121.887 \
+ 191.793 121.213 191.905 120.426 192.13 119.751 \
+ 192.58 117.952 193.142 116.378 193.704 114.917 \
+ 194.266 113.567 194.941 112.443 195.616 111.431 \
+ 196.29 110.532 196.965 109.857 197.752 109.295 \
+ 198.426 108.845 199.214 108.62 200.001 108.508 \
+ 201.799 108.958 202.699 109.407 203.374 110.194 \
+ 204.161 111.094 204.835 112.218 205.51 113.567 \
+ 206.184 115.141 206.634 116.491 206.859 117.165 \
+ 206.971 117.952 207.421 119.526 207.534 120.426 \
+ 207.758 121.325 207.871 122.225 207.983 123.124 \
+ 208.096 124.136 208.208 125.036 208.321 126.047 \
+ 208.433 127.172 208.545 128.184 208.658 129.308 \
+ 208.77 130.32 208.77 131.557 208.883 132.681 208.995 \
+ 133.805 204.273 133.805 204.161 132.681 203.936 \
+ 131.557 203.711 130.432 203.486 129.533 203.261 \
+ 128.633 202.924 127.734 202.699 126.947 202.362 \
+ 126.385 201.35 124.586 200.001 124.024 199.438 \
+ 124.136 198.989 124.361 198.426 124.923 197.977 \
+ 125.598 197.527 126.497 197.077 127.622 196.628 \
+ 128.971 196.29 130.545 196.178 131.219 195.953 \
+ 132.681 195.84 133.356 195.728 134.143 195.616 \
+ 134.93 195.503 135.829 195.278 137.516 195.278 \
+ 138.303 195.166 139.315 195.166 140.214 195.053 \
+ 141.114 195.053 142.125 194.941 143.137 194.941 \
+ 144.149 194.941 145.161 194.941 146.173 194.941 \
+ 147.297 194.941 148.309 194.941 149.546 194.941 \
+ 150.67 194.941 151.907 194.941 152.919 195.053 \
+ 154.043 195.053 155.168 195.166 156.18 195.166 \
+ 157.192 195.278 158.091 195.391 159.103 195.391 \
+ 160.002 195.503 160.902 195.616 161.801 195.728 \
+ 162.588 195.84 163.375 196.065 164.162 196.178 \
+ 164.949 196.29 165.736 196.628 167.198 197.077 \
+ 168.547 197.527 169.672 197.977 170.571 198.426 \
+ 171.246 198.989 171.808 199.438 172.145 200.001 \
+ 172.258 200.9 171.92 201.575 171.246 202.249 170.009 \
+ 202.811 168.547 203.149 167.76 203.374 166.973 \
+ 203.598 166.186 203.823 165.399 204.048 164.5 \
+ 204.273 163.488 204.385 162.476 204.498 161.464 \
+ 204.61 160.34 204.723 159.103 200.001 159.103 \
+ 200.001 145.049 209.445 145.049 209.445 185.412 \
+ 206.184 185.412 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 148.506 261.305 148.506 \
+ 263.554 143.784 263.554 143.784 261.305 143.671 \
+ 260.068 143.334 259.394 142.772 259.056 141.985 \
+ 258.944 141.085 259.056 140.523 259.394 140.074 \
+ 261.755 140.074 263.104 140.523 264.678 141.085 \
+ 265.465 141.985 266.364 146.145 270.637 147.607 \
+ 271.874 148.506 272.998 148.843 274.01 148.956 \
+ 275.359 148.956 277.158 148.843 278.507 148.506 \
+ 279.632 147.944 280.643 147.157 281.43 146.482 \
+ 281.88 145.695 282.218 144.796 282.442 143.784 \
+ 282.667 142.659 282.78 141.535 282.78 140.298 282.78 \
+ 139.286 282.78 138.387 282.667 137.6 282.442 136.925 \
+ 282.218 136.363 281.88 135.576 281.093 135.014 \
+ 280.194 134.564 278.957 134.452 277.608 134.452 \
+ 275.359 139.624 275.359 139.624 277.608 139.736 \
+ 279.069 140.074 279.969 141.535 280.419 142.659 \
+ 280.081 143.334 279.519 143.671 278.62 143.784 \
+ 277.158 143.784 275.809 143.671 275.022 143.334 \
+ 274.235 142.772 273.448 141.985 272.548 137.263 \
+ 267.376 136.251 266.364 135.351 265.465 135.014 \
+ 264.565 134.902 263.554 134.902 261.755 135.014 \
+ 260.518 135.464 259.506 136.026 258.719 136.813 \
+ 257.932 137.488 257.595 138.275 257.145 139.174 \
+ 256.92 140.186 256.695 141.31 256.583 142.435 \
+ 256.583 143.447 256.583 144.458 256.583 145.245 \
+ 256.695 145.92 256.92 147.157 257.482 147.719 \
+ 258.157 148.169 258.944 148.394 260.068 148.506 \
+ 261.305 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 165.821 270.187 165.821 \
+ 276.708 165.821 277.833 165.708 278.957 165.483 \
+ 279.856 165.259 280.643 164.921 281.318 164.472 \
+ 281.88 163.909 282.218 163.235 282.555 162.448 \
+ 282.667 161.548 282.78 160.536 282.78 159.3 282.78 \
+ 158.175 282.78 157.051 282.78 156.151 282.667 \
+ 155.364 282.555 154.69 282.218 154.128 281.88 \
+ 153.678 281.318 153.341 280.643 153.116 279.856 \
+ 152.891 278.845 152.778 277.833 152.778 276.708 \
+ 152.778 270.187 152.778 269.063 152.891 268.051 \
+ 153.116 267.264 153.341 266.589 154.128 265.465 \
+ 155.364 264.678 156.151 264.453 157.051 264.228 \
+ 158.063 264.116 159.3 264.116 160.424 264.116 \
+ 161.548 264.228 162.448 264.453 163.235 264.678 \
+ 163.909 265.015 164.472 265.465 164.921 265.915 \
+ 165.483 267.264 165.708 268.051 165.821 269.063 \
+ 165.821 270.187 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 177.514 256.583 177.514 \
+ 258.494 177.064 258.494 176.165 258.606 175.715 \
+ 258.944 175.378 259.281 175.265 259.843 175.265 \
+ 264.565 177.514 264.565 177.514 266.927 175.265 \
+ 266.927 175.265 282.78 170.543 282.78 170.543 \
+ 266.927 168.632 266.927 168.632 264.565 170.543 \
+ 264.565 170.543 261.305 170.655 259.843 170.993 \
+ 258.606 171.442 257.707 171.892 257.032 173.579 \
+ 256.358 174.703 256.133 176.165 256.133 176.727 \
+ 256.133 177.064 256.133 177.514 256.583 -fill \
+ #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 185.946 259.843 185.946 \
+ 264.565 188.757 264.565 188.757 266.927 185.946 \
+ 266.927 185.946 278.62 186.171 279.407 186.509 \
+ 279.969 187.071 280.306 187.858 280.419 188.307 \
+ 280.419 188.757 280.419 188.757 282.78 188.645 \
+ 282.78 188.307 282.78 187.183 282.78 186.509 282.78 \
+ 185.159 282.78 183.923 282.555 182.911 282.33 \
+ 182.236 281.88 181.786 281.206 181.561 280.419 \
+ 181.337 279.407 181.337 278.17 181.337 266.927 \
+ 179.425 266.927 179.425 264.565 181.337 264.565 \
+ 181.337 261.305 185.946 259.843 -fill #000000 \
+ -outline {} -width 1 -tags logo
+
+ $c create polygon 190.219 264.565 194.379 \
+ 264.565 196.29 279.519 196.74 279.519 199.101 \
+ 264.565 204.723 264.565 207.084 279.519 207.534 \
+ 279.519 209.895 264.565 213.605 264.565 209.895 \
+ 282.78 204.723 282.78 201.912 267.376 201.462 \
+ 267.376 199.101 282.78 193.479 282.78 190.219 \
+ 264.565 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 229.121 269.175 229.121 282.78 \
+ 224.848 282.78 224.848 280.981 224.061 281.768 \
+ 223.049 282.33 221.925 282.667 220.688 282.78 \
+ 219.564 282.78 218.44 282.555 217.54 282.33 216.866 \
+ 281.88 216.528 281.318 216.191 280.531 216.079 \
+ 279.632 215.966 278.62 215.966 275.359 216.079 \
+ 274.347 216.978 272.998 217.877 272.548 218.44 \
+ 272.211 219.114 271.986 219.789 271.761 220.688 \
+ 271.536 221.588 271.424 222.6 271.311 223.724 \
+ 271.199 224.848 271.087 224.848 269.175 224.736 \
+ 267.826 224.399 266.927 223.612 266.477 222.487 \
+ 266.364 221.7 266.477 221.138 266.927 220.688 \
+ 268.726 220.688 269.175 216.416 269.175 216.528 \
+ 267.938 216.753 266.702 217.203 265.69 217.877 \
+ 265.015 218.44 264.678 219.114 264.453 219.901 \
+ 264.228 220.801 264.116 221.925 264.116 223.049 \
+ 264.116 224.061 264.116 225.073 264.116 225.86 \
+ 264.228 226.535 264.453 227.659 265.015 228.334 \
+ 265.69 228.783 266.702 229.008 267.938 229.121 \
+ 269.175 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 243.175 264.565 243.175 \
+ 266.927 242.725 266.927 241.601 266.927 240.701 \
+ 267.151 239.914 267.489 239.352 267.826 239.015 \
+ 268.276 238.678 268.95 238.565 269.737 238.453 \
+ 270.637 238.453 282.78 233.731 282.78 233.731 \
+ 264.565 238.453 264.565 238.453 265.915 239.352 \
+ 265.128 240.364 264.565 242.163 264.116 242.725 \
+ 264.565 243.175 264.565 -fill #000000 -outline {} \
+ -width 1 -tags logo
+
+ $c create polygon 258.129 270.187 258.129 \
+ 274.347 249.696 274.347 249.696 278.17 249.809 \
+ 279.294 250.146 279.969 250.708 280.643 251.607 \
+ 280.981 252.732 280.643 253.406 279.969 253.744 \
+ 279.294 253.969 278.17 253.969 276.708 258.129 \
+ 276.708 258.129 277.608 258.129 278.957 257.904 \
+ 280.081 257.454 281.093 256.779 281.88 256.217 \
+ 282.218 254.643 282.667 253.744 282.78 252.732 \
+ 282.78 251.607 282.78 250.371 282.78 249.359 282.78 \
+ 248.459 282.667 247.672 282.442 246.436 281.88 \
+ 245.986 281.318 245.649 280.643 245.424 279.856 \
+ 245.199 278.957 245.086 277.833 244.974 276.708 \
+ 244.974 270.187 245.086 269.063 245.199 268.051 \
+ 245.311 267.264 245.649 266.589 245.986 265.915 \
+ 246.436 265.465 246.998 265.015 247.672 264.678 \
+ 248.459 264.453 249.359 264.228 250.371 264.116 \
+ 251.607 264.116 252.732 264.116 253.744 264.228 \
+ 254.756 264.453 255.543 264.678 256.217 265.015 \
+ 256.779 265.465 257.229 265.915 257.566 266.589 \
+ 257.791 267.264 258.016 268.051 258.129 269.063 \
+ 258.129 270.187 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 272.183 256.583 277.355 \
+ 256.583 277.355 282.78 272.183 282.78 272.183 \
+ 256.583 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 295.569 268.726 295.569 282.78 \
+ 290.959 282.78 290.959 269.175 290.847 268.051 \
+ 290.509 267.376 289.947 266.702 289.048 266.364 \
+ 287.923 266.702 287.136 267.376 287.024 268.051 \
+ 287.136 269.175 287.136 282.78 282.527 282.78 \
+ 282.527 264.565 286.687 264.565 287.136 265.915 \
+ 288.036 265.128 289.048 264.565 290.172 264.228 \
+ 291.409 264.116 292.533 264.116 293.433 264.341 \
+ 294.107 264.565 294.669 265.015 295.344 266.477 \
+ 295.569 267.489 295.569 268.726 -fill #000000 \
+ -outline {} -width 1 -tags logo
+
+ $c create polygon 312.434 269.737 312.434 \
+ 270.637 308.274 270.637 308.274 269.175 308.161 \
+ 267.826 307.824 266.927 307.262 266.477 306.363 \
+ 266.364 305.576 266.477 305.013 266.927 304.676 \
+ 267.826 304.564 269.175 304.564 278.17 304.676 \
+ 279.294 305.013 279.969 306.363 280.981 307.262 \
+ 280.643 307.824 279.969 307.937 279.294 307.824 \
+ 278.17 307.824 276.259 312.434 276.259 312.434 \
+ 277.608 312.434 278.957 312.209 280.081 311.759 \
+ 281.093 311.085 281.88 310.523 282.218 309.173 \
+ 282.667 308.386 282.78 307.374 282.78 306.363 282.78 \
+ 305.238 282.78 304.226 282.78 303.327 282.667 \
+ 302.427 282.442 301.753 282.218 301.191 281.88 \
+ 300.853 281.318 300.516 280.643 300.179 279.856 \
+ 299.954 278.957 299.841 277.833 299.841 276.708 \
+ 299.841 270.187 299.841 269.063 299.954 268.051 \
+ 300.179 267.264 300.404 266.589 301.191 265.465 \
+ 302.427 264.678 303.327 264.453 304.226 264.228 \
+ 305.238 264.116 306.363 264.116 307.374 264.116 \
+ 308.386 264.228 309.173 264.453 309.96 264.678 \
+ 310.523 265.015 311.085 265.465 311.759 266.252 \
+ 312.209 267.264 312.434 268.388 312.434 269.737 \
+ -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 316.706 279.069 320.866 \
+ 279.069 320.866 282.78 316.706 282.78 316.706 \
+ 279.069 -fill #000000 -outline {} -width 1 -tags logo
+
+ $c create polygon 48.215 186.312 48.215 185.412 \
+ 47.766 184.4 47.766 183.501 47.316 183.501 47.316 \
+ 182.601 46.416 181.59 46.416 181.14 45.967 180.24 \
+ 45.405 179.791 44.955 179.228 44.055 178.329 43.606 \
+ 177.879 43.156 177.43 42.144 176.98 41.694 176.418 \
+ 41.245 175.968 38.883 175.068 36.972 174.169 36.522 \
+ 174.169 35.173 173.607 34.723 174.169 31.913 173.607 \
+ 31.913 174.169 29.551 173.607 29.551 174.169 28.54 \
+ 174.169 28.09 174.619 27.19 174.169 27.19 174.619 \
+ 26.741 174.619 25.729 175.068 23.93 175.518 22.918 \
+ 175.068 22.468 175.518 20.669 176.418 19.657 176.418 \
+ 15.048 178.779 14.036 179.228 12.686 180.24 12.237 \
+ 180.69 11.225 181.59 10.775 182.039 10.325 182.601 \
+ 10.775 182.601 10.325 184.4 10.775 184.85 11.225 \
+ 186.312 14.036 188.223 14.485 188.673 16.846 190.022 \
+ 17.296 190.472 17.296 191.034 15.947 191.933 15.048 \
+ 192.383 14.485 192.833 14.036 193.283 13.136 193.845 \
+ 12.237 194.295 12.686 195.644 12.686 196.094 12.237 \
+ 197.555 12.237 198.005 11.675 198.904 12.237 200.816 \
+ 12.237 202.277 12.237 204.526 11.675 205.988 12.237 \
+ 205.988 12.237 206.437 12.237 207.337 12.686 208.349 \
+ 12.686 209.248 13.136 209.698 12.686 211.16 13.136 \
+ 212.509 13.136 213.521 13.586 215.32 13.586 216.781 \
+ 13.586 217.681 14.036 220.492 14.485 222.403 15.048 \
+ 222.853 15.947 222.853 15.947 222.403 16.397 221.953 \
+ 16.846 216.781 17.296 215.32 17.858 211.609 18.308 \
+ 210.71 18.308 210.148 18.308 209.248 17.858 208.798 \
+ 17.858 207.899 18.308 206.437 18.308 205.538 18.308 \
+ 205.088 18.308 203.627 16.846 203.627 15.947 203.177 \
+ 15.947 202.727 15.947 202.277 16.397 201.715 16.846 \
+ 201.715 17.858 201.715 18.308 201.715 18.758 201.265 \
+ 18.308 200.816 17.858 199.916 18.308 198.455 17.858 \
+ 198.455 17.858 193.283 19.208 192.383 20.107 191.933 \
+ 21.569 191.484 22.018 191.484 22.918 192.383 22.918 \
+ 192.833 23.48 192.833 23.93 198.005 23.48 199.467 \
+ 23.93 202.277 25.279 202.277 29.551 202.727 30.001 \
+ 202.277 30.901 202.277 31.913 202.277 35.623 201.265 \
+ 36.522 201.265 36.972 200.816 37.984 200.816 38.883 \
+ 200.816 39.333 200.366 40.345 199.916 40.795 199.916 \
+ 42.594 198.455 44.055 198.005 44.055 197.555 44.505 \
+ 197.105 46.416 195.644 46.416 194.744 46.866 194.295 \
+ 47.316 193.845 47.766 193.283 47.316 192.833 48.215 \
+ 190.472 48.215 190.022 48.215 189.572 48.215 188.673 \
+ 48.215 187.211 48.215 186.762 48.215 186.312 -fill \
+ $bg -outline {} -width 1 -tags logo
+
+ $c create polygon 76.886 142.688 81.046 142.688 \
+ 82.508 142.35 83.407 140.889 83.632 140.327 83.969 \
+ 138.865 84.082 137.965 84.194 137.066 84.307 136.054 \
+ 84.307 134.93 84.307 133.805 84.307 132.456 84.194 \
+ 131.332 84.082 130.208 83.857 129.308 83.632 128.409 \
+ 83.407 127.734 82.395 126.272 81.046 125.823 76.886 \
+ 125.823 76.886 142.688 -fill $bg -outline {} -width \
+ 1 -tags logo
+
+ $c create polygon 97.461 148.309 97.461 149.546 \
+ 97.461 150.783 97.461 152.02 97.574 153.144 97.574 \
+ 154.268 97.686 155.28 97.686 156.405 97.799 157.416 \
+ 97.799 158.316 97.911 159.328 98.023 160.227 98.136 \
+ 161.127 98.361 162.701 98.473 163.488 98.586 164.275 \
+ 98.698 164.949 98.81 165.736 99.373 167.535 99.822 \
+ 169.109 100.497 170.234 101.059 171.133 101.846 \
+ 171.583 102.633 171.808 104.095 171.133 104.769 \
+ 170.234 105.332 169.109 105.894 167.535 106.343 \
+ 165.736 106.456 164.949 106.681 164.275 106.793 \
+ 163.488 106.906 162.701 107.018 161.914 107.243 \
+ 160.227 107.355 159.328 107.355 158.316 107.468 \
+ 157.416 107.58 156.405 107.58 155.28 107.693 154.268 \
+ 107.693 153.144 107.693 152.02 107.693 150.783 \
+ 107.805 149.546 107.805 148.309 107.805 147.073 \
+ 107.693 145.836 107.693 144.711 107.693 143.587 \
+ 107.693 142.463 107.58 141.338 107.58 140.327 \
+ 107.468 139.315 107.355 138.303 107.355 137.403 \
+ 107.243 136.504 107.131 135.604 106.906 133.918 \
+ 106.793 133.131 106.681 132.456 106.456 131.669 \
+ 106.343 130.995 105.894 129.196 105.332 127.622 \
+ 104.769 126.497 104.095 125.598 103.42 125.148 \
+ 102.633 124.923 101.846 125.148 101.059 125.598 \
+ 100.497 126.497 99.822 127.622 99.373 129.196 98.81 \
+ 130.995 98.698 131.669 98.586 132.456 98.473 133.131 \
+ 98.361 133.918 98.248 134.817 98.023 136.504 97.911 \
+ 137.403 97.799 138.303 97.799 139.315 97.686 140.327 \
+ 97.686 141.338 97.574 142.463 97.574 143.587 97.461 \
+ 144.711 97.461 145.836 97.461 147.073 97.461 148.309 \
+ -fill $bg -outline {} -width 1 -tags logo
+
+ $c create polygon 122.309 156.292 126.919 \
+ 156.292 124.67 130.545 122.309 156.292 -fill $bg \
+ -outline {} -width 1 -tags logo
+
+ $c create polygon 142.435 142.688 146.145 \
+ 142.688 147.607 142.35 148.506 140.889 148.731 \
+ 140.327 149.068 138.865 149.181 137.965 149.293 \
+ 137.066 149.405 136.054 149.405 134.93 149.405 \
+ 133.805 149.405 132.456 149.405 131.332 149.405 \
+ 130.208 149.293 129.308 149.181 128.409 148.956 \
+ 127.734 148.056 126.272 146.595 125.823 142.435 \
+ 125.823 142.435 142.688 -fill $bg -outline {} -width \
+ 1 -tags logo
+
+ $c create polygon 111.515 228.924 111.515 \
+ 227.575 111.066 225.664 108.705 221.391 108.255 \
+ 220.042 108.255 219.142 108.255 218.58 108.255 \
+ 218.13 107.805 217.681 106.793 218.58 104.994 \
+ 220.941 104.432 221.953 102.633 224.202 102.183 \
+ 224.764 101.621 225.214 99.822 228.474 97.461 \
+ 233.197 97.461 234.096 97.461 234.995 97.911 235.445 \
+ 98.361 236.007 99.822 236.457 102.633 236.457 \
+ 104.432 235.445 105.894 234.995 106.343 234.546 \
+ 106.793 234.546 107.805 233.646 110.616 230.835 \
+ 111.515 229.824 111.515 229.374 111.515 228.924 \
+ -fill $bg -outline {} -width 1 -tags logo
+
+ $c create polygon 161.211 269.175 160.986 \
+ 267.826 160.649 266.927 160.199 266.477 159.3 \
+ 266.364 158.4 266.477 157.838 266.927 157.613 \
+ 267.826 157.388 269.175 157.388 278.17 157.613 \
+ 279.294 157.838 279.969 159.3 280.981 160.199 \
+ 280.643 160.649 279.969 160.986 279.294 161.211 \
+ 278.17 161.211 269.175 -fill $bg -outline {} -width \
+ 1 -tags logo
+
+ $c create polygon 224.848 273.448 223.836 \
+ 273.448 222.825 273.56 222.15 273.673 221.588 \
+ 273.897 220.913 274.684 220.688 275.809 220.688 \
+ 278.17 220.801 279.294 221.138 279.969 221.7 280.643 \
+ 222.487 280.981 223.612 280.643 224.399 279.969 \
+ 224.736 279.294 224.848 278.17 224.848 273.448 -fill \
+ $bg -outline {} -width 1 -tags logo
+
+ $c create polygon 253.969 269.175 253.744 \
+ 267.826 253.406 266.927 252.732 266.477 251.607 \
+ 266.364 250.708 266.477 250.146 266.927 249.696 \
+ 269.175 249.696 272.548 253.969 272.548 253.969 \
+ 269.175 -fill $bg -outline {} -width 1 -tags logo
+
+}
+
+#***********************************************************************
+# %PROCEDURE: LoadConnectionInfo
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Loads the connection information into the global ConnectionInfo variable
+#***********************************************************************
+proc LoadConnectionInfo {} {
+ global ConnectionInfoFile ConnectionInfo PasswordFile
+ set ConnectionInfo {}
+ if {![file exists $ConnectionInfoFile]} {
+ return
+ }
+ set problem [catch {
+ set fp [open $ConnectionInfoFile "r"]
+ while {1} {
+ if {[gets $fp line] < 0} {
+ break
+ }
+ set line [string trim $line]
+ if {[string match "#*" $line]} {
+ continue
+ }
+ if {"$line" == ""} {
+ continue
+ }
+ set ConnectionInfo $line
+ break
+ }
+ close $fp
+ } err]
+ if {$problem} {
+ tk_dialog .err Error "Error loading configuration file: $err" error 0 OK
+ }
+ # Try loading and merging passwords if the password file is readable
+ if {![file readable $PasswordFile]} {
+ return
+ }
+
+ set fp [open $PasswordFile "r"]
+ while {1} {
+ if {[gets $fp line] < 0} {
+ break
+ }
+ set line [string trim $line]
+ if {[string match "#*" $line]} {
+ continue
+ }
+ if {"$line" == ""} {
+ continue
+ }
+ set passwords $line
+ break
+ }
+ close $fp
+
+ # Merge passwords
+ foreach thing $passwords {
+ set name [value $thing ConnectionName]
+ set password [value $thing Password]
+ set conn [GetConnection $name]
+ if {"$conn" != ""} {
+ lappend conn Password $password
+ ReplaceConnection $conn
+ }
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: GetConnection
+# %ARGUMENTS:
+# name -- name of connection
+# %RETURNS:
+# key/value pair listing connection configuration, or "" if not found.
+#***********************************************************************
+proc GetConnection { name } {
+ global ConnectionInfo
+ foreach thing $ConnectionInfo {
+ if {[value $thing ConnectionName] == "$name"} {
+ return $thing
+ }
+ }
+ return ""
+}
+
+
+#***********************************************************************
+# %PROCEDURE: DeleteConnection
+# %ARGUMENTS:
+# name -- name of connection
+# %RETURNS:
+# Nothing, but deletes connection named "$name"
+#***********************************************************************
+proc DeleteConnection { name } {
+ global ConnectionInfo ConfigDir
+ set newInfo {}
+ set found 0
+ foreach thing $ConnectionInfo {
+ if {[value $thing ConnectionName] == "$name"} {
+ set found 1
+ } else {
+ lappend newInfo $thing
+ }
+ }
+ if {!$found} {
+ return
+ }
+ set ConnectionInfo $newInfo
+ SaveConnectionInfo
+
+ # Delete the config file
+ set fname [file join $ConfigDir conf.$name]
+ catch { file delete $fname }
+
+ BuildConnectionMenu
+ if {[GetCurrentConnection] == $name} {
+ if {[llength $ConnectionInfo] == 0} {
+ SwitchConnection ""
+ } else {
+ set name [value [lindex $ConnectionInfo 0] ConnectionName]
+ SwitchConnection $name
+ }
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: ReplaceConnection
+# %ARGUMENTS:
+# conn -- new name/value pairs
+# %RETURNS:
+# Nothing, but replaces connection in ConnectionInfo. If no such
+# connection exists, appends new connection.
+#***********************************************************************
+proc ReplaceConnection { conn } {
+ global ConnectionInfo
+ set name [value $conn ConnectionName]
+ set newInfo {}
+ set found 0
+ foreach thing $ConnectionInfo {
+ if {[value $thing ConnectionName] == "$name"} {
+ lappend newInfo $conn
+ set found 1
+ } else {
+ lappend newInfo $thing
+ }
+ }
+ if {!$found} {
+ lappend newInfo $conn
+ }
+ set ConnectionInfo $newInfo
+}
+
+proc DeletePPPoEConnection {} {
+ set conn [GetCurrentConnection]
+ if {"$conn" == ""} {
+ return
+ }
+ set ans [tk_dialog .confirm "Confirm Deletion - RP-PPPoE" "Are you sure you wish to delete the connection `$conn'?" warning 0 No Yes]
+ if {$ans} {
+ DeleteConnection $conn
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: CreateMainDialog
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Creates the main window
+#***********************************************************************
+proc CreateMainDialog {} {
+ global ConnectionInfoFile
+ global ConnectionInfo
+ global Admin
+ wm title . "RP-PPPoE"
+ wm iconname . "PPPoE"
+ frame .f1
+ label .l1 -text "Connection: "
+ menubutton .m1 -text "" -indicatoron 1 -menu .m1.menu -relief raised
+ menu .m1.menu -tearoff 0
+ pack .l1 .m1 -in .f1 -side left -expand 0 -fill x
+ canvas .c -width 40 -height 20
+ pack .c -in .f1 -side left -expand 0 -fill none
+
+ # Draw the LED's
+ .c create rectangle 10 1 30 8 -outline "#808080" -fill "#A0A0A0" -tags xmitrect
+ .c create rectangle 10 10 30 18 -outline "#808080" -fill "#A0A0A0" -tags recvrect
+
+ frame .buttons
+ button .start -text "Start" -command "StartPPPoEConnection"
+ button .stop -text "Stop" -command "StopPPPoEConnection"
+ button .exit -text "Exit" -command "exit"
+ canvas .graph -width 1 -height 1
+ if {[file writable $ConnectionInfoFile]} {
+ set Admin 1
+ pack .f1 -side top -expand 1 -fill both
+ pack .buttons -side top -expand 0 -fill x
+ button .delete -text "Delete" -command "DeletePPPoEConnection"
+ button .new -text "New Connection..." -command "NewPPPoEConnection"
+ button .props -text "Properties..." -command "EditConnectionProps"
+ pack .graph -in .f1 -side left -expand 1 -fill both
+ pack .start .stop .delete .props .new .exit -in .buttons -side left -expand 0 -fill none
+ } else {
+ set Admin 0
+ pack .f1 -side top -expand 0 -fill x
+ pack .buttons -side top -expand 1 -fill both
+ pack .start .stop .exit -in .buttons -side left -expand 0 -fill none
+ pack .graph -in .buttons -side left -expand 1 -fill both
+ }
+
+ LoadConnectionInfo
+ BuildConnectionMenu
+ # If no connections exist, pop up new connection dialog
+ if {[llength $ConnectionInfo] == 0} {
+ SwitchConnection ""
+ if {$Admin} {
+ update idletasks
+ NewPPPoEConnection
+ } else {
+ tk_dialog .note Note "Note: There are no connections defined. You must run this program as root to define connections" warning 0 OK
+ }
+ } else {
+ set con [lindex $ConnectionInfo 0]
+ set name [value $con ConnectionName]
+ SwitchConnection $name
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: GetCurrentConnection
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# The name of the current connection in the GUI.
+#***********************************************************************
+proc GetCurrentConnection {} {
+ .m1 cget -text
+}
+
+#***********************************************************************
+# %PROCEDURE: value
+# %ARGUMENTS:
+# lst -- a list of key/value pairs
+# key -- key we're looking for
+# %RETURNS:
+# value corresponding to $key, or "" if not found.
+#***********************************************************************
+proc value { lst key } {
+ set idx [lsearch -exact $lst $key]
+ if {$idx >= 0} {
+ return [lindex $lst [expr $idx+1]]
+ }
+ return ""
+}
+
+#***********************************************************************
+# %PROCEDURE: SwitchConnection
+# %ARGUMENTS:
+# name -- new connection name
+# %DESCRIPTION:
+# Makes $name the active connection
+#***********************************************************************
+proc SwitchConnection { name } {
+ .m1 configure -text $name
+ SetButtonStates
+ UpdateConnectionState 0
+}
+
+#***********************************************************************
+# %PROCEDURE: EditConnectionProps
+# %ARGUMENTS:
+# None
+# %DESCRIPTION:
+# Pops up edit window for current connection
+#***********************************************************************
+proc EditConnectionProps {} {
+ global ConnectionInfo
+ set conn [GetCurrentConnection]
+ NewPPPoEConnection $conn
+}
+
+#***********************************************************************
+# %PROCEDURE: FillConnectionGui
+# %ARGUMENTS:
+# w -- connection property GUI
+# name -- name of connection
+# %DESCRIPTION:
+# Fills GUI with values corresponding to $name.
+#***********************************************************************
+proc FillConnectionGui { w name } {
+ global ConnectionInfo
+ set found [GetConnection $name]
+ if {"$found" != ""} {
+ ListToSetupGui $w $found
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: BuildConnectionMenu
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Builds the connection menu
+#***********************************************************************
+proc BuildConnectionMenu {} {
+ global ConnectionInfo
+ .m1.menu delete 0 end
+ foreach connection $ConnectionInfo {
+ set name [value $connection ConnectionName]
+ .m1.menu add command -label $name -command [list SwitchConnection $name]
+ }
+ .m1.menu add separator
+ .m1.menu add command -label "User's Manual" -command Help
+}
+
+#***********************************************************************
+# %PROCEDURE: SetButtonStates
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Enables or disables buttons, as appropriate
+#***********************************************************************
+proc SetButtonStates {} {
+ global Admin
+ set conn [GetCurrentConnection]
+ if {"$conn" == ""} {
+ .start configure -state disabled
+ .stop configure -state disabled
+ catch {
+ .delete configure -state disabled
+ .props configure -state disabled
+ .new configure -state normal
+ }
+ } else {
+ foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
+ if {"$startstop" == "started"} {
+ .start configure -state disabled
+ .stop configure -state normal
+ } else {
+ .start configure -state normal
+ .stop configure -state disabled
+ }
+ catch {
+ .delete configure -state normal
+ .props configure -state normal
+ .new configure -state normal
+ }
+ if {!$Admin} {
+ set ok [value [GetConnection $conn] NonrootOK]
+ if {!$ok} {
+ .start configure -state disabled
+ .stop configure -state disabled
+ }
+ }
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: GetEthernetInterfaces
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# A list of Ethernet interfaces
+#***********************************************************************
+proc GetEthernetInterfaces {} {
+ set ifs {}
+ set fp [open "|/sbin/ifconfig" "r"]
+ while {[gets $fp line] >= 0} {
+ if {[regexp {^eth[0-9]+} $line eth]} {
+ lappend ifs $eth
+ }
+ }
+ return $ifs
+}
+
+#***********************************************************************
+# %PROCEDURE: StartPPPoEConnection
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Starts currently-selected PPPoE connection.
+#***********************************************************************
+proc StartPPPoEConnection {} {
+ global Wrapper
+ global StartState
+ global UpdateToken
+
+ set conn [GetCurrentConnection]
+ if {"$conn" == ""} {
+ return
+ }
+
+ if {"$UpdateToken" != ""} {
+ after cancel $UpdateToken
+ set UpdateToken ""
+ }
+
+ catch { unset StartState }
+ set StartState(chars) ""
+ set StartState(status) ""
+ set StartState(msg) ""
+ set StartState(flip) 0
+
+ set fp [open "|$Wrapper start $conn" "r"]
+
+ # Set fileevent
+ fileevent $fp readable [list StartFPReadable $fp]
+
+ LockGui $fp
+ vwait StartState(status)
+ UnlockGui
+
+ if {$StartState(status) == "failed"} {
+ tk_dialog .err Error "Error starting connection: $StartState(msg)" error 0 OK
+ }
+ SetButtonStates
+ UpdateConnectionState 0
+}
+
+proc LockGui { fp } {
+ .start configure -state disabled
+ .stop configure -state normal -command [list AbortConnection $fp]
+ .exit configure -state disabled
+ .m1 configure -state disabled
+ grab set .stop
+}
+
+proc UnlockGui {} {
+ .start configure -state normal
+ .stop configure -state disabled -command StopPPPoEConnection
+ .exit configure -state normal
+ .m1 configure -state normal
+ grab release .stop
+}
+
+proc AbortConnection { fp } {
+ global StartState
+ catch { StopPPPoEConnection }
+ catch { close $fp }
+ set StartState(msg) "Connection aborted by user"
+ set StartState(status) "failed"
+}
+
+#***********************************************************************
+# %PROCEDURE: StartFPReadable
+# %ARGUMENTS:
+# fp -- file handle
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Called when the "adsl-start" file handle is readable.
+#***********************************************************************
+proc StartFPReadable { fp } {
+ global StartState
+ set char [read $fp 1]
+ if {$char == ""} {
+ set uhoh [catch {close $fp} err]
+ if {$uhoh} {
+ set StartState(status) "failed"
+ set StartState(msg) $err
+ } else {
+ set StartState(status) "succeeded"
+ }
+ return
+ }
+ append StartState(chars) $char
+ if {$StartState(flip)} {
+ ConnectionStateDown
+ } else {
+ ConnectionStateOff
+ }
+ set StartState(flip) [expr 1 - $StartState(flip)]
+}
+
+#***********************************************************************
+# %PROCEDURE: StopPPPoEConnection
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Stops currently-selected PPPoE connection.
+#***********************************************************************
+proc StopPPPoEConnection {} {
+ global Wrapper
+ set conn [GetCurrentConnection]
+ if {"$conn" == ""} {
+ return
+ }
+ set fp [open "|$Wrapper stop $conn" "r"]
+ while {1} {
+ set char [read $fp 1]
+ if {"$char" == ""} {
+ break;
+ }
+ }
+ set uhoh [catch {close $fp} err]
+ if {$uhoh} {
+ # Ignore a common error
+ if {![string match "*appears to have died*" $err]} {
+ tk_dialog .err Error "Error stopping connection: $err" error 0 OK
+ }
+ }
+ SetButtonStates
+ UpdateConnectionState 0
+}
+
+#***********************************************************************
+# %PROCEDURE: NewPPPoEConnection
+# %ARGUMENTS:
+# name -- if supplied, we're editing the existing connection "name"
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Creates a new PPPoE connection
+#***********************************************************************
+proc NewPPPoEConnection {{name ""}} {
+ set w .newcon
+ if {[winfo exists $w]} {
+ wm deiconify $w
+ raise $w
+ return
+ }
+
+ toplevel $w
+ if {"$name" == ""} {
+ wm title $w "New Connection - RP-PPPoE"
+ wm iconname $w "New Connection"
+ } else {
+ wm title $w "Edit Connection - RP-PPPoE"
+ wm iconname $w "Edit Connection"
+ }
+ wm withdraw $w
+
+ tabnotebook_create $w.tn
+ set basic [tabnotebook_page $w.tn "Basic"]
+ set interface [tabnotebook_page $w.tn "NIC and DNS"]
+ set opts [tabnotebook_page $w.tn "Options"]
+ set advanced [tabnotebook_page $w.tn "Advanced"]
+
+ # ----------- BASIC PAGE -------------
+ label $w.lconName -text "Connection Name: " -anchor e
+ if {"$name" != ""} {
+ label $w.conName -text $name -anchor w
+ } else {
+ entry $w.conName -width 15
+ RegisterHelpWindow $w.lconName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
+ RegisterHelpWindow $w.conName "Enter a name for this connection. It can contain letters, numbers, undescores and the minus-sign." $w.help
+ }
+
+ label $w.luser -text "User Name: " -anchor e
+ entry $w.user -width 15
+ RegisterHelpWindow $w.luser "Enter your user name. Do not add a domain-name after the user name." $w.help
+ RegisterHelpWindow $w.user "Enter your user name. Do not add a domain-name after the user name." $w.help
+
+ label $w.lnet -text "Network: " -anchor e
+ entry $w.network -width 15
+ RegisterHelpWindow $w.lnet "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
+ RegisterHelpWindow $w.network "Some ISP's require you to enter their domain-name here (e.g. \"sympatico.ca\")." $w.help
+
+ label $w.lpass -text "Password: " -anchor e
+ entry $w.pass -width 15 -show "*"
+ RegisterHelpWindow $w.lpass "Enter your password." $w.help
+ RegisterHelpWindow $w.pass "Enter your password." $w.help
+
+ grid $w.lconName $w.conName -in $basic -sticky nsew
+ grid $w.luser $w.user -in $basic -sticky nsew
+ grid $w.lnet $w.network -in $basic -sticky nsew
+ grid $w.lpass $w.pass -in $basic -sticky nsew
+ grid columnconfigure $basic 1 -weight 1
+
+ # ----------- INTERFACES PAGE -------------
+ set ifs {}
+ catch {set ifs [GetEthernetInterfaces]}
+
+ label $w.lifname -text "Ethernet Interface: " -anchor e
+ entry $w.ifname -width 8
+ RegisterHelpWindow $w.lifname "Enter Ethernet interface to which DSL modem is attached." $w.help
+ RegisterHelpWindow $w.ifname "Enter Ethernet interface to which DSL modem is attached." $w.help
+
+ if {[llength $ifs] > 0} {
+ menubutton $w.ifmb -relief raised -text "..." -menu $w.ifmb.menu
+ RegisterHelpWindow $w.ifmb "Browse detected Ethernet interface names." $w.help
+ menu $w.ifmb.menu -tearoff 0
+ foreach if $ifs {
+ $w.ifmb.menu add command -label $if -command "$w.ifname delete 0 end; $w.ifname insert end [list $if]"
+ }
+ grid $w.lifname $w.ifname $w.ifmb -in $interface -sticky nsew
+ } else {
+ grid $w.lifname $w.ifname - -in $interface -sticky nsew
+ }
+
+ label $w.ldns -text "DNS Setup: " -anchor e
+ menubutton $w.dns -text "From Server" -menu $w.dns.menu -relief raised -indicatoron 1
+ menu $w.dns.menu -tearoff 0
+ foreach thing {"From Server" "Specify" "Do not Adjust"} {
+ $w.dns.menu add command -label $thing -command [list SetDNSOption $w $thing]
+ }
+ RegisterHelpWindow $w.ldns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
+ RegisterHelpWindow $w.dns "DNS server options:\n'From Server' - Let PPPoE server specify DNS servers\n'Specify' - Enter IP addresses of DNS servers yourself\n'Do not Adjust' - Leave your DNS setup alone." $w.help
+
+ label $w.ldns1 -text "Primary DNS: " -anchor e
+ entry $w.dns1 -width 16
+ RegisterHelpWindow $w.ldns1 "Enter the IP address of the primary DNS server." $w.help
+ RegisterHelpWindow $w.dns1 "Enter the IP address of the primary DNS server." $w.help
+ label $w.ldns2 -text "Secondary DNS: " -anchor e
+ entry $w.dns2 -width 16
+ RegisterHelpWindow $w.ldns2 "Enter the IP address of the secondary DNS server." $w.help
+ RegisterHelpWindow $w.dns2 "Enter the IP address of the secondary DNS server." $w.help
+
+ SetDNSOption $w "From Server"
+ grid $w.ldns $w.dns - -in $interface -sticky nsew
+ grid $w.ldns1 $w.dns1 - -in $interface -sticky nsew
+ grid $w.ldns2 $w.dns2 - -in $interface -sticky nsew
+
+ # If only one Ethernet interface, select it by default
+ if {[llength $ifs] == 1} {
+ $w.ifname insert end [lindex $ifs 0]
+ }
+
+ grid columnconfigure $interface 1 -weight 1
+ # ----------- OPTS PAGE -------------
+ checkbutton $w.nonroot -text "Allow use by non-root users" -variable OPTS(nonroot) -anchor w
+ RegisterHelpWindow $w.nonroot "If enabled, ordinary users can start and stop this connection." $w.help
+ checkbutton $w.sync -text "Use synchronous PPP" -variable OPTS(sync) -anchor w
+ RegisterHelpWindow $w.sync "Use synchronous PPP (recommended -- easier on the CPU.)" $w.help
+ label $w.lfw -text "Firewalling: " -anchor e
+ if {[llength $ifs] == 1} {
+ set defaultFW "Stand-Alone"
+ } else {
+ set defaultFW "Masquerading"
+ }
+ menubutton $w.fw -text $defaultFW -menu $w.fw.menu -indicatoron 1 -relief raised
+ menu $w.fw.menu -tearoff 0
+ foreach type {Stand-Alone Masquerading None} {
+ $w.fw.menu add command -label $type -command [list $w.fw configure -text $type]
+ }
+
+ RegisterHelpWindow $w.lfw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
+ RegisterHelpWindow $w.fw "Firewalling options:\nStand-Alone - A stand-alone machine.\nMasquerading - A gateway machine used for Internet sharing.\nNone - Use if you already have your own firewall rules or want to run servers." $w.help
+ grid $w.nonroot - -in $opts -sticky nsew
+ grid $w.sync - -in $opts -sticky nsew
+ grid $w.lfw $w.fw -in $opts -sticky nsw
+ grid columnconfigure $opts 1 -weight 1
+
+ # ----------- ADVANCED PAGE -------------
+ label $w.lsn -text "Service-Name: " -anchor e
+ entry $w.servicename -width 24
+
+ label $w.lac -text "AC-Name: " -anchor e
+ entry $w.acname -width 24
+
+ RegisterHelpWindow $w.lac "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
+ RegisterHelpWindow $w.acname "Enter access concentrator name if required. Most ISPs do not require this; try leaving it blank." $w.help
+ grid $w.lsn $w.servicename -in $advanced -sticky nsew
+ grid $w.lac $w.acname -in $advanced -sticky nsew
+ RegisterHelpWindow $w.lsn "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
+ RegisterHelpWindow $w.servicename "Enter service name if required. Most ISPs do not require this; try leaving it blank." $w.help
+
+ grid columnconfigure $advanced 1 -weight 1
+
+ # ----------- BUTTONS -------------
+ frame $w.buttons
+ button $w.ok -text "OK" -command [list NewPPPoEConnectionOK $name $w]
+ button $w.cancel -text "Cancel" -command [list destroy $w]
+ pack $w.ok $w.cancel -in $w.buttons -expand 0 -fill none -side left
+
+ pack $w.tn -side top -expand 1 -fill both
+
+ text $w.help -width 60 -wrap word -state disabled -height 6
+ pack $w.help -side top -expand 0 -fill both
+ pack $w.buttons -side top -expand 0 -fill x
+
+ # If we're editing existing connection, fill GUI with current values
+ if {"$name" != ""} {
+ FillConnectionGui $w $name
+ }
+ wm deiconify $w
+ update idletasks
+ raise $w
+}
+
+#***********************************************************************
+# %PROCEDURE: SetDNSOption
+# %ARGUMENTS:
+# w -- connection-editing window
+# opt -- value of DNS option
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Adjusts GUI for specified option
+#***********************************************************************
+proc SetDNSOption { w opt } {
+ $w.dns configure -text $opt
+ if {"$opt" == "Specify"} {
+ $w.dns1 configure -state normal -background white
+ $w.dns2 configure -state normal -background white
+ } else {
+ $w.dns1 configure -state disabled -background "#d9d9d9"
+ $w.dns2 configure -state disabled -background "#d9d9d9"
+ }
+}
+
+# ----------------------------------------------------------------------
+# Tabbed notebook code from "Effective Tcl/Tk Programming"
+# ----------------------------------------------------------------------
+# EXAMPLE: tabnotebook that can dial up pages
+# ----------------------------------------------------------------------
+# Effective Tcl/Tk Programming
+# Mark Harrison, DSC Communications Corp.
+# Michael McLennan, Bell Labs Innovations for Lucent Technologies
+# Addison-Wesley Professional Computing Series
+# ======================================================================
+# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
+# ======================================================================
+
+option add *Tabnotebook.tabs.background #666666 widgetDefault
+option add *Tabnotebook.margin 6 widgetDefault
+option add *Tabnotebook.tabColor #a6a6a6 widgetDefault
+option add *Tabnotebook.activeTabColor #d9d9d9 widgetDefault
+option add *Tabnotebook.tabFont \
+ -*-helvetica-bold-r-normal--*-120-* widgetDefault
+
+proc tabnotebook_create {win} {
+ global tnInfo
+
+ frame $win -class Tabnotebook
+ canvas $win.tabs -highlightthickness 0
+ pack $win.tabs -fill x
+
+ notebook_create $win.notebook
+ pack $win.notebook -expand yes -fill both
+
+ set tnInfo($win-tabs) ""
+ set tnInfo($win-current) ""
+ set tnInfo($win-pending) ""
+ return $win
+}
+
+proc tabnotebook_page {win name} {
+ global tnInfo
+
+ set page [notebook_page $win.notebook $name]
+ lappend tnInfo($win-tabs) $name
+
+ if {$tnInfo($win-pending) == ""} {
+ set id [after idle [list tabnotebook_refresh $win]]
+ set tnInfo($win-pending) $id
+ }
+ return $page
+}
+
+proc tabnotebook_refresh {win} {
+ global tnInfo
+
+ $win.tabs delete all
+
+ set margin [option get $win margin Margin]
+ set color [option get $win tabColor Color]
+ set font [option get $win tabFont Font]
+ set x 2
+ set maxh 0
+
+ foreach name $tnInfo($win-tabs) {
+ set id [$win.tabs create text \
+ [expr $x+$margin+2] [expr -0.5*$margin] \
+ -anchor sw -text $name -font $font \
+ -tags [list $name]]
+
+ set bbox [$win.tabs bbox $id]
+ set wd [expr [lindex $bbox 2]-[lindex $bbox 0]]
+ set ht [expr [lindex $bbox 3]-[lindex $bbox 1]]
+ if {$ht > $maxh} {
+ set maxh $ht
+ }
+
+ $win.tabs create polygon 0 0 $x 0 \
+ [expr $x+$margin] [expr -$ht-$margin] \
+ [expr $x+$margin+$wd] [expr -$ht-$margin] \
+ [expr $x+$wd+2*$margin] 0 \
+ 2000 0 2000 10 0 10 \
+ -outline black -fill $color \
+ -tags [list $name tab tab-$name]
+
+ $win.tabs raise $id
+
+ $win.tabs bind $name <ButtonPress-1> \
+ [list tabnotebook_display $win $name]
+
+ set x [expr $x+$wd+2*$margin]
+ }
+ set height [expr $maxh+2*$margin]
+ $win.tabs move all 0 $height
+
+ $win.tabs configure -width $x -height [expr $height+4]
+
+ if {$tnInfo($win-current) != ""} {
+ tabnotebook_display $win $tnInfo($win-current)
+ } else {
+ tabnotebook_display $win [lindex $tnInfo($win-tabs) 0]
+ }
+ set tnInfo($win-pending) ""
+}
+
+proc tabnotebook_display {win name} {
+ global tnInfo
+
+ notebook_display $win.notebook $name
+
+ set normal [option get $win tabColor Color]
+ $win.tabs itemconfigure tab -fill $normal
+
+ set active [option get $win activeTabColor Color]
+ $win.tabs itemconfigure tab-$name -fill $active
+ $win.tabs raise $name
+
+ set tnInfo($win-current) $name
+}
+
+# ----------------------------------------------------------------------
+# EXAMPLE: simple notebook that can dial up pages
+# ----------------------------------------------------------------------
+# Effective Tcl/Tk Programming
+# Mark Harrison, DSC Communications Corp.
+# Michael McLennan, Bell Labs Innovations for Lucent Technologies
+# Addison-Wesley Professional Computing Series
+# ======================================================================
+# Copyright (c) 1996-1997 Lucent Technologies Inc. and Mark Harrison
+# ======================================================================
+
+option add *Notebook.borderWidth 2 widgetDefault
+option add *Notebook.relief sunken widgetDefault
+
+proc notebook_create {win} {
+ global nbInfo
+
+ frame $win -class Notebook
+ pack propagate $win 0
+
+ set nbInfo($win-count) 0
+ set nbInfo($win-pages) ""
+ set nbInfo($win-current) ""
+ return $win
+}
+
+proc notebook_page {win name} {
+ global nbInfo
+
+ set page "$win.page[incr nbInfo($win-count)]"
+ lappend nbInfo($win-pages) $page
+ set nbInfo($win-page-$name) $page
+
+ frame $page
+
+ if {$nbInfo($win-count) == 1} {
+ after idle [list notebook_display $win $name]
+ }
+ return $page
+}
+
+proc notebook_display {win name} {
+ global nbInfo
+
+ set page ""
+ if {[info exists nbInfo($win-page-$name)]} {
+ set page $nbInfo($win-page-$name)
+ } elseif {[winfo exists $win.page$name]} {
+ set page $win.page$name
+ }
+ if {$page == ""} {
+ error "bad notebook page \"$name\""
+ }
+
+ notebook_fix_size $win
+
+ if {$nbInfo($win-current) != ""} {
+ pack forget $nbInfo($win-current)
+ }
+ pack $page -expand yes -fill both
+ set nbInfo($win-current) $page
+}
+
+proc notebook_fix_size {win} {
+ global nbInfo
+
+ update idletasks
+
+ set maxw 0
+ set maxh 0
+ foreach page $nbInfo($win-pages) {
+ set w [winfo reqwidth $page]
+ if {$w > $maxw} {
+ set maxw $w
+ }
+ set h [winfo reqheight $page]
+ if {$h > $maxh} {
+ set maxh $h
+ }
+ }
+ set bd [$win cget -borderwidth]
+ set maxw [expr $maxw+2*$bd]
+ set maxh [expr $maxh+2*$bd]
+ $win configure -width $maxw -height $maxh
+}
+
+#***********************************************************************
+# %PROCEDURE: SetupGuiToList
+# %ARGUMENTS:
+# w -- the PPPoE connection setup window
+# %RETURNS:
+# A list of (name value) pairs for the connection.
+# %DESCRIPTION:
+# Reads values from the GUI; makes a list.
+#***********************************************************************
+proc SetupGuiToList { w } {
+ global OPTS
+ set ans {}
+ if {[catch {lappend ans ConnectionName [$w.conName get]}]} {
+ lappend ans ConnectionName [$w.conName cget -text]
+ }
+ lappend ans UserName [$w.user get]
+ lappend ans NetworkName [$w.network get]
+ lappend ans Password [$w.pass get]
+ lappend ans Interface [$w.ifname get]
+ lappend ans DNSType [$w.dns cget -text]
+ lappend ans DNS1 [$w.dns1 get]
+ lappend ans DNS2 [$w.dns2 get]
+ lappend ans NonrootOK $OPTS(nonroot)
+ lappend ans Sync $OPTS(sync)
+ lappend ans FirewallType [$w.fw cget -text]
+ lappend ans ServiceName [$w.servicename get]
+ lappend ans ACName [$w.acname get]
+
+ # Validate
+ set name [value $ans ConnectionName]
+ if {![regexp -nocase {^[-a-z0-9_]+$} $name]} {
+ error "Connection name must be non-blank and contain only letters, digits, `_' and `-'"
+ }
+
+ # Check DNS
+ set type [value $ans DNSType]
+ if {"$type" == "Specify"} {
+ set dns [value $ans DNS1]
+ if {![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
+ error "Primary DNS entry must consist of four dot-separated decimal numbers"
+ }
+ set dns [value $ans DNS2]
+ if {"$dns" != "" && ![regexp {[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+} "$dns"]} {
+ error "Secondary DNS entry must consist of four dot-separated decimal numbers"
+ }
+ }
+ return $ans
+}
+
+#***********************************************************************
+# %PROCEDURE: ListToSetupGui
+# %ARGUMENTS:
+# w -- the PPPoE connection setup window
+# lst -- a list of name/value pairs
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Updates GUI to reflect lst
+#***********************************************************************
+proc ListToSetupGui { w lst } {
+ global OPTS
+ foreach {key value} $lst {
+ switch -exact -- $key {
+ ConnectionName {
+ catch {
+ $w.conName delete 0 end
+ $w.conName insert end $value
+ }
+ catch {
+ $w.conName configure -text $value
+ }
+ }
+ UserName {
+ $w.user delete 0 end
+ $w.user insert end $value
+ }
+ NetworkName {
+ $w.network delete 0 end
+ $w.network insert end $value
+ }
+ Password {
+ $w.pass delete 0 end
+ $w.pass insert end $value
+ }
+ Interface {
+ $w.ifname delete 0 end
+ $w.ifname insert end $value
+ }
+ DNSType {
+ SetDNSOption $w $value
+ }
+ DNS1 {
+ set oldstate [$w.dns1 cget -state]
+ $w.dns1 configure -state normal
+ $w.dns1 delete 0 end
+ $w.dns1 insert end $value
+ $w.dns1 configure -state $oldstate
+ }
+ DNS2 {
+ set oldstate [$w.dns2 cget -state]
+ $w.dns2 configure -state normal
+ $w.dns2 delete 0 end
+ $w.dns2 insert end $value
+ $w.dns2 configure -state $oldstate
+ }
+ NonrootOK {
+ set OPTS(nonroot) $value
+ }
+ Sync {
+ set OPTS(sync) $value
+ }
+ FirewallType {
+ $w.fw configure -text $value
+ }
+ ServiceName {
+ $w.servicename delete 0 end
+ $w.servicename insert end $value
+ }
+ ACName {
+ $w.acname delete 0 end
+ $w.acname insert end $value
+ }
+ }
+ }
+}
+
+proc NewPPPoEConnectionOK { name w } {
+ if {[catch {set conn [SetupGuiToList $w]} err]} {
+ tk_dialog .err "Invalid Parameters" "$err" error 0 OK
+ return
+ }
+ if {"$name" == ""} {
+ set name [value $conn ConnectionName]
+ set tmp [GetConnection $name]
+ if {"$tmp" != ""} {
+ tk_dialog .err "Connection Exists" "The connection `$name' already exists. Pick another name." error 0 OK
+ return
+ }
+ }
+ ReplaceConnection $conn
+ SaveConnectionInfo
+ BuildConnectionMenu
+ SwitchConnection $name
+ destroy $w
+}
+
+proc SaveConnectionInfo {} {
+ global ConnectionInfo ConnectionInfoFile PasswordFile
+ set fp [open "$ConnectionInfoFile.new" "w"]
+ puts $fp "# RP-PPPoE GUI Configuration Information."
+ puts $fp "# This file may *look* human-editable, but it is NOT."
+ puts $fp "# So, you with the text editor: Keep away from this file."
+ puts $fp "#"
+ set expunged {}
+ set passwords {}
+ foreach thing $ConnectionInfo {
+ set name [value $thing ConnectionName]
+ set password [value $thing Password]
+ set pwindex [lsearch -exact $thing Password]
+ set safe [lreplace $thing $pwindex [expr $pwindex+1]]
+ set pwd [list ConnectionName $name Password $password]
+ lappend expunged $safe
+ lappend passwords $pwd
+ }
+ puts $fp $expunged
+ close $fp
+ set fp [open "$PasswordFile.new" "w"]
+ exec chmod 600 "$PasswordFile.new"
+ puts $fp "# RP-PPPoE GUI Configuration Information."
+ puts $fp "# This file may *look* human-editable, but it is NOT."
+ puts $fp "# So, you with the text editor: Keep away from this file."
+ puts $fp "#"
+ puts $fp $passwords
+ close $fp
+ file rename -force "$ConnectionInfoFile.new" "$ConnectionInfoFile"
+ file rename -force "$PasswordFile.new" "$PasswordFile"
+
+ # Generate config files for adsl-start for each connection
+ foreach thing $ConnectionInfo {
+ GenerateConfigFile $thing
+ }
+
+ # Now update /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
+ foreach thing $ConnectionInfo {
+ GenerateSecretsEntry $thing
+ }
+}
+
+#***********************************************************************
+# %PROCEDURE: ReadShellEscapedWord
+# %ARGUMENTS:
+# str -- a string
+# %RETURNS:
+# A two-element list -- the first element is a shell-escaped word
+# extracted from $str, just the way pppd parses /etc/ppp/pap-secrets.
+# The second element is the remaining portion of $str
+#***********************************************************************
+proc ReadShellEscapedWord { str } {
+ set ans {}
+ set rest $str
+
+ # Chew up leading spaces
+ set rest [string trimleft $rest]
+
+ # If first char is a quote, read until a quote
+ if {"[string index $rest 0]" == "\""} {
+ set rest [string range $rest 1 end]
+ set nextquote [string first "\"" $rest]
+ # If no following quote, pretend we haven't seen a quote, I guess.
+ if {$nextquote >= 0} {
+ set ans [string range $rest 0 [expr $nextquote-1]]
+ set rest [string range $rest [expr $nextquote+1] end]
+ return [list $ans $rest]
+ }
+ }
+
+ # Not a quote; chew through the string until an unescaped space
+ while {[string length $rest] > 0} {
+ set char [string index $rest 0]
+ set rest [string range $rest 1 end]
+ # Sneaky test for whitespace in Tcl 8.0
+ if {"[string trim $char]" == ""} {
+ return [list $ans $rest]
+ }
+ if {"$char" == "\\"} {
+ set char [string index $rest 0]
+ set rest [string range $rest 1 end]
+ }
+ append ans $char
+ }
+ return [list $ans $rest]
+}
+
+
+#***********************************************************************
+# %PROCEDURE: GenerateSecretsEntry
+# %ARGUMENTS:
+# conn -- a connection key/value list
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Adds entries to /etc/ppp/pap-secrets and /etc/ppp/chap-secrets.
+#***********************************************************************
+proc GenerateSecretsEntry { conn } {
+ set user [value $conn UserName]
+ set net [value $conn NetworkName]
+ set password [value $conn Password]
+ if {"$net" != ""} {
+ set user "$user@$net"
+ }
+ GenerateSecretsEntryForFile $user $password "/etc/ppp/pap-secrets"
+ GenerateSecretsEntryForFile $user $password "/etc/ppp/chap-secrets"
+}
+
+#***********************************************************************
+# %PROCEDURE: GenerateSecretsEntryForFile
+# %ARGUMENTS:
+# user -- user name
+# password -- password
+# fname -- file to add entry to.
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Adds entries to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets.
+#***********************************************************************
+proc GenerateSecretsEntryForFile { user password fname } {
+ # Copy $fname to $fname.new
+ set out [open "$fname.new" "w"]
+ exec chmod go-rwx "$fname.new"
+ if {[file exists $fname]} {
+ set in [open $fname "r"]
+ while {[gets $in line] >= 0} {
+ set trimmed [string trim $line]
+ if {"$trimmed" == ""} {
+ puts $out $line
+ continue
+ }
+ if {[string match "#*" $trimmed]} {
+ puts $out $line
+ continue
+ }
+
+ # Read the user name off the line; copy it unless it's our
+ # user name.
+ foreach {word dummy} [ReadShellEscapedWord $line] {break}
+ if {$word != $user} {
+ puts $out $line
+ }
+ }
+ close $in
+ }
+
+ # Now add our line
+ set user [ShellEscape $user]
+ set password [ShellEscape $password]
+ puts $out "$user\t*\t$password\t*"
+ close $out
+ file rename -force $fname.new $fname
+}
+
+#***********************************************************************
+# %PROCEDURE: ShellEscape
+# %ARGUMENTS:
+# str
+# %RETURNS:
+# A version of $str with shell meta-characters escaped
+#***********************************************************************
+proc ShellEscape { str } {
+ set ans ""
+ foreach char [split $str ""] {
+ if {[string first $char "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_+=-@./"] >= 0} {
+ append ans $char
+ } else {
+ append ans "\\$char"
+ }
+ }
+ return $ans
+}
+
+
+#***********************************************************************
+# %PROCEDURE: GenerateConfigFile
+# %ARGUMENTS:
+# conn -- a connection key/value list
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Generates a configuration file for adsl-start and friends under
+# /etc/ppp/rp-pppoe-gui
+#***********************************************************************
+proc GenerateConfigFile { conn } {
+ global ConfigDir
+ set name [value $conn ConnectionName]
+ set fname [file join $ConfigDir conf.$name]
+ set fp [open "$fname.new" w]
+ puts $fp "# Configuration file for connection `$name'."
+ puts $fp "# Automatically generated. Do not edit by hand."
+ puts $fp ""
+ foreach {var val} $conn {
+ switch -exact $var {
+ UserName {
+ set net [value $conn NetworkName]
+ if {"$net" != ""} {
+ set user "$val@$net"
+ } else {
+ set user "$val"
+ }
+ puts $fp [ShellEscape "USER=$user"]
+ }
+ Interface {
+ puts $fp [ShellEscape "ETH=$val"]
+ }
+ DNSType {
+ if {"$val" == "From Server"} {
+ puts $fp "DNSTYPE=SERVER"
+ puts $fp "USEPEERDNS=yes"
+ } elseif {"$val" == "Specify"} {
+ puts $fp "DNSTYPE=SPECIFY"
+ puts $fp "USEPEERDNS=no"
+ } else {
+ puts $fp "DNSTYPE=NOCHANGE"
+ puts $fp "USEPEERDNS=no"
+ }
+ }
+ DNS1 {
+ puts $fp [ShellEscape "DNS1=$val"]
+ }
+ DNS2 {
+ puts $fp [ShellEscape "DNS2=$val"]
+ }
+ NonrootOK {
+ if {$val} {
+ puts $fp "NONROOT=OK"
+ }
+ }
+ ACName {
+ puts $fp [ShellEscape "ACNAME=$val"]
+ }
+ ServiceName {
+ puts $fp [ShellEscape "SERVICENAME=$val"]
+ }
+ FirewallType {
+ if {"$val" == "None"} {
+ puts $fp "FIREWALL=NONE"
+ } elseif {"$val" == "Masquerading"} {
+ puts $fp "FIREWALL=MASQUERADE"
+ } else {
+ puts $fp "FIREWALL=STANDALONE"
+ }
+ }
+ Sync {
+ if {$val} {
+ puts $fp "SYNCHRONOUS=yes"
+ } else {
+ puts $fp "SYNCHRONOUS=no"
+ }
+ }
+ }
+ }
+ puts $fp "CONNECT_TIMEOUT=30"
+ puts $fp "CONNECT_POLL=1"
+ puts $fp "FORCEPING=\".\""
+ puts $fp "PIDFILE=/var/run/adsl-$name.pid"
+ puts $fp "CLAMPMSS=1412"
+ puts $fp "LCP_INTERVAL=20"
+ puts $fp "LCP_FAILURE=3"
+ puts $fp "PPPOE_TIMEOUT=80"
+ puts $fp "LINUX_PLUGIN="
+ puts $fp "DEMAND=no"
+ close $fp
+ file rename -force "$fname.new" "$fname"
+}
+
+#***********************************************************************
+# %PROCEDURE: GetConnectionStatus
+# %ARGUMENTS:
+# conn -- connection name
+# %RETURNS:
+# A three-element list:
+# {started/stopped up/down if}
+# If first element is "started", then connection has been started.
+# If second element is "up", then connection is up.
+# If connection is up, third element is PPP interface.
+#***********************************************************************
+proc GetConnectionStatus { conn } {
+ set pidfile "/var/run/adsl-$conn.pid"
+
+ # Check for PID file
+ if {![file readable $pidfile]} {
+ return {stopped down ""}
+ }
+ set fp [open $pidfile "r"]
+ gets $fp pid
+ close $fp
+
+ # Check if process is dead
+ if {![file exists "/proc/$pid"]} {
+ # The pppd might still be running... doh...
+ if {![file readable "$pidfile.pppd"]} {
+ return {stopped down ""}
+ }
+ set fp [open "$pidfile.pppd" "r"]
+ gets $fp pid
+ close $fp
+ if {![file exists "/proc/$pid"]} {
+ return {stopped down ""}
+ }
+ }
+
+ # Now get PID of pppd
+ if {![file readable "$pidfile.pppd"]} {
+ return {started down ""}
+ }
+ set fp [open "$pidfile.pppd" "r"]
+ gets $fp pid
+ close $fp
+
+ # Find interface to which it corresponds
+ set pppdfiles [glob -nocomplain "/var/run/ppp*.pid"]
+ set found {}
+ foreach file $pppdfiles {
+ set fp [open $file "r"]
+ gets $fp ifpid
+ close $fp
+ if {$ifpid == $pid} {
+ set found [file rootname [file tail $file]]
+ break
+ }
+ }
+ if {"$found" == ""} {
+ return {started down ""}
+ }
+ return [list started up $found]
+}
+
+#***********************************************************************
+# %PROCEDURE: UpdateConnectionState
+# %ARGUMENTS:
+# fromAfter -- if 1, was called from an "after" callback.
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Updates the "LED" displays; periodically reschedules itself to keep
+# updating display.
+#***********************************************************************
+proc UpdateConnectionState {{fromAfter 1}} {
+ global UpdateToken
+ global Packets
+ global Bytes
+ global UpdateInterval
+ global MeasureTime
+ if {$fromAfter} {
+ set UpdateToken ""
+ }
+
+ set conn [GetCurrentConnection]
+ if {"$conn" == ""} {
+ ConnectionStateOff
+ ResetGraph
+ if {"$UpdateToken" != ""} {
+ after cancel $UpdateToken
+ set UpdateToken {}
+ }
+ return
+ }
+
+ foreach {startstop updown interface} [GetConnectionStatus $conn] {break}
+ if {"$startstop" == "stopped"} {
+ ConnectionStateOff
+ ResetGraph
+ } elseif {"$updown" == "down"} {
+ ConnectionStateDown
+ ResetGraph
+ } else {
+ # Get the packet counts
+ set found 0
+ set fp [open "/proc/net/dev" "r"]
+ while {[gets $fp line] >= 0} {
+ if {![string match "*$interface:*" $line]} {
+ continue
+ }
+ set colon [string first ":" $line]
+ if {$colon < 0} {
+ continue
+ }
+ set line [string range $line [expr $colon+1] end]
+ set found 1
+ set MeasureTime [clock seconds]
+ break
+ }
+ close $fp
+ if {$found} {
+ foreach {rbytes rpacks rerrs rdrop rfifo rframe rcomp rmulti tbytes tpacks} $line {break}
+ if {!$fromAfter} {
+ set Packets(in) $rpacks
+ set Packets(out) $tpacks
+ set Bytes(in) $rbytes
+ set Bytes(out) $tbytes
+ ConnectionStateUp
+ ResetGraph
+ } else {
+ if {$rpacks != $Packets(in)} {
+ ConnectionReceiveActive
+ } else {
+ ConnectionReceiveUp
+ }
+ if {$tpacks != $Packets(out)} {
+ ConnectionTransmitActive
+ } else {
+ ConnectionTransmitUp
+ }
+ set Packets(in) $rpacks
+ set Packets(out) $tpacks
+ set Bytes(in) $rbytes
+ set Bytes(out) $tbytes
+ UpdateGraph
+ }
+ } else {
+ ConnectionStateUp
+ ResetGraph
+ }
+ }
+ if {"$UpdateToken" == ""} {
+ set UpdateToken [after $UpdateInterval UpdateConnectionState]
+ }
+ if {$fromAfter} {
+ SetButtonStates
+ }
+}
+
+proc ConnectionStateOff {} {
+ .c itemconfigure xmitrect -fill "#A0A0A0"
+ .c itemconfigure recvrect -fill "#A0A0A0"
+}
+
+proc ConnectionStateDown {} {
+ .c itemconfigure xmitrect -fill "#A00000"
+ .c itemconfigure recvrect -fill "#A00000"
+}
+
+proc ConnectionStateUp {} {
+ .c itemconfigure xmitrect -fill "#00D000"
+ .c itemconfigure recvrect -fill "#00D000"
+}
+
+proc ConnectionTransmitActive {} {
+ .c itemconfigure xmitrect -fill "#FFFF00"
+}
+
+proc ConnectionTransmitUp {} {
+ .c itemconfigure xmitrect -fill "#00D000"
+}
+
+proc ConnectionReceiveActive {} {
+ .c itemconfigure recvrect -fill "#FFFF00"
+}
+
+proc ConnectionReceiveUp {} {
+ .c itemconfigure recvrect -fill "#00D000"
+}
+
+proc ResetGraph {} {
+ global GraphPoints
+ set GraphPoints(in) {}
+ set GraphPoints(out) {}
+ set GraphPoints(times) {}
+ .graph delete all
+ UpdateGraph
+}
+
+proc UpdateGraph {} {
+ global GraphPoints Bytes UpdateInterval MeasureTime
+ lappend GraphPoints(times) $MeasureTime
+ lappend GraphPoints(in) $Bytes(in)
+ lappend GraphPoints(out) $Bytes(out)
+
+ set w [winfo width .graph]
+ set w2 [expr $w/2]
+
+ set h [winfo height .graph]
+ set toChop [expr [llength $GraphPoints(in)] - $w2 - 1]
+ if {$toChop > 0} {
+ set GraphPoints(in) [lrange $GraphPoints(in) $toChop end]
+ }
+ set toChop [expr [llength $GraphPoints(out)] - $w2 - 1]
+ if {$toChop > 0} {
+ set GraphPoints(out) [lrange $GraphPoints(out) $toChop end]
+ }
+ set toChop [expr [llength $GraphPoints(times)] - $w2 - 1]
+ if {$toChop > 0} {
+ set GraphPoints(times) [lrange $GraphPoints(times) $toChop end]
+ }
+
+ set prev [lindex $GraphPoints(in) 0]
+ set incoords {}
+ set outcoords {}
+ set inmax 0
+ set outmax 0
+ foreach thing [lrange $GraphPoints(in) 1 end] {
+ set diff [expr $thing - $prev]
+ set prev $thing
+ lappend incoords $diff
+ if {$diff > $inmax} {
+ set inmax $diff
+ }
+ }
+
+ set prev [lindex $GraphPoints(out) 0]
+ foreach thing [lrange $GraphPoints(out) 1 end] {
+ set diff [expr $thing - $prev]
+ set prev $thing
+ lappend outcoords $diff
+ if {$diff > $outmax} {
+ set outmax $diff
+ }
+ }
+
+ if {$inmax == 0} { set inmax 1 }
+ if {$outmax == 0} { set outmax 1 }
+ # Draw the transmit line
+ set x 0
+ set hh [expr $h-4]
+ set scaled {}
+ foreach thing $outcoords {
+ lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($outmax))]
+ incr x
+ }
+
+ .graph delete all
+ if {[llength $scaled] >= 4} {
+ eval ".graph create line $scaled -fill #A00000"
+ set bits [expr 8.0 * ([lindex $GraphPoints(out) end] - [lindex $GraphPoints(out) 0])]
+ set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
+ if {$timediff != 0} {
+ set bps [Pretty [expr double($bits) / $timediff]]
+ .graph create text 2 2 -anchor nw -font fixed -text "$bps"
+ }
+ }
+
+ # Draw the receive line
+ set x $w2
+ set scaled {}
+ foreach thing $incoords {
+ lappend scaled $x [expr double($h) - 2 - (double($hh) * double($thing) / double($inmax))]
+ incr x
+ }
+
+ if {[llength $scaled] >= 4} {
+ eval ".graph create line $scaled -fill #00A000"
+ set bits [expr 8.0 * ([lindex $GraphPoints(in) end] - [lindex $GraphPoints(in) 0])]
+ set timediff [expr [lindex $GraphPoints(times) end] - [lindex $GraphPoints(times) 0]]
+ if {$timediff != 0} {
+ set bps [Pretty [expr double($bits) / $timediff]]
+ .graph create text [expr $w2+2] 2 -anchor nw -font fixed -text "$bps"
+ }
+ }
+}
+
+proc Pretty { n } {
+ if {$n < 0} {
+ return "***"
+ }
+ if {$n < 1000} {
+ return [format "%.1f" $n]
+ }
+ set n [expr $n/1000.0]
+ if {$n < 1000} {
+ return [format "%.1fk" $n]
+ }
+ set n [expr $n/1000.0]
+ if {$n < 1000} {
+ return [format "%.1fM" $n]
+ }
+ set n [expr $n/1000.0]
+ return [format "%.1fG" $n]
+}
+
+#***********************************************************************
+# %PROCEDURE: Help
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Opens help page
+#***********************************************************************
+proc Help {} {
+ if {![file readable /usr/share/rp-pppoe-gui/tkpppoe.html]} {
+ tk_dialog .err Error "Help file '/usr/share/rp-pppoe-gui/tkpppoe.html' is not installed" error 0 OK
+ return
+ }
+ catch { exec /bin/sh -c "netscape -remote 'openURL(/usr/share/rp-pppoe-gui/tkpppoe.html)' || netscape /usr/share/rp-pppoe-gui/tkpppoe.html" > /dev/null 2>/dev/null & }
+}
+
+
+
+#***********************************************************************
+# %PROCEDURE: doLogo
+# %ARGUMENTS:
+# None
+# %RETURNS:
+# Nothing
+# %DESCRIPTION:
+# Does the logo thing
+#***********************************************************************
+proc doLogo {} {
+ global AlreadyRunFile ConfigDir
+ if {[file exists $AlreadyRunFile]} {
+ return
+ }
+ catch { file mkdir $ConfigDir }
+ catch { close [open $AlreadyRunFile "w"] }
+ canvas .c -width 374 -height 286 -bg #FFFFCC
+ pack .c
+ drawLogo .c #FFFFCC
+
+ # Funky effect
+ .c create text 4 4 -anchor nw -text "Welcome to RP-PPPoE" \
+ -fill red -font {-family times -size -24 -weight bold} -tags pppoe
+ .c lower pppoe
+
+ .c move logo -300 0
+
+ update idletasks
+
+ for {set i 0} {$i < 15} {incr i} {
+ .c move logo 20 0
+ update idletasks
+ after 25
+ }
+
+ .c create text 4 28 -anchor nw -text "http://www.roaringpenguin.com" \
+ -fill red -font {-family courier -size -14 -weight bold}
+ update idletasks
+ after 2500
+}
+
+doLogo
+catch { destroy .c }
+
+# Try creating an empty config file if none exists
+if {![file readable $ConnectionInfoFile]} {
+ catch { file mkdir $ConfigDir }
+ catch {
+ set fp [open $ConnectionInfoFile "w"]
+ close $fp
+ }
+}
+
+CreateMainDialog
diff --git a/mdk-stage1/rp-pppoe/gui/wrapper.c b/mdk-stage1/rp-pppoe/gui/wrapper.c
new file mode 100644
index 000000000..d9fb48621
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/gui/wrapper.c
@@ -0,0 +1,234 @@
+/* -*-Mode: C;-*- */
+
+/***********************************************************************
+*
+* wrapper.c
+*
+* C wrapper designed to run SUID root for controlling PPPoE connections.
+*
+* Copyright (C) 2001 by Roaring Penguin Software Inc.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: wrapper.c 6005 2001-06-11 13:49:39Z gc $";
+
+#define _SVID_SOURCE 1 /* For putenv */
+#define _POSIX_SOURCE 1 /* For fileno */
+#define _BSD_SOURCE 1 /* For setreuid */
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#define CONN_NAME_LEN 64
+#define LINELEN 512
+
+static char const *adsl_start = ADSL_START_PATH;
+static char const *adsl_stop = ADSL_STOP_PATH;
+static char const *adsl_status = ADSL_STATUS_PATH;
+
+/**********************************************************************
+ *%FUNCTION: PathOK
+ *%ARGUMENTS:
+ * fname -- a file name.
+ *%RETURNS:
+ * 1 if path to fname is secure; 0 otherwise.
+ *%DESCRIPTION:
+ * Makes sure ownership/permissions of file and parent directories
+ * are safe.
+ **********************************************************************/
+static int
+PathOK(char const *fname)
+{
+ char path[LINELEN];
+ struct stat buf;
+ char const *slash;
+
+ if (strlen(fname) > LINELEN) {
+ fprintf(stderr, "Pathname '%s' too long\n", fname);
+ return 0;
+ }
+
+ /* Must be absolute path */
+ if (*fname != '/') {
+ fprintf(stderr, "Unsafe path '%s' not absolute\n", fname);
+ return 0;
+ }
+
+ /* Check root directory */
+ if (stat("/", &buf) < 0) {
+ perror("stat");
+ return 0;
+ }
+ if (buf.st_uid) {
+ fprintf(stderr, "SECURITY ALERT: Root directory (/) not owned by root\n");
+ return 0;
+ }
+ if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
+ fprintf(stderr, "SECURITY ALERT: Root directory (/) writable by group or other\n");
+ return 0;
+ }
+
+ /* Check each component */
+ slash = fname;
+
+ while(*slash) {
+ slash = strchr(slash+1, '/');
+ if (!slash) {
+ slash = fname + strlen(fname);
+ }
+ memcpy(path, fname, slash-fname);
+ path[slash-fname] = 0;
+ if (stat(path, &buf) < 0) {
+ perror("stat");
+ return 0;
+ }
+ if (buf.st_uid) {
+ fprintf(stderr, "SECURITY ALERT: '%s' not owned by root\n", path);
+ return 0;
+ }
+
+ if (buf.st_mode & (S_IWGRP | S_IWOTH)) {
+ fprintf(stderr, "SECURITY ALERT: '%s' writable by group or other\n",
+ path);
+ return 0;
+ }
+ }
+ return 1;
+}
+
+/**********************************************************************
+ *%FUNCTION: CleanEnvironment
+ *%ARGUMENTS:
+ * envp -- environment passed to main
+ *%RETURNS:
+ * Nothing
+ *%DESCRIPTION:
+ * Deletes all environment variables; makes safe environment
+ **********************************************************************/
+static void
+CleanEnvironment(char *envp[])
+{
+ envp[0] = NULL;
+ putenv("PATH=/bin:/usr/bin:/sbin:/usr/sbin");
+}
+
+/**********************************************************************
+ *%FUNCTION: main
+ *%ARGUMENTS:
+ * argc, argv -- usual suspects
+ * Usage: pppoe-wrapper {start|stop|status} {connection_name}
+ *%RETURNS:
+ * Whatever adsl-start, adsl-stop or adsl-status returns.
+ *%DESCRIPTION:
+ * Runs adsl-start, adsl-stop or adsl-status on given connection if
+ * non-root users are allowed to do it.
+ **********************************************************************/
+int
+main(int argc, char *argv[])
+{
+ int amRoot;
+ char *cp;
+ char fname[64+CONN_NAME_LEN];
+ char line[LINELEN+1];
+ int allowed = 0;
+
+ FILE *fp;
+
+ extern char **environ;
+
+ /* Clean out environment */
+ CleanEnvironment(environ);
+
+ /* Are we root? */
+ amRoot = (getuid() == 0);
+
+ /* Validate arguments */
+ if (argc != 3) {
+ fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
+ argv[0]);
+ exit(1);
+ }
+
+ if (strcmp(argv[1], "start") &&
+ strcmp(argv[1], "stop") &&
+ strcmp(argv[1], "status")) {
+ fprintf(stderr, "Usage: %s {start|stop|status} connection_name\n",
+ argv[0]);
+ exit(1);
+ }
+
+ /* Connection name can be at most CONN_NAME_LEN chars; alpha, num, underscore */
+ if (strlen(argv[2]) > CONN_NAME_LEN) {
+ fprintf(stderr, "%s: Connection name '%s' too long.\n",
+ argv[0], argv[2]);
+ exit(1);
+ }
+
+ for (cp = argv[2]; *cp; cp++) {
+ if (!strchr("abcdefghijklmnopqrstuvwxyz"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "0123456789_-", *cp)) {
+ fprintf(stderr, "%s: Connection name '%s' contains illegal character '%c'\n", argv[0], argv[2], *cp);
+ exit(1);
+ }
+ }
+
+ /* Open the connection file */
+ sprintf(fname, "/etc/ppp/rp-pppoe-gui/conf.%s", argv[2]);
+ /* Check path sanity */
+ if (!PathOK(fname)) {
+ exit(1);
+ }
+
+ fp = fopen(fname, "r");
+ if (!fp) {
+ fprintf(stderr, "%s: Could not open '%s': %s\n",
+ argv[0], fname, strerror(errno));
+ exit(1);
+ }
+
+ /* Check if non-root users can control it */
+ if (amRoot) {
+ allowed = 1;
+ } else {
+ while (!feof(fp)) {
+ if (!fgets(line, LINELEN, fp)) {
+ break;
+ }
+ if (!strcmp(line, "NONROOT=OK\n")) {
+ allowed = 1;
+ break;
+ }
+ }
+ }
+ fclose(fp);
+
+ if (!allowed) {
+ fprintf(stderr, "%s: Non-root users are not permitted to control connection '%s'\n", argv[0], argv[2]);
+ exit(1);
+ }
+
+ /* Become root with setuid() to defeat is-root checks in shell scripts */
+ if (setreuid(0, 0) < 0) {
+ perror("setreuid");
+ exit(1);
+ }
+
+ /* It's OK -- do it. */
+ if (!strcmp(argv[1], "start")) {
+ if (!PathOK(adsl_start)) exit(1);
+ execl(adsl_start, "adsl-start", fname, NULL);
+ } else if (!strcmp(argv[1], "stop")) {
+ if (!PathOK(adsl_stop)) exit(1);
+ execl(adsl_stop, "adsl-stop", fname, NULL);
+ } else {
+ if (!PathOK(adsl_status)) exit(1);
+ execl(adsl_status, "adsl-status", fname, NULL);
+ }
+ fprintf(stderr, "%s: execl: %s\n", argv[0], strerror(errno));
+ exit(1);
+}
diff --git a/mdk-stage1/rp-pppoe/man/adsl-connect.8 b/mdk-stage1/rp-pppoe/man/adsl-connect.8
new file mode 100644
index 000000000..5fe1d934e
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/adsl-connect.8
@@ -0,0 +1,66 @@
+.\" $Id: adsl-connect.8 6005 2001-06-11 13:49:39Z gc $
+.TH ADSL-CONNECT 8 "21 February 2000"
+.UC 4
+.SH NAME
+adsl-connect \- Shell script to manage a PPPoE link
+
+.SH SYNOPSIS
+.B adsl-connect \fR[\fIconfig_file\fR]
+.P
+.B adsl-connect \fR\fIinterface user\fR [\fIconfig_file\fR]
+
+
+.SH DESCRIPTION
+\fBadsl-connect\fR is a shell script which manages an ADSL connection
+using the Roaring Penguin user-space PPPoE client. If you omit
+\fIconfig_file\fR, the default file \fB/etc/ppp/pppoe.conf\fR is used.
+If you supply \fIinterface\fR and \fIuser\fR, then they override the
+Ethernet interface and user-name settings in the configuration file.
+.P
+Note that normally, you should \fInot\fR invoke \fBadsl-connect\fR
+directly. Instead, use \fBadsl-start\fR to bring up the ADSL connection.
+.P
+\fBadsl-connect\fR first reads a configuration file. It then brings
+up a PPPoE connection. If the connection ever drops, a message is logged
+to syslog, and \fBadsl-connect\fR re-establishes the connection. In addition,
+each time the connection is dropped or cannot be established,
+\fBadsl-connect\fR executes the script \fB/etc/ppp/adsl-lost\fR if it
+exists and is executable.
+
+.P
+The shell script \fBadsl-stop\fR causes \fBadsl-connect\fR to break out
+of its loop, bring the connection down, and exit.
+
+.SH TECHNICAL DETAILS
+\fBadsl-connect\fR uses the following shell variables from the
+configuration file:
+
+.TP
+.B ETH
+The Ethernet interface connected to the ADSL modem (for example, eth0).
+
+.TP
+.B USER
+The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
+
+.TP
+.B PIDFILE
+A file in which to write the process-ID of the adsl-connect process
+(for example, \fB/var/run/pppoe.pid\fR). Two additional files
+($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
+\fBpppd\fR and \fBpppoe\fR processes, respectively.
+
+.P
+By using different configuration files with different PIDFILE
+settings, you can manage multiple PPPoE connections. Just specify the
+configuration file as an argument to \fBadsl-start\fR and
+\fBadsl-stop\fR.
+
+.SH AUTHOR
+\fBadsl-connect\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-start(8), adsl-stop(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/adsl-setup.8 b/mdk-stage1/rp-pppoe/man/adsl-setup.8
new file mode 100644
index 000000000..f102356a5
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/adsl-setup.8
@@ -0,0 +1,23 @@
+.\" $Id: adsl-setup.8 6005 2001-06-11 13:49:39Z gc $
+.TH ADSL-SETUP 8 "21 February 2000"
+.UC 4
+.SH NAME
+adsl-setup \- Shell script to configure Roaring Penguin PPPoE client
+.SH SYNOPSIS
+.B adsl-setup
+
+.SH DESCRIPTION
+\fBadsl-setup\fR is a shell script which prompts you for various pieces
+of information and sets up an /etc/ppp/pppoe.conf configuration script
+for the \fBadsl-start\fR, \fBadsl-stop\fR and \fBadsl-connect\fR scripts.
+
+.SH AUTHOR
+\fBadsl-setup\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8),
+pppoe.conf(5), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
+pppoe-server(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/adsl-start.8 b/mdk-stage1/rp-pppoe/man/adsl-start.8
new file mode 100644
index 000000000..5f61d050d
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/adsl-start.8
@@ -0,0 +1,27 @@
+.\" $Id: adsl-start.8 6005 2001-06-11 13:49:39Z gc $
+.TH ADSL-START 8 "21 February 2000"
+.UC 4
+.SH NAME
+adsl-start \- Shell script to bring up a PPPoE link
+.SH SYNOPSIS
+.B adsl-start \fR[\fIconfig_file\fR]
+.P
+.B adsl-start \fR\fIinterface user\fR [\fIconfig_file\fR]
+
+.SH DESCRIPTION
+\fBadsl-start\fR is a shell script which starts the Roaring Penguin
+user-space PPPoE client. If you omit \fIconfig_file\fR, the default
+file \fB/etc/ppp/pppoe.conf\fR is used. If you supply
+\fIinterface\fR and \fIuser\fR, then they override the Ethernet interface
+and user-name settings in the configuration file.
+
+.SH AUTHOR
+\fBadsl-start\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
+adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8),
+pppoe-server(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/adsl-status.8 b/mdk-stage1/rp-pppoe/man/adsl-status.8
new file mode 100644
index 000000000..08c34a786
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/adsl-status.8
@@ -0,0 +1,25 @@
+.\" $Id: adsl-status.8 6005 2001-06-11 13:49:39Z gc $
+.TH ADSL-STATUS 8 "16 March 2000"
+.UC 4
+.SH NAME
+adsl-status \- Shell script to report on status of PPPoE link
+.SH SYNOPSIS
+.B adsl-status \fR[\fIconfig_file\fR]
+
+.SH DESCRIPTION
+\fBadsl-status\fR is a shell script which checks the status of the
+PPPoE link established by the Roaring Penguin user-space PPPoE client.
+If you omit \fIconfig_file\fR, the default file
+\fB/etc/ppp/pppoe.conf\fR is used.
+
+.SH AUTHOR
+\fBadsl-status\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5),
+adsl-setup(8), adsl-stop(8), pppoe-sniff(8), pppoe-relay(8),
+pppoe-server(8)
+
+
diff --git a/mdk-stage1/rp-pppoe/man/adsl-stop.8 b/mdk-stage1/rp-pppoe/man/adsl-stop.8
new file mode 100644
index 000000000..3f7207af5
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/adsl-stop.8
@@ -0,0 +1,21 @@
+.\" $Id: adsl-stop.8 6005 2001-06-11 13:49:39Z gc $
+.TH ADSL-STOP 8 "21 February 2000"
+.UC 4
+.SH NAME
+adsl-stop \- Shell script to shut down a PPPoE link
+.SH SYNOPSIS
+.B adsl-stop \fR[\fIconfig_file\fR]
+
+.SH DESCRIPTION
+\fBadsl-stop\fR is a shell script which stops the Roaring Penguin
+user-space PPPoE client. If you omit \fIconfig_file\fR, the default
+file \fB/etc/ppp/pppoe.conf\fR is used.
+
+.SH AUTHOR
+\fBadsl-stop\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-start(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8), pppoe-server(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-relay.8 b/mdk-stage1/rp-pppoe/man/pppoe-relay.8
new file mode 100644
index 000000000..26098c81f
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/pppoe-relay.8
@@ -0,0 +1,124 @@
+.\" $Id: pppoe-relay.8 6005 2001-06-11 13:49:39Z gc $
+.TH PPPOE-RELAY 8 "26 January 2001"
+.\""
+.UC 4
+.SH NAME
+pppoe-relay \- user-space PPPoE relay agent.
+.SH SYNOPSIS
+.B pppoe-relay \fR[\fIoptions\fR]
+
+.SH DESCRIPTION
+\fBpppoe-relay\fR is a user-space relay agent for PPPoE
+(Point-to-Point Protocol over Ethernet) for Linux. \fBpppoe-relay\fR
+works in concert with the \fBpppoe\fR client and \fBpppoe-server\fR
+server. See the OPERATION section later in this manual for
+details on how \fBpppoe-relay\fR works.
+
+.SH OPTIONS
+.TP
+.B \-S \fIinterface\fR
+Adds the Ethernet interface \fIinterface\fR to the list of interfaces
+managed by \fBpppoe-relay\fR. Only PPPoE servers may be connected to
+this interface.
+
+.TP
+.B \-C \fIinterface\fR
+Adds the Ethernet interface \fIinterface\fR to the list of interfaces
+managed by \fBpppoe-relay\fR. Only PPPoE clients may be connected to
+this interface.
+
+.TP
+.B \-B \fIinterface\fR
+Adds the Ethernet interface \fIinterface\fR to the list of interfaces
+managed by \fBpppoe-relay\fR. Both PPPoE clients and servers may be
+connected to this interface.
+
+.TP
+.B \-n \fInum\fR
+Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
+the default is 5000. \fInum\fR can range from 1 to 65534.
+
+.TP
+.B \-i \fItimeout\fR
+Specifies the session idle timeout. If both peers in a session are idle
+for more than \fItimeout\fR seconds, the session is terminated.
+If \fItimeout\fR is specified as zero, sessions will never be terminated
+because of idleness.
+
+Note that the idle-session expiry routine is never run more frequently than
+every 30 seconds, so the timeout is approximate. The default value for
+\fItimeout\fR is 600 seconds (10 minutes.)
+
+.TP
+.B \-F
+The \fB\-F\fR option causes \fBpppoe-relay\fR \fInot\fR to fork into the
+background; instead, it remains in the foreground.
+
+.TP
+.B \-h
+The \fB\-h\fR option prints a brief usage message and exits.
+
+.SH OPERATION
+
+\fBpppoe-relay\fR listens for incoming PPPoE PADI frames on all interfaces
+specified with \fB-B\fR or \fB-C\fR options. When a PADI frame appears,
+\fBpppoe-relay\fR adds a Relay-Session-ID tag and broadcasts the PADI
+on all interfaces specified with \fB-B\fR or \fB-S\fR options (except the
+interface on which the frame arrived.)
+
+Any PADO frames received are relayed back to the client which sent the
+PADI (assuming they contain valid Relay-Session-ID tags.) Likewise,
+PADR frames from clients are relayed back to the matching access
+concentrator.
+
+When a PADS frame is received, \fBpppoe-relay\fR enters the two peers'
+MAC addresses and session-ID's into a hash table. (The session-ID seen
+by the access concentrator may be different from that seen by the client;
+\fBpppoe-relay\fR must renumber sessions to avoid the possibility of duplicate
+session-ID's.) Whenever either peer sends a session frame, \fBpppoe-relay\fR
+looks up the session entry in the hash table and relays the frame to
+the correct peer.
+
+When a PADT frame is received, \fBpppoe-relay\fR relays it to the peer
+and deletes the session entry from its hash table.
+
+If a client and server crash (or frames are lost), PADT frames may never
+be sent, and \fBpppoe-relay\fR's hash table can fill up with stale sessions.
+Therefore, a session-cleaning routine runs periodically, and removes old
+sessions from the hash table. A session is considered "old" if no traffic
+has been seen within \fItimeout\fR seconds. When a session is deleted because
+of a timeout, a PADT frame is sent to each peer to make certain that they
+are aware the session has been killed.
+
+.SH EXAMPLE INVOCATIONS
+
+.nf
+pppoe-relay -C eth0 -S eth1
+.fi
+
+The example above relays frames between PPPoE clients on the eth0 network
+and PPPoE servers on the eth1 network.
+
+.nf
+pppoe-relay -B eth0 -B eth1
+.fi
+
+This example is a transparent relay -- frames are relayed between any mix
+of clients and servers on the eth0 and eth1 networks.
+
+.nf
+pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3
+.fi
+
+This example relays frames between servers on the eth0 network and
+clients on the eth1, eth2 and eth3 networks.
+
+.SH AUTHORS
+\fBpppoe-relay\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
+pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-server.8 b/mdk-stage1/rp-pppoe/man/pppoe-server.8
new file mode 100644
index 000000000..73ab1ab02
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/pppoe-server.8
@@ -0,0 +1,123 @@
+.\" $Id: pppoe-server.8 6005 2001-06-11 13:49:39Z gc $
+.TH PPPOE-SERVER 8 "3 July 2000"
+.\""
+.UC 4
+.SH NAME
+pppoe-server \- user-space PPPoE server
+.SH SYNOPSIS
+.B pppoe-server \fR[\fIoptions\fR]
+
+.SH DESCRIPTION
+\fBpppoe-server\fR is a user-space server for PPPoE (Point-to-Point Protocol
+over Ethernet) for Linux and other UNIX systems. \fBpppoe-server\fR works in
+concert with the \fBpppoe\fR client to respond to PPPoE discovery packets
+and set up PPPoE sessions.
+
+.SH OPTIONS
+.TP
+.B \-F
+The \fB\-F\fR option causes \fBpppoe-server\fR not to fork and become a
+daemon. The default is to fork and become a daemon.
+
+.TP
+.B \-I \fIinterface\fR
+The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
+it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
+before you start \fBpppoe-server\fR, but should \fInot\fR be configured to have
+an IP address.
+
+.TP
+.B \-T \fItimeout\fR
+This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
+details.
+
+.TP
+.B \-C \fIac_name\fR
+Specifies which name to report as the access concentrator name. If not
+supplied, the host name is used.
+
+.TP
+.B \-m \fIMSS\fR
+This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
+details.
+
+.TP
+.B \-s
+This option is passed directly to \fBpppoe\fR; see \fBpppoe\fR(8) for
+details. In addition, it causes \fBpppd\fR to be invoked with the
+\fIsync\fR option.
+
+.TP
+.B \-L \fIip\fR
+Sets the local IP address. This is passed to spawned \fBpppd\fR processes.
+If not specified, the default is 10.0.0.1.
+
+.TP
+.B \-R \fIip\fR
+Sets the starting remote IP address. As sessions are established,
+IP addresses are assigned starting from \fIip\fR. \fBpppoe-server\fR
+automatically keeps track of the pool of addresses and passes a
+valid remote IP address to \fBpppd\fR. If not specified, a starting address
+of 10.67.15.1 is used.
+
+.TP
+.B \-N \fInum\fR
+Allows at most \fInum\fR concurrent PPPoE sessions. If not specified,
+the default is 64.
+
+.TP
+.B \-p \fIfname\fR
+Reads the specified file \fIfname\fR which is a text file consisting of
+one IP address per line. These IP addresses will be assigned to clients.
+The number of sessions allowed will equal the number of addresses found
+in the file. The \fB\-p\fR option overrides both \fB\-R\fR and \fB\-N\fR.
+
+.TP
+.B \-o \fIoffset\fR
+Instead of numbering PPPoE sessions starting at 1, they will be numbered
+starting at \fIoffset\fR+1. This allows you to run multiple servers on
+a given machine; just make sure that their session numbers do not
+overlap.
+
+.TP
+.B \-f disc:sess
+The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
+and session frames. The types are specified as hexadecimal numbers
+separated by a colon. Standard PPPoE uses frame types 8863:8864.
+\fIYou should not use this option\fR unless you are absolutely sure
+the peer you are dealing with uses non-standard frame types.
+
+.TP
+.B \-h
+The \fB\-h\fR option prints a brief usage message and exits.
+
+.SH OPERATION
+
+\fBpppoe-server\fR listens for incoming PPPoE discovery packets. When
+a session is established, it spawns a \fBpppd\fR process. The following
+options are passed to \fBpppd\fR:
+
+.nf
+nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp
+default-asyncmap
+.fi
+
+In addition, the local and remote IP address are set based on the
+\fB\-L\fR and \fB\-R\fR options. The \fBpty\fR option is supplied along
+with a \fBpppoe\fR command to initiate the PPPoE session. Finally,
+additional \fBpppd\fR options can be placed in the file
+\fB/etc/ppp/pppoe-server-options\fR (which must exist, even if it is just
+empty!)
+
+Note that \fBpppoe-server\fR is meant mainly for testing PPPoE clients.
+It is \fInot\fR a high-performance server meant for production use.
+
+.SH AUTHORS
+\fBpppoe-server\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
+pppoe(8), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-relay(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/pppoe-sniff.8 b/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
new file mode 100644
index 000000000..906166a7f
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/pppoe-sniff.8
@@ -0,0 +1,77 @@
+.\" $Id: pppoe-sniff.8 6005 2001-06-11 13:49:39Z gc $
+.TH PPPOE-SNIFF 8 "3 July 2000"
+.\""
+.UC 4
+.SH NAME
+pppoe-sniff \- examine network for non-standard PPPoE frames
+.SH SYNOPSIS
+.B pppoe-sniff \fR[\fIoptions\fR]
+
+.SH DESCRIPTION
+\fBpppoe-sniff\fR listens for likely-looking PPPoE PADR and session frames
+and deduces extra options required for \fBpppoe(8)\fR to work.
+
+Some DSL providers seem to use non-standard frame types for PPPoE frames,
+and/or require a certain value in the Service-Name field. It is often
+easier to sniff those values from a machine which can successfully connect
+rather than try to pry them out of the DSL provider.
+
+To use \fBpppoe-sniff\fR, you need two computers, a DSL modem and
+an Ethernet hub (\fInot\fR an Ethernet switch.)
+
+If the DSL modem normally connects directly to your computer's
+Ethernet card, connect it to the "uplink" port on the Ethernet hub.
+Plug two computers into normal ports on the hub. On one computer, run
+whatever software the DSL provider gave you on whatever operating
+system the DSL provider supports. On the other computer, run Linux and
+log in as root.
+
+On the Linux machine, put the Ethernet interface into promiscuous mode
+and start \fBpppoe-sniff\fR. If the ethernet interface is \fIeth0\fR,
+for example, type these commands:
+
+.nf
+ ifconfig eth0 promisc
+ pppoe-sniff -I eth0
+.fi
+
+On the other machine, start your DSL connection as usual. After a short
+time, \fBpppoe-sniff\fR should print recommendations for the value
+of \fBPPPOE_EXTRA\fR. Set this value in \fB/etc/ppp/pppoe.conf\fR.
+If \fBpppoe-sniff\fR indicates that something special is required in
+\fBPPPOE_EXTRA\fR, please e-mail this to \fBpppoe@roaringpenguin.com\fR
+along with the name of your ISP and the manufacturer and model number of
+your DSL modem. This information will be collated and provided on the
+PPPoE web page for users who do not have two computers.
+
+After \fBpppoe-sniff\fR finishes (or you stop it if it seems hung),
+remember to turn off promiscuous mode:
+
+.nf
+ ifconfig eth0 -promisc
+.fi
+
+.SH OPTIONS
+.TP
+.B \-I \fIinterface\fR
+The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
+it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
+and in promiscuous mode before you start \fBpppoe-sniff\fR.
+
+.TP
+.B \-V
+The \fB\-V\fR option causes \fBpppoe-sniff\fR to print its version number and
+exit.
+
+.SH BUGS
+\fBpppoe-sniff\fR only works on Linux.
+
+.SH AUTHORS
+\fBpppoe-sniff\fR was written by David F. Skoll <dfs@roaringpenguin.com>.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5),
+pppoe(8), adsl-setup(8), adsl-status(8), pppoe-server(8), pppoe-relay(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.8 b/mdk-stage1/rp-pppoe/man/pppoe.8
new file mode 100644
index 000000000..114c4d91c
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/pppoe.8
@@ -0,0 +1,236 @@
+.\" $Id: pppoe.8 6005 2001-06-11 13:49:39Z gc $
+.TH PPPOE 8 "3 July 2000"
+.UC 4
+.SH NAME
+pppoe \- user-space PPPoE client.
+.SH SYNOPSIS
+.B pppd pty 'pppoe \fR[\fIpppoe_options\fR]\fB' \fR[\fIpppd_options\fR]
+.P
+.B pppoe -A \fR[\fIpppoe_options\fR]
+.SH DESCRIPTION
+\fBpppoe\fR is a user-space client for PPPoE (Point-to-Point Protocol
+over Ethernet) for Linux and other UNIX systems. \fBpppoe\fR works in
+concert with the \fBpppd\fR PPP daemon to provide a PPP connection
+over Ethernet, as is used by many ADSL service providers.
+
+.SH OPTIONS
+.TP
+.B \-I \fIinterface\fR
+The \fB\-I\fR option specifies the Ethernet interface to use. Under Linux,
+it is typically \fIeth0\fR or \fIeth1\fR. The interface should be "up"
+before you start \fBpppoe\fR, but should \fInot\fR be configured to have
+an IP address.
+
+.TP
+.B \-T \fItimeout\fR
+The \fB\-T\fR option causes \fBpppoe\fR to exit if no session traffic
+is detected for \fItimeout\fR seconds. I recommend that you use this
+option as an extra safety measure, but if you do, you should make sure
+that PPP generates enough traffic so the timeout will normally not be
+triggered. The best way to do this is to use the
+\fIlcp-echo-interval\fR option to \fBpppd\fR. You should set the
+PPPoE timeout to be about four times the LCP echo interval.
+
+.TP
+.B \-D \fIfile_name\fR
+The \fB\-D\fR option causes every packet to be dumped to the specified
+\fIfile_name\fR. This is intended for debugging only; it produces huge
+amounts of output and greatly reduces performance.
+
+.TP
+.B \-V
+The \fB\-V\fR option causes \fBpppoe\fR to print its version number and
+exit.
+
+.TP
+.B \-A
+The \fB\-A\fR option causes \fBpppoe\fR to send a PADI packet and then print
+the names of access concentrators in each PADO packet it receives. Do not
+use this option in conjunction with \fBpppd\fR; the \fB\-A\fR option is
+meant to be used interactively to give interesting information about the
+access concentrator.
+
+.TP
+.B \-S \fIservice_name\fR
+Specifies the desired service name. \fBpppoe\fR will only initiate sessions
+with access concentrators which can provide the specified service. In
+most cases, you should \fInot\fR specify this option. Use it only if you
+know that there are multiple access concentrators or know that you need a
+specific service name.
+
+.TP
+.B \-C \fIac_name\fR
+Specifies the desired access concentrator name. \fBpppoe\fR will only
+initiate sessions with the specified access concentrator. In
+most cases, you should \fInot\fR specify this option. Use it only if you
+know that there are multiple access concentrators. If both the
+\fB\-S\fR and \fB\-C\fR options are specified, they must \fIboth\fR match
+for \fBpppoe\fR to initiate a session.
+
+.TP
+.B \-U
+Causes \fBpppoe\fR to use the Host-Uniq tag in its discovery packets. This
+lets you run multiple \fBpppoe\fR daemons without having their discovery
+packets interfere with one another. You must supply this option to
+\fIall\fR \fBpppoe\fR daemons if you intend to run multiple daemons
+simultaneously.
+
+.TP
+.B \-s
+Causes \fBpppoe\fR to use \fIsynchronous\fR PPP encapsulation. If you
+use this option, then you \fImust\fR use the \fBsync\fR option with
+\fBpppd\fR. You are encouraged to use this option if it works, because
+it greatly reduces the CPU overhead of \fBpppoe\fR. However, it
+MAY be unreliable on slow machines -- there is a race condition between
+pppd writing data and pppoe reading it. For this reason, the default
+setting is asynchronous. If you encounter bugs or crashes with Synchronous
+PPP, turn it off -- don't e-mail me for support!
+
+.TP
+.B \-m \fIMSS\fR
+Causes \fBpppoe\fR to \fIclamp\fR the TCP maximum segment size at the specified
+value. Because of PPPoE overhead, the maximum segment size for PPPoE is
+smaller than for normal Ethernet encapsulation. This could cause problems
+for machines on a LAN behind a gateway using PPPoE. If you have a LAN
+behind a gateway, and the gateway connects to the Internet using PPPoE,
+you are strongly recommended to use a \fB\-m 1412\fR option. This avoids
+having to set the MTU on all the hosts on the LAN.
+
+.TP
+.B \-p \fIfile\fR
+Causes \fBpppoe\fR to write its process-ID to the specified file. This
+can be used to locate and kill \fBpppoe\fR processes.
+
+.TP
+.B \-e \fIsess:mac\fR
+Causes \fBpppoe\fR to skip the discovery phase and move directly to the
+session phase. The session is given by \fIsess\fR and the MAC address of
+the peer by \fImac\fR. This mode is \fInot\fR meant for normal use; it
+is designed only for \fBpppoe-server\fR(8).
+
+.TP
+.B \-n
+Causes \fBpppoe\fR not to open a discovery socket. This mode is
+\fInot\fR meant for normal use; it is designed only for
+\fBpppoe-server\fR(8).
+
+.TP
+.B \-k
+Causes \fBpppoe\fR to terminate an existing session by sending a PADT frame,
+and then exit. You must use the \fB\-e\fR option in conjunction with this
+option to specify the session to kill. This may be useful for killing
+sessions when a buggy peer does not realize the session has ended.
+
+.TP
+.B \-d
+Causes \fBpppoe\fR to perform discovery and then exit, after printing
+session information to standard output. The session information is printed
+in exactly the format expected by the \fB\-e\fR option. This option lets
+you initiate a PPPoE discovery, perform some other work, and then start
+the actual PPP session. \fIBe careful\fR; if you use this option in a loop,
+you can create many sessions, which may annoy your peer.
+
+.TP
+.B \-f disc:sess
+The \fB\-f\fR option sets the Ethernet frame types for PPPoE discovery
+and session frames. The types are specified as hexadecimal numbers
+separated by a colon. Standard PPPoE uses frame types 8863:8864.
+\fIYou should not use this option\fR unless you are absolutely sure
+the peer you are dealing with uses non-standard frame types. If your
+ISP uses non-standard frame types, complain!
+
+.TP
+.B \-h
+The \fB\-h\fR option causes \fBpppoe\fR to print usage information and
+exit.
+
+.SH PPPOE BACKGROUND
+
+PPPoE (Point-to-Point Protocol over Ethernet) is described in RFC 2516
+and is a protocol which allows the session abstraction to be maintained
+over bridged Ethernet networks.
+
+PPPoE works by encapsulating PPP frames in Ethernet frames. The protocol
+has two distinct stages: The \fIdiscovery\fR and the \fIsession\fR stage.
+
+In the discovery stage, the host broadcasts a special PADI (PPPoE
+Active Discovery Initiation) frame to discover any \fIaccess
+concentrators\fR. The access concentrators (typically, only one
+access concentrator) reply with PADO (PPPoE Active Discovery Offer)
+packets, announcing their presence and the services they offer. The
+host picks one of the access concentrators and transmits a PADR (PPPoE
+Active Discovery Request) packet, asking for a session. The access
+concentrator replies with a PADS (PPPoE Active Discovery
+Session-Confirmation) packet. The protocol then moves to the session stage.
+
+In the session stage, the host and access concentrator exchange PPP frames
+embedded in Ethernet frames. The normal Ethernet MTU is 1500 bytes, but
+the PPPoE overhead plus two bytes of overhead for the encapsulated PPP
+frame mean that the MTU of the PPP interface is at most 1492 bytes.
+This causes \fIall kinds of problems\fR if you are using a Linux machine
+as a firewall and interfaces behind the firewall have an MTU greater than
+1492. In fact, to be safe, I recommend setting the MTU of machines
+behind the firewall to 1412, to allow for worst-case TCP and IP options
+in their respective headers.
+
+Normally, PPP uses the Link Control Protocol (LCP) to shut down a PPP
+link. However, the PPPoE specification allows the link to be shut down
+with a special PADT (PPPoE Active Discovery Terminate) packet. This client
+recognizes this packet and will correctly terminate if a terminate request
+is received for the PPP session.
+
+.SH DESIGN GOALS
+
+My design goals for this PPPoE client were as follows, in descending order
+of importance:
+
+.TP
+.B o
+It must work.
+
+.TP
+.B o
+It must be a user-space program and not a kernel patch.
+
+.TP
+.B o
+The code must be easy to read and maintain.
+
+.TP
+.B o
+It must be fully compliant with RFC 2516, the proposed PPPoE standard.
+
+.TP
+.B o
+It must never hang up forever -- if the connection is broken, it must
+detect this and exit, allowing a wrapper script to restart the connection.
+
+.TP
+.B o
+It must be fairly efficient.
+
+.P
+I believe I have achieved all of these goals, but (of course) am open
+to suggestions, patches and ideas. See my home page,
+http://www.roaringpenguin.com, for contact information.
+
+.SH NOTES
+
+For best results, you must give \fBpppd\fR an mtu option of
+1492. I have observed problems with excessively-large frames
+unless I set this option. Also, if \fBpppoe\fR is running on a firewall
+machine, all machines behind the firewall should have MTU's of 1412.
+
+If you have problems, check your system logs. \fBpppoe\fR logs interesting
+things to syslog. You may have to turn on logging of \fIdebug\fR-level
+messages for complete diagnosis.
+
+.SH AUTHORS
+\fBpppoe\fR was written by David F. Skoll <dfs@roaringpenguin.com>,
+with much inspiration from an earlier version by Luke Stras.
+
+The \fBpppoe\fR home page is \fIhttp://www.roaringpenguin.com/pppoe/\fR.
+
+.SH SEE ALSO
+adsl-start(8), adsl-stop(8), adsl-connect(8), pppd(8), pppoe.conf(5), adsl-setup(8), adsl-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-relay(8)
+
diff --git a/mdk-stage1/rp-pppoe/man/pppoe.conf.5 b/mdk-stage1/rp-pppoe/man/pppoe.conf.5
new file mode 100644
index 000000000..512ef8daa
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/man/pppoe.conf.5
@@ -0,0 +1,168 @@
+.\" $Id: pppoe.conf.5 6005 2001-06-11 13:49:39Z gc $
+.\""
+.TH PPPOE.CONF 5 "21 February 2000"
+.UC 4
+.SH NAME
+pppoe.conf \- Configuration file used by \fBadsl-start\fR(8),
+\fBadsl-stop\fR(8), \fBadsl-status(8)\fR and \fBadsl-connect\fR(8).
+
+.SH DESCRIPTION
+\fB/etc/ppp/pppoe.conf\fR is a shell script which contains configuration
+information for Roaring Penguin's ADSL scripts. Note that \fBpppoe.conf\fR
+is used only by the various adsl-* shell scripts, not by \fBpppoe\fR
+itself.
+
+\fBpppoe.conf\fR consists of a sequence of shell variable assignments.
+The variables and their meanings are:
+
+.TP
+.B ETH
+The Ethernet interface connected to the ADSL modem (for example, eth0).
+
+.TP
+.B USER
+The ADSL user-id (for example, b1xxnxnx@sympatico.ca).
+
+.TP
+.B SERVICENAME
+If this is not blank, then it is passed with the \fB\-S\fR option to
+\fBpppoe\fR. It specifies a service name to ask for. Usually, you
+should leave it blank.
+
+.TP
+.B ACNAME
+If this is not blank, then it is passed with the \fB\-C\fR option to
+\fBpppoe\fR. It specifies the name of the access concentrator to connect
+to. Usually, you should leave it blank.
+
+.TP
+.B DEMAND
+If set to a number, the link is activated on demand and brought down
+after after \fBDEMAND\fR seconds. If set to \fBno\fR, the link is kept
+up all the time rather than being activated on demand.
+
+.TP
+.B DNSTYPE
+One of \fBNOCHANGE\fR, \fBSPECIFY\fR or \fBSERVER\fR. If
+set to NOCHANGE, \fBadsl-connect\fR will not adjust the DNS setup in
+any way. If set to SPECIFY, it will re-write /etc/resolv.conf with
+the values of DNS1 and DNS2. If set to \fBSERVER\fR, it will
+supply the \fIusepeerdns\fR option to \fBpppd\fR, and make a symlink
+from /etc/resolv.conf to /etc/ppp/resolv.conf.
+
+.TP
+.B DNS1, DNS2
+IP addresses of DNS servers if you use DNSTYPE=SPECIFY.
+
+.TP
+.B NONROOT
+If the line \fBNONROOT=OK\fR (exactly like that; no whitespace or comments)
+appears in the configuration file, then \fBpppoe-wrapper\fR will allow
+non-root users to bring the conneciton up or down. The wrapper is installed
+only if you installed the rp-pppoe-gui package.
+
+.TP
+.B USEPEERDNS
+If set to "yes", then \fBadsl-connect\fR will supply the \fIusepeerdns\fR
+option to \fBpppd\fR, which causes it to obtain DNS server addresses
+from the peer and create a new \fB/etc/resolv.conf\fR file. Otherwise,
+\fBadsl-connect\fR will not supply this option, and \fBpppd\fR will not
+modify \fB/etc/resolv.conf\fR.
+
+.TP
+.B CONNECT_POLL
+How often (in seconds) \fBadsl-start\fR should check to see if a new PPP
+interface has come up. If this is set to 0, the \fBadsl-start\fR simply
+initiates the PPP session, but does not wait to see if it comes up
+successfully.
+
+.TP
+.B CONNECT_TIMEOUT
+How long (in seconds) \fBadsl-start\fR should wait for a new PPP interface
+to come up before concluding that \fBadsl-connect\fR has failed and killing
+the session.
+
+.TP
+.B PING
+A character which is echoed every \fBCONNECT_POLL\fR seconds while
+\fBadsl-start\fR is waiting for the PPP interface to come up.
+
+.TP
+.B FORCEPING
+A character which is echoed every \fBCONNECT_POLL\fR seconds while
+\fBadsl-start\fR is waiting for the PPP interface to come up. Similar
+to \fBPING\fR, but the character is echoed even if \fBadsl-start\fR's
+standard output is not a tty.
+
+.TP
+.B PIDFILE
+A file in which to write the process-ID of the adsl-connect process
+(for example, \fB/var/run/pppoe.pid\fR). Two additional files
+($PIDFILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the
+\fBpppd\fR and \fBpppoe\fR processes, respectively.
+
+.TP
+.B SYNCHRONOUS
+An indication of whether or not to use synchronous PPP (\fByes\fR or
+\fBno\fR). Synchronous PPP is safe on Linux machines with the n_hdlc
+line discipline. (If you have a file called "n_hdlc.o" in your
+modules directory, you have the line discipline.) It is \fInot
+recommended\fR on other machines or on Linux machines without the
+n_hdlc line discipline due to some known and unsolveable race
+conditions in a user-mode client.
+
+.TP
+.B CLAMPMSS
+The value at which to "clamp" the advertised MSS for TCP sessions. The
+default of 1412 should be fine.
+
+.TP
+.B LCP_INTERVAL
+How often (in seconds) \fBpppd\fR sends out LCP echo-request packets.
+
+.TP
+.B LCP_FAILURE
+How many unanswered LCP echo-requests must occur before \fBpppd\fR
+concludes the link is dead.
+
+.TP
+.B PPPOE_TIMEOUT
+If this many seconds elapse without any activity seen by \fBpppoe\fR,
+then \fBpppoe\fR exits.
+
+.TP
+.B FIREWALL
+One of NONE, STANDALONE or MASQUERADE. If NONE, then \fBadsl-connect\fR does
+not add any firewall rules. If STANDALONE, then it clears existing firewall
+rules and sets up basic rules for a standalone machine. If MASQUERADE, then
+it clears existing firewall rules and sets up basic rules for an Internet
+gateway. If you run services on your machine, these simple firewall scripts
+are inadequate; you'll have to make your own firewall rules and set FIREWALL
+to NONE.
+
+.TP
+.B PPPOE_EXTRA
+Any extra arguments to pass to \fBpppoe\fR
+
+.TP
+.B PPPD_EXTRA
+Any extra arguments to pass to \fBpppd\fR
+
+.TP
+.B LINUX_PLUGIN
+If non-blank, the full path of the Linux kernel-mode PPPoE plugin
+(typically \fB/etc/ppp/plugins/rp-pppoe.so\fR.) This forces
+\fBadsl-connect\fR to use kernel-mode PPPoE on Linux 2.4.x systems.
+This code is experimental and unsupported. Use of the plugin causes
+\fBadsl-connect\fR to ignore CLAMPMSS, PPPOE_EXTRA, SYNCHRONOUS and
+PPPOE_TIMEOUT.
+
+.P
+By using different configuration files with different PIDFILE
+settings, you can manage multiple PPPoE connections. Just specify the
+configuration file as an argument to \fBadsl-start\fR and \fBadsl-stop\fR.
+
+.SH SEE ALSO
+pppoe(8), adsl-connect(8), adsl-start(8), adsl-stop(8), pppd(8), adsl-setup(8),
+pppoe-wrapper(8)
+
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec b/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
new file mode 100644
index 000000000..3222a602e
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/rp-pppoe-gui.spec
@@ -0,0 +1,98 @@
+Summary: PPP Over Ethernet (xDSL support)
+Name: rp-pppoe-gui
+Version: 3.0
+%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
+Release: 1mdk
+%else
+Release: 1
+%endif
+Copyright: GPL
+Group: System Environment/Daemons
+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
+Url: http://www.roaringpenguin.com/pppoe/
+Packager: David F. Skoll <dfs@roaringpenguin.com>
+BuildRoot: /tmp/pppoe-build
+Vendor: Roaring Penguin Software Inc.
+Requires: ppp >= 2.3.7
+Requires: rp-pppoe >= 3.0
+
+%description
+This is a graphical wrapper around the rp-pppoe PPPoE client. PPPoE is
+a protocol used by many DSL Internet Service Providers.
+
+%prep
+umask 022
+mkdir -p $RPM_BUILD_ROOT
+cd $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT/rp-pppoe-%{version}
+zcat $RPM_SOURCE_DIR/rp-pppoe-%{version}.tar.gz | tar xvf -
+cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/src
+./configure --mandir=%{_mandir}
+
+%build
+cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
+make
+
+%install
+cd $RPM_BUILD_ROOT/rp-pppoe-%{version}/gui
+make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+# Install entry in KDE menu
+if test -n "$KDEDIR" ; then
+ mkdir -p "$KDEDIR/share/applnk/Internet"
+ cat <<EOF > "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
+# KDE Config File
+[KDE Desktop Entry]
+Name=TkPPPoE
+Comment=Start/Stop ADSL connections
+Exec=tkpppoe
+Terminal=0
+Type=Application
+EOF
+fi
+
+# Install entry in GNOME menus
+GNOMEDIR=`gnome-config --datadir 2>/dev/null`
+if test -n "$GNOMEDIR" ; then
+ mkdir -p "$GNOMEDIR/gnome/apps/Internet"
+cat <<EOF > "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
+[Desktop Entry]
+Name=TkPPPoE
+Comment=Start/Stop ADSL connections
+Exec=tkpppoe
+Terminal=0
+Type=Application
+EOF
+fi
+
+%postun
+# Remove KDE menu entry
+if test -n "$KDEDIR" ; then
+ rm -f "$KDEDIR/share/applnk/Internet/tkpppoe.kdelnk"
+fi
+
+# Remove GNOME menu entry
+GNOMEDIR=`gnome-config --datadir 2>/dev/null`
+if test -n "$GNOMEDIR" ; then
+ rm -f "$GNOMEDIR/gnome/apps/Internet/tkpppoe.desktop"
+fi
+
+%files
+%defattr(-,root,root)
+%dir /etc/ppp/rp-pppoe-gui
+/usr/sbin/pppoe-wrapper
+/usr/bin/tkpppoe
+%{_mandir}/man1/tkpppoe.1*
+%{_mandir}/man1/pppoe-wrapper.1*
+/usr/share/rp-pppoe-gui/tkpppoe.html
+/usr/share/rp-pppoe-gui/mainwin-busy.png
+/usr/share/rp-pppoe-gui/mainwin-nonroot.png
+/usr/share/rp-pppoe-gui/mainwin.png
+/usr/share/rp-pppoe-gui/props-advanced.png
+/usr/share/rp-pppoe-gui/props-basic.png
+/usr/share/rp-pppoe-gui/props-nic.png
+/usr/share/rp-pppoe-gui/props-options.png
diff --git a/mdk-stage1/rp-pppoe/rp-pppoe.spec b/mdk-stage1/rp-pppoe/rp-pppoe.spec
new file mode 100644
index 000000000..622e3bb80
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/rp-pppoe.spec
@@ -0,0 +1,71 @@
+Summary: PPP Over Ethernet (xDSL support)
+Name: rp-pppoe
+Version: 3.0
+%if %(%{expand:test %{_vendor} != mandrake ; echo $?})
+Release: 1mdk
+%else
+Release: 1
+%endif
+Copyright: GPL
+Group: System Environment/Daemons
+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-3.0.tar.gz
+Url: http://www.roaringpenguin.com/pppoe/
+Packager: David F. Skoll <dfs@roaringpenguin.com>
+BuildRoot: /tmp/pppoe-build
+Vendor: Roaring Penguin Software Inc.
+Requires: ppp >= 2.3.7
+
+%description
+PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
+many ADSL Internet Service Providers. Roaring Penguin has a free
+client for Linux systems to connect to PPPoE service providers.
+
+The client is a user-mode program and does not require any kernel
+modifications. It is fully compliant with RFC 2516, the official PPPoE
+specification.
+
+%prep
+%setup
+cd src
+./configure --mandir=%{_mandir}
+
+%build
+cd src
+make
+
+%install
+cd src
+make install RPM_INSTALL_ROOT=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README
+%config /etc/ppp/pppoe.conf
+%config /etc/ppp/pppoe-server-options
+%config /etc/ppp/firewall-masq
+%config /etc/ppp/firewall-standalone
+/etc/ppp/plugins/*
+/usr/sbin/pppoe
+/usr/sbin/pppoe-server
+/usr/sbin/pppoe-sniff
+/usr/sbin/pppoe-relay
+/usr/sbin/adsl-connect
+/usr/sbin/adsl-start
+/usr/sbin/adsl-stop
+/usr/sbin/adsl-setup
+/usr/sbin/adsl-status
+%{_mandir}/man5/pppoe.conf.5*
+%{_mandir}/man8/pppoe.8*
+%{_mandir}/man8/pppoe-server.8*
+%{_mandir}/man8/pppoe-relay.8*
+%{_mandir}/man8/pppoe-sniff.8*
+%{_mandir}/man8/adsl-connect.8*
+%{_mandir}/man8/adsl-start.8*
+%{_mandir}/man8/adsl-stop.8*
+%{_mandir}/man8/adsl-status.8*
+%{_mandir}/man8/adsl-setup.8*
+/etc/rc.d/init.d/adsl
+
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-connect.in b/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
new file mode 100755
index 000000000..f62d01684
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-connect.in
@@ -0,0 +1,278 @@
+#!/bin/sh
+# @configure_input@
+#***********************************************************************
+#
+# adsl-connect
+#
+# Shell script to connect to an ADSL provider using PPPoE
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: adsl-connect.in 6005 2001-06-11 13:49:39Z gc $
+#
+# This file may be distributed under the terms of the GNU General
+# Public License.
+#
+# Usage: adsl-connect [config_file]
+# adsl-connect interface user [config_file]
+# Second form overrides USER and ETH from config file.
+# If config_file is omitted, defaults to /etc//ppp/pppoe.conf
+#
+#***********************************************************************
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+localstatedir=/var
+
+# Paths to programs
+IFCONFIG=/sbin/ifconfig
+PPPD=@PPPD@
+SETSID=@SETSID@
+PPPOE=@sbindir@/pppoe
+LOGGER="/usr/bin/logger -t `basename $0`"
+
+# Must be root
+if test "`@ID@ -u`" != 0 ; then
+ echo "$0: You must be root to run this script" >& 2
+ exit 1
+fi
+
+if test "$SETSID" != "" -a ! -x "$SETSID"; then
+ SETSID=""
+fi
+
+CONFIG=/etc//ppp/pppoe.conf
+USER=""
+ETH=""
+
+# Sort out command-line arguments
+case "$#" in
+ 1)
+ CONFIG="$1"
+ ;;
+ 3)
+ CONFIG="$3"
+ ;;
+esac
+
+if test ! -f "$CONFIG" -o ! -r "$CONFIG" ; then
+ echo "$0: Cannot read configuration file '$CONFIG'" >& 2
+ exit 1
+fi
+
+. $CONFIG
+
+PPPOE_PIDFILE="$PIDFILE.pppoe"
+PPPD_PIDFILE="$PIDFILE.pppd"
+
+# Check for command-line overriding of ETH and USER
+case "$#" in
+ 2|3)
+ ETH="$1"
+ USER="$2"
+ ;;
+esac
+
+# Check that config file is sane
+if test "$USER" = "" ; then
+ echo "$0: Check '$CONFIG' -- no setting for USER" >& 2
+ exit 1
+fi
+if test "$ETH" = "" ; then
+ echo "$0: Check '$CONFIG' -- no setting for ETH" >& 2
+ exit 1
+fi
+
+PPPD_PID=0
+
+# Catch common error
+if test "$DEBUG" = "1" ; then
+ echo "*** If you want to use DEBUG, invoke adsl-start, not adsl-connect."
+ exit 1
+fi
+
+if test "$DEBUG" != "" ; then
+ if test "$LINUX_PLUGIN" != "" ; then
+ echo "Cannot use DEBUG mode and LINUX_PLUGIN at the same time."
+ echo "Kernel-mode PPPoE is experimental and unsupported."
+ exit 1
+ fi
+ echo "* The following section identifies your Ethernet interface" >> $DEBUG
+ echo "* and user name. Some ISP's need 'username'; others" >> $DEBUG
+ echo "* need 'username@isp.com'. Try both" >> $DEBUG
+ echo "ETH=$ETH; USER=$USER" >> $DEBUG
+ echo "---------------------------------------------" >> $DEBUG
+fi
+
+# MTU of Ethernet card attached to modem MUST be 1500. This apparently
+# fails on some *BSD's, so we'll only do it under Linux
+
+if test `uname -s` = Linux ; then
+ $IFCONFIG $ETH up mtu 1500
+ # For 2.4 kernels. Will fail on 2.2.x, but who cares?
+ modprobe ppp_generic > /dev/null 2>&1
+ modprobe ppp_async > /dev/null 2>&1
+ modprobe ppp_synctty > /dev/null 2>&1
+ if test -n "$LINUX_PLUGIN" ; then
+ modprobe pppox > /dev/null 2>&1
+ modprobe pppoe > /dev/null 2>&1
+ fi
+fi
+
+if test "$SYNCHRONOUS" = "yes" ; then
+ PPPOE_SYNC=-s
+ PPPD_SYNC=sync
+ # Increase the chances of it working on Linux...
+ if test `uname -s` = Linux ; then
+ modprobe n_hdlc > /dev/null 2>&1
+ fi
+else
+ PPPOE_SYNC=""
+ PPPD_SYNC=""
+fi
+
+if test -n "$ACNAME" ; then
+ ACNAME="-C $ACNAME"
+fi
+
+if test -n "$SERVICENAME" ; then
+ SERVICENAME="-S $SERVICENAME"
+fi
+
+if test "$CLAMPMSS" = "no" ; then
+ CLAMPMSS=""
+else
+ CLAMPMSS="-m $CLAMPMSS"
+fi
+
+# If DNSTYPE is SERVER, we must use "usepeerdns" option to pppd.
+if test "$DNSTYPE" = "SERVER" ; then
+ USEPEERDNS=yes
+fi
+
+if test "$USEPEERDNS" = "yes" ; then
+ USEPEERDNS="usepeerdns"
+else
+ USEPEERDNS=""
+fi
+
+# Backward config file compatibility
+if test "$DEMAND" = "" ; then
+ DEMAND=no
+fi
+
+if test "$DEMAND" = "no" ; then
+ DEMAND=""
+else
+ DEMAND="demand persist idle $DEMAND 10.112.112.112:10.112.112.113 ipcp-accept-remote ipcp-accept-local connect true noipdefault ktune"
+fi
+
+case "$FIREWALL" in
+ STANDALONE)
+ . /etc/ppp/firewall-standalone
+ ;;
+ MASQUERADE)
+ . /etc/ppp/firewall-masq
+ ;;
+esac
+
+# If we're using kernel-mode PPPoE on Linux...
+if test "$LINUX_PLUGIN" != "" ; then
+ PLUGIN_OPTS="plugin $LINUX_PLUGIN $ETH"
+ modprobe pppoe > /dev/null 2>&1
+fi
+
+# Standard PPP options we always use
+PPP_STD_OPTIONS="$PLUGIN_OPTS noipdefault noauth default-asyncmap defaultroute hide-password nodetach $USEPEERDNS local mtu 1492 mru 1492 noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp user $USER lcp-echo-interval $LCP_INTERVAL lcp-echo-failure $LCP_FAILURE $PPPD_EXTRA"
+
+# Jigger DNS if required...
+if test "$DNSTYPE" = "SERVER" ; then
+ # Sorry, dude...
+ rm -f /etc/resolv.conf
+ ln -s /etc/ppp/resolv.conf /etc/resolv.conf
+elif test "$DNSTYPE" = "SPECIFY" ; then
+ # Sorry, dude...
+ rm -f /etc/resolv.conf
+ echo "nameserver $DNS1" > /etc/resolv.conf
+ if test -n "$DNS2" ; then
+ echo "nameserver $DNS2" >> /etc/resolv.conf
+ fi
+fi
+
+# PPPoE invocation
+PPPOE_CMD="$PPPOE -p $PPPOE_PIDFILE -I $ETH -T $PPPOE_TIMEOUT -U $PPPOE_SYNC $CLAMPMSS $ACNAME $SERVICENAME $PPPOE_EXTRA"
+if test "$DEBUG" != "" ; then
+ if test "$DEMAND" != "" ; then
+ echo "(Turning off DEMAND for debugging purposes)"
+ DEMAND=""
+ fi
+ echo "* The following section shows the pppd command we will invoke" >> $DEBUG
+ echo "pppd invocation" >> $DEBUG
+ echo "$SETSID $PPPD pty '$PPPOE_CMD' $PPP_STD_OPTIONS $PPPD_SYNC debug" >> $DEBUG
+ echo "---------------------------------------------" >> $DEBUG
+ $SETSID $PPPD pty "$PPPOE_CMD -D $DEBUG-0" \
+ $PPP_STD_OPTIONS \
+ $PPPD_SYNC \
+ debug >> $DEBUG 2>&1
+ echo "---------------------------------------------" >> $DEBUG
+ echo "* The following section is an extract from your log." >> $DEBUG
+ echo "* Look for error messages from pppd, such as" >> $DEBUG
+ echo "* a lack of kernel support for PPP, authentication failure" >> $DEBUG
+ echo "* etc." >> $DEBUG
+ echo "Extract from /var/log/messages" >> $DEBUG
+ grep 'ppp' /var/log/messages | tail -150 >> $DEBUG
+ date >> $DEBUG
+ echo "---------------------------------------------" >> $DEBUG
+ echo "* The following section is a dump of the packets" >> $DEBUG
+ echo "* sent and received by rp-pppoe. If you don't see" >> $DEBUG
+ echo "* any output, it's an Ethernet driver problem. If you only" >> $DEBUG
+ echo "* see three PADI packets and nothing else, check your cables" >> $DEBUG
+ echo "* and modem. Make sure the modem lights flash when you try" >> $DEBUG
+ echo "* to connect. Check that your Ethernet card is in" >> $DEBUG
+ echo "* half-duplex, 10Mb/s mode. If all else fails," >> $DEBUG
+ echo "* try using pppoe-sniff." >> $DEBUG
+ echo "rp-pppoe debugging dump" >> $DEBUG
+ cat $DEBUG-0 >> $DEBUG
+ rm -f $DEBUG-0
+ for i in 1 2 3 4 5 6 7 8 9 10 ; do
+ echo ""
+ echo ""
+ echo ""
+ done
+ echo "*** Finished debugging run. Please review the file"
+ echo "*** '$DEBUG' and try to"
+ echo "*** figure out what is going on."
+ echo "***"
+ echo "*** Unfortunately, we can NO LONGER accept debugging"
+ echo "*** output for analysis. Please do not send this to"
+ echo "*** Roaring Penguin; it is too time-consuming for"
+ echo "*** us to deal with all the analyses we have been sent."
+ exit 0
+fi
+
+echo $$ > $PIDFILE
+
+while [ true ] ; do
+ if test "$LINUX_PLUGIN" != "" ; then
+ $SETSID $PPPD $PPP_STD_OPTIONS $DEMAND &
+ echo "$!" > $PPPD_PIDFILE
+ else
+ $SETSID $PPPD pty "$PPPOE_CMD" \
+ $PPP_STD_OPTIONS \
+ $DEMAND \
+ $PPPD_SYNC &
+ echo "$!" > $PPPD_PIDFILE
+ fi
+ wait
+
+ # Run /etc/ppp/adsl-lost if it exists
+ test -x /etc/ppp/adsl-lost && /etc/ppp/adsl-lost
+
+ # Re-establish the connection
+ $LOGGER -p daemon.notice \
+ "ADSL connection lost; attempting re-connection."
+
+ # Wait a bit in case a problem causes tons of log messages :-)
+ sleep 5
+done
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
new file mode 100755
index 000000000..936f5fba7
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-init-suse.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# adsl This script starts or stops an ADSL connection
+#
+# chkconfig: 2345 99 01
+# description: Connects to ADSL provider
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
+# be distributed under the terms of the GNU General Public License, version
+# 2 or any later version.
+# Modifed to work with SuSE 6.4 linux by Gary Cameron.
+#
+# Source function library.
+#. /etc/rc.d/init.d/functions # For red hat?
+. /etc/rc.config # For SuSE, enables setting from /etc/rc.config
+
+#Tweak this
+restart_time=120
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+# Paths to programs
+START=@sbindir@/adsl-start
+STOP=@sbindir@/adsl-stop
+STATUS=@sbindir@/adsl-status
+
+test "$ADSL_START" = "yes" || exit 0
+
+# The echo return value for success (defined in /etc/rc.config).
+return=$rc_done
+case "$1" in
+ start)
+ echo -n "Bringing up ADSL link"
+ $START > /dev/null 2>&1 || return=$rc_failed
+ echo -e "$return"
+ ;;
+
+ stop)
+ echo -n "Shutting down ADSL link"
+ $STOP > /dev/null 2>&1 || return=$rc_failed
+ echo -e "$return"
+ ;;
+
+ restart)
+ $0 stop
+ echo "Waiting" $restart_time "seconds for the host to reset itself"
+ sleep $restart_time #Note: Need time for host to reset itself
+ $0 start
+ ;;
+
+ status)
+ $STATUS
+ ;;
+
+ *)
+ echo "Usage: adsl {start|stop|restart|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in b/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
new file mode 100755
index 000000000..3b22f1345
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-init-turbolinux.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# adsl This script starts or stops an ADSL connection
+#
+# chkconfig: 2345 99 01
+# description: Connects to ADSL provider
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
+# be distributed under the terms of the GNU General Public License, version
+# 2 or any later version.
+
+# Source function library if it exists
+test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+# Paths to programs
+START=@sbindir@/adsl-start
+STOP=@sbindir@/adsl-stop
+STATUS=@sbindir@/adsl-status
+case "$1" in
+ start)
+ echo -n "Bringing up ADSL link: "
+
+ $START
+ if [ $? = 0 ] ; then
+ echo success
+ touch /var/lock/subsys/adsl
+ else
+ echo failure
+ fi
+ ;;
+
+ stop)
+ echo -n "Shutting down ADSL link: "
+
+ $STOP > /dev/null 2>&1
+ if [ $? = 0 ] ; then
+ echo success
+ rm -f /var/lock/subsys/adsl
+ else
+ echo failure
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ status)
+ $STATUS
+ ;;
+
+ *)
+ echo "Usage: adsl {start|stop|restart|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-init.in b/mdk-stage1/rp-pppoe/scripts/adsl-init.in
new file mode 100755
index 000000000..ab9146fd3
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-init.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+#
+# adsl This script starts or stops an ADSL connection
+#
+# chkconfig: 2345 99 01
+# description: Connects to ADSL provider
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc. This software may
+# be distributed under the terms of the GNU General Public License, version
+# 2 or any later version.
+
+# Source function library if it exists
+test -r /etc/rc.d/init.d/functions && . /etc/rc.d/init.d/functions
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+# Paths to programs
+START=@sbindir@/adsl-start
+STOP=@sbindir@/adsl-stop
+STATUS=@sbindir@/adsl-status
+case "$1" in
+ start)
+ echo -n "Bringing up ADSL link"
+
+ $START
+ if [ $? = 0 ] ; then
+ touch /var/lock/subsys/adsl
+ echo_success
+ else
+ echo_failure
+ fi
+ echo ""
+ ;;
+
+ stop)
+ echo -n "Shutting down ADSL link"
+
+ $STOP > /dev/null 2>&1
+ if [ $? = 0 ] ; then
+ rm -f /var/lock/subsys/adsl
+ echo_success
+ else
+ echo_failure
+ fi
+ echo ""
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ status)
+ $STATUS
+ ;;
+
+ *)
+ echo "Usage: adsl {start|stop|restart|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-setup.in b/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
new file mode 100755
index 000000000..1bf022b6f
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-setup.in
@@ -0,0 +1,346 @@
+#!/bin/sh
+#***********************************************************************
+#
+# adsl-setup
+#
+# All-purpose slicing/dicing shell script to configure rp-pppoe.
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: adsl-setup.in 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+# Paths to programs
+IFCONFIG=/sbin/ifconfig
+PPPD=@PPPD@
+PPPOE=@sbindir@/pppoe
+ECHO=@ECHO@
+LOGGER="/usr/bin/logger -t `basename $0`"
+
+CONFIG=/etc/ppp/pppoe.conf
+
+# Protect created files
+umask 077
+
+copy() {
+ cp $1 $2
+ if [ "$?" != 0 ] ; then
+ $ECHO "*** Error copying $1 to $2"
+ $ECHO "*** Quitting."
+ exit 1
+ fi
+}
+
+$ECHO "Welcome to the Roaring Penguin ADSL client setup. First, I will run"
+$ECHO "some checks on your system to make sure the PPPoE client is installed"
+$ECHO "properly..."
+$ECHO ""
+
+# Must be root
+if [ "`@ID@ -u`" != 0 ] ; then
+ $ECHO "$0: Sorry, you must be root to run this script"
+ exit 1
+fi
+
+# Prototype config file must exist
+if [ ! -r "$CONFIG" ] ; then
+ $ECHO "Oh, dear, I don't see the file '$CONFIG' anywhere. Please"
+ $ECHO "re-install the PPPoE client."
+ exit 1
+fi
+
+# Must have pppd
+if [ ! -x $PPPD ] ; then
+ $ECHO "Oops, I can't execute the program '$PPPD'. You"
+ $ECHO "must install the PPP software suite, version 2.3.10 or later."
+ exit 1
+fi
+
+. $CONFIG
+
+if [ "$DEMAND" = "" ] ; then
+ DEMAND=no
+fi
+
+# pppoe must exist
+if [ ! -x "$PPPOE" ] ; then
+ $ECHO "Oh, dear, I can't execute the program '$PPPOE'. Please"
+ $ECHO "re-install the rp-pppoe client."
+ exit 1
+fi
+
+$ECHO "Looks good! Now, please enter some information:"
+
+while [ true ] ; do
+ $ECHO ""
+ $ECHO "USER NAME"
+ $ECHO ""
+ $ECHO -n ">>> Enter your PPPoE user name (default $USER): "
+ read U
+
+ if [ "$U" = "" ] ; then
+ U="$USER"
+ fi
+
+ # Under Linux, "fix" the default interface if eth1 is not available
+ if test `uname -s` = "Linux" ; then
+ $IFCONFIG $ETH > /dev/null 2>&1 || ETH=eth0
+ fi
+ $ECHO ""
+ $ECHO "INTERFACE"
+ $ECHO ""
+ $ECHO ">>> Enter the Ethernet interface connected to the ADSL modem"
+ $ECHO "For Solaris, this is likely to be something like /dev/hme0."
+ $ECHO "For Linux, it will be ethn, where 'n' is a number."
+ $ECHO -n "(default $ETH): "
+ read E
+
+ if [ "$E" = "" ] ; then
+ E="$ETH"
+ fi
+
+ $ECHO ""
+ $ECHO "Do you want the link to come up on demand, or stay up continuously?"
+ $ECHO "If you want it to come up on demand, enter the idle time in seconds"
+ $ECHO "after which the link should be dropped. If you want the link to"
+ $ECHO "stay up permanently, enter 'no' (two letters, lower-case.)"
+ $ECHO "NOTE: Demand-activated links do not interact well with dynamic IP"
+ $ECHO "addresses. You may have some problems with demand-activated links."
+ $ECHO -n ">>> Enter the demand value (default $DEMAND): "
+ read D
+ if [ "$D" = "" ] ; then
+ D=$DEMAND
+ fi
+
+ $ECHO ""
+ $ECHO "DNS"
+ $ECHO ""
+ $ECHO "Please enter the IP address of your ISP's primary DNS server."
+ $ECHO "If your ISP claims that 'the server will provide DNS addresses',"
+ $ECHO "enter 'server' (all lower-case) here."
+ $ECHO "If you just press enter, I will assume you know what you are"
+ $ECHO "doing and not modify your DNS setup."
+ $ECHO -n ">>> Enter the DNS information here: "
+
+ read DNS1
+
+
+ if [ "$DNS1" != "" ] ; then
+ if [ "$DNS1" != "server" ] ; then
+ $ECHO "Please enter the IP address of your ISP's secondary DNS server."
+ $ECHO "If you just press enter, I will assume there is only one DNS server."
+ $ECHO -n ">>> Enter the secondary DNS server address here: "
+ read DNS2
+ fi
+ fi
+
+ while [ true ] ; do
+ $ECHO ""
+ $ECHO "PASSWORD"
+ $ECHO ""
+ stty -echo
+ $ECHO -n ">>> Please enter your PPPoE password: "
+ read PWD1
+ $ECHO ""
+ $ECHO -n ">>> Please re-enter your PPPoE password: "
+ read PWD2
+ $ECHO ""
+ stty echo
+ if [ "$PWD1" = "$PWD2" ] ; then
+ break
+ fi
+
+ $ECHO -n ">>> Sorry, the passwords do not match. Try again? (y/n)"
+ read ANS
+ case "$ANS" in
+ N|No|NO|Non|n|no|non)
+ $ECHO "OK, quitting. Bye."
+ exit 1
+ esac
+ done
+
+ # Firewalling
+ $ECHO ""
+ $ECHO "FIREWALLING"
+ $ECHO ""
+ if test `uname -s` != "Linux" ; then
+ $ECHO "Sorry, firewalling is only supported under Linux. Consult"
+ $ECHO "your operating system manuals for details on setting up"
+ $ECHO "packet filters for your system."
+ FIREWALL=NONE
+ else
+ $ECHO "Please choose the firewall rules to use. Note that these rules are"
+ $ECHO "very basic. You are strongly encouraged to use a more sophisticated"
+ $ECHO "firewall setup; however, these will provide basic security. If you"
+ $ECHO "are running any servers on your machine, you must choose 'NONE' and"
+ $ECHO "set up firewalling yourself. Otherwise, the firewall rules will deny"
+ $ECHO "access to all standard servers like Web, e-mail, ftp, etc. If you"
+ $ECHO "are using SSH, the rules will block outgoing SSH connections which"
+ $ECHO "allocate a privileged source port."
+ $ECHO ""
+ while [ true ] ; do
+ $ECHO "The firewall choices are:"
+ $ECHO "0 - NONE: This script will not set any firewall rules. You are responsible"
+ $ECHO " for ensuring the security of your machine. You are STRONGLY"
+ $ECHO " recommended to use some kind of firewall rules."
+ $ECHO "1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation"
+ $ECHO "2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway"
+ $ECHO " for a LAN"
+ $ECHO -n ">>> Choose a type of firewall (0-2): "
+ read a
+ if [ "$a" = 0 -o "$a" = 1 -o "$a" = 2 ] ; then
+ break
+ fi
+ $ECHO "Please enter a number from 0 to 2"
+ done
+
+ case "$a" in
+ 0)
+ FIREWALL=NONE
+ ;;
+ 1)
+ FIREWALL=STANDALONE
+ ;;
+ 2)
+ FIREWALL=MASQUERADE
+ ;;
+ esac
+ fi
+
+ $ECHO ""
+ $ECHO "** Summary of what you entered **"
+ $ECHO ""
+ $ECHO "Ethernet Interface: $E"
+ $ECHO "User name: $U"
+ if [ "$D" = "no" ] ; then
+ $ECHO "Activate-on-demand: No"
+ else
+ $ECHO "Activate-on-demand: Yes; idle timeout = $D seconds"
+ fi
+
+ if [ "$DNS1" != "" ] ; then
+ if [ "$DNS1" = "server" ] ; then
+ $ECHO "DNS addresses: Supplied by ISP's server"
+ else
+ $ECHO "Primary DNS: $DNS1"
+ if [ "$DNS2" != "" ] ; then
+ $ECHO "Secondary DNS: $DNS2"
+ fi
+ fi
+ else
+ $ECHO "DNS: Do not adjust"
+ fi
+ $ECHO "Firewalling: $FIREWALL"
+ $ECHO ""
+ while [ true ] ; do
+ $ECHO -n '>>> Accept these settings and adjust configuration files (y/n)? '
+ read ANS
+ case "ANS" in
+ Y|y|yes|Yes|oui|Oui)
+ ANS=y
+ ;;
+ N|n|no|No|non|Non)
+ ANS=n
+ ;;
+ esac
+ if [ "$ANS" = "y" -o "$ANS" = "n" ] ; then
+ break
+ fi
+ done
+ if [ "$ANS" = "y" ] ; then
+ break
+ fi
+done
+
+# Adjust configuration files. First to $CONFIG
+
+$ECHO "Adjusting $CONFIG"
+
+copy $CONFIG $CONFIG-bak
+if [ "$DNS1" = "server" ] ; then
+ DNSTYPE=SERVER
+ DNS1=""
+ USEPEERDNS=yes
+else
+ USEPEERDNS=no
+ if [ "$DNS1" = "" ] ; then
+ DNSTYPE=NOCHANGE
+ else
+ DNSTYPE=SPECIFY
+ fi
+fi
+
+# Where is pppd likely to put its pid?
+if [ -d /var/run ] ; then
+ VARRUN=/var/run
+else
+ VARRUN=/etc/ppp
+fi
+
+# Some #$(*& ISP's use a slash in the user name...
+sed -e "s&^USER=.*&USER='$U'&" \
+ -e "s&^ETH=.*&ETH='$E'&" \
+ -e "s&^PIDFILE=.*&PIDFILE=\"$VARRUN/\$CF_BASE-adsl.pid\"&" \
+ -e "s/^FIREWALL=.*/FIREWALL=$FIREWALL/" \
+ -e "s/^DEMAND=.*/DEMAND=$D/" \
+ -e "s/^DNSTYPE=.*/DNSTYPE=$DNSTYPE/" \
+ -e "s/^DNS1=.*/DNS1=$DNS1/" \
+ -e "s/^DNS2=.*/DNS2=$DNS2/" \
+ -e "s/^USEPEERDNS=.*/USEPEERDNS=$USEPEERDNS/" \
+ < $CONFIG-bak > $CONFIG
+
+if [ $? != 0 ] ; then
+ $ECHO "** Error modifying $CONFIG"
+ $ECHO "** Quitting"
+ exit 1
+fi
+
+if [ "$DNS1" != "" ] ; then
+ if [ "$DNS1" != "server" ] ; then
+ $ECHO "Adjusting /etc/resolv.conf"
+ if [ -r /etc/resolv.conf ] ; then
+ grep -s "MADE-BY-RP-PPPOE" /etc/resolv.conf > /dev/null 2>&1
+ if [ "$?" != 0 ] ; then
+ $ECHO " (But first backing it up to /etc/resolv.conf-bak)"
+ copy /etc/resolv.conf /etc/resolv.conf-bak
+ fi
+ fi
+ $ECHO "# MADE-BY-RP-PPPOE" > /etc/resolv.conf
+ $ECHO "nameserver $DNS1" >> /etc/resolv.conf
+ if [ "$DNS2" != "" ] ; then
+ $ECHO "nameserver $DNS2" >> /etc/resolv.conf
+ fi
+ fi
+fi
+
+$ECHO "Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets"
+if [ -r /etc/ppp/pap-secrets ] ; then
+ $ECHO " (But first backing it up to /etc/ppp/pap-secrets-bak)"
+ copy /etc/ppp/pap-secrets /etc/ppp/pap-secrets-bak
+else
+ cp /dev/null /etc/ppp/pap-secrets-bak
+fi
+if [ -r /etc/ppp/chap-secrets ] ; then
+ $ECHO " (But first backing it up to /etc/ppp/chap-secrets-bak)"
+ copy /etc/ppp/chap-secrets /etc/ppp/chap-secrets-bak
+else
+ cp /dev/null /etc/ppp/chap-secrets-bak
+fi
+
+egrep -v "^$U|^\"$U\"" /etc/ppp/pap-secrets-bak > /etc/ppp/pap-secrets
+$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/pap-secrets
+egrep -v "^$U|^\"$U\"" /etc/ppp/chap-secrets-bak > /etc/ppp/chap-secrets
+$ECHO "\"$U\" * \"$PWD1\"" >> /etc/ppp/chap-secrets
+
+$ECHO ""
+$ECHO ""
+$ECHO ""
+$ECHO "Congratulations, it should be all set up!"
+$ECHO ""
+$ECHO "Type 'adsl-start' to bring up your ADSL link and 'adsl-stop' to bring"
+$ECHO "it down. Type 'adsl-status' to see the link status."
+exit 0
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-start.in b/mdk-stage1/rp-pppoe/scripts/adsl-start.in
new file mode 100755
index 000000000..153d37f7f
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-start.in
@@ -0,0 +1,186 @@
+#!/bin/sh
+# @configure_input@
+#***********************************************************************
+#
+# adsl-start
+#
+# Shell script to bring up an ADSL connection
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: adsl-start.in 6005 2001-06-11 13:49:39Z gc $
+#
+# This file may be distributed under the terms of the GNU General
+# Public License.
+#
+# Usage: adsl-start [config_file]
+# adsl-start interface user [config_file]
+# Second form overrides USER and ETH from config file.
+# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
+#
+#***********************************************************************
+
+# From AUTOCONF
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+
+# Paths to programs
+CONNECT=@sbindir@/adsl-connect
+ECHO=@ECHO@
+IFCONFIG=/sbin/ifconfig
+
+# Defaults
+CONFIG=/etc/ppp/pppoe.conf
+USER=""
+ETH=""
+ME=`basename $0`
+# Must be root
+if [ "`@ID@ -u`" != 0 ] ; then
+ $ECHO "$ME: You must be root to run this script" >& 2
+ exit 1
+fi
+
+# Debugging
+if [ "$DEBUG" = "1" ] ; then
+ $ECHO "*** Running in debug mode... please be patient..."
+ DEBUG=/tmp/pppoe-debug-$$
+ export DEBUG
+ mkdir $DEBUG
+ if [ "$?" != 0 ] ; then
+ $ECHO "Could not create directory $DEBUG... exiting"
+ exit 1
+ fi
+ DEBUG=$DEBUG/pppoe-debug.txt
+
+ # Initial debug output
+ $ECHO "---------------------------------------------" > $DEBUG
+ $ECHO "* The following section contains information about your system" >> $DEBUG
+ date >> $DEBUG
+ $ECHO "Output of uname -a" >> $DEBUG
+ uname -a >> $DEBUG
+ $ECHO "---------------------------------------------" >> $DEBUG
+ $ECHO "* The following section contains information about your network" >> $DEBUG
+ $ECHO "* interfaces. The one you chose for PPPoE should contain the words:" >> $DEBUG
+ $ECHO "* 'UP' and 'RUNNING'. If it does not, you probably have an Ethernet" >> $DEBUG
+ $ECHO "* driver problem." >> $DEBUG
+ $ECHO "Output of ifconfig -a" >> $DEBUG
+ $IFCONFIG -a >> $DEBUG
+ $ECHO "---------------------------------------------" >> $DEBUG
+ if [ "`uname -s`" = "Linux" ] ; then
+ $ECHO "* The following section contains information about kernel modules" >> $DEBUG
+ $ECHO "* If the module for your Ethernet card is 'tulip', you might" >> $DEBUG
+ $ECHO "* want to look for an updated version at http://www.scyld.com" >> $DEBUG
+ $ECHO "Output of lsmod" >> $DEBUG
+ lsmod >> $DEBUG
+ $ECHO "---------------------------------------------" >> $DEBUG
+ fi
+ $ECHO "* The following section lists your routing table." >> $DEBUG
+ $ECHO "* If you have an entry which starts with '0.0.0.0', you probably" >> $DEBUG
+ $ECHO "* have defined a default route and gateway, and pppd will" >> $DEBUG
+ $ECHO "* not create a default route using your ISP. Try getting" >> $DEBUG
+ $ECHO "* rid of this route." >> $DEBUG
+ $ECHO "Output of netstat -n -r" >> $DEBUG
+ netstat -n -r >> $DEBUG
+ $ECHO "---------------------------------------------" >> $DEBUG
+ $ECHO "Contents of /etc/resolv.conf" >> $DEBUG
+ $ECHO "* The following section lists DNS setup." >> $DEBUG
+ $ECHO "* If you can browse by IP address, but not name, suspect" >> $DEBUG
+ $ECHO "* a DNS problem." >> $DEBUG
+ cat /etc/resolv.conf >> $DEBUG
+ $ECHO "---------------------------------------------" >> $DEBUG
+ $ECHO "* The following section lists /etc/ppp/options." >> $DEBUG
+ $ECHO "* You should have NOTHING in that file." >> $DEBUG
+ $ECHO "Contents of /etc/ppp/options" >> $DEBUG
+ cat /etc/ppp/options >> $DEBUG 2>/dev/null
+ $ECHO "---------------------------------------------" >> $DEBUG
+else
+ DEBUG=""
+fi
+
+# Sort out command-line arguments
+case "$#" in
+ 1)
+ CONFIG="$1"
+ ;;
+ 3)
+ CONFIG="$3"
+ ;;
+esac
+
+if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
+ $ECHO "$ME: Cannot read configuration file '$CONFIG'" >& 2
+ exit 1
+fi
+
+. $CONFIG
+
+# Check for command-line overriding of ETH and USER
+case "$#" in
+ 2|3)
+ ETH="$1"
+ USER="$2"
+ ;;
+esac
+
+# Check for pidfile
+if [ -r "$PIDFILE" ] ; then
+ PID=`cat "$PIDFILE"`
+ # Check if still running
+ kill -0 $PID > /dev/null 2>&1
+ if [ $? = 0 ] ; then
+ $ECHO "$ME: There already seems to be an ADSL connection up (PID $PID)" >& 2
+ exit 1
+ fi
+ # Delete bogus PIDFILE
+ rm -f "$PIDFILE" "$PIDFILE.pppd" "$PIDFILE.pppoe" "$PIDFILE.start"
+fi
+
+echo $$ > $PIDFILE.start
+
+# Start the connection in the background unless we're debugging
+if [ "$DEBUG" != "" ] ; then
+ $CONNECT "$@"
+ exit 0
+fi
+
+$CONNECT "$@" > /dev/null 2>&1 &
+CONNECT_PID=$!
+
+if [ "$CONNECT_TIMEOUT" = "" -o "$CONNECT_TIMEOUT" = 0 ] ; then
+ exit 0
+fi
+
+# Don't monitor connection if dial-on-demand
+if [ "$DEMAND" != "" -a "$DEMAND" != "no" ] ; then
+ exit 0
+fi
+
+# Monitor connection
+TIME=0
+while [ true ] ; do
+ @sbindir@/adsl-status $CONFIG > /dev/null 2>&1
+
+ # Looks like the interface came up
+ if [ $? = 0 ] ; then
+ # Print newline if standard input is a TTY
+ tty -s && $ECHO " Connected!"
+ exit 0
+ fi
+
+ if test -n "$FORCEPING" ; then
+ $ECHO -n "$FORCEPING"
+ else
+ tty -s && $ECHO -n "$PING"
+ fi
+ sleep $CONNECT_POLL
+ TIME=`expr $TIME + $CONNECT_POLL`
+ if [ $TIME -gt $CONNECT_TIMEOUT ] ; then
+ break
+ fi
+done
+
+$ECHO "TIMED OUT" >& 2
+# Timed out! Kill the adsl-connect process and quit
+kill $CONNECT_PID > /dev/null 2>&1
+exit 1
+
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-status b/mdk-stage1/rp-pppoe/scripts/adsl-status
new file mode 100755
index 000000000..590bdb58a
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-status
@@ -0,0 +1,82 @@
+#!/bin/sh
+#***********************************************************************
+#
+# adsl-status
+#
+# Shell script to report on status of ADSL connection
+#
+# Copyright (C) 2000-2001 Roaring Penguin Software Inc.
+#
+# $Id: adsl-status 6005 2001-06-11 13:49:39Z gc $
+#
+# This file may be distributed under the terms of the GNU General
+# Public License.
+#
+# Usage: adsl-status [config_file]
+# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
+#
+#***********************************************************************
+
+# Defaults
+CONFIG=/etc/ppp/pppoe.conf
+
+case "$#" in
+ 1)
+ CONFIG="$1"
+ ;;
+esac
+
+if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
+ echo "$0: Cannot read configuration file '$CONFIG'" >& 2
+ exit 1
+fi
+
+. $CONFIG
+
+PPPOE_PIDFILE="$PIDFILE.pppoe"
+PPPD_PIDFILE="$PIDFILE.pppd"
+
+if [ "$DEMAND" != "no" ] ; then
+ echo "Note: You have enabled demand-connection; adsl-status may be inaccurate."
+fi
+
+# If no PPPOE_PIDFILE, connection is down, unless we're using the Linux plugin
+if [ "$LINUX_PLUGIN" = "" ] ; then
+ if [ ! -r "$PPPOE_PIDFILE" ] ; then
+ echo "adsl-status: Link is down (can't read pppoe PID file $PPPOE_PIDFILE)"
+ exit 1
+ fi
+fi
+
+# If no PPPD_PIDFILE, something fishy!
+if [ ! -r "$PPPD_PIDFILE" ] ; then
+ echo "adsl-status: Link is down (can't read pppd PID file $PPPD_PIDFILE)"
+ exit 1
+fi
+
+PPPD_PID=`cat "$PPPD_PIDFILE"`
+
+# Sigh. Some versions of pppd put PID files in /var/run; others put them
+# in /etc/ppp. Since it's too messy to figure out what pppd does, we
+# try both locations.
+for i in /etc/ppp/ppp*.pid /var/run/ppp*.pid ; do
+ if [ -r $i ] ; then
+ PID=`cat $i`
+ if [ "$PID" = "$PPPD_PID" ] ; then
+ IF=`basename $i .pid`
+ netstat -rn | grep " ${IF}\$" > /dev/null
+ # /sbin/ifconfig $IF | grep "UP.*POINTOPOINT" > /dev/null
+ if [ "$?" != "0" ] ; then
+ echo "adsl-status: Link is attached to $IF, but $IF is down"
+ exit 1
+ fi
+ echo "adsl-status: Link is up and running on interface $IF"
+ /sbin/ifconfig $IF
+ exit 0
+ fi
+ fi
+done
+
+echo "adsl-status: Link is down -- could not find interface corresponding to"
+echo "pppd pid $PPPD_PID"
+exit 1 \ No newline at end of file
diff --git a/mdk-stage1/rp-pppoe/scripts/adsl-stop.in b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
new file mode 100755
index 000000000..060845ec3
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/scripts/adsl-stop.in
@@ -0,0 +1,84 @@
+#!/bin/sh
+# @configure_input@
+#***********************************************************************
+#
+# adsl-stop
+#
+# Shell script to bring down an ADSL connection
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# $Id: adsl-stop.in 6005 2001-06-11 13:49:39Z gc $
+#
+# This file may be distributed under the terms of the GNU General
+# Public License.
+#
+# Usage: adsl-stop [config_file]
+# If config_file is omitted, defaults to /etc/ppp/pppoe.conf
+#
+#***********************************************************************
+
+ME="`basename $0`"
+LOGGER="/usr/bin/logger -t $ME"
+CONFIG="$1"
+if [ "$CONFIG" = "" ] ; then
+ CONFIG=/etc/ppp/pppoe.conf
+fi
+
+if [ ! -f "$CONFIG" -o ! -r "$CONFIG" ] ; then
+ echo "$ME: Cannot read configuration file '$CONFIG'" >& 2
+ exit 1
+fi
+
+. $CONFIG
+
+PPPOE_PIDFILE="$PIDFILE.pppoe"
+PPPD_PIDFILE="$PIDFILE.pppd"
+STARTPID="$PIDFILE.start"
+
+# Backward config file compatibility
+if test "$DEMAND" = "" ; then
+ DEMAND=no
+fi
+
+# Ignore SIGTERM
+trap "" 15
+
+# Check for pidfile
+if [ -r "$PIDFILE" ] ; then
+ PID=`cat $PIDFILE`
+
+ # Check if still running
+ kill -0 $PID > /dev/null 2>&1
+ if [ $? != 0 ] ; then
+ echo "$ME: The adsl-connect script (PID $PID) appears to have died" >& 2
+ fi
+
+ # Kill pppd, which should in turn kill pppoe
+ if [ -r "$PPPD_PIDFILE" ] ; then
+ PPPD_PID=`cat "$PPPD_PIDFILE"`
+ $LOGGER -p daemon.notice "Killing pppd"
+ echo "Killing pppd ($PPPD_PID)"
+ kill $PPPD_PID > /dev/null 2>&1 || exit 1
+ fi
+
+ # Kill adsl-start
+ PIDS=`cat $STARTPID`
+ kill -0 $PIDS > /dev/null 2>&1
+ if [ $? = 0 ] ; then
+ $LOGGER -p daemon.notice "Killing adsl-connect"
+ kill $PIDS > /dev/null 2>&1
+ fi
+
+ # Kill adsl-connect
+ $LOGGER -p daemon.notice "Killing adsl-connect"
+ echo "Killing adsl-connect ($PID)"
+ kill $PID > /dev/null 2>&1
+
+ rm -f "$PIDFILE" "$PPPD_PIDFILE" "$PPPOE_PIDFILE" "$STARTPID"
+else
+ echo "$ME: No ADSL connection appears to be running" >&2
+ exit 1
+fi
+
+exit 0
diff --git a/mdk-stage1/rp-pppoe/src/Makefile b/mdk-stage1/rp-pppoe/src/Makefile
new file mode 100644
index 000000000..b618e12a9
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/Makefile
@@ -0,0 +1,45 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+top_dir = ../..
+
+include $(top_dir)/Makefile.common
+
+
+TARGETS = pppoe
+
+BINTARGET = ../../pppoe
+
+
+all: $(TARGETS)
+
+clean:
+ rm -f *.o *.a $(BINTARGET) pppoe
+
+FLAGS = -Wall -Werror -Os -fomit-frame-pointer '-DPPPOE_PATH="/sbin/pppoe"' '-DPPPD_PATH="/sbin/pppd"' '-DVERSION="3.0-stg1"'
+
+ifeq (GLIBC, $(L))
+EXTRA_LDFLAGS = -static
+endif
+
+OBJS = pppoe.o if.o debug.o common.o ppp.o discovery.o
+
+pppoe: $(OBJS)
+ $(DIET) gcc -o $@ $^ $(EXTRA_LDFLAGS)
+ $(STRIPCMD) $@
+ cp -f $@ $(BINTARGET)
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(FLAGS) $(INCLUDES) $(INCS) -c $< -o $@
diff --git a/mdk-stage1/rp-pppoe/src/Makefile.in b/mdk-stage1/rp-pppoe/src/Makefile.in
new file mode 100644
index 000000000..098cb2fd4
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/Makefile.in
@@ -0,0 +1,257 @@
+# @configure_input@
+#***********************************************************************
+#
+# Makefile
+#
+# Makefile for Roaring Penguin's Linux user-space PPPoE client.
+#
+# Copyright (C) 2000 Roaring Penguin Software Inc.
+#
+# This program may be distributed according to the terms of the GNU
+# General Public License, version 2 or (at your option) any later version.
+#
+# $Id: Makefile.in 6005 2001-06-11 13:49:39Z gc $
+#***********************************************************************
+
+# Version is set ONLY IN THE MAKEFILE! Don't delete this!
+VERSION=3.0
+
+DEFINES=
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+mandir=@mandir@
+docdir=@prefix@/doc/rp-pppoe-$(VERSION)
+install=@INSTALL@
+install_dir=@INSTALL@ -d
+sbindir=@sbindir@
+
+# Plugin for pppd on Linux
+LINUX_KERNELMODE_PLUGIN=@LINUX_KERNELMODE_PLUGIN@
+PPPD_INCDIR=@PPPD_INCDIR@
+
+# PPPoE relay -- currently only supported on Linux
+PPPOE_RELAY=@PPPOE_RELAY@
+
+# Program paths
+PPPOE_PATH=$(sbindir)/pppoe
+PPPD_PATH=@PPPD@
+
+# Kernel-mode plugin gets installed here.
+PLUGIN_DIR=/etc/ppp/plugins
+PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so
+
+# Configuration file paths
+PPPOESERVER_PPPD_OPTIONS=/etc/ppp/pppoe-server-options
+
+PATHS='-DPPPOE_PATH="$(PPPOE_PATH)"' '-DPPPD_PATH="$(PPPD_PATH)"' \
+ '-DPLUGIN_PATH="$(PLUGIN_PATH)"' \
+ '-DPPPOE_SERVER_OPTIONS="$(PPPOESERVER_PPPD_OPTIONS)"'
+
+CFLAGS= @CFLAGS@ $(DEFINES) $(PATHS)
+TARGETS=@TARGETS@
+
+all: $(TARGETS)
+ @echo ""
+ @echo "Type 'make install' as root to install the software."
+
+pppoe-sniff: pppoe-sniff.o if.o common.o debug.o
+ @CC@ -o pppoe-sniff pppoe-sniff.o if.o common.o debug.o $(LIBS)
+
+pppoe-server: pppoe-server.o if.o debug.o common.o md5.o
+ @CC@ -o pppoe-server pppoe-server.o if.o debug.o common.o md5.o $(LIBS)
+
+pppoe: pppoe.o if.o debug.o common.o ppp.o discovery.o
+ @CC@ -o pppoe pppoe.o if.o debug.o common.o ppp.o discovery.o $(LIBS)
+
+pppoe-relay: relay.o if.o debug.o common.o
+ @CC@ -o pppoe-relay relay.o if.o debug.o common.o $(LIBS)
+
+pppoe.o: pppoe.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe.o pppoe.c
+
+discovery.o: discovery.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o discovery.o discovery.c
+
+ppp.o: ppp.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o ppp.o ppp.c
+
+md5.o: md5.c md5.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o md5.o md5.c
+
+pppoe-server.o: pppoe-server.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-server.o pppoe-server.c
+
+pppoe-sniff.o: pppoe-sniff.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o pppoe-sniff.o pppoe-sniff.c
+
+if.o: if.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o if.o if.c
+
+common.o: common.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o common.o common.c
+
+debug.o: debug.c pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o debug.o debug.c
+
+relay.o: relay.c relay.h pppoe.h
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o relay.o relay.c
+
+# Linux-specific plugin
+rp-pppoe.so: plugin/libplugin.a plugin/plugin.o
+ @CC@ -o rp-pppoe.so -shared plugin/plugin.o plugin/libplugin.a
+
+plugin/plugin.o: plugin.c
+ @CC@ '-DVERSION="$(VERSION)"' -I$(PPPD_INCDIR) -c -o plugin/plugin.o -fPIC plugin.c
+
+plugin/libplugin.a: plugin/discovery.o plugin/if.o plugin/common.o plugin/debug.o
+ ar -rc $@ $^
+
+plugin/discovery.o: discovery.c
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/discovery.o -fPIC discovery.c
+
+plugin/if.o: if.c
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/if.o -fPIC if.c
+
+plugin/debug.o: debug.c
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/debug.o -fPIC debug.c
+
+plugin/common.o: common.c
+ @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o plugin/common.o -fPIC common.c
+
+install: all
+ -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 -s pppoe $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 -s pppoe-server $(RPM_INSTALL_ROOT)$(sbindir)
+ if test -x pppoe-relay ; then $(install) -m 755 -s pppoe-relay $(RPM_INSTALL_ROOT)$(sbindir); fi
+ $(install) -m 755 -s pppoe-sniff $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 ../scripts/adsl-connect $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 ../scripts/adsl-start $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 ../scripts/adsl-status $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 ../scripts/adsl-stop $(RPM_INSTALL_ROOT)$(sbindir)
+ $(install) -m 755 ../scripts/adsl-setup $(RPM_INSTALL_ROOT)$(sbindir)
+ -mkdir -p $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../doc/CHANGES $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../doc/KERNEL-MODE-PPPOE $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../doc/HOW-TO-CONNECT $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../doc/LICENSE $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../README $(RPM_INSTALL_ROOT)$(docdir)
+ $(install) -m 644 ../configs/pap-secrets $(RPM_INSTALL_ROOT)$(docdir)
+ -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man8
+ for i in $(TARGETS) ; do \
+ if test -f ../man/$$i.8 ; then \
+ $(install) -m 644 ../man/$$i.8 $(RPM_INSTALL_ROOT)$(mandir)/man8 || exit 1; \
+ fi; \
+ done
+ $(install) -m 644 ../man/adsl-start.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
+ $(install) -m 644 ../man/adsl-stop.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
+ $(install) -m 644 ../man/adsl-status.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
+ $(install) -m 644 ../man/adsl-connect.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
+ $(install) -m 644 ../man/adsl-setup.8 $(RPM_INSTALL_ROOT)$(mandir)/man8
+ -mkdir -p $(RPM_INSTALL_ROOT)$(mandir)/man5
+ $(install) -m 644 ../man/pppoe.conf.5 $(RPM_INSTALL_ROOT)$(mandir)/man5
+ -mkdir -p $(RPM_INSTALL_ROOT)/etc/ppp
+ -mkdir -p $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)
+ -echo "# Directory created by rp-pppoe for kernel-mode plugin" > $(RPM_INSTALL_ROOT)$(PLUGIN_DIR)/README
+ @if test -r rp-pppoe.so; then $(install) -m 755 rp-pppoe.so $(RPM_INSTALL_ROOT)$(PLUGIN_DIR); fi
+ @for i in pppoe.conf firewall-standalone firewall-masq ; do \
+ if [ ! -f $(RPM_INSTALL_ROOT)/etc/ppp/$$i ] ; then \
+ $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp ; \
+ else \
+ echo "NOT overwriting existing $(RPM_INSTALL_ROOT)/etc/ppp/$$i" ;\
+ $(install) -m 644 ../configs/$$i $(RPM_INSTALL_ROOT)/etc/ppp/$$i-$(VERSION) ;\
+ fi ;\
+ done
+ @if [ ! -f $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ] ; then \
+ $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS) ; \
+ else \
+ echo "NOT overwriting existing $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)"; \
+ $(install) -m 644 ../configs/pppoe-server-options $(RPM_INSTALL_ROOT)$(PPPOESERVER_PPPD_OPTIONS)-example ; \
+ fi
+ @if [ -f /etc/redhat-release ] ; then \
+ echo "Looks like a Red Hat system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
+ mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
+ $(install) -m 755 ../scripts/adsl-init $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
+ fi
+ @if [ -f /etc/turbolinux-release ] ; then \
+ echo "Looks like a TurboLinux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
+ mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
+ $(install) -m 755 adsl-init-turbolinux $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
+ fi
+ @if [ -f /etc/SuSE-release ] ; then \
+ echo "Looks like a SuSE Linux system; installing $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl" ; \
+ mkdir -p $(RPM_INSTALL_ROOT)/etc/rc.d/init.d ;\
+ $(install) -m 755 ../scripts/adsl-init-suse $(RPM_INSTALL_ROOT)/etc/rc.d/init.d/adsl ; \
+ fi
+ @echo ""
+ @echo "Type 'adsl-setup' to configure the software."
+
+distro:
+ cd ..; \
+ rm -rf rp-pppoe-$(VERSION) ; \
+ mkdir rp-pppoe-$(VERSION) || exit 1; \
+ for i in README go go-gui rp-pppoe.spec rp-pppoe-gui.spec; do \
+ cp $$i rp-pppoe-$(VERSION) || exit 1; \
+ done ; \
+ mkdir rp-pppoe-$(VERSION)/gui || exit 1; \
+ for i in Makefile.in tkpppoe.in wrapper.c tkpppoe.1 pppoe-wrapper.1 ; do \
+ cp gui/$$i rp-pppoe-$(VERSION)/gui || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/gui/html || exit 1; \
+ for i in mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png tkpppoe.html ; do \
+ cp gui/html/$$i rp-pppoe-$(VERSION)/gui/html || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/configs || exit 1; \
+ for i in firewall-masq firewall-standalone pap-secrets pppoe-server-options pppoe.conf ; do \
+ cp configs/$$i rp-pppoe-$(VERSION)/configs || exit 1; \
+ done ; \
+ mkdir rp-pppoe-$(VERSION)/doc || exit 1; \
+ for i in CHANGES KERNEL-MODE-PPPOE HOW-TO-CONNECT LICENSE PROBLEMS ; do \
+ cp doc/$$i rp-pppoe-$(VERSION)/doc || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/man || exit 1; \
+ for i in adsl-connect.8 adsl-setup.8 adsl-start.8 adsl-status.8 adsl-stop.8 pppoe-server.8 pppoe-sniff.8 pppoe.8 pppoe-relay.8 pppoe.conf.5 ; do \
+ cp man/$$i rp-pppoe-$(VERSION)/man || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/scripts || exit 1; \
+ for i in adsl-connect.in adsl-init-suse.in adsl-init-turbolinux.in adsl-init.in adsl-setup.in adsl-start.in adsl-stop.in adsl-status ; do \
+ cp scripts/$$i rp-pppoe-$(VERSION)/scripts || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/src || exit 1; \
+ for i in Makefile.in install-sh common.c config.h.in configure configure.in debug.c discovery.c if.c md5.c md5.h ppp.c pppoe-server.c pppoe-sniff.c pppoe.c pppoe.h plugin.c relay.c relay.h ; do \
+ cp src/$$i rp-pppoe-$(VERSION)/src || exit 1; \
+ done; \
+ mkdir rp-pppoe-$(VERSION)/src/plugin || exit 1; \
+ tar cvf rp-pppoe-$(VERSION).tar rp-pppoe-$(VERSION)/* ; \
+ gzip -f -v -9 rp-pppoe-$(VERSION).tar ; \
+
+rpms: distro
+ cp ../rp-pppoe-$(VERSION).tar.gz /usr/src/redhat/SOURCES
+ cd ..; \
+ rpm -ba rp-pppoe.spec; \
+ rpm -ba rp-pppoe-gui.spec
+
+clean:
+ rm -f *.o pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
+
+distclean: clean
+ rm -f Makefile config.h config.cache config.log config.status
+ rm -f ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-setup ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux
+
+update-version:
+ sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
+ sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
+ sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
+ sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
+ sed -e 's+^Requires: rp-pppoe >=.*$$+Requires: rp-pppoe >= $(VERSION)+' ../rp-pppoe-gui.spec > ../rp-pppoe-gui.spec.new && mv ../rp-pppoe-gui.spec.new ../rp-pppoe-gui.spec
+
+# Convenience target for David! Don't try to use this one.
+km:
+ ./configure --enable-plugin=/home/dfs/Archive/PPP/ppp-2.4.0.pppoe4-patched-dfs
+
+.PHONY: update-version
+
+.PHONY: clean
+
+.PHONY: distclean
+
+.PHONY: rpms
diff --git a/mdk-stage1/rp-pppoe/src/common.c b/mdk-stage1/rp-pppoe/src/common.c
new file mode 100644
index 000000000..d437ee45c
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/common.c
@@ -0,0 +1,485 @@
+/***********************************************************************
+*
+* common.c
+*
+* Implementation of user-space PPPoE redirector for Linux.
+*
+* Common functions used by PPPoE client and server
+*
+* Copyright (C) 2000 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: common.c 22473 2005-05-06 06:30:51Z rgarciasuarez $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+/**********************************************************************
+*%FUNCTION: parsePacket
+*%ARGUMENTS:
+* packet -- the PPPoE discovery packet to parse
+* func -- function called for each tag in the packet
+* extra -- an opaque data pointer supplied to parsing function
+*%RETURNS:
+* 0 if everything went well; -1 if there was an error
+*%DESCRIPTION:
+* Parses a PPPoE discovery packet, calling "func" for each tag in the packet.
+* "func" is passed the additional argument "extra".
+***********************************************************************/
+int
+parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra)
+{
+ UINT16_t len = ntohs(packet->length);
+ unsigned char *curTag;
+ UINT16_t tagType, tagLen;
+
+ if (packet->ver != 1) {
+ syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
+ return -1;
+ }
+ if (packet->type != 1) {
+ syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
+ return -1;
+ }
+
+ /* Do some sanity checks on packet */
+ if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
+ syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
+ return -1;
+ }
+
+ /* Step through the tags */
+ curTag = packet->payload;
+ while(curTag - packet->payload < len) {
+ /* Alignment is not guaranteed, so do this by hand... */
+ tagType = (((UINT16_t) curTag[0]) << 8) +
+ (UINT16_t) curTag[1];
+ tagLen = (((UINT16_t) curTag[2]) << 8) +
+ (UINT16_t) curTag[3];
+ if (tagType == TAG_END_OF_LIST) {
+ return 0;
+ }
+ if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
+ syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
+ return -1;
+ }
+ func(tagType, tagLen, curTag+TAG_HDR_SIZE, extra);
+ curTag = curTag + TAG_HDR_SIZE + tagLen;
+ }
+ return 0;
+}
+
+/**********************************************************************
+*%FUNCTION: findTag
+*%ARGUMENTS:
+* packet -- the PPPoE discovery packet to parse
+* type -- the type of the tag to look for
+* tag -- will be filled in with tag contents
+*%RETURNS:
+* A pointer to the tag if one of the specified type is found; NULL
+* otherwise.
+*%DESCRIPTION:
+* Looks for a specific tag type.
+***********************************************************************/
+unsigned char *
+findTag(PPPoEPacket *packet, UINT16_t type, PPPoETag *tag)
+{
+ UINT16_t len = ntohs(packet->length);
+ unsigned char *curTag;
+ UINT16_t tagType, tagLen;
+
+ if (packet->ver != 1) {
+ syslog(LOG_ERR, "Invalid PPPoE version (%d)", (int) packet->ver);
+ return NULL;
+ }
+ if (packet->type != 1) {
+ syslog(LOG_ERR, "Invalid PPPoE type (%d)", (int) packet->type);
+ return NULL;
+ }
+
+ /* Do some sanity checks on packet */
+ if (len > ETH_DATA_LEN - 6) { /* 6-byte overhead for PPPoE header */
+ syslog(LOG_ERR, "Invalid PPPoE packet length (%u)", len);
+ return NULL;
+ }
+
+ /* Step through the tags */
+ curTag = packet->payload;
+ while(curTag - packet->payload < len) {
+ /* Alignment is not guaranteed, so do this by hand... */
+ tagType = (((UINT16_t) curTag[0]) << 8) +
+ (UINT16_t) curTag[1];
+ tagLen = (((UINT16_t) curTag[2]) << 8) +
+ (UINT16_t) curTag[3];
+ if (tagType == TAG_END_OF_LIST) {
+ return NULL;
+ }
+ if ((curTag - packet->payload) + tagLen + TAG_HDR_SIZE > len) {
+ syslog(LOG_ERR, "Invalid PPPoE tag length (%u)", tagLen);
+ return NULL;
+ }
+ if (tagType == type) {
+ memcpy(tag, curTag, tagLen + TAG_HDR_SIZE);
+ return curTag;
+ }
+ curTag = curTag + TAG_HDR_SIZE + tagLen;
+ }
+ return NULL;
+}
+
+/**********************************************************************
+*%FUNCTION: printErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog.
+***********************************************************************/
+void
+printErr(char const *str)
+{
+ fprintf(stderr, "pppoe: %s\n", str);
+ syslog(LOG_ERR, "%s", str);
+}
+
+
+/**********************************************************************
+*%FUNCTION: strDup
+*%ARGUMENTS:
+* str -- string to copy
+*%RETURNS:
+* A malloc'd copy of str. Exits if malloc fails.
+***********************************************************************/
+char *
+strDup(char const *str)
+{
+ char *copy = malloc(strlen(str)+1);
+ if (!copy) {
+ rp_fatal("strdup failed");
+ }
+ strcpy(copy, str);
+ return copy;
+}
+
+/**********************************************************************
+*%FUNCTION: computeTCPChecksum
+*%ARGUMENTS:
+* ipHdr -- pointer to IP header
+* tcpHdr -- pointer to TCP header
+*%RETURNS:
+* The computed TCP checksum
+***********************************************************************/
+UINT16_t
+computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr)
+{
+ UINT32_t sum = 0;
+ UINT16_t count = ipHdr[2] * 256 + ipHdr[3];
+ unsigned char *addr = tcpHdr;
+ unsigned char pseudoHeader[12];
+
+ /* Count number of bytes in TCP header and data */
+ count -= (ipHdr[0] & 0x0F) * 4;
+
+ memcpy(pseudoHeader, ipHdr+12, 8);
+ pseudoHeader[8] = 0;
+ pseudoHeader[9] = ipHdr[9];
+ pseudoHeader[10] = (count >> 8) & 0xFF;
+ pseudoHeader[11] = (count & 0xFF);
+
+ /* Checksum the pseudo-header */
+ sum += * (UINT16_t *) pseudoHeader;
+ sum += * ((UINT16_t *) (pseudoHeader+2));
+ sum += * ((UINT16_t *) (pseudoHeader+4));
+ sum += * ((UINT16_t *) (pseudoHeader+6));
+ sum += * ((UINT16_t *) (pseudoHeader+8));
+ sum += * ((UINT16_t *) (pseudoHeader+10));
+
+ /* Checksum the TCP header and data */
+ while (count > 1) {
+ sum += * (UINT16_t *) addr;
+ addr += 2;
+ count -= 2;
+ }
+ if (count > 0) {
+ sum += *addr;
+ }
+
+ while(sum >> 16) {
+ sum = (sum & 0xffff) + (sum >> 16);
+ }
+ return (UINT16_t) (~sum & 0xFFFF);
+}
+
+/**********************************************************************
+*%FUNCTION: clampMSS
+*%ARGUMENTS:
+* packet -- PPPoE session packet
+* dir -- either "incoming" or "outgoing"
+* clampMss -- clamp value
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Clamps MSS option if TCP SYN flag is set.
+***********************************************************************/
+void
+clampMSS(PPPoEPacket *packet, char const *dir, int clampMss)
+{
+ unsigned char *tcpHdr;
+ unsigned char *ipHdr;
+ unsigned char *opt;
+ unsigned char *endHdr;
+ unsigned char *mssopt = NULL;
+ UINT16_t csum;
+
+ int len;
+
+ /* Is it IPv4? */
+ if (packet->payload[0] != 0x00 ||
+ packet->payload[1] != 0x21) {
+ /* Nope, ignore it */
+ return;
+ }
+
+ ipHdr = packet->payload + 2;
+
+ /* Is it too short? */
+ len = (int) ntohs(packet->length);
+ if (len < 42) {
+ /* 20 byte IP header; 20 byte TCP header; 2 byte PPP protocol */
+ return;
+ }
+
+ /* Verify once more that it's IPv4 */
+ if ((ipHdr[0] & 0xF0) != 0x40) {
+ return;
+ }
+
+ /* Is it a fragment that's not at the beginning of the packet? */
+ if ((ipHdr[6] & 0x1F) || ipHdr[7]) {
+ /* Yup, don't touch! */
+ return;
+ }
+ /* Is it TCP? */
+ if (ipHdr[9] != 0x06) {
+ return;
+ }
+
+ /* Get start of TCP header */
+ tcpHdr = ipHdr + (ipHdr[0] & 0x0F) * 4;
+
+ /* Is SYN set? */
+ if (!(tcpHdr[13] & 0x02)) {
+ return;
+ }
+
+ /* Compute and verify TCP checksum -- do not touch a packet with a bad
+ checksum */
+ csum = computeTCPChecksum(ipHdr, tcpHdr);
+ if (csum) {
+ syslog(LOG_ERR, "Bad TCP checksum %x", (unsigned int) csum);
+
+ /* Upper layers will drop it */
+ return;
+ }
+
+ /* Look for existing MSS option */
+ endHdr = tcpHdr + ((tcpHdr[12] & 0xF0) >> 2);
+ opt = tcpHdr + 20;
+ while (opt < endHdr) {
+ if (!*opt) break; /* End of options */
+ switch(*opt) {
+ case 1:
+ opt++;
+ break;
+
+ case 2:
+ if (opt[1] != 4) {
+ /* Something fishy about MSS option length. */
+ syslog(LOG_ERR,
+ "Bogus length for MSS option (%u) from %u.%u.%u.%u",
+ (unsigned int) opt[1],
+ (unsigned int) ipHdr[12],
+ (unsigned int) ipHdr[13],
+ (unsigned int) ipHdr[14],
+ (unsigned int) ipHdr[15]);
+ return;
+ }
+ mssopt = opt;
+ break;
+ default:
+ if (opt[1] < 2) {
+ /* Someone's trying to attack us? */
+ syslog(LOG_ERR,
+ "Bogus TCP option length (%u) from %u.%u.%u.%u",
+ (unsigned int) opt[1],
+ (unsigned int) ipHdr[12],
+ (unsigned int) ipHdr[13],
+ (unsigned int) ipHdr[14],
+ (unsigned int) ipHdr[15]);
+ return;
+ }
+ opt += (opt[1]);
+ break;
+ }
+ /* Found existing MSS option? */
+ if (mssopt) break;
+ }
+
+ /* If MSS exists and it's low enough, do nothing */
+ if (mssopt) {
+ unsigned mss = mssopt[2] * 256 + mssopt[3];
+ if (mss <= clampMss) {
+ return;
+ }
+
+ mssopt[2] = (((unsigned) clampMss) >> 8) & 0xFF;
+ mssopt[3] = ((unsigned) clampMss) & 0xFF;
+ } else {
+ /* No MSS option. Don't add one; we'll have to use 536. */
+ return;
+ }
+
+ /* Recompute TCP checksum */
+ tcpHdr[16] = 0;
+ tcpHdr[17] = 0;
+ csum = computeTCPChecksum(ipHdr, tcpHdr);
+ (* (UINT16_t *) (tcpHdr+16)) = csum;
+}
+
+/***********************************************************************
+*%FUNCTION: sendPADT
+*%ARGUMENTS:
+* conn -- PPPoE connection
+* msg -- if non-NULL, extra error message to include in PADT packet.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADT packet
+***********************************************************************/
+void
+sendPADT(PPPoEConnection *conn, char const *msg)
+{
+ PPPoEPacket packet;
+ unsigned char *cursor = packet.payload;
+
+ UINT16_t plen = 0;
+
+ /* Do nothing if no session established yet */
+ if (!conn->session) return;
+
+ /* Do nothing if no discovery socket */
+ if (conn->discoverySocket < 0) return;
+
+ memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
+ memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
+
+ packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ packet.ver = 1;
+ packet.type = 1;
+ packet.code = CODE_PADT;
+ packet.session = conn->session;
+
+ /* Reset Session to zero so there is no possibility of
+ recursive calls to this function by any signal handler */
+ conn->session = 0;
+
+ /* If we're using Host-Uniq, copy it over */
+ if (conn->useHostUniq) {
+ PPPoETag hostUniq;
+ pid_t pid = getpid();
+ hostUniq.type = htons(TAG_HOST_UNIQ);
+ hostUniq.length = htons(sizeof(pid));
+ memcpy(hostUniq.payload, &pid, sizeof(pid));
+ memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
+ cursor += sizeof(pid) + TAG_HDR_SIZE;
+ plen += sizeof(pid) + TAG_HDR_SIZE;
+ }
+
+ /* Copy error message */
+ if (msg) {
+ PPPoETag err;
+ size_t elen = strlen(msg);
+ err.type = htons(TAG_GENERIC_ERROR);
+ err.length = htons(elen);
+ strcpy((char *)err.payload, msg);
+ memcpy(cursor, &err, elen + TAG_HDR_SIZE);
+ cursor += elen + TAG_HDR_SIZE;
+ plen += elen + TAG_HDR_SIZE;
+ }
+
+ /* Copy cookie and relay-ID if needed */
+ if (conn->cookie.type) {
+ CHECK_ROOM(cursor, packet.payload,
+ ntohs(conn->cookie.length) + TAG_HDR_SIZE);
+ memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
+ cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
+ plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
+ }
+
+ if (conn->relayId.type) {
+ CHECK_ROOM(cursor, packet.payload,
+ ntohs(conn->relayId.length) + TAG_HDR_SIZE);
+ memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
+ cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
+ plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
+ }
+
+ packet.length = htons(plen);
+ sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "SENT");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+ syslog(LOG_INFO,"Sent PADT");
+}
+
+/**********************************************************************
+*%FUNCTION: parseLogErrs
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks error tags out of a packet and logs them.
+***********************************************************************/
+void
+parseLogErrs(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ switch(type) {
+ case TAG_SERVICE_NAME_ERROR:
+ syslog(LOG_ERR, "PADT: Service-Name-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADT: Service-Name-Error: %.*s\n", (int) len, data);
+ break;
+ case TAG_AC_SYSTEM_ERROR:
+ syslog(LOG_ERR, "PADT: System-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADT: System-Error: %.*s\n", (int) len, data);
+ break;
+ case TAG_GENERIC_ERROR:
+ syslog(LOG_ERR, "PADT: Generic-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADT: Generic-Error: %.*s\n", (int) len, data);
+ break;
+ }
+}
+
diff --git a/mdk-stage1/rp-pppoe/src/config.h b/mdk-stage1/rp-pppoe/src/config.h
new file mode 100644
index 000000000..e3adf4353
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/config.h
@@ -0,0 +1,135 @@
+/* config.h. Generated automatically by configure. */
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define to empty if the keyword does not work. */
+/* #undef const */
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef pid_t */
+
+/* Define as the return type of signal handlers (int or void). */
+#define RETSIGTYPE void
+
+/* Define if the setvbuf function takes the buffering type as its second
+ argument and the buffer pointer as the third, as on System V
+ before release 3. */
+/* #undef SETVBUF_REVERSED */
+
+/* Define if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if your <sys/time.h> declares struct tm. */
+/* #undef TM_IN_SYS_TIME */
+
+#define HAVE_STRUCT_SOCKADDR_LL 1
+
+/* The number of bytes in a unsigned int. */
+#define SIZEOF_UNSIGNED_INT 4
+
+/* The number of bytes in a unsigned long. */
+#define SIZEOF_UNSIGNED_LONG 4
+
+/* The number of bytes in a unsigned short. */
+#define SIZEOF_UNSIGNED_SHORT 2
+
+/* Define if you have the select function. */
+#define HAVE_SELECT 1
+
+/* Define if you have the socket function. */
+#define HAVE_SOCKET 1
+
+/* Define if you have the strerror function. */
+#define HAVE_STRERROR 1
+
+/* Define if you have the strtol function. */
+#define HAVE_STRTOL 1
+
+/* Define if you have the <asm/types.h> header file. */
+#define HAVE_ASM_TYPES_H 1
+
+/* Define if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <getopt.h> header file. */
+#define HAVE_GETOPT_H 1
+
+/* Define if you have the <linux/if_ether.h> header file. */
+#define HAVE_LINUX_IF_ETHER_H 1
+
+/* Define if you have kernel-mode PPPoE in Linux file. */
+/* #undef HAVE_LINUX_KERNEL_PPPOE */
+
+/* Define if you have the <linux/if_packet.h> header file. */
+#define HAVE_LINUX_IF_PACKET_H 1
+
+/* Define if you have the <linux/if_pppox.h> header file. */
+#define HAVE_LINUX_IF_PPPOX_H 1
+
+/* Define if you have the <net/bpf.h> header file. */
+#define HAVE_NET_BPF_H 1
+
+/* Define if you have the <net/if_arp.h> header file. */
+//#define HAVE_NET_IF_ARP_H 1
+
+/* Define if you have the <net/ethernet.h> header file. */
+#define HAVE_NET_ETHERNET_H 1
+
+/* Define if you have the <net/if.h> header file. */
+#define HAVE_NET_IF_H 1
+
+/* Define if you have the <linux/if.h> header file. */
+#define HAVE_LINUX_IF_H 1
+
+/* Define if you have the <net/if_dl.h> header file. */
+/* #undef HAVE_NET_IF_DL_H */
+
+/* Define if you have the <net/if_ether.h> header file. */
+/* #undef HAVE_NET_IF_ETHER_H */
+
+/* Define if you have the <net/if_types.h> header file. */
+/* #undef HAVE_NET_IF_TYPES_H */
+
+/* Define if you have the <netinet/if_ether.h> header file. */
+//#define HAVE_NETINET_IF_ETHER_H 1
+
+/* Define if you have the <netpacket/packet.h> header file. */
+#define HAVE_NETPACKET_PACKET_H 1
+
+/* Define if you have the <sys/cdefs.h> header file. */
+#define HAVE_SYS_CDEFS_H 1
+
+/* Define if you have the <sys/dlpi.h> header file. */
+/* #undef HAVE_SYS_DLPI_H */
+
+/* Define if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define if you have the <syslog.h> header file. */
+#define HAVE_SYSLOG_H 1
+
+/* Define if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the N_HDLC line discipline in linux/termios.h */
+#define HAVE_N_HDLC 1
+
+/* Define if bitfields are packed in reverse order */
+#define PACK_BITFIELDS_REVERSED 1
diff --git a/mdk-stage1/rp-pppoe/src/config.h.in b/mdk-stage1/rp-pppoe/src/config.h.in
new file mode 100644
index 000000000..e3340389d
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/config.h.in
@@ -0,0 +1,134 @@
+/* config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define to empty if the keyword does not work. */
+#undef const
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef pid_t
+
+/* Define as the return type of signal handlers (int or void). */
+#undef RETSIGTYPE
+
+/* Define if the setvbuf function takes the buffering type as its second
+ argument and the buffer pointer as the third, as on System V
+ before release 3. */
+#undef SETVBUF_REVERSED
+
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* Define if your <sys/time.h> declares struct tm. */
+#undef TM_IN_SYS_TIME
+
+#undef HAVE_STRUCT_SOCKADDR_LL
+
+/* The number of bytes in a unsigned int. */
+#undef SIZEOF_UNSIGNED_INT
+
+/* The number of bytes in a unsigned long. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* The number of bytes in a unsigned short. */
+#undef SIZEOF_UNSIGNED_SHORT
+
+/* Define if you have the select function. */
+#undef HAVE_SELECT
+
+/* Define if you have the socket function. */
+#undef HAVE_SOCKET
+
+/* Define if you have the strerror function. */
+#undef HAVE_STRERROR
+
+/* Define if you have the strtol function. */
+#undef HAVE_STRTOL
+
+/* Define if you have the <asm/types.h> header file. */
+#undef HAVE_ASM_TYPES_H
+
+/* Define if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define if you have the <linux/if_ether.h> header file. */
+#undef HAVE_LINUX_IF_ETHER_H
+
+/* Define if you have kernel-mode PPPoE in Linux file. */
+#undef HAVE_LINUX_KERNEL_PPPOE
+
+/* Define if you have the <linux/if_packet.h> header file. */
+#undef HAVE_LINUX_IF_PACKET_H
+
+/* Define if you have the <linux/if_pppox.h> header file. */
+#undef HAVE_LINUX_IF_PPPOX_H
+
+/* Define if you have the <net/bpf.h> header file. */
+#undef HAVE_NET_BPF_H
+
+/* Define if you have the <net/if_arp.h> header file. */
+#undef HAVE_NET_IF_ARP_H
+
+/* Define if you have the <net/ethernet.h> header file. */
+#undef HAVE_NET_ETHERNET_H
+
+/* Define if you have the <net/if.h> header file. */
+#undef HAVE_NET_IF_H
+
+/* Define if you have the <linux/if.h> header file. */
+#undef HAVE_LINUX_IF_H
+
+/* Define if you have the <net/if_dl.h> header file. */
+#undef HAVE_NET_IF_DL_H
+
+/* Define if you have the <net/if_ether.h> header file. */
+#undef HAVE_NET_IF_ETHER_H
+
+/* Define if you have the <net/if_types.h> header file. */
+#undef HAVE_NET_IF_TYPES_H
+
+/* Define if you have the <netinet/if_ether.h> header file. */
+#undef HAVE_NETINET_IF_ETHER_H
+
+/* Define if you have the <netpacket/packet.h> header file. */
+#undef HAVE_NETPACKET_PACKET_H
+
+/* Define if you have the <sys/cdefs.h> header file. */
+#undef HAVE_SYS_CDEFS_H
+
+/* Define if you have the <sys/dlpi.h> header file. */
+#undef HAVE_SYS_DLPI_H
+
+/* Define if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the <sys/uio.h> header file. */
+#undef HAVE_SYS_UIO_H
+
+/* Define if you have the <syslog.h> header file. */
+#undef HAVE_SYSLOG_H
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define if you have the N_HDLC line discipline in linux/termios.h */
+#undef HAVE_N_HDLC
+
+/* Define if bitfields are packed in reverse order */
+#undef PACK_BITFIELDS_REVERSED
diff --git a/mdk-stage1/rp-pppoe/src/configure b/mdk-stage1/rp-pppoe/src/configure
new file mode 100755
index 000000000..eede451a1
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/configure
@@ -0,0 +1,2356 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_default_prefix=/usr
+ac_help="$ac_help
+ --enable-plugin=pppd_src_path build pppd plugin"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=pppoe.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:536: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:566: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:617: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:649: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 660 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cc_cross=no
+ else
+ ac_cv_prog_cc_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:691: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:696: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:724: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+
+
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:758: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
+ CPP="${CC-cc} -E"
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 773 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 790 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:796: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 807 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+ CPP="$ac_cv_prog_CPP"
+else
+ ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:838: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 843 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ ac_cv_header_stdc=yes
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 868 "configure"
+#include "confdefs.h"
+#include <string.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "memchr" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 886 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "free" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+if test "$cross_compiling" = yes; then
+ :
+else
+ cat > conftest.$ac_ext <<EOF
+#line 907 "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
+EOF
+if { (eval echo configure:918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ :
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_header_stdc=no
+fi
+rm -fr conftest*
+fi
+
+fi
+fi
+
+echo "$ac_t""$ac_cv_header_stdc" 1>&6
+if test $ac_cv_header_stdc = yes; then
+ cat >> confdefs.h <<\EOF
+#define STDC_HEADERS 1
+EOF
+
+fi
+
+echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
+echo "configure:942: checking for sys/wait.h that is POSIX.1 compatible" >&5
+if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 947 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+int main() {
+int s;
+wait (&s);
+s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+; return 0; }
+EOF
+if { (eval echo configure:963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
+if test $ac_cv_header_sys_wait_h = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_SYS_WAIT_H 1
+EOF
+
+fi
+
+for ac_hdr in fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:987: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 992 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for working const""... $ac_c" 1>&6
+echo "configure:1025: checking for working const" >&5
+if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1030 "configure"
+#include "confdefs.h"
+
+int main() {
+
+/* Ultrix mips cc rejects this. */
+typedef int charset[2]; const charset x;
+/* SunOS 4.1.1 cc rejects this. */
+char const *const *ccp;
+char **p;
+/* NEC SVR4.0.2 mips cc rejects this. */
+struct point {int x, y;};
+static struct point const zero = {0,0};
+/* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in an arm
+ of an if-expression whose if-part is not a constant expression */
+const char *g = "string";
+ccp = &g + (g ? g-g : 0);
+/* HPUX 7.0 cc rejects these. */
+++ccp;
+p = (char**) ccp;
+ccp = (char const *const *) p;
+{ /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+}
+{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+}
+{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+}
+{ /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+}
+{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+}
+
+; return 0; }
+EOF
+if { (eval echo configure:1079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_c_const=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_c_const" 1>&6
+if test $ac_cv_c_const = no; then
+ cat >> confdefs.h <<\EOF
+#define const
+EOF
+
+fi
+
+echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+echo "configure:1100: checking for pid_t" >&5
+if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1105 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_type_pid_t=yes
+else
+ rm -rf conftest*
+ ac_cv_type_pid_t=no
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$ac_cv_type_pid_t" 1>&6
+if test $ac_cv_type_pid_t = no; then
+ cat >> confdefs.h <<\EOF
+#define pid_t int
+EOF
+
+fi
+
+echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+echo "configure:1133: checking whether time.h and sys/time.h may both be included" >&5
+if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1138 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+int main() {
+struct tm *tp;
+; return 0; }
+EOF
+if { (eval echo configure:1147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_time=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_time" 1>&6
+if test $ac_cv_header_time = yes; then
+ cat >> confdefs.h <<\EOF
+#define TIME_WITH_SYS_TIME 1
+EOF
+
+fi
+
+echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
+echo "configure:1168: checking whether struct tm is in sys/time.h or time.h" >&5
+if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1173 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <time.h>
+int main() {
+struct tm *tp; tp->tm_sec;
+; return 0; }
+EOF
+if { (eval echo configure:1181: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_struct_tm=time.h
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_struct_tm=sys/time.h
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_struct_tm" 1>&6
+if test $ac_cv_struct_tm = sys/time.h; then
+ cat >> confdefs.h <<\EOF
+#define TM_IN_SYS_TIME 1
+EOF
+
+fi
+
+
+# Extract the first word of "echo", so it can be a program name with args.
+set dummy echo; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1205: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_ECHO'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$ECHO" in
+ /*)
+ ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_ECHO="$ECHO" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="/usr/ucb/bin:$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_ECHO="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_ECHO" && ac_cv_path_ECHO=""""
+ ;;
+esac
+fi
+ECHO="$ac_cv_path_ECHO"
+if test -n "$ECHO"; then
+ echo "$ac_t""$ECHO" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+$ECHO -n "checking for struct sockaddr_ll... "
+cat > conftest.$ac_ext <<EOF
+#line 1241 "configure"
+#include "confdefs.h"
+#include <asm/types.h>
+#include <linux/if_packet.h>
+#include <linux/if_ether.h>
+
+int main() {
+struct sockaddr_ll sa;
+; return 0; }
+EOF
+if { (eval echo configure:1251: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_struct_sockaddr_ll=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_struct_sockaddr_ll=no
+fi
+rm -f conftest*
+$ECHO $ac_cv_struct_sockaddr_ll
+if test "$ac_cv_struct_sockaddr_ll" = yes ; then
+cat >> confdefs.h <<\EOF
+#define HAVE_STRUCT_SOCKADDR_LL 1
+EOF
+
+fi
+
+$ECHO -n "checking for N_HDLC line discipline... "
+cat > conftest.$ac_ext <<EOF
+#line 1271 "configure"
+#include "confdefs.h"
+#include <linux/termios.h>
+int main() {
+int x = N_HDLC;
+; return 0; }
+EOF
+if { (eval echo configure:1278: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_n_hdlc=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_n_hdlc=no
+fi
+rm -f conftest*
+$ECHO $ac_cv_n_hdlc
+if test "$ac_cv_n_hdlc" = yes ; then
+cat >> confdefs.h <<\EOF
+#define HAVE_N_HDLC 1
+EOF
+
+fi
+
+# Check whether --enable-plugin or --disable-plugin was given.
+if test "${enable_plugin+set}" = set; then
+ enableval="$enable_plugin"
+ ac_cv_pluginpath=$enableval
+else
+ ac_cv_pluginpath=no
+fi
+
+
+LINUX_KERNELMODE_PLUGIN=""
+PPPD_INCDIR=""
+if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
+ if test "$ac_cv_pluginpath" != no ; then
+ LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
+ PPPD_INCDIR=$ac_cv_pluginpath
+ fi
+fi
+
+
+
+
+PPPOE_RELAY=""
+if test "`uname -s`" = "Linux" ; then
+ PPPOE_RELAY=pppoe-relay
+fi
+
+
+echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
+echo "configure:1324: checking for 8-bit clean memcmp" >&5
+if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_memcmp_clean=no
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1332 "configure"
+#include "confdefs.h"
+
+main()
+{
+ char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+ exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
+}
+
+EOF
+if { (eval echo configure:1342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_func_memcmp_clean=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_func_memcmp_clean=no
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
+test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
+
+echo $ac_n "checking whether setvbuf arguments are reversed""... $ac_c" 1>&6
+echo "configure:1360: checking whether setvbuf arguments are reversed" >&5
+if eval "test \"`echo '$''{'ac_cv_func_setvbuf_reversed'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1368 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+/* If setvbuf has the reversed format, exit 0. */
+main () {
+ /* This call has the arguments reversed.
+ A reversed system may check and see that the address of main
+ is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
+ if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0)
+ exit(1);
+ putc('\r', stdout);
+ exit(0); /* Non-reversed systems segv here. */
+}
+EOF
+if { (eval echo configure:1382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_func_setvbuf_reversed=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_func_setvbuf_reversed=no
+fi
+rm -fr conftest*
+fi
+
+rm -f core core.* *.core
+fi
+
+echo "$ac_t""$ac_cv_func_setvbuf_reversed" 1>&6
+if test $ac_cv_func_setvbuf_reversed = yes; then
+ cat >> confdefs.h <<\EOF
+#define SETVBUF_REVERSED 1
+EOF
+
+fi
+
+echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+echo "configure:1406: checking return type of signal handlers" >&5
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1411 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C" void (*signal (int, void (*)(int)))(int);
+#else
+void (*signal ()) ();
+#endif
+
+int main() {
+int i;
+; return 0; }
+EOF
+if { (eval echo configure:1428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_type_signal=void
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_type_signal=int
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_type_signal" 1>&6
+cat >> confdefs.h <<EOF
+#define RETSIGTYPE $ac_cv_type_signal
+EOF
+
+
+for ac_func in select socket strerror strtol
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:1449: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1454 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1532: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking size of unsigned short""... $ac_c" 1>&6
+echo "configure:1586: checking size of unsigned short" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_short'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1594 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned short));
+ exit(0);
+}
+EOF
+if { (eval echo configure:1605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_short=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_short=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_short" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_SHORT $ac_cv_sizeof_unsigned_short
+EOF
+
+
+echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6
+echo "configure:1625: checking size of unsigned int" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1633 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned int));
+ exit(0);
+}
+EOF
+if { (eval echo configure:1644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_int=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_int=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_int" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
+EOF
+
+
+echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
+echo "configure:1664: checking size of unsigned long" >&5
+if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1672 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(unsigned long));
+ exit(0);
+}
+EOF
+if { (eval echo configure:1683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_sizeof_unsigned_long=`cat conftestval`
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_sizeof_unsigned_long=0
+fi
+rm -fr conftest*
+fi
+
+fi
+echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6
+cat >> confdefs.h <<EOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+EOF
+
+
+
+# Extract the first word of "pppd", so it can be a program name with args.
+set dummy pppd; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1706: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_PPPD'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$PPPD" in
+ /*)
+ ac_cv_path_PPPD="$PPPD" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_PPPD="$PPPD" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_PPPD="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_PPPD" && ac_cv_path_PPPD="NOTFOUND"
+ ;;
+esac
+fi
+PPPD="$ac_cv_path_PPPD"
+if test -n "$PPPD"; then
+ echo "$ac_t""$PPPD" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+# Extract the first word of "setsid", so it can be a program name with args.
+set dummy setsid; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1743: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_SETSID'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$SETSID" in
+ /*)
+ ac_cv_path_SETSID="$SETSID" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_SETSID="$SETSID" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_SETSID="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_SETSID" && ac_cv_path_SETSID=""""
+ ;;
+esac
+fi
+SETSID="$ac_cv_path_SETSID"
+if test -n "$SETSID"; then
+ echo "$ac_t""$SETSID" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+# Extract the first word of "id", so it can be a program name with args.
+set dummy id; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1780: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_ID'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$ID" in
+ /*)
+ ac_cv_path_ID="$ID" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_ID="$ID" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="/usr/xpg4/bin:$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_ID="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_ID" && ac_cv_path_ID=""""
+ ;;
+esac
+fi
+ID="$ac_cv_path_ID"
+if test -n "$ID"; then
+ echo "$ac_t""$ID" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
+if test "`uname -s`" = "Linux" ; then
+if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1820 "configure"
+#include "confdefs.h"
+#include <sys/socket.h>
+#include <net/ethernet.h>
+#include <linux/if.h>
+#include <linux/if_pppox.h>
+int main()
+{
+ if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
+}
+
+EOF
+if { (eval echo configure:1832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_linux_kernel_pppoe=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_linux_kernel_pppoe=no
+fi
+rm -fr conftest*
+fi
+
+else
+ ac_cv_linux_kernel_pppoe=no
+fi
+
+$ECHO $ac_cv_linux_kernel_pppoe
+if test "$ac_cv_linux_kernel_pppoe" = yes ; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_LINUX_KERNEL_PPPOE 1
+EOF
+
+fi
+
+if test "$GCC" = yes; then
+ CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -ansi -pedantic"
+fi
+
+if test "$PPPD" = "NOTFOUND"; then
+ $ECHO ""
+ $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
+ $ECHO "*** You must install pppd, version 2.3.10 or later."
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+fi
+
+
+PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
+
+case "$PPPD_VERSION" in
+1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
+ $ECHO ""
+ $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
+ $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+ ;;
+
+2.3.7|2.3.8|2.3.9)
+ $ECHO ""
+ $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
+ $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
+ $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
+ $ECHO ""
+ ;;
+
+2*|3*|4*|5*|6*|7*|8*|9*)
+ ;;
+
+*)
+ $ECHO ""
+ $ECHO "*** Oops. I cannot figure out what version of pppd you have."
+ $ECHO "*** All I got back was '$PPPD_VERSION'"
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+ ;;
+esac
+
+$ECHO -n "checking packing order of bit fields... "
+if test "$cross_compiling" = yes; then
+ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1905 "configure"
+#include "confdefs.h"
+
+union foo {
+ struct bar {
+ unsigned int ver:4;
+ unsigned int type:4;
+ } bb;
+ unsigned char baz;
+};
+
+int
+main(void)
+{
+ union foo x;
+ x.bb.ver = 1;
+ x.bb.type = 2;
+ if (x.baz == 0x21) {
+ return 1;
+ } else if (x.baz == 0x12) {
+ return 0;
+ } else {
+ return 2;
+ }
+}
+EOF
+if { (eval echo configure:1931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ PACK=normal
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ PACK=rev
+fi
+rm -fr conftest*
+fi
+
+
+if test "$PACK" = "rev" ; then
+ $ECHO "reversed"
+ cat >> confdefs.h <<\EOF
+#define PACK_BITFIELDS_REVERSED 1
+EOF
+
+else
+ $ECHO "normal"
+fi
+
+# Sigh... got to fix this up for tcl
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Fully resolve WRAPPER for Tcl script.
+WRAPPER=${sbindir}/pppoe-wrapper
+eval "WRAPPER=${WRAPPER}"
+eval "WRAPPER=${WRAPPER}"
+
+
+# Determine what targets to build
+TARGETS="pppoe pppoe-server"
+
+# pppoe-sniff is built only on Linux and Solaris
+if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
+ TARGETS="$TARGETS pppoe-sniff"
+fi
+
+# pppoe-relay is built only on Linux
+if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
+ TARGETS="$TARGETS pppoe-relay"
+fi
+
+# plugin is built only if we have kernel support
+if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
+ TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
+fi
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@ECHO@%$ECHO%g
+s%@LINUX_KERNELMODE_PLUGIN@%$LINUX_KERNELMODE_PLUGIN%g
+s%@PPPD_INCDIR@%$PPPD_INCDIR%g
+s%@PPPOE_RELAY@%$PPPOE_RELAY%g
+s%@LIBOBJS@%$LIBOBJS%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PPPD@%$PPPD%g
+s%@SETSID@%$SETSID%g
+s%@ID@%$ID%g
+s%@WRAPPER@%$WRAPPER%g
+s%@TARGETS@%$TARGETS%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='\([ ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+ CONFIG_HEADERS="config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ echo creating $ac_file
+
+ rm -f conftest.frag conftest.in conftest.out
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h. And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+ ac_lines=`grep -c . conftest.vals`
+ # grep -c gives empty output for an empty file on some AIX systems.
+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+ # Write a limited-size here document to conftest.frag.
+ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+ echo 'CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+ rm -f conftest.vals
+ mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+ cat conftest.in >> conftest.h
+ rm -f conftest.in
+ if cmp -s $ac_file conftest.h 2>/dev/null; then
+ echo "$ac_file is unchanged"
+ rm -f conftest.h
+ else
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ fi
+ rm -f $ac_file
+ mv conftest.h $ac_file
+ fi
+fi; done
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+
+$ECHO ""
+$ECHO "On this platform, the following targets will be built:"
+$ECHO " $TARGETS"
+$ECHO ""
+$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/configure.in b/mdk-stage1/rp-pppoe/src/configure.in
new file mode 100644
index 000000000..c11690179
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/configure.in
@@ -0,0 +1,231 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(pppoe.c)
+
+AC_CONFIG_HEADER(config.h)
+
+AC_PREFIX_DEFAULT(/usr)
+
+dnl Checks for programs.
+AC_PROG_CC
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h net/if_arp.h netinet/if_ether.h getopt.h sys/uio.h sys/param.h fcntl.h net/bpf.h netpacket/packet.h net/ethernet.h asm/types.h linux/if_packet.h linux/if_ether.h linux/if_pppox.h sys/socket.h sys/cdefs.h linux/if.h net/if.h net/if_dl.h net/if_ether.h net/if_types.h netinet/if_ether.h net/if_types.h net/if_dl.h sys/dlpi.h )
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_PID_T
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+dnl Check for an echo which supports -n -- another hack for Solaris
+AC_PATH_PROG(ECHO, echo, "", /usr/ucb/bin:$PATH)
+
+dnl Check for sockaddr_ll
+$ECHO -n "checking for struct sockaddr_ll... "
+AC_TRY_COMPILE([#include <asm/types.h>
+#include <linux/if_packet.h>
+#include <linux/if_ether.h>
+], [struct sockaddr_ll sa;],
+ac_cv_struct_sockaddr_ll=yes, ac_cv_struct_sockaddr_ll=no)
+$ECHO $ac_cv_struct_sockaddr_ll
+if test "$ac_cv_struct_sockaddr_ll" = yes ; then
+AC_DEFINE(HAVE_STRUCT_SOCKADDR_LL)
+fi
+
+dnl Check for N_HDLC line discipline
+$ECHO -n "checking for N_HDLC line discipline... "
+AC_TRY_COMPILE([#include <linux/termios.h>],
+ [int x = N_HDLC;],
+ ac_cv_n_hdlc=yes, ac_cv_n_hdlc=no)
+$ECHO $ac_cv_n_hdlc
+if test "$ac_cv_n_hdlc" = yes ; then
+AC_DEFINE(HAVE_N_HDLC)
+fi
+
+AC_ARG_ENABLE(plugin, [ --enable-plugin=pppd_src_path build pppd plugin], ac_cv_pluginpath=$enableval, ac_cv_pluginpath=no)
+
+dnl Determine whether or not to build Linux pppd plugin
+LINUX_KERNELMODE_PLUGIN=""
+PPPD_INCDIR=""
+if test "$ac_cv_header_linux_if_pppox_h" = yes ; then
+ if test "$ac_cv_pluginpath" != no ; then
+ LINUX_KERNELMODE_PLUGIN=rp-pppoe.so
+ PPPD_INCDIR=$ac_cv_pluginpath
+ fi
+fi
+
+AC_SUBST(LINUX_KERNELMODE_PLUGIN)
+AC_SUBST(PPPD_INCDIR)
+
+dnl Determine whether or not to build PPPoE relay
+PPPOE_RELAY=""
+if test "`uname -s`" = "Linux" ; then
+ PPPOE_RELAY=pppoe-relay
+fi
+AC_SUBST(PPPOE_RELAY)
+
+dnl Checks for library functions.
+AC_FUNC_MEMCMP
+AC_FUNC_SETVBUF_REVERSED
+AC_TYPE_SIGNAL
+AC_CHECK_FUNCS(select socket strerror strtol)
+AC_PROG_INSTALL
+
+dnl Integer sizes
+AC_CHECK_SIZEOF(unsigned short)
+AC_CHECK_SIZEOF(unsigned int)
+AC_CHECK_SIZEOF(unsigned long)
+
+dnl Check for location of pppd
+AC_PATH_PROG(PPPD, pppd, NOTFOUND, $PATH:/sbin:/usr/sbin:/usr/local/sbin)
+
+dnl Check for setsid (probably Linux-specific)
+AC_PATH_PROG(SETSID, setsid, "", $PATH:/sbin:/usr/sbin:/usr/local/sbin)
+
+dnl Check for an "id" which accepts "-u" option -- hack for Solaris.
+AC_PATH_PROG(ID, id, "", /usr/xpg4/bin:$PATH)
+
+dnl Check for Linux-specific kernel support for PPPoE
+$ECHO -n "checking for Linux 2.4.X kernel-mode PPPoE support..."
+if test "`uname -s`" = "Linux" ; then
+AC_TRY_RUN([#include <sys/socket.h>
+#include <net/ethernet.h>
+#include <linux/if.h>
+#include <linux/if_pppox.h>
+int main()
+{
+ if (socket(AF_PPPOX, SOCK_DGRAM, PX_PROTO_OE) >= 0) return 0; else return 1;
+}
+], ac_cv_linux_kernel_pppoe=yes, ac_cv_linux_kernel_pppoe=no)
+else
+ ac_cv_linux_kernel_pppoe=no
+fi
+
+$ECHO $ac_cv_linux_kernel_pppoe
+if test "$ac_cv_linux_kernel_pppoe" = yes ; then
+ AC_DEFINE(HAVE_LINUX_KERNEL_PPPOE)
+fi
+
+dnl GCC warning level
+if test "$GCC" = yes; then
+ CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
+fi
+
+dnl If we couldn't find pppd, die
+if test "$PPPD" = "NOTFOUND"; then
+ $ECHO ""
+ $ECHO "*** Oops! I couldn't find pppd, the PPP daemon anywhere."
+ $ECHO "*** You must install pppd, version 2.3.10 or later."
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+fi
+
+dnl Figure out pppd version. 2.3.7 to 2.3.9 -- issue warning. Less than
+dnl 2.3.7 -- stop
+
+PPPD_VERSION=`$PPPD --version 2>&1 | awk '{print $NF}'`
+
+case "$PPPD_VERSION" in
+1.*|2.0.*|2.1.*|2.2.*|2.3.0|2.3.1|2.3.2|2.3.3|2.3.4|2.3.5|2.3.6)
+ $ECHO ""
+ $ECHO "*** Oops! Your version of pppd is $PPPD_VERSION, which is too old."
+ $ECHO "*** You need at least 2.3.7 (2.3.10 or newer recommended.)"
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+ ;;
+
+2.3.7|2.3.8|2.3.9)
+ $ECHO ""
+ $ECHO "*** Warning. Your version of pppd is $PPPD_VERSION. You will"
+ $ECHO "*** not be able to use connect-on-demand. Upgrade to pppd"
+ $ECHO "*** 2.3.10 or newer if you need connect-on-demand."
+ $ECHO ""
+ ;;
+
+2*|3*|4*|5*|6*|7*|8*|9*)
+ ;;
+
+*)
+ $ECHO ""
+ $ECHO "*** Oops. I cannot figure out what version of pppd you have."
+ $ECHO "*** All I got back was '$PPPD_VERSION'"
+ $ECHO "*** I will keep going, but it may not work."
+ $ECHO ""
+ ;;
+esac
+
+dnl Figure out packing order of structures
+$ECHO -n "checking packing order of bit fields... "
+AC_TRY_RUN([
+union foo {
+ struct bar {
+ unsigned int ver:4;
+ unsigned int type:4;
+ } bb;
+ unsigned char baz;
+};
+
+int
+main(void)
+{
+ union foo x;
+ x.bb.ver = 1;
+ x.bb.type = 2;
+ if (x.baz == 0x21) {
+ return 1;
+ } else if (x.baz == 0x12) {
+ return 0;
+ } else {
+ return 2;
+ }
+}], PACK=normal, PACK=rev)
+
+if test "$PACK" = "rev" ; then
+ $ECHO "reversed"
+ AC_DEFINE(PACK_BITFIELDS_REVERSED)
+else
+ $ECHO "normal"
+fi
+
+# Sigh... got to fix this up for tcl
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Fully resolve WRAPPER for Tcl script.
+WRAPPER=${sbindir}/pppoe-wrapper
+eval "WRAPPER=${WRAPPER}"
+eval "WRAPPER=${WRAPPER}"
+AC_SUBST(WRAPPER)
+
+# Determine what targets to build
+TARGETS="pppoe pppoe-server"
+
+# pppoe-sniff is built only on Linux and Solaris
+if test "$ac_cv_header_linux_if_packet_h" = "yes" -o "$ac_cv_header_sys_dlpi_h" = "yes" ; then
+ TARGETS="$TARGETS pppoe-sniff"
+fi
+
+# pppoe-relay is built only on Linux
+if test "$ac_cv_header_linux_if_packet_h" = "yes" ; then
+ TARGETS="$TARGETS pppoe-relay"
+fi
+
+# plugin is built only if we have kernel support
+if test -n "$LINUX_KERNELMODE_PLUGIN" ; then
+ TARGETS="$TARGETS $LINUX_KERNELMODE_PLUGIN"
+fi
+
+AC_SUBST(TARGETS)
+
+AC_OUTPUT(Makefile ../scripts/adsl-connect ../scripts/adsl-start ../scripts/adsl-stop ../scripts/adsl-init ../scripts/adsl-init-suse ../scripts/adsl-init-turbolinux ../scripts/adsl-setup ../gui/Makefile ../gui/tkpppoe)
+
+$ECHO ""
+$ECHO "On this platform, the following targets will be built:"
+$ECHO " $TARGETS"
+$ECHO ""
+$ECHO "Type 'make' to compile the software."
diff --git a/mdk-stage1/rp-pppoe/src/debug.c b/mdk-stage1/rp-pppoe/src/debug.c
new file mode 100644
index 000000000..1e113206a
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/debug.c
@@ -0,0 +1,143 @@
+/***********************************************************************
+*
+* debug.c
+*
+* Implementation of user-space PPPoE redirector for Linux.
+*
+* Functions for printing debugging information
+*
+* Copyright (C) 2000 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: debug.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+#include <sys/time.h>
+#include <time.h>
+#include <unistd.h>
+#include <ctype.h>
+
+/**********************************************************************
+*%FUNCTION: dumpHex
+*%ARGUMENTS:
+* fp -- file to dump to
+* buf -- buffer to dump
+* len -- length of data
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Dumps buffer to fp in an easy-to-read format
+***********************************************************************/
+void
+dumpHex(FILE *fp, unsigned char const *buf, int len)
+{
+ int i;
+ int base;
+
+ if (!fp) return;
+
+ /* do NOT dump PAP packets */
+ if (len >= 2 && buf[0] == 0xC0 && buf[1] == 0x23) {
+ fprintf(fp, "(PAP Authentication Frame -- Contents not dumped)\n");
+ return;
+ }
+
+ for (base=0; base<len; base += 16) {
+ for (i=base; i<base+16; i++) {
+ if (i < len) {
+ fprintf(fp, "%02x ", (unsigned) buf[i]);
+ } else {
+ fprintf(fp, " ");
+ }
+ }
+ fprintf(fp, " ");
+ for (i=base; i<base+16; i++) {
+ if (i < len) {
+ if (isprint(buf[i])) {
+ fprintf(fp, "%c", buf[i]);
+ } else {
+ fprintf(fp, ".");
+ }
+ } else {
+ break;
+ }
+ }
+ fprintf(fp, "\n");
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: dumpPacket
+*%ARGUMENTS:
+* fp -- file to dump to
+* packet -- a PPPoE packet
+* dir -- either SENT or RCVD
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Dumps the PPPoE packet to fp in an easy-to-read format
+***********************************************************************/
+void
+dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir)
+{
+ int len = ntohs(packet->length);
+
+ /* Sheesh... printing times is a pain... */
+ struct timeval tv;
+ time_t now;
+ int millisec;
+ struct tm *lt;
+ char timebuf[256];
+
+ UINT16_t type = etherType(packet);
+ if (!fp) return;
+ gettimeofday(&tv, NULL);
+ now = (time_t) tv.tv_sec;
+ millisec = tv.tv_usec / 1000;
+ lt = localtime(&now);
+ strftime(timebuf, 256, "%H:%M:%S", lt);
+ fprintf(fp, "%s.%03d %s PPPoE ", timebuf, millisec, dir);
+ if (type == Eth_PPPOE_Discovery) {
+ fprintf(fp, "Discovery (%x) ", (unsigned) type);
+ } else if (type == Eth_PPPOE_Session) {
+ fprintf(fp, "Session (%x) ", (unsigned) type);
+ } else {
+ fprintf(fp, "Unknown (%x) ", (unsigned) type);
+ }
+
+ switch(packet->code) {
+ case CODE_PADI: fprintf(fp, "PADI "); break;
+ case CODE_PADO: fprintf(fp, "PADO "); break;
+ case CODE_PADR: fprintf(fp, "PADR "); break;
+ case CODE_PADS: fprintf(fp, "PADS "); break;
+ case CODE_PADT: fprintf(fp, "PADT "); break;
+ case CODE_SESS: fprintf(fp, "SESS "); break;
+ }
+
+ fprintf(fp, "sess-id %d length %d\n",
+ (int) ntohs(packet->session),
+ len);
+
+ /* Ugly... I apologize... */
+ fprintf(fp,
+ "SourceAddr %02x:%02x:%02x:%02x:%02x:%02x "
+ "DestAddr %02x:%02x:%02x:%02x:%02x:%02x\n",
+ (unsigned) packet->ethHdr.h_source[0],
+ (unsigned) packet->ethHdr.h_source[1],
+ (unsigned) packet->ethHdr.h_source[2],
+ (unsigned) packet->ethHdr.h_source[3],
+ (unsigned) packet->ethHdr.h_source[4],
+ (unsigned) packet->ethHdr.h_source[5],
+ (unsigned) packet->ethHdr.h_dest[0],
+ (unsigned) packet->ethHdr.h_dest[1],
+ (unsigned) packet->ethHdr.h_dest[2],
+ (unsigned) packet->ethHdr.h_dest[3],
+ (unsigned) packet->ethHdr.h_dest[4],
+ (unsigned) packet->ethHdr.h_dest[5]);
+ dumpHex(fp, packet->payload, ntohs(packet->length));
+}
diff --git a/mdk-stage1/rp-pppoe/src/discovery.c b/mdk-stage1/rp-pppoe/src/discovery.c
new file mode 100644
index 000000000..1e7acc0ac
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/discovery.c
@@ -0,0 +1,629 @@
+/***********************************************************************
+*
+* discovery.c
+*
+* Perform PPPoE discovery
+*
+* Copyright (C) 1999 by Roaring Penguin Software Inc.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: discovery.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef USE_LINUX_PACKET
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#endif
+
+#include <signal.h>
+
+/**********************************************************************
+*%FUNCTION: parseForHostUniq
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data.
+* extra -- user-supplied pointer. This is assumed to be a pointer to int.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* If a HostUnique tag is found which matches our PID, sets *extra to 1.
+***********************************************************************/
+void
+parseForHostUniq(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ int *val = (int *) extra;
+ if (type == TAG_HOST_UNIQ && len == sizeof(pid_t)) {
+ pid_t tmp;
+ memcpy(&tmp, data, len);
+ if (tmp == getpid()) {
+ *val = 1;
+ }
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: packetIsForMe
+*%ARGUMENTS:
+* conn -- PPPoE connection info
+* packet -- a received PPPoE packet
+*%RETURNS:
+* 1 if packet is for this PPPoE daemon; 0 otherwise.
+*%DESCRIPTION:
+* If we are using the Host-Unique tag, verifies that packet contains
+* our unique identifier.
+***********************************************************************/
+int
+packetIsForMe(PPPoEConnection *conn, PPPoEPacket *packet)
+{
+ int forMe = 0;
+
+ /* If we're not using the Host-Unique tag, then accept the packet */
+ if (!conn->useHostUniq) return 1;
+
+ parsePacket(packet, parseForHostUniq, &forMe);
+ return forMe;
+}
+
+/**********************************************************************
+*%FUNCTION: parsePADOTags
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data. Should point to a PacketCriteria structure
+* which gets filled in according to selected AC name and service
+* name.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks interesting tags out of a PADO packet
+***********************************************************************/
+void
+parsePADOTags(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ struct PacketCriteria *pc = (struct PacketCriteria *) extra;
+ PPPoEConnection *conn = pc->conn;
+ int i;
+
+ switch(type) {
+ case TAG_AC_NAME:
+ if (conn->printACNames) {
+ printf("Access-Concentrator: %.*s\n", (int) len, data);
+ }
+ if (conn->acName && len == strlen(conn->acName) &&
+ !strncmp((char *) data, conn->acName, len)) {
+ pc->acNameOK = 1;
+ }
+ break;
+ case TAG_SERVICE_NAME:
+ if (conn->printACNames && len > 0) {
+ printf(" Service-Name: %.*s\n", (int) len, data);
+ }
+ if (conn->serviceName && len == strlen(conn->serviceName) &&
+ !strncmp((char *) data, conn->serviceName, len)) {
+ pc->serviceNameOK = 1;
+ }
+ break;
+ case TAG_AC_COOKIE:
+ if (conn->printACNames) {
+ printf("Got a cookie:");
+ /* Print first 20 bytes of cookie */
+ for (i=0; i<len && i < 20; i++) {
+ printf(" %02x", (unsigned) data[i]);
+ }
+ if (i < len) printf("...");
+ printf("\n");
+ }
+ conn->cookie.type = htons(type);
+ conn->cookie.length = htons(len);
+ memcpy(conn->cookie.payload, data, len);
+ break;
+ case TAG_RELAY_SESSION_ID:
+ if (conn->printACNames) {
+ printf("Got a Relay-ID:");
+ /* Print first 20 bytes of relay ID */
+ for (i=0; i<len && i < 20; i++) {
+ printf(" %02x", (unsigned) data[i]);
+ }
+ if (i < len) printf("...");
+ printf("\n");
+ }
+ conn->relayId.type = htons(type);
+ conn->relayId.length = htons(len);
+ memcpy(conn->relayId.payload, data, len);
+ break;
+ case TAG_SERVICE_NAME_ERROR:
+ if (conn->printACNames) {
+ printf("Got a Service-Name-Error tag: %.*s\n", (int) len, data);
+ } else {
+ syslog(LOG_ERR, "PADO: Service-Name-Error: %.*s", (int) len, data);
+ exit(1);
+ }
+ break;
+ case TAG_AC_SYSTEM_ERROR:
+ if (conn->printACNames) {
+ printf("Got a System-Error tag: %.*s\n", (int) len, data);
+ } else {
+ syslog(LOG_ERR, "PADO: System-Error: %.*s", (int) len, data);
+ exit(1);
+ }
+ break;
+ case TAG_GENERIC_ERROR:
+ if (conn->printACNames) {
+ printf("Got a Generic-Error tag: %.*s\n", (int) len, data);
+ } else {
+ syslog(LOG_ERR, "PADO: Generic-Error: %.*s", (int) len, data);
+ exit(1);
+ }
+ break;
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: parsePADSTags
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data (pointer to PPPoEConnection structure)
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks interesting tags out of a PADS packet
+***********************************************************************/
+void
+parsePADSTags(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ PPPoEConnection *conn = (PPPoEConnection *) extra;
+ switch(type) {
+ case TAG_SERVICE_NAME:
+ syslog(LOG_DEBUG, "PADS: Service-Name: '%.*s'", (int) len, data);
+ break;
+ case TAG_SERVICE_NAME_ERROR:
+ syslog(LOG_ERR, "PADS: Service-Name-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADS: Service-Name-Error: %.*s\n", (int) len, data);
+ exit(1);
+ case TAG_AC_SYSTEM_ERROR:
+ syslog(LOG_ERR, "PADS: System-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADS: System-Error: %.*s\n", (int) len, data);
+ exit(1);
+ case TAG_GENERIC_ERROR:
+ syslog(LOG_ERR, "PADS: Generic-Error: %.*s", (int) len, data);
+ fprintf(stderr, "PADS: Generic-Error: %.*s\n", (int) len, data);
+ exit(1);
+ case TAG_RELAY_SESSION_ID:
+ conn->relayId.type = htons(type);
+ conn->relayId.length = htons(len);
+ memcpy(conn->relayId.payload, data, len);
+ break;
+ }
+}
+
+/***********************************************************************
+*%FUNCTION: sendPADI
+*%ARGUMENTS:
+* conn -- PPPoEConnection structure
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADI packet
+***********************************************************************/
+void
+sendPADI(PPPoEConnection *conn)
+{
+ PPPoEPacket packet;
+ unsigned char *cursor = packet.payload;
+ PPPoETag *svc = (PPPoETag *) (&packet.payload);
+ UINT16_t namelen = 0;
+ UINT16_t plen;
+
+ if (conn->serviceName) {
+ namelen = (UINT16_t) strlen(conn->serviceName);
+ }
+ plen = TAG_HDR_SIZE + namelen;
+ CHECK_ROOM(cursor, packet.payload, plen);
+
+ /* Set destination to Ethernet broadcast address */
+ memset(packet.ethHdr.h_dest, 0xFF, ETH_ALEN);
+ memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
+
+ packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ packet.ver = 1;
+ packet.type = 1;
+ packet.code = CODE_PADI;
+ packet.session = 0;
+
+ svc->type = TAG_SERVICE_NAME;
+ svc->length = htons(namelen);
+ CHECK_ROOM(cursor, packet.payload, namelen+TAG_HDR_SIZE);
+
+ if (conn->serviceName) {
+ memcpy(svc->payload, conn->serviceName, strlen(conn->serviceName));
+ }
+ cursor += namelen + TAG_HDR_SIZE;
+
+ /* If we're using Host-Uniq, copy it over */
+ if (conn->useHostUniq) {
+ PPPoETag hostUniq;
+ pid_t pid = getpid();
+ hostUniq.type = htons(TAG_HOST_UNIQ);
+ hostUniq.length = htons(sizeof(pid));
+ memcpy(hostUniq.payload, &pid, sizeof(pid));
+ CHECK_ROOM(cursor, packet.payload, sizeof(pid) + TAG_HDR_SIZE);
+ memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
+ cursor += sizeof(pid) + TAG_HDR_SIZE;
+ plen += sizeof(pid) + TAG_HDR_SIZE;
+ }
+
+ packet.length = htons(plen);
+
+ sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "SENT");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: waitForPADO
+*%ARGUMENTS:
+* conn -- PPPoEConnection structure
+* timeout -- how long to wait (in seconds)
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Waits for a PADO packet and copies useful information
+***********************************************************************/
+void
+waitForPADO(PPPoEConnection *conn, int timeout)
+{
+ fd_set readable;
+ int r;
+ struct timeval tv;
+ PPPoEPacket packet;
+ int len;
+
+ struct PacketCriteria pc;
+ pc.conn = conn;
+ pc.acNameOK = (conn->acName) ? 0 : 1;
+ pc.serviceNameOK = (conn->serviceName) ? 0 : 1;
+
+ do {
+ if (BPF_BUFFER_IS_EMPTY) {
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&readable);
+ FD_SET(conn->discoverySocket, &readable);
+
+ while(1) {
+ r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
+ if (r >= 0 || errno != EINTR) break;
+ }
+ if (r < 0) {
+ fatalSys("select (waitForPADO)");
+ }
+ if (r == 0) return; /* Timed out */
+ }
+
+ /* Get the packet */
+ receivePacket(conn->discoverySocket, &packet, &len);
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ continue;
+ }
+
+#ifdef USE_BPF
+ /* If it's not a Discovery packet, loop again */
+ if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
+#endif
+
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "RCVD");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+ /* If it's not for us, loop again */
+ if (!packetIsForMe(conn, &packet)) continue;
+
+ if (packet.code == CODE_PADO) {
+ if (NOT_UNICAST(packet.ethHdr.h_source)) {
+ printErr("Ignoring PADO packet from non-unicast MAC address");
+ continue;
+ }
+ conn->numPADOs++;
+ if (conn->printACNames) {
+ printf("--------------------------------------------------\n");
+ }
+ parsePacket(&packet, parsePADOTags, &pc);
+ if (pc.acNameOK && pc.serviceNameOK) {
+ memcpy(conn->peerEth, packet.ethHdr.h_source, ETH_ALEN);
+ if (conn->printACNames) {
+ printf("AC-Ethernet-Address: %02x:%02x:%02x:%02x:%02x:%02x\n",
+ (unsigned) conn->peerEth[0],
+ (unsigned) conn->peerEth[1],
+ (unsigned) conn->peerEth[2],
+ (unsigned) conn->peerEth[3],
+ (unsigned) conn->peerEth[4],
+ (unsigned) conn->peerEth[5]);
+ continue;
+ }
+ conn->discoveryState = STATE_RECEIVED_PADO;
+ break;
+ }
+ }
+ } while (conn->discoveryState != STATE_RECEIVED_PADO);
+}
+
+/***********************************************************************
+*%FUNCTION: sendPADR
+*%ARGUMENTS:
+* conn -- PPPoE connection structur
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADR packet
+***********************************************************************/
+void
+sendPADR(PPPoEConnection *conn)
+{
+ PPPoEPacket packet;
+ PPPoETag *svc = (PPPoETag *) packet.payload;
+ unsigned char *cursor = packet.payload;
+
+ UINT16_t namelen = 0;
+ UINT16_t plen;
+
+ if (conn->serviceName) {
+ namelen = (UINT16_t) strlen(conn->serviceName);
+ }
+ plen = TAG_HDR_SIZE + namelen;
+ CHECK_ROOM(cursor, packet.payload, plen);
+
+ memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
+ memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
+
+ packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ packet.ver = 1;
+ packet.type = 1;
+ packet.code = CODE_PADR;
+ packet.session = 0;
+
+ svc->type = TAG_SERVICE_NAME;
+ svc->length = htons(namelen);
+ if (conn->serviceName) {
+ memcpy(svc->payload, conn->serviceName, namelen);
+ }
+ cursor += namelen + TAG_HDR_SIZE;
+
+ /* If we're using Host-Uniq, copy it over */
+ if (conn->useHostUniq) {
+ PPPoETag hostUniq;
+ pid_t pid = getpid();
+ hostUniq.type = htons(TAG_HOST_UNIQ);
+ hostUniq.length = htons(sizeof(pid));
+ memcpy(hostUniq.payload, &pid, sizeof(pid));
+ CHECK_ROOM(cursor, packet.payload, sizeof(pid)+TAG_HDR_SIZE);
+ memcpy(cursor, &hostUniq, sizeof(pid) + TAG_HDR_SIZE);
+ cursor += sizeof(pid) + TAG_HDR_SIZE;
+ plen += sizeof(pid) + TAG_HDR_SIZE;
+ }
+
+ /* Copy cookie and relay-ID if needed */
+ if (conn->cookie.type) {
+ CHECK_ROOM(cursor, packet.payload,
+ ntohs(conn->cookie.length) + TAG_HDR_SIZE);
+ memcpy(cursor, &conn->cookie, ntohs(conn->cookie.length) + TAG_HDR_SIZE);
+ cursor += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
+ plen += ntohs(conn->cookie.length) + TAG_HDR_SIZE;
+ }
+
+ if (conn->relayId.type) {
+ CHECK_ROOM(cursor, packet.payload,
+ ntohs(conn->relayId.length) + TAG_HDR_SIZE);
+ memcpy(cursor, &conn->relayId, ntohs(conn->relayId.length) + TAG_HDR_SIZE);
+ cursor += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
+ plen += ntohs(conn->relayId.length) + TAG_HDR_SIZE;
+ }
+
+ packet.length = htons(plen);
+ sendPacket(conn, conn->discoverySocket, &packet, (int) (plen + HDR_SIZE));
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "SENT");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: waitForPADS
+*%ARGUMENTS:
+* conn -- PPPoE connection info
+* timeout -- how long to wait (in seconds)
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Waits for a PADS packet and copies useful information
+***********************************************************************/
+void
+waitForPADS(PPPoEConnection *conn, int timeout)
+{
+ fd_set readable;
+ int r;
+ struct timeval tv;
+ PPPoEPacket packet;
+ int len;
+
+ do {
+ if (BPF_BUFFER_IS_EMPTY) {
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&readable);
+ FD_SET(conn->discoverySocket, &readable);
+
+ while(1) {
+ r = select(conn->discoverySocket+1, &readable, NULL, NULL, &tv);
+ if (r >= 0 || errno != EINTR) break;
+ }
+ if (r < 0) {
+ fatalSys("select (waitForPADS)");
+ }
+ if (r == 0) return;
+ }
+
+ /* Get the packet */
+ receivePacket(conn->discoverySocket, &packet, &len);
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ continue;
+ }
+
+#ifdef USE_BPF
+ /* If it's not a Discovery packet, loop again */
+ if (etherType(&packet) != Eth_PPPOE_Discovery) continue;
+#endif
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "RCVD");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+
+ /* If it's not from the AC, it's not for me */
+ if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) continue;
+
+ /* If it's not for us, loop again */
+ if (!packetIsForMe(conn, &packet)) continue;
+
+ /* Is it PADS? */
+ if (packet.code == CODE_PADS) {
+ /* Parse for goodies */
+ parsePacket(&packet, parsePADSTags, conn);
+ conn->discoveryState = STATE_SESSION;
+ break;
+ }
+ } while (conn->discoveryState != STATE_SESSION);
+
+ /* Don't bother with ntohs; we'll just end up converting it back... */
+ conn->session = packet.session;
+
+ syslog(LOG_INFO, "PPP session is %d", (int) ntohs(conn->session));
+
+ /* RFC 2516 says session id MUST NOT be zero or 0xFFFF */
+ if (ntohs(conn->session) == 0 || ntohs(conn->session) == 0xFFFF) {
+ syslog(LOG_ERR, "Access concentrator used a session value of %x -- the AC is violating RFC 2516", (unsigned int) ntohs(conn->session));
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: discovery
+*%ARGUMENTS:
+* conn -- PPPoE connection info structure
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Performs the PPPoE discovery phase
+***********************************************************************/
+void
+discovery(PPPoEConnection *conn)
+{
+ int padiAttempts = 0;
+ int padrAttempts = 0;
+ int timeout = PADI_TIMEOUT;
+
+ /* Skip discovery and don't open discovery socket? */
+ if (conn->skipDiscovery && conn->noDiscoverySocket) {
+ conn->discoveryState = STATE_SESSION;
+ return;
+ }
+
+ conn->discoverySocket =
+ openInterface(conn->ifName, Eth_PPPOE_Discovery, conn->myEth);
+
+ /* Skip discovery? */
+ if (conn->skipDiscovery) {
+ conn->discoveryState = STATE_SESSION;
+ if (conn->killSession) {
+ sendPADT(conn, "RP-PPPoE: Session killed manually");
+ exit(0);
+ }
+ return;
+ }
+
+ do {
+ padiAttempts++;
+ if (padiAttempts > MAX_PADI_ATTEMPTS) {
+ rp_fatal("Timeout waiting for PADO packets");
+ }
+ sendPADI(conn);
+ conn->discoveryState = STATE_SENT_PADI;
+ waitForPADO(conn, timeout);
+
+ /* If we're just probing for access concentrators, don't do
+ exponential backoff. This reduces the time for an unsuccessful
+ probe to 15 seconds. */
+ if (!conn->printACNames) {
+ timeout *= 2;
+ }
+ if (conn->printACNames && conn->numPADOs) {
+ break;
+ }
+ } while (conn->discoveryState == STATE_SENT_PADI);
+
+ /* If we're only printing access concentrator names, we're done */
+ if (conn->printACNames) {
+ printf("--------------------------------------------------\n");
+ exit(0);
+ }
+
+ timeout = PADI_TIMEOUT;
+ do {
+ padrAttempts++;
+ if (padrAttempts > MAX_PADI_ATTEMPTS) {
+ rp_fatal("Timeout waiting for PADS packets");
+ }
+ sendPADR(conn);
+ conn->discoveryState = STATE_SENT_PADR;
+ waitForPADS(conn, timeout);
+ timeout *= 2;
+ } while (conn->discoveryState == STATE_SENT_PADR);
+
+ /* We're done. */
+ conn->discoveryState = STATE_SESSION;
+ return;
+}
+
diff --git a/mdk-stage1/rp-pppoe/src/if.c b/mdk-stage1/rp-pppoe/src/if.c
new file mode 100644
index 000000000..98d2a45c1
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/if.c
@@ -0,0 +1,1092 @@
+/***********************************************************************
+*
+* if.c
+*
+* Implementation of user-space PPPoE redirector for Linux.
+*
+* Functions for opening a raw socket and reading/writing raw Ethernet frames.
+*
+* Copyright (C) 2000 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: if.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_NETPACKET_PACKET_H
+#include <netpacket/packet.h>
+#elif defined(HAVE_LINUX_IF_PACKET_H)
+#include <linux/if_packet.h>
+#endif
+
+#ifdef HAVE_NET_ETHERNET_H
+#include <net/ethernet.h>
+#endif
+
+#ifdef HAVE_ASM_TYPES_H
+#include <asm/types.h>
+#endif
+
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef HAVE_NET_IF_ARP_H
+#include <net/if_arp.h>
+#endif
+
+#ifdef USE_DLPI
+
+#include <limits.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/dlpi.h>
+#include <sys/bufmod.h>
+#include <stdio.h>
+#include <signal.h>
+#include <stropts.h>
+
+/* function declarations */
+
+void dlpromisconreq( int fd, u_long level);
+void dlinforeq(int fd);
+void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen);
+void dlinfoack(int fd, char *bufp);
+void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest);
+void dlattachreq(int fd, u_long ppa);
+void dlokack(int fd, char *bufp);
+void dlbindack(int fd, char *bufp);
+int strioctl(int fd, int cmd, int timout, int len, char *dp);
+void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller);
+void sigalrm(int sig);
+void expecting(int prim, union DL_primitives *dlp);
+char *dlprim(u_long prim);
+
+/* #define DL_DEBUG */
+
+static int dl_abssaplen;
+static int dl_saplen;
+static int dl_addrlen;
+
+#endif
+
+#ifdef USE_BPF
+#include <net/bpf.h>
+#include <fcntl.h>
+
+unsigned char *bpfBuffer; /* Packet filter buffer */
+int bpfLength = 0; /* Packet filter buffer length */
+int bpfSize = 0; /* Number of unread bytes in buffer */
+int bpfOffset = 0; /* Current offset in bpfBuffer */
+#endif
+
+/* Initialize frame types to RFC 2516 values. Some broken peers apparently
+ use different frame types... sigh... */
+
+UINT16_t Eth_PPPOE_Discovery = ETH_PPPOE_DISCOVERY;
+UINT16_t Eth_PPPOE_Session = ETH_PPPOE_SESSION;
+
+/**********************************************************************
+*%FUNCTION: etherType
+*%ARGUMENTS:
+* packet -- a received PPPoE packet
+*%RETURNS:
+* ethernet packet type (see /usr/include/net/ethertypes.h)
+*%DESCRIPTION:
+* Checks the ethernet packet header to determine its type.
+* We should only be receveing DISCOVERY and SESSION types if the BPF
+* is set up correctly. Logs an error if an unexpected type is received.
+* Note that the ethernet type names come from "pppoe.h" and the packet
+* packet structure names use the LINUX dialect to maintain consistency
+* with the rest of this file. See the BSD section of "pppoe.h" for
+* translations of the data structure names.
+***********************************************************************/
+UINT16_t
+etherType(PPPoEPacket *packet)
+{
+ UINT16_t type = (UINT16_t) ntohs(packet->ethHdr.h_proto);
+ if (type != Eth_PPPOE_Discovery && type != Eth_PPPOE_Session) {
+ syslog(LOG_ERR, "Invalid ether type 0x%x", type);
+ }
+ return type;
+}
+
+#ifdef USE_BPF
+/**********************************************************************
+*%FUNCTION: getHWaddr
+*%ARGUMENTS:
+* ifname -- name of interface
+* hwaddr -- buffer for ehthernet address
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Locates the Ethernet hardware address for an interface.
+***********************************************************************/
+void
+getHWaddr(int sock, char const *ifname, unsigned char *hwaddr)
+{
+ char inbuf[8192];
+ const struct sockaddr_dl *sdl;
+ struct ifconf ifc;
+ struct ifreq ifreq, *ifr;
+ int i;
+ int found = 0;
+
+ ifc.ifc_len = sizeof(inbuf);
+ ifc.ifc_buf = inbuf;
+ if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) {
+ fatalSys("SIOCGIFCONF");
+ }
+ ifr = ifc.ifc_req;
+ ifreq.ifr_name[0] = '\0';
+ for (i = 0; i < ifc.ifc_len; ) {
+ ifr = (struct ifreq *)((caddr_t)ifc.ifc_req + i);
+ i += sizeof(ifr->ifr_name) +
+ (ifr->ifr_addr.sa_len > sizeof(struct sockaddr)
+ ? ifr->ifr_addr.sa_len
+ : sizeof(struct sockaddr));
+ if (ifr->ifr_addr.sa_family == AF_LINK) {
+ sdl = (const struct sockaddr_dl *) &ifr->ifr_addr;
+ if ((sdl->sdl_type == IFT_ETHER) &&
+ (sdl->sdl_alen == ETH_ALEN) &&
+ !strncmp(ifname, ifr->ifr_name, sizeof(ifr->ifr_name))) {
+ if (found) {
+ char buffer[256];
+ sprintf(buffer, "interface %.16s has more than one ethernet address", ifname);
+ rp_fatal(buffer);
+ } else {
+ found = 1;
+ memcpy(hwaddr, LLADDR(sdl), ETH_ALEN);
+ }
+ }
+ }
+ }
+ if (!found) {
+ char buffer[256];
+ sprintf(buffer, "interface %.16s has no ethernet address", ifname);
+ rp_fatal(buffer);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: initFilter
+*%ARGUMENTS:
+* fd -- file descriptor of BSD device
+* type -- Ethernet frame type (0 for watch mode)
+* hwaddr -- buffer with ehthernet address
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Initializes the packet filter rules.
+***********************************************************************/
+void
+initFilter(int fd, UINT16_t type, unsigned char *hwaddr)
+{
+ /* Packet Filter Instructions:
+ * Note that the ethernet type names come from "pppoe.h" and are
+ * used here to maintain consistency with the rest of this file. */
+ static struct bpf_insn bpfRun[] = { /* run PPPoE */
+ BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 12), /* ethernet type */
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_SESSION, 5, 0),
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, ETH_PPPOE_DISCOVERY, 0, 9),
+ BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
+#define PPPOE_BCAST_CMPW 4 /* offset of word compare */
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 2),
+ BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
+#define PPPOE_BCAST_CMPH 6 /* offset of 1/2 word compare */
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 4, 0),
+ BPF_STMT(BPF_LD+BPF_W+BPF_ABS, 0), /* first word of dest. addr */
+#define PPPOE_FILTER_CMPW 8 /* offset of word compare */
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 3),
+ BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 4), /* next 1/2 word of dest. */
+#define PPPOE_FILTER_CMPH 10 /* offset of 1/rd compare */
+ BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0, 0, 1),
+ BPF_STMT(BPF_RET+BPF_K, (u_int) -1), /* keep packet */
+ BPF_STMT(BPF_RET+BPF_K, 0), /* drop packet */
+ };
+
+ /* Fix the potentially varying parts */
+ bpfRun[1].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
+ bpfRun[1].jt = 5;
+ bpfRun[1].jf = 0;
+ bpfRun[1].k = Eth_PPPOE_Session;
+
+ bpfRun[2].code = (u_short) BPF_JMP+BPF_JEQ+BPF_K;
+ bpfRun[2].jt = 0;
+ bpfRun[2].jf = 9;
+ bpfRun[2].k = Eth_PPPOE_Discovery;
+
+ {
+ struct bpf_insn bpfInsn[sizeof(bpfRun) / sizeof(bpfRun[0])];
+ struct bpf_program bpfProgram;
+ memcpy(bpfInsn, bpfRun, sizeof(bpfRun));
+ bpfInsn[PPPOE_BCAST_CMPW].k = ((0xff << 24) | (0xff << 16) |
+ (0xff << 8) | 0xff);
+ bpfInsn[PPPOE_BCAST_CMPH].k = ((0xff << 8) | 0xff);
+ bpfInsn[PPPOE_FILTER_CMPW].k = ((hwaddr[0] << 24) | (hwaddr[1] << 16) |
+ (hwaddr[2] << 8) | hwaddr[3]);
+ bpfInsn[PPPOE_FILTER_CMPH].k = ((hwaddr[4] << 8) | hwaddr[5]);
+ bpfProgram.bf_len = (sizeof(bpfInsn) / sizeof(bpfInsn[0]));
+ bpfProgram.bf_insns = &bpfInsn[0];
+
+ /* Apply the filter */
+ if (ioctl(fd, BIOCSETF, &bpfProgram) < 0) {
+ fatalSys("ioctl(BIOCSETF)");
+ }
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: openInterface
+*%ARGUMENTS:
+* ifname -- name of interface
+* type -- Ethernet frame type (0 for any frame type)
+* hwaddr -- if non-NULL, set to the hardware address
+*%RETURNS:
+* A file descriptor for talking with the Ethernet card. Exits on error.
+* Note that the Linux version of this routine returns a socket instead.
+*%DESCRIPTION:
+* Opens a BPF on an interface for all PPPoE traffic (discovery and
+* session). If 'type' is 0, uses promiscuous mode to watch any PPPoE
+* traffic on this network.
+***********************************************************************/
+int
+openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
+{
+ static int fd = -1;
+ char bpfName[32];
+ u_int optval;
+ struct bpf_version bpf_ver;
+ struct ifreq ifr;
+ int sock;
+ int i;
+
+ /* BSD only opens one socket for both Discovery and Session packets */
+ if (fd >= 0) {
+ return fd;
+ }
+
+ /* Find a free BPF device */
+ for (i = 0; i < 256; i++) {
+ sprintf(bpfName, "/dev/bpf%d", i);
+ if (((fd = open(bpfName, O_RDWR, 0)) >= 0) ||
+ (errno != EBUSY)) {
+ break;
+ }
+ }
+ if (fd < 0) {
+ switch (errno) {
+ case EACCES: /* permission denied */
+ {
+ char buffer[256];
+ sprintf(buffer, "Cannot open %.32s -- pppoe must be run as root.", bpfName);
+ rp_fatal(buffer);
+ }
+ break;
+ case EBUSY:
+ case ENOENT: /* no such file */
+ if (i == 0) {
+ rp_fatal("No /dev/bpf* devices (check your kernel configuration for BPF support)");
+ } else {
+ rp_fatal("All /dev/bpf* devices are in use");
+ }
+ break;
+ }
+ fatalSys(bpfName);
+ }
+
+ if ((sock = socket(AF_LOCAL, SOCK_DGRAM, 0)) < 0) {
+ fatalSys("socket");
+ }
+
+ /* Check that the interface is up */
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock, SIOCGIFFLAGS, &ifr) < 0) {
+ fatalSys("ioctl(SIOCGIFFLAGS)");
+ }
+ if ((ifr.ifr_flags & IFF_UP) == 0) {
+ char buffer[256];
+ sprintf(buffer, "Interface %.16s is not up\n", ifname);
+ rp_fatal(buffer);
+ }
+
+ /* Fill in hardware address and initialize the packet filter rules */
+ if (hwaddr == NULL) {
+ rp_fatal("openInterface: no hwaddr arg.");
+ }
+ getHWaddr(sock, ifname, hwaddr);
+ initFilter(fd, type, hwaddr);
+
+ /* Sanity check on MTU -- apparently does not work on OpenBSD */
+#if !defined(__OpenBSD__)
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(sock, SIOCGIFMTU, &ifr) < 0) {
+ fatalSys("ioctl(SIOCGIFMTU)");
+ }
+ if (ifr.ifr_mtu < ETH_DATA_LEN) {
+ char buffer[256];
+ sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
+ ifname, ifr.ifr_mtu, ETH_DATA_LEN);
+ printErr(buffer);
+ }
+#endif
+
+ /* done with the socket */
+ if (close(sock) < 0) {
+ fatalSys("close");
+ }
+
+ /* Check the BPF version number */
+ if (ioctl(fd, BIOCVERSION, &bpf_ver) < 0) {
+ fatalSys("ioctl(BIOCVERSION)");
+ }
+ if ((bpf_ver.bv_major != BPF_MAJOR_VERSION) ||
+ (bpf_ver.bv_minor < BPF_MINOR_VERSION)) {
+ char buffer[256];
+ sprintf(buffer, "Unsupported BPF version: %d.%d (kernel: %d.%d)",
+ BPF_MAJOR_VERSION, BPF_MINOR_VERSION,
+ bpf_ver.bv_major, bpf_ver.bv_minor);
+ rp_fatal(buffer);
+ }
+
+ /* allocate a receive packet buffer */
+ if (ioctl(fd, BIOCGBLEN, &bpfLength) < 0) {
+ fatalSys("ioctl(BIOCGBLEN)");
+ }
+ if (!(bpfBuffer = (unsigned char *) malloc(bpfLength))) {
+ rp_fatal("malloc");
+ }
+
+ /* reads should return as soon as there is a packet available */
+ optval = 1;
+ if (ioctl(fd, BIOCIMMEDIATE, &optval) < 0) {
+ fatalSys("ioctl(BIOCIMMEDIATE)");
+ }
+
+ /* Bind the interface to the filter */
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(fd, BIOCSETIF, &ifr) < 0) {
+ char buffer[256];
+ sprintf(buffer, "ioctl(BIOCSETIF) can't select interface %.16s",
+ ifname);
+ rp_fatal(buffer);
+ }
+
+ syslog(LOG_INFO, "Interface=%.16s HWaddr=%02X:%02X:%02X:%02X:%02X:%02X Device=%.32s Buffer size=%d",
+ ifname,
+ hwaddr[0], hwaddr[1], hwaddr[2],
+ hwaddr[3], hwaddr[4], hwaddr[5],
+ bpfName, bpfLength);
+ return fd;
+}
+
+#endif /* USE_BPF */
+
+#ifdef USE_LINUX_PACKET
+/**********************************************************************
+*%FUNCTION: openInterface
+*%ARGUMENTS:
+* ifname -- name of interface
+* type -- Ethernet frame type
+* hwaddr -- if non-NULL, set to the hardware address
+*%RETURNS:
+* A raw socket for talking to the Ethernet card. Exits on error.
+*%DESCRIPTION:
+* Opens a raw Ethernet socket
+***********************************************************************/
+int
+openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
+{
+ int optval=1;
+ int fd;
+ struct ifreq ifr;
+ int domain, stype;
+
+#ifdef HAVE_STRUCT_SOCKADDR_LL
+ struct sockaddr_ll sa;
+#else
+ struct sockaddr sa;
+#endif
+
+ memset(&sa, 0, sizeof(sa));
+
+#ifdef HAVE_STRUCT_SOCKADDR_LL
+ domain = PF_PACKET;
+ stype = SOCK_RAW;
+#else
+ domain = PF_INET;
+ stype = SOCK_PACKET;
+#endif
+
+ if ((fd = socket(domain, stype, htons(type))) < 0) {
+ /* Give a more helpful message for the common error case */
+ if (errno == EPERM) {
+ rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
+ }
+ fatalSys("socket");
+ }
+
+ if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) < 0) {
+ fatalSys("setsockopt");
+ }
+
+ /* Fill in hardware address */
+ if (hwaddr) {
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
+ fatalSys("ioctl(SIOCGIFHWADDR)");
+ }
+ memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, ETH_ALEN);
+#ifdef ARPHRD_ETHER
+ if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
+ char buffer[256];
+ sprintf(buffer, "Interface %.16s is not Ethernet", ifname);
+ rp_fatal(buffer);
+ }
+#endif
+ if (NOT_UNICAST(hwaddr)) {
+ char buffer[256];
+ sprintf(buffer,
+ "Interface %.16s has broadcast/multicast MAC address??",
+ ifname);
+ rp_fatal(buffer);
+ }
+ }
+
+ /* Sanity check on MTU */
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(fd, SIOCGIFMTU, &ifr) < 0) {
+ fatalSys("ioctl(SIOCGIFMTU)");
+ }
+ if (ifr.ifr_mtu < ETH_DATA_LEN) {
+ char buffer[256];
+ sprintf(buffer, "Interface %.16s has MTU of %d -- should be %d. You may have serious connection problems.",
+ ifname, ifr.ifr_mtu, ETH_DATA_LEN);
+ printErr(buffer);
+ }
+
+#ifdef HAVE_STRUCT_SOCKADDR_LL
+ /* Get interface index */
+ sa.sll_family = AF_PACKET;
+ sa.sll_protocol = htons(type);
+
+ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
+ fatalSys("ioctl(SIOCFIGINDEX): Could not get interface index");
+ }
+ sa.sll_ifindex = ifr.ifr_ifindex;
+
+#else
+ strcpy(sa.sa_data, ifname);
+#endif
+
+ /* We're only interested in packets on specified interface */
+ if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
+ fatalSys("bind");
+ }
+
+ return fd;
+}
+
+#endif /* USE_LINUX */
+
+/***********************************************************************
+*%FUNCTION: sendPacket
+*%ARGUMENTS:
+* sock -- socket to send to
+* pkt -- the packet to transmit
+* size -- size of packet (in bytes)
+*%RETURNS:
+* 0 on success; -1 on failure
+*%DESCRIPTION:
+* Transmits a packet
+***********************************************************************/
+int
+sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size)
+{
+#if defined(USE_BPF)
+ if (write(sock, pkt, size) < 0) {
+ sysErr("write (sendPacket)");
+ return -1;
+ }
+#elif defined(HAVE_STRUCT_SOCKADDR_LL)
+ if (send(sock, pkt, size, 0) < 0) {
+ sysErr("send (sendPacket)");
+ return -1;
+ }
+#else
+#ifdef USE_DLPI
+
+#define ABS(x) ((x) < 0 ? -(x) : (x))
+
+ u_char addr[MAXDLADDR];
+ u_char phys[MAXDLADDR];
+ u_char sap[MAXDLADDR];
+ u_char xmitbuf[MAXDLBUF];
+ int data_size;
+
+ short tmp_sap;
+
+ tmp_sap = htons(pkt->ethHdr.h_proto);
+ data_size = size - sizeof(struct ethhdr);
+
+ memcpy((char *)phys, (char *)pkt->ethHdr.h_dest, ETHERADDRL);
+ memcpy((char *)sap, (char *)&tmp_sap, sizeof(ushort_t));
+ memcpy((char *)xmitbuf, (char *)pkt + sizeof(struct ethhdr), data_size);
+
+ if (dl_saplen > 0) { /* order is sap+phys */
+ (void) memcpy((char*)addr, (char*)&sap, dl_abssaplen);
+ (void) memcpy((char*)addr+dl_abssaplen, (char*)phys, ETHERADDRL);
+ } else { /* order is phys+sap */
+ (void) memcpy((char*)addr, (char*)phys, ETHERADDRL);
+ (void) memcpy((char*)addr+ETHERADDRL, (char*)&sap, dl_abssaplen);
+ }
+
+#ifdef DL_DEBUG
+ printf("%02x:%02x:%02x:%02x:%02x:%02x %02x:%02x\n",
+ addr[0],addr[1],addr[2],addr[3],addr[4],addr[5],
+ addr[6],addr[7]);
+#endif
+
+ dlunitdatareq(sock, addr, dl_addrlen, 0, 0, xmitbuf, data_size);
+
+
+
+#else
+ struct sockaddr sa;
+
+ if (!conn) {
+ rp_fatal("relay and server not supported on Linux 2.0 kernels");
+ }
+ strcpy(sa.sa_data, conn->ifName);
+ if (sendto(sock, pkt, size, 0, &sa, sizeof(sa)) < 0) {
+ sysErr("sendto (sendPacket)");
+ return -1;
+ }
+#endif
+#endif
+ return 0;
+}
+
+#ifdef USE_BPF
+/***********************************************************************
+*%FUNCTION: clearPacketHeader
+*%ARGUMENTS:
+* pkt -- packet that needs its head clearing
+*%RETURNS:
+* nothing
+*%DESCRIPTION:
+* Clears a PPPoE packet header after a truncated packet has been
+* received. Insures that the packet will fail any integrity tests
+* and will be discarded by upper level routines. Also resets the
+* bpfSize and bpfOffset variables to force a new read on the next
+* call to receivePacket().
+***********************************************************************/
+void
+clearPacketHeader(PPPoEPacket *pkt)
+{
+ bpfSize = bpfOffset = 0;
+ memset(pkt, 0, HDR_SIZE);
+}
+#endif
+
+/***********************************************************************
+*%FUNCTION: receivePacket
+*%ARGUMENTS:
+* sock -- socket to read from
+* pkt -- place to store the received packet
+* size -- set to size of packet in bytes
+*%RETURNS:
+* >= 0 if all OK; < 0 if error
+*%DESCRIPTION:
+* Receives a packet
+***********************************************************************/
+int
+receivePacket(int sock, PPPoEPacket *pkt, int *size)
+{
+#ifdef USE_BPF
+ struct bpf_hdr hdr;
+ int seglen, copylen;
+
+ if (bpfSize <= 0) {
+ bpfOffset = 0;
+ if ((bpfSize = read(sock, bpfBuffer, bpfLength)) < 0) {
+ sysErr("read (receivePacket)");
+ return -1;
+ }
+ }
+ if (bpfSize < sizeof(hdr)) {
+ syslog(LOG_ERR, "Truncated bpf packet header: len=%d", bpfSize);
+ clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
+ return 0;
+ }
+ memcpy(&hdr, bpfBuffer + bpfOffset, sizeof(hdr));
+ if (hdr.bh_caplen != hdr.bh_datalen) {
+ syslog(LOG_ERR, "Truncated bpf packet: caplen=%d, datalen=%d",
+ hdr.bh_caplen, hdr.bh_datalen);
+ clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
+ return 0;
+ }
+ seglen = hdr.bh_hdrlen + hdr.bh_caplen;
+ if (seglen > bpfSize) {
+ syslog(LOG_ERR, "Truncated bpf packet: seglen=%d, bpfSize=%d",
+ seglen, bpfSize);
+ clearPacketHeader(pkt); /* resets bpfSize and bpfOffset */
+ return 0;
+ }
+ seglen = BPF_WORDALIGN(seglen);
+ *size = copylen = ((hdr.bh_caplen < sizeof(PPPoEPacket)) ?
+ hdr.bh_caplen : sizeof(PPPoEPacket));
+ memcpy(pkt, bpfBuffer + bpfOffset + hdr.bh_hdrlen, copylen);
+ if (seglen >= bpfSize) {
+ bpfSize = bpfOffset = 0;
+ } else {
+ bpfSize -= seglen;
+ bpfOffset += seglen;
+ }
+#else
+#ifdef USE_DLPI
+ struct strbuf data;
+ int flags = 0;
+ int retval;
+
+ data.buf = (char *) pkt;
+ data.maxlen = MAXDLBUF;
+ data.len = 0;
+
+ if ((retval = getmsg(sock, NULL, &data, &flags)) < 0) {
+ sysErr("read (receivePacket)");
+ return -1;
+ }
+
+ *size = data.len;
+
+#else
+ if ((*size = recv(sock, pkt, sizeof(PPPoEPacket), 0)) < 0) {
+ sysErr("recv (receivePacket)");
+ return -1;
+ }
+#endif
+#endif
+ return 0;
+}
+
+#ifdef USE_DLPI
+/**********************************************************************
+*%FUNCTION: openInterface
+*%ARGUMENTS:
+* ifname -- name of interface
+* type -- Ethernet frame type
+* hwaddr -- if non-NULL, set to the hardware address
+*%RETURNS:
+* A raw socket for talking to the Ethernet card. Exits on error.
+*%DESCRIPTION:
+* Opens a raw Ethernet socket
+***********************************************************************/
+int
+openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr)
+{
+ int fd;
+ long buf[MAXDLBUF];
+
+ union DL_primitives *dlp;
+
+ char base_dev[PATH_MAX];
+ int ppa;
+
+ if(strlen(ifname) > PATH_MAX) {
+ rp_fatal("socket: string to long");
+ }
+
+ ppa = atoi(&ifname[strlen(ifname)-1]);
+ strncpy(base_dev, ifname, PATH_MAX);
+ base_dev[strlen(base_dev)-1] = '\0';
+
+ if (( fd = open(base_dev, O_RDWR)) < 0) {
+ /* Give a more helpful message for the common error case */
+ if (errno == EPERM) {
+ rp_fatal("Cannot create raw socket -- pppoe must be run as root.");
+ }
+ fatalSys("socket");
+ }
+
+ dlinforeq(fd);
+ dlinfoack(fd, (char *)buf);
+
+ dlp = (union DL_primitives*) buf;
+
+ dl_abssaplen = ABS(dlp->info_ack.dl_sap_length);
+ dl_saplen = dlp->info_ack.dl_sap_length;
+ if (ETHERADDRL != (dlp->info_ack.dl_addr_length - dl_abssaplen))
+ fatalSys("invalid destination physical address length");
+ dl_addrlen = dl_abssaplen + ETHERADDRL;
+
+ dlattachreq(fd, ppa);
+ dlokack(fd, (char *)buf);
+
+ dlbindreq(fd, type, 0, DL_CLDLS, 0, 0);
+ dlbindack(fd, (char *)buf);
+
+ if ( strioctl(fd, DLIOCRAW, -1, 0, NULL) < 0 ) {
+ fatalSys("DLIOCRAW");
+ }
+
+ if (ioctl(fd, I_FLUSH, FLUSHR) < 0) fatalSys("I_FLUSH");
+
+ return fd;
+}
+
+/* cloned from dlcommon.c */
+
+void dlpromisconreq(int fd, u_long level)
+{
+ dl_promiscon_req_t promiscon_req;
+ struct strbuf ctl;
+ int flags;
+
+ promiscon_req.dl_primitive = DL_PROMISCON_REQ;
+ promiscon_req.dl_level = level;
+
+ ctl.maxlen = 0;
+ ctl.len = sizeof (promiscon_req);
+ ctl.buf = (char *) &promiscon_req;
+
+ flags = 0;
+
+ if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
+ fatalSys("dlpromiscon: putmsg");
+
+}
+
+void dlinforeq(int fd)
+{
+ dl_info_req_t info_req;
+ struct strbuf ctl;
+ int flags;
+
+ info_req.dl_primitive = DL_INFO_REQ;
+
+ ctl.maxlen = 0;
+ ctl.len = sizeof (info_req);
+ ctl.buf = (char *) &info_req;
+
+ flags = RS_HIPRI;
+
+ if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
+ fatalSys("dlinforeq: putmsg");
+}
+
+void dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen)
+{
+ long buf[MAXDLBUF];
+ union DL_primitives *dlp;
+ struct strbuf data, ctl;
+
+ dlp = (union DL_primitives*) buf;
+
+ dlp->unitdata_req.dl_primitive = DL_UNITDATA_REQ;
+ dlp->unitdata_req.dl_dest_addr_length = addrlen;
+ dlp->unitdata_req.dl_dest_addr_offset = sizeof (dl_unitdata_req_t);
+ dlp->unitdata_req.dl_priority.dl_min = minpri;
+ dlp->unitdata_req.dl_priority.dl_max = maxpri;
+
+ (void) memcpy(OFFADDR(dlp, sizeof (dl_unitdata_req_t)), addrp, addrlen);
+
+ ctl.maxlen = 0;
+ ctl.len = sizeof (dl_unitdata_req_t) + addrlen;
+ ctl.buf = (char *) buf;
+
+ data.maxlen = 0;
+ data.len = datalen;
+ data.buf = (char *) datap;
+
+ if (putmsg(fd, &ctl, &data, 0) < 0)
+ fatalSys("dlunitdatareq: putmsg");
+}
+
+void dlinfoack(int fd, char *bufp)
+{
+ union DL_primitives *dlp;
+ struct strbuf ctl;
+ int flags;
+
+ ctl.maxlen = MAXDLBUF;
+ ctl.len = 0;
+ ctl.buf = bufp;
+
+ strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlinfoack");
+
+ dlp = (union DL_primitives *) ctl.buf;
+
+ expecting(DL_INFO_ACK, dlp);
+
+ if (ctl.len < sizeof (dl_info_ack_t)) {
+ char buffer[256];
+ sprintf(buffer, "dlinfoack: response ctl.len too short: %d", ctl.len);
+ rp_fatal(buffer);
+ }
+
+ if (flags != RS_HIPRI)
+ rp_fatal("dlinfoack: DL_INFO_ACK was not M_PCPROTO");
+
+ if (ctl.len < sizeof (dl_info_ack_t)) {
+ char buffer[256];
+ sprintf(buffer, "dlinfoack: short response ctl.len: %d", ctl.len);
+ rp_fatal(buffer);
+ }
+}
+
+void dlbindreq(int fd, u_long sap, u_long max_conind, u_long service_mode, u_long conn_mgmt, u_long xidtest)
+{
+ dl_bind_req_t bind_req;
+ struct strbuf ctl;
+ int flags;
+
+ bind_req.dl_primitive = DL_BIND_REQ;
+ bind_req.dl_sap = sap;
+ bind_req.dl_max_conind = max_conind;
+ bind_req.dl_service_mode = service_mode;
+ bind_req.dl_conn_mgmt = conn_mgmt;
+ bind_req.dl_xidtest_flg = xidtest;
+
+ ctl.maxlen = 0;
+ ctl.len = sizeof (bind_req);
+ ctl.buf = (char *) &bind_req;
+
+ flags = 0;
+
+ if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
+ fatalSys("dlbindreq: putmsg");
+}
+
+void dlattachreq(int fd, u_long ppa)
+{
+ dl_attach_req_t attach_req;
+ struct strbuf ctl;
+ int flags;
+
+ attach_req.dl_primitive = DL_ATTACH_REQ;
+ attach_req.dl_ppa = ppa;
+
+ ctl.maxlen = 0;
+ ctl.len = sizeof (attach_req);
+ ctl.buf = (char *) &attach_req;
+
+ flags = 0;
+
+ if (putmsg(fd, &ctl, (struct strbuf*) NULL, flags) < 0)
+ fatalSys("dlattachreq: putmsg");
+}
+
+void dlokack(int fd, char *bufp)
+{
+ union DL_primitives *dlp;
+ struct strbuf ctl;
+ int flags;
+
+ ctl.maxlen = MAXDLBUF;
+ ctl.len = 0;
+ ctl.buf = bufp;
+
+ strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlokack");
+
+ dlp = (union DL_primitives *) ctl.buf;
+
+ expecting(DL_OK_ACK, dlp);
+
+ if (ctl.len < sizeof (dl_ok_ack_t)) {
+ char buffer[256];
+ sprintf(buffer, "dlokack: response ctl.len too short: %d", ctl.len);
+ rp_fatal(buffer);
+ }
+
+ if (flags != RS_HIPRI)
+ rp_fatal("dlokack: DL_OK_ACK was not M_PCPROTO");
+
+ if (ctl.len < sizeof (dl_ok_ack_t)) {
+ char buffer[256];
+ sprintf(buffer, "dlokack: short response ctl.len: %d", ctl.len);
+ rp_fatal(buffer);
+ }
+}
+
+void dlbindack(int fd, char *bufp)
+{
+ union DL_primitives *dlp;
+ struct strbuf ctl;
+ int flags;
+
+ ctl.maxlen = MAXDLBUF;
+ ctl.len = 0;
+ ctl.buf = bufp;
+
+ strgetmsg(fd, &ctl, (struct strbuf*)NULL, &flags, "dlbindack");
+
+ dlp = (union DL_primitives *) ctl.buf;
+
+ expecting(DL_BIND_ACK, dlp);
+
+ if (flags != RS_HIPRI)
+ rp_fatal("dlbindack: DL_OK_ACK was not M_PCPROTO");
+
+ if (ctl.len < sizeof (dl_bind_ack_t)) {
+ char buffer[256];
+ sprintf(buffer, "dlbindack: short response ctl.len: %d", ctl.len);
+ rp_fatal(buffer);
+ }
+}
+
+int strioctl(int fd, int cmd, int timout, int len, char *dp)
+{
+ struct strioctl sioc;
+ int rc;
+
+ sioc.ic_cmd = cmd;
+ sioc.ic_timout = timout;
+ sioc.ic_len = len;
+ sioc.ic_dp = dp;
+ rc = ioctl(fd, I_STR, &sioc);
+
+ if (rc < 0)
+ return (rc);
+ else
+ return (sioc.ic_len);
+}
+
+void strgetmsg(int fd, struct strbuf *ctlp, struct strbuf *datap, int *flagsp, char *caller)
+{
+ int rc;
+ static char errmsg[80];
+
+ /*
+ * Start timer.
+ */
+ (void) signal(SIGALRM, sigalrm);
+ if (alarm(MAXWAIT) < 0) {
+ (void) sprintf(errmsg, "%s: alarm", caller);
+ fatalSys(errmsg);
+ }
+
+ /*
+ * Set flags argument and issue getmsg().
+ */
+ *flagsp = 0;
+ if ((rc = getmsg(fd, ctlp, datap, flagsp)) < 0) {
+ (void) sprintf(errmsg, "%s: getmsg", caller);
+ fatalSys(errmsg);
+ }
+
+ /*
+ * Stop timer.
+ */
+ if (alarm(0) < 0) {
+ (void) sprintf(errmsg, "%s: alarm", caller);
+ fatalSys(errmsg);
+ }
+
+ /*
+ * Check for MOREDATA and/or MORECTL.
+ */
+ if ((rc & (MORECTL | MOREDATA)) == (MORECTL | MOREDATA)) {
+ char buffer[256];
+ sprintf(buffer, "%s: MORECTL|MOREDATA", caller);
+ rp_fatal(buffer);
+ }
+
+ if (rc & MORECTL) {
+ char buffer[256];
+ sprintf(buffer, "%s: MORECTL", caller);
+ rp_fatal(buffer);
+ }
+
+ if (rc & MOREDATA) {
+ char buffer[256];
+ sprintf(buffer, "%s: MOREDATA", caller);
+ rp_fatal(buffer);
+ }
+
+ /*
+ * Check for at least sizeof (long) control data portion.
+ */
+ if (ctlp->len < sizeof (long)) {
+ char buffer[256];
+ sprintf(buffer, "getmsg: control portion length < sizeof (long): %d", ctlp->len);
+ rp_fatal(buffer);
+ }
+}
+
+void sigalrm(int sig)
+{
+ (void) rp_fatal("sigalrm: TIMEOUT");
+}
+
+void expecting(int prim, union DL_primitives *dlp)
+{
+ if (dlp->dl_primitive != (u_long)prim) {
+ char buffer[256];
+ sprintf(buffer, "expected %s got %s", dlprim(prim), dlprim(dlp->dl_primitive));
+ rp_fatal(buffer);
+ exit(1);
+ }
+}
+
+char *dlprim(u_long prim)
+{
+ static char primbuf[80];
+
+ switch ((int)prim) {
+ CASERET(DL_INFO_REQ);
+ CASERET(DL_INFO_ACK);
+ CASERET(DL_ATTACH_REQ);
+ CASERET(DL_DETACH_REQ);
+ CASERET(DL_BIND_REQ);
+ CASERET(DL_BIND_ACK);
+ CASERET(DL_UNBIND_REQ);
+ CASERET(DL_OK_ACK);
+ CASERET(DL_ERROR_ACK);
+ CASERET(DL_SUBS_BIND_REQ);
+ CASERET(DL_SUBS_BIND_ACK);
+ CASERET(DL_UNITDATA_REQ);
+ CASERET(DL_UNITDATA_IND);
+ CASERET(DL_UDERROR_IND);
+ CASERET(DL_UDQOS_REQ);
+ CASERET(DL_CONNECT_REQ);
+ CASERET(DL_CONNECT_IND);
+ CASERET(DL_CONNECT_RES);
+ CASERET(DL_CONNECT_CON);
+ CASERET(DL_TOKEN_REQ);
+ CASERET(DL_TOKEN_ACK);
+ CASERET(DL_DISCONNECT_REQ);
+ CASERET(DL_DISCONNECT_IND);
+ CASERET(DL_RESET_REQ);
+ CASERET(DL_RESET_IND);
+ CASERET(DL_RESET_RES);
+ CASERET(DL_RESET_CON);
+ default:
+ (void) sprintf(primbuf, "unknown primitive 0x%lx", prim);
+ return (primbuf);
+ }
+}
+
+#endif /* USE_DLPI */
diff --git a/mdk-stage1/rp-pppoe/src/install-sh b/mdk-stage1/rp-pppoe/src/install-sh
new file mode 100755
index 000000000..58719246f
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/install-sh
@@ -0,0 +1,238 @@
+#! /bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+#
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/mdk-stage1/rp-pppoe/src/md5.c b/mdk-stage1/rp-pppoe/src/md5.c
new file mode 100644
index 000000000..5b7a0d7b2
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/md5.c
@@ -0,0 +1,246 @@
+/*
+ * This code implements the MD5 message-digest algorithm.
+ * The algorithm is due to Ron Rivest. This code was
+ * written by Colin Plumb in 1993, no copyright is claimed.
+ * This code is in the public domain; do with it what you wish.
+ *
+ * Equivalent code is available from RSA Data Security, Inc.
+ * This code has been tested against that, and is equivalent,
+ * except that you don't need to include two pages of legalese
+ * with every copy.
+ *
+ * To compute the message digest of a chunk of bytes, declare an
+ * MD5Context structure, pass it to MD5Init, call MD5Update as
+ * needed on buffers full of bytes, and then call MD5Final, which
+ * will fill a supplied 16-byte array with the digest.
+ */
+#include <string.h> /* for memcpy() */
+#include "md5.h"
+
+void byteReverse(unsigned char *buf, unsigned longs);
+
+/*
+ * Note: this code is harmless on little-endian machines.
+ */
+void byteReverse(unsigned char *buf, unsigned longs)
+{
+ uint32 t;
+ do {
+ t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
+ ((unsigned) buf[1] << 8 | buf[0]);
+ *(uint32 *) buf = t;
+ buf += 4;
+ } while (--longs);
+}
+
+/*
+ * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
+ * initialization constants.
+ */
+void MD5Init(struct MD5Context *ctx)
+{
+ ctx->buf[0] = 0x67452301;
+ ctx->buf[1] = 0xefcdab89;
+ ctx->buf[2] = 0x98badcfe;
+ ctx->buf[3] = 0x10325476;
+
+ ctx->bits[0] = 0;
+ ctx->bits[1] = 0;
+}
+
+/*
+ * Update context to reflect the concatenation of another buffer full
+ * of bytes.
+ */
+void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
+{
+ uint32 t;
+
+ /* Update bitcount */
+
+ t = ctx->bits[0];
+ if ((ctx->bits[0] = t + ((uint32) len << 3)) < t)
+ ctx->bits[1]++; /* Carry from low to high */
+ ctx->bits[1] += len >> 29;
+
+ t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */
+
+ /* Handle any leading odd-sized chunks */
+
+ if (t) {
+ unsigned char *p = (unsigned char *) ctx->in + t;
+
+ t = 64 - t;
+ if (len < t) {
+ memcpy(p, buf, len);
+ return;
+ }
+ memcpy(p, buf, t);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ buf += t;
+ len -= t;
+ }
+ /* Process data in 64-byte chunks */
+
+ while (len >= 64) {
+ memcpy(ctx->in, buf, 64);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ buf += 64;
+ len -= 64;
+ }
+
+ /* Handle any remaining bytes of data. */
+
+ memcpy(ctx->in, buf, len);
+}
+
+/*
+ * Final wrapup - pad to 64-byte boundary with the bit pattern
+ * 1 0* (64-bit count of bits processed, MSB-first)
+ */
+void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
+{
+ unsigned count;
+ unsigned char *p;
+
+ /* Compute number of bytes mod 64 */
+ count = (ctx->bits[0] >> 3) & 0x3F;
+
+ /* Set the first char of padding to 0x80. This is safe since there is
+ always at least one byte free */
+ p = ctx->in + count;
+ *p++ = 0x80;
+
+ /* Bytes of padding needed to make 64 bytes */
+ count = 64 - 1 - count;
+
+ /* Pad out to 56 mod 64 */
+ if (count < 8) {
+ /* Two lots of padding: Pad the first block to 64 bytes */
+ memset(p, 0, count);
+ byteReverse(ctx->in, 16);
+ MD5Transform(ctx->buf, (uint32 *) ctx->in);
+
+ /* Now fill the next block with 56 bytes */
+ memset(ctx->in, 0, 56);
+ } else {
+ /* Pad block to 56 bytes */
+ memset(p, 0, count - 8);
+ }
+ byteReverse(ctx->in, 14);
+
+ /* Append length in bits and transform */
+ ((uint32 *) ctx->in)[14] = ctx->bits[0];
+ ((uint32 *) ctx->in)[15] = ctx->bits[1];
+
+ MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memcpy(digest, ctx->buf, 16);
+ memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+}
+
+#ifndef ASM_MD5
+
+/* The four core functions - F1 is optimized somewhat */
+
+/* #define F1(x, y, z) (x & y | ~x & z) */
+#define F1(x, y, z) (z ^ (x & (y ^ z)))
+#define F2(x, y, z) F1(z, x, y)
+#define F3(x, y, z) (x ^ y ^ z)
+#define F4(x, y, z) (y ^ (x | ~z))
+
+/* This is the central step in the MD5 algorithm. */
+#define MD5STEP(f, w, x, y, z, data, s) \
+ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )
+
+/*
+ * The core of the MD5 algorithm, this alters an existing MD5 hash to
+ * reflect the addition of 16 longwords of new data. MD5Update blocks
+ * the data and converts bytes into longwords for this routine.
+ */
+void MD5Transform(uint32 buf[4], uint32 const in[16])
+{
+ register uint32 a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
+ c = buf[2];
+ d = buf[3];
+
+ MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7);
+ MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12);
+ MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17);
+ MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22);
+ MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7);
+ MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12);
+ MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17);
+ MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22);
+ MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7);
+ MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12);
+ MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17);
+ MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22);
+ MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7);
+ MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12);
+ MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17);
+ MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22);
+
+ MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5);
+ MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9);
+ MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14);
+ MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20);
+ MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5);
+ MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9);
+ MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14);
+ MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20);
+ MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5);
+ MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9);
+ MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14);
+ MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20);
+ MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5);
+ MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9);
+ MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14);
+ MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20);
+
+ MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4);
+ MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11);
+ MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16);
+ MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23);
+ MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4);
+ MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11);
+ MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16);
+ MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23);
+ MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4);
+ MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11);
+ MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16);
+ MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23);
+ MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4);
+ MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11);
+ MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16);
+ MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23);
+
+ MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6);
+ MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10);
+ MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15);
+ MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21);
+ MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6);
+ MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10);
+ MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15);
+ MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21);
+ MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6);
+ MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10);
+ MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15);
+ MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21);
+ MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6);
+ MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10);
+ MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15);
+ MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21);
+
+ buf[0] += a;
+ buf[1] += b;
+ buf[2] += c;
+ buf[3] += d;
+}
+
+#endif
diff --git a/mdk-stage1/rp-pppoe/src/md5.h b/mdk-stage1/rp-pppoe/src/md5.h
new file mode 100644
index 000000000..e264f686d
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/md5.h
@@ -0,0 +1,27 @@
+#ifndef MD5_H
+#define MD5_H
+
+#ifdef __alpha
+typedef unsigned int uint32;
+#else
+typedef unsigned long uint32;
+#endif
+
+struct MD5Context {
+ uint32 buf[4];
+ uint32 bits[2];
+ unsigned char in[64];
+};
+
+void MD5Init(struct MD5Context *context);
+void MD5Update(struct MD5Context *context, unsigned char const *buf,
+ unsigned len);
+void MD5Final(unsigned char digest[16], struct MD5Context *context);
+void MD5Transform(uint32 buf[4], uint32 const in[16]);
+
+/*
+ * This is needed to make RSAREF happy on some MS-DOS compilers.
+ */
+typedef struct MD5Context MD5_CTX;
+
+#endif /* !MD5_H */
diff --git a/mdk-stage1/rp-pppoe/src/plugin.c b/mdk-stage1/rp-pppoe/src/plugin.c
new file mode 100644
index 000000000..ab1820b45
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/plugin.c
@@ -0,0 +1,397 @@
+/***********************************************************************
+*
+* plugin.c
+*
+* pppd plugin for kernel-mode PPPoE on Linux
+*
+* Copyright (C) 2001 by Roaring Penguin Software Inc., Michal Ostrowski
+* and Jamal Hadi Salim.
+*
+* Much code and many ideas derived from pppoe plugin by Michal
+* Ostrowski and Jamal Hadi Salim, which carries this copyright:
+*
+* Copyright 2000 Michal Ostrowski <mostrows@styx.uwaterloo.ca>,
+* Jamal Hadi Salim <hadi@cyberus.ca>
+* Borrows heavily from the PPPoATM plugin by Mitchell Blank Jr.,
+* which is based in part on work from Jens Axboe and Paul Mackerras.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version
+* 2 of the License, or (at your option) any later version.
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: plugin.c 6005 2001-06-11 13:49:39Z gc $";
+
+#define _GNU_SOURCE 1
+#include "pppoe.h"
+
+#include "pppd/pppd.h"
+#include "pppd/fsm.h"
+#include "pppd/lcp.h"
+#include "pppd/ipcp.h"
+#include "pppd/ccp.h"
+#include "pppd/pathnames.h"
+
+#include <linux/types.h>
+#include <syslog.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <net/ethernet.h>
+#include <net/if_arp.h>
+#include <linux/if_pppox.h>
+
+/* From sys-linux.c in pppd -- MUST FIX THIS! */
+extern int new_style_driver;
+
+static char *service = NULL;
+static char *acName = NULL;
+static char *existingSession = NULL;
+
+static option_t Options[] = {
+ { "rp_pppoe_service", o_string, &service,
+ "Desired PPPoE service name" },
+ { "rp_pppoe_ac", o_string, &acName,
+ "Desired PPPoE access concentrator name" },
+ { "rp_pppoe_sess", o_string, &existingSession,
+ "Attach to existing session (sessid:macaddr)" },
+ { NULL }
+};
+int (*OldDevnameHook)(const char *name) = NULL;
+static PPPoEConnection *conn = NULL;
+
+/**********************************************************************
+ * %FUNCTION: PPPOEInitDevice
+ * %ARGUMENTS:
+ * None
+ * %RETURNS:
+ *
+ * %DESCRIPTION:
+ * Initializes PPPoE device.
+ ***********************************************************************/
+static int
+PPPOEInitDevice(void)
+{
+ conn = malloc(sizeof(PPPoEConnection));
+ if (!conn) {
+ fatal("Could not allocate memory for PPPoE session");
+ }
+ memset(conn, 0, sizeof(PPPoEConnection));
+ if (acName) {
+ SET_STRING(conn->acName, acName);
+ }
+ if (service) {
+ SET_STRING(conn->serviceName, acName);
+ }
+ SET_STRING(conn->ifName, devnam);
+ conn->discoverySocket = -1;
+ conn->sessionSocket = -1;
+ conn->useHostUniq = 1;
+ return 1;
+}
+
+/**********************************************************************
+ * %FUNCTION: PPPOEConnectDevice
+ * %ARGUMENTS:
+ * None
+ * %RETURNS:
+ * Non-negative if all goes well; -1 otherwise
+ * %DESCRIPTION:
+ * Connects PPPoE device.
+ ***********************************************************************/
+static int
+PPPOEConnectDevice(void)
+{
+ struct sockaddr_pppox sp;
+
+ strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
+ if (existingSession) {
+ unsigned int mac[ETH_ALEN];
+ int i, ses;
+ if (sscanf(existingSession, "%d:%x:%x:%x:%x:%x:%x",
+ &ses, &mac[0], &mac[1], &mac[2],
+ &mac[3], &mac[4], &mac[5]) != 7) {
+ fatal("Illegal value for rp_pppoe_sess option");
+ }
+ conn->session = htons(ses);
+ for (i=0; i<ETH_ALEN; i++) {
+ conn->peerEth[i] = (unsigned char) mac[i];
+ }
+ } else {
+ discovery(conn);
+ if (conn->discoveryState != STATE_SESSION) {
+ fatal("Unable to complete PPPoE Discovery");
+ }
+ }
+
+ /* Make the session socket */
+ conn->sessionSocket = socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_OE);
+ if (conn->sessionSocket < 0) {
+ fatal("Failed to create PPPoE socket: %m");
+ }
+ sp.sa_family = AF_PPPOX;
+ sp.sa_protocol = PX_PROTO_OE;
+ sp.sa_addr.pppoe.sid = conn->session;
+ memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
+ memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
+ if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
+ sizeof(struct sockaddr_pppox)) < 0) {
+ fatal("Failed to connect PPPoE socket: %d %m", errno);
+ return -1;
+ }
+ return conn->sessionSocket;
+}
+
+static void
+PPPOESendConfig(int unit,
+ int mtu,
+ u_int32_t asyncmap,
+ int pcomp,
+ int accomp)
+{
+ int sock;
+ struct ifreq ifr;
+
+ if (mtu > MAX_PPPOE_MTU) {
+ warn("Couldn't increase MTU to %d", mtu);
+ }
+ sock = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock < 0) {
+ fatal("Couldn't create IP socket: %m");
+ }
+ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
+ ifr.ifr_mtu = mtu;
+ if (ioctl(sock, SIOCSIFMTU, &ifr) < 0) {
+ fatal("ioctl(SIOCSIFMTU): %m");
+ }
+ (void) close (sock);
+}
+
+
+static void
+PPPOERecvConfig(int unit,
+ int mru,
+ u_int32_t asyncmap,
+ int pcomp,
+ int accomp)
+{
+ if (mru > MAX_PPPOE_MTU) {
+ error("Couldn't increase MRU to %d", mru);
+ }
+}
+
+static void
+PPPOESetXaccm(int unit,
+ ext_accm accm)
+{
+ /* Do nothing */
+}
+
+/**********************************************************************
+ * %FUNCTION: PPPOEDisconnectDevice
+ * %ARGUMENTS:
+ * None
+ * %RETURNS:
+ * Nothing
+ * %DESCRIPTION:
+ * Disconnects PPPoE device
+ ***********************************************************************/
+static void
+PPPOEDisconnectDevice(void)
+{
+ struct sockaddr_pppox sp;
+
+ sp.sa_family = AF_PPPOX;
+ sp.sa_protocol = PX_PROTO_OE;
+ sp.sa_addr.pppoe.sid = 0;
+ memcpy(sp.sa_addr.pppoe.dev, conn->ifName, IFNAMSIZ);
+ memcpy(sp.sa_addr.pppoe.remote, conn->peerEth, ETH_ALEN);
+ if (connect(conn->sessionSocket, (struct sockaddr *) &sp,
+ sizeof(struct sockaddr_pppox)) < 0) {
+ fatal("Failed to disconnect PPPoE socket: %d %m", errno);
+ return;
+ }
+ close(conn->sessionSocket);
+}
+
+static int
+PPPOESetSpeed(const char *speed)
+{
+ return 0;
+}
+
+static void
+PPPOEDeviceCheckHook(void)
+{
+ if (!options_for_dev(_PATH_ETHOPT, devnam)) {
+ exit(EXIT_OPTION_ERROR);
+ }
+}
+
+/**********************************************************************
+ * %FUNCTION: PPPoEDevnameHook
+ * %ARGUMENTS:
+ * name -- name of device
+ * %RETURNS:
+ * 1 if we will handle this device; 0 otherwise.
+ * %DESCRIPTION:
+ * Checks if name is a valid interface name; if so, returns 1. Also
+ * sets up devnam (string representation of device) and sets devstat.st_mode
+ * so S_ISCHR(devstat.st_mode) != 1 for internal pppd consumption.
+ ***********************************************************************/
+static int
+PPPoEDevnameHook(const char *name)
+{
+ int r = 1;
+ int fd;
+ struct ifreq ifr;
+
+ /* Open a socket */
+ if ((fd = socket(PF_PACKET, SOCK_RAW, 0)) < 0) {
+ r = 0;
+ }
+
+ /* Try getting interface index */
+ if (r) {
+ strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
+ if (ioctl(fd, SIOCGIFINDEX, &ifr) < 0) {
+ r = 0;
+ } else {
+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) < 0) {
+ r = 0;
+ } else {
+ if (ifr.ifr_hwaddr.sa_family != ARPHRD_ETHER) {
+ error("Interface %s not Ethernet", name);
+ r=0;
+ }
+ }
+ }
+ }
+
+ /* Close socket */
+ close(fd);
+ if (r) {
+ strncpy(devnam, name, sizeof(devnam));
+ if (device_check_hook != PPPOEDeviceCheckHook) {
+ devstat.st_mode = S_IFSOCK;
+ device_init_hook = PPPOEInitDevice;
+ setspeed_hook = PPPOESetSpeed;
+ device_check_hook = PPPOEDeviceCheckHook;
+ connect_device_hook = PPPOEConnectDevice;
+ disconnect_device_hook = PPPOEDisconnectDevice;
+ send_config_hook = PPPOESendConfig;
+ recv_config_hook = PPPOERecvConfig;
+ set_xaccm_hook = PPPOESetXaccm;
+ modem = 0;
+
+ lcp_allowoptions[0].neg_accompression = 0;
+ lcp_wantoptions[0].neg_accompression = 0;
+
+ lcp_allowoptions[0].neg_asyncmap = 0;
+ lcp_wantoptions[0].neg_asyncmap = 0;
+
+ lcp_allowoptions[0].neg_pcompression = 0;
+ lcp_wantoptions[0].neg_pcompression = 0;
+
+ ccp_allowoptions[0].deflate = 0 ;
+ ccp_wantoptions[0].deflate = 0 ;
+
+ ipcp_allowoptions[0].neg_vj=0;
+ ipcp_wantoptions[0].neg_vj=0;
+
+ ccp_allowoptions[0].bsd_compress = 0;
+ ccp_wantoptions[0].bsd_compress = 0;
+
+ PPPOEInitDevice();
+ }
+ return 1;
+ }
+
+ if (OldDevnameHook) r = OldDevnameHook(name);
+ return r;
+}
+
+/**********************************************************************
+ * %FUNCTION: plugin_init
+ * %ARGUMENTS:
+ * None
+ * %RETURNS:
+ * Nothing
+ * %DESCRIPTION:
+ * Initializes hooks for pppd plugin
+ ***********************************************************************/
+void
+plugin_init(void)
+{
+ if (!new_style_driver) {
+ fatal("Linux kernel does not support PPPoE -- are you running 2.4.x?");
+ }
+ OldDevnameHook = setdevname_hook;
+ setdevname_hook = PPPoEDevnameHook;
+ add_options(Options);
+
+ info("Roaring Penguin PPPoE Plugin Initialized");
+}
+
+/**********************************************************************
+*%FUNCTION: fatalSys
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to stderr and syslog and exits.
+***********************************************************************/
+void
+fatalSys(char const *str)
+{
+ char buf[1024];
+ int i = errno;
+ sprintf(buf, "%.256s: %.256s", str, strerror(i));
+ printErr(buf);
+ sprintf(buf, "RP-PPPoE: %.256s: %.256s", str, strerror(i));
+ sendPADT(conn, buf);
+ exit(1);
+}
+
+/**********************************************************************
+*%FUNCTION: rp_fatal
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog and exits.
+***********************************************************************/
+void
+rp_fatal(char const *str)
+{
+ char buf[1024];
+ printErr(str);
+ sprintf(buf, "RP-PPPoE: %.256s", str);
+ sendPADT(conn, buf);
+ exit(1);
+}
+/**********************************************************************
+*%FUNCTION: sysErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to syslog.
+***********************************************************************/
+void
+sysErr(char const *str)
+{
+ rp_fatal(str);
+}
diff --git a/mdk-stage1/rp-pppoe/src/ppp.c b/mdk-stage1/rp-pppoe/src/ppp.c
new file mode 100644
index 000000000..2c1e32bfc
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/ppp.c
@@ -0,0 +1,258 @@
+/***********************************************************************
+*
+* ppp.c
+*
+* Implementation of user-space PPPoE redirector for Linux.
+*
+* Functions for talking to PPP daemon
+*
+* Copyright (C) 2000 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: ppp.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_N_HDLC
+#ifndef N_HDLC
+#include <linux/termios.h>
+#endif
+#endif
+
+int PPPState;
+int PPPPacketSize;
+unsigned char PPPXorValue;
+
+UINT16_t fcstab[256] = {
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
+};
+
+/**********************************************************************
+*%FUNCTION: syncReadFromPPP
+*%ARGUMENTS:
+* conn -- PPPoEConnection structure
+* packet -- buffer in which to place PPPoE packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Reads from a synchronous PPP device and builds and transmits a PPPoE
+* packet
+***********************************************************************/
+void
+syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
+{
+ int r;
+#ifndef HAVE_N_HDLC
+ struct iovec vec[2];
+ unsigned char dummy[2];
+ vec[0].iov_base = (void *) dummy;
+ vec[0].iov_len = 2;
+ vec[1].iov_base = (void *) packet->payload;
+ vec[1].iov_len = ETH_DATA_LEN - PPPOE_OVERHEAD;
+
+ /* Use scatter-read to throw away the PPP frame address bytes */
+ r = readv(0, vec, 2);
+#else
+ /* Bloody hell... readv doesn't work with N_HDLC line discipline... GRR! */
+ unsigned char buf[ETH_DATA_LEN - PPPOE_OVERHEAD + 2];
+ r = read(0, buf, ETH_DATA_LEN - PPPOE_OVERHEAD + 2);
+ if (r >= 2) {
+ memcpy(packet->payload, buf+2, r-2);
+ }
+#endif
+ if (r < 0) {
+ /* Catch the Linux "select" bug */
+ if (errno == EAGAIN) {
+ rp_fatal("Linux select bug hit! This message is harmless, but please ask the Linux kernel developers to fix it.");
+ }
+ fatalSys("read (syncReadFromPPP)");
+ }
+ if (r == 0) {
+ syslog(LOG_INFO, "end-of-file in syncReadFromPPP");
+ sendPADT(conn, "RP-PPPoE: EOF in syncReadFromPPP");
+ exit(0);
+ }
+
+ if (r < 2) {
+ rp_fatal("too few characters read from PPP (syncReadFromPPP)");
+ }
+
+ sendSessionPacket(conn, packet, r-2);
+}
+
+/**********************************************************************
+*%FUNCTION: initPPP
+*%ARGUMENTS:
+* None
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Initializes the PPP state machine
+***********************************************************************/
+void
+initPPP(void)
+{
+ PPPState = STATE_WAITFOR_FRAME_ADDR;
+ PPPPacketSize = 0;
+ PPPXorValue = 0;
+
+}
+/**********************************************************************
+*%FUNCTION: asyncReadFromPPP
+*%ARGUMENTS:
+* conn -- PPPoEConnection structure
+* packet -- buffer in which to place PPPoE packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Reads from an async PPP device and builds a PPPoE packet to transmit
+***********************************************************************/
+void
+asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet)
+{
+ unsigned char buf[READ_CHUNK];
+ unsigned char *ptr = buf;
+ unsigned char c;
+
+ int r;
+
+ r = read(0, buf, READ_CHUNK);
+ if (r < 0) {
+ fatalSys("read (asyncReadFromPPP)");
+ }
+
+ if (r == 0) {
+ syslog(LOG_INFO, "end-of-file in asyncReadFromPPP");
+ sendPADT(conn, "RP-PPPoE: EOF in asyncReadFromPPP");
+ exit(0);
+ }
+
+ while(r) {
+ if (PPPState == STATE_WAITFOR_FRAME_ADDR) {
+ while(r) {
+ --r;
+ if (*ptr++ == FRAME_ADDR) {
+ PPPState = STATE_DROP_PROTO;
+ break;
+ }
+ }
+ }
+
+ /* Still waiting... */
+ if (PPPState == STATE_WAITFOR_FRAME_ADDR) return;
+
+ while(r && PPPState == STATE_DROP_PROTO) {
+ --r;
+ if (*ptr++ == (FRAME_CTRL ^ FRAME_ENC)) {
+ PPPState = STATE_BUILDING_PACKET;
+ }
+ }
+
+ if (PPPState == STATE_DROP_PROTO) return;
+
+ /* Start building frame */
+ while(r && PPPState == STATE_BUILDING_PACKET) {
+ --r;
+ c = *ptr++;
+ switch(c) {
+ case FRAME_ESC:
+ PPPXorValue = FRAME_ENC;
+ break;
+ case FRAME_FLAG:
+ if (PPPPacketSize < 2) {
+ rp_fatal("Packet too short from PPP (asyncReadFromPPP)");
+ }
+ sendSessionPacket(conn, packet, PPPPacketSize-2);
+ PPPPacketSize = 0;
+ PPPXorValue = 0;
+ PPPState = STATE_WAITFOR_FRAME_ADDR;
+ break;
+ default:
+ if (PPPPacketSize >= ETH_DATA_LEN - 4) {
+ syslog(LOG_ERR, "Packet too big! Check MTU on PPP interface");
+ PPPPacketSize = 0;
+ PPPXorValue = 0;
+ PPPState = STATE_WAITFOR_FRAME_ADDR;
+ } else {
+ packet->payload[PPPPacketSize++] = c ^ PPPXorValue;
+ PPPXorValue = 0;
+ }
+ }
+ }
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: pppFCS16
+*%ARGUMENTS:
+* fcs -- current fcs
+* cp -- a buffer's worth of data
+* len -- length of buffer "cp"
+*%RETURNS:
+* A new FCS
+*%DESCRIPTION:
+* Updates the PPP FCS.
+***********************************************************************/
+UINT16_t
+pppFCS16(UINT16_t fcs,
+ unsigned char * cp,
+ int len)
+{
+ while (len--)
+ fcs = (fcs >> 8) ^ fcstab[(fcs ^ *cp++) & 0xff];
+
+ return (fcs);
+}
+
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-server.c b/mdk-stage1/rp-pppoe/src/pppoe-server.c
new file mode 100644
index 000000000..9a745eebb
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/pppoe-server.c
@@ -0,0 +1,1247 @@
+/***********************************************************************
+*
+* pppoe.h
+*
+* Implementation of a user-space PPPoE server
+*
+* Copyright (C) 2000 Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+* $Id: pppoe-server.c 6005 2001-06-11 13:49:39Z gc $
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: pppoe-server.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "config.h"
+
+#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
+#define _POSIX_SOURCE 1 /* For sigaction defines */
+#endif
+
+#define _BSD_SOURCE 1 /* for gethostname */
+
+#include "pppoe.h"
+#include "md5.h"
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#include <signal.h>
+
+/* Hack for daemonizing */
+#define CLOSEFD 64
+
+/* Max. 64 sessions by default */
+#define DEFAULT_MAX_SESSIONS 64
+
+/* A list of client sessions */
+struct ClientSession *Sessions = NULL;
+
+/* The number of session slots */
+size_t NumSessionSlots;
+
+/* Offset of first session */
+size_t SessOffset = 0;
+
+/* Socket for client's discovery phases */
+int Socket = -1;
+
+/* Pipe written on reception of SIGCHLD */
+int Pipe[2] = {-1, -1};
+int ReapPending = 0;
+
+/* Synchronous mode */
+int Synchronous = 0;
+
+/* Random seed for cookie generation */
+#define SEED_LEN 16
+#define MD5_LEN 16
+#define COOKIE_LEN (MD5_LEN + sizeof(pid_t)) /* Cookie is 16-byte MD5 + PID of server */
+
+unsigned char CookieSeed[SEED_LEN];
+
+/* Default interface if no -I option given */
+#define DEFAULT_IF "eth0"
+char *IfName = NULL;
+
+/* Access concentrator name */
+char *ACName = NULL;
+
+/* Options to pass to pppoe process */
+char PppoeOptions[SMALLBUF] = "";
+
+/* Our local IP address */
+unsigned char LocalIP[IPV4ALEN] = {10, 0, 0, 1};
+unsigned char RemoteIP[IPV4ALEN] = {10, 67, 15, 1}; /* Counter STARTS here */
+
+PPPoETag hostUniq;
+PPPoETag relayId;
+PPPoETag receivedCookie;
+PPPoETag requestedService;
+
+#define HOSTNAMELEN 256
+
+static void startPPPD(struct ClientSession *sess);
+static void sendErrorPADS(int sock, unsigned char *source, unsigned char *dest,
+ int errorTag, char *errorMsg);
+
+#define CHECK_ROOM(cursor, start, len) \
+do {\
+ if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
+ syslog(LOG_ERR, "Would create too-long packet"); \
+ return; \
+ } \
+} while(0)
+
+/* Use Linux kernel-mode PPPoE? */
+int UseLinuxKernelModePPPoE = 0;
+
+/**********************************************************************
+*%FUNCTION: parseAddressPool
+*%ARGUMENTS:
+* fname -- name of file containing IP address pool.
+* install -- if true, install IP addresses in sessions.
+*%RETURNS:
+* Number of valid IP addresses found.
+*%DESCRIPTION:
+* Reads a list of IP addresses from a file.
+***********************************************************************/
+static int
+parseAddressPool(char const *fname, int install)
+{
+ FILE *fp = fopen(fname, "r");
+ int numAddrs = 0;
+ unsigned int a, b, c, d;
+
+ if (!fp) {
+ sysErr("Cannot open address pool file");
+ }
+
+ while (!feof(fp)) {
+ if ((fscanf(fp, "%u.%u.%u.%u", &a, &b, &c, &d) == 4) &&
+ a < 256 && b < 256 && c < 256 && d < 256) {
+ if (install) {
+ Sessions[numAddrs].ip[0] = (unsigned char) a;
+ Sessions[numAddrs].ip[1] = (unsigned char) b;
+ Sessions[numAddrs].ip[2] = (unsigned char) c;
+ Sessions[numAddrs].ip[3] = (unsigned char) d;
+ }
+ numAddrs++;
+ }
+ }
+ if (!numAddrs) {
+ rp_fatal("No valid ip addresses found in pool file");
+ }
+ return numAddrs;
+}
+
+/**********************************************************************
+*%FUNCTION: parsePADITags
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks interesting tags out of a PADI packet
+***********************************************************************/
+void
+parsePADITags(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ switch(type) {
+ case TAG_SERVICE_NAME:
+ /* Should do something -- currently ignored */
+ break;
+ case TAG_RELAY_SESSION_ID:
+ relayId.type = htons(type);
+ relayId.length = htons(len);
+ memcpy(relayId.payload, data, len);
+ break;
+ case TAG_HOST_UNIQ:
+ hostUniq.type = htons(type);
+ hostUniq.length = htons(len);
+ memcpy(hostUniq.payload, data, len);
+ break;
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: parsePADRTags
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks interesting tags out of a PADR packet
+***********************************************************************/
+void
+parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ switch(type) {
+ case TAG_RELAY_SESSION_ID:
+ relayId.type = htons(type);
+ relayId.length = htons(len);
+ memcpy(relayId.payload, data, len);
+ break;
+ case TAG_HOST_UNIQ:
+ hostUniq.type = htons(type);
+ hostUniq.length = htons(len);
+ memcpy(hostUniq.payload, data, len);
+ break;
+ case TAG_AC_COOKIE:
+ receivedCookie.type = htons(type);
+ receivedCookie.length = htons(len);
+ memcpy(receivedCookie.payload, data, len);
+ break;
+ case TAG_SERVICE_NAME:
+ requestedService.type = htons(type);
+ requestedService.length = htons(len);
+ memcpy(requestedService.payload, data, len);
+ break;
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: findSession
+*%ARGUMENTS:
+* pid -- PID of child which owns session. If PID is 0, searches for
+* empty session slots.
+*%RETURNS:
+* A pointer to the session, or NULL if no such session found.
+*%DESCRIPTION:
+* Searches for specified session.
+**********************************************************************/
+struct ClientSession *
+findSession(pid_t pid)
+{
+ size_t i;
+ for (i=0; i<NumSessionSlots; i++) {
+ if (Sessions[i].pid == pid) {
+ return &Sessions[i];
+ }
+ }
+ return NULL;
+}
+
+/**********************************************************************
+*%FUNCTION: reapSessions
+*%ARGUMENTS:
+* myAddr -- my Ethernet address
+* sock -- my discovery socket
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Reaps children which have exited and removes their sessions
+**********************************************************************/
+void
+reapSessions(unsigned char *myAddr, int sock)
+{
+ int status;
+ pid_t pid;
+ struct ClientSession *session;
+
+ /* Temporary structure for sending PADT's. */
+ PPPoEConnection conn;
+ memset(&conn, 0, sizeof(conn));
+
+ /* Initialize fields of conn which do not depend on peer */
+ memcpy(conn.myEth, myAddr, ETH_ALEN);
+ conn.useHostUniq = 0;
+ conn.discoverySocket = sock;
+
+ while((pid = waitpid(-1, &status, WNOHANG)) > 0) {
+ session = findSession(pid);
+ if (!session) {
+ syslog(LOG_ERR, "Child %d died but couldn't find session!",
+ (int) pid);
+ } else {
+ syslog(LOG_INFO,
+ "Session %d closed for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
+ ntohs(session->sess),
+ session->eth[0], session->eth[1], session->eth[2],
+ session->eth[3], session->eth[4], session->eth[5],
+ (int) session->ip[0], (int) session->ip[1],
+ (int) session->ip[2], (int) session->ip[3]);
+ conn.session = session->sess;
+ memcpy(conn.peerEth, session->eth, ETH_ALEN);
+ if (session->recvdPADT) {
+ sendPADT(&conn, "RP-PPPoE: Received PADT from peer");
+ } else {
+ sendPADT(&conn, "RP-PPPoE: Child pppd process terminated");
+ }
+ session->pid = 0;
+ }
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: fatalSys
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to stderr and syslog and exits.
+***********************************************************************/
+void
+fatalSys(char const *str)
+{
+ char buf[SMALLBUF];
+ snprintf(buf, SMALLBUF, "%s: %s", str, strerror(errno));
+ printErr(buf);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: sysErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to syslog.
+***********************************************************************/
+void
+sysErr(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+}
+
+/**********************************************************************
+*%FUNCTION: rp_fatal
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog and exits.
+***********************************************************************/
+void
+rp_fatal(char const *str)
+{
+ printErr(str);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: genCookie
+*%ARGUMENTS:
+* peerEthAddr -- peer Ethernet address (6 bytes)
+* myEthAddr -- my Ethernet address (6 bytes)
+* seed -- random cookie seed to make things tasty (16 bytes)
+* cookie -- buffer which is filled with server PID and
+* md5 sum of previous items
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Forms the md5 sum of peer MAC address, our MAC address and seed, useful
+* in a PPPoE Cookie tag.
+***********************************************************************/
+void
+genCookie(unsigned char const *peerEthAddr,
+ unsigned char const *myEthAddr,
+ unsigned char const *seed,
+ unsigned char *cookie)
+{
+ struct MD5Context ctx;
+ pid_t pid = getpid();
+
+ MD5Init(&ctx);
+ MD5Update(&ctx, peerEthAddr, ETH_ALEN);
+ MD5Update(&ctx, myEthAddr, ETH_ALEN);
+ MD5Update(&ctx, seed, SEED_LEN);
+ MD5Final(cookie, &ctx);
+ memcpy(cookie+MD5_LEN, &pid, sizeof(pid));
+}
+
+/**********************************************************************
+*%FUNCTION: processPADI
+*%ARGUMENTS:
+* sock -- Ethernet socket
+* myAddr -- my Ethernet address
+* packet -- PPPoE PADI packet
+* len -- length of received packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADO packet back to client
+***********************************************************************/
+void
+processPADI(int sock, unsigned char *myAddr,
+ PPPoEPacket *packet, int len)
+{
+ PPPoEPacket pado;
+ PPPoETag acname;
+ PPPoETag servname;
+ PPPoETag cookie;
+ size_t acname_len;
+ unsigned char *cursor = pado.payload;
+ UINT16_t plen;
+
+ /* Ignore PADI's which don't come from a unicast address */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR, "PADI packet from non-unicast source address");
+ return;
+ }
+
+ acname.type = htons(TAG_AC_NAME);
+ acname_len = strlen(ACName);
+ acname.length = htons(acname_len);
+ memcpy(acname.payload, ACName, acname_len);
+
+ servname.type = htons(TAG_SERVICE_NAME);
+ servname.length = 0;
+
+ relayId.type = 0;
+ hostUniq.type = 0;
+ parsePacket(packet, parsePADITags, NULL);
+
+ /* Generate a cookie */
+ cookie.type = htons(TAG_AC_COOKIE);
+ cookie.length = htons(COOKIE_LEN);
+ genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookie.payload);
+
+ /* Construct a PADO packet */
+ memcpy(pado.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
+ memcpy(pado.ethHdr.h_source, myAddr, ETH_ALEN);
+ pado.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ pado.ver = 1;
+ pado.type = 1;
+ pado.code = CODE_PADO;
+ pado.session = 0;
+ plen = TAG_HDR_SIZE + acname_len;
+
+ CHECK_ROOM(cursor, pado.payload, acname_len+TAG_HDR_SIZE);
+ memcpy(cursor, &acname, acname_len + TAG_HDR_SIZE);
+ cursor += acname_len + TAG_HDR_SIZE;
+
+ CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE);
+ memcpy(cursor, &servname, TAG_HDR_SIZE);
+ cursor += TAG_HDR_SIZE;
+ plen += TAG_HDR_SIZE;
+
+ CHECK_ROOM(cursor, pado.payload, TAG_HDR_SIZE + COOKIE_LEN);
+ memcpy(cursor, &cookie, TAG_HDR_SIZE + COOKIE_LEN);
+ cursor += TAG_HDR_SIZE + COOKIE_LEN;
+ plen += TAG_HDR_SIZE + COOKIE_LEN;
+
+ if (relayId.type) {
+ CHECK_ROOM(cursor, pado.payload, ntohs(relayId.length) + TAG_HDR_SIZE);
+ memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
+ cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
+ plen += ntohs(relayId.length) + TAG_HDR_SIZE;
+ }
+ if (hostUniq.type) {
+ CHECK_ROOM(cursor, pado.payload, ntohs(hostUniq.length)+TAG_HDR_SIZE);
+ memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
+ cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ }
+ pado.length = htons(plen);
+ sendPacket(NULL, sock, &pado, (int) (plen + HDR_SIZE));
+}
+
+/**********************************************************************
+*%FUNCTION: processPADT
+*%ARGUMENTS:
+* sock -- Ethernet socket
+* myAddr -- my Ethernet address
+* packet -- PPPoE PADT packet
+* len -- length of received packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Kills session whose session-ID is in PADT packet.
+***********************************************************************/
+void
+processPADT(int sock, unsigned char *myAddr,
+ PPPoEPacket *packet, int len)
+{
+ size_t i;
+
+ /* Ignore PADT's not directed at us */
+ if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
+
+ /* Get session's index */
+ i = ntohs(packet->session) - 1 - SessOffset;
+ if (i >= NumSessionSlots) return;
+ if (Sessions[i].sess != packet->session) {
+ syslog(LOG_ERR, "Session index %u doesn't match session number %u",
+ (unsigned int) i, (unsigned int) ntohs(packet->session));
+ return;
+ }
+ if (Sessions[i].pid) {
+ Sessions[i].recvdPADT = 1;
+ parsePacket(packet, parseLogErrs, NULL);
+ kill(Sessions[i].pid, SIGTERM);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: processPADR
+*%ARGUMENTS:
+* sock -- Ethernet socket
+* myAddr -- my Ethernet address
+* packet -- PPPoE PADR packet
+* len -- length of received packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADS packet back to client and starts a PPP session if PADR
+* packet is OK.
+***********************************************************************/
+void
+processPADR(int sock, unsigned char *myAddr,
+ PPPoEPacket *packet, int len)
+{
+ unsigned char cookieBuffer[COOKIE_LEN];
+ struct ClientSession *cliSession;
+ pid_t child;
+ PPPoEPacket pads;
+ unsigned char *cursor = pads.payload;
+ UINT16_t plen;
+ PPPoETag servname;
+
+ /* Initialize some globals */
+ relayId.type = 0;
+ hostUniq.type = 0;
+ receivedCookie.type = 0;
+ requestedService.type = 0;
+
+ /* Ignore PADR's not directed at us */
+ if (memcmp(packet->ethHdr.h_dest, myAddr, ETH_ALEN)) return;
+
+ /* Ignore PADR's from non-unicast addresses */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR, "PADR packet from non-unicast source address");
+ return;
+ }
+
+ parsePacket(packet, parsePADRTags, NULL);
+
+ /* Check that everything's cool */
+ if (!receivedCookie.type) {
+ /* Drop it -- do not send error PADS */
+ return;
+ }
+
+ /* Is cookie kosher? */
+ if (receivedCookie.length != htons(COOKIE_LEN)) {
+ /* Drop it -- do not send error PADS */
+ return;
+ }
+
+ genCookie(packet->ethHdr.h_source, myAddr, CookieSeed, cookieBuffer);
+ if (memcmp(receivedCookie.payload, cookieBuffer, COOKIE_LEN)) {
+ /* Drop it -- do not send error PADS */
+ return;
+ }
+
+ /* Check service name -- we only offer service "" */
+ if (!requestedService.type) {
+ syslog(LOG_ERR, "Received PADR packet with no SERVICE_NAME tag");
+ sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
+ TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: No service name tag");
+ return;
+ }
+
+ if (requestedService.length) {
+ syslog(LOG_ERR, "Received PADR packet asking for unsupported service %.*s", (int) ntohs(requestedService.length), requestedService.payload);
+ sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
+ TAG_SERVICE_NAME_ERROR, "RP-PPPoE: Server: Invalid service name tag");
+ return;
+ }
+
+ /* Looks cool... find a slot for the session */
+ cliSession = findSession(0);
+ if (!cliSession) {
+ syslog(LOG_ERR, "No client slots available (%02x:%02x:%02x:%02x:%02x:%02x)",
+ (unsigned int) packet->ethHdr.h_source[0],
+ (unsigned int) packet->ethHdr.h_source[1],
+ (unsigned int) packet->ethHdr.h_source[2],
+ (unsigned int) packet->ethHdr.h_source[3],
+ (unsigned int) packet->ethHdr.h_source[4],
+ (unsigned int) packet->ethHdr.h_source[5]);
+ sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
+ TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: No client slots available");
+ return;
+ }
+
+ /* Set up client session peer Ethernet address */
+ memcpy(cliSession->eth, packet->ethHdr.h_source, ETH_ALEN);
+ cliSession->recvdPADT = 0;
+
+ /* Create child process, send PADS packet back */
+ child = fork();
+ if (child < 0) {
+ sendErrorPADS(sock, myAddr, packet->ethHdr.h_source,
+ TAG_AC_SYSTEM_ERROR, "RP-PPPoE: Server: Unable to start session process");
+ return;
+ }
+ if (child != 0) {
+ /* In the parent process. Mark pid in session slot */
+ cliSession->pid = child;
+ return;
+ }
+
+ /* In the child process. */
+
+ /* pppd has a nasty habit of killing all processes in its process group.
+ Start a new session to stop pppd from killing us! */
+ setsid();
+
+ /* Send PADS and Start pppd */
+ memcpy(pads.ethHdr.h_dest, packet->ethHdr.h_source, ETH_ALEN);
+ memcpy(pads.ethHdr.h_source, myAddr, ETH_ALEN);
+ pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ pads.ver = 1;
+ pads.type = 1;
+ pads.code = CODE_PADS;
+
+ pads.session = cliSession->sess;
+ plen = 0;
+
+ servname.type = htons(TAG_SERVICE_NAME);
+ servname.length = 0;
+
+ memcpy(cursor, &servname, TAG_HDR_SIZE);
+ cursor += TAG_HDR_SIZE;
+ plen += TAG_HDR_SIZE;
+
+ if (relayId.type) {
+ memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
+ cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
+ plen += ntohs(relayId.length) + TAG_HDR_SIZE;
+ }
+ if (hostUniq.type) {
+ memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
+ cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ }
+ pads.length = htons(plen);
+ sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
+ startPPPD(cliSession);
+}
+
+/**********************************************************************
+*%FUNCTION: childHandler
+*%ARGUMENTS:
+* sig -- signal number
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Called by SIGCHLD. Writes one byte to Pipe to wake up the select
+* loop and cause reaping of dead sessions
+***********************************************************************/
+void
+childHandler(int sig)
+{
+ if (!ReapPending) {
+ ReapPending = 1;
+ write(Pipe[1], &ReapPending, 1);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: usage
+*%ARGUMENTS:
+* argv0 -- argv[0] from main
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints usage instructions
+***********************************************************************/
+void
+usage(char const *argv0)
+{
+ fprintf(stderr, "Usage: %s [options]\n", argv0);
+ fprintf(stderr, "Options:\n");
+#ifdef USE_BPF
+ fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
+#else
+ fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
+ DEFAULT_IF);
+#endif
+ fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
+ fprintf(stderr, " -C name -- Set access concentrator name.\n");
+ fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
+ fprintf(stderr, " -L ip -- Set local IP address.\n");
+ fprintf(stderr, " -R ip -- Set start address of remote IP pool.\n");
+ fprintf(stderr, " -p fname -- Optain IP address pool from specified file.\n");
+ fprintf(stderr, " -N num -- Allow 'num' concurrent sessions.\n");
+ fprintf(stderr, " -o offset -- Assign session numbers starting at offset+1.\n");
+ fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
+ fprintf(stderr, " -s -- Use synchronous PPP mode.\n");
+#ifdef HAVE_LINUX_KERNEL_PPPOE
+ fprintf(stderr, " -k -- Use kernel-mode PPPoE.\n");
+#endif
+ fprintf(stderr, " -h -- Print usage information.\n\n");
+ fprintf(stderr, "PPPoE-Server Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
+ fprintf(stderr, "PPPoE-Server comes with ABSOLUTELY NO WARRANTY.\n");
+ fprintf(stderr, "This is free software, and you are welcome to redistribute it\n");
+ fprintf(stderr, "under the terms of the GNU General Public License, version 2\n");
+ fprintf(stderr, "or (at your option) any later version.\n");
+ fprintf(stderr, "http://www.roaringpenguin.com\n");
+}
+
+/**********************************************************************
+*%FUNCTION: main
+*%ARGUMENTS:
+* argc, argv -- usual suspects
+*%RETURNS:
+* Exit status
+*%DESCRIPTION:
+* Main program of PPPoE server
+***********************************************************************/
+int
+main(int argc, char **argv)
+{
+
+ FILE *fp;
+ int i;
+ int opt;
+ unsigned char myAddr[ETH_ALEN];
+ PPPoEPacket packet;
+ int len;
+ int sock;
+ int d[IPV4ALEN];
+ int beDaemon = 1;
+ struct sigaction act;
+ int maxFD;
+ unsigned int discoveryType, sessionType;
+ char *addressPoolFname = NULL;
+
+#ifndef HAVE_LINUX_KERNEL_PPPOE
+ char *options = "hI:C:L:R:T:m:FN:f:o:sp:";
+#else
+ char *options = "hI:C:L:R:T:m:FN:f:o:skp:";
+#endif
+
+ /* Initialize syslog */
+ openlog("pppoe-server", LOG_PID, LOG_DAEMON);
+
+ /* Default number of session slots */
+ NumSessionSlots = DEFAULT_MAX_SESSIONS;
+
+ /* Parse command-line options */
+ while((opt = getopt(argc, argv, options)) != -1) {
+ switch(opt) {
+#ifdef HAVE_LINUX_KERNEL_PPPOE
+ case 'k':
+ UseLinuxKernelModePPPoE = 1;
+ break;
+#endif
+ case 'p':
+ addressPoolFname = optarg;
+ break;
+ case 's':
+ Synchronous = 1;
+ /* Pass the Synchronous option on to pppoe */
+ snprintf(PppoeOptions + strlen(PppoeOptions),
+ SMALLBUF-strlen(PppoeOptions),
+ " -s");
+ break;
+ case 'f':
+ if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
+ fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
+ exit(EXIT_FAILURE);
+ }
+ Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
+ Eth_PPPOE_Session = (UINT16_t) sessionType;
+ /* This option gets passed to pppoe */
+ snprintf(PppoeOptions + strlen(PppoeOptions),
+ SMALLBUF-strlen(PppoeOptions),
+ " -%c %s", opt, optarg);
+ break;
+ case 'F':
+ beDaemon = 0;
+ break;
+ case 'N':
+ if (sscanf(optarg, "%d", &opt) != 1) {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ if (opt <= 0) {
+ fprintf(stderr, "-N: Value must be positive\n");
+ exit(EXIT_FAILURE);
+ }
+ NumSessionSlots = opt;
+ break;
+ case 'o':
+ if (sscanf(optarg, "%d", &opt) != 1) {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ if (opt < 0) {
+ fprintf(stderr, "-o: Value must be non-negative\n");
+ exit(EXIT_FAILURE);
+ }
+ SessOffset = (size_t) opt;
+ break;
+
+ case 'I':
+ SET_STRING(IfName, optarg);
+ break;
+ case 'C':
+ SET_STRING(ACName, optarg);
+ break;
+ case 'L':
+ case 'R':
+ /* Get local/remote IP address */
+ if (sscanf(optarg, "%d.%d.%d.%d", &d[0], &d[1], &d[2], &d[3]) != 4) {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ for (i=0; i<IPV4ALEN; i++) {
+ if (d[i] < 0 || d[i] > 255) {
+ usage(argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ if (opt == 'L') {
+ LocalIP[i] = (unsigned char) d[i];
+ } else {
+ RemoteIP[i] = (unsigned char) d[i];
+ }
+ }
+ break;
+ case 'T':
+ case 'm':
+ /* These just get passed to pppoe */
+ snprintf(PppoeOptions + strlen(PppoeOptions),
+ SMALLBUF-strlen(PppoeOptions),
+ " -%c %s", opt, optarg);
+ break;
+ case 'h':
+ usage(argv[0]);
+ exit(EXIT_SUCCESS);
+ }
+ }
+
+#ifdef USE_LINUX_PACKET
+#ifndef HAVE_STRUCT_SOCKADDR_LL
+ fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
+ exit(EXIT_FAILURE);
+#endif
+#endif
+
+ if (!IfName) {
+ IfName = DEFAULT_IF;
+ }
+
+ if (!ACName) {
+ ACName = malloc(HOSTNAMELEN);
+ if (gethostname(ACName, HOSTNAMELEN) < 0) {
+ fatalSys("gethostname");
+ }
+ }
+
+ /* If address pool filename given, count number of addresses */
+ if (addressPoolFname) {
+ NumSessionSlots = parseAddressPool(addressPoolFname, 0);
+ }
+
+ /* Max 65534 - SessOffset sessions */
+ if (NumSessionSlots + SessOffset > 65534) {
+ fprintf(stderr, "-N and -o options must add up to at most 65534\n");
+ exit(EXIT_FAILURE);
+ }
+
+ /* Allocate memory for sessions */
+ Sessions = calloc(NumSessionSlots, sizeof(struct ClientSession));
+ if (!Sessions) {
+ rp_fatal("Cannot allocate memory for session slots");
+ }
+
+ /* Fill in remote IP addresses from pool */
+ if (addressPoolFname) {
+ (void) parseAddressPool(addressPoolFname, 1);
+ }
+
+ /* For testing -- generate sequential remote IP addresses */
+ for(i=0; i<NumSessionSlots; i++) {
+ Sessions[i].pid = 0;
+ Sessions[i].sess = htons(i+1+SessOffset);
+
+ if (!addressPoolFname) {
+ memcpy(Sessions[i].ip, RemoteIP, sizeof(RemoteIP));
+
+ /* Increment IP */
+ RemoteIP[3]++;
+ if (!RemoteIP[3]) {
+ RemoteIP[3] = 0;
+ RemoteIP[2]++;
+ if (!RemoteIP[2]) {
+ RemoteIP[1]++;
+ if (!RemoteIP[1]) {
+ RemoteIP[0]++;
+ }
+ }
+ }
+ }
+ }
+
+ /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
+ if (beDaemon) {
+ i = fork();
+ if (i < 0) {
+ fatalSys("fork");
+ } else if (i != 0) {
+ /* parent */
+ exit(EXIT_SUCCESS);
+ }
+ setsid();
+ signal(SIGHUP, SIG_IGN);
+ i = fork();
+ if (i < 0) {
+ fatalSys("fork");
+ } else if (i != 0) {
+ exit(EXIT_SUCCESS);
+ }
+
+ chdir("/");
+ closelog();
+ for (i=0; i<CLOSEFD; i++) close(i);
+ /* We nuked our syslog descriptor... */
+ openlog("pppoe-server", LOG_PID, LOG_DAEMON);
+ }
+
+ /* Initialize our random cookie. Try /dev/urandom; if that fails,
+ use PID and rand() */
+ fp = fopen("/dev/urandom", "r");
+ if (fp) {
+ fread(&CookieSeed, 1, SEED_LEN, fp);
+ fclose(fp);
+ } else {
+ CookieSeed[0] = getpid() & 0xFF;
+ CookieSeed[1] = (getpid() >> 8) & 0xFF;
+ for (i=2; i<SEED_LEN; i++) {
+ CookieSeed[i] = (rand() >> (i % 9)) & 0xFF;
+ }
+ }
+
+ sock = openInterface(IfName, Eth_PPPOE_Discovery, myAddr);
+
+ /* Set signal handler for SIGCHLD */
+ act.sa_handler = childHandler;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = SA_NOCLDSTOP | SA_RESTART;
+ if (sigaction(SIGCHLD, &act, NULL) < 0) {
+ fatalSys("sigaction");
+ }
+
+ /* Set up pipe for signal handler */
+ if (pipe(Pipe) < 0) {
+ fatalSys("pipe");
+ }
+
+ /* Main server loop */
+ maxFD = sock;
+ if (Pipe[0] > maxFD) maxFD = Pipe[0];
+ maxFD++;
+
+ for(;;) {
+ fd_set readable;
+ FD_ZERO(&readable);
+ FD_SET(sock, &readable);
+ FD_SET(Pipe[0], &readable);
+
+ while(1) {
+ i = select(maxFD, &readable, NULL, NULL, NULL);
+ if (i >= 0 || errno != EINTR) break;
+ }
+ if (i < 0) {
+ fatalSys("select");
+ }
+
+ if (FD_ISSET(Pipe[0], &readable)) {
+ /* Clear pipe */
+ char buf[SMALLBUF];
+ read(Pipe[0], buf, SMALLBUF);
+ }
+
+ if (ReapPending) {
+ ReapPending = 0;
+ reapSessions(myAddr, sock);
+ }
+ if (!FD_ISSET(sock, &readable)) {
+ continue;
+ }
+
+ if (receivePacket(sock, &packet, &len) < 0) {
+ continue;
+ }
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ continue;
+ }
+
+ /* Sanity check on packet */
+ if (packet.ver != 1 || packet.type != 1) {
+ /* Syslog an error */
+ continue;
+ }
+ switch(packet.code) {
+ case CODE_PADI:
+ processPADI(sock, myAddr, &packet, len);
+ break;
+ case CODE_PADR:
+ processPADR(sock, myAddr, &packet, len);
+ break;
+ case CODE_PADT:
+ /* Kill the child */
+ processPADT(sock, myAddr, &packet, len);
+ break;
+ case CODE_SESS:
+ /* Ignore SESS -- children will handle them */
+ break;
+ case CODE_PADO:
+ case CODE_PADS:
+ /* Ignore PADO and PADS totally */
+ break;
+ default:
+ /* Syslog an error */
+ break;
+ }
+ }
+ return 0;
+}
+
+/**********************************************************************
+*%FUNCTION: sendErrorPADS
+*%ARGUMENTS:
+* sock -- socket to write to
+* source -- source Ethernet address
+* dest -- destination Ethernet address
+* errorTag -- error tag
+* errorMsg -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends a PADS packet with an error message
+***********************************************************************/
+void
+sendErrorPADS(int sock,
+ unsigned char *source,
+ unsigned char *dest,
+ int errorTag,
+ char *errorMsg)
+{
+ PPPoEPacket pads;
+ unsigned char *cursor = pads.payload;
+ UINT16_t plen;
+ PPPoETag err;
+ int elen = strlen(errorMsg);
+
+ memcpy(pads.ethHdr.h_dest, dest, ETH_ALEN);
+ memcpy(pads.ethHdr.h_source, source, ETH_ALEN);
+ pads.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ pads.ver = 1;
+ pads.type = 1;
+ pads.code = CODE_PADS;
+
+ pads.session = htons(0);
+ plen = 0;
+
+ err.type = htons(errorTag);
+ err.length = htons(elen);
+
+ memcpy(err.payload, errorMsg, elen);
+ memcpy(cursor, &err, TAG_HDR_SIZE+elen);
+ cursor += TAG_HDR_SIZE + elen;
+ plen += TAG_HDR_SIZE + elen;
+
+ if (relayId.type) {
+ memcpy(cursor, &relayId, ntohs(relayId.length) + TAG_HDR_SIZE);
+ cursor += ntohs(relayId.length) + TAG_HDR_SIZE;
+ plen += ntohs(relayId.length) + TAG_HDR_SIZE;
+ }
+ if (hostUniq.type) {
+ memcpy(cursor, &hostUniq, ntohs(hostUniq.length) + TAG_HDR_SIZE);
+ cursor += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ plen += ntohs(hostUniq.length) + TAG_HDR_SIZE;
+ }
+ pads.length = htons(plen);
+ sendPacket(NULL, sock, &pads, (int) (plen + HDR_SIZE));
+}
+
+
+/**********************************************************************
+*%FUNCTION: startPPPDUserMode
+*%ARGUMENTS:
+* session -- client session record
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Starts PPPD for user-mode PPPoE
+***********************************************************************/
+void
+startPPPDUserMode(struct ClientSession *session)
+{
+ /* Leave some room */
+ char *argv[20];
+
+ char buffer[SMALLBUF];
+
+ argv[0] = "pppd";
+ argv[1] = "pty";
+
+ snprintf(buffer, SMALLBUF, "%s -n -I %s -e %d:%02x:%02x:%02x:%02x:%02x:%02x%s",
+ PPPOE_PATH, IfName,
+ ntohs(session->sess),
+ session->eth[0], session->eth[1], session->eth[2],
+ session->eth[3], session->eth[4], session->eth[5],
+ PppoeOptions);
+ argv[2] = strdup(buffer);
+ if (!argv[2]) {
+ /* TODO: Send a PADT */
+ exit(EXIT_FAILURE);
+ }
+
+ argv[3] = "file";
+ argv[4] = PPPOE_SERVER_OPTIONS;
+
+ snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
+ (int) LocalIP[0], (int) LocalIP[1],
+ (int) LocalIP[2], (int) LocalIP[3],
+ (int) session->ip[0], (int) session->ip[1],
+ (int) session->ip[2], (int) session->ip[3]);
+ syslog(LOG_INFO,
+ "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
+ ntohs(session->sess),
+ session->eth[0], session->eth[1], session->eth[2],
+ session->eth[3], session->eth[4], session->eth[5],
+ (int) session->ip[0], (int) session->ip[1],
+ (int) session->ip[2], (int) session->ip[3]);
+ argv[5] = buffer; /* No need for strdup -- about to execv! */
+ argv[6] = "nodetach";
+ argv[7] = "noaccomp";
+ argv[8] = "nobsdcomp";
+ argv[9] = "nodeflate";
+ argv[10] = "nopcomp";
+ argv[11] = "novj";
+ argv[12] = "novjccomp";
+ argv[13] = "default-asyncmap";
+ if (Synchronous) {
+ argv[14] = "sync";
+ argv[15] = NULL;
+ } else {
+ argv[14] = NULL;
+ }
+
+ execv(PPPD_PATH, argv);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: startPPPDLinuxKernelMode
+*%ARGUMENTS:
+* session -- client session record
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Starts PPPD for kernel-mode PPPoE on Linux
+***********************************************************************/
+void
+startPPPDLinuxKernelMode(struct ClientSession *session)
+{
+ /* Leave some room */
+ char *argv[20];
+
+ char buffer[SMALLBUF];
+
+ argv[0] = "pppd";
+ argv[1] = "plugin";
+ argv[2] = PLUGIN_PATH;
+ argv[3] = IfName;
+ snprintf(buffer, SMALLBUF, "%d:%02x:%02x:%02x:%02x:%02x:%02x",
+ ntohs(session->sess),
+ session->eth[0], session->eth[1], session->eth[2],
+ session->eth[3], session->eth[4], session->eth[5]);
+ argv[4] = "rp_pppoe_sess";
+ argv[5] = strdup(buffer);
+ if (!argv[5]) {
+ /* TODO: Send a PADT */
+ exit(EXIT_FAILURE);
+ }
+ argv[6] = "file";
+ argv[7] = PPPOE_SERVER_OPTIONS;
+
+ snprintf(buffer, SMALLBUF, "%d.%d.%d.%d:%d.%d.%d.%d",
+ (int) LocalIP[0], (int) LocalIP[1],
+ (int) LocalIP[2], (int) LocalIP[3],
+ (int) session->ip[0], (int) session->ip[1],
+ (int) session->ip[2], (int) session->ip[3]);
+ syslog(LOG_INFO,
+ "Session %d created for client %02x:%02x:%02x:%02x:%02x:%02x (%d.%d.%d.%d)",
+ ntohs(session->sess),
+ session->eth[0], session->eth[1], session->eth[2],
+ session->eth[3], session->eth[4], session->eth[5],
+ (int) session->ip[0], (int) session->ip[1],
+ (int) session->ip[2], (int) session->ip[3]);
+ argv[8] = buffer;
+ argv[9] = "nodetach";
+ argv[10] = "noaccomp";
+ argv[11] = "nobsdcomp";
+ argv[12] = "nodeflate";
+ argv[13] = "nopcomp";
+ argv[14] = "novj";
+ argv[15] = "novjccomp";
+ argv[16] = "default-asyncmap";
+ argv[17] = NULL;
+ execv(PPPD_PATH, argv);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: startPPPD
+*%ARGUMENTS:
+* session -- client session record
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Starts PPPD
+***********************************************************************/
+void
+startPPPD(struct ClientSession *session)
+{
+ if (UseLinuxKernelModePPPoE) startPPPDLinuxKernelMode(session);
+ else startPPPDUserMode(session);
+}
+
diff --git a/mdk-stage1/rp-pppoe/src/pppoe-sniff.c b/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
new file mode 100644
index 000000000..f249c0b6a
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/pppoe-sniff.c
@@ -0,0 +1,258 @@
+/***********************************************************************
+*
+* pppoe-sniff.c
+*
+* Sniff a network for likely-looking PPPoE frames and deduce the value
+* to supply to PPPOE_EXTRA in /etc/ppp/pppoe.conf. USE AT YOUR OWN RISK.
+*
+* Copyright (C) 2000 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: pppoe-sniff.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef USE_DLPI
+#include <sys/dlpi.h>
+/* function declarations */
+void dlpromisconreq( int fd, u_long level);
+void dlokack(int fd, char *bufp);
+#endif
+
+/* Default interface if no -I option given */
+#define DEFAULT_IF "eth0"
+
+/* Global vars */
+int SeenPADR = 0;
+int SeenSess = 0;
+UINT16_t SessType, DiscType;
+
+char *IfName = NULL; /* Interface name */
+char *ServiceName = NULL; /* Service name */
+
+/**********************************************************************
+*%FUNCTION: parsePADRTags
+*%ARGUMENTS:
+* type -- tag type
+* len -- tag length
+* data -- tag data
+* extra -- extra user data.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Picks interesting tags out of a PADR packet
+***********************************************************************/
+void
+parsePADRTags(UINT16_t type, UINT16_t len, unsigned char *data,
+ void *extra)
+{
+ switch(type) {
+ case TAG_SERVICE_NAME:
+ ServiceName = malloc(len+1);
+ if (ServiceName) {
+ memcpy(ServiceName, data, len);
+ ServiceName[len] = 0;
+ }
+ break;
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: fatalSys
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to stderr and exits.
+***********************************************************************/
+void
+fatalSys(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+ exit(1);
+}
+
+/**********************************************************************
+*%FUNCTION: rp_fatal
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog and exits.
+***********************************************************************/
+void
+rp_fatal(char const *str)
+{
+ printErr(str);
+ exit(1);
+}
+
+/**********************************************************************
+*%FUNCTION: usage
+*%ARGUMENTS:
+* argv0 -- program name
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints usage information and exits.
+***********************************************************************/
+void
+usage(char const *argv0)
+{
+ fprintf(stderr, "Usage: %s [options]\n", argv0);
+ fprintf(stderr, "Options:\n");
+ fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
+ DEFAULT_IF);
+ fprintf(stderr, " -V -- Print version and exit.\n");
+ fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2000 Roaring Penguin Software Inc.\n", VERSION);
+ fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
+ fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
+ fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
+ fprintf(stderr, "http://www.roaringpenguin.com\n");
+ exit(0);
+}
+
+#if !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
+
+int
+main()
+{
+ fprintf(stderr, "Sorry, pppoe-sniff works only on Linux.\n");
+ return 1;
+}
+
+#else
+
+/**********************************************************************
+*%FUNCTION: main
+*%ARGUMENTS:
+* argc, argv -- count and values of command-line arguments
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Main program
+***********************************************************************/
+int
+main(int argc, char *argv[])
+{
+ int opt;
+ int sock;
+ PPPoEPacket pkt;
+ int size;
+#ifdef USE_DLPI
+ long buf[MAXDLBUF];
+#endif
+
+ while((opt = getopt(argc, argv, "I:V")) != -1) {
+ switch(opt) {
+ case 'I':
+ SET_STRING(IfName, optarg);
+ break;
+ case 'V':
+ printf("pppoe-sniff: Roaring Penguin PPPoE Version %s\n", VERSION);
+ exit(0);
+ default:
+ usage(argv[0]);
+ }
+ }
+
+ /* Pick a default interface name */
+ if (!IfName) {
+ IfName = DEFAULT_IF;
+ }
+
+ /* Open the interface */
+#ifdef USE_DLPI
+ sock = openInterface(IfName, Eth_PPPOE_Discovery, NULL);
+ dlpromisconreq(sock, DL_PROMISC_PHYS);
+ dlokack(sock, (char *)buf);
+ dlpromisconreq(sock, DL_PROMISC_SAP);
+ dlokack(sock, (char *)buf);
+#else
+
+ sock = openInterface(IfName, ETH_P_ALL, NULL);
+
+#endif
+
+ /* We assume interface is in promiscuous mode -- use ifconfig to
+ ensure this */
+ fprintf(stderr, "Sniffing for PADR. Start your connection on another machine...\n");
+ while (!SeenPADR) {
+ if (receivePacket(sock, &pkt, &size) < 0) continue;
+ if (ntohs(pkt.length) + HDR_SIZE > size) continue;
+ if (pkt.ver != 1 || pkt.type != 1) continue;
+ if (pkt.code != CODE_PADR) continue;
+
+ /* Looks promising... parse it */
+ if (parsePacket(&pkt, parsePADRTags, NULL) < 0) {
+ continue;
+ }
+ DiscType = ntohs(pkt.ethHdr.h_proto);
+ fprintf(stderr, "\nExcellent! Sniffed a likely-looking PADR.\n");
+ break;
+ }
+
+ while (!SeenSess) {
+ if (receivePacket(sock, &pkt, &size) < 0) continue;
+ if (ntohs(pkt.length) + HDR_SIZE > size) continue;
+ if (pkt.ver != 1 || pkt.type != 1) continue;
+ if (pkt.code != CODE_SESS) continue;
+
+ /* Cool! */
+ SessType = ntohs(pkt.ethHdr.h_proto);
+ break;
+ }
+
+ fprintf(stderr, "Wonderful! Sniffed a likely-looking session packet.\n");
+ if ((ServiceName == NULL || *ServiceName == 0) &&
+ DiscType == ETH_PPPOE_DISCOVERY &&
+ SessType == ETH_PPPOE_SESSION) {
+ fprintf(stderr, "\nGreat! It looks like a standard PPPoE service.\nYou should not need anything special in the configuration file.\n");
+ return 0;
+ }
+
+ fprintf(stderr, "\nOK, looks like you need something special in the configuration file.\nTry this:\n\n");
+ if (ServiceName != NULL && *ServiceName != 0) {
+ fprintf(stderr, "SERVICENAME='%s'\n", ServiceName);
+ }
+ if (DiscType != ETH_PPPOE_DISCOVERY || SessType != ETH_PPPOE_SESSION) {
+ fprintf(stderr, " PPPOE_EXTRA='-f %x:%x'\n", DiscType, SessType);
+ }
+ return 0;
+}
+
+#endif
+/**********************************************************************
+*%FUNCTION: sysErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to syslog.
+***********************************************************************/
+void
+sysErr(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+}
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.c b/mdk-stage1/rp-pppoe/src/pppoe.c
new file mode 100644
index 000000000..900a3bd32
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/pppoe.c
@@ -0,0 +1,834 @@
+/***********************************************************************
+*
+* pppoe.c
+*
+* Implementation of user-space PPPoE redirector for Linux.
+*
+* Copyright (C) 2000-2001 by Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+***********************************************************************/
+
+static char const RCSID[] =
+"$Id: pppoe.c 6005 2001-06-11 13:49:39Z gc $";
+
+#include "pppoe.h"
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef USE_LINUX_PACKET
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#endif
+
+#include <signal.h>
+
+#ifdef HAVE_N_HDLC
+#ifndef N_HDLC
+#include <linux/termios.h>
+#endif
+#endif
+
+/* Default interface if no -I option given */
+#define DEFAULT_IF "eth0"
+
+/* Global variables -- options */
+int optInactivityTimeout = 0; /* Inactivity timeout */
+int optClampMSS = 0; /* Clamp MSS to this value */
+int optSkipSession = 0; /* Perform discovery, print session info
+ and exit */
+
+PPPoEConnection *Connection = NULL; /* Must be global -- used
+ in signal handler */
+/***********************************************************************
+*%FUNCTION: sendSessionPacket
+*%ARGUMENTS:
+* conn -- PPPoE connection
+* packet -- the packet to send
+* len -- length of data to send
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Transmits a session packet to the peer.
+***********************************************************************/
+void
+sendSessionPacket(PPPoEConnection *conn, PPPoEPacket *packet, int len)
+{
+ packet->length = htons(len);
+ if (optClampMSS) {
+ clampMSS(packet, "outgoing", optClampMSS);
+ }
+ if (sendPacket(conn, conn->sessionSocket, packet, len + HDR_SIZE) < 0) {
+ exit(EXIT_FAILURE);
+ }
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, packet, "SENT");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+}
+
+#ifdef USE_BPF
+/**********************************************************************
+*%FUNCTION: sessionDiscoveryPacket
+*%ARGUMENTS:
+* packet -- the discovery packet that was received
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* We got a discovery packet during the session stage. This most likely
+* means a PADT.
+*
+* The BSD version uses a single socket for both discovery and session
+* packets. When a packet comes in over the wire once we are in
+* session mode, either syncReadFromEth() or asyncReadFromEth() will
+* have already read the packet and determined it to be a discovery
+* packet before passing it here.
+***********************************************************************/
+void
+sessionDiscoveryPacket(PPPoEPacket *packet)
+{
+ /* Sanity check */
+ if (packet->code != CODE_PADT) {
+ return;
+ }
+
+ /* It's a PADT, all right. Is it for us? */
+ if (packet->session != Connection->session) {
+ /* Nope, ignore it */
+ return;
+ }
+
+ syslog(LOG_INFO,
+ "Session terminated -- received PADT from access concentrator");
+ parsePacket(packet, parseLogErrs, NULL);
+ exit(EXIT_SUCCESS);
+}
+#else
+/**********************************************************************
+*%FUNCTION: sessionDiscoveryPacket
+*%ARGUMENTS:
+* conn -- PPPoE connection
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* We got a discovery packet during the session stage. This most likely
+* means a PADT.
+***********************************************************************/
+void
+sessionDiscoveryPacket(PPPoEConnection *conn)
+{
+ PPPoEPacket packet;
+ int len;
+
+ if (receivePacket(conn->discoverySocket, &packet, &len) < 0) {
+ return;
+ }
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ return;
+ }
+
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "RCVD");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+
+ if (packet.code != CODE_PADT) {
+ /* Not PADT; ignore it */
+ return;
+ }
+
+ /* It's a PADT, all right. Is it for us? */
+ if (packet.session != conn->session) {
+ /* Nope, ignore it */
+ return;
+ }
+
+ syslog(LOG_INFO,
+ "Session terminated -- received PADT from peer");
+ parsePacket(&packet, parseLogErrs, NULL);
+ exit(EXIT_SUCCESS);
+}
+#endif /* USE_BPF */
+
+/**********************************************************************
+*%FUNCTION: session
+*%ARGUMENTS:
+* conn -- PPPoE connection info
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Handles the "session" phase of PPPoE
+***********************************************************************/
+void
+session(PPPoEConnection *conn)
+{
+ fd_set readable;
+ PPPoEPacket packet;
+ struct timeval tv;
+ struct timeval *tvp = NULL;
+ int maxFD = 0;
+ int r;
+
+ /* Open a session socket */
+ conn->sessionSocket = openInterface(conn->ifName, Eth_PPPOE_Session, conn->myEth);
+
+ /* Prepare for select() */
+ if (conn->sessionSocket > maxFD) maxFD = conn->sessionSocket;
+ if (conn->discoverySocket > maxFD) maxFD = conn->discoverySocket;
+ maxFD++;
+
+ /* Fill in the constant fields of the packet to save time */
+ memcpy(packet.ethHdr.h_dest, conn->peerEth, ETH_ALEN);
+ memcpy(packet.ethHdr.h_source, conn->myEth, ETH_ALEN);
+ packet.ethHdr.h_proto = htons(Eth_PPPOE_Session);
+ packet.ver = 1;
+ packet.type = 1;
+ packet.code = CODE_SESS;
+ packet.session = conn->session;
+
+ initPPP();
+
+#ifdef USE_BPF
+ /* check for buffered session data */
+ while (BPF_BUFFER_HAS_DATA) {
+ if (conn->synchronous) {
+ syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
+ } else {
+ asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
+ }
+ }
+#endif
+
+ for (;;) {
+ if (optInactivityTimeout > 0) {
+ tv.tv_sec = optInactivityTimeout;
+ tv.tv_usec = 0;
+ tvp = &tv;
+ }
+ FD_ZERO(&readable);
+ FD_SET(0, &readable); /* ppp packets come from stdin */
+ if (conn->discoverySocket >= 0) {
+ FD_SET(conn->discoverySocket, &readable);
+ }
+ FD_SET(conn->sessionSocket, &readable);
+ while(1) {
+ r = select(maxFD, &readable, NULL, NULL, tvp);
+ if (r >= 0 || errno != EINTR) break;
+ }
+ if (r < 0) {
+ fatalSys("select (session)");
+ }
+ if (r == 0) { /* Inactivity timeout */
+ syslog(LOG_ERR, "Inactivity timeout... something wicked happened");
+ sendPADT(conn, "RP-PPPoE: Inactivity timeout");
+ exit(EXIT_FAILURE);
+ }
+
+ /* Handle ready sockets */
+ if (FD_ISSET(0, &readable)) {
+ if (conn->synchronous) {
+ syncReadFromPPP(conn, &packet);
+ } else {
+ asyncReadFromPPP(conn, &packet);
+ }
+ }
+
+ if (FD_ISSET(conn->sessionSocket, &readable)) {
+ do {
+ if (conn->synchronous) {
+ syncReadFromEth(conn, conn->sessionSocket, optClampMSS);
+ } else {
+ asyncReadFromEth(conn, conn->sessionSocket, optClampMSS);
+ }
+ } while (BPF_BUFFER_HAS_DATA);
+ }
+
+#ifndef USE_BPF
+ /* BSD uses a single socket, see *syncReadFromEth() */
+ /* for calls to sessionDiscoveryPacket() */
+ if (conn->discoverySocket >= 0) {
+ if (FD_ISSET(conn->discoverySocket, &readable)) {
+ sessionDiscoveryPacket(conn);
+ }
+ }
+#endif
+
+ }
+}
+
+
+/***********************************************************************
+*%FUNCTION: sigPADT
+*%ARGUMENTS:
+* src -- signal received
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* If an established session exists send PADT to terminate from session
+* from our end
+***********************************************************************/
+void
+sigPADT(int src)
+{
+ syslog(LOG_DEBUG,"Received signal %d.",(int)src);
+ sendPADT(Connection, "RP-PPPoE: Received signal");
+ exit(EXIT_SUCCESS);
+}
+
+/**********************************************************************
+*%FUNCTION: usage
+*%ARGUMENTS:
+* argv0 -- program name
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints usage information and exits.
+***********************************************************************/
+void
+usage(char const *argv0)
+{
+ fprintf(stderr, "Usage: %s [options]\n", argv0);
+ fprintf(stderr, "Options:\n");
+#ifdef USE_BPF
+ fprintf(stderr, " -I if_name -- Specify interface (REQUIRED)\n");
+#else
+ fprintf(stderr, " -I if_name -- Specify interface (default %s.)\n",
+ DEFAULT_IF);
+#endif
+ fprintf(stderr, " -T timeout -- Specify inactivity timeout in seconds.\n");
+ fprintf(stderr, " -D filename -- Log debugging information in filename.\n");
+ fprintf(stderr, " -V -- Print version and exit.\n");
+ fprintf(stderr, " -A -- Print access concentrator names and exit.\n");
+ fprintf(stderr, " -S name -- Set desired service name.\n");
+ fprintf(stderr, " -C name -- Set desired access concentrator name.\n");
+ fprintf(stderr, " -U -- Use Host-Unique to allow multiple PPPoE sessions.\n");
+ fprintf(stderr, " -s -- Use synchronous PPP encapsulation.\n");
+ fprintf(stderr, " -m MSS -- Clamp incoming and outgoing MSS options.\n");
+ fprintf(stderr, " -p pidfile -- Write process-ID to pidfile.\n");
+ fprintf(stderr, " -e sess:mac -- Skip discovery phase; use existing session.\n");
+ fprintf(stderr, " -n -- Do not open discovery socket.\n");
+ fprintf(stderr, " -k -- Kill a session with PADT (requires -e)\n");
+ fprintf(stderr, " -d -- Perform discovery, print session info and exit.\n");
+ fprintf(stderr, " -f disc:sess -- Set Ethernet frame types (hex).\n");
+ fprintf(stderr, " -h -- Print usage information.\n\n");
+ fprintf(stderr, "PPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
+ fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
+ fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
+ fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
+ fprintf(stderr, "http://www.roaringpenguin.com\n");
+ exit(EXIT_SUCCESS);
+}
+
+/**********************************************************************
+*%FUNCTION: main
+*%ARGUMENTS:
+* argc, argv -- count and values of command-line arguments
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Main program
+***********************************************************************/
+int
+main(int argc, char *argv[])
+{
+ int opt;
+ int n;
+ unsigned int m[6]; /* MAC address in -e option */
+ unsigned int s; /* Temporary to hold session */
+ FILE *pidfile;
+ unsigned int discoveryType, sessionType;
+
+ PPPoEConnection conn;
+
+#ifdef HAVE_N_HDLC
+ int disc = N_HDLC;
+ long flags;
+#endif
+
+ /* Initialize connection info */
+ memset(&conn, 0, sizeof(conn));
+ conn.discoverySocket = -1;
+ conn.sessionSocket = -1;
+
+ /* For signal handler */
+ Connection = &conn;
+
+ /* Initialize syslog */
+ openlog("pppoe", LOG_PID, LOG_DAEMON);
+
+ while((opt = getopt(argc, argv, "I:VAT:D:hS:C:Usm:np:e:kdf:")) != -1) {
+ switch(opt) {
+ case 'f':
+ if (sscanf(optarg, "%x:%x", &discoveryType, &sessionType) != 2) {
+ fprintf(stderr, "Illegal argument to -f: Should be disc:sess in hex\n");
+ exit(EXIT_FAILURE);
+ }
+ Eth_PPPOE_Discovery = (UINT16_t) discoveryType;
+ Eth_PPPOE_Session = (UINT16_t) sessionType;
+ break;
+ case 'd':
+ optSkipSession = 1;
+ break;
+
+ case 'k':
+ conn.killSession = 1;
+ break;
+
+ case 'n':
+ /* Do not even open a discovery socket -- used when invoked
+ by pppoe-server */
+ conn.noDiscoverySocket = 1;
+ break;
+
+ case 'e':
+ /* Existing session: "sess:xx:yy:zz:aa:bb:cc" where "sess" is
+ session-ID, and xx:yy:zz:aa:bb:cc is MAC-address of peer */
+ n = sscanf(optarg, "%u:%2x:%2x:%2x:%2x:%2x:%2x",
+ &s, &m[0], &m[1], &m[2], &m[3], &m[4], &m[5]);
+ if (n != 7) {
+ fprintf(stderr, "Illegal argument to -e: Should be sess:xx:yy:zz:aa:bb:cc\n");
+ exit(EXIT_FAILURE);
+ }
+
+ /* Copy MAC address of peer */
+ for (n=0; n<6; n++) {
+ conn.peerEth[n] = (unsigned char) m[n];
+ }
+
+ /* Convert session */
+ conn.session = htons(s);
+
+ /* Skip discovery phase! */
+ conn.skipDiscovery = 1;
+ break;
+
+ case 'p':
+ pidfile = fopen(optarg, "w");
+ if (pidfile) {
+ fprintf(pidfile, "%lu\n", (unsigned long) getpid());
+ fclose(pidfile);
+ }
+ break;
+ case 'S':
+ SET_STRING(conn.serviceName, optarg);
+ break;
+ case 'C':
+ SET_STRING(conn.acName, optarg);
+ break;
+ case 's':
+ conn.synchronous = 1;
+ break;
+ case 'U':
+ conn.useHostUniq = 1;
+ break;
+ case 'D':
+ conn.debugFile = fopen(optarg, "w");
+ if (!conn.debugFile) {
+ fprintf(stderr, "Could not open %s: %s\n",
+ optarg, strerror(errno));
+ exit(EXIT_FAILURE);
+ }
+ fprintf(conn.debugFile, "rp-pppoe-%s\n", VERSION);
+ fflush(conn.debugFile);
+ break;
+ case 'T':
+ optInactivityTimeout = (int) strtol(optarg, NULL, 10);
+ if (optInactivityTimeout < 0) {
+ optInactivityTimeout = 0;
+ }
+ break;
+ case 'm':
+ optClampMSS = (int) strtol(optarg, NULL, 10);
+ if (optClampMSS < 536) {
+ fprintf(stderr, "-m: %d is too low (min 536)\n", optClampMSS);
+ exit(EXIT_FAILURE);
+ }
+ if (optClampMSS > 1452) {
+ fprintf(stderr, "-m: %d is too high (max 1452)\n", optClampMSS);
+ exit(EXIT_FAILURE);
+ }
+ break;
+ case 'I':
+ SET_STRING(conn.ifName, optarg);
+ break;
+ case 'V':
+ printf("Roaring Penguin PPPoE Version %s\n", VERSION);
+ exit(EXIT_SUCCESS);
+ case 'A':
+ conn.printACNames = 1;
+ break;
+ case 'h':
+ usage(argv[0]);
+ break;
+ default:
+ usage(argv[0]);
+ }
+ }
+
+ /* Pick a default interface name */
+ if (!conn.ifName) {
+#ifdef USE_BPF
+ fprintf(stderr, "No interface specified (-I option)\n");
+ exit(EXIT_FAILURE);
+#else
+ SET_STRING(conn.ifName, DEFAULT_IF);
+#endif
+ }
+
+ /* Set signal handlers: send PADT on TERM, HUP and INT */
+ if (!conn.printACNames) {
+ signal(SIGTERM, sigPADT);
+ signal(SIGHUP, sigPADT);
+ signal(SIGINT, sigPADT);
+
+#ifdef HAVE_N_HDLC
+ if (conn.synchronous) {
+ if (ioctl(0, TIOCSETD, &disc) < 0) {
+ printErr("Unable to set line discipline to N_HDLC -- synchronous mode probably will fail");
+ } else {
+ syslog(LOG_INFO,
+ "Changed pty line discipline to N_HDLC for synchronous mode");
+ }
+ /* There is a bug in Linux's select which returns a descriptor
+ * as readable if N_HDLC line discipline is on, even if
+ * it isn't really readable. This return happens only when
+ * select() times out. To avoid blocking forever in read(),
+ * make descriptor 0 non-blocking */
+ flags = fcntl(0, F_GETFL);
+ if (flags < 0) fatalSys("fcntl(F_GETFL)");
+ if (fcntl(0, F_SETFL, (long) flags | O_NONBLOCK) < 0) {
+ fatalSys("fcntl(F_SETFL)");
+ }
+ }
+#endif
+
+ }
+
+ discovery(&conn);
+ if (optSkipSession) {
+ printf("%u:%02x:%02x:%02x:%02x:%02x:%02x\n",
+ ntohs(conn.session),
+ conn.peerEth[0],
+ conn.peerEth[1],
+ conn.peerEth[2],
+ conn.peerEth[3],
+ conn.peerEth[4],
+ conn.peerEth[5]);
+ exit(EXIT_SUCCESS);
+ }
+ session(&conn);
+ return 0;
+}
+
+/**********************************************************************
+*%FUNCTION: fatalSys
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to stderr and syslog and exits.
+***********************************************************************/
+void
+fatalSys(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+ sendPADT(Connection, "RP-PPPoE: System call error");
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: sysErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to syslog.
+***********************************************************************/
+void
+sysErr(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+}
+
+/**********************************************************************
+*%FUNCTION: rp_fatal
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog and exits.
+***********************************************************************/
+void
+rp_fatal(char const *str)
+{
+ char buf[1024];
+ printErr(str);
+ sprintf(buf, "RP-PPPoE: %.256s", str);
+ sendPADT(Connection, buf);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: asyncReadFromEth
+*%ARGUMENTS:
+* conn -- PPPoE connection info
+* sock -- Ethernet socket
+* clampMss -- if non-zero, do MSS-clamping
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Reads a packet from the Ethernet interface and sends it to async PPP
+* device.
+***********************************************************************/
+void
+asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
+{
+ PPPoEPacket packet;
+ int len;
+ int plen;
+ int i;
+ unsigned char pppBuf[4096];
+ unsigned char *ptr = pppBuf;
+ unsigned char c;
+ UINT16_t fcs;
+ unsigned char header[2] = {FRAME_ADDR, FRAME_CTRL};
+ unsigned char tail[2];
+#ifdef USE_BPF
+ int type;
+#endif
+
+ if (receivePacket(sock, &packet, &len) < 0) {
+ return;
+ }
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ return;
+ }
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "RCVD");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+
+#ifdef USE_BPF
+ /* Make sure this is a session packet before processing further */
+ type = etherType(&packet);
+ if (type == Eth_PPPOE_Discovery) {
+ sessionDiscoveryPacket(&packet);
+ } else if (type != Eth_PPPOE_Session) {
+ return;
+ }
+#endif
+
+ /* Sanity check */
+ if (packet.code != CODE_SESS) {
+ syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
+ return;
+ }
+ if (packet.ver != 1) {
+ syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
+ return;
+ }
+ if (packet.type != 1) {
+ syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
+ return;
+ }
+ if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
+ /* Not for us -- must be another session. This is not an error,
+ so don't log anything. */
+ return;
+ }
+
+ if (packet.session != conn->session) {
+ /* Not for us -- must be another session. This is not an error,
+ so don't log anything. */
+ return;
+ }
+ plen = ntohs(packet.length);
+ if (plen + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
+ (int) plen, (int) len);
+ return;
+ }
+
+ /* Clamp MSS */
+ if (clampMss) {
+ clampMSS(&packet, "incoming", clampMss);
+ }
+
+ /* Compute FCS */
+ fcs = pppFCS16(PPPINITFCS16, header, 2);
+ fcs = pppFCS16(fcs, packet.payload, plen) ^ 0xffff;
+ tail[0] = fcs & 0x00ff;
+ tail[1] = (fcs >> 8) & 0x00ff;
+
+ /* Build a buffer to send to PPP */
+ *ptr++ = FRAME_FLAG;
+ *ptr++ = FRAME_ADDR;
+ *ptr++ = FRAME_ESC;
+ *ptr++ = FRAME_CTRL ^ FRAME_ENC;
+
+ for (i=0; i<plen; i++) {
+ c = packet.payload[i];
+ if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
+ *ptr++ = FRAME_ESC;
+ *ptr++ = c ^ FRAME_ENC;
+ } else {
+ *ptr++ = c;
+ }
+ }
+ for (i=0; i<2; i++) {
+ c = tail[i];
+ if (c == FRAME_FLAG || c == FRAME_ADDR || c == FRAME_ESC || c < 0x20) {
+ *ptr++ = FRAME_ESC;
+ *ptr++ = c ^ FRAME_ENC;
+ } else {
+ *ptr++ = c;
+ }
+ }
+ *ptr++ = FRAME_FLAG;
+
+ /* Ship it out */
+ if (write(1, pppBuf, (ptr-pppBuf)) < 0) {
+ fatalSys("asyncReadFromEth: write");
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: syncReadFromEth
+*%ARGUMENTS:
+* conn -- PPPoE connection info
+* sock -- Ethernet socket
+* clampMss -- if true, clamp MSS.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Reads a packet from the Ethernet interface and sends it to sync PPP
+* device.
+***********************************************************************/
+void
+syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss)
+{
+ PPPoEPacket packet;
+ int len;
+ int plen;
+ struct iovec vec[2];
+ unsigned char dummy[2];
+#ifdef USE_BPF
+ int type;
+#endif
+
+ if (receivePacket(sock, &packet, &len) < 0) {
+ return;
+ }
+
+ /* Check length */
+ if (ntohs(packet.length) + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ return;
+ }
+ if (conn->debugFile) {
+ dumpPacket(conn->debugFile, &packet, "RCVD");
+ fprintf(conn->debugFile, "\n");
+ fflush(conn->debugFile);
+ }
+
+#ifdef USE_BPF
+ /* Make sure this is a session packet before processing further */
+ type = etherType(&packet);
+ if (type == Eth_PPPOE_Discovery) {
+ sessionDiscoveryPacket(&packet);
+ } else if (type != Eth_PPPOE_Session) {
+ return;
+ }
+#endif
+
+ /* Sanity check */
+ if (packet.code != CODE_SESS) {
+ syslog(LOG_ERR, "Unexpected packet code %d", (int) packet.code);
+ return;
+ }
+ if (packet.ver != 1) {
+ syslog(LOG_ERR, "Unexpected packet version %d", (int) packet.ver);
+ return;
+ }
+ if (packet.type != 1) {
+ syslog(LOG_ERR, "Unexpected packet type %d", (int) packet.type);
+ return;
+ }
+ if (memcmp(packet.ethHdr.h_source, conn->peerEth, ETH_ALEN)) {
+ /* Not for us -- must be another session. This is not an error,
+ so don't log anything. */
+ return;
+ }
+ if (packet.session != conn->session) {
+ /* Not for us -- must be another session. This is not an error,
+ so don't log anything. */
+ return;
+ }
+ plen = ntohs(packet.length);
+ if (plen + HDR_SIZE > len) {
+ syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
+ (int) plen, (int) len);
+ return;
+ }
+
+ /* Clamp MSS */
+ if (clampMss) {
+ clampMSS(&packet, "incoming", clampMss);
+ }
+
+ /* Ship it out */
+ vec[0].iov_base = (void *) dummy;
+ dummy[0] = FRAME_ADDR;
+ dummy[1] = FRAME_CTRL;
+ vec[0].iov_len = 2;
+ vec[1].iov_base = (void *) packet.payload;
+ vec[1].iov_len = plen;
+
+ if (writev(1, vec, 2) < 0) {
+ fatalSys("syncReadFromEth: write");
+ }
+}
+
diff --git a/mdk-stage1/rp-pppoe/src/pppoe.h b/mdk-stage1/rp-pppoe/src/pppoe.h
new file mode 100644
index 000000000..a17ca958d
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/pppoe.h
@@ -0,0 +1,331 @@
+/***********************************************************************
+*
+* pppoe.h
+*
+* Declaration of various PPPoE constants
+*
+* Copyright (C) 2000 Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+* $Id: pppoe.h 6005 2001-06-11 13:49:39Z gc $
+*
+***********************************************************************/
+
+#ifdef __sun__
+#define __EXTENSIONS__
+#endif
+
+#include "config.h"
+
+#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
+#define _POSIX_SOURCE 1 /* For sigaction defines */
+#endif
+
+#include <stdio.h> /* For FILE */
+#include <sys/types.h> /* For pid_t */
+
+/* How do we access raw Ethernet devices? */
+#undef USE_LINUX_PACKET
+#undef USE_BPF
+
+#if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H)
+#define USE_LINUX_PACKET 1
+#elif defined(HAVE_NET_BPF_H)
+#define USE_BPF 1
+#elif defined(HAVE_SYS_DLPI_H)
+#define USE_DLPI
+#endif
+
+/* Sanity check */
+#if !defined(USE_BPF) && !defined(USE_LINUX_PACKET) && !defined(USE_DLPI)
+#error Unknown method for accessing raw Ethernet frames
+#endif
+
+#ifdef HAVE_SYS_CDEFS_H
+#include <sys/cdefs.h>
+#endif
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+/* Ugly header files on some Linux boxes... */
+#if defined(HAVE_LINUX_IF_H)
+#include <linux/if.h>
+#elif defined(HAVE_NET_IF_H)
+#include <net/if.h>
+#endif
+
+#ifdef HAVE_NET_IF_TYPES_H
+#include <net/if_types.h>
+#endif
+
+#ifdef HAVE_NET_IF_DL_H
+#include <net/if_dl.h>
+#endif
+
+/* I'm not sure why this is needed... I do not have OpenBSD */
+#if defined(__OpenBSD__)
+#include <net/ppp_defs.h>
+#include <net/if_ppp.h>
+#endif
+
+#ifdef USE_BPF
+extern int bpfSize;
+struct PPPoEPacketStruct;
+void sessionDiscoveryPacket(struct PPPoEPacketStruct *packet);
+#define BPF_BUFFER_IS_EMPTY (bpfSize <= 0)
+#define BPF_BUFFER_HAS_DATA (bpfSize > 0)
+#define ethhdr ether_header
+#define h_dest ether_dhost
+#define h_source ether_shost
+#define h_proto ether_type
+#define ETH_DATA_LEN ETHERMTU
+#define ETH_ALEN ETHER_ADDR_LEN
+#else
+#undef USE_BPF
+#define BPF_BUFFER_IS_EMPTY 1
+#define BPF_BUFFER_HAS_DATA 0
+#endif
+
+#ifdef USE_DLPI
+#include <sys/ethernet.h>
+#define ethhdr ether_header
+#define ETH_DATA_LEN ETHERMTU
+#define ETH_ALEN ETHERADDRL
+#define h_dest ether_dhost.ether_addr_octet
+#define h_source ether_shost.ether_addr_octet
+#define h_proto ether_type
+
+/* cloned from dltest.h */
+#define MAXDLBUF 8192
+#define MAXDLADDR 1024
+#define MAXWAIT 15
+#define OFFADDR(s, n) (u_char*)((char*)(s) + (int)(n))
+#define CASERET(s) case s: return ("s")
+
+#endif
+
+/* Define various integer types -- assumes a char is 8 bits */
+#if SIZEOF_UNSIGNED_SHORT == 2
+typedef unsigned short UINT16_t;
+#elif SIZEOF_UNSIGNED_INT == 2
+typedef unsigned int UINT16_t;
+#else
+#error Could not find a 16-bit integer type
+#endif
+
+#if SIZEOF_UNSIGNED_SHORT == 4
+typedef unsigned short UINT32_t;
+#elif SIZEOF_UNSIGNED_INT == 4
+typedef unsigned int UINT32_t;
+#elif SIZEOF_UNSIGNED_LONG == 4
+typedef unsigned long UINT32_t;
+#else
+#error Could not find a 16-bit integer type
+#endif
+
+#ifdef HAVE_LINUX_IF_ETHER_H
+#include <linux/if_ether.h>
+#endif
+
+#include <netinet/in.h>
+
+#ifdef HAVE_NETINET_IF_ETHER_H
+#include <sys/types.h>
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifndef HAVE_SYS_DLPI_H
+#include <netinet/if_ether.h>
+#endif
+#endif
+
+
+
+/* Ethernet frame types according to RFC 2516 */
+#define ETH_PPPOE_DISCOVERY 0x8863
+#define ETH_PPPOE_SESSION 0x8864
+
+/* But some brain-dead peers disobey the RFC, so frame types are variables */
+extern UINT16_t Eth_PPPOE_Discovery;
+extern UINT16_t Eth_PPPOE_Session;
+
+/* PPPoE codes */
+#define CODE_PADI 0x09
+#define CODE_PADO 0x07
+#define CODE_PADR 0x19
+#define CODE_PADS 0x65
+#define CODE_PADT 0xA7
+#define CODE_SESS 0x00
+
+/* PPPoE Tags */
+#define TAG_END_OF_LIST 0x0000
+#define TAG_SERVICE_NAME 0x0101
+#define TAG_AC_NAME 0x0102
+#define TAG_HOST_UNIQ 0x0103
+#define TAG_AC_COOKIE 0x0104
+#define TAG_VENDOR_SPECIFIC 0x0105
+#define TAG_RELAY_SESSION_ID 0x0110
+#define TAG_SERVICE_NAME_ERROR 0x0201
+#define TAG_AC_SYSTEM_ERROR 0x0202
+#define TAG_GENERIC_ERROR 0x0203
+
+/* Discovery phase states */
+#define STATE_SENT_PADI 0
+#define STATE_RECEIVED_PADO 1
+#define STATE_SENT_PADR 2
+#define STATE_SESSION 3
+#define STATE_TERMINATED 4
+
+/* How many PADI/PADS attempts? */
+#define MAX_PADI_ATTEMPTS 3
+
+/* Initial timeout for PADO/PADS */
+#define PADI_TIMEOUT 5
+
+/* States for scanning PPP frames */
+#define STATE_WAITFOR_FRAME_ADDR 0
+#define STATE_DROP_PROTO 1
+#define STATE_BUILDING_PACKET 2
+
+/* Special PPP frame characters */
+#define FRAME_ESC 0x7D
+#define FRAME_FLAG 0x7E
+#define FRAME_ADDR 0xFF
+#define FRAME_CTRL 0x03
+#define FRAME_ENC 0x20
+
+#define IPV4ALEN 4
+#define SMALLBUF 256
+
+/* A PPPoE Packet, including Ethernet headers */
+typedef struct PPPoEPacketStruct {
+ struct ethhdr ethHdr; /* Ethernet header */
+#ifdef PACK_BITFIELDS_REVERSED
+ unsigned int type:4; /* PPPoE Type (must be 1) */
+ unsigned int ver:4; /* PPPoE Version (must be 1) */
+#else
+ unsigned int ver:4; /* PPPoE Version (must be 1) */
+ unsigned int type:4; /* PPPoE Type (must be 1) */
+#endif
+ unsigned int code:8; /* PPPoE code */
+ unsigned int session:16; /* PPPoE session */
+ unsigned int length:16; /* Payload length */
+ unsigned char payload[ETH_DATA_LEN]; /* A bit of room to spare */
+} PPPoEPacket;
+
+/* Header size of a PPPoE packet */
+#define PPPOE_OVERHEAD 6 /* type, code, session, length */
+#define HDR_SIZE (sizeof(struct ethhdr) + PPPOE_OVERHEAD)
+#define MAX_PPPOE_PAYLOAD (ETH_DATA_LEN - PPPOE_OVERHEAD)
+#define MAX_PPPOE_MTU (MAX_PPPOE_PAYLOAD - 2)
+
+/* PPPoE Tag */
+
+typedef struct PPPoETagStruct {
+ unsigned int type:16; /* tag type */
+ unsigned int length:16; /* Length of payload */
+ unsigned char payload[ETH_DATA_LEN]; /* A LOT of room to spare */
+} PPPoETag;
+/* Header size of a PPPoE tag */
+#define TAG_HDR_SIZE 4
+
+/* Chunk to read from stdin */
+#define READ_CHUNK 4096
+
+/* Function passed to parsePacket */
+typedef void ParseFunc(UINT16_t type,
+ UINT16_t len,
+ unsigned char *data,
+ void *extra);
+
+/* Structures used by PPPoE server */
+struct ClientSession {
+ pid_t pid; /* PID of child handling session */
+ unsigned char ip[IPV4ALEN]; /* IP address of peer */
+ UINT16_t sess; /* Session number */
+ unsigned char eth[ETH_ALEN]; /* Peer's Ethernet address */
+ int recvdPADT; /* Peer sent a PADT */
+};
+
+#define PPPINITFCS16 0xffff /* Initial FCS value */
+
+/* Keep track of the state of a connection -- collect everything in
+ one spot */
+
+typedef struct PPPoEConnectionStruct {
+ int discoveryState; /* Where we are in discovery */
+ int discoverySocket; /* Raw socket for discovery frames */
+ int sessionSocket; /* Raw socket for session frames */
+ unsigned char myEth[ETH_ALEN]; /* My MAC address */
+ unsigned char peerEth[ETH_ALEN]; /* Peer's MAC address */
+ UINT16_t session; /* Session ID */
+ char *ifName; /* Interface name */
+ char *serviceName; /* Desired service name, if any */
+ char *acName; /* Desired AC name, if any */
+ int synchronous; /* Use synchronous PPP */
+ int useHostUniq; /* Use Host-Uniq tag */
+ int printACNames; /* Just print AC names */
+ int skipDiscovery; /* Skip discovery */
+ int noDiscoverySocket; /* Don't even open discovery socket */
+ int killSession; /* Kill session and exit */
+ FILE *debugFile; /* Debug file for dumping packets */
+ int numPADOs; /* Number of PADO packets received */
+ PPPoETag cookie; /* We have to send this if we get it */
+ PPPoETag relayId; /* Ditto */
+} PPPoEConnection;
+
+/* Structure used to determine acceptable PADO or PADS packet */
+struct PacketCriteria {
+ PPPoEConnection *conn;
+ int acNameOK;
+ int serviceNameOK;
+};
+
+/* Function Prototypes */
+UINT16_t etherType(PPPoEPacket *packet);
+int openInterface(char const *ifname, UINT16_t type, unsigned char *hwaddr);
+int sendPacket(PPPoEConnection *conn, int sock, PPPoEPacket *pkt, int size);
+int receivePacket(int sock, PPPoEPacket *pkt, int *size);
+void fatalSys(char const *str);
+void rp_fatal(char const *str);
+void printErr(char const *str);
+void sysErr(char const *str);
+void dumpPacket(FILE *fp, PPPoEPacket *packet, char const *dir);
+void dumpHex(FILE *fp, unsigned char const *buf, int len);
+int parsePacket(PPPoEPacket *packet, ParseFunc *func, void *extra);
+void parseLogErrs(UINT16_t typ, UINT16_t len, unsigned char *data, void *xtra);
+void syncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
+void asyncReadFromPPP(PPPoEConnection *conn, PPPoEPacket *packet);
+void asyncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
+void syncReadFromEth(PPPoEConnection *conn, int sock, int clampMss);
+char *strDup(char const *str);
+void sendPADT(PPPoEConnection *conn, char const *msg);
+void sendSessionPacket(PPPoEConnection *conn,
+ PPPoEPacket *packet, int len);
+void initPPP(void);
+void clampMSS(PPPoEPacket *packet, char const *dir, int clampMss);
+UINT16_t computeTCPChecksum(unsigned char *ipHdr, unsigned char *tcpHdr);
+UINT16_t pppFCS16(UINT16_t fcs, unsigned char *cp, int len);
+void discovery(PPPoEConnection *conn);
+unsigned char *findTag(PPPoEPacket *packet, UINT16_t tagType,
+ PPPoETag *tag);
+
+#define SET_STRING(var, val) do { if (var) free(var); var = strDup(val); } while(0);
+
+#define CHECK_ROOM(cursor, start, len) \
+do {\
+ if (((cursor)-(start))+(len) > MAX_PPPOE_PAYLOAD) { \
+ syslog(LOG_ERR, "Would create too-long packet"); \
+ return; \
+ } \
+} while(0)
+
+/* True if Ethernet address is broadcast or multicast */
+#define NOT_UNICAST(e) ((e[0] & 0x01) != 0)
+#define BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) == 0xFF)
+#define NOT_BROADCAST(e) ((e[0] & e[1] & e[2] & e[3] & e[4] & e[5]) != 0xFF)
diff --git a/mdk-stage1/rp-pppoe/src/relay.c b/mdk-stage1/rp-pppoe/src/relay.c
new file mode 100644
index 000000000..e6032bd3c
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/relay.c
@@ -0,0 +1,1541 @@
+/***********************************************************************
+*
+* relay.c
+*
+* Implementation of PPPoE relay
+*
+* Copyright (C) 2001 Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+* $Id: relay.c 6005 2001-06-11 13:49:39Z gc $
+*
+***********************************************************************/
+static char const RCSID[] =
+"$Id: relay.c 6005 2001-06-11 13:49:39Z gc $";
+
+#define _GNU_SOURCE 1 /* For SA_RESTART */
+
+#include "relay.h"
+
+#include <signal.h>
+
+#ifdef HAVE_SYSLOG_H
+#include <syslog.h>
+#endif
+
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+
+/* Interfaces (max MAX_INTERFACES) */
+PPPoEInterface Interfaces[MAX_INTERFACES];
+int NumInterfaces;
+
+/* Relay info */
+int NumSessions;
+int MaxSessions;
+PPPoESession *AllSessions;
+PPPoESession *FreeSessions;
+PPPoESession *ActiveSessions;
+
+SessionHash *AllHashes;
+SessionHash *FreeHashes;
+SessionHash *Buckets[HASHTAB_SIZE];
+
+volatile unsigned int Epoch = 0;
+volatile unsigned int CleanCounter = 0;
+
+/* How often to clean up stale sessions? */
+#define MIN_CLEAN_PERIOD 30 /* Minimum period to run cleaner */
+#define TIMEOUT_DIVISOR 20 /* How often to run cleaner per timeout period */
+unsigned int CleanPeriod = MIN_CLEAN_PERIOD;
+
+/* How long a session can be idle before it is cleaned up? */
+unsigned int IdleTimeout = MIN_CLEAN_PERIOD * TIMEOUT_DIVISOR;
+
+/* Pipe for breaking select() to initiate periodic cleaning */
+int CleanPipe[2];
+
+/* Our relay: if_index followed by peer_mac */
+#define MY_RELAY_TAG_LEN (sizeof(int) + ETH_ALEN)
+
+/* Hack for daemonizing */
+#define CLOSEFD 64
+
+/**********************************************************************
+*%FUNCTION: keepDescriptor
+*%ARGUMENTS:
+* fd -- a file descriptor
+*%RETURNS:
+* 1 if descriptor should NOT be closed during daemonizing; 0 otherwise.
+***********************************************************************/
+static int
+keepDescriptor(int fd)
+{
+ int i;
+ if (fd == CleanPipe[0] || fd == CleanPipe[1]) return 1;
+ for (i=0; i<NumInterfaces; i++) {
+ if (fd == Interfaces[i].discoverySock ||
+ fd == Interfaces[i].sessionSock) return 1;
+ }
+ return 0;
+}
+
+/**********************************************************************
+*%FUNCTION: addTag
+*%ARGUMENTS:
+* packet -- a PPPoE packet
+* tag -- tag to add
+*%RETURNS:
+* -1 if no room in packet; number of bytes added otherwise.
+*%DESCRIPTION:
+* Inserts a tag as the first tag in a PPPoE packet.
+***********************************************************************/
+int
+addTag(PPPoEPacket *packet, PPPoETag const *tag)
+{
+ return insertBytes(packet, packet->payload, tag,
+ ntohs(tag->length) + TAG_HDR_SIZE);
+}
+
+/**********************************************************************
+*%FUNCTION: insertBytes
+*%ARGUMENTS:
+* packet -- a PPPoE packet
+* loc -- location at which to insert bytes of data
+* bytes -- the data to insert
+* len -- length of data to insert
+*%RETURNS:
+* -1 if no room in packet; len otherwise.
+*%DESCRIPTION:
+* Inserts "len" bytes of data at location "loc" in "packet", moving all
+* other data up to make room.
+***********************************************************************/
+int
+insertBytes(PPPoEPacket *packet,
+ unsigned char *loc,
+ void const *bytes,
+ int len)
+{
+ int toMove;
+ int plen = ntohs(packet->length);
+ /* Sanity checks */
+ if (loc < packet->payload ||
+ loc > packet->payload + plen ||
+ len + plen > MAX_PPPOE_PAYLOAD) {
+ return -1;
+ }
+
+ toMove = (packet->payload + plen) - loc;
+ memmove(loc+len, loc, toMove);
+ memcpy(loc, bytes, len);
+ packet->length = htons(plen + len);
+ return len;
+}
+
+/**********************************************************************
+*%FUNCTION: removeBytes
+*%ARGUMENTS:
+* packet -- a PPPoE packet
+* loc -- location at which to remove bytes of data
+* len -- length of data to remove
+*%RETURNS:
+* -1 if there was a problem, len otherwise
+*%DESCRIPTION:
+* Removes "len" bytes of data from location "loc" in "packet", moving all
+* other data down to close the gap
+***********************************************************************/
+int
+removeBytes(PPPoEPacket *packet,
+ unsigned char *loc,
+ int len)
+{
+ int toMove;
+ int plen = ntohs(packet->length);
+ /* Sanity checks */
+ if (len < 0 || len > plen ||
+ loc < packet->payload ||
+ loc + len > packet->payload + plen) {
+ return -1;
+ }
+
+ toMove = ((packet->payload + plen) - loc) - len;
+ memmove(loc, loc+len, toMove);
+ packet->length = htons(plen - len);
+ return len;
+}
+
+/**********************************************************************
+*%FUNCTION: usage
+*%ARGUMENTS:
+* argv0 -- program name
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints usage information and exits.
+***********************************************************************/
+void
+usage(char const *argv0)
+{
+ fprintf(stderr, "Usage: %s [options]\n", argv0);
+ fprintf(stderr, "Options:\n");
+ fprintf(stderr, " -S if_name -- Specify interface for PPPoE Server\n");
+ fprintf(stderr, " -C if_name -- Specify interface for PPPoE Client\n");
+ fprintf(stderr, " -B if_name -- Specify interface for both clients and server\n");
+ fprintf(stderr, " -n nsess -- Maxmimum number of sessions to relay\n");
+ fprintf(stderr, " -i timeout -- Idle timeout in seconds (0 = no timeout)\n");
+ fprintf(stderr, " -F -- Do not fork into background\n");
+ fprintf(stderr, " -h -- Print this help message\n");
+
+ fprintf(stderr, "\nPPPoE Version %s, Copyright (C) 2001 Roaring Penguin Software Inc.\n", VERSION);
+ fprintf(stderr, "PPPoE comes with ABSOLUTELY NO WARRANTY.\n");
+ fprintf(stderr, "This is free software, and you are welcome to redistribute it under the terms\n");
+ fprintf(stderr, "of the GNU General Public License, version 2 or any later version.\n");
+ fprintf(stderr, "http://www.roaringpenguin.com\n");
+ exit(EXIT_SUCCESS);
+}
+
+/**********************************************************************
+*%FUNCTION: main
+*%ARGUMENTS:
+* argc, argv -- usual suspects
+*%RETURNS:
+* EXIT_SUCCESS or EXIT_FAILURE
+*%DESCRIPTION:
+* Main program. Options:
+* -C ifname -- Use interface for PPPoE clients
+* -S ifname -- Use interface for PPPoE servers
+* -B ifname -- Use interface for both clients and servers
+* -n sessions -- Maximum of "n" sessions
+***********************************************************************/
+int
+main(int argc, char *argv[])
+{
+ int opt;
+ int nsess = DEFAULT_SESSIONS;
+ struct sigaction sa;
+ int beDaemon = 1;
+ openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
+
+ while((opt = getopt(argc, argv, "hC:S:B:n:i:F")) != -1) {
+ switch(opt) {
+ case 'h':
+ usage(argv[0]);
+ break;
+ case 'F':
+ beDaemon = 0;
+ break;
+ case 'C':
+ addInterface(optarg, 1, 0);
+ break;
+ case 'S':
+ addInterface(optarg, 0, 1);
+ break;
+ case 'B':
+ addInterface(optarg, 1, 1);
+ break;
+ case 'i':
+ if (sscanf(optarg, "%u", &IdleTimeout) != 1) {
+ fprintf(stderr, "Illegal argument to -i: should be -i timeout\n");
+ exit(EXIT_FAILURE);
+ }
+ CleanPeriod = IdleTimeout / TIMEOUT_DIVISOR;
+ if (CleanPeriod < MIN_CLEAN_PERIOD) CleanPeriod = MIN_CLEAN_PERIOD;
+ break;
+ case 'n':
+ if (sscanf(optarg, "%d", &nsess) != 1) {
+ fprintf(stderr, "Illegal argument to -n: should be -n #sessions\n");
+ exit(EXIT_FAILURE);
+ }
+ if (nsess < 1 || nsess > 65534) {
+ fprintf(stderr, "Illegal argument to -n: must range from 1 to 65534\n");
+ exit(EXIT_FAILURE);
+ }
+ break;
+ default:
+ usage(argv[0]);
+ }
+ }
+
+#ifdef USE_LINUX_PACKET
+#ifndef HAVE_STRUCT_SOCKADDR_LL
+ fprintf(stderr, "The PPPoE relay does not work on Linux 2.0 kernels.\n");
+ exit(EXIT_FAILURE);
+#endif
+#endif
+
+ /* Check that at least two interfaces were defined */
+ if (NumInterfaces < 2) {
+ fprintf(stderr, "%s: Must define at least two interfaces\n",
+ argv[0]);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Make a pipe for the cleaner */
+ if (pipe(CleanPipe) < 0) {
+ fatalSys("pipe");
+ }
+
+ /* Set up alarm handler */
+ sa.sa_handler = alarmHandler;
+ sigemptyset(&sa.sa_mask);
+ sa.sa_flags = SA_RESTART;
+ if (sigaction(SIGALRM, &sa, NULL) < 0) {
+ fatalSys("sigaction");
+ }
+
+ /* Allocate memory for sessions, etc. */
+ initRelay(nsess);
+
+ /* Daemonize -- UNIX Network Programming, Vol. 1, Stevens */
+ if (beDaemon) {
+ int i;
+ i = fork();
+ if (i < 0) {
+ fatalSys("fork");
+ } else if (i != 0) {
+ /* parent */
+ exit(0);
+ }
+ setsid();
+ signal(SIGHUP, SIG_IGN);
+ i = fork();
+ if (i < 0) {
+ fatalSys("fork");
+ } else if (i != 0) {
+ exit(0);
+ }
+
+ chdir("/");
+ closelog();
+ for (i=0; i<CLOSEFD; i++) {
+ if (!keepDescriptor(i)) {
+ close(i);
+ }
+ }
+ /* We nuked our syslog descriptor... */
+ openlog("pppoe-relay", LOG_PID, LOG_DAEMON);
+ }
+
+ /* Kick off SIGALRM if there is an idle timeout */
+ if (IdleTimeout) alarm(1);
+
+ /* Enter the relay loop */
+ relayLoop();
+
+ /* Shouldn't ever get here... */
+ return EXIT_FAILURE;
+}
+
+/**********************************************************************
+*%FUNCTION: addInterface
+*%ARGUMENTS:
+* ifname -- interface name
+* clientOK -- true if this interface should relay PADI, PADR packets.
+* acOK -- true if this interface should relay PADO, PADS packets.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Opens an interface; sets up discovery and session sockets.
+***********************************************************************/
+void
+addInterface(char const *ifname,
+ int clientOK,
+ int acOK)
+{
+ PPPoEInterface *i;
+ if (NumInterfaces >= MAX_INTERFACES) {
+ fprintf(stderr, "Too many interfaces (%d max)\n",
+ MAX_INTERFACES);
+ exit(EXIT_FAILURE);
+ }
+ i = &Interfaces[NumInterfaces++];
+ strncpy(i->name, ifname, IFNAMSIZ);
+ i->name[IFNAMSIZ] = 0;
+
+ i->discoverySock = openInterface(ifname, Eth_PPPOE_Discovery, i->mac);
+ i->sessionSock = openInterface(ifname, Eth_PPPOE_Session, NULL);
+ i->clientOK = clientOK;
+ i->acOK = acOK;
+}
+
+/**********************************************************************
+*%FUNCTION: initRelay
+*%ARGUMENTS:
+* nsess -- maximum allowable number of sessions
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Initializes relay hash table and session tables.
+***********************************************************************/
+void
+initRelay(int nsess)
+{
+ int i;
+ NumSessions = 0;
+ MaxSessions = nsess;
+
+ AllSessions = calloc(MaxSessions, sizeof(PPPoESession));
+ if (!AllSessions) {
+ rp_fatal("Unable to allocate memory for PPPoE session table");
+ }
+ AllHashes = calloc(MaxSessions*2, sizeof(SessionHash));
+ if (!AllHashes) {
+ rp_fatal("Unable to allocate memory for PPPoE hash table");
+ }
+
+ /* Initialize sessions in a linked list */
+ AllSessions[0].prev = NULL;
+ if (MaxSessions > 1) {
+ AllSessions[0].next = &AllSessions[1];
+ } else {
+ AllSessions[0].next = NULL;
+ }
+ for (i=1; i<MaxSessions-1; i++) {
+ AllSessions[i].prev = &AllSessions[i-1];
+ AllSessions[i].next = &AllSessions[i+1];
+ }
+ if (MaxSessions > 1) {
+ AllSessions[MaxSessions-1].prev = &AllSessions[MaxSessions-2];
+ AllSessions[MaxSessions-1].next = NULL;
+ }
+
+ FreeSessions = AllSessions;
+ ActiveSessions = NULL;
+
+ /* Initialize session numbers which we hand out */
+ for (i=0; i<MaxSessions; i++) {
+ AllSessions[i].sesNum = htons((UINT16_t) i+1);
+ }
+
+ /* Initialize hashes in a linked list */
+ AllHashes[0].prev = NULL;
+ AllHashes[0].next = &AllHashes[1];
+ for (i=1; i<2*MaxSessions-1; i++) {
+ AllHashes[i].prev = &AllHashes[i-1];
+ AllHashes[i].next = &AllHashes[i+1];
+ }
+ AllHashes[2*MaxSessions-1].prev = &AllHashes[2*MaxSessions-2];
+ AllHashes[2*MaxSessions-1].next = NULL;
+
+ FreeHashes = AllHashes;
+}
+
+/**********************************************************************
+*%FUNCTION: createSession
+*%ARGUMENTS:
+* ac -- Ethernet interface on access-concentrator side
+* cli -- Ethernet interface on client side
+* acMac -- Access concentrator's MAC address
+* cliMac -- Client's MAC address
+* acSess -- Access concentrator's session ID.
+*%RETURNS:
+* PPPoESession structure; NULL if one could not be allocated
+*%DESCRIPTION:
+* Initializes relay hash table and session tables.
+***********************************************************************/
+PPPoESession *
+createSession(PPPoEInterface const *ac,
+ PPPoEInterface const *cli,
+ unsigned char const *acMac,
+ unsigned char const *cliMac,
+ UINT16_t acSes)
+{
+ PPPoESession *sess;
+ SessionHash *acHash, *cliHash;
+
+ if (NumSessions >= MaxSessions) {
+ printErr("Maximum number of sessions reached -- cannot create new session");
+ return NULL;
+ }
+
+ /* Grab a free session */
+ sess = FreeSessions;
+ FreeSessions = sess->next;
+ NumSessions++;
+
+ /* Link it to the active list */
+ sess->next = ActiveSessions;
+ if (sess->next) {
+ sess->next->prev = sess;
+ }
+ ActiveSessions = sess;
+ sess->prev = NULL;
+
+ sess->epoch = Epoch;
+
+ /* Get two hash entries */
+ acHash = FreeHashes;
+ cliHash = acHash->next;
+ FreeHashes = cliHash->next;
+
+ acHash->peer = cliHash;
+ cliHash->peer = acHash;
+
+ sess->acHash = acHash;
+ sess->clientHash = cliHash;
+
+ acHash->interface = ac;
+ cliHash->interface = cli;
+
+ memcpy(acHash->peerMac, acMac, ETH_ALEN);
+ acHash->sesNum = acSes;
+ acHash->ses = sess;
+
+ memcpy(cliHash->peerMac, cliMac, ETH_ALEN);
+ cliHash->sesNum = sess->sesNum;
+ cliHash->ses = sess;
+
+ addHash(acHash);
+ addHash(cliHash);
+
+ /* Log */
+ syslog(LOG_INFO,
+ "Opened session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d)",
+ acHash->peerMac[0], acHash->peerMac[1],
+ acHash->peerMac[2], acHash->peerMac[3],
+ acHash->peerMac[4], acHash->peerMac[5],
+ acHash->interface->name,
+ ntohs(acHash->sesNum),
+ cliHash->peerMac[0], cliHash->peerMac[1],
+ cliHash->peerMac[2], cliHash->peerMac[3],
+ cliHash->peerMac[4], cliHash->peerMac[5],
+ cliHash->interface->name,
+ ntohs(cliHash->sesNum));
+
+ return sess;
+}
+
+/**********************************************************************
+*%FUNCTION: freeSession
+*%ARGUMENTS:
+* ses -- session to free
+* msg -- extra message to log on syslog.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Frees data used by a PPPoE session -- adds hashes and session back
+* to the free list
+***********************************************************************/
+void
+freeSession(PPPoESession *ses, char const *msg)
+{
+ syslog(LOG_INFO,
+ "Closed session: server=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d), client=%02x:%02x:%02x:%02x:%02x:%02x(%s:%d): %s",
+ ses->acHash->peerMac[0], ses->acHash->peerMac[1],
+ ses->acHash->peerMac[2], ses->acHash->peerMac[3],
+ ses->acHash->peerMac[4], ses->acHash->peerMac[5],
+ ses->acHash->interface->name,
+ ntohs(ses->acHash->sesNum),
+ ses->clientHash->peerMac[0], ses->clientHash->peerMac[1],
+ ses->clientHash->peerMac[2], ses->clientHash->peerMac[3],
+ ses->clientHash->peerMac[4], ses->clientHash->peerMac[5],
+ ses->clientHash->interface->name,
+ ntohs(ses->clientHash->sesNum), msg);
+
+ /* Unlink from active sessions */
+ if (ses->prev) {
+ ses->prev->next = ses->next;
+ } else {
+ ActiveSessions = ses->next;
+ }
+ if (ses->next) {
+ ses->next->prev = ses->prev;
+ }
+
+ /* Link onto free list -- this is a singly-linked list, so
+ we do not care about prev */
+ ses->next = FreeSessions;
+ FreeSessions = ses;
+
+ unhash(ses->acHash);
+ unhash(ses->clientHash);
+ NumSessions--;
+}
+
+/**********************************************************************
+*%FUNCTION: unhash
+*%ARGUMENTS:
+* sh -- session hash to free
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Frees a session hash -- takes it out of hash table and puts it on
+* free list.
+***********************************************************************/
+void
+unhash(SessionHash *sh)
+{
+ unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
+ if (sh->prev) {
+ sh->prev->next = sh->next;
+ } else {
+ Buckets[b] = sh->next;
+ }
+
+ if (sh->next) {
+ sh->next->prev = sh->prev;
+ }
+
+ /* Add to free list (singly-linked) */
+ sh->next = FreeHashes;
+ FreeHashes = sh;
+}
+
+/**********************************************************************
+*%FUNCTION: addHash
+*%ARGUMENTS:
+* sh -- a session hash
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Adds a SessionHash to the hash table
+***********************************************************************/
+void
+addHash(SessionHash *sh)
+{
+ unsigned int b = hash(sh->peerMac, sh->sesNum) % HASHTAB_SIZE;
+ sh->next = Buckets[b];
+ sh->prev = NULL;
+ if (sh->next) {
+ sh->next->prev = sh;
+ }
+ Buckets[b] = sh;
+}
+
+/**********************************************************************
+*%FUNCTION: hash
+*%ARGUMENTS:
+* mac -- an Ethernet address
+* sesNum -- a session number
+*%RETURNS:
+* A hash value combining Ethernet address with session number.
+* Currently very simplistic; we may need to experiment with different
+* hash values.
+***********************************************************************/
+unsigned int
+hash(unsigned char const *mac, UINT16_t sesNum)
+{
+ unsigned int ans1 =
+ ((unsigned int) mac[0]) |
+ (((unsigned int) mac[1]) << 8) |
+ (((unsigned int) mac[2]) << 16) |
+ (((unsigned int) mac[3]) << 24);
+ unsigned int ans2 =
+ ((unsigned int) sesNum) |
+ (((unsigned int) mac[4]) << 16) |
+ (((unsigned int) mac[5]) << 24);
+ return ans1 ^ ans2;
+}
+
+/**********************************************************************
+*%FUNCTION: findSession
+*%ARGUMENTS:
+* mac -- an Ethernet address
+* sesNum -- a session number
+*%RETURNS:
+* The session hash for peer address "mac", session number sesNum
+***********************************************************************/
+SessionHash *
+findSession(unsigned char const *mac, UINT16_t sesNum)
+{
+ unsigned int b = hash(mac, sesNum) % HASHTAB_SIZE;
+ SessionHash *sh = Buckets[b];
+ while(sh) {
+ if (!memcmp(mac, sh->peerMac, ETH_ALEN) && sesNum == sh->sesNum) {
+ return sh;
+ }
+ sh = sh->next;
+ }
+ return NULL;
+}
+
+/**********************************************************************
+*%FUNCTION: fatalSys
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to stderr and syslog and exits.
+***********************************************************************/
+void
+fatalSys(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: sysErr
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message plus the errno value to syslog.
+***********************************************************************/
+void
+sysErr(char const *str)
+{
+ char buf[1024];
+ sprintf(buf, "%.256s: %.256s", str, strerror(errno));
+ printErr(buf);
+}
+
+/**********************************************************************
+*%FUNCTION: rp_fatal
+*%ARGUMENTS:
+* str -- error message
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Prints a message to stderr and syslog and exits.
+***********************************************************************/
+void
+rp_fatal(char const *str)
+{
+ printErr(str);
+ exit(EXIT_FAILURE);
+}
+
+/**********************************************************************
+*%FUNCTION: relayLoop
+*%ARGUMENTS:
+* None
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Runs the relay loop. This function never returns
+***********************************************************************/
+void
+relayLoop()
+{
+ fd_set readable, readableCopy;
+ int maxFD;
+ int i, r;
+ int sock;
+
+ /* Build the select set */
+ FD_ZERO(&readable);
+ maxFD = 0;
+ for (i=0; i<NumInterfaces; i++) {
+ sock = Interfaces[i].discoverySock;
+ if (sock > maxFD) maxFD = sock;
+ FD_SET(sock, &readable);
+ sock = Interfaces[i].sessionSock;
+ if (sock > maxFD) maxFD = sock;
+ FD_SET(sock, &readable);
+ if (CleanPipe[0] > maxFD) maxFD = CleanPipe[0];
+ FD_SET(CleanPipe[0], &readable);
+ }
+ maxFD++;
+ for(;;) {
+ readableCopy = readable;
+ for(;;) {
+ r = select(maxFD, &readableCopy, NULL, NULL, NULL);
+ if (r >= 0 || errno != EINTR) break;
+ }
+ if (r < 0) {
+ sysErr("select (relayLoop)");
+ continue;
+ }
+
+ /* Handle session packets first */
+ for (i=0; i<NumInterfaces; i++) {
+ if (FD_ISSET(Interfaces[i].sessionSock, &readableCopy)) {
+ relayGotSessionPacket(&Interfaces[i]);
+ }
+ }
+
+ /* Now handle discovery packets */
+ for (i=0; i<NumInterfaces; i++) {
+ if (FD_ISSET(Interfaces[i].discoverySock, &readableCopy)) {
+ relayGotDiscoveryPacket(&Interfaces[i]);
+ }
+ }
+
+ /* Handle the session-cleaning process */
+ if (FD_ISSET(CleanPipe[0], &readableCopy)) {
+ char dummy;
+ CleanCounter = 0;
+ read(CleanPipe[0], &dummy, 1);
+ if (IdleTimeout) cleanSessions();
+ }
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: relayGotDiscoveryPacket
+*%ARGUMENTS:
+* iface -- interface on which packet is waiting
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a discovery packet.
+***********************************************************************/
+void
+relayGotDiscoveryPacket(PPPoEInterface const *iface)
+{
+ PPPoEPacket packet;
+ int size;
+
+ if (receivePacket(iface->discoverySock, &packet, &size) < 0) {
+ return;
+ }
+ /* Ignore unknown code/version */
+ if (packet.ver != 1 || packet.type != 1) {
+ return;
+ }
+
+ /* Validate length */
+ if (ntohs(packet.length) + HDR_SIZE > size) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ return;
+ }
+
+ /* Drop Ethernet frame padding */
+ if (size > ntohs(packet.length) + HDR_SIZE) {
+ size = ntohs(packet.length) + HDR_SIZE;
+ }
+
+ switch(packet.code) {
+ case CODE_PADT:
+ relayHandlePADT(iface, &packet, size);
+ break;
+ case CODE_PADI:
+ relayHandlePADI(iface, &packet, size);
+ break;
+ case CODE_PADO:
+ relayHandlePADO(iface, &packet, size);
+ break;
+ case CODE_PADR:
+ relayHandlePADR(iface, &packet, size);
+ break;
+ case CODE_PADS:
+ relayHandlePADS(iface, &packet, size);
+ break;
+ default:
+ syslog(LOG_ERR, "Discovery packet on %s with unknown code %d",
+ iface->name, (int) packet.code);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: relayGotSessionPacket
+*%ARGUMENTS:
+* iface -- interface on which packet is waiting
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a session packet.
+***********************************************************************/
+void
+relayGotSessionPacket(PPPoEInterface const *iface)
+{
+ PPPoEPacket packet;
+ int size;
+ SessionHash *sh;
+ PPPoESession *ses;
+
+ if (receivePacket(iface->sessionSock, &packet, &size) < 0) {
+ return;
+ }
+
+ /* Ignore unknown code/version */
+ if (packet.ver != 1 || packet.type != 1) {
+ return;
+ }
+
+ /* Must be a session packet */
+ if (packet.code != CODE_SESS) {
+ syslog(LOG_ERR, "Session packet with code %d", (int) packet.code);
+ return;
+ }
+
+ /* Ignore session packets whose destination address isn't ours */
+ if (memcmp(packet.ethHdr.h_dest, iface->mac, ETH_ALEN)) {
+ return;
+ }
+
+ /* Validate length */
+ if (ntohs(packet.length) + HDR_SIZE > size) {
+ syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
+ (unsigned int) ntohs(packet.length));
+ return;
+ }
+
+ /* Drop Ethernet frame padding */
+ if (size > ntohs(packet.length) + HDR_SIZE) {
+ size = ntohs(packet.length) + HDR_SIZE;
+ }
+
+ /* We're in business! Find the hash */
+ sh = findSession(packet.ethHdr.h_source, packet.session);
+ if (!sh) {
+ /* Don't log this. Someone could be running the client and the
+ relay on the same box. */
+ return;
+ }
+
+ /* Relay it */
+ ses = sh->ses;
+ ses->epoch = Epoch;
+ sh = sh->peer;
+ packet.session = sh->sesNum;
+ memcpy(packet.ethHdr.h_source, sh->interface->mac, ETH_ALEN);
+ memcpy(packet.ethHdr.h_dest, sh->peerMac, ETH_ALEN);
+#if 0
+ fprintf(stderr, "Relaying %02x:%02x:%02x:%02x:%02x:%02x(%s:%d) to %02x:%02x:%02x:%02x:%02x:%02x(%s:%d)\n",
+ sh->peer->peerMac[0], sh->peer->peerMac[1], sh->peer->peerMac[2],
+ sh->peer->peerMac[3], sh->peer->peerMac[4], sh->peer->peerMac[5],
+ sh->peer->interface->name, ntohs(sh->peer->sesNum),
+ sh->peerMac[0], sh->peerMac[1], sh->peerMac[2],
+ sh->peerMac[3], sh->peerMac[4], sh->peerMac[5],
+ sh->interface->name, ntohs(sh->sesNum));
+#endif
+ sendPacket(NULL, sh->interface->sessionSock, &packet, size);
+}
+
+/**********************************************************************
+*%FUNCTION: relayHandlePADT
+*%ARGUMENTS:
+* iface -- interface on which packet was received
+* packet -- the PADT packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a PADT packet.
+***********************************************************************/
+void
+relayHandlePADT(PPPoEInterface const *iface,
+ PPPoEPacket *packet,
+ int size)
+{
+ SessionHash *sh;
+ PPPoESession *ses;
+
+ sh = findSession(packet->ethHdr.h_source, packet->session);
+ if (!sh) {
+ return;
+ }
+ /* Relay the PADT to the peer */
+ sh = sh->peer;
+ ses = sh->ses;
+ packet->session = sh->sesNum;
+ memcpy(packet->ethHdr.h_source, sh->interface->mac, ETH_ALEN);
+ memcpy(packet->ethHdr.h_dest, sh->peerMac, ETH_ALEN);
+ sendPacket(NULL, sh->interface->sessionSock, packet, size);
+
+ /* Destroy the session */
+ freeSession(ses, "Received PADT");
+}
+
+/**********************************************************************
+*%FUNCTION: relayHandlePADI
+*%ARGUMENTS:
+* iface -- interface on which packet was received
+* packet -- the PADI packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a PADI packet.
+***********************************************************************/
+void
+relayHandlePADI(PPPoEInterface const *iface,
+ PPPoEPacket *packet,
+ int size)
+{
+ PPPoETag tag;
+ unsigned char *loc;
+ int i, r;
+
+ int ifIndex;
+
+ /* Can a client legally be behind this interface? */
+ if (!iface->clientOK) {
+ syslog(LOG_ERR,
+ "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Source address must be unicast */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR,
+ "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Destination address must be broadcast */
+ if (NOT_BROADCAST(packet->ethHdr.h_dest)) {
+ syslog(LOG_ERR,
+ "PADI packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not to a broadcast address",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Get array index of interface */
+ ifIndex = iface - Interfaces;
+
+ loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
+ if (!loc) {
+ tag.type = htons(TAG_RELAY_SESSION_ID);
+ tag.length = htons(MY_RELAY_TAG_LEN);
+ memcpy(tag.payload, &ifIndex, sizeof(ifIndex));
+ memcpy(tag.payload+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
+ /* Add a relay tag if there's room */
+ r = addTag(packet, &tag);
+ if (r < 0) return;
+ size += r;
+ } else {
+ /* We do not re-use relay-id tags. Drop the frame. The RFC says the
+ relay agent SHOULD return a Generic-Error tag, but this does not
+ make sense for PADI packets. */
+ return;
+ }
+
+ /* Broadcast the PADI on all AC-capable interfaces except the interface
+ on which it came */
+ for (i=0; i < NumInterfaces; i++) {
+ if (iface == &Interfaces[i]) continue;
+ if (!Interfaces[i].acOK) continue;
+ memcpy(packet->ethHdr.h_source, Interfaces[i].mac, ETH_ALEN);
+ sendPacket(NULL, Interfaces[i].discoverySock, packet, size);
+ }
+
+}
+
+/**********************************************************************
+*%FUNCTION: relayHandlePADO
+*%ARGUMENTS:
+* iface -- interface on which packet was received
+* packet -- the PADO packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a PADO packet.
+***********************************************************************/
+void
+relayHandlePADO(PPPoEInterface const *iface,
+ PPPoEPacket *packet,
+ int size)
+{
+ PPPoETag tag;
+ unsigned char *loc;
+ int ifIndex;
+ int acIndex;
+
+ /* Can a server legally be behind this interface? */
+ if (!iface->acOK) {
+ syslog(LOG_ERR,
+ "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ acIndex = iface - Interfaces;
+
+ /* Source address must be unicast */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR,
+ "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Destination address must be interface's MAC address */
+ if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
+ return;
+ }
+
+ /* Find relay tag */
+ loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
+ if (!loc) {
+ syslog(LOG_ERR,
+ "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* If it's the wrong length, ignore it */
+ if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
+ syslog(LOG_ERR,
+ "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Extract interface index */
+ memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
+
+ if (ifIndex < 0 || ifIndex >= NumInterfaces ||
+ !Interfaces[ifIndex].clientOK ||
+ iface == &Interfaces[ifIndex]) {
+ syslog(LOG_ERR,
+ "PADO packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Replace Relay-ID tag with opposite-direction tag */
+ memcpy(loc+TAG_HDR_SIZE, &acIndex, sizeof(acIndex));
+ memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
+
+ /* Set destination address to MAC address in relay ID */
+ memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
+
+ /* Set source address to MAC address of interface */
+ memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
+
+ /* Send the PADO to the proper client */
+ sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
+}
+
+/**********************************************************************
+*%FUNCTION: relayHandlePADR
+*%ARGUMENTS:
+* iface -- interface on which packet was received
+* packet -- the PADR packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a PADR packet.
+***********************************************************************/
+void
+relayHandlePADR(PPPoEInterface const *iface,
+ PPPoEPacket *packet,
+ int size)
+{
+ PPPoETag tag;
+ unsigned char *loc;
+ int ifIndex;
+ int cliIndex;
+
+ /* Can a client legally be behind this interface? */
+ if (!iface->clientOK) {
+ syslog(LOG_ERR,
+ "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ cliIndex = iface - Interfaces;
+
+ /* Source address must be unicast */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR,
+ "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Destination address must be interface's MAC address */
+ if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
+ return;
+ }
+
+ /* Find relay tag */
+ loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
+ if (!loc) {
+ syslog(LOG_ERR,
+ "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* If it's the wrong length, ignore it */
+ if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
+ syslog(LOG_ERR,
+ "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Extract interface index */
+ memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
+
+ if (ifIndex < 0 || ifIndex >= NumInterfaces ||
+ !Interfaces[ifIndex].acOK ||
+ iface == &Interfaces[ifIndex]) {
+ syslog(LOG_ERR,
+ "PADR packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Replace Relay-ID tag with opposite-direction tag */
+ memcpy(loc+TAG_HDR_SIZE, &cliIndex, sizeof(cliIndex));
+ memcpy(loc+TAG_HDR_SIZE+sizeof(ifIndex), packet->ethHdr.h_source, ETH_ALEN);
+
+ /* Set destination address to MAC address in relay ID */
+ memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
+
+ /* Set source address to MAC address of interface */
+ memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
+
+ /* Send the PADR to the proper access concentrator */
+ sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
+}
+
+/**********************************************************************
+*%FUNCTION: relayHandlePADS
+*%ARGUMENTS:
+* iface -- interface on which packet was received
+* packet -- the PADS packet
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Receives and processes a PADS packet.
+***********************************************************************/
+void
+relayHandlePADS(PPPoEInterface const *iface,
+ PPPoEPacket *packet,
+ int size)
+{
+ PPPoETag tag;
+ unsigned char *loc;
+ int ifIndex;
+ int acIndex;
+ PPPoESession *ses = NULL;
+ SessionHash *sh;
+
+ /* Can a server legally be behind this interface? */
+ if (!iface->acOK) {
+ syslog(LOG_ERR,
+ "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not permitted",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ acIndex = iface - Interfaces;
+
+ /* Source address must be unicast */
+ if (NOT_UNICAST(packet->ethHdr.h_source)) {
+ syslog(LOG_ERR,
+ "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s not from a unicast address",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Destination address must be interface's MAC address */
+ if (memcmp(packet->ethHdr.h_dest, iface->mac, ETH_ALEN)) {
+ return;
+ }
+
+ /* Find relay tag */
+ loc = findTag(packet, TAG_RELAY_SESSION_ID, &tag);
+ if (!loc) {
+ syslog(LOG_ERR,
+ "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* If it's the wrong length, ignore it */
+ if (ntohs(tag.length) != MY_RELAY_TAG_LEN) {
+ syslog(LOG_ERR,
+ "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s does not have correct length Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* Extract interface index */
+ memcpy(&ifIndex, tag.payload, sizeof(ifIndex));
+
+ if (ifIndex < 0 || ifIndex >= NumInterfaces ||
+ !Interfaces[ifIndex].clientOK ||
+ iface == &Interfaces[ifIndex]) {
+ syslog(LOG_ERR,
+ "PADS packet from %02x:%02x:%02x:%02x:%02x:%02x on interface %s has invalid interface in Relay-Session-Id tag",
+ packet->ethHdr.h_source[0],
+ packet->ethHdr.h_source[1],
+ packet->ethHdr.h_source[2],
+ packet->ethHdr.h_source[3],
+ packet->ethHdr.h_source[4],
+ packet->ethHdr.h_source[5],
+ iface->name);
+ return;
+ }
+
+ /* If session ID is zero, it's the AC respoding with an error.
+ Just relay it; do not create a session */
+ if (packet->session != htons(0)) {
+ /* Check for existing session */
+ sh = findSession(packet->ethHdr.h_source, packet->session);
+ if (sh) ses = sh->ses;
+
+ /* If already an existing session, assume it's a duplicate PADS. Send
+ the frame, but do not create a new session. Is this the right
+ thing to do? Arguably, should send an error to the client and
+ a PADT to the server, because this could happen due to a
+ server crash and reboot. */
+
+ if (!ses) {
+ /* Create a new session */
+ ses = createSession(iface, &Interfaces[ifIndex],
+ packet->ethHdr.h_source,
+ loc + TAG_HDR_SIZE + sizeof(ifIndex), packet->session);
+ if (!ses) {
+ /* Can't allocate session -- send error PADS to client and
+ PADT to server */
+ PPPoETag hostUniq, *hu;
+ if (findTag(packet, TAG_HOST_UNIQ, &hostUniq)) {
+ hu = &hostUniq;
+ } else {
+ hu = NULL;
+ }
+ relaySendError(CODE_PADS, htons(0), &Interfaces[ifIndex],
+ loc + TAG_HDR_SIZE + sizeof(ifIndex),
+ hu, "RP-PPPoE: Relay: Unable to allocate session");
+ relaySendError(CODE_PADT, packet->session, iface,
+ packet->ethHdr.h_source, NULL,
+ "RP-PPPoE: Relay: Unable to allocate session");
+ return;
+ }
+ }
+ /* Replace session number */
+ packet->session = ses->sesNum;
+ }
+
+ /* Remove relay-ID tag */
+ removeBytes(packet, loc, MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
+ size -= (MY_RELAY_TAG_LEN + TAG_HDR_SIZE);
+
+ /* Set destination address to MAC address in relay ID */
+ memcpy(packet->ethHdr.h_dest, tag.payload + sizeof(ifIndex), ETH_ALEN);
+
+ /* Set source address to MAC address of interface */
+ memcpy(packet->ethHdr.h_source, Interfaces[ifIndex].mac, ETH_ALEN);
+
+ /* Send the PADS to the proper client */
+ sendPacket(NULL, Interfaces[ifIndex].discoverySock, packet, size);
+}
+
+/**********************************************************************
+*%FUNCTION: relaySendError
+*%ARGUMENTS:
+* code -- PPPoE packet code (PADS or PADT, typically)
+* session -- PPPoE session number
+* iface -- interface on which to send frame
+* mac -- Ethernet address to which frame should be sent
+* hostUniq -- if non-NULL, a hostUniq tag to add to error frame
+* errMsg -- error message to insert into Generic-Error tag.
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Sends either a PADS or PADT packet with a Generic-Error tag and an
+* error message.
+***********************************************************************/
+void
+relaySendError(unsigned char code,
+ UINT16_t session,
+ PPPoEInterface const *iface,
+ unsigned char const *mac,
+ PPPoETag const *hostUniq,
+ char const *errMsg)
+{
+ PPPoEPacket packet;
+ PPPoETag errTag;
+ int size;
+
+ memcpy(packet.ethHdr.h_source, iface->mac, ETH_ALEN);
+ memcpy(packet.ethHdr.h_dest, mac, ETH_ALEN);
+ packet.ethHdr.h_proto = htons(Eth_PPPOE_Discovery);
+ packet.type = 1;
+ packet.ver = 1;
+ packet.code = code;
+ packet.session = session;
+ packet.length = htons(0);
+ if (hostUniq) {
+ if (addTag(&packet, hostUniq) < 0) return;
+ }
+ errTag.type = htons(TAG_GENERIC_ERROR);
+ errTag.length = htons(strlen(errMsg));
+ strcpy(errTag.payload, errMsg);
+ if (addTag(&packet, &errTag) < 0) return;
+ size = ntohs(packet.length) + HDR_SIZE;
+ if (code == CODE_PADT) {
+ sendPacket(NULL, iface->discoverySock, &packet, size);
+ } else {
+ sendPacket(NULL, iface->sessionSock, &packet, size);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: alarmHandler
+*%ARGUMENTS:
+* sig -- signal number
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* SIGALRM handler. Increments Epoch; if necessary, writes a byte of
+* data to the alarm pipe to trigger the stale-session cleaner.
+***********************************************************************/
+void
+alarmHandler(int sig)
+{
+ alarm(1);
+ Epoch++;
+ CleanCounter++;
+ if (CleanCounter == CleanPeriod) {
+ write(CleanPipe[1], "", 1);
+ }
+}
+
+/**********************************************************************
+*%FUNCTION: cleanSessions
+*%ARGUMENTS:
+* None
+*%RETURNS:
+* Nothing
+*%DESCRIPTION:
+* Goes through active sessions and cleans sessions idle for longer
+* than IdleTimeout seconds.
+***********************************************************************/
+void cleanSessions(void)
+{
+ PPPoESession *cur, *next;
+ cur = ActiveSessions;
+ while(cur) {
+ next = cur->next;
+ if (Epoch - cur->epoch > IdleTimeout) {
+ /* Send PADT to each peer */
+ relaySendError(CODE_PADT, cur->acHash->sesNum,
+ cur->acHash->interface,
+ cur->acHash->peerMac, NULL,
+ "RP-PPPoE: Relay: Session exceeded idle timeout");
+ relaySendError(CODE_PADT, cur->clientHash->sesNum,
+ cur->clientHash->interface,
+ cur->clientHash->peerMac, NULL,
+ "RP-PPPoE: Relay: Session exceeded idle timeout");
+ freeSession(cur, "Idle Timeout");
+ }
+ cur = next;
+ }
+}
diff --git a/mdk-stage1/rp-pppoe/src/relay.h b/mdk-stage1/rp-pppoe/src/relay.h
new file mode 100644
index 000000000..f136cad54
--- /dev/null
+++ b/mdk-stage1/rp-pppoe/src/relay.h
@@ -0,0 +1,97 @@
+/**********************************************************************
+*
+* relay.h
+*
+* Definitions for PPPoE relay
+*
+* Copyright (C) 2001 Roaring Penguin Software Inc.
+*
+* This program may be distributed according to the terms of the GNU
+* General Public License, version 2 or (at your option) any later version.
+*
+* $Id: relay.h 6005 2001-06-11 13:49:39Z gc $
+*
+***********************************************************************/
+
+#include "pppoe.h"
+
+/* Description for each active Ethernet interface */
+typedef struct InterfaceStruct {
+ char name[IFNAMSIZ+1]; /* Interface name */
+ int discoverySock; /* Socket for discovery frames */
+ int sessionSock; /* Socket for session frames */
+ int clientOK; /* Client requests allowed (PADI, PADR) */
+ int acOK; /* AC replies allowed (PADO, PADS) */
+ unsigned char mac[ETH_ALEN]; /* MAC address */
+} PPPoEInterface;
+
+/* Session state for relay */
+struct SessionHashStruct;
+typedef struct SessionStruct {
+ struct SessionStruct *next; /* Free list link */
+ struct SessionStruct *prev; /* Free list link */
+ struct SessionHashStruct *acHash; /* Hash bucket for AC MAC/Session */
+ struct SessionHashStruct *clientHash; /* Hash bucket for client MAC/Session */
+ unsigned int epoch; /* Epoch when last activity was seen */
+ UINT16_t sesNum; /* Session number assigned by relay */
+} PPPoESession;
+
+/* Hash table entry to find sessions */
+typedef struct SessionHashStruct {
+ struct SessionHashStruct *next; /* Link in hash chain */
+ struct SessionHashStruct *prev; /* Link in hash chain */
+ struct SessionHashStruct *peer; /* Peer for this session */
+ PPPoEInterface const *interface; /* Interface */
+ unsigned char peerMac[ETH_ALEN]; /* Peer's MAC address */
+ UINT16_t sesNum; /* Session number */
+ PPPoESession *ses; /* Session data */
+} SessionHash;
+
+/* Function prototypes */
+
+void relayGotSessionPacket(PPPoEInterface const *i);
+void relayGotDiscoveryPacket(PPPoEInterface const *i);
+PPPoEInterface *findInterface(int sock);
+unsigned int hash(unsigned char const *mac, UINT16_t sesNum);
+SessionHash *findSession(unsigned char const *mac, UINT16_t sesNum);
+void deleteHash(SessionHash *hash);
+PPPoESession *createSession(PPPoEInterface const *ac,
+ PPPoEInterface const *cli,
+ unsigned char const *acMac,
+ unsigned char const *cliMac,
+ UINT16_t acSes);
+void freeSession(PPPoESession *ses, char const *msg);
+void addInterface(char const *ifname, int clientOK, int acOK);
+void usage(char const *progname);
+void initRelay(int nsess);
+void relayLoop(void);
+void addHash(SessionHash *sh);
+void unhash(SessionHash *sh);
+
+void relayHandlePADT(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
+void relayHandlePADI(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
+void relayHandlePADO(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
+void relayHandlePADR(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
+void relayHandlePADS(PPPoEInterface const *iface, PPPoEPacket *packet, int size);
+
+int addTag(PPPoEPacket *packet, PPPoETag const *tag);
+int insertBytes(PPPoEPacket *packet, unsigned char *loc,
+ void const *bytes, int length);
+int removeBytes(PPPoEPacket *packet, unsigned char *loc,
+ int length);
+void relaySendError(unsigned char code,
+ UINT16_t session,
+ PPPoEInterface const *iface,
+ unsigned char const *mac,
+ PPPoETag const *hostUniq,
+ char const *errMsg);
+
+void alarmHandler(int sig);
+void cleanSessions(void);
+
+#define MAX_INTERFACES 8
+#define DEFAULT_SESSIONS 5000
+
+/* Hash table size -- a prime number; gives load factor of around 6
+ for 65534 sessions */
+#define HASHTAB_SIZE 18917
diff --git a/mdk-stage1/slang/Makefile b/mdk-stage1/slang/Makefile
new file mode 100644
index 000000000..111062578
--- /dev/null
+++ b/mdk-stage1/slang/Makefile
@@ -0,0 +1,42 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+top_dir = ..
+
+include $(top_dir)/Makefile.common
+
+
+LIBNAME = libslang
+
+OBJS = sltermin.o sldisply.o slutty.o slang.o slarray.o slclass.o slcmd.o slerr.o slgetkey.o slkeymap.o slmalloc.o slmath.o slmemchr.o slmemcmp.o slmemcpy.o slmemset.o slmisc.o slparse.o slprepr.o slregexp.o slrline.o slsearch.o slsmg.o slstd.o sltoken.o sltypes.o slxstrng.o slcurses.o slscroll.o slsignal.o slkeypad.o slerrno.o slstring.o slstruct.o slcmplex.o slarrfun.o slimport.o slpath.o slarith.o slassoc.o slcompat.o slposdir.o slstdio.o slproc.o sltime.o slstrops.o slbstr.o slpack.o slintall.o slistruc.o slposio.o slnspace.o slarrmis.o slospath.o slscanf.o
+
+DEFS = -Dunix -DSLANG
+
+INCS =
+
+
+TARGETS = $(LIBNAME).a
+
+all: $(TARGETS)
+
+clean:
+ rm -f *.o *.a
+
+$(LIBNAME).a: $(OBJS)
+ ar -cru $@ $^
+ ranlib $@
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(CFLAGS) $(DEFS) $(INCS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/slang/_slang.h b/mdk-stage1/slang/_slang.h
new file mode 100644
index 000000000..02ee13505
--- /dev/null
+++ b/mdk-stage1/slang/_slang.h
@@ -0,0 +1,743 @@
+#ifndef _PRIVATE_SLANG_H_
+#define _PRIVATE_SLANG_H_
+/* header file for S-Lang internal structures that users do not (should not)
+ need. Use slang.h for that purpose. */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* #include "config.h" */
+#include "jdmacros.h"
+#include "sllimits.h"
+
+#ifdef VMS
+# define SLANG_SYSTEM_NAME "_VMS"
+#else
+# if defined (IBMPC_SYSTEM)
+# define SLANG_SYSTEM_NAME "_IBMPC"
+# else
+# define SLANG_SYSTEM_NAME "_UNIX"
+# endif
+#endif /* VMS */
+
+/* These quantities are main_types for byte-compiled code. They are used
+ * by the inner_interp routine. The _BC_ means byte-code.
+ */
+
+#define _SLANG_BC_LVARIABLE SLANG_LVARIABLE /* 0x01 */
+#define _SLANG_BC_GVARIABLE SLANG_GVARIABLE /* 0x02 */
+#define _SLANG_BC_IVARIABLE SLANG_IVARIABLE /* 0x03 */
+#define _SLANG_BC_RVARIABLE SLANG_RVARIABLE /* 0x04 */
+#define _SLANG_BC_INTRINSIC SLANG_INTRINSIC /* 0x05 */
+#define _SLANG_BC_FUNCTION SLANG_FUNCTION /* 0x06 */
+#define _SLANG_BC_MATH_UNARY SLANG_MATH_UNARY /* 0x07 */
+#define _SLANG_BC_APP_UNARY SLANG_APP_UNARY /* 0x08 */
+#define _SLANG_BC_ICONST SLANG_ICONSTANT /* 0x09 */
+#define _SLANG_BC_DCONST SLANG_DCONSTANT /* 0x0A */
+#define _SLANG_BC_PVARIABLE SLANG_PVARIABLE /* 0x0B */
+#define _SLANG_BC_PFUNCTION SLANG_PFUNCTION /* 0x0C */
+
+#define _SLANG_BC_BINARY 0x10
+#define _SLANG_BC_LITERAL 0x11 /* constant objects */
+#define _SLANG_BC_LITERAL_INT 0x12
+#define _SLANG_BC_LITERAL_STR 0x13
+#define _SLANG_BC_BLOCK 0x14
+
+/* These 3 MUST be in this order too ! */
+#define _SLANG_BC_RETURN 0x15
+#define _SLANG_BC_BREAK 0x16
+#define _SLANG_BC_CONTINUE 0x17
+
+#define _SLANG_BC_EXCH 0x18
+#define _SLANG_BC_LABEL 0x19
+#define _SLANG_BC_LOBJPTR 0x1A
+#define _SLANG_BC_GOBJPTR 0x1B
+#define _SLANG_BC_X_ERROR 0x1C
+/* These must be in this order */
+#define _SLANG_BC_X_USER0 0x1D
+#define _SLANG_BC_X_USER1 0x1E
+#define _SLANG_BC_X_USER2 0x1F
+#define _SLANG_BC_X_USER3 0x20
+#define _SLANG_BC_X_USER4 0x21
+
+#define _SLANG_BC_CALL_DIRECT 0x24
+#define _SLANG_BC_CALL_DIRECT_FRAME 0x25
+#define _SLANG_BC_UNARY 0x26
+#define _SLANG_BC_UNARY_FUNC 0x27
+
+#define _SLANG_BC_DEREF_ASSIGN 0x30
+#define _SLANG_BC_SET_LOCAL_LVALUE 0x31
+#define _SLANG_BC_SET_GLOBAL_LVALUE 0x32
+#define _SLANG_BC_SET_INTRIN_LVALUE 0x33
+#define _SLANG_BC_SET_STRUCT_LVALUE 0x34
+#define _SLANG_BC_FIELD 0x35
+#define _SLANG_BC_SET_ARRAY_LVALUE 0x36
+
+#define _SLANG_BC_LINE_NUM 0x40
+
+#define _SLANG_BC_TMP 0x50
+#define _SLANG_BC_LVARIABLE_AGET 0x60
+#define _SLANG_BC_LVARIABLE_APUT 0x61
+#define _SLANG_BC_INTEGER_PLUS 0x62
+#define _SLANG_BC_INTEGER_MINUS 0x63
+#define _SLANG_BC_ARG_LVARIABLE 0x64
+#define _SLANG_BC_EARG_LVARIABLE 0x65
+
+#define _SLANG_BC_CALL_DIRECT_INTRINSIC 0x80
+#define _SLANG_BC_INTRINSIC_CALL_DIRECT 0x81
+#define _SLANG_BC_CALL_DIRECT_LSTR 0x82
+#define _SLANG_BC_CALL_DIRECT_SLFUN 0x83
+#define _SLANG_BC_CALL_DIRECT_INTRSTOP 0x84
+#define _SLANG_BC_INTRINSIC_STOP 0x85
+#define _SLANG_BC_CALL_DIRECT_EARG_LVAR 0x86
+#define _SLANG_BC_CALL_DIRECT_LINT 0x87
+#define _SLANG_BC_CALL_DIRECT_LVAR 0x88
+
+
+/* Byte-Code Sub Types (_BCST_) */
+
+/* These are sub_types of _SLANG_BC_BLOCK */
+#define _SLANG_BCST_ERROR_BLOCK 0x01
+#define _SLANG_BCST_EXIT_BLOCK 0x02
+#define _SLANG_BCST_USER_BLOCK0 0x03
+#define _SLANG_BCST_USER_BLOCK1 0x04
+#define _SLANG_BCST_USER_BLOCK2 0x05
+#define _SLANG_BCST_USER_BLOCK3 0x06
+#define _SLANG_BCST_USER_BLOCK4 0x07
+/* The user blocks MUST be in the above order */
+#define _SLANG_BCST_LOOP 0x10
+#define _SLANG_BCST_WHILE 0x11
+#define _SLANG_BCST_FOR 0x12
+#define _SLANG_BCST_FOREVER 0x13
+#define _SLANG_BCST_CFOR 0x14
+#define _SLANG_BCST_DOWHILE 0x15
+#define _SLANG_BCST_FOREACH 0x16
+
+#define _SLANG_BCST_IF 0x20
+#define _SLANG_BCST_IFNOT 0x21
+#define _SLANG_BCST_ELSE 0x22
+#define _SLANG_BCST_ANDELSE 0x23
+#define _SLANG_BCST_ORELSE 0x24
+#define _SLANG_BCST_SWITCH 0x25
+#define _SLANG_BCST_NOTELSE 0x26
+
+/* assignment (_SLANG_BC_SET_*_LVALUE) subtypes. The order MUST correspond
+ * to the assignment token order with the ASSIGN_TOKEN as the first!
+ */
+#define _SLANG_BCST_ASSIGN 0x01
+#define _SLANG_BCST_PLUSEQS 0x02
+#define _SLANG_BCST_MINUSEQS 0x03
+#define _SLANG_BCST_TIMESEQS 0x04
+#define _SLANG_BCST_DIVEQS 0x05
+#define _SLANG_BCST_BOREQS 0x06
+#define _SLANG_BCST_BANDEQS 0x07
+#define _SLANG_BCST_PLUSPLUS 0x08
+#define _SLANG_BCST_POST_PLUSPLUS 0x09
+#define _SLANG_BCST_MINUSMINUS 0x0A
+#define _SLANG_BCST_POST_MINUSMINUS 0x0B
+
+/* These use SLANG_PLUS, SLANG_MINUS, SLANG_PLUSPLUS, etc... */
+
+typedef union
+{
+#if SLANG_HAS_FLOAT
+ double double_val;
+ float float_val;
+#endif
+ long long_val;
+ unsigned long ulong_val;
+ VOID_STAR ptr_val;
+ char *s_val;
+ int int_val;
+ unsigned int uint_val;
+ SLang_MMT_Type *ref;
+ SLang_Name_Type *n_val;
+ struct _SLang_Struct_Type *struct_val;
+ struct _SLang_Array_Type *array_val;
+ short short_val;
+ unsigned short ushort_val;
+ char char_val;
+ unsigned char uchar_val;
+}
+_SL_Object_Union_Type;
+
+typedef struct _SLang_Object_Type
+{
+ unsigned char data_type; /* SLANG_INT_TYPE, ... */
+ _SL_Object_Union_Type v;
+}
+SLang_Object_Type;
+
+struct _SLang_MMT_Type
+{
+ unsigned char data_type; /* int, string, etc... */
+ VOID_STAR user_data; /* address of user structure */
+ unsigned int count; /* number of references */
+};
+
+extern int _SLang_pop_object_of_type (unsigned char, SLang_Object_Type *, int);
+
+typedef struct
+{
+ char *name; /* slstring */
+ SLang_Object_Type obj;
+}
+_SLstruct_Field_Type;
+
+typedef struct _SLang_Struct_Type
+{
+ _SLstruct_Field_Type *fields;
+ unsigned int nfields; /* number used */
+ unsigned int num_refs;
+}
+_SLang_Struct_Type;
+
+extern void _SLstruct_delete_struct (_SLang_Struct_Type *);
+extern int _SLang_push_struct (_SLang_Struct_Type *);
+extern int _SLang_pop_struct (_SLang_Struct_Type **);
+extern int _SLstruct_init (void);
+/* extern int _SLstruct_get_field (char *); */
+extern int _SLstruct_define_struct (void);
+extern int _SLstruct_define_typedef (void);
+
+extern int _SLang_pop_datatype (unsigned char *);
+extern int _SLang_push_datatype (unsigned char);
+
+struct _SLang_Ref_Type
+{
+ int is_global;
+ union
+ {
+ SLang_Name_Type *nt;
+ SLang_Object_Type *local_obj;
+ }
+ v;
+};
+
+extern int _SLang_dereference_ref (SLang_Ref_Type *);
+extern int _SLang_deref_assign (SLang_Ref_Type *);
+extern int _SLang_push_ref (int, VOID_STAR);
+
+extern int _SL_increment_frame_pointer (void);
+extern int _SL_decrement_frame_pointer (void);
+
+extern int SLang_pop(SLang_Object_Type *);
+extern void SLang_free_object (SLang_Object_Type *);
+extern int _SLanytype_typecast (unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR);
+extern void _SLstring_intrinsic (void);
+
+
+/* These functions are used to create slstrings of a fixed length. Be
+ * very careful how they are used. In particular, if len bytes are allocated,
+ * then the string must be len characters long, no more and no less.
+ */
+extern char *_SLallocate_slstring (unsigned int);
+extern char *_SLcreate_via_alloced_slstring (char *, unsigned int);
+extern void _SLunallocate_slstring (char *, unsigned int);
+extern int _SLpush_alloced_slstring (char *, unsigned int);
+
+typedef struct
+{
+ char **buf;
+ unsigned int max_num;
+ unsigned int num;
+ unsigned int delta_num;
+}
+_SLString_List_Type;
+extern int _SLstring_list_append (_SLString_List_Type *, char *);
+extern int _SLstring_list_init (_SLString_List_Type *, unsigned int, unsigned int);
+extern void _SLstring_list_delete (_SLString_List_Type *);
+extern int _SLstring_list_push (_SLString_List_Type *);
+
+/* This function assumes that s is an slstring. */
+extern char *_SLstring_dup_slstring (char *);
+extern int _SLang_dup_and_push_slstring (char *);
+
+
+extern int _SLang_init_import (void);
+
+/* This function checks to see if the referenced object is initialized */
+extern int _SLang_is_ref_initialized (SLang_Ref_Type *);
+extern int _SLcheck_identifier_syntax (char *);
+extern int _SLang_uninitialize_ref (SLang_Ref_Type *);
+
+extern int _SLpush_slang_obj (SLang_Object_Type *);
+
+extern char *_SLexpand_escaped_char(char *, char *);
+extern void _SLexpand_escaped_string (char *, char *, char *);
+
+/* returns a pointer to an SLstring string-- use SLang_free_slstring */
+extern char *_SLstringize_object (SLang_Object_Type *);
+extern int _SLdump_objects (char *, SLang_Object_Type *, unsigned int, int);
+
+extern SLang_Object_Type *_SLRun_Stack;
+extern SLang_Object_Type *_SLStack_Pointer;
+
+struct _SLang_NameSpace_Type
+{
+ struct _SLang_NameSpace_Type *next;
+ char *name; /* this is the load_type name */
+ char *namespace_name; /* this name is assigned by implements */
+ unsigned int table_size;
+ SLang_Name_Type **table;
+};
+extern SLang_NameSpace_Type *_SLns_allocate_namespace (char *, unsigned int);
+extern SLang_NameSpace_Type *_SLns_find_namespace (char *);
+extern int _SLns_set_namespace_name (SLang_NameSpace_Type *, char *);
+extern SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *, char *, unsigned int);
+extern void _SLang_use_namespace_intrinsic (char *name);
+extern char *_SLang_cur_namespace_intrinsic (void);
+extern SLang_Array_Type *_SLang_apropos (char *, char *, unsigned int);
+extern void _SLang_implements_intrinsic (char *);
+
+extern int _SLang_Trace;
+extern int _SLstack_depth(void);
+extern char *_SLang_Current_Function_Name;
+
+extern int _SLang_trace_fun(char *);
+extern int _SLang_Compile_Line_Num_Info;
+
+extern char *_SLstring_dup_hashed_string (char *, unsigned long);
+extern unsigned long _SLcompute_string_hash (char *);
+extern char *_SLstring_make_hashed_string (char *, unsigned int, unsigned long *);
+extern void _SLfree_hashed_string (char *, unsigned int, unsigned long);
+unsigned long _SLstring_hash (unsigned char *, unsigned char *);
+extern int _SLinit_slcomplex (void);
+
+extern int _SLang_init_slstrops (void);
+extern int _SLstrops_do_sprintf_n (int);
+extern int _SLang_sscanf (void);
+extern double _SLang_atof (char *);
+extern int _SLang_init_bstring (void);
+extern int _SLang_init_sltime (void);
+extern void _SLpack (void);
+extern void _SLunpack (char *, SLang_BString_Type *);
+extern void _SLpack_pad_format (char *);
+extern unsigned int _SLpack_compute_size (char *);
+extern int _SLusleep (unsigned long);
+
+/* frees upon error. NULL __NOT__ ok. */
+extern int _SLang_push_slstring (char *);
+
+extern unsigned char _SLarith_promote_type (unsigned char);
+extern int _SLarith_get_precedence (unsigned char);
+extern int _SLarith_typecast (unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR);
+
+extern int SLang_push(SLang_Object_Type *);
+extern int SLadd_global_variable (char *);
+extern void _SLang_clear_error (void);
+
+extern int _SLdo_pop (void);
+extern unsigned int _SLsys_getkey (void);
+extern int _SLsys_input_pending (int);
+#ifdef IBMPC_SYSTEM
+extern unsigned int _SLpc_convert_scancode (unsigned int, unsigned int, int);
+#define _SLTT_KEY_SHIFT 1
+#define _SLTT_KEY_CTRL 2
+#define _SLTT_KEY_ALT 4
+#endif
+
+typedef struct _SLterminfo_Type SLterminfo_Type;
+extern SLterminfo_Type *_SLtt_tigetent (char *);
+extern char *_SLtt_tigetstr (SLterminfo_Type *, char *);
+extern int _SLtt_tigetnum (SLterminfo_Type *, char *);
+extern int _SLtt_tigetflag (SLterminfo_Type *, char *);
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+extern int _SLtt_get_bce_color_offset (void);
+#endif
+extern void (*_SLtt_color_changed_hook)(void);
+
+extern unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
+
+extern int _SLregister_types (void);
+extern SLang_Class_Type *_SLclass_get_class (unsigned char);
+extern VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *, SLang_Object_Type *);
+extern void _SLclass_type_mismatch_error (unsigned char, unsigned char);
+extern int _SLclass_init (void);
+extern int _SLclass_copy_class (unsigned char, unsigned char);
+
+extern unsigned char _SLclass_Class_Type [256];
+
+extern int (*_SLclass_get_typecast (unsigned char, unsigned char, int))
+(unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR);
+
+extern int (*_SLclass_get_binary_fun (int, SLang_Class_Type *, SLang_Class_Type *, SLang_Class_Type **, int))
+(int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR);
+
+extern int (*_SLclass_get_unary_fun (int, SLang_Class_Type *, SLang_Class_Type **, int))
+(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
+
+extern int _SLarith_register_types (void);
+extern unsigned char _SLarith_Arith_Types [];
+extern unsigned char _SLarith_Is_Arith_Type [256];
+extern int _SLarith_bin_op (SLang_Object_Type *, SLang_Object_Type *, int);
+
+extern int _SLarray_add_bin_op (unsigned char);
+
+extern int _SLang_call_funptr (SLang_Name_Type *);
+extern void _SLset_double_format (char *);
+extern SLang_Name_Type *_SLlocate_global_name (char *);
+extern SLang_Name_Type *_SLlocate_name (char *);
+
+extern char *_SLdefines[];
+
+#define SL_ERRNO_NOT_IMPLEMENTED 0x7FFF
+extern int _SLerrno_errno;
+extern int _SLerrno_init (void);
+
+extern int _SLstdio_fdopen (char *, int, char *);
+
+extern void _SLstruct_pop_args (int *);
+extern void _SLstruct_push_args (SLang_Array_Type *);
+
+extern int _SLarray_aput (void);
+extern int _SLarray_aget (void);
+extern int _SLarray_inline_implicit_array (void);
+extern int _SLarray_inline_array (void);
+extern int _SLarray_wildcard_array (void);
+
+extern int
+_SLarray_typecast (unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, int);
+
+extern int _SLarray_aput_transfer_elem (SLang_Array_Type *, int *,
+ VOID_STAR, unsigned int, int);
+extern int _SLarray_aget_transfer_elem (SLang_Array_Type *, int *,
+ VOID_STAR, unsigned int, int);
+extern void _SLarray_free_array_elements (SLang_Class_Type *, VOID_STAR, unsigned int);
+
+extern SLang_Foreach_Context_Type *
+_SLarray_cl_foreach_open (unsigned char, unsigned int);
+extern void _SLarray_cl_foreach_close (unsigned char, SLang_Foreach_Context_Type *);
+extern int _SLarray_cl_foreach (unsigned char, SLang_Foreach_Context_Type *);
+
+extern int _SLarray_matrix_multiply (void);
+extern void (*_SLang_Matrix_Multiply)(void);
+
+extern int _SLarray_init_slarray (void);
+extern SLang_Array_Type *
+SLang_create_array1 (unsigned char, int, VOID_STAR, int *, unsigned int, int);
+
+extern int _SLcompile_push_context (SLang_Load_Type *);
+extern int _SLcompile_pop_context (void);
+extern int _SLang_Auto_Declare_Globals;
+
+typedef struct
+{
+ union
+ {
+ long long_val;
+ char *s_val; /* Used for IDENT_TOKEN, FLOAT, etc... */
+ SLang_BString_Type *b_val;
+ } v;
+ int free_sval_flag;
+ unsigned int num_refs;
+ unsigned long hash;
+#if _SLANG_HAS_DEBUG_CODE
+ int line_number;
+#endif
+ unsigned char type;
+}
+_SLang_Token_Type;
+
+extern void _SLcompile (_SLang_Token_Type *);
+extern void (*_SLcompile_ptr)(_SLang_Token_Type *);
+
+/* *** TOKENS *** */
+
+/* Note that that tokens corresponding to ^J, ^M, and ^Z should not be used.
+ * This is because a file that contains any of these characters will
+ * have an OS dependent interpretation, e.g., ^Z is EOF on MSDOS.
+ */
+
+/* Special tokens */
+#define EOF_TOKEN 0x01
+#define RPN_TOKEN 0x02
+#define NL_TOKEN 0x03
+#define NOP_TOKEN 0x05
+#define FARG_TOKEN 0x06
+#define TMP_TOKEN 0x07
+
+#define RESERVED1_TOKEN 0x0A /* \n */
+#define RESERVED2_TOKEN 0x0D /* \r */
+
+/* Literal tokens */
+#define CHAR_TOKEN 0x10
+#define UCHAR_TOKEN 0x11
+#define SHORT_TOKEN 0x12
+#define USHORT_TOKEN 0x13
+#define INT_TOKEN 0x14
+#define UINT_TOKEN 0x15
+#define LONG_TOKEN 0x16
+#define ULONG_TOKEN 0x17
+#define IS_INTEGER_TOKEN(x) ((x >= CHAR_TOKEN) && (x <= ULONG_TOKEN))
+#define FLOAT_TOKEN 0x18
+#define DOUBLE_TOKEN 0x19
+#define RESERVED3_TOKEN 0x1A /* ^Z */
+#define COMPLEX_TOKEN 0x1B
+#define STRING_TOKEN 0x1C
+#define BSTRING_TOKEN 0x1D
+#define _BSTRING_TOKEN 0x1E /* byte-compiled BSTRING */
+#define ESC_STRING_TOKEN 0x1F
+
+/* Tokens that can be LVALUES */
+#define IDENT_TOKEN 0x20
+#define ARRAY_TOKEN 0x21
+#define DOT_TOKEN 0x22
+#define IS_LVALUE_TOKEN (((t) <= DOT_TOKEN) && ((t) >= IDENT_TOKEN))
+
+/* do not use these values */
+#define RESERVED4_TOKEN 0x23 /* # */
+#define RESERVED5_TOKEN 0x25 /* % */
+
+/* Flags for struct fields */
+#define STATIC_TOKEN 0x26
+#define READONLY_TOKEN 0x27
+#define PRIVATE_TOKEN 0x28
+#define PUBLIC_TOKEN 0x29
+
+/* Punctuation tokens */
+#define OBRACKET_TOKEN 0x2a
+#define CBRACKET_TOKEN 0x2b
+#define OPAREN_TOKEN 0x2c
+#define CPAREN_TOKEN 0x2d
+#define OBRACE_TOKEN 0x2e
+#define CBRACE_TOKEN 0x2f
+
+#define COMMA_TOKEN 0x31
+#define SEMICOLON_TOKEN 0x32
+#define COLON_TOKEN 0x33
+#define NAMESPACE_TOKEN 0x34
+
+/* Operators */
+#define POW_TOKEN 0x38
+
+/* The order here must match the order in the Binop_Level table in slparse.c */
+#define FIRST_BINARY_OP 0x39
+#define ADD_TOKEN 0x39
+#define SUB_TOKEN 0x3a
+#define TIMES_TOKEN 0x3b
+#define DIV_TOKEN 0x3c
+#define LT_TOKEN 0x3d
+#define LE_TOKEN 0x3e
+#define GT_TOKEN 0x3f
+#define GE_TOKEN 0x40
+#define EQ_TOKEN 0x41
+#define NE_TOKEN 0x42
+#define AND_TOKEN 0x43
+#define OR_TOKEN 0x44
+#define MOD_TOKEN 0x45
+#define BAND_TOKEN 0x46
+#define SHL_TOKEN 0x47
+#define SHR_TOKEN 0x48
+#define BXOR_TOKEN 0x49
+#define BOR_TOKEN 0x4a
+#define POUND_TOKEN 0x4b /* matrix multiplication */
+
+#define LAST_BINARY_OP 0x4b
+#define IS_BINARY_OP(t) ((t >= FIRST_BINARY_OP) && (t <= LAST_BINARY_OP))
+
+/* unary tokens -- but not all of them (see grammar) */
+#define DEREF_TOKEN 0x4d
+#define NOT_TOKEN 0x4e
+#define BNOT_TOKEN 0x4f
+
+#define IS_INTERNAL_FUNC(t) ((t >= 0x50) && (t <= 0x56))
+#define POP_TOKEN 0x50
+#define CHS_TOKEN 0x51
+#define SIGN_TOKEN 0x52
+#define ABS_TOKEN 0x53
+#define SQR_TOKEN 0x54
+#define MUL2_TOKEN 0x55
+#define EXCH_TOKEN 0x56
+
+/* Assignment tokens. Note: these must appear with sequential values.
+ * The order here must match the specific lvalue assignments below.
+ * These tokens are used by rpn routines in slang.c. slparse.c maps them
+ * onto the specific lvalue tokens while parsing infix.
+ * Also the assignment _SLANG_BCST_ assumes this order
+ */
+#define ASSIGN_TOKEN 0x57
+#define PLUSEQS_TOKEN 0x58
+#define MINUSEQS_TOKEN 0x59
+#define TIMESEQS_TOKEN 0x5A
+#define DIVEQS_TOKEN 0x5B
+#define BOREQS_TOKEN 0x5C
+#define BANDEQS_TOKEN 0x5D
+#define PLUSPLUS_TOKEN 0x5E
+#define POST_PLUSPLUS_TOKEN 0x5F
+#define MINUSMINUS_TOKEN 0x60
+#define POST_MINUSMINUS_TOKEN 0x61
+
+/* Directives */
+#define FIRST_DIRECTIVE_TOKEN 0x62
+#define IFNOT_TOKEN 0x62
+#define IF_TOKEN 0x63
+#define ELSE_TOKEN 0x64
+#define FOREVER_TOKEN 0x65
+#define WHILE_TOKEN 0x66
+#define FOR_TOKEN 0x67
+#define _FOR_TOKEN 0x68
+#define LOOP_TOKEN 0x69
+#define SWITCH_TOKEN 0x6A
+#define DOWHILE_TOKEN 0x6B
+#define ANDELSE_TOKEN 0x6C
+#define ORELSE_TOKEN 0x6D
+#define ERRBLK_TOKEN 0x6E
+#define EXITBLK_TOKEN 0x6F
+/* These must be sequential */
+#define USRBLK0_TOKEN 0x70
+#define USRBLK1_TOKEN 0x71
+#define USRBLK2_TOKEN 0x72
+#define USRBLK3_TOKEN 0x73
+#define USRBLK4_TOKEN 0x74
+
+#define CONT_TOKEN 0x75
+#define BREAK_TOKEN 0x76
+#define RETURN_TOKEN 0x77
+
+#define CASE_TOKEN 0x78
+#define DEFINE_TOKEN 0x79
+#define DO_TOKEN 0x7a
+#define VARIABLE_TOKEN 0x7b
+#define GVARIABLE_TOKEN 0x7c
+#define _REF_TOKEN 0x7d
+#define PUSH_TOKEN 0x7e
+#define STRUCT_TOKEN 0x7f
+#define TYPEDEF_TOKEN 0x80
+#define NOTELSE_TOKEN 0x81
+#define DEFINE_STATIC_TOKEN 0x82
+#define FOREACH_TOKEN 0x83
+#define USING_TOKEN 0x84
+#define DEFINE_PRIVATE_TOKEN 0x85
+#define DEFINE_PUBLIC_TOKEN 0x86
+
+/* Note: the order here must match the order of the generic assignment tokens.
+ * Also, the first token of each group must be the ?_ASSIGN_TOKEN.
+ * slparse.c exploits this order, as well as slang.h.
+ */
+#define FIRST_ASSIGN_TOKEN 0x90
+#define _STRUCT_ASSIGN_TOKEN 0x90
+#define _STRUCT_PLUSEQS_TOKEN 0x91
+#define _STRUCT_MINUSEQS_TOKEN 0x92
+#define _STRUCT_TIMESEQS_TOKEN 0x93
+#define _STRUCT_DIVEQS_TOKEN 0x94
+#define _STRUCT_BOREQS_TOKEN 0x95
+#define _STRUCT_BANDEQS_TOKEN 0x96
+#define _STRUCT_PLUSPLUS_TOKEN 0x97
+#define _STRUCT_POST_PLUSPLUS_TOKEN 0x98
+#define _STRUCT_MINUSMINUS_TOKEN 0x99
+#define _STRUCT_POST_MINUSMINUS_TOKEN 0x9A
+
+#define _ARRAY_ASSIGN_TOKEN 0xA0
+#define _ARRAY_PLUSEQS_TOKEN 0xA1
+#define _ARRAY_MINUSEQS_TOKEN 0xA2
+#define _ARRAY_TIMESEQS_TOKEN 0xA3
+#define _ARRAY_DIVEQS_TOKEN 0xA4
+#define _ARRAY_BOREQS_TOKEN 0xA5
+#define _ARRAY_BANDEQS_TOKEN 0xA6
+#define _ARRAY_PLUSPLUS_TOKEN 0xA7
+#define _ARRAY_POST_PLUSPLUS_TOKEN 0xA8
+#define _ARRAY_MINUSMINUS_TOKEN 0xA9
+#define _ARRAY_POST_MINUSMINUS_TOKEN 0xAA
+
+#define _SCALAR_ASSIGN_TOKEN 0xB0
+#define _SCALAR_PLUSEQS_TOKEN 0xB1
+#define _SCALAR_MINUSEQS_TOKEN 0xB2
+#define _SCALAR_TIMESEQS_TOKEN 0xB3
+#define _SCALAR_DIVEQS_TOKEN 0xB4
+#define _SCALAR_BOREQS_TOKEN 0xB5
+#define _SCALAR_BANDEQS_TOKEN 0xB6
+#define _SCALAR_PLUSPLUS_TOKEN 0xB7
+#define _SCALAR_POST_PLUSPLUS_TOKEN 0xB8
+#define _SCALAR_MINUSMINUS_TOKEN 0xB9
+#define _SCALAR_POST_MINUSMINUS_TOKEN 0xBA
+
+#define _DEREF_ASSIGN_TOKEN 0xC0
+#define _DEREF_PLUSEQS_TOKEN 0xC1
+#define _DEREF_MINUSEQS_TOKEN 0xC2
+#define _DEREF_TIMESEQS_TOKEN 0xC3
+#define _DEREF_DIVEQS_TOKEN 0xC4
+#define _DEREF_BOREQS_TOKEN 0xC5
+#define _DEREF_BANDEQS_TOKEN 0xC6
+#define _DEREF_PLUSPLUS_TOKEN 0xC7
+#define _DEREF_POST_PLUSPLUS_TOKEN 0xC8
+#define _DEREF_MINUSMINUS_TOKEN 0xC9
+#define _DEREF_POST_MINUSMINUS_TOKEN 0xCA
+
+#define LAST_ASSIGN_TOKEN 0xCA
+#define IS_ASSIGN_TOKEN(t) (((t)>=FIRST_ASSIGN_TOKEN)&&((t)<=LAST_ASSIGN_TOKEN))
+
+#define _INLINE_ARRAY_TOKEN 0xE0
+#define _INLINE_IMPLICIT_ARRAY_TOKEN 0xE1
+#define _NULL_TOKEN 0xE2
+#define _INLINE_WILDCARD_ARRAY_TOKEN 0xE3
+
+#define LINE_NUM_TOKEN 0xFC
+#define ARG_TOKEN 0xFD
+#define EARG_TOKEN 0xFE
+#define NO_OP_LITERAL 0xFF
+
+typedef struct
+{
+ /* sltoken.c */
+ /* SLang_eval_object */
+ SLang_Load_Type *llt;
+ SLPreprocess_Type *this_slpp;
+ /* prep_get_char() */
+ char *input_line;
+ char cchar;
+ /* get_token() */
+ int want_nl_token;
+
+ /* slparse.c */
+ _SLang_Token_Type ctok;
+ int block_depth;
+ int assignment_expression;
+
+ /* slang.c : SLcompile() */
+ _SLang_Token_Type save_token;
+ _SLang_Token_Type next_token;
+ void (*slcompile_ptr)(_SLang_Token_Type *);
+}
+_SLEval_Context;
+
+extern int _SLget_token (_SLang_Token_Type *);
+extern void _SLparse_error (char *, _SLang_Token_Type *, int);
+extern void _SLparse_start (SLang_Load_Type *);
+extern int _SLget_rpn_token (_SLang_Token_Type *);
+extern void _SLcompile_byte_compiled (void);
+
+extern int (*_SLprep_eval_hook) (char *);
+
+#ifdef HAVE_VSNPRINTF
+#define _SLvsnprintf vsnprintf
+#else
+extern int _SLvsnprintf (char *, unsigned int, char *, va_list);
+#endif
+
+#ifdef HAVE_SNPRINTF
+# define _SLsnprintf snprintf
+#else
+extern int _SLsnprintf (char *, unsigned int, char *, ...);
+#endif
+
+#undef _INLINE_
+#if defined(__GNUC__) && _SLANG_USE_INLINE_CODE
+# define _INLINE_ __inline__
+#else
+# define _INLINE_
+#endif
+
+
+#endif /* _PRIVATE_SLANG_H_ */
diff --git a/mdk-stage1/slang/config.h b/mdk-stage1/slang/config.h
new file mode 100644
index 000000000..a5ab3273c
--- /dev/null
+++ b/mdk-stage1/slang/config.h
@@ -0,0 +1,163 @@
+/* src/sysconf.h. Generated automatically by configure. */
+/* -*- c -*- */
+/* Note: this is for unix only. */
+
+#ifndef SL_CONFIG_H
+#define SL_CONFIG_H
+
+/* define if you have stdlib.h */
+#define HAVE_STDLIB_H 1
+
+/* define if you have unistd.h */
+#define HAVE_UNISTD_H 1
+
+/* define if you have termios.h */
+#define HAVE_TERMIOS_H 1
+
+/* define if you have memory.h */
+#define HAVE_MEMORY_H 1
+
+/* define if you have malloc.h */
+#define HAVE_MALLOC_H 1
+
+/* define if you have memset */
+#define HAVE_MEMSET 1
+
+/* define if you have memcpy */
+#define HAVE_MEMCPY 1
+
+//#define HAVE_SETLOCALE 1
+//#define HAVE_LOCALE_H 1
+
+#define HAVE_VFSCANF 1
+
+/* define if you have fcntl.h */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the vsnprintf, snprintf functions and they return
+ * EOF upon failure.
+ */
+#define HAVE_VSNPRINTF 1
+#define HAVE_SNPRINTF 1
+
+/* define if you have sys/fcntl.h */
+#define HAVE_SYS_FCNTL_H 1
+
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_WAIT_H 1
+#define HAVE_SYS_TIMES_H 1
+
+/* Set these to the appropriate values */
+#define SIZEOF_SHORT 2
+#define SIZEOF_INT 4
+#define SIZEOF_LONG 4
+#define SIZEOF_FLOAT 4
+#define SIZEOF_DOUBLE 8
+
+/* define if you have these. */
+#define HAVE_ATEXIT 1
+#define HAVE_ON_EXIT 1
+#define HAVE_PUTENV 1
+#define HAVE_GETCWD 1
+#define HAVE_TCGETATTR 1
+#define HAVE_TCSETATTR 1
+#define HAVE_CFGETOSPEED 1
+#define HAVE_LSTAT 1
+#define HAVE_KILL 1
+#define HAVE_CHOWN 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_POPEN 1
+#define HAVE_UMASK 1
+#define HAVE_READLINK 1
+#define HAVE_TIMES 1
+#define HAVE_GMTIME 1
+#define HAVE_MKFIFO 1
+
+#define HAVE_GETPPID 1
+#define HAVE_GETGID 1
+#define HAVE_GETEGID 1
+#define HAVE_GETEUID 1
+/* #undef HAVE_GETUID */
+
+#define HAVE_SETGID 1
+#define HAVE_SETPGID 1
+#define HAVE_SETUID 1
+
+#define HAVE_ACOSH 1
+#define HAVE_ASINH 1
+#define HAVE_ATANH 1
+
+#define HAVE_DIRENT_H 1
+/* #undef HAVE_SYS_NDIR_H */
+/* #undef HAVE_SYS_DIR_H */
+/* #undef HAVE_NDIR_H */
+
+#define HAVE_DLFCN_H 1
+
+#define HAVE_SYS_UTSNAME_H 1
+#define HAVE_UNAME 1
+
+/* These two are needed on DOS-like systems. Unix does not require them.
+ * They are included here for consistency.
+ *
+#define HAVE_IO_H
+#define HAVE_PROCESS_H
+ */
+
+/* #undef USE_TERMCAP */
+
+/* #undef mode_t */
+/* #undef uid_t */
+/* #undef pid_t */
+/* #undef gid_t */
+
+/* Do we have posix signals? */
+#define HAVE_SIGACTION 1
+#define HAVE_SIGPROCMASK 1
+#define HAVE_SIGEMPTYSET 1
+#define HAVE_SIGADDSET 1
+
+#if defined(HAVE_SIGADDSET) && defined(HAVE_SIGEMPTYSET)
+# if defined(HAVE_SIGACTION) && defined(HAVE_SIGPROCMASK)
+# define SLANG_POSIX_SIGNALS
+# endif
+#endif
+
+/* Define if you need to in order for stat and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+#ifdef _AIX
+# ifndef _POSIX_SOURCE
+# define _POSIX_SOURCE 1
+# endif
+# ifndef _ALL_SOURCE
+# define _ALL_SOURCE
+# endif
+/* This may generate warnings but the fact is that without it, xlc will
+ * INCORRECTLY inline many str* functions. */
+/* # undef __STR__ */
+#endif
+
+/* define USE_TERMCAP if you want to use it instead of terminfo. */
+#if defined(sequent) || defined(NeXT)
+# ifndef USE_TERMCAP
+# define USE_TERMCAP
+# endif
+#endif
+
+#if defined(ultrix) && !defined(__GNUC__)
+# ifndef NO_PROTOTYPES
+# define NO_PROTOTYPES
+# endif
+#endif
+
+#ifndef unix
+# define unix 1
+#endif
+
+#ifndef __unix__
+# define __unix__ 1
+#endif
+
+#define _SLANG_SOURCE_ 1
+#endif /* SL_CONFIG_H */
diff --git a/mdk-stage1/slang/jdmacros.h b/mdk-stage1/slang/jdmacros.h
new file mode 100644
index 000000000..70d491b78
--- /dev/null
+++ b/mdk-stage1/slang/jdmacros.h
@@ -0,0 +1,53 @@
+#ifndef _JD_MACROS_H_
+#define _JD_MACROS_H_
+
+#ifndef SLMEMSET
+# ifdef HAVE_MEMSET
+# define SLMEMSET memset
+# else
+# define SLMEMSET SLmemset
+# endif
+#endif
+
+#ifndef SLMEMCHR
+# ifdef HAVE_MEMCHR
+# define SLMEMCHR memchr
+# else
+# define SLMEMCHR SLmemchr
+# endif
+#endif
+
+#ifndef SLMEMCPY
+# ifdef HAVE_MEMCPY
+# define SLMEMCPY memcpy
+# else
+# define SLMEMCPY SLmemcpy
+# endif
+#endif
+
+/* Note: HAVE_MEMCMP requires an unsigned memory comparison!!! */
+#ifndef SLMEMCMP
+# ifdef HAVE_MEMCMP
+# define SLMEMCMP memcmp
+# else
+# define SLMEMCMP SLmemcmp
+# endif
+#endif
+
+#ifndef SLFREE
+# define SLFREE free
+#endif
+
+#ifndef SLMALLOC
+# define SLMALLOC malloc
+#endif
+
+#ifndef SLCALLOC
+# define SLCALLOC calloc
+#endif
+
+#ifndef SLREALLOC
+# define SLREALLOC realloc
+#endif
+
+#endif /* _JD_MACROS_H_ */
diff --git a/mdk-stage1/slang/keywhash.c b/mdk-stage1/slang/keywhash.c
new file mode 100644
index 000000000..17d94d5a3
--- /dev/null
+++ b/mdk-stage1/slang/keywhash.c
@@ -0,0 +1,190 @@
+/* Perfect hash generated by command line:
+ * ./a.out 1
+ */
+#define MIN_HASH_VALUE 2
+#define MAX_HASH_VALUE 118
+#define MIN_KEYWORD_LEN 2
+#define MAX_KEYWORD_LEN 11
+
+static unsigned char Keyword_Hash_Table [256] =
+{
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 1, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 9, 7, 1, 8, 2, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 0, 0, 119, 0, 119, 119, 119, 7, 119, 0, 0, 119, 119, 0,
+ 119, 119, 0, 0, 0, 0, 119, 119, 0, 119, 119, 119, 119, 119, 119, 2,
+ 119, 41, 1, 1, 9, 0, 55, 8, 0, 0, 119, 0, 27, 0, 0, 0,
+ 7, 2, 0, 21, 0, 0, 0, 3, 2, 0, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119
+};
+
+static unsigned char keyword_hash (char *s, unsigned int len)
+{
+ unsigned int sum;
+
+ sum = len;
+ while (len)
+ {
+ len--;
+ sum += (unsigned int) Keyword_Hash_Table [(unsigned char)s[len]];
+ }
+ return sum;
+}
+
+typedef struct
+{
+ char *name;
+ unsigned int type;
+}
+Keyword_Table_Type;
+
+static Keyword_Table_Type Keyword_Table [/* 117 */] =
+{
+ {"or", OR_TOKEN},
+ {"not", NOT_TOKEN},
+ {NULL,0},
+ {"xor", BXOR_TOKEN},
+ {"return", RETURN_TOKEN},
+ {"exch", EXCH_TOKEN},
+ {NULL,0},
+ {"continue", CONT_TOKEN},
+ {NULL,0},
+ {"do", DO_TOKEN},
+ {"mod", MOD_TOKEN},
+ {"ERROR_BLOCK", ERRBLK_TOKEN},
+ {"USER_BLOCK2", USRBLK2_TOKEN},
+ {"USER_BLOCK4", USRBLK4_TOKEN},
+ {"__tmp", TMP_TOKEN},
+ {"pop", POP_TOKEN},
+ {NULL,0},
+ {"EXIT_BLOCK", EXITBLK_TOKEN},
+ {"USER_BLOCK1", USRBLK1_TOKEN},
+ {"USER_BLOCK3", USRBLK3_TOKEN},
+ {"USER_BLOCK0", USRBLK0_TOKEN},
+ {NULL,0},
+ {"shr", SHR_TOKEN},
+ {"chs", CHS_TOKEN},
+ {"sqr", SQR_TOKEN},
+ {NULL,0},
+ {"struct", STRUCT_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {"switch", SWITCH_TOKEN},
+ {"mul2", MUL2_TOKEN},
+ {"sign", SIGN_TOKEN},
+ {"using", USING_TOKEN},
+ {"while", WHILE_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {"loop", LOOP_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"public", PUBLIC_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"break", BREAK_TOKEN},
+ {NULL,0},
+ {"do_while", DOWHILE_TOKEN},
+ {NULL,0},
+ {"shl", SHL_TOKEN},
+ {"else", ELSE_TOKEN},
+ {"and", AND_TOKEN},
+ {"orelse", ORELSE_TOKEN},
+ {"private", PRIVATE_TOKEN},
+ {NULL,0},
+ {"if", IF_TOKEN},
+ {"for", FOR_TOKEN},
+ {"!if", IFNOT_TOKEN},
+ {NULL,0},
+ {"_for", _FOR_TOKEN},
+ {"forever", FOREVER_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"abs", ABS_TOKEN},
+ {"case", CASE_TOKEN},
+ {NULL,0},
+ {"static", STATIC_TOKEN},
+ {"define", DEFINE_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"typedef", TYPEDEF_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"foreach", FOREACH_TOKEN},
+ {"andelse", ANDELSE_TOKEN},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {NULL,0},
+ {"variable", VARIABLE_TOKEN},
+};
+
+static Keyword_Table_Type *is_keyword (char *str, unsigned int len)
+{
+ unsigned int hash;
+ char *name;
+ Keyword_Table_Type *kw;
+
+ if ((len < MIN_KEYWORD_LEN)
+ || (len > MAX_KEYWORD_LEN))
+ return NULL;
+
+ hash = keyword_hash (str, len);
+ if ((hash > MAX_HASH_VALUE) || (hash < MIN_HASH_VALUE))
+ return NULL;
+
+ kw = &Keyword_Table[hash - MIN_HASH_VALUE];
+ if ((NULL != (name = kw->name))
+ && (*str == *name)
+ && (0 == strcmp (str, name)))
+ return kw;
+ return NULL;
+}
diff --git a/mdk-stage1/slang/sl-feat.h b/mdk-stage1/slang/sl-feat.h
new file mode 100644
index 000000000..511d72451
--- /dev/null
+++ b/mdk-stage1/slang/sl-feat.h
@@ -0,0 +1,60 @@
+/* Setting this to 1 enables automatic support for associative arrays.
+ * If this is set to 0, an application must explicitly enable associative
+ * array support via SLang_init_slassoc.
+ */
+#define SLANG_HAS_ASSOC_ARRAYS 1
+
+#define SLANG_HAS_COMPLEX 1
+#define SLANG_HAS_FLOAT 1
+
+/* This is the old space-speed trade off. To reduce memory usage and code
+ * size, set this to zero.
+ */
+#define _SLANG_OPTIMIZE_FOR_SPEED 2
+
+#define _SLANG_USE_INLINE_CODE 1
+
+/* This is experimental. It adds extra information for tracking down
+ * errors.
+ */
+#define _SLANG_HAS_DEBUG_CODE 1
+
+/* Allow optimizations based upon the __tmp operator. */
+#define _SLANG_USE_TMP_OPTIMIZATION 1
+
+/* Setting this to one will map 8 bit vtxxx terminals to 7 bit. Terminals
+ * such as the vt320 can be set up to output the two-character escape sequence
+ * encoded as 'ESC [' as single character. Setting this variable to 1 will
+ * insert code to map such characters to the 7 bit equivalent.
+ * This affects just input characters in the range 128-160 on non PC
+ * systems.
+ */
+#if defined(VMS) || defined(AMIGA)
+# define _SLANG_MAP_VTXXX_8BIT 1
+#else
+# define _SLANG_MAP_VTXXX_8BIT 0
+#endif
+
+/* Add support for color terminals that cannot do background color erases
+ * Such terminals are poorly designed and are slowly disappearing but they
+ * are still quite common. For example, screen is one of them!
+ *
+ * This is experimental. In particular, it is not known to work if
+ * KANJI suupport is enabled.
+ */
+#if !defined(IBMPC_SYSTEM)
+# define SLTT_HAS_NON_BCE_SUPPORT 1
+#else
+# define SLTT_HAS_NON_BCE_SUPPORT 0
+#endif
+
+/* If you want slang to assume that an xterm always has the background color
+ * erase feature, then set this to 1. Otherwise, it will check the terminfo
+ * database. This may or may not be a good idea since most good color xterms
+ * support bce but many terminfo systems do not support it.
+ */
+#define SLTT_XTERM_ALWAYS_BCE 0
+
+/* Set this to 1 to enable Kanji support. See above comment. */
+#define SLANG_HAS_KANJI_SUPPORT 0
+
diff --git a/mdk-stage1/slang/slang.c b/mdk-stage1/slang/slang.c
new file mode 100644
index 000000000..6edc7df37
--- /dev/null
+++ b/mdk-stage1/slang/slang.c
@@ -0,0 +1,5547 @@
+/* -*- mode: C; mode: fold; -*- */
+/* slang.c --- guts of S-Lang interpreter */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#if SLANG_HAS_FLOAT
+# include <math.h>
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+#define USE_COMBINED_BYTECODES 0
+
+struct _SLBlock_Type;
+
+typedef struct
+{
+ struct _SLBlock_Type *body;
+ unsigned int num_refs;
+}
+_SLBlock_Header_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ union
+ {
+ _SLBlock_Header_Type *header; /* body of function */
+ char *autoload_filename;
+ }
+ v;
+#if _SLANG_HAS_DEBUG_CODE
+ char *file;
+#endif
+#define SLANG_MAX_LOCAL_VARIABLES 254
+#define AUTOLOAD_NUM_LOCALS (SLANG_MAX_LOCAL_VARIABLES + 1)
+ unsigned char nlocals; /* number of local variables */
+ unsigned char nargs; /* number of arguments */
+}
+_SLang_Function_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ SLang_Object_Type obj;
+}
+SLang_Global_Var_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ int local_var_number;
+}
+SLang_Local_Var_Type;
+
+typedef struct _SLBlock_Type
+{
+ unsigned char bc_main_type;
+ unsigned char bc_sub_type;
+ union
+ {
+ struct _SLBlock_Type *blk;
+ int i_blk;
+
+ SLang_Name_Type *nt_blk;
+ SLang_App_Unary_Type *nt_unary_blk;
+ SLang_Intrin_Var_Type *nt_ivar_blk;
+ SLang_Intrin_Fun_Type *nt_ifun_blk;
+ SLang_Global_Var_Type *nt_gvar_blk;
+ SLang_IConstant_Type *iconst_blk;
+ SLang_DConstant_Type *dconst_blk;
+ _SLang_Function_Type *nt_fun_blk;
+
+ VOID_STAR ptr_blk;
+ char *s_blk;
+ SLang_BString_Type *bs_blk;
+
+#if SLANG_HAS_FLOAT
+ double *double_blk; /*literal double is a pointer */
+#endif
+ float float_blk;
+ long l_blk;
+ struct _SLang_Struct_Type *struct_blk;
+ int (*call_function)(void);
+ }
+ b;
+}
+SLBlock_Type;
+
+/* Debugging and tracing variables */
+
+void (*SLang_Enter_Function)(char *) = NULL;
+void (*SLang_Exit_Function)(char *) = NULL;
+/* If non null, these call C functions before and after a slang function. */
+
+int _SLang_Trace = 0;
+/* If _SLang_Trace = -1, do not trace intrinsics */
+static int Trace_Mode = 0;
+
+static char *Trace_Function; /* function to be traced */
+int SLang_Traceback = 0;
+/* non zero means do traceback. If less than 0, do not show local variables */
+
+/* These variables handle _NARGS processing by the parser */
+int SLang_Num_Function_Args;
+static int *Num_Args_Stack;
+static unsigned int Recursion_Depth;
+static SLang_Object_Type *Frame_Pointer;
+static int Next_Function_Num_Args;
+static unsigned int Frame_Pointer_Depth;
+static unsigned int *Frame_Pointer_Stack;
+
+static int Lang_Break_Condition = 0;
+/* true if any one below is true. This keeps us from testing 3 variables.
+ * I know this can be perfomed with a bitmapped variable, but...
+ */
+static int Lang_Break = 0;
+static int Lang_Return = 0;
+/* static int Lang_Continue = 0; */
+
+SLang_Object_Type *_SLRun_Stack;
+SLang_Object_Type *_SLStack_Pointer;
+static SLang_Object_Type *_SLStack_Pointer_Max;
+
+/* Might want to increase this. */
+static SLang_Object_Type Local_Variable_Stack[SLANG_MAX_LOCAL_STACK];
+static SLang_Object_Type *Local_Variable_Frame = Local_Variable_Stack;
+
+static void free_function_header (_SLBlock_Header_Type *);
+
+void (*SLang_Dump_Routine)(char *);
+
+static void call_dump_routine (char *fmt, ...)
+{
+ char buf[1024];
+ va_list ap;
+
+ va_start (ap, fmt);
+ if (SLang_Dump_Routine != NULL)
+ {
+ (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
+ (*SLang_Dump_Routine) (buf);
+ }
+ else
+ {
+ vfprintf (stderr, fmt, ap);
+ fflush (stderr);
+ }
+ va_end (ap);
+}
+
+static void do_traceback (char *, unsigned int, char *);
+static int init_interpreter (void);
+
+/*{{{ push/pop/etc stack manipulation functions */
+
+/* This routine is assumed to work even in the presence of a SLang_Error. */
+_INLINE_
+int SLang_pop (SLang_Object_Type *x)
+{
+ register SLang_Object_Type *y;
+
+ y = _SLStack_Pointer;
+ if (y == _SLRun_Stack)
+ {
+ if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
+ x->data_type = 0;
+ return -1;
+ }
+ y--;
+ *x = *y;
+
+ _SLStack_Pointer = y;
+ return 0;
+}
+
+static int pop_ctrl_integer (int *i)
+{
+ int type;
+ SLang_Class_Type *cl;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ register SLang_Object_Type *y;
+
+ /* Most of the time, either an integer or a char will be on the stack.
+ * Optimize these cases.
+ */
+ y = _SLStack_Pointer;
+ if (y == _SLRun_Stack)
+ {
+ if (SLang_Error == 0) SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+ y--;
+
+ type = y->data_type;
+ if (type == SLANG_INT_TYPE)
+ {
+ _SLStack_Pointer = y;
+ *i = y->v.int_val;
+ return 0;
+ }
+ if (type == SLANG_CHAR_TYPE)
+ {
+ _SLStack_Pointer = y;
+ *i = y->v.char_val;
+ return 0;
+ }
+#else
+ if (-1 == (type = SLang_peek_at_stack ()))
+ return -1;
+#endif
+
+ cl = _SLclass_get_class ((unsigned char) type);
+ if (cl->cl_to_bool == NULL)
+ {
+ SLang_verror (SL_TYPE_MISMATCH,
+ "%s cannot be used in a boolean context",
+ cl->cl_name);
+ return -1;
+ }
+ return cl->cl_to_bool ((unsigned char) type, i);
+}
+
+_INLINE_
+int SLang_peek_at_stack (void)
+{
+ if (_SLStack_Pointer == _SLRun_Stack)
+ {
+ if (SLang_Error == 0)
+ SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+
+ return (_SLStack_Pointer - 1)->data_type;
+}
+
+int SLang_peek_at_stack1 (void)
+{
+ int type;
+
+ type = SLang_peek_at_stack ();
+ if (type == SLANG_ARRAY_TYPE)
+ type = (_SLStack_Pointer - 1)->v.array_val->data_type;
+
+ return type;
+}
+
+_INLINE_
+void SLang_free_object (SLang_Object_Type *obj)
+{
+ unsigned char data_type;
+ SLang_Class_Type *cl;
+
+ if (obj == NULL) return;
+ data_type = obj->data_type;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
+ return;
+ if (data_type == SLANG_STRING_TYPE)
+ {
+ SLang_free_slstring (obj->v.s_val);
+ return;
+ }
+#endif
+ cl = _SLclass_get_class (data_type);
+#if !_SLANG_OPTIMIZE_FOR_SPEED
+ if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
+#endif
+ (*cl->cl_destroy) (data_type, (VOID_STAR) &obj->v);
+}
+
+_INLINE_
+int SLang_push (SLang_Object_Type *x)
+{
+ register SLang_Object_Type *y;
+ y = _SLStack_Pointer;
+
+ /* if there is a SLang_Error, probably not much harm will be done
+ if it is ignored here */
+ /* if (SLang_Error) return; */
+
+ /* flag it now */
+ if (y >= _SLStack_Pointer_Max)
+ {
+ if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
+ return -1;
+ }
+
+ *y = *x;
+ _SLStack_Pointer = y + 1;
+ return 0;
+}
+
+/* _INLINE_ */
+int SLclass_push_ptr_obj (unsigned char type, VOID_STAR pval)
+{
+ register SLang_Object_Type *y;
+ y = _SLStack_Pointer;
+
+ if (y >= _SLStack_Pointer_Max)
+ {
+ if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
+ return -1;
+ }
+
+ y->data_type = type;
+ y->v.ptr_val = pval;
+
+ _SLStack_Pointer = y + 1;
+ return 0;
+}
+
+_INLINE_
+int SLclass_push_int_obj (unsigned char type, int x)
+{
+ register SLang_Object_Type *y;
+ y = _SLStack_Pointer;
+
+ if (y >= _SLStack_Pointer_Max)
+ {
+ if (!SLang_Error) SLang_Error = SL_STACK_OVERFLOW;
+ return -1;
+ }
+
+ y->data_type = type;
+ y->v.int_val = x;
+
+ _SLStack_Pointer = y + 1;
+ return 0;
+}
+
+_INLINE_
+int _SLang_pop_object_of_type (unsigned char type, SLang_Object_Type *obj,
+ int allow_arrays)
+{
+ register SLang_Object_Type *y;
+
+ y = _SLStack_Pointer;
+ if (y == _SLRun_Stack)
+ return SLang_pop (obj);
+ y--;
+ if (y->data_type != type)
+ {
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ /* This is an implicit typecast. We do not want to typecast
+ * floats to ints implicitly.
+ */
+ if (_SLarith_Is_Arith_Type [type]
+ && _SLarith_Is_Arith_Type [y->data_type]
+ && (_SLarith_Is_Arith_Type [type] >= _SLarith_Is_Arith_Type[y->data_type]))
+ {
+ /* This should not fail */
+ (void) _SLarith_typecast (y->data_type, (VOID_STAR)&y->v, 1,
+ type, (VOID_STAR)&obj->v);
+ obj->data_type = type;
+ _SLStack_Pointer = y;
+ return 0;
+ }
+#endif
+
+ if ((allow_arrays == 0)
+ || (y->data_type != SLANG_ARRAY_TYPE)
+ || (y->v.array_val->data_type != type))
+ if (-1 == SLclass_typecast (type, 1, 0))
+ return -1;
+ }
+ *obj = *y;
+ _SLStack_Pointer = y;
+ return 0;
+}
+
+/* This function reverses the top n items on the stack and returns a
+ * an offset from the start of the stack to the last item.
+ */
+int SLreverse_stack (int n)
+{
+ SLang_Object_Type *otop, *obot, tmp;
+
+ otop = _SLStack_Pointer;
+ if ((n > otop - _SLRun_Stack) || (n < 0))
+ {
+ SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+ obot = otop - n;
+ otop--;
+ while (otop > obot)
+ {
+ tmp = *obot;
+ *obot = *otop;
+ *otop = tmp;
+ otop--;
+ obot++;
+ }
+ return (int) ((_SLStack_Pointer - n) - _SLRun_Stack);
+}
+
+_INLINE_
+int SLroll_stack (int np)
+{
+ int n, i;
+ SLang_Object_Type *otop, *obot, tmp;
+
+ if ((n = abs(np)) <= 1) return 0; /* identity */
+
+ obot = otop = _SLStack_Pointer;
+ i = n;
+ while (i != 0)
+ {
+ if (obot <= _SLRun_Stack)
+ {
+ SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+ obot--;
+ i--;
+ }
+ otop--;
+
+ if (np > 0)
+ {
+ /* Put top on bottom and roll rest up. */
+ tmp = *otop;
+ while (otop > obot)
+ {
+ *otop = *(otop - 1);
+ otop--;
+ }
+ *otop = tmp;
+ }
+ else
+ {
+ /* Put bottom on top and roll rest down. */
+ tmp = *obot;
+ while (obot < otop)
+ {
+ *obot = *(obot + 1);
+ obot++;
+ }
+ *obot = tmp;
+ }
+ return 0;
+}
+
+int _SLstack_depth (void)
+{
+ return (int) (_SLStack_Pointer - _SLRun_Stack);
+}
+
+int SLdup_n (int n)
+{
+ SLang_Object_Type *bot, *top;
+
+ if (n <= 0)
+ return 0;
+
+ top = _SLStack_Pointer;
+ if (top < _SLRun_Stack + n)
+ {
+ if (SLang_Error == 0)
+ SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+ if (top + n > _SLStack_Pointer_Max)
+ {
+ if (SLang_Error == 0)
+ SLang_Error = SL_STACK_OVERFLOW;
+ return -1;
+ }
+ bot = top - n;
+
+ while (bot < top)
+ {
+ SLang_Class_Type *cl;
+ unsigned char data_type = bot->data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [data_type])
+ {
+ *_SLStack_Pointer++ = *bot++;
+ continue;
+ }
+#endif
+ cl = _SLclass_get_class (data_type);
+ if (-1 == (*cl->cl_push) (data_type, (VOID_STAR) &bot->v))
+ return -1;
+ bot++;
+ }
+ return 0;
+}
+
+/*}}}*/
+
+/*{{{ inner interpreter and support functions */
+
+_INLINE_
+int _SL_increment_frame_pointer (void)
+{
+ if (Recursion_Depth >= SLANG_MAX_RECURSIVE_DEPTH)
+ {
+ SLang_verror (SL_STACK_OVERFLOW, "Num Args Stack Overflow");
+ return -1;
+ }
+ Num_Args_Stack [Recursion_Depth] = SLang_Num_Function_Args;
+
+ SLang_Num_Function_Args = Next_Function_Num_Args;
+ Next_Function_Num_Args = 0;
+ Recursion_Depth++;
+ return 0;
+}
+
+_INLINE_
+int _SL_decrement_frame_pointer (void)
+{
+ if (Recursion_Depth == 0)
+ {
+ SLang_verror (SL_STACK_UNDERFLOW, "Num Args Stack Underflow");
+ return -1;
+ }
+
+ Recursion_Depth--;
+ if (Recursion_Depth < SLANG_MAX_RECURSIVE_DEPTH)
+ SLang_Num_Function_Args = Num_Args_Stack [Recursion_Depth];
+
+ return 0;
+}
+
+_INLINE_
+int SLang_start_arg_list (void)
+{
+ if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
+ {
+ Frame_Pointer_Stack [Frame_Pointer_Depth] = (unsigned int) (Frame_Pointer - _SLRun_Stack);
+ Frame_Pointer = _SLStack_Pointer;
+ Frame_Pointer_Depth++;
+ Next_Function_Num_Args = 0;
+ return 0;
+ }
+
+ SLang_verror (SL_STACK_OVERFLOW, "Frame Stack Overflow");
+ return -1;
+}
+
+_INLINE_
+int SLang_end_arg_list (void)
+{
+ if (Frame_Pointer_Depth == 0)
+ {
+ SLang_verror (SL_STACK_UNDERFLOW, "Frame Stack Underflow");
+ return -1;
+ }
+ Frame_Pointer_Depth--;
+ if (Frame_Pointer_Depth < SLANG_MAX_RECURSIVE_DEPTH)
+ {
+ Next_Function_Num_Args = (int) (_SLStack_Pointer - Frame_Pointer);
+ Frame_Pointer = _SLRun_Stack + Frame_Pointer_Stack [Frame_Pointer_Depth];
+ }
+ return 0;
+}
+
+_INLINE_
+static int do_bc_call_direct_frame (int (*f)(void))
+{
+ if ((0 == SLang_end_arg_list ())
+ && (0 == _SL_increment_frame_pointer ()))
+ {
+ (void) (*f) ();
+ _SL_decrement_frame_pointer ();
+ }
+ if (SLang_Error)
+ return -1;
+ return 0;
+}
+
+static int do_name_type_error (SLang_Name_Type *nt)
+{
+ char buf[256];
+ if (nt != NULL)
+ {
+ (void) _SLsnprintf (buf, sizeof (buf), "(Error occurred processing %s)", nt->name);
+ do_traceback (buf, 0, NULL);
+ }
+ return -1;
+}
+
+/* local and global variable assignments */
+
+static int do_binary_ab (int op, SLang_Object_Type *obja, SLang_Object_Type *objb)
+{
+ SLang_Class_Type *a_cl, *b_cl, *c_cl;
+ unsigned char b_data_type, a_data_type, c_data_type;
+ int (*binary_fun) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR);
+ VOID_STAR pa;
+ VOID_STAR pb;
+ VOID_STAR pc;
+ int ret;
+
+ b_data_type = objb->data_type;
+ a_data_type = obja->data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (_SLarith_Is_Arith_Type[a_data_type]
+ && _SLarith_Is_Arith_Type[b_data_type])
+ {
+ int status;
+ status = _SLarith_bin_op (obja, objb, op);
+ if (status != 1)
+ return status;
+ /* drop and try it the hard way */
+ }
+#endif
+
+ a_cl = _SLclass_get_class (a_data_type);
+ if (a_data_type == b_data_type)
+ b_cl = a_cl;
+ else
+ b_cl = _SLclass_get_class (b_data_type);
+
+ if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
+ return -1;
+
+ c_data_type = c_cl->cl_data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_data_type])
+ pa = (VOID_STAR) &obja->v;
+ else
+#endif
+ pa = _SLclass_get_ptr_to_value (a_cl, obja);
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [b_data_type])
+ pb = (VOID_STAR) &objb->v;
+ else
+#endif
+ pb = _SLclass_get_ptr_to_value (b_cl, objb);
+
+ pc = c_cl->cl_transfer_buf;
+
+ if (1 != (*binary_fun) (op,
+ a_data_type, pa, 1,
+ b_data_type, pb, 1,
+ pc))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Binary operation between %s and %s failed",
+ a_cl->cl_name, b_cl->cl_name);
+
+ return -1;
+ }
+
+ /* apush will create a copy, so make sure we free after the push */
+ ret = (*c_cl->cl_apush)(c_data_type, pc);
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [c_data_type])
+#endif
+ (*c_cl->cl_adestroy)(c_data_type, pc);
+
+ return ret;
+}
+
+_INLINE_
+static void do_binary (int op)
+{
+ SLang_Object_Type obja, objb;
+
+ if (SLang_pop (&objb)) return;
+ if (0 == SLang_pop (&obja))
+ {
+ (void) do_binary_ab (op, &obja, &objb);
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja.data_type])
+#endif
+ SLang_free_object (&obja);
+ }
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
+#endif
+ SLang_free_object (&objb);
+}
+
+static int do_unary_op (int op, SLang_Object_Type *obj, int unary_type)
+{
+ int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
+ VOID_STAR pa;
+ VOID_STAR pb;
+ SLang_Class_Type *a_cl, *b_cl;
+ unsigned char a_type, b_type;
+ int ret;
+
+ a_type = obj->data_type;
+ a_cl = _SLclass_get_class (a_type);
+
+ if (NULL == (f = _SLclass_get_unary_fun (op, a_cl, &b_cl, unary_type)))
+ return -1;
+
+ b_type = b_cl->cl_data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type [a_type])
+ pa = (VOID_STAR) &obj->v;
+ else
+#endif
+ pa = _SLclass_get_ptr_to_value (a_cl, obj);
+
+ pb = b_cl->cl_transfer_buf;
+
+ if (1 != (*f) (op, a_type, pa, 1, pb))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Unary operation for %s failed", a_cl->cl_name);
+ return -1;
+ }
+
+ ret = (*b_cl->cl_apush)(b_type, pb);
+ /* cl_apush creates a copy, so make sure we call cl_adestroy */
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [b_type])
+#endif
+ (*b_cl->cl_adestroy)(b_type, pb);
+
+ return ret;
+}
+
+_INLINE_
+static int do_unary (int op, int unary_type)
+{
+ SLang_Object_Type obj;
+ int ret;
+
+ if (-1 == SLang_pop (&obj)) return -1;
+ ret = do_unary_op (op, &obj, unary_type);
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obj.data_type])
+#endif
+ SLang_free_object (&obj);
+ return ret;
+}
+
+static int do_assignment_binary (int op, SLang_Object_Type *obja_ptr)
+{
+ SLang_Object_Type objb;
+ int ret;
+
+ if (SLang_pop (&objb))
+ return -1;
+
+ ret = do_binary_ab (op, obja_ptr, &objb);
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [objb.data_type])
+#endif
+ SLang_free_object (&objb);
+ return ret;
+}
+
+/* The order of these is assumed to match the binary operators
+ * defined in slang.h
+ */
+static int
+map_assignment_op_to_binary (unsigned char op_type, int *op, int *is_unary)
+{
+ *is_unary = 0;
+ switch (op_type)
+ {
+ case _SLANG_BCST_PLUSEQS:
+ case _SLANG_BCST_MINUSEQS:
+ case _SLANG_BCST_TIMESEQS:
+ case _SLANG_BCST_DIVEQS:
+ *op = SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS);
+ break;
+
+ case _SLANG_BCST_BOREQS:
+ *op = SLANG_BOR;
+ break;
+
+ case _SLANG_BCST_BANDEQS:
+ *op = SLANG_BAND;
+ break;
+
+ case _SLANG_BCST_POST_MINUSMINUS:
+ case _SLANG_BCST_MINUSMINUS:
+ *op = SLANG_MINUS;
+ *is_unary = 1;
+ break;
+
+ case _SLANG_BCST_PLUSPLUS:
+ case _SLANG_BCST_POST_PLUSPLUS:
+ *op = SLANG_PLUS;
+ *is_unary = 1;
+ break;
+
+ default:
+ SLang_verror (SL_NOT_IMPLEMENTED, "Assignment operator not implemented");
+ return -1;
+ }
+ return 0;
+}
+
+static int
+perform_lvalue_operation (unsigned char op_type, SLang_Object_Type *obja_ptr)
+{
+ switch (op_type)
+ {
+ case _SLANG_BCST_ASSIGN:
+ break;
+
+ /* The order of these is assumed to match the binary operators
+ * defined in slang.h
+ */
+ case _SLANG_BCST_PLUSEQS:
+ case _SLANG_BCST_MINUSEQS:
+ case _SLANG_BCST_TIMESEQS:
+ case _SLANG_BCST_DIVEQS:
+ if (-1 == do_assignment_binary (SLANG_PLUS + (op_type - _SLANG_BCST_PLUSEQS), obja_ptr))
+ return -1;
+ break;
+
+ case _SLANG_BCST_BOREQS:
+ if (-1 == do_assignment_binary (SLANG_BOR, obja_ptr))
+ return -1;
+ break;
+
+ case _SLANG_BCST_BANDEQS:
+ if (-1 == do_assignment_binary (SLANG_BAND, obja_ptr))
+ return -1;
+ break;
+
+ case _SLANG_BCST_PLUSPLUS:
+ case _SLANG_BCST_POST_PLUSPLUS:
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (obja_ptr->data_type == SLANG_INT_TYPE)
+ return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val + 1);
+#endif
+ if (-1 == do_unary_op (SLANG_PLUSPLUS, obja_ptr, _SLANG_BC_UNARY))
+ return -1;
+ break;
+
+ case _SLANG_BCST_MINUSMINUS:
+ case _SLANG_BCST_POST_MINUSMINUS:
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (obja_ptr->data_type == SLANG_INT_TYPE)
+ return SLclass_push_int_obj (SLANG_INT_TYPE, obja_ptr->v.int_val - 1);
+#endif
+ if (-1 == do_unary_op (SLANG_MINUSMINUS, obja_ptr, _SLANG_BC_UNARY))
+ return -1;
+ break;
+
+ default:
+ SLang_Error = SL_INTERNAL_ERROR;
+ return -1;
+ }
+ return 0;
+}
+
+_INLINE_
+static int
+set_lvalue_obj (unsigned char op_type, SLang_Object_Type *obja_ptr)
+{
+ if (op_type != _SLANG_BCST_ASSIGN)
+ {
+ if (-1 == perform_lvalue_operation (op_type, obja_ptr))
+ return -1;
+ }
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [obja_ptr->data_type])
+#endif
+ SLang_free_object (obja_ptr);
+
+ return SLang_pop(obja_ptr);
+}
+
+static int
+set_struct_lvalue (SLBlock_Type *bc_blk)
+{
+ int type;
+ SLang_Class_Type *cl;
+ char *name;
+ int op;
+
+ if (-1 == (type = SLang_peek_at_stack ()))
+ return -1;
+
+ cl = _SLclass_get_class (type);
+ if ((cl->cl_sput == NULL)
+ || (cl->cl_sget == NULL))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "%s does not support structure access",
+ cl->cl_name);
+ SLdo_pop_n (2); /* object plus what was to be assigned */
+ return -1;
+ }
+ name = bc_blk->b.s_blk;
+ op = bc_blk->bc_sub_type;
+
+ if (op != _SLANG_BCST_ASSIGN)
+ {
+ /* We have something like (A.x += b) or (A.x++). In either case,
+ * we need A.x.
+ */
+ SLang_Object_Type obj_A;
+ SLang_Object_Type obj;
+
+ if (-1 == SLang_pop (&obj_A))
+ return -1;
+
+ if ((-1 == _SLpush_slang_obj (&obj_A))
+ || (-1 == cl->cl_sget ((unsigned char) type, name))
+ || (-1 == SLang_pop (&obj)))
+ {
+ SLang_free_object (&obj_A);
+ return -1;
+ }
+ /* Now the value of A.x is in obj. */
+ if (-1 == perform_lvalue_operation (op, &obj))
+ {
+ SLang_free_object (&obj);
+ SLang_free_object (&obj_A);
+ return -1;
+ }
+ SLang_free_object (&obj);
+ /* The result of the operation is now on the stack.
+ * Perform assignment */
+ if (-1 == SLang_push (&obj_A))
+ {
+ SLang_free_object (&obj_A);
+ return -1;
+ }
+ }
+
+ return (*cl->cl_sput) ((unsigned char) type, name);
+}
+
+static int make_unit_object (SLang_Object_Type *a, SLang_Object_Type *u)
+{
+ unsigned char type;
+
+ type = a->data_type;
+ if (type == SLANG_ARRAY_TYPE)
+ type = a->v.array_val->data_type;
+
+ u->data_type = type;
+ switch (type)
+ {
+ case SLANG_UCHAR_TYPE:
+ case SLANG_CHAR_TYPE:
+ u->v.char_val = 1;
+ break;
+
+ case SLANG_SHORT_TYPE:
+ case SLANG_USHORT_TYPE:
+ u->v.short_val = 1;
+ break;
+
+ case SLANG_LONG_TYPE:
+ case SLANG_ULONG_TYPE:
+ u->v.long_val = 1;
+ break;
+
+#if SLANG_HAS_FLOAT
+ case SLANG_FLOAT_TYPE:
+ u->v.float_val = 1;
+ break;
+
+ case SLANG_COMPLEX_TYPE:
+ u->data_type = SLANG_DOUBLE_TYPE;
+ case SLANG_DOUBLE_TYPE:
+ u->v.double_val = 1;
+ break;
+#endif
+ default:
+ u->data_type = SLANG_INT_TYPE;
+ u->v.int_val = 1;
+ }
+ return 0;
+}
+
+
+/* We want to convert 'A[i] op X' to 'A[i] = A[i] op X'. The code that
+ * has been generated is: X __args i A __aput-op
+ * where __aput-op represents this function. We need to generate:
+ * __args i A __eargs __aget X op __args i A __eargs __aput
+ * Here, __eargs implies a call to do_bc_call_direct_frame with either
+ * the aput or aget function. In addition, __args represents a call to
+ * SLang_start_arg_list. Of course, i represents a set of indices.
+ *
+ * Note: If op is an unary operation (e.g., ++ or --), then X will not
+ * b present an will have to be taken to be 1.
+ *
+ * Implementation note: For efficiency, calls to setup the frame, start
+ * arg list will be omitted and SLang_Num_Function_Args will be set.
+ * This is ugly but the alternative is much less efficient rendering these
+ * assignment operators useless. So, the plan is to roll the stack to get X,
+ * then duplicate the next N values, call __aget followed by op X, finally
+ * calling __aput. Hence, the sequence is:
+ *
+ * start: X i .. j A
+ * dupN: X i .. j A i .. j A
+ * __aget: X i .. j A Y
+ * roll: i .. j A Y X
+ * op: i .. j A Z
+ * roll: Z i .. j A
+ * __aput:
+ */
+static int
+set_array_lvalue (int op)
+{
+ SLang_Object_Type x, y;
+ int num_args, is_unary;
+
+ if (-1 == map_assignment_op_to_binary (op, &op, &is_unary))
+ return -1;
+
+ /* Grab the indices and the array. Do not start a new frame. */
+ if (-1 == SLang_end_arg_list ())
+ return -1;
+ num_args = Next_Function_Num_Args;
+ Next_Function_Num_Args = 0;
+
+ if (-1 == SLdup_n (num_args))
+ return -1;
+
+ SLang_Num_Function_Args = num_args;
+ if (-1 == _SLarray_aget ())
+ return -1;
+
+ if (-1 == SLang_pop (&y))
+ return -1;
+
+ if (is_unary == 0)
+ {
+ if ((-1 == SLroll_stack (-(num_args + 1)))
+ || (-1 == SLang_pop (&x)))
+ {
+ SLang_free_object (&y);
+ return -1;
+ }
+ }
+ else if (-1 == make_unit_object (&y, &x))
+ {
+ SLang_free_object (&y);
+ return -1;
+ }
+
+ if (-1 == do_binary_ab (op, &y, &x))
+ {
+ SLang_free_object (&y);
+ SLang_free_object (&x);
+ return -1;
+ }
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [y.data_type])
+#endif
+ SLang_free_object (&y);
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [x.data_type])
+#endif
+ SLang_free_object (&x);
+
+ if (-1 == SLroll_stack (num_args + 1))
+ return -1;
+
+ SLang_Num_Function_Args = num_args;
+ return _SLarray_aput ();
+}
+
+
+static int
+set_intrin_lvalue (SLBlock_Type *bc_blk)
+{
+ unsigned char op_type;
+ SLang_Object_Type obja;
+ SLang_Class_Type *cl;
+ SLang_Intrin_Var_Type *ivar;
+ VOID_STAR intrinsic_addr;
+ unsigned char intrinsic_type;
+
+ ivar = bc_blk->b.nt_ivar_blk;
+
+ intrinsic_type = ivar->type;
+ intrinsic_addr = ivar->addr;
+
+ op_type = bc_blk->bc_sub_type;
+
+ cl = _SLclass_get_class (intrinsic_type);
+
+ if (op_type != _SLANG_BCST_ASSIGN)
+ {
+ /* We want to get the current value into obja. This is the
+ * easiest way.
+ */
+ if ((-1 == (*cl->cl_push) (intrinsic_type, intrinsic_addr))
+ || (-1 == SLang_pop (&obja)))
+ return -1;
+
+ (void) perform_lvalue_operation (op_type, &obja);
+ SLang_free_object (&obja);
+
+ if (SLang_Error)
+ return -1;
+ }
+
+ return (*cl->cl_pop) (intrinsic_type, intrinsic_addr);
+}
+
+int _SLang_deref_assign (SLang_Ref_Type *ref)
+{
+ SLang_Object_Type *objp;
+ SLang_Name_Type *nt;
+ SLBlock_Type blk;
+
+ if (ref->is_global == 0)
+ {
+ objp = ref->v.local_obj;
+ if (objp > Local_Variable_Frame)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "Local variable reference is out of scope");
+ return -1;
+ }
+ return set_lvalue_obj (_SLANG_BCST_ASSIGN, objp);
+ }
+
+ nt = ref->v.nt;
+ switch (nt->name_type)
+ {
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ if (-1 == set_lvalue_obj (_SLANG_BCST_ASSIGN,
+ &((SLang_Global_Var_Type *)nt)->obj))
+ {
+ do_name_type_error (nt);
+ return -1;
+ }
+ break;
+
+ case SLANG_IVARIABLE:
+ blk.b.nt_blk = nt;
+ blk.bc_sub_type = _SLANG_BCST_ASSIGN;
+ if (-1 == set_intrin_lvalue (&blk))
+ {
+ do_name_type_error (nt);
+ return -1;
+ }
+ break;
+
+ case SLANG_LVARIABLE:
+ SLang_Error = SL_INTERNAL_ERROR;
+ /* set_intrin_lvalue (&blk); */
+ return -1;
+
+ case SLANG_RVARIABLE:
+ default:
+ SLang_verror (SL_READONLY_ERROR, "deref assignment to %s not allowed", nt->name);
+ return -1;
+ }
+
+ return 0;
+}
+
+static void set_deref_lvalue (SLBlock_Type *bc_blk)
+{
+ SLang_Object_Type *objp;
+ SLang_Ref_Type *ref;
+
+ switch (bc_blk->bc_sub_type)
+ {
+ case SLANG_LVARIABLE:
+ objp = (Local_Variable_Frame - bc_blk->b.i_blk);
+ break;
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ objp = &bc_blk->b.nt_gvar_blk->obj;
+ break;
+ default:
+ SLang_Error = SL_INTERNAL_ERROR;
+ return;
+ }
+
+ if (-1 == _SLpush_slang_obj (objp))
+ return;
+
+ if (-1 == SLang_pop_ref (&ref))
+ return;
+ (void) _SLang_deref_assign (ref);
+ SLang_free_ref (ref);
+}
+
+static int push_struct_field (char *name)
+{
+ int type;
+ SLang_Class_Type *cl;
+
+ if (-1 == (type = SLang_peek_at_stack ()))
+ return -1;
+
+ cl = _SLclass_get_class ((unsigned char) type);
+ if (cl->cl_sget == NULL)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "%s does not permit structure access",
+ cl->cl_name);
+ SLdo_pop_n (2);
+ return -1;
+ }
+
+ return (*cl->cl_sget) ((unsigned char) type, name);
+}
+
+static void trace_dump (char *format, char *name, SLang_Object_Type *objs, int n, int dir)
+{
+ unsigned int len;
+ char prefix [52];
+
+ len = Trace_Mode - 1;
+ if (len + 2 >= sizeof (prefix))
+ len = sizeof (prefix) - 2;
+
+ SLMEMSET (prefix, ' ', len);
+ prefix[len] = 0;
+
+ call_dump_routine (prefix);
+ call_dump_routine (format, name, n);
+
+ if (n > 0)
+ {
+ prefix[len] = ' ';
+ len++;
+ prefix[len] = 0;
+
+ _SLdump_objects (prefix, objs, n, dir);
+ }
+}
+
+/* Pop a data item from the stack and return a pointer to it.
+ * Strings are not freed from stack so use another routine to do it.
+ */
+static VOID_STAR pop_pointer (SLang_Object_Type *obj, unsigned char type)
+{
+#ifndef _SLANG_OPTIMIZE_FOR_SPEED
+ SLang_Class_Type *cl;
+#endif
+
+ SLang_Array_Type *at;
+
+ /* Arrays are special. Allow scalars to automatically convert to arrays.
+ */
+ if (type == SLANG_ARRAY_TYPE)
+ {
+ if (-1 == SLang_pop_array (&at, 1))
+ return NULL;
+ obj->data_type = SLANG_ARRAY_TYPE;
+ return obj->v.ptr_val = (VOID_STAR) at;
+ }
+
+ if (type == 0)
+ {
+ /* This happens when an intrinsic is declared without any information
+ * regarding parameter types.
+ */
+ if (-1 == SLang_pop (obj))
+ return NULL;
+ type = obj->data_type;
+ }
+ else if (-1 == _SLang_pop_object_of_type (type, obj, 0))
+ return NULL;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ type = _SLclass_Class_Type [type];
+#else
+ type = _SLclass_get_class (type)->cl_class_type;
+#endif
+
+ if (type == SLANG_CLASS_TYPE_SCALAR)
+ return (VOID_STAR) &obj->v;
+ else if (type == SLANG_CLASS_TYPE_MMT)
+ return SLang_object_from_mmt (obj->v.ref);
+ else
+ return obj->v.ptr_val;
+}
+
+/* This is ugly. Does anyone have a advice for a cleaner way of doing
+ * this??
+ */
+typedef void (*VF0_Type)(void);
+typedef void (*VF1_Type)(VOID_STAR);
+typedef void (*VF2_Type)(VOID_STAR, VOID_STAR);
+typedef void (*VF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
+typedef void (*VF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef void (*VF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef void (*VF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef void (*VF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef long (*LF0_Type)(void);
+typedef long (*LF1_Type)(VOID_STAR);
+typedef long (*LF2_Type)(VOID_STAR, VOID_STAR);
+typedef long (*LF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
+typedef long (*LF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef long (*LF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef long (*LF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef long (*LF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+#if SLANG_HAS_FLOAT
+typedef double (*FF0_Type)(void);
+typedef double (*FF1_Type)(VOID_STAR);
+typedef double (*FF2_Type)(VOID_STAR, VOID_STAR);
+typedef double (*FF3_Type)(VOID_STAR, VOID_STAR, VOID_STAR);
+typedef double (*FF4_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef double (*FF5_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef double (*FF6_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+typedef double (*FF7_Type)(VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR, VOID_STAR);
+#endif
+
+static int execute_intrinsic_fun (SLang_Intrin_Fun_Type *objf)
+{
+#if SLANG_HAS_FLOAT
+ double xf;
+#endif
+ VOID_STAR p[SLANG_MAX_INTRIN_ARGS];
+ SLang_Object_Type objs[SLANG_MAX_INTRIN_ARGS];
+ long ret;
+ unsigned char type;
+ unsigned int argc;
+ unsigned int i;
+ FVOID_STAR fptr;
+ unsigned char *arg_types;
+ int stk_depth;
+
+ fptr = objf->i_fun;
+ argc = objf->num_args;
+ type = objf->return_type;
+ arg_types = objf->arg_types;
+
+ if (argc > SLANG_MAX_INTRIN_ARGS)
+ {
+ SLang_verror(SL_APPLICATION_ERROR,
+ "Intrinsic function %s requires too many parameters", objf->name);
+ return -1;
+ }
+
+ if (-1 == _SL_increment_frame_pointer ())
+ return -1;
+
+ stk_depth = -1;
+ if (Trace_Mode && (_SLang_Trace > 0))
+ {
+ int nargs;
+
+ stk_depth = _SLstack_depth ();
+
+ nargs = SLang_Num_Function_Args;
+ if (nargs == 0)
+ nargs = (int)argc;
+
+ stk_depth -= nargs;
+
+ if (stk_depth >= 0)
+ trace_dump (">>%s (%d args)\n",
+ objf->name,
+ _SLStack_Pointer - nargs,
+ nargs,
+ 1);
+ }
+
+ i = argc;
+ while (i != 0)
+ {
+ i--;
+ if (NULL == (p[i] = pop_pointer (objs + i, arg_types[i])))
+ {
+ i++;
+ goto free_and_return;
+ }
+ }
+
+ ret = 0;
+#if SLANG_HAS_FLOAT
+ xf = 0.0;
+#endif
+
+ switch (argc)
+ {
+ case 0:
+ if (type == SLANG_VOID_TYPE) ((VF0_Type) fptr) ();
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF0_Type) fptr)();
+#endif
+ else ret = ((LF0_Type) fptr)();
+ break;
+
+ case 1:
+ if (type == SLANG_VOID_TYPE) ((VF1_Type) fptr)(p[0]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF1_Type) fptr)(p[0]);
+#endif
+ else ret = ((LF1_Type) fptr)(p[0]);
+ break;
+
+ case 2:
+ if (type == SLANG_VOID_TYPE) ((VF2_Type) fptr)(p[0], p[1]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF2_Type) fptr)(p[0], p[1]);
+#endif
+ else ret = ((LF2_Type) fptr)(p[0], p[1]);
+ break;
+
+ case 3:
+ if (type == SLANG_VOID_TYPE) ((VF3_Type) fptr)(p[0], p[1], p[2]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF3_Type) fptr)(p[0], p[1], p[2]);
+#endif
+ else ret = ((LF3_Type) fptr)(p[0], p[1], p[2]);
+ break;
+
+ case 4:
+ if (type == SLANG_VOID_TYPE) ((VF4_Type) fptr)(p[0], p[1], p[2], p[3]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF4_Type) fptr)(p[0], p[1], p[2], p[3]);
+#endif
+ else ret = ((LF4_Type) fptr)(p[0], p[1], p[2], p[3]);
+ break;
+
+ case 5:
+ if (type == SLANG_VOID_TYPE) ((VF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
+#endif
+ else ret = ((LF5_Type) fptr)(p[0], p[1], p[2], p[3], p[4]);
+ break;
+
+ case 6:
+ if (type == SLANG_VOID_TYPE) ((VF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
+#endif
+ else ret = ((LF6_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5]);
+ break;
+
+ case 7:
+ if (type == SLANG_VOID_TYPE) ((VF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
+#if SLANG_HAS_FLOAT
+ else if (type == SLANG_DOUBLE_TYPE) xf = ((FF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
+#endif
+ else ret = ((LF7_Type) fptr)(p[0], p[1], p[2], p[3], p[4], p[5], p[6]);
+ break;
+ }
+
+ switch (type)
+ {
+ case SLANG_VOID_TYPE:
+ break;
+
+#if SLANG_HAS_FLOAT
+ case SLANG_DOUBLE_TYPE:
+ (void) SLang_push_double (xf);
+ break;
+#endif
+ case SLANG_UINT_TYPE:
+ case SLANG_INT_TYPE: (void) SLclass_push_int_obj (type, (int) ret);
+ break;
+
+ case SLANG_CHAR_TYPE:
+ case SLANG_UCHAR_TYPE: (void) SLclass_push_char_obj (type, (char) ret);
+ break;
+
+ case SLANG_SHORT_TYPE:
+ case SLANG_USHORT_TYPE: (void) SLclass_push_short_obj (type, (short) ret);
+ break;
+
+ case SLANG_LONG_TYPE:
+ case SLANG_ULONG_TYPE: (void) SLclass_push_long_obj (type, ret);
+ break;
+
+ case SLANG_STRING_TYPE:
+ if (NULL == (char *)ret)
+ {
+ if (SLang_Error == 0) SLang_Error = SL_INTRINSIC_ERROR;
+ }
+ else (void) SLang_push_string ((char *)ret);
+ break;
+
+ default:
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Support for intrinsic functions returning %s is not provided",
+ SLclass_get_datatype_name (type));
+ }
+
+ if (stk_depth >= 0)
+ {
+ stk_depth = _SLstack_depth () - stk_depth;
+
+ trace_dump ("<<%s (returning %d values)\n",
+ objf->name,
+ _SLStack_Pointer - stk_depth,
+ stk_depth,
+ 1);
+ }
+
+ free_and_return:
+ while (i < argc)
+ {
+ SLang_free_object (objs + i);
+ i++;
+ }
+
+ return _SL_decrement_frame_pointer ();
+}
+
+static int inner_interp(register SLBlock_Type *);
+
+/* Switch_Obj_Ptr points to the NEXT available free switch object */
+static SLang_Object_Type Switch_Objects[SLANG_MAX_NESTED_SWITCH];
+static SLang_Object_Type *Switch_Obj_Ptr = Switch_Objects;
+static SLang_Object_Type *Switch_Obj_Max = Switch_Objects + SLANG_MAX_NESTED_SWITCH;
+
+static void
+lang_do_loops (unsigned char stype, SLBlock_Type *block, unsigned int num_blocks)
+{
+ int i, ctrl;
+ int first, last;
+ SLBlock_Type *blks[4];
+ char *loop_name;
+ SLang_Foreach_Context_Type *foreach_context;
+ SLang_Class_Type *cl;
+ int type;
+ unsigned int j;
+
+ j = 0;
+ for (i = 0; i < (int) num_blocks; i++)
+ {
+ if (block[i].bc_main_type != _SLANG_BC_BLOCK)
+ {
+ if (block[i].bc_main_type == _SLANG_BC_LINE_NUM)
+ continue;
+
+ SLang_verror (SL_SYNTAX_ERROR, "Bytecode is not a looping block");
+ return;
+ }
+ blks[j] = block[i].b.blk;
+ j++;
+ }
+
+ num_blocks = j;
+ block = blks[0];
+
+ switch (stype)
+ {
+ case _SLANG_BCST_FOREACH:
+ loop_name = "foreach";
+ if (num_blocks != 1)
+ goto wrong_num_blocks_error;
+
+ /* We should find Next_Function_Num_Args + 1 items on the stack.
+ * The first Next_Function_Num_Args items represent the arguments to
+ * to USING. The last item (deepest in stack) is the object to loop
+ * over. So, roll the stack up and grab it.
+ */
+ if ((-1 == SLroll_stack (-(Next_Function_Num_Args + 1)))
+ || (-1 == (type = SLang_peek_at_stack ())))
+ goto return_error;
+
+ cl = _SLclass_get_class ((unsigned char) type);
+ if ((cl->cl_foreach == NULL)
+ || (cl->cl_foreach_open == NULL)
+ || (cl->cl_foreach_close == NULL))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "%s does not permit foreach", cl->cl_name);
+ SLdo_pop_n (Next_Function_Num_Args + 1);
+ goto return_error;
+ }
+
+ if (NULL == (foreach_context = (*cl->cl_foreach_open) ((unsigned char)type, Next_Function_Num_Args)))
+ goto return_error;
+
+ while (1)
+ {
+ int status;
+
+ if (SLang_Error)
+ {
+ (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
+ goto return_error;
+ }
+
+ status = (*cl->cl_foreach) ((unsigned char) type, foreach_context);
+ if (status <= 0)
+ {
+ if (status == 0)
+ break;
+
+ (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
+ goto return_error;
+ }
+
+ inner_interp (block);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ }
+ (*cl->cl_foreach_close) ((unsigned char) type, foreach_context);
+ break;
+
+ case _SLANG_BCST_WHILE:
+ loop_name = "while";
+
+ if (num_blocks != 2)
+ goto wrong_num_blocks_error;
+
+ type = blks[1]->bc_main_type;
+ while (1)
+ {
+ if (SLang_Error)
+ goto return_error;
+
+ inner_interp (block);
+ if (Lang_Break) break;
+
+ if (-1 == pop_ctrl_integer (&ctrl))
+ goto return_error;
+
+ if (ctrl == 0) break;
+
+ if (type)
+ {
+ inner_interp (blks[1]);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ }
+ }
+ break;
+
+ case _SLANG_BCST_DOWHILE:
+ loop_name = "do...while";
+
+ if (num_blocks != 2)
+ goto wrong_num_blocks_error;
+
+ while (1)
+ {
+ if (SLang_Error)
+ goto return_error;
+
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ inner_interp (block);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ inner_interp (blks[1]);
+ if (-1 == pop_ctrl_integer (&ctrl))
+ goto return_error;
+
+ if (ctrl == 0) break;
+ }
+ break;
+
+ case _SLANG_BCST_CFOR:
+ loop_name = "for";
+
+ /* we need 4 blocks: first 3 control, the last is code */
+ if (num_blocks != 4) goto wrong_num_blocks_error;
+
+ inner_interp (block);
+ while (1)
+ {
+ if (SLang_Error)
+ goto return_error;
+
+ inner_interp(blks[1]); /* test */
+ if (-1 == pop_ctrl_integer (&ctrl))
+ goto return_error;
+
+ if (ctrl == 0) break;
+ inner_interp(blks[3]); /* code */
+ if (Lang_Break) break;
+ inner_interp(blks[2]); /* bump */
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ }
+ break;
+
+ case _SLANG_BCST_FOR:
+ loop_name = "_for";
+
+ if (num_blocks != 1)
+ goto wrong_num_blocks_error;
+
+ /* 3 elements: first, last, step */
+ if ((-1 == SLang_pop_integer (&ctrl))
+ || (-1 == SLang_pop_integer (&last))
+ || (-1 == SLang_pop_integer (&first)))
+ goto return_error;
+
+ i = first;
+ while (1)
+ {
+ /* It is ugly to have this test here but I do not know of a
+ * simple way to do this without using two while loops.
+ */
+ if (ctrl >= 0)
+ {
+ if (i > last) break;
+ }
+ else if (i < last) break;
+
+ if (SLang_Error) goto return_error;
+
+ SLclass_push_int_obj (SLANG_INT_TYPE, i);
+ inner_interp (block);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+
+ i += ctrl;
+ }
+ break;
+
+ case _SLANG_BCST_LOOP:
+ loop_name = "loop";
+ if (num_blocks != 1)
+ goto wrong_num_blocks_error;
+
+ if (-1 == SLang_pop_integer (&ctrl))
+ goto return_error;
+ while (ctrl > 0)
+ {
+ ctrl--;
+
+ if (SLang_Error)
+ goto return_error;
+
+ inner_interp (block);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ }
+ break;
+
+ case _SLANG_BCST_FOREVER:
+ loop_name = "forever";
+
+ if (num_blocks != 1)
+ goto wrong_num_blocks_error;
+
+ while (1)
+ {
+ if (SLang_Error)
+ goto return_error;
+
+ inner_interp (block);
+ if (Lang_Break) break;
+ Lang_Break_Condition = /* Lang_Continue = */ 0;
+ }
+ break;
+
+ default: SLang_verror(SL_INTERNAL_ERROR, "Unknown loop type");
+ return;
+ }
+ Lang_Break = /* Lang_Continue = */ 0;
+ Lang_Break_Condition = Lang_Return;
+ return;
+
+ wrong_num_blocks_error:
+ SLang_verror (SL_SYNTAX_ERROR, "Wrong number of blocks for '%s' construct", loop_name);
+
+ /* drop */
+ return_error:
+ do_traceback (loop_name, 0, NULL);
+}
+
+static void lang_do_and_orelse (unsigned char stype, SLBlock_Type *addr, SLBlock_Type *addr_max)
+{
+ int test = 0;
+ int is_or;
+
+ is_or = (stype == _SLANG_BCST_ORELSE);
+
+ while (addr <= addr_max)
+ {
+ if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
+ {
+ addr++;
+ continue;
+ }
+
+ inner_interp (addr->b.blk);
+ if (SLang_Error
+ || Lang_Break_Condition
+ || (-1 == pop_ctrl_integer (&test)))
+ return;
+
+ if (is_or == (test != 0))
+ break;
+
+ /* if (((stype == _SLANG_BCST_ANDELSE) && (test == 0))
+ * || ((stype == _SLANG_BCST_ORELSE) && test))
+ * break;
+ */
+
+ addr++;
+ }
+ SLclass_push_int_obj (SLANG_INT_TYPE, test);
+}
+
+static void do_else_if (SLBlock_Type *zero_block, SLBlock_Type *non_zero_block)
+{
+ int test;
+
+ if (-1 == pop_ctrl_integer (&test))
+ return;
+
+ if (test == 0)
+ non_zero_block = zero_block;
+
+ if (non_zero_block != NULL)
+ inner_interp (non_zero_block->b.blk);
+}
+
+int _SLang_trace_fun (char *f)
+{
+ if (NULL == (f = SLang_create_slstring (f)))
+ return -1;
+
+ SLang_free_slstring (Trace_Function);
+ Trace_Function = f;
+ _SLang_Trace = 1;
+ return 0;
+}
+
+int _SLdump_objects (char *prefix, SLang_Object_Type *x, unsigned int n, int dir)
+{
+ char *s;
+ SLang_Class_Type *cl;
+
+ while (n)
+ {
+ cl = _SLclass_get_class (x->data_type);
+
+ if (NULL == (s = _SLstringize_object (x)))
+ s = "??";
+
+ call_dump_routine ("%s[%s]:%s\n", prefix, cl->cl_name, s);
+
+ SLang_free_slstring (s);
+
+ x += dir;
+ n--;
+ }
+ return 0;
+}
+
+static SLBlock_Type *Exit_Block_Ptr;
+static SLBlock_Type *Global_User_Block[5];
+static SLBlock_Type **User_Block_Ptr = Global_User_Block;
+char *_SLang_Current_Function_Name = NULL;
+
+static int execute_slang_fun (_SLang_Function_Type *fun)
+{
+ register unsigned int i;
+ register SLang_Object_Type *frame, *lvf;
+ register unsigned int n_locals;
+ _SLBlock_Header_Type *header;
+ /* SLBlock_Type *val; */
+ SLBlock_Type *exit_block_save;
+ SLBlock_Type **user_block_save;
+ SLBlock_Type *user_blocks[5];
+ char *save_fname;
+
+ exit_block_save = Exit_Block_Ptr;
+ user_block_save = User_Block_Ptr;
+ User_Block_Ptr = user_blocks;
+ *(user_blocks) = NULL;
+ *(user_blocks + 1) = NULL;
+ *(user_blocks + 2) = NULL;
+ *(user_blocks + 3) = NULL;
+ *(user_blocks + 4) = NULL;
+
+ Exit_Block_Ptr = NULL;
+
+ save_fname = _SLang_Current_Function_Name;
+ _SLang_Current_Function_Name = fun->name;
+
+ _SL_increment_frame_pointer ();
+
+ /* need loaded? */
+ if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
+ {
+ header = NULL;
+ if (-1 == SLang_load_file(fun->v.autoload_filename))
+ goto the_return;
+
+ if (fun->nlocals == AUTOLOAD_NUM_LOCALS)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "%s: Function did not autoload",
+ _SLang_Current_Function_Name);
+ goto the_return;
+ }
+ }
+
+ n_locals = fun->nlocals;
+
+ /* let the error propagate through since it will do no harm
+ and allow us to restore stack. */
+
+ /* set new stack frame */
+ lvf = frame = Local_Variable_Frame;
+ i = n_locals;
+ if ((lvf + i) > Local_Variable_Stack + SLANG_MAX_LOCAL_STACK)
+ {
+ SLang_verror(SL_STACK_OVERFLOW, "%s: Local Variable Stack Overflow",
+ _SLang_Current_Function_Name);
+ goto the_return;
+ }
+
+ /* Make sure we do not allow this header to get destroyed by something
+ * like: define crash () { eval ("define crash ();") }
+ */
+ header = fun->v.header;
+ header->num_refs++;
+
+ while (i--)
+ {
+ lvf++;
+ lvf->data_type = SLANG_UNDEFINED_TYPE;
+ }
+ Local_Variable_Frame = lvf;
+
+ /* read values of function arguments */
+ i = fun->nargs;
+ while (i > 0)
+ {
+ i--;
+ (void) SLang_pop (Local_Variable_Frame - i);
+ }
+
+ if (SLang_Enter_Function != NULL) (*SLang_Enter_Function)(_SLang_Current_Function_Name);
+
+ if (_SLang_Trace)
+ {
+ int stack_depth;
+
+ stack_depth = _SLstack_depth ();
+
+ if ((Trace_Function != NULL)
+ && (0 == strcmp (Trace_Function, _SLang_Current_Function_Name))
+ && (Trace_Mode == 0))
+ Trace_Mode = 1;
+
+ if (Trace_Mode)
+ {
+ /* The local variable frame grows backwards */
+ trace_dump (">>%s (%d args)\n",
+ _SLang_Current_Function_Name,
+ Local_Variable_Frame,
+ (int) fun->nargs,
+ -1);
+ Trace_Mode++;
+ }
+
+ inner_interp (header->body);
+ Lang_Break_Condition = Lang_Return = Lang_Break = 0;
+ if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
+
+ if (Trace_Mode)
+ {
+ Trace_Mode--;
+ stack_depth = _SLstack_depth () - stack_depth;
+
+ trace_dump ("<<%s (returning %d values)\n",
+ _SLang_Current_Function_Name,
+ _SLStack_Pointer - stack_depth,
+ stack_depth,
+ 1);
+
+ if (Trace_Mode == 1)
+ Trace_Mode = 0;
+ }
+ }
+ else
+ {
+ inner_interp (header->body);
+ Lang_Break_Condition = Lang_Return = Lang_Break = 0;
+ if (Exit_Block_Ptr != NULL) inner_interp(Exit_Block_Ptr);
+ }
+
+ if (SLang_Exit_Function != NULL) (*SLang_Exit_Function)(_SLang_Current_Function_Name);
+
+ if (SLang_Error)
+ do_traceback(fun->name, n_locals,
+#if _SLANG_HAS_DEBUG_CODE
+ fun->file
+#else
+ NULL
+#endif
+ );
+
+ /* free local variables.... */
+ lvf = Local_Variable_Frame;
+ while (lvf > frame)
+ {
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR != _SLclass_Class_Type [lvf->data_type])
+#endif
+ SLang_free_object (lvf);
+ lvf--;
+ }
+ Local_Variable_Frame = lvf;
+
+ if (header->num_refs == 1)
+ free_function_header (header);
+ else
+ header->num_refs--;
+
+ the_return:
+
+ Lang_Break_Condition = Lang_Return = Lang_Break = 0;
+ Exit_Block_Ptr = exit_block_save;
+ User_Block_Ptr = user_block_save;
+ _SLang_Current_Function_Name = save_fname;
+ _SL_decrement_frame_pointer ();
+
+ if (SLang_Error)
+ return -1;
+
+ return 0;
+}
+
+static void do_traceback (char *name, unsigned int locals, char *file)
+{
+ char *s;
+ unsigned int i;
+ SLang_Object_Type *objp;
+ unsigned short stype;
+
+ /* FIXME: Priority=low
+ * I need to make this configurable!!! That is, let the
+ * application decide whether or not a usage error should result in a
+ * traceback.
+ */
+ if (SLang_Error == SL_USAGE_ERROR)
+ return;
+
+ if (SLang_Traceback == 0)
+ return;
+
+ call_dump_routine ("S-Lang Traceback: %s\n", name);
+ if (SLang_Traceback < 0)
+ return;
+
+ if (file != NULL)
+ call_dump_routine ("File: %s\n", file);
+
+ if (locals == 0)
+ return;
+
+ call_dump_routine (" Local Variables:\n");
+
+ for (i = 0; i < locals; i++)
+ {
+ SLang_Class_Type *cl;
+ char *class_name;
+
+ objp = Local_Variable_Frame - i;
+ stype = objp->data_type;
+
+ s = _SLstringize_object (objp);
+ cl = _SLclass_get_class (stype);
+ class_name = cl->cl_name;
+
+ call_dump_routine ("\t$%d: Type: %s,\tValue:\t", i, class_name);
+
+ if (s == NULL) call_dump_routine("??\n");
+ else
+ {
+ char *q = "";
+#ifndef HAVE_VSNPRINTF
+ char buf[256];
+ if (strlen (s) >= sizeof (buf))
+ {
+ strncpy (buf, s, sizeof(buf));
+ s = buf;
+ s[sizeof(buf) - 1] = 0;
+ }
+#endif
+ if (SLANG_STRING_TYPE == stype) q = "\"";
+ call_dump_routine ("%s%s%s\n", q, s, q);
+ }
+ }
+}
+
+static void do_app_unary (SLang_App_Unary_Type *nt)
+{
+ if (-1 == do_unary (nt->unary_op, nt->name_type))
+ do_traceback (nt->name, 0, NULL);
+}
+
+static int inner_interp_nametype (SLang_Name_Type *nt)
+{
+ SLBlock_Type bc_blks[2];
+
+ bc_blks[0].b.nt_blk = nt;
+ bc_blks[0].bc_main_type = nt->name_type;
+ bc_blks[1].bc_main_type = 0;
+ return inner_interp(bc_blks);
+}
+
+int _SLang_dereference_ref (SLang_Ref_Type *ref)
+{
+ if (ref == NULL)
+ {
+ SLang_Error = SL_INTERNAL_ERROR;
+ return -1;
+ }
+
+ if (ref->is_global == 0)
+ {
+ SLang_Object_Type *obj = ref->v.local_obj;
+ if (obj > Local_Variable_Frame)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
+ return -1;
+ }
+ return _SLpush_slang_obj (ref->v.local_obj);
+ }
+
+ (void) inner_interp_nametype (ref->v.nt);
+ return 0;
+}
+
+int _SLang_is_ref_initialized (SLang_Ref_Type *ref)
+{
+ unsigned char type;
+
+ if (ref == NULL)
+ {
+ SLang_Error = SL_INTERNAL_ERROR;
+ return -1;
+ }
+
+ if (ref->is_global == 0)
+ {
+ SLang_Object_Type *obj = ref->v.local_obj;
+ if (obj > Local_Variable_Frame)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
+ return -1;
+ }
+ type = ref->v.local_obj->data_type;
+ }
+ else
+ {
+ SLang_Name_Type *nt = ref->v.nt;
+ if ((nt->name_type != SLANG_GVARIABLE)
+ && (nt->name_type != SLANG_PVARIABLE))
+ return 1;
+ type = ((SLang_Global_Var_Type *)nt)->obj.data_type;
+ }
+ return type != SLANG_UNDEFINED_TYPE;
+}
+
+int _SLang_uninitialize_ref (SLang_Ref_Type *ref)
+{
+ SLang_Object_Type *obj;
+
+ if (ref == NULL)
+ {
+ SLang_Error = SL_INTERNAL_ERROR;
+ return -1;
+ }
+
+ if (ref->is_global == 0)
+ {
+ obj = ref->v.local_obj;
+ if (obj > Local_Variable_Frame)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "Local variable deref is out of scope");
+ return -1;
+ }
+ obj = ref->v.local_obj;
+ }
+ else
+ {
+ SLang_Name_Type *nt = ref->v.nt;
+ if ((nt->name_type != SLANG_GVARIABLE)
+ && (nt->name_type != SLANG_PVARIABLE))
+ return -1;
+ obj = &((SLang_Global_Var_Type *)nt)->obj;
+ }
+ SLang_free_object (obj);
+ obj->data_type = SLANG_UNDEFINED_TYPE;
+ obj->v.ptr_val = NULL;
+ return 0;
+}
+
+void (*SLang_Interrupt)(void);
+static int Last_Error;
+void (*SLang_User_Clear_Error)(void);
+void _SLang_clear_error (void)
+{
+ if (Last_Error <= 0)
+ {
+ Last_Error = 0;
+ return;
+ }
+ Last_Error--;
+ if (SLang_User_Clear_Error != NULL) (*SLang_User_Clear_Error)();
+}
+
+int _SLpush_slang_obj (SLang_Object_Type *obj)
+{
+ unsigned char subtype;
+ SLang_Class_Type *cl;
+
+ if (obj == NULL) return SLang_push_null ();
+
+ subtype = obj->data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
+ return SLang_push (obj);
+#endif
+
+ cl = _SLclass_get_class (subtype);
+ return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
+}
+
+_INLINE_
+static int push_local_variable (int i)
+{
+ SLang_Class_Type *cl;
+ SLang_Object_Type *obj;
+ unsigned char subtype;
+
+ obj = Local_Variable_Frame - i;
+ subtype = obj->data_type;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[subtype])
+ return SLang_push (obj);
+ if (subtype == SLANG_STRING_TYPE)
+ return _SLang_dup_and_push_slstring (obj->v.s_val);
+#endif
+
+ cl = _SLclass_get_class (subtype);
+ return (*cl->cl_push) (subtype, (VOID_STAR) &obj->v);
+}
+
+static int push_intrinsic_variable (SLang_Intrin_Var_Type *ivar)
+{
+ SLang_Class_Type *cl;
+ unsigned char stype;
+
+ stype = ivar->type;
+ cl = _SLclass_get_class (stype);
+
+ if (-1 == (*cl->cl_push_intrinsic) (stype, ivar->addr))
+ {
+ do_name_type_error ((SLang_Name_Type *) ivar);
+ return -1;
+ }
+ return 0;
+}
+
+static int dereference_object (void)
+{
+ SLang_Object_Type obj;
+ SLang_Class_Type *cl;
+ unsigned char type;
+ int ret;
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ type = obj.data_type;
+
+ cl = _SLclass_get_class (type);
+ ret = (*cl->cl_dereference)(type, (VOID_STAR) &obj.v);
+
+ SLang_free_object (&obj);
+ return ret;
+}
+
+static int case_function (void)
+{
+ unsigned char type;
+ SLang_Object_Type obj;
+ SLang_Object_Type *swobjptr;
+
+ swobjptr = Switch_Obj_Ptr - 1;
+
+ if ((swobjptr < Switch_Objects)
+ || (0 == (type = swobjptr->data_type)))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case' keyword");
+ return -1;
+ }
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ if (obj.data_type != type)
+ {
+ SLang_Class_Type *a_cl, *b_cl;
+
+ a_cl = _SLclass_get_class (obj.data_type);
+ b_cl = _SLclass_get_class (type);
+
+ if (NULL == _SLclass_get_binary_fun (SLANG_EQ, a_cl, b_cl, &a_cl, 0))
+ {
+ (void) SLclass_push_int_obj (SLANG_INT_TYPE, 0);
+ SLang_free_object (&obj);
+ return 0;
+ }
+ }
+
+ (void) do_binary_ab (SLANG_EQ, swobjptr, &obj);
+ SLang_free_object (&obj);
+ return 0;
+}
+
+static void tmp_variable_function (SLBlock_Type *addr)
+{
+ SLang_Object_Type *obj;
+
+ switch (addr->bc_sub_type)
+ {
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ obj = &addr->b.nt_gvar_blk->obj;
+ break;
+
+ case SLANG_LVARIABLE:
+ obj = Local_Variable_Frame - addr->b.i_blk;
+ break;
+
+ default:
+ SLang_Error = SL_INTERNAL_ERROR;
+ return;
+ }
+
+ /* There is no need to go through higher level routines since we are
+ * not creating or destroying extra copies.
+ */
+ if (-1 == SLang_push (obj))
+ return;
+
+ obj->data_type = SLANG_UNDEFINED_TYPE;
+ obj->v.ptr_val = NULL;
+}
+
+
+static int
+do_inner_interp_error (SLBlock_Type *err_block,
+ SLBlock_Type *addr_start,
+ SLBlock_Type *addr)
+{
+ int save_err, slerr;
+
+ /* Someday I can use the these variable to provide extra information
+ * about what went wrong.
+ */
+ (void) addr_start;
+ (void) addr;
+
+ if (err_block == NULL)
+ goto return_error;
+
+ if (SLang_Error < 0) /* errors less than 0 are severe */
+ goto return_error;
+
+ save_err = Last_Error++;
+ slerr = SLang_Error;
+ SLang_Error = 0;
+ inner_interp (err_block->b.blk);
+
+ if (Last_Error <= save_err)
+ {
+ /* Caught error and cleared it */
+ Last_Error = save_err;
+ if ((Lang_Break_Condition == 0)
+ /* An error may have cleared the error and then caused the
+ * function to return. We will allow that but let's not allow
+ * 'break' nor 'continue' statements until later.
+ */
+ || Lang_Return)
+ return 0;
+
+ /* drop--- either a break or continue was called */
+ }
+
+ Last_Error = save_err;
+ SLang_Error = slerr;
+
+ return_error:
+#if _SLANG_HAS_DEBUG_CODE
+ while (addr >= addr_start)
+ {
+ if (addr->bc_main_type == _SLANG_BC_LINE_NUM)
+ {
+ char buf[256];
+ sprintf (buf, "(Error occurred on line %lu)", addr->b.l_blk);
+ do_traceback (buf, 0, NULL);
+ break;
+ }
+ /* Special hack for 16 bit systems to prevent pointer wrapping. */
+#if defined(__16_BIT_SYSTEM__)
+ if (addr == addr_start)
+ break;
+#endif
+ addr--;
+ }
+#endif
+ return -1;
+}
+
+
+#define GATHER_STATISTICS 0
+#if GATHER_STATISTICS
+static unsigned int Bytecodes[0xFFFF];
+
+static void print_stats (void)
+{
+ unsigned int i;
+ unsigned long total;
+ FILE *fp = fopen ("stats.txt", "w");
+ if (fp == NULL)
+ return;
+
+ total = 0;
+ for (i = 0; i < 0xFFFF; i++)
+ total += Bytecodes[i];
+
+ if (total == 0)
+ total = 1;
+
+ for (i = 0; i < 0xFFFF; i++)
+ {
+ if (Bytecodes[i])
+ fprintf (fp, "0x%04X %9u %e\n", i, Bytecodes[i], Bytecodes[i]/(double) total);
+ }
+ fclose (fp);
+}
+
+static void add_to_statistics (SLBlock_Type *b)
+{
+ unsigned short x, y;
+
+ x = b->bc_main_type;
+ if (x == 0)
+ {
+ Bytecodes[0] += 1;
+ return;
+ }
+ b++;
+ y = b->bc_main_type;
+
+ Bytecodes[(x << 8) | y] += 1;
+}
+
+#endif
+
+/* inner interpreter */
+/* The return value from this function is only meaningful when it is used
+ * to process blocks for the switch statement. If it returns 0, the calling
+ * routine should pass the next block to it. Otherwise it will
+ * return non-zero, with or without error.
+ */
+static int inner_interp (SLBlock_Type *addr_start)
+{
+ SLBlock_Type *block, *err_block, *addr;
+#if GATHER_STATISTICS
+ static int inited = 0;
+
+ if (inited == 0)
+ {
+ (void) SLang_add_cleanup_function (print_stats);
+ inited = 1;
+ }
+#endif
+
+ /* for systems that have no real interrupt facility (e.g. go32 on dos) */
+ if (SLang_Interrupt != NULL) (*SLang_Interrupt)();
+
+ block = err_block = NULL;
+ addr = addr_start;
+
+#if GATHER_STATISTICS
+ add_to_statistics (addr);
+#endif
+ while (1)
+ {
+ switch (addr->bc_main_type)
+ {
+ case 0:
+ return 1;
+ case _SLANG_BC_LVARIABLE:
+ push_local_variable (addr->b.i_blk);
+ break;
+ case _SLANG_BC_GVARIABLE:
+ if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
+ do_name_type_error (addr->b.nt_blk);
+ break;
+
+ case _SLANG_BC_IVARIABLE:
+ case _SLANG_BC_RVARIABLE:
+ push_intrinsic_variable (addr->b.nt_ivar_blk);
+ break;
+
+ case _SLANG_BC_INTRINSIC:
+ execute_intrinsic_fun (addr->b.nt_ifun_blk);
+ if (SLang_Error)
+ do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
+ break;
+
+ case _SLANG_BC_FUNCTION:
+ execute_slang_fun (addr->b.nt_fun_blk);
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_MATH_UNARY:
+ case _SLANG_BC_APP_UNARY:
+ /* Make sure we treat these like function calls since the
+ * parser took sin(x) to be a function call.
+ */
+ if (0 == _SL_increment_frame_pointer ())
+ {
+ do_app_unary (addr->b.nt_unary_blk);
+ (void) _SL_decrement_frame_pointer ();
+ }
+ break;
+
+ case _SLANG_BC_ICONST:
+ SLclass_push_int_obj (SLANG_INT_TYPE, addr->b.iconst_blk->i);
+ break;
+
+#if SLANG_HAS_FLOAT
+ case _SLANG_BC_DCONST:
+ SLang_push_double (addr->b.dconst_blk->d);
+ break;
+#endif
+
+ case _SLANG_BC_PVARIABLE:
+ if (-1 == _SLpush_slang_obj (&addr->b.nt_gvar_blk->obj))
+ do_name_type_error (addr->b.nt_blk);
+ break;
+
+ case _SLANG_BC_PFUNCTION:
+ execute_slang_fun (addr->b.nt_fun_blk);
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_BINARY:
+ do_binary (addr->b.i_blk);
+ break;
+
+ case _SLANG_BC_LITERAL:
+#if !_SLANG_OPTIMIZE_FOR_SPEED
+ case _SLANG_BC_LITERAL_INT:
+ case _SLANG_BC_LITERAL_STR:
+#endif
+ {
+ SLang_Class_Type *cl = _SLclass_get_class (addr->bc_sub_type);
+ (*cl->cl_push_literal) (addr->bc_sub_type, (VOID_STAR) &addr->b.ptr_blk);
+ }
+ break;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ case _SLANG_BC_LITERAL_INT:
+ SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
+ break;
+
+ case _SLANG_BC_LITERAL_STR:
+ _SLang_dup_and_push_slstring (addr->b.s_blk);
+ break;
+#endif
+ case _SLANG_BC_BLOCK:
+ switch (addr->bc_sub_type)
+ {
+ case _SLANG_BCST_ERROR_BLOCK:
+ err_block = addr;
+ break;
+
+ case _SLANG_BCST_EXIT_BLOCK:
+ Exit_Block_Ptr = addr->b.blk;
+ break;
+
+ case _SLANG_BCST_USER_BLOCK0:
+ case _SLANG_BCST_USER_BLOCK1:
+ case _SLANG_BCST_USER_BLOCK2:
+ case _SLANG_BCST_USER_BLOCK3:
+ case _SLANG_BCST_USER_BLOCK4:
+ User_Block_Ptr[addr->bc_sub_type - _SLANG_BCST_USER_BLOCK0] = addr->b.blk;
+ break;
+
+ case _SLANG_BCST_LOOP:
+ case _SLANG_BCST_WHILE:
+ case _SLANG_BCST_FOR:
+ case _SLANG_BCST_FOREVER:
+ case _SLANG_BCST_CFOR:
+ case _SLANG_BCST_DOWHILE:
+ case _SLANG_BCST_FOREACH:
+ if (block == NULL) block = addr;
+ lang_do_loops(addr->bc_sub_type, block, 1 + (unsigned int) (addr - block));
+ block = NULL;
+ break;
+
+ case _SLANG_BCST_IFNOT:
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ {
+ int i;
+
+ if ((0 == pop_ctrl_integer (&i)) && (i == 0))
+ inner_interp (addr->b.blk);
+ }
+#else
+ do_else_if (addr, NULL);
+#endif
+ break;
+
+ case _SLANG_BCST_IF:
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ {
+ int i;
+
+ if ((0 == pop_ctrl_integer (&i)) && i)
+ inner_interp (addr->b.blk);
+ }
+#else
+ do_else_if (NULL, addr);
+#endif
+ break;
+
+ case _SLANG_BCST_NOTELSE:
+ do_else_if (block, addr);
+ block = NULL;
+ break;
+
+ case _SLANG_BCST_ELSE:
+ do_else_if (addr, block);
+ block = NULL;
+ break;
+
+ case _SLANG_BCST_SWITCH:
+ if (Switch_Obj_Ptr == Switch_Obj_Max)
+ {
+ SLang_doerror("switch nesting too deep");
+ break;
+ }
+ (void) SLang_pop (Switch_Obj_Ptr);
+ Switch_Obj_Ptr++;
+
+ if (block == NULL) block = addr;
+ while ((SLang_Error == 0)
+ && (block <= addr)
+ && (Lang_Break_Condition == 0)
+ && (0 == inner_interp (block->b.blk)))
+ block++;
+ Switch_Obj_Ptr--;
+ SLang_free_object (Switch_Obj_Ptr);
+ Switch_Obj_Ptr->data_type = 0;
+ block = NULL;
+ break;
+
+ case _SLANG_BCST_ANDELSE:
+ case _SLANG_BCST_ORELSE:
+ if (block == NULL) block = addr;
+ lang_do_and_orelse (addr->bc_sub_type, block, addr);
+ block = NULL;
+ break;
+
+ default:
+ if (block == NULL) block = addr;
+ break;
+ }
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_RETURN:
+ Lang_Break_Condition = Lang_Return = Lang_Break = 1; return 1;
+ case _SLANG_BC_BREAK:
+ Lang_Break_Condition = Lang_Break = 1; return 1;
+ case _SLANG_BC_CONTINUE:
+ Lang_Break_Condition = /* Lang_Continue = */ 1; return 1;
+
+ case _SLANG_BC_EXCH:
+ (void) SLreverse_stack (2);
+ break;
+
+ case _SLANG_BC_LABEL:
+ {
+ int test;
+ if ((0 == SLang_pop_integer (&test))
+ && (test == 0))
+ return 0;
+ }
+ break;
+
+ case _SLANG_BC_LOBJPTR:
+ (void)_SLang_push_ref (0, (VOID_STAR)(Local_Variable_Frame - addr->b.i_blk));
+ break;
+
+ case _SLANG_BC_GOBJPTR:
+ (void)_SLang_push_ref (1, (VOID_STAR)addr->b.nt_blk);
+ break;
+
+ case _SLANG_BC_X_ERROR:
+ if (err_block != NULL)
+ {
+ inner_interp(err_block->b.blk);
+ if (SLang_Error) err_block = NULL;
+ }
+ else SLang_verror(SL_SYNTAX_ERROR, "No ERROR_BLOCK");
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_X_USER0:
+ case _SLANG_BC_X_USER1:
+ case _SLANG_BC_X_USER2:
+ case _SLANG_BC_X_USER3:
+ case _SLANG_BC_X_USER4:
+ if (User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0] != NULL)
+ {
+ inner_interp(User_Block_Ptr[addr->bc_main_type - _SLANG_BC_X_USER0]);
+ }
+ else SLang_verror(SL_SYNTAX_ERROR, "No block for X_USERBLOCK");
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_CALL_DIRECT:
+ (*addr->b.call_function) ();
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_FRAME:
+ do_bc_call_direct_frame (addr->b.call_function);
+ break;
+
+ case _SLANG_BC_UNARY:
+ do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
+ break;
+
+ case _SLANG_BC_UNARY_FUNC:
+ /* Make sure we treat these like function calls since the
+ * parser took abs(x) to be a function call.
+ */
+ if (0 == _SL_increment_frame_pointer ())
+ {
+ do_unary (addr->b.i_blk, _SLANG_BC_UNARY);
+ (void) _SL_decrement_frame_pointer ();
+ }
+ break;
+
+ case _SLANG_BC_DEREF_ASSIGN:
+ set_deref_lvalue (addr);
+ break;
+ case _SLANG_BC_SET_LOCAL_LVALUE:
+ set_lvalue_obj (addr->bc_sub_type, Local_Variable_Frame - addr->b.i_blk);
+ break;
+ case _SLANG_BC_SET_GLOBAL_LVALUE:
+ if (-1 == set_lvalue_obj (addr->bc_sub_type, &addr->b.nt_gvar_blk->obj))
+ do_name_type_error (addr->b.nt_blk);
+ break;
+ case _SLANG_BC_SET_INTRIN_LVALUE:
+ set_intrin_lvalue (addr);
+ break;
+ case _SLANG_BC_SET_STRUCT_LVALUE:
+ set_struct_lvalue (addr);
+ break;
+
+ case _SLANG_BC_FIELD:
+ (void) push_struct_field (addr->b.s_blk);
+ break;
+
+ case _SLANG_BC_SET_ARRAY_LVALUE:
+ set_array_lvalue (addr->bc_sub_type);
+ break;
+
+#if _SLANG_HAS_DEBUG_CODE
+ case _SLANG_BC_LINE_NUM:
+ break;
+#endif
+
+ case _SLANG_BC_TMP:
+ tmp_variable_function (addr);
+ break;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ case _SLANG_BC_LVARIABLE_AGET:
+ if (0 == push_local_variable (addr->b.i_blk))
+ do_bc_call_direct_frame (_SLarray_aget);
+ break;
+
+ case _SLANG_BC_LVARIABLE_APUT:
+ if (0 == push_local_variable (addr->b.i_blk))
+ do_bc_call_direct_frame (_SLarray_aput);
+ break;
+ case _SLANG_BC_INTEGER_PLUS:
+ if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
+ do_binary (SLANG_PLUS);
+ break;
+
+ case _SLANG_BC_INTEGER_MINUS:
+ if (0 == SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk))
+ do_binary (SLANG_MINUS);
+ break;
+#endif
+#if 0
+ case _SLANG_BC_ARG_LVARIABLE:
+ (void) SLang_start_arg_list ();
+ push_local_variable (addr->b.i_blk);
+ break;
+#endif
+ case _SLANG_BC_EARG_LVARIABLE:
+ push_local_variable (addr->b.i_blk);
+ (void) SLang_end_arg_list ();
+ break;
+
+#if USE_COMBINED_BYTECODES
+ case _SLANG_BC_CALL_DIRECT_INTRINSIC:
+ (*addr->b.call_function) ();
+ addr++;
+ execute_intrinsic_fun (addr->b.nt_ifun_blk);
+ if (SLang_Error)
+ do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
+ break;
+
+ case _SLANG_BC_INTRINSIC_CALL_DIRECT:
+ execute_intrinsic_fun (addr->b.nt_ifun_blk);
+ if (SLang_Error)
+ {
+ do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
+ break;
+ }
+ addr++;
+ (*addr->b.call_function) ();
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_LSTR:
+ (*addr->b.call_function) ();
+ addr++;
+ _SLang_dup_and_push_slstring (addr->b.s_blk);
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_SLFUN:
+ (*addr->b.call_function) ();
+ addr++;
+ execute_slang_fun (addr->b.nt_fun_blk);
+ if (Lang_Break_Condition) goto handle_break_condition;
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_INTRSTOP:
+ (*addr->b.call_function) ();
+ addr++;
+ /* drop */
+ case _SLANG_BC_INTRINSIC_STOP:
+ execute_intrinsic_fun (addr->b.nt_ifun_blk);
+ if (SLang_Error == 0)
+ return 1;
+ do_traceback(addr->b.nt_ifun_blk->name, 0, NULL);
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_EARG_LVAR:
+ (*addr->b.call_function) ();
+ addr++;
+ push_local_variable (addr->b.i_blk);
+ (void) SLang_end_arg_list ();
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_LINT:
+ (*addr->b.call_function) ();
+ addr++;
+ SLclass_push_int_obj (addr->bc_sub_type, (int) addr->b.l_blk);
+ break;
+
+ case _SLANG_BC_CALL_DIRECT_LVAR:
+ (*addr->b.call_function) ();
+ addr++;
+ push_local_variable (addr->b.i_blk);
+ break;
+#endif /* USE_COMBINED_BYTECODES */
+
+ default:
+ SLang_verror (SL_INTERNAL_ERROR, "Byte-Code 0x%X is not valid", addr->bc_main_type);
+ }
+
+ /* Someday I plan to add a 'signal' intrinsic function. Then when a
+ * signal is caught, a variable will be set to one and that value of
+ * that variable will need to be monitored here, e.g.,
+ * if (Handle_Signal) handle_signal ();
+ * It would be nice to check only one variable instead of Handle_Signal
+ * and SLang_Error. Perhaps I should phase out SLang_Error = xxx
+ * and used something like: SLang_set_error (code); Then, I could
+ * use:
+ * if (Handle_Condition)
+ * {
+ * Handle_Condition = 0;
+ * if (SLang_Error) ....
+ * else if (Handle_Signal) handle_signal ();
+ * else....
+ * }
+ */
+ if (SLang_Error)
+ {
+ if (-1 == do_inner_interp_error (err_block, addr_start, addr))
+ return 1;
+ if (SLang_Error)
+ return 1;
+
+ /* Otherwise, error cleared. Continue onto next bytecode.
+ * Someday I need to add something to indicate where the
+ * next statement begins since continuing on the next
+ * bytecode is not really what is desired.
+ */
+ if (Lang_Break_Condition) goto handle_break_condition;
+ }
+ addr++;
+ }
+
+ handle_break_condition:
+ /* Get here if Lang_Break_Condition != 0, which implies that either
+ * Lang_Return, Lang_Break, or Lang_Continue is non zero
+ */
+ if (Lang_Return)
+ Lang_Break = 1;
+
+ return 1;
+}
+
+/*}}}*/
+
+/* The functions below this point are used to implement the parsed token
+ * to byte-compiled code.
+ */
+/* static SLang_Name_Type **Static_Hash_Table; */
+
+static SLang_Name_Type **Locals_Hash_Table;
+static int Local_Variable_Number;
+static unsigned int Function_Args_Number;
+int _SLang_Auto_Declare_Globals = 0;
+int (*SLang_Auto_Declare_Var_Hook) (char *);
+
+static SLang_NameSpace_Type *This_Static_NameSpace;
+static SLang_NameSpace_Type *Global_NameSpace;
+
+#if _SLANG_HAS_DEBUG_CODE
+static char *This_Compile_Filename;
+#endif
+static SLBlock_Type SLShort_Blocks[6];
+/* These are initialized in add_table below. I cannot init a Union!! */
+
+static int Lang_Defining_Function;
+static void (*Default_Variable_Mode) (_SLang_Token_Type *);
+static void (*Default_Define_Function) (char *, unsigned long);
+
+static int push_compile_context (char *);
+static int pop_compile_context (void);
+
+typedef struct
+{
+ int block_type;
+ SLBlock_Type *block; /* beginning of block definition */
+ SLBlock_Type *block_ptr; /* current location */
+ SLBlock_Type *block_max; /* end of definition */
+ SLang_NameSpace_Type *static_namespace;
+}
+Block_Context_Type;
+
+static Block_Context_Type Block_Context_Stack [SLANG_MAX_BLOCK_STACK_LEN];
+static unsigned int Block_Context_Stack_Len;
+
+static SLBlock_Type *Compile_ByteCode_Ptr;
+static SLBlock_Type *This_Compile_Block;
+static SLBlock_Type *This_Compile_Block_Max;
+static int This_Compile_Block_Type;
+#define COMPILE_BLOCK_TYPE_FUNCTION 1
+#define COMPILE_BLOCK_TYPE_BLOCK 2
+#define COMPILE_BLOCK_TYPE_TOP_LEVEL 3
+
+/* If it returns 0, DO NOT FREE p */
+static int lang_free_branch (SLBlock_Type *p)
+{
+ /* Note: we look at 0,2,4, since these blocks are 0 terminated */
+ if ((p == SLShort_Blocks)
+ || (p == SLShort_Blocks + 2)
+ || (p == SLShort_Blocks + 4)
+ )
+ return 0;
+
+ while (1)
+ {
+ SLang_Class_Type *cl;
+
+ switch (p->bc_main_type)
+ {
+ case _SLANG_BC_BLOCK:
+ if (lang_free_branch(p->b.blk))
+ SLfree((char *)p->b.blk);
+ break;
+
+ case _SLANG_BC_LITERAL:
+ case _SLANG_BC_LITERAL_STR:
+ /* No user types should be here. */
+ cl = _SLclass_get_class (p->bc_sub_type);
+ (*cl->cl_byte_code_destroy) (p->bc_sub_type, (VOID_STAR) &p->b.ptr_blk);
+ break;
+
+ case _SLANG_BC_FIELD:
+ case _SLANG_BC_SET_STRUCT_LVALUE:
+ SLang_free_slstring (p->b.s_blk);
+ break;
+
+ default:
+ break;
+
+ case 0:
+ return 1;
+ }
+ p++;
+ }
+}
+
+static void free_function_header (_SLBlock_Header_Type *h)
+{
+ if (h->num_refs > 1)
+ {
+ h->num_refs--;
+ return;
+ }
+
+ if (h->body != NULL)
+ {
+ if (lang_free_branch (h->body))
+ SLfree ((char *) h->body);
+ }
+
+ SLfree ((char *) h);
+}
+
+static int push_block_context (int type)
+{
+ Block_Context_Type *c;
+ unsigned int num;
+ SLBlock_Type *b;
+
+ if (Block_Context_Stack_Len == SLANG_MAX_BLOCK_STACK_LEN)
+ {
+ SLang_verror (SL_STACK_OVERFLOW, "Block stack overflow");
+ return -1;
+ }
+
+ num = 5; /* 40 bytes */
+ if (NULL == (b = (SLBlock_Type *) SLcalloc (num, sizeof (SLBlock_Type))))
+ return -1;
+
+ c = Block_Context_Stack + Block_Context_Stack_Len;
+ c->block = This_Compile_Block;
+ c->block_ptr = Compile_ByteCode_Ptr;
+ c->block_max = This_Compile_Block_Max;
+ c->block_type = This_Compile_Block_Type;
+ c->static_namespace = This_Static_NameSpace;
+
+ Compile_ByteCode_Ptr = This_Compile_Block = b;
+ This_Compile_Block_Max = b + num;
+ This_Compile_Block_Type = type;
+
+ Block_Context_Stack_Len += 1;
+ return 0;
+}
+
+static int pop_block_context (void)
+{
+ Block_Context_Type *c;
+
+ if (Block_Context_Stack_Len == 0)
+ return -1;
+
+ Block_Context_Stack_Len -= 1;
+ c = Block_Context_Stack + Block_Context_Stack_Len;
+
+ This_Compile_Block = c->block;
+ This_Compile_Block_Max = c->block_max;
+ This_Compile_Block_Type = c->block_type;
+ Compile_ByteCode_Ptr = c->block_ptr;
+ This_Static_NameSpace = c->static_namespace;
+
+ return 0;
+}
+
+int _SLcompile_push_context (SLang_Load_Type *load_object)
+{
+ if (-1 == push_compile_context (load_object->name))
+ return -1;
+
+ if (NULL == (This_Static_NameSpace = _SLns_allocate_namespace (load_object->name, SLSTATIC_HASH_TABLE_SIZE)))
+ {
+ pop_compile_context ();
+ return -1;
+ }
+
+ if (-1 == push_block_context (COMPILE_BLOCK_TYPE_TOP_LEVEL))
+ {
+ pop_compile_context ();
+ return -1;
+ }
+
+ return 0;
+}
+
+int _SLcompile_pop_context (void)
+{
+ if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ Compile_ByteCode_Ptr->bc_main_type = 0;
+ if (lang_free_branch (This_Compile_Block))
+ SLfree ((char *) This_Compile_Block);
+ }
+
+ (void) pop_block_context ();
+ (void) pop_compile_context ();
+
+ if (This_Compile_Block == NULL)
+ return 0;
+
+#if 0
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
+ return -1;
+ }
+#endif
+
+ return 0;
+}
+
+/*{{{ Hash and Name Table Functions */
+
+static SLang_Name_Type *locate_name_in_table (char *name, unsigned long hash,
+ SLang_Name_Type **table, unsigned int table_size)
+{
+ SLang_Name_Type *t;
+ char ch;
+
+ t = table [(unsigned int) (hash % table_size)];
+ ch = *name++;
+
+ while (t != NULL)
+ {
+ if ((ch == t->name[0])
+ && (0 == strcmp (t->name + 1, name)))
+ break;
+
+ t = t->next;
+ }
+
+ return t;
+}
+
+static SLang_Name_Type *locate_namespace_encoded_name (char *name, int err_on_bad_ns)
+{
+ char *ns, *ns1;
+ SLang_NameSpace_Type *table;
+ SLang_Name_Type *nt;
+
+ ns = name;
+ name = strchr (name, '-');
+ if ((name == NULL) || (name [1] != '>'))
+ name = ns;
+
+ ns1 = SLang_create_nslstring (ns, (unsigned int) (name - ns));
+ if (ns1 == NULL)
+ return NULL;
+ if (ns != name)
+ name += 2;
+ ns = ns1;
+
+ if (*ns == 0)
+ {
+ /* Use Global Namespace */
+ SLang_free_slstring (ns);
+ return locate_name_in_table (name, _SLcompute_string_hash (name),
+ Global_NameSpace->table, Global_NameSpace->table_size);
+ }
+
+ if (NULL == (table = _SLns_find_namespace (ns)))
+ {
+ if (err_on_bad_ns)
+ SLang_verror (SL_SYNTAX_ERROR, "Unable to find namespace called %s", ns);
+ SLang_free_slstring (ns);
+ return NULL;
+ }
+ SLang_free_slstring (ns);
+
+ /* FIXME: the hash table size should be stored in the hash table itself */
+ nt = locate_name_in_table (name, _SLcompute_string_hash (name),
+ table->table, table->table_size);
+ if (nt == NULL)
+ return NULL;
+
+ switch (nt->name_type)
+ {
+ /* These are private and cannot be accessed through the namespace. */
+ case SLANG_PVARIABLE:
+ case SLANG_PFUNCTION:
+ return NULL;
+ }
+ return nt;
+}
+
+static SLang_Name_Type *locate_hashed_name (char *name, unsigned long hash)
+{
+ SLang_Name_Type *t;
+
+ if (Lang_Defining_Function)
+ {
+ t = locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE);
+ if (t != NULL)
+ return t;
+ }
+
+ if ((This_Static_NameSpace != NULL)
+ && (NULL != (t = locate_name_in_table (name, hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size))))
+ return t;
+
+ t = locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
+ if (NULL != t)
+ return t;
+
+ return locate_namespace_encoded_name (name, 1);
+}
+
+SLang_Name_Type *_SLlocate_name (char *name)
+{
+ return locate_hashed_name (name, _SLcompute_string_hash (name));
+}
+
+static SLang_Name_Type *
+add_name_to_hash_table (char *name, unsigned long hash,
+ unsigned int sizeof_obj, unsigned char name_type,
+ SLang_Name_Type **table, unsigned int table_size,
+ int check_existing)
+{
+ SLang_Name_Type *t;
+
+ if (check_existing)
+ {
+ t = locate_name_in_table (name, hash, table, table_size);
+ if (t != NULL)
+ return t;
+ }
+
+ if (-1 == _SLcheck_identifier_syntax (name))
+ return NULL;
+
+ t = (SLang_Name_Type *) SLmalloc (sizeof_obj);
+ if (t == NULL)
+ return t;
+
+ memset ((char *) t, 0, sizeof_obj);
+ if (NULL == (t->name = _SLstring_dup_hashed_string (name, hash)))
+ {
+ SLfree ((char *) t);
+ return NULL;
+ }
+ t->name_type = name_type;
+
+ hash = hash % table_size;
+ t->next = table [(unsigned int)hash];
+ table [(unsigned int) hash] = t;
+
+ return t;
+}
+
+static SLang_Name_Type *
+add_global_name (char *name, unsigned long hash,
+ unsigned char name_type, unsigned int sizeof_obj,
+ SLang_NameSpace_Type *ns)
+{
+ SLang_Name_Type *nt;
+ SLang_Name_Type **table;
+ unsigned int table_size;
+
+ table = ns->table;
+ table_size = ns->table_size;
+
+ nt = locate_name_in_table (name, hash, table, table_size);
+ if (nt != NULL)
+ {
+ if (nt->name_type == name_type)
+ return nt;
+
+ SLang_verror (SL_DUPLICATE_DEFINITION, "%s cannot be re-defined", name);
+ return NULL;
+ }
+
+ return add_name_to_hash_table (name, hash, sizeof_obj, name_type,
+ table, table_size, 0);
+}
+
+static int add_intrinsic_function (SLang_NameSpace_Type *ns,
+ char *name, FVOID_STAR addr, unsigned char ret_type,
+ unsigned int nargs, va_list ap)
+{
+ SLang_Intrin_Fun_Type *f;
+ unsigned int i;
+
+ if (-1 == init_interpreter ())
+ return -1;
+
+ if (ns == NULL) ns = Global_NameSpace;
+
+ if (nargs > SLANG_MAX_INTRIN_ARGS)
+ {
+ SLang_verror (SL_APPLICATION_ERROR, "Function %s requires too many arguments", name);
+ return -1;
+ }
+
+ if (ret_type == SLANG_FLOAT_TYPE)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "Function %s is not permitted to return float", name);
+ return -1;
+ }
+
+ f = (SLang_Intrin_Fun_Type *) add_global_name (name, _SLcompute_string_hash (name),
+ SLANG_INTRINSIC, sizeof (SLang_Intrin_Fun_Type),
+ ns);
+
+ if (f == NULL)
+ return -1;
+
+ f->i_fun = addr;
+ f->num_args = nargs;
+ f->return_type = ret_type;
+
+ for (i = 0; i < nargs; i++)
+ f->arg_types [i] = va_arg (ap, unsigned int);
+
+ return 0;
+}
+
+int SLadd_intrinsic_function (char *name, FVOID_STAR addr, unsigned char ret_type,
+ unsigned int nargs, ...)
+{
+ va_list ap;
+ int status;
+
+ va_start (ap, nargs);
+ status = add_intrinsic_function (NULL, name, addr, ret_type, nargs, ap);
+ va_end (ap);
+
+ return status;
+}
+
+int SLns_add_intrinsic_function (SLang_NameSpace_Type *ns,
+ char *name, FVOID_STAR addr, unsigned char ret_type,
+ unsigned int nargs, ...)
+{
+ va_list ap;
+ int status;
+
+ va_start (ap, nargs);
+ status = add_intrinsic_function (ns, name, addr, ret_type, nargs, ap);
+ va_end (ap);
+
+ return status;
+}
+
+int SLns_add_intrinsic_variable (SLang_NameSpace_Type *ns,
+ char *name, VOID_STAR addr, unsigned char data_type, int ro)
+{
+ SLang_Intrin_Var_Type *v;
+
+ if (-1 == init_interpreter ())
+ return -1;
+
+ if (ns == NULL) ns = Global_NameSpace;
+
+ v = (SLang_Intrin_Var_Type *)add_global_name (name,
+ _SLcompute_string_hash (name),
+ (ro ? SLANG_RVARIABLE : SLANG_IVARIABLE),
+ sizeof (SLang_Intrin_Var_Type),
+ ns);
+ if (v == NULL)
+ return -1;
+
+ v->addr = addr;
+ v->type = data_type;
+ return 0;
+}
+
+int SLadd_intrinsic_variable (char *name, VOID_STAR addr, unsigned char data_type, int ro)
+{
+ return SLns_add_intrinsic_variable (NULL, name, addr, data_type, ro);
+}
+
+static int
+add_slang_function (char *name, unsigned char type, unsigned long hash,
+ unsigned int num_args, unsigned int num_locals,
+#if _SLANG_HAS_DEBUG_CODE
+ char *file,
+#endif
+ _SLBlock_Header_Type *h,
+ SLang_NameSpace_Type *ns)
+{
+ _SLang_Function_Type *f;
+
+#if _SLANG_HAS_DEBUG_CODE
+ if ((file != NULL)
+ && (NULL == (file = SLang_create_slstring (file))))
+ return -1;
+#endif
+
+ f = (_SLang_Function_Type *)add_global_name (name, hash,
+ type,
+ sizeof (_SLang_Function_Type),
+ ns);
+ if (f == NULL)
+ {
+#if _SLANG_HAS_DEBUG_CODE
+ SLang_free_slstring (file); /* NULL ok */
+#endif
+ return -1;
+ }
+
+ if (f->v.header != NULL)
+ {
+ if (f->nlocals == AUTOLOAD_NUM_LOCALS)
+ SLang_free_slstring ((char *)f->v.autoload_filename); /* autoloaded filename */
+ else
+ free_function_header (f->v.header);
+ }
+
+#if _SLANG_HAS_DEBUG_CODE
+ if (f->file != NULL) SLang_free_slstring (f->file);
+ f->file = file;
+#endif
+ f->v.header = h;
+ f->nlocals = num_locals;
+ f->nargs = num_args;
+
+ return 0;
+}
+
+int SLang_autoload (char *name, char *file)
+{
+ _SLang_Function_Type *f;
+ unsigned long hash;
+
+ hash = _SLcompute_string_hash (name);
+ f = (_SLang_Function_Type *)locate_name_in_table (name, hash, Global_NameSpace->table, Global_NameSpace->table_size);
+
+ if ((f != NULL)
+ && (f->name_type == SLANG_FUNCTION)
+ && (f->v.header != NULL)
+ && (f->nlocals != AUTOLOAD_NUM_LOCALS))
+ {
+ /* already loaded */
+ return 0;
+ }
+
+ file = SLang_create_slstring (file);
+ if (-1 == add_slang_function (name, SLANG_FUNCTION, hash, 0, AUTOLOAD_NUM_LOCALS,
+#if _SLANG_HAS_DEBUG_CODE
+ file,
+#endif
+ (_SLBlock_Header_Type *) file,
+ Global_NameSpace))
+ {
+ SLang_free_slstring (file);
+ return -1;
+ }
+
+ return 0;
+}
+
+SLang_Name_Type *_SLlocate_global_name (char *name)
+{
+ unsigned long hash;
+
+ hash = _SLcompute_string_hash (name);
+ return locate_name_in_table (name, hash, Global_NameSpace->table,
+ Global_NameSpace->table_size);
+}
+
+/*}}}*/
+
+static void free_local_variable_table (void)
+{
+ unsigned int i;
+ SLang_Name_Type *t, *t1;
+
+ for (i = 0; i < SLLOCALS_HASH_TABLE_SIZE; i++)
+ {
+ t = Locals_Hash_Table [i];
+ while (t != NULL)
+ {
+ SLang_free_slstring (t->name);
+ t1 = t->next;
+ SLfree ((char *) t);
+ t = t1;
+ }
+ Locals_Hash_Table [i] = NULL;
+ }
+ Local_Variable_Number = 0;
+}
+
+/* call inner interpreter or return for more */
+static void lang_try_now(void)
+{
+ Compile_ByteCode_Ptr++;
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ return;
+
+ Compile_ByteCode_Ptr->bc_main_type = 0; /* so next command stops after this */
+
+ /* now do it */
+ inner_interp (This_Compile_Block);
+ (void) lang_free_branch (This_Compile_Block);
+ Compile_ByteCode_Ptr = This_Compile_Block;
+}
+
+SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *ref)
+{
+ if (ref->is_global)
+ {
+ SLang_Name_Type *nt = ref->v.nt;
+
+ switch (nt->name_type)
+ {
+ case SLANG_PFUNCTION:
+ case SLANG_FUNCTION:
+ case SLANG_INTRINSIC:
+ case SLANG_MATH_UNARY:
+ case SLANG_APP_UNARY:
+ return nt;
+ }
+ SLang_verror (SL_TYPE_MISMATCH,
+ "Reference to a function expected. Found &%s",
+ nt->name);
+ }
+
+ SLang_verror (SL_TYPE_MISMATCH,
+ "Reference to a function expected");
+ return NULL;
+}
+
+int SLexecute_function (SLang_Name_Type *nt)
+{
+ unsigned char type;
+ char *name;
+
+ if (SLang_Error)
+ return -1;
+
+ type = nt->name_type;
+ name = nt->name;
+
+ switch (type)
+ {
+ case SLANG_PFUNCTION:
+ case SLANG_FUNCTION:
+ execute_slang_fun ((_SLang_Function_Type *) nt);
+ break;
+
+ case SLANG_INTRINSIC:
+ execute_intrinsic_fun ((SLang_Intrin_Fun_Type *) nt);
+ break;
+
+ case SLANG_MATH_UNARY:
+ case SLANG_APP_UNARY:
+ inner_interp_nametype (nt);
+ break;
+
+ default:
+ SLang_verror (SL_TYPE_MISMATCH, "%s is not a function", name);
+ return -1;
+ }
+
+ if (SLang_Error)
+ {
+ SLang_verror (SLang_Error, "Error while executing %s", name);
+ return -1;
+ }
+
+ return 1;
+}
+
+int SLang_execute_function (char *name)
+{
+ SLang_Name_Type *entry;
+
+ if (NULL == (entry = SLang_get_function (name)))
+ return 0;
+
+ return SLexecute_function (entry);
+}
+
+/* return S-Lang function or NULL */
+SLang_Name_Type *SLang_get_function (char *name)
+{
+ SLang_Name_Type *entry;
+
+ if (NULL == (entry = locate_namespace_encoded_name (name, 0)))
+ return NULL;
+
+ if ((entry->name_type == SLANG_FUNCTION)
+ || (entry->name_type == SLANG_INTRINSIC))
+ return entry;
+
+ return NULL;
+}
+
+static void lang_begin_function (void)
+{
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Function nesting is illegal");
+ return;
+ }
+ Lang_Defining_Function = 1;
+ (void) push_block_context (COMPILE_BLOCK_TYPE_FUNCTION);
+}
+
+#if USE_COMBINED_BYTECODES
+static void optimize_block (SLBlock_Type *b)
+{
+ while (1)
+ {
+ switch (b->bc_main_type)
+ {
+ case 0:
+ return;
+
+ default:
+ b++;
+ break;
+
+ case _SLANG_BC_CALL_DIRECT:
+ b++;
+ switch (b->bc_main_type)
+ {
+ case 0:
+ return;
+ case _SLANG_BC_INTRINSIC:
+ if ((b+1)->bc_main_type == 0)
+ {
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRSTOP;
+ return;
+ }
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_INTRINSIC;
+ b++;
+ break;
+ case _SLANG_BC_LITERAL_STR:
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LSTR;
+ b++;
+ break;
+ case _SLANG_BC_FUNCTION:
+ case _SLANG_BC_PFUNCTION:
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_SLFUN;
+ b++;
+ break;
+ case _SLANG_BC_EARG_LVARIABLE:
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_EARG_LVAR;
+ b++;
+ break;
+ case _SLANG_BC_LITERAL_INT:
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LINT;
+ b++;
+ break;
+ case _SLANG_BC_LVARIABLE:
+ (b-1)->bc_main_type = _SLANG_BC_CALL_DIRECT_LVAR;
+ b++;
+ break;
+ }
+ break;
+
+ case _SLANG_BC_INTRINSIC:
+ b++;
+ switch (b->bc_main_type)
+ {
+ case _SLANG_BC_CALL_DIRECT:
+ (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_CALL_DIRECT;
+ b++;
+ break;
+#if 0
+ case _SLANG_BC_BLOCK:
+ (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_BLOCK;
+ b++;
+ break;
+#endif
+
+ case 0:
+ (b-1)->bc_main_type = _SLANG_BC_INTRINSIC_STOP;
+ return;
+ }
+ break;
+ }
+ }
+}
+
+#endif
+
+
+/* name will be NULL if the object is to simply terminate the function
+ * definition. See SLang_restart.
+ */
+static int lang_define_function (char *name, unsigned char type, unsigned long hash,
+ SLang_NameSpace_Type *ns)
+{
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_FUNCTION)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Premature end of function");
+ return -1;
+ }
+
+ /* terminate function */
+ Compile_ByteCode_Ptr->bc_main_type = 0;
+
+ if (name != NULL)
+ {
+ _SLBlock_Header_Type *h;
+
+ h = (_SLBlock_Header_Type *)SLmalloc (sizeof (_SLBlock_Header_Type));
+ if (h != NULL)
+ {
+ h->num_refs = 1;
+ h->body = This_Compile_Block;
+
+#if USE_COMBINED_BYTECODES
+ optimize_block (h->body);
+#endif
+
+ if (-1 == add_slang_function (name, type, hash,
+ Function_Args_Number,
+ Local_Variable_Number,
+#if _SLANG_HAS_DEBUG_CODE
+ This_Compile_Filename,
+#endif
+ h, ns))
+ SLfree ((char *) h);
+ }
+ /* Drop through for clean-up */
+ }
+
+ free_local_variable_table ();
+
+ Function_Args_Number = 0;
+ Lang_Defining_Function = 0;
+
+ if (SLang_Error) return -1;
+ /* SLang_restart will finish this if there is a slang error. */
+
+ pop_block_context ();
+
+ /* A function is only defined at top-level */
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ SLang_verror (SL_INTERNAL_ERROR, "Not at top-level");
+ return -1;
+ }
+ Compile_ByteCode_Ptr = This_Compile_Block;
+ return 0;
+}
+
+static void define_static_function (char *name, unsigned long hash)
+{
+ (void) lang_define_function (name, SLANG_FUNCTION, hash, This_Static_NameSpace);
+}
+
+static void define_private_function (char *name, unsigned long hash)
+{
+ (void) lang_define_function (name, SLANG_PFUNCTION, hash, This_Static_NameSpace);
+}
+
+static void define_public_function (char *name, unsigned long hash)
+{
+ (void) lang_define_function (name, SLANG_FUNCTION, hash, Global_NameSpace);
+}
+
+static void lang_end_block (void)
+{
+ SLBlock_Type *node, *branch;
+ unsigned char mtype;
+
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Not defining a block");
+ return;
+ }
+
+ /* terminate the block */
+ Compile_ByteCode_Ptr->bc_main_type = 0;
+ branch = This_Compile_Block;
+
+ /* Try to save some space by using the cached blocks. */
+ if (Compile_ByteCode_Ptr == branch + 1)
+ {
+ mtype = branch->bc_main_type;
+ if (((mtype == _SLANG_BC_BREAK)
+ || (mtype == _SLANG_BC_CONTINUE)
+ || (mtype == _SLANG_BC_RETURN))
+ && (SLang_Error == 0))
+ {
+ SLfree ((char *)branch);
+ branch = SLShort_Blocks + 2 * (int) (mtype - _SLANG_BC_RETURN);
+ }
+ }
+
+#if USE_COMBINED_BYTECODES
+ optimize_block (branch);
+#endif
+
+ pop_block_context ();
+ node = Compile_ByteCode_Ptr++;
+
+ node->bc_main_type = _SLANG_BC_BLOCK;
+ node->bc_sub_type = 0;
+ node->b.blk = branch;
+}
+
+static int lang_begin_block (void)
+{
+ return push_block_context (COMPILE_BLOCK_TYPE_BLOCK);
+}
+
+static int lang_check_space (void)
+{
+ unsigned int n;
+ SLBlock_Type *p;
+
+ if (NULL == (p = This_Compile_Block))
+ {
+ SLang_verror (SL_INTERNAL_ERROR, "Top-level block not present");
+ return -1;
+ }
+
+ /* Allow 1 extra for terminator */
+ if (Compile_ByteCode_Ptr + 1 < This_Compile_Block_Max)
+ return 0;
+
+ n = (unsigned int) (This_Compile_Block_Max - p);
+
+ /* enlarge the space by 2 objects */
+ n += 2;
+
+ if (NULL == (p = (SLBlock_Type *) SLrealloc((char *)p, n * sizeof(SLBlock_Type))))
+ return -1;
+
+ This_Compile_Block_Max = p + n;
+ n = (unsigned int) (Compile_ByteCode_Ptr - This_Compile_Block);
+ This_Compile_Block = p;
+ Compile_ByteCode_Ptr = p + n;
+
+ return 0;
+}
+
+/* returns positive number if name is a function or negative number if it
+ is a variable. If it is intrinsic, it returns magnitude of 1, else 2 */
+int SLang_is_defined(char *name)
+{
+ SLang_Name_Type *t;
+
+ if (-1 == init_interpreter ())
+ return -1;
+
+ t = locate_namespace_encoded_name (name, 0);
+ if (t == NULL)
+ return 0;
+
+ switch (t->name_type)
+ {
+ case SLANG_FUNCTION:
+ /* case SLANG_PFUNCTION: */
+ return 2;
+ case SLANG_GVARIABLE:
+ /* case SLANG_PVARIABLE: */
+ return -2;
+
+ case SLANG_ICONSTANT:
+ case SLANG_DCONSTANT:
+ case SLANG_RVARIABLE:
+ case SLANG_IVARIABLE:
+ return -1;
+
+ case SLANG_INTRINSIC:
+ default:
+ return 1;
+ }
+}
+
+static int add_global_variable (char *name, char name_type, unsigned long hash,
+ SLang_NameSpace_Type *ns)
+{
+ SLang_Name_Type *g;
+
+ /* Note the importance of checking if it is already defined or not. For example,
+ * suppose X is defined as an intrinsic variable. Then S-Lang code like:
+ * !if (is_defined("X")) { variable X; }
+ * will not result in a global variable X. On the other hand, this would
+ * not be an issue if 'variable' statements always were not processed
+ * immediately. That is, as it is now, 'if (0) {variable ZZZZ;}' will result
+ * in the variable ZZZZ being defined because of the immediate processing.
+ * The current solution is to do: if (0) { eval("variable ZZZZ;"); }
+ */
+ /* hash = _SLcompute_string_hash (name); */
+ g = locate_name_in_table (name, hash, ns->table, ns->table_size);
+
+ if (g != NULL)
+ {
+ if (g->name_type == name_type)
+ return 0;
+ }
+
+ if (NULL == add_global_name (name, hash, name_type,
+ sizeof (SLang_Global_Var_Type), ns))
+ return -1;
+
+ return 0;
+}
+
+int SLadd_global_variable (char *name)
+{
+ if (-1 == init_interpreter ())
+ return -1;
+
+ return add_global_variable (name, SLANG_GVARIABLE,
+ _SLcompute_string_hash (name),
+ Global_NameSpace);
+}
+
+static int add_local_variable (char *name, unsigned long hash)
+{
+ SLang_Local_Var_Type *t;
+
+ /* local variable */
+ if (Local_Variable_Number >= SLANG_MAX_LOCAL_VARIABLES)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Too many local variables");
+ return -1;
+ }
+
+ if (NULL != locate_name_in_table (name, hash, Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Local variable %s has already been defined", name);
+ return -1;
+ }
+
+ t = (SLang_Local_Var_Type *)
+ add_name_to_hash_table (name, hash,
+ sizeof (SLang_Local_Var_Type), SLANG_LVARIABLE,
+ Locals_Hash_Table, SLLOCALS_HASH_TABLE_SIZE, 0);
+ if (t == NULL)
+ return -1;
+
+ t->local_var_number = Local_Variable_Number;
+ Local_Variable_Number++;
+ return 0;
+}
+
+static void (*Compile_Mode_Function) (_SLang_Token_Type *);
+static void compile_basic_token_mode (_SLang_Token_Type *);
+
+/* if an error occurs, discard current object, block, function, etc... */
+void SLang_restart (int localv)
+{
+ int save = SLang_Error;
+
+ SLang_Error = SL_UNKNOWN_ERROR;
+
+ _SLcompile_ptr = _SLcompile;
+ Compile_Mode_Function = compile_basic_token_mode;
+
+ Lang_Break = /* Lang_Continue = */ Lang_Return = 0;
+ Trace_Mode = 0;
+
+ while (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
+ lang_end_block();
+
+ if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_FUNCTION)
+ {
+ /* Terminate function definition and free variables */
+ lang_define_function (NULL, SLANG_FUNCTION, 0, Global_NameSpace);
+ if (lang_free_branch (This_Compile_Block))
+ SLfree((char *)This_Compile_Block);
+ }
+ Lang_Defining_Function = 0;
+
+ SLang_Error = save;
+
+ if (SLang_Error == SL_STACK_OVERFLOW)
+ {
+ /* This loop guarantees that the stack is properly cleaned. */
+ while (_SLStack_Pointer != _SLRun_Stack)
+ {
+ SLdo_pop ();
+ }
+ }
+
+ while ((This_Compile_Block_Type != COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ && (0 == pop_block_context ()))
+ ;
+
+ if (localv)
+ {
+ Next_Function_Num_Args = SLang_Num_Function_Args = 0;
+ Local_Variable_Frame = Local_Variable_Stack;
+ Recursion_Depth = 0;
+ Frame_Pointer = _SLStack_Pointer;
+ Frame_Pointer_Depth = 0;
+ Switch_Obj_Ptr = Switch_Objects;
+ while (Switch_Obj_Ptr < Switch_Obj_Max)
+ {
+ SLang_free_object (Switch_Obj_Ptr);
+ Switch_Obj_Ptr++;
+ }
+ Switch_Obj_Ptr = Switch_Objects;
+ }
+}
+
+static void compile_directive (unsigned char sub_type)
+{
+ /* This function is called only from compile_directive_mode which is
+ * only possible when a block is available.
+ */
+
+ /* use BLOCK */
+ Compile_ByteCode_Ptr--;
+ Compile_ByteCode_Ptr->bc_sub_type = sub_type;
+
+ lang_try_now ();
+}
+
+static void compile_unary (int op, unsigned char mt)
+{
+ Compile_ByteCode_Ptr->bc_main_type = mt;
+ Compile_ByteCode_Ptr->b.i_blk = op;
+ Compile_ByteCode_Ptr->bc_sub_type = 0;
+
+ lang_try_now ();
+}
+
+
+static void compile_binary (int op)
+{
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_BINARY;
+ Compile_ByteCode_Ptr->b.i_blk = op;
+ Compile_ByteCode_Ptr->bc_sub_type = 0;
+
+ lang_try_now ();
+}
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+static int try_compressed_bytecode (unsigned char last_bc, unsigned char bc)
+{
+ if (Compile_ByteCode_Ptr != This_Compile_Block)
+ {
+ SLBlock_Type *b;
+ b = Compile_ByteCode_Ptr - 1;
+ if (b->bc_main_type == last_bc)
+ {
+ Compile_ByteCode_Ptr = b;
+ b->bc_main_type = bc;
+ lang_try_now ();
+ return 0;
+ }
+ }
+ return -1;
+}
+#endif
+
+static void compile_fast_binary (int op, unsigned char bc)
+{
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (0 == try_compressed_bytecode (_SLANG_BC_LITERAL_INT, bc))
+ return;
+#else
+ (void) bc;
+#endif
+ compile_binary (op);
+}
+
+/* This is a hack */
+typedef struct _Special_NameTable_Type
+{
+ char *name;
+ int (*fun) (struct _Special_NameTable_Type *, _SLang_Token_Type *);
+ VOID_STAR blk_data;
+ unsigned char main_type;
+}
+Special_NameTable_Type;
+
+static int handle_special (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
+{
+ (void) tok;
+ Compile_ByteCode_Ptr->bc_main_type = nt->main_type;
+ Compile_ByteCode_Ptr->b.ptr_blk = nt->blk_data;
+ return 0;
+}
+
+static int handle_special_file (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
+{
+ char *name;
+
+ (void) nt; (void) tok;
+
+ if (This_Static_NameSpace == NULL) name = "***Unknown***";
+ else
+ name = This_Static_NameSpace->name;
+
+ name = SLang_create_slstring (name);
+ if (name == NULL)
+ return -1;
+
+ Compile_ByteCode_Ptr->b.s_blk = name;
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
+ Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
+ return 0;
+}
+
+static int handle_special_line (Special_NameTable_Type *nt, _SLang_Token_Type *tok)
+{
+ (void) nt;
+
+#if _SLANG_HAS_DEBUG_CODE
+ Compile_ByteCode_Ptr->b.l_blk = (long) tok->line_number;
+#endif
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
+ Compile_ByteCode_Ptr->bc_sub_type = SLANG_UINT_TYPE;
+
+ return 0;
+}
+
+static Special_NameTable_Type Special_Name_Table [] =
+{
+ {"EXECUTE_ERROR_BLOCK", handle_special, NULL, _SLANG_BC_X_ERROR},
+ {"X_USER_BLOCK0", handle_special, NULL, _SLANG_BC_X_USER0},
+ {"X_USER_BLOCK1", handle_special, NULL, _SLANG_BC_X_USER1},
+ {"X_USER_BLOCK2", handle_special, NULL, _SLANG_BC_X_USER2},
+ {"X_USER_BLOCK3", handle_special, NULL, _SLANG_BC_X_USER3},
+ {"X_USER_BLOCK4", handle_special, NULL, _SLANG_BC_X_USER4},
+ {"__FILE__", handle_special_file, NULL, 0},
+ {"__LINE__", handle_special_line, NULL, 0},
+#if 0
+ {"__NAMESPACE__", handle_special_namespace, NULL, 0},
+#endif
+ {NULL, NULL, NULL, 0}
+};
+
+static void compile_hashed_identifier (char *name, unsigned long hash, _SLang_Token_Type *tok)
+{
+ SLang_Name_Type *entry;
+ unsigned char name_type;
+
+ entry = locate_hashed_name (name, hash);
+
+ if (entry == NULL)
+ {
+ Special_NameTable_Type *nt = Special_Name_Table;
+
+ while (nt->name != NULL)
+ {
+ if (strcmp (name, nt->name))
+ {
+ nt++;
+ continue;
+ }
+
+ if (0 == (*nt->fun)(nt, tok))
+ lang_try_now ();
+ return;
+ }
+
+ SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
+ return;
+ }
+
+ name_type = entry->name_type;
+ Compile_ByteCode_Ptr->bc_main_type = name_type;
+
+ if (name_type == SLANG_LVARIABLE)
+ Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
+ else
+ Compile_ByteCode_Ptr->b.nt_blk = entry;
+
+ lang_try_now ();
+}
+
+static void compile_tmp_variable (char *name, unsigned long hash)
+{
+ SLang_Name_Type *entry;
+ unsigned char name_type;
+
+ if (NULL == (entry = locate_hashed_name (name, hash)))
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
+ return;
+ }
+
+ name_type = entry->name_type;
+ switch (name_type)
+ {
+ case SLANG_LVARIABLE:
+ Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) entry)->local_var_number;
+ break;
+
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ Compile_ByteCode_Ptr->b.nt_blk = entry;
+ break;
+
+ default:
+ SLang_verror (SL_SYNTAX_ERROR, "__tmp(%s) does not specifiy a variable", name);
+ return;
+ }
+
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_TMP;
+ Compile_ByteCode_Ptr->bc_sub_type = name_type;
+
+ lang_try_now ();
+}
+
+static void compile_simple (unsigned char main_type)
+{
+ Compile_ByteCode_Ptr->bc_main_type = main_type;
+ Compile_ByteCode_Ptr->bc_sub_type = 0;
+ Compile_ByteCode_Ptr->b.blk = NULL;
+ lang_try_now ();
+}
+
+static void compile_identifier (char *name, _SLang_Token_Type *tok)
+{
+ compile_hashed_identifier (name, _SLcompute_string_hash (name), tok);
+}
+
+static void compile_call_direct (int (*f) (void), unsigned char byte_code)
+{
+ Compile_ByteCode_Ptr->b.call_function = f;
+ Compile_ByteCode_Ptr->bc_main_type = byte_code;
+ Compile_ByteCode_Ptr->bc_sub_type = 0;
+ lang_try_now ();
+}
+
+static void compile_lvar_call_direct (int (*f)(void), unsigned char bc,
+ unsigned char frame_op)
+{
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (0 == try_compressed_bytecode (_SLANG_BC_LVARIABLE, bc))
+ return;
+#else
+ (void) bc;
+#endif
+
+ compile_call_direct (f, frame_op);
+}
+
+static void compile_integer (long i, unsigned char bc_main_type, unsigned char bc_sub_type)
+{
+ Compile_ByteCode_Ptr->b.l_blk = i;
+ Compile_ByteCode_Ptr->bc_main_type = bc_main_type;
+ Compile_ByteCode_Ptr->bc_sub_type = bc_sub_type;
+
+ lang_try_now ();
+}
+
+#if SLANG_HAS_FLOAT
+static void compile_double (char *str, unsigned char type)
+{
+ double d;
+ unsigned int factor = 1;
+ double *ptr;
+
+#if 1
+ d = _SLang_atof (str);
+#else
+ if (1 != sscanf (str, "%lf", &d))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to double", str);
+ return;
+ }
+#endif
+
+#if SLANG_HAS_COMPLEX
+ if (type == SLANG_COMPLEX_TYPE) factor = 2;
+#endif
+ if (NULL == (ptr = (double *) SLmalloc(factor * sizeof(double))))
+ return;
+
+ Compile_ByteCode_Ptr->b.double_blk = ptr;
+#if SLANG_HAS_COMPLEX
+ if (type == SLANG_COMPLEX_TYPE)
+ *ptr++ = 0;
+#endif
+ *ptr = d;
+
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
+ Compile_ByteCode_Ptr->bc_sub_type = type;
+ lang_try_now ();
+}
+
+static void compile_float (char *s)
+{
+ float x;
+
+#if 1
+ x = (float) _SLang_atof (s);
+#else
+ if (1 != sscanf (s, "%f", &x))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Unable to convert %s to float", s);
+ return;
+ }
+#endif
+ Compile_ByteCode_Ptr->b.float_blk = x;
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
+ Compile_ByteCode_Ptr->bc_sub_type = SLANG_FLOAT_TYPE;
+ lang_try_now ();
+}
+
+#endif
+
+static void compile_string (char *s, unsigned long hash)
+{
+ if (NULL == (Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (s, hash)))
+ return;
+
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL_STR;
+ Compile_ByteCode_Ptr->bc_sub_type = SLANG_STRING_TYPE;
+
+ lang_try_now ();
+}
+
+static void compile_bstring (SLang_BString_Type *s)
+{
+ if (NULL == (Compile_ByteCode_Ptr->b.bs_blk = SLbstring_dup (s)))
+ return;
+
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LITERAL;
+ Compile_ByteCode_Ptr->bc_sub_type = SLANG_BSTRING_TYPE;
+
+ lang_try_now ();
+}
+
+/* assign_type is one of _SLANG_BCST_ASSIGN, ... values */
+static void compile_assign (unsigned char assign_type,
+ char *name, unsigned long hash)
+{
+ SLang_Name_Type *v;
+ unsigned char main_type;
+ SLang_Class_Type *cl;
+
+ v = locate_hashed_name (name, hash);
+ if (v == NULL)
+ {
+ if ((_SLang_Auto_Declare_Globals == 0)
+ || (NULL != strchr (name, '-')) /* namespace->name form */
+ || Lang_Defining_Function
+ || (assign_type != _SLANG_BCST_ASSIGN)
+ || (This_Static_NameSpace == NULL))
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
+ return;
+ }
+ /* Note that function local variables are not at top level */
+
+ /* Variables that are automatically declared are given static
+ * scope.
+ */
+ if ((NULL != SLang_Auto_Declare_Var_Hook)
+ && (-1 == (*SLang_Auto_Declare_Var_Hook) (name)))
+ return;
+
+ if ((-1 == add_global_variable (name, SLANG_GVARIABLE, hash, This_Static_NameSpace))
+ || (NULL == (v = locate_hashed_name (name, hash))))
+ return;
+ }
+
+ switch (v->name_type)
+ {
+ case SLANG_LVARIABLE:
+ main_type = _SLANG_BC_SET_LOCAL_LVALUE;
+ Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
+ break;
+
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ main_type = _SLANG_BC_SET_GLOBAL_LVALUE;
+ Compile_ByteCode_Ptr->b.nt_blk = v;
+ break;
+
+ case SLANG_IVARIABLE:
+ cl = _SLclass_get_class (((SLang_Intrin_Var_Type *)v)->type);
+ if (cl->cl_class_type != SLANG_CLASS_TYPE_SCALAR)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Assignment to %s is not allowed", name);
+ return;
+ }
+ main_type = _SLANG_BC_SET_INTRIN_LVALUE;
+ Compile_ByteCode_Ptr->b.nt_blk = v;
+ break;
+
+ case SLANG_RVARIABLE:
+ SLang_verror (SL_READONLY_ERROR, "%s is read-only", name);
+ return;
+
+ default:
+ SLang_verror (SL_DUPLICATE_DEFINITION, "%s may not be used as an lvalue", name);
+ return;
+ }
+
+ Compile_ByteCode_Ptr->bc_sub_type = assign_type;
+ Compile_ByteCode_Ptr->bc_main_type = main_type;
+
+ lang_try_now ();
+}
+
+static void compile_deref_assign (char *name, unsigned long hash)
+{
+ SLang_Name_Type *v;
+
+ v = locate_hashed_name (name, hash);
+
+ if (v == NULL)
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
+ return;
+ }
+
+ switch (v->name_type)
+ {
+ case SLANG_LVARIABLE:
+ Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *) v)->local_var_number;
+ break;
+
+ case SLANG_GVARIABLE:
+ case SLANG_PVARIABLE:
+ Compile_ByteCode_Ptr->b.nt_blk = v;
+ break;
+
+ default:
+ /* FIXME: Priority=low
+ * This could be made to work. It is not a priority because
+ * I cannot imagine application intrinsics which are references.
+ */
+ SLang_verror (SL_NOT_IMPLEMENTED, "Deref assignment to %s is not allowed", name);
+ return;
+ }
+
+ Compile_ByteCode_Ptr->bc_sub_type = v->name_type;
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_DEREF_ASSIGN;
+
+ lang_try_now ();
+}
+
+static void
+compile_struct_assign (_SLang_Token_Type *t)
+{
+ Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _STRUCT_ASSIGN_TOKEN);
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_STRUCT_LVALUE;
+ Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string (t->v.s_val, t->hash);
+ lang_try_now ();
+}
+
+static void
+compile_array_assign (_SLang_Token_Type *t)
+{
+ Compile_ByteCode_Ptr->bc_sub_type = _SLANG_BCST_ASSIGN + (t->type - _ARRAY_ASSIGN_TOKEN);
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_SET_ARRAY_LVALUE;
+ Compile_ByteCode_Ptr->b.s_blk = NULL;
+ lang_try_now ();
+}
+
+static void compile_dot(_SLang_Token_Type *t)
+{
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_FIELD;
+ Compile_ByteCode_Ptr->b.s_blk = _SLstring_dup_hashed_string(t->v.s_val, t->hash);
+ lang_try_now ();
+}
+
+static void compile_ref (char *name, unsigned long hash)
+{
+ SLang_Name_Type *entry;
+ unsigned char main_type;
+
+ if (NULL == (entry = locate_hashed_name (name, hash)))
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "%s is undefined", name);
+ return;
+ }
+
+ main_type = entry->name_type;
+
+ if (main_type == SLANG_LVARIABLE)
+ {
+ main_type = _SLANG_BC_LOBJPTR;
+ Compile_ByteCode_Ptr->b.i_blk = ((SLang_Local_Var_Type *)entry)->local_var_number;
+ }
+ else
+ {
+ main_type = _SLANG_BC_GOBJPTR;
+ Compile_ByteCode_Ptr->b.nt_blk = entry;
+ }
+
+ Compile_ByteCode_Ptr->bc_main_type = main_type;
+ lang_try_now ();
+}
+
+static void compile_break (unsigned char break_type,
+ int requires_block, int requires_fun,
+ char *str)
+{
+ if ((requires_fun
+ && (Lang_Defining_Function == 0))
+ || (requires_block
+ && (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "misplaced %s", str);
+ return;
+ }
+
+ Compile_ByteCode_Ptr->bc_main_type = break_type;
+ Compile_ByteCode_Ptr->bc_sub_type = 0;
+
+ lang_try_now ();
+}
+
+static void compile_public_variable_mode (_SLang_Token_Type *t)
+{
+ if (t->type == IDENT_TOKEN)
+ {
+ /* If the variable is already defined in the static hash table,
+ * generate an error.
+ */
+ if ((This_Static_NameSpace != NULL)
+ && (NULL != locate_name_in_table (t->v.s_val, t->hash, This_Static_NameSpace->table, This_Static_NameSpace->table_size)))
+ {
+ SLang_verror (SL_DUPLICATE_DEFINITION,
+ "%s already has static or private linkage in this unit",
+ t->v.s_val);
+ return;
+ }
+ add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, Global_NameSpace);
+ }
+ else if (t->type == CBRACKET_TOKEN)
+ Compile_Mode_Function = compile_basic_token_mode;
+ else
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
+}
+
+static void compile_local_variable_mode (_SLang_Token_Type *t)
+{
+ if (t->type == IDENT_TOKEN)
+ add_local_variable (t->v.s_val, t->hash);
+ else if (t->type == CBRACKET_TOKEN)
+ Compile_Mode_Function = compile_basic_token_mode;
+ else
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
+}
+
+static void compile_static_variable_mode (_SLang_Token_Type *t)
+{
+ if (t->type == IDENT_TOKEN)
+ add_global_variable (t->v.s_val, SLANG_GVARIABLE, t->hash, This_Static_NameSpace);
+ else if (t->type == CBRACKET_TOKEN)
+ Compile_Mode_Function = compile_basic_token_mode;
+ else
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
+}
+
+static void compile_private_variable_mode (_SLang_Token_Type *t)
+{
+ if (t->type == IDENT_TOKEN)
+ add_global_variable (t->v.s_val, SLANG_PVARIABLE, t->hash, This_Static_NameSpace);
+ else if (t->type == CBRACKET_TOKEN)
+ Compile_Mode_Function = compile_basic_token_mode;
+ else
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced token in variable list");
+}
+
+static void compile_function_mode (_SLang_Token_Type *t)
+{
+ if (-1 == lang_check_space ())
+ return;
+
+ if (t->type != IDENT_TOKEN)
+ SLang_verror (SL_SYNTAX_ERROR, "Expecting function name");
+ else
+ lang_define_function (t->v.s_val, SLANG_FUNCTION, t->hash, Global_NameSpace);
+
+ Compile_Mode_Function = compile_basic_token_mode;
+}
+
+/* An error block is not permitted to contain continue or break statements.
+ * This restriction may be removed later but for now reject them.
+ */
+static int check_error_block (void)
+{
+ SLBlock_Type *p;
+ unsigned char t;
+
+ /* Back up to the block and then scan it. */
+ p = (Compile_ByteCode_Ptr - 1)->b.blk;
+
+ while (0 != (t = p->bc_main_type))
+ {
+ if ((t == _SLANG_BC_BREAK)
+ || (t == _SLANG_BC_CONTINUE))
+ {
+ SLang_verror (SL_SYNTAX_ERROR,
+ "An ERROR_BLOCK is not permitted to contain continue or break statements");
+ return -1;
+ }
+ p++;
+ }
+ return 0;
+}
+
+/* The only allowed tokens are the directives and another block start.
+ * The mode is only active if a block is available. The inner_interp routine
+ * expects such safety checks.
+ */
+static void compile_directive_mode (_SLang_Token_Type *t)
+{
+ int bc_sub_type;
+
+ if (-1 == lang_check_space ())
+ return;
+
+ bc_sub_type = -1;
+
+ switch (t->type)
+ {
+ case FOREVER_TOKEN:
+ bc_sub_type = _SLANG_BCST_FOREVER;
+ break;
+
+ case IFNOT_TOKEN:
+ bc_sub_type = _SLANG_BCST_IFNOT;
+ break;
+
+ case IF_TOKEN:
+ bc_sub_type = _SLANG_BCST_IF;
+ break;
+
+ case ANDELSE_TOKEN:
+ bc_sub_type = _SLANG_BCST_ANDELSE;
+ break;
+
+ case SWITCH_TOKEN:
+ bc_sub_type = _SLANG_BCST_SWITCH;
+ break;
+
+ case EXITBLK_TOKEN:
+ if (Lang_Defining_Function == 0)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "misplaced EXIT_BLOCK");
+ break;
+ }
+ bc_sub_type = _SLANG_BCST_EXIT_BLOCK;
+ break;
+
+ case ERRBLK_TOKEN:
+ if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "misplaced ERROR_BLOCK");
+ break;
+ }
+ if (0 == check_error_block ())
+ bc_sub_type = _SLANG_BCST_ERROR_BLOCK;
+ break;
+
+ case USRBLK0_TOKEN:
+ case USRBLK1_TOKEN:
+ case USRBLK2_TOKEN:
+ case USRBLK3_TOKEN:
+ case USRBLK4_TOKEN:
+ if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_TOP_LEVEL)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "misplaced USER_BLOCK");
+ break;
+ }
+ bc_sub_type = _SLANG_BCST_USER_BLOCK0 + (t->type - USRBLK0_TOKEN);
+ break;
+
+ case NOTELSE_TOKEN:
+ bc_sub_type = _SLANG_BCST_NOTELSE;
+ break;
+
+ case ELSE_TOKEN:
+ bc_sub_type = _SLANG_BCST_ELSE;
+ break;
+
+ case LOOP_TOKEN:
+ bc_sub_type = _SLANG_BCST_LOOP;
+ break;
+
+ case DOWHILE_TOKEN:
+ bc_sub_type = _SLANG_BCST_DOWHILE;
+ break;
+
+ case WHILE_TOKEN:
+ bc_sub_type = _SLANG_BCST_WHILE;
+ break;
+
+ case ORELSE_TOKEN:
+ bc_sub_type = _SLANG_BCST_ORELSE;
+ break;
+
+ case _FOR_TOKEN:
+ bc_sub_type = _SLANG_BCST_FOR;
+ break;
+
+ case FOR_TOKEN:
+ bc_sub_type = _SLANG_BCST_CFOR;
+ break;
+
+ case FOREACH_TOKEN:
+ bc_sub_type = _SLANG_BCST_FOREACH;
+ break;
+
+ case OBRACE_TOKEN:
+ lang_begin_block ();
+ break;
+
+ default:
+ SLang_verror (SL_SYNTAX_ERROR, "Expecting directive token. Found 0x%X", t->type);
+ break;
+ }
+
+ /* Reset this pointer first because compile_directive may cause a
+ * file to be loaded.
+ */
+ Compile_Mode_Function = compile_basic_token_mode;
+
+ if (bc_sub_type != -1)
+ compile_directive (bc_sub_type);
+}
+
+static unsigned int Assign_Mode_Type;
+static void compile_assign_mode (_SLang_Token_Type *t)
+{
+ if (t->type != IDENT_TOKEN)
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "Expecting identifier for assignment");
+ return;
+ }
+
+ compile_assign (Assign_Mode_Type, t->v.s_val, t->hash);
+ Compile_Mode_Function = compile_basic_token_mode;
+}
+
+static void compile_basic_token_mode (_SLang_Token_Type *t)
+{
+ if (-1 == lang_check_space ())
+ return;
+
+ switch (t->type)
+ {
+ case PUSH_TOKEN:
+ case NOP_TOKEN:
+ case EOF_TOKEN:
+ case READONLY_TOKEN:
+ case DO_TOKEN:
+ case VARIABLE_TOKEN:
+ case SEMICOLON_TOKEN:
+ default:
+ SLang_verror (SL_SYNTAX_ERROR, "Unknown or unsupported token type 0x%X", t->type);
+ break;
+
+ case DEREF_TOKEN:
+ compile_call_direct (dereference_object, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case STRUCT_TOKEN:
+ compile_call_direct (_SLstruct_define_struct, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case TYPEDEF_TOKEN:
+ compile_call_direct (_SLstruct_define_typedef, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case TMP_TOKEN:
+ compile_tmp_variable (t->v.s_val, t->hash);
+ break;
+
+ case DOT_TOKEN: /* X . field */
+ compile_dot (t);
+ break;
+
+ case COMMA_TOKEN:
+ break; /* do nothing */
+
+ case IDENT_TOKEN:
+ compile_hashed_identifier (t->v.s_val, t->hash, t);
+ break;
+
+ case _REF_TOKEN:
+ compile_ref (t->v.s_val, t->hash);
+ break;
+
+ case ARG_TOKEN:
+ compile_call_direct (SLang_start_arg_list, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case EARG_TOKEN:
+ compile_lvar_call_direct (SLang_end_arg_list, _SLANG_BC_EARG_LVARIABLE, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case COLON_TOKEN:
+ if (This_Compile_Block_Type == COMPILE_BLOCK_TYPE_BLOCK)
+ compile_simple (_SLANG_BC_LABEL);
+ else SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case POP_TOKEN:
+ compile_call_direct (SLdo_pop, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case CASE_TOKEN:
+ if (This_Compile_Block_Type != COMPILE_BLOCK_TYPE_BLOCK)
+ SLang_verror (SL_SYNTAX_ERROR, "Misplaced 'case'");
+ else
+ compile_call_direct (case_function, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case CHAR_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_CHAR_TYPE);
+ break;
+ case SHORT_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_SHORT_TYPE);
+ break;
+ case INT_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_INT_TYPE);
+ break;
+ case UCHAR_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_UCHAR_TYPE);
+ break;
+ case USHORT_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_USHORT_TYPE);
+ break;
+ case UINT_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL_INT, SLANG_UINT_TYPE);
+ break;
+ case LONG_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_LONG_TYPE);
+ break;
+ case ULONG_TOKEN:
+ compile_integer (t->v.long_val, _SLANG_BC_LITERAL, SLANG_ULONG_TYPE);
+ break;
+
+#if SLANG_HAS_FLOAT
+ case FLOAT_TOKEN:
+ compile_float (t->v.s_val);
+ break;
+
+ case DOUBLE_TOKEN:
+ compile_double (t->v.s_val, SLANG_DOUBLE_TYPE);
+ break;
+#endif
+#if SLANG_HAS_COMPLEX
+ case COMPLEX_TOKEN:
+ compile_double (t->v.s_val, SLANG_COMPLEX_TYPE);
+ break;
+#endif
+
+ case STRING_TOKEN:
+ compile_string (t->v.s_val, t->hash);
+ break;
+
+ case _BSTRING_TOKEN:
+ compile_bstring (SLbstring_create ((unsigned char *)t->v.s_val, (unsigned int) t->hash));
+ break;
+
+ case BSTRING_TOKEN:
+ compile_bstring (t->v.b_val);
+ break;
+
+ case _NULL_TOKEN:
+ compile_identifier ("NULL", t);
+ break;
+
+ case _INLINE_WILDCARD_ARRAY_TOKEN:
+ compile_call_direct (_SLarray_wildcard_array, _SLANG_BC_CALL_DIRECT);
+ break;
+
+ case _INLINE_ARRAY_TOKEN:
+ compile_call_direct (_SLarray_inline_array, _SLANG_BC_CALL_DIRECT_FRAME);
+ break;
+
+ case _INLINE_IMPLICIT_ARRAY_TOKEN:
+ compile_call_direct (_SLarray_inline_implicit_array, _SLANG_BC_CALL_DIRECT_FRAME);
+ break;
+
+ case ARRAY_TOKEN:
+ compile_lvar_call_direct (_SLarray_aget, _SLANG_BC_LVARIABLE_AGET, _SLANG_BC_CALL_DIRECT_FRAME);
+ break;
+
+ /* Note: I need to add the other _ARRAY assign tokens. */
+ case _ARRAY_PLUSEQS_TOKEN:
+ case _ARRAY_MINUSEQS_TOKEN:
+ case _ARRAY_TIMESEQS_TOKEN:
+ case _ARRAY_DIVEQS_TOKEN:
+ case _ARRAY_BOREQS_TOKEN:
+ case _ARRAY_BANDEQS_TOKEN:
+ case _ARRAY_POST_MINUSMINUS_TOKEN:
+ case _ARRAY_MINUSMINUS_TOKEN:
+ case _ARRAY_POST_PLUSPLUS_TOKEN:
+ case _ARRAY_PLUSPLUS_TOKEN:
+ compile_array_assign (t);
+ break;
+
+ case _ARRAY_ASSIGN_TOKEN:
+ compile_lvar_call_direct (_SLarray_aput, _SLANG_BC_LVARIABLE_APUT, _SLANG_BC_CALL_DIRECT_FRAME);
+ break;
+
+ case _STRUCT_ASSIGN_TOKEN:
+ case _STRUCT_PLUSEQS_TOKEN:
+ case _STRUCT_MINUSEQS_TOKEN:
+ case _STRUCT_TIMESEQS_TOKEN:
+ case _STRUCT_DIVEQS_TOKEN:
+ case _STRUCT_BOREQS_TOKEN:
+ case _STRUCT_BANDEQS_TOKEN:
+ case _STRUCT_POST_MINUSMINUS_TOKEN:
+ case _STRUCT_MINUSMINUS_TOKEN:
+ case _STRUCT_POST_PLUSPLUS_TOKEN:
+ case _STRUCT_PLUSPLUS_TOKEN:
+ compile_struct_assign (t);
+ break;
+
+ case _SCALAR_ASSIGN_TOKEN:
+ case _SCALAR_PLUSEQS_TOKEN:
+ case _SCALAR_MINUSEQS_TOKEN:
+ case _SCALAR_TIMESEQS_TOKEN:
+ case _SCALAR_DIVEQS_TOKEN:
+ case _SCALAR_BOREQS_TOKEN:
+ case _SCALAR_BANDEQS_TOKEN:
+ case _SCALAR_POST_MINUSMINUS_TOKEN:
+ case _SCALAR_MINUSMINUS_TOKEN:
+ case _SCALAR_POST_PLUSPLUS_TOKEN:
+ case _SCALAR_PLUSPLUS_TOKEN:
+ compile_assign (_SLANG_BCST_ASSIGN + (t->type - _SCALAR_ASSIGN_TOKEN),
+ t->v.s_val, t->hash);
+ break;
+
+ case _DEREF_ASSIGN_TOKEN:
+ compile_deref_assign (t->v.s_val, t->hash);
+ break;
+
+ /* For processing RPN tokens */
+ case ASSIGN_TOKEN:
+ case PLUSEQS_TOKEN:
+ case MINUSEQS_TOKEN:
+ case TIMESEQS_TOKEN:
+ case DIVEQS_TOKEN:
+ case BOREQS_TOKEN:
+ case BANDEQS_TOKEN:
+ case POST_MINUSMINUS_TOKEN:
+ case MINUSMINUS_TOKEN:
+ case POST_PLUSPLUS_TOKEN:
+ case PLUSPLUS_TOKEN:
+ Compile_Mode_Function = compile_assign_mode;
+ Assign_Mode_Type = _SLANG_BCST_ASSIGN + (t->type - ASSIGN_TOKEN);
+ break;
+
+ case LT_TOKEN:
+ compile_binary (SLANG_LT);
+ break;
+
+ case LE_TOKEN:
+ compile_binary (SLANG_LE);
+ break;
+
+ case GT_TOKEN:
+ compile_binary (SLANG_GT);
+ break;
+
+ case GE_TOKEN:
+ compile_binary (SLANG_GE);
+ break;
+
+ case EQ_TOKEN:
+ compile_binary (SLANG_EQ);
+ break;
+
+ case NE_TOKEN:
+ compile_binary (SLANG_NE);
+ break;
+
+ case AND_TOKEN:
+ compile_binary (SLANG_AND);
+ break;
+
+ case ADD_TOKEN:
+ compile_fast_binary (SLANG_PLUS, _SLANG_BC_INTEGER_PLUS);
+ break;
+
+ case SUB_TOKEN:
+ compile_fast_binary (SLANG_MINUS, _SLANG_BC_INTEGER_MINUS);
+ break;
+
+ case TIMES_TOKEN:
+ compile_binary (SLANG_TIMES);
+ break;
+
+ case DIV_TOKEN:
+ compile_binary (SLANG_DIVIDE);
+ break;
+
+ case POW_TOKEN:
+ compile_binary (SLANG_POW);
+ break;
+
+ case BXOR_TOKEN:
+ compile_binary (SLANG_BXOR);
+ break;
+
+ case BAND_TOKEN:
+ compile_binary (SLANG_BAND);
+ break;
+
+ case BOR_TOKEN:
+ compile_binary (SLANG_BOR);
+ break;
+
+ case SHR_TOKEN:
+ compile_binary (SLANG_SHR);
+ break;
+
+ case SHL_TOKEN:
+ compile_binary (SLANG_SHL);
+ break;
+
+ case MOD_TOKEN:
+ compile_binary (SLANG_MOD);
+ break;
+
+ case OR_TOKEN:
+ compile_binary (SLANG_OR);
+ break;
+
+ case NOT_TOKEN:
+ compile_unary (SLANG_NOT, _SLANG_BC_UNARY);
+ break;
+
+ case BNOT_TOKEN:
+ compile_unary (SLANG_BNOT, _SLANG_BC_UNARY);
+ break;
+
+ case MUL2_TOKEN:
+ compile_unary (SLANG_MUL2, _SLANG_BC_UNARY_FUNC);
+ break;
+
+ case CHS_TOKEN:
+ compile_unary (SLANG_CHS, _SLANG_BC_UNARY_FUNC);
+ break;
+
+ case ABS_TOKEN:
+ compile_unary (SLANG_ABS, _SLANG_BC_UNARY_FUNC);
+ break;
+
+ case SQR_TOKEN:
+ compile_unary (SLANG_SQR, _SLANG_BC_UNARY_FUNC);
+ break;
+
+ case SIGN_TOKEN:
+ compile_unary (SLANG_SIGN, _SLANG_BC_UNARY_FUNC);
+ break;
+
+ case BREAK_TOKEN:
+ compile_break (_SLANG_BC_BREAK, 1, 0, "break");
+ break;
+
+ case RETURN_TOKEN:
+ compile_break (_SLANG_BC_RETURN, 0, 1, "return");
+ break;
+
+ case CONT_TOKEN:
+ compile_break (_SLANG_BC_CONTINUE, 1, 0, "continue");
+ break;
+
+ case EXCH_TOKEN:
+ compile_break (_SLANG_BC_EXCH, 0, 0, ""); /* FIXME: Priority=low */
+ break;
+
+ case STATIC_TOKEN:
+ if (Lang_Defining_Function == 0)
+ Compile_Mode_Function = compile_static_variable_mode;
+ else
+ SLang_verror (SL_NOT_IMPLEMENTED, "static variables not permitted in functions");
+ break;
+
+ case PRIVATE_TOKEN:
+ if (Lang_Defining_Function == 0)
+ Compile_Mode_Function = compile_private_variable_mode;
+ else
+ SLang_verror (SL_NOT_IMPLEMENTED, "private variables not permitted in functions");
+ break;
+
+ case PUBLIC_TOKEN:
+ if (Lang_Defining_Function == 0)
+ Compile_Mode_Function = compile_public_variable_mode;
+ else
+ SLang_verror (SL_NOT_IMPLEMENTED, "public variables not permitted in functions");
+ break;
+
+ case OBRACKET_TOKEN:
+ if (Lang_Defining_Function == 0)
+ Compile_Mode_Function = Default_Variable_Mode;
+ else
+ Compile_Mode_Function = compile_local_variable_mode;
+ break;
+
+ case OPAREN_TOKEN:
+ lang_begin_function ();
+ break;
+
+ case DEFINE_STATIC_TOKEN:
+ if (Lang_Defining_Function)
+ define_static_function (t->v.s_val, t->hash);
+ else SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case DEFINE_PRIVATE_TOKEN:
+ if (Lang_Defining_Function)
+ define_private_function (t->v.s_val, t->hash);
+ else SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case DEFINE_PUBLIC_TOKEN:
+ if (Lang_Defining_Function)
+ define_public_function (t->v.s_val, t->hash);
+ else SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case DEFINE_TOKEN:
+ if (Lang_Defining_Function)
+ (*Default_Define_Function) (t->v.s_val, t->hash);
+ else
+ SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case CPAREN_TOKEN:
+ if (Lang_Defining_Function)
+ Compile_Mode_Function = compile_function_mode;
+ else SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case CBRACE_TOKEN:
+ lang_end_block ();
+ Compile_Mode_Function = compile_directive_mode;
+ break;
+
+ case OBRACE_TOKEN:
+ lang_begin_block ();
+ break;
+
+ case FARG_TOKEN:
+ Function_Args_Number = Local_Variable_Number;
+ break;
+
+#if _SLANG_HAS_DEBUG_CODE
+ case LINE_NUM_TOKEN:
+ Compile_ByteCode_Ptr->bc_main_type = _SLANG_BC_LINE_NUM;
+ Compile_ByteCode_Ptr->b.l_blk = t->v.long_val;
+ lang_try_now ();
+ break;
+#endif
+ case POUND_TOKEN:
+ compile_call_direct (_SLarray_matrix_multiply, _SLANG_BC_CALL_DIRECT);
+ break;
+ }
+}
+
+void _SLcompile (_SLang_Token_Type *t)
+{
+ if (SLang_Error == 0)
+ {
+ if (Compile_Mode_Function != compile_basic_token_mode)
+ {
+ if (Compile_Mode_Function == NULL)
+ Compile_Mode_Function = compile_basic_token_mode;
+#if _SLANG_HAS_DEBUG_CODE
+ if (t->type == LINE_NUM_TOKEN)
+ {
+ compile_basic_token_mode (t);
+ return;
+ }
+#endif
+ }
+
+ (*Compile_Mode_Function) (t);
+ }
+
+ if (SLang_Error)
+ {
+ Compile_Mode_Function = compile_basic_token_mode;
+ SLang_restart (0);
+ }
+}
+
+void (*_SLcompile_ptr)(_SLang_Token_Type *) = _SLcompile;
+
+typedef struct _Compile_Context_Type
+{
+ struct _Compile_Context_Type *next;
+ SLang_NameSpace_Type *static_namespace;
+ void (*compile_variable_mode) (_SLang_Token_Type *);
+ void (*define_function) (char *, unsigned long);
+ int lang_defining_function;
+ int local_variable_number;
+ unsigned int function_args_number;
+ SLang_Name_Type **locals_hash_table;
+ void (*compile_mode_function)(_SLang_Token_Type *);
+#if _SLANG_HAS_DEBUG_CODE
+ char *compile_filename;
+#endif
+}
+Compile_Context_Type;
+
+static Compile_Context_Type *Compile_Context_Stack;
+
+/* The only way the push/pop_context functions can get called is via
+ * an eval type function. That can only happen when executed from a
+ * top level block. This means that Compile_ByteCode_Ptr can always be
+ * rest back to the beginning of a block.
+ */
+
+static int pop_compile_context (void)
+{
+ Compile_Context_Type *cc;
+
+ if (NULL == (cc = Compile_Context_Stack))
+ return -1;
+
+ This_Static_NameSpace = cc->static_namespace;
+ Compile_Context_Stack = cc->next;
+ Default_Variable_Mode = cc->compile_variable_mode;
+ Default_Define_Function = cc->define_function;
+ Compile_Mode_Function = cc->compile_mode_function;
+
+ Lang_Defining_Function = cc->lang_defining_function;
+ Local_Variable_Number = cc->local_variable_number;
+ Function_Args_Number = cc->function_args_number;
+
+#if _SLANG_HAS_DEBUG_CODE
+ SLang_free_slstring (This_Compile_Filename);
+ This_Compile_Filename = cc->compile_filename;
+#endif
+
+ SLfree ((char *) Locals_Hash_Table);
+ Locals_Hash_Table = cc->locals_hash_table;
+
+ SLfree ((char *) cc);
+
+ return 0;
+}
+
+static int push_compile_context (char *name)
+{
+ Compile_Context_Type *cc;
+ SLang_Name_Type **lns;
+
+ cc = (Compile_Context_Type *)SLmalloc (sizeof (Compile_Context_Type));
+ if (cc == NULL)
+ return -1;
+ memset ((char *) cc, 0, sizeof (Compile_Context_Type));
+
+ lns = (SLang_Name_Type **) SLcalloc (sizeof (SLang_Name_Type *), SLLOCALS_HASH_TABLE_SIZE);
+ if (lns == NULL)
+ {
+ SLfree ((char *) cc);
+ return -1;
+ }
+
+#if _SLANG_HAS_DEBUG_CODE
+ if ((name != NULL)
+ && (NULL == (name = SLang_create_slstring (name))))
+ {
+ SLfree ((char *) cc);
+ SLfree ((char *) lns);
+ return -1;
+ }
+
+ cc->compile_filename = This_Compile_Filename;
+ This_Compile_Filename = name;
+#endif
+
+ cc->static_namespace = This_Static_NameSpace;
+ cc->compile_variable_mode = Default_Variable_Mode;
+ cc->define_function = Default_Define_Function;
+ cc->locals_hash_table = Locals_Hash_Table;
+
+ cc->lang_defining_function = Lang_Defining_Function;
+ cc->local_variable_number = Local_Variable_Number;
+ cc->function_args_number = Function_Args_Number;
+ cc->locals_hash_table = Locals_Hash_Table;
+ cc->compile_mode_function = Compile_Mode_Function;
+
+ cc->next = Compile_Context_Stack;
+ Compile_Context_Stack = cc;
+
+ Compile_Mode_Function = compile_basic_token_mode;
+ Default_Variable_Mode = compile_public_variable_mode;
+ Default_Define_Function = define_public_function;
+ Lang_Defining_Function = 0;
+ Local_Variable_Number = 0;
+ Function_Args_Number = 0;
+ Locals_Hash_Table = lns;
+ return 0;
+}
+
+static int init_interpreter (void)
+{
+ SLang_NameSpace_Type *ns;
+
+ if (Global_NameSpace != NULL)
+ return 0;
+
+ if (NULL == (ns = _SLns_allocate_namespace ("***GLOBAL***", SLGLOBALS_HASH_TABLE_SIZE)))
+ return -1;
+ if (-1 == _SLns_set_namespace_name (ns, "Global"))
+ return -1;
+ Global_NameSpace = ns;
+
+ _SLRun_Stack = (SLang_Object_Type *) SLcalloc (SLANG_MAX_STACK_LEN,
+ sizeof (SLang_Object_Type));
+ if (_SLRun_Stack == NULL)
+ return -1;
+
+ _SLStack_Pointer = _SLRun_Stack;
+ _SLStack_Pointer_Max = _SLRun_Stack + SLANG_MAX_STACK_LEN;
+
+ SLShort_Blocks[0].bc_main_type = _SLANG_BC_RETURN;
+ SLShort_Blocks[2].bc_main_type = _SLANG_BC_BREAK;
+ SLShort_Blocks[4].bc_main_type = _SLANG_BC_CONTINUE;
+
+ Num_Args_Stack = (int *) SLmalloc (sizeof (int) * SLANG_MAX_RECURSIVE_DEPTH);
+ if (Num_Args_Stack == NULL)
+ {
+ SLfree ((char *) _SLRun_Stack);
+ return -1;
+ }
+ Recursion_Depth = 0;
+ Frame_Pointer_Stack = (unsigned int *) SLmalloc (sizeof (unsigned int) * SLANG_MAX_RECURSIVE_DEPTH);
+ if (Frame_Pointer_Stack == NULL)
+ {
+ SLfree ((char *) _SLRun_Stack);
+ SLfree ((char *)Num_Args_Stack);
+ return -1;
+ }
+ Frame_Pointer_Depth = 0;
+ Frame_Pointer = _SLRun_Stack;
+
+ Default_Variable_Mode = compile_public_variable_mode;
+ Default_Define_Function = define_public_function;
+ return 0;
+}
+
+static int add_generic_table (SLang_NameSpace_Type *ns,
+ SLang_Name_Type *table, char *pp_name,
+ unsigned int entry_len)
+{
+ SLang_Name_Type *t, **ns_table;
+ char *name;
+ unsigned int table_size;
+
+ if (-1 == init_interpreter ())
+ return -1;
+
+ if (ns == NULL)
+ ns = Global_NameSpace;
+
+ ns_table = ns->table;
+ table_size = ns->table_size;
+
+ if ((pp_name != NULL)
+ && (-1 == SLdefine_for_ifdef (pp_name)))
+ return -1;
+
+ t = table;
+ while (NULL != (name = t->name))
+ {
+ unsigned long hash;
+
+ /* Backward compatibility: '.' WAS used as hash marker */
+ if (*name == '.')
+ {
+ name++;
+ t->name = name;
+ }
+
+ if (NULL == (name = SLang_create_slstring (name)))
+ return -1;
+
+ t->name = name;
+
+ hash = _SLcompute_string_hash (name);
+ hash = hash % table_size;
+
+ t->next = ns_table [(unsigned int) hash];
+ ns_table [(unsigned int) hash] = t;
+
+ t = (SLang_Name_Type *) ((char *)t + entry_len);
+ }
+
+ return 0;
+}
+
+int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
+}
+
+int SLadd_intrin_var_table (SLang_Intrin_Var_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
+}
+
+int SLadd_app_unary_table (SLang_App_Unary_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
+}
+
+int SLadd_math_unary_table (SLang_Math_Unary_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
+}
+
+int SLadd_iconstant_table (SLang_IConstant_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
+}
+
+#if SLANG_HAS_FLOAT
+int SLadd_dconstant_table (SLang_DConstant_Type *tbl, char *pp)
+{
+ return add_generic_table (NULL, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
+}
+#endif
+
+/* ----------- */
+int SLns_add_intrin_fun_table (SLang_NameSpace_Type *ns, SLang_Intrin_Fun_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Fun_Type));
+}
+
+int SLns_add_intrin_var_table (SLang_NameSpace_Type *ns, SLang_Intrin_Var_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Intrin_Var_Type));
+}
+
+int SLns_add_app_unary_table (SLang_NameSpace_Type *ns, SLang_App_Unary_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_App_Unary_Type));
+}
+
+int SLns_add_math_unary_table (SLang_NameSpace_Type *ns, SLang_Math_Unary_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_Math_Unary_Type));
+}
+
+int SLns_add_iconstant_table (SLang_NameSpace_Type *ns, SLang_IConstant_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_IConstant_Type));
+}
+
+#if SLANG_HAS_FLOAT
+int SLns_add_dconstant_table (SLang_NameSpace_Type *ns, SLang_DConstant_Type *tbl, char *pp)
+{
+ return add_generic_table (ns, (SLang_Name_Type *) tbl, pp, sizeof (SLang_DConstant_Type));
+}
+#endif
+
+/* what is a bitmapped value:
+ * 1 intrin fun
+ * 2 user fun
+ * 4 intrin var
+ * 8 user defined var
+ */
+SLang_Array_Type *_SLang_apropos (char *namespace_name, char *pat, unsigned int what)
+{
+ SLang_NameSpace_Type *ns;
+
+ if (namespace_name == NULL)
+ namespace_name = "Global";
+
+ if (*namespace_name == 0)
+ ns = This_Static_NameSpace;
+ else ns = _SLns_find_namespace (namespace_name);
+
+ return _SLnspace_apropos (ns, pat, what);
+}
+
+void _SLang_implements_intrinsic (char *name)
+{
+ if (This_Static_NameSpace == NULL)
+ {
+ SLang_verror (SL_INTRINSIC_ERROR, "No namespace available");
+ return;
+ }
+
+ (void) _SLns_set_namespace_name (This_Static_NameSpace, name);
+
+ Default_Define_Function = define_static_function;
+ Default_Variable_Mode = compile_static_variable_mode;
+}
+
+void _SLang_use_namespace_intrinsic (char *name)
+{
+ SLang_NameSpace_Type *ns;
+
+ if (NULL == (ns = _SLns_find_namespace (name)))
+ {
+ SLang_verror (SL_INTRINSIC_ERROR, "Namespace %s does not exist", name);
+ return;
+ }
+ This_Static_NameSpace = ns;
+ if (Global_NameSpace == ns)
+ {
+ Default_Define_Function = define_public_function;
+ Default_Variable_Mode = compile_public_variable_mode;
+ }
+ else
+ {
+ Default_Define_Function = define_static_function;
+ Default_Variable_Mode = compile_static_variable_mode;
+ }
+}
+
+
+char *_SLang_cur_namespace_intrinsic (void)
+{
+ if (This_Static_NameSpace == NULL)
+ return "Global";
+
+ if (This_Static_NameSpace->namespace_name == NULL)
+ return "";
+
+ return This_Static_NameSpace->namespace_name;
+}
diff --git a/mdk-stage1/slang/slang.h b/mdk-stage1/slang/slang.h
new file mode 100644
index 000000000..900b14043
--- /dev/null
+++ b/mdk-stage1/slang/slang.h
@@ -0,0 +1,1930 @@
+#ifndef DAVIS_SLANG_H_
+#define DAVIS_SLANG_H_
+/* -*- mode: C; mode: fold; -*- */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#define SLANG_VERSION 10404
+#define SLANG_VERSION_STRING "1.4.4"
+
+/*{{{ System Dependent Macros and Typedefs */
+
+#if defined(__WATCOMC__) && defined(DOS)
+# ifndef __MSDOS__
+# define __MSDOS__
+# endif
+# ifndef DOS386
+# define DOS386
+# endif
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+#endif /* __watcomc__ */
+
+#if defined(unix) || defined(__unix)
+# ifndef __unix__
+# define __unix__ 1
+# endif
+#endif
+
+#if !defined(__GO32__)
+# ifdef __unix__
+# define REAL_UNIX_SYSTEM
+# endif
+#endif
+
+/* Set of the various defines for pc systems. This includes OS/2 */
+#ifdef __GO32__
+# ifndef __DJGPP__
+# define __DJGPP__ 1
+# endif
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+#endif
+
+#ifdef __BORLANDC__
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+#endif
+
+#ifdef __MSDOS__
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+#endif
+
+#if defined(OS2) || defined(__os2__)
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+# ifndef __os2__
+# define __os2__
+# endif
+#endif
+
+#if defined(__NT__) || defined(__MINGW32__) || defined(__CYGWIN32__)
+# ifndef IBMPC_SYSTEM
+# define IBMPC_SYSTEM
+# endif
+#endif
+
+#if defined(IBMPC_SYSTEM) || defined(VMS)
+# ifdef REAL_UNIX_SYSTEM
+# undef REAL_UNIX_SYSTEM
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if 0
+}
+#endif
+
+#include <stdio.h>
+#include <stdarg.h>
+#if defined(__STDC__) || defined(__BORLANDC__) || defined(__cplusplus)
+# include <stddef.h> /* for offsetof */
+#endif
+
+/* ---------------------------- Generic Macros ----------------------------- */
+
+/* __SC__ is defined for Symantec C++
+ DOS386 is defined for -mx memory model, 32 bit DOS extender. */
+
+#if defined(__SC__) && !defined(DOS386)
+# include <dos.h>
+#endif
+
+#if defined(__BORLANDC__)
+# include <alloc.h>
+#endif
+
+#if defined (__cplusplus) || defined(__STDC__) || defined(IBMPC_SYSTEM)
+ typedef void *VOID_STAR;
+#else
+ typedef unsigned char *VOID_STAR;
+#endif
+
+typedef int (*FVOID_STAR)(void);
+
+#if defined(__MSDOS_) && defined(__BORLANDC__)
+# define SLFREE(buf) farfree((void far *)(buf))
+# define SLMALLOC(x) farmalloc((unsigned long) (x))
+# define SLREALLOC(buf, n) farrealloc((void far *) (buf), (unsigned long) (n))
+# define SLCALLOC(n, m) farcalloc((unsigned long) (n), (unsigned long) (m))
+#else
+# if defined(VMS) && !defined(__DECC)
+# define SLFREE VAXC$FREE_OPT
+# define SLMALLOC VAXC$MALLOC_OPT
+# define SLREALLOC VAXC$REALLOC_OPT
+# define SLCALLOC VAXC$CALLOC_OPT
+# else
+# define SLFREE(x) free((char *)(x))
+# define SLMALLOC malloc
+# define SLREALLOC realloc
+# define SLCALLOC calloc
+# endif
+#endif
+
+ extern char *SLdebug_malloc (unsigned long);
+ extern char *SLdebug_calloc (unsigned long, unsigned long);
+ extern char *SLdebug_realloc (char *, unsigned long);
+ extern void SLdebug_free (char *);
+ extern void SLmalloc_dump_statistics (void);
+ extern char *SLstrcpy(register char *, register char *);
+ extern int SLstrcmp(register char *, register char *);
+ extern char *SLstrncpy(char *, register char *, register int);
+
+ extern void SLmemset (char *, char, int);
+ extern char *SLmemchr (register char *, register char, register int);
+ extern char *SLmemcpy (char *, char *, int);
+ extern int SLmemcmp (char *, char *, int);
+
+/*}}}*/
+
+/*{{{ Interpreter Typedefs */
+
+typedef struct _SLang_Name_Type
+{
+ char *name;
+ struct _SLang_Name_Type *next;
+ char name_type;
+ /* These values must be less than 0x10 because they map directly
+ * to byte codes. See _slang.h.
+ */
+#define SLANG_LVARIABLE 0x01
+#define SLANG_GVARIABLE 0x02
+#define SLANG_IVARIABLE 0x03 /* intrinsic variables */
+ /* Note!!! For Macro MAKE_VARIABLE below to work, SLANG_IVARIABLE Must
+ be 1 less than SLANG_RVARIABLE!!! */
+#define SLANG_RVARIABLE 0x04 /* read only variable */
+#define SLANG_INTRINSIC 0x05
+#define SLANG_FUNCTION 0x06
+#define SLANG_MATH_UNARY 0x07
+#define SLANG_APP_UNARY 0x08
+#define SLANG_ICONSTANT 0x09
+#define SLANG_DCONSTANT 0x0A
+#define SLANG_PVARIABLE 0x0B /* private */
+#define SLANG_PFUNCTION 0x0C /* private */
+
+ /* Rest of fields depend on name type */
+}
+SLang_Name_Type;
+
+typedef struct
+{
+ char *name;
+ struct _SLang_Name_Type *next; /* this is for the hash table */
+ char name_type;
+
+ FVOID_STAR i_fun; /* address of object */
+
+ /* Do not change this without modifying slang.c:execute_intrinsic_fun */
+#define SLANG_MAX_INTRIN_ARGS 7
+ unsigned char arg_types [SLANG_MAX_INTRIN_ARGS];
+ unsigned char num_args;
+ unsigned char return_type;
+}
+SLang_Intrin_Fun_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ VOID_STAR addr;
+ unsigned char type;
+}
+SLang_Intrin_Var_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ int unary_op;
+}
+SLang_App_Unary_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+
+ int unary_op;
+}
+SLang_Math_Unary_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+ int i;
+}
+SLang_IConstant_Type;
+
+typedef struct
+{
+ char *name;
+ SLang_Name_Type *next;
+ char name_type;
+ double d;
+}
+SLang_DConstant_Type;
+
+typedef struct
+{
+ char *field_name;
+ unsigned int offset;
+ unsigned char type;
+ unsigned char read_only;
+}
+SLang_IStruct_Field_Type;
+
+extern int SLadd_intrin_fun_table (SLang_Intrin_Fun_Type *, char *);
+extern int SLadd_intrin_var_table (SLang_Intrin_Var_Type *, char *);
+extern int SLadd_app_unary_table (SLang_App_Unary_Type *, char *);
+extern int SLadd_math_unary_table (SLang_Math_Unary_Type *, char *);
+extern int SLadd_iconstant_table (SLang_IConstant_Type *, char *);
+extern int SLadd_dconstant_table (SLang_DConstant_Type *, char *);
+extern int SLadd_istruct_table (SLang_IStruct_Field_Type *, VOID_STAR, char *);
+
+typedef struct _SLang_NameSpace_Type SLang_NameSpace_Type;
+
+extern int SLns_add_intrin_fun_table (SLang_NameSpace_Type *, SLang_Intrin_Fun_Type *, char *);
+extern int SLns_add_intrin_var_table (SLang_NameSpace_Type *, SLang_Intrin_Var_Type *, char *);
+extern int SLns_add_app_unary_table (SLang_NameSpace_Type *, SLang_App_Unary_Type *, char *);
+extern int SLns_add_math_unary_table (SLang_NameSpace_Type *, SLang_Math_Unary_Type *, char *);
+extern int SLns_add_iconstant_table (SLang_NameSpace_Type *, SLang_IConstant_Type *, char *);
+extern int SLns_add_dconstant_table (SLang_NameSpace_Type *, SLang_DConstant_Type *, char *);
+extern int SLns_add_istruct_table (SLang_NameSpace_Type *, SLang_IStruct_Field_Type *, VOID_STAR, char *);
+
+extern SLang_NameSpace_Type *SLns_create_namespace (char *);
+extern void SLns_delete_namespace (SLang_NameSpace_Type *);
+
+typedef struct SLang_Load_Type
+{
+ int type;
+
+ VOID_STAR client_data;
+ /* Pointer to data that client needs for loading */
+
+ int auto_declare_globals;
+ /* if non-zero, undefined global variables are declared as static */
+
+ char *(*read)(struct SLang_Load_Type *);
+ /* function to call to read next line from obj. */
+
+ unsigned int line_num;
+ /* Number of lines read, used for error reporting */
+
+ int parse_level;
+ /* 0 if at top level of parsing */
+
+ char *name;
+ /* Name of this object, e.g., filename. This name should be unique because
+ * it alone determines the name space for static objects associated with
+ * the compilable unit.
+ */
+
+ unsigned long reserved[4];
+ /* For future expansion */
+} SLang_Load_Type;
+
+extern SLang_Load_Type *SLallocate_load_type (char *);
+extern void SLdeallocate_load_type (SLang_Load_Type *);
+
+/* Returns SLang_Error upon failure */
+extern int SLang_load_object (SLang_Load_Type *);
+extern int (*SLang_Load_File_Hook)(char *);
+extern int (*SLang_Auto_Declare_Var_Hook) (char *);
+
+extern int SLang_generate_debug_info (int);
+
+
+#if defined(ultrix) && !defined(__GNUC__)
+# ifndef NO_PROTOTYPES
+# define NO_PROTOTYPES
+# endif
+#endif
+
+#ifndef NO_PROTOTYPES
+# define _PROTO(x) x
+#else
+# define _PROTO(x) ()
+#endif
+
+typedef struct SL_OOBinary_Type
+{
+ unsigned char data_type; /* partner type for binary op */
+
+ int (*binary_function)_PROTO((int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR));
+
+ int (*binary_result) _PROTO((int, unsigned char, unsigned char, unsigned char *));
+ struct SL_OOBinary_Type *next;
+}
+SL_OOBinary_Type;
+
+typedef struct _SL_Typecast_Type
+{
+ unsigned char data_type; /* to_type */
+ int allow_implicit;
+
+ int (*typecast)_PROTO((unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR));
+ struct _SL_Typecast_Type *next;
+}
+SL_Typecast_Type;
+
+typedef struct _SLang_Struct_Type SLang_Struct_Type;
+
+#if defined(SL_APP_WANTS_FOREACH)
+/* It is up to the application to define struct _SLang_Foreach_Context_Type */
+typedef struct _SLang_Foreach_Context_Type SLang_Foreach_Context_Type;
+#else
+typedef int SLang_Foreach_Context_Type;
+#endif
+
+typedef struct
+{
+ unsigned char cl_class_type;
+#define SLANG_CLASS_TYPE_MMT 0
+#define SLANG_CLASS_TYPE_SCALAR 1
+#define SLANG_CLASS_TYPE_VECTOR 2
+#define SLANG_CLASS_TYPE_PTR 3
+
+ unsigned int cl_data_type; /* SLANG_INTEGER_TYPE, etc... */
+ char *cl_name; /* slstring type */
+
+ unsigned int cl_sizeof_type;
+ VOID_STAR cl_transfer_buf; /* cl_sizeof_type bytes*/
+
+ /* Methods */
+
+ /* Most of the method functions are prototyped:
+ * int method (unsigned char type, VOID_STAR addr);
+ * Here, @type@ represents the type of object that the method is asked
+ * to deal with. The second parameter @addr@ will contain the ADDRESS of
+ * the object. For example, if type is SLANG_INT_TYPE, then @addr@ will
+ * actually be int *. Similary, if type is SLANG_STRING_TYPE,
+ * then @addr@ will contain the address of the string, i.e., char **.
+ */
+
+ void (*cl_destroy)_PROTO((unsigned char, VOID_STAR));
+ /* Prototype: void destroy(unsigned type, VOID_STAR val)
+ * Called to delete/free the object */
+
+ char *(*cl_string)_PROTO((unsigned char, VOID_STAR));
+ /* Prototype: char *to_string (unsigned char t, VOID_STAR p);
+ * Here p is a pointer to the object for which a string representation
+ * is to be returned. The returned pointer is to be a MALLOCED string.
+ */
+
+ /* Prototype: void push(unsigned char type, VOID_STAR v);
+ * Push a copy of the object of type @type@ at address @v@ onto the
+ * stack.
+ */
+ int (*cl_push)_PROTO((unsigned char, VOID_STAR));
+
+ /* Prototype: int pop(unsigned char type, VOID_STAR v);
+ * Pops value from stack and assign it to object, whose address is @v@.
+ */
+ int (*cl_pop)_PROTO((unsigned char, VOID_STAR));
+
+ int (*cl_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
+ int (*cl_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
+
+ int (*cl_app_unary_op_result_type)_PROTO((int, unsigned char, unsigned char *));
+ int (*cl_app_unary_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
+
+ /* If this function is non-NULL, it will be called for sin, cos, etc... */
+#define SLMATH_SIN 1
+#define SLMATH_COS 2
+#define SLMATH_TAN 3
+#define SLMATH_ATAN 4
+#define SLMATH_ASIN 5
+#define SLMATH_ACOS 6
+#define SLMATH_EXP 7
+#define SLMATH_LOG 8
+#define SLMATH_SQRT 9
+#define SLMATH_LOG10 10
+#define SLMATH_REAL 11
+#define SLMATH_IMAG 12
+#define SLMATH_SINH 13
+#define SLMATH_COSH 14
+#define SLMATH_TANH 15
+#define SLMATH_ATANH 16
+#define SLMATH_ASINH 17
+#define SLMATH_ACOSH 18
+#define SLMATH_TODOUBLE 19
+#define SLMATH_CONJ 20
+
+ int (*cl_math_op)_PROTO((int, unsigned char, VOID_STAR, unsigned int, VOID_STAR));
+ int (*cl_math_op_result_type)_PROTO((int, unsigned char, unsigned char *));
+
+ SL_OOBinary_Type *cl_binary_ops;
+ SL_Typecast_Type *cl_typecast_funs;
+
+ void (*cl_byte_code_destroy)_PROTO((unsigned char, VOID_STAR));
+ void (*cl_user_destroy_fun)_PROTO((unsigned char, VOID_STAR));
+ int (*cl_init_array_object)_PROTO((unsigned char, VOID_STAR));
+ int (*cl_datatype_deref)_PROTO((unsigned char));
+ SLang_Struct_Type *cl_struct_def;
+ int (*cl_dereference) _PROTO((unsigned char, VOID_STAR));
+ int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
+ int (*cl_apop) _PROTO((unsigned char, VOID_STAR));
+ int (*cl_apush) _PROTO((unsigned char, VOID_STAR));
+ int (*cl_push_literal) _PROTO((unsigned char, VOID_STAR));
+ void (*cl_adestroy)_PROTO((unsigned char, VOID_STAR));
+ int (*cl_push_intrinsic)_PROTO((unsigned char, VOID_STAR));
+ int (*cl_void_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
+
+ int (*cl_anytype_typecast)_PROTO((unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR));
+
+ /* Array access functions */
+ int (*cl_aput) (unsigned char, unsigned int);
+ int (*cl_aget) (unsigned char, unsigned int);
+ int (*cl_anew) (unsigned char, unsigned int);
+
+ /* length method */
+ int (*cl_length) (unsigned char, VOID_STAR, unsigned int *);
+
+ /* foreach */
+ SLang_Foreach_Context_Type *(*cl_foreach_open) (unsigned char, unsigned int);
+ void (*cl_foreach_close) (unsigned char, SLang_Foreach_Context_Type *);
+ int (*cl_foreach) (unsigned char, SLang_Foreach_Context_Type *);
+
+ /* Structure access: get and put (assign to) fields */
+ int (*cl_sput) (unsigned char, char *);
+ int (*cl_sget) (unsigned char, char *);
+
+ /* File I/O */
+ int (*cl_fread) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
+ int (*cl_fwrite) (unsigned char, FILE *, VOID_STAR, unsigned int, unsigned int *);
+ int (*cl_fdread) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
+ int (*cl_fdwrite) (unsigned char, int, VOID_STAR, unsigned int, unsigned int *);
+
+ int (*cl_to_bool) (unsigned char, int *);
+
+ int (*cl_cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
+
+} SLang_Class_Type;
+
+/* These are the low-level functions for building push/pop methods. They
+ * know nothing about memory management. For SLANG_CLASS_TYPE_MMT, use the
+ * MMT push/pop functions instead.
+ */
+extern int SLclass_push_double_obj (unsigned char, double);
+extern int SLclass_push_float_obj (unsigned char, float);
+extern int SLclass_push_long_obj (unsigned char, long);
+extern int SLclass_push_int_obj (unsigned char, int);
+extern int SLclass_push_short_obj (unsigned char, short);
+extern int SLclass_push_char_obj (unsigned char, char);
+extern int SLclass_push_ptr_obj (unsigned char, VOID_STAR);
+extern int SLclass_pop_double_obj (unsigned char, double *);
+extern int SLclass_pop_float_obj (unsigned char, float *);
+extern int SLclass_pop_long_obj (unsigned char, long *);
+extern int SLclass_pop_int_obj (unsigned char, int *);
+extern int SLclass_pop_short_obj (unsigned char, short *);
+extern int SLclass_pop_char_obj (unsigned char, char *);
+extern int SLclass_pop_ptr_obj (unsigned char, VOID_STAR *);
+
+extern SLang_Class_Type *SLclass_allocate_class (char *);
+extern int SLclass_get_class_id (SLang_Class_Type *cl);
+extern int SLclass_create_synonym (char *, unsigned char);
+extern int SLclass_is_class_defined (unsigned char);
+
+extern int SLclass_register_class (SLang_Class_Type *, unsigned char, unsigned int, unsigned char);
+extern int SLclass_set_string_function (SLang_Class_Type *, char *(*)(unsigned char, VOID_STAR));
+extern int SLclass_set_destroy_function (SLang_Class_Type *, void (*)(unsigned char, VOID_STAR));
+extern int SLclass_set_push_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
+extern int SLclass_set_pop_function (SLang_Class_Type *, int (*)(unsigned char, VOID_STAR));
+
+extern int SLclass_set_aget_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
+extern int SLclass_set_aput_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
+extern int SLclass_set_anew_function (SLang_Class_Type *, int (*)(unsigned char, unsigned int));
+
+extern int SLclass_set_sget_function (SLang_Class_Type *, int (*)(unsigned char, char *));
+extern int SLclass_set_sput_function (SLang_Class_Type *, int (*)(unsigned char, char *));
+
+/* Typecast object on the stack to type p1. p2 and p3 should be set to 1 */
+extern int SLclass_typecast (unsigned char, int, int);
+
+extern int SLclass_add_unary_op (unsigned char,
+ int (*) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*) (int, unsigned char, unsigned char *));
+
+extern int
+SLclass_add_app_unary_op (unsigned char,
+ int (*) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*) (int, unsigned char, unsigned char *));
+
+extern int
+SLclass_add_binary_op (unsigned char, unsigned char,
+ int (*) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*) (int, unsigned char, unsigned char, unsigned char *));
+
+extern int
+SLclass_add_math_op (unsigned char,
+ int (*)(int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*)(int, unsigned char, unsigned char *));
+
+extern int
+SLclass_add_typecast (unsigned char /* from */, unsigned char /* to */,
+ int (*)_PROTO((unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR)),
+ int /* allow implicit typecasts */
+ );
+
+extern char *SLclass_get_datatype_name (unsigned char);
+
+extern double SLcomplex_abs (double *);
+extern double *SLcomplex_times (double *, double *, double *);
+extern double *SLcomplex_divide (double *, double *, double *);
+extern double *SLcomplex_sin (double *, double *);
+extern double *SLcomplex_cos (double *, double *);
+extern double *SLcomplex_tan (double *, double *);
+extern double *SLcomplex_asin (double *, double *);
+extern double *SLcomplex_acos (double *, double *);
+extern double *SLcomplex_atan (double *, double *);
+extern double *SLcomplex_exp (double *, double *);
+extern double *SLcomplex_log (double *, double *);
+extern double *SLcomplex_log10 (double *, double *);
+extern double *SLcomplex_sqrt (double *, double *);
+extern double *SLcomplex_sinh (double *, double *);
+extern double *SLcomplex_cosh (double *, double *);
+extern double *SLcomplex_tanh (double *, double *);
+extern double *SLcomplex_pow (double *, double *, double *);
+extern double SLmath_hypot (double x, double y);
+
+/* Not implemented yet */
+extern double *SLcomplex_asinh (double *, double *);
+extern double *SLcomplex_acosh (double *, double *);
+extern double *SLcomplex_atanh (double *, double *);
+
+#ifdef _SLANG_SOURCE_
+typedef struct _SLang_MMT_Type SLang_MMT_Type;
+#else
+typedef int SLang_MMT_Type;
+#endif
+
+extern void SLang_free_mmt (SLang_MMT_Type *);
+extern VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *);
+extern SLang_MMT_Type *SLang_create_mmt (unsigned char, VOID_STAR);
+extern int SLang_push_mmt (SLang_MMT_Type *);
+extern SLang_MMT_Type *SLang_pop_mmt (unsigned char);
+extern void SLang_inc_mmt (SLang_MMT_Type *);
+
+/* Maximum number of dimensions of an array. */
+#define SLARRAY_MAX_DIMS 7
+typedef struct _SLang_Array_Type
+{
+ unsigned char data_type;
+ unsigned int sizeof_type;
+ VOID_STAR data;
+ unsigned int num_elements;
+ unsigned int num_dims;
+ int dims [SLARRAY_MAX_DIMS];
+ VOID_STAR (*index_fun)_PROTO((struct _SLang_Array_Type *, int *));
+ /* This function is designed to allow a type to store an array in
+ * any manner it chooses. This function returns the address of the data
+ * value at the specified index location.
+ */
+ unsigned int flags;
+#define SLARR_DATA_VALUE_IS_READ_ONLY 1
+#define SLARR_DATA_VALUE_IS_POINTER 2
+#define SLARR_DATA_VALUE_IS_RANGE 4
+#define SLARR_DATA_VALUE_IS_INTRINSIC 8
+ SLang_Class_Type *cl;
+ unsigned int num_refs;
+}
+SLang_Array_Type;
+
+extern int SLang_pop_array_of_type (SLang_Array_Type **, unsigned char);
+extern int SLang_pop_array (SLang_Array_Type **, int);
+extern int SLang_push_array (SLang_Array_Type *, int);
+extern void SLang_free_array (SLang_Array_Type *);
+extern SLang_Array_Type *SLang_create_array (unsigned char, int, VOID_STAR, int *, unsigned int);
+extern SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *);
+extern int SLang_get_array_element (SLang_Array_Type *, int *, VOID_STAR);
+extern int SLang_set_array_element (SLang_Array_Type *, int *, VOID_STAR);
+
+
+/*}}}*/
+
+/*{{{ Interpreter Function Prototypes */
+
+ extern volatile int SLang_Error;
+/* Non zero if error occurs. Must be reset to zero to continue. */
+/* error codes, severe errors are less than 0 */
+#define SL_APPLICATION_ERROR -2
+#define SL_VARIABLE_UNINITIALIZED -3
+#define SL_INTERNAL_ERROR -5
+#define SL_STACK_OVERFLOW -6
+#define SL_STACK_UNDERFLOW -7
+#define SL_UNDEFINED_NAME -8
+#define SL_SYNTAX_ERROR -9
+#define SL_DUPLICATE_DEFINITION -10
+#define SL_TYPE_MISMATCH -11
+#define SL_OBJ_UNKNOWN -13
+#define SL_UNKNOWN_ERROR -14
+#define SL_TYPE_UNDEFINED_OP_ERROR -16
+
+#define SL_INTRINSIC_ERROR 1
+/* Intrinsic error is an error generated by intrinsic functions */
+#define SL_USER_BREAK 2
+#define SL_DIVIDE_ERROR 3
+#define SL_OBJ_NOPEN 4
+#define SL_USER_ERROR 5
+#define SL_USAGE_ERROR 6
+#define SL_READONLY_ERROR 7
+#define SL_INVALID_PARM 8
+#define SL_NOT_IMPLEMENTED 9
+#define SL_MALLOC_ERROR 10
+#define SL_OVERFLOW 11
+#define SL_FLOATING_EXCEPTION 12
+
+/* Compatibility */
+#define USER_BREAK SL_USER_BREAK
+#define INTRINSIC_ERROR SL_INTRINSIC_ERROR
+
+ extern int SLang_Traceback;
+ /* If non-zero, dump an S-Lang traceback upon error. Available as
+ _traceback in S-Lang. */
+
+ extern char *SLang_User_Prompt;
+ /* Prompt to use when reading from stdin */
+ extern int SLang_Version;
+ extern char *SLang_Version_String;
+extern char *SLang_Doc_Dir;
+
+extern void (*SLang_VMessage_Hook) (char *, va_list);
+extern void SLang_vmessage (char *, ...);
+
+ extern void (*SLang_Error_Hook)(char *);
+ /* Pointer to application dependent error messaging routine. By default,
+ messages are displayed on stderr. */
+
+ extern void (*SLang_Exit_Error_Hook)(char *, va_list);
+ extern void SLang_exit_error (char *, ...);
+ extern void (*SLang_Dump_Routine)(char *);
+ /* Called if S-Lang traceback is enabled as well as other debugging
+ routines (e.g., trace). By default, these messages go to stderr. */
+
+ extern void (*SLang_Interrupt)(void);
+ /* function to call whenever inner interpreter is entered. This is
+ a good place to set SLang_Error to USER_BREAK. */
+
+ extern void (*SLang_User_Clear_Error)(void);
+ /* function that gets called when '_clear_error' is called. */
+
+ /* If non null, these call C functions before and after a slang function. */
+ extern void (*SLang_Enter_Function)(char *);
+extern void (*SLang_Exit_Function)(char *);
+
+extern int SLang_Num_Function_Args;
+
+/* Functions: */
+
+extern int SLang_init_all (void);
+/* Initializes interpreter and all modules */
+
+extern int SLang_init_slang (void);
+/* This function is mandatory and must be called by all applications that
+ * use the interpreter
+ */
+extern int SLang_init_posix_process (void); /* process specific intrinsics */
+extern int SLang_init_stdio (void); /* fgets, etc. stdio functions */
+extern int SLang_init_posix_dir (void);
+extern int SLang_init_ospath (void);
+
+extern int SLang_init_slmath (void);
+/* called if math functions sin, cos, etc... are needed. */
+
+ extern int SLang_init_slfile (void);
+ extern int SLang_init_slunix (void);
+ /* These functions are obsolte. Use init_stdio, posix_process, etc. */
+
+extern int SLang_init_slassoc (void);
+/* Assoc Arrays (Hashes) */
+
+extern int SLang_init_array (void);
+/* Additional arrays functions: transpose, etc... */
+
+/* Dynamic linking facility */
+extern int SLang_init_import (void);
+
+ extern int SLang_load_file (char *);
+ /* Load a file of S-Lang code for interpreting. If the parameter is
+ * NULL, input comes from stdin. */
+
+ extern void SLang_restart(int);
+ /* should be called if an error occurs. If the passed integer is
+ * non-zero, items are popped off the stack; otherwise, the stack is
+ * left intact. Any time the stack is believed to be trashed, this routine
+ * should be called with a non-zero argument (e.g., if setjmp/longjmp is
+ * called). */
+
+ extern int SLang_byte_compile_file(char *, int);
+ /* takes a file of S-Lang code and ``byte-compiles'' it for faster
+ * loading. The new filename is equivalent to the old except that a `c' is
+ * appended to the name. (e.g., init.sl --> init.slc). The second
+ * specified the method; currently, it is not used.
+ */
+
+ extern int SLang_autoload(char *, char *);
+ /* Automatically load S-Lang function p1 from file p2. This function
+ is also available via S-Lang */
+
+ extern int SLang_load_string(char *);
+ /* Like SLang_load_file except input is from a null terminated string. */
+
+ extern int SLdo_pop(void);
+ /* pops item off stack and frees any memory associated with it */
+ extern int SLdo_pop_n(unsigned int);
+ /* pops n items off stack and frees any memory associated with them */
+
+extern int SLang_pop_integer(int *);
+extern int SLang_pop_uinteger(unsigned int *);
+ /* pops integer *p0 from the stack. Returns 0 upon success and non-zero
+ * if the stack is empty or a type mismatch occurs, setting SLang_Error.
+ */
+extern int SLang_pop_char (char *);
+extern int SLang_pop_uchar (unsigned char *);
+extern int SLang_pop_short(short *);
+extern int SLang_pop_ushort(unsigned short *);
+extern int SLang_pop_long(long *);
+extern int SLang_pop_ulong(unsigned long *);
+
+extern int SLang_pop_float(float *);
+extern int SLang_pop_double(double *, int *, int *);
+ /* Pops double *p1 from stack. If *p3 is non-zero, *p1 was derived
+ from the integer *p2. Returns zero upon success. */
+
+ extern int SLang_pop_complex (double *, double *);
+
+ extern int SLpop_string (char **);
+ extern int SLang_pop_string(char **, int *);
+ /* pops string *p0 from stack. If *p1 is non-zero, the string must be
+ * freed after its use. DO NOT FREE p0 if *p1 IS ZERO! Returns 0 upon
+ * success */
+
+ extern int SLang_push_complex (double, double);
+
+ extern int SLang_push_char (char);
+ extern int SLang_push_uchar (unsigned char);
+
+ extern int SLang_push_integer(int);
+ extern int SLang_push_uinteger(unsigned int);
+ /* push integer p1 on stack */
+
+ extern int SLang_push_short(short);
+ extern int SLang_push_ushort(unsigned short);
+ extern int SLang_push_long(long);
+ extern int SLang_push_ulong(unsigned long);
+ extern int SLang_push_float(float);
+ extern int SLang_push_double(double);
+ /* Push double onto stack */
+
+ extern int SLang_push_string(char *);
+ /* Push string p1 onto stack */
+
+ extern int SLang_push_malloced_string(char *);
+ /* The normal SLang_push_string pushes an slstring. This one converts
+ * a normally malloced string to an slstring, and then frees the
+ * malloced string. So, do NOT use the malloced string after calling
+ * this routine because it will be freed! The routine returns -1 upon
+ * error, but the string will be freed.
+ */
+
+extern int SLang_push_null (void);
+extern int SLang_pop_null (void);
+
+extern int SLang_push_value (unsigned char type, VOID_STAR);
+extern int SLang_pop_value (unsigned char type, VOID_STAR);
+extern void SLang_free_value (unsigned char type, VOID_STAR);
+
+typedef struct _SLang_Object_Type SLang_Any_Type;
+
+extern int SLang_pop_anytype (SLang_Any_Type **);
+extern int SLang_push_anytype (SLang_Any_Type *);
+extern void SLang_free_anytype (SLang_Any_Type *);
+
+#ifdef _SLANG_SOURCE_
+typedef struct _SLang_Ref_Type SLang_Ref_Type;
+#else
+typedef int SLang_Ref_Type;
+#endif
+
+extern int SLang_pop_ref (SLang_Ref_Type **);
+extern void SLang_free_ref (SLang_Ref_Type *);
+extern int SLang_assign_to_ref (SLang_Ref_Type *, unsigned char, VOID_STAR);
+extern SLang_Name_Type *SLang_pop_function (void);
+extern SLang_Name_Type *SLang_get_fun_from_ref (SLang_Ref_Type *);
+extern void SLang_free_function (SLang_Name_Type *f);
+
+ extern int SLang_is_defined(char *);
+ /* Return non-zero is p1 is defined otherwise returns 0. */
+
+ extern int SLang_run_hooks(char *, unsigned int, ...);
+ /* calls S-Lang function p1 pushing p2 strings in the variable argument
+ * list onto the stack first.
+ * Returns -1 upon error, 1 if hooks exists and it ran,
+ * or 0 if hook does not exist. Thus it returns non-zero is hook was called.
+ */
+
+/* These functions return 1 if the indicated function exists and the function
+ * runs without error. If the function does not exist, the function returns
+ * 0. Otherwise -1 is returned with SLang_Error set appropriately.
+ */
+extern int SLexecute_function (SLang_Name_Type *);
+extern int SLang_execute_function(char *);
+
+
+extern int SLang_end_arg_list (void);
+extern int SLang_start_arg_list (void);
+
+extern void SLang_verror (int, char *, ...);
+
+extern void SLang_doerror(char *);
+ /* set SLang_Error and display p1 as error message */
+
+extern int SLang_add_intrinsic_array (char *, /* name */
+ unsigned char, /* type */
+ int, /* readonly */
+ VOID_STAR, /* data */
+ unsigned int, ...); /* num dims */
+
+extern int SLextract_list_element (char *, unsigned int, char,
+ char *, unsigned int);
+
+extern void SLexpand_escaped_string (register char *, register char *,
+ register char *);
+
+extern SLang_Name_Type *SLang_get_function (char *);
+extern void SLang_release_function (SLang_Name_Type *);
+
+extern int SLreverse_stack (int);
+extern int SLroll_stack (int);
+/* If argument p is positive, the top p objects on the stack are rolled
+ * up. If negative, the stack is rolled down.
+ */
+extern int SLdup_n (int n);
+/* Duplicate top n elements of stack */
+
+extern int SLang_peek_at_stack1 (void);
+extern int SLang_peek_at_stack (void);
+/* Returns type of next object on stack-- -1 upon stack underflow. */
+extern void SLmake_lut (unsigned char *, unsigned char *, unsigned char);
+
+ extern int SLang_guess_type (char *);
+
+extern int SLstruct_create_struct (unsigned int,
+ char **,
+ unsigned char *,
+ VOID_STAR *);
+
+/*}}}*/
+
+/*{{{ Misc Functions */
+
+/* This is an interface to atexit */
+extern int SLang_add_cleanup_function (void (*)(void));
+
+extern char *SLmake_string (char *);
+extern char *SLmake_nstring (char *, unsigned int);
+/* Returns a null terminated string made from the first n characters of the
+ * string.
+ */
+
+/* The string created by this routine must be freed by SLang_free_slstring
+ * and nothing else!! Also these strings must not be modified. Use
+ * SLmake_string if you intend to modify them!!
+ */
+extern char *SLang_create_nslstring (char *, unsigned int);
+extern char *SLang_create_slstring (char *);
+extern void SLang_free_slstring (char *); /* handles NULL */
+extern int SLang_pop_slstring (char **); /* free with SLang_free_slstring */
+extern char *SLang_concat_slstrings (char *a, char *b);
+extern char *SLang_create_static_slstring (char *); /* adds a string that will not get deleted */
+extern void SLstring_dump_stats (void);
+
+/* Binary strings */
+/* The binary string is an opaque type. Use the SLbstring_get_pointer function
+ * to get a pointer and length.
+ */
+typedef struct _SLang_BString_Type SLang_BString_Type;
+extern unsigned char *SLbstring_get_pointer (SLang_BString_Type *, unsigned int *);
+
+extern SLang_BString_Type *SLbstring_dup (SLang_BString_Type *);
+extern SLang_BString_Type *SLbstring_create (unsigned char *, unsigned int);
+
+/* The create_malloced function used the first argument which is assumed
+ * to be a pointer to a len + 1 malloced string. The extra byte is for
+ * \0 termination.
+ */
+extern SLang_BString_Type *SLbstring_create_malloced (unsigned char *, unsigned int, int);
+
+/* Create a bstring from an slstring */
+extern SLang_BString_Type *SLbstring_create_slstring (char *);
+
+extern void SLbstring_free (SLang_BString_Type *);
+extern int SLang_pop_bstring (SLang_BString_Type **);
+extern int SLang_push_bstring (SLang_BString_Type *);
+
+extern char *SLmalloc (unsigned int);
+extern char *SLcalloc (unsigned int, unsigned int);
+extern void SLfree(char *); /* This function handles NULL */
+extern char *SLrealloc (char *, unsigned int);
+
+extern char *SLcurrent_time_string (void);
+
+extern int SLatoi(unsigned char *);
+extern long SLatol (unsigned char *);
+extern unsigned long SLatoul (unsigned char *);
+
+extern int SLang_pop_fileptr (SLang_MMT_Type **, FILE **);
+extern char *SLang_get_name_from_fileptr (SLang_MMT_Type *);
+
+typedef struct _SLFile_FD_Type SLFile_FD_Type;
+extern SLFile_FD_Type *SLfile_create_fd (char *, int);
+extern void SLfile_free_fd (SLFile_FD_Type *);
+extern int SLfile_push_fd (SLFile_FD_Type *);
+extern int SLfile_pop_fd (SLFile_FD_Type **);
+extern int SLfile_get_fd (SLFile_FD_Type *, int *);
+extern SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0);
+extern int SLang_init_posix_io (void);
+
+typedef double (*SLang_To_Double_Fun_Type)(VOID_STAR);
+extern SLang_To_Double_Fun_Type SLarith_get_to_double_fun (unsigned char, unsigned int *);
+
+extern int SLang_set_argc_argv (int, char **);
+
+/*}}}*/
+
+/*{{{ SLang getkey interface Functions */
+
+#ifdef REAL_UNIX_SYSTEM
+extern int SLang_TT_Baud_Rate;
+extern int SLang_TT_Read_FD;
+#endif
+
+extern int SLang_init_tty (int, int, int);
+/* Initializes the tty for single character input. If the first parameter *p1
+ * is in the range 0-255, it will be used for the abort character;
+ * otherwise, (unix only) if it is -1, the abort character will be the one
+ * used by the terminal. If the second parameter p2 is non-zero, flow
+ * control is enabled. If the last parmeter p3 is zero, output processing
+ * is NOT turned on. A value of zero is required for the screen management
+ * routines. Returns 0 upon success. In addition, if SLang_TT_Baud_Rate ==
+ * 0 when this function is called, SLang will attempt to determine the
+ * terminals baud rate. As far as the SLang library is concerned, if
+ * SLang_TT_Baud_Rate is less than or equal to zero, the baud rate is
+ * effectively infinite.
+ */
+
+extern void SLang_reset_tty (void);
+/* Resets tty to what it was prior to a call to SLang_init_tty */
+#ifdef REAL_UNIX_SYSTEM
+extern void SLtty_set_suspend_state (int);
+ /* If non-zero argument, terminal driver will be told to react to the
+ * suspend character. If 0, it will not.
+ */
+extern int (*SLang_getkey_intr_hook) (void);
+#endif
+
+#define SLANG_GETKEY_ERROR 0xFFFF
+extern unsigned int SLang_getkey (void);
+/* reads a single key from the tty. If the read fails, 0xFFFF is returned. */
+
+#ifdef IBMPC_SYSTEM
+extern int SLgetkey_map_to_ansi (int);
+#endif
+
+extern int SLang_ungetkey_string (unsigned char *, unsigned int);
+extern int SLang_buffer_keystring (unsigned char *, unsigned int);
+extern int SLang_ungetkey (unsigned char);
+extern void SLang_flush_input (void);
+extern int SLang_input_pending (int);
+extern int SLang_Abort_Char;
+/* The value of the character (0-255) used to trigger SIGINT */
+extern int SLang_Ignore_User_Abort;
+/* If non-zero, pressing the abort character will not result in USER_BREAK
+ * SLang_Error. */
+
+extern int SLang_set_abort_signal (void (*)(int));
+/* If SIGINT is generated, the function p1 will be called. If p1 is NULL
+ * the SLang_default signal handler is called. This sets SLang_Error to
+ * USER_BREAK. I suspect most users will simply want to pass NULL.
+ */
+extern unsigned int SLang_Input_Buffer_Len;
+
+extern volatile int SLKeyBoard_Quit;
+
+#ifdef VMS
+/* If this function returns -1, ^Y will be added to input buffer. */
+extern int (*SLtty_VMS_Ctrl_Y_Hook) (void);
+#endif
+/*}}}*/
+
+/*{{{ SLang Keymap routines */
+
+typedef struct SLKeymap_Function_Type
+{
+ char *name;
+ int (*f)(void);
+}
+SLKeymap_Function_Type;
+
+#define SLANG_MAX_KEYMAP_KEY_SEQ 14
+typedef struct SLang_Key_Type
+{
+ struct SLang_Key_Type *next;
+ union
+ {
+ char *s;
+ FVOID_STAR f;
+ unsigned int keysym;
+ }
+ f;
+ unsigned char type; /* type of function */
+#define SLKEY_F_INTERPRET 0x01
+#define SLKEY_F_INTRINSIC 0x02
+#define SLKEY_F_KEYSYM 0x03
+ unsigned char str[SLANG_MAX_KEYMAP_KEY_SEQ + 1];/* key sequence */
+}
+SLang_Key_Type;
+
+typedef struct SLKeyMap_List_Type
+{
+ char *name; /* hashed string */
+ SLang_Key_Type *keymap;
+ SLKeymap_Function_Type *functions; /* intrinsic functions */
+}
+SLKeyMap_List_Type;
+
+/* This is arbitrary but I have got to start somewhere */
+#define SLANG_MAX_KEYMAPS 30
+extern SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
+
+extern char *SLang_process_keystring(char *);
+
+extern int SLkm_define_key (char *, FVOID_STAR, SLKeyMap_List_Type *);
+
+extern int SLang_define_key(char *, char *, SLKeyMap_List_Type *);
+/* Like define_key1 except that p2 is a string that is to be associated with
+ * a function in the functions field of p3. This routine calls define_key1.
+ */
+
+extern int SLkm_define_keysym (char *, unsigned int, SLKeyMap_List_Type *);
+
+extern void SLang_undefine_key(char *, SLKeyMap_List_Type *);
+
+extern SLKeyMap_List_Type *SLang_create_keymap(char *, SLKeyMap_List_Type *);
+/* create and returns a pointer to a new keymap named p1 created by copying
+ * keymap p2. If p2 is NULL, it is up to the calling routine to initialize
+ * the keymap.
+ */
+
+extern char *SLang_make_keystring(unsigned char *);
+
+extern SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *, int (*)(void));
+/* read a key using keymap p1 with getkey function p2 */
+
+extern
+ FVOID_STAR
+ SLang_find_key_function(char *, SLKeyMap_List_Type *);
+
+extern SLKeyMap_List_Type *SLang_find_keymap(char *);
+
+extern int SLang_Last_Key_Char;
+extern int SLang_Key_TimeOut_Flag;
+
+/*}}}*/
+
+/*{{{ SLang Readline Interface */
+
+typedef struct SLang_Read_Line_Type
+{
+ struct SLang_Read_Line_Type *prev, *next;
+ unsigned char *buf;
+ int buf_len; /* number of chars in the buffer */
+ int num; /* num and misc are application specific*/
+ int misc;
+} SLang_Read_Line_Type;
+
+/* Maximum size of display */
+#define SLRL_DISPLAY_BUFFER_SIZE 256
+
+typedef struct
+{
+ SLang_Read_Line_Type *root, *tail, *last;
+ unsigned char *buf; /* edit buffer */
+ int buf_len; /* sizeof buffer */
+ int point; /* current editing point */
+ int tab; /* tab width */
+ int len; /* current line size */
+
+ /* display variables */
+ int edit_width; /* length of display field */
+ int curs_pos; /* current column */
+ int start_column; /* column offset of display */
+ int dhscroll; /* amount to use for horiz scroll */
+ char *prompt;
+
+ FVOID_STAR last_fun; /* last function executed by rl */
+
+ /* These two contain an image of what is on the display */
+ unsigned char upd_buf1[SLRL_DISPLAY_BUFFER_SIZE];
+ unsigned char upd_buf2[SLRL_DISPLAY_BUFFER_SIZE];
+ unsigned char *old_upd, *new_upd; /* pointers to previous two buffers */
+ int new_upd_len, old_upd_len; /* length of output buffers */
+
+ SLKeyMap_List_Type *keymap;
+
+ /* tty variables */
+ unsigned int flags; /* */
+#define SL_RLINE_NO_ECHO 1
+#define SL_RLINE_USE_ANSI 2
+#define SL_RLINE_BLINK_MATCH 4
+ unsigned int (*getkey)(void); /* getkey function -- required */
+ void (*tt_goto_column)(int);
+ void (*tt_insert)(char);
+ void (*update_hook)(unsigned char *, int, int);
+ /* The update hook is called with a pointer to a buffer p1 that contains
+ * an image of what the update hook is suppoed to produce. The length
+ * of the buffer is p2 and after the update, the cursor is to be placed
+ * in column p3.
+ */
+ /* This function is only called when blinking matches */
+ int (*input_pending)(int);
+ unsigned long reserved[4];
+} SLang_RLine_Info_Type;
+
+extern int SLang_RL_EOF_Char;
+
+extern SLang_Read_Line_Type * SLang_rline_save_line (SLang_RLine_Info_Type *);
+extern int SLang_init_readline (SLang_RLine_Info_Type *);
+extern int SLang_read_line (SLang_RLine_Info_Type *);
+extern int SLang_rline_insert (char *);
+extern void SLrline_redraw (SLang_RLine_Info_Type *);
+extern int SLang_Rline_Quit;
+
+/*}}}*/
+
+/*{{{ Low Level Screen Output Interface */
+
+extern unsigned long SLtt_Num_Chars_Output;
+extern int SLtt_Baud_Rate;
+
+typedef unsigned long SLtt_Char_Type;
+
+#define SLTT_BOLD_MASK 0x01000000UL
+#define SLTT_BLINK_MASK 0x02000000UL
+#define SLTT_ULINE_MASK 0x04000000UL
+#define SLTT_REV_MASK 0x08000000UL
+#define SLTT_ALTC_MASK 0x10000000UL
+
+extern int SLtt_Screen_Rows;
+extern int SLtt_Screen_Cols;
+extern int SLtt_Term_Cannot_Insert;
+extern int SLtt_Term_Cannot_Scroll;
+extern int SLtt_Use_Ansi_Colors;
+extern int SLtt_Ignore_Beep;
+#if defined(REAL_UNIX_SYSTEM)
+extern int SLtt_Force_Keypad_Init;
+extern int SLang_TT_Write_FD;
+#endif
+
+#ifndef IBMPC_SYSTEM
+extern char *SLtt_Graphics_Char_Pairs;
+#endif
+
+#ifndef __GO32__
+#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
+extern int SLtt_Blink_Mode;
+extern int SLtt_Use_Blink_For_ACS;
+extern int SLtt_Newline_Ok;
+extern int SLtt_Has_Alt_Charset;
+extern int SLtt_Has_Status_Line; /* if 0, NO. If > 0, YES, IF -1, ?? */
+# ifndef VMS
+extern int SLtt_Try_Termcap;
+# endif
+#endif
+#endif
+
+#if defined(IBMPC_SYSTEM)
+extern int SLtt_Msdos_Cheap_Video;
+#endif
+
+typedef unsigned short SLsmg_Char_Type;
+#define SLSMG_EXTRACT_CHAR(x) ((x) & 0xFF)
+#define SLSMG_EXTRACT_COLOR(x) (((x)>>8)&0xFF)
+#define SLSMG_BUILD_CHAR(ch,color) (((SLsmg_Char_Type)(unsigned char)(ch))|((color)<<8))
+
+extern int SLtt_flush_output (void);
+extern void SLtt_set_scroll_region(int, int);
+extern void SLtt_reset_scroll_region(void);
+extern void SLtt_reverse_video (int);
+extern void SLtt_bold_video (void);
+extern void SLtt_begin_insert(void);
+extern void SLtt_end_insert(void);
+extern void SLtt_del_eol(void);
+extern void SLtt_goto_rc (int, int);
+extern void SLtt_delete_nlines(int);
+extern void SLtt_delete_char(void);
+extern void SLtt_erase_line(void);
+extern void SLtt_normal_video(void);
+extern void SLtt_cls(void);
+extern void SLtt_beep(void);
+extern void SLtt_reverse_index(int);
+extern void SLtt_smart_puts(SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
+extern void SLtt_write_string (char *);
+extern void SLtt_putchar(char);
+extern int SLtt_init_video (void);
+extern int SLtt_reset_video (void);
+extern void SLtt_get_terminfo(void);
+extern void SLtt_get_screen_size (void);
+extern int SLtt_set_cursor_visibility (int);
+
+extern int SLtt_set_mouse_mode (int, int);
+
+#if defined(VMS) || defined(REAL_UNIX_SYSTEM)
+extern int SLtt_initialize (char *);
+extern void SLtt_enable_cursor_keys(void);
+extern void SLtt_set_term_vtxxx(int *);
+extern void SLtt_set_color_esc (int, char *);
+extern void SLtt_wide_width(void);
+extern void SLtt_narrow_width(void);
+extern void SLtt_set_alt_char_set (int);
+extern int SLtt_write_to_status_line (char *, int);
+extern void SLtt_disable_status_line (void);
+# ifdef REAL_UNIX_SYSTEM
+/* These are termcap/terminfo routines that assume SLtt_initialize has
+ * been called.
+ */
+extern char *SLtt_tgetstr (char *);
+extern int SLtt_tgetnum (char *);
+extern int SLtt_tgetflag (char *);
+
+/* The following are terminfo-only routines -- these prototypes will change
+ * in V2.x.
+ */
+extern char *SLtt_tigetent (char *);
+extern char *SLtt_tigetstr (char *, char **);
+extern int SLtt_tigetnum (char *, char **);
+# endif
+#endif
+
+extern SLtt_Char_Type SLtt_get_color_object (int);
+extern void SLtt_set_color_object (int, SLtt_Char_Type);
+extern void SLtt_set_color (int, char *, char *, char *);
+extern void SLtt_set_mono (int, char *, SLtt_Char_Type);
+extern void SLtt_add_color_attribute (int, SLtt_Char_Type);
+extern void SLtt_set_color_fgbg (int, SLtt_Char_Type, SLtt_Char_Type);
+
+/*}}}*/
+
+/*{{{ SLang Preprocessor Interface */
+
+typedef struct
+{
+ int this_level;
+ int exec_level;
+ int prev_exec_level;
+ char preprocess_char;
+ char comment_char;
+ unsigned char flags;
+#define SLPREP_BLANK_LINES_OK 1
+#define SLPREP_COMMENT_LINES_OK 2
+}
+SLPreprocess_Type;
+
+extern int SLprep_open_prep (SLPreprocess_Type *);
+extern void SLprep_close_prep (SLPreprocess_Type *);
+extern int SLprep_line_ok (char *, SLPreprocess_Type *);
+ extern int SLdefine_for_ifdef (char *);
+ /* Adds a string to the SLang #ifdef preparsing defines. SLang already
+ defines MSDOS, UNIX, and VMS on the appropriate system. */
+extern int (*SLprep_exists_hook) (char *, char);
+
+/*}}}*/
+
+/*{{{ SLsmg Screen Management Functions */
+
+extern void SLsmg_fill_region (int, int, unsigned int, unsigned int, unsigned char);
+extern void SLsmg_set_char_set (int);
+#ifndef IBMPC_SYSTEM
+extern int SLsmg_Scroll_Hash_Border;
+#endif
+extern int SLsmg_suspend_smg (void);
+extern int SLsmg_resume_smg (void);
+extern void SLsmg_erase_eol (void);
+extern void SLsmg_gotorc (int, int);
+extern void SLsmg_erase_eos (void);
+extern void SLsmg_reverse_video (void);
+extern void SLsmg_set_color (int);
+extern void SLsmg_normal_video (void);
+extern void SLsmg_printf (char *, ...);
+extern void SLsmg_vprintf (char *, va_list);
+extern void SLsmg_write_string (char *);
+extern void SLsmg_write_nstring (char *, unsigned int);
+extern void SLsmg_write_char (char);
+extern void SLsmg_write_nchars (char *, unsigned int);
+extern void SLsmg_write_wrapped_string (char *, int, int, unsigned int, unsigned int, int);
+extern void SLsmg_cls (void);
+extern void SLsmg_refresh (void);
+extern void SLsmg_touch_lines (int, unsigned int);
+extern void SLsmg_touch_screen (void);
+extern int SLsmg_init_smg (void);
+extern int SLsmg_reinit_smg (void);
+extern void SLsmg_reset_smg (void);
+extern SLsmg_Char_Type SLsmg_char_at(void);
+extern void SLsmg_set_screen_start (int *, int *);
+extern void SLsmg_draw_hline (unsigned int);
+extern void SLsmg_draw_vline (int);
+extern void SLsmg_draw_object (int, int, unsigned char);
+extern void SLsmg_draw_box (int, int, unsigned int, unsigned int);
+extern int SLsmg_get_column(void);
+extern int SLsmg_get_row(void);
+extern void SLsmg_forward (int);
+extern void SLsmg_write_color_chars (SLsmg_Char_Type *, unsigned int);
+extern unsigned int SLsmg_read_raw (SLsmg_Char_Type *, unsigned int);
+extern unsigned int SLsmg_write_raw (SLsmg_Char_Type *, unsigned int);
+extern void SLsmg_set_color_in_region (int, int, int, unsigned int, unsigned int);
+extern int SLsmg_Display_Eight_Bit;
+extern int SLsmg_Tab_Width;
+
+#define SLSMG_NEWLINE_IGNORED 0 /* default */
+#define SLSMG_NEWLINE_MOVES 1 /* moves to next line, column 0 */
+#define SLSMG_NEWLINE_SCROLLS 2 /* moves but scrolls at bottom of screen */
+#define SLSMG_NEWLINE_PRINTABLE 3 /* prints as ^J */
+extern int SLsmg_Newline_Behavior;
+
+extern int SLsmg_Backspace_Moves;
+
+#ifdef IBMPC_SYSTEM
+# define SLSMG_HLINE_CHAR 0xC4
+# define SLSMG_VLINE_CHAR 0xB3
+# define SLSMG_ULCORN_CHAR 0xDA
+# define SLSMG_URCORN_CHAR 0xBF
+# define SLSMG_LLCORN_CHAR 0xC0
+# define SLSMG_LRCORN_CHAR 0xD9
+# define SLSMG_RTEE_CHAR 0xB4
+# define SLSMG_LTEE_CHAR 0xC3
+# define SLSMG_UTEE_CHAR 0xC2
+# define SLSMG_DTEE_CHAR 0xC1
+# define SLSMG_PLUS_CHAR 0xC5
+/* There are several to choose from: 0xB0, 0xB1, and 0xB2 */
+# define SLSMG_CKBRD_CHAR 0xB0
+# define SLSMG_DIAMOND_CHAR 0x04
+# define SLSMG_DEGREE_CHAR 0xF8
+# define SLSMG_PLMINUS_CHAR 0xF1
+# define SLSMG_BULLET_CHAR 0xF9
+# define SLSMG_LARROW_CHAR 0x1B
+# define SLSMG_RARROW_CHAR 0x1A
+# define SLSMG_DARROW_CHAR 0x19
+# define SLSMG_UARROW_CHAR 0x18
+# define SLSMG_BOARD_CHAR 0xB2
+# define SLSMG_BLOCK_CHAR 0xDB
+#else
+# if defined(AMIGA)
+# define SLSMG_HLINE_CHAR '-'
+# define SLSMG_VLINE_CHAR '|'
+# define SLSMG_ULCORN_CHAR '+'
+# define SLSMG_URCORN_CHAR '+'
+# define SLSMG_LLCORN_CHAR '+'
+# define SLSMG_LRCORN_CHAR '+'
+# define SLSMG_CKBRD_CHAR '#'
+# define SLSMG_RTEE_CHAR '+'
+# define SLSMG_LTEE_CHAR '+'
+# define SLSMG_UTEE_CHAR '+'
+# define SLSMG_DTEE_CHAR '+'
+# define SLSMG_PLUS_CHAR '+'
+# define SLSMG_DIAMOND_CHAR '+'
+# define SLSMG_DEGREE_CHAR '\\'
+# define SLSMG_PLMINUS_CHAR '#'
+# define SLSMG_BULLET_CHAR 'o'
+# define SLSMG_LARROW_CHAR '<'
+# define SLSMG_RARROW_CHAR '>'
+# define SLSMG_DARROW_CHAR 'v'
+# define SLSMG_UARROW_CHAR '^'
+# define SLSMG_BOARD_CHAR '#'
+# define SLSMG_BLOCK_CHAR '#'
+# else
+# define SLSMG_HLINE_CHAR 'q'
+# define SLSMG_VLINE_CHAR 'x'
+# define SLSMG_ULCORN_CHAR 'l'
+# define SLSMG_URCORN_CHAR 'k'
+# define SLSMG_LLCORN_CHAR 'm'
+# define SLSMG_LRCORN_CHAR 'j'
+# define SLSMG_CKBRD_CHAR 'a'
+# define SLSMG_RTEE_CHAR 'u'
+# define SLSMG_LTEE_CHAR 't'
+# define SLSMG_UTEE_CHAR 'w'
+# define SLSMG_DTEE_CHAR 'v'
+# define SLSMG_PLUS_CHAR 'n'
+# define SLSMG_DIAMOND_CHAR '`'
+# define SLSMG_DEGREE_CHAR 'f'
+# define SLSMG_PLMINUS_CHAR 'g'
+# define SLSMG_BULLET_CHAR '~'
+# define SLSMG_LARROW_CHAR ','
+# define SLSMG_RARROW_CHAR '+'
+# define SLSMG_DARROW_CHAR '.'
+# define SLSMG_UARROW_CHAR '-'
+# define SLSMG_BOARD_CHAR 'h'
+# define SLSMG_BLOCK_CHAR '0'
+# endif /* AMIGA */
+#endif /* IBMPC_SYSTEM */
+
+#ifndef IBMPC_SYSTEM
+# define SLSMG_COLOR_BLACK 0x000000
+# define SLSMG_COLOR_RED 0x000001
+# define SLSMG_COLOR_GREEN 0x000002
+# define SLSMG_COLOR_BROWN 0x000003
+# define SLSMG_COLOR_BLUE 0x000004
+# define SLSMG_COLOR_MAGENTA 0x000005
+# define SLSMG_COLOR_CYAN 0x000006
+# define SLSMG_COLOR_LGRAY 0x000007
+# define SLSMG_COLOR_GRAY 0x000008
+# define SLSMG_COLOR_BRIGHT_RED 0x000009
+# define SLSMG_COLOR_BRIGHT_GREEN 0x00000A
+# define SLSMG_COLOR_BRIGHT_BROWN 0x00000B
+# define SLSMG_COLOR_BRIGHT_BLUE 0x00000C
+# define SLSMG_COLOR_BRIGHT_CYAN 0x00000D
+# define SLSMG_COLOR_BRIGHT_MAGENTA 0x00000E
+# define SLSMG_COLOR_BRIGHT_WHITE 0x00000F
+#endif
+
+typedef struct
+{
+ void (*tt_normal_video)(void);
+ void (*tt_set_scroll_region)(int, int);
+ void (*tt_goto_rc)(int, int);
+ void (*tt_reverse_index)(int);
+ void (*tt_reset_scroll_region)(void);
+ void (*tt_delete_nlines)(int);
+ void (*tt_cls) (void);
+ void (*tt_del_eol) (void);
+ void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int);
+ int (*tt_flush_output) (void);
+ int (*tt_reset_video) (void);
+ int (*tt_init_video) (void);
+
+ int *tt_screen_rows;
+ int *tt_screen_cols;
+
+ int *tt_term_cannot_scroll;
+ int *tt_has_alt_charset;
+ int *tt_use_blink_for_acs;
+ char **tt_graphic_char_pairs;
+
+ long reserved[4];
+}
+SLsmg_Term_Type;
+extern void SLsmg_set_terminal_info (SLsmg_Term_Type *);
+
+/*}}}*/
+
+/*{{{ SLang Keypad Interface */
+
+#define SL_KEY_ERR 0xFFFF
+
+#define SL_KEY_UP 0x101
+#define SL_KEY_DOWN 0x102
+#define SL_KEY_LEFT 0x103
+#define SL_KEY_RIGHT 0x104
+#define SL_KEY_PPAGE 0x105
+#define SL_KEY_NPAGE 0x106
+#define SL_KEY_HOME 0x107
+#define SL_KEY_END 0x108
+#define SL_KEY_A1 0x109
+#define SL_KEY_A3 0x10A
+#define SL_KEY_B2 0x10B
+#define SL_KEY_C1 0x10C
+#define SL_KEY_C3 0x10D
+#define SL_KEY_REDO 0x10E
+#define SL_KEY_UNDO 0x10F
+#define SL_KEY_BACKSPACE 0x110
+#define SL_KEY_ENTER 0x111
+#define SL_KEY_IC 0x112
+#define SL_KEY_DELETE 0x113
+
+#define SL_KEY_F0 0x200
+#define SL_KEY_F(X) (SL_KEY_F0 + X)
+
+/* I do not intend to use keysymps > 0x1000. Applications can use those. */
+/* Returns 0 upon success or -1 upon error. */
+extern int SLkp_define_keysym (char *, unsigned int);
+
+/* This function must be called AFTER SLtt_get_terminfo and not before. */
+extern int SLkp_init (void);
+
+/* This function uses SLang_getkey and assumes that what ever initialization
+ * is required for SLang_getkey has been performed.
+ */
+extern int SLkp_getkey (void);
+
+/*}}}*/
+
+/*{{{ SLang Scroll Interface */
+
+typedef struct _SLscroll_Type
+{
+ struct _SLscroll_Type *next;
+ struct _SLscroll_Type *prev;
+ unsigned int flags;
+}
+SLscroll_Type;
+
+typedef struct
+{
+ unsigned int flags;
+ SLscroll_Type *top_window_line; /* list element at top of window */
+ SLscroll_Type *bot_window_line; /* list element at bottom of window */
+ SLscroll_Type *current_line; /* current list element */
+ SLscroll_Type *lines; /* first list element */
+ unsigned int nrows; /* number of rows in window */
+ unsigned int hidden_mask; /* applied to flags in SLscroll_Type */
+ unsigned int line_num; /* current line number (visible) */
+ unsigned int num_lines; /* total number of lines (visible) */
+ unsigned int window_row; /* row of current_line in window */
+ unsigned int border; /* number of rows that form scroll border */
+ int cannot_scroll; /* should window scroll or recenter */
+}
+SLscroll_Window_Type;
+
+extern int SLscroll_find_top (SLscroll_Window_Type *);
+extern int SLscroll_find_line_num (SLscroll_Window_Type *);
+extern unsigned int SLscroll_next_n (SLscroll_Window_Type *, unsigned int);
+extern unsigned int SLscroll_prev_n (SLscroll_Window_Type *, unsigned int);
+extern int SLscroll_pageup (SLscroll_Window_Type *);
+extern int SLscroll_pagedown (SLscroll_Window_Type *);
+
+/*}}}*/
+
+/*{{{ Signal Routines */
+
+typedef void SLSig_Fun_Type (int);
+extern SLSig_Fun_Type *SLsignal (int, SLSig_Fun_Type *);
+extern SLSig_Fun_Type *SLsignal_intr (int, SLSig_Fun_Type *);
+extern int SLsig_block_signals (void);
+extern int SLsig_unblock_signals (void);
+extern int SLsystem (char *);
+
+extern char *SLerrno_strerror (int);
+extern int SLerrno_set_errno (int);
+
+/*}}}*/
+
+/*{{{ Interpreter Macro Definitions */
+
+/* The definitions here are for objects that may be on the run-time stack.
+ * They are actually sub_types of literal and data main_types. The actual
+ * numbers are historical.
+ */
+#define SLANG_UNDEFINED_TYPE 0x00 /* MUST be 0 */
+#define SLANG_VOID_TYPE 0x01 /* also matches ANY type */
+#define SLANG_INT_TYPE 0x02
+#define SLANG_DOUBLE_TYPE 0x03
+#define SLANG_CHAR_TYPE 0x04
+#define SLANG_INTP_TYPE 0x05
+/* An object of SLANG_INTP_TYPE should never really occur on the stack. Rather,
+ * the integer to which it refers will be there instead. It is defined here
+ * because it is a valid type for MAKE_VARIABLE.
+ */
+#define SLANG_REF_TYPE 0x06
+/* SLANG_REF_TYPE refers to an object on the stack that is a pointer (reference)
+ * to some other object.
+ */
+#define SLANG_COMPLEX_TYPE 0x07
+#define SLANG_NULL_TYPE 0x08
+#define SLANG_UCHAR_TYPE 0x09
+#define SLANG_SHORT_TYPE 0x0A
+#define SLANG_USHORT_TYPE 0x0B
+#define SLANG_UINT_TYPE 0x0C
+#define SLANG_LONG_TYPE 0x0D
+#define SLANG_ULONG_TYPE 0x0E
+#define SLANG_STRING_TYPE 0x0F
+#define SLANG_FLOAT_TYPE 0x10
+#define SLANG_STRUCT_TYPE 0x11
+#define SLANG_ISTRUCT_TYPE 0x12
+#define SLANG_ARRAY_TYPE 0x20
+#define SLANG_DATATYPE_TYPE 0x21
+#define SLANG_FILE_PTR_TYPE 0x22
+#define SLANG_ASSOC_TYPE 0x23
+#define SLANG_ANY_TYPE 0x24
+#define SLANG_BSTRING_TYPE 0x25
+#define SLANG_FILE_FD_TYPE 0x26
+
+/* Compatibility */
+#ifdef FLOAT_TYPE
+# undef FLOAT_TYPE
+#endif
+#define VOID_TYPE SLANG_VOID_TYPE
+#define INT_TYPE SLANG_INT_TYPE
+#define INTP_TYPE SLANG_INTP_TYPE
+#define FLOAT_TYPE SLANG_DOUBLE_TYPE
+#define ARRAY_TYPE SLANG_ARRAY_TYPE
+#define CHAR_TYPE SLANG_CHAR_TYPE
+#define STRING_TYPE SLANG_STRING_TYPE
+
+/* I am reserving values greater than or equal to 128 for user applications.
+ * The first 127 are reserved for S-Lang.
+ */
+
+/* Binary and Unary Subtypes */
+/* Since the application can define new types and can overload the binary
+ * and unary operators, these definitions must be present in this file.
+ * The current implementation assumes both unary and binary are distinct.
+ */
+#define SLANG_PLUS 0x01
+#define SLANG_MINUS 0x02
+#define SLANG_TIMES 0x03
+#define SLANG_DIVIDE 0x04
+#define SLANG_EQ 0x05
+#define SLANG_NE 0x06
+#define SLANG_GT 0x07
+#define SLANG_GE 0x08
+#define SLANG_LT 0x09
+#define SLANG_LE 0x0A
+#define SLANG_POW 0x0B
+#define SLANG_OR 0x0C
+#define SLANG_AND 0x0D
+#define SLANG_BAND 0x0E
+#define SLANG_BOR 0x0F
+#define SLANG_BXOR 0x10
+#define SLANG_SHL 0x11
+#define SLANG_SHR 0x12
+#define SLANG_MOD 0x13
+
+/* UNARY subtypes (may be overloaded) */
+#define SLANG_PLUSPLUS 0x20
+#define SLANG_MINUSMINUS 0x21
+#define SLANG_ABS 0x22
+#define SLANG_SIGN 0x23
+#define SLANG_SQR 0x24
+#define SLANG_MUL2 0x25
+#define SLANG_CHS 0x26
+#define SLANG_NOT 0x27
+#define SLANG_BNOT 0x28
+
+extern char *SLang_Error_Message;
+
+int SLadd_intrinsic_variable (char *, VOID_STAR, unsigned char, int);
+int SLadd_intrinsic_function (char *, FVOID_STAR, unsigned char, unsigned int,...);
+
+int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, unsigned char, int);
+int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, unsigned char, unsigned int,...);
+
+extern void SLadd_at_handler (long *, char *);
+
+#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \
+ {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \
+ {a1,a2,a3,a4,a5,a6,a7}, (in), (out)}
+
+#define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \
+ MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7)
+#define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \
+ MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0)
+#define MAKE_INTRINSIC_5(n,f,out,a1,a2,a3,a4,a5) \
+ MAKE_INTRINSIC_N(n,f,out,5,a1,a2,a3,a4,a5,0,0)
+#define MAKE_INTRINSIC_4(n,f,out,a1,a2,a3,a4) \
+ MAKE_INTRINSIC_N(n,f,out,4,a1,a2,a3,a4,0,0,0)
+#define MAKE_INTRINSIC_3(n,f,out,a1,a2,a3) \
+ MAKE_INTRINSIC_N(n,f,out,3,a1,a2,a3,0,0,0,0)
+#define MAKE_INTRINSIC_2(n,f,out,a1,a2) \
+ MAKE_INTRINSIC_N(n,f,out,2,a1,a2,0,0,0,0,0)
+#define MAKE_INTRINSIC_1(n,f,out,a1) \
+ MAKE_INTRINSIC_N(n,f,out,1,a1,0,0,0,0,0,0)
+#define MAKE_INTRINSIC_0(n,f,out) \
+ MAKE_INTRINSIC_N(n,f,out,0,0,0,0,0,0,0,0)
+
+#define MAKE_INTRINSIC_S(n,f,r) \
+ MAKE_INTRINSIC_1(n,f,r,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_I(n,f,r) \
+ MAKE_INTRINSIC_1(n,f,r,SLANG_INT_TYPE)
+
+#define MAKE_INTRINSIC_SS(n,f,r) \
+ MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_SI(n,f,r) \
+ MAKE_INTRINSIC_2(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE)
+#define MAKE_INTRINSIC_IS(n,f,r) \
+ MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_II(n,f,r) \
+ MAKE_INTRINSIC_2(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE)
+
+#define MAKE_INTRINSIC_SSS(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_SSI(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
+#define MAKE_INTRINSIC_SIS(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_SII(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_STRING_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
+#define MAKE_INTRINSIC_ISS(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_ISI(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_STRING_TYPE,SLANG_INT_TYPE)
+#define MAKE_INTRINSIC_IIS(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_STRING_TYPE)
+#define MAKE_INTRINSIC_III(n,f,r) \
+ MAKE_INTRINSIC_3(n,f,r,SLANG_INT_TYPE,SLANG_INT_TYPE,SLANG_INT_TYPE)
+
+#define MAKE_INTRINSIC(n, f, out, in) \
+ MAKE_INTRINSIC_N(n,f,out,in,0,0,0,0,0,0,0)
+
+#define MAKE_VARIABLE(n, v, t, r) \
+ {n, NULL, SLANG_IVARIABLE + (r), (VOID_STAR)(v), (t)}
+
+#define MAKE_APP_UNARY(n,op) \
+ {(n), NULL, SLANG_APP_UNARY, (op)}
+
+#define MAKE_MATH_UNARY(n,op) \
+ {(n), NULL, SLANG_MATH_UNARY, (op)}
+
+#define MAKE_ICONSTANT(n,val) \
+ {(n),NULL, SLANG_ICONSTANT, (val)}
+
+#define MAKE_DCONSTANT(n,val) \
+ {(n),NULL, SLANG_DCONSTANT, (val)}
+
+#ifndef offsetof
+# define offsetof(T,F) ((unsigned int)((char *)&((T *)0L)->F - (char *)0L))
+#endif
+#define MAKE_ISTRUCT_FIELD(s,f,n,t,r) {(n), offsetof(s,f), (t), (r)}
+
+#define SLANG_END_TABLE {NULL}
+#define SLANG_END_INTRIN_FUN_TABLE MAKE_INTRINSIC_0(NULL,NULL,0)
+#define SLANG_END_DCONST_TABLE MAKE_DCONSTANT(NULL,0)
+#define SLANG_END_MATH_UNARY_TABLE MAKE_MATH_UNARY(NULL,0)
+#define SLANG_END_INTRIN_VAR_TABLE MAKE_VARIABLE(NULL,NULL,0,0)
+#define SLANG_END_ICONST_TABLE MAKE_ICONSTANT(NULL,0)
+#define SLANG_END_ISTRUCT_TABLE {NULL, 0, 0, 0}
+
+
+
+/*}}}*/
+
+/*{{{ Upper/Lowercase Functions */
+
+extern void SLang_define_case(int *, int *);
+extern void SLang_init_case_tables (void);
+
+extern unsigned char _SLChg_UCase_Lut[256];
+extern unsigned char _SLChg_LCase_Lut[256];
+#define UPPER_CASE(x) (_SLChg_UCase_Lut[(unsigned char) (x)])
+#define LOWER_CASE(x) (_SLChg_LCase_Lut[(unsigned char) (x)])
+#define CHANGE_CASE(x) (((x) == _SLChg_LCase_Lut[(unsigned char) (x)]) ?\
+ _SLChg_UCase_Lut[(unsigned char) (x)] : _SLChg_LCase_Lut[(unsigned char) (x)])
+
+/*}}}*/
+
+/*{{{ Regular Expression Interface */
+
+typedef struct
+{
+ /* These must be set by calling routine. */
+ unsigned char *pat; /* regular expression pattern */
+ unsigned char *buf; /* buffer for compiled regexp */
+ unsigned int buf_len; /* length of buffer */
+ int case_sensitive; /* 1 if match is case sensitive */
+
+ /* The rest are set by SLang_regexp_compile */
+
+ int must_match; /* 1 if line must contain substring */
+ int must_match_bol; /* true if it must match beginning of line */
+ unsigned char must_match_str[16]; /* 15 char null term substring */
+ int osearch; /* 1 if ordinary search suffices */
+ unsigned int min_length; /* minimum length the match must be */
+ int beg_matches[10]; /* offset of start of \( */
+ unsigned int end_matches[10]; /* length of nth submatch
+ * Note that the entire match corresponds
+ * to \0
+ */
+ int offset; /* offset to be added to beg_matches */
+ int reserved[10];
+} SLRegexp_Type;
+
+extern unsigned char *SLang_regexp_match(unsigned char *,
+ unsigned int,
+ SLRegexp_Type *);
+
+/* Returns 0 upon success. If failure, the offset into the
+ * pattern is returned (start = 1).
+ */
+extern int SLang_regexp_compile (SLRegexp_Type *);
+extern char *SLregexp_quote_string (char *, char *, unsigned int);
+
+/*}}}*/
+
+/*{{{ SLang Command Interface */
+
+struct _SLcmd_Cmd_Type; /* Pre-declaration is needed below */
+typedef struct
+{
+ struct _SLcmd_Cmd_Type *table;
+ int argc;
+ /* Version 2.0 needs to use a union!! */
+ char **string_args;
+ int *int_args;
+ double *double_args;
+ unsigned char *arg_type;
+ unsigned long reserved[4];
+} SLcmd_Cmd_Table_Type;
+
+typedef struct _SLcmd_Cmd_Type
+{
+ int (*cmdfun)(int, SLcmd_Cmd_Table_Type *);
+ char *cmd;
+ char *arg_type;
+} SLcmd_Cmd_Type;
+
+extern int SLcmd_execute_string (char *, SLcmd_Cmd_Table_Type *);
+
+/*}}}*/
+
+/*{{{ SLang Search Interface */
+
+typedef struct
+{
+ int cs; /* case sensitive */
+ unsigned char key[256];
+ int ind[256];
+ int key_len;
+ int dir;
+} SLsearch_Type;
+
+extern int SLsearch_init (char *, int, int, SLsearch_Type *);
+/* This routine must first be called before any search can take place.
+ * The second parameter specifies the direction of the search: greater than
+ * zero for a forwrd search and less than zero for a backward search. The
+ * third parameter specifies whether the search is case sensitive or not.
+ * The last parameter is a pointer to a structure that is filled by this
+ * function and it is this structure that must be passed to SLsearch.
+ */
+
+extern unsigned char *SLsearch (unsigned char *, unsigned char *, SLsearch_Type *);
+/* To use this routine, you must first call 'SLsearch_init'. Then the first
+ * two parameters p1 and p2 serve to define the region over which the search
+ * is to take place. The third parameter is the structure that was previously
+ * initialized by SLsearch_init.
+ *
+ * The routine returns a pointer to the match if found otherwise it returns
+ * NULL.
+ */
+
+/*}}}*/
+
+/*{{{ SLang Pathname Interface */
+
+/* These function return pointers to the original space */
+extern char *SLpath_basename (char *);
+extern char *SLpath_extname (char *);
+extern int SLpath_is_absolute_path (char *);
+
+/* These return malloced strings--- NOT slstrings */
+extern char *SLpath_dircat (char *, char *);
+extern char *SLpath_find_file_in_path (char *, char *);
+extern char *SLpath_dirname (char *);
+extern int SLpath_file_exists (char *);
+extern char *SLpath_pathname_sans_extname (char *);
+
+/*}}}*/
+
+extern int SLang_set_module_load_path (char *);
+
+#define SLANG_MODULE(name) \
+ extern int init_##name##_module_ns (char *); \
+ extern void deinit_##name##_module (void)
+
+#if 0
+{
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _DAVIS_SLANG_H_ */
diff --git a/mdk-stage1/slang/slarith.c b/mdk-stage1/slang/slarith.c
new file mode 100644
index 000000000..07ad68687
--- /dev/null
+++ b/mdk-stage1/slang/slarith.c
@@ -0,0 +1,1656 @@
+
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include <math.h>
+
+#ifdef HAVE_LOCALE_H
+# include <locale.h>
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+/*
+ * This file defines binary and unary operations on all integer types.
+ * Supported types include:
+ *
+ * SLANG_CHAR_TYPE (char)
+ * SLANG_SHORT_TYPE (short)
+ * SLANG_INT_TYPE (int)
+ * SLANG_LONG_TYPE (long)
+ * SLANG_FLOAT_TYPE (float)
+ * SLANG_DOUBLE_TYPE (double)
+ *
+ * as well as unsigned types. The result-type of an arithmentic operation
+ * will depend upon the data types involved. I am going to distinguish
+ * between the boolean operations such as `and' and `or' from the arithmetic
+ * operations such as `plus'. Since the result of a boolean operation is
+ * either 1 or 0, a boolean result will be represented by SLANG_CHAR_TYPE.
+ * Ordinarily I would use an integer but for arrays it makes more sense to
+ * use a character data type.
+ *
+ * So, the following will be assumed (`+' is any arithmetic operator)
+ *
+ * char + char = int
+ * char|short + short = int
+ * char|short|int + int = int
+ * char|short|int|long + long = long
+ * char|short|int|long|float + float = float
+ * char|short|int|long|float|double + double = double
+ *
+ * In the actual implementation, a brute force approach is avoided. Such
+ * an approach would mean defining different functions for all possible
+ * combinations of types. Including the unsigned types, and not including
+ * the complex number type, there are 10 arithmetic types and 10*10=100
+ * different combinations of types. Clearly this would be too much.
+ *
+ * One approach would be to define binary functions only between operands of
+ * the same type and then convert types as appropriate. This would require
+ * just 6 such functions (int, uint, long, ulong, float, double).
+ * However, many conversion functions are going to be required, particularly
+ * since we are going to allow typecasting from one arithmetic to another.
+ * Since the bit pattern of signed and unsigned types are the same, and only
+ * the interpretation differs, there will be no functions to convert between
+ * signed and unsigned forms of a given type.
+ */
+
+#define MAX_ARITHMETIC_TYPES 10
+
+unsigned char _SLarith_Is_Arith_Type [256];
+
+unsigned char _SLarith_Arith_Types[] =
+{
+ SLANG_CHAR_TYPE,
+ SLANG_UCHAR_TYPE,
+ SLANG_SHORT_TYPE,
+ SLANG_USHORT_TYPE,
+ SLANG_INT_TYPE,
+ SLANG_UINT_TYPE,
+ SLANG_LONG_TYPE,
+ SLANG_ULONG_TYPE,
+ SLANG_FLOAT_TYPE,
+ SLANG_DOUBLE_TYPE,
+ 0
+};
+
+/* Here are a bunch of functions to convert from one type to another. To
+ * facilitate the process, a macros will be used.
+ */
+
+#define DEFUN_1(f,from_type,to_type) \
+static void f (to_type *y, from_type *x, unsigned int n) \
+{ \
+ unsigned int i; \
+ for (i = 0; i < n; i++) y[i] = (to_type) x[i]; \
+}
+
+#define DEFUN_2(f,from_type,to_type,copy_fun) \
+static VOID_STAR f (VOID_STAR xp, unsigned int n) \
+{ \
+ from_type *x; \
+ to_type *y; \
+ x = (from_type *) xp; \
+ if (NULL == (y = (to_type *) SLmalloc (sizeof (to_type) * n))) return NULL; \
+ copy_fun (y, x, n); \
+ return (VOID_STAR) y; \
+}
+typedef VOID_STAR (*Convert_Fun_Type)(VOID_STAR, unsigned int);
+
+DEFUN_1(copy_char_to_char,char,char)
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_char_to_short,char,short)
+DEFUN_1(copy_char_to_ushort,char,unsigned short)
+#else
+# define copy_char_to_short copy_char_to_int
+# define copy_char_to_ushort copy_char_to_uint
+#endif
+DEFUN_1(copy_char_to_int,char,int)
+DEFUN_1(copy_char_to_uint,char,unsigned int)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_char_to_long,char,long)
+DEFUN_1(copy_char_to_ulong,char,unsigned long)
+#else
+# define copy_char_to_long copy_char_to_int
+# define copy_char_to_ulong copy_char_to_uint
+#endif
+DEFUN_1(copy_char_to_float,char,float)
+DEFUN_1(copy_char_to_double,char,double)
+
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_uchar_to_short,unsigned char,short)
+DEFUN_1(copy_uchar_to_ushort,unsigned char,unsigned short)
+#else
+# define copy_uchar_to_short copy_uchar_to_int
+# define copy_uchar_to_ushort copy_uchar_to_uint
+#endif
+DEFUN_1(copy_uchar_to_int,unsigned char,int)
+DEFUN_1(copy_uchar_to_uint,unsigned char,unsigned int)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_uchar_to_long,unsigned char,long)
+DEFUN_1(copy_uchar_to_ulong,unsigned char,unsigned long)
+#else
+# define copy_uchar_to_long copy_uchar_to_int
+# define copy_uchar_to_ulong copy_uchar_to_uint
+#endif
+DEFUN_1(copy_uchar_to_float,unsigned char,float)
+DEFUN_1(copy_uchar_to_double,unsigned char,double)
+
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_short_to_char,short,char)
+DEFUN_1(copy_short_to_uchar,short,unsigned char)
+DEFUN_1(copy_short_to_short,short,short)
+DEFUN_1(copy_short_to_int,short,int)
+DEFUN_1(copy_short_to_uint,short,unsigned int)
+DEFUN_1(copy_short_to_long,short,long)
+DEFUN_1(copy_short_to_ulong,short,unsigned long)
+DEFUN_1(copy_short_to_float,short,float)
+DEFUN_1(copy_short_to_double,short,double)
+DEFUN_1(copy_ushort_to_char,unsigned short,char)
+DEFUN_1(copy_ushort_to_uchar,unsigned short,unsigned char)
+DEFUN_1(copy_ushort_to_int,unsigned short,int)
+DEFUN_1(copy_ushort_to_uint,unsigned short,unsigned int)
+DEFUN_1(copy_ushort_to_long,unsigned short,long)
+DEFUN_1(copy_ushort_to_ulong,unsigned short,unsigned long)
+DEFUN_1(copy_ushort_to_float,unsigned short,float)
+DEFUN_1(copy_ushort_to_double,unsigned short,double)
+#else
+# define copy_short_to_char copy_int_to_char
+# define copy_short_to_uchar copy_int_to_uchar
+# define copy_short_to_short copy_int_to_int
+# define copy_short_to_int copy_int_to_int
+# define copy_short_to_uint copy_int_to_int
+# define copy_short_to_long copy_int_to_long
+# define copy_short_to_ulong copy_int_to_ulong
+# define copy_short_to_float copy_int_to_float
+# define copy_short_to_double copy_int_to_double
+# define copy_ushort_to_char copy_uint_to_char
+# define copy_ushort_to_uchar copy_uint_to_uchar
+# define copy_ushort_to_int copy_int_to_int
+# define copy_ushort_to_uint copy_int_to_int
+# define copy_ushort_to_long copy_uint_to_long
+# define copy_ushort_to_ulong copy_uint_to_ulong
+# define copy_ushort_to_float copy_uint_to_float
+# define copy_ushort_to_double copy_uint_to_double
+#endif
+
+DEFUN_1(copy_int_to_char,int,char)
+DEFUN_1(copy_int_to_uchar,int,unsigned char)
+DEFUN_1(copy_uint_to_char,unsigned int,char)
+DEFUN_1(copy_uint_to_uchar,unsigned int,unsigned char)
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_int_to_short,int,short)
+DEFUN_1(copy_int_to_ushort,int,unsigned short)
+DEFUN_1(copy_uint_to_short,unsigned int,short)
+DEFUN_1(copy_uint_to_ushort,unsigned int,unsigned short)
+#else
+# define copy_int_to_short copy_int_to_int
+# define copy_int_to_ushort copy_int_to_int
+# define copy_uint_to_short copy_int_to_int
+# define copy_uint_to_ushort copy_int_to_int
+#endif
+DEFUN_1(copy_int_to_int,int,int)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_int_to_long,int,long)
+DEFUN_1(copy_int_to_ulong,int,unsigned long)
+DEFUN_1(copy_uint_to_long,unsigned int,long)
+DEFUN_1(copy_uint_to_ulong,unsigned int,unsigned long)
+#else
+# define copy_int_to_long copy_int_to_int
+# define copy_int_to_ulong copy_int_to_int
+# define copy_uint_to_long copy_int_to_int
+# define copy_uint_to_ulong copy_int_to_int
+#endif
+DEFUN_1(copy_int_to_float,int,float)
+DEFUN_1(copy_int_to_double,int,double)
+DEFUN_1(copy_uint_to_float,unsigned int,float)
+DEFUN_1(copy_uint_to_double,unsigned int,double)
+
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_long_to_char,long,char)
+DEFUN_1(copy_long_to_uchar,long,unsigned char)
+DEFUN_1(copy_long_to_short,long,short)
+DEFUN_1(copy_long_to_ushort,long,unsigned short)
+DEFUN_1(copy_long_to_int,long,int)
+DEFUN_1(copy_long_to_uint,long,unsigned int)
+DEFUN_1(copy_long_to_long,long,long)
+DEFUN_1(copy_long_to_float,long,float)
+DEFUN_1(copy_long_to_double,long,double)
+DEFUN_1(copy_ulong_to_char,unsigned long,char)
+DEFUN_1(copy_ulong_to_uchar,unsigned long,unsigned char)
+DEFUN_1(copy_ulong_to_short,unsigned long,short)
+DEFUN_1(copy_ulong_to_ushort,unsigned long,unsigned short)
+DEFUN_1(copy_ulong_to_int,unsigned long,int)
+DEFUN_1(copy_ulong_to_uint,unsigned long,unsigned int)
+DEFUN_1(copy_ulong_to_float,unsigned long,float)
+DEFUN_1(copy_ulong_to_double,unsigned long,double)
+#else
+#define copy_long_to_char copy_int_to_char
+#define copy_long_to_uchar copy_int_to_uchar
+#define copy_long_to_short copy_int_to_short
+#define copy_long_to_ushort copy_int_to_ushort
+#define copy_long_to_int copy_int_to_int
+#define copy_long_to_uint copy_int_to_int
+#define copy_long_to_long copy_int_to_int
+#define copy_long_to_float copy_int_to_float
+#define copy_long_to_double copy_int_to_double
+#define copy_ulong_to_char copy_uint_to_char
+#define copy_ulong_to_uchar copy_uint_to_uchar
+#define copy_ulong_to_short copy_uint_to_short
+#define copy_ulong_to_ushort copy_uint_to_ushort
+#define copy_ulong_to_int copy_int_to_int
+#define copy_ulong_to_uint copy_int_to_int
+#define copy_ulong_to_float copy_uint_to_float
+#define copy_ulong_to_double copy_uint_to_double
+#endif
+
+DEFUN_1(copy_float_to_char,float,char)
+DEFUN_1(copy_float_to_uchar,float,unsigned char)
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_float_to_short,float,short)
+DEFUN_1(copy_float_to_ushort,float,unsigned short)
+#else
+# define copy_float_to_short copy_float_to_int
+# define copy_float_to_ushort copy_float_to_uint
+#endif
+DEFUN_1(copy_float_to_int,float,int)
+DEFUN_1(copy_float_to_uint,float,unsigned int)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_float_to_long,float,long)
+DEFUN_1(copy_float_to_ulong,float,unsigned long)
+#else
+# define copy_float_to_long copy_float_to_int
+# define copy_float_to_ulong copy_float_to_uint
+#endif
+DEFUN_1(copy_float_to_float,float,float)
+DEFUN_1(copy_float_to_double,float,double)
+
+DEFUN_1(copy_double_to_char,double,char)
+DEFUN_1(copy_double_to_uchar,double,unsigned char)
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_1(copy_double_to_short,double,short)
+DEFUN_1(copy_double_to_ushort,double,unsigned short)
+#else
+# define copy_double_to_short copy_double_to_int
+# define copy_double_to_ushort copy_double_to_uint
+#endif
+DEFUN_1(copy_double_to_int,double,int)
+DEFUN_1(copy_double_to_uint,double,unsigned int)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_1(copy_double_to_long,double,long)
+DEFUN_1(copy_double_to_ulong,double,unsigned long)
+#else
+# define copy_double_to_long copy_double_to_int
+# define copy_double_to_ulong copy_double_to_uint
+#endif
+DEFUN_1(copy_double_to_float,double,float)
+DEFUN_1(copy_double_to_double,double,double)
+
+DEFUN_2(char_to_int,char,int,copy_char_to_int)
+DEFUN_2(char_to_uint,char,unsigned int,copy_char_to_uint)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_2(char_to_long,char,long,copy_char_to_long)
+DEFUN_2(char_to_ulong,char,unsigned long,copy_char_to_ulong)
+#else
+# define char_to_long char_to_int
+# define char_to_ulong char_to_uint
+#endif
+DEFUN_2(char_to_float,char,float,copy_char_to_float)
+DEFUN_2(char_to_double,char,double,copy_char_to_double)
+
+DEFUN_2(uchar_to_int,unsigned char,int,copy_uchar_to_int)
+DEFUN_2(uchar_to_uint,unsigned char,unsigned int,copy_uchar_to_uint)
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_2(uchar_to_long,unsigned char,long,copy_uchar_to_long)
+DEFUN_2(uchar_to_ulong,unsigned char,unsigned long,copy_uchar_to_ulong)
+#else
+# define uchar_to_long uchar_to_int
+# define uchar_to_ulong uchar_to_uint
+#endif
+DEFUN_2(uchar_to_float,unsigned char,float,copy_uchar_to_float)
+DEFUN_2(uchar_to_double,unsigned char,double,copy_uchar_to_double)
+
+#if SIZEOF_INT != SIZEOF_SHORT
+DEFUN_2(short_to_int,short,int,copy_short_to_int)
+DEFUN_2(short_to_uint,short,unsigned int,copy_short_to_uint)
+DEFUN_2(short_to_long,short,long,copy_short_to_long)
+DEFUN_2(short_to_ulong,short,unsigned long,copy_short_to_ulong)
+DEFUN_2(short_to_float,short,float,copy_short_to_float)
+DEFUN_2(short_to_double,short,double,copy_short_to_double)
+DEFUN_2(ushort_to_int,unsigned short,int,copy_ushort_to_int)
+DEFUN_2(ushort_to_uint,unsigned short,unsigned int,copy_ushort_to_uint)
+DEFUN_2(ushort_to_long,unsigned short,long,copy_ushort_to_long)
+DEFUN_2(ushort_to_ulong,unsigned short,unsigned long,copy_ushort_to_ulong)
+DEFUN_2(ushort_to_float,unsigned short,float,copy_ushort_to_float)
+DEFUN_2(ushort_to_double,unsigned short,double,copy_ushort_to_double)
+#else
+# define short_to_int NULL
+# define short_to_uint NULL
+# define short_to_long int_to_long
+# define short_to_ulong int_to_ulong
+# define short_to_float int_to_float
+# define short_to_double int_to_double
+# define ushort_to_int NULL
+# define ushort_to_uint NULL
+# define ushort_to_long uint_to_long
+# define ushort_to_ulong uint_to_ulong
+# define ushort_to_float uint_to_float
+# define ushort_to_double uint_to_double
+#endif
+
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_2(int_to_long,int,long,copy_int_to_long)
+DEFUN_2(int_to_ulong,int,unsigned long,copy_int_to_ulong)
+#else
+# define int_to_long NULL
+# define int_to_ulong NULL
+#endif
+DEFUN_2(int_to_float,int,float,copy_int_to_float)
+DEFUN_2(int_to_double,int,double,copy_int_to_double)
+
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_2(uint_to_long,unsigned int,long,copy_uint_to_long)
+DEFUN_2(uint_to_ulong,unsigned int,unsigned long,copy_uint_to_ulong)
+#else
+# define uint_to_long NULL
+# define uint_to_ulong NULL
+#endif
+DEFUN_2(uint_to_float,unsigned int,float,copy_uint_to_float)
+DEFUN_2(uint_to_double,unsigned int,double,copy_uint_to_double)
+
+#if SIZEOF_INT != SIZEOF_LONG
+DEFUN_2(long_to_float,long,float,copy_long_to_float)
+DEFUN_2(long_to_double,long,double,copy_long_to_double)
+DEFUN_2(ulong_to_float,unsigned long,float,copy_ulong_to_float)
+DEFUN_2(ulong_to_double,unsigned long,double,copy_ulong_to_double)
+#else
+# define long_to_float int_to_float
+# define long_to_double int_to_double
+# define ulong_to_float uint_to_float
+# define ulong_to_double uint_to_double
+#endif
+
+DEFUN_2(float_to_double,float,double,copy_float_to_double)
+
+#define TO_DOUBLE_FUN(name,type) \
+static double name (VOID_STAR x) { return (double) *(type *) x; }
+TO_DOUBLE_FUN(char_to_one_double,char)
+TO_DOUBLE_FUN(uchar_to_one_double,unsigned char)
+#if SIZEOF_INT != SIZEOF_SHORT
+TO_DOUBLE_FUN(short_to_one_double,short)
+TO_DOUBLE_FUN(ushort_to_one_double,unsigned short)
+#else
+# define short_to_one_double int_to_one_double
+# define ushort_to_one_double uint_to_one_double
+#endif
+TO_DOUBLE_FUN(int_to_one_double,int)
+TO_DOUBLE_FUN(uint_to_one_double,unsigned int)
+#if SIZEOF_INT != SIZEOF_LONG
+TO_DOUBLE_FUN(long_to_one_double,long)
+TO_DOUBLE_FUN(ulong_to_one_double,unsigned long)
+#else
+# define long_to_one_double int_to_one_double
+# define ulong_to_one_double uint_to_one_double
+#endif
+TO_DOUBLE_FUN(float_to_one_double,float)
+TO_DOUBLE_FUN(double_to_one_double,double)
+
+SLang_To_Double_Fun_Type
+SLarith_get_to_double_fun (unsigned char type, unsigned int *sizeof_type)
+{
+ unsigned int da;
+ SLang_To_Double_Fun_Type to_double;
+
+ switch (type)
+ {
+ default:
+ return NULL;
+
+ case SLANG_CHAR_TYPE:
+ da = sizeof (char); to_double = char_to_one_double;
+ break;
+ case SLANG_UCHAR_TYPE:
+ da = sizeof (unsigned char); to_double = uchar_to_one_double;
+ break;
+ case SLANG_SHORT_TYPE:
+ da = sizeof (short); to_double = short_to_one_double;
+ break;
+ case SLANG_USHORT_TYPE:
+ da = sizeof (unsigned short); to_double = ushort_to_one_double;
+ break;
+ case SLANG_INT_TYPE:
+ da = sizeof (int); to_double = int_to_one_double;
+ break;
+ case SLANG_UINT_TYPE:
+ da = sizeof (unsigned int); to_double = uint_to_one_double;
+ break;
+ case SLANG_LONG_TYPE:
+ da = sizeof (long); to_double = long_to_one_double;
+ break;
+ case SLANG_ULONG_TYPE:
+ da = sizeof (unsigned long); to_double = ulong_to_one_double;
+ break;
+ case SLANG_FLOAT_TYPE:
+ da = sizeof (float); to_double = float_to_one_double;
+ break;
+ case SLANG_DOUBLE_TYPE:
+ da = sizeof (double); to_double = double_to_one_double;
+ break;
+ }
+
+ if (sizeof_type != NULL) *sizeof_type = da;
+ return to_double;
+}
+
+/* Each element of the matrix determines how the row maps onto the column.
+ * That is, let the matrix be B_ij. Where the i,j indices refer to
+ * precedence of the type. Then,
+ * B_ij->copy_function copies type i to type j. Similarly,
+ * B_ij->convert_function mallocs a new array of type j and copies i to it.
+ *
+ * Since types are always converted to higher levels of precedence for binary
+ * operations, many of the elements are NULL.
+ *
+ * Is the idea clear?
+ */
+typedef struct
+{
+ FVOID_STAR copy_function;
+ Convert_Fun_Type convert_function;
+}
+Binary_Matrix_Type;
+
+static Binary_Matrix_Type Binary_Matrix [MAX_ARITHMETIC_TYPES][MAX_ARITHMETIC_TYPES] =
+{
+ {
+ {(FVOID_STAR)copy_char_to_char, NULL},
+ {(FVOID_STAR)copy_char_to_char, NULL},
+ {(FVOID_STAR) copy_char_to_short, NULL},
+ {(FVOID_STAR) copy_char_to_ushort, NULL},
+ {(FVOID_STAR) copy_char_to_int, char_to_int},
+ {(FVOID_STAR) copy_char_to_uint, char_to_uint},
+ {(FVOID_STAR) copy_char_to_long, char_to_long},
+ {(FVOID_STAR) copy_char_to_ulong, char_to_ulong},
+ {(FVOID_STAR) copy_char_to_float, char_to_float},
+ {(FVOID_STAR) copy_char_to_double, char_to_double},
+ },
+
+ {
+ {(FVOID_STAR)copy_char_to_char, NULL},
+ {(FVOID_STAR)copy_char_to_char, NULL},
+ {(FVOID_STAR) copy_uchar_to_short, NULL},
+ {(FVOID_STAR) copy_uchar_to_ushort, NULL},
+ {(FVOID_STAR) copy_uchar_to_int, uchar_to_int},
+ {(FVOID_STAR) copy_uchar_to_uint, uchar_to_uint},
+ {(FVOID_STAR) copy_uchar_to_long, uchar_to_long},
+ {(FVOID_STAR) copy_uchar_to_ulong, uchar_to_ulong},
+ {(FVOID_STAR) copy_uchar_to_float, uchar_to_float},
+ {(FVOID_STAR) copy_uchar_to_double, uchar_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_short_to_char, NULL},
+ {(FVOID_STAR) copy_short_to_uchar, NULL},
+ {(FVOID_STAR) copy_short_to_short, NULL},
+ {(FVOID_STAR) copy_short_to_short, NULL},
+ {(FVOID_STAR) copy_short_to_int, short_to_int},
+ {(FVOID_STAR) copy_short_to_uint, short_to_uint},
+ {(FVOID_STAR) copy_short_to_long, short_to_long},
+ {(FVOID_STAR) copy_short_to_ulong, short_to_ulong},
+ {(FVOID_STAR) copy_short_to_float, short_to_float},
+ {(FVOID_STAR) copy_short_to_double, short_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_ushort_to_char, NULL},
+ {(FVOID_STAR) copy_ushort_to_uchar, NULL},
+ {(FVOID_STAR) copy_short_to_short, NULL},
+ {(FVOID_STAR) copy_short_to_short, NULL},
+ {(FVOID_STAR) copy_ushort_to_int, ushort_to_int},
+ {(FVOID_STAR) copy_ushort_to_uint, ushort_to_uint},
+ {(FVOID_STAR) copy_ushort_to_long, ushort_to_long},
+ {(FVOID_STAR) copy_ushort_to_ulong, ushort_to_ulong},
+ {(FVOID_STAR) copy_ushort_to_float, ushort_to_float},
+ {(FVOID_STAR) copy_ushort_to_double, ushort_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_int_to_char, NULL},
+ {(FVOID_STAR) copy_int_to_uchar, NULL},
+ {(FVOID_STAR) copy_int_to_short, NULL},
+ {(FVOID_STAR) copy_int_to_ushort, NULL},
+ {(FVOID_STAR) copy_int_to_int, NULL},
+ {(FVOID_STAR) copy_int_to_int, NULL},
+ {(FVOID_STAR) copy_int_to_long, int_to_long},
+ {(FVOID_STAR) copy_int_to_ulong, int_to_ulong},
+ {(FVOID_STAR) copy_int_to_float, int_to_float},
+ {(FVOID_STAR) copy_int_to_double, int_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_uint_to_char, NULL},
+ {(FVOID_STAR) copy_uint_to_uchar, NULL},
+ {(FVOID_STAR) copy_uint_to_short, NULL},
+ {(FVOID_STAR) copy_uint_to_ushort, NULL},
+ {(FVOID_STAR) copy_int_to_int, NULL},
+ {(FVOID_STAR) copy_int_to_int, NULL},
+ {(FVOID_STAR) copy_uint_to_long, uint_to_long},
+ {(FVOID_STAR) copy_uint_to_ulong, uint_to_ulong},
+ {(FVOID_STAR) copy_uint_to_float, uint_to_float},
+ {(FVOID_STAR) copy_uint_to_double, uint_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_long_to_char, NULL},
+ {(FVOID_STAR) copy_long_to_uchar, NULL},
+ {(FVOID_STAR) copy_long_to_short, NULL},
+ {(FVOID_STAR) copy_long_to_ushort, NULL},
+ {(FVOID_STAR) copy_long_to_int, NULL},
+ {(FVOID_STAR) copy_long_to_uint, NULL},
+ {(FVOID_STAR) copy_long_to_long, NULL},
+ {(FVOID_STAR) copy_long_to_long, NULL},
+ {(FVOID_STAR) copy_long_to_float, long_to_float},
+ {(FVOID_STAR) copy_long_to_double, long_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_ulong_to_char, NULL},
+ {(FVOID_STAR) copy_ulong_to_uchar, NULL},
+ {(FVOID_STAR) copy_ulong_to_short, NULL},
+ {(FVOID_STAR) copy_ulong_to_ushort, NULL},
+ {(FVOID_STAR) copy_ulong_to_int, NULL},
+ {(FVOID_STAR) copy_ulong_to_uint, NULL},
+ {(FVOID_STAR) copy_long_to_long, NULL},
+ {(FVOID_STAR) copy_long_to_long, NULL},
+ {(FVOID_STAR) copy_ulong_to_float, ulong_to_float},
+ {(FVOID_STAR) copy_ulong_to_double, ulong_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_float_to_char, NULL},
+ {(FVOID_STAR) copy_float_to_uchar, NULL},
+ {(FVOID_STAR) copy_float_to_short, NULL},
+ {(FVOID_STAR) copy_float_to_ushort, NULL},
+ {(FVOID_STAR) copy_float_to_int, NULL},
+ {(FVOID_STAR) copy_float_to_uint, NULL},
+ {(FVOID_STAR) copy_float_to_long, NULL},
+ {(FVOID_STAR) copy_float_to_ulong, NULL},
+ {(FVOID_STAR) copy_float_to_float, NULL},
+ {(FVOID_STAR) copy_float_to_double, float_to_double},
+ },
+
+ {
+ {(FVOID_STAR) copy_double_to_char, NULL},
+ {(FVOID_STAR) copy_double_to_uchar, NULL},
+ {(FVOID_STAR) copy_double_to_short, NULL},
+ {(FVOID_STAR) copy_double_to_ushort, NULL},
+ {(FVOID_STAR) copy_double_to_int, NULL},
+ {(FVOID_STAR) copy_double_to_uint, NULL},
+ {(FVOID_STAR) copy_double_to_long, NULL},
+ {(FVOID_STAR) copy_double_to_ulong, NULL},
+ {(FVOID_STAR) copy_double_to_float, NULL},
+ {(FVOID_STAR) copy_double_to_double, NULL},
+ }
+};
+
+#define GENERIC_BINARY_FUNCTION int_int_bin_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE int
+#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE double
+#define ABS_FUNCTION abs
+#define MOD_FUNCTION(a,b) ((a) % (b))
+#define GENERIC_UNARY_FUNCTION int_unary_op
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define SCALAR_BINARY_FUNCTION int_int_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_INT_TYPE,(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
+#define CMP_FUNCTION int_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_BINARY_FUNCTION uint_uint_bin_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE unsigned int
+#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE double
+#define MOD_FUNCTION(a,b) ((a) % (b))
+#define GENERIC_UNARY_FUNCTION uint_unary_op
+#define ABS_FUNCTION(a) (a)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
+#define SCALAR_BINARY_FUNCTION uint_uint_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_int_obj(SLANG_UINT_TYPE,(int)(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
+#define CMP_FUNCTION uint_cmp_function
+#include "slarith.inc"
+
+#if SIZEOF_LONG != SIZEOF_INT
+#define GENERIC_BINARY_FUNCTION long_long_bin_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE long
+#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE double
+#define MOD_FUNCTION(a,b) ((a) % (b))
+#define GENERIC_UNARY_FUNCTION long_unary_op
+#define ABS_FUNCTION(a) (((a) >= 0) ? (a) : -(a))
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define SCALAR_BINARY_FUNCTION long_long_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_LONG_TYPE,(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
+#define CMP_FUNCTION long_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_BINARY_FUNCTION ulong_ulong_bin_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE unsigned long
+#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE double
+#define MOD_FUNCTION(a,b) ((a) % (b))
+#define GENERIC_UNARY_FUNCTION ulong_unary_op
+#define ABS_FUNCTION(a) (a)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
+#define SCALAR_BINARY_FUNCTION ulong_ulong_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_long_obj(SLANG_ULONG_TYPE,(long)(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
+#define CMP_FUNCTION ulong_cmp_function
+#include "slarith.inc"
+#else
+#define long_long_bin_op int_int_bin_op
+#define ulong_ulong_bin_op uint_uint_bin_op
+#define long_unary_op int_unary_op
+#define ulong_unary_op uint_unary_op
+#define long_cmp_function int_cmp_function
+#define ulong_cmp_function uint_cmp_function
+#endif /* SIZEOF_INT != SIZEOF_LONG */
+
+#define GENERIC_BINARY_FUNCTION float_float_bin_op
+#define GENERIC_TYPE float
+#define POW_FUNCTION(a,b) (float)pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE float
+#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
+#define GENERIC_UNARY_FUNCTION float_unary_op
+#define ABS_FUNCTION(a) (float)fabs((double) a)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define SCALAR_BINARY_FUNCTION float_float_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE,(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_float_obj(SLANG_FLOAT_TYPE, (x))
+#define CMP_FUNCTION float_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_BINARY_FUNCTION double_double_bin_op
+#define GENERIC_TYPE double
+#define POW_FUNCTION(a,b) pow((double)(a),(double)(b))
+#define POW_RESULT_TYPE double
+#define MOD_FUNCTION(a,b) (float)fmod((a),(b))
+#define GENERIC_UNARY_FUNCTION double_unary_op
+#define ABS_FUNCTION(a) fabs(a)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define SCALAR_BINARY_FUNCTION double_double_scalar_bin_op
+#define PUSH_SCALAR_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE,(x))
+#define PUSH_POW_OBJ_FUN(x) SLclass_push_double_obj(SLANG_DOUBLE_TYPE, (x))
+#define CMP_FUNCTION double_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_UNARY_FUNCTION char_unary_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE signed char
+#define ABS_FUNCTION abs
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define CMP_FUNCTION char_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_UNARY_FUNCTION uchar_unary_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE unsigned char
+#define ABS_FUNCTION(x) (x)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
+#define CMP_FUNCTION uchar_cmp_function
+#include "slarith.inc"
+
+#if SIZEOF_SHORT != SIZEOF_INT
+#define GENERIC_UNARY_FUNCTION short_unary_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE short
+#define ABS_FUNCTION abs
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : (((x) < 0) ? -1 : 0))
+#define CMP_FUNCTION short_cmp_function
+#include "slarith.inc"
+
+#define GENERIC_UNARY_FUNCTION ushort_unary_op
+#define GENERIC_BIT_OPERATIONS
+#define GENERIC_TYPE unsigned short
+#define ABS_FUNCTION(x) (x)
+#define SIGN_FUNCTION(x) (((x) > 0) ? 1 : 0)
+#define CMP_FUNCTION ushort_cmp_function
+#include "slarith.inc"
+#endif /* SIZEOF_INT != SIZEOF_SHORT */
+
+/* Unfortunately, the numbers that were assigned to the data-types were
+ * not well thought out. So, I need to use the following table.
+ */
+#define MAXIMUM_ARITH_TYPE_VALUE SLANG_FLOAT_TYPE
+#define IS_INTEGER_TYPE(x) \
+ (((x) <= MAXIMUM_ARITH_TYPE_VALUE) \
+ && (Type_Precedence_Table[x] < 8) && (Type_Precedence_Table[x] != -1))
+#define IS_ARITHMETIC_TYPE(x) \
+ (((x) <= MAXIMUM_ARITH_TYPE_VALUE) && (Type_Precedence_Table[x] != -1))
+
+#define LONG_PRECEDENCE_VALUE 6
+#define FLOAT_PRECEDENCE_VALUE 8
+
+static signed char Type_Precedence_Table [MAXIMUM_ARITH_TYPE_VALUE + 1] =
+{
+ -1, /* SLANG_UNDEFINED_TYPE */
+ -1, /* SLANG_VOID_TYPE */
+ 4, /* SLANG_INT_TYPE */
+ 9, /* SLANG_DOUBLE_TYPE */
+ 0, /* SLANG_CHAR_TYPE */
+ -1, /* SLANG_INTP_TYPE */
+ -1, /* SLANG_REF_TYPE */
+ -1, /* SLANG_COMPLEX_TYPE */
+ -1, /* SLANG_NULL_TYPE */
+ 1, /* SLANG_UCHAR_TYPE */
+ 2, /* SLANG_SHORT_TYPE */
+ 3, /* SLANG_USHORT_TYPE */
+ 5, /* SLANG_UINT_TYPE */
+ 6, /* SLANG_LONG_TYPE */
+ 7, /* SLANG_ULONG_TYPE */
+ -1, /* SLANG_STRING_TYPE */
+ 8 /* SLANG_FLOAT_TYPE */
+};
+
+int _SLarith_get_precedence (unsigned char type)
+{
+ if (type > MAXIMUM_ARITH_TYPE_VALUE)
+ return -1;
+
+ return Type_Precedence_Table[type];
+}
+
+unsigned char _SLarith_promote_type (unsigned char t)
+{
+ switch (t)
+ {
+ case SLANG_FLOAT_TYPE:
+ case SLANG_DOUBLE_TYPE:
+ case SLANG_LONG_TYPE:
+ case SLANG_ULONG_TYPE:
+ case SLANG_INT_TYPE:
+ case SLANG_UINT_TYPE:
+ break;
+
+ case SLANG_USHORT_TYPE:
+#if SIZEOF_INT == SIZEOF_SHORT
+ t = SLANG_UINT_TYPE;
+ break;
+#endif
+ /* drop */
+ case SLANG_CHAR_TYPE:
+ case SLANG_UCHAR_TYPE:
+ case SLANG_SHORT_TYPE:
+ default:
+ t = SLANG_INT_TYPE;
+ }
+
+ return t;
+}
+
+static unsigned char promote_to_common_type (unsigned char a, unsigned char b)
+{
+ a = _SLarith_promote_type (a);
+ b = _SLarith_promote_type (b);
+
+ return (Type_Precedence_Table[a] > Type_Precedence_Table[b]) ? a : b;
+}
+
+static int arith_bin_op_result (int op, unsigned char a_type, unsigned char b_type,
+ unsigned char *c_type)
+{
+ switch (op)
+ {
+ case SLANG_EQ:
+ case SLANG_NE:
+ case SLANG_GT:
+ case SLANG_GE:
+ case SLANG_LT:
+ case SLANG_LE:
+ case SLANG_OR:
+ case SLANG_AND:
+ *c_type = SLANG_CHAR_TYPE;
+ return 1;
+
+ case SLANG_POW:
+ if (SLANG_FLOAT_TYPE == promote_to_common_type (a_type, b_type))
+ *c_type = SLANG_FLOAT_TYPE;
+ else
+ *c_type = SLANG_DOUBLE_TYPE;
+ return 1;
+
+ case SLANG_BAND:
+ case SLANG_BXOR:
+ case SLANG_BOR:
+ case SLANG_SHL:
+ case SLANG_SHR:
+ /* The bit-level operations are defined just for integer types */
+ if ((0 == IS_INTEGER_TYPE (a_type))
+ || (0 == IS_INTEGER_TYPE(b_type)))
+ return 0;
+ break;
+
+ default:
+ break;
+ }
+
+ *c_type = promote_to_common_type (a_type, b_type);
+ return 1;
+}
+
+typedef int (*Bin_Fun_Type) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR);
+
+/* This array of functions must be indexed by precedence after arithmetic
+ * promotions.
+ */
+static Bin_Fun_Type Bin_Fun_Map [MAX_ARITHMETIC_TYPES] =
+{
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ int_int_bin_op,
+ uint_uint_bin_op,
+ long_long_bin_op,
+ ulong_ulong_bin_op,
+ float_float_bin_op,
+ double_double_bin_op
+};
+
+static int arith_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ Convert_Fun_Type af, bf;
+ Bin_Fun_Type binfun;
+ int a_indx, b_indx, c_indx;
+ unsigned char c_type;
+ int ret;
+
+ c_type = promote_to_common_type (a_type, b_type);
+
+ a_indx = Type_Precedence_Table [a_type];
+ b_indx = Type_Precedence_Table [b_type];
+ c_indx = Type_Precedence_Table [c_type];
+
+ af = Binary_Matrix[a_indx][c_indx].convert_function;
+ bf = Binary_Matrix[b_indx][c_indx].convert_function;
+ binfun = Bin_Fun_Map[c_indx];
+
+ if ((af != NULL)
+ && (NULL == (ap = (VOID_STAR) (*af) (ap, na))))
+ return -1;
+
+ if ((bf != NULL)
+ && (NULL == (bp = (VOID_STAR) (*bf) (bp, nb))))
+ {
+ if (af != NULL) SLfree ((char *) ap);
+ return -1;
+ }
+
+ ret = (*binfun) (op, a_type, ap, na, b_type, bp, nb, cp);
+ if (af != NULL) SLfree ((char *) ap);
+ if (bf != NULL) SLfree ((char *) bp);
+
+ return ret;
+}
+
+static int arith_unary_op_result (int op, unsigned char a, unsigned char *b)
+{
+ (void) a;
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_SQR:
+ case SLANG_MUL2:
+ case SLANG_PLUSPLUS:
+ case SLANG_MINUSMINUS:
+ case SLANG_CHS:
+ case SLANG_ABS:
+ *b = a;
+ break;
+
+ case SLANG_NOT:
+ case SLANG_BNOT:
+ if (0 == IS_INTEGER_TYPE(a))
+ return 0;
+ *b = a;
+ break;
+
+ case SLANG_SIGN:
+ *b = SLANG_INT_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int integer_pop (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Object_Type obj;
+ int i, j;
+ void (*f)(VOID_STAR, VOID_STAR, unsigned int);
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ if ((obj.data_type > MAXIMUM_ARITH_TYPE_VALUE)
+ || ((j = Type_Precedence_Table[obj.data_type]) == -1)
+ || (j >= FLOAT_PRECEDENCE_VALUE))
+ {
+ _SLclass_type_mismatch_error (type, obj.data_type);
+ SLang_free_object (&obj);
+ return -1;
+ }
+
+ i = Type_Precedence_Table[type];
+ f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
+ Binary_Matrix[j][i].copy_function;
+
+ (*f) (ptr, (VOID_STAR)&obj.v, 1);
+
+ return 0;
+}
+
+static int integer_push (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Object_Type obj;
+ int i;
+ void (*f)(VOID_STAR, VOID_STAR, unsigned int);
+
+ i = Type_Precedence_Table[type];
+ f = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
+ Binary_Matrix[i][i].copy_function;
+
+ obj.data_type = type;
+
+ (*f) ((VOID_STAR)&obj.v, ptr, 1);
+
+ return SLang_push (&obj);
+}
+
+int SLang_pop_char (char *i)
+{
+ return integer_pop (SLANG_CHAR_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_uchar (unsigned char *i)
+{
+ return integer_pop (SLANG_UCHAR_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_short (short *i)
+{
+ return integer_pop (SLANG_SHORT_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_ushort (unsigned short *i)
+{
+ return integer_pop (SLANG_USHORT_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_long (long *i)
+{
+ return integer_pop (SLANG_LONG_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_ulong (unsigned long *i)
+{
+ return integer_pop (SLANG_ULONG_TYPE, (VOID_STAR) i);
+}
+
+int SLang_pop_integer (int *i)
+{
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, &obj, 0))
+ return -1;
+ *i = obj.v.int_val;
+ return 0;
+#else
+ return integer_pop (SLANG_INT_TYPE, (VOID_STAR) i);
+#endif
+}
+
+int SLang_pop_uinteger (unsigned int *i)
+{
+ return integer_pop (SLANG_UINT_TYPE, (VOID_STAR) i);
+}
+
+int SLang_push_integer (int i)
+{
+ return SLclass_push_int_obj (SLANG_INT_TYPE, i);
+}
+int SLang_push_uinteger (unsigned int i)
+{
+ return SLclass_push_int_obj (SLANG_UINT_TYPE, (int) i);
+}
+int SLang_push_char (char i)
+{
+ return SLclass_push_char_obj (SLANG_CHAR_TYPE, i);
+}
+int SLang_push_uchar (unsigned char i)
+{
+ return SLclass_push_char_obj (SLANG_UCHAR_TYPE, (char) i);
+}
+int SLang_push_short (short i)
+{
+ return SLclass_push_short_obj (SLANG_SHORT_TYPE, i);
+}
+int SLang_push_ushort (unsigned short i)
+{
+ return SLclass_push_short_obj (SLANG_USHORT_TYPE, (unsigned short) i);
+}
+int SLang_push_long (long i)
+{
+ return SLclass_push_long_obj (SLANG_LONG_TYPE, i);
+}
+int SLang_push_ulong (unsigned long i)
+{
+ return SLclass_push_long_obj (SLANG_ULONG_TYPE, (long) i);
+}
+
+_INLINE_
+int _SLarith_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ int i, j;
+
+ void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
+
+ i = Type_Precedence_Table[a_type];
+ j = Type_Precedence_Table[b_type];
+
+ copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
+ Binary_Matrix[i][j].copy_function;
+
+ (*copy) (bp, ap, na);
+ return 1;
+}
+
+#if SLANG_HAS_FLOAT
+
+int SLang_pop_double(double *x, int *convertp, int *ip)
+{
+ SLang_Object_Type obj;
+ int i, convert;
+
+ if (0 != SLang_pop (&obj))
+ return -1;
+
+ i = 0;
+ convert = 0;
+
+ switch (obj.data_type)
+ {
+ case SLANG_FLOAT_TYPE:
+ *x = (double) obj.v.float_val;
+ break;
+
+ case SLANG_DOUBLE_TYPE:
+ *x = obj.v.double_val;
+ break;
+
+ case SLANG_INT_TYPE:
+ i = (int) obj.v.long_val;
+ *x = (double) i;
+ convert = 1;
+ break;
+
+ case SLANG_CHAR_TYPE: *x = (double) obj.v.char_val; break;
+ case SLANG_UCHAR_TYPE: *x = (double) obj.v.uchar_val; break;
+ case SLANG_SHORT_TYPE: *x = (double) obj.v.short_val; break;
+ case SLANG_USHORT_TYPE: *x = (double) obj.v.ushort_val; break;
+ case SLANG_UINT_TYPE: *x = (double) obj.v.uint_val; break;
+ case SLANG_LONG_TYPE: *x = (double) obj.v.long_val; break;
+ case SLANG_ULONG_TYPE: *x = (double) obj.v.ulong_val; break;
+
+ default:
+ _SLclass_type_mismatch_error (SLANG_DOUBLE_TYPE, obj.data_type);
+ SLang_free_object (&obj);
+ return -1;
+ }
+
+ if (convertp != NULL) *convertp = convert;
+ if (ip != NULL) *ip = i;
+
+ return 0;
+}
+
+int SLang_push_double (double x)
+{
+ return SLclass_push_double_obj (SLANG_DOUBLE_TYPE, x);
+}
+
+int SLang_pop_float (float *x)
+{
+ double d;
+
+ /* Pop it as a double and let the double function do all the typcasting */
+ if (-1 == SLang_pop_double (&d, NULL, NULL))
+ return -1;
+
+ *x = (float) d;
+ return 0;
+}
+
+int SLang_push_float (float f)
+{
+ return SLclass_push_float_obj (SLANG_FLOAT_TYPE, (double) f);
+}
+
+/* Double */
+static int double_push (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ SLang_push_double (*(double *) ptr);
+ return 0;
+}
+
+static int double_push_literal (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ return SLang_push_double (**(double **)ptr);
+}
+
+static int double_pop (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return SLang_pop_double ((double *) ptr, NULL, NULL);
+}
+
+static void double_byte_code_destroy (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ SLfree (*(char **) ptr);
+}
+
+static int float_push (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ SLang_push_float (*(float *) ptr);
+ return 0;
+}
+
+static int float_pop (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return SLang_pop_float ((float *) ptr);
+}
+
+#endif /* SLANG_HAS_FLOAT */
+
+#if SLANG_HAS_FLOAT
+static char Double_Format[16] = "%g";
+
+void _SLset_double_format (char *s)
+{
+ strncpy (Double_Format, s, 15);
+ Double_Format[15] = 0;
+}
+#endif
+
+static char *arith_string (unsigned char type, VOID_STAR v)
+{
+ char buf [256];
+ char *s;
+
+ s = buf;
+
+ switch (type)
+ {
+ default:
+ s = SLclass_get_datatype_name (type);
+ break;
+
+ case SLANG_CHAR_TYPE:
+ sprintf (s, "%d", *(char *) v);
+ break;
+ case SLANG_UCHAR_TYPE:
+ sprintf (s, "%u", *(unsigned char *) v);
+ break;
+ case SLANG_SHORT_TYPE:
+ sprintf (s, "%d", *(short *) v);
+ break;
+ case SLANG_USHORT_TYPE:
+ sprintf (s, "%u", *(unsigned short *) v);
+ break;
+ case SLANG_INT_TYPE:
+ sprintf (s, "%d", *(int *) v);
+ break;
+ case SLANG_UINT_TYPE:
+ sprintf (s, "%u", *(unsigned int *) v);
+ break;
+ case SLANG_LONG_TYPE:
+ sprintf (s, "%ld", *(long *) v);
+ break;
+ case SLANG_ULONG_TYPE:
+ sprintf (s, "%lu", *(unsigned long *) v);
+ break;
+#if SLANG_HAS_FLOAT
+ case SLANG_FLOAT_TYPE:
+ if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(float *) v))
+ sprintf (s, "%e", *(float *) v);
+ break;
+ case SLANG_DOUBLE_TYPE:
+ if (EOF == _SLsnprintf (buf, sizeof (buf), Double_Format, *(double *) v))
+ sprintf (s, "%e", *(double *) v);
+ break;
+#endif
+ }
+
+ return SLmake_string (s);
+}
+
+static int integer_to_bool (unsigned char type, int *t)
+{
+ (void) type;
+ return SLang_pop_integer (t);
+}
+
+static int push_int_literal (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_push_int_obj (type, (int) *(long *) ptr);
+}
+
+static int push_char_literal (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_push_char_obj (type, (char) *(long *) ptr);
+}
+
+#if SIZEOF_SHORT != SIZEOF_INT
+static int push_short_literal (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_push_short_obj (type, (short) *(long *) ptr);
+}
+#endif
+
+#if SIZEOF_INT != SIZEOF_LONG
+static int push_long_literal (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_push_long_obj (type, *(long *) ptr);
+}
+#endif
+
+typedef struct
+{
+ char *name;
+ unsigned char data_type;
+ unsigned int sizeof_type;
+ int (*unary_fun)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
+ int (*push_literal) (unsigned char, VOID_STAR);
+ int (*cmp_fun) (unsigned char, VOID_STAR, VOID_STAR, int *);
+}
+Integer_Info_Type;
+
+static Integer_Info_Type Integer_Types [8] =
+{
+ {"Char_Type", SLANG_CHAR_TYPE, sizeof (char), char_unary_op, push_char_literal, char_cmp_function},
+ {"UChar_Type", SLANG_UCHAR_TYPE, sizeof (unsigned char), uchar_unary_op, push_char_literal, uchar_cmp_function},
+#if SIZEOF_INT != SIZEOF_SHORT
+ {"Short_Type", SLANG_SHORT_TYPE, sizeof (short), short_unary_op, push_short_literal, short_cmp_function},
+ {"UShort_Type", SLANG_USHORT_TYPE, sizeof (unsigned short), ushort_unary_op, push_short_literal, ushort_cmp_function},
+#else
+ {NULL, SLANG_SHORT_TYPE},
+ {NULL, SLANG_USHORT_TYPE},
+#endif
+
+ {"Integer_Type", SLANG_INT_TYPE, sizeof (int), int_unary_op, push_int_literal, int_cmp_function},
+ {"UInteger_Type", SLANG_UINT_TYPE, sizeof (unsigned int), uint_unary_op, push_int_literal, uint_cmp_function},
+
+#if SIZEOF_INT != SIZEOF_LONG
+ {"Long_Type", SLANG_LONG_TYPE, sizeof (long), long_unary_op, push_long_literal, long_cmp_function},
+ {"ULong_Type", SLANG_ULONG_TYPE, sizeof (unsigned long), ulong_unary_op, push_long_literal, ulong_cmp_function}
+#else
+ {NULL, SLANG_LONG_TYPE, 0, NULL, NULL, NULL},
+ {NULL, SLANG_ULONG_TYPE, 0, NULL, NULL, NULL}
+#endif
+};
+
+static int create_synonyms (void)
+{
+ static char *names[8] =
+ {
+ "Int16_Type", "UInt16_Type", "Int32_Type", "UInt32_Type",
+ "Int64_Type", "UInt64_Type",
+ "Float32_Type", "Float64_Type"
+ };
+ int types[8];
+ unsigned int i;
+
+ memset ((char *) types, 0, sizeof (types));
+
+ /* The assumption is that sizeof(unsigned X) == sizeof (X) */
+#if SIZEOF_INT == 2
+ types[0] = SLANG_INT_TYPE;
+ types[1] = SLANG_UINT_TYPE;
+#else
+# if SIZEOF_SHORT == 2
+ types[0] = SLANG_SHORT_TYPE;
+ types[1] = SLANG_USHORT_TYPE;
+# else
+# if SIZEOF_LONG == 2
+ types[0] = SLANG_LONG_TYPE;
+ types[1] = SLANG_ULONG_TYPE;
+# endif
+# endif
+#endif
+
+#if SIZEOF_INT == 4
+ types[2] = SLANG_INT_TYPE;
+ types[3] = SLANG_UINT_TYPE;
+#else
+# if SIZEOF_SHORT == 4
+ types[2] = SLANG_SHORT_TYPE;
+ types[3] = SLANG_USHORT_TYPE;
+# else
+# if SIZEOF_LONG == 4
+ types[2] = SLANG_LONG_TYPE;
+ types[3] = SLANG_ULONG_TYPE;
+# endif
+# endif
+#endif
+
+#if SIZEOF_INT == 8
+ types[4] = SLANG_INT_TYPE;
+ types[5] = SLANG_UINT_TYPE;
+#else
+# if SIZEOF_SHORT == 8
+ types[4] = SLANG_SHORT_TYPE;
+ types[5] = SLANG_USHORT_TYPE;
+# else
+# if SIZEOF_LONG == 8
+ types[4] = SLANG_LONG_TYPE;
+ types[5] = SLANG_ULONG_TYPE;
+# endif
+# endif
+#endif
+
+#if SLANG_HAS_FLOAT
+
+#if SIZEOF_FLOAT == 4
+ types[6] = SLANG_FLOAT_TYPE;
+#else
+# if SIZEOF_DOUBLE == 4
+ types[6] = SLANG_DOUBLE_TYPE;
+# endif
+#endif
+#if SIZEOF_FLOAT == 8
+ types[7] = SLANG_FLOAT_TYPE;
+#else
+# if SIZEOF_DOUBLE == 8
+ types[7] = SLANG_DOUBLE_TYPE;
+# endif
+#endif
+
+#endif
+
+ if ((-1 == SLclass_create_synonym ("Int_Type", SLANG_INT_TYPE))
+ || (-1 == SLclass_create_synonym ("UInt_Type", SLANG_UINT_TYPE)))
+ return -1;
+
+ for (i = 0; i < 8; i++)
+ {
+ if (types[i] == 0) continue;
+
+ if (-1 == SLclass_create_synonym (names[i], types[i]))
+ return -1;
+ }
+
+#if SIZEOF_INT == SIZEOF_SHORT
+ if ((-1 == SLclass_create_synonym ("Short_Type", SLANG_INT_TYPE))
+ || (-1 == SLclass_create_synonym ("UShort_Type", SLANG_UINT_TYPE))
+ || (-1 == _SLclass_copy_class (SLANG_SHORT_TYPE, SLANG_INT_TYPE))
+ || (-1 == _SLclass_copy_class (SLANG_USHORT_TYPE, SLANG_UINT_TYPE)))
+ return -1;
+#endif
+#if SIZEOF_INT == SIZEOF_LONG
+ if ((-1 == SLclass_create_synonym ("Long_Type", SLANG_INT_TYPE))
+ || (-1 == SLclass_create_synonym ("ULong_Type", SLANG_UINT_TYPE))
+ || (-1 == _SLclass_copy_class (SLANG_LONG_TYPE, SLANG_INT_TYPE))
+ || (-1 == _SLclass_copy_class (SLANG_ULONG_TYPE, SLANG_UINT_TYPE)))
+ return -1;
+#endif
+ return 0;
+}
+
+int _SLarith_register_types (void)
+{
+ SLang_Class_Type *cl;
+ int a_type, b_type;
+ int i, j;
+
+#if defined(HAVE_SETLOCALE) && defined(LC_NUMERIC)
+ /* make sure decimal point it used --- the parser requires it */
+ (void) setlocale (LC_NUMERIC, "C");
+#endif
+
+ for (i = 0; i < 8; i++)
+ {
+ Integer_Info_Type *info;
+
+ info = Integer_Types + i;
+
+ if (info->name == NULL)
+ {
+ /* This happens when the object is the same size as an integer
+ * For this case, we really want to copy the integer class.
+ * We will handle that when the synonym is created.
+ */
+ continue;
+ }
+
+ if (NULL == (cl = SLclass_allocate_class (info->name)))
+ return -1;
+
+ (void) SLclass_set_string_function (cl, arith_string);
+ (void) SLclass_set_push_function (cl, integer_push);
+ (void) SLclass_set_pop_function (cl, integer_pop);
+ cl->cl_push_literal = info->push_literal;
+ cl->cl_to_bool = integer_to_bool;
+
+ cl->cl_cmp = info->cmp_fun;
+
+ if (-1 == SLclass_register_class (cl, info->data_type, info->sizeof_type,
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+ if (-1 == SLclass_add_unary_op (info->data_type, info->unary_fun, arith_unary_op_result))
+ return -1;
+
+ _SLarith_Is_Arith_Type [info->data_type] = 1;
+ }
+
+#if SLANG_HAS_FLOAT
+ if (NULL == (cl = SLclass_allocate_class ("Double_Type")))
+ return -1;
+ (void) SLclass_set_push_function (cl, double_push);
+ (void) SLclass_set_pop_function (cl, double_pop);
+ (void) SLclass_set_string_function (cl, arith_string);
+ cl->cl_byte_code_destroy = double_byte_code_destroy;
+ cl->cl_push_literal = double_push_literal;
+ cl->cl_cmp = double_cmp_function;
+
+ if (-1 == SLclass_register_class (cl, SLANG_DOUBLE_TYPE, sizeof (double),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+ if (-1 == SLclass_add_unary_op (SLANG_DOUBLE_TYPE, double_unary_op, arith_unary_op_result))
+ return -1;
+ _SLarith_Is_Arith_Type [SLANG_DOUBLE_TYPE] = 2;
+
+ if (NULL == (cl = SLclass_allocate_class ("Float_Type")))
+ return -1;
+ (void) SLclass_set_string_function (cl, arith_string);
+ (void) SLclass_set_push_function (cl, float_push);
+ (void) SLclass_set_pop_function (cl, float_pop);
+ cl->cl_cmp = float_cmp_function;
+
+ if (-1 == SLclass_register_class (cl, SLANG_FLOAT_TYPE, sizeof (float),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+ if (-1 == SLclass_add_unary_op (SLANG_FLOAT_TYPE, float_unary_op, arith_unary_op_result))
+ return -1;
+ _SLarith_Is_Arith_Type [SLANG_FLOAT_TYPE] = 2;
+#endif
+
+ if (-1 == create_synonyms ())
+ return -1;
+
+ for (a_type = 0; a_type <= MAXIMUM_ARITH_TYPE_VALUE; a_type++)
+ {
+ if (-1 == (i = Type_Precedence_Table [a_type]))
+ continue;
+
+ for (b_type = 0; b_type <= MAXIMUM_ARITH_TYPE_VALUE; b_type++)
+ {
+ int implicit_ok;
+
+ if (-1 == (j = Type_Precedence_Table [b_type]))
+ continue;
+
+ /* Allow implicit typecast, except from into to float */
+ implicit_ok = ((j >= FLOAT_PRECEDENCE_VALUE)
+ || (i < FLOAT_PRECEDENCE_VALUE));
+
+ if (-1 == SLclass_add_binary_op (a_type, b_type, arith_bin_op, arith_bin_op_result))
+ return -1;
+
+ if (i != j)
+ if (-1 == SLclass_add_typecast (a_type, b_type, _SLarith_typecast, implicit_ok))
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+
+static void promote_objs (SLang_Object_Type *a, SLang_Object_Type *b,
+ SLang_Object_Type *c, SLang_Object_Type *d)
+{
+ unsigned char ia, ib, ic, id;
+ int i, j;
+ void (*copy)(VOID_STAR, VOID_STAR, unsigned int);
+
+ ia = a->data_type;
+ ib = b->data_type;
+
+ ic = _SLarith_promote_type (ia);
+
+ if (ic == ib) id = ic; /* already promoted */
+ else id = _SLarith_promote_type (ib);
+
+ i = Type_Precedence_Table[ic];
+ j = Type_Precedence_Table[id];
+ if (i > j)
+ {
+ id = ic;
+ j = i;
+ }
+
+ c->data_type = d->data_type = id;
+
+ i = Type_Precedence_Table[ia];
+ copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
+ Binary_Matrix[i][j].copy_function;
+ (*copy) ((VOID_STAR) &c->v, (VOID_STAR)&a->v, 1);
+
+ i = Type_Precedence_Table[ib];
+ copy = (void (*)(VOID_STAR, VOID_STAR, unsigned int))
+ Binary_Matrix[i][j].copy_function;
+ (*copy) ((VOID_STAR) &d->v, (VOID_STAR)&b->v, 1);
+}
+
+int _SLarith_bin_op (SLang_Object_Type *oa, SLang_Object_Type *ob, int op)
+{
+ unsigned char a_type, b_type;
+
+ a_type = oa->data_type;
+ b_type = ob->data_type;
+
+ if (a_type != b_type)
+ {
+ SLang_Object_Type obj_a, obj_b;
+
+ /* Handle common cases */
+ if ((a_type == SLANG_INT_TYPE)
+ && (b_type == SLANG_DOUBLE_TYPE))
+ return double_double_scalar_bin_op (oa->v.int_val, ob->v.double_val, op);
+
+ if ((a_type == SLANG_DOUBLE_TYPE)
+ && (b_type == SLANG_INT_TYPE))
+ return double_double_scalar_bin_op (oa->v.double_val, ob->v.int_val, op);
+
+ /* Otherwise do it the hard way */
+ promote_objs (oa, ob, &obj_a, &obj_b);
+ oa = &obj_a;
+ ob = &obj_b;
+
+ a_type = oa->data_type;
+ b_type = ob->data_type;
+ }
+
+
+ switch (a_type)
+ {
+ case SLANG_CHAR_TYPE:
+ return int_int_scalar_bin_op (oa->v.char_val, ob->v.char_val, op);
+
+ case SLANG_UCHAR_TYPE:
+ return int_int_scalar_bin_op (oa->v.uchar_val, ob->v.uchar_val, op);
+
+ case SLANG_SHORT_TYPE:
+ return int_int_scalar_bin_op (oa->v.short_val, ob->v.short_val, op);
+
+ case SLANG_USHORT_TYPE:
+# if SIZEOF_INT == SIZEOF_SHORT
+ return uint_uint_scalar_bin_op (oa->v.ushort_val, ob->v.ushort_val, op);
+# else
+ return int_int_scalar_bin_op ((int)oa->v.ushort_val, (int)ob->v.ushort_val, op);
+# endif
+
+#if SIZEOF_LONG == SIZEOF_INT
+ case SLANG_LONG_TYPE:
+#endif
+ case SLANG_INT_TYPE:
+ return int_int_scalar_bin_op (oa->v.int_val, ob->v.int_val, op);
+
+#if SIZEOF_LONG == SIZEOF_INT
+ case SLANG_ULONG_TYPE:
+#endif
+ case SLANG_UINT_TYPE:
+ return uint_uint_scalar_bin_op (oa->v.uint_val, ob->v.uint_val, op);
+
+#if SIZEOF_LONG != SIZEOF_INT
+ case SLANG_LONG_TYPE:
+ return long_long_scalar_bin_op (oa->v.long_val, ob->v.long_val, op);
+ case SLANG_ULONG_TYPE:
+ return ulong_ulong_scalar_bin_op (oa->v.ulong_val, ob->v.ulong_val, op);
+#endif
+ case SLANG_FLOAT_TYPE:
+ return float_float_scalar_bin_op (oa->v.float_val, ob->v.float_val, op);
+ case SLANG_DOUBLE_TYPE:
+ return double_double_scalar_bin_op (oa->v.double_val, ob->v.double_val, op);
+ }
+
+ return 1;
+}
+#endif
diff --git a/mdk-stage1/slang/slarith.inc b/mdk-stage1/slang/slarith.inc
new file mode 100644
index 000000000..efa8a5e04
--- /dev/null
+++ b/mdk-stage1/slang/slarith.inc
@@ -0,0 +1,783 @@
+/* -*- c -*- */
+
+/* This include file is a template for defining arithmetic binary operations
+ * on arithmetic types. I realize that doing it this way is not very
+ * elegant but it minimizes the number of lines of code and I believe it
+ * promotes clarity.
+ */
+
+/* The following macros should be properly defined before including this file:
+ *
+ * GENERIC_BINARY_FUNCTION: The name of the binary function
+ * GENERIC_TYPE: The class data type
+ * MOD_FUNCTION: The function to use for mod
+ * ABS_FUNCTION: Name of the abs function
+ * SIGN_FUNCTION: Name of the sign function
+ * GENERIC_UNARY_FUNCTION Name of the unary function
+ *
+ * If GENERIC_BIT_OPERATIONS is defined, the bit-level binary operators
+ * will get included. If the data type has a power operation (SLANG_POW),
+ * then POW_FUNCTION should be defined to return POW_RESULT_TYPE.
+ */
+#ifdef GENERIC_BINARY_FUNCTION
+
+static int GENERIC_BINARY_FUNCTION
+(int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ GENERIC_TYPE *c, *a, *b;
+#ifdef POW_FUNCTION
+ POW_RESULT_TYPE *d;
+#endif
+ unsigned int n;
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ unsigned int n_max, da, db;
+#endif
+ char *cc;
+
+ (void) a_type; /* Both SLANG_INT_TYPE */
+ (void) b_type;
+
+ a = (GENERIC_TYPE *) ap;
+ b = (GENERIC_TYPE *) bp;
+ c = (GENERIC_TYPE *) cp;
+ cc = (char *) cp;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ if (na == 1) da = 0; else da = 1;
+ if (nb == 1) db = 0; else db = 1;
+
+ if (na > nb) n_max = na; else n_max = nb;
+#endif
+
+ switch (op)
+ {
+ default:
+ return 0;
+#ifdef POW_FUNCTION
+ case SLANG_POW:
+ d = (POW_RESULT_TYPE *) cp;
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ d[n] = POW_FUNCTION(*a, *b);
+ a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ d[n] = POW_FUNCTION(a[n],b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ if (xb == 2)
+ for (n = 0; n < na; n++)
+ d[n] = a[n] * a[n];
+ else
+ for (n = 0; n < na; n++)
+ d[n] = POW_FUNCTION(a[n], xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ d[n] = POW_FUNCTION(xa, b[n]);
+ }
+#endif
+ break;
+#endif
+ case SLANG_PLUS:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a + *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] + b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] + xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa + b[n];
+ }
+#endif
+ break;
+
+ case SLANG_MINUS:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a - *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] - b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] - xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa - b[n];
+ }
+#endif
+ break;
+
+ case SLANG_TIMES:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a * *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] * b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] * xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa * b[n];
+ }
+#endif
+ break;
+
+ case SLANG_DIVIDE:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ if (*b == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = (*a / *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ {
+ if (b[n] == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = a[n] / b[n];
+ }
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+
+ if (xb == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ for (n = 0; n < na; n++)
+ c[n] = a[n] / xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ {
+ if (b[n] == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = xa / b[n];
+ }
+ }
+#endif
+ break;
+
+ case SLANG_MOD:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ if (*b == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = MOD_FUNCTION(*a, *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ {
+ if (b[n] == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = MOD_FUNCTION(a[n],b[n]);
+ }
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ if (xb == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ for (n = 0; n < na; n++)
+ c[n] = MOD_FUNCTION(a[n],xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ {
+ if (b[n] == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = MOD_FUNCTION(xa,b[n]);
+ }
+ }
+#endif
+ break;
+
+#ifdef GENERIC_BIT_OPERATIONS
+ case SLANG_BAND:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a & *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] & b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] & xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa & b[n];
+ }
+#endif
+ break;
+
+ case SLANG_BXOR:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a ^ *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] ^ b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] ^ xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa ^ b[n];
+ }
+#endif
+ break;
+
+ case SLANG_BOR:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a | *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] | b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] | xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa | b[n];
+ }
+#endif
+ break;
+
+ case SLANG_SHL:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a << *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] << b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] << xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa << b[n];
+ }
+#endif
+ break;
+
+ case SLANG_SHR:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (*a >> *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ c[n] = a[n] >> b[n];
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ c[n] = a[n] >> xb;
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ c[n] = xa >> b[n];
+ }
+#endif
+ break;
+#endif /* GENERIC_BIT_OPERATIONS */
+ case SLANG_EQ:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a == *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] == b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] == xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa == b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_NE:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a != *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] != b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] != xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa != b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_GT:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a > *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] > b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] > xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa > b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_GE:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a >= *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] >= b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] >= xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa >= b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_LT:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a < *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] < b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] < xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa < b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_LE:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a <= *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] <= b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] <= xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa <= b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_OR:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a || *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] || b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] || xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa || b[n]);
+ }
+#endif
+ break;
+
+ case SLANG_AND:
+#if _SLANG_OPTIMIZE_FOR_SPEED < 2
+ for (n = 0; n < n_max; n++)
+ {
+ cc[n] = (*a && *b); a += da; b += db;
+ }
+#else
+ if (na == nb)
+ {
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] && b[n]);
+ }
+ else if (nb == 1)
+ {
+ GENERIC_TYPE xb = *b;
+ for (n = 0; n < na; n++)
+ cc[n] = (a[n] && xb);
+ }
+ else /* if (na == 1) */
+ {
+ GENERIC_TYPE xa = *a;
+ for (n = 0; n < nb; n++)
+ cc[n] = (xa && b[n]);
+ }
+#endif
+ break;
+ }
+ return 1;
+}
+
+#endif /* GENERIC_BINARY_FUNCTION */
+
+
+#ifdef GENERIC_UNARY_FUNCTION
+
+static int GENERIC_UNARY_FUNCTION
+(int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp
+ )
+{
+ GENERIC_TYPE *a, *b;
+ unsigned int n;
+ int *ib;
+
+ (void) a_type;
+
+ a = (GENERIC_TYPE *) ap;
+ b = (GENERIC_TYPE *) bp;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUSPLUS:
+ for (n = 0; n < na; n++) b[n] = (a[n] + 1);
+ break;
+ case SLANG_MINUSMINUS:
+ for (n = 0; n < na; n++) b[n] = (a[n] - 1);
+ break;
+ case SLANG_CHS:
+ for (n = 0; n < na; n++) b[n] = (GENERIC_TYPE) -(a[n]);
+ break;
+ case SLANG_SQR:
+ for (n = 0; n < na; n++) b[n] = (a[n] * a[n]);
+ break;
+ case SLANG_MUL2:
+ for (n = 0; n < na; n++) b[n] = (2 * a[n]);
+ break;
+ case SLANG_ABS:
+ for (n = 0; n < na; n++) b[n] = ABS_FUNCTION (a[n]);
+ break;
+ case SLANG_SIGN:
+ ib = (int *) bp;
+ for (n = 0; n < na; n++)
+ ib[n] = SIGN_FUNCTION(a[n]);
+ break;
+
+#ifdef GENERIC_BIT_OPERATIONS
+ case SLANG_NOT:
+ for (n = 0; n < na; n++) b[n] = !(a[n]);
+ break;
+ case SLANG_BNOT:
+ for (n = 0; n < na; n++) b[n] = ~(a[n]);
+ break;
+#endif
+ }
+
+ return 1;
+}
+#endif /* GENERIC_UNARY_FUNCTION */
+
+
+#ifdef SCALAR_BINARY_FUNCTION
+
+static int SCALAR_BINARY_FUNCTION (GENERIC_TYPE a, GENERIC_TYPE b, int op)
+{
+ switch (op)
+ {
+ default:
+ return 1;
+
+#ifdef POW_FUNCTION
+ case SLANG_POW:
+ return PUSH_POW_OBJ_FUN(POW_FUNCTION(a, b));
+#endif
+ case SLANG_PLUS:
+ return PUSH_SCALAR_OBJ_FUN (a + b);
+ case SLANG_MINUS:
+ return PUSH_SCALAR_OBJ_FUN (a - b);
+ case SLANG_TIMES:
+ return PUSH_SCALAR_OBJ_FUN (a * b);
+ case SLANG_DIVIDE:
+ if (b == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ return PUSH_SCALAR_OBJ_FUN (a / b);
+ case SLANG_MOD:
+ if (b == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ return PUSH_SCALAR_OBJ_FUN (MOD_FUNCTION(a,b));
+#ifdef GENERIC_BIT_OPERATIONS
+ case SLANG_BAND:
+ return PUSH_SCALAR_OBJ_FUN (a & b);
+ case SLANG_BXOR:
+ return PUSH_SCALAR_OBJ_FUN (a ^ b);
+ case SLANG_BOR:
+ return PUSH_SCALAR_OBJ_FUN (a | b);
+ case SLANG_SHL:
+ return PUSH_SCALAR_OBJ_FUN (a << b);
+ case SLANG_SHR:
+ return PUSH_SCALAR_OBJ_FUN (a >> b);
+#endif
+ case SLANG_GT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a > b));
+ case SLANG_LT: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a < b));
+ case SLANG_GE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a >= b));
+ case SLANG_LE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a <= b));
+ case SLANG_EQ: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a == b));
+ case SLANG_NE: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a != b));
+ case SLANG_OR: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a || b));
+ case SLANG_AND: return SLclass_push_char_obj (SLANG_CHAR_TYPE, (char)(a && b));
+ }
+}
+
+#endif /* SCALAR_BINARY_FUNCTION */
+
+#ifdef CMP_FUNCTION
+static int CMP_FUNCTION (unsigned char unused, VOID_STAR a, VOID_STAR b, int *c)
+{
+ GENERIC_TYPE x, y;
+
+ (void) unused;
+ x = *(GENERIC_TYPE *) a;
+ y = *(GENERIC_TYPE *) b;
+
+ if (x > y) *c = 1;
+ else if (x == y) *c = 0;
+ else *c = -1;
+
+ return 0;
+}
+#endif
+
+#undef CMP_FUNCTION
+#undef SCALAR_BINARY_FUNCTION
+#undef PUSH_POW_OBJ_FUN
+#undef PUSH_SCALAR_OBJ_FUN
+#undef GENERIC_BINARY_FUNCTION
+#undef GENERIC_UNARY_FUNCTION
+#undef GENERIC_BIT_OPERATIONS
+#undef GENERIC_TYPE
+#undef POW_FUNCTION
+#undef POW_RESULT_TYPE
+#undef MOD_FUNCTION
+#undef ABS_FUNCTION
+#undef SIGN_FUNCTION
diff --git a/mdk-stage1/slang/slarray.c b/mdk-stage1/slang/slarray.c
new file mode 100644
index 000000000..0b9a1406c
--- /dev/null
+++ b/mdk-stage1/slang/slarray.c
@@ -0,0 +1,3139 @@
+/* Array manipulation routines for S-Lang */
+/* Copyright (c) 1997, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#define SL_APP_WANTS_FOREACH
+#include "slang.h"
+#include "_slang.h"
+
+typedef struct
+{
+ int first_index;
+ int last_index;
+ int delta;
+}
+SLarray_Range_Array_Type;
+
+/* Use SLang_pop_array when a linear array is required. */
+static int pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
+{
+ SLang_Array_Type *at;
+ int one = 1;
+ int type;
+
+ *at_ptr = NULL;
+ type = SLang_peek_at_stack ();
+
+ switch (type)
+ {
+ case -1:
+ return -1;
+
+ case SLANG_ARRAY_TYPE:
+ return SLclass_pop_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR *) at_ptr);
+
+ case SLANG_NULL_TYPE:
+ convert_scalar = 0;
+ /* drop */
+ default:
+ if (convert_scalar == 0)
+ {
+ SLdo_pop ();
+ SLang_verror (SL_TYPE_MISMATCH, "Context requires an array. Scalar not converted");
+ return -1;
+ }
+ break;
+ }
+
+ if (NULL == (at = SLang_create_array ((unsigned char) type, 0, NULL, &one, 1)))
+ return -1;
+
+ if (-1 == at->cl->cl_apop ((unsigned char) type, at->data))
+ {
+ SLang_free_array (at);
+ return -1;
+ }
+
+ *at_ptr = at;
+
+ return 0;
+}
+
+static VOID_STAR linear_get_data_addr (SLang_Array_Type *at, int *dims)
+{
+ unsigned int num_dims;
+ unsigned int ofs;
+ unsigned int i;
+ int *max_dims;
+
+ ofs = 0;
+ max_dims = at->dims;
+ num_dims = at->num_dims;
+
+ for (i = 0; i < num_dims; i++)
+ {
+ int d = dims[i];
+
+ if (d < 0)
+ d = d + max_dims[i];
+
+ ofs = ofs * (unsigned int)max_dims [i] + (unsigned int) d;
+ }
+
+ return (VOID_STAR) ((char *)at->data + (ofs * at->sizeof_type));
+}
+
+static VOID_STAR get_data_addr (SLang_Array_Type *at, int *dims)
+{
+ VOID_STAR data;
+
+ data = at->data;
+ if (data == NULL)
+ {
+ SLang_verror (SL_UNKNOWN_ERROR, "Array has no data");
+ return NULL;
+ }
+
+ data = (*at->index_fun) (at, dims);
+
+ if (data == NULL)
+ {
+ SLang_verror (SL_UNKNOWN_ERROR, "Unable to access array element");
+ return NULL;
+ }
+
+ return data;
+}
+
+void _SLarray_free_array_elements (SLang_Class_Type *cl, VOID_STAR s, unsigned int num)
+{
+ unsigned int sizeof_type;
+ void (*f) (unsigned char, VOID_STAR);
+ char *p;
+ unsigned char type;
+
+ if ((cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
+ || (cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR))
+ return;
+
+ f = cl->cl_destroy;
+ sizeof_type = cl->cl_sizeof_type;
+ type = cl->cl_data_type;
+
+ p = (char *) s;
+ while (num != 0)
+ {
+ if (NULL != *(VOID_STAR *)p)
+ {
+ (*f) (type, (VOID_STAR)p);
+ *(VOID_STAR *) p = NULL;
+ }
+ p += sizeof_type;
+ num--;
+ }
+}
+
+static int destroy_element (SLang_Array_Type *at,
+ int *dims,
+ VOID_STAR data)
+{
+ data = get_data_addr (at, dims);
+ if (data == NULL)
+ return -1;
+
+ /* This function should only get called for arrays that have
+ * pointer elements. Do not call the destroy method if the element
+ * is NULL.
+ */
+ if (NULL != *(VOID_STAR *)data)
+ {
+ (*at->cl->cl_destroy) (at->data_type, data);
+ *(VOID_STAR *) data = NULL;
+ }
+ return 0;
+}
+
+/* This function only gets called when a new array is created. Thus there
+ * is no need to destroy the object first.
+ */
+static int new_object_element (SLang_Array_Type *at,
+ int *dims,
+ VOID_STAR data)
+{
+ data = get_data_addr (at, dims);
+ if (data == NULL)
+ return -1;
+
+ return (*at->cl->cl_init_array_object) (at->data_type, data);
+}
+
+static int next_index (int *dims, int *max_dims, unsigned int num_dims)
+{
+ while (num_dims)
+ {
+ int dims_i;
+
+ num_dims--;
+
+ dims_i = dims [num_dims] + 1;
+ if (dims_i != (int) max_dims [num_dims])
+ {
+ dims [num_dims] = dims_i;
+ return 0;
+ }
+ dims [num_dims] = 0;
+ }
+
+ return -1;
+}
+
+static int do_method_for_all_elements (SLang_Array_Type *at,
+ int (*method)(SLang_Array_Type *,
+ int *,
+ VOID_STAR),
+ VOID_STAR client_data)
+{
+ int dims [SLARRAY_MAX_DIMS];
+ int *max_dims;
+ unsigned int num_dims;
+
+ if (at->num_elements == 0)
+ return 0;
+
+ max_dims = at->dims;
+ num_dims = at->num_dims;
+
+ SLMEMSET((char *)dims, 0, sizeof(dims));
+
+ do
+ {
+ if (-1 == (*method) (at, dims, client_data))
+ return -1;
+ }
+ while (0 == next_index (dims, max_dims, num_dims));
+
+ return 0;
+}
+
+void SLang_free_array (SLang_Array_Type *at)
+{
+ VOID_STAR data;
+ unsigned int flags;
+
+ if (at == NULL) return;
+
+ if (at->num_refs > 1)
+ {
+ at->num_refs -= 1;
+ return;
+ }
+
+ data = at->data;
+ flags = at->flags;
+
+ if (flags & SLARR_DATA_VALUE_IS_INTRINSIC)
+ return; /* not to be freed */
+
+ if (flags & SLARR_DATA_VALUE_IS_POINTER)
+ (void) do_method_for_all_elements (at, destroy_element, NULL);
+
+ SLfree ((char *) data);
+ SLfree ((char *) at);
+}
+
+SLang_Array_Type *
+SLang_create_array1 (unsigned char type, int read_only, VOID_STAR data,
+ int *dims, unsigned int num_dims, int no_init)
+{
+ SLang_Class_Type *cl;
+ unsigned int i;
+ SLang_Array_Type *at;
+ unsigned int num_elements;
+ unsigned int sizeof_type;
+ unsigned int size;
+
+ if (num_dims > SLARRAY_MAX_DIMS)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "%u dimensional arrays are not supported", num_dims);
+ return NULL;
+ }
+
+ for (i = 0; i < num_dims; i++)
+ {
+ if (dims[i] < 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "Size of array dim %u is less than 0", i);
+ return NULL;
+ }
+ }
+
+ cl = _SLclass_get_class (type);
+
+ at = (SLang_Array_Type *) SLmalloc (sizeof(SLang_Array_Type));
+ if (at == NULL)
+ return NULL;
+
+ SLMEMSET ((char*) at, 0, sizeof(SLang_Array_Type));
+
+ at->data_type = type;
+ at->cl = cl;
+ at->num_dims = num_dims;
+ at->num_refs = 1;
+
+ if (read_only) at->flags = SLARR_DATA_VALUE_IS_READ_ONLY;
+ switch (cl->cl_class_type)
+ {
+ case SLANG_CLASS_TYPE_VECTOR:
+ case SLANG_CLASS_TYPE_SCALAR:
+ break;
+
+ default:
+ at->flags |= SLARR_DATA_VALUE_IS_POINTER;
+ }
+
+ num_elements = 1;
+ for (i = 0; i < num_dims; i++)
+ {
+ at->dims [i] = dims[i];
+ num_elements = dims [i] * num_elements;
+ }
+
+ /* Now set the rest of the unused dimensions to 1. This makes it easier
+ * when transposing arrays.
+ */
+ while (i < SLARRAY_MAX_DIMS)
+ at->dims[i++] = 1;
+
+ at->num_elements = num_elements;
+ at->index_fun = linear_get_data_addr;
+ at->sizeof_type = sizeof_type = cl->cl_sizeof_type;
+
+ if (data != NULL)
+ {
+ at->data = data;
+ return at;
+ }
+
+ size = num_elements * sizeof_type;
+
+ if (size == 0) size = 1;
+
+ if (NULL == (data = (VOID_STAR) SLmalloc (size)))
+ {
+ SLang_free_array (at);
+ return NULL;
+ }
+
+ if (no_init == 0)
+ SLMEMSET ((char *) data, 0, size);
+
+ at->data = data;
+
+ if ((cl->cl_init_array_object != NULL)
+ && (-1 == do_method_for_all_elements (at, new_object_element, NULL)))
+ {
+ SLang_free_array (at);
+ return NULL;
+ }
+ return at;
+}
+
+SLang_Array_Type *
+SLang_create_array (unsigned char type, int read_only, VOID_STAR data,
+ int *dims, unsigned int num_dims)
+{
+ return SLang_create_array1 (type, read_only, data, dims, num_dims, 0);
+}
+
+int SLang_add_intrinsic_array (char *name,
+ unsigned char type,
+ int read_only,
+ VOID_STAR data,
+ unsigned int num_dims, ...)
+{
+ va_list ap;
+ unsigned int i;
+ int dims[SLARRAY_MAX_DIMS];
+ SLang_Array_Type *at;
+
+ if ((num_dims > SLARRAY_MAX_DIMS)
+ || (name == NULL)
+ || (data == NULL))
+ {
+ SLang_verror (SL_INVALID_PARM, "Unable to create intrinsic array");
+ return -1;
+ }
+
+ va_start (ap, num_dims);
+ for (i = 0; i < num_dims; i++)
+ dims [i] = va_arg (ap, int);
+ va_end (ap);
+
+ at = SLang_create_array (type, read_only, data, dims, num_dims);
+ if (at == NULL)
+ return -1;
+ at->flags |= SLARR_DATA_VALUE_IS_INTRINSIC;
+
+ /* Note: The variable that refers to the intrinsic array is regarded as
+ * read-only. That way, Array_Name = another_array; will fail.
+ */
+ if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) at, SLANG_ARRAY_TYPE, 1))
+ {
+ SLang_free_array (at);
+ return -1;
+ }
+ return 0;
+}
+
+static int pop_array_indices (int *dims, unsigned int num_dims)
+{
+ unsigned int n;
+ int i;
+
+ if (num_dims > SLARRAY_MAX_DIMS)
+ {
+ SLang_verror (SL_INVALID_PARM, "Array size not supported");
+ return -1;
+ }
+
+ n = num_dims;
+ while (n != 0)
+ {
+ n--;
+ if (-1 == SLang_pop_integer (&i))
+ return -1;
+
+ dims[n] = i;
+ }
+
+ return 0;
+}
+
+int SLang_push_array (SLang_Array_Type *at, int free_flag)
+{
+ if (at == NULL)
+ return SLang_push_null ();
+
+ at->num_refs += 1;
+
+ if (0 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR) at))
+ {
+ if (free_flag)
+ SLang_free_array (at);
+ return 0;
+ }
+
+ at->num_refs -= 1;
+
+ if (free_flag) SLang_free_array (at);
+ return -1;
+}
+
+/* This function gets called via expressions such as Double_Type[10, 20];
+ */
+static int push_create_new_array (void)
+{
+ unsigned int num_dims;
+ SLang_Array_Type *at;
+ unsigned char type;
+ int dims [SLARRAY_MAX_DIMS];
+ int (*anew) (unsigned char, unsigned int);
+
+ num_dims = (SLang_Num_Function_Args - 1);
+
+ if (-1 == _SLang_pop_datatype (&type))
+ return -1;
+
+ anew = (_SLclass_get_class (type))->cl_anew;
+ if (anew != NULL)
+ return (*anew) (type, num_dims);
+
+ if (-1 == pop_array_indices (dims, num_dims))
+ return -1;
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL, dims, num_dims)))
+ return -1;
+
+ return SLang_push_array (at, 1);
+}
+
+static int push_element_at_addr (SLang_Array_Type *at,
+ VOID_STAR data, int allow_null)
+{
+ SLang_Class_Type *cl;
+
+ cl = at->cl;
+ if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
+ && (*(VOID_STAR *) data == NULL))
+ {
+ if (allow_null)
+ return SLang_push_null ();
+
+ SLang_verror (SL_VARIABLE_UNINITIALIZED,
+ "%s array has unitialized element", cl->cl_name);
+ return -1;
+ }
+
+ return (*cl->cl_apush)(at->data_type, data);
+}
+
+static int coerse_array_to_linear (SLang_Array_Type *at)
+{
+ SLarray_Range_Array_Type *range;
+ int *data;
+ int xmin, dx;
+ unsigned int i, imax;
+
+ /* FIXME: Priority = low. This assumes that if an array is not linear, then
+ * it is a range.
+ */
+ if (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE))
+ return 0;
+
+ range = (SLarray_Range_Array_Type *) at->data;
+ xmin = range->first_index;
+ dx = range->delta;
+
+ imax = at->num_elements;
+ data = (int *) SLmalloc ((imax + 1) * sizeof (int));
+ if (data == NULL)
+ return -1;
+
+ for (i = 0; i < imax; i++)
+ {
+ data [i] = xmin;
+ xmin += dx;
+ }
+
+ SLfree ((char *) range);
+ at->data = (VOID_STAR) data;
+ at->flags &= ~SLARR_DATA_VALUE_IS_RANGE;
+ at->index_fun = linear_get_data_addr;
+ return 0;
+}
+
+static void
+free_index_objects (SLang_Object_Type *index_objs, unsigned int num_indices)
+{
+ unsigned int i;
+ SLang_Object_Type *obj;
+
+ for (i = 0; i < num_indices; i++)
+ {
+ obj = index_objs + i;
+ if (obj->data_type != 0)
+ SLang_free_object (obj);
+ }
+}
+
+static int
+pop_indices (SLang_Object_Type *index_objs, unsigned int num_indices,
+ int *is_index_array)
+{
+ unsigned int i;
+
+ SLMEMSET((char *) index_objs, 0, num_indices * sizeof (SLang_Object_Type));
+
+ *is_index_array = 0;
+
+ if (num_indices >= SLARRAY_MAX_DIMS)
+ {
+ SLang_verror (SL_INVALID_PARM, "too many indices for array");
+ return -1;
+ }
+
+ i = num_indices;
+ while (i != 0)
+ {
+ SLang_Object_Type *obj;
+
+ i--;
+ obj = index_objs + i;
+ if (-1 == _SLang_pop_object_of_type (SLANG_INT_TYPE, obj, 1))
+ goto return_error;
+
+ if (obj->data_type == SLANG_ARRAY_TYPE)
+ {
+ SLang_Array_Type *at = obj->v.array_val;
+
+ if (at->num_dims == 1)
+ {
+ if ((num_indices == 1)
+ && (0 == (at->flags & SLARR_DATA_VALUE_IS_RANGE)))
+ *is_index_array = 1;
+ }
+ else
+ {
+ SLang_verror (SL_INVALID_PARM, "expecting a 1-d index array");
+ goto return_error;
+ }
+ }
+ }
+
+ return 0;
+
+ return_error:
+ free_index_objects (index_objs, num_indices);
+ return -1;
+}
+
+/* Here ind_at is a linear 1-d array of indices */
+static int
+check_index_array_ranges (SLang_Array_Type *at, SLang_Array_Type *ind_at)
+{
+ int *indices, *indices_max;
+ unsigned int num_elements;
+
+ num_elements = at->num_elements;
+ indices = (int *) ind_at->data;
+ indices_max = indices + ind_at->num_elements;
+
+ while (indices < indices_max)
+ {
+ unsigned int d;
+
+ d = (unsigned int) *indices++;
+ if (d >= num_elements)
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "index-array is out of range");
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static int
+transfer_n_elements (SLang_Array_Type *at, VOID_STAR dest_data, VOID_STAR src_data,
+ unsigned int sizeof_type, unsigned int n, int is_ptr)
+{
+ unsigned char data_type;
+ SLang_Class_Type *cl;
+
+ if (is_ptr == 0)
+ {
+ SLMEMCPY ((char *) dest_data, (char *)src_data, n * sizeof_type);
+ return 0;
+ }
+
+ data_type = at->data_type;
+ cl = at->cl;
+
+ while (n != 0)
+ {
+ if (*(VOID_STAR *)dest_data != NULL)
+ {
+ (*cl->cl_destroy) (data_type, dest_data);
+ *(VOID_STAR *) dest_data = NULL;
+ }
+
+ if (*(VOID_STAR *) src_data == NULL)
+ *(VOID_STAR *) dest_data = NULL;
+ else
+ {
+ if (-1 == (*cl->cl_acopy) (data_type, src_data, dest_data))
+ /* No need to destroy anything */
+ return -1;
+ }
+
+ src_data = (VOID_STAR) ((char *)src_data + sizeof_type);
+ dest_data = (VOID_STAR) ((char *)dest_data + sizeof_type);
+
+ n--;
+ }
+
+ return 0;
+}
+
+int
+_SLarray_aget_transfer_elem (SLang_Array_Type *at, int *indices,
+ VOID_STAR new_data, unsigned int sizeof_type, int is_ptr)
+{
+ VOID_STAR at_data;
+
+ /* Since 1 element is being transferred, there is not need to coerse
+ * the array to linear.
+ */
+ if (NULL == (at_data = get_data_addr (at, indices)))
+ return -1;
+
+ return transfer_n_elements (at, new_data, at_data, sizeof_type, 1, is_ptr);
+}
+
+/* Here the ind_at index-array is a 1-d array of indices. This function
+ * creates a 1-d array of made up of values of 'at' at the locations
+ * specified by the indices. The result is pushed.
+ */
+static int
+aget_from_index_array (SLang_Array_Type *at,
+ SLang_Array_Type *ind_at)
+{
+ SLang_Array_Type *new_at;
+ int *indices, *indices_max;
+ unsigned char *new_data, *src_data;
+ unsigned int sizeof_type;
+ int is_ptr;
+
+ if (-1 == coerse_array_to_linear (at))
+ return -1;
+
+ if (-1 == coerse_array_to_linear (ind_at))
+ return -1;
+
+ if (-1 == check_index_array_ranges (at, ind_at))
+ return -1;
+
+ if (NULL == (new_at = SLang_create_array (at->data_type, 0, NULL, ind_at->dims, 1)))
+ return -1;
+
+ /* Since the index array is linear, I can address it directly */
+ indices = (int *) ind_at->data;
+ indices_max = indices + ind_at->num_elements;
+
+ src_data = (unsigned char *) at->data;
+ new_data = (unsigned char *) new_at->data;
+ sizeof_type = new_at->sizeof_type;
+ is_ptr = (new_at->flags & SLARR_DATA_VALUE_IS_POINTER);
+
+ while (indices < indices_max)
+ {
+ unsigned int offset;
+
+ offset = sizeof_type * (unsigned int)*indices;
+ if (-1 == transfer_n_elements (at, (VOID_STAR) new_data,
+ (VOID_STAR) (src_data + offset),
+ sizeof_type, 1, is_ptr))
+ {
+ SLang_free_array (new_at);
+ return -1;
+ }
+
+ new_data += sizeof_type;
+ indices++;
+ }
+
+ return SLang_push_array (new_at, 1);
+}
+
+/* This is extremely ugly. It is due to the fact that the index_objects
+ * may contain ranges. This is a utility function for the aget/aput
+ * routines
+ */
+static int
+convert_nasty_index_objs (SLang_Array_Type *at,
+ SLang_Object_Type *index_objs,
+ unsigned int num_indices,
+ int **index_data,
+ int *range_buf, int *range_delta_buf,
+ int *max_dims,
+ unsigned int *num_elements,
+ int *is_array, int is_dim_array[SLARRAY_MAX_DIMS])
+{
+ unsigned int i, total_num_elements;
+ SLang_Array_Type *ind_at;
+
+ if (num_indices != at->num_dims)
+ {
+ SLang_verror (SL_INVALID_PARM, "Array requires %u indices", at->num_dims);
+ return -1;
+ }
+
+ *is_array = 0;
+ total_num_elements = 1;
+ for (i = 0; i < num_indices; i++)
+ {
+ int max_index, min_index;
+ SLang_Object_Type *obj;
+ int at_dims_i;
+
+ at_dims_i = at->dims[i];
+ obj = index_objs + i;
+ range_delta_buf [i] = 0;
+
+ if (obj->data_type == SLANG_INT_TYPE)
+ {
+ range_buf [i] = min_index = max_index = obj->v.int_val;
+ max_dims [i] = 1;
+ index_data[i] = range_buf + i;
+ is_dim_array[i] = 0;
+ }
+ else
+ {
+ *is_array = 1;
+ is_dim_array[i] = 1;
+ ind_at = obj->v.array_val;
+
+ if (ind_at->flags & SLARR_DATA_VALUE_IS_RANGE)
+ {
+ SLarray_Range_Array_Type *r;
+ int delta;
+ int first_index, last_index;
+
+ r = (SLarray_Range_Array_Type *) ind_at->data;
+
+ /* In an array indexing context, range arrays have different
+ * semantics. Consider a[[0:10]]. Clearly this means elements
+ * 0-10 of a. But what does a[[0:-1]] mean? By itself,
+ * [0:-1] is a null matrix []. But, it is useful in an
+ * indexing context to allow -1 to refer to the last element
+ * of the array. Similarly, [-3:-1] refers to the last 3
+ * elements.
+ *
+ * However, [-1:-3] does not refer to any of the elements.
+ */
+ if ((first_index = r->first_index) < 0)
+ {
+ if (at_dims_i != 0)
+ first_index = (at_dims_i + first_index) % at_dims_i;
+ }
+
+ if ((last_index = r->last_index) < 0)
+ {
+ if (at_dims_i != 0)
+ last_index = (at_dims_i + last_index) % at_dims_i;
+ }
+
+ delta = r->delta;
+
+ range_delta_buf [i] = delta;
+ range_buf[i] = first_index;
+
+ if (delta > 0)
+ {
+ if (first_index > last_index)
+ max_dims[i] = min_index = max_index = 0;
+ else
+ {
+ max_index = min_index = first_index;
+ while (max_index + delta <= last_index)
+ max_index += delta;
+ max_dims [i] = 1 + (max_index - min_index) / delta;
+ }
+ }
+ else
+ {
+ if (first_index < last_index)
+ max_dims[i] = min_index = max_index = 0;
+ else
+ {
+ min_index = max_index = first_index;
+ while (min_index + delta >= last_index)
+ min_index += delta;
+ max_dims [i] = 1 + (max_index - min_index) / (-delta);
+ }
+ }
+ }
+ else
+ {
+ int *tmp, *tmp_max;
+
+ if (0 == (max_dims[i] = ind_at->num_elements))
+ {
+ total_num_elements = 0;
+ break;
+ }
+
+ tmp = (int *) ind_at->data;
+ tmp_max = tmp + ind_at->num_elements;
+ index_data [i] = tmp;
+
+ min_index = max_index = *tmp;
+ while (tmp < tmp_max)
+ {
+ if (max_index > *tmp)
+ max_index = *tmp;
+ if (min_index < *tmp)
+ min_index = *tmp;
+
+ tmp++;
+ }
+ }
+ }
+
+ if ((at_dims_i == 0) && (max_dims[i] == 0))
+ {
+ total_num_elements = 0;
+ continue;
+ }
+
+ if (max_index < 0)
+ max_index += at_dims_i;
+ if (min_index < 0)
+ min_index += at_dims_i;
+
+ if ((min_index < 0) || (min_index >= at_dims_i)
+ || (max_index < 0) || (max_index >= at_dims_i))
+ {
+ SLang_verror (SL_INVALID_PARM, "Array index %u ([%d:%d]) out of allowed range [0->%d]",
+ i, min_index, max_index, at_dims_i);
+ return -1;
+ }
+
+ total_num_elements = total_num_elements * max_dims[i];
+ }
+
+ *num_elements = total_num_elements;
+ return 0;
+}
+
+/* This routine pushes a 1-d vector of values from 'at' indexed by
+ * the objects 'index_objs'. These objects can either be integers or
+ * 1-d integer arrays. The fact that the 1-d arrays can be ranges
+ * makes this look ugly.
+ */
+static int
+aget_from_indices (SLang_Array_Type *at,
+ SLang_Object_Type *index_objs, unsigned int num_indices)
+{
+ int *index_data [SLARRAY_MAX_DIMS];
+ int range_buf [SLARRAY_MAX_DIMS];
+ int range_delta_buf [SLARRAY_MAX_DIMS];
+ int max_dims [SLARRAY_MAX_DIMS];
+ unsigned int i, num_elements;
+ SLang_Array_Type *new_at;
+ int map_indices[SLARRAY_MAX_DIMS];
+ int indices [SLARRAY_MAX_DIMS];
+ unsigned int sizeof_type;
+ int is_ptr, ret, is_array;
+ char *new_data;
+ SLang_Class_Type *cl;
+ int is_dim_array[SLARRAY_MAX_DIMS];
+
+ if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
+ index_data, range_buf, range_delta_buf,
+ max_dims, &num_elements, &is_array,
+ is_dim_array))
+ return -1;
+
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+ sizeof_type = at->sizeof_type;
+
+ cl = _SLclass_get_class (at->data_type);
+
+ if ((is_array == 0) && (num_elements == 1))
+ {
+ new_data = (char *)cl->cl_transfer_buf;
+ memset (new_data, 0, sizeof_type);
+ new_at = NULL;
+ }
+ else
+ {
+ int i_num_elements = (int)num_elements;
+
+ new_at = SLang_create_array (at->data_type, 0, NULL, &i_num_elements, 1);
+ if (NULL == new_at)
+ return -1;
+ if (num_elements == 0)
+ return SLang_push_array (new_at, 1);
+
+ new_data = (char *)new_at->data;
+ }
+
+ SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
+ do
+ {
+ for (i = 0; i < num_indices; i++)
+ {
+ int j;
+
+ j = map_indices[i];
+
+ if (0 != range_delta_buf[i])
+ indices[i] = range_buf[i] + j * range_delta_buf[i];
+ else
+ indices[i] = index_data [i][j];
+ }
+
+ if (-1 == _SLarray_aget_transfer_elem (at, indices, (VOID_STAR)new_data, sizeof_type, is_ptr))
+ {
+ SLang_free_array (new_at);
+ return -1;
+ }
+ new_data += sizeof_type;
+ }
+ while (0 == next_index (map_indices, max_dims, num_indices));
+
+ if (new_at != NULL)
+ {
+ int num_dims = 0;
+ /* Fixup dimensions on array */
+ for (i = 0; i < num_indices; i++)
+ {
+ if (is_dim_array[i]) /* was: (max_dims[i] > 1) */
+ {
+ new_at->dims[num_dims] = max_dims[i];
+ num_dims++;
+ }
+ }
+
+ if (num_dims != 0) new_at->num_dims = num_dims;
+ return SLang_push_array (new_at, 1);
+ }
+
+ /* Here new_data is a whole new copy, so free it after the push */
+ new_data -= sizeof_type;
+ if (is_ptr && (*(VOID_STAR *)new_data == NULL))
+ ret = SLang_push_null ();
+ else
+ {
+ ret = (*cl->cl_apush) (at->data_type, (VOID_STAR)new_data);
+ (*cl->cl_adestroy) (at->data_type, (VOID_STAR)new_data);
+ }
+
+ return ret;
+}
+
+static int push_string_as_array (unsigned char *s, unsigned int len)
+{
+ int ilen;
+ SLang_Array_Type *at;
+
+ ilen = (int) len;
+
+ at = SLang_create_array (SLANG_UCHAR_TYPE, 0, NULL, &ilen, 1);
+ if (at == NULL)
+ return -1;
+
+ memcpy ((char *)at->data, (char *)s, len);
+ return SLang_push_array (at, 1);
+}
+
+static int pop_array_as_string (char **sp)
+{
+ SLang_Array_Type *at;
+ int ret;
+
+ *sp = NULL;
+
+ if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
+ return -1;
+
+ ret = 0;
+
+ if (NULL == (*sp = SLang_create_nslstring ((char *) at->data, at->num_elements)))
+ ret = -1;
+
+ SLang_free_array (at);
+ return ret;
+}
+
+static int pop_array_as_bstring (SLang_BString_Type **bs)
+{
+ SLang_Array_Type *at;
+ int ret;
+
+ *bs = NULL;
+
+ if (-1 == SLang_pop_array_of_type (&at, SLANG_UCHAR_TYPE))
+ return -1;
+
+ ret = 0;
+
+ if (NULL == (*bs = SLbstring_create ((unsigned char *) at->data, at->num_elements)))
+ ret = -1;
+
+ SLang_free_array (at);
+ return ret;
+}
+
+static int aget_from_array (unsigned int num_indices)
+{
+ SLang_Array_Type *at;
+ SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
+ int ret;
+ int is_index_array;
+ unsigned int i;
+
+ if (num_indices > SLARRAY_MAX_DIMS)
+ {
+ SLang_verror (SL_INVALID_PARM, "Number of dims must be less than %d", SLARRAY_MAX_DIMS);
+ return -1;
+ }
+
+ if (-1 == pop_array (&at, 1))
+ return -1;
+
+ if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
+ {
+ SLang_free_array (at);
+ return -1;
+ }
+
+ if (is_index_array == 0)
+ ret = aget_from_indices (at, index_objs, num_indices);
+ else
+ ret = aget_from_index_array (at, index_objs[0].v.array_val);
+
+ SLang_free_array (at);
+ for (i = 0; i < num_indices; i++)
+ SLang_free_object (index_objs + i);
+
+ return ret;
+}
+
+static int push_string_element (unsigned char type, unsigned char *s, unsigned int len)
+{
+ int i;
+
+ if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
+ {
+ char *str;
+
+ /* The indices are array values. So, do this: */
+ if (-1 == push_string_as_array (s, len))
+ return -1;
+
+ if (-1 == aget_from_array (1))
+ return -1;
+
+ if (type == SLANG_BSTRING_TYPE)
+ {
+ SLang_BString_Type *bs;
+ int ret;
+
+ if (-1 == pop_array_as_bstring (&bs))
+ return -1;
+
+ ret = SLang_push_bstring (bs);
+ SLbstring_free (bs);
+ return ret;
+ }
+
+ if (-1 == pop_array_as_string (&str))
+ return -1;
+ return _SLang_push_slstring (str); /* frees s upon error */
+ }
+
+ if (-1 == SLang_pop_integer (&i))
+ return -1;
+
+ if (i < 0) i = i + (int)len;
+ if ((unsigned int) i > len)
+ i = len; /* get \0 character --- bstrings include it as well */
+
+ i = s[(unsigned int) i];
+
+ return SLang_push_integer (i);
+}
+
+/* ARRAY[i, j, k] generates code: __args i j ...k ARRAY __aput/__aget
+ * Here i, j, ... k may be a mixture of integers and 1-d arrays, or
+ * a single 2-d array of indices. The 2-d index array is generated by the
+ * 'where' function.
+ *
+ * If ARRAY is of type DataType, then this function will create an array of
+ * the appropriate type. In that case, the indices i, j, ..., k must be
+ * integers.
+ */
+int _SLarray_aget (void)
+{
+ unsigned int num_indices;
+ int type;
+ int (*aget_fun) (unsigned char, unsigned int);
+
+ num_indices = (SLang_Num_Function_Args - 1);
+
+ type = SLang_peek_at_stack ();
+ switch (type)
+ {
+ case -1:
+ return -1; /* stack underflow */
+
+ case SLANG_DATATYPE_TYPE:
+ return push_create_new_array ();
+
+ case SLANG_BSTRING_TYPE:
+ if (1 == num_indices)
+ {
+ SLang_BString_Type *bs;
+ int ret;
+ unsigned int len;
+ unsigned char *s;
+
+ if (-1 == SLang_pop_bstring (&bs))
+ return -1;
+
+ if (NULL == (s = SLbstring_get_pointer (bs, &len)))
+ ret = -1;
+ else
+ ret = push_string_element (type, s, len);
+
+ SLbstring_free (bs);
+ return ret;
+ }
+ break;
+
+ case SLANG_STRING_TYPE:
+ if (1 == num_indices)
+ {
+ char *s;
+ int ret;
+
+ if (-1 == SLang_pop_slstring (&s))
+ return -1;
+
+ ret = push_string_element (type, (unsigned char *)s, strlen (s));
+ SLang_free_slstring (s);
+ return ret;
+ }
+ break;
+
+ case SLANG_ARRAY_TYPE:
+ break;
+
+ default:
+ aget_fun = _SLclass_get_class (type)->cl_aget;
+ if (NULL != aget_fun)
+ return (*aget_fun) (type, num_indices);
+ }
+
+ return aget_from_array (num_indices);
+}
+
+int
+_SLarray_aput_transfer_elem (SLang_Array_Type *at, int *indices,
+ VOID_STAR data_to_put, unsigned int sizeof_type, int is_ptr)
+{
+ VOID_STAR at_data;
+
+ /* Since 1 element is being transferred, there is no need to coerse
+ * the array to linear.
+ */
+ if (NULL == (at_data = get_data_addr (at, indices)))
+ return -1;
+
+ return transfer_n_elements (at, at_data, data_to_put, sizeof_type, 1, is_ptr);
+}
+
+static int
+aput_get_array_to_put (SLang_Class_Type *cl, unsigned int num_elements, int allow_array,
+ SLang_Array_Type **at_ptr, char **data_to_put, unsigned int *data_increment)
+{
+ unsigned char data_type;
+ SLang_Array_Type *at;
+
+ *at_ptr = NULL;
+
+ data_type = cl->cl_data_type;
+ if (-1 == SLclass_typecast (data_type, 1, allow_array))
+ return -1;
+
+ if ((data_type != SLANG_ARRAY_TYPE)
+ && (data_type != SLANG_ANY_TYPE)
+ && (SLANG_ARRAY_TYPE == SLang_peek_at_stack ()))
+ {
+ if (-1 == SLang_pop_array (&at, 0))
+ return -1;
+
+ if ((at->num_elements != num_elements)
+#if 0
+ || (at->num_dims != 1)
+#endif
+ )
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Array size is inappropriate for use with index-array");
+ SLang_free_array (at);
+ return -1;
+ }
+
+ *data_to_put = (char *) at->data;
+ *data_increment = at->sizeof_type;
+ *at_ptr = at;
+ return 0;
+ }
+
+ *data_increment = 0;
+ *data_to_put = (char *) cl->cl_transfer_buf;
+
+ if (-1 == (*cl->cl_apop)(data_type, (VOID_STAR) *data_to_put))
+ return -1;
+
+ return 0;
+}
+
+static int
+aput_from_indices (SLang_Array_Type *at,
+ SLang_Object_Type *index_objs, unsigned int num_indices)
+{
+ int *index_data [SLARRAY_MAX_DIMS];
+ int range_buf [SLARRAY_MAX_DIMS];
+ int range_delta_buf [SLARRAY_MAX_DIMS];
+ int max_dims [SLARRAY_MAX_DIMS];
+ unsigned int i, num_elements;
+ SLang_Array_Type *bt;
+ int map_indices[SLARRAY_MAX_DIMS];
+ int indices [SLARRAY_MAX_DIMS];
+ unsigned int sizeof_type;
+ int is_ptr, is_array, ret;
+ char *data_to_put;
+ unsigned int data_increment;
+ SLang_Class_Type *cl;
+ int is_dim_array [SLARRAY_MAX_DIMS];
+
+ if (-1 == convert_nasty_index_objs (at, index_objs, num_indices,
+ index_data, range_buf, range_delta_buf,
+ max_dims, &num_elements, &is_array,
+ is_dim_array))
+ return -1;
+
+ cl = at->cl;
+
+ if (-1 == aput_get_array_to_put (cl, num_elements, is_array,
+ &bt, &data_to_put, &data_increment))
+ return -1;
+
+ sizeof_type = at->sizeof_type;
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+
+ ret = -1;
+
+ SLMEMSET((char *) map_indices, 0, sizeof(map_indices));
+ if (num_elements) do
+ {
+ for (i = 0; i < num_indices; i++)
+ {
+ int j;
+
+ j = map_indices[i];
+
+ if (0 != range_delta_buf[i])
+ indices[i] = range_buf[i] + j * range_delta_buf[i];
+ else
+ indices[i] = index_data [i][j];
+ }
+
+ if (-1 == _SLarray_aput_transfer_elem (at, indices, (VOID_STAR)data_to_put, sizeof_type, is_ptr))
+ goto return_error;
+
+ data_to_put += data_increment;
+ }
+ while (0 == next_index (map_indices, max_dims, num_indices));
+
+ ret = 0;
+
+ /* drop */
+
+ return_error:
+ if (bt == NULL)
+ {
+ if (is_ptr)
+ (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR) data_to_put);
+ }
+ else SLang_free_array (bt);
+
+ return ret;
+}
+
+static int
+aput_from_index_array (SLang_Array_Type *at, SLang_Array_Type *ind_at)
+{
+ int *indices, *indices_max;
+ unsigned int sizeof_type;
+ char *data_to_put, *dest_data;
+ unsigned int data_increment;
+ int is_ptr;
+ SLang_Array_Type *bt;
+ SLang_Class_Type *cl;
+ int ret;
+
+ if (-1 == coerse_array_to_linear (at))
+ return -1;
+
+ if (-1 == coerse_array_to_linear (ind_at))
+ return -1;
+
+ if (-1 == check_index_array_ranges (at, ind_at))
+ return -1;
+
+ sizeof_type = at->sizeof_type;
+
+ cl = at->cl;
+
+ /* Note that if bt is returned as non NULL, then the array is a linear
+ * one.
+ */
+ if (-1 == aput_get_array_to_put (cl, ind_at->num_elements, 1,
+ &bt, &data_to_put, &data_increment))
+ return -1;
+
+ /* Since the index array is linear, I can address it directly */
+ indices = (int *) ind_at->data;
+ indices_max = indices + ind_at->num_elements;
+
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+ dest_data = (char *) at->data;
+
+ ret = -1;
+ while (indices < indices_max)
+ {
+ unsigned int offset;
+
+ offset = sizeof_type * (unsigned int)*indices;
+
+ if (-1 == transfer_n_elements (at, (VOID_STAR) (dest_data + offset),
+ (VOID_STAR) data_to_put, sizeof_type, 1,
+ is_ptr))
+ goto return_error;
+
+ indices++;
+ data_to_put += data_increment;
+ }
+
+ ret = 0;
+ /* Drop */
+
+ return_error:
+
+ if (bt == NULL)
+ {
+ if (is_ptr)
+ (*cl->cl_destroy) (cl->cl_data_type, (VOID_STAR)data_to_put);
+ }
+ else SLang_free_array (bt);
+
+ return ret;
+}
+
+/* ARRAY[i, j, k] = generates code: __args i j k ARRAY __aput
+ */
+int _SLarray_aput (void)
+{
+ unsigned int num_indices;
+ SLang_Array_Type *at;
+ SLang_Object_Type index_objs [SLARRAY_MAX_DIMS];
+ int ret;
+ int is_index_array;
+ int (*aput_fun) (unsigned char, unsigned int);
+ int type;
+
+ ret = -1;
+ num_indices = (SLang_Num_Function_Args - 1);
+
+ type = SLang_peek_at_stack ();
+ switch (type)
+ {
+ case -1:
+ return -1;
+
+ case SLANG_ARRAY_TYPE:
+ break;
+
+ default:
+ if (NULL != (aput_fun = _SLclass_get_class (type)->cl_aput))
+ return (*aput_fun) (type, num_indices);
+ break;
+ }
+
+ if (-1 == SLang_pop_array (&at, 0))
+ return -1;
+
+ if (at->flags & SLARR_DATA_VALUE_IS_READ_ONLY)
+ {
+ SLang_verror (SL_READONLY_ERROR, "%s Array is read-only",
+ SLclass_get_datatype_name (at->data_type));
+ SLang_free_array (at);
+ return -1;
+ }
+
+ if (-1 == pop_indices (index_objs, num_indices, &is_index_array))
+ {
+ SLang_free_array (at);
+ return -1;
+ }
+
+ if (is_index_array == 0)
+ ret = aput_from_indices (at, index_objs, num_indices);
+ else
+ ret = aput_from_index_array (at, index_objs[0].v.array_val);
+
+ SLang_free_array (at);
+ free_index_objects (index_objs, num_indices);
+ return ret;
+}
+
+/* This is for 1-d matrices only. It is used by the sort function */
+static int push_element_at_index (SLang_Array_Type *at, int indx)
+{
+ VOID_STAR data;
+
+ if (NULL == (data = get_data_addr (at, &indx)))
+ return -1;
+
+ return push_element_at_addr (at, (VOID_STAR) data, 1);
+}
+
+static SLang_Name_Type *Sort_Function;
+static SLang_Array_Type *Sort_Array;
+
+static int sort_cmp_fun (int *a, int *b)
+{
+ int cmp;
+
+ if (SLang_Error
+ || (-1 == push_element_at_index (Sort_Array, *a))
+ || (-1 == push_element_at_index (Sort_Array, *b))
+ || (-1 == SLexecute_function (Sort_Function))
+ || (-1 == SLang_pop_integer (&cmp)))
+ {
+ /* DO not allow qsort to loop forever. Return something meaningful */
+ if (*a > *b) return 1;
+ if (*a < *b) return -1;
+ return 0;
+ }
+
+ return cmp;
+}
+
+static int builtin_sort_cmp_fun (int *a, int *b)
+{
+ VOID_STAR a_data;
+ VOID_STAR b_data;
+ SLang_Class_Type *cl;
+
+ cl = Sort_Array->cl;
+
+ if ((SLang_Error == 0)
+ && (NULL != (a_data = get_data_addr (Sort_Array, a)))
+ && (NULL != (b_data = get_data_addr (Sort_Array, b))))
+ {
+ int cmp;
+
+ if ((Sort_Array->flags & SLARR_DATA_VALUE_IS_POINTER)
+ && ((*(VOID_STAR *) a_data == NULL) || (*(VOID_STAR *) a_data == NULL)))
+ {
+ SLang_verror (SL_VARIABLE_UNINITIALIZED,
+ "%s array has unitialized element", cl->cl_name);
+ }
+ else if (0 == (*cl->cl_cmp)(Sort_Array->data_type, a_data, b_data, &cmp))
+ return cmp;
+ }
+
+
+ if (*a > *b) return 1;
+ if (*a == *b) return 0;
+ return -1;
+}
+
+static void sort_array_internal (SLang_Array_Type *at_str,
+ SLang_Name_Type *entry,
+ int (*sort_fun)(int *, int *))
+{
+ SLang_Array_Type *ind_at;
+ /* This is a silly hack to make up for braindead compilers and the lack of
+ * uniformity in prototypes for qsort.
+ */
+ void (*qsort_fun) (char *, unsigned int, int, int (*)(int *, int *));
+ int *indx;
+ int i, n;
+ int dims[1];
+
+ if (Sort_Array != NULL)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "array_sort is not recursive");
+ return;
+ }
+
+ n = at_str->num_elements;
+
+ if (at_str->num_dims != 1)
+ {
+ SLang_verror (SL_INVALID_PARM, "sort is restricted to 1 dim arrays");
+ return;
+ }
+
+ dims [0] = n;
+
+ if (NULL == (ind_at = SLang_create_array (SLANG_INT_TYPE, 0, NULL, dims, 1)))
+ return;
+
+ indx = (int *) ind_at->data;
+ for (i = 0; i < n; i++) indx[i] = i;
+
+ if (n > 1)
+ {
+ qsort_fun = (void (*)(char *, unsigned int, int, int (*)(int *,
+ int *)))
+ qsort;
+
+ Sort_Array = at_str;
+ Sort_Function = entry;
+ (*qsort_fun) ((char *) indx, n, sizeof (int), sort_fun);
+ }
+
+ Sort_Array = NULL;
+ (void) SLang_push_array (ind_at, 1);
+}
+
+static void sort_array (void)
+{
+ SLang_Name_Type *entry;
+ SLang_Array_Type *at;
+ int (*sort_fun) (int *, int *);
+
+ if (SLang_Num_Function_Args != 1)
+ {
+ sort_fun = sort_cmp_fun;
+
+ if (NULL == (entry = SLang_pop_function ()))
+ return;
+
+ if (-1 == SLang_pop_array (&at, 1))
+ return;
+ }
+ else
+ {
+ sort_fun = builtin_sort_cmp_fun;
+ if (-1 == SLang_pop_array (&at, 1))
+ return;
+ if (at->cl->cl_cmp == NULL)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "%s does not have a predefined sorting method",
+ at->cl->cl_name);
+ SLang_free_array (at);
+ return;
+ }
+ entry = NULL;
+ }
+
+ sort_array_internal (at, entry, sort_fun);
+ SLang_free_array (at);
+ SLang_free_function (entry);
+}
+
+static void bstring_to_array (SLang_BString_Type *bs)
+{
+ unsigned char *s;
+ unsigned int len;
+
+ if (NULL == (s = SLbstring_get_pointer (bs, &len)))
+ (void) SLang_push_null ();
+ else
+ (void) push_string_as_array (s, len);
+}
+
+static void array_to_bstring (SLang_Array_Type *at)
+{
+ unsigned int nbytes;
+ SLang_BString_Type *bs;
+
+ nbytes = at->num_elements * at->sizeof_type;
+ bs = SLbstring_create ((unsigned char *)at->data, nbytes);
+ (void) SLang_push_bstring (bs);
+ SLbstring_free (bs);
+}
+
+static void init_char_array (void)
+{
+ SLang_Array_Type *at;
+ char *s;
+ unsigned int n, ndim;
+
+ if (SLang_pop_slstring (&s)) return;
+
+ if (-1 == SLang_pop_array (&at, 0))
+ goto free_and_return;
+
+ if (at->data_type != SLANG_CHAR_TYPE)
+ {
+ SLang_doerror("Operation requires character array");
+ goto free_and_return;
+ }
+
+ n = strlen (s);
+ ndim = at->num_elements;
+ if (n > ndim)
+ {
+ SLang_doerror("String too big to init array");
+ goto free_and_return;
+ }
+
+ strncpy((char *) at->data, s, ndim);
+ /* drop */
+
+ free_and_return:
+ SLang_free_array (at);
+ SLang_free_slstring (s);
+}
+
+static void array_info (void)
+{
+ SLang_Array_Type *at, *bt;
+ int num_dims;
+
+ if (-1 == pop_array (&at, 1))
+ return;
+
+ num_dims = (int)at->num_dims;
+
+ if (NULL != (bt = SLang_create_array (SLANG_INT_TYPE, 0, NULL, &num_dims, 1)))
+ {
+ int *bdata;
+ int i;
+ int *a_dims;
+
+ a_dims = at->dims;
+ bdata = (int *) bt->data;
+ for (i = 0; i < num_dims; i++) bdata [i] = a_dims [i];
+
+ if (0 == SLang_push_array (bt, 1))
+ {
+ (void) SLang_push_integer ((int) at->num_dims);
+ (void) _SLang_push_datatype (at->data_type);
+ }
+ }
+
+ SLang_free_array (at);
+}
+
+static VOID_STAR range_get_data_addr (SLang_Array_Type *at, int *dims)
+{
+ static int value;
+ SLarray_Range_Array_Type *r;
+ int d;
+
+ d = *dims;
+ r = (SLarray_Range_Array_Type *)at->data;
+
+ if (d < 0)
+ d += at->dims[0];
+
+ value = r->first_index + d * r->delta;
+ return (VOID_STAR) &value;
+}
+
+static SLang_Array_Type *inline_implicit_int_array (int *xminptr, int *xmaxptr, int *dxptr)
+{
+ int delta;
+ SLang_Array_Type *at;
+ int dims, idims;
+ SLarray_Range_Array_Type *data;
+
+ if (dxptr == NULL) delta = 1;
+ else delta = *dxptr;
+
+ if (delta == 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "range-array increment must be non-zero");
+ return NULL;
+ }
+
+ data = (SLarray_Range_Array_Type *) SLmalloc (sizeof (SLarray_Range_Array_Type));
+ if (data == NULL)
+ return NULL;
+
+ SLMEMSET((char *) data, 0, sizeof (SLarray_Range_Array_Type));
+ data->delta = delta;
+ dims = 0;
+
+ if (xminptr != NULL)
+ data->first_index = *xminptr;
+ else
+ data->first_index = 0;
+
+ if (xmaxptr != NULL)
+ data->last_index = *xmaxptr;
+ else
+ data->last_index = -1;
+
+/* if ((xminptr != NULL) && (xmaxptr != NULL))
+ { */
+ idims = 1 + (data->last_index - data->first_index) / delta;
+ if (idims > 0)
+ dims = idims;
+ /* } */
+
+ if (NULL == (at = SLang_create_array (SLANG_INT_TYPE, 0, (VOID_STAR) data, &dims, 1)))
+ return NULL;
+
+ at->index_fun = range_get_data_addr;
+ at->flags |= SLARR_DATA_VALUE_IS_RANGE;
+
+ return at;
+}
+
+#if SLANG_HAS_FLOAT
+static SLang_Array_Type *inline_implicit_floating_array (unsigned char type,
+ double *xminptr, double *xmaxptr, double *dxptr)
+{
+ int n, i;
+ SLang_Array_Type *at;
+ int dims;
+ double xmin, xmax, dx;
+
+ if ((xminptr == NULL) || (xmaxptr == NULL))
+ {
+ SLang_verror (SL_INVALID_PARM, "range-array has unknown size");
+ return NULL;
+ }
+ xmin = *xminptr;
+ xmax = *xmaxptr;
+ if (dxptr == NULL) dx = 1.0;
+ else dx = *dxptr;
+
+ if (dx == 0.0)
+ {
+ SLang_doerror ("range-array increment must be non-zero");
+ return NULL;
+ }
+
+ /* I have convinced myself that it is better to use semi-open intervals
+ * because of less ambiguities. So, [a:b:c] will represent the set of
+ * values a, a + c, a + 2c ... a + nc
+ * such that a + nc < b. That is, b lies outside the interval.
+ */
+
+ /* Allow for roundoff by adding 0.5 before truncation */
+ n = (int)(1.5 + ((xmax - xmin) / dx));
+ if (n <= 0)
+ n = 0;
+ else
+ {
+ double last = xmin + (n-1) * dx;
+
+ if (dx > 0.0)
+ {
+ if (last >= xmax)
+ n -= 1;
+ }
+ else if (last <= xmax)
+ n -= 1;
+ }
+
+ dims = n;
+ if (NULL == (at = SLang_create_array1 (type, 0, NULL, &dims, 1, 1)))
+ return NULL;
+
+ if (type == SLANG_DOUBLE_TYPE)
+ {
+ double *ptr;
+
+ ptr = (double *) at->data;
+
+ for (i = 0; i < n; i++)
+ ptr[i] = xmin + i * dx;
+ }
+ else
+ {
+ float *ptr;
+
+ ptr = (float *) at->data;
+
+ for (i = 0; i < n; i++)
+ ptr[i] = (float) (xmin + i * dx);
+ }
+ return at;
+}
+#endif
+
+/* FIXME: Priority=medium
+ * This needs to be updated to work with all integer types.
+ */
+int _SLarray_inline_implicit_array (void)
+{
+ int int_vals[3];
+#if SLANG_HAS_FLOAT
+ double double_vals[3];
+#endif
+ int has_vals[3];
+ unsigned int i, count;
+ SLang_Array_Type *at;
+ int precedence;
+ unsigned char type;
+ int is_int;
+
+ count = SLang_Num_Function_Args;
+
+ if (count == 2)
+ has_vals [2] = 0;
+ else if (count != 3)
+ {
+ SLang_doerror ("wrong number of arguments to __implicit_inline_array");
+ return -1;
+ }
+
+#if SLANG_HAS_FLOAT
+ is_int = 1;
+#endif
+
+ type = 0;
+ precedence = 0;
+
+ i = count;
+ while (i--)
+ {
+ int this_type, this_precedence;
+
+ if (-1 == (this_type = SLang_peek_at_stack ()))
+ return -1;
+
+ this_precedence = _SLarith_get_precedence ((unsigned char) this_type);
+ if (precedence < this_precedence)
+ {
+ type = (unsigned char) this_type;
+ precedence = this_precedence;
+ }
+
+ has_vals [i] = 1;
+
+ switch (this_type)
+ {
+ case SLANG_NULL_TYPE:
+ has_vals[i] = 0;
+ (void) SLdo_pop ();
+ break;
+
+#if SLANG_HAS_FLOAT
+ case SLANG_DOUBLE_TYPE:
+ case SLANG_FLOAT_TYPE:
+ if (-1 == SLang_pop_double (double_vals + i, NULL, NULL))
+ return -1;
+ is_int = 0;
+ break;
+#endif
+ default:
+ if (-1 == SLang_pop_integer (int_vals + i))
+ return -1;
+ double_vals[i] = (double) int_vals[i];
+ }
+ }
+
+#if SLANG_HAS_FLOAT
+ if (is_int == 0)
+ at = inline_implicit_floating_array (type,
+ (has_vals[0] ? &double_vals[0] : NULL),
+ (has_vals[1] ? &double_vals[1] : NULL),
+ (has_vals[2] ? &double_vals[2] : NULL));
+ else
+#endif
+ at = inline_implicit_int_array ((has_vals[0] ? &int_vals[0] : NULL),
+ (has_vals[1] ? &int_vals[1] : NULL),
+ (has_vals[2] ? &int_vals[2] : NULL));
+
+ if (at == NULL)
+ return -1;
+
+ return SLang_push_array (at, 1);
+}
+
+int _SLarray_wildcard_array (void)
+{
+ SLang_Array_Type *at;
+
+ if (NULL == (at = inline_implicit_int_array (NULL, NULL, NULL)))
+ return -1;
+
+ return SLang_push_array (at, 1);
+}
+
+static SLang_Array_Type *concat_arrays (unsigned int count)
+{
+ SLang_Array_Type **arrays;
+ SLang_Array_Type *at, *bt;
+ unsigned int i;
+ int num_elements;
+ unsigned char type;
+ char *src_data, *dest_data;
+ int is_ptr;
+ unsigned int sizeof_type;
+ int max_dims, min_dims, max_rows, min_rows;
+
+ arrays = (SLang_Array_Type **)SLmalloc (count * sizeof (SLang_Array_Type *));
+ if (arrays == NULL)
+ {
+ SLdo_pop_n (count);
+ return NULL;
+ }
+ SLMEMSET((char *) arrays, 0, count * sizeof(SLang_Array_Type *));
+
+ at = NULL;
+
+ num_elements = 0;
+ i = count;
+
+ while (i != 0)
+ {
+ i--;
+
+ if (-1 == SLang_pop_array (&bt, 1))
+ goto free_and_return;
+
+ arrays[i] = bt;
+ num_elements += (int)bt->num_elements;
+ }
+
+ type = arrays[0]->data_type;
+ max_dims = min_dims = arrays[0]->num_dims;
+ min_rows = max_rows = arrays[0]->dims[0];
+
+ for (i = 1; i < count; i++)
+ {
+ SLang_Array_Type *ct;
+ int num;
+
+ bt = arrays[i];
+
+ num = bt->num_dims;
+ if (num > max_dims) max_dims = num;
+ if (num < min_dims) min_dims = num;
+
+ num = bt->dims[0];
+ if (num > max_rows) max_rows = num;
+ if (num < min_rows) min_rows = num;
+
+ if (type == bt->data_type)
+ continue;
+
+ if (1 != _SLarray_typecast (bt->data_type, (VOID_STAR) &bt, 1,
+ type, (VOID_STAR) &ct, 1))
+ goto free_and_return;
+
+ SLang_free_array (bt);
+ arrays [i] = ct;
+ }
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL, &num_elements, 1)))
+ goto free_and_return;
+
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+ sizeof_type = at->sizeof_type;
+ dest_data = (char *) at->data;
+
+ for (i = 0; i < count; i++)
+ {
+ bt = arrays[i];
+
+ src_data = (char *) bt->data;
+ num_elements = bt->num_elements;
+
+ if (-1 == transfer_n_elements (bt, (VOID_STAR)dest_data, (VOID_STAR)src_data, sizeof_type,
+ num_elements, is_ptr))
+ {
+ SLang_free_array (at);
+ at = NULL;
+ goto free_and_return;
+ }
+
+ dest_data += num_elements * sizeof_type;
+ }
+
+ /* If the arrays are all 1-d, and all the same size, then reshape to a
+ * 2-d array. This will allow us to do, e.g.
+ * a = [[1,2], [3,4]]
+ * to specifiy a 2-d.
+ * Someday I will generalize this.
+ */
+ if ((max_dims == min_dims) && (max_dims == 1) && (min_rows == max_rows))
+ {
+ at->num_dims = 2;
+ at->dims[0] = count;
+ at->dims[1] = min_rows;
+ }
+
+ free_and_return:
+
+ for (i = 0; i < count; i++)
+ SLang_free_array (arrays[i]);
+ SLfree ((char *) arrays);
+
+ return at;
+}
+
+int _SLarray_inline_array (void)
+{
+ SLang_Object_Type *obj;
+ unsigned char type, this_type;
+ unsigned int count;
+ SLang_Array_Type *at;
+
+ obj = _SLStack_Pointer;
+
+ count = SLang_Num_Function_Args;
+ type = 0;
+
+ while ((count > 0) && (--obj >= _SLRun_Stack))
+ {
+ this_type = obj->data_type;
+
+ if (type == 0)
+ type = this_type;
+
+ if ((type == this_type) || (type == SLANG_ARRAY_TYPE))
+ {
+ count--;
+ continue;
+ }
+
+ switch (this_type)
+ {
+ case SLANG_ARRAY_TYPE:
+ type = SLANG_ARRAY_TYPE;
+ break;
+
+ case SLANG_INT_TYPE:
+ switch (type)
+ {
+#if SLANG_HAS_FLOAT
+ case SLANG_DOUBLE_TYPE:
+ break;
+#endif
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ break;
+#endif
+ default:
+ goto type_mismatch;
+ }
+ break;
+#if SLANG_HAS_FLOAT
+ case SLANG_DOUBLE_TYPE:
+ switch (type)
+ {
+ case SLANG_INT_TYPE:
+ type = SLANG_DOUBLE_TYPE;
+ break;
+# if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ break;
+# endif
+ default:
+ goto type_mismatch;
+ }
+ break;
+#endif
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ switch (type)
+ {
+ case SLANG_INT_TYPE:
+ case SLANG_DOUBLE_TYPE:
+ type = SLANG_COMPLEX_TYPE;
+ break;
+
+ default:
+ goto type_mismatch;
+ }
+ break;
+#endif
+ default:
+ type_mismatch:
+ _SLclass_type_mismatch_error (type, this_type);
+ return -1;
+ }
+ count--;
+ }
+
+ if (count != 0)
+ {
+ SLang_Error = SL_STACK_UNDERFLOW;
+ return -1;
+ }
+
+ count = SLang_Num_Function_Args;
+
+ if (count == 0)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "Empty inline-arrays not supported");
+ return -1;
+ }
+
+ if (type == SLANG_ARRAY_TYPE)
+ {
+ if (NULL == (at = concat_arrays (count)))
+ return -1;
+ }
+ else
+ {
+ SLang_Object_Type index_obj;
+ int icount = (int) count;
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL, &icount, 1)))
+ return -1;
+
+ index_obj.data_type = SLANG_INT_TYPE;
+ while (count != 0)
+ {
+ count--;
+ index_obj.v.int_val = (int) count;
+ if (-1 == aput_from_indices (at, &index_obj, 1))
+ {
+ SLang_free_array (at);
+ SLdo_pop_n (count);
+ return -1;
+ }
+ }
+ }
+
+ return SLang_push_array (at, 1);
+}
+
+static int array_binary_op_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ (void) op;
+ (void) a;
+ (void) b;
+ *c = SLANG_ARRAY_TYPE;
+ return 1;
+}
+
+static int array_binary_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ SLang_Array_Type *at, *bt, *ct;
+ unsigned int i, num_dims;
+ int (*binary_fun) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR);
+ SLang_Class_Type *a_cl, *b_cl, *c_cl;
+ int no_init;
+
+ if (a_type == SLANG_ARRAY_TYPE)
+ {
+ if (na != 1)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
+ return -1;
+ }
+
+ at = *(SLang_Array_Type **) ap;
+ if (-1 == coerse_array_to_linear (at))
+ return -1;
+ ap = at->data;
+ a_type = at->data_type;
+ na = at->num_elements;
+ }
+ else
+ {
+ at = NULL;
+ }
+
+ if (b_type == SLANG_ARRAY_TYPE)
+ {
+ if (nb != 1)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "Binary operation on multiple arrays not implemented");
+ return -1;
+ }
+
+ bt = *(SLang_Array_Type **) bp;
+ if (-1 == coerse_array_to_linear (bt))
+ return -1;
+ bp = bt->data;
+ b_type = bt->data_type;
+ nb = bt->num_elements;
+ }
+ else
+ {
+ bt = NULL;
+ }
+
+ if ((at != NULL) && (bt != NULL))
+ {
+ num_dims = at->num_dims;
+
+ if (num_dims != bt->num_dims)
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Arrays must have same dim for binary operation");
+ return -1;
+ }
+
+ for (i = 0; i < num_dims; i++)
+ {
+ if (at->dims[i] != bt->dims[i])
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Arrays must be the same for binary operation");
+ return -1;
+ }
+ }
+ }
+
+ a_cl = _SLclass_get_class (a_type);
+ b_cl = _SLclass_get_class (b_type);
+
+ if (NULL == (binary_fun = _SLclass_get_binary_fun (op, a_cl, b_cl, &c_cl, 1)))
+ return -1;
+
+ no_init = ((c_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
+ || (c_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
+
+ ct = NULL;
+#if _SLANG_USE_TMP_OPTIMIZATION
+ /* If we are dealing with scalar (or vector) objects, and if the object
+ * appears to be owned by the stack, then use it instead of creating a
+ * new version. This can happen with code such as:
+ * @ x = [1,2,3,4];
+ * @ x = __tmp(x) + 1;
+ */
+ if (no_init)
+ {
+ if ((at != NULL)
+ && (at->num_refs == 1)
+ && (at->data_type == c_cl->cl_data_type))
+ {
+ ct = at;
+ ct->num_refs = 2;
+ }
+ else if ((bt != NULL)
+ && (bt->num_refs == 1)
+ && (bt->data_type == c_cl->cl_data_type))
+ {
+ ct = bt;
+ ct->num_refs = 2;
+ }
+ }
+#endif /* _SLANG_USE_TMP_OPTIMIZATION */
+
+ if (ct == NULL)
+ {
+ if (at != NULL) ct = at; else ct = bt;
+ ct = SLang_create_array1 (c_cl->cl_data_type, 0, NULL, ct->dims, ct->num_dims, no_init);
+ if (ct == NULL)
+ return -1;
+ }
+
+
+ if ((na == 0) || (nb == 0) /* allow empty arrays */
+ || (1 == (*binary_fun) (op, a_type, ap, na, b_type, bp, nb, ct->data)))
+ {
+ *(SLang_Array_Type **) cp = ct;
+ return 1;
+ }
+
+ SLang_free_array (ct);
+ return -1;
+}
+
+static void array_where (void)
+{
+ SLang_Array_Type *at, *bt;
+ char *a_data;
+ int *b_data;
+ unsigned int i, num_elements;
+ int b_num;
+
+ if (-1 == SLang_pop_array (&at, 1))
+ return;
+
+ bt = NULL;
+
+ if (at->data_type != SLANG_CHAR_TYPE)
+ {
+ int zero;
+ SLang_Array_Type *tmp_at;
+
+ tmp_at = at;
+ zero = 0;
+ if (1 != array_binary_op (SLANG_NE,
+ SLANG_ARRAY_TYPE, (VOID_STAR) &at, 1,
+ SLANG_CHAR_TYPE, (VOID_STAR) &zero, 1,
+ (VOID_STAR) &tmp_at))
+ goto return_error;
+
+ SLang_free_array (at);
+ at = tmp_at;
+ if (at->data_type != SLANG_CHAR_TYPE)
+ {
+ SLang_Error = SL_TYPE_MISMATCH;
+ goto return_error;
+ }
+ }
+
+ a_data = (char *) at->data;
+ num_elements = at->num_elements;
+
+ b_num = 0;
+ for (i = 0; i < num_elements; i++)
+ if (a_data[i] != 0) b_num++;
+
+ if (NULL == (bt = SLang_create_array1 (SLANG_INT_TYPE, 0, NULL, &b_num, 1, 1)))
+ goto return_error;
+
+ b_data = (int *) bt->data;
+
+ i = 0;
+ while (b_num)
+ {
+ if (a_data[i] != 0)
+ {
+ *b_data++ = i;
+ b_num--;
+ }
+
+ i++;
+ }
+
+ (void) SLang_push_array (bt, 0);
+ /* drop */
+
+ return_error:
+ SLang_free_array (at);
+ SLang_free_array (bt);
+}
+
+static int do_array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
+{
+ int *dims;
+ unsigned int i, num_dims;
+ unsigned int num_elements;
+
+ if ((ind_at->data_type != SLANG_INT_TYPE)
+ || (ind_at->num_dims != 1))
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
+ return -1;
+ }
+
+ num_dims = ind_at->num_elements;
+ dims = (int *) ind_at->data;
+
+ num_elements = 1;
+ for (i = 0; i < num_dims; i++)
+ {
+ int d = dims[i];
+ if (d < 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "reshape: dimension is less then 0");
+ return -1;
+ }
+
+ num_elements = (unsigned int) d * num_elements;
+ }
+
+ if ((num_elements != at->num_elements)
+ || (num_dims > SLARRAY_MAX_DIMS))
+ {
+ SLang_verror (SL_INVALID_PARM, "Unable to reshape array to specified size");
+ return -1;
+ }
+
+ for (i = 0; i < num_dims; i++)
+ at->dims [i] = dims[i];
+
+ while (i < SLARRAY_MAX_DIMS)
+ {
+ at->dims [i] = 1;
+ i++;
+ }
+
+ at->num_dims = num_dims;
+ return 0;
+}
+
+static void array_reshape (SLang_Array_Type *at, SLang_Array_Type *ind_at)
+{
+ (void) do_array_reshape (at, ind_at);
+}
+
+static void _array_reshape (SLang_Array_Type *ind_at)
+{
+ SLang_Array_Type *at;
+ SLang_Array_Type *new_at;
+
+ if (-1 == SLang_pop_array (&at, 1))
+ return;
+
+ /* FIXME: Priority=low: duplicate_array could me modified to look at num_refs */
+
+ /* Now try to avoid the overhead of creating a new array if possible */
+ if (at->num_refs == 1)
+ {
+ /* Great, we are the sole owner of this array. */
+ if ((-1 == do_array_reshape (at, ind_at))
+ || (-1 == SLclass_push_ptr_obj (SLANG_ARRAY_TYPE, (VOID_STAR)at)))
+ SLang_free_array (at);
+ return;
+ }
+
+ new_at = SLang_duplicate_array (at);
+ if (new_at != NULL)
+ {
+ if (0 == do_array_reshape (new_at, ind_at))
+ (void) SLang_push_array (new_at, 0);
+
+ SLang_free_array (new_at);
+ }
+ SLang_free_array (at);
+}
+
+typedef struct
+{
+ SLang_Array_Type *at;
+ unsigned int increment;
+ char *addr;
+}
+Map_Arg_Type;
+/* Usage: array_map (Return-Type, func, args,....); */
+static void array_map (void)
+{
+ Map_Arg_Type *args;
+ unsigned int num_args;
+ unsigned int i, i_control;
+ SLang_Name_Type *nt;
+ unsigned int num_elements;
+ SLang_Array_Type *at;
+ char *addr;
+ unsigned char type;
+
+ at = NULL;
+ args = NULL;
+ nt = NULL;
+
+ if (SLang_Num_Function_Args < 3)
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "Usage: array_map (Return-Type, &func, args...)");
+ SLdo_pop_n (SLang_Num_Function_Args);
+ return;
+ }
+
+ num_args = (unsigned int)SLang_Num_Function_Args - 2;
+ args = (Map_Arg_Type *) SLmalloc (num_args * sizeof (Map_Arg_Type));
+ if (args == NULL)
+ {
+ SLdo_pop_n (SLang_Num_Function_Args);
+ return;
+ }
+ memset ((char *) args, 0, num_args * sizeof (Map_Arg_Type));
+ i = num_args;
+ i_control = 0;
+ while (i > 0)
+ {
+ i--;
+ if (-1 == SLang_pop_array (&args[i].at, 1))
+ {
+ SLdo_pop_n (i + 2);
+ goto return_error;
+ }
+ if (args[i].at->num_elements > 1)
+ i_control = i;
+ }
+
+ if (NULL == (nt = SLang_pop_function ()))
+ {
+ SLdo_pop_n (1);
+ goto return_error;
+ }
+
+ num_elements = args[i_control].at->num_elements;
+
+ if (-1 == _SLang_pop_datatype (&type))
+ goto return_error;
+
+ if (type == SLANG_UNDEFINED_TYPE) /* Void_Type */
+ at = NULL;
+ else
+ {
+ at = args[i_control].at;
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL, at->dims, at->num_dims)))
+ goto return_error;
+ }
+
+
+ for (i = 0; i < num_args; i++)
+ {
+ SLang_Array_Type *ati = args[i].at;
+ /* FIXME: Priority = low: The actual dimensions should be compared. */
+ if (ati->num_elements == num_elements)
+ args[i].increment = ati->sizeof_type;
+ /* memset already guarantees increment to be zero */
+
+ if (ati->num_elements == 0)
+ {
+ SLang_verror (0, "array_map: function argument %d of %d is an empty array",
+ i+1, num_args);
+ goto return_error;
+ }
+
+ args[i].addr = (char *) ati->data;
+ }
+
+ if (at == NULL)
+ addr = NULL;
+ else
+ addr = (char *)at->data;
+
+ for (i = 0; i < num_elements; i++)
+ {
+ unsigned int j;
+
+ if (-1 == SLang_start_arg_list ())
+ goto return_error;
+
+ for (j = 0; j < num_args; j++)
+ {
+ if (-1 == push_element_at_addr (args[j].at,
+ (VOID_STAR) args[j].addr,
+ 1))
+ {
+ SLdo_pop_n (j);
+ goto return_error;
+ }
+
+ args[j].addr += args[j].increment;
+ }
+
+ if (-1 == SLang_end_arg_list ())
+ {
+ SLdo_pop_n (num_args);
+ goto return_error;
+ }
+
+ if (-1 == SLexecute_function (nt))
+ goto return_error;
+
+ if (at == NULL)
+ continue;
+
+ if (-1 == at->cl->cl_apop (type, (VOID_STAR) addr))
+ goto return_error;
+
+ addr += at->sizeof_type;
+ }
+
+ if (at != NULL)
+ (void) SLang_push_array (at, 0);
+
+ /* drop */
+
+ return_error:
+ SLang_free_array (at);
+ SLang_free_function (nt);
+ if (args != NULL)
+ {
+ for (i = 0; i < num_args; i++)
+ SLang_free_array (args[i].at);
+
+ SLfree ((char *) args);
+ }
+}
+
+static SLang_Intrin_Fun_Type Array_Table [] =
+{
+ MAKE_INTRINSIC_0("array_map", array_map, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("array_sort", sort_array, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_1("array_to_bstring", array_to_bstring, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
+ MAKE_INTRINSIC_1("bstring_to_array", bstring_to_array, SLANG_VOID_TYPE, SLANG_BSTRING_TYPE),
+ MAKE_INTRINSIC("init_char_array", init_char_array, SLANG_VOID_TYPE, 0),
+ MAKE_INTRINSIC("array_info", array_info, SLANG_VOID_TYPE, 0),
+ MAKE_INTRINSIC("where", array_where, SLANG_VOID_TYPE, 0),
+ MAKE_INTRINSIC_2("reshape", array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE),
+ MAKE_INTRINSIC_1("_reshape", _array_reshape, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+static char *array_string (unsigned char type, VOID_STAR v)
+{
+ SLang_Array_Type *at;
+ char buf[512];
+ unsigned int i, num_dims;
+ int *dims;
+
+ at = *(SLang_Array_Type **) v;
+ type = at->data_type;
+ num_dims = at->num_dims;
+ dims = at->dims;
+
+ sprintf (buf, "%s[%d", SLclass_get_datatype_name (type), at->dims[0]);
+
+ for (i = 1; i < num_dims; i++)
+ sprintf (buf + strlen(buf), ",%d", dims[i]);
+ strcat (buf, "]");
+
+ return SLmake_string (buf);
+}
+
+static void array_destroy (unsigned char type, VOID_STAR v)
+{
+ (void) type;
+ SLang_free_array (*(SLang_Array_Type **) v);
+}
+
+static int array_push (unsigned char type, VOID_STAR v)
+{
+ SLang_Array_Type *at;
+
+ (void) type;
+ at = *(SLang_Array_Type **) v;
+ return SLang_push_array (at, 0);
+}
+
+/* Intrinsic arrays are not stored in a variable. So, the address that
+ * would contain the variable holds the array address.
+ */
+static int array_push_intrinsic (unsigned char type, VOID_STAR v)
+{
+ (void) type;
+ return SLang_push_array ((SLang_Array_Type *) v, 0);
+}
+
+int _SLarray_add_bin_op (unsigned char type)
+{
+ SL_OOBinary_Type *ab;
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ ab = cl->cl_binary_ops;
+
+ while (ab != NULL)
+ {
+ if (ab->data_type == SLANG_ARRAY_TYPE)
+ return 0;
+ ab = ab->next;
+ }
+
+ if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, type, array_binary_op, array_binary_op_result))
+ || (-1 == SLclass_add_binary_op (type, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result)))
+ return -1;
+
+ return 0;
+}
+
+static SLang_Array_Type *
+do_array_math_op (int op, int unary_type,
+ SLang_Array_Type *at, unsigned int na)
+{
+ unsigned char a_type, b_type;
+ int (*f) (int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
+ SLang_Array_Type *bt;
+ SLang_Class_Type *b_cl;
+ int no_init;
+
+ if (na != 1)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "Operation restricted to 1 array");
+ return NULL;
+ }
+
+ a_type = at->data_type;
+ if (NULL == (f = _SLclass_get_unary_fun (op, at->cl, &b_cl, unary_type)))
+ return NULL;
+ b_type = b_cl->cl_data_type;
+
+ if (-1 == coerse_array_to_linear (at))
+ return NULL;
+
+ no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
+ || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
+
+#if _SLANG_USE_TMP_OPTIMIZATION
+ /* If we are dealing with scalar (or vector) objects, and if the object
+ * appears to be owned by the stack, then use it instead of creating a
+ * new version. This can happen with code such as:
+ * @ x = [1,2,3,4];
+ * @ x = UNARY_OP(__tmp(x));
+ */
+ if (no_init
+ && (at->num_refs == 1)
+ && (at->data_type == b_cl->cl_data_type))
+ {
+ bt = at;
+ bt->num_refs = 2;
+ }
+ else
+#endif /* _SLANG_USE_TMP_OPTIMIZATION */
+ if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
+ return NULL;
+
+ if (1 != (*f)(op, a_type, at->data, at->num_elements, bt->data))
+ {
+ SLang_free_array (bt);
+ return NULL;
+ }
+ return bt;
+}
+
+static int
+array_unary_op_result (int op, unsigned char a, unsigned char *b)
+{
+ (void) op;
+ (void) a;
+ *b = SLANG_ARRAY_TYPE;
+ return 1;
+}
+
+static int
+array_unary_op (int op,
+ unsigned char a, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ SLang_Array_Type *at;
+
+ (void) a;
+ at = *(SLang_Array_Type **) ap;
+ if (NULL == (at = do_array_math_op (op, _SLANG_BC_UNARY, at, na)))
+ {
+ if (SLang_Error) return -1;
+ return 0;
+ }
+ *(SLang_Array_Type **) bp = at;
+ return 1;
+}
+
+static int
+array_math_op (int op,
+ unsigned char a, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ SLang_Array_Type *at;
+
+ (void) a;
+ at = *(SLang_Array_Type **) ap;
+ if (NULL == (at = do_array_math_op (op, _SLANG_BC_MATH_UNARY, at, na)))
+ {
+ if (SLang_Error) return -1;
+ return 0;
+ }
+ *(SLang_Array_Type **) bp = at;
+ return 1;
+}
+
+static int
+array_app_op (int op,
+ unsigned char a, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ SLang_Array_Type *at;
+
+ (void) a;
+ at = *(SLang_Array_Type **) ap;
+ if (NULL == (at = do_array_math_op (op, _SLANG_BC_APP_UNARY, at, na)))
+ {
+ if (SLang_Error) return -1;
+ return 0;
+ }
+ *(SLang_Array_Type **) bp = at;
+ return 1;
+}
+
+int
+_SLarray_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp,
+ int is_implicit)
+{
+ SLang_Array_Type *at, *bt;
+ SLang_Class_Type *b_cl;
+ int no_init;
+ int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
+
+ if (na != 1)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED, "typecast of multiple arrays not implemented");
+ return -1;
+ }
+
+ at = *(SLang_Array_Type **) ap;
+ a_type = at->data_type;
+
+ if (a_type == b_type)
+ {
+ at->num_refs += 1;
+ *(SLang_Array_Type **) bp = at;
+ return 1;
+ }
+
+ if (NULL == (t = _SLclass_get_typecast (a_type, b_type, is_implicit)))
+ return -1;
+
+ if (-1 == coerse_array_to_linear (at))
+ return -1;
+
+ b_cl = _SLclass_get_class (b_type);
+
+ no_init = ((b_cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
+ || (b_cl->cl_class_type == SLANG_CLASS_TYPE_VECTOR));
+
+ if (NULL == (bt = SLang_create_array1 (b_type, 0, NULL, at->dims, at->num_dims, no_init)))
+ return -1;
+
+ if (1 == (*t) (a_type, at->data, at->num_elements, b_type, bt->data))
+ {
+ *(SLang_Array_Type **) bp = bt;
+ return 1;
+ }
+
+ SLang_free_array (bt);
+ return 0;
+}
+
+SLang_Array_Type *SLang_duplicate_array (SLang_Array_Type *at)
+{
+ SLang_Array_Type *bt;
+ char *data, *a_data;
+ unsigned int i, num_elements, sizeof_type;
+ unsigned int size;
+ int (*cl_acopy) (unsigned char, VOID_STAR, VOID_STAR);
+ unsigned char type;
+
+ if (-1 == coerse_array_to_linear (at))
+ return NULL;
+
+ type = at->data_type;
+ num_elements = at->num_elements;
+ sizeof_type = at->sizeof_type;
+ size = num_elements * sizeof_type;
+
+ if (NULL == (data = SLmalloc (size)))
+ return NULL;
+
+ if (NULL == (bt = SLang_create_array (type, 0, (VOID_STAR)data, at->dims, at->num_dims)))
+ {
+ SLfree (data);
+ return NULL;
+ }
+
+ a_data = (char *) at->data;
+ if (0 == (at->flags & SLARR_DATA_VALUE_IS_POINTER))
+ {
+ SLMEMCPY (data, a_data, size);
+ return bt;
+ }
+
+ SLMEMSET (data, 0, size);
+
+ cl_acopy = at->cl->cl_acopy;
+ for (i = 0; i < num_elements; i++)
+ {
+ if (NULL != *(VOID_STAR *) a_data)
+ {
+ if (-1 == (*cl_acopy) (type, (VOID_STAR) a_data, (VOID_STAR) data))
+ {
+ SLang_free_array (bt);
+ return NULL;
+ }
+ }
+
+ data += sizeof_type;
+ a_data += sizeof_type;
+ }
+
+ return bt;
+}
+
+static int array_dereference (unsigned char type, VOID_STAR addr)
+{
+ SLang_Array_Type *at;
+
+ (void) type;
+ at = SLang_duplicate_array (*(SLang_Array_Type **) addr);
+ if (at == NULL) return -1;
+ return SLang_push_array (at, 1);
+}
+
+/* This function gets called via, e.g., @Array_Type (Double_Type, [10,20]);
+ */
+static int
+array_datatype_deref (unsigned char type)
+{
+ SLang_Array_Type *ind_at;
+ SLang_Array_Type *at;
+
+#if 0
+ /* The parser generated code for this as if a function call were to be
+ * made. However, the interpreter simply called the deref object routine
+ * instead of the function call. So, I must simulate the function call.
+ * This needs to be formalized to hide this detail from applications
+ * who wish to do the same. So...
+ * FIXME: Priority=medium
+ */
+ if (0 == _SL_increment_frame_pointer ())
+ (void) _SL_decrement_frame_pointer ();
+#endif
+
+ if (-1 == SLang_pop_array (&ind_at, 1))
+ return -1;
+
+ if ((ind_at->data_type != SLANG_INT_TYPE)
+ || (ind_at->num_dims != 1))
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Expecting 1-d integer array");
+ goto return_error;
+ }
+
+ if (-1 == _SLang_pop_datatype (&type))
+ goto return_error;
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL,
+ (int *) ind_at->data,
+ ind_at->num_elements)))
+ goto return_error;
+
+ SLang_free_array (ind_at);
+ return SLang_push_array (at, 1);
+
+ return_error:
+ SLang_free_array (ind_at);
+ return -1;
+}
+
+static int array_length (unsigned char type, VOID_STAR v, unsigned int *len)
+{
+ SLang_Array_Type *at;
+
+ (void) type;
+ at = *(SLang_Array_Type **) v;
+ *len = at->num_elements;
+ return 0;
+}
+
+int
+_SLarray_init_slarray (void)
+{
+ SLang_Class_Type *cl;
+
+ if (-1 == SLadd_intrin_fun_table (Array_Table, NULL))
+ return -1;
+
+ if (NULL == (cl = SLclass_allocate_class ("Array_Type")))
+ return -1;
+
+ (void) SLclass_set_string_function (cl, array_string);
+ (void) SLclass_set_destroy_function (cl, array_destroy);
+ (void) SLclass_set_push_function (cl, array_push);
+ cl->cl_push_intrinsic = array_push_intrinsic;
+ cl->cl_dereference = array_dereference;
+ cl->cl_datatype_deref = array_datatype_deref;
+ cl->cl_length = array_length;
+
+ if (-1 == SLclass_register_class (cl, SLANG_ARRAY_TYPE, sizeof (VOID_STAR),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ if ((-1 == SLclass_add_binary_op (SLANG_ARRAY_TYPE, SLANG_ARRAY_TYPE, array_binary_op, array_binary_op_result))
+ || (-1 == SLclass_add_unary_op (SLANG_ARRAY_TYPE, array_unary_op, array_unary_op_result))
+ || (-1 == SLclass_add_app_unary_op (SLANG_ARRAY_TYPE, array_app_op, array_unary_op_result))
+ || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result))
+ || (-1 == SLclass_add_math_op (SLANG_ARRAY_TYPE, array_math_op, array_unary_op_result)))
+ return -1;
+
+ return 0;
+}
+
+int SLang_pop_array (SLang_Array_Type **at_ptr, int convert_scalar)
+{
+ if (-1 == pop_array (at_ptr, convert_scalar))
+ return -1;
+
+ if (-1 == coerse_array_to_linear (*at_ptr))
+ {
+ SLang_free_array (*at_ptr);
+ return -1;
+ }
+ return 0;
+}
+
+int SLang_pop_array_of_type (SLang_Array_Type **at, unsigned char type)
+{
+ if (-1 == SLclass_typecast (type, 1, 1))
+ return -1;
+
+ return SLang_pop_array (at, 1);
+}
+
+void (*_SLang_Matrix_Multiply)(void);
+
+int _SLarray_matrix_multiply (void)
+{
+ if (_SLang_Matrix_Multiply != NULL)
+ {
+ (*_SLang_Matrix_Multiply)();
+ return 0;
+ }
+ SLang_verror (SL_NOT_IMPLEMENTED, "Matrix multiplication not available");
+ return -1;
+}
+
+struct _SLang_Foreach_Context_Type
+{
+ SLang_Array_Type *at;
+ unsigned int next_element_index;
+};
+
+SLang_Foreach_Context_Type *
+_SLarray_cl_foreach_open (unsigned char type, unsigned int num)
+{
+ SLang_Foreach_Context_Type *c;
+
+ if (num != 0)
+ {
+ SLdo_pop_n (num + 1);
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "%s does not support 'foreach using' form",
+ SLclass_get_datatype_name (type));
+ return NULL;
+ }
+
+ if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
+ return NULL;
+
+ memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
+
+ if (-1 == pop_array (&c->at, 1))
+ {
+ SLfree ((char *) c);
+ return NULL;
+ }
+
+ return c;
+}
+
+void _SLarray_cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ if (c == NULL) return;
+ SLang_free_array (c->at);
+ SLfree ((char *) c);
+}
+
+int _SLarray_cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ SLang_Array_Type *at;
+ VOID_STAR data;
+
+ (void) type;
+
+ if (c == NULL)
+ return -1;
+
+ at = c->at;
+ if (at->num_elements == c->next_element_index)
+ return 0;
+
+ /* FIXME: Priority = low. The following assumes linear arrays
+ * or Integer range arrays. Fixing it right requires a method to get the
+ * nth element of a multidimensional array.
+ */
+
+ if (at->flags & SLARR_DATA_VALUE_IS_RANGE)
+ {
+ int d = (int) c->next_element_index;
+ data = range_get_data_addr (at, &d);
+ }
+ else
+ data = (VOID_STAR) ((char *)at->data + (c->next_element_index * at->sizeof_type));
+
+ c->next_element_index += 1;
+
+ if ((at->flags & SLARR_DATA_VALUE_IS_POINTER)
+ && (*(VOID_STAR *) data == NULL))
+ {
+ if (-1 == SLang_push_null ())
+ return -1;
+ }
+ else if (-1 == (*at->cl->cl_apush)(at->data_type, data))
+ return -1;
+
+ /* keep going */
+ return 1;
+}
+
diff --git a/mdk-stage1/slang/slarrfun.c b/mdk-stage1/slang/slarrfun.c
new file mode 100644
index 000000000..bfa6ec5e5
--- /dev/null
+++ b/mdk-stage1/slang/slarrfun.c
@@ -0,0 +1,464 @@
+/* Advanced array manipulation routines for S-Lang */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static int next_transposed_index (int *dims, int *max_dims, unsigned int num_dims)
+{
+ int i;
+
+ for (i = 0; i < (int) num_dims; i++)
+ {
+ int dims_i;
+
+ dims_i = dims [i] + 1;
+ if (dims_i != (int) max_dims [i])
+ {
+ dims [i] = dims_i;
+ return 0;
+ }
+ dims [i] = 0;
+ }
+
+ return -1;
+}
+
+static SLang_Array_Type *allocate_transposed_array (SLang_Array_Type *at)
+{
+ unsigned int num_elements;
+ SLang_Array_Type *bt;
+ VOID_STAR b_data;
+
+ num_elements = at->num_elements;
+ b_data = (VOID_STAR) SLmalloc (at->sizeof_type * num_elements);
+ if (b_data == NULL)
+ return NULL;
+
+ bt = SLang_create_array (at->data_type, 0, b_data, at->dims, 2);
+ if (bt == NULL)
+ {
+ SLfree ((char *)b_data);
+ return NULL;
+ }
+
+ bt->dims[1] = at->dims[0];
+ bt->dims[0] = at->dims[1];
+
+ return bt;
+}
+
+#define GENERIC_TYPE float
+#define TRANSPOSE_2D_ARRAY transpose_floats
+#define GENERIC_TYPE_A float
+#define GENERIC_TYPE_B float
+#define GENERIC_TYPE_C float
+#define INNERPROD_FUNCTION innerprod_float_float
+#if SLANG_HAS_COMPLEX
+# define INNERPROD_COMPLEX_A innerprod_complex_float
+# define INNERPROD_A_COMPLEX innerprod_float_complex
+#endif
+#include "slarrfun.inc"
+
+#define GENERIC_TYPE double
+#define TRANSPOSE_2D_ARRAY transpose_doubles
+#define GENERIC_TYPE_A double
+#define GENERIC_TYPE_B double
+#define GENERIC_TYPE_C double
+#define INNERPROD_FUNCTION innerprod_double_double
+#if SLANG_HAS_COMPLEX
+# define INNERPROD_COMPLEX_A innerprod_complex_double
+# define INNERPROD_A_COMPLEX innerprod_double_complex
+#endif
+#include "slarrfun.inc"
+
+#define GENERIC_TYPE_A double
+#define GENERIC_TYPE_B float
+#define GENERIC_TYPE_C double
+#define INNERPROD_FUNCTION innerprod_double_float
+#include "slarrfun.inc"
+
+#define GENERIC_TYPE_A float
+#define GENERIC_TYPE_B double
+#define GENERIC_TYPE_C double
+#define INNERPROD_FUNCTION innerprod_float_double
+#include "slarrfun.inc"
+
+/* Finally pick up the complex_complex multiplication
+ * and do the integers
+ */
+#if SLANG_HAS_COMPLEX
+# define INNERPROD_COMPLEX_COMPLEX innerprod_complex_complex
+#endif
+#define GENERIC_TYPE int
+#define TRANSPOSE_2D_ARRAY transpose_ints
+#include "slarrfun.inc"
+
+#if SIZEOF_LONG != SIZEOF_INT
+# define GENERIC_TYPE long
+# define TRANSPOSE_2D_ARRAY transpose_longs
+# include "slarrfun.inc"
+#else
+# define transpose_longs transpose_ints
+#endif
+
+#if SIZEOF_SHORT != SIZEOF_INT
+# define GENERIC_TYPE short
+# define TRANSPOSE_2D_ARRAY transpose_shorts
+# include "slarrfun.inc"
+#else
+# define transpose_shorts transpose_ints
+#endif
+
+#define GENERIC_TYPE char
+#define TRANSPOSE_2D_ARRAY transpose_chars
+#include "slarrfun.inc"
+
+/* This routine works only with linear arrays */
+static SLang_Array_Type *transpose (SLang_Array_Type *at)
+{
+ int dims [SLARRAY_MAX_DIMS];
+ int *max_dims;
+ unsigned int num_dims;
+ SLang_Array_Type *bt;
+ int i;
+ unsigned int sizeof_type;
+ int is_ptr;
+ char *b_data;
+
+ max_dims = at->dims;
+ num_dims = at->num_dims;
+
+ if ((at->num_elements == 0)
+ || (num_dims == 1))
+ {
+ bt = SLang_duplicate_array (at);
+ if (num_dims == 1) bt->num_dims = 2;
+ goto transpose_dims;
+ }
+
+ /* For numeric arrays skip the overhead below */
+ if (num_dims == 2)
+ {
+ bt = allocate_transposed_array (at);
+ if (bt == NULL) return NULL;
+
+ switch (at->data_type)
+ {
+ case SLANG_INT_TYPE:
+ case SLANG_UINT_TYPE:
+ return transpose_ints (at, bt);
+ case SLANG_DOUBLE_TYPE:
+ return transpose_doubles (at, bt);
+ case SLANG_FLOAT_TYPE:
+ return transpose_floats (at, bt);
+ case SLANG_CHAR_TYPE:
+ case SLANG_UCHAR_TYPE:
+ return transpose_chars (at, bt);
+ case SLANG_LONG_TYPE:
+ case SLANG_ULONG_TYPE:
+ return transpose_longs (at, bt);
+ case SLANG_SHORT_TYPE:
+ case SLANG_USHORT_TYPE:
+ return transpose_shorts (at, bt);
+ }
+ }
+ else
+ {
+ bt = SLang_create_array (at->data_type, 0, NULL, max_dims, num_dims);
+ if (bt == NULL) return NULL;
+ }
+
+ sizeof_type = at->sizeof_type;
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+
+ memset ((char *)dims, 0, sizeof(dims));
+
+ b_data = (char *) bt->data;
+
+ do
+ {
+ if (-1 == _SLarray_aget_transfer_elem (at, dims, (VOID_STAR) b_data,
+ sizeof_type, is_ptr))
+ {
+ SLang_free_array (bt);
+ return NULL;
+ }
+ b_data += sizeof_type;
+ }
+ while (0 == next_transposed_index (dims, max_dims, num_dims));
+
+ transpose_dims:
+
+ num_dims = bt->num_dims;
+ for (i = 0; i < (int) num_dims; i++)
+ bt->dims[i] = max_dims [num_dims - i - 1];
+
+ return bt;
+}
+
+static void array_transpose (SLang_Array_Type *at)
+{
+ if (NULL != (at = transpose (at)))
+ (void) SLang_push_array (at, 1);
+}
+
+static int get_inner_product_parms (SLang_Array_Type *a, int *dp,
+ unsigned int *loops, unsigned int *other)
+{
+ int num_dims;
+ int d;
+
+ d = *dp;
+
+ num_dims = (int)a->num_dims;
+ if (num_dims == 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "Inner-product operation requires an array of at least 1 dimension.");
+ return -1;
+ }
+
+ /* An index of -1 refers to last dimension */
+ if (d == -1)
+ d += num_dims;
+ *dp = d;
+
+ if (a->num_elements == 0)
+ { /* [] # [] ==> [] */
+ *loops = *other = 0;
+ return 0;
+ }
+
+ *loops = a->num_elements / a->dims[d];
+
+ if (d == 0)
+ {
+ *other = *loops; /* a->num_elements / a->dims[0]; */
+ return 0;
+ }
+
+ *other = a->dims[d];
+ return 0;
+}
+
+/* This routines takes two arrays A_i..j and B_j..k and produces a third
+ * via C_i..k = A_i..j B_j..k.
+ *
+ * If A is a vector, and B is a 2-d matrix, then regard A as a 2-d matrix
+ * with 1-column.
+ */
+static void do_inner_product (void)
+{
+ SLang_Array_Type *a, *b, *c;
+ void (*fun)(SLang_Array_Type *, SLang_Array_Type *, SLang_Array_Type *,
+ unsigned int, unsigned int, unsigned int, unsigned int,
+ unsigned int);
+ unsigned char c_type;
+ int dims[SLARRAY_MAX_DIMS];
+ int status;
+ unsigned int a_loops, b_loops, b_inc, a_stride;
+ int ai_dims, i, j;
+ unsigned int num_dims, a_num_dims, b_num_dims;
+ int ai, bi;
+
+ /* The result of a inner_product will be either a float, double, or
+ * a complex number.
+ *
+ * If an integer array is used, it will be promoted to a float.
+ */
+
+ switch (SLang_peek_at_stack1 ())
+ {
+ case SLANG_DOUBLE_TYPE:
+ if (-1 == SLang_pop_array_of_type (&b, SLANG_DOUBLE_TYPE))
+ return;
+ break;
+
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ if (-1 == SLang_pop_array_of_type (&b, SLANG_COMPLEX_TYPE))
+ return;
+ break;
+#endif
+ case SLANG_FLOAT_TYPE:
+ default:
+ if (-1 == SLang_pop_array_of_type (&b, SLANG_FLOAT_TYPE))
+ return;
+ break;
+ }
+
+ switch (SLang_peek_at_stack1 ())
+ {
+ case SLANG_DOUBLE_TYPE:
+ status = SLang_pop_array_of_type (&a, SLANG_DOUBLE_TYPE);
+ break;
+
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ status = SLang_pop_array_of_type (&a, SLANG_COMPLEX_TYPE);
+ break;
+#endif
+ case SLANG_FLOAT_TYPE:
+ default:
+ status = SLang_pop_array_of_type (&a, SLANG_FLOAT_TYPE);
+ break;
+ }
+
+ if (status == -1)
+ {
+ SLang_free_array (b);
+ return;
+ }
+
+ ai = -1; /* last index of a */
+ bi = 0; /* first index of b */
+ if ((-1 == get_inner_product_parms (a, &ai, &a_loops, &a_stride))
+ || (-1 == get_inner_product_parms (b, &bi, &b_loops, &b_inc)))
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
+ goto free_and_return;
+ }
+
+ a_num_dims = a->num_dims;
+ b_num_dims = b->num_dims;
+
+ /* Coerse a 1-d vector to 2-d */
+ if ((a_num_dims == 1)
+ && (b_num_dims == 2)
+ && (a->num_elements))
+ {
+ a_num_dims = 2;
+ ai = 1;
+ a_loops = a->num_elements;
+ a_stride = 1;
+ }
+
+ if ((ai_dims = a->dims[ai]) != b->dims[bi])
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "Array dimensions are not compatible for inner-product");
+ goto free_and_return;
+ }
+
+ num_dims = a_num_dims + b_num_dims - 2;
+ if (num_dims > SLARRAY_MAX_DIMS)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Inner-product result exceed max allowed dimensions");
+ goto free_and_return;
+ }
+
+ if (num_dims)
+ {
+ j = 0;
+ for (i = 0; i < (int)a_num_dims; i++)
+ if (i != ai) dims [j++] = a->dims[i];
+ for (i = 0; i < (int)b_num_dims; i++)
+ if (i != bi) dims [j++] = b->dims[i];
+ }
+ else
+ {
+ /* a scalar */
+ num_dims = 1;
+ dims[0] = 1;
+ }
+
+ c_type = 0; fun = NULL;
+ switch (a->data_type)
+ {
+ case SLANG_FLOAT_TYPE:
+ switch (b->data_type)
+ {
+ case SLANG_FLOAT_TYPE:
+ c_type = SLANG_FLOAT_TYPE;
+ fun = innerprod_float_float;
+ break;
+ case SLANG_DOUBLE_TYPE:
+ c_type = SLANG_DOUBLE_TYPE;
+ fun = innerprod_float_double;
+ break;
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ c_type = SLANG_COMPLEX_TYPE;
+ fun = innerprod_float_complex;
+ break;
+#endif
+ }
+ break;
+ case SLANG_DOUBLE_TYPE:
+ switch (b->data_type)
+ {
+ case SLANG_FLOAT_TYPE:
+ c_type = SLANG_DOUBLE_TYPE;
+ fun = innerprod_double_float;
+ break;
+ case SLANG_DOUBLE_TYPE:
+ c_type = SLANG_DOUBLE_TYPE;
+ fun = innerprod_double_double;
+ break;
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ c_type = SLANG_COMPLEX_TYPE;
+ fun = innerprod_double_complex;
+ break;
+#endif
+ }
+ break;
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ c_type = SLANG_COMPLEX_TYPE;
+ switch (b->data_type)
+ {
+ case SLANG_FLOAT_TYPE:
+ fun = innerprod_complex_float;
+ break;
+ case SLANG_DOUBLE_TYPE:
+ fun = innerprod_complex_double;
+ break;
+ case SLANG_COMPLEX_TYPE:
+ fun = innerprod_complex_complex;
+ break;
+ }
+ break;
+#endif
+ default:
+ break;
+ }
+
+ if (NULL == (c = SLang_create_array (c_type, 0, NULL, dims, num_dims)))
+ goto free_and_return;
+
+ (*fun)(a, b, c, a_loops, a_stride, b_loops, b_inc, ai_dims);
+
+ (void) SLang_push_array (c, 1);
+ /* drop */
+
+ free_and_return:
+ SLang_free_array (a);
+ SLang_free_array (b);
+}
+
+
+
+static SLang_Intrin_Fun_Type Array_Fun_Table [] =
+{
+ MAKE_INTRINSIC_1("transpose", array_transpose, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int SLang_init_array (void)
+{
+ if (-1 == SLadd_intrin_fun_table (Array_Fun_Table, "__SLARRAY__"))
+ return -1;
+#if SLANG_HAS_FLOAT
+ _SLang_Matrix_Multiply = do_inner_product;
+#endif
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slarrfun.inc b/mdk-stage1/slang/slarrfun.inc
new file mode 100644
index 000000000..348473a6f
--- /dev/null
+++ b/mdk-stage1/slang/slarrfun.inc
@@ -0,0 +1,257 @@
+/* -*- mode: C -*- */
+
+/* Some "inline" functions for generic scalar types */
+
+#ifdef TRANSPOSE_2D_ARRAY
+static SLang_Array_Type *TRANSPOSE_2D_ARRAY (SLang_Array_Type *at, SLang_Array_Type *bt)
+{
+ GENERIC_TYPE *a_data, *b_data;
+ int nr, nc, i;
+
+ nr = at->dims[0];
+ nc = at->dims[1];
+
+ a_data = (GENERIC_TYPE *) at->data;
+ b_data = (GENERIC_TYPE *) bt->data;
+
+ for (i = 0; i < nr; i++)
+ {
+ GENERIC_TYPE *offset = b_data + i;
+ int j;
+ for (j = 0; j < nc; j++)
+ {
+ *offset = *a_data++;
+ offset += nr;
+ }
+ }
+ return bt;
+}
+#undef TRANSPOSE_2D_ARRAY
+#endif
+
+
+#ifdef INNERPROD_FUNCTION
+
+static void INNERPROD_FUNCTION
+ (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
+ unsigned int a_loops, unsigned int a_stride,
+ unsigned int b_loops, unsigned int b_inc,
+ unsigned int inner_loops)
+{
+ GENERIC_TYPE_A *a;
+ GENERIC_TYPE_B *b;
+ GENERIC_TYPE_C *c;
+
+ c = (GENERIC_TYPE_C *) ct->data;
+ b = (GENERIC_TYPE_B *) bt->data;
+ a = (GENERIC_TYPE_A *) at->data;
+
+ while (a_loops--)
+ {
+ GENERIC_TYPE_B *bb;
+ unsigned int j;
+
+ bb = b;
+
+ for (j = 0; j < inner_loops; j++)
+ {
+ double x = (double) a[j];
+
+ if (x != 0.0)
+ {
+ unsigned int k;
+
+ for (k = 0; k < b_loops; k++)
+ c[k] += x * bb[k];
+ }
+ bb += b_inc;
+ }
+ c += b_loops;
+ a += a_stride;
+ }
+}
+#undef INNERPROD_FUNCTION
+
+#undef GENERIC_TYPE_A
+#undef GENERIC_TYPE_B
+#undef GENERIC_TYPE_C
+#endif
+
+#ifdef INNERPROD_COMPLEX_A
+static void INNERPROD_COMPLEX_A
+ (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
+ unsigned int a_loops, unsigned int a_stride,
+ unsigned int b_loops, unsigned int b_inc,
+ unsigned int inner_loops)
+{
+ double *a;
+ GENERIC_TYPE *b;
+ double *c;
+
+ c = (double *) ct->data;
+ b = (GENERIC_TYPE *) bt->data;
+ a = (double *) at->data;
+
+ a_stride *= 2;
+
+ while (a_loops--)
+ {
+ GENERIC_TYPE *bb;
+ unsigned int bb_loops;
+
+ bb = b;
+ bb_loops = b_loops;
+
+ while (bb_loops--)
+ {
+ double real_sum;
+ double imag_sum;
+ unsigned int iloops;
+ double *aa;
+ GENERIC_TYPE *bbb;
+
+ aa = a;
+ bbb = bb;
+ iloops = inner_loops;
+
+ real_sum = 0.0;
+ imag_sum = 0.0;
+ while (iloops--)
+ {
+ real_sum += aa[0] * (double)bbb[0];
+ imag_sum += aa[1] * (double)bbb[0];
+ aa += 2;
+ bbb += b_inc;
+ }
+
+ *c++ = real_sum;
+ *c++ = imag_sum;
+ bb++;
+ }
+
+ a += a_stride;
+ }
+}
+
+static void INNERPROD_A_COMPLEX
+ (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
+ unsigned int a_loops, unsigned int a_stride,
+ unsigned int b_loops, unsigned int b_inc,
+ unsigned int inner_loops)
+{
+ GENERIC_TYPE *a;
+ double *b;
+ double *c;
+
+ c = (double *) ct->data;
+ b = (double *) bt->data;
+ a = (GENERIC_TYPE *) at->data;
+
+ b_inc *= 2;
+
+ while (a_loops--)
+ {
+ double *bb;
+ unsigned int bb_loops;
+
+ bb = b;
+ bb_loops = b_loops;
+
+ while (bb_loops--)
+ {
+ double real_sum;
+ double imag_sum;
+ unsigned int iloops;
+ GENERIC_TYPE *aa;
+ double *bbb;
+
+ aa = a;
+ bbb = bb;
+ iloops = inner_loops;
+
+ real_sum = 0.0;
+ imag_sum = 0.0;
+ while (iloops--)
+ {
+ real_sum += (double)aa[0] * bbb[0];
+ imag_sum += (double)aa[0] * bbb[1];
+ aa += 1;
+ bbb += b_inc;
+ }
+
+ *c++ = real_sum;
+ *c++ = imag_sum;
+ bb += 2;
+ }
+
+ a += a_stride;
+ }
+}
+
+#undef INNERPROD_A_COMPLEX
+#undef INNERPROD_COMPLEX_A
+#endif /* INNERPROD_COMPLEX_A */
+
+
+#ifdef INNERPROD_COMPLEX_COMPLEX
+static void INNERPROD_COMPLEX_COMPLEX
+ (SLang_Array_Type *at, SLang_Array_Type *bt, SLang_Array_Type *ct,
+ unsigned int a_loops, unsigned int a_stride,
+ unsigned int b_loops, unsigned int b_inc,
+ unsigned int inner_loops)
+{
+ double *a;
+ double *b;
+ double *c;
+
+ c = (double *) ct->data;
+ b = (double *) bt->data;
+ a = (double *) at->data;
+
+ a_stride *= 2;
+ b_inc *= 2;
+
+ while (a_loops--)
+ {
+ double *bb;
+ unsigned int bb_loops;
+
+ bb = b;
+ bb_loops = b_loops;
+
+ while (bb_loops--)
+ {
+ double real_sum;
+ double imag_sum;
+ unsigned int iloops;
+ double *aa;
+ double *bbb;
+
+ aa = a;
+ bbb = bb;
+ iloops = inner_loops;
+
+ real_sum = 0.0;
+ imag_sum = 0.0;
+ while (iloops--)
+ {
+ real_sum += aa[0]*bbb[0] - aa[1]*bbb[1];
+ imag_sum += aa[0]*bbb[1] + aa[1]*bbb[0];
+ aa += 2;
+ bbb += b_inc;
+ }
+
+ *c++ = real_sum;
+ *c++ = imag_sum;
+ bb += 2;
+ }
+
+ a += a_stride;
+ }
+}
+#undef INNERPROD_COMPLEX_COMPLEX
+#endif
+
+#ifdef GENERIC_TYPE
+# undef GENERIC_TYPE
+#endif
diff --git a/mdk-stage1/slang/slarrmis.c b/mdk-stage1/slang/slarrmis.c
new file mode 100644
index 000000000..330dcb53f
--- /dev/null
+++ b/mdk-stage1/slang/slarrmis.c
@@ -0,0 +1,38 @@
+/* Misc Array Functions */
+/* Copyright (c) 1997, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+int SLang_get_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
+{
+ int is_ptr;
+
+ if ((at == NULL)
+ || (indices == NULL)
+ || (data == NULL))
+ return -1;
+
+ is_ptr = (at->flags & SLARR_DATA_VALUE_IS_POINTER);
+ if (is_ptr) *(VOID_STAR *) data = NULL;
+ return _SLarray_aget_transfer_elem (at, indices, data, at->sizeof_type, is_ptr);
+}
+
+int SLang_set_array_element (SLang_Array_Type *at, int *indices, VOID_STAR data)
+{
+ if ((at == NULL)
+ || (indices == NULL)
+ || (data == NULL))
+ return -1;
+
+ return _SLarray_aput_transfer_elem (at, indices, data, at->sizeof_type,
+ at->flags & SLARR_DATA_VALUE_IS_POINTER);
+}
+
diff --git a/mdk-stage1/slang/slassoc.c b/mdk-stage1/slang/slassoc.c
new file mode 100644
index 000000000..5997458d2
--- /dev/null
+++ b/mdk-stage1/slang/slassoc.c
@@ -0,0 +1,713 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#define SL_APP_WANTS_FOREACH
+#include "slang.h"
+#include "_slang.h"
+
+#define USE_NEW_ANYTYPE_CODE 1
+
+typedef struct _SLAssoc_Array_Element_Type
+{
+ char *key; /* slstring */
+ struct _SLAssoc_Array_Element_Type *next;
+ SLang_Object_Type value;
+}
+_SLAssoc_Array_Element_Type;
+
+typedef struct
+{
+ _SLAssoc_Array_Element_Type *elements[SLASSOC_HASH_TABLE_SIZE];
+ SLang_Object_Type default_value;
+ unsigned int num_elements;
+#define HAS_DEFAULT_VALUE 1
+ unsigned int flags;
+ unsigned char type;
+}
+SLang_Assoc_Array_Type;
+
+#define USE_CACHED_STRING 1
+
+#if USE_CACHED_STRING
+static char *Cached_String;
+static SLang_Object_Type *Cached_Obj;
+static SLang_Assoc_Array_Type *Cached_Array;
+#endif
+
+static SLang_Assoc_Array_Type *alloc_assoc_array (unsigned char type, int has_default_value)
+{
+ SLang_Assoc_Array_Type *a;
+
+ a = (SLang_Assoc_Array_Type *)SLmalloc (sizeof (SLang_Assoc_Array_Type));
+ if (a == NULL)
+ {
+ if (has_default_value)
+ SLdo_pop_n (1);
+ return NULL;
+ }
+
+ memset ((char *) a, 0, sizeof (SLang_Assoc_Array_Type));
+ a->type = type;
+
+ if (has_default_value)
+ {
+ if (
+#if USE_NEW_ANYTYPE_CODE
+ ((type != SLANG_ANY_TYPE) && (-1 == SLclass_typecast (type, 1, 1)))
+#else
+ (-1 == SLclass_typecast (type, 1, 1))
+#endif
+ || (-1 == SLang_pop (&a->default_value)))
+ {
+ SLfree ((char *) a);
+ return NULL;
+ }
+
+ a->flags |= HAS_DEFAULT_VALUE;
+ }
+ return a;
+}
+
+static void free_element (_SLAssoc_Array_Element_Type *e)
+{
+ if (e == NULL)
+ return;
+
+ SLang_free_object (&e->value);
+ SLang_free_slstring (e->key);
+#if USE_CACHED_STRING
+ if (e->key == Cached_String)
+ Cached_String = NULL;
+#endif
+ SLfree ((char *)e);
+}
+
+static void delete_assoc_array (SLang_Assoc_Array_Type *a)
+{
+ unsigned int i;
+
+ if (a == NULL) return;
+
+ for (i = 0; i < SLASSOC_HASH_TABLE_SIZE; i++)
+ {
+ _SLAssoc_Array_Element_Type *e;
+
+ e = a->elements[i];
+ while (e != NULL)
+ {
+ _SLAssoc_Array_Element_Type *next_e;
+
+ next_e = e->next;
+ free_element (e);
+ e = next_e;
+ }
+ }
+ if (a->flags & HAS_DEFAULT_VALUE)
+ SLang_free_object (&a->default_value);
+
+ SLfree ((char *) a);
+}
+
+_INLINE_
+static SLang_Object_Type *
+find_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
+{
+ unsigned int h;
+ _SLAssoc_Array_Element_Type *e;
+
+ h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
+ e = a->elements[h];
+
+ while (e != NULL)
+ {
+ if (str == e->key) /* slstrings can be compared this way */
+ {
+#if USE_CACHED_STRING
+ Cached_String = str;
+ Cached_Obj = &e->value;
+ Cached_Array = a;
+#endif
+ return &e->value;
+ }
+
+ e = e->next;
+ }
+
+ return NULL;
+}
+
+static _SLAssoc_Array_Element_Type *
+create_element (SLang_Assoc_Array_Type *a, char *str, unsigned long hash)
+{
+ unsigned int h;
+ _SLAssoc_Array_Element_Type *e;
+
+ e = (_SLAssoc_Array_Element_Type *) SLmalloc (sizeof (_SLAssoc_Array_Element_Type));
+ if (e == NULL)
+ return NULL;
+
+ memset ((char *) e, 0, sizeof (_SLAssoc_Array_Element_Type));
+ h = (unsigned int) (hash % SLASSOC_HASH_TABLE_SIZE);
+
+ if (NULL == (str = _SLstring_dup_hashed_string (str, hash)))
+ {
+ SLfree ((char *) e);
+ return NULL;
+ }
+
+ e->key = str;
+ e->next = a->elements[h];
+ a->elements[h] = e;
+
+ a->num_elements += 1;
+#if USE_CACHED_STRING
+ Cached_String = str;
+ Cached_Obj = &e->value;
+ Cached_Array = a;
+#endif
+ return e;
+}
+
+static int store_object (SLang_Assoc_Array_Type *a, char *s, SLang_Object_Type *obj)
+{
+ unsigned long hash;
+ SLang_Object_Type *v;
+
+#if USE_CACHED_STRING
+ if ((s == Cached_String) && (a == Cached_Array))
+ {
+ v = Cached_Obj;
+ SLang_free_object (v);
+ }
+ else
+ {
+#endif
+ hash = _SLcompute_string_hash (s);
+ if (NULL != (v = find_element (a, s, hash)))
+ SLang_free_object (v);
+ else
+ {
+ _SLAssoc_Array_Element_Type *e;
+
+ e = create_element (a, s, hash);
+ if (e == NULL)
+ return -1;
+
+ v = &e->value;
+ }
+#if USE_CACHED_STRING
+ }
+#endif
+
+ *v = *obj;
+
+ return 0;
+}
+
+static void assoc_destroy (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ delete_assoc_array ((SLang_Assoc_Array_Type *) ptr);
+}
+
+static int pop_index (unsigned int num_indices,
+ SLang_MMT_Type **mmt,
+ SLang_Assoc_Array_Type **a,
+ char **str)
+{
+ if (NULL == (*mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
+ {
+ *a = NULL;
+ *str = NULL;
+ return -1;
+ }
+
+ if ((num_indices != 1)
+ || (-1 == SLang_pop_slstring (str)))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Assoc_Type arrays require a single string index");
+ SLang_free_mmt (*mmt);
+ *mmt = NULL;
+ *a = NULL;
+ *str = NULL;
+ return -1;
+ }
+
+ *a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*mmt);
+ return 0;
+}
+
+static int assoc_aget (unsigned char type, unsigned int num_indices)
+{
+ SLang_MMT_Type *mmt;
+ char *str;
+ SLang_Assoc_Array_Type *a;
+ SLang_Object_Type *obj;
+ int ret;
+
+ (void) type;
+
+ if (-1 == pop_index (num_indices, &mmt, &a, &str))
+ return -1;
+
+#if USE_CACHED_STRING
+ if ((str == Cached_String) && (a == Cached_Array))
+ obj = Cached_Obj;
+ else
+#endif
+ obj = find_element (a, str, _SLcompute_string_hash (str));
+
+ if ((obj == NULL)
+ && (a->flags & HAS_DEFAULT_VALUE))
+ obj = &a->default_value;
+
+ if (obj == NULL)
+ {
+ SLang_verror (SL_INTRINSIC_ERROR,
+ "No such element in Assoc Array: %s", str);
+ ret = -1;
+ }
+ else
+ {
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (SLANG_CLASS_TYPE_SCALAR == _SLclass_Class_Type[obj->data_type])
+ ret = SLang_push (obj);
+#endif
+ else
+ ret = _SLpush_slang_obj (obj);
+ }
+
+ SLang_free_slstring (str);
+ SLang_free_mmt (mmt);
+ return ret;
+}
+
+static int assoc_aput (unsigned char type, unsigned int num_indices)
+{
+ SLang_MMT_Type *mmt;
+ char *str;
+ SLang_Assoc_Array_Type *a;
+ SLang_Object_Type obj;
+ int ret;
+
+ (void) type;
+
+ if (-1 == pop_index (num_indices, &mmt, &a, &str))
+ return -1;
+
+ ret = -1;
+
+ if (0 == SLang_pop (&obj))
+ {
+ if ((obj.data_type != a->type)
+#if USE_NEW_ANYTYPE_CODE
+ && (a->type != SLANG_ANY_TYPE)
+#endif
+ )
+ {
+ (void) SLang_push (&obj);
+ if ((-1 == SLclass_typecast (a->type, 1, 1))
+ || (-1 == SLang_pop (&obj)))
+ goto the_return;
+ }
+
+ if (-1 == store_object (a, str, &obj))
+ SLang_free_object (&obj);
+ else
+ ret = 0;
+ }
+
+ the_return:
+ SLang_free_slstring (str);
+ SLang_free_mmt (mmt);
+ return ret;
+}
+
+static int assoc_anew (unsigned char type, unsigned int num_dims)
+{
+ SLang_MMT_Type *mmt;
+ SLang_Assoc_Array_Type *a;
+ int has_default_value;
+
+ has_default_value = 0;
+ switch (num_dims)
+ {
+ case 0:
+ type = SLANG_ANY_TYPE;
+ break;
+ case 2:
+ (void) SLreverse_stack (2);
+ has_default_value = 1;
+ /* drop */
+ case 1:
+ if (0 == _SLang_pop_datatype (&type))
+ break;
+ num_dims--;
+ /* drop */
+ default:
+ SLdo_pop_n (num_dims);
+ SLang_verror (SL_SYNTAX_ERROR, "Usage: Assoc_Type [DataType_Type]");
+ return -1;
+ }
+
+ a = alloc_assoc_array (type, has_default_value);
+ if (a == NULL)
+ return -1;
+
+ if (NULL == (mmt = SLang_create_mmt (SLANG_ASSOC_TYPE, (VOID_STAR) a)))
+ {
+ delete_assoc_array (a);
+ return -1;
+ }
+
+ if (-1 == SLang_push_mmt (mmt))
+ {
+ SLang_free_mmt (mmt);
+ return -1;
+ }
+
+ return 0;
+}
+
+static void assoc_get_keys (SLang_Assoc_Array_Type *a)
+{
+ SLang_Array_Type *at;
+ int num;
+ unsigned int i, j;
+ char **data;
+
+ /* Note: If support for threads is added, then we need to modify this
+ * algorithm to prevent another thread from modifying the array.
+ * However, that should be handled in inner_interp.
+ */
+ num = a->num_elements;
+
+ if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num, 1)))
+ return;
+
+ data = (char **)at->data;
+
+ i = 0;
+ for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
+ {
+ _SLAssoc_Array_Element_Type *e;
+
+ e = a->elements[j];
+ while (e != NULL)
+ {
+ /* Next cannot fail because it is an slstring */
+ data [i] = SLang_create_slstring (e->key);
+ e = e->next;
+ i++;
+ }
+ }
+ (void) SLang_push_array (at, 1);
+}
+
+static int
+transfer_element (SLang_Class_Type *cl, VOID_STAR dest_data,
+ SLang_Object_Type *obj)
+{
+ unsigned int sizeof_type;
+ VOID_STAR src_data;
+
+#if USE_NEW_ANYTYPE_CODE
+ if (cl->cl_data_type == SLANG_ANY_TYPE)
+ {
+ SLang_Any_Type *any;
+
+ if ((-1 == _SLpush_slang_obj (obj))
+ || (-1 == SLang_pop_anytype (&any)))
+ return -1;
+
+ *(SLang_Any_Type **)dest_data = any;
+ return 0;
+ }
+#endif
+ /* Optimize for scalar */
+ if (cl->cl_class_type == SLANG_CLASS_TYPE_SCALAR)
+ {
+ sizeof_type = cl->cl_sizeof_type;
+ memcpy ((char *) dest_data, (char *)&obj->v, sizeof_type);
+ return 0;
+ }
+
+ src_data = _SLclass_get_ptr_to_value (cl, obj);
+
+ if (-1 == (*cl->cl_acopy) (cl->cl_data_type, src_data, dest_data))
+ return -1;
+
+ return 0;
+}
+
+static void assoc_get_values (SLang_Assoc_Array_Type *a)
+{
+ SLang_Array_Type *at;
+ int num;
+ unsigned int i, j;
+ char *dest_data;
+ unsigned char type;
+ SLang_Class_Type *cl;
+ unsigned int sizeof_type;
+
+ /* Note: If support for threads is added, then we need to modify this
+ * algorithm to prevent another thread from modifying the array.
+ * However, that should be handled in inner_interp.
+ */
+ num = a->num_elements;
+ type = a->type;
+
+ cl = _SLclass_get_class (type);
+ sizeof_type = cl->cl_sizeof_type;
+
+ if (NULL == (at = SLang_create_array (type, 0, NULL, &num, 1)))
+ return;
+
+ dest_data = (char *)at->data;
+
+ i = 0;
+ for (j = 0; j < SLASSOC_HASH_TABLE_SIZE; j++)
+ {
+ _SLAssoc_Array_Element_Type *e;
+
+ e = a->elements[j];
+ while (e != NULL)
+ {
+ if (-1 == transfer_element (cl, (VOID_STAR) dest_data, &e->value))
+ {
+ SLang_free_array (at);
+ return;
+ }
+
+ dest_data += sizeof_type;
+ e = e->next;
+ i++;
+ }
+ }
+ (void) SLang_push_array (at, 1);
+}
+
+static int assoc_key_exists (SLang_Assoc_Array_Type *a, char *key)
+{
+ return (NULL != find_element (a, key, _SLcompute_string_hash (key)));
+}
+
+static void assoc_delete_key (SLang_Assoc_Array_Type *a, char *key)
+{
+ unsigned int h;
+ _SLAssoc_Array_Element_Type *v, *v0;
+
+ h = (unsigned int) (_SLcompute_string_hash (key) % SLASSOC_HASH_TABLE_SIZE);
+
+ v0 = NULL;
+ v = a->elements[h];
+ while (v != NULL)
+ {
+ if (v->key == key)
+ {
+ if (v0 != NULL)
+ v0->next = v->next;
+ else
+ a->elements[h] = v->next;
+
+ free_element (v);
+ a->num_elements -= 1;
+ return;
+ }
+ v0 = v;
+ v = v->next;
+ }
+
+ /* No such element. Let it pass with no error. */
+}
+
+#define A SLANG_ASSOC_TYPE
+#define S SLANG_STRING_TYPE
+static SLang_Intrin_Fun_Type Assoc_Table [] =
+{
+ MAKE_INTRINSIC_1("assoc_get_keys", assoc_get_keys, SLANG_VOID_TYPE, A),
+ MAKE_INTRINSIC_1("assoc_get_values", assoc_get_values, SLANG_VOID_TYPE, A),
+ MAKE_INTRINSIC_2("assoc_key_exists", assoc_key_exists, SLANG_INT_TYPE, A, S),
+ MAKE_INTRINSIC_2("assoc_delete_key", assoc_delete_key, SLANG_VOID_TYPE, A, S),
+
+ SLANG_END_INTRIN_FUN_TABLE
+};
+#undef A
+#undef S
+
+static int assoc_length (unsigned char type, VOID_STAR v, unsigned int *len)
+{
+ SLang_Assoc_Array_Type *a;
+
+ (void) type;
+ a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (*(SLang_MMT_Type **)v);
+ *len = a->num_elements;
+ return 0;
+}
+
+struct _SLang_Foreach_Context_Type
+{
+ SLang_MMT_Type *mmt;
+ SLang_Assoc_Array_Type *a;
+ unsigned int this_hash_index;
+ unsigned int next_same_hash_index;
+#define CTX_WRITE_KEYS 1
+#define CTX_WRITE_VALUES 2
+ unsigned char flags;
+};
+
+static SLang_Foreach_Context_Type *
+cl_foreach_open (unsigned char type, unsigned int num)
+{
+ SLang_Foreach_Context_Type *c;
+ unsigned char flags;
+ SLang_MMT_Type *mmt;
+
+ (void) type;
+
+ if (NULL == (mmt = SLang_pop_mmt (SLANG_ASSOC_TYPE)))
+ return NULL;
+
+ flags = 0;
+
+ while (num--)
+ {
+ char *s;
+
+ if (-1 == SLang_pop_slstring (&s))
+ {
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+
+ if (0 == strcmp (s, "keys"))
+ flags |= CTX_WRITE_KEYS;
+ else if (0 == strcmp (s, "values"))
+ flags |= CTX_WRITE_VALUES;
+ else
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "using '%s' not supported by SLassoc_Type",
+ s);
+ SLang_free_slstring (s);
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+
+ SLang_free_slstring (s);
+ }
+
+ if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
+ {
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+
+ memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
+
+ if (flags == 0) flags = CTX_WRITE_VALUES|CTX_WRITE_KEYS;
+
+ c->flags = flags;
+ c->mmt = mmt;
+ c->a = (SLang_Assoc_Array_Type *) SLang_object_from_mmt (mmt);
+
+ return c;
+}
+
+static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ if (c == NULL) return;
+ SLang_free_mmt (c->mmt);
+ SLfree ((char *) c);
+}
+
+static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ SLang_Assoc_Array_Type *a;
+ _SLAssoc_Array_Element_Type *e;
+ unsigned int i, j;
+
+ (void) type;
+
+ if (c == NULL)
+ return -1;
+
+ a = c->a;
+
+ i = c->this_hash_index;
+ if (i >= SLASSOC_HASH_TABLE_SIZE)
+ return 0;
+
+ e = a->elements[i];
+
+ j = c->next_same_hash_index;
+ c->next_same_hash_index = j + 1;
+
+ while ((j > 0) && (e != NULL))
+ {
+ j--;
+ e = e->next;
+ }
+
+ if (e == NULL)
+ {
+ do
+ {
+ i++;
+ if (i >= SLASSOC_HASH_TABLE_SIZE)
+ return 0; /* no more */
+ }
+ while (a->elements [i] == NULL);
+
+ e = a->elements[i];
+ c->this_hash_index = i;
+ c->next_same_hash_index = 1;
+ }
+
+ if ((c->flags & CTX_WRITE_KEYS)
+ && (-1 == SLang_push_string (e->key)))
+ return -1;
+
+ if ((c->flags & CTX_WRITE_VALUES)
+ && (-1 == _SLpush_slang_obj (&e->value)))
+ return -1;
+
+ /* keep going */
+ return 1;
+}
+
+int SLang_init_slassoc (void)
+{
+ SLang_Class_Type *cl;
+
+ if (SLclass_is_class_defined (SLANG_ASSOC_TYPE))
+ return 0;
+
+ if (NULL == (cl = SLclass_allocate_class ("Assoc_Type")))
+ return -1;
+
+ (void) SLclass_set_destroy_function (cl, assoc_destroy);
+ (void) SLclass_set_aput_function (cl, assoc_aput);
+ (void) SLclass_set_aget_function (cl, assoc_aget);
+ (void) SLclass_set_anew_function (cl, assoc_anew);
+ cl->cl_length = assoc_length;
+ cl->cl_foreach_open = cl_foreach_open;
+ cl->cl_foreach_close = cl_foreach_close;
+ cl->cl_foreach = cl_foreach;
+
+ if (-1 == SLclass_register_class (cl, SLANG_ASSOC_TYPE, sizeof (SLang_Assoc_Array_Type), SLANG_CLASS_TYPE_MMT))
+ return -1;
+
+ if (-1 == SLadd_intrin_fun_table (Assoc_Table, "__SLASSOC__"))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slbstr.c b/mdk-stage1/slang/slbstr.c
new file mode 100644
index 000000000..b4b8c4c51
--- /dev/null
+++ b/mdk-stage1/slang/slbstr.c
@@ -0,0 +1,615 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+struct _SLang_BString_Type
+{
+ unsigned int num_refs;
+ unsigned int len;
+ int ptr_type;
+#define IS_SLSTRING 1
+#define IS_MALLOCED 2
+#define IS_NOT_TO_BE_FREED 3
+ union
+ {
+ unsigned char bytes[1];
+ unsigned char *ptr;
+ }
+ v;
+};
+
+#define BS_GET_POINTER(b) ((b)->ptr_type ? (b)->v.ptr : (b)->v.bytes)
+
+static SLang_BString_Type *create_bstring_of_type (char *bytes, unsigned int len, int type)
+{
+ SLang_BString_Type *b;
+ unsigned int size;
+
+ size = sizeof(SLang_BString_Type);
+ if (type == 0)
+ size += len;
+
+ if (NULL == (b = (SLang_BString_Type *)SLmalloc (size)))
+ return NULL;
+
+ b->len = len;
+ b->num_refs = 1;
+ b->ptr_type = type;
+
+ switch (type)
+ {
+ case 0:
+ if (bytes != NULL) memcpy ((char *) b->v.bytes, bytes, len);
+ /* Now \0 terminate it because we want to also use it as a C string
+ * whenever possible. Note that sizeof(SLang_BString_Type) includes
+ * space for 1 character and we allocated len extra bytes. Thus, it is
+ * ok to add a \0 to the end.
+ */
+ b->v.bytes[len] = 0;
+ break;
+
+ case IS_SLSTRING:
+ if (NULL == (b->v.ptr = (unsigned char *)SLang_create_nslstring (bytes, len)))
+ {
+ SLfree ((char *) b);
+ return NULL;
+ }
+ break;
+
+ case IS_MALLOCED:
+ case IS_NOT_TO_BE_FREED:
+ b->v.ptr = (unsigned char *)bytes;
+ bytes [len] = 0; /* NULL terminate */
+ break;
+ }
+
+ return b;
+}
+
+SLang_BString_Type *
+SLbstring_create (unsigned char *bytes, unsigned int len)
+{
+ return create_bstring_of_type ((char *)bytes, len, 0);
+}
+
+/* Note that ptr must be len + 1 bytes long for \0 termination */
+SLang_BString_Type *
+SLbstring_create_malloced (unsigned char *ptr, unsigned int len, int free_on_error)
+{
+ SLang_BString_Type *b;
+
+ if (ptr == NULL)
+ return NULL;
+
+ if (NULL == (b = create_bstring_of_type ((char *)ptr, len, IS_MALLOCED)))
+ {
+ if (free_on_error)
+ SLfree ((char *) ptr);
+ }
+ return b;
+}
+
+SLang_BString_Type *SLbstring_create_slstring (char *s)
+{
+ if (s == NULL)
+ return NULL;
+
+ return create_bstring_of_type (s, strlen (s), IS_SLSTRING);
+}
+
+SLang_BString_Type *SLbstring_dup (SLang_BString_Type *b)
+{
+ if (b != NULL)
+ b->num_refs += 1;
+
+ return b;
+}
+
+unsigned char *SLbstring_get_pointer (SLang_BString_Type *b, unsigned int *len)
+{
+ if (b == NULL)
+ {
+ *len = 0;
+ return NULL;
+ }
+ *len = b->len;
+ return BS_GET_POINTER(b);
+}
+
+void SLbstring_free (SLang_BString_Type *b)
+{
+ if (b == NULL)
+ return;
+
+ if (b->num_refs > 1)
+ {
+ b->num_refs -= 1;
+ return;
+ }
+
+ switch (b->ptr_type)
+ {
+ case 0:
+ case IS_NOT_TO_BE_FREED:
+ default:
+ break;
+
+ case IS_SLSTRING:
+ SLang_free_slstring ((char *)b->v.ptr);
+ break;
+
+ case IS_MALLOCED:
+ SLfree ((char *)b->v.ptr);
+ break;
+ }
+
+ SLfree ((char *) b);
+}
+
+int SLang_pop_bstring (SLang_BString_Type **b)
+{
+ return SLclass_pop_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR *)b);
+}
+
+int SLang_push_bstring (SLang_BString_Type *b)
+{
+ if (b == NULL)
+ return SLang_push_null ();
+
+ b->num_refs += 1;
+
+ if (0 == SLclass_push_ptr_obj (SLANG_BSTRING_TYPE, (VOID_STAR)b))
+ return 0;
+
+ b->num_refs -= 1;
+ return -1;
+}
+
+static int
+bstring_bstring_bin_op_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ (void) a;
+ (void) b;
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ *c = SLANG_BSTRING_TYPE;
+ break;
+
+ case SLANG_GT:
+ case SLANG_GE:
+ case SLANG_LT:
+ case SLANG_LE:
+ case SLANG_EQ:
+ case SLANG_NE:
+ *c = SLANG_CHAR_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int compare_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
+{
+ unsigned int len;
+ int ret;
+
+ len = a->len;
+ if (b->len < len) len = b->len;
+
+ ret = memcmp ((char *)BS_GET_POINTER(b), (char *)BS_GET_POINTER(a), len);
+ if (ret != 0)
+ return ret;
+
+ if (a->len > b->len)
+ return 1;
+ if (a->len == b->len)
+ return 0;
+
+ return -1;
+}
+
+static SLang_BString_Type *
+concat_bstrings (SLang_BString_Type *a, SLang_BString_Type *b)
+{
+ unsigned int len;
+ SLang_BString_Type *c;
+ char *bytes;
+
+ len = a->len + b->len;
+
+ if (NULL == (c = SLbstring_create (NULL, len)))
+ return NULL;
+
+ bytes = (char *)BS_GET_POINTER(c);
+
+ memcpy (bytes, (char *)BS_GET_POINTER(a), a->len);
+ memcpy (bytes + a->len, (char *)BS_GET_POINTER(b), b->len);
+
+ return c;
+}
+
+static void free_n_bstrings (SLang_BString_Type **a, unsigned int n)
+{
+ unsigned int i;
+
+ if (a == NULL) return;
+
+ for (i = 0; i < n; i++)
+ {
+ SLbstring_free (a[i]);
+ a[i] = NULL;
+ }
+}
+
+static int
+bstring_bstring_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ SLang_BString_Type **a, **b, **c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+
+ (void) a_type;
+ (void) b_type;
+
+ if (na == 1) da = 0; else da = 1;
+ if (nb == 1) db = 0; else db = 1;
+
+ if (na > nb) n_max = na; else n_max = nb;
+
+ a = (SLang_BString_Type **) ap;
+ b = (SLang_BString_Type **) bp;
+ for (n = 0; n < n_max; n++)
+ {
+ if ((*a == NULL) || (*b == NULL))
+ {
+ SLang_verror (SL_VARIABLE_UNINITIALIZED,
+ "Binary string element[%u] not initialized for binary operation", n);
+ return -1;
+ }
+ a += da; b += db;
+ }
+
+ a = (SLang_BString_Type **) ap;
+ b = (SLang_BString_Type **) bp;
+ ic = (char *) cp;
+ c = NULL;
+
+ switch (op)
+ {
+ case SLANG_PLUS:
+ /* Concat */
+ c = (SLang_BString_Type **) cp;
+ for (n = 0; n < n_max; n++)
+ {
+ if (NULL == (c[n] = concat_bstrings (*a, *b)))
+ goto return_error;
+
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (0 != compare_bstrings (*a, *b));
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_GT:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (compare_bstrings (*a, *b) > 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_GE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (compare_bstrings (*a, *b) >= 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_LT:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (compare_bstrings (*a, *b) < 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_LE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (compare_bstrings (*a, *b) <= 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_EQ:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (compare_bstrings (*a, *b) == 0);
+ a += da;
+ b += db;
+ }
+ break;
+ }
+ return 1;
+
+ return_error:
+ if (c != NULL)
+ {
+ free_n_bstrings (c, n);
+ while (n < n_max)
+ {
+ c[n] = NULL;
+ n++;
+ }
+ }
+ return -1;
+}
+
+/* If preserve_ptr, then use a[i] as the bstring data. See how this function
+ * is called by the binary op routines for why.
+ */
+static SLang_BString_Type **
+make_n_bstrings (SLang_BString_Type **b, char **a, unsigned int n, int ptr_type)
+{
+ unsigned int i;
+ int malloc_flag;
+
+ malloc_flag = 0;
+ if (b == NULL)
+ {
+ b = (SLang_BString_Type **) SLmalloc ((n + 1) * sizeof (SLang_BString_Type *));
+ if (b == NULL)
+ return NULL;
+ malloc_flag = 1;
+ }
+
+ for (i = 0; i < n; i++)
+ {
+ char *s = a[i];
+
+ if (s == NULL)
+ {
+ b[i] = NULL;
+ continue;
+ }
+
+ if (NULL == (b[i] = create_bstring_of_type (s, strlen(s), ptr_type)))
+ {
+ free_n_bstrings (b, i);
+ if (malloc_flag) SLfree ((char *) b);
+ return NULL;
+ }
+ }
+
+ return b;
+}
+
+static int
+bstring_string_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ SLang_BString_Type **b;
+ int ret;
+
+ if (NULL == (b = make_n_bstrings (NULL, (char **)bp, nb, IS_NOT_TO_BE_FREED)))
+ return -1;
+
+ b_type = SLANG_BSTRING_TYPE;
+ ret = bstring_bstring_bin_op (op,
+ a_type, ap, na,
+ b_type, (VOID_STAR) b, nb,
+ cp);
+ free_n_bstrings (b, nb);
+ SLfree ((char *) b);
+ return ret;
+}
+
+static int
+string_bstring_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ SLang_BString_Type **a;
+ int ret;
+
+ if (NULL == (a = make_n_bstrings (NULL, (char **)ap, na, IS_NOT_TO_BE_FREED)))
+ return -1;
+
+ a_type = SLANG_BSTRING_TYPE;
+ ret = bstring_bstring_bin_op (op,
+ a_type, (VOID_STAR) a, na,
+ b_type, bp, nb,
+ cp);
+ free_n_bstrings (a, na);
+ SLfree ((char *) a);
+
+ return ret;
+}
+
+static void bstring_destroy (unsigned char unused, VOID_STAR s)
+{
+ (void) unused;
+ SLbstring_free (*(SLang_BString_Type **) s);
+}
+
+static int bstring_push (unsigned char unused, VOID_STAR sptr)
+{
+ (void) unused;
+
+ return SLang_push_bstring (*(SLang_BString_Type **) sptr);
+}
+
+static int string_to_bstring (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ char **s;
+ SLang_BString_Type **b;
+
+ (void) a_type;
+ (void) b_type;
+
+ s = (char **) ap;
+ b = (SLang_BString_Type **) bp;
+
+ if (NULL == make_n_bstrings (b, s, na, IS_SLSTRING))
+ return -1;
+
+ return 1;
+}
+
+static int bstring_to_string (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ char **s;
+ unsigned int i;
+ SLang_BString_Type **a;
+
+ (void) a_type;
+ (void) b_type;
+
+ s = (char **) bp;
+ a = (SLang_BString_Type **) ap;
+
+ for (i = 0; i < na; i++)
+ {
+ SLang_BString_Type *ai = a[i];
+
+ if (ai == NULL)
+ {
+ s[i] = NULL;
+ continue;
+ }
+
+ if (NULL == (s[i] = SLang_create_slstring ((char *)BS_GET_POINTER(ai))))
+ {
+ while (i != 0)
+ {
+ i--;
+ SLang_free_slstring (s[i]);
+ s[i] = NULL;
+ }
+ return -1;
+ }
+ }
+
+ return 1;
+}
+
+static char *bstring_string (unsigned char type, VOID_STAR v)
+{
+ SLang_BString_Type *s;
+ unsigned char buf[128];
+ unsigned char *bytes, *bytes_max;
+ unsigned char *b, *bmax;
+
+ (void) type;
+
+ s = *(SLang_BString_Type **) v;
+ bytes = BS_GET_POINTER(s);
+ bytes_max = bytes + s->len;
+
+ b = buf;
+ bmax = buf + (sizeof (buf) - 4);
+
+ while (bytes < bytes_max)
+ {
+ unsigned char ch = *bytes;
+
+ if ((ch < 32) || (ch >= 127) || (ch == '\\'))
+ {
+ if (b + 4 > bmax)
+ break;
+
+ sprintf ((char *) b, "\\%03o", ch);
+ b += 4;
+ }
+ else
+ {
+ if (b == bmax)
+ break;
+
+ *b++ = ch;
+ }
+
+ bytes++;
+ }
+
+ if (bytes < bytes_max)
+ {
+ *b++ = '.';
+ *b++ = '.';
+ *b++ = '.';
+ }
+ *b = 0;
+
+ return SLmake_string ((char *)buf);
+}
+
+static unsigned int bstrlen_cmd (SLang_BString_Type *b)
+{
+ return b->len;
+}
+
+static SLang_Intrin_Fun_Type BString_Table [] = /*{{{*/
+{
+ MAKE_INTRINSIC_1("bstrlen", bstrlen_cmd, SLANG_UINT_TYPE, SLANG_BSTRING_TYPE),
+ MAKE_INTRINSIC_0("pack", _SLpack, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_2("unpack", _SLunpack, SLANG_VOID_TYPE, SLANG_STRING_TYPE, SLANG_BSTRING_TYPE),
+ MAKE_INTRINSIC_1("pad_pack_format", _SLpack_pad_format, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
+ MAKE_INTRINSIC_1("sizeof_pack", _SLpack_compute_size, SLANG_UINT_TYPE, SLANG_STRING_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int _SLang_init_bstring (void)
+{
+ SLang_Class_Type *cl;
+
+ if (NULL == (cl = SLclass_allocate_class ("BString_Type")))
+ return -1;
+ (void) SLclass_set_destroy_function (cl, bstring_destroy);
+ (void) SLclass_set_push_function (cl, bstring_push);
+ (void) SLclass_set_string_function (cl, bstring_string);
+
+ if (-1 == SLclass_register_class (cl, SLANG_BSTRING_TYPE, sizeof (char *),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ if ((-1 == SLclass_add_typecast (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_to_string, 1))
+ || (-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_to_bstring, 1))
+ || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_BSTRING_TYPE, bstring_bstring_bin_op, bstring_bstring_bin_op_result))
+ || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_BSTRING_TYPE, string_bstring_bin_op, bstring_bstring_bin_op_result))
+ || (-1 == SLclass_add_binary_op (SLANG_BSTRING_TYPE, SLANG_STRING_TYPE, bstring_string_bin_op, bstring_bstring_bin_op_result)))
+
+ return -1;
+
+ if (-1 == SLadd_intrin_fun_table (BString_Table, NULL))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slclass.c b/mdk-stage1/slang/slclass.c
new file mode 100644
index 000000000..733888cb8
--- /dev/null
+++ b/mdk-stage1/slang/slclass.c
@@ -0,0 +1,1391 @@
+/* User defined objects */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+unsigned char _SLclass_Class_Type [256];
+#endif
+
+static SLang_Class_Type *Registered_Types[256];
+SLang_Class_Type *_SLclass_get_class (unsigned char type)
+{
+ SLang_Class_Type *cl;
+
+ cl = Registered_Types [type];
+ if (cl == NULL)
+ SLang_exit_error ("Application error: Type %d not registered", (int) type);
+
+ return cl;
+}
+
+int SLclass_is_class_defined (unsigned char type)
+{
+ return (NULL != Registered_Types[type]);
+}
+
+VOID_STAR _SLclass_get_ptr_to_value (SLang_Class_Type *cl,
+ SLang_Object_Type *obj)
+{
+ VOID_STAR p;
+
+ switch (cl->cl_class_type)
+ {
+ case SLANG_CLASS_TYPE_MMT:
+ case SLANG_CLASS_TYPE_PTR:
+ case SLANG_CLASS_TYPE_SCALAR:
+ p = (VOID_STAR) &obj->v;
+ break;
+
+ case SLANG_CLASS_TYPE_VECTOR:
+ p = obj->v.ptr_val;
+ break;
+
+ default:
+ p = NULL;
+ }
+ return p;
+}
+
+char *SLclass_get_datatype_name (unsigned char stype)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (stype);
+ return cl->cl_name;
+}
+
+static int method_undefined_error (unsigned char type, char *method, char *name)
+{
+ if (name == NULL) name = SLclass_get_datatype_name (type);
+
+ SLang_verror (SL_TYPE_MISMATCH, "%s method not defined for %s",
+ method, name);
+ return -1;
+}
+
+static int
+scalar_vector_bin_op_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ (void) a; (void) b;
+ switch (op)
+ {
+ case SLANG_NE:
+ case SLANG_EQ:
+ *c = SLANG_INT_TYPE;
+ return 1;
+ }
+ return 0;
+}
+
+static int
+scalar_vector_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ int *c;
+ char *a, *b;
+ unsigned int da, db;
+ unsigned int n, n_max;
+ unsigned int data_type_len;
+ SLang_Class_Type *cl;
+
+ (void) b_type;
+ cl = _SLclass_get_class (a_type);
+
+ data_type_len = cl->cl_sizeof_type;
+
+ a = (char *) ap;
+ b = (char *) bp;
+ c = (int *) cp;
+
+ if (na == 1) da = 0; else da = data_type_len;
+ if (nb == 1) db = 0; else db = data_type_len;
+ if (na > nb) n_max = na; else n_max = nb;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_NE:
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (0 != SLMEMCMP(a, b, data_type_len));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ:
+ for (n = 0; n < n_max; n++)
+ {
+ c[n] = (0 == SLMEMCMP(a, b, data_type_len));
+ a += da; b += db;
+ }
+ break;
+ }
+ return 1;
+}
+
+static int scalar_fread (unsigned char type, FILE *fp, VOID_STAR ptr,
+ unsigned int desired, unsigned int *actual)
+{
+ unsigned int n;
+
+ n = fread ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
+ desired, fp);
+ *actual = n;
+ return 0;
+}
+
+static int scalar_fwrite (unsigned char type, FILE *fp, VOID_STAR ptr,
+ unsigned int desired, unsigned int *actual)
+{
+ unsigned int n;
+
+ n = fwrite ((char *) ptr, _SLclass_get_class (type)->cl_sizeof_type,
+ desired, fp);
+ *actual = n;
+ return 0;
+}
+
+static int vector_apush (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ return (*cl->cl_push)(type, (VOID_STAR) &ptr);
+}
+
+static int vector_apop (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ return (*cl->cl_pop)(type, (VOID_STAR) &ptr);
+}
+
+static int default_push_mmt (unsigned char type_unused, VOID_STAR ptr)
+{
+ SLang_MMT_Type *ref;
+
+ (void) type_unused;
+ ref = *(SLang_MMT_Type **) ptr;
+ return SLang_push_mmt (ref);
+}
+
+static void default_destroy_simple (unsigned char type_unused, VOID_STAR ptr_unused)
+{
+ (void) type_unused;
+ (void) ptr_unused;
+}
+
+static void default_destroy_user (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ SLang_free_mmt (*(SLang_MMT_Type **) ptr);
+}
+
+static int default_pop (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_pop_ptr_obj (type, (VOID_STAR *) ptr);
+}
+
+static int default_datatype_deref (unsigned char type)
+{
+ return method_undefined_error (type, "datatype_deref", NULL);
+}
+
+static int default_acopy (unsigned char type, VOID_STAR from, VOID_STAR to)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ if (-1 == (*cl->cl_apush) (type, from))
+ return -1;
+ return (*cl->cl_apop) (type, to);
+}
+
+static int default_dereference_object (unsigned char type, VOID_STAR ptr)
+{
+ (void) ptr;
+ return method_undefined_error (type, "dereference", NULL);
+}
+
+static char *default_string (unsigned char stype, VOID_STAR v)
+{
+ char buf [256];
+ char *s;
+#if SLANG_HAS_COMPLEX
+ double *cplx;
+#endif
+ s = buf;
+
+ switch (stype)
+ {
+ case SLANG_STRING_TYPE:
+ s = *(char **) v;
+ break;
+
+ case SLANG_NULL_TYPE:
+ s = "NULL";
+ break;
+
+ case SLANG_DATATYPE_TYPE:
+ s = SLclass_get_datatype_name ((unsigned char) *(int *)v);
+ break;
+
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ cplx = *(double **) v;
+ if (cplx[1] < 0)
+ sprintf (s, "(%g - %gi)", cplx [0], -cplx [1]);
+ else
+ sprintf (s, "(%g + %gi)", cplx [0], cplx [1]);
+ break;
+#endif
+ default:
+ s = SLclass_get_datatype_name (stype);
+ }
+
+ return SLmake_string (s);
+}
+
+static int
+use_cmp_bin_op_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ if (a != b)
+ return 0;
+ switch (op)
+ {
+ case SLANG_NE:
+ case SLANG_EQ:
+ case SLANG_LT:
+ case SLANG_LE:
+ case SLANG_GT:
+ case SLANG_GE:
+ *c = SLANG_INT_TYPE;
+ return 1;
+ }
+ return 0;
+}
+
+static int
+use_cmp_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ int *c;
+ char *a, *b;
+ unsigned int da, db;
+ unsigned int n, n_max;
+ unsigned int data_type_len;
+ SLang_Class_Type *cl;
+ int (*cmp)(unsigned char, VOID_STAR, VOID_STAR, int *);
+
+ (void) b_type;
+ cl = _SLclass_get_class (a_type);
+ cmp = cl->cl_cmp;
+ data_type_len = cl->cl_sizeof_type;
+
+ a = (char *) ap;
+ b = (char *) bp;
+ c = (int *) cp;
+
+ if (na == 1) da = 0; else da = data_type_len;
+ if (nb == 1) db = 0; else db = data_type_len;
+ if (na > nb) n_max = na; else n_max = nb;
+
+ switch (op)
+ {
+ int result;
+
+ default:
+ return 0;
+
+ case SLANG_NE:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result != 0);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result == 0);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_GT:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result > 0);
+ a += da; b += db;
+ }
+ break;
+ case SLANG_GE:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result >= 0);
+ a += da; b += db;
+ }
+ break;
+ case SLANG_LT:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result < 0);
+ a += da; b += db;
+ }
+ break;
+ case SLANG_LE:
+ for (n = 0; n < n_max; n++)
+ {
+ if (-1 == (*cmp) (a_type, (VOID_STAR)a, (VOID_STAR)b, &result))
+ return -1;
+ c[n] = (result <= 0);
+ a += da; b += db;
+ }
+ break;
+ }
+ return 1;
+}
+
+
+int SLclass_get_class_id (SLang_Class_Type *cl)
+{
+ if (cl == NULL)
+ return -1;
+ return (int) cl->cl_data_type;
+}
+
+SLang_Class_Type *SLclass_allocate_class (char *name)
+{
+ SLang_Class_Type *cl;
+ unsigned int i;
+
+ for (i = 0; i < 256; i++)
+ {
+ cl = Registered_Types [i];
+ if ((cl != NULL)
+ && (0 == strcmp (cl->cl_name, name)))
+ {
+ SLang_verror (SL_DUPLICATE_DEFINITION, "Type name %s already exists", name);
+ return NULL;
+ }
+ }
+
+ cl = (SLang_Class_Type *) SLmalloc (sizeof (SLang_Class_Type));
+ if (cl == NULL) return NULL;
+
+ SLMEMSET ((char *) cl, 0, sizeof (SLang_Class_Type));
+
+ if (NULL == (cl->cl_name = SLang_create_slstring (name)))
+ {
+ SLfree ((char *) cl);
+ return NULL;
+ }
+
+ return cl;
+}
+
+static int DataType_Ids [256];
+
+int _SLang_push_datatype (unsigned char data_type)
+{
+ /* This data type could be a copy of another type, e.g., short and
+ * int if they are the same size (Int16 == Short). So, make sure
+ * we push the original and not the copy.
+ */
+ data_type = _SLclass_get_class (data_type)->cl_data_type;
+ return SLclass_push_int_obj (SLANG_DATATYPE_TYPE, (int) data_type);
+}
+
+static int datatype_deref (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Class_Type *cl;
+ int status;
+
+ /* The parser generated code for this as if a function call were to be
+ * made. However, we are calling the deref object routine
+ * instead of the function call. So, I must simulate the function call.
+ */
+ if (-1 == _SL_increment_frame_pointer ())
+ return -1;
+
+ type = (unsigned char) *(int *) ptr;
+ cl = _SLclass_get_class (type);
+ status = (*cl->cl_datatype_deref) (type);
+
+ (void) _SL_decrement_frame_pointer ();
+ return status;
+}
+
+static int datatype_push (unsigned char type_unused, VOID_STAR ptr)
+{
+ (void) type_unused;
+ return _SLang_push_datatype (*(int *) ptr);
+}
+
+int _SLang_pop_datatype (unsigned char *type)
+{
+ int i;
+
+ if (-1 == SLclass_pop_int_obj (SLANG_DATATYPE_TYPE, &i))
+ return -1;
+
+ *type = (unsigned char) i;
+ return 0;
+}
+
+static int datatype_pop (unsigned char type, VOID_STAR ptr)
+{
+ if (-1 == _SLang_pop_datatype (&type))
+ return -1;
+
+ *(int *) ptr = type;
+ return 0;
+}
+
+int _SLclass_init (void)
+{
+ SLang_Class_Type *cl;
+
+ /* First initialize the container classes. This is so binary operations
+ * added later will work with them.
+ */
+ if (-1 == _SLarray_init_slarray ())
+ return -1;
+
+ /* DataType_Type */
+ if (NULL == (cl = SLclass_allocate_class ("DataType_Type")))
+ return -1;
+ cl->cl_pop = datatype_pop;
+ cl->cl_push = datatype_push;
+ cl->cl_dereference = datatype_deref;
+ if (-1 == SLclass_register_class (cl, SLANG_DATATYPE_TYPE, sizeof(int),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+
+ return 0;
+}
+
+static int register_new_datatype (char *name, unsigned char type)
+{
+ DataType_Ids [type] = type;
+ return SLadd_intrinsic_variable (name, (VOID_STAR) (DataType_Ids + type),
+ SLANG_DATATYPE_TYPE, 1);
+}
+
+int SLclass_create_synonym (char *name, unsigned char type)
+{
+ if (NULL == _SLclass_get_class (type))
+ return -1;
+
+ return register_new_datatype (name, type);
+}
+
+int _SLclass_copy_class (unsigned char to, unsigned char from)
+{
+ SLang_Class_Type *cl = _SLclass_get_class (from);
+
+ if (Registered_Types[to] != NULL)
+ SLang_exit_error ("Application error: Class already exists");
+
+ Registered_Types[to] = cl;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (to != SLANG_UNDEFINED_TYPE)
+ _SLclass_Class_Type [to] = cl->cl_class_type;
+#endif
+ return 0;
+}
+
+int SLclass_register_class (SLang_Class_Type *cl, unsigned char type, unsigned int type_size, unsigned char class_type)
+{
+ char *name;
+ unsigned int i;
+ int can_binop = 1; /* scalar_vector_bin_op should work
+ * for all data types.
+ */
+
+ if (type == SLANG_VOID_TYPE) for (i = 0; i < 256; i++)
+ {
+ if ((Registered_Types[i] == NULL)
+ && (i != SLANG_VOID_TYPE))
+ {
+ type = (unsigned char) i;
+ break;
+ }
+ }
+
+ if ((NULL != Registered_Types [type])
+ || (type == SLANG_VOID_TYPE))
+ {
+ SLang_verror (SL_APPLICATION_ERROR, "Class type %d already in use", (int) type);
+ return -1;
+ }
+
+ cl->cl_data_type = type;
+ cl->cl_class_type = class_type;
+ name = cl->cl_name;
+
+ switch (class_type)
+ {
+ case SLANG_CLASS_TYPE_MMT:
+ if (cl->cl_push == NULL) cl->cl_push = default_push_mmt;
+ if (cl->cl_destroy == NULL)
+ return method_undefined_error (type, "destroy", name);
+ cl->cl_user_destroy_fun = cl->cl_destroy;
+ cl->cl_destroy = default_destroy_user;
+ type_size = sizeof (VOID_STAR);
+ break;
+
+ case SLANG_CLASS_TYPE_SCALAR:
+ if (cl->cl_destroy == NULL) cl->cl_destroy = default_destroy_simple;
+ if ((type_size == 0)
+ || (type_size > sizeof (_SL_Object_Union_Type)))
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "Type size for %s not appropriate for SCALAR type",
+ name);
+ return -1;
+ }
+ if (cl->cl_pop == NULL)
+ return method_undefined_error (type, "pop", name);
+ if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
+ if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
+
+ can_binop = 1;
+ break;
+
+ case SLANG_CLASS_TYPE_PTR:
+ if (cl->cl_destroy == NULL)
+ return method_undefined_error (type, "destroy", name);
+ type_size = sizeof (VOID_STAR);
+ break;
+
+ case SLANG_CLASS_TYPE_VECTOR:
+ if (cl->cl_destroy == NULL)
+ return method_undefined_error (type, "destroy", name);
+ if (cl->cl_pop == NULL)
+ return method_undefined_error (type, "pop", name);
+ cl->cl_apop = vector_apop;
+ cl->cl_apush = vector_apush;
+ cl->cl_adestroy = default_destroy_simple;
+ if (cl->cl_fread == NULL) cl->cl_fread = scalar_fread;
+ if (cl->cl_fwrite == NULL) cl->cl_fwrite = scalar_fwrite;
+ can_binop = 1;
+ break;
+
+ default:
+ SLang_verror (SL_INVALID_PARM, "%s: unknown class type (%d)", name, class_type);
+ return -1;
+ }
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if (type != SLANG_UNDEFINED_TYPE)
+ _SLclass_Class_Type [type] = class_type;
+#endif
+
+ if (type_size == 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "type size must be non-zero for %s", name);
+ return -1;
+ }
+
+ if (cl->cl_string == NULL) cl->cl_string = default_string;
+ if (cl->cl_acopy == NULL) cl->cl_acopy = default_acopy;
+ if (cl->cl_datatype_deref == NULL) cl->cl_datatype_deref = default_datatype_deref;
+
+ if (cl->cl_pop == NULL) cl->cl_pop = default_pop;
+
+ if (cl->cl_push == NULL)
+ return method_undefined_error (type, "push", name);
+
+ if (cl->cl_byte_code_destroy == NULL)
+ cl->cl_byte_code_destroy = cl->cl_destroy;
+ if (cl->cl_push_literal == NULL)
+ cl->cl_push_literal = cl->cl_push;
+
+ if (cl->cl_dereference == NULL)
+ cl->cl_dereference = default_dereference_object;
+
+ if (cl->cl_apop == NULL) cl->cl_apop = cl->cl_pop;
+ if (cl->cl_apush == NULL) cl->cl_apush = cl->cl_push;
+ if (cl->cl_adestroy == NULL) cl->cl_adestroy = cl->cl_destroy;
+ if (cl->cl_push_intrinsic == NULL) cl->cl_push_intrinsic = cl->cl_push;
+
+ if ((cl->cl_foreach == NULL)
+ || (cl->cl_foreach_open == NULL)
+ || (cl->cl_foreach_close == NULL))
+ {
+ cl->cl_foreach = _SLarray_cl_foreach;
+ cl->cl_foreach_open = _SLarray_cl_foreach_open;
+ cl->cl_foreach_close = _SLarray_cl_foreach_close;
+ }
+
+ cl->cl_sizeof_type = type_size;
+
+ if (NULL == (cl->cl_transfer_buf = (VOID_STAR) SLmalloc (type_size)))
+ return -1;
+
+ Registered_Types[type] = cl;
+
+ if (-1 == register_new_datatype (name, type))
+ return -1;
+
+ if (cl->cl_cmp != NULL)
+ {
+ if (-1 == SLclass_add_binary_op (type, type, use_cmp_bin_op, use_cmp_bin_op_result))
+ return -1;
+ }
+ else if (can_binop
+ && (-1 == SLclass_add_binary_op (type, type, scalar_vector_bin_op, scalar_vector_bin_op_result)))
+ return -1;
+
+ cl->cl_anytype_typecast = _SLanytype_typecast;
+
+ return 0;
+}
+
+int SLclass_add_math_op (unsigned char type,
+ int (*handler)(int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*result) (int, unsigned char, unsigned char *))
+{
+ SLang_Class_Type *cl = _SLclass_get_class (type);
+
+ cl->cl_math_op = handler;
+ cl->cl_math_op_result_type = result;
+ return 0;
+}
+
+int SLclass_add_binary_op (unsigned char a, unsigned char b,
+ int (*f) (int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*r) (int, unsigned char, unsigned char, unsigned char *))
+{
+ SLang_Class_Type *cl;
+ SL_OOBinary_Type *ab;
+
+ if ((f == NULL) || (r == NULL))
+ {
+ SLang_verror (SL_INVALID_PARM, "SLclass_add_binary_op");
+ return -1;
+ }
+
+ cl = _SLclass_get_class (a);
+ (void) _SLclass_get_class (b);
+
+ if (NULL == (ab = (SL_OOBinary_Type *) SLmalloc (sizeof(SL_OOBinary_Type))))
+ return -1;
+
+ ab->data_type = b;
+ ab->binary_function = f;
+ ab->binary_result = r;
+ ab->next = cl->cl_binary_ops;
+ cl->cl_binary_ops = ab;
+
+ if ((a != SLANG_ARRAY_TYPE)
+ && (b != SLANG_ARRAY_TYPE))
+ {
+ if ((-1 == _SLarray_add_bin_op (a))
+ || (-1 == _SLarray_add_bin_op (b)))
+ return -1;
+ }
+
+ return 0;
+}
+
+int SLclass_add_unary_op (unsigned char type,
+ int (*f)(int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*r)(int, unsigned char, unsigned char *))
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ if ((f == NULL) || (r == NULL))
+ {
+ SLang_verror (SL_INVALID_PARM, "SLclass_add_unary_op");
+ return -1;
+ }
+
+ cl->cl_unary_op = f;
+ cl->cl_unary_op_result_type = r;
+
+ return 0;
+}
+
+int SLclass_add_app_unary_op (unsigned char type,
+ int (*f)(int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR),
+ int (*r)(int, unsigned char, unsigned char *))
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ if ((f == NULL) || (r == NULL))
+ {
+ SLang_verror (SL_INVALID_PARM, "SLclass_add_app_unary_op");
+ return -1;
+ }
+
+ cl->cl_app_unary_op = f;
+ cl->cl_app_unary_op_result_type = r;
+
+ return 0;
+}
+
+int SLclass_set_pop_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
+{
+ if (cl == NULL) return -1;
+ cl->cl_pop = f;
+
+ return 0;
+}
+
+int SLclass_set_push_function (SLang_Class_Type *cl, int (*f)(unsigned char, VOID_STAR))
+{
+ if (cl == NULL) return -1;
+ cl->cl_push = f;
+
+ return 0;
+}
+
+int SLclass_set_string_function (SLang_Class_Type *cl, char *(*f)(unsigned char, VOID_STAR))
+{
+ if (cl == NULL) return -1;
+
+ cl->cl_string = f;
+ return 0;
+}
+
+int SLclass_set_destroy_function (SLang_Class_Type *cl, void (*f)(unsigned char, VOID_STAR))
+{
+ if (cl == NULL) return -1;
+
+ cl->cl_destroy = f;
+ return 0;
+}
+
+int SLclass_set_sget_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
+{
+ if (cl == NULL) return -1;
+ cl->cl_sget = f;
+ return 0;
+}
+
+int SLclass_set_sput_function (SLang_Class_Type *cl, int (*f)(unsigned char, char *))
+{
+ if (cl == NULL) return -1;
+ cl->cl_sput = f;
+ return 0;
+}
+
+int SLclass_set_aget_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
+{
+ if (cl == NULL) return -1;
+ cl->cl_aget = f;
+ return 0;
+}
+
+int SLclass_set_aput_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
+{
+ if (cl == NULL) return -1;
+ cl->cl_aput = f;
+ return 0;
+}
+
+int SLclass_set_anew_function (SLang_Class_Type *cl, int (*f)(unsigned char, unsigned int))
+{
+ if (cl == NULL) return -1;
+ cl->cl_anew = f;
+ return 0;
+}
+
+/* Misc */
+void _SLclass_type_mismatch_error (unsigned char a, unsigned char b)
+{
+ SLang_verror (SL_TYPE_MISMATCH, "Expecting %s, found %s",
+ SLclass_get_datatype_name (a),
+ SLclass_get_datatype_name (b));
+}
+
+/* */
+
+static int null_binary_fun (int op,
+ unsigned char a, VOID_STAR ap, unsigned int na,
+ unsigned char b, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ int *ic;
+ unsigned int i;
+ int c;
+
+ (void) ap; (void) bp;
+
+ switch (op)
+ {
+ case SLANG_EQ:
+ c = (a == b);
+ break;
+
+ case SLANG_NE:
+ c = (a != b);
+ break;
+
+ default:
+ return 0;
+ }
+
+ if (na > nb) nb = na;
+ ic = (int *) cp;
+ for (i = 0; i < nb; i++)
+ ic[i] = c;
+
+ return 1;
+}
+
+static char *get_binary_op_string (int op)
+{
+ static char *ops[SLANG_MOD] =
+ {
+ "+", "=", "*", "/", "==", "!=", ">", ">=", "<", "<=", "^",
+ "or", "and", "&", "|", "xor", "shl", "shr", "mod"
+ };
+
+ if ((op > SLANG_MOD) || (op <= 0))
+ return "??";
+ return ops[op - 1];
+}
+
+int (*_SLclass_get_binary_fun (int op,
+ SLang_Class_Type *a_cl, SLang_Class_Type *b_cl,
+ SLang_Class_Type **c_cl, int do_error))
+(int,
+ unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR, unsigned int,
+ VOID_STAR)
+{
+ SL_OOBinary_Type *bt;
+ unsigned char a, b, c;
+
+ a = a_cl->cl_data_type;
+ b = b_cl->cl_data_type;
+
+ if ((a == SLANG_NULL_TYPE) || (b == SLANG_NULL_TYPE))
+ {
+ *c_cl = _SLclass_get_class (SLANG_INT_TYPE);
+ return null_binary_fun;
+ }
+
+ bt = a_cl->cl_binary_ops;
+
+ while (bt != NULL)
+ {
+ if (bt->data_type == b)
+ {
+ if (1 != (*bt->binary_result)(op, a, b, &c))
+ break;
+
+ if (c == a) *c_cl = a_cl;
+ else if (c == b) *c_cl = b_cl;
+ else *c_cl = _SLclass_get_class (c);
+
+ return bt->binary_function;
+ }
+
+ bt = bt->next;
+ }
+
+ if (do_error)
+ SLang_verror (SL_TYPE_MISMATCH, "%s %s %s is not possible",
+ a_cl->cl_name, get_binary_op_string (op), b_cl->cl_name);
+
+ *c_cl = NULL;
+ return NULL;
+}
+
+int (*_SLclass_get_unary_fun (int op,
+ SLang_Class_Type *a_cl,
+ SLang_Class_Type **b_cl,
+ int utype))
+(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR)
+{
+ int (*f)(int, unsigned char, VOID_STAR, unsigned int, VOID_STAR);
+ int (*r)(int, unsigned char, unsigned char *);
+ unsigned char a;
+ unsigned char b;
+
+ switch (utype)
+ {
+ case _SLANG_BC_UNARY:
+ f = a_cl->cl_unary_op;
+ r = a_cl->cl_unary_op_result_type;
+ break;
+
+ case _SLANG_BC_MATH_UNARY:
+ f = a_cl->cl_math_op;
+ r = a_cl->cl_math_op_result_type;
+ break;
+
+ case _SLANG_BC_APP_UNARY:
+ f = a_cl->cl_app_unary_op;
+ r = a_cl->cl_app_unary_op_result_type;
+ break;
+
+ default:
+ f = NULL;
+ r = NULL;
+ }
+
+ a = a_cl->cl_data_type;
+ if ((f != NULL) && (r != NULL) && (1 == (*r) (op, a, &b)))
+ {
+ if (a == b)
+ *b_cl = a_cl;
+ else
+ *b_cl = _SLclass_get_class (b);
+ return f;
+ }
+
+ SLang_verror (SL_TYPE_MISMATCH, "undefined unary operation/function on %s",
+ a_cl->cl_name);
+
+ *b_cl = NULL;
+
+ return NULL;
+}
+
+int
+SLclass_typecast (unsigned char to_type, int is_implicit, int allow_array)
+{
+ unsigned char from_type;
+ SLang_Class_Type *cl_to, *cl_from;
+ SLang_Object_Type obj;
+ VOID_STAR ap;
+ VOID_STAR bp;
+ int status;
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ from_type = obj.data_type;
+ if (from_type == to_type)
+ {
+ SLang_push (&obj);
+ return 0;
+ }
+
+ cl_from = _SLclass_get_class (from_type);
+
+ /* Since the typecast functions are designed to work on arrays,
+ * get the pointer to the value instead of just &obj.v.
+ */
+ ap = _SLclass_get_ptr_to_value (cl_from, &obj);
+
+ if ((from_type == SLANG_ARRAY_TYPE)
+ && (allow_array || (to_type != SLANG_ANY_TYPE)))
+ {
+ if (allow_array == 0)
+ goto return_error;
+
+ cl_to = _SLclass_get_class (SLANG_ARRAY_TYPE);
+ bp = cl_to->cl_transfer_buf;
+ status = _SLarray_typecast (from_type, ap, 1, to_type, bp, is_implicit);
+ }
+ else
+ {
+ int (*t) (unsigned char, VOID_STAR, unsigned int, unsigned char, VOID_STAR);
+
+ if (NULL == (t = _SLclass_get_typecast (from_type, to_type, is_implicit)))
+ {
+ SLang_free_object (&obj);
+ return -1;
+ }
+
+ cl_to = _SLclass_get_class (to_type);
+ bp = cl_to->cl_transfer_buf;
+ status = (*t) (from_type, ap, 1, to_type, bp);
+ }
+
+ if (1 == status)
+ {
+ if (-1 == (*cl_to->cl_apush)(to_type, bp))
+ {
+ (*cl_to->cl_adestroy) (to_type, bp);
+ SLang_free_object (&obj);
+ return -1;
+ }
+
+ /* cl_apush will push a copy, so destry this one */
+ (*cl_to->cl_adestroy) (to_type, bp);
+ SLang_free_object (&obj);
+ return 0;
+ }
+
+ return_error:
+
+ SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
+ cl_from->cl_name,
+ SLclass_get_datatype_name (to_type));
+ SLang_free_object (&obj);
+ return -1;
+}
+
+int (*_SLclass_get_typecast (unsigned char from, unsigned char to, int is_implicit))
+(unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR)
+{
+ SL_Typecast_Type *t;
+ SLang_Class_Type *cl_from;
+
+ cl_from = _SLclass_get_class (from);
+
+ t = cl_from->cl_typecast_funs;
+ while (t != NULL)
+ {
+ if (t->data_type != to)
+ {
+ t = t->next;
+ continue;
+ }
+
+ if (is_implicit && (t->allow_implicit == 0))
+ break;
+
+ return t->typecast;
+ }
+
+ if (to == SLANG_ANY_TYPE)
+ return _SLanytype_typecast;
+
+ if ((is_implicit == 0)
+ && (cl_from->cl_void_typecast != NULL))
+ return cl_from->cl_void_typecast;
+
+ SLang_verror (SL_TYPE_MISMATCH, "Unable to typecast %s to %s",
+ cl_from->cl_name,
+ SLclass_get_datatype_name (to));
+
+ return NULL;
+}
+
+int
+SLclass_add_typecast (unsigned char from, unsigned char to,
+ int (*f)_PROTO((unsigned char, VOID_STAR, unsigned int,
+ unsigned char, VOID_STAR)),
+ int allow_implicit)
+{
+ SL_Typecast_Type *t;
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (from);
+ if (to == SLANG_VOID_TYPE)
+ {
+ cl->cl_void_typecast = f;
+ return 0;
+ }
+
+ (void) _SLclass_get_class (to);
+
+ if (NULL == (t = (SL_Typecast_Type *) SLmalloc (sizeof (SL_Typecast_Type))))
+ return -1;
+
+ SLMEMSET((char *) t, 0, sizeof(SL_Typecast_Type));
+ t->data_type = to;
+ t->next = cl->cl_typecast_funs;
+ t->typecast = f;
+ t->allow_implicit = allow_implicit;
+
+ cl->cl_typecast_funs = t;
+
+ return 0;
+}
+
+SLang_MMT_Type *SLang_pop_mmt (unsigned char type) /*{{{*/
+{
+ SLang_MMT_Type *mmt;
+
+ if (-1 == SLclass_pop_ptr_obj (type, (VOID_STAR *) &mmt))
+ mmt = NULL;
+ return mmt;
+
+#if 0
+ SLang_Object_Type obj;
+ SLang_Class_Type *cl;
+
+ if (_SLang_pop_object_of_type (type, &obj))
+ return NULL;
+
+ cl = _SLclass_get_class (type);
+ if ((cl->cl_class_type == SLANG_CLASS_TYPE_MMT)
+ && (obj.data_type == type))
+ {
+ return obj.v.ref;
+ }
+
+ _SLclass_type_mismatch_error (type, obj.data_type);
+ SLang_free_object (&obj);
+ return NULL;
+#endif
+}
+
+/*}}}*/
+
+int SLang_push_mmt (SLang_MMT_Type *ref) /*{{{*/
+{
+ if (ref == NULL)
+ return SLang_push_null ();
+
+ ref->count += 1;
+
+ if (0 == SLclass_push_ptr_obj (ref->data_type, (VOID_STAR) ref))
+ return 0;
+
+ ref->count -= 1;
+ return -1;
+}
+
+/*}}}*/
+
+void SLang_inc_mmt (SLang_MMT_Type *ref)
+{
+ if (ref != NULL)
+ ref->count += 1;
+}
+
+VOID_STAR SLang_object_from_mmt (SLang_MMT_Type *ref)
+{
+ if (ref == NULL)
+ return NULL;
+
+ return ref->user_data;
+}
+
+SLang_MMT_Type *SLang_create_mmt (unsigned char t, VOID_STAR p)
+{
+ SLang_MMT_Type *ref;
+
+ (void) _SLclass_get_class (t); /* check to see if it is registered */
+
+ if (NULL == (ref = (SLang_MMT_Type *) SLmalloc (sizeof (SLang_MMT_Type))))
+ return NULL;
+
+ SLMEMSET ((char *) ref, 0, sizeof (SLang_MMT_Type));
+
+ ref->data_type = t;
+ ref->user_data = p;
+ /* FIXME!! To be consistent with other types, the reference count should
+ * be set to 1 here. However, doing so will require other code changes
+ * involving the use of MMTs. For instance, SLang_free_mmt would have
+ * to be called after every push of the MMT.
+ */
+ return ref;
+}
+
+void SLang_free_mmt (SLang_MMT_Type *ref)
+{
+ unsigned char type;
+ SLang_Class_Type *cl;
+
+ if (ref == NULL)
+ return;
+
+ /* This can be zero if SLang_create_mmt is called followed
+ * by this routine before anything gets a chance to attach itself
+ * to it.
+ */
+ if (ref->count > 1)
+ {
+ ref->count -= 1;
+ return;
+ }
+
+ type = ref->data_type;
+ cl = _SLclass_get_class (type);
+ (*cl->cl_user_destroy_fun) (type, ref->user_data);
+ SLfree ((char *)ref);
+}
+
+int SLang_push_value (unsigned char type, VOID_STAR v)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ return (*cl->cl_apush)(type, v);
+}
+
+int SLang_pop_value (unsigned char type, VOID_STAR v)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ return (*cl->cl_apop)(type, v);
+}
+
+void SLang_free_value (unsigned char type, VOID_STAR v)
+{
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+ (*cl->cl_adestroy) (type, v);
+}
+
+/* These routines are very low-level and are designed for application data
+ * types to access the stack from their push/pop methods. The int and
+ * pointer versions are in slang.c
+ */
+#if SLANG_HAS_FLOAT
+int SLclass_push_double_obj (unsigned char type, double x)
+{
+ SLang_Object_Type obj;
+ obj.data_type = type;
+ obj.v.double_val = x;
+ return SLang_push (&obj);
+}
+int SLclass_push_float_obj (unsigned char type, float x)
+{
+ SLang_Object_Type obj;
+ obj.data_type = type;
+ obj.v.float_val = x;
+ return SLang_push (&obj);
+}
+
+#endif
+
+int SLclass_push_long_obj (unsigned char type, long x)
+{
+ SLang_Object_Type obj;
+ obj.data_type = type;
+ obj.v.long_val = x;
+ return SLang_push (&obj);
+}
+
+int SLclass_push_short_obj (unsigned char type, short x)
+{
+ SLang_Object_Type obj;
+ obj.data_type = type;
+ obj.v.short_val = x;
+ return SLang_push (&obj);
+}
+
+int SLclass_push_char_obj (unsigned char type, char x)
+{
+ SLang_Object_Type obj;
+ obj.data_type = type;
+ obj.v.char_val = x;
+ return SLang_push (&obj);
+}
+
+#if SLANG_HAS_FLOAT
+int SLclass_pop_double_obj (unsigned char type, double *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.double_val;
+ return 0;
+}
+
+int SLclass_pop_float_obj (unsigned char type, float *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.float_val;
+ return 0;
+}
+#endif
+
+int SLclass_pop_long_obj (unsigned char type, long *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.long_val;
+ return 0;
+}
+
+int SLclass_pop_int_obj (unsigned char type, int *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.int_val;
+ return 0;
+}
+
+int SLclass_pop_short_obj (unsigned char type, short *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.short_val;
+ return 0;
+}
+
+int SLclass_pop_char_obj (unsigned char type, char *x)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ return -1;
+
+ *x = obj.v.char_val;
+ return 0;
+}
+
+int SLclass_pop_ptr_obj (unsigned char type, VOID_STAR *s)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == _SLang_pop_object_of_type (type, &obj, 0))
+ {
+ *s = (VOID_STAR) NULL;
+ return -1;
+ }
+ *s = obj.v.ptr_val;
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slcmd.c b/mdk-stage1/slang/slcmd.c
new file mode 100644
index 000000000..4a00a90fc
--- /dev/null
+++ b/mdk-stage1/slang/slcmd.c
@@ -0,0 +1,351 @@
+/* cmd line facility for slang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#if SLANG_HAS_FLOAT
+# include <math.h>
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifndef HAVE_STDLIB_H
+/* Oh dear. Where is the prototype for atof? If not in stdlib, then
+ * I do not know where. Not in math.h onsome systems either.
+ */
+extern double atof ();
+#endif
+
+static SLcmd_Cmd_Type *SLcmd_find_command (char *s, SLcmd_Cmd_Type *cmd)
+{
+ char *cmdstr;
+ char chs = *s++, ch;
+
+ while ((cmd->cmdfun != NULL)
+ && (NULL != (cmdstr = cmd->cmd))
+ && (0 != (ch = *cmdstr++)))
+ {
+ if ((ch == chs) && !strcmp (s, cmdstr)) return cmd;
+ cmd++;
+ }
+ return NULL;
+}
+
+static int extract_token (char **strptr, char *buf)
+{
+ char *s, *b;
+ char ch, quote;
+
+ *buf = 0;
+
+ s = *strptr;
+ while (((ch = *s) != 0)
+ && ((ch == ' ') || (ch == '\t') || (ch == '\n')))
+ s++;
+
+ *strptr = s;
+
+ if (ch == 0) return 0;
+ if (ch == '%') return 0;
+
+ b = buf;
+
+ *b++ = ch;
+ s++;
+
+ if ((ch == '\'') || (ch == '"'))
+ {
+ quote = ch;
+ while ((ch = *s) != 0)
+ {
+ s++;
+ *b++ = ch;
+ if (ch == quote)
+ break;
+
+ if (ch == '\\')
+ {
+ if (0 == (ch = *s))
+ break;
+ *b++ = ch;
+ s++;
+ }
+ }
+ *strptr = s;
+ *b = 0;
+ return 1;
+ }
+
+ while (((ch = *s) != 0)
+ && (ch != ' ')
+ && (ch != '\t')
+ && (ch != '\n')
+ && (ch != '%'))
+ *b++ = *s++;
+
+ *strptr = s;
+ *b = 0;
+ return 1;
+}
+
+static int allocate_arg_space (SLcmd_Cmd_Table_Type *table, int argc, unsigned int *space_ptr)
+{
+ unsigned int space = *space_ptr;
+ char *p;
+
+ if (argc + 1 < (int) space)
+ return 0;
+
+ if (space > 128)
+ {
+ if (space > 1024) space += 1024;
+ else space += 128;
+ }
+ else space += 32;
+
+ if (NULL == (p = SLrealloc ((char *)table->string_args, space * sizeof (char *))))
+ return -1;
+ table->string_args = (char **)p;
+ table->string_args [argc] = NULL;
+
+ if (NULL == (p = SLrealloc ((char *)table->int_args, space * sizeof (int))))
+ return -1;
+ table->int_args = (int *)p;
+
+ if (NULL == (p = SLrealloc ((char *)table->double_args, space * sizeof (double))))
+ return -1;
+ table->double_args = (double *)p;
+
+ if (NULL == (p = SLrealloc ((char *)table->arg_type, space * sizeof (unsigned char))))
+ return -1;
+ table->arg_type = (unsigned char *)p;
+
+ *space_ptr = space;
+ return 0;
+}
+
+int SLcmd_execute_string (char *str, SLcmd_Cmd_Table_Type *table)
+{
+ char *s, *b = NULL, *arg_type, *last_str, *cmd_name;
+ SLcmd_Cmd_Type *cmd;
+ char *buf;
+ int token_present;
+ int i;
+ int status;
+ unsigned int len;
+ int argc;
+ unsigned int space;
+
+ table->argc = 0;
+ table->string_args = NULL;
+ table->int_args = NULL;
+ table->double_args = NULL;
+ table->arg_type = NULL;
+
+ buf = SLmake_string (str);
+ if (buf == NULL)
+ return -1;
+
+ status = extract_token (&str, buf);
+ if (status <= 0)
+ {
+ SLfree (buf);
+ return status;
+ }
+
+ if (((len = strlen (buf)) >= 32)
+ || (NULL == (cmd = SLcmd_find_command (buf, table->table))))
+ {
+ SLang_verror (SL_UNDEFINED_NAME,"%s: invalid command", buf);
+ SLfree (buf);
+ return -1;
+ }
+
+ if (NULL == (cmd_name = SLmake_string (buf)))
+ {
+ SLfree (buf);
+ return -1;
+ }
+
+ space = 0;
+ argc = 0;
+ if (-1 == allocate_arg_space (table, argc, &space))
+ {
+ SLfree (buf);
+ return -1;
+ }
+ table->arg_type[argc] = SLANG_STRING_TYPE;
+ table->string_args[argc++] = cmd_name;
+
+ arg_type = cmd->arg_type;
+ status = -1;
+ while (*arg_type)
+ {
+ int guess_type = 0;
+
+ last_str = str;
+
+ if (-1 == allocate_arg_space (table, argc, &space))
+ goto error;
+
+ if (-1 == (token_present = extract_token (&str, buf)))
+ goto error;
+
+ table->string_args[argc] = NULL;
+
+ if (token_present)
+ {
+ b = buf;
+ len = strlen (b);
+
+ if ((*b == '"') && (len > 1))
+ {
+ b++;
+ len -= 2;
+ b[len] = 0;
+ guess_type = SLANG_STRING_TYPE;
+ SLexpand_escaped_string (buf, b, b + len);
+ len = strlen (buf);
+ }
+ else if ((*b == '\'') && (len > 1))
+ {
+ char ch;
+ b++;
+ len -= 2;
+ b[len] = 0;
+ guess_type = SLANG_INT_TYPE;
+ ch = *b;
+ if (ch == '\\')
+ (void) _SLexpand_escaped_char (b, &ch);
+ sprintf (buf, "%d", (unsigned char) ch);
+ len = strlen (buf);
+ }
+ else guess_type = SLang_guess_type (buf);
+ }
+
+ switch (*arg_type++)
+ {
+ /* variable argument number */
+ case 'v':
+ if (token_present == 0) break;
+ case 'V':
+ if (token_present == 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "%s: Expecting argument", cmd_name);
+ goto error;
+ }
+
+ while (*last_str == ' ') last_str++;
+ len = strlen (last_str);
+ str = last_str + len;
+
+ s = SLmake_nstring (last_str, len);
+ if (s == NULL) goto error;
+
+ table->arg_type[argc] = SLANG_STRING_TYPE;
+ table->string_args[argc++] = s;
+ break;
+
+ case 's':
+ if (token_present == 0) break;
+ case 'S':
+ if (token_present == 0)
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting string argument", cmd_name);
+ goto error;
+ }
+
+ s = SLmake_nstring (buf, len);
+ if (s == NULL) goto error;
+ table->arg_type[argc] = SLANG_STRING_TYPE;
+ table->string_args[argc++] = s;
+ break;
+
+ /* integer argument */
+ case 'i':
+ if (token_present == 0) break;
+ case 'I':
+ if ((token_present == 0) || (SLANG_INT_TYPE != guess_type))
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting integer argument", cmd_name);
+ goto error;
+ }
+
+ table->arg_type[argc] = SLANG_INT_TYPE;
+ table->int_args[argc++] = SLatoi((unsigned char *) buf);
+ break;
+
+ /* floating point arg */
+#if SLANG_HAS_FLOAT
+ case 'f':
+ if (token_present == 0) break;
+ case 'F':
+ if ((token_present == 0) || (SLANG_STRING_TYPE == guess_type))
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting double argument", cmd_name);
+ goto error;
+ }
+ table->arg_type[argc] = SLANG_DOUBLE_TYPE;
+ table->double_args[argc++] = atof(buf);
+ break;
+#endif
+ /* Generic type */
+ case 'g':
+ if (token_present == 0) break;
+ case 'G':
+ if (token_present == 0)
+ {
+ SLang_verror (SL_TYPE_MISMATCH, "%s: Expecting argument", cmd_name);
+ goto error;
+ }
+
+ switch (guess_type)
+ {
+ case SLANG_INT_TYPE:
+ table->arg_type[argc] = SLANG_INT_TYPE;
+ table->int_args[argc++] = SLatoi((unsigned char *) buf);
+ break;
+
+ case SLANG_STRING_TYPE:
+ s = SLmake_nstring (buf, len);
+ if (s == NULL) goto error;
+
+ table->arg_type[argc] = SLANG_STRING_TYPE;
+ table->string_args[argc++] = s;
+ break;
+#if SLANG_HAS_FLOAT
+ case SLANG_DOUBLE_TYPE:
+ table->arg_type[argc] = SLANG_DOUBLE_TYPE;
+ table->double_args[argc++] = atof(buf);
+#endif
+ }
+ break;
+ }
+ }
+
+ /* call function */
+ status = (*cmd->cmdfun)(argc, table);
+
+ error:
+ if (table->string_args != NULL) for (i = 0; i < argc; i++)
+ {
+ if (NULL != table->string_args[i])
+ {
+ SLfree (table->string_args[i]);
+ table->string_args[i] = NULL;
+ }
+ }
+ SLfree ((char *)table->string_args); table->string_args = NULL;
+ SLfree ((char *)table->double_args); table->double_args = NULL;
+ SLfree ((char *)table->int_args); table->int_args = NULL;
+ SLfree ((char *)table->arg_type); table->arg_type = NULL;
+
+ SLfree (buf);
+ return status;
+}
+
diff --git a/mdk-stage1/slang/slcmplex.c b/mdk-stage1/slang/slcmplex.c
new file mode 100644
index 000000000..b210dfc04
--- /dev/null
+++ b/mdk-stage1/slang/slcmplex.c
@@ -0,0 +1,1142 @@
+/* Complex Data Type definition for S-Lang */
+/* Copyright (c) 1997, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/* The rest of the file is enclosed in this #if */
+#if SLANG_HAS_COMPLEX
+
+#if SLANG_HAS_FLOAT
+# include <math.h>
+#endif
+
+#ifdef PI
+# undef PI
+#endif
+#define PI 3.14159265358979323846
+
+int SLang_pop_complex (double *r, double *i)
+{
+ double *c;
+
+ switch (SLang_peek_at_stack ())
+ {
+ case SLANG_COMPLEX_TYPE:
+ if (-1 == SLclass_pop_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR *)&c))
+ return -1;
+ *r = c[0];
+ *i = c[1];
+ SLfree ((char *) c);
+ break;
+
+ default:
+ *i = 0.0;
+ if (-1 == SLang_pop_double (r, NULL, NULL))
+ return -1;
+ break;
+
+ case -1:
+ return -1;
+ }
+ return 0;
+}
+
+int SLang_push_complex (double r, double i)
+{
+ double *c;
+
+ c = (double *) SLmalloc (2 * sizeof (double));
+ if (c == NULL)
+ return -1;
+
+ c[0] = r;
+ c[1] = i;
+
+ if (-1 == SLclass_push_ptr_obj (SLANG_COMPLEX_TYPE, (VOID_STAR) c))
+ {
+ SLfree ((char *) c);
+ return -1;
+ }
+ return 0;
+}
+
+double *SLcomplex_times (double *c, double *a, double *b)
+{
+ double a_real, b_real, a_imag, b_imag;
+
+ a_real = a[0];
+ b_real = b[0];
+ a_imag = a[1];
+ b_imag = b[1];
+
+ c[0] = a_real * b_real - a_imag * b_imag;
+ c[1] = a_imag * b_real + a_real * b_imag;
+
+ return c;
+}
+
+double *SLcomplex_divide (double *c, double *a, double *b)
+{
+ double a_real, b_real, a_imag, b_imag;
+ double ratio, invden;
+
+ a_real = a[0];
+ b_real = b[0];
+ a_imag = a[1];
+ b_imag = b[1];
+
+ /* Do it this way to avoid overflow in the denom */
+ if (fabs(b_real) > fabs(b_imag))
+ {
+ ratio = b_imag / b_real;
+ invden = 1.0 / (b_real + b_imag * ratio);
+ c[0] = (a_real + ratio * a_imag) * invden;
+ c[1] = (a_imag - a_real * ratio) * invden;
+ }
+ else
+ {
+ ratio = b_real / b_imag;
+ invden = 1.0 / (b_real * ratio + b_imag);
+ c[0] = (a_real * ratio + a_imag) * invden;
+ c[1] = (a_imag * ratio - a_real) * invden;
+ }
+ return c;
+}
+
+/* a^b = exp (b log a); */
+double *SLcomplex_pow (double *c, double *a, double *b)
+{
+ return SLcomplex_exp (c, SLcomplex_times (c, b, SLcomplex_log (c, a)));
+}
+
+static double *complex_dpow (double *c, double *a, double b)
+{
+ SLcomplex_log (c, a);
+ c[0] *= b;
+ c[1] *= b;
+ return SLcomplex_exp (c, c);
+}
+
+static double *dcomplex_pow (double *c, double a, double *b)
+{
+ a = log (a);
+ c[0] = a * b[0];
+ c[1] = a * b[1];
+ return SLcomplex_exp (c, c);
+}
+
+double SLcomplex_abs (double *z)
+{
+ return SLmath_hypot (z[0], z[1]);
+}
+
+/* It appears that FORTRAN assumes that the branch cut for the log function
+ * is along the -x axis. So, use this for atan2:
+ */
+static double my_atan2 (double y, double x)
+{
+ double val;
+
+ val = atan (y/x);
+
+ if (x >= 0)
+ return val; /* I, IV */
+
+ if (y <= 0) /* III */
+ return val - PI;
+
+ return PI + val; /* II */
+}
+
+static void polar_form (double *r, double *theta, double *z)
+{
+ double x, y;
+
+ *r = SLcomplex_abs (z);
+
+ x = z[0];
+ y = z[1];
+
+ if (x == 0.0)
+ {
+ if (y >= 0)
+ *theta = 0.5 * PI;
+ else
+ *theta = 1.5 * PI;
+ }
+ else *theta = my_atan2 (y, x);
+}
+
+double *SLcomplex_sin (double *sinz, double *z)
+{
+ double x, y;
+
+ x = z[0]; y = z[1];
+ sinz[0] = sin (x) * cosh (y);
+ sinz[1] = cos (x) * sinh (y);
+ return sinz;
+}
+
+double *SLcomplex_cos (double *cosz, double *z)
+{
+ double x, y;
+
+ x = z[0]; y = z[1];
+ cosz[0] = cos (x) * cosh (y);
+ cosz[1] = -sin (x) * sinh (y);
+ return cosz;
+}
+
+double *SLcomplex_exp (double *expz, double *z)
+{
+ double r, i;
+
+ r = exp (z[0]);
+ i = z[1];
+ expz[0] = r * cos (i);
+ expz[1] = r * sin (i);
+ return expz;
+}
+
+double *SLcomplex_log (double *logz, double *z)
+{
+ double r, theta;
+
+ polar_form (&r, &theta, z); /* log R.e^(ix) = log R + ix */
+ logz[0] = log(r);
+ logz[1] = theta;
+ return logz;
+}
+
+double *SLcomplex_log10 (double *log10z, double *z)
+{
+ double l10 = log (10.0);
+ (void) SLcomplex_log (log10z, z);
+ log10z[0] = log10z[0] / l10;
+ log10z[1] = log10z[1] / l10;
+ return log10z;
+}
+
+double *SLcomplex_sqrt (double *sqrtz, double *z)
+{
+ double r, x, y;
+
+ x = z[0];
+ y = z[1];
+
+ r = SLmath_hypot (x, y);
+
+ if (r == 0.0)
+ {
+ sqrtz [0] = sqrtz [1] = 0.0;
+ return sqrtz;
+ }
+
+ if (x >= 0.0)
+ {
+ x = sqrt (0.5 * (r + x));
+ y = 0.5 * y / x;
+ }
+ else
+ {
+ r = sqrt (0.5 * (r - x));
+ x = 0.5 * y / r;
+ y = r;
+
+ if (x < 0.0)
+ {
+ x = -x;
+ y = -y;
+ }
+ }
+
+ sqrtz[0] = x;
+ sqrtz[1] = y;
+
+ return sqrtz;
+}
+
+double *SLcomplex_tan (double *tanz, double *z)
+{
+ double x, y, invden;
+
+ x = 2 * z[0];
+ y = 2 * z[1];
+ invden = 1.0 / (cos (x) + cosh (y));
+ tanz[0] = invden * sin (x);
+ tanz[1] = invden * sinh (y);
+ return tanz;
+}
+
+/* Utility Function */
+static void compute_alpha_beta (double *z, double *alpha, double *beta)
+{
+ double x, y, a, b;
+
+ x = z[0];
+ y = z[1];
+ a = 0.5 * SLmath_hypot (x + 1, y);
+ b = 0.5 * SLmath_hypot (x - 1, y);
+
+ *alpha = a + b;
+ *beta = a - b;
+}
+
+double *SLcomplex_asin (double *asinz, double *z)
+{
+ double alpha, beta;
+
+ compute_alpha_beta (z, &alpha, &beta);
+ asinz[0] = asin (beta);
+ asinz[1] = log (alpha + sqrt (alpha * alpha - 1));
+ return asinz;
+}
+
+double *SLcomplex_acos (double *acosz, double *z)
+{
+ double alpha, beta;
+
+ compute_alpha_beta (z, &alpha, &beta);
+ acosz[0] = acos (beta);
+ acosz[1] = -log (alpha + sqrt (alpha * alpha - 1));
+ return acosz;
+}
+
+double *SLcomplex_atan (double *atanz, double *z)
+{
+ double x, y;
+ double z1[2], z2[2];
+
+ x = z[0]; y = z[1];
+ z1[0] = x;
+ z1[1] = 1 + y;
+ z2[0] = -x;
+ z2[1] = 1 - y;
+
+ SLcomplex_log (z1, SLcomplex_divide (z2, z1, z2));
+ atanz[0] = -0.5 * z1[1];
+ atanz[1] = 0.5 * z1[0];
+
+ return atanz;
+}
+
+double *SLcomplex_sinh (double *sinhz, double *z)
+{
+ double x, y;
+ x = z[0]; y = z[1];
+ sinhz[0] = sinh (x) * cos (y);
+ sinhz[1] = cosh (x) * sin (y);
+ return sinhz;
+}
+
+double *SLcomplex_cosh (double *coshz, double *z)
+{
+ double x, y;
+ x = z[0]; y = z[1];
+ coshz[0] = cosh (x) * cos (y);
+ coshz[1] = sinh (x) * sin (y);
+ return coshz;
+}
+
+double *SLcomplex_tanh (double *tanhz, double *z)
+{
+ double x, y, invden;
+ x = 2 * z[0];
+ y = 2 * z[1];
+ invden = 1.0 / (cosh (x) + cos (y));
+ tanhz[0] = invden * sinh (x);
+ tanhz[1] = invden * sin (y);
+ return tanhz;
+}
+#if 0
+static double *not_implemented (char *fun, double *p)
+{
+ SLang_verror (SL_NOT_IMPLEMENTED, "%s for complex numbers has not been implemented",
+ fun);
+ *p = -1.0;
+ return p;
+}
+#endif
+/* Use: asinh(z) = -i asin(iz) */
+double *SLcomplex_asinh (double *asinhz, double *z)
+{
+ double iz[2];
+
+ iz[0] = -z[1];
+ iz[1] = z[0];
+
+ (void) SLcomplex_asin (iz, iz);
+ asinhz[0] = iz[1];
+ asinhz[1] = -iz[0];
+
+ return asinhz;
+}
+
+/* Use: acosh (z) = i acos(z) */
+double *SLcomplex_acosh (double *acoshz, double *z)
+{
+ double iz[2];
+
+ (void) SLcomplex_acos (iz, z);
+ acoshz[0] = -iz[1];
+ acoshz[1] = iz[0];
+
+ return acoshz;
+}
+
+/* Use: atanh(z) = -i atan(iz) */
+double *SLcomplex_atanh (double *atanhz, double *z)
+{
+ double iz[2];
+
+ iz[0] = -z[1];
+ iz[1] = z[0];
+
+ (void) SLcomplex_atan (iz, iz);
+ atanhz[0] = iz[1];
+ atanhz[1] = -iz[0];
+
+ return atanhz;
+}
+
+static int complex_binary_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ (void) a; (void) b;
+
+ switch (op)
+ {
+ default:
+ case SLANG_POW:
+ case SLANG_PLUS:
+ case SLANG_MINUS:
+ case SLANG_TIMES:
+ case SLANG_DIVIDE:
+ *c = SLANG_COMPLEX_TYPE;
+ break;
+
+ case SLANG_EQ:
+ case SLANG_NE:
+ *c = SLANG_CHAR_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int complex_complex_binary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ double *a, *b, *c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+
+ (void) a_type;
+ (void) b_type;
+
+ a = (double *) ap;
+ b = (double *) bp;
+ c = (double *) cp;
+ ic = (char *) cp;
+
+ if (na == 1) da = 0; else da = 2;
+ if (nb == 1) db = 0; else db = 2;
+
+ if (na > nb) n_max = na; else n_max = nb;
+ n_max = 2 * n_max;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] + b[0];
+ c[n + 1] = a[1] + b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_MINUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] - b[0];
+ c[n + 1] = a[1] - b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_TIMES:
+ for (n = 0; n < n_max; n += 2)
+ {
+ SLcomplex_times (c + n, a, b);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_DIVIDE: /* / */
+ for (n = 0; n < n_max; n += 2)
+ {
+ if ((b[0] == 0.0) && (b[1] == 0.0))
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ SLcomplex_divide (c + n, a, b);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ: /* == */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] == b[0]) && (a[1] == b[1]));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE: /* != */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] != b[0]) || (a[1] != b[1]));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_POW:
+ for (n = 0; n < n_max; n += 2)
+ {
+ SLcomplex_pow (c + n, a, b);
+ a += da; b += db;
+ }
+ break;
+
+ }
+
+ return 1;
+}
+
+static int complex_double_binary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ double *a, *b, *c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+
+ (void) a_type;
+ (void) b_type;
+
+ a = (double *) ap;
+ b = (double *) bp;
+ c = (double *) cp;
+ ic = (char *) cp;
+
+ if (na == 1) da = 0; else da = 2;
+ if (nb == 1) db = 0; else db = 1;
+
+ if (na > nb) n_max = na; else n_max = nb;
+ n_max = 2 * n_max;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] + b[0];
+ c[n + 1] = a[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_MINUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] - b[0];
+ c[n + 1] = a[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_TIMES:
+ for (n = 0; n < n_max; n += 2)
+ {
+ double b0 = b[0];
+ c[n] = a[0] * b0;
+ c[n + 1] = a[1] * b0;
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_DIVIDE: /* / */
+ for (n = 0; n < n_max; n += 2)
+ {
+ double b0 = b[0];
+ if (b0 == 0.0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = a[0] / b0;
+ c[n + 1] = a[1] / b0;
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ: /* == */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] == b[0]) && (a[1] == 0.0));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE: /* != */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] != b[0]) || (a[1] != 0.0));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_POW:
+ for (n = 0; n < n_max; n += 2)
+ {
+ complex_dpow (c + n, a, b[0]);
+ a += da; b += db;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static int double_complex_binary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ double *a, *b, *c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+
+ (void) a_type;
+ (void) b_type;
+
+ a = (double *) ap;
+ b = (double *) bp;
+ c = (double *) cp;
+ ic = (char *) cp;
+
+ if (na == 1) da = 0; else da = 1;
+ if (nb == 1) db = 0; else db = 2;
+
+ if (na > nb) n_max = na; else n_max = nb;
+ n_max = 2 * n_max;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] + b[0];
+ c[n + 1] = b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_MINUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] - b[0];
+ c[n + 1] = -b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_TIMES:
+ for (n = 0; n < n_max; n += 2)
+ {
+ double a0 = a[0];
+ c[n] = a0 * b[0];
+ c[n + 1] = a0 * b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_DIVIDE: /* / */
+ for (n = 0; n < n_max; n += 2)
+ {
+ double z[2];
+ if ((b[0] == 0.0) && (b[1] == 0.0))
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ z[0] = a[0];
+ z[1] = 0.0;
+ SLcomplex_divide (c + n, z, b);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ: /* == */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] == b[0]) && (0.0 == b[1]));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE: /* != */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] != b[0]) || (0.0 != b[1]));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_POW:
+ for (n = 0; n < n_max; n += 2)
+ {
+ dcomplex_pow (c + n, a[0], b);
+ a += da; b += db;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static int complex_generic_binary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ char *b;
+ double *a, *c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+ unsigned int sizeof_b;
+ SLang_To_Double_Fun_Type to_double;
+
+ if (NULL == (to_double = SLarith_get_to_double_fun (b_type, &sizeof_b)))
+ return 0;
+
+ (void) a_type;
+
+ a = (double *) ap;
+ b = (char *) bp;
+ c = (double *) cp;
+ ic = (char *) cp;
+
+ if (na == 1) da = 0; else da = 2;
+ if (nb == 1) db = 0; else db = sizeof_b;
+
+ if (na > nb) n_max = na; else n_max = nb;
+ n_max = 2 * n_max;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_POW:
+ for (n = 0; n < n_max; n += 2)
+ {
+ complex_dpow (c + n, a, to_double((VOID_STAR)b));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_PLUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] + to_double((VOID_STAR)b);
+ c[n + 1] = a[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_MINUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = a[0] - to_double((VOID_STAR)b);
+ c[n + 1] = a[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_TIMES:
+ for (n = 0; n < n_max; n += 2)
+ {
+ double b0 = to_double((VOID_STAR)b);
+ c[n] = a[0] * b0;
+ c[n + 1] = a[1] * b0;
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_DIVIDE: /* / */
+ for (n = 0; n < n_max; n += 2)
+ {
+ double b0 = to_double((VOID_STAR)b);
+ if (b0 == 0)
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ c[n] = a[0] / b0;
+ c[n + 1] = a[1] / b0;
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ: /* == */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] == to_double((VOID_STAR)b)) && (a[1] == 0.0));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE: /* != */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((a[0] != to_double((VOID_STAR)b)) || (a[1] != 0.0));
+ a += da; b += db;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static int generic_complex_binary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ double *b, *c;
+ char *a, *ic;
+ unsigned int n, n_max;
+ unsigned int da, db;
+ unsigned int sizeof_a;
+ SLang_To_Double_Fun_Type to_double;
+
+ if (NULL == (to_double = SLarith_get_to_double_fun (a_type, &sizeof_a)))
+ return 0;
+
+ (void) b_type;
+
+ a = (char *) ap;
+ b = (double *) bp;
+ c = (double *) cp;
+ ic = (char *) cp;
+
+ if (na == 1) da = 0; else da = sizeof_a;
+ if (nb == 1) db = 0; else db = 2;
+
+ if (na > nb) n_max = na; else n_max = nb;
+ n_max = 2 * n_max;
+
+ switch (op)
+ {
+ default:
+ return 0;
+ case SLANG_POW:
+ for (n = 0; n < n_max; n += 2)
+ {
+ dcomplex_pow (c + n, to_double((VOID_STAR)a), b);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_PLUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = to_double((VOID_STAR)a) + b[0];
+ c[n + 1] = b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_MINUS:
+ for (n = 0; n < n_max; n += 2)
+ {
+ c[n] = to_double((VOID_STAR)a) - b[0];
+ c[n + 1] = -b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_TIMES:
+ for (n = 0; n < n_max; n += 2)
+ {
+ double a0 = to_double((VOID_STAR)a);
+ c[n] = a0 * b[0];
+ c[n + 1] = a0 * b[1];
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_DIVIDE: /* / */
+ for (n = 0; n < n_max; n += 2)
+ {
+ double z[2];
+ if ((b[0] == 0.0) && (b[1] == 0.0))
+ {
+ SLang_Error = SL_DIVIDE_ERROR;
+ return -1;
+ }
+ z[0] = to_double((VOID_STAR)a);
+ z[1] = 0.0;
+ SLcomplex_divide (c + n, z, b);
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_EQ: /* == */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((to_double((VOID_STAR)a) == b[0]) && (0.0 == b[1]));
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE: /* != */
+ for (n = 0; n < n_max; n += 2)
+ {
+ ic[n/2] = ((to_double((VOID_STAR)a) != b[0]) || (0.0 != b[1]));
+ a += da; b += db;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static int complex_unary_result (int op, unsigned char a, unsigned char *b)
+{
+ (void) a;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUSPLUS:
+ case SLANG_MINUSMINUS:
+ case SLANG_CHS:
+ case SLANG_MUL2:
+ *b = SLANG_COMPLEX_TYPE;
+ break;
+
+ case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
+ case SLANG_ABS: /* |z| ==> double */
+ *b = SLANG_DOUBLE_TYPE;
+ break;
+
+ case SLANG_SIGN:
+ *b = SLANG_INT_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int complex_unary (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ unsigned int n;
+ double *a, *b;
+ int *ic;
+
+ (void) a_type;
+
+ a = (double *) ap;
+ b = (double *) bp;
+ ic = (int *) bp;
+
+ na = 2 * na;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUSPLUS:
+ for (n = 0; n < na; n += 2) b[n] = (a[n] + 1);
+ break;
+ case SLANG_MINUSMINUS:
+ for (n = 0; n < na; n += 2) b[n] = (a[n] - 1);
+ break;
+ case SLANG_CHS:
+ for (n = 0; n < na; n += 2)
+ {
+ b[n] = -(a[n]);
+ b[n + 1] = -(a[n + 1]);
+ }
+ break;
+ case SLANG_SQR: /* |Real|^2 + |Imag|^2 ==> double */
+ for (n = 0; n < na; n += 2)
+ b[n/2] = (a[n] * a[n] + a[n + 1] * a[n + 1]);
+ break;
+
+ case SLANG_MUL2:
+ for (n = 0; n < na; n += 2)
+ {
+ b[n] = (2 * a[n]);
+ b[n + 1] = (2 * a[n + 1]);
+ }
+ break;
+
+ case SLANG_ABS: /* |z| ==> double */
+ for (n = 0; n < na; n += 2)
+ b[n/2] = SLcomplex_abs (a + n);
+ break;
+
+ case SLANG_SIGN:
+ /* Another creative extension. Lets return an integer which indicates
+ * whether the complex number is in the upperhalf plane or not.
+ */
+ for (n = 0; n < na; n += 2)
+ {
+ if (a[n + 1] < 0.0) ic[n/2] = -1;
+ else if (a[n + 1] > 0.0) ic[n/2] = 1;
+ else ic[n/2] = 0;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static int
+complex_typecast (unsigned char from_type, VOID_STAR from, unsigned int num,
+ unsigned char to_type, VOID_STAR to)
+{
+ double *z;
+ double *d;
+ char *i;
+ unsigned int n;
+ unsigned int sizeof_i;
+ SLang_To_Double_Fun_Type to_double;
+
+ (void) to_type;
+
+ z = (double *) to;
+
+ switch (from_type)
+ {
+ default:
+ if (NULL == (to_double = SLarith_get_to_double_fun (from_type, &sizeof_i)))
+ return 0;
+ i = (char *) from;
+ for (n = 0; n < num; n++)
+ {
+ *z++ = to_double ((VOID_STAR) i);
+ *z++ = 0.0;
+
+ i += sizeof_i;
+ }
+ break;
+
+ case SLANG_DOUBLE_TYPE:
+ d = (double *) from;
+ for (n = 0; n < num; n++)
+ {
+ *z++ = d[n];
+ *z++ = 0.0;
+ }
+ break;
+ }
+
+ return 1;
+}
+
+static void complex_destroy (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ SLfree ((char *)*(double **) ptr);
+}
+
+static int complex_push (unsigned char type, VOID_STAR ptr)
+{
+ double *z;
+
+ (void) type;
+ z = *(double **) ptr;
+ return SLang_push_complex (z[0], z[1]);
+}
+
+static int complex_pop (unsigned char type, VOID_STAR ptr)
+{
+ double *z;
+
+ (void) type;
+ z = *(double **) ptr;
+ return SLang_pop_complex (&z[0], &z[1]);
+}
+
+int _SLinit_slcomplex (void)
+{
+ SLang_Class_Type *cl;
+ unsigned char *types;
+
+ if (NULL == (cl = SLclass_allocate_class ("Complex_Type")))
+ return -1;
+
+ (void) SLclass_set_destroy_function (cl, complex_destroy);
+ (void) SLclass_set_push_function (cl, complex_push);
+ (void) SLclass_set_pop_function (cl, complex_pop);
+
+ if (-1 == SLclass_register_class (cl, SLANG_COMPLEX_TYPE, 2 * sizeof (double),
+ SLANG_CLASS_TYPE_VECTOR))
+ return -1;
+
+ types = _SLarith_Arith_Types;
+ while (*types != SLANG_DOUBLE_TYPE)
+ {
+ unsigned char t = *types++;
+
+ if ((-1 == SLclass_add_binary_op (t, SLANG_COMPLEX_TYPE, generic_complex_binary, complex_binary_result))
+ || (-1 == SLclass_add_binary_op (SLANG_COMPLEX_TYPE, t, complex_generic_binary, complex_binary_result))
+ || (-1 == (SLclass_add_typecast (t, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
+ return -1;
+ }
+
+ if ((-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_COMPLEX_TYPE, complex_complex_binary, complex_binary_result)))
+ || (-1 == (SLclass_add_binary_op (SLANG_COMPLEX_TYPE, SLANG_DOUBLE_TYPE, complex_double_binary, complex_binary_result)))
+ || (-1 == (SLclass_add_binary_op (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, double_complex_binary, complex_binary_result)))
+ || (-1 == (SLclass_add_unary_op (SLANG_COMPLEX_TYPE, complex_unary, complex_unary_result)))
+ || (-1 == (SLclass_add_typecast (SLANG_DOUBLE_TYPE, SLANG_COMPLEX_TYPE, complex_typecast, 1))))
+ return -1;
+
+ return 0;
+}
+
+#endif /* if SLANG_HAS_COMPLEX */
+
diff --git a/mdk-stage1/slang/slcompat.c b/mdk-stage1/slang/slcompat.c
new file mode 100644
index 000000000..5aa122483
--- /dev/null
+++ b/mdk-stage1/slang/slcompat.c
@@ -0,0 +1,34 @@
+/* These functions are provided for backward compatibility and are obsolete.
+ * Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/* Compatibility */
+int SLang_init_slunix (void)
+{
+ if ((-1 == SLang_init_posix_dir ())
+ || (-1 == SLang_init_posix_process ())
+ || (-1 == SLdefine_for_ifdef ("__SLUNIX__")))
+ return -1;
+
+ return 0;
+}
+
+int SLang_init_slfile (void)
+{
+ if ((-1 == SLang_init_stdio ())
+ || (-1 == SLang_init_posix_dir ())
+ || (-1 == SLdefine_for_ifdef("__SLFILE__")))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slcurses.c b/mdk-stage1/slang/slcurses.c
new file mode 100644
index 000000000..f1212afc8
--- /dev/null
+++ b/mdk-stage1/slang/slcurses.c
@@ -0,0 +1,972 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include <signal.h>
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+#include "slcurses.h"
+
+/* This file is meant to implement a primitive curses implementation in
+ * terms of SLsmg calls. The fact is that the interfaces are sufficiently
+ * different that a 100% emulation is not possible.
+ */
+
+SLcurses_Window_Type *SLcurses_Stdscr;
+int SLcurses_Esc_Delay = 150; /* 0.15 seconds */
+SLtt_Char_Type SLcurses_Acs_Map [128];
+int SLcurses_Is_Endwin = 1;
+int SLcurses_Num_Colors = 8;
+
+static void blank_line (SLsmg_Char_Type *b, unsigned int len, SLsmg_Char_Type color)
+{
+ SLsmg_Char_Type *bmax;
+
+ bmax = b + len;
+ color = SLSMG_BUILD_CHAR(' ', color);
+
+ while (b < bmax) *b++ = color;
+}
+
+static int va_mvprintw (SLcurses_Window_Type *w, int r, int c, int do_move,
+ char *fmt, va_list ap)
+{
+ char buf[1024];
+
+ if (do_move) SLcurses_wmove (w, r, c);
+
+ (void) _SLvsnprintf (buf, sizeof(buf), fmt, ap);
+
+ SLcurses_waddnstr (w, buf, -1);
+ return 0;
+}
+
+int SLcurses_mvprintw (int r, int c, char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ va_mvprintw (SLcurses_Stdscr, r, c, 1, fmt, ap);
+ va_end(ap);
+
+ return 0;
+}
+
+int SLcurses_mvwprintw (SLcurses_Window_Type *w, int r, int c, char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ va_mvprintw (w, r, c, 1, fmt, ap);
+ va_end(ap);
+
+ return 0;
+}
+
+int SLcurses_wprintw (SLcurses_Window_Type *w, char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ va_mvprintw (w, 0, 0, 0, fmt, ap);
+ va_end(ap);
+
+ return 0;
+}
+
+int SLcurses_printw (char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ va_mvprintw (SLcurses_Stdscr, 0, 0, 0, fmt, ap);
+ va_end(ap);
+
+ return 0;
+}
+
+int SLcurses_nil (void)
+{
+ return 0;
+}
+
+int SLcurses_has_colors(void)
+{
+ return SLtt_Use_Ansi_Colors;
+}
+
+int SLcurses_nodelay (SLcurses_Window_Type *w, int onoff)
+{
+ w->delay_off = (onoff ? 0 : -1);
+ return 0;
+}
+
+int SLcurses_wgetch (SLcurses_Window_Type *w)
+{
+ if (w == NULL)
+ return ERR;
+
+ SLcurses_wrefresh (w);
+
+ if ((w->delay_off == -1) ||
+ SLang_input_pending (w->delay_off))
+ {
+ if (w->use_keypad)
+ {
+ int ch = SLang_getkey ();
+ if (ch == '\033')
+ {
+ if (0 == SLang_input_pending (ESCDELAY / 100))
+ return ch;
+ }
+ else if (ch == 0xFFFF) return ERR;
+ SLang_ungetkey (ch);
+ return SLkp_getkey ();
+ }
+ return SLang_getkey ();
+ }
+
+ return ERR;
+}
+
+int SLcurses_getch (void)
+{
+ return SLcurses_wgetch (SLcurses_Stdscr);
+}
+
+/* This is a super hack. That fact is that SLsmg and curses
+ * are incompatible.
+ */
+static unsigned char Color_Objects[256];
+
+static unsigned int map_attr_to_object (SLtt_Char_Type attr)
+{
+ unsigned int obj;
+ SLtt_Char_Type at;
+
+ obj = (attr >> 8) & 0xFF;
+
+ if (SLtt_Use_Ansi_Colors)
+ {
+ if (Color_Objects[obj] != 0) return obj;
+
+ at = SLtt_get_color_object (obj & 0xF);
+
+ if (attr & A_BOLD) at |= SLTT_BOLD_MASK;
+ if (attr & A_UNDERLINE) at |= SLTT_ULINE_MASK;
+ if (attr & A_REVERSE) at |= SLTT_REV_MASK;
+
+ SLtt_set_color_object (obj, at);
+
+ Color_Objects[obj] = 1;
+ }
+ else obj = obj & 0xF0;
+
+ return obj;
+
+}
+
+int SLcurses_start_color (void)
+{
+ int f, b;
+ int obj;
+
+ if (SLtt_Use_Ansi_Colors == 0) return -1;
+
+ obj = 0;
+ for (f = 0; f < 16; f++)
+ {
+ for (b = 0; b < 16; b++)
+ {
+ obj++;
+ SLtt_set_color_fgbg (obj, f, b);
+ }
+ }
+ return 0;
+}
+
+#ifdef SIGINT
+static void sigint_handler (int sig)
+{
+ SLang_reset_tty ();
+ SLsmg_reset_smg ();
+ exit (sig);
+}
+#endif
+
+/* Values are assumed to be 0, 1, 2. This fact is exploited */
+static int TTY_State;
+
+static int init_tty (int suspend_ok)
+{
+ if (-1 == SLang_init_tty (-1, 1, 0))
+ return -1;
+
+#ifdef REAL_UNIX_SYSTEM
+ if (suspend_ok) SLtty_set_suspend_state (1);
+#endif
+ return 0;
+}
+
+int SLcurses_raw (void)
+{
+ TTY_State = 1;
+ return init_tty (0);
+}
+
+int SLcurses_cbreak (void)
+{
+ TTY_State = 2;
+ return init_tty (1);
+}
+
+#if defined(SIGTSTP) && defined(SIGSTOP)
+static void sigtstp_handler (int sig)
+{
+ sig = errno;
+
+ SLsmg_suspend_smg ();
+
+ if (TTY_State)
+ SLang_reset_tty ();
+
+ kill(getpid(),SIGSTOP);
+
+ SLsmg_resume_smg ();
+
+ if (TTY_State) init_tty (TTY_State - 1);
+
+ signal (SIGTSTP, sigtstp_handler);
+ errno = sig;
+}
+#endif
+
+SLcurses_Window_Type *SLcurses_initscr (void)
+{
+ SLcurses_Is_Endwin = 0;
+ SLsmg_Newline_Behavior = SLSMG_NEWLINE_MOVES;
+ SLtt_get_terminfo ();
+
+#if !defined(IBMPC_SYSTEM) && !defined(VMS)
+ if (-1 == (SLcurses_Num_Colors = SLtt_tgetnum ("Co")))
+#endif
+ SLcurses_Num_Colors = 8;
+
+ if ((-1 == SLkp_init ())
+ || (-1 == SLcurses_cbreak ())
+ || (NULL == (SLcurses_Stdscr = SLcurses_newwin (0, 0, 0, 0)))
+ || (-1 == SLsmg_init_smg ()))
+ {
+ SLang_doerror (NULL);
+ SLang_exit_error ("SLcurses_initscr: init failed\n");
+ return NULL;
+ }
+
+#ifdef SIGINT
+ signal (SIGINT, sigint_handler);
+#endif
+
+#if defined(SIGTSTP) && defined(SIGSTOP)
+ signal (SIGTSTP, sigtstp_handler);
+#endif
+
+ SLtt_set_mono (A_BOLD >> 8, NULL, SLTT_BOLD_MASK);
+ SLtt_set_mono (A_UNDERLINE >> 8, NULL, SLTT_ULINE_MASK);
+ SLtt_set_mono (A_REVERSE >> 8, NULL, SLTT_REV_MASK);
+ /* SLtt_set_mono (A_BLINK >> 8, NULL, SLTT_BLINK_MASK); */
+ SLtt_set_mono ((A_BOLD|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_BOLD_MASK);
+ SLtt_set_mono ((A_REVERSE|A_UNDERLINE) >> 8, NULL, SLTT_ULINE_MASK|SLTT_REV_MASK);
+
+ if (SLtt_Has_Alt_Charset)
+ {
+ SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = SLSMG_ULCORN_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = SLSMG_URCORN_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = SLSMG_LLCORN_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = SLSMG_LRCORN_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = SLSMG_UTEE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = SLSMG_DTEE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = SLSMG_LTEE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = SLSMG_RTEE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = SLSMG_VLINE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = SLSMG_HLINE_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = SLSMG_PLUS_CHAR | A_ALTCHARSET;
+ SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = SLSMG_CKBRD_CHAR | A_ALTCHARSET;
+ }
+ else
+ {
+ /* ugly defaults to use on terminals which don't support graphics */
+ SLcurses_Acs_Map[SLSMG_ULCORN_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_URCORN_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_LLCORN_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_LRCORN_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_UTEE_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_DTEE_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_LTEE_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_RTEE_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_VLINE_CHAR] = '|';
+ SLcurses_Acs_Map[SLSMG_HLINE_CHAR] = '-';
+ SLcurses_Acs_Map[SLSMG_PLUS_CHAR] = '+';
+ SLcurses_Acs_Map[SLSMG_CKBRD_CHAR] = '#';
+ }
+
+ return SLcurses_Stdscr;
+}
+
+int SLcurses_wattrset (SLcurses_Window_Type *w, SLtt_Char_Type ch)
+{
+ unsigned int obj;
+
+ obj = map_attr_to_object (ch);
+ w->color = obj;
+ w->attr = ch;
+ return 0;
+}
+
+int SLcurses_wattroff (SLcurses_Window_Type *w, SLtt_Char_Type ch)
+{
+ if (SLtt_Use_Ansi_Colors)
+ return SLcurses_wattrset (w, 0);
+
+ w->attr &= ~ch;
+ return SLcurses_wattrset (w, w->attr);
+}
+
+int SLcurses_wattron (SLcurses_Window_Type *w, SLtt_Char_Type ch)
+{
+ if (SLtt_Use_Ansi_Colors)
+ return SLcurses_wattrset (w, ch);
+
+ w->attr |= ch;
+ return SLcurses_wattrset (w, w->attr);
+}
+
+int SLcurses_delwin (SLcurses_Window_Type *w)
+{
+ if (w == NULL) return 0;
+ if (w->lines != NULL)
+ {
+ SLsmg_Char_Type **lines = w->lines;
+ if (w->is_subwin == 0)
+ {
+ unsigned int r, rmax;
+
+ rmax = w->nrows;
+ for (r = 0; r < rmax; r++)
+ {
+ SLfree ((char *)lines[r]);
+ }
+ }
+
+ SLfree ((char *)lines);
+ }
+
+ SLfree ((char *)w);
+ if (w == SLcurses_Stdscr)
+ SLcurses_Stdscr = NULL;
+ return 0;
+}
+
+SLcurses_Window_Type *SLcurses_newwin (unsigned int nrows, unsigned int ncols,
+ unsigned int r, unsigned int c)
+{
+ SLcurses_Window_Type *win;
+ SLsmg_Char_Type **lines;
+
+ if (r >= (unsigned int) SLtt_Screen_Rows)
+ return NULL;
+ if (c >= (unsigned int) SLtt_Screen_Cols)
+ return NULL;
+
+ if (NULL == (win = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type))))
+ return NULL;
+
+ SLMEMSET ((char *) win, 0, sizeof (SLcurses_Window_Type));
+
+ if (nrows == 0)
+ nrows = (unsigned int) SLtt_Screen_Rows - r;
+ if (ncols == 0)
+ ncols = (unsigned int) SLtt_Screen_Cols - c;
+
+ lines = (SLsmg_Char_Type **) SLmalloc (nrows * sizeof (SLsmg_Char_Type *));
+ if (lines == NULL)
+ {
+ SLcurses_delwin (win);
+ return NULL;
+ }
+
+ SLMEMSET ((char *) lines, 0, nrows * sizeof (SLsmg_Char_Type *));
+
+ win->lines = lines;
+ win->scroll_max = win->nrows = nrows;
+ win->ncols = ncols;
+ win->_begy = r;
+ win->_begx = c;
+ win->_maxx = (c + ncols) - 1;
+ win->_maxy = (r + nrows) - 1;
+ win->modified = 1;
+ win->delay_off = -1;
+
+ for (r = 0; r < nrows; r++)
+ {
+ SLsmg_Char_Type *b;
+
+ b = (SLsmg_Char_Type *) SLmalloc (ncols * sizeof (SLsmg_Char_Type));
+ if (b == NULL)
+ {
+ SLcurses_delwin (win);
+ return NULL;
+ }
+ lines [r] = b;
+ blank_line (b, ncols, 0);
+ }
+
+ return win;
+}
+
+int SLcurses_wmove (SLcurses_Window_Type *win, unsigned int r, unsigned int c)
+{
+ if (win == NULL) return -1;
+ win->_cury = r;
+ win->_curx = c;
+ win->modified = 1;
+ return 0;
+}
+
+static int do_newline (SLcurses_Window_Type *w)
+{
+ w->_curx = 0;
+ w->_cury += 1;
+ if (w->_cury >= w->scroll_max)
+ {
+ w->_cury = w->scroll_max - 1;
+ if (w->scroll_ok)
+ SLcurses_wscrl (w, 1);
+ }
+
+ return 0;
+}
+
+int SLcurses_waddch (SLcurses_Window_Type *win, SLtt_Char_Type attr)
+{
+ SLsmg_Char_Type *b, ch;
+ SLsmg_Char_Type color;
+
+ if (win == NULL) return -1;
+
+ if (win->_cury >= win->nrows)
+ {
+ /* Curses seems to move current postion to top of window. */
+ win->_cury = win->_curx = 0;
+ return -1;
+ }
+
+ win->modified = 1;
+
+ ch = SLSMG_EXTRACT_CHAR(attr);
+
+ if (attr == ch)
+ color = win->color;
+ else
+ {
+ /* hack to pick up the default color for graphics chars */
+ if (((attr & A_COLOR) == 0) && ((attr & A_ALTCHARSET) != 0))
+ {
+ /* FIXME: priority=medium: Use SLSMG_?? instead of << */
+ attr |= win->color << 8;
+ }
+ color = map_attr_to_object (attr);
+ }
+
+ if (ch < ' ')
+ {
+ if (ch == '\n')
+ {
+ SLcurses_wclrtoeol (win);
+ return do_newline (win);
+ }
+
+ if (ch == '\r')
+ {
+ win->_curx = 0;
+ return 0;
+ }
+
+ if (ch == '\b')
+ {
+ if (win->_curx > 0)
+ win->_curx--;
+
+ return 0;
+ }
+
+ /* HACK HACK!!!! */
+ if (ch == '\t') ch = ' ';
+ }
+
+ if (win->_curx >= win->ncols)
+ do_newline (win);
+
+ b = win->lines[win->_cury] + win->_curx;
+ *b = SLSMG_BUILD_CHAR(ch,color);
+ win->_curx++;
+
+ return 0;
+}
+
+int SLcurses_wnoutrefresh (SLcurses_Window_Type *w)
+{
+ unsigned int len;
+ unsigned int r, c;
+ unsigned int i, imax;
+
+ if (SLcurses_Is_Endwin)
+ {
+ if (TTY_State) init_tty (TTY_State - 1);
+ SLsmg_resume_smg ();
+ SLcurses_Is_Endwin = 0;
+ }
+
+ if (w == NULL)
+ {
+ SLsmg_refresh ();
+ return -1;
+ }
+
+ if (w->modified == 0)
+ return 0;
+
+ r = w->_begy;
+ c = w->_begx;
+
+ len = w->ncols;
+ imax = w->nrows;
+
+ for (i = 0; i < imax; i++)
+ {
+ SLsmg_gotorc (r, c);
+ SLsmg_write_color_chars (w->lines[i], len);
+ r++;
+ }
+
+ if (w->has_box)
+ SLsmg_draw_box(w->_begy, w->_begx, w->nrows, w->ncols);
+
+ SLsmg_gotorc (w->_begy + w->_cury, w->_begx + w->_curx);
+ w->modified = 0;
+ return 0;
+}
+
+int SLcurses_wrefresh (SLcurses_Window_Type *w)
+{
+ if (w == NULL)
+ return -1;
+
+ if (w->modified == 0)
+ return 0;
+
+ SLcurses_wnoutrefresh (w);
+ SLsmg_refresh ();
+ return 0;
+}
+
+int SLcurses_wclrtoeol (SLcurses_Window_Type *w)
+{
+ SLsmg_Char_Type *b, *bmax;
+ SLsmg_Char_Type blank;
+
+ if (w == NULL) return -1;
+ if (w->_cury >= w->nrows)
+ return 0;
+
+ w->modified = 1;
+
+ blank = SLSMG_BUILD_CHAR(' ',w->color);
+
+ b = w->lines[w->_cury];
+ bmax = b + w->ncols;
+ b += w->_curx;
+
+ while (b < bmax) *b++ = blank;
+ return 0;
+}
+
+int SLcurses_wclrtobot (SLcurses_Window_Type *w)
+{
+ SLsmg_Char_Type *b, *bmax;
+ SLsmg_Char_Type blank;
+ unsigned int r;
+
+ if (w == NULL) return -1;
+
+ w->modified = 1;
+ blank = SLSMG_BUILD_CHAR(' ',w->color);
+ SLcurses_wclrtoeol (w);
+ for (r = w->_cury + 1; r < w->nrows; r++)
+ {
+ b = w->lines [r];
+ bmax = b + w->ncols;
+
+ while (b < bmax) *b++ = blank;
+ }
+
+ return 0;
+}
+
+int SLcurses_wscrl (SLcurses_Window_Type *w, int n)
+{
+ SLsmg_Char_Type **lines;
+ unsigned int r, rmax, rmin, ncols;
+ SLsmg_Char_Type color;
+
+ if ((w == NULL) || (w->scroll_ok == 0))
+ return -1;
+
+ w->modified = 1;
+#if 0
+ if (w->is_subwin)
+ {
+ SLang_reset_tty ();
+ SLsmg_reset_smg ();
+ fprintf (stderr, "\rAttempt to scroll a subwindow\n");
+ exit (1);
+ }
+#endif
+
+ color = w->color;
+ ncols = w->ncols;
+ lines = w->lines;
+ rmax = w->scroll_max;
+ rmin = w->scroll_min;
+ if (rmax > w->nrows)
+ rmax = w->nrows;
+ if (rmin >= rmax)
+ return 0;
+
+ while (n > 0)
+ {
+ for (r = rmin + 1; r < rmax; r++)
+ {
+ /* lines[r - 1] = lines[r]; */
+ memcpy ((char *)lines[r - 1], (char *)lines[r],
+ sizeof (SLsmg_Char_Type) * ncols);
+ }
+ blank_line (lines[rmax - 1], ncols, color);
+ n--;
+ }
+
+ rmax--;
+ while (n < 0)
+ {
+ for (r = rmax; r > rmin; r--)
+ {
+ memcpy ((char *)lines[r], (char *)lines[r - 1],
+ sizeof (SLsmg_Char_Type) * ncols);
+ }
+ blank_line (lines[rmin], ncols, color);
+ n++;
+ }
+
+ /* wmove (w, w->nrows - 1, 0); */
+ /* wclrtobot (w); */
+ return 0;
+}
+
+/* Note: if len is < 0, entire string will be used.
+ */
+int SLcurses_waddnstr (SLcurses_Window_Type *w, char *str, int len)
+{
+ SLsmg_Char_Type *b;
+ SLsmg_Char_Type color;
+ unsigned char ch;
+ unsigned int nrows, ncols, crow, ccol;
+
+ if ((w == NULL)
+ || (str == NULL))
+ return -1;
+
+ w->modified = 1;
+ nrows = w->nrows;
+ ncols = w->ncols;
+ crow = w->_cury;
+ ccol = w->_curx;
+ color = w->color;
+
+ if (w->scroll_max <= nrows)
+ nrows = w->scroll_max;
+
+ if (crow >= nrows)
+ crow = 0; /* wrap back to top */
+
+ b = w->lines [crow] + ccol;
+
+ while (len && ((ch = (unsigned char) *str++) != 0))
+ {
+ len--;
+
+ if (ch == '\n')
+ {
+ w->_cury = crow;
+ w->_curx = ccol;
+ SLcurses_wclrtoeol (w);
+ do_newline (w);
+ crow = w->_cury;
+ ccol = w->_curx;
+ b = w->lines[crow];
+ continue;
+ }
+
+ if (ccol >= ncols)
+ {
+ ccol = 0;
+ crow++;
+ if (crow >= nrows)
+ {
+ w->_curx = 0;
+ w->_cury = crow;
+ do_newline (w);
+ crow = w->_cury;
+ ccol = w->_curx;
+ }
+
+ b = w->lines [crow];
+ }
+
+ if (ch == '\t')
+ {
+ unsigned int n = ccol;
+ n += SLsmg_Tab_Width;
+ n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
+ if (ccol + n > ncols) n = ncols - len;
+ ccol += n;
+ while (n--)
+ *b++ = SLSMG_BUILD_CHAR(' ',color);
+ continue;
+ }
+
+ *b++ = SLSMG_BUILD_CHAR(ch, color);
+ ccol++;
+ }
+
+ w->_curx = ccol;
+ w->_cury = crow;
+
+ return 0;
+}
+
+/* This routine IS NOT CORRECT. It needs to compute the proper overlap
+ * and copy accordingly. Here, I just assume windows are same size.
+ */
+#if 0
+int SLcurses_overlay (SLcurses_Window_Type *swin, SLcurses_Window_Type *dwin)
+{
+ SLsmg_Char_Type *s, *smax, *d, *dmax;
+
+ if ((swin == NULL) || (dwin == NULL))
+ return -1;
+
+ s = swin->buf;
+ smax = swin->bufmax;
+ d = dwin->buf;
+ dmax = dwin->bufmax;
+
+ while ((s < smax) && (d < dmax))
+ {
+ SLsmg_Char_Type ch = *s++;
+ if (SLSMG_EXTRACT_CHAR(ch) != ' ')
+ *d = ch;
+ d++;
+ }
+
+ return -1; /* not implemented */
+}
+
+#endif
+
+SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *orig,
+ unsigned int nlines, unsigned int ncols,
+ unsigned int begin_y, unsigned int begin_x)
+{
+ SLcurses_Window_Type *sw;
+ int r, c;
+ unsigned int i;
+
+ if (orig == NULL)
+ return NULL;
+
+ sw = (SLcurses_Window_Type *) SLmalloc (sizeof (SLcurses_Window_Type));
+ if (sw == NULL)
+ return NULL;
+
+ SLMEMSET ((char *)sw, 0, sizeof (SLcurses_Window_Type));
+#if 1
+ r = begin_y - orig->_begy;
+#else
+ r = 1 + ((int)orig->nrows - (int)nlines) / 2;
+#endif
+ if (r < 0) r = 0;
+ if (r + nlines > orig->nrows) nlines = orig->nrows - r;
+
+ c = ((int)orig->ncols - (int)ncols) / 2;
+ if (c < 0) c = 0;
+ if (c + ncols > orig->ncols) ncols = orig->ncols - c;
+
+ sw->scroll_min = 0;
+ sw->scroll_max = sw->nrows = nlines;
+ sw->ncols = ncols;
+ sw->_begy = begin_y;
+ sw->_begx = begin_x;
+ sw->_maxx = (begin_x + ncols) - 1;
+ sw->_maxy = (begin_y + nlines) - 1;
+
+ sw->lines = (SLsmg_Char_Type **) SLmalloc (nlines * sizeof (SLsmg_Char_Type *));
+ if (sw->lines == NULL)
+ {
+ SLcurses_delwin (sw);
+ return NULL;
+ }
+
+ for (i = 0; i < nlines; i++)
+ {
+ sw->lines [i] = orig->lines [r + i] + c;
+ }
+
+ sw->is_subwin = 1;
+ return sw;
+}
+
+int SLcurses_wclear (SLcurses_Window_Type *w)
+{
+ unsigned int i;
+
+ if (w != NULL) w->modified = 1;
+ for (i=0; i < w->nrows; i++)
+ blank_line (w->lines[i], w->ncols, w->color);
+ return 0;
+}
+
+int SLcurses_wdelch (SLcurses_Window_Type *w)
+{
+ SLsmg_Char_Type *p, *p1, *pmax;
+
+ p = w->lines[w->_cury];
+ pmax = p + w->ncols;
+ p += w->_curx;
+ p1 = p + 1;
+
+ while (p1 < pmax)
+ {
+ *p = *p1;
+ p = p1;
+ p1++;
+ }
+
+ if (p < pmax)
+ *p = SLSMG_BUILD_CHAR(' ',w->color);
+
+ w->modified = 1;
+ return 0;
+}
+
+int SLcurses_winsch (SLcurses_Window_Type *w, int ch)
+{
+ SLsmg_Char_Type *p, *p1, *pmax;
+
+ p = w->lines[w->_cury];
+ pmax = p + w->ncols;
+ p += w->_curx;
+ p1 = pmax - 1;
+
+ while (pmax > p)
+ {
+ *pmax = *p1;
+ pmax = p1;
+ p1--;
+ }
+
+ if (p < pmax)
+ *p = SLSMG_BUILD_CHAR(ch, w->color);
+
+ w->modified = 1;
+ return 0;
+}
+
+int SLcurses_endwin (void)
+{
+ SLcurses_Is_Endwin = 1;
+ SLsmg_suspend_smg ();
+ SLang_reset_tty ();
+ return 0;
+}
+
+#if 0
+int SLcurses_mvwscanw (SLcurses_Window_Type *w, unsigned int r, unsigned int c,
+ char *fmt, ...)
+{
+#if HAVE_VFSCANF
+ int ret;
+ va_list ap;
+
+ SLcurses_wmove (w, r, c);
+ SLcurses_wrefresh (w);
+
+ va_start(ap, fmt);
+ ret = vfscanf (stdin, fmt, ap);
+ va_end(ap);
+ return ret;
+#else
+ return 0;
+#endif
+}
+
+int SLcurses_wscanw (SLcurses_Window_Type *w, char *fmt, ...)
+{
+#if HAVE_VFSCANF
+ va_list ap;
+ int ret;
+
+ SLcurses_wrefresh (w);
+
+ va_start(ap, fmt);
+ ret = vfscanf (stdin, fmt, ap);
+ va_end(ap);
+
+ return ret;
+#else
+ return 0;
+#endif
+}
+
+int SLcurses_scanw (char *fmt, ...)
+{
+#ifdef HAVE_VFSCANF
+ va_list ap;
+ int ret;
+
+ SLcurses_wrefresh (SLcurses_Stdscr);
+
+ va_start(ap, fmt);
+ ret = vfscanf (stdin, fmt, ap);
+ va_end(ap);
+
+ return ret;
+#else
+ return 0;
+#endif
+}
+#endif
+
+int SLcurses_clearok (SLcurses_Window_Type *w, int bf)
+{
+ if (bf)
+ {
+ SLsmg_cls ();
+ w->modified = 1;
+ }
+ return 0;
+}
diff --git a/mdk-stage1/slang/slcurses.h b/mdk-stage1/slang/slcurses.h
new file mode 100644
index 000000000..fa082304f
--- /dev/null
+++ b/mdk-stage1/slang/slcurses.h
@@ -0,0 +1,353 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include <stdio.h>
+
+#ifndef SLANG_VERSION
+# include <slang.h>
+#endif
+
+/* This is a temporary hack until lynx is fixed to not include this file. */
+#ifndef LYCURSES_H
+
+typedef struct
+{
+ unsigned int _begy, _begx, _maxy, _maxx;
+ unsigned int _curx, _cury;
+ unsigned int nrows, ncols;
+ unsigned int scroll_min, scroll_max;
+ SLsmg_Char_Type **lines;
+ SLsmg_Char_Type color;
+ int is_subwin;
+ SLtt_Char_Type attr;
+ int delay_off;
+ int scroll_ok;
+ int modified;
+ int has_box;
+ int use_keypad;
+}
+SLcurses_Window_Type;
+
+extern int SLcurses_wclrtobot (SLcurses_Window_Type *);
+extern int SLcurses_wscrl (SLcurses_Window_Type *, int);
+extern int SLcurses_wrefresh (SLcurses_Window_Type *);
+extern int SLcurses_delwin (SLcurses_Window_Type *);
+extern int SLcurses_wprintw (SLcurses_Window_Type *, char *, ...);
+extern SLcurses_Window_Type *SLcurses_newwin (unsigned int, unsigned int,
+ unsigned int, unsigned int);
+
+extern SLcurses_Window_Type *SLcurses_subwin (SLcurses_Window_Type *,
+ unsigned int, unsigned int,
+ unsigned int, unsigned int);
+
+extern int SLcurses_wnoutrefresh (SLcurses_Window_Type *);
+extern int SLcurses_wclrtoeol (SLcurses_Window_Type *);
+
+extern int SLcurses_wmove (SLcurses_Window_Type *, unsigned int, unsigned int);
+extern int SLcurses_waddch (SLcurses_Window_Type *, SLtt_Char_Type);
+extern int SLcurses_waddnstr (SLcurses_Window_Type *, char *, int);
+
+#define waddnstr SLcurses_waddnstr
+#define waddch SLcurses_waddch
+#define waddstr(w,s) waddnstr((w),(s),-1)
+#define addstr(x) waddstr(stdscr, (x))
+#define addnstr(s,n) waddnstr(stdscr,(s),(n))
+#define addch(ch) waddch(stdscr,(ch))
+
+#define mvwaddnstr(w,y,x,s,n) \
+ (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s),(n)))
+#define mvwaddstr(w,y,x,s) \
+ (-1 == wmove((w),(y),(x)) ? -1 : waddnstr((w),(s), -1))
+#define mvaddnstr(y,x,s,n) mvwaddnstr(stdscr,(y),(x),(s),(n))
+#define mvaddstr(y,x,s) mvwaddstr(stdscr,(y),(x),(s))
+#define mvwaddch(w,y,x,c) \
+ ((-1 == wmove((w),(y),(x))) ? -1 : waddch((w),(c)))
+#define mvaddch(y,x,c) mvwaddch(stdscr,(y),(x),(c))
+
+extern int SLcurses_wclear (SLcurses_Window_Type *w);
+extern int SLcurses_printw (char *, ...);
+
+#if 0
+/* Why are these functions part of curses??? */
+extern int SLcurses_mvwscanw (SLcurses_Window_Type *, unsigned int, unsigned int,
+ char *, ...);
+extern int SLcurses_wscanw (SLcurses_Window_Type *, char *, ...);
+extern int SLcurses_scanw (char *, ...);
+#define mvwscanw SLcurses_mvwscanw
+#define wscanw SLcurses_wscanw
+#define scanw SLcurses_scanw
+#endif
+
+extern SLcurses_Window_Type *SLcurses_Stdscr;
+#define WINDOW SLcurses_Window_Type
+#define stdscr SLcurses_Stdscr
+
+#define subwin SLcurses_subwin
+#define wclrtobot SLcurses_wclrtobot
+#define wscrl SLcurses_wscrl
+#define scrl(n) wscrl(stdscr,(n))
+#define scroll(w) wscrl((w),1)
+#define wrefresh SLcurses_wrefresh
+#define delwin SLcurses_delwin
+#define wmove SLcurses_wmove
+#define newwin SLcurses_newwin
+#define wnoutrefresh SLcurses_wnoutrefresh
+#define werase(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
+#define wclear(w) SLcurses_wmove((w),0,0); SLcurses_wclrtobot(w)
+#define wprintw SLcurses_wprintw
+#define mvwprintw SLcurses_mvwprintw
+
+#define winch(w) \
+ ((((w)->_cury < (w)->nrows) && ((w)->_curx < (w)->ncols)) \
+ ? ((w)->lines[(w)->_cury][(w)->_curx]) : 0)
+
+#define inch() winch(stdscr)
+#define mvwinch(w,x,y) \
+ ((-1 != wmove((w),(x),(y))) ? winch(w) : (-1))
+#define doupdate SLsmg_refresh
+
+#define mvwin(w,a,b) ((w)->_begy = (a), (w)->_begx = (b))
+
+extern int SLcurses_mvprintw (int, int, char *, ...);
+extern int SLcurses_mvwprintw (SLcurses_Window_Type *, int, int, char *, ...);
+extern int SLcurses_has_colors(void);
+extern int SLcurses_nil (void);
+extern int SLcurses_wgetch (SLcurses_Window_Type *);
+extern int SLcurses_getch (void);
+
+extern int SLcurses_wattrset (SLcurses_Window_Type *, SLtt_Char_Type);
+extern int SLcurses_wattron (SLcurses_Window_Type *, SLtt_Char_Type);
+extern int SLcurses_wattroff (SLcurses_Window_Type *, SLtt_Char_Type);
+#define attrset(x) SLcurses_wattrset(stdscr, (x))
+#define attron(x) SLcurses_wattron(stdscr, (x))
+#define attroff(x) SLcurses_wattroff(stdscr, (x))
+#define wattrset(w, x) SLcurses_wattrset((w), (x))
+#define wattron(w, x) SLcurses_wattron((w), (x))
+#define wattroff(w, x) SLcurses_wattroff((w), (x))
+#define wattr_get(w) ((w)->color << 8)
+#define attr_get() wattr_get(stdscr)
+
+#define COLOR_PAIR(x) ((x) << 8)
+
+extern int SLcurses_start_color (void);
+#define start_color SLcurses_start_color
+
+#define ERR 0xFFFF
+#define wgetch SLcurses_wgetch
+#define getch SLcurses_getch
+
+extern int SLcurses_nodelay (SLcurses_Window_Type *, int);
+extern SLcurses_Window_Type *SLcurses_initscr (void);
+#define initscr SLcurses_initscr
+
+extern int SLcurses_cbreak (void);
+extern int SLcurses_raw (void);
+#define cbreak SLcurses_cbreak
+#define crmode SLcurses_cbreak
+#define raw SLcurses_raw
+#define noraw SLang_reset_tty
+#define nocbreak SLang_reset_tty
+
+#define mvprintw SLcurses_mvprintw
+#define has_colors SLcurses_has_colors
+#define nodelay SLcurses_nodelay
+
+#define ungetch SLang_ungetkey
+
+#define COLS SLtt_Screen_Cols
+#define LINES SLtt_Screen_Rows
+
+#define move(x,y) SLcurses_wmove(stdscr, (x), (y))
+#define wclrtoeol SLcurses_wclrtoeol
+#define clrtoeol() SLcurses_wclrtoeol(stdscr)
+#define clrtobot() SLcurses_wclrtobot(stdscr)
+
+#define printw SLcurses_printw
+#define mvprintw SLcurses_mvprintw
+#define wstandout(w) SLcurses_wattrset((w),A_STANDOUT)
+#define wstandend(w) SLcurses_wattrset((w),A_NORMAL)
+#define standout() SLcurses_wattrset(stdscr,A_STANDOUT)
+#define standend() SLcurses_wattrset(stdscr,A_NORMAL)
+
+#define refresh() SLcurses_wrefresh(stdscr)
+#define clear() SLcurses_wclear(stdscr)
+#define erase() werase(stdscr)
+#define touchline SLsmg_touch_lines
+#define resetterm SLang_reset_tty
+
+extern int SLcurses_endwin (void);
+#define endwin SLcurses_endwin
+extern int SLcurses_Is_Endwin;
+#define isendwin() SLcurses_Is_Endwin
+
+#define keypad(w,x) ((w)->use_keypad = (x))
+
+#define KEY_MIN SL_KEY_UP
+#define KEY_DOWN SL_KEY_DOWN
+#define KEY_UP SL_KEY_UP
+#define KEY_LEFT SL_KEY_LEFT
+#define KEY_RIGHT SL_KEY_RIGHT
+#define KEY_A1 SL_KEY_A1
+#define KEY_B1 SL_KEY_B1
+#define KEY_C1 SL_KEY_C1
+#define KEY_A2 SL_KEY_A2
+#define KEY_B2 SL_KEY_B2
+#define KEY_C2 SL_KEY_C2
+#define KEY_A3 SL_KEY_A3
+#define KEY_B3 SL_KEY_B3
+#define KEY_C3 SL_KEY_C3
+#define KEY_REDO SL_KEY_REDO
+#define KEY_UNDO SL_KEY_UNDO
+#define KEY_BACKSPACE SL_KEY_BACKSPACE
+#define KEY_PPAGE SL_KEY_PPAGE
+#define KEY_NPAGE SL_KEY_NPAGE
+#define KEY_HOME SL_KEY_HOME
+#define KEY_END SL_KEY_END
+#define KEY_F0 SL_KEY_F0
+#define KEY_F SL_KEY_F
+#define KEY_ENTER SL_KEY_ENTER
+#define KEY_MAX 0xFFFF
+
+/* Ugly Hacks that may not work */
+#define flushinp SLcurses_nil
+#define winsertln(w) \
+ ((w)->scroll_min=(w)->_cury, \
+ (w)->scroll_max=(w)->nrows, \
+ wscrl((w), -1))
+
+extern SLtt_Char_Type SLcurses_Acs_Map [128];
+#define acs_map SLcurses_Acs_Map
+
+#define ACS_ULCORNER (acs_map[SLSMG_ULCORN_CHAR])
+#define ACS_URCORNER (acs_map[SLSMG_URCORN_CHAR])
+#define ACS_LRCORNER (acs_map[SLSMG_LRCORN_CHAR])
+#define ACS_LLCORNER (acs_map[SLSMG_LLCORN_CHAR])
+#define ACS_TTEE (acs_map[SLSMG_UTEE_CHAR])
+#define ACS_LTEE (acs_map[SLSMG_LTEE_CHAR])
+#define ACS_RTEE (acs_map[SLSMG_RTEE_CHAR])
+#define ACS_BTEE (acs_map[SLSMG_DTEE_CHAR])
+#define ACS_PLUS (acs_map[SLSMG_PLUS_CHAR])
+#define ACS_VLINE (acs_map[SLSMG_VLINE_CHAR])
+#define ACS_HLINE (acs_map[SLSMG_HLINE_CHAR])
+#define ACS_S1 '-'
+#define ACS_S9 '-'
+#define ACS_DIAMOND '&'
+#define ACS_CKBOARD (acs_map[SLSMG_CKBRD_CHAR])
+#define ACS_DEGREE 'o'
+#define ACS_PLMINUS '+'
+#define ACS_BULLET '*'
+#define ACS_LARROW '<'
+#define ACS_RARROW '>'
+#define ACS_DARROW 'v'
+#define ACS_UARROW '^'
+#define ACS_BOARD '#'
+#define ACS_LANTERN '#'
+#define ACS_BLOCK '#'
+
+#if 1
+#define hline(x,y) SLcurses_nil ()
+#define vline(x,y) SLcurses_nil ()
+#endif
+
+#define A_CHARTEXT 0x00FF
+#define A_NORMAL 0
+#define A_BOLD 0x1000
+#define A_REVERSE 0x2000
+#define A_STANDOUT A_REVERSE
+#define A_UNDERLINE 0x4000
+#define A_BLINK 0
+#define A_COLOR 0x0700
+#define A_ALTCHARSET 0x8000
+#define A_DIM 0
+#define A_PROTECT 0
+#define A_INVIS 0
+
+#define COLOR_BLACK SLSMG_COLOR_BLACK
+#define COLOR_RED SLSMG_COLOR_RED
+#define COLOR_GREEN SLSMG_COLOR_GREEN
+#define COLOR_YELLOW SLSMG_COLOR_BROWN
+#define COLOR_BLUE SLSMG_COLOR_BLUE
+#define COLOR_MAGENTA SLSMG_COLOR_MAGENTA
+#define COLOR_CYAN SLSMG_COLOR_CYAN
+#define COLOR_WHITE SLSMG_COLOR_LGRAY
+
+extern int SLcurses_Num_Colors;
+#define COLORS SLcurses_Num_Colors
+#define COLOR_PAIRS (SLcurses_Num_Colors*SLcurses_Num_Colors)
+
+#define init_pair(_x,_f,_b) \
+ SLtt_set_color_object((_x), ((_f) == (_b) ? 0x0700 : ((_f) | ((_b) << 8)) << 8))
+
+#define scrollok(a,b) ((a)->scroll_ok = (b))
+#define getyx(a,y,x) (y=(a)->_cury, x=(a)->_curx)
+#define getmaxyx(a,y,x) (y=(a)->nrows, x=(a)->ncols)
+#define napms(x) usleep(1000 * (x))
+typedef SLtt_Char_Type chtype;
+#define beep SLtt_beep
+#define curs_set(x) SLtt_set_cursor_visibility(x)
+#define touchwin(x) SLsmg_touch_lines((x)->_begy, (x)->nrows)
+#define flash SLtt_beep
+
+#define wsetscrreg(w,a,b) ((w)->scroll_min = (a), (w)->scroll_max = (b))
+
+#define wtimeout(a,b) (a)->delay_off = ((b >= 0) ? (b) / 100 : -1)
+#define timeout(a) wtimeout(stdscr, a)
+extern int SLcurses_wdelch (SLcurses_Window_Type *);
+#define wdelch SLcurses_wdelch
+#define delch() wdelch(stdscr)
+
+extern int SLcurses_winsch (SLcurses_Window_Type *, int);
+#define winsch SLcurses_winsch
+
+extern int SLcurses_Esc_Delay;/* ESC expire time in milliseconds (ncurses compatible) */
+#define ESCDELAY SLcurses_Esc_Delay
+
+extern int SLcurses_clearok (SLcurses_Window_Type *, int);
+#define clearok SLcurses_clearok
+
+/* Functions that have not been implemented. */
+#define copywin(w,v,a,b,c,d,e,f,g) SLcurses_nil()
+#define wdeleteln(win) SLcurses_nil()
+#define resetty SLcurses_nil
+#define savetty SLcurses_nil
+#define overlay(u,v) SLcurses_nil()
+
+/* These functions do nothing */
+#define savetty SLcurses_nil
+#define nonl SLcurses_nil
+#define echo SLcurses_nil
+#define noecho SLcurses_nil
+#define saveterm SLcurses_nil
+#define box(w,y,z) ((w)->has_box = 1, (w)->modified = 1)
+#define leaveok(a,b) SLcurses_nil()
+#define nl() SLcurses_nil()
+#define trace(x) SLcurses_nil()
+#define tigetstr(x) NULL
+
+/* These have no place in C */
+#define TRUE 1
+#define FALSE 0
+#define bool int
+
+/* Lynx compatability */
+#else
+
+#define stdscr NULL
+#define COLS SLtt_Screen_Cols
+#define LINES SLtt_Screen_Rows
+#define move SLsmg_gotorc
+#define addstr SLsmg_write_string
+#define clear SLsmg_cls
+#define standout SLsmg_reverse_video
+#define standend SLsmg_normal_video
+#define clrtoeol SLsmg_erase_eol
+#define scrollok(a,b) SLsmg_Newline_Moves = ((b) ? 1 : -1)
+#define addch SLsmg_write_char
+#define echo()
+#define printw SLsmg_printf
+#define endwin SLsmg_reset_smg(),SLang_reset_tty
+
+#endif
diff --git a/mdk-stage1/slang/sldisply.c b/mdk-stage1/slang/sldisply.c
new file mode 100644
index 000000000..1e1161774
--- /dev/null
+++ b/mdk-stage1/slang/sldisply.c
@@ -0,0 +1,2596 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include <time.h>
+#include <ctype.h>
+
+#if !defined(VMS) || (__VMS_VER >= 70000000)
+# include <sys/time.h>
+# ifdef __QNX__
+# include <sys/select.h>
+# endif
+# include <sys/types.h>
+#endif
+
+#ifdef __BEOS__
+/* Prototype for select */
+# include <net/socket.h>
+#endif
+
+#ifdef HAVE_TERMIOS_H
+# include <termios.h>
+#endif
+
+#ifdef VMS
+# include <unixlib.h>
+# include <unixio.h>
+# include <dvidef.h>
+# include <descrip.h>
+# include <lib$routines.h>
+# include <starlet.h>
+#else
+# if !defined(sun)
+# include <sys/ioctl.h>
+# endif
+#endif
+
+#ifdef SYSV
+# include <sys/termio.h>
+# include <sys/stream.h>
+# include <sys/ptem.h>
+# include <sys/tty.h>
+#endif
+
+#if defined (_AIX) && !defined (FD_SET)
+# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
+#endif
+
+#include <errno.h>
+
+#if defined(__DECC) && defined(VMS)
+/* These get prototypes for write an sleep */
+# include <unixio.h>
+#endif
+#include <signal.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+/* Colors: These definitions are used for the display. However, the
+ * application only uses object handles which get mapped to this
+ * internal representation. The mapping is performed by the Color_Map
+ * structure below. */
+
+#define CHAR_MASK 0x000000FF
+#define FG_MASK 0x0000FF00
+#define BG_MASK 0x00FF0000
+#define ATTR_MASK 0x1F000000
+#define BGALL_MASK 0x0FFF0000
+
+/* The 0x10000000 bit represents the alternate character set. BGALL_MASK does
+ * not include this attribute.
+ */
+
+#define GET_FG(color) ((color & FG_MASK) >> 8)
+#define GET_BG(color) ((color & BG_MASK) >> 16)
+#define MAKE_COLOR(fg, bg) (((fg) | ((bg) << 8)) << 8)
+
+int SLtt_Screen_Cols;
+int SLtt_Screen_Rows;
+int SLtt_Term_Cannot_Insert;
+int SLtt_Term_Cannot_Scroll;
+int SLtt_Use_Ansi_Colors;
+int SLtt_Blink_Mode = 1;
+int SLtt_Use_Blink_For_ACS = 0;
+int SLtt_Newline_Ok = 0;
+int SLtt_Has_Alt_Charset = 0;
+int SLtt_Force_Keypad_Init = 0;
+
+void (*_SLtt_color_changed_hook)(void);
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+static int Bce_Color_Offset = 0;
+#endif
+static int Can_Background_Color_Erase = 1;
+
+/* -1 means unknown */
+int SLtt_Has_Status_Line = -1; /* hs */
+int SLang_TT_Write_FD = -1;
+
+static int Automatic_Margins;
+/* static int No_Move_In_Standout; */
+static int Worthless_Highlight;
+#define HP_GLITCH_CODE
+#ifdef HP_GLITCH_CODE
+/* This glitch is exclusive to HP term. Basically it means that to clear
+ * attributes, one has to erase to the end of the line.
+ */
+static int Has_HP_Glitch;
+#endif
+
+static char *Reset_Color_String;
+static int Is_Color_Terminal = 0;
+
+static int Linux_Console;
+
+/* It is crucial that JMAX_COLORS must be less than 128 since the high bit
+ * is used to indicate a character from the ACS (alt char set). The exception
+ * to this rule is if SLtt_Use_Blink_For_ACS is true. This means that of
+ * the highbit is set, we interpret that as a blink character. This is
+ * exploited by DOSemu.
+ */
+#define JMAX_COLORS 256
+#define JNORMAL_COLOR 0
+
+typedef struct
+{
+ SLtt_Char_Type fgbg;
+ SLtt_Char_Type mono;
+ char *custom_esc;
+}
+Ansi_Color_Type;
+
+#define RGB1(r, g, b) ((r) | ((g) << 1) | ((b) << 2))
+#define RGB(r, g, b, br, bg, bb) ((RGB1(r, g, b) << 8) | (RGB1(br, bg, bb) << 16))
+
+static Ansi_Color_Type Ansi_Color_Map[JMAX_COLORS] =
+{
+ {RGB(1, 1, 1, 0, 0, 0), 0x00000000, NULL}, /* white/black */
+ {RGB(0, 1, 0, 0, 0, 0), SLTT_REV_MASK, NULL}, /* green/black */
+ {RGB(1, 0, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* magenta/black */
+ {RGB(0, 1, 1, 0, 0, 0), SLTT_REV_MASK, NULL}, /* cyan/black */
+ {RGB(1, 0, 0, 0, 0, 0), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
+ {RGB(1, 0, 0, 0, 0, 1), SLTT_REV_MASK, NULL},
+ {RGB(1, 0, 0, 0, 1, 0), SLTT_REV_MASK, NULL},
+ {RGB(0, 0, 1, 1, 0, 0), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 1, 0, 0), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(1, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(1, 0, 1, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(0, 0, 0, 0, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL},
+ {RGB(0, 1, 0, 1, 1, 1), SLTT_REV_MASK, NULL}
+};
+
+static char *Color_Fg_Str = "\033[3%dm";
+static char *Color_Bg_Str = "\033[4%dm";
+static char *Default_Color_Fg_Str = "\033[39m";
+static char *Default_Color_Bg_Str = "\033[49m";
+
+static int Max_Terminfo_Colors = 8; /* termcap Co */
+
+char *SLtt_Graphics_Char_Pairs; /* ac termcap string -- def is vt100 */
+
+/* 1 if terminal lacks the ability to go into insert mode or into delete
+ mode. Currently controlled by S-Lang but later perhaps termcap. */
+
+static char *UnderLine_Vid_Str;
+static char *Blink_Vid_Str;
+static char *Bold_Vid_Str;
+static char *Ins_Mode_Str; /* = "\033[4h"; */ /* ins mode (im) */
+static char *Eins_Mode_Str; /* = "\033[4l"; */ /* end ins mode (ei) */
+static char *Scroll_R_Str; /* = "\033[%d;%dr"; */ /* scroll region */
+static char *Cls_Str; /* = "\033[2J\033[H"; */ /* cl termcap STR for ansi terminals */
+static char *Rev_Vid_Str; /* = "\033[7m"; */ /* mr,so termcap string */
+static char *Norm_Vid_Str; /* = "\033[m"; */ /* me,se termcap string */
+static char *Del_Eol_Str; /* = "\033[K"; */ /* ce */
+static char *Del_Bol_Str; /* = "\033[1K"; */ /* cb */
+static char *Del_Char_Str; /* = "\033[P"; */ /* dc */
+static char *Del_N_Lines_Str; /* = "\033[%dM"; */ /* DL */
+static char *Add_N_Lines_Str; /* = "\033[%dL"; */ /* AL */
+static char *Rev_Scroll_Str;
+static char *Curs_Up_Str;
+static char *Curs_F_Str; /* RI termcap string */
+static char *Cursor_Visible_Str; /* ve termcap string */
+static char *Cursor_Invisible_Str; /* vi termcap string */
+#if 0
+static char *Start_Mouse_Rpt_Str; /* Start mouse reporting mode */
+static char *End_Mouse_Rpt_Str; /* End mouse reporting mode */
+#endif
+static char *Start_Alt_Chars_Str; /* as */
+static char *End_Alt_Chars_Str; /* ae */
+static char *Enable_Alt_Char_Set; /* eA */
+
+static char *Term_Init_Str;
+static char *Keypad_Init_Str;
+static char *Term_Reset_Str;
+static char *Keypad_Reset_Str;
+
+/* status line functions */
+static char *Disable_Status_line_Str; /* ds */
+static char *Return_From_Status_Line_Str; /* fs */
+static char *Goto_Status_Line_Str; /* ts */
+static int Num_Status_Line_Columns; /* ws */
+/* static int Status_Line_Esc_Ok; */ /* es */
+
+/* static int Len_Curs_F_Str = 5; */
+
+/* cm string has %i%d since termcap numbers columns from 0 */
+/* char *CURS_POS_STR = "\033[%d;%df"; ansi-- hor and vert pos */
+static char *Curs_Pos_Str; /* = "\033[%i%d;%dH";*/ /* cm termcap string */
+
+/* scrolling region */
+static int Scroll_r1 = 0, Scroll_r2 = 23;
+static int Cursor_r, Cursor_c; /* 0 based */
+
+/* current attributes --- initialized to impossible value */
+static SLtt_Char_Type Current_Fgbg = 0xFFFFFFFFU;
+
+static int Cursor_Set; /* 1 if cursor position known, 0
+ * if not. -1 if only row is known
+ */
+
+#define MAX_OUTPUT_BUFFER_SIZE 4096
+
+static unsigned char Output_Buffer[MAX_OUTPUT_BUFFER_SIZE];
+static unsigned char *Output_Bufferp = Output_Buffer;
+
+unsigned long SLtt_Num_Chars_Output;
+
+int _SLusleep (unsigned long usecs)
+{
+#if !defined(VMS) || (__VMS_VER >= 70000000)
+ struct timeval tv;
+ tv.tv_sec = usecs / 1000000;
+ tv.tv_usec = usecs % 1000000;
+ return select(0, NULL, NULL, NULL, &tv);
+#else
+ return 0;
+#endif
+}
+
+int SLtt_flush_output (void)
+{
+ int nwrite = 0;
+ unsigned int total;
+ int n = (int) (Output_Bufferp - Output_Buffer);
+
+ SLtt_Num_Chars_Output += n;
+
+ total = 0;
+ while (n > 0)
+ {
+ nwrite = write (SLang_TT_Write_FD, (char *) Output_Buffer + total, n);
+ if (nwrite == -1)
+ {
+ nwrite = 0;
+#ifdef EAGAIN
+ if (errno == EAGAIN)
+ {
+ _SLusleep (100000); /* 1/10 sec */
+ continue;
+ }
+#endif
+#ifdef EWOULDBLOCK
+ if (errno == EWOULDBLOCK)
+ {
+ _SLusleep (100000);
+ continue;
+ }
+#endif
+#ifdef EINTR
+ if (errno == EINTR) continue;
+#endif
+ break;
+ }
+ n -= nwrite;
+ total += nwrite;
+ }
+ Output_Bufferp = Output_Buffer;
+ return n;
+}
+
+int SLtt_Baud_Rate;
+static void tt_write(char *str, unsigned int n)
+{
+ static unsigned long last_time;
+ static int total;
+ unsigned long now;
+ unsigned int ndiff;
+
+ if ((str == NULL) || (n == 0)) return;
+ total += n;
+
+ while (1)
+ {
+ ndiff = MAX_OUTPUT_BUFFER_SIZE - (int) (Output_Bufferp - Output_Buffer);
+ if (ndiff < n)
+ {
+ SLMEMCPY ((char *) Output_Bufferp, (char *) str, ndiff);
+ Output_Bufferp += ndiff;
+ SLtt_flush_output ();
+ n -= ndiff;
+ str += ndiff;
+ }
+ else
+ {
+ SLMEMCPY ((char *) Output_Bufferp, str, n);
+ Output_Bufferp += n;
+ break;
+ }
+ }
+
+ if (((SLtt_Baud_Rate > 150) && (SLtt_Baud_Rate <= 9600))
+ && (10 * total > SLtt_Baud_Rate))
+ {
+ total = 0;
+ if ((now = (unsigned long) time(NULL)) - last_time <= 1)
+ {
+ SLtt_flush_output ();
+ sleep((unsigned) 1);
+ }
+ last_time = now;
+ }
+}
+
+static void tt_write_string (char *str)
+{
+ if (str != NULL) tt_write(str, strlen(str));
+}
+
+void SLtt_write_string (char *str)
+{
+ tt_write_string (str);
+ Cursor_Set = 0;
+}
+
+void SLtt_putchar (char ch)
+{
+ SLtt_normal_video ();
+ if (Cursor_Set == 1)
+ {
+ if (ch >= ' ') Cursor_c++;
+ else if (ch == '\b') Cursor_c--;
+ else if (ch == '\r') Cursor_c = 0;
+ else Cursor_Set = 0;
+
+ if ((Cursor_c + 1 == SLtt_Screen_Cols)
+ && Automatic_Margins) Cursor_Set = 0;
+ }
+
+ if (Output_Bufferp < Output_Buffer + MAX_OUTPUT_BUFFER_SIZE)
+ {
+ *Output_Bufferp++ = (unsigned char) ch;
+ }
+ else tt_write (&ch, 1);
+}
+
+static unsigned int tt_sprintf(char *buf, char *fmt, int x, int y)
+{
+ char *fmt_max;
+ register unsigned char *b, ch;
+ int offset;
+ int z, z1, parse_level;
+ int zero_pad;
+ int field_width;
+ int variables [26];
+ int stack [64];
+ unsigned int stack_len;
+ int parms [10];
+#define STACK_POP (stack_len ? stack[--stack_len] : 0)
+
+ if (fmt == NULL)
+ {
+ *buf = 0;
+ return 0;
+ }
+
+ stack [0] = y; /* pushed for termcap */
+ stack [1] = x;
+ stack_len = 2;
+
+ parms [1] = x; /* p1 */
+ parms [2] = y; /* p2 */
+
+ offset = 0;
+ zero_pad = 0;
+ field_width = 0;
+
+ b = (unsigned char *) buf;
+ fmt_max = fmt + strlen (fmt);
+
+ while (fmt < fmt_max)
+ {
+ ch = *fmt++;
+
+ if (ch != '%')
+ {
+ *b++ = ch;
+ continue;
+ }
+
+ if (fmt == fmt_max) break;
+ ch = *fmt++;
+
+ switch (ch)
+ {
+ default:
+ *b++ = ch;
+ break;
+
+ case 'p':
+
+ if (fmt == fmt_max) break;
+ ch = *fmt++;
+ if ((ch >= '0') && (ch <= '9'))
+ stack [stack_len++] = parms [ch - '0'];
+ break;
+
+ case '\'': /* 'x' */
+ if (fmt == fmt_max) break;
+ stack [stack_len++] = *fmt++;
+ if (fmt < fmt_max) fmt++; /* skip ' */
+ break;
+
+ case '{': /* literal constant, e.g. {30} */
+ z = 0;
+ while ((fmt < fmt_max) && ((ch = *fmt) <= '9') && (ch >= '0'))
+ {
+ z = z * 10 + (ch - '0');
+ fmt++;
+ }
+ stack [stack_len++] = z;
+ if ((ch == '}') && (fmt < fmt_max)) fmt++;
+ break;
+
+ case '0':
+ if (fmt == fmt_max) break;
+ ch = *fmt;
+ if ((ch != '2') && (ch != '3'))
+ break;
+ zero_pad = 1;
+ fmt++;
+ /* drop */
+
+ case '2':
+ case '3':
+ if (fmt == fmt_max)
+ if (*fmt == 'x')
+ {
+ char x_fmt_buf [4];
+ char *x_fmt_buf_ptr;
+
+ x_fmt_buf_ptr = x_fmt_buf;
+ if (zero_pad) *x_fmt_buf_ptr++ = '0';
+ *x_fmt_buf_ptr++ = ch;
+ *x_fmt_buf_ptr++ = 'X';
+ *x_fmt_buf_ptr = 0;
+
+ z = STACK_POP;
+ z += offset;
+
+ sprintf ((char *)b, x_fmt_buf, z);
+ b += strlen ((char *)b);
+ zero_pad = 0;
+ break;
+ }
+
+ field_width = (ch - '0');
+ /* drop */
+
+ case 'd':
+ z = STACK_POP;
+ z += offset;
+ if (z >= 100)
+ {
+ *b++ = z / 100 + '0';
+ z = z % 100;
+ zero_pad = 1;
+ field_width = 2;
+ }
+ else if (zero_pad && (field_width == 3))
+ *b++ = '0';
+
+ if (z >= 10)
+ {
+ *b++ = z / 10 + '0';
+ z = z % 10;
+ }
+ else if (zero_pad && (field_width >= 2))
+ *b++ = '0';
+
+ *b++ = z + '0';
+ field_width = zero_pad = 0;
+ break;
+
+ case 'x':
+ z = STACK_POP;
+ z += offset;
+ sprintf ((char *) b, "%X", z);
+ b += strlen ((char *)b);
+ break;
+
+ case 'i':
+ offset = 1;
+ break;
+
+ case '+':
+ /* Handling this depends upon whether or not we are parsing
+ * terminfo. Terminfo requires the stack so use it as an
+ * indicator.
+ */
+ if (stack_len > 2)
+ {
+ z = STACK_POP;
+ stack [stack_len - 1] += z;
+ }
+ else if (fmt < fmt_max)
+ {
+ ch = *fmt++;
+ if ((unsigned char) ch == 128) ch = 0;
+ ch = ch + (unsigned char) STACK_POP;
+ if (ch == '\n') ch++;
+ *b++ = ch;
+ }
+ break;
+
+ /* Binary operators */
+ case '-':
+ case '*':
+ case '/':
+ case 'm':
+ case '&':
+ case '|':
+ case '^':
+ case '=':
+ case '>':
+ case '<':
+ case 'A':
+ case 'O':
+ z1 = STACK_POP;
+ z = STACK_POP;
+ switch (ch)
+ {
+ case '-': z = (z - z1); break;
+ case '*': z = (z * z1); break;
+ case '/': z = (z / z1); break;
+ case 'm': z = (z % z1); break;
+ case '&': z = (z & z1); break;
+ case '|': z = (z | z1); break;
+ case '^': z = (z ^ z1); break;
+ case '=': z = (z == z1); break;
+ case '>': z = (z > z1); break;
+ case '<': z = (z < z1); break;
+ case 'A': z = (z && z1); break;
+ case 'O': z = (z || z1); break;
+ }
+ stack [stack_len++] = z;
+ break;
+
+ /* unary */
+ case '!':
+ z = STACK_POP;
+ stack [stack_len++] = !z;
+ break;
+
+ case '~':
+ z = STACK_POP;
+ stack [stack_len++] = ~z;
+ break;
+
+ case 'r': /* termcap -- swap parameters */
+ z = stack [0];
+ stack [0] = stack [1];
+ stack [1] = z;
+ break;
+
+ case '.': /* termcap */
+ case 'c':
+ ch = (unsigned char) STACK_POP;
+ if (ch == '\n') ch++;
+ *b++ = ch;
+ break;
+
+ case 'g':
+ if (fmt == fmt_max) break;
+ ch = *fmt++;
+ if ((ch >= 'a') && (ch <= 'z'))
+ stack [stack_len++] = variables [ch - 'a'];
+ break;
+
+ case 'P':
+ if (fmt == fmt_max) break;
+ ch = *fmt++;
+ if ((ch >= 'a') && (ch <= 'z'))
+ variables [ch - 'a'] = STACK_POP;
+ break;
+
+ /* If then else parsing. Actually, this is rather easy. The
+ * key is to notice that 'then' does all the work. 'if' simply
+ * there to indicate the start of a test and endif indicates
+ * the end of tests. If 'else' is seen, then skip to
+ * endif.
+ */
+ case '?': /* if */
+ case ';': /* endif */
+ break;
+
+ case 't': /* then */
+ z = STACK_POP;
+ if (z != 0)
+ break; /* good. Continue parsing. */
+
+ /* z == 0 and test has failed. So, skip past this entire if
+ * expression to the matching else or matching endif.
+ */
+ /* drop */
+ case 'e': /* else */
+
+ parse_level = 0;
+ while (fmt < fmt_max)
+ {
+ unsigned char ch1;
+
+ ch1 = *fmt++;
+ if ((ch1 != '%') || (fmt == fmt_max))
+ continue;
+
+ ch1 = *fmt++;
+
+ if (ch1 == '?') parse_level++; /* new if */
+ else if (ch1 == 'e')
+ {
+ if ((ch != 'e') && (parse_level == 0))
+ break;
+ }
+ else if (ch1 == ';')
+ {
+ if (parse_level == 0)
+ break;
+ parse_level--;
+ }
+ }
+ break;
+ }
+ }
+ *b = 0;
+ return (unsigned int) (b - (unsigned char *) buf);
+}
+
+static void tt_printf(char *fmt, int x, int y)
+{
+ char buf[1024];
+ unsigned int n;
+ if (fmt == NULL) return;
+ n = tt_sprintf(buf, fmt, x, y);
+ tt_write(buf, n);
+}
+
+void SLtt_set_scroll_region (int r1, int r2)
+{
+ Scroll_r1 = r1;
+ Scroll_r2 = r2;
+ tt_printf (Scroll_R_Str, Scroll_r1, Scroll_r2);
+ Cursor_Set = 0;
+}
+
+void SLtt_reset_scroll_region (void)
+{
+ SLtt_set_scroll_region(0, SLtt_Screen_Rows - 1);
+}
+
+int SLtt_set_cursor_visibility (int show)
+{
+ if ((Cursor_Visible_Str == NULL) || (Cursor_Invisible_Str == NULL))
+ return -1;
+
+ tt_write_string (show ? Cursor_Visible_Str : Cursor_Invisible_Str);
+ return 0;
+}
+
+/* the goto_rc function moves to row relative to scrolling region */
+void SLtt_goto_rc(int r, int c)
+{
+ char *s = NULL;
+ int n;
+ char buf[6];
+
+ if ((c < 0) || (r < 0))
+ {
+ Cursor_Set = 0;
+ return;
+ }
+
+ /* if (No_Move_In_Standout && Current_Fgbg) SLtt_normal_video (); */
+ r += Scroll_r1;
+
+ if ((Cursor_Set > 0) || ((Cursor_Set < 0) && !Automatic_Margins))
+ {
+ n = r - Cursor_r;
+ if ((n == -1) && (Cursor_Set > 0) && (Cursor_c == c)
+ && (Curs_Up_Str != NULL))
+ {
+ s = Curs_Up_Str;
+ }
+ else if ((n >= 0) && (n <= 4))
+ {
+ if ((n == 0) && (Cursor_Set == 1)
+ && ((c > 1) || (c == Cursor_c)))
+ {
+ if (Cursor_c == c) return;
+ if (Cursor_c == c + 1)
+ {
+ s = buf;
+ *s++ = '\b'; *s = 0;
+ s = buf;
+ }
+ }
+ else if (c == 0)
+ {
+ s = buf;
+ if ((Cursor_Set != 1) || (Cursor_c != 0)) *s++ = '\r';
+ while (n--) *s++ = '\n';
+#ifdef VMS
+ /* Need to add this after \n to start a new record. Sheesh. */
+ *s++ = '\r';
+#endif
+ *s = 0;
+ s = buf;
+ }
+ /* Will fail on VMS */
+#ifndef VMS
+ else if (SLtt_Newline_Ok && (Cursor_Set == 1) &&
+ (Cursor_c >= c) && (c + 3 > Cursor_c))
+ {
+ s = buf;
+ while (n--) *s++ = '\n';
+ n = Cursor_c - c;
+ while (n--) *s++ = '\b';
+ *s = 0;
+ s = buf;
+ }
+#endif
+ }
+ }
+ if (s != NULL) tt_write_string(s);
+ else tt_printf(Curs_Pos_Str, r, c);
+ Cursor_c = c; Cursor_r = r;
+ Cursor_Set = 1;
+}
+
+void SLtt_begin_insert (void)
+{
+ tt_write_string(Ins_Mode_Str);
+}
+
+void SLtt_end_insert (void)
+{
+ tt_write_string(Eins_Mode_Str);
+}
+
+void SLtt_delete_char (void)
+{
+ SLtt_normal_video ();
+ tt_write_string(Del_Char_Str);
+}
+
+void SLtt_erase_line (void)
+{
+ tt_write_string("\r");
+ Cursor_Set = 1; Cursor_c = 0;
+ SLtt_del_eol();
+}
+
+/* It appears that the Linux console, and most likely others do not
+ * like scrolling regions that consist of one line. So I have to
+ * resort to this stupidity to make up for that stupidity.
+ */
+static void delete_line_in_scroll_region (void)
+{
+ SLtt_goto_rc (Cursor_r - Scroll_r1, 0);
+ SLtt_del_eol ();
+}
+
+void SLtt_delete_nlines (int n)
+{
+ int r1, curs;
+ char buf[132];
+
+ if (n <= 0) return;
+ SLtt_normal_video ();
+
+ if (Scroll_r1 == Scroll_r2)
+ {
+ delete_line_in_scroll_region ();
+ return;
+ }
+
+ if (Del_N_Lines_Str != NULL) tt_printf(Del_N_Lines_Str,n, 0);
+ else
+ /* get a new terminal */
+ {
+ r1 = Scroll_r1;
+ curs = Cursor_r;
+ SLtt_set_scroll_region(curs, Scroll_r2);
+ SLtt_goto_rc(Scroll_r2 - Scroll_r1, 0);
+ SLMEMSET(buf, '\n', (unsigned int) n);
+ tt_write(buf, (unsigned int) n);
+ /* while (n--) tt_putchar('\n'); */
+ SLtt_set_scroll_region(r1, Scroll_r2);
+ SLtt_goto_rc(curs, 0);
+ }
+}
+
+void SLtt_cls (void)
+{
+ /* If the terminal is a color terminal but the user wants black and
+ * white, then make sure that the colors are reset. This appears to be
+ * necessary.
+ */
+ if ((SLtt_Use_Ansi_Colors == 0) && Is_Color_Terminal)
+ {
+ if (Reset_Color_String != NULL)
+ tt_write_string (Reset_Color_String);
+ else
+ tt_write_string ("\033[0m\033[m");
+ }
+
+ SLtt_normal_video();
+ SLtt_reset_scroll_region ();
+ tt_write_string(Cls_Str);
+}
+
+void SLtt_reverse_index (int n)
+{
+ if (!n) return;
+
+ SLtt_normal_video();
+
+ if (Scroll_r1 == Scroll_r2)
+ {
+ delete_line_in_scroll_region ();
+ return;
+ }
+
+ if (Add_N_Lines_Str != NULL) tt_printf(Add_N_Lines_Str,n, 0);
+ else
+ {
+ while(n--) tt_write_string(Rev_Scroll_Str);
+ }
+}
+
+int SLtt_Ignore_Beep = 1;
+static char *Visible_Bell_Str;
+
+void SLtt_beep (void)
+{
+ if (SLtt_Ignore_Beep & 0x1) SLtt_putchar('\007');
+
+ if (SLtt_Ignore_Beep & 0x2)
+ {
+ if (Visible_Bell_Str != NULL) tt_write_string (Visible_Bell_Str);
+#ifdef __linux__
+ else if (Linux_Console)
+ {
+ tt_write_string ("\033[?5h");
+ SLtt_flush_output ();
+ _SLusleep (50000);
+ tt_write_string ("\033[?5l");
+ }
+#endif
+ }
+ SLtt_flush_output ();
+}
+
+static void del_eol (void)
+{
+ int c;
+
+ if (Del_Eol_Str != NULL)
+ {
+ tt_write_string(Del_Eol_Str);
+ return;
+ }
+
+ c = Cursor_c;
+ /* Avoid writing to the lower right corner. If the terminal does not
+ * have Del_Eol_Str, then it probably does not have what it takes to play
+ * games with insert for for a space into that corner.
+ */
+ if (Cursor_r + 1 < SLtt_Screen_Rows)
+ c++;
+
+ while (c < SLtt_Screen_Cols)
+ {
+ tt_write (" ", 1);
+ c++;
+ }
+}
+
+void SLtt_del_eol (void)
+{
+ if (Current_Fgbg != 0xFFFFFFFFU) SLtt_normal_video ();
+ del_eol ();
+}
+
+typedef struct
+{
+ char *name;
+ SLtt_Char_Type color;
+}
+Color_Def_Type;
+
+#define MAX_COLOR_NAMES 17
+static Color_Def_Type Color_Defs [MAX_COLOR_NAMES] =
+{
+ {"black", SLSMG_COLOR_BLACK},
+ {"red", SLSMG_COLOR_RED},
+ {"green", SLSMG_COLOR_GREEN},
+ {"brown", SLSMG_COLOR_BROWN},
+ {"blue", SLSMG_COLOR_BLUE},
+ {"magenta", SLSMG_COLOR_MAGENTA},
+ {"cyan", SLSMG_COLOR_CYAN},
+ {"lightgray", SLSMG_COLOR_LGRAY},
+ {"gray", SLSMG_COLOR_GRAY},
+ {"brightred", SLSMG_COLOR_BRIGHT_RED},
+ {"brightgreen", SLSMG_COLOR_BRIGHT_GREEN},
+ {"yellow", SLSMG_COLOR_BRIGHT_BROWN},
+ {"brightblue", SLSMG_COLOR_BRIGHT_BLUE},
+ {"brightmagenta", SLSMG_COLOR_BRIGHT_CYAN},
+ {"brightcyan", SLSMG_COLOR_BRIGHT_MAGENTA},
+ {"white", SLSMG_COLOR_BRIGHT_WHITE},
+#define SLSMG_COLOR_DEFAULT 0xFF
+ {"default", SLSMG_COLOR_DEFAULT}
+};
+
+void SLtt_set_mono (int obj, char *what, SLtt_Char_Type mask)
+{
+ (void) what;
+ if ((obj < 0) || (obj >= JMAX_COLORS))
+ {
+ return;
+ }
+ Ansi_Color_Map[obj].mono = mask & ATTR_MASK;
+}
+
+static char *check_color_for_digit_form (char *color)
+{
+ unsigned int i, ich;
+ char *s = color;
+
+ i = 0;
+ while ((ich = (int) *s) != 0)
+ {
+ if ((ich < '0') || (ich > '9'))
+ return color;
+
+ i = i * 10 + (ich - '0');
+ s++;
+ }
+
+ if (i < MAX_COLOR_NAMES)
+ color = Color_Defs[i].name;
+
+ return color;
+}
+
+static int get_default_colors (char **fgp, char **bgp)
+{
+ static char fg_buf[16], bg_buf[16], *bg, *fg;
+ static int already_parsed;
+ char *p, *pmax;
+
+ if (already_parsed == -1)
+ return -1;
+
+ if (already_parsed)
+ {
+ *fgp = fg;
+ *bgp = bg;
+ return 0;
+ }
+
+ already_parsed = -1;
+
+ bg = getenv ("COLORFGBG");
+
+ if (bg == NULL)
+ {
+ bg = getenv ("DEFAULT_COLORS");
+ if (bg == NULL)
+ return -1;
+ }
+
+ p = fg_buf;
+ pmax = p + (sizeof (fg_buf) - 1);
+
+ while ((*bg != 0) && (*bg != ';'))
+ {
+ if (p < pmax) *p++ = *bg;
+ bg++;
+ }
+ *p = 0;
+
+ if (*bg) bg++;
+
+ p = bg_buf;
+ pmax = p + (sizeof (bg_buf) - 1);
+
+ /* Mark suggested allowing for extra spplication specific stuff following
+ * the background color. That is what the check for the semi-colon is for.
+ */
+ while ((*bg != 0) && (*bg != ';'))
+ {
+ if (p < pmax) *p++ = *bg;
+ bg++;
+ }
+ *p = 0;
+
+ if (!strcmp (fg_buf, "default") || !strcmp(bg_buf, "default"))
+ {
+ *fgp = *bgp = fg = bg = "default";
+ }
+ else
+ {
+ *fgp = fg = check_color_for_digit_form (fg_buf);
+ *bgp = bg = check_color_for_digit_form (bg_buf);
+ }
+ already_parsed = 1;
+ return 0;
+}
+
+static unsigned char FgBg_Stats[JMAX_COLORS];
+
+static int Color_0_Modified = 0;
+
+void SLtt_set_color_object (int obj, SLtt_Char_Type attr)
+{
+ char *cust_esc;
+
+ if ((obj < 0) || (obj >= JMAX_COLORS)) return;
+
+ cust_esc = Ansi_Color_Map[obj].custom_esc;
+ if (cust_esc != NULL)
+ {
+ SLfree (cust_esc);
+ FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
+ Ansi_Color_Map[obj].custom_esc = NULL;
+ }
+
+ Ansi_Color_Map[obj].fgbg = attr;
+ if (obj == 0) Color_0_Modified = 1;
+
+ if (_SLtt_color_changed_hook != NULL)
+ (*_SLtt_color_changed_hook)();
+}
+
+SLtt_Char_Type SLtt_get_color_object (int obj)
+{
+ if ((obj < 0) || (obj >= JMAX_COLORS)) return 0;
+ return Ansi_Color_Map[obj].fgbg;
+}
+
+void SLtt_add_color_attribute (int obj, SLtt_Char_Type attr)
+{
+ if ((obj < 0) || (obj >= JMAX_COLORS)) return;
+
+ Ansi_Color_Map[obj].fgbg |= (attr & ATTR_MASK);
+ if (obj == 0) Color_0_Modified = 1;
+ if (_SLtt_color_changed_hook != NULL)
+ (*_SLtt_color_changed_hook)();
+}
+
+static SLtt_Char_Type fb_to_fgbg (SLtt_Char_Type f, SLtt_Char_Type b)
+{
+ SLtt_Char_Type attr;
+
+ if (Max_Terminfo_Colors != 8)
+ {
+ if (f != SLSMG_COLOR_DEFAULT) f %= Max_Terminfo_Colors;
+ if (b != SLSMG_COLOR_DEFAULT) b %= Max_Terminfo_Colors;
+ return ((f << 8) | (b << 16));
+ }
+
+ /* Otherwise we have 8 ansi colors. Try to get bright versions
+ * by using the BOLD and BLINK attributes.
+ */
+
+ attr = 0;
+
+ /* Note: If f represents default, it will have the value 0xFF */
+ if (f != SLSMG_COLOR_DEFAULT)
+ {
+ if (f & 0x8) attr = SLTT_BOLD_MASK;
+ f &= 0x7;
+ }
+
+ if (b != SLSMG_COLOR_DEFAULT)
+ {
+ if (b & 0x8) attr |= SLTT_BLINK_MASK;
+ b &= 0x7;
+ }
+
+ return ((f << 8) | (b << 16) | attr);
+}
+
+/* This looks for colors with name form 'colorN'. If color is of this
+ * form, N is passed back via paramter list.
+ */
+static int parse_color_digit_name (char *color, SLtt_Char_Type *f)
+{
+ unsigned int i;
+ unsigned char ch;
+
+ if (strncmp (color, "color", 5))
+ return -1;
+
+ color += 5;
+ if (*color == 0)
+ return -1;
+
+ i = 0;
+ while (1)
+ {
+ ch = (unsigned char) *color++;
+ if (ch == 0)
+ break;
+ if ((ch > '9') || (ch < '0'))
+ return -1;
+ i = 10 * i + (ch - '0');
+ }
+
+ *f = (SLtt_Char_Type) i;
+ return 0;
+}
+
+static int make_color_fgbg (char *fg, char *bg, SLtt_Char_Type *fgbg)
+{
+ SLtt_Char_Type f = 0xFFFFFFFFU, b = 0xFFFFFFFFU;
+ char *dfg, *dbg;
+ unsigned int i;
+
+ if ((fg != NULL) && (*fg == 0)) fg = NULL;
+ if ((bg != NULL) && (*bg == 0)) bg = NULL;
+
+ if ((fg == NULL) || (bg == NULL))
+ {
+ if (-1 == get_default_colors (&dfg, &dbg))
+ return -1;
+
+ if (fg == NULL) fg = dfg;
+ if (bg == NULL) bg = dbg;
+ }
+
+ if (-1 == parse_color_digit_name (fg, &f))
+ {
+ for (i = 0; i < MAX_COLOR_NAMES; i++)
+ {
+ if (strcmp(fg, Color_Defs[i].name)) continue;
+ f = Color_Defs[i].color;
+ break;
+ }
+ }
+
+ if (-1 == parse_color_digit_name (bg, &b))
+ {
+ for (i = 0; i < MAX_COLOR_NAMES; i++)
+ {
+ if (strcmp(bg, Color_Defs[i].name)) continue;
+ b = Color_Defs[i].color;
+ break;
+ }
+ }
+
+ if ((f == 0xFFFFFFFFU) || (b == 0xFFFFFFFFU))
+ return -1;
+
+ *fgbg = fb_to_fgbg (f, b);
+ return 0;
+}
+
+void SLtt_set_color (int obj, char *what, char *fg, char *bg)
+{
+ SLtt_Char_Type fgbg;
+
+ (void) what;
+ if ((obj < 0) || (obj >= JMAX_COLORS))
+ return;
+
+ if (-1 != make_color_fgbg (fg, bg, &fgbg))
+ SLtt_set_color_object (obj, fgbg);
+}
+
+void SLtt_set_color_fgbg (int obj, SLtt_Char_Type f, SLtt_Char_Type b)
+{
+ SLtt_set_color_object (obj, fb_to_fgbg (f, b));
+}
+
+void SLtt_set_color_esc (int obj, char *esc)
+{
+ char *cust_esc;
+ SLtt_Char_Type fgbg = 0;
+ int i;
+
+ if ((obj < 0) || (obj >= JMAX_COLORS))
+ {
+ return;
+ }
+
+ cust_esc = Ansi_Color_Map[obj].custom_esc;
+ if (cust_esc != NULL)
+ {
+ SLfree (cust_esc);
+ FgBg_Stats[(Ansi_Color_Map[obj].fgbg >> 8) & 0x7F] -= 1;
+ }
+
+ cust_esc = (char *) SLmalloc (strlen(esc) + 1);
+ if (cust_esc != NULL) strcpy (cust_esc, esc);
+
+ Ansi_Color_Map[obj].custom_esc = cust_esc;
+ if (cust_esc == NULL) fgbg = 0;
+ else
+ {
+ /* The whole point of this is to generate a unique fgbg */
+ for (i = 0; i < JMAX_COLORS; i++)
+ {
+ if (FgBg_Stats[i] == 0) fgbg = i;
+
+ if (obj == i) continue;
+ if ((Ansi_Color_Map[i].custom_esc) == NULL) continue;
+ if (!strcmp (Ansi_Color_Map[i].custom_esc, cust_esc))
+ {
+ fgbg = (Ansi_Color_Map[i].fgbg >> 8) & 0x7F;
+ break;
+ }
+ }
+ FgBg_Stats[fgbg] += 1;
+ }
+
+ fgbg |= 0x80;
+ Ansi_Color_Map[obj].fgbg = (fgbg | (fgbg << 8)) << 8;
+ if (obj == 0) Color_0_Modified = 1;
+ if (_SLtt_color_changed_hook != NULL)
+ (*_SLtt_color_changed_hook)();
+}
+
+void SLtt_set_alt_char_set (int i)
+{
+ static int last_i;
+ if (SLtt_Has_Alt_Charset == 0) return;
+ if (i == last_i) return;
+ tt_write_string (i ? Start_Alt_Chars_Str : End_Alt_Chars_Str );
+ last_i = i;
+}
+
+static void write_attributes (SLtt_Char_Type fgbg)
+{
+ int bg0, fg0;
+ int unknown_attributes;
+
+ if (Worthless_Highlight) return;
+ if (fgbg == Current_Fgbg) return;
+
+ unknown_attributes = 0;
+
+ /* Before spitting out colors, fix attributes */
+ if ((fgbg & ATTR_MASK) != (Current_Fgbg & ATTR_MASK))
+ {
+ if (Current_Fgbg & ATTR_MASK)
+ {
+ tt_write_string(Norm_Vid_Str);
+ /* In case normal video turns off ALL attributes: */
+ if (fgbg & SLTT_ALTC_MASK)
+ Current_Fgbg &= ~SLTT_ALTC_MASK;
+ SLtt_set_alt_char_set (0);
+ }
+
+ if ((fgbg & SLTT_ALTC_MASK)
+ != (Current_Fgbg & SLTT_ALTC_MASK))
+ {
+ SLtt_set_alt_char_set ((int) (fgbg & SLTT_ALTC_MASK));
+ }
+
+ if (fgbg & SLTT_ULINE_MASK) tt_write_string (UnderLine_Vid_Str);
+ if (fgbg & SLTT_BOLD_MASK) SLtt_bold_video ();
+ if (fgbg & SLTT_REV_MASK) tt_write_string (Rev_Vid_Str);
+ if (fgbg & SLTT_BLINK_MASK)
+ {
+ /* Someday Linux will have a blink mode that set high intensity
+ * background. Lets be prepared.
+ */
+ if (SLtt_Blink_Mode) tt_write_string (Blink_Vid_Str);
+ }
+ unknown_attributes = 1;
+ }
+
+ if (SLtt_Use_Ansi_Colors)
+ {
+ fg0 = (int) GET_FG(fgbg);
+ bg0 = (int) GET_BG(fgbg);
+
+ if (unknown_attributes
+ || (fg0 != (int)GET_FG(Current_Fgbg)))
+ {
+ if (fg0 == SLSMG_COLOR_DEFAULT)
+ tt_write_string (Default_Color_Fg_Str);
+ else
+ tt_printf (Color_Fg_Str, fg0, 0);
+ }
+
+ if (unknown_attributes
+ || (bg0 != (int)GET_BG(Current_Fgbg)))
+ {
+ if (bg0 == SLSMG_COLOR_DEFAULT)
+ tt_write_string (Default_Color_Bg_Str);
+ else
+ tt_printf (Color_Bg_Str, bg0, 0);
+ }
+ }
+
+ Current_Fgbg = fgbg;
+}
+
+static int Video_Initialized;
+
+void SLtt_reverse_video (int color)
+{
+ SLtt_Char_Type fgbg;
+ char *esc;
+
+ if (Worthless_Highlight) return;
+ if ((color < 0) || (color >= JMAX_COLORS)) return;
+
+ if (Video_Initialized == 0)
+ {
+ if (color == JNORMAL_COLOR)
+ {
+ tt_write_string (Norm_Vid_Str);
+ }
+ else tt_write_string (Rev_Vid_Str);
+ Current_Fgbg = 0xFFFFFFFFU;
+ return;
+ }
+
+ if (SLtt_Use_Ansi_Colors)
+ {
+ fgbg = Ansi_Color_Map[color].fgbg;
+ if ((esc = Ansi_Color_Map[color].custom_esc) != NULL)
+ {
+ if (fgbg != Current_Fgbg)
+ {
+ Current_Fgbg = fgbg;
+ tt_write_string (esc);
+ return;
+ }
+ }
+ }
+ else fgbg = Ansi_Color_Map[color].mono;
+
+ if (fgbg == Current_Fgbg) return;
+ write_attributes (fgbg);
+}
+
+void SLtt_normal_video (void)
+{
+ SLtt_reverse_video(JNORMAL_COLOR);
+}
+
+void SLtt_narrow_width (void)
+{
+ tt_write_string("\033[?3l");
+}
+
+void SLtt_wide_width (void)
+{
+ tt_write_string("\033[?3h");
+}
+
+/* Highest bit represents the character set. */
+#define COLOR_MASK 0x7F00
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+static int bce_color_eqs (unsigned int a, unsigned int b)
+{
+ a = (a & COLOR_MASK) >> 8;
+ b = (b & COLOR_MASK) >> 8;
+
+ if (a == b)
+ return 1;
+
+ if (SLtt_Use_Ansi_Colors == 0)
+ return Ansi_Color_Map[a].mono == Ansi_Color_Map[b].mono;
+
+ if (Bce_Color_Offset == 0)
+ return Ansi_Color_Map[a].fgbg == Ansi_Color_Map[b].fgbg;
+
+ /* If either are color 0, then we do not know what that means since the
+ * terminal does not support BCE */
+ if ((a == 0) || (b == 0))
+ return 0;
+
+ return Ansi_Color_Map[a-1].fgbg == Ansi_Color_Map[b-1].fgbg;
+}
+#define COLOR_EQS(a,b) bce_color_eqs (a,b)
+#else
+# define COLOR_OF(x) (((unsigned int)(x) & COLOR_MASK) >> 8)
+# define COLOR_EQS(a, b) \
+ (SLtt_Use_Ansi_Colors \
+ ? (Ansi_Color_Map[COLOR_OF(a)].fgbg == Ansi_Color_Map[COLOR_OF(b)].fgbg)\
+ : (Ansi_Color_Map[COLOR_OF(a)].mono == Ansi_Color_Map[COLOR_OF(b)].mono))
+#endif
+
+#define CHAR_EQS(a, b) (((a) == (b))\
+ || ((((a) & ~COLOR_MASK) == ((b) & ~COLOR_MASK))\
+ && COLOR_EQS((a), (b))))
+
+/* The whole point of this routine is to prevent writing to the last column
+ * and last row on terminals with automatic margins.
+ */
+static void write_string_with_care (char *str)
+{
+ unsigned int len;
+
+ if (str == NULL) return;
+
+ len = strlen (str);
+ if (Automatic_Margins && (Cursor_r + 1 == SLtt_Screen_Rows))
+ {
+ if (len + (unsigned int) Cursor_c >= (unsigned int) SLtt_Screen_Cols)
+ {
+ /* For now, just do not write there. Later, something more
+ * sophisticated will be implemented.
+ */
+ if (SLtt_Screen_Cols > Cursor_c)
+ len = SLtt_Screen_Cols - Cursor_c - 1;
+ else
+ len = 0;
+ }
+ }
+ tt_write (str, len);
+}
+
+static void send_attr_str (SLsmg_Char_Type *s)
+{
+ unsigned char out[256], ch, *p;
+ register SLtt_Char_Type attr;
+ register SLsmg_Char_Type sh;
+ int color, last_color = -1;
+
+ p = out;
+ while (0 != (sh = *s++))
+ {
+ ch = sh & 0xFF;
+ color = ((int) sh & 0xFF00) >> 8;
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+ if (Bce_Color_Offset
+ && (color >= Bce_Color_Offset))
+ color -= Bce_Color_Offset;
+#endif
+
+ if (color != last_color)
+ {
+ if (SLtt_Use_Ansi_Colors) attr = Ansi_Color_Map[color & 0x7F].fgbg;
+ else attr = Ansi_Color_Map[color & 0x7F].mono;
+
+ if (sh & 0x8000) /* alternate char set */
+ {
+ if (SLtt_Use_Blink_For_ACS)
+ {
+ if (SLtt_Blink_Mode) attr |= SLTT_BLINK_MASK;
+ }
+ else attr |= SLTT_ALTC_MASK;
+ }
+
+ if (attr != Current_Fgbg)
+ {
+ if ((ch != ' ') ||
+ /* it is a space so only consider it different if it
+ * has different attributes.
+ */
+ (attr & BGALL_MASK) != (Current_Fgbg & BGALL_MASK))
+ {
+ if (p != out)
+ {
+ *p = 0;
+ write_string_with_care ((char *) out);
+ Cursor_c += (int) (p - out);
+ p = out;
+ }
+
+ if (SLtt_Use_Ansi_Colors && (NULL != Ansi_Color_Map[color & 0x7F].custom_esc))
+ {
+ tt_write_string (Ansi_Color_Map[color & 0x7F].custom_esc);
+ /* Just in case the custom escape sequence screwed up
+ * the alt character set state...
+ */
+ if ((attr & SLTT_ALTC_MASK) != (Current_Fgbg & SLTT_ALTC_MASK))
+ SLtt_set_alt_char_set ((int) (attr & SLTT_ALTC_MASK));
+ Current_Fgbg = attr;
+ }
+ else write_attributes (attr);
+
+ last_color = color;
+ }
+ }
+ }
+ *p++ = ch;
+ }
+ *p = 0;
+ if (p != out) write_string_with_care ((char *) out);
+ Cursor_c += (int) (p - out);
+}
+
+static void forward_cursor (unsigned int n, int row)
+{
+ char buf [1024];
+
+ if (n <= 4)
+ {
+ SLtt_normal_video ();
+ SLMEMSET (buf, ' ', n);
+ buf[n] = 0;
+ write_string_with_care (buf);
+ Cursor_c += n;
+ }
+ else if (Curs_F_Str != NULL)
+ {
+ Cursor_c += n;
+ n = tt_sprintf(buf, Curs_F_Str, (int) n, 0);
+ tt_write(buf, n);
+ }
+ else SLtt_goto_rc (row, (int) (Cursor_c + n));
+}
+
+
+void SLtt_smart_puts(SLsmg_Char_Type *neww, SLsmg_Char_Type *oldd, int len, int row)
+{
+ register SLsmg_Char_Type *p, *q, *qmax, *pmax, *buf;
+ SLsmg_Char_Type buffer[256];
+ unsigned int n_spaces;
+ SLsmg_Char_Type *space_match, *last_buffered_match;
+#ifdef HP_GLITCH_CODE
+ int handle_hp_glitch = 0;
+#endif
+ SLsmg_Char_Type space_char;
+#define SLTT_USE_INSERT_HACK 1
+#if SLTT_USE_INSERT_HACK
+ SLsmg_Char_Type insert_hack_prev = 0;
+ SLsmg_Char_Type insert_hack_char = 0;
+
+ if ((row + 1 == SLtt_Screen_Rows)
+ && (len == SLtt_Screen_Cols)
+ && (len > 1)
+ && (SLtt_Term_Cannot_Insert == 0)
+ && Automatic_Margins)
+ {
+ insert_hack_char = neww[len-1];
+ if (oldd[len-1] == insert_hack_char)
+ insert_hack_char = 0;
+ else
+ insert_hack_prev = neww[len-2];
+ }
+#endif
+
+ q = oldd; p = neww;
+ qmax = oldd + len;
+ pmax = p + len;
+
+ /* Find out where to begin --- while they match, we are ok */
+ while (1)
+ {
+ if (q == qmax) return;
+#if SLANG_HAS_KANJI_SUPPORT
+ if (*p & 0x80)
+ { /* new is kanji */
+ if ((*q & 0x80) && ((q + 1) < qmax))
+ { /* old is also kanji */
+ if (((0xFF & *q) != (0xFF & *p))
+ || ((0xFF & q[1]) != (0xFF & p[1])))
+ break; /* both kanji, but not match */
+
+ else
+ { /* kanji match ! */
+ if (!COLOR_EQS(*q, *p)) break;
+ q++; p++;
+ if (!COLOR_EQS(*q, *p)) break;
+ /* really match! */
+ q++; p++;
+ continue;
+ }
+ }
+ else break; /* old is not kanji */
+ }
+ else
+ { /* new is not kanji */
+ if (*q & 0x80) break; /* old is kanji */
+ }
+#endif
+ if (!CHAR_EQS(*q, *p)) break;
+ q++; p++;
+ }
+
+#ifdef HP_GLITCH_CODE
+ if (Has_HP_Glitch)
+ {
+ SLsmg_Char_Type *qq = q;
+
+ SLtt_goto_rc (row, (int) (p - neww));
+
+ while (qq < qmax)
+ {
+ if (*qq & 0xFF00)
+ {
+ SLtt_normal_video ();
+ SLtt_del_eol ();
+ qmax = q;
+ handle_hp_glitch = 1;
+ break;
+ }
+ qq++;
+ }
+ }
+#endif
+ /* Find where the last non-blank character on old/new screen is */
+
+ space_char = ' ';
+ if ((*(pmax-1) & 0xFF) == ' ')
+ {
+ /* If we get here, then we can erase to the end of the line to create
+ * the final space. However, this will only work _if_ erasing will
+ * get us the correct color. If the terminal supports BCE, then this
+ * is easy. If it does not, then we can only perform this operation
+ * if the color is known via something like COLORFGBG. For now,
+ * I just will not perform the optimization for such terminals.
+ */
+ if ((Can_Background_Color_Erase)
+ && SLtt_Use_Ansi_Colors)
+ space_char = *(pmax - 1);
+
+ while (pmax > p)
+ {
+ pmax--;
+ if (!CHAR_EQS(*pmax, space_char))
+ {
+ pmax++;
+ break;
+ }
+ }
+ }
+
+ while (qmax > q)
+ {
+ qmax--;
+ if (!CHAR_EQS(*qmax, space_char))
+ {
+ qmax++;
+ break;
+ }
+ }
+
+ last_buffered_match = buf = buffer; /* buffer is empty */
+
+#ifdef HP_GLITCH_CODE
+ if (handle_hp_glitch)
+ {
+ while (p < pmax)
+ {
+ *buf++ = *p++;
+ }
+ }
+#endif
+
+#ifdef HP_GLITCH_CODE
+ if (Has_HP_Glitch == 0)
+ {
+#endif
+ /* Try use use erase to bol if possible */
+ if ((Del_Bol_Str != NULL) && ((*neww & 0xFF) == 32))
+ {
+ SLsmg_Char_Type *p1;
+ SLsmg_Char_Type blank;
+
+ p1 = neww;
+ if ((Can_Background_Color_Erase)
+ && SLtt_Use_Ansi_Colors)
+ blank = *p1;
+ /* black+white attributes do not support bce */
+ else
+ blank = 32;
+
+ while ((p1 < pmax) && (CHAR_EQS (*p1, blank)))
+ p1++;
+
+ /* Is this optimization worth it? Assume Del_Bol_Str is ESC [ 1 K
+ * It costs 4 chars + the space needed to properly position the
+ * cursor, e.g., ESC [ 10;10H. So, it costs at least 13 characters.
+ */
+ if ((p1 > neww + 13)
+ && (p1 >= p)
+ /* Avoid erasing from the end of the line */
+ && ((p1 != pmax) || (pmax < neww + len)))
+ {
+ int ofs = (int) (p1 - neww);
+ q = oldd + ofs;
+ p = p1;
+ SLtt_goto_rc (row, ofs - 1);
+ SLtt_reverse_video (blank >> 8);
+ tt_write_string (Del_Bol_Str);
+ tt_write (" ", 1);
+ Cursor_c += 1;
+ }
+ else
+ SLtt_goto_rc (row, (int) (p - neww));
+ }
+ else
+ SLtt_goto_rc (row, (int) (p - neww));
+#ifdef HP_GLITCH_CODE
+ }
+#endif
+
+
+ /* loop using overwrite then skip algorithm until done */
+ while (1)
+ {
+ /* while they do not match and we do not hit a space, buffer them up */
+ n_spaces = 0;
+ while (p < pmax)
+ {
+ if (CHAR_EQS(*q, 32) && CHAR_EQS(*p, 32))
+ {
+ /* If *q is not a space, we would have to overwrite it.
+ * However, if *q is a space, then while *p is also one,
+ * we only need to skip over the blank field.
+ */
+ space_match = p;
+ p++; q++;
+ while ((p < pmax)
+ && CHAR_EQS(*q, 32)
+ && CHAR_EQS(*p, 32))
+ {
+ p++;
+ q++;
+ }
+ n_spaces = (unsigned int) (p - space_match);
+ break;
+ }
+#if SLANG_HAS_KANJI_SUPPORT
+ if ((*p & 0x80) && ((p + 1) < pmax))
+ { /* new is kanji */
+ if (*q & 0x80)
+ { /* old is also kanji */
+ if (((0xFF & *q) != (0xFF & *p))
+ || ((0xFF & q[1]) != (0xFF & p[1])))
+ {
+ /* both kanji, but not match */
+ *buf++ = *p++;
+ *buf++ = *p++;
+ q += 2;
+ continue;
+ }
+ else
+ { /* kanji match ? */
+ if (!COLOR_EQS(*q, *p) || !COLOR_EQS(*(q+1), *(p+1)))
+ {
+ /* code is match, but color is diff */
+ *buf++ = *p++;
+ *buf++ = *p++;
+ q += 2;
+ continue;
+ }
+ /* really match ! */
+ break;
+ }
+ }
+ else
+ { /* old is not kanji */
+ *buf++ = *p++;
+ *buf++ = *p++;
+ q += 2;
+ continue;
+ }
+ }
+ else
+ { /* new is not kanji */
+ if (*q & 0x80)
+ { /* old is kanji */
+ *buf++ = *p++;
+ q++;
+ continue;
+ }
+ }
+#endif
+
+ if (CHAR_EQS(*q, *p)) break;
+ *buf++ = *p++;
+ q++;
+ }
+ *buf = 0;
+
+ if (buf != buffer) send_attr_str (buffer);
+ buf = buffer;
+
+ if (n_spaces
+ && ((p < pmax) /* erase to eol will achieve this effect*/
+ || (space_char != 32)))/* unless space_char is not a simple space */
+ {
+ forward_cursor (n_spaces, row);
+ }
+
+ /* Now we overwrote what we could and cursor is placed at position
+ * of a possible match of new and old. If this is the case, skip
+ * some more.
+ */
+#if !SLANG_HAS_KANJI_SUPPORT
+ while ((p < pmax) && CHAR_EQS(*p, *q))
+ {
+ *buf++ = *p++;
+ q++;
+ }
+#else
+ /* Kanji */
+ while (p < pmax)
+ {
+ if ((*p & 0x80) && ((p + 1) < pmax))
+ { /* new is kanji */
+ if (*q & 0x80)
+ { /* old is also kanji */
+ if (((0xFF & *q) == (0xFF & *p))
+ && ((0xFF & q[1]) == (0xFF & p[1])))
+ {
+ /* kanji match ? */
+ if (!COLOR_EQS(*q, *p)
+ || !COLOR_EQS(q[1], p[1]))
+ break;
+
+ *buf++ = *p++;
+ q++;
+ if (p >= pmax)
+ {
+ *buf++ = 32;
+ p++;
+ break;
+ }
+ else
+ {
+ *buf++ = *p++;
+ q++;
+ continue;
+ }
+ }
+ else break; /* both kanji, but not match */
+ }
+ else break; /* old is not kanji */
+ }
+ else
+ { /* new is not kanji */
+ if (*q & 0x80) break; /* old is kanji */
+ if (!CHAR_EQS(*q, *p)) break;
+ *buf++ = *p++;
+ q++;
+ }
+ }
+#endif
+ last_buffered_match = buf;
+ if (p >= pmax) break;
+
+ /* jump to new position is it is greater than 5 otherwise
+ * let it sit in the buffer and output it later.
+ */
+ if ((int) (buf - buffer) >= 5)
+ {
+ forward_cursor ((unsigned int) (buf - buffer), row);
+ last_buffered_match = buf = buffer;
+ }
+ }
+
+ if (buf != buffer)
+ {
+ if (q < qmax)
+ {
+ if ((buf == last_buffered_match)
+ && ((int) (buf - buffer) >= 5))
+ {
+ forward_cursor ((unsigned int) (buf - buffer), row);
+ }
+ else
+ {
+ *buf = 0;
+ send_attr_str (buffer);
+ }
+ }
+ }
+
+ if (q < qmax)
+ {
+ SLtt_reverse_video (space_char >> 8);
+ del_eol ();
+ }
+
+#if SLTT_USE_INSERT_HACK
+ else if (insert_hack_char)
+ {
+ SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
+ buffer[0] = insert_hack_char;
+ buffer[1] = 0;
+ send_attr_str (buffer);
+ SLtt_goto_rc (SLtt_Screen_Rows-1, SLtt_Screen_Cols-2);
+ buffer[0] = insert_hack_prev;
+ SLtt_begin_insert ();
+ send_attr_str (buffer);
+ SLtt_end_insert ();
+ }
+#endif
+
+ if (Automatic_Margins && (Cursor_c + 1 >= SLtt_Screen_Cols)) Cursor_Set = 0;
+}
+
+static void get_color_info (void)
+{
+ char *fg, *bg;
+
+ /* Allow easy mechanism to override inadequate termcap/terminfo files. */
+ if (SLtt_Use_Ansi_Colors == 0)
+ SLtt_Use_Ansi_Colors = (NULL != getenv ("COLORTERM"));
+
+ if (SLtt_Use_Ansi_Colors)
+ Is_Color_Terminal = 1;
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+ if (Can_Background_Color_Erase == 0)
+ Can_Background_Color_Erase = (NULL != getenv ("COLORTERM_BCE"));
+#endif
+
+ if (-1 == get_default_colors (&fg, &bg))
+ return;
+
+ /* Check to see if application has already set them. */
+ if (Color_0_Modified)
+ return;
+
+ SLtt_set_color (0, NULL, fg, bg);
+ SLtt_set_color (1, NULL, bg, fg);
+}
+
+/* termcap stuff */
+
+#ifdef __unix__
+
+static int Termcap_Initalized = 0;
+
+#ifdef USE_TERMCAP
+/* Termcap based system */
+static char Termcap_Buf[4096];
+static char Termcap_String_Buf[4096];
+static char *Termcap_String_Ptr;
+extern char *tgetstr(char *, char **);
+extern int tgetent(char *, char *);
+extern int tgetnum(char *);
+extern int tgetflag(char *);
+#else
+/* Terminfo */
+static SLterminfo_Type *Terminfo;
+#endif
+
+#define TGETFLAG(x) (SLtt_tgetflag(x) > 0)
+
+static char *fixup_tgetstr (char *what)
+{
+ register char *w, *w1;
+ char *wsave;
+
+ if (what == NULL)
+ return NULL;
+
+ /* Check for AIX brain-damage */
+ if (*what == '@')
+ return NULL;
+
+ /* lose pad info --- with today's technology, term is a loser if
+ it is really needed */
+ while ((*what == '.') ||
+ ((*what >= '0') && (*what <= '9'))) what++;
+ if (*what == '*') what++;
+
+ /* lose terminfo padding--- looks like $<...> */
+ w = what;
+ while (*w) if ((*w++ == '$') && (*w == '<'))
+ {
+ w1 = w - 1;
+ while (*w && (*w != '>')) w++;
+ if (*w == 0) break;
+ w++;
+ wsave = w1;
+ while ((*w1++ = *w++) != 0);
+ w = wsave;
+ }
+
+ if (*what == 0) what = NULL;
+ return what;
+}
+
+char *SLtt_tgetstr (char *s)
+{
+ if (Termcap_Initalized == 0)
+ return NULL;
+
+#ifdef USE_TERMCAP
+ s = tgetstr (s, &Termcap_String_Ptr);
+#else
+ s = _SLtt_tigetstr (Terminfo, s);
+#endif
+ return fixup_tgetstr (s);
+}
+
+int SLtt_tgetnum (char *s)
+{
+ if (Termcap_Initalized == 0)
+ return -1;
+#ifdef USE_TERMCAP
+ return tgetnum (s);
+#else
+ return _SLtt_tigetnum (Terminfo, s);
+#endif
+}
+
+int SLtt_tgetflag (char *s)
+{
+ if (Termcap_Initalized == 0)
+ return -1;
+#ifdef USE_TERMCAP
+ return tgetflag (s);
+#else
+ return _SLtt_tigetflag (Terminfo, s);
+#endif
+}
+
+static int Vt100_Like = 0;
+
+void SLtt_get_terminfo (void)
+{
+ char *term;
+ int status;
+
+ term = getenv ("TERM");
+ if (term == NULL)
+ SLang_exit_error("TERM environment variable needs set.");
+
+ if (0 == (status = SLtt_initialize (term)))
+ return;
+
+ if (status == -1)
+ {
+ SLang_exit_error ("Unknown terminal: %s\n\
+Check the TERM environment variable.\n\
+Also make sure that the terminal is defined in the terminfo database.\n\
+Alternatively, set the TERMCAP environment variable to the desired\n\
+termcap entry.",
+ term);
+ }
+
+ if (status == -2)
+ {
+ SLang_exit_error ("\
+Your terminal lacks the ability to clear the screen or position the cursor.\n");
+ }
+}
+
+/* Returns 0 if all goes well, -1 if terminal capabilities cannot be deduced,
+ * or -2 if terminal cannot position the cursor.
+ */
+int SLtt_initialize (char *term)
+{
+ char *t, ch;
+ int is_xterm;
+ int almost_vtxxx;
+
+ if (SLang_TT_Write_FD == -1)
+ {
+ /* Apparantly, this cannot fail according to the man pages. */
+ SLang_TT_Write_FD = fileno (stdout);
+ }
+
+ if (term == NULL)
+ {
+ term = getenv ("TERM");
+ if (term == NULL)
+ return -1;
+ }
+
+ Linux_Console = (!strncmp (term, "linux", 5)
+# ifdef linux
+ || !strncmp(term, "con", 3)
+# endif
+ );
+
+ t = term;
+
+ if (strcmp(t, "vt52") && (*t++ == 'v') && (*t++ == 't')
+ && (ch = *t, (ch >= '1') && (ch <= '9'))) Vt100_Like = 1;
+
+ is_xterm = ((0 == strncmp (term, "xterm", 5))
+ || (0 == strncmp (term, "rxvt", 4))
+ || (0 == strncmp (term, "Eterm", 5)));
+
+ almost_vtxxx = (Vt100_Like
+ || Linux_Console
+ || is_xterm
+ || !strcmp (term, "screen"));
+
+# ifndef USE_TERMCAP
+ if (NULL == (Terminfo = _SLtt_tigetent (term)))
+ {
+ if (almost_vtxxx) /* Special cases. */
+ {
+ int vt102 = 1;
+ if (!strcmp (term, "vt100")) vt102 = 0;
+ get_color_info ();
+ SLtt_set_term_vtxxx (&vt102);
+ return 0;
+ }
+ return -1;
+ }
+# else /* USE_TERMCAP */
+ if (1 != tgetent(Termcap_Buf, term))
+ return -1;
+ Termcap_String_Ptr = Termcap_String_Buf;
+# endif /* NOT USE_TERMCAP */
+
+ Termcap_Initalized = 1;
+
+ Cls_Str = SLtt_tgetstr ("cl");
+ Curs_Pos_Str = SLtt_tgetstr ("cm");
+
+ if ((NULL == (Ins_Mode_Str = SLtt_tgetstr("im")))
+ || ( NULL == (Eins_Mode_Str = SLtt_tgetstr("ei")))
+ || ( NULL == (Del_Char_Str = SLtt_tgetstr("dc"))))
+ SLtt_Term_Cannot_Insert = 1;
+
+ Visible_Bell_Str = SLtt_tgetstr ("vb");
+ Curs_Up_Str = SLtt_tgetstr ("up");
+ Rev_Scroll_Str = SLtt_tgetstr("sr");
+ Del_N_Lines_Str = SLtt_tgetstr("DL");
+ Add_N_Lines_Str = SLtt_tgetstr("AL");
+
+ /* Actually these are used to initialize terminals that use cursor
+ * addressing. Hard to believe.
+ */
+ Term_Init_Str = SLtt_tgetstr ("ti");
+ Term_Reset_Str = SLtt_tgetstr ("te");
+
+ /* If I do this for vtxxx terminals, arrow keys start sending ESC O A,
+ * which I do not want. This is mainly for HP terminals.
+ */
+ if ((almost_vtxxx == 0) || SLtt_Force_Keypad_Init)
+ {
+ Keypad_Init_Str = SLtt_tgetstr ("ks");
+ Keypad_Reset_Str = SLtt_tgetstr ("ke");
+ }
+
+ /* Make up for defective termcap/terminfo databases */
+ if ((Vt100_Like && (term[2] != '1'))
+ || Linux_Console
+ || is_xterm
+ )
+ {
+ if (Del_N_Lines_Str == NULL) Del_N_Lines_Str = "\033[%dM";
+ if (Add_N_Lines_Str == NULL) Add_N_Lines_Str = "\033[%dL";
+ }
+
+ Scroll_R_Str = SLtt_tgetstr("cs");
+
+ SLtt_get_screen_size ();
+
+ if ((Scroll_R_Str == NULL)
+ || (((NULL == Del_N_Lines_Str) || (NULL == Add_N_Lines_Str))
+ && (NULL == Rev_Scroll_Str)))
+ {
+ if (is_xterm
+ || Linux_Console
+ )
+ {
+ /* Defective termcap mode!!!! */
+ SLtt_set_term_vtxxx (NULL);
+ }
+ else SLtt_Term_Cannot_Scroll = 1;
+ }
+
+ Del_Eol_Str = SLtt_tgetstr("ce");
+ Del_Bol_Str = SLtt_tgetstr("cb");
+ if (is_xterm && (Del_Bol_Str == NULL))
+ Del_Bol_Str = "\033[1K";
+ if (is_xterm && (Del_Eol_Str == NULL))
+ Del_Bol_Str = "\033[K";
+
+ Rev_Vid_Str = SLtt_tgetstr("mr");
+ if (Rev_Vid_Str == NULL) Rev_Vid_Str = SLtt_tgetstr("so");
+
+ Bold_Vid_Str = SLtt_tgetstr("md");
+
+ /* Although xterm cannot blink, it does display the blinking characters
+ * as bold ones. Some Rxvt will display the background as high intensity.
+ */
+ if ((NULL == (Blink_Vid_Str = SLtt_tgetstr("mb")))
+ && is_xterm)
+ Blink_Vid_Str = "\033[5m";
+
+ UnderLine_Vid_Str = SLtt_tgetstr("us");
+
+ Start_Alt_Chars_Str = SLtt_tgetstr ("as"); /* smacs */
+ End_Alt_Chars_Str = SLtt_tgetstr ("ae"); /* rmacs */
+ Enable_Alt_Char_Set = SLtt_tgetstr ("eA"); /* enacs */
+ SLtt_Graphics_Char_Pairs = SLtt_tgetstr ("ac");
+
+ if (NULL == SLtt_Graphics_Char_Pairs)
+ {
+ /* make up for defective termcap/terminfo */
+ if (Vt100_Like)
+ {
+ Start_Alt_Chars_Str = "\016";
+ End_Alt_Chars_Str = "\017";
+ Enable_Alt_Char_Set = "\033)0";
+ }
+ }
+
+ /* aixterm added by willi */
+ if (is_xterm || !strncmp (term, "aixterm", 7))
+ {
+ Start_Alt_Chars_Str = "\016";
+ End_Alt_Chars_Str = "\017";
+ Enable_Alt_Char_Set = "\033(B\033)0";
+ }
+
+ if ((SLtt_Graphics_Char_Pairs == NULL) &&
+ ((Start_Alt_Chars_Str == NULL) || (End_Alt_Chars_Str == NULL)))
+ {
+ SLtt_Has_Alt_Charset = 0;
+ Enable_Alt_Char_Set = NULL;
+ }
+ else SLtt_Has_Alt_Charset = 1;
+
+#ifdef AMIGA
+ Enable_Alt_Char_Set = Start_Alt_Chars_Str = End_Alt_Chars_Str = NULL;
+#endif
+
+ /* status line capabilities */
+ if ((SLtt_Has_Status_Line == -1)
+ && (0 != (SLtt_Has_Status_Line = TGETFLAG ("hs"))))
+ {
+ Disable_Status_line_Str = SLtt_tgetstr ("ds");
+ Return_From_Status_Line_Str = SLtt_tgetstr ("fs");
+ Goto_Status_Line_Str = SLtt_tgetstr ("ts");
+ /* Status_Line_Esc_Ok = TGETFLAG("es"); */
+ Num_Status_Line_Columns = SLtt_tgetnum ("ws");
+ if (Num_Status_Line_Columns < 0) Num_Status_Line_Columns = 0;
+ }
+
+ if (NULL == (Norm_Vid_Str = SLtt_tgetstr("me")))
+ {
+ Norm_Vid_Str = SLtt_tgetstr("se");
+ }
+
+ Cursor_Invisible_Str = SLtt_tgetstr("vi");
+ Cursor_Visible_Str = SLtt_tgetstr("ve");
+
+ Curs_F_Str = SLtt_tgetstr("RI");
+
+# if 0
+ if (NULL != Curs_F_Str)
+ {
+ Len_Curs_F_Str = strlen(Curs_F_Str);
+ }
+ else Len_Curs_F_Str = strlen(Curs_Pos_Str);
+# endif
+
+ Automatic_Margins = TGETFLAG ("am");
+ /* No_Move_In_Standout = !TGETFLAG ("ms"); */
+# ifdef HP_GLITCH_CODE
+ Has_HP_Glitch = TGETFLAG ("xs");
+# else
+ Worthless_Highlight = TGETFLAG ("xs");
+# endif
+
+ if (Worthless_Highlight == 0)
+ { /* Magic cookie glitch */
+ Worthless_Highlight = (SLtt_tgetnum ("sg") > 0);
+ }
+
+ if (Worthless_Highlight)
+ SLtt_Has_Alt_Charset = 0;
+
+ Reset_Color_String = SLtt_tgetstr ("op");
+ Color_Fg_Str = SLtt_tgetstr ("AF"); /* ANSI setaf */
+ Color_Bg_Str = SLtt_tgetstr ("AB"); /* ANSI setbf */
+ if ((Color_Fg_Str == NULL) || (Color_Bg_Str == NULL))
+ {
+ Color_Fg_Str = SLtt_tgetstr ("Sf"); /* setf */
+ Color_Bg_Str = SLtt_tgetstr ("Sb"); /* setb */
+ }
+
+ if ((Max_Terminfo_Colors = SLtt_tgetnum ("Co")) < 0)
+ Max_Terminfo_Colors = 8;
+
+ if ((Color_Bg_Str != NULL) && (Color_Fg_Str != NULL))
+ SLtt_Use_Ansi_Colors = 1;
+ else
+ {
+#if 0
+ Color_Fg_Str = "%?%p1%{7}%>%t\033[1;3%p1%{8}%m%dm%e\033[3%p1%dm%;";
+ Color_Bg_Str = "%?%p1%{7}%>%t\033[5;4%p1%{8}%m%dm%e\033[4%p1%dm%;";
+ Max_Terminfo_Colors = 16;
+#else
+ Color_Fg_Str = "\033[3%dm";
+ Color_Bg_Str = "\033[4%dm";
+ Max_Terminfo_Colors = 8;
+#endif
+ }
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+ Can_Background_Color_Erase = TGETFLAG ("ut"); /* bce */
+ /* Modern xterms have the BCE capability as well as the linux console */
+ if (Can_Background_Color_Erase == 0)
+ {
+ Can_Background_Color_Erase = (Linux_Console
+# if SLTT_XTERM_ALWAYS_BCE
+ || is_xterm
+# endif
+ );
+ }
+#endif
+ get_color_info ();
+
+
+ if ((Cls_Str == NULL)
+ || (Curs_Pos_Str == NULL))
+ return -2;
+
+ return 0;
+}
+
+#endif
+/* Unix */
+
+/* specific to vtxxx only */
+void SLtt_enable_cursor_keys (void)
+{
+#ifdef __unix__
+ if (Vt100_Like)
+#endif
+ tt_write_string("\033=\033[?1l");
+}
+
+#ifdef VMS
+int SLtt_initialize (char *term)
+{
+ SLtt_get_terminfo ();
+ return 0;
+}
+
+void SLtt_get_terminfo ()
+{
+ int zero = 0;
+
+ Color_Fg_Str = "\033[3%dm";
+ Color_Bg_Str = "\033[4%dm";
+ Max_Terminfo_Colors = 8;
+
+ get_color_info ();
+
+ SLtt_set_term_vtxxx(&zero);
+ Start_Alt_Chars_Str = "\016";
+ End_Alt_Chars_Str = "\017";
+ SLtt_Has_Alt_Charset = 1;
+ SLtt_Graphics_Char_Pairs = "aaffgghhjjkkllmmnnooqqssttuuvvwwxx";
+ Enable_Alt_Char_Set = "\033(B\033)0";
+ SLtt_get_screen_size ();
+}
+#endif
+
+/* This sets term for vt102 terminals it parameter vt100 is 0. If vt100
+ * is non-zero, set terminal appropriate for a only vt100
+ * (no add line capability). */
+
+void SLtt_set_term_vtxxx(int *vt100)
+{
+ Norm_Vid_Str = "\033[m";
+
+ Scroll_R_Str = "\033[%i%d;%dr";
+ Cls_Str = "\033[2J\033[H";
+ Rev_Vid_Str = "\033[7m";
+ Bold_Vid_Str = "\033[1m";
+ Blink_Vid_Str = "\033[5m";
+ UnderLine_Vid_Str = "\033[4m";
+ Del_Eol_Str = "\033[K";
+ Del_Bol_Str = "\033[1K";
+ Rev_Scroll_Str = "\033M";
+ Curs_F_Str = "\033[%dC";
+ /* Len_Curs_F_Str = 5; */
+ Curs_Pos_Str = "\033[%i%d;%dH";
+ if ((vt100 == NULL) || (*vt100 == 0))
+ {
+ Ins_Mode_Str = "\033[4h";
+ Eins_Mode_Str = "\033[4l";
+ Del_Char_Str = "\033[P";
+ Del_N_Lines_Str = "\033[%dM";
+ Add_N_Lines_Str = "\033[%dL";
+ SLtt_Term_Cannot_Insert = 0;
+ }
+ else
+ {
+ Del_N_Lines_Str = NULL;
+ Add_N_Lines_Str = NULL;
+ SLtt_Term_Cannot_Insert = 1;
+ }
+ SLtt_Term_Cannot_Scroll = 0;
+ /* No_Move_In_Standout = 0; */
+}
+
+int SLtt_init_video (void)
+{
+ /* send_string_to_term("\033[?6h"); */
+ /* relative origin mode */
+ tt_write_string (Term_Init_Str);
+ tt_write_string (Keypad_Init_Str);
+ SLtt_reset_scroll_region();
+ SLtt_end_insert();
+ tt_write_string (Enable_Alt_Char_Set);
+ Video_Initialized = 1;
+ return 0;
+}
+
+int SLtt_reset_video (void)
+{
+ SLtt_goto_rc (SLtt_Screen_Rows - 1, 0);
+ Cursor_Set = 0;
+ SLtt_normal_video (); /* MSKermit requires this */
+ tt_write_string(Norm_Vid_Str);
+
+ Current_Fgbg = 0xFFFFFFFFU;
+ SLtt_set_alt_char_set (0);
+ if (SLtt_Use_Ansi_Colors)
+ {
+ if (Reset_Color_String == NULL)
+ {
+ SLtt_Char_Type attr;
+ if (-1 != make_color_fgbg (NULL, NULL, &attr))
+ write_attributes (attr);
+ else tt_write_string ("\033[0m\033[m");
+ }
+ else tt_write_string (Reset_Color_String);
+ Current_Fgbg = 0xFFFFFFFFU;
+ }
+ SLtt_erase_line ();
+ tt_write_string (Keypad_Reset_Str);
+ tt_write_string (Term_Reset_Str);
+ SLtt_flush_output ();
+ Video_Initialized = 0;
+ return 0;
+}
+
+void SLtt_bold_video (void)
+{
+ tt_write_string (Bold_Vid_Str);
+}
+
+int SLtt_set_mouse_mode (int mode, int force)
+{
+ char *term;
+
+ if (force == 0)
+ {
+ if (NULL == (term = (char *) getenv("TERM"))) return -1;
+ if (strncmp ("xterm", term, 5))
+ return -1;
+ }
+
+ if (mode)
+ tt_write_string ("\033[?9h");
+ else
+ tt_write_string ("\033[?9l");
+
+ return 0;
+}
+
+void SLtt_disable_status_line (void)
+{
+ if (SLtt_Has_Status_Line > 0)
+ {
+ tt_write_string (Disable_Status_line_Str);
+ SLtt_flush_output ();
+ }
+}
+
+int SLtt_write_to_status_line (char *s, int col)
+{
+ if ((SLtt_Has_Status_Line <= 0)
+ || (Goto_Status_Line_Str == NULL)
+ || (Return_From_Status_Line_Str == NULL))
+ return -1;
+
+ tt_printf (Goto_Status_Line_Str, col, 0);
+ tt_write_string (s);
+ tt_write_string (Return_From_Status_Line_Str);
+ return 0;
+}
+
+void SLtt_get_screen_size (void)
+{
+#ifdef VMS
+ int status, code;
+ unsigned short chan;
+ $DESCRIPTOR(dev_dsc, "SYS$INPUT:");
+#endif
+ int r = 0, c = 0;
+
+#ifdef TIOCGWINSZ
+ struct winsize wind_struct;
+
+ do
+ {
+ if ((ioctl(1,TIOCGWINSZ,&wind_struct) == 0)
+ || (ioctl(0, TIOCGWINSZ, &wind_struct) == 0)
+ || (ioctl(2, TIOCGWINSZ, &wind_struct) == 0))
+ {
+ c = (int) wind_struct.ws_col;
+ r = (int) wind_struct.ws_row;
+ break;
+ }
+ }
+ while (errno == EINTR);
+
+#endif
+
+#ifdef VMS
+ status = sys$assign(&dev_dsc,&chan,0,0,0);
+ if (status & 1)
+ {
+ code = DVI$_DEVBUFSIZ;
+ status = lib$getdvi(&code, &chan,0, &c, 0,0);
+ if (!(status & 1))
+ c = 80;
+ code = DVI$_TT_PAGE;
+ status = lib$getdvi(&code, &chan,0, &r, 0,0);
+ if (!(status & 1))
+ r = 24;
+ sys$dassgn(chan);
+ }
+#endif
+
+ if (r <= 0)
+ {
+ char *s = getenv ("LINES");
+ if (s != NULL) r = atoi (s);
+ }
+
+ if (c <= 0)
+ {
+ char *s = getenv ("COLUMNS");
+ if (s != NULL) c = atoi (s);
+ }
+
+ if (r <= 0) r = 24;
+ if (c <= 0) c = 80;
+#if 0
+ if ((r <= 0) || (r > 200)) r = 24;
+ if ((c <= 0) || (c > 250)) c = 80;
+#endif
+ SLtt_Screen_Rows = r;
+ SLtt_Screen_Cols = c;
+}
+
+#if SLTT_HAS_NON_BCE_SUPPORT
+int _SLtt_get_bce_color_offset (void)
+{
+ if ((SLtt_Use_Ansi_Colors == 0)
+ || Can_Background_Color_Erase
+ || SLtt_Use_Blink_For_ACS) /* in this case, we cannot lose a color */
+ Bce_Color_Offset = 0;
+ else
+ {
+ if (GET_BG(Ansi_Color_Map[0].fgbg) == SLSMG_COLOR_DEFAULT)
+ Bce_Color_Offset = 0;
+ else
+ Bce_Color_Offset = 1;
+ }
+
+ return Bce_Color_Offset;
+}
+#endif
diff --git a/mdk-stage1/slang/slerr.c b/mdk-stage1/slang/slerr.c
new file mode 100644
index 000000000..139b3859b
--- /dev/null
+++ b/mdk-stage1/slang/slerr.c
@@ -0,0 +1,181 @@
+/* error handling common to all routines. */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+void (*SLang_VMessage_Hook) (char *, va_list);
+void (*SLang_Error_Hook)(char *);
+void (*SLang_Exit_Error_Hook)(char *, va_list);
+volatile int SLang_Error = 0;
+char *SLang_Error_Message;
+volatile int SLKeyBoard_Quit = 0;
+
+static char *get_error_string (void)
+{
+ char *str;
+
+ if (!SLang_Error) SLang_Error = SL_UNKNOWN_ERROR;
+ if (SLang_Error_Message != NULL) str = SLang_Error_Message;
+ else switch(SLang_Error)
+ {
+ case SL_NOT_IMPLEMENTED: str = "Not Implemented"; break;
+ case SL_APPLICATION_ERROR: str = "Application Error"; break;
+ case SL_VARIABLE_UNINITIALIZED: str = "Variable Uninitialized"; break;
+ case SL_MALLOC_ERROR : str = "Malloc Error"; break;
+ case SL_INTERNAL_ERROR: str = "Internal Error"; break;
+ case SL_STACK_OVERFLOW: str = "Stack Overflow"; break;
+ case SL_STACK_UNDERFLOW: str = "Stack Underflow"; break;
+ case SL_INTRINSIC_ERROR: str = "Intrinsic Error"; break;
+ case SL_USER_BREAK: str = "User Break"; break;
+ case SL_UNDEFINED_NAME: str = "Undefined Name"; break;
+ case SL_SYNTAX_ERROR: str = "Syntax Error"; break;
+ case SL_DUPLICATE_DEFINITION: str = "Duplicate Definition"; break;
+ case SL_TYPE_MISMATCH: str = "Type Mismatch"; break;
+ case SL_READONLY_ERROR: str = "Variable is read-only"; break;
+ case SL_DIVIDE_ERROR: str = "Divide by zero"; break;
+ case SL_OBJ_NOPEN: str = "Object not opened"; break;
+ case SL_OBJ_UNKNOWN: str = "Object unknown"; break;
+ case SL_INVALID_PARM: str = "Invalid Parameter"; break;
+ case SL_TYPE_UNDEFINED_OP_ERROR:
+ str = "Operation not defined for datatype"; break;
+ case SL_USER_ERROR:
+ str = "User Error"; break;
+ case SL_USAGE_ERROR:
+ str = "Illegal usage of function";
+ break;
+ case SL_FLOATING_EXCEPTION:
+ str = "Floating Point Exception";
+ break;
+ case SL_UNKNOWN_ERROR:
+ default: str = "Unknown Error Code";
+ }
+
+ SLang_Error_Message = NULL;
+ return str;
+}
+
+void SLang_doerror (char *error)
+{
+ char *str = NULL;
+ char *err;
+ char *malloced_err_buf;
+ char err_buf [1024];
+
+ malloced_err_buf = NULL;
+
+ if (((SLang_Error == SL_USER_ERROR)
+ || (SLang_Error == SL_USAGE_ERROR))
+ && (error != NULL) && (*error != 0))
+ err = error;
+ else
+ {
+ char *sle = "S-Lang Error: ";
+ unsigned int len;
+ char *fmt;
+
+ str = get_error_string ();
+
+ fmt = "%s%s%s";
+ if ((error == NULL) || (*error == 0))
+ error = "";
+ else if (SLang_Error == SL_UNKNOWN_ERROR)
+ /* Do not display an unknown error message if error is non-NULL */
+ str = "";
+ else
+ fmt = "%s%s: %s";
+
+ len = strlen (sle) + strlen (str) + strlen(error) + 1;
+
+ err = err_buf;
+ if (len >= sizeof (err_buf))
+ {
+ if (NULL == (malloced_err_buf = SLmalloc (len)))
+ err = NULL;
+ else
+ err = malloced_err_buf;
+ }
+
+ if (err != NULL) sprintf (err, fmt, sle, str, error);
+ else err = "Out of memory";
+ }
+
+ if (SLang_Error_Hook == NULL)
+ {
+ fputs (err, stderr);
+ fputs("\r\n", stderr);
+ fflush (stderr);
+ }
+ else
+ (*SLang_Error_Hook)(err);
+
+ SLfree (malloced_err_buf);
+}
+
+void SLang_verror (int err_code, char *fmt, ...)
+{
+ va_list ap;
+ char err [1024];
+
+ if (err_code == 0) err_code = SL_INTRINSIC_ERROR;
+ if (SLang_Error == 0) SLang_Error = err_code;
+
+ if (fmt != NULL)
+ {
+ va_start(ap, fmt);
+ (void) _SLvsnprintf (err, sizeof (err), fmt, ap);
+ fmt = err;
+ va_end(ap);
+ }
+
+ SLang_doerror (fmt);
+}
+
+void SLang_exit_error (char *fmt, ...)
+{
+ va_list ap;
+
+ va_start (ap, fmt);
+ if (SLang_Exit_Error_Hook != NULL)
+ {
+ (*SLang_Exit_Error_Hook) (fmt, ap);
+ exit (1);
+ }
+
+ if (fmt != NULL)
+ {
+ vfprintf (stderr, fmt, ap);
+ fputs ("\r\n", stderr);
+ fflush (stderr);
+ }
+ va_end (ap);
+
+ exit (1);
+}
+
+void SLang_vmessage (char *fmt, ...)
+{
+ va_list ap;
+
+ if (fmt == NULL)
+ return;
+
+ va_start (ap, fmt);
+
+ if (SLang_VMessage_Hook != NULL)
+ (*SLang_VMessage_Hook) (fmt, ap);
+ else
+ {
+ vfprintf (stdout, fmt, ap);
+ fputs ("\r\n", stdout);
+ }
+
+ va_end (ap);
+}
diff --git a/mdk-stage1/slang/slerrno.c b/mdk-stage1/slang/slerrno.c
new file mode 100644
index 000000000..662fadde1
--- /dev/null
+++ b/mdk-stage1/slang/slerrno.c
@@ -0,0 +1,219 @@
+/* The point of this file is to handle errno values in a system independent
+ * way so that they may be used in slang scripts.
+ */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include <errno.h>
+#include "slang.h"
+#include "_slang.h"
+
+typedef struct
+{
+ char *msg;
+ int sys_errno;
+ char *symbolic_name;
+}
+Errno_Map_Type;
+
+static Errno_Map_Type Errno_Map [] =
+{
+#ifndef EPERM
+# define EPERM -1
+#endif
+ {"Not owner", EPERM, "EPERM"},
+#ifndef ENOENT
+# define ENOENT -1
+#endif
+ {"No such file or directory", ENOENT, "ENOENT"},
+#ifndef ESRCH
+# define ESRCH -1
+#endif
+ {"No such process", ESRCH, "ESRCH"},
+#ifndef EINTR
+# define EINTR -1
+#endif
+ {"Interrupted system call", EINTR, "EINTR"},
+#ifndef EIO
+# define EIO -1
+#endif
+ {"I/O error", EIO, "EIO"},
+#ifndef ENXIO
+# define ENXIO -1
+#endif
+ {"No such device or address", ENXIO, "ENXIO"},
+#ifndef E2BIG
+# define E2BIG -1
+#endif
+ {"Arg list too long", E2BIG, "E2BIG"},
+#ifndef ENOEXEC
+# define ENOEXEC -1
+#endif
+ {"Exec format error", ENOEXEC,"ENOEXEC"},
+#ifndef EBADF
+# define EBADF -1
+#endif
+ {"Bad file number", EBADF, "EBADF"},
+#ifndef ECHILD
+# define ECHILD -1
+#endif
+ {"No children", ECHILD, "ECHILD"},
+#ifndef EAGAIN
+# define EAGAIN -1
+#endif
+ {"Try again", EAGAIN, "EAGAIN"},
+#ifndef ENOMEM
+# define ENOMEM -1
+#endif
+ {"Not enough core", ENOMEM, "ENOMEM"},
+#ifndef EACCES
+# define EACCES -1
+#endif
+ {"Permission denied", EACCES, "EACCES"},
+#ifndef EFAULT
+# define EFAULT -1
+#endif
+ {"Bad address", EFAULT, "EFAULT"},
+#ifndef ENOTBLK
+# define ENOTBLK -1
+#endif
+ {"Block device required", ENOTBLK, "ENOTBLK"},
+#ifndef EBUSY
+# define EBUSY -1
+#endif
+ {"Mount device busy", EBUSY, "EBUSY"},
+#ifndef EEXIST
+# define EEXIST -1
+#endif
+ {"File exists", EEXIST, "EEXIST"},
+#ifndef EXDEV
+# define EXDEV -1
+#endif
+ {"Cross-device link", EXDEV, "EXDEV"},
+#ifndef ENODEV
+# define ENODEV -1
+#endif
+ {"No such device", ENODEV, "ENODEV"},
+#ifndef ENOTDIR
+# define ENOTDIR -1
+#endif
+ {"Not a directory", ENOTDIR, "ENOTDIR"},
+#ifndef EISDIR
+# define EISDIR -1
+#endif
+ {"Is a directory", EISDIR, "EISDIR"},
+#ifndef EINVAL
+# define EINVAL -1
+#endif
+ {"Invalid argument", EINVAL, "EINVAL"},
+#ifndef ENFILE
+# define ENFILE -1
+#endif
+ {"File table overflow", ENFILE, "ENFILE"},
+#ifndef EMFILE
+# define EMFILE -1
+#endif
+ {"Too many open files", EMFILE, "EMFILE"},
+#ifndef ENOTTY
+# define ENOTTY -1
+#endif
+ {"Not a typewriter", ENOTTY, "ENOTTY"},
+#ifndef ETXTBSY
+# define ETXTBSY -1
+#endif
+ {"Text file busy", ETXTBSY, "ETXTBSY"},
+#ifndef EFBIG
+# define EFBIG -1
+#endif
+ {"File too large", EFBIG, "EFBIG"},
+#ifndef ENOSPC
+# define ENOSPC -1
+#endif
+ {"No space left on device", ENOSPC, "ENOSPC"},
+#ifndef ESPIPE
+# define ESPIPE -1
+#endif
+ {"Illegal seek", ESPIPE, "ESPIPE"},
+#ifndef EROFS
+# define EROFS -1
+#endif
+ {"Read-only file system", EROFS, "EROFS"},
+#ifndef EMLINK
+# define EMLINK -1
+#endif
+ {"Too many links", EMLINK, "EMLINK"},
+#ifndef EPIPE
+# define EPIPE -1
+#endif
+ {"Broken pipe", EPIPE, "EPIPE"},
+#ifndef ELOOP
+# define ELOOP -1
+#endif
+ {"Too many levels of symbolic links",ELOOP, "ELOOP"},
+#ifndef ENAMETOOLONG
+# define ENAMETOOLONG -1
+#endif
+ {"File name too long", ENAMETOOLONG, "ENAMETOOLONG"},
+
+ {NULL, 0, NULL}
+};
+
+int _SLerrno_errno;
+
+int SLerrno_set_errno (int sys_errno)
+{
+ _SLerrno_errno = sys_errno;
+ return 0;
+}
+
+char *SLerrno_strerror (int sys_errno)
+{
+ Errno_Map_Type *e;
+
+ e = Errno_Map;
+ while (e->msg != NULL)
+ {
+ if (e->sys_errno == sys_errno)
+ return e->msg;
+
+ e++;
+ }
+
+ if (sys_errno == SL_ERRNO_NOT_IMPLEMENTED)
+ return "System call not available for this platform";
+
+ return "Unknown error";
+}
+
+static char *intrin_errno_string (int *sys_errno)
+{
+ return SLerrno_strerror (*sys_errno);
+}
+
+int _SLerrno_init (void)
+{
+ static Errno_Map_Type *e;
+
+ if (e != NULL) /* already initialized */
+ return 0;
+
+ if ((-1 == SLadd_intrinsic_function ("errno_string", (FVOID_STAR) intrin_errno_string,
+ SLANG_STRING_TYPE, 1, SLANG_INT_TYPE))
+ || (-1 == SLadd_intrinsic_variable ("errno", (VOID_STAR)&_SLerrno_errno, SLANG_INT_TYPE, 1)))
+ return -1;
+
+ e = Errno_Map;
+ while (e->msg != NULL)
+ {
+ if (-1 == SLadd_intrinsic_variable (e->symbolic_name, (VOID_STAR) &e->sys_errno, SLANG_INT_TYPE, 1))
+ return -1;
+ e++;
+ }
+
+ return 0;
+}
diff --git a/mdk-stage1/slang/slgetkey.c b/mdk-stage1/slang/slgetkey.c
new file mode 100644
index 000000000..2f2914f07
--- /dev/null
+++ b/mdk-stage1/slang/slgetkey.c
@@ -0,0 +1,306 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+unsigned int SLang_Input_Buffer_Len = 0;
+unsigned char SLang_Input_Buffer [SL_MAX_INPUT_BUFFER_LEN];
+
+int SLang_Abort_Char = 7;
+int SLang_Ignore_User_Abort = 0;
+
+/* This has the effect of mapping all characters in the range 128-169 to
+ * ESC [ something
+ */
+
+unsigned int SLang_getkey (void)
+{
+ unsigned int imax;
+ unsigned int ch;
+
+ if (SLang_Input_Buffer_Len)
+ {
+ ch = (unsigned int) *SLang_Input_Buffer;
+ SLang_Input_Buffer_Len--;
+ imax = SLang_Input_Buffer_Len;
+
+ SLMEMCPY ((char *) SLang_Input_Buffer,
+ (char *) (SLang_Input_Buffer + 1), imax);
+ }
+ else if (SLANG_GETKEY_ERROR == (ch = _SLsys_getkey ())) return ch;
+
+#if _SLANG_MAP_VTXXX_8BIT
+# if !defined(IBMPC_SYSTEM)
+ if (ch & 0x80)
+ {
+ unsigned char i;
+ i = (unsigned char) (ch & 0x7F);
+ if (i < ' ')
+ {
+ i += 64;
+ SLang_ungetkey (i);
+ ch = 27;
+ }
+ }
+# endif
+#endif
+ return(ch);
+}
+
+int SLang_ungetkey_string (unsigned char *s, unsigned int n)
+{
+ register unsigned char *bmax, *b, *b1;
+ if (SLang_Input_Buffer_Len + n + 3 > SL_MAX_INPUT_BUFFER_LEN)
+ return -1;
+
+ b = SLang_Input_Buffer;
+ bmax = (b - 1) + SLang_Input_Buffer_Len;
+ b1 = bmax + n;
+ while (bmax >= b) *b1-- = *bmax--;
+ bmax = b + n;
+ while (b < bmax) *b++ = *s++;
+ SLang_Input_Buffer_Len += n;
+ return 0;
+}
+
+int SLang_buffer_keystring (unsigned char *s, unsigned int n)
+{
+
+ if (n + SLang_Input_Buffer_Len + 3 > SL_MAX_INPUT_BUFFER_LEN) return -1;
+
+ SLMEMCPY ((char *) SLang_Input_Buffer + SLang_Input_Buffer_Len,
+ (char *) s, n);
+ SLang_Input_Buffer_Len += n;
+ return 0;
+}
+
+int SLang_ungetkey (unsigned char ch)
+{
+ return SLang_ungetkey_string(&ch, 1);
+}
+
+int SLang_input_pending (int tsecs)
+{
+ int n;
+ unsigned char c;
+ if (SLang_Input_Buffer_Len) return (int) SLang_Input_Buffer_Len;
+
+ n = _SLsys_input_pending (tsecs);
+
+ if (n <= 0) return 0;
+
+ c = (unsigned char) SLang_getkey ();
+ SLang_ungetkey_string (&c, 1);
+
+ return n;
+}
+
+void SLang_flush_input (void)
+{
+ int quit = SLKeyBoard_Quit;
+
+ SLang_Input_Buffer_Len = 0;
+ SLKeyBoard_Quit = 0;
+ while (_SLsys_input_pending (0) > 0)
+ {
+ (void) _SLsys_getkey ();
+ /* Set this to 0 because _SLsys_getkey may stuff keyboard buffer if
+ * key sends key sequence (OS/2, DOS, maybe VMS).
+ */
+ SLang_Input_Buffer_Len = 0;
+ }
+ SLKeyBoard_Quit = quit;
+}
+
+#ifdef IBMPC_SYSTEM
+static int Map_To_ANSI;
+int SLgetkey_map_to_ansi (int enable)
+{
+ Map_To_ANSI = enable;
+ return 0;
+}
+
+static int convert_scancode (unsigned int scan,
+ unsigned int shift,
+ int getkey,
+ unsigned int *ret_key)
+{
+ unsigned char buf[16];
+ unsigned char *b;
+ unsigned char end;
+ int is_arrow;
+
+ shift &= (_SLTT_KEY_ALT|_SLTT_KEY_SHIFT|_SLTT_KEY_CTRL);
+
+ b = buf;
+ if (_SLTT_KEY_ALT == shift)
+ {
+ shift = 0;
+ *b++ = 27;
+ }
+ *b++ = 27;
+ *b++ = '[';
+
+ is_arrow = 0;
+ end = '~';
+ if (shift)
+ {
+ if (shift == _SLTT_KEY_CTRL)
+ end = '^';
+ else if (shift == _SLTT_KEY_SHIFT)
+ end = '$';
+ else shift = 0;
+ }
+
+ /* These mappings correspond to what rxvt produces under Linux */
+ switch (scan & 0xFF)
+ {
+ default:
+ return -1;
+
+ case 0x47: /* home */
+ *b++ = '1';
+ break;
+ case 0x48: /* up */
+ end = 'A';
+ is_arrow = 1;
+ break;
+ case 0x49: /* PgUp */
+ *b++ = '5';
+ break;
+ case 0x4B: /* Left */
+ end = 'D';
+ is_arrow = 1;
+ break;
+ case 0x4D: /* Right */
+ end = 'C';
+ is_arrow = 1;
+ break;
+ case 0x4F: /* End */
+ *b++ = '4';
+ break;
+ case 0x50: /* Down */
+ end = 'B';
+ is_arrow = 1;
+ break;
+ case 0x51: /* PgDn */
+ *b++ = '6';
+ break;
+ case 0x52: /* Insert */
+ *b++ = '2';
+ break;
+ case 0x53: /* Delete */
+ *b++ = '3';
+ break;
+ case ';': /* F1 */
+ *b++ = '1';
+ *b++ = '1';
+ break;
+ case '<': /* F2 */
+ *b++ = '1';
+ *b++ = '2';
+ break;
+ case '=': /* F3 */
+ *b++ = '1';
+ *b++ = '3';
+ break;
+
+ case '>': /* F4 */
+ *b++ = '1';
+ *b++ = '4';
+ break;
+
+ case '?': /* F5 */
+ *b++ = '1';
+ *b++ = '5';
+ break;
+
+ case '@': /* F6 */
+ *b++ = '1';
+ *b++ = '7';
+ break;
+
+ case 'A': /* F7 */
+ *b++ = '1';
+ *b++ = '8';
+ break;
+
+ case 'B': /* F8 */
+ *b++ = '1';
+ *b++ = '9';
+ break;
+
+ case 'C': /* F9 */
+ *b++ = '2';
+ *b++ = '0';
+ break;
+
+ case 'D': /* F10 */
+ *b++ = '2';
+ *b++ = '1';
+ break;
+
+ case 0x57: /* F11 */
+ *b++ = '2';
+ *b++ = '3';
+ break;
+
+ case 0x58: /* F12 */
+ *b++ = '2';
+ *b++ = '4';
+ break;
+ }
+
+ if (is_arrow && shift)
+ {
+ if (shift == _SLTT_KEY_CTRL)
+ end &= 0x1F;
+ else
+ end |= 0x20;
+ }
+ *b++ = end;
+
+ if (getkey)
+ {
+ (void) SLang_buffer_keystring (buf + 1, (unsigned int) (b - (buf + 1)));
+ *ret_key = buf[0];
+ return 0;
+ }
+
+ (void) SLang_buffer_keystring (buf, (unsigned int) (b - buf));
+ return 0;
+}
+
+
+unsigned int _SLpc_convert_scancode (unsigned int scan,
+ unsigned int shift,
+ int getkey)
+{
+ unsigned char buf[16];
+
+ if (Map_To_ANSI)
+ {
+ if (0 == convert_scancode (scan, shift, getkey, &scan))
+ return scan;
+ }
+
+ if (getkey)
+ {
+ buf[0] = scan & 0xFF;
+ SLang_buffer_keystring (buf, 1);
+ return (scan >> 8) & 0xFF;
+ }
+ buf[0] = (scan >> 8) & 0xFF;
+ buf[1] = scan & 0xFF;
+ (void) SLang_buffer_keystring (buf, 2);
+ return 0;
+}
+
+#endif
diff --git a/mdk-stage1/slang/slimport.c b/mdk-stage1/slang/slimport.c
new file mode 100644
index 000000000..44b4b25e1
--- /dev/null
+++ b/mdk-stage1/slang/slimport.c
@@ -0,0 +1,281 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#define SLANG_HAS_DYNAMIC_LINKING 1
+
+#ifndef HAVE_DLFCN_H
+# undef SLANG_HAS_DYNAMIC_LINKING
+# define SLANG_HAS_DYNAMIC_LINKING 0
+#endif
+
+/* The rest of this file is in the if block */
+#if SLANG_HAS_DYNAMIC_LINKING
+
+#ifdef HAVE_DLFCN_H
+# include <dlfcn.h>
+#endif
+
+static char *Module_Path;
+#define MODULE_PATH_ENV_NAME "SLANG_MODULE_PATH"
+#ifndef MODULE_INSTALL_DIR
+# define MODULE_INSTALL_DIR "/usr/local/lib/slang/modules"
+#endif
+
+typedef struct _Handle_Type
+{
+ struct _Handle_Type *next;
+ char *name;
+ VOID_STAR handle;
+ void (*deinit_fun) (void);
+}
+Handle_Type;
+
+static Handle_Type *Handle_List;
+
+static void delete_handles (void)
+{
+ while (Handle_List != NULL)
+ {
+ Handle_Type *next = Handle_List->next;
+
+ if (Handle_List->deinit_fun != NULL)
+ Handle_List->deinit_fun ();
+ (void) dlclose (Handle_List->handle);
+ SLang_free_slstring (Handle_List->name);
+ SLfree ((char *)Handle_List);
+ Handle_List = next;
+ }
+}
+
+static Handle_Type *save_handle (char *name, VOID_STAR h, void (*df)(void))
+{
+ Handle_Type *l;
+
+ l = (Handle_Type *) SLmalloc (sizeof (Handle_Type));
+ if (l == NULL)
+ return NULL;
+ memset ((char *) l, 0, sizeof(Handle_Type));
+ if (NULL == (l->name = SLang_create_slstring (name)))
+ {
+ SLfree ((char *) l);
+ return NULL;
+ }
+ l->handle = h;
+ l->next = Handle_List;
+ l->deinit_fun = df;
+ Handle_List = l;
+
+ return l;
+}
+
+static Handle_Type *find_handle (char *name)
+{
+ Handle_Type *l;
+
+ l = Handle_List;
+ while (l != NULL)
+ {
+ if (0 == strcmp (l->name, name))
+ break;
+ l = l->next;
+ }
+ return l;
+}
+
+static int import_from_library (char *name,
+ char *init_fun_name, char *deinit_fun_name,
+ char *file,
+ char *ns,
+ char *ns_init_fun_name)
+{
+ VOID_STAR handle;
+ int (*init_fun) (void);
+ int (*ns_init_fun) (char *);
+ void (*deinit_fun) (void);
+ char *err;
+ char filebuf[1024];
+ char *fun_name;
+
+ if (NULL != find_handle (name))
+ return 0; /* already loaded */
+
+ while (1)
+ {
+#ifndef RTLD_GLOBAL
+# define RTLD_GLOBAL 0
+#endif
+#ifdef RTLD_NOW
+ handle = (VOID_STAR) dlopen (file, RTLD_NOW | RTLD_GLOBAL);
+#else
+ handle = (VOID_STAR) dlopen (file, RTLD_LAZY | RTLD_GLOBAL);
+#endif
+
+ if (handle != NULL)
+ break;
+
+ if (NULL == strchr (file, '/'))
+ {
+ _SLsnprintf (filebuf, sizeof (filebuf), "./%s", file);
+ file = filebuf;
+ continue;
+ }
+
+ if (NULL == (err = (char *) dlerror ()))
+ err = "UNKNOWN";
+
+ SLang_verror (SL_INTRINSIC_ERROR,
+ "Error linking to %s: %s", file, err);
+ return -1;
+ }
+
+ fun_name = ns_init_fun_name;
+ ns_init_fun = (int (*)(char *)) dlsym (handle, fun_name);
+ if (ns_init_fun == NULL)
+ {
+ if ((ns != NULL)
+ && (0 != strcmp (ns, "Global")))
+ goto return_error;
+
+ fun_name = init_fun_name;
+ init_fun = (int (*)(void)) dlsym (handle, fun_name);
+ if (init_fun == NULL)
+ goto return_error;
+
+ if (-1 == (*init_fun) ())
+ {
+ dlclose (handle);
+ return -1;
+ }
+ }
+ else if (-1 == (*ns_init_fun) (ns))
+ {
+ dlclose (handle);
+ return -1;
+ }
+
+
+ deinit_fun = (void (*)(void)) dlsym (handle, deinit_fun_name);
+
+ (void) save_handle (name, handle, deinit_fun);
+ return 0;
+
+ return_error:
+
+ if (NULL == (err = (char *) dlerror ()))
+ err = "UNKNOWN";
+
+ dlclose (handle);
+ SLang_verror (SL_INTRINSIC_ERROR,
+ "Unable to get symbol %s from %s: %s",
+ name, file, err);
+ return -1;
+}
+
+static void import_module (void)
+{
+ char module_name[256];
+ char symbol_name[256];
+ char deinit_name[256];
+ char ns_init_name[256];
+ char *path;
+ char *file;
+ char *module;
+ char *ns = NULL;
+
+ if (SLang_Num_Function_Args == 2)
+ {
+ if (-1 == SLang_pop_slstring (&ns))
+ return;
+ }
+
+ if (-1 == SLang_pop_slstring (&module))
+ {
+ SLang_free_slstring (ns); /* NULL ok */
+ return;
+ }
+
+ _SLsnprintf (symbol_name, sizeof(symbol_name), "init_%s_module", module);
+ _SLsnprintf (module_name, sizeof(module_name), "%s-module.so", module);
+ _SLsnprintf (deinit_name, sizeof(deinit_name), "deinit_%s_module", module);
+ _SLsnprintf (ns_init_name, sizeof (ns_init_name), "init_%s_module_ns", module);
+
+ if (Module_Path != NULL)
+ file = SLpath_find_file_in_path (Module_Path, module_name);
+ else file = NULL;
+
+ if ((file == NULL)
+ && (NULL != (path = getenv (MODULE_PATH_ENV_NAME))))
+ file = SLpath_find_file_in_path (path, module_name);
+
+ if (file == NULL)
+ file = SLpath_find_file_in_path (MODULE_INSTALL_DIR, module_name);
+
+ if (file != NULL)
+ {
+ (void) import_from_library (symbol_name, symbol_name, deinit_name, file, ns, ns_init_name);
+ SLfree (file);
+ }
+ else
+ {
+ /* Maybe the system loader can find it in LD_LIBRARY_PATH */
+ (void) import_from_library (symbol_name, symbol_name, deinit_name, module_name, ns, ns_init_name);
+ }
+}
+
+static void set_import_module_path (char *path)
+{
+ (void) SLang_set_module_load_path (path);
+}
+
+static char *get_import_module_path (void)
+{
+ char *path;
+ if (Module_Path != NULL)
+ return Module_Path;
+ if (NULL != (path = getenv (MODULE_PATH_ENV_NAME)))
+ return path;
+ return MODULE_INSTALL_DIR;
+}
+
+static SLang_Intrin_Fun_Type Module_Intrins [] =
+{
+ MAKE_INTRINSIC_0("import", import_module, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("set_import_module_path", set_import_module_path, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("get_import_module_path", get_import_module_path, SLANG_STRING_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+#endif /* SLANG_HAS_DYNAMIC_LINKING */
+
+int SLang_set_module_load_path (char *path)
+{
+#if SLANG_HAS_DYNAMIC_LINKING
+ if (NULL == (path = SLang_create_slstring (path)))
+ return -1;
+ SLang_free_slstring (Module_Path);
+ Module_Path = path;
+ return 0;
+#else
+ (void) path;
+ return -1;
+#endif
+}
+
+int SLang_init_import (void)
+{
+#if SLANG_HAS_DYNAMIC_LINKING
+ (void) SLang_add_cleanup_function (delete_handles);
+ return SLadd_intrin_fun_table (Module_Intrins, "__IMPORT__");
+#else
+ return 0;
+#endif
+}
diff --git a/mdk-stage1/slang/slinclud.h b/mdk-stage1/slang/slinclud.h
new file mode 100644
index 000000000..d60a4423e
--- /dev/null
+++ b/mdk-stage1/slang/slinclud.h
@@ -0,0 +1,26 @@
+#ifndef _SLANG_INCLUDE_H_
+#define _SLANG_INCLUDE_H_
+
+#include "config.h"
+#include "sl-feat.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef HAVE_MALLOC_H
+# include <malloc.h>
+#endif
+
+#ifdef HAVE_MEMORY_H
+# include <memory.h>
+#endif
+
+#endif /* _SLANG_INCLUDE_H_ */
diff --git a/mdk-stage1/slang/slintall.c b/mdk-stage1/slang/slintall.c
new file mode 100644
index 000000000..a66b9d6d2
--- /dev/null
+++ b/mdk-stage1/slang/slintall.c
@@ -0,0 +1,27 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+int SLang_init_all (void)
+{
+ if ((-1 == SLang_init_slang ())
+ || (-1 == SLang_init_slmath ())
+ || (-1 == SLang_init_posix_dir ())
+ || (-1 == SLang_init_posix_process ())
+ || (-1 == SLang_init_stdio ())
+ || (-1 == SLang_init_array ())
+ || (-1 == SLang_init_posix_io ())
+ || (-1 == SLang_init_ospath ())
+ )
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slistruc.c b/mdk-stage1/slang/slistruc.c
new file mode 100644
index 000000000..06b8fd6ff
--- /dev/null
+++ b/mdk-stage1/slang/slistruc.c
@@ -0,0 +1,218 @@
+/* Intrinsic Structure type implementation */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/* Intrinsic structures */
+
+typedef struct
+{
+ char *name;
+ VOID_STAR addr;
+ SLang_IStruct_Field_Type *fields;
+}
+_SLang_IStruct_Type;
+
+static SLang_IStruct_Field_Type *istruct_pop_field (char *name, int no_readonly, VOID_STAR *addr)
+{
+ _SLang_IStruct_Type *s;
+ SLang_IStruct_Field_Type *f;
+ char *struct_addr;
+
+ /* Note: There is no need to free this object */
+ if (-1 == SLclass_pop_ptr_obj (SLANG_ISTRUCT_TYPE, (VOID_STAR *) &s))
+ return NULL;
+
+ if (NULL == (struct_addr = *(char **)s->addr))
+ {
+ SLang_verror (SL_INTRINSIC_ERROR,
+ "%s is NULL. Unable to access field", s->name);
+ return NULL;
+ }
+
+ f = s->fields;
+ while (f->field_name != NULL)
+ {
+ /* Since both these are slstrings, just test pointers */
+ if (f->field_name != name)
+ {
+ f++;
+ continue;
+ }
+
+ if (no_readonly && f->read_only)
+ {
+ SLang_verror (SL_READONLY_ERROR,
+ "%s.%s is read-only", s->name, name);
+ return NULL;
+ }
+
+ *addr = (VOID_STAR) (struct_addr + f->offset);
+ return f;
+ }
+
+ SLang_verror (SL_TYPE_MISMATCH,
+ "%s has no field called %s", s->name, name);
+ return NULL;
+}
+
+static int istruct_sget (unsigned char type, char *name)
+{
+ SLang_IStruct_Field_Type *f;
+ VOID_STAR addr;
+ SLang_Class_Type *cl;
+
+ if (NULL == (f = istruct_pop_field (name, 0, &addr)))
+ return -1;
+
+ type = f->type;
+ cl = _SLclass_get_class (type);
+
+ return (cl->cl_push_intrinsic)(f->type, addr);
+}
+
+static int istruct_sput (unsigned char type, char *name)
+{
+ SLang_IStruct_Field_Type *f;
+ VOID_STAR addr;
+ SLang_Class_Type *cl;
+
+ if (NULL == (f = istruct_pop_field (name, 1, &addr)))
+ return -1;
+
+ type = f->type;
+ cl = _SLclass_get_class (type);
+
+ return (*cl->cl_pop) (type, addr);
+}
+
+static int istruct_push (unsigned char type, VOID_STAR ptr)
+{
+ _SLang_IStruct_Type *s;
+
+ s = *(_SLang_IStruct_Type **) ptr;
+ if ((s == NULL)
+ || (s->addr == NULL)
+ || (*(char **) s->addr == NULL))
+ return SLang_push_null ();
+
+ return SLclass_push_ptr_obj (type, (VOID_STAR) s);
+}
+
+static int istruct_pop (unsigned char type, VOID_STAR ptr)
+{
+ return SLclass_pop_ptr_obj (type, (VOID_STAR *)ptr);
+}
+
+static void istruct_destroy (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ (void) ptr;
+}
+
+/* Intrinsic struct objects are not stored in a variable. So, the address that
+ * is passed here is actually a pointer to the struct. So, pass its address
+ * to istruct_push since v is a variable. Confusing, n'est pas?
+ */
+static int istruct_push_intrinsic (unsigned char type, VOID_STAR v)
+{
+ return istruct_push (type, (VOID_STAR) &v);
+}
+
+static int init_intrin_struct (void)
+{
+ SLang_Class_Type *cl;
+ static int initialized;
+
+ if (initialized)
+ return 0;
+
+ if (NULL == (cl = SLclass_allocate_class ("IStruct_Type")))
+ return -1;
+
+ cl->cl_pop = istruct_pop;
+ cl->cl_push = istruct_push;
+ cl->cl_sget = istruct_sget;
+ cl->cl_sput = istruct_sput;
+ cl->cl_destroy = istruct_destroy;
+ cl->cl_push_intrinsic = istruct_push_intrinsic;
+
+ if (-1 == SLclass_register_class (cl, SLANG_ISTRUCT_TYPE, sizeof (_SLang_IStruct_Type *),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ initialized = 1;
+ return 0;
+}
+
+int SLadd_istruct_table (SLang_IStruct_Field_Type *fields, VOID_STAR addr, char *name)
+{
+ _SLang_IStruct_Type *s;
+ SLang_IStruct_Field_Type *f;
+
+ if (-1 == init_intrin_struct ())
+ return -1;
+
+ if (addr == NULL)
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "SLadd_istruct_table: address must be non-NULL");
+ return -1;
+ }
+
+ if (fields == NULL)
+ return -1;
+
+ /* Make the field names slstrings so that only the pointers need to be
+ * compared. However, this table may have been already been added for
+ * another instance of the intrinsic object. So, check for the presence
+ * of an slstring.
+ */
+ f = fields;
+ while (f->field_name != NULL)
+ {
+ char *fname;
+
+ fname = SLang_create_slstring (f->field_name);
+ if (fname == NULL)
+ return -1;
+
+ /* Here is the check for the slstring */
+ if (f->field_name == fname)
+ SLang_free_slstring (fname);
+ else /* replace string literal with slstring */
+ f->field_name = fname;
+
+ f++;
+ }
+
+ s = (_SLang_IStruct_Type *)SLmalloc (sizeof (_SLang_IStruct_Type));
+ if (s == NULL)
+ return -1;
+
+ memset ((char *)s, 0, sizeof (_SLang_IStruct_Type));
+ if (NULL == (s->name = SLang_create_slstring (name)))
+ {
+ SLfree ((char *) s);
+ return -1;
+ }
+
+ s->addr = addr;
+ s->fields = fields;
+
+ if (-1 == SLadd_intrinsic_variable (name, (VOID_STAR) s, SLANG_ISTRUCT_TYPE, 1))
+ {
+ SLang_free_slstring (s->name);
+ SLfree ((char *) s);
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/mdk-stage1/slang/slkeymap.c b/mdk-stage1/slang/slkeymap.c
new file mode 100644
index 000000000..dff65433e
--- /dev/null
+++ b/mdk-stage1/slang/slkeymap.c
@@ -0,0 +1,596 @@
+/* Keymap routines for SLang. The role of these keymap routines is simple:
+ * Just read keys from the tty and return a pointer to a keymap structure.
+ * That is, a keymap is simple a mapping of strings (keys from tty) to
+ * structures. Also included are routines for managing the keymaps.
+ */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/* We need a define a rule for upperand lower case chars that user cannot
+ change! This could be a problem for international chars! */
+
+#define UPPER_CASE_KEY(x) (((x) >= 'a') && ((x) <= 'z') ? (x) - 32 : (x))
+#define LOWER_CASE_KEY(x) (((x) >= 'A') && ((x) <= 'Z') ? (x) + 32 : (x))
+
+int SLang_Key_TimeOut_Flag = 0; /* true if more than 1 sec has elapsed
+ without key in multikey sequence */
+
+int SLang_Last_Key_Char;
+
+SLKeyMap_List_Type SLKeyMap_List[SLANG_MAX_KEYMAPS];
+
+static SLang_Key_Type *malloc_key(unsigned char *str)
+{
+ SLang_Key_Type *neew;
+
+ if (NULL == (neew = (SLang_Key_Type *) SLmalloc(sizeof(SLang_Key_Type))))
+ return NULL;
+
+ SLMEMSET ((char *) neew, 0, sizeof (SLang_Key_Type));
+ SLMEMCPY((char *) neew->str, (char *) str, (unsigned int) *str);
+ return(neew);
+}
+
+static SLKeyMap_List_Type *add_keymap (char *name, SLang_Key_Type *map)
+{
+ int i;
+
+ for (i = 0; i < SLANG_MAX_KEYMAPS; i++)
+ {
+ if (SLKeyMap_List[i].keymap == NULL)
+ {
+ if (NULL == (name = SLang_create_slstring (name)))
+ return NULL;
+
+ SLKeyMap_List[i].keymap = map;
+ SLKeyMap_List[i].name = name;
+ return &SLKeyMap_List[i];
+ }
+ }
+ SLang_Error = SL_UNKNOWN_ERROR;
+ /* SLang_doerror ("Keymap quota exceeded."); */
+ return NULL;
+}
+
+FVOID_STAR SLang_find_key_function(char *name, SLKeyMap_List_Type *keymap)
+{
+ SLKeymap_Function_Type *fp = keymap -> functions;
+ char ch = *name;
+
+ while ((fp != NULL) && (fp->name != NULL))
+ {
+ if ((ch == *fp->name)
+ && (0 == strcmp(fp->name, name)))
+ return (FVOID_STAR) fp->f;
+
+ fp++;
+ }
+ return NULL;
+}
+
+#ifdef REAL_UNIX_SYSTEM
+/* Expand termcap string specified by s. s as passed will have the format:
+ * "XY)..." where XY represents a termcap keyname.
+ */
+static char *process_termcap_string (char *s, char *str, int *ip, int imax)
+{
+ char c[3], *val;
+ int i;
+
+ if ((0 == (c[0] = s[0]))
+ || (0 == (c[1] = s[1]))
+ || (s[2] != ')'))
+ {
+ SLang_verror (SL_SYNTAX_ERROR, "setkey: ^(%s is badly formed", s);
+ return NULL;
+ }
+ s += 3;
+
+ c[2] = 0;
+ if ((NULL == (val = SLtt_tgetstr (c)))
+ || (*val == 0))
+ return NULL;
+
+ i = *ip;
+ while ((i < imax) && (*val != 0))
+ {
+ str[i++] = *val++;
+ }
+ *ip = i;
+
+ return s;
+}
+#endif
+
+/* convert things like "^A" to 1 etc... The 0th char is the strlen INCLUDING
+ * the length character itself.
+ */
+char *SLang_process_keystring(char *s)
+{
+ /* FIXME: v2.0, make this thread safe */
+ static char str[32];
+ unsigned char ch;
+ int i;
+
+ i = 1;
+ while (*s != 0)
+ {
+ ch = (unsigned char) *s++;
+ if (ch == '^')
+ {
+ ch = *s++;
+ if (ch == 0)
+ {
+ if (i < 32)
+ str[i++] = '^';
+ break;
+ }
+#ifdef REAL_UNIX_SYSTEM
+ if (ch == '(')
+ {
+ s = process_termcap_string (s, str, &i, 32);
+ if (s == NULL)
+ {
+ str[0] = 1;
+ return str;
+ }
+ continue;
+ }
+#endif
+ ch = UPPER_CASE_KEY(ch);
+ if (ch == '?') ch = 127; else ch = ch - 'A' + 1;
+ }
+
+ if (i >= 32) break;
+ str[i++] = ch;
+ }
+
+ if (i > SLANG_MAX_KEYMAP_KEY_SEQ)
+ {
+ SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
+ return NULL;
+ }
+
+ str[0] = i;
+ return(str);
+}
+
+static int key_string_compare (unsigned char *a, unsigned char *b, unsigned int len)
+{
+ unsigned char *amax = a + len;
+ int cha, chb, cha_up, chb_up;
+
+ while (a < amax)
+ {
+ cha = *a++;
+ chb = *b++;
+
+ if (cha == chb) continue;
+
+ cha_up = UPPER_CASE_KEY(cha);
+ chb_up = UPPER_CASE_KEY(chb);
+
+ if (cha_up == chb_up)
+ {
+ /* Use case-sensitive result. */
+ return cha - chb;
+ }
+ /* Use case-insensitive result. */
+ return cha_up - chb_up;
+ }
+ return 0;
+}
+
+static char *Define_Key_Error = "Inconsistency in define key.";
+
+/* This function also performs an insertion in an ordered way. */
+static int find_the_key (char *s, SLKeyMap_List_Type *kml, SLang_Key_Type **keyp)
+{
+ unsigned char ch;
+ unsigned int str_len;
+ SLang_Key_Type *key, *last, *neew;
+ unsigned char *str;
+
+ *keyp = NULL;
+
+ if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
+ return -2;
+
+ if (1 == (str_len = str[0]))
+ return 0;
+
+ ch = str[1];
+ key = kml->keymap + ch;
+
+ if (str_len == 2)
+ {
+ if (key->next != NULL)
+ {
+ SLang_doerror (Define_Key_Error);
+ return -2;
+ }
+
+ if (key->type == SLKEY_F_INTERPRET)
+ SLang_free_slstring (key->f.s);
+
+ key->str[0] = str_len;
+ key->str[1] = ch;
+
+ *keyp = key;
+ return 0;
+ }
+
+ /* insert the key definition */
+ while (1)
+ {
+ int cmp;
+ unsigned int key_len, len;
+
+ last = key;
+ key = key->next;
+
+ if ((key != NULL) && (key->str != NULL))
+ {
+ len = key_len = key->str[0];
+ if (len > str_len) len = str_len;
+
+ cmp = key_string_compare (str + 1, key->str + 1, len - 1);
+
+ if (cmp > 0)
+ continue;
+
+ if (cmp == 0)
+ {
+ if (key_len != str_len)
+ {
+ SLang_doerror (Define_Key_Error);
+ return -2;
+ }
+
+ if (key->type == SLKEY_F_INTERPRET)
+ SLang_free_slstring (key->f.s);
+
+ *keyp = key;
+ return 0;
+ }
+ /* Drop to cmp < 0 case */
+ }
+
+ if (NULL == (neew = malloc_key(str))) return -1;
+
+ neew -> next = key;
+ last -> next = neew;
+
+ *keyp = neew;
+ return 0;
+ }
+}
+
+/* returns -2 if inconsistent, -1 if malloc error, 0 upon success */
+int SLkm_define_key (char *s, FVOID_STAR f, SLKeyMap_List_Type *kml)
+{
+ SLang_Key_Type *key;
+ unsigned int type = SLKEY_F_INTRINSIC;
+ int ret;
+
+ ret = find_the_key (s, kml, &key);
+ if ((ret != 0) || (key == NULL))
+ return ret;
+
+ key->type = type;
+ key->f.f = f;
+ return 0;
+}
+
+int SLang_define_key (char *s, char *funct, SLKeyMap_List_Type *kml)
+{
+ SLang_Key_Type *key;
+ FVOID_STAR f;
+ int ret;
+
+ ret = find_the_key (s, kml, &key);
+ if ((ret != 0) || (key == NULL))
+ return ret;
+
+ f = SLang_find_key_function(funct, kml);
+
+ if (f == NULL) /* assume interpreted */
+ {
+ char *str = SLang_create_slstring (funct);
+ if (str == NULL) return -1;
+ key->type = SLKEY_F_INTERPRET;
+ key->f.s = str;
+ }
+ else
+ {
+ key->type = SLKEY_F_INTRINSIC;
+ key->f.f = f;
+ }
+ return 0;
+}
+
+int SLkm_define_keysym (char *s, unsigned int keysym, SLKeyMap_List_Type *kml)
+{
+ SLang_Key_Type *key;
+ int ret;
+
+ ret = find_the_key (s, kml, &key);
+
+ if ((ret != 0) || (key == NULL))
+ return ret;
+
+ key->type = SLKEY_F_KEYSYM;
+ key->f.keysym = keysym;
+ return 0;
+}
+
+SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *kml, int (*getkey)(void))
+{
+ register SLang_Key_Type *key, *next, *kmax;
+ unsigned int len;
+ unsigned char input_ch;
+ register unsigned char chup, chlow;
+ unsigned char key_ch = 0;
+
+ SLang_Last_Key_Char = (*getkey)();
+ SLang_Key_TimeOut_Flag = 0;
+
+ if (SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
+ return NULL;
+
+ input_ch = (unsigned char) SLang_Last_Key_Char;
+
+ key = (SLang_Key_Type *) &((kml->keymap)[input_ch]);
+
+ /* if the next one is null, then we know this MAY be it. */
+ while (key->next == NULL)
+ {
+ if (key->type != 0)
+ return key;
+
+ /* Try its opposite case counterpart */
+ chlow = LOWER_CASE_KEY(input_ch);
+ if (input_ch == chlow)
+ input_ch = UPPER_CASE_KEY(input_ch);
+
+ key = kml->keymap + input_ch;
+ if (key->type == 0)
+ return NULL;
+ }
+
+ /* It appears to be a prefix character in a key sequence. */
+
+ len = 1; /* already read one character */
+ key = key->next; /* Now we are in the key list */
+ kmax = NULL; /* set to end of list */
+
+ while (1)
+ {
+ SLang_Key_TimeOut_Flag = 1;
+ SLang_Last_Key_Char = (*getkey)();
+ SLang_Key_TimeOut_Flag = 0;
+
+ len++;
+
+ if ((SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
+ || SLKeyBoard_Quit)
+ break;
+
+ input_ch = (unsigned char) SLang_Last_Key_Char;
+
+ chup = UPPER_CASE_KEY(input_ch); chlow = LOWER_CASE_KEY(input_ch);
+
+ while (key != kmax)
+ {
+ if (key->str[0] > len)
+ {
+ key_ch = key->str[len];
+ if (chup == UPPER_CASE_KEY(key_ch))
+ break;
+ }
+ key = key->next;
+ }
+
+ if (key == kmax) break;
+
+ /* If the input character is lowercase, check to see if there is
+ * a lowercase match. If so, set key to it. Note: the
+ * algorithm assumes the sorting performed by key_string_compare.
+ */
+ if (input_ch != key_ch)
+ {
+ next = key->next;
+ while (next != kmax)
+ {
+ if (next->str[0] > len)
+ {
+ unsigned char next_ch = next->str[len];
+ if (next_ch == input_ch)
+ {
+ key = next;
+ break;
+ }
+ if (next_ch != chup)
+ break;
+ }
+ next = next->next;
+ }
+ }
+
+ /* Ok, we found the first position of a possible match. If it
+ * is exact, we are done.
+ */
+ if ((unsigned int) key->str[0] == len + 1)
+ return key;
+
+ /* Apparantly, there are some ambiguities. Read next key to resolve
+ * the ambiguity. Adjust kmax to encompass ambiguities.
+ */
+
+ next = key->next;
+ while (next != kmax)
+ {
+ if ((unsigned int) next->str[0] > len)
+ {
+ key_ch = next->str[len];
+ if (chup != UPPER_CASE_KEY(key_ch))
+ break;
+ }
+ next = next->next;
+ }
+ kmax = next;
+ }
+
+ return NULL;
+}
+
+void SLang_undefine_key(char *s, SLKeyMap_List_Type *kml)
+{
+ int n, i;
+ SLang_Key_Type *key, *next, *last, *key_root, *keymap;
+ unsigned char *str;
+
+ keymap = kml -> keymap;
+ if (NULL == (str = (unsigned char *) SLang_process_keystring(s)))
+ return;
+
+ if (0 == (n = *str++ - 1)) return;
+ i = *str;
+
+ last = key_root = (SLang_Key_Type *) &(keymap[i]);
+ key = key_root->next;
+
+ while (key != NULL)
+ {
+ next = key->next;
+ if (0 == SLMEMCMP ((char *)(key->str + 1), (char *) str, n))
+ {
+ if (key->type == SLKEY_F_INTERPRET)
+ SLang_free_slstring (key->f.s);
+
+ SLfree((char *) key);
+ last->next = next;
+ }
+ else last = key;
+ key = next;
+ }
+
+ if (n == 1)
+ {
+ *key_root->str = 0;
+ key_root->f.f = NULL;
+ key_root->type = 0;
+ }
+}
+
+char *SLang_make_keystring(unsigned char *s)
+{
+ static char buf [3 * SLANG_MAX_KEYMAP_KEY_SEQ + 1];
+ char *b;
+ int n;
+
+ n = *s++ - 1;
+
+ if (n > SLANG_MAX_KEYMAP_KEY_SEQ)
+ {
+ SLang_verror (SL_INVALID_PARM, "Key sequence is too long");
+ return NULL;
+ }
+
+ b = buf;
+ while (n--)
+ {
+ if (*s < 32)
+ {
+ *b++ = '^';
+ *b++ = *s + 'A' - 1;
+ }
+ else *b++ = *s;
+ s++;
+ }
+ *b = 0;
+ return(buf);
+}
+
+static SLang_Key_Type *copy_keymap(SLKeyMap_List_Type *kml)
+{
+ int i;
+ SLang_Key_Type *neew, *old, *new_root, *km;
+
+ if (NULL == (new_root = (SLang_Key_Type *) SLcalloc(256, sizeof(SLang_Key_Type))))
+ return NULL;
+
+ if (kml == NULL) return new_root;
+ km = kml->keymap;
+
+ for (i = 0; i < 256; i++)
+ {
+ old = &(km[i]);
+ neew = &(new_root[i]);
+
+ if (old->type == SLKEY_F_INTERPRET)
+ neew->f.s = SLang_create_slstring (old->f.s);
+ else
+ neew->f.f = old->f.f;
+
+ neew->type = old->type;
+ SLMEMCPY((char *) neew->str, (char *) old->str, (unsigned int) *old->str);
+
+ old = old->next;
+ while (old != NULL)
+ {
+ neew->next = malloc_key((unsigned char *) old->str);
+ neew = neew->next;
+
+ if (old->type == SLKEY_F_INTERPRET)
+ neew->f.s = SLang_create_slstring (old->f.s);
+ else
+ neew->f.f = old->f.f;
+
+ neew->type = old->type;
+ old = old->next;
+ }
+ neew->next = NULL;
+ }
+ return(new_root);
+}
+
+SLKeyMap_List_Type *SLang_create_keymap(char *name, SLKeyMap_List_Type *map)
+{
+ SLang_Key_Type *neew;
+ SLKeyMap_List_Type *new_map;
+
+ if ((NULL == (neew = copy_keymap(map)))
+ || (NULL == (new_map = add_keymap(name, neew)))) return NULL;
+
+ if (map != NULL) new_map -> functions = map -> functions;
+
+ return new_map;
+}
+
+SLKeyMap_List_Type *SLang_find_keymap(char *name)
+{
+ SLKeyMap_List_Type *kmap, *kmap_max;
+
+ kmap = SLKeyMap_List;
+ kmap_max = kmap + SLANG_MAX_KEYMAPS;
+
+ while (kmap < kmap_max)
+ {
+ if ((kmap->name != NULL)
+ && (0 == strcmp (kmap->name, name)))
+ return kmap;
+
+ kmap++;
+ }
+ return NULL;
+}
diff --git a/mdk-stage1/slang/slkeypad.c b/mdk-stage1/slang/slkeypad.c
new file mode 100644
index 000000000..524dc80fa
--- /dev/null
+++ b/mdk-stage1/slang/slkeypad.c
@@ -0,0 +1,163 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static SLKeyMap_List_Type *Keymap_List;
+
+int SLkp_init (void)
+{
+ char esc_seq[10];
+ int i;
+
+ if (NULL == (Keymap_List = SLang_create_keymap ("_SLKeypad", NULL)))
+ return -1;
+
+ esc_seq[1] = 0;
+ for (i = 1; i < 256; i++)
+ {
+ esc_seq[0] = (char) i;
+ SLkm_define_keysym (esc_seq, i, Keymap_List);
+ }
+
+ /* Now add most common ones. */
+#ifndef IBMPC_SYSTEM
+ SLkm_define_keysym ("^@", 0, Keymap_List);
+
+ SLkm_define_keysym ("\033[A", SL_KEY_UP, Keymap_List);
+ SLkm_define_keysym ("\033OA", SL_KEY_UP, Keymap_List);
+ SLkm_define_keysym ("\033[B", SL_KEY_DOWN, Keymap_List);
+ SLkm_define_keysym ("\033OB", SL_KEY_DOWN, Keymap_List);
+ SLkm_define_keysym ("\033[C", SL_KEY_RIGHT, Keymap_List);
+ SLkm_define_keysym ("\033OC", SL_KEY_RIGHT, Keymap_List);
+ SLkm_define_keysym ("\033[D", SL_KEY_LEFT, Keymap_List);
+ SLkm_define_keysym ("\033OD", SL_KEY_LEFT, Keymap_List);
+ SLkm_define_keysym ("\033[2~", SL_KEY_IC, Keymap_List);
+ SLkm_define_keysym ("\033[7~", SL_KEY_HOME, Keymap_List);
+ SLkm_define_keysym ("\033[5~", SL_KEY_PPAGE, Keymap_List);
+ SLkm_define_keysym ("\033[6~", SL_KEY_NPAGE, Keymap_List);
+ SLkm_define_keysym ("\033[8~", SL_KEY_END, Keymap_List);
+ SLkm_define_keysym ("\033[3~", SL_KEY_DELETE, Keymap_List);
+#else
+ /* Note: This will not work if SLgetkey_map_to_ansi (1) has
+ * been called.
+ */
+ SLkm_define_keysym ("^@\x48", SL_KEY_UP, Keymap_List );
+ SLkm_define_keysym ("^@\x50", SL_KEY_DOWN, Keymap_List );
+ SLkm_define_keysym ("^@\x4d", SL_KEY_RIGHT, Keymap_List );
+ SLkm_define_keysym ("^@\x4b", SL_KEY_LEFT, Keymap_List );
+ SLkm_define_keysym ("^@\x47", SL_KEY_HOME, Keymap_List );
+ SLkm_define_keysym ("^@\x49", SL_KEY_PPAGE, Keymap_List );
+ SLkm_define_keysym ("^@\x51", SL_KEY_NPAGE, Keymap_List );
+ SLkm_define_keysym ("^@\x4f", SL_KEY_END, Keymap_List );
+ SLkm_define_keysym ("^@\x52", SL_KEY_IC, Keymap_List );
+ SLkm_define_keysym ("^@\x53", SL_KEY_DELETE, Keymap_List );
+
+ SLkm_define_keysym ("\xE0\x48", SL_KEY_UP, Keymap_List );
+ SLkm_define_keysym ("\xE0\x50", SL_KEY_DOWN, Keymap_List );
+ SLkm_define_keysym ("\xE0\x4d", SL_KEY_RIGHT, Keymap_List );
+ SLkm_define_keysym ("\xE0\x4b", SL_KEY_LEFT, Keymap_List );
+ SLkm_define_keysym ("\xE0\x47", SL_KEY_HOME, Keymap_List );
+ SLkm_define_keysym ("\xE0\x49", SL_KEY_PPAGE, Keymap_List );
+ SLkm_define_keysym ("\xE0\x51", SL_KEY_NPAGE, Keymap_List );
+ SLkm_define_keysym ("\xE0\x4f", SL_KEY_END, Keymap_List );
+ SLkm_define_keysym ("\xE0\x52", SL_KEY_IC, Keymap_List );
+ SLkm_define_keysym ("\xE0\x53", SL_KEY_DELETE, Keymap_List );
+
+ strcpy (esc_seq, "^@ "); /* guarantees esc_seq[3] = 0. */
+
+ for (i = 0x3b; i < 0x45; i++)
+ {
+ esc_seq [2] = i;
+ SLkm_define_keysym (esc_seq, SL_KEY_F(i - 0x3a), Keymap_List);
+ }
+ esc_seq[2] = 0x57; SLkm_define_keysym (esc_seq, SL_KEY_F(11), Keymap_List);
+ esc_seq[2] = 0x58; SLkm_define_keysym (esc_seq, SL_KEY_F(12), Keymap_List);
+#endif
+
+#ifdef REAL_UNIX_SYSTEM
+ strcpy (esc_seq, "^(kX)");
+ for (i = 0; i <= 9; i++)
+ {
+ esc_seq[3] = '0' + i;
+ SLkm_define_keysym (esc_seq, SL_KEY_F(i), Keymap_List);
+ }
+ SLkm_define_keysym ("^(k;)", SL_KEY_F(10), Keymap_List);
+
+ SLkm_define_keysym ("^(ku)", SL_KEY_UP, Keymap_List);
+ SLkm_define_keysym ("^(kd)", SL_KEY_DOWN, Keymap_List);
+ SLkm_define_keysym ("^(kl)", SL_KEY_LEFT, Keymap_List);
+ SLkm_define_keysym ("^(kr)", SL_KEY_RIGHT, Keymap_List);
+ SLkm_define_keysym ("^(kP)", SL_KEY_PPAGE, Keymap_List);
+ SLkm_define_keysym ("^(kN)", SL_KEY_NPAGE, Keymap_List);
+ SLkm_define_keysym ("^(kh)", SL_KEY_HOME, Keymap_List);
+ SLkm_define_keysym ("^(@7)", SL_KEY_END, Keymap_List);
+ SLkm_define_keysym ("^(K1)", SL_KEY_A1, Keymap_List);
+ SLkm_define_keysym ("^(K3)", SL_KEY_A3, Keymap_List);
+ SLkm_define_keysym ("^(K2)", SL_KEY_B2, Keymap_List);
+ SLkm_define_keysym ("^(K4)", SL_KEY_C1, Keymap_List);
+ SLkm_define_keysym ("^(K5)", SL_KEY_C3, Keymap_List);
+ SLkm_define_keysym ("^(%0)", SL_KEY_REDO, Keymap_List);
+ SLkm_define_keysym ("^(&8)", SL_KEY_UNDO, Keymap_List);
+ SLkm_define_keysym ("^(kb)", SL_KEY_BACKSPACE, Keymap_List);
+ SLkm_define_keysym ("^(@8)", SL_KEY_ENTER, Keymap_List);
+ SLkm_define_keysym ("^(kD)", SL_KEY_DELETE, Keymap_List);
+#endif
+
+ if (SLang_Error)
+ return -1;
+ return 0;
+}
+
+int SLkp_getkey (void)
+{
+ SLang_Key_Type *key;
+
+ key = SLang_do_key (Keymap_List, (int (*)(void)) SLang_getkey);
+ if ((key == NULL) || (key->type != SLKEY_F_KEYSYM))
+ {
+ SLang_flush_input ();
+ return SL_KEY_ERR;
+ }
+
+ return key->f.keysym;
+}
+
+int SLkp_define_keysym (char *keystr, unsigned int keysym)
+{
+ if (SLkm_define_keysym (keystr, keysym, Keymap_List) < 0)
+ return -1;
+
+ return 0;
+}
+
+#if 0
+int main (int argc, char **argv)
+{
+ int ch;
+
+ SLtt_get_terminfo ();
+
+ if (-1 == SLkp_init ())
+ return 1;
+
+ SLang_init_tty (-1, 0, 0);
+
+ while ('q' != (ch = SLkp_getkey ()))
+ {
+ fprintf (stdout, "Keycode = %d\r\n", ch);
+ fflush (stdout);
+ }
+
+ SLang_reset_tty ();
+
+ return 0;
+}
+#endif
+
diff --git a/mdk-stage1/slang/sllimits.h b/mdk-stage1/slang/sllimits.h
new file mode 100644
index 000000000..c4ae03b83
--- /dev/null
+++ b/mdk-stage1/slang/sllimits.h
@@ -0,0 +1,64 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+/* sllimits.h */
+
+/* slstring.c: Size of the hash table used for strings (prime numbers) */
+#ifdef __MSDOS_16BIT__
+# define SLSTRING_HASH_TABLE_SIZE 601
+# define SLASSOC_HASH_TABLE_SIZE 601
+#else
+# define SLSTRING_HASH_TABLE_SIZE 2909
+# define SLASSOC_HASH_TABLE_SIZE 2909
+#endif
+
+/* slang.c: maximum size of run time stack */
+#ifdef __MSDOS_16BIT__
+# define SLANG_MAX_STACK_LEN 500
+#else
+# define SLANG_MAX_STACK_LEN 2500
+#endif
+
+/* slang.c: This sets the size on the depth of function calls */
+#ifdef __MSDOS_16BIT__
+# define SLANG_MAX_RECURSIVE_DEPTH 50
+#else
+# define SLANG_MAX_RECURSIVE_DEPTH 250
+#endif
+
+/* slang.c: Size of the stack used for local variables */
+#ifdef __MSDOS_16BIT__
+# define SLANG_MAX_LOCAL_STACK 200
+#else
+# define SLANG_MAX_LOCAL_STACK 1024
+#endif
+
+/* slang.c: The size of the hash table used for local and global objects.
+ * These should be prime numbers.
+ */
+#define SLGLOBALS_HASH_TABLE_SIZE 2909
+#define SLLOCALS_HASH_TABLE_SIZE 73
+#define SLSTATIC_HASH_TABLE_SIZE 73
+
+/* Size of the keyboard buffer use by the ungetkey routines */
+#ifdef __MSDOS_16BIT__
+# define SL_MAX_INPUT_BUFFER_LEN 40
+#else
+# define SL_MAX_INPUT_BUFFER_LEN 1024
+#endif
+
+/* Maximum number of nested switch statements */
+#define SLANG_MAX_NESTED_SWITCH 10
+
+/* Size of the block stack (used in byte-compiling) */
+#define SLANG_MAX_BLOCK_STACK_LEN 50
+
+/* slfile.c: Max number of open file pointers */
+#ifdef __MSDOS_16BIT__
+# define SL_MAX_FILES 32
+#else
+# define SL_MAX_FILES 256
+#endif
diff --git a/mdk-stage1/slang/slmalloc.c b/mdk-stage1/slang/slmalloc.c
new file mode 100644
index 000000000..be4ed6cae
--- /dev/null
+++ b/mdk-stage1/slang/slmalloc.c
@@ -0,0 +1,165 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#ifdef SL_MALLOC_DEBUG
+# undef SL_MALLOC_DEBUG
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef __alpha
+# define Chunk 8
+#else
+# define Chunk 4
+#endif
+
+static long Total_Allocated;
+static long Max_Single_Allocation;
+static long Max_Allocated;
+/* #define SLDEBUG_DOUT */
+
+#ifdef SLDEBUG_DOUT
+static FILE *dout;
+#endif
+
+void SLmalloc_dump_statistics (void)
+{
+#ifdef SLDEBUG_DOUT
+ fflush (dout);
+#endif
+ fprintf (stderr, "Total Allocated: %ld\nHighest single allocation: %ld\nHighest Total Allocated:%ld\n",
+ Total_Allocated, Max_Single_Allocation, Max_Allocated);
+}
+
+static void register_at_exit_fun (void)
+{
+ static int is_registered = 0;
+ if (is_registered)
+ return;
+ is_registered = 1;
+
+#ifdef SLDEBUG_DOUT
+ if (dout == NULL) dout = fopen ("malloc.out", "w");
+#endif
+ SLang_add_cleanup_function (SLmalloc_dump_statistics);
+}
+
+static void fixup (unsigned char *p, unsigned long n, char *what)
+{
+ register_at_exit_fun ();
+
+ p += Chunk;
+ *(p - 4)= (unsigned char) ((n >> 24) & 0xFF);
+ *(p - 3) = (unsigned char) ((n >> 16) & 0xFF);
+ *(p - 2) = (unsigned char) ((n >> 8) & 0xFF);
+ *(p - 1) = (unsigned char) (n & 0xFF);
+ *(p + (int) n) = 27;
+ *(p + (int) (n + 1)) = 182;
+ *(p + (int) (n + 2)) = 81;
+ *(p + (int) (n + 3)) = 86;
+ Total_Allocated += (long) n;
+ if (Total_Allocated > Max_Allocated) Max_Allocated = Total_Allocated;
+ if ((long) n > Max_Single_Allocation)
+ Max_Single_Allocation = (long) n;
+
+#ifdef SLDEBUG_DOUT
+ fprintf (dout, "ALLOC: %s\t%p %ld\n", what, p, (long) n);
+#else
+ (void) what;
+#endif
+}
+
+static void SLmalloc_doerror (char *buf)
+{
+ SLang_doerror (buf);
+}
+
+static int check_memory (unsigned char *p, char *what)
+{
+ char buf[128];
+ unsigned long n;
+
+ register_at_exit_fun ();
+
+ n = ((unsigned long) *(p - 4)) << 24;
+ n |= ((unsigned long) *(p - 3)) << 16;
+ n |= ((unsigned long) *(p - 2)) << 8;
+ n |= (unsigned long) *(p - 1);
+
+ if (n == 0xFFFFFFFFUL)
+ {
+ sprintf (buf, "%s: %p: Already FREE! Abort NOW.", what, (void*)p - Chunk);
+ SLmalloc_doerror (buf);
+ return -1;
+ }
+
+ if ((*(p + (int) n) != 27)
+ || (*(p + (int) (n + 1)) != 182)
+ || (*(p + (int) (n + 2)) != 81)
+ || (*(p + (int) (n + 3)) != 86))
+ {
+ sprintf (buf, "\007%s: %p: Memory corrupt! Abort NOW.", what, (void*)p);
+ SLmalloc_doerror (buf);
+ return -1;
+ }
+
+ *(p - 4) = *(p - 3) = *(p - 2) = *(p - 1) = 0xFF;
+
+ Total_Allocated -= (long) n;
+ if (Total_Allocated < 0)
+ {
+ sprintf (buf, "\007%s: %p\nFreed %ld, Allocated is: %ld!\n",
+ what, (void*)p, (long) n, Total_Allocated);
+ SLang_doerror (buf);
+ }
+#ifdef SLDEBUG_DOUT
+ fprintf (dout, "FREE: %s:\t%p %ld\n", what, p, (long) n);
+#endif
+ return 0;
+}
+
+void SLdebug_free (char *p)
+{
+ if (p == NULL) return;
+ if (-1 == check_memory ((unsigned char *) p, "FREE")) return;
+
+ SLFREE (p - Chunk);
+}
+
+char *SLdebug_malloc (unsigned long n)
+{
+ char *p;
+
+ if ((p = (char *) SLMALLOC (n + 2 * Chunk)) == NULL) return NULL;
+
+ fixup ((unsigned char *) p, n, "MALLOC");
+ return p + Chunk;
+}
+
+char *SLdebug_realloc (char *p, unsigned long n)
+{
+ if (-1 == check_memory ((unsigned char *) p, "REALLOC")) return NULL;
+ if ((p = (char *) SLREALLOC (p - Chunk, n + 2 * Chunk)) == NULL) return NULL;
+ fixup ((unsigned char *) p, n, "REALLOC");
+ return p + Chunk;
+}
+
+char *SLdebug_calloc (unsigned long n, unsigned long size)
+{
+ char *p;
+ int m;
+
+ /* This is tough -- hope this is a good assumption!! */
+ if (size >= Chunk) m = 1; else m = Chunk;
+
+ if ((p = (char *) SLCALLOC (n + m + m, size)) == NULL) return NULL;
+ fixup ((unsigned char *) p, size * n, "CALLOC");
+ return p + Chunk;
+}
+
diff --git a/mdk-stage1/slang/slmath.c b/mdk-stage1/slang/slmath.c
new file mode 100644
index 000000000..1d61e14d3
--- /dev/null
+++ b/mdk-stage1/slang/slmath.c
@@ -0,0 +1,565 @@
+/* sin, cos, etc, for S-Lang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include <math.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef PI
+# undef PI
+#endif
+#define PI 3.14159265358979323846264338327950288
+
+#if defined(__unix__)
+#include <signal.h>
+#include <errno.h>
+
+#define SIGNAL SLsignal
+
+static void math_floating_point_exception (int sig)
+{
+ sig = errno;
+ if (SLang_Error == 0) SLang_Error = SL_FLOATING_EXCEPTION;
+ (void) SIGNAL (SIGFPE, math_floating_point_exception);
+ errno = sig;
+}
+#endif
+
+double SLmath_hypot (double x, double y)
+{
+ double fr, fi, ratio;
+
+ fr = fabs(x);
+ fi = fabs(y);
+
+ if (fr > fi)
+ {
+ ratio = y / x;
+ x = fr * sqrt (1.0 + ratio * ratio);
+ }
+ else if (fi == 0.0) x = 0.0;
+ else
+ {
+ ratio = x / y;
+ x = fi * sqrt (1.0 + ratio * ratio);
+ }
+
+ return x;
+}
+
+/* usage here is a1 a2 ... an n x ==> a1x^n + a2 x ^(n - 1) + ... + an */
+static double math_poly (void)
+{
+ int n;
+ double xn = 1.0, sum = 0.0;
+ double an, x;
+
+ if ((SLang_pop_double(&x, NULL, NULL))
+ || (SLang_pop_integer(&n))) return(0.0);
+
+ while (n-- > 0)
+ {
+ if (SLang_pop_double(&an, NULL, NULL)) break;
+ sum += an * xn;
+ xn = xn * x;
+ }
+ return (double) sum;
+}
+
+static int double_math_op_result (int op, unsigned char a, unsigned char *b)
+{
+ (void) op;
+
+ if (a != SLANG_FLOAT_TYPE)
+ *b = SLANG_DOUBLE_TYPE;
+ else
+ *b = a;
+
+ return 1;
+}
+
+#ifdef HAVE_ASINH
+# define ASINH_FUN asinh
+#else
+# define ASINH_FUN my_asinh
+static double my_asinh (double x)
+{
+ return log (x + sqrt (x*x + 1));
+}
+#endif
+#ifdef HAVE_ACOSH
+# define ACOSH_FUN acosh
+#else
+# define ACOSH_FUN my_acosh
+static double my_acosh (double x)
+{
+ return log (x + sqrt(x*x - 1)); /* x >= 1 */
+}
+#endif
+#ifdef HAVE_ATANH
+# define ATANH_FUN atanh
+#else
+# define ATANH_FUN my_atanh
+static double my_atanh (double x)
+{
+ return 0.5 * log ((1.0 + x)/(1.0 - x)); /* 0 <= x^2 < 1 */
+}
+#endif
+
+static int double_math_op (int op,
+ unsigned char type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ double *a, *b;
+ unsigned int i;
+ double (*fun) (double);
+
+ (void) type;
+ a = (double *) ap;
+ b = (double *) bp;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLMATH_SINH:
+ fun = sinh;
+ break;
+ case SLMATH_COSH:
+ fun = cosh;
+ break;
+ case SLMATH_TANH:
+ fun = tanh;
+ break;
+ case SLMATH_TAN:
+ fun = tan;
+ break;
+ case SLMATH_ASIN:
+ fun = asin;
+ break;
+ case SLMATH_ACOS:
+ fun = acos;
+ break;
+ case SLMATH_ATAN:
+ fun = atan;
+ break;
+ case SLMATH_EXP:
+ fun = exp;
+ break;
+ case SLMATH_LOG:
+ fun = log;
+ break;
+ case SLMATH_LOG10:
+ fun = log10;
+ break;
+ case SLMATH_SQRT:
+ fun = sqrt;
+ break;
+ case SLMATH_SIN:
+ fun = sin;
+ break;
+ case SLMATH_COS:
+ fun = cos;
+ break;
+
+ case SLMATH_ASINH:
+ fun = ASINH_FUN;
+ break;
+ case SLMATH_ATANH:
+ fun = ATANH_FUN;
+ break;
+ case SLMATH_ACOSH:
+ fun = ACOSH_FUN;
+ break;
+
+ case SLMATH_CONJ:
+ case SLMATH_REAL:
+ for (i = 0; i < na; i++)
+ b[i] = a[i];
+ return 1;
+ case SLMATH_IMAG:
+ for (i = 0; i < na; i++)
+ b[i] = 0.0;
+ return 1;
+ }
+
+ for (i = 0; i < na; i++)
+ b[i] = (*fun) (a[i]);
+
+ return 1;
+}
+
+static int float_math_op (int op,
+ unsigned char type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ float *a, *b;
+ unsigned int i;
+ double (*fun) (double);
+
+ (void) type;
+ a = (float *) ap;
+ b = (float *) bp;
+
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLMATH_SINH:
+ fun = sinh;
+ break;
+ case SLMATH_COSH:
+ fun = cosh;
+ break;
+ case SLMATH_TANH:
+ fun = tanh;
+ break;
+ case SLMATH_TAN:
+ fun = tan;
+ break;
+ case SLMATH_ASIN:
+ fun = asin;
+ break;
+ case SLMATH_ACOS:
+ fun = acos;
+ break;
+ case SLMATH_ATAN:
+ fun = atan;
+ break;
+ case SLMATH_EXP:
+ fun = exp;
+ break;
+ case SLMATH_LOG:
+ fun = log;
+ break;
+ case SLMATH_LOG10:
+ fun = log10;
+ break;
+ case SLMATH_SQRT:
+ fun = sqrt;
+ break;
+ case SLMATH_SIN:
+ fun = sin;
+ break;
+ case SLMATH_COS:
+ fun = cos;
+ break;
+
+ case SLMATH_ASINH:
+ fun = ASINH_FUN;
+ break;
+ case SLMATH_ATANH:
+ fun = ATANH_FUN;
+ break;
+ case SLMATH_ACOSH:
+ fun = ACOSH_FUN;
+ break;
+
+ case SLMATH_CONJ:
+ case SLMATH_REAL:
+ for (i = 0; i < na; i++)
+ b[i] = a[i];
+ return 1;
+ case SLMATH_IMAG:
+ for (i = 0; i < na; i++)
+ b[i] = 0.0;
+ return 1;
+ }
+
+ for (i = 0; i < na; i++)
+ b[i] = (float) (*fun) ((double) a[i]);
+
+ return 1;
+}
+
+static int generic_math_op (int op,
+ unsigned char type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ double *b;
+ unsigned int i;
+ SLang_To_Double_Fun_Type to_double;
+ double (*fun) (double);
+ unsigned int da;
+ char *a;
+
+ if (NULL == (to_double = SLarith_get_to_double_fun (type, &da)))
+ return 0;
+
+ b = (double *) bp;
+ a = (char *) ap;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLMATH_SINH:
+ fun = sinh;
+ break;
+ case SLMATH_COSH:
+ fun = cosh;
+ break;
+ case SLMATH_TANH:
+ fun = tanh;
+ break;
+ case SLMATH_TAN:
+ fun = tan;
+ break;
+ case SLMATH_ASIN:
+ fun = asin;
+ break;
+ case SLMATH_ACOS:
+ fun = acos;
+ break;
+ case SLMATH_ATAN:
+ fun = atan;
+ break;
+ case SLMATH_EXP:
+ fun = exp;
+ break;
+ case SLMATH_LOG:
+ fun = log;
+ break;
+ case SLMATH_LOG10:
+ fun = log10;
+ break;
+ case SLMATH_SQRT:
+ fun = sqrt;
+ break;
+ case SLMATH_SIN:
+ fun = sin;
+ break;
+ case SLMATH_COS:
+ fun = cos;
+ break;
+
+ case SLMATH_ASINH:
+ fun = ASINH_FUN;
+ break;
+ case SLMATH_ATANH:
+ fun = ATANH_FUN;
+ break;
+ case SLMATH_ACOSH:
+ fun = ACOSH_FUN;
+ break;
+
+
+ case SLMATH_CONJ:
+ case SLMATH_REAL:
+ for (i = 0; i < na; i++)
+ {
+ b[i] = to_double((VOID_STAR) a);
+ a += da;
+ }
+ return 1;
+
+ case SLMATH_IMAG:
+ for (i = 0; i < na; i++)
+ b[i] = 0.0;
+ return 1;
+ }
+
+ for (i = 0; i < na; i++)
+ {
+ b[i] = (*fun) (to_double ((VOID_STAR) a));
+ a += da;
+ }
+
+ return 1;
+}
+
+#if SLANG_HAS_COMPLEX
+static int complex_math_op_result (int op, unsigned char a, unsigned char *b)
+{
+ (void) a;
+ switch (op)
+ {
+ default:
+ *b = SLANG_COMPLEX_TYPE;
+ break;
+
+ case SLMATH_REAL:
+ case SLMATH_IMAG:
+ *b = SLANG_DOUBLE_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int complex_math_op (int op,
+ unsigned char type, VOID_STAR ap, unsigned int na,
+ VOID_STAR bp)
+{
+ double *a, *b;
+ unsigned int i;
+ unsigned int na2 = na * 2;
+ double *(*fun) (double *, double *);
+
+ (void) type;
+ a = (double *) ap;
+ b = (double *) bp;
+
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLMATH_REAL:
+ for (i = 0; i < na; i++)
+ b[i] = a[2 * i];
+ return 1;
+
+ case SLMATH_IMAG:
+ for (i = 0; i < na; i++)
+ b[i] = a[2 * i + 1];
+ return 1;
+
+ case SLMATH_CONJ:
+ for (i = 0; i < na2; i += 2)
+ {
+ b[i] = a[i];
+ b[i+1] = -a[i+1];
+ }
+ return 1;
+
+ case SLMATH_ATANH:
+ fun = SLcomplex_atanh;
+ break;
+ case SLMATH_ACOSH:
+ fun = SLcomplex_acosh;
+ break;
+ case SLMATH_ASINH:
+ fun = SLcomplex_asinh;
+ break;
+ case SLMATH_EXP:
+ fun = SLcomplex_exp;
+ break;
+ case SLMATH_LOG:
+ fun = SLcomplex_log;
+ break;
+ case SLMATH_LOG10:
+ fun = SLcomplex_log10;
+ break;
+ case SLMATH_SQRT:
+ fun = SLcomplex_sqrt;
+ break;
+ case SLMATH_SIN:
+ fun = SLcomplex_sin;
+ break;
+ case SLMATH_COS:
+ fun = SLcomplex_cos;
+ break;
+ case SLMATH_SINH:
+ fun = SLcomplex_sinh;
+ break;
+ case SLMATH_COSH:
+ fun = SLcomplex_cosh;
+ break;
+ case SLMATH_TANH:
+ fun = SLcomplex_tanh;
+ break;
+ case SLMATH_TAN:
+ fun = SLcomplex_tan;
+ break;
+ case SLMATH_ASIN:
+ fun = SLcomplex_asin;
+ break;
+ case SLMATH_ACOS:
+ fun = SLcomplex_acos;
+ break;
+ case SLMATH_ATAN:
+ fun = SLcomplex_atan;
+ break;
+ }
+
+ for (i = 0; i < na2; i += 2)
+ (void) (*fun) (b + i, a + i);
+
+ return 1;
+}
+#endif
+
+static SLang_DConstant_Type DConst_Table [] =
+{
+ MAKE_DCONSTANT("E", 2.718281828459045),
+ MAKE_DCONSTANT("PI", 3.14159265358979323846264338327950288),
+ SLANG_END_DCONST_TABLE
+};
+
+static SLang_Math_Unary_Type SLmath_Table [] =
+{
+ MAKE_MATH_UNARY("sinh", SLMATH_SINH),
+ MAKE_MATH_UNARY("asinh", SLMATH_ASINH),
+ MAKE_MATH_UNARY("cosh", SLMATH_COSH),
+ MAKE_MATH_UNARY("acosh", SLMATH_ACOSH),
+ MAKE_MATH_UNARY("tanh", SLMATH_TANH),
+ MAKE_MATH_UNARY("atanh", SLMATH_ATANH),
+ MAKE_MATH_UNARY("sin", SLMATH_SIN),
+ MAKE_MATH_UNARY("cos", SLMATH_COS),
+ MAKE_MATH_UNARY("tan", SLMATH_TAN),
+ MAKE_MATH_UNARY("atan", SLMATH_ATAN),
+ MAKE_MATH_UNARY("acos", SLMATH_ACOS),
+ MAKE_MATH_UNARY("asin", SLMATH_ASIN),
+ MAKE_MATH_UNARY("exp", SLMATH_EXP),
+ MAKE_MATH_UNARY("log", SLMATH_LOG),
+ MAKE_MATH_UNARY("sqrt", SLMATH_SQRT),
+ MAKE_MATH_UNARY("log10", SLMATH_LOG10),
+#if SLANG_HAS_COMPLEX
+ MAKE_MATH_UNARY("Real", SLMATH_REAL),
+ MAKE_MATH_UNARY("Imag", SLMATH_IMAG),
+ MAKE_MATH_UNARY("Conj", SLMATH_CONJ),
+#endif
+ SLANG_END_MATH_UNARY_TABLE
+};
+
+static SLang_Intrin_Fun_Type SLang_Math_Table [] =
+{
+ MAKE_INTRINSIC_0("polynom", math_poly, SLANG_DOUBLE_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int SLang_init_slmath (void)
+{
+ unsigned char *int_types;
+
+#if defined(__unix__)
+ (void) SIGNAL (SIGFPE, math_floating_point_exception);
+#endif
+
+ int_types = _SLarith_Arith_Types;
+
+ while (*int_types != SLANG_FLOAT_TYPE)
+ {
+ if (-1 == SLclass_add_math_op (*int_types, generic_math_op, double_math_op_result))
+ return -1;
+ int_types++;
+ }
+
+ if ((-1 == SLclass_add_math_op (SLANG_FLOAT_TYPE, float_math_op, double_math_op_result))
+ || (-1 == SLclass_add_math_op (SLANG_DOUBLE_TYPE, double_math_op, double_math_op_result))
+#if SLANG_HAS_COMPLEX
+ || (-1 == SLclass_add_math_op (SLANG_COMPLEX_TYPE, complex_math_op, complex_math_op_result))
+#endif
+ )
+ return -1;
+
+ if ((-1 == SLadd_math_unary_table (SLmath_Table, "__SLMATH__"))
+ || (-1 == SLadd_intrin_fun_table (SLang_Math_Table, NULL))
+ || (-1 == SLadd_dconstant_table (DConst_Table, NULL)))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slmemchr.c b/mdk-stage1/slang/slmemchr.c
new file mode 100644
index 000000000..1417bc549
--- /dev/null
+++ b/mdk-stage1/slang/slmemchr.c
@@ -0,0 +1,47 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* These routines are fast memcpy, memset routines. When available, I
+ use system rouines. For msdos, I use inline assembly. */
+
+/* The current versions only work in the forward direction only!! */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+char *SLmemchr(register char *p, register char c, register int n)
+{
+ int n2;
+ register char *pmax;
+
+ pmax = p + (n - 32);
+
+ while (p <= pmax)
+ {
+ if ((*p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c)
+ || (*++p == c) || (*++p == c) || (*++p == c) || (*++p == c))
+ return p;
+ p++;
+ }
+
+ n2 = n % 32;
+
+ while (n2--)
+ {
+ if (*p == c) return p;
+ p++;
+ }
+ return(NULL);
+}
diff --git a/mdk-stage1/slang/slmemcmp.c b/mdk-stage1/slang/slmemcmp.c
new file mode 100644
index 000000000..c5ed50095
--- /dev/null
+++ b/mdk-stage1/slang/slmemcmp.c
@@ -0,0 +1,76 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* These routines are fast memcpy, memset routines. When available, I
+ use system rouines. For msdos, I use inline assembly. */
+
+/* The current versions only work in the forward direction only!! */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/* This is an UNSIGNED comparison designed for systems that either do not have
+* this function or performed a signed comparison (SunOS)
+*/
+int SLmemcmp(register char *s1, register char *s2, int n)
+{
+ register int cmp;
+ register char *s1max;
+
+ s1max = s1 + (n - 32);
+
+ while (s1 <= s1max)
+ {
+ if (*s1 != *s2) return ((unsigned char) *s1 - (unsigned char) *s2);
+ if (*(s1 + 1) != *(s2 + 1)) return ((unsigned char) *(s1 + 1) - (unsigned char) *(s2 + 1));
+ if (*(s1 + 2) != *(s2 + 2)) return ((unsigned char) *(s1 + 2) - (unsigned char) *(s2 + 2));
+ if (*(s1 + 3) != *(s2 + 3)) return ((unsigned char) *(s1 + 3) - (unsigned char) *(s2 + 3));
+ if (*(s1 + 4) != *(s2 + 4)) return ((unsigned char) *(s1 + 4) - (unsigned char) *(s2 + 4));
+ if (*(s1 + 5) != *(s2 + 5)) return ((unsigned char) *(s1 + 5) - (unsigned char) *(s2 + 5));
+ if (*(s1 + 6) != *(s2 + 6)) return ((unsigned char) *(s1 + 6) - (unsigned char) *(s2 + 6));
+ if (*(s1 + 7) != *(s2 + 7)) return ((unsigned char) *(s1 + 7) - (unsigned char) *(s2 + 7));
+ if (*(s1 + 8) != *(s2 + 8)) return ((unsigned char) *(s1 + 8) - (unsigned char) *(s2 + 8));
+ if (*(s1 + 9) != *(s2 + 9)) return ((unsigned char) *(s1 + 9) - (unsigned char) *(s2 + 9));
+ if (*(s1 + 10) != *(s2 + 10)) return ((unsigned char) *(s1 + 10) - (unsigned char) *(s2 + 10));
+ if (*(s1 + 11) != *(s2 + 11)) return ((unsigned char) *(s1 + 11) - (unsigned char) *(s2 + 11));
+ if (*(s1 + 12) != *(s2 + 12)) return ((unsigned char) *(s1 + 12) - (unsigned char) *(s2 + 12));
+ if (*(s1 + 13) != *(s2 + 13)) return ((unsigned char) *(s1 + 13) - (unsigned char) *(s2 + 13));
+ if (*(s1 + 14) != *(s2 + 14)) return ((unsigned char) *(s1 + 14) - (unsigned char) *(s2 + 14));
+ if (*(s1 + 15) != *(s2 + 15)) return ((unsigned char) *(s1 + 15) - (unsigned char) *(s2 + 15));
+ if (*(s1 + 16) != *(s2 + 16)) return ((unsigned char) *(s1 + 16) - (unsigned char) *(s2 + 16));
+ if (*(s1 + 17) != *(s2 + 17)) return ((unsigned char) *(s1 + 17) - (unsigned char) *(s2 + 17));
+ if (*(s1 + 18) != *(s2 + 18)) return ((unsigned char) *(s1 + 18) - (unsigned char) *(s2 + 18));
+ if (*(s1 + 19) != *(s2 + 19)) return ((unsigned char) *(s1 + 19) - (unsigned char) *(s2 + 19));
+ if (*(s1 + 20) != *(s2 + 20)) return ((unsigned char) *(s1 + 20) - (unsigned char) *(s2 + 20));
+ if (*(s1 + 21) != *(s2 + 21)) return ((unsigned char) *(s1 + 21) - (unsigned char) *(s2 + 21));
+ if (*(s1 + 22) != *(s2 + 22)) return ((unsigned char) *(s1 + 22) - (unsigned char) *(s2 + 22));
+ if (*(s1 + 23) != *(s2 + 23)) return ((unsigned char) *(s1 + 23) - (unsigned char) *(s2 + 23));
+ if (*(s1 + 24) != *(s2 + 24)) return ((unsigned char) *(s1 + 24) - (unsigned char) *(s2 + 24));
+ if (*(s1 + 25) != *(s2 + 25)) return ((unsigned char) *(s1 + 25) - (unsigned char) *(s2 + 25));
+ if (*(s1 + 26) != *(s2 + 26)) return ((unsigned char) *(s1 + 26) - (unsigned char) *(s2 + 26));
+ if (*(s1 + 27) != *(s2 + 27)) return ((unsigned char) *(s1 + 27) - (unsigned char) *(s2 + 27));
+ if (*(s1 + 28) != *(s2 + 28)) return ((unsigned char) *(s1 + 28) - (unsigned char) *(s2 + 28));
+ if (*(s1 + 29) != *(s2 + 29)) return ((unsigned char) *(s1 + 29) - (unsigned char) *(s2 + 29));
+ if (*(s1 + 30) != *(s2 + 30)) return ((unsigned char) *(s1 + 30) - (unsigned char) *(s2 + 30));
+ if (*(s1 + 31) != *(s2 + 31)) return ((unsigned char) *(s1 + 31) - (unsigned char) *(s2 + 31));
+ s1 += 32; s2 += 32;
+ }
+
+ s1max = s1 + (n % 32);
+
+ while (s1 < s1max)
+ {
+ cmp = (unsigned char) *s1 - (unsigned char) *s2;
+ if (cmp) return(cmp);
+ s1++;
+ s2++;
+ }
+
+ return(0);
+}
diff --git a/mdk-stage1/slang/slmemcpy.c b/mdk-stage1/slang/slmemcpy.c
new file mode 100644
index 000000000..e8665e4c6
--- /dev/null
+++ b/mdk-stage1/slang/slmemcpy.c
@@ -0,0 +1,49 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* These routines are fast memcpy, memset routines. When available, I
+ use system rouines. For msdos, I use inline assembly. */
+
+/* The current versions only work in the forward direction only!! */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+char *SLmemcpy(char *s1, char *s2, int n)
+{
+#if defined(__BORLANDC__) && defined(__MSDOS__)
+ asm mov ax, ds
+ asm mov bx, si
+ asm mov dx, di
+ asm mov cx, n
+ asm les di, s1
+ asm lds si, s2
+ asm cld
+ asm rep movsb
+ asm mov ds, ax
+ asm mov si, bx
+ asm mov di, dx
+ return(s1);
+
+#else
+ register char *smax, *s = s1;
+ int n2;
+
+ n2 = n % 4;
+ smax = s + (n - 4);
+ while (s <= smax)
+ {
+ *s = *s2; *(s + 1) = *(s2 + 1); *(s + 2) = *(s2 + 2); *(s + 3) = *(s2 + 3);
+ s += 4;
+ s2 += 4;
+ }
+ while (n2--) *s++ = *s2++;
+ return(s1);
+#endif
+}
diff --git a/mdk-stage1/slang/slmemset.c b/mdk-stage1/slang/slmemset.c
new file mode 100644
index 000000000..3851663c5
--- /dev/null
+++ b/mdk-stage1/slang/slmemset.c
@@ -0,0 +1,39 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* These routines are fast memcpy, memset routines. When available, I
+ use system rouines. For msdos, I use inline assembly. */
+
+/* The current versions only work in the forward direction only!! */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+void SLmemset(char *p, char space, int n)
+{
+#if defined(__BORLANDC__) && defined(__MSDOS__)
+ asm mov al, space
+ asm mov dx, di
+ asm mov cx, n
+ asm les di, p
+ asm cld
+ asm rep stosb
+ asm mov di, dx
+#else
+ register char *pmax;
+
+ pmax = p + (n - 4);
+ n = n % 4;
+ while (p <= pmax)
+ {
+ *p++ = space; *p++ = space; *p++ = space; *p++= space;
+ }
+ while (n--) *p++ = space;
+#endif
+}
diff --git a/mdk-stage1/slang/slmisc.c b/mdk-stage1/slang/slmisc.c
new file mode 100644
index 000000000..ccc7a9bdf
--- /dev/null
+++ b/mdk-stage1/slang/slmisc.c
@@ -0,0 +1,330 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#define DEBUG_MALLOC 0
+
+#if DEBUG_MALLOC
+# define SLREALLOC_FUN SLdebug_realloc
+# define SLMALLOC_FUN SLdebug_malloc
+# define SLFREE_FUN SLdebug_free
+#else
+# define SLREALLOC_FUN SLREALLOC
+# define SLMALLOC_FUN SLMALLOC
+# define SLFREE_FUN SLFREE
+#endif
+
+/* Version information goes here since this file is always needed. */
+int SLang_Version = SLANG_VERSION;
+char *SLang_Version_String = SLANG_VERSION_STRING;
+
+char *SLmake_string(char *str)
+{
+ return SLmake_nstring(str, strlen (str));
+}
+
+char *SLmake_nstring (char *str, unsigned int n)
+{
+ char *ptr;
+
+ if (NULL == (ptr = SLmalloc(n + 1)))
+ {
+ return NULL;
+ }
+ SLMEMCPY (ptr, str, n);
+ ptr[n] = 0;
+ return(ptr);
+}
+
+void SLmake_lut (unsigned char *lut, unsigned char *range, unsigned char reverse)
+{
+ register unsigned char *l = lut, *lmax = lut + 256;
+ int i, r1, r2;
+
+ while (l < lmax) *l++ = reverse;
+ reverse = !reverse;
+
+ r1 = *range++;
+ while (r1)
+ {
+ r2 = *range++;
+ if ((r2 == '-') && (*range != 0))
+ {
+ r2 = *range++;
+ for (i = r1; i <= r2; i++) lut[i] = reverse;
+ r1 = *range++;
+ continue;
+ }
+ lut[r1] = reverse;
+ r1 = r2;
+ }
+}
+
+char *SLmalloc (unsigned int len)
+{
+ char *p;
+
+ p = (char *) SLMALLOC_FUN (len);
+ if (p == NULL)
+ SLang_Error = SL_MALLOC_ERROR;
+
+ return p;
+}
+
+void SLfree (char *p)
+{
+ if (p != NULL) SLFREE_FUN (p);
+}
+
+char *SLrealloc (char *p, unsigned int len)
+{
+ if (len == 0)
+ {
+ SLfree (p);
+ return NULL;
+ }
+
+ if (p == NULL) p = SLmalloc (len);
+ else
+ {
+ p = (char *)SLREALLOC_FUN (p, len);
+ if (p == NULL)
+ SLang_Error = SL_MALLOC_ERROR;
+ }
+ return p;
+}
+
+char *SLcalloc (unsigned int nelems, unsigned int len)
+{
+ char *p;
+
+ len = nelems * len;
+ p = SLmalloc (len);
+ if (p != NULL) SLMEMSET (p, 0, len);
+ return p;
+}
+
+/* p and ch may point to the same buffer */
+char *_SLexpand_escaped_char(char *p, char *ch)
+{
+ int i = 0;
+ int max = 0, num, base = 0;
+ char ch1;
+
+ ch1 = *p++;
+
+ switch (ch1)
+ {
+ default: num = ch1; break;
+ case 'n': num = '\n'; break;
+ case 't': num = '\t'; break;
+ case 'v': num = '\v'; break;
+ case 'b': num = '\b'; break;
+ case 'r': num = '\r'; break;
+ case 'f': num = '\f'; break;
+ case 'E': case 'e': num = 27; break;
+ case 'a': num = 7;
+ break;
+
+ /* octal */
+ case '0': case '1': case '2': case '3':
+ case '4': case '5': case '6': case '7':
+ max = '7';
+ base = 8; i = 2; num = ch1 - '0';
+ break;
+
+ case 'd': /* decimal -- S-Lang extension */
+ base = 10;
+ i = 3;
+ max = '9';
+ num = 0;
+ break;
+
+ case 'x': /* hex */
+ base = 16;
+ max = '9';
+ i = 2;
+ num = 0;
+ break;
+ }
+
+ while (i--)
+ {
+ ch1 = *p;
+
+ if ((ch1 <= max) && (ch1 >= '0'))
+ {
+ num = base * num + (ch1 - '0');
+ }
+ else if (base == 16)
+ {
+ ch1 |= 0x20;
+ if ((ch1 < 'a') || ((ch1 > 'f'))) break;
+ num = base * num + 10 + (ch1 - 'a');
+ }
+ else break;
+ p++;
+ }
+
+ *ch = (char) num;
+ return p;
+}
+
+/* s and t could represent the same space */
+void SLexpand_escaped_string (register char *s, register char *t,
+ register char *tmax)
+{
+ char ch;
+
+ while (t < tmax)
+ {
+ ch = *t++;
+ if (ch == '\\')
+ {
+ t = _SLexpand_escaped_char (t, &ch);
+ }
+ *s++ = ch;
+ }
+ *s = 0;
+}
+
+int SLextract_list_element (char *list, unsigned int nth, char delim,
+ char *elem, unsigned int buflen)
+{
+ char *el, *elmax;
+ char ch;
+
+ while (nth > 0)
+ {
+ while ((0 != (ch = *list)) && (ch != delim))
+ list++;
+
+ if (ch == 0) return -1;
+
+ list++;
+ nth--;
+ }
+
+ el = elem;
+ elmax = el + (buflen - 1);
+
+ while ((0 != (ch = *list)) && (ch != delim) && (el < elmax))
+ *el++ = *list++;
+ *el = 0;
+
+ return 0;
+}
+
+#ifndef HAVE_VSNPRINTF
+int _SLvsnprintf (char *buf, unsigned int buflen, char *fmt, va_list ap)
+{
+#if 1
+ unsigned int len;
+
+ /* On some systems vsprintf returns useless information. So, punt */
+ vsprintf (buf, fmt, ap);
+ len = strlen (buf);
+ if (len >= buflen)
+ {
+ SLang_exit_error ("\
+Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
+The integrity of this program has been violated.\n");
+ return EOF; /* NOT reached */
+ }
+ return (int)len;
+#else
+ int status;
+
+ status = vsprintf (buf, fmt, ap);
+ if (status >= (int) buflen)
+ {
+ /* If we are lucky, we will get this far. The real solution is to
+ * provide a working version of vsnprintf
+ */
+ SLang_exit_error ("\
+Your system lacks the vsnprintf system call and vsprintf overflowed a buffer.\n\
+The integrity of this program has been violated.\n");
+ return EOF; /* NOT reached */
+ }
+ return status;
+#endif
+}
+#endif
+
+#ifndef HAVE_SNPRINTF
+int _SLsnprintf (char *buf, unsigned int buflen, char *fmt, ...)
+{
+ int status;
+
+ va_list ap;
+
+ va_start (ap, fmt);
+ status = _SLvsnprintf (buf, buflen, fmt, ap);
+ va_end (ap);
+
+ return status;
+}
+#endif
+
+typedef struct _Cleanup_Function_Type
+{
+ struct _Cleanup_Function_Type *next;
+ void (*f)(void);
+}
+Cleanup_Function_Type;
+
+static Cleanup_Function_Type *Cleanup_Function_List;
+
+static void cleanup_slang (void)
+{
+ while (Cleanup_Function_List != NULL)
+ {
+ Cleanup_Function_Type *next = Cleanup_Function_List->next;
+ (*Cleanup_Function_List->f)();
+ SLFREE_FUN ((char *) Cleanup_Function_List);
+ Cleanup_Function_List = next;
+ }
+}
+
+#ifndef HAVE_ATEXIT
+# ifdef HAVE_ON_EXIT
+static void on_exit_cleanup_slang (int arg_unused)
+{
+ (void) arg_unused;
+ cleanup_slang ();
+}
+# endif
+#endif
+
+int SLang_add_cleanup_function (void (*f)(void))
+{
+ Cleanup_Function_Type *l;
+
+ l = (Cleanup_Function_Type *) SLMALLOC_FUN (sizeof (Cleanup_Function_Type));
+ if (l == NULL)
+ return -1;
+
+ l->f = f;
+ l->next = Cleanup_Function_List;
+
+ if (Cleanup_Function_List == NULL)
+ {
+#ifdef HAVE_ATEXIT
+ (void) atexit (cleanup_slang);
+#else
+# ifdef HAVE_ON_EXIT
+ (void) on_exit (on_exit_cleanup_slang, 0);
+# endif
+#endif
+ }
+ Cleanup_Function_List = l;
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slnspace.c b/mdk-stage1/slang/slnspace.c
new file mode 100644
index 000000000..174ba7c81
--- /dev/null
+++ b/mdk-stage1/slang/slnspace.c
@@ -0,0 +1,242 @@
+/* -*- mode: C; mode: fold; -*- */
+/* slnspace.c --- Name Space implementation */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static SLang_NameSpace_Type *Namespace_Tables;
+
+static SLang_NameSpace_Type *find_name_table (char *name)
+{
+ SLang_NameSpace_Type *table_list;
+
+ table_list = Namespace_Tables;
+ while (table_list != NULL)
+ {
+ if (0 == strcmp (table_list->name, name))
+ break;
+ table_list = table_list->next;
+ }
+ return table_list;
+}
+
+SLang_NameSpace_Type *_SLns_find_namespace (char *name)
+{
+ SLang_NameSpace_Type *table_list;
+
+ table_list = Namespace_Tables;
+ while (table_list != NULL)
+ {
+ if ((table_list->namespace_name != NULL)
+ && (0 == strcmp (table_list->namespace_name, name)))
+ break;
+ table_list = table_list->next;
+ }
+ return table_list;
+}
+
+SLang_NameSpace_Type *_SLns_allocate_namespace (char *name, unsigned int size)
+{
+ SLang_NameSpace_Type *table_list;
+ SLang_Name_Type **nt;
+
+ if (NULL != (table_list = find_name_table (name)))
+ return table_list;
+
+ if (NULL == (name = SLang_create_slstring (name)))
+ return NULL;
+
+ if (NULL == (table_list = (SLang_NameSpace_Type *)
+ SLmalloc (sizeof (SLang_NameSpace_Type))))
+ {
+ SLang_free_slstring (name);
+ return NULL;
+ }
+
+ if (NULL == (nt = (SLang_Name_Type **) SLmalloc (sizeof (SLang_Name_Type *) * size)))
+ {
+ SLang_free_slstring (name);
+ SLfree ((char *)table_list);
+ return NULL;
+ }
+
+ memset ((char *)nt, 0, size * sizeof (SLang_Name_Type *));
+ memset ((char *) table_list, 0, sizeof (SLang_NameSpace_Type));
+
+ table_list->name = name;
+ table_list->table = nt;
+ table_list->table_size = size;
+
+ table_list->next = Namespace_Tables;
+ Namespace_Tables = table_list;
+
+ return table_list;
+}
+
+int _SLns_set_namespace_name (SLang_NameSpace_Type *t, char *name)
+{
+ SLang_NameSpace_Type *t1;
+
+ t1 = _SLns_find_namespace (name);
+ if (t1 == NULL)
+ t1 = t;
+
+ if ((t != t1) || (*name == 0))
+ {
+ SLang_verror (SL_INTRINSIC_ERROR, "Namespace \"%s\" already exists",
+ name);
+ return -1;
+ }
+
+ if (NULL == (name = SLang_create_slstring (name)))
+ return -1;
+
+ SLang_free_slstring (t->namespace_name); /* NULL ok */
+ t->namespace_name = name;
+
+ return 0;
+}
+
+SLang_Array_Type *_SLnspace_apropos (SLang_NameSpace_Type *ns, char *pat, unsigned int what)
+{
+ SLang_Array_Type *at;
+ unsigned int table_size;
+ SLang_Name_Type *t, **table;
+ int num_matches;
+ unsigned int i;
+ SLRegexp_Type rexp;
+ unsigned char rbuf[512];
+ unsigned int two;
+
+ at = NULL;
+
+ if ((ns == NULL)
+ || ((table = ns->table) == NULL))
+ return NULL;
+
+ memset ((char *) &rexp, 0, sizeof (SLRegexp_Type));
+ rexp.case_sensitive = 1;
+ rexp.buf = rbuf;
+ rexp.buf_len = sizeof (rbuf);
+ rexp.pat = (unsigned char *)pat;
+
+ if (0 != SLang_regexp_compile (&rexp))
+ {
+ SLang_verror (SL_INVALID_PARM, "Invalid regular expression: %s", pat);
+ return NULL;
+ }
+
+ table_size = ns->table_size;
+
+ two = 2;
+ while (two != 0)
+ {
+ two--;
+
+ num_matches = 0;
+ for (i = 0; i < table_size; i++)
+ {
+ t = table[i];
+ while (t != NULL)
+ {
+ unsigned int flags;
+ char *name = t->name;
+
+ switch (t->name_type)
+ {
+ case SLANG_GVARIABLE:
+ flags = 8;
+ break;
+
+ case SLANG_ICONSTANT:
+ case SLANG_DCONSTANT:
+ case SLANG_RVARIABLE:
+ case SLANG_IVARIABLE:
+ flags = 4;
+ break;
+
+ case SLANG_INTRINSIC:
+ case SLANG_MATH_UNARY:
+ case SLANG_APP_UNARY:
+ flags = 1;
+ break;
+
+ case SLANG_FUNCTION:
+ flags = 2;
+ break;
+
+ default:
+ flags = 0;
+ break;
+ }
+
+ if ((flags & what)
+ && (NULL != SLang_regexp_match ((unsigned char *)name, strlen (name), &rexp)))
+ {
+ if (at != NULL)
+ {
+ if (-1 == SLang_set_array_element (at, &num_matches, (VOID_STAR)&name))
+ goto return_error;
+ }
+ num_matches++;
+ }
+ t = t->next;
+ }
+ }
+
+ if (at == NULL)
+ {
+ at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &num_matches, 1);
+ if (at == NULL)
+ goto return_error;
+ }
+ }
+
+ return at;
+
+ return_error:
+ SLang_free_array (at);
+ return NULL;
+}
+
+SLang_NameSpace_Type *SLns_create_namespace (char *namespace_name)
+{
+ SLang_NameSpace_Type *ns;
+ static int num;
+ char name[64];
+
+ if (namespace_name == NULL)
+ namespace_name = "Global";
+
+ ns = _SLns_find_namespace (namespace_name);
+ if (ns != NULL)
+ return ns;
+
+ sprintf (name, " *** internal ns <%d> *** ", num);
+
+ if (NULL == (ns = _SLns_allocate_namespace (name, SLSTATIC_HASH_TABLE_SIZE)))
+ return NULL;
+
+ num++;
+ if (-1 == _SLns_set_namespace_name (ns, namespace_name))
+ {
+ SLns_delete_namespace (ns);
+ return NULL;
+ }
+
+ return ns;
+}
+
+void SLns_delete_namespace (SLang_NameSpace_Type *ns)
+{
+ (void) ns;
+ /* V2.0 */
+}
diff --git a/mdk-stage1/slang/slospath.c b/mdk-stage1/slang/slospath.c
new file mode 100644
index 000000000..644931e81
--- /dev/null
+++ b/mdk-stage1/slang/slospath.c
@@ -0,0 +1,73 @@
+/* Pathname intrinsic functions */
+/* Copyright (c) 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static void path_concat (char *a, char *b)
+{
+ SLang_push_malloced_string (SLpath_dircat (a,b));
+}
+
+static void path_extname (char *path)
+{
+#ifdef VMS
+ char *p;
+#endif
+
+ path = SLpath_extname (path);
+#ifndef VMS
+ SLang_push_string (path);
+#else
+ p = strchr (path, ';');
+ if (p == NULL)
+ (void)SLang_push_string (p);
+ else
+ (void)SLang_push_malloced_string (SLmake_nstring (path, (unsigned int)(p - path)));
+#endif
+}
+
+static void path_basename (char *path)
+{
+ (void) SLang_push_string (SLpath_basename (path));
+}
+
+static void path_dirname (char *path)
+{
+ (void) SLang_push_malloced_string (SLpath_dirname (path));
+}
+
+static void path_sans_extname (char *path)
+{
+ (void) SLang_push_malloced_string (SLpath_pathname_sans_extname (path));
+}
+
+
+
+static SLang_Intrin_Fun_Type Path_Name_Table [] =
+{
+ MAKE_INTRINSIC_SS("path_concat", path_concat, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("path_extname", path_extname, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("path_dirname", path_dirname, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("path_basename", path_basename, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("path_sans_extname", path_sans_extname, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("path_is_absolute", SLpath_is_absolute_path, SLANG_INT_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int SLang_init_ospath (void)
+{
+ if (-1 == SLadd_intrin_fun_table(Path_Name_Table, "__OSPATH__"))
+ return -1;
+
+ return 0;
+}
+
+
diff --git a/mdk-stage1/slang/slpack.c b/mdk-stage1/slang/slpack.c
new file mode 100644
index 000000000..53ef63643
--- /dev/null
+++ b/mdk-stage1/slang/slpack.c
@@ -0,0 +1,785 @@
+/* Pack objects as a binary string */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include <ctype.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifndef isdigit
+# define isdigit(c) (((c)>='0')&&((c)<= '9'))
+#endif
+#ifndef isspace
+# define isspace(c) (((c)==' ') || ((c)=='\t') || ((c)=='\n'))
+#endif
+
+/* format description:
+ *
+ * s = string (null padded)
+ * S = string (space padded)
+ * c = signed char
+ * C = unsigned char
+ * h = short
+ * H = unsigned short
+ * i = int
+ * I = unsigned int
+ * l = long
+ * L = unsigned long
+ * j = 16 bit signed integer (short)
+ * J = 16 bit unsigned integer (short)
+ * k = 32 bit signed integer (long)
+ * K = 32 bit unsigned integer (long)
+ * f = float (native format)
+ * F = 32 bit double
+ * d = double (native format)
+ * D = 64 bit double
+ * x = null pad byte
+ * > = big-endian mode
+ * < = little-endian mode
+ * = = native mode
+ */
+
+#define NATIVE_ORDER 0
+#define BIGENDIAN_ORDER 1
+#define LILENDIAN_ORDER 2
+static int Native_Byte_Order = NATIVE_ORDER;
+
+typedef struct
+{
+ char format_type;
+ unsigned char data_type;
+ unsigned int repeat;
+ unsigned int sizeof_type;
+ char pad;
+ int byteorder;
+ int is_scalar;
+}
+Format_Type;
+
+static int get_int_type_for_size (unsigned int size, unsigned char *s, unsigned char *u)
+{
+ if (sizeof (int) == size)
+ {
+ if (s != NULL) *s = SLANG_INT_TYPE;
+ if (u != NULL) *u = SLANG_UINT_TYPE;
+ return 0;
+ }
+
+ if (sizeof (short) == size)
+ {
+ if (s != NULL) *s = SLANG_SHORT_TYPE;
+ if (u != NULL) *u = SLANG_USHORT_TYPE;
+ return 1;
+ }
+
+ if (sizeof (long) == size)
+ {
+ if (s != NULL) *s = SLANG_LONG_TYPE;
+ if (u != NULL) *u = SLANG_ULONG_TYPE;
+ return 1;
+ }
+
+ if (s != NULL) *s = 0;
+ if (u != NULL) *u = 0;
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "This OS does not support a %u byte int", size);
+ return -1;
+}
+
+static int get_float_type_for_size (unsigned int size, unsigned char *s)
+{
+ if (sizeof (float) == size)
+ {
+ *s = SLANG_FLOAT_TYPE;
+ return 0;
+ }
+
+ if (sizeof (double) == size)
+ {
+ *s = SLANG_DOUBLE_TYPE;
+ return 0;
+ }
+
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "This OS does not support a %u byte float", size);
+ return -1;
+}
+
+static int parse_a_format (char **format, Format_Type *ft)
+{
+ char *f;
+ char ch;
+ unsigned repeat;
+
+ f = *format;
+
+ while (((ch = *f++) != 0)
+ && isspace (ch))
+ ;
+
+ switch (ch)
+ {
+ default:
+ ft->byteorder = NATIVE_ORDER;
+ break;
+
+ case '=':
+ ft->byteorder = NATIVE_ORDER;
+ ch = *f++;
+ break;
+
+ case '>':
+ ft->byteorder = BIGENDIAN_ORDER;
+ ch = *f++;
+ break;
+
+ case '<':
+ ft->byteorder = LILENDIAN_ORDER;
+ ch = *f++;
+ break;
+ }
+
+ if (ch == 0)
+ {
+ f--;
+ *format = f;
+ return 0;
+ }
+
+ ft->format_type = ch;
+ ft->repeat = 1;
+
+ if (isdigit (*f))
+ {
+ repeat = (unsigned int) (*f - '0');
+ f++;
+
+ while (isdigit (*f))
+ {
+ unsigned int repeat10 = 10 * repeat + (unsigned int)(*f - '0');
+
+ /* Check overflow */
+ if (repeat != repeat10 / 10)
+ {
+ SLang_verror (SL_OVERFLOW,
+ "Repeat count too large in [un]pack format");
+ return -1;
+ }
+ repeat = repeat10;
+ f++;
+ }
+ ft->repeat = repeat;
+ }
+
+ *format = f;
+
+ ft->is_scalar = 1;
+ ft->pad = 0;
+
+ switch (ft->format_type)
+ {
+ default:
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "[un]pack format character '%c' not supported", ft->format_type);
+ return -1;
+
+ case 'D':
+ ft->sizeof_type = 8;
+ if (-1 == get_float_type_for_size (8, &ft->data_type))
+ return -1;
+ break;
+
+ case 'd':
+ ft->data_type = SLANG_DOUBLE_TYPE;
+ ft->sizeof_type = sizeof (double);
+ break;
+
+ case 'F':
+ ft->sizeof_type = 4;
+ if (-1 == get_float_type_for_size (4, &ft->data_type))
+ return -1;
+ break;
+ case 'f':
+ ft->data_type = SLANG_FLOAT_TYPE;
+ ft->sizeof_type = sizeof (float);
+ break;
+
+ case 'h':
+ ft->data_type = SLANG_SHORT_TYPE;
+ ft->sizeof_type = sizeof (short);
+ break;
+ case 'H':
+ ft->data_type = SLANG_USHORT_TYPE;
+ ft->sizeof_type = sizeof (unsigned short);
+ break;
+ case 'i':
+ ft->data_type = SLANG_INT_TYPE;
+ ft->sizeof_type = sizeof (int);
+ break;
+ case 'I':
+ ft->data_type = SLANG_UINT_TYPE;
+ ft->sizeof_type = sizeof (unsigned int);
+ break;
+ case 'l':
+ ft->data_type = SLANG_LONG_TYPE;
+ ft->sizeof_type = sizeof (long);
+ break;
+ case 'L':
+ ft->data_type = SLANG_ULONG_TYPE;
+ ft->sizeof_type = sizeof (unsigned long);
+ break;
+
+ /* 16 bit ints */
+ case 'j':
+ ft->sizeof_type = 2;
+ if (-1 == get_int_type_for_size (2, &ft->data_type, NULL))
+ return -1;
+ break;
+ case 'J':
+ ft->sizeof_type = 2;
+ if (-1 == get_int_type_for_size (2, NULL, &ft->data_type))
+ return -1;
+ break;
+
+ /* 32 bit ints */
+ case 'k':
+ ft->sizeof_type = 4;
+ if (-1 == get_int_type_for_size (4, &ft->data_type, NULL))
+ return -1;
+ break;
+ case 'K':
+ ft->sizeof_type = 4;
+ if (-1 == get_int_type_for_size (4, NULL, &ft->data_type))
+ return -1;
+ break;
+
+ case 'x':
+ ft->sizeof_type = 1;
+ ft->data_type = 0;
+ break;
+
+ case 'c':
+ ft->sizeof_type = 1;
+ ft->data_type = SLANG_CHAR_TYPE;
+ break;
+
+ case 'C':
+ ft->data_type = SLANG_UCHAR_TYPE;
+ ft->sizeof_type = 1;
+ break;
+
+ case 'S':
+ case 'A':
+ ft->pad = ' ';
+ case 'a':
+ case 's':
+ ft->data_type = SLANG_BSTRING_TYPE;
+ ft->sizeof_type = 1;
+ ft->is_scalar = 0;
+ break;
+ }
+ return 1;
+}
+
+static int compute_size_for_format (char *format, unsigned int *num_bytes)
+{
+ unsigned int size;
+ Format_Type ft;
+ int status;
+
+ *num_bytes = size = 0;
+
+ while (1 == (status = parse_a_format (&format, &ft)))
+ size += ft.repeat * ft.sizeof_type;
+
+ *num_bytes = size;
+ return status;
+}
+
+static void byte_swap64 (unsigned char *ss, unsigned int n) /*{{{*/
+{
+ unsigned char *p, *pmax, ch;
+
+ if (n == 0) return;
+ p = (unsigned char *) ss;
+ pmax = p + 8 * n;
+ while (p < pmax)
+ {
+ ch = *p;
+ *p = *(p + 7);
+ *(p + 7) = ch;
+
+ ch = *(p + 6);
+ *(p + 6) = *(p + 1);
+ *(p + 1) = ch;
+
+ ch = *(p + 5);
+ *(p + 5) = *(p + 2);
+ *(p + 2) = ch;
+
+ ch = *(p + 4);
+ *(p + 4) = *(p + 3);
+ *(p + 3) = ch;
+
+ p += 8;
+ }
+}
+
+/*}}}*/
+static void byte_swap32 (unsigned char *ss, unsigned int n) /*{{{*/
+{
+ unsigned char *p, *pmax, ch;
+
+ p = (unsigned char *) ss;
+ pmax = p + 4 * n;
+ while (p < pmax)
+ {
+ ch = *p;
+ *p = *(p + 3);
+ *(p + 3) = ch;
+
+ ch = *(p + 1);
+ *(p + 1) = *(p + 2);
+ *(p + 2) = ch;
+ p += 4;
+ }
+}
+
+/*}}}*/
+static void byte_swap16 (unsigned char *p, unsigned int nread) /*{{{*/
+{
+ unsigned char *pmax, ch;
+
+ pmax = p + 2 * nread;
+ while (p < pmax)
+ {
+ ch = *p;
+ *p = *(p + 1);
+ *(p + 1) = ch;
+ p += 2;
+ }
+}
+
+/*}}}*/
+
+static int byteswap (int order, unsigned char *b, unsigned int size, unsigned int num)
+{
+ if (Native_Byte_Order == order)
+ return 0;
+
+ switch (size)
+ {
+ case 2:
+ byte_swap16 (b, num);
+ break;
+ case 4:
+ byte_swap32 (b, num);
+ break;
+ case 8:
+ byte_swap64 (b, num);
+ break;
+ default:
+ return -1;
+ }
+
+ return 0;
+}
+
+static void check_native_byte_order (void)
+{
+ unsigned short x;
+
+ if (Native_Byte_Order != NATIVE_ORDER)
+ return;
+
+ x = 0xFF;
+ if (*(unsigned char *)&x == 0xFF)
+ Native_Byte_Order = LILENDIAN_ORDER;
+ else
+ Native_Byte_Order = BIGENDIAN_ORDER;
+}
+
+static SLang_BString_Type *
+pack_according_to_format (char *format, unsigned int nitems)
+{
+ unsigned int size, num;
+ unsigned char *buf, *b;
+ SLang_BString_Type *bs;
+ Format_Type ft;
+
+ buf = NULL;
+
+ if (-1 == compute_size_for_format (format, &size))
+ goto return_error;
+
+ if (NULL == (buf = (unsigned char *) SLmalloc (size + 1)))
+ goto return_error;
+
+ b = buf;
+
+ while (1 == parse_a_format (&format, &ft))
+ {
+ unsigned char *ptr;
+ unsigned int repeat;
+
+ repeat = ft.repeat;
+ if (ft.data_type == 0)
+ {
+ memset ((char *) b, ft.pad, repeat);
+ b += repeat;
+ continue;
+ }
+
+ if (ft.is_scalar)
+ {
+ unsigned char *bstart;
+ num = repeat;
+
+ bstart = b;
+ while (repeat != 0)
+ {
+ unsigned int nelements;
+ SLang_Array_Type *at;
+
+ if (nitems == 0)
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "Not enough items for pack format");
+ goto return_error;
+ }
+
+ if (-1 == SLang_pop_array_of_type (&at, ft.data_type))
+ goto return_error;
+
+ nelements = at->num_elements;
+ if (repeat < nelements)
+ nelements = repeat;
+ repeat -= nelements;
+
+ nelements = nelements * ft.sizeof_type;
+ memcpy ((char *)b, (char *)at->data, nelements);
+
+ b += nelements;
+ SLang_free_array (at);
+ nitems--;
+ }
+
+ if (ft.byteorder != NATIVE_ORDER)
+ byteswap (ft.byteorder, bstart, ft.sizeof_type, num);
+
+ continue;
+ }
+
+ /* Otherwise we have a string */
+ if (-1 == SLang_pop_bstring (&bs))
+ goto return_error;
+
+ ptr = SLbstring_get_pointer (bs, &num);
+ if (repeat < num) num = repeat;
+ memcpy ((char *)b, (char *)ptr, num);
+ b += num;
+ repeat -= num;
+ memset ((char *)b, ft.pad, repeat);
+ SLbstring_free (bs);
+ b += repeat;
+ nitems--;
+ }
+
+ *b = 0;
+ bs = SLbstring_create_malloced (buf, size, 0);
+ if (bs == NULL)
+ goto return_error;
+
+ SLdo_pop_n (nitems);
+ return bs;
+
+ return_error:
+ SLdo_pop_n (nitems);
+ if (buf != NULL)
+ SLfree ((char *) buf);
+
+ return NULL;
+}
+
+void _SLpack (void)
+{
+ SLang_BString_Type *bs;
+ char *fmt;
+ int nitems;
+
+ check_native_byte_order ();
+
+ nitems = SLang_Num_Function_Args;
+ if (nitems <= 0)
+ {
+ SLang_verror (SL_SYNTAX_ERROR,
+ "pack: not enough arguments");
+ return;
+ }
+
+ if ((-1 == SLreverse_stack (nitems))
+ || (-1 == SLang_pop_slstring (&fmt)))
+ bs = NULL;
+ else
+ {
+ bs = pack_according_to_format (fmt, (unsigned int)nitems - 1);
+ SLang_free_slstring (fmt);
+ }
+
+ SLang_push_bstring (bs);
+ SLbstring_free (bs);
+}
+
+void _SLunpack (char *format, SLang_BString_Type *bs)
+{
+ Format_Type ft;
+ unsigned char *b;
+ unsigned int len;
+ unsigned int num_bytes;
+
+ check_native_byte_order ();
+
+ if (-1 == compute_size_for_format (format, &num_bytes))
+ return;
+
+ b = SLbstring_get_pointer (bs, &len);
+ if (b == NULL)
+ return;
+
+ if (len < num_bytes)
+ {
+ SLang_verror (SL_INVALID_PARM,
+ "unpack format %s is too large for input string",
+ format);
+ return;
+ }
+
+ while (1 == parse_a_format (&format, &ft))
+ {
+ char *str, *s;
+
+ if (ft.repeat == 0)
+ continue;
+
+ if (ft.data_type == 0)
+ { /* skip padding */
+ b += ft.repeat;
+ continue;
+ }
+
+ if (ft.is_scalar)
+ {
+ SLang_Array_Type *at;
+ int dims;
+
+ if (ft.repeat == 1)
+ {
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (ft.data_type);
+ memcpy ((char *)cl->cl_transfer_buf, (char *)b, ft.sizeof_type);
+ if (ft.byteorder != NATIVE_ORDER)
+ byteswap (ft.byteorder, (unsigned char *)cl->cl_transfer_buf, ft.sizeof_type, 1);
+
+ if (-1 == (cl->cl_apush (ft.data_type, cl->cl_transfer_buf)))
+ return;
+ b += ft.sizeof_type;
+ continue;
+ }
+
+ dims = (int) ft.repeat;
+ at = SLang_create_array (ft.data_type, 0, NULL, &dims, 1);
+ if (at == NULL)
+ return;
+
+ num_bytes = ft.repeat * ft.sizeof_type;
+ memcpy ((char *)at->data, (char *)b, num_bytes);
+ if (ft.byteorder != NATIVE_ORDER)
+ byteswap (ft.byteorder, (unsigned char *)at->data, ft.sizeof_type, ft.repeat);
+
+ if (-1 == SLang_push_array (at, 1))
+ return;
+
+ b += num_bytes;
+ continue;
+ }
+
+ len = ft.repeat;
+ str = SLmalloc (len + 1);
+ if (str == NULL)
+ return;
+
+ memcpy ((char *) str, (char *)b, len);
+ str [len] = 0;
+
+ if (ft.pad == ' ')
+ {
+ unsigned int new_len;
+
+ s = str + len;
+ while (s > str)
+ {
+ s--;
+ if ((*s != ' ') && (*s != 0))
+ {
+ s++;
+ break;
+ }
+ *s = 0;
+ }
+ new_len = (unsigned int) (s - str);
+
+ if (new_len != len)
+ {
+ s = SLrealloc (str, new_len + 1);
+ if (s == NULL)
+ {
+ SLfree (str);
+ return;
+ }
+ str = s;
+ len = new_len;
+ }
+ }
+
+ /* Avoid a bstring if possible */
+ s = SLmemchr (str, 0, len);
+ if (s == NULL)
+ {
+ if (-1 == SLang_push_malloced_string (str))
+ return;
+ }
+ else
+ {
+ SLang_BString_Type *new_bs;
+
+ new_bs = SLbstring_create_malloced ((unsigned char *)str, len, 1);
+ if (new_bs == NULL)
+ return;
+
+ if (-1 == SLang_push_bstring (new_bs))
+ {
+ SLfree (str);
+ return;
+ }
+ SLbstring_free (new_bs);
+ }
+
+ b += ft.repeat;
+ }
+}
+
+unsigned int _SLpack_compute_size (char *format)
+{
+ unsigned int n;
+
+ n = 0;
+ (void) compute_size_for_format (format, &n);
+ return n;
+}
+
+void _SLpack_pad_format (char *format)
+{
+ unsigned int len, max_len;
+ Format_Type ft;
+ char *buf, *b;
+
+ check_native_byte_order ();
+
+ /* Just check the syntax */
+ if (-1 == compute_size_for_format (format, &max_len))
+ return;
+
+ /* This should be sufficient to handle any needed xyy padding characters.
+ * I cannot see how this will be overrun
+ */
+ max_len = 4 * (strlen (format) + 1);
+ if (NULL == (buf = SLmalloc (max_len + 1)))
+ return;
+
+ b = buf;
+ len = 0;
+ while (1 == parse_a_format (&format, &ft))
+ {
+ struct { char a; short b; } s_h;
+ struct { char a; int b; } s_i;
+ struct { char a; long b; } s_l;
+ struct { char a; float b; } s_f;
+ struct { char a; double b; } s_d;
+ unsigned int pad;
+
+ if (ft.repeat == 0)
+ continue;
+
+ if (ft.data_type == 0)
+ { /* pad */
+ sprintf (b, "x%u", ft.repeat);
+ b += strlen (b);
+ len += ft.repeat;
+ continue;
+ }
+
+ switch (ft.data_type)
+ {
+ default:
+ case SLANG_STRING_TYPE:
+ case SLANG_BSTRING_TYPE:
+ case SLANG_CHAR_TYPE:
+ case SLANG_UCHAR_TYPE:
+ pad = 0;
+ break;
+
+ case SLANG_SHORT_TYPE:
+ case SLANG_USHORT_TYPE:
+ pad = ((unsigned int) ((char *)&s_h.b - (char *)&s_h.a));
+ break;
+
+ case SLANG_INT_TYPE:
+ case SLANG_UINT_TYPE:
+ pad = ((unsigned int) ((char *)&s_i.b - (char *)&s_i.a));
+ break;
+
+ case SLANG_LONG_TYPE:
+ case SLANG_ULONG_TYPE:
+ pad = ((unsigned int) ((char *)&s_l.b - (char *)&s_l.a));
+ break;
+
+ case SLANG_FLOAT_TYPE:
+ pad = ((unsigned int) ((char *)&s_f.b - (char *)&s_f.a));
+ break;
+
+ case SLANG_DOUBLE_TYPE:
+ pad = ((unsigned int) ((char *)&s_d.b - (char *)&s_d.a));
+ break;
+ }
+
+ /* Pad to a length that is an integer multiple of pad. */
+ if (pad)
+ pad = pad * ((len + pad - 1)/pad) - len;
+
+ if (pad)
+ {
+ sprintf (b, "x%u", pad);
+ b += strlen (b);
+ len += pad;
+ }
+
+ *b++ = ft.format_type;
+ if (ft.repeat > 1)
+ {
+ sprintf (b, "%u", ft.repeat);
+ b += strlen (b);
+ }
+
+ len += ft.repeat * ft.sizeof_type;
+ }
+ *b = 0;
+
+ (void) SLang_push_malloced_string (buf);
+}
diff --git a/mdk-stage1/slang/slparse.c b/mdk-stage1/slang/slparse.c
new file mode 100644
index 000000000..bc709d1fb
--- /dev/null
+++ b/mdk-stage1/slang/slparse.c
@@ -0,0 +1,1970 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static SLang_Load_Type *LLT;
+int _SLang_Compile_Line_Num_Info;
+
+static void free_token (_SLang_Token_Type *t)
+{
+ register unsigned int nrefs = t->num_refs;
+
+ if (nrefs == 0)
+ return;
+
+ if (nrefs == 1)
+ {
+ if (t->free_sval_flag)
+ {
+ if (t->type == BSTRING_TOKEN)
+ SLbstring_free (t->v.b_val);
+ else
+ _SLfree_hashed_string (t->v.s_val, strlen (t->v.s_val), t->hash);
+ t->v.s_val = NULL;
+ }
+ }
+
+ t->num_refs = nrefs - 1;
+}
+
+static void init_token (_SLang_Token_Type *t)
+{
+ memset ((char *) t, 0, sizeof (_SLang_Token_Type));
+#if _SLANG_HAS_DEBUG_CODE
+ t->line_number = -1;
+#endif
+}
+
+/* Allow room for one push back of a token. This is necessary for
+ * multiple assignment.
+ */
+static unsigned int Use_Next_Token;
+static _SLang_Token_Type Next_Token;
+#if _SLANG_HAS_DEBUG_CODE
+static int Last_Line_Number = -1;
+#endif
+
+static int unget_token (_SLang_Token_Type *ctok)
+{
+ if (SLang_Error)
+ return -1;
+ if (Use_Next_Token != 0)
+ {
+ _SLparse_error ("unget_token failed", ctok, 0);
+ return -1;
+ }
+
+ Use_Next_Token++;
+ Next_Token = *ctok;
+ init_token (ctok);
+ return 0;
+}
+
+static int get_token (_SLang_Token_Type *ctok)
+{
+ if (ctok->num_refs)
+ free_token (ctok);
+
+ if (Use_Next_Token)
+ {
+ Use_Next_Token--;
+ *ctok = Next_Token;
+ return ctok->type;
+ }
+
+ return _SLget_token (ctok);
+}
+
+static int compile_token (_SLang_Token_Type *t)
+{
+#if _SLANG_HAS_DEBUG_CODE
+ if (_SLang_Compile_Line_Num_Info
+ && (t->line_number != Last_Line_Number)
+ && (t->line_number != -1))
+ {
+ _SLang_Token_Type tok;
+ tok.type = LINE_NUM_TOKEN;
+ tok.v.long_val = Last_Line_Number = t->line_number;
+ (*_SLcompile_ptr) (&tok);
+ }
+#endif
+ (*_SLcompile_ptr) (t);
+ return 0;
+}
+
+typedef struct
+{
+#define USE_PARANOID_MAGIC 0
+#if USE_PARANOID_MAGIC
+ unsigned long magic;
+#endif
+ _SLang_Token_Type *stack;
+ unsigned int len;
+ unsigned int size;
+}
+Token_List_Type;
+
+#define MAX_TOKEN_LISTS 16
+static Token_List_Type Token_List_Stack [MAX_TOKEN_LISTS];
+static unsigned int Token_List_Stack_Depth = 0;
+static Token_List_Type *Token_List = NULL;
+
+static void init_token_list (Token_List_Type *t)
+{
+ t->size = 0;
+ t->len = 0;
+ t->stack = NULL;
+#if USE_PARANOID_MAGIC
+ t->magic = 0xABCDEF12;
+#endif
+}
+
+static void free_token_list (Token_List_Type *t)
+{
+ _SLang_Token_Type *s;
+
+ if (t == NULL)
+ return;
+#if USE_PARANOID_MAGIC
+ if (t->magic != 0xABCDEF12)
+ {
+ SLang_doerror ("Magic error.");
+ return;
+ }
+#endif
+ s = t->stack;
+ if (s != NULL)
+ {
+ _SLang_Token_Type *smax = s + t->len;
+ while (s != smax)
+ {
+ if (s->num_refs) free_token (s);
+ s++;
+ }
+
+ SLfree ((char *) t->stack);
+ }
+
+ memset ((char *) t, 0, sizeof (Token_List_Type));
+}
+
+static Token_List_Type *push_token_list (void)
+{
+ if (Token_List_Stack_Depth == MAX_TOKEN_LISTS)
+ {
+ _SLparse_error ("Token list stack size exceeded", NULL, 0);
+ return NULL;
+ }
+
+ Token_List = Token_List_Stack + Token_List_Stack_Depth;
+ Token_List_Stack_Depth++;
+ init_token_list (Token_List);
+ return Token_List;
+}
+
+static int pop_token_list (int do_free)
+{
+ if (Token_List_Stack_Depth == 0)
+ {
+ if (SLang_Error == 0)
+ _SLparse_error ("Token list stack underflow", NULL, 0);
+ return -1;
+ }
+ Token_List_Stack_Depth--;
+
+ if (do_free) free_token_list (Token_List);
+
+ if (Token_List_Stack_Depth != 0)
+ Token_List = Token_List_Stack + (Token_List_Stack_Depth - 1);
+ else
+ Token_List = NULL;
+
+ return 0;
+}
+
+static int check_token_list_space (Token_List_Type *t, unsigned int delta_size)
+{
+ _SLang_Token_Type *st;
+ unsigned int len;
+#if USE_PARANOID_MAGIC
+ if (t->magic != 0xABCDEF12)
+ {
+ SLang_doerror ("Magic error.");
+ return -1;
+ }
+#endif
+ len = t->len + delta_size;
+ if (len <= t->size) return 0;
+
+ if (delta_size < 4)
+ {
+ delta_size = 4;
+ len = t->len + delta_size;
+ }
+
+ st = (_SLang_Token_Type *) SLrealloc((char *) t->stack,
+ len * sizeof(_SLang_Token_Type));
+ if (st == NULL)
+ {
+ _SLparse_error ("Malloc error", NULL, 0);
+ return -1;
+ }
+
+ memset ((char *) (st + t->len), 0, delta_size);
+
+ t->stack = st;
+ t->size = len;
+ return 0;
+}
+
+static int append_token (_SLang_Token_Type *t)
+{
+ if (-1 == check_token_list_space (Token_List, 1))
+ return -1;
+
+ Token_List->stack [Token_List->len] = *t;
+ Token_List->len += 1;
+ t->num_refs = 0; /* stealing it */
+ return 0;
+}
+
+static int append_token_of_type (unsigned char t)
+{
+ _SLang_Token_Type *tok;
+
+ if (-1 == check_token_list_space (Token_List, 1))
+ return -1;
+
+ /* The memset when the list was created ensures that the other fields
+ * are properly initialized.
+ */
+ tok = Token_List->stack + Token_List->len;
+ init_token (tok);
+ tok->type = t;
+ Token_List->len += 1;
+ return 0;
+}
+
+static _SLang_Token_Type *get_last_token (void)
+{
+ unsigned int len;
+
+ if ((Token_List == NULL)
+ || (0 == (len = Token_List->len)))
+ return NULL;
+
+ len--;
+ return Token_List->stack + len;
+}
+
+/* This function does NOT free the list. */
+static int compile_token_list_with_fun (int dir, Token_List_Type *list,
+ int (*f)(_SLang_Token_Type *))
+{
+ _SLang_Token_Type *t0, *t1;
+
+ if (list == NULL)
+ return -1;
+
+ if (f == NULL)
+ f = compile_token;
+
+ t0 = list->stack;
+ t1 = t0 + list->len;
+
+ if (dir < 0)
+ {
+ /* backwards */
+
+ while ((SLang_Error == 0) && (t1 > t0))
+ {
+ t1--;
+ (*f) (t1);
+ }
+ return 0;
+ }
+
+ /* forward */
+ while ((SLang_Error == 0) && (t0 < t1))
+ {
+ (*f) (t0);
+ t0++;
+ }
+ return 0;
+}
+
+static int compile_token_list (void)
+{
+ if (Token_List == NULL)
+ return -1;
+
+ compile_token_list_with_fun (1, Token_List, NULL);
+ pop_token_list (1);
+ return 0;
+}
+
+/* Take all elements in the list from pos2 to the end and exchange them
+ * with the elements at pos1, e.g.,
+ * ...ABCDEabc ==> ...abcABCDE
+ * where pos1 denotes A and pos2 denotes a.
+ */
+static int token_list_element_exchange (unsigned int pos1, unsigned int pos2)
+{
+ _SLang_Token_Type *s, *s1, *s2;
+ unsigned int len, nloops;
+
+ if (Token_List == NULL)
+ return -1;
+
+ s = Token_List->stack;
+ len = Token_List->len;
+
+ if ((s == NULL) || (len == 0)
+ || (pos2 >= len))
+ return -1;
+
+ /* This may not be the most efficient algorithm but the number to swap
+ * is most-likely going to be small, e.g, 3
+ * The algorithm is to rotate the list. The particular rotation
+ * direction was chosen to make insert_token fast.
+ * It works like:
+ * @ ABCabcde --> BCabcdeA --> CabcdeAB --> abcdefAB
+ * which is optimal for Abcdef sequence produced by function calls.
+ *
+ * Profiling indicates that nloops is almost always 1, whereas the inner
+ * loop can loop many times (e.g., 9 times).
+ */
+
+ s2 = s + (len - 1);
+ s1 = s + pos1;
+ nloops = pos2 - pos1;
+
+ while (nloops)
+ {
+ _SLang_Token_Type save;
+
+ s = s1;
+ save = *s;
+
+ while (s < s2)
+ {
+ *s = *(s + 1);
+ s++;
+ }
+ *s = save;
+
+ nloops--;
+ }
+ return 0;
+}
+
+#if 0
+static int insert_token (_SLang_Token_Type *t, unsigned int pos)
+{
+ if (-1 == append_token (t))
+ return -1;
+
+ return token_list_element_exchange (pos, Token_List->len - 1);
+}
+#endif
+static void compile_token_of_type (unsigned char t)
+{
+ _SLang_Token_Type tok;
+
+#if _SLANG_HAS_DEBUG_CODE
+ tok.line_number = -1;
+#endif
+ tok.type = t;
+ compile_token(&tok);
+}
+
+static void statement (_SLang_Token_Type *);
+static void compound_statement (_SLang_Token_Type *);
+static void expression_with_parenthesis (_SLang_Token_Type *);
+static void handle_semicolon (_SLang_Token_Type *);
+static void statement_list (_SLang_Token_Type *);
+static void variable_list (_SLang_Token_Type *, unsigned char);
+static void struct_declaration (_SLang_Token_Type *);
+static void define_function_args (_SLang_Token_Type *);
+static void typedef_definition (_SLang_Token_Type *);
+static void function_args_expression (_SLang_Token_Type *, int);
+static void expression (_SLang_Token_Type *);
+static void expression_with_commas (_SLang_Token_Type *, int);
+static void simple_expression (_SLang_Token_Type *);
+static void unary_expression (_SLang_Token_Type *);
+static void postfix_expression (_SLang_Token_Type *);
+static int check_for_lvalue (unsigned char, _SLang_Token_Type *);
+/* static void primary_expression (_SLang_Token_Type *); */
+static void block (_SLang_Token_Type *);
+static void inline_array_expression (_SLang_Token_Type *);
+static void array_index_expression (_SLang_Token_Type *);
+static void do_multiple_assignment (_SLang_Token_Type *);
+static void try_multiple_assignment (_SLang_Token_Type *);
+#if 0
+static void not_implemented (char *what)
+{
+ char err [256];
+ sprintf (err, "Expression not implemented: %s", what);
+ _SLparse_error (err, NULL, 0);
+}
+#endif
+static void rpn_parse_line (_SLang_Token_Type *tok)
+{
+ do
+ {
+ /* multiple RPN tokens possible when the file looks like:
+ * . <end of line>
+ * . <end of line>
+ */
+ if (tok->type != RPN_TOKEN)
+ compile_token (tok);
+ free_token (tok);
+ }
+ while (EOF_TOKEN != _SLget_rpn_token (tok));
+}
+
+static int get_identifier_token (_SLang_Token_Type *tok)
+{
+ if (IDENT_TOKEN == get_token (tok))
+ return IDENT_TOKEN;
+
+ _SLparse_error ("Expecting identifier", tok, 0);
+ return tok->type;
+}
+
+static void define_function (_SLang_Token_Type *ctok, unsigned char type)
+{
+ _SLang_Token_Type fname;
+
+ switch (type)
+ {
+ case STATIC_TOKEN:
+ type = DEFINE_STATIC_TOKEN;
+ break;
+
+ case PUBLIC_TOKEN:
+ type = DEFINE_PUBLIC_TOKEN;
+ break;
+
+ case PRIVATE_TOKEN:
+ type = DEFINE_PRIVATE_TOKEN;
+ }
+
+ init_token (&fname);
+ if (IDENT_TOKEN != get_identifier_token (&fname))
+ {
+ free_token (&fname);
+ return;
+ }
+
+ compile_token_of_type(OPAREN_TOKEN);
+ get_token (ctok);
+ define_function_args (ctok);
+ compile_token_of_type(FARG_TOKEN);
+
+ if (ctok->type == OBRACE_TOKEN)
+ compound_statement(ctok);
+
+ else if (ctok->type != SEMICOLON_TOKEN)
+ {
+ _SLparse_error("Expecting {", ctok, 0);
+ free_token (&fname);
+ return;
+ }
+
+ fname.type = type;
+ compile_token (&fname);
+ free_token (&fname);
+}
+
+/* statement:
+ * compound-statement
+ * if ( expression ) statement
+ * if ( expression ) statement else statement
+ * !if ( expression ) statement
+ * loop ( expression ) statement
+ * _for ( expression ) statement
+ * foreach ( expression ) statement
+ * foreach (expression ) using (expression-list) statement
+ * while ( expression ) statement
+ * do statement while (expression) ;
+ * for ( expressionopt ; expressionopt ; expressionopt ) statement
+ * ERROR_BLOCK statement
+ * EXIT_BLOCK statement
+ * USER_BLOCK0 statement
+ * USER_BLOCK1 statement
+ * USER_BLOCK2 statement
+ * USER_BLOCK3 statement
+ * USER_BLOCK4 statement
+ * forever statement
+ * break ;
+ * continue ;
+ * return expressionopt ;
+ * variable variable-list ;
+ * struct struct-decl ;
+ * define identifier function-args ;
+ * define identifier function-args compound-statement
+ * switch ( expression ) statement
+ * rpn-line
+ * at-line
+ * push ( expression )
+ * ( expression ) = expression ;
+ * expression ;
+ * expression :
+ */
+
+/* Note: This function does not return with a new token. It is up to the
+ * calling routine to handle that.
+ */
+static void statement (_SLang_Token_Type *ctok)
+{
+ unsigned char type;
+
+ if (SLang_Error)
+ return;
+
+ LLT->parse_level += 1;
+
+ switch (ctok->type)
+ {
+ case OBRACE_TOKEN:
+ compound_statement (ctok);
+ break;
+
+ case IF_TOKEN:
+ case IFNOT_TOKEN:
+ type = ctok->type;
+ get_token (ctok);
+ expression_with_parenthesis (ctok);
+ block (ctok);
+
+ if (ELSE_TOKEN != get_token (ctok))
+ {
+ compile_token_of_type (type);
+ unget_token (ctok);
+ break;
+ }
+ get_token (ctok);
+ block (ctok);
+ if (type == IF_TOKEN) type = ELSE_TOKEN; else type = NOTELSE_TOKEN;
+ compile_token_of_type (type);
+ break;
+
+ /* case IFNOT_TOKEN: */
+ case LOOP_TOKEN:
+ case _FOR_TOKEN:
+ type = ctok->type;
+ get_token (ctok);
+ expression_with_parenthesis (ctok);
+ block (ctok);
+ compile_token_of_type (type);
+ break;
+
+ case FOREACH_TOKEN:
+ get_token (ctok);
+ expression_with_parenthesis (ctok);
+
+ if (NULL == push_token_list ())
+ break;
+
+ append_token_of_type (ARG_TOKEN);
+ if (ctok->type == USING_TOKEN)
+ {
+ if (OPAREN_TOKEN != get_token (ctok))
+ {
+ _SLparse_error ("Expected 'using ('", ctok, 0);
+ break;
+ }
+ get_token (ctok);
+ function_args_expression (ctok, 0);
+ }
+ append_token_of_type (EARG_TOKEN);
+
+ compile_token_list ();
+
+ block (ctok);
+ compile_token_of_type (FOREACH_TOKEN);
+ break;
+
+ case WHILE_TOKEN:
+ get_token (ctok);
+ compile_token_of_type (OBRACE_TOKEN);
+ expression_with_parenthesis (ctok);
+ compile_token_of_type (CBRACE_TOKEN);
+ block (ctok);
+ compile_token_of_type (WHILE_TOKEN);
+ break;
+
+ case DO_TOKEN:
+ get_token (ctok);
+ block (ctok);
+
+ if (WHILE_TOKEN != get_token (ctok))
+ {
+ _SLparse_error("Expecting while", ctok, 0);
+ break;
+ }
+
+ get_token (ctok);
+
+ compile_token_of_type (OBRACE_TOKEN);
+ expression_with_parenthesis (ctok);
+ compile_token_of_type (CBRACE_TOKEN);
+ compile_token_of_type (DOWHILE_TOKEN);
+ handle_semicolon (ctok);
+ break;
+
+ case FOR_TOKEN:
+
+ /* Look for (exp_opt ; exp_opt ; exp_opt ) */
+
+ if (OPAREN_TOKEN != get_token (ctok))
+ {
+ _SLparse_error("Expecting (.", ctok, 0);
+ break;
+ }
+
+ if (NULL == push_token_list ())
+ break;
+
+ append_token_of_type (OBRACE_TOKEN);
+ if (SEMICOLON_TOKEN != get_token (ctok))
+ {
+ expression (ctok);
+ if (ctok->type != SEMICOLON_TOKEN)
+ {
+ _SLparse_error("Expecting ;", ctok, 0);
+ break;
+ }
+ }
+ append_token_of_type (CBRACE_TOKEN);
+
+ append_token_of_type (OBRACE_TOKEN);
+ if (SEMICOLON_TOKEN != get_token (ctok))
+ {
+ expression (ctok);
+ if (ctok->type != SEMICOLON_TOKEN)
+ {
+ _SLparse_error("Expecting ;", ctok, 0);
+ break;
+ }
+ }
+ append_token_of_type (CBRACE_TOKEN);
+
+ append_token_of_type (OBRACE_TOKEN);
+ if (CPAREN_TOKEN != get_token (ctok))
+ {
+ expression (ctok);
+ if (ctok->type != CPAREN_TOKEN)
+ {
+ _SLparse_error("Expecting ).", ctok, 0);
+ break;
+ }
+ }
+ append_token_of_type (CBRACE_TOKEN);
+
+ compile_token_list ();
+
+ get_token (ctok);
+ block (ctok);
+ compile_token_of_type (FOR_TOKEN);
+ break;
+
+ case ERRBLK_TOKEN:
+ case EXITBLK_TOKEN:
+ case USRBLK0_TOKEN:
+ case USRBLK1_TOKEN:
+ case USRBLK2_TOKEN:
+ case USRBLK3_TOKEN:
+ case USRBLK4_TOKEN:
+ case FOREVER_TOKEN:
+ type = ctok->type;
+ get_token (ctok);
+ block (ctok);
+ compile_token_of_type (type);
+ break;
+
+ case BREAK_TOKEN:
+ case CONT_TOKEN:
+ compile_token_of_type (ctok->type);
+ get_token (ctok);
+ handle_semicolon (ctok);
+ break;
+
+ case RETURN_TOKEN:
+ if (SEMICOLON_TOKEN != get_token (ctok))
+ {
+ if (NULL == push_token_list ())
+ break;
+
+ expression (ctok);
+
+ if (ctok->type != SEMICOLON_TOKEN)
+ {
+ _SLparse_error ("Expecting ;", ctok, 0);
+ break;
+ }
+ compile_token_list ();
+ }
+ compile_token_of_type (RETURN_TOKEN);
+ handle_semicolon (ctok);
+ break;
+
+ case STATIC_TOKEN:
+ case PRIVATE_TOKEN:
+ case PUBLIC_TOKEN:
+ type = ctok->type;
+ get_token (ctok);
+ if (ctok->type == VARIABLE_TOKEN)
+ {
+ get_token (ctok);
+ variable_list (ctok, type);
+ handle_semicolon (ctok);
+ break;
+ }
+ if (ctok->type == DEFINE_TOKEN)
+ {
+ define_function (ctok, type);
+ break;
+ }
+ _SLparse_error ("Expecting 'variable' or 'define'", ctok, 0);
+ break;
+
+ case VARIABLE_TOKEN:
+ get_token (ctok);
+ variable_list (ctok, OBRACKET_TOKEN);
+ handle_semicolon (ctok);
+ break;
+
+ case TYPEDEF_TOKEN:
+ get_token (ctok);
+ if (NULL == push_token_list ())
+ break;
+ typedef_definition (ctok);
+ compile_token_list ();
+
+ handle_semicolon (ctok);
+ break;
+
+ case DEFINE_TOKEN:
+ define_function (ctok, DEFINE_TOKEN);
+ break;
+
+ case SWITCH_TOKEN:
+ get_token (ctok);
+ expression_with_parenthesis (ctok);
+
+ while ((SLang_Error == 0)
+ && (OBRACE_TOKEN == ctok->type))
+ {
+ compile_token_of_type (OBRACE_TOKEN);
+ compound_statement (ctok);
+ compile_token_of_type (CBRACE_TOKEN);
+ get_token (ctok);
+ }
+ compile_token_of_type (SWITCH_TOKEN);
+ unget_token (ctok);
+ break;
+
+ case EOF_TOKEN:
+ break;
+#if 0
+ case PUSH_TOKEN:
+ get_token (ctok);
+ expression_list_with_parenthesis (ctok);
+ handle_semicolon (ctok);
+ break;
+#endif
+
+ case SEMICOLON_TOKEN:
+ handle_semicolon (ctok);
+ break;
+
+ case RPN_TOKEN:
+ if (POUND_TOKEN == get_token (ctok))
+ _SLcompile_byte_compiled ();
+ else if (ctok->type != EOF_TOKEN)
+ rpn_parse_line (ctok);
+ break;
+
+ case OPAREN_TOKEN: /* multiple assignment */
+ try_multiple_assignment (ctok);
+ if (ctok->type == COLON_TOKEN)
+ compile_token_of_type (COLON_TOKEN);
+ else handle_semicolon (ctok);
+ break;
+
+ default:
+
+ if (NULL == push_token_list ())
+ break;
+
+ expression (ctok);
+ compile_token_list ();
+
+ if (ctok->type == COLON_TOKEN)
+ compile_token_of_type (COLON_TOKEN);
+ else handle_semicolon (ctok);
+ break;
+ }
+
+ LLT->parse_level -= 1;
+}
+
+static void block (_SLang_Token_Type *ctok)
+{
+ compile_token_of_type (OBRACE_TOKEN);
+ statement (ctok);
+ compile_token_of_type (CBRACE_TOKEN);
+}
+
+/*
+ * statement-list:
+ * statement
+ * statement-list statement
+ */
+static void statement_list (_SLang_Token_Type *ctok)
+{
+ while ((SLang_Error == 0)
+ && (ctok->type != CBRACE_TOKEN)
+ && (ctok->type != EOF_TOKEN))
+ {
+ statement(ctok);
+ get_token (ctok);
+ }
+}
+
+/* compound-statement:
+ * { statement-list }
+ */
+static void compound_statement (_SLang_Token_Type *ctok)
+{
+ /* ctok->type is OBRACE_TOKEN here */
+ get_token (ctok);
+ statement_list(ctok);
+ if (CBRACE_TOKEN != ctok->type)
+ {
+ _SLparse_error ("Expecting '}'", ctok, 0);
+ return;
+ }
+}
+
+/* This function is only called from statement. */
+static void expression_with_parenthesis (_SLang_Token_Type *ctok)
+{
+ if (ctok->type != OPAREN_TOKEN)
+ {
+ _SLparse_error("Expecting (", ctok, 0);
+ return;
+ }
+
+ if (NULL == push_token_list ())
+ return;
+
+ get_token (ctok);
+ expression (ctok);
+
+ if (ctok->type != CPAREN_TOKEN)
+ _SLparse_error("Expecting )", ctok, 0);
+
+ compile_token_list ();
+
+ get_token (ctok);
+}
+
+static void handle_semicolon (_SLang_Token_Type *ctok)
+{
+ if ((ctok->type == SEMICOLON_TOKEN)
+ || (ctok->type == EOF_TOKEN))
+ return;
+
+ _SLparse_error ("Expecting ;", ctok, 0);
+}
+
+void _SLparse_start (SLang_Load_Type *llt)
+{
+ _SLang_Token_Type ctok;
+ SLang_Load_Type *save_llt;
+ unsigned int save_use_next_token;
+ _SLang_Token_Type save_next_token;
+ Token_List_Type *save_list;
+#if _SLANG_HAS_DEBUG_CODE
+ int save_last_line_number = Last_Line_Number;
+
+ Last_Line_Number = -1;
+#endif
+ save_use_next_token = Use_Next_Token;
+ save_next_token = Next_Token;
+ save_list = Token_List;
+ save_llt = LLT;
+ LLT = llt;
+
+ init_token (&Next_Token);
+ Use_Next_Token = 0;
+ init_token (&ctok);
+ get_token (&ctok);
+
+ llt->parse_level = 0;
+ statement_list (&ctok);
+
+ if ((SLang_Error == 0)
+ && (ctok.type != EOF_TOKEN))
+ _SLparse_error ("Parse ended prematurely", &ctok, 0);
+
+
+ if (SLang_Error)
+ {
+ if (SLang_Error < 0) /* severe error */
+ save_list = NULL;
+
+ while (Token_List != save_list)
+ {
+ if (-1 == pop_token_list (1))
+ break; /* ??? when would this happen? */
+ }
+ }
+
+ free_token (&ctok);
+ LLT = save_llt;
+ if (Use_Next_Token)
+ free_token (&Next_Token);
+ Use_Next_Token = save_use_next_token;
+ Next_Token = save_next_token;
+#if _SLANG_HAS_DEBUG_CODE
+ Last_Line_Number = save_last_line_number;
+#endif
+}
+
+/* variable-list:
+ * variable-decl
+ * variable-decl variable-list
+ *
+ * variable-decl:
+ * identifier
+ * identifier = simple-expression
+ */
+static void variable_list (_SLang_Token_Type *name_token, unsigned char variable_type)
+{
+ int declaring;
+ _SLang_Token_Type tok;
+
+ if (name_token->type != IDENT_TOKEN)
+ {
+ _SLparse_error ("Expecting a variable name", name_token, 0);
+ return;
+ }
+
+ declaring = 0;
+ do
+ {
+ if (declaring == 0)
+ {
+ declaring = 1;
+ compile_token_of_type (variable_type);
+ }
+
+ compile_token (name_token);
+
+ init_token (&tok);
+ if (ASSIGN_TOKEN == get_token (&tok))
+ {
+ compile_token_of_type (CBRACKET_TOKEN);
+ declaring = 0;
+
+ get_token (&tok);
+
+ push_token_list ();
+ simple_expression (&tok);
+ compile_token_list ();
+
+ name_token->type = _SCALAR_ASSIGN_TOKEN;
+ compile_token (name_token);
+ }
+
+ free_token (name_token);
+ *name_token = tok;
+ }
+ while ((name_token->type == COMMA_TOKEN)
+ && (IDENT_TOKEN == get_token (name_token)));
+
+ if (declaring) compile_token_of_type (CBRACKET_TOKEN);
+}
+
+/* struct-declaration:
+ * struct { struct-field-list };
+ *
+ * struct-field-list:
+ * struct-field-name , struct-field-list
+ * struct-field-name
+ *
+ * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN
+ */
+static void struct_declaration (_SLang_Token_Type *ctok)
+{
+ int n;
+ _SLang_Token_Type num_tok;
+
+ if (ctok->type != OBRACE_TOKEN)
+ {
+ _SLparse_error ("Expecting {", ctok, 0);
+ return;
+ }
+
+ n = 0;
+ while (IDENT_TOKEN == get_token (ctok))
+ {
+ n++;
+ ctok->type = STRING_TOKEN;
+ append_token (ctok);
+ if (COMMA_TOKEN != get_token (ctok))
+ break;
+ }
+
+ if (ctok->type != CBRACE_TOKEN)
+ {
+ _SLparse_error ("Expecting }", ctok, 0);
+ return;
+ }
+ if (n == 0)
+ {
+ _SLparse_error ("struct requires at least 1 field", ctok, 0);
+ return;
+ }
+
+ init_token (&num_tok);
+ num_tok.type = INT_TOKEN;
+ num_tok.v.long_val = n;
+ append_token (&num_tok);
+ append_token_of_type (STRUCT_TOKEN);
+
+ get_token (ctok);
+}
+
+/* struct-declaration:
+ * typedef struct { struct-field-list } Type_Name;
+ *
+ * struct-field-list:
+ * struct-field-name , struct-field-list
+ * struct-field-name
+ *
+ * Generates code: "field-name-1" ... "field-name-N" N STRUCT_TOKEN typedef
+ */
+static void typedef_definition (_SLang_Token_Type *t)
+{
+
+ if (t->type != STRUCT_TOKEN)
+ {
+ _SLparse_error ("Expecting `struct'", t, 0);
+ return;
+ }
+ get_token (t);
+
+ struct_declaration (t);
+ if (t->type != IDENT_TOKEN)
+ {
+ _SLparse_error ("Expecting identifier", t, 0);
+ return;
+ }
+
+ t->type = STRING_TOKEN;
+ append_token (t);
+ append_token_of_type (TYPEDEF_TOKEN);
+
+ get_token (t);
+}
+
+/* function-args:
+ * ( args-dec-opt )
+ *
+ * args-decl-opt:
+ * identifier
+ * args-decl , identifier
+ */
+static void define_function_args (_SLang_Token_Type *ctok)
+{
+ if (CPAREN_TOKEN == get_token (ctok))
+ {
+ get_token (ctok);
+ return;
+ }
+
+ compile_token_of_type(OBRACKET_TOKEN);
+
+ while ((SLang_Error == 0)
+ && (ctok->type == IDENT_TOKEN))
+ {
+ compile_token (ctok);
+ if (COMMA_TOKEN != get_token (ctok))
+ break;
+
+ get_token (ctok);
+ }
+
+ if (CPAREN_TOKEN != ctok->type)
+ {
+ _SLparse_error("Expecting )", ctok, 0);
+ return;
+ }
+ compile_token_of_type(CBRACKET_TOKEN);
+
+ get_token (ctok);
+}
+
+void try_multiple_assignment (_SLang_Token_Type *ctok)
+{
+ /* This is called with ctok->type == OPAREN_TOKEN. We have no idea
+ * what follows this. There are various possibilities such as:
+ * @ () = x;
+ * @ ( expression ) = x;
+ * @ ( expression ) ;
+ * @ ( expression ) OP expression;
+ * @ ( expression ) [expression] = expression;
+ * and only the first two constitute a multiple assignment. The last
+ * two forms create the difficulty.
+ *
+ * Here is the plan. First parse (expression) and then check next token.
+ * If it is an equal operator, then it will be parsed as a multiple
+ * assignment. In fact, that is the easy part.
+ *
+ * The hard part stems from the fact that by parsing (expression), we
+ * have effectly truncated the parse if (expression) is part of a binary
+ * or unary expression. Somehow, the parsing must be resumed. The trick
+ * here is to use a dummy literal that generates no code: NO_OP_LITERAL
+ * Using it, we just call 'expression' and proceed.
+ */
+
+ if (NULL == push_token_list ())
+ return;
+
+ get_token (ctok);
+
+ if (ctok->type != CPAREN_TOKEN)
+ {
+ expression_with_commas (ctok, 1);
+ if (ctok->type != CPAREN_TOKEN)
+ {
+ _SLparse_error ("Expecting )", ctok, 0);
+ return;
+ }
+ }
+
+ switch (get_token (ctok))
+ {
+ case ASSIGN_TOKEN:
+ case PLUSEQS_TOKEN:
+ case MINUSEQS_TOKEN:
+ case TIMESEQS_TOKEN:
+ case DIVEQS_TOKEN:
+ case BOREQS_TOKEN:
+ case BANDEQS_TOKEN:
+ do_multiple_assignment (ctok);
+ pop_token_list (1);
+ break;
+
+ default:
+ unget_token (ctok);
+ ctok->type = NO_OP_LITERAL;
+ expression (ctok);
+ compile_token_list ();
+ break;
+ }
+}
+
+/* Note: expression never gets compiled directly. Rather, it gets
+ * appended to the token list and then compiled by a calling
+ * routine.
+ */
+
+/* expression:
+ * simple_expression
+ * simple-expression , expression
+ * <none>
+ */
+static void expression_with_commas (_SLang_Token_Type *ctok, int save_comma)
+{
+ while (SLang_Error == 0)
+ {
+ if (ctok->type != COMMA_TOKEN)
+ {
+ if (ctok->type == CPAREN_TOKEN)
+ return;
+
+ simple_expression (ctok);
+
+ if (ctok->type != COMMA_TOKEN)
+ break;
+ }
+ if (save_comma) append_token (ctok);
+ get_token (ctok);
+ }
+}
+
+static void expression (_SLang_Token_Type *ctok)
+{
+ expression_with_commas (ctok, 0);
+}
+
+/* priority levels of binary operations */
+static unsigned char Binop_Level[] =
+{
+/* ADD_TOKEN */ 2,
+/* SUB_TOKEN */ 2,
+/* MUL_TOKEN */ 1,
+/* DIV_TOKEN */ 1,
+/* LT_TOKEN */ 4,
+/* LE_TOKEN */ 4,
+/* GT_TOKEN */ 4,
+/* GE_TOKEN */ 4,
+/* EQ_TOKEN */ 5,
+/* NE_TOKEN */ 5,
+/* AND_TOKEN */ 9,
+/* OR_TOKEN */ 10,
+/* MOD_TOKEN */ 1,
+/* BAND_TOKEN */ 6,
+/* SHL_TOKEN */ 3,
+/* SHR_TOKEN */ 3,
+/* BXOR_TOKEN */ 7,
+/* BOR_TOKEN */ 8,
+/* POUND_TOKEN */ 1 /* Matrix Multiplication */
+};
+
+/* % Note: simple-expression groups operators OP1 at same level. The
+ * % actual implementation will not do this.
+ * simple-expression:
+ * unary-expression
+ * binary-expression BINARY-OP unary-expression
+ * andelse xxelse-expression-list
+ * orelse xxelse-expression-list
+ *
+ * xxelse-expression-list:
+ * { expression }
+ * xxelse-expression-list { expression }
+ * binary-expression:
+ * unary-expression
+ * unary-expression BINARY-OP binary-expression
+ */
+static void simple_expression (_SLang_Token_Type *ctok)
+{
+ unsigned char type;
+ unsigned char op_stack [64];
+ unsigned char level_stack [64];
+ unsigned char level;
+ unsigned int op_num;
+
+ switch (ctok->type)
+ {
+ case ANDELSE_TOKEN:
+ case ORELSE_TOKEN:
+ type = ctok->type;
+ if (OBRACE_TOKEN != get_token (ctok))
+ {
+ _SLparse_error ("Expecting '{'", ctok, 0);
+ return;
+ }
+
+ while (ctok->type == OBRACE_TOKEN)
+ {
+ append_token (ctok);
+ get_token (ctok);
+ expression (ctok);
+ if (CBRACE_TOKEN != ctok->type)
+ {
+ _SLparse_error("Expecting }", ctok, 0);
+ return;
+ }
+ append_token (ctok);
+ get_token (ctok);
+ }
+ append_token_of_type (type);
+ return;
+
+ /* avoid unary-expression if possible */
+ case STRING_TOKEN:
+ append_token (ctok);
+ get_token (ctok);
+ break;
+
+ default:
+ unary_expression (ctok);
+ break;
+ }
+
+ if (SEMICOLON_TOKEN == (type = ctok->type))
+ return;
+
+ op_num = 0;
+
+ while ((SLang_Error == 0)
+ && (IS_BINARY_OP(type)))
+ {
+ level = Binop_Level[type - FIRST_BINARY_OP];
+
+ while ((op_num > 0) && (level_stack [op_num - 1] <= level))
+ append_token_of_type (op_stack [--op_num]);
+
+ if (op_num >= sizeof (op_stack) - 1)
+ {
+ _SLparse_error ("Binary op stack overflow", ctok, 0);
+ return;
+ }
+
+ op_stack [op_num] = type;
+ level_stack [op_num] = level;
+ op_num++;
+
+ get_token (ctok);
+ unary_expression (ctok);
+ type = ctok->type;
+ }
+
+ while (op_num > 0)
+ append_token_of_type(op_stack[--op_num]);
+}
+
+/* unary-expression:
+ * postfix-expression
+ * ++ postfix-expression
+ * -- postfix-expression
+ * case unary-expression
+ * OP3 unary-expression
+ * (OP3: + - ~ & not @)
+ *
+ * Note: This grammar permits: case case case WHATEVER
+ */
+static void unary_expression (_SLang_Token_Type *ctok)
+{
+ unsigned char save_unary_ops [16];
+ unsigned int num_unary_ops;
+ unsigned char type;
+ _SLang_Token_Type *last_token;
+
+ num_unary_ops = 0;
+ while (SLang_Error == 0)
+ {
+ type = ctok->type;
+
+ switch (type)
+ {
+ case PLUSPLUS_TOKEN:
+ case MINUSMINUS_TOKEN:
+ get_token (ctok);
+ postfix_expression (ctok);
+ check_for_lvalue (type, NULL);
+ goto out_of_switch;
+
+ case ADD_TOKEN:
+ get_token (ctok); /* skip it-- it's unary here */
+ break;
+
+ case SUB_TOKEN:
+ (void) get_token (ctok);
+ if (IS_INTEGER_TOKEN (ctok->type))
+ {
+ ctok->v.long_val = -ctok->v.long_val;
+ break;
+ }
+
+ if (num_unary_ops == 16)
+ goto stack_overflow_error;
+ save_unary_ops [num_unary_ops++] = CHS_TOKEN;
+ break;
+
+ case DEREF_TOKEN:
+ case BNOT_TOKEN:
+ case NOT_TOKEN:
+ case CASE_TOKEN:
+ if (num_unary_ops == 16)
+ goto stack_overflow_error;
+
+ save_unary_ops [num_unary_ops++] = type;
+ get_token (ctok);
+ break;
+
+ /* Try to avoid ->postfix_expression->primary_expression
+ * subroutine calls.
+ */
+ case STRING_TOKEN:
+ append_token (ctok);
+ get_token (ctok);
+ goto out_of_switch;
+
+ default:
+ postfix_expression (ctok);
+ goto out_of_switch;
+ }
+ }
+
+ out_of_switch:
+ if (num_unary_ops == 0)
+ return;
+
+ if ((DEREF_TOKEN == save_unary_ops[num_unary_ops - 1])
+ && (NULL != (last_token = get_last_token ()))
+ && (IS_ASSIGN_TOKEN(last_token->type)))
+ {
+ /* FIXME: Priority=medium
+ * This needs generalized so that things like @a.y = 1 will work properly.
+ */
+ if ((num_unary_ops != 1)
+ || (last_token->type != _SCALAR_ASSIGN_TOKEN))
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Only derefence assignments to simple variables are possible");
+ return;
+ }
+
+ last_token->type += (_DEREF_ASSIGN_TOKEN - _SCALAR_ASSIGN_TOKEN);
+ return;
+ }
+
+ while (num_unary_ops)
+ {
+ num_unary_ops--;
+ append_token_of_type (save_unary_ops [num_unary_ops]);
+ }
+ return;
+
+ stack_overflow_error:
+ _SLparse_error ("Too many unary operators.", ctok, 0);
+}
+
+static int combine_namespace_tokens (_SLang_Token_Type *a, _SLang_Token_Type *b)
+{
+ char *sa, *sb, *sc;
+ unsigned int lena, lenb;
+ unsigned long hash;
+
+ /* This is somewhat of a hack. Combine the TWO identifier names
+ * (NAMESPACE) and (name) into the form NAMESPACE->name. Then when the
+ * byte compiler compiles the object it will not be found. It will then
+ * check for this hack and make the appropriate namespace lookup.
+ */
+
+ sa = a->v.s_val;
+ sb = b->v.s_val;
+
+ lena = strlen (sa);
+ lenb = strlen (sb);
+
+ sc = SLmalloc (lena + lenb + 3);
+ if (sc == NULL)
+ return -1;
+
+ strcpy (sc, sa);
+ strcpy (sc + lena, "->");
+ strcpy (sc + lena + 2, sb);
+
+ sb = _SLstring_make_hashed_string (sc, lena + lenb + 2, &hash);
+ SLfree (sc);
+ if (sb == NULL)
+ return -1;
+
+ /* I can free this string because no other token should be referencing it.
+ * (num_refs == 1).
+ */
+ _SLfree_hashed_string (sa, lena, a->hash);
+ a->v.s_val = sb;
+ a->hash = hash;
+
+ return 0;
+}
+
+static void append_identifier_token (_SLang_Token_Type *ctok)
+{
+ _SLang_Token_Type *last_token;
+
+ append_token (ctok);
+
+ if (NAMESPACE_TOKEN != get_token (ctok))
+ return;
+
+ if (IDENT_TOKEN != get_token (ctok))
+ {
+ _SLparse_error ("Expecting name-space identifier", ctok, 0);
+ return;
+ }
+
+ last_token = get_last_token ();
+ if (-1 == combine_namespace_tokens (last_token, ctok))
+ return;
+
+ (void) get_token (ctok);
+}
+
+static int get_identifier_expr_token (_SLang_Token_Type *ctok)
+{
+ _SLang_Token_Type next_token;
+
+ if (IDENT_TOKEN != get_identifier_token (ctok))
+ return -1;
+
+ init_token (&next_token);
+ if (NAMESPACE_TOKEN != get_token (&next_token))
+ {
+ unget_token (&next_token);
+ return IDENT_TOKEN;
+ }
+
+ if (IDENT_TOKEN != get_identifier_token (&next_token))
+ {
+ free_token (&next_token);
+ return -1;
+ }
+
+ if (-1 == combine_namespace_tokens (ctok, &next_token))
+ {
+ free_token (&next_token);
+ return -1;
+ }
+ free_token (&next_token);
+ return IDENT_TOKEN;
+}
+
+/* postfix-expression:
+ * primary-expression
+ * postfix-expression [ expression ]
+ * postfix-expression ( function-args-expression )
+ * postfix-expression . identifier
+ * postfix-expression ^ unary-expression
+ * postfix-expression ++
+ * postfix-expression --
+ * postfix-expression = simple-expression
+ * postfix-expression += simple-expression
+ * postfix-expression -= simple-expression
+ *
+ * primary-expression:
+ * literal
+ * identifier-expr
+ * ( expression_opt )
+ * [ inline-array-expression ]
+ * &identifier-expr
+ * struct-definition
+ * __tmp(identifier-expr)
+ *
+ * identifier-expr:
+ * identifier
+ * identifier->identifier
+ */
+static void postfix_expression (_SLang_Token_Type *ctok)
+{
+ unsigned int start_pos, end_pos;
+ unsigned char type;
+
+ if (Token_List == NULL)
+ return;
+
+ start_pos = Token_List->len;
+
+ switch (ctok->type)
+ {
+ case IDENT_TOKEN:
+ append_identifier_token (ctok);
+ break;
+
+ case CHAR_TOKEN:
+ case SHORT_TOKEN:
+ case INT_TOKEN:
+ case LONG_TOKEN:
+ case UCHAR_TOKEN:
+ case USHORT_TOKEN:
+ case UINT_TOKEN:
+ case ULONG_TOKEN:
+ case STRING_TOKEN:
+ case BSTRING_TOKEN:
+#ifdef SLANG_HAS_FLOAT
+ case DOUBLE_TOKEN:
+ case FLOAT_TOKEN:
+#endif
+#ifdef SLANG_HAS_COMPLEX
+ case COMPLEX_TOKEN:
+#endif
+ append_token (ctok);
+ get_token (ctok);
+ break;
+
+ case OPAREN_TOKEN:
+ if (CPAREN_TOKEN != get_token (ctok))
+ {
+ expression (ctok);
+ if (ctok->type != CPAREN_TOKEN)
+ _SLparse_error("Expecting )", ctok, 0);
+ }
+ get_token (ctok);
+ break;
+
+ case BAND_TOKEN:
+ if (IDENT_TOKEN != get_identifier_expr_token (ctok))
+ break;
+
+ ctok->type = _REF_TOKEN;
+ append_token (ctok);
+ get_token (ctok);
+ break;
+
+ case OBRACKET_TOKEN:
+ get_token (ctok);
+ inline_array_expression (ctok);
+ break;
+
+ case NO_OP_LITERAL:
+ /* This token was introduced by try_multiple_assignment. There,
+ * a new token_list was pushed and (expression) was evaluated.
+ * NO_OP_LITERAL represents the result of expression. However,
+ * we need to tweak the start_pos variable to point to the beginning
+ * of the token list to complete the equivalence.
+ */
+ start_pos = 0;
+ get_token (ctok);
+ break;
+
+ case STRUCT_TOKEN:
+ get_token (ctok);
+ struct_declaration (ctok);
+ break;
+
+ case TMP_TOKEN:
+ get_token (ctok);
+ if (ctok->type == OPAREN_TOKEN)
+ {
+ if (IDENT_TOKEN == get_identifier_expr_token (ctok))
+ {
+ ctok->type = TMP_TOKEN;
+ append_token (ctok);
+ get_token (ctok);
+ if (ctok->type == CPAREN_TOKEN)
+ {
+ get_token (ctok);
+ break;
+ }
+ }
+ }
+ _SLparse_error ("Expecting form __tmp(NAME)", ctok, 0);
+ break;
+
+ default:
+ if (IS_INTERNAL_FUNC(ctok->type))
+ {
+ append_token (ctok);
+ get_token (ctok);
+ }
+ else
+ _SLparse_error("Expecting a PRIMARY", ctok, 0);
+ }
+
+ while (SLang_Error == 0)
+ {
+ end_pos = Token_List->len;
+ type = ctok->type;
+ switch (type)
+ {
+ case OBRACKET_TOKEN: /* X[args] ==> [args] X ARRAY */
+ get_token (ctok);
+ append_token_of_type (ARG_TOKEN);
+ if (ctok->type != CBRACKET_TOKEN)
+ array_index_expression (ctok);
+
+ if (ctok->type != CBRACKET_TOKEN)
+ {
+ _SLparse_error ("Expecting ']'", ctok, 0);
+ return;
+ }
+ get_token (ctok);
+ /* append_token_of_type (EARG_TOKEN); -- ARRAY_TOKEN implicitely does this */
+ token_list_element_exchange (start_pos, end_pos);
+ append_token_of_type (ARRAY_TOKEN);
+ break;
+
+ case OPAREN_TOKEN:
+ /* f(args) ==> args f */
+ if (CPAREN_TOKEN != get_token (ctok))
+ {
+ function_args_expression (ctok, 1);
+ token_list_element_exchange (start_pos, end_pos);
+ }
+ else get_token (ctok);
+ break;
+
+ case DOT_TOKEN:
+ /* S.a ==> "a" S DOT
+ * This means that if S is X[b], then X[b].a ==> a b X ARRAY DOT
+ * and f(a).X[b].c ==> "c" b "X" a f . ARRAY .
+ * Also, f(a).X[b] = g(x); ==> x g b "X" a f .
+ */
+ if (IDENT_TOKEN != get_identifier_token (ctok))
+ return;
+
+ ctok->type = DOT_TOKEN;
+ append_token (ctok);
+ get_token (ctok);
+ break;
+
+ case PLUSPLUS_TOKEN:
+ case MINUSMINUS_TOKEN:
+ check_for_lvalue (type, NULL);
+ get_token (ctok);
+ break;
+
+ case ASSIGN_TOKEN:
+ case PLUSEQS_TOKEN:
+ case MINUSEQS_TOKEN:
+ case TIMESEQS_TOKEN:
+ case DIVEQS_TOKEN:
+ case BOREQS_TOKEN:
+ case BANDEQS_TOKEN:
+ check_for_lvalue (type, NULL);
+ get_token (ctok);
+ simple_expression (ctok);
+ token_list_element_exchange (start_pos, end_pos);
+ break;
+
+ case POW_TOKEN:
+ get_token (ctok);
+ unary_expression (ctok);
+ append_token_of_type (POW_TOKEN);
+ break;
+
+ default:
+ return;
+ }
+ }
+}
+
+static void function_args_expression (_SLang_Token_Type *ctok, int handle_num_args)
+{
+ unsigned char last_type, this_type;
+
+ if (handle_num_args) append_token_of_type (ARG_TOKEN);
+
+ last_type = COMMA_TOKEN;
+
+ while (SLang_Error == 0)
+ {
+ this_type = ctok->type;
+
+ switch (this_type)
+ {
+ case COMMA_TOKEN:
+ if (last_type == COMMA_TOKEN)
+ append_token_of_type (_NULL_TOKEN);
+ get_token (ctok);
+ break;
+
+ case CPAREN_TOKEN:
+ if (last_type == COMMA_TOKEN)
+ append_token_of_type (_NULL_TOKEN);
+ if (handle_num_args) append_token_of_type (EARG_TOKEN);
+ get_token (ctok);
+ return;
+
+ default:
+ simple_expression (ctok);
+ if ((ctok->type != COMMA_TOKEN)
+ && (ctok->type != CPAREN_TOKEN))
+ {
+ _SLparse_error ("Expecting ')'", ctok, 0);
+ break;
+ }
+ }
+ last_type = this_type;
+ }
+}
+
+static int check_for_lvalue (unsigned char eqs_type, _SLang_Token_Type *ctok)
+{
+ unsigned char type;
+
+ if ((ctok == NULL)
+ && (NULL == (ctok = get_last_token ())))
+ return -1;
+
+ type = ctok->type;
+
+ eqs_type -= ASSIGN_TOKEN;
+
+ if (type == IDENT_TOKEN)
+ eqs_type += _SCALAR_ASSIGN_TOKEN;
+ else if (type == ARRAY_TOKEN)
+ eqs_type += _ARRAY_ASSIGN_TOKEN;
+ else if (type == DOT_TOKEN)
+ eqs_type += _STRUCT_ASSIGN_TOKEN;
+ else
+ {
+ _SLparse_error ("Expecting LVALUE", ctok, 0);
+ return -1;
+ }
+
+ ctok->type = eqs_type;
+ return 0;
+}
+
+static void array_index_expression (_SLang_Token_Type *ctok)
+{
+ unsigned int num_commas;
+
+ num_commas = 0;
+ while (1)
+ {
+ switch (ctok->type)
+ {
+ case COLON_TOKEN:
+ if (num_commas)
+ _SLparse_error ("Misplaced ':'", ctok, 0);
+ return;
+
+ case TIMES_TOKEN:
+ append_token_of_type (_INLINE_WILDCARD_ARRAY_TOKEN);
+ get_token (ctok);
+ break;
+
+ case COMMA_TOKEN:
+ _SLparse_error ("Misplaced ','", ctok, 0);
+ return;
+
+ default:
+ simple_expression (ctok);
+ }
+
+ if (ctok->type != COMMA_TOKEN)
+ return;
+ num_commas++;
+ get_token (ctok);
+ }
+}
+
+/* inline-array-expression:
+ * array_index_expression
+ * simple_expression : simple_expression
+ * simple_expression : simple_expression : simple_expression
+ */
+static void inline_array_expression (_SLang_Token_Type *ctok)
+{
+ int num_colons = 0;
+
+ append_token_of_type (ARG_TOKEN);
+
+ if (ctok->type == COLON_TOKEN) /* [:...] */
+ append_token_of_type (_NULL_TOKEN);
+ else if (ctok->type != CBRACKET_TOKEN)
+ array_index_expression (ctok);
+
+ if (ctok->type == COLON_TOKEN)
+ {
+ num_colons++;
+ if ((COLON_TOKEN == get_token (ctok))
+ || (ctok->type == CBRACKET_TOKEN))
+ append_token_of_type (_NULL_TOKEN);
+ else
+ simple_expression (ctok);
+
+ if (ctok->type == COLON_TOKEN)
+ {
+ num_colons++;
+ get_token (ctok);
+ simple_expression (ctok);
+ }
+ }
+
+ if (ctok->type != CBRACKET_TOKEN)
+ {
+ _SLparse_error ("Expecting ']'", ctok, 0);
+ return;
+ }
+
+ /* append_token_of_type (EARG_TOKEN); */
+ if (num_colons)
+ append_token_of_type (_INLINE_IMPLICIT_ARRAY_TOKEN);
+ else
+ append_token_of_type (_INLINE_ARRAY_TOKEN);
+ get_token (ctok);
+}
+
+static void do_multiple_assignment (_SLang_Token_Type *ctok)
+{
+ _SLang_Token_Type *s;
+ unsigned int i, k, len;
+ unsigned char assign_type;
+
+ assign_type = ctok->type;
+
+ /* The LHS token list has already been pushed. Here we do the RHS
+ * so push to another token list, process it, then come back to
+ * LHS for assignment.
+ */
+ if (NULL == push_token_list ())
+ return;
+
+ get_token (ctok);
+ expression (ctok);
+ compile_token_list ();
+
+ if (SLang_Error)
+ return;
+
+ /* Finally compile the LHS of the assignment expression
+ * that has been saved.
+ */
+ s = Token_List->stack;
+ len = Token_List->len;
+
+ if (len == 0)
+ {
+ compile_token_of_type (POP_TOKEN);
+ return;
+ }
+
+ while (len > 0)
+ {
+ /* List is of form:
+ * a , b, c d e, f , g , , , h ,
+ * The missing expressions will be replaced by a POP
+ * ,,a
+ */
+
+ /* Start from back looking for a COMMA */
+ k = len - 1;
+ if (s[k].type == COMMA_TOKEN)
+ {
+ compile_token_of_type (POP_TOKEN);
+ len = k;
+ continue;
+ }
+
+ if (-1 == check_for_lvalue (assign_type, s + k))
+ return;
+
+ i = 0;
+ while (1)
+ {
+ if (s[k].type == COMMA_TOKEN)
+ {
+ i = k + 1;
+ break;
+ }
+
+ if (k == 0)
+ break;
+
+ k--;
+ }
+
+ while (i < len)
+ {
+ compile_token (s + i);
+ i++;
+ }
+
+ len = k;
+ }
+
+ if (s[0].type == COMMA_TOKEN)
+ compile_token_of_type (POP_TOKEN);
+}
+
diff --git a/mdk-stage1/slang/slpath.c b/mdk-stage1/slang/slpath.c
new file mode 100644
index 000000000..831bd34df
--- /dev/null
+++ b/mdk-stage1/slang/slpath.c
@@ -0,0 +1,344 @@
+/* Pathname and filename functions */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <time.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+/* In this file, all file names are assumed to be specified in the Unix
+ * format, or in the native format.
+ *
+ * Aboout VMS:
+ * VMS pathnames are a mess. In general, they look like
+ * node::device:[dir.dir]file.ext;version
+ * and I do not know of a well-defined Unix representation for them. So,
+ * I am going to punt and encourage users to stick to the native
+ * representation.
+ */
+
+#if defined(IBMPC_SYSTEM)
+# define PATH_SEP '\\'
+# define DRIVE_SPECIFIER ':'
+# define SEARCH_PATH_DELIMITER ';'
+# define THIS_DIR_STRING "."
+#else
+# if defined(VMS)
+# define PATH_SEP ']'
+# define DRIVE_SPECIFIER ':'
+# define SEARCH_PATH_DELIMITER ' '
+# define THIS_DIR_STRING "[]" /* Is this correct?? */
+# else
+# define PATH_SEP '/'
+# define UNIX_PATHNAMES_OK
+# define SEARCH_PATH_DELIMITER ':'
+# define THIS_DIR_STRING "."
+# endif
+#endif
+
+#ifdef UNIX_PATHNAMES_OK
+# define IS_PATH_SEP(x) ((x) == PATH_SEP)
+#else
+# define IS_PATH_SEP(x) (((x) == PATH_SEP) || ((x) == '/'))
+#endif
+
+/* If file is /a/b/c/basename, this function returns a pointer to basename */
+char *SLpath_basename (char *file)
+{
+ char *b;
+
+ if (file == NULL) return NULL;
+ b = file + strlen (file);
+
+ while (b != file)
+ {
+ b--;
+ if (IS_PATH_SEP(*b))
+ return b + 1;
+#ifdef DRIVE_SPECIFIER
+ if (*b == DRIVE_SPECIFIER)
+ return b + 1;
+#endif
+ }
+
+ return b;
+}
+
+/* Returns a malloced string */
+char *SLpath_pathname_sans_extname (char *file)
+{
+ char *b;
+
+ file = SLmake_string (file);
+ if (file == NULL)
+ return NULL;
+
+ b = file + strlen (file);
+
+ while (b != file)
+ {
+ b--;
+ if (*b == '.')
+ {
+ *b = 0;
+ return file;
+ }
+ }
+
+ return file;
+}
+
+/* If path looks like: A/B/C/D/whatever, it returns A/B/C/D as a malloced
+ * string.
+ */
+char *SLpath_dirname (char *file)
+{
+ char *b;
+
+ if (file == NULL) return NULL;
+ b = file + strlen (file);
+
+ while (b != file)
+ {
+ b--;
+ if (IS_PATH_SEP(*b))
+ {
+ if (b == file) b++;
+ break;
+ }
+
+#ifdef DRIVE_SPECIFIER
+ if (*b == DRIVE_SPECIFIER)
+ {
+ b++;
+ break;
+ }
+#endif
+ }
+
+ if (b == file)
+ return SLmake_string (THIS_DIR_STRING);
+
+ return SLmake_nstring (file, (unsigned int) (b - file));
+}
+
+/* Note: VMS filenames also contain version numbers. The caller will have
+ * to deal with that.
+ *
+ * The extension includes the '.'. If no extension is present, "" is returned.
+ */
+char *SLpath_extname (char *file)
+{
+ char *b;
+
+ if (NULL == (file = SLpath_basename (file)))
+ return NULL;
+
+ b = file + strlen (file);
+ while (b != file)
+ {
+ b--;
+ if (*b == '.')
+ return b;
+ }
+
+ if (*b == '.')
+ return b;
+
+ /* Do not return a literal "" */
+ return file + strlen (file);
+}
+
+#ifdef IBMPC_SYSTEM
+static void convert_slashes (char *f)
+{
+ while (*f)
+ {
+ if (*f == '/') *f = PATH_SEP;
+ f++;
+ }
+}
+#endif
+
+int SLpath_is_absolute_path (char *name)
+{
+#ifdef UNIX_PATHNAMES_OK
+ return (*name == '/');
+#else
+ if (IS_PATH_SEP (*name))
+ return 1;
+
+# ifdef DRIVE_SPECIFIER
+ /* Look for a drive specifier */
+ while (*name)
+ {
+ if (*name == DRIVE_SPECIFIER)
+ return 1;
+
+ name++;
+ }
+# endif
+
+ return 0;
+#endif
+}
+
+/* This returns a MALLOCED string */
+char *SLpath_dircat (char *dir, char *name)
+{
+ unsigned int len, dirlen;
+ char *file;
+#ifndef VMS
+ int requires_fixup;
+#endif
+
+ if (name == NULL)
+ name = "";
+
+ if ((dir == NULL) || (SLpath_is_absolute_path (name)))
+ dir = "";
+
+ /* Both VMS and MSDOS have default directories associated with each drive.
+ * That is, the meaning of something like C:X depends upon more than just
+ * the syntax of the string. Since this concept has more power under VMS
+ * it will be honored here. However, I am going to treat C:X as C:\X
+ * under MSDOS.
+ *
+ * Note!!!
+ * VMS has problems of its own regarding path names, so I am simply
+ * going to strcat. Hopefully the VMS RTL is smart enough to deal with
+ * the result.
+ */
+ dirlen = strlen (dir);
+#ifndef VMS
+ requires_fixup = (dirlen && (0 == IS_PATH_SEP(dir[dirlen - 1])));
+#endif
+
+ len = dirlen + strlen (name) + 2;
+ if (NULL == (file = SLmalloc (len)))
+ return NULL;
+
+ strcpy (file, dir);
+
+#ifndef VMS
+ if (requires_fixup)
+ file[dirlen++] = PATH_SEP;
+#endif
+
+ strcpy (file + dirlen, name);
+
+#if defined(IBMPC_SYSTEM)
+ convert_slashes (file);
+#endif
+
+ return file;
+}
+
+int SLpath_file_exists (char *file)
+{
+ struct stat st;
+ int m;
+
+#if defined(__os2__) && !defined(S_IFMT)
+/* IBM VA3 doesn't declare S_IFMT */
+# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
+#endif
+
+#ifdef _S_IFDIR
+# ifndef S_IFDIR
+# define S_IFDIR _S_IFDIR
+# endif
+#endif
+
+#ifndef S_ISDIR
+# ifdef S_IFDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# else
+# define S_ISDIR(m) 0
+# endif
+#endif
+
+ if (file == NULL)
+ return -1;
+
+ if (stat(file, &st) < 0) return 0;
+ m = st.st_mode;
+
+ if (S_ISDIR(m)) return (2);
+ return 1;
+}
+
+char *SLpath_find_file_in_path (char *path, char *name)
+{
+ unsigned int max_path_len;
+ unsigned int this_path_len;
+ char *file, *dir;
+ char *p;
+ unsigned int nth;
+
+ if ((path == NULL) || (*path == 0)
+ || (name == NULL) || (*name == 0))
+ return NULL;
+
+ max_path_len = 0;
+ this_path_len = 0;
+ p = path;
+ while (*p != 0)
+ {
+ if (*p++ == SEARCH_PATH_DELIMITER)
+ {
+ if (this_path_len > max_path_len) max_path_len = this_path_len;
+ this_path_len = 0;
+ }
+ else this_path_len++;
+ }
+ if (this_path_len > max_path_len) max_path_len = this_path_len;
+ max_path_len++;
+
+ if (NULL == (dir = SLmalloc (max_path_len)))
+ return NULL;
+
+ nth = 0;
+ while (-1 != SLextract_list_element (path, nth, SEARCH_PATH_DELIMITER,
+ dir, max_path_len))
+ {
+ nth++;
+ if (*dir == 0)
+ continue;
+
+ if (NULL == (file = SLpath_dircat (dir, name)))
+ {
+ SLfree (dir);
+ return NULL;
+ }
+
+ if (1 == SLpath_file_exists (file))
+ {
+ SLfree (dir);
+ return file;
+ }
+
+ SLfree (file);
+ }
+
+ SLfree (dir);
+ return NULL;
+}
+
diff --git a/mdk-stage1/slang/slposdir.c b/mdk-stage1/slang/slposdir.c
new file mode 100644
index 000000000..33799e574
--- /dev/null
+++ b/mdk-stage1/slang/slposdir.c
@@ -0,0 +1,1057 @@
+/* file intrinsics for S-Lang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_IO_H
+# include <io.h> /* for chmod */
+#endif
+
+#if defined(__BORLANDC__)
+# include <process.h>
+# include <dos.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
+# include <sys/fcntl.h>
+#endif
+
+#ifdef __unix__
+# include <sys/file.h>
+#endif
+
+#if defined(__BORLANDC__)
+# include <dir.h>
+#endif
+
+#if defined(_MSC_VER)
+# include <io.h>
+#endif
+
+#if defined(__DECC) && defined(VMS)
+# include <unixio.h>
+# include <unixlib.h>
+#endif
+
+#ifdef VMS
+# include <stat.h>
+#else
+# include <sys/stat.h>
+#endif
+
+#if defined(VMS)
+# define USE_LISTDIR_INTRINSIC 0
+#else
+# define USE_LISTDIR_INTRINSIC 1
+#endif
+
+#if USE_LISTDIR_INTRINSIC
+
+#if defined(__WIN32__)
+# include <windows.h>
+#else
+# if defined(__OS2__) && defined(__IBMC__)
+# define INCL_DOS
+# define INCL_ERRORS
+# include <os2.h>
+# include <direct.h>
+# include <ctype.h>
+# else
+# ifdef HAVE_DIRENT_H
+# include <dirent.h>
+# else
+# ifdef HAVE_DIRECT_H
+# include <direct.h>
+# else
+# define dirent direct
+# define NEED_D_NAMLEN
+# if HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif
+# if HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif
+# if HAVE_NDIR_H
+# include <ndir.h>
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#endif /* USE_LISTDIR_INTRINSIC */
+
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+static int push_stat_struct (struct stat *st, int opt_attrs)
+{
+ char *field_names [12];
+ unsigned char field_types[12];
+ VOID_STAR field_values [12];
+ int int_values [12];
+ unsigned int i;
+
+ field_names [0] = "st_dev"; int_values [0] = (int) st->st_dev;
+ field_names [1] = "st_ino"; int_values [1] = (int) st->st_ino;
+ field_names [2] = "st_mode"; int_values [2] = (int) st->st_mode;
+ field_names [3] = "st_nlink"; int_values [3] = (int) st->st_nlink;
+ field_names [4] = "st_uid"; int_values [4] = (int) st->st_uid;
+ field_names [5] = "st_gid"; int_values [5] = (int) st->st_gid;
+ field_names [6] = "st_rdev"; int_values [6] = (int) st->st_rdev;
+ field_names [7] = "st_size"; int_values [7] = (int) st->st_size;
+ field_names [8] = "st_atime"; int_values [8] = (int) st->st_atime;
+ field_names [9] = "st_mtime"; int_values [9] = (int) st->st_mtime;
+ field_names [10] = "st_ctime"; int_values [10] = (int) st->st_ctime;
+
+ field_names [11] = "st_opt_attrs"; int_values[11] = opt_attrs;
+
+ for (i = 0; i < 12; i++)
+ {
+ field_types [i] = SLANG_INT_TYPE;
+ field_values [i] = (VOID_STAR) (int_values + i);
+ }
+
+ return SLstruct_create_struct (12, field_names, field_types, field_values);
+}
+
+static void stat_cmd (char *file)
+{
+ struct stat st;
+ int status;
+ int opt_attrs;
+
+ status = stat (file, &st);
+
+#if defined(__MSDOS__) || defined(__WIN32__)
+ if (status == -1)
+ {
+ unsigned int len = strlen (file);
+ if (len && ((file[len-1] == '\\') || (file[len-1] == '/')))
+ {
+ file = SLmake_nstring (file, len-1);
+ if (file == NULL)
+ return;
+
+ status = stat (file, &st);
+ SLfree (file);
+ }
+ }
+#endif
+ if (status == -1)
+ {
+ _SLerrno_errno = errno;
+ SLang_push_null ();
+ return;
+ }
+
+#ifdef __WIN32__
+ opt_attrs = GetFileAttributes (file);
+#else
+ opt_attrs = 0;
+#endif
+
+ push_stat_struct (&st, opt_attrs);
+}
+
+static void lstat_cmd (char *file)
+{
+#ifdef HAVE_LSTAT
+ struct stat st;
+ int opt_attrs;
+
+ if (-1 == lstat (file, &st))
+ {
+ _SLerrno_errno = errno;
+ SLang_push_null ();
+ return;
+ }
+
+#ifdef __WIN32__
+ opt_attrs = GetFileAttributes (file);
+#else
+ opt_attrs = 0;
+#endif
+
+ push_stat_struct (&st, opt_attrs);
+#else
+ stat_cmd (file);
+#endif
+}
+
+/* Well, it appears that on some systems, these are not defined. Here I
+ * provide them. These are derived from the Linux stat.h file.
+ */
+
+#ifdef __os2__
+# ifdef __IBMC__
+/* IBM VA3 doesn't declare S_IFMT */
+# define S_IFMT (S_IFDIR | S_IFCHR | S_IFREG)
+# endif
+#endif
+
+#ifndef S_ISLNK
+# ifdef S_IFLNK
+# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+# else
+# define S_ISLNK(m) 0
+# endif
+#endif
+
+#ifndef S_ISREG
+# ifdef S_IFREG
+# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+# else
+# define S_ISREG(m) 0
+# endif
+#endif
+
+#ifndef S_ISDIR
+# ifdef S_IFDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# else
+# define S_ISDIR(m) 0
+# endif
+#endif
+
+#ifndef S_ISCHR
+# ifdef S_IFCHR
+# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+# else
+# define S_ISCHR(m) 0
+# endif
+#endif
+
+#ifndef S_ISBLK
+# ifdef S_IFBLK
+# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+# else
+# define S_ISBLK(m) 0
+# endif
+#endif
+
+#ifndef S_ISFIFO
+# ifdef S_IFIFO
+# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+# else
+# define S_ISFIFO(m) 0
+# endif
+#endif
+
+#ifndef S_ISSOCK
+# ifdef S_IFSOCK
+# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+# else
+# define S_ISSOCK(m) 0
+# endif
+#endif
+
+static char stat_is_cmd (char *what, int *mode_ptr)
+{
+ int ret;
+ int st_mode = *mode_ptr;
+
+ if (!strcmp (what, "sock")) ret = S_ISSOCK(st_mode);
+ else if (!strcmp (what, "fifo")) ret = S_ISFIFO(st_mode);
+ else if (!strcmp (what, "blk")) ret = S_ISBLK(st_mode);
+ else if (!strcmp (what, "chr")) ret = S_ISCHR(st_mode);
+ else if (!strcmp (what, "dir")) ret = S_ISDIR(st_mode);
+ else if (!strcmp (what, "reg")) ret = S_ISREG(st_mode);
+ else if (!strcmp (what, "lnk")) ret = S_ISLNK(st_mode);
+ else
+ {
+ SLang_verror (SL_INVALID_PARM, "stat_is: Unrecognized type: %s", what);
+ return -1;
+ }
+
+ return (char) (ret != 0);
+}
+
+#ifdef HAVE_READLINK
+static void readlink_cmd (char *s)
+{
+ char buf[2048];
+ int n;
+
+ n = readlink (s, buf, sizeof (buf)-1);
+ if (n == -1)
+ {
+ _SLerrno_errno = errno;
+ s = NULL;
+ }
+ else
+ {
+ buf[n] = 0;
+ s = buf;
+ }
+
+ (void) SLang_push_string (s);
+}
+#endif
+
+static int chmod_cmd (char *file, int *mode)
+{
+ if (-1 == chmod(file, (mode_t) *mode))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+ return 0;
+}
+
+#ifdef HAVE_CHOWN
+static int chown_cmd (char *file, int *owner, int *group)
+{
+ int ret;
+
+ if (-1 == (ret = chown(file, (uid_t) *owner, (gid_t) *group)))
+ _SLerrno_errno = errno;
+ return ret;
+}
+#endif
+
+/* add trailing slash to dir */
+static void fixup_dir (char *dir)
+{
+#ifndef VMS
+ int n;
+
+ if ((n = strlen(dir)) > 1)
+ {
+ n--;
+#if defined(IBMPC_SYSTEM)
+ if ( dir[n] != '/' && dir[n] != '\\' )
+ strcat(dir, "\\" );
+#else
+ if (dir[n] != '/' )
+ strcat(dir, "/" );
+#endif
+ }
+#endif /* !VMS */
+}
+
+static void slget_cwd (void)
+{
+ char cwd[1024];
+ char *p;
+
+#ifndef HAVE_GETCWD
+ p = getwd (cwd);
+#else
+# if defined (__EMX__)
+ p = _getcwd2(cwd, 1022); /* includes drive specifier */
+# else
+ p = getcwd(cwd, 1022); /* djggp includes drive specifier */
+# endif
+#endif
+
+ if (p == NULL)
+ {
+ _SLerrno_errno = errno;
+ SLang_push_null ();
+ return;
+ }
+
+#ifndef VMS
+#ifdef __GO32__
+ /* You never know about djgpp since it favors unix */
+ {
+ char ch;
+ p = cwd;
+ while ((ch = *p) != 0)
+ {
+ if (ch == '/') *p = '\\';
+ p++;
+ }
+ }
+#endif
+ fixup_dir (cwd);
+#endif
+ SLang_push_string (cwd);
+}
+
+static int chdir_cmd (char *s)
+{
+ int ret;
+
+ while (-1 == (ret = chdir (s)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ break;
+ }
+ return ret;
+}
+
+#ifdef VMS
+static int remove_cmd (char *);
+/* If the file looks like xxx, then change it to xxx.dir. If
+ * it looks like A:[B.xxx] then change it to A:[B]xxx.dir.
+ */
+
+static char *vms_convert_dirspec_to_vms_dir (char *str)
+{
+ char *s;
+ char *version;
+ unsigned int len;
+ char *dot;
+
+ len = strlen (str);
+
+ version = strchr (str, ';');
+ if (version == NULL)
+ version = str + len;
+ /* version points to the version of the input string */
+
+
+ if (NULL == (s = SLmalloc (len + 8)))/* allow extra space to work with */
+ return NULL;
+
+ len = (unsigned int) (version - str);
+ strncpy (s, str, len);
+ s[len] = 0;
+ str = s;
+
+ /* Lowercase the whole thing */
+ while (*s != 0)
+ {
+ *s = LOWER_CASE(*s);
+ s++;
+ }
+
+ if ((s > str)
+ && (s[-1] != ']'))
+ {
+ if ((s >= str + 4)
+ && (0 == strcmp (s - 4, ".dir")))
+ s -= 4;
+ goto add_dir_version;
+ }
+
+ /* Check for one of two possibilities:
+ *
+ * dev:[x] --> dev:x
+ * dev:[a.x] --> dev:[a]x
+ */
+
+ if (NULL == (dot = strchr (str, '.')))
+ {
+ /* First possibility */
+ if (NULL == (s = strchr (str, '[')))
+ return str; /* let someone else figure this out */
+ while (s[1] != ']')
+ {
+ s[0] = s[1];
+ s++;
+ }
+ *s = 0;
+ goto add_dir_version;
+ }
+
+ while (NULL != (s = strchr (dot + 1, '.')))
+ dot = s;
+
+ *dot = ']';
+ s = str + (len - 1);
+
+ /* Drop */
+
+ add_dir_version:
+ strcpy (s, ".dir");
+ strcpy (s+4, version);
+ return str;
+}
+#endif
+
+static int rmdir_cmd (char *s)
+{
+#ifdef VMS
+ int status;
+
+ if (NULL == (s = vms_convert_dirspec_to_vms_dir (s)))
+ return -1;
+
+ status = remove_cmd (s);
+ SLfree (s);
+
+ return status;
+
+#else
+ int ret;
+
+ while (-1 == (ret = rmdir (s)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ break;
+ }
+ return ret;
+#endif
+}
+
+static int remove_cmd (char *s)
+{
+ int ret;
+#ifdef VMS
+# define REMOVE delete
+#else
+# ifdef REAL_UNIX_SYSTEM
+# define REMOVE unlink
+# else
+# define REMOVE remove
+# endif
+#endif
+
+ while (-1 == (ret = REMOVE (s)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ break;
+ }
+ return ret;
+}
+
+static int rename_cmd (char *oldpath, char *newpath)
+{
+ int ret;
+ while (-1 == (ret = rename (oldpath, newpath)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ break;
+ }
+ return ret;
+}
+
+static int mkdir_cmd (char *s, int *mode_ptr)
+{
+ int ret;
+
+ (void) mode_ptr;
+ errno = 0;
+
+#if defined (__MSDOS__) && !defined(__GO32__)
+# define MKDIR(x,y) mkdir(x)
+#else
+# if defined (__os2__) && !defined (__EMX__)
+# define MKDIR(x,y) mkdir(x)
+# else
+# if defined (__WIN32__) && !defined (__CYGWIN32__)
+# define MKDIR(x,y) mkdir(x)
+# else
+# define MKDIR mkdir
+# endif
+# endif
+#endif
+
+ while (-1 == (ret = MKDIR(s, *mode_ptr)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ break;
+ }
+ return ret;
+}
+
+#ifdef HAVE_MKFIFO
+static int mkfifo_cmd (char *path, int *mode)
+{
+ if (-1 == mkfifo (path, *mode))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+ return 0;
+}
+#endif
+
+#if USE_LISTDIR_INTRINSIC
+
+static void free_dir_list (char **list, unsigned int num)
+{
+ unsigned int i;
+
+ if (list == NULL)
+ return;
+
+ for (i = 0; i < num; i++)
+ SLang_free_slstring (list[i]);
+ SLfree ((char *) list);
+}
+
+#if defined(__WIN32__) || defined(__os2__) && defined(__IBMC__)
+static int build_dirlist (char *file, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
+{
+# ifdef __WIN32__
+ DWORD status;
+ HANDLE h;
+ WIN32_FIND_DATA fd;
+# else
+ APIRET rc;
+ FILESTATUS3 status;
+ HDIR h;
+ FILEFINDBUF3 fd;
+ ULONG cFileNames;
+# endif
+ char *pat;
+ unsigned int len;
+ char **list;
+ unsigned int num;
+ unsigned int max_num;
+ int hok;
+
+ /* If an option is present, assume ok to list hidden files. Later
+ * I will formalize this.
+ */
+ hok = (opt != NULL);
+
+# ifdef __WIN32__
+ status = GetFileAttributes (file);
+# else
+ rc = DosQueryPathInfo(file, FIL_STANDARD, &status, sizeof(FILESTATUS3));
+# endif
+
+
+# ifdef __WIN32__
+ if (status == (DWORD)-1)
+ {
+ _SLerrno_errno = ENOENT;
+ return -1;
+ }
+ if (0 == (status & FILE_ATTRIBUTE_DIRECTORY))
+ {
+ _SLerrno_errno = ENOTDIR;
+ return -1;
+ }
+# else
+ if ((rc != 0) || (status.attrFile & FILE_DIRECTORY) == 0)
+ {
+ /* ENOTDIR isn't defined in VA3. */
+ _SLerrno_errno = ENOENT;
+ return -1;
+ }
+# endif
+
+ len = strlen (file);
+ pat = SLmalloc (len + 3);
+ if (pat == NULL)
+ return -1;
+
+ strcpy (pat, file);
+ file = pat;
+ while (*file != 0)
+ {
+ if (*file == '/') *file = '\\';
+ file++;
+ }
+
+ if (len && (pat[len-1] != '\\'))
+ {
+ pat[len] = '\\';
+ len++;
+ }
+ pat[len++] = '*';
+ pat[len] = 0;
+
+ num = 0;
+ max_num = 50;
+ list = (char **)SLmalloc (max_num * sizeof(char *));
+ if (list == NULL)
+ {
+ SLfree (pat);
+ return -1;
+ }
+
+# ifdef __WIN32__
+ h = FindFirstFile(pat, &fd);
+ if (h == INVALID_HANDLE_VALUE)
+ {
+ if (ERROR_NO_MORE_FILES != GetLastError())
+ {
+ SLfree (pat);
+ SLfree ((char *)list);
+ return -1;
+ }
+ }
+# else
+ h = HDIR_CREATE;
+ cFileNames = 1;
+ rc = DosFindFirst(pat, &h, FILE_READONLY | FILE_DIRECTORY |
+ FILE_ARCHIVED, &fd, sizeof(fd), &cFileNames, FIL_STANDARD);
+ if (rc != 0)
+ {
+ if (rc != ERROR_NO_MORE_FILES)
+ {
+ SLfree (pat);
+ SLfree ((char *)list);
+ return -1;
+ }
+ }
+# endif
+ else while (1)
+ {
+ /* Do not include hidden files in the list. Also, do not
+ * include "." and ".." entries.
+ */
+#ifdef __WIN32__
+ file = fd.cFileName;
+#else
+ file = fd.achName;
+#endif
+ if (
+#ifdef __WIN32__
+ (hok || (0 == (fd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)))
+#else
+ (hok || (0 == (fd.attrFile & FILE_HIDDEN)))
+#endif
+ && ((*file != '.')
+ || ((0 != strcmp (file, "."))
+ && (0 != strcmp (file, "..")))))
+ {
+ if (num == max_num)
+ {
+ char **new_list;
+
+ max_num += 100;
+ new_list = (char **)SLrealloc ((char *)list, max_num * sizeof (char *));
+ if (new_list == NULL)
+ goto return_error;
+
+ list = new_list;
+ }
+
+ file = SLang_create_slstring (file);
+ if (file == NULL)
+ goto return_error;
+
+ list[num] = file;
+ num++;
+ }
+
+#ifdef __WIN32__
+ if (FALSE == FindNextFile(h, &fd))
+ {
+ if (ERROR_NO_MORE_FILES == GetLastError())
+ {
+ FindClose (h);
+ break;
+ }
+
+ _SLerrno_errno = errno;
+ FindClose (h);
+ goto return_error;
+ }
+#else
+ cFileNames = 1;
+ rc = DosFindNext(h, &fd, sizeof(fd), &cFileNames);
+ if (rc != 0)
+ {
+ if (rc == ERROR_NO_MORE_FILES)
+ {
+ DosFindClose (h);
+ break;
+ }
+
+ _SLerrno_errno = errno;
+ DosFindClose (h);
+ goto return_error;
+ }
+#endif
+ }
+
+ SLfree (pat);
+ *maxnum = max_num;
+ *nump = num;
+ *listp = list;
+ return 0;
+
+ return_error:
+ free_dir_list (list, num);
+ SLfree (pat);
+ return -1;
+}
+
+#else /* NOT __WIN32__ */
+
+static int build_dirlist (char *dir, char *opt, char ***listp, unsigned int *nump, unsigned int *maxnum)
+{
+ DIR *dp;
+ struct dirent *ep;
+ unsigned int num_files;
+ unsigned int max_num_files;
+ char **list;
+
+ (void) opt;
+
+ if (NULL == (dp = opendir (dir)))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+
+ num_files = max_num_files = 0;
+ list = NULL;
+ while (NULL != (ep = readdir (dp)))
+ {
+ unsigned int len;
+ char *name;
+
+ name = ep->d_name;
+# ifdef NEED_D_NAMLEN
+ len = ep->d_namlen;
+# else
+ len = strlen (name);
+# endif
+ if ((*name == '.') && (len <= 2))
+ {
+ if (len == 1) continue;
+ if (name [1] == '.') continue;
+ }
+
+ if (num_files == max_num_files)
+ {
+ char **new_list;
+
+ max_num_files += 100;
+ if (NULL == (new_list = (char **) SLrealloc ((char *)list, max_num_files * sizeof(char *))))
+ goto return_error;
+
+ list = new_list;
+ }
+
+ if (NULL == (list[num_files] = SLang_create_nslstring (name, len)))
+ goto return_error;
+
+ num_files++;
+ }
+
+ closedir (dp);
+ *nump = num_files;
+ *maxnum = max_num_files;
+ *listp = list;
+ return 0;
+
+ return_error:
+ if (dp != NULL)
+ closedir (dp);
+ free_dir_list (list, num_files);
+ return -1;
+}
+# endif /* NOT __WIN32__ */
+
+static void listdir_cmd (char *dir, char *opt)
+{
+ SLang_Array_Type *at;
+ unsigned int num_files;
+ unsigned int max_num_files;
+ int inum_files;
+ char **list;
+
+ if (-1 == build_dirlist (dir, opt, &list, &num_files, &max_num_files))
+ {
+ SLang_push_null ();
+ return;
+ }
+ /* If max_num_files == 0, then num_files == 0 and list == NULL.
+ * The realloc step below will malloc list for us.
+ */
+ if (num_files + 1 < max_num_files)
+ {
+ char **new_list;
+ if (NULL == (new_list = (char **) SLrealloc ((char *)list, (num_files + 1)* sizeof(char*))))
+ {
+ free_dir_list (list, num_files);
+ SLang_push_null ();
+ return;
+ }
+ list = new_list;
+ }
+
+ inum_files = (int) num_files;
+ if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_files, 1)))
+ {
+ free_dir_list (list, num_files);
+ SLang_push_null ();
+ return;
+ }
+
+ /* Allow the array to free this list if push fails */
+ if (-1 == SLang_push_array (at, 1))
+ SLang_push_null ();
+}
+
+static void listdir_cmd_wrap (void)
+{
+ char *s, *sopt;
+
+ sopt = NULL;
+ switch (SLang_Num_Function_Args)
+ {
+ case 2:
+ if (-1 == SLang_pop_slstring (&sopt))
+ return;
+ case 1:
+ if (-1 == SLang_pop_slstring (&s))
+ {
+ SLang_free_slstring (sopt);
+ return;
+ }
+ break;
+ default:
+ SLang_verror (SL_INVALID_PARM, "usage: listdir (string, [opt-string]");
+ return;
+ }
+
+ listdir_cmd (s, sopt);
+ SLang_free_slstring (s);
+ SLang_free_slstring (sopt);
+}
+
+#endif /* USE_LISTDIR_INTRINSIC */
+
+#ifdef HAVE_UMASK
+static int umask_cmd (int *u)
+{
+ return umask (*u);
+}
+#endif
+
+static SLang_Intrin_Fun_Type PosixDir_Name_Table [] =
+{
+#ifdef HAVE_READLINK
+ MAKE_INTRINSIC_S("readlink", readlink_cmd, SLANG_VOID_TYPE),
+#endif
+ MAKE_INTRINSIC_S("lstat_file", lstat_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("stat_file", stat_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SI("stat_is", stat_is_cmd, SLANG_CHAR_TYPE),
+#ifdef HAVE_MKFIFO
+ MAKE_INTRINSIC_SI("mkfifo", mkfifo_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_CHOWN
+ MAKE_INTRINSIC_SII("chown", chown_cmd, SLANG_INT_TYPE),
+#endif
+ MAKE_INTRINSIC_SI("chmod", chmod_cmd, SLANG_INT_TYPE),
+#ifdef HAVE_UMASK
+ MAKE_INTRINSIC_I("umask", umask_cmd, SLANG_INT_TYPE),
+#endif
+ MAKE_INTRINSIC_0("getcwd", slget_cwd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SI("mkdir", mkdir_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("chdir", chdir_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("rmdir", rmdir_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("remove", remove_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SS("rename", rename_cmd, SLANG_INT_TYPE),
+#if USE_LISTDIR_INTRINSIC
+ MAKE_INTRINSIC("listdir", listdir_cmd_wrap, SLANG_VOID_TYPE, 0),
+#endif
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+static SLang_IConstant_Type PosixDir_Consts [] =
+{
+#ifndef S_IRWXU
+# define S_IRWXU 00700
+#endif
+ MAKE_ICONSTANT("S_IRWXU", S_IRWXU),
+#ifndef S_IRUSR
+# define S_IRUSR 00400
+#endif
+ MAKE_ICONSTANT("S_IRUSR", S_IRUSR),
+#ifndef S_IWUSR
+# define S_IWUSR 00200
+#endif
+ MAKE_ICONSTANT("S_IWUSR", S_IWUSR),
+#ifndef S_IXUSR
+# define S_IXUSR 00100
+#endif
+ MAKE_ICONSTANT("S_IXUSR", S_IXUSR),
+#ifndef S_IRWXG
+# define S_IRWXG 00070
+#endif
+ MAKE_ICONSTANT("S_IRWXG", S_IRWXG),
+#ifndef S_IRGRP
+# define S_IRGRP 00040
+#endif
+ MAKE_ICONSTANT("S_IRGRP", S_IRGRP),
+#ifndef S_IWGRP
+# define S_IWGRP 00020
+#endif
+ MAKE_ICONSTANT("S_IWGRP", S_IWGRP),
+#ifndef S_IXGRP
+# define S_IXGRP 00010
+#endif
+ MAKE_ICONSTANT("S_IXGRP", S_IXGRP),
+#ifndef S_IRWXO
+# define S_IRWXO 00007
+#endif
+ MAKE_ICONSTANT("S_IRWXO", S_IRWXO),
+#ifndef S_IROTH
+# define S_IROTH 00004
+#endif
+ MAKE_ICONSTANT("S_IROTH", S_IROTH),
+#ifndef S_IWOTH
+# define S_IWOTH 00002
+#endif
+ MAKE_ICONSTANT("S_IWOTH", S_IWOTH),
+#ifndef S_IXOTH
+# define S_IXOTH 00001
+#endif
+ MAKE_ICONSTANT("S_IXOTH", S_IXOTH),
+#ifdef __WIN32__
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_ARCHIVE", FILE_ATTRIBUTE_ARCHIVE),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_COMPRESSED", FILE_ATTRIBUTE_COMPRESSED),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_NORMAL", FILE_ATTRIBUTE_NORMAL),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_DIRECTORY", FILE_ATTRIBUTE_DIRECTORY),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_HIDDEN", FILE_ATTRIBUTE_HIDDEN),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_READONLY", FILE_ATTRIBUTE_READONLY),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_SYSTEM", FILE_ATTRIBUTE_SYSTEM),
+ MAKE_ICONSTANT("FILE_ATTRIBUTE_TEMPORARY", FILE_ATTRIBUTE_TEMPORARY),
+#endif
+ SLANG_END_ICONST_TABLE
+};
+
+static int Initialized;
+
+int SLang_init_posix_dir (void)
+{
+ if (Initialized)
+ return 0;
+
+ if ((-1 == SLadd_intrin_fun_table(PosixDir_Name_Table, "__POSIX_DIR__"))
+ || (-1 == SLadd_iconstant_table (PosixDir_Consts, NULL))
+ || (-1 == _SLerrno_init ()))
+ return -1;
+
+ Initialized = 1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slposio.c b/mdk-stage1/slang/slposio.c
new file mode 100644
index 000000000..ab1e9f689
--- /dev/null
+++ b/mdk-stage1/slang/slposio.c
@@ -0,0 +1,568 @@
+/* This module implements an interface to posix system calls */
+/* file stdio intrinsics for S-Lang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
+# include <sys/fcntl.h>
+#endif
+
+#ifdef __unix__
+# include <sys/file.h>
+#endif
+
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
+
+#if defined(__BORLANDC__)
+# include <dir.h>
+#endif
+
+#if defined(__DECC) && defined(VMS)
+# include <unixio.h>
+# include <unixlib.h>
+#endif
+
+#ifdef VMS
+# include <stat.h>
+#else
+# include <sys/stat.h>
+#endif
+
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+struct _SLFile_FD_Type
+{
+ char *name;
+ unsigned int num_refs; /* reference counting */
+ int fd;
+ SLang_MMT_Type *stdio_mmt; /* fdopen'd stdio object */
+
+ /* methods */
+ int (*close)(int);
+ int (*read) (int, char *, unsigned int *);
+ int (*write)(int, char *, unsigned int *);
+};
+
+static int close_method (int fd)
+{
+ return close (fd);
+}
+
+static int write_method (int fd, char *buf, unsigned int *nump)
+{
+ int num;
+
+ if (-1 == (num = write (fd, buf, *nump)))
+ {
+ *nump = 0;
+ return -1;
+ }
+
+ *nump = (unsigned int) num;
+ return 0;
+}
+
+static int read_method (int fd, char *buf, unsigned int *nump)
+{
+ int num;
+
+ num = read (fd, buf, *nump);
+ if (num == -1)
+ {
+ *nump = 0;
+ return -1;
+ }
+ *nump = (unsigned int) num;
+ return 0;
+}
+
+static int check_fd (int fd)
+{
+ if (fd == -1)
+ {
+#ifdef EBADF
+ _SLerrno_errno = EBADF;
+#endif
+ return -1;
+ }
+
+ return 0;
+}
+
+static int posix_close (SLFile_FD_Type *f)
+{
+ if (-1 == check_fd (f->fd))
+ return -1;
+
+ if ((f->close != NULL)
+ && (-1 == f->close (f->fd)))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+
+ if (f->stdio_mmt != NULL)
+ {
+ SLang_free_mmt (f->stdio_mmt);
+ f->stdio_mmt = NULL;
+ }
+
+ f->fd = -1;
+ return 0;
+}
+
+/* Usage: Uint write (f, buf); */
+static void posix_write (SLFile_FD_Type *f, SLang_BString_Type *bstr)
+{
+ unsigned int len;
+ char *p;
+
+ if ((-1 == check_fd (f->fd))
+ || (NULL == (p = (char *)SLbstring_get_pointer (bstr, &len))))
+ {
+ SLang_push_integer (-1);
+ return;
+ }
+
+ if (-1 == f->write (f->fd, p, &len))
+ {
+ _SLerrno_errno = errno;
+ SLang_push_integer (-1);
+ return;
+ }
+
+ (void) SLang_push_uinteger (len);
+}
+
+/* Usage: nn = read (f, &buf, n); */
+static void posix_read (SLFile_FD_Type *f, SLang_Ref_Type *ref, unsigned int *nbytes)
+{
+ unsigned int len;
+ char *b;
+ SLang_BString_Type *bstr;
+
+ b = NULL;
+
+ len = *nbytes;
+ if ((-1 == check_fd (f->fd))
+ || (NULL == (b = SLmalloc (len + 1))))
+ goto return_error;
+
+ if (-1 == f->read (f->fd, b, &len))
+ {
+ _SLerrno_errno = errno;
+ goto return_error;
+ }
+
+ if (len != *nbytes)
+ {
+ char *b1 = SLrealloc (b, len + 1);
+ if (b1 == NULL)
+ goto return_error;
+ b = b1;
+ }
+
+ bstr = SLbstring_create_malloced ((unsigned char *) b, len, 0);
+ if (bstr != NULL)
+ {
+ if ((-1 != SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bstr))
+ && (-1 != SLang_push_uinteger (len)))
+ return;
+
+ SLbstring_free (bstr);
+ b = NULL;
+ /* drop */
+ }
+
+ return_error:
+ if (b != NULL) SLfree ((char *)b);
+ (void) SLang_assign_to_ref (ref, SLANG_NULL_TYPE, NULL);
+ (void) SLang_push_integer (-1);
+}
+
+SLFile_FD_Type *SLfile_create_fd (char *name, int fd)
+{
+ SLFile_FD_Type *f;
+
+ if (NULL == (f = (SLFile_FD_Type *) SLmalloc (sizeof (SLFile_FD_Type))))
+ return NULL;
+
+ memset ((char *) f, 0, sizeof (SLFile_FD_Type));
+ if (NULL == (f->name = SLang_create_slstring (name)))
+ {
+ SLfree ((char *)f);
+ return NULL;
+ }
+
+ f->fd = fd;
+ f->num_refs = 1;
+
+ f->close = close_method;
+ f->read = read_method;
+ f->write = write_method;
+
+ return f;
+}
+
+SLFile_FD_Type *SLfile_dup_fd (SLFile_FD_Type *f0)
+{
+ SLFile_FD_Type *f;
+ int fd0, fd;
+
+ if (f0 == NULL)
+ return NULL;
+ fd0 = f0->fd;
+ if (-1 == check_fd (fd0))
+ return NULL;
+
+ while (-1 == (fd = dup (fd0)))
+ {
+#ifdef EINTR
+ if (errno == EINTR)
+ continue;
+#endif
+ _SLerrno_errno = errno;
+ return NULL;
+ }
+
+ if (NULL == (f = SLfile_create_fd (f0->name, fd)))
+ {
+ f0->close (fd);
+ return NULL;
+ }
+
+ return f;
+}
+
+int SLfile_get_fd (SLFile_FD_Type *f, int *fd)
+{
+ if (f == NULL)
+ return -1;
+
+ *fd = f->fd;
+ if (-1 == check_fd (*fd))
+ return -1;
+
+ return 0;
+}
+
+void SLfile_free_fd (SLFile_FD_Type *f)
+{
+ if (f == NULL)
+ return;
+
+ if (f->num_refs > 1)
+ {
+ f->num_refs -= 1;
+ return;
+ }
+
+ if (f->fd != -1)
+ {
+ if (f->close != NULL)
+ (void) f->close (f->fd);
+
+ f->fd = -1;
+ }
+
+ if (f->stdio_mmt != NULL)
+ SLang_free_mmt (f->stdio_mmt);
+
+ SLfree ((char *) f);
+}
+
+static int pop_string_int (char **s, int *i)
+{
+ *s = NULL;
+ if ((-1 == SLang_pop_integer (i))
+ || (-1 == SLang_pop_slstring (s)))
+ return -1;
+
+ return 0;
+}
+
+static int pop_string_int_int (char **s, int *a, int *b)
+{
+ *s = NULL;
+ if ((-1 == SLang_pop_integer (b))
+ || (-1 == pop_string_int (s, a)))
+ return -1;
+
+ return 0;
+}
+
+static void posix_open (void)
+{
+ char *file;
+ int mode, flags;
+ SLFile_FD_Type *f;
+
+ switch (SLang_Num_Function_Args)
+ {
+ case 3:
+ if (-1 == pop_string_int_int (&file, &flags, &mode))
+ {
+ SLang_push_null ();
+ return;
+ }
+ break;
+
+ case 2:
+ default:
+ if (-1 == pop_string_int (&file, &flags))
+ return;
+ mode = 0777;
+ break;
+ }
+
+ f = SLfile_create_fd (file, -1);
+ if (f == NULL)
+ {
+ SLang_free_slstring (file);
+ SLang_push_null ();
+ return;
+ }
+ SLang_free_slstring (file);
+
+ if (-1 == (f->fd = open (f->name, flags, mode)))
+ {
+ _SLerrno_errno = errno;
+ SLfile_free_fd (f);
+ SLang_push_null ();
+ return;
+ }
+
+ if (-1 == SLfile_push_fd (f))
+ SLang_push_null ();
+ SLfile_free_fd (f);
+}
+
+static void posix_fileno (void)
+{
+ FILE *fp;
+ SLang_MMT_Type *mmt;
+ int fd;
+ SLFile_FD_Type *f;
+ char *name;
+
+ if (-1 == SLang_pop_fileptr (&mmt, &fp))
+ {
+ SLang_push_null ();
+ return;
+ }
+ name = SLang_get_name_from_fileptr (mmt);
+ fd = fileno (fp);
+
+ f = SLfile_create_fd (name, fd);
+ if (f != NULL)
+ f->close = NULL; /* prevent fd from being closed
+ * when it goes out of scope
+ */
+ SLang_free_mmt (mmt);
+
+ if (-1 == SLfile_push_fd (f))
+ SLang_push_null ();
+ SLfile_free_fd (f);
+}
+
+static void posix_fdopen (SLFile_FD_Type *f, char *mode)
+{
+ if (f->stdio_mmt == NULL)
+ {
+ if (-1 == _SLstdio_fdopen (f->name, f->fd, mode))
+ return;
+
+ if (NULL == (f->stdio_mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
+ return;
+ }
+
+ (void) SLang_push_mmt (f->stdio_mmt);
+}
+
+static long posix_lseek (SLFile_FD_Type *f, long ofs, int whence)
+{
+ long status;
+
+ if (-1 == (status = lseek (f->fd, ofs, whence)))
+ _SLerrno_errno = errno;
+
+ return status;
+}
+
+static int posix_isatty (void)
+{
+ int ret;
+ SLFile_FD_Type *f;
+
+ if (SLang_peek_at_stack () == SLANG_FILE_PTR_TYPE)
+ {
+ SLang_MMT_Type *mmt;
+ FILE *fp;
+
+ if (-1 == SLang_pop_fileptr (&mmt, &fp))
+ return 0; /* invalid descriptor */
+
+ ret = isatty (fileno (fp));
+ SLang_free_mmt (mmt);
+ return ret;
+ }
+
+ if (-1 == SLfile_pop_fd (&f))
+ return 0;
+
+ ret = isatty (f->fd);
+ SLfile_free_fd (f);
+
+ return ret;
+}
+
+static void posix_dup (SLFile_FD_Type *f)
+{
+ if ((NULL == (f = SLfile_dup_fd (f)))
+ || (-1 == SLfile_push_fd (f)))
+ SLang_push_null ();
+
+ SLfile_free_fd (f);
+}
+
+#define I SLANG_INT_TYPE
+#define V SLANG_VOID_TYPE
+#define F SLANG_FILE_FD_TYPE
+#define B SLANG_BSTRING_TYPE
+#define R SLANG_REF_TYPE
+#define U SLANG_UINT_TYPE
+#define S SLANG_STRING_TYPE
+#define L SLANG_LONG_TYPE
+static SLang_Intrin_Fun_Type Fd_Name_Table [] =
+{
+ MAKE_INTRINSIC_0("fileno", posix_fileno, V),
+ MAKE_INTRINSIC_0("isatty", posix_isatty, I),
+ MAKE_INTRINSIC_0("open", posix_open, V),
+ MAKE_INTRINSIC_3("read", posix_read, V, F, R, U),
+ MAKE_INTRINSIC_3("lseek", posix_lseek, L, F, L, I),
+ MAKE_INTRINSIC_2("fdopen", posix_fdopen, V, F, S),
+ MAKE_INTRINSIC_2("write", posix_write, V, F, B),
+ MAKE_INTRINSIC_1("dup_fd", posix_dup, V, F),
+ MAKE_INTRINSIC_1("close", posix_close, I, F),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+#undef I
+#undef V
+#undef F
+#undef B
+#undef R
+#undef S
+#undef L
+#undef U
+
+static SLang_IConstant_Type PosixIO_Consts [] =
+{
+#ifdef O_RDONLY
+ MAKE_ICONSTANT("O_RDONLY", O_RDONLY),
+#endif
+#ifdef O_WRONLY
+ MAKE_ICONSTANT("O_WRONLY", O_WRONLY),
+#endif
+#ifdef O_RDWR
+ MAKE_ICONSTANT("O_RDWR", O_RDWR),
+#endif
+#ifdef O_APPEND
+ MAKE_ICONSTANT("O_APPEND", O_APPEND),
+#endif
+#ifdef O_CREAT
+ MAKE_ICONSTANT("O_CREAT", O_CREAT),
+#endif
+#ifdef O_EXCL
+ MAKE_ICONSTANT("O_EXCL", O_EXCL),
+#endif
+#ifdef O_NOCTTY
+ MAKE_ICONSTANT("O_NOCTTY", O_NOCTTY),
+#endif
+#ifdef O_NONBLOCK
+ MAKE_ICONSTANT("O_NONBLOCK", O_NONBLOCK),
+#endif
+#ifdef O_TRUNC
+ MAKE_ICONSTANT("O_TRUNC", O_TRUNC),
+#endif
+#ifndef O_BINARY
+# define O_BINARY 0
+#endif
+ MAKE_ICONSTANT("O_BINARY", O_BINARY),
+#ifndef O_TEXT
+# define O_TEXT 0
+#endif
+ MAKE_ICONSTANT("O_TEXT", O_TEXT),
+
+ SLANG_END_ICONST_TABLE
+};
+
+int SLfile_push_fd (SLFile_FD_Type *f)
+{
+ if (f == NULL)
+ return SLang_push_null ();
+
+ f->num_refs += 1;
+
+ if (0 == SLclass_push_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR) f))
+ return 0;
+
+ f->num_refs -= 1;
+
+ return -1;
+}
+
+int SLfile_pop_fd (SLFile_FD_Type **f)
+{
+ return SLclass_pop_ptr_obj (SLANG_FILE_FD_TYPE, (VOID_STAR *) f);
+}
+
+static void destroy_fd_type (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ SLfile_free_fd (*(SLFile_FD_Type **) ptr);
+}
+
+static int fd_push (unsigned char type, VOID_STAR v)
+{
+ (void) type;
+ return SLfile_push_fd (*(SLFile_FD_Type **)v);
+}
+
+int SLang_init_posix_io (void)
+{
+ SLang_Class_Type *cl;
+
+ if (NULL == (cl = SLclass_allocate_class ("FD_Type")))
+ return -1;
+ cl->cl_destroy = destroy_fd_type;
+ (void) SLclass_set_push_function (cl, fd_push);
+
+ if (-1 == SLclass_register_class (cl, SLANG_FILE_FD_TYPE, sizeof (SLFile_FD_Type), SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ if ((-1 == SLadd_intrin_fun_table(Fd_Name_Table, "__POSIXIO__"))
+ || (-1 == SLadd_iconstant_table (PosixIO_Consts, NULL))
+ || (-1 == _SLerrno_init ()))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slprepr.c b/mdk-stage1/slang/slprepr.c
new file mode 100644
index 000000000..358eeb874
--- /dev/null
+++ b/mdk-stage1/slang/slprepr.c
@@ -0,0 +1,427 @@
+/* Copyright (c) 1996, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/*--------------------------------*-C-*---------------------------------*
+ * File: slprepr.c
+ *
+ * preprocessing routines
+ */
+/*{{{ notes: */
+/*
+ * various preprocessing tokens supported
+ *
+ * #ifdef TOKEN1 TOKEN2 ...
+ * - True if any of TOKEN1 TOKEN2 ... are defined
+ *
+ * #ifndef TOKEN1 TOKEN2 ...
+ * - True if none of TOKEN1 TOKEN2 ... are defined
+ *
+ * #iftrue
+ * #ifnfalse
+ * - always True
+ *
+ * #iffalse
+ * #ifntrue
+ * - always False
+ *
+ * #if$ENV
+ * - True if the enviroment variable ENV is set
+ *
+ * #ifn$ENV
+ * - True if the enviroment variable ENV is not set
+ *
+ * #if$ENV TOKEN1 TOKEN2 ...
+ * - True if the contents of enviroment variable ENV match
+ * any of TOKEN1 TOKEN2 ...
+ *
+ * #ifn$ENV TOKEN1 TOKEN2 ...
+ * - True if the contents of enviroment variable ENV do not match
+ * any of TOKEN1 TOKEN2 ...
+ *
+ * NB: For $ENV, the tokens may contain wildcard characters:
+ * '?' - match any single character
+ * '*' - match any number of characters
+ *
+ * #elif...
+ * #else
+ * #endif
+ *
+ *
+ * mj olesen
+ *----------------------------------------------------------------------*/
+/*}}}*/
+/*{{{ includes: */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+/*}}}*/
+
+int (*SLprep_exists_hook) (char *, char);
+int (*_SLprep_eval_hook) (char *);
+
+/*{{{ SLprep_open_prep (), SLprep_close_prep () */
+int SLprep_open_prep (SLPreprocess_Type *pt)
+{
+ pt->this_level = 0;
+ pt->exec_level = 0;
+ pt->prev_exec_level = 0;
+ pt->comment_char = '%';
+ pt->preprocess_char = '#';
+ pt->flags = 0;
+ return 0;
+}
+
+void SLprep_close_prep (SLPreprocess_Type *pt)
+{
+ (void) pt;
+}
+/*}}}*/
+
+/*{{{ SLwildcard () */
+/*----------------------------------------------------------------------*
+ * Does `string' match `pattern' ?
+ *
+ * '*' in pattern matches any sub-string (including the null string)
+ * '?' matches any single char.
+ *
+ * Code taken from that donated by Paul Hudson <paulh@harlequin.co.uk>
+ * to the fvwm project.
+ * It is public domain, no strings attached. No guarantees either.
+ *----------------------------------------------------------------------*/
+static int SLwildcard (char *pattern, char *string)
+{
+ if (pattern == NULL || *pattern == '\0' || !strcmp (pattern, "*"))
+ return 1;
+ else if (string == NULL)
+ return 0;
+
+ while (*pattern && *string) switch (*pattern)
+ {
+ case '?':
+ /* match any single character */
+ pattern++;
+ string++;
+ break;
+
+ case '*':
+ /* see if rest of pattern matches any trailing */
+ /* substring of the string. */
+ if (*++pattern == '\0')
+ return 1; /* trailing * must match rest */
+
+ while (*string)
+ {
+ if (SLwildcard (pattern, string)) return 1;
+ string++;
+ }
+ return 0;
+
+ /* break; */
+
+ default:
+ if (*pattern == '\\')
+ {
+ if (*++pattern == '\0')
+ pattern--; /* don't skip trailing backslash */
+ }
+ if (*pattern++ != *string++) return 0;
+ break;
+ }
+
+ return ((*string == '\0')
+ && ((*pattern == '\0') || !strcmp (pattern, "*")));
+}
+/*}}}*/
+
+#if defined(__16_BIT_SYSTEM__)
+# define MAX_DEFINES 10
+#else
+# define MAX_DEFINES 128
+#endif
+
+/* The extra one is for NULL termination */
+char *_SLdefines [MAX_DEFINES + 1];
+
+int SLdefine_for_ifdef (char *s) /*{{{*/
+{
+ unsigned int i;
+
+ for (i = 0; i < MAX_DEFINES; i++)
+ {
+ char *s1 = _SLdefines [i];
+
+ if (s1 == s)
+ return 0; /* already defined (hashed string) */
+
+ if (s1 != NULL)
+ continue;
+
+ s = SLang_create_slstring (s);
+ if (s == NULL)
+ return -1;
+
+ _SLdefines[i] = s;
+ return 0;
+ }
+ return -1;
+}
+/*}}}*/
+
+/*{{{ static functions */
+static int is_any_defined(char *buf, char comment) /*{{{*/
+{
+ char *sys;
+ unsigned int i;
+
+ while (1)
+ {
+ register char ch;
+
+ /* Skip whitespace */
+ while (((ch = *buf) == ' ') || (ch == '\t'))
+ buf++;
+
+ if ((ch == '\n') || (ch == 0) || (ch == comment))
+ return 0;
+
+ i = 0;
+ while (NULL != (sys = _SLdefines [i++]))
+ {
+ unsigned int n;
+
+ if (*sys != ch)
+ continue;
+
+ n = strlen (sys);
+ if (0 == strncmp (buf, sys, n))
+ {
+ char ch1 = *(buf + n);
+
+ if ((ch1 == '\n') || (ch1 == 0) ||
+ (ch1 == ' ') || (ch1 == '\t') || (ch1 == comment))
+ return 1;
+ }
+ }
+
+ /* Skip past word */
+ while (((ch = *buf) != ' ')
+ && (ch != '\n')
+ && (ch != 0)
+ && (ch != '\t')
+ && (ch != comment))
+ buf++;
+ }
+}
+/*}}}*/
+
+static unsigned char *tokenize (unsigned char *buf, char *token, unsigned int len)
+{
+ register char *token_end;
+
+ token_end = token + (len - 1); /* allow room for \0 */
+
+ while ((token < token_end) && (*buf > ' '))
+ *token++ = *buf++;
+
+ if (*buf > ' ') return NULL; /* token too long */
+
+ *token = '\0';
+
+ while ((*buf == ' ') || (*buf == '\t')) buf++;
+
+ return buf;
+}
+
+static int is_env_defined (char *buf, char comment) /*{{{*/
+{
+ char * env, token [32];
+
+ if ((*buf <= ' ') || (*buf == comment)) return 0; /* no token */
+
+ if (NULL == (buf = (char *) tokenize ((unsigned char *) buf,
+ token, sizeof (token))))
+ return 0;
+
+ if (NULL == (env = getenv (token)))
+ return 0; /* ENV not defined */
+
+ if ((*buf == '\0') || (*buf == '\n') || (*buf == comment))
+ return 1; /* no tokens, but getenv() worked */
+
+ do
+ {
+ buf = (char *) tokenize ((unsigned char *) buf, token, sizeof (token));
+ if (buf == NULL) return 0;
+
+ if (SLwildcard (token, env))
+ return 1;
+ }
+ while (*buf && (*buf != '\n') && (*buf != comment));
+
+ return 0;
+}
+/*}}}*/
+/*}}}*/
+
+int SLprep_line_ok (char *buf, SLPreprocess_Type *pt) /*{{{*/
+{
+ int level, prev_exec_level, exec_level;
+
+ if ((buf == NULL) || (pt == NULL)) return 1;
+
+ if (*buf != pt->preprocess_char)
+ {
+ if (pt->this_level != pt->exec_level)
+ return 0;
+
+ if (*buf == '\n') return pt->flags & SLPREP_BLANK_LINES_OK;
+ if (*buf == pt->comment_char) return pt->flags & SLPREP_COMMENT_LINES_OK;
+
+ return 1;
+ }
+
+ level = pt->this_level;
+ exec_level = pt->exec_level;
+ prev_exec_level = pt->prev_exec_level;
+
+ buf++;
+
+ /* Allow '#!' to pass. This could be a shell script with something
+ like '#! /local/bin/slang' */
+ if ((*buf == '!') && (pt->preprocess_char == '#'))
+ return 0;
+
+ /* Allow whitespace as in '# ifdef' */
+ while ((*buf == ' ') || (*buf == '\t')) buf++;
+ if (*buf < 'a') return (level == exec_level);
+
+ if (!strncmp(buf, "endif", 5))
+ {
+ if (level == exec_level)
+ {
+ exec_level--;
+ prev_exec_level = exec_level;
+ }
+ level--;
+ if (level < prev_exec_level) prev_exec_level = level;
+ goto done;
+ }
+
+ if ((buf[0] == 'e') && (buf[1] == 'l')) /* else, elifdef, ... */
+ {
+ if ((level == exec_level + 1)
+ && (prev_exec_level != level))
+ {
+ /* We are in position to execute */
+ buf += 2;
+ if ((buf[0] == 's') && (buf[1] == 'e'))
+ {
+ /* "else" */
+ exec_level = level;
+ goto done;
+ }
+
+ /* drop through to ifdef testing. First set variable
+ * to values appropriate for ifdef testing.
+ */
+ level--; /* now == to exec level */
+ }
+ else
+ {
+ if (level == exec_level)
+ {
+ exec_level--;
+ }
+ goto done;
+ }
+ }
+
+ if ((buf[0] == 'i') && (buf[1] == 'f'))
+ {
+ int truth;
+
+ if (level != exec_level)
+ {
+ /* Not interested */
+ level++;
+ goto done;
+ }
+
+ level++;
+
+ buf += 2;
+ if (buf[0] == 'n')
+ {
+ truth = 0;
+ buf++;
+ }
+ else truth = 1;
+
+ if (!strncmp (buf, "def", 3))
+ truth = (truth == is_any_defined(buf + 3, pt->comment_char));
+
+ else if (!strncmp (buf, "false", 5))
+ truth = !truth;
+
+ else if (*buf == '$')
+ truth = (truth == is_env_defined (buf + 1, pt->comment_char));
+
+ else if (!strncmp (buf, "exists", 6)
+ && (SLprep_exists_hook != NULL))
+ truth = (truth == (*SLprep_exists_hook)(buf + 6, pt->comment_char));
+
+ else if (!strncmp (buf, "eval", 4)
+ && (_SLprep_eval_hook != NULL))
+ truth = (truth == (*_SLprep_eval_hook) (buf + 4));
+
+ else if (0 != strncmp (buf, "true", 4))
+ return 1; /* let it bomb */
+
+ if (truth)
+ {
+ exec_level = level;
+ prev_exec_level = exec_level;
+ }
+ }
+ else return 1; /* let it bomb. */
+
+ done:
+
+ if (exec_level < 0) return 1;
+
+ pt->this_level = level;
+ pt->exec_level = exec_level;
+ pt->prev_exec_level = prev_exec_level;
+ return 0;
+}
+/*}}}*/
+
+/*{{{ main() - for testing only */
+#if 0
+int main ()
+{
+ char buf[1024];
+ SLPreprocess_Type pt;
+
+ SLprep_open_prep (&pt);
+
+ SLdefine_for_ifdef ("UNIX");
+
+ while (NULL != fgets (buf, sizeof (buf) - 1, stdin))
+ {
+ if (SLprep_line_ok (buf, &pt))
+ {
+ fputs (buf, stdout);
+ }
+ }
+
+ SLprep_close_prep (&pt);
+ return 0;
+}
+#endif
+/*}}}*/
diff --git a/mdk-stage1/slang/slproc.c b/mdk-stage1/slang/slproc.c
new file mode 100644
index 000000000..8b266f28f
--- /dev/null
+++ b/mdk-stage1/slang/slproc.c
@@ -0,0 +1,155 @@
+/* Process specific system calls */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#ifdef HAVE_IO_H
+# include <io.h> /* for chmod */
+#endif
+
+#ifdef HAVE_PROCESS_H
+# include <process.h> /* for getpid */
+#endif
+
+#if defined(__BORLANDC__)
+# include <dos.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <time.h>
+
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef HAVE_KILL
+static int kill_cmd (int *pid, int *sig)
+{
+ int ret;
+
+ if (-1 == (ret = kill ((pid_t) *pid, *sig)))
+ _SLerrno_errno = errno;
+ return ret;
+}
+#endif
+
+static int getpid_cmd (void)
+{
+ return getpid ();
+}
+
+#ifdef HAVE_GETPPID
+static int getppid_cmd (void)
+{
+ return getppid ();
+}
+#endif
+
+#ifdef HAVE_GETGID
+static int getgid_cmd (void)
+{
+ return getgid ();
+}
+#endif
+
+#ifdef HAVE_GETEGID
+static int getegid_cmd (void)
+{
+ return getegid ();
+}
+#endif
+
+#ifdef HAVE_GETEUID
+static int geteuid_cmd (void)
+{
+ return geteuid ();
+}
+#endif
+
+#ifdef HAVE_GETUID
+static int getuid_cmd (void)
+{
+ return getuid ();
+}
+#endif
+
+#ifdef HAVE_SETGID
+static int setgid_cmd (int *gid)
+{
+ if (0 == setgid (*gid))
+ return 0;
+ _SLerrno_errno = errno;
+ return -1;
+}
+#endif
+
+#ifdef HAVE_SETPGID
+static int setpgid_cmd (int *pid, int *pgid)
+{
+ if (0 == setpgid (*pid, *pgid))
+ return 0;
+ _SLerrno_errno = errno;
+ return -1;
+}
+#endif
+
+#ifdef HAVE_SETUID
+static int setuid_cmd (int *uid)
+{
+ if (0 == setuid (*uid))
+ return 0;
+ _SLerrno_errno = errno;
+ return -1;
+}
+#endif
+
+static SLang_Intrin_Fun_Type Process_Name_Table[] =
+{
+ MAKE_INTRINSIC_0("getpid", getpid_cmd, SLANG_INT_TYPE),
+
+#ifdef HAVE_GETPPID
+ MAKE_INTRINSIC_0("getppid", getppid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_GETGID
+ MAKE_INTRINSIC_0("getgid", getgid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_GETEGID
+ MAKE_INTRINSIC_0("getegid", getegid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_GETEUID
+ MAKE_INTRINSIC_0("geteuid", geteuid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_GETUID
+ MAKE_INTRINSIC_0("getuid", getuid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_SETGID
+ MAKE_INTRINSIC_I("setgid", setgid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_SETPGID
+ MAKE_INTRINSIC_II("setpgid", setpgid_cmd, SLANG_INT_TYPE),
+#endif
+#ifdef HAVE_SETUID
+ MAKE_INTRINSIC_I("setuid", setuid_cmd, SLANG_INT_TYPE),
+#endif
+
+#ifdef HAVE_KILL
+ MAKE_INTRINSIC_II("kill", kill_cmd, SLANG_INT_TYPE),
+#endif
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int SLang_init_posix_process (void)
+{
+ if ((-1 == SLadd_intrin_fun_table (Process_Name_Table, "__POSIX_PROCESS__"))
+ || (-1 == _SLerrno_init ()))
+ return -1;
+ return 0;
+}
diff --git a/mdk-stage1/slang/slregexp.c b/mdk-stage1/slang/slregexp.c
new file mode 100644
index 000000000..6592a5a63
--- /dev/null
+++ b/mdk-stage1/slang/slregexp.c
@@ -0,0 +1,935 @@
+/* ed style regular expressions */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#define SET_BIT(b, n) b[(unsigned int) (n) >> 3] |= 1 << ((unsigned int) (n) % 8)
+#define TEST_BIT(b, n) (b[(unsigned int)(n) >> 3] & (1 << ((unsigned int) (n) % 8)))
+#define LITERAL 1
+#define RANGE 2 /* [...] */
+#define ANY 3 /* . */
+#define BOL 4 /* ^ */
+#define EOL 5 /* $ */
+#define NTH_MATCH 6 /* \1 \2 ... \9 */
+#define OPAREN 7 /* \( */
+#define CPAREN 0x8 /* \) */
+#define ANY_DIGIT 0x9 /* \d */
+#define BOW 0xA /* \< */
+#define EOW 0xB /* \> */
+#if 0
+#define NOT_LITERAL 0xC /* \~ */
+#endif
+#define STAR 0x80 /* * */
+#define LEAST_ONCE 0x40 /* + */
+#define MAYBE_ONCE 0x20 /* ? */
+#define MANY 0x10 /* {n,m} */
+/* The rest are additions */
+#define YES_CASE (STAR | BOL)
+#define NO_CASE (STAR | EOL)
+
+#define UPPERCASE(x) (cs ? (x) : UPPER_CASE(x))
+#define LOWERCASE(x) (cs ? (x) : LOWER_CASE(x))
+
+static unsigned char Word_Chars[256];
+#define IS_WORD_CHAR(x) Word_Chars[(unsigned int) (x)]
+
+#if 0
+static int ctx->open_paren_number;
+static char Closed_Paren_Matches[10];
+
+static SLRegexp_Type *This_Reg;
+static unsigned char *This_Str;
+#endif
+
+typedef struct
+{
+ SLRegexp_Type *reg;
+ unsigned char *str;
+ unsigned int len;
+ char closed_paren_matches[10];
+ int open_paren_number;
+}
+Re_Context_Type;
+
+static unsigned char *do_nth_match (Re_Context_Type *ctx, int n, unsigned char *str, unsigned char *estr)
+{
+ unsigned char *bpos;
+
+ if (ctx->closed_paren_matches[n] == 0)
+ return NULL;
+
+ bpos = ctx->reg->beg_matches[n] + ctx->str;
+ n = ctx->reg->end_matches[n];
+ if (n == 0) return(str);
+ if (n > (int) (estr - str)) return (NULL);
+
+ /* This needs fixed for case sensitive match */
+ if (0 != strncmp((char *) str, (char *) bpos, (unsigned int) n)) return (NULL);
+ str += n;
+ return (str);
+}
+
+/* returns pointer to the end of regexp or NULL */
+static unsigned char *regexp_looking_at (Re_Context_Type *ctx, register unsigned char *str, unsigned char *estr, unsigned char *buf, register int cs)
+{
+ register unsigned char p, p1;
+ unsigned char *save_str, *tmpstr;
+ int n, n0, n1;
+ int save_num_open;
+ char save_closed_matches[10];
+
+ p = *buf++;
+
+ while (p != 0)
+ {
+ /* p1 = UPPERCASE(*buf); */
+ /* if (str < estr) c = UPPERCASE(*str); */
+
+ switch((unsigned char) p)
+ {
+ case BOW:
+ if ((str != ctx->str)
+ && ((str >= estr)
+ || IS_WORD_CHAR(*(str - 1))
+ || (0 == IS_WORD_CHAR(*str)))) return NULL;
+ break;
+
+ case EOW:
+ if ((str < estr)
+ && IS_WORD_CHAR (*str)) return NULL;
+ break;
+
+ case YES_CASE: cs = 1; break;
+ case NO_CASE: cs = 0; break;
+
+ case OPAREN:
+ ctx->open_paren_number++;
+ ctx->reg->beg_matches[ctx->open_paren_number] = (int) (str - ctx->str);
+ break;
+ case CPAREN:
+ n = ctx->open_paren_number;
+ while (n > 0)
+ {
+ if (ctx->closed_paren_matches[n] != 0)
+ {
+ n--;
+ continue;
+ }
+ ctx->closed_paren_matches[n] = 1;
+ ctx->reg->end_matches[n] = (unsigned int) (str - (ctx->str + ctx->reg->beg_matches[n]));
+ break;
+ }
+ break;
+#ifdef NOT_LITERAL
+ case NOT_LITERAL:
+ if ((str >= estr) || (*buf == UPPERCASE(*str))) return (NULL);
+ str++; buf++;
+ break;
+
+ case MAYBE_ONCE | NOT_LITERAL:
+ save_str = str;
+ if ((str < estr) && (*buf != UPPERCASE(*str))) str++;
+ buf++;
+ goto match_rest;
+
+ case NOT_LITERAL | LEAST_ONCE: /* match at least once */
+ if ((str >= estr) || (UPPERCASE(*str) == UPPERCASE(*buf))) return (NULL);
+ str++;
+ /* drop */
+ case STAR | NOT_LITERAL:
+ save_str = str; p1 = *buf;
+ while ((str < estr) && (UPPERCASE(*str) != p1)) str++;
+ buf++;
+ goto match_rest;
+
+ /* this type consists of the expression + two bytes that
+ determine number of matches to perform */
+ case MANY | NOT_LITERAL:
+ p1 = *buf; buf++;
+ n = n0 = (int) (unsigned char) *buf++;
+ /* minimum number to match--- could be 0 */
+ n1 = (int) (unsigned char) *buf++;
+ /* maximum number to match */
+
+ while (n && (str < estr) && (p1 != *str))
+ {
+ n--;
+ str++;
+ }
+ if (n) return (NULL);
+
+ save_str = str;
+ n = n1 - n0;
+ while (n && (str < estr) && (p1 != *str))
+ {
+ n--;
+ str++;
+ }
+ goto match_rest;
+#endif /* NOT_LITERAL */
+ case LITERAL:
+ if ((str >= estr) || (*buf != UPPERCASE(*str))) return (NULL);
+ str++; buf++;
+ break;
+
+ case MAYBE_ONCE | LITERAL:
+ save_str = str;
+ if ((str < estr) && (*buf == UPPERCASE(*str))) str++;
+ buf++;
+ goto match_rest;
+
+ case LITERAL | LEAST_ONCE: /* match at least once */
+ if ((str >= estr) || (UPPERCASE(*str) != UPPERCASE(*buf))) return (NULL);
+ str++;
+ /* drop */
+ case STAR | LITERAL:
+ save_str = str; p1 = *buf;
+ while ((str < estr) && (UPPERCASE(*str) == p1)) str++;
+ buf++;
+ goto match_rest;
+
+ /* this type consists of the expression + two bytes that
+ determine number of matches to perform */
+ case MANY | LITERAL:
+ p1 = *buf; buf++;
+ n = n0 = (int) (unsigned char) *buf++;
+ /* minimum number to match--- could be 0 */
+ n1 = (int) (unsigned char) *buf++;
+ /* maximum number to match */
+
+ while (n && (str < estr) && (p1 == *str))
+ {
+ n--;
+ str++;
+ }
+ if (n) return (NULL);
+
+ save_str = str;
+ n = n1 - n0;
+ while (n && (str < estr) && (p1 == *str))
+ {
+ n--;
+ str++;
+ }
+ goto match_rest;
+
+ case NTH_MATCH:
+ if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
+ buf++;
+ break;
+
+ case MAYBE_ONCE | NTH_MATCH:
+ save_str = str;
+ tmpstr = do_nth_match (ctx, (int) (unsigned char) *buf, str, estr);
+ buf++;
+ if (tmpstr != NULL)
+ {
+ str = tmpstr;
+ goto match_rest;
+ }
+ continue;
+
+ case LEAST_ONCE | NTH_MATCH:
+ if ((str = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)) == NULL) return(NULL);
+ /* drop */
+ case STAR | NTH_MATCH:
+ save_str = str;
+ while (NULL != (tmpstr = do_nth_match(ctx, (int) (unsigned char) *buf, str, estr)))
+ {
+ str = tmpstr;
+ }
+ buf++;
+ goto match_rest;
+
+ case MANY | NTH_MATCH: return(NULL);
+ /* needs done */
+
+ case RANGE:
+ if (str >= estr) return (NULL);
+ if (TEST_BIT(buf, UPPERCASE(*str)) == 0) return (NULL);
+ buf += 32; str++;
+ break;
+
+ case MAYBE_ONCE | RANGE:
+ save_str = str;
+ if ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
+ buf += 32;
+ goto match_rest;
+
+ case LEAST_ONCE | RANGE:
+ if ((str >= estr) || (0 == TEST_BIT(buf, UPPERCASE(*str)))) return NULL;
+ str++;
+ /* drop */
+ case STAR | RANGE:
+ save_str = str;
+ while ((str < estr) && TEST_BIT(buf, UPPERCASE(*str))) str++;
+ buf += 32;
+ goto match_rest;
+
+ /* The first 32 bytes correspond to the range and the two
+ * following bytes indicate the min and max number of matches.
+ */
+ case MANY | RANGE:
+ /* minimum number to match--- could be 0 */
+ n = n0 = (int) (unsigned char) *(buf + 32);
+ /* maximum number to match */
+ n1 = (int) (unsigned char) *(buf + 33);
+
+ while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
+ {
+ n--;
+ str++;
+ }
+ if (n) return (NULL);
+ save_str = str;
+ n = n1 - n0;
+ while (n && (str < estr) && (TEST_BIT(buf, UPPERCASE(*str))))
+ {
+ n--;
+ str++;
+ }
+ buf += 34; /* 32 + 2 */
+ goto match_rest;
+
+ case ANY_DIGIT:
+ if ((str >= estr) || (*str > '9') || (*str < '0')) return (NULL);
+ str++;
+ break;
+
+ case MAYBE_ONCE | ANY_DIGIT:
+ save_str = str;
+ if ((str < estr) && ((*str > '9') || (*str < '0'))) str++;
+ goto match_rest;
+
+ case LEAST_ONCE | ANY_DIGIT:
+ if ((str >= estr) || ((*str > '9') || (*str < '0'))) return NULL;
+ str++;
+ /* drop */
+ case STAR | ANY_DIGIT:
+ save_str = str;
+ while ((str < estr) && ((*str <= '9') && (*str >= '0'))) str++;
+ goto match_rest;
+
+ case MANY | ANY_DIGIT:
+ /* needs finished */
+ return (NULL);
+
+ case ANY:
+ if ((str >= estr) || (*str == '\n')) return (NULL);
+ str++;
+ break;
+
+ case MAYBE_ONCE | ANY:
+ save_str = str;
+ if ((str < estr) && (*str != '\n')) str++;
+ goto match_rest;
+
+ case LEAST_ONCE | ANY:
+ if ((str >= estr) || (*str == '\n')) return (NULL);
+ str++;
+ /* drop */
+ case STAR | ANY:
+ save_str = str;
+ while ((str < estr) && (*str != '\n')) str++;
+ goto match_rest;
+
+ case MANY | ANY:
+ return (NULL);
+ /* needs finished */
+
+ case EOL:
+ if ((str >= estr) || (*str == '\n')) return (str);
+ return(NULL);
+
+ default: return (NULL);
+ }
+ p = *buf++;
+ continue;
+
+ match_rest:
+ if (save_str == str)
+ {
+ p = *buf++;
+ continue;
+ }
+
+ /* if (p == EOL)
+ * {
+ * if (str < estr) return (NULL); else return (str);
+ * }
+ */
+
+ SLMEMCPY(save_closed_matches, ctx->closed_paren_matches, sizeof(save_closed_matches));
+ save_num_open = ctx->open_paren_number;
+ while (str >= save_str)
+ {
+ tmpstr = regexp_looking_at (ctx, str, estr, buf, cs);
+ if (tmpstr != NULL) return(tmpstr);
+ SLMEMCPY(ctx->closed_paren_matches, save_closed_matches, sizeof(ctx->closed_paren_matches));
+ ctx->open_paren_number = save_num_open;
+ str--;
+ }
+ return NULL;
+ }
+ if ((p != 0) && (p != EOL)) return (NULL); else return (str);
+}
+
+static void
+fixup_beg_end_matches (Re_Context_Type *ctx, SLRegexp_Type *r, unsigned char *str, unsigned char *epos)
+{
+ int i;
+
+ if (str == NULL)
+ {
+ r->beg_matches[0] = -1;
+ r->end_matches[0] = 0;
+ SLMEMSET(ctx->closed_paren_matches, 0, sizeof(ctx->closed_paren_matches));
+ }
+ else
+ {
+ r->beg_matches[0] = (int) (str - ctx->str);
+ r->end_matches[0] = (unsigned int) (epos - str);
+ }
+
+ for (i = 1; i < 10; i++)
+ {
+ if (ctx->closed_paren_matches [i] == 0)
+ {
+ r->beg_matches[i] = -1;
+ r->end_matches[i] = 0;
+ }
+ }
+}
+
+static void init_re_context (Re_Context_Type *ctx, SLRegexp_Type *reg,
+ unsigned char *str, unsigned int len)
+{
+ memset ((char *) ctx, 0, sizeof (Re_Context_Type));
+ ctx->reg = reg;
+ ctx->str = str;
+ ctx->len = len;
+}
+
+unsigned char *SLang_regexp_match(unsigned char *str,
+ unsigned int len, SLRegexp_Type *reg)
+{
+ register unsigned char c = 0, *estr = str + len;
+ int cs = reg->case_sensitive, lit = 0;
+ unsigned char *buf = reg->buf, *epos = NULL;
+ Re_Context_Type ctx_buf;
+
+ if (reg->min_length > len) return NULL;
+
+ init_re_context (&ctx_buf, reg, str, len);
+
+ if (*buf == BOL)
+ {
+ if (NULL == (epos = regexp_looking_at (&ctx_buf, str, estr, buf + 1, cs)))
+ str = NULL;
+
+ fixup_beg_end_matches (&ctx_buf, reg, str, epos);
+ return str;
+ }
+
+ if (*buf == NO_CASE)
+ {
+ buf++; cs = 0;
+ }
+
+ if (*buf == YES_CASE)
+ {
+ buf++; cs = 1;
+ }
+
+ if (*buf == LITERAL)
+ {
+ lit = 1;
+ c = *(buf + 1);
+ }
+ else if ((*buf == OPAREN) && (*(buf + 1) == LITERAL))
+ {
+ lit = 1;
+ c = *(buf + 2);
+ }
+
+ while (str < estr)
+ {
+ ctx_buf.open_paren_number = 0;
+ memset (ctx_buf.closed_paren_matches, 0, sizeof(ctx_buf.closed_paren_matches));
+ /* take care of leading chars */
+ if (lit)
+ {
+ while ((str < estr) && (c != UPPERCASE(*str))) str++;
+ if (str >= estr)
+ break; /* failed */
+ }
+
+ if (NULL != (epos = regexp_looking_at(&ctx_buf, str, estr, buf, cs)))
+ {
+ fixup_beg_end_matches (&ctx_buf, reg, str, epos);
+ return str;
+ }
+ str++;
+ }
+ fixup_beg_end_matches (&ctx_buf, reg, NULL, epos);
+ return NULL;
+}
+
+static unsigned char *convert_digit(unsigned char *pat, int *nn)
+{
+ int n = 0, m = 0;
+ unsigned char c;
+ while (c = (unsigned char) *pat, (c <= '9') && (c >= '0'))
+ {
+ pat++;
+ n = 10 * n + (c - '0');
+ m++;
+ }
+ if (m == 0)
+ {
+ return (NULL);
+ }
+ *nn = n;
+ return pat;
+}
+
+#define ERROR return (int) (pat - reg->pat)
+
+/* Returns 0 if successful or offset in pattern of error */
+int SLang_regexp_compile (SLRegexp_Type *reg)
+{
+ register unsigned char *buf, *ebuf, *pat;
+ unsigned char *last = NULL, *tmppat;
+ register unsigned char c;
+ int i, reverse = 0, n, cs;
+ int oparen = 0, nparen = 0;
+ /* substring stuff */
+ int count, last_count, this_max_mm = 0, max_mm = 0, ordinary_search,
+ no_osearch = 0, min_length = 0;
+ unsigned char *mm_p = NULL, *this_mm_p = NULL;
+ static int already_initialized;
+
+ reg->beg_matches[0] = reg->end_matches[0] = 0;
+ buf = reg->buf;
+ ebuf = (reg->buf + reg->buf_len) - 2; /* make some room */
+ pat = reg->pat;
+ cs = reg->case_sensitive;
+
+ if (already_initialized == 0)
+ {
+ SLang_init_case_tables ();
+#ifdef IBMPC_SYSTEM
+ SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\200-\232\240-\245\341-\353", 0);
+#else
+ SLmake_lut (Word_Chars, (unsigned char *) "_0-9a-zA-Z\277-\326\330-\336\340-\366\370-\376", 0);
+#endif
+ already_initialized = 1;
+ }
+
+ i = 1; while (i < 10)
+ {
+ reg->beg_matches[i] = -1;
+ reg->end_matches[i] = 0;
+ i++;
+ }
+
+ if (*pat == '\\')
+ {
+ if (pat[1] == 'c')
+ {
+ cs = 1;
+ pat += 2;
+ no_osearch = 1;
+ }
+ else if (pat[1] == 'C')
+ {
+ cs = 0;
+ pat += 2;
+ no_osearch = 1;
+ }
+ }
+
+ if (*pat == '^')
+ {
+ pat++;
+ *buf++ = BOL;
+ reg->must_match_bol = 1;
+ }
+ else reg->must_match_bol = 0;
+
+ if (cs != reg->case_sensitive)
+ {
+ if (cs) *buf++ = YES_CASE;
+ else *buf++ = NO_CASE;
+ }
+
+ *buf = 0;
+
+ last_count = count = 0;
+ while ((c = *pat++) != 0)
+ {
+ if (buf >= ebuf - 3)
+ {
+ SLang_doerror ("Pattern too large to be compiled.");
+ ERROR;
+ }
+
+ count++;
+ switch (c)
+ {
+ case '$':
+ if (*pat != 0) goto literal_char;
+ *buf++ = EOL;
+ break;
+
+ case '\\':
+ c = *pat++;
+ no_osearch = 1;
+ switch(c)
+ {
+ case 'e': c = 033; goto literal_char;
+ case 'n': c = '\n'; goto literal_char;
+ case 't': c = '\t'; goto literal_char;
+ case 'C': cs = 0; *buf++ = NO_CASE; break;
+ case 'c': cs = 1; *buf++ = YES_CASE; break;
+ case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9':
+ c = c - '0';
+ if ((int) c > nparen) ERROR;
+ last = buf;
+ *buf++ = NTH_MATCH; *buf++ = c;
+ break;
+#ifdef NOT_LITERAL
+ case '~': /* slang extension */
+ if ((c = *pat) == 0) ERROR;
+ pat++;
+ last = buf;
+ *buf++ = NOT_LITERAL;
+ *buf++ = c;
+ min_length++;
+ break;
+#endif
+ case 'd': /* slang extension */
+ last = buf;
+ *buf++ = ANY_DIGIT;
+ min_length++;
+ break;
+
+ case '<':
+ last = NULL;
+ *buf++ = BOW;
+ break;
+
+ case '>':
+ last = NULL;
+ *buf++ = EOW;
+ break;
+
+ case '{':
+ if (last == NULL) goto literal_char;
+ *last |= MANY;
+ tmppat = convert_digit(pat, &n);
+ if (tmppat == NULL) ERROR;
+ pat = tmppat;
+ *buf++ = n;
+
+ min_length += (n - 1);
+
+ if (*pat == '\\')
+ {
+ *buf++ = n;
+ }
+ else if (*pat == ',')
+ {
+ pat++;
+ if (*pat == '\\')
+ {
+ n = 255;
+ }
+ else
+ {
+ tmppat = convert_digit(pat, &n);
+ if (tmppat == NULL) ERROR;
+ pat = tmppat;
+ if (*pat != '\\') ERROR;
+ }
+ *buf++ = n;
+ }
+ else ERROR;
+ last = NULL;
+ pat++;
+ if (*pat != '}') ERROR;
+ pat++;
+ break; /* case '{' */
+
+ case '(':
+ oparen++;
+ if (oparen > 9) ERROR;
+ *buf++ = OPAREN;
+ break;
+ case ')':
+ if (oparen == 0) ERROR;
+ oparen--;
+ nparen++;
+ *buf++ = CPAREN;
+ break;
+
+ case 0: ERROR;
+ default:
+ goto literal_char;
+ }
+ break;
+
+ case '[':
+
+ *buf = RANGE;
+ last = buf++;
+
+ if (buf + 32 >= ebuf) ERROR;
+
+ for (i = 0; i < 32; i++) buf[i] = 0;
+ c = *pat++;
+ if (c == '^')
+ {
+ reverse = 1;
+ SET_BIT(buf, '\n');
+ c = *pat++;
+ }
+
+ if (c == ']')
+ {
+ SET_BIT(buf, c);
+ c = *pat++;
+ }
+ while (c && (c != ']'))
+ {
+ if (c == '\\')
+ {
+ c = *pat++;
+ switch(c)
+ {
+ case 'n': c = '\n'; break;
+ case 't': c = '\t'; break;
+ case 0: ERROR;
+ }
+ }
+
+ if (*pat == '-')
+ {
+ pat++;
+ while (c < *pat)
+ {
+ if (cs == 0)
+ {
+ SET_BIT(buf, UPPERCASE(c));
+ SET_BIT(buf, LOWERCASE(c));
+ }
+ else SET_BIT(buf, c);
+ c++;
+ }
+ }
+ if (cs == 0)
+ {
+ SET_BIT(buf, UPPERCASE(c));
+ SET_BIT(buf, LOWERCASE(c));
+ }
+ else SET_BIT(buf, c);
+ c = *pat++;
+ }
+ if (c != ']') ERROR;
+ if (reverse) for (i = 0; i < 32; i++) buf[i] = buf[i] ^ 0xFF;
+ reverse = 0;
+ buf += 32;
+ min_length++;
+ break;
+
+ case '.':
+ last = buf;
+ *buf++ = ANY;
+ min_length++;
+ break;
+
+ case '*':
+ if (last == NULL) goto literal_char;
+ *last |= STAR;
+ min_length--;
+ last = NULL;
+ break;
+
+ case '+':
+ if (last == NULL) goto literal_char;
+ *last |= LEAST_ONCE;
+ last = NULL;
+ break;
+
+ case '?':
+ if (last == NULL) goto literal_char;
+ *last |= MAYBE_ONCE;
+ last = NULL;
+ min_length--;
+ break;
+
+ literal_char:
+ default:
+ /* This is to keep track of longest substring */
+ min_length++;
+ this_max_mm++;
+ if (last_count + 1 == count)
+ {
+ if (this_max_mm == 1)
+ {
+ this_mm_p = buf;
+ }
+ else if (max_mm < this_max_mm)
+ {
+ mm_p = this_mm_p;
+ max_mm = this_max_mm;
+ }
+ }
+ else
+ {
+ this_mm_p = buf;
+ this_max_mm = 1;
+ }
+
+ last_count = count;
+
+ last = buf;
+ *buf++ = LITERAL;
+ *buf++ = UPPERCASE(c);
+ }
+ }
+ *buf = 0;
+ /* Check for ordinary search */
+ ebuf = buf;
+ buf = reg->buf;
+
+ if (no_osearch) ordinary_search = 0;
+ else
+ {
+ ordinary_search = 1;
+ while (buf < ebuf)
+ {
+ if (*buf != LITERAL)
+ {
+ ordinary_search = 0;
+ break;
+ }
+ buf += 2;
+ }
+ }
+
+ reg->osearch = ordinary_search;
+ reg->must_match_str[15] = 0;
+ reg->min_length = (min_length > 0) ? (unsigned int) min_length : 0;
+ if (ordinary_search)
+ {
+ strncpy((char *) reg->must_match_str, (char *) reg->pat, 15);
+ reg->must_match = 1;
+ return(0);
+ }
+ /* check for longest substring of pattern */
+ reg->must_match = 0;
+ if ((mm_p == NULL) && (this_mm_p != NULL)) mm_p = this_mm_p;
+ if (mm_p == NULL)
+ {
+ return (0);
+ }
+ n = 15;
+ pat = reg->must_match_str;
+ buf = mm_p;
+ while (n--)
+ {
+ if (*buf++ != LITERAL) break;
+ *pat++ = *buf++;
+ }
+ *pat = 0;
+ if (pat != reg->must_match_str) reg->must_match = 1;
+ return(0);
+}
+
+char *SLregexp_quote_string (char *re, char *buf, unsigned int buflen)
+{
+ char ch;
+ char *b, *bmax;
+
+ if (re == NULL) return NULL;
+
+ b = buf;
+ bmax = buf + buflen;
+
+ while (b < bmax)
+ {
+ switch (ch = *re++)
+ {
+ case 0:
+ *b = 0;
+ return buf;
+
+ case '$':
+ case '\\':
+ case '[':
+ case ']':
+ case '.':
+ case '^':
+ case '*':
+ case '+':
+ case '?':
+ *b++ = '\\';
+ if (b == bmax) break;
+ /* drop */
+
+ default:
+ *b++ = ch;
+ }
+ }
+ return NULL;
+}
+
+#if 0
+#define MAX_EXP 4096
+int main(int argc, char **argv)
+{
+ FILE *fp;
+ char *regexp, *file;
+ char expbuf[MAX_EXP], buf[512];
+ SLRegexp_Type reg;
+
+ file = argv[2];
+ regexp = argv[1];
+
+ if (NULL == (fp = fopen(file, "r")))
+ {
+ fprintf(stderr, "File not open\n");
+ return(1);
+ }
+
+ reg.buf = expbuf;
+ reg.buf_len = MAX_EXP;
+ reg.pat = regexp;
+ reg.case_sensitive = 1;
+
+ if (!regexp_compile(&reg)) while (NULL != fgets(buf, 511, fp))
+ {
+ if (reg.osearch)
+ {
+ if (NULL == strstr(buf, reg.pat)) continue;
+ }
+ else
+ {
+ if (reg.must_match && (NULL == strstr(buf, reg.must_match_str))) continue;
+ if (0 == regexp_match(buf, buf + strlen(buf), &reg)) continue;
+ }
+
+ fputs(buf, stdout);
+ }
+ return (0);
+}
+#endif
diff --git a/mdk-stage1/slang/slrline.c b/mdk-stage1/slang/slrline.c
new file mode 100644
index 000000000..1874be0bb
--- /dev/null
+++ b/mdk-stage1/slang/slrline.c
@@ -0,0 +1,836 @@
+/* SLang_read_line interface --- uses SLang tty stuff */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef REAL_UNIX_SYSTEM
+int SLang_RL_EOF_Char = 4;
+#else
+int SLang_RL_EOF_Char = 26;
+#endif
+
+int SLang_Rline_Quit;
+static SLang_RLine_Info_Type *This_RLI;
+
+static unsigned char Char_Widths[256];
+static void position_cursor (int);
+
+static void rl_beep (void)
+{
+ putc(7, stdout);
+ fflush (stdout);
+}
+
+/* editing functions */
+static int rl_bol (void)
+{
+ if (This_RLI->point == 0) return 0;
+ This_RLI->point = 0;
+ return 1;
+}
+
+static int rl_eol (void)
+{
+ if (This_RLI->point == This_RLI->len) return 0;
+ This_RLI->point = This_RLI->len;
+ return 1;
+}
+
+static int rl_right (void)
+{
+ if (This_RLI->point == This_RLI->len) return 0;
+ This_RLI->point++;
+ return 1;
+}
+
+static int rl_left (void)
+{
+ if (This_RLI->point == 0) return 0;
+ This_RLI->point--;
+ return 1;
+}
+
+static int rl_self_insert (void)
+{
+ unsigned char *pmin, *p;
+
+ if (This_RLI->len == This_RLI->buf_len)
+ {
+ rl_beep ();
+ return 0;
+ }
+
+ pmin = This_RLI->buf + This_RLI->point;
+ p = This_RLI->buf + This_RLI->len;
+ while (p > pmin)
+ {
+ *p = *(p - 1);
+ p--;
+ }
+ *pmin = SLang_Last_Key_Char;
+
+ This_RLI->len++;
+ This_RLI->point++;
+ if ((This_RLI->curs_pos + 2 >= This_RLI->edit_width)
+ || (This_RLI->tt_insert == NULL)
+ || (Char_Widths[SLang_Last_Key_Char] != 1)) return 1;
+
+ (*This_RLI->tt_insert)((char) SLang_Last_Key_Char);
+ /* update screen buf */
+ p = This_RLI->old_upd + (This_RLI->len - 1);
+ pmin = This_RLI->old_upd + (This_RLI->point - 1);
+ while (p > pmin)
+ {
+ *p = *(p - 1);
+ p--;
+ }
+ *pmin = SLang_Last_Key_Char;
+ return 0;
+}
+
+int SLang_rline_insert (char *s)
+{
+ unsigned char *pmin, *p;
+ int n;
+
+ n = strlen (s);
+ if (n > This_RLI->buf_len - This_RLI->len)
+ n = This_RLI->buf_len - This_RLI->len;
+
+ if (n == 0) return 0;
+
+ pmin = This_RLI->buf + This_RLI->point;
+ p = This_RLI->buf + (This_RLI->len - 1);
+
+ while (p >= pmin)
+ {
+ *(p + n) = *p;
+ p--;
+ }
+ SLMEMCPY ((char *) pmin, s, n);
+
+ This_RLI->len += n;
+ This_RLI->point += n;
+ return n;
+}
+
+static int rl_deln (int n)
+{
+ unsigned char *pmax, *p;
+
+ p = This_RLI->buf + This_RLI->point;
+ pmax = This_RLI->buf + This_RLI->len;
+
+ if (p + n > pmax) n = (int) (pmax - p);
+ while (p < pmax)
+ {
+ *p = *(p + n);
+ p++;
+ }
+ This_RLI->len -= n;
+ return n;
+}
+
+static int rl_del (void)
+{
+ return rl_deln(1);
+}
+
+static int rl_quote_insert (void)
+{
+ int err = SLang_Error;
+ SLang_Error = 0;
+ SLang_Last_Key_Char = (*This_RLI->getkey)();
+ rl_self_insert ();
+ if (SLang_Error == SL_USER_BREAK) SLang_Error = 0;
+ else SLang_Error = err;
+ return 1;
+}
+
+static int rl_trim (void)
+{
+ unsigned char *p, *pmax, *p1;
+ p = This_RLI->buf + This_RLI->point;
+ pmax = This_RLI->buf + This_RLI->len;
+
+ if (p == pmax)
+ {
+ if (p == This_RLI->buf) return 0;
+ p--;
+ }
+
+ if ((*p != ' ') && (*p != '\t')) return 0;
+ p1 = p;
+ while ((p1 < pmax) && ((*p1 == ' ') || (*p1 == '\t'))) p1++;
+ pmax = p1;
+ p1 = This_RLI->buf;
+
+ while ((p >= p1) && ((*p == ' ') || (*p == '\t'))) p--;
+ if (p == pmax) return 0;
+ p++;
+
+ This_RLI->point = (int) (p - p1);
+ return rl_deln ((int) (pmax - p));
+}
+
+static int rl_bdel (void)
+{
+ if (rl_left()) return rl_del();
+ return 0;
+}
+
+static int rl_deleol (void)
+{
+ if (This_RLI->point == This_RLI->len) return 0;
+ *(This_RLI->buf + This_RLI->point) = 0;
+ This_RLI->len = This_RLI->point;
+ return 1;
+}
+
+static int rl_delete_line (void)
+{
+ This_RLI->point = 0;
+ *(This_RLI->buf + This_RLI->point) = 0;
+ This_RLI->len = 0;
+ return 1;
+}
+
+static int rl_enter (void)
+{
+ *(This_RLI->buf + This_RLI->len) = 0;
+ SLang_Rline_Quit = 1;
+ return 1;
+}
+
+static SLKeyMap_List_Type *RL_Keymap;
+
+/* This update is designed for dumb terminals. It assumes only that the
+ * terminal can backspace via ^H, and move cursor to start of line via ^M.
+ * There is a hook so the user can provide a more sophisticated update if
+ * necessary.
+ */
+
+static void position_cursor (int col)
+{
+ unsigned char *p, *pmax;
+ int dc;
+
+ if (col == This_RLI->curs_pos)
+ {
+ fflush (stdout);
+ return;
+ }
+
+ if (This_RLI->tt_goto_column != NULL)
+ {
+ (*This_RLI->tt_goto_column)(col);
+ This_RLI->curs_pos = col;
+ fflush (stdout);
+ return;
+ }
+
+ dc = This_RLI->curs_pos - col;
+ if (dc < 0)
+ {
+ p = This_RLI->new_upd + This_RLI->curs_pos;
+ pmax = This_RLI->new_upd + col;
+ while (p < pmax) putc((char) *p++, stdout);
+ }
+ else
+ {
+ if (dc < col)
+ {
+ while (dc--) putc(8, stdout);
+ }
+ else
+ {
+ putc('\r', stdout);
+ p = This_RLI->new_upd;
+ pmax = This_RLI->new_upd + col;
+ while (p < pmax) putc((char) *p++, stdout);
+ }
+ }
+ This_RLI->curs_pos = col;
+ fflush (stdout);
+}
+
+static void erase_eol (SLang_RLine_Info_Type *rli)
+{
+ unsigned char *p, *pmax;
+
+ p = rli->old_upd + rli->curs_pos;
+ pmax = rli->old_upd + rli->old_upd_len;
+
+ while (p++ < pmax) putc(' ', stdout);
+
+ rli->curs_pos = rli->old_upd_len;
+}
+
+static unsigned char *spit_out(SLang_RLine_Info_Type *rli, unsigned char *p)
+{
+ unsigned char *pmax;
+ position_cursor ((int) (p - rli->new_upd));
+ pmax = rli->new_upd + rli->new_upd_len;
+ while (p < pmax) putc((char) *p++, stdout);
+ rli->curs_pos = rli->new_upd_len;
+ return pmax;
+}
+
+static void really_update (SLang_RLine_Info_Type *rli, int new_curs_position)
+{
+ unsigned char *b = rli->old_upd, *p = rli->new_upd, chb, chp;
+ unsigned char *pmax;
+
+ if (rli->update_hook != NULL)
+ {
+ (*rli->update_hook)(p, rli->edit_width, new_curs_position);
+ }
+ else
+ {
+ pmax = p + rli->edit_width;
+ while (p < pmax)
+ {
+ chb = *b++; chp = *p++;
+ if (chb == chp) continue;
+
+ if (rli->old_upd_len <= rli->new_upd_len)
+ {
+ /* easy one */
+ (void) spit_out (rli, p - 1);
+ break;
+ }
+ spit_out(rli, p - 1);
+ erase_eol (rli);
+ break;
+ }
+ position_cursor (new_curs_position);
+ }
+
+ /* update finished, so swap */
+
+ rli->old_upd_len = rli->new_upd_len;
+ p = rli->old_upd;
+ rli->old_upd = rli->new_upd;
+ rli->new_upd = p;
+}
+
+static void RLupdate (SLang_RLine_Info_Type *rli)
+{
+ int len, dlen, start_len = 0, prompt_len = 0, tw = 0, count;
+ int want_cursor_pos;
+ unsigned char *b, chb, *b_point, *p;
+ int no_echo;
+
+ no_echo = rli->flags & SL_RLINE_NO_ECHO;
+
+ b_point = (unsigned char *) (rli->buf + rli->point);
+ *(rli->buf + rli->len) = 0;
+
+ /* expand characters for output buffer --- handle prompt first.
+ * Do two passes --- first to find out where to begin upon horiz
+ * scroll and the second to actually fill the buffer. */
+ len = 0;
+ count = 2; /* once for prompt and once for buf */
+
+ b = (unsigned char *) rli->prompt;
+ while (count--)
+ {
+ if ((count == 0) && no_echo)
+ break;
+
+ /* The prompt could be NULL */
+ if (b != NULL) while ((chb = *b) != 0)
+ {
+ /* This will ensure that the screen is scrolled a third of the edit
+ * width each time */
+ if (b_point == b) break;
+ dlen = Char_Widths[chb];
+ if ((chb == '\t') && tw)
+ {
+ dlen = tw * ((len - prompt_len) / tw + 1) - (len - prompt_len);
+ }
+ len += dlen;
+ b++;
+ }
+ tw = rli->tab;
+ b = (unsigned char *) rli->buf;
+ if (count == 1) want_cursor_pos = prompt_len = len;
+ }
+
+ if (len < rli->edit_width - rli->dhscroll) start_len = 0;
+ else if ((rli->start_column > len)
+ || (rli->start_column + rli->edit_width <= len))
+ {
+ start_len = len - (rli->edit_width - rli->dhscroll);
+ if (start_len < 0) start_len = 0;
+ }
+ else start_len = rli->start_column;
+ rli->start_column = start_len;
+
+ want_cursor_pos = len - start_len;
+
+ /* second pass */
+ p = rli->new_upd;
+
+ len = 0;
+ count = 2;
+ b = (unsigned char *) rli->prompt;
+ if (b == NULL) b = (unsigned char *) "";
+
+ while ((len < start_len) && (*b))
+ {
+ len += Char_Widths[*b++];
+ }
+
+ tw = 0;
+ if (*b == 0)
+ {
+ b = (unsigned char *) rli->buf;
+ while (len < start_len)
+ {
+ len += Char_Widths[*b++];
+ }
+ tw = rli->tab;
+ count--;
+ }
+
+ len = 0;
+ while (count--)
+ {
+ if ((count == 0) && (no_echo))
+ break;
+
+ while ((len < rli->edit_width) && ((chb = *b++) != 0))
+ {
+ dlen = Char_Widths[chb];
+ if (dlen == 1) *p++ = chb;
+ else
+ {
+ if ((chb == '\t') && tw)
+ {
+ dlen = tw * ((len + start_len - prompt_len) / tw + 1) - (len + start_len - prompt_len);
+ len += dlen; /* ok since dlen comes out 0 */
+ if (len > rli->edit_width) dlen = len - rli->edit_width;
+ while (dlen--) *p++ = ' ';
+ dlen = 0;
+ }
+ else
+ {
+ if (dlen == 3)
+ {
+ chb &= 0x7F;
+ *p++ = '~';
+ }
+
+ *p++ = '^';
+ if (chb == 127) *p++ = '?';
+ else *p++ = chb + '@';
+ }
+ }
+ len += dlen;
+ }
+ /* if (start_len > prompt_len) break; */
+ tw = rli->tab;
+ b = (unsigned char *) rli->buf;
+ }
+
+ rli->new_upd_len = (int) (p - rli->new_upd);
+ while (p < rli->new_upd + rli->edit_width) *p++ = ' ';
+ really_update (rli, want_cursor_pos);
+}
+
+void SLrline_redraw (SLang_RLine_Info_Type *rli)
+{
+ unsigned char *p = rli->new_upd;
+ unsigned char *pmax = p + rli->edit_width;
+ while (p < pmax) *p++ = ' ';
+ rli->new_upd_len = rli->edit_width;
+ really_update (rli, 0);
+ RLupdate (rli);
+}
+
+static int rl_eof_insert (void)
+{
+ if (This_RLI->len == 0)
+ {
+ SLang_Last_Key_Char = SLang_RL_EOF_Char;
+ /* rl_self_insert (); */
+ return rl_enter ();
+ }
+ return 0;
+}
+
+/* This is very naive. It knows very little about nesting and nothing
+ * about quoting.
+ */
+static void blink_match (SLang_RLine_Info_Type *rli)
+{
+ unsigned char bra, ket;
+ unsigned int delta_column;
+ unsigned char *p, *pmin;
+ int dq_level, sq_level;
+ int level;
+
+ pmin = rli->buf;
+ p = pmin + rli->point;
+ if (pmin == p)
+ return;
+
+ ket = SLang_Last_Key_Char;
+ switch (ket)
+ {
+ case ')':
+ bra = '(';
+ break;
+ case ']':
+ bra = '[';
+ break;
+ case '}':
+ bra = '{';
+ break;
+ default:
+ return;
+ }
+
+ level = 0;
+ sq_level = dq_level = 0;
+
+ delta_column = 0;
+ while (p > pmin)
+ {
+ char ch;
+
+ p--;
+ delta_column++;
+ ch = *p;
+
+ if (ch == ket)
+ {
+ if ((dq_level == 0) && (sq_level == 0))
+ level++;
+ }
+ else if (ch == bra)
+ {
+ if ((dq_level != 0) || (sq_level != 0))
+ continue;
+
+ level--;
+ if (level == 0)
+ {
+ rli->point -= delta_column;
+ RLupdate (rli);
+ (*rli->input_pending)(10);
+ rli->point += delta_column;
+ RLupdate (rli);
+ break;
+ }
+ if (level < 0)
+ break;
+ }
+ else if (ch == '"') dq_level = !dq_level;
+ else if (ch == '\'') sq_level = !sq_level;
+ }
+}
+
+int SLang_read_line (SLang_RLine_Info_Type *rli)
+{
+ unsigned char *p, *pmax;
+ SLang_Key_Type *key;
+
+ SLang_Rline_Quit = 0;
+ This_RLI = rli;
+ p = rli->old_upd; pmax = p + rli->edit_width;
+ while (p < pmax) *p++ = ' ';
+
+ /* Sanity checking */
+ rli->len = strlen ((char *) rli->buf);
+ if (rli->len >= rli->buf_len)
+ {
+ rli->len = 0;
+ *rli->buf = 0;
+ }
+ if (rli->point > rli->len) rli->point = rli->len;
+ if (rli->point < 0) rli->point = 0;
+
+ rli->curs_pos = rli->start_column = 0;
+ rli->new_upd_len = rli->old_upd_len = 0;
+
+ This_RLI->last_fun = NULL;
+ if (rli->update_hook == NULL)
+ putc ('\r', stdout);
+
+ RLupdate (rli);
+
+ while (1)
+ {
+ key = SLang_do_key (RL_Keymap, (int (*)(void)) rli->getkey);
+
+ if ((key == NULL) || (key->f.f == NULL))
+ rl_beep ();
+ else
+ {
+ if ((SLang_Last_Key_Char == SLang_RL_EOF_Char)
+ && (*key->str == 2)
+ && (This_RLI->len == 0))
+ rl_eof_insert ();
+ else if (key->type == SLKEY_F_INTRINSIC)
+ {
+ if ((key->f.f)())
+ RLupdate (rli);
+
+ if ((rli->flags & SL_RLINE_BLINK_MATCH)
+ && (rli->input_pending != NULL))
+ blink_match (rli);
+ }
+
+ if (SLang_Rline_Quit)
+ {
+ This_RLI->buf[This_RLI->len] = 0;
+ if (SLang_Error == SL_USER_BREAK)
+ {
+ SLang_Error = 0;
+ return -1;
+ }
+ return This_RLI->len;
+ }
+ }
+ if (key != NULL)
+ This_RLI->last_fun = key->f.f;
+ }
+}
+
+static int rl_abort (void)
+{
+ rl_delete_line ();
+ return rl_enter ();
+}
+
+/* TTY interface --- ANSI */
+
+static void ansi_goto_column (int n)
+{
+ putc('\r', stdout);
+ if (n) fprintf(stdout, "\033[%dC", n);
+}
+
+static void rl_select_line (SLang_Read_Line_Type *p)
+{
+ This_RLI->last = p;
+ strcpy ((char *) This_RLI->buf, (char *) p->buf);
+ This_RLI->point = This_RLI->len = strlen((char *) p->buf);
+}
+static int rl_next_line (void);
+static int rl_prev_line (void)
+{
+ SLang_Read_Line_Type *prev;
+
+ if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
+ && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
+ || (This_RLI->last == NULL))
+ {
+ prev = This_RLI->tail;
+ }
+ else prev = This_RLI->last->prev;
+
+ if (prev == NULL)
+ {
+ rl_beep ();
+ return 0;
+ }
+
+ rl_select_line (prev);
+ return 1;
+}
+static int rl_redraw (void)
+{
+ SLrline_redraw (This_RLI);
+ return 1;
+}
+
+static int rl_next_line (void)
+{
+ SLang_Read_Line_Type *next;
+
+ if (((This_RLI->last_fun != (FVOID_STAR) rl_prev_line)
+ && (This_RLI->last_fun != (FVOID_STAR) rl_next_line))
+ || (This_RLI->last == NULL))
+ {
+ rl_beep ();
+ return 0;
+ }
+
+ next = This_RLI->last->next;
+
+ if (next == NULL)
+ {
+ This_RLI->len = This_RLI->point = 0;
+ *This_RLI->buf = 0;
+ This_RLI->last = NULL;
+ }
+ else rl_select_line (next);
+ return 1;
+}
+
+static SLKeymap_Function_Type SLReadLine_Functions[] =
+{
+ {"up", rl_prev_line},
+ {"down", rl_next_line},
+ {"bol", rl_bol},
+ {"eol", rl_eol},
+ {"right", rl_right},
+ {"left", rl_left},
+ {"self_insert", rl_self_insert},
+ {"bdel", rl_bdel},
+ {"del", rl_del},
+ {"deleol", rl_deleol},
+ {"enter", rl_enter},
+ {"trim", rl_trim},
+ {"quoted_insert", rl_quote_insert},
+ {(char *) NULL, NULL}
+};
+
+int SLang_init_readline (SLang_RLine_Info_Type *rli)
+{
+ int ch;
+ char simple[2];
+
+ if (RL_Keymap == NULL)
+ {
+ simple[1] = 0;
+ if (NULL == (RL_Keymap = SLang_create_keymap ("ReadLine", NULL)))
+ return -1;
+
+ RL_Keymap->functions = SLReadLine_Functions;
+
+ /* This breaks under some DEC ALPHA compilers (scary!) */
+#ifndef __DECC
+ for (ch = ' '; ch < 256; ch++)
+ {
+ simple[0] = (char) ch;
+ SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
+ }
+#else
+ ch = ' ';
+ while (1)
+ {
+ simple[0] = (char) ch;
+ SLkm_define_key (simple, (FVOID_STAR) rl_self_insert, RL_Keymap);
+ ch = ch + 1;
+ if (ch == 256) break;
+ }
+#endif /* NOT __DECC */
+
+ simple[0] = SLang_Abort_Char;
+ SLkm_define_key (simple, (FVOID_STAR) rl_abort, RL_Keymap);
+ simple[0] = SLang_RL_EOF_Char;
+ SLkm_define_key (simple, (FVOID_STAR) rl_eof_insert, RL_Keymap);
+
+#ifndef IBMPC_SYSTEM
+ SLkm_define_key ("^[[A", (FVOID_STAR) rl_prev_line, RL_Keymap);
+ SLkm_define_key ("^[[B", (FVOID_STAR) rl_next_line, RL_Keymap);
+ SLkm_define_key ("^[[C", (FVOID_STAR) rl_right, RL_Keymap);
+ SLkm_define_key ("^[[D", (FVOID_STAR) rl_left, RL_Keymap);
+ SLkm_define_key ("^[OA", (FVOID_STAR) rl_prev_line, RL_Keymap);
+ SLkm_define_key ("^[OB", (FVOID_STAR) rl_next_line, RL_Keymap);
+ SLkm_define_key ("^[OC", (FVOID_STAR) rl_right, RL_Keymap);
+ SLkm_define_key ("^[OD", (FVOID_STAR) rl_left, RL_Keymap);
+#else
+ SLkm_define_key ("^@H", (FVOID_STAR) rl_prev_line, RL_Keymap);
+ SLkm_define_key ("^@P", (FVOID_STAR) rl_next_line, RL_Keymap);
+ SLkm_define_key ("^@M", (FVOID_STAR) rl_right, RL_Keymap);
+ SLkm_define_key ("^@K", (FVOID_STAR) rl_left, RL_Keymap);
+ SLkm_define_key ("^@S", (FVOID_STAR) rl_del, RL_Keymap);
+ SLkm_define_key ("^@O", (FVOID_STAR) rl_eol, RL_Keymap);
+ SLkm_define_key ("^@G", (FVOID_STAR) rl_bol, RL_Keymap);
+
+ SLkm_define_key ("\xE0H", (FVOID_STAR) rl_prev_line, RL_Keymap);
+ SLkm_define_key ("\xE0P", (FVOID_STAR) rl_next_line, RL_Keymap);
+ SLkm_define_key ("\xE0M", (FVOID_STAR) rl_right, RL_Keymap);
+ SLkm_define_key ("\xE0K", (FVOID_STAR) rl_left, RL_Keymap);
+ SLkm_define_key ("\xE0S", (FVOID_STAR) rl_del, RL_Keymap);
+ SLkm_define_key ("\xE0O", (FVOID_STAR) rl_eol, RL_Keymap);
+ SLkm_define_key ("\xE0G", (FVOID_STAR) rl_bol, RL_Keymap);
+#endif
+ SLkm_define_key ("^C", (FVOID_STAR) rl_abort, RL_Keymap);
+ SLkm_define_key ("^E", (FVOID_STAR) rl_eol, RL_Keymap);
+ SLkm_define_key ("^G", (FVOID_STAR) rl_abort, RL_Keymap);
+ SLkm_define_key ("^I", (FVOID_STAR) rl_self_insert, RL_Keymap);
+ SLkm_define_key ("^A", (FVOID_STAR) rl_bol, RL_Keymap);
+ SLkm_define_key ("\r", (FVOID_STAR) rl_enter, RL_Keymap);
+ SLkm_define_key ("\n", (FVOID_STAR) rl_enter, RL_Keymap);
+ SLkm_define_key ("^K", (FVOID_STAR) rl_deleol, RL_Keymap);
+ SLkm_define_key ("^L", (FVOID_STAR) rl_deleol, RL_Keymap);
+ SLkm_define_key ("^V", (FVOID_STAR) rl_del, RL_Keymap);
+ SLkm_define_key ("^D", (FVOID_STAR) rl_del, RL_Keymap);
+ SLkm_define_key ("^F", (FVOID_STAR) rl_right, RL_Keymap);
+ SLkm_define_key ("^B", (FVOID_STAR) rl_left, RL_Keymap);
+ SLkm_define_key ("^?", (FVOID_STAR) rl_bdel, RL_Keymap);
+ SLkm_define_key ("^H", (FVOID_STAR) rl_bdel, RL_Keymap);
+ SLkm_define_key ("^P", (FVOID_STAR) rl_prev_line, RL_Keymap);
+ SLkm_define_key ("^N", (FVOID_STAR) rl_next_line, RL_Keymap);
+ SLkm_define_key ("^R", (FVOID_STAR) rl_redraw, RL_Keymap);
+ SLkm_define_key ("`", (FVOID_STAR) rl_quote_insert, RL_Keymap);
+ SLkm_define_key ("\033\\", (FVOID_STAR) rl_trim, RL_Keymap);
+ if (SLang_Error) return -1;
+ }
+
+ if (rli->prompt == NULL) rli->prompt = "";
+ if (rli->keymap == NULL) rli->keymap = RL_Keymap;
+ rli->old_upd = rli->upd_buf1;
+ rli->new_upd = rli->upd_buf2;
+ *rli->buf = 0;
+ rli->point = 0;
+
+ if (rli->flags & SL_RLINE_USE_ANSI)
+ {
+ if (rli->tt_goto_column == NULL) rli->tt_goto_column = ansi_goto_column;
+ }
+
+ if (Char_Widths[0] == 2) return 0;
+
+ for (ch = 0; ch < 32; ch++) Char_Widths[ch] = 2;
+ for (ch = 32; ch < 256; ch++) Char_Widths[ch] = 1;
+ Char_Widths[127] = 2;
+#ifndef IBMPC_SYSTEM
+ for (ch = 128; ch < 160; ch++) Char_Widths[ch] = 3;
+#endif
+
+ return 0;
+}
+
+SLang_Read_Line_Type *SLang_rline_save_line (SLang_RLine_Info_Type *rli)
+{
+ SLang_Read_Line_Type *rl = NULL;
+ unsigned char *buf;
+
+ if ((rli == NULL) || (rli->buf == NULL))
+ return NULL;
+
+ if (NULL == (rl = (SLang_Read_Line_Type *) SLmalloc (sizeof (SLang_Read_Line_Type)))
+ || (NULL == (buf = (unsigned char *) SLmake_string ((char *)rli->buf))))
+ {
+ SLfree ((char *)rl);
+ return NULL;
+ }
+ rl->buf = buf;
+ rl->buf_len = strlen ((char *)buf);
+ rl->num = rl->misc = 0;
+ rl->next = rl->prev = NULL;
+
+ if (rli->tail != NULL)
+ {
+ rli->tail->next = rl;
+ rl->prev = rli->tail;
+ }
+ rli->tail = rl;
+
+ return rl;
+}
diff --git a/mdk-stage1/slang/slscanf.c b/mdk-stage1/slang/slscanf.c
new file mode 100644
index 000000000..5bd93ff41
--- /dev/null
+++ b/mdk-stage1/slang/slscanf.c
@@ -0,0 +1,718 @@
+/* sscanf function for S-Lang */
+/* Copyright (c) 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+#include <ctype.h>
+#include <math.h>
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+static char *skip_whitespace (char *s)
+{
+ while (isspace (*s))
+ s++;
+
+ return s;
+}
+
+static void init_map (unsigned char map[256], int base)
+{
+ memset ((char *) map, 0xFF, 256);
+
+ map['0'] = 0; map['1'] = 1; map['2'] = 2; map['3'] = 3;
+ map['4'] = 4; map['5'] = 5; map['6'] = 6; map['7'] = 7;
+ if (base == 8)
+ return;
+
+ map['8'] = 8; map['9'] = 9;
+ if (base == 10)
+ return;
+
+ map['A'] = 10; map['B'] = 11; map['C'] = 12; map['D'] = 13;
+ map['E'] = 14; map['F'] = 15; map['a'] = 10; map['b'] = 11;
+ map['c'] = 12; map['d'] = 13; map['e'] = 14; map['f'] = 15;
+}
+
+static char *get_sign (char *s, char *smax, int *sign)
+{
+ *sign = 1;
+ if (s + 1 < smax)
+ {
+ if (*s == '+') s++;
+ else if (*s == '-')
+ {
+ s++;
+ *sign = -1;
+ }
+ }
+ return s;
+}
+
+
+static int parse_long (char **sp, char *smax, long *np,
+ long base, unsigned char map[256])
+{
+ char *s, *s0;
+ long n;
+ int sign;
+
+ s = s0 = get_sign (*sp, smax, &sign);
+
+ n = 0;
+ while (s < smax)
+ {
+ unsigned char value;
+
+ value = map [(unsigned char) *s];
+ if (value == 0xFF)
+ break;
+
+ n = base * n + value;
+ s++;
+ }
+
+ *sp = s;
+ if (s == s0)
+ return 0;
+
+ *np = n * sign;
+
+ return 1;
+}
+
+
+static int parse_int (char **sp, char *smax, int *np,
+ long base, unsigned char map[256])
+{
+ long n;
+ int status;
+
+ if (1 == (status = parse_long (sp, smax, &n, base, map)))
+ *np = (int) n;
+ return status;
+}
+
+static int parse_short (char **sp, char *smax, short *np,
+ long base, unsigned char map[256])
+{
+ long n;
+ int status;
+
+ if (1 == (status = parse_long (sp, smax, &n, base, map)))
+ *np = (short) n;
+ return status;
+}
+
+static int parse_ulong (char **sp, char *smax, unsigned long *np,
+ long base, unsigned char map[256])
+{
+ return parse_long (sp, smax, (long *) np, base, map);
+}
+
+static int parse_uint (char **sp, char *smax, unsigned int *np,
+ long base, unsigned char map[256])
+{
+ return parse_int (sp, smax, (int *) np, base, map);
+}
+
+static int parse_ushort (char **sp, char *smax, unsigned short *np,
+ long base, unsigned char map[256])
+{
+ return parse_short (sp, smax, (short *) np, base, map);
+}
+
+#if SLANG_HAS_FLOAT
+/*
+ * In an ideal world, strtod would be the correct function to use. However,
+ * there may be problems relying on this function because some systems do
+ * not support and some that do get it wrong. So, I will handle the parsing
+ * of the string and let atof or strtod handle the arithmetic.
+ */
+static int parse_double (char **sp, char *smax, double *d)
+{
+ char *s, *s0;
+ int sign;
+ int expon;
+ unsigned char map[256];
+ char buf[128];
+ int has_leading_zeros;
+ char *start_pos, *sign_pos;
+ char *b, *bmax;
+
+ start_pos = *sp;
+ s = get_sign (start_pos, smax, &sign);
+ if (s >= smax)
+ {
+ errno = _SLerrno_errno = EINVAL;
+ return 0;
+ }
+
+ /* Prepare the buffer that will be passed to strtod */
+ /* Allow the exponent to be 5 significant digits: E+xxxxx\0 */
+ bmax = buf + (sizeof (buf) - 8);
+ buf[0] = '0'; buf[1] = '.';
+ b = buf + 2;
+
+ init_map (map, 10);
+
+ /* Skip leading 0s */
+ s0 = s;
+ while ((s < smax) && (*s == '0'))
+ s++;
+ has_leading_zeros = (s != s0);
+
+ expon = 0;
+ while (s < smax)
+ {
+ unsigned char value = map [(unsigned char) *s];
+
+ if (value == 0xFF)
+ break;
+
+ if (b < bmax)
+ *b++ = *s;
+
+ expon++;
+ s++;
+ }
+
+ if ((s < smax) && (*s == '.'))
+ {
+ s++;
+ if (b == buf + 2) /* nothing added yet */
+ {
+ while ((s < smax) && (*s == '0'))
+ {
+ expon--;
+ s++;
+ }
+ }
+
+ while (s < smax)
+ {
+ unsigned char value = map [(unsigned char) *s];
+
+ if (value == 0xFF)
+ break;
+
+ if (b < bmax)
+ *b++ = *s;
+ s++;
+ }
+ }
+
+ if ((b == buf + 2)
+ && (has_leading_zeros == 0))
+ {
+ *sp = start_pos;
+ errno = EINVAL;
+ return 0;
+ }
+
+ if ((s + 1 < smax) && ((*s == 'E') || (*s == 'e')))
+ {
+ int e;
+ int esign;
+
+ s0 = s;
+ s = get_sign (s + 1, smax, &esign);
+ sign_pos = s;
+ e = 0;
+ while (s < smax)
+ {
+ unsigned char value = map [(unsigned char) *s];
+ if (value == 0xFF)
+ break;
+ if (e < 25000) /* avoid overflow if 16 bit */
+ e = 10 * e + value;
+ s++;
+ }
+#ifdef ERANGE
+ if (e >= 25000)
+ errno = ERANGE;
+#endif
+ if (s == sign_pos)
+ s = s0; /* ...E-X */
+ else
+ {
+ e = esign * e;
+ expon += e;
+ }
+ }
+
+ if (expon != 0)
+ sprintf (b, "e%d", expon);
+ else
+ *b = 0;
+
+ *sp = s;
+#if HAVE_STRTOD
+ *d = sign * strtod (buf, NULL);
+#else
+ *d = sign * atof (buf);
+#endif
+ return 1;
+}
+
+static int parse_float (char **sp, char *smax, float *d)
+{
+ double x;
+ if (1 == parse_double (sp, smax, &x))
+ {
+ *d = (float) x;
+ return 1;
+ }
+ return 0;
+}
+#endif /* SLANG_HAS_FLOAT */
+
+static int parse_string (char **sp, char *smax, char **str)
+{
+ char *s, *s0;
+
+ s0 = s = *sp;
+ while (s < smax)
+ {
+ if (isspace (*s))
+ break;
+ s++;
+ }
+ if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
+ return -1;
+
+ *sp = s;
+ return 1;
+}
+
+static int parse_bstring (char **sp, char *smax, char **str)
+{
+ char *s;
+
+ s = *sp;
+ if (NULL == (*str = SLang_create_nslstring (s, (unsigned int) (smax - s))))
+ return -1;
+
+ *sp = smax;
+ return 1;
+}
+
+static int parse_range (char **sp, char *smax, char **fp, char **str)
+{
+ char *s, *s0;
+ char *range;
+ char *f;
+ unsigned char map[256];
+ unsigned char reverse;
+
+ /* How can one represent a range with just '^'? The naive answer is
+ * is [^]. However, this may be interpreted as meaning any character
+ * but ']' and others. Let's assume that the user will not use a range
+ * to match '^'.
+ */
+ f = *fp;
+ /* f is a pointer to (one char after) [...]. */
+ if (*f == '^')
+ {
+ f++;
+ reverse = 1;
+ }
+ else reverse = 0;
+
+ s0 = f;
+ if (*f == ']')
+ f++;
+
+ while (1)
+ {
+ char ch = *f;
+
+ if (ch == 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "Unexpected end of range in format");
+ return -1;
+ }
+ if (ch == ']')
+ break;
+ f++;
+ }
+ if (NULL == (range = SLmake_nstring (s0, (unsigned int) (f - s0))))
+ return -1;
+ *fp = f + 1; /* skip ] */
+
+ SLmake_lut (map, (unsigned char *) range, reverse);
+ SLfree (range);
+
+ s0 = s = *sp;
+ while ((s < smax) && map [(unsigned char) *s])
+ s++;
+
+ if (NULL == (*str = SLang_create_nslstring (s0, (unsigned int) (s - s0))))
+ return -1;
+
+ *sp = s;
+ return 1;
+}
+
+
+int _SLang_sscanf (void)
+{
+ int num;
+ unsigned int num_refs;
+ char *format;
+ char *input_string, *input_string_max;
+ char *f, *s;
+ unsigned char map8[256], map10[256], map16[256];
+
+ if (SLang_Num_Function_Args < 2)
+ {
+ SLang_verror (SL_INVALID_PARM, "Int_Type sscanf (str, format, ...)");
+ return -1;
+ }
+
+ num_refs = (unsigned int) SLang_Num_Function_Args;
+ if (-1 == SLreverse_stack (num_refs))
+ return -1;
+ num_refs -= 2;
+
+ if (-1 == SLang_pop_slstring (&input_string))
+ return -1;
+
+ if (-1 == SLang_pop_slstring (&format))
+ {
+ SLang_free_slstring (input_string);
+ return -1;
+ }
+
+ f = format;
+ s = input_string;
+ input_string_max = input_string + strlen (input_string);
+
+ init_map (map8, 8);
+ init_map (map10, 10);
+ init_map (map16, 16);
+
+ num = 0;
+
+ while (num_refs != 0)
+ {
+ SLang_Object_Type obj;
+ SLang_Ref_Type *ref;
+ char *smax;
+ unsigned char *map;
+ int base;
+ int no_assign;
+ int is_short;
+ int is_long;
+ int status;
+ char chf;
+ unsigned int width;
+ int has_width;
+
+ chf = *f++;
+
+ if (chf == 0)
+ {
+ /* Hmmm.... what is the most useful thing to do?? */
+#if 1
+ break;
+#else
+ SLang_verror (SL_INVALID_PARM, "sscanf: format not big enough for output list");
+ goto return_error;
+#endif
+ }
+
+ if (isspace (chf))
+ {
+ s = skip_whitespace (s);
+ continue;
+ }
+
+ if ((chf != '%')
+ || ((chf = *f++) == '%'))
+ {
+ if (*s != chf)
+ break;
+ s++;
+ continue;
+ }
+
+ no_assign = 0;
+ is_short = 0;
+ is_long = 0;
+ width = 0;
+ smax = input_string_max;
+
+ /* Look for the flag character */
+ if (chf == '*')
+ {
+ no_assign = 1;
+ chf = *f++;
+ }
+
+ /* Width */
+ has_width = isdigit (chf);
+ if (has_width)
+ {
+ f--;
+ (void) parse_uint (&f, f + strlen(f), &width, 10, map10);
+ chf = *f++;
+ }
+
+ /* Now the type modifier */
+ switch (chf)
+ {
+ case 'h':
+ is_short = 1;
+ chf = *f++;
+ break;
+
+ case 'L': /* not implemented */
+ case 'l':
+ is_long = 1;
+ chf = *f++;
+ break;
+ }
+
+ status = -1;
+
+ if ((chf != 'c') && (chf != '['))
+ s = skip_whitespace (s);
+
+ if (has_width)
+ {
+ if (width > (unsigned int) (input_string_max - s))
+ width = (unsigned int) (input_string_max - s);
+ smax = s + width;
+ }
+
+ /* Now the format descriptor */
+
+ map = map10;
+ base = 10;
+
+ try_again: /* used by i, x, and o, conversions */
+ switch (chf)
+ {
+ case 0:
+ SLang_verror (SL_INVALID_PARM, "sscanf: Unexpected end of format");
+ goto return_error;
+ case 'D':
+ is_long = 1;
+ case 'd':
+ if (is_short)
+ {
+ obj.data_type = SLANG_SHORT_TYPE;
+ status = parse_short (&s, smax, &obj.v.short_val, base, map);
+ }
+ else if (is_long)
+ {
+ obj.data_type = SLANG_LONG_TYPE;
+ status = parse_long (&s, smax, &obj.v.long_val, base, map);
+ }
+ else
+ {
+ obj.data_type = SLANG_INT_TYPE;
+ status = parse_int (&s, smax, &obj.v.int_val, base, map);
+ }
+ break;
+
+
+ case 'U':
+ is_long = 1;
+ case 'u':
+ if (is_short)
+ {
+ obj.data_type = SLANG_USHORT_TYPE;
+ status = parse_ushort (&s, smax, &obj.v.ushort_val, base, map);
+ }
+ else if (is_long)
+ {
+ obj.data_type = SLANG_ULONG_TYPE;
+ status = parse_ulong (&s, smax, &obj.v.ulong_val, base, map);
+ }
+ else
+ {
+ obj.data_type = SLANG_INT_TYPE;
+ status = parse_uint (&s, smax, &obj.v.uint_val, base, map);
+ }
+ break;
+
+ case 'I':
+ is_long = 1;
+ case 'i':
+ if ((s + 1 >= smax)
+ || (*s != 0))
+ chf = 'd';
+ else if (((s[1] == 'x') || (s[1] == 'X'))
+ && (s + 2 < smax))
+ {
+ s += 2;
+ chf = 'x';
+ }
+ else chf = 'o';
+ goto try_again;
+
+ case 'O':
+ is_long = 1;
+ case 'o':
+ map = map8;
+ base = 8;
+ chf = 'd';
+ goto try_again;
+
+ case 'X':
+ is_long = 1;
+ case 'x':
+ base = 16;
+ map = map16;
+ chf = 'd';
+ goto try_again;
+
+ case 'E':
+ case 'F':
+ is_long = 1;
+ case 'e':
+ case 'f':
+ case 'g':
+#if SLANG_HAS_FLOAT
+ if (is_long)
+ {
+ obj.data_type = SLANG_DOUBLE_TYPE;
+ status = parse_double (&s, smax, &obj.v.double_val);
+ }
+ else
+ {
+ obj.data_type = SLANG_FLOAT_TYPE;
+ status = parse_float (&s, smax, &obj.v.float_val);
+ }
+#else
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "This version of the S-Lang does not support floating point");
+ status = -1;
+#endif
+ break;
+
+ case 's':
+ obj.data_type = SLANG_STRING_TYPE;
+ status = parse_string (&s, smax, &obj.v.s_val);
+ break;
+
+ case 'c':
+ if (has_width == 0)
+ {
+ obj.data_type = SLANG_UCHAR_TYPE;
+ obj.v.uchar_val = *s++;
+ status = 1;
+ break;
+ }
+ obj.data_type = SLANG_STRING_TYPE;
+ status = parse_bstring (&s, smax, &obj.v.s_val);
+ break;
+
+ case '[':
+ obj.data_type = SLANG_STRING_TYPE;
+ status = parse_range (&s, smax, &f, &obj.v.s_val);
+ break;
+
+ case 'n':
+ obj.data_type = SLANG_UINT_TYPE;
+ obj.v.uint_val = (unsigned int) (s - input_string);
+ status = 1;
+ break;
+
+ default:
+ status = -1;
+ SLang_verror (SL_NOT_IMPLEMENTED, "format specifier '%c' is not supported", chf);
+ break;
+ }
+
+ if (status == 0)
+ break;
+
+ if (status == -1)
+ goto return_error;
+
+ if (no_assign)
+ {
+ SLang_free_object (&obj);
+ continue;
+ }
+
+ if (-1 == SLang_pop_ref (&ref))
+ {
+ SLang_free_object (&obj);
+ goto return_error;
+ }
+
+ if (-1 == SLang_push (&obj))
+ {
+ SLang_free_object (&obj);
+ SLang_free_ref (ref);
+ goto return_error;
+ }
+
+ if (-1 == _SLang_deref_assign (ref))
+ {
+ SLang_free_ref (ref);
+ goto return_error;
+ }
+ SLang_free_ref (ref);
+
+ num++;
+ num_refs--;
+ }
+
+ if (-1 == SLdo_pop_n (num_refs))
+ goto return_error;
+
+ SLang_free_slstring (format);
+ SLang_free_slstring (input_string);
+ return num;
+
+ return_error:
+ /* NULLS ok */
+ SLang_free_slstring (format);
+ SLang_free_slstring (input_string);
+ return -1;
+}
+
+
+# if SLANG_HAS_FLOAT
+
+#ifndef HAVE_STDLIB_H
+/* Oh dear. Where is the prototype for atof? If not in stdlib, then
+ * I do not know where. Not in math.h on some systems either.
+ */
+extern double atof ();
+#endif
+
+double _SLang_atof (char *s)
+{
+ double x;
+
+ s = skip_whitespace (s);
+ errno = 0;
+
+ if (1 != parse_double (&s, s + strlen (s), &x))
+ {
+ if ((0 == strcmp ("NaN", s))
+ || (0 == strcmp ("-Inf", s))
+ || (0 == strcmp ("Inf", s)))
+ return atof (s); /* let this deal with it */
+#ifdef EINVAL
+ errno = _SLerrno_errno = EINVAL;
+#endif
+ return 0.0;
+ }
+ if (errno)
+ _SLerrno_errno = errno;
+ return x;
+}
+#endif
diff --git a/mdk-stage1/slang/slscroll.c b/mdk-stage1/slang/slscroll.c
new file mode 100644
index 000000000..358296116
--- /dev/null
+++ b/mdk-stage1/slang/slscroll.c
@@ -0,0 +1,450 @@
+/* SLang Scrolling Window Routines */
+/* Copyright (c) 1996, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+static void find_window_bottom (SLscroll_Window_Type *win)
+{
+ unsigned int nrows;
+ unsigned int hidden_mask;
+ SLscroll_Type *bot, *cline, *last_bot;
+ unsigned int row;
+
+ nrows = win->nrows;
+ hidden_mask = win->hidden_mask;
+ cline = win->current_line;
+
+ win->window_row = row = 0;
+ last_bot = bot = win->top_window_line;
+
+ while (row < nrows)
+ {
+ if (bot == cline)
+ win->window_row = row;
+
+ last_bot = bot;
+
+ if (bot == NULL)
+ break;
+
+ bot = bot->next;
+
+ if (hidden_mask)
+ {
+ while ((bot != NULL) && (bot->flags & hidden_mask))
+ bot = bot->next;
+ }
+
+ row++;
+ }
+
+ win->bot_window_line = last_bot;
+}
+
+static int find_top_to_recenter (SLscroll_Window_Type *win)
+{
+ unsigned int nrows;
+ unsigned int hidden_mask;
+ SLscroll_Type *prev, *last_prev, *cline;
+
+ nrows = win->nrows;
+ cline = win->current_line;
+ hidden_mask = win->hidden_mask;
+
+ nrows = nrows / 2;
+
+ last_prev = prev = cline;
+
+ while (nrows && (prev != NULL))
+ {
+ nrows--;
+ last_prev = prev;
+ do
+ {
+ prev = prev->prev;
+ }
+ while (hidden_mask
+ && (prev != NULL)
+ && (prev->flags & hidden_mask));
+ }
+
+ if (prev == NULL) prev = last_prev;
+
+ win->top_window_line = prev;
+ find_window_bottom (win);
+
+ return 0;
+}
+
+#define HAS_BORDER_CODE 1
+int SLscroll_find_top (SLscroll_Window_Type *win)
+{
+ unsigned int i;
+ SLscroll_Type *cline, *prev, *next;
+ SLscroll_Type *top_window_line;
+ unsigned int nrows;
+ unsigned int hidden_mask;
+ int scroll_mode;
+ unsigned int border;
+
+ cline = win->current_line;
+ nrows = win->nrows;
+ scroll_mode = win->cannot_scroll;
+ border = win->border;
+ if (scroll_mode == 2)
+ border = 0;
+
+ if ((cline == NULL) || (nrows <= 1))
+ {
+ win->top_window_line = cline;
+ find_window_bottom (win);
+ return 0;
+ }
+
+ hidden_mask = win->hidden_mask;
+
+ /* Note: top_window_line might be a bogus pointer. This means that I cannot
+ * access it unless it really corresponds to a pointer in the buffer.
+ */
+ top_window_line = win->top_window_line;
+
+ if (top_window_line == NULL)
+ return find_top_to_recenter (win);
+
+ /* Chances are that the current line is visible in the window. This means
+ * that the top window line should be above it.
+ */
+ prev = cline;
+
+ i = 0;
+
+ while ((i < nrows) && (prev != NULL))
+ {
+ if (prev == top_window_line)
+ {
+ SLscroll_Type *twl = top_window_line;
+ int dir = 0;
+
+ if (i < border) dir = -1; else if (i + border >= nrows) dir = 1;
+
+ if (dir) while (border)
+ {
+ if (dir < 0) twl = twl->prev;
+ else twl = twl->next;
+
+ if (twl == NULL)
+ {
+ twl = top_window_line;
+ break;
+ }
+ if ((hidden_mask == 0)
+ || (0 == (twl->flags & hidden_mask)))
+ border--;
+ }
+
+ win->top_window_line = twl;
+ find_window_bottom (win);
+ return 0;
+ }
+
+ do
+ {
+ prev = prev->prev;
+ }
+ while (hidden_mask
+ && (prev != NULL)
+ && (prev->flags & hidden_mask));
+ i++;
+ }
+
+ /* Now check the borders of the window. Perhaps the current line lies
+ * outsider the border by a line. Only do this if terminal can scroll.
+ */
+
+ if (scroll_mode == 1)
+ return find_top_to_recenter (win);
+ else if (scroll_mode == -1)
+ scroll_mode = 0;
+
+ next = cline->next;
+ while (hidden_mask
+ && (next != NULL)
+ && (next->flags & hidden_mask))
+ next = next->next;
+
+ if ((next != NULL)
+ && (next == top_window_line))
+ {
+ /* The current line is one line above the window. This means user
+ * has moved up past the top of the window. If scroll_mode is set
+ * to scroll by pages, we need to do a page up.
+ */
+
+ win->top_window_line = cline;
+ find_window_bottom (win);
+
+ if (scroll_mode) return SLscroll_pageup (win);
+
+ return 0;
+ }
+
+ prev = cline->prev;
+
+ while (hidden_mask
+ && (prev != NULL)
+ && (prev->flags & hidden_mask))
+ prev = prev->prev;
+
+ if ((prev == NULL)
+ || (prev != win->bot_window_line))
+ return find_top_to_recenter (win);
+
+ /* It looks like cline is below window by one line. See what line should
+ * be at top to scroll it into view. Only do this unless we are scrolling
+ * by pages.
+ */
+ if (scroll_mode)
+ {
+ win->top_window_line = cline;
+ find_window_bottom (win);
+ return 0;
+ }
+
+ i = 2;
+ while ((i < nrows) && (prev != NULL))
+ {
+ do
+ {
+ prev = prev->prev;
+ }
+ while (hidden_mask
+ && (prev != NULL)
+ && (prev->flags & hidden_mask));
+ i++;
+ }
+
+ if (prev != NULL)
+ {
+ win->top_window_line = prev;
+ find_window_bottom (win);
+ return 0;
+ }
+
+ return find_top_to_recenter (win);
+}
+
+int SLscroll_find_line_num (SLscroll_Window_Type *win)
+{
+ SLscroll_Type *cline, *l;
+ unsigned int n;
+ unsigned int hidden_mask;
+
+ if (win == NULL) return -1;
+
+ hidden_mask = win->hidden_mask;
+ cline = win->current_line;
+
+ n = 1;
+
+ l = win->lines;
+ while (l != cline)
+ {
+ if ((hidden_mask == 0)
+ || (0 == (l->flags & hidden_mask)))
+ n++;
+
+ l = l->next;
+ }
+
+ win->line_num = n;
+ n--;
+
+ while (l != NULL)
+ {
+ if ((hidden_mask == 0)
+ || (0 == (l->flags & hidden_mask)))
+ n++;
+ l = l->next;
+ }
+ win->num_lines = n;
+
+ return 0;
+}
+
+unsigned int SLscroll_next_n (SLscroll_Window_Type *win, unsigned int n)
+{
+ unsigned int i;
+ unsigned int hidden_mask;
+ SLscroll_Type *l, *cline;
+
+ if ((win == NULL)
+ || (NULL == (cline = win->current_line)))
+ return 0;
+
+ hidden_mask = win->hidden_mask;
+ l = cline;
+ i = 0;
+ while (i < n)
+ {
+ l = l->next;
+ while (hidden_mask
+ && (l != NULL) && (l->flags & hidden_mask))
+ l = l->next;
+
+ if (l == NULL)
+ break;
+
+ i++;
+ cline = l;
+ }
+
+ win->current_line = cline;
+ win->line_num += i;
+ return i;
+}
+
+unsigned int SLscroll_prev_n (SLscroll_Window_Type *win, unsigned int n)
+{
+ unsigned int i;
+ unsigned int hidden_mask;
+ SLscroll_Type *l, *cline;
+
+ if ((win == NULL)
+ || (NULL == (cline = win->current_line)))
+ return 0;
+
+ hidden_mask = win->hidden_mask;
+ l = cline;
+ i = 0;
+ while (i < n)
+ {
+ l = l->prev;
+ while (hidden_mask
+ && (l != NULL) && (l->flags & hidden_mask))
+ l = l->prev;
+
+ if (l == NULL)
+ break;
+
+ i++;
+ cline = l;
+ }
+
+ win->current_line = cline;
+ win->line_num -= i;
+ return i;
+}
+
+int SLscroll_pageup (SLscroll_Window_Type *win)
+{
+ SLscroll_Type *l, *top;
+ unsigned int nrows, hidden_mask;
+ unsigned int n;
+
+ if (win == NULL)
+ return -1;
+
+ (void) SLscroll_find_top (win);
+
+ nrows = win->nrows;
+
+ if ((NULL != (top = win->top_window_line))
+ && (nrows > 2))
+ {
+ n = 0;
+ hidden_mask = win->hidden_mask;
+ l = win->current_line;
+ while ((l != NULL) && (l != top))
+ {
+ l = l->prev;
+ if ((hidden_mask == 0)
+ || ((l != NULL) && (0 == (l->flags & hidden_mask))))
+ n++;
+ }
+
+ if (l != NULL)
+ {
+ unsigned int save_line_num;
+ int ret = 0;
+
+ win->current_line = l;
+ win->line_num -= n;
+
+ /* Compute a new top/bottom header */
+ save_line_num = win->line_num;
+
+ if ((0 == SLscroll_prev_n (win, nrows - 1))
+ && (n == 0))
+ ret = -1;
+
+ win->top_window_line = win->current_line;
+ win->current_line = l;
+ win->line_num = save_line_num;
+
+ find_window_bottom (win);
+ return ret;
+ }
+ }
+
+ if (nrows < 2) nrows++;
+ if (0 == SLscroll_prev_n (win, nrows - 1))
+ return -1;
+ return 0;
+}
+
+int SLscroll_pagedown (SLscroll_Window_Type *win)
+{
+ SLscroll_Type *l, *bot;
+ unsigned int nrows, hidden_mask;
+ unsigned int n;
+
+ if (win == NULL)
+ return -1;
+
+ (void) SLscroll_find_top (win);
+
+ nrows = win->nrows;
+
+ if ((NULL != (bot = win->bot_window_line))
+ && (nrows > 2))
+ {
+ n = 0;
+ hidden_mask = win->hidden_mask;
+ l = win->current_line;
+ while ((l != NULL) && (l != bot))
+ {
+ l = l->next;
+ if ((hidden_mask == 0)
+ || ((l != NULL) && (0 == (l->flags & hidden_mask))))
+ n++;
+ }
+
+ if (l != NULL)
+ {
+ win->current_line = l;
+ win->top_window_line = l;
+ win->line_num += n;
+
+ find_window_bottom (win);
+
+ if (n || (bot != win->bot_window_line))
+ return 0;
+
+ return -1;
+ }
+ }
+
+ if (nrows < 2) nrows++;
+ if (0 == SLscroll_next_n (win, nrows - 1))
+ return -1;
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slsearch.c b/mdk-stage1/slang/slsearch.c
new file mode 100644
index 000000000..a9a427a7d
--- /dev/null
+++ b/mdk-stage1/slang/slsearch.c
@@ -0,0 +1,239 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef upcase
+# undef upcase
+#endif
+
+#define upcase(ch) (cs ? ch : UPPER_CASE(ch))
+
+static unsigned char *search_forward (register unsigned char *beg,
+ unsigned char *end,
+ unsigned char *key,
+ register int key_len, int cs, int *ind)
+{
+ register unsigned char char1;
+ unsigned char *pos;
+ int j, str_len;
+ register unsigned char ch;
+ register int db;
+
+ str_len = (int) (end - beg);
+ if (str_len < key_len) return (NULL);
+
+ if (key_len == 0)
+ return NULL;
+
+ char1 = key[key_len - 1];
+ beg += (key_len - 1);
+
+ while(1)
+ {
+ if (cs) while (beg < end)
+ {
+ ch = *beg;
+ db = ind[(unsigned char) ch];
+ if ((db < key_len) && (ch == char1)) break;
+ beg += db; /* ind[(unsigned char) ch]; */
+ }
+ else while (beg < end)
+ {
+ ch = *beg;
+ db = ind[(unsigned char) ch];
+ if ((db < key_len) &&
+ (UPPER_CASE(ch) == char1)) break;
+ beg += db; /* ind[(unsigned char) ch]; */
+ }
+
+ if (beg >= end) return(NULL);
+
+ pos = beg - (key_len - 1);
+ for (j = 0; j < key_len; j++)
+ {
+ ch = upcase(pos[j]);
+ if (ch != (unsigned char) key[j]) break;
+ }
+
+ if (j == key_len) return(pos);
+ beg += 1;
+ }
+}
+
+static unsigned char *search_backward (unsigned char *beg,unsigned char *end,
+ unsigned char *key, int key_len,
+ int cs, int *ind)
+{
+ unsigned char ch, char1;
+ int j, str_len, ofs;
+
+ str_len = (int) (end - beg);
+ if (str_len < key_len) return (NULL);
+
+ if (key_len == 0)
+ return NULL;
+
+ /* end -= (key_len - 1); */
+ end -= key_len;
+
+ char1 = key[0];
+
+ while(1)
+ {
+ while ((beg <= end) && (ch = *end, ch = upcase(ch), ch != char1))
+ {
+ ofs = ind[(unsigned char) ch];
+#ifdef __MSDOS__
+ /* This is needed for msdos segment wrapping problems */
+ if (beg + ofs > end) return(NULL);
+#endif
+ end -= ofs;
+ }
+ if (beg > end) return(NULL);
+ for (j = 1; j < key_len; j++)
+ {
+ ch = upcase(end[j]);
+ if (ch != key[j]) break;
+ }
+ if (j == key_len) return(end);
+ end--;
+ }
+}
+
+unsigned char *SLsearch (unsigned char *pmin, unsigned char *pmax,
+ SLsearch_Type *st)
+{
+ if (st->dir > 0) return search_forward (pmin, pmax, st->key,
+ st->key_len, st->cs, st->ind);
+ else return search_backward (pmin, pmax, st->key,
+ st->key_len, st->cs, st->ind);
+}
+
+static int Case_Tables_Ok;
+
+int SLsearch_init (char *str, int dir, int cs, SLsearch_Type *st)
+{
+ int i, maxi;
+ register int max = strlen(str);
+ unsigned char *w, *work = st->key;
+ register int *indp, *indpm;
+ int *ind = st->ind;
+
+ if (max >= (int) sizeof (st->key))
+ {
+ SLang_doerror ("Search string too long.");
+ return -1;
+ }
+
+ st->dir = dir; st->cs = cs;
+
+ if (!Case_Tables_Ok) SLang_init_case_tables ();
+
+ if (dir > 0)
+ {
+ w = work;
+ }
+ else
+ {
+ maxi = max - 1;
+ str = str + maxi;
+ w = work + maxi;
+ }
+
+ /* for (i = 0; i < 256; i++) ind[i] = max; */
+ indp = ind; indpm = ind + 256;
+ while (indp < indpm)
+ {
+ *indp++ = max;
+ *indp++ = max;
+ *indp++ = max;
+ *indp++ = max;
+ }
+
+ i = 0;
+ if (cs) while (i < max)
+ {
+ i++;
+ maxi = max - i;
+ *w = *str;
+ ind[(unsigned char) *str] = maxi;
+ str += dir; w += dir;
+ }
+ else while (i < max)
+ {
+ i++;
+ maxi = max - i;
+ *w = UPPER_CASE(*str);
+ ind[(unsigned char) *w] = maxi;
+ ind[(unsigned char) LOWER_CASE(*str)] = maxi;
+ str += dir; w += dir;
+ }
+
+ work[max] = 0;
+ st->key_len = max;
+ return max;
+}
+
+/* 8bit clean upper and lowercase macros */
+unsigned char _SLChg_LCase_Lut[256];
+unsigned char _SLChg_UCase_Lut[256];
+
+void SLang_define_case (int *u, int *l)
+{
+ unsigned char up = (unsigned char) *u, dn = (unsigned char) *l;
+
+ _SLChg_LCase_Lut[up] = dn;
+ _SLChg_LCase_Lut[dn] = dn;
+ _SLChg_UCase_Lut[dn] = up;
+ _SLChg_UCase_Lut[up] = up;
+}
+
+void SLang_init_case_tables (void)
+{
+ int i, j;
+ if (Case_Tables_Ok) return;
+
+ for (i = 0; i < 256; i++)
+ {
+ _SLChg_UCase_Lut[i] = i;
+ _SLChg_LCase_Lut[i] = i;
+ }
+
+ for (i = 'A'; i <= 'Z'; i++)
+ {
+ j = i + 32;
+ _SLChg_UCase_Lut[j] = i;
+ _SLChg_LCase_Lut[i] = j;
+ }
+#ifdef PC_SYSTEM
+ /* Initialize for DOS code page 437. */
+ _SLChg_UCase_Lut[135] = 128; _SLChg_LCase_Lut[128] = 135;
+ _SLChg_UCase_Lut[132] = 142; _SLChg_LCase_Lut[142] = 132;
+ _SLChg_UCase_Lut[134] = 143; _SLChg_LCase_Lut[143] = 134;
+ _SLChg_UCase_Lut[130] = 144; _SLChg_LCase_Lut[144] = 130;
+ _SLChg_UCase_Lut[145] = 146; _SLChg_LCase_Lut[146] = 145;
+ _SLChg_UCase_Lut[148] = 153; _SLChg_LCase_Lut[153] = 148;
+ _SLChg_UCase_Lut[129] = 154; _SLChg_LCase_Lut[154] = 129;
+ _SLChg_UCase_Lut[164] = 165; _SLChg_LCase_Lut[165] = 164;
+#else
+ /* ISO Latin */
+ for (i = 192; i <= 221; i++)
+ {
+ j = i + 32;
+ _SLChg_UCase_Lut[j] = i;
+ _SLChg_LCase_Lut[i] = j;
+ }
+ _SLChg_UCase_Lut[215] = 215; _SLChg_LCase_Lut[215] = 215;
+ _SLChg_UCase_Lut[223] = 223; _SLChg_LCase_Lut[223] = 223;
+ _SLChg_UCase_Lut[247] = 247; _SLChg_LCase_Lut[247] = 247;
+ _SLChg_UCase_Lut[255] = 255; _SLChg_LCase_Lut[255] = 255;
+#endif
+ Case_Tables_Ok = 1;
+}
diff --git a/mdk-stage1/slang/slsignal.c b/mdk-stage1/slang/slsignal.c
new file mode 100644
index 000000000..30707dea5
--- /dev/null
+++ b/mdk-stage1/slang/slsignal.c
@@ -0,0 +1,336 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include <signal.h>
+
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_WAIT_H
+# include <sys/wait.h>
+#endif
+
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+/* Do not trust these environments */
+#if defined(__CYGWIN32__) || defined(__MINGW32__) || defined(AMIGA)
+# ifdef SLANG_POSIX_SIGNALS
+# undef SLANG_POSIX_SIGNALS
+# endif
+#endif
+
+/* This function will cause system calls to be restarted after signal if possible */
+SLSig_Fun_Type *SLsignal (int sig, SLSig_Fun_Type *f)
+{
+#if defined(SLANG_POSIX_SIGNALS)
+ struct sigaction old_sa, new_sa;
+
+# ifdef SIGALRM
+ /* We want system calls to be interrupted by SIGALRM. */
+ if (sig == SIGALRM) return SLsignal_intr (sig, f);
+# endif
+
+ sigemptyset (&new_sa.sa_mask);
+ new_sa.sa_handler = f;
+
+ new_sa.sa_flags = 0;
+# ifdef SA_RESTART
+ new_sa.sa_flags |= SA_RESTART;
+# endif
+
+ if (-1 == sigaction (sig, &new_sa, &old_sa))
+ return (SLSig_Fun_Type *) SIG_ERR;
+
+ return old_sa.sa_handler;
+#else
+ /* Not POSIX. */
+ return signal (sig, f);
+#endif
+}
+
+/* This function will NOT cause system calls to be restarted after
+ * signal if possible
+ */
+SLSig_Fun_Type *SLsignal_intr (int sig, SLSig_Fun_Type *f)
+{
+#ifdef SLANG_POSIX_SIGNALS
+ struct sigaction old_sa, new_sa;
+
+ sigemptyset (&new_sa.sa_mask);
+ new_sa.sa_handler = f;
+
+ new_sa.sa_flags = 0;
+# ifdef SA_INTERRUPT
+ new_sa.sa_flags |= SA_INTERRUPT;
+# endif
+
+ if (-1 == sigaction (sig, &new_sa, &old_sa))
+ return (SLSig_Fun_Type *) SIG_ERR;
+
+ return old_sa.sa_handler;
+#else
+ /* Not POSIX. */
+ return signal (sig, f);
+#endif
+}
+
+/* We are primarily interested in blocking signals that would cause the
+ * application to reset the tty. These include suspend signals and
+ * possibly interrupt signals.
+ */
+#ifdef SLANG_POSIX_SIGNALS
+static sigset_t Old_Signal_Mask;
+#endif
+
+static volatile unsigned int Blocked_Depth;
+
+int SLsig_block_signals (void)
+{
+#ifdef SLANG_POSIX_SIGNALS
+ sigset_t new_mask;
+#endif
+
+ Blocked_Depth++;
+ if (Blocked_Depth != 1)
+ {
+ return 0;
+ }
+
+#ifdef SLANG_POSIX_SIGNALS
+ sigemptyset (&new_mask);
+# ifdef SIGQUIT
+ sigaddset (&new_mask, SIGQUIT);
+# endif
+# ifdef SIGTSTP
+ sigaddset (&new_mask, SIGTSTP);
+# endif
+# ifdef SIGINT
+ sigaddset (&new_mask, SIGINT);
+# endif
+# ifdef SIGTTIN
+ sigaddset (&new_mask, SIGTTIN);
+# endif
+# ifdef SIGTTOU
+ sigaddset (&new_mask, SIGTTOU);
+# endif
+# ifdef SIGWINCH
+ sigaddset (&new_mask, SIGWINCH);
+# endif
+
+ (void) sigprocmask (SIG_BLOCK, &new_mask, &Old_Signal_Mask);
+ return 0;
+#else
+ /* Not implemented. */
+ return -1;
+#endif
+}
+
+int SLsig_unblock_signals (void)
+{
+ if (Blocked_Depth == 0)
+ return -1;
+
+ Blocked_Depth--;
+
+ if (Blocked_Depth != 0)
+ return 0;
+
+#ifdef SLANG_POSIX_SIGNALS
+ (void) sigprocmask (SIG_SETMASK, &Old_Signal_Mask, NULL);
+ return 0;
+#else
+ return -1;
+#endif
+}
+
+#ifdef MSWINDOWS
+int SLsystem (char *cmd)
+{
+ SLang_verror (SL_NOT_IMPLEMENTED, "system not implemented");
+ return -1;
+}
+
+#else
+int SLsystem (char *cmd)
+{
+#ifdef SLANG_POSIX_SIGNALS
+ pid_t pid;
+ int status;
+ struct sigaction ignore;
+# ifdef SIGINT
+ struct sigaction save_intr;
+# endif
+# ifdef SIGQUIT
+ struct sigaction save_quit;
+# endif
+# ifdef SIGCHLD
+ sigset_t child_mask, save_mask;
+# endif
+
+ if (cmd == NULL) return 1;
+
+ ignore.sa_handler = SIG_IGN;
+ sigemptyset (&ignore.sa_mask);
+ ignore.sa_flags = 0;
+
+# ifdef SIGINT
+ if (-1 == sigaction (SIGINT, &ignore, &save_intr))
+ return -1;
+# endif
+
+# ifdef SIGQUIT
+ if (-1 == sigaction (SIGQUIT, &ignore, &save_quit))
+ {
+ (void) sigaction (SIGINT, &save_intr, NULL);
+ return -1;
+ }
+# endif
+
+# ifdef SIGCHLD
+ sigemptyset (&child_mask);
+ sigaddset (&child_mask, SIGCHLD);
+ if (-1 == sigprocmask (SIG_BLOCK, &child_mask, &save_mask))
+ {
+# ifdef SIGINT
+ (void) sigaction (SIGINT, &save_intr, NULL);
+# endif
+# ifdef SIGQUIT
+ (void) sigaction (SIGQUIT, &save_quit, NULL);
+# endif
+ return -1;
+ }
+# endif
+
+ pid = fork();
+
+ if (pid == -1)
+ status = -1;
+ else if (pid == 0)
+ {
+ /* Child */
+# ifdef SIGINT
+ (void) sigaction (SIGINT, &save_intr, NULL);
+# endif
+# ifdef SIGQUIT
+ (void) sigaction (SIGQUIT, &save_quit, NULL);
+# endif
+# ifdef SIGCHLD
+ (void) sigprocmask (SIG_SETMASK, &save_mask, NULL);
+# endif
+
+ execl ("/bin/sh", "sh", "-c", cmd, NULL);
+ _exit (127);
+ }
+ else
+ {
+ /* parent */
+ while (-1 == waitpid (pid, &status, 0))
+ {
+# ifdef EINTR
+ if (errno == EINTR)
+ continue;
+# endif
+# ifdef ERESTARTSYS
+ if (errno == ERESTARTSYS)
+ continue;
+# endif
+ status = -1;
+ break;
+ }
+ }
+# ifdef SIGINT
+ if (-1 == sigaction (SIGINT, &save_intr, NULL))
+ status = -1;
+# endif
+# ifdef SIGQUIT
+ if (-1 == sigaction (SIGQUIT, &save_quit, NULL))
+ status = -1;
+# endif
+# ifdef SIGCHLD
+ if (-1 == sigprocmask (SIG_SETMASK, &save_mask, NULL))
+ status = -1;
+# endif
+
+ return status;
+
+#else /* No POSIX Signals */
+# ifdef SIGINT
+ void (*sint)(int);
+# endif
+# ifdef SIGQUIT
+ void (*squit)(int);
+# endif
+ int status;
+
+# ifdef SIGQUIT
+ squit = SLsignal (SIGQUIT, SIG_IGN);
+# endif
+# ifdef SIGINT
+ sint = SLsignal (SIGINT, SIG_IGN);
+# endif
+ status = system (cmd);
+# ifdef SIGINT
+ SLsignal (SIGINT, sint);
+# endif
+# ifdef SIGQUIT
+ SLsignal (SIGQUIT, squit);
+# endif
+ return status;
+#endif /* POSIX_SIGNALS */
+}
+#endif
+
+#if 0
+#include <windows.h>
+static int msw_system (char *cmd)
+{
+ STARTUPINFO startup_info;
+ PROCESS_INFORMATION process_info;
+ int status;
+
+ if (cmd == NULL) return -1;
+
+ memset ((char *) &startup_info, 0, sizeof (STARTUPINFO));
+ startup_info.cb = sizeof(STARTUPINFO);
+ startup_info.dwFlags = STARTF_USESHOWWINDOW;
+ startup_info.wShowWindow = SW_SHOWDEFAULT;
+
+ if (FALSE == CreateProcess (NULL,
+ cmd,
+ NULL,
+ NULL,
+ FALSE,
+ NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
+ NULL,
+ NULL,
+ &startup_info,
+ &process_info))
+ {
+ SLang_verror (0, "%s: CreateProcess failed.", cmd);
+ return -1;
+ }
+
+ status = -1;
+
+ if (0xFFFFFFFFUL != WaitForSingleObject (process_info.hProcess, INFINITE))
+ {
+ DWORD exit_code;
+
+ if (TRUE == GetExitCodeProcess (process_info.hProcess, &exit_code))
+ status = (int) exit_code;
+ }
+
+ CloseHandle (process_info.hThread);
+ CloseHandle (process_info.hProcess);
+
+ return status;
+}
+#endif
diff --git a/mdk-stage1/slang/slsmg.c b/mdk-stage1/slang/slsmg.c
new file mode 100644
index 000000000..088557f27
--- /dev/null
+++ b/mdk-stage1/slang/slsmg.c
@@ -0,0 +1,1584 @@
+/* SLang Screen management routines */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+typedef struct Screen_Type
+ {
+ int n; /* number of chars written last time */
+ int flags; /* line untouched, etc... */
+ SLsmg_Char_Type *old, *neew;
+#ifndef IBMPC_SYSTEM
+ unsigned long old_hash, new_hash;
+#endif
+ }
+Screen_Type;
+
+#define TOUCHED 0x1
+#define TRASHED 0x2
+static int Screen_Trashed;
+
+#if !defined(__MSDOS_16BIT__)
+# define MAX_SCREEN_SIZE 256
+#else
+# define MAX_SCREEN_SIZE 75
+#endif
+
+Screen_Type SL_Screen[MAX_SCREEN_SIZE];
+static int Start_Col, Start_Row;
+static int Screen_Cols, Screen_Rows;
+static int This_Row, This_Col;
+static int This_Color; /* only the first 8 bits of this
+ * are used. The highest bit is used
+ * to indicate an alternate character
+ * set. This leaves 127 userdefineable
+ * color combination.
+ */
+
+#ifndef IBMPC_SYSTEM
+#define ALT_CHAR_FLAG 0x80
+#else
+#define ALT_CHAR_FLAG 0x00
+#endif
+
+#if SLTT_HAS_NON_BCE_SUPPORT && !defined(IBMPC_SYSTEM)
+#define REQUIRES_NON_BCE_SUPPORT 1
+static int Bce_Color_Offset;
+#endif
+
+int SLsmg_Newline_Behavior = 0;
+int SLsmg_Backspace_Moves = 0;
+/* Backward compatibility. Not used. */
+/* int SLsmg_Newline_Moves; */
+
+static void (*tt_normal_video)(void) = SLtt_normal_video;
+static void (*tt_goto_rc)(int, int) = SLtt_goto_rc;
+static void (*tt_cls) (void) = SLtt_cls;
+static void (*tt_del_eol) (void) = SLtt_del_eol;
+static void (*tt_smart_puts) (SLsmg_Char_Type *, SLsmg_Char_Type *, int, int) = SLtt_smart_puts;
+static int (*tt_flush_output) (void) = SLtt_flush_output;
+static int (*tt_reset_video) (void) = SLtt_reset_video;
+static int (*tt_init_video) (void) = SLtt_init_video;
+static int *tt_Screen_Rows = &SLtt_Screen_Rows;
+static int *tt_Screen_Cols = &SLtt_Screen_Cols;
+
+#ifndef IBMPC_SYSTEM
+static void (*tt_set_scroll_region)(int, int) = SLtt_set_scroll_region;
+static void (*tt_reverse_index)(int) = SLtt_reverse_index;
+static void (*tt_reset_scroll_region)(void) = SLtt_reset_scroll_region;
+static void (*tt_delete_nlines)(int) = SLtt_delete_nlines;
+#endif
+
+#ifndef IBMPC_SYSTEM
+static int *tt_Term_Cannot_Scroll = &SLtt_Term_Cannot_Scroll;
+static int *tt_Has_Alt_Charset = &SLtt_Has_Alt_Charset;
+static char **tt_Graphics_Char_Pairs = &SLtt_Graphics_Char_Pairs;
+static int *tt_Use_Blink_For_ACS = &SLtt_Use_Blink_For_ACS;
+#endif
+
+static int Smg_Inited;
+
+static void blank_line (SLsmg_Char_Type *p, int n, unsigned char ch)
+{
+ register SLsmg_Char_Type *pmax = p + n;
+ register SLsmg_Char_Type color_ch;
+
+ color_ch = SLSMG_BUILD_CHAR(ch,This_Color);
+
+ while (p < pmax)
+ {
+ *p++ = color_ch;
+ }
+}
+
+static void clear_region (int row, int n)
+{
+ int i;
+ int imax = row + n;
+
+ if (imax > Screen_Rows) imax = Screen_Rows;
+ for (i = row; i < imax; i++)
+ {
+ if (i >= 0)
+ {
+ blank_line (SL_Screen[i].neew, Screen_Cols, ' ');
+ SL_Screen[i].flags |= TOUCHED;
+ }
+ }
+}
+
+void SLsmg_erase_eol (void)
+{
+ int r, c;
+
+ if (Smg_Inited == 0) return;
+
+ c = This_Col - Start_Col;
+ r = This_Row - Start_Row;
+
+ if ((r < 0) || (r >= Screen_Rows)) return;
+ if (c < 0) c = 0; else if (c >= Screen_Cols) return;
+ blank_line (SL_Screen[This_Row].neew + c , Screen_Cols - c, ' ');
+ SL_Screen[This_Row].flags |= TOUCHED;
+}
+
+static void scroll_up (void)
+{
+ unsigned int i, imax;
+ SLsmg_Char_Type *neew;
+
+ neew = SL_Screen[0].neew;
+ imax = Screen_Rows - 1;
+ for (i = 0; i < imax; i++)
+ {
+ SL_Screen[i].neew = SL_Screen[i + 1].neew;
+ SL_Screen[i].flags |= TOUCHED;
+ }
+ SL_Screen[i].neew = neew;
+ SL_Screen[i].flags |= TOUCHED;
+ blank_line (neew, Screen_Cols, ' ');
+ This_Row--;
+}
+
+void SLsmg_gotorc (int r, int c)
+{
+ This_Row = r;
+ This_Col = c;
+}
+
+int SLsmg_get_row (void)
+{
+ return This_Row;
+}
+
+int SLsmg_get_column (void)
+{
+ return This_Col;
+}
+
+void SLsmg_erase_eos (void)
+{
+ if (Smg_Inited == 0) return;
+
+ SLsmg_erase_eol ();
+ clear_region (This_Row + 1, Screen_Rows);
+}
+
+static int This_Alt_Char;
+
+void SLsmg_set_char_set (int i)
+{
+#ifdef IBMPC_SYSTEM
+ (void) i;
+#else
+ if ((tt_Use_Blink_For_ACS != NULL)
+ && (*tt_Use_Blink_For_ACS != 0))
+ return;/* alt chars not used and the alt bit
+ * is used to indicate a blink.
+ */
+
+ if (i) This_Alt_Char = ALT_CHAR_FLAG;
+ else This_Alt_Char = 0;
+
+ This_Color &= 0x7F;
+ This_Color |= This_Alt_Char;
+#endif
+}
+
+void SLsmg_set_color (int color)
+{
+ if (color < 0) return;
+#ifdef REQUIRES_NON_BCE_SUPPORT
+ color += Bce_Color_Offset;
+#endif
+ This_Color = color | This_Alt_Char;
+}
+
+void SLsmg_reverse_video (void)
+{
+ SLsmg_set_color (1);
+}
+
+void SLsmg_normal_video (void)
+{
+ SLsmg_set_color (0);
+}
+
+static int point_visible (int col_too)
+{
+ return ((This_Row >= Start_Row) && (This_Row < Start_Row + Screen_Rows)
+ && ((col_too == 0)
+ || ((This_Col >= Start_Col)
+ && (This_Col < Start_Col + Screen_Cols))));
+}
+
+void SLsmg_write_string (char *str)
+{
+ SLsmg_write_nchars (str, strlen (str));
+}
+
+void SLsmg_write_nstring (char *str, unsigned int n)
+{
+ unsigned int width;
+ char blank = ' ';
+
+ /* Avoid a problem if a user accidently passes a negative value */
+ if ((int) n < 0)
+ return;
+
+ if (str == NULL) width = 0;
+ else
+ {
+ width = strlen (str);
+ if (width > n) width = n;
+ SLsmg_write_nchars (str, width);
+ }
+ while (width++ < n) SLsmg_write_nchars (&blank, 1);
+}
+
+void SLsmg_write_wrapped_string (char *s, int r, int c,
+ unsigned int dr, unsigned int dc,
+ int fill)
+{
+ register char ch, *p;
+ int maxc = (int) dc;
+
+ if ((dr == 0) || (dc == 0)) return;
+ p = s;
+ dc = 0;
+ while (1)
+ {
+ ch = *p++;
+ if ((ch == 0) || (ch == '\n'))
+ {
+ int diff;
+
+ diff = maxc - (int) dc;
+
+ SLsmg_gotorc (r, c);
+ SLsmg_write_nchars (s, dc);
+ if (fill && (diff > 0))
+ {
+ while (diff--) SLsmg_write_char (' ');
+ }
+ if ((ch == 0) || (dr == 1)) break;
+
+ r++;
+ dc = 0;
+ dr--;
+ s = p;
+ }
+ else if ((int) dc == maxc)
+ {
+ SLsmg_gotorc (r, c);
+ SLsmg_write_nchars (s, dc + 1);
+ if (dr == 1) break;
+
+ r++;
+ dc = 0;
+ dr--;
+ s = p;
+ }
+ else dc++;
+ }
+}
+
+int SLsmg_Tab_Width = 8;
+
+/* Minimum value for which eight bit char is displayed as is. */
+
+#ifndef IBMPC_SYSTEM
+int SLsmg_Display_Eight_Bit = 160;
+static unsigned char Alt_Char_Set[129];/* 129th is used as a flag */
+#else
+int SLsmg_Display_Eight_Bit = 128;
+#endif
+
+void SLsmg_write_nchars (char *str, unsigned int n)
+{
+ register SLsmg_Char_Type *p, old, neew, color;
+ unsigned char ch;
+ unsigned int flags;
+ int len, start_len, max_len;
+ char *str_max;
+ int newline_flag;
+#ifndef IBMPC_SYSTEM
+ int alt_char_set_flag;
+
+ alt_char_set_flag = ((This_Color & ALT_CHAR_FLAG)
+ && ((tt_Use_Blink_For_ACS == NULL)
+ || (*tt_Use_Blink_For_ACS == 0)));
+#endif
+
+ if (Smg_Inited == 0) return;
+
+ str_max = str + n;
+ color = This_Color;
+
+ top: /* get here only on newline */
+
+ newline_flag = 0;
+ start_len = Start_Col;
+
+ if (point_visible (0) == 0) return;
+
+ len = This_Col;
+ max_len = start_len + Screen_Cols;
+
+ p = SL_Screen[This_Row - Start_Row].neew;
+ if (len > start_len) p += (len - start_len);
+
+ flags = SL_Screen[This_Row - Start_Row].flags;
+ while ((len < max_len) && (str < str_max))
+ {
+ ch = (unsigned char) *str++;
+
+#ifndef IBMPC_SYSTEM
+ if (alt_char_set_flag)
+ ch = Alt_Char_Set [ch & 0x7F];
+#endif
+ if (((ch >= ' ') && (ch < 127))
+ || (ch >= (unsigned char) SLsmg_Display_Eight_Bit)
+#ifndef IBMPC_SYSTEM
+ || alt_char_set_flag
+#endif
+ )
+ {
+ len += 1;
+ if (len > start_len)
+ {
+ old = *p;
+ neew = SLSMG_BUILD_CHAR(ch,color);
+ if (old != neew)
+ {
+ flags |= TOUCHED;
+ *p = neew;
+ }
+ p++;
+ }
+ }
+
+ else if ((ch == '\t') && (SLsmg_Tab_Width > 0))
+ {
+ n = len;
+ n += SLsmg_Tab_Width;
+ n = SLsmg_Tab_Width - (n % SLsmg_Tab_Width);
+ if ((unsigned int) len + n > (unsigned int) max_len)
+ n = (unsigned int) (max_len - len);
+ neew = SLSMG_BUILD_CHAR(' ',color);
+ while (n--)
+ {
+ len += 1;
+ if (len > start_len)
+ {
+ if (*p != neew)
+ {
+ flags |= TOUCHED;
+ *p = neew;
+ }
+ p++;
+ }
+ }
+ }
+ else if ((ch == '\n')
+ && (SLsmg_Newline_Behavior != SLSMG_NEWLINE_PRINTABLE))
+ {
+ newline_flag = 1;
+ break;
+ }
+ else if ((ch == 0x8) && SLsmg_Backspace_Moves)
+ {
+ if (len != 0) len--;
+ }
+ else
+ {
+ if (ch & 0x80)
+ {
+ neew = SLSMG_BUILD_CHAR('~',color);
+ len += 1;
+ if (len > start_len)
+ {
+ if (*p != neew)
+ {
+ *p = neew;
+ flags |= TOUCHED;
+ }
+ p++;
+ if (len == max_len) break;
+ ch &= 0x7F;
+ }
+ }
+
+ len += 1;
+ if (len > start_len)
+ {
+ neew = SLSMG_BUILD_CHAR('^',color);
+ if (*p != neew)
+ {
+ *p = neew;
+ flags |= TOUCHED;
+ }
+ p++;
+ if (len == max_len) break;
+ }
+
+ if (ch == 127) ch = '?'; else ch = ch + '@';
+ len++;
+ if (len > start_len)
+ {
+ neew = SLSMG_BUILD_CHAR(ch,color);
+ if (*p != neew)
+ {
+ *p = neew;
+ flags |= TOUCHED;
+ }
+ p++;
+ }
+ }
+ }
+
+ SL_Screen[This_Row - Start_Row].flags = flags;
+ This_Col = len;
+
+ if (SLsmg_Newline_Behavior == 0)
+ return;
+
+ if (newline_flag == 0)
+ {
+ while (str < str_max)
+ {
+ if (*str == '\n') break;
+ str++;
+ }
+ if (str == str_max) return;
+ str++;
+ }
+
+ This_Row++;
+ This_Col = 0;
+ if (This_Row == Start_Row + Screen_Rows)
+ {
+ if (SLsmg_Newline_Behavior == SLSMG_NEWLINE_SCROLLS) scroll_up ();
+ }
+ goto top;
+}
+
+void SLsmg_write_char (char ch)
+{
+ SLsmg_write_nchars (&ch, 1);
+}
+
+static int Cls_Flag;
+
+void SLsmg_cls (void)
+{
+ int tac;
+ if (Smg_Inited == 0) return;
+
+ tac = This_Alt_Char; This_Alt_Char = 0;
+ SLsmg_set_color (0);
+ clear_region (0, Screen_Rows);
+ This_Alt_Char = tac;
+ SLsmg_set_color (0);
+ Cls_Flag = 1;
+}
+#if 0
+static void do_copy (SLsmg_Char_Type *a, SLsmg_Char_Type *b)
+{
+ SLsmg_Char_Type *amax = a + Screen_Cols;
+
+ while (a < amax) *a++ = *b++;
+}
+#endif
+
+#ifndef IBMPC_SYSTEM
+int SLsmg_Scroll_Hash_Border = 0;
+static unsigned long compute_hash (SLsmg_Char_Type *s, int n)
+{
+ register unsigned long h = 0, g;
+ register unsigned long sum = 0;
+ register SLsmg_Char_Type *smax, ch;
+ int is_blank = 2;
+
+ s += SLsmg_Scroll_Hash_Border;
+ smax = s + (n - SLsmg_Scroll_Hash_Border);
+ while (s < smax)
+ {
+ ch = *s++;
+ if (is_blank && (SLSMG_EXTRACT_CHAR(ch) != 32)) is_blank--;
+
+ sum += ch;
+
+ h = sum + (h << 3);
+ if ((g = h & 0xE0000000UL) != 0)
+ {
+ h = h ^ (g >> 24);
+ h = h ^ g;
+ }
+ }
+ if (is_blank) return 0;
+ return h;
+}
+
+static unsigned long Blank_Hash;
+
+static int try_scroll_down (int rmin, int rmax)
+{
+ int i, r1, r2, di, j;
+ unsigned long hash;
+ int did_scroll;
+ int color;
+ SLsmg_Char_Type *tmp;
+ int ignore;
+
+ did_scroll = 0;
+ for (i = rmax; i > rmin; i--)
+ {
+ hash = SL_Screen[i].new_hash;
+ if (hash == Blank_Hash) continue;
+
+ if ((hash == SL_Screen[i].old_hash)
+#if 0
+ || ((i + 1 < Screen_Rows) && (hash == SL_Screen[i + 1].old_hash))
+ || ((i - 1 > rmin) && (SL_Screen[i].old_hash == SL_Screen[i - 1].new_hash))
+#endif
+ )
+ continue;
+
+ for (j = i - 1; j >= rmin; j--)
+ {
+ if (hash == SL_Screen[j].old_hash) break;
+ }
+ if (j < rmin) continue;
+
+ r2 = i; /* end scroll region */
+
+ di = i - j;
+ j--;
+ ignore = 0;
+ while ((j >= rmin) && (SL_Screen[j].old_hash == SL_Screen[j + di].new_hash))
+ {
+ if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
+ j--;
+ }
+ r1 = j + 1;
+
+ /* If this scroll only scrolls this line into place, don't do it.
+ */
+ if ((di > 1) && (r1 + di + ignore == r2)) continue;
+
+ /* If there is anything in the scrolling region that is ok, abort the
+ * scroll.
+ */
+
+ for (j = r1; j <= r2; j++)
+ {
+ if ((SL_Screen[j].old_hash != Blank_Hash)
+ && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
+ {
+ /* See if the scroll is happens to scroll this one into place. */
+ if ((j + di > r2) || (SL_Screen[j].old_hash != SL_Screen[j + di].new_hash))
+ break;
+ }
+ }
+ if (j <= r2) continue;
+
+ color = This_Color; This_Color = 0;
+ did_scroll = 1;
+ (*tt_normal_video) ();
+ (*tt_set_scroll_region) (r1, r2);
+ (*tt_goto_rc) (0, 0);
+ (*tt_reverse_index) (di);
+ (*tt_reset_scroll_region) ();
+ /* Now we have a hole in the screen.
+ * Make the virtual screen look like it.
+ *
+ * Note that if the terminal does not support BCE, then we have
+ * no idea what color the hole is. So, for this case, we do not
+ * want to add Bce_Color_Offset to This_Color since if Bce_Color_Offset
+ * is non-zero, then This_Color = 0 does not match any valid color
+ * obtained by adding Bce_Color_Offset.
+ */
+ for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
+
+ while (di--)
+ {
+ tmp = SL_Screen[r2].old;
+ for (j = r2; j > r1; j--)
+ {
+ SL_Screen[j].old = SL_Screen[j - 1].old;
+ SL_Screen[j].old_hash = SL_Screen[j - 1].old_hash;
+ }
+ SL_Screen[r1].old = tmp;
+ blank_line (SL_Screen[r1].old, Screen_Cols, ' ');
+ SL_Screen[r1].old_hash = Blank_Hash;
+ r1++;
+ }
+ This_Color = color;
+ }
+
+ return did_scroll;
+}
+
+static int try_scroll_up (int rmin, int rmax)
+{
+ int i, r1, r2, di, j;
+ unsigned long hash;
+ int did_scroll;
+ int color;
+ SLsmg_Char_Type *tmp;
+ int ignore;
+
+ did_scroll = 0;
+ for (i = rmin; i < rmax; i++)
+ {
+ hash = SL_Screen[i].new_hash;
+ if (hash == Blank_Hash) continue;
+ if (hash == SL_Screen[i].old_hash)
+ continue;
+ /* find a match further down screen */
+ for (j = i + 1; j <= rmax; j++)
+ {
+ if (hash == SL_Screen[j].old_hash) break;
+ }
+ if (j > rmax) continue;
+
+ r1 = i; /* beg scroll region */
+ di = j - i; /* number of lines to scroll */
+ j++; /* since we know this is a match */
+
+ /* find end of scroll region */
+ ignore = 0;
+ while ((j <= rmax) && (SL_Screen[j].old_hash == SL_Screen[j - di].new_hash))
+ {
+ if (SL_Screen[j].old_hash == Blank_Hash) ignore++;
+ j++;
+ }
+ r2 = j - 1; /* end of scroll region */
+
+ /* If this scroll only scrolls this line into place, don't do it.
+ */
+ if ((di > 1) && (r1 + di + ignore == r2)) continue;
+
+ /* If there is anything in the scrolling region that is ok, abort the
+ * scroll.
+ */
+
+ for (j = r1; j <= r2; j++)
+ {
+ if ((SL_Screen[j].old_hash != Blank_Hash)
+ && (SL_Screen[j].old_hash == SL_Screen[j].new_hash))
+ {
+ if ((j - di < r1) || (SL_Screen[j].old_hash != SL_Screen[j - di].new_hash))
+ break;
+ }
+
+ }
+ if (j <= r2) continue;
+
+ did_scroll = 1;
+
+ /* See the above comments about BCE */
+ color = This_Color; This_Color = 0;
+ (*tt_normal_video) ();
+ (*tt_set_scroll_region) (r1, r2);
+ (*tt_goto_rc) (0, 0); /* relative to scroll region */
+ (*tt_delete_nlines) (di);
+ (*tt_reset_scroll_region) ();
+ /* Now we have a hole in the screen. Make the virtual screen look
+ * like it.
+ */
+ for (j = r1; j <= r2; j++) SL_Screen[j].flags = TOUCHED;
+
+ while (di--)
+ {
+ tmp = SL_Screen[r1].old;
+ for (j = r1; j < r2; j++)
+ {
+ SL_Screen[j].old = SL_Screen[j + 1].old;
+ SL_Screen[j].old_hash = SL_Screen[j + 1].old_hash;
+ }
+ SL_Screen[r2].old = tmp;
+ blank_line (SL_Screen[r2].old, Screen_Cols, ' ');
+ SL_Screen[r2].old_hash = Blank_Hash;
+ r2--;
+ }
+ This_Color = color;
+ }
+ return did_scroll;
+}
+
+static void try_scroll (void)
+{
+ int r1, rmin, rmax;
+ int num_up, num_down;
+ /* find region limits. */
+
+ for (rmax = Screen_Rows - 1; rmax > 0; rmax--)
+ {
+ if (SL_Screen[rmax].new_hash != SL_Screen[rmax].old_hash)
+ {
+ r1 = rmax - 1;
+ if ((r1 == 0)
+ || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
+ break;
+
+ rmax = r1;
+ }
+ }
+
+ for (rmin = 0; rmin < rmax; rmin++)
+ {
+ if (SL_Screen[rmin].new_hash != SL_Screen[rmin].old_hash)
+ {
+ r1 = rmin + 1;
+ if ((r1 == rmax)
+ || (SL_Screen[r1].new_hash != SL_Screen[r1].old_hash))
+ break;
+
+ rmin = r1;
+ }
+ }
+
+ /* Below, we have two scrolling algorithms. The first has the effect of
+ * scrolling lines down. This is usually appropriate when one moves
+ * up the display, e.g., with the UP arrow. The second algorithm is
+ * appropriate for going the other way. It is important to choose the
+ * correct one.
+ */
+
+ num_up = 0;
+ for (r1 = rmin; r1 < rmax; r1++)
+ {
+ if (SL_Screen[r1].new_hash == SL_Screen[r1 + 1].old_hash)
+ num_up++;
+ }
+
+ num_down = 0;
+ for (r1 = rmax; r1 > rmin; r1--)
+ {
+ if (SL_Screen[r1 - 1].old_hash == SL_Screen[r1].new_hash)
+ num_down++;
+ }
+
+ if (num_up > num_down)
+ {
+ if (try_scroll_up (rmin, rmax))
+ return;
+
+ (void) try_scroll_down (rmin, rmax);
+ }
+ else
+ {
+ if (try_scroll_down (rmin, rmax))
+ return;
+
+ (void) try_scroll_up (rmin, rmax);
+ }
+}
+#endif /* NOT IBMPC_SYSTEM */
+
+
+#ifdef REQUIRES_NON_BCE_SUPPORT
+static void adjust_colors (void)
+{
+ int bce;
+ int i;
+
+ bce = Bce_Color_Offset;
+ Bce_Color_Offset = _SLtt_get_bce_color_offset ();
+ if (bce == Bce_Color_Offset)
+ return;
+
+ if ((tt_Use_Blink_For_ACS != NULL)
+ && (*tt_Use_Blink_For_ACS != 0))
+ return; /* this mode does not support non-BCE
+ * terminals.
+ */
+
+ for (i = 0; i < Screen_Rows; i++)
+ {
+ SLsmg_Char_Type *s, *smax;
+
+ SL_Screen[i].flags |= TRASHED;
+ s = SL_Screen[i].neew;
+ smax = s + Screen_Cols;
+
+ while (s < smax)
+ {
+ int color = (int) SLSMG_EXTRACT_COLOR(*s);
+ int acs;
+
+ if (color < 0)
+ {
+ s++;
+ continue;
+ }
+
+ acs = color & 0x80;
+ color = (color & 0x7F) - bce;
+ color += Bce_Color_Offset;
+ if (color >= 0)
+ {
+ unsigned char ch = SLSMG_EXTRACT_CHAR(*s);
+ *s = SLSMG_BUILD_CHAR(ch, ((color&0x7F)|acs));
+ }
+ s++;
+ }
+ }
+}
+#endif
+
+void SLsmg_refresh (void)
+{
+ int i;
+#ifndef IBMPC_SYSTEM
+ int trashed = 0;
+#endif
+
+ if (Smg_Inited == 0) return;
+
+ if (Screen_Trashed)
+ {
+ Cls_Flag = 1;
+ for (i = 0; i < Screen_Rows; i++)
+ SL_Screen[i].flags |= TRASHED;
+#ifdef REQUIRES_NON_BCE_SUPPORT
+ adjust_colors ();
+#endif
+ }
+
+#ifndef IBMPC_SYSTEM
+ for (i = 0; i < Screen_Rows; i++)
+ {
+ if (SL_Screen[i].flags == 0) continue;
+ SL_Screen[i].new_hash = compute_hash (SL_Screen[i].neew, Screen_Cols);
+ trashed = 1;
+ }
+#endif
+
+ if (Cls_Flag)
+ {
+ (*tt_normal_video) (); (*tt_cls) ();
+ }
+#ifndef IBMPC_SYSTEM
+ else if (trashed && (*tt_Term_Cannot_Scroll == 0)) try_scroll ();
+#endif
+
+ for (i = 0; i < Screen_Rows; i++)
+ {
+ if (SL_Screen[i].flags == 0) continue;
+
+ if (Cls_Flag || SL_Screen[i].flags & TRASHED)
+ {
+ int color = This_Color;
+
+ if (Cls_Flag == 0)
+ {
+ (*tt_goto_rc) (i, 0);
+ (*tt_del_eol) ();
+ }
+ This_Color = 0;
+ blank_line (SL_Screen[i].old, Screen_Cols, ' ');
+ This_Color = color;
+ }
+
+ SL_Screen[i].old[Screen_Cols] = 0;
+ SL_Screen[i].neew[Screen_Cols] = 0;
+
+ (*tt_smart_puts) (SL_Screen[i].neew, SL_Screen[i].old, Screen_Cols, i);
+
+ SLMEMCPY ((char *) SL_Screen[i].old, (char *) SL_Screen[i].neew,
+ Screen_Cols * sizeof (SLsmg_Char_Type));
+
+ SL_Screen[i].flags = 0;
+#ifndef IBMPC_SYSTEM
+ SL_Screen[i].old_hash = SL_Screen[i].new_hash;
+#endif
+ }
+
+ if (point_visible (1)) (*tt_goto_rc) (This_Row - Start_Row, This_Col - Start_Col);
+ (*tt_flush_output) ();
+ Cls_Flag = 0;
+ Screen_Trashed = 0;
+}
+
+static int compute_clip (int row, int n, int box_start, int box_end,
+ int *rmin, int *rmax)
+{
+ int row_max;
+
+ if (n < 0) return 0;
+ if (row >= box_end) return 0;
+ row_max = row + n;
+ if (row_max <= box_start) return 0;
+
+ if (row < box_start) row = box_start;
+ if (row_max >= box_end) row_max = box_end;
+ *rmin = row;
+ *rmax = row_max;
+ return 1;
+}
+
+void SLsmg_touch_lines (int row, unsigned int n)
+{
+ int i;
+ int r1, r2;
+
+ /* Allow this function to be called even when we are not initialied.
+ * Calling this function is useful after calling SLtt_set_color
+ * to force the display to be redrawn
+ */
+
+ if (Smg_Inited == 0)
+ return;
+
+ if (0 == compute_clip (row, (int) n, Start_Row, Start_Row + Screen_Rows, &r1, &r2))
+ return;
+
+ r1 -= Start_Row;
+ r2 -= Start_Row;
+ for (i = r1; i < r2; i++)
+ {
+ SL_Screen[i].flags |= TRASHED;
+ }
+}
+
+void SLsmg_touch_screen (void)
+{
+ Screen_Trashed = 1;
+}
+
+
+#ifndef IBMPC_SYSTEM
+static char Fake_Alt_Char_Pairs [] = "a:j+k+l+m+q-t+u+v+w+x|n+`+f\\g#~o,<+>.v-^h#0#";
+
+static void init_alt_char_set (void)
+{
+ int i;
+ unsigned char *p, *pmax, ch;
+
+ if (Alt_Char_Set[128] == 128) return;
+
+ i = 32;
+ memset ((char *)Alt_Char_Set, ' ', i);
+ while (i <= 128)
+ {
+ Alt_Char_Set [i] = i;
+ i++;
+ }
+
+ /* Map to VT100 */
+ if (*tt_Has_Alt_Charset)
+ {
+ if (tt_Graphics_Char_Pairs == NULL) p = NULL;
+ else p = (unsigned char *) *tt_Graphics_Char_Pairs;
+ if (p == NULL) return;
+ }
+ else p = (unsigned char *) Fake_Alt_Char_Pairs;
+ pmax = p + strlen ((char *) p);
+
+ /* Some systems have messed up entries for this */
+ while (p < pmax)
+ {
+ ch = *p++;
+ ch &= 0x7F; /* should be unnecessary */
+ Alt_Char_Set [ch] = *p;
+ p++;
+ }
+}
+#endif
+
+#ifndef IBMPC_SYSTEM
+# define BLOCK_SIGNALS SLsig_block_signals ()
+# define UNBLOCK_SIGNALS SLsig_unblock_signals ()
+#else
+# define BLOCK_SIGNALS (void)0
+# define UNBLOCK_SIGNALS (void)0
+#endif
+
+static int Smg_Suspended;
+int SLsmg_suspend_smg (void)
+{
+ BLOCK_SIGNALS;
+
+ if (Smg_Suspended == 0)
+ {
+ (*tt_reset_video) ();
+ Smg_Suspended = 1;
+ }
+
+ UNBLOCK_SIGNALS;
+ return 0;
+}
+
+int SLsmg_resume_smg (void)
+{
+ BLOCK_SIGNALS;
+
+ if (Smg_Suspended == 0)
+ {
+ UNBLOCK_SIGNALS;
+ return 0;
+ }
+
+ Smg_Suspended = 0;
+
+ if (-1 == (*tt_init_video) ())
+ {
+ UNBLOCK_SIGNALS;
+ return -1;
+ }
+
+ Cls_Flag = 1;
+ SLsmg_touch_screen ();
+ SLsmg_refresh ();
+
+ UNBLOCK_SIGNALS;
+ return 0;
+}
+
+
+static void reset_smg (void)
+{
+ int i;
+ if (Smg_Inited == 0)
+ return;
+
+ for (i = 0; i < Screen_Rows; i++)
+ {
+ SLfree ((char *)SL_Screen[i].old);
+ SLfree ((char *)SL_Screen[i].neew);
+ SL_Screen[i].old = SL_Screen[i].neew = NULL;
+ }
+ This_Alt_Char = This_Color = 0;
+ Smg_Inited = 0;
+}
+
+
+static int init_smg (void)
+{
+ int i, len;
+ SLsmg_Char_Type *old, *neew;
+
+ Smg_Inited = 0;
+
+#ifdef REQUIRES_NON_BCE_SUPPORT
+ Bce_Color_Offset = _SLtt_get_bce_color_offset ();
+#endif
+
+ Screen_Rows = *tt_Screen_Rows;
+ if (Screen_Rows > MAX_SCREEN_SIZE)
+ Screen_Rows = MAX_SCREEN_SIZE;
+
+ Screen_Cols = *tt_Screen_Cols;
+
+ This_Col = This_Row = Start_Col = Start_Row = 0;
+
+ This_Alt_Char = 0;
+ SLsmg_set_color (0);
+ Cls_Flag = 1;
+#ifndef IBMPC_SYSTEM
+ init_alt_char_set ();
+#endif
+ len = Screen_Cols + 3;
+ for (i = 0; i < Screen_Rows; i++)
+ {
+ if ((NULL == (old = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))
+ || ((NULL == (neew = (SLsmg_Char_Type *) SLmalloc (sizeof(SLsmg_Char_Type) * len)))))
+ {
+ SLfree ((char *) old);
+ return -1;
+ }
+ blank_line (old, len, ' ');
+ blank_line (neew, len, ' ');
+ SL_Screen[i].old = old;
+ SL_Screen[i].neew = neew;
+ SL_Screen[i].flags = 0;
+#ifndef IBMPC_SYSTEM
+ Blank_Hash = compute_hash (old, Screen_Cols);
+ SL_Screen[i].new_hash = SL_Screen[i].old_hash = Blank_Hash;
+#endif
+ }
+
+ _SLtt_color_changed_hook = SLsmg_touch_screen;
+ Screen_Trashed = 1;
+ Smg_Inited = 1;
+ return 0;
+}
+
+
+int SLsmg_init_smg (void)
+{
+ int ret;
+
+ BLOCK_SIGNALS;
+
+ if (Smg_Inited)
+ SLsmg_reset_smg ();
+
+ if (-1 == (*tt_init_video) ())
+ {
+ UNBLOCK_SIGNALS;
+ return -1;
+ }
+
+ if (-1 == (ret = init_smg ()))
+ (void) (*tt_reset_video)();
+
+ UNBLOCK_SIGNALS;
+ return ret;
+}
+
+int SLsmg_reinit_smg (void)
+{
+ int ret;
+
+ if (Smg_Inited == 0)
+ return SLsmg_init_smg ();
+
+ BLOCK_SIGNALS;
+ reset_smg ();
+ ret = init_smg ();
+ UNBLOCK_SIGNALS;
+ return ret;
+}
+
+void SLsmg_reset_smg (void)
+{
+ if (Smg_Inited == 0)
+ return;
+
+ BLOCK_SIGNALS;
+
+ reset_smg ();
+ (*tt_reset_video)();
+
+ UNBLOCK_SIGNALS;
+}
+
+SLsmg_Char_Type SLsmg_char_at (void)
+{
+ if (Smg_Inited == 0) return 0;
+
+ if (point_visible (1))
+ {
+ return SL_Screen[This_Row - Start_Row].neew[This_Col - Start_Col];
+ }
+ return 0;
+}
+
+void SLsmg_vprintf (char *fmt, va_list ap)
+{
+ char buf[1024];
+
+ if (Smg_Inited == 0) return;
+
+ (void) _SLvsnprintf (buf, sizeof (buf), fmt, ap);
+ SLsmg_write_string (buf);
+}
+
+void SLsmg_printf (char *fmt, ...)
+{
+ va_list ap;
+ unsigned int len;
+ char *f;
+
+ if (Smg_Inited == 0) return;
+
+ va_start(ap, fmt);
+
+ f = fmt;
+ while (*f && (*f != '%'))
+ f++;
+ len = (unsigned int) (f - fmt);
+ if (len) SLsmg_write_nchars (fmt, len);
+
+ if (*f != 0)
+ SLsmg_vprintf (f, ap);
+
+ va_end (ap);
+}
+
+void SLsmg_set_screen_start (int *r, int *c)
+{
+ int orow = Start_Row, oc = Start_Col;
+
+ if (Smg_Inited == 0) return;
+
+ if (c == NULL) Start_Col = 0;
+ else
+ {
+ Start_Col = *c;
+ *c = oc;
+ }
+ if (r == NULL) Start_Row = 0;
+ else
+ {
+ Start_Row = *r;
+ *r = orow;
+ }
+}
+
+void SLsmg_draw_object (int r, int c, unsigned char object)
+{
+ This_Row = r; This_Col = c;
+
+ if (Smg_Inited == 0) return;
+
+ if (point_visible (1))
+ {
+ int color = This_Color;
+ This_Color |= ALT_CHAR_FLAG;
+ SLsmg_write_char (object);
+ This_Color = color;
+ }
+
+ This_Col = c + 1;
+}
+
+void SLsmg_draw_hline (unsigned int n)
+{
+ static unsigned char hbuf[16];
+ int count;
+ int cmin, cmax;
+ int final_col = This_Col + (int) n;
+ int save_color;
+
+ if (Smg_Inited == 0) return;
+
+ if ((This_Row < Start_Row) || (This_Row >= Start_Row + Screen_Rows)
+ || (0 == compute_clip (This_Col, n, Start_Col, Start_Col + Screen_Cols,
+ &cmin, &cmax)))
+ {
+ This_Col = final_col;
+ return;
+ }
+
+ if (hbuf[0] == 0)
+ {
+ SLMEMSET ((char *) hbuf, SLSMG_HLINE_CHAR, 16);
+ }
+
+ n = (unsigned int)(cmax - cmin);
+ count = n / 16;
+
+ save_color = This_Color;
+ This_Color |= ALT_CHAR_FLAG;
+ This_Col = cmin;
+
+ SLsmg_write_nchars ((char *) hbuf, n % 16);
+ while (count-- > 0)
+ {
+ SLsmg_write_nchars ((char *) hbuf, 16);
+ }
+
+ This_Color = save_color;
+ This_Col = final_col;
+}
+
+void SLsmg_draw_vline (int n)
+{
+ unsigned char ch = SLSMG_VLINE_CHAR;
+ int c = This_Col, rmin, rmax;
+ int final_row = This_Row + n;
+ int save_color;
+
+ if (Smg_Inited == 0) return;
+
+ if (((c < Start_Col) || (c >= Start_Col + Screen_Cols)) ||
+ (0 == compute_clip (This_Row, n, Start_Row, Start_Row + Screen_Rows,
+ &rmin, &rmax)))
+ {
+ This_Row = final_row;
+ return;
+ }
+
+ save_color = This_Color;
+ This_Color |= ALT_CHAR_FLAG;
+
+ for (This_Row = rmin; This_Row < rmax; This_Row++)
+ {
+ This_Col = c;
+ SLsmg_write_nchars ((char *) &ch, 1);
+ }
+
+ This_Col = c; This_Row = final_row;
+ This_Color = save_color;
+}
+
+void SLsmg_draw_box (int r, int c, unsigned int dr, unsigned int dc)
+{
+ if (Smg_Inited == 0) return;
+
+ if (!dr || !dc) return;
+ This_Row = r; This_Col = c;
+ dr--; dc--;
+ SLsmg_draw_hline (dc);
+ SLsmg_draw_vline (dr);
+ This_Row = r; This_Col = c;
+ SLsmg_draw_vline (dr);
+ SLsmg_draw_hline (dc);
+ SLsmg_draw_object (r, c, SLSMG_ULCORN_CHAR);
+ SLsmg_draw_object (r, c + (int) dc, SLSMG_URCORN_CHAR);
+ SLsmg_draw_object (r + (int) dr, c, SLSMG_LLCORN_CHAR);
+ SLsmg_draw_object (r + (int) dr, c + (int) dc, SLSMG_LRCORN_CHAR);
+ This_Row = r; This_Col = c;
+}
+
+void SLsmg_fill_region (int r, int c, unsigned int dr, unsigned int dc, unsigned char ch)
+{
+ static unsigned char hbuf[16];
+ int count;
+ int dcmax, rmax;
+
+ if (Smg_Inited == 0) return;
+
+ SLsmg_gotorc (r, c);
+ r = This_Row; c = This_Col;
+
+ dcmax = Screen_Cols - This_Col;
+ if (dcmax < 0)
+ return;
+
+ if (dc > (unsigned int) dcmax) dc = (unsigned int) dcmax;
+
+ rmax = This_Row + dr;
+ if (rmax > Screen_Rows) rmax = Screen_Rows;
+
+#if 0
+ ch = Alt_Char_Set[ch];
+#endif
+ if (ch != hbuf[0]) SLMEMSET ((char *) hbuf, (char) ch, 16);
+
+ for (This_Row = r; This_Row < rmax; This_Row++)
+ {
+ This_Col = c;
+ count = dc / 16;
+ SLsmg_write_nchars ((char *) hbuf, dc % 16);
+ while (count-- > 0)
+ {
+ SLsmg_write_nchars ((char *) hbuf, 16);
+ }
+ }
+
+ This_Row = r;
+}
+
+void SLsmg_forward (int n)
+{
+ This_Col += n;
+}
+
+void SLsmg_write_color_chars (SLsmg_Char_Type *s, unsigned int len)
+{
+ SLsmg_Char_Type *smax, sh;
+ char buf[32], *b, *bmax;
+ int color, save_color;
+
+ if (Smg_Inited == 0) return;
+
+ smax = s + len;
+ b = buf;
+ bmax = b + sizeof (buf);
+
+ save_color = This_Color;
+
+ while (s < smax)
+ {
+ sh = *s++;
+
+ color = SLSMG_EXTRACT_COLOR(sh);
+
+#if REQUIRES_NON_BCE_SUPPORT
+ if (Bce_Color_Offset)
+ {
+ if (color & 0x80)
+ color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
+ else
+ color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
+ }
+#endif
+
+ if ((color != This_Color) || (b == bmax))
+ {
+ if (b != buf)
+ {
+ SLsmg_write_nchars (buf, (int) (b - buf));
+ b = buf;
+ }
+ This_Color = color;
+ }
+ *b++ = (char) SLSMG_EXTRACT_CHAR(sh);
+ }
+
+ if (b != buf)
+ SLsmg_write_nchars (buf, (unsigned int) (b - buf));
+
+ This_Color = save_color;
+}
+
+unsigned int SLsmg_read_raw (SLsmg_Char_Type *buf, unsigned int len)
+{
+ unsigned int r, c;
+
+ if (Smg_Inited == 0) return 0;
+
+ if (0 == point_visible (1)) return 0;
+
+ r = (unsigned int) (This_Row - Start_Row);
+ c = (unsigned int) (This_Col - Start_Col);
+
+ if (c + len > (unsigned int) Screen_Cols)
+ len = (unsigned int) Screen_Cols - c;
+
+ memcpy ((char *) buf, (char *) (SL_Screen[r].neew + c), len * sizeof (SLsmg_Char_Type));
+ return len;
+}
+
+unsigned int SLsmg_write_raw (SLsmg_Char_Type *buf, unsigned int len)
+{
+ unsigned int r, c;
+ SLsmg_Char_Type *dest;
+
+ if (Smg_Inited == 0) return 0;
+
+ if (0 == point_visible (1)) return 0;
+
+ r = (unsigned int) (This_Row - Start_Row);
+ c = (unsigned int) (This_Col - Start_Col);
+
+ if (c + len > (unsigned int) Screen_Cols)
+ len = (unsigned int) Screen_Cols - c;
+
+ dest = SL_Screen[r].neew + c;
+
+ if (0 != memcmp ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type)))
+ {
+ memcpy ((char *) dest, (char *) buf, len * sizeof (SLsmg_Char_Type));
+ SL_Screen[r].flags |= TOUCHED;
+ }
+ return len;
+}
+
+void
+SLsmg_set_color_in_region (int color, int r, int c, unsigned int dr, unsigned int dc)
+{
+ int cmax, rmax;
+ SLsmg_Char_Type char_mask;
+
+ if (Smg_Inited == 0) return;
+
+ c -= Start_Col;
+ r -= Start_Row;
+
+ cmax = c + (int) dc;
+ rmax = r + (int) dr;
+
+ if (cmax > Screen_Cols) cmax = Screen_Cols;
+ if (rmax > Screen_Rows) rmax = Screen_Rows;
+
+ if (c < 0) c = 0;
+ if (r < 0) r = 0;
+
+#if REQUIRES_NON_BCE_SUPPORT
+ if (Bce_Color_Offset)
+ {
+ if (color & 0x80)
+ color = ((color & 0x7F) + Bce_Color_Offset) | 0x80;
+ else
+ color = ((color & 0x7F) + Bce_Color_Offset) & 0x7F;
+ }
+#endif
+ color = color << 8;
+
+ char_mask = 0xFF;
+
+#ifndef IBMPC_SYSTEM
+ if ((tt_Use_Blink_For_ACS == NULL)
+ || (0 == *tt_Use_Blink_For_ACS))
+ char_mask = 0x80FF;
+#endif
+
+ while (r < rmax)
+ {
+ SLsmg_Char_Type *s, *smax;
+
+ SL_Screen[r].flags |= TOUCHED;
+ s = SL_Screen[r].neew;
+ smax = s + cmax;
+ s += c;
+
+ while (s < smax)
+ {
+ *s = (*s & char_mask) | color;
+ s++;
+ }
+ r++;
+ }
+}
+
+void SLsmg_set_terminal_info (SLsmg_Term_Type *tt)
+{
+ if (tt == NULL) /* use default */
+ return;
+
+ if ((tt->tt_normal_video == NULL)
+ || (tt->tt_goto_rc == NULL)
+ || (tt->tt_cls == NULL)
+ || (tt->tt_del_eol == NULL)
+ || (tt->tt_smart_puts == NULL)
+ || (tt->tt_flush_output == NULL)
+ || (tt->tt_reset_video == NULL)
+ || (tt->tt_init_video == NULL)
+#ifndef IBMPC_SYSTEM
+ || (tt->tt_set_scroll_region == NULL)
+ || (tt->tt_reverse_index == NULL)
+ || (tt->tt_reset_scroll_region == NULL)
+ || (tt->tt_delete_nlines == NULL)
+ /* Variables */
+ || (tt->tt_term_cannot_scroll == NULL)
+ || (tt->tt_has_alt_charset == NULL)
+#if 0 /* These can be NULL */
+ || (tt->tt_use_blink_for_acs == NULL)
+ || (tt->tt_graphic_char_pairs == NULL)
+#endif
+ || (tt->tt_screen_cols == NULL)
+ || (tt->tt_screen_rows == NULL)
+#endif
+ )
+ SLang_exit_error ("Terminal not powerful enough for SLsmg");
+
+ tt_normal_video = tt->tt_normal_video;
+ tt_goto_rc = tt->tt_goto_rc;
+ tt_cls = tt->tt_cls;
+ tt_del_eol = tt->tt_del_eol;
+ tt_smart_puts = tt->tt_smart_puts;
+ tt_flush_output = tt->tt_flush_output;
+ tt_reset_video = tt->tt_reset_video;
+ tt_init_video = tt->tt_init_video;
+
+#ifndef IBMPC_SYSTEM
+ tt_set_scroll_region = tt->tt_set_scroll_region;
+ tt_reverse_index = tt->tt_reverse_index;
+ tt_reset_scroll_region = tt->tt_reset_scroll_region;
+ tt_delete_nlines = tt->tt_delete_nlines;
+
+ tt_Term_Cannot_Scroll = tt->tt_term_cannot_scroll;
+ tt_Has_Alt_Charset = tt->tt_has_alt_charset;
+ tt_Use_Blink_For_ACS = tt->tt_use_blink_for_acs;
+ tt_Graphics_Char_Pairs = tt->tt_graphic_char_pairs;
+#endif
+
+ tt_Screen_Cols = tt->tt_screen_cols;
+ tt_Screen_Rows = tt->tt_screen_rows;
+}
+
diff --git a/mdk-stage1/slang/slstd.c b/mdk-stage1/slang/slstd.c
new file mode 100644
index 000000000..b05dfcddb
--- /dev/null
+++ b/mdk-stage1/slang/slstd.c
@@ -0,0 +1,724 @@
+/* -*- mode: C; mode: fold; -*- */
+/* Standard intrinsic functions for S-Lang. Included here are string
+ and array operations */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+/*{{{ Include Files */
+
+#include <time.h>
+
+#ifndef __QNX__
+# if defined(__GO32__) || defined(__WATCOMC__)
+# include <dos.h>
+# include <bios.h>
+# endif
+#endif
+
+#if SLANG_HAS_FLOAT
+# include <math.h>
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+/*}}}*/
+
+/* builtin stack manipulation functions */
+int SLdo_pop(void) /*{{{*/
+{
+ return SLdo_pop_n (1);
+}
+
+/*}}}*/
+
+int SLdo_pop_n (unsigned int n)
+{
+ SLang_Object_Type x;
+
+ while (n--)
+ {
+ if (SLang_pop(&x)) return -1;
+ SLang_free_object (&x);
+ }
+
+ return 0;
+}
+
+static void do_dup(void) /*{{{*/
+{
+ (void) SLdup_n (1);
+}
+
+/*}}}*/
+
+static int length_cmd (void)
+{
+ SLang_Class_Type *cl;
+ SLang_Object_Type obj;
+ VOID_STAR p;
+ unsigned int length;
+ int len;
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ cl = _SLclass_get_class (obj.data_type);
+ p = _SLclass_get_ptr_to_value (cl, &obj);
+
+ len = 1;
+ if (cl->cl_length != NULL)
+ {
+ if (0 == (*cl->cl_length)(obj.data_type, p, &length))
+ len = (int) length;
+ else
+ len = -1;
+ }
+
+ SLang_free_object (&obj);
+ return len;
+}
+
+/* convert integer to a string of length 1 */
+static void char_cmd (int *x) /*{{{*/
+{
+ char ch, buf[2];
+
+ ch = (char) *x;
+ buf[0] = ch;
+ buf[1] = 0;
+ SLang_push_string (buf);
+}
+
+/*}}}*/
+
+/* format object into a string and returns slstring */
+char *_SLstringize_object (SLang_Object_Type *obj) /*{{{*/
+{
+ SLang_Class_Type *cl;
+ unsigned char stype;
+ VOID_STAR p;
+ char *s, *s1;
+
+ stype = obj->data_type;
+ p = (VOID_STAR) &obj->v.ptr_val;
+
+ cl = _SLclass_get_class (stype);
+
+ s = (*cl->cl_string) (stype, p);
+ if (s != NULL)
+ {
+ s1 = SLang_create_slstring (s);
+ SLfree (s);
+ s = s1;
+ }
+ return s;
+}
+/*}}}*/
+
+int SLang_run_hooks(char *hook, unsigned int num_args, ...)
+{
+ unsigned int i;
+ va_list ap;
+
+ if (SLang_Error) return -1;
+
+ if (0 == SLang_is_defined (hook))
+ return 0;
+
+ (void) SLang_start_arg_list ();
+ va_start (ap, num_args);
+ for (i = 0; i < num_args; i++)
+ {
+ char *arg;
+
+ arg = va_arg (ap, char *);
+ if (-1 == SLang_push_string (arg))
+ break;
+ }
+ va_end (ap);
+ (void) SLang_end_arg_list ();
+
+ if (SLang_Error) return -1;
+ return SLang_execute_function (hook);
+}
+
+static void intrin_getenv_cmd (char *s)
+{
+ SLang_push_string (getenv (s));
+}
+
+#ifdef HAVE_PUTENV
+static void intrin_putenv (void) /*{{{*/
+{
+ char *s;
+
+ /* Some putenv implementations required malloced strings. */
+ if (SLpop_string(&s)) return;
+
+ if (putenv (s))
+ {
+ SLang_Error = SL_INTRINSIC_ERROR;
+ SLfree (s);
+ }
+
+ /* Note that s is NOT freed */
+}
+
+/*}}}*/
+
+#endif
+
+static void lang_print_stack (void) /*{{{*/
+{
+ char buf[32];
+ unsigned int n;
+
+ n = (unsigned int) (_SLStack_Pointer - _SLRun_Stack);
+ while (n)
+ {
+ n--;
+ sprintf (buf, "(%u)", n);
+ _SLdump_objects (buf, _SLRun_Stack + n, 1, 1);
+ }
+}
+
+/*}}}*/
+
+static void byte_compile_file (char *f, int *m)
+{
+ SLang_byte_compile_file (f, *m);
+}
+
+static void intrin_type_info1 (void)
+{
+ SLang_Object_Type obj;
+ unsigned int type;
+
+ if (-1 == SLang_pop (&obj))
+ return;
+
+ type = obj.data_type;
+ if (type == SLANG_ARRAY_TYPE)
+ type = obj.v.array_val->data_type;
+
+ SLang_free_object (&obj);
+
+ _SLang_push_datatype (type);
+}
+
+static void intrin_type_info (void)
+{
+ SLang_Object_Type obj;
+
+ if (-1 == SLang_pop (&obj))
+ return;
+
+ _SLang_push_datatype (obj.data_type);
+ SLang_free_object (&obj);
+}
+
+void _SLstring_intrinsic (void) /*{{{*/
+{
+ SLang_Object_Type x;
+ char *s;
+
+ if (SLang_pop (&x)) return;
+ if (NULL != (s = _SLstringize_object (&x)))
+ _SLang_push_slstring (s);
+
+ SLang_free_object (&x);
+}
+
+/*}}}*/
+
+static void intrin_typecast (void)
+{
+ unsigned char to_type;
+ if (0 == _SLang_pop_datatype (&to_type))
+ (void) SLclass_typecast (to_type, 0, 1);
+}
+
+#if SLANG_HAS_FLOAT
+static void intrin_double (void)
+{
+ (void) SLclass_typecast (SLANG_DOUBLE_TYPE, 0, 1);
+}
+
+#endif
+
+static void intrin_int (void) /*{{{*/
+{
+ (void) SLclass_typecast (SLANG_INT_TYPE, 0, 1);
+}
+
+/*}}}*/
+
+static char *
+intrin_function_name (void)
+{
+ if (NULL == _SLang_Current_Function_Name)
+ return "";
+ return _SLang_Current_Function_Name;
+}
+
+static void intrin_message (char *s)
+{
+ SLang_vmessage ("%s", s);
+}
+
+static void intrin_error (char *s)
+{
+ SLang_verror (SL_USER_ERROR, "%s", s);
+}
+
+static void intrin_pop_n (int *n)
+{
+ SLdo_pop_n ((unsigned int) *n);
+}
+
+static void intrin_reverse_stack (int *n)
+{
+ SLreverse_stack (*n);
+}
+
+static void intrin_roll_stack (int *n)
+{
+ SLroll_stack (*n);
+}
+
+static void usage (void)
+{
+ char *msg;
+
+ _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
+
+ if (-1 == SLang_pop_slstring (&msg))
+ return;
+
+ SLang_verror (SL_USAGE_ERROR, "Usage: %s", msg);
+ SLang_free_slstring (msg);
+}
+
+/* Convert string to integer */
+static int intrin_integer (char *s)
+{
+ int i;
+
+ i = SLatoi ((unsigned char *) s);
+
+ if (SLang_Error)
+ SLang_verror (SL_TYPE_MISMATCH, "Unable to convert string to integer");
+ return i;
+}
+/*}}}*/
+
+static void guess_type (char *s)
+{
+ _SLang_push_datatype (SLang_guess_type(s));
+}
+
+static int load_file (char *s)
+{
+ if (-1 == SLang_load_file (s))
+ return 0;
+ return 1;
+}
+
+static void get_doc_string (char *file, char *topic)
+{
+ FILE *fp;
+ char line[1024];
+ unsigned int topic_len, str_len;
+ char *str;
+ char ch;
+
+ if (NULL == (fp = fopen (file, "r")))
+ {
+ SLang_push_null ();
+ return;
+ }
+
+ topic_len = strlen (topic);
+ ch = *topic;
+
+ while (1)
+ {
+ if (NULL == fgets (line, sizeof(line), fp))
+ {
+ fclose (fp);
+ (void) SLang_push_null ();
+ return;
+ }
+
+ if ((ch == *line)
+ && (0 == strncmp (line, topic, topic_len))
+ && ((line[topic_len] == '\n') || (line [topic_len] == 0)
+ || (line[topic_len] == ' ') || (line[topic_len] == '\t')))
+ break;
+ }
+
+ if (NULL == (str = SLmake_string (line)))
+ {
+ fclose (fp);
+ (void) SLang_push_null ();
+ return;
+ }
+ str_len = strlen (str);
+
+ while (NULL != fgets (line, sizeof (line), fp))
+ {
+ unsigned int len;
+ char *new_str;
+
+ ch = *line;
+ if (ch == '#') continue;
+ if (ch == '-') break;
+
+ len = strlen (line);
+ if (NULL == (new_str = SLrealloc (str, str_len + len + 1)))
+ {
+ SLfree (str);
+ str = NULL;
+ break;
+ }
+ str = new_str;
+ strcpy (str + str_len, line);
+ str_len += len;
+ }
+
+ fclose (fp);
+
+ (void) SLang_push_malloced_string (str);
+}
+
+static int push_string_array_elements (SLang_Array_Type *at)
+{
+ char **strs;
+ unsigned int num;
+ unsigned int i;
+
+ if (at == NULL)
+ return -1;
+
+ strs = (char **)at->data;
+ num = at->num_elements;
+ for (i = 0; i < num; i++)
+ {
+ if (-1 == SLang_push_string (strs[i]))
+ {
+ SLdo_pop_n (i);
+ return -1;
+ }
+ }
+ SLang_push_integer ((int) num);
+ return 0;
+}
+
+
+static void intrin_apropos (void)
+{
+ int num_args;
+ char *pat;
+ char *namespace_name;
+ unsigned int flags;
+ SLang_Array_Type *at;
+
+ num_args = SLang_Num_Function_Args;
+
+ if (-1 == SLang_pop_uinteger (&flags))
+ return;
+ if (-1 == SLang_pop_slstring (&pat))
+ return;
+
+ namespace_name = NULL;
+ at = NULL;
+ if (num_args == 3)
+ {
+ if (-1 == SLang_pop_slstring (&namespace_name))
+ goto free_and_return;
+ }
+
+ at = _SLang_apropos (namespace_name, pat, flags);
+ if (num_args == 3)
+ {
+ (void) SLang_push_array (at, 0);
+ goto free_and_return;
+ }
+
+ /* Maintain compatibility with old version of the function. That version
+ * did not take three arguments and returned everything to the stack.
+ * Yuk.
+ */
+ (void) push_string_array_elements (at);
+
+ free_and_return:
+ /* NULLs ok */
+ SLang_free_slstring (namespace_name);
+ SLang_free_slstring (pat);
+ SLang_free_array (at);
+}
+
+static int intrin_get_defines (void)
+{
+ int n = 0;
+ char **s = _SLdefines;
+
+ while (*s != NULL)
+ {
+ if (-1 == SLang_push_string (*s))
+ {
+ SLdo_pop_n ((unsigned int) n);
+ return -1;
+ }
+ s++;
+ n++;
+ }
+ return n;
+}
+
+static void intrin_get_reference (char *name)
+{
+ _SLang_push_ref (1, (VOID_STAR) _SLlocate_name (name));
+}
+
+#ifdef HAVE_SYS_UTSNAME_H
+# include <sys/utsname.h>
+#endif
+
+static void uname_cmd (void)
+{
+#ifdef HAVE_UNAME
+ struct utsname u;
+ char *field_names [6];
+ unsigned char field_types[6];
+ VOID_STAR field_values [6];
+ char *ptrs[6];
+ int i;
+
+ if (-1 == uname (&u))
+ (void) SLang_push_null ();
+
+ field_names[0] = "sysname"; ptrs[0] = u.sysname;
+ field_names[1] = "nodename"; ptrs[1] = u.nodename;
+ field_names[2] = "release"; ptrs[2] = u.release;
+ field_names[3] = "version"; ptrs[3] = u.version;
+ field_names[4] = "machine"; ptrs[4] = u.machine;
+
+ for (i = 0; i < 5; i++)
+ {
+ field_types[i] = SLANG_STRING_TYPE;
+ field_values[i] = (VOID_STAR) &ptrs[i];
+ }
+
+ if (0 == SLstruct_create_struct (5, field_names, field_types, field_values))
+ return;
+#endif
+
+ SLang_push_null ();
+}
+
+static void uninitialize_ref_intrin (SLang_Ref_Type *ref)
+{
+ (void) _SLang_uninitialize_ref (ref);
+}
+
+static SLang_Intrin_Fun_Type SLang_Basic_Table [] = /*{{{*/
+{
+ MAKE_INTRINSIC_1("__is_initialized", _SLang_is_ref_initialized, SLANG_INT_TYPE, SLANG_REF_TYPE),
+ MAKE_INTRINSIC_S("__get_reference", intrin_get_reference, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_1("__uninitialize", uninitialize_ref_intrin, SLANG_VOID_TYPE, SLANG_REF_TYPE),
+ MAKE_INTRINSIC_SS("get_doc_string_from_file", get_doc_string, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SS("autoload", SLang_autoload, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("is_defined", SLang_is_defined, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_0("string", _SLstring_intrinsic, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("uname", uname_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("getenv", intrin_getenv_cmd, SLANG_VOID_TYPE),
+#ifdef HAVE_PUTENV
+ MAKE_INTRINSIC_0("putenv", intrin_putenv, SLANG_VOID_TYPE),
+#endif
+ MAKE_INTRINSIC_S("evalfile", load_file, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_I("char", char_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("eval", SLang_load_string, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("dup", do_dup, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("integer", intrin_integer, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("system", SLsystem, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_0("_apropos", intrin_apropos, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("_trace_function", _SLang_trace_fun, SLANG_VOID_TYPE),
+#if SLANG_HAS_FLOAT
+ MAKE_INTRINSIC_S("atof", _SLang_atof, SLANG_DOUBLE_TYPE),
+ MAKE_INTRINSIC_0("double", intrin_double, SLANG_VOID_TYPE),
+#endif
+ MAKE_INTRINSIC_0("int", intrin_int, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("typecast", intrin_typecast, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("_stkdepth", _SLstack_depth, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_I("_stk_reverse", intrin_reverse_stack, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("typeof", intrin_type_info, VOID_TYPE),
+ MAKE_INTRINSIC_0("_typeof", intrin_type_info1, VOID_TYPE),
+ MAKE_INTRINSIC_I("_pop_n", intrin_pop_n, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("_print_stack", lang_print_stack, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_I("_stk_roll", intrin_roll_stack, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SI("byte_compile_file", byte_compile_file, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("_clear_error", _SLang_clear_error, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("_function_name", intrin_function_name, SLANG_STRING_TYPE),
+#if SLANG_HAS_FLOAT
+ MAKE_INTRINSIC_S("set_float_format", _SLset_double_format, SLANG_VOID_TYPE),
+#endif
+ MAKE_INTRINSIC_S("_slang_guess_type", guess_type, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("error", intrin_error, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("message", intrin_message, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("__get_defined_symbols", intrin_get_defines, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_I("__pop_args", _SLstruct_pop_args, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_1("__push_args", _SLstruct_push_args, SLANG_VOID_TYPE, SLANG_ARRAY_TYPE),
+ MAKE_INTRINSIC_0("usage", usage, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("implements", _SLang_implements_intrinsic, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("use_namespace", _SLang_use_namespace_intrinsic, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("current_namespace", _SLang_cur_namespace_intrinsic, SLANG_STRING_TYPE),
+ MAKE_INTRINSIC_0("length", length_cmd, SLANG_INT_TYPE),
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+/*}}}*/
+
+#ifdef SLANG_DOC_DIR
+char *SLang_Doc_Dir = SLANG_DOC_DIR;
+#else
+char *SLang_Doc_Dir = "";
+#endif
+
+static SLang_Intrin_Var_Type Intrin_Vars[] =
+{
+ MAKE_VARIABLE("_debug_info", &_SLang_Compile_Line_Num_Info, SLANG_INT_TYPE, 0),
+ MAKE_VARIABLE("_auto_declare", &_SLang_Auto_Declare_Globals, SLANG_INT_TYPE, 0),
+ MAKE_VARIABLE("_traceback", &SLang_Traceback, SLANG_INT_TYPE, 0),
+ MAKE_VARIABLE("_slangtrace", &_SLang_Trace, SLANG_INT_TYPE, 0),
+ MAKE_VARIABLE("_slang_version", &SLang_Version, SLANG_INT_TYPE, 1),
+ MAKE_VARIABLE("_slang_version_string", &SLang_Version_String, SLANG_STRING_TYPE, 1),
+ MAKE_VARIABLE("_NARGS", &SLang_Num_Function_Args, SLANG_INT_TYPE, 1),
+ MAKE_VARIABLE("_slang_doc_dir", &SLang_Doc_Dir, SLANG_STRING_TYPE, 1),
+ MAKE_VARIABLE("NULL", NULL, SLANG_NULL_TYPE, 1),
+ SLANG_END_INTRIN_VAR_TABLE
+};
+
+int SLang_init_slang (void) /*{{{*/
+{
+ char name[3];
+ unsigned int i;
+ char **s;
+ static char *sys_defines [] =
+ {
+#if defined(__os2__)
+ "OS2",
+#endif
+#if defined(__MSDOS__)
+ "MSDOS",
+#endif
+#if defined(__WIN16__)
+ "WIN16",
+#endif
+#if defined (__WIN32__)
+ "WIN32",
+#endif
+#if defined(__NT__)
+ "NT",
+#endif
+#if defined (VMS)
+ "VMS",
+#endif
+#ifdef REAL_UNIX_SYSTEM
+ "UNIX",
+#endif
+#if SLANG_HAS_FLOAT
+ "SLANG_DOUBLE_TYPE",
+#endif
+ NULL
+ };
+
+ if (-1 == _SLregister_types ()) return -1;
+
+ if ((-1 == SLadd_intrin_fun_table(SLang_Basic_Table, NULL))
+ || (-1 == SLadd_intrin_var_table (Intrin_Vars, NULL))
+ || (-1 == _SLang_init_slstrops ())
+ || (-1 == _SLang_init_sltime ())
+ || (-1 == _SLstruct_init ())
+#if SLANG_HAS_COMPLEX
+ || (-1 == _SLinit_slcomplex ())
+#endif
+#if SLANG_HAS_ASSOC_ARRAYS
+ || (-1 == SLang_init_slassoc ())
+#endif
+ )
+ return -1;
+
+ SLadd_global_variable (SLANG_SYSTEM_NAME);
+
+ s = sys_defines;
+ while (*s != NULL)
+ {
+ if (-1 == SLdefine_for_ifdef (*s)) return -1;
+ s++;
+ }
+
+ /* give temp global variables $0 --> $9 */
+ name[2] = 0; name[0] = '$';
+ for (i = 0; i < 10; i++)
+ {
+ name[1] = (char) (i + '0');
+ SLadd_global_variable (name);
+ }
+
+ SLang_init_case_tables ();
+
+ /* Now add a couple of macros */
+ SLang_load_string (".(_NARGS 1 - Sprintf error)verror");
+ SLang_load_string (".(_NARGS 1 - Sprintf message)vmessage");
+
+ if (SLang_Error)
+ return -1;
+
+ return 0;
+}
+
+/*}}}*/
+
+int SLang_set_argc_argv (int argc, char **argv)
+{
+ static int this_argc;
+ static char **this_argv;
+ int i;
+
+ if (argc < 0) argc = 0;
+ this_argc = argc;
+
+ if (NULL == (this_argv = (char **) SLmalloc ((argc + 1) * sizeof (char *))))
+ return -1;
+ memset ((char *) this_argv, 0, sizeof (char *) * (argc + 1));
+
+ for (i = 0; i < argc; i++)
+ {
+ if (NULL == (this_argv[i] = SLang_create_slstring (argv[i])))
+ goto return_error;
+ }
+
+ if (-1 == SLadd_intrinsic_variable ("__argc", (VOID_STAR)&this_argc,
+ SLANG_INT_TYPE, 1))
+ goto return_error;
+
+ if (-1 == SLang_add_intrinsic_array ("__argv", SLANG_STRING_TYPE, 1,
+ (VOID_STAR) this_argv, 1, argc))
+ goto return_error;
+
+ return 0;
+
+ return_error:
+ for (i = 0; i < argc; i++)
+ SLang_free_slstring (this_argv[i]); /* NULL ok */
+ SLfree ((char *) this_argv);
+
+ return -1;
+}
diff --git a/mdk-stage1/slang/slstdio.c b/mdk-stage1/slang/slstdio.c
new file mode 100644
index 000000000..05db1af77
--- /dev/null
+++ b/mdk-stage1/slang/slstdio.c
@@ -0,0 +1,1050 @@
+/* file stdio intrinsics for S-Lang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#if defined(__unix__) || (defined (__os2__) && defined (__EMX__))
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
+# include <sys/fcntl.h>
+#endif
+
+#ifdef __unix__
+# include <sys/file.h>
+#endif
+
+#if defined(__BORLANDC__)
+# include <io.h>
+# include <dir.h>
+#endif
+
+#if defined(__DECC) && defined(VMS)
+# include <unixio.h>
+# include <unixlib.h>
+#endif
+
+#ifdef VMS
+# include <stat.h>
+#else
+# include <sys/stat.h>
+#endif
+
+#include <errno.h>
+
+#define SL_APP_WANTS_FOREACH
+#include "slang.h"
+#include "_slang.h"
+
+typedef struct
+{
+ FILE *fp; /* kind of obvious */
+ char *file; /* file name associated with pointer */
+
+ unsigned int flags; /* modes, etc... */
+#define SL_READ 0x0001
+#define SL_WRITE 0x0002
+#define SL_BINARY 0x0004
+#define SL_FDOPEN 0x2000
+#define SL_PIPE 0x4000
+#define SL_INUSE 0x8000
+}
+SL_File_Table_Type;
+
+static SL_File_Table_Type *SL_File_Table;
+
+static SL_File_Table_Type *get_free_file_table_entry (void)
+{
+ SL_File_Table_Type *t = SL_File_Table, *tmax;
+
+ tmax = t + SL_MAX_FILES;
+ while (t < tmax)
+ {
+ if (t->flags == 0)
+ {
+ memset ((char *) t, 0, sizeof (SL_File_Table_Type));
+ return t;
+ }
+ t++;
+ }
+
+ return NULL;
+}
+
+static unsigned int file_process_flags (char *mode)
+{
+ char ch;
+ unsigned int flags = 0;
+
+ while (1)
+ {
+ ch = *mode++;
+ switch (ch)
+ {
+ case 'r': flags |= SL_READ;
+ break;
+ case 'w':
+ case 'a':
+ case 'A':
+ flags |= SL_WRITE;
+ break;
+ case '+': flags |= SL_WRITE | SL_READ;
+ break;
+ case 'b': flags |= SL_BINARY;
+ break;
+ case 0:
+ return flags;
+
+ default:
+ SLang_verror (SL_INVALID_PARM, "File flag %c is not supported", ch);
+ return 0;
+ }
+ }
+}
+
+static int open_file_type (char *file, int fd, char *mode,
+ FILE *(*open_fun)(char *, char *),
+ int (*close_fun)(FILE *),
+ unsigned int xflags)
+{
+ FILE *fp;
+ SL_File_Table_Type *t;
+ unsigned int flags;
+ SLang_MMT_Type *mmt;
+
+ fp = NULL;
+ t = NULL;
+ mmt = NULL;
+
+ if ((NULL == (t = get_free_file_table_entry ()))
+ || (0 == (flags = file_process_flags(mode))))
+ goto return_error;
+
+ if (fd != -1)
+ fp = fdopen (fd, mode);
+ else
+ fp = open_fun (file, mode);
+
+ if (fp == NULL)
+ {
+ _SLerrno_errno = errno;
+ goto return_error;
+ }
+
+ if (NULL == (mmt = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) t)))
+ goto return_error;
+
+ t->fp = fp;
+ t->flags = flags | xflags;
+ fp = NULL; /* allow free_mmt to close fp */
+
+ if ((NULL != (t->file = SLang_create_slstring (file)))
+ && (0 == SLang_push_mmt (mmt)))
+ return 0;
+
+ /* drop */
+
+ return_error:
+ if (fp != NULL) (*close_fun) (fp);
+ if (mmt != NULL) SLang_free_mmt (mmt);
+ (void) SLang_push_null ();
+ return -1;
+}
+
+/* Since some compilers do not have popen/pclose prototyped and in scope,
+ * and pc compilers sometimes have silly prototypes involving PASCAL, etc.
+ * use wrappers around the function to avoid compilation errors.
+ */
+
+static FILE *fopen_fun (char *f, char *m)
+{
+ return fopen (f, m);
+}
+static int fclose_fun (FILE *fp)
+{
+ return fclose (fp);
+}
+
+static void stdio_fopen (char *file, char *mode)
+{
+ (void) open_file_type (file, -1, mode, fopen_fun, fclose_fun, 0);
+}
+
+int _SLstdio_fdopen (char *file, int fd, char *mode)
+{
+ if (fd == -1)
+ {
+ _SLerrno_errno = EBADF;
+ (void) SLang_push_null ();
+ return -1;
+ }
+
+ return open_file_type (file, fd, mode, NULL, fclose_fun, SL_FDOPEN);
+}
+
+#ifdef HAVE_POPEN
+static int pclose_fun (FILE *fp)
+{
+ return pclose (fp);
+}
+
+static FILE *popen_fun (char *file, char *mode)
+{
+ return popen (file, mode);
+}
+
+static void stdio_popen (char *file, char *mode)
+{
+ (void) open_file_type (file, -1, mode, popen_fun, pclose_fun, SL_PIPE);
+}
+#endif
+
+/* returns pointer to file entry if it is open and consistent with
+ flags. Returns NULL otherwise */
+static SLang_MMT_Type *pop_fp (unsigned int flags, FILE **fp_ptr)
+{
+ SL_File_Table_Type *t;
+ SLang_MMT_Type *mmt;
+
+ *fp_ptr = NULL;
+
+ if (NULL == (mmt = SLang_pop_mmt (SLANG_FILE_PTR_TYPE)))
+ return NULL;
+
+ t = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
+ if ((t->flags & flags)
+ && (NULL != (*fp_ptr = t->fp)))
+ return mmt;
+
+ SLang_free_mmt (mmt);
+ return NULL;
+}
+
+static FILE *check_fp (SL_File_Table_Type *t, unsigned flags)
+{
+ if ((t != NULL) && (t->flags & flags))
+ return t->fp;
+
+ return NULL;
+}
+
+char *SLang_get_name_from_fileptr (SLang_MMT_Type *mmt)
+{
+ SL_File_Table_Type *ft;
+
+ ft = (SL_File_Table_Type *) SLang_object_from_mmt (mmt);
+ if (ft == NULL)
+ return NULL;
+ return ft->file;
+}
+
+int SLang_pop_fileptr (SLang_MMT_Type **mmt, FILE **fp)
+{
+ if (NULL == (*mmt = pop_fp (0xFFFF, fp)))
+ {
+#ifdef EBADF
+ _SLerrno_errno = EBADF;
+#endif
+ return -1;
+ }
+
+ return 0;
+}
+
+static int close_file_type (SL_File_Table_Type *t)
+{
+ int ret = 0;
+ FILE *fp;
+
+ if (t == NULL)
+ return -1;
+
+ fp = t->fp;
+
+ if (NULL == fp) ret = -1;
+ else
+ {
+ if (0 == (t->flags & SL_PIPE))
+ {
+ if (EOF == (ret = fclose (fp)))
+ _SLerrno_errno = errno;
+ }
+#ifdef HAVE_POPEN
+ else
+ {
+ if (-1 == (ret = pclose (fp)))
+ _SLerrno_errno = errno;
+ }
+#endif
+ }
+
+ if (t->file != NULL) SLang_free_slstring (t->file);
+ memset ((char *) t, 0, sizeof (SL_File_Table_Type));
+ return ret;
+}
+
+static int stdio_fclose (SL_File_Table_Type *t)
+{
+ int ret;
+
+ if (NULL == check_fp (t, 0xFFFF))
+ return -1;
+
+ ret = close_file_type (t);
+
+ t->flags = SL_INUSE;
+ return ret;
+}
+
+static int read_one_line (FILE *fp, char **strp, unsigned int *lenp)
+{
+ char buf[512];
+ char *str;
+ unsigned int len;
+
+ *strp = NULL;
+ len = 0;
+ str = NULL;
+
+ while (NULL != fgets (buf, sizeof (buf), fp))
+ {
+ unsigned int dlen;
+ char *new_str;
+ int done_flag;
+
+ dlen = strlen (buf);
+ /* Note: If the file contains embedded \0 characters, then this
+ * fails to work properly since dlen will not be correct.
+ */
+ done_flag = ((dlen + 1 < sizeof (buf))
+ || (buf[dlen - 1] == '\n'));
+
+ if (done_flag && (str == NULL))
+ {
+ /* Avoid the malloc */
+ str = buf;
+ len = dlen;
+ break;
+ }
+
+ if (NULL == (new_str = SLrealloc (str, len + dlen + 1)))
+ {
+ SLfree (str);
+ return -1;
+ }
+
+ str = new_str;
+ strcpy (str + len, buf);
+ len += dlen;
+
+ if (done_flag) break;
+ }
+
+ if (str == NULL)
+ return 0;
+
+ *strp = SLang_create_nslstring (str, len);
+ if (str != buf) SLfree (str);
+
+ if (*strp == NULL) return -1;
+
+ *lenp = len;
+ return 1;
+}
+
+/* returns number of characters read and pushes the string to the stack.
+ If it fails, it returns -1 */
+static int stdio_fgets (SLang_Ref_Type *ref, SL_File_Table_Type *t)
+{
+ char *s;
+ unsigned int len;
+ FILE *fp;
+ int status;
+
+ if (NULL == (fp = check_fp (t, SL_READ)))
+ return -1;
+
+ status = read_one_line (fp, &s, &len);
+ if (status <= 0)
+ return -1;
+
+ status = SLang_assign_to_ref (ref, SLANG_STRING_TYPE, (VOID_STAR)&s);
+ SLang_free_slstring (s);
+
+ if (status == -1)
+ return -1;
+
+ return (int) len;
+}
+
+static void stdio_fgetslines_internal (FILE *fp, unsigned int n)
+{
+ unsigned int num_lines, max_num_lines;
+ char **list;
+ SLang_Array_Type *at;
+ int inum_lines;
+
+ if (n > 1024)
+ max_num_lines = 1024;
+ else
+ {
+ max_num_lines = n;
+ if (max_num_lines == 0)
+ max_num_lines++;
+ }
+
+ list = (char **) SLmalloc (sizeof (char *) * max_num_lines);
+ if (list == NULL)
+ return;
+
+ num_lines = 0;
+ while (num_lines < n)
+ {
+ int status;
+ char *line;
+ unsigned int len;
+
+ status = read_one_line (fp, &line, &len);
+ if (status == -1)
+ goto return_error;
+
+ if (status == 0)
+ break;
+
+ if (max_num_lines == num_lines)
+ {
+ char **new_list;
+
+ if (max_num_lines + 4096 > n)
+ max_num_lines = n;
+ else
+ max_num_lines += 4096;
+
+ new_list = (char **) SLrealloc ((char *)list, sizeof (char *) * max_num_lines);
+ if (new_list == NULL)
+ {
+ SLang_free_slstring (line);
+ goto return_error;
+ }
+ list = new_list;
+ }
+
+ list[num_lines] = line;
+ num_lines++;
+ }
+
+ if (num_lines != max_num_lines)
+ {
+ char **new_list;
+
+ new_list = (char **)SLrealloc ((char *)list, sizeof (char *) * (num_lines + 1));
+ if (new_list == NULL)
+ goto return_error;
+
+ list = new_list;
+ }
+
+ inum_lines = (int) num_lines;
+ if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) list, &inum_lines, 1)))
+ goto return_error;
+
+ if (-1 == SLang_push_array (at, 1))
+ SLang_push_null ();
+ return;
+
+ return_error:
+ while (num_lines > 0)
+ {
+ num_lines--;
+ SLfree (list[num_lines]);
+ }
+ SLfree ((char *)list);
+ SLang_push_null ();
+}
+
+static void stdio_fgetslines (void)
+{
+ unsigned int n;
+ FILE *fp;
+ SLang_MMT_Type *mmt;
+
+ n = (unsigned int)-1;
+
+ if (SLang_Num_Function_Args == 2)
+ {
+ if (-1 == SLang_pop_uinteger (&n))
+ return;
+ }
+
+ if (NULL == (mmt = pop_fp (SL_READ, &fp)))
+ {
+ SLang_push_null ();
+ return;
+ }
+
+ stdio_fgetslines_internal (fp, n);
+ SLang_free_mmt (mmt);
+}
+
+
+static int stdio_fputs (char *s, SL_File_Table_Type *t)
+{
+ FILE *fp;
+
+ if (NULL == (fp = check_fp (t, SL_WRITE)))
+ return -1;
+
+ if (EOF == fputs(s, fp)) return -1;
+ return (int) strlen (s);
+}
+
+static int stdio_fflush (SL_File_Table_Type *t)
+{
+ FILE *fp;
+
+ if (NULL == (fp = check_fp (t, SL_WRITE)))
+ return -1;
+
+ if (EOF == fflush (fp))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+
+ return 0;
+}
+
+/* Usage: n = fread (&str, data-type, nelems, fp); */
+static void stdio_fread (SLang_Ref_Type *ref, int *data_typep, unsigned int *num_elemns, SL_File_Table_Type *t)
+{
+ char *s;
+ FILE *fp;
+ int ret;
+ unsigned int num_read, num_to_read;
+ unsigned int nbytes;
+ SLang_Class_Type *cl;
+ unsigned int sizeof_type;
+ int data_type;
+
+ ret = -1;
+ s = NULL;
+ cl = NULL;
+
+ if (NULL == (fp = check_fp (t, SL_READ)))
+ goto the_return;
+
+ /* FIXME: priority = low : I should add some mechanism to support
+ * other types.
+ */
+ data_type = *data_typep;
+
+ cl = _SLclass_get_class ((unsigned char) data_type);
+
+ if (cl->cl_fread == NULL)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "fread does not support %s objects",
+ cl->cl_name);
+ goto the_return;
+ }
+
+ sizeof_type = cl->cl_sizeof_type;
+
+ num_to_read = *num_elemns;
+ nbytes = (unsigned int) num_to_read * sizeof_type;
+
+ s = SLmalloc (nbytes + 1);
+ if (s == NULL)
+ goto the_return;
+
+ ret = cl->cl_fread (data_type, fp, (VOID_STAR)s, num_to_read, &num_read);
+
+ if ((num_read == 0)
+ && (num_read != num_to_read))
+ ret = -1;
+
+ if ((ret == -1) && ferror (fp))
+ _SLerrno_errno = errno;
+
+ if ((ret == 0)
+ && (num_read != num_to_read))
+ {
+ char *new_s;
+
+ nbytes = num_read * sizeof_type;
+ new_s = SLrealloc (s, nbytes + 1);
+ if (new_s == NULL)
+ ret = -1;
+ else
+ s = new_s;
+ }
+
+ if (ret == 0)
+ {
+ if (num_read == 1)
+ {
+ ret = SLang_assign_to_ref (ref, data_type, (VOID_STAR)s);
+ SLfree (s);
+ }
+ else if ((data_type == SLANG_CHAR_TYPE)
+ || (data_type == SLANG_UCHAR_TYPE))
+ {
+ SLang_BString_Type *bs;
+
+ bs = SLbstring_create_malloced ((unsigned char *)s, num_read, 1);
+ ret = SLang_assign_to_ref (ref, SLANG_BSTRING_TYPE, (VOID_STAR)&bs);
+ SLbstring_free (bs);
+ }
+ else
+ {
+ SLang_Array_Type *at;
+ int inum_read = (int) num_read;
+ at = SLang_create_array (data_type, 0, (VOID_STAR)s, &inum_read, 1);
+ ret = SLang_assign_to_ref (ref, SLANG_ARRAY_TYPE, (VOID_STAR)&at);
+ SLang_free_array (at);
+ }
+ s = NULL;
+ }
+
+ the_return:
+
+ if (s != NULL)
+ SLfree (s);
+
+ if (ret == -1)
+ SLang_push_integer (ret);
+ else
+ SLang_push_uinteger (num_read);
+}
+
+/* Usage: n = fwrite (str, fp); */
+static void stdio_fwrite (SL_File_Table_Type *t)
+{
+ FILE *fp;
+ unsigned char *s;
+ unsigned int num_to_write, num_write;
+ int ret;
+ SLang_BString_Type *b;
+ SLang_Array_Type *at;
+ SLang_Class_Type *cl;
+
+ ret = -1;
+ b = NULL;
+ at = NULL;
+
+ switch (SLang_peek_at_stack ())
+ {
+ case SLANG_BSTRING_TYPE:
+ case SLANG_STRING_TYPE:
+ if (-1 == SLang_pop_bstring (&b))
+ goto the_return;
+
+ if (NULL == (s = SLbstring_get_pointer (b, &num_to_write)))
+ goto the_return;
+
+ cl = _SLclass_get_class (SLANG_UCHAR_TYPE);
+ break;
+
+ default:
+ if (-1 == SLang_pop_array (&at, 1))
+ goto the_return;
+
+ cl = at->cl;
+ num_to_write = at->num_elements;
+ s = (unsigned char *) at->data;
+ }
+
+ if (NULL == (fp = check_fp (t, SL_WRITE)))
+ goto the_return;
+
+ if (cl->cl_fwrite == NULL)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "fwrite does not support %s objects", cl->cl_name);
+ goto the_return;
+ }
+
+ ret = cl->cl_fwrite (cl->cl_data_type, fp, s, num_to_write, &num_write);
+
+ if ((ret == -1) && ferror (fp))
+ _SLerrno_errno = errno;
+
+ /* drop */
+ the_return:
+ if (b != NULL)
+ SLbstring_free (b);
+ if (at != NULL)
+ SLang_free_array (at);
+
+ if (ret == -1)
+ SLang_push_integer (ret);
+ else
+ SLang_push_uinteger (num_write);
+}
+
+static int stdio_fseek (SL_File_Table_Type *t, int *ofs, int *whence)
+{
+ FILE *fp;
+
+ if (NULL == (fp = check_fp (t, 0xFFFF)))
+ return -1;
+
+ if (-1 == fseek (fp, (long) *ofs, *whence))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+
+ return 0;
+}
+
+static int stdio_ftell (SL_File_Table_Type *t)
+{
+ FILE *fp;
+ long ofs;
+
+ if (NULL == (fp = check_fp (t, 0xFFFF)))
+ return -1;
+
+ if (-1L == (ofs = ftell (fp)))
+ {
+ _SLerrno_errno = errno;
+ return -1;
+ }
+
+ return (int) ofs;
+}
+
+static int stdio_feof (SL_File_Table_Type *t)
+{
+ FILE *fp;
+
+ if (NULL == (fp = check_fp (t, 0xFFFF)))
+ return -1;
+
+ return feof (fp);
+}
+
+static int stdio_ferror (SL_File_Table_Type *t)
+{
+ FILE *fp;
+
+ if (NULL == (fp = check_fp (t, 0xFFFF)))
+ return -1;
+
+ return ferror (fp);
+}
+
+static void stdio_clearerr (SL_File_Table_Type *t)
+{
+ FILE *fp;
+
+ if (NULL != (fp = check_fp (t, 0xFFFF)))
+ clearerr (fp);
+}
+
+/* () = fprintf (fp, "FORMAT", arg...); */
+static int stdio_fprintf (void)
+{
+ char *s;
+ FILE *fp;
+ SLang_MMT_Type *mmt;
+ int status;
+
+ if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 2))
+ return -1;
+
+ if (-1 == SLang_pop_slstring (&s))
+ return -1;
+
+ if (NULL == (mmt = pop_fp (SL_WRITE, &fp)))
+ {
+ SLang_free_slstring (s);
+ return -1;
+ }
+
+ if (EOF == fputs(s, fp))
+ status = -1;
+ else
+ status = (int) strlen (s);
+
+ SLang_free_mmt (mmt);
+ SLang_free_slstring (s);
+ return status;
+}
+
+static int stdio_printf (void)
+{
+ char *s;
+ int status;
+
+ if (-1 == _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1))
+ return -1;
+
+ if (-1 == SLang_pop_slstring (&s))
+ return -1;
+
+ if (EOF == fputs(s, stdout))
+ status = -1;
+ else
+ status = (int) strlen (s);
+
+ SLang_free_slstring (s);
+ return status;
+}
+
+
+#define F SLANG_FILE_PTR_TYPE
+#define R SLANG_REF_TYPE
+#define I SLANG_INT_TYPE
+#define V SLANG_VOID_TYPE
+#define S SLANG_STRING_TYPE
+#define B SLANG_BSTRING_TYPE
+#define U SLANG_UINT_TYPE
+#define D SLANG_DATATYPE_TYPE
+static SLang_Intrin_Fun_Type Stdio_Name_Table[] =
+{
+ MAKE_INTRINSIC_0("fgetslines", stdio_fgetslines, V),
+ MAKE_INTRINSIC_SS("fopen", stdio_fopen, V),
+ MAKE_INTRINSIC_1("feof", stdio_feof, I, F),
+ MAKE_INTRINSIC_1("ferror", stdio_ferror, I, F),
+ MAKE_INTRINSIC_1("fclose", stdio_fclose, I, F),
+ MAKE_INTRINSIC_2("fgets", stdio_fgets, I, R, F),
+ MAKE_INTRINSIC_1("fflush", stdio_fflush, I, F),
+ MAKE_INTRINSIC_2("fputs", stdio_fputs, I, S, F),
+ MAKE_INTRINSIC_0("fprintf", stdio_fprintf, I),
+ MAKE_INTRINSIC_0("printf", stdio_printf, I),
+ MAKE_INTRINSIC_3("fseek", stdio_fseek, I, F, I, I),
+ MAKE_INTRINSIC_1("ftell", stdio_ftell, I, F),
+ MAKE_INTRINSIC_1("clearerr", stdio_clearerr, V, F),
+ MAKE_INTRINSIC_4("fread", stdio_fread, V, R, D, U, F),
+ MAKE_INTRINSIC_1("fwrite", stdio_fwrite, V, F),
+#ifdef HAVE_POPEN
+ MAKE_INTRINSIC_SS("popen", stdio_popen, V),
+ MAKE_INTRINSIC_1("pclose", stdio_fclose, I, F),
+#endif
+ SLANG_END_INTRIN_FUN_TABLE
+};
+#undef F
+#undef I
+#undef R
+#undef V
+#undef S
+#undef B
+#undef U
+#undef D
+
+#ifndef SEEK_SET
+# define SEEK_SET 0
+#endif
+#ifndef SEEK_CUR
+# define SEEK_CUR 1
+#endif
+#ifndef SEEK_END
+# define SEEK_END 2
+#endif
+
+static SLang_IConstant_Type Stdio_Consts [] =
+{
+ MAKE_ICONSTANT("SEEK_SET", SEEK_SET),
+ MAKE_ICONSTANT("SEEK_END", SEEK_END),
+ MAKE_ICONSTANT("SEEK_CUR", SEEK_CUR),
+ SLANG_END_ICONST_TABLE
+};
+
+static void destroy_file_type (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ (void) close_file_type ((SL_File_Table_Type *) ptr);
+}
+
+
+struct _SLang_Foreach_Context_Type
+{
+ SLang_MMT_Type *mmt;
+ FILE *fp;
+#define CTX_USE_LINE 1
+#define CTX_USE_CHAR 2
+ unsigned char type;
+};
+
+
+static SLang_Foreach_Context_Type *
+cl_foreach_open (unsigned char type, unsigned int num)
+{
+ SLang_Foreach_Context_Type *c;
+ SLang_MMT_Type *mmt;
+ FILE *fp;
+
+ if (NULL == (mmt = pop_fp (SL_READ, &fp)))
+ return NULL;
+
+ type = CTX_USE_LINE;
+
+ switch (num)
+ {
+ char *s;
+
+ case 0:
+ type = CTX_USE_LINE;
+ break;
+
+ case 1:
+ if (-1 == SLang_pop_slstring (&s))
+ {
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+ if (0 == strcmp (s, "char"))
+ type = CTX_USE_CHAR;
+ else if (0 == strcmp (s, "line"))
+ type = CTX_USE_LINE;
+ else
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "using '%s' not supported by File_Type",
+ s);
+ SLang_free_slstring (s);
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+ SLang_free_slstring (s);
+ break;
+
+ default:
+ SLdo_pop_n (num);
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "Usage: foreach (File_Type) using ([line|char])");
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+
+ if (NULL == (c = (SLang_Foreach_Context_Type *) SLmalloc (sizeof (SLang_Foreach_Context_Type))))
+ {
+ SLang_free_mmt (mmt);
+ return NULL;
+ }
+ memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
+
+ c->type = type;
+ c->mmt = mmt;
+ c->fp = fp;
+
+ return c;
+}
+
+static void cl_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ if (c == NULL) return;
+ SLang_free_mmt (c->mmt);
+ SLfree ((char *) c);
+}
+
+static int cl_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ int status;
+ int ch;
+ unsigned int len;
+ char *s;
+
+ (void) type;
+
+ if (c == NULL)
+ return -1;
+
+ switch (c->type)
+ {
+ case CTX_USE_CHAR:
+ if (EOF == (ch = getc (c->fp)))
+ return 0;
+ if (-1 == SLang_push_uchar ((unsigned char) ch))
+ return -1;
+ return 1;
+
+ case CTX_USE_LINE:
+ status = read_one_line (c->fp, &s, &len);
+ if (status <= 0)
+ return status;
+ if (0 == _SLang_push_slstring (s))
+ return 1;
+ return -1;
+ }
+
+ return -1;
+}
+
+static int Stdio_Initialized;
+static SLang_MMT_Type *Stdio_Mmts[3];
+
+int SLang_init_stdio (void)
+{
+ unsigned int i;
+ SL_File_Table_Type *s;
+ SLang_Class_Type *cl;
+ char *names[3];
+
+ if (Stdio_Initialized)
+ return 0;
+
+ SL_File_Table = (SL_File_Table_Type *)SLcalloc(sizeof (SL_File_Table_Type), SL_MAX_FILES);
+ if (SL_File_Table == NULL)
+ return -1;
+
+ if (NULL == (cl = SLclass_allocate_class ("File_Type")))
+ return -1;
+ cl->cl_destroy = destroy_file_type;
+ cl->cl_foreach_open = cl_foreach_open;
+ cl->cl_foreach_close = cl_foreach_close;
+ cl->cl_foreach = cl_foreach;
+
+
+ if (-1 == SLclass_register_class (cl, SLANG_FILE_PTR_TYPE, sizeof (SL_File_Table_Type), SLANG_CLASS_TYPE_MMT))
+ return -1;
+
+ if ((-1 == SLadd_intrin_fun_table(Stdio_Name_Table, "__STDIO__"))
+ || (-1 == SLadd_iconstant_table (Stdio_Consts, NULL))
+ || (-1 == _SLerrno_init ()))
+ return -1;
+
+ names[0] = "stdin";
+ names[1] = "stdout";
+ names[2] = "stderr";
+
+ s = SL_File_Table;
+ s->fp = stdin; s->flags = SL_READ;
+
+ s++;
+ s->fp = stdout; s->flags = SL_WRITE;
+
+ s++;
+ s->fp = stderr; s->flags = SL_WRITE|SL_READ;
+
+ s = SL_File_Table;
+ for (i = 0; i < 3; i++)
+ {
+ if (NULL == (s->file = SLang_create_slstring (names[i])))
+ return -1;
+
+ if (NULL == (Stdio_Mmts[i] = SLang_create_mmt (SLANG_FILE_PTR_TYPE, (VOID_STAR) s)))
+ return -1;
+ SLang_inc_mmt (Stdio_Mmts[i]);
+
+ if (-1 == SLadd_intrinsic_variable (s->file, (VOID_STAR)&Stdio_Mmts[i], SLANG_FILE_PTR_TYPE, 1))
+ return -1;
+ s++;
+ }
+
+ Stdio_Initialized = 1;
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slstring.c b/mdk-stage1/slang/slstring.c
new file mode 100644
index 000000000..529c41827
--- /dev/null
+++ b/mdk-stage1/slang/slstring.c
@@ -0,0 +1,546 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+typedef struct _SLstring_Type
+{
+ struct _SLstring_Type *next;
+ unsigned int ref_count;
+ char bytes [1];
+}
+SLstring_Type;
+
+static SLstring_Type *String_Hash_Table [SLSTRING_HASH_TABLE_SIZE];
+static char Single_Char_Strings [256 * 2];
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+#define MAX_FREE_STORE_LEN 32
+static SLstring_Type *SLS_Free_Store [MAX_FREE_STORE_LEN];
+
+# define NUM_CACHED_STRINGS 601
+typedef struct
+{
+ unsigned long hash;
+ SLstring_Type *sls;
+ unsigned int len;
+}
+Cached_String_Type;
+static Cached_String_Type Cached_Strings [NUM_CACHED_STRINGS];
+
+#define GET_CACHED_STRING(s) \
+ (Cached_Strings + (unsigned int)(((unsigned long) (s)) % NUM_CACHED_STRINGS))
+
+_INLINE_
+static void cache_string (SLstring_Type *sls, unsigned int len, unsigned long hash)
+{
+ Cached_String_Type *cs;
+
+ cs = GET_CACHED_STRING(sls->bytes);
+ cs->sls = sls;
+ cs->hash = hash;
+ cs->len = len;
+}
+
+_INLINE_
+static void uncache_string (char *s)
+{
+ Cached_String_Type *cs;
+
+ cs = GET_CACHED_STRING(s);
+ if ((cs->sls != NULL)
+ && (cs->sls->bytes == s))
+ cs->sls = NULL;
+}
+#endif
+
+
+
+_INLINE_
+unsigned long _SLstring_hash (unsigned char *s, unsigned char *smax)
+{
+ register unsigned long h = 0;
+ register unsigned long sum = 0;
+ unsigned char *smax4;
+
+ smax4 = smax - 4;
+
+ while (s < smax4)
+ {
+ sum += s[0];
+ h = sum + (h << 1);
+ sum += s[1];
+ h = sum + (h << 1);
+ sum += s[2];
+ h = sum + (h << 1);
+ sum += s[3];
+ h = sum + (h << 1);
+
+ s += 4;
+ }
+
+ while (s < smax)
+ {
+ sum += *s++;
+ h ^= sum + (h << 3); /* slightly different */
+ }
+
+ return h;
+}
+
+unsigned long _SLcompute_string_hash (char *s)
+{
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ Cached_String_Type *cs;
+ SLstring_Type *sls;
+
+ cs = GET_CACHED_STRING(s);
+ if (((sls = cs->sls) != NULL)
+ && (sls->bytes == s))
+ return cs->hash;
+#endif
+ return _SLstring_hash ((unsigned char *) s, (unsigned char *) s + strlen (s));
+}
+
+_INLINE_
+/* This routine works with any (long) string */
+static SLstring_Type *find_string (char *s, unsigned int len, unsigned long hash)
+{
+ SLstring_Type *sls;
+ char ch;
+
+ sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
+
+ if (sls == NULL)
+ return NULL;
+
+ ch = s[0];
+ do
+ {
+ char *bytes = sls->bytes;
+
+ /* Note that we need to actually make sure that bytes[len] == 0.
+ * In this case, it is not enough to just compare pointers. In fact,
+ * this is called from create_nstring, etc... It is unlikely that the
+ * pointer is a slstring
+ */
+ if ((/* (s == bytes) || */ ((ch == bytes[0])
+ && (0 == strncmp (s, bytes, len))))
+ && (bytes [len] == 0))
+ break;
+
+ sls = sls->next;
+ }
+ while (sls != NULL);
+
+ return sls;
+}
+
+_INLINE_
+static SLstring_Type *find_slstring (char *s, unsigned long hash)
+{
+ SLstring_Type *sls;
+
+ sls = String_Hash_Table [(unsigned int)(hash % SLSTRING_HASH_TABLE_SIZE)];
+ while (sls != NULL)
+ {
+ if (s == sls->bytes)
+ return sls;
+
+ sls = sls->next;
+ }
+ return sls;
+}
+
+_INLINE_
+static SLstring_Type *allocate_sls (unsigned int len)
+{
+ SLstring_Type *sls;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if ((len < MAX_FREE_STORE_LEN)
+ && (NULL != (sls = SLS_Free_Store [len])))
+ {
+ SLS_Free_Store[len] = NULL;
+ return sls;
+ }
+#endif
+ /* FIXME: use structure padding */
+ return (SLstring_Type *) SLmalloc (len + sizeof (SLstring_Type));
+}
+
+_INLINE_
+static void free_sls (SLstring_Type *sls, unsigned int len)
+{
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ if ((len < MAX_FREE_STORE_LEN)
+ && (SLS_Free_Store[len] == NULL))
+ {
+ SLS_Free_Store [len] = sls;
+ return;
+ }
+#else
+ (void) len;
+#endif
+ SLfree ((char *)sls);
+}
+
+_INLINE_
+static char *create_long_string (char *s, unsigned int len, unsigned long hash)
+{
+ SLstring_Type *sls;
+
+ sls = find_string (s, len, hash);
+
+ if (sls != NULL)
+ {
+ sls->ref_count++;
+ s = sls->bytes;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ cache_string (sls, len, hash);
+#endif
+ return s;
+ }
+
+ sls = allocate_sls (len);
+ if (sls == NULL)
+ return NULL;
+
+ strncpy (sls->bytes, s, len);
+ sls->bytes[len] = 0;
+ sls->ref_count = 1;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ cache_string (sls, len, hash);
+#endif
+
+ hash = hash % SLSTRING_HASH_TABLE_SIZE;
+ sls->next = String_Hash_Table [(unsigned int)hash];
+ String_Hash_Table [(unsigned int)hash] = sls;
+
+ return sls->bytes;
+}
+
+_INLINE_
+static char *create_short_string (char *s, unsigned int len)
+{
+ char ch;
+
+ /* Note: if len is 0, then it does not matter what *s is. This is
+ * important for SLang_create_nslstring.
+ */
+ if (len) ch = *s; else ch = 0;
+
+ len = 2 * (unsigned int) ((unsigned char) ch);
+ Single_Char_Strings [len] = ch;
+ Single_Char_Strings [len + 1] = 0;
+ return Single_Char_Strings + len;
+}
+
+/* s cannot be NULL */
+_INLINE_
+static char *create_nstring (char *s, unsigned int len, unsigned long *hash_ptr)
+{
+ unsigned long hash;
+
+ if (len < 2)
+ return create_short_string (s, len);
+
+ hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) (s + len));
+ *hash_ptr = hash;
+
+ return create_long_string (s, len, hash);
+}
+
+char *SLang_create_nslstring (char *s, unsigned int len)
+{
+ unsigned long hash;
+ return create_nstring (s, len, &hash);
+}
+
+char *_SLstring_make_hashed_string (char *s, unsigned int len, unsigned long *hashptr)
+{
+ unsigned long hash;
+
+ if (s == NULL) return NULL;
+
+ hash = _SLstring_hash ((unsigned char *) s, (unsigned char *) s + len);
+ *hashptr = hash;
+
+ if (len < 2)
+ return create_short_string (s, len);
+
+ return create_long_string (s, len, hash);
+}
+
+char *_SLstring_dup_hashed_string (char *s, unsigned long hash)
+{
+ unsigned int len;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ Cached_String_Type *cs;
+ SLstring_Type *sls;
+
+ if (s == NULL) return NULL;
+ if (s[0] == 0)
+ return create_short_string (s, 0);
+ if (s[1] == 0)
+ return create_short_string (s, 1);
+
+ cs = GET_CACHED_STRING(s);
+ if (((sls = cs->sls) != NULL)
+ && (sls->bytes == s))
+ {
+ sls->ref_count += 1;
+ return s;
+ }
+#else
+ if (s == NULL) return NULL;
+#endif
+
+ len = strlen (s);
+#if !_SLANG_OPTIMIZE_FOR_SPEED
+ if (len < 2) return create_short_string (s, len);
+#endif
+
+ return create_long_string (s, len, hash);
+}
+
+char *_SLstring_dup_slstring (char *s)
+{
+ SLstring_Type *sls;
+ unsigned int len;
+ unsigned long hash;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ Cached_String_Type *cs;
+
+ cs = GET_CACHED_STRING(s);
+ if (((sls = cs->sls) != NULL)
+ && (sls->bytes == s))
+ {
+ sls->ref_count += 1;
+ return s;
+ }
+#endif
+
+ if ((s == NULL) || ((len = strlen (s)) < 2))
+ return s;
+
+ hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)(s + len));
+
+ sls = find_slstring (s, hash);
+ if (sls == NULL)
+ {
+ SLang_Error = SL_INTERNAL_ERROR;
+ return NULL;
+ }
+
+ sls->ref_count++;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ cache_string (sls, len, hash);
+#endif
+ return s;
+}
+
+static void free_sls_string (SLstring_Type *sls, char *s, unsigned int len,
+ unsigned long hash)
+{
+ SLstring_Type *sls1, *prev;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ uncache_string (s);
+#endif
+
+ hash = hash % SLSTRING_HASH_TABLE_SIZE;
+
+ sls1 = String_Hash_Table [(unsigned int) hash];
+
+ prev = NULL;
+
+ /* This should not fail. */
+ while (sls1 != sls)
+ {
+ prev = sls1;
+ sls1 = sls1->next;
+ }
+
+ if (prev != NULL)
+ prev->next = sls->next;
+ else
+ String_Hash_Table [(unsigned int) hash] = sls->next;
+
+ free_sls (sls, len);
+}
+
+_INLINE_
+static void free_long_string (char *s, unsigned int len, unsigned long hash)
+{
+ SLstring_Type *sls;
+
+ if (NULL == (sls = find_slstring (s, hash)))
+ {
+ SLang_doerror ("Application internal error: invalid attempt to free string");
+ return;
+ }
+
+ sls->ref_count--;
+ if (sls->ref_count != 0)
+ {
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ /* cache_string (sls, len, hash); */
+#endif
+ return;
+ }
+
+
+ free_sls_string (sls, s, len, hash);
+}
+
+/* This routine may be passed NULL-- it is not an error. */
+void SLang_free_slstring (char *s)
+{
+ unsigned long hash;
+ unsigned int len;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ Cached_String_Type *cs;
+ SLstring_Type *sls;
+
+ cs = GET_CACHED_STRING(s);
+ if (((sls = cs->sls) != NULL)
+ && (sls->bytes == s))
+ {
+ if (sls->ref_count <= 1)
+ free_sls_string (sls, s, cs->len, cs->hash);
+ else
+ sls->ref_count -= 1;
+ return;
+ }
+#endif
+
+ if (s == NULL) return;
+
+ if ((len = strlen (s)) < 2)
+ return;
+
+ hash = _SLstring_hash ((unsigned char *)s, (unsigned char *) s + len);
+ free_long_string (s, len, hash);
+}
+
+char *SLang_create_slstring (char *s)
+{
+ unsigned long hash;
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ Cached_String_Type *cs;
+ SLstring_Type *sls;
+
+ cs = GET_CACHED_STRING(s);
+ if (((sls = cs->sls) != NULL)
+ && (sls->bytes == s))
+ {
+ sls->ref_count += 1;
+ return s;
+ }
+#endif
+
+ if (s == NULL) return NULL;
+ return create_nstring (s, strlen (s), &hash);
+}
+
+void _SLfree_hashed_string (char *s, unsigned int len, unsigned long hash)
+{
+ if ((s == NULL) || (len < 2)) return;
+ free_long_string (s, len, hash);
+}
+
+
+char *_SLallocate_slstring (unsigned int len)
+{
+ SLstring_Type *sls = allocate_sls (len);
+ if (sls == NULL)
+ return NULL;
+
+ return sls->bytes;
+}
+
+void _SLunallocate_slstring (char *s, unsigned int len)
+{
+ SLstring_Type *sls;
+
+ if (s == NULL)
+ return;
+
+ sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
+ free_sls (sls, len);
+}
+
+char *_SLcreate_via_alloced_slstring (char *s, unsigned int len)
+{
+ unsigned long hash;
+ SLstring_Type *sls;
+
+ if (s == NULL)
+ return NULL;
+
+ if (len < 2)
+ {
+ char *s1 = create_short_string (s, len);
+ _SLunallocate_slstring (s, len);
+ return s1;
+ }
+
+ /* s is not going to be in the cache because when it was malloced, its
+ * value was unknown. This simplifies the coding.
+ */
+ hash = _SLstring_hash ((unsigned char *)s, (unsigned char *)s + len);
+ sls = find_string (s, len, hash);
+ if (sls != NULL)
+ {
+ sls->ref_count++;
+ _SLunallocate_slstring (s, len);
+ s = sls->bytes;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ cache_string (sls, len, hash);
+#endif
+ return s;
+ }
+
+ sls = (SLstring_Type *) (s - offsetof(SLstring_Type,bytes[0]));
+ sls->ref_count = 1;
+
+#if _SLANG_OPTIMIZE_FOR_SPEED
+ cache_string (sls, len, hash);
+#endif
+
+ hash = hash % SLSTRING_HASH_TABLE_SIZE;
+ sls->next = String_Hash_Table [(unsigned int)hash];
+ String_Hash_Table [(unsigned int)hash] = sls;
+
+ return s;
+}
+
+/* Note, a and b may be ordinary strings. The result is an slstring */
+char *SLang_concat_slstrings (char *a, char *b)
+{
+ unsigned int lena, len;
+ char *c;
+
+ lena = strlen (a);
+ len = lena + strlen (b);
+
+ c = _SLallocate_slstring (len);
+ if (c == NULL)
+ return NULL;
+
+ strcpy (c, a);
+ strcpy (c + lena, b);
+
+ return _SLcreate_via_alloced_slstring (c, len);
+}
+
diff --git a/mdk-stage1/slang/slstrops.c b/mdk-stage1/slang/slstrops.c
new file mode 100644
index 000000000..a57ef6389
--- /dev/null
+++ b/mdk-stage1/slang/slstrops.c
@@ -0,0 +1,1686 @@
+/* -*- mode: C; mode: fold; -*- */
+/* string manipulation functions for S-Lang. */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+/*{{{ Include Files */
+
+#include <time.h>
+
+#ifndef __QNX__
+# if defined(__GO32__) || defined(__WATCOMC__)
+# include <dos.h>
+# include <bios.h>
+# endif
+#endif
+
+#if SLANG_HAS_FLOAT
+#include <math.h>
+#endif
+
+#include <string.h>
+#include <stdarg.h>
+#include <ctype.h>
+
+#ifndef isdigit
+# define isdigit(x) (((x) >= '0') && ((x) <= '9'))
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+/*}}}*/
+
+#define USE_ALLOC_STSTRING 1
+
+/*{{{ Utility Functions */
+
+static char Utility_Char_Table [256];
+static unsigned char WhiteSpace_Lut[256];
+
+static void set_utility_char_table (char *pos) /*{{{*/
+{
+ register char *t = Utility_Char_Table, *tmax;
+ register unsigned char ch;
+
+ tmax = t + 256;
+ while (t < tmax) *t++ = 0;
+
+ t = Utility_Char_Table;
+ while ((ch = (unsigned char) *pos++) != 0) t[ch] = 1;
+}
+
+/*}}}*/
+
+_INLINE_
+static unsigned char *make_whitespace_lut (void)
+{
+ if (WhiteSpace_Lut[' '] != 1)
+ {
+ WhiteSpace_Lut[' '] = WhiteSpace_Lut['\r']
+ = WhiteSpace_Lut ['\n'] = WhiteSpace_Lut['\t']
+ = WhiteSpace_Lut ['\f'] = 1;
+ }
+ return WhiteSpace_Lut;
+}
+
+static unsigned char *make_lut (unsigned char *s, unsigned char *lut)
+{
+ int reverse = 0;
+
+ if (*s == '^')
+ {
+ reverse = 1;
+ s++;
+ }
+ SLmake_lut (lut, s, reverse);
+ return lut;
+}
+
+static unsigned int do_trim (char **beg, int do_beg,
+ char **end, int do_end,
+ char *white) /*{{{*/
+{
+ unsigned int len;
+ char *a, *b;
+
+ set_utility_char_table (white);
+
+ a = *beg;
+ len = strlen (a);
+ b = a + len;
+
+ if (do_beg)
+ while (Utility_Char_Table[(unsigned char) *a]) a++;
+
+ if (do_end)
+ {
+ b--;
+ while ((b >= a) && (Utility_Char_Table[(unsigned char) *b])) b--;
+ b++;
+ }
+
+ len = (unsigned int) (b - a);
+ *beg = a;
+ *end = b;
+ return len;
+}
+
+/*}}}*/
+
+/*}}}*/
+
+static int pop_3_strings (char **a, char **b, char **c)
+{
+ *a = *b = *c = NULL;
+ if (-1 == SLpop_string (c))
+ return -1;
+
+ if (-1 == SLpop_string (b))
+ {
+ SLfree (*c);
+ *c = NULL;
+ return -1;
+ }
+
+ if (-1 == SLpop_string (a))
+ {
+ SLfree (*b);
+ SLfree (*c);
+ *b = *c = NULL;
+ return -1;
+ }
+
+ return 0;
+}
+
+static void free_3_strings (char *a, char *b, char *c)
+{
+ SLfree (a);
+ SLfree (b);
+ SLfree (c);
+}
+
+static void strcat_cmd (void) /*{{{*/
+{
+ char *c, *c1;
+ int nargs;
+ int i;
+ char **ptrs;
+ unsigned int len;
+#if !USE_ALLOC_STSTRING
+ char buf[256];
+#endif
+ nargs = SLang_Num_Function_Args;
+ if (nargs <= 0) nargs = 2;
+
+ if (NULL == (ptrs = (char **)SLmalloc (nargs * sizeof (char *))))
+ return;
+
+ memset ((char *) ptrs, 0, sizeof (char *) * nargs);
+
+ c = NULL;
+ i = nargs;
+ len = 0;
+ while (i != 0)
+ {
+ char *s;
+
+ i--;
+ if (-1 == SLang_pop_slstring (&s))
+ goto free_and_return;
+ ptrs[i] = s;
+ len += strlen (s);
+ }
+#if USE_ALLOC_STSTRING
+ if (NULL == (c = _SLallocate_slstring (len)))
+ goto free_and_return;
+#else
+ len++; /* \0 char */
+ if (len <= sizeof (buf))
+ c = buf;
+ else if (NULL == (c = SLmalloc (len)))
+ goto free_and_return;
+#endif
+
+ c1 = c;
+ for (i = 0; i < nargs; i++)
+ {
+ strcpy (c1, ptrs[i]);
+ c1 += strlen (c1);
+ }
+
+ free_and_return:
+ for (i = 0; i < nargs; i++)
+ SLang_free_slstring (ptrs[i]);
+ SLfree ((char *) ptrs);
+
+#if USE_ALLOC_STSTRING
+ (void) _SLpush_alloced_slstring (c, len);
+#else
+ if (c != buf)
+ (void) SLang_push_malloced_string (c); /* NULL ok */
+ else
+ (void) SLang_push_string (c);
+#endif
+}
+
+/*}}}*/
+
+static int _SLang_push_nstring (char *a, unsigned int len)
+{
+ a = SLang_create_nslstring (a, len);
+ if (a == NULL)
+ return -1;
+
+ return _SLang_push_slstring (a);
+}
+
+
+static void strtrim_cmd_internal (char *str, int do_beg, int do_end)
+{
+ char *beg, *end, *white;
+ int free_str;
+ unsigned int len;
+
+ /* Go through SLpop_string to get a private copy since it will be
+ * modified.
+ */
+
+ free_str = 0;
+ if (SLang_Num_Function_Args == 2)
+ {
+ white = str;
+ if (-1 == SLang_pop_slstring (&str))
+ return;
+ free_str = 1;
+ }
+ else white = " \t\f\r\n";
+
+ beg = str;
+ len = do_trim (&beg, do_beg, &end, do_end, white);
+
+ (void) _SLang_push_nstring (beg, len);
+ if (free_str)
+ SLang_free_slstring (str);
+}
+
+
+static void strtrim_cmd (char *str)
+{
+ strtrim_cmd_internal (str, 1, 1);
+}
+
+static void strtrim_beg_cmd (char *str)
+{
+ strtrim_cmd_internal (str, 1, 0);
+}
+
+static void strtrim_end_cmd (char *str)
+{
+ strtrim_cmd_internal (str, 0, 1);
+}
+
+
+static void strcompress_cmd (void) /*{{{*/
+{
+ char *str, *white, *c;
+ unsigned char *s, *beg, *end;
+ unsigned int len;
+ char pref_char;
+
+ if (SLpop_string (&white)) return;
+ if (SLpop_string (&str))
+ {
+ SLfree (white);
+ return;
+ }
+
+ /* The first character of white is the preferred whitespace character */
+ pref_char = *white;
+
+ beg = (unsigned char *) str;
+ (void) do_trim ((char **) &beg, 1, (char **) &end, 1, white);
+ SLfree (white);
+
+ /* Determine the effective length */
+ len = 0;
+ s = (unsigned char *) beg;
+ while (s < end)
+ {
+ len++;
+ if (Utility_Char_Table[*s++])
+ {
+ while ((s < end) && Utility_Char_Table[*s]) s++;
+ }
+ }
+
+#if USE_ALLOC_STSTRING
+ c = _SLallocate_slstring (len);
+#else
+ c = SLmalloc (len + 1);
+#endif
+ if (c == NULL)
+ {
+ SLfree (str);
+ return;
+ }
+
+ s = (unsigned char *) c;
+
+ while (beg < end)
+ {
+ unsigned char ch = *beg++;
+
+ if (0 == Utility_Char_Table[ch])
+ {
+ *s++ = ch;
+ continue;
+ }
+
+ *s++ = (unsigned char) pref_char;
+
+ while ((beg < end) && Utility_Char_Table[*beg])
+ beg++;
+ }
+
+ *s = 0;
+
+#if USE_ALLOC_STSTRING
+ (void) _SLpush_alloced_slstring (c, len);
+#else
+ SLang_push_malloced_string(c);
+#endif
+
+ SLfree(str);
+}
+
+/*}}}*/
+
+static int str_replace_cmd_1 (char *orig, char *match, char *rep, unsigned int max_num_replaces,
+ char **new_strp) /*{{{*/
+{
+ char *s, *t, *new_str;
+ unsigned int rep_len, match_len, new_len;
+ unsigned int num_replaces;
+
+ *new_strp = NULL;
+
+ match_len = strlen (match);
+
+ if (match_len == 0)
+ return 0;
+
+ num_replaces = 0;
+ s = orig;
+ while (num_replaces < max_num_replaces)
+ {
+ s = strstr (s, match);
+ if (s == NULL)
+ break;
+ s += match_len;
+ num_replaces++;
+ }
+
+ if (num_replaces == 0)
+ return 0;
+
+ max_num_replaces = num_replaces;
+
+ rep_len = strlen (rep);
+
+ new_len = (strlen (orig) - num_replaces * match_len) + num_replaces * rep_len;
+ new_str = SLmalloc (new_len + 1);
+ if (new_str == NULL)
+ return -1;
+
+ s = orig;
+ t = new_str;
+
+ for (num_replaces = 0; num_replaces < max_num_replaces; num_replaces++)
+ {
+ char *next_s;
+ unsigned int len;
+
+ next_s = strstr (s, match); /* cannot be NULL */
+ len = (unsigned int) (next_s - s);
+ strncpy (t, s, len);
+ t += len;
+ strcpy (t, rep);
+ t += rep_len;
+
+ s = next_s + match_len;
+ }
+ strcpy (t, s);
+ *new_strp = new_str;
+
+ return (int) num_replaces;
+}
+
+/*}}}*/
+
+static void reverse_string (char *a)
+{
+ char *b;
+
+ b = a + strlen (a);
+ while (b > a)
+ {
+ char ch;
+
+ b--;
+ ch = *a;
+ *a++ = *b;
+ *b = ch;
+ }
+}
+
+static int strreplace_cmd (int *np)
+{
+ char *orig, *match, *rep;
+ char *new_str;
+ int max_num_replaces;
+ int ret;
+
+ max_num_replaces = *np;
+
+ if (-1 == pop_3_strings (&orig, &match, &rep))
+ return -1;
+
+ if (max_num_replaces < 0)
+ {
+ reverse_string (orig);
+ reverse_string (match);
+ reverse_string (rep);
+ ret = str_replace_cmd_1 (orig, match, rep, -max_num_replaces, &new_str);
+ if (ret > 0) reverse_string (new_str);
+ else if (ret == 0)
+ reverse_string (orig);
+ }
+ else ret = str_replace_cmd_1 (orig, match, rep, max_num_replaces, &new_str);
+
+ if (ret == 0)
+ {
+ if (-1 == SLang_push_malloced_string (orig))
+ ret = -1;
+ orig = NULL;
+ }
+ else if (ret > 0)
+ {
+ if (-1 == SLang_push_malloced_string (new_str))
+ ret = -1;
+ }
+
+ free_3_strings (orig, match, rep);
+ return ret;
+}
+
+static int str_replace_cmd (char *orig, char *match, char *rep)
+{
+ char *s;
+ int ret;
+
+ ret = str_replace_cmd_1 (orig, match, rep, 1, &s);
+ if (ret == 1)
+ (void) SLang_push_malloced_string (s);
+ return ret;
+}
+
+
+
+static void strtok_cmd (char *str)
+{
+ _SLString_List_Type sl;
+ unsigned char white_buf[256];
+ char *s;
+ unsigned char *white;
+
+ if (SLang_Num_Function_Args == 1)
+ white = make_whitespace_lut ();
+ else
+ {
+ white = white_buf;
+ make_lut ((unsigned char *)str, white);
+ if (-1 == SLang_pop_slstring (&str))
+ return;
+ }
+
+ if (-1 == _SLstring_list_init (&sl, 256, 1024))
+ goto the_return;
+
+ s = str;
+ while (*s != 0)
+ {
+ char *s0;
+
+ s0 = s;
+ /* Skip whitespace */
+ while ((*s0 != 0) && (0 != white[(unsigned char)*s0]))
+ s0++;
+
+ if (*s0 == 0)
+ break;
+
+ s = s0;
+ while ((*s != 0) && (0 == white[(unsigned char) *s]))
+ s++;
+
+ /* sl deleted upon failure */
+ if (-1 == _SLstring_list_append (&sl, SLang_create_nslstring (s0, (unsigned int) (s - s0))))
+ goto the_return;
+ }
+
+ /* Deletes sl */
+ (void) _SLstring_list_push (&sl);
+
+ the_return:
+ if (white == white_buf)
+ SLang_free_slstring (str);
+}
+
+/* This routine returns the string with text removed between single character
+ comment delimiters from the set b and e. */
+
+static void str_uncomment_string_cmd (char *str, char *b, char *e) /*{{{*/
+{
+ unsigned char chb, che;
+ unsigned char *s, *cbeg, *mark;
+
+ if (strlen(b) != strlen(e))
+ {
+ SLang_doerror ("Comment delimiter length mismatch.");
+ return;
+ }
+
+ set_utility_char_table (b);
+
+ if (NULL == (str = (char *) SLmake_string(str))) return;
+
+ s = (unsigned char *) str;
+
+ while ((chb = *s++) != 0)
+ {
+ if (Utility_Char_Table [chb] == 0) continue;
+
+ mark = s - 1;
+
+ cbeg = (unsigned char *) b;
+ while (*cbeg != chb) cbeg++;
+
+ che = (unsigned char) *(e + (int) (cbeg - (unsigned char *) b));
+
+ while (((chb = *s++) != 0) && (chb != che));
+
+ if (chb == 0)
+ {
+ /* end of string and end not found. Just truncate it a return; */
+ *mark = 0;
+ break;
+ }
+
+ strcpy ((char *) mark, (char *)s);
+ s = mark;
+ }
+ SLang_push_malloced_string (str);
+}
+
+/*}}}*/
+
+static void str_quote_string_cmd (char *str, char *quotes, int *slash_ptr) /*{{{*/
+{
+ char *q;
+ int slash;
+ unsigned int len;
+ register char *t, *s, *q1;
+ register unsigned char ch;
+
+ slash = *slash_ptr;
+
+ if ((slash > 255) || (slash < 0))
+ {
+ SLang_Error = SL_INVALID_PARM;
+ return;
+ }
+
+ /* setup the utility table to have 1s at quote char postitions. */
+ set_utility_char_table (quotes);
+
+ t = Utility_Char_Table;
+ t[(unsigned int) slash] = 1;
+
+ /* calculate length */
+ s = str;
+ len = 0;
+ while ((ch = (unsigned char) *s++) != 0) if (t[ch]) len++;
+ len += (unsigned int) (s - str);
+
+ if (NULL != (q = SLmalloc(len)))
+ {
+ s = str; q1 = q;
+ while ((ch = (unsigned char) *s++) != 0)
+ {
+ if (t[ch]) *q1++ = slash;
+ *q1++ = (char) ch;
+ }
+ *q1 = 0;
+ SLang_push_malloced_string(q);
+ }
+}
+
+/*}}}*/
+
+/* returns the position of substrin in a string or null */
+static int issubstr_cmd (char *a, char *b) /*{{{*/
+{
+ char *c;
+
+ if (NULL == (c = (char *) strstr(a, b)))
+ return 0;
+
+ return 1 + (int) (c - a);
+}
+
+/*}}}*/
+
+/* returns to stack string at pos n to n + m of a */
+static void substr_cmd (char *a, int *n_ptr, int *m_ptr) /*{{{*/
+{
+ int n, m;
+ int lena;
+
+ n = *n_ptr;
+ m = *m_ptr;
+
+ lena = strlen (a);
+ if (n > lena) n = lena + 1;
+ if (n < 1)
+ {
+ SLang_Error = SL_INVALID_PARM;
+ return;
+ }
+
+ n--;
+ if (m < 0) m = lena;
+ if (n + m > lena) m = lena - n;
+
+ (void) _SLang_push_nstring (a + n, (unsigned int) m);
+}
+
+/*}}}*/
+
+/* substitute char m at positin string n in string*/
+static void strsub_cmd (int *nptr, int *mptr) /*{{{*/
+{
+ char *a;
+ int n, m;
+ unsigned int lena;
+
+ if (-1 == SLpop_string (&a))
+ return;
+
+ n = *nptr;
+ m = *mptr;
+
+ lena = strlen (a);
+
+ if ((n <= 0) || (lena < (unsigned int) n))
+ {
+ SLang_Error = SL_INVALID_PARM;
+ SLfree(a);
+ return;
+ }
+
+ a[n - 1] = (char) m;
+
+ SLang_push_malloced_string (a);
+}
+
+/*}}}*/
+
+static void strup_cmd(void) /*{{{*/
+{
+ unsigned char c, *a;
+ char *str;
+
+ if (SLpop_string (&str))
+ return;
+
+ a = (unsigned char *) str;
+ while ((c = *a) != 0)
+ {
+ /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
+ *a = UPPER_CASE(c);
+ a++;
+ }
+
+ SLang_push_malloced_string (str);
+}
+
+/*}}}*/
+
+static int isdigit_cmd (char *what) /*{{{*/
+{
+ return isdigit((unsigned char)*what);
+}
+
+/*}}}*/
+static int toupper_cmd (int *ch) /*{{{*/
+{
+ return UPPER_CASE(*ch);
+}
+
+/*}}}*/
+
+static int tolower_cmd (int *ch) /*{{{*/
+{
+ return LOWER_CASE(*ch);
+}
+
+/*}}}*/
+
+static void strlow_cmd (void) /*{{{*/
+{
+ unsigned char c, *a;
+ char *str;
+
+ if (SLpop_string(&str)) return;
+ a = (unsigned char *) str;
+ while ((c = *a) != 0)
+ {
+ /* if ((*a >= 'a') && (*a <= 'z')) *a -= 32; */
+ *a = LOWER_CASE(c);
+ a++;
+ }
+
+ SLang_push_malloced_string ((char *) str);
+}
+
+/*}}}*/
+
+static SLang_Array_Type *do_strchop (char *str, int delim, int quote)
+{
+ int count;
+ char *s0, *elm;
+ register char *s1;
+ register unsigned char ch;
+ int quoted;
+ SLang_Array_Type *at;
+ char **data;
+
+ if ((quote < 0) || (quote > 255)
+ || (delim <= 0) || (delim > 255))
+ {
+ SLang_Error = SL_INVALID_PARM;
+ return NULL;
+ }
+
+ s1 = s0 = str;
+
+ quoted = 0;
+ count = 1; /* at least 1 */
+ while (1)
+ {
+ ch = (unsigned char) *s1++;
+ if ((ch == quote) && quote)
+ {
+ if (*s1 == 0)
+ break;
+
+ s1++;
+ continue;
+ }
+
+ if (ch == delim)
+ {
+ count++;
+ continue;
+ }
+
+ if (ch == 0)
+ break;
+ }
+
+ if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &count, 1)))
+ return NULL;
+
+ data = (char **)at->data;
+
+ count = 0;
+ s1 = s0;
+
+ while (1)
+ {
+ ch = (unsigned char) *s1;
+
+ if ((ch == quote) && quote)
+ {
+ s1++;
+ if (*s1 != 0) s1++;
+ quoted = 1;
+ continue;
+ }
+
+ if ((ch == delim) || (ch == 0))
+ {
+ if (quoted == 0)
+ elm = SLang_create_nslstring (s0, (unsigned int) (s1 - s0));
+ else
+ {
+ register char ch1, *p, *p1;
+ char *tmp;
+
+ tmp = SLmake_nstring (s0, (unsigned int)(s1 - s0));
+ if (tmp == NULL)
+ break;
+
+ /* Now unquote it */
+ p = p1 = tmp;
+ do
+ {
+ ch1 = *p1++;
+ if (ch1 == '\\') ch1 = *p1++;
+ *p++ = ch1;
+ }
+ while (ch1 != 0);
+ quoted = 0;
+
+ elm = SLang_create_slstring (tmp);
+ SLfree (tmp);
+ }
+
+ if (elm == NULL)
+ break;
+
+ data[count] = elm;
+ count++;
+
+ if (ch == 0)
+ return at;
+
+ s1++; /* skip past delim */
+ s0 = s1; /* and reset */
+ }
+ else s1++;
+ }
+
+ SLang_free_array (at);
+ return NULL;
+}
+
+static void strchop_cmd (char *str, int *q, int *d)
+{
+ (void) SLang_push_array (do_strchop (str, *q, *d), 1);
+}
+
+static void strchopr_cmd (char *str, int *q, int *d)
+{
+ SLang_Array_Type *at;
+
+ if (NULL != (at = do_strchop (str, *q, *d)))
+ {
+ char **d0, **d1;
+
+ d0 = (char **) at->data;
+ d1 = d0 + (at->num_elements - 1);
+
+ while (d0 < d1)
+ {
+ char *tmp;
+
+ tmp = *d0;
+ *d0 = *d1;
+ *d1 = tmp;
+ d0++;
+ d1--;
+ }
+ }
+ SLang_push_array (at, 1);
+}
+
+static int strcmp_cmd (char *a, char *b) /*{{{*/
+{
+ return strcmp(a, b);
+}
+
+/*}}}*/
+
+static int strncmp_cmd (char *a, char *b, int *n) /*{{{*/
+{
+ return strncmp(a, b, (unsigned int) *n);
+}
+
+/*}}}*/
+
+static int strlen_cmd (char *s) /*{{{*/
+{
+ return (int) strlen (s);
+}
+/*}}}*/
+
+static void extract_element_cmd (char *list, int *nth_ptr, int *delim_ptr)
+{
+ char buf[1024], *b;
+
+ b = buf;
+ if (-1 == SLextract_list_element (list, *nth_ptr, *delim_ptr, buf, sizeof(buf)))
+ b = NULL;
+
+ SLang_push_string (b);
+}
+
+/* sprintf functionality for S-Lang */
+
+static char *SLdo_sprintf (char *fmt) /*{{{*/
+{
+ register char *p = fmt, ch;
+ char *out = NULL, *outp = NULL;
+ char dfmt[1024]; /* used to hold part of format */
+ char *f;
+ VOID_STAR varp;
+ int want_width, width, precis, use_varp, int_var;
+ long long_var;
+ unsigned int len = 0, malloc_len = 0, dlen;
+ int do_free, guess_size;
+#if SLANG_HAS_FLOAT
+ int tmp1, tmp2, use_double;
+ double x;
+#endif
+ int use_long = 0;
+
+ while (1)
+ {
+ while ((ch = *p) != 0)
+ {
+ if (ch == '%')
+ break;
+ p++;
+ }
+
+ /* p points at '%' or 0 */
+
+ dlen = (unsigned int) (p - fmt);
+
+ if (len + dlen >= malloc_len)
+ {
+ malloc_len = len + dlen;
+ if (out == NULL) outp = SLmalloc(malloc_len + 1);
+ else outp = SLrealloc(out, malloc_len + 1);
+ if (NULL == outp)
+ return out;
+ out = outp;
+ outp = out + len;
+ }
+
+ strncpy(outp, fmt, dlen);
+ len += dlen;
+ outp = out + len;
+ *outp = 0;
+ if (ch == 0) break;
+
+ /* bump it beyond '%' */
+ ++p;
+ fmt = p;
+
+ f = dfmt;
+ *f++ = ch;
+ /* handle flag char */
+ ch = *p++;
+
+ /* Make sure cases such as "% #g" can be handled. */
+ if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
+ {
+ *f++ = ch;
+ ch = *p++;
+ if ((ch == '-') || (ch == '+') || (ch == ' ') || (ch == '#'))
+ {
+ *f++ = ch;
+ ch = *p++;
+ }
+ }
+
+
+ /* width */
+ /* I have got to parse it myself so that I can see how big it needs
+ * to be.
+ */
+ want_width = width = 0;
+ if (ch == '*')
+ {
+ if (SLang_pop_integer(&width)) return (out);
+ want_width = 1;
+ ch = *p++;
+ }
+ else
+ {
+ if (ch == '0')
+ {
+ *f++ = '0';
+ ch = *p++;
+ }
+
+ while ((ch <= '9') && (ch >= '0'))
+ {
+ width = width * 10 + (ch - '0');
+ ch = *p++;
+ want_width = 1;
+ }
+ }
+
+ if (want_width)
+ {
+ sprintf(f, "%d", width);
+ f += strlen (f);
+ }
+ precis = 0;
+ /* precision -- also indicates max number of chars from string */
+ if (ch == '.')
+ {
+ *f++ = ch;
+ ch = *p++;
+ want_width = 0;
+ if (ch == '*')
+ {
+ if (SLang_pop_integer(&precis)) return (out);
+ ch = *p++;
+ want_width = 1;
+ }
+ else while ((ch <= '9') && (ch >= '0'))
+ {
+ precis = precis * 10 + (ch - '0');
+ ch = *p++;
+ want_width = 1;
+ }
+ if (want_width)
+ {
+ sprintf(f, "%d", precis);
+ f += strlen (f);
+ }
+ else precis = 0;
+ }
+
+ long_var = 0;
+ int_var = 0;
+ varp = NULL;
+ guess_size = 32;
+#if SLANG_HAS_FLOAT
+ use_double = 0;
+#endif
+ use_long = 0;
+ use_varp = 0;
+ do_free = 0;
+
+ if (ch == 'l')
+ {
+ use_long = 1;
+ ch = *p++;
+ }
+ else if (ch == 'h') ch = *p++; /* not supported */
+
+ /* Now the actual format specifier */
+ switch (ch)
+ {
+ case 'S':
+ _SLstring_intrinsic ();
+ ch = 's';
+ /* drop */
+ case 's':
+ if (SLang_pop_slstring((char **) &varp)) return (out);
+ do_free = 1;
+ guess_size = strlen((char *) varp);
+ use_varp = 1;
+ break;
+
+ case '%':
+ guess_size = 1;
+ do_free = 0;
+ use_varp = 1;
+ varp = (VOID_STAR) "%";
+ break;
+
+ case 'c': guess_size = 1;
+ use_long = 0;
+ /* drop */
+ case 'd':
+ case 'i':
+ case 'o':
+ case 'u':
+ case 'X':
+ case 'x':
+ if (SLang_pop_long (&long_var)) return(out);
+ if (use_long == 0)
+ int_var = (int) long_var;
+ else
+ *f++ = 'l';
+ break;
+
+ case 'f':
+ case 'e':
+ case 'g':
+ case 'E':
+ case 'G':
+#if SLANG_HAS_FLOAT
+ if (SLang_pop_double(&x, &tmp1, &tmp2)) return (out);
+ use_double = 1;
+ guess_size = 256;
+ (void) tmp1; (void) tmp2;
+ use_long = 0;
+ break;
+#endif
+ case 'p':
+ guess_size = 32;
+ /* Pointer type?? Why?? */
+ if (-1 == SLdo_pop ())
+ return out;
+ varp = (VOID_STAR) _SLStack_Pointer;
+ use_varp = 1;
+ use_long = 0;
+ break;
+
+ default:
+ SLang_doerror("Invalid Format.");
+ return(out);
+ }
+ *f++ = ch; *f = 0;
+
+ width = width + precis;
+ if (width > guess_size) guess_size = width;
+
+ if (len + guess_size > malloc_len)
+ {
+ outp = (char *) SLrealloc(out, len + guess_size + 1);
+ if (outp == NULL)
+ {
+ SLang_Error = SL_MALLOC_ERROR;
+ return (out);
+ }
+ out = outp;
+ outp = out + len;
+ malloc_len = len + guess_size;
+ }
+
+ if (use_varp)
+ {
+ sprintf(outp, dfmt, varp);
+ if (do_free) SLang_free_slstring ((char *)varp);
+ }
+#if SLANG_HAS_FLOAT
+ else if (use_double) sprintf(outp, dfmt, x);
+#endif
+ else if (use_long) sprintf (outp, dfmt, long_var);
+ else sprintf(outp, dfmt, int_var);
+
+ len += strlen(outp);
+ outp = out + len;
+ fmt = p;
+ }
+
+ if (out != NULL)
+ {
+ outp = SLrealloc (out, (unsigned int) (outp - out) + 1);
+ if (outp != NULL) out = outp;
+ }
+
+ return (out);
+}
+
+/*}}}*/
+
+int _SLstrops_do_sprintf_n (int n) /*{{{*/
+{
+ char *p;
+ char *fmt;
+ SLang_Object_Type *ptr;
+ int ofs;
+
+ if (-1 == (ofs = SLreverse_stack (n + 1)))
+ return -1;
+
+ ptr = _SLRun_Stack + ofs;
+
+ if (SLang_pop_slstring(&fmt))
+ return -1;
+
+ p = SLdo_sprintf (fmt);
+ SLang_free_slstring (fmt);
+
+ while (_SLStack_Pointer > ptr)
+ SLdo_pop ();
+
+ if (SLang_Error)
+ {
+ SLfree (p);
+ return -1;
+ }
+
+ return SLang_push_malloced_string (p);
+}
+
+/*}}}*/
+
+static void sprintf_n_cmd (int *n)
+{
+ _SLstrops_do_sprintf_n (*n);
+}
+
+static void sprintf_cmd (void)
+{
+ _SLstrops_do_sprintf_n (SLang_Num_Function_Args - 1); /* do not include format */
+}
+
+/* converts string s to a form that can be used in an eval */
+static void make_printable_string(char *s) /*{{{*/
+{
+ unsigned int len;
+ register char *s1 = s, ch, *ss1;
+ char *ss;
+
+ /* compute length */
+ len = 3;
+ while ((ch = *s1++) != 0)
+ {
+ if ((ch == '\n') || (ch == '\\') || (ch == '"')) len++;
+ len++;
+ }
+
+ if (NULL == (ss = SLmalloc(len)))
+ return;
+
+ s1 = s;
+ ss1 = ss;
+ *ss1++ = '"';
+ while ((ch = *s1++) != 0)
+ {
+ if (ch == '\n')
+ {
+ ch = 'n';
+ *ss1++ = '\\';
+ }
+ else if ((ch == '\\') || (ch == '"'))
+ {
+ *ss1++ = '\\';
+ }
+ *ss1++ = ch;
+ }
+ *ss1++ = '"';
+ *ss1 = 0;
+ if (-1 == SLang_push_string (ss))
+ SLfree (ss);
+}
+
+/*}}}*/
+
+static int is_list_element_cmd (char *list, char *elem, int *d_ptr)
+{
+ char ch;
+ int d, n;
+ unsigned int len;
+ char *lbeg, *lend;
+
+ d = *d_ptr;
+
+ len = strlen (elem);
+
+ n = 1;
+ lend = list;
+
+ while (1)
+ {
+ lbeg = lend;
+ while ((0 != (ch = *lend)) && (ch != (char) d)) lend++;
+
+ if ((lbeg + len == lend)
+ && (0 == strncmp (elem, lbeg, len)))
+ break;
+
+ if (ch == 0)
+ {
+ n = 0;
+ break;
+ }
+ lend++; /* skip delim */
+ n++;
+ }
+
+ return n;
+}
+
+/*}}}*/
+
+/* Regular expression routines for strings */
+static SLRegexp_Type regexp_reg;
+
+static int string_match_cmd (char *str, char *pat, int *nptr) /*{{{*/
+{
+ int n;
+ unsigned int len;
+ unsigned char rbuf[512], *match;
+
+ n = *nptr;
+
+ regexp_reg.case_sensitive = 1;
+ regexp_reg.buf = rbuf;
+ regexp_reg.pat = (unsigned char *) pat;
+ regexp_reg.buf_len = sizeof (rbuf);
+
+ if (SLang_regexp_compile (&regexp_reg))
+ {
+ SLang_verror (SL_INVALID_PARM, "Unable to compile pattern");
+ return -1;
+ }
+
+ n--;
+ len = strlen(str);
+ if ((n < 0) || ((unsigned int) n >= len))
+ {
+ /* SLang_Error = SL_INVALID_PARM; */
+ return 0;
+ }
+
+ str += n;
+ len -= n;
+
+ if (NULL == (match = SLang_regexp_match((unsigned char *) str, len, &regexp_reg)))
+ return 0;
+
+ /* adjust offsets */
+ regexp_reg.offset = n;
+
+ return (1 + (int) ((char *) match - str));
+}
+
+/*}}}*/
+
+static int string_match_nth_cmd (int *nptr) /*{{{*/
+{
+ int n, beg;
+
+ n = *nptr;
+
+ if ((n < 0) || (n > 9) || (regexp_reg.pat == NULL)
+ || ((beg = regexp_reg.beg_matches[n]) == -1))
+ {
+ SLang_Error = SL_INVALID_PARM;
+ return -1;
+ }
+ SLang_push_integer(beg + regexp_reg.offset);
+ return regexp_reg.end_matches[n];
+}
+
+/*}}}*/
+
+static char *create_delimited_string (char **list, unsigned int n,
+ char *delim)
+{
+ unsigned int len, dlen;
+ unsigned int i;
+ unsigned int num;
+ char *str, *s;
+
+ len = 1; /* allow room for \0 char */
+ num = 0;
+ for (i = 0; i < n; i++)
+ {
+ if (list[i] == NULL) continue;
+ len += strlen (list[i]);
+ num++;
+ }
+
+ dlen = strlen (delim);
+ if (num > 1)
+ len += (num - 1) * dlen;
+
+ if (NULL == (str = SLmalloc (len)))
+ return NULL;
+
+ *str = 0;
+ s = str;
+ i = 0;
+
+ while (num > 1)
+ {
+ while (list[i] == NULL)
+ i++;
+
+ strcpy (s, list[i]);
+ s += strlen (list[i]);
+ strcpy (s, delim);
+ s += dlen;
+ i++;
+ num--;
+ }
+
+ if (num)
+ {
+ while (list[i] == NULL)
+ i++;
+
+ strcpy (s, list[i]);
+ }
+
+ return str;
+}
+
+static void create_delimited_string_cmd (int *nptr)
+{
+ unsigned int n, i;
+ char **strings;
+ char *str;
+
+ str = NULL;
+
+ n = 1 + (unsigned int) *nptr; /* n includes delimiter */
+
+ if (NULL == (strings = (char **)SLmalloc (n * sizeof (char *))))
+ {
+ SLdo_pop_n (n);
+ return;
+ }
+ memset((char *)strings, 0, n * sizeof (char *));
+
+ i = n;
+ while (i != 0)
+ {
+ i--;
+ if (-1 == SLang_pop_slstring (strings + i))
+ goto return_error;
+ }
+
+ str = create_delimited_string (strings + 1, (n - 1), strings[0]);
+ /* drop */
+ return_error:
+ for (i = 0; i < n; i++) SLang_free_slstring (strings[i]);
+ SLfree ((char *)strings);
+
+ (void) SLang_push_malloced_string (str); /* NULL Ok */
+}
+
+static void strjoin_cmd (char *delim)
+{
+ SLang_Array_Type *at;
+ char *str;
+
+ if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
+ return;
+
+ str = create_delimited_string ((char **)at->data, at->num_elements, delim);
+ SLang_free_array (at);
+ (void) SLang_push_malloced_string (str); /* NULL Ok */
+}
+
+static void str_delete_chars_cmd (char *s, char *d)
+{
+ unsigned char lut[256];
+ unsigned char *s1, *s2;
+ unsigned char ch;
+
+ make_lut ((unsigned char *)d, lut);
+ if (NULL == (s = SLmake_string (s)))
+ return;
+
+ s1 = s2 = (unsigned char *) s;
+ while ((ch = *s2++) != 0)
+ {
+ if (0 == lut[ch])
+ *s1++ = ch;
+ }
+ *s1 = 0;
+
+ (void) SLang_push_malloced_string (s);
+}
+
+static unsigned char *make_lut_string (unsigned char *s)
+{
+ unsigned char lut[256];
+ unsigned char *l;
+ unsigned int i;
+
+ /* Complement-- a natural order is imposed */
+ make_lut (s, lut);
+ l = lut;
+ for (i = 1; i < 256; i++)
+ {
+ if (lut[i])
+ *l++ = (unsigned char) i;
+ }
+ *l = 0;
+ return (unsigned char *) SLmake_string ((char *)lut);
+}
+
+static unsigned char *make_str_range (unsigned char *s)
+{
+ unsigned char *s1, *range;
+ unsigned int num;
+ unsigned char ch;
+ int len;
+
+ if (*s == '^')
+ return make_lut_string (s);
+
+ num = 0;
+ s1 = s;
+ while ((ch = *s1++) != 0)
+ {
+ unsigned char ch1;
+
+ ch1 = *s1;
+ if (ch1 == '-')
+ {
+ s1++;
+ ch1 = *s1;
+ len = (int)ch1 - (int)ch;
+ if (len < 0)
+ len = -len;
+
+ num += (unsigned int) len;
+ if (ch1 != 0)
+ s1++;
+ }
+
+ num++;
+ }
+
+ range = (unsigned char *)SLmalloc (num + 1);
+ if (range == NULL)
+ return NULL;
+
+ s1 = s;
+ s = range;
+ while ((ch = *s1++) != 0)
+ {
+ unsigned char ch1;
+ unsigned int i;
+
+ ch1 = *s1;
+ if (ch1 != '-')
+ {
+ *s++ = ch;
+ continue;
+ }
+
+ s1++;
+ ch1 = *s1;
+
+ if (ch > ch1)
+ {
+ if (ch1 == 0)
+ ch1 = 1;
+
+ for (i = (unsigned int) ch; i >= (unsigned int) ch1; i--)
+ *s++ = (unsigned char) i;
+
+ if (*s1 == 0)
+ break;
+ }
+ else
+ {
+ for (i = (unsigned int) ch; i <= (unsigned int) ch1; i++)
+ *s++ = (unsigned char) i;
+ }
+ s1++;
+ }
+
+#if 0
+ if (range + num != s)
+ SLang_verror (SL_INTERNAL_ERROR, "make_str_range: num wrong");
+#endif
+ *s = 0;
+
+ return range;
+}
+
+static void strtrans_cmd (char *s, unsigned char *from, unsigned char *to)
+{
+ unsigned char map[256];
+ char *s1;
+ unsigned int i;
+ unsigned char ch;
+ unsigned char last_to;
+ unsigned char *from_range, *to_range;
+
+ for (i = 0; i < 256; i++) map[i] = (unsigned char) i;
+
+ if (*to == 0)
+ {
+ str_delete_chars_cmd (s, (char *)from);
+ return;
+ }
+
+ from_range = make_str_range (from);
+ if (from_range == NULL)
+ return;
+ to_range = make_str_range (to);
+ if (to_range == NULL)
+ {
+ SLfree ((char *)from_range);
+ return;
+ }
+
+ from = from_range;
+ to = to_range;
+
+ last_to = 0;
+ while ((ch = *from++) != 0)
+ {
+ unsigned char to_ch;
+
+ if (0 == (to_ch = *to++))
+ {
+ do
+ {
+ map[ch] = last_to;
+ }
+ while (0 != (ch = *from++));
+ break;
+ }
+
+ last_to = map[ch] = to_ch;
+ }
+
+ SLfree ((char *)from_range);
+ SLfree ((char *)to_range);
+
+ s = SLmake_string (s);
+ if (s == NULL)
+ return;
+
+ s1 = s;
+ while ((ch = (unsigned char) *s1) != 0)
+ *s1++ = (char) map[ch];
+
+ (void) SLang_push_malloced_string (s);
+}
+
+
+static SLang_Intrin_Fun_Type Strops_Table [] = /*{{{*/
+{
+ MAKE_INTRINSIC_I("create_delimited_string", create_delimited_string_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SS("strcmp", strcmp_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SSI("strncmp", strncmp_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_0("strcat", strcat_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("strlen", strlen_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SII("strchop", strchop_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SII("strchopr", strchopr_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_I("strreplace", strreplace_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SSS("str_replace", str_replace_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SII("substr", substr_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SS("is_substr", issubstr_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_II("strsub", strsub_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SII("extract_element", extract_element_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SSI("is_list_element", is_list_element_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_SSI("string_match", string_match_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_I("string_match_nth", string_match_nth_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_0("strlow", strlow_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_I("tolower", tolower_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_I("toupper", toupper_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_0("strup", strup_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("isdigit", isdigit_cmd, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("strtrim", strtrim_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("strtrim_end", strtrim_end_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("strtrim_beg", strtrim_beg_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("strcompress", strcompress_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_I("Sprintf", sprintf_n_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("sprintf", sprintf_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("sscanf", _SLang_sscanf, SLANG_INT_TYPE),
+ MAKE_INTRINSIC_S("make_printable_string", make_printable_string, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SSI("str_quote_string", str_quote_string_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SSS("str_uncomment_string", str_uncomment_string_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_II("define_case", SLang_define_case, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("strtok", strtok_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_S("strjoin", strjoin_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SSS("strtrans", strtrans_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_SS("str_delete_chars", str_delete_chars_cmd, SLANG_VOID_TYPE),
+
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+/*}}}*/
+
+int _SLang_init_slstrops (void)
+{
+ return SLadd_intrin_fun_table (Strops_Table, NULL);
+}
diff --git a/mdk-stage1/slang/slstruct.c b/mdk-stage1/slang/slstruct.c
new file mode 100644
index 000000000..33d182373
--- /dev/null
+++ b/mdk-stage1/slang/slstruct.c
@@ -0,0 +1,932 @@
+/* Structure type implementation */
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#define SL_APP_WANTS_FOREACH
+#include "slang.h"
+#include "_slang.h"
+
+void _SLstruct_delete_struct (_SLang_Struct_Type *s)
+{
+ _SLstruct_Field_Type *field, *field_max;
+
+ if (s == NULL) return;
+
+ if (s->num_refs > 1)
+ {
+ s->num_refs -= 1;
+ return;
+ }
+
+ field = s->fields;
+ if (field != NULL)
+ {
+ field_max = field + s->nfields;
+
+ while (field < field_max)
+ {
+ SLang_free_object (&field->obj);
+ SLang_free_slstring (field->name); /* could be NULL */
+ field++;
+ }
+ SLfree ((char *) s->fields);
+ }
+ SLfree ((char *) s);
+}
+
+static _SLang_Struct_Type *allocate_struct (unsigned int nfields)
+{
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+ unsigned int i, size;
+
+ s = (_SLang_Struct_Type *) SLmalloc (sizeof (_SLang_Struct_Type));
+ if (s == NULL) return NULL;
+
+ SLMEMSET((char *) s, 0, sizeof (_SLang_Struct_Type));
+
+ size = nfields * sizeof(_SLstruct_Field_Type);
+ if (NULL == (f = (_SLstruct_Field_Type *) SLmalloc (size)))
+ {
+ SLfree ((char *) s);
+ return NULL;
+ }
+ SLMEMSET ((char *) f, 0, size);
+ s->nfields = nfields;
+ s->fields = f;
+
+ /* By default, all structs will be created with elements set to NULL. I
+ * do not know whether or not it is better to use SLANG_UNDEFINED_TYPE.
+ */
+ for (i = 0; i < nfields; i++)
+ f[i].obj.data_type = SLANG_NULL_TYPE;
+
+ return s;
+}
+
+static int push_struct_of_type (unsigned char type, _SLang_Struct_Type *s)
+{
+ SLang_Object_Type obj;
+
+ obj.data_type = type;
+ obj.v.struct_val = s;
+ s->num_refs += 1;
+
+ if (0 == SLang_push (&obj))
+ return 0;
+
+ s->num_refs -= 1;
+ return -1;
+}
+
+int _SLang_push_struct (_SLang_Struct_Type *s)
+{
+ return push_struct_of_type (SLANG_STRUCT_TYPE, s);
+}
+
+int _SLang_pop_struct (_SLang_Struct_Type **sp)
+{
+ SLang_Object_Type obj;
+ SLang_Class_Type *cl;
+ unsigned char type;
+
+ if (0 != SLang_pop (&obj))
+ return -1;
+
+ type = obj.data_type;
+ if (type != SLANG_STRUCT_TYPE)
+ {
+ cl = _SLclass_get_class (type);
+ if (cl->cl_struct_def == NULL)
+ {
+ *sp = NULL;
+ SLang_free_object (&obj);
+ SLang_verror (SL_TYPE_MISMATCH,
+ "Expecting struct type object. Found %s",
+ cl->cl_name);
+ return -1;
+ }
+ }
+
+ *sp = obj.v.struct_val;
+ return 0;
+}
+
+static void struct_destroy (unsigned char type, VOID_STAR vs)
+{
+ (void) type;
+ _SLstruct_delete_struct (*(_SLang_Struct_Type **) vs);
+}
+
+static int struct_push (unsigned char type, VOID_STAR ptr)
+{
+ return push_struct_of_type (type, *(_SLang_Struct_Type **) ptr);
+}
+
+static _SLstruct_Field_Type *find_field (_SLang_Struct_Type *s, char *name)
+{
+ _SLstruct_Field_Type *f, *fmax;
+
+ f = s->fields;
+ fmax = f + s->nfields;
+
+ while (f < fmax)
+ {
+ /* Since both these are slstrings, only compare pointer */
+ if (name == f->name)
+ return f;
+
+ f++;
+ }
+
+ return NULL;
+}
+
+static _SLstruct_Field_Type *pop_field (_SLang_Struct_Type *s, char *name)
+{
+ _SLstruct_Field_Type *f;
+
+ f = find_field (s, name);
+ if (f == NULL)
+ SLang_verror (SL_SYNTAX_ERROR, "struct has no field named %s", name);
+ return f;
+}
+
+int SLstruct_create_struct (unsigned int nfields,
+ char **field_names,
+ unsigned char *field_types,
+ VOID_STAR *field_values)
+{
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+ unsigned int i;
+
+ if (NULL == (s = allocate_struct (nfields)))
+ return -1;
+
+ f = s->fields;
+ for (i = 0; i < nfields; i++)
+ {
+ unsigned char type;
+ SLang_Class_Type *cl;
+ VOID_STAR value;
+ char *name = field_names [i];
+
+ if (name == NULL)
+ {
+ SLang_verror (SL_INVALID_PARM, "A struct field name cannot be NULL");
+ goto return_error;
+ }
+
+ if (NULL == (f->name = SLang_create_slstring (name)))
+ goto return_error;
+
+ if ((field_values == NULL)
+ || (NULL == (value = field_values [i])))
+ {
+ f++;
+ continue;
+ }
+
+ type = field_types[i];
+ cl = _SLclass_get_class (type);
+
+ if ((-1 == (cl->cl_push (type, value)))
+ || (-1 == SLang_pop (&f->obj)))
+ goto return_error;
+
+ f++;
+ }
+
+ if (0 == _SLang_push_struct (s))
+ return 0;
+ /* drop */
+
+ return_error:
+ _SLstruct_delete_struct (s);
+ return -1;
+}
+
+/* Interpreter interface */
+
+int _SLstruct_define_struct (void)
+{
+ int nfields;
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+
+ if (-1 == SLang_pop_integer (&nfields))
+ return -1;
+
+ if (nfields <= 0)
+ {
+ SLang_verror (SL_INVALID_PARM, "Number of struct fields must be > 0");
+ return -1;
+ }
+
+ if (NULL == (s = allocate_struct (nfields)))
+ return -1;
+
+ f = s->fields;
+ while (nfields)
+ {
+ char *name;
+
+ nfields--;
+ if (-1 == SLang_pop_slstring (&name))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+ f[nfields].name = name;
+ }
+
+ if (-1 == _SLang_push_struct (s))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+ return 0;
+}
+
+/* Simply make a struct that contains the same fields as struct s. Do not
+ * duplicate the field values.
+ */
+static _SLang_Struct_Type *make_struct_shell (_SLang_Struct_Type *s)
+{
+ _SLang_Struct_Type *new_s;
+ _SLstruct_Field_Type *new_f, *old_f;
+ unsigned int i, nfields;
+
+ nfields = s->nfields;
+ if (NULL == (new_s = allocate_struct (nfields)))
+ return NULL;
+
+ new_f = new_s->fields;
+ old_f = s->fields;
+
+ for (i = 0; i < nfields; i++)
+ {
+ if (NULL == (new_f[i].name = SLang_create_slstring (old_f[i].name)))
+ {
+ _SLstruct_delete_struct (new_s);
+ return NULL;
+ }
+ }
+ return new_s;
+}
+
+static int struct_init_array_object (unsigned char type, VOID_STAR addr)
+{
+ SLang_Class_Type *cl;
+ _SLang_Struct_Type *s;
+
+ cl = _SLclass_get_class (type);
+ if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
+ return -1;
+
+ s->num_refs = 1;
+ *(_SLang_Struct_Type **) addr = s;
+ return 0;
+}
+
+static int
+typedefed_struct_datatype_deref (unsigned char type)
+{
+ SLang_Class_Type *cl;
+ _SLang_Struct_Type *s;
+
+ cl = _SLclass_get_class (type);
+ if (NULL == (s = make_struct_shell (cl->cl_struct_def)))
+ return -1;
+
+ if (-1 == push_struct_of_type (type, s))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+
+ return 0;
+}
+
+static _SLang_Struct_Type *duplicate_struct (_SLang_Struct_Type *s)
+{
+ _SLang_Struct_Type *new_s;
+ _SLstruct_Field_Type *new_f, *f, *fmax;
+
+ new_s = make_struct_shell (s);
+
+ if (new_s == NULL)
+ return NULL;
+
+ f = s->fields;
+ fmax = f + s->nfields;
+ new_f = new_s->fields;
+
+ while (f < fmax)
+ {
+ SLang_Object_Type *obj;
+
+ obj = &f->obj;
+ if (obj->data_type != SLANG_UNDEFINED_TYPE)
+ {
+ if ((-1 == _SLpush_slang_obj (obj))
+ || (-1 == SLang_pop (&new_f->obj)))
+ {
+ _SLstruct_delete_struct (new_s);
+ return NULL;
+ }
+ }
+ new_f++;
+ f++;
+ }
+
+ return new_s;
+}
+
+static int struct_dereference (unsigned char type, VOID_STAR addr)
+{
+ _SLang_Struct_Type *s;
+
+ if (NULL == (s = duplicate_struct (*(_SLang_Struct_Type **) addr)))
+ return -1;
+
+ if (-1 == push_struct_of_type (type, s))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+
+ return 0;
+}
+
+/*{{{ foreach */
+
+struct _SLang_Foreach_Context_Type
+{
+ _SLang_Struct_Type *s;
+ char *next_field_name;
+};
+
+static SLang_Foreach_Context_Type *
+struct_foreach_open (unsigned char type, unsigned int num)
+{
+ SLang_Foreach_Context_Type *c;
+ _SLang_Struct_Type *s;
+ char *next_name;
+
+ (void) type;
+
+ if (-1 == _SLang_pop_struct (&s))
+ return NULL;
+
+ switch (num)
+ {
+ case 0:
+ next_name = SLang_create_slstring ("next");
+ break;
+
+ case 1:
+ if (-1 == SLang_pop_slstring (&next_name))
+ next_name = NULL;
+ break;
+
+ default:
+ next_name = NULL;
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "'foreach (Struct_Type) using' requires single control value");
+ SLdo_pop_n (num);
+ break;
+ }
+
+ if (next_name == NULL)
+ {
+ _SLstruct_delete_struct (s);
+ return NULL;
+ }
+
+ c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
+ if (c == NULL)
+ {
+ _SLstruct_delete_struct (s);
+ SLang_free_slstring (next_name);
+ return NULL;
+ }
+ memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
+
+ c->next_field_name = next_name;
+ c->s = s;
+
+ return c;
+}
+
+static void struct_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ if (c == NULL) return;
+
+ SLang_free_slstring (c->next_field_name);
+ if (c->s != NULL) _SLstruct_delete_struct (c->s);
+ SLfree ((char *) c);
+}
+
+static int struct_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ _SLstruct_Field_Type *f;
+ _SLang_Struct_Type *next_s;
+
+ (void) type;
+
+ if (c == NULL)
+ return -1;
+
+ if (c->s == NULL)
+ return 0; /* done */
+
+ if (-1 == _SLang_push_struct (c->s))
+ return -1;
+
+ /* Now get the next one ready for the next foreach loop */
+
+ next_s = NULL;
+ if (NULL != (f = find_field (c->s, c->next_field_name)))
+ {
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (f->obj.data_type);
+ /* Note that I cannot simply look for SLANG_STRUCT_TYPE since the
+ * user may have typedefed another struct type. So, look at the
+ * class methods.
+ */
+ if (cl->cl_foreach_open == struct_foreach_open)
+ {
+ next_s = f->obj.v.struct_val;
+ next_s->num_refs += 1;
+ }
+ }
+
+ _SLstruct_delete_struct (c->s);
+ c->s = next_s;
+
+ /* keep going */
+ return 1;
+}
+
+/*}}}*/
+
+static int struct_sput (unsigned char type, char *name)
+{
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+ SLang_Object_Type obj;
+
+ (void) type;
+
+ if (-1 == _SLang_pop_struct (&s))
+ return -1;
+
+ if ((NULL == (f = pop_field (s, name)))
+ || (-1 == SLang_pop (&obj)))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+
+ SLang_free_object (&f->obj);
+ f->obj = obj;
+ _SLstruct_delete_struct (s);
+ return 0;
+}
+
+static int struct_sget (unsigned char type, char *name)
+{
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+ int ret;
+
+ (void) type;
+
+ if (-1 == _SLang_pop_struct (&s))
+ return -1;
+
+ if (NULL == (f = pop_field (s, name)))
+ {
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+
+ ret = _SLpush_slang_obj (&f->obj);
+ _SLstruct_delete_struct (s);
+ return ret;
+}
+
+static int struct_typecast
+ (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ _SLang_Struct_Type **a, **b;
+ unsigned int i;
+
+ (void) a_type;
+ (void) b_type;
+
+ a = (_SLang_Struct_Type **) ap;
+ b = (_SLang_Struct_Type **) bp;
+ for (i = 0; i < na; i++)
+ {
+ b[i] = a[i];
+ if (a[i] != NULL)
+ a[i]->num_refs += 1;
+ }
+
+ return 1;
+}
+
+int _SLstruct_define_typedef (void)
+{
+ char *type_name;
+ _SLang_Struct_Type *s, *s1;
+ SLang_Class_Type *cl;
+
+ if (-1 == SLang_pop_slstring (&type_name))
+ return -1;
+
+ if (-1 == _SLang_pop_struct (&s))
+ {
+ SLang_free_slstring (type_name);
+ return -1;
+ }
+
+ if (NULL == (s1 = make_struct_shell (s)))
+ {
+ SLang_free_slstring (type_name);
+ _SLstruct_delete_struct (s);
+ return -1;
+ }
+
+ _SLstruct_delete_struct (s);
+
+ if (NULL == (cl = SLclass_allocate_class (type_name)))
+ {
+ SLang_free_slstring (type_name);
+ _SLstruct_delete_struct (s1);
+ return -1;
+ }
+ SLang_free_slstring (type_name);
+
+ cl->cl_struct_def = s1;
+ cl->cl_init_array_object = struct_init_array_object;
+ cl->cl_datatype_deref = typedefed_struct_datatype_deref;
+ cl->cl_destroy = struct_destroy;
+ cl->cl_push = struct_push;
+ cl->cl_dereference = struct_dereference;
+ cl->cl_foreach_open = struct_foreach_open;
+ cl->cl_foreach_close = struct_foreach_close;
+ cl->cl_foreach = struct_foreach;
+
+ cl->cl_sget = struct_sget;
+ cl->cl_sput = struct_sput;
+
+ if (-1 == SLclass_register_class (cl,
+ SLANG_VOID_TYPE, /* any open slot */
+ sizeof (_SLang_Struct_Type),
+ SLANG_CLASS_TYPE_PTR))
+ {
+ /* FIXME: Priority=low */
+ /* There is a memory leak here if this fails... */
+ return -1;
+ }
+ /* Note: typecast from a user type struct type allowed but not the other
+ * way.
+ */
+ if (-1 == SLclass_add_typecast (cl->cl_data_type, SLANG_STRUCT_TYPE, struct_typecast, 1))
+ return -1;
+
+ return 0;
+}
+
+static int
+struct_datatype_deref (unsigned char stype)
+{
+ (void) stype;
+
+ if (SLang_peek_at_stack () == SLANG_ARRAY_TYPE)
+ {
+ SLang_Array_Type *at;
+ int status;
+
+ if (-1 == SLang_pop_array_of_type (&at, SLANG_STRING_TYPE))
+ return -1;
+
+ status = SLstruct_create_struct (at->num_elements,
+ (char **) at->data, NULL, NULL);
+
+ SLang_free_array (at);
+ return status;
+ }
+
+ SLang_push_integer (SLang_Num_Function_Args);
+ return _SLstruct_define_struct ();
+}
+
+static int register_struct (void)
+{
+ SLang_Class_Type *cl;
+
+ if (NULL == (cl = SLclass_allocate_class ("Struct_Type")))
+ return -1;
+
+ (void) SLclass_set_destroy_function (cl, struct_destroy);
+ (void) SLclass_set_push_function (cl, struct_push);
+ cl->cl_dereference = struct_dereference;
+ cl->cl_datatype_deref = struct_datatype_deref;
+
+ cl->cl_foreach_open = struct_foreach_open;
+ cl->cl_foreach_close = struct_foreach_close;
+ cl->cl_foreach = struct_foreach;
+
+ cl->cl_sget = struct_sget;
+ cl->cl_sput = struct_sput;
+
+ if (-1 == SLclass_register_class (cl, SLANG_STRUCT_TYPE, sizeof (_SLang_Struct_Type),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ return 0;
+}
+
+static void get_struct_field_names (_SLang_Struct_Type *s)
+{
+ SLang_Array_Type *a;
+ char **data;
+ int i, nfields;
+ _SLstruct_Field_Type *f;
+
+ nfields = (int) s->nfields;
+
+ if (NULL == (a = SLang_create_array (SLANG_STRING_TYPE, 0, NULL, &nfields, 1)))
+ return;
+
+ f = s->fields;
+ data = (char **) a->data;
+ for (i = 0; i < nfields; i++)
+ {
+ /* Since we are dealing with hashed strings, the next call should not
+ * fail. If it does, the interpreter will handle it at some other
+ * level.
+ */
+ data [i] = SLang_create_slstring (f[i].name);
+ }
+
+ SLang_push_array (a, 1);
+}
+
+static int push_struct_fields (_SLang_Struct_Type *s)
+{
+ _SLstruct_Field_Type *f, *fmax;
+ int num;
+
+ f = s->fields;
+ fmax = f + s->nfields;
+
+ num = 0;
+ while (fmax > f)
+ {
+ fmax--;
+ if (-1 == _SLpush_slang_obj (&fmax->obj))
+ break;
+
+ num++;
+ }
+
+ return num;
+}
+
+/* Syntax: set_struct_field (s, name, value); */
+static void struct_set_field (void)
+{
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+ SLang_Object_Type obj;
+ char *name;
+
+ if (-1 == SLang_pop (&obj))
+ return;
+
+ if (-1 == SLang_pop_slstring (&name))
+ {
+ SLang_free_object (&obj);
+ return;
+ }
+
+ if (-1 == _SLang_pop_struct (&s))
+ {
+ SLang_free_slstring (name);
+ SLang_free_object (&obj);
+ return;
+ }
+
+ if (NULL == (f = pop_field (s, name)))
+ {
+ _SLstruct_delete_struct (s);
+ SLang_free_slstring (name);
+ SLang_free_object (&obj);
+ return;
+ }
+
+ SLang_free_object (&f->obj);
+ f->obj = obj;
+
+ _SLstruct_delete_struct (s);
+ SLang_free_slstring (name);
+}
+
+/* Syntax: set_struct_fields (s, values....); */
+static void set_struct_fields (void)
+{
+ unsigned int n;
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+
+ n = (unsigned int) SLang_Num_Function_Args;
+
+ if (-1 == SLreverse_stack (n))
+ return;
+
+ n--;
+ if (-1 == _SLang_pop_struct (&s))
+ {
+ SLdo_pop_n (n);
+ return;
+ }
+
+ if (n > s->nfields)
+ {
+ SLdo_pop_n (n);
+ SLang_verror (SL_INVALID_PARM, "Too many values for structure");
+ _SLstruct_delete_struct (s);
+ return;
+ }
+
+ f = s->fields;
+ while (n > 0)
+ {
+ SLang_Object_Type obj;
+
+ if (-1 == SLang_pop (&obj))
+ break;
+
+ SLang_free_object (&f->obj);
+ f->obj = obj;
+
+ f++;
+ n--;
+ }
+
+ _SLstruct_delete_struct (s);
+}
+
+static void get_struct_field (char *name)
+{
+ (void) struct_sget (0, name);
+}
+
+static int is_struct_type (void)
+{
+ SLang_Object_Type obj;
+ unsigned char type;
+ int status;
+
+ if (-1 == SLang_pop (&obj))
+ return -1;
+
+ type = obj.data_type;
+ if (type == SLANG_STRUCT_TYPE)
+ status = 1;
+ else
+ status = (NULL != _SLclass_get_class (type)->cl_struct_def);
+ SLang_free_object (&obj);
+ return status;
+}
+
+
+static SLang_Intrin_Fun_Type Struct_Table [] =
+{
+ MAKE_INTRINSIC_1("get_struct_field_names", get_struct_field_names, SLANG_VOID_TYPE, SLANG_STRUCT_TYPE),
+ MAKE_INTRINSIC_1("get_struct_field", get_struct_field, SLANG_VOID_TYPE, SLANG_STRING_TYPE),
+ MAKE_INTRINSIC_1("_push_struct_field_values", push_struct_fields, SLANG_INT_TYPE, SLANG_STRUCT_TYPE),
+ MAKE_INTRINSIC_0("set_struct_field", struct_set_field, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("set_struct_fields", set_struct_fields, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("is_struct_type", is_struct_type, SLANG_INT_TYPE),
+ /* MAKE_INTRINSIC_I("_create_struct", create_struct, SLANG_VOID_TYPE), */
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int _SLstruct_init (void)
+{
+ if ((-1 == SLadd_intrin_fun_table (Struct_Table, NULL))
+ || (-1 == register_struct ()))
+ return -1;
+
+ return 0;
+}
+
+void _SLstruct_pop_args (int *np)
+{
+ SLang_Array_Type *at;
+ int i, n;
+ _SLang_Struct_Type **data;
+
+ n = *np;
+
+ if (n < 0)
+ {
+ SLang_Error = SL_INVALID_PARM;
+ return;
+ }
+
+ data = (_SLang_Struct_Type **) SLmalloc ((n + 1) * sizeof (_SLang_Struct_Type *));
+ if (data == NULL)
+ {
+ SLdo_pop_n (n);
+ return;
+ }
+
+ memset ((char *)data, 0, n * sizeof (_SLang_Struct_Type *));
+
+ i = n;
+ while (i > 0)
+ {
+ _SLang_Struct_Type *s;
+ _SLstruct_Field_Type *f;
+
+ i--;
+
+ if (NULL == (s = allocate_struct (1)))
+ goto return_error;
+
+ data[i] = s;
+ s->num_refs += 1; /* keeping a copy */
+
+ f = s->fields;
+ if (NULL == (f->name = SLang_create_slstring ("value")))
+ goto return_error;
+
+ if (-1 == SLang_pop (&f->obj))
+ goto return_error;
+ }
+
+ if (NULL == (at = SLang_create_array (SLANG_STRUCT_TYPE, 0,
+ (VOID_STAR) data, &n, 1)))
+ goto return_error;
+
+ (void) SLang_push_array (at, 1);
+ return;
+
+ return_error:
+ for (i = 0; i < n; i++)
+ {
+ _SLang_Struct_Type *s;
+
+ s = data[i];
+ if (s != NULL)
+ _SLstruct_delete_struct (s);
+ }
+
+ SLfree ((char *) data);
+}
+
+void _SLstruct_push_args (SLang_Array_Type *at)
+{
+ _SLang_Struct_Type **sp;
+ unsigned int num;
+
+ if (at->data_type != SLANG_STRUCT_TYPE)
+ {
+ SLang_Error = SL_TYPE_MISMATCH;
+ return;
+ }
+
+ sp = (_SLang_Struct_Type **) at->data;
+ num = at->num_elements;
+
+ while ((SLang_Error == 0) && (num > 0))
+ {
+ _SLang_Struct_Type *s;
+
+ num--;
+ if (NULL == (s = *sp++))
+ {
+ SLang_push_null ();
+ continue;
+ }
+
+ /* I should check to see if the value field is present, but... */
+ (void) _SLpush_slang_obj (&s->fields->obj);
+ }
+}
diff --git a/mdk-stage1/slang/sltermin.c b/mdk-stage1/slang/sltermin.c
new file mode 100644
index 000000000..f9c64f0b2
--- /dev/null
+++ b/mdk-stage1/slang/sltermin.c
@@ -0,0 +1,1155 @@
+/* This file contains enough terminfo reading capabilities sufficient for
+ * the slang SLtt interface.
+ */
+
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+/*
+ * The majority of the comments found in the file were taken from the
+ * term(4) man page on an SGI.
+ */
+
+/* Short integers are stored in two 8-bit bytes. The first byte contains
+ * the least significant 8 bits of the value, and the second byte contains
+ * the most significant 8 bits. (Thus, the value represented is
+ * 256*second+first.) The value -1 is represented by 0377,0377, and the
+ * value -2 is represented by 0376,0377; other negative values are illegal.
+ * The -1 generally means that a capability is missing from this terminal.
+ * The -2 means that the capability has been cancelled in the terminfo
+ * source and also is to be considered missing.
+ */
+
+static int make_integer (unsigned char *buf)
+{
+ register int lo, hi;
+ lo = (int) *buf++; hi = (int) *buf;
+ if (hi == 0377)
+ {
+ if (lo == 0377) return -1;
+ if (lo == 0376) return -2;
+ }
+ return lo + 256 * hi;
+}
+
+/*
+ * The compiled file is created from the source file descriptions of the
+ * terminals (see the -I option of infocmp) by using the terminfo compiler,
+ * tic, and read by the routine setupterm [see curses(3X).] The file is
+ * divided into six parts in the following order: the header, terminal
+ * names, boolean flags, numbers, strings, and string table.
+ *
+ * The header section begins the file. This section contains six short
+ * integers in the format described below. These integers are (1) the magic
+ * number (octal 0432); (2) the size, in bytes, of the names section; (3)
+ * the number of bytes in the boolean section; (4) the number of short
+ * integers in the numbers section; (5) the number of offsets (short
+ * integers) in the strings section; (6) the size, in bytes, of the string
+ * table.
+ */
+
+#define MAGIC 0432
+
+/* In this structure, all char * fields are malloced EXCEPT if the
+ * structure is SLTERMCAP. In that case, only terminal_names is malloced
+ * and the other fields are pointers into it.
+ */
+struct _SLterminfo_Type
+{
+#define SLTERMINFO 1
+#define SLTERMCAP 2
+ unsigned int flags;
+
+ unsigned int name_section_size;
+ char *terminal_names;
+
+ unsigned int boolean_section_size;
+ unsigned char *boolean_flags;
+
+ unsigned int num_numbers;
+ unsigned char *numbers;
+
+ unsigned int num_string_offsets;
+ unsigned char *string_offsets;
+
+ unsigned int string_table_size;
+ char *string_table;
+
+};
+
+static char *tcap_getstr (char *, SLterminfo_Type *);
+static int tcap_getnum (char *, SLterminfo_Type *);
+static int tcap_getflag (char *, SLterminfo_Type *);
+static int tcap_getent (char *, SLterminfo_Type *);
+
+static FILE *open_terminfo (char *file, SLterminfo_Type *h)
+{
+ FILE *fp;
+ unsigned char buf[12];
+
+ /* Alan Cox reported a security problem here if the application using the
+ * library is setuid. So, I need to make sure open the file as a normal
+ * user. Unfortunately, there does not appear to be a portable way of
+ * doing this, so I am going to use 'setfsgid' and 'setfsuid', which
+ * are not portable.
+ *
+ * I will also look into the use of setreuid, seteuid and setregid, setegid.
+ * FIXME: Priority=medium
+ */
+ fp = fopen (file, "rb");
+ if (fp == NULL) return NULL;
+
+ if ((12 == fread ((char *) buf, 1, 12, fp) && (MAGIC == make_integer (buf))))
+ {
+ h->name_section_size = make_integer (buf + 2);
+ h->boolean_section_size = make_integer (buf + 4);
+ h->num_numbers = make_integer (buf + 6);
+ h->num_string_offsets = make_integer (buf + 8);
+ h->string_table_size = make_integer (buf + 10);
+ }
+ else
+ {
+ fclose (fp);
+ fp = NULL;
+ }
+ return fp;
+}
+
+/*
+ * The terminal names section comes next. It contains the first line of the
+ * terminfo description, listing the various names for the terminal,
+ * separated by the bar ( | ) character (see term(5)). The section is
+ * terminated with an ASCII NUL character.
+ */
+
+/* returns pointer to malloced space */
+static unsigned char *read_terminfo_section (FILE *fp, unsigned int size)
+{
+ char *s;
+
+ if (NULL == (s = (char *) SLmalloc (size))) return NULL;
+ if (size != fread (s, 1, size, fp))
+ {
+ SLfree (s);
+ return NULL;
+ }
+ return (unsigned char *) s;
+}
+
+static char *read_terminal_names (FILE *fp, SLterminfo_Type *t)
+{
+ return t->terminal_names = (char *) read_terminfo_section (fp, t->name_section_size);
+}
+
+/*
+ * The boolean flags have one byte for each flag. This byte is either 0 or
+ * 1 as the flag is present or absent. The value of 2 means that the flag
+ * has been cancelled. The capabilities are in the same order as the file
+ * <term.h>.
+ */
+
+static unsigned char *read_boolean_flags (FILE *fp, SLterminfo_Type *t)
+{
+ /* Between the boolean section and the number section, a null byte is
+ * inserted, if necessary, to ensure that the number section begins on an
+ * even byte offset. All short integers are aligned on a short word
+ * boundary.
+ */
+
+ unsigned int size = (t->name_section_size + t->boolean_section_size) % 2;
+ size += t->boolean_section_size;
+
+ return t->boolean_flags = read_terminfo_section (fp, size);
+}
+
+/*
+ * The numbers section is similar to the boolean flags section. Each
+ * capability takes up two bytes, and is stored as a short integer. If the
+ * value represented is -1 or -2, the capability is taken to be missing.
+ */
+
+static unsigned char *read_numbers (FILE *fp, SLterminfo_Type *t)
+{
+ return t->numbers = read_terminfo_section (fp, 2 * t->num_numbers);
+}
+
+/* The strings section is also similar. Each capability is stored as a
+ * short integer, in the format above. A value of -1 or -2 means the
+ * capability is missing. Otherwise, the value is taken as an offset from
+ * the beginning of the string table. Special characters in ^X or \c
+ * notation are stored in their interpreted form, not the printing
+ * representation. Padding information ($<nn>) and parameter information
+ * (%x) are stored intact in uninterpreted form.
+ */
+
+static unsigned char *read_string_offsets (FILE *fp, SLterminfo_Type *t)
+{
+ return t->string_offsets = (unsigned char *) read_terminfo_section (fp, 2 * t->num_string_offsets);
+}
+
+/* The final section is the string table. It contains all the values of
+ * string capabilities referenced in the string section. Each string is
+ * null terminated.
+ */
+
+static char *read_string_table (FILE *fp, SLterminfo_Type *t)
+{
+ return t->string_table = (char *) read_terminfo_section (fp, t->string_table_size);
+}
+
+/*
+ * Compiled terminfo(4) descriptions are placed under the directory
+ * /usr/share/lib/terminfo. In order to avoid a linear search of a huge
+ * UNIX system directory, a two-level scheme is used:
+ * /usr/share/lib/terminfo/c/name where name is the name of the terminal,
+ * and c is the first character of name. Thus, att4425 can be found in the
+ * file /usr/share/lib/terminfo/a/att4425. Synonyms for the same terminal
+ * are implemented by multiple links to the same compiled file.
+ */
+
+#define MAX_TI_DIRS 7
+static char *Terminfo_Dirs [MAX_TI_DIRS] =
+{
+ NULL, /* $HOME/.terminfo */
+ NULL, /* $TERMINFO */
+ "/usr/share/terminfo",
+ "/usr/lib/terminfo",
+ "/usr/share/lib/terminfo",
+ "/etc/terminfo",
+ "/usr/local/lib/terminfo"
+};
+
+SLterminfo_Type *_SLtt_tigetent (char *term)
+{
+ char *tidir;
+ int i;
+ FILE *fp = NULL;
+ char file[1024];
+ static char home_ti [1024];
+ char *home;
+ SLterminfo_Type *ti;
+
+ if (
+ (term == NULL)
+#ifdef SLANG_UNTIC
+ && (SLang_Untic_Terminfo_File == NULL)
+#endif
+ )
+ return NULL;
+
+ if (NULL == (ti = (SLterminfo_Type *) SLmalloc (sizeof (SLterminfo_Type))))
+ {
+ return NULL;
+ }
+
+#ifdef SLANG_UNTIC
+ if (SLang_Untic_Terminfo_File != NULL)
+ {
+ fp = open_terminfo (SLang_Untic_Terminfo_File, ti);
+ goto fp_open_label;
+ }
+ else
+#endif
+ /* If we are on a termcap based system, use termcap */
+ if (0 == tcap_getent (term, ti)) return ti;
+
+ if (NULL != (home = getenv ("HOME")))
+ {
+ strncpy (home_ti, home, sizeof (home_ti) - 11);
+ home_ti [sizeof(home_ti) - 11] = 0;
+ strcat (home_ti, "/.terminfo");
+ Terminfo_Dirs [0] = home_ti;
+ }
+
+ Terminfo_Dirs[1] = getenv ("TERMINFO");
+ i = 0;
+ while (i < MAX_TI_DIRS)
+ {
+ tidir = Terminfo_Dirs[i];
+ if ((tidir != NULL)
+ && (sizeof (file) > strlen (tidir) + 2 + strlen (term)))
+ {
+ sprintf (file, "%s/%c/%s", tidir, *term, term);
+ if (NULL != (fp = open_terminfo (file, ti)))
+ break;
+ }
+ i++;
+ }
+#ifdef SLANG_UNTIC
+ fp_open_label:
+#endif
+
+ if (fp != NULL)
+ {
+ if (NULL != read_terminal_names (fp, ti))
+ {
+ if (NULL != read_boolean_flags (fp, ti))
+ {
+ if (NULL != read_numbers (fp, ti))
+ {
+ if (NULL != read_string_offsets (fp, ti))
+ {
+ if (NULL != read_string_table (fp, ti))
+ {
+ /* success */
+ fclose (fp);
+ ti->flags = SLTERMINFO;
+ return ti;
+ }
+ SLfree ((char *)ti->string_offsets);
+ }
+ SLfree ((char *)ti->numbers);
+ }
+ SLfree ((char *)ti->boolean_flags);
+ }
+ SLfree ((char *)ti->terminal_names);
+ }
+ fclose (fp);
+ }
+
+ SLfree ((char *)ti);
+ return NULL;
+}
+
+#ifdef SLANG_UNTIC
+# define UNTIC_COMMENT(x) ,x
+#else
+# define UNTIC_COMMENT(x)
+#endif
+
+typedef struct
+{
+ char name[3];
+ int offset;
+#ifdef SLANG_UNTIC
+ char *comment;
+#endif
+}
+Tgetstr_Map_Type;
+
+/* I need to add: K1-5, %0-5(not important), @8, &8... */
+static Tgetstr_Map_Type Tgetstr_Map [] =
+{
+ {"!1", 212 UNTIC_COMMENT("shifted key")},
+ {"!2", 213 UNTIC_COMMENT("shifted key")},
+ {"!3", 214 UNTIC_COMMENT("shifted key")},
+ {"#1", 198 UNTIC_COMMENT("shifted key")},
+ {"#2", 199 UNTIC_COMMENT("Key S-Home")},
+ {"#3", 200 UNTIC_COMMENT("Key S-Insert")},
+ {"#4", 201 UNTIC_COMMENT("Key S-Left")},
+ {"%0", 177 UNTIC_COMMENT("redo key")},
+ {"%1", 168 UNTIC_COMMENT("help key")},
+ {"%2", 169 UNTIC_COMMENT("mark key")},
+ {"%3", 170 UNTIC_COMMENT("message key")},
+ {"%4", 171 UNTIC_COMMENT("move key")},
+ {"%5", 172 UNTIC_COMMENT("next key")},
+ {"%6", 173 UNTIC_COMMENT("open key")},
+ {"%7", 174 UNTIC_COMMENT("options key")},
+ {"%8", 175 UNTIC_COMMENT("previous key")},
+ {"%9", 176 UNTIC_COMMENT("print key")},
+ {"%a", 202 UNTIC_COMMENT("shifted key")},
+ {"%b", 203 UNTIC_COMMENT("shifted key")},
+ {"%c", 204 UNTIC_COMMENT("Key S-Next")},
+ {"%d", 205 UNTIC_COMMENT("shifted key")},
+ {"%e", 206 UNTIC_COMMENT("Key S-Previous")},
+ {"%f", 207 UNTIC_COMMENT("shifted key")},
+ {"%g", 208 UNTIC_COMMENT("shifted key")},
+ {"%h", 209 UNTIC_COMMENT("shifted key")},
+ {"%i", 210 UNTIC_COMMENT("Key S-Right")},
+ {"%j", 211 UNTIC_COMMENT("shifted key")},
+ {"&0", 187 UNTIC_COMMENT("shifted key")},
+ {"&1", 178 UNTIC_COMMENT("reference key")},
+ {"&2", 179 UNTIC_COMMENT("refresh key")},
+ {"&3", 180 UNTIC_COMMENT("replace key")},
+ {"&4", 181 UNTIC_COMMENT("restart key")},
+ {"&5", 182 UNTIC_COMMENT("resume key")},
+ {"&6", 183 UNTIC_COMMENT("save key")},
+ {"&7", 184 UNTIC_COMMENT("suspend key")},
+ {"&8", 185 UNTIC_COMMENT("undo key")},
+ {"&9", 186 UNTIC_COMMENT("shifted key")},
+ {"*0", 197 UNTIC_COMMENT("shifted key")},
+ {"*1", 188 UNTIC_COMMENT("shifted key")},
+ {"*2", 189 UNTIC_COMMENT("shifted key")},
+ {"*3", 190 UNTIC_COMMENT("shifted key")},
+ {"*4", 191 UNTIC_COMMENT("Key S-Delete")},
+ {"*5", 192 UNTIC_COMMENT("shifted key")},
+ {"*6", 193 UNTIC_COMMENT("select key")},
+ {"*7", 194 UNTIC_COMMENT("Key S-End")},
+ {"*8", 195 UNTIC_COMMENT("shifted key")},
+ {"*9", 196 UNTIC_COMMENT("shifted key")},
+ {"@0", 167 UNTIC_COMMENT("find key")},
+ {"@1", 158 UNTIC_COMMENT("begin key")},
+ {"@2", 159 UNTIC_COMMENT("cancel key")},
+ {"@3", 160 UNTIC_COMMENT("close key")},
+ {"@4", 161 UNTIC_COMMENT("command key")},
+ {"@5", 162 UNTIC_COMMENT("copy key")},
+ {"@6", 163 UNTIC_COMMENT("create key")},
+ {"@7", 164 UNTIC_COMMENT("Key End")},
+ {"@8", 165 UNTIC_COMMENT("enter/send key")},
+ {"@9", 166 UNTIC_COMMENT("exit key")},
+ {"AB", 360 UNTIC_COMMENT("set ANSI color background")},
+ {"AF", 359 UNTIC_COMMENT("set ANSI color foreground")},
+ {"AL", 110 UNTIC_COMMENT("parm_insert_line")},
+ {"CC", 9 UNTIC_COMMENT("terminal settable cmd character in prototype !?")},
+ {"CM", 15 UNTIC_COMMENT("memory relative cursor addressing")},
+ {"CW", 277 UNTIC_COMMENT("define a window #1 from #2, #3 to #4, #5")},
+ {"DC", 105 UNTIC_COMMENT("delete #1 chars")},
+ {"DI", 280 UNTIC_COMMENT("dial number #1")},
+ {"DK", 275 UNTIC_COMMENT("display clock at (#1,#2)")},
+ {"DL", 106 UNTIC_COMMENT("parm_delete_line")},
+ {"DO", 107 UNTIC_COMMENT("down #1 lines")},
+ {"F1", 216 UNTIC_COMMENT("key_f11")},
+ {"F2", 217 UNTIC_COMMENT("key_f12")},
+ {"F3", 218 UNTIC_COMMENT("key_f13")},
+ {"F4", 219 UNTIC_COMMENT("key_f14")},
+ {"F5", 220 UNTIC_COMMENT("key_f15")},
+ {"F6", 221 UNTIC_COMMENT("key_f16")},
+ {"F7", 222 UNTIC_COMMENT("key_f17")},
+ {"F8", 223 UNTIC_COMMENT("key_f18")},
+ {"F9", 224 UNTIC_COMMENT("key_f19")},
+ {"FA", 225 UNTIC_COMMENT("key_f20")},
+ {"FB", 226 UNTIC_COMMENT("F21 function key")},
+ {"FC", 227 UNTIC_COMMENT("F22 function key")},
+ {"FD", 228 UNTIC_COMMENT("F23 function key")},
+ {"FE", 229 UNTIC_COMMENT("F24 function key")},
+ {"FF", 230 UNTIC_COMMENT("F25 function key")},
+ {"FG", 231 UNTIC_COMMENT("F26 function key")},
+ {"FH", 232 UNTIC_COMMENT("F27 function key")},
+ {"FI", 233 UNTIC_COMMENT("F28 function key")},
+ {"FJ", 234 UNTIC_COMMENT("F29 function key")},
+ {"FK", 235 UNTIC_COMMENT("F30 function key")},
+ {"FL", 236 UNTIC_COMMENT("F31 function key")},
+ {"FM", 237 UNTIC_COMMENT("F32 function key")},
+ {"FN", 238 UNTIC_COMMENT("F33 function key")},
+ {"FO", 239 UNTIC_COMMENT("F34 function key")},
+ {"FP", 240 UNTIC_COMMENT("F35 function key")},
+ {"FQ", 241 UNTIC_COMMENT("F36 function key")},
+ {"FR", 242 UNTIC_COMMENT("F37 function key")},
+ {"FS", 243 UNTIC_COMMENT("F38 function key")},
+ {"FT", 244 UNTIC_COMMENT("F39 function key")},
+ {"FU", 245 UNTIC_COMMENT("F40 function key")},
+ {"FV", 246 UNTIC_COMMENT("F41 function key")},
+ {"FW", 247 UNTIC_COMMENT("F42 function key")},
+ {"FX", 248 UNTIC_COMMENT("F43 function key")},
+ {"FY", 249 UNTIC_COMMENT("F44 function key")},
+ {"FZ", 250 UNTIC_COMMENT("F45 function key")},
+ {"Fa", 251 UNTIC_COMMENT("F46 function key")},
+ {"Fb", 252 UNTIC_COMMENT("F47 function key")},
+ {"Fc", 253 UNTIC_COMMENT("F48 function key")},
+ {"Fd", 254 UNTIC_COMMENT("F49 function key")},
+ {"Fe", 255 UNTIC_COMMENT("F50 function key")},
+ {"Ff", 256 UNTIC_COMMENT("F51 function key")},
+ {"Fg", 257 UNTIC_COMMENT("F52 function key")},
+ {"Fh", 258 UNTIC_COMMENT("F53 function key")},
+ {"Fi", 259 UNTIC_COMMENT("F54 function key")},
+ {"Fj", 260 UNTIC_COMMENT("F55 function key")},
+ {"Fk", 261 UNTIC_COMMENT("F56 function key")},
+ {"Fl", 262 UNTIC_COMMENT("F57 function key")},
+ {"Fm", 263 UNTIC_COMMENT("F58 function key")},
+ {"Fn", 264 UNTIC_COMMENT("F59 function key")},
+ {"Fo", 265 UNTIC_COMMENT("F60 function key")},
+ {"Fp", 266 UNTIC_COMMENT("F61 function key")},
+ {"Fq", 267 UNTIC_COMMENT("F62 function key")},
+ {"Fr", 268 UNTIC_COMMENT("F63 function key")},
+ {"G1", 400 UNTIC_COMMENT("single upper right")},
+ {"G2", 398 UNTIC_COMMENT("single upper left")},
+ {"G3", 399 UNTIC_COMMENT("single lower left")},
+ {"G4", 401 UNTIC_COMMENT("single lower right")},
+ {"GC", 408 UNTIC_COMMENT("single intersection")},
+ {"GD", 405 UNTIC_COMMENT("tee pointing down")},
+ {"GH", 406 UNTIC_COMMENT("single horizontal line")},
+ {"GL", 403 UNTIC_COMMENT("tee pointing left")},
+ {"GR", 402 UNTIC_COMMENT("tee pointing right")},
+ {"GU", 404 UNTIC_COMMENT("tee pointing up")},
+ {"GV", 407 UNTIC_COMMENT("single vertical line")},
+ {"Gm", 358 UNTIC_COMMENT("Curses should get button events")},
+ {"HU", 279 UNTIC_COMMENT("hang-up phone")},
+ {"IC", 108 UNTIC_COMMENT("insert #1 chars")},
+ {"Ic", 299 UNTIC_COMMENT("initialize color #1 to (#2,#3,#4)")},
+ {"Ip", 300 UNTIC_COMMENT("Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)")},
+ {"K1", 139 UNTIC_COMMENT("upper left of keypad")},
+ {"K2", 141 UNTIC_COMMENT("center of keypad")},
+ {"K3", 140 UNTIC_COMMENT("upper right of keypad")},
+ {"K4", 142 UNTIC_COMMENT("lower left of keypad")},
+ {"K5", 143 UNTIC_COMMENT("lower right of keypad")},
+ {"Km", 355 UNTIC_COMMENT("Mouse event has occurred")},
+ {"LE", 111 UNTIC_COMMENT("move #1 chars to the left")},
+ {"LF", 157 UNTIC_COMMENT("turn off soft labels")},
+ {"LO", 156 UNTIC_COMMENT("turn on soft labels")},
+ {"Lf", 273 UNTIC_COMMENT("label format")},
+ {"MC", 270 UNTIC_COMMENT("clear right and left soft margins")},
+ {"ML", 271 UNTIC_COMMENT("set left soft margin")},
+ {"ML", 368 UNTIC_COMMENT("Set both left and right margins to #1, #2")},
+ {"MR", 272 UNTIC_COMMENT("set right soft margin")},
+ {"MT", 369 UNTIC_COMMENT("Sets both top and bottom margins to #1, #2")},
+ {"Mi", 356 UNTIC_COMMENT("Mouse status information")},
+ {"PA", 285 UNTIC_COMMENT("pause for 2-3 seconds")},
+ {"PU", 283 UNTIC_COMMENT("select pulse dialling")},
+ {"QD", 281 UNTIC_COMMENT("dial number #1 without checking")},
+ {"RA", 152 UNTIC_COMMENT("turn off automatic margins")},
+ {"RC", 276 UNTIC_COMMENT("remove clock")},
+ {"RF", 215 UNTIC_COMMENT("send next input char (for ptys)")},
+ {"RI", 112 UNTIC_COMMENT("parm_right_cursor")},
+ {"RQ", 357 UNTIC_COMMENT("Request mouse position")},
+ {"RX", 150 UNTIC_COMMENT("turn off xon/xoff handshaking")},
+ {"S1", 378 UNTIC_COMMENT("Display PC character")},
+ {"S2", 379 UNTIC_COMMENT("Enter PC character display mode")},
+ {"S3", 380 UNTIC_COMMENT("Exit PC character display mode")},
+ {"S4", 381 UNTIC_COMMENT("Enter PC scancode mode")},
+ {"S5", 382 UNTIC_COMMENT("Exit PC scancode mode")},
+ {"S6", 383 UNTIC_COMMENT("PC terminal options")},
+ {"S7", 384 UNTIC_COMMENT("Escape for scancode emulation")},
+ {"S8", 385 UNTIC_COMMENT("Alternate escape for scancode emulation")},
+ {"SA", 151 UNTIC_COMMENT("turn on automatic margins")},
+ {"SC", 274 UNTIC_COMMENT("set clock, #1 hrs #2 mins #3 secs")},
+ {"SF", 109 UNTIC_COMMENT("scroll forward #1 lines")},
+ {"SR", 113 UNTIC_COMMENT("scroll back #1 lines")},
+ {"SX", 149 UNTIC_COMMENT("turn on xon/xoff handshaking")},
+ {"Sb", 303 UNTIC_COMMENT("set background (color)")},
+ {"Sf", 302 UNTIC_COMMENT("set foreground (color)")},
+ {"TO", 282 UNTIC_COMMENT("select touch tone dialing")},
+ {"UP", 114 UNTIC_COMMENT("up #1 lines")},
+ {"WA", 286 UNTIC_COMMENT("wait for dial-tone")},
+ {"WG", 278 UNTIC_COMMENT("go to window #1")},
+ {"XF", 154 UNTIC_COMMENT("XOFF character")},
+ {"XN", 153 UNTIC_COMMENT("XON character")},
+ {"Xh", 386 UNTIC_COMMENT("Enter horizontal highlight mode")},
+ {"Xl", 387 UNTIC_COMMENT("Enter left highlight mode")},
+ {"Xo", 388 UNTIC_COMMENT("Enter low highlight mode")},
+ {"Xr", 389 UNTIC_COMMENT("Enter right highlight mode")},
+ {"Xt", 390 UNTIC_COMMENT("Enter top highlight mode")},
+ {"Xv", 391 UNTIC_COMMENT("Enter vertical highlight mode")},
+ {"Xy", 370 UNTIC_COMMENT("Repeat bit image cell #1 #2 times")},
+ {"YZ", 377 UNTIC_COMMENT("Set page length to #1 lines")},
+ {"Yv", 372 UNTIC_COMMENT("Move to beginning of same row")},
+ {"Yw", 373 UNTIC_COMMENT("Give name for color #1")},
+ {"Yx", 374 UNTIC_COMMENT("Define rectangualar bit image region")},
+ {"Yy", 375 UNTIC_COMMENT("End a bit-image region")},
+ {"Yz", 376 UNTIC_COMMENT("Change to ribbon color #1")},
+ {"ZA", 304 UNTIC_COMMENT("Change number of characters per inch")},
+ {"ZB", 305 UNTIC_COMMENT("Change number of lines per inch")},
+ {"ZC", 306 UNTIC_COMMENT("Change horizontal resolution")},
+ {"ZD", 307 UNTIC_COMMENT("Change vertical resolution")},
+ {"ZE", 308 UNTIC_COMMENT("Define a character")},
+ {"ZF", 309 UNTIC_COMMENT("Enter double-wide mode")},
+ {"ZG", 310 UNTIC_COMMENT("Enter draft-quality mode")},
+ {"ZH", 311 UNTIC_COMMENT("Enter italic mode")},
+ {"ZI", 312 UNTIC_COMMENT("Start leftward carriage motion")},
+ {"ZJ", 313 UNTIC_COMMENT("Start micro-motion mode")},
+ {"ZK", 314 UNTIC_COMMENT("Enter NLQ mode")},
+ {"ZL", 315 UNTIC_COMMENT("Wnter normal-quality mode")},
+ {"ZM", 316 UNTIC_COMMENT("Enter shadow-print mode")},
+ {"ZN", 317 UNTIC_COMMENT("Enter subscript mode")},
+ {"ZO", 318 UNTIC_COMMENT("Enter superscript mode")},
+ {"ZP", 319 UNTIC_COMMENT("Start upward carriage motion")},
+ {"ZQ", 320 UNTIC_COMMENT("End double-wide mode")},
+ {"ZR", 321 UNTIC_COMMENT("End italic mode")},
+ {"ZS", 322 UNTIC_COMMENT("End left-motion mode")},
+ {"ZT", 323 UNTIC_COMMENT("End micro-motion mode")},
+ {"ZU", 324 UNTIC_COMMENT("End shadow-print mode")},
+ {"ZV", 325 UNTIC_COMMENT("End subscript mode")},
+ {"ZW", 326 UNTIC_COMMENT("End superscript mode")},
+ {"ZX", 327 UNTIC_COMMENT("End reverse character motion")},
+ {"ZY", 328 UNTIC_COMMENT("Like column_address in micro mode")},
+ {"ZZ", 329 UNTIC_COMMENT("Like cursor_down in micro mode")},
+ {"Za", 330 UNTIC_COMMENT("Like cursor_left in micro mode")},
+ {"Zb", 331 UNTIC_COMMENT("Like cursor_right in micro mode")},
+ {"Zc", 332 UNTIC_COMMENT("Like row_address in micro mode")},
+ {"Zd", 333 UNTIC_COMMENT("Like cursor_up in micro mode")},
+ {"Ze", 334 UNTIC_COMMENT("Match software bits to print-head pins")},
+ {"Zf", 335 UNTIC_COMMENT("Like parm_down_cursor in micro mode")},
+ {"Zg", 336 UNTIC_COMMENT("Like parm_left_cursor in micro mode")},
+ {"Zh", 337 UNTIC_COMMENT("Like parm_right_cursor in micro mode")},
+ {"Zi", 338 UNTIC_COMMENT("Like parm_up_cursor in micro mode")},
+ {"Zj", 339 UNTIC_COMMENT("Select character set")},
+ {"Zk", 340 UNTIC_COMMENT("Set bottom margin at current line")},
+ {"Zl", 341 UNTIC_COMMENT("Set bottom margin at line #1 or #2 lines from bottom")},
+ {"Zm", 342 UNTIC_COMMENT("Set left (right) margin at column #1 (#2)")},
+ {"Zn", 343 UNTIC_COMMENT("Set right margin at column #1")},
+ {"Zo", 344 UNTIC_COMMENT("Set top margin at current line")},
+ {"Zp", 345 UNTIC_COMMENT("Set top (bottom) margin at row #1 (#2)")},
+ {"Zq", 346 UNTIC_COMMENT("Start printing bit image braphics")},
+ {"Zr", 347 UNTIC_COMMENT("Start character set definition")},
+ {"Zs", 348 UNTIC_COMMENT("Stop printing bit image graphics")},
+ {"Zt", 349 UNTIC_COMMENT("End definition of character aet")},
+ {"Zu", 350 UNTIC_COMMENT("List of subscriptable characters")},
+ {"Zv", 351 UNTIC_COMMENT("List of superscriptable characters")},
+ {"Zw", 352 UNTIC_COMMENT("Printing any of these chars causes CR")},
+ {"Zx", 353 UNTIC_COMMENT("No motion for subsequent character")},
+ {"Zy", 354 UNTIC_COMMENT("List of character set names")},
+ {"Zz", 371 UNTIC_COMMENT("Move to next row of the bit image")},
+ {"ac", 146 UNTIC_COMMENT("acs_chars")},
+ {"ae", 38 UNTIC_COMMENT("exit_alt_charset_mode")},
+ {"al", 53 UNTIC_COMMENT("insert line")},
+ {"as", 25 UNTIC_COMMENT("enter_alt_charset_mode")},
+ {"bc", 395 UNTIC_COMMENT("move left, if not ^H")},
+ {"bl", 1 UNTIC_COMMENT("audible signal (bell)")},
+ {"bt", 0 UNTIC_COMMENT("back tab")},
+ {"bx", 411 UNTIC_COMMENT("box chars primary set")},
+ {"cb", 269 UNTIC_COMMENT("Clear to beginning of line")},
+ {"cd", 7 UNTIC_COMMENT("clear to end of screen")},
+ {"ce", 6 UNTIC_COMMENT("clr_eol")},
+ {"ch", 8 UNTIC_COMMENT("horizontal position #1, absolute")},
+ {"ci", 363 UNTIC_COMMENT("Init sequence for multiple codesets")},
+ {"cl", 5 UNTIC_COMMENT("clear screen and home cursor")},
+ {"cm", 10 UNTIC_COMMENT("move to row #1 columns #2")},
+ {"cr", 2 UNTIC_COMMENT("carriage return")},
+ {"cs", 3 UNTIC_COMMENT("change region to line #1 to line #2")},
+ {"ct", 4 UNTIC_COMMENT("clear all tab stops")},
+ {"cv", 127 UNTIC_COMMENT("vertical position #1 absolute")},
+ {"dc", 21 UNTIC_COMMENT("delete character")},
+ {"dl", 22 UNTIC_COMMENT("delete line")},
+ {"dm", 29 UNTIC_COMMENT("enter delete mode")},
+ {"do", 11 UNTIC_COMMENT("down one line")},
+ {"ds", 23 UNTIC_COMMENT("disable status line")},
+ {"dv", 362 UNTIC_COMMENT("Indicate language/codeset support")},
+ {"eA", 155 UNTIC_COMMENT("enable alternate char set")},
+ {"ec", 37 UNTIC_COMMENT("erase #1 characters")},
+ {"ed", 41 UNTIC_COMMENT("end delete mode")},
+ {"ei", 42 UNTIC_COMMENT("exit insert mode")},
+ {"ff", 46 UNTIC_COMMENT("hardcopy terminal page eject")},
+ {"fh", 284 UNTIC_COMMENT("flash switch hook")},
+ {"fs", 47 UNTIC_COMMENT("return from status line")},
+ {"hd", 24 UNTIC_COMMENT("half a line down")},
+ {"ho", 12 UNTIC_COMMENT("home cursor (if no cup)")},
+ {"hu", 137 UNTIC_COMMENT("half a line up")},
+ {"i1", 48 UNTIC_COMMENT("initialization string")},
+ {"i2", 392 UNTIC_COMMENT("secondary initialization string")},
+ {"i3", 50 UNTIC_COMMENT("initialization string")},
+ {"iP", 138 UNTIC_COMMENT("path name of program for initialization")},
+ {"ic", 52 UNTIC_COMMENT("insert character")},
+ {"if", 51 UNTIC_COMMENT("name of initialization file")},
+ {"im", 31 UNTIC_COMMENT("enter insert mode")},
+ {"ip", 54 UNTIC_COMMENT("insert padding after inserted character")},
+ {"is", 49 UNTIC_COMMENT("initialization string")},
+ {"k0", 65 UNTIC_COMMENT("F0 function key")},
+ {"k1", 66 UNTIC_COMMENT("F1 function key")},
+ {"k2", 68 UNTIC_COMMENT("F2 function key")},
+ {"k3", 69 UNTIC_COMMENT("F3 function key")},
+ {"k4", 70 UNTIC_COMMENT("F4 function key")},
+ {"k5", 71 UNTIC_COMMENT("F5 function key")},
+ {"k6", 72 UNTIC_COMMENT("F6 function key")},
+ {"k7", 73 UNTIC_COMMENT("F7 function key")},
+ {"k8", 74 UNTIC_COMMENT("F8 fucntion key")},
+ {"k9", 75 UNTIC_COMMENT("F9 function key")},
+ {"k;", 67 UNTIC_COMMENT("F10 function key")},
+ {"kA", 78 UNTIC_COMMENT("insert-line key")},
+ {"kB", 148 UNTIC_COMMENT("back-tab key")},
+ {"kC", 57 UNTIC_COMMENT("clear-screen or erase key")},
+ {"kD", 59 UNTIC_COMMENT("delete-character key")},
+ {"kE", 63 UNTIC_COMMENT("clear-to-end-of-line key")},
+ {"kF", 84 UNTIC_COMMENT("scroll-forward key")},
+ {"kH", 80 UNTIC_COMMENT("last-line key")},
+ {"kI", 77 UNTIC_COMMENT("insert-character key")},
+ {"kL", 60 UNTIC_COMMENT("delete-line key")},
+ {"kM", 62 UNTIC_COMMENT("sent by rmir or smir in insert mode")},
+ {"kN", 81 UNTIC_COMMENT("next-page key")},
+ {"kP", 82 UNTIC_COMMENT("prev-page key")},
+ {"kR", 85 UNTIC_COMMENT("scroll-backward key")},
+ {"kS", 64 UNTIC_COMMENT("clear-to-end-of-screen key")},
+ {"kT", 86 UNTIC_COMMENT("set-tab key")},
+ {"ka", 56 UNTIC_COMMENT("clear-all-tabs key")},
+ {"kb", 55 UNTIC_COMMENT("backspace key")},
+ {"kd", 61 UNTIC_COMMENT("down-arrow key")},
+ {"ke", 88 UNTIC_COMMENT("leave 'keyboard_transmit' mode")},
+ {"kh", 76 UNTIC_COMMENT("home key")},
+ {"kl", 79 UNTIC_COMMENT("left-arrow key")},
+ {"ko", 396 UNTIC_COMMENT("list of self-mapped keycaps")},
+ {"kr", 83 UNTIC_COMMENT("right-arrow key")},
+ {"ks", 89 UNTIC_COMMENT("enter 'keyboard_transmit' mode")},
+ {"kt", 58 UNTIC_COMMENT("clear-tab key")},
+ {"ku", 87 UNTIC_COMMENT("up-arrow key")},
+ {"l0", 90 UNTIC_COMMENT("label on function key f0 if not f0")},
+ {"l1", 91 UNTIC_COMMENT("label on function key f1 if not f1")},
+ {"l2", 93 UNTIC_COMMENT("label on function key f2 if not f2")},
+ {"l3", 94 UNTIC_COMMENT("label on function key f3 if not f3")},
+ {"l4", 95 UNTIC_COMMENT("label on function key f4 if not f4")},
+ {"l5", 96 UNTIC_COMMENT("lable on function key f5 if not f5")},
+ {"l6", 97 UNTIC_COMMENT("label on function key f6 if not f6")},
+ {"l7", 98 UNTIC_COMMENT("label on function key f7 if not f7")},
+ {"l8", 99 UNTIC_COMMENT("label on function key f8 if not f8")},
+ {"l9", 100 UNTIC_COMMENT("label on function key f9 if not f9")},
+ {"la", 92 UNTIC_COMMENT("label on function key f10 if not f10")},
+ {"le", 14 UNTIC_COMMENT("move left one space")},
+ {"ll", 18 UNTIC_COMMENT("last line, first column (if no cup)")},
+ {"ma", 397 UNTIC_COMMENT("map arrow keys rogue(1) motion keys")},
+ {"mb", 26 UNTIC_COMMENT("turn on blinking")},
+ {"md", 27 UNTIC_COMMENT("turn on bold (extra bright) mode")},
+ {"me", 39 UNTIC_COMMENT("turn off all attributes")},
+ {"mh", 30 UNTIC_COMMENT("turn on half-bright mode")},
+ {"mk", 32 UNTIC_COMMENT("turn on blank mode (characters invisible)")},
+ {"ml", 409 UNTIC_COMMENT("memory lock above")},
+ {"mm", 102 UNTIC_COMMENT("turn on meta mode (8th-bit on)")},
+ {"mo", 101 UNTIC_COMMENT("turn off meta mode")},
+ {"mp", 33 UNTIC_COMMENT("turn on protected mode")},
+ {"mr", 34 UNTIC_COMMENT("turn on reverse video mode")},
+ {"mu", 410 UNTIC_COMMENT("memory unlock")},
+ {"nd", 17 UNTIC_COMMENT("move right one space")},
+ {"nl", 394 UNTIC_COMMENT("use to move down")},
+ {"nw", 103 UNTIC_COMMENT("newline (behave like cr followed by lf)")},
+ {"oc", 298 UNTIC_COMMENT("Set all color pairs to the original ones")},
+ {"op", 297 UNTIC_COMMENT("Set default pair to its original value")},
+ {"pO", 144 UNTIC_COMMENT("turn on printer for #1 bytes")},
+ {"pc", 104 UNTIC_COMMENT("padding char (instead of null)")},
+ {"pf", 119 UNTIC_COMMENT("turn off printer")},
+ {"pk", 115 UNTIC_COMMENT("program function key #1 to type string #2")},
+ {"pl", 116 UNTIC_COMMENT("program function key #1 to execute string #2")},
+ {"pn", 147 UNTIC_COMMENT("program label #1 to show string #2")},
+ {"po", 120 UNTIC_COMMENT("turn on printer")},
+ {"ps", 118 UNTIC_COMMENT("print contents of screen")},
+ {"px", 117 UNTIC_COMMENT("program function key #1 to transmit string #2")},
+ {"r1", 122 UNTIC_COMMENT("reset string")},
+ {"r2", 123 UNTIC_COMMENT("reset string")},
+ {"r3", 124 UNTIC_COMMENT("reset string")},
+ {"rP", 145 UNTIC_COMMENT("like ip but when in insert mode")},
+ {"rc", 126 UNTIC_COMMENT("restore cursor to last position of sc")},
+ {"rf", 125 UNTIC_COMMENT("name of reset file")},
+ {"rp", 121 UNTIC_COMMENT("repeat char #1 #2 times")},
+ {"rs", 393 UNTIC_COMMENT("terminal reset string")},
+ {"s0", 364 UNTIC_COMMENT("Shift to code set 0 (EUC set 0, ASCII)")},
+ {"s1", 365 UNTIC_COMMENT("Shift to code set 1")},
+ {"s2", 366 UNTIC_COMMENT("Shift to code set 2")},
+ {"s3", 367 UNTIC_COMMENT("Shift to code set 3")},
+ {"sa", 131 UNTIC_COMMENT("define video attributes #1-#9 (PG9)")},
+ {"sc", 128 UNTIC_COMMENT("save current cursor position")},
+ {"se", 43 UNTIC_COMMENT("exit standout mode")},
+ {"sf", 129 UNTIC_COMMENT("scroll text up")},
+ {"so", 35 UNTIC_COMMENT("begin standout mode")},
+ {"sp", 301 UNTIC_COMMENT("Set current color pair to #1")},
+ {"sr", 130 UNTIC_COMMENT("scroll text down")},
+ {"st", 132 UNTIC_COMMENT("set a tab in every row, current columns")},
+ {"ta", 134 UNTIC_COMMENT("tab to next 8-space hardware tab stop")},
+ {"te", 40 UNTIC_COMMENT("strings to end programs using cup")},
+ {"ti", 28 UNTIC_COMMENT("string to start programs using cup")},
+ {"ts", 135 UNTIC_COMMENT("move to status line")},
+ {"u0", 287 UNTIC_COMMENT("User string #0")},
+ {"u1", 288 UNTIC_COMMENT("User string #1")},
+ {"u2", 289 UNTIC_COMMENT("User string #2")},
+ {"u3", 290 UNTIC_COMMENT("User string #3")},
+ {"u4", 291 UNTIC_COMMENT("User string #4")},
+ {"u5", 292 UNTIC_COMMENT("User string #5")},
+ {"u6", 293 UNTIC_COMMENT("User string #6")},
+ {"u7", 294 UNTIC_COMMENT("User string #7")},
+ {"u8", 295 UNTIC_COMMENT("User string #8")},
+ {"u9", 296 UNTIC_COMMENT("User string #9")},
+ {"uc", 136 UNTIC_COMMENT("underline char and move past it")},
+ {"ue", 44 UNTIC_COMMENT("exit underline mode")},
+ {"up", 19 UNTIC_COMMENT("up one line")},
+ {"us", 36 UNTIC_COMMENT("begin underline mode")},
+ {"vb", 45 UNTIC_COMMENT("visible bell (may not move cursor)")},
+ {"ve", 16 UNTIC_COMMENT("make cursor appear normal (undo civis/cvvis)")},
+ {"vi", 13 UNTIC_COMMENT("make cursor invisible")},
+ {"vs", 20 UNTIC_COMMENT("make cursor very visible")},
+ {"wi", 133 UNTIC_COMMENT("current window is lines #1-#2 cols #3-#4")},
+ {"xl", 361 UNTIC_COMMENT("Program function key #1 to type string #2 and show string #3")},
+ {"", -1 UNTIC_COMMENT(NULL)}
+};
+
+static int compute_cap_offset (char *cap, SLterminfo_Type *t, Tgetstr_Map_Type *map, unsigned int max_ofs)
+{
+ char cha, chb;
+
+ (void) t;
+ cha = *cap++; chb = *cap;
+
+ while (*map->name != 0)
+ {
+ if ((cha == *map->name) && (chb == *(map->name + 1)))
+ {
+ if (map->offset >= (int) max_ofs) return -1;
+ return map->offset;
+ }
+ map++;
+ }
+ return -1;
+}
+
+char *_SLtt_tigetstr (SLterminfo_Type *t, char *cap)
+{
+ int offset;
+
+ if (t == NULL)
+ return NULL;
+
+ if (t->flags == SLTERMCAP) return tcap_getstr (cap, t);
+
+ offset = compute_cap_offset (cap, t, Tgetstr_Map, t->num_string_offsets);
+ if (offset < 0) return NULL;
+ offset = make_integer (t->string_offsets + 2 * offset);
+ if (offset < 0) return NULL;
+ return t->string_table + offset;
+}
+
+static Tgetstr_Map_Type Tgetnum_Map[] =
+{
+ {"BT", 30 UNTIC_COMMENT("number of buttons on mouse")},
+ {"Co", 13 UNTIC_COMMENT("maximum numbers of colors on screen")},
+ {"MW", 12 UNTIC_COMMENT("maxumum number of defineable windows")},
+ {"NC", 15 UNTIC_COMMENT("video attributes that can't be used with colors")},
+ {"Nl", 8 UNTIC_COMMENT("number of labels on screen")},
+ {"Ya", 16 UNTIC_COMMENT("numbers of bytes buffered before printing")},
+ {"Yb", 17 UNTIC_COMMENT("spacing of pins vertically in pins per inch")},
+ {"Yc", 18 UNTIC_COMMENT("spacing of dots horizontally in dots per inch")},
+ {"Yd", 19 UNTIC_COMMENT("maximum value in micro_..._address")},
+ {"Ye", 20 UNTIC_COMMENT("maximum value in parm_..._micro")},
+ {"Yf", 21 UNTIC_COMMENT("character size when in micro mode")},
+ {"Yg", 22 UNTIC_COMMENT("line size when in micro mode")},
+ {"Yh", 23 UNTIC_COMMENT("numbers of pins in print-head")},
+ {"Yi", 24 UNTIC_COMMENT("horizontal resolution in units per line")},
+ {"Yj", 25 UNTIC_COMMENT("vertical resolution in units per line")},
+ {"Yk", 26 UNTIC_COMMENT("horizontal resolution in units per inch")},
+ {"Yl", 27 UNTIC_COMMENT("vertical resolution in units per inch")},
+ {"Ym", 28 UNTIC_COMMENT("print rate in chars per second")},
+ {"Yn", 29 UNTIC_COMMENT("character step size when in double wide mode")},
+ {"Yo", 31 UNTIC_COMMENT("number of passed for each bit-image row")},
+ {"Yp", 32 UNTIC_COMMENT("type of bit-image device")},
+ {"co", 0 UNTIC_COMMENT("number of columns in aline")},
+ {"dB", 36 UNTIC_COMMENT("padding required for ^H")},
+ {"dC", 34 UNTIC_COMMENT("pad needed for CR")},
+ {"dN", 35 UNTIC_COMMENT("pad needed for LF")},
+ {"dT", 37 UNTIC_COMMENT("padding required for ^I")},
+ {"it", 1 UNTIC_COMMENT("tabs initially every # spaces")},
+ {"kn", 38 UNTIC_COMMENT("count of function keys")},
+ {"lh", 9 UNTIC_COMMENT("rows in each label")},
+ {"li", 2 UNTIC_COMMENT("number of lines on screen or page")},
+ {"lm", 3 UNTIC_COMMENT("lines of memory if > line. 0 => varies")},
+ {"lw", 10 UNTIC_COMMENT("columns in each label")},
+ {"ma", 11 UNTIC_COMMENT("maximum combined attributes terminal can handle")},
+ {"pa", 14 UNTIC_COMMENT("maximum number of color-pairs on the screen")},
+ {"pb", 5 UNTIC_COMMENT("lowest baud rate where padding needed")},
+ {"sg", 4 UNTIC_COMMENT("number of blank chars left by smso or rmso")},
+ {"ug", 33 UNTIC_COMMENT("number of blanks left by ul")},
+ {"vt", 6 UNTIC_COMMENT("virtual terminal number (CB/unix)")},
+ {"ws", 7 UNTIC_COMMENT("columns in status line")},
+ {"", -1 UNTIC_COMMENT(NULL)}
+};
+
+int _SLtt_tigetnum (SLterminfo_Type *t, char *cap)
+{
+ int offset;
+
+ if (t == NULL)
+ return -1;
+
+ if (t->flags == SLTERMCAP) return tcap_getnum (cap, t);
+
+ offset = compute_cap_offset (cap, t, Tgetnum_Map, t->num_numbers);
+ if (offset < 0) return -1;
+ return make_integer (t->numbers + 2 * offset);
+}
+
+static Tgetstr_Map_Type Tgetflag_Map[] =
+{
+ {"5i", 22 UNTIC_COMMENT("printer won't echo on screen")},
+ {"HC", 23 UNTIC_COMMENT("cursor is hard to see")},
+ {"MT", 40 UNTIC_COMMENT("has meta key")},
+ {"ND", 26 UNTIC_COMMENT("scrolling region is non-destructive")},
+ {"NL", 41 UNTIC_COMMENT("move down with \n")},
+ {"NP", 25 UNTIC_COMMENT("pad character does not exist")},
+ {"NR", 24 UNTIC_COMMENT("smcup does not reverse rmcup")},
+ {"YA", 30 UNTIC_COMMENT("only positive motion for hpa/mhpa caps")},
+ {"YB", 31 UNTIC_COMMENT("using cr turns off micro mode")},
+ {"YC", 32 UNTIC_COMMENT("printer needs operator to change character set")},
+ {"YD", 33 UNTIC_COMMENT("only positive motion for vpa/mvpa caps")},
+ {"YE", 34 UNTIC_COMMENT("printing in last column causes cr")},
+ {"YF", 35 UNTIC_COMMENT("changing character pitch changes resolution")},
+ {"YG", 36 UNTIC_COMMENT("changing line pitch changes resolution")},
+ {"am", 1 UNTIC_COMMENT("terminal has automatic margins")},
+ {"bs", 37 UNTIC_COMMENT("uses ^H to move left")},
+ {"bw", 0 UNTIC_COMMENT("cub1 wraps from column 0 to last column")},
+ {"cc", 27 UNTIC_COMMENT("terminal can re-define existing colors")},
+ {"da", 11 UNTIC_COMMENT("display may be retained above the screen")},
+ {"db", 12 UNTIC_COMMENT("display may be retained below the screen")},
+ {"eo", 5 UNTIC_COMMENT("can erase overstrikes with a blank")},
+ {"es", 16 UNTIC_COMMENT("escape can be used on the status line")},
+ {"gn", 6 UNTIC_COMMENT("generic line type")},
+ {"hc", 7 UNTIC_COMMENT("hardcopy terminal")},
+ {"hl", 29 UNTIC_COMMENT("terminal uses only HLS color notation (tektronix)")},
+ {"hs", 9 UNTIC_COMMENT("has extra status line")},
+ {"hz", 18 UNTIC_COMMENT("can't print ~'s (hazeltine)")},
+ {"in", 10 UNTIC_COMMENT("insert mode distinguishes nulls")},
+ {"km", 8 UNTIC_COMMENT("Has a meta key, sets msb high")},
+ {"mi", 13 UNTIC_COMMENT("safe to move while in insert mode")},
+ {"ms", 14 UNTIC_COMMENT("safe to move while in standout mode")},
+ {"nc", 39 UNTIC_COMMENT("no way to go to start of line")},
+ {"ns", 38 UNTIC_COMMENT("crt cannot scroll")},
+ {"nx", 21 UNTIC_COMMENT("padding won't work, xon/xoff required")},
+ {"os", 15 UNTIC_COMMENT("terminal can overstrike")},
+ {"pt", 42 UNTIC_COMMENT("has 8-char tabs invoked with ^I")},
+ {"ul", 19 UNTIC_COMMENT("underline character overstrikes")},
+ {"ut", 28 UNTIC_COMMENT("screen erased with background color")},
+ {"xb", 2 UNTIC_COMMENT("beehive (f1=escape, f2=ctrl C)")},
+ {"xn", 4 UNTIC_COMMENT("newline ignored after 80 cols (concept)")},
+ {"xo", 20 UNTIC_COMMENT("terminal uses xon/xoff handshaking")},
+ {"xr", 43 UNTIC_COMMENT("return clears the line")},
+ {"xs", 3 UNTIC_COMMENT("standout not erased by overwriting (hp)")},
+ {"xt", 17 UNTIC_COMMENT("tabs destructive, magic so char (t1061)")},
+ {"", -1 UNTIC_COMMENT(NULL)}
+};
+
+int _SLtt_tigetflag (SLterminfo_Type *t, char *cap)
+{
+ int offset;
+
+ if (t == NULL) return -1;
+
+ if (t->flags == SLTERMCAP) return tcap_getflag (cap, t);
+
+ offset = compute_cap_offset (cap, t, Tgetflag_Map, t->boolean_section_size);
+
+ if (offset < 0) return -1;
+ return (int) *(t->boolean_flags + offset);
+}
+
+/* These are my termcap routines. They only work with the TERMCAP environment
+ * variable. This variable must contain the termcap entry and NOT the file.
+ */
+
+static int tcap_getflag (char *cap, SLterminfo_Type *t)
+{
+ char a, b;
+ char *f = (char *) t->boolean_flags;
+ char *fmax;
+
+ if (f == NULL) return 0;
+ fmax = f + t->boolean_section_size;
+
+ a = *cap;
+ b = *(cap + 1);
+ while (f < fmax)
+ {
+ if ((a == f[0]) && (b == f[1]))
+ return 1;
+ f += 2;
+ }
+ return 0;
+}
+
+static char *tcap_get_cap (unsigned char *cap, unsigned char *caps, unsigned int len)
+{
+ unsigned char c0, c1;
+ unsigned char *caps_max;
+
+ c0 = cap[0];
+ c1 = cap[1];
+
+ if (caps == NULL) return NULL;
+ caps_max = caps + len;
+ while (caps < caps_max)
+ {
+ if ((c0 == caps[0]) && (c1 == caps[1]))
+ {
+ return (char *) caps + 3;
+ }
+ caps += (int) caps[2];
+ }
+ return NULL;
+}
+
+static int tcap_getnum (char *cap, SLterminfo_Type *t)
+{
+ cap = tcap_get_cap ((unsigned char *) cap, t->numbers, t->num_numbers);
+ if (cap == NULL) return -1;
+ return atoi (cap);
+}
+
+static char *tcap_getstr (char *cap, SLterminfo_Type *t)
+{
+ return tcap_get_cap ((unsigned char *) cap, (unsigned char *) t->string_table, t->string_table_size);
+}
+
+static int tcap_extract_field (unsigned char *t0)
+{
+ register unsigned char ch, *t = t0;
+ while (((ch = *t) != 0) && (ch != ':')) t++;
+ if (ch == ':') return (int) (t - t0);
+ return -1;
+}
+
+int SLtt_Try_Termcap = 1;
+static int tcap_getent (char *term, SLterminfo_Type *ti)
+{
+ unsigned char *termcap, ch;
+ unsigned char *buf, *b;
+ unsigned char *t;
+ int len;
+
+ if (SLtt_Try_Termcap == 0) return -1;
+#if 1
+ /* XFREE86 xterm sets the TERMCAP environment variable to an invalid
+ * value. Specifically, it lacks the tc= string.
+ */
+ if (!strncmp (term, "xterm", 5))
+ return -1;
+#endif
+ termcap = (unsigned char *) getenv ("TERMCAP");
+ if ((termcap == NULL) || (*termcap == '/')) return -1;
+
+ /* We have a termcap so lets use it provided it does not have a reference
+ * to another terminal via tc=. In that case, use terminfo. The alternative
+ * would be to parse the termcap file which I do not want to do right now.
+ * Besides, this is a terminfo based system and if the termcap were parsed
+ * terminfo would almost never get a chance to run. In addition, the tc=
+ * thing should not occur if tset is used to set the termcap entry.
+ */
+ t = termcap;
+ while ((len = tcap_extract_field (t)) != -1)
+ {
+ if ((len > 3) && (t[0] == 't') && (t[1] == 'c') && (t[2] == '='))
+ return -1;
+ t += (len + 1);
+ }
+
+ /* malloc some extra space just in case it is needed. */
+ len = strlen ((char *) termcap) + 256;
+ if (NULL == (buf = (unsigned char *) SLmalloc ((unsigned int) len))) return -1;
+
+ b = buf;
+
+ /* The beginning of the termcap entry contains the names of the entry.
+ * It is terminated by a colon.
+ */
+
+ ti->terminal_names = (char *) b;
+ t = termcap;
+ len = tcap_extract_field (t);
+ if (len < 0)
+ {
+ SLfree ((char *)buf);
+ return -1;
+ }
+ strncpy ((char *) b, (char *) t, (unsigned int) len);
+ b[len] = 0;
+ b += len + 1;
+ ti->name_section_size = len;
+
+ /* Now, we are really at the start of the termcap entries. Point the
+ * termcap variable here since we want to refer to this a number of times.
+ */
+ termcap = t + (len + 1);
+
+ /* Process strings first. */
+ ti->string_table = (char *) b;
+ t = termcap;
+ while (-1 != (len = tcap_extract_field (t)))
+ {
+ unsigned char *b1;
+ unsigned char *tmax;
+
+ /* We are looking for: XX=something */
+ if ((len < 4) || (t[2] != '=') || (*t == '.'))
+ {
+ t += len + 1;
+ continue;
+ }
+ tmax = t + len;
+ b1 = b;
+
+ while (t < tmax)
+ {
+ ch = *t++;
+ if ((ch == '\\') && (t < tmax))
+ {
+ t = (unsigned char *) _SLexpand_escaped_char ((char *) t, (char *) &ch);
+ }
+ else if ((ch == '^') && (t < tmax))
+ {
+ ch = *t++;
+ if (ch == '?') ch = 127;
+ else ch = (ch | 0x20) - ('a' - 1);
+ }
+ *b++ = ch;
+ }
+ /* Null terminate it. */
+ *b++ = 0;
+ len = (int) (b - b1);
+ b1[2] = (unsigned char) len; /* replace the = by the length */
+ /* skip colon to next field. */
+ t++;
+ }
+ ti->string_table_size = (int) (b - (unsigned char *) ti->string_table);
+
+ /* Now process the numbers. */
+
+ t = termcap;
+ ti->numbers = b;
+ while (-1 != (len = tcap_extract_field (t)))
+ {
+ unsigned char *b1;
+ unsigned char *tmax;
+
+ /* We are looking for: XX#NUMBER */
+ if ((len < 4) || (t[2] != '#') || (*t == '.'))
+ {
+ t += len + 1;
+ continue;
+ }
+ tmax = t + len;
+ b1 = b;
+
+ while (t < tmax)
+ {
+ *b++ = *t++;
+ }
+ /* Null terminate it. */
+ *b++ = 0;
+ len = (int) (b - b1);
+ b1[2] = (unsigned char) len; /* replace the # by the length */
+ t++;
+ }
+ ti->num_numbers = (int) (b - ti->numbers);
+
+ /* Now process the flags. */
+ t = termcap;
+ ti->boolean_flags = b;
+ while (-1 != (len = tcap_extract_field (t)))
+ {
+ /* We are looking for: XX#NUMBER */
+ if ((len != 2) || (*t == '.') || (*t <= ' '))
+ {
+ t += len + 1;
+ continue;
+ }
+ b[0] = t[0];
+ b[1] = t[1];
+ t += 3;
+ b += 2;
+ }
+ ti->boolean_section_size = (int) (b - ti->boolean_flags);
+ ti->flags = SLTERMCAP;
+ return 0;
+}
+
+
+/* These routines are provided only for backward binary compatability.
+ * They will vanish in V2.x
+ */
+char *SLtt_tigetent (char *s)
+{
+ return (char *) _SLtt_tigetent (s);
+}
+
+extern char *SLtt_tigetstr (char *s, char **p)
+{
+ if (p == NULL)
+ return NULL;
+ return _SLtt_tigetstr ((SLterminfo_Type *) *p, s);
+}
+
+extern int SLtt_tigetnum (char *s, char **p)
+{
+ if (p == NULL)
+ return -1;
+ return _SLtt_tigetnum ((SLterminfo_Type *) *p, s);
+}
+
+
diff --git a/mdk-stage1/slang/sltime.c b/mdk-stage1/slang/sltime.c
new file mode 100644
index 000000000..14fc6ec16
--- /dev/null
+++ b/mdk-stage1/slang/sltime.c
@@ -0,0 +1,310 @@
+/* time related system calls */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include <sys/types.h>
+#include <time.h>
+
+#if defined(__BORLANDC__)
+# include <dos.h>
+#endif
+#if defined(__GO32__) || defined(__WATCOMC__)
+# include <dos.h>
+# include <bios.h>
+#endif
+
+#include <errno.h>
+
+#include "slang.h"
+#include "_slang.h"
+
+#ifdef __WIN32__
+#include <windows.h>
+/* Sleep is defined badly in MSVC... */
+# ifdef _MSC_VER
+# define sleep(n) _sleep((n)*1000)
+# else
+# ifdef sleep
+# undef sleep
+# endif
+# define sleep(x) if(x)Sleep((x)*1000)
+# endif
+#endif
+
+
+#if defined(IBMPC_SYSTEM)
+/* For other system (Unix and VMS), _SLusleep is in sldisply.c */
+int _SLusleep (unsigned long s)
+{
+ sleep (s/1000000L);
+ s = s % 1000000L;
+
+# if defined(__WIN32__)
+ Sleep (s/1000);
+#else
+# if defined(__IBMC__)
+ DosSleep(s/1000);
+# else
+# if defined(_MSC_VER)
+ _sleep (s/1000);
+# endif
+# endif
+#endif
+ return 0;
+}
+#endif
+
+#if defined(__IBMC__) && !defined(_AIX)
+/* sleep is not a standard function in VA3. */
+unsigned int sleep (unsigned int seconds)
+{
+ DosSleep(1000L * ((long)seconds));
+ return 0;
+}
+#endif
+
+static char *ctime_cmd (unsigned long *tt)
+{
+ char *t;
+
+ t = ctime ((time_t *) tt);
+ t[24] = 0; /* knock off \n */
+ return (t);
+}
+
+static void sleep_cmd (void)
+{
+ unsigned int secs;
+#if SLANG_HAS_FLOAT
+ unsigned long usecs;
+ double x;
+
+ if (-1 == SLang_pop_double (&x, NULL, NULL))
+ return;
+
+ if (x < 0.0)
+ x = 0.0;
+ secs = (unsigned int) x;
+ sleep (secs);
+ x -= (double) secs;
+ usecs = (unsigned long) (1e6 * x);
+ if (usecs > 0) _SLusleep (usecs);
+#else
+ if (-1 == SLang_pop_uinteger (&secs))
+ return;
+ if (secs != 0) sleep (secs);
+#endif
+}
+
+static unsigned long _time_cmd (void)
+{
+ return (unsigned long) time (NULL);
+}
+
+#if defined(__GO32__)
+static char *djgpp_current_time (void) /*{{{*/
+{
+ union REGS rg;
+ unsigned int year;
+ unsigned char month, day, weekday, hour, minute, sec;
+ char days[] = "SunMonTueWedThuFriSat";
+ char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
+ static char the_date[26];
+
+ rg.h.ah = 0x2A;
+#ifndef __WATCOMC__
+ int86(0x21, &rg, &rg);
+ year = rg.x.cx & 0xFFFF;
+#else
+ int386(0x21, &rg, &rg);
+ year = rg.x.ecx & 0xFFFF;
+#endif
+
+ month = 3 * (rg.h.dh - 1);
+ day = rg.h.dl;
+ weekday = 3 * rg.h.al;
+
+ rg.h.ah = 0x2C;
+
+#ifndef __WATCOMC__
+ int86(0x21, &rg, &rg);
+#else
+ int386(0x21, &rg, &rg);
+#endif
+
+ hour = rg.h.ch;
+ minute = rg.h.cl;
+ sec = rg.h.dh;
+
+ /* we want this form: Thu Apr 14 15:43:39 1994\n */
+ sprintf(the_date, "%.3s %.3s%3d %02d:%02d:%02d %d\n",
+ days + weekday, months + month,
+ day, hour, minute, sec, year);
+ return the_date;
+}
+
+/*}}}*/
+
+#endif
+
+char *SLcurrent_time_string (void) /*{{{*/
+{
+ char *the_time;
+#ifndef __GO32__
+ time_t myclock;
+
+ myclock = time((time_t *) 0);
+ the_time = (char *) ctime(&myclock);
+#else
+ the_time = djgpp_current_time ();
+#endif
+ /* returns the form Sun Sep 16 01:03:52 1985\n\0 */
+ the_time[24] = '\0';
+ return(the_time);
+}
+
+/*}}}*/
+
+static int push_tm_struct (struct tm *tms)
+{
+ char *field_names [9];
+ unsigned char field_types[9];
+ VOID_STAR field_values [9];
+ int int_values [9];
+ unsigned int i;
+
+ if (tms == NULL)
+ return SLang_push_null ();
+
+ field_names [0] = "tm_sec"; int_values [0] = tms->tm_sec;
+ field_names [1] = "tm_min"; int_values [1] = tms->tm_min;
+ field_names [2] = "tm_hour"; int_values [2] = tms->tm_hour;
+ field_names [3] = "tm_mday"; int_values [3] = tms->tm_mday;
+ field_names [4] = "tm_mon"; int_values [4] = tms->tm_mon;
+ field_names [5] = "tm_year"; int_values [5] = tms->tm_year;
+ field_names [6] = "tm_wday"; int_values [6] = tms->tm_wday;
+ field_names [7] = "tm_yday"; int_values [7] = tms->tm_yday;
+ field_names [8] = "tm_isdst"; int_values [8] = tms->tm_isdst;
+
+ for (i = 0; i < 9; i++)
+ {
+ field_types [i] = SLANG_INT_TYPE;
+ field_values [i] = (VOID_STAR) (int_values + i);
+ }
+
+ return SLstruct_create_struct (9, field_names, field_types, field_values);
+}
+
+
+static void localtime_cmd (long *t)
+{
+ time_t tt = (time_t) *t;
+ (void) push_tm_struct (localtime (&tt));
+}
+
+static void gmtime_cmd (long *t)
+{
+#ifdef HAVE_GMTIME
+ time_t tt = (time_t) *t;
+ (void) push_tm_struct (gmtime (&tt));
+#else
+ localtime_cmd (t);
+#endif
+}
+
+#ifdef HAVE_TIMES
+
+# ifdef HAVE_SYS_TIMES_H
+# include <sys/times.h>
+# endif
+
+#include <limits.h>
+
+#ifdef CLK_TCK
+# define SECS_PER_TICK (1.0/(double)CLK_TCK)
+#else
+# ifdef CLOCKS_PER_SEC
+# define SECS_PER_TICK (1.0/(double)CLOCKS_PER_SEC)
+# else
+# define SECS_PER_TICK (1.0/60.0)
+# endif
+#endif
+
+static void times_cmd (void)
+{
+ double dvals[4];
+ struct tms t;
+ VOID_STAR field_values[4];
+ char *field_names[4];
+ unsigned int i;
+ unsigned char field_types[4];
+
+ (void) times (&t);
+
+ field_names[0] = "tms_utime"; dvals[0] = (double)t.tms_utime;
+ field_names[1] = "tms_stime"; dvals[1] = (double)t.tms_stime;
+ field_names[2] = "tms_cutime"; dvals[2] = (double)t.tms_cutime;
+ field_names[3] = "tms_cstime"; dvals[3] = (double)t.tms_cstime;
+
+ for (i = 0; i < 4; i++)
+ {
+ dvals[i] *= SECS_PER_TICK;
+ field_values[i] = (VOID_STAR) &dvals[i];
+ field_types[i] = SLANG_DOUBLE_TYPE;
+ }
+ (void) SLstruct_create_struct (4, field_names, field_types, field_values);
+}
+
+static struct tms Tic_TMS;
+
+static void tic_cmd (void)
+{
+ (void) times (&Tic_TMS);
+}
+
+static double toc_cmd (void)
+{
+ struct tms t;
+ double d;
+
+ (void) times (&t);
+ d = ((t.tms_utime - Tic_TMS.tms_utime)
+ + (t.tms_stime - Tic_TMS.tms_stime)) * SECS_PER_TICK;
+ Tic_TMS = t;
+ return d;
+}
+
+#endif /* HAVE_TIMES */
+
+
+static SLang_Intrin_Fun_Type Time_Funs_Table [] =
+{
+ MAKE_INTRINSIC_1("ctime", ctime_cmd, SLANG_STRING_TYPE, SLANG_ULONG_TYPE),
+ MAKE_INTRINSIC_0("sleep", sleep_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("_time", _time_cmd, SLANG_ULONG_TYPE),
+ MAKE_INTRINSIC_0("time", SLcurrent_time_string, SLANG_STRING_TYPE),
+ MAKE_INTRINSIC_1("localtime", localtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
+ MAKE_INTRINSIC_1("gmtime", gmtime_cmd, SLANG_VOID_TYPE, SLANG_LONG_TYPE),
+
+#ifdef HAVE_TIMES
+ MAKE_INTRINSIC_0("times", times_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("tic", tic_cmd, SLANG_VOID_TYPE),
+ MAKE_INTRINSIC_0("toc", toc_cmd, SLANG_DOUBLE_TYPE),
+#endif
+ SLANG_END_INTRIN_FUN_TABLE
+};
+
+int _SLang_init_sltime (void)
+{
+#ifdef HAVE_TIMES
+ (void) tic_cmd ();
+#endif
+ return SLadd_intrin_fun_table (Time_Funs_Table, NULL);
+}
+
diff --git a/mdk-stage1/slang/sltoken.c b/mdk-stage1/slang/sltoken.c
new file mode 100644
index 000000000..c9852e68a
--- /dev/null
+++ b/mdk-stage1/slang/sltoken.c
@@ -0,0 +1,1702 @@
+/* Copyright (c) 1998, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+#include "slinclud.h"
+
+#include "slang.h"
+#include "_slang.h"
+
+#define MAX_TOKEN_LEN 254
+#define MAX_FILE_LINE_LEN 256
+
+static char Empty_Line[1] = {0};
+
+static int Default_Compile_Line_Num_Info;
+static char *Input_Line = Empty_Line;
+static char *Input_Line_Pointer;
+
+static SLPreprocess_Type *This_SLpp;
+
+static SLang_Load_Type *LLT;
+
+static char *map_token_to_string (_SLang_Token_Type *tok)
+{
+ char *s;
+ static char numbuf [32];
+ unsigned char type;
+ s = NULL;
+
+ if (tok != NULL) type = tok->type;
+ else type = 0;
+
+ switch (type)
+ {
+ case 0:
+ s = "??";
+ break;
+
+ case CHAR_TOKEN:
+ case SHORT_TOKEN:
+ case INT_TOKEN:
+ case LONG_TOKEN:
+ s = numbuf;
+ sprintf (s, "%ld", tok->v.long_val);
+ break;
+
+ case UCHAR_TOKEN:
+ case USHORT_TOKEN:
+ case UINT_TOKEN:
+ case ULONG_TOKEN:
+ s = numbuf;
+ sprintf (s, "%lu", (unsigned long)tok->v.long_val);
+ break;
+
+ case OBRACKET_TOKEN: s = "["; break;
+ case CBRACKET_TOKEN: s = "]"; break;
+ case OPAREN_TOKEN: s = "("; break;
+ case CPAREN_TOKEN: s = ")"; break;
+ case OBRACE_TOKEN: s = "{"; break;
+ case CBRACE_TOKEN: s = "}"; break;
+ case DEREF_TOKEN: s = "@"; break;
+ case POUND_TOKEN: s = "#"; break;
+ case COMMA_TOKEN: s = ","; break;
+ case SEMICOLON_TOKEN: s = ";"; break;
+ case COLON_TOKEN: s = ":"; break;
+
+#if SLANG_HAS_FLOAT
+ case FLOAT_TOKEN:
+ case DOUBLE_TOKEN:
+ case COMPLEX_TOKEN:
+#endif
+ case IDENT_TOKEN:
+ if ((tok->free_sval_flag == 0) || (tok->num_refs == 0))
+ break;
+ /* drop */
+ default:
+ s = tok->v.s_val;
+ break;
+ }
+
+ if (s == NULL)
+ {
+ s = numbuf;
+ sprintf (s, "(0x%02X)", type);
+ }
+
+ return s;
+}
+
+static char *make_line_file_error (char *buf, unsigned int buflen,
+ _SLang_Token_Type *tok, char *dsc, int line, char *file)
+{
+#if _SLANG_HAS_DEBUG_CODE
+ if (tok != NULL) line = tok->line_number;
+#endif
+ if (file == NULL) file = "??";
+
+ (void) _SLsnprintf (buf, buflen, "%s: found '%s', line %d, file: %s",
+ dsc, map_token_to_string (tok), line, file);
+
+ return buf;
+}
+
+void _SLparse_error(char *str, _SLang_Token_Type *tok, int flag)
+{
+ char buf [1024];
+
+ if (str == NULL)
+ str = "Parse Error";
+
+ make_line_file_error (buf, sizeof (buf), tok, str, LLT->line_num, (char *) LLT->name);
+
+ if ((flag == 0) && SLang_Error)
+ return;
+
+ SLang_verror (SL_SYNTAX_ERROR, "%s", buf);
+}
+
+static void do_line_file_error (int line, char *file)
+{
+ SLang_verror (SL_SYNTAX_ERROR,
+ "called from line %d, file: %s", line, file);
+}
+
+#define ALPHA_CHAR 1
+#define DIGIT_CHAR 2
+#define EXCL_CHAR 3
+#define SEP_CHAR 4
+#define OP_CHAR 5
+#define DOT_CHAR 6
+#define BOLDOT_CHAR 7
+#define DQUOTE_CHAR 8
+#define QUOTE_CHAR 9
+#define COMMENT_CHAR 10
+#define NL_CHAR 11
+#define BAD_CHAR 12
+#define WHITE_CHAR 13
+
+#define CHAR_EOF 255
+
+#define CHAR_CLASS(c) (Char_Type_Table[(c)][0])
+#define CHAR_DATA(c) (Char_Type_Table[(c)][1])
+
+/* In this table, if a single character can represent an operator, e.g.,
+ * '&' (BAND_TOKEN), then it must be placed before multiple-character
+ * operators that begin with the same character, e.g., "&=". See
+ * get_op_token to see how this is exploited.
+ *
+ * The third character null terminates the operator string. This is for
+ * the token structure.
+ */
+static char Operators [29][4] =
+{
+#define OFS_EXCL 0
+ {'!', '=', 0, NE_TOKEN},
+#define OFS_POUND 1
+ {'#', 0, 0, POUND_TOKEN},
+#define OFS_BAND 2
+ {'&', 0, 0, BAND_TOKEN},
+ {'&', '&', 0, EOF_TOKEN},
+ {'&', '=', 0, BANDEQS_TOKEN},
+#define OFS_STAR 5
+ {'*', 0, 0, TIMES_TOKEN},
+ {'*', '=', 0, TIMESEQS_TOKEN},
+#define OFS_PLUS 7
+ {'+', 0, 0, ADD_TOKEN},
+ {'+', '+', 0, PLUSPLUS_TOKEN},
+ {'+', '=', 0, PLUSEQS_TOKEN},
+#define OFS_MINUS 10
+ {'-', 0, 0, SUB_TOKEN},
+ {'-', '-', 0, MINUSMINUS_TOKEN},
+ {'-', '=', 0, MINUSEQS_TOKEN},
+ {'-', '>', 0, NAMESPACE_TOKEN},
+#define OFS_DIV 14
+ {'/', 0, 0, DIV_TOKEN},
+ {'/', '=', 0, DIVEQS_TOKEN},
+#define OFS_LT 16
+ {'<', 0, 0, LT_TOKEN},
+ {'<', '=', 0, LE_TOKEN},
+#define OFS_EQS 18
+ {'=', 0, 0, ASSIGN_TOKEN},
+ {'=', '=', 0, EQ_TOKEN},
+#define OFS_GT 20
+ {'>', 0, 0, GT_TOKEN},
+ {'>', '=', 0, GE_TOKEN},
+#define OFS_AT 22
+ {'@', 0, 0, DEREF_TOKEN},
+#define OFS_POW 23
+ {'^', 0, 0, POW_TOKEN},
+#define OFS_BOR 24
+ {'|', 0, 0, BOR_TOKEN},
+ {'|', '|', 0, EOF_TOKEN},
+ {'|', '=', 0, BOREQS_TOKEN},
+#define OFS_BNOT 27
+ {'~', 0, 0, BNOT_TOKEN},
+ { 0, 0, 0, EOF_TOKEN}
+};
+
+static unsigned char Char_Type_Table[256][2] =
+{
+ { NL_CHAR, 0 }, /* 0x0 */ { BAD_CHAR, 0 }, /* 0x1 */
+ { BAD_CHAR, 0 }, /* 0x2 */ { BAD_CHAR, 0 }, /* 0x3 */
+ { BAD_CHAR, 0 }, /* 0x4 */ { BAD_CHAR, 0 }, /* 0x5 */
+ { BAD_CHAR, 0 }, /* 0x6 */ { BAD_CHAR, 0 }, /* 0x7 */
+ { WHITE_CHAR, 0 }, /* 0x8 */ { WHITE_CHAR, 0 }, /* 0x9 */
+ { NL_CHAR, 0 }, /* \n */ { WHITE_CHAR, 0 }, /* 0xb */
+ { WHITE_CHAR, 0 }, /* 0xc */ { WHITE_CHAR, 0 }, /* \r */
+ { BAD_CHAR, 0 }, /* 0xe */ { BAD_CHAR, 0 }, /* 0xf */
+ { BAD_CHAR, 0 }, /* 0x10 */ { BAD_CHAR, 0 }, /* 0x11 */
+ { BAD_CHAR, 0 }, /* 0x12 */ { BAD_CHAR, 0 }, /* 0x13 */
+ { BAD_CHAR, 0 }, /* 0x14 */ { BAD_CHAR, 0 }, /* 0x15 */
+ { BAD_CHAR, 0 }, /* 0x16 */ { BAD_CHAR, 0 }, /* 0x17 */
+ { BAD_CHAR, 0 }, /* 0x18 */ { BAD_CHAR, 0 }, /* 0x19 */
+ { BAD_CHAR, 0 }, /* 0x1a */ { BAD_CHAR, 0 }, /* 0x1b */
+ { BAD_CHAR, 0 }, /* 0x1c */ { BAD_CHAR, 0 }, /* 0x1d */
+ { BAD_CHAR, 0 }, /* 0x1e */ { BAD_CHAR, 0 }, /* 0x1f */
+ { WHITE_CHAR, 0 }, /* 0x20 */ { EXCL_CHAR, OFS_EXCL }, /* ! */
+ { DQUOTE_CHAR, 0 }, /* " */ { OP_CHAR, OFS_POUND }, /* # */
+ { ALPHA_CHAR, 0 }, /* $ */ { NL_CHAR, 0 },/* % */
+ { OP_CHAR, OFS_BAND }, /* & */ { QUOTE_CHAR, 0 }, /* ' */
+ { SEP_CHAR, OPAREN_TOKEN }, /* ( */ { SEP_CHAR, CPAREN_TOKEN }, /* ) */
+ { OP_CHAR, OFS_STAR }, /* * */ { OP_CHAR, OFS_PLUS}, /* + */
+ { SEP_CHAR, COMMA_TOKEN }, /* , */ { OP_CHAR, OFS_MINUS }, /* - */
+ { DOT_CHAR, 0 }, /* . */ { OP_CHAR, OFS_DIV }, /* / */
+ { DIGIT_CHAR, 0 }, /* 0 */ { DIGIT_CHAR, 0 }, /* 1 */
+ { DIGIT_CHAR, 0 }, /* 2 */ { DIGIT_CHAR, 0 }, /* 3 */
+ { DIGIT_CHAR, 0 }, /* 4 */ { DIGIT_CHAR, 0 }, /* 5 */
+ { DIGIT_CHAR, 0 }, /* 6 */ { DIGIT_CHAR, 0 }, /* 7 */
+ { DIGIT_CHAR, 0 }, /* 8 */ { DIGIT_CHAR, 0 }, /* 9 */
+ { SEP_CHAR, COLON_TOKEN }, /* : */ { SEP_CHAR, SEMICOLON_TOKEN }, /* ; */
+ { OP_CHAR, OFS_LT }, /* < */ { OP_CHAR, OFS_EQS }, /* = */
+ { OP_CHAR, OFS_GT }, /* > */ { BAD_CHAR, 0 }, /* ? */
+ { OP_CHAR, OFS_AT}, /* @ */ { ALPHA_CHAR, 0 }, /* A */
+ { ALPHA_CHAR, 0 }, /* B */ { ALPHA_CHAR, 0 }, /* C */
+ { ALPHA_CHAR, 0 }, /* D */ { ALPHA_CHAR, 0 }, /* E */
+ { ALPHA_CHAR, 0 }, /* F */ { ALPHA_CHAR, 0 }, /* G */
+ { ALPHA_CHAR, 0 }, /* H */ { ALPHA_CHAR, 0 }, /* I */
+ { ALPHA_CHAR, 0 }, /* J */ { ALPHA_CHAR, 0 }, /* K */
+ { ALPHA_CHAR, 0 }, /* L */ { ALPHA_CHAR, 0 }, /* M */
+ { ALPHA_CHAR, 0 }, /* N */ { ALPHA_CHAR, 0 }, /* O */
+ { ALPHA_CHAR, 0 }, /* P */ { ALPHA_CHAR, 0 }, /* Q */
+ { ALPHA_CHAR, 0 }, /* R */ { ALPHA_CHAR, 0 }, /* S */
+ { ALPHA_CHAR, 0 }, /* T */ { ALPHA_CHAR, 0 }, /* U */
+ { ALPHA_CHAR, 0 }, /* V */ { ALPHA_CHAR, 0 }, /* W */
+ { ALPHA_CHAR, 0 }, /* X */ { ALPHA_CHAR, 0 }, /* Y */
+ { ALPHA_CHAR, 0 }, /* Z */ { SEP_CHAR, OBRACKET_TOKEN }, /* [ */
+ { BAD_CHAR, 0 }, /* \ */ { SEP_CHAR, CBRACKET_TOKEN }, /* ] */
+ { OP_CHAR, OFS_POW }, /* ^ */ { ALPHA_CHAR, 0 }, /* _ */
+ { BAD_CHAR, 0 }, /* ` */ { ALPHA_CHAR, 0 }, /* a */
+ { ALPHA_CHAR, 0 }, /* b */ { ALPHA_CHAR, 0 }, /* c */
+ { ALPHA_CHAR, 0 }, /* d */ { ALPHA_CHAR, 0 }, /* e */
+ { ALPHA_CHAR, 0 }, /* f */ { ALPHA_CHAR, 0 }, /* g */
+ { ALPHA_CHAR, 0 }, /* h */ { ALPHA_CHAR, 0 }, /* i */
+ { ALPHA_CHAR, 0 }, /* j */ { ALPHA_CHAR, 0 }, /* k */
+ { ALPHA_CHAR, 0 }, /* l */ { ALPHA_CHAR, 0 }, /* m */
+ { ALPHA_CHAR, 0 }, /* n */ { ALPHA_CHAR, 0 }, /* o */
+ { ALPHA_CHAR, 0 }, /* p */ { ALPHA_CHAR, 0 }, /* q */
+ { ALPHA_CHAR, 0 }, /* r */ { ALPHA_CHAR, 0 }, /* s */
+ { ALPHA_CHAR, 0 }, /* t */ { ALPHA_CHAR, 0 }, /* u */
+ { ALPHA_CHAR, 0 }, /* v */ { ALPHA_CHAR, 0 }, /* w */
+ { ALPHA_CHAR, 0 }, /* x */ { ALPHA_CHAR, 0 }, /* y */
+ { ALPHA_CHAR, 0 }, /* z */ { SEP_CHAR, OBRACE_TOKEN }, /* { */
+ { OP_CHAR, OFS_BOR }, /* | */ { SEP_CHAR, CBRACE_TOKEN }, /* } */
+ { OP_CHAR, OFS_BNOT }, /* ~ */ { BAD_CHAR, 0 }, /* 0x7f */
+
+ { ALPHA_CHAR, 0 }, /* € */ { ALPHA_CHAR, 0 }, /*  */
+ { ALPHA_CHAR, 0 }, /* ‚ */ { ALPHA_CHAR, 0 }, /* ƒ */
+ { ALPHA_CHAR, 0 }, /* „ */ { ALPHA_CHAR, 0 }, /* … */
+ { ALPHA_CHAR, 0 }, /* † */ { ALPHA_CHAR, 0 }, /* ‡ */
+ { ALPHA_CHAR, 0 }, /* ˆ */ { ALPHA_CHAR, 0 }, /* ‰ */
+ { ALPHA_CHAR, 0 }, /* Š */ { ALPHA_CHAR, 0 }, /* ‹ */
+ { ALPHA_CHAR, 0 }, /* Œ */ { ALPHA_CHAR, 0 }, /*  */
+ { ALPHA_CHAR, 0 }, /* Ž */ { ALPHA_CHAR, 0 }, /*  */
+ { ALPHA_CHAR, 0 }, /*  */ { ALPHA_CHAR, 0 }, /* ‘ */
+ { ALPHA_CHAR, 0 }, /* ’ */ { ALPHA_CHAR, 0 }, /* “ */
+ { ALPHA_CHAR, 0 }, /* ” */ { ALPHA_CHAR, 0 }, /* • */
+ { ALPHA_CHAR, 0 }, /* – */ { ALPHA_CHAR, 0 }, /* — */
+ { ALPHA_CHAR, 0 }, /* ˜ */ { ALPHA_CHAR, 0 }, /* ™ */
+ { ALPHA_CHAR, 0 }, /* š */ { ALPHA_CHAR, 0 }, /* › */
+ { ALPHA_CHAR, 0 }, /* œ */ { ALPHA_CHAR, 0 }, /*  */
+ { ALPHA_CHAR, 0 }, /* ž */ { ALPHA_CHAR, 0 }, /* Ÿ */
+ { ALPHA_CHAR, 0 }, /*   */ { ALPHA_CHAR, 0 }, /* ¡ */
+ { ALPHA_CHAR, 0 }, /* ¢ */ { ALPHA_CHAR, 0 }, /* £ */
+ { ALPHA_CHAR, 0 }, /* ¤ */ { ALPHA_CHAR, 0 }, /* ¥ */
+ { ALPHA_CHAR, 0 }, /* ¦ */ { ALPHA_CHAR, 0 }, /* § */
+ { ALPHA_CHAR, 0 }, /* ¨ */ { ALPHA_CHAR, 0 }, /* © */
+ { ALPHA_CHAR, 0 }, /* ª */ { ALPHA_CHAR, 0 }, /* « */
+ { ALPHA_CHAR, 0 }, /* ¬ */ { ALPHA_CHAR, 0 }, /* ­ */
+ { ALPHA_CHAR, 0 }, /* ® */ { ALPHA_CHAR, 0 }, /* ¯ */
+ { ALPHA_CHAR, 0 }, /* ° */ { ALPHA_CHAR, 0 }, /* ± */
+ { ALPHA_CHAR, 0 }, /* ² */ { ALPHA_CHAR, 0 }, /* ³ */
+ { ALPHA_CHAR, 0 }, /* ´ */ { ALPHA_CHAR, 0 }, /* µ */
+ { ALPHA_CHAR, 0 }, /* ¶ */ { ALPHA_CHAR, 0 }, /* · */
+ { ALPHA_CHAR, 0 }, /* ¸ */ { ALPHA_CHAR, 0 }, /* ¹ */
+ { ALPHA_CHAR, 0 }, /* º */ { ALPHA_CHAR, 0 }, /* » */
+ { ALPHA_CHAR, 0 }, /* ¼ */ { ALPHA_CHAR, 0 }, /* ½ */
+ { ALPHA_CHAR, 0 }, /* ¾ */ { ALPHA_CHAR, 0 }, /* ¿ */
+ { ALPHA_CHAR, 0 }, /* À */ { ALPHA_CHAR, 0 }, /* Á */
+ { ALPHA_CHAR, 0 }, /* Â */ { ALPHA_CHAR, 0 }, /* Ã */
+ { ALPHA_CHAR, 0 }, /* Ä */ { ALPHA_CHAR, 0 }, /* Å */
+ { ALPHA_CHAR, 0 }, /* Æ */ { ALPHA_CHAR, 0 }, /* Ç */
+ { ALPHA_CHAR, 0 }, /* È */ { ALPHA_CHAR, 0 }, /* É */
+ { ALPHA_CHAR, 0 }, /* Ê */ { ALPHA_CHAR, 0 }, /* Ë */
+ { ALPHA_CHAR, 0 }, /* Ì */ { ALPHA_CHAR, 0 }, /* Í */
+ { ALPHA_CHAR, 0 }, /* Î */ { ALPHA_CHAR, 0 }, /* Ï */
+ { ALPHA_CHAR, 0 }, /* Ð */ { ALPHA_CHAR, 0 }, /* Ñ */
+ { ALPHA_CHAR, 0 }, /* Ò */ { ALPHA_CHAR, 0 }, /* Ó */
+ { ALPHA_CHAR, 0 }, /* Ô */ { ALPHA_CHAR, 0 }, /* Õ */
+ { ALPHA_CHAR, 0 }, /* Ö */ { ALPHA_CHAR, 0 }, /* × */
+ { ALPHA_CHAR, 0 }, /* Ø */ { ALPHA_CHAR, 0 }, /* Ù */
+ { ALPHA_CHAR, 0 }, /* Ú */ { ALPHA_CHAR, 0 }, /* Û */
+ { ALPHA_CHAR, 0 }, /* Ü */ { ALPHA_CHAR, 0 }, /* Ý */
+ { ALPHA_CHAR, 0 }, /* Þ */ { ALPHA_CHAR, 0 }, /* ß */
+ { ALPHA_CHAR, 0 }, /* à */ { ALPHA_CHAR, 0 }, /* á */
+ { ALPHA_CHAR, 0 }, /* â */ { ALPHA_CHAR, 0 }, /* ã */
+ { ALPHA_CHAR, 0 }, /* ä */ { ALPHA_CHAR, 0 }, /* å */
+ { ALPHA_CHAR, 0 }, /* æ */ { ALPHA_CHAR, 0 }, /* ç */
+ { ALPHA_CHAR, 0 }, /* è */ { ALPHA_CHAR, 0 }, /* é */
+ { ALPHA_CHAR, 0 }, /* ê */ { ALPHA_CHAR, 0 }, /* ë */
+ { ALPHA_CHAR, 0 }, /* ì */ { ALPHA_CHAR, 0 }, /* í */
+ { ALPHA_CHAR, 0 }, /* î */ { ALPHA_CHAR, 0 }, /* ï */
+ { ALPHA_CHAR, 0 }, /* ð */ { ALPHA_CHAR, 0 }, /* ñ */
+ { ALPHA_CHAR, 0 }, /* ò */ { ALPHA_CHAR, 0 }, /* ó */
+ { ALPHA_CHAR, 0 }, /* ô */ { ALPHA_CHAR, 0 }, /* õ */
+ { ALPHA_CHAR, 0 }, /* ö */ { ALPHA_CHAR, 0 }, /* ÷ */
+ { ALPHA_CHAR, 0 }, /* ø */ { ALPHA_CHAR, 0 }, /* ù */
+ { ALPHA_CHAR, 0 }, /* ú */ { ALPHA_CHAR, 0 }, /* û */
+ { ALPHA_CHAR, 0 }, /* ü */ { ALPHA_CHAR, 0 }, /* ý */
+ { ALPHA_CHAR, 0 }, /* þ */ { ALPHA_CHAR, 0 }, /* ÿ */
+};
+
+int _SLcheck_identifier_syntax (char *name)
+{
+ unsigned char *p;
+
+ p = (unsigned char *) name;
+ if (ALPHA_CHAR == Char_Type_Table[*p][0]) while (1)
+ {
+ unsigned ch;
+ unsigned char type;
+
+ ch = *++p;
+
+ type = Char_Type_Table [ch][0];
+ if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
+ {
+ if (ch == 0)
+ return 0;
+ break;
+ }
+ }
+
+ SLang_verror (SL_SYNTAX_ERROR,
+ "Name %s contains an illegal character", name);
+ return -1;
+}
+
+static unsigned char prep_get_char (void)
+{
+ register unsigned char ch;
+
+ if (0 != (ch = *Input_Line_Pointer++))
+ return ch;
+
+ Input_Line_Pointer--;
+ return 0;
+}
+
+static void unget_prep_char (unsigned char ch)
+{
+ if ((Input_Line_Pointer != Input_Line)
+ && (ch != 0))
+ Input_Line_Pointer--;
+ /* *Input_Line_Pointer = ch; -- Do not modify the Input_Line */
+}
+
+#include "keywhash.c"
+
+static int get_ident_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
+{
+ unsigned char ch;
+ unsigned char type;
+ Keyword_Table_Type *table;
+
+ while (1)
+ {
+ ch = prep_get_char ();
+ type = CHAR_CLASS (ch);
+ if ((type != ALPHA_CHAR) && (type != DIGIT_CHAR))
+ {
+ unget_prep_char (ch);
+ break;
+ }
+ s [len++] = ch;
+ }
+
+ s[len] = 0;
+
+ /* check if keyword */
+ table = is_keyword ((char *) s, len);
+ if (table != NULL)
+ {
+ tok->v.s_val = table->name;
+ return (tok->type = table->type);
+ }
+
+ tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
+ tok->free_sval_flag = 1;
+ return (tok->type = IDENT_TOKEN);
+}
+
+static int get_number_token (_SLang_Token_Type *tok, unsigned char *s, unsigned int len)
+{
+ unsigned char ch;
+ unsigned char type;
+
+ /* Look for pattern [0-9.xX]*([eE][-+]?[digits])?[ijfhul]? */
+ while (1)
+ {
+ ch = prep_get_char ();
+
+ type = CHAR_CLASS (ch);
+ if ((type != DIGIT_CHAR) && (type != DOT_CHAR))
+ {
+ if ((ch != 'x') && (ch != 'X'))
+ break;
+ /* It must be hex */
+ do
+ {
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+
+ s[len++] = ch;
+ ch = prep_get_char ();
+ type = CHAR_CLASS (ch);
+ }
+ while ((type == DIGIT_CHAR) || (type == ALPHA_CHAR));
+ break;
+ }
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+ s [len++] = ch;
+ }
+
+ /* At this point, type and ch are synchronized */
+
+ if ((ch == 'e') || (ch == 'E'))
+ {
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+ s[len++] = ch;
+ ch = prep_get_char ();
+ if ((ch == '+') || (ch == '-'))
+ {
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+ s[len++] = ch;
+ ch = prep_get_char ();
+ }
+
+ while (DIGIT_CHAR == (type = CHAR_CLASS(ch)))
+ {
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+ s[len++] = ch;
+ ch = prep_get_char ();
+ }
+ }
+
+ while (ALPHA_CHAR == type)
+ {
+ if (len == (MAX_TOKEN_LEN - 1))
+ goto too_long_return_error;
+ s[len++] = ch;
+ ch = prep_get_char ();
+ type = CHAR_CLASS(ch);
+ }
+
+ unget_prep_char (ch);
+ s[len] = 0;
+
+ switch (SLang_guess_type ((char *) s))
+ {
+ default:
+ tok->v.s_val = (char *) s;
+ _SLparse_error ("Not a number", tok, 0);
+ return (tok->type = EOF_TOKEN);
+
+#if SLANG_HAS_FLOAT
+ case SLANG_FLOAT_TYPE:
+ tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
+ tok->free_sval_flag = 1;
+ return (tok->type = FLOAT_TOKEN);
+
+ case SLANG_DOUBLE_TYPE:
+ tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
+ tok->free_sval_flag = 1;
+ return (tok->type = DOUBLE_TOKEN);
+#endif
+#if SLANG_HAS_COMPLEX
+ case SLANG_COMPLEX_TYPE:
+ tok->v.s_val = _SLstring_make_hashed_string ((char *)s, len, &tok->hash);
+ tok->free_sval_flag = 1;
+ return (tok->type = COMPLEX_TOKEN);
+#endif
+ case SLANG_CHAR_TYPE:
+ tok->v.long_val = (char)SLatol (s);
+ return tok->type = CHAR_TOKEN;
+ case SLANG_UCHAR_TYPE:
+ tok->v.long_val = (unsigned char)SLatol (s);
+ return tok->type = UCHAR_TOKEN;
+ case SLANG_SHORT_TYPE:
+ tok->v.long_val = (short)SLatol (s);
+ return tok->type = SHORT_TOKEN;
+ case SLANG_USHORT_TYPE:
+ tok->v.long_val = (unsigned short)SLatoul (s);
+ return tok->type = USHORT_TOKEN;
+ case SLANG_INT_TYPE:
+ tok->v.long_val = (int)SLatol (s);
+ return tok->type = INT_TOKEN;
+ case SLANG_UINT_TYPE:
+ tok->v.long_val = (unsigned int)SLatoul (s);
+ return tok->type = UINT_TOKEN;
+ case SLANG_LONG_TYPE:
+ tok->v.long_val = SLatol (s);
+ return tok->type = LONG_TOKEN;
+ case SLANG_ULONG_TYPE:
+ tok->v.long_val = SLatoul (s);
+ return tok->type = ULONG_TOKEN;
+ }
+
+ too_long_return_error:
+ _SLparse_error ("Number too long for buffer", NULL, 0);
+ return (tok->type == EOF_TOKEN);
+}
+
+static int get_op_token (_SLang_Token_Type *tok, char ch)
+{
+ unsigned int offset;
+ char second_char;
+ unsigned char type;
+ char *name;
+
+ /* operators are: + - / * ++ -- += -= = == != > < >= <= | etc..
+ * These lex to the longest valid operator token.
+ */
+
+ offset = CHAR_DATA((unsigned char) ch);
+ if (0 == Operators [offset][1])
+ {
+ name = Operators [offset];
+ type = name [3];
+ }
+ else
+ {
+ type = EOF_TOKEN;
+ name = NULL;
+ }
+
+ second_char = prep_get_char ();
+ do
+ {
+ if (second_char == Operators[offset][1])
+ {
+ name = Operators [offset];
+ type = name [3];
+ break;
+ }
+ offset++;
+ }
+ while (ch == Operators[offset][0]);
+
+ tok->type = type;
+
+ if (type == EOF_TOKEN)
+ {
+ _SLparse_error ("Operator not supported", NULL, 0);
+ return type;
+ }
+
+ tok->v.s_val = name;
+
+ if (name[1] == 0)
+ unget_prep_char (second_char);
+
+ return type;
+}
+
+/* If this returns non-zero, then it is a binary string */
+static int expand_escaped_string (register char *s,
+ register char *t, register char *tmax,
+ unsigned int *lenp)
+{
+ char *s0;
+ int is_binary = 0;
+ char ch;
+
+ s0 = s;
+ while (t < tmax)
+ {
+ ch = *t++;
+ if (ch == '\\')
+ {
+ t = _SLexpand_escaped_char (t, &ch);
+ if (ch == 0) is_binary = 1;
+ }
+ *s++ = ch;
+ }
+ *s = 0;
+
+ *lenp = (unsigned char) (s - s0);
+ return is_binary;
+}
+
+static int get_string_token (_SLang_Token_Type *tok, unsigned char quote_char,
+ unsigned char *s)
+{
+ unsigned char ch;
+ unsigned int len = 0;
+ int has_quote = 0;
+ int is_binary;
+
+ while (1)
+ {
+ ch = prep_get_char ();
+ if (ch == 0)
+ {
+ _SLparse_error("Expecting quote-character", NULL, 0);
+ return (tok->type = EOF_TOKEN);
+ }
+ if (ch == quote_char) break;
+
+ s[len++] = ch;
+
+ if (len == (MAX_TOKEN_LEN - 1))
+ {
+ _SLparse_error ("String too long for buffer", NULL, 0);
+ return (tok->type == EOF_TOKEN);
+ }
+
+ if (ch == '\\')
+ {
+ has_quote = 1;
+ ch = prep_get_char ();
+ s[len++] = ch;
+ }
+ }
+
+ s[len] = 0;
+
+ if (has_quote)
+ is_binary = expand_escaped_string ((char *) s, (char *)s, (char *)s + len, &len);
+ else is_binary = 0;
+
+ if ('"' == quote_char)
+ {
+ tok->free_sval_flag = 1;
+ if (is_binary)
+ {
+ tok->v.b_val = SLbstring_create (s, len);
+ return tok->type = BSTRING_TOKEN;
+ }
+ else
+ {
+ tok->v.s_val = _SLstring_make_hashed_string ((char *)s,
+ len,
+ &tok->hash);
+ tok->free_sval_flag = 1;
+ return (tok->type = STRING_TOKEN);
+ }
+ }
+
+ /* else single character */
+ if (s[1] != 0)
+ {
+ _SLparse_error("Single char expected", NULL, 0);
+ return (tok->type = EOF_TOKEN);
+ }
+
+ tok->v.long_val = s[0];
+ return (tok->type = UCHAR_TOKEN);
+}
+
+static int extract_token (_SLang_Token_Type *tok, unsigned char ch, unsigned char t)
+{
+ unsigned char s [MAX_TOKEN_LEN];
+ unsigned int slen;
+
+ s[0] = (char) ch;
+ slen = 1;
+
+ switch (t)
+ {
+ case ALPHA_CHAR:
+ return get_ident_token (tok, s, slen);
+
+ case OP_CHAR:
+ return get_op_token (tok, ch);
+
+ case DIGIT_CHAR:
+ return get_number_token (tok, s, slen);
+
+ case EXCL_CHAR:
+ ch = prep_get_char ();
+ s [slen++] = ch;
+ t = CHAR_CLASS(ch);
+ if (t == ALPHA_CHAR) return get_ident_token (tok, s, slen);
+ if (t == OP_CHAR)
+ {
+ unget_prep_char (ch);
+ return get_op_token (tok, '!');
+ }
+ _SLparse_error("Misplaced !", NULL, 0);
+ return -1;
+
+ case DOT_CHAR:
+ ch = prep_get_char ();
+ if (DIGIT_CHAR == CHAR_CLASS(ch))
+ {
+ s [slen++] = ch;
+ return get_number_token (tok, s, slen);
+ }
+ unget_prep_char (ch);
+ return (tok->type = DOT_TOKEN);
+
+ case SEP_CHAR:
+ return (tok->type = CHAR_DATA(ch));
+
+ case DQUOTE_CHAR:
+ case QUOTE_CHAR:
+ return get_string_token (tok, ch, s);
+
+ default:
+ _SLparse_error("Invalid character", NULL, 0);
+ return (tok->type = EOF_TOKEN);
+ }
+}
+
+int _SLget_rpn_token (_SLang_Token_Type *tok)
+{
+ unsigned char ch;
+
+ tok->v.s_val = "??";
+ while ((ch = *Input_Line_Pointer) != 0)
+ {
+ unsigned char t;
+
+ Input_Line_Pointer++;
+ if (WHITE_CHAR == (t = CHAR_CLASS(ch)))
+ continue;
+
+ if (NL_CHAR == t)
+ break;
+
+ return extract_token (tok, ch, t);
+ }
+ Input_Line_Pointer = Empty_Line;
+ return EOF_TOKEN;
+}
+
+int _SLget_token (_SLang_Token_Type *tok)
+{
+ unsigned char ch;
+ unsigned char t;
+
+ tok->num_refs = 1;
+ tok->free_sval_flag = 0;
+ tok->v.s_val = "??";
+#if _SLANG_HAS_DEBUG_CODE
+ tok->line_number = LLT->line_num;
+#endif
+ if (SLang_Error || (Input_Line == NULL))
+ return (tok->type = EOF_TOKEN);
+
+ while (1)
+ {
+ ch = *Input_Line_Pointer++;
+ if (WHITE_CHAR == (t = CHAR_CLASS (ch)))
+ continue;
+
+ if (t != NL_CHAR)
+ return extract_token (tok, ch, t);
+
+ do
+ {
+ LLT->line_num++;
+#if _SLANG_HAS_DEBUG_CODE
+ tok->line_number++;
+#endif
+ Input_Line = LLT->read(LLT);
+ if ((NULL == Input_Line) || SLang_Error)
+ {
+ Input_Line_Pointer = Input_Line = NULL;
+ return (tok->type = EOF_TOKEN);
+ }
+ }
+ while (0 == SLprep_line_ok(Input_Line, This_SLpp));
+
+ Input_Line_Pointer = Input_Line;
+ if (*Input_Line_Pointer == '.')
+ {
+ Input_Line_Pointer++;
+ return tok->type = RPN_TOKEN;
+ }
+ }
+}
+
+static int prep_exists_function (char *line, char comment)
+{
+ char buf[MAX_FILE_LINE_LEN], *b, *bmax;
+ unsigned char ch;
+
+ bmax = buf + (sizeof (buf) - 1);
+
+ while (1)
+ {
+ /* skip whitespace */
+ while ((ch = (unsigned char) *line),
+ ch && (ch != '\n') && (ch <= ' '))
+ line++;
+
+ if ((ch <= '\n')
+ || (ch == (unsigned char) comment)) break;
+
+ b = buf;
+ while ((ch = (unsigned char) *line) > ' ')
+ {
+ if (b < bmax) *b++ = (char) ch;
+ line++;
+ }
+ *b = 0;
+
+ if (SLang_is_defined (buf))
+ return 1;
+ }
+
+ return 0;
+}
+
+static int prep_eval_expr (char *expr)
+{
+ int ret;
+
+ if (0 != SLang_load_string (expr))
+ return -1;
+ if (-1 == SLang_pop_integer (&ret))
+ return -1;
+ return (ret != 0);
+}
+
+
+int SLang_load_object (SLang_Load_Type *x)
+{
+ SLPreprocess_Type this_pp;
+ SLPreprocess_Type *save_this_pp;
+ SLang_Load_Type *save_llt;
+ char *save_input_line, *save_input_line_ptr;
+#if _SLANG_HAS_DEBUG_CODE
+ int save_compile_line_num_info;
+#endif
+ int save_auto_declare_variables;
+
+ if (SLprep_exists_hook == NULL)
+ SLprep_exists_hook = prep_exists_function;
+
+ if (_SLprep_eval_hook == NULL)
+ _SLprep_eval_hook = prep_eval_expr;
+
+ if (-1 == SLprep_open_prep (&this_pp)) return -1;
+
+ if (-1 == _SLcompile_push_context (x))
+ return -1;
+
+#if _SLANG_HAS_DEBUG_CODE
+ save_compile_line_num_info = _SLang_Compile_Line_Num_Info;
+#endif
+ save_this_pp = This_SLpp;
+ save_input_line = Input_Line;
+ save_input_line_ptr = Input_Line_Pointer;
+ save_llt = LLT;
+ save_auto_declare_variables = _SLang_Auto_Declare_Globals;
+
+ This_SLpp = &this_pp;
+ Input_Line_Pointer = Input_Line = Empty_Line;
+ LLT = x;
+
+ x->line_num = 0;
+ x->parse_level = 0;
+ _SLang_Auto_Declare_Globals = x->auto_declare_globals;
+
+#if _SLANG_HAS_DEBUG_CODE
+ _SLang_Compile_Line_Num_Info = Default_Compile_Line_Num_Info;
+#endif
+
+ _SLparse_start (x);
+ if (SLang_Error)
+ do_line_file_error (x->line_num, x->name);
+
+ _SLang_Auto_Declare_Globals = save_auto_declare_variables;
+
+ if (SLang_Error) SLang_restart (0);
+
+ (void) _SLcompile_pop_context ();
+
+ Input_Line = save_input_line;
+ Input_Line_Pointer = save_input_line_ptr;
+ LLT = save_llt;
+ This_SLpp = save_this_pp;
+
+#if _SLANG_HAS_DEBUG_CODE
+ _SLang_Compile_Line_Num_Info = save_compile_line_num_info;
+#endif
+
+ if (SLang_Error) return -1;
+ return 0;
+}
+
+SLang_Load_Type *SLallocate_load_type (char *name)
+{
+ SLang_Load_Type *x;
+
+ if (NULL == (x = (SLang_Load_Type *)SLmalloc (sizeof (SLang_Load_Type))))
+ return NULL;
+ memset ((char *) x, 0, sizeof (SLang_Load_Type));
+
+ if (name == NULL) name = "";
+
+ x->name = SLang_create_slstring (name);
+ if (x->name == NULL)
+ {
+ SLfree ((char *) x);
+ return NULL;
+ }
+ return x;
+}
+
+void SLdeallocate_load_type (SLang_Load_Type *x)
+{
+ if (x != NULL)
+ {
+ SLang_free_slstring (x->name);
+ SLfree ((char *) x);
+ }
+}
+
+typedef struct
+{
+ char *string;
+ char *ptr;
+}
+String_Client_Data_Type;
+
+static char *read_from_string (SLang_Load_Type *x)
+{
+ String_Client_Data_Type *data;
+ char *s, *s1, ch;
+
+ data = (String_Client_Data_Type *)x->client_data;
+ s1 = s = data->ptr;
+
+ if (*s == 0)
+ return NULL;
+
+ while ((ch = *s) != 0)
+ {
+ s++;
+ if (ch == '\n')
+ break;
+ }
+
+ data->ptr = s;
+ return s1;
+}
+
+int SLang_load_string (char *string)
+{
+ SLang_Load_Type *x;
+ String_Client_Data_Type data;
+ int ret;
+
+ if (string == NULL)
+ return -1;
+
+ /* Grab a private copy in case loading modifies string */
+ if (NULL == (string = SLang_create_slstring (string)))
+ return -1;
+
+ /* To avoid creating a static data space for every string loaded,
+ * all string objects will be regarded as identical. So, identify
+ * all of them by ***string***
+ */
+ if (NULL == (x = SLallocate_load_type ("***string***")))
+ {
+ SLang_free_slstring (string);
+ return -1;
+ }
+
+ x->client_data = (VOID_STAR) &data;
+ x->read = read_from_string;
+
+ data.ptr = data.string = string;
+ if (-1 == (ret = SLang_load_object (x)))
+ SLang_verror (SLang_Error, "called from eval: %s", string);
+
+ SLang_free_slstring (string);
+ SLdeallocate_load_type (x);
+ return ret;
+}
+
+typedef struct
+{
+ char *buf;
+ FILE *fp;
+}
+File_Client_Data_Type;
+
+char *SLang_User_Prompt;
+static char *read_from_file (SLang_Load_Type *x)
+{
+ FILE *fp;
+ File_Client_Data_Type *c;
+
+ c = (File_Client_Data_Type *)x->client_data;
+ fp = c->fp;
+
+ if ((fp == stdin) && (SLang_User_Prompt != NULL))
+ {
+ fputs (SLang_User_Prompt, stdout);
+ fflush (stdout);
+ }
+
+ return fgets (c->buf, MAX_FILE_LINE_LEN, c->fp);
+}
+
+/* Note that file could be freed from Slang during run of this routine
+ * so get it and store it !! (e.g., autoloading)
+ */
+int (*SLang_Load_File_Hook) (char *);
+int SLang_load_file (char *f)
+{
+ File_Client_Data_Type client_data;
+ SLang_Load_Type *x;
+ char *name, *buf;
+ FILE *fp;
+
+ if (SLang_Load_File_Hook != NULL)
+ return (*SLang_Load_File_Hook) (f);
+
+ if (f == NULL) name = "<stdin>"; else name = f;
+
+ name = SLang_create_slstring (name);
+ if (name == NULL)
+ return -1;
+
+ if (NULL == (x = SLallocate_load_type (name)))
+ {
+ SLang_free_slstring (name);
+ return -1;
+ }
+
+ buf = NULL;
+
+ if (f != NULL)
+ fp = fopen (f, "r");
+ else
+ fp = stdin;
+
+ if (fp == NULL)
+ SLang_verror (SL_OBJ_NOPEN, "Unable to open %s", name);
+ else if (NULL != (buf = SLmalloc (MAX_FILE_LINE_LEN + 1)))
+ {
+ client_data.fp = fp;
+ client_data.buf = buf;
+ x->client_data = (VOID_STAR) &client_data;
+ x->read = read_from_file;
+
+ (void) SLang_load_object (x);
+ }
+
+ if ((fp != NULL) && (fp != stdin))
+ fclose (fp);
+
+ SLfree (buf);
+ SLang_free_slstring (name);
+ SLdeallocate_load_type (x);
+
+ if (SLang_Error)
+ return -1;
+
+ return 0;
+}
+
+int SLang_guess_type (char *t)
+{
+ char *p;
+ register char ch;
+ int modifier = 0;
+
+ if (*t == '-') t++;
+ p = t;
+
+#if SLANG_HAS_FLOAT
+ if (*p != '.')
+ {
+#endif
+ modifier = 0;
+ while ((*p >= '0') && (*p <= '9')) p++;
+ if (t == p) return (SLANG_STRING_TYPE);
+ if ((*p == 'x') && (p == t + 1)) /* 0x?? */
+ {
+ modifier |= 8;
+ p++;
+ while (ch = *p,
+ ((ch >= '0') && (ch <= '9'))
+ || (((ch | 0x20) >= 'a') && ((ch | 0x20) <= 'f'))) p++;
+ }
+
+ /* Now look for UL, LU, UH, HU, L, H modifiers */
+ while ((ch = *p) != 0)
+ {
+ ch |= 0x20;
+ if (ch == 'h') modifier |= 1;
+ else if (ch == 'l') modifier |= 2;
+ else if (ch == 'u') modifier |= 4;
+ else break;
+ p++;
+ }
+ if ((1|2) == (modifier & (1|2))) /* hl present */
+ return SLANG_STRING_TYPE;
+
+ if (ch == 0)
+ {
+ if ((modifier & 0x7) == 0) return SLANG_INT_TYPE;
+ if (modifier & 4)
+ {
+ if (modifier & 1) return SLANG_USHORT_TYPE;
+ if (modifier & 2) return SLANG_ULONG_TYPE;
+ return SLANG_UINT_TYPE;
+ }
+ if (modifier & 1) return SLANG_SHORT_TYPE;
+ if (modifier & 2) return SLANG_LONG_TYPE;
+ return SLANG_INT_TYPE;
+ }
+
+ if (modifier) return SLANG_STRING_TYPE;
+#if SLANG_HAS_FLOAT
+ }
+
+ /* now down to double case */
+ if (*p == '.')
+ {
+ p++;
+ while ((*p >= '0') && (*p <= '9')) p++;
+ }
+ if (*p == 0) return(SLANG_DOUBLE_TYPE);
+ if ((*p != 'e') && (*p != 'E'))
+ {
+# if SLANG_HAS_COMPLEX
+ if (((*p == 'i') || (*p == 'j'))
+ && (p[1] == 0))
+ return SLANG_COMPLEX_TYPE;
+# endif
+ if (((*p | 0x20) == 'f') && (p[1] == 0))
+ return SLANG_FLOAT_TYPE;
+
+ return SLANG_STRING_TYPE;
+ }
+
+ p++;
+ if ((*p == '-') || (*p == '+')) p++;
+ while ((*p >= '0') && (*p <= '9')) p++;
+ if (*p != 0)
+ {
+# if SLANG_HAS_COMPLEX
+ if (((*p == 'i') || (*p == 'j'))
+ && (p[1] == 0))
+ return SLANG_COMPLEX_TYPE;
+# endif
+ if (((*p | 0x20) == 'f') && (p[1] == 0))
+ return SLANG_FLOAT_TYPE;
+
+ return SLANG_STRING_TYPE;
+ }
+ return SLANG_DOUBLE_TYPE;
+#else
+ return SLANG_STRING_TYPE;
+#endif /* SLANG_HAS_FLOAT */
+}
+
+static int hex_atoul (unsigned char *s, unsigned long *ul)
+{
+ register unsigned char ch;
+ register unsigned long value;
+ register int base;
+
+ s++; /* skip the leading 0 */
+
+ /* look for 'x' which indicates hex */
+ if ((*s | 0x20) == 'x')
+ {
+ base = 16;
+ s++;
+ if (*s == 0)
+ {
+ SLang_Error = SL_SYNTAX_ERROR;
+ return -1;
+ }
+ }
+ else base = 8;
+
+ value = 0;
+ while ((ch = *s++) != 0)
+ {
+ char ch1 = ch | 0x20;
+ switch (ch1)
+ {
+ default:
+ SLang_Error = SL_SYNTAX_ERROR;
+ break;
+
+ case 'u':
+ case 'l':
+ case 'h':
+ *ul = value;
+ return 0;
+
+ case '8':
+ case '9':
+ if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
+ /* drop */
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ ch1 -= '0';
+ break;
+
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ if (base != 16) SLang_Error = SL_SYNTAX_ERROR;
+ ch1 = (ch1 - 'a') + 10;
+ break;
+ }
+ value = value * base + ch1;
+ }
+ *ul = value;
+ return 0;
+}
+
+/* Note: These routines do not check integer overflow. I would use the C
+ * library functions atol and atoul but some implementations check overflow
+ * and some do not. The following implementations provide a consistent
+ * behavior.
+ */
+unsigned long SLatoul (unsigned char *s)
+{
+ int sign;
+ unsigned long value;
+
+ if (*s == '-') sign = -1;
+ else
+ {
+ sign = 1;
+ if (*s == '+') s++;
+ }
+
+ if (*s == '0')
+ {
+ if (-1 == hex_atoul (s, &value))
+ return (unsigned long) -1;
+ }
+ else
+ {
+ while (WHITE_CHAR == CHAR_CLASS(*s))
+ s++;
+
+ value = 0;
+ while (DIGIT_CHAR == CHAR_CLASS(*s))
+ {
+ value = value * 10 + (unsigned long) (*s - '0');
+ s++;
+ }
+ }
+
+ if (sign == -1)
+ value = (unsigned long)-1L * value;
+
+ return value;
+}
+
+long SLatol (unsigned char *s)
+{
+ while (WHITE_CHAR == CHAR_CLASS(*s))
+ s++;
+
+ if (*s == '-')
+ {
+ long value = (long) SLatoul (s+1);
+ return -value;
+ }
+ return (long) SLatoul (s);
+}
+
+int SLatoi (unsigned char *s)
+{
+ return (int) SLatol (s);
+}
+
+static char *check_byte_compiled_token (char *buf)
+{
+ unsigned int len_lo, len_hi, len;
+
+ len_lo = (unsigned char) *Input_Line_Pointer++;
+ if ((len_lo < 32)
+ || ((len_hi = (unsigned char)*Input_Line_Pointer++) < 32)
+ || ((len = (len_lo - 32) | ((len_hi - 32) << 7)) >= MAX_TOKEN_LEN))
+ {
+ SLang_doerror ("Byte compiled file appears corrupt");
+ return NULL;
+ }
+
+ SLMEMCPY (buf, Input_Line_Pointer, len);
+ buf += len;
+ Input_Line_Pointer += len;
+ *buf = 0;
+ return buf;
+}
+
+void _SLcompile_byte_compiled (void)
+{
+ unsigned char type;
+ _SLang_Token_Type tok;
+ char buf[MAX_TOKEN_LEN];
+ char *ebuf;
+ unsigned int len;
+
+ memset ((char *) &tok, 0, sizeof (_SLang_Token_Type));
+
+ while (SLang_Error == 0)
+ {
+ top_of_switch:
+ type = (unsigned char) *Input_Line_Pointer++;
+ switch (type)
+ {
+ case '\n':
+ case 0:
+ if (NULL == (Input_Line = LLT->read(LLT)))
+ {
+ Input_Line_Pointer = Input_Line = NULL;
+ return;
+ }
+ Input_Line_Pointer = Input_Line;
+ goto top_of_switch;
+
+ case LINE_NUM_TOKEN:
+ case CHAR_TOKEN:
+ case UCHAR_TOKEN:
+ case SHORT_TOKEN:
+ case USHORT_TOKEN:
+ case INT_TOKEN:
+ case UINT_TOKEN:
+ case LONG_TOKEN:
+ case ULONG_TOKEN:
+ if (NULL == check_byte_compiled_token (buf))
+ return;
+ tok.v.long_val = atol (buf);
+ break;
+
+ case COMPLEX_TOKEN:
+ case FLOAT_TOKEN:
+ case DOUBLE_TOKEN:
+ if (NULL == check_byte_compiled_token (buf))
+ return;
+ tok.v.s_val = buf;
+ break;
+
+ case ESC_STRING_TOKEN:
+ if (NULL == (ebuf = check_byte_compiled_token (buf)))
+ return;
+ tok.v.s_val = buf;
+ if (expand_escaped_string (buf, buf, ebuf, &len))
+ {
+ tok.hash = len;
+ type = _BSTRING_TOKEN;
+ }
+ else
+ {
+ tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)buf + len);
+ type = STRING_TOKEN;
+ }
+ break;
+
+ case TMP_TOKEN:
+ case DEFINE_TOKEN:
+ case DEFINE_STATIC_TOKEN:
+ case DEFINE_PRIVATE_TOKEN:
+ case DEFINE_PUBLIC_TOKEN:
+ case DOT_TOKEN:
+ case STRING_TOKEN:
+ case IDENT_TOKEN:
+ case _REF_TOKEN:
+ case _DEREF_ASSIGN_TOKEN:
+ case _SCALAR_ASSIGN_TOKEN:
+ case _SCALAR_PLUSEQS_TOKEN:
+ case _SCALAR_MINUSEQS_TOKEN:
+ case _SCALAR_TIMESEQS_TOKEN:
+ case _SCALAR_DIVEQS_TOKEN:
+ case _SCALAR_BOREQS_TOKEN:
+ case _SCALAR_BANDEQS_TOKEN:
+ case _SCALAR_PLUSPLUS_TOKEN:
+ case _SCALAR_POST_PLUSPLUS_TOKEN:
+ case _SCALAR_MINUSMINUS_TOKEN:
+ case _SCALAR_POST_MINUSMINUS_TOKEN:
+ case _STRUCT_ASSIGN_TOKEN:
+ case _STRUCT_PLUSEQS_TOKEN:
+ case _STRUCT_MINUSEQS_TOKEN:
+ case _STRUCT_TIMESEQS_TOKEN:
+ case _STRUCT_DIVEQS_TOKEN:
+ case _STRUCT_BOREQS_TOKEN:
+ case _STRUCT_BANDEQS_TOKEN:
+ case _STRUCT_POST_MINUSMINUS_TOKEN:
+ case _STRUCT_MINUSMINUS_TOKEN:
+ case _STRUCT_POST_PLUSPLUS_TOKEN:
+ case _STRUCT_PLUSPLUS_TOKEN:
+ if (NULL == (ebuf = check_byte_compiled_token (buf)))
+ return;
+ tok.v.s_val = buf;
+ tok.hash = _SLstring_hash ((unsigned char *)buf, (unsigned char *)ebuf);
+ break;
+
+ default:
+ break;
+ }
+ tok.type = type;
+
+ (*_SLcompile_ptr) (&tok);
+ }
+}
+
+static int escape_string (unsigned char *s, unsigned char *smax,
+ unsigned char *buf, unsigned char *buf_max,
+ int *is_escaped)
+{
+ unsigned char ch;
+
+ *is_escaped = 0;
+ while (buf < buf_max)
+ {
+ if (s == smax)
+ {
+ *buf = 0;
+ return 0;
+ }
+
+ ch = *s++;
+ switch (ch)
+ {
+ default:
+ *buf++ = ch;
+ break;
+
+ case 0:
+ *buf++ = '\\';
+ if (buf < buf_max) *buf++ = 'x';
+ if (buf < buf_max) *buf++ = '0';
+ if (buf < buf_max) *buf++ = '0';
+ *is_escaped = 1;
+ break; /* return 0; */
+
+ case '\n':
+ *buf++ = '\\';
+ if (buf < buf_max) *buf++ = 'n';
+ *is_escaped = 1;
+ break;
+
+ case '\r':
+ *buf++ = '\\';
+ if (buf < buf_max) *buf++ = 'r';
+ *is_escaped = 1;
+ break;
+
+ case 0x1A: /* ^Z */
+ *buf++ = '\\';
+ if (buf < buf_max) *buf++ = 'x';
+ if (buf < buf_max) *buf++ = '1';
+ if (buf < buf_max) *buf++ = 'A';
+ *is_escaped = 1;
+ break;
+
+ case '\\':
+ *buf++ = ch;
+ if (buf < buf_max) *buf++ = ch;
+ *is_escaped = 1;
+ break;
+ }
+ }
+ _SLparse_error ("String too long to byte-compile", NULL, 0);
+ return -1;
+}
+
+static FILE *Byte_Compile_Fp;
+static unsigned int Byte_Compile_Line_Len;
+
+static int bytecomp_write_data (char *buf, unsigned int len)
+{
+ char *err = "Write Error";
+
+ if ((Byte_Compile_Line_Len + len + 1) >= MAX_FILE_LINE_LEN)
+ {
+ if (EOF == fputs ("\n", Byte_Compile_Fp))
+ {
+ SLang_doerror (err);
+ return -1;
+ }
+ Byte_Compile_Line_Len = 0;
+ }
+
+ if (EOF == fputs (buf, Byte_Compile_Fp))
+ {
+ SLang_doerror (err);
+ return -1;
+ }
+ Byte_Compile_Line_Len += len;
+ return 0;
+}
+
+static void byte_compile_token (_SLang_Token_Type *tok)
+{
+ unsigned char buf [MAX_TOKEN_LEN + 4], *buf_max;
+ unsigned int len;
+ char *b3;
+ int is_escaped;
+ unsigned char *s;
+
+ if (SLang_Error) return;
+
+ buf [0] = (unsigned char) tok->type;
+ buf [1] = 0;
+
+ buf_max = buf + sizeof(buf);
+ b3 = (char *) buf + 3;
+
+ switch (tok->type)
+ {
+ case LINE_NUM_TOKEN:
+ case CHAR_TOKEN:
+ case SHORT_TOKEN:
+ case INT_TOKEN:
+ case LONG_TOKEN:
+ sprintf (b3, "%ld", tok->v.long_val);
+ break;
+
+ case UCHAR_TOKEN:
+ case USHORT_TOKEN:
+ case UINT_TOKEN:
+ case ULONG_TOKEN:
+ sprintf (b3, "%lu", tok->v.long_val);
+ break;
+
+ case _BSTRING_TOKEN:
+ s = (unsigned char *) tok->v.s_val;
+ len = (unsigned int) tok->hash;
+
+ if (-1 == escape_string (s, s + len,
+ (unsigned char *)b3, buf_max,
+ &is_escaped))
+ return;
+
+ buf[0] = ESC_STRING_TOKEN;
+ break;
+
+ case BSTRING_TOKEN:
+ if (NULL == (s = SLbstring_get_pointer (tok->v.b_val, &len)))
+ return;
+
+ if (-1 == escape_string (s, s + len,
+ (unsigned char *)b3, buf_max,
+ &is_escaped))
+ return;
+ buf[0] = ESC_STRING_TOKEN;
+ break;
+
+ case STRING_TOKEN:
+ s = (unsigned char *)tok->v.s_val;
+
+ if (-1 == escape_string (s, s + strlen ((char *)s),
+ (unsigned char *)b3, buf_max,
+ &is_escaped))
+ return;
+
+ if (is_escaped)
+ buf[0] = ESC_STRING_TOKEN;
+ break;
+
+ /* a _SCALAR_* token is attached to an identifier. */
+ case _DEREF_ASSIGN_TOKEN:
+ case _SCALAR_ASSIGN_TOKEN:
+ case _SCALAR_PLUSEQS_TOKEN:
+ case _SCALAR_MINUSEQS_TOKEN:
+ case _SCALAR_TIMESEQS_TOKEN:
+ case _SCALAR_DIVEQS_TOKEN:
+ case _SCALAR_BOREQS_TOKEN:
+ case _SCALAR_BANDEQS_TOKEN:
+ case _SCALAR_PLUSPLUS_TOKEN:
+ case _SCALAR_POST_PLUSPLUS_TOKEN:
+ case _SCALAR_MINUSMINUS_TOKEN:
+ case _SCALAR_POST_MINUSMINUS_TOKEN:
+ case DOT_TOKEN:
+ case TMP_TOKEN:
+ case DEFINE_TOKEN:
+ case DEFINE_STATIC_TOKEN:
+ case DEFINE_PRIVATE_TOKEN:
+ case DEFINE_PUBLIC_TOKEN:
+ case FLOAT_TOKEN:
+ case DOUBLE_TOKEN:
+ case COMPLEX_TOKEN:
+ case IDENT_TOKEN:
+ case _REF_TOKEN:
+ case _STRUCT_ASSIGN_TOKEN:
+ case _STRUCT_PLUSEQS_TOKEN:
+ case _STRUCT_MINUSEQS_TOKEN:
+ case _STRUCT_TIMESEQS_TOKEN:
+ case _STRUCT_DIVEQS_TOKEN:
+ case _STRUCT_BOREQS_TOKEN:
+ case _STRUCT_BANDEQS_TOKEN:
+ case _STRUCT_POST_MINUSMINUS_TOKEN:
+ case _STRUCT_MINUSMINUS_TOKEN:
+ case _STRUCT_POST_PLUSPLUS_TOKEN:
+ case _STRUCT_PLUSPLUS_TOKEN:
+ strcpy (b3, tok->v.s_val);
+ break;
+
+ default:
+ b3 = NULL;
+ }
+
+ if (b3 != NULL)
+ {
+ len = strlen (b3);
+ buf[1] = (unsigned char) ((len & 0x7F) + 32);
+ buf[2] = (unsigned char) (((len >> 7) & 0x7F) + 32);
+ len += 3;
+ }
+ else len = 1;
+
+ (void) bytecomp_write_data ((char *)buf, len);
+}
+
+int SLang_byte_compile_file (char *name, int method)
+{
+ char file [1024];
+
+ (void) method;
+ if (strlen (name) + 2 >= sizeof (file))
+ {
+ SLang_verror (SL_INVALID_PARM, "Filename too long");
+ return -1;
+ }
+ sprintf (file, "%sc", name);
+ if (NULL == (Byte_Compile_Fp = fopen (file, "w")))
+ {
+ SLang_verror(SL_OBJ_NOPEN, "%s: unable to open", file);
+ return -1;
+ }
+
+ Byte_Compile_Line_Len = 0;
+ if (-1 != bytecomp_write_data (".#", 2))
+ {
+ _SLcompile_ptr = byte_compile_token;
+ (void) SLang_load_file (name);
+ _SLcompile_ptr = _SLcompile;
+
+ (void) bytecomp_write_data ("\n", 1);
+ }
+
+ if (EOF == fclose (Byte_Compile_Fp))
+ SLang_doerror ("Write Error");
+
+ if (SLang_Error)
+ {
+ SLang_verror (0, "Error processing %s", name);
+ return -1;
+ }
+ return 0;
+}
+
+int SLang_generate_debug_info (int x)
+{
+ int y = Default_Compile_Line_Num_Info;
+ Default_Compile_Line_Num_Info = x;
+ return y;
+}
diff --git a/mdk-stage1/slang/sltypes.c b/mdk-stage1/slang/sltypes.c
new file mode 100644
index 000000000..05b8741b1
--- /dev/null
+++ b/mdk-stage1/slang/sltypes.c
@@ -0,0 +1,966 @@
+/* Basic type operations for S-Lang */
+/* Copyright (c) 1992, 1996, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#if SLANG_HAS_FLOAT
+# include <math.h>
+#endif
+
+#define SL_APP_WANTS_FOREACH /* for String_Type */
+#include "slang.h"
+#include "_slang.h"
+
+int SLpop_string (char **s) /*{{{*/
+{
+ char *sls;
+
+ *s = NULL;
+
+ if (-1 == SLang_pop_slstring (&sls))
+ return -1;
+
+ if (NULL == (*s = SLmake_string (sls)))
+ {
+ SLang_free_slstring (sls);
+ return -1;
+ }
+
+ SLang_free_slstring (sls);
+ return 0;
+}
+
+/*}}}*/
+
+int SLang_pop_slstring (char **s) /*{{{*/
+{
+ return SLclass_pop_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR *)s);
+}
+
+/*}}}*/
+
+/* if *data != 0, string should be freed upon use. */
+int SLang_pop_string(char **s, int *data) /*{{{*/
+{
+ if (SLpop_string (s))
+ return -1;
+
+ *data = 1;
+ return 0;
+}
+
+/*}}}*/
+
+int _SLang_push_slstring (char *s)
+{
+ if (0 == SLclass_push_ptr_obj (SLANG_STRING_TYPE, (VOID_STAR)s))
+ return 0;
+
+ SLang_free_slstring (s);
+ return -1;
+}
+
+int _SLpush_alloced_slstring (char *s, unsigned int len)
+{
+ if (NULL == (s = _SLcreate_via_alloced_slstring (s, len)))
+ return -1;
+
+ return _SLang_push_slstring (s);
+}
+
+int SLang_push_string (char *t) /*{{{*/
+{
+ if (t == NULL)
+ return SLang_push_null ();
+
+ if (NULL == (t = SLang_create_slstring (t)))
+ return -1;
+
+ return _SLang_push_slstring (t);
+}
+
+/*}}}*/
+
+int _SLang_dup_and_push_slstring (char *s)
+{
+ if (NULL == (s = _SLstring_dup_slstring (s)))
+ return SLang_push_null ();
+
+ return _SLang_push_slstring (s);
+}
+
+
+/* This function _always_ frees the malloced string */
+int SLang_push_malloced_string (char *c) /*{{{*/
+{
+ int ret;
+
+ ret = SLang_push_string (c);
+ SLfree (c);
+
+ return ret;
+}
+
+/*}}}*/
+
+#if 0
+static int int_int_power (int a, int b)
+{
+ int r, s;
+
+ if (a == 0) return 0;
+ if (b < 0) return 0;
+ if (b == 0) return 1;
+
+ s = 1;
+ if (a < 0)
+ {
+ if ((b % 2) == 1) s = -1;
+ a = -a;
+ }
+
+ /* FIXME: Priority=low
+ * This needs optimized
+ */
+ r = 1;
+ while (b)
+ {
+ r = r * a;
+ b--;
+ }
+ return r * s;
+}
+#endif
+
+static int
+string_string_bin_op_result (int op, unsigned char a, unsigned char b,
+ unsigned char *c)
+{
+ (void) a;
+ (void) b;
+ switch (op)
+ {
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ *c = SLANG_STRING_TYPE;
+ break;
+
+ case SLANG_GT:
+ case SLANG_GE:
+ case SLANG_LT:
+ case SLANG_LE:
+ case SLANG_EQ:
+ case SLANG_NE:
+ *c = SLANG_CHAR_TYPE;
+ break;
+ }
+ return 1;
+}
+
+static int
+string_string_bin_op (int op,
+ unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp, unsigned int nb,
+ VOID_STAR cp)
+{
+ char *ic;
+ char **a, **b, **c;
+ unsigned int n, n_max;
+ unsigned int da, db;
+
+ (void) a_type;
+ (void) b_type;
+
+ if (na == 1) da = 0; else da = 1;
+ if (nb == 1) db = 0; else db = 1;
+
+ if (na > nb) n_max = na; else n_max = nb;
+
+ a = (char **) ap;
+ b = (char **) bp;
+ for (n = 0; n < n_max; n++)
+ {
+ if ((*a == NULL) || (*b == NULL))
+ {
+ SLang_verror (SL_VARIABLE_UNINITIALIZED, "String element[%u] not initialized for binary operation", n);
+ return -1;
+ }
+ a += da; b += db;
+ }
+
+ a = (char **) ap;
+ b = (char **) bp;
+ ic = (char *) cp;
+ c = NULL;
+
+ switch (op)
+ {
+ case SLANG_DIVIDE:
+ case SLANG_MINUS:
+ default:
+ return 0;
+
+ case SLANG_PLUS:
+ /* Concat */
+ c = (char **) cp;
+ for (n = 0; n < n_max; n++)
+ {
+ if (NULL == (c[n] = SLang_concat_slstrings (*a, *b)))
+ goto return_error;
+
+ a += da; b += db;
+ }
+ break;
+
+ case SLANG_NE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (0 != strcmp (*a, *b));
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_GT:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (strcmp (*a, *b) > 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_GE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (strcmp (*a, *b) >= 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_LT:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (strcmp (*a, *b) < 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_LE:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (strcmp (*a, *b) <= 0);
+ a += da;
+ b += db;
+ }
+ break;
+ case SLANG_EQ:
+ for (n = 0; n < n_max; n++)
+ {
+ ic [n] = (strcmp (*a, *b) == 0);
+ a += da;
+ b += db;
+ }
+ break;
+ }
+ return 1;
+
+ return_error:
+ if (c != NULL)
+ {
+ unsigned int nn;
+ for (nn = 0; nn < n; nn++)
+ {
+ SLang_free_slstring (c[nn]);
+ c[nn] = NULL;
+ }
+ for (nn = n; nn < n_max; nn++)
+ c[nn] = NULL;
+ }
+ return -1;
+}
+
+static void string_destroy (unsigned char unused, VOID_STAR s)
+{
+ (void) unused;
+ SLang_free_slstring (*(char **) s);
+}
+
+static int string_push (unsigned char unused, VOID_STAR sptr)
+{
+ (void) unused;
+ return SLang_push_string (*(char **) sptr);
+}
+
+static int string_cmp (unsigned char unused, VOID_STAR ap, VOID_STAR bp, int *c)
+{
+ char *a, *b;
+ (void) unused;
+
+ a = *(char **) ap;
+ b = *(char **) bp;
+ if (a != b)
+ {
+ if (a == NULL) *c = -1;
+ else if (b == NULL) *c = 1;
+ else *c = strcmp (a, b);
+ return 0;
+ }
+ *c = 0;
+ return 0;
+}
+
+static int string_to_int (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ char **s;
+ unsigned int i;
+ int *b;
+
+ (void) a_type;
+ (void) b_type;
+
+ s = (char **) ap;
+ b = (int *) bp;
+ for (i = 0; i < na; i++)
+ {
+ if (s[i] == NULL) b[i] = 0;
+ else b[i] = s[i][0];
+ }
+ return 1;
+}
+
+struct _SLang_Foreach_Context_Type
+{
+ char *string;
+ unsigned int n;
+};
+
+static SLang_Foreach_Context_Type *
+string_foreach_open (unsigned char type, unsigned int num)
+{
+ char *s;
+ SLang_Foreach_Context_Type *c;
+
+ (void) type;
+ if (num != 0)
+ {
+ SLang_verror (SL_NOT_IMPLEMENTED,
+ "'foreach using' form not supported by String_Type");
+ SLdo_pop_n (num + 1);
+ return NULL;
+ }
+ if (-1 == SLang_pop_slstring (&s))
+ return NULL;
+
+ c = (SLang_Foreach_Context_Type *)SLmalloc (sizeof (SLang_Foreach_Context_Type));
+ if (c == NULL)
+ {
+ SLang_free_slstring (s);
+ return NULL;
+ }
+
+ memset ((char *) c, 0, sizeof (SLang_Foreach_Context_Type));
+ c->string = s;
+
+ return c;
+}
+
+static void string_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ if (c == NULL) return;
+ SLang_free_slstring (c->string);
+ SLfree ((char *) c);
+}
+
+static int string_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ char ch;
+
+ (void) type;
+ ch = c->string[c->n];
+ if (ch == 0)
+ return 0; /* done */
+
+ c->n += 1;
+
+ if (-1 == SLclass_push_int_obj (SLANG_INT_TYPE, ch))
+ return -1;
+
+ return 1;
+}
+
+int _SLstring_list_push (_SLString_List_Type *p)
+{
+ unsigned int num;
+ int inum;
+ SLang_Array_Type *at;
+ char **buf;
+
+ if ((buf = p->buf) == NULL)
+ return SLang_push_null ();
+
+ num = p->num;
+ inum = (int) num;
+
+ if (num == 0) num++;
+ if (num != p->max_num)
+ {
+ if (NULL == (buf = (char **)SLrealloc ((char *) buf, sizeof (char *) * num)))
+ {
+ _SLstring_list_delete (p);
+ return -1;
+ }
+ p->max_num = num;
+ p->buf = buf;
+ }
+
+ if (NULL == (at = SLang_create_array (SLANG_STRING_TYPE, 0, (VOID_STAR) buf, &inum, 1)))
+ {
+ _SLstring_list_delete (p);
+ return -1;
+ }
+ p->buf = NULL;
+ _SLstring_list_delete (p);
+ return SLang_push_array (at, 1);
+}
+
+int _SLstring_list_init (_SLString_List_Type *p, unsigned int max_num, unsigned int delta_num)
+{
+ if (NULL == (p->buf = (char **) SLmalloc (max_num * sizeof (char *))))
+ return -1;
+
+ p->max_num = max_num;
+ p->num = 0;
+ p->delta_num = delta_num;
+ return 0;
+}
+
+int _SLstring_list_append (_SLString_List_Type *p, char *s)
+{
+ if (s == NULL)
+ {
+ _SLstring_list_delete (p);
+ return -1;
+ }
+
+ if (p->max_num == p->num)
+ {
+ char **b;
+ unsigned int max_num = p->num + p->delta_num;
+ b = (char **)SLrealloc ((char *)p->buf, max_num * sizeof (char *));
+ if (b == NULL)
+ {
+ _SLstring_list_delete (p);
+ SLang_free_slstring (s);
+ return -1;
+ }
+ p->buf = b;
+ p->max_num = max_num;
+ }
+
+ p->buf[p->num] = s;
+ p->num++;
+ return 0;
+}
+
+void _SLstring_list_delete (_SLString_List_Type *p)
+{
+ if (p->buf != NULL)
+ {
+ unsigned int i, imax;
+ char **buf = p->buf;
+ imax = p->num;
+ for (i = 0; i < imax; i++)
+ SLang_free_slstring (buf[i]);
+ SLfree ((char *)buf);
+ p->buf = NULL;
+ }
+}
+
+/* Ref type */
+int SLang_pop_ref (SLang_Ref_Type **ref)
+{
+ return SLclass_pop_ptr_obj (SLANG_REF_TYPE, (VOID_STAR *)ref);
+}
+
+/* Note: This is ok if ptr is NULL. Some routines rely on this behavior */
+int _SLang_push_ref (int is_global, VOID_STAR ptr)
+{
+ SLang_Ref_Type *r;
+
+ if (ptr == NULL)
+ return SLang_push_null ();
+
+ r = (SLang_Ref_Type *) SLmalloc (sizeof (SLang_Ref_Type));
+ if (r == NULL) return -1;
+
+ r->is_global = is_global;
+ r->v.nt = (SLang_Name_Type *) ptr;
+
+ if (-1 == SLclass_push_ptr_obj (SLANG_REF_TYPE, (VOID_STAR) r))
+ {
+ SLfree ((char *) r);
+ return -1;
+ }
+ return 0;
+}
+
+static void ref_destroy (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+ SLfree ((char *) *(SLang_Ref_Type **)ptr);
+}
+
+void SLang_free_ref (SLang_Ref_Type *ref)
+{
+ SLfree ((char *) ref);
+}
+
+static int ref_push (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Ref_Type *ref;
+
+ (void) type;
+
+ ref = *(SLang_Ref_Type **) ptr;
+
+ if (ref == NULL)
+ return SLang_push_null ();
+
+ return _SLang_push_ref (ref->is_global, (VOID_STAR) ref->v.nt);
+}
+
+int SLang_assign_to_ref (SLang_Ref_Type *ref, unsigned char type, VOID_STAR v)
+{
+ SLang_Object_Type *stkptr;
+ SLang_Class_Type *cl;
+
+ cl = _SLclass_get_class (type);
+
+ /* Use apush since this function is passing ``array'' bytes rather than the
+ * address of the data. I need to somehow make this more consistent. To
+ * see what I mean, consider:
+ *
+ * double z[2];
+ * char *s = "silly";
+ * int i;
+ *
+ * SLang_assign_to_ref (ref, SLANG_INT_TYPE, &i);
+ * SLang_assign_to_ref (ref, SLANG_STRING_TYPE, &s);
+ * SLang_assign_to_ref (ref, SLANG_COMPLEX_TYPE, z);
+ *
+ * That is, all external routines that take a VOID_STAR argument need to
+ * be documented such that how the function should be called with the
+ * various class_types.
+ */
+ if (-1 == (*cl->cl_apush) (type, v))
+ return -1;
+
+ stkptr = _SLStack_Pointer;
+ if (0 == _SLang_deref_assign (ref))
+ return 0;
+
+ if (stkptr != _SLStack_Pointer)
+ SLdo_pop ();
+
+ return -1;
+}
+
+static char *ref_string (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Ref_Type *ref;
+
+ (void) type;
+ ref = *(SLang_Ref_Type **) ptr;
+ if (ref->is_global)
+ {
+ char *name, *s;
+
+ name = ref->v.nt->name;
+ if ((name != NULL)
+ && (NULL != (s = SLmalloc (strlen(name) + 2))))
+ {
+ *s = '&';
+ strcpy (s + 1, name);
+ return s;
+ }
+
+ return NULL;
+ }
+ return SLmake_string ("Local Variable Reference");
+}
+
+static int ref_dereference (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return _SLang_dereference_ref (*(SLang_Ref_Type **) ptr);
+}
+
+static int ref_cmp (unsigned char type, VOID_STAR a, VOID_STAR b, int *c)
+{
+ SLang_Ref_Type *ra, *rb;
+
+ (void) type;
+
+ ra = *(SLang_Ref_Type **)a;
+ rb = *(SLang_Ref_Type **)b;
+
+ if (ra == NULL)
+ {
+ if (rb == NULL) *c = 0;
+ else *c = -1;
+ return 0;
+ }
+ if (rb == NULL)
+ {
+ *c = 1;
+ return 0;
+ }
+
+ if (ra->v.nt == rb->v.nt)
+ *c = 0;
+ else *c = strcmp (ra->v.nt->name, rb->v.nt->name);
+ return 0;
+}
+
+
+SLang_Name_Type *SLang_pop_function (void)
+{
+ SLang_Ref_Type *ref;
+ SLang_Name_Type *f;
+
+ if (SLang_peek_at_stack () == SLANG_STRING_TYPE)
+ {
+ char *name;
+
+ if (-1 == SLang_pop_slstring (&name))
+ return NULL;
+
+ if (NULL == (f = SLang_get_function (name)))
+ {
+ SLang_verror (SL_UNDEFINED_NAME, "Function %s does not exist", name);
+ SLang_free_slstring (name);
+ return NULL;
+ }
+ SLang_free_slstring (name);
+ return f;
+ }
+
+ if (-1 == SLang_pop_ref (&ref))
+ return NULL;
+
+ f = SLang_get_fun_from_ref (ref);
+ SLang_free_ref (ref);
+ return f;
+}
+
+/* This is a placeholder for version 2 */
+void SLang_free_function (SLang_Name_Type *f)
+{
+ (void) f;
+}
+
+/* NULL type */
+int SLang_push_null (void)
+{
+ return SLclass_push_ptr_obj (SLANG_NULL_TYPE, NULL);
+}
+
+int SLang_pop_null (void)
+{
+ SLang_Object_Type obj;
+ return _SLang_pop_object_of_type (SLANG_NULL_TYPE, &obj, 0);
+}
+
+static int null_push (unsigned char unused, VOID_STAR ptr_unused)
+{
+ (void) unused; (void) ptr_unused;
+ return SLang_push_null ();
+}
+
+static int null_pop (unsigned char type, VOID_STAR ptr)
+{
+ (void) type;
+
+ if (-1 == SLang_pop_null ())
+ return -1;
+
+ *(char **) ptr = NULL;
+ return 0;
+}
+
+/* Implement foreach (NULL) using (whatever) to do nothing. This is useful
+ * because suppose that X is a list but is NULL in some situations. Then
+ * when it is NULL, we want foreach(X) to do nothing.
+ */
+static SLang_Foreach_Context_Type *
+null_foreach_open (unsigned char type, unsigned int num)
+{
+ (void) type;
+ SLdo_pop_n (num + 1);
+ return (SLang_Foreach_Context_Type *)1;
+}
+
+static void null_foreach_close (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ (void) c;
+}
+
+static int null_foreach (unsigned char type, SLang_Foreach_Context_Type *c)
+{
+ (void) type;
+ (void) c;
+ return 0;
+}
+
+static int null_to_bool (unsigned char type, int *t)
+{
+ (void) type;
+ *t = 0;
+ return SLang_pop_null ();
+}
+
+/* AnyType */
+int _SLanytype_typecast (unsigned char a_type, VOID_STAR ap, unsigned int na,
+ unsigned char b_type, VOID_STAR bp)
+{
+ SLang_Class_Type *cl;
+ SLang_Any_Type **any;
+ unsigned int i;
+ unsigned int sizeof_type;
+
+ (void) b_type;
+
+ any = (SLang_Any_Type **) bp;
+
+ cl = _SLclass_get_class (a_type);
+ sizeof_type = cl->cl_sizeof_type;
+
+ for (i = 0; i < na; i++)
+ {
+ if ((-1 == (*cl->cl_apush) (a_type, ap))
+ || (-1 == SLang_pop_anytype (&any[i])))
+ {
+ while (i != 0)
+ {
+ i--;
+ SLang_free_anytype (any[i]);
+ any[i] = NULL;
+ }
+ return -1;
+ }
+ ap = (VOID_STAR)((char *)ap + sizeof_type);
+ }
+
+ return 1;
+}
+
+int SLang_pop_anytype (SLang_Any_Type **any)
+{
+ SLang_Object_Type *obj;
+
+ *any = NULL;
+
+ if (NULL == (obj = (SLang_Object_Type *) SLmalloc (sizeof (SLang_Object_Type))))
+ return -1;
+
+ if (-1 == SLang_pop (obj))
+ {
+ SLfree ((char *) obj);
+ return -1;
+ }
+ *any = (SLang_Any_Type *)obj;
+ return 0;
+}
+
+/* This function will result in an object that is represented by the
+ * anytype object.
+ */
+int SLang_push_anytype (SLang_Any_Type *any)
+{
+ return _SLpush_slang_obj ((SLang_Object_Type *)any);
+}
+
+/* After this call, the stack will contain an Any_Type object */
+static int anytype_push (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Any_Type *obj;
+
+ /* Push the object onto the stack, then pop it back off into our anytype
+ * container. That way, any memory managing associated with the type
+ * will be performed automatically. Another way to think of it is that
+ * pushing an Any_Type onto the stack will create another copy of the
+ * object represented by it.
+ */
+ if (-1 == _SLpush_slang_obj (*(SLang_Object_Type **)ptr))
+ return -1;
+
+ if (-1 == SLang_pop_anytype (&obj))
+ return -1;
+
+ /* There is no need to reference count the anytype objects since every
+ * push results in a new anytype container.
+ */
+ if (-1 == SLclass_push_ptr_obj (type, (VOID_STAR) obj))
+ {
+ SLang_free_anytype (obj);
+ return -1;
+ }
+
+ return 0;
+}
+
+static void anytype_destroy (unsigned char type, VOID_STAR ptr)
+{
+ SLang_Object_Type *obj;
+
+ (void) type;
+ obj = *(SLang_Object_Type **)ptr;
+ SLang_free_object (obj);
+ SLfree ((char *) obj);
+}
+
+void SLang_free_anytype (SLang_Any_Type *any)
+{
+ if (any != NULL)
+ anytype_destroy (SLANG_ANY_TYPE, (VOID_STAR) &any);
+}
+
+static int anytype_dereference (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return _SLpush_slang_obj (*(SLang_Object_Type **) ptr);
+}
+
+/* SLANG_INTP_TYPE */
+static int intp_push (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return SLclass_push_int_obj (SLANG_INT_TYPE, **(int **)ptr);
+}
+
+static int intp_pop (unsigned char unused, VOID_STAR ptr)
+{
+ (void) unused;
+ return SLang_pop_integer (*(int **) ptr);
+}
+
+static int undefined_push (unsigned char t, VOID_STAR p)
+{
+ (void) t; (void) p;
+ if (SLang_Error == 0)
+ SLang_Error = SL_VARIABLE_UNINITIALIZED;
+ return -1;
+}
+
+int _SLregister_types (void)
+{
+ SLang_Class_Type *cl;
+
+ /* A good compiler should optimize this code away. */
+ if ((sizeof(short) != SIZEOF_SHORT)
+ || (sizeof(int) != SIZEOF_INT)
+ || (sizeof(long) != SIZEOF_LONG)
+ || (sizeof(float) != SIZEOF_FLOAT)
+ || (sizeof(double) != SIZEOF_DOUBLE))
+ SLang_exit_error ("S-Lang Library not built properly. Fix SIZEOF_* in config.h and recompile");
+
+ if (-1 == _SLclass_init ())
+ return -1;
+
+ /* Undefined Type */
+ if (NULL == (cl = SLclass_allocate_class ("Undefined_Type")))
+ return -1;
+ (void) SLclass_set_push_function (cl, undefined_push);
+ (void) SLclass_set_pop_function (cl, undefined_push);
+ if (-1 == SLclass_register_class (cl, SLANG_UNDEFINED_TYPE, sizeof (int),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+ /* Make Void_Type a synonym for Undefined_Type. Note that this does
+ * not mean that Void_Type represents SLANG_VOID_TYPE. Void_Type is
+ * used by array_map to indicate no array is to be created.
+ */
+ if (-1 == SLclass_create_synonym ("Void_Type", SLANG_UNDEFINED_TYPE))
+ return -1;
+
+ if (-1 == _SLarith_register_types ())
+ return -1;
+
+ /* SLANG_INTP_TYPE */
+ if (NULL == (cl = SLclass_allocate_class ("_IntegerP_Type")))
+ return -1;
+ (void) SLclass_set_push_function (cl, intp_push);
+ (void) SLclass_set_pop_function (cl, intp_pop);
+ if (-1 == SLclass_register_class (cl, SLANG_INTP_TYPE, sizeof (int),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+
+ /* String Type */
+
+ if (NULL == (cl = SLclass_allocate_class ("String_Type")))
+ return -1;
+ (void) SLclass_set_destroy_function (cl, string_destroy);
+ (void) SLclass_set_push_function (cl, string_push);
+ cl->cl_foreach_open = string_foreach_open;
+ cl->cl_foreach_close = string_foreach_close;
+ cl->cl_foreach = string_foreach;
+ cl->cl_cmp = string_cmp;
+ if (-1 == SLclass_register_class (cl, SLANG_STRING_TYPE, sizeof (char *),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ /* ref Type */
+ if (NULL == (cl = SLclass_allocate_class ("Ref_Type")))
+ return -1;
+ cl->cl_dereference = ref_dereference;
+ cl->cl_push = ref_push;
+ cl->cl_destroy = ref_destroy;
+ cl->cl_string = ref_string;
+ cl->cl_cmp = ref_cmp;
+ if (-1 == SLclass_register_class (cl, SLANG_REF_TYPE,
+ sizeof (SLang_Ref_Type *),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ /* NULL Type */
+
+ if (NULL == (cl = SLclass_allocate_class ("Null_Type")))
+ return -1;
+ cl->cl_push = null_push;
+ cl->cl_pop = null_pop;
+ cl->cl_foreach_open = null_foreach_open;
+ cl->cl_foreach_close = null_foreach_close;
+ cl->cl_foreach = null_foreach;
+ cl->cl_to_bool = null_to_bool;
+ if (-1 == SLclass_register_class (cl, SLANG_NULL_TYPE, sizeof (char *),
+ SLANG_CLASS_TYPE_SCALAR))
+ return -1;
+
+ /* AnyType */
+ if (NULL == (cl = SLclass_allocate_class ("Any_Type")))
+ return -1;
+ (void) SLclass_set_push_function (cl, anytype_push);
+ (void) SLclass_set_destroy_function (cl, anytype_destroy);
+ cl->cl_dereference = anytype_dereference;
+ if (-1 == SLclass_register_class (cl, SLANG_ANY_TYPE, sizeof (VOID_STAR),
+ SLANG_CLASS_TYPE_PTR))
+ return -1;
+
+ if (-1 == _SLang_init_bstring ())
+ return -1;
+
+ if ((-1 == SLclass_add_typecast (SLANG_STRING_TYPE, SLANG_INT_TYPE, string_to_int, 0))
+ || (-1 == SLclass_add_binary_op (SLANG_STRING_TYPE, SLANG_STRING_TYPE, string_string_bin_op, string_string_bin_op_result)))
+ return -1;
+
+ return 0;
+}
+
diff --git a/mdk-stage1/slang/slutty.c b/mdk-stage1/slang/slutty.c
new file mode 100644
index 000000000..636c1bb90
--- /dev/null
+++ b/mdk-stage1/slang/slutty.c
@@ -0,0 +1,596 @@
+/* slutty.c --- Unix Low level terminal (tty) functions for S-Lang */
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+#include "slinclud.h"
+
+#include <signal.h>
+/* sequent support thanks to Kenneth Lorber <keni@oasys.dt.navy.mil> */
+/* SYSV (SYSV ISC R3.2 v3.0) provided by iain.lea@erlm.siemens.de */
+
+#if defined (_AIX) && !defined (_ALL_SOURCE)
+# define _ALL_SOURCE /* so NBBY is defined in <sys/types.h> */
+#endif
+
+#include <sys/time.h>
+#include <sys/types.h>
+
+#ifdef SYSV
+# include <fcntl.h>
+# ifndef CRAY
+# include <sys/termio.h>
+# include <sys/stream.h>
+# include <sys/ptem.h>
+# include <sys/tty.h>
+# endif
+#endif
+
+#ifdef __BEOS__
+/* Prototype for select */
+# include <net/socket.h>
+#endif
+
+#include <sys/file.h>
+
+#ifndef sun
+# include <sys/ioctl.h>
+#endif
+
+#ifdef __QNX__
+# include <sys/select.h>
+#endif
+
+#include <sys/stat.h>
+#include <errno.h>
+
+#if defined (_AIX) && !defined (FD_SET)
+# include <sys/select.h> /* for FD_ISSET, FD_SET, FD_ZERO */
+#endif
+
+#ifndef O_RDWR
+# include <fcntl.h>
+#endif
+
+#include "slang.h"
+#include "_slang.h"
+
+int SLang_TT_Read_FD = -1;
+int SLang_TT_Baud_Rate;
+
+#ifdef HAVE_TERMIOS_H
+# if !defined(HAVE_TCGETATTR) || !defined(HAVE_TCSETATTR)
+# undef HAVE_TERMIOS_H
+# endif
+#endif
+
+#ifndef HAVE_TERMIOS_H
+
+# if !defined(CBREAK) && defined(sun)
+# ifndef BSD_COMP
+# define BSD_COMP 1
+# endif
+# include <sys/ioctl.h>
+# endif
+
+typedef struct
+ {
+ struct tchars t;
+ struct ltchars lt;
+ struct sgttyb s;
+ }
+TTY_Termio_Type;
+#else
+# include <termios.h>
+typedef struct termios TTY_Termio_Type;
+#endif
+
+static TTY_Termio_Type Old_TTY;
+
+#ifdef HAVE_TERMIOS_H
+typedef struct
+{
+ unsigned int key;
+ unsigned int value;
+} Baud_Rate_Type;
+
+static Baud_Rate_Type Baud_Rates [] =
+{
+#ifdef B0
+ {B0, 0},
+#endif
+#ifdef B50
+ {B50, 50},
+#endif
+#ifdef B75
+ {B75, 75},
+#endif
+#ifdef B110
+ {B110, 110},
+#endif
+#ifdef B134
+ {B134, 134},
+#endif
+#ifdef B150
+ {B150, 150},
+#endif
+#ifdef B200
+ {B200, 200},
+#endif
+#ifdef B300
+ {B300, 300},
+#endif
+#ifdef B600
+ {B600, 600},
+#endif
+#ifdef B1200
+ {B1200, 1200},
+#endif
+#ifdef B1800
+ {B1800, 1800},
+#endif
+#ifdef B2400
+ {B2400, 2400},
+#endif
+#ifdef B4800
+ {B4800, 4800},
+#endif
+#ifdef B9600
+ {B9600, 9600},
+#endif
+#ifdef B19200
+ {B19200, 19200},
+#endif
+#ifdef B38400
+ {B38400, 38400},
+#endif
+#ifdef B57600
+ {B57600, 57600},
+#endif
+#ifdef B115200
+ {B115200, 115200},
+#endif
+#ifdef B230400
+ {B230400, 230400},
+#endif
+ {0, 0}
+};
+
+static void
+set_baud_rate (TTY_Termio_Type *tty)
+{
+#ifdef HAVE_CFGETOSPEED
+ unsigned int speed;
+ Baud_Rate_Type *b, *bmax;
+
+ if (SLang_TT_Baud_Rate)
+ return; /* already set */
+
+ speed = (unsigned int) cfgetospeed (tty);
+
+ b = Baud_Rates;
+ bmax = b + (sizeof (Baud_Rates)/sizeof(Baud_Rates[0]));
+ while (b < bmax)
+ {
+ if (b->key == speed)
+ {
+ SLang_TT_Baud_Rate = b->value;
+ return;
+ }
+ b++;
+ }
+#else
+ (void) tty;
+#endif
+}
+
+#endif /* HAVE_TERMIOS_H */
+
+#ifdef HAVE_TERMIOS_H
+# define GET_TERMIOS(fd, x) tcgetattr(fd, x)
+# define SET_TERMIOS(fd, x) tcsetattr(fd, TCSADRAIN, x)
+#else
+# ifdef TCGETS
+# define GET_TERMIOS(fd, x) ioctl(fd, TCGETS, x)
+# define SET_TERMIOS(fd, x) ioctl(fd, TCSETS, x)
+# else
+# define X(x,m) &(((TTY_Termio_Type *)(x))->m)
+# define GET_TERMIOS(fd, x) \
+ ((ioctl(fd, TIOCGETC, X(x,t)) || \
+ ioctl(fd, TIOCGLTC, X(x,lt)) || \
+ ioctl(fd, TIOCGETP, X(x,s))) ? -1 : 0)
+# define SET_TERMIOS(fd, x) \
+ ((ioctl(fd, TIOCSETC, X(x,t)) ||\
+ ioctl(fd, TIOCSLTC, X(x,lt)) || \
+ ioctl(fd, TIOCSETP, X(x,s))) ? -1 : 0)
+# endif
+#endif
+
+static int TTY_Inited = 0;
+static int TTY_Open = 0;
+
+#ifdef ultrix /* Ultrix gets _POSIX_VDISABLE wrong! */
+# define NULL_VALUE -1
+#else
+# ifdef _POSIX_VDISABLE
+# define NULL_VALUE _POSIX_VDISABLE
+# else
+# define NULL_VALUE 255
+# endif
+#endif
+
+int SLang_init_tty (int abort_char, int no_flow_control, int opost)
+{
+ TTY_Termio_Type newtty;
+
+ SLsig_block_signals ();
+
+ if (TTY_Inited)
+ {
+ SLsig_unblock_signals ();
+ return 0;
+ }
+
+ TTY_Open = 0;
+
+ if ((SLang_TT_Read_FD == -1)
+ || (1 != isatty (SLang_TT_Read_FD)))
+ {
+#ifdef O_RDWR
+# ifndef __BEOS__ /* I have been told that BEOS will HANG if passed /dev/tty */
+ if ((SLang_TT_Read_FD = open("/dev/tty", O_RDWR)) >= 0)
+ {
+ TTY_Open = 1;
+ }
+# endif
+#endif
+ if (TTY_Open == 0)
+ {
+ SLang_TT_Read_FD = fileno (stderr);
+ if (1 != isatty (SLang_TT_Read_FD))
+ {
+ SLang_TT_Read_FD = fileno (stdin);
+ if (1 != isatty (SLang_TT_Read_FD))
+ {
+ fprintf (stderr, "Failed to open terminal.");
+ return -1;
+ }
+ }
+ }
+ }
+
+ SLang_Abort_Char = abort_char;
+
+ /* Some systems may not permit signals to be blocked. As a result, the
+ * return code must be checked.
+ */
+ while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
+ {
+ if (errno != EINTR)
+ {
+ SLsig_unblock_signals ();
+ return -1;
+ }
+ }
+
+ while (-1 == GET_TERMIOS(SLang_TT_Read_FD, &newtty))
+ {
+ if (errno != EINTR)
+ {
+ SLsig_unblock_signals ();
+ return -1;
+ }
+ }
+
+#ifndef HAVE_TERMIOS_H
+ newtty.s.sg_flags &= ~(ECHO);
+ newtty.s.sg_flags &= ~(CRMOD);
+ /* if (Flow_Control == 0) newtty.s.sg_flags &= ~IXON; */
+ newtty.t.t_eofc = 1;
+ if (abort_char == -1) SLang_Abort_Char = newtty.t.t_intrc;
+ newtty.t.t_intrc = SLang_Abort_Char; /* ^G */
+ newtty.t.t_quitc = 255;
+ newtty.lt.t_suspc = 255; /* to ignore ^Z */
+ newtty.lt.t_dsuspc = 255; /* to ignore ^Y */
+ newtty.lt.t_lnextc = 255;
+ newtty.s.sg_flags |= CBREAK; /* do I want cbreak or raw????? */
+#else
+
+ /* get baud rate */
+
+ newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);
+#ifdef ISTRIP
+ /* newtty.c_iflag &= ~ISTRIP; */
+#endif
+ if (opost == 0) newtty.c_oflag &= ~OPOST;
+
+ set_baud_rate (&newtty);
+
+ if (no_flow_control) newtty.c_iflag &= ~IXON; else newtty.c_iflag |= IXON;
+
+ newtty.c_cc[VEOF] = 1;
+ newtty.c_cc[VMIN] = 1;
+ newtty.c_cc[VTIME] = 0;
+ newtty.c_lflag = ISIG | NOFLSH;
+ if (abort_char == -1) SLang_Abort_Char = newtty.c_cc[VINTR];
+ newtty.c_cc[VINTR] = SLang_Abort_Char; /* ^G */
+ newtty.c_cc[VQUIT] = NULL_VALUE;
+ newtty.c_cc[VSUSP] = NULL_VALUE; /* to ignore ^Z */
+#ifdef VDSUSP
+ newtty.c_cc[VDSUSP] = NULL_VALUE; /* to ignore ^Y */
+#endif
+#ifdef VLNEXT
+ newtty.c_cc[VLNEXT] = NULL_VALUE; /* to ignore ^V ? */
+#endif
+#ifdef VSWTCH
+ newtty.c_cc[VSWTCH] = NULL_VALUE; /* to ignore who knows what */
+#endif
+#endif /* NOT HAVE_TERMIOS_H */
+
+ while (-1 == SET_TERMIOS(SLang_TT_Read_FD, &newtty))
+ {
+ if (errno != EINTR)
+ {
+ SLsig_unblock_signals ();
+ return -1;
+ }
+ }
+
+ TTY_Inited = 1;
+ SLsig_unblock_signals ();
+ return 0;
+}
+
+void SLtty_set_suspend_state (int mode)
+{
+ TTY_Termio_Type newtty;
+
+ SLsig_block_signals ();
+
+ if (TTY_Inited == 0)
+ {
+ SLsig_unblock_signals ();
+ return;
+ }
+
+ while ((-1 == GET_TERMIOS (SLang_TT_Read_FD, &newtty))
+ && (errno == EINTR))
+ ;
+
+#ifndef HAVE_TERMIOS_H
+ /* I do not know if all systems define the t_dsuspc field */
+ if (mode == 0)
+ {
+ newtty.lt.t_suspc = 255;
+ newtty.lt.t_dsuspc = 255;
+ }
+ else
+ {
+ newtty.lt.t_suspc = Old_TTY.lt.t_suspc;
+ newtty.lt.t_dsuspc = Old_TTY.lt.t_dsuspc;
+ }
+#else
+ if (mode == 0)
+ {
+ newtty.c_cc[VSUSP] = NULL_VALUE;
+#ifdef VDSUSP
+ newtty.c_cc[VDSUSP] = NULL_VALUE;
+#endif
+ }
+ else
+ {
+ newtty.c_cc[VSUSP] = Old_TTY.c_cc[VSUSP];
+#ifdef VDSUSP
+ newtty.c_cc[VDSUSP] = Old_TTY.c_cc[VDSUSP];
+#endif
+ }
+#endif
+
+ while ((-1 == SET_TERMIOS (SLang_TT_Read_FD, &newtty))
+ && (errno == EINTR))
+ ;
+
+ SLsig_unblock_signals ();
+}
+
+void SLang_reset_tty (void)
+{
+ SLsig_block_signals ();
+
+ if (TTY_Inited == 0)
+ {
+ SLsig_unblock_signals ();
+ return;
+ }
+
+ while ((-1 == SET_TERMIOS(SLang_TT_Read_FD, &Old_TTY))
+ && (errno == EINTR))
+ ;
+
+ if (TTY_Open)
+ {
+ while ((-1 == close (SLang_TT_Read_FD))
+ && (errno == EINTR))
+ ;
+
+ TTY_Open = 0;
+ SLang_TT_Read_FD = -1;
+ }
+
+ TTY_Inited = 0;
+ SLsig_unblock_signals ();
+}
+
+static void default_sigint (int sig)
+{
+ sig = errno; /* use parameter */
+
+ SLKeyBoard_Quit = 1;
+ if (SLang_Ignore_User_Abort == 0) SLang_Error = SL_USER_BREAK;
+ SLsignal_intr (SIGINT, default_sigint);
+ errno = sig;
+}
+
+int SLang_set_abort_signal (void (*hand)(int))
+{
+ int save_errno = errno;
+ SLSig_Fun_Type *f;
+
+ if (hand == NULL) hand = default_sigint;
+ f = SLsignal_intr (SIGINT, hand);
+
+ errno = save_errno;
+
+ if (f == (SLSig_Fun_Type *) SIG_ERR)
+ return -1;
+
+ return 0;
+}
+
+#ifndef FD_SET
+#define FD_SET(fd, tthis) *(tthis) = 1 << (fd)
+#define FD_ZERO(tthis) *(tthis) = 0
+#define FD_ISSET(fd, tthis) (*(tthis) & (1 << fd))
+typedef int fd_set;
+#endif
+
+static fd_set Read_FD_Set;
+
+/* HACK: If > 0, use 1/10 seconds. If < 0, use 1/1000 seconds */
+
+int _SLsys_input_pending(int tsecs)
+{
+ struct timeval wait;
+ long usecs, secs;
+
+ if (TTY_Inited == 0) return -1;
+
+ if (tsecs >= 0)
+ {
+ secs = tsecs / 10;
+ usecs = (tsecs % 10) * 100000;
+ }
+ else
+ {
+ tsecs = -tsecs;
+ secs = tsecs / 1000;
+ usecs = (tsecs % 1000) * 1000;
+ }
+
+ wait.tv_sec = secs;
+ wait.tv_usec = usecs;
+
+ FD_ZERO(&Read_FD_Set);
+ FD_SET(SLang_TT_Read_FD, &Read_FD_Set);
+
+ return select(SLang_TT_Read_FD + 1, &Read_FD_Set, NULL, NULL, &wait);
+}
+
+int (*SLang_getkey_intr_hook) (void);
+
+static int handle_interrupt (void)
+{
+ if (SLang_getkey_intr_hook != NULL)
+ {
+ int save_tty_fd = SLang_TT_Read_FD;
+
+ if (-1 == (*SLang_getkey_intr_hook) ())
+ return -1;
+
+ if (save_tty_fd != SLang_TT_Read_FD)
+ return -1;
+ }
+
+ return 0;
+}
+
+unsigned int _SLsys_getkey (void)
+{
+ unsigned char c;
+
+ if (TTY_Inited == 0)
+ {
+ int ic = fgetc (stdin);
+ if (ic == EOF) return SLANG_GETKEY_ERROR;
+ return (unsigned int) ic;
+ }
+
+ while (1)
+ {
+ int ret;
+
+ if (SLKeyBoard_Quit)
+ return SLang_Abort_Char;
+
+ if (0 == (ret = _SLsys_input_pending (100)))
+ continue;
+
+ if (ret != -1)
+ break;
+
+ if (SLKeyBoard_Quit)
+ return SLang_Abort_Char;
+
+ if (errno == EINTR)
+ {
+ if (-1 == handle_interrupt ())
+ return SLANG_GETKEY_ERROR;
+
+ continue;
+ }
+
+ break; /* let read handle it */
+ }
+
+ while (1)
+ {
+ int status = read(SLang_TT_Read_FD, (char *) &c, 1);
+
+ if (status > 0)
+ break;
+
+ if (status == 0)
+ {
+ /* We are at the end of a file. Let application handle it. */
+ return SLANG_GETKEY_ERROR;
+ }
+
+ if (errno == EINTR)
+ {
+ if (-1 == handle_interrupt ())
+ return SLANG_GETKEY_ERROR;
+
+ if (SLKeyBoard_Quit)
+ return SLang_Abort_Char;
+
+ continue;
+ }
+#ifdef EAGAIN
+ if (errno == EAGAIN)
+ {
+ sleep (1);
+ continue;
+ }
+#endif
+#ifdef EWOULDBLOCK
+ if (errno == EWOULDBLOCK)
+ {
+ sleep (1);
+ continue;
+ }
+#endif
+#ifdef EIO
+ if (errno == EIO)
+ {
+ SLang_exit_error ("_SLsys_getkey: EIO error.");
+ }
+#endif
+ return SLANG_GETKEY_ERROR;
+ }
+
+ return((unsigned int) c);
+}
+
diff --git a/mdk-stage1/slang/slxstrng.c b/mdk-stage1/slang/slxstrng.c
new file mode 100644
index 000000000..3f8a4dffa
--- /dev/null
+++ b/mdk-stage1/slang/slxstrng.c
@@ -0,0 +1,43 @@
+/* Copyright (c) 1992, 1999, 2001 John E. Davis
+ * This file is part of the S-Lang library.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Perl Artistic License.
+ */
+
+/* These routines are simple and inefficient. They were designed to work on
+ * SunOS when using Electric Fence.
+ */
+
+#include "slang.h"
+#include "_slang.h"
+char *SLstrcpy(register char *aa, register char *b)
+{
+ char *a = aa;
+ while ((*a++ = *b++) != 0);
+ return aa;
+}
+
+int SLstrcmp(register char *a, register char *b)
+{
+ while (*a && (*a == *b))
+ {
+ a++;
+ b++;
+ }
+ if (*a) return((unsigned char) *a - (unsigned char) *b);
+ else if (*b) return ((unsigned char) *a - (unsigned char) *b);
+ else return 0;
+}
+
+char *SLstrncpy(char *a, register char *b,register int n)
+{
+ register char *aa = a;
+ while ((n > 0) && *b)
+ {
+ *aa++ = *b++;
+ n--;
+ }
+ while (n-- > 0) *aa++ = 0;
+ return (a);
+}
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c
new file mode 100644
index 000000000..41456cc5c
--- /dev/null
+++ b/mdk-stage1/stage1.c
@@ -0,0 +1,455 @@
+/*
+ * Guillaume Cottenceau (was gc@mandrakesoft.com)
+ *
+ * Copyright 2000-2004 Mandrakesoft
+ *
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <string.h>
+#include <errno.h>
+#include <ctype.h>
+#include <stdarg.h>
+#include <signal.h>
+#include <linux/unistd.h>
+
+#include "stage1.h"
+
+#include "log.h"
+#include "probing.h"
+#include "frontend.h"
+#include "modules.h"
+#include "tools.h"
+#include "automatic.h"
+#include "mount.h"
+#include "thirdparty.h"
+
+#ifdef ENABLE_PCMCIA
+#include "pcmcia/pcmcia.h"
+#endif
+
+#ifndef DISABLE_CDROM
+#include "cdrom.h"
+#endif
+
+#ifndef DISABLE_NETWORK
+#include "network.h"
+#endif
+
+#ifndef DISABLE_DISK
+#include "disk.h"
+#endif
+
+
+/************************************************************
+ * globals */
+
+
+
+void fatal_error(char *msg)
+{
+ printf("FATAL ERROR IN STAGE1: %s\n\nI can't recover from this.\nYou may reboot your system.\n", msg);
+ while (1);
+}
+
+
+/************************************************************
+ * special frontend functs
+ * (the principle is to not pollute frontend code with stage1-specific stuff) */
+
+void stg1_error_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ unset_automatic();
+ verror_message(msg, args);
+ va_end(args);
+}
+
+void stg1_fatal_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ unset_automatic();
+ verror_message(msg, args);
+ va_end(args);
+ exit(1);
+}
+
+void stg1_info_message(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ if (IS_AUTOMATIC) {
+ vlog_message(msg, args);
+ return;
+ }
+ vinfo_message(msg, args);
+ va_end(args);
+}
+
+
+#ifdef SPAWN_SHELL
+static pid_t shell_pid = 0;
+
+/************************************************************
+ * spawns a shell on console #2 */
+static void spawn_shell(void)
+{
+ int fd;
+ char * shell_name[] = { "/sbin/sh", NULL };
+
+ log_message("spawning a shell");
+
+ if (!IS_TESTING) {
+ fd = open("/dev/tty2", O_RDWR);
+ if (fd == -1) {
+ log_message("cannot open /dev/tty2 -- no shell will be provided");
+ return;
+ }
+ else if (access(shell_name[0], X_OK)) {
+ log_message("cannot open shell - %s doesn't exist", shell_name[0]);
+ return;
+ }
+
+ if (!(shell_pid = fork())) {
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+
+ close(fd);
+ setsid();
+ if (ioctl(0, TIOCSCTTY, NULL))
+ log_perror("could not set new controlling tty");
+
+ execv(shell_name[0], shell_name);
+ log_message("execve of %s failed: %s", shell_name[0], strerror(errno));
+ exit(-1);
+ }
+
+ close(fd);
+ }
+}
+#endif
+
+#ifdef SPAWN_INTERACTIVE
+char * interactive_fifo = "/tmp/stage1-fifo";
+static pid_t interactive_pid = 0;
+
+/* spawns my small interactive on console #6 */
+static void spawn_interactive(void)
+{
+ int fd;
+ char * dev = "/dev/tty6";
+
+ printf("spawning my interactive on %s\n", dev);
+
+ if (!IS_TESTING) {
+ fd = open(dev, O_RDWR);
+ if (fd == -1) {
+ printf("cannot open %s -- no interactive\n", dev);
+ return;
+ }
+
+ if (mkfifo(interactive_fifo, O_RDWR)) {
+ printf("cannot create fifo -- no interactive\n");
+ return;
+ }
+
+ if (!(interactive_pid = fork())) {
+ int fif_out;
+
+ dup2(fd, 0);
+ dup2(fd, 1);
+ dup2(fd, 2);
+
+ close(fd);
+ setsid();
+ if (ioctl(0, TIOCSCTTY, NULL))
+ perror("could not set new controlling tty");
+
+ fif_out = open(interactive_fifo, O_WRONLY);
+ printf("Please enter your command (availables: [+,-] [rescue]).\n");
+
+ while (1) {
+ char s[50];
+ int i = 0;
+ printf("? ");
+ fflush(stdout);
+ read(0, &(s[i++]), 1);
+ fcntl(0, F_SETFL, O_NONBLOCK);
+ while (read(0, &(s[i++]), 1) > 0 && i < sizeof(s));
+ fcntl(0, F_SETFL, 0);
+ write(fif_out, s, i-2);
+ printf("Ok.\n");
+ }
+ }
+
+ close(fd);
+ }
+}
+#endif
+
+
+#ifdef ENABLE_PCMCIA
+static void handle_pcmcia(void)
+{
+ char * pcmcia_adapter;
+ if (kernel_version() == 2) {
+ stg1_error_message("We now use kernel pcmcia support and this won't work with a 2.2 kernel.");
+ return;
+ }
+
+ pcmcia_adapter = pcmcia_probe();
+ if (!pcmcia_adapter) {
+ log_message("no pcmcia adapter found");
+ return;
+ }
+ my_insmod("pcmcia_core", ANY_DRIVER_TYPE, NULL, 0);
+ my_insmod(pcmcia_adapter, ANY_DRIVER_TYPE, NULL, 0);
+ /* ds is an alias for pcmcia in recent 2.6 kernels
+ but we don't have modules.alias in install, so try to load both */
+ my_insmod("ds", ANY_DRIVER_TYPE, NULL, 0);
+ my_insmod("pcmcia", ANY_DRIVER_TYPE, NULL, 0);
+
+ /* setup a dynamic resource database for non statically mapped PCMCIA sockets */
+ pcmcia_socket_startup(-1);
+
+ add_to_env("PCMCIA", pcmcia_adapter);
+}
+#endif
+
+
+/************************************************************
+ */
+
+static void method_select_and_prepare(void)
+{
+ enum return_type results;
+ char * choice;
+ char * means[10], * means_auto[10];
+ int i;
+
+#ifndef DISABLE_DISK
+ char * disk_install = "Hard disk"; char * disk_install_auto = "disk";
+#endif
+#ifndef DISABLE_CDROM
+ char * cdrom_install = "CDROM drive"; char * cdrom_install_auto = "cdrom";
+#endif
+#ifndef DISABLE_NETWORK
+ char * network_nfs_install = "NFS server"; char * network_nfs_install_auto = "nfs";
+ char * network_ftp_install = "FTP server"; char * network_ftp_install_auto = "ftp";
+ char * network_http_install = "HTTP server"; char * network_http_install_auto = "http";
+#ifndef DISABLE_KA
+ char * network_ka_install = "KA server"; char * network_ka_install_auto = "ka";
+#endif
+#endif
+ char * thirdparty_install = "Load third party modules"; char * thirdparty_install_auto = "thirdparty";
+
+ i = 0;
+#ifndef DISABLE_NETWORK
+ means[i] = network_nfs_install; means_auto[i++] = network_nfs_install_auto;
+ means[i] = network_ftp_install; means_auto[i++] = network_ftp_install_auto;
+ means[i] = network_http_install; means_auto[i++] = network_http_install_auto;
+#ifndef DISABLE_KA
+ means[i] = network_ka_install; means_auto[i++] = network_ka_install_auto;
+#endif
+#endif
+#ifndef DISABLE_CDROM
+ means[i] = cdrom_install; means_auto[i++] = cdrom_install_auto;
+#endif
+#ifndef DISABLE_DISK
+ means[i] = disk_install; means_auto[i++] = disk_install_auto;
+#endif
+ means[i] = thirdparty_install; means_auto[i++] = thirdparty_install_auto;
+ means[i] = NULL;
+
+ unlink(IMAGE_LOCATION);
+
+ results = ask_from_list_auto("Please choose the installation method.", means, &choice, "method", means_auto);
+
+ if (results != RETURN_OK)
+ return method_select_and_prepare();
+
+#ifndef DISABLE_CDROM
+ if (!strcmp(choice, cdrom_install))
+ results = cdrom_prepare();
+#endif
+
+#ifndef DISABLE_DISK
+ if (!strcmp(choice, disk_install))
+ results = disk_prepare();
+#endif
+
+#ifndef DISABLE_NETWORK
+ if (!strcmp(choice, network_nfs_install))
+ results = nfs_prepare();
+
+ if (!strcmp(choice, network_ftp_install))
+ results = ftp_prepare();
+
+ if (!strcmp(choice, network_http_install))
+ results = http_prepare();
+
+#ifndef DISABLE_KA
+ if (!strcmp(choice, network_ka_install))
+ results = ka_prepare();
+#endif
+#endif
+
+ if (!strcmp(choice, thirdparty_install)) {
+ thirdparty_load_modules();
+ return method_select_and_prepare();
+ }
+
+ if (results != RETURN_OK)
+ return method_select_and_prepare();
+
+ /* try to find third party modules on the install media */
+ thirdparty_load_media_modules();
+}
+
+static enum return_type create_initial_fs_symlinks(char* symlinks)
+{
+ FILE *f;
+ char buf[5000];
+
+ if (scall(!(f = fopen(symlinks, "rb")), "fopen"))
+ return RETURN_ERROR;
+ while (fgets(buf, sizeof(buf), f)) {
+ char oldpath[500], newpath[500];
+ buf[strlen(buf)-1] = '\0'; // trim \n
+ if (sscanf(buf, "%s %s", oldpath, newpath) != 2) {
+ sprintf(oldpath, "%s%s", STAGE2_LOCATION, buf);
+ sprintf(newpath, "%s", buf);
+ }
+ recursiveRemove_if_it_exists(newpath);
+ log_message("creating symlink %s -> %s", oldpath, newpath);
+ if (scall(symlink(oldpath, newpath), "symlink"))
+ return RETURN_ERROR;
+ }
+ fclose(f);
+ return RETURN_OK;
+}
+
+void finish_preparing(void)
+{
+ recursiveRemove("/init");
+
+ if (create_initial_fs_symlinks(STAGE2_LOCATION "/usr/share/symlinks") != RETURN_OK)
+ stg1_fatal_message("Fatal error finishing initialization.");
+
+ /* /tmp/syslog is used by the second init, so it must be copied now, not in stage2 */
+ /* we remove it to ensure the old one is not copied over it in stage2 */
+
+#ifdef SPAWN_SHELL
+ if (shell_pid != 0) {
+ int fd;
+ kill(shell_pid, 9);
+ fd = open("/dev/tty2", O_RDWR);
+ write(fd, "Killed\n", 7);
+ close(fd);
+ }
+#endif
+}
+
+int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)), char **env)
+{
+#ifdef ENABLE_NETWORK_STANDALONE
+ open_log();
+ init_frontend("");
+
+ unlink("/etc/resolv.conf"); /* otherwise it is read-only */
+ set_param(MODE_AUTOMATIC);
+ grab_automatic_params("network:dhcp");
+
+ intf_select_and_up();
+ finish_frontend();
+ return 0;
+#else
+ if (getenv("DEBUGSTAGE1")) {
+ set_param(MODE_DEBUGSTAGE1);
+ set_param(MODE_TESTING);
+ }
+
+#ifdef SPAWN_INTERACTIVE
+ spawn_interactive();
+#endif
+
+ open_log();
+ log_message("welcome to the " DISTRIB_NAME " install (mdk-stage1, version " DISTRIB_VERSION " built " __DATE__ " " __TIME__")");
+ process_cmdline();
+#ifdef SPAWN_SHELL
+ spawn_shell();
+#endif
+ init_modules_insmoding();
+ init_frontend("Welcome to " DISTRIB_DESCR ", " __DATE__ " " __TIME__);
+
+ /* load usb interface as soon as possible, helps usb mouse detection in stage2 */
+ probe_that_type(USB_CONTROLLERS, BUS_USB);
+
+ if (IS_THIRDPARTY)
+ thirdparty_load_modules();
+
+#ifdef ENABLE_PCMCIA
+ if (!IS_NOAUTO)
+ handle_pcmcia();
+#endif
+
+ if (IS_CHANGEDISK)
+ stg1_info_message("You are starting the installation with an alternate booting method. "
+ "Please change your disk, and insert the Installation disk.");
+
+ if (IS_RESCUE && total_memory() < MEM_LIMIT_RESCUE) {
+ stg1_error_message("You are starting the rescue with a low memory configuration. "
+ "Our experience shows that your system may crash at any point "
+ "or lock up for no apparent reason. Continue at "
+ "your own risk. Alternatively, you may reboot your system now.");
+ }
+
+ method_select_and_prepare();
+
+ thirdparty_destroy();
+
+ if (access(STAGE2_LOCATION, R_OK) != 0)
+ if (symlink(IMAGE_LOCATION_REL "/" LIVE_LOCATION_REL, STAGE2_LOCATION) != 0)
+ log_perror("symlink from " IMAGE_LOCATION_REL "/" LIVE_LOCATION_REL " to " STAGE2_LOCATION " failed");
+
+#ifdef SPAWN_INTERACTIVE
+ if (interactive_pid != 0)
+ kill(interactive_pid, 9);
+#endif
+
+ finish_preparing();
+
+ finish_frontend();
+ close_log();
+
+ if (IS_RESCUE)
+ return 66; /* ask init to exec new init */
+ else
+ return 0x35; /* ask init to run stage2 binary */
+#endif
+}
diff --git a/mdk-stage1/stage1.h b/mdk-stage1/stage1.h
new file mode 100644
index 000000000..b6ec98ef7
--- /dev/null
+++ b/mdk-stage1/stage1.h
@@ -0,0 +1,62 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _STAGE1_H_
+#define _STAGE1_H_
+
+#include "config-stage1.h"
+#include "tools.h"
+
+
+/* Some global stuff */
+
+extern char * interactive_fifo;
+
+#define MODE_TESTING (1 << 0)
+#define MODE_RESCUE (1 << 3)
+#define MODE_AUTOMATIC (1 << 4)
+#define MODE_KEEP_MOUNTED (1 << 5) /* for rescue */
+#define MODE_DEBUGSTAGE1 (1 << 6)
+#define MODE_RAMDISK (1 << 9)
+#define MODE_CHANGEDISK (1 << 10)
+#define MODE_THIRDPARTY (1 << 11)
+#define MODE_NOAUTO (1 << 12)
+#define MODE_NETAUTO (1 << 13)
+#define MODE_RECOVERY (1 << 14)
+
+#define IS_TESTING (get_param(MODE_TESTING))
+#define IS_RESCUE (get_param(MODE_RESCUE))
+#define IS_AUTOMATIC (get_param(MODE_AUTOMATIC))
+#define IS_DEBUGSTAGE1 (get_param(MODE_DEBUGSTAGE1))
+#define IS_CHANGEDISK (get_param(MODE_CHANGEDISK))
+#define IS_THIRDPARTY (get_param(MODE_THIRDPARTY))
+#define IS_NOAUTO (get_param(MODE_NOAUTO))
+#define IS_NETAUTO (get_param(MODE_NETAUTO))
+#define IS_RECOVERY (get_param(MODE_RECOVERY))
+#define KEEP_MOUNTED (!IS_RESCUE || get_param(MODE_KEEP_MOUNTED))
+
+void fatal_error(char *msg) __attribute__ ((noreturn));
+
+
+void stg1_error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
+void stg1_info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
+
+#endif
diff --git a/mdk-stage1/stdio-frontend.c b/mdk-stage1/stdio-frontend.c
new file mode 100644
index 000000000..ffa306811
--- /dev/null
+++ b/mdk-stage1/stdio-frontend.c
@@ -0,0 +1,369 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+
+/*
+ * Each different frontend must implement all functions defined in frontend.h
+ */
+
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <termios.h>
+
+#include <probing.h>
+
+#include "frontend.h"
+
+
+void init_frontend(char * welcome_msg)
+{
+ printf(welcome_msg);
+ printf("\n");
+}
+
+
+void finish_frontend(void)
+{
+}
+
+static void get_any_response(void)
+{
+ unsigned char t;
+ printf("\n\t(press <enter> to proceed)");
+ fflush(stdout);
+ read(0, &t, 1);
+ fcntl(0, F_SETFL, O_NONBLOCK);
+ while (read(0, &t, 1) > 0);
+ fcntl(0, F_SETFL, 0);
+}
+
+static int get_int_response(void)
+{
+ char s[50];
+ int j = 0;
+ unsigned int i = 0; /* (0) tied to Cancel */
+ fflush(stdout);
+ read(0, &(s[i++]), 1);
+ fcntl(0, F_SETFL, O_NONBLOCK);
+ do {
+ int v = s[i-1];
+ if (v >= '0' && v <= '9')
+ j = j*10 + (v - '0');
+ } while (read(0, &(s[i++]), 1) > 0 && i < sizeof(s));
+ fcntl(0, F_SETFL, 0);
+ return j;
+}
+
+static char * get_string_response(char * initial_string)
+{
+ /* I won't use a scanf/%s since I also want the null string to be accepted -- also, I want the initial_string */
+ char s[500];
+ int i = 0;
+ char buf[10];
+ int b_index = 0;
+ char b;
+
+ struct termios t;
+
+ memset(s, '\0', sizeof(s));
+
+ if (initial_string) {
+ printf(initial_string);
+ strcpy(s, initial_string);
+ i = strlen(s);
+ }
+
+ /* from ncurses/tinfo/lib_raw.c:(cbreak) */
+ tcgetattr(0, &t);
+ t.c_lflag &= ~ICANON;
+ t.c_lflag |= ISIG;
+ t.c_lflag &= ~ECHO;
+ t.c_iflag &= ~ICRNL;
+ t.c_cc[VMIN] = 1;
+ t.c_cc[VTIME] = 0;
+ tcsetattr(0, TCSADRAIN, &t);
+
+ fflush(stdout);
+
+ fcntl(0, F_SETFL, O_NONBLOCK);
+
+ while (1) {
+ if (read(0, &b, 1) > 0) {
+ if (b_index == 1) {
+ if (b == 91) {
+ buf[b_index] = b;
+ b_index++;
+ continue;
+ }
+ else
+ b_index = 0;
+ }
+ if (b_index == 2) {
+ if (b == 67) {
+ if (s[i] != '\0') {
+ printf("\033[C");
+ i++;
+ }
+ }
+ if (b == 68) {
+ if (i > 0) {
+ printf("\033[D");
+ i--;
+ }
+ }
+ b_index = 0;
+ continue;
+ }
+
+ if (b == 13)
+ break;
+ if (b == 127) {
+ if (i > 0) {
+ printf("\033[D");
+ printf(" ");
+ printf("\033[D");
+ if (s[i] == '\0')
+ s[i-1] = '\0';
+ else
+ s[i-1] = ' ';
+ i--;
+ }
+ } else if (b == 27) {
+ buf[b_index] = b;
+ b_index++;
+ } else {
+ printf("%c", b);
+ s[i] = b;
+ i++;
+ }
+ }
+ }
+
+ t.c_lflag |= ICANON;
+ t.c_lflag |= ECHO;
+ t.c_iflag |= ICRNL;
+ tcsetattr(0, TCSADRAIN, &t);
+
+ fcntl(0, F_SETFL, 0);
+
+ printf("\n");
+ return strdup(s);
+}
+
+static void blocking_msg(char *type, char *fmt, va_list ap)
+{
+ printf(type);
+ vprintf(fmt, ap);
+ get_any_response();
+}
+
+void verror_message(char *msg, va_list ap)
+{
+ blocking_msg("> Error! ", msg, ap);
+}
+
+void vinfo_message(char *msg, va_list ap)
+{
+ blocking_msg("> Notice: ", msg, ap);
+}
+
+void vwait_message(char *msg, va_list ap)
+{
+ printf("Please wait: ");
+ vprintf(msg, ap);
+ fflush(stdout);
+}
+
+void remove_wait_message(void)
+{
+ printf("\n");
+}
+
+
+static int size_progress;
+static int actually_drawn;
+#define PROGRESS_SIZE 45
+void init_progression_raw(char *msg, int size)
+{
+ int i;
+ size_progress = size;
+ printf("%s ", msg);
+ if (size) {
+ actually_drawn = 0;
+ for (i=0; i<PROGRESS_SIZE; i++)
+ printf(".");
+ printf("]\033[G%s [", msg); /* only works on ANSI-compatibles */
+ fflush(stdout);
+ } else
+ printf("\n");
+}
+
+void update_progression_raw(int current_size)
+{
+ if (size_progress) {
+ if (current_size > size_progress)
+ current_size = size_progress;
+ while ((int)((current_size*PROGRESS_SIZE)/size_progress) > actually_drawn) {
+ printf("*");
+ actually_drawn++;
+ }
+ } else
+ printf("\033[GStatus: [%8d] bytes loaded...", current_size);
+
+ fflush(stdout);
+}
+
+void end_progression_raw(void)
+{
+ if (size_progress) {
+ update_progression_raw(size_progress);
+ printf("]\n");
+ } else
+ printf(" done.\n");
+}
+
+
+enum return_type ask_from_list_comments(char *msg, char ** elems, char ** elems_comments, char ** choice)
+{
+ int justify_number = 1;
+ void print_choice_number(int i) {
+ char tmp[500];
+ snprintf(tmp, sizeof(tmp), "[%%%dd]", justify_number);
+ printf(tmp, i);
+ }
+ char ** sav_elems = elems;
+ int i = 1;
+ int j = 0;
+
+ while (elems && *elems) {
+ elems++;
+ i++;
+ }
+ if (i >= 10)
+ justify_number = 2;
+
+ elems = sav_elems;
+ i = 1;
+
+ printf("> %s\n", msg);
+ print_choice_number(0);
+ printf(" Cancel");
+
+ while (elems && *elems) {
+ if (elems_comments && *elems_comments) {
+ printf("\n");
+ print_choice_number(i);
+ printf(" %s (%s)", *elems, *elems_comments);
+ j = 0;
+ } else {
+ if (j == 0)
+ printf("\n");
+ print_choice_number(i);
+ printf(" %-14s ", *elems);
+ j++;
+ }
+ if (j == 4)
+ j = 0;
+
+ if (elems_comments)
+ elems_comments++;
+ i++;
+ elems++;
+ }
+
+ printf("\n? ");
+
+ j = get_int_response();
+
+ if (j == 0)
+ return RETURN_BACK;
+
+ if (j >= 1 && j <= i) {
+ *choice = strdup(sav_elems[j-1]);
+ return RETURN_OK;
+ }
+
+ return RETURN_ERROR;
+}
+
+
+enum return_type ask_from_list(char *msg, char ** elems, char ** choice)
+{
+ return ask_from_list_comments(msg, elems, NULL, choice);
+}
+
+
+enum return_type ask_yes_no(char *msg)
+{
+ int j;
+
+ printf("> %s\n[0] Yes [1] No [2] Back\n? ", msg);
+
+ j = get_int_response();
+
+ if (j == 0)
+ return RETURN_OK;
+ else if (j == 2)
+ return RETURN_BACK;
+ else return RETURN_ERROR;
+}
+
+
+enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size UNUSED, void (*callback_func)(char ** strings) UNUSED)
+{
+ int j, i = 0;
+ char ** already_answers = NULL;
+
+ printf("> %s\n", msg);
+
+ while (questions && *questions) {
+ printf("(%c) %s\n", i + 'a', *questions);
+ i++;
+ questions++;
+ }
+
+ if (*answers == NULL)
+ *answers = (char **) malloc(sizeof(char *) * i);
+ else
+ already_answers = *answers;
+
+ while (1) {
+ int r;
+ for (j = 0 ; j < i ; j++) {
+ printf("(%c) ? ", j + 'a');
+ if (already_answers && *already_answers) {
+ (*answers)[j] = get_string_response(*already_answers);
+ already_answers++;
+ } else
+ (*answers)[j] = get_string_response(NULL);
+
+ }
+ printf("[0] Cancel [1] Accept [2] Re-enter answers\n? ");
+ r = get_int_response();
+ if (r == 0)
+ return RETURN_BACK;
+ if (r == 1)
+ return RETURN_OK;
+ }
+}
+
+
+void suspend_to_console(void) {}
+void resume_from_suspend(void) {}
diff --git a/mdk-stage1/sysfs/Makefile b/mdk-stage1/sysfs/Makefile
new file mode 100644
index 000000000..5cab07408
--- /dev/null
+++ b/mdk-stage1/sysfs/Makefile
@@ -0,0 +1,39 @@
+ #******************************************************************************
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ # Olivier Blin (blino@mandriva.com)
+ #
+ # Copyright 2006 Mandriva
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+# minimal sysfs library ripped from sysfsutils-2.0.0
+
+top_dir = ..
+
+include $(top_dir)/Makefile.common
+
+TARGET = libsysfs.a
+
+all: $(TARGET)
+
+clean:
+ rm -f *.o $(TARGET)
+
+FLAGS = -D__linux__ -Wall -Werror -Wno-deprecated-declarations -Os -fomit-frame-pointer -pipe -c -I.. -D_BSD_SOURCE
+
+OBJS = sysfs_attr.o sysfs_utils.o
+
+$(TARGET): $(OBJS)
+ ar -cru $@ $^
+ ranlib $@
+
+$(OBJS): %.o: %.c
+ $(DIET) gcc $(FLAGS) $(INCLUDES) -c $< -o $@
diff --git a/mdk-stage1/sysfs/libsysfs.h b/mdk-stage1/sysfs/libsysfs.h
new file mode 100644
index 000000000..7bdf54fea
--- /dev/null
+++ b/mdk-stage1/sysfs/libsysfs.h
@@ -0,0 +1,90 @@
+/*
+ * libsysfs.h
+ *
+ * Header Definitions for libsysfs
+ *
+ * Copyright (C) IBM Corp. 2004-2005
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _LIBSYSFS_H_
+#define _LIBSYSFS_H_
+
+#include <sys/types.h>
+#include <string.h>
+
+#define SYSFS_FSTYPE_NAME "sysfs"
+#define SYSFS_PROC_MNTS "/proc/mounts"
+#define SYSFS_BUS_NAME "bus"
+#define SYSFS_CLASS_NAME "class"
+#define SYSFS_BLOCK_NAME "block"
+#define SYSFS_DEVICES_NAME "devices"
+#define SYSFS_DRIVERS_NAME "drivers"
+#define SYSFS_MODULE_NAME "module"
+#define SYSFS_NAME_ATTRIBUTE "name"
+#define SYSFS_MOD_PARM_NAME "parameters"
+#define SYSFS_MOD_SECT_NAME "sections"
+#define SYSFS_UNKNOWN "unknown"
+#define SYSFS_PATH_ENV "SYSFS_PATH"
+
+#define SYSFS_PATH_MAX 256
+#define SYSFS_NAME_LEN 64
+#define SYSFS_BUS_ID_SIZE 32
+
+/* mount path for sysfs, can be overridden by exporting SYSFS_PATH */
+#define SYSFS_MNT_PATH "/sys"
+
+enum sysfs_attribute_method {
+ SYSFS_METHOD_SHOW = 0x01, /* attr can be read by user */
+ SYSFS_METHOD_STORE = 0x02, /* attr can be changed by user */
+};
+
+/*
+ * NOTE:
+ * 1. We have the statically allocated "name" as the first element of all
+ * the structures. This feature is used in the "sorter" function for dlists
+ * 2. As is the case with attrlist
+ * 3. As is the case with path
+ */
+struct sysfs_attribute {
+ char name[SYSFS_NAME_LEN];
+ char path[SYSFS_PATH_MAX];
+ char *value;
+ unsigned short len; /* value length */
+ enum sysfs_attribute_method method; /* show and store */
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Function Prototypes
+ */
+extern int sysfs_get_name_from_path(const char *path, char *name, size_t len);
+
+/* sysfs directory and file access */
+extern void sysfs_close_attribute(struct sysfs_attribute *sysattr);
+extern struct sysfs_attribute *sysfs_open_attribute(const char *path);
+extern int sysfs_read_attribute(struct sysfs_attribute *sysattr);
+extern int sysfs_write_attribute(struct sysfs_attribute *sysattr,
+ const char *new_value, size_t len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LIBSYSFS_H_ */
diff --git a/mdk-stage1/sysfs/sysfs.h b/mdk-stage1/sysfs/sysfs.h
new file mode 100644
index 000000000..76754a421
--- /dev/null
+++ b/mdk-stage1/sysfs/sysfs.h
@@ -0,0 +1,64 @@
+/*
+ * sysfs.h
+ *
+ * Internal Header Definitions for libsysfs
+ *
+ * Copyright (C) IBM Corp. 2003-2005
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#ifndef _SYSFS_H_
+#define _SYSFS_H_
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <ctype.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#define safestrcpy(to, from) strncpy(to, from, sizeof(to)-1)
+#define safestrcat(to, from) strncat(to, from, sizeof(to) - strlen(to)-1)
+
+#define safestrcpymax(to, from, max) \
+do { \
+ to[max-1] = '\0'; \
+ strncpy(to, from, max-1); \
+} while (0)
+
+#define safestrcatmax(to, from, max) \
+do { \
+ to[max-1] = '\0'; \
+ strncat(to, from, max - strlen(to)-1); \
+} while (0)
+
+extern struct sysfs_attribute *get_attribute(void *dev, const char *name);
+extern struct dlist *read_dir_subdirs(const char *path);
+extern struct dlist *read_dir_links(const char *path);
+extern struct dlist *get_dev_attributes_list(void *dev);
+extern struct dlist *get_attributes_list(struct dlist *alist, const char *path);
+
+/* Debugging */
+#ifdef DEBUG
+#define dprintf(format, arg...) fprintf(stderr, format, ## arg)
+#else
+#define dprintf(format, arg...) do { } while (0)
+#endif
+
+#endif /* _SYSFS_H_ */
diff --git a/mdk-stage1/sysfs/sysfs_attr.c b/mdk-stage1/sysfs/sysfs_attr.c
new file mode 100644
index 000000000..6d6771188
--- /dev/null
+++ b/mdk-stage1/sysfs/sysfs_attr.c
@@ -0,0 +1,241 @@
+/*
+ * sysfs_dir.c
+ *
+ * Directory utility functions for libsysfs
+ *
+ * Copyright (C) IBM Corp. 2003-2005
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include "libsysfs.h"
+#include "sysfs.h"
+
+/**
+ * sysfs_close_attribute: closes and cleans up attribute
+ * @sysattr: attribute to close.
+ */
+void sysfs_close_attribute(struct sysfs_attribute *sysattr)
+{
+ if (sysattr) {
+ if (sysattr->value)
+ free(sysattr->value);
+ free(sysattr);
+ }
+}
+
+/**
+ * alloc_attribute: allocates and initializes attribute structure
+ * returns struct sysfs_attribute with success and NULL with error.
+ */
+static struct sysfs_attribute *alloc_attribute(void)
+{
+ return (struct sysfs_attribute *)
+ calloc(1, sizeof(struct sysfs_attribute));
+}
+
+/**
+ * sysfs_open_attribute: creates sysfs_attribute structure
+ * @path: path to attribute.
+ * returns sysfs_attribute struct with success and NULL with error.
+ */
+struct sysfs_attribute *sysfs_open_attribute(const char *path)
+{
+ struct sysfs_attribute *sysattr = NULL;
+ struct stat fileinfo;
+
+ if (!path) {
+ errno = EINVAL;
+ return NULL;
+ }
+ sysattr = alloc_attribute();
+ if (!sysattr) {
+ dprintf("Error allocating attribute at %s\n", path);
+ return NULL;
+ }
+ if (sysfs_get_name_from_path(path, sysattr->name,
+ SYSFS_NAME_LEN) != 0) {
+ dprintf("Error retrieving attrib name from path: %s\n", path);
+ sysfs_close_attribute(sysattr);
+ return NULL;
+ }
+ safestrcpy(sysattr->path, path);
+ if ((stat(sysattr->path, &fileinfo)) != 0) {
+ dprintf("Stat failed: No such attribute?\n");
+ sysattr->method = 0;
+ free(sysattr);
+ sysattr = NULL;
+ } else {
+ if (fileinfo.st_mode & S_IRUSR)
+ sysattr->method |= SYSFS_METHOD_SHOW;
+ if (fileinfo.st_mode & S_IWUSR)
+ sysattr->method |= SYSFS_METHOD_STORE;
+ }
+
+ return sysattr;
+}
+
+/**
+ * sysfs_read_attribute: reads value from attribute
+ * @sysattr: attribute to read
+ * returns 0 with success and -1 with error.
+ */
+int sysfs_read_attribute(struct sysfs_attribute *sysattr)
+{
+ char *fbuf = NULL;
+ char *vbuf = NULL;
+ ssize_t length = 0;
+ long pgsize = 0;
+ int fd;
+
+ if (!sysattr) {
+ errno = EINVAL;
+ return -1;
+ }
+ if (!(sysattr->method & SYSFS_METHOD_SHOW)) {
+ dprintf("Show method not supported for attribute %s\n",
+ sysattr->path);
+ errno = EACCES;
+ return -1;
+ }
+ pgsize = getpagesize();
+ fbuf = (char *)calloc(1, pgsize+1);
+ if (!fbuf) {
+ dprintf("calloc failed\n");
+ return -1;
+ }
+ if ((fd = open(sysattr->path, O_RDONLY)) < 0) {
+ dprintf("Error reading attribute %s\n", sysattr->path);
+ free(fbuf);
+ return -1;
+ }
+ length = read(fd, fbuf, pgsize);
+ if (length < 0) {
+ dprintf("Error reading from attribute %s\n", sysattr->path);
+ close(fd);
+ free(fbuf);
+ return -1;
+ }
+ if (sysattr->len > 0) {
+ if ((sysattr->len == length) &&
+ (!(strncmp(sysattr->value, fbuf, length)))) {
+ close(fd);
+ free(fbuf);
+ return 0;
+ }
+ free(sysattr->value);
+ }
+ sysattr->len = length;
+ close(fd);
+ vbuf = (char *)realloc(fbuf, length+1);
+ if (!vbuf) {
+ dprintf("realloc failed\n");
+ free(fbuf);
+ return -1;
+ }
+ sysattr->value = vbuf;
+
+ return 0;
+}
+
+/**
+ * sysfs_write_attribute: write value to the attribute
+ * @sysattr: attribute to write
+ * @new_value: value to write
+ * @len: length of "new_value"
+ * returns 0 with success and -1 with error.
+ */
+int sysfs_write_attribute(struct sysfs_attribute *sysattr,
+ const char *new_value, size_t len)
+{
+ int fd;
+ int length;
+
+ if (!sysattr || !new_value || len == 0) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (!(sysattr->method & SYSFS_METHOD_STORE)) {
+ dprintf ("Store method not supported for attribute %s\n",
+ sysattr->path);
+ errno = EACCES;
+ return -1;
+ }
+ if (sysattr->method & SYSFS_METHOD_SHOW) {
+ /*
+ * read attribute again to see if we can get an updated value
+ */
+ if ((sysfs_read_attribute(sysattr))) {
+ dprintf("Error reading attribute\n");
+ return -1;
+ }
+ if ((strncmp(sysattr->value, new_value, sysattr->len)) == 0 &&
+ (len == sysattr->len)) {
+ dprintf("Attr %s already has the requested value %s\n",
+ sysattr->name, new_value);
+ return 0;
+ }
+ }
+ /*
+ * open O_WRONLY since some attributes have no "read" but only
+ * "write" permission
+ */
+ if ((fd = open(sysattr->path, O_WRONLY)) < 0) {
+ dprintf("Error reading attribute %s\n", sysattr->path);
+ return -1;
+ }
+
+ length = write(fd, new_value, len);
+ if (length < 0) {
+ dprintf("Error writing to the attribute %s - invalid value?\n",
+ sysattr->name);
+ close(fd);
+ return -1;
+ } else if ((unsigned int)length != len) {
+ dprintf("Could not write %zd bytes to attribute %s\n",
+ len, sysattr->name);
+ /*
+ * since we could not write user supplied number of bytes,
+ * restore the old value if one available
+ */
+ if (sysattr->method & SYSFS_METHOD_SHOW) {
+ length = write(fd, sysattr->value, sysattr->len);
+ close(fd);
+ return -1;
+ }
+ }
+
+ /*
+ * Validate length that has been copied. Alloc appropriate area
+ * in sysfs_attribute. Verify first if the attribute supports reading
+ * (show method). If it does not, do not bother
+ */
+ if (sysattr->method & SYSFS_METHOD_SHOW) {
+ if (length != sysattr->len) {
+ sysattr->value = (char *)realloc
+ (sysattr->value, length);
+ sysattr->len = length;
+ safestrcpymax(sysattr->value, new_value, length);
+ } else {
+ /*"length" of the new value is same as old one */
+ safestrcpymax(sysattr->value, new_value, length);
+ }
+ }
+
+ close(fd);
+ return 0;
+}
+
diff --git a/mdk-stage1/sysfs/sysfs_utils.c b/mdk-stage1/sysfs/sysfs_utils.c
new file mode 100644
index 000000000..a0354a8f8
--- /dev/null
+++ b/mdk-stage1/sysfs/sysfs_utils.c
@@ -0,0 +1,59 @@
+/*
+ * sysfs_utils.c
+ *
+ * System utility functions for libsysfs
+ *
+ * Copyright (C) IBM Corp. 2003-2005
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include "libsysfs.h"
+#include "sysfs.h"
+
+/**
+ * sysfs_get_name_from_path: returns last name from a "/" delimited path
+ * @path: path to get name from
+ * @name: where to put name
+ * @len: size of name
+ */
+int sysfs_get_name_from_path(const char *path, char *name, size_t len)
+{
+ char tmp[SYSFS_PATH_MAX];
+ char *n = NULL;
+
+ if (!path || !name || len == 0) {
+ errno = EINVAL;
+ return -1;
+ }
+ memset(tmp, 0, SYSFS_PATH_MAX);
+ safestrcpy(tmp, path);
+ n = strrchr(tmp, '/');
+ if (n == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
+ if (*(n+1) == '\0') {
+ *n = '\0';
+ n = strrchr(tmp, '/');
+ if (n == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
+ }
+ n++;
+ safestrcpymax(name, n, len);
+ return 0;
+}
diff --git a/mdk-stage1/thirdparty.c b/mdk-stage1/thirdparty.c
new file mode 100644
index 000000000..8c73bd88e
--- /dev/null
+++ b/mdk-stage1/thirdparty.c
@@ -0,0 +1,458 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Olivier Blin (oblin@mandrakesoft.com)
+ *
+ * Copyright 2005 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/mount.h>
+#include <sys/utsname.h>
+
+#include "stage1.h"
+#include "log.h"
+#include "modules.h"
+#include "mount.h"
+#include "frontend.h"
+#include "partition.h"
+#include "automatic.h"
+#include "probing.h"
+
+#include "thirdparty.h"
+
+#define THIRDPARTY_MOUNT_LOCATION "/tmp/thirdparty"
+
+#define N_PCITABLE_ENTRIES 100
+static struct pcitable_entry pcitable[N_PCITABLE_ENTRIES];
+static int pcitable_len = 0;
+
+static enum return_type thirdparty_choose_device(char ** device, int probe_only)
+{
+ char ** medias, ** medias_models;
+ char ** ptr, ** ptr_models;
+#ifndef DISABLE_DISK
+ char ** disk_medias, ** disk_medias_models;
+ int disk_count;
+ char * parts[50];
+ char * parts_comments[50];
+#endif
+#ifndef DISABLE_CDROM
+ char ** cdrom_medias, ** cdrom_medias_models;
+ int cdrom_count;
+#endif
+ char * floppy_dev;
+ enum return_type results;
+ int count = 0;
+
+ wait_message("Looking for floppy, disk and cdrom devices ...");
+
+#ifndef DISABLE_DISK
+ disk_count = get_disks(&disk_medias, &disk_medias_models);
+ count += disk_count;
+#endif
+#ifndef DISABLE_CDROM
+ cdrom_count = get_cdroms(&cdrom_medias, &cdrom_medias_models);
+ count += cdrom_count;
+#endif
+
+ floppy_dev = floppy_device();
+ if (strstr(floppy_dev, "/dev/") == floppy_dev) {
+ floppy_dev = floppy_dev + 5;
+ }
+ if (floppy_dev)
+ count += 1;
+
+ remove_wait_message();
+
+ if (count == 0) {
+ stg1_error_message("I can't find any floppy, disk or cdrom on this system. "
+ "No third-party kernel modules will be used.");
+ return RETURN_BACK;
+ }
+
+ if (probe_only) {
+#ifndef DISABLE_DISK
+ free(disk_medias);
+ free(disk_medias_models);
+#endif
+#ifndef DISABLE_CDROM
+ free(cdrom_medias);
+ free(cdrom_medias_models);
+#endif
+ return RETURN_OK;
+ }
+
+ ptr = medias = malloc((count + 1) * sizeof(char *));
+ ptr_models =medias_models = malloc((count + 1) * sizeof(char *));
+#ifndef DISABLE_DISK
+ memcpy(ptr, disk_medias, disk_count * sizeof(char *));
+ memcpy(ptr_models, disk_medias_models, disk_count * sizeof(char *));
+ free(disk_medias);
+ free(disk_medias_models);
+ ptr += disk_count;
+ ptr_models += disk_count;
+#endif
+#ifndef DISABLE_CDROM
+ memcpy(ptr, cdrom_medias, cdrom_count * sizeof(char *));
+ memcpy(ptr_models, cdrom_medias_models, cdrom_count * sizeof(char *));
+ free(cdrom_medias);
+ free(cdrom_medias_models);
+ cdrom_medias = ptr; /* used later to know if a cdrom is selected */
+ ptr += cdrom_count;
+ ptr_models += cdrom_count;
+#endif
+ if (floppy_dev) {
+ ptr[0] = floppy_dev;
+ ptr_models[0] = "Floppy device";
+ ptr++;
+ ptr_models++;
+ }
+ ptr[0] = NULL;
+ ptr_models[0] = NULL;
+
+ if (count == 1) {
+ *device = medias[0];
+ } else {
+ results = ask_from_list_comments("If you want to insert third-party kernel modules, "
+ "please select the disk containing the modules.",
+ medias, medias_models, device);
+ if (results != RETURN_OK)
+ return results;
+ }
+
+ if (streq(*device, floppy_dev)) {
+ /* a floppy is selected, don't try to list partitions */
+ return RETURN_OK;
+ }
+
+#ifndef DISABLE_CDROM
+ for (ptr = cdrom_medias; ptr < cdrom_medias + cdrom_count; ptr++) {
+ if (*device == *ptr) {
+ /* a cdrom is selected, don't try to list partitions */
+ log_message("thirdparty: a cdrom is selected, using it (%s)", *device);
+ return RETURN_OK;
+ }
+ }
+#endif
+
+#ifndef DISABLE_DISK
+ /* a disk or usb key is selected */
+ if (list_partitions(*device, parts, parts_comments)) {
+ stg1_error_message("Could not read partitions information.");
+ return RETURN_ERROR;
+ }
+
+ if (parts[0] == NULL) {
+ stg1_error_message("No partition found.");
+ return RETURN_ERROR;
+ }
+
+ /* only one partition has been discovered, don't ask which one to use */
+ if (parts[1] == NULL) {
+ log_message("thirdparty: found only one partition on device (%s)", parts[0]);
+ *device = parts[0];
+ return RETURN_OK;
+ }
+
+ results = ask_from_list_comments("Please select the partition containing "
+ "the third party modules.",
+ parts, parts_comments, device);
+ if (results == RETURN_OK)
+ return RETURN_OK;
+#endif
+
+ stg1_error_message("Sorry, no third party device can be used.");
+
+ return RETURN_BACK;
+}
+
+
+static enum return_type thirdparty_mount_device(char * device)
+{
+ log_message("third party: trying to mount device %s", device);
+ if (try_mount(device, THIRDPARTY_MOUNT_LOCATION) != 0) {
+ stg1_error_message("I can't mount the selected device (%s).", device);
+ return RETURN_ERROR;
+ }
+ return RETURN_OK;
+}
+
+
+static enum return_type thirdparty_prompt_modules(const char *modules_location, char ** modules_list)
+{
+ enum return_type results;
+ char final_name[500];
+ char *module_name;
+ int rc;
+ char * questions[] = { "Options", NULL };
+ static char ** answers = NULL;
+
+ while (1) {
+ results = ask_from_list("Which driver would you like to insmod?", modules_list, &module_name);
+ if (results != RETURN_OK)
+ break;
+
+ sprintf(final_name, "%s/%s", modules_location, module_name);
+
+ results = ask_from_entries("Please enter the options:", questions, &answers, 24, NULL);
+ if (results != RETURN_OK)
+ continue;
+
+ rc = insmod_local_file(final_name, answers[0]);
+ if (rc) {
+ log_message("\tfailed");
+ stg1_error_message("Insmod failed.");
+ }
+ }
+ return RETURN_OK;
+}
+
+
+static int pcitable_orderer(const void *a, const void *b)
+{
+ int ret;
+ struct pcitable_entry *ap = (struct pcitable_entry *)a;
+ struct pcitable_entry *bp = (struct pcitable_entry *)b;
+
+ if ((ret = ap->vendor - bp->vendor) != 0)
+ return ret;
+ if ((ret = ap->device - bp->device) != 0)
+ return ret;
+ if ((ret = ap->subvendor - bp->subvendor) != 0)
+ return ret;
+ if ((ret = ap->subdevice - bp->subdevice) != 0)
+ return ret;
+
+ return 0;
+}
+
+
+static void thirdparty_load_pcitable(const char *modules_location)
+{
+ char pcitable_filename[100];
+ FILE * f = NULL;
+
+ sprintf(pcitable_filename, "%s/pcitable", modules_location);
+ if (!(f = fopen(pcitable_filename, "rb"))) {
+ log_message("third_party: no external pcitable found");
+ return;
+ }
+ pcitable_len = 0;
+ while (pcitable_len < N_PCITABLE_ENTRIES) {
+ char buf[200];
+ struct pcitable_entry *e;
+ if (!fgets(buf, sizeof(buf), f)) break;
+ e = &pcitable[pcitable_len++];
+ if (sscanf(buf, "%hx\t%hx\t\"%[^ \"]\"\t\"%[^\"]\"", &e->vendor, &e->device, e->module, e->description) == 4)
+ e->subvendor = e->subdevice = PCITABLE_MATCH_ALL;
+ else
+ sscanf(buf, "%hx\t%hx\t%x\t%x\t\"%[^ \"]\"\t\"%[^\"]\"", &e->vendor, &e->device, &e->subvendor, &e->subdevice, e->module, e->description);
+ }
+ fclose(f);
+
+ /* sort pcitable by most specialised entries first */
+ qsort(pcitable, pcitable_len, sizeof(pcitable[0]), pcitable_orderer);
+}
+
+
+static int thirdparty_is_detected(char *driver) {
+ int i, j;
+
+ for (i = 0; i < detected_devices_len ; i++) {
+ /* first look for the IDs in the third-party pcitable */
+ for (j = 0; j < pcitable_len ; j++) {
+ if (pcitable[j].vendor == detected_devices[i].vendor &&
+ pcitable[j].device == detected_devices[i].device &&
+ !strcmp(pcitable[j].module, driver)) {
+ const int subvendor = pcitable[j].subvendor;
+ const int subdevice = pcitable[j].subdevice;
+ if ((subvendor == PCITABLE_MATCH_ALL && subdevice == PCITABLE_MATCH_ALL) ||
+ (subvendor == detected_devices[i].subvendor && subdevice == detected_devices[i].subdevice)) {
+ log_message("probing: found device for module %s", driver);
+ return 1;
+ }
+ }
+ }
+ /* if not found, compare with the detected driver */
+ if (!strcmp(detected_devices[i].module, driver)) {
+ log_message("probing: found device for module %s", driver);
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+static enum return_type thirdparty_autoload_modules(const char *modules_location, char ** modules_list, FILE *f, int load_detected_only)
+{
+ while (1) {
+ char final_name[500];
+ char module[500];
+ char * options;
+ char ** entry = modules_list;
+
+ if (!fgets(module, sizeof(module), f)) break;
+ if (module[0] == '#' || strlen(module) == 0)
+ continue;
+
+ while (module[strlen(module)-1] == '\n')
+ module[strlen(module)-1] = '\0';
+ options = strchr(module, ' ');
+ if (options) {
+ options[0] = '\0';
+ options++;
+ }
+
+ if (load_detected_only && !thirdparty_is_detected(module)) {
+ log_message("third party: no device detected for module %s, skipping", module);
+ continue;
+ }
+
+ log_message("third party: auto-loading module (%s) with options (%s)", module, options);
+ while (entry && *entry) {
+ if (!strncmp(*entry, module, strlen(module)) && (*entry)[strlen(module)] == '.') {
+ sprintf(final_name, "%s/%s", modules_location, *entry);
+ if (insmod_local_file(final_name, options)) {
+ log_message("\t%s (third party media): failed", *entry);
+ stg1_error_message("Insmod %s (third party media) failed.", *entry);
+ }
+ break;
+ }
+ entry++;
+ }
+ if (!entry || !*entry) {
+ enum insmod_return ret = my_insmod(module, ANY_DRIVER_TYPE, options, 0);
+ if (ret != INSMOD_OK) {
+ log_message("\t%s (marfile): failed", module);
+ stg1_error_message("Insmod %s (marfile) failed.", module);
+ }
+ }
+ }
+
+ return RETURN_OK;
+}
+
+static enum return_type thirdparty_try_directory(char * root_directory, int interactive) {
+ char modules_location[100];
+ char modules_location_release[100];
+ char *list_filename;
+ FILE *f_load, *f_detect;
+ char **modules_list, **modules_list_release;
+ struct utsname kernel_uname;
+
+ /* look first in the specific third-party directory */
+ snprintf(modules_location, sizeof(modules_location), "%s" THIRDPARTY_DIRECTORY, root_directory);
+ modules_list = list_directory(modules_location);
+
+ /* if it's empty, look in the root of selected device */
+ if (!modules_list || !modules_list[0]) {
+ modules_location[strlen(root_directory)] = '\0';
+ modules_list = list_directory(modules_location);
+ if (interactive)
+ add_to_env("THIRDPARTY_DIR", "");
+ } else {
+ if (interactive)
+ add_to_env("THIRDPARTY_DIR", THIRDPARTY_DIRECTORY);
+ }
+
+ if (uname(&kernel_uname)) {
+ log_perror("uname failed");
+ return RETURN_ERROR;
+ }
+ snprintf(modules_location_release, sizeof(modules_location_release), "%s/%s", modules_location, kernel_uname.release);
+ modules_list_release = list_directory(modules_location_release);
+ if (modules_list_release && modules_list_release[0]) {
+ strcpy(modules_location, modules_location_release);
+ modules_list = modules_list_release;
+ }
+
+ log_message("third party: using modules location %s", modules_location);
+
+ if (!modules_list || !*modules_list) {
+ log_message("third party: no modules found");
+ if (interactive)
+ stg1_error_message("No modules found on selected device.");
+ return RETURN_ERROR;
+ }
+
+ list_filename = alloca(strlen(modules_location) + 10 /* max: "/to_detect" */ + 1);
+
+ sprintf(list_filename, "%s/to_load", modules_location);
+ f_load = fopen(list_filename, "rb");
+ if (f_load) {
+ thirdparty_autoload_modules(modules_location, modules_list, f_load, 0);
+ fclose(f_load);
+ }
+
+ sprintf(list_filename, "%s/to_detect", modules_location);
+ f_detect = fopen(list_filename, "rb");
+ if (f_detect) {
+ probing_detect_devices();
+ thirdparty_load_pcitable(modules_location);
+ thirdparty_autoload_modules(modules_location, modules_list, f_detect, 1);
+ fclose(f_detect);
+ }
+
+ if (f_load || f_detect)
+ return RETURN_OK;
+ else if (interactive) {
+ if (IS_AUTOMATIC)
+ stg1_error_message("I can't find a \"to_load\" file. Please select the modules manually.");
+ log_message("third party: no \"to_load\" file, prompting for modules");
+ return thirdparty_prompt_modules(modules_location, modules_list);
+ } else {
+ return RETURN_OK;
+ }
+}
+
+void thirdparty_load_media_modules(void)
+{
+ thirdparty_try_directory(IMAGE_LOCATION, 0);
+}
+
+void thirdparty_load_modules(void)
+{
+ enum return_type results;
+ char * device;
+
+ device = NULL;
+ if (IS_AUTOMATIC) {
+ device = get_auto_value("thirdparty");
+ thirdparty_choose_device(NULL, 1); /* probe only to create devices */
+ log_message("third party: trying automatic device %s", device);
+ if (thirdparty_mount_device(device) != RETURN_OK)
+ device = NULL;
+ }
+
+ while (!device || streq(device, "")) {
+ results = thirdparty_choose_device(&device, 0);
+ if (results == RETURN_BACK)
+ return;
+ if (thirdparty_mount_device(device) != RETURN_OK)
+ device = NULL;
+ }
+
+ log_message("third party: using device %s", device);
+ add_to_env("THIRDPARTY_DEVICE", device);
+
+ results = thirdparty_try_directory(THIRDPARTY_MOUNT_LOCATION, 1);
+ umount(THIRDPARTY_MOUNT_LOCATION);
+
+ if (results != RETURN_OK)
+ return thirdparty_load_modules();
+}
+
+void thirdparty_destroy(void)
+{
+ probing_destroy();
+}
diff --git a/mdk-stage1/thirdparty.h b/mdk-stage1/thirdparty.h
new file mode 100644
index 000000000..c999d6a58
--- /dev/null
+++ b/mdk-stage1/thirdparty.h
@@ -0,0 +1,35 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ * Olivier Blin (oblin@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _THIRDPARTY_H_
+#define _THIRDPARTY_H_
+
+#define THIRDPARTY_DIRECTORY "/install/thirdparty"
+
+/* load third party modules present on install media
+ * use to_load and to_detect files in /install/thirdparty
+ * do not prompt user
+ */
+void thirdparty_load_media_modules(void);
+
+/* load modules if to_load or to_detect files are present
+ * prompt user if no to_load file is present
+ */
+void thirdparty_load_modules(void);
+
+/* destroy all data structures related to the thirdparty module */
+void thirdparty_destroy(void);
+
+#endif
diff --git a/mdk-stage1/tools.c b/mdk-stage1/tools.c
new file mode 100644
index 000000000..baba72b0d
--- /dev/null
+++ b/mdk-stage1/tools.c
@@ -0,0 +1,614 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <dirent.h>
+#include <sys/types.h>
+#include <sys/mount.h>
+#include <sys/poll.h>
+#include <errno.h>
+#include <sys/utsname.h>
+#include <sys/ioctl.h>
+#include <linux/fd.h>
+#include "stage1.h"
+#include "log.h"
+#include "mount.h"
+#include "frontend.h"
+#include "automatic.h"
+
+#include "tools.h"
+#include "probing.h"
+#include "modules.h"
+#include "lomount.h"
+
+static struct param_elem params[50];
+static int param_number = 0;
+
+void process_cmdline(void)
+{
+ char buf[512];
+ int size, i;
+ int fd = -1;
+
+ if (IS_TESTING) {
+ log_message("TESTING: opening cmdline... ");
+
+ if ((fd = open("cmdline", O_RDONLY)) == -1)
+ log_message("TESTING: could not open cmdline");
+ }
+
+ if (fd == -1) {
+ log_message("opening /proc/cmdline... ");
+
+ if ((fd = open("/proc/cmdline", O_RDONLY)) == -1)
+ fatal_error("could not open /proc/cmdline");
+ }
+
+ size = read(fd, buf, sizeof(buf));
+ buf[size-1] = '\0'; // -1 to eat the \n
+ close(fd);
+
+ log_message("\t%s", buf);
+
+ i = 0;
+ while (buf[i] != '\0') {
+ char *name, *value = NULL;
+ int j = i;
+ while (buf[i] != ' ' && buf[i] != '=' && buf[i] != '\0')
+ i++;
+ if (i == j) {
+ i++;
+ continue;
+ }
+ name = memdup(&buf[j], i-j + 1);
+ name[i-j] = '\0';
+
+ if (buf[i] == '=') {
+ int k = i+1;
+ i++;
+ while (buf[i] != ' ' && buf[i] != '\0')
+ i++;
+ value = memdup(&buf[k], i-k + 1);
+ value[i-k] = '\0';
+ }
+
+ params[param_number].name = name;
+ params[param_number].value = value;
+ param_number++;
+ if (!strcmp(name, "changedisk")) set_param(MODE_CHANGEDISK);
+ if (!strcmp(name, "updatemodules") ||
+ !strcmp(name, "thirdparty")) set_param(MODE_THIRDPARTY);
+ if (!strcmp(name, "rescue")) set_param(MODE_RESCUE);
+ if (!strcmp(name, "keepmounted")) set_param(MODE_KEEP_MOUNTED);
+ if (!strcmp(name, "noauto")) set_param(MODE_NOAUTO);
+ if (!strcmp(name, "netauto")) set_param(MODE_NETAUTO);
+ if (!strcmp(name, "debugstage1")) set_param(MODE_DEBUGSTAGE1);
+ if (!strcmp(name, "automatic")) {
+ set_param(MODE_AUTOMATIC);
+ grab_automatic_params(value);
+ }
+ if (buf[i] == '\0')
+ break;
+ i++;
+ }
+
+ if (IS_AUTOMATIC && strcmp(get_auto_value("thirdparty"), "")) {
+ set_param(MODE_THIRDPARTY);
+ }
+
+ log_message("\tgot %d args", param_number);
+}
+
+
+int stage1_mode = 0;
+
+int get_param(int i)
+{
+#ifdef SPAWN_INTERACTIVE
+ static int fd = 0;
+ char buf[5000];
+ char * ptr;
+ int nb;
+
+ if (fd <= 0) {
+ fd = open(interactive_fifo, O_RDONLY);
+ if (fd == -1)
+ return (stage1_mode & i);
+ fcntl(fd, F_SETFL, O_NONBLOCK);
+ }
+
+ if (fd > 0) {
+ if ((nb = read(fd, buf, sizeof(buf))) > 0) {
+ buf[nb] = '\0';
+ ptr = buf;
+ while ((ptr = strstr(ptr, "+ "))) {
+ if (!strncmp(ptr+2, "rescue", 6)) set_param(MODE_RESCUE);
+ ptr++;
+ }
+ ptr = buf;
+ while ((ptr = strstr(ptr, "- "))) {
+ if (!strncmp(ptr+2, "rescue", 6)) unset_param(MODE_RESCUE);
+ ptr++;
+ }
+ }
+ }
+#endif
+
+ return (stage1_mode & i);
+}
+
+char * get_param_valued(char *param_name)
+{
+ int i;
+ for (i = 0; i < param_number ; i++)
+ if (!strcmp(params[i].name, param_name))
+ return params[i].value;
+
+ return NULL;
+}
+
+void set_param_valued(char *param_name, char *param_value)
+{
+ params[param_number].name = param_name;
+ params[param_number].value = param_value;
+ param_number++;
+}
+
+void set_param(int i)
+{
+ stage1_mode |= i;
+}
+
+void unset_param(int i)
+{
+ stage1_mode &= ~i;
+}
+
+void unset_automatic(void)
+{
+ log_message("unsetting automatic");
+ unset_param(MODE_AUTOMATIC);
+ exit_bootsplash();
+}
+
+// warning, many things rely on the fact that:
+// - when failing it returns 0
+// - it stops on first non-digit char
+int charstar_to_int(const char * s)
+{
+ int number = 0;
+ while (*s && isdigit(*s)) {
+ number = (number * 10) + (*s - '0');
+ s++;
+ }
+ return number;
+}
+
+off_t file_size(const char * path)
+{
+ struct stat statr;
+ if (stat(path, &statr))
+ return -1;
+ else
+ return statr.st_size;
+}
+
+int total_memory(void)
+{
+ int value;
+
+ /* drakx powered: use /proc/kcore and rounds every 4 Mbytes */
+ value = 4 * ((int)((float)file_size("/proc/kcore") / 1024 / 1024 / 4 + 0.5));
+ log_message("Total Memory: %d Mbytes", value);
+
+ return value;
+}
+
+
+int image_has_stage2()
+{
+ return access(COMPRESSED_FILE_REL(IMAGE_LOCATION "/"), R_OK) == 0 ||
+ access(IMAGE_LOCATION "/" LIVE_LOCATION_REL, R_OK) == 0;
+}
+
+int ramdisk_possible(void)
+{
+ if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE : MEM_LIMIT_DRAKX))
+ return 1;
+ else {
+ log_message("warning, ramdisk is not possible due to low mem!");
+ return 0;
+ }
+}
+
+int compressed_image_preload(void)
+{
+ if (total_memory() > (IS_RESCUE ? MEM_LIMIT_RESCUE_PRELOAD : MEM_LIMIT_DRAKX_PRELOAD))
+ return 1;
+ else {
+ log_message("warning, not preloading compressed due to low mem");
+ return 0;
+ }
+}
+
+enum return_type save_fd(int from_fd, char * to, void (*callback_func)(int overall))
+{
+ FILE * f_to;
+ size_t quantity __attribute__((aligned(16))), overall = 0;
+ char buf[4096] __attribute__((aligned(4096)));
+ int ret = RETURN_ERROR;
+
+ if (!(f_to = fopen(to, "w"))) {
+ log_perror(to);
+ goto close_from;
+ }
+
+ do {
+ quantity = read(from_fd, buf, sizeof(buf));
+ if (quantity > 0) {
+ if (fwrite(buf, 1, quantity, f_to) != quantity) {
+ log_message("short write (%s)", strerror(errno));
+ goto cleanup;
+ }
+ } else if (quantity == -1) {
+ log_message("an error occured: %s", strerror(errno));
+ goto cleanup;
+ }
+
+ if (callback_func) {
+ overall += quantity;
+ callback_func(overall);
+ }
+ } while (quantity);
+
+ ret = RETURN_OK;
+
+ cleanup:
+ fclose(f_to);
+ close_from:
+ close(from_fd);
+
+ return ret;
+}
+
+enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall))
+{
+ int from_fd;
+
+ log_message("copy_file: %s -> %s", from, to);
+
+ from_fd = open(from, O_RDONLY);
+ if (from_fd != -1) {
+ return save_fd(from_fd, to, callback_func);
+ } else {
+ log_perror(from);
+ return RETURN_ERROR;
+ }
+}
+
+enum return_type recursiveRemove(char *file)
+{
+ struct stat sb;
+
+ if (lstat(file, &sb) != 0) {
+ log_message("failed to stat %s: %d", file, errno);
+ return RETURN_ERROR;
+ }
+
+ /* only descend into subdirectories if device is same as dir */
+ if (S_ISDIR(sb.st_mode)) {
+ char * strBuf = alloca(strlen(file) + 1024);
+ DIR * dir;
+ struct dirent * d;
+
+ if (!(dir = opendir(file))) {
+ log_message("error opening %s: %d", file, errno);
+ return RETURN_ERROR;
+ }
+ while ((d = readdir(dir))) {
+ if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
+ continue;
+
+ strcpy(strBuf, file);
+ strcat(strBuf, "/");
+ strcat(strBuf, d->d_name);
+
+ if (recursiveRemove(strBuf) != 0) {
+ closedir(dir);
+ return RETURN_ERROR;
+ }
+ }
+ closedir(dir);
+
+ if (rmdir(file)) {
+ log_message("failed to rmdir %s: %d", file, errno);
+ return RETURN_ERROR;
+ }
+ } else {
+ if (unlink(file) != 0) {
+ log_message("failed to remove %s: %d", file, errno);
+ return RETURN_ERROR;
+ }
+ }
+ return RETURN_OK;
+}
+
+enum return_type recursiveRemove_if_it_exists(char *file)
+{
+ struct stat sb;
+
+ if (lstat(file, &sb) != 0) {
+ /* if file doesn't exist, simply return OK */
+ return RETURN_OK;
+ }
+
+ return recursiveRemove(file);
+}
+
+enum return_type mount_compressed_image(char *compressed_image, char *location_mount)
+{
+ if (lomount(compressed_image, location_mount, NULL, 1)) {
+ stg1_error_message("Could not mount compressed loopback :(.");
+ return RETURN_ERROR;
+ }
+ return RETURN_OK;
+}
+
+enum return_type preload_mount_compressed_fd(int compressed_fd, int image_size, char *image_name, char *location_mount)
+{
+ int ret;
+ char *compressed_tmpfs = asprintf_("/tmp/%s", image_name);
+ char *buf = "Loading program into memory...";
+ init_progression(buf, image_size);
+ ret = save_fd(compressed_fd, compressed_tmpfs, update_progression);
+ end_progression();
+ if (ret != RETURN_OK)
+ return ret;
+
+ return mount_compressed_image(compressed_tmpfs, location_mount);
+}
+
+enum return_type mount_compressed_image_may_preload(char *image_name, char *location_mount, int preload)
+{
+ char *compressed_image = asprintf_("%s/%s", COMPRESSED_LOCATION, image_name);
+
+ log_message("mount_compressed_may_preload: %s into %s (preload = %d)", compressed_image, location_mount, preload);
+
+ if (access(compressed_image, R_OK) != 0) return RETURN_ERROR;
+
+ if (preload) {
+ int compressed_fd = open(compressed_image, O_RDONLY);
+ if (compressed_fd != -1) {
+ return preload_mount_compressed_fd(compressed_fd, file_size(compressed_image), image_name, location_mount);
+ } else {
+ log_perror(compressed_image);
+ return RETURN_ERROR;
+ }
+ } else {
+ return mount_compressed_image(compressed_image, location_mount);
+ }
+}
+
+enum return_type may_load_compressed_image(void)
+{
+ if (!IS_RESCUE && access(IMAGE_LOCATION "/" LIVE_LOCATION_REL, R_OK) == 0) {
+ /* LIVE install */
+ return RETURN_OK;
+ } else {
+ /* compressed install */
+ return mount_compressed_image_may_preload(COMPRESSED_NAME(""), STAGE2_LOCATION, compressed_image_preload());
+ }
+}
+
+enum return_type load_compressed_fd(int fd, int size)
+{
+ return preload_mount_compressed_fd(fd, size, COMPRESSED_NAME(""), STAGE2_LOCATION);
+}
+
+/* pixel's */
+void * memdup(void *src, size_t size)
+{
+ void * r;
+ r = malloc(size);
+ memcpy(r, src, size);
+ return r;
+}
+
+
+void add_to_env(char * name, char * value)
+{
+ FILE* fakeenv = fopen("/tmp/env", "a");
+ if (fakeenv) {
+ char* e = asprintf_("%s=%s\n", name, value);
+ fwrite(e, 1, strlen(e), fakeenv);
+ free(e);
+ fclose(fakeenv);
+ } else
+ log_message("couldn't fopen to fake env");
+}
+
+
+char ** list_directory(char * direct)
+{
+ char * tmp[50000]; /* in /dev there can be many many files.. */
+ int i = 0;
+ struct dirent *ep;
+ DIR *dp = opendir(direct);
+ while (dp && (ep = readdir(dp))) {
+ if (strcmp(ep->d_name, ".") && strcmp(ep->d_name, "..")) {
+ tmp[i] = strdup(ep->d_name);
+ i++;
+ }
+ }
+ if (dp)
+ closedir(dp);
+ tmp[i] = NULL;
+ return memdup(tmp, sizeof(char*) * (i+1));
+}
+
+
+int string_array_length(char ** a)
+{
+ int i = 0;
+ if (!a)
+ return -1;
+ while (a && *a) {
+ a++;
+ i++;
+ }
+ return i;
+}
+
+int kernel_version(void)
+{
+ struct utsname val;
+ if (uname(&val)) {
+ log_perror("uname failed");
+ return -1;
+ }
+ return charstar_to_int(val.release + 2);
+}
+
+int try_mount(char * dev, char * location)
+{
+ char device_fullname[50];
+ snprintf(device_fullname, sizeof(device_fullname), "/dev/%s", dev);
+
+ if (my_mount(device_fullname, location, "ext2", 0) == -1 &&
+ my_mount(device_fullname, location, "vfat", 0) == -1 &&
+ my_mount(device_fullname, location, "ntfs", 0) == -1 &&
+ my_mount(device_fullname, location, "reiserfs", 0) == -1 &&
+ my_mount(device_fullname, location, "jfs", 0) == -1 &&
+ my_mount(device_fullname, location, "xfs", 0) == -1 &&
+ my_mount(device_fullname, location, "iso9660", 0) == -1) {
+ return 1;
+ }
+
+ return 0;
+}
+
+#ifndef DISABLE_DISK
+int get_disks(char *** names, char *** models)
+{
+ char ** ptr;
+ int count = 0;
+
+ my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL, 0);
+
+ get_medias(DISK, names, models, BUS_ANY);
+
+ ptr = *names;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
+ }
+
+ return count;
+}
+#endif
+
+#ifndef DISABLE_CDROM
+int get_cdroms(char *** names, char *** models)
+{
+ char ** ptr;
+ int count = 0;
+
+ my_insmod("ide-cd", ANY_DRIVER_TYPE, NULL, 0);
+ my_insmod("sr_mod", ANY_DRIVER_TYPE, NULL, 0);
+
+ get_medias(CDROM, names, models, BUS_ANY);
+
+ ptr = *names;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
+ }
+
+ return count;
+}
+#endif
+
+char * floppy_device(void)
+{
+ char ** names, ** models;
+ int fd;
+ my_insmod("floppy", ANY_DRIVER_TYPE, NULL, 0);
+ fd = open("/dev/fd0", O_RDONLY|O_NONBLOCK);
+ if (fd != -1) {
+ char drivtyp[17];
+ if (!ioctl(fd, FDGETDRVTYP, (void *)drivtyp)) {
+ struct floppy_drive_struct ds;
+ log_message("/dev/fd0 type: %s", drivtyp);
+ if (!ioctl(fd, FDPOLLDRVSTAT, &ds)) {
+ log_message("\ttrack: %d", ds.track);
+ if (ds.track >= 0) {
+ close(fd);
+ return "/dev/fd0";
+ }
+ }
+ } else {
+ log_perror("can't FDGETDRVTYP /dev/fd0");
+ }
+ close(fd);
+ }
+ log_message("seems that you don't have a regular floppy drive");
+ my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL, 0);
+ get_medias(FLOPPY, &names, &models, BUS_ANY);
+ if (names && *names)
+ return asprintf_("/dev/%s", *names);
+ else
+ return "/dev/fd0";
+}
+
+char * asprintf_(const char *msg, ...)
+{
+ int n;
+ char * s;
+ char dummy;
+ va_list arg_ptr;
+ va_start(arg_ptr, msg);
+ n = vsnprintf(&dummy, sizeof(dummy), msg, arg_ptr);
+ va_start(arg_ptr, msg);
+ if ((s = malloc(n + 1))) {
+ vsnprintf(s, n + 1, msg, arg_ptr);
+ va_end(arg_ptr);
+ return s;
+ }
+ va_end(arg_ptr);
+ return strdup("");
+}
+
+int scall_(int retval, char * msg, char * file, int line)
+{
+ char tmp[5000];
+ sprintf(tmp, "%s(%s:%d) failed", msg, file, line);
+ if (retval)
+ log_perror(tmp);
+ return retval;
+}
diff --git a/mdk-stage1/tools.h b/mdk-stage1/tools.h
new file mode 100644
index 000000000..fd5236a93
--- /dev/null
+++ b/mdk-stage1/tools.h
@@ -0,0 +1,73 @@
+
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan (ewt@redhat.com)
+ *
+ * Copyright 1996 Red Hat Software
+ *
+ */
+
+#ifndef _TOOLS_H_
+#define _TOOLS_H_
+
+#include <stdlib.h>
+#include "bootsplash.h"
+
+void process_cmdline(void);
+int get_param(int i);
+void set_param(int i);
+void unset_param(int i);
+void unset_automatic(void);
+int charstar_to_int(const char * s);
+off_t file_size(const char * path);
+int total_memory(void);
+int image_has_stage2();
+int ramdisk_possible(void);
+enum return_type copy_file(char * from, char * to, void (*callback_func)(int overall));
+enum return_type recursiveRemove(char *file);
+enum return_type recursiveRemove_if_it_exists(char *file);
+enum return_type preload_mount_compressed_fd(int compressed_fd, int image_size, char *image_name, char *location_mount);
+enum return_type mount_compressed_image(char *compressed_image, char *location_mount);
+enum return_type mount_compressed_image_may_preload(char *image_name, char *location_mount, int preload);
+enum return_type load_compressed_fd(int fd, int size);
+enum return_type may_load_compressed_image(void);
+void * memdup(void *src, size_t size);
+void add_to_env(char * name, char * value);
+char ** list_directory(char * direct);
+int string_array_length(char ** a);
+int kernel_version(void);
+int try_mount(char * dev, char * location);
+#ifndef DISABLE_DISK
+int get_disks(char *** names, char *** models);
+#endif
+#ifndef DISABLE_CDROM
+int get_cdroms(char *** names, char *** models);
+#endif
+char * floppy_device(void);
+char * asprintf_(const char *msg, ...);
+int scall_(int retval, char * msg, char * file, int line);
+#define scall(retval, msg) scall_(retval, msg, __FILE__, __LINE__)
+
+struct param_elem
+{
+ char * name;
+ char * value;
+};
+
+#define ptr_begins_static_str(pointer,static_str) (!strncmp(pointer,static_str,sizeof(static_str)-1))
+#define streq(a,b) (!strcmp(a,b))
+
+#endif
diff --git a/mdk-stage1/url.c b/mdk-stage1/url.c
new file mode 100644
index 000000000..640825cf5
--- /dev/null
+++ b/mdk-stage1/url.c
@@ -0,0 +1,559 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan <ewt@redhat.com> and Matt Wilson <msw@redhat.com>
+ *
+ * Copyright 1999 Red Hat, Inc.
+ *
+ */
+
+#include <alloca.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in_systm.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <netdb.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <strings.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <sys/poll.h>
+
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <arpa/inet.h>
+
+#include "dns.h"
+#include "log.h"
+#include "tools.h"
+
+#include "url.h"
+
+
+#define TIMEOUT_SECS 60
+#define BUFFER_SIZE 4096
+#define HTTP_MAX_RECURSION 5
+
+
+static int ftp_check_response(int sock, char ** str)
+{
+ static char buf[BUFFER_SIZE + 1];
+ int bufLength = 0;
+ struct pollfd polls;
+ char * chptr, * start;
+ int bytesRead, rc = 0;
+ int doesContinue = 1;
+ char errorCode[4];
+
+ errorCode[0] = '\0';
+
+ do {
+ polls.fd = sock;
+ polls.events = POLLIN;
+ if (poll(&polls, 1, TIMEOUT_SECS*1000) != 1)
+ return FTPERR_BAD_SERVER_RESPONSE;
+
+ bytesRead = read(sock, buf + bufLength, sizeof(buf) - bufLength - 1);
+
+ bufLength += bytesRead;
+
+ buf[bufLength] = '\0';
+
+ /* divide the response into lines, checking each one to see if
+ we are finished or need to continue */
+
+ start = chptr = buf;
+
+ do {
+ while (*chptr != '\n' && *chptr) chptr++;
+
+ if (*chptr == '\n') {
+ *chptr = '\0';
+ if (*(chptr - 1) == '\r') *(chptr - 1) = '\0';
+ if (str) *str = start;
+
+ if (errorCode[0]) {
+ if (!strncmp(start, errorCode, 3) && start[3] == ' ')
+ doesContinue = 0;
+ } else {
+ strncpy(errorCode, start, 3);
+ errorCode[3] = '\0';
+ if (start[3] != '-') {
+ doesContinue = 0;
+ }
+ }
+
+ start = chptr + 1;
+ chptr++;
+ } else {
+ chptr++;
+ }
+ } while (*chptr);
+
+ if (doesContinue && chptr > start) {
+ memcpy(buf, start, chptr - start - 1);
+ bufLength = chptr - start - 1;
+ } else {
+ bufLength = 0;
+ }
+ } while (doesContinue);
+
+ if (*errorCode == '4' || *errorCode == '5') {
+ if (!strncmp(errorCode, "550", 3)) {
+ return FTPERR_FILE_NOT_FOUND;
+ }
+
+ return FTPERR_BAD_SERVER_RESPONSE;
+ }
+
+ if (rc) return rc;
+
+ return 0;
+}
+
+static int ftp_command(int sock, char * command, char * param)
+{
+ char buf[500];
+ int rc;
+
+ snprintf(buf, sizeof(buf), "%s%s%s\r\n", command, param ? " " : "", param ? param : "");
+
+ if (write(sock, buf, strlen(buf)) != (ssize_t)strlen(buf)) {
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ if ((rc = ftp_check_response(sock, NULL)))
+ return rc;
+
+ return 0;
+}
+
+static int get_host_address(char * host, struct in_addr * address)
+{
+ if (isdigit(host[0])) {
+ if (!inet_aton(host, address)) {
+ return FTPERR_BAD_HOST_ADDR;
+ }
+ } else {
+ if (mygethostbyname(host, address))
+ return FTPERR_BAD_HOSTNAME;
+ }
+
+ return 0;
+}
+
+int ftp_open_connection(char * host, char * name, char * password, char * proxy)
+{
+ int sock;
+ struct in_addr serverAddress;
+ struct sockaddr_in destPort;
+ int rc;
+ int port = 21;
+
+ if (!strcmp(name, "")) {
+ name = "anonymous";
+ password = "-drakx@";
+ }
+
+ if (strcmp(proxy, "")) {
+ name = asprintf_("%s@%s", name, host);
+ host = proxy;
+ }
+
+ if ((rc = get_host_address(host, &serverAddress))) return rc;
+
+ sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+ if (sock < 0) {
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ destPort.sin_family = AF_INET;
+ destPort.sin_port = htons(port);
+ destPort.sin_addr = serverAddress;
+
+ if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
+ close(sock);
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ /* ftpCheckResponse() assumes the socket is nonblocking */
+ if (fcntl(sock, F_SETFL, O_NONBLOCK)) {
+ close(sock);
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ if ((rc = ftp_check_response(sock, NULL))) {
+ return rc;
+ }
+
+ if ((rc = ftp_command(sock, "USER", name))) {
+ close(sock);
+ return rc;
+ }
+
+ if ((rc = ftp_command(sock, "PASS", password))) {
+ close(sock);
+ return rc;
+ }
+
+ if ((rc = ftp_command(sock, "TYPE", "I"))) {
+ close(sock);
+ return rc;
+ }
+
+ return sock;
+}
+
+
+int ftp_data_command(int sock, char * command, char * param)
+{
+ int dataSocket;
+ struct sockaddr_in dataAddress;
+ int i, j;
+ char * passReply;
+ char * chptr;
+ char retrCommand[500];
+ int rc;
+
+ if (write(sock, "PASV\r\n", 6) != 6) {
+ return FTPERR_SERVER_IO_ERROR;
+ }
+ if ((rc = ftp_check_response(sock, &passReply)))
+ return FTPERR_PASSIVE_ERROR;
+
+ chptr = passReply;
+ while (*chptr && *chptr != '(') chptr++;
+ if (*chptr != '(') return FTPERR_PASSIVE_ERROR;
+ chptr++;
+ passReply = chptr;
+ while (*chptr && *chptr != ')') chptr++;
+ if (*chptr != ')') return FTPERR_PASSIVE_ERROR;
+ *chptr-- = '\0';
+
+ while (*chptr && *chptr != ',') chptr--;
+ if (*chptr != ',') return FTPERR_PASSIVE_ERROR;
+ chptr--;
+ while (*chptr && *chptr != ',') chptr--;
+ if (*chptr != ',') return FTPERR_PASSIVE_ERROR;
+ *chptr++ = '\0';
+
+ /* now passReply points to the IP portion, and chptr points to the
+ port number portion */
+
+ dataAddress.sin_family = AF_INET;
+ if (sscanf(chptr, "%d,%d", &i, &j) != 2) {
+ return FTPERR_PASSIVE_ERROR;
+ }
+ dataAddress.sin_port = htons((i << 8) + j);
+
+ chptr = passReply;
+ while (*chptr++) {
+ if (*chptr == ',') *chptr = '.';
+ }
+
+ if (!inet_aton(passReply, &dataAddress.sin_addr))
+ return FTPERR_PASSIVE_ERROR;
+
+ dataSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+ if (dataSocket < 0) {
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ if (!param)
+ sprintf(retrCommand, "%s\r\n", command);
+ else
+ sprintf(retrCommand, "%s %s\r\n", command, param);
+
+ i = strlen(retrCommand);
+
+ if (write(sock, retrCommand, i) != i) {
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ if (connect(dataSocket, (struct sockaddr *) &dataAddress,
+ sizeof(dataAddress))) {
+ close(dataSocket);
+ return FTPERR_FAILED_DATA_CONNECT;
+ }
+
+ if ((rc = ftp_check_response(sock, NULL))) {
+ close(dataSocket);
+ return rc;
+ }
+
+ return dataSocket;
+}
+
+
+int ftp_get_filesize(int sock, char * remotename)
+{
+ int size = 0;
+ char buf[2000];
+ char file[500];
+ char * ptr;
+ int fd, rc, tot;
+ int i;
+
+ strcpy(buf, remotename);
+ ptr = strrchr(buf, '/');
+ if (!*ptr)
+ return -1;
+ *ptr = '\0';
+
+ strcpy(file, ptr+1);
+
+ if ((rc = ftp_command(sock, "CWD", buf))) {
+ return -1;
+ }
+
+ fd = ftp_data_command(sock, "LIST", file);
+ if (fd <= 0) {
+ close(sock);
+ return -1;
+ }
+
+ ptr = buf;
+ while ((tot = read(fd, ptr, sizeof(buf) - (ptr - buf) - 1)) != 0)
+ ptr += tot;
+ *ptr = '\0';
+ close(fd);
+
+ if (!(ptr = strstr(buf, file))) {
+ log_message("FTP/get_filesize: Bad mood, directory does not contain searched file (%s)", file);
+ if (ftp_end_data_command(sock))
+ close(sock);
+ return -1;
+ }
+
+ for (i=0; i<4; i++) {
+ while (*ptr && *ptr != ' ')
+ ptr--;
+ while (*ptr && *ptr == ' ')
+ ptr--;
+ }
+ while (*ptr && *ptr != ' ')
+ ptr--;
+
+ if (ptr)
+ size = charstar_to_int(ptr+1);
+ else
+ size = 0;
+
+ if (ftp_end_data_command(sock)) {
+ close(sock);
+ return -1;
+ }
+
+ return size;
+}
+
+
+int ftp_start_download(int sock, char * remotename, int * size)
+{
+ if ((*size = ftp_get_filesize(sock, remotename)) == -1) {
+ log_message("FTP: could not get filesize (trying to continue)");
+ *size = 0;
+ }
+ return ftp_data_command(sock, "RETR", remotename);
+}
+
+
+int ftp_end_data_command(int sock)
+{
+ if (ftp_check_response(sock, NULL))
+ return FTPERR_BAD_SERVER_RESPONSE;
+
+ return 0;
+}
+
+
+char *str_ftp_error(int error)
+{
+ return error == FTPERR_PASSIVE_ERROR ? "error with passive connection" :
+ error == FTPERR_FAILED_CONNECT ? "couldn't connect to server" :
+ error == FTPERR_FILE_NOT_FOUND ? "file not found" :
+ error == FTPERR_BAD_SERVER_RESPONSE ? "bad server response (server too busy?)" :
+ NULL;
+}
+
+
+static int _http_download_file(char * hostname, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport, int recursion)
+{
+ char * buf;
+ char headers[4096];
+ char * nextChar = headers;
+ int statusCode;
+ struct in_addr serverAddress;
+ struct pollfd polls;
+ int sock;
+ int rc;
+ struct sockaddr_in destPort;
+ const char * header_content_length = "Content-Length: ";
+ const char * header_location = "Location: http://";
+ char * http_server_name;
+ int http_server_port;
+
+ if (proxyprotocol) {
+ http_server_name = proxyname;
+ http_server_port = atoi(proxyport);
+ } else {
+ http_server_name = hostname;
+ http_server_port = 80;
+ }
+
+ log_message("HTTP: connecting to server %s:%i (%s)",
+ http_server_name, http_server_port,
+ proxyprotocol ? "proxy" : "no proxy");
+
+ if ((rc = get_host_address(http_server_name, &serverAddress))) return rc;
+
+ sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
+ if (sock < 0) {
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ destPort.sin_family = AF_INET;
+ destPort.sin_port = htons(http_server_port);
+ destPort.sin_addr = serverAddress;
+
+ if (connect(sock, (struct sockaddr *) &destPort, sizeof(destPort))) {
+ close(sock);
+ return FTPERR_FAILED_CONNECT;
+ }
+
+ buf = proxyprotocol ? asprintf_("GET %s://%s%s HTTP/1.0\r\nHost: %s\r\n\r\n", proxyprotocol, hostname, remotename, hostname)
+ : asprintf_("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n", remotename, hostname);
+
+ write(sock, buf, strlen(buf));
+
+ /* This is fun; read the response a character at a time until we:
+
+ 1) Get our first \r\n; which lets us check the return code
+ 2) Get a \r\n\r\n, which means we're done */
+
+ *nextChar = '\0';
+ statusCode = 0;
+ while (!strstr(headers, "\r\n\r\n")) {
+ polls.fd = sock;
+ polls.events = POLLIN;
+ rc = poll(&polls, 1, TIMEOUT_SECS*1000);
+
+ if (rc == 0) {
+ close(sock);
+ return FTPERR_SERVER_TIMEOUT;
+ } else if (rc < 0) {
+ close(sock);
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ if (read(sock, nextChar, 1) != 1) {
+ close(sock);
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ nextChar++;
+ *nextChar = '\0';
+
+ if (nextChar - headers == sizeof(headers)) {
+ close(sock);
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ if (!statusCode && strstr(headers, "\r\n")) {
+ char * start, * end;
+
+ start = headers;
+ while (!isspace(*start) && *start) start++;
+ if (!*start) {
+ close(sock);
+ return FTPERR_SERVER_IO_ERROR;
+ }
+ start++;
+
+ end = start;
+ while (!isspace(*end) && *end) end++;
+ if (!*end) {
+ close(sock);
+ return FTPERR_SERVER_IO_ERROR;
+ }
+
+ *end = '\0';
+ log_message("HTTP: server response '%s'", start);
+ if (streq(start, "404")) {
+ close(sock);
+ return FTPERR_FILE_NOT_FOUND;
+ } else if (streq(start, "302")) {
+ log_message("HTTP: found, but document has moved");
+ statusCode = 302;
+ } else if (streq(start, "200")) {
+ statusCode = 200;
+ } else {
+ close(sock);
+ return FTPERR_BAD_SERVER_RESPONSE;
+ }
+
+ *end = ' ';
+ }
+ }
+
+ if (statusCode == 302) {
+ if (recursion >= HTTP_MAX_RECURSION) {
+ log_message("HTTP: too many levels of recursion, aborting");
+ close(sock);
+ return FTPERR_UNKNOWN;
+ }
+ if ((buf = strstr(headers, header_location))) {
+ char * found_host;
+ char *found_file;
+ found_host = buf + strlen(header_location);
+ if ((found_file = index(found_host, '/'))) {
+ if ((buf = index(found_file, '\r'))) {
+ buf[0] = '\0';
+ remotename = strdup(found_file);
+ found_file[0] = '\0';
+ hostname = strdup(found_host);
+ log_message("HTTP: redirected to new host \"%s\" and file \"%s\"", hostname, remotename);
+ }
+ }
+
+ }
+ /*
+ * don't fail if new URL can't be parsed,
+ * asking the same URL may work if the DNS server are doing round-robin
+ */
+ return _http_download_file(hostname, remotename, size, proxyprotocol, proxyname, proxyport, recursion + 1);
+ }
+
+ if ((buf = strstr(headers, header_content_length)))
+ *size = charstar_to_int(buf + strlen(header_content_length));
+ else
+ *size = 0;
+
+ return sock;
+}
+
+
+int http_download_file(char * hostname, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport)
+{
+ return _http_download_file(hostname, remotename, size, proxyprotocol, proxyname, proxyport, 0);
+}
diff --git a/mdk-stage1/url.h b/mdk-stage1/url.h
new file mode 100644
index 000000000..7a9dcfb4b
--- /dev/null
+++ b/mdk-stage1/url.h
@@ -0,0 +1,46 @@
+/*
+ * Guillaume Cottenceau (gc@mandrakesoft.com)
+ *
+ * Copyright 2000 Mandrakesoft
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+/*
+ * Portions from Erik Troan <ewt@redhat.com> and Matt Wilson <msw@redhat.com>
+ *
+ * Copyright 1999 Red Hat, Inc.
+ *
+ */
+
+#ifndef _URL_H_
+#define _URL_H_
+
+int ftp_open_connection(char * host, char * name, char * password, char * proxy);
+int ftp_get_filesize(int sock, char * remotename);
+int ftp_start_download(int sock, char * remotename, int * size);
+int ftp_end_data_command(int sock);
+char *str_ftp_error(int error);
+
+int http_download_file(char * hostname, char * remotename, int * size, char * proxyprotocol, char * proxyname, char * proxyport);
+
+
+#define FTPERR_BAD_SERVER_RESPONSE -1
+#define FTPERR_SERVER_IO_ERROR -2
+#define FTPERR_SERVER_TIMEOUT -3
+#define FTPERR_BAD_HOST_ADDR -4
+#define FTPERR_BAD_HOSTNAME -5
+#define FTPERR_FAILED_CONNECT -6
+#define FTPERR_FILE_IO_ERROR -7
+#define FTPERR_PASSIVE_ERROR -8
+#define FTPERR_FAILED_DATA_CONNECT -9
+#define FTPERR_FILE_NOT_FOUND -10
+#define FTPERR_UNKNOWN -100
+
+#endif
diff --git a/mdk-stage1/usb-resource/Makefile b/mdk-stage1/usb-resource/Makefile
new file mode 100644
index 000000000..f8c6117c9
--- /dev/null
+++ b/mdk-stage1/usb-resource/Makefile
@@ -0,0 +1,25 @@
+ #******************************************************************************
+ #
+ # $Id: Makefile 23860 2005-08-25 11:41:51Z prigaux $
+ #
+ # Guillaume Cottenceau (gc@mandrakesoft.com)
+ #
+ # Copyright 2000 Mandrakesoft
+ #
+ # This software may be freely redistributed under the terms of the GNU
+ # public license.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ #
+ #*****************************************************************************
+
+
+all: usb-ids.h
+
+usb-ids.h: /usr/share/ldetect-lst/usbtable.gz update-usb-ids.pl
+ perl update-usb-ids.pl > $@ || rm -f $@
+
+clean:
+ rm -f usb-ids.h
diff --git a/mdk-stage1/usb-resource/update-usb-ids.pl b/mdk-stage1/usb-resource/update-usb-ids.pl
new file mode 100755
index 000000000..b938cdb1a
--- /dev/null
+++ b/mdk-stage1/usb-resource/update-usb-ids.pl
@@ -0,0 +1,54 @@
+#!/usr/bin/perl
+
+use strict;
+use MDK::Common;
+
+require '/usr/bin/merge2pcitable.pl';
+my $pci = read_pcitable("/usr/share/ldetect-lst/pcitable");
+my $usb = read_pcitable("/usr/share/ldetect-lst/usbtable");
+
+print '
+
+
+struct usb_module_map {
+ unsigned short vendor; /* vendor */
+ unsigned short id; /* device */
+ const char *name; /* human readable name */
+ const char *module; /* module to load */
+};
+
+';
+
+print "struct pci_module_map usb_pci_ids[] = {
+
+";
+
+foreach my $k (sort keys %$pci) {
+ my $v = $pci->{$k};
+ $v->[0] =~ /^usb-|^ehci-hcd|^ohci1394/ or next;
+ $k =~ /^(....)(....)/;
+ printf qq|\t{ 0x%s, 0x%s, "", "%s" },\n|,
+ $1, $2, $v->[0];
+}
+
+print "};
+int usb_num_ids=sizeof(usb_pci_ids)/sizeof(struct pci_module_map);
+";
+
+print "struct usb_module_map usb_usb_ids[] = {
+";
+
+my @modules = chomp_(`perl ../../kernel/modules.pl pci_modules4stage1 "network/usb disk/usb"`)
+or die "unable to get USB modules";
+
+ foreach my $k (sort keys %$usb) {
+ my $v = $usb->{$k};
+ member($v->[0], @modules) or next;
+ $k =~ /^(....)(....)/;
+ printf qq|\t{ 0x%s, 0x%s, "%s", "%s" },\n|,
+ $1, $2, $v->[1], $v->[0];
+ }
+
+ print "};
+int usb_usb_num_ids=sizeof(usb_usb_ids)/sizeof(struct usb_module_map);
+";
diff --git a/mdk-stage1/wireless.c b/mdk-stage1/wireless.c
new file mode 100644
index 000000000..cefe6c1f7
--- /dev/null
+++ b/mdk-stage1/wireless.c
@@ -0,0 +1,157 @@
+/*
+ * Olivier Blin (oblin@mandriva.com)
+ *
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <linux/wireless.h>
+
+#include "automatic.h"
+#include "stage1.h"
+#include "log.h"
+#include "wireless.h"
+
+static int wireless_ioctl(int socket, const char *ifname, int request, struct iwreq *wrq);
+static int wireless_set_mode_managed(int socket, const char *ifname);
+static int wireless_disable_key(int socket, const char *ifname);
+static int wireless_set_restricted_key(int socket, const char *ifname, const char *key);
+static int wireless_set_essid(int socket, const char *ifname, const char *essid);
+
+int wireless_open_socket()
+{
+ return socket(AF_INET, SOCK_DGRAM, 0);
+}
+
+int wireless_close_socket(int socket)
+{
+ return close(socket);
+}
+
+static int wireless_ioctl(int socket, const char *ifname, int request, struct iwreq *wrq)
+{
+ strncpy(wrq->ifr_name, ifname, IFNAMSIZ);
+ return ioctl(socket, request, wrq);
+}
+
+int wireless_is_aware(int socket, const char *ifname)
+{
+ struct iwreq wrq;
+ return wireless_ioctl(socket, ifname, SIOCGIWNAME, &wrq) == 0;
+}
+
+static int wireless_set_mode_managed(int socket, const char *ifname)
+{
+ struct iwreq wrq;
+
+ wrq.u.mode = IW_MODE_INFRA; /* managed */
+
+ return wireless_ioctl(socket, ifname, SIOCSIWMODE, &wrq) == 0;
+}
+
+static int wireless_set_essid(int socket, const char *ifname, const char *essid)
+{
+ struct iwreq wrq;
+
+ wrq.u.essid.flags = 1;
+ wrq.u.essid.pointer = (void *) essid;
+ wrq.u.essid.length = strlen(essid) + 1;
+
+ return wireless_ioctl(socket, ifname, SIOCSIWESSID, &wrq) == 0;
+}
+
+static int wireless_disable_key(int socket, const char *ifname)
+{
+ struct iwreq wrq;
+
+ wrq.u.data.flags = IW_ENCODE_DISABLED;
+ wrq.u.data.pointer = NULL;
+ wrq.u.data.length = 0;
+
+ return wireless_ioctl(socket, ifname, SIOCSIWENCODE, &wrq) == 0;
+}
+
+static int wireless_set_restricted_key(int socket, const char *ifname, const char *key)
+{
+ struct iwreq wrq;
+ char real_key[IW_ENCODING_TOKEN_MAX];
+ int key_len = 0;
+ unsigned int tmp;
+
+ while (sscanf(key + 2*key_len, "%2X", &tmp) == 1)
+ real_key[key_len++] = (char) tmp;
+
+ wrq.u.data.flags = IW_ENCODE_RESTRICTED;
+ wrq.u.data.pointer = (char *) real_key;
+ wrq.u.data.length = key_len;
+
+ return wireless_ioctl(socket, ifname, SIOCSIWENCODE, &wrq) == 0;
+}
+
+enum return_type configure_wireless(const char *ifname)
+{
+ enum return_type results;
+ char * questions[] = { "ESSID", "WEP key", NULL };
+ char * questions_auto[] = { "essid", "wep_key" };
+ static char ** answers = NULL;
+ int wsock = wireless_open_socket();
+
+ if (!wireless_is_aware(wsock, ifname)) {
+ log_message("interface %s doesn't support wireless", ifname);
+ wireless_close_socket(wsock);
+ return RETURN_OK;
+ }
+
+ results = ask_from_entries_auto("Please enter your wireless settings. "
+ "The ESSID is your wireless network identifier. "
+ "The WEP key must be entered in hexadecimal, without any separator.",
+ questions, &answers, 32, questions_auto, NULL);
+ if (results != RETURN_OK) {
+ wireless_close_socket(wsock);
+ return RETURN_BACK;
+ }
+
+ if (!wireless_set_mode_managed(wsock, ifname)) {
+ stg1_error_message("unable to set mode Managed on device \"%s\": %s", ifname, strerror(errno));
+ wireless_close_socket(wsock);
+ return RETURN_ERROR;
+ }
+
+ if (answers[1] && !streq(answers[1], "")) {
+ log_message("setting WEP key \"%s\" on device \"%s\"", answers[1], ifname);
+ if (!wireless_set_restricted_key(wsock, ifname, answers[1])) {
+ stg1_error_message("unable to set WEP key \"%s\" on device \"%s\": %s", answers[1], ifname, strerror(errno));
+ return RETURN_ERROR;
+ }
+ } else {
+ log_message("disabling WEP key on device \"%s\"", ifname);
+ if (!wireless_disable_key(wsock, ifname)) {
+ stg1_error_message("unable to disable WEP key on device \"%s\": %s", ifname, strerror(errno));
+ return RETURN_ERROR;
+ }
+ }
+
+ /* most devices perform discovery when ESSID is set, it needs to be last */
+ log_message("setting ESSID \"%s\" on device \"%s\"", answers[0], ifname);
+ if (!wireless_set_essid(wsock, ifname, answers[0])) {
+ stg1_error_message("unable to set ESSID \"%s\" on device \"%s\": %s", answers[0], ifname, strerror(errno));
+ return RETURN_ERROR;
+ }
+
+ wireless_close_socket(wsock);
+ return RETURN_OK;
+}
diff --git a/mdk-stage1/wireless.h b/mdk-stage1/wireless.h
new file mode 100644
index 000000000..3e5bb7790
--- /dev/null
+++ b/mdk-stage1/wireless.h
@@ -0,0 +1,25 @@
+/*
+ * Olivier Blin (oblin@mandriva.com)
+ *
+ * Copyright 2005 Mandriva
+ *
+ * This software may be freely redistributed under the terms of the GNU
+ * public license.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef _WIRELESS_H_
+#define _WIRELESS_H_
+
+#include "frontend.h"
+
+int wireless_open_socket();
+int wireless_close_socket(int socket);
+int wireless_is_aware(int socket, const char *ifname);
+enum return_type configure_wireless(const char *ifname);
+
+#endif
diff --git a/mdk-stage1/zlibsupport.c b/mdk-stage1/zlibsupport.c
new file mode 100644
index 000000000..ecbe7a5ef
--- /dev/null
+++ b/mdk-stage1/zlibsupport.c
@@ -0,0 +1,119 @@
+/* Support for compressed modules. Willy Tarreau <willy@meta-x.org>
+ * did the support for modutils, Andrey Borzenkov <arvidjaar@mail.ru>
+ * ported it to module-init-tools, and I said it was too ugly to live
+ * and rewrote it 8).
+ *
+ * (C) 2003 Rusty Russell, IBM Corporation.
+ */
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/mman.h>
+
+#include "zlibsupport.h"
+
+#ifdef CONFIG_USE_ZLIB
+#include <zlib.h>
+
+void *grab_contents(gzFile *gzfd, unsigned long *size)
+{
+ unsigned int max = 16384;
+ void *buffer = malloc(max);
+ int ret;
+
+ if (!buffer)
+ return NULL;
+
+ *size = 0;
+ while ((ret = gzread(gzfd, buffer + *size, max - *size)) > 0) {
+ *size += ret;
+ if (*size == max) {
+ void *p;
+
+ p = realloc(buffer, max *= 2);
+ if (!p)
+ goto out_err;
+
+ buffer = p;
+ }
+ }
+ if (ret < 0)
+ goto out_err;
+
+ return buffer;
+
+out_err:
+ free(buffer);
+ return NULL;
+}
+
+void *grab_fd(int fd, unsigned long *size)
+{
+ gzFile gzfd;
+
+ gzfd = gzdopen(fd, "rb");
+ if (!gzfd)
+ return NULL;
+
+ /* gzclose(gzfd) would close fd, which would drop locks.
+ Don't blame zlib: POSIX locking semantics are so horribly
+ broken that they should be ripped out. */
+ return grab_contents(gzfd, size);
+}
+
+/* gzopen handles uncompressed files transparently. */
+void *grab_file(const char *filename, unsigned long *size)
+{
+ gzFile gzfd;
+ void *buffer;
+
+ gzfd = gzopen(filename, "rb");
+ if (!gzfd)
+ return NULL;
+ buffer = grab_contents(gzfd, size);
+ gzclose(gzfd);
+ return buffer;
+}
+
+void release_file(void *data, unsigned long size)
+{
+ free(data);
+}
+#else /* ... !CONFIG_USE_ZLIB */
+
+void *grab_fd(int fd, unsigned long *size)
+{
+ struct stat st;
+ void *map;
+ int ret;
+
+ ret = fstat(fd, &st);
+ if (ret < 0)
+ return NULL;
+ *size = st.st_size;
+ map = mmap(0, *size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
+ if (map == MAP_FAILED)
+ map = NULL;
+ return map;
+}
+
+void *grab_file(const char *filename, unsigned long *size)
+{
+ int fd;
+ void *map;
+
+ fd = open(filename, O_RDONLY, 0);
+ if (fd < 0)
+ return NULL;
+ map = grab_fd(fd, size);
+ close(fd);
+ return map;
+}
+
+void release_file(void *data, unsigned long size)
+{
+ munmap(data, size);
+}
+#endif
diff --git a/mdk-stage1/zlibsupport.h b/mdk-stage1/zlibsupport.h
new file mode 100644
index 000000000..be3c7296a
--- /dev/null
+++ b/mdk-stage1/zlibsupport.h
@@ -0,0 +1,11 @@
+#ifndef _ZLIB_SUPPORT_H
+#define _ZLIB_SUPPORT_H
+
+/* Grab file. Decompresses if that is supported. Returns NULL on error. */
+extern void *grab_file(const char *filename, unsigned long *size);
+extern void *grab_fd(int fd, unsigned long *size);
+
+/* Free it up. */
+extern void release_file(void *data, unsigned long size);
+
+#endif /* _ZLIB_SUPPORT_H */
diff --git a/perl-install/.perl_checker b/perl-install/.perl_checker
new file mode 100644
index 000000000..164f7aa34
--- /dev/null
+++ b/perl-install/.perl_checker
@@ -0,0 +1,63 @@
+Carp
+Carp::Heavy
+Compress::Zlib
+Config::IniFiles
+Cwd
+Data::DumpXML
+Data::DumpXML::Parser
+Date::Manip
+Digest::MD5
+File::Find
+File::FnMatch
+File::Glob
+File::Path
+File::Temp
+Gtk2::Gdk::Keysyms
+Gtk2::Helper
+Gtk2::Pango
+Gtk2::SimpleList
+I18N::Langinfo
+IO::Handle
+IO::Select
+IO::Socket::INET
+IPC::Open2
+Image::Magick
+Libconf
+Libconf::Glueconf::NUT::Ups_conf
+Libconf::Glueconf::Samba::Smb_conf
+Libconf::Templates::Generic::KeyValueSections
+Libconf::Templates::Samba
+Locale::gettext
+Net::DBus
+Net::DBus::Binding::Watch
+Net::LDAP
+RS::Handy
+Scalar::Util
+Sys::Syslog
+Term::ReadKey
+Time::HiRes
+XML::LibXML
+XML::LibXML::Boolean
+XML::LibXML::Common
+XML::LibXML::Literal
+XML::LibXML::NodeList
+XML::LibXML::Number
+XML::Parser
+base
+constant
+encoding
+handle_configs
+move
+open
+overload
+printer::cups
+printer::hpoj
+printer::main
+printer::printerdrake
+scanner
+urpm::ldap
+urpm::parallel_ka_run
+urpm::parallel_ssh
+utf8
+warnings
+warnings::register
diff --git a/perl-install/Makefile b/perl-install/Makefile
new file mode 100644
index 000000000..24ddca843
--- /dev/null
+++ b/perl-install/Makefile
@@ -0,0 +1,81 @@
+include ../Makefile.config
+include Makefile.config
+
+PACKAGE = drakxtools
+PKGVERSION = $(VERSION)
+
+POFILES = $(shell ls share/po/*.po)
+MOFILES = $(POFILES:%.po=%.mo)
+OTHERS = $(OTHERDIRS) $(OTHERFILES)
+OTHERDIRS = tools/serial_probe
+OTHERFILES = tools/rpcinfo-flushed.c
+
+.PHONY: all $(DIRS) install clean
+
+all: TAGS $(DIRS)
+
+xs: $(DIRS)
+
+TAGS: $(ALLPMS)
+ -etags $^ /usr/lib/perl5/*/*/MDK/Common/*.pm
+
+clean:
+ for i in $(DIRS) share/po install/help/po install/share/po; do $(MAKE) -C $$i clean; done;:
+ rm -rf auto drakxtools*.tar* *.bak
+ find . -name "*~" -o -name ".#*" -o -name "TAGS" -o -name "*.old" | xargs rm -f
+
+check_pms_encoding:
+ @for i in $(ALLPMS); do charset=ascii; grep -q 'use utf8' $$i && charset=utf8; iconv -f $$charset -t $$charset $$i >/dev/null || { echo "bad $$charset character in $$i"; exit 1; }; done
+
+check: check_pms_encoding
+ perl -I. -Mlang -e 'lang::check'
+
+check2:
+ perl -I. -Mkeyboard -e 'keyboard::check'
+
+$(DIRS):
+ install -d auto
+ $(MAKE) -C $@
+
+test_pms:
+ perl_checker install/install2.pm install/steps_gtk.pm install/steps_stdio.pm partition_table/*.pm standalone/{harddrake2,diskdrake,draksec}
+
+test_pms_all:
+ perl_checker -v --generate-package-dependencies-graph .deps $(ALLPMS)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+install_pms stage2 full_stage2:
+ make -C install $@
+
+mo_files : $(MOFILES)
+
+# rules to build tarball
+localcopy: clean
+ rm -rf $(PACKAGE)-$(PKGVERSION)*
+ mkdir -p $(PACKAGE)-$(PKGVERSION)/tools
+ svn export -q . $(PACKAGE)-$(PKGVERSION)/perl-install
+ for i in $(OTHERS); do svn export -q ../$$i $(PACKAGE)-$(PKGVERSION)/$$i; done
+ rm -rf $(PACKAGE)-$(PKGVERSION)/perl-install/{install,unused,list_modules.pm}
+ cp -f ../kernel/list_modules.pm $(PACKAGE)-$(PKGVERSION)/perl-install
+ cd $(PACKAGE)-$(PKGVERSION)/perl-install ; mv -f Makefile.drakxtools Makefile
+ @make nuke_perl
+
+localdist: tar
+
+tar: localcopy
+ tar cfj $(PACKAGE)-$(PKGVERSION).tar.bz2 $(PACKAGE)-$(PKGVERSION)
+ rm -rf $(PACKAGE)-$(PKGVERSION)
+
+# rules to build a distributable rpm
+
+nuke_perl:
+ find $(PACKAGE)-$(PKGVERSION)/perl-install -name '*.pm' | xargs ../tools/simplify-drakx-modules
+ find $(PACKAGE)-$(PKGVERSION)/perl-install/standalone -type f | xargs ../tools/simplify-drakx-modules
+
+# [pixel] for my grep looking for any .pm files
+pixel_standalone_links:
+ rm -rf .standalone_apps.swa
+ mkdir .standalone_apps.swa
+ for i in $(STANDALONEPMS_); do ln -sf ../standalone/$$i .standalone_apps.swa/$$i.pm; done
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
new file mode 100644
index 000000000..bdd6870f0
--- /dev/null
+++ b/perl-install/Makefile.config
@@ -0,0 +1,21 @@
+# -*- Makefile -*-
+VERSION:=10.4.128
+
+SUDO = sudo
+TMPDIR = /tmp
+SO_FILES = c/blib/arch/auto/c/c.so
+
+# PMS_DIRS is used only in drakxtools
+PMS_DIRS = c diskdrake harddrake interactive modules partition_table resize_fat security fs fs/remote
+
+PMS = *.pm $(PMS_DIRS:%=%/*.pm) install/*.pm install/help/*.pm install/commands install/install2
+STANDALONEPMS_ = adduserdrake bootloader-config diskdrake drakauth drakautoinst drakboot drakbug drakbug_report drakclock drakedm drakfont drakhelp drakperm draksec draksound draksplash drakupdate_fstab drakups drakxservices drakxtv fileshareset finish-install harddrake2 localedrake logdrake lsnetdrake scannerdrake service_harddrake service_harddrake_confirm
+
+STANDALONEPMS = $(STANDALONEPMS_:%=standalone/%)
+ALLPMS = $(PMS) $(STANDALONEPMS) install/share/advertising/*.pl
+PERL = perl
+LOCALFILES = $(patsubst %, ../tools/%,serial_probe/serial_probe xhost+)
+DIRS = c resize_fat #po
+CFLAGS = -Wall
+override CFLAGS += -pipe
+
diff --git a/perl-install/Makefile.drakxtools b/perl-install/Makefile.drakxtools
new file mode 100644
index 000000000..049eff3dc
--- /dev/null
+++ b/perl-install/Makefile.drakxtools
@@ -0,0 +1,78 @@
+# -*- Makefile -*-
+include Makefile.config
+
+INLIBDEST_DIRS = c resize_fat xf86misc
+HAVEINST_DIRS = share/po standalone/po standalone/interactive_http
+DIRS = $(INLIBDEST_DIRS) $(HAVEINST_DIRS) harddrake printer ../tools/serial_probe
+NAME = libDrakX
+XSETUPLEVEL=40
+PREFIX =
+LIBDIR = $(PREFIX)/usr/lib
+MENUDIR= $(LIBDEST)/menu
+DATADIR = $(PREFIX)/usr/share
+ICONSDIR= $(DATADIR)/icons
+BINDEST = $(PREFIX)/usr/bin
+SBINDEST = $(PREFIX)/usr/sbin
+ETCDEST = $(PREFIX)/etc/gtk
+LIBDEST = $(LIBDIR)/$(NAME)
+PIXDIR = $(DATADIR)/$(NAME)/pixmaps
+INITDIR = $(PREFIX)/etc/rc.d/init.d
+.PHONY: $(DIRS)
+
+all: ../tools/rpcinfo-flushed $(DIRS)
+
+$(DIRS):
+ install -d auto
+ [ ! -e $@/Makefile ] || $(MAKE) -C $@
+
+install:
+ mkdir -p $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR)/{harddrake,pixmaps,icons/{large,mini},autostart} $(PIXDIR) $(INITDIR) $(MENUDIR)
+ install -d $(INLIBDEST_DIRS:%=$(LIBDEST)/%)
+ install $(STANDALONEPMS) standalone/service_harddrake.sh standalone/convert $(SBINDEST)
+ install -s ../tools/rpcinfo-flushed ../tools/serial_probe/serial_probe $(SBINDEST)
+ ln -s XFdrake $(SBINDEST)/Xdrakres
+ ln -s fileshareset $(SBINDEST)/filesharelist
+ mv -f $(SBINDEST)/lsnetdrake $(BINDEST)
+ mv -f $(SBINDEST)/drakbug $(BINDEST)
+ mv -f $(SBINDEST)/drakhelp $(BINDEST)
+ mv -f $(SBINDEST)/localedrake $(BINDEST)
+
+ install -m 644 *.pm $(LIBDEST)
+ for i in $(PMS_DIRS); do install -d $(LIBDEST)/$$i ; install -m 644 $$i/*.pm $(LIBDEST)/$$i/;done
+ install -m 644 pixmaps/*.* $(PIXDIR)
+ install -m 644 share/diskdrake.rc $(DATADIR)/$(NAME)
+
+ install -d $(PREFIX)/etc/security
+ echo 'RESTRICT=yes' > $(PREFIX)/etc/security/fileshare.conf
+
+ install -D standalone/finish-install.xsetup $(PREFIX)/etc/X11/xsetup.d/$(XSETUPLEVEL)finish-install.xsetup
+ install -d $(PREFIX)/etc/sysconfig
+ echo 'FINISH_INSTALL=yes' > $(PREFIX)/etc/sysconfig/finish-install
+
+ for i in $(HAVEINST_DIRS); do \
+ $(MAKE) -C $$i install PREFIX=$(PREFIX) SUDO= DATADIR=$(DATADIR) ; \
+ done
+
+ find auto -follow -name .exists -o -name "*.bs" | xargs rm -f
+ cp -rfL auto standalone/icons $(LIBDEST)
+ mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu32.png $(ICONSDIR)/harddrake.png
+ mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu48.png $(ICONSDIR)/large/harddrake.png
+ mv $(LIBDEST)/icons/harddrake2/menu/harddrake-menu16.png $(ICONSDIR)/mini/harddrake.png
+ mv $(LIBDEST)/icons/localedrake-32.png $(ICONSDIR)/localedrake.png
+ mv $(LIBDEST)/icons/localedrake-48.png $(ICONSDIR)/large/localedrake.png
+ mv $(LIBDEST)/icons/localedrake-16.png $(ICONSDIR)/mini/localedrake.png
+ rmdir $(LIBDEST)/icons/harddrake2/menu
+ mv $(LIBDEST)/icons/harddrake2/ $(DATADIR)/pixmaps/
+ mv $(SBINDEST)/service_harddrake.sh $(INITDIR)/harddrake
+ mv $(SBINDEST)/convert $(DATADIR)/harddrake
+ mv $(SBINDEST)/service_harddrake $(DATADIR)/harddrake/
+ ln -s {XFdrake,$(SBINDEST)/drakx11}
+ ln -s {diskdrake,$(SBINDEST)/drakdisk}
+ ln -s {drakclock,$(SBINDEST)/clock.pl}
+ ln -s {harddrake2,$(SBINDEST)/drakhardware}
+ ln -s {keyboarddrake,$(SBINDEST)/drakkeyboard}
+ ln -s {localedrake,$(BINDEST)/draklocale}
+ ln -s {logdrake,$(SBINDEST)/draklog}
+ ln -s {mousedrake,$(SBINDEST)/drakmouse}
+ ln -s {printerdrake,$(SBINDEST)/drakprinter}
+ ln -s {scannerdrake,$(SBINDEST)/drakscanner}
diff --git a/perl-install/NEWS b/perl-install/NEWS
new file mode 100644
index 000000000..e4828f41a
--- /dev/null
+++ b/perl-install/NEWS
@@ -0,0 +1,111 @@
+- fix ext3 formatting with label and progress bar (#30032)
+
+Version 10.4.127 - 30 March 2007, by Olivier "blino" Blin
+
+- don't configure /etc/kde/kdm/kdmrc if it doesn't exist
+ (other kdmrc.rpmnew will be created, many important values will be missing)
+- finish-install: source mandriva-release profile script to get
+ correct gtk theme (Frederic Crozat)
+
+Version 10.4.126 - 29 March 2007, by Olivier "blino" Blin
+
+- use pci_domain when matching sysfs device and computing
+ sysfs device path
+
+Version 10.4.125 - 29 March 2007, by Olivier "blino" Blin
+
+- fix multiple detection of PCI network cards with the same driver (#29688)
+
+Version 10.4.123 - 26 March 2007, by Olivier "blino" Blin
+
+- blacklist ax*, rose*, nr*, bce* and scc* Hamradio devices
+ when detecting network interfaces (#28776)
+- harddrake service: fallback on the right driver for ATI gfx cards
+ when fglrx module is missing
+- introduce shared bootloader functions so that draklive-install and
+ drakboot add correct command line parameters (such as resume=)
+- use grub by default (noticeable in One install)
+
+Version 10.4.121 - 23 March 2007, by Thierry Vignaud
+
+- interactive::curses:
+ o handle multi-line labels, and wrap too long labels (#29060)
+- do not use bold&big for advanced_messages
+ (fixes authentication choice being big & ugly, #28676)
+
+Version 10.4.118 - 22 March 2007, by Thierry Vignaud
+
+- diskdrake:
+ o minimal support for switching from ntfs to ntfs-3g
+ o move ntfs in the list of "important" filesystems
+- enable to set up 32bit media on x86_64
+- fix lang configuration in KDE by writting it in current profile
+
+Version 10.4.117 - 21 March 2007, by Thierry Vignaud
+
+- detect all known TV cards (#29633)
+- harddrake service:
+ o load modules for DVB & TV cards (#29633)
+ o switch ATI cards to free driver if binary driver isn't installed
+- use http://api.mandriva.com/mirrors/$type.$version.$arch instead of simply
+ $version.$arch (useful to differentiate CorpoDesktop4)
+
+Version 10.4.116 - 19 March 2007, by Thierry Vignaud
+
+- handle more drivers (dvb, ethernet, gigabit, ide, pcmcia, sata,
+ sound, tv, usb hosts, wan, webcam, wireless)
+- diskdrake: handle mkntfs
+- localedrake: remove error running grub-gfxmenu when /boot/gfxmenu doesn't exit
+
+Version 10.4.114 - 16 March 2007, by Thierry Vignaud
+
+- do not load anymore floppy module (#23158, #25975, #28911, #29280)
+- fix testing success exit of child processes (mdkapplet)
+- localedrake: set grub gfxmenu language
+
+Version 10.4.113 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- drakboot --boot: allow choosing a non-installed bootloader
+ (ease switching from lilo to grub)
+- use grub-gfxmenu comand to configure /boot/gfxmenu for grub
+
+Version 10.4.112 - 15 March 2007, by Thierry Vignaud
+
+- die on downloading mirror list faillure
+- log using mirror API into explanations
+
+Version 10.4.110 - 15 March 2007, by Thierry Vignaud
+
+- add sizing dialog support for rpmdrake
+- do not buggily use speedstep-centrino on Core2 duo, but use it on
+ P4M (as initially intended?) (blino)
+
+Version 10.4.108 - 13 March 2007, by Thierry Vignaud
+
+- load tifm_sd if needed (#25133)
+- drakbug:
+ o fix finding package for keyboarddrake
+ o fix managing --incident MandrivaUpdate
+ o menudrake was replaced by drakmenustyle
+ o some tools were splited out of drakxtools; enable to lookup the proper package
+
+Version 10.4.105 - 9 March 2007, by Thierry Vignaud
+
+- configure "tifm_7xx1" driven card_reader (#25133)
+- enhance wrapping in some dialogs
+
+Version 10.4.104 - 7 March 2007, by Thierry Vignaud
+
+- do not bother configure old modutils
+- handle SD cards (#24054)
+- harddrake2: list SD card readers in their own category
+
+Version 10.4.102 - 6 March 2007, by Thierry Vignaud
+
+- diskdrake in text mode: when choosing a partition, "Empty space on hdx"
+ instead of "Empty" (#29087)
+- harddrake service:
+ o adapt to new nvidia drivers (#29052)
+ o when switching from nvidia to nv, do setup gl_conf alternative
+- symlinkf_update_alternatives: remove broken files for missing slave files
+ (useful for not having a broken /etc/modprobe.d/nvidia.conf (XFdrake))
diff --git a/perl-install/any.pm b/perl-install/any.pm
new file mode 100644
index 000000000..1bbac64a7
--- /dev/null
+++ b/perl-install/any.pm
@@ -0,0 +1,1329 @@
+package any; # $Id: any.pm 149989 2007-03-30 09:35:46Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use detect_devices;
+use partition_table;
+use fs::type;
+use lang;
+use run_program;
+use devices;
+use modules;
+use log;
+use fs;
+use c;
+
+sub facesdir() {
+ "$::prefix/usr/share/mdk/faces/";
+}
+sub face2png {
+ my ($face) = @_;
+ facesdir() . $face . ".png";
+}
+sub facesnames() {
+ my $dir = facesdir();
+ my @l = grep { /^[A-Z]/ } all($dir);
+ map { if_(/(.*)\.png/, $1) } (@l ? @l : all($dir));
+}
+
+sub addKdmIcon {
+ my ($user, $icon) = @_;
+ my $dest = "$::prefix/usr/share/faces/$user.png";
+ eval { cp_af(facesdir() . $icon . ".png", $dest) } if $icon;
+}
+
+sub alloc_user_faces {
+ my ($users) = @_;
+ my @m = my @l = facesnames();
+ foreach (grep { !$_->{icon} || $_->{icon} eq "automagic" } @$users) {
+ $_->{auto_icon} = splice(@m, rand(@m), 1); #- known biased (see cookbook for better)
+ log::l("auto_icon is $_->{auto_icon}");
+ @m = @l unless @m;
+ }
+}
+
+sub create_user {
+ my ($u, $isMD5) = @_;
+
+ my @existing = stat("$::prefix/home/$u->{name}");
+
+ if (!getpwnam($u->{name})) {
+ my $uid = $u->{uid} || $existing[4];
+ if ($uid && getpwuid($uid)) {
+ undef $uid; #- suggested uid already in use
+ }
+ my $gid = $u->{gid} || $existing[5] || int getgrnam($u->{name});
+ if ($gid) {
+ if (getgrgid($gid)) {
+ undef $gid if getgrgid($gid) ne $u->{name};
+ } else {
+ run_program::rooted($::prefix, 'groupadd', '-g', $gid, $u->{name});
+ }
+ } elsif ($u->{rename_from}) {
+ run_program::rooted($::prefix, 'groupmod', '-n', $u->{name}, $u->{rename_from});
+ }
+
+ require authentication;
+ my $symlink_home_from = $u->{rename_from} && (getpwnam($u->{rename_from}))[7];
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ ($u->{rename_from} ? 'usermod' : 'adduser'),
+ '-p', authentication::user_crypted_passwd($u, $isMD5),
+ if_($uid, '-u', $uid), if_($gid, '-g', $gid),
+ if_($u->{realname}, '-c', $u->{realname}),
+ if_($u->{home}, '-d', $u->{home}, if_($u->{rename_from}, '-m')),
+ if_($u->{shell}, '-s', $u->{shell}),
+ ($u->{rename_from}
+ ? ('-l', $u->{name}, $u->{rename_from})
+ : $u->{name}));
+ symlink($u->{home}, $symlink_home_from) if $symlink_home_from;
+ }
+
+ my (undef, undef, $uid, $gid, undef, undef, undef, $home) = getpwnam($u->{name});
+
+ if (@existing && $::isInstall && ($uid != $existing[4] || $gid != $existing[5])) {
+ log::l("chown'ing $home from $existing[4].$existing[5] to $uid.$gid");
+ eval { common::chown_('recursive', $uid, $gid, "$::prefix$home") };
+ }
+}
+
+sub add_users {
+ my ($users, $authentication) = @_;
+
+ alloc_user_faces($users);
+
+ foreach (@$users) {
+ create_user($_, $authentication->{md5});
+ run_program::rooted($::prefix, "usermod", "-G", join(",", @{$_->{groups}}), $_->{name}) if !is_empty_array_ref($_->{groups});
+ addKdmIcon($_->{name}, delete $_->{auto_icon} || $_->{icon});
+ }
+}
+
+sub install_acpi_pkgs {
+ my ($do_pkgs, $b) = @_;
+
+ my $acpi = bootloader::get_append_with_key($b, 'acpi');
+ my $use_acpi = !member($acpi, 'off', 'ht');
+ if ($use_acpi) {
+ $do_pkgs->ensure_is_installed('acpi', '/usr/bin/acpi', $::isInstall);
+ $do_pkgs->ensure_is_installed('acpid', '/usr/sbin/acpid', $::isInstall);
+ }
+ require services;
+ services::set_status($_, $use_acpi, $::isInstall) foreach qw(acpi acpid);
+}
+
+sub setupBootloaderBeforeStandalone {
+ my ($do_pkgs, $b, $all_hds, $fstab) = @_;
+ require keyboard;
+ my $keyboard = keyboard::read_or_default();
+ my $allow_fb = listlength(cat_("/proc/fb"));
+ my $cmdline = cat_('/proc/cmdline');
+ my $vga_fb = first($cmdline =~ /\bvga=(\S+)/);
+ my $quiet = $cmdline =~ /\bsplash=silent\b/;
+ setupBootloaderBefore($do_pkgs, $b, $all_hds, $fstab, $keyboard, $allow_fb, $vga_fb, $quiet);
+}
+
+sub setupBootloaderBefore {
+ my ($do_pkgs, $bootloader, $all_hds, $fstab, $keyboard, $allow_fb, $vga_fb, $quiet) = @_;
+ require bootloader;
+
+ #- auto_install backward compatibility
+ #- one should now use {message_text}
+ if ($bootloader->{message} =~ m!^[^/]!) {
+ $bootloader->{message_text} = delete $bootloader->{message};
+ }
+
+ #- remove previous ide-scsi lines
+ bootloader::modify_append($bootloader, sub {
+ my ($_simple, $dict) = @_;
+ @$dict = grep { $_->[1] ne 'ide-scsi' } @$dict;
+ });
+
+ if (cat_("/proc/cmdline") =~ /mem=nopentium/) {
+ bootloader::set_append_with_key($bootloader, mem => 'nopentium');
+ }
+ if (cat_("/proc/cmdline") =~ /\b(pci)=(\S+)/) {
+ bootloader::set_append_with_key($bootloader, $1, $2);
+ }
+ if (my ($acpi) = cat_("/proc/cmdline") =~ /\bacpi=(\w+)/) {
+ if ($acpi eq 'ht') {
+ #- the user is using the default, which may not be the best
+ my $year = detect_devices::computer_info()->{BIOS_Year};
+ if ($year >= 2002) {
+ log::l("forcing ACPI on recent bios ($year)");
+ $acpi = '';
+ }
+ }
+ bootloader::set_append_with_key($bootloader, acpi => $acpi);
+ }
+ if (cat_("/proc/cmdline") =~ /\bnoapic/) {
+ bootloader::set_append_simple($bootloader, 'noapic');
+ }
+ my ($MemTotal) = cat_("/proc/meminfo") =~ /^MemTotal:\s*(\d+)/m;
+ if (my ($biggest_swap) = sort { $b->{size} <=> $a->{size} } grep { isSwap($_) } @$fstab) {
+ log::l("MemTotal: $MemTotal < ", $biggest_swap->{size} / 2);
+ if ($MemTotal < $biggest_swap->{size} / 2) {
+ bootloader::set_append_with_key($bootloader, resume => devices::make($biggest_swap->{device}));
+ }
+ }
+
+ #- check for valid fb mode to enable a default boot with frame buffer.
+ my $vga = $allow_fb && (!detect_devices::matching_desc__regexp('3D Rage LT') &&
+ !detect_devices::matching_desc__regexp('Rage Mobility [PL]') &&
+ !detect_devices::matching_desc__regexp('i740') &&
+ !detect_devices::matching_desc__regexp('Matrox') &&
+ !detect_devices::matching_desc__regexp('Tseng.*ET6\d00') &&
+ !detect_devices::matching_desc__regexp('SiS.*SG86C2.5') &&
+ !detect_devices::matching_desc__regexp('SiS.*559[78]') &&
+ !detect_devices::matching_desc__regexp('SiS.*300') &&
+ !detect_devices::matching_desc__regexp('SiS.*540') &&
+ !detect_devices::matching_desc__regexp('SiS.*6C?326') &&
+ !detect_devices::matching_desc__regexp('SiS.*6C?236') &&
+ !detect_devices::matching_desc__regexp('Voodoo [35]|Voodoo Banshee') && #- 3d acceleration seems to bug in fb mode
+ !detect_devices::matching_desc__regexp('828[14][05].* CGC') #- i810 & i845 now have FB support during install but we disable it afterwards
+ );
+ my $force_vga = $allow_fb && (detect_devices::matching_desc__regexp('SiS.*630') || #- SiS 630 need frame buffer.
+ detect_devices::matching_desc__regexp('GeForce.*Integrated') #- needed for fbdev driver (hack).
+ );
+
+ #- propose the default fb mode for kernel fb, if aurora or bootsplash is installed.
+ my $need_fb = $do_pkgs->are_installed('bootsplash');
+ bootloader::suggest($bootloader, $all_hds,
+ vga_fb => ($force_vga || $vga && $need_fb) && $vga_fb,
+ quiet => $quiet);
+
+ $bootloader->{keytable} ||= keyboard::keyboard2kmap($keyboard);
+}
+
+sub setupBootloader {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+
+ require bootloader;
+ general:
+ {
+ local $::Wizard_no_previous = 1 if $::isStandalone;
+ setupBootloader__general($in, $b, $all_hds, $fstab, $security) or return 0;
+ }
+ setupBootloader__boot_bios_drive($in, $b, $all_hds->{hds}) or goto general;
+ {
+ local $::Wizard_finished = 1 if $::isStandalone;
+ setupBootloader__entries($in, $b, $all_hds, $fstab) or goto general;
+ }
+ 1;
+}
+
+sub setupBootloaderUntilInstalled {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+ do {
+ my $before = fs::fstab_to_string($all_hds);
+ setupBootloader($in, $b, $all_hds, $fstab, $security) or $in->exit;
+ if ($before ne fs::fstab_to_string($all_hds)) {
+ #- for /tmp using tmpfs when "clean /tmp" is chosen
+ fs::write_fstab($all_hds);
+ }
+ } while !installBootloader($in, $b, $all_hds);
+}
+
+sub installBootloader {
+ my ($in, $b, $all_hds) = @_;
+ return if detect_devices::is_xbox();
+ install_acpi_pkgs($in->do_pkgs, $b);
+
+ eval { run_program::rooted($::prefix, 'echo | lilo -u') } if $::isInstall && !$::o->{isUpgrade} && -e "$::prefix/etc/lilo.conf" && glob("$::prefix/boot/boot.*");
+
+ retry:
+ eval {
+ my $_w = $in->wait_message(N("Please wait"), N("Bootloader installation in progress"));
+ bootloader::install($b, $all_hds);
+ };
+
+ if (my $err = $@) {
+ $err =~ /wizcancel/ and return;
+ $err =~ s/^\w+ failed// or die;
+ $err = formatError($err);
+ while ($err =~ s/^Warning:.*//m) {}
+ if (my ($dev) = $err =~ /^Reference:\s+disk\s+"(.*?)".*^Is the above disk an NT boot disk?/ms) {
+ if ($in->ask_yesorno('',
+formatAlaTeX(N("LILO wants to assign a new Volume ID to drive %s. However, changing
+the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows error.
+This caution does not apply to Windows 95 or 98, or to NT data disks.
+
+Assign a new Volume ID?", $dev)))) {
+ $b->{force_lilo_answer} = 'n';
+ } else {
+ $b->{'static-bios-codes'} = 1;
+ }
+ goto retry;
+ } else {
+ $in->ask_warn('', [ N("Installation of bootloader failed. The following error occurred:"), $err ]);
+ return;
+ }
+ } elsif (arch() =~ /ppc/) {
+ if (detect_devices::get_mac_model() !~ /IBM/) {
+ my $of_boot = bootloader::dev2yaboot($b->{boot});
+ $in->ask_warn('', N("You may need to change your Open Firmware boot-device to\n enable the bootloader. If you do not see the bootloader prompt at\n reboot, hold down Command-Option-O-F at reboot and enter:\n setenv boot-device %s,\\\\:tbxi\n Then type: shut-down\nAt your next boot you should see the bootloader prompt.", $of_boot));
+ }
+ }
+ 1;
+}
+
+
+sub setupBootloader_simple {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+ my $hds = $all_hds->{hds};
+
+ require bootloader;
+ my $mixed_kind_of_disks = bootloader::mixed_kind_of_disks($hds);
+ #- full expert questions when there is 2 kind of disks
+ #- it would need a semi_auto asking on which drive the bios boots...
+
+ $mixed_kind_of_disks || $b->{bootUnsafe} || arch() =~ /ppc/ or return 1; #- default is good enough
+
+ if (!$mixed_kind_of_disks && arch() !~ /ia64/) {
+ setupBootloader__mbr_or_not($in, $b, $hds, $fstab) or return 0;
+ } else {
+ general:
+ setupBootloader__general($in, $b, $all_hds, $fstab, $security) or return 0;
+ }
+ setupBootloader__boot_bios_drive($in, $b, $hds) or goto general;
+ 1;
+}
+
+
+sub setupBootloader__boot_bios_drive {
+ my ($in, $b, $hds) = @_;
+
+ bootloader::mixed_kind_of_disks($hds) &&
+ $b->{boot} =~ /\d$/ && #- on a partition
+ is_empty_hash_ref($b->{bios}) && #- some bios mapping already there
+ arch() !~ /ppc/ or return 1;
+
+ log::l("mixed_kind_of_disks");
+ my $hd = $in->ask_from_listf('', N("You decided to install the bootloader on a partition.
+This implies you already have a bootloader on the hard drive you boot (eg: System Commander).
+
+On which drive are you booting?"), \&partition_table::description, $hds) or return 0;
+ log::l("mixed_kind_of_disks chosen $hd->{device}");
+ $b->{first_hd_device} = "/dev/$hd->{device}";
+ 1;
+}
+
+sub setupBootloader__mbr_or_not {
+ my ($in, $b, $hds, $fstab) = @_;
+
+ if (arch() =~ /ppc/) {
+ if (defined $partition_table::mac::bootstrap_part) {
+ $b->{boot} = $partition_table::mac::bootstrap_part;
+ log::l("set bootstrap to $b->{boot}");
+ } else {
+ die "no bootstrap partition - yaboot.conf creation failed";
+ }
+ } else {
+ my $floppy = detect_devices::floppy();
+
+ my @l = (
+ [ N("First sector of drive (MBR)") => '/dev/' . $hds->[0]{device} ],
+ [ N("First sector of the root partition") => '/dev/' . fs::get::root($fstab, 'boot')->{device} ],
+ if_($floppy,
+ [ N("On Floppy") => "/dev/$floppy" ],
+ ),
+ [ N("Skip") => '' ],
+ );
+
+ my $default = find { $_->[1] eq $b->{boot} } @l;
+ $in->ask_from_({ title => N("LILO/grub Installation"),
+ icon => 'banner-bootL',
+ messages => N("Where do you want to install the bootloader?"),
+ interactive_help_id => 'setupBootloaderBeginner',
+ },
+ [ { val => \$default, list => \@l, format => sub { $_[0][0] }, type => 'list' } ]);
+ my $new_boot = $default->[1] or return;
+
+ #- remove bios mapping if the user changed the boot device
+ delete $b->{bios} if $new_boot ne $b->{boot};
+ $b->{boot} = $new_boot;
+ }
+ 1;
+}
+
+sub setupBootloader__general {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+
+ return if detect_devices::is_xbox();
+ my @method_choices = bootloader::method_choices($all_hds);
+ my $prev_force_acpi = my $force_acpi = bootloader::get_append_with_key($b, 'acpi') !~ /off|ht/;
+ my $prev_enable_apic = my $enable_apic = !bootloader::get_append_simple($b, 'noapic');
+ my $prev_enable_lapic = my $enable_lapic = !bootloader::get_append_simple($b, 'nolapic');
+ my $memsize = bootloader::get_append_memsize($b);
+ my $prev_clean_tmp = my $clean_tmp = any { $_->{mntpoint} eq '/tmp' } @{$all_hds->{special} ||= []};
+ my $prev_boot = $b->{boot};
+ my $prev_method = $b->{method};
+
+ $b->{password2} ||= $b->{password} ||= '';
+ $::Wizard_title = N("Boot Style Configuration");
+ if (arch() !~ /ppc/) {
+ my (@boot_devices, %boot_devices);
+ foreach (bootloader::allowed_boot_parts($b, $all_hds)) {
+ my $dev = "/dev/$_->{device}";
+ push @boot_devices, $dev;
+ $boot_devices{$dev} = $_->{info} ? "$dev ($_->{info})" : $dev;
+ }
+
+ $in->ask_from_({ #messages => N("Bootloader main options"),
+ title => N("Bootloader main options"),
+ icon => 'banner-bootL',
+ interactive_help_id => 'setupBootloader',
+ }, [
+ #title => N("Bootloader main options"),
+ { label => N("Bootloader"), title => 1 },
+ { label => N("Bootloader to use"), val => \$b->{method}, list => \@method_choices, format => \&bootloader::method2text },
+ if_(arch() !~ /ia64/,
+ { label => N("Boot device"), val => \$b->{boot}, list => \@boot_devices, format => sub { $boot_devices{$_[0]} } },
+ ),
+ { label => N("Main options"), title => 1 },
+ { label => N("Delay before booting default image"), val => \$b->{timeout} },
+ { text => N("Enable ACPI"), val => \$force_acpi, type => 'bool' },
+ { text => N("Enable APIC"), val => \$enable_apic, type => 'bool', advanced => 1, disabled => sub { !$enable_lapic } },
+ { text => N("Enable Local APIC"), val => \$enable_lapic, type => 'bool', advanced => 1 },
+ if_($security >= 4 || $b->{password} || $b->{restricted},
+ { label => N("Password"), val => \$b->{password}, hidden => 1,
+ validate => sub {
+ my $ok = $b->{password} eq $b->{password2} or $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]);
+ my $ok2 = !($b->{password} && $b->{method} eq 'grub-graphic') or $in->ask_warn('', N("You can not use a password with %s", bootloader::method2text($b->{method})));
+ $ok && $ok2;
+ } },
+ { label => N("Password (again)"), val => \$b->{password2}, hidden => 1 },
+ { text => N("Restrict command line options"), val => \$b->{restricted}, type => "bool", text => N("restrict"),
+ validate => sub { my $ok = !$b->{restricted} || $b->{password} or $in->ask_warn('', N("Option ``Restrict command line options'' is of no use without a password")); $ok } },
+ ),
+ { text => N("Clean /tmp at each boot"), val => \$clean_tmp, type => 'bool', advanced => 1 },
+ { label => N("Precise RAM size if needed (found %d MB)", availableRamMB()), val => \$memsize, advanced => 1,
+ validate => sub { my $ok = !$memsize || $memsize =~ /^\d+K$/ || $memsize =~ s/^(\d+)M?$/$1M/i or $in->ask_warn('', N("Give the ram size in MB")); $ok } },
+ ]) or return 0;
+ } else {
+ $b->{boot} = $partition_table::mac::bootstrap_part;
+ $in->ask_from_({ messages => N("Bootloader main options"),
+ title => N("Bootloader main options"),
+ icon => 'banner-bootL',
+ interactive_help_id => 'setupYabootGeneral',
+ }, [
+ { label => N("Bootloader to use"), val => \$b->{method}, list => \@method_choices, format => \&bootloader::method2text },
+ { label => N("Init Message"), val => \$b->{'init-message'} },
+ { label => N("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (grep { isAppleBootstrap($_) } @$fstab)) ] },
+ { label => N("Open Firmware Delay"), val => \$b->{delay} },
+ { label => N("Kernel Boot Timeout"), val => \$b->{timeout} },
+ { label => N("Enable CD Boot?"), val => \$b->{enablecdboot}, type => "bool" },
+ { label => N("Enable OF Boot?"), val => \$b->{enableofboot}, type => "bool" },
+ { label => N("Default OS?"), val => \$b->{defaultos}, list => [ 'linux', 'macos', 'macosx', 'darwin' ] },
+ ]) or return 0;
+ }
+
+ #- remove bios mapping if the user changed the boot device
+ delete $b->{bios} if $b->{boot} ne $prev_boot;
+
+ if ($b->{boot} =~ m!/dev/md\d+$!) {
+ $b->{'raid-extra-boot'} = 'mbr';
+ } else {
+ delete $b->{'raid-extra-boot'} if $b->{'raid-extra-boot'} eq 'mbr';
+ }
+
+ bootloader::ensure_pkg_is_installed($in->do_pkgs, $b) or return 0;
+
+ bootloader::suggest_message_text($b) if ! -e "$::prefix/boot/message-text"; #- in case we switch from grub to lilo
+
+ bootloader::set_append_memsize($b, $memsize);
+ if ($prev_force_acpi != $force_acpi) {
+ bootloader::set_append_with_key($b, acpi => ($force_acpi ? '' : 'ht'));
+ }
+ if ($prev_enable_apic != $enable_apic) {
+ ($enable_apic ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'noapic');
+ }
+ if ($prev_enable_lapic != $enable_lapic) {
+ ($enable_lapic ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'nolapic');
+ }
+
+ if ($prev_clean_tmp != $clean_tmp) {
+ if ($clean_tmp && !fs::get::has_mntpoint('/tmp', $all_hds)) {
+ push @{$all_hds->{special}}, { device => 'none', mntpoint => '/tmp', fs_type => 'tmpfs' };
+ } else {
+ @{$all_hds->{special}} = grep { $_->{mntpoint} ne '/tmp' } @{$all_hds->{special}};
+ }
+ }
+
+ if (bootloader::main_method($prev_method) eq 'lilo' &&
+ bootloader::main_method($b->{method}) eq 'grub') {
+ log::l("switching for lilo to grub, ensure we don't read lilo.conf anymore");
+ renamef("$::prefix/etc/lilo.conf", "$::prefix/etc/lilo.conf.unused");
+ }
+ 1;
+}
+
+sub setupBootloader__entries {
+ my ($in, $b, $all_hds, $fstab) = @_;
+
+ require Xconfig::resolution_and_depth;
+
+ my $Modify = sub {
+ require network::network; #- to list network profiles
+ my ($e) = @_;
+ my $default = my $old_default = $e->{label} eq $b->{default};
+ my $vga = Xconfig::resolution_and_depth::from_bios($e->{vga});
+ my ($append, $netprofile) = bootloader::get_append_netprofile($e);
+
+ my %hd_infos = map { $_->{device} => $_->{info} } fs::get::hds($all_hds);
+ my %root_descr = map {
+ my $info = delete $hd_infos{$_->{rootDevice}};
+ my $dev = "/dev/$_->{device}";
+ $dev => $info ? "$dev ($info)" : $dev;
+ } @$fstab;
+
+ my @l;
+ if ($e->{type} eq "image") {
+ @l = (
+{ label => N("Image"), val => \$e->{kernel_or_dev}, list => [ map { "/boot/$_" } bootloader::installed_vmlinuz() ], not_edit => 0 },
+{ label => N("Root"), val => \$e->{root}, list => [ map { "/dev/$_->{device}" } @$fstab ], format => sub { $root_descr{$_[0]} } },
+{ label => N("Append"), val => \$append },
+ if_($e->{xen},
+{ label => N("Xen append"), val => \$e->{xen_append} }
+ ),
+ if_(arch() !~ /ppc|ia64/,
+{ label => N("Video mode"), val => \$vga, list => [ '', Xconfig::resolution_and_depth::bios_vga_modes() ], format => \&Xconfig::resolution_and_depth::to_string, advanced => 1 },
+),
+{ label => N("Initrd"), val => \$e->{initrd}, list => [ map { if_(/^initrd/, "/boot/$_") } all("$::prefix/boot") ], not_edit => 0, advanced => 1 },
+{ label => N("Network profile"), val => \$netprofile, list => [ sort(uniq('', $netprofile, network::network::netprofile_list())) ], advanced => 1 },
+ );
+ } else {
+ @l = (
+{ label => N("Root"), val => \$e->{kernel_or_dev}, list => [ map { "/dev/$_->{device}" } @$fstab, detect_devices::floppies() ] },
+ );
+ }
+ if (arch() !~ /ppc/) {
+ @l = (
+ { label => N("Label"), val => \$e->{label} },
+ @l,
+ { text => N("Default"), val => \$default, type => 'bool' },
+ );
+ } else {
+ unshift @l, { label => N("Label"), val => \$e->{label}, list => ['macos', 'macosx', 'darwin'] };
+ if ($e->{type} eq "image") {
+ @l = ({ label => N("Label"), val => \$e->{label} },
+ (@l[1..2], { label => N("Append"), val => \$append }),
+ { label => N("NoVideo"), val => \$e->{novideo}, type => 'bool' },
+ { text => N("Default"), val => \$default, type => 'bool' }
+ );
+ }
+ }
+
+ $in->ask_from_(
+ {
+ interactive_help_id => arch() =~ /ppc/ ? 'setupYabootAddEntry' : 'setupBootloaderAddEntry',
+ callbacks => {
+ complete => sub {
+ $e->{label} or $in->ask_warn('', N("Empty label not allowed")), return 1;
+ $e->{kernel_or_dev} or $in->ask_warn('', $e->{type} eq 'image' ? N("You must specify a kernel image") : N("You must specify a root partition")), return 1;
+ member(lc $e->{label}, map { lc $_->{label} } grep { $_ != $e } @{$b->{entries}}) and $in->ask_warn('', N("This label is already used")), return 1;
+ 0;
+ } } }, \@l) or return;
+
+ $b->{default} = $old_default || $default ? $default && $e->{label} : $b->{default};
+ $e->{vga} = ref($vga) ? $vga->{bios} : $vga;
+ bootloader::set_append_netprofile($e, $append, $netprofile);
+ bootloader::configure_entry($b, $e); #- hack to make sure initrd file are built.
+ 1;
+ };
+
+ my $Add = sub {
+ my @labels = map { $_->{label} } @{$b->{entries}};
+ my ($e, $prefix);
+ if ($in->ask_from_list_('', N("Which type of entry do you want to add?"),
+ [ N_("Linux"), arch() =~ /sparc/ ? N_("Other OS (SunOS...)") : arch() =~ /ppc/ ?
+ N_("Other OS (MacOS...)") : N_("Other OS (Windows...)") ]
+ ) eq "Linux") {
+ $e = { type => 'image',
+ root => '/dev/' . fs::get::root($fstab)->{device}, #- assume a good default.
+ };
+ $prefix = "linux";
+ } else {
+ $e = { type => 'other' };
+ $prefix = arch() =~ /sparc/ ? "sunos" : arch() =~ /ppc/ ? "macos" : "windows";
+ }
+ $e->{label} = $prefix;
+ for (my $nb = 0; member($e->{label}, @labels); $nb++) {
+ $e->{label} = "$prefix-$nb";
+ }
+ $Modify->($e) or return;
+ bootloader::add_entry($b, $e);
+ $e;
+ };
+
+ my $Remove = sub {
+ my ($e) = @_;
+ delete $b->{default} if $b->{default} eq $e->{label};
+ @{$b->{entries}} = grep { $_ != $e } @{$b->{entries}};
+ 1;
+ };
+
+ my @prev_entries = @{$b->{entries}};
+ if ($in->ask_from__add_modify_remove('',
+N("Here are the entries on your boot menu so far.
+You can create additional entries or change the existing ones."), [ {
+ format => sub {
+ my ($e) = @_;
+ ref($e) ?
+ ($b->{default} eq $e->{label} ? " * " : " ") . "$e->{label} ($e->{kernel_or_dev})" :
+ translate($e);
+ }, list => $b->{entries},
+ } ], Add => $Add, Modify => $Modify, Remove => $Remove)) {
+ 1;
+ } else {
+ @{$b->{entries}} = @prev_entries;
+ '';
+ }
+}
+
+sub get_autologin() {
+ my %desktop = getVarsFromSh("$::prefix/etc/sysconfig/desktop");
+ my $desktop = $desktop{DESKTOP} || 'KDE';
+ my $autologin = do {
+ if (($desktop{DISPLAYMANAGER} || $desktop) eq 'GNOME') {
+ my %conf = read_gnomekderc("$::prefix/etc/X11/gdm/custom.conf", 'daemon');
+ text2bool($conf{AutomaticLoginEnable}) && $conf{AutomaticLogin};
+ } else { # KDM / MdkKDM
+ my %conf = read_gnomekderc("$::prefix/etc/kde/kdm/kdmrc", 'X-:0-Core');
+ text2bool($conf{AutoLoginEnable}) && $conf{AutoLoginUser};
+ }
+ };
+ { autologin => $autologin, desktop => $desktop };
+}
+
+sub set_autologin {
+ my ($do_pkgs, $o_user, $o_wm) = @_;
+ log::l("set_autologin $o_user $o_wm");
+ my $autologin = bool2text($o_user);
+
+ #- Configure KDM / MDKKDM
+ eval { common::update_gnomekderc_no_create("$::prefix/etc/kde/kdm/kdmrc", 'X-:0-Core' => (
+ AutoLoginEnable => $autologin,
+ AutoLoginUser => $o_user,
+ )) };
+
+ #- Configure GDM
+ eval { update_gnomekderc("$::prefix/etc/X11/gdm/custom.conf", daemon => (
+ AutomaticLoginEnable => $autologin,
+ AutomaticLogin => $o_user,
+ )) };
+
+ my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin";
+ if (member($o_wm, 'KDE', 'GNOME')) {
+ unlink $xdm_autologin_cfg;
+ } else {
+ $do_pkgs->ensure_is_installed('autologin', '/usr/bin/startx.autologin') if $o_user;
+ setVarsInShMode($xdm_autologin_cfg, 0644,
+ { USER => $o_user, AUTOLOGIN => bool2yesno($o_user), EXEC => '/usr/bin/startx.autologin' });
+ }
+
+ if ($o_user) {
+ my $home = (getpwnam($o_user))[7];
+ set_window_manager($home, $o_wm);
+ }
+}
+sub set_window_manager {
+ my ($home, $wm) = @_;
+ log::l("set_window_manager $home $wm");
+ my $p_home = "$::prefix$home";
+
+ #- for KDM/GDM
+ my $wm_number = sessions_with_order()->{$wm} || '';
+ update_gnomekderc("$p_home/.dmrc", 'Desktop', Session => "$wm_number$wm");
+ my $user = find { $home eq $_->[7] } list_passwd();
+ chown($user->[2], $user->[3], "$p_home/.dmrc");
+
+ #- for startx/autologin
+ {
+ my %l = getVarsFromSh("$p_home/.desktop");
+ $l{DESKTOP} = $wm;
+ setVarsInSh("$p_home/.desktop", \%l);
+ }
+}
+
+sub rotate_log {
+ my ($f) = @_;
+ if (-e $f) {
+ my $i = 1;
+ for (; -e "$f$i" || -e "$f$i.gz"; $i++) {}
+ rename $f, "$f$i";
+ }
+}
+sub rotate_logs {
+ my ($prefix) = @_;
+ rotate_log("$prefix/root/drakx/$_") foreach qw(ddebug.log install.log);
+}
+
+sub writeandclean_ldsoconf {
+ my ($prefix) = @_;
+ my $file = "$prefix/etc/ld.so.conf";
+ my @l = chomp_(cat_($file));
+
+ my @default = ('/lib', '/usr/lib'); #- no need to have /lib and /usr/lib in ld.so.conf
+ my @suggest = ('/usr/X11R6/lib', '/usr/lib/qt3/lib'); #- needed for upgrade where package renaming can cause this to disappear
+
+ if (arch() =~ /x86_64/) {
+ @default = map { $_, $_ . '64' } @default;
+ @suggest = map { $_, $_ . '64' } @suggest;
+ }
+ push @l, grep { -d "$::prefix$_" } @suggest;
+ @l = difference2(\@l, \@default);
+
+ log::l("writeandclean_ldsoconf");
+ output($file, map { "$_\n" } uniq(@l));
+}
+
+sub shells() {
+ grep { -x "$::prefix$_" } chomp_(cat_("$::prefix/etc/shells"));
+}
+
+sub inspect {
+ my ($part, $o_prefix, $b_rw) = @_;
+
+ isMountableRW($part) || !$b_rw && isOtherAvailableFS($part) or return;
+
+ my $dir = $::isInstall ? "/tmp/inspect_tmp_dir" : "/root/.inspect_tmp_dir";
+
+ if ($part->{isMounted}) {
+ $dir = ($o_prefix || '') . $part->{mntpoint};
+ } elsif ($part->{notFormatted} && !$part->{isFormatted}) {
+ $dir = '';
+ } else {
+ mkdir $dir, 0700;
+ eval { fs::mount::mount(fs::wild_device::from_part('', $part), $dir, $part->{fs_type}, !$b_rw) };
+ $@ and return;
+ }
+ my $h = before_leaving {
+ if (!$part->{isMounted} && $dir) {
+ fs::mount::umount($dir);
+ unlink($dir);
+ }
+ };
+ $h->{dir} = $dir;
+ $h;
+}
+
+sub ask_user_one {
+ my ($in, $users, $security, $u, $suggested_names, %options) = @_;
+
+ $options{needauser} ||= $security >= 3;
+
+ my @suggested_names = grep { ! defined getpwnam($_) } @$suggested_names;
+
+ my %high_security_groups = (
+ xgrp => N("access to X programs"),
+ rpm => N("access to rpm tools"),
+ wheel => N("allow \"su\""),
+ adm => N("access to administrative files"),
+ ntools => N("access to network tools"),
+ ctools => N("access to compilation tools"),
+ );
+
+ $u->{password2} ||= $u->{password} ||= '';
+ $u->{shell} ||= '/bin/bash';
+ my $names = @$users ? N("(already added %s)", join(", ", map { $_->{realname} || $_->{name} } @$users)) : '';
+
+ my %groups;
+
+ require authentication;
+ my $verif = sub {
+ authentication::check_given_password($in, $u, $security > 3 ? 6 : 0) or return 1,2;
+ $u->{name} or $in->ask_warn('', N("Please give a user name")), return 1,0;
+ $u->{name} =~ /^[a-z]+?[a-z0-9_-]*?$/ or $in->ask_warn('', N("The user name must contain only lower cased letters, numbers, `-' and `_'")), return 1,0;
+ length($u->{name}) <= 32 or $in->ask_warn('', N("The user name is too long")), return 1,0;
+ defined getpwnam($u->{name}) || member($u->{name}, map { $_->{name} } @$users) and $in->ask_warn('', N("This user name has already been added")), return 1,0;
+ foreach ([ $u->{uid}, N("User ID") ],
+ [ $u->{gid}, N("Group ID") ]) {
+ my ($id, $name) = @$_;
+ $id or next;
+ $id =~ /^\d+$/ or $in->ask_warn('', N("%s must be a number", $name)), return 1;
+ $id >= 500 or $in->ask_yesorno('', N("%s should be above 500. Accept anyway?", $name)) or return 1;
+ }
+ return 0;
+ };
+ my $ret = $in->ask_from_(
+ { title => N("Add user"),
+ icon => 'banner-adduser',
+ messages => N("Enter a user\n%s", $options{additional_msg} || $names),
+ interactive_help_id => 'addUser',
+ focus_first => 1,
+ if_(!$::isInstall, ok => N("Done")),
+ cancel => $options{noaccept} ? '' : N("Accept user"),
+ callbacks => {
+ canceled => $verif,
+ ok_disabled => sub { $options{needauser} && !@$users || $u->{name} },
+ } }, [
+ { label => N("Real name"), val => \$u->{realname}, focus_out => sub {
+ $u->{name} ||= lc first($u->{realname} =~ /([a-zA-Z0-9_-]+)/);
+ } },
+ { label => N("Login name"), val => \$u->{name}, list => \@suggested_names, not_edit => 0 },
+ { label => N("Password"),val => \$u->{password}, hidden => 1 },
+ { label => N("Password (again)"), val => \$u->{password2}, hidden => 1 },
+ { label => N("Shell"), val => \$u->{shell}, list => [ shells() ], advanced => 1 },
+ { label => N("User ID"), val => \$u->{uid}, advanced => 1 },
+ { label => N("Group ID"), val => \$u->{gid}, advanced => 1 },
+ if_($security > 3,
+ map {
+ { label => $_, val => \$groups{$_}, text => $high_security_groups{$_}, type => 'bool' };
+ } keys %high_security_groups,
+ ),
+ ],
+ );
+ $u->{groups} = [ grep { $groups{$_} } keys %groups ];
+
+ push @$users, $u if $u->{name};
+
+ return $ret;
+}
+
+sub ask_users {
+ my ($in, $users, $security, $suggested_names) = @_;
+
+ while (1) {
+ my $u = {};
+ ask_user_one($in, $users, $security, $u, $suggested_names) and return;
+ }
+}
+
+sub sessions() {
+ split(' ', run_program::rooted_get_stdout($::prefix, '/usr/sbin/chksession', '-l'));
+}
+sub sessions_with_order() {
+ my %h = map { /(.*)=(.*)/ } split(' ', run_program::rooted_get_stdout($::prefix, '/usr/sbin/chksession', '-L'));
+ \%h;
+}
+
+sub autologin {
+ my ($o, $in) = @_;
+
+ my @wm = sessions();
+ my @users = map { $_->{name} } @{$o->{users} || []};
+
+ if (!$::globetrotter && member('KDE', @wm) && @users == 1 && $o->{meta_class} eq 'desktop') {
+ $o->{desktop} = 'KDE';
+ $o->{autologin} = $users[0];
+ } elsif ($::globetrotter || @wm > 1 && @users && !$o->{authentication}{NIS} && $o->{security} <= 2) {
+ my $use_autologin = $::globetrotter || @users == 1;
+
+ $in->ask_from_(
+ { title => N("Autologin"),
+ messages => N("I can set up your computer to automatically log on one user.") },
+ [ { text => N("Use this feature"), val => \$use_autologin, type => 'bool' },
+ { label => N("Choose the default user:"), val => \$o->{autologin}, list => \@users, disabled => sub { !$use_autologin } },
+ { label => N("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm, disabled => sub { !$use_autologin } } ]
+ );
+ delete $o->{autologin} if !$use_autologin;
+ } else {
+ delete $o->{autologin};
+ }
+}
+
+sub acceptLicense {
+ my ($o) = @_;
+ require messages;
+
+ $o->{release_notes} = join("\n\n", grep { $_ } map {
+ if ($::isInstall) {
+ my $f = install::any::getFile_($o->{stage2_phys_medium}, $_);
+ $f && cat__($f);
+ } else {
+ my $file = $_;
+ my $d = find { -e "$_/$file" } glob_("/usr/share/doc/*-release-*");
+ $d && cat_("$d/$file");
+ }
+ } 'release-notes.txt', 'release-notes.' . arch() . '.txt');
+
+
+ return if $o->{useless_thing_accepted};
+
+ my $r = $::testing ? 'Accept' : 'Refuse';
+
+ $o->ask_from_({ title => N("License agreement"),
+ icon => 'banner-license',
+ focus_first => 1,
+ cancel => N("Quit"),
+ messages => formatAlaTeX(messages::main_license() . "\n\n\n" . messages::warning_about_patents()),
+ interactive_help_id => 'acceptLicense',
+ if_(!$::globetrotter && $o->{release_notes}, more_buttons => [ [ N("Release Notes"), sub { $o->ask_warn(N("Release Notes"), $o->{release_notes}) }, 1 ] ]),
+ callbacks => { ok_disabled => sub { $r eq 'Refuse' } },
+ },
+ [ { list => [ N_("Accept"), N_("Refuse") ], val => \$r, type => 'list', format => sub { translate($_[0]) } } ])
+ or do {
+ # when refusing license in finish-install:
+ exec("/sbin/reboot") if !$::isInstall;
+ if ($::globetrotter) {
+ run_program::run('killall', 'Xorg');
+ exec("/sbin/reboot");
+ } else {
+ install::media::umount_phys_medium($o->{stage2_phys_medium});
+ install::media::openCdromTray($o->{stage2_phys_medium}{device}) if !detect_devices::is_xbox() && $o->{method} eq 'cdrom';
+ $o->exit;
+ }
+ };
+}
+
+
+sub selectLanguage_install {
+ my ($in, $locale) = @_;
+
+ my $common = { messages => N("Please choose a language to use."),
+ title => N("Language choice"),
+ icon => 'banner-languages.png',
+ interactive_help_id => 'selectLanguage' };
+
+ my $lang = $locale->{lang};
+ my $langs = $locale->{langs} ||= {};
+ my $using_images = $in->isa('interactive::gtk') && !$::o->{vga16};
+
+ my %name2l = map { lang::l2name($_) => $_ } lang::list_langs();
+ my $listval2val = sub { $_[0] =~ /\|(.*)/ ? $1 : $_[0] };
+
+ #- since gtk version will use images (function image2f) we need to sort differently
+ my $sort_func = $using_images ? \&lang::l2transliterated : \&lang::l2name;
+ my @langs = sort { $sort_func->($a) cmp $sort_func->($b) } lang::list_langs();
+
+ if (@langs > 15) {
+ my $add_location = sub {
+ my ($l) = @_;
+ map { "$_|$l" } lang::l2location($l);
+ };
+ @langs = map { $add_location->($_) } @langs;
+
+ #- to create the default value, use the first location for that value :/
+ $lang = first($add_location->($lang));
+ }
+
+ my $non_utf8 = 0;
+ my $utf8_forced;
+ add2hash($common, { cancel => '',
+ focus_first => 1,
+ advanced_messages => formatAlaTeX(N("Mandriva Linux can support multiple languages. Select
+the languages you would like to install. They will be available
+when your installation is complete and you restart your system.")),
+ advanced_label => N("Multi languages"),
+ });
+
+ $in->ask_from_($common, [
+ { val => \$lang, separator => '|',
+ if_($using_images, image2f => sub { $name2l{$_[0]} =~ /^[a-z]/ && "langs/lang-$name2l{$_[0]}" }),
+ format => sub { $_[0] =~ /(.*\|)(.*)/ ? $1 . lang::l2name($2) : lang::l2name($_[0]) },
+ list => \@langs, sort => 0, changed => sub {
+ #- very special cases for langs which do not like UTF-8
+ $non_utf8 = $lang =~ /\bzh/ if !$utf8_forced;
+ }, focus_out => sub { $langs->{$listval2val->($lang)} = 1 } },
+ if_(!$::move,
+ { val => \$non_utf8, type => 'bool', text => N("Old compatibility (non UTF-8) encoding"),
+ advanced => 1, changed => sub { $utf8_forced = 1 } },
+ { val => \$langs->{all}, type => 'bool', text => N("All languages"), advanced => 1 },
+ map {
+ { val => \$langs->{$_->[0]}, type => 'bool', disabled => sub { $langs->{all} },
+ text => $_->[1], advanced => 1,
+ image => "langs/lang-$_->[0]",
+ };
+ } sort { $a->[1] cmp $b->[1] } map { [ $_, $sort_func->($_) ] } lang::list_langs(),
+ ),
+ ]) or return;
+ $locale->{utf8} = !$non_utf8;
+ %$langs = grep_each { $::b } %$langs; #- clean hash
+ $langs->{$listval2val->($lang)} = 1;
+
+ #- convert to the default locale for asked language
+ $locale->{lang} = $listval2val->($lang);
+}
+
+sub selectLanguage_standalone {
+ my ($in, $locale) = @_;
+
+ my $common = { messages => N("Please choose a language to use."),
+ title => N("Language choice"),
+ interactive_help_id => 'selectLanguage' };
+
+ my @langs = sort { lang::l2name($a) cmp lang::l2name($b) } lang::list_langs(exclude_non_installed => 1);
+ my $non_utf8 = !$locale->{utf8};
+ $in->ask_from_($common, [
+ { val => \$locale->{lang}, type => 'list',
+ format => sub { lang::l2name($_[0]) }, list => \@langs, allow_empty_list => 1 },
+ { val => \$non_utf8, type => 'bool', text => N("Old compatibility (non UTF-8) encoding"), advanced => 1 },
+ ]);
+ $locale->{utf8} = !$non_utf8;
+ lang::set($locale);
+ Gtk2->set_locale if $in->isa('interactive::gtk');
+}
+
+sub selectLanguage_and_more_standalone {
+ my ($in, $locale) = @_;
+ eval {
+ local $::isWizard = 1;
+ language:
+ # keep around previous settings so that selectLanguage can keep UTF-8 flag:
+ local $::Wizard_no_previous = 1;
+ my $old_lang = $locale->{lang};
+ selectLanguage_standalone($in, $locale);
+ lang::lang_changed($locale) if $old_lang ne $locale->{lang};
+ undef $::Wizard_no_previous;
+ selectCountry($in, $locale) or goto language;
+ };
+ if ($@) {
+ if ($@ !~ /wizcancel/) {
+ die;
+ } else {
+ $in->exit(0);
+ }
+ }
+}
+
+sub selectCountry {
+ my ($in, $locale) = @_;
+
+ my $country = $locale->{country};
+ my @countries = lang::list_countries(exclude_non_installed => !$::isInstall);
+ my @best = uniq map {
+ my $h = lang::analyse_locale_name($_);
+ if_($h->{main} eq lang::locale_to_main_locale($locale->{lang}) && $h->{country},
+ $h->{country});
+ } @lang::locales;
+ @best == 1 and @best = ();
+
+ my $other = !member($country, @best);
+ my $ext_country = $country;
+ $other and @best = ();
+
+ $in->ask_from_(
+ { title => N("Country / Region"),
+ icon => 'banner-languages',
+ messages => N("Please choose your country."),
+ interactive_help_id => 'selectCountry',
+ if_(@best, advanced_messages => N("Here is the full list of available countries")),
+ advanced_label => @best ? N("Other Countries") : N("Advanced"),
+ },
+ [ if_(@best, { val => \$country, type => 'list', format => \&lang::c2name,
+ list => \@best, sort => 1, changed => sub { $other = 0 } }),
+ { val => \$ext_country, type => 'list', format => \&lang::c2name,
+ list => [ @countries ], advanced => scalar(@best), changed => sub { $other = 1 } },
+ { val => \$locale->{IM}, type => 'combo', label => N("Input method:"),
+ sort => 0, separator => '|',
+ list => [ '', sort(lang::get_ims()) ],
+ format => sub { $_[0] ? uc($_[0] =~ /(.*)\+(.*)/ ? "$1|$1+$2" : $_[0]) : N("None") },
+ advanced => !$locale->{IM},
+ },
+ ]) or return;
+
+ $locale->{country} = $other || !@best ? $ext_country : $country;
+}
+
+sub set_login_serial_console {
+ my ($port, $speed) = @_;
+
+ my $line = "s$port:12345:respawn:/sbin/agetty ttyS$port $speed ansi\n";
+ substInFile { s/^s$port:.*//; $_ = $line if eof } "$::prefix/etc/inittab";
+}
+
+sub report_bug {
+ my (@other) = @_;
+
+ sub header { "
+********************************************************************************
+* $_[0]
+********************************************************************************";
+ }
+
+ join '', map { chomp; "$_\n" }
+ header("lspci"), detect_devices::stringlist(),
+ header("pci_devices"), cat_("/proc/bus/pci/devices"),
+ header("dmidecode"), `dmidecode`,
+ header("fdisk"), arch() =~ /ppc/ ? `pdisk -l` : `fdisk -l`,
+ header("scsi"), cat_("/proc/scsi/scsi"),
+ header("/sys/bus/scsi/devices"), -d '/sys/bus/scsi/devices' ? `ls -l /sys/bus/scsi/devices` : (),
+ header("lsmod"), cat_("/proc/modules"),
+ header("cmdline"), cat_("/proc/cmdline"),
+ header("pcmcia: stab"), cat_("$::prefix/var/lib/pcmcia/stab") || cat_("$::prefix/var/run/stab"),
+ header("usb"), cat_("/proc/bus/usb/devices"),
+ header("partitions"), cat_("/proc/partitions"),
+ header("cpuinfo"), cat_("/proc/cpuinfo"),
+ header("syslog"), cat_("/tmp/syslog") || cat_("$::prefix/var/log/syslog"),
+ header("monitor_full_edid"), monitor_full_edid(),
+ header("stage1.log"), cat_("/tmp/stage1.log") || cat_("$::prefix/root/drakx/stage1.log"),
+ header("ddebug.log"), cat_("/tmp/ddebug.log") || cat_("$::prefix/root/drakx/ddebug.log"),
+ header("install.log"), cat_("$::prefix/root/drakx/install.log"),
+ header("fstab"), cat_("$::prefix/etc/fstab"),
+ header("modprobe.conf"), cat_("$::prefix/etc/modprobe.conf"),
+ header("lilo.conf"), cat_("$::prefix/etc/lilo.conf"),
+ header("grub: menu.lst"), cat_("$::prefix/boot/grub/menu.lst"),
+ header("grub: install.sh"), cat_("$::prefix/boot/grub/install.sh"),
+ header("grub: device.map"), cat_("$::prefix/boot/grub/device.map"),
+ header("xorg.conf"), cat_("$::prefix/etc/X11/xorg.conf"),
+ header("urpmi.cfg"), cat_("$::prefix/etc/urpmi/urpmi.cfg"),
+ header("modprobe.preload"), cat_("$::prefix/etc/modprobe.preload"),
+ header("sysconfig/i18n"), cat_("$::prefix/etc/sysconfig/i18n"),
+ header("/proc/iomem"), cat_("/proc/iomem"),
+ header("/proc/ioport"), cat_("/proc/ioports"),
+ map_index { even($::i) ? header($_) : $_ } @other;
+}
+
+sub fix_broken_alternatives {
+ my ($force_default) = @_;
+ #- fix bad update-alternatives that may occurs after upgrade (and sometimes for install too).
+ -d "$::prefix/etc/alternatives" or return;
+
+ foreach (all("$::prefix/etc/alternatives")) {
+ if ($force_default) {
+ log::l("setting alternative $_");
+ } else {
+ next if run_program::rooted($::prefix, 'test', '-e', "/etc/alternatives/$_");
+ log::l("fixing broken alternative $_");
+ }
+ run_program::rooted($::prefix, 'update-alternatives', '--auto', $_);
+ }
+}
+
+
+sub fileshare_config {
+ my ($in, $type) = @_; #- $type is 'nfs', 'smb' or ''
+
+ my $file = '/etc/security/fileshare.conf';
+ my %conf = getVarsFromSh($file);
+
+ my @l = (N_("No sharing"), N_("Allow all users"), N_("Custom"));
+ my $restrict = exists $conf{RESTRICT} ? text2bool($conf{RESTRICT}) : 1;
+
+ my $r = $in->ask_from_list_('fileshare',
+N("Would you like to allow users to share some of their directories?
+Allowing this will permit users to simply click on \"Share\" in konqueror and nautilus.
+
+\"Custom\" permit a per-user granularity.
+"),
+ \@l, $l[$restrict ? (getgrnam('fileshare') ? 2 : 0) : 1]) or return;
+ $restrict = $r ne $l[1];
+ my $custom = $r eq $l[2];
+ if ($r ne $l[0]) {
+ require services;
+ my %types = (
+ nfs => [ 'nfs-utils', 'nfs',
+ N("NFS: the traditional Unix file sharing system, with less support on Mac and Windows.")
+ ],
+ smb => [ 'samba-server', 'smb',
+ N("SMB: a file sharing system used by Windows, Mac OS X and many modern Linux systems.")
+ ],
+ );
+ my %l;
+ if ($type) {
+ %l = ($type => 1);
+ } else {
+ %l = map_each { $::a => services::starts_on_boot($::b->[1]) } %types;
+ $in->ask_from_({ messages => N("You can export using NFS or SMB. Please select which you would like to use."),
+ callbacks => { ok_disabled => sub { !any { $_ } values %l } },
+ },
+ [ map { { text => $types{$_}[2], val => \$l{$_}, type => 'bool' } } keys %l ]) or return;
+ }
+ foreach (keys %types) {
+ my ($pkg, $service, $_descr) = @{$types{$_}};
+ my $file = "/etc/init.d/$service";
+ if ($l{$_}) {
+ $in->do_pkgs->ensure_is_installed($pkg, $file) or return;
+ services::start($service);
+ services::start_service_on_boot($service);
+ } elsif (-e $file) {
+ services::stop($service);
+ services::do_not_start_service_on_boot($service);
+ }
+ }
+ }
+ $conf{RESTRICT} = bool2yesno($restrict);
+ setVarsInSh($file, \%conf);
+
+ if ($custom) {
+ run_program::rooted($::prefix, 'groupadd', '-r', 'fileshare');
+ if ($in->ask_from_no_check(
+ {
+ -e '/usr/sbin/userdrake' ? (ok => N("Launch userdrake"), cancel => N("Close")) : (cancel => ''),
+ messages =>
+N("The per-user sharing uses the group \"fileshare\".
+You can use userdrake to add a user to this group.")
+ }, [])) {
+ run_program::run('userdrake');
+ }
+ }
+}
+
+sub monitor_full_edid() {
+ return if $::noauto;
+
+ devices::make('zero');
+ my ($vbe, $edid);
+ run_program::raw({ timeout => 20 },
+ 'monitor-edid', '>', \$edid, '2>', \$vbe,
+ '-v', '--perl', if_($::isStandalone, '--try-in-console'));
+ if ($::isInstall) {
+ foreach (['edid', \$edid], ['vbe', \$vbe]) {
+ my ($name, $val) = @$_;
+ if (-e "/tmp/$name") {
+ my $old = cat_("/tmp/$name");
+ if (length($$val) < length($old)) {
+ log::l("new $name is worse, keeping the previous one");
+ $$val = $old;
+ } elsif (length($$val) > length($old)) {
+ log::l("new $name is better, dropping the previous one");
+ }
+ }
+ output("/tmp/$name", $$val);
+ }
+ }
+ ($edid, $vbe);
+}
+
+sub running_window_manager() {
+ my @window_managers = qw(kwin gnome-session icewm wmaker afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce blackbox sawfish olvwm fluxbox compiz);
+
+ foreach (@window_managers) {
+ my @pids = fuzzy_pidofs(qr/\b$_\b/) or next;
+ return wantarray() ? ($_, @pids) : $_;
+ }
+ undef;
+}
+
+sub ask_window_manager_to_logout {
+ my ($wm) = @_;
+
+ my %h = (
+ 'kwin' => "dcop kdesktop default logout",
+ 'gnome-session' => "gnome-session-save --kill",
+ 'icewm' => "killall -QUIT icewm",
+ );
+ my $cmd = $h{$wm} or return;
+ if ($wm eq 'gnome-session') {
+ #- NB: consolehelper does not destroy $HOME whereas kdesu does
+ #- for gnome, we use consolehelper, so below works
+ $ENV{ICEAUTHORITY} ||= "$ENV{HOME}/.ICEauthority";
+ } elsif ($wm eq 'kwin' && $> == 0) {
+ #- we can not use dcop when we are root
+ $cmd = "su $ENV{USER} -c '$cmd'";
+ }
+ system($cmd);
+ 1;
+}
+
+sub ask_window_manager_to_logout_then_do {
+ my ($wm, $pid, $action) = @_;
+ if (fork()) {
+ ask_window_manager_to_logout($wm);
+ return;
+ }
+
+ open STDIN, "</dev/zero";
+ open STDOUT, ">/dev/null";
+ open STDERR, ">&STDERR";
+ c::setsid();
+ exec 'perl', '-e', q(
+ my ($wm, $pid, $action) = @ARGV;
+ my $nb;
+ for ($nb = 30; $nb && -e "/proc/$pid"; $nb--) { sleep 1 }
+ system($action) if $nb;
+ ), $wm, $pid, $action;
+}
+
+sub ask_for_X_restart {
+ my ($in) = @_;
+
+ $::isStandalone && $in->isa('interactive::gtk') or return;
+
+ my ($wm, $pid) = running_window_manager();
+
+ if (!$wm) {
+ $in->ask_warn('', N("Please log out and then use Ctrl-Alt-BackSpace"));
+ return;
+ }
+
+ $in->ask_okcancel('', N("You need to log out and back in again for changes to take effect"), 1) or return;
+
+ ask_window_manager_to_logout_then_do($wm, $pid, 'killall X');
+}
+
+sub alloc_raw_device {
+ my ($prefix, $device) = @_;
+ my $used = 0;
+ my $raw_dev;
+ substInFile {
+ $used = max($used, $1) if m|^\s*/dev/raw/raw(\d+)|;
+ if (eof) {
+ $raw_dev = "raw/raw" . ($used + 1);
+ $_ .= "/dev/$raw_dev /dev/$device\n";
+ }
+ } "$prefix/etc/sysconfig/rawdevices";
+ $raw_dev;
+}
+
+sub config_dvd {
+ my ($prefix) = @_;
+
+ my @dvds = grep { detect_devices::isDvdDrive($_) } detect_devices::cdroms() or return;
+
+ log::l("configuring DVD: " . join(" ", map { $_->{device} } @dvds));
+ #- create /dev/dvd symlink
+ each_index {
+ devices::symlink_now_and_register($_, 'dvd' . ($::i ? $::i + 1 : ''));
+ } @dvds;
+
+ my $raw_dev = alloc_raw_device($prefix, 'dvd');
+ symlink($raw_dev, "$prefix/dev/rdvd");
+}
+
+sub config_mtools {
+ my ($prefix) = @_;
+ my $file = "$prefix/etc/mtools.conf";
+ -e $file or return;
+
+ my ($f1, $f2) = detect_devices::floppies_dev();
+ substInFile {
+ s|drive a: file="(.*?)"|drive a: file="/dev/$f1"|;
+ s|drive b: file="(.*?)"|drive b: file="/dev/$f2"| if $f2;
+ } $file;
+}
+
+sub configure_timezone {
+ my ($in, $timezone, $ask_gmt) = @_;
+
+ require timezone;
+ $timezone->{timezone} = $in->ask_from_treelist(N("Timezone"), N("Which is your timezone?"), '/', [ timezone::getTimeZones() ], $timezone->{timezone}) or return;
+
+ my $ntp = to_bool($timezone->{ntp});
+ my $servers = timezone::ntp_servers();
+ $timezone->{ntp} ||= 'pool.ntp.org';
+
+ require POSIX;
+ use POSIX qw(strftime);
+ my $time_format = "%H:%M:%S";
+ local $ENV{TZ} = $timezone->{timezone};
+
+ $in->ask_from_({ interactive_help_id => 'configureTimezoneGMT',
+ title => N("Date, Clock & Time Zone Settings"),
+ }, [
+ { label => N("Date, Clock & Time Zone Settings"), title => 1 },
+ { label => N("What is the best time?") },
+ { val => \$timezone->{UTC},
+ type => 'list', list => [ 0, 1 ], format => sub {
+ $_[0] ?
+ N("%s (hardware clock set to UTC)", POSIX::strftime($time_format, localtime())) :
+ N("%s (hardware clock set to local time)", POSIX::strftime($time_format, gmtime()));
+ } },
+ { label => N("NTP Server"), title => 1 },
+ { text => N("Automatic time synchronization (using NTP)"), val => \$ntp, type => 'bool' },
+ { val => \$timezone->{ntp}, disabled => sub { !$ntp },
+ type => "list", separator => '|',
+ list => [ keys %$servers ], format => sub { $servers->{$_[0]} } },
+ ]) or goto &configure_timezone if $ask_gmt || $ntp;
+
+ $timezone->{ntp} = '' if !$ntp;
+
+ 1;
+}
+
+1;
diff --git a/perl-install/authentication.pm b/perl-install/authentication.pm
new file mode 100644
index 000000000..d5eb00a3b
--- /dev/null
+++ b/perl-install/authentication.pm
@@ -0,0 +1,766 @@
+package authentication; # $Id: authentication.pm 88802 2006-11-29 21:37:52Z blino $
+
+use common;
+
+sub kinds {
+ my $no_para = @_ == 0;
+ my ($do_pkgs, $_meta_class) = @_;
+ my $allow_SmartCard = $no_para || $do_pkgs->is_available('castella-pam');
+ my $allow_AD = 1;
+ (
+ 'local',
+ 'LDAP',
+ 'NIS',
+ if_($allow_SmartCard, 'SmartCard'),
+ 'winbind',
+ if_($allow_AD, 'AD', 'SMBKRB'),
+ );
+}
+
+sub kind2name {
+ my ($kind) = @_;
+ # Keep the following strings in sync with kind2description ones!!!
+ ${{ local => N("Local file"),
+ LDAP => N("LDAP"),
+ NIS => N("NIS"),
+ SmartCard => N("Smart Card"),
+ winbind => N("Windows Domain"),
+ AD => N("Active Directory with SFU"),
+ SMBKRB => N("Active Directory with Winbind") }}{$kind};
+}
+
+my %kind2pam_kind = (
+ local => [],
+ SmartCard => ['castella'],
+ LDAP => ['ldap'],
+ NIS => [],
+ AD => ['krb5'],
+ winbind => ['winbind'],
+ SMBKRB => ['winbind'],
+);
+
+my %kind2nsswitch = (
+ local => [],
+ SmartCard => [],
+ LDAP => ['ldap'],
+ NIS => ['nis'],
+ AD => ['ldap'],
+ winbind => ['winbind'],
+ SMBKRB => ['winbind'],
+);
+
+my %kind2packages = (
+ local => [],
+ SmartCard => [ 'castella-pam' ],
+ LDAP => [ 'openldap-clients', 'nss_ldap', 'pam_ldap', 'autofs' ],
+ AD => [ 'nss_ldap', 'pam_krb5', 'libsasl2-plug-gssapi' ],
+ NIS => [ 'ypbind', 'autofs' ],
+ winbind => [ 'samba-winbind' ],
+ SMBKRB => [ 'samba-winbind', 'pam_krb5', 'samba-server', 'samba-client' ],
+);
+
+
+sub kind2description {
+ my (@kinds) = @_;
+ my %kind2description = (
+ local => [ N("Local file:"), N("Use local for all authentication and information user tell in local file"), ],
+ LDAP => [ N("LDAP:"), N("Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."), ],
+ NIS => [ N("NIS:"), N("Allows you to run a group of computers in the same Network Information Service domain with a common password and group file."), ],
+ winbind => [ N("Windows Domain:"), N("Winbind allows the system to retrieve information and authenticate users in a Windows domain."), ],
+ AD => [ N("Active Directory with SFU:"), N("With Kerberos and Ldap for authentication in Active Directory Server "), ],
+ SMBKRB => [ N("Active Directory with Winbind:"), N("Winbind allows the system to authenticate users in a Windows Active Directory Server.") ],
+ );
+ join('', map { $_ ? qq($_->[0]\n$_->[1]\n\n) : '' } map { $kind2description{$_} } @kinds);
+}
+sub to_kind {
+ my ($authentication) = @_;
+ (find { exists $authentication->{$_} } kinds()) || 'local';
+}
+
+sub domain_to_ldap_domain {
+ my ($domain) = @_;
+ join(',', map { "dc=$_" } split /\./, $domain);
+}
+
+sub ask_parameters {
+ my ($in, $net, $authentication, $kind) = @_;
+
+ #- keep only this authentication kind
+ foreach (kinds()) {
+ delete $authentication->{$_} if $_ ne $kind;
+ }
+
+ if ($kind eq 'LDAP') {
+ $authentication->{LDAPDOMAIN} ||= domain_to_ldap_domain($net->{resolv}{DOMAINNAME});
+ $in->ask_from('',
+ N("Authentication LDAP"),
+ [ { label => N("LDAP Base dn"), val => \$authentication->{LDAPDOMAIN} },
+ { label => N("LDAP Server"), val => \$authentication->{LDAP_server} },
+ ]) or return;
+ } elsif ($kind eq 'AD') {
+
+ $authentication->{AD_domain} ||= $net->{resolv}{DOMAINNAME};
+ $authentication->{AD_users_db} ||= 'cn=users,' . domain_to_ldap_domain($authentication->{AD_domain});
+
+ $in->do_pkgs->ensure_are_installed([ 'perl-Net-DNS' ], 1) or return;
+
+ my @srvs = query_srv_names($authentication->{AD_domain});
+ $authentication->{AD_server} ||= $srvs[0] if @srvs;
+
+ my %sub_kinds = (
+ simple => N("simple"),
+ tls => N("TLS"),
+ ssl => N("SSL"),
+ kerberos => N("security layout (SASL/Kerberos)"),
+ );
+
+ my $AD_user = $authentication->{AD_user} =~ /(.*)\@\Q$authentication->{AD_domain}\E$/ ? $1 : $authentication->{AD_user};
+ my $anonymous = $AD_user;
+
+ $in->ask_from('',
+ N("Authentication Active Directory"),
+ [ { label => N("Domain"), val => \$authentication->{AD_domain} },
+ #{ label => N("Server"), val => \$authentication->{AD_server} },
+ { label => N("Server"), type => 'combo', val => \$authentication->{AD_server}, list => \@srvs , not_edit => 0 },
+ { label => N("LDAP users database"), val => \$authentication->{AD_users_db} },
+ { label => N("Use Anonymous BIND "), val => \$anonymous, type => 'bool' },
+ { label => N("LDAP user allowed to browse the Active Directory"), val => \$AD_user, disabled => sub { $anonymous } },
+ { label => N("Password for user"), val => \$authentication->{AD_password}, hidden => 1, disabled => sub { $anonymous } },
+ #{ label => N("Encryption"), val => \$authentication->{sub_kind}, list => [ map { $_->[0] } group_by2(@sub_kinds) ], format => sub { $sub_kinds{$_[0]} } },
+ ]) or return;
+ $authentication->{AD_user} = !$AD_user || $authentication->{sub_kind} eq 'anonymous' ? '' :
+ $AD_user =~ /@/ ? $AD_user : "$AD_user\@$authentication->{AD_domain}";
+ $authentication->{AD_password} = '' if !$authentication->{AD_user};
+
+
+ } elsif ($kind eq 'NIS') {
+ $authentication->{NIS_server} ||= 'broadcast';
+ $net->{network}{NISDOMAIN} ||= $net->{resolv}{DOMAINNAME};
+ $in->ask_from('',
+ N("Authentication NIS"),
+ [ { label => N("NIS Domain"), val => \$net->{network}{NISDOMAIN} },
+ { label => N("NIS Server"), val => \$authentication->{NIS_server}, list => ["broadcast"], not_edit => 0 },
+ ]) or return;
+ } elsif ($kind eq 'winbind' || $kind eq 'SMBKRB') {
+ #- maybe we should browse the network like diskdrake --smb and get the 'doze server names in a list
+ #- but networking is not setup yet necessarily
+ $in->ask_warn('', N("For this to work for a W2K PDC, you will probably need to have the admin run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add and reboot the server.
+You will also need the username/password of a Domain Admin to join the machine to the Windows(TM) domain.
+If networking is not yet enabled, Drakx will attempt to join the domain after the network setup step.
+Should this setup fail for some reason and domain authentication is not working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) Domain, and Admin Username/Password, after system boot.
+The command 'wbinfo -t' will test whether your authentication secrets are good."))
+ if $kind eq 'winbind';
+
+ $authentication->{AD_domain} ||= $net->{resolv}{DOMAINNAME} if $kind eq 'SMBKRB';
+ $authentication->{AD_users_idmap} ||= 'ou=idmap,' . domain_to_ldap_domain($authentication->{AD_domain}) if $kind eq 'SMBKRB';
+ $authentication->{WINDOMAIN} ||= $net->{resolv}{DOMAINNAME};
+
+ $in->ask_from('',
+ $kind eq 'SMBKRB' ? N("Authentication Active Directory") : N("Authentication Windows Domain"),
+ [ if_($kind eq 'SMBKRB',
+ { label => N("Active Directory Realm "), val => \$authentication->{AD_domain} }
+ ),
+ { label => N("Windows Domain"), val => \$authentication->{WINDOMAIN} },
+ { label => N("Domain Admin User Name"), val => \$authentication->{winuser} },
+ { label => N("Domain Admin Password"), val => \$authentication->{winpass}, hidden => 1 },
+ #{ label => N("Use Idmap for store UID/SID "), val => \$anonymous, type => 'bool' },
+ #{ label => N("Default Idmap "), val => \$authentication->{AD_users_idmap}, disabled => sub { $anonymous } },
+ ]) or return;
+ }
+ $authentication->{$kind} ||= 1;
+ 1;
+}
+
+sub ask_root_password_and_authentication {
+ my ($in, $net, $superuser, $authentication, $meta_class, $security) = @_;
+
+ my $kind = to_kind($authentication);
+ my @kinds = kinds($in->do_pkgs, $meta_class);
+
+ $in->ask_from_({
+ title => N("Authentication"),
+ messages => N("Set administrator (root) password"),
+ icon => 'banner-pw',
+ advanced_label => N("Authentication method"),
+ advanced_messages => kind2description(@kinds),
+ interactive_help_id => "setRootPassword",
+ cancel => ($security <= 2 ?
+ #-PO: keep this short or else the buttons will not fit in the window
+ N("No password") : ''),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ check_given_password($in, $superuser, 2 * $security) or return 1,0;
+ return 0;
+ } } }, [
+{ label => N("Password"), val => \$superuser->{password}, hidden => 1 },
+{ label => N("Password (again)"), val => \$superuser->{password2}, hidden => 1 },
+{ label => N("Authentication"), val => \$kind, type => 'list', list => \@kinds, format => \&kind2name, advanced => 1 },
+ ]) or delete $superuser->{password};
+
+ ask_parameters($in, $net, $authentication, $kind) or goto &ask_root_password_and_authentication;
+}
+
+sub check_given_password {
+ my ($in, $u, $min_length) = @_;
+ if ($u->{password} ne $u->{password2}) {
+ $in->ask_warn('', [ N("The passwords do not match"), N("Please try again") ]);
+ 0;
+ } elsif (length $u->{password} < $min_length) {
+ $in->ask_warn('', N("This password is too short (it must be at least %d characters long)", $min_length));
+ 0;
+ } else {
+ 1;
+ }
+}
+
+sub get() {
+ my $system_auth = cat_("/etc/pam.d/system-auth");
+ my $authentication = {
+ md5 => $system_auth =~ /md5/, shadow => $system_auth =~ /shadow/,
+ };
+
+ my @pam_kinds = get_pam_authentication_kinds();
+ if (my $kind = find { intersection(\@pam_kinds, $kind2pam_kind{$_}) } keys %kind2pam_kind) {
+ $authentication->{$kind} = '';
+ } else {
+ #- we can't use pam to detect NIS
+ if (my $yp_conf = read_yp_conf()) {
+ $authentication->{NIS} = 1;
+ map_each { $authentication->{"NIS_$::a"} = $::b } %$yp_conf;
+ }
+ }
+ $authentication;
+}
+
+sub install_needed_packages {
+ my ($do_pkgs, $kind) = @_;
+ if (my $pkgs = $kind2packages{$kind}) {
+ #- automatic during install
+ $do_pkgs->ensure_are_installed($pkgs, $::isInstall) or return;
+ } else {
+ log::l("ERROR: $kind not listed in kind2packages");
+ }
+ 1;
+}
+
+sub set {
+ my ($in, $net, $authentication, $o_when_network_is_up) = @_;
+
+ install_needed_packages($in->do_pkgs, to_kind($authentication)) or return;
+ set_raw($net, $authentication, $o_when_network_is_up);
+}
+
+sub set_raw {
+ my ($net, $authentication, $o_when_network_is_up) = @_;
+
+ my $when_network_is_up = $o_when_network_is_up || sub { my ($f) = @_; $f->() };
+
+ enable_shadow() if $authentication->{shadow};
+
+ my $kind = to_kind($authentication);
+
+ log::l("authentication::set $kind");
+
+ my $pam_modules = $kind2pam_kind{$kind} or log::l("kind2pam_kind does not know $kind");
+ $pam_modules ||= [];
+ sshd_config_UsePAM(@$pam_modules > 0);
+ set_pam_authentication(@$pam_modules);
+
+ my $nsswitch = $kind2nsswitch{$kind} or log::l("kind2nsswitch does not know $kind");
+ $nsswitch ||= [];
+ set_nsswitch_priority(@$nsswitch);
+
+ if ($kind eq 'local') {
+ } elsif ($kind eq 'SmartCard') {
+ } elsif ($kind eq 'LDAP') {
+ my $domain = $authentication->{LDAPDOMAIN} || do {
+ my $s = run_program::rooted_get_stdout($::prefix, 'ldapsearch', '-x', '-h', $authentication->{LDAP_server}, '-b', '', '-s', 'base', '+');
+ first($s =~ /namingContexts: (.+)/);
+ } or log::l("no ldap domain found on server $authentication->{LDAP_server}"), return;
+
+ update_ldap_conf(
+ host => $authentication->{LDAP_server},
+ base => $domain,
+ nss_base_shadow => $domain . "?sub",
+ nss_base_passwd => $domain . "?sub",
+ nss_base_group => $domain . "?sub",
+ );
+ } elsif ($kind eq 'AD') {
+ my $port = "389";
+
+ my $ssl = {
+ anonymous => 'off',
+ simple => 'off',
+ tls => 'start_tls',
+ ssl => 'on',
+ kerberos => 'off',
+ }->{$authentication->{sub_kind}};
+
+ if ($ssl eq 'on') {
+ $port = '636';
+ }
+
+
+
+ update_ldap_conf(
+ host => $authentication->{AD_server},
+ base => domain_to_ldap_domain($authentication->{AD_domain}),
+ nss_base_shadow => "$authentication->{AD_users_db}?sub",
+ nss_base_passwd => "$authentication->{AD_users_db}?sub",
+ nss_base_group => "$authentication->{AD_users_db}?sub",
+
+ ssl => $ssl,
+ sasl_mech => $authentication->{sub_kind} eq 'kerberos' ? 'GSSAPI' : '',
+ port => $port,
+
+ binddn => $authentication->{AD_user},
+ bindpw => $authentication->{AD_password},
+
+ (map_each { "nss_map_objectclass_$::a" => $::b }
+ posixAccount => 'User',
+ shadowAccount => 'User',
+ posixGroup => 'Group',
+ ),
+
+
+ scope => 'sub',
+ pam_login_attribute => 'sAMAccountName',
+ pam_filter => 'objectclass=User',
+ pam_password => 'ad',
+
+
+ (map_each { "nss_map_attribute_$::a" => $::b }
+ uid => 'sAMAccountName',
+ uidNumber => 'msSFU30UidNumber',
+ gidNumber => 'msSFU30GidNumber',
+ cn => 'sAMAccountName',
+ uniqueMember => 'member',
+ userPassword => 'msSFU30Password',
+ homeDirectory => 'msSFU30HomeDirectory',
+ loginShell => 'msSFU30LoginShell',
+ gecos => 'name',
+ ),
+ );
+
+ configure_krb5_for_AD($authentication);
+
+ } elsif ($kind eq 'NIS') {
+ my $domain = $net->{network}{NISDOMAIN};
+ my $NIS_server = $authentication->{NIS_server};
+ $domain || $NIS_server ne "broadcast" or die N("Can not use broadcast with no NIS domain");
+ my $t = $domain ?
+ ($NIS_server eq 'broadcast' ?
+ "domain $domain broadcast" :
+ "domain $domain server $NIS_server") :
+ "server $NIS_server";
+
+ substInFile {
+ if (/^#/) {
+ $_ = '' if /^#\Q[PREVIOUS]/;
+ } else {
+ $_ = "#[PREVIOUS] $_";
+ }
+ $_ .= "$t\n" if eof;
+ } "$::prefix/etc/yp.conf";
+
+ #- no need to modify system-auth for nis
+
+ $when_network_is_up->(sub {
+ run_program::rooted($::prefix, 'nisdomainname', $domain);
+ run_program::rooted($::prefix, 'service', 'ypbind', 'restart');
+ });
+# } elsif ($kind eq 'winbind' || $kind eq 'AD' && $authentication->{subkind} eq 'winbind') {
+
+ } elsif ($kind eq 'winbind') {
+
+ my $domain = uc $authentication->{WINDOMAIN};
+
+ require fs::remote::smb;
+ fs::remote::smb::write_smb_conf($domain);
+ run_program::rooted($::prefix, "chkconfig", "--level", "35", "winbind", "on");
+ mkdir_p("$::prefix/home/$domain");
+ run_program::rooted($::prefix, 'service', 'smb', 'restart');
+ run_program::rooted($::prefix, 'service', 'winbind', 'restart');
+
+ #- defer running smbpassword until the network is up
+
+ $when_network_is_up->(sub {
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ 'net', 'join', $domain, '-U', $authentication->{winuser} . '%' . $authentication->{winpass});
+ });
+ } elsif ($kind eq 'SMBKRB') {
+ $authentication->{AD_server} ||= 'ads.' . $authentication->{AD_domain};
+ my $domain = uc $authentication->{WINDOMAIN};
+ my $realm = $authentication->{AD_domain};
+
+ configure_krb5_for_AD($authentication);
+
+ require fs::remote::smb;
+ fs::remote::smb::write_smb_ads_conf($domain,$realm);
+ run_program::rooted($::prefix, "chkconfig", "--level", "35", "winbind", "on");
+ mkdir_p("$::prefix/home/$domain");
+ run_program::rooted($::prefix, 'net', 'time', 'set', '-S', $authentication->{AD_server});
+ run_program::rooted($::prefix, 'service', 'smb', 'restart');
+ run_program::rooted($::prefix, 'service', 'winbind', 'restart');
+
+ $when_network_is_up->(sub {
+ run_program::raw({ root => $::prefix, sensitive_arguments => 1 },
+ 'net', 'ads', 'join', '-U', $authentication->{winuser} . '%' . $authentication->{winpass});
+ });
+ }
+ 1;
+}
+
+
+sub pam_modules() {
+ 'pam_ldap', 'pam_castella', 'pam_winbind', 'pam_krb5', 'pam_mkhomedir';
+}
+sub pam_module_from_path {
+ $_[0] && $_[0] =~ m|(/lib/security/)?(pam_.*)\.so| && $2;
+}
+sub pam_module_to_path {
+ "$_[0].so";
+}
+sub pam_format_line {
+ my ($type, $control, $module, @para) = @_;
+ sprintf("%-11s %-13s %s\n", $type, $control, join(' ', pam_module_to_path($module), @para));
+}
+
+sub get_raw_pam_authentication() {
+ my %before_deny;
+ foreach (cat_("$::prefix/etc/pam.d/system-auth")) {
+ my ($type, $control, $module, @para) = split;
+ if ($module = pam_module_from_path($module)) {
+ $before_deny{$type}{$module} = \@para if $control eq 'sufficient' && member($module, pam_modules());
+ }
+ }
+ \%before_deny;
+}
+
+sub get_pam_authentication_kinds() {
+ my $before_deny = get_raw_pam_authentication();
+ map { s/pam_//; $_ } keys %{$before_deny->{auth}};
+}
+
+sub set_pam_authentication {
+ my (@authentication_kinds) = @_;
+
+ my %special = (
+ auth => [ difference2(\@authentication_kinds,, [ 'mount' ]) ],
+ account => [ difference2(\@authentication_kinds, [ 'castella', 'mount' ]) ],
+ password => [ intersection(\@authentication_kinds, [ 'ldap', 'krb5' ]) ],
+ );
+ my %before_first = (
+ auth => member('mount', @authentication_kinds) ? pam_format_line('auth', 'required', 'pam_mount') : '',
+ session =>
+ intersection(\@authentication_kinds, [ 'winbind', 'krb5', 'ldap' ])
+ ? pam_format_line('session', 'optional', 'pam_mkhomedir', 'skel=/etc/skel/', 'umask=0022') :
+ member('castella', @authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_castella') : '',
+ );
+ my %after_deny = (
+ session =>
+ member('krb5', @authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_krb5') :
+ member('mount', @authentication_kinds)
+ ? pam_format_line('session', 'optional', 'pam_mount') : '',
+ );
+
+ substInFile {
+ my ($type, $control, $module, @para) = split;
+ if ($module = pam_module_from_path($module)) {
+ if (member($module, pam_modules())) {
+ #- first removing previous config
+ $_ = '';
+ }
+ if ($module eq 'pam_unix' && $special{$type}) {
+ my @para_for_last =
+ member($type, 'auth', 'account') ? qw(use_first_pass) : @{[]};
+ @para = difference2(\@para, \@para_for_last);
+
+ my ($before_noask, $ask) = partition { $_ eq 'castella' } @{$special{$type}};
+ my ($before, $after) = partition { $_ eq 'krb5' } @$ask;
+
+ if (!@$ask) {
+ @para_for_last = grep { $_ ne 'use_first_pass' } @para_for_last;
+ }
+
+ my @l = ((map { [ "pam_$_" ] } @$before_noask, @$before),
+ [ 'pam_unix', @para ],
+ (map { [ "pam_$_" ] } @$after),
+ );
+ push @{$l[-1]}, @para_for_last;
+ $_ = join('', map { pam_format_line($type, 'sufficient', @$_) } @l);
+
+ if ($control eq 'required') {
+ #- ensure a pam_deny line is there
+ ($control, $module, @para) = ('required', 'pam_deny');
+ $_ .= pam_format_line($type, $control, $module);
+ }
+ }
+ if (my $s = delete $before_first{$type}) {
+ $_ = $s . $_;
+ }
+ if ($control eq 'required' && member($module, 'pam_deny', 'pam_unix')) {
+ if (my $s = delete $after_deny{$type}) {
+ $_ .= $s;
+ }
+ }
+ }
+ } "$::prefix/etc/pam.d/system-auth";
+}
+
+sub set_nsswitch_priority {
+ my (@kinds) = @_;
+ my @known = qw(nis ldap winbind);
+ substInFile {
+ if (my ($database, $l) = /^(\s*(?:passwd|shadow|group|automount):\s*)(.*)/) {
+ my @l = difference2([ split(' ', $l) ], \@known);
+ $_ = $database . join(' ', uniq('files', @kinds, @l)) . "\n";
+ }
+ } "$::prefix/etc/nsswitch.conf";
+}
+
+sub read_yp_conf() {
+ my $yp_conf = cat_("$::prefix/etc/yp.conf");
+
+ if ($yp_conf =~ /^domain\s+(\S+)\s+(\S+)\s*(.*)/m) {
+ { domain => $1, server => $2 eq 'broadcast' ? 'broadcast' : $3 };
+ } elsif ($yp_conf =~ /^server\s+(.*)/m) {
+ { server => $1 };
+ } else {
+ undef;
+ }
+}
+
+my $special_ldap_cmds = join('|', 'nss_map_attribute', 'nss_map_objectclass');
+sub _after_read_ldap_line {
+ my ($s) = @_;
+ $s =~ s/\b($special_ldap_cmds)\s*/$1 . '_'/e;
+ $s;
+}
+sub _pre_write_ldap_line {
+ my ($s) = @_;
+ $s =~ s/\b($special_ldap_cmds)_/$1 . ' '/e;
+ $s;
+}
+
+sub read_ldap_conf() {
+ my %conf = map {
+ s/^\s*#.*//;
+ if_(_after_read_ldap_line($_) =~ /(\S+)\s+(.*)/, $1 => $2);
+ } cat_("$::prefix/etc/ldap.conf");
+ \%conf;
+}
+
+sub update_ldap_conf {
+ my (%conf) = @_;
+
+ substInFile {
+ my ($cmd) = _after_read_ldap_line($_) =~ /^\s*#?\s*(\w+)\s/;
+ if ($cmd && exists $conf{$cmd}) {
+ my $val = $conf{$cmd};
+ $conf{$cmd} = '';
+ $_ = $val ? _pre_write_ldap_line("$cmd $val\n") : /^\s*#/ ? $_ : "#$_";
+ }
+ if (eof) {
+ foreach my $cmd (keys %conf) {
+ my $val = $conf{$cmd} or next;
+ $_ .= _pre_write_ldap_line("$cmd $val\n");
+ }
+ }
+ } "$::prefix/etc/ldap.conf";
+}
+
+sub configure_krb5_for_AD {
+ my ($authentication) = @_;
+
+ my $uc_domain = uc $authentication->{AD_domain};
+ my $krb5_conf_file = "$::prefix/etc/krb5.conf";
+
+ krb5_conf_update($krb5_conf_file,
+ libdefaults => (
+ default_realm => $uc_domain,
+ dns_lookup_realm => $authentication->{AD_server} ? 'false' : 'true',
+ dns_lookup_kdc => $authentication->{AD_server} ? 'false' : 'true',
+ default_tgs_enctypes => undef,
+ default_tkt_enctypes => undef,
+ permitted_enctypes => undef,
+ ));
+
+ my @sections = (
+ realms => <<EOF,
+ $uc_domain = {
+ kdc = $authentication->{AD_server}:88
+ admin_server = $authentication->{AD_server}:749
+ default_domain = $authentication->{AD_domain}
+ }
+EOF
+ domain_realm => <<EOF,
+ .$authentication->{AD_domain} = $uc_domain
+EOF
+ kdc => <<'EOF',
+ profile = /etc/kerberos/krb5kdc/kdc.conf
+EOF
+ pam => <<'EOF',
+ debug = false
+ ticket_lifetime = 36000
+ renew_lifetime = 36000
+ forwardable = true
+ krb4_convert = false
+EOF
+ login => <<'EOF',
+ krb4_convert = false
+ krb4_get_tickets = false
+EOF
+ );
+ foreach (group_by2(@sections)) {
+ my ($section, $txt) = @$_;
+ krb5_conf_overwrite_category($krb5_conf_file, $section => $authentication->{AD_server} ? $txt : '');
+ }
+}
+
+sub krb5_conf_overwrite_category {
+ my ($file, $category, $new_val) = @_;
+
+ my $done;
+ substInFile {
+ if (my $i = /^\s*\[\Q$category\E\]/i ... /^\[/) {
+ if ($new_val) {
+ if ($i == 1) {
+ $_ .= $new_val;
+ $done = 1;
+ } elsif ($i =~ /E/) {
+ $_ = "\n$_";
+ } else {
+ $_ = '';
+ }
+ } else {
+ $_ = '' if $i !~ /E/;
+ }
+ }
+ #- if category has not been found above.
+ if (eof && $new_val && !$done) {
+ $_ .= "\n[$category]\n$new_val";
+ }
+ } $file;
+}
+
+#- same as update_gnomekderc(), but allow spaces around "="
+sub krb5_conf_update {
+ my ($file, $category, %subst_) = @_;
+
+ my %subst = map { lc($_) => [ $_, $subst_{$_} ] } keys %subst_;
+
+ my $s;
+ foreach (MDK::Common::File::cat_($file), "[NOCATEGORY]\n") {
+ if (my $i = /^\s*\[\Q$category\E\]/i ... /^\[/) {
+ if ($i =~ /E/) { #- for last line of category
+ chomp $s; $s .= "\n";
+ $s .= " $_->[0] = $_->[1]\n" foreach grep { defined($_->[1]) } values %subst;
+ %subst = ();
+ } elsif (/^\s*([^=]*?)\s*=/) {
+ if (my $e = delete $subst{lc($1)}) {
+ $_ = defined($e->[1]) ? " $1 = $e->[1]\n" : '';
+ }
+ }
+ }
+ $s .= $_ if !/^\Q[NOCATEGORY]/;
+ }
+
+ #- if category has not been found above.
+ if (keys %subst) {
+ chomp $s;
+ $s .= "\n[$category]\n";
+ $s .= " $_->[0] = $_->[1]\n" foreach grep { defined($_->[1]) } values %subst;
+ }
+
+ MDK::Common::File::output($file, $s);
+
+}
+
+sub sshd_config_UsePAM {
+ my ($UsePAM) = @_;
+ my $sshd = "$::prefix/etc/ssh/sshd_config";
+ -e $sshd or return;
+
+ my $val = "UsePAM " . bool2yesno($UsePAM);
+ substInFile {
+ $val = '' if s/^#?UsePAM.*/$val/;
+ $_ .= "$val\n" if eof && $val;
+ } $sshd;
+}
+
+sub query_srv_names {
+ my ($domain) = @_;
+
+ eval { require Net::DNS; 1 } or return;
+ my $res = Net::DNS::Resolver->new;
+ my $query = $res->query("_ldap._tcp.$domain", 'srv') or return;
+ map { $_->target } $query->answer;
+}
+
+sub enable_shadow() {
+ run_program::rooted($::prefix, "pwconv") or log::l("pwconv failed");
+ run_program::rooted($::prefix, "grpconv") or log::l("grpconv failed");
+}
+
+sub salt {
+ my ($nb) = @_;
+ require devices;
+ open(my $F, devices::make("random")) or die "missing random";
+ my $s; read $F, $s, $nb;
+ $s = pack("b8" x $nb, unpack "b6" x $nb, $s);
+ $s =~ tr|\0-\x3f|0-9a-zA-Z./|;
+ $s;
+}
+
+sub user_crypted_passwd {
+ my ($u, $isMD5) = @_;
+ if ($u->{password}) {
+ crypt($u->{password}, $isMD5 ? '$1$' . salt(8) : salt(2));
+ } else {
+ $u->{pw} || '';
+ }
+}
+
+sub set_root_passwd {
+ my ($superuser, $authentication) = @_;
+ $superuser->{name} = 'root';
+ write_passwd_user($superuser, $authentication->{md5});
+ delete $superuser->{name};
+}
+
+sub write_passwd_user {
+ my ($u, $isMD5) = @_;
+
+ $u->{pw} = user_crypted_passwd($u, $isMD5);
+ $u->{shell} ||= '/bin/bash';
+
+ substInFile {
+ my $l = unpack_passwd($_);
+ if ($l->{name} eq $u->{name}) {
+ add2hash_($u, $l);
+ $_ = pack_passwd($u);
+ $u = {};
+ }
+ if (eof && $u->{name}) {
+ $_ .= pack_passwd($u);
+ }
+ } "$::prefix/etc/passwd";
+}
+
+my @etc_pass_fields = qw(name pw uid gid realname home shell);
+sub unpack_passwd {
+ my ($l) = @_;
+ my %l; @l{@etc_pass_fields} = split ':', chomp_($l);
+ \%l;
+}
+sub pack_passwd {
+ my ($l) = @_;
+ join(':', @$l{@etc_pass_fields}) . "\n";
+}
+
+1;
+
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
new file mode 100644
index 000000000..9afa0ac39
--- /dev/null
+++ b/perl-install/bootloader.pm
@@ -0,0 +1,1751 @@
+package bootloader; # $Id: bootloader.pm 149989 2007-03-30 09:35:46Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use fs::type;
+use fs::get;
+use fs::loopback;
+use fs::proc_partitions;
+use log;
+use any;
+use devices;
+use detect_devices;
+use partition_table::raw;
+use run_program;
+use modules;
+
+#-#####################################################################################
+#- Functions
+#-#####################################################################################
+my $vmlinuz_regexp = 'vmlinuz|win4lin';
+my $decompose_vmlinuz_name = qr/((?:$vmlinuz_regexp).*?)-(\d+\.\d+.*)/;
+
+sub expand_vmlinuz_symlink {
+ my ($vmlinuz) = @_;
+ my $f = $::prefix . ($vmlinuz =~ m!^/! ? $vmlinuz : "/boot/$vmlinuz");
+ -l $f ? readlink($f) : $vmlinuz;
+}
+
+sub installed_vmlinuz_raw() { grep { /^($vmlinuz_regexp)/ } all("$::prefix/boot") }
+sub installed_vmlinuz() { grep { ! -l "$::prefix/boot/$_" } installed_vmlinuz_raw() }
+sub vmlinuz2version {
+ my ($vmlinuz) = @_;
+ expand_vmlinuz_symlink($vmlinuz) =~ /$decompose_vmlinuz_name/ && $2;
+}
+sub vmlinuz2kernel_str {
+ my ($vmlinuz) = @_;
+ my ($basename, $version) = expand_vmlinuz_symlink($vmlinuz) =~ /$decompose_vmlinuz_name/ or return;
+ {
+ basename => $basename,
+ version => $version,
+ $version =~ /(.*md[kv])-?(.*)/ ? (ext => $2, version_no_ext => $1) : (version_no_ext => $version),
+ };
+}
+
+sub basename2initrd_basename {
+ my ($basename) = @_;
+ $basename =~ s!vmlinuz-?!!; #- here we do not use $vmlinuz_regexp since we explictly want to keep all that is not "vmlinuz"
+ 'initrd' . ($basename ? "-$basename" : '');
+}
+sub kernel_str2vmlinuz_long {
+ my ($kernel) = @_;
+ $kernel->{basename} . '-' . $kernel->{version};
+}
+sub kernel_str2initrd_long {
+ my ($kernel) = @_;
+ basename2initrd_basename($kernel->{basename}) . '-' . $kernel->{version} . '.img';
+}
+sub kernel_str2vmlinuz_short {
+ my ($kernel) = @_;
+ if ($kernel->{use_long_name}) {
+ kernel_str2vmlinuz_long($kernel);
+ } else {
+ my $ext = $kernel->{ext} ? "-$kernel->{ext}" : '';
+ $kernel->{basename} . $ext;
+ }
+}
+sub kernel_str2initrd_short {
+ my ($kernel) = @_;
+ if ($kernel->{use_long_name}) {
+ kernel_str2initrd_long($kernel);
+ } else {
+ my $ext = $kernel->{ext} ? "-$kernel->{ext}" : '';
+ basename2initrd_basename($kernel->{basename}) . $ext . '.img';
+ }
+}
+
+sub kernel_str2label {
+ my ($kernel, $o_use_long_name) = @_;
+ my $base = $kernel->{basename} eq 'vmlinuz' ? 'linux' : $kernel->{basename};
+ $o_use_long_name || $kernel->{use_long_name} ?
+ sanitize_ver($base, $kernel) :
+ $kernel->{ext} ? "$base-" . short_ext($kernel) : $base;
+}
+
+sub get {
+ my ($vmlinuz, $bootloader) = @_;
+ $_->{kernel_or_dev} && $_->{kernel_or_dev} eq $vmlinuz and return $_ foreach @{$bootloader->{entries}};
+ undef;
+}
+sub get_label {
+ my ($label, $bootloader) = @_;
+ $_->{label} && lc(make_label_lilo_compatible($_->{label})) eq lc(make_label_lilo_compatible($label)) and return $_ foreach @{$bootloader->{entries}};
+ undef;
+}
+
+sub mkinitrd {
+ my ($kernel_version, $bootloader, $entry, $initrd) = @_;
+
+ $::testing || -e "$::prefix/$initrd" and return $initrd;
+
+ my $loop_boot = fs::loopback::prepare_boot();
+
+ modules::load('loop');
+ my @options = (
+ "-v", "-f", $initrd, "--ifneeded", $kernel_version,
+ if_($entry->{initrd_options}, split(' ', $entry->{initrd_options})),
+ );
+ if (!run_program::rooted($::prefix, 'mkinitrd', @options)) {
+ unlink("$::prefix/$initrd");
+ die "mkinitrd failed:\n(mkinitrd @options))";
+ }
+ add_boot_splash($initrd, $entry->{vga} || $bootloader->{vga});
+
+ fs::loopback::save_boot($loop_boot);
+
+ -e "$::prefix/$initrd" && $initrd;
+}
+
+sub rebuild_initrd {
+ my ($kernel_version, $bootloader, $entry, $initrd) = @_;
+
+ my $old = $::prefix . $entry->{initrd} . '.old';
+ unlink $old;
+ rename "$::prefix$initrd", $old;
+ if (!mkinitrd($kernel_version, $bootloader, $entry, $initrd)) {
+ log::l("rebuilding initrd failed, putting back the old one");
+ rename $old, "$::prefix$initrd";
+ }
+}
+
+sub remove_boot_splash {
+ my ($initrd) = @_;
+ run_program::rooted($::prefix, '/usr/share/bootsplash/scripts/remove-boot-splash', $initrd);
+}
+sub add_boot_splash {
+ my ($initrd, $vga) = @_;
+
+ $vga or return;
+
+ require Xconfig::resolution_and_depth;
+ if (my $res = Xconfig::resolution_and_depth::from_bios($vga)) {
+ run_program::rooted($::prefix, '/usr/share/bootsplash/scripts/make-boot-splash', $initrd, $res->{X});
+ } else {
+ log::l("unknown vga bios mode $vga");
+ }
+}
+sub update_splash {
+ my ($bootloader) = @_;
+
+ foreach (@{$bootloader->{entries}}) {
+ bootloader::add_boot_splash($_->{initrd}, $_->{vga} || $bootloader->{vga}) if $_->{initrd};
+ }
+}
+
+sub read {
+ my ($all_hds) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ foreach my $main_method (main_method_choices()) {
+ my $f = $bootloader::{"read_$main_method"} or die "unknown bootloader method $main_method (read)";
+ my $bootloader = $f->($fstab);
+
+ cleanup_entries($bootloader);
+
+ my @devs = $bootloader->{boot};
+ if ($bootloader->{'raid-extra-boot'} =~ /mbr/ &&
+ (my $md = fs::get::device2part($bootloader->{boot}, $all_hds->{raids}))) {
+ @devs = map { $_->{rootDevice} } @{$md->{disks}};
+ } elsif ($bootloader->{'raid-extra-boot'} =~ m!/dev/!) {
+ @devs = split(',', $bootloader->{'raid-extra-boot'});
+ }
+
+ my ($type) = map {
+ if (m!/fd\d+$!) {
+ warn "not checking the method on floppy, assuming $main_method is right\n";
+ $main_method;
+ } elsif (member($main_method, qw(yaboot cromwell silo))) {
+ #- not checking, there's only one bootloader anyway :)
+ $main_method;
+ } elsif (my $type = partition_table::raw::typeOfMBR($_)) {
+ warn "typeOfMBR $type on $_ for method $main_method\n" if $ENV{DEBUG};
+ $type;
+ } else { () }
+ } @devs;
+
+ if ($type eq $main_method) {
+ my @prefered_entries = map { get_label($_, $bootloader) } $bootloader->{default}, 'linux';
+
+ if (my $default = find { $_ && $_->{type} eq 'image' } (@prefered_entries, @{$bootloader->{entries}})) {
+ $bootloader->{default_options} = $default;
+ $bootloader->{perImageAppend} ||= $default->{append};
+ log::l("perImageAppend is now $bootloader->{perImageAppend}");
+ } else {
+ $bootloader->{default_options} = {};
+ }
+ return $bootloader;
+ }
+ }
+}
+
+sub read_grub {
+ my ($fstab) = @_;
+
+ my $grub2dev = read_grub_device_map();
+
+ my $bootloader = read_grub_menu_lst($fstab, $grub2dev) or return;
+
+ read_grub_install_sh($bootloader, $grub2dev);
+
+ $bootloader;
+}
+
+sub read_grub_install_sh {
+ my ($bootloader, $grub2dev) = @_;
+
+ #- matches either:
+ #- setup (hd0)
+ #- install (hd0,0)/boot/grub/stage1 d (hd0) (hd0,0)/boot/grub/stage2 p (hd0,0)/boot/grub/menu.lst
+ if (cat_("$::prefix/boot/grub/install.sh") =~ /^(?:setup.*|install\s.*\sd)\s+(\(.*?\))/m) {
+ $bootloader->{boot} = grub2dev($1, $grub2dev);
+ }
+}
+
+sub read_grub_menu_lst {
+ my ($fstab, $grub2dev) = @_;
+ my $global = 1;
+ my ($e, %b);
+
+ my $menu_lst_file = "$::prefix/boot/grub/menu.lst";
+ -e $menu_lst_file or return;
+
+ foreach (cat_($menu_lst_file)) {
+ chomp;
+ s/^\s*//; s/\s*$//;
+ next if /^#/ || /^$/;
+ my ($keyword, $v) = split('[ \t=]+', $_, 2) or
+ warn qq(unknown line in /boot/grub/menu.lst: "$_"\n), next;
+
+ if ($keyword eq 'title') {
+ push @{$b{entries}}, $e = { label => $v };
+ $global = 0;
+ } elsif ($global) {
+ $b{$keyword} = $v eq '' ? 1 : grub2file($v, $grub2dev, $fstab);
+ } else {
+ if ($keyword eq 'kernel') {
+ $e->{type} = 'image';
+ $e->{kernel} = $v;
+ } elsif ($keyword eq 'root' || $keyword eq 'rootnoverify') {
+ $e->{type} = 'other';
+ $e->{grub_noverify} = 1 if $keyword eq 'rootnoverify';
+ $e->{kernel_or_dev} = grub2dev($v, $grub2dev);
+ $e->{append} = "";
+ } elsif ($keyword eq 'initrd') {
+ $e->{initrd} = grub2file($v, $grub2dev, $fstab);
+ } elsif ($keyword eq 'map') {
+ $e->{mapdrive}{$2} = $1 if $v =~ m/\((.*)\) \((.*)\)/;
+ } elsif ($keyword eq 'module') {
+ push @{$e->{modules}}, $v;
+ } else {
+ $e->{$keyword} = $v eq '' ? 1 : $v;
+ }
+ }
+ }
+
+ #- sanitize
+ foreach my $e (@{$b{entries}}) {
+ if ($e->{kernel} =~ /xen/ && @{$e->{modules}} == 2 && $e->{modules}[1] =~ /initrd/) {
+ (my $xen, $e->{xen_append}) = split(' ', $e->{kernel}, 2);
+ ($e->{kernel}, my $initrd) = @{delete $e->{modules}};
+ $e->{xen} = grub2file($xen, $grub2dev, $fstab);
+ $e->{initrd} = grub2file($initrd, $grub2dev, $fstab);
+ }
+ if (my $v = delete $e->{kernel}) {
+ (my $kernel, $e->{append}) = split(' ', $v, 2);
+ $e->{append} = join(' ', grep { !/^BOOT_IMAGE=/ } split(' ', $e->{append}));
+ $e->{root} = $1 if $e->{append} =~ s/root=(\S*)\s*//;
+ $e->{kernel_or_dev} = grub2file($kernel, $grub2dev, $fstab);
+ }
+ my ($vga, $other) = partition { /^vga=/ } split(' ', $e->{append});
+ if (@$vga) {
+ $e->{vga} = $vga->[0] =~ /vga=(.*)/ && $1;
+ $e->{append} = join(' ', @$other);
+ }
+ }
+
+ $b{nowarn} = 1;
+ # handle broken installkernel -r:
+ if (@{$b{entries}}) {
+ $b{default} = min($b{default}, scalar(@{$b{entries}}) - 1);
+ $b{default} = $b{entries}[$b{default}]{label};
+ }
+ $b{method} = $b{gfxmenu} ? 'grub-graphic' : 'grub-menu';
+
+ \%b;
+}
+
+sub yaboot2dev {
+ my ($of_path) = @_;
+ find { dev2yaboot($_) eq $of_path } map { "/dev/$_->{dev}" } fs::proc_partitions::read_raw();
+}
+
+# assumes file is in /boot
+# to do: use yaboot2dev for files as well
+#- example of of_path: /pci@f4000000/ata-6@d/disk@0:3,/initrd-2.6.8.1-8mdk.img
+sub yaboot2file {
+ my ($of_path) = @_;
+
+ if ($of_path =~ /,/) {
+ "$::prefix/boot/" . basename($of_path);
+ } else {
+ yaboot2dev($of_path);
+ }
+}
+
+sub read_silo() {
+ my $bootloader = read_lilo_like("/boot/silo.conf", sub {
+ my ($f) = @_;
+ "/boot$f";
+ });
+ $bootloader->{method} = 'silo';
+ $bootloader;
+}
+sub read_cromwell() {
+ my %b;
+ $b{method} = 'cromwell';
+ \%b;
+}
+sub read_yaboot() {
+ my $bootloader = read_lilo_like("/etc/yaboot.conf", \&yaboot2file);
+ $bootloader->{method} = 'yaboot';
+ $bootloader;
+}
+sub read_lilo() {
+ my $bootloader = read_lilo_like("/etc/lilo.conf", sub { $_[0] });
+
+ delete $bootloader->{timeout} unless $bootloader->{prompt};
+ $bootloader->{timeout} = $bootloader->{timeout} / 10 if $bootloader->{timeout};
+
+ my $submethod = member($bootloader->{install}, 'text', 'menu') ? $bootloader->{install} : 'menu';
+ $bootloader->{method} = "lilo-$submethod";
+
+ $bootloader;
+}
+sub read_lilo_like {
+ my ($file, $filter_file) = @_;
+
+ my $global = 1;
+ my ($e);
+ my %b;
+ -e "$::prefix$file" or return;
+ foreach my $line (cat_("$::prefix$file")) {
+ next if $line =~ /^\s*#/ || $line =~ /^\s*$/;
+ my ($cmd, $v) = $line =~ /^\s*([^=\s]+)\s*(?:=\s*(.*?))?\s*$/ or log::l("unknown line in $file: $line"), next;
+
+ if ($cmd =~ /^(?:image|other|macos|macosx|bsd|darwin)$/) {
+ $v = $filter_file->($v);
+ push @{$b{entries}}, $e = { type => $cmd, kernel_or_dev => $v };
+ $global = 0;
+ } elsif ($global) {
+ if ($cmd eq 'disk' && $v =~ /(\S+)\s+bios\s*=\s*(\S+)/) {
+ $b{bios}{$1} = $2;
+ } elsif ($cmd eq 'bios') {
+ $b{bios}{$b{disk}} = $v;
+ } elsif ($cmd eq 'init-message') {
+ $v =~ s/\\n//g;
+ $v =~ s/"//g;
+ $b{'init-message'} = $v;
+ } else {
+ $b{$cmd} = $v eq '' ? 1 : $v;
+ }
+ } else {
+ if (($cmd eq 'map-drive' .. $cmd eq 'to') && $cmd eq 'to') {
+ $e->{mapdrive}{$e->{'map-drive'}} = $v;
+ } else {
+ if ($cmd eq 'initrd') {
+ $v = $filter_file->($v);
+ }
+ $e->{$cmd} = $v || 1;
+ }
+ }
+ }
+
+ sub remove_quotes_and_spaces {
+ local ($_) = @_;
+ s/^\s*//; s/\s*$//;
+ s/^"(.*?)"$/$1/;
+ s/\\"/"/g;
+ s/^\s*//; s/\s*$//; #- do it again for append=" foo"
+ $_;
+ }
+
+ foreach ('append', 'root', 'default', 'raid-extra-boot') {
+ $b{$_} = remove_quotes_and_spaces($b{$_}) if $b{$_};
+ }
+ foreach my $entry (@{$b{entries}}) {
+ foreach ('append', 'root', 'label') {
+ $entry->{$_} = remove_quotes_and_spaces($entry->{$_}) if $entry->{$_};
+ }
+ if ($entry->{kernel_or_dev} =~ /\bmbootpack\b/) {
+ $entry->{initrd} = $entry->{kernel_or_dev};
+ $entry->{initrd} =~ s/\bmbootpack/initrd/;
+ $entry->{kernel_or_dev} =~ s/\bmbootpack/vmlinuz/;
+ $entry->{kernel_or_dev} =~ s/.img$//;
+ #- assume only xen is configured with mbootpack
+ $entry->{xen} = '/boot/xen.gz';
+ $entry->{root} = $1 if $entry->{append} =~ s/root=(\S*)\s*//;
+ ($entry->{xen_append}, $entry->{append}) = split '\s*--\s*', $entry->{append}, 2;
+ }
+ }
+
+ # cleanup duplicate labels (in case file is corrupted)
+ @{$b{entries}} = uniq_ { $_->{label} } @{$b{entries}};
+
+ \%b;
+}
+
+sub cleanup_entries {
+ my ($bootloader) = @_;
+
+ #- cleanup bad entries (in case file is corrupted)
+ @{$bootloader->{entries}} =
+ grep {
+ my $pb = $_->{type} eq 'image' && dirname($_->{kernel_or_dev}) eq '/boot' && ! -e "$::prefix$_->{kernel_or_dev}";
+ log::l("dropping bootloader entry $_->{label} since $_->{kernel_or_dev} doesn't exist") if $pb;
+ !$pb;
+ } @{$bootloader->{entries}};
+}
+
+sub suggest_onmbr {
+ my ($hd) = @_;
+
+ my ($onmbr, $unsafe) = (1, 1);
+
+ if (my $type = partition_table::raw::typeOfMBR($hd->{device})) {
+ if (member($type, qw(dos dummy empty))) {
+ $unsafe = 0;
+ } elsif (!member($type, qw(lilo grub))) {
+ $onmbr = 0;
+ }
+ log::l("bootloader::suggest_onmbr: type $type, onmbr $onmbr, unsafe $unsafe");
+ }
+ ($onmbr, $unsafe);
+}
+
+sub allowed_boot_parts {
+ my ($bootloader, $all_hds) = @_;
+ (
+ @{$all_hds->{hds}},
+ if_($bootloader->{method} =~ /lilo/,
+ grep { $_->{level} eq '1' } @{$all_hds->{raids}}
+ ),
+ (grep { !isFat_or_NTFS($_) } fs::get::hds_fstab(@{$all_hds->{hds}})),
+ detect_devices::floppies(),
+ );
+}
+
+sub same_entries {
+ my ($a, $b) = @_;
+
+ foreach (uniq(keys %$a, keys %$b)) {
+ if (member($_, 'label', 'append', 'mapdrive', 'readonly', 'makeactive')) {
+ next;
+ } else {
+ next if $a->{$_} eq $b->{$_};
+
+ my ($inode_a, $inode_b) = map { (stat "$::prefix$_")[1] } ($a->{$_}, $b->{$_});
+ next if $inode_a && $inode_b && $inode_a == $inode_b;
+ }
+
+ log::l("entries $a->{label} do not have same $_: $a->{$_} ne $b->{$_}");
+ return;
+ }
+ 1;
+}
+
+sub add_entry {
+ my ($bootloader, $v) = @_;
+
+ my $to_add = $v;
+ my $label = $v->{label};
+ for (my $i = 0; $i < 10;) {
+ my $conflicting = get_label($label, $bootloader);
+
+ $to_add->{label} = $label;
+
+ if ($conflicting) {
+ #- replacing $conflicting with $to_add
+ @{$bootloader->{entries}} = map { $_ == $conflicting ? $to_add : $_ } @{$bootloader->{entries}};
+
+ #- we will keep $conflicting, but not with same symlinks if used by the entry to add
+ expand_entry_symlinks($bootloader, $conflicting);
+ } else {
+ #- we have found an unused label
+ push @{$bootloader->{entries}}, $to_add;
+ }
+
+ if (!$conflicting || same_entries($conflicting, $to_add)) {
+ log::l("current labels: " . join(" ", map { $_->{label} } @{$bootloader->{entries}}));
+ return $v;
+ }
+ $to_add = $conflicting;
+
+ if ($to_add->{label} eq 'linux') {
+ $label = kernel_str2label(vmlinuz2kernel_str($to_add->{kernel_or_dev}), 'use_long_name');
+ } else {
+ $label =~ s/^alt\d*_//;
+ $label = 'alt' . ($i++ ? $i : '') . "_$label";
+ }
+ }
+ die 'add_entry';
+}
+
+sub expand_entry_symlinks {
+ my ($bootloader, $entry) = @_;
+
+ foreach my $kind ('kernel_or_dev', 'initrd') {
+ my $old_long_name = $bootloader->{old_long_names} && $bootloader->{old_long_names}{$entry->{$kind}} or next;
+
+ #- replace all the {$kind} using this symlink to the real file
+ log::l("replacing $entry->{$kind} with $old_long_name for bootloader label $entry->{label}");
+ $entry->{$kind} = $old_long_name;
+ }
+}
+
+sub _do_the_symlink {
+ my ($bootloader, $link, $long_name) = @_;
+
+ my $existing_link = readlink("$::prefix$link");
+ if ($existing_link && $existing_link eq $long_name) {
+ #- nothing to do :)
+ return;
+ }
+
+ if ($existing_link) {
+ #- the symlink is going to change!
+ #- replace all the {$kind} using this symlink to the real file
+ my $old_long_name = $existing_link =~ m!^/! ? $existing_link : "/boot/$existing_link";
+ if (-e "$::prefix$old_long_name") {
+ $bootloader->{old_long_names}{$link} = $old_long_name;
+ } else {
+ log::l("ERROR: $link points to $old_long_name which does not exist");
+ }
+ } elsif (-e "$::prefix$link") {
+ log::l("ERROR: $link is not a symbolic link");
+ }
+
+ #- changing the symlink
+ symlinkf($long_name, "$::prefix$link")
+ or cp_af("$::prefix/boot/$long_name", "$::prefix$link");
+}
+
+sub cmp_kernel_versions {
+ my ($va, $vb) = @_;
+ my $rel_a = $va =~ s/-(.*)$// && $1;
+ my $rel_b = $vb =~ s/-(.*)$// && $1;
+ ($va, $vb) = map { [ split /[.-]/ ] } $va, $vb;
+ my $r = 0;
+ mapn_ {
+ $r ||= $_[0] <=> $_[1];
+ } $va, $vb;
+ $r || $rel_a <=> $rel_b || $rel_a cmp $rel_b;
+}
+
+sub get_mbootpack_filename {
+ my ($entry) = @_;
+ my $mbootpack_file = $entry->{initrd};
+ $mbootpack_file =~ s/\binitrd/mbootpack/;
+ $entry->{xen} && $mbootpack_file;
+}
+
+sub build_mbootpack {
+ my ($entry) = @_;
+
+ my $mbootpack = '/usr/bin/mbootpack';
+ -f $::prefix . $entry->{kernel_or_dev} && -f $::prefix . $entry->{initrd} or return;
+
+ my $mbootpack_file = get_mbootpack_filename($entry);
+ -f ($::prefix . $mbootpack_file) and return 1;
+
+ my $error;
+ my $xen_kernel = '/tmp/xen_kernel';
+ my $xen_vmlinux = '/tmp/xen_vmlinux';
+ my $_b = before_leaving { unlink $::prefix . $_ foreach $xen_kernel, $xen_vmlinux };
+ run_program::rooted($::prefix, '/bin/gzip', '>', $xen_kernel, '2>', \$error, '-dc', $entry->{xen})
+ or die "unable to uncompress xen kernel";
+ run_program::rooted($::prefix, '/bin/gzip', '>', $xen_vmlinux, '2>', \$error, '-dc', $entry->{kernel_or_dev})
+ or die "unable to uncompress xen vmlinuz";
+
+ run_program::rooted($::prefix, $mbootpack,
+ "2>", \$error,
+ '-o', $mbootpack_file,
+ '-m', $xen_vmlinux,
+ '-m', $entry->{initrd},
+ $xen_kernel)
+ or die "mbootpack failed: $error";
+
+ 1;
+}
+
+sub add_kernel {
+ my ($bootloader, $kernel_str, $v, $b_nolink, $b_no_initrd) = @_;
+
+ if (short_ext($kernel_str) eq 'xen' && -f '/boot/xen.gz') {
+ $v->{xen} = '/boot/xen.gz';
+ }
+
+ add2hash($v,
+ {
+ type => 'image',
+ label => kernel_str2label($kernel_str),
+ });
+
+ #- normalize append and handle special options
+ {
+ my ($simple, $dict) = unpack_append("$bootloader->{perImageAppend} $v->{append}");
+ if ($v->{label} eq 'failsafe') {
+ #- perImageAppend contains resume=/dev/xxx which we don't want
+ @$dict = grep { $_->[0] ne 'resume' } @$dict;
+ }
+ if (-e "$::prefix/sbin/udev" && cmp_kernel_versions($kernel_str->{version_no_ext}, '2.6.8') >= 0) {
+ log::l("it is a recent kernel, so we remove any existing devfs= kernel option to enable udev");
+ @$dict = grep { $_->[0] ne 'devfs' } @$dict;
+ }
+ $v->{append} = pack_append($simple, $dict);
+ }
+
+ #- new versions of yaboot do not handle symlinks
+ $b_nolink ||= arch() =~ /ppc/;
+
+ $b_nolink ||= $kernel_str->{use_long_name};
+
+ my $vmlinuz_long = kernel_str2vmlinuz_long($kernel_str);
+ $v->{kernel_or_dev} = "/boot/$vmlinuz_long";
+ -e "$::prefix$v->{kernel_or_dev}" or log::l("unable to find kernel image $::prefix$v->{kernel_or_dev}"), return;
+ if (!$b_nolink) {
+ $v->{kernel_or_dev} = '/boot/' . kernel_str2vmlinuz_short($kernel_str);
+ _do_the_symlink($bootloader, $v->{kernel_or_dev}, $vmlinuz_long);
+ }
+ log::l("adding $v->{kernel_or_dev}");
+
+ if (!$b_no_initrd) {
+ my $initrd_long = kernel_str2initrd_long($kernel_str);
+ $v->{initrd} = mkinitrd($kernel_str->{version}, $bootloader, $v, "/boot/$initrd_long");
+ if ($v->{initrd} && !$b_nolink) {
+ $v->{initrd} = '/boot/' . kernel_str2initrd_short($kernel_str);
+ _do_the_symlink($bootloader, $v->{initrd}, $initrd_long);
+ }
+ }
+
+ add_entry($bootloader, $v);
+}
+
+sub rebuild_initrds {
+ my ($bootloader) = @_;
+
+ my %done;
+ foreach my $v (grep { $_->{initrd} } @{$bootloader->{entries}}) {
+ my $kernel_str = vmlinuz2kernel_str($v->{kernel_or_dev});
+ my $initrd_long = '/boot/' . kernel_str2initrd_long($kernel_str);
+ next if $done{$initrd_long}++;
+
+ rebuild_initrd($kernel_str->{version}, $bootloader, $v, $initrd_long);
+ }
+}
+
+sub duplicate_kernel_entry {
+ my ($bootloader, $new_label) = @_;
+
+ get_label($new_label, $bootloader) and return;
+
+ my $entry = { %{ get_label('linux', $bootloader) }, label => $new_label };
+ add_entry($bootloader, $entry);
+}
+
+my $uniq_dict_appends = join('|', qw(devfs acpi pci resume PROFILE XFree));
+
+sub unpack_append {
+ my ($s) = @_;
+ my @l = "$s " =~ /((?:[^"\s]+|".*?")*)\s+/g;
+ [ grep { !/=/ } @l ], [ map { if_(/(.*?)=(.*)/, [$1, $2]) } @l ];
+}
+sub pack_append {
+ my ($simple, $dict) = @_;
+
+ #- normalize
+ $simple = [ reverse(uniq(reverse @$simple)) ];
+ $dict = [ reverse(uniq_ {
+ my ($k, $v) = @$_;
+ $k =~ /^($uniq_dict_appends)$/ ? $k : "$k=$v";
+ } reverse @$dict) ];
+
+ join(' ', @$simple, map { "$_->[0]=$_->[1]" } @$dict);
+}
+
+sub modify_append {
+ my ($b, $f) = @_;
+
+ my @l = grep { $_->{type} eq 'image' && !($::isStandalone && $_->{label} eq 'failsafe') } @{$b->{entries}};
+
+ foreach (\$b->{perImageAppend}, map { \$_->{append} } @l) {
+ my ($simple, $dict) = unpack_append($$_);
+ $f->($simple, $dict);
+ $$_ = pack_append($simple, $dict);
+ log::l("modify_append: $$_");
+ }
+}
+
+sub append__mem_is_memsize { $_[0] =~ /^\d+[kM]?$/i }
+
+sub get_append_simple {
+ my ($b, $key) = @_;
+ my ($simple, $_dict) = unpack_append($b->{perImageAppend});
+ member($key, @$simple);
+}
+sub get_append_with_key {
+ my ($b, $key) = @_;
+ my ($_simple, $dict) = unpack_append($b->{perImageAppend});
+ my @l = map { $_->[1] } grep { $_->[0] eq $key } @$dict;
+
+ log::l("more than one $key in $b->{perImageAppend}") if @l > 1;
+ $l[0];
+}
+sub remove_append_simple {
+ my ($b, $key) = @_;
+ modify_append($b, sub {
+ my ($simple, $_dict) = @_;
+ @$simple = grep { $_ ne $key } @$simple;
+ });
+}
+sub set_append_with_key {
+ my ($b, $key, $val) = @_;
+
+ modify_append($b, sub {
+ my ($_simple, $dict) = @_;
+
+ if ($val eq '') {
+ @$dict = grep { $_->[0] ne $key } @$dict;
+ } else {
+ push @$dict, [ $key, $val ];
+ }
+ });
+}
+sub set_append_simple {
+ my ($b, $key) = @_;
+
+ modify_append($b, sub {
+ my ($simple, $_dict) = @_;
+ @$simple = uniq(@$simple, $key);
+ });
+}
+sub may_append_with_key {
+ my ($b, $key, $val) = @_;
+ set_append_with_key($b, $key, $val) if !get_append_with_key($b, $key);
+}
+
+sub get_append_memsize {
+ my ($b) = @_;
+ my ($_simple, $dict) = unpack_append($b->{perImageAppend});
+ my $e = find { $_->[0] eq 'mem' && append__mem_is_memsize($_->[1]) } @$dict;
+ $e && $e->[1];
+}
+
+sub set_append_memsize {
+ my ($b, $memsize) = @_;
+
+ modify_append($b, sub {
+ my ($_simple, $dict) = @_;
+
+ @$dict = grep { $_->[0] ne 'mem' || !append__mem_is_memsize($_->[1]) } @$dict;
+ push @$dict, [ mem => $memsize ] if $memsize;
+ });
+}
+
+sub get_append_netprofile {
+ my ($e) = @_;
+ my ($simple, $dict) = unpack_append($e->{append});
+ my ($p, $dict_) = partition { $_->[0] eq 'PROFILE' } @$dict;
+ pack_append($simple, $dict_), $p->[0][1];
+}
+sub set_append_netprofile {
+ my ($e, $append, $profile) = @_;
+ my ($simple, $dict) = unpack_append($append);
+ push @$dict, [ 'PROFILE', $profile ] if $profile;
+ $e->{append} = pack_append($simple, $dict);
+}
+
+sub configure_entry {
+ my ($bootloader, $entry) = @_;
+ $entry->{type} eq 'image' or return;
+
+ if (my $kernel_str = vmlinuz2kernel_str($entry->{kernel_or_dev})) {
+ $entry->{initrd} =
+ mkinitrd($kernel_str->{version}, $bootloader, $entry,
+ $entry->{initrd} || '/boot/' . kernel_str2initrd_short($kernel_str));
+ }
+}
+
+sub get_kernels_and_labels_before_kernel_remove {
+ my ($to_remove_kernel) = @_;
+ my @kernels = grep { $_ ne $to_remove_kernel } installed_vmlinuz();
+ map { kernel_str2label($_) => $_ } get_kernel_labels(\@kernels);
+}
+
+sub get_kernels_and_labels {
+ my ($b_prefer_24) = @_;
+ get_kernel_labels([ installed_vmlinuz() ], $b_prefer_24);
+}
+
+sub get_kernel_labels {
+ my ($kernels, $b_prefer_24) = @_;
+
+ my @kernels_str =
+ sort { cmp_kernel_versions($b->{version_no_ext}, $a->{version_no_ext}) }
+ grep { -d "$::prefix/lib/modules/$_->{version}" }
+ map { vmlinuz2kernel_str($_) } @$kernels;
+
+ if ($b_prefer_24) {
+ my ($kernel_24, $other) = partition { $_->{ext} eq '' && $_->{version} =~ /^\Q2.4/ } @kernels_str;
+ @kernels_str = (@$kernel_24, @$other);
+ }
+
+ $kernels_str[0]{ext} = '';
+
+ my %labels;
+ foreach (@kernels_str) {
+ if ($labels{$_->{ext}}) {
+ $_->{use_long_name} = 1;
+ } else {
+ $labels{$_->{ext}} = 1;
+ }
+ }
+ @kernels_str;
+}
+
+sub short_ext {
+ my ($kernel_str) = @_;
+
+ my $short_ext = {
+ 'i586-up-1GB' => 'i586',
+ 'i686-up-4GB' => '4GB',
+ 'xen0' => 'xen',
+ }->{$kernel_str->{ext}};
+
+ $short_ext || $kernel_str->{ext};
+}
+sub sanitize_ver {
+ my ($name, $kernel_str) = @_;
+
+ $name = '' if $name eq 'linux';
+
+ my $v = $kernel_str->{version_no_ext};
+ if ($v =~ s/-\d+\.mm\././) {
+ $name = join(' ', grep { $_ } $name, 'multimedia');
+ } elsif ($v =~ s/-(desktop|server|laptop)-/-/) {
+ $name = join(' ', grep { $_ } $name, $1);
+ }
+
+ $v =~ s!md[kv]$!!;
+ $v =~ s!-0\.(pre|rc)(\d+)\.!$1$2-!;
+
+ my $return = join(' ', grep { $_ } $name, short_ext($kernel_str), $v);
+
+ length($return) < 30 or $return =~ s!secure!sec!;
+ length($return) < 30 or $return =~ s!enterprise!ent!;
+ length($return) < 30 or $return =~ s!multimedia!mm!;
+
+ $return;
+}
+
+sub suggest_message_text {
+ my ($bootloader) = @_;
+
+ if (!$bootloader->{message} && !$bootloader->{message_text} && arch() !~ /ia64/) {
+ my $msg_en =
+#-PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+N_("Welcome to the operating system chooser!
+
+Choose an operating system from the list above or
+wait for default boot.
+
+");
+ my $msg = translate($msg_en);
+ #- use the english version if more than 40% of 8bits chars
+ #- else, use the translation but force a conversion to ascii
+ #- to be sure there won't be undisplayable characters
+ if (int(grep { $_ & 0x80 } unpack "c*", $msg) / length($msg) > 0.4) {
+ $msg = $msg_en;
+ } else {
+ $msg = Locale::gettext::iconv($msg, "utf-8", "ascii//TRANSLIT");
+ }
+ $bootloader->{message_text} = $msg;
+ }
+}
+
+sub suggest {
+ my ($bootloader, $all_hds, %options) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my $root_part = fs::get::root($fstab);
+ my $root = isLoopback($root_part) ? '/dev/loop7' : fs::wild_device::from_part('', $root_part);
+ my $boot = fs::get::root($fstab, 'boot')->{device};
+ #- PPC xfs module requires enlarged initrd
+ my $xfsroot = $root_part->{fs_type} eq 'xfs';
+
+ my ($onmbr, $unsafe) = $bootloader->{crushMbr} ? (1, 0) : suggest_onmbr($all_hds->{hds}[0]);
+ add2hash_($bootloader, arch() =~ /ppc/ ?
+ {
+ defaultos => "linux",
+ entries => [],
+ 'init-message' => "Welcome to Mandriva Linux!",
+ delay => 30, #- OpenFirmware delay
+ timeout => 50,
+ enableofboot => 1,
+ enablecdboot => 1,
+ if_(detect_devices::get_mac_model() =~ /IBM/,
+ boot => "/dev/sda1",
+ ),
+ xfsroot => $xfsroot,
+ } :
+ {
+ bootUnsafe => $unsafe,
+ entries => [],
+ timeout => $onmbr && 10,
+ nowarn => 1,
+ if_(arch() !~ /ia64/,
+ boot => "/dev/" . ($onmbr ? $all_hds->{hds}[0]{device} : $boot),
+ map => "/boot/map",
+ compact => 1,
+ color => 'black/cyan yellow/cyan',
+ 'menu-scheme' => 'wb:bw:wb:bw'
+ ),
+ });
+
+ suggest_message_text($bootloader);
+
+ add2hash_($bootloader, { memsize => $1 }) if cat_("/proc/cmdline") =~ /\bmem=(\d+[KkMm]?)(?:\s.*)?$/;
+ if (my ($s, $port, $speed) = cat_("/proc/cmdline") =~ /console=(ttyS(\d),(\d+)\S*)/) {
+ log::l("serial console $s $port $speed");
+ set_append_with_key($bootloader, console => $s);
+ any::set_login_serial_console($port, $speed);
+ }
+
+ my @kernels = get_kernels_and_labels() or die "no kernel installed";
+
+ foreach my $kernel (@kernels) {
+ my $e = add_kernel($bootloader, $kernel,
+ {
+ root => $root,
+ if_($options{vga_fb} && $kernel->{ext} eq '', vga => $options{vga_fb}), #- using framebuffer
+ if_($options{vga_fb} && $options{quiet}, append => "splash=silent"),
+ });
+
+ if ($options{vga_fb} && $e->{label} eq 'linux') {
+ add_kernel($bootloader, $kernel, { root => $root, label => 'linux-nonfb' });
+ }
+ }
+
+ #- remove existing failsafe, do not care if the previous one was modified by the user?
+ @{$bootloader->{entries}} = grep { $_->{label} ne 'failsafe' } @{$bootloader->{entries}};
+
+ add_kernel($bootloader, $kernels[0],
+ { root => $root, label => 'failsafe', append => 'failsafe' });
+
+ if (arch() =~ /ppc/) {
+ #- if we identified a MacOS partition earlier - add it
+ if (defined $partition_table::mac::macos_part) {
+ add_entry($bootloader,
+ {
+ type => "macos",
+ kernel_or_dev => $partition_table::mac::macos_part
+ });
+ }
+ } elsif (arch() !~ /ia64/) {
+ #- search for dos (or windows) boot partition. Do not look in extended partitions!
+ my @windows_boot_parts =
+ grep { isFat_or_NTFS($_) && member(fs::type::fs_type_from_magic($_), 'vfat', 'ntfs') }
+ map { @{$_->{primary}{normal}} } @{$all_hds->{hds}};
+ each_index {
+ add_entry($bootloader,
+ {
+ type => 'other',
+ kernel_or_dev => "/dev/$_->{device}",
+ label => 'windows' . ($::i || ''),
+ table => "/dev/$_->{rootDevice}",
+ makeactive => 1,
+ });
+ } @windows_boot_parts;
+ }
+
+ my @preferred = map { "linux-$_" } 'p3-smp-64GB', 'secure', 'enterprise', 'smp', 'i686-up-4GB';
+ if (my $preferred = find { get_label($_, $bootloader) } @preferred) {
+ $bootloader->{default} ||= $preferred;
+ }
+ $bootloader->{default} ||= "linux";
+ $bootloader->{method} ||= first(method_choices($all_hds, 1));
+}
+
+sub detect_main_method {
+ my ($all_hds) = @_;
+ my $bootloader = &read($all_hds);
+ $bootloader && main_method($bootloader->{method});
+}
+
+sub main_method {
+ my ($method) = @_;
+ $method =~ /(\w+)/ && $1;
+}
+
+sub config_files() {
+ my %files = (
+ lilo => '/etc/lilo.conf',
+ grub => '/boot/grub/menu.lst',
+ grub_install => '/boot/grub/install.sh',
+ );
+
+ map_each {
+ my $content = cat_("$::prefix/$::b");
+ { main_method => main_method($::a), name => $::a, file => $::b, content => $content };
+ } %files;
+}
+
+sub method2text {
+ my ($method) = @_;
+ +{
+ 'lilo-menu' => N("LILO with text menu"),
+ 'grub-graphic' => N("GRUB with graphical menu"),
+ 'grub-menu' => N("GRUB with text menu"),
+ 'yaboot' => N("Yaboot"),
+ 'silo' => N("SILO"),
+ }->{$method};
+}
+
+sub method_choices_raw {
+ my ($b_prefix_mounted) = @_;
+ detect_devices::is_xbox() ? 'cromwell' :
+ arch() =~ /ppc/ ? 'yaboot' :
+ arch() =~ /ia64/ ? 'lilo' :
+ arch() =~ /sparc/ ? 'silo' :
+ (
+ if_(!$b_prefix_mounted || whereis_binary('grub', $::prefix),
+ 'grub-graphic', 'grub-menu'),
+ if_(!$b_prefix_mounted || whereis_binary('lilo', $::prefix),
+ 'lilo-menu'),
+ );
+}
+sub method_choices {
+ my ($all_hds, $b_prefix_mounted) = @_;
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my $root_part = fs::get::root($fstab);
+ my $have_dmraid = find { fs::type::is_dmraid($_) } @{$all_hds->{hds}};
+
+ grep {
+ (!/lilo/ || !isLoopback($root_part) && !$have_dmraid)
+ && (!/grub/ || !isRAID($root_part))
+ && (!/grub-graphic/ || cat_("/proc/cmdline") !~ /console=ttyS/);
+ } method_choices_raw($b_prefix_mounted);
+}
+sub main_method_choices {
+ my ($b_prefix_mounted) = @_;
+ uniq(map { main_method($_) } method_choices_raw($b_prefix_mounted));
+}
+sub configured_main_methods() {
+ my @bad_main_methods = map { if_(!$_->{content}, $_->{main_method}) } config_files();
+ difference2([ main_method_choices(1) ], \@bad_main_methods);
+}
+
+sub keytable {
+ my ($f) = @_;
+ $f or return;
+
+ if ($f !~ /\.klt$/) {
+ my $file = "/boot/$f.klt";
+ run_program::rooted($::prefix, "keytab-lilo.pl", ">", $file, $f) or return;
+ $f = $file;
+ }
+ -r "$::prefix/$f" && $f;
+}
+
+
+sub create_link_source() {
+ #- we simply do it for all kernels :)
+ #- so this can be used in %post of kernel and also of kernel-source
+ foreach (all("$::prefix/usr/src")) {
+ my ($version) = /^linux-(\d+\.\d+.*)/ or next;
+ foreach (glob("$::prefix/lib/modules/$version*")) {
+ -d $_ or next;
+ log::l("creating symlink $_/build");
+ symlink "/usr/src/linux-$version", "$_/build";
+ log::l("creating symlink $_/source");
+ symlink "/usr/src/linux-$version", "$_/source";
+ }
+ }
+}
+
+sub dev2yaboot {
+ my ($dev) = @_;
+
+ devices::make("$::prefix$dev"); #- create it in the chroot
+
+ my $of_dev;
+ run_program::rooted_or_die($::prefix, "/usr/sbin/ofpath", ">", \$of_dev, $dev);
+ chomp($of_dev);
+ log::l("OF Device: $of_dev");
+ $of_dev;
+}
+
+sub check_enough_space() {
+ my $e = "$::prefix/boot/.enough_space";
+ output $e, 1; -s $e or die N("not enough room in /boot");
+ unlink $e;
+}
+
+sub write_yaboot {
+ my ($bootloader, $all_hds) = @_;
+
+ my $fstab = [ fs::get::fstab($all_hds) ];
+
+ my $file2yaboot = sub {
+ my ($part, $file) = fs::get::file2part($fstab, $_[0]);
+ dev2yaboot('/dev/' . $part->{device}) . "," . $file;
+ };
+
+ #- do not write yaboot.conf for old-world macs
+ my $mac_type = detect_devices::get_mac_model();
+ return if $mac_type =~ /Power Macintosh/;
+
+ $bootloader->{prompt} ||= $bootloader->{timeout};
+
+ if ($bootloader->{message_text}) {
+ eval { output("$::prefix/boot/message", $bootloader->{message_text}) }
+ and $bootloader->{message} = '/boot/message';
+ }
+
+ my @conf;
+
+ if (!get_label($bootloader->{default}, $bootloader)) {
+ log::l("default bootloader entry $bootloader->{default} is invalid, choosing another one");
+ $bootloader->{default} = $bootloader->{entries}[0]{label};
+ }
+ push @conf, "# yaboot.conf - generated by DrakX/drakboot";
+ push @conf, "# WARNING: do not forget to run ybin after modifying this file\n";
+ push @conf, "default=" . make_label_lilo_compatible($bootloader->{default}) if $bootloader->{default};
+ push @conf, sprintf('init-message="\n%s\n"', $bootloader->{'init-message'}) if $bootloader->{'init-message'};
+
+ if ($bootloader->{boot}) {
+ push @conf, "boot=$bootloader->{boot}";
+ push @conf, "ofboot=" . dev2yaboot($bootloader->{boot}) if $mac_type !~ /IBM/;
+ } else {
+ die "no bootstrap partition defined.";
+ }
+
+ push @conf, map { "$_=$bootloader->{$_}" } grep { $bootloader->{$_} } (qw(delay timeout), if_($mac_type !~ /IBM/, 'defaultos'));
+ push @conf, "install=/usr/lib/yaboot/yaboot";
+ if ($mac_type =~ /IBM/) {
+ push @conf, 'nonvram';
+ } else {
+ push @conf, 'magicboot=/usr/lib/yaboot/ofboot';
+ push @conf, grep { $bootloader->{$_} } qw(enablecdboot enableofboot);
+ }
+ foreach my $entry (@{$bootloader->{entries}}) {
+
+ if ($entry->{type} eq "image") {
+ push @conf, "$entry->{type}=" . $file2yaboot->($entry->{kernel_or_dev});
+ my @entry_conf;
+ push @entry_conf, "label=" . make_label_lilo_compatible($entry->{label});
+ push @entry_conf, "root=$entry->{root}";
+ push @entry_conf, "initrd=" . $file2yaboot->($entry->{initrd}) if $entry->{initrd};
+ #- xfs module on PPC requires larger initrd - say 6MB?
+ push @entry_conf, "initrd-size=6144" if $bootloader->{xfsroot};
+ push @entry_conf, qq(append=" $entry->{append}") if $entry->{append};
+ push @entry_conf, grep { $entry->{$_} } qw(read-write read-only);
+ push @conf, map { "\t$_" } @entry_conf;
+ } else {
+ my $of_dev = dev2yaboot($entry->{kernel_or_dev});
+ push @conf, "$entry->{type}=$of_dev";
+ }
+ }
+ my $f = "$::prefix/etc/yaboot.conf";
+ log::l("writing yaboot config to $f");
+ renamef($f, "$f.old");
+ output($f, map { "$_\n" } @conf);
+}
+
+sub install_yaboot {
+ my ($bootloader, $all_hds) = @_;
+ log::l("Installing boot loader...");
+ write_yaboot($bootloader, $all_hds);
+ when_config_changed_yaboot($bootloader);
+}
+sub when_config_changed_yaboot {
+ my ($bootloader) = @_;
+ $::testing and return;
+ if (defined $partition_table::mac::new_bootstrap) {
+ run_program::run("hformat", $bootloader->{boot}) or die "hformat failed";
+ }
+ my $error;
+ run_program::rooted($::prefix, "/usr/sbin/ybin", "2>", \$error) or die "ybin failed: $error";
+}
+
+sub install_cromwell {
+ my ($_bootloader, $_all_hds) = @_;
+ log::l("XBox/Cromwell - nothing to install...");
+}
+sub write_cromwell {
+ my ($_bootloader, $_all_hds) = @_;
+ log::l("XBox/Cromwell - nothing to write...");
+}
+sub when_config_changed_cromwell {
+ my ($_bootloader) = @_;
+ log::l("XBox/Cromwell - nothing to do...");
+}
+
+sub simplify_label {
+ my ($label) = @_;
+
+ length($label) < 31 or $label =~ s/\.//g;
+
+ $label = substr($label, 0, 31); #- lilo does not handle more than 31 char long labels
+ $label =~ s/ /_/g; #- lilo does not support blank character in image names, labels or aliases
+ $label;
+}
+
+sub make_label_lilo_compatible {
+ my ($label) = @_;
+ '"' . simplify_label($label) . '"';
+}
+
+sub write_lilo {
+ my ($bootloader, $all_hds) = @_;
+ $bootloader->{prompt} ||= $bootloader->{timeout};
+
+ my $file2fullname = sub {
+ my ($file) = @_;
+ if (arch() =~ /ia64/) {
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ (my $part, $file) = fs::get::file2part($fstab, $file);
+ my %hds = map_index { $_ => "hd$::i" } map { $_->{device} }
+ sort {
+ my ($a_is_fat, $b_is_fat) = ($a->{fs_type} eq 'vfat', $b->{fs_type} eq 'vfat');
+ $a_is_fat <=> $b_is_fat || $a->{device} cmp $b->{device};
+ } @$fstab;
+ $hds{$part->{device}} . ":" . $file;
+ } else {
+ $file;
+ }
+ };
+
+ my $quotes = sub {
+ my ($s) = @_;
+ $s =~ s/"/\\"/g;
+ qq("$s");
+ };
+
+ my $quotes_if_needed = sub {
+ my ($s) = @_;
+ $s =~ /["=\s]/ ? $quotes->($s) : $s;
+ };
+
+
+ my @sorted_hds = sort_hds_according_to_bios($bootloader, $all_hds);
+
+ if (is_empty_hash_ref($bootloader->{bios} ||= {}) && $all_hds->{hds}[0] != $sorted_hds[0]) {
+ log::l("Since we're booting on $sorted_hds[0]{device}, make it bios=0x80");
+ $bootloader->{bios} = { "/dev/$sorted_hds[0]{device}" => '0x80' };
+ }
+
+ my @conf;
+
+ #- normalize: RESTRICTED is only valid if PASSWORD is set
+ delete $bootloader->{restricted} if !$bootloader->{password};
+ foreach my $entry (@{$bootloader->{entries}}) {
+ delete $entry->{restricted} if !$entry->{password} && !$bootloader->{password};
+ }
+ if (get_append_with_key($bootloader, 'console') =~ /ttyS(.*)/) {
+ $bootloader->{serial} ||= $1;
+ }
+
+ if (!get_label($bootloader->{default}, $bootloader)) {
+ log::l("default bootloader entry $bootloader->{default} is invalid, choosing another one");
+ $bootloader->{default} = $bootloader->{entries}[0]{label};
+ }
+ push @conf, "# File generated by DrakX/drakboot";
+ push @conf, "# WARNING: do not forget to run lilo after modifying this file\n";
+ push @conf, "default=" . make_label_lilo_compatible($bootloader->{default}) if $bootloader->{default};
+ push @conf, map { $_ . '=' . $quotes_if_needed->($bootloader->{$_}) } grep { $bootloader->{$_} } qw(boot root map install serial vga keytable raid-extra-boot menu-scheme);
+ push @conf, grep { $bootloader->{$_} } qw(linear geometric compact prompt nowarn restricted static-bios-codes);
+ push @conf, "append=" . $quotes->($bootloader->{append}) if $bootloader->{append};
+ push @conf, "password=" . $bootloader->{password} if $bootloader->{password}; #- also done by msec
+ push @conf, "timeout=" . round(10 * $bootloader->{timeout}) if $bootloader->{timeout};
+
+ push @conf, "message=$bootloader->{message}" if $bootloader->{message};
+
+ push @conf, "ignore-table" if any { $_->{unsafe} && $_->{table} } @{$bootloader->{entries}};
+
+ push @conf, map_each { "disk=$::a bios=$::b" } %{$bootloader->{bios}};
+
+ foreach my $entry (@{$bootloader->{entries}}) {
+ my $mbootpack_file = get_mbootpack_filename($entry);
+ if ($mbootpack_file && !build_mbootpack($entry)) {
+ warn "mbootpack is required for xen but unavailable, skipping\n";
+ next;
+ }
+
+ push @conf, "$entry->{type}=" . $file2fullname->($mbootpack_file || $entry->{kernel_or_dev});
+ my @entry_conf;
+ push @entry_conf, "label=" . make_label_lilo_compatible($entry->{label}) if $entry->{label};
+
+ if ($entry->{type} eq "image") {
+ push @entry_conf, 'root=' . $quotes_if_needed->($entry->{root}) if $entry->{root} && !$entry->{xen};
+ push @entry_conf, "initrd=" . $file2fullname->($entry->{initrd}) if $entry->{initrd} && !$mbootpack_file;
+ my $append = join(' ', if_($entry->{xen_append}, $entry->{xen_append}),
+ if_($entry->{xen}, '--', 'root=' . $entry->{root}),
+ if_($entry->{append}, $entry->{append}));
+ push @entry_conf, "append=" . $quotes->($append) if $append;
+ push @entry_conf, "vga=$entry->{vga}" if $entry->{vga};
+ push @entry_conf, grep { $entry->{$_} } qw(read-write read-only optional);
+ } else {
+ delete $entry->{unsafe} if $entry->{table}; #- we can't have both
+ push @entry_conf, map { "$_=$entry->{$_}" } grep { $entry->{$_} } qw(table boot-as);
+ push @entry_conf, grep { $entry->{$_} } qw(unsafe master-boot);
+
+ if ($entry->{table}) {
+ #- hum, things like table=c: are needed for some os2 cases,
+ #- in that case $hd below is undef
+ my $hd = fs::get::device2part($entry->{table}, $all_hds->{hds});
+ if ($hd && $hd != $sorted_hds[0]) {
+ #- boot off the nth drive, so reverse the BIOS maps
+ my $nb = sprintf("0x%x", 0x80 + (find_index { $hd == $_ } @sorted_hds));
+ $entry->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
+ }
+ }
+ if ($entry->{mapdrive}) {
+ push @entry_conf, map_each { "map-drive=$::a", " to=$::b" } %{$entry->{mapdrive}};
+ }
+ }
+ push @entry_conf, "password=$entry->{password}" if $entry->{password};
+ push @entry_conf, "restricted" if $entry->{restricted};
+
+ push @conf, map { "\t$_" } @entry_conf;
+ }
+ my $f = arch() =~ /ia64/ ? "$::prefix/boot/efi/elilo.conf" : "$::prefix/etc/lilo.conf";
+
+ log::l("writing lilo config to $f");
+ renamef($f, "$f.old");
+ output_with_perm($f, $bootloader->{password} ? 0600 : 0644, map { "$_\n" } @conf);
+}
+
+sub install_lilo {
+ my ($bootloader, $all_hds) = @_;
+
+ if (my ($install) = $bootloader->{method} =~ /lilo-(text|menu)/) {
+ $bootloader->{install} = $install;
+ } else {
+ delete $bootloader->{install};
+ }
+ if ($bootloader->{message_text}) {
+ output("$::prefix/boot/message-text", $bootloader->{message_text});
+ }
+ my $message = "message-text";
+ if (-r "$::prefix/boot/$message") {
+ symlinkf $message, "$::prefix/boot/message";
+ $bootloader->{message} = '/boot/message';
+ }
+
+ #- ensure message does not contain the old graphic format
+ if ($bootloader->{message} && -s "$::prefix$bootloader->{message}" > 65_000) {
+ output("$::prefix$bootloader->{message}", '');
+ }
+
+ write_lilo($bootloader, $all_hds);
+
+ when_config_changed_lilo($bootloader);
+
+ configure_kdm_BootManager('Lilo');
+}
+
+sub install_raw_lilo {
+ my ($o_force_answer) = @_;
+
+ my $error;
+ my $answer = $o_force_answer || '';
+ run_program::rooted($::prefix, "echo $answer | lilo", '2>', \$error) or die "lilo failed: $error";
+}
+
+sub when_config_changed_lilo {
+ my ($bootloader) = @_;
+ if (!$::testing && arch() !~ /ia64/ && $bootloader->{method} =~ /lilo/) {
+ log::l("Installing boot loader on $bootloader->{boot}...");
+ install_raw_lilo($bootloader->{force_lilo_answer});
+ }
+}
+
+#- NB: ide is lower than scsi, this is important for sort_hds_according_to_bios()
+sub hd2bios_kind {
+ my ($hd) = @_;
+ lc(join('_', $hd->{bus}, $hd->{host}));
+}
+
+sub mixed_kind_of_disks {
+ my ($hds) = @_;
+ (uniq_ { hd2bios_kind($_) } @$hds) > 1;
+}
+
+sub sort_hds_according_to_bios {
+ my ($bootloader, $all_hds) = @_;
+ my $boot_hd = fs::get::device2part($bootloader->{first_hd_device} || $bootloader->{boot}, $all_hds->{hds}); #- $boot_hd is undefined when installing on floppy
+ my $boot_kind = $boot_hd && hd2bios_kind($boot_hd);
+
+ my $translate = sub {
+ my ($hd) = @_;
+ my $kind = hd2bios_kind($hd);
+ $boot_hd ? ($hd == $boot_hd ? 0 : $kind eq $boot_kind ? 1 : 2) . "_$kind" : $kind;
+ };
+ sort { $translate->($a) cmp $translate->($b) } @{$all_hds->{hds}};
+}
+
+sub device_string2grub {
+ my ($dev, $legacy_floppies, $sorted_hds) = @_;
+ if (my $device = fs::get::device2part($dev, [ @$sorted_hds, fs::get::hds_fstab(@$sorted_hds) ])) {
+ device2grub($device, $sorted_hds);
+ } elsif (my $floppy = fs::get::device2part($dev, $legacy_floppies)) {
+ my $bios = find_index { $floppy eq $_ } @$legacy_floppies;
+ "(fd$bios)";
+ } else {
+ internal_error("unknown device $dev");
+ }
+}
+sub device2grub {
+ my ($device, $sorted_hds) = @_;
+ my ($hd, $part_nb) =
+ $device->{rootDevice} ?
+ (fs::get::device2part($device->{rootDevice}, $sorted_hds), $device->{device} =~ /(\d+)$/) :
+ $device;
+ my $bios = eval { find_index { $hd eq $_ } @$sorted_hds };
+ if (defined $bios) {
+ my $part_string = defined $part_nb ? ',' . ($part_nb - 1) : '';
+ "(hd$bios$part_string)";
+ } else {
+ undef;
+ }
+}
+
+sub read_grub_device_map() {
+ my %grub2dev = map { m!\((.*)\)\s+/dev/(.*)$! } cat_("$::prefix/boot/grub/device.map");
+ \%grub2dev;
+}
+sub write_grub_device_map {
+ my ($legacy_floppies, $sorted_hds) = @_;
+ my $f = "$::prefix/boot/grub/device.map";
+ renamef($f, "$f.old");
+ output($f,
+ (map_index { "(fd$::i) /dev/$_->{device}\n" } @$legacy_floppies),
+ (map_index { "(hd$::i) /dev/$_->{device}\n" } @$sorted_hds));
+}
+
+sub grub2dev_and_file {
+ my ($grub_file, $grub2dev, $o_block_device) = @_;
+ my ($grub_dev, $rel_file) = $grub_file =~ m!\((.*?)\)/?(.*)! or return;
+ my ($hd, $part) = split(',', $grub_dev);
+ $grub2dev->{$hd} or internal_error("$hd has no mapping in device.map (when translating $grub_file)");
+ $part = $o_block_device ? '' : defined $part && $part + 1; #- grub wants "(hdX,Y)" where lilo just want "hdY+1"
+ my $device = '/dev/' . $grub2dev->{$hd} . $part;
+ $device, $rel_file;
+}
+sub grub2dev {
+ my ($grub_file, $grub2dev, $o_block_device) = @_;
+ first(grub2dev_and_file($grub_file, $grub2dev, $o_block_device));
+}
+
+# replace dummy "(hdX,Y)" in "(hdX,Y)/boot/vmlinuz..." by appropriate path if needed
+sub grub2file {
+ my ($grub_file, $grub2dev, $fstab) = @_;
+ if (my ($device, $rel_file) = grub2dev_and_file($grub_file, $grub2dev)) {
+ if (my $part = fs::get::device2part($device, $fstab)) {
+ my $mntpoint = $part->{mntpoint} || '';
+ ($mntpoint eq '/' ? '' : $mntpoint) . '/' . $rel_file;
+ } else {
+ log::l("ERROR: unknown device $device (computed from $grub_file)");
+ $grub_file;
+ }
+ } else {
+ $grub_file;
+ }
+}
+
+sub boot_copies_dir() { '/boot/copied' }
+sub create_copy_in_boot {
+ my ($file) = @_;
+
+ my $s = $file;
+ $s =~ s!/!_!g;
+ my $file2 = boot_copies_dir() . "/$s";
+
+ log::l("$file is not available at boot time, creating a copy ($file2)");
+ mkdir_p(boot_copies_dir());
+ output("$file2.link", $file . "\n");
+ update_copy_in_boot("$file2.link");
+
+ $file2;
+}
+sub update_copy_in_boot {
+ my ($link) = @_;
+ my $orig = chomp_(cat_("$::prefix$link"));
+ (my $dest = $link) =~ s/\.link$// or internal_error("update_copy_in_boot: $link");
+ if (-e "$::prefix$orig") {
+ log::l("updating $dest from $orig");
+ cp_af("$::prefix$orig", "$::prefix$dest");
+ } else {
+ log::l("removing $dest since $orig does not exist anymore");
+ unlink "$::prefix$link", "$::prefix$orig";
+ }
+}
+
+sub write_grub {
+ my ($bootloader, $all_hds) = @_;
+
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my @legacy_floppies = detect_devices::floppies();
+ my @sorted_hds = sort_hds_according_to_bios($bootloader, $all_hds);
+ write_grub_device_map(\@legacy_floppies, \@sorted_hds);
+
+ my $file2grub; $file2grub = sub {
+ my ($file) = @_;
+ if ($file =~ m!^\(.*\)/!) {
+ $file; #- it's already in grub format
+ } else {
+ my ($part, $rel_file) = fs::get::file2part($fstab, $file, 'keep_simple_symlinks');
+ if (my $grub = device2grub($part, \@sorted_hds)) {
+ $grub . $rel_file;
+ } elsif (!begins_with($file, '/boot/')) {
+ log::l("$file is on device $part->{device} which is not available at boot time. Copying it");
+ $file2grub->(create_copy_in_boot($file));
+ } else {
+ log::l("ERROR: $file is on device $part->{device} which is not available at boot time. Defaulting to a dumb value");
+ "(hd0,0)$file";
+ }
+ }
+ };
+
+ if (get_append_with_key($bootloader, 'console') =~ /ttyS(\d),(\d+)/) {
+ $bootloader->{serial} ||= "--unit=$1 --speed=$2";
+ $bootloader->{terminal} ||= "--timeout=" . ($bootloader->{timeout} || 0) . " console serial";
+ } elsif ($bootloader->{method} eq 'grub-graphic') {
+ my $bin = '/usr/sbin/grub-gfxmenu';
+ if ($bootloader->{gfxmenu} eq '' && -x "$::prefix/usr/sbin/grub-gfxmenu") {
+ my $locale = $::o->{locale} || do { require lang; lang::read() };
+ run_program::rooted($::prefix, $bin, '--lang', $locale->{lang}, '--update-gfxmenu');
+ $bootloader->{gfxmenu} ||= '/boot/gfxmenu';
+ }
+ #- not handled anymore
+ delete $bootloader->{$_} foreach qw(splashimage viewport shade);
+ } else {
+ delete $bootloader->{gfxmenu};
+ }
+
+ {
+ my @conf;
+
+ push @conf, map { "$_ $bootloader->{$_}" } grep { $bootloader->{$_} } qw(timeout color password serial shade terminal viewport background foreground);
+ push @conf, map { $_ . ' ' . $file2grub->($bootloader->{$_}) } grep { $bootloader->{$_} } qw(gfxmenu);
+
+ eval {
+ push @conf, "default " . (find_index { $_->{label} eq $bootloader->{default} } @{$bootloader->{entries}});
+ };
+
+ foreach my $entry (@{$bootloader->{entries}}) {
+ my $title = "\ntitle $entry->{label}";
+
+ if ($entry->{type} eq "image") {
+ push @conf, $title;
+ push @conf, grep { $entry->{$_} } 'lock';
+ push @conf, join(' ', 'kernel', $file2grub->($entry->{xen}), $entry->{xen_append}) if $entry->{xen};
+
+ my $vga = $entry->{vga} || $bootloader->{vga};
+ push @conf, join(' ', $entry->{xen} ? 'module' : 'kernel',
+ $file2grub->($entry->{kernel_or_dev}),
+ $entry->{xen} ? '' : 'BOOT_IMAGE=' . simplify_label($entry->{label}),
+ if_($entry->{root}, $entry->{root} =~ /loop7/ ? "root=707" : "root=$entry->{root}"), #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
+ $entry->{append},
+ if_($entry->{'read-write'}, 'rw'),
+ if_($vga && $vga ne "normal", "vga=$vga"));
+ push @conf, "module " . $_ foreach @{$entry->{modules} || []};
+ push @conf, join(' ', $entry->{xen} ? 'module' : 'initrd', $file2grub->($entry->{initrd})) if $entry->{initrd};
+ } else {
+ my $dev = eval { device_string2grub($entry->{kernel_or_dev}, \@legacy_floppies, \@sorted_hds) };
+ if (!$dev) {
+ log::l("dropping bad entry $entry->{label} for unknown device $entry->{kernel_or_dev}");
+ next;
+ }
+ push @conf, $title;
+ push @conf, join(' ', $entry->{grub_noverify} ? 'rootnoverify' : 'root', $dev);
+
+ if ($entry->{table}) {
+ if (my $hd = fs::get::device2part($entry->{table}, \@sorted_hds)) {
+ if (my $bios = find_index { $hd eq $_ } @sorted_hds) {
+ #- boot off the nth drive, so reverse the BIOS maps
+ my $nb = sprintf("0x%x", 0x80 + $bios);
+ $entry->{mapdrive} ||= { '0x80' => $nb, $nb => '0x80' };
+ }
+ }
+ }
+ if ($entry->{mapdrive}) {
+ push @conf, map_each { "map ($::b) ($::a)" } %{$entry->{mapdrive}};
+ }
+ push @conf, "makeactive" if $entry->{makeactive};
+ push @conf, "chainloader +1";
+ }
+ }
+ my $f = "$::prefix/boot/grub/menu.lst";
+ log::l("writing grub config to $f");
+ renamef($f, "$f.old");
+ output($f, map { "$_\n" } @conf);
+ }
+ {
+ my $f = "$::prefix/boot/grub/install.sh";
+ my $boot_dev = device_string2grub($bootloader->{boot}, \@legacy_floppies, \@sorted_hds);
+ my $files_dev = device2grub(fs::get::root_($fstab, 'boot'), \@sorted_hds);
+ renamef($f, "$f.old");
+ output_with_perm($f, 0755,
+"grub --device-map=/boot/grub/device.map --batch <<EOF
+root $files_dev
+setup --stage2=/boot/grub/stage2 $boot_dev
+quit
+EOF
+");
+ }
+
+ check_enough_space();
+}
+
+sub configure_kdm_BootManager {
+ my ($name) = @_;
+ eval { common::update_gnomekderc_no_create("$::prefix/etc/kde/kdm/kdmrc", 'Shutdown' => (
+ BootManager => $name
+ )) };
+}
+
+sub install_grub {
+ my ($bootloader, $all_hds) = @_;
+
+ write_grub($bootloader, $all_hds);
+
+ if (!$::testing) {
+ my @files = grep { /(stage1|stage2|_stage1_5)$/ } glob("$::prefix/lib/grub/*/*");
+ cp_af(@files, "$::prefix/boot/grub");
+ install_raw_grub();
+ }
+
+ configure_kdm_BootManager('Grub');
+}
+sub install_raw_grub() {
+ log::l("Installing boot loader...");
+ my $error;
+ run_program::rooted($::prefix, "sh", '/boot/grub/install.sh', "2>", \$error) or die "grub failed: $error";
+}
+
+sub when_config_changed_grub {
+ my ($_bootloader) = @_;
+ #- do not do anything
+
+ update_copy_in_boot($_) foreach glob($::prefix . boot_copies_dir() . '/*.link');
+}
+
+sub action {
+ my ($bootloader, $action, @para) = @_;
+
+ my $main_method = main_method($bootloader->{method});
+ my $f = $bootloader::{$action . '_' . $main_method} or die "unknown bootloader method $bootloader->{method} ($action)";
+ $f->($bootloader, @para);
+}
+
+sub install {
+ my ($bootloader, $all_hds) = @_;
+
+ if (my $part = fs::get::device2part($bootloader->{boot}, [ fs::get::fstab($all_hds) ])) {
+ die N("You can not install the bootloader on a %s partition\n", $part->{fs_type})
+ if $part->{fs_type} eq 'xfs';
+ }
+ $bootloader->{keytable} = keytable($bootloader->{keytable});
+ action($bootloader, 'install', $all_hds);
+}
+
+sub ensure_pkg_is_installed {
+ my ($do_pkgs, $bootloader) = @_;
+
+ my $main_method = bootloader::main_method($bootloader->{method});
+ if ($main_method eq 'grub' || $main_method eq 'lilo') {
+ $do_pkgs->ensure_binary_is_installed($main_method, $main_method, 1) or return 0;
+ if ($bootloader->{method} eq 'grub-graphic') {
+ $do_pkgs->ensure_is_installed('mandriva-gfxboot-theme', '/usr/share/gfxboot/themes/Mandriva/boot/message', 1) or return 0;
+ }
+ }
+ 1;
+}
+
+sub update_for_renumbered_partitions {
+ my ($in, $renumbering, $all_hds) = @_;
+
+ my @configs = grep { $_->{content} } config_files();
+ $_->{new} = $_->{orig} = $_->{content} foreach @configs;
+
+ my @sorted_hds; {
+ my $grub2dev = read_grub_device_map();
+ map_each {
+ $sorted_hds[$1] = fs::get::device2part($::b, $all_hds->{hds}) if $::a =~ /hd(\d+)/;
+ } %$grub2dev;
+ }
+
+ #- NB: we make the changes with an added string inside so that hda5 is only renamed once to hda6
+
+ foreach (@$renumbering) {
+ my ($old, $new) = @$_;
+ log::l("renaming $old -> $new");
+ (my $lnew = $new) =~ s/(\d+)$/__DRAKX_DONE__$1/;
+ $_->{new} =~ s/\b$old/$lnew/g foreach @configs;
+
+ any { $_->{name} eq 'grub' } @configs or next;
+
+ my ($old_grub, $new_grub) = map { device_string2grub($_, [], \@sorted_hds) } $old, $new;
+ log::l("renaming $old_grub -> $new_grub");
+ (my $lnew_grub = $new_grub) =~ s/\)$/__DRAKX_DONE__)/;
+ $_->{new} =~ s/\Q$old_grub/$lnew_grub/g foreach @configs;
+ }
+
+ $_->{new} =~ s/__DRAKX_DONE__//g foreach @configs;
+
+ my @changed_configs = grep { $_->{orig} ne $_->{new} } @configs or return 1; # no need to update
+
+ $in->ask_okcancel('', N("Your bootloader configuration must be updated because partition has been renumbered")) or return;
+
+ foreach (@changed_configs) {
+ renamef("$::prefix/$_->{file}", "$::prefix/$_->{file}.old");
+ output("$::prefix/$_->{file}", $_->{new});
+ }
+
+ my $main_method = detect_main_method($all_hds);
+ my @needed = map {
+ $_ eq 'grub' ? 'grub_install' : $_;
+ } $main_method ? $main_method : ('lilo', 'grub');
+
+ if (intersection(\@needed, [ map { $_->{name} } @changed_configs ])) {
+ $in->ask_warn('', N("The bootloader can not be installed correctly. You have to boot rescue and choose \"%s\"",
+ N("Re-install Boot Loader")));
+ }
+ 1;
+}
+
+1;
diff --git a/perl-install/bootsplash.pm b/perl-install/bootsplash.pm
new file mode 100644
index 000000000..6507e46ef
--- /dev/null
+++ b/perl-install/bootsplash.pm
@@ -0,0 +1,259 @@
+package bootsplash;
+
+use common;
+use Xconfig::resolution_and_depth;
+
+
+my $themes_dir = "/usr/share/bootsplash/themes";
+my $themes_config_dir = "/etc/bootsplash/themes";
+my $sysconfig_file = "/etc/sysconfig/bootsplash";
+my $bootsplash_scripts = "/usr/share/bootsplash/scripts";
+my $default_theme = 'Mandrivalinux';
+our $default_thumbnail = '/usr/share/libDrakX/pixmaps/nosplash_thumb.png';
+our @resolutions = uniq(map { "$_->{X}x$_->{Y}" } Xconfig::resolution_and_depth::bios_vga_modes());
+
+sub get_framebuffer_resolution() {
+ require bootloader;
+ require fsedit;
+ my $bootloader = bootloader::read(fsedit::get_hds());
+ my $x_res = Xconfig::resolution_and_depth::from_bios($bootloader->{default_options}{vga});
+ $x_res ?
+ ($x_res->{X} . 'x' . $x_res->{Y}, 1) :
+ (first(@resolutions), 0);
+}
+
+sub themes_read_sysconfig {
+ my ($res) = @_;
+ my %theme = (
+ name => $default_theme,
+ enabled => 1,
+ keep_logo => 1
+ );
+ if (-r $::prefix . $sysconfig_file) {
+ local $_;
+ foreach (cat_($::prefix . $sysconfig_file)) {
+ /^SPLASH=no/ and $theme{enabled} = 0;
+ /^THEME=(.*)/ && -f theme_get_image_for_resolution($1, $res) and $theme{name} = $1;
+ /^LOGO_CONSOLE=(.*)/ and $theme{keep_logo} = $1 ne "no";
+ }
+ }
+ \%theme;
+}
+
+sub theme_get_image_for_resolution {
+ my ($theme, $res) = @_;
+ $::prefix . $themes_dir . '/' . $theme . '/images/bootsplash-' . $res . ".jpg";
+}
+
+sub theme_get_config_for_resolution {
+ my ($theme, $res) = @_;
+ $::prefix . $themes_config_dir . '/' . $theme . '/config/bootsplash-' . $res . ".cfg";
+}
+
+sub theme_exists_for_resolution {
+ my ($theme, $res) = @_;
+ -f theme_get_image_for_resolution($theme, $res) && -f theme_get_config_for_resolution($theme, $res);
+}
+
+sub themes_list() {
+ grep { !/^\./ && -d $::prefix . $themes_dir . '/' . $_ } sort(all($::prefix . $themes_dir));
+}
+
+sub themes_list_for_resolution {
+ my ($res) = @_;
+ grep { theme_exists_for_resolution($_, $res) } themes_list();
+}
+
+sub switch {
+ my ($theme) = @_;
+ if ($::testing) {
+ print "enabling bootsplash theme $theme\n";
+ } else {
+ #- theme scripts will update SPLASH value in sysconfig file
+ system($::prefix . $bootsplash_scripts . '/switch-themes', $theme);
+ }
+}
+
+sub remove() {
+ if ($::testing) {
+ print "disabling bootsplash theme\n";
+ } else {
+ system($::prefix . $bootsplash_scripts . '/remove-theme');
+ }
+}
+
+sub set_logo_console {
+ my ($keep_logo) = @_;
+ my $logo_console = $keep_logo ? 'theme' : 'no';
+ substInFile { s/^LOGO_CONSOLE=.*/LOGO_CONSOLE=$logo_console/ } $::prefix . $sysconfig_file;
+}
+
+sub create_path {
+ my ($file) = @_;
+ mkdir_p(dirname($file));
+}
+
+sub theme_set_image_for_resolution {
+ my ($name, $res, $source_image) = @_;
+ my $dest_image = theme_get_image_for_resolution($name, $res);
+ create_path($dest_image);
+ #- Append an exclamation point to the geometry to force the image size to exactly the size you specify.
+ system('convert', '-geometry', $res . '!', $source_image, $dest_image);
+ system($::prefix . $bootsplash_scripts . '/rewritejpeg', $dest_image);
+}
+
+sub theme_read_config_for_resolution {
+ my ($theme, $res) = @_;
+ my $file = theme_get_config_for_resolution($theme, $res);
+ my $contents = cat_($file);
+ my ($pb_x1, $pb_y1, $pb_x2, $pb_y2, $pbg_c, $ptransp) = $contents =~ /^box\s+silent\s+noover\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(#\w{6})(\w{2})/m;
+ my ($tb_x1, $tb_y1, $tb_x2, $tb_y2, $tc, $transp) = $contents =~ /^box\s+noover\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(#\w{6})(\w{2})/m;
+ my ($pc1, $pc2, $pc3, $_pc4) = $contents =~ /^box\s+silent\s+inter\s+\d+\s+\d+\s+\d+\s+\d+\s+(#\w+)\s+(#\w+)\s+(#\w+)\s+(#\w+)/m;
+ my ($text_color) = $contents =~ /^text_color=0x(\w+)/m;
+ my $gradient;
+ if ($pc1 eq $pc2) {
+ $gradient = 'vertical';
+ $pc2 = $pc3;
+ }
+ { pc1 => $pc1, pc2 => $pc2, gradient => $gradient, transp => hex $transp, ptransp => hex $ptransp,
+ tb_x => $tb_x1, tb_y => $tb_y1, tb_w => $tb_x2 - $tb_x1, tb_h => $tb_y2 - $tb_y1, tc => $tc, pbg_c => $pbg_c,
+ px => $pb_x1, pw => $pb_x2 - $pb_x1, py => $pb_y1, ph => $pb_y2 - $pb_y1,
+ getVarsFromSh($file), text_color => "#$text_color" };
+}
+
+sub theme_write_config_for_resolution {
+ my ($name, $res, $conf) = @_;
+
+ my $config = theme_get_config_for_resolution($name, $res);
+ create_path($config);
+ my $jpeg = theme_get_image_for_resolution($name, $res);
+
+ # progress/text rectangles border/inter coordinates
+ my ($pb_x1, $pb_x2, $pb_y1, $pb_y2) = ($conf->{px}, $conf->{px} + $conf->{pw}, $conf->{py}, $conf->{py} + $conf->{ph});
+ my ($pi_y1, $pi_y2) = ($pb_y1 + 1, $pb_y2 - 1);
+ my ($tb_x1, $tb_y1, $tb_x2, $tb_y2) = ($conf->{tb_x}, $conf->{tb_y}, $conf->{tb_x} + $conf->{tb_w}, $conf->{tb_y} + $conf->{tb_h});
+ my ($tx, $ty, $tw, $th) = ($tb_x1 + 10, $tb_y1 + 5, $conf->{tb_w} - 20 , $conf->{tb_h} - 10);
+ my ($ti_x1, $ti_x2, $ti_y1, $ti_y2) = ($tb_x1 - 1, $tb_x2 + 1, $tb_y1 + 1, $tb_y2 + 1);
+ my ($pc1, $pc2, $pc3, $pc4);
+ if ($conf->{gradient} eq 'vertical') {
+ ($pc1, $pc2, $pc3, $pc4) = ($conf->{pc1}, $conf->{pc1}, $conf->{pc2}, $conf->{pc2});
+ } else {
+ ($pc1, $pc2, $pc3, $pc4) = ($conf->{pc1}, $conf->{pc2}, $conf->{pc1}, $conf->{pc2});
+ }
+ if (!$pc1) { ($pc1, $pc2, $pc3, $pc4) = ('#ffffff', '#ffffff', '#000000', '#000000') }
+ my $ptransp = sprintf '%02x', $conf->{ptransp};
+ my $transp = sprintf '%02x', $conf->{transp};
+ $conf->{pbg_c} ||= '#aaaaaa';
+ $conf->{tc} ||= '#ffffff';
+ my $text_color = $conf->{text_color} ? "0x$conf->{text_color}" : '0xaaaaaa';
+ $text_color =~ s/#//;
+ output($config,
+ qq(# This is the configuration file for the $res bootsplash picture
+# this file is necessary to specify the coordinates of the text box on the
+# splash screen.
+
+# config file version
+version=3
+
+# should the picture be displayed?
+state=1
+
+# fgcolor is the text forground color.
+# bgcolor is the text background (i.e. transparent) color.
+fgcolor=$conf->{fgcolor}
+bgcolor=$conf->{bgcolor}
+
+# (tx, ty) are the (x, y) coordinates of the text window in pixels.
+# tw/th is the width/height of the text window in pixels.
+tx=$tx
+ty=$ty
+tw=$tw
+th=$th
+
+# ttf message output parameters
+text_x=$conf->{text_x}
+text_y=$conf->{text_y}
+text_size=$conf->{text_size}
+text_color=$text_color
+
+# name of the picture file (full path recommended)
+jpeg=$jpeg
+silentjpeg=$jpeg
+
+progress_enable=1
+
+# background
+# b(order) or i(nter)
+box silent noover $pb_x1 $pb_y1 $pb_x2 $pb_y2 $conf->{pbg_c}$ptransp
+# progress bar
+box silent inter $pb_x1 $pi_y1 $pb_x1 $pi_y2 $pc1 $pc2 $pc3 $pc4
+box silent $pb_x1 $pi_y1 $pb_x2 $pi_y2 $pc1 $pc2 $pc3 $pc4
+# black border (top, bottom, left, right)
+box silent $pb_x1 $pb_y1 $pb_x2 $pb_y1 #313234
+box silent $pb_x1 $pb_y2 $pb_x2 $pb_y2 #889499
+box silent $pb_x1 $pb_y1 $pb_x1 $pb_y2 #313234
+box silent $pb_x2 $pb_y1 $pb_x2 $pb_y2 #889499
+
+# text box
+box noover $tb_x1 $tb_y1 $tb_x2 $tb_y2 $conf->{tc}$transp
+# black border (top, bottom, left, right)
+box $ti_x1 $tb_y1 $ti_x1 $ti_y2 #313234
+box $tb_x1 $tb_y1 $ti_x2 $tb_y1 #313234
+box $ti_x2 $ti_y1 $ti_x2 $ti_y2 #889499
+box $tb_x1 $ti_y2 $ti_x2 $ti_y2 #889499
+
+overpaintok=1
+
+LOGO_CONSOLE=$conf->{LOGO_CONSOLE}
+));
+}
+
+sub rectangle2xywh {
+ my ($rect) = @_;
+
+ my $x = min($rect->[0]{X} , $rect->[1]{X});
+ my $y = min($rect->[0]{Y} , $rect->[1]{Y});
+ my $w = abs($rect->[0]{X} - $rect->[1]{X});
+ my $h = abs($rect->[0]{Y} - $rect->[1]{Y});
+ ($x, $y, $w, $h);
+}
+
+sub xywh2rectangle {
+ my ($x, $y, $w, $h) = @_;
+ [ { X => $x, Y => $y }, { X => $x+$w, Y => $y+$h } ];
+}
+
+sub distance {
+ my ($p1, $p2) = @_;
+ sqr($p1->{X} - $p2->{X}) + sqr($p1->{Y} - $p2->{Y});
+}
+
+sub farthest {
+ my ($point, @others) = @_;
+ my $dist = 0;
+ my $farthest;
+ foreach (@others) {
+ my $d = distance($point, $_);
+ if ($d >= $dist) {
+ $dist = $d;
+ $farthest = $_;
+ }
+ }
+ $farthest;
+}
+
+sub nearest {
+ my ($point, @others) = @_;
+ my $dist;
+ my $nearest;
+ foreach (@others) {
+ my $d = distance($point, $_);
+ if (! defined $dist || $d < $dist) {
+ $dist = $d;
+ $nearest = $_;
+ }
+ }
+ $nearest;
+}
+
+1;
diff --git a/perl-install/c.pm b/perl-install/c.pm
new file mode 100644
index 000000000..bb72118f6
--- /dev/null
+++ b/perl-install/c.pm
@@ -0,0 +1,19 @@
+package c; # $Id: c.pm 20589 2004-12-13 15:56:00Z tvignaud $
+
+use vars qw($AUTOLOAD);
+
+use c::stuff;
+use MDK::Common;
+
+sub AUTOLOAD() {
+ $AUTOLOAD =~ /::(.*)/ or return;
+ my @l = eval { &{$c::stuff::{$1}} };
+ if (my $err = $@) {
+ $err =~ /Undefined subroutine &main::/ ?
+ die("can not find function $AUTOLOAD\n" . backtrace()) :
+ die($err);
+ }
+ wantarray() ? @l : $l[0];
+}
+
+1;
diff --git a/perl-install/c/Makefile b/perl-install/c/Makefile
new file mode 100644
index 000000000..0d09a8919
--- /dev/null
+++ b/perl-install/c/Makefile
@@ -0,0 +1,17 @@
+.PHONY: clean
+
+MAKEIT = $(MAKE) -f Makefile_c LD_RUN_PATH=
+
+stuff: %: %.xs
+ test -e Makefile_c || perl Makefile.PL
+ $(MAKEIT) || $(MAKEIT)
+ rm -f ../auto/c ; ln -s ../c/blib/arch/auto ../auto/c
+
+clean:
+ test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
+ rm -f *~ *.o stuff.xs probe.c
+
+stuff.xs: %: %.pl
+ rm -f $@
+ perl $< > $@
+ chmod a-w $@
diff --git a/perl-install/c/Makefile.PL b/perl-install/c/Makefile.PL
new file mode 100644
index 000000000..405c02ecc
--- /dev/null
+++ b/perl-install/c/Makefile.PL
@@ -0,0 +1,21 @@
+use MDK::Common;
+use ExtUtils::MakeMaker;
+use Config;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+
+my $lib = arch() =~ /x86_64/ ? 'lib64' : 'lib';
+
+my $libs = '-lldetect';
+
+my $pcmcia_probe_o = "/usr/$lib/drakx-installer-binaries/pcmcia_probe.o";
+
+WriteMakefile(
+ 'NAME' => 'stuff',
+ 'OPTIMIZE' => '-Os',
+ 'MAKEFILE' => 'Makefile_c',
+ 'OBJECT' => "stuff.o " . (-e $pcmcia_probe_o && " $pcmcia_probe_o"),
+ 'VERSION_FROM' => 'stuff.pm', # finds $VERSION
+ 'LIBS' => [$libs], # e.g., '-lm'
+ 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
+);
diff --git a/perl-install/c/README b/perl-install/c/README
new file mode 100644
index 000000000..2453a5121
--- /dev/null
+++ b/perl-install/c/README
@@ -0,0 +1 @@
+md5.c, md5_crypt.c and md5.h are taken from pam (dir modules/pam_pwdb)
diff --git a/perl-install/c/stuff.pm b/perl-install/c/stuff.pm
new file mode 100644
index 000000000..d2b436e1e
--- /dev/null
+++ b/perl-install/c/stuff.pm
@@ -0,0 +1,14 @@
+package c::stuff; # $Id: stuff.pm 24992 2005-12-15 09:14:01Z prigaux $
+
+use strict;
+use vars qw($VERSION @ISA);
+
+require DynaLoader;
+
+@ISA = qw(DynaLoader);
+$VERSION = '0.01';
+# perl_checker: EXPORT-ALL
+
+c::stuff->bootstrap($VERSION);
+
+1;
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl
new file mode 100644
index 000000000..c6d7df927
--- /dev/null
+++ b/perl-install/c/stuff.xs.pl
@@ -0,0 +1,546 @@
+use Config;
+
+print '
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <syslog.h>
+#include <fcntl.h>
+#include <resolv.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/stat.h>
+#include <sys/utsname.h>
+#include <sys/mount.h>
+#undef __USE_MISC
+#include <linux/wireless.h>
+#include <linux/keyboard.h>
+#include <linux/kd.h>
+#include <linux/hdreg.h>
+#include <linux/vt.h>
+#include <linux/fd.h>
+#include <linux/cdrom.h>
+#include <linux/loop.h>
+#include <linux/blkpg.h>
+#include <linux/iso_fs.h>
+#include <net/if.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <linux/sockios.h>
+
+// for ethtool structs:
+typedef unsigned long long u64;
+typedef __uint32_t u32;
+typedef __uint16_t u16;
+typedef __uint8_t u8;
+
+#include <linux/ethtool.h>
+
+// for UPS on USB:
+# define HID_MAX_USAGES 1024
+#include <linux/hiddev.h>
+
+#include <libldetect.h>
+
+#include <string.h>
+
+#define SECTORSIZE 512
+
+';
+
+$Config{archname} =~ /i.86/ and print '
+char *pcmcia_probe(void);
+';
+
+print '
+
+/* log_message and log_perror are used in stage1 pcmcia probe */
+void log_message(const char * s, ...) {
+ va_list args;
+ va_list args_copy;
+ FILE * logtty = fopen("/dev/tty3", "w");
+ if (!logtty)
+ return;
+ fprintf(logtty, "* ");
+ va_start(args, s);
+ vfprintf(logtty, s, args);
+ fprintf(logtty, "\n");
+ fclose(logtty);
+ va_end(args);
+
+ logtty = fopen("/tmp/ddebug.log", "a");
+ if (!logtty)
+ return;
+ fprintf(logtty, "* ");
+ va_copy(args_copy, args);
+ va_start(args_copy, s);
+ vfprintf(logtty, s, args_copy);
+ fprintf(logtty, "\n");
+ fclose(logtty);
+ va_end(args_copy);
+}
+void log_perror(const char *msg) {
+ log_message("%s: %s", msg, strerror(errno));
+}
+
+
+';
+
+print '
+
+int length_of_space_padded(char *str, int len) {
+ while (len >= 0 && str[len-1] == \' \')
+ --len;
+ return len;
+}
+
+MODULE = c::stuff PACKAGE = c::stuff
+
+';
+
+$Config{archname} =~ /i.86/ and print '
+char *
+pcmcia_probe()
+';
+
+print '
+int
+del_partition(hd, part_number)
+ int hd
+ int part_number
+ CODE:
+ {
+ struct blkpg_partition p = { 0, 0, part_number, "", "" };
+ struct blkpg_ioctl_arg s = { BLKPG_DEL_PARTITION, 0, sizeof(struct blkpg_partition), (void *) &p };
+ RETVAL = ioctl(hd, BLKPG, &s) == 0;
+ }
+ OUTPUT:
+ RETVAL
+
+int
+add_partition(hd, part_number, start_sector, size_sector)
+ int hd
+ int part_number
+ unsigned long start_sector
+ unsigned long size_sector
+ CODE:
+ {
+ long long start = (long long) start_sector * 512;
+ long long size = (long long) size_sector * 512;
+ struct blkpg_partition p = { start, size, part_number, "", "" };
+ struct blkpg_ioctl_arg s = { BLKPG_ADD_PARTITION, 0, sizeof(struct blkpg_partition), (void *) &p };
+ RETVAL = ioctl(hd, BLKPG, &s) == 0;
+ }
+ OUTPUT:
+ RETVAL
+
+int
+is_secure_file(filename)
+ char * filename
+ CODE:
+ {
+ int fd;
+ unlink(filename); /* in case it exists and we manage to remove it */
+ RETVAL = (fd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600)) != -1;
+ if (RETVAL) close(fd);
+ }
+ OUTPUT:
+ RETVAL
+
+void
+init_setlocale()
+ CODE:
+ setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C"); /* otherwise eval "1.5" returns 1 in fr_FR for example */
+
+char *
+setlocale(category, locale = 0)
+ int category
+ char * locale
+
+int
+lseek_sector(fd, sector, offset)
+ int fd
+ long sector
+ long offset
+ CODE:
+ RETVAL = lseek64(fd, (off64_t) sector * SECTORSIZE + offset, SEEK_SET) >= 0;
+ OUTPUT:
+ RETVAL
+
+int
+isBurner(fd)
+ int fd
+ CODE:
+ RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_CD_RW;
+ OUTPUT:
+ RETVAL
+
+int
+isDvdDrive(fd)
+ int fd
+ CODE:
+ RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_DVD;
+ OUTPUT:
+ RETVAL
+
+char *
+floppy_info(name)
+ char * name
+ CODE:
+ int fd = open(name, O_RDONLY | O_NONBLOCK);
+ RETVAL = NULL;
+ if (fd != -1) {
+ char drivtyp[17];
+ if (ioctl(fd, FDGETDRVTYP, (void *)drivtyp) == 0) {
+ struct floppy_drive_struct ds;
+ if (ioctl(fd, FDPOLLDRVSTAT, &ds) == 0 && ds.track >= 0)
+ RETVAL = drivtyp;
+ }
+ close(fd);
+ }
+ OUTPUT:
+ RETVAL
+
+NV
+total_sectors(fd)
+ int fd
+ CODE:
+ {
+ unsigned long long ll;
+ unsigned long l;
+ RETVAL = ioctl(fd, BLKGETSIZE64, &ll) == 0 ? ll / 512 :
+ ioctl(fd, BLKGETSIZE, &l) == 0 ? l : 0;
+ }
+ OUTPUT:
+ RETVAL
+
+void
+openlog(ident)
+ char *ident
+ CODE:
+ openlog(ident, 0, 0);
+
+void
+closelog()
+
+void
+syslog(priority, mesg)
+ int priority
+ char *mesg
+ CODE:
+ syslog(priority, "%s", mesg);
+
+void
+setsid()
+
+void
+_exit(status)
+ int status
+
+void
+usleep(microseconds)
+ unsigned long microseconds
+
+void
+pci_probe()
+ PPCODE:
+ //proc_pci_path = "/tmp/pci";
+ struct pciusb_entries entries = pci_probe();
+ char buf[2048];
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ snprintf(buf, sizeof(buf), "%04x\t%04x\t%04x\t%04x\t%d\t%d\t%d\t%d\t%s\t%s\t%s\t%s",
+ e->vendor, e->device, e->subvendor, e->subdevice, e->pci_domain, e->pci_bus, e->pci_device, e->pci_function,
+ pci_class2text(e->class_id), e->class, e->module ? e->module : "unknown", e->text);
+ PUSHs(sv_2mortal(newSVpv(buf, 0)));
+ }
+ pciusb_free(&entries);
+
+void
+usb_probe()
+ PPCODE:
+ struct pciusb_entries entries = usb_probe();
+ char buf[2048];
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ struct usb_class_text class_text = usb_class2text(e->class_id);
+ snprintf(buf, sizeof(buf), "%04x\t%04x\t%s|%s|%s\t%s\t%s\t%d\t%d",
+ e->vendor, e->device, class_text.usb_class_text, class_text.usb_sub_text, class_text.usb_prot_text, e->module ? e->module : "unknown", e->text, e->pci_bus, e->pci_device);
+ PUSHs(sv_2mortal(newSVpv(buf, 0)));
+ }
+ pciusb_free(&entries);
+
+void
+dmi_probe()
+ PPCODE:
+ //dmidecode_file = "/usr/share/ldetect-lst/dmidecode.Laptop.Dell-Latitude-C810";
+ //dmidecode_file = "../../soft/ldetect-lst/test/dmidecode.Laptop.Sony-Vaio-GRX316MP";
+
+ struct dmi_entries entries = dmi_probe();
+ char buf[2048];
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ snprintf(buf, sizeof(buf), "%s\t%s",
+ entries.entries[i].module, entries.entries[i].constraints);
+ PUSHs(sv_2mortal(newSVpv(buf, 0)));
+ }
+ dmi_entries_free(entries);
+
+
+unsigned int
+getpagesize()
+
+
+char*
+get_usb_ups_name(int fd)
+ CODE:
+ /* from nut/drivers/hidups.c::upsdrv_initups() : */
+ char name[256];
+ ioctl(fd, HIDIOCGNAME(sizeof(name)), name);
+ RETVAL=name;
+ ioctl(fd, HIDIOCINITREPORT, 0);
+ OUTPUT:
+ RETVAL
+
+
+int
+isNetDeviceWirelessAware(device)
+ char * device
+ CODE:
+ struct iwreq ifr;
+
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, device, IFNAMSIZ);
+ RETVAL = ioctl(s, SIOCGIWNAME, &ifr) != -1;
+ close(s);
+ OUTPUT:
+ RETVAL
+
+
+void
+get_netdevices()
+ PPCODE:
+ struct ifconf ifc;
+ struct ifreq *ifr;
+ int i;
+ int numreqs = 10;
+
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ ifc.ifc_buf = NULL;
+ for (;;) {
+ ifc.ifc_len = sizeof(struct ifreq) * numreqs;
+ ifc.ifc_buf = realloc(ifc.ifc_buf, ifc.ifc_len);
+
+ if (ioctl(s, SIOCGIFCONF, &ifc) < 0) {
+ perror("SIOCGIFCONF");
+ return;
+ }
+ if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
+ /* assume it overflowed and try again */
+ numreqs += 10;
+ continue;
+ }
+ break;
+ }
+ if (ifc.ifc_len) {
+ ifr = ifc.ifc_req;
+ EXTEND(sp, ifc.ifc_len);
+ for (i=0; i < ifc.ifc_len; i+= sizeof(struct ifreq)) {
+ PUSHs(sv_2mortal(newSVpv(ifr->ifr_name, 0)));
+ ifr++;
+ }
+ }
+
+ close(s);
+
+
+char*
+getNetDriver(char* device)
+ ALIAS:
+ getHwIDs = 1
+ CODE:
+ struct ifreq ifr;
+ struct ethtool_drvinfo drvinfo;
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, device, IFNAMSIZ);
+
+ drvinfo.cmd = ETHTOOL_GDRVINFO;
+ ifr.ifr_data = (caddr_t) &drvinfo;
+
+ if (ioctl(s, SIOCETHTOOL, &ifr) != -1) {
+ switch (ix) {
+ case 0:
+ RETVAL = strdup(drvinfo.driver);
+ break;
+ case 1:
+ RETVAL = strdup(drvinfo.bus_info);
+ break;
+ }
+ } else { perror("SIOCETHTOOL"); RETVAL = strdup(""); }
+ OUTPUT:
+ RETVAL
+
+
+int
+addDefaultRoute(gateway)
+ char *gateway
+ CODE:
+ struct rtentry route;
+ struct sockaddr_in addr;
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s == -1) { RETVAL = 0; return; }
+
+ memset(&route, 0, sizeof(route));
+
+ addr.sin_family = AF_INET;
+ addr.sin_port = 0;
+ inet_aton(gateway, &addr.sin_addr);
+ memcpy(&route.rt_gateway, &addr, sizeof(addr));
+
+ addr.sin_addr.s_addr = INADDR_ANY;
+ memcpy(&route.rt_dst, &addr, sizeof(addr));
+ memcpy(&route.rt_genmask, &addr, sizeof(addr));
+
+ route.rt_flags = RTF_UP | RTF_GATEWAY;
+ route.rt_metric = 0;
+
+ RETVAL = !ioctl(s, SIOCADDRT, &route);
+ OUTPUT:
+ RETVAL
+
+
+char*
+get_hw_address(const char* ifname)
+ CODE:
+ int s;
+ struct ifreq ifr;
+ unsigned char *a;
+ char *res;
+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
+ if (s < 0) {
+ perror("socket");
+ RETVAL = NULL;
+ return;
+ }
+ strncpy((char*) &ifr.ifr_name, ifname, IFNAMSIZ);
+ if (ioctl(s, SIOCGIFHWADDR, &ifr) < 0) {
+ perror("ioctl(SIOCGIFHWADDR)");
+ RETVAL = NULL;
+ return;
+ }
+ a = (unsigned char*)ifr.ifr_hwaddr.sa_data;
+ asprintf(&res, "%02x:%02x:%02x:%02x:%02x:%02x", a[0],a[1],a[2],a[3],a[4],a[5]);
+ RETVAL= res;
+ OUTPUT:
+ RETVAL
+
+
+void
+strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
+ char * fmt
+ int sec
+ int min
+ int hour
+ int mday
+ int mon
+ int year
+ int wday
+ int yday
+ int isdst
+ CODE:
+ {
+ char *buf = my_strftime(fmt, sec, min, hour, mday, mon, year, wday, yday, isdst);
+ if (buf) {
+ ST(0) = sv_2mortal(newSVpv(buf, 0));
+ Safefree(buf);
+ }
+ }
+
+
+
+char *
+kernel_version()
+ CODE:
+ struct utsname u;
+ if (uname(&u) == 0) RETVAL = u.release; else RETVAL = NULL;
+ OUTPUT:
+ RETVAL
+
+void
+set_tagged_utf8(s)
+ SV *s
+ CODE:
+ SvUTF8_on(s);
+
+void
+get_iso_volume_ids(int fd)
+ INIT:
+ struct iso_primary_descriptor voldesc;
+ PPCODE:
+ lseek(fd, 16 * ISOFS_BLOCK_SIZE, SEEK_SET);
+ if (read(fd, &voldesc, sizeof(struct iso_primary_descriptor)) == sizeof(struct iso_primary_descriptor)) {
+ if (voldesc.type[0] == ISO_VD_PRIMARY && !strncmp(voldesc.id, ISO_STANDARD_ID, sizeof(voldesc.id))) {
+ XPUSHs(sv_2mortal(newSVpv(voldesc.volume_id, length_of_space_padded(voldesc.volume_id, sizeof(voldesc.volume_id)))));
+ XPUSHs(sv_2mortal(newSVpv(voldesc.application_id, length_of_space_padded(voldesc.application_id, sizeof(voldesc.application_id)))));
+ }
+ }
+
+';
+
+@macros = (
+ [ qw(int S_IFCHR S_IFBLK S_IFIFO KDSKBENT K_NOSUCHMAP NR_KEYS MAX_NR_KEYMAPS BLKRRPART TIOCSCTTY
+ HDIO_GETGEO LOOP_GET_STATUS
+ MS_MGC_VAL O_WRONLY O_RDWR O_CREAT O_NONBLOCK F_SETFL F_GETFL WNOHANG
+ VT_ACTIVATE VT_WAITACTIVE VT_GETSTATE
+ CDROMEJECT CDROMCLOSETRAY CDROM_LOCKDOOR
+ LOG_WARNING LOG_INFO LOG_LOCAL1
+ LC_COLLATE
+ ) ],
+);
+
+$\= "\n";
+print;
+
+foreach (@macros) {
+ my ($type, @l) = @$_;
+ foreach (@l) {
+ print<< "END"
+$type
+$_()
+ CODE:
+ RETVAL = $_;
+
+ OUTPUT:
+ RETVAL
+
+END
+
+ }
+}
+print '
+
+PROTOTYPES: DISABLE
+';
+
diff --git a/perl-install/common.pm b/perl-install/common.pm
new file mode 100644
index 000000000..eb8d669d7
--- /dev/null
+++ b/perl-install/common.pm
@@ -0,0 +1,409 @@
+package common; # $Id: common.pm 149989 2007-03-30 09:35:46Z pixel $
+
+use MDK::Common;
+use diagnostics;
+use strict;
+BEGIN { eval { require Locale::gettext } } #- allow common.pm to be used in drakxtools-backend without perl-Locale-gettext
+
+use log;
+use run_program;
+
+use Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw($SECTORSIZE N P N_ check_for_xserver files_exist formatTime formatXiB makedev mandrake_release removeXiBSuffix require_root_capability setVirtual set_alternative set_l10n_sort set_permissions translate unmakedev);
+
+# perl_checker: RE-EXPORT-ALL
+push @EXPORT, @MDK::Common::EXPORT;
+
+
+$::prefix ||= ""; # no warning
+
+#-#####################################################################################
+#- Globals
+#-#####################################################################################
+our $SECTORSIZE = 512;
+
+#-#####################################################################################
+#- Functions
+#-#####################################################################################
+
+sub P {
+ my ($s_singular, $s_plural, $nb, @para) = @_;
+ sprintf(translate($s_singular, $s_plural, $nb), @para);
+}
+
+sub N {
+ my ($s, @para) = @_;
+ sprintf(translate($s), @para);
+}
+sub N_ { $_[0] }
+
+
+sub makedev { ($_[0] << 8) | $_[1] }
+sub unmakedev { $_[0] >> 8, $_[0] & 0xff }
+
+sub translate_real {
+ my ($s, $o_plural, $o_nb) = @_;
+ $s or return '';
+ foreach (@::textdomains, 'libDrakX') {
+ my $s2;
+ if ($o_nb) {
+ $s2 = Locale::gettext::dngettext($_, $s, $o_plural, $o_nb);
+ } else {
+ $s2 = Locale::gettext::dgettext($_, $s);
+ }
+ # when utf8 pragma is in use, Locale::gettext() returns an utf8 string not tagged as such:
+ c::set_tagged_utf8($s2) if !utf8::is_utf8($s2) && utf8::is_utf8($s);
+ return $s2 if $s ne $s2;
+ }
+ $s;
+}
+
+sub remove_translate_context {
+ my ($s) = @_;
+ #- translation with context, kde-like
+ $s =~ s/^_:.*\n//;
+ $s;
+}
+
+sub translate {
+ my $s = translate_real(@_);
+ $::one_message_has_been_translated ||= join(':', (caller(1))[1,2]); #- see mygtk2.pm
+ remove_translate_context($s);
+}
+
+sub from_utf8 {
+ my ($s) = @_;
+ Locale::gettext::iconv($s, "utf-8", undef); #- undef = locale charmap = nl_langinfo(CODESET)
+}
+sub to_utf8 {
+ my ($s) = @_;
+ Locale::gettext::iconv($s, undef, "utf-8"); #- undef = locale charmap = nl_langinfo(CODESET)
+}
+
+#- This is needed because text printed by Gtk2 will always be encoded
+#- in UTF-8;
+#- we first check if LC_ALL is defined, because if it is, changing
+#- only LC_COLLATE will have no effect.
+sub set_l10n_sort() {
+ my $collation_locale = $ENV{LC_ALL};
+ if (!$collation_locale) {
+ $collation_locale = c::setlocale(c::LC_COLLATE());
+ $collation_locale =~ /UTF-8/ or c::setlocale(c::LC_COLLATE(), "$collation_locale.UTF-8");
+ }
+}
+
+
+sub setVirtual {
+ my ($vt_number) = @_;
+ my $vt = '';
+ sysopen(my $C, "/dev/console", 2) or die "failed to open /dev/console: $!";
+ ioctl($C, c::VT_GETSTATE(), $vt) &&
+ ioctl($C, c::VT_ACTIVATE(), $vt_number) &&
+ ioctl($C, c::VT_WAITACTIVE(), $vt_number) or die "setVirtual failed";
+ unpack "S", $vt;
+}
+
+sub nonblock {
+ my ($F) = @_;
+ fcntl($F, c::F_SETFL(), fcntl($F, c::F_GETFL(), 0) | c::O_NONBLOCK()) or die "can not fcntl F_SETFL: $!";
+}
+
+sub removeXiBSuffix {
+ local $_ = shift;
+
+ /(\d+)\s*kB?$/i and return $1 * 1024;
+ /(\d+)\s*MB?$/i and return $1 * 1024 * 1024;
+ /(\d+)\s*GB?$/i and return $1 * 1024 * 1024 * 1024;
+ /(\d+)\s*TB?$/i and return $1 * 1024 * 1024 * 1024 * 1024;
+ $_;
+}
+sub formatXiB {
+ my ($newnb, $o_newbase) = @_;
+ my $newbase = $o_newbase || 1;
+ my ($nb, $base);
+ my $decr = sub {
+ ($nb, $base) = ($newnb, $newbase);
+ $base >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024);
+ };
+ foreach (N("B"), N("KB"), N("MB"), N("GB")) {
+ $decr->();
+ if ($newnb < 1 && $newnb * $newbase < 1) {
+ my $v = $nb * $base;
+ my $s = $v < 10 && int(10 * $v - 10 * int($v));
+ return int($v) . ($s ? ".$s" : '') . $_;
+ }
+ }
+ int($newnb * $newbase) . N("TB");
+}
+
+sub formatTime {
+ my ($s, $m, $h) = gmtime($_[0]);
+ if ($h) {
+ sprintf "%02d:%02d", $h, $m;
+ } elsif ($m > 1) {
+ N("%d minutes", $m);
+ } elsif ($m == 1) {
+ N("1 minute");
+ } else {
+ N("%d seconds", $s);
+ }
+}
+
+sub expand_symlinks_but_simple {
+ my ($f) = @_;
+ my $link = readlink($f);
+ my $f2 = expand_symlinks($f);
+ if ($link && $link !~ m|/|) {
+ # put back the last simple symlink
+ $f2 =~ s|\Q$link\E$|basename($f)|e;
+ }
+ $f2;
+}
+
+sub sync { &MDK::Common::System::sync }
+
+BEGIN { undef *formatError }
+sub formatError {
+ my ($err) = @_;
+ ref($err) eq 'SCALAR' and $err = $$err;
+ log::l("error: $err");
+ &MDK::Common::String::formatError($err);
+}
+
+sub group_by(&@) {
+ my $f = shift;
+ @_ or return;
+ my $e = shift;
+ my @l = my $last_l = [$e];
+ foreach (@_) {
+ if ($f->($e, $_)) {
+ push @$last_l, $_;
+ } else {
+ push @l, $last_l = [$_];
+ $e = $_;
+ }
+ }
+ @l;
+}
+
+# Group the list by n. Returns a reference of lists of length n
+sub group_n_lm {
+ my $n = shift;
+ my @l;
+ push @l, [ splice(@_, 0, $n) ] while @_;
+ @l;
+}
+
+sub join_lines {
+ my @l;
+ my $s;
+ foreach (@_) {
+ if (/^\s/) {
+ $s .= $_;
+ } else {
+ push @l, $s if $s;
+ $s = $_;
+ }
+ }
+ @l, if_($s, $s);
+}
+
+
+sub set_alternative {
+ my ($command, $executable) = @_;
+
+ #- check the existance of $executable as an alternative for $command
+ #- (is this needed???)
+ run_program::rooted_get_stdout($::prefix, 'update-alternatives', '--display', $command) =~ /^\Q$executable /m or return;
+
+ #- this does not handle relative symlink, but neither does update-alternatives ;p
+ symlinkf $executable, "$::prefix/etc/alternatives/$command";
+}
+
+sub files_exist { and_(map { -f "$::prefix$_" } @_) }
+
+sub open_file {
+ my ($file) = @_;
+ my $F;
+ open($F, $file) ? $F : do { log::l("Can not open $file: $!"); undef };
+}
+
+
+sub secured_file {
+ my ($f) = @_;
+ c::is_secure_file($f) or die "can not ensure a safe $f";
+ $f;
+}
+
+sub chown_ {
+ my ($b_recursive, $name, $group, @files) = @_;
+
+ my ($uid, $gid) = (getpwnam($name) || $name, getgrnam($group) || $group);
+
+ require POSIX;
+ my $chown; $chown = sub {
+ foreach (@_) {
+ POSIX::lchown($uid, $gid, $_) or die "chown of file $_ failed: $!\n";
+ ! -l $_ && -d $_ && $b_recursive and &$chown(glob_($_));
+ }
+ };
+ $chown->(@files);
+}
+
+
+sub set_permissions {
+ my ($file, $perms, $o_owner, $o_group) = @_;
+ # We only need to set the permissions during installation to be able to
+ # print test pages. After installation udev does the business automatically.
+ return 1 unless $::isInstall;
+ if ($o_owner || $o_group) {
+ $o_owner ||= (lstat($file))[4];
+ $o_group ||= (lstat($file))[5];
+ chown_(0, $o_owner, $o_group, $file);
+ }
+ chmod(oct($perms), $file) or die "chmod of file $file failed: $!\n";
+}
+
+sub release_file {
+ my ($o_dir) = @_;
+ my @names = ('mandrakelinux-release', 'mandrake-release', 'conectiva-release', 'release', 'redhat-release');
+ find { -r "$o_dir$_" } (
+ (map { "/root/drakx/$_.upgrading" } @names),
+ (map { "/etc/$_" } @names),
+ );
+}
+
+sub parse_LDAP_namespace_structure {
+ my ($s) = @_;
+ my %h = map { if_(/(.*?)=(.*)/, $1 => $2) } split(',', $s);
+ \%h;
+}
+
+sub mandrake_release {
+ my ($o_dir) = @_;
+ my $f = release_file($o_dir);
+ $f && chomp_(cat_("$o_dir$f"));
+}
+
+sub wrap_command_for_root {
+ my ($name, @args) = @_;
+ ([ 'consolehelper', $name ], @args);
+}
+
+sub require_root_capability() {
+ return if $::testing || !$>; # we're already root
+
+ my ($command, @args) = wrap_command_for_root($0, @ARGV);
+ exec { $command->[0] } $command->[1], @args or die N("command %s missing", $command->[0]);
+
+ # still not root ?
+ die "you must be root to run this program" if $>;
+}
+
+sub check_for_xserver() {
+ if (!defined $::xtest) {
+ $::xtest = 0;
+ eval {
+ require xf86misc::main;
+ $::xtest = xf86misc::main::Xtest($ENV{DISPLAY});
+ } if $ENV{DISPLAY};
+ }
+ return $::xtest;
+}
+
+#- special unpack
+#- - returning an array refs for each element like "s10"
+#- - handling things like s10* at the end of the format
+sub unpack_with_refs {
+ my ($format, $s) = @_;
+ my $initial_format = $format;
+ my @r;
+ while ($format =~ s/\s*(\w(\d*))(\*?)\s*//) {
+ my ($sub_format, $nb, $many) = ($1, $2, $3);
+ $many && $format and internal_error("bad * in the middle of format in $initial_format");
+
+ my $done = $many && !length($s);
+ while (!$done) {
+ my @l = unpack("$sub_format a*", $s);
+ $s = pop @l;
+ push @r, $nb ? \@l : @l;
+ $done = !$many || !length($s);
+ }
+ }
+ @r;
+}
+
+#- used in userdrake and mdkonline
+sub md5file {
+ require Digest::MD5;
+ my @md5 = map {
+ my $sum;
+ if (open(my $FILE, $_)) {
+ binmode($FILE);
+ $sum = Digest::MD5->new->addfile($FILE)->hexdigest;
+ close($FILE);
+ }
+ $sum;
+ } @_;
+ return wantarray() ? @md5 : $md5[0];
+}
+
+sub load_modules_from_base {
+ my ($base) = @_;
+ $base =~ s|::|/|g;
+ my $base_file = $base . ".pm";
+ require $base_file;
+ my ($inc_path) = substr($INC{$base_file}, 0, -length($base_file));
+ my @files = map { substr($_, length($inc_path)) } glob_($inc_path . $base . '/*.pm');
+ require $_ foreach @files;
+ #- return the matching modules list
+ map { local $_ = $_; s|/|::|g; s|\.pm$||g; $_ } @files;
+}
+
+sub get_alternatives {
+ my ($name) = @_;
+
+ my $dir = '/var/lib/rpm/alternatives';
+ my ($state, $main_link, @l) = chomp_(cat_("$dir/$name")) or return;
+ my @slaves;
+ while (@l && $l[0] ne '') {
+ my ($name, $link) = splice(@l, 0, 2);
+ push @slaves, { name => $name, link => $link };
+ }
+ shift @l; #- empty line
+ my @alternatives;
+ while (@l && $l[0] ne '') {
+ my ($file, $weight, @slave_files) = splice(@l, 0, 2 + @slaves);
+
+ push @alternatives, { file => $file, weight => $weight, slave_files => \@slave_files };
+ }
+ { name => $name, link => $main_link, state => $state, slaves => \@slaves, alternatives => \@alternatives };
+}
+
+sub symlinkf_update_alternatives {
+ my ($name, $wanted_file) = @_;
+ my $conf = get_alternatives($name);
+ my $chosen = find { $_->{file} eq $wanted_file } @{$conf->{alternatives}} or return;
+ symlinkf("/etc/alternatives/$name", $::prefix . $conf->{link});
+ symlinkf($wanted_file, "$::prefix/etc/alternatives/$name");
+ mapn {
+ my ($slave, $file) = @_;
+ if ($file) {
+ symlinkf("/etc/alternatives/$slave->{name}", $::prefix . $slave->{link});
+ symlinkf($file, "$::prefix/etc/alternatives/$slave->{name}");
+ } else {
+ unlink $::prefix . $slave->{link};
+ unlink "$::prefix/etc/alternatives/$slave->{name}";
+ }
+ } $conf->{slaves}, $chosen->{slave_files};
+}
+
+sub update_gnomekderc_no_create {
+ my ($file, $category, %subst_) = @_;
+ if (-e $file) {
+ update_gnomekderc($file, $category, %subst_);
+ }
+}
+
+1;
diff --git a/perl-install/cpufreq.pm b/perl-install/cpufreq.pm
new file mode 100644
index 000000000..34862c015
--- /dev/null
+++ b/perl-install/cpufreq.pm
@@ -0,0 +1,149 @@
+package cpufreq;
+
+use common;
+use detect_devices;
+
+my %vendor_ids = (
+ GenuineIntel => "Intel",
+ AuthenticAMD => "AMD",
+ CyrixInstead => "Cyrix",
+ "Geode by NSC" => "NSC",
+ TransmetaCPU => "Transmeta",
+ GenuineTMx86 => "Transmeta",
+ CentaurHauls => "Centaur",
+);
+
+sub get_vendor {
+ my ($cpu) = @_;
+ $vendor_ids{$cpu->{vendor_id}};
+}
+
+sub has_flag {
+ my ($cpu, $flag) = @_;
+ $cpu->{flags} =~ /\b$flag\b/;
+}
+
+my @cpus;
+sub get_cpus() {
+ @cpus ? @cpus : @cpus = detect_devices::getCPUs();
+}
+
+my @pci;
+sub pci_probe() {
+ @pci ? @pci : @pci = detect_devices::pci_probe();
+}
+
+sub find_pci_device {
+ my (@devices) = @_;
+ any { my $dev = $_; any { $_->{vendor} == $dev->[0] && $_->{id} == $dev->[1] } pci_probe() } @devices;
+}
+
+sub probe_centrino() {
+ any {
+ get_vendor($_) eq "Intel" &&
+ has_flag($_, 'est') && (
+ $_->{'cpu family'} == 6 && member($_->{model}, 9, 13, 14) ||
+ $_->{'cpu family'} == 15 && member($_->{model}, 3, 4)
+ );
+ } get_cpus();
+}
+
+sub probe_ich() { find_pci_device([ 0x8086, 0x244c ], [ 0x8086, 0x24cc ], [ 0x8086, 0x248c ]) }
+
+sub probe_smi() { find_pci_device([ 0x8086, 0x7190 ]) }
+
+sub probe_nforce2() { find_pci_device([ 0x10de, 0x01e0 ]) }
+
+sub probe_gsx() {
+ any { member(get_vendor($_), "Cyrix", "NSC") } get_cpus() &&
+ find_pci_device([ 0x1078, 0x0100 ], [ 0x1078, 0x0002 ], [ 0x1078, 0x0000 ]);
+}
+
+sub probe_powerpc() {
+ arch() =~ /ppc/ && any {
+ member($_->{motherboard}, ('PowerBook3,4', 'PowerBook3,5', 'PowerBook4,1', 'PowerBook3,2', 'MacRISC3')) &&
+ # Kernel contains a special case for the supported 750FX,
+ # not sure if the cpu name can be used, so use same test as kernel
+ first($_->{revision} =~ /\bpvr\s+(\d+)\b/) == 7000;
+ } get_cpus();
+}
+
+sub probe_p4() {
+ any {
+ get_vendor($_) eq "Intel" &&
+ $_->{'cpu family'} == 15;
+ } get_cpus();
+}
+
+sub probe_powernow_k6() {
+ any {
+ get_vendor($_) eq "AMD" &&
+ $_->{'cpu family'} == 5 &&
+ member($_->{model}, 12, 13);
+ } get_cpus();
+}
+
+sub probe_powernow_k7() {
+ any {
+ get_vendor($_) eq "AMD" &&
+ $_->{'cpu family'} == 6;
+ } get_cpus();
+}
+
+sub probe_powernow_k8() {
+ any {
+ get_vendor($_) eq "AMD" &&
+ $_->{'cpu family'} == 15 &&
+ ($_->{'power management'} =~ /\bfid\b/ || has_flag($_, 'fid')); # frequency ID control
+ } get_cpus();
+}
+
+sub probe_longhaul() {
+ any {
+ get_vendor($_) eq "Centaur" &&
+ $_->{'cpu family'} == 6 &&
+ member($_->{model}, 6, 7, 8, 9);
+ } get_cpus();
+}
+
+sub probe_longrun() {
+ any {
+ get_vendor($_) eq "Transmeta" &&
+ has_flag($_, 'longrun');
+ } get_cpus();
+}
+
+my @modules = (
+ # probe centrino first, it will get detected on ICH chipset and
+ # speedstep-ich doesn't work with it
+ [ "speedstep-centrino", \&probe_centrino ],
+ # try to find cpufreq compliant northbridge
+ [ "speedstep-ich", \&probe_ich ],
+ [ "speedstep-smi", \&probe_smi ],
+ [ "cpufreq-nforce2", \&probe_nforce2 ],
+ [ "gsx-suspmod", \&probe_gsx ],
+ # try to find a cpufreq compliant processor
+ [ "p4-clockmod", \&probe_p4 ],
+ [ "powernow-k6", \&probe_powernow_k6 ],
+ [ "powernow-k7", \&probe_powernow_k7 ],
+ [ "powernow-k8", \&probe_powernow_k8 ],
+ [ "longhaul", \&probe_longhaul ],
+ [ "longrun", \&probe_longrun ],
+);
+
+sub find_driver() {
+ my $m = find { $_->[1]->() } @modules;
+ $m && $m->[0];
+}
+
+my @governor_modules = map { "cpufreq_$_" } qw(performance powersave conservative ondemand);
+
+sub get_modules() {
+ my $module;
+ if (probe_powerpc() || ($module = find_driver())) {
+ return if_($module, $module), @governor_modules;
+ }
+ ();
+}
+
+1;
diff --git a/perl-install/dbus_object.pm b/perl-install/dbus_object.pm
new file mode 100644
index 000000000..1b4a4264e
--- /dev/null
+++ b/perl-install/dbus_object.pm
@@ -0,0 +1,70 @@
+package dbus_object;
+
+sub system_bus() {
+ require Net::DBus;
+ Net::DBus->system;
+}
+
+sub new {
+ my ($type, $bus, $service, $path, $interface) = @_;
+ my $o = {
+ bus => $bus,
+ service => $service,
+ path => $path,
+ interface => $interface,
+ };
+ attach_object($o);
+ bless $o, $type;
+}
+
+sub attach_object {
+ my ($o) = @_;
+ my $service = $o->{bus}->get_service($o->{service});
+ $o->{object} = $service->get_object($o->{path}, $o->{interface});
+}
+
+sub call_method {
+ my ($o, $method, @args) = @_;
+ $o->{object}->$method(@args);
+}
+
+sub safe_call_method {
+ my ($o, $method, @args) = @_;
+ my @ret;
+ eval {
+ @ret = $o->call_method($method, @args);
+ };
+ if ($@) {
+ print STDERR "($method) exception: $@\n";
+ $o->{bus}{connection}->dispatch;
+ return;
+ }
+ @ret;
+}
+
+sub set_gtk2_watch {
+ my ($o) = @_;
+ set_gtk2_watch_helper($o->{bus});
+}
+
+sub set_gtk2_watch_helper {
+ my ($bus) = @_;
+ $bus->{connection}->set_watch_callbacks(sub {
+ my ($con, $watch) = @_;
+ my $flags = $watch->get_flags;
+ require Net::DBus::Binding::Watch;
+ require Gtk2::Helper;
+ if ($flags & &Net::DBus::Binding::Watch::READABLE) {
+ Gtk2::Helper->add_watch($watch->get_fileno, 'in', sub {
+ $watch->handle(&Net::DBus::Binding::Watch::READABLE);
+ $con->dispatch;
+ 1;
+ });
+ }
+ #- do nothing for WRITABLE watch, we dispatch when needed
+ }, undef, undef); #- do nothing when watch is disabled or toggled yet
+
+ $bus->{connection}->dispatch;
+}
+
+1;
diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm
new file mode 100644
index 000000000..38e96967b
--- /dev/null
+++ b/perl-install/detect_devices.pm
@@ -0,0 +1,1167 @@
+package detect_devices; # $Id: detect_devices.pm 149913 2007-03-29 16:23:50Z blino $
+
+use diagnostics;
+use strict;
+use vars qw($pcitable_addons $usbtable_addons);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use log;
+use common;
+use devices;
+use run_program;
+use modules;
+use c;
+
+#-#####################################################################################
+#- Globals
+#-#####################################################################################
+my %serialprobe;
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+
+sub get() {
+ #- Detect the default BIOS boot harddrive is kind of tricky. We may have IDE,
+ #- SCSI and RAID devices on the same machine. From what I see so far, the default
+ #- BIOS boot harddrive will be
+ #- 1. The first IDE device if IDE exists. Or
+ #- 2. The first SCSI device if SCSI exists. Or
+ #- 3. The first RAID device if RAID exists.
+
+ getIDE(), getSCSI(), getDAC960(), getCompaqSmartArray(), getATARAID();
+}
+sub hds() { grep { may_be_a_hd($_) } get() }
+sub tapes() { grep { $_->{media_type} eq 'tape' } get() }
+sub cdroms() { grep { $_->{media_type} eq 'cdrom' } get() }
+sub burners() { grep { isBurner($_) } cdroms() }
+sub dvdroms() { grep { isDvdDrive($_) } cdroms() }
+sub raw_zips() { grep { member($_->{media_type}, 'fd', 'hd') && isZipDrive($_) } get() }
+sub ls120s() { grep { member($_->{media_type}, 'fd', 'hd') && isLS120Drive($_) } get() }
+sub zips() {
+ map {
+ $_->{device} .= 4;
+ $_;
+ } raw_zips();
+}
+
+sub floppies {
+ my ($o_not_detect_legacy_floppies) = @_;
+ require modules;
+ my @fds;
+ if (!$o_not_detect_legacy_floppies) {
+ eval { modules::load("floppy") if $::isInstall };
+ if (!is_xbox()) {
+ @fds = map {
+ my $info = c::floppy_info(devices::make("fd$_"));
+ if_($info && $info ne '(null)', { device => "fd$_", media_type => 'fd', info => $info });
+ } qw(0 1);
+ }
+ }
+
+ my @ide = ls120s() and eval { modules::load("ide-floppy") };
+
+ eval { modules::load("usb-storage") } if $::isInstall && usbStorage();
+ my @scsi = grep { $_->{media_type} eq 'fd' } getSCSI();
+ @ide, @scsi, @fds;
+}
+sub floppies_dev() { map { $_->{device} } floppies() }
+sub floppy() { first(floppies_dev()) }
+#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
+
+sub removables() {
+ floppies(), cdroms(), zips();
+}
+
+sub get_sys_cdrom_info {
+ my (@drives) = @_;
+
+ my @drives_order;
+ foreach (cat_("/proc/sys/dev/cdrom/info")) {
+ my ($t, $l) = split ':';
+ my @l;
+ @l = split(' ', $l) if $l;
+ if ($t eq 'drive name') {
+ @drives_order = map {
+ my $dev = $_;
+ find { $_->{device} eq $dev } @drives;
+ } @l;
+ } else {
+ my $capacity;
+ if ($t eq 'Can write CD-R') {
+ $capacity = 'burner';
+ } elsif ($t eq 'Can read DVD') {
+ $capacity = 'DVD';
+ }
+ if ($capacity) {
+ each_index {
+ ($drives_order[$::i] || {})->{capacity} .= "$capacity " if $_;
+ } @l;
+ }
+ }
+ }
+}
+
+sub complete_usb_storage_info {
+ my (@l) = @_;
+
+ my @usb = grep { exists $_->{usb_vendor} } @l;
+
+ foreach my $usb (usb_probe()) {
+ if (my $e = find { !$_->{found} && $_->{usb_vendor} == $usb->{vendor} && $_->{usb_id} == $usb->{id} } @usb) {
+ my $host = get_sysfs_usbpath_for_block($e->{device});
+ if ($host) {
+ $e->{info} = chomp_(cat_("/sys/block/$e->{device}/$host/../serial"));
+ $e->{usb_description} = join('|',
+ chomp_(cat_("/sys/block/$e->{device}/$host/../manufacturer")),
+ chomp_(cat_("/sys/block/$e->{device}/$host/../product")));
+ }
+ local $e->{found} = 1;
+ $e->{"usb_$_"} ||= $usb->{$_} foreach keys %$usb;
+ }
+ }
+}
+
+sub isBurner {
+ my ($e) = @_;
+ $e->{capacity} =~ /burner/ and return 1;
+
+ #- do not work for SCSI
+ my $f = tryOpen($e->{device}); #- SCSI burner are not detected this way.
+ $f && c::isBurner(fileno($f));
+}
+sub isDvdDrive {
+ my ($e) = @_;
+ $e->{capacity} =~ /DVD/ || $e->{info} =~ /DVD/ and return 1;
+
+ #- do not work for SCSI
+ my $f = tryOpen($e->{device});
+ $f && c::isDvdDrive(fileno($f));
+}
+sub isZipDrive { $_[0]{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
+sub isLS120Drive { $_[0]{info} =~ /LS-?120|144MB/ }
+sub isKeyUsb { begins_with($_[0]{usb_media_type} || '', 'Mass Storage') && $_[0]{media_type} eq 'hd' }
+sub isFloppyUsb { $_[0]{usb_driver} && $_[0]{usb_driver} eq 'Removable:floppy' }
+sub may_be_a_hd {
+ my ($e) = @_;
+ $e->{media_type} eq 'hd' && !(
+ isZipDrive($e)
+ || isLS120Drive($e)
+ || begins_with($e->{usb_media_type} || '', 'Mass Storage|Floppy (UFI)')
+ );
+}
+
+sub get_sysfs_field_from_link {
+ my ($device, $field) = @_;
+ my $l = readlink("$device/$field");
+ $l =~ s!.*/!!;
+ $l;
+}
+
+sub get_sysfs_usbpath_for_block {
+ my ($device) = @_;
+ my $host = readlink("/sys/block/$device/device");
+ $host =~ s!/host.*!!;
+ $host;
+}
+
+sub get_scsi_driver {
+ my (@l) = @_;
+ # find driver of host controller from sysfs:
+ foreach (@l) {
+ next if $_->{driver};
+ my $host = get_sysfs_usbpath_for_block($_->{device});
+ $_->{driver} = get_sysfs_field_from_link("/sys/block/$_->{device}/$host", 'driver');
+ }
+}
+
+sub getSCSI() {
+ my $dev_dir = '/sys/bus/scsi/devices';
+
+ my @scsi_types = (
+ "Direct-Access",
+ "Sequential-Access",
+ "Printer",
+ "Processor",
+ "WORM",
+ "CD-ROM",
+ "Scanner",
+ "Optical Device",
+ "Medium Changer",
+ "Communications",
+ );
+
+ my @l;
+ foreach (all($dev_dir)) {
+ my ($host, $channel, $id, $lun) = split ':' or log::l("bad entry in $dev_dir: $_"), next;
+ my $dir = "$dev_dir/$_";
+
+ # handle both old and new kernels:
+ my $node = -e "$dir/block" ? "$dir/block" : top(glob_("$dir/block*"));
+ my ($device) = readlink($node) =~ m!/block/(.*)!;
+ warn("cannot get info for device ($_)"), next if !$device;
+
+ my $usb_dir = readlink("$node/device") =~ m!/usb! && "$node/device/../../../..";
+ my $get_usb = sub { chomp_(cat_("$usb_dir/$_[0]")) };
+
+ my $get = sub {
+ my $s = cat_("$dir/$_[0]");
+ $s =~ s/\s+$//;
+ $s;
+ };
+
+ # Old hp scanners report themselves as "Processor"s
+ # (see linux/include/scsi/scsi.h and sans-find-scanner.1)
+ my $raw_type = $scsi_types[$get->('type')];
+
+ my $media_type = ${{ st => 'tape', sr => 'cdrom', sd => 'hd' }}{substr($device, 0, 2)} ||
+ $raw_type =~ /Scanner|Processor/ && 'scanner';
+
+ push @l, { info => $get->('vendor') . ' ' . $get->('model'), host => $host, channel => $channel, id => $id, lun => $lun,
+ bus => 'SCSI', media_type => $media_type, device => $device,
+ $usb_dir ? (
+ usb_vendor => hex($get_usb->('idVendor')), usb_id => hex($get_usb->('idProduct')),
+ ) : (),
+ };
+ }
+
+ @l = sort { $a->{host} <=> $b->{host} || $a->{channel} <=> $b->{channel} || $a->{id} <=> $b->{id} || $a->{lun} <=> $b->{lun} } @l;
+
+ complete_usb_storage_info(@l);
+
+ foreach (@l) {
+ $_->{media_type} = 'fd' if $_->{media_type} eq 'hd' && isFloppyUsb($_);
+ }
+
+ get_sys_cdrom_info(@l);
+ get_scsi_driver(@l);
+ @l;
+}
+
+
+my %eide_hds = (
+ "ASUS" => "Asus",
+ "CD-ROM CDU" => "Sony",
+ "CD-ROM Drive/F5D" => "ASUSTeK",
+ "Compaq" => "Compaq",
+ "CONNER" => "Conner Peripherals",
+ "IBM" => "IBM",
+ "FUJITSU" => "Fujitsu",
+ "HITACHI" => "Hitachi",
+ "Lite-On" => "Lite-On Technology Corp.",
+ "LITE-ON" => "Lite-On Technology Corp.",
+ "LTN" => "Lite-On Technology Corp.",
+ "IOMEGA" => "Iomega",
+ "MAXTOR" => "Maxtor",
+ "Maxtor" => "Maxtor",
+ "Micropolis" => "Micropolis",
+ "Pioneer" => "Pioneer",
+ "PLEXTOR" => "Plextor",
+ "QUANTUM" => "Quantum",
+ "SAMSUNG" => "Samsung",
+ "Seagate " => "Seagate Technology",
+ "ST3" => "Seagate Technology",
+ "TEAC" => "Teac",
+ "TOSHIBA" => "Toshiba",
+ "WDC" => "Western Digital Corp.",
+);
+
+
+sub getIDE() {
+ my @idi;
+
+ #- what about a system with absolutely no IDE on it, like some sparc machine.
+ -e "/proc/ide" or return ();
+
+ #- Great. 2.2 kernel, things are much easier and less error prone.
+ foreach my $d (sort @{[glob_('/proc/ide/hd*')]}) {
+ cat_("$d/driver") =~ /ide-scsi/ and next; #- already appears in /proc/scsi/scsi
+ my $t = chomp_(cat_("$d/media"));
+ my $type = ${{ disk => 'hd', cdrom => 'cdrom', tape => 'tape', floppy => 'fd' }}{$t} or next;
+ my $info = chomp_(cat_("$d/model")) || "(none)";
+
+ my $num = ord(($d =~ /(.)$/)[0]) - ord 'a';
+ my ($vendor, $model) = map {
+ if_($info =~ /^$_(-|\s)*(.*)/, $eide_hds{$_}, $2);
+ } keys %eide_hds;
+
+ my $host = $num;
+ ($host, my $id) = divide($host, 2);
+ ($host, my $channel) = divide($host, 2);
+
+ push @idi, { media_type => $type, device => basename($d),
+ info => $info, host => $host, channel => $channel, id => $id, bus => 'ide',
+ if_($vendor, Vendor => $vendor), if_($model, Model => $model) };
+ }
+ get_sys_cdrom_info(@idi);
+ @idi;
+}
+
+sub block_devices() {
+ -d '/sys/block'
+ ? map { s|!|/|; $_ } all('/sys/block')
+ : map { $_->{dev} } do { require fs::proc_partitions; fs::proc_partitions::read_raw() };
+}
+
+sub getCompaqSmartArray() {
+ my (@idi, $f);
+
+ foreach ('array/ida', 'cpqarray/ida', 'cciss/cciss') {
+ my $prefix = "/proc/driver/$_"; #- kernel 2.4 places it here
+ $prefix = "/proc/$_" if !-e "${prefix}0"; #- kernel 2.2
+
+ my ($name) = m|/(.*)|;
+ for (my $i = 0; -r ($f = "${prefix}$i"); $i++) {
+ my @raw_devices = cat_($f) =~ m|^\s*($name/.*?):|gm;
+
+ #- this is ugly and buggy. keeping it for 2007.0
+ #- on a cciss, cciss/cciss0 didn't contain c0d0, but cciss/cciss1 did contain c0d1
+ #- the line below adds both c0d0 and c0d1 for cciss0, and so some duplicates
+ @raw_devices or @raw_devices = grep { m!^$name/! } block_devices();
+
+ foreach my $raw_device (@raw_devices) {
+ my $device = -d "/dev/$raw_device" ? "$raw_device/disc" : $raw_device;
+ push @idi, { device => $device, prefix => $raw_device . 'p',
+ info => "Compaq RAID logical disk",
+ media_type => 'hd', bus => $name };
+ }
+ }
+ }
+ #- workaround the buggy code above. this should be safe though
+ uniq_ { $_->{device} } @idi;
+}
+
+sub getDAC960() {
+ my %idi;
+
+ #- We are looking for lines of this format:DAC960#0:
+ #- /dev/rd/c0d0: RAID-7, Online, 17928192 blocks, Write Thru0123456790123456789012
+ foreach (syslog()) {
+ my ($device, $info) = m|/dev/(rd/.*?): (.*?),| or next;
+ $idi{$device} = { info => $info, media_type => 'hd', device => $device, prefix => $device . 'p', bus => 'dac960' };
+ }
+ values %idi;
+}
+
+sub getATARAID() {
+ my %l;
+ foreach (syslog()) {
+ my ($device) = m|^\s*(ataraid/d\d+):| or next;
+ $l{$device} = { info => 'ATARAID block device', media_type => 'hd', device => $device, prefix => $device . 'p', bus => 'ataraid' };
+ log::l("ATARAID: $device");
+ }
+ values %l;
+}
+
+
+# cpu_name : arch() =~ /^alpha/ ? "cpu " :
+# arch() =~ /^ppc/ ? "processor" : "vendor_id"
+
+# cpu_model : arch() =~ /^alpha/ ? "cpu model" :
+# arch() =~ /^ppc/ ? "cpu " : "model name"
+
+# cpu_freq = arch() =~ /^alpha/ ? "cycle frequency [Hz]" :
+# arch() =~ /^ppc/ ? "clock" : "cpu MHz"
+
+sub getCPUs() {
+ my (@cpus, $cpu);
+ foreach (cat_("/proc/cpuinfo")) {
+ if (/^processor/) { # ix86 specific
+ push @cpus, $cpu if $cpu;
+ $cpu = {};
+ }
+ $cpu->{$1} = $2 if /^([^\t]+).*:\s(.*)$/;
+ $cpu->{processor}++ if $1 eq "processor";
+ }
+ push @cpus, $cpu;
+ @cpus;
+}
+
+sub ix86_cpu_frequency() {
+ cat_('/proc/cpuinfo') =~ /cpu MHz\s*:\s*(\d+)/ && $1;
+}
+
+sub probe_category {
+ my ($category) = @_;
+
+ require list_modules;
+ my @modules = list_modules::category2modules($category);
+
+ if_($category =~ /sound/ && arch() =~ /ppc/ && get_mac_model() !~ /IBM/,
+ { driver => 'snd-powermac', description => 'Macintosh built-in' },
+ ),
+ grep {
+ if ($category eq 'network/isdn') {
+ my $b = $_->{driver} =~ /ISDN:([^,]*),?([^,]*)(?:,firmware=(.*))?/;
+ if ($b) {
+ $_->{driver} = $1;
+ $_->{type} = $2;
+ $_->{type} =~ s/type=//;
+ $_->{firmware} = $3;
+ $_->{driver} eq "hisax" and $_->{options} .= " id=HiSax";
+ }
+ $b;
+ } else {
+ member($_->{driver}, @modules);
+ }
+ } probeall();
+}
+
+sub getSoundDevices() {
+ probe_category('multimedia/sound');
+}
+
+sub isTVcardConfigurable { member($_[0]{driver}, qw(bttv cx88 saa7134)) }
+
+sub getTVcards() { probe_category('multimedia/tv') }
+
+sub getInputDevices() {
+ my (@devices, $device);
+ foreach (cat_('/proc/bus/input/devices')) {
+ if (/^I:/) {
+ $device = {};
+ $device->{vendor} = /Vendor=(\w+)/ && $1;
+ $device->{id} = /Product=(\w+)/ && $1;
+ } elsif (/N: Name="(.*)"/) {
+ my $descr = $1;
+ $device->{description} = "|$descr";
+
+ #- I: Bus=0011 Vendor=0002 Product=0008 Version=7321
+ #- N: Name="AlpsPS/2 ALPS GlidePoint"
+ #- P: Phys=isa0060/serio1/input0
+ #- H: Handlers=mouse1 event2 ts1
+ #- B: EV=f
+ #- B: KEY=420 0 70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_TOOL_FINGER BTN_TOUCH
+ #- or B: KEY=420 0 670000 0 0 0 0 0 0 0 0 #=> same with BTN_BACK
+ #- B: REL=3 #=> X Y
+ #- B: ABS=1000003 #=> X Y PRESSURE
+
+ #- I: Bus=0011 Vendor=0002 Product=0008 Version=2222
+ #- N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
+ #- P: Phys=isa0060/serio1/input0
+ #- S: Sysfs=/class/input/input2
+ #- H: Handlers=mouse1 ts1 event2
+ #- B: EV=f
+ #- B: KEY=420 0 70000 0 0 0 0 0 0 0 0
+ #- B: REL=3
+ #- B: ABS=1000003
+
+ #- I: Bus=0011 Vendor=0002 Product=0007 Version=0000
+ #- N: Name="SynPS/2 Synaptics TouchPad"
+ #- P: Phys=isa0060/serio1/input0
+ #- S: Sysfs=/class/input/input1
+ #- H: Handlers=mouse0 event1 ts0
+ #- B: EV=b
+ #- B: KEY=6420 0 70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_TOOL_FINGER BTN_TOUCH BTN_TOOL_TRIPLETAP
+ #- or B: KEY=6420 0 670000 0 0 0 0 0 0 0 0 #=> same with BTN_BACK
+ #- or B: KEY=420 30000 670000 0 0 0 0 0 0 0 0 #=> same without BTN_TOOL_TRIPLETAP but with BTN_B
+ #- B: ABS=11000003 #=> X Y PRESSURE TOOL_WIDTH
+
+ $device->{Synaptics} = $descr eq 'SynPS/2 Synaptics TouchPad';
+ $device->{ALPS} = $descr =~ m!^AlpsPS/2 ALPS!;
+
+ } elsif (/H: Handlers=(\w+)/) {
+ $device->{driver} = $1;
+ } elsif (/P: Phys=(.*)/) {
+ $device->{location} = $1;
+ $device->{bus} = 'isa' if $device->{location} =~ /^isa/;
+ $device->{bus} = 'usb' if $device->{location} =~ /^usb/i;
+ } elsif (/B: REL=(.* )?(.*)/) {
+ #- REL=3 #=> X Y
+ #- REL=103 #=> X Y WHEEL
+ #- REL=143 #=> X Y HWHEEL WHEEL
+ #- REL=1c3 #=> X Y HWHEEL DIAL WHEEL
+ my $REL = hex($2);
+ $device->{HWHEEL} = 1 if $REL & (1 << 6);
+ $device->{WHEEL} = 1 if $REL & (1 << 8); #- not reliable ("Mitsumi Apple USB Mouse" says REL=103 and KEY=1f0000 ...)
+
+ } elsif (/B: KEY=(\S+)/) {
+ #- some KEY explained:
+ #- (but note that BTN_MIDDLE can be reported even if missing)
+ #- (and "Mitsumi Apple USB Mouse" reports 1f0000)
+ #- KEY=30000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT
+ #- KEY=70000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE
+ #- KEY=1f0000 0 0 0 0 0 0 0 0 #=> BTN_LEFT BTN_RIGHT BTN_MIDDLE BTN_SIDE BTN_EXTRA
+ my $KEY = hex($1);
+ $device->{SIDE} = 1 if $KEY & (1 << 0x13);
+
+ } elsif (/^\s*$/) {
+ push @devices, $device if $device;
+ undef $device;
+ }
+ }
+ @devices;
+}
+
+sub getInputDevices_and_usb() {
+ my @l = getInputDevices();
+
+ foreach my $usb (usb_probe()) {
+ if (my $e = find { hex($_->{vendor}) == $usb->{vendor} && hex($_->{id}) == $usb->{id} } @l) {
+ $e->{usb} = $usb;
+ }
+ }
+
+ @l;
+}
+
+sub getSerialModem {
+ my ($modules_conf, $o_mouse) = @_;
+ my $mouse = $o_mouse || {};
+ $mouse->{device} = readlink "/dev/mouse";
+ my $serdev = arch() =~ /ppc/ ? "macserial" : "serial";
+ eval { modules::load($serdev) };
+
+ my @modems;
+
+ probeSerialDevices();
+ foreach my $port (map { "ttyS$_" } (0..7)) {
+ next if $mouse->{device} =~ /$port/;
+ my $device = "/dev/$port";
+ next if !-e $device || !hasModem($device);
+ $serialprobe{$device}{device} = $device;
+ push @modems, $serialprobe{$device};
+ }
+ my @devs = pcmcia_probe();
+ foreach my $modem (@modems) {
+ #- add an alias for macserial on PPC
+ $modules_conf->set_alias('serial', $serdev) if arch() =~ /ppc/ && $modem->{device};
+ foreach (@devs) { $_->{device} and $modem->{device} = $_->{device} }
+ }
+ @modems;
+}
+
+sub getModem {
+ my ($modules_conf) = @_;
+ getSerialModem($modules_conf, {}), get_winmodems();
+}
+
+sub get_winmodems() {
+ matching_driver__regexp('www\.linmodems\.org'),
+ matching_driver(list_modules::category2modules('network/modem'),
+ list_modules::category2modules('network/slmodem'));
+}
+
+sub getBewan() {
+ matching_desc__regexp('Bewan Systems\|.*ADSL|BEWAN ADSL USB|\[Unicorn\]');
+}
+
+# generate from the following from eci driver sources:
+# perl -e 'while (<>) { print qq("$1$2",\n"$3$4",\n) if /\b([a-z\d]*)\s*([a-z\d]*)\s*([a-z\d]*)\s*([a-z\d]*)$/ }' <modems.db|sort|uniq
+sub getECI() {
+ my @ids = (
+ "05090801",
+ "05472131",
+ "06590915",
+ "071dac81",
+ "08ea00c9",
+ "09150001",
+ "09150002",
+ "091500ca",
+ "091500e7",
+ "09150101",
+ "09150102",
+ "09150204",
+ "09150206",
+ "09150802",
+ "09150916",
+ "09158000",
+ "09158001",
+ "0915ac82",
+ "0baf00e6",
+ "0e600100",
+ "0e600101",
+ "0fe88000",
+ "16900203",
+ "16900205",
+ );
+ grep { member(sprintf("%04x%04x%04x%04x", $_->{vendor}, $_->{id}, $_->{subvendor}, $_->{subid}), @ids) } usb_probe();
+}
+
+sub get_xdsl_usb_devices() {
+ my @bewan = detect_devices::getBewan();
+ $_->{driver} = $_->{bus} eq 'USB' ? 'unicorn_usb_atm' : 'unicorn_pci_atm' foreach @bewan;
+ my @eci = detect_devices::getECI();
+ $_->{driver} = 'eciusb' foreach @eci;
+ my @usb = detect_devices::probe_category('network/usb_dsl');
+ $_->{description} = "USB ADSL modem (eagle chipset)" foreach
+ grep { $_->{driver} eq 'ueagle-atm' && $_->{description} eq '(null)' } @usb;
+ @usb, @bewan, @eci;
+}
+
+sub is_lan_interface {
+ # we want LAN like interfaces here (eg: ath|br|eth|fddi|plip|ra|tr|usb|wlan).
+ # there's also bnep%d for bluetooth, bcp%d...
+ # we do this by blacklisting the following interfaces:
+ # - ippp|isdn|plip|ppp (initscripts suggest that isdn%d can be created but kernel sources claim not)
+ # ippp%d are created by drivers/isdn/i4l/isdn_ppp.c
+ # plip%d are created by drivers/net/plip.c
+ # ppp%d are created by drivers/net/ppp_generic.c
+ is_useful_interface($_[0]) &&
+ $_[0] !~ /^(?:ippp|isdn|plip|ppp)/;
+}
+
+sub is_useful_interface {
+ # - sit0 which is *always* created by net/ipv6/sit.c, thus is always created since net.agent loads ipv6 module
+ # - wifi%d are created by 3rdparty/hostap/hostap_hw.c (pseudo statistics devices, #14523)
+ # ax*, rose*, nr*, bce* and scc* are Hamradio devices (#28776)
+ $_[0] !~ /^(?:lo|sit0|wifi|ax|rose|nr|bce|scc)/;
+}
+
+sub is_wireless_interface {
+ my ($interface) = @_;
+ #- some wireless drivers don't always support the SIOCGIWNAME ioctl
+ #- ralink devices need to be up to support it
+ #- wlan-ng (prism2_*) need some special tweaks to support it
+ #- use sysfs as fallback to detect wireless interfaces,
+ #- i.e interfaces for which get_wireless_stats() is available
+ c::isNetDeviceWirelessAware($interface) || -e "/sys/class/net/$interface/wireless";
+}
+
+sub get_all_net_devices() {
+ # we need both detection schemes since:
+ # - get_netdevices() use the SIOCGIFCONF ioctl that does not list interfaces that are down
+ # - /proc/net/dev does not list VLAN and IP aliased interfaces
+ uniq(
+ (map { if_(/^\s*([A-Za-z0-9:\.]*):/, $1) } cat_("/proc/net/dev")),
+ c::get_netdevices(),
+ );
+}
+
+sub get_lan_interfaces() { grep { is_lan_interface($_) } get_all_net_devices() }
+sub get_net_interfaces() { grep { is_useful_interface($_) } get_all_net_devices() }
+sub get_wireless_interface() { find { is_wireless_interface($_) } get_lan_interfaces() }
+
+sub is_bridge_interface {
+ my ($interface) = @_;
+ -f "/sys/class/net/$interface/bridge/bridge_id";
+}
+
+sub get_ids_from_sysfs_device {
+ my ($dev_path) = @_;
+ my $dev_cat = sub { chomp_(cat_("$dev_path/$_[0]")) };
+ my $usb_root = -f "$dev_path/bInterfaceNumber" && "../" || -f "$dev_path/idVendor" && "";
+ my $is_pcmcia = -f "$dev_path/card_id";
+ my $sysfs_ids;
+ my $bus = get_sysfs_field_from_link($dev_path, "bus");
+ #- FIXME: use $bus
+ if ($is_pcmcia) {
+ $sysfs_ids = { modalias => $dev_cat->('modalias') };
+ } else {
+ $sysfs_ids = $bus eq 'ieee1394' ?
+ {
+ version => "../vendor_id",
+ specifier_id => "specifier_id",
+ specifier_version => "version",
+ } :
+ defined $usb_root ?
+ { id => $usb_root . 'idProduct', vendor => $usb_root . 'idVendor' } :
+ { id => "device", subid => "subsystem_device", vendor => "vendor", subvendor => "subsystem_vendor" };
+ $_ = hex($dev_cat->($_)) foreach values %$sysfs_ids;
+ if ($bus eq 'pci') {
+ my $device = basename(readlink $dev_path);
+ my @ids = $device =~ /^(.{4}):(.{2}):(.{2})\.(.+)$/;
+ @{%$sysfs_ids}{qw(pci_domain pci_bus pci_device pci_function)} = map { hex($_) } @ids if @ids;
+ }
+ }
+ $sysfs_ids;
+}
+
+sub device_matches_sysfs_ids {
+ my ($device, $sysfs_ids) = @_;
+ every { defined $device->{$_} && member($device->{$_}, $sysfs_ids->{$_}, 0xffff) } keys %$sysfs_ids;
+}
+
+sub device_matches_sysfs_device {
+ my ($device, $dev_path) = @_;
+ device_matches_sysfs_ids($device, get_ids_from_sysfs_device($dev_path));
+}
+
+#sub getISDN() {
+# mapgrep(sub {member (($_[0] =~ /\s*(\w*):/), @netdevices), $1 }, split(/\n/, cat_("/proc/net/dev")));
+#}
+
+sub getUPS() {
+ my @usb_devices = map { ($_->{name} = $_->{description}) =~ s/.*\|//; $_ } grep { $_->{description} !~ /GamePad|IR Combo Device|Joystick|SideWinder/ } usb_probe();
+
+ # MGE serial PnP devices:
+ (map {
+ $_->{port} = $_->{DEVICE};
+ $_->{bus} = "Serial";
+ $_->{driver} = "mge-utalk" if $_->{MODEL} =~ /0001/;
+ $_->{driver} = "mge-shut" if $_->{MODEL} =~ /0002/;
+ $_->{media_type} = 'UPS';
+ $_->{description} = "MGE UPS SYSTEMS|UPS - Uninterruptible Power Supply" if $_->{MODEL} =~ /000[12]/;
+ $_;
+ } grep { $_->{DESCRIPTION} =~ /MGE UPS/ } values %serialprobe),
+ # USB UPSs;
+ (grep { $_->{driver} = 'hidups' if $_->{driver} eq 'usbhid'; $_->{description} =~ /American Power Conversion\|Back-UPS/ } @usb_devices),
+ (map {
+ $_->{port} = "auto";
+ $_->{media_type} = 'UPS';
+ $_->{driver} = 'newhidups';
+ $_;
+ } grep { $_->{driver} =~ /ups$/ && $_->{description} !~ /American Power Conversion\|Back-UPS|Chicony|Keyboard|Logitech|SAITEK|WingMan/ } @usb_devices);
+}
+
+$pcitable_addons = <<'EOF';
+# add here lines conforming the pcitable format (0xXXXX\t0xXXXX\t"\w+"\t".*")
+EOF
+
+$usbtable_addons = <<'EOF';
+# add here lines conforming the usbtable format (0xXXXX\t0xXXXX\t"\w+"\t".*")
+EOF
+
+sub install_addons {
+ my ($prefix) = @_;
+
+ #- this test means install_addons can only be called after ldetect-lst has been installed.
+ if (-d "$prefix/usr/share/ldetect-lst") {
+ my $update = 0;
+ foreach ([ 'pcitable.d', $pcitable_addons ], [ 'usbtable.d', $usbtable_addons ]) {
+ my ($dir, $str) = @$_;
+ -d "$prefix/usr/share/ldetect-lst/$dir" && $str =~ /^[^#]/m and $update = 1 and
+ output "$prefix/usr/share/ldetect-lst/$dir/95drakx.lst", $str;
+ }
+ $update and run_program::rooted($prefix, "/usr/sbin/update-ldetect-lst");
+ }
+}
+
+sub add_addons {
+ my ($addons, @l) = @_;
+
+ foreach (split "\n", $addons) {
+ /^\s/ and die qq(bad detect_devices::probeall_addons line "$_");
+ s/^#.*//;
+ s/"(.*?)"/$1/g;
+ next if /^$/;
+ my ($vendor, $id, $driver, $description) = split("\t", $_, 4) or die qq(bad detect_devices::probeall_addons line "$_");
+ foreach (@l) {
+ $_->{vendor} == hex $vendor && $_->{id} == hex $id or next;
+ put_in_hash($_, { driver => $driver, description => $description });
+ }
+ }
+ @l;
+}
+
+my (@pci, @usb);
+sub pci_probe__real() {
+ add_addons($pcitable_addons, map {
+ my %l;
+ @l{qw(vendor id subvendor subid pci_domain pci_bus pci_device pci_function media_type nice_media_type driver description)} = split "\t";
+ $l{$_} = hex $l{$_} foreach qw(vendor id subvendor subid);
+ $l{bus} = 'PCI';
+ $l{sysfs_device} = sprintf('/sys/bus/pci/devices/%04x:%02x:%02x.%d', $l{pci_domain}, $l{pci_bus}, $l{pci_device}, $l{pci_function});
+ \%l;
+ } c::pci_probe());
+}
+sub pci_probe() {
+ if ($::isStandalone && @pci) {
+ @pci;
+ } else {
+ @pci = pci_probe__real();
+ }
+}
+
+sub usb_probe__real() {
+ -e "/proc/bus/usb/devices" or return;
+
+ add_addons($usbtable_addons, map {
+ my %l;
+ @l{qw(vendor id media_type driver description pci_bus pci_device)} = split "\t";
+ $l{media_type} = join('|', grep { $_ ne '(null)' } split('\|', $l{media_type}));
+ $l{$_} = hex $l{$_} foreach qw(vendor id);
+ $l{sysfs_device} = "/sys/class/usb_device/usbdev$l{pci_bus}.$l{pci_device}/device";
+ $l{bus} = 'USB';
+ \%l;
+ } c::usb_probe());
+}
+sub usb_probe() {
+ if ($::isStandalone && @usb) {
+ @usb;
+ } else {
+ @usb = usb_probe__real();
+ }
+}
+
+sub firewire_probe() {
+ my $dev_dir = '/sys/bus/ieee1394/devices';
+ my @l = map {
+ my $dir = "$dev_dir/$_";
+ my $get = sub { chomp_(cat_($_[0])) };
+ {
+ version => hex($get->("$dir/../vendor_id")),
+ specifier_id => hex($get->("$dir/specifier_id")),
+ specifier_version => hex($get->("$dir/version")),
+ bus => 'Firewire',
+ };
+ } grep { -f "$dev_dir/$_/specifier_id" } all($dev_dir);
+
+ my $e;
+ foreach (cat_('/proc/bus/ieee1394/devices')) {
+ if (m!Vendor/Model ID: (.*) \[(\w+)\] / (.*) \[(\w+)\]!) {
+ push @l, $e = {
+ vendor => hex($2), id => hex($4),
+ description => join('|', $1, $3),
+ bus => 'Firewire',
+ };
+ } elsif (/Software Specifier ID: (\w+)/) {
+ $e->{specifier_id} = hex $1;
+ } elsif (/Software Version: (\w+)/) {
+ $e->{specifier_version} = hex $1;
+ }
+ }
+
+ foreach (@l) {
+ if ($_->{specifier_id} == 0x00609e && $_->{specifier_version} == 0x010483) {
+ add2hash($_, { driver => 'sbp2', description => "Generic Firewire Storage Controller" });
+ } elsif ($_->{specifier_id} == 0x00005e && $_->{specifier_version} == 0x000001) {
+ add2hash($_, { driver => 'eth1394', description => "IEEE 1394 IPv4 Driver (IPv4-over-1394 as per RFC 2734)" });
+ }
+ }
+ @l;
+}
+
+sub pcmcia_controller_probe() {
+ my ($controller) = probe_category('bus/pcmcia');
+ if (!$controller && !$::testing && !$::noauto && arch() =~ /i.86/) {
+ my $driver = c::pcmcia_probe();
+ $controller = { driver => $driver, description => "PCMCIA controller ($driver)" } if $driver;
+ }
+ $controller;
+}
+
+sub pcmcia_probe() {
+ require modalias;
+ require modules;
+ my $dev_dir = '/sys/bus/pcmcia/devices';
+ map {
+ my $dir = "$dev_dir/$_";
+ my $get = sub { chomp_(cat_("$dir/$_[0]")) };
+ my $class_dev = first(glob_("$dir/tty*"));
+ my $device = $class_dev && get_sysfs_field_from_link($dir, basename($class_dev));
+ my $modalias = $get->('modalias');
+ my $driver = get_sysfs_field_from_link($dir, 'driver');
+ #- fallback on modalias result
+ #- but only if the module isn't loaded yet (else, it would already be binded)
+ #- this prevents from guessing the wrong driver for multi-function devices
+ my $module = $modalias && first(modalias::get_modules($modalias));
+ $driver ||= !member($module, modules::loaded_modules()) && $module;
+ {
+ description => join(' ', grep { $_ } map { $get->("prod_id$_") } 1 .. 4),
+ driver => $driver,
+ if_($modalias, modalias => $modalias),
+ if_($device, device => $device),
+ bus => 'PCMCIA',
+ };
+ } all($dev_dir);
+}
+
+my $dmi_probe;
+sub dmi_probe() {
+ $dmi_probe ||= [ map {
+ /(.*?)\t(.*)/ && { bus => 'DMI', driver => $1, description => $2 };
+ } $> ? () : c::dmi_probe() ];
+ @$dmi_probe;
+}
+
+# pcmcia_probe provides field "device", used in network.pm
+# => probeall with $probe_type is unsafe
+sub probeall() {
+ return if $::noauto;
+
+ pci_probe(), usb_probe(), firewire_probe(), pcmcia_probe(), dmi_probe();
+}
+sub probeall__real() {
+ return if $::noauto;
+ pci_probe__real(), usb_probe__real(), firewire_probe(), pcmcia_probe(), dmi_probe();
+}
+sub matching_desc__regexp {
+ my ($regexp) = @_;
+ grep { $_->{description} =~ /$regexp/i } probeall();
+}
+sub matching_driver__regexp {
+ my ($regexp) = @_;
+ grep { $_->{driver} =~ /$regexp/i } probeall();
+}
+
+sub matching_driver {
+ my (@list) = @_;
+ grep { member($_->{driver}, @list) } probeall();
+}
+sub probe_name {
+ my ($name) = @_;
+ map { $_->{driver} =~ /^$name:(.*)/ } probeall();
+}
+sub probe_unique_name {
+ my ($name) = @_;
+ my @l = uniq(probe_name($name));
+ if (@l > 1) {
+ log::l("oops, more than one $name from probe: ", join(' ', @l));
+ }
+ $l[0];
+}
+
+sub stringlist {
+ my ($b_verbose) = @_;
+ map {
+ my $ids = $b_verbose || $_->{description} eq '(null)' ? sprintf("vendor:%04x device:%04x", $_->{vendor}, $_->{id}) : '';
+ my $subids = $_->{subid} && $_->{subid} != 0xffff ? sprintf("subv:%04x subd:%04x", $_->{subvendor}, $_->{subid}) : '';
+ sprintf("%-16s: %s%s%s",
+ $_->{driver} || 'unknown',
+ $_->{description},
+ $_->{media_type} ? sprintf(" [%s]", $_->{media_type}) : '',
+ $ids || $subids ? " ($ids" . ($ids && $subids && " ") . "$subids)" : '',
+ );
+ } probeall();
+}
+
+sub tryOpen($) {
+ my $F;
+ sysopen($F, devices::make($_[0]), c::O_NONBLOCK()) && $F;
+}
+
+sub tryWrite($) {
+ my $F;
+ sysopen($F, devices::make($_[0]), 1 | c::O_NONBLOCK()) && $F;
+}
+
+my @dmesg;
+sub syslog() {
+ if (-r "/tmp/syslog") {
+ map { /<\d+>(.*)/ } cat_("/tmp/syslog");
+ } else {
+ @dmesg = `/bin/dmesg` if !@dmesg;
+ @dmesg;
+ }
+}
+
+sub get_mac_model() {
+ my $mac_model = cat_("/proc/device-tree/model") || die "Can not open /proc/device-tree/model";
+ log::l("Mac model: $mac_model");
+ $mac_model;
+}
+
+sub get_mac_generation() {
+ cat_('/proc/cpuinfo') =~ /^pmac-generation\s*:\s*(.*)/m ? $1 : "Unknown Generation";
+}
+
+sub hasSMP() {
+ return if $::testing;
+ (any { /NR_CPUS limit of 1 reached/ } syslog()) ||
+ any { /\bProcessor #(\d+)\s+(\S*)/ && $1 > 0 && $2 ne 'invalid' } syslog();
+}
+sub hasPCMCIA() { $::o->{pcmcia} } #- because /proc/pcmcia seems not to be present on 2.4 at least (or use /var/run/stab)
+
+my (@dmis, $dmidecode_already_runned);
+
+# we return a list b/c several DMIs have the same name:
+sub dmidecode() {
+ return @dmis if $dmidecode_already_runned;
+
+ return if $>;
+ my ($ver, @l) = run_program::get_stdout('dmidecode');
+
+ my $tab = "\t";
+ if ($ver =~ /(\d+\.\d+)/ && $1 >= 2.7) {
+ #- new dmidecode output is less indented
+ $tab = '';
+ #- drop header
+ shift @l while @l && $l[0] ne "\n";
+ }
+
+ foreach (@l) {
+ if (/^$tab\t(.*)/) {
+ $dmis[-1]{string} .= "$1\n";
+ $dmis[-1]{$1} = $2 if /^$tab\t(.*): (.*)$/;
+ } elsif (my ($s) = /^$tab(.*)/) {
+ next if $s =~ /^$/ || $s =~ /\bDMI type \d+/;
+ $s =~ s/ Information$//;
+ push @dmis, { name => $s };
+ }
+ }
+ $dmidecode_already_runned = 1;
+ @dmis;
+}
+sub dmidecode_category {
+ my ($cat) = @_;
+ my @l = grep { $_->{name} eq $cat } dmidecode();
+ wantarray() ? @l : $l[0] || {};
+}
+
+#- size in MB
+sub dmi_detect_memory() {
+ my @l1 = map { $_->{'Enabled Size'} =~ /(\d+) MB/ && $1 } dmidecode_category('Memory Module');
+ my @l2 = map { $_->{'Form Factor'} =~ /^(SIMM|SIP|DIP|DIMM|RIMM|SODIMM|SRIMM)$/ &&
+ ($_->{Size} =~ /(\d+) MB/ && $1 || $_->{Size} =~ /(\d+) kB/ && $1 * 1024);
+ } dmidecode_category('Memory Device');
+ max(sum(@l1), sum(@l2));
+}
+
+sub computer_info() {
+ my $Chassis = dmidecode_category('Chassis')->{Type} =~ /(\S+)/ && $1;
+
+ my $date = dmidecode_category('BIOS')->{'Release Date'} || '';
+ my $BIOS_Year = $date =~ m!(\d{4})! && $1 ||
+ $date =~ m!\d\d/\d\d/(\d\d)! && "20$1";
+
+ +{
+ isLaptop => member($Chassis, 'Portable', 'Laptop', 'Notebook', 'Hand Held', 'Sub Notebook', 'Docking Station'),
+ if_($BIOS_Year, BIOS_Year => $BIOS_Year),
+ };
+}
+
+#- try to detect a laptop, we assume pcmcia service is an indication of a laptop or
+#- the following regexp to match graphics card apparently only used for such systems.
+sub isLaptop() {
+ arch() =~ /ppc/ ?
+ get_mac_model() =~ /Book/ :
+ computer_info()->{isLaptop}
+ || (matching_desc__regexp('C&T.*655[45]\d') || matching_desc__regexp('C&T.*68554') ||
+ matching_desc__regexp('Neomagic.*Magic(Media|Graph)') ||
+ matching_desc__regexp('ViRGE.MX') || matching_desc__regexp('S3.*Savage.*[IM]X') ||
+ matching_desc__regexp('ATI.*(Mobility|LT)'))
+ || cat_('/proc/cpuinfo') =~ /\bmobile\b/i
+ || probe_unique_name("Type") eq 'laptop'
+ #- ipw2100/2200/3945 are Mini-PCI (Express) adapters
+ || (any { member($_->{driver}, qw(ipw2100 ipw2200 ipw3945)) } pci_probe());
+}
+
+sub BIGMEM() {
+ arch() !~ /x86_64|ia64/ && $> == 0 && dmi_detect_memory() > 4 * 1024;
+}
+
+sub is_i586() {
+ my $cpuinfo = cat_('/proc/cpuinfo');
+ $cpuinfo =~ /^cpu family\s*:\s*(\d+)/m && $1 < 6 ||
+ !has_cpu_flag('cmov');
+}
+
+sub is_xbox() {
+ any { $_->{vendor} == 0x10de && $_->{id} == 0x02a5 } pci_probe();
+}
+
+sub has_cpu_flag {
+ my ($flag) = @_;
+ cat_('/proc/cpuinfo') =~ /^flags.*\b$flag\b/m;
+}
+
+sub matching_types() {
+ +{
+ laptop => isLaptop(),
+ '64bit' => to_bool(arch() =~ /64/),
+ wireless => to_bool(get_wireless_interface() || probe_category('network/wireless')),
+ };
+}
+
+sub usbWacom() { grep { $_->{driver} =~ /wacom/ } usb_probe() }
+sub usbKeyboards() { grep { $_->{media_type} =~ /\|Keyboard/ } usb_probe() }
+sub usbStorage() { grep { $_->{media_type} =~ /Mass Storage\|/ } usb_probe() }
+sub has_mesh() { find { /mesh/ } all_files_rec("/proc/device-tree") }
+sub has_53c94() { find { /53c94/ } all_files_rec("/proc/device-tree") }
+
+sub usbKeyboard2country_code {
+ my ($usb_kbd) = @_;
+ my ($F, $tmp);
+ sysopen($F, sprintf("/proc/bus/usb/%03d/%03d", $usb_kbd->{pci_bus}, $usb_kbd->{pci_device}), 0) and
+ sysseek $F, 0x28, 0 and
+ sysread $F, $tmp, 1 and
+ unpack("C", $tmp);
+}
+
+sub probeSerialDevices() {
+ require list_modules;
+ require modules;
+ modules::append_to_modules_loaded_at_startup_for_all_kernels(modules::load_category($::o->{modules_conf}, 'various/serial'));
+ foreach (0..3) {
+ #- make sure the device are created before probing,
+ devices::make("/dev/ttyS$_");
+ #- and make sure the device is a real terminal (major is 4).
+ int((stat "/dev/ttyS$_")[6]/256) == 4 or $serialprobe{"/dev/ttyS$_"} = undef;
+ }
+
+ #- for device already probed, we can safely (assuming device are
+ #- not moved during install :-)
+ #- include /dev/mouse device if using an X server.
+ mkdir_p("/var/lock");
+ -l "/dev/mouse" and $serialprobe{"/dev/" . readlink "/dev/mouse"} = undef;
+ foreach (keys %serialprobe) { m|^/dev/(.*)| and touch "/var/lock/LCK..$1" }
+
+ print STDERR "Please wait while probing serial ports...\n";
+ #- start probing all serial ports... really faster than before ...
+ #- ... but still take some time :-)
+ my %current;
+ foreach (run_program::get_stdout('serial_probe')) {
+ if (/^\s*$/) {
+ $serialprobe{$current{DEVICE}} = { %current } if $current{DEVICE};
+ %current = ();
+ } elsif (/^([^=]+)=(.*?)\s*$/) {
+ $current{$1} = $2;
+ }
+ }
+
+ foreach (values %serialprobe) {
+ $_->{DESCRIPTION} =~ /modem/i and $_->{CLASS} = 'MODEM'; #- hack to make sure a modem is detected.
+ $_->{DESCRIPTION} =~ /olitec/i and $_->{CLASS} = 'MODEM'; #- hack to make sure such modem gets detected.
+ log::l("probed $_->{DESCRIPTION} of class $_->{CLASS} on device $_->{DEVICE}");
+ }
+}
+
+sub probeSerial($) { $serialprobe{$_[0]} }
+
+sub hasModem($) {
+ $serialprobe{$_[0]} && $serialprobe{$_[0]}{CLASS} eq 'MODEM' && $serialprobe{$_[0]}{DESCRIPTION};
+}
+
+sub hasMousePS2 {
+ my $t; sysread(tryOpen($_[0]) || return, $t, 256) != 1 || $t ne "\xFE";
+}
+
+sub usb_description2removable {
+ local ($_) = @_;
+ return 'camera' if /\bcamera\b/i;
+ return 'memory_card' if /\bmemory\s?stick\b/i || /\bcompact\s?flash\b/i || /\bsmart\s?media\b/i;
+ return 'memory_card' if /DiskOnKey/i || /IBM-DMDM/i;
+ return 'zip' if /\bzip\s?(100|250|750)/i;
+ return 'floppy' if /\bLS-?120\b/i;
+ return;
+}
+
+sub usb2removable {
+ my ($e) = @_;
+ $e->{usb_driver} or return;
+
+ if ($e->{usb_driver} =~ /Removable:(.*)/) {
+ return $1;
+ } elsif (my $name = usb_description2removable($e->{usb_description})) {
+ return $name;
+ }
+ undef;
+}
+
+sub suggest_mount_point {
+ my ($e) = @_;
+
+ my $name = $e->{media_type};
+ if (member($e->{media_type}, 'hd', 'fd')) {
+ if (exists $e->{usb_driver}) {
+ $name = usb2removable($e) || 'removable';
+ } elsif (isZipDrive($e)) {
+ $name = 'zip';
+ } elsif ($e->{media_type} eq 'fd') {
+ $name = 'floppy';
+ } else {
+ log::l("suggest_mount_point: do not know what to with hd $e->{device}");
+ }
+ }
+ $name;
+}
+
+1;
+
+#- Local Variables:
+#- mode:cperl
+#- tab-width:8
+#- End:
diff --git a/perl-install/devices.pm b/perl-install/devices.pm
new file mode 100644
index 000000000..cdd6a1ca5
--- /dev/null
+++ b/perl-install/devices.pm
@@ -0,0 +1,219 @@
+package devices; # $Id: devices.pm 95787 2006-12-12 16:16:36Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+use run_program;
+use log;
+use c;
+
+sub del_loop {
+ my ($dev) = @_;
+ run_program::run("losetup", "-d", $dev);
+}
+sub find_free_loop() {
+ foreach (0..255) {
+ my $dev = make("loop$_");
+ sysopen(my $F, $dev, 2) or next;
+ !ioctl($F, c::LOOP_GET_STATUS(), my $_tmp) && $! == 6 or next; #- 6 == ENXIO
+ return $dev;
+ }
+ die "no free loop found";
+}
+sub set_loop {
+ my ($file, $o_encrypt_key, $o_encryption) = @_;
+ require modules;
+ eval { modules::load('loop') };
+ my $dev = find_free_loop();
+
+ if ($o_encrypt_key && $o_encryption) {
+ eval { modules::load('cryptoloop', arch() =~ /i.86/ ? 'aes-i586' : 'aes') };
+ my $cmd = "losetup -p 0 -e $o_encryption $dev $file";
+ log::l("calling $cmd");
+ open(my $F, "|$cmd");
+ print $F $o_encrypt_key;
+ close $F or die "losetup failed";
+ } else {
+ run_program::run("losetup", $dev, $file)
+ || run_program::run("losetup", "-r", $dev, $file) or return;
+ }
+ $dev;
+}
+
+sub find_compressed_image {
+ my ($name) = @_;
+ foreach (0..255) {
+ my $dev = make("loop$_");
+ my ($file) = `losetup $dev 2>/dev/null` =~ m!\((.*?)\)! or return;
+ $file =~ s!^/sysroot/!/!;
+ basename($file) eq $name and return $dev, $file;
+ }
+ undef;
+}
+
+sub get_dynamic_major {
+ my ($name) = @_;
+ cat_('/proc/devices') =~ /^(\d+) \Q$name\E$/m && $1;
+}
+
+sub init_device_mapper() {
+ require modules;
+ eval { modules::load('dm-mod') };
+ make('urandom');
+ my $control = '/dev/mapper/control';
+ if (! -e $control) {
+ my ($major) = get_dynamic_major('misc') or return;
+ my ($minor) = cat_('/proc/misc') =~ /(\d+) device-mapper$/m or return;
+ mkdir_p(dirname($control));
+ syscall_('mknod', $control, c::S_IFCHR() | 0600, makedev($major, $minor)) or die "mknod $control failed: $!";
+ }
+}
+
+sub entry {
+ my ($type, $major, $minor);
+ local ($_) = @_;
+
+ if (/^0x([\da-f]{3,4})$/i) {
+ $type = c::S_IFBLK();
+ ($major, $minor) = unmakedev(hex $1);
+ } elsif (/^sd(.)(\d{0,2})/) {
+ $type = c::S_IFBLK();
+ $major = 8;
+ $minor = 16 * (ord($1) - ord('a')) + ($2 || 0);
+ } elsif (/^hd(.)(\d{0,2})/) {
+ $type = c::S_IFBLK();
+ ($major, $minor) =
+ @{ ${{'a' => [3, 0], 'b' => [3, 64],
+ 'c' => [22,0], 'd' => [22,64],
+ 'e' => [33,0], 'f' => [33,64],
+ 'g' => [34,0], 'h' => [34,64],
+ 'i' => [56,0], 'j' => [56,64],
+ 'k' => [57,0], 'l' => [57,64],
+ 'm' => [88,0], 'n' => [88,64],
+ 'o' => [89,0], 'p' => [89,64],
+ 'q' => [90,0], 'r' => [90,64],
+ 's' => [91,0], 't' => [91,64],
+ }}{$1} or internal_error("unknown device $_") };
+ $minor += $2 || 0;
+ } elsif (/^ram(.*)/) {
+ $type = c::S_IFBLK();
+ $major = 1;
+ $minor = $1 eq '' ? 1 : $1;
+ } elsif (m|^rd/c(\d+)d(\d+)(p(\d+))?|) {
+ # dac 960 "rd/cXdXXpX"
+ $type = c::S_IFBLK();
+ $major = 48 + $1;
+ $minor = 8 * $2 + $4;
+ } elsif (m,(ida|cciss)/c(\d+)d(\d+)(?:p(\d+))?,) {
+ # Compaq Smart Array "ida/c0d0{p1}"
+ $type = c::S_IFBLK();
+ $major = ($1 eq 'ida' ? 72 : 104) + $2;
+ $minor = 16 * $3 + ($4 || 0);
+ } elsif (m,(ataraid)/d(\d+)(?:p(\d+))?,) {
+ # ATA raid "ataraid/d0{p1}"
+ $type = c::S_IFBLK();
+ $major = 114;
+ $minor = 16 * $1 + ($2 || 0);
+ } elsif (my ($prefix, $nb) = /(.*?)(\d+)$/) {
+ my $f = ${{"fd" => sub { c::S_IFBLK(), 2, 0 },
+ "hidbp-mse-" => sub { c::S_IFCHR(), 10, 32 },
+ "lp" => sub { c::S_IFCHR(), 6, 0 },
+ "usb/lp" => sub { c::S_IFCHR(), 180, 0 },
+ "input/event" => sub { c::S_IFCHR(), 13, 64 },
+ "loop" => sub { c::S_IFBLK(), 7, 0 },
+ "md" => sub { c::S_IFBLK(), 9, 0 },
+ "nst" => sub { c::S_IFCHR(), 9, 128 },
+ "sr" => sub { c::S_IFBLK(), 11, 0 },
+ "tty" => sub { c::S_IFCHR(), 4, 0 },
+ "ttyS" => sub { c::S_IFCHR(), 4, 64 },
+ "ubd/" => sub { c::S_IFBLK(), 98, 0 },
+ "dm-" => sub { c::S_IFBLK(), get_dynamic_major('device-mapper'), 0 },
+ }}{$prefix} or internal_error("unknown device $prefix $nb");
+ ($type, $major, $minor) = $f->();
+ $minor += $nb;
+ }
+ unless ($type) {
+ ($type, $major, $minor) =
+ @{ ${{"aztcd" => [ c::S_IFBLK(), 29, 0 ],
+ "bpcd" => [ c::S_IFBLK(), 41, 0 ],
+ "cdu31a" => [ c::S_IFBLK(), 15, 0 ],
+ "cdu535" => [ c::S_IFBLK(), 24, 0 ],
+ "cm206cd" => [ c::S_IFBLK(), 32, 0 ],
+ "gscd" => [ c::S_IFBLK(), 16, 0 ],
+ "mcd" => [ c::S_IFBLK(), 23, 0 ],
+ "mcdx" => [ c::S_IFBLK(), 20, 0 ],
+ "mem" => [ c::S_IFCHR(), 1, 1 ],
+ "optcd" => [ c::S_IFBLK(), 17, 0 ],
+ "kbd" => [ c::S_IFCHR(), 11, 0 ],
+ "psaux" => [ c::S_IFCHR(), 10, 1 ],
+ "atibm" => [ c::S_IFCHR(), 10, 3 ],
+ "random" => [ c::S_IFCHR(), 1, 8 ],
+ "urandom" => [ c::S_IFCHR(), 1, 9 ],
+ "sbpcd" => [ c::S_IFBLK(), 25, 0 ],
+ "sjcd" => [ c::S_IFBLK(), 18, 0 ],
+ "tty" => [ c::S_IFCHR(), 5, 0 ],
+ "input/mice"
+ => [ c::S_IFCHR(), 13, 63 ],
+ "adbmouse" => [ c::S_IFCHR(), 10, 10 ], #- PPC
+ "vcsa" => [ c::S_IFCHR(), 7, 128 ],
+ "zero" => [ c::S_IFCHR(), 1, 5 ],
+ "null" => [ c::S_IFCHR(), 1, 3 ],
+
+ "initrd" => [ c::S_IFBLK(), 1, 250 ],
+ "console" => [ c::S_IFCHR(), 5, 1 ],
+ "systty" => [ c::S_IFCHR(), 4, 0 ],
+ "lvm" => [ c::S_IFBLK(), 109, 0 ],
+ }}{$_} or internal_error("unknown device $_") };
+ }
+ ($type, $major, $minor);
+}
+
+
+sub make($) {
+ local $_ = my $file = $_[0];
+
+ if (m!^(.*/dev)/(.*)!) {
+ $_ = $2;
+ } else {
+ $file =~ m|^/| && -e $file or $file = "/dev/$_";
+ }
+ -e $file and return $file; #- assume nobody takes fun at creating files named as device
+
+ my ($type, $major, $minor) = entry($_);
+
+ #- make a directory for this inode if needed.
+ mkdir_p(dirname($file));
+
+ syscall_('mknod', $file, $type | 0600, makedev($major, $minor)) or die "mknod failed (dev $_): $!";
+
+ $file;
+}
+
+sub simple_partition_scan {
+ my ($part) = @_;
+ $part->{device} =~ /([hs]d[a-z])(\d+)$/;
+}
+sub part_number {
+ my ($part) = @_;
+ (simple_partition_scan($part))[1];
+}
+sub part_prefix {
+ my ($part) = @_;
+ (simple_partition_scan($part))[0];
+}
+
+sub symlink_now_and_register {
+ my ($if_struct, $of) = @_;
+ my $if = $if_struct->{device};
+
+ #- add a specific udev script, we can't do it with a udev rule,
+ #- eg, ttySL0 is a symlink
+ output_with_perm("$::prefix/etc/udev/conf.d/$of.conf", 0755, "ln -sf $if /dev/$of\n")
+ if $of !~ /dvd|mouse/;
+
+ symlinkf($if, "$::prefix/dev/$of");
+}
+
+
+1;
diff --git a/perl-install/diskdrake/dav.pm b/perl-install/diskdrake/dav.pm
new file mode 100644
index 000000000..5d461fca3
--- /dev/null
+++ b/perl-install/diskdrake/dav.pm
@@ -0,0 +1,115 @@
+package diskdrake::dav; # $Id: dav.pm 36894 2006-06-09 12:02:46Z pixel $
+
+use diagnostics;
+use strict;
+use diskdrake::interactive;
+use common;
+
+sub main {
+ my ($in, $all_hds) = @_;
+ my $davs = $all_hds->{davs};
+
+ $in->do_pkgs->ensure_binary_is_installed('davfs2', 'mount.davfs2') or return;
+
+ my $quit;
+ do {
+ $in->ask_from_({ ok => '', messages => formatAlaTeX(
+N("WebDAV is a protocol that allows you to mount a web server's directory
+locally, and treat it like a local filesystem (provided the web server is
+configured as a WebDAV server). If you would like to add WebDAV mount
+points, select \"New\".")) },
+ [
+ (map {
+ my $dav = $_;
+ { label => $dav->{device}, val => $dav->{mntpoint}, clicked_may_quit => sub { config($in, $dav, $all_hds); 1 } } } @$davs),
+ { val => N("New"), clicked_may_quit => sub { create($in, $all_hds); 1 } },
+ { val => N("Quit"), clicked_may_quit => sub { $quit = 1 } },
+ ]);
+ } until $quit;
+
+ diskdrake::interactive::Done($in, $all_hds);
+}
+
+sub create {
+ my ($in, $all_hds) = @_;
+
+ my $dav = { fs_type => 'davfs2' };
+ ask_server($in, $dav, $all_hds) or return;
+ push @{$all_hds->{davs}}, $dav;
+ config($in, $dav, $all_hds);
+}
+
+sub config {
+ my ($in, $dav_, $all_hds) = @_;
+
+ my $dav = { %$dav_ }; #- working on a local copy so that "Cancel" works
+
+ my $action;
+ while ($action ne 'Done') {
+ my %actions = my @actions = actions($dav);
+ $action = $in->ask_from_list_('', format_dav_info($dav),
+ [ map { $_->[0] } group_by2 @actions ], 'Done') or return;
+ $actions{$action}->($in, $dav, $all_hds);
+ }
+ %$dav_ = %$dav; #- applying
+}
+
+sub actions {
+ my ($dav) = @_;
+
+ (
+ if_($dav && $dav->{isMounted}, N_("Unmount") => sub { try('Unmount', @_) }),
+ if_($dav && $dav->{mntpoint} && !$dav->{isMounted}, N_("Mount") => sub { try('Mount', @_) }),
+ N_("Server") => \&ask_server,
+ N_("Mount point") => \&mount_point,
+ N_("Options") => \&options,
+ N_("Done") => sub {},
+ );
+}
+
+sub try {
+ my ($name, $in, $dav) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ eval { $f->($in, {}, $dav) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+}
+
+sub ask_server {
+ my ($in, $dav, $_all_hds) = @_;
+
+ my $server = $dav->{device};
+ $in->ask_from_({ messages => N("Please enter the WebDAV server URL"),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ $server =~ m!https?://! or $in->ask_warn('', N("The URL must begin with http:// or https://")), return 1;
+ 0;
+ },
+ } },
+ [ { val => \$server } ]) or return;
+ $dav->{device} = $server;
+}
+
+sub options {
+ my ($in, $dav, $all_hds) = @_;
+ diskdrake::interactive::Options($in, {}, $dav, $all_hds);
+}
+sub mount_point {
+ my ($in, $dav, $all_hds) = @_;
+ my $proposition = $dav->{device} =~ /(\w+)/ ? "/mnt/$1" : "/mnt/dav";
+ diskdrake::interactive::Mount_point_raw_hd($in, $dav, $all_hds, $proposition);
+}
+
+sub format_dav_info {
+ my ($dav) = @_;
+
+ my $info = '';
+ $info .= N("Server: ") . "$dav->{device}\n" if $dav->{device};
+ $info .= N("Mount point: ") . "$dav->{mntpoint}\n" if $dav->{mntpoint};
+ $info .= N("Options: %s", $dav->{options}) if $dav->{options};
+ $info;
+}
+
+1;
diff --git a/perl-install/diskdrake/diskdrake.html b/perl-install/diskdrake/diskdrake.html
new file mode 100644
index 000000000..cba732084
--- /dev/null
+++ b/perl-install/diskdrake/diskdrake.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>DiskDrake</title>
+ </head>
+ <body bgcolor="#ffffff">
+
+<center>
+<table width=80% border=0 cellpadding=10 cellspacing=10>
+<tr>
+<td bgcolor=#ffffff>
+
+ <p>
+ <img src="images/diskdrake1-def.jpg" alt="diskdrake logo" width=400 height=100>
+ <p>
+
+ <H2>I- What's it?</H2>
+
+ The purpose of the DiskDrake project is to make easier the hard disk
+ partitionning. It is graphical, simple and powerful. The license is
+ the GPL (General Public License).
+ <BR>
+ Different skill levels will be available (newbie, advanced user, expert).
+ <BR>
+ It's written entirely in Perl and Perl/Gtk. It uses resize_fat which is
+ a perl rewrite of the work of Andrew Clausen (libresize).
+ <P>
+ DiskDrake is a project from Mandrakesoft, the company behind the popular
+ <a href="http://www.linux-mandrake.com">Linux-Mandrake</a>
+ operating-system.
+ <P>
+ A <A href="http://www.eatel.net/~john/diskdrake/faq.html">FAQ</A> is in construction.
+
+ <H2>II - What's available now</H2>
+
+ DiskDrake should be usable now...
+
+ it can:
+ <UL>
+ <LI> create partitions
+ <LI> delete partitions
+ <LI> change type of partition
+ <LI> format partitions
+ <LI> assign a mount point (<IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(21/07/99)</SMALL> propose a list
+ of classic mount points and verify the mount point is valid)
+ <LI> mount partitions
+ <LI> resize fat partitions
+ <LI> resize partitions (when not caring loosing its data)
+ <LI> clear partition table
+ <LI> auto allocation (usefull for install)
+ <LI> write fstab
+ </UL>
+
+with nice contextual menu (shortcuts available, but dangerous as all actions are
+available, whereas with the contextual menu these actions are hidden. This will
+change)
+
+ <P><IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(25/07/99)</SMALL>
+ A new Expert button appear now. It toggles between
+ expert and normal mode. Some changes in information displayed:
+ <UL>
+ <LI> when you click (or focus) the drive tab (eg: hda), you get
+ information about your drive: size, geometry
+ (cylinders/sectors/heads number), type (eg: IBM DDRS-39130D), and bus/id.
+ In normal mode you have only the size.
+ <LI> the windows drive letter (eg: C: D: ...)
+ <LI> the `start sector' information from normal mode, it still appears in
+ expert mode
+ <LI> the start&end cylinder of each partition is now displayed in expert
+ mode
+ <LI> the type is displayed numerically in expert mode
+ </UL>
+
+ <P><IMG SRC="/images/updated.gif" ALT="updated"><SMALL>(25/07/99)</SMALL>
+ The mount point in the `Create' window and `Change type' window is now a
+ combo box. It lets you choose between classical mount points (/ /usr /var
+ ...) but with already allocated mount points removed.
+
+ <H2>III - Actual developpment</H2>
+
+ We need people!!!
+
+ <UL>
+ <LI><B>Tests</B> and remove bugs (no known yet :)
+ <LI>integrate ext2resize (which has been release in version 1.0.0 <IMG
+ SRC="/images/updated.gif" ALT="updated"><SMALL>(26/07/99)</SMALL>)
+ <LI>add possibility to move partition without loosing data (by copying all
+ data) <IMG SRC="/images/updated.gif" ALT="updated">
+ <LI>Improve the look
+ <LI>Add a text-only version
+ <LI>Help text, tutorial...
+ <LI>Internationalization
+ <LI>Add some features...
+ <LI>Packaging (rpm, deb, slp...)
+ </UL>
+
+ <H2>IV- ScreenShot</H2>
+
+ Warning: features was the main focus, so don't be too hard :)
+
+ <P>
+ <CENTER><IMG SRC="1.gif"></IMG></CENTER>
+ <CENTER>DiskDrake main interface</CENTER>
+
+ <BR>
+ <CENTER><IMG SRC="3.gif"></IMG></CENTER>
+ <CENTER>create dialog box</CENTER>
+
+ <H2>V - Contacts</H2>
+
+ A Mailing List has been created to allow developpers to discuss about DiskDrake.<BR>
+
+ <P>
+ Send a mail to: <A HREF="mailto:sympa@linux-mandrake.com">sympa@linux-mandrake.com</A>
+
+ <BR>Put in the subject: subscribe diskdrake
+ <BR>When you're subscribed, send your messages to: <A HREF="mailto:diskdrake@linux-mandrake.com">diskdrake@linux-mandrake.com</A>
+
+ <P>Otherwise you can contact directly the <A HREF="mailto:pixel@linux-mandrake.com">project leader</A>.
+
+ <H2>VI - Download</H2>
+
+ Warning: You must have <a href="http://www.perl.com/CPAN/modules/by-module/Gtk/Gtk-Perl-0.5121.tar.gz">Gtk-Perl</a>.
+ You can get the rpm from the <a href="http://linux-mandrake.com/cooker/">Cooker</a> distribution.
+
+ <P>You also need perl version 5.00503 or better
+
+ <P> Here you can find the plain tgz or a rpm:
+ <a href="ftp://ftp.phys.ttu.edu/pub/mandrake-devel/contrib/others/diskdrake/">diskdrake</a> (Other mirrors in <a href="http://linux-mandrake.com/cooker/">Cooker</a>)
+
+</td>
+</tr>
+</table>
+<p>
+<a href="/en/fpowerpack.php3"><img src="/images/mandrake6.0-loop.gif" width=468 height=60 alt="Mandrake 6.0 PowerPack"></a>
+</center>
+ </body>
+ <address><a href="mailto:pixel@linux-mandrake.com"></a></address>
+</html>
diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm
new file mode 100644
index 000000000..f46f4f1b5
--- /dev/null
+++ b/perl-install/diskdrake/hd_gtk.pm
@@ -0,0 +1,415 @@
+package diskdrake::hd_gtk; # $Id: hd_gtk.pm 97952 2006-12-15 22:56:43Z blino $
+
+use diagnostics;
+use strict;
+
+use common;
+use mygtk2 qw(gtknew);
+use ugtk2 qw(:helpers :wrappers :create);
+use partition_table;
+use fs::type;
+use detect_devices;
+use diskdrake::interactive;
+use run_program;
+use devices;
+use log;
+use fsedit;
+
+my ($width, $height, $minwidth) = (400, 50, 5);
+my ($all_hds, $in, $do_force_reload, $current_kind, $current_entry, $update_all);
+my ($w, @notebook, $done_button);
+
+=begin
+
+
+=head1 SYNOPSYS
+
+struct {
+ string name # which is displayed in tab of the notebook
+ bool no_auto # wether the kind can disappear after creation
+ string type # one of { 'hd', 'raid', 'lvm', 'loopback', 'removable', 'nfs', 'smb' }
+ hd | hd_lvm | part_raid[] | part_loopback[] | raw_hd[] val
+
+ #
+ widget main_box
+ widget display_box
+ widget action_box
+ widget info_box
+} current_kind
+
+part current_entry
+
+notebook current_kind[]
+
+=cut
+
+sub main {
+ ($in, $all_hds, $do_force_reload) = @_;
+
+ @notebook = ();
+
+ local $in->{grab} = 1;
+
+ $w = ugtk2->new(N("Partitioning"), icon => 'banner-part');
+ $::main_window = $w->{real_window} if !$::isEmbedded && !$::isInstall;
+ my $rc = "/usr/share/libDrakX/diskdrake.rc";
+ -r $rc or $rc = dirname(__FILE__) . "/../diskdrake.rc";
+ -r $rc or $rc = dirname(__FILE__) . "/../share/diskdrake.rc";
+ Gtk2::Rc->parse($rc);
+
+ # TODO
+# is_empty_array_ref($all_hds->{raids}) or raid::stopAll;
+# updateLoopback();
+
+ gtkadd($w->{window},
+ gtkpack_(Gtk2::VBox->new(0,7),
+ 0, filesystems_button_box(),
+ 1, (my $notebook_widget = Gtk2::Notebook->new),
+ 0, (my $per_kind_action_box = Gtk2::HBox->new(0,0)),
+ 0, (my $general_action_box = Gtk2::HBox->new(0,0)),
+ ),
+ );
+ my $lock;
+ $update_all = sub {
+ $lock and return;
+ $lock = 1;
+ partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
+ create_automatic_notebooks($notebook_widget);
+ general_action_box($general_action_box);
+ per_kind_action_box($per_kind_action_box, $current_kind);
+ current_kind_changed($in, $current_kind);
+ current_entry_changed($current_kind, $current_entry);
+ $lock = 0;
+ };
+ create_automatic_notebooks($notebook_widget);
+
+ $notebook_widget->signal_connect(switch_page => sub {
+ $current_kind = $notebook[$_[2]];
+ $current_entry = '';
+ $update_all->();
+ });
+ $w->sync;
+ $done_button->grab_focus;
+ $in->ask_from_list_(N("Read carefully!"), N("Please make a backup of your data first"),
+ [ N_("Exit"), N_("Continue") ], N_("Continue")) eq N_("Continue") or return
+ if $::isStandalone;
+ $in->ask_warn('',
+N("If you plan to use aboot, be careful to leave a free space (2048 sectors is enough)
+at the beginning of the disk")) if arch() eq 'alpha' && !$::isEmbedded;
+
+ $w->main;
+}
+
+sub try {
+ my ($name, @args) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ try_($name, \&$f, @args);
+}
+sub try_ {
+ my ($name, $f, @args) = @_;
+
+ diskdrake::interactive::undo_prepare($all_hds) if $name ne 'Undo';
+
+ my $v = eval { $f->($in, @args, $all_hds) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ if ($v eq 'force_reload') {
+ $all_hds = $do_force_reload->();
+ }
+
+ $current_entry = '' if !diskdrake::interactive::is_part_existing($current_entry, $all_hds);
+ $update_all->();
+
+ Gtk2->main_quit if $v && member($name, 'Done');
+}
+
+################################################################################
+# generic: helpers
+################################################################################
+sub add_kind2notebook {
+ my ($notebook_widget, $kind) = @_;
+ die if $kind->{main_box};
+
+ $kind->{display_box} = gtkset_size_request(Gtk2::HBox->new(0,0), $width, $height);
+ $kind->{action_box} = gtkset_size_request(Gtk2::VBox->new(0,0), $::isStandalone ? 165 : 150, $::isEmbedded ? 150 : 180);
+ $kind->{info_box} = Gtk2::VBox->new(0,0);
+ $kind->{main_box} =
+ gtkpack_(Gtk2::VBox->new(0,7),
+ 0, $kind->{display_box},
+ 1, gtkpack_(Gtk2::HBox->new(0,7),
+ 0, $kind->{action_box},
+ 1, $kind->{info_box}));
+ ugtk2::add2notebook($notebook_widget, $kind->{name}, $kind->{main_box});
+ push @notebook, $kind;
+ $kind;
+}
+
+sub interactive_help {
+ my ($in) = @_;
+ if ($::isInstall) {
+ $in->interactive_help_sub_display_id('partition_with_diskdrake');
+ } else {
+ require run_program;
+ run_program::raw({ detach => 1 }, 'drakhelp', '--id', 'diskdrake');
+ }
+}
+
+sub general_action_box {
+ my ($box) = @_;
+ $_->destroy foreach $box->get_children;
+
+ gtkadd($box, gtksignal_connect(Gtk2::Button->new(N("Help")), clicked => \&interactive_help));
+
+ my @actions = (
+ diskdrake::interactive::general_possible_actions($in, $all_hds),
+ N_("Done"));
+ foreach my $s (@actions) {
+ my $button = Gtk2::Button->new(translate($s));
+ $done_button = $button if $s eq 'Done';
+ gtkadd($box, gtksignal_connect($button, clicked => sub { try($s) }));
+ }
+}
+sub per_kind_action_box {
+ my ($box, $kind) = @_;
+ $_->destroy foreach $box->get_children;
+
+ $kind->{type} =~ /hd|lvm/ or return;
+
+ foreach my $s (diskdrake::interactive::hd_possible_actions($in, kind2hd($kind), $all_hds)) {
+ gtkadd($box,
+ gtksignal_connect(Gtk2::Button->new(translate($s)),
+ clicked => sub { try($s, kind2hd($kind)) }));
+ }
+}
+sub per_entry_action_box {
+ my ($box, $kind, $entry) = @_;
+ $_->destroy foreach $box->get_children;
+
+ if ($entry) {
+ my @buttons = map {
+ my $s = $_;
+ my $w = Gtk2::Button->new(translate($s));
+ $w->signal_connect(clicked => sub { try($s, kind2hd($kind), $entry) });
+ $w;
+ } diskdrake::interactive::part_possible_actions($in, kind2hd($kind), $entry, $all_hds);
+
+ gtkadd($box, gtkadd(Gtk2::Frame->new(N("Choose action")),
+ create_scrolled_window(gtkpack__(Gtk2::VBox->new(0,0), @buttons)))) if @buttons;
+ } else {
+ my $txt = !$::isStandalone && fsedit::is_one_big_fat_or_NT($all_hds->{hds}) ?
+N("You have one big Microsoft Windows partition.
+I suggest you first resize that partition
+(click on it, then click on \"Resize\")") : N("Please click on a partition");
+ gtkpack($box, gtktext_insert(Gtk2::TextView->new, $txt));
+ }
+}
+
+sub per_entry_info_box {
+ my ($box, $kind, $entry) = @_;
+ $_->destroy foreach $box->get_children;
+ my $info;
+ if ($entry) {
+ $info = diskdrake::interactive::format_part_info(kind2hd($kind), $entry);
+ } elsif ($kind->{type} =~ /hd|lvm/) {
+ $info = diskdrake::interactive::format_hd_info($kind->{val});
+ }
+ gtkpack($box, gtkadd(gtkcreate_frame(N("Details")),
+ gtknew('HBox', border_width => 5, children_loose => [
+ gtkset_alignment(gtkset_justify(Gtk2::Label->new($info), 'left'), 0, 0) ])));
+}
+
+sub current_kind_changed {
+ my ($_in, $kind) = @_;
+
+ $_->destroy foreach $kind->{display_box}->get_children;
+
+ my $v = $kind->{val};
+ my @parts =
+ $kind->{type} eq 'raid' ? grep { $_ } @$v :
+ $kind->{type} eq 'loopback' ? @$v : fs::get::hds_fstab_and_holes($v);
+ my $totalsectors =
+ $kind->{type} =~ /raid|loopback/ ? sum(map { $_->{size} } @parts) : $v->{totalsectors};
+ create_buttons4partitions($kind, $totalsectors, @parts);
+}
+
+sub current_entry_changed {
+ my ($kind, $entry) = @_;
+ $current_entry = $entry;
+ if ($kind) {
+ per_entry_action_box($kind->{action_box}, $kind, $entry);
+ per_entry_info_box($kind->{info_box}, $kind, $entry);
+ }
+}
+
+sub create_automatic_notebooks {
+ my ($notebook_widget) = @_;
+
+ $_->{marked} = 0 foreach @notebook;
+ my $may_add = sub {
+ my ($kind) = @_;
+ my @l = grep { $kind->{val} == $_->{val} } @notebook;
+ @l > 1 and log::l("weird: create_automatic_notebooks");
+ $kind = $l[0] || add_kind2notebook($notebook_widget, $kind);
+ $kind->{marked} = 1;
+ };
+ $may_add->(hd2kind($_)) foreach @{$all_hds->{hds}};
+ $may_add->(lvm2kind($_)) foreach @{$all_hds->{lvms}};
+ $may_add->(raid2kind()) if @{$all_hds->{raids}};
+ $may_add->(loopback2kind()) if @{$all_hds->{loopbacks}};
+
+ @notebook = grep_index {
+ my $b = $_->{marked} or $notebook_widget->remove_page($::i);
+ $b;
+ } @notebook;
+ @notebook or die N("No hard drives found");
+}
+
+################################################################################
+# parts: helpers
+################################################################################
+sub create_buttons4partitions {
+ my ($kind, $totalsectors, @parts) = @_;
+
+ $width = max($width, 0.9 * second($w->{window}->window->get_size)) if $w->{window}->window;
+
+ my $ratio = $totalsectors ? ($width - @parts * $minwidth) / $totalsectors : 1;
+ while (1) {
+ my $totalwidth = sum(map { $_->{size} * $ratio + $minwidth } @parts);
+ $totalwidth <= $width and last;
+ $ratio /= $totalwidth / $width * 1.1;
+ }
+
+ my $current_button;
+ my $set_current_button = sub {
+ my ($w) = @_;
+ $current_button->set_active(0) if $current_button;
+ ($current_button = $w)->set_active(1);
+ };
+
+ foreach my $entry (@parts) {
+ my $info = $entry->{mntpoint};
+ $info .= "\n" . ($entry->{size} ? formatXiB($entry->{size}, 512) : N("Unknown")) if $info;
+ my $w = Gtk2::ToggleButton->new_with_label($info) or internal_error('new_with_label');
+ $w->signal_connect(clicked => sub {
+ $current_button != $w or return;
+ current_entry_changed($kind, $entry);
+ $set_current_button->($w);
+ });
+ $w->signal_connect(key_press_event => sub {
+ my (undef, $event) = @_;
+ member('control-mask', @{$event->state}) && $w == $current_button or return;
+ my $c = chr $event->keyval;
+
+ foreach my $s (diskdrake::interactive::part_possible_actions($in, kind2hd($kind), $entry, $all_hds)) {
+ ${{
+ Create => 'c', Delete => 'd', Format => 'f',
+ Loopback => 'l', Resize => 'r', Type => 't',
+ Mount => 'M', Unmount => 'u', 'Mount point' => 'm',
+ 'Add to LVM' => 'L', 'Remove from LVM' => 'L',
+ 'Add to RAID' => 'R', 'Remove from RAID' => 'R',
+ }}{$s} eq $c or next;
+
+ try($s, kind2hd($kind), $entry);
+ last;
+ }
+ });
+ $w->set_name("PART_" . fs::type::part2type_name($entry));
+ $w->set_size_request($entry->{size} * $ratio + $minwidth, 0);
+ gtkpack__($kind->{display_box}, $w);
+ if ($current_entry && fsedit::are_same_partitions($current_entry, $entry)) {
+ $set_current_button->($w);
+ $w->grab_focus;
+ }
+ }
+}
+
+
+################################################################################
+# disks: helpers
+################################################################################
+sub current_hd() {
+ $current_kind->{type} eq 'hd' or die 'current_hd called but $current_kind is not an hd';
+ $current_kind->{val};
+}
+sub current_part() {
+ current_hd();
+ $current_entry;
+}
+
+sub kind2hd {
+ my ($kind) = @_;
+ $kind->{type} =~ /hd|lvm/ ? $kind->{val} : {};
+}
+
+sub hd2kind {
+ my ($hd) = @_;
+ { type => 'hd', name => $hd->{device}, val => $hd };
+}
+
+sub filesystems_button_box() {
+ my @types = (N_("Ext2"), N_("Journalised FS"), N_("Swap"), arch() =~ /sparc/ ? N_("SunOS") : arch() eq "ppc" ? N_("HFS") : N_("Windows"),
+ N_("Other"), N_("Empty"));
+ my %name2fs_type = (Ext2 => 'ext2', 'Journalised FS' => 'ext3', Swap => 'swap', Other => 'other', "Windows" => 'vfat', HFS => 'hfs');
+
+ gtkpack(Gtk2::HBox->new(0,0),
+ N("Filesystem types:"),
+ map { my $w = Gtk2::Button->new(translate($_));
+ my $t = $name2fs_type{$_};
+ $w->signal_connect(clicked => sub { try_('', \&createOrChangeType, $t, current_hd(), current_part()) });
+ $w->can_focus(0);
+ $w->set_name($_);
+ $w;
+ } @types);
+}
+
+sub createOrChangeType {
+ my ($in, $fs_type, $hd, $part, $all_hds) = @_;
+
+ $part ||= !fs::get::hds_fstab($hd) &&
+ { pt_type => 0, start => 1, size => $hd->{totalsectors} - 1 };
+ $part or return;
+ if ($fs_type eq 'other') {
+ if (isEmpty($part)) {
+ try('Create', $hd, $part);
+ } else {
+ try('Type', $hd, $part);
+ }
+ } elsif (!$fs_type) {
+ if (isEmpty($part)) {
+ $in->ask_warn(N("Warning"), N("This partition is already empty"));
+ } else {
+ try('Delete', $hd, $part);
+ }
+ } elsif (isEmpty($part)) {
+ fs::type::set_fs_type($part, $fs_type);
+ diskdrake::interactive::Create($in, $hd, $part, $all_hds);
+ } else {
+ return if $fs_type eq $part->{fs_type};
+ $in->ask_warn('', isBusy($part) ? N("Use ``Unmount'' first") : N("Use ``%s'' instead", N("Type")));
+ }
+}
+
+################################################################################
+# lvms: helpers
+################################################################################
+sub lvm2kind {
+ my ($lvm) = @_;
+ { type => 'lvm', name => $lvm->{VG_name}, val => $lvm };
+}
+
+################################################################################
+# raids: helpers
+################################################################################
+sub raid2kind() {
+ { type => 'raid', name => 'raid', val => $all_hds->{raids} };
+}
+
+################################################################################
+# loopbacks: helpers
+################################################################################
+sub loopback2kind() {
+ { type => 'loopback', name => 'loopback', val => $all_hds->{loopbacks} };
+}
+
+1;
diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm
new file mode 100644
index 000000000..364c95842
--- /dev/null
+++ b/perl-install/diskdrake/interactive.pm
@@ -0,0 +1,1411 @@
+package diskdrake::interactive; # $Id: interactive.pm 147413 2007-03-21 16:50:10Z pixel $
+
+use diagnostics;
+use strict;
+use utf8;
+
+use common;
+use fs::type;
+use fs::loopback;
+use fs::format;
+use fs::mount_options;
+use fs;
+use partition_table;
+use partition_table::raw;
+use detect_devices;
+use run_program;
+use devices;
+use fsedit;
+use raid;
+use any;
+use log;
+
+
+=begin
+
+=head1 SYNOPSYS
+
+struct part {
+ int active # one of { 0 | 0x80 } x86 only, primary only
+ int start # in sectors
+ int size # in sectors
+ int pt_type # 0x82, 0x83, 0x6 ...
+ string fs_type # 'ext2', 'nfs', ...
+
+ int part_number # 1 for hda1...
+ string device # 'hda5', 'sdc1' ...
+ string device_LABEL # volume label. LABEL=xxx or /dev/disk/by-label/xxx can be used in fstab instead of the device
+ bool prefer_device_LABEL # should the {device_LABEL} or the {device} be used in fstab
+ bool faked_device # false if {device} is a real device, true for nfs/smb/dav/none devices. If the field does not exist, we do not know
+
+ string rootDevice # 'sda', 'hdc' ... (can also be a VG_name)
+ string real_mntpoint # directly on real /, '/tmp/hdimage' ...
+ string mntpoint # '/', '/usr' ...
+ string options # 'defaults', 'noauto'
+ string device_windobe # 'C', 'D' ...
+ string encrypt_key # [0-9A-Za-z./]{20,}
+ string comment # comment to have in fstab
+ string volume_label #
+
+ bool is_removable # is the partition on a removable drive
+ bool isMounted
+
+ bool isFormatted
+ bool notFormatted
+ # isFormatted means the device is formatted
+ # !isFormatted && notFormatted means the device is not formatted
+ # !isFormatted && !notFormatted means we do not know which state we're in
+
+ string raid # for partitions of type isRawRAID and which isPartOfRAID, the raid device
+ string lvm # partition used as a PV for the VG with {lvm} as VG_name #-#
+ loopback loopback[] # loopback living on this partition
+
+ # internal
+ string real_device # '/dev/loop0', '/dev/loop1' ... (used for encrypted loopback)
+
+ # internal CHS (Cylinder/Head/Sector)
+ int start_cyl, start_head, start_sec, end_cyl, end_head, end_sec,
+}
+
+struct part_allocate inherits part {
+ int maxsize # in sectors (alike "size")
+ int ratio #
+ string hd # 'hda', 'hdc'
+ string parts # for creating raid partitions. eg: 'foo bar' where 'foo' and 'bar' are mntpoint
+}
+
+struct part_raid inherits part {
+ string chunk-size # in KiB, usually '64'
+ string level # one of { 0, 1, 4, 5, 'linear' }
+ string UUID
+
+ part disks[]
+
+ # invalid: active, start, rootDevice, device_windobe?, CHS
+}
+
+struct part_loopback inherits part {
+ string loopback_file # absolute file name which is relative to the partition
+ part loopback_device # where the loopback file live
+
+ # device is special here: it is the absolute filename of the loopback file.
+
+ # invalid: active, start, rootDevice, device_windobe, CHS
+}
+
+struct part_lvm inherits part {
+ # invalid: active, start, device_windobe, CHS
+ string lv_name
+}
+
+
+struct partition_table_elem {
+ part normal[] #
+ part extended # the main/next extended
+ part raw[4] # primary partitions
+}
+
+struct geom {
+ int heads
+ int sectors
+ int cylinders
+ int totalcylinders # for SUN, forget it
+ int start # always 0, forget it
+}
+
+struct hd {
+ int totalsectors # size in sectors
+ string device # 'hda', 'sdc' ...
+ string device_alias # 'cdrom', 'floppy' ...
+ string media_type # one of { 'hd', 'cdrom', 'fd', 'tape' }
+ string capacity # contain of the strings of { 'burner', 'DVD' }
+ string info # name of the hd, eg: 'QUANTUM ATLAS IV 9 WLS'
+
+ bool readonly # is it allowed to modify the partition table
+ bool getting_rid_of_readonly_allowed # is it forbidden to write because the partition table is badly handled, or is it because we MUST not change the partition table
+ bool isDirty # does it need to be written to the disk
+ list will_tell_kernel # list of actions to tell to the kernel so that it knows the new partition table
+ bool hasBeenDirty # for undo
+ bool rebootNeeded # happens when a kernel reread failed
+ list partitionsRenumbered # happens when you
+ # - remove an extended partition which is not the last one
+ # - add an extended partition which is the first extended partition
+ list allPartitionsRenumbered # used to update bootloader configuration
+ int bus, id
+
+ partition_table_elem primary
+ partition_table_elem extended[]
+
+ geom geom
+
+ # internal
+ string prefix # for some RAID arrays device=>c0d0 and prefix=>c0d0p
+ string file # '/dev/hda' ...
+}
+
+struct hd_lvm inherits hd {
+ int PE_size # block size (granularity, similar to cylinder size on x86)
+ string VG_name # VG name
+
+ part_lvm disks[]
+
+ # invalid: bus, id, extended, geom
+}
+
+struct raw_hd inherits hd {
+ string fs_type # 'ext2', 'nfs', ...
+ string mntpoint # '/', '/usr' ...
+ string options # 'defaults', 'noauto'
+
+ # invalid: isDirty, will_tell_kernel, hasBeenDirty, rebootNeeded, primary, extended
+}
+
+struct all_hds {
+ hd hds[]
+ hd_lvm lvms[]
+ part_raid raids[]
+ part_loopback loopbacks[]
+ raw_hd raw_hds[]
+ raw_hd nfss[]
+ raw_hd smbs[]
+ raw_hd davs[]
+ raw_hd special[]
+
+ # internal: if fstab_to_string($all_hds) eq current_fstab then no need to save
+ string current_fstab
+}
+
+
+=cut
+
+
+sub main {
+ my ($in, $all_hds, $do_force_reload) = @_;
+
+ if ($in->isa('interactive::gtk')) {
+ require diskdrake::hd_gtk;
+ goto &diskdrake::hd_gtk::main;
+ }
+
+ my ($current_part, $current_hd);
+
+ while (1) {
+ my $choose_txt = $current_part ? N_("Choose another partition") : N_("Choose a partition");
+ my $parts_and_holes = [ fs::get::fstab_and_holes($all_hds) ];
+ my $choose_part = sub {
+ $current_part = $in->ask_from_listf('diskdrake', translate($choose_txt),
+ sub {
+ my $hd = fs::get::part2hd($_[0] || return, $all_hds);
+ format_part_info_short($hd, $_[0]);
+ }, $parts_and_holes, $current_part) || return;
+ $current_hd = fs::get::part2hd($current_part, $all_hds);
+ };
+
+ $choose_part->() if !$current_part;
+ return if !$current_part;
+
+ my %actions = my @actions = (
+ if_($current_part,
+ (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $current_part, $all_hds) } } part_possible_actions($in, $current_hd, $current_part, $all_hds)),
+ '____________________________' => sub {},
+ ),
+ if_(@$parts_and_holes > 1, $choose_txt => $choose_part),
+ if_($current_hd,
+ (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $current_hd, $all_hds) } } hd_possible_actions_interactive($in, $current_hd, $all_hds)),
+ ),
+ (map { my $s = $_; $_ => sub { $diskdrake::interactive::{$s}($in, $all_hds) } } general_possible_actions($in, $all_hds)),
+ );
+ my ($actions) = list2kv(@actions);
+ my $a;
+ if ($current_part) {
+ $in->ask_from_({
+ cancel => N("Exit"),
+ title => 'diskdrake',
+ messages => format_part_info($current_hd, $current_part),
+ },
+ [ { val => \$a, list => $actions, format => \&translate, type => 'list', sort => 0, gtk => { use_boxradio => 0 } } ]) or last;
+ my $v = eval { $actions{$a}() };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ if ($v eq 'force_reload') {
+ $all_hds = $do_force_reload->();
+ }
+ $current_hd = $current_part = '' if !is_part_existing($current_part, $all_hds);
+ } else {
+ $choose_part->();
+ }
+ partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
+ }
+ return if eval { Done($in, $all_hds) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ goto &main;
+}
+
+
+
+
+################################################################################
+# general actions
+################################################################################
+sub general_possible_actions {
+ my ($_in, $_all_hds) = @_;
+ N_("Undo"), ($::expert ? N_("Toggle to normal mode") : N_("Toggle to expert mode"));
+}
+
+
+sub Undo {
+ my ($_in, $all_hds) = @_;
+ undo($all_hds);
+}
+
+sub Done {
+ my ($in, $all_hds) = @_;
+ eval { raid::verify($all_hds->{raids}) };
+ if (my $err = $@) {
+ $::expert or die;
+ $in->ask_okcancel(N("Confirmation"), [ formatError($err), N("Continue anyway?") ]) or return;
+ }
+ foreach (@{$all_hds->{hds}}) {
+ if (!write_partitions($in, $_, 'skip_check_rebootNeeded')) {
+ return if !$::isStandalone;
+ $in->ask_yesorno(N("Quit without saving"), N("Quit without writing the partition table?"), 1) or return;
+ }
+ }
+ if (!$::isInstall) {
+ my $new = fs::fstab_to_string($all_hds);
+ if ($new ne $all_hds->{current_fstab} && $in->ask_yesorno(N("Confirmation"), N("Do you want to save /etc/fstab modifications"), 1)) {
+ $all_hds->{current_fstab} = $new;
+ fs::write_fstab($all_hds);
+ }
+ update_bootloader_for_renumbered_partitions($in, $all_hds);
+
+ if (any { $_->{rebootNeeded} } @{$all_hds->{hds}}) {
+ $in->ask_warn(N("Partitioning"), N("You need to reboot for the partition table modifications to take place"), icon => 'banner-part');
+ tell_wm_and_reboot();
+ }
+ }
+ if (my $part = find { $_->{mntpoint} && !maybeFormatted($_) } fs::get::fstab($all_hds)) {
+ $in->ask_okcancel(N("Warning"), N("You should format partition %s.
+Otherwise no entry for mount point %s will be written in fstab.
+Quit anyway?", $part->{device}, $part->{mntpoint})) or return if $::isStandalone;
+ }
+ 1;
+}
+
+################################################################################
+# per-hd actions
+################################################################################
+sub hd_possible_actions {
+ my ($_in, $hd, $_all_hds) = @_;
+ (
+ if_(!$hd->{readonly} || $hd->{getting_rid_of_readonly_allowed}, N_("Clear all")),
+ if_(!$hd->{readonly} && $::isInstall, N_("Auto allocate")),
+ N_("More"),
+ );
+}
+sub hd_possible_actions_interactive {
+ my ($_in, $_hd, $_all_hds) = @_;
+ &hd_possible_actions, N_("Hard drive information");
+}
+
+sub Clear_all {
+ my ($in, $hd, $all_hds) = @_;
+ return if detect_devices::is_xbox(); #- do not let them wipe the OS
+ my @parts = partition_table::get_normal_parts($hd);
+ foreach (@parts) {
+ RemoveFromLVM($in, $hd, $_, $all_hds) if isPartOfLVM($_);
+ RemoveFromRAID($in, $hd, $_, $all_hds) if isPartOfRAID($_);
+ }
+ if (isLVM($hd)) {
+ lvm::lv_delete($hd, $_) foreach @parts;
+ } else {
+ $hd->{readonly} = 0; #- give a way out of readonly-ness. only allowed when getting_rid_of_readonly_allowed
+ $hd->{getting_rid_of_readonly_allowed} = 0;
+ partition_table::raw::zero_MBR_and_dirty($hd);
+ }
+}
+
+sub Auto_allocate {
+ my ($in, $hd, $all_hds) = @_;
+ my $suggestions = partitions_suggestions($in) or return;
+
+ my %all_hds_ = %$all_hds;
+ $all_hds_{hds} = [ sort { $a == $hd ? -1 : 1 } fs::get::hds($all_hds) ];
+
+ eval { fsedit::auto_allocate(\%all_hds_, $suggestions) };
+ if ($@) {
+ $@ =~ /partition table already full/ or die;
+
+ $in->ask_warn("", [
+ N("All primary partitions are used"),
+ N("I can not add any more partitions"),
+ N("To have more partitions, please delete one to be able to create an extended partition"),
+ ]);
+ }
+}
+
+sub More {
+ my ($in, $hd) = @_;
+
+ my %automounting = (
+ 0 => N("No supermount"),
+ 1 => N("Supermount"),
+ magicdev => N("Supermount except for CDROM drives"),
+ );
+
+ my $r;
+ $in->ask_from(N("More"), '',
+ [
+ { val => N("Save partition table"), clicked_may_quit => sub { SaveInFile($in, $hd); 1 } },
+ { val => N("Restore partition table"), clicked_may_quit => sub { ReadFromFile($in, $hd); 1 } },
+ { val => N("Rescue partition table"), clicked_may_quit => sub { Rescuept($in, $hd); 1 } },
+ if_($::isInstall,
+ { val => N("Reload partition table"), clicked_may_quit => sub { $r = 'force_reload'; 1 } }),
+ if_($::isInstall || 1,
+ { label => N("Removable media automounting"), val => \$::o->{useSupermount},
+ format => sub { $automounting{$_[0]} },
+ list => [ 0, 'magicdev', 1 ], advanced => 1 },
+ ),
+ ],
+ ) && $r;
+}
+
+sub ReadFromFile {
+ my ($in, $hd) = @_;
+
+ my ($h, $file, $fh);
+ if ($::isStandalone) {
+ $file = $in->ask_filename({ title => N("Select file") }) or return;
+ } else {
+ undef $h; #- help perl_checker
+ my $name = $hd->{device}; $name =~ s!/!_!g;
+ ($h, $fh) = install::any::media_browser($in, '', "part_$name") or return;
+ }
+
+ eval {
+ catch_cdie { partition_table::load($hd, $file || $fh) }
+ sub {
+ $@ =~ /bad totalsectors/ or return;
+ $in->ask_yesorno(N("Warning"),
+N("The backup partition table has not the same size
+Still continue?"), 0);
+ };
+ };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+}
+
+sub SaveInFile {
+ my ($in, $hd) = @_;
+
+ my ($h, $file) = ('', '');
+ if ($::isStandalone) {
+ $file = $in->ask_filename({ save => 1, title => N("Select file") }) or return;
+ } else {
+ undef $h; #- help perl_checker
+ my $name = $hd->{device}; $name =~ s!/!_!g;
+ ($h, $file) = install::any::media_browser($in, 'save', "part_$name") or return;
+ }
+
+ eval { partition_table::save($hd, $file) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+}
+
+sub Rescuept {
+ my ($in, $hd) = @_;
+ my $_w = $in->wait_message(N("Please wait"), N("Trying to rescue partition table"));
+ fsedit::rescuept($hd);
+}
+
+sub Hd_info {
+ my ($in, $hd) = @_;
+ $in->ask_warn(N("Warning"), [ N("Detailed information"), format_hd_info($hd) ]);
+}
+
+################################################################################
+# per-part actions
+################################################################################
+
+sub part_possible_actions {
+ my ($_in, $hd, $part, $all_hds) = @_;
+ $part or return;
+
+ my %actions = my @l = (
+ N_("Mount point") => '$part->{real_mntpoint} || (!isBusy && !isSwap && !isNonMountable)',
+ N_("Type") => '!isBusy && $::expert && (!readonly || $part->{pt_type} == 0x83)',
+ N_("Options") => '!isSwap($part) && !isNonMountable && $::expert',
+ N_("Label") => '!isNonMountable && $::expert',
+ N_("Resize") => '!isBusy && !readonly && !isSpecial || isLVM($hd) && LVM_resizable',
+ N_("Format") => '!isBusy && !readonly && ($::expert || $::isStandalone)',
+ N_("Mount") => '!isBusy && (hasMntpoint || isSwap) && maybeFormatted && ($::expert || $::isStandalone)',
+ N_("Add to RAID") => '!isBusy && isRawRAID && (!isSpecial || isRAID)',
+ N_("Add to LVM") => '!isBusy && isRawLVM',
+ N_("Unmount") => '!$part->{real_mntpoint} && isMounted',
+ N_("Delete") => '!isBusy && !readonly',
+ N_("Remove from RAID") => 'isPartOfRAID',
+ N_("Remove from LVM") => 'isPartOfLVM',
+ N_("Modify RAID") => 'canModifyRAID',
+ N_("Use for loopback") => '!$part->{real_mntpoint} && isMountableRW && !isSpecial && hasMntpoint && $::expert',
+ );
+ my ($actions_names) = list2kv(@l);
+ my $_all_hds = $all_hds; #- help perl_checker know the $all_hds *is* used in the macro below
+ my %macros = (
+ readonly => '$hd->{readonly}',
+ hasMntpoint => '$part->{mntpoint}',
+ LVM_resizable => '$part->{fs_type} eq "reiserfs" || (isMounted ? $part->{fs_type} eq "xfs" : $part->{fs_type} eq "ext3")',
+ canModifyRAID => 'isPartOfRAID($part) && !isMounted(fs::get::device2part($part->{raid}, $all_hds->{raids}))',
+ );
+ if (isEmpty($part)) {
+ if_(!$hd->{readonly}, N_("Create"));
+ } elsif ($part->{pt_type} == 0xbf && detect_devices::is_xbox()) {
+ #- XBox OS partitions, do not allow anything
+ return;
+ } else {
+ grep {
+ my $cond = $actions{$_};
+ while (my ($k, $v) = each %macros) {
+ $cond =~ s/$k/qq(($v))/e;
+ }
+ $cond =~ s/(^|[^:\$]) \b ([a-z]\w{3,}) \b ($|[\s&\)])/$1 . $2 . '($part)' . $3/exg;
+ eval $cond;
+ } @$actions_names;
+ }
+}
+
+#- in case someone use diskdrake only to create partitions,
+#- ie without assigning a mount point,
+#- do not suggest mount points anymore
+my $do_suggest_mount_point = 1;
+
+sub Create {
+ my ($in, $hd, $part, $all_hds) = @_;
+ my ($def_start, $def_size, $max) = ($part->{start}, $part->{size}, $part->{start} + $part->{size});
+
+ $part->{maxsize} = $part->{size}; $part->{size} = 0;
+ if (fsedit::suggest_part($part, $all_hds)) {
+ $part->{mntpoint} = '' if !$do_suggest_mount_point;
+ } else {
+ $part->{size} = $part->{maxsize};
+ fs::type::suggest_fs_type($part, 'ext3');
+ }
+ if (isLVM($hd)) {
+ lvm::suggest_lv_name($hd, $part);
+ }
+
+ #- update adjustment for start and size, take into account the minimum partition size
+ #- including one less sector for start due to a capacity to increase the adjustement by
+ #- one.
+ my ($primaryOrExtended, $migrate_files);
+ my $type_name = fs::type::part2type_name($part);
+ my $mb_size = $part->{size} >> 11;
+ my $has_startsector = ($::expert || arch() !~ /i.86/) && !isLVM($hd);
+
+ $in->ask_from(N("Create a new partition"), '',
+ [
+ { label => N("Create a new partition"), title => 1 },
+ if_($has_startsector,
+ { label => N("Start sector: "), val => \$part->{start}, min => $def_start, max => ($max - min_partition_size($hd)),
+ type => 'range', SpinButton => $::expert, changed => sub { $mb_size = min($mb_size, ($max - $part->{start}) >> 11) } },
+ ),
+ { label => N("Size in MB: "), val => \$mb_size, min => min_partition_size($hd) >> 11, max => $def_size >> 11,
+ type => 'range', SpinButton => $::expert, changed => sub { $part->{start} = min($part->{start}, $max - ($mb_size << 11)) } },
+ { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert) ],
+ sort => 0, if_($::expert, gtk => { wrap_width => 4 }) },
+ { label => N("Mount point: "), val => \$part->{mntpoint}, list => [ fsedit::suggestions_mntpoint($all_hds), '' ],
+ disabled => sub { my $p = fs::type::type_name2subpart($type_name); isSwap($p) || isNonMountable($p) }, type => 'combo', not_edit => 0,
+ },
+ if_($::expert && $hd->hasExtended,
+ { label => N("Preference: "), val => \$primaryOrExtended, list => [ '', "Extended", "Primary", if_($::expert, "Extended_0x85") ] },
+ ),
+ if_($::expert && isLVM($hd),
+ { label => N("Logical volume name "), val => \$part->{lv_name}, list => [ qw(root swap usr home var), '' ], sort => 0, not_edit => 0 },
+ ),
+ ], complete => sub {
+ $part->{size} = from_Mb($mb_size, min_partition_size($hd), $max - $part->{start}); #- need this to be able to get back the approximation of using MB
+ put_in_hash($part, fs::type::type_name2subpart($type_name));
+ $do_suggest_mount_point = 0 if !$part->{mntpoint};
+ $part->{mntpoint} = '' if isNonMountable($part);
+ $part->{mntpoint} = 'swap' if isSwap($part);
+ fs::mount_options::set_default($part, ignore_is_removable => 1);
+
+ check($in, $hd, $part, $all_hds) or return 1;
+ $migrate_files = need_migration($in, $part->{mntpoint}) or return 1;
+
+ my $seen;
+ eval {
+ catch_cdie { fsedit::add($hd, $part, $all_hds, { force => 1, primaryOrExtended => $primaryOrExtended }) }
+ sub { $seen = 1; $in->ask_okcancel('', formatError($@)) };
+ };
+ if (my $err = $@) {
+ if ($err =~ /raw_add/ && $hd->hasExtended && !$hd->{primary}{extended}) {
+ $in->ask_warn(N("Error"), N("You can not create a new partition
+(since you reached the maximal number of primary partitions).
+First remove a primary partition and create an extended partition."));
+ return 0;
+ } else {
+ $in->ask_warn(N("Error"), formatError($err)) if !$seen;
+ return 1;
+ }
+ }
+ 0;
+ },
+ ) or return;
+
+ warn_if_renumbered($in, $hd);
+
+ if ($migrate_files eq 'migrate') {
+ format_($in, $hd, $part, $all_hds) or return;
+ migrate_files($in, $hd, $part);
+ fs::mount::part($part);
+ }
+}
+
+sub Delete {
+ my ($in, $hd, $part, $all_hds) = @_;
+ if (isRAID($part)) {
+ raid::delete($all_hds->{raids}, $part);
+ } elsif (isLVM($hd)) {
+ lvm::lv_delete($hd, $part);
+ } elsif (isLoopback($part)) {
+ my $f = "$part->{loopback_device}{mntpoint}$part->{loopback_file}";
+ if (-e $f && $in->ask_yesorno(N("Warning"), N("Remove the loopback file?"))) {
+ unlink $f;
+ }
+ my $l = $part->{loopback_device}{loopback};
+ @$l = grep { $_ != $part } @$l;
+ delete $part->{loopback_device}{loopback} if @$l == 0;
+ fsedit::recompute_loopbacks($all_hds);
+ } else {
+ if (arch() =~ /ppc/) {
+ undef $partition_table::mac::bootstrap_part if isAppleBootstrap($part) && ($part->{device} = $partition_table::mac::bootstrap_part);
+ }
+ partition_table::remove($hd, $part);
+ warn_if_renumbered($in, $hd);
+ }
+}
+
+sub Type {
+ my ($in, $hd, $part) = @_;
+
+ my $warned;
+ my $warn = sub {
+ $warned = 1;
+ ask_alldatawillbelost($in, $part, N_("After changing type of partition %s, all data on this partition will be lost"));
+ };
+
+ #- for ext2, warn after choosing as ext2->ext3 can be achieved without loosing any data :)
+ $part->{fs_type} eq 'ext2' || $part->{fs_type} =~ /ntfs/ or $warn->() or return;
+
+ my @types = fs::type::type_names($::expert);
+
+ #- when readonly, Type() is allowed only when changing {fs_type} but not {pt_type}
+ #- eg: switching between ext2, ext3, reiserfs...
+ @types = grep { fs::type::type_name2pt_type($_) == $part->{pt_type} } @types if $hd->{readonly};
+
+ my $type_name = fs::type::part2type_name($part);
+ $in->ask_from_({ title => N("Change partition type") },
+ [
+ { label => N("Which filesystem do you want?"), title => 1 },
+ { label => N("Type"), val => \$type_name, list => \@types, sort => 0,
+ focus => sub { 1 }, not_edit => 1, gtk => { wrap_width => 4 } } ]) or return;
+
+ my $type = $type_name && fs::type::type_name2subpart($type_name);
+
+ if (member($type->{fs_type}, 'ext2', 'ext3')) {
+ my $_w = $in->wait_message(N("Please wait"), N("Switching from ext2 to ext3"));
+ if (run_program::run("tune2fs", "-j", devices::make($part->{device}))) {
+ put_in_hash($part, $type);
+ set_isFormatted($part, 1); #- assume that if tune2fs works, partition is formatted
+
+ #- disable the fsck (do not do it together with -j in case -j fails?)
+ fs::format::disable_forced_fsck($part->{device});
+ return;
+ }
+ } elsif ($type->{fs_type} =~ /ntfs/ && $part->{fs_type} =~ /ntfs/) {
+ if ($type->{fs_type} eq 'ntfs-3g') {
+ $in->do_pkgs->ensure_binary_is_installed('ntfs-3g', 'mount.ntfs-3g') or return;
+ }
+ put_in_hash($part, $type);
+ return;
+ }
+ #- either we switch to non-ext3 or switching losslessly to ext3 failed
+ $warned or $warn->() or return;
+
+ if (defined $type) {
+ check_type($in, $type, $hd, $part) and fsedit::change_type($type, $hd, $part);
+ }
+}
+
+sub Label {
+ my ($in, $_hd, $part) = @_;
+ $in->ask_from(N("Which volume label?"), '',
+
+ [
+ { label => N("Which volume label?"), title => 1 },
+ { label => N("Label:"), val => \$part->{device_LABEL} } ]) or return;
+ $part->{prefer_device_LABEL} = to_bool($part->{device_LABEL});
+}
+
+sub Mount_point {
+ my ($in, $hd, $part, $all_hds) = @_;
+
+ my $migrate_files;
+ my $mntpoint = $part->{mntpoint} || do {
+ my $part_ = { %$part };
+ if (fsedit::suggest_part($part_, $all_hds)) {
+ fs::get::has_mntpoint('/', $all_hds) || $part_->{mntpoint} eq '/boot' ? $part_->{mntpoint} : '/';
+ } else { '' }
+ };
+ my $msg = isLoopback($part) ? N("Where do you want to mount the loopback file %s?", $part->{loopback_file}) :
+ N("Where do you want to mount device %s?", $part->{device});
+ $in->ask_from_({
+ callbacks => {
+ complete => sub {
+ !isPartOfLoopback($part) || $mntpoint or $in->ask_warn(N("Error"),
+N("Can not unset mount point as this partition is used for loop back.
+Remove the loopback first")), return 1;
+ $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
+ $migrate_files = need_migration($in, $mntpoint) or return 1;
+ 0;
+ } },
+ },
+ [
+ { label => $msg, title => 1 },
+ { label => N("Mount point"), val => \$mntpoint,
+ list => [ uniq(if_($mntpoint, $mntpoint), fsedit::suggestions_mntpoint($all_hds), '') ],
+ focus => sub { 1 },
+ not_edit => 0 } ],
+ ) or return;
+ $part->{mntpoint} = $mntpoint;
+
+ if ($migrate_files eq 'migrate') {
+ format_($in, $hd, $part, $all_hds) or return;
+ migrate_files($in, $hd, $part);
+ fs::mount::part($part);
+ }
+}
+sub Mount_point_raw_hd {
+ my ($in, $part, $all_hds, @propositions) = @_;
+
+ my $mntpoint = $part->{mntpoint} || shift @propositions;
+ $in->ask_from(
+ N("Mount point"),
+ '',
+ [
+ { label => N("Where do you want to mount %s?", $part->{device}), title => 1 },
+ { label => N("Mount point"), val => \$mntpoint,
+ list => [ if_($mntpoint, $mntpoint), '', @propositions ],
+ not_edit => 0 } ],
+ complete => sub {
+ $part->{mntpoint} eq $mntpoint || check_mntpoint($in, $mntpoint, $part, $all_hds) or return 1;
+ 0;
+ }
+ ) or return;
+ $part->{mntpoint} = $mntpoint;
+}
+
+sub Resize {
+ my ($in, $hd, $part) = @_;
+ my (%nice_resize);
+ my ($min, $max) = (min_partition_size($hd), max_partition_size($hd, $part));
+
+ if (maybeFormatted($part)) {
+ # here we may have a non-formatted or a formatted partition
+ # -> doing as if it was formatted
+
+ if ($part->{fs_type} eq 'vfat') {
+ write_partitions($in, $hd) or return;
+ #- try to resize without losing data
+ my $_w = $in->wait_message(N("Resizing"), N("Computing FAT filesystem bounds"));
+
+ require resize_fat::main;
+ $nice_resize{fat} = resize_fat::main->new($part->{device}, devices::make($part->{device}));
+ $min = max($min, $nice_resize{fat}->min_size);
+ $max = min($max, $nice_resize{fat}->max_size);
+ } elsif (member($part->{fs_type}, 'ext2', 'ext3')) {
+ write_partitions($in, $hd) or return;
+ require diskdrake::resize_ext2;
+ if ($nice_resize{ext2} = diskdrake::resize_ext2->new($part->{device}, devices::make($part->{device}))) {
+ $min = max($min, $nice_resize{ext2}->min_size);
+ } else {
+ delete $nice_resize{ext2};
+ }
+ } elsif ($part->{fs_type} eq 'ntfs') {
+ write_partitions($in, $hd) or return;
+ require diskdrake::resize_ntfs;
+ diskdrake::resize_ntfs::check_prog($in) or return;
+ $nice_resize{ntfs} = diskdrake::resize_ntfs->new($part->{device}, devices::make($part->{device}));
+ $min = $nice_resize{ntfs}->min_size or delete $nice_resize{ntfs};
+ } elsif ($part->{fs_type} eq 'reiserfs') {
+ write_partitions($in, $hd) or return;
+ if ($part->{isMounted}) {
+ $nice_resize{reiserfs} = 1;
+ $min = $part->{size}; #- ensure the user can only increase
+ } elsif (defined(my $free = fs::df($part))) {
+ $nice_resize{reiserfs} = 1;
+ $min = max($min, $part->{size} - $free);
+ }
+ } elsif ($part->{fs_type} eq 'xfs' && isLVM($hd) && $::isStandalone && $part->{isMounted}) {
+ $min = $part->{size}; #- ensure the user can only increase
+ $nice_resize{xfs} = 1;
+ }
+ #- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
+ #- this save at least a cylinder (less than 8Mb).
+ $min += partition_table::raw::cylinder_size($hd);
+ $min >= $max and return $in->ask_warn(N("Warning"), N("This partition is not resizeable"));
+
+ #- for these, we have tools to resize partition table
+ #- without losing data (or at least we hope so :-)
+ if (%nice_resize) {
+ ask_alldatamaybelost($in, $part, N_("All data on this partition should be backed-up")) or return;
+ } else {
+ ask_alldatawillbelost($in, $part, N_("After resizing partition %s, all data on this partition will be lost")) or return;
+ }
+ }
+
+ my $mb_size = $part->{size} >> 11;
+ my ($gmin, $gmax) = ($min >> 11, $max >> 11);
+ $in->ask_from(N("Resize"), '', [
+ { label => N("Choose the new size"), title => 1 },
+ { label => N("New size in MB: "), val => \$mb_size, min => $gmin, max => $gmax, type => 'range', SpinButton => $::expert },
+ { label => N("Minimum size: %s MB", $gmin) },
+ { label => N("Maximum size: %s MB", $gmax) },
+ ]) or return;
+
+
+ my $size = from_Mb($mb_size, $min, $max);
+ $part->{size} == $size and return;
+
+ my $oldsize = $part->{size};
+ $part->{size} = $size;
+ $hd->adjustEnd($part);
+
+ undef $@;
+ my $_b = before_leaving { $@ and $part->{size} = $oldsize };
+
+ my $adjust = sub {
+ my ($write_partitions) = @_;
+
+ if (isLVM($hd)) {
+ lvm::lv_resize($part, $oldsize);
+ } else {
+ partition_table::will_tell_kernel($hd, resize => $part);
+ partition_table::adjust_local_extended($hd, $part);
+ partition_table::adjust_main_extended($hd);
+ write_partitions($in, $hd) or return if $write_partitions && %nice_resize;
+ }
+ 1;
+ };
+
+ $adjust->(1) or return if $size > $oldsize;
+
+ my $wait = $in->wait_message(N("Please wait"), N("Resizing"));
+
+ if ($nice_resize{fat}) {
+ local *log::l = sub { $wait->set(join(' ', @_)) };
+ $nice_resize{fat}->resize($part->{size});
+ } elsif ($nice_resize{ext2}) {
+ $nice_resize{ext2}->resize($part->{size});
+ } elsif ($nice_resize{ntfs}) {
+ log::l("ntfs resize to $part->{size} sectors");
+ $nice_resize{ntfs}->resize($part->{size});
+ $wait = undef;
+ $in->ask_warn(N("Warning"), N("To ensure data integrity after resizing the partition(s),
+filesystem checks will be run on your next boot into Microsoft Windows®"));
+ } elsif ($nice_resize{reiserfs}) {
+ log::l("reiser resize to $part->{size} sectors");
+ run_program::run_or_die('resize_reiserfs', '-f', '-q', '-s' . int($part->{size}/2) . 'K', devices::make($part->{device}));
+ } elsif ($nice_resize{xfs}) {
+ #- happens only with mounted LVM, see above
+ run_program::run_or_die("xfs_growfs", $part->{mntpoint});
+ }
+
+ if (%nice_resize) {
+ set_isFormatted($part, 1);
+ } else {
+ set_isFormatted($part, 0);
+ partition_table::verifyParts($hd) if !isLVM($hd);
+ $part->{mntpoint} = '' if isNonMountable($part); #- mainly for ntfs, which we can not format
+ }
+
+ $adjust->(0) if $size < $oldsize;
+}
+sub Format {
+ my ($in, $hd, $part, $all_hds) = @_;
+ format_($in, $hd, $part, $all_hds);
+}
+sub Mount {
+ my ($in, $hd, $part) = @_;
+
+ ensure_we_have_encrypt_key_if_needed($in, $part) or return;
+ write_partitions($in, $hd) or return;
+
+ my $w;
+ fs::mount::part($part, 0, sub {
+ my ($msg) = @_;
+ $w ||= $in->wait_message(N("Please wait"), $msg);
+ $w->set($msg);
+ });
+}
+sub Add2RAID {
+ my ($in, $_hd, $part, $all_hds) = @_;
+ my $raids = $all_hds->{raids};
+
+ my $md_part = $in->ask_from_listf(N("Add to RAID"), N("Choose an existing RAID to add to"),
+ sub { ref($_[0]) ? $_[0]{device} : $_[0] },
+ [ @$raids, N_("new") ]) or return;
+
+ if (ref($md_part)) {
+ raid::add($md_part, $part);
+ } else {
+ raid::check_prog($in) or return;
+ my $md_part = raid::new($raids, disks => [ $part ]);
+ modifyRAID($in, $raids, $md_part) or return raid::delete($raids, $md_part);
+ }
+}
+sub Add2LVM {
+ my ($in, $hd, $part, $all_hds) = @_;
+ my $lvms = $all_hds->{lvms};
+ write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;
+
+ my $lvm = $in->ask_from_listf_(N("Add to LVM"), N("Choose an existing LVM to add to"),
+ sub { ref($_[0]) ? $_[0]{VG_name} : $_[0] },
+ [ @$lvms, N_("new") ]) or return;
+ require lvm;
+ if (!ref $lvm) {
+ # create new lvm
+ # FIXME: when mdv2006 is out: remove the question mark from the dialog title
+ my $name = $in->ask_from_entry(N("LVM name?"), N("LVM name?")) or return;
+ $lvm = new lvm($name);
+ push @$lvms, $lvm;
+ }
+ raid::make($all_hds->{raids}, $part) if isRAID($part);
+ $part->{lvm} = $lvm->{VG_name};
+ push @{$lvm->{disks}}, $part;
+ delete $part->{mntpoint};
+
+ lvm::check($in) if $::isStandalone;
+ lvm::vg_add($part);
+ lvm::update_size($lvm);
+}
+sub Unmount {
+ my ($_in, $_hd, $part) = @_;
+ fs::mount::umount_part($part);
+}
+sub RemoveFromRAID {
+ my ($_in, $_hd, $part, $all_hds) = @_;
+ raid::removeDisk($all_hds->{raids}, $part);
+}
+sub RemoveFromLVM {
+ my ($in, $_hd, $part, $all_hds) = @_;
+ isPartOfLVM($part) or die;
+ my ($lvm, $other_lvms) = partition { $_->{VG_name} eq $part->{lvm} } @{$all_hds->{lvms}};
+ if (@{$lvm->[0]{disks}} > 1) {
+ my ($used, $_total) = lvm::pv_physical_extents($part);
+ if ($used) {
+ $in->ask_yesorno(N("Warning"), N("Physical volume %s is still in use.
+Do you want to move used physical extents on this volume to other volumes?", $part->{device})) or return;
+ my $_w = $in->wait_message(N("Please wait"), N("Moving physical extents"));
+ lvm::pv_move($part);
+ }
+ lvm::vg_reduce($lvm->[0], $part);
+ } else {
+ lvm::vg_destroy($lvm->[0]);
+ $all_hds->{lvms} = $other_lvms;
+ }
+}
+sub ModifyRAID {
+ my ($in, $_hd, $part, $all_hds) = @_;
+ modifyRAID($in, $all_hds->{raids}, fs::get::device2part($part->{raid}, $all_hds->{raids}));
+}
+sub Loopback {
+ my ($in, $hd, $real_part, $all_hds) = @_;
+
+ write_partitions($in, $hd) or return;
+
+ my $handle = any::inspect($real_part) or $in->ask_warn(N("Error"), N("This partition can not be used for loopback")), return;
+
+ my ($min, $max) = (1, fs::loopback::getFree($handle->{dir}, $real_part));
+ $max = min($max, 1 << (31 - 9)) if $real_part->{fs_type} eq 'vfat'; #- FAT does not handle file size bigger than 2GB
+ my $part = { maxsize => $max, size => 0, loopback_device => $real_part, notFormatted => 1 };
+ if (!fsedit::suggest_part($part, $all_hds)) {
+ $part->{size} = $part->{maxsize};
+ fs::type::suggest_fs_type($part, 'ext3');
+ }
+ delete $part->{mntpoint}; # we do not want the suggested mntpoint
+
+ my $type_name = fs::type::part2type_name($part);
+ my $mb_size = $part->{size} >> 11;
+ $in->ask_from(N("Loopback"), '', [
+ { label => N("Loopback file name: "), val => \$part->{loopback_file} },
+ { label => N("Size in MB: "), val => \$mb_size, min => $min >> 11, max => $max >> 11, type => 'range', SpinButton => $::expert },
+ { label => N("Filesystem type: "), val => \$type_name, list => [ fs::type::type_names($::expert) ], not_edit => !$::expert, sort => 0 },
+ ],
+ complete => sub {
+ $part->{loopback_file} or $in->ask_warn(N("Give a file name"), N("Give a file name")), return 1, 0;
+ $part->{loopback_file} =~ s|^([^/])|/$1|;
+ if (my $size = fs::loopback::verifFile($handle->{dir}, $part->{loopback_file}, $real_part)) {
+ $size == -1 and $in->ask_warn(N("Warning"), N("File is already used by another loopback, choose another one")), return 1, 0;
+ $in->ask_yesorno(N("Warning"), N("File already exists. Use it?")) or return 1, 0;
+ delete $part->{notFormatted};
+ $part->{size} = divide($size, 512);
+ } else {
+ $part->{size} = from_Mb($mb_size, $min, $max);
+ }
+ 0;
+ }) or return;
+ put_in_hash($part, fs::type::type_name2subpart($type_name));
+ push @{$real_part->{loopback}}, $part;
+ fsedit::recompute_loopbacks($all_hds);
+}
+
+sub Options {
+ my ($in, $hd, $part, $all_hds) = @_;
+
+ my @simple_options = qw(users noauto supermount username= password=);
+
+ my (undef, $user_implies) = fs::mount_options::list();
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ my %help = fs::mount_options::help();
+
+ my %callbacks = (
+ # we don't want both user and users
+ user => sub { $options->{users} = 0; $options->{$_} = $options->{user} foreach @$user_implies },
+ users => sub { $options->{user} = 0; $options->{$_} = $options->{users} foreach @$user_implies },
+ );
+
+
+ $in->ask_from(N("Mount options"),
+ '',
+ [
+ { label => N("Mount options"), title => 1 },
+ (map {
+ { label => $_, text => scalar warp_text(formatAlaTeX($help{$_})), val => \$options->{$_}, hidden => scalar(/password/),
+ advanced => !$part->{rootDevice} && !member($_, @simple_options), if_(!/=$/, type => 'bool'),
+ if_($callbacks{$_}, changed => $callbacks{$_}),
+ };
+ } keys %$options),
+ { label => N("Various"), val => \$unknown, advanced => 1 },
+ ],
+ complete => sub {
+ if (($options->{usrquota} || $options->{grpquota}) && !$::isInstall) {
+ $in->do_pkgs->ensure_binary_is_installed('quota', 'quotacheck');
+ }
+ if ($options->{encrypted}) {
+ # modify $part->{options} for the check
+ local $part->{options};
+ fs::mount_options::pack($part, $options, $unknown);
+ if (!check($in, $hd, $part, $all_hds)) {
+ $options->{encrypted} = 0;
+ } elsif (!$part->{encrypt_key} && !isSwap($part)) {
+ if (my ($encrypt_key, $encrypt_algo) = choose_encrypt_key($in, $options, '')) {
+ $options->{'encryption='} = $encrypt_algo;
+ $part->{encrypt_key} = $encrypt_key;
+ } else {
+ $options->{encrypted} = 0;
+ }
+ }
+ #- don't be sure of anything
+ set_isFormatted($part, 0);
+ $part->{notFormatted} = 0;
+ } else {
+ delete $options->{'encryption='};
+ delete $part->{encrypt_key};
+ }
+ }) or return;
+
+ fs::mount_options::pack($part, $options, $unknown);
+ 1;
+}
+
+
+{
+ no strict;
+ *{'Toggle to normal mode'} = sub() { $::expert = 0 };
+ *{'Toggle to expert mode'} = sub() { $::expert = 1 };
+ *{'Clear all'} = \&Clear_all;
+ *{'Auto allocate'} = \&Auto_allocate;
+ *{'Mount point'} = \&Mount_point;
+ *{'Modify RAID'} = \&ModifyRAID;
+ *{'Add to RAID'} = \&Add2RAID;
+ *{'Remove from RAID'} = \&RemoveFromRAID;
+ *{'Add to LVM'} = \&Add2LVM;
+ *{'Remove from LVM'} = \&RemoveFromLVM;
+ *{'Use for loopback'} = \&Loopback;
+ *{'Hard drive information'} = \&Hd_info;
+}
+
+
+################################################################################
+# helpers
+################################################################################
+
+sub is_part_existing {
+ my ($part, $all_hds) = @_;
+ $part && any { fsedit::are_same_partitions($part, $_) } fs::get::fstab_and_holes($all_hds);
+}
+
+sub modifyRAID {
+ my ($in, $raids, $md_part) = @_;
+ my $new_device = $md_part->{device};
+ $in->ask_from(N("Options"), '',
+ [
+{ label => N("device"), val => \$new_device, list => [ $md_part->{device}, raid::free_mds($raids) ], sort => 0 },
+{ label => N("level"), val => \$md_part->{level}, list => [ qw(0 1 4 5 6 linear) ] },
+{ label => N("chunk size in KiB"), val => \$md_part->{'chunk-size'} },
+ ],
+ ) or return;
+ raid::change_device($md_part, $new_device);
+ raid::updateSize($md_part); # changing the raid level changes the size available
+ 1;
+}
+
+
+sub ask_alldatamaybelost {
+ my ($in, $part, $msg) = @_;
+
+ maybeFormatted($part) or return 1;
+
+ #- here we may have a non-formatted or a formatted partition
+ #- -> doing as if it was formatted
+ $in->ask_okcancel(N("Read carefully!"),
+ [ N("Be careful: this operation is dangerous."), sprintf(translate($msg), $part->{device}) ], 1);
+}
+sub ask_alldatawillbelost {
+ my ($in, $part, $msg) = @_;
+
+ maybeFormatted($part) or return 1;
+
+ #- here we may have a non-formatted or a formatted partition
+ #- -> doing as if it was formatted
+ $in->ask_okcancel(N("Read carefully!"), sprintf(translate($msg), $part->{device}), 1);
+}
+
+sub partitions_suggestions {
+ my ($in) = @_;
+ my $t = $::expert ?
+ $in->ask_from_list_(N("Type"), N("What type of partitioning?"), [ keys %fsedit::suggestions ]) :
+ 'simple';
+ $fsedit::suggestions{$t};
+}
+
+sub check_type {
+ my ($in, $type, $hd, $part) = @_;
+ eval { fs::type::check($type->{fs_type}, $hd, $part) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ return;
+ }
+ if ($::isStandalone && $type->{fs_type} && fs::format::known_type($type)) {
+ fs::format::check_package_is_installed($in->do_pkgs, $type->{fs_type}) or return;
+ }
+ 1;
+}
+sub check_mntpoint {
+ my ($in, $mntpoint, $part, $all_hds) = @_;
+ my $seen;
+ eval {
+ catch_cdie { fsedit::check_mntpoint($mntpoint, $part, $all_hds) }
+ sub { $seen = 1; $in->ask_okcancel(N("Error"), formatError($@)) };
+ };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err)) if !$seen;
+ return;
+ }
+ 1;
+}
+sub check {
+ my ($in, $hd, $part, $all_hds) = @_;
+ check_type($in, $part, $hd, $part) &&
+ check_mntpoint($in, $part->{mntpoint}, $part, $all_hds);
+}
+
+sub check_rebootNeeded {
+ my ($_in, $hd) = @_;
+ $hd->{rebootNeeded} and die N("You'll need to reboot before the modification can take place");
+}
+
+sub write_partitions {
+ my ($in, $hd, $b_skip_check_rebootNeeded) = @_;
+ check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
+ $hd->{isDirty} or return 1;
+ isLVM($hd) and return 1;
+
+ $in->ask_okcancel(N("Read carefully!"), N("Partition table of drive %s is going to be written to disk!", $hd->{device}), 1) or return;
+ partition_table::write($hd) if !$::testing;
+ check_rebootNeeded($in, $hd) if !$b_skip_check_rebootNeeded;
+ 1;
+}
+
+sub ensure_we_have_encrypt_key_if_needed {
+ my ($in, $part) = @_;
+
+ if ($part->{options} =~ /encrypted/ && !$part->{encrypt_key}) {
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ $part->{encrypt_key} = choose_encrypt_key($in, $options, 'skip_encrypt_algo') or return;
+ fs::mount_options::pack($part, $options, $unknown);
+ }
+ 1;
+}
+
+sub format_ {
+ my ($in, $hd, $part, $all_hds) = @_;
+
+ ensure_we_have_encrypt_key_if_needed($in, $part) or return;
+ write_partitions($in, $_) or return foreach isRAID($part) ? @{$all_hds->{hds}} : $hd;
+
+ ask_alldatawillbelost($in, $part, N_("After formatting partition %s, all data on this partition will be lost")) or return;
+ if ($::isStandalone) {
+ fs::format::check_package_is_installed($in->do_pkgs, $part->{fs_type}) or return;
+ }
+ if ($::expert && !member($part->{fs_type}, 'reiserfs', 'xfs')) {
+ $part->{toFormatCheck} = $in->ask_yesorno(N("Confirmation"), N("Check bad blocks?"));
+ }
+ $part->{isFormatted} = 0; #- force format;
+ my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
+ fs::format::part($all_hds, $part, $wait_message);
+ 1;
+}
+
+sub need_migration {
+ my ($in, $mntpoint) = @_;
+
+ my @l = grep { $_ ne "lost+found" } all($mntpoint);
+ if (@l && $::isStandalone) {
+ my $choice;
+ my @choices = (N_("Move files to the new partition"), N_("Hide files"));
+ $in->ask_from(N("Warning"), N("Directory %s already contains data
+(%s)
+
+You can either choose to move the files into the partition that will be mounted there or leave them where they are (which results in hiding them by the contents of the mounted partition)",
+ $mntpoint, formatList(5, @l)),
+ [ { val => \$choice, list => \@choices, type => 'list', format => sub { translate($_[0]) } } ]) or return;
+ $choice eq $choices[0] ? 'migrate' : 'hide';
+ } else {
+ 'hide';
+ }
+}
+
+sub migrate_files {
+ my ($in, $_hd, $part) = @_;
+
+ my $wait = $in->wait_message(N("Please wait"), N("Moving files to the new partition"));
+ my $handle = any::inspect($part, '', 'rw');
+ my @l = glob_("$part->{mntpoint}/*");
+ foreach (@l) {
+ $wait->set(N("Copying %s", $_));
+ system("cp", "-a", $_, $handle->{dir}) == 0 or die "copying failed";
+ }
+ foreach (@l) {
+ $wait->set(N("Removing %s", $_));
+ system("rm", "-rf", $_) == 0 or die "removing files failed";
+ }
+}
+
+sub warn_if_renumbered {
+ my ($in, $hd) = @_;
+ my $l = delete $hd->{partitionsRenumbered};
+ return if is_empty_array_ref($l);
+
+ push @{$hd->{allPartitionsRenumbered}}, @$l;
+
+ my @l = map {
+ my ($old, $new) = @$_;
+ N("partition %s is now known as %s", $old, $new) } @$l;
+ $in->ask_warn(N("Warning"), join("\n", N("Partitions have been renumbered: "), @l));
+}
+
+#- unit of $mb is mega bytes, min and max are in sectors, this
+#- function is used to convert back to sectors count the size of
+#- a partition ($mb) given from the interface (on Resize or Create).
+#- modified to take into account a true bounding with min and max.
+sub from_Mb {
+ my ($mb, $min, $max) = @_;
+ $mb <= $min >> 11 and return $min;
+ $mb >= $max >> 11 and return $max;
+ $mb * 2048;
+}
+
+sub format_part_info {
+ my ($hd, $part) = @_;
+
+ my $info = '';
+
+ $info .= N("Mount point: ") . "$part->{mntpoint}\n" if $part->{mntpoint};
+ $info .= N("Device: ") . "$part->{device}\n" if $part->{device} && !isLoopback($part);
+ $info .= N("Volume label: ") . "$part->{device_LABEL}\n" if $part->{device_LABEL} && $::expert;
+ $info .= N("DOS drive letter: %s (just a guess)\n", $part->{device_windobe}) if $part->{device_windobe};
+ if (arch() eq "ppc") {
+ my $pType = $part->{pType};
+ $pType =~ s/[^A-Za-z0-9_]//g;
+ $info .= N("Type: ") . $pType . ($::expert ? sprintf " (0x%x)", $part->{pt_type} : '') . "\n";
+ if (defined $part->{pName}) {
+ my $pName = $part->{pName};
+ $pName =~ s/[^A-Za-z0-9_]//g;
+ $info .= N("Name: ") . $pName . "\n";
+ }
+ } elsif (isEmpty($part)) {
+ $info .= N("Empty") . "\n";
+ } else {
+ $info .= N("Type: ") . (fs::type::part2type_name($part) || $part->{fs_type}) . ($::expert ? sprintf " (0x%x)", $part->{pt_type} : '') . "\n";
+ }
+ $info .= N("Start: sector %s\n", $part->{start}) if $::expert && !isSpecial($part) && !isLVM($hd);
+ $info .= N("Size: %s", formatXiB($part->{size}, 512));
+ $info .= sprintf " (%s%%)", int 100 * $part->{size} / $hd->{totalsectors} if $hd->{totalsectors};
+ $info .= N(", %s sectors", $part->{size}) if $::expert;
+ $info .= "\n";
+ $info .= N("Cylinder %d to %d\n", $part->{start} / $hd->cylinder_size, ($part->{start} + $part->{size} - 1) / $hd->cylinder_size) if ($::expert || isEmpty($part)) && !isSpecial($part) && !isLVM($hd);
+ $info .= N("Number of logical extents: %d\n", $part->{size} / $hd->cylinder_size) if $::expert && isLVM($hd);
+ $info .= N("Formatted\n") if $part->{isFormatted};
+ $info .= N("Not formatted\n") if !$part->{isFormatted} && $part->{notFormatted};
+ $info .= N("Mounted\n") if $part->{isMounted};
+ $info .= N("RAID %s\n", $part->{raid}) if isPartOfRAID($part);
+ if (isPartOfLVM($part)) {
+ $info .= sprintf "LVM %s\n", $part->{lvm};
+ $info .= sprintf "Used physical extents %d / %d\n", lvm::pv_physical_extents($part);
+ }
+ $info .= N("Loopback file(s):\n %s\n", join(", ", map { $_->{loopback_file} } @{$part->{loopback}})) if isPartOfLoopback($part);
+ $info .= N("Partition booted by default\n (for MS-DOS boot, not for lilo)\n") if $part->{active} && $::expert;
+ if (isRAID($part)) {
+ $info .= N("Level %s\n", $part->{level});
+ $info .= N("Chunk size %d KiB\n", $part->{'chunk-size'});
+ $info .= N("RAID-disks %s\n", join ", ", map { $_->{device} } @{$part->{disks}});
+ } elsif (isLoopback($part)) {
+ $info .= N("Loopback file name: %s", $part->{loopback_file});
+ }
+ if (isApple($part)) {
+ $info .= N("\nChances are, this partition is\na Driver partition. You should\nprobably leave it alone.\n");
+ }
+ if (isAppleBootstrap($part)) {
+ $info .= N("\nThis special Bootstrap\npartition is for\ndual-booting your system.\n");
+ }
+ # restrict the length of the lines
+ $info =~ s/(.{60}).*/$1.../mg;
+ $info;
+}
+
+sub format_part_info_short {
+ my ($hd, $part) = @_;
+ isEmpty($part) ? N("Empty space on %s (%s)", $hd->{device}, formatXiB($part->{size}, 512))
+ : partition_table::description($part);
+}
+
+sub format_hd_info {
+ my ($hd) = @_;
+
+ my $info = '';
+ $info .= N("Device: ") . "$hd->{device}\n";
+ $info .= N("Read-only") . "\n" if $hd->{readonly};
+ $info .= N("Size: %s\n", formatXiB($hd->{totalsectors}, 512)) if $hd->{totalsectors};
+ $info .= N("Geometry: %s cylinders, %s heads, %s sectors\n", $hd->{geom}{cylinders}, $hd->{geom}{heads}, $hd->{geom}{sectors}) if $::expert && $hd->{geom};
+ $info .= N("Info: ") . ($hd->{info} || $hd->{media_type}) . "\n" if $::expert && ($hd->{info} || $hd->{media_type});
+ $info .= N("LVM-disks %s\n", join ", ", map { $_->{device} } @{$hd->{disks}}) if isLVM($hd) && $hd->{disks};
+ $info .= N("Partition table type: %s\n", $1) if $::expert && ref($hd) =~ /_([^_]+)$/;
+ $info .= N("on channel %d id %d\n", $hd->{channel}, $hd->{id}) if $::expert && exists $hd->{channel};
+ $info;
+}
+
+sub format_raw_hd_info {
+ my ($raw_hd) = @_;
+
+ my $info = '';
+ $info .= N("Mount point: ") . "$raw_hd->{mntpoint}\n" if $raw_hd->{mntpoint};
+ $info .= format_hd_info($raw_hd);
+ if (!isEmpty($raw_hd)) {
+ $info .= N("Type: ") . (fs::type::part2type_name($raw_hd) || $raw_hd->{fs_type}) . "\n";
+ }
+ if (my $s = $raw_hd->{options}) {
+ $s =~ s/password=([^\s,]*)/'password=' . ('x' x length($1))/e;
+ $info .= N("Options: %s", $s);
+ }
+ $info;
+}
+
+#- get the minimal size of partition in sectors to help diskdrake on
+#- limit cases, include a cylinder + start of a eventually following
+#- logical partition.
+sub min_partition_size { $_[0]->cylinder_size + 2*$_[0]{geom}{sectors} }
+
+sub max_partition_size {
+ my ($hd, $part) = @_;
+ if (isLVM($hd)) {
+ $part->{size} + fs::get::vg_free_space($hd);
+ } else {
+ partition_table::next_start($hd, $part) - $part->{start};
+ }
+}
+
+sub choose_encrypt_key {
+ my ($in, $options, $skip_encrypt_algo) = @_;
+
+ my ($encrypt_key, $encrypt_key2);
+ my @algorithms = map { "AES$_" } 128, 196, 256, 512, 1024, 2048;
+ my $encrypt_algo = $options->{'encryption='} || "AES128";
+
+ $in->ask_from_(
+ {
+ title => N("Filesystem encryption key"),
+ messages => N("Choose your filesystem encryption key"),
+ callbacks => {
+ complete => sub {
+ length $encrypt_key < 6 and $in->ask_warn(N("Warning"), N("This encryption key is too simple (must be at least %d characters long)", 6)), return 1,0;
+ $encrypt_key eq $encrypt_key2 or $in->ask_warn(N("Error"), [ N("The encryption keys do not match"), N("Please try again") ]), return 1,1;
+ return 0;
+ } } }, [
+{ label => N("Encryption key"), val => \$encrypt_key, hidden => 1 },
+{ label => N("Encryption key (again)"), val => \$encrypt_key2, hidden => 1 },
+if_(!$skip_encrypt_algo,
+{ label => N("Encryption algorithm"), type => 'list', val => \$encrypt_algo, list => \@algorithms },
+),
+ ]) or return;
+
+ $skip_encrypt_algo ? $encrypt_key : ($encrypt_key, $encrypt_algo);
+}
+
+
+sub tell_wm_and_reboot() {
+ my ($wm, $pid) = any::running_window_manager();
+
+ if (!$wm) {
+ system('reboot');
+ } else {
+ any::ask_window_manager_to_logout_then_do($wm, $pid, 'reboot');
+ }
+}
+
+sub update_bootloader_for_renumbered_partitions {
+ my ($in, $all_hds) = @_;
+ my @renumbering = map { @{$_->{allPartitionsRenumbered} || []} } @{$all_hds->{hds}} or return;
+
+ require bootloader;
+ bootloader::update_for_renumbered_partitions($in, \@renumbering, $all_hds);
+}
+
+sub undo_prepare {
+ my ($all_hds) = @_;
+ require Data::Dumper;
+ $Data::Dumper::Purity = 1;
+ foreach (@{$all_hds->{hds}}) {
+ my @h = @$_{@partition_table::fields2save};
+ push @{$_->{undo}}, Data::Dumper->Dump([\@h], ['$h']);
+ }
+}
+sub undo {
+ my ($all_hds) = @_;
+ foreach (@{$all_hds->{hds}}) {
+ my $code = pop @{$_->{undo}} or next;
+ my $h; eval $code;
+ @$_{@partition_table::fields2save} = @$h;
+
+ if ($_->{hasBeenDirty}) {
+ partition_table::will_tell_kernel($_, 'force_reboot'); #- next action needing write_partitions will force it. We can not do it now since more undo may occur, and we must not needReboot now
+ }
+ }
+
+}
diff --git a/perl-install/diskdrake/removable.pm b/perl-install/diskdrake/removable.pm
new file mode 100644
index 000000000..781e25886
--- /dev/null
+++ b/perl-install/diskdrake/removable.pm
@@ -0,0 +1,52 @@
+package diskdrake::removable; # $Id: removable.pm 91225 2006-12-05 15:13:16Z pixel $
+
+use diagnostics;
+use strict;
+use diskdrake::interactive;
+use common;
+use fs;
+
+sub main {
+ my ($in, $all_hds, $raw_hd) = @_;
+ my %actions = my @actions = actions();
+ my $action;
+ while ($action ne 'Done') {
+ $action = $in->ask_from_list_('',
+ diskdrake::interactive::format_raw_hd_info($raw_hd),
+ [ map { $_->[0] } group_by2 @actions ], 'Done') or return;
+ $actions{$action}->($in, $raw_hd, $all_hds);
+ }
+}
+
+sub actions() {
+ (
+ N_("Mount point") => \&mount_point,
+ N_("Options") => \&options,
+ N_("Type") => \&type,
+ N_("Done") => \&done,
+ );
+}
+
+sub done {
+ my ($in, $_raw_hd, $all_hds) = @_;
+ diskdrake::interactive::Done($in, $all_hds);
+}
+sub options {
+ my ($in, $raw_hd, $all_hds) = @_;
+ diskdrake::interactive::Options($in, {}, $raw_hd, $all_hds);
+}
+sub mount_point {
+ my ($in, $raw_hd, $all_hds) = @_;
+ diskdrake::interactive::Mount_point_raw_hd($in, $raw_hd, $all_hds, "/media/$raw_hd->{device}");
+}
+sub type {
+ my ($in, $raw_hd) = @_;
+ my @fs = ('auto', fs::type::guessed_by_mount());
+ my $fs_type = $raw_hd->{fs_type};
+ $in->ask_from(N("Change type"),
+ N("Which filesystem do you want?"),
+ [ { label => N("Type"), val => \$fs_type, list => [@fs] } ]) or return;
+ $raw_hd->{fs_type} = $fs_type;
+}
+
+1;
diff --git a/perl-install/diskdrake/resize_ext2.pm b/perl-install/diskdrake/resize_ext2.pm
new file mode 100644
index 000000000..f64f6d4a7
--- /dev/null
+++ b/perl-install/diskdrake/resize_ext2.pm
@@ -0,0 +1,37 @@
+package diskdrake::resize_ext2; # $Id: resize_ext2.pm 25227 2006-02-13 16:10:35Z tvignaud $
+
+use diagnostics;
+use strict;
+
+use run_program;
+use common;
+
+
+sub new {
+ my ($type, $_device, $dev) = @_;
+
+ my $o = bless { dev => $dev }, $type;
+
+ my $r = run_program::get_stdout('dumpe2fs', $dev);
+ $o->{block_count} = $r =~ /^Block count:\s*(\d+)/m && $1;
+ $o->{free_block} = $r =~ /^Free blocks:\s*(\d+)/m && $1;
+ $o->{block_size} = $r =~ /^Block size:\s*(\d+)/m && $1;
+ log::l("dumpe2fs $dev gives: Block_count=$o->{block_count}, Free_blocks=$o->{free_block}, Block_size=$o->{block_size}");
+
+ $o->{block_size} && $o;
+}
+
+sub min_size {
+ my ($o) = @_;
+ ($o->{block_count} - $o->{free_block}) * ($o->{block_size} / 512);
+}
+
+sub resize {
+ my ($o, $size) = @_;
+
+ my $s = int($size / ($o->{block_size} / 512));
+ log::l("resize2fs $o->{dev} to size $s in block of $o->{block_size} bytes");
+ run_program::raw({ timeout => 60 * 60 }, "resize2fs", "-pf", $o->{dev}, $s) or die "resize2fs failed";
+}
+
+1;
diff --git a/perl-install/diskdrake/resize_ntfs.pm b/perl-install/diskdrake/resize_ntfs.pm
new file mode 100644
index 000000000..ab99ce627
--- /dev/null
+++ b/perl-install/diskdrake/resize_ntfs.pm
@@ -0,0 +1,36 @@
+package diskdrake::resize_ntfs;
+
+use diagnostics;
+use strict;
+
+use run_program;
+use common;
+
+
+sub new {
+ my ($type, $_device, $dev) = @_;
+ bless { dev => $dev }, $type;
+}
+
+sub check_prog {
+ my ($in) = @_;
+ #- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mandriva One)
+ $::isInstall || whereis_binary('ntfsresize') || $in->do_pkgs->ensure_binary_is_installed('ntfsprogs', 'ntfsresize');
+}
+
+sub min_size {
+ my ($o) = @_;
+ my $r;
+ run_program::run('ntfsresize', '>', \$r, '-f', '-i', $o->{dev}) or die "ntfsresize failed:\n$r\n";
+ $r =~ /minimal size: (\d+) KiB/ && $1 * 2;
+}
+
+sub resize {
+ my ($o, $size) = @_;
+ my @l = ('-ff', '-s' . int($size / 2) . 'ki', $o->{dev});
+ my $r;
+ run_program::run('ntfsresize', '>', \$r, '-n', @l) or die "ntfsresize failed: $r\n";
+ run_program::run('ntfsresize', '>', \$r, @l) or die "ntfsresize failed: $r\n";
+}
+
+1;
diff --git a/perl-install/diskdrake/smbnfs_gtk.pm b/perl-install/diskdrake/smbnfs_gtk.pm
new file mode 100644
index 000000000..53c69295a
--- /dev/null
+++ b/perl-install/diskdrake/smbnfs_gtk.pm
@@ -0,0 +1,271 @@
+package diskdrake::smbnfs_gtk; # $Id: smbnfs_gtk.pm 88802 2006-11-29 21:37:52Z blino $
+
+use diagnostics;
+use strict;
+
+use fs::get;
+use diskdrake::interactive;
+use common;
+use interactive;
+use fs::remote::smb;
+use fs::remote::nfs;
+use mygtk2 qw(gtknew gtkset);
+use ugtk2 qw(:helpers :wrappers :create);
+
+my ($all_hds, $in, $tree_model, $current_entry, $current_leaf, %icons);
+
+sub main {
+ ($in, $all_hds, my $type) = @_;
+ my ($kind) = $type eq 'smb' ? smb2kind() : nfs2kind();
+ $kind->check($in) or return;
+
+ my $w = ugtk2->new(N("Partitioning"), icon => 'banner-part');
+
+ add_smbnfs($w->{window}, $kind);
+ $w->{rwindow}->set_default_size(400, 300) if $w->{rwindow}->can('set_default_size');
+ $w->{window}->show_all;
+ $w->main;
+}
+
+################################################################################
+# nfs/smb: helpers
+################################################################################
+sub try {
+ my ($kind, $name, @args) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ try_($kind, $name, \&$f, @args);
+}
+sub try_ {
+ my ($kind, $name, $f, @args) = @_;
+ eval { $f->($in, @args, $all_hds) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ update($kind);
+ Gtk2->main_quit if member($name, 'Cancel', 'Done');
+}
+
+sub raw_hd_options {
+ my ($in, $raw_hd) = @_;
+ diskdrake::interactive::Options($in, {}, $raw_hd, fs::get::empty_all_hds());
+}
+sub raw_hd_mount_point {
+ my ($in, $raw_hd) = @_;
+ my ($default) = $raw_hd->{device} =~ m|([^/]+)$|;
+ $default =~ s/\s+/-/g;
+ diskdrake::interactive::Mount_point_raw_hd($in, $raw_hd, $all_hds, "/mnt/$default");
+}
+
+sub per_entry_info_box {
+ my ($box, $kind, $entry) = @_;
+ my $info = $entry ? diskdrake::interactive::format_raw_hd_info($entry) : '';
+ $kind->{per_entry_info_box}->destroy if $kind->{per_entry_info_box};
+ gtkpack($box, $kind->{per_entry_info_box} = gtknew('Frame', text => N("Details"), child => gtknew('Label', text => $info, justify => 'left')));
+}
+
+sub per_entry_action_box {
+ my ($box, $kind, $entry) = @_;
+ $_->destroy foreach $box->get_children;
+
+ my @buttons;
+
+ push @buttons, map {
+ my $s = $_;
+ gtknew('Button', text => translate($s), clicked => sub { try($kind, $s, {}, $entry) });
+ } (if_($entry->{isMounted}, N_("Unmount")),
+ if_($entry->{mntpoint} && !$entry->{isMounted}, N_("Mount"))) if $entry;
+
+ my @l = (
+ if_($entry, N_("Mount point") => \&raw_hd_mount_point),
+ if_($entry && $entry->{mntpoint}, N_("Options") => \&raw_hd_options),
+ N_("Cancel") => sub {},
+ N_("Done") => \&done,
+ );
+ push @buttons, map {
+ my ($txt, $f) = @$_;
+ $f ? gtknew('Button', text => translate($txt), clicked => sub { try_($kind, $txt, $f, $entry) })
+ : gtknew('Label', text => "");
+ } group_by2(@l);
+
+ gtkadd($box, gtknew('HBox', children_loose => [ @buttons]));
+}
+
+sub done {
+ my ($in) = @_;
+ diskdrake::interactive::Done($in, $all_hds);
+}
+
+sub export_icon {
+ my ($entry) = @_;
+ $entry ||= {};
+ $icons{$entry->{isMounted} ? 'mounted' : $entry->{mntpoint} ? 'has_mntpoint' : 'default'};
+}
+
+sub update {
+ my ($kind) = @_;
+ per_entry_action_box($kind->{action_box}, $kind, $current_entry);
+ per_entry_info_box($kind->{info_box}, $kind, $current_entry);
+ $tree_model->set($current_leaf, 0 => export_icon($current_entry)) if $current_entry;
+}
+
+sub find_fstab_entry {
+ my ($kind, $e, $b_add_or_not) = @_;
+
+ my $fs_entry = $kind->to_fstab_entry($e);
+
+ if (my $fs_entry_ = find { $fs_entry->{device} eq $_->{device} } @{$kind->{val}}) {
+ $fs_entry_;
+ } elsif ($b_add_or_not) {
+ push @{$kind->{val}}, $fs_entry;
+ $fs_entry;
+ } else {
+ undef;
+ }
+}
+
+sub import_tree {
+ my ($kind, $info_box) = @_;
+ my (%servers_displayed, %wservers, %wexports);
+
+ $tree_model = Gtk2::TreeStore->new("Gtk2::Gdk::Pixbuf", "Glib::String");
+ my $tree = Gtk2::TreeView->new_with_model($tree_model);
+ $tree->get_selection->set_mode('browse');
+
+ my $col = Gtk2::TreeViewColumn->new;
+ $col->pack_start(my $pixrender = Gtk2::CellRendererPixbuf->new, 0);
+ $col->add_attribute($pixrender, 'pixbuf', 0);
+ $col->pack_start(my $texrender = Gtk2::CellRendererText->new, 1);
+ $col->add_attribute($texrender, 'text', 1);
+ $tree->append_column($col);
+
+ $tree->set_headers_visible(0);
+
+ foreach ('default', 'server', 'has_mntpoint', 'mounted') {
+ $icons{$_} = gtknew('Pixbuf', file => "smbnfs_$_");
+ }
+
+ my $add_server = sub {
+ my ($server) = @_;
+ my $identifier = $server->{ip} || $server->{name};
+ my $name = $server->{name} || $server->{ip};
+ $servers_displayed{$identifier} ||= do {
+ my $w = $tree_model->append_set(undef, [ 0 => $icons{server}, 1 => $name ]);
+ $wservers{$tree_model->get_path_str($w)} = $server;
+ $w;
+ };
+ };
+
+ my $find_exports; $find_exports = sub {
+ my ($server) = @_;
+ my @l = eval { $kind->find_exports($server) };
+ return @l if !$@;
+
+ if ($server->{username}) {
+ $in->ask_warn('', N("Can not login using username %s (bad password?)", $server->{username}));
+ fs::remote::smb::remove_bad_credentials($server);
+ } else {
+ if (my @l = fs::remote::smb::authentications_available($server)) {
+ my $user = $in->ask_from_list_(N("Domain Authentication Required"),
+ N("Which username"), [ @l, N_("Another one") ]) or return;
+ if ($user ne 'Another one') {
+ fs::remote::smb::read_credentials($server, $user);
+ goto $find_exports;
+ }
+ }
+ }
+
+ if ($in->ask_from(N("Domain Authentication Required"),
+ N("Please enter your username, password and domain name to access this host."),
+ [
+ { label => N("Username"), val => \$server->{username} },
+ { label => N("Password"), val => \$server->{password}, hidden => 1 },
+ { label => N("Domain"), val => \$server->{domain} },
+ ])) {
+ goto $find_exports;
+ } else {
+ delete $server->{username};
+ ();
+ }
+ };
+
+ my $add_exports = sub {
+ my ($node) = @_;
+
+ my $path = $tree_model->get_path($node);
+ $tree->expand_row($path, 0);
+
+ foreach ($find_exports->($wservers{$tree_model->get_path_str($node)} || return)) { #- can not die here since insert_node provoque a tree_select_row before the %wservers is filled
+ my $s = $kind->to_string($_);
+ my $w = $tree_model->append_set($node, [ 0 => export_icon(find_fstab_entry($kind, $_)),
+ 1 => $s ]);
+ $wexports{$tree_model->get_path_str($w)} = $_;
+ }
+ };
+
+ {
+ my $search = gtknew('Button', text => N("Search servers"));
+ gtkpack__($info_box,
+ gtksignal_connect($search,
+ clicked => sub {
+ $add_server->($_) foreach sort { $a->{name} cmp $b->{name} } $kind->find_servers;
+ gtkset($search, text => N("Search new servers"));
+ }));
+ }
+
+ foreach (uniq(map { ($kind->from_dev($_->{device}))[0] } @{$kind->{val}})) {
+ my $node = $add_server->({ name => $_ });
+ $add_exports->($node);
+ }
+
+ $tree->get_selection->signal_connect(changed => sub {
+ my ($_model, $curr) = $_[0]->get_selected;
+ $curr or return;
+
+ if ($tree_model->iter_parent($curr)) {
+ $current_leaf = $curr;
+ $current_entry = find_fstab_entry($kind, $wexports{$tree_model->get_path_str($curr)} || die(''), 'add');
+ } else {
+ if (!$tree_model->iter_has_child($curr)) {
+ gtkset_mousecursor_wait($tree->window);
+ ugtk2::flush();
+ $add_exports->($curr);
+ gtkset_mousecursor_normal($tree->window);
+ }
+ $current_entry = undef;
+ }
+ update($kind);
+ });
+ $tree;
+}
+
+sub add_smbnfs {
+ my ($widget, $kind) = @_;
+ die if $kind->{main_box};
+
+ $kind->{info_box} = gtknew('VBox');
+ $kind->{display_box} = gtknew('ScrolledWindow', child => import_tree($kind, $kind->{info_box}));
+ $kind->{action_box} = gtknew('HBox');
+ $kind->{main_box} =
+ gtknew('VBox', spacing => 7, children => [
+ 1, gtknew('HBox', spacing => 7, children_loose => [
+ gtkset($kind->{display_box}, width => 200),
+ $kind->{info_box}]),
+ 0, $kind->{action_box},
+ ]);
+
+ $widget->add($kind->{main_box});
+ $current_entry = undef;
+ update($kind);
+ $kind;
+}
+
+sub nfs2kind() {
+ fs::remote::nfs->new({ type => 'nfs', name => 'NFS', val => $all_hds->{nfss}, no_auto => 1 });
+}
+
+sub smb2kind() {
+ fs::remote::smb->new({ type => 'smb', name => 'Samba', val => $all_hds->{smbs}, no_auto => 1 });
+}
+
+
+1;
diff --git a/perl-install/do_pkgs.pm b/perl-install/do_pkgs.pm
new file mode 100644
index 000000000..3fa9f550c
--- /dev/null
+++ b/perl-install/do_pkgs.pm
@@ -0,0 +1,266 @@
+package do_pkgs; # $Id: do_pkgs.pm 147967 2007-03-22 14:06:58Z blino $
+
+sub do_pkgs {
+ my ($in) = @_;
+ ($::isInstall ? 'do_pkgs_during_install' : 'do_pkgs_standalone')->new($in);
+}
+
+################################################################################
+package do_pkgs_common;
+use common;
+
+sub ensure_is_installed {
+ my ($do, $pkg, $o_file, $b_auto) = @_;
+
+ if (! $o_file || ! -e "$::prefix$o_file") {
+ $do->in->ask_okcancel(N("Warning"), N("The package %s needs to be installed. Do you want to install it?", $pkg), 1)
+ or return if !$b_auto && $do->in;
+ if (!$do->install($pkg)) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $pkg)) if $do->in;
+ return;
+ }
+ }
+ if ($o_file && ! -e "$::prefix$o_file") {
+ $do->in->ask_warn(N("Error"), N("Mandatory package %s is missing", $pkg)) if $do->in;
+ return;
+ }
+ 1;
+}
+
+sub ensure_are_installed {
+ my ($do, $pkgs, $b_auto) = @_;
+
+ my @not_installed = difference2($pkgs, [ $do->are_installed(@$pkgs) ]) or return 1;
+
+ $do->in->ask_okcancel(N("Warning"), N("The following packages need to be installed:\n") . join(', ', @not_installed), 1)
+ or return if !$b_auto && $do->in;
+
+ if (!$do->install(@not_installed)) {
+ if ($do->in) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $not_installed[0]));
+ } else {
+ log::l("Could not install packages: " . join(' ', @not_installed));
+ }
+ return;
+ }
+ 1;
+}
+
+sub ensure_binary_is_installed {
+ my ($do, $pkg, $binary, $b_auto) = @_;
+
+ if (!whereis_binary($binary, $::prefix)) {
+ $do->in->ask_okcancel(N("Warning"), N("The package %s needs to be installed. Do you want to install it?", $pkg), 1)
+ or return if !$b_auto && $do->in;
+ if (!$do->install($pkg)) {
+ $do->in->ask_warn(N("Error"), N("Could not install the %s package!", $pkg)) if $do->in;
+ return;
+ }
+ }
+ if (!whereis_binary($binary, $::prefix)) {
+ $do->in->ask_warn(N("Error"), N("Mandatory package %s is missing", $pkg)) if $do->in;
+ return;
+ }
+ 1;
+}
+
+sub ensure_is_installed_if_available {
+ my ($do, $pkg, $file) = @_;
+ if (-e "$::prefix$file" || $::testing) {
+ 1;
+ } else {
+ $do->what_provides($pkg) && $do->install($pkg);
+ }
+}
+
+sub is_available {
+ my ($do, $name) = @_;
+ $do->are_available($name);
+}
+
+sub is_installed {
+ my ($do, $name) = @_;
+ $do->are_installed($name);
+}
+
+#- takes something like "ati-kernel"
+#- returns:
+#- - the various ati-kernel-2.6.XX-XXmdk available for the installed kernels
+#- - dkms-ati if available
+sub check_kernel_module_packages {
+ my ($do, $base_name) = @_;
+
+ require bootloader;
+ my @rpms = (
+ 'dkms-' . $base_name,
+ map { $base_name . '-kernel-' . bootloader::vmlinuz2version($_) } bootloader::installed_vmlinuz()
+ );
+ @rpms = $do->are_available(@rpms) or return;
+
+ log::l("those kernel module packages can be installed: " . join(' ', @rpms));
+
+ \@rpms;
+}
+
+################################################################################
+package do_pkgs_during_install;
+use run_program;
+use common;
+
+our @ISA = qw(do_pkgs_common);
+
+sub new {
+ my ($type, $in) = @_;
+
+ $in->isa('interactive') or undef $in;
+
+ require install::pkgs;
+ bless { in => $in, o => $::o }, $type;
+}
+
+sub in {
+ my ($do) = @_;
+ $do->{in};
+}
+
+sub install {
+ my ($do, @l) = @_;
+ log::l("do_pkgs_during_install::install");
+ if ($::testing || $::globetrotter) {
+ log::l("i would install packages " . join(' ', @l));
+ 1;
+ } else {
+ $do->{o}->pkg_install(@l);
+ 1; #- HACK, need better fix in install::steps::pkg_install()
+ }
+}
+
+sub what_provides {
+ my ($do, $name) = @_;
+ map { $_->name } install::pkgs::packagesProviding($do->{o}{packages}, $name);
+}
+
+sub are_available {
+ my ($do, @pkgs) = @_;
+ grep { install::pkgs::packageByName($do->{o}{packages}, $_) } @pkgs;
+}
+
+sub are_installed {
+ my ($do, @l) = @_;
+ grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ $p && $p->flag_available;
+ } @l;
+}
+
+sub remove {
+ my ($do, @l) = @_;
+
+ @l = grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ install::pkgs::unselectPackage($do->{o}{packages}, $p) if $p;
+ $p;
+ } @l;
+ run_program::rooted($::prefix, 'rpm', '-e', @l);
+}
+
+sub remove_nodeps {
+ my ($do, @l) = @_;
+
+ @l = grep {
+ my $p = install::pkgs::packageByName($do->{o}{packages}, $_);
+ if ($p) {
+ $p->set_flag_requested(0);
+ $p->set_flag_required(0);
+ }
+ $p;
+ } @l;
+ run_program::rooted($::prefix, 'rpm', '-e', '--nodeps', @l);
+}
+
+################################################################################
+package do_pkgs_standalone;
+use run_program;
+use common;
+use log;
+
+our @ISA = qw(do_pkgs_common);
+
+sub new {
+ my ($type, $o_in) = @_;
+ bless { in => $o_in }, $type;
+}
+
+sub in {
+ my ($do) = @_;
+ $do->{in};
+}
+
+sub install {
+ my ($do, @l) = @_;
+
+ return 1 if listlength(are_installed($do, @l)) == @l;
+
+ if ($::testing) {
+ log::l("i would install packages " . join(' ', @l));
+ return 1;
+ }
+
+ my $_wait = $do->in && $do->in->wait_message(N("Please wait"), N("Installing packages..."));
+ $do->in->suspend if $do->in;
+ log::explanations("installing packages @l");
+ #- --expect-install added in urpmi 4.6.11
+ my $ret = system('urpmi', '--allow-medium-change', '--auto', '--no-verify-rpm', '--gui', '--expect-install', @l) == 0;
+ $do->in->resume if $do->in;
+ $ret;
+}
+
+sub are_available {
+ my ($_do, @pkgs) = @_;
+ my %pkgs = map { $_ => 1 } @pkgs;
+
+ eval {
+ require urpm::media;
+ my $urpm = urpm->new;
+ $urpm->{log} = \&log::l;
+ urpm::media::configure($urpm,
+ nocheck_access => 1,
+ no_skiplist => 1,
+ no_second_pass => 1);
+ map { $_->name } grep { $pkgs{$_->name} } @{$urpm->{depslist} || []};
+ };
+}
+
+sub what_provides {
+ my ($_do, $name) = @_;
+ split('\|', chomp_(run_program::get_stdout('urpmq', $name)));
+}
+
+sub is_installed {
+ my ($do, $name) = @_;
+ are_installed($do, $name);
+}
+
+sub are_installed {
+ my ($_do, @l) = @_;
+ @l or return;
+
+ my @l2;
+ run_program::run('/bin/rpm', '>', \@l2, '-q', '--qf', "%{name}\n", @l); #- do not care about the return value
+ intersection(\@l, [ chomp_(@l2) ]); #- can not return directly @l2 since it contains things like "package xxx is not installed"
+}
+
+sub remove {
+ my ($do, @l) = @_;
+ my $_wait = $do->in && $do->in->wait_message(N("Please wait"), N("Removing packages..."));
+ $do->in->suspend if $do->in;
+ log::explanations("removing packages @l");
+ my $ret = system('rpm', '-e', @l) == 0;
+ $do->in->resume if $do->in;
+ $ret;
+}
+
+sub remove_nodeps {
+ my ($do, @l) = @_;
+ remove($do, '--nodeps', @l) == 0;
+}
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
new file mode 100644
index 000000000..6cddce319
--- /dev/null
+++ b/perl-install/fs.pm
@@ -0,0 +1,361 @@
+package fs; # $Id: fs.pm 91225 2006-12-05 15:13:16Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+use log;
+use devices;
+use fs::type;
+use fs::get;
+use fs::format;
+use fs::mount_options;
+use fs::loopback;
+use fs::mount;
+use run_program;
+use detect_devices;
+use modules;
+use fsedit;
+
+
+sub read_fstab {
+ my ($prefix, $file, @reading_options) = @_;
+
+ if (member('keep_default', @reading_options)) {
+ push @reading_options, 'freq_passno', 'keep_device_LABEL';
+ }
+
+ my %comments;
+ my $comment;
+ my @l = grep {
+ if (/^Filename\s*Type\s*Size/) {
+ 0; #- when reading /proc/swaps
+ } elsif (/^\s*#/) {
+ $comment .= chomp_($_) . "\n";
+ 0;
+ } else {
+ $comments{$_} = $comment if $comment;
+ $comment = '';
+ 1;
+ }
+ } cat_("$prefix$file");
+
+ #- attach comments at the end of fstab to the previous line
+ $comments{$l[-1]} = $comment if $comment;
+
+ map {
+ my ($dev, $mntpoint, $fs_type, $options, $freq, $passno) = split;
+ my $comment = $comments{$_};
+
+ $options = 'defaults' if $options eq 'rw'; # clean-up for mtab read
+
+ if ($fs_type eq 'supermount') {
+ # normalize this bloody supermount
+ $options = join(",", 'supermount', grep {
+ if (/fs=(.*)/) {
+ $fs_type = $1;
+ 0;
+ } elsif (/dev=(.*)/) {
+ $dev = $1;
+ 0;
+ } elsif ($_ eq '--') {
+ 0;
+ } else {
+ 1;
+ }
+ } split(',', $options));
+ } elsif ($fs_type eq 'smb') {
+ # prefering type "smbfs" over "smb"
+ $fs_type = 'smbfs';
+ }
+ s/\\040/ /g foreach $mntpoint, $dev, $options;
+
+ my $h = {
+ mntpoint => $mntpoint, fs_type => $fs_type,
+ options => $options, comment => $comment,
+ if_(member('keep_freq_passno', @reading_options), freq => $freq, passno => $passno),
+ };
+
+ put_in_hash($h, fs::wild_device::to_subpart($dev));
+
+ if ($h->{device_LABEL} && !$h->{device_alias} && member('keep_device_LABEL', @reading_options)) {
+ $h->{prefer_device_LABEL} = 1;
+ }
+
+ if ($h->{options} =~ /credentials=/ && !member('verbatim_credentials', @reading_options)) {
+ require fs::remote::smb;
+ #- remove credentials=file with username=foo,password=bar,domain=zoo
+ #- the other way is done in fstab_to_string
+ my ($options, $unknown) = fs::mount_options::unpack($h);
+ my $file = delete $options->{'credentials='};
+ my $credentials = fs::remote::smb::read_credentials_raw($file);
+ if ($credentials->{username}) {
+ $options->{"$_="} = $credentials->{$_} foreach qw(username password domain);
+ fs::mount_options::pack($h, $options, $unknown);
+ }
+ }
+
+ $h;
+ } @l;
+}
+
+sub merge_fstabs {
+ my ($loose, $fstab, @l) = @_;
+
+ foreach my $p (@$fstab) {
+ my ($l1, $l2) = partition { fs::get::is_same_hd($_, $p) } @l;
+ my ($p2) = @$l1 or next;
+ @l = @$l2;
+
+ $p->{mntpoint} = $p2->{mntpoint} if delete $p->{unsafeMntpoint};
+
+ if (!$loose) {
+ $p->{fs_type} = $p2->{fs_type} if $p2->{fs_type};
+ $p->{options} = $p2->{options} if $p2->{options};
+ add2hash($p, $p2);
+ } else {
+ $p->{isMounted} ||= $p2->{isMounted};
+ $p->{real_mntpoint} ||= $p2->{real_mntpoint};
+ }
+ $p->{device_alias} ||= $p2->{device_alias} if $p->{device} ne $p2->{device} && $p2->{device} !~ m|/|;
+
+ $p->{fs_type} && $p2->{fs_type} && $p->{fs_type} ne $p2->{fs_type}
+ && $p->{fs_type} ne 'auto' && $p2->{fs_type} ne 'auto' and
+ log::l("err, fstab and partition table do not agree for $p->{device} type: $p->{fs_type} vs $p2->{fs_type}");
+ }
+ @l;
+}
+
+sub add2all_hds {
+ my ($all_hds, @l) = @_;
+
+ @l = merge_fstabs('', [ fs::get::really_all_fstab($all_hds) ], @l);
+
+ foreach (@l) {
+ my $s =
+ $_->{fs_type} eq 'nfs' ? 'nfss' :
+ $_->{fs_type} eq 'smbfs' ? 'smbs' :
+ $_->{fs_type} eq 'davfs2' ? 'davs' :
+ isTrueLocalFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' :
+ 'special';
+ push @{$all_hds->{$s}}, $_ if $s;
+ }
+}
+
+sub get_major_minor {
+ my ($fstab) = @_;
+ foreach (@$fstab) {
+ eval {
+ my (undef, $major, $minor) = devices::entry($_->{device});
+ ($_->{major}, $_->{minor}) = ($major, $minor);
+ } if !$_->{major};
+ }
+}
+
+sub merge_info_from_mtab {
+ my ($fstab) = @_;
+
+ my @l1 = map { my $l = $_;
+ my $h = fs::type::fs_type2subpart('swap');
+ $h->{$_} = $l->{$_} foreach qw(device major minor);
+ $h;
+ } read_fstab('', '/proc/swaps');
+
+ my @l2 = map { read_fstab('', $_) } '/etc/mtab', '/proc/mounts';
+
+ foreach (@l1, @l2) {
+ log::l("found mounted partition on $_->{device} with $_->{mntpoint}");
+ if ($::isInstall && $_->{mntpoint} =~ m!^/tmp/\w*image$!) {
+ $_->{real_mntpoint} = delete $_->{mntpoint};
+ }
+ $_->{isMounted} = 1;
+ set_isFormatted($_, 1);
+ }
+ merge_fstabs('loose', $fstab, @l1, @l2);
+}
+
+# - when using "$loose", it does not merge in type&options from the fstab
+sub merge_info_from_fstab {
+ my ($fstab, $prefix, $uniq, $loose) = @_;
+
+ my @l = grep {
+ if ($uniq) {
+ my $part = fs::get::mntpoint2part($_->{mntpoint}, $fstab);
+ !$part || fs::get::is_same_hd($part, $_); #- keep it only if it is the mountpoint AND the same device
+ } else {
+ 1;
+ }
+ } read_fstab($prefix, '/etc/fstab', 'keep_default');
+
+ merge_fstabs($loose, $fstab, @l);
+}
+
+sub get_info_from_fstab {
+ my ($all_hds) = @_;
+ my @l = read_fstab($::prefix, '/etc/fstab', 'keep_default');
+ add2all_hds($all_hds, @l);
+}
+
+sub prepare_write_fstab {
+ my ($fstab, $o_prefix, $b_keep_smb_credentials) = @_;
+ $o_prefix ||= '';
+
+ my %new;
+ my @smb_credentials;
+ my @l = map {
+ my $device =
+ isLoopback($_) ?
+ ($_->{mntpoint} eq '/' ? "/initrd/loopfs" : $_->{loopback_device}{mntpoint}) . $_->{loopback_file} :
+ fs::wild_device::from_part($o_prefix, $_);
+
+ my $real_mntpoint = $_->{mntpoint} || ${{ '/tmp/hdimage' => '/mnt/hd' }}{$_->{real_mntpoint}};
+ mkdir_p("$o_prefix$real_mntpoint") if $real_mntpoint =~ m|^/|;
+ my $mntpoint = fs::type::carry_root_loopback($_) ? '/initrd/loopfs' : $real_mntpoint;
+
+ my ($freq, $passno) =
+ exists $_->{freq} ?
+ ($_->{freq}, $_->{passno}) :
+ isTrueLocalFS($_) && $_->{options} !~ /encryption=/ && (!$_->{is_removable} || member($_->{mntpoint}, fs::type::directories_needed_to_boot())) ?
+ (1, $_->{mntpoint} eq '/' ? 1 : fs::type::carry_root_loopback($_) ? 0 : 2) :
+ (0, 0);
+
+ if (($device eq 'none' || !$new{$device}) && ($mntpoint eq 'swap' || !$new{$mntpoint})) {
+ #- keep in mind the new line for fstab.
+ $new{$device} = 1;
+ $new{$mntpoint} = 1;
+
+ my $options = $_->{options};
+
+ if ($_->{fs_type} eq 'smbfs' && $options =~ /password=/ && !$b_keep_smb_credentials) {
+ require fs::remote::smb;
+ if (my ($opts, $smb_credentials) = fs::remote::smb::fstab_entry_to_credentials($_)) {
+ $options = $opts;
+ push @smb_credentials, $smb_credentials;
+ }
+ }
+
+ my $fs_type = $_->{fs_type} || 'auto';
+
+ s/ /\\040/g foreach $mntpoint, $device, $options;
+
+ # handle bloody supermount special case
+ if ($options =~ /supermount/) {
+ my @l = grep { $_ ne 'supermount' } split(',', $options);
+ my ($l1, $l2) = partition { member($_, 'ro', 'exec') } @l;
+ $options = join(",", "dev=$device", "fs=$fs_type", @$l1, if_(@$l2, '--', @$l2));
+ ($device, $fs_type) = ('none', 'supermount');
+ } else {
+ #- if we were using supermount, the type could be something like ext2:vfat
+ #- but this can not be done without supermount, so switching to "auto"
+ $fs_type = 'auto' if $fs_type =~ /:/;
+ }
+
+ my $file_dep = $options =~ /\b(loop|bind)\b/ ? $device : '';
+
+ [ $file_dep, $mntpoint, $_->{comment} . join(' ', $device, $mntpoint, $fs_type, $options || 'defaults', $freq, $passno) . "\n" ];
+ } else {
+ ();
+ }
+ } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{fs_type} && ($_->{isFormatted} || !$_->{notFormatted}) } @$fstab;
+
+ sub sort_it {
+ my (@l) = @_;
+
+ if (my $file_based = find { $_->[0] } @l) {
+ my ($before, $other) = partition { $file_based->[0] =~ /^\Q$_->[1]/ } @l;
+ $file_based->[0] = ''; #- all dependencies are now in before
+ if (@$other && @$before) {
+ sort_it(@$before), sort_it(@$other);
+ } else {
+ sort_it(@l);
+ }
+ } else {
+ sort { $a->[1] cmp $b->[1] } @l;
+ }
+ }
+ @l = sort_it(@l);
+
+ join('', map { $_->[2] } @l), \@smb_credentials;
+}
+
+sub fstab_to_string {
+ my ($all_hds, $o_prefix) = @_;
+ my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
+ my ($s, undef) = prepare_write_fstab($fstab, $o_prefix, 'keep_smb_credentials');
+ $s;
+}
+
+sub write_fstab {
+ my ($all_hds, $o_prefix) = @_;
+ log::l("writing $o_prefix/etc/fstab");
+ my $fstab = [ fs::get::really_all_fstab($all_hds), @{$all_hds->{special}} ];
+ my ($s, $smb_credentials) = prepare_write_fstab($fstab, $o_prefix, '');
+ output("$o_prefix/etc/fstab", $s);
+ fs::remote::smb::save_credentials($_) foreach @$smb_credentials;
+}
+
+sub set_removable_mntpoints {
+ my ($all_hds) = @_;
+
+ my %names;
+ foreach (@{$all_hds->{raw_hds}}) {
+ my $name = detect_devices::suggest_mount_point($_) or next;
+ $name eq 'zip' and next;
+
+ my $s = ++$names{$name};
+ $_->{mntpoint} ||= "/media/$name" . ($s == 1 ? '' : $s);
+ }
+}
+
+sub get_raw_hds {
+ my ($prefix, $all_hds) = @_;
+
+ push @{$all_hds->{raw_hds}}, detect_devices::removables();
+ $_->{is_removable} = 1 foreach @{$all_hds->{raw_hds}};
+
+ get_major_minor($all_hds->{raw_hds});
+
+ my @fstab = read_fstab($prefix, '/etc/fstab', 'keep_default');
+ $all_hds->{nfss} = [ grep { $_->{fs_type} eq 'nfs' } @fstab ];
+ $all_hds->{smbs} = [ grep { $_->{fs_type} eq 'smbfs' } @fstab ];
+ $all_hds->{davs} = [ grep { $_->{fs_type} eq 'davfs2' } @fstab ];
+ $all_hds->{special} = [
+ (grep { $_->{fs_type} eq 'tmpfs' } @fstab),
+ { device => 'none', mntpoint => '/proc', fs_type => 'proc' },
+ ];
+}
+
+################################################################################
+# various functions
+################################################################################
+sub df {
+ my ($part, $o_prefix) = @_;
+ my $dir = "/tmp/tmp_fs_df";
+
+ return $part->{free} if exists $part->{free};
+
+ if ($part->{isMounted}) {
+ $dir = ($o_prefix || '') . $part->{mntpoint};
+ } elsif ($part->{notFormatted} && !$part->{isFormatted}) {
+ return; #- will not even try!
+ } else {
+ mkdir_p($dir);
+ eval { fs::mount::mount(devices::make($part->{device}), $dir, $part->{fs_type}, 'readonly') };
+ if ($@) {
+ set_isFormatted($part, 0);
+ unlink $dir;
+ return;
+ }
+ }
+ my (undef, $free) = MDK::Common::System::df($dir);
+
+ if (!$part->{isMounted}) {
+ fs::mount::umount($dir);
+ unlink($dir);
+ }
+
+ $part->{free} = 2 * $free if defined $free;
+ $part->{free};
+}
+
+1;
diff --git a/perl-install/fs/any.pm b/perl-install/fs/any.pm
new file mode 100644
index 000000000..53e526ba1
--- /dev/null
+++ b/perl-install/fs/any.pm
@@ -0,0 +1,66 @@
+package fs::any; # $Id$
+
+use diagnostics;
+use strict;
+
+use common;
+use fsedit;
+use fs::mount_point;
+
+sub get_hds {
+ my ($all_hds, $fstab, $manual_fstab, $partitioning_flags, $skip_mtab, $o_in) = @_;
+
+ my $probed_all_hds = fsedit::get_hds($partitioning_flags, $o_in);
+ my $hds = $probed_all_hds->{hds};
+
+ if (is_empty_array_ref($hds) && !$::move) { #- no way
+ die N("An error occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem");
+ }
+
+ #- try to figure out if the same number of hds is available, use them if ok.
+ @{$all_hds->{hds} || []} == @$hds and return 1;
+
+ fs::get_raw_hds('', $probed_all_hds);
+ fs::add2all_hds($probed_all_hds, @$manual_fstab);
+
+ %$all_hds = %$probed_all_hds;
+ @$fstab = fs::get::really_all_fstab($all_hds);
+
+ if (!$skip_mtab) {
+ #- do not mount the windows partition
+ fs::merge_info_from_mtab($fstab);
+ fs::mount_point::suggest_mount_points_always($fstab);
+ }
+
+ 1;
+}
+
+sub write_hds {
+ my ($all_hds, $fstab, $set_mount_defaults, $on_reboot_needed, $opts) = @_;
+ if (!$::testing) {
+ my $hds = $all_hds->{hds};
+ partition_table::write($_) foreach @$hds;
+ $_->{rebootNeeded} and $on_reboot_needed->() foreach @$hds;
+ }
+
+ fs::set_removable_mntpoints($all_hds);
+ fs::mount_options::set_all_default($all_hds, %$opts, lang::fs_options($opts->{locale}))
+ if $set_mount_defaults;
+
+ @$fstab = fs::get::fstab($all_hds);
+}
+
+sub check_hds_boot_and_root {
+ my ($all_hds, $fstab) = @_;
+ fs::get::root_($fstab) or die "Oops, no root partition";
+
+ if (arch() =~ /ppc/ && detect_devices::get_mac_generation() =~ /NewWorld/) {
+ die "Need bootstrap partition to boot system!" if !(defined $partition_table::mac::bootstrap_part);
+ }
+
+ if (arch() =~ /ia64/ && !fs::get::has_mntpoint("/boot/efi", $all_hds)) {
+ die N("You must have a FAT partition mounted in /boot/efi");
+ }
+}
+
+1;
diff --git a/perl-install/fs/dmraid.pm b/perl-install/fs/dmraid.pm
new file mode 100644
index 000000000..6f440e5b6
--- /dev/null
+++ b/perl-install/fs/dmraid.pm
@@ -0,0 +1,214 @@
+package fs::dmraid; # $Id: dmraid.pm 58508 2006-08-28 17:25:09Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use modules;
+use devices;
+use fs::type;
+use fs::wild_device;
+use run_program;
+
+
+sub init() {
+ whereis_binary('dmraid') or die "dmraid not installed";
+
+ eval { modules::load('dm-mirror') };
+ devices::init_device_mapper();
+ if ($::isInstall) {
+ call_dmraid('-ay');
+ }
+ 1;
+}
+
+#- call_dmraid is overloaded when debugging, see the end of this file
+sub call_dmraid {
+ my ($option, @args) = @_;
+ run_program::get_stdout('dmraid', $option, @args);
+}
+
+sub check {
+ my ($in) = @_;
+
+ $in->do_pkgs->ensure_binary_is_installed('dmraid', 'dmraid') or return;
+ init();
+ 1;
+}
+
+sub _raid_devices_raw() {
+ map {
+ chomp;
+ log::l("got: $_");
+ my %l; @l{qw(pv format vg level status size)} = split(':');
+ if_(defined $l{size}, \%l);
+ } call_dmraid('-r', '-c', '-c');
+}
+
+sub _raid_devices() {
+ my @l = _raid_devices_raw();
+ my %vg2pv; push @{$vg2pv{$_->{vg}}}, delete $_->{pv} foreach @l;
+ my %vg2status; push @{$vg2status{$_->{vg}}}, delete $_->{status} foreach @l;
+ map {
+ delete $_->{size}; #- now irrelevant
+ $_->{disks} = $vg2pv{$_->{vg}};
+ $_->{status} = (every { $_ eq 'ok' } @{$vg2status{$_->{vg}}}) ? 'ok' : join(' ', @{$vg2status{$_->{vg}}});
+ $_;
+ } uniq_ { $_->{vg} } @l;
+}
+
+sub _sets_raw() {
+ map {
+ chomp;
+ log::l("got: $_");
+ my %l; @l{qw(name size stride level status subsets devs spares)} = split(':');
+ if_(defined $l{spares}, \%l);
+ } call_dmraid('-s', '-c', '-c');
+}
+
+sub _sets() {
+ my @sets = _sets_raw();
+ my @raid_devices = _raid_devices();
+ foreach (@sets) {
+ my $name = $_->{name};
+ my @l = grep { begins_with($name, $_->{vg}) } @raid_devices;
+ log::l("ERROR: multiple match for set $name: " . join(' ', map { $_->{vg} } @l)) if @l > 1;
+
+ @l = grep { begins_with($_->{vg}, $name) } @raid_devices if !@l;
+
+ if (@l) {
+ foreach my $raid (@l) {
+ push @{$_->{disks}}, @{$raid->{disks}};
+ add2hash($_, $raid);
+ $_->{status} = $raid->{status} if $_->{status} eq 'ok' && $::isInstall;
+ }
+ } else {
+ log::l("ERROR: no matching raid devices for set $name");
+ }
+ }
+ @sets;
+}
+
+sub vgs() {
+ map {
+ my $dev = "mapper/$_->{name}";
+ my $vg = fs::wild_device::to_subpart("/dev/$dev");
+ add2hash($vg, { media_type => 'hd', prefix => $dev, bus => "dmraid_$_->{format}", disks => $_->{disks} });
+
+ #- device should exist, created by dmraid(8) using libdevmapper
+ #- if it doesn't, we suppose it's not in use
+ if_(-e "/dev/$dev", $vg);
+
+ } grep {
+ if ($_->{status} eq 'ok') {
+ 1;
+ } else {
+ call_dmraid('-an', $_->{vg}) if $::isInstall; #- for things like bad_sil below, deactivating half activated dmraid
+ 0;
+ }
+ } _sets();
+}
+
+if ($ENV{DRAKX_DEBUG_DMRAID}) {
+ eval(<<'EOF');
+ my %debug_data = (
+
+ isw => {
+
+ # dmraid -s ####################
+ # *** Group superset isw_ffafgbdhi
+ # --> Active Subset
+ # name : isw_ffafgbdhi_toto
+ # size : 234441216
+ # stride : 256
+ # type : mirror
+ # status : ok
+ # subsets: 0
+ # devs : 2
+ # spares : 0
+
+ '-s' => "isw_ffafgbdhi_toto:234441216:256:mirror:ok:0:2:0\n",
+
+ # dmraid -r ####################
+ #/dev/sda: isw, "isw_ffafgbdhi", GROUP, ok, 488397166 sectors, data@ 0
+ #/dev/sdb: isw, "isw_ffafgbdhi", GROUP, ok, 234441646 sectors, data@ 0
+
+ '-r' => "/dev/sda:isw:isw_ffafgbdhi:GROUP:ok:488397166:0\n" .
+ "/dev/sdb:isw:isw_ffafgbdhi:GROUP:ok:234441646:0\n",
+ },
+
+ pdc => {
+ # dmraid -s ####################
+ # *** Active Set
+ # name : pdc_bcefbiigfg
+ # size : 80043200
+ # stride : 128
+ # type : mirror
+ # status : ok
+ # subsets: 0
+ # devs : 2
+ # spares : 0
+
+ '-s' => "pdc_bcefbiigfg:80043200:128:mirror:ok:0:2:0\n",
+
+ # dmraid -r ####################
+ # /dev/sda: pdc, "pdc_bcefbiigfg", mirror, ok, 80043200 sectors, data@ 0
+ # /dev/sdb: pdc, "pdc_bcefbiigfg", mirror, ok, 80043200 sectors, data@ 0
+
+ '-r' => "/dev/sda:pdc:pdc_bcefbiigfg:mirror:ok:80043200:0\n" .
+ "/dev/sdb:pdc:pdc_bcefbiigfg:mirror:ok:80043200:0\n",
+ },
+
+ bad_sil => {
+ '-s' => "sil_aeacdidecbcb:234439600:0:mirror:ok:0:1:0\n",
+ # ERROR: sil: only 3/4 metadata areas found on /dev/sdb, electing...
+
+ '-r' => "/dev/sdb:sil:sil_aeacdidecbcb:mirror:broken:234439600:0\n",
+ # ERROR: sil: only 3/4 metadata areas found on /dev/sdb, electing...
+ },
+
+ weird_nvidia => {
+ '-s' => <<'EO',
+/dev/sda: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sdb: "sil" and "nvidia" formats discovered (using nvidia)!
+nvidia_bcjdbjfa:586114702:128:mirror:ok:0:2:0
+EO
+ '-r' => <<'EO',
+/dev/sda: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sdb: "sil" and "nvidia" formats discovered (using nvidia)!
+/dev/sda:nvidia:nvidia_bcjdbjfa:mirror:ok:586114702:0
+/dev/sdb:nvidia:nvidia_bcjdbjfa:mirror:ok:586114702:0
+EO
+ # ERROR: multiple match for set nvidia_bcjdbjfa: nvidia_bcjdbjfa
+ },
+
+ nvidia_with_subsets => {
+ '-s' => <<'EO',
+nvidia_bfcciffh:625163520:128:raid10:ok:2:4:0
+EO
+ '-r' => <<'EO',
+/dev/sda:nvidia:nvidia_bfcciffh-0:stripe:ok:312581806:0
+/dev/sdb:nvidia:nvidia_bfcciffh-0:stripe:ok:312581806:0
+/dev/sdc:nvidia:nvidia_bfcciffh-1:stripe:ok:312581806:0
+/dev/sdd:nvidia:nvidia_bfcciffh-1:stripe:ok:312581806:0
+EO
+ # ERROR: multiple match for set nvidia_bcjdbjfa: nvidia_bcjdbjfa
+ },
+ );
+
+ *call_dmraid = sub {
+ my ($option, @args) = @_;
+ if (my $s = $debug_data{$ENV{DRAKX_DEBUG_DMRAID}}{$option}) {
+ split("\n", $s);
+ } else {
+ warn "dmraid $option @args\n";
+ }
+ };
+EOF
+ $@ and die;
+}
+
+1;
diff --git a/perl-install/fs/format.pm b/perl-install/fs/format.pm
new file mode 100644
index 000000000..63eeb2d77
--- /dev/null
+++ b/perl-install/fs/format.pm
@@ -0,0 +1,195 @@
+package fs::format; # $Id: format.pm 150513 2007-04-03 08:49:37Z pixel $
+
+use diagnostics;
+use strict;
+use String::ShellQuote;
+
+use run_program;
+use common;
+use fs::type;
+use fs::loopback;
+use log;
+
+my %cmds = (
+ ext2 => [ 'e2fsprogs', 'mkfs.ext2', '-F' ],
+ ext3 => [ 'e2fsprogs', 'mkfs.ext2', '-F', '-j' ],
+ reiserfs => [ 'reiserfsprogs', 'mkfs.reiserfs', '-ff' ],
+ reiser4 => [ 'reiser4progs', 'mkfs.reiser4', '-f', '-y' ],
+ xfs => [ 'xfsprogs', 'mkfs.xfs', '-f', '-q' ],
+ jfs => [ 'jfsprogs', 'mkfs.jfs', '-f' ],
+ hfs => [ 'hfsutils', 'hformat' ],
+ dos => [ 'dosfstools', 'mkdosfs' ],
+ vfat => [ 'dosfstools', 'mkdosfs', '-F', '32' ],
+ swap => [ 'util-linux', 'mkswap' ],
+ ntfs => [ 'ntfsprogs', 'mkntfs' ],
+);
+
+my %LABELs = ( #- option, length, handled_by_mount
+ ext2 => [ '-L', 16, 1 ],
+ ext3 => [ '-L', 16, 1 ],
+ reiserfs => [ '-l', 16, 1 ],
+ xfs => [ '-L', 12, 1 ],
+ jfs => [ '-L', 16, 1 ],
+ hfs => [ '-l', 27, 0 ],
+ dos => [ '-n', 11, 0 ],
+ vfat => [ '-n', 11, 0 ],
+ swap => [ '-L', 15, 1 ],
+);
+
+sub package_needed_for_partition_type {
+ my ($part) = @_;
+ my $l = $cmds{$part->{fs_type}} or return;
+ $l->[0];
+}
+
+sub known_type {
+ my ($part) = @_;
+ to_bool($cmds{$part->{fs_type}});
+}
+
+sub check_package_is_installed {
+ my ($do_pkgs, $fs_type) = @_;
+
+ my ($pkg, $binary) = @{$cmds{$fs_type} || return};
+ whereis_binary($binary) || $do_pkgs->ensure_binary_is_installed($pkg, $binary); #- ensure_binary_is_installed checks binary chrooted, whereas we run the binary non-chrooted (pb for Mandriva One)
+}
+
+sub part {
+ my ($all_hds, $part, $wait_message) = @_;
+ if (isRAID($part)) {
+ $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
+ require raid;
+ raid::format_part($all_hds->{raids}, $part);
+ } elsif (isLoopback($part)) {
+ $wait_message->(N("Creating and formatting file %s", $part->{loopback_file})) if $wait_message;
+ fs::loopback::format_part($part);
+ } else {
+ $wait_message->(N("Formatting partition %s", $part->{device})) if $wait_message;
+ part_raw($part, $wait_message);
+ }
+}
+
+sub part_raw {
+ my ($part, $wait_message) = @_;
+
+ $part->{isFormatted} and return;
+
+ if ($part->{encrypt_key}) {
+ fs::mount::set_loop($part);
+ }
+
+ my $dev = $part->{real_device} || $part->{device};
+
+ my @options = if_($part->{toFormatCheck}, "-c");
+ log::l("formatting device $dev (type $part->{fs_type})");
+
+ my $fs_type = $part->{fs_type};
+
+ if ($fs_type eq 'ext2' || $fs_type eq 'ext3') {
+ push @options, "-m", "0" if $part->{mntpoint} =~ m|^/home|;
+ } elsif (isDos($part)) {
+ $fs_type = 'dos';
+ } elsif ($fs_type eq 'hfs') {
+ push @options, '-l', "Untitled";
+ } elsif (isAppleBootstrap($part)) {
+ push @options, '-l', 'bootstrap';
+ }
+
+ if ($part->{device_LABEL}) {
+ if ($LABELs{$fs_type}) {
+ my ($option, $length, $handled_by_mount) = @{$LABELs{$fs_type}};
+ if (length $part->{device_LABEL} > $length) {
+ my $short = substr($part->{device_LABEL}, 0, $length);
+ log::l("shortening LABEL $part->{device_LABEL} to $short");
+ $part->{device_LABEL} = $short;
+ }
+ delete $part->{prefer_device_LABEL}
+ if !$handled_by_mount || $part->{mntpoint} eq '/' && !member($fs_type, 'ext2', 'ext3');
+
+ push @options, $option, $part->{device_LABEL};
+ } else {
+ log::l("dropping LABEL=$part->{device_LABEL} since we don't know how to set labels for fs_type $part->{fs_type}");
+ delete $part->{device_LABEL};
+ delete $part->{prefer_device_LABEL};
+ }
+ }
+
+ my ($_pkg, $cmd, @first_options) = @{$cmds{$fs_type} || die N("I do not know how to format %s in type %s", $part->{device}, $part->{fs_type})};
+
+ my @args = ($cmd, @first_options, @options, devices::make($dev));
+
+ if ($cmd eq 'mkfs.ext2' && $wait_message) {
+ mkfs_ext2($wait_message, @args) or die N("%s formatting of %s failed", $fs_type, $dev);
+ } else {
+ run_program::raw({ timeout => 'never' }, @args) or die N("%s formatting of %s failed", $fs_type, $dev);
+ }
+
+ if ($fs_type eq 'ext3') {
+ disable_forced_fsck($dev);
+ }
+
+ set_isFormatted($part, 1);
+}
+
+sub mkfs_ext2 {
+ my ($wait_message, @args) = @_;
+
+ my $cmd = shell_quote_best_effort(@args);
+ log::l("running: $cmd");
+ open(my $F, "$cmd |");
+
+ local $/ = "\b";
+ local $_;
+ while (<$F>) {
+ #- even if it still takes some time when format is over, we don't want the progress bar to stay at 85%
+ $wait_message->('', $1, $2) if m!^\s*(\d+)/(\d+)\b!;
+ }
+ return close($F);
+}
+
+sub disable_forced_fsck {
+ my ($dev) = @_;
+ run_program::run("tune2fs", "-c0", "-i0", devices::make($dev));
+}
+
+sub formatMount_part {
+ my ($part, $all_hds, $fstab, $wait_message) = @_;
+
+ if (isLoopback($part)) {
+ formatMount_part($part->{loopback_device}, $all_hds, $fstab, $wait_message);
+ }
+ if (my $p = fs::get::up_mount_point($part->{mntpoint}, $fstab)) {
+ formatMount_part($p, $all_hds, $fstab, $wait_message) if !fs::type::carry_root_loopback($part);
+ }
+ if ($part->{toFormat}) {
+ fs::format::part($all_hds, $part, $wait_message);
+ }
+
+ #- setting user_xattr on /home (or "/" if no /home)
+ if (!$part->{isMounted} && $part->{fs_type} eq 'ext3'
+ && ($part->{mntpoint} eq '/home' ||
+ !fs::get::has_mntpoint('/home', $all_hds) && $part->{mntpoint} eq '/')) {
+ run_program::run('tune2fs', '-o', 'user_xattr', devices::make($part->{real_device} || $part->{device}));
+ }
+
+ fs::mount::part($part, 0, $wait_message);
+}
+
+sub formatMount_all {
+ my ($all_hds, $fstab, $wait_message) = @_;
+ formatMount_part($_, $all_hds, $fstab, $wait_message)
+ foreach sort { isLoopback($a) ? 1 : isSwap($a) ? -1 : 0 } grep { $_->{mntpoint} } @$fstab;
+
+ #- ensure the link is there
+ fs::loopback::carryRootCreateSymlink($_) foreach @$fstab;
+
+ #- for fun :)
+ #- that way, when install exits via ctrl-c, it gives hand to partition
+ eval {
+ my ($_type, $major, $minor) = devices::entry(fs::get::root($fstab)->{device});
+ output "/proc/sys/kernel/real-root-dev", makedev($major, $minor);
+ };
+}
+
+
+1;
diff --git a/perl-install/fs/get.pm b/perl-install/fs/get.pm
new file mode 100644
index 000000000..72727c253
--- /dev/null
+++ b/perl-install/fs/get.pm
@@ -0,0 +1,155 @@
+package fs::get; # $Id: get.pm 54943 2006-08-09 17:41:26Z pixel $
+
+use diagnostics;
+use strict;
+
+use partition_table;
+use fs::type;
+use fs::loopback;
+use fs::wild_device;
+use fs;
+use common;
+use log;
+
+sub empty_all_hds() {
+ { hds => [], lvms => [], raids => [], loopbacks => [], raw_hds => [], nfss => [], smbs => [], davs => [], special => [] };
+}
+sub fstab {
+ my ($all_hds) = @_;
+ my @parts = map { partition_table::get_normal_parts($_) } hds($all_hds);
+ @parts, @{$all_hds->{raids}}, @{$all_hds->{loopbacks}};
+}
+sub really_all_fstab {
+ my ($all_hds) = @_;
+ my @l = fstab($all_hds);
+ @l, @{$all_hds->{raw_hds}}, @{$all_hds->{nfss}}, @{$all_hds->{smbs}}, @{$all_hds->{davs}};
+}
+
+sub fstab_and_holes {
+ my ($all_hds, $b_non_readonly) = @_;
+ my @hds = grep { !($b_non_readonly && $_->{readonly}) } hds($all_hds);
+ hds_fstab_and_holes(@hds), @{$all_hds->{raids}}, @{$all_hds->{loopbacks}};
+}
+
+sub holes {
+ my ($all_hds, $b_non_readonly) = @_;
+ grep { isEmpty($_) } fstab_and_holes($all_hds, $b_non_readonly);
+}
+sub hds_holes {
+ grep { isEmpty($_) } hds_fstab_and_holes(@_);
+}
+sub free_space {
+ my ($all_hds) = @_;
+ sum map { $_->{size} } holes($all_hds);
+}
+sub hds_free_space {
+ sum map { $_->{size} } hds_holes(@_);
+}
+
+sub hds {
+ my ($all_hds) = @_;
+ (@{$all_hds->{hds}}, @{$all_hds->{lvms}});
+}
+
+#- get all normal partition including special ones as found on sparc.
+sub hds_fstab {
+ map { partition_table::get_normal_parts($_) } @_;
+}
+
+sub vg_free_space {
+ my ($hd) = @_;
+ my @parts = partition_table::get_normal_parts($hd);
+ $hd->{totalsectors} - sum map { $_->{size} } @parts;
+}
+
+sub hds_fstab_and_holes {
+ map {
+ if (isLVM($_)) {
+ my @parts = partition_table::get_normal_parts($_);
+ my $free = vg_free_space($_);
+ my $free_part = { start => 0, size => $free, pt_type => 0, rootDevice => $_->{VG_name} };
+ @parts, if_($free >= $_->cylinder_size, $free_part);
+ } else {
+ partition_table::get_normal_parts_and_holes($_);
+ }
+ } @_;
+}
+
+
+sub device2part {
+ my ($dev, $fstab) = @_;
+ my $subpart = fs::wild_device::to_subpart($dev);
+ my $part = find { is_same_hd($subpart, $_) } @$fstab;
+ log::l("fs::get::device2part: unknown device <<$dev>>") if !$part;
+ $part;
+}
+
+sub part2hd {
+ my ($part, $all_hds) = @_;
+ my $hd = find { $part->{rootDevice} eq ($_->{device} || $_->{VG_name}) } hds($all_hds);
+ $hd;
+}
+
+sub file2part {
+ my ($fstab, $file, $b_keep_simple_symlinks) = @_;
+ my $part;
+
+ $file = $b_keep_simple_symlinks ? common::expand_symlinks_but_simple("$::prefix$file") : expand_symlinks("$::prefix$file");
+ unless ($file =~ s/^$::prefix//) {
+ my $part = find { fs::type::carry_root_loopback($_) } @$fstab or die;
+ log::l("found $part->{mntpoint}");
+ $file =~ s|/initrd/loopfs|$part->{mntpoint}|;
+ }
+ foreach (@$fstab) {
+ my $m = $_->{mntpoint};
+ $part = $_ if
+ $file =~ /^\Q$m/ &&
+ (!$part || length $part->{mntpoint} < length $m);
+ }
+ $part or die "file2part: not found $file";
+ $file =~ s|$part->{mntpoint}/?|/|;
+ ($part, $file);
+}
+
+sub mntpoint2part {
+ my ($mntpoint, $fstab) = @_;
+ find { $mntpoint eq $_->{mntpoint} } @$fstab;
+}
+sub has_mntpoint {
+ my ($mntpoint, $all_hds) = @_;
+ mntpoint2part($mntpoint, [ really_all_fstab($all_hds) ]);
+}
+sub root_ {
+ my ($fstab, $o_boot) = @_;
+ $o_boot && mntpoint2part("/boot", $fstab) || mntpoint2part("/", $fstab);
+}
+sub root { &root_ || {} }
+
+sub up_mount_point {
+ my ($mntpoint, $fstab) = @_;
+ while (1) {
+ $mntpoint = dirname($mntpoint);
+ $mntpoint ne "." or return;
+ $_->{mntpoint} eq $mntpoint and return $_ foreach @$fstab;
+ }
+}
+
+sub is_same_hd {
+ my ($hd1, $hd2) = @_;
+ if ($hd1->{major} && $hd2->{major}) {
+ $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor};
+ } elsif (my ($s1) = $hd1->{device} =~ m|https?://(.+?)/*$|) {
+ my ($s2) = $hd2->{device} =~ m|https?://(.+?)/*$|;
+ $s1 eq $s2;
+ } else {
+ $hd1->{device_LABEL} && $hd2->{device_LABEL} && $hd1->{device_LABEL} eq $hd2->{device_LABEL}
+ || $hd1->{device} && $hd2->{device} && $hd1->{device} eq $hd2->{device};
+ }
+}
+
+sub mntpoint_prefixed {
+ my ($part) = @_;
+ $::prefix . $part->{mntpoint};
+}
+
+1;
diff --git a/perl-install/fs/loopback.pm b/perl-install/fs/loopback.pm
new file mode 100644
index 000000000..3c7f79c04
--- /dev/null
+++ b/perl-install/fs/loopback.pm
@@ -0,0 +1,119 @@
+package fs::loopback; # $Id: loopback.pm 23142 2005-06-28 09:12:16Z prigaux $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use fs::type;
+use fs;
+use log;
+
+
+sub check_circular_mounts {
+ my ($part, $all_hds) = @_;
+
+ my $fstab = [ fs::get::fstab($all_hds), $part ]; # no pb if $part is already in $all_hds
+
+ my $base_mntpoint = $part->{mntpoint};
+ my $check; $check = sub {
+ my ($part, @seen) = @_;
+ push @seen, $part->{mntpoint} || return;
+ @seen > 1 && $part->{mntpoint} eq $base_mntpoint and die N("Circular mounts %s\n", join(", ", @seen));
+ if (my $part = fs::get::up_mount_point($part->{mntpoint}, $fstab)) {
+ #- '/' carrier is a special case, it will be mounted first
+ $check->($part, @seen) if !fs::type::carry_root_loopback($part);
+ }
+ if (isLoopback($part)) {
+ $check->($part->{loopback_device}, @seen);
+ }
+ };
+ $check->($part) if !($base_mntpoint eq '/' && isLoopback($part)); #- '/' is a special case, no loop check
+}
+
+sub carryRootCreateSymlink {
+ my ($part) = @_;
+
+ fs::type::carry_root_loopback($part) or return;
+
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+ unless (-e $mntpoint) {
+ eval { mkdir_p(dirname($mntpoint)) };
+ #- do non-relative link for install, should be changed to relative link before rebooting
+ symlink "/initrd/loopfs", $mntpoint;
+
+ mkdir_p("/initrd/loopfs/lnx4win/boot");
+ symlink "/initrd/loopfs/lnx4win/boot", "$::prefix/boot";
+ }
+ #- indicate kernel to keep initrd
+ mkdir_p("$::prefix/initrd");
+}
+
+
+sub format_part {
+ my ($part) = @_;
+ fs::mount::part($part->{loopback_device});
+ create($part);
+ fs::format::part_raw($part, undef);
+}
+
+sub create {
+ my ($part) = @_;
+ my $f = $part->{device} = fs::get::mntpoint_prefixed($part->{loopback_device}) . $part->{loopback_file};
+ return if -e $f;
+
+ eval { mkdir_p(dirname($f)) };
+
+ log::l("creating loopback file $f ($part->{size} sectors)");
+
+ my $block_size = 128;
+ my $s = "\0" x (512 * $block_size);
+ sysopen(my $F, $f, 2 | c::O_CREAT()) or die "failed to create loopback file";
+ for (my $i = 0; $i < $part->{size}; $i += $block_size) {
+ syswrite $F, $s or die "failed to create loopback file";
+ }
+}
+
+sub getFree {
+ my ($dir, $part) = @_;
+ my $freespace = $dir ?
+ 2 * (MDK::Common::System::df($dir))[1] : #- df in KiB
+ $part->{size};
+
+ $freespace - sum map { $_->{size} } @{$part->{loopback} || []};
+}
+
+#- returns the size of the loopback file if it already exists
+#- returns -1 is the loopback file can not be used
+sub verifFile {
+ my ($dir, $file, $part) = @_;
+ -e "$dir$file" and return -s "$dir$file";
+
+ $_->{loopback_file} eq $file and return -1 foreach @{$part->{loopback} || []};
+
+ undef;
+}
+
+sub prepare_boot() {
+ my $r = readlink "$::prefix/boot";
+ unlink "$::prefix/boot";
+ mkdir_p("$::prefix/boot");
+ [$r, $::prefix];
+}
+
+sub save_boot {
+ my ($loop_boot, $prefix) = @{$_[0]};
+
+ $loop_boot or return;
+
+ my @files = glob_("$prefix/boot/*");
+ cp_af(@files, $loop_boot) if @files;
+ rm_rf("$prefix/boot");
+ symlink $loop_boot, "$prefix/boot";
+}
+
+
+1;
+
diff --git a/perl-install/fs/mount.pm b/perl-install/fs/mount.pm
new file mode 100644
index 000000000..44cda7c64
--- /dev/null
+++ b/perl-install/fs/mount.pm
@@ -0,0 +1,221 @@
+package fs::mount; # $Id: mount.pm 38787 2006-07-11 18:41:38Z pixel $
+
+use diagnostics;
+use strict;
+
+use run_program;
+use common;
+use fs::type;
+use log;
+
+
+sub set_loop {
+ my ($part) = @_;
+ $part->{device} ||= fs::get::mntpoint_prefixed($part->{loopback_device}) . $part->{loopback_file};
+ $part->{real_device} ||= devices::set_loop(devices::make($part->{device}), $part->{encrypt_key}, $part->{options} =~ /encryption=(\w+)/);
+}
+
+sub swapon {
+ my ($dev) = @_;
+ log::l("swapon called with $dev");
+ syscall_('swapon', devices::make($dev), 0) or die "swapon($dev) failed: $!";
+}
+
+sub swapoff {
+ my ($dev) = @_;
+ syscall_('swapoff', devices::make($dev)) or die "swapoff($dev) failed: $!";
+}
+
+sub mount {
+ my ($dev, $where, $fs, $b_rdonly, $o_options, $o_wait_message) = @_;
+ log::l("mounting $dev on $where as type $fs, options $o_options");
+
+ mkdir_p($where);
+
+ $fs or log::l("not mounting $dev partition"), return;
+
+ {
+ my @fs_modules = qw(ext3 hfs jfs nfs ntfs romfs reiserfs ufs xfs vfat);
+ my @types = (qw(ext2 proc sysfs usbfs usbdevfs iso9660 devfs devpts), @fs_modules);
+
+ push @types, 'smb', 'smbfs', 'davfs2' if !$::isInstall;
+
+ if (!member($fs, @types) && !$::move) {
+ log::l("skipping mounting $dev partition ($fs)");
+ return;
+ }
+ if ($::isInstall) {
+ if (member($fs, @fs_modules)) {
+ eval { modules::load($fs) };
+ } elsif ($fs eq 'iso9660') {
+ eval { modules::load('isofs') };
+ }
+ }
+ }
+
+ $where =~ s|/$||;
+
+ my @mount_opt = split(',', $o_options || '');
+
+ if ($::isInstall) {
+ #- those options need nls_XXX modules, and we don't this at install
+ @mount_opt = grep { $_ ne 'utf8' && !/^iocharset=/ } @mount_opt;
+ }
+
+ if ($fs eq 'vfat') {
+ @mount_opt = 'check=relaxed';
+ } elsif ($fs eq 'ntfs') {
+ @mount_opt = () if $::isInstall; # esp. drop nls=xxx option so that we don't need kernel module nls_xxx
+ } elsif ($fs eq 'nfs') {
+ push @mount_opt, 'nolock', 'soft', 'intr' if $::isInstall;
+ } elsif ($fs eq 'jfs' && !$b_rdonly) {
+ fsck_jfs($dev, $o_wait_message);
+ } elsif ($fs eq 'ext2' && !$b_rdonly) {
+ fsck_ext2($dev, $o_wait_message);
+ }
+
+ push @mount_opt, 'ro' if $b_rdonly;
+
+ $o_wait_message->(N("Mounting partition %s", $dev)) if $o_wait_message;
+ run_program::run('mount', '-t', $fs, $dev, $where, if_(@mount_opt, '-o', join(',', @mount_opt))) or die N("mounting partition %s in directory %s failed", $dev, $where);
+}
+
+sub fsck_ext2 {
+ my ($dev, $o_wait_message) = @_;
+ $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
+ foreach ('-a', '-y') {
+ run_program::raw({ timeout => 60 * 60 }, "fsck.ext2", $_, $dev);
+ my $err = $?;
+ if ($err & 0x0100) {
+ log::l("fsck corrected partition $dev");
+ }
+ if ($err & 0xfeff) {
+ my $txt = sprintf("fsck failed on %s with exit code %d or signal %d", $dev, $err >> 8, $err & 255);
+ $_ eq '-y' ? die($txt) : cdie($txt);
+ } else {
+ last;
+ }
+ }
+}
+sub fsck_jfs {
+ my ($dev, $o_wait_message) = @_;
+ $o_wait_message->(N("Checking %s", $dev)) if $o_wait_message;
+ #- needed if the system is dirty otherwise mounting read-write simply fails
+ run_program::raw({ timeout => 60 * 60 }, "fsck.jfs", $dev) or do {
+ my $err = $?;
+ die "fsck.jfs failed" if $err & 0xfc00;
+ };
+}
+
+#- takes the mount point to umount (can also be the device)
+sub umount {
+ my ($mntpoint) = @_;
+ $mntpoint =~ s|/$||;
+ log::l("calling umount($mntpoint)");
+
+ run_program::run('umount', $mntpoint) or do {
+ kill 15, fuzzy_pidofs('^fam\b');
+ run_program::run('umount', $mntpoint) or die N("error unmounting %s: %s", $mntpoint, $!);
+ };
+
+ substInFile { $_ = '' if /(^|\s)$mntpoint\s/ } '/etc/mtab'; #- do not care about error, if we can not read, we will not manage to write... (and mess mtab)
+}
+
+sub part {
+ my ($part, $b_rdonly, $o_wait_message) = @_;
+
+ log::l("mount_part: " . join(' ', map { "$_=$part->{$_}" } 'device', 'mntpoint', 'isMounted', 'real_mntpoint'));
+
+ return if $part->{isMounted} && !($part->{real_mntpoint} && $part->{mntpoint});
+
+ unless ($::testing) {
+ if (isSwap($part)) {
+ $o_wait_message->(N("Enabling swap partition %s", $part->{device})) if $o_wait_message;
+ swapon($part->{device});
+ } elsif ($part->{real_mntpoint}) {
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+
+ mkdir_p($mntpoint);
+ run_program::run_or_die('mount', '--move', $part->{real_mntpoint}, $mntpoint);
+
+ rmdir $part->{real_mntpoint};
+ symlinkf $mntpoint, $part->{real_mntpoint};
+ delete $part->{real_mntpoint};
+
+ my $dev = $part->{real_device} || fs::wild_device::from_part('', $part);
+ run_program::run_or_die('mount', $dev, $mntpoint, '-o', join(',', 'remount', $b_rdonly ? 'ro' : 'rw'));
+ } else {
+ $part->{mntpoint} or die "missing mount point for partition $part->{device}";
+
+ my $mntpoint = fs::get::mntpoint_prefixed($part);
+ my $options = $part->{options};
+ if ($part->{encrypt_key}) {
+ set_loop($part);
+ $options = join(',', grep { !/^(encryption=|encrypted$|loop$)/ } split(',', $options)); #- we take care of this, don't let it mount see it
+ } elsif (isLoopback($part)) {
+ #- mount will take care, but we must help it
+ devices::make("loop$_") foreach 0 .. 7;
+ $options = join(',', uniq('loop', split(',', $options))); #- ensure the loop options is used
+ } elsif ($part->{options} =~ /encrypted/) {
+ log::l("skip mounting $part->{device} since we do not have the encrypt_key");
+ return;
+ } elsif (fs::type::carry_root_loopback($part)) {
+ $mntpoint = "/initrd/loopfs";
+ }
+ my $dev = $part->{real_device} || fs::wild_device::from_part('', $part);
+ my $fs_type = $part->{fs_type};
+ if ($fs_type eq 'auto' && $part->{media_type} eq 'cdrom' && $::isInstall) {
+ $fs_type = 'iso9660';
+ }
+ mount($dev, $mntpoint, $fs_type, $b_rdonly, $options, $o_wait_message);
+
+ if ($options =~ /usrquota|grpquota/ && $part->{fs_type} eq 'ext3') {
+ if (! find { -e "$mntpoint/$_" } qw(aquota.user aquota.group quota.user quota.group)) {
+ #- quotacheck will create aquota.user and/or aquota.group,
+ #- needed for quotas on ext3.
+ run_program::run('quotacheck', $mntpoint);
+ }
+ }
+ }
+ }
+ $part->{isMounted} = 1;
+ set_isFormatted($part, 1); #- assume that if mount works, partition is formatted
+}
+
+sub umount_part {
+ my ($part) = @_;
+
+ $part->{isMounted} or return;
+
+ unless ($::testing) {
+ if (isSwap($part)) {
+ swapoff($part->{device});
+ } elsif (fs::type::carry_root_loopback($part)) {
+ umount("/initrd/loopfs");
+ } else {
+ umount($part->{real_mntpoint} || fs::get::mntpoint_prefixed($part) || devices::make($part->{device}));
+ devices::del_loop(delete $part->{real_device}) if $part->{real_device};
+ }
+ }
+ $part->{isMounted} = 0;
+}
+
+sub umount_all {
+ my ($fstab) = @_;
+
+ log::l("unmounting all filesystems");
+
+ foreach (sort { $b->{mntpoint} cmp $a->{mntpoint} }
+ grep { $_->{mntpoint} && !$_->{real_mntpoint} } @$fstab) {
+ umount_part($_);
+ }
+}
+
+sub usbfs {
+ my ($prefix) = @_;
+
+ my $fs = cat_('/proc/filesystems') =~ /usbfs/ ? 'usbfs' : 'usbdevfs';
+ mount('none', "$prefix/proc/bus/usb", $fs);
+}
+
+1;
diff --git a/perl-install/fs/mount_options.pm b/perl-install/fs/mount_options.pm
new file mode 100644
index 000000000..207242268
--- /dev/null
+++ b/perl-install/fs/mount_options.pm
@@ -0,0 +1,268 @@
+package fs::mount_options; # $Id: mount_options.pm 56696 2006-08-17 21:06:04Z tv $
+
+use diagnostics;
+use strict;
+
+use common;
+use fs::type;
+use fs::get;
+use log;
+
+sub list() {
+ my %non_defaults = (
+ sync => 'async', noatime => 'atime', noauto => 'auto', ro => 'rw',
+ user => 'nouser', nodev => 'dev', noexec => 'exec', nosuid => 'suid',
+ user_xattr => 'nouser_xattr',
+ );
+ my @user_implies = qw(noexec nodev nosuid);
+ \%non_defaults, \@user_implies;
+}
+
+sub unpack {
+ my ($part) = @_;
+ my $packed_options = $part->{options};
+
+ my ($non_defaults, $user_implies) = list();
+
+ my @auto_fs = fs::type::guessed_by_mount();
+ my %per_fs = (
+ iso9660 => [ qw(unhide) ],
+ vfat => [ qw(umask=0 umask=0022) ],
+ ntfs => [ qw(umask=0 umask=0022) ],
+ nfs => [ qw(rsize=8192 wsize=8192) ],
+ smbfs => [ qw(username= password=) ],
+ davfs2 => [ qw(username= password= uid= gid=) ],
+ reiserfs => [ 'notail' ],
+ );
+ push @{$per_fs{$_}}, 'usrquota', 'grpquota' foreach 'ext2', 'ext3', 'xfs';
+
+ while (my ($fs, $l) = each %per_fs) {
+ $part->{fs_type} eq $fs || $part->{fs_type} eq 'auto' && member($fs, @auto_fs) or next;
+ $non_defaults->{$_} = 1 foreach @$l;
+ }
+
+ $non_defaults->{encrypted} = 1;
+
+ $non_defaults->{supermount} = 1 if $part->{fs_type} =~ /:/ || member($part->{fs_type}, 'auto', @auto_fs);
+
+ my $defaults = { reverse %$non_defaults };
+ my %options = map { $_ => '' } keys %$non_defaults;
+ my @unknown;
+ foreach (split(",", $packed_options)) {
+ if (member($_, 'user', 'users')) {
+ $options{$_} = 1 foreach $_, @$user_implies;
+ } elsif (exists $non_defaults->{$_}) {
+ $options{$_} = 1;
+ } elsif ($defaults->{$_}) {
+ $options{$defaults->{$_}} = 0;
+ } elsif (/(.*?=)(.*)/) {
+ $options{$1} = $2;
+ } else {
+ push @unknown, $_;
+ }
+ }
+ # merge those, for cleaner help
+ $options{'rsize=8192,wsize=8192'} = delete $options{'rsize=8192'} && delete $options{'wsize=8192'}
+ if exists $options{'rsize=8192'};
+
+ my $unknown = join(",", @unknown);
+ \%options, $unknown;
+}
+
+sub pack_ {
+ my ($_part, $options, $unknown) = @_;
+
+ my ($non_defaults, $user_implies) = list();
+ my @l;
+
+ my @umasks = map {
+ if (/^umask=/) {
+ my $v = delete $options->{$_};
+ /^umask=(.+)/ ? if_($v, $1) : $v;
+ } else { () }
+ } keys %$options;
+ if (@umasks) {
+ push @l, 'umask=' . min(@umasks);
+ }
+
+ if (my $user = find { delete $options->{$_} } 'users', 'user') {
+ push @l, $user;
+ delete $options->{user};
+ foreach (@$user_implies) {
+ if (!delete $options->{$_}) {
+ # overriding
+ $options->{$non_defaults->{$_}} = 1;
+ }
+ }
+ }
+ push @l, map_each { if_($::b, $::a =~ /=$/ ? "$::a$::b" : $::a) } %$options;
+ push @l, $unknown;
+
+ join(",", uniq(grep { $_ } @l));
+}
+sub pack {
+ my ($part, $options, $unknown) = @_;
+ $part->{options} = pack_($part, $options, $unknown);
+ noreturn();
+}
+
+# update me on each util-linux new release:
+sub help() {
+ (
+
+ 'encrypted' => N("Use an encrypted file system"),
+
+ 'grpquota' => N("Enable group disk quota accounting and optionally enforce limits"),
+
+ 'noatime' => N("Do not update inode access times on this file system
+(e.g, for faster access on the news spool to speed up news servers)."),
+
+ 'noauto' => N("Can only be mounted explicitly (i.e.,
+the -a option will not cause the file system to be mounted)."),
+
+ 'nodev' => N("Do not interpret character or block special devices on the file system."),
+
+ 'noexec' => N("Do not allow execution of any binaries on the mounted
+file system. This option might be useful for a server that has file systems
+containing binaries for architectures other than its own."),
+
+ 'nosuid' => N("Do not allow set-user-identifier or set-group-identifier
+bits to take effect. (This seems safe, but is in fact rather unsafe if you
+have suidperl(1) installed.)"),
+
+ 'ro' => N("Mount the file system read-only."),
+
+ 'sync' => N("All I/O to the file system should be done synchronously."),
+
+ 'supermount' => '',
+
+ 'users' => N("Allow every user to mount and umount the file system."),
+
+ 'user' => N("Allow an ordinary user to mount the file system."),
+
+ 'usrquota' => N("Enable user disk quota accounting, and optionally enforce limits"),
+
+ 'user_xattr' => N("Support \"user.\" extended attributes"),
+
+ 'umask=0' => N("Give write access to ordinary users"),
+
+ 'umask=0022' => N("Give read-only access to ordinary users"),
+ );
+}
+
+
+sub rationalize {
+ my ($part) = @_;
+
+ my ($options, $unknown) = &unpack($part);
+
+ if ($part->{fs_type} ne 'reiserfs') {
+ $options->{notail} = 0;
+ }
+ if (!fs::type::can_be_one_of_those_fs_types($part, 'vfat', 'smbfs', 'iso9660', 'udf')) {
+ delete $options->{'codepage='};
+ }
+ if (member($part->{mntpoint}, fs::type::directories_needed_to_boot())) {
+ foreach (qw(users user noauto supermount)) {
+ if ($options->{$_}) {
+ $options->{$_} = 0;
+ $options->{$_} = 0 foreach qw(nodev noexec nosuid);
+ }
+ }
+ }
+
+ &pack($part, $options, $unknown);
+}
+
+sub set_default {
+ my ($part, %opts) = @_;
+ #- opts are: useSupermount security iocharset codepage ignore_is_removable
+
+ my ($options, $unknown) = &unpack($part);
+
+ if (!$opts{ignore_is_removable} && $part->{is_removable}
+ && !member($part->{mntpoint}, fs::type::directories_needed_to_boot())
+ && (!$part->{fs_type} || $part->{fs_type} eq 'auto' || $part->{fs_type} =~ /:/)) {
+ $options->{supermount} = $opts{useSupermount} && !($opts{useSupermount} eq 'magicdev' && $part->{media_type} eq 'cdrom');
+ $part->{fs_type} = !$options->{supermount} ? 'auto' :
+ $part->{media_type} eq 'cdrom' ? 'udf:iso9660' : 'ext2:vfat';
+ $options->{sync} = 1 if $part->{media_type} ne 'cdrom';
+ }
+
+ if ($part->{media_type} eq 'cdrom') {
+ $options->{ro} = 1;
+ }
+
+ if ($part->{media_type} eq 'fd') {
+ # slow device so do not loose time, write now!
+ $options->{sync} = 1;
+ }
+
+ if (isTrueFS($part)) {
+ #- noatime on laptops (do not wake up the hd)
+ #- Do not update inode access times on this
+ #- file system (e.g, for faster access on the
+ #- news spool to speed up news servers).
+ $options->{noatime} = detect_devices::isLaptop();
+ }
+ if ($part->{fs_type} eq 'nfs') {
+ put_in_hash($options, {
+ nosuid => 1, 'rsize=8192,wsize=8192' => 1, soft => 1,
+ });
+ }
+ if ($part->{fs_type} eq 'smbfs') {
+ add2hash($options, { 'username=' => '%' }) if !$options->{'credentials='};
+ }
+ if (fs::type::can_be_this_fs_type($part, 'vfat')) {
+
+ put_in_hash($options, {
+ users => 1, noexec => 0,
+ }) if $part->{is_removable};
+
+ put_in_hash($options, {
+ 'umask=0' => $opts{security} < 3, 'umask=0022' => $opts{security} < 4,
+ 'iocharset=' => $opts{iocharset}, 'codepage=' => $opts{codepage},
+ });
+ }
+ if ($part->{fs_type} eq 'ntfs') {
+ put_in_hash($options, { ro => 1, 'nls=' => $opts{iocharset},
+ 'umask=0' => $opts{security} < 3, 'umask=0022' => $opts{security} < 4,
+ });
+ }
+ if (fs::type::can_be_this_fs_type($part, 'iso9660')) {
+ put_in_hash($options, { users => 1, noexec => 0, 'iocharset=' => $opts{iocharset} });
+ }
+ if ($part->{fs_type} eq 'reiserfs') {
+ $options->{notail} = 1;
+ }
+ if (isLoopback($part) && !isSwap($part)) { #- no need for loop option for swap files
+ $options->{loop} = 1;
+ }
+
+ # rationalize: no need for user
+ if ($options->{autofs} || $options->{supermount}) {
+ $options->{users} = $options->{user} = 0;
+ }
+
+ if ($options->{user} || $options->{users}) {
+ # have noauto when we have user
+ $options->{noauto} = 1;
+ # ensure security (user_implies - noexec as noexec is not a security matter)
+ $options->{$_} = 1 foreach 'nodev', 'nosuid';
+ }
+
+ &pack($part, $options, $unknown);
+
+ rationalize($part);
+}
+
+sub set_all_default {
+ my ($all_hds, %opts) = @_;
+ #- opts are: useSupermount security iocharset codepage
+
+ foreach my $part (fs::get::really_all_fstab($all_hds)) {
+ set_default($part, %opts);
+ }
+}
+
+1;
diff --git a/perl-install/fs/mount_point.pm b/perl-install/fs/mount_point.pm
new file mode 100644
index 000000000..b21a37b62
--- /dev/null
+++ b/perl-install/fs/mount_point.pm
@@ -0,0 +1,130 @@
+package fs::mount_point; # $Id$
+
+use diagnostics;
+use strict;
+
+use common;
+use any;
+use fs::type;
+
+sub guess_mount_point {
+ my ($part, $prefix, $user) = @_;
+
+ my %l = (
+ '/' => 'etc/fstab',
+ '/boot' => 'vmlinuz',
+ '/tmp' => '.X11-unix',
+ '/usr' => 'src',
+ '/var' => 'catman',
+ );
+
+ my $handle = any::inspect($part, $prefix) or return;
+ my $d = $handle->{dir};
+ my $mnt = find { -e "$d/$l{$_}" } keys %l;
+ $mnt ||= (stat("$d/.bashrc"))[4] ? '/root' : '/home/user' . ++$$user if -e "$d/.bashrc";
+ $mnt ||= (any { -d $_ && (stat($_))[4] >= 500 && -e "$_/.bashrc" } glob_($d)) ? '/home' : '';
+ ($mnt, $handle);
+}
+
+sub suggest_mount_points {
+ my ($fstab, $prefix, $uniq) = @_;
+
+ my $user;
+ foreach my $part (grep { isTrueFS($_) } @$fstab) {
+ $part->{mntpoint} && !$part->{unsafeMntpoint} and next; #- if already found via an fstab
+
+ my ($mnt, $handle) = guess_mount_point($part, $prefix, \$user) or next;
+
+ next if $uniq && fs::get::mntpoint2part($mnt, $fstab);
+ $part->{mntpoint} = $mnt; delete $part->{unsafeMntpoint};
+
+ #- try to find other mount points via fstab
+ fs::merge_info_from_fstab($fstab, $handle->{dir}, $uniq, 'loose') if $mnt eq '/';
+ }
+ $_->{mntpoint} and log::l("suggest_mount_points: $_->{device} -> $_->{mntpoint}") foreach @$fstab;
+}
+
+sub suggest_mount_points_always {
+ my ($fstab) = @_;
+
+ my @win = grep { isFat_or_NTFS($_) && maybeFormatted($_) && !$_->{is_removable} } @$fstab;
+ log::l("win parts: ", join ",", map { $_->{device} } @win) if @win;
+ if (@win == 1) {
+ #- Suggest /boot/efi on ia64.
+ $win[0]{mntpoint} = arch() =~ /ia64/ ? "/boot/efi" : "/mnt/windows";
+ } else {
+ my %w; foreach (@win) {
+ my $v = $w{$_->{device_windobe}}++;
+ $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/win_" . lc($_->{device_windobe}) . ($v ? $v+1 : ''); #- lc cuz of StartOffice(!) cf dadou
+ }
+ }
+
+ my @sunos = grep { $_->{pt_type} == 2 } @$fstab; #- take only into account root partitions.
+ if (@sunos) {
+ my $v = '';
+ map { $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/sunos" . ($v && ++$v) } @sunos;
+ }
+ #- a good job is to mount SunOS root partition, and to use mount point described here in /etc/vfstab.
+}
+
+sub validate_mount_points {
+ my ($fstab) = @_;
+
+ #- TODO: set the mntpoints
+
+ my %m; foreach (@$fstab) {
+ my $m = $_->{mntpoint};
+
+ $m && $m =~ m!^/! or next; #- there may be a lot of swaps or "none"
+
+ $m{$m} and die N("Duplicate mount point %s", $m);
+ $m{$m} = 1;
+
+ #- in case the type does not correspond, force it to ext3
+ fs::type::set_fs_type($_, 'ext3') if !isTrueFS($_) && !isOtherAvailableFS($_);
+ }
+ 1;
+}
+
+sub ask_mount_points {
+ my ($in, $fstab, $all_hds) = @_;
+
+ my @fstab = grep { isTrueFS($_) } @$fstab;
+ @fstab = grep { isSwap($_) } @$fstab if @fstab == 0;
+ @fstab = @$fstab if @fstab == 0;
+ die N("No partition available") if @fstab == 0;
+
+ {
+ my $_w = $in->wait_message('', N("Scanning partitions to find mount points"));
+ suggest_mount_points($fstab, $::prefix, 'uniq');
+ log::l("default mntpoint $_->{mntpoint} $_->{device}") foreach @fstab;
+ }
+ if (@fstab == 1) {
+ $fstab[0]{mntpoint} = '/';
+ } else {
+ $in->ask_from_({ messages => N("Choose the mount points"),
+ title => N("Partitioning"),
+ icon => 'banner-part',
+ interactive_help_id => 'ask_mntpoint_s',
+ callbacks => {
+ complete => sub {
+ require diskdrake::interactive;
+ eval { 1, find_index {
+ !diskdrake::interactive::check_mntpoint($in, $_->{mntpoint}, $_, $all_hds);
+ } @fstab };
+ },
+ },
+ },
+ [ map {
+ {
+ label => partition_table::description($_),
+ val => \$_->{mntpoint},
+ not_edit => 0,
+ list => [ '', fsedit::suggestions_mntpoint(fs::get::empty_all_hds()) ],
+ };
+ } @fstab ]) or return;
+ }
+ validate_mount_points($fstab);
+}
+
+1;
diff --git a/perl-install/fs/partitioning.pm b/perl-install/fs/partitioning.pm
new file mode 100644
index 000000000..16a07cb5b
--- /dev/null
+++ b/perl-install/fs/partitioning.pm
@@ -0,0 +1,82 @@
+package fs::partitioning; # $Id$
+
+use diagnostics;
+use strict;
+
+use common;
+use fs::format;
+use fs::type;
+
+sub guess_partitions_to_format {
+ my ($fstab) = @_;
+ foreach (@$fstab) {
+ $_->{mntpoint} = "swap" if isSwap($_);
+ $_->{mntpoint} or next;
+
+ add2hash_($_, { toFormat => $_->{notFormatted} }) if $_->{fs_type}; #- eg: do not set toFormat for isRawRAID (0xfd)
+ $_->{toFormatUnsure} ||= member($_->{mntpoint}, '/', '/usr');
+
+ if (!$_->{toFormat}) {
+ my $fs_type = fs::type::fs_type_from_magic($_);
+ if (!$fs_type || $fs_type ne $_->{fs_type}) {
+ log::l("setting toFormatUnsure for $_->{device} because <$_->{fs_type}> ne <$fs_type>");
+ $_->{toFormatUnsure} = 1;
+ }
+ }
+ }
+}
+
+sub choose_partitions_to_format {
+ my ($in, $fstab) = @_;
+
+ guess_partitions_to_format($fstab);
+
+ my @l = grep { !$_->{isMounted} && $_->{mntpoint} && !isSwap($_) &&
+ (!isFat_or_NTFS($_) || $_->{notFormatted}) &&
+ (!isOtherAvailableFS($_) || $_->{toFormat});
+ } @$fstab;
+ $_->{toFormat} = 1 foreach grep { isSwap($_) } @$fstab;
+
+ return if @l == 0 || every { $_->{toFormat} } @l;
+
+ #- keep it temporary until the guy has accepted
+ $_->{toFormatTmp} = $_->{toFormat} || $_->{toFormatUnsure} foreach @l;
+
+ $in->ask_from_(
+ { messages => N("Choose the partitions you want to format"),
+ icon => 'banner-part',
+ interactive_help_id => 'formatPartitions',
+ advanced_messages => N("Check bad blocks?"),
+ },
+ [ map {
+ my $e = $_;
+ ({
+ text => partition_table::description($e), type => 'bool',
+ val => \$e->{toFormatTmp}
+ }, if_(!isLoopback($_) && !member($_->{fs_type}, 'reiserfs', 'xfs', 'jfs'), {
+ text => partition_table::description($e), type => 'bool', advanced => 1,
+ disabled => sub { !$e->{toFormatTmp} },
+ val => \$e->{toFormatCheck}
+ })) } @l ]
+ ) or die 'already displayed';
+ #- ok now we can really set toFormat
+ foreach (@l) {
+ $_->{toFormat} = delete $_->{toFormatTmp};
+ set_isFormatted($_, 0);
+ }
+}
+
+sub format_mount_partitions {
+ my ($in, $all_hds, $fstab) = @_;
+ my ($w, $wait_message) = $in->wait_message_with_progress_bar;
+ catch_cdie {
+ fs::format::formatMount_all($all_hds, $fstab, $wait_message);
+ } sub {
+ $@ =~ /fsck failed on (\S+)/ or return;
+ $in->ask_yesorno('', N("Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)", $1), 1);
+ };
+ undef $w; #- help perl (otherwise wait_message stays forever in curses)
+ die N("Not enough swap space to fulfill installation, please add some") if availableMemory() < 40 * 1024;
+}
+
+1;
diff --git a/perl-install/fs/partitioning_wizard.pm b/perl-install/fs/partitioning_wizard.pm
new file mode 100644
index 000000000..d833f5b26
--- /dev/null
+++ b/perl-install/fs/partitioning_wizard.pm
@@ -0,0 +1,283 @@
+package fs::partitioning_wizard; # $Id$
+
+use diagnostics;
+use strict;
+use utf8;
+
+use common;
+use devices;
+use fsedit;
+use fs::type;
+use fs::mount_point;
+use partition_table;
+use partition_table::raw;
+
+#- unit of $mb is mega bytes, min and max are in sectors, this
+#- function is used to convert back to sectors count the size of
+#- a partition ($mb) given from the interface (on Resize or Create).
+#- modified to take into account a true bounding with min and max.
+sub from_Mb {
+ my ($mb, $min, $max) = @_;
+ $mb <= $min >> 11 and return $min;
+ $mb >= $max >> 11 and return $max;
+ $mb * 2048;
+}
+
+sub partition_with_diskdrake {
+ my ($in, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab) = @_;
+ my $ok;
+
+ do {
+ $ok = 1;
+ my $do_force_reload = sub {
+ my $new_hds = fs::get::empty_all_hds();
+ fs::any::get_hds($new_hds, $fstab, $manual_fstab, $partitioning_flags, $skip_mtab, $in);
+ %$all_hds = %$new_hds;
+ $all_hds;
+ };
+ require diskdrake::interactive;
+ {
+ local $::expert = 0;
+ diskdrake::interactive::main($in, $all_hds, $do_force_reload);
+ }
+ my @fstab = fs::get::fstab($all_hds);
+
+ unless (fs::get::root_(\@fstab)) {
+ $ok = 0;
+ $in->ask_okcancel(N("Partitioning"), N("You must have a root partition.
+For this, create a partition (or click on an existing one).
+Then choose action ``Mount point'' and set it to `/'"), 1, 'banner-part') or return;
+ }
+ if (!any { isSwap($_) } @fstab) {
+ $ok &&= $in->ask_okcancel('', N("You do not have a swap partition.\n\nContinue anyway?"));
+ }
+ if (arch() =~ /ia64/ && !fs::get::has_mntpoint("/boot/efi", $all_hds)) {
+ $in->ask_warn('', N("You must have a FAT partition mounted in /boot/efi"));
+ $ok = '';
+ }
+ } until $ok;
+ 1;
+}
+
+sub partitionWizardSolutions {
+ my ($in, $all_hds, $all_fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab) = @_;
+ my $hds = $all_hds->{hds};
+ my $fstab = [ fs::get::fstab($all_hds) ];
+ my @wizlog;
+ my (%solutions);
+
+ my $min_linux = 400 << 11;
+ my $max_linux = 2000 << 11;
+ my $min_swap = 50 << 11;
+ my $max_swap = 300 << 11;
+ my $min_freewin = 100 << 11;
+
+ # each solution is a [ score, text, function ], where the function retunrs true if succeeded
+
+ my @hds_rw = grep { !$_->{readonly} } @$hds;
+ my @hds_can_add = grep { $_->can_raw_add } @hds_rw;
+ if (fs::get::hds_free_space(@hds_can_add) > $min_linux) {
+ $solutions{free_space} = [ 20, N("Use free space"), sub { fsedit::auto_allocate($all_hds, $partitions); 1 } ];
+ } else {
+ push @wizlog, N("Not enough free space to allocate new partitions") . ": " .
+ (@hds_can_add ?
+ fs::get::hds_free_space(@hds_can_add) . " < $min_linux" :
+ "no harddrive on which partitions can be added");
+ }
+
+ if (my @truefs = grep { isTrueLocalFS($_) } @$fstab) {
+ #- value twice the ext2 partitions
+ $solutions{existing_part} = [ 6 + @truefs + @$fstab, N("Use existing partitions"), sub { fs::mount_point::ask_mount_points($in, $fstab, $all_hds) } ];
+ } else {
+ push @wizlog, N("There is no existing partition to use");
+ }
+
+ my @fats = grep { $_->{fs_type} eq 'vfat' } @$fstab;
+ fs::df($_) foreach @fats;
+ if (my @ok_forloopback = sort { $b->{free} <=> $a->{free} } grep { $_->{free} > $min_linux + $min_swap + $min_freewin } @fats) {
+ $solutions{loopback} =
+ [ -10 - @fats, N("Use the Microsoft Windows® partition for loopback"),
+ sub {
+ my ($s_root, $s_swap);
+ my $part = $in->ask_from_listf('', N("Which partition do you want to use for Linux4Win?"), \&partition_table::description, \@ok_forloopback) or return;
+ $max_swap = $min_swap + 1 if $part->{free} - $max_swap < $min_linux;
+ $in->ask_from('', N("Choose the sizes"), [
+ { label => N("Root partition size in MB: "), val => \$s_root, min => $min_linux >> 11, max => min($part->{free} - $max_swap, $max_linux) >> 11, type => 'range' },
+ { label => N("Swap partition size in MB: "), val => \$s_swap, min => $min_swap >> 11, max => $max_swap >> 11, type => 'range' },
+ ]) or return;
+ push @{$part->{loopback}},
+ { fs_type => 'ext3', loopback_file => '/lnx4win/linuxsys.img', mntpoint => '/', size => $s_root << 11, loopback_device => $part, notFormatted => 1 },
+ { fs_type => 'swap', loopback_file => '/lnx4win/swapfile', mntpoint => 'swap', size => $s_swap << 11, loopback_device => $part, notFormatted => 1 };
+ fsedit::recompute_loopbacks($all_hds);
+ 1;
+ } ];
+ } else {
+ push @wizlog, N("There is no FAT partition to use as loopback (or not enough space left)") .
+ (@fats ? "\nFAT partitions:" . join('', map { "\n $_->{device} $_->{free} (" . ($min_linux + $min_swap + $min_freewin) . ")" } @fats) : '');
+ }
+
+
+ if (my @ok_for_resize_fat = grep { isFat_or_NTFS($_) && !fs::get::part2hd($_, $all_hds)->{readonly} } @$fstab) {
+ $solutions{resize_fat} =
+ [ 6 - @ok_for_resize_fat, N("Use the free space on the Microsoft Windows® partition"),
+ sub {
+ my $part = $in->ask_from_listf_raw({ messages => N("Which partition do you want to resize?"),
+ interactive_help_id => 'resizeFATChoose',
+ }, \&partition_table::description, \@ok_for_resize_fat) or return;
+ my $hd = fs::get::part2hd($part, $all_hds);
+ my $resize_fat = eval {
+ my $pkg = $part->{fs_type} eq 'vfat' ? do {
+ require resize_fat::main;
+ 'resize_fat::main';
+ } : do {
+ require diskdrake::resize_ntfs;
+ 'diskdrake::resize_ntfs';
+ };
+ $pkg->new($part->{device}, devices::make($part->{device}));
+ };
+ $@ and die N("The FAT resizer is unable to handle your partition,
+the following error occurred: %s", formatError($@));
+ my $min_win = do {
+ my $_w = $in->wait_message(N("Resizing"), N("Computing the size of the Microsoft Windows® partition"));
+ $resize_fat->min_size;
+ };
+ #- make sure that even after normalizing the size to cylinder boundaries, the minimun will be saved,
+ #- this save at least a cylinder (less than 8Mb).
+ $min_win += partition_table::raw::cylinder_size($hd);
+
+ $part->{size} > $min_linux + $min_swap + $min_freewin + $min_win or die N("Your Microsoft Windows® partition is too fragmented. Please reboot your computer under Microsoft Windows®, run the ``defrag'' utility, then restart the Mandriva Linux installation.");
+ $in->ask_okcancel('', formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("WARNING!
+
+
+Your Microsoft Windows® partition will be now resized.
+
+
+Be careful: this operation is dangerous. If you have not already done so, you first need to exit the installation, run \"chkdsk c:\" from a Command Prompt under Microsoft Windows® (beware, running graphical program \"scandisk\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), optionally run defrag, then restart the installation. You should also backup your data.
+
+
+When sure, press %s.", N("Next")))) or return;
+
+ my $mb_size = $part->{size} >> 11;
+ $in->ask_from('', N("Which size do you want to keep for Microsoft Windows® on partition %s?", partition_table::description($part)), [
+ { label => N("Size"), val => \$mb_size, min => $min_win >> 11, max => ($part->{size} - $min_linux - $min_swap) >> 11, type => 'range' },
+ ]) or return;
+
+ my $oldsize = $part->{size};
+ $part->{size} = from_Mb($mb_size, $min_win, $part->{size});
+
+ $hd->adjustEnd($part);
+
+ eval {
+ my $_w = $in->wait_message(N("Resizing"), N("Resizing Microsoft Windows® partition"));
+ $resize_fat->resize($part->{size});
+ };
+ if (my $err = $@) {
+ $part->{size} = $oldsize;
+ die N("FAT resizing failed: %s", formatError($err));
+ }
+
+ $in->ask_warn('', N("To ensure data integrity after resizing the partition(s),
+filesystem checks will be run on your next boot into Microsoft Windows®")) if $part->{fs_type} ne 'vfat';
+
+ set_isFormatted($part, 1);
+ partition_table::will_tell_kernel($hd, resize => $part); #- down-sizing, write_partitions is not needed
+ partition_table::adjust_local_extended($hd, $part);
+ partition_table::adjust_main_extended($hd);
+
+ fsedit::auto_allocate($all_hds, $partitions);
+ 1;
+ } ];
+ } else {
+ push @wizlog, N("There is no FAT partition to resize (or not enough space left)");
+ }
+
+ if (@$fstab && @hds_rw) {
+ $solutions{wipe_drive} =
+ [ 10, fsedit::is_one_big_fat_or_NT($hds) ? N("Remove Microsoft Windows®") : N("Erase and use entire disk"),
+ sub {
+ my $hd = $in->ask_from_listf_raw({ messages => N("You have more than one hard drive, which one do you install linux on?"),
+ title => N("Partitioning"),
+ icon => 'banner-part',
+ interactive_help_id => 'takeOverHdChoose',
+ },
+ \&partition_table::description, \@hds_rw) or return;
+ $in->ask_okcancel_({ messages => N("ALL existing partitions and their data will be lost on drive %s", partition_table::description($hd)),
+ title => N("Partitioning"),
+ icon => 'banner-part',
+ interactive_help_id => 'takeOverHdConfirm' }) or return;
+ partition_table::raw::zero_MBR($hd);
+ fsedit::auto_allocate($all_hds, $partitions);
+ 1;
+ } ];
+ }
+
+ if (@hds_rw) {
+ $solutions{diskdrake} = [ 0, N("Custom disk partitioning"), sub {
+ partition_with_diskdrake($in, $all_hds, $all_fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab);
+ } ];
+ }
+
+ $solutions{fdisk} =
+ [ -10, N("Use fdisk"), sub {
+ $in->enter_console;
+ foreach (@$hds) {
+ print "\n" x 10, N("You can now partition %s.
+When you are done, do not forget to save using `w'", partition_table::description($_));
+ print "\n\n";
+ my $pid = 0;
+ if (arch() =~ /ppc/) {
+ $pid = fork() or exec "pdisk", devices::make($_->{device});
+ } else {
+ $pid = fork() or exec "fdisk", devices::make($_->{device});
+ }
+ waitpid($pid, 0);
+ }
+ $in->leave_console;
+ 0;
+ } ] if $partitioning_flags->{fdisk};
+
+ log::l("partitioning wizard log:\n", (map { ">>wizlog>>$_\n" } @wizlog));
+ %solutions;
+}
+
+sub warn_reboot_needed {
+ my ($in) = @_;
+ $in->ask_warn(N("Partitioning"), N("You need to reboot for the partition table modifications to take place"), icon => 'banner-part');
+}
+
+sub main {
+ my ($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab, $b_nodiskdrake) = @_;
+
+ my %solutions = partitionWizardSolutions($o, $all_hds, $fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab);
+
+ delete $solutions{diskdrake} if $b_nodiskdrake;
+
+ my @solutions = sort { $b->[0] <=> $a->[0] } values %solutions;
+
+ my @sol = grep { $_->[0] >= 0 } @solutions;
+
+ log::l('' . "solutions found: " . join('', map { $_->[1] } @sol) .
+ " (all solutions found: " . join('', map { $_->[1] } @solutions) . ")");
+
+ @solutions = @sol if @sol > 1;
+ log::l("solutions: ", int @solutions);
+ @solutions or $o->ask_warn(N("Partitioning"), N("I can not find any room for installing"), icon => 'banner-part'), die 'already displayed';
+
+ log::l('HERE: ', join(',', map { $_->[1] } @solutions));
+ my $sol;
+ $o->ask_from_({ messages => N("The DrakX Partitioning wizard found the following solutions:"),
+ title => N("Partitioning"),
+ icon => 'banner-part',
+ interactive_help_id => 'doPartitionDisks',
+ },
+ [ { val => \$sol, list => \@solutions, format => sub { $_[0][1] }, type => 'list' } ]);
+ log::l("partitionWizard calling solution $sol->[1]");
+ my $ok = eval { $sol->[2]->() };
+ $@ and $o->ask_warn('', N("Partitioning failed: %s", formatError($@)));
+ $ok or goto &main;
+ 1;
+}
+
+1;
diff --git a/perl-install/fs/proc_partitions.pm b/perl-install/fs/proc_partitions.pm
new file mode 100644
index 000000000..f789b1862
--- /dev/null
+++ b/perl-install/fs/proc_partitions.pm
@@ -0,0 +1,73 @@
+package fs::proc_partitions; # $Id: proc_partitions.pm 37644 2006-06-20 08:38:59Z pixel $
+
+use common;
+
+
+sub read_raw() {
+ my (undef, undef, @all) = cat_("/proc/partitions");
+ grep {
+ $_->{size} != 1 && # skip main extended partition
+ $_->{size} != 0x3fffffff; # skip cdroms (otherwise stops cd-audios)
+ } map {
+ my %l;
+ @l{qw(major minor size dev)} = split;
+ \%l;
+ } @all;
+}
+
+sub read {
+ my ($hds) = @_;
+
+ my @all = read_raw();
+ my ($parts, $_disks) = partition { $_->{dev} =~ /\d$/ && $_->{dev} !~ /^(sr|scd)/ } @all;
+
+ fs::get_major_minor($hds);
+
+ my $prev_part;
+ foreach my $part (@$parts) {
+ my $dev = $part->{dev};
+ if (my $hd = find { $part->{dev} =~ /^\Q$_->{device}\E./ } @$hds) {
+ put_in_hash($part, partition_table::hd2minimal_part($hd));
+ }
+
+ undef $prev_part if $prev_part && ($prev_part->{rootDevice} || '') ne ($part->{rootDevice} || '');
+
+ $part->{device} = $dev;
+ $part->{size} *= 2; # from KB to sectors
+ $part->{start} = $prev_part ? $prev_part->{start} + $prev_part->{size} : 0;
+ require fs::type;
+ put_in_hash($part, fs::type::type_subpart_from_magic($part));
+ $prev_part = $part;
+ delete $part->{dev}; # cleanup
+ }
+ @$parts;
+}
+
+sub compare {
+ my ($hd) = @_;
+
+ my @l1 = partition_table::get_normal_parts($hd);
+ my @l2 = grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]);
+
+ #- /proc/partitions includes partition with type "empty" and a non-null size
+ #- so add them for comparison
+ my ($len1, $len2) = (int(@l1) + $hd->{primary}{nb_special_empty}, int(@l2));
+
+ if ($len1 != $len2 && arch() ne 'ppc') {
+ die sprintf(
+ "/proc/partitions does not agree with drakx %d != %d:\n%s\n", $len1, $len2,
+ "/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @l2));
+ }
+ $len2;
+}
+
+sub use_ {
+ my ($hd) = @_;
+
+ partition_table::raw::zero_MBR($hd);
+ $hd->{readonly} = 1;
+ $hd->{getting_rid_of_readonly_allowed} = 1;
+ $hd->{primary} = { normal => [ grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]) ] };
+}
+
+1;
diff --git a/perl-install/fs/remote.pm b/perl-install/fs/remote.pm
new file mode 100644
index 000000000..f59a79605
--- /dev/null
+++ b/perl-install/fs/remote.pm
@@ -0,0 +1,45 @@
+package fs::remote; # $Id: remote.pm 88802 2006-11-29 21:37:52Z blino $
+
+use strict;
+use diagnostics;
+
+use fs::mount_options;
+
+
+sub new {
+ my ($class, $o_v) = @_;
+ bless($o_v || {}, $class);
+}
+
+sub server_to_string {
+ my ($_class, $server) = @_;
+ $server->{name} || $server->{ip};
+}
+sub comment_to_string {
+ my ($_class, $comment) = @_;
+ $comment;
+}
+sub to_dev {
+ my ($class, $e) = @_;
+ $class->to_dev_raw($class->server_to_string($e->{server}), $e->{name} || $e->{ip});
+}
+sub to_string {
+ my ($class, $e) = @_;
+ my $comment = $class->comment_to_string($e->{comment});
+ ($e->{name} || $e->{ip}) . ($comment ? " ($comment)" : '');
+}
+
+sub to_fullstring {
+ my ($class, $e) = @_;
+ my $comment = $class->comment_to_string($e->{comment});
+ $class->to_dev($e) . ($comment ? " ($comment)" : '');
+}
+sub to_fstab_entry_raw {
+ my ($class, $e, $fs_type) = @_;
+ my $fs_entry = { device => $class->to_dev($e), fs_type => $fs_type };
+ fs::mount_options::set_default($fs_entry);
+ $fs_entry;
+}
+
+1;
+
diff --git a/perl-install/fs/remote/nfs.pm b/perl-install/fs/remote/nfs.pm
new file mode 100644
index 000000000..1faa5f80e
--- /dev/null
+++ b/perl-install/fs/remote/nfs.pm
@@ -0,0 +1,68 @@
+package fs::remote::nfs; # $Id: nfs.pm 88802 2006-11-29 21:37:52Z blino $
+
+use strict;
+use diagnostics;
+
+use common;
+use fs::remote;
+use log;
+
+our @ISA = 'fs::remote';
+
+sub to_fstab_entry {
+ my ($class, $e) = @_;
+ $class->to_fstab_entry_raw($e, 'nfs');
+}
+sub comment_to_string {
+ my ($_class, $comment) = @_;
+ member($comment, qw(* 0.0.0.0/0.0.0.0 (everyone))) ? '' : $comment;
+}
+sub from_dev {
+ my ($_class, $dev) = @_;
+ $dev =~ m|(.*?):(.*)|;
+}
+sub to_dev_raw {
+ my ($_class, $server, $name) = @_;
+ $server . ':' . $name;
+}
+
+sub check {
+ my ($_class, $in) = @_;
+ $in->do_pkgs->ensure_binary_is_installed('nfs-utils-clients', 'showmount') or return;
+ system('/etc/init.d/portmap start') if system('/etc/init.d/portmap status') != 0;
+ 1;
+}
+
+sub find_servers {
+ open(my $F2, "rpcinfo-flushed -b mountd 2 |");
+ open(my $F3, "rpcinfo-flushed -b mountd 3 |");
+
+ common::nonblock($F2);
+ common::nonblock($F3);
+ my $domain = chomp_(`domainname`);
+ my ($s, %servers);
+ my $quit;
+ while (!$quit) {
+ $quit = 1;
+ sleep 1;
+ while ($s = <$F2> || <$F3>) {
+ $quit = 0;
+ my ($ip, $name) = $s =~ /(\S+)\s+(\S+)/ or log::explanations("bad line in rpcinfo output"), next;
+ $name =~ s/\.$//;
+ $name =~ s/\Q.$domain\E$//;
+ $servers{$ip} ||= { ip => $ip, if_($name ne '(unknown)', name => $name) };
+ }
+ }
+ values %servers;
+}
+
+sub find_exports {
+ my ($_class, $server) = @_;
+
+ my @l;
+ run_program::raw({ timeout => 1 }, "showmount", '>', \@l, "--no-headers", "-e", $server->{ip} || $server->{name});
+
+ map { if_(/(\S+(\s*\S+)*)\s+(\S+)/, { name => $1, comment => $3, server => $server }) } @l;
+}
+
+1;
diff --git a/perl-install/fs/remote/smb.pm b/perl-install/fs/remote/smb.pm
new file mode 100644
index 000000000..1ba0e61b7
--- /dev/null
+++ b/perl-install/fs/remote/smb.pm
@@ -0,0 +1,217 @@
+package fs::remote::smb; # $Id: smb.pm 88802 2006-11-29 21:37:52Z blino $
+
+use strict;
+use diagnostics;
+
+use common;
+use fs::mount_options;
+use network::network;
+use fs::remote;
+
+
+our @ISA = 'fs::remote';
+
+sub to_fstab_entry {
+ my ($class, $e) = @_;
+ my $part = $class->to_fstab_entry_raw($e, 'smbfs');
+ if ($e->{server}{username}) {
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ $options->{"$_="} = $e->{server}{$_} foreach qw(username password domain);
+ fs::mount_options::pack($part, $options, $unknown);
+ }
+ $part;
+}
+sub from_dev {
+ my ($_class, $dev) = @_;
+ $dev =~ m|//(.*?)/(.*)|;
+}
+sub to_dev_raw {
+ my ($_class, $server, $name) = @_;
+ '//' . $server . '/' . $name;
+}
+
+sub check {
+ my ($_class, $in) = @_;
+ $in->do_pkgs->ensure_binary_is_installed('samba-client', 'nmblookup');
+}
+
+sub smbclient {
+ my ($server) = @_;
+ my $name = $server->{name} || $server->{ip};
+ my $ip = $server->{ip} ? "-I $server->{ip}" : '';
+ my $group = $server->{group} ? qq( -W "$server->{group}") : '';
+
+ my $U = $server->{username} ? sprintf("%s/%s%%%s", @$server{'domain', 'username', 'password'}) : '%';
+ my %h;
+ foreach (`smbclient -g -U "$U" -L "$name" $ip$group 2>/dev/null`) {
+ if (my ($type, $v1, $v2) = /(.*)\|(.*)\|(.*)/) {
+ push @{$h{$type}}, [ $v1, $v2 ];
+ } elsif (/^Error returning browse list/) {
+ push @{$h{Error}}, $_;
+ }
+ }
+ \%h;
+}
+
+sub find_servers {
+ my (undef, @l) = `nmblookup "*"`;
+ s/\s.*\n// foreach @l;
+ my @servers = grep { network::network::is_ip($_) } @l;
+ my %servers;
+ $servers{$_}{ip} = $_ foreach @servers;
+ my ($ip, $browse);
+ foreach (`nmblookup -A @servers`) {
+ my $nb = /^Looking up status of (\S+)/ .. /^$/ or next;
+ if ($nb == 1) {
+ $ip = $1;
+ } elsif (/<00>/) {
+ $servers{$ip}{/<GROUP>/ ? 'group' : 'name'} ||= lc first(/(\S+)/);
+ } elsif (/__MSBROWSE__/) {
+ $browse ||= $servers{$ip};
+ }
+ }
+ if ($browse) {
+ my %l;
+ my $workgroups = smbclient($browse)->{Workgroup} || [];
+ foreach (@$workgroups) {
+ my ($group, $name) = map { lc($_) } @$_;
+
+ # already done
+ next if any { $group eq $_->{group} } values %servers;
+
+ $l{$name} = $group;
+ }
+ if (my @l = keys %l) {
+ foreach (`nmblookup @l`) {
+ $servers{$1} = { name => $2, group => $l{$2} } if /(\S+)\s+([^<]+)<00>/;
+ }
+ }
+ }
+ values %servers;
+}
+
+sub find_exports {
+ my ($_class, $server) = @_;
+ my @l;
+
+ my $browse = smbclient($server);
+ if (my $err = find { /NT_STATUS_/ } @{$browse->{Error} || []}) {
+ die $err;
+ }
+ foreach (@{$browse->{Disk} || []}) {
+ my ($name, $comment) = @$_;
+ push @l, { name => $name, type => 'Disk', comment => $comment, server => $server }
+ if $name !~ /\$$/ && $name !~ /netlogon|NETLOGON|SYSVOL/;
+ }
+ @l;
+}
+
+sub authentications_available {
+ my ($server) = @_;
+ map { if_(/^auth.\Q$server->{name}.\E(.*)/, $1) } all("/etc/samba");
+}
+
+sub to_credentials {
+ my ($server_name, $username) = @_;
+ $username or die 'to_credentials';
+ "/etc/samba/auth.$server_name.$username";
+}
+
+sub fstab_entry_to_credentials {
+ my ($part) = @_;
+
+ my ($server_name) = fs::remote::smb->from_dev($part->{device}) or return;
+
+ my ($options, $unknown) = fs::mount_options::unpack($part);
+ $options->{'username='} && $options->{'password='} or return;
+ my %h = map { $_ => delete $options->{"$_="} } qw(username domain password);
+ $h{file} = $options->{'credentials='} = to_credentials($server_name, $h{username});
+ fs::mount_options::pack_($part, $options, $unknown), \%h;
+}
+
+sub remove_bad_credentials {
+ my ($server) = @_;
+ unlink to_credentials($server->{name}, $server->{username});
+}
+
+sub save_credentials {
+ my ($credentials) = @_;
+ my $file = $credentials->{file};
+ output_with_perm("$::prefix$file", 0640, map { "$_ = $credentials->{$_}\n" } qw(username domain password));
+}
+
+
+sub read_credentials_raw {
+ my ($file) = @_;
+ my %h = map { /(.*?)\s*=\s*(.*)/ } cat_("$::prefix$file");
+ \%h;
+}
+
+sub read_credentials {
+ my ($server, $username) = @_;
+ put_in_hash($server, read_credentials_raw(to_credentials($server->{name}, $username)));
+}
+
+
+sub write_smb_conf {
+ my ($domain) = @_;
+
+ #- was going to just have a canned config in samba-winbind
+ #- and replace the domain, but sylvestre/buchan did not bless it yet
+
+ my $f = "$::prefix/etc/samba/smb.conf";
+ rename $f, "$f.orig";
+ output($f, "
+[global]
+ workgroup = $domain
+ server string = Samba Server %v
+ security = domain
+ encrypt passwords = Yes
+ password server = *
+ log file = /var/log/samba/log.%m
+ max log size = 50
+ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
+ unix charset = ISO8859-15
+ os level = 18
+ local master = No
+ dns proxy = No
+ idmap uid = 10000-20000
+ idmap gid = 10000-20000
+ winbind separator = +
+ template homedir = /home/%D/%U
+ template shell = /bin/bash
+ winbind use default domain = yes
+");
+}
+
+sub write_smb_ads_conf {
+ my ($domain, $realm) = @_;
+
+ #- was going to just have a canned config in samba-winbind
+ #- and replace the domain, but sylvestre/buchan did not bless it yet
+
+ my $f = "$::prefix/etc/samba/smb.conf";
+ rename $f, "$f.orig";
+ output($f, "
+[global]
+ workgroup = $domain
+ realm = $realm
+ server string = Samba Member %v
+ security = ads
+ encrypt passwords = Yes
+ password server = *
+ log file = /var/log/samba/log.%m
+ max log size = 50
+ socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
+ os level = 18
+ local master = No
+ dns proxy = No
+ winbind uid = 10000-20000
+ winbind gid = 10000-20000
+ winbind separator = +
+ template homedir = /home/%D/%U
+ template shell = /bin/bash
+ winbind use default domain = yes
+");
+}
+1;
diff --git a/perl-install/fs/type.pm b/perl-install/fs/type.pm
new file mode 100644
index 000000000..ea9b14f82
--- /dev/null
+++ b/perl-install/fs/type.pm
@@ -0,0 +1,384 @@
+package fs::type; # $Id: type.pm 147413 2007-03-21 16:50:10Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+use devices;
+
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(
+ isEmpty isExtended isTrueLocalFS isTrueFS isDos isSwap isOtherAvailableFS isRawLVM isRawRAID isRAID isLVM isMountableRW isNonMountable isPartOfLVM isPartOfRAID isPartOfLoopback isLoopback isMounted isBusy isSpecial isApple isAppleBootstrap isWholedisk isFat_or_NTFS
+ maybeFormatted set_isFormatted
+);
+
+
+my (%type_name2pt_type, %type_name2fs_type, %fs_type2pt_type, %pt_type2fs_type, %type_names);
+
+{
+ my @list_types = (
+ important => [
+ 0x82 => 'swap', 'Linux swap',
+ 0x83 => 'ext2', 'Linux native',
+ 0x83 => 'ext3', 'Journalised FS: ext3',
+ 0x83 => 'reiserfs', 'Journalised FS: ReiserFS',
+if_(arch() =~ /ppc|i.86|ia64|x86_64/,
+ 0x83 => 'xfs', 'Journalised FS: XFS',
+),
+if_(arch() =~ /ppc|i.86|x86_64/,
+ 0x83 => 'jfs', 'Journalised FS: JFS',
+),
+if_(arch() =~ /i.86|ia64|x86_64/,
+ 0x0b => 'vfat', 'FAT32',
+ 0x07 => 'ntfs', 'NTFS',
+ 0x07 => 'ntfs-3g', 'NTFS-3G',
+),
+if_(arch() =~ /ppc/,
+ 0x401 => '', 'Apple Bootstrap',
+ 0x402 => 'hfs', 'Apple HFS Partition',
+ 0x41 => '', 'PPC PReP Boot',
+),
+ ],
+
+ less_important => [
+ 0x8e => '', 'Linux Logical Volume Manager',
+ 0xfd => '', 'Linux RAID',
+ ],
+
+ special => [
+ 0x0 => '', 'Empty',
+ 0x05 => '', 'Extended',
+ 0x0f => '', 'W95 Extended (LBA)',
+ 0x85 => '', 'Linux extended',
+ ],
+
+ backward_compatibility => [
+ 0x183 => 'reiserfs', 'reiserfs (deprecated)',
+ 0x283 => 'xfs', 'xfs (deprecated)',
+ 0x383 => 'jfs', 'jfs (deprecated)',
+ 0x483 => 'ext3', 'ext3 (deprecated)',
+ ],
+
+ other => [
+ if_(arch() =~ /^ia64/,
+ 0x100 => '', 'Various',
+), if_(arch() =~ /^ppc/,
+ 0x401 => 'apple', 'Apple Partition',
+), if_(arch() =~ /^sparc/,
+ 0x01 => 'ufs', 'SunOS boot',
+ 0x02 => 'ufs', 'SunOS root',
+ 0x03 => '', 'SunOS swap',
+ 0x04 => 'ufs', 'SunOS usr',
+ 0x05 => '', 'Whole disk',
+ 0x06 => 'ufs', 'SunOS stand',
+ 0x07 => 'ufs', 'SunOS var',
+ 0x08 => 'ufs', 'SunOS home',
+), if_(arch() =~ /^i.86|x86_64/,
+ 0x01 => 'vfat', 'FAT12',
+ 0x02 => '', 'XENIX root',
+ 0x03 => '', 'XENIX usr',
+ 0x04 => 'vfat', 'FAT16 <32M',
+ 0x06 => 'vfat', 'FAT16',
+ 0x07 => 'hpfs', 'HPFS',
+ 0x08 => '', 'AIX',
+),
+ 0x09 => '', 'AIX bootable',
+ 0x0a => '', 'OS/2 Boot Manager',
+ 0x0c => 'vfat', 'W95 FAT32 (LBA)',
+ 0x0e => 'vfat', 'W95 FAT16 (LBA)',
+ 0x10 => '', 'OPUS',
+ 0x11 => '', 'Hidden FAT12',
+ 0x12 => '', 'Compaq diagnostics',
+ 0x14 => '', 'Hidden FAT16 <32M',
+ 0x16 => '', 'Hidden FAT16',
+ 0x17 => 'ntfs', 'Hidden HPFS/NTFS',
+ 0x18 => '', 'AST SmartSleep',
+ 0x1b => 'vfat', 'Hidden W95 FAT32',
+ 0x1c => 'vfat', 'Hidden W95 FAT32 (LBA)',
+ 0x1e => 'vfat', 'Hidden W95 FAT16 (LBA)',
+ 0x24 => '', 'NEC DOS',
+ 0x39 => '', 'Plan 9',
+ 0x3c => '', 'PartitionMagic recovery',
+ 0x40 => '', 'Venix 80286',
+if_(arch() !~ /ppc/,
+ 0x41 => '', 'PPC PReP Boot',
+),
+ 0x42 => '', 'SFS',
+ 0x4d => '', 'QNX4.x',
+ 0x4e => '', 'QNX4.x 2nd part',
+ 0x4f => '', 'QNX4.x 3rd part',
+ 0x50 => '', 'OnTrack DM',
+ 0x51 => '', 'OnTrack DM6 Aux1',
+ 0x52 => '', 'CP/M',
+ 0x53 => '', 'OnTrack DM6 Aux3',
+ 0x54 => '', 'OnTrackDM6',
+ 0x55 => '', 'EZ-Drive',
+ 0x56 => '', 'Golden Bow',
+ 0x5c => '', 'Priam Edisk',
+ 0x61 => '', 'SpeedStor',
+ 0x63 => '', 'GNU HURD or SysV',
+ 0x64 => '', 'Novell Netware 286',
+ 0x65 => '', 'Novell Netware 386',
+ 0x70 => '', 'DiskSecure Multi-Boot',
+ 0x75 => '', 'PC/IX',
+ 0x80 => '', 'Old Minix',
+ 0x81 => '', 'Minix / old Linux',
+ if_(!$::isInstall,
+ 0x83 => 'reiser4', 'Journalised FS: Reiser4',
+ ),
+ 0x84 => '', 'OS/2 hidden C: drive',
+ 0x86 => '', 'NTFS volume set',
+ 0x87 => '', 'NTFS volume set ',
+ 0x93 => '', 'Amoeba',
+ 0x94 => '', 'Amoeba BBT',
+ 0x9f => '', 'BSD/OS',
+ 0xa0 => '', 'IBM Thinkpad hibernation',
+ 0xa5 => '', 'FreeBSD',
+ 0xa6 => '', 'OpenBSD',
+ 0xa7 => '', 'NeXTSTEP',
+ 0xa8 => '', 'Darwin UFS',
+ 0xa9 => '', 'NetBSD',
+ 0xab => '', 'Darwin boot',
+ 0xb7 => '', 'BSDI fs',
+ 0xb8 => '', 'BSDI swap',
+ 0xbb => '', 'Boot Wizard hidden',
+ 0xbe => '', 'Solaris boot',
+ 0xbf => '', 'Microsoft XBox OS Partitions',
+ 0xc1 => '', 'DRDOS/sec (FAT-12)',
+ 0xc4 => '', 'DRDOS/sec (FAT-16 < 32M)',
+ 0xc6 => '', 'DRDOS/sec (FAT-16)',
+ 0xc7 => '', 'Syrinx',
+ 0xda => '', 'Non-FS data',
+ 0xdb => '', 'CP/M / CTOS / ...',
+ 0xde => '', 'Dell Utility',
+ 0xdf => '', 'BootIt',
+ 0xe1 => '', 'SpeedStor (FAT-12)',
+ 0xe3 => '', 'DOS R/O',
+ 0xe4 => '', 'SpeedStor (FAT-16)',
+ 0xeb => 'befs', 'BeOS fs',
+ 0xee => '', 'EFI GPT',
+ 0xef => 'vfat', 'EFI (FAT-12/16/32)',
+ 0xf0 => '', 'Linux/PA-RISC boot',
+ 0xf4 => '', 'SpeedStor (large part.)',
+ 0xf2 => '', 'DOS secondary',
+ 0xfe => '', 'LANstep',
+ 0xff => '', 'BBT',
+ ],
+ );
+
+ foreach (group_by2(@list_types)) {
+ my ($name, $l) = @$_;
+ for (my $i = 0; defined $l->[$i]; $i += 3) {
+ my $pt_type = $l->[$i];
+ my $fs_type = $l->[$i + 1];
+ my $type_name = $l->[$i + 2];
+ !exists $type_name2fs_type{$type_name} or internal_error("'$type_name' is not unique");
+ $type_name2fs_type{$type_name} = $fs_type;
+ $type_name2pt_type{$type_name} = $pt_type;
+
+ $fs_type2pt_type{$fs_type} ||= $pt_type;
+ $pt_type2fs_type{$pt_type} ||= $fs_type;
+ push @{$type_names{$name}}, $type_name;
+ }
+ }
+}
+
+
+sub type_names {
+ my ($expert) = @_;
+ my @l = @{$type_names{important}};
+ push @l, @{$type_names{less_important}}, sort @{$type_names{other}} if $expert;
+ @l;
+}
+
+sub type_name2subpart {
+ my ($name) = @_;
+ exists $type_name2fs_type{$name} &&
+ { fs_type => $type_name2fs_type{$name}, pt_type => $type_name2pt_type{$name} };
+}
+
+sub part2type_name {
+ my ($part) = @_;
+ my @names = keys %type_name2fs_type;
+
+ my $pt_type = defined $part->{pt_type} ? $part->{pt_type} : $part->{fs_type} && $fs_type2pt_type{$part->{fs_type}};
+ if (defined $pt_type) {
+ @names = grep { $pt_type eq $type_name2pt_type{$_} } @names;
+ }
+ if (my $fs_type = $part->{fs_type} || $part->{pt_type} && $pt_type2fs_type{$part->{pt_type}}) {
+ @names = grep { $fs_type eq $type_name2fs_type{$_} } @names;
+ }
+ if (@names > 1) {
+ log::l("ERROR: (part2type_name) multiple match for $part->{pt_type} $part->{fs_type}");
+ }
+ first(@names);
+}
+sub type_name2pt_type {
+ local ($_) = @_;
+ /0x(.*)/ ? hex $1 : $type_name2pt_type{$_} || $_;
+}
+
+
+sub pt_type2subpart {
+ my ($pt_type) = @_;
+ my $fs_type = $pt_type2fs_type{$pt_type};
+ { pt_type => $pt_type, if_($fs_type, fs_type => $fs_type) };
+}
+sub fs_type2subpart {
+ my ($fs_type) = @_;
+ my $pt_type = $fs_type2pt_type{$fs_type};
+ { fs_type => $fs_type, if_($pt_type, pt_type => $pt_type) };
+}
+sub set_fs_type {
+ my ($part, $fs_type) = @_;
+ put_in_hash($part, fs_type2subpart($fs_type));
+}
+sub set_pt_type {
+ my ($part, $pt_type) = @_;
+ put_in_hash($part, pt_type2subpart($pt_type));
+}
+sub suggest_fs_type {
+ my ($part, $fs_type) = @_;
+ set_fs_type($part, $fs_type) if !$part->{pt_type} && !$part->{fs_type};
+}
+sub set_type_subpart {
+ my ($part, $subpart) = @_;
+ if (exists $subpart->{pt_type} && exists $subpart->{fs_type}) {
+ $part->{fs_type} = $subpart->{fs_type};
+ $part->{pt_type} = $subpart->{pt_type};
+ } elsif (exists $subpart->{pt_type}) {
+ set_pt_type($part, $subpart->{pt_type});
+ } elsif (exists $subpart->{fs_type}) {
+ set_fs_type($part, $subpart->{fs_type});
+ } else {
+ log::l("ERROR: (set_type_subpart) subpart has no type");
+ }
+}
+
+sub fs_type_from_magic {
+ my ($part) = @_;
+ if (exists $part->{fs_type_from_magic}) {
+ $part->{fs_type_from_magic};
+ } else {
+ my $type = type_subpart_from_magic($part);
+ $type && $type->{fs_type};
+ }
+}
+
+sub call_vol_id {
+ my ($part) = @_;
+
+ my %h = map {
+ if_(/(.*?)=(.*)/, $1 => $2);
+ } run_program::get_stdout('vol_id', devices::make($part->{device}));
+
+ \%h;
+}
+
+sub type_subpart_from_magic {
+ my ($part) = @_;
+ my $ids = call_vol_id($part);
+
+ $part->{LABEL_from_magic} = $ids->{ID_FS_LABEL} if $ids->{ID_FS_LABEL};
+
+ my $p;
+ if ($ids->{ID_FS_USAGE} eq 'raid') {
+ my $name = {
+ linux_raid_member => "Linux RAID",
+ LVM1_member => 'Linux Logical Volume Manager',
+ LVM2_member => 'Linux Logical Volume Manager',
+ }->{$ids->{ID_FS_TYPE}};
+
+ $p = type_name2subpart($name) if $name;
+ } elsif ($ids->{ID_FS_TYPE}) {
+ $p = fs_type2subpart($ids->{ID_FS_TYPE}) or log::l("unknown filesystem $ids->{ID_FS_TYPE} returned by vol_id");
+ }
+
+ if ($p) {
+ $part->{fs_type_from_magic} = $p->{fs_type};
+ }
+ $p;
+}
+
+sub true_local_fs_types() { qw(ext3 ext2 reiserfs reiser4 xfs jfs) }
+
+sub isEmpty { !$_[0]{fs_type} && $_[0]{pt_type} == 0 }
+sub isEfi { arch() =~ /ia64/ && $_[0]{pt_type} == 0xef }
+sub isWholedisk { arch() =~ /^sparc/ && $_[0]{pt_type} == 5 }
+sub isExtended { arch() !~ /^sparc/ && ($_[0]{pt_type} == 5 || $_[0]{pt_type} == 0xf || $_[0]{pt_type} == 0x85) }
+sub isRawLVM { $_[0]{pt_type} == 0x8e }
+sub isRawRAID { $_[0]{pt_type} == 0xfd }
+sub isSwap { $_[0]{fs_type} eq 'swap' }
+sub isDos { arch() !~ /^sparc/ && ${{ 1 => 1, 4 => 1, 6 => 1 }}{$_[0]{pt_type}} }
+sub isFat_or_NTFS { member($_[0]{fs_type}, 'vfat', 'ntfs', 'ntfs-3g') }
+sub isApple { $_[0]{pt_type} == 0x401 && defined $_[0]{isDriver} }
+sub isAppleBootstrap { $_[0]{pt_type} == 0x401 && defined $_[0]{isBoot} }
+
+sub isTrueFS { isTrueLocalFS($_[0]) || member($_[0]{fs_type}, qw(nfs)) }
+sub isTrueLocalFS { member($_[0]{fs_type}, true_local_fs_types()) }
+
+sub isOtherAvailableFS { isEfi($_[0]) || isFat_or_NTFS($_[0]) || member($_[0]{fs_type}, 'ufs', 'hfs', 'iso9660') } #- other OS that linux can access its filesystem
+sub isMountableRW { (isTrueFS($_[0]) || isOtherAvailableFS($_[0])) && $_[0]{fs_type} ne 'ntfs' }
+sub isNonMountable {
+ my ($part) = @_;
+ isRawRAID($part) || isRawLVM($part) || $part->{fs_type} eq 'ntfs' && !$part->{isFormatted} && $part->{notFormatted};
+}
+
+sub isPartOfLVM { defined $_[0]{lvm} }
+sub isPartOfRAID { defined $_[0]{raid} }
+sub isPartOfLoopback { defined $_[0]{loopback} }
+sub isRAID { $_[0]{device} =~ /^md/ }
+sub isUBD { $_[0]{device} =~ /^ubd/ } #- should be always true during an $::uml_install
+sub isLVM { $_[0]{VG_name} || $_[0]{lv_name} }
+sub isLoopback { defined $_[0]{loopback_file} }
+sub isMounted { $_[0]{isMounted} }
+sub isBusy { isMounted($_[0]) || isPartOfRAID($_[0]) || isPartOfLVM($_[0]) || isPartOfLoopback($_[0]) }
+sub isSpecial { isRAID($_[0]) || isLVM($_[0]) || isLoopback($_[0]) || isUBD($_[0]) }
+
+#- not for partitions, but for hds:
+sub is_dmraid { $_[0]{bus} =~ /^dmraid_/ }
+
+sub can_be_this_fs_type {
+ my ($part, $fs_type) = @_;
+ can_be_one_of_those_fs_types($part, $fs_type);
+}
+sub can_be_one_of_those_fs_types {
+ my ($part, @fs_types) = @_;
+ $part->{fs_type} or return;
+ $part->{fs_type} eq 'auto' || listlength(intersection(\@fs_types, [ split(':', $part->{fs_type}) ]));
+}
+
+sub maybeFormatted {
+ my ($part) = @_;
+ $part->{isFormatted} || !$part->{notFormatted} && (!$part->{bad_fs_type_magic} || $part->{options} =~ /encrypted/);
+}
+sub set_isFormatted {
+ my ($part, $val) = @_;
+ $part->{isFormatted} = $val;
+ $part->{notFormatted} = !$val;
+ delete $part->{bad_fs_type_magic};
+ delete $part->{fs_type_from_magic};
+}
+
+#- do this before modifying $part->{fs_type}
+sub check {
+ my ($fs_type, $_hd, $part) = @_;
+ $fs_type eq "jfs" && $part->{size} < 16 << 11 and die N("You can not use JFS for partitions smaller than 16MB");
+ $fs_type eq "reiserfs" && $part->{size} < 32 << 11 and die N("You can not use ReiserFS for partitions smaller than 32MB");
+}
+
+sub guessed_by_mount() {
+ grep { $_ && !/nodev/ } chomp_(cat_('/etc/filesystems'));
+}
+
+sub directories_needed_to_boot() {
+ qw(/ /usr /var /boot /tmp);
+}
+
+sub carry_root_loopback {
+ my ($part) = @_;
+ any { $_->{mntpoint} eq '/' } @{$part->{loopback} || []};
+}
+
+1;
diff --git a/perl-install/fs/wild_device.pm b/perl-install/fs/wild_device.pm
new file mode 100644
index 000000000..f95c552ba
--- /dev/null
+++ b/perl-install/fs/wild_device.pm
@@ -0,0 +1,102 @@
+package fs::wild_device; # $Id: wild_device.pm 56211 2006-08-15 14:55:42Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+
+
+sub analyze {
+ my ($dev) = @_;
+
+ if ($dev =~ m!^/u?dev/(.*)!) {
+ 'dev', $dev;
+ } elsif ($dev !~ m!^/! && (-e "/dev/$dev" || -e "$::prefix/dev/$dev")) {
+ 'dev', "/dev/$dev";
+ } elsif ($dev =~ /^LABEL=(.*)/) {
+ 'label', $1;
+ } elsif ($dev eq 'none' || $dev eq 'rootfs') {
+ 'virtual';
+ } elsif ($dev =~ m!^(\S+):/\w!) {
+ 'nfs';
+ } elsif ($dev =~ m!^//\w!) {
+ 'smb';
+ } elsif ($dev =~ m!^http://!) {
+ 'dav';
+ }
+}
+
+sub to_subpart {
+ my ($dev) = @_;
+
+ my $part = { device => $dev, faked_device => 1 }; #- default
+
+ if (my ($kind, $val) = analyze($dev)) {
+ if ($kind eq 'label') {
+ $part->{device_LABEL} = $val;
+ } elsif ($kind eq 'dev') {
+ my %part = (faked_device => 0);
+ if (my $rdev = (stat "$::prefix$dev")[6]) {
+ ($part{major}, $part{minor}) = unmakedev($rdev);
+ }
+
+ my $symlink = readlink("$::prefix$dev");
+ $dev =~ s!/u?dev/!!;
+
+ if ($symlink && $symlink !~ m!^/!) {
+ my $keep = 1;
+ if ($symlink =~ m!/!) {
+ $symlink = MDK::Common::File::concat_symlink("/dev/" . dirname($dev), $symlink);
+ $symlink =~ s!^/dev/!! or $keep = 0;
+ }
+ if ($keep) {
+ $part{device_LABEL} = $1 if $dev =~ m!^disk/by-label/(.*)!;
+ $part{device_alias} = $dev;
+ $dev = $symlink;
+ }
+ }
+ if (my $part_number = devices::part_number(\%part)) {
+ $part{part_number} = $part_number;
+ }
+ $part{device} = $dev;
+ return \%part;
+ }
+ } else {
+ if ($dev =~ m!^/! && -f "$::prefix$dev") {
+ #- it must be a loopback file or directory to bind
+ } else {
+ log::l("part_from_wild_device_name: unknown device $dev");
+ }
+ }
+ $part;
+}
+
+sub from_part {
+ my ($prefix, $part) = @_;
+
+ if ($part->{prefer_device_LABEL}) {
+ 'LABEL=' . $part->{device_LABEL};
+ } elsif ($part->{device_alias}) {
+ "/dev/$part->{device_alias}";
+ } else {
+ my $faked_device = exists $part->{faked_device} ?
+ $part->{faked_device} :
+ do {
+ #- in case $part has been created without using fs::wild_device::to_subpart()
+ my ($kind) = analyze($part->{device});
+ $kind ? $kind ne 'dev' : $part->{device} =~ m!^/!;
+ };
+ if ($faked_device) {
+ $part->{device};
+ } elsif ($part->{device} =~ m!^/dev/!) {
+ log::l("ERROR: i have a full device $part->{device}, this should not happen. use fs::wild_device::to_subpart() instead of creating bad part data-structures!");
+ $part->{device};
+ } else {
+ my $dev = "/dev/$part->{device}";
+ eval { devices::make("$prefix$dev") };
+ $dev;
+ }
+ }
+}
+
+1;
diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm
new file mode 100644
index 000000000..e32940124
--- /dev/null
+++ b/perl-install/fsedit.pm
@@ -0,0 +1,597 @@
+package fsedit; # $Id: fsedit.pm 91225 2006-12-05 15:13:16Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(%suggestions);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use partition_table;
+use partition_table::raw;
+use fs::get;
+use fs::type;
+use fs::loopback;
+use fs::proc_partitions;
+use detect_devices;
+use devices;
+use log;
+use fs;
+
+%suggestions = (
+ N_("simple") => [
+ { mntpoint => "/", size => 300 << 11, fs_type => 'ext3', ratio => 5, maxsize => 8000 << 11 },
+ { mntpoint => "swap", size => 64 << 11, fs_type => 'swap', ratio => 1, maxsize => 4000 << 11 },
+ { mntpoint => "/home", size => 300 << 11, fs_type => 'ext3', ratio => 3 },
+ ], N_("with /usr") => [
+ { mntpoint => "/", size => 250 << 11, fs_type => 'ext3', ratio => 1, maxsize => 4000 << 11 },
+ { mntpoint => "swap", size => 64 << 11, fs_type => 'swap', ratio => 1, maxsize => 4000 << 11 },
+ { mntpoint => "/usr", size => 300 << 11, fs_type => 'ext3', ratio => 4, maxsize => 8000 << 11 },
+ { mntpoint => "/home", size => 100 << 11, fs_type => 'ext3', ratio => 3 },
+ ], N_("server") => [
+ { mntpoint => "/", size => 150 << 11, fs_type => 'ext3', ratio => 1, maxsize => 4000 << 11 },
+ { mntpoint => "swap", size => 64 << 11, fs_type => 'swap', ratio => 2, maxsize => 4000 << 11 },
+ { mntpoint => "/usr", size => 300 << 11, fs_type => 'ext3', ratio => 4, maxsize => 8000 << 11 },
+ { mntpoint => "/var", size => 200 << 11, fs_type => 'ext3', ratio => 3 },
+ { mntpoint => "/home", size => 150 << 11, fs_type => 'ext3', ratio => 3 },
+ { mntpoint => "/tmp", size => 150 << 11, fs_type => 'ext3', ratio => 2, maxsize => 4000 << 11 },
+ ],
+);
+foreach (values %suggestions) {
+ if (arch() =~ /ia64/) {
+ @$_ = ({ mntpoint => "/boot/efi", size => 50 << 11, pt_type => 0xef, ratio => 1, maxsize => 150 << 11 }, @$_);
+ }
+}
+
+my @suggestions_mntpoints = (
+ "/var/ftp", "/var/www", "/boot", '/usr/local', '/opt',
+ arch() =~ /sparc/ ? "/mnt/sunos" : arch() =~ /ppc/ ? "/mnt/macos" : "/mnt/windows",
+);
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+sub recompute_loopbacks {
+ my ($all_hds) = @_;
+ my @fstab = fs::get::fstab($all_hds);
+ @{$all_hds->{loopbacks}} = map { isPartOfLoopback($_) ? @{$_->{loopback}} : () } @fstab;
+}
+
+sub raids {
+ my ($hds) = @_;
+
+ my @parts = fs::get::hds_fstab(@$hds);
+
+ my @l = grep { isRawRAID($_) } @parts or return [];
+
+ log::l("looking for raids in " . join(' ', map { $_->{device} } @l));
+
+ require raid;
+ raid::detect_during_install(@l) if $::isInstall;
+ raid::get_existing(@l);
+}
+
+sub lvms {
+ my ($all_hds) = @_;
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return;
+
+ log::l("looking for vgs in " . join(' ', map { $_->{device} } @pvs));
+
+ #- otherwise vgscan will not find them
+ devices::make($_->{device}) foreach @pvs;
+ require lvm;
+
+ my @lvms;
+ foreach (@pvs) {
+ my $name = lvm::pv_to_vg($_) or next;
+ my $lvm = find { $_->{VG_name} eq $name } @lvms;
+ if (!$lvm) {
+ $lvm = new lvm($name);
+ lvm::update_size($lvm);
+ lvm::get_lvs($lvm);
+ push @lvms, $lvm;
+ }
+ $_->{lvm} = $name;
+ push @{$lvm->{disks}}, $_;
+ }
+ @lvms;
+}
+
+sub handle_dmraid {
+ my ($drives, $o_in) = @_;
+
+ @$drives > 1 or return;
+
+ devices::make($_->{device}) foreach @$drives;
+
+ require fs::dmraid;
+ eval { fs::dmraid::init() } or log::l("dmraid::init failed"), return;
+
+ my @vgs = fs::dmraid::vgs();
+ log::l(sprintf('dmraid: ' . join(' ', map { "$_->{device} [" . join(' ', @{$_->{disks}}) . "]" } @vgs)));
+
+ if ($o_in && @vgs && $::isInstall) {
+ @vgs = grep {
+ $o_in->ask_yesorno('', N("BIOS software RAID detected on disks %s. Activate it?", join(' ', @{$_->{disks}})), 1);
+ } @vgs or do {
+ fs::dmraid::call_dmraid('-an');
+ return;
+ };
+ }
+ log::l("using dmraid on " . join(' ', map { $_->{device} } @vgs));
+
+ my @used_hds = map {
+ my $part = fs::get::device2part($_, $drives) or log::l("handle_dmraid: can't find $_ in known drives");
+ if_($part, $part);
+ } map { @{$_->{disks}} } @vgs;
+
+ @$drives = difference2($drives, \@used_hds);
+
+ push @$drives, @vgs;
+}
+
+sub get_hds {
+ my ($o_flags, $o_in) = @_;
+ my $flags = $o_flags || {};
+ $flags->{readonly} && ($flags->{clearall} || $flags->{clear}) and die "conflicting flags readonly and clear/clearall";
+
+ my @drives = detect_devices::hds();
+
+ #- replace drives used in dmraid by the merged name
+ handle_dmraid(\@drives, $o_in) if !$flags->{nodmraid};
+
+ foreach my $hd (@drives) {
+ $hd->{file} = devices::make($hd->{device});
+ $hd->{prefix} ||= $hd->{device};
+ }
+
+ @drives = partition_table::raw::get_geometries(@drives);
+
+ my (@hds, @raw_hds);
+ foreach my $hd (@drives) {
+ $hd->{readonly} = $flags->{readonly};
+
+ eval { partition_table::raw::test_for_bad_drives($hd) if !$flags->{no_bad_drives} };
+ if (my $err = $@) {
+ log::l("test_for_bad_drives returned $err");
+ if ($err =~ /write error:/) {
+ log::l("setting $hd->{device} readonly");
+ $hd->{readonly} = 1;
+ } elsif ($err =~ /read error:/) {
+ next;
+ } else {
+ $o_in and $o_in->ask_warn('', $err);
+ next;
+ }
+ }
+
+ if ($flags->{clearall} || member($hd->{device}, @{$flags->{clear} || []})) {
+ partition_table::raw::zero_MBR_and_dirty($hd);
+ } else {
+ my $handle_die_and_cdie = sub {
+ if (my $type = fs::type::type_subpart_from_magic($hd)) {
+ #- non partitioned drive?
+ if (exists $hd->{usb_description} && $type->{fs_type}) {
+ #- USB keys
+ put_in_hash($hd, $type);
+ push @raw_hds, $hd;
+ $hd = '';
+ 1;
+ } elsif ($type->{pt_type} == 0x8e) {
+ #- LVM on full disk
+ my $part = { size => $hd->{totalsectors}, device => $hd->{device}, %$type };
+ bless $hd, 'partition_table::raw';
+ $hd->{readonly} = $hd->{getting_rid_of_readonly_allowed} = 1;
+ $hd->{primary}{normal} = [ $part ];
+ 1;
+ } else {
+ 0;
+ }
+ } elsif ($hd->{readonly}) {
+ log::l("using /proc/partitions since diskdrake failed :(");
+ fs::proc_partitions::use_($hd);
+ 1;
+ } else {
+ 0;
+ }
+ };
+ my $handled;
+ eval {
+ catch_cdie {
+ partition_table::read($hd);
+ if (listlength(partition_table::get_normal_parts($hd)) == 0) {
+ $handled = 1 if $handle_die_and_cdie->();
+ } elsif ($::isInstall) {
+ if (fs::type::is_dmraid($hd)) {
+ if (my $p = find { ! -e "/dev/$_->{device}" } partition_table::get_normal_parts($hd)) {
+ #- dmraid should have created the device, so it means we don't agree
+ die sprintf(q(bad dmraid (missing partition %s), you may try rebooting install with option "nodmraid"), $p->{device});
+ }
+ } else {
+ fs::proc_partitions::compare($hd) if !detect_devices::is_xbox();
+ }
+ }
+ } sub {
+ my $err = $@;
+ if ($handle_die_and_cdie->()) {
+ $handled = 1;
+ 0; #- do not continue, transform cdie into die
+ } else {
+ !$o_in || $o_in->ask_okcancel('', formatError($err));
+ }
+ };
+ };
+ if (my $err = $@) {
+ if ($handled) {
+ #- already handled in cdie handler above
+ } elsif ($handle_die_and_cdie->()) {
+ } elsif ($o_in && $o_in->ask_yesorno(N("Error"),
+N("I can not read the partition table of device %s, it's too corrupted for me :(
+I can try to go on, erasing over bad partitions (ALL DATA will be lost!).
+The other solution is to not allow DrakX to modify the partition table.
+(the error is %s)
+
+Do you agree to lose all the partitions?
+", $hd->{device}, formatError($err)))) {
+ partition_table::raw::zero_MBR($hd);
+ } else {
+ #- using it readonly
+ log::l("using /proc/partitions since diskdrake failed :(");
+ fs::proc_partitions::use_($hd);
+ }
+ }
+ $hd or next;
+
+ member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_)
+ foreach partition_table::get_normal_parts($hd);
+ }
+
+ my @parts = partition_table::get_normal_parts($hd);
+
+ # checking the magic of the filesystem, do not rely on pt_type
+ foreach (@parts) {
+ if (my $type = fs::type::type_subpart_from_magic($_)) {
+ if ($type->{fs_type}) {
+ #- keep {pt_type}
+ $_->{fs_type} = $type->{fs_type};
+ } else {
+ put_in_hash($_, $type);
+ }
+ } else {
+ $_->{bad_fs_type_magic} = 1;
+ }
+ $_->{device_LABEL} = $_->{LABEL_from_magic} if $_->{LABEL_from_magic};
+ }
+
+ if ($hd->{usb_media_type}) {
+ $_->{is_removable} = 1 foreach @parts;
+ }
+
+ push @hds, $hd;
+ }
+
+ #- detect raids before LVM allowing LVM on raid
+ my $raids = raids(\@hds);
+ my $all_hds = { %{ fs::get::empty_all_hds() }, hds => \@hds, raw_hds => \@raw_hds, lvms => [], raids => $raids };
+
+ $all_hds->{lvms} = [ lvms($all_hds) ];
+
+ fs::get_major_minor([ fs::get::fstab($all_hds) ]);
+
+ $all_hds;
+}
+
+#- are_same_partitions() do not look at the device name since things may have changed
+sub are_same_partitions {
+ my ($part1, $part2) = @_;
+ foreach ('start', 'size', 'pt_type', 'fs_type', 'rootDevice') {
+ $part1->{$_} eq $part2->{$_} or return 0;
+ }
+ 1;
+}
+
+sub is_one_big_fat_or_NT {
+ my ($hds) = @_;
+ @$hds == 1 or return 0;
+
+ my @l = fs::get::hds_fstab(@$hds);
+ @l == 1 && isFat_or_NTFS($l[0]) && fs::get::hds_free_space(@$hds) < 10 << 11;
+}
+
+
+sub computeSize {
+ my ($part, $best, $all_hds, $suggestions) = @_;
+ my $max = $part->{maxsize} || $part->{size};
+ return min($max, $best->{size}) unless $best->{ratio};
+
+ my %free_space;
+ $free_space{$_->{rootDevice}} += $_->{size} foreach fs::get::holes($all_hds);
+
+ my @l = my @L = grep {
+ my @possible = $_->{hd} ? $_->{hd} : keys %free_space;
+ my $size = $_->{size};
+ if (my $dev = find { $free_space{$_} >= $size } @possible) {
+ $free_space{$dev} -= $size;
+ 1;
+ } else { 0 } } @$suggestions;
+
+ my $free_space = $best->{hd} && $free_space{$best->{hd}} || sum(values %free_space);
+
+ my $cylinder_size_maxsize_adjusted;
+ my $tot_ratios = 0;
+ while (1) {
+ my $old_free_space = $free_space;
+ my $old_tot_ratios = $tot_ratios;
+
+ $tot_ratios = sum(map { $_->{ratio} } @l);
+ last if $tot_ratios == $old_tot_ratios;
+
+ @l = grep {
+ if ($_->{ratio} && $_->{maxsize} && $tot_ratios &&
+ $_->{size} + $_->{ratio} / $tot_ratios * $old_free_space >= $_->{maxsize}) {
+ return min($max, $best->{maxsize}) if $best->{mntpoint} eq $_->{mntpoint};
+ $free_space -= $_->{maxsize} - $_->{size};
+ if (!$cylinder_size_maxsize_adjusted++) {
+ eval { $free_space += fs::get::part2hd($part, $all_hds)->cylinder_size - 1 };
+ }
+ 0;
+ } else {
+ $_->{ratio};
+ }
+ } @l;
+ }
+ my $size = int min($max, $best->{size} + $free_space * ($tot_ratios && $best->{ratio} / $tot_ratios));
+ #- verify other entry can fill the hole
+ (any { $_->{size} <= $max - $size } @L) ? $size : $max;
+}
+
+sub suggest_part {
+ my ($part, $all_hds, $o_suggestions) = @_;
+ my $suggestions = $o_suggestions || $suggestions{server} || $suggestions{simple};
+
+ #- suggestions now use {fs_type}, but still keep compatibility
+ foreach (@$suggestions) {
+ fs::type::set_pt_type($_, $_->{pt_type}) if !exists $_->{fs_type};
+ }
+
+ my $has_swap = any { isSwap($_) } fs::get::fstab($all_hds);
+
+ my @local_suggestions =
+ grep { !$_->{mntpoint} && !$_->{VG_name} || !fs::get::has_mntpoint($_->{mntpoint}, $all_hds) || isSwap($_) && !$has_swap }
+ grep { !$_->{hd} || $_->{hd} eq $part->{rootDevice} }
+ @$suggestions;
+
+ #- this allows specifying the size using a relative size.
+ #- one should rather use {ratio} instead
+ foreach (@local_suggestions) {
+ if ($_->{percent_size} && $_->{percent_size} =~ /(.+?)%?$/) {
+ $_->{size} = $1 / 100 * fs::get::part2hd($part, $all_hds)->{totalsectors};
+ log::l("in suggestion, setting size=$_->{size} for percent_size=$_->{percent_size}");
+ }
+ }
+
+ my ($best) =
+ grep { !$_->{maxsize} || $part->{size} <= $_->{maxsize} }
+ grep { $_->{size} <= ($part->{maxsize} || $part->{size}) }
+ grep { !$part->{fs_type} || $part->{fs_type} eq $_->{fs_type} || isTrueFS($part) && isTrueFS($_) }
+ @local_suggestions;
+
+ defined $best or return 0; #- sorry no suggestion :(
+
+ $part->{mntpoint} = $best->{mntpoint};
+ fs::type::set_type_subpart($part, $best) if !isTrueFS($best) || !isTrueFS($part);
+ $part->{size} = computeSize($part, $best, $all_hds, \@local_suggestions);
+ foreach ('options', 'lv_name', 'encrypt_key', 'device_LABEL', 'prefer_device_LABEL', 'primaryOrExtended') {
+ $part->{$_} = $best->{$_} if $best->{$_};
+ }
+ $best;
+}
+
+sub suggestions_mntpoint {
+ my ($all_hds) = @_;
+ sort grep { !/swap/ && !fs::get::has_mntpoint($_, $all_hds) }
+ (@suggestions_mntpoints, map { $_->{mntpoint} } @{$suggestions{server} || $suggestions{simple}});
+}
+
+#- you can do this before modifying $part->{mntpoint}
+#- so $part->{mntpoint} should not be used here, use $mntpoint instead
+sub check_mntpoint {
+ my ($mntpoint, $part, $all_hds) = @_;
+
+ $mntpoint eq '' || isSwap($part) || isNonMountable($part) and return 0;
+ $mntpoint =~ m|^/| or die N("Mount points must begin with a leading /");
+ $mntpoint =~ m|[\x7f-\xff]| and cdie N("Mount points should contain only alphanumerical characters");
+ fs::get::mntpoint2part($mntpoint, [ grep { $_ ne $part } fs::get::really_all_fstab($all_hds) ]) and die N("There is already a partition with mount point %s\n", $mntpoint);
+
+ if ($mntpoint eq "/" && isRAID($part) && !fs::get::has_mntpoint("/boot", $all_hds)) {
+ my $md_part = fs::get::device2part($part->{raid}, $all_hds->{raids});
+ cdie N("You've selected a software RAID partition as root (/).
+No bootloader is able to handle this without a /boot partition.
+Please be sure to add a /boot partition") if $md_part->{level} ne '1'; # lilo handles / on RAID1
+ }
+
+ #- NB: if the LV doesn't exist, lv_nb_pvs returns 0
+ die N("You can not use the LVM Logical Volume for mount point %s since it spans physical volumes", $mntpoint)
+ if $mntpoint eq '/boot' && isLVM($part) && lvm::lv_nb_pvs($part) > 1;
+ cdie N("You've selected the LVM Logical Volume as root (/).
+The bootloader is not able to handle this when the volume spans physical volumes.
+You should create a /boot partition first") if $mntpoint eq "/" && isLVM($part) && lvm::lv_nb_pvs($part) != 1 && !fs::get::has_mntpoint("/boot", $all_hds);
+
+ cdie N("This directory should remain within the root filesystem")
+ if member($mntpoint, qw(/root));
+ die N("This directory should remain within the root filesystem")
+ if member($mntpoint, qw(/bin /dev /etc /lib /sbin /mnt /media));
+ die N("You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n")
+ if !isTrueLocalFS($part) && $mntpoint eq '/';
+ die N("You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n")
+ if !isTrueFS($part) && member($mntpoint, '/home', fs::type::directories_needed_to_boot());
+ die N("You can not use an encrypted file system for mount point %s", $mntpoint)
+ if $part->{options} =~ /encrypted/ && member($mntpoint, qw(/ /usr /var /boot));
+
+ local $part->{mntpoint} = $mntpoint;
+ fs::loopback::check_circular_mounts($part, $all_hds);
+}
+
+sub add {
+ my ($hd, $part, $all_hds, $options) = @_;
+
+ isSwap($part) ?
+ ($part->{mntpoint} = 'swap') :
+ $options->{force} || check_mntpoint($part->{mntpoint}, $part, $all_hds);
+
+ delete $part->{maxsize};
+
+ if (isLVM($hd)) {
+ lvm::lv_create($hd, $part);
+ } else {
+ partition_table::add($hd, $part, $options->{primaryOrExtended});
+ }
+}
+
+sub allocatePartitions {
+ my ($all_hds, $to_add) = @_;
+
+ my @to_add = @$to_add;
+
+ foreach my $part_ (fs::get::holes($all_hds, 'non_readonly')) {
+ my ($start, $size, $dev) = @$part_{"start", "size", "rootDevice"};
+ my ($part, $suggested);
+ while ($suggested = suggest_part($part = { start => $start, size => 0, maxsize => $size, rootDevice => $dev },
+ $all_hds, \@to_add)) {
+ my $hd = fs::get::part2hd($part, $all_hds);
+ add($hd, $part, $all_hds, { primaryOrExtended => $part->{primaryOrExtended} });
+ $size -= $part->{size} + $part->{start} - $start;
+ $start = $part->{start} + $part->{size};
+ @to_add = grep { $_ != $suggested } @to_add;
+ }
+ }
+}
+
+sub auto_allocate {
+ my ($all_hds, $o_suggestions) = @_;
+ my $before = listlength(fs::get::fstab($all_hds));
+
+ my $suggestions = $o_suggestions || $suggestions{simple};
+ allocatePartitions($all_hds, $suggestions);
+
+ if ($o_suggestions) {
+ auto_allocate_raids($all_hds, $suggestions);
+ if (auto_allocate_vgs($all_hds, $suggestions)) {
+ #- allocatePartitions needs to be called twice, once for allocating PVs, once for allocating LVs
+ my @vgs = map { $_->{VG_name} } @{$all_hds->{lvms}};
+ my @suggested_lvs = grep { member($_->{hd}, @vgs) } @$suggestions;
+ allocatePartitions($all_hds, \@suggested_lvs);
+ }
+ }
+
+ partition_table::assign_device_numbers($_) foreach @{$all_hds->{hds}};
+
+ if ($before == listlength(fs::get::fstab($all_hds))) {
+ # find out why auto_allocate failed
+ if (any { !fs::get::has_mntpoint($_->{mntpoint}, $all_hds) } @$suggestions) {
+ die N("Not enough free space for auto-allocating");
+ } else {
+ die N("Nothing to do");
+ }
+ }
+}
+
+sub auto_allocate_raids {
+ my ($all_hds, $suggestions) = @_;
+
+ my @raids = grep { isRawRAID($_) } fs::get::fstab($all_hds) or return;
+
+ require raid;
+ my @mds = grep { $_->{hd} =~ /md/ } @$suggestions;
+ foreach my $md (@mds) {
+ my @raids_ = grep { !$md->{parts} || $md->{parts} =~ /\Q$_->{mntpoint}/ } @raids;
+ @raids = difference2(\@raids, \@raids_);
+
+ my %h = %$md;
+ delete @h{'hd', 'parts'}; # keeping mntpoint, level, chunk-size, fs_type/pt_type
+ $h{disks} = \@raids_;
+
+ my $part = raid::new($all_hds->{raids}, %h);
+
+ raid::updateSize($part);
+ push @raids, $part; #- we can build raid over raid
+ }
+}
+
+sub auto_allocate_vgs {
+ my ($all_hds, $suggestions) = @_;
+
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return 0;
+
+ my @vgs = grep { $_->{VG_name} } @$suggestions or return 0;
+
+ partition_table::write($_) foreach @{$all_hds->{hds}};
+
+ require lvm;
+
+ foreach my $vg (@vgs) {
+ my $lvm = new lvm($vg->{VG_name});
+ push @{$all_hds->{lvms}}, $lvm;
+
+ my @pvs_ = grep { !$vg->{parts} || $vg->{parts} =~ /\Q$_->{mntpoint}/ } @pvs;
+ @pvs = difference2(\@pvs, \@pvs_);
+
+ foreach my $part (@pvs_) {
+ raid::make($all_hds->{raids}, $part) if isRAID($part);
+ $part->{lvm} = $lvm->{VG_name};
+ delete $part->{mntpoint};
+ lvm::vg_add($part);
+ push @{$lvm->{disks}}, $part;
+ }
+ lvm::update_size($lvm);
+ }
+ 1;
+}
+
+sub change_type {
+ my ($type, $hd, $part) = @_;
+ $type->{pt_type} != $part->{pt_type} || $type->{fs_type} ne $part->{fs_type} or return;
+ fs::type::check($type->{fs_type}, $hd, $part);
+ $hd->{isDirty} = 1;
+ $part->{mntpoint} = '' if isSwap($part) && $part->{mntpoint} eq "swap";
+ $part->{mntpoint} = '' if isRawLVM($type) || isRawRAID($type);
+ set_isFormatted($part, 0);
+ fs::type::set_type_subpart($part, $type);
+ fs::mount_options::rationalize($part);
+ 1;
+}
+
+sub rescuept($) {
+ my ($hd) = @_;
+ my ($ext, @hd);
+
+ my $dev = devices::make($hd->{device});
+ open(my $F, "rescuept $dev|");
+ local $_;
+ while (<$F>) {
+ my ($st, $si, $id) = /start=\s*(\d+),\s*size=\s*(\d+),\s*Id=\s*(\d+)/ or next;
+ my $part = { start => $st, size => $si };
+ fs::type::set_pt_type($part, hex($id));
+ if (isExtended($part)) {
+ $ext = $part;
+ } else {
+ push @hd, $part;
+ }
+ }
+ close $F or die "rescuept failed";
+
+ partition_table::raw::zero_MBR($hd);
+ foreach (@hd) {
+ my $b = partition_table::verifyInside($_, $ext);
+ if ($b) {
+ $_->{start}--;
+ $_->{size}++;
+ }
+ local $_->{notFormatted};
+
+ partition_table::add($hd, $_, ($b ? 'Extended' : 'Primary'), 1);
+ }
+}
+
+1;
diff --git a/perl-install/handle_configs.pm b/perl-install/handle_configs.pm
new file mode 100644
index 000000000..ced0575db
--- /dev/null
+++ b/perl-install/handle_configs.pm
@@ -0,0 +1,160 @@
+package handle_configs;
+
+# $Id: handle_configs.pm 14456 2003-09-17 19:25:59Z tvignaud $
+
+use diagnostics;
+use strict;
+
+use common;
+
+sub searchstr {
+ # Preceed all characters which are special characters in regexps with
+ # a backslash, so that the returned string used in a regexp searches
+ # a literal occurence of the original string. White space is replaced
+ # by "\s+"
+ # "quotemeta()" does not serve for this, as it also quotes some regular
+ # characters, as the space
+ my ($s) = @_;
+ $s =~ s!([\\/\(\)\[\]\{\}\|\.\$\@\%\*\?#\+\-])!\\$1!g;
+ return $s;
+}
+
+sub read_directives {
+ # Read one or more occurences of a directive
+ my ($lines_ptr, $directive) = @_;
+
+ my $searchdirective = searchstr($directive);
+ # do not use if_() below because it slow down printerdrake
+ # to the point one can believe in process freeze:
+ map { (/^\s*$searchdirective\s+(\S.*)$/ ? chomp_($1) : ()) } @$lines_ptr;
+}
+
+sub read_unique_directive {
+
+ # Read a directive, if the directive appears more than once, use
+ # the last occurence and remove all the others, if it does not
+ # occur, return the default value
+
+ my ($lines_ptr, $directive, $default) = @_;
+
+ if ((my @d = read_directives($lines_ptr, $directive)) > 0) {
+ my $value = $d[-1];
+ set_directive($lines_ptr, "$directive $value");
+ return $value;
+ } else {
+ return $default;
+ }
+}
+
+sub insert_directive {
+
+ # Insert a directive only if it is not already there
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $searchdirective = searchstr($directive);
+ (/^\s*$searchdirective$/ and return 0) foreach @$lines_ptr;
+ push @$lines_ptr, "$directive\n";
+ return 1;
+}
+
+sub remove_directive {
+
+ # Remove a directive
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $success = 0;
+ my $searchdirective = searchstr($directive);
+ (/^\s*$searchdirective/ and $_ = "" and $success = 1)
+ foreach @$lines_ptr;
+ return $success;
+}
+
+sub comment_directive {
+
+ # Comment out a directive
+
+ my ($lines_ptr, $directive, $exactmatch) = @_;
+
+ my $success = 0;
+ my $searchdirective = searchstr($directive);
+ $searchdirective .= ".*" if !$exactmatch;
+ (s/^\s*($searchdirective)$/#$1/ and $success = 1)
+ foreach @$lines_ptr;
+ return $success;
+}
+
+sub replace_directive {
+
+ # Replace a directive, if it appears more than once, remove
+ # the additional occurences.
+
+ my ($lines_ptr, $olddirective, $newdirective) = @_;
+
+ my $success = 0;
+ $newdirective = "$newdirective\n";
+ my $searcholddirective = searchstr($olddirective);
+ (/^\s*$searcholddirective/ and $_ = $newdirective and
+ $success = 1 and $newdirective = "") foreach @$lines_ptr;
+ return $success;
+}
+
+
+sub move_directive_to_version_commented_out {
+
+ # If there is a version of the directive "commentedout" which is
+ # commented out, the directive "directive" will be moved in its place.
+
+ my ($lines_ptr, $commentedout, $directive, $exactmatch) = @_;
+
+ my $success = 0;
+ my $searchcommentedout = searchstr($commentedout);
+ $searchcommentedout .= ".*" if !$exactmatch;
+ (/^\s*#$searchcommentedout$/ and
+ $success = 1 and last) foreach @$lines_ptr;
+ if ($success) {
+ remove_directive($lines_ptr, $directive);
+ (s/^\s*#($searchcommentedout)$/$directive/ and
+ $success = 1 and last) foreach @$lines_ptr;
+ }
+ return $success;
+}
+
+sub set_directive {
+
+ # Set a directive, replace the old definition or a commented definition
+
+ my ($lines_ptr, $directive, $full_line) = @_;
+
+ my $olddirective = $directive;
+ if (!$full_line) {
+ $olddirective =~ s/^\s*(\S+)\s+.*$/$1/s;
+ $olddirective ||= $directive;
+ }
+
+ my $success = (replace_directive($lines_ptr, $olddirective,
+ $directive) ||
+ insert_directive($lines_ptr, $directive));
+ if ($success) {
+ move_directive_to_version_commented_out($lines_ptr, $directive,
+ $directive, 1);
+ }
+ return $success;
+}
+
+sub add_directive {
+
+ # Add a directive, replace a commented definition
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $success = insert_directive($lines_ptr, $directive);
+ if ($success) {
+ move_directive_to_version_commented_out($lines_ptr, $directive,
+ $directive, 1);
+ }
+ return $success;
+}
+
+1;
diff --git a/perl-install/harddrake/TODO b/perl-install/harddrake/TODO
new file mode 100644
index 000000000..29c28cb77
--- /dev/null
+++ b/perl-install/harddrake/TODO
@@ -0,0 +1,169 @@
+-*- outline -*-
+
+* drakxtools
+** drakxtools* need XF-{75,100}fonts that requires XFree86
+
+* Harddrake TODO:
+** ui
+*** more usb mice infos
+*** enable the user to force a module (isa, isapnp, ...)
+*** print "(not loaded)" if module isn't loaded
+*** add bus_position to make unique id in ui (check it does not confuse hw service)
+*** cdrom (must be done by diskdrake):
+**** ide-scsi / ide-cd switch (humm, the future (aka 2.6.x kernel) is ide-cd only)
+*** use fbgtk+2 when booting on fbcon for smoother GUI => interactive::fbgtk
+*** help:
+**** print fields in black and their description in blue as for information fields
+*** check there's at least one config option before showing the "condigure module" button
+*** s/module/driver/ ?
+** fixes
+*** configure at boot-time (hw hooks shared by both harddrake & drakx ?):
+ all /etc/modules aliases
+**** usb-interfaces (or rewrite usb service in perl for speed)
+**** switch nvidia/nv in /etc/X11/XF86Config
+ if [[ -e /lib/modules/`uname -r`/kernel/drivers/video/NVdriver ]]; then
+ perl -pi -e 's!Driver "nv.*"!Driver "nvidia"!g;s!#HARDDRAKE (Load.*glx)!\1!g' /etc/X11/XF86Config-4
+ else
+ perl -pi -e 's!Driver "nv.*"!Driver "nv"!g;s!(Load.*glx)!#HARDDRAKE \1!g' /etc/X11/XF86Config-4
+ fi
+*** non needed stuff to run X must be posponed after X11 startup
+**** eg: scanner/audio/printer/floppy/cdrom/tape/tv/webcam/joystick/ ...
+** packaging : separate version for harddrake & drakxtool
+** configurators
+*** new cd burner: offer to install cdrecord and one of its gui frontends
+*** new dvd driver : offer to install xine||mplayer
+*** draksound :
+**** add a dialog so that the user choose its wavetable.
+**** list all availables drivers, defaulting to first alternative, prepending old one with '*'
+**** add 'ALSA/OSS': tag to modules list
+** detect engine:
+*** detect isapnp devices
+*** set more field for fscking 0x0000:0x0000 usb controllers
+
+** move all drakx tools into just a small one-liner that uses real <tool>.pm
+ so that harddrake and mcc reduces their memory usage pattern and
+ be faster (the next fast step will be to use perl6/parrot)
+
+ drawback : this would level down quite a lot the global mcc/harddrake robustness
+
+** check there're enough parameters in module config
+** for to send a message for unknown hardware to install@mandrakesoft.com
+
+ Subject: [UNKNOW HARDWARE] or a new other ml
+ -> do you konw how to configure it under linux ?
+ -> description
+
+
+* ####################################################################
+* ####################################################################
+
+* / no hope / useless :
+** enable a string to be passed as detector; in that case, do ourself the =~
+** alter detect_devices in order to only probe one time
+** detect *ALL* mouses if more than one (mousedrake?)
+
+** deeper data structure in Mandrake 9.2 ?
+
+ "Mass storage" => (Floppy,
+ Disk,
+ Cdrom,
+ Tape)
+
+ "Network" => (Ethernetcard,
+ Modem,
+ Isdn)
+ "Multimedia" => (Videocard,
+ Tvcard,
+ Soundcard,
+ Webcam)
+ "System" => (Bridge,
+ Cpu,
+ Memory)
+
+
+ "Publishing" => (Printer,
+ Scanner)
+
+ "Pointing" => (Mouse,
+ Joystick)
+
+ "Buses" => (Ideinterface,
+ Scsiinterface,
+ Usbinterface,
+ );
+
+ "Unknown/Others",
+
+* ####################################################################
+
+* Suggestions
+** various
+Subject: Re: [Cooker] Optional ALSA Support for SB Live!
+From: Fabrice FACORAT <f.faber@netcourrier.com>
+To: cooker@linux-mandrake.com
+In-Reply-To: <m2ofhvtpaq.fsf@vador.mandrakesoft.com>
+References: <20020311051222.47DC087CA5@yavin.mandrax.org>
+ <m2ofhvtpaq.fsf@vador.mandrakesoft.com>
+Date: 11 Mar 2002 11:12:31 +0100
+Message-Id: <1015841551.3895.31.camel@bastard.localdomain>
+
+Le lun 11/03/2002 à 10:41, Thierry Vignaud a écrit :
+
+> > In Mandrake 8.1 rerunning Harddrake post-setup would switch over
+> > to ALSA (which supports MIDI synth), however in 8.2 the only way to
+> > get ALSA support is to manually edit the modules.conf file. This
+> > would be disasterous for someone who isn't familar with
+> > modules.conf, but had been instructed on the mandrake-expert/newbie
+> > lists (as many had been) to simply rerun Harddrake on the sound card
+> > to get ALSA (and hence MIDI synth support).
+>
+> give me the result of lspcidrake -f -v so that i switch your card
+> from oss to alsa.
+
+no please.
+just one month ago you switch SBLive from Alsa to OSS ( cause drakX
+set it as OSS and harddrake as Alsa ).
+There were also a discussion concerning the fact that Alsa doesn't
+support emu-tools and so all available options.
+Last but not least, several peoples report pbs with Alsa ( is sound is
+too high you have disturbances ). So someone is going to ask you for
+OSS as it want to use some features os SBLive, etc ...
+
+To my mind the best way for this ( but too late for 8.2 ) will be to
+have a tool called soundrake. Thanks to this tools, you choose at the
+beginning if you want to use OSS or alsa and then try to correctly
+configure your sound card. This tool should be able to work in
+embended mo in harddrake or harddrake2 ( infos concerning this so long
+awaiting harddrake 2 ? ).
+
+In order to make this tool be a perfect tool, it should be able to
+advice user concerning the advantage and the disadvantage of each
+driver ( indeed alsa sometimes is better than OSS as it support full
+duplex and wave mixing on more sound cards ).
+It's also disturbing is harddrake set alsa by default and XrakX set
+OSS by default as sometimes by lanching harddrake ( just to see what
+happen ) you lose ( or seems to lose ) your sound card ( mute mixer )
+
+For example :
++ launch harddrake
++ use autodetection : yes/no
++ if auto detects enable, it detects a SBLive.
++ explanations text concerning the fact that :
+ if I use OSS I will be able to use sounds effects, live drive and
+others things ( AC-3 passthrough ) thanks to the emu10k1-tools packages
+( available on CD sets and installable via Software Manager )
+ if I use Alsa, I won't be able to use emu10k1-tools but at the
+contrary I will be able to use midi software as alsa module support midi
++ ask user which one he wants to use : OSS / Alsa ?
++ set the sound card drivers and modules.conf according to user wishes
++ <mode= dream> if I select OSS, installed emu10k1-tools and provide a
+GUI to configure them </mode = dream>
++ <mode= dream> if I select Alsa unmute at least PCM and Vol or display
+a warning saying that by default Alsa mute everything ( configure alsa
+service so that it save mixer settings )
++ test the sound ( mandrake sound theme )
++ do you hear something ?
++ yes -> your sound card have been properly set.
++ if no -> try the others drivers set or send lspcidrake -v to
+somebody@somewhere.org to check for support for your sound card
++ Do you ahave another sound card ?
diff --git a/perl-install/harddrake/autoconf.pm b/perl-install/harddrake/autoconf.pm
new file mode 100644
index 000000000..791185b67
--- /dev/null
+++ b/perl-install/harddrake/autoconf.pm
@@ -0,0 +1,86 @@
+package harddrake::autoconf;
+
+use common;
+
+sub xconf {
+ my ($modules_conf, $o) = @_;
+
+ log::l('automatic XFree configuration');
+
+ require Xconfig::default;
+ require do_pkgs;
+ my $do_pkgs = do_pkgs_standalone->new;
+ $o->{raw_X} = Xconfig::default::configure($do_pkgs);
+
+ require Xconfig::main;
+ Xconfig::main::configure_everything_auto_install($o->{raw_X}, $do_pkgs, {}, { allowFB => 1 });
+
+ #- always disable compositing desktop effects when configuring a new video card
+ require Xconfig::glx;
+ Xconfig::glx::write({});
+
+ modules::load_category($modules_conf, 'various/agpgart');
+}
+
+sub network_conf {
+ my ($obj) = @_;
+ require network::network;
+ network::network::easy_dhcp($obj->{net}, $obj->{modules_conf});
+}
+
+sub mouse_conf {
+ my ($modules_conf) = @_;
+ require do_pkgs;
+ require mouse;
+ mouse::write_conf(do_pkgs_standalone->new, $modules_conf, my $mouse = mouse::detect($modules_conf), 1);
+ mouse::load_modules($mouse);
+}
+
+sub pcmcia {
+ my ($pcic) = @_;
+ require modules;
+ modules::set_preload_modules("pcmcia", if_($pcic, $pcic));
+}
+
+sub bluetooth {
+ my ($enable) = @_;
+#- FIXME: make sure these packages are installed when needed
+# if ($enable) {
+# require do_pkgs;
+# my $do_pkgs = do_pkgs_standalone->new;
+# $do_pkgs->ensure_is_installed("bluez-utils", "/usr/bin/rfcomm");
+# }
+ require services;
+ services::set_status("bluetooth", $enable);
+ my $kbluetoothd_cfg = '/etc/kde/kbluetoothdrc';
+ update_gnomekderc($kbluetoothd_cfg,
+ 'General',
+ 'AutoStart' => bool2text($enable)) if -f $kbluetoothd_cfg;
+}
+
+sub laptop {
+ my ($on_laptop) = @_;
+#- FIXME: make sure these packages are installed when needed
+# require do_pkgs;
+# my $do_pkgs = do_pkgs_standalone->new;
+# if ($on_laptop) {
+# $do_pkgs->ensure_is_installed("cpufreq", "/etc/rc.d/init.d/cpufreq");
+# $do_pkgs->ensure_is_installed("apmd", "/usr/bin/apm");
+# $do_pkgs->ensure_is_installed("hotkeys", "/usr/bin/hotkeys");
+# $do_pkgs->ensure_is_installed("laptop-mode-tools", "/usr/sbin/laptop_mode");
+# } else {
+# $do_pkgs->ensure_is_installed("numlock", "/etc/rc.d/init.d/numlock");
+# }
+ require services;
+ services::set_status("cpufreq", $on_laptop);
+ services::set_status("apmd", $on_laptop);
+ services::set_status("laptop-mode", $on_laptop);
+ services::set_status("numlock", !$on_laptop);
+}
+
+sub cpufreq() {
+ require cpufreq;
+ modules::set_preload_modules("cpufreq", cpufreq::get_modules());
+}
+
+1;
diff --git a/perl-install/harddrake/check_snd.pl b/perl-install/harddrake/check_snd.pl
new file mode 100755
index 000000000..dfa007b80
--- /dev/null
+++ b/perl-install/harddrake/check_snd.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use strict;
+use lib qw(/usr/lib/libDrakX);
+
+use common;
+use harddrake::sound;
+use list_modules;
+
+
+my @listed_modules = @{$list_modules::l{multimedia}{sound}};
+my @drivers = (keys %harddrake::sound::oss2alsa, keys %harddrake::sound::alsa2oss);
+my @alternatives = uniq map { @{$_} } values %harddrake::sound::oss2alsa, values %harddrake::sound::alsa2oss;
+
+# check harddrake::sound's data structures're coherent
+print "unknown alternative drivers : [", join(', ', difference2(\@alternatives, \@drivers)), "]\n";
+
+# check that list_modules and harddrake::sound are synced
+print "non real sound modules (submodules, tv, usb, ...) : [", join(', ', difference2(\@drivers, \@listed_modules)), "]\n";
+print "forgotten sound modules : [", join(', ', difference2(\@listed_modules, \@drivers)), "]\n";
diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm
new file mode 100644
index 000000000..48c8fd11d
--- /dev/null
+++ b/perl-install/harddrake/data.pm
@@ -0,0 +1,561 @@
+package harddrake::data;
+
+use strict;
+use detect_devices;
+use common;
+use modules;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(version tree);
+our ($version, $sbindir, $bindir) = ("10", "/usr/sbin", "/usr/bin");
+
+my @devices = detect_devices::probeall();
+
+# Update me each time you handle one more devices class (aka configurator)
+sub unknown() {
+ grep { $_->{media_type} !~ /BRIDGE|class\|Mouse|DISPLAY|Hub|MEMORY_RAM|MULTIMEDIA_(VIDEO|AUDIO|OTHER)|NETWORK|Printer|SERIAL_(USB|SMBUS)|STORAGE_(IDE|OTHER|RAID|SCSI)|SYSTEM_OTHER|tape|UPS/
+ && !member($_->{driver}, qw(cpia_usb cyber2000fb forcedeth ibmcam megaraid mod_quickcam nvnet ohci1394 ov511 ov518_decomp scanner ultracam usbvideo usbvision))
+ && $_->{driver} !~ /^ISDN|Mouse:USB|Removable:zip|class\|Mouse|sata|www.linmodems.org/
+ && $_->{type} ne 'network'
+ && $_->{description} !~ /Alcatel|ADSL Modem/;
+ } @devices;
+}
+
+my @alrd_dected;
+sub f {
+ my @devs = grep { !member(pciusb_id($_), @alrd_dected) } grep { $_ } @_;
+ push @alrd_dected, map { pciusb_id($_) } @devs;
+ @devs;
+}
+
+
+# tree format ("CLASS_ID", "type", "type_icon", configurator, detect_sub)
+# NEVER, NEVER alter CLASS_ID or you'll see harddrake2 service detect changes
+# in hw configuration ... :-(
+
+# FIXME: add translated items
+
+sub is_removable { $_[0] =~ /FLOPPY|ZIP|DVDROM|CDROM|BURNER/ }
+
+sub set_removable_configurator {
+ my ($class, $device) = @_;
+ return "/usr/sbin/diskdrake --removable=$device->{device}" if is_removable($class);
+ }
+
+sub set_removable_auto_configurator {
+ my ($class, $device) = @_;
+ return "/usr/sbin/drakupdate_fstab --no-flag --auto --add $device->{device}" if is_removable($class);
+}
+
+sub set_removable_remover {
+ my ($class, $device) = @_;
+ return "/usr/sbin/drakupdate_fstab --no-flag --del $device->{device}" if is_removable($class);
+}
+
+my $modules_conf = modules::any_conf->read;
+
+# Format is (HW class ID, l18n class name, icon, config tool , is_to_be_detected_on_boot)
+our @tree =
+ (
+ {
+ class => "FLOPPY",
+ string => N("Floppy"),
+ icon => "floppy.png",
+ configurator => "",
+ detector => \&detect_devices::floppies,
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "ZIP",
+ string => N("Zip"),
+ icon => "floppy.png",
+ configurator => "",
+ detector => sub {
+ my ($options) = @_;
+ if ($options->{PARALLEL_ZIP_DETECTION}) {
+ modules::load_parallel_zip($modules_conf) and $modules_conf->write;
+ }
+ detect_devices::zips();
+ },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "HARDDISK",
+ string => N("Hard Disk"),
+ icon => "harddisk.png",
+ configurator => "$sbindir/diskdrake",
+ detector => sub { f(detect_devices::hds()) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "CDROM",
+ string => N("CDROM"),
+ icon => "cd.png",
+ configurator => "",
+ detector => sub { grep { !(detect_devices::isBurner($_) || detect_devices::isDvdDrive($_)) } &detect_devices::cdroms },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "BURNER",
+ string => N("CD/DVD burners"),
+ icon => "cd.png",
+ configurator => "",
+ detector => \&detect_devices::burners,
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "DVDROM",
+ string => N("DVD-ROM"),
+ icon => "cd.png",
+ configurator => "",
+ detector => sub { grep { ! detect_devices::isBurner($_) } detect_devices::dvdroms() },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "TAPE",
+ string => N("Tape"),
+ icon => "tape.png",
+ configurator => "",
+ detector => \&detect_devices::tapes,
+ checked_on_boot => 0,
+ },
+
+ # AGP devices must be detected prior to video cards because some DRM drivers doesn't like be loaded
+ # after agpgart thus order in /etc/modprobe.preload is important (modules.pm should enforce such sorting):
+ {
+ class => "AGP",
+ string => N("AGP controllers"),
+ icon => "memory.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('various/agpgart')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "VIDEO",
+ string => N("Videocard"),
+ icon => "video.png",
+ configurator => "$sbindir/XFdrake",
+ configurator_auto => "$sbindir/XFdrake",
+ detector => sub { f(grep { $_->{driver} =~ /^(Card|Server):/ || $_->{media_type} =~ /DISPLAY_VGA/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "DVB",
+ string => N("DVB card"),
+ icon => "tv.png",
+ detector => sub { f(detect_devices::probe_category('multimedia/dvb')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "TV",
+ string => N("Tvcard"),
+ icon => "tv.png",
+ configurator => "/usr/bin/XawTV",
+ detector => sub { f(detect_devices::probe_category('multimedia/tv')),
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO/ && $_->{bus} eq 'PCI' } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "MULTIMEDIA_OTHER",
+ string => N("Other MultiMedia devices"),
+ icon => "multimedia.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /MULTIMEDIA_OTHER/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "AUDIO",
+ string => N("Soundcard"),
+ icon => "sound.png",
+ configurator => "$sbindir/draksound",
+ detector => sub {
+ require list_modules;
+ my @modules = list_modules::category2modules('multimedia/sound');
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_AUDIO/ || member($_->{driver}, @modules) } @devices);
+ },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "WEBCAM",
+ string => N("Webcam"),
+ icon => "webcam.png",
+ configurator => "",
+ detector => sub {
+ require list_modules;
+ my @modules = (list_modules::category2modules('multimedia/webcam'), 'Removable:camera');
+ f(grep { $_->{media_type} =~ /MULTIMEDIA_VIDEO|Video\|Video Control/ && $_->{bus} ne 'PCI' || member($_->{driver}, @modules) } @devices);
+ },
+ # managed by hotplug:
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "CPU",
+ string => N("Processors"),
+ icon => "cpu.png",
+ configurator => "",
+ detector => sub { detect_devices::getCPUs() },
+ # maybe should we install schedutils?
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ISDN",
+ string => N("ISDN adapters"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { require network::connection::isdn; my $isdn = network::connection::isdn::detect_backend($modules_conf); if_(@$isdn, f(@$isdn)) },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+
+ {
+ class => "USB_AUDIO",
+ string => N("USB sound devices"),
+ icon => "sound.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/usb_sound')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "RADIO",
+ string => N("Radio cards"),
+ icon => "tv.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/radio')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "ATM",
+ string => N("ATM network cards"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('network/atm')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "WAN",
+ string => N("WAN network cards"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('network/wan')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "BLUETOOTH",
+ string => N("Bluetooth devices"),
+ icon => "hw_network.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('bus/bluetooth')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ETHERNET",
+ string => N("Ethernetcard"),
+ icon => "hw_network.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub {
+ require list_modules;
+ my @net_modules = list_modules::category2modules(list_modules::ethernet_categories());
+ f(grep {
+ $_->{media_type} && $_->{media_type} =~ /^NETWORK/
+ || $_->{type} && $_->{type} eq 'network'
+ || member($_->{driver}, @net_modules);
+ } @devices);
+ },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "MODEM",
+ string => N("Modem"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { f(detect_devices::getModem($modules_conf)) },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "ADSL",
+ string => N("ADSL adapters"),
+ icon => "modem.png",
+ configurator => "$sbindir/drakconnect",
+ detector => sub { f(detect_devices::get_xdsl_usb_devices()),
+ f(grep { $_->{description} =~ /Cohiba 3887 rev0/ } @devices);
+ },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MEMORY",
+ string => N("Memory"),
+ icon => "hw-memory.png",
+ configurator => "",
+ detector => sub { grep { member($_->{name}, 'Cache', 'Memory Module') } detect_devices::dmidecode() },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "PRINTER",
+ string => N("Printer"),
+ icon => "hw_printer.png",
+ configurator => "$sbindir/printerdrake",
+ detector => sub { require printer::detect; printer::detect::local_detect() },
+ # we do not check these b/c this need user interaction (auth, ...):
+ checked_on_boot => 0,
+ },
+
+
+
+ {
+ class => "GAMEPORT",
+ string =>
+ #-PO: these are joysticks controllers:
+ N("Game port controllers"),
+ icon => "joystick.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('multimedia/gameport')) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "JOYSTICK",
+ string => N("Joystick"),
+ icon => "joystick.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('input/joystick')), f(grep { $_->{description} =~ /Joystick/i } @devices) },
+ checked_on_boot => 0,
+ },
+
+
+ {
+ class => "SATA_STORAGE",
+ string => N("SATA controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/sata')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "RAID_STORAGE",
+ string => N("RAID controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/hardware_raid')),
+ f(grep { $_->{media_type} =~ /STORAGE_RAID/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "ATA_STORAGE",
+ string => N("(E)IDE/ATA controllers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/all_ide'), detect_devices::probe_category('disk/ide')),
+ f(grep { $_->{media_type} =~ /STORAGE_(IDE|OTHER)/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "USB_STORAGE",
+ string => N("USB Mass Storage Devices"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { member($_->{driver}, qw(usb-storage ub)) } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "CARD_READER",
+ string => N("Card readers"),
+ icon => "ide_hd.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/card_reader')) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "FIREWIRE_CONTROLLER",
+ string => N("Firewire controllers"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{driver} =~ /ohci1394/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "PCMCIA_CONTROLLER",
+ string => N("PCMCIA controllers"),
+ icon => "hw-pcmcia.png",
+ configurator => "",
+ detector => sub { f(detect_devices::pcmcia_controller_probe()) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "SCSI_CONTROLLER",
+ string => N("SCSI controllers"),
+ icon => "scsi.png",
+ configurator => "",
+ detector => sub { f(detect_devices::probe_category('disk/scsi'), grep { $_->{media_type} =~ /STORAGE_SCSI/ } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "USB_CONTROLLER",
+ string => N("USB controllers"),
+ icon => "usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} eq 'SERIAL_USB' } @devices) },
+ checked_on_boot => 1,
+ },
+
+ {
+ class => "USB_HUB",
+ string => N("USB ports"),
+ icon => "hw-usb.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /Hub/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "SMB_CONTROLLER",
+ string => N("SMBus controllers"),
+ icon => "hw-smbus.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /SERIAL_SMBUS/ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "BRIDGE",
+ string => N("Bridges and system controllers"),
+ icon => "memory.png",
+ configurator => "",
+ detector => sub { f(grep { $_->{media_type} =~ /BRIDGE|MEMORY_RAM|SYSTEM_OTHER|MEMORY_OTHER|SYSTEM_PIC/
+ || $_->{description} =~ /Parallel Port Adapter/;
+ } @devices) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "KEYBOARD",
+ string => N("Keyboard"),
+ icon => "hw-keyboard.png",
+ configurator => "$sbindir/keyboarddrake",
+ detector => sub {
+ f(grep { $_->{description} =~ /Keyboard/i } @devices),
+ # USB devices are filtered out since we already catch them through probeall():
+ grep { $_->{bus} ne 'usb' && $_->{driver} eq 'kbd' && $_->{description} !~ /PC Speaker/ } detect_devices::getInputDevices();
+ },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MISC_INPUT",
+ string => N("Tablet and touchscreen"),
+ icon => "hw_mouse.png",
+ detector => sub { f(detect_devices::probe_category('input/tablet'), detect_devices::probe_category('input/touchscreen')) },
+ configurator => "$sbindir/mousedrake",
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "MOUSE",
+ string => N("Mouse"),
+ icon => "hw_mouse.png",
+ configurator => "$sbindir/mousedrake",
+ detector => sub {
+ f(grep { $_->{driver} =~ /^Mouse:|^Tablet:/ || $_->{media_type} =~ /class\|Mouse/ } @devices),
+ # USB devices are filtered out since we already catch them through probeall():
+ grep { $_->{bus} ne 'usb' && $_->{driver} =~ /mouse/ } detect_devices::getInputDevices();
+ },
+ checked_on_boot => 1,
+ automatic => 1,
+ },
+
+ {
+ class => "UPS",
+ string => N("UPS"),
+ icon => "ups.png",
+ configurator => "$sbindir/drakups",
+ detector => sub { f(detect_devices::getUPS()) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "SCANNER",
+ string => N("Scanner"),
+ icon => "scanner.png",
+ configurator => "$sbindir/scannerdrake",
+ detector => sub {
+ require scanner; f(scanner::detect()) },
+ checked_on_boot => 0,
+ },
+
+ {
+ class => "UNKNOWN",
+ string => N("Unknown/Others"),
+ icon => "unknown.png",
+ configurator => "",
+ detector => sub { f(unknown()) },
+ checked_on_boot => 0,
+ },
+
+ );
+
+sub pciusb_id {
+ my ($dev) = @_;
+ my %alt = (
+ bus => 'usb_bus',
+ description => 'usb_description',
+ id => 'usb_id',
+ pci_bus => 'usb_pci_bus',
+ pci_device => 'usb_pci_device',
+ vendor => 'usb_vendor',
+ );
+ join(':', map { $dev->{$alt{$_}} || $dev->{$_} } qw(bus pci_bus pci_device vendor id subvendor subid description));
+}
+
+
+sub custom_id {
+ my ($device, $str) = @_;
+ return if !ref($device);
+ defined($device->{device}) ? $device->{device} :
+ (defined($device->{processor}) ?
+ N("cpu # ") . $device->{processor} . ": " . $device->{'model name'} :
+ $device->{"Socket Designation"} ?
+ "$device->{name} (" . $device->{"Socket Designation"} . ")" :
+ $device->{name} ? $device->{name} :
+ (defined($device->{description}) ? $device->{description} :
+ (defined($device->{Vendor}) ? $device->{Vendor} : $str)));
+}
+
+1;
diff --git a/perl-install/harddrake/sound.pm b/perl-install/harddrake/sound.pm
new file mode 100644
index 000000000..72c53d8d1
--- /dev/null
+++ b/perl-install/harddrake/sound.pm
@@ -0,0 +1,377 @@
+package harddrake::sound;
+# lists filled with Danny Tholen help, enhanced by Thierry Vignaud
+#
+# No ALSA for OSS's
+# o isa cards: msnd_pinnacle, pas2,
+# o pci cards: ad1889, sam9407
+# No OSS for ALSA's
+# o pci cards: snd-als4000, snd-es968, snd-hdsp
+# o isa cards: snd-azt2320, snd-cs4231, snd-cs4236,
+# snd-dt0197h, snd-korg1212, snd-rme32
+# o pcmcia cards: snd-vxp440 snd-vxpocket
+
+# TODO:
+# o ensure sound is not user (either dsp/midi/sequencer/mixer)
+# o fix sound/alsa services
+
+use strict;
+use common;
+use run_program;
+use modules;
+use list_modules;
+use detect_devices;
+use log;
+
+
+our %alsa2oss =
+ (
+ if_(arch() =~ /ppc/, "snd-powermac" => [ "dmasound_pmac" ]),
+ if_(arch() =~ /sparc/,
+ "snd-sun-amd7930" => [ "unknown" ],
+ "snd-sun-cs4231" => [ "unknown" ],
+ "snd-sun-dbri" => [ "unknown" ],
+ ),
+ "snd-ad1816a" => [ "ad1816" ], # isa
+ "snd-ad1848" => [ "ad1848", "pss" ], # isa
+ "snd-ad1889" => [ "ad1889" ],
+ "snd-ali5451" => [ "trident" ],
+ "snd-als100" => [ "sb" ], # isa
+ "snd-als300" => [ "unknown" ],
+ "snd-als4000" => [ "unknown" ],
+ "snd-asihpi" => [ "unknown" ],
+ "snd-atiixp" => [ "unknown" ],
+ "snd-au8810" => [ "unknown" ],
+ "snd-au8820" => [ "unknown" ],
+ "snd-au8830" => [ "unknown" ],
+ "snd-audigyls" => [ "unknown" ], # pci, renamed as snd-ca0106
+ "snd-azt2320" => [ "unknown" ], # isa
+ "snd-azt3328" => [ "unknown" ], # isa
+ "snd-azx" => [ "unknown" ],
+ "snd-bt87x" => [ "btaudio" ],
+ "snd-ca0106" => [ "unknown" ], # pci
+ "snd-cmi8330" => [ "sb" ], # isa
+ "snd-cmipci" => [ "cmpci" ],
+ "snd-cs4231" => [ "unknown" ], # isa
+ "snd-cs4232" => [ "cs4232" ], # isa
+ "snd-cs4236" => [ "ad1848" ], # isa
+ "snd-cs4281" => [ "cs4281" ],
+ "snd-cs46xx" => [ "cs46xx" ],
+ "snd-cs5535audio" => [ "unknown" ],
+ "snd-darla20" => [ "unknown" ],
+ "snd-darla24" => [ "unknown" ],
+ "snd-dt0197h" => [ "unknown" ], # isa
+ "snd-dt019x" => [ "unknown" ], # isa
+ "snd-emu10k1" => [ "audigy", "emu10k1" ],
+ "snd-emu10k1x" => [ "unknown" ],
+ "snd-ens1370" => [ "es1370" ],
+ "snd-ens1371" => [ "es1371" ],
+ "snd-es1688" => [ "sb" ], # isa
+ "snd-es18xx" => [ "sb" ], # isa
+ "snd-es1938" => [ "esssolo1" ],
+ "snd-es1968" => [ "maestro" ], # isa
+ "snd-es968" => [ "sb" ],
+ "snd-fm801" => [ "forte" ],
+ "snd-gina20" => [ "unknown" ],
+ "snd-gina24" => [ "unknown" ],
+ "snd-gina3g" => [ "unknown" ],
+ "snd-gusclassic" => [ "gus" ], # isa
+ "snd-gusextreme" => [ "gus" ], # isa
+ "snd-gusmax" => [ "gus" ], # isa
+ "snd-hda-intel" => [ "unknown" ],
+ "snd-hdspm" => [ "unknown" ],
+ "snd-hdsp" => [ "unknown" ],
+ "snd-ice1712" => [ "unknown" ], # isa
+ "snd-ice1724" => [ "unknown" ], # isa
+ "snd-indi" => [ "unknown" ], # pci
+ "snd-indigo" => [ "unknown" ], # pci
+ "snd-indigodj" => [ "unknown" ], # pci
+ "snd-indigoio" => [ "unknown" ], # pci
+ "snd-intel8x0" => [ "ali5455", "i810_audio", "nvaudio" ],
+ "snd-interwave" => [ "gus" ], # isa
+ "snd-interwave-stb" => [ "unknown" ], # isa
+ "snd-korg1212" => [ "unknown" ], # isa
+ "snd-layla20" => [ "unknown" ],
+ "snd-layla24" => [ "unknown" ],
+ "snd-layla3g" => [ "unknown" ],
+ "snd-maestro3" => [ "maestro3" ],
+ "snd-mia" => [ "unknown" ],
+ "snd-mixart" => [ "unknown" ],
+ "snd-mona" => [ "unknown" ],
+ "snd-mpu401" => [ "mpu401" ],
+ "snd-nm256" => [ "nm256_audio" ],
+ "snd-opl3sa2" => [ "opl3", "opl3sa", "opl3sa2" ], # isa
+ "snd-opti92x-ad1848" => [ "unknown" ], # isa
+ "snd-opti92x-cs4231" => [ "unknown" ], # isa
+ "snd-opti93x" => [ "mad16" ],
+ "snd-pcxhr" => [ "unknown" ], # pci
+ "snd-riptide" => [ "unknown" ],
+ "snd-rme32" => [ "unknown" ], # isa
+ "snd-rme96" => [ "rme96xx" ], # pci
+ "snd-rme9652" => [ "rme96xx" ], # pci
+ "snd-sb16" => ["sscape", "sb"],
+ "snd-sb8" => [ "sb" ],
+ "snd-sbawe" => [ "awe_wave" ],
+ "snd-sgalaxy" => [ "sgalaxy" ], # isa
+ "snd-sonicvibes" => [ "sonicvibes" ],
+ "snd-sscape" => [ "sscape" ], # isa
+ "snd-trident" => [ "trident" ],
+ "snd-usb-audio" => [ "audio" ], # usb
+ "snd-via82xx" => [ "via82cxxx_audio" ],
+ "snd-vx222" => [ "unknown" ],
+ "snd-vxp440" => [ "unknown" ], # pcmcia
+ "snd-vxpocket" => [ "unknown" ], # pcmcia
+ "snd-wavefront" => [ "wavefront" ], # isa
+ "snd-ymfpci" => [ "ymfpci" ],
+ );
+
+
+our %oss2alsa =
+ (
+ if_(arch() =~ /ppc/, "dmasound_pmac" => [ "snd-powermac" ]),
+ "ad1816" => [ "snd-ad1816a" ],
+ "ad1848" => [ "snd-ad1848", "snd-cs4236" ],
+ "ad1889" => [ "snd-ad1889" ],
+ "ali5455" => [ "snd-intel8x0" ],
+ "audigy" => [ "snd-emu10k1" ],
+ "audio" => [ "snd-usb-audio" ], # usb
+ "awe_wave" => [ "snd-sbawe" ],
+ "btaudio" => [ "snd-bt87x" ],
+ "cmpci" => [ "snd-cmipci" ],
+ "cs4232" => [ "snd-cs4232" ],
+ "cs4281" => [ "snd-cs4281" ],
+ "cs46xx" => [ "snd-cs46xx" ],
+ "emu10k1" => [ "snd-emu10k1" ],
+ "es1370" => [ "snd-ens1370" ],
+ "es1371" => [ "snd-ens1371" ],
+ "esssolo1" => [ "snd-es1938" ],
+ "forte" => [ "snd-fm801" ],
+ "gus" => ["snd-interwave", "snd-gusclassic", "snd-gusmax", "snd-gusextreme"],
+ "i810_audio" => [ "snd-intel8x0" ],
+ "ice1712" => [ "snd-ice1712" ],
+ "mad16" => [ "snd-opti93x" ],
+ "maestro" => [ "snd-es1968" ],
+ "maestro3" => [ "snd-maestro3" ],
+ "mpu401" => [ "snd-mpu401" ],
+ "msnd_pinnacle" => [ "unknown" ],
+ "nm256_audio" => [ "snd-nm256" ],
+ "nvaudio" => [ "snd-intel8x0" ],
+ "opl3" => [ "snd-opl3sa2" ],
+ "opl3sa" => [ "snd-opl3sa2" ],
+ "opl3sa2" => [ "snd-opl3sa2" ],
+ "pas2" => [ "unknown" ],
+ "pss" => [ "snd-ad1848" ],
+ "rme96xx" => [ "snd-rme96", "snd-rme9652" ],
+ "sam9407" => [ "unknown" ],
+ "sb" => [ "snd-als100", "snd-cmi8330", "snd-es1688", "snd-es18xx", "snd-es968", "snd-sb8", "snd-sb16" ],
+ "sgalaxy" => [ "snd-sgalaxy" ],
+ "sonicvibes" => [ "snd-sonicvibes" ],
+ "sscape" => [ "snd-sb16", "snd-sscape" ],
+ "trident" => [ "snd-ali5451", "snd-trident" ],
+ "via82cxxx_audio" => [ "snd-via82xx" ],
+ "wavefront" => [ "snd-wavefront" ],
+ "ymfpci" => [ "snd-ymfpci" ],
+ );
+
+my @blacklist = qw(cs46xx cs4281);
+my $blacklisted = 0;
+
+sub rooted { run_program::rooted($::prefix, @_) }
+
+sub unload { modules::unload(@_) if $::isStandalone || $blacklisted }
+
+sub load {
+ my ($modules_conf, $name) = @_;
+ modules::load_and_configure($modules_conf, $name) if $::isStandalone || $blacklisted;
+}
+
+sub get_alternative {
+ my ($driver) = @_;
+ $alsa2oss{$driver} || $oss2alsa{$driver};
+}
+
+sub do_switch {
+ my ($in, $modules_conf, $old_driver, $new_driver, $index) = @_;
+ return if $old_driver eq $new_driver;
+ my $_wait = $in->wait_message(N("Please wait"), N("Please Wait... Applying the configuration"));
+ log::explanations("removing old $old_driver\n");
+ if ($::isStandalone) {
+ rooted("service sound stop") unless $blacklisted;
+ rooted("service alsa stop") if $old_driver =~ /^snd-/ && !$blacklisted;
+ unload($old_driver); # run_program("/sbin/modprobe -r $driver"); # just in case ...
+ }
+ $modules_conf->remove_module($old_driver);
+ $modules_conf->set_sound_slot("sound-slot-$index", $new_driver);
+ $modules_conf->write;
+ if ($new_driver =~ /^snd-/) { # new driver is an alsa one
+ $in->do_pkgs->ensure_binary_is_installed(qw(alsa-utils alsactl), 1);
+ $in->do_pkgs->ensure_binary_is_installed(qw(aoss aoss), 1);
+ rooted("service alsa start") if $::isStandalone && !$blacklisted;
+ rooted("/sbin/chkconfig --add alsa") if $::isStandalone;
+ load($modules_conf, $new_driver) if $::isStandalone; # service alsa is buggy
+ } else { rooted("/sbin/chkconfig --del alsa") }
+ log::explanations("loading new $new_driver\n");
+ rooted("/sbin/chkconfig --add sound"); # just in case ...
+ rooted("service sound start") if $::isStandalone && !$blacklisted;
+}
+
+sub switch {
+ my ($in, $modules_conf, $device) = @_;
+ my $driver = $device->{current_driver} || $device->{driver};
+
+ foreach (@blacklist) { $blacklisted = 1 if $driver eq $_ }
+ my @alternative = $driver ne 'unknown' ? @{get_alternative($driver)} : ();
+ unless ($driver eq $device->{driver} || member($device->{driver}, @alternative)) {
+ push @alternative, @{get_alternative($device->{driver})}, $device->{driver};
+ }
+ if (@alternative) {
+ my $new_driver = $driver;
+ push @alternative, $driver;
+ my %des = modules::category2modules_and_description('multimedia/sound');
+
+ if ($new_driver eq 'unknown') {
+ $in->ask_from(N("No alternative driver"),
+ N("There's no known OSS/ALSA alternative driver for your sound card (%s) which currently uses \"%s\"",
+ $device->{description}, $driver),
+ [
+ get_any_driver_entry($in, $modules_conf, $driver, $device),
+ ]
+ );
+ } elsif ($in->ask_from_({ title => N("Sound configuration"),
+ messages =>
+ N("Here you can select an alternative driver (either OSS or ALSA) for your sound card (%s).",
+ $device->{description}) .
+ #-PO: here the first %s is either "OSS" or "ALSA",
+ #-PO: the second %s is the name of the current driver
+ #-PO: and the third %s is the name of the default driver
+ N("\n\nYour card currently use the %s\"%s\" driver (default driver for your card is \"%s\")", ($driver =~ /^snd-/ ? "ALSA " : "OSS "), $driver, $device->{driver}),
+ interactive_help => sub {
+ N("OSS (Open Sound System) was the first sound API. It's an OS independent sound API (it's available on most UNIX(tm) systems) but it's a very basic and limited API.
+What's more, OSS drivers all reinvent the wheel.
+
+ALSA (Advanced Linux Sound Architecture) is a modularized architecture which
+supports quite a large range of ISA, USB and PCI cards.\n
+It also provides a much higher API than OSS.\n
+To use alsa, one can either use:
+- the old compatibility OSS api
+- the new ALSA api that provides many enhanced features but requires using the ALSA library.
+");
+ },
+ },
+ [
+ {
+ label => N("Driver:"), val => \$new_driver, list => \@alternative, default => $new_driver, sort =>1,
+ allow_empty_list => 1,
+ format => sub { my ($drv) = @_;
+ $drv eq 'unknown' ? $drv :
+ sprintf(($des{$drv} ? "$des{$drv} (%s [%s])"
+ : "%s [%s]"), $drv, $drv =~ /^snd[-_]/ ? 'ALSA' : 'OSS');
+ }
+ },
+ {
+ val => N("Trouble shooting"), disabled => sub {},
+ clicked => sub { &trouble($in) }
+ },
+ get_any_driver_entry($in, $modules_conf, $driver, $device),
+ ]))
+ {
+ return if $new_driver eq $device->{current_driver};
+ log::explanations("switching audio driver from '" . $device->{current_driver} . "' to '$new_driver'\n");
+ $in->ask_warn(N("Warning"), N("The old \"%s\" driver is blacklisted.\n
+It has been reported to oops the kernel on unloading.\n
+The new \"%s\" driver will only be used on next bootstrap.", $device->{current_driver}, $new_driver)) if $blacklisted;
+ do_switch($in, $modules_conf, $device->{current_driver}, $new_driver, $device->{sound_slot_index});
+ $device->{current_driver} = $new_driver;
+ }
+ } elsif ($driver =~ /^Bad:/) {
+ $driver =~ s/^Bad://;
+ $in->ask_warn(N("No open source driver"),
+ N("There's no free driver for your sound card (%s), but there's a proprietary driver at \"%s\".",
+ $device->{description}, $driver));
+ } elsif ($driver eq "unknown") {
+ $in->ask_from(N("No known driver"),
+ N("There's no known driver for your sound card (%s)",
+ $device->{description}),
+ [ get_any_driver_entry($in, $modules_conf, $driver, $device) ]);
+ } else {
+ $in->ask_warn(N("Unknown driver"),
+ N("Error: The \"%s\" driver for your sound card is unlisted",
+ $driver));
+ }
+ end:
+}
+
+sub config {
+ my ($in, $modules_conf, $device) = @_;
+ switch($in, $modules_conf, $device);
+}
+
+
+sub trouble {
+ my ($in) = @_;
+ $in->ask_warn(N("Sound trouble shooting"),
+ formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("The classic bug sound tester is to run the following commands:
+
+
+- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses
+by default
+
+- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it
+currently uses
+
+- \"/sbin/lsmod\" will enable you to check if its module (driver) is
+loaded or not
+
+- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will
+tell you if sound and alsa services're configured to be run on
+initlevel 3
+
+- \"aumix -q\" will tell you if the sound volume is muted or not
+
+- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.
+")));
+}
+
+sub get_any_driver_entry {
+ my ($in, $modules_conf, $driver, $device) = @_;
+ return () if $::isInstall;
+ +{
+ val => N("Let me pick any driver"), disabled => sub {},
+ clicked => sub {
+ my $old_driver = $driver;
+ if ($in->ask_from(N("Choosing an arbitrary driver"),
+ formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("If you really think that you know which driver is the right one for your card
+you can pick one in the above list.
+
+The current driver for your \"%s\" sound card is \"%s\" ", $device->{description}, $driver)),
+ [
+ { label => N("Driver:"), val => \$driver, list => [ category2modules("multimedia/sound") ], type => 'combo', default => $driver, sort =>1, separator => '|' },
+ ]
+ )) {
+ do_switch($in, $modules_conf, $old_driver, $driver, $device->{sound_slot_index});
+ goto end;
+ }
+ }
+ };
+}
+
+
+sub configure_sound_slots {
+ my ($modules_conf) = @_;
+ my $altered = 0;
+ each_index {
+ my $default_driver = $modules_conf->get_alias("sound-slot-$::i");
+ if (!member($default_driver, @{get_alternative($_->{driver})}, $_->{driver})) {
+ $altered ||= $default_driver;
+ $modules_conf->set_sound_slot("sound-slot-$::i", $_->{driver});
+ $modules_conf->set_options($_->{driver}, "xbox=1") if $_->{driver} eq "snd-intel8x0" && detect_devices::is_xbox();
+ }
+ } detect_devices::getSoundDevices();
+ $modules_conf->write if $altered && $::isStandalone;
+}
+
+
+1;
diff --git a/perl-install/harddrake/v4l.pm b/perl-install/harddrake/v4l.pm
new file mode 100644
index 000000000..a36621471
--- /dev/null
+++ b/perl-install/harddrake/v4l.pm
@@ -0,0 +1,495 @@
+package harddrake::v4l;
+
+use strict;
+
+use common;
+use detect_devices;
+use log;
+use modules;
+
+# please update me on bttv update :
+
+my $default = N("Auto-detect");
+# TODO: split %tuners_lst in per driver perl source files that get transformed in Storable files
+my %tuners_lst =
+ (
+ -1 => $default,
+ 0 => "Temic|PAL (4002 FH5)",
+ 1 => "Philips|PAL_I (FI1246 and compatibles)",
+ 2 => "Philips|NTSC (FI1236, FM1236 and compatibles)",
+ 3 => "Philips|(SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)",
+ 4 => "NoTuner",
+ 5 => "Philips|PAL_BG (FI1216 and compatibles)",
+ 6 => "Temic|NTSC (4032 FY5)",
+ 7 => "Temic|PAL_I (4062 FY5)",
+ 8 => "Temic|NTSC (4036 FY5)",
+ 9 => "Alps|HSBH1",
+ 10 => "Alps|TSBE1",
+ 11 => "Alps|TSBB5",
+ 12 => "Alps|TSBE5",
+ 13 => "Alps|TSBC5",
+ 14 => "Temic|PAL_BG (4006FH5)",
+ 15 => "Alps|TSCH6",
+ 16 => "Temic|PAL_DK (4016 FY5)",
+ 17 => "Philips|NTSC_M (MK2)",
+ 18 => "Temic|PAL_I (4066 FY5)",
+ 19 => "Temic|PAL* auto (4006 FN5)",
+ 20 => "Temic|PAL_BG (4009 FR5) or PAL_I (4069 FR5)",
+ 21 => "Temic|NTSC (4039 FR5)",
+ 22 => "Temic|PAL/SECAM multi (4046 FM5)",
+ 23 => "Philips|PAL_DK (FI1256 and compatibles)",
+ 24 => "Philips|PAL/SECAM multi (FQ1216ME)",
+ 25 => "LG|PAL_I+FM (TAPC-I001D)",
+ 26 => "LG|PAL_I (TAPC-I701D)",
+ 27 => "LG|NTSC+FM (TPI8NSR01F)",
+ 28 => "LG|PAL_BG+FM (TPI8PSB01D)",
+ 29 => "LG|PAL_BG (TPI8PSB11D)",
+ 30 => "Temic|PAL* auto + FM (4009 FN5)",
+ 31 => "SHARP NTSC_JP (2U5JF5540)",
+ 32 => "Samsung|PAL TCPM9091PD27",
+ 33 => "MT20xx universal",
+ 34 => "Temic|PAL_BG (4106 FH5)",
+ 35 => "Temic|PAL_DK/SECAM_L (4012 FY5)",
+ 36 => "Temic|NTSC (4136 FY5)",
+ 37 => "LG|PAL (newer TAPC series)",
+ 38 => "Philips|PAL/SECAM multi (FM1216ME)",
+ 39 => "LG|NTSC (newer TAPC series)",
+ 40 => "HITACHI V7-J180AT",
+ 41 => "Philips|PAL_MK (FI1216 MK)",
+ 42 => "Philips|1236D ATSC/NTSC daul in",
+ 43 => "Philips|NTSC MK3 (FM1236MK3 or FM1236/F)",
+ 44 => "Philips|4 in 1 (ATI TV Wonder Pro/Conexant)",
+ 45 => "Microtune|4049 FM5",
+ 46 => "Panasonic VP27s/ENGE4324D",
+ 47 => "LG|NTSC (TAPE series)",
+ 48 => "Tena|TNF 8831 BGFF",
+ 49 => "Microtune|4042 FI5 ATSC/NTSC dual in",
+ 50 => "TCL 2002N",
+ 51 => "Philips|PAL/SECAM_D (FM 1256 I-H3)",
+ 52 => "Thomson|DDT 7610 (ATSC/NTSC)",
+ 53 => "Philips|FQ1286",
+ 54 => "tda8290+75",
+ 55 => "LG|PAL (TAPE series)",
+ 56 => "Philips|PAL/SECAM multi (FQ1216AME MK4)",
+ 57 => "Philips|FQ1236A MK4",
+ 58 => "Ymec|TVision|TVF-8531MF",
+ 59 => "Ymec|TVision|TVF-5533MF",
+ 60 => "Thomson|DDT 7611 (ATSC/NTSC)",
+ 61 => "Tena|TNF9533-D/IF/TNF9533-B/DF",
+ 62 => "Philips|TEA5767HN FM Radio",
+ 63 => "Philips|FMD1216ME MK3 Hybrid Tuner",
+ 64 => "LG|TDVS-H062F/TUA6034",
+ 65 => "Ymec|TVF66T5-B/DFF",
+ 66 => "LG|NTSC (TALN mini series)",
+ 67 => "Philips|TD1316 Hybrid Tuner",
+ 68 => "Philips|TUV1236D ATSC/NTSC dual in",
+ 69 => "Tena|TNF 5335 MF",
+ 70 => "Samsung|TCPN 2121P30A",
+ 71 => "Xceive xc3028",
+
+
+ );
+
+# Tweaked from Cardlist
+my $cards_lst = {
+ 'bttv' => {
+ $default => -1,
+ N("Unknown|Generic") => 0,
+ "M|Miro|PCTV" => 1,
+ "H|Hauppauge|bt848" => 2,
+ "S|STB|Hauppauge 878" => 3,
+ "I|Intel|Create and Share PCI (bttv type 4)" => 4,
+ "I|Intel|Smart Video Recorder III (bttv type 4)" => 4,
+ "D|Diamond DTV2000" => 5,
+ "A|AVerMedia|TVPhone" => 6,
+ "M|MATRIX Vision|MV-Delta" => 7,
+ "L|Lifeview|FlyVideo II (Bt848) LR26" => 8,
+ "G|Guillemot|MAXI TV Video PCI2 LR26" => 27,
+ "G|Genius/Kye Video Wonder Pro II (848 or 878)" => 8,
+ "I|IMS/IXmicro TurboTV" => 9,
+ "H|Hauppauge|bt878" => 10,
+ "M|Miro|PCTV pro" => 11,
+ "A|ADS Technologies|Channel Surfer TV (bt848)" => 12,
+ "A|AVerMedia|TVCapture 98" => 13,
+ "A|Aimslab|Video Highway Xtreme (VHX)" => 14,
+ "Zoltrix|TV-Max" => 15,
+ "P|Prolink|Pixelview PlayTV (bt878)" => 16,
+ "L|Leadtek|WinView 601" => 17,
+ "A|AVEC|Intercapture" => 18,
+ "L|Lifeview|FlyKit LR38 Bt848 (capture only)" => 19,
+ "L|Lifeview|FlyVideo II EZ" => 19,
+ "C|CEI Raffles Card" => 20,
+ "L|Lifeview|FlyVideo 98" => 21,
+ "L|Lucky Star Image World ConferenceTV LR50" => 21,
+ "A|Askey|CPH050" => 22,
+ "P|Phoebe Micro|Tv Master + FM" => 22,
+ "M|Modular|Technology MM205 PCTV (bt878)" => 23,
+ "A|Askey|CPH06X (bt878)" => 24,
+ "G|Guillemot|Maxi TV Video 3" => 24,
+ "A|Askey|CPH05X (bt878)" => 24,
+ N("Unknown|CPH05X (bt878) [many vendors]") => 24,
+ N("Unknown|CPH06X (bt878) [many vendors]") => 24,
+ "T|Terratec|Terra TV+ Version 1.0 (Bt848)" => 25,
+ "V|Vobis TV-Boostar" => 25,
+ "T|Terratec|TV-Boostar" => 25,
+ "H|Hauppauge|WinCam newer (bt878)" => 26,
+ "L|Lifeview|FlyVideo 98" => 27,
+ "G|Guillemot|MAXI TV Video PCI2 LR50" => 27,
+ "T|Terratec|TerraTV+" => 28,
+ "I|Imagenation PXC200" => 29,
+ "L|Lifeview|FlyVideo 98 LR50" => 30,
+ "Formac|iProTV" => 31,
+ "Formac|iProTV I (bt848)" => 31,
+ "I|Intel|Create and Share PCI (bttv type 32)" => 32,
+ "I|Intel|Smart Video Recorder III (bttv type 32)" => 32,
+ "T|Terratec|TerraTValue" => 33,
+ "L|Leadtek|WinFast TV 2000" => 34,
+ "L|Leadtek|WinFast VC 100" => 35,
+ "L|Lifeview|FlyVideo 98 LR50" => 35,
+ "C|Chronos Video Shuttle II" => 35,
+ "L|Lifeview|FlyVideo 98FM LR50" => 36,
+ "T|Typhoon|TView TV/FM Tuner" => 36,
+ "P|Prolink|PixelView PlayTV pro" => 37,
+ "P|Prolink|PixelView PlayTV Theater" => 37,
+ "A|Askey|CPH06X TView99" => 38,
+ "P|Pinnacle|PCTV Studio/Rave" => 39,
+ "S|STB|STB2 TV PCI FM, P/N 6000704" => 40,
+ "A|AVerMedia|TVPhone 98" => 41,
+ "P|ProVideo|PV951" => 42,
+ "L|Little OnAir TV" => 43,
+ "S|Sigma TVII-FM" => 44,
+ "M|MATRIX Vision|MV-Delta 2" => 45,
+ "Zoltrix|Genie TV/FM" => 46,
+ "T|Terratec|TV/Radio+" => 47,
+ "A|Askey|CPH03x" => 48,
+ "D|Dynalink Magic TView" => 48,
+ "I|IODATA|GV-BCTV3/PCI" => 49,
+ "P|Prolink|PixelView PlayTV PAK" => 50,
+ "L|Lenco|MXTV-9578 CP" => 50,
+ "P|Prolink|PV-BT878P+4E" => 50,
+ "L|Lenco|MXTV-9578CP (Bt878)" => 50,
+ "E|Eagle Wireless Capricorn2 (bt878A)" => 51,
+ "P|Pinnacle|PCTV Studio Pro" => 52,
+ "T|Typhoon|KNC1 TV Station RDS" => 53,
+ "T|Typhoon|TV Tuner RDS (black package)" => 53,
+ "T|Typhoon|TView RDS + FM Stereo" => 53,
+ "L|Lifeview|FlyVideo 2000" => 54,
+ "L|Lifeview|FlyVideo A2" => 54,
+ "L|Lifetec|LT 9415 TV [LR90]" => 54,
+ "A|Askey|CPH031" => 55,
+ "L|Lenco|MXR-9571 (Bt848)" => 55,
+ "Bestbuy|Easy TV" => 55,
+ "L|Lifeview|FlyVideo 98FM LR50" => 56,
+ "G|GrandTec|Grand Video Capture (Bt848)" => 57,
+ "A|Askey|CPH060" => 58,
+ "P|Phoebe Micro|TV Master Only (No FM)" => 58,
+ "A|Askey|CPH03x TV Capturer" => 59,
+ "M|Modular|Technology MM100 PCTV" => 60,
+ "A|AG|Electronics GMV1" => 61,
+ "A|Askey|CPH061" => 62,
+ "Bestbuy|Easy TV (bt878)" => 62,
+ "L|Lifetec|LT9306" => 62,
+ "M|Medion MD9306" => 62,
+ "A|ATI|TV-Wonder" => 63,
+ "A|ATI|TV-Wonder VE" => 64,
+ "L|Lifeview|FlyVideo 2000S LR90" => 65,
+ "T|Terratec|TValueRadio" => 66,
+ "I|IODATA|GV-BCTV4/PCI" => 67,
+ "3Dfx|VoodooTV FM (Euro)" => 68,
+ "3Dfx|VoodooTV 200 (USA)" => 68,
+ "A|Active|Imaging AIMMS" => 69,
+ "P|Prolink|Pixelview PV-BT878P+ (Rev.4C)" => 70,
+ "L|Lifeview|FlyVideo 98EZ (capture only) LR51" => 71,
+# "G|Genius/Kye|Video Wonder/Genius Internet Video Kit" => 71,
+ "P|Prolink|Pixelview PV-BT878P+ (Rev.9B) (PlayTV Pro rev.9B FM+NICAM)" => 72,
+ "T|Typhoon|TV Tuner Pal BG (blue package)" => 72,
+ "S|Sensoray 311" => 73,
+ "RemoteVision|MX (RV605)" => 74,
+ "P|Powercolor|MTV878" => 75,
+ "P|Powercolor|MTV878R" => 75,
+ "P|Powercolor|MTV878F" => 75,
+ "C|Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)" => 76,
+ "G|GrandTec|Multi Capture Card (Bt878)" => 77,
+ "Jetway TV/Capture JW-TV878-FBK" => 78,
+ "K|Kworld KW-TV878RF" => 78,
+ "D|DSP Design TCVIDEO" => 79,
+ "H|Hauppauge|WinTV PVR" => 80,
+ "G|GV-BCTV5/PCI" => 81,
+ "Osprey|100/150 (878)" => 82,
+ "Osprey|100/150 (848)" => 83,
+ "Osprey|101 (848)" => 84,
+ "Osprey|101/151" => 85,
+ "Osprey|101/151 w/ svid" => 86,
+ "Osprey|200/201/250/251" => 87,
+ "Osprey|200/250" => 88,
+ "Osprey|210/220" => 89,
+ "Osprey|500" => 90,
+ "Osprey|540" => 91,
+ "Osprey|2000" => 92,
+ "I|IDS Eagle" => 93,
+ "P|Pinnacle|PCTV Sat" => 94,
+ "Formac|ProTV II (bt878)" => 95,
+ "M|MachTV" => 96,
+ "E|Euresys|Picolo" => 97,
+ "P|ProVideo|PV150" => 98,
+ "A|AD-TVK503" => 99,
+ "H|Hercules Smart TV Stereo" => 100,
+ "P|Pace TV & Radio Card" => 101,
+ "I|IVC|200" => 102,
+ "G|GrandTec|Grand X-Guard / Trust 814PCI" => 103,
+ "N|Nebula Electronics DigiTV" => 104,
+ "P|ProVideo|PV143" => 105,
+ "P|PHYTEC|VD-009-X1 MiniDIN (bt878)" => 106,
+ "P|PHYTEC|VD-009-X1 Combi (bt878)" => 107,
+ "P|PHYTEC|VD-009 MiniDIN (bt878)" => 108,
+ "P|PHYTEC|VD-009 Combi (bt878)" => 109,
+ "I|IVC|100" => 110,
+ "I|IVC|120G" => 111,
+ "P|pcHDTV HD-2000 TV" => 112,
+ "T|Twinhan DST + clones" => 113,
+ "L|Leadtek|Winfast VC100" => 114,
+ "T|Teppro TEV-560/InterVision IV-560" => 115,
+ "S|SIMUS GVC1100" => 116,
+ "N|NGS NGSTV+" => 117,
+ "L|LMLBT4" => 118,
+ "T|Tekram M205 PRO" => 119,
+ "C|Conceptronic|CONTVFMi" => 120,
+ "E|Euresys|Picolo Tetra" => 121,
+ "S|Spirit TV Tuner" => 122,
+ "A|AverMedia|AVerTV DVB-T 771" => 123,
+ "A|AverMedia|AverTV DVB-T 761" => 124,
+ "M|MATRIX Vision|Sigma-SQ" => 125,
+ "M|MATRIX Vision|Sigma-SLC" => 126,
+ "A|APAC Viewcomp 878(AMAX)" => 127,
+ "D|DViCO|FusionHDTV DVB-T Lite" => 128,
+ "V|V-Gear MyVCD" => 129,
+ "S|Super TV Tuner" => 130,
+ "T|Tibet Systems 'Progress DVR' CS16" => 131,
+ "K|Kodicom|4400R (master)" => 132,
+ "K|Kodicom|4400R (slave)" => 133,
+ "A|Adlink|RTV24" => 134,
+ "D|DViCO|FusionHDTV 5 Lite" => 135,
+ "A|Acorp|Y878F" => 136,
+ "C|Conceptronic|CTVFMi v2" => 137,
+ "P|Prolink|Pixelview PV-BT878P+ (Rev.2E)" => 138,
+ "P|Prolink|PixelView PlayTV MPEG2 PV-M4900" => 139,
+ "Osprey|440" => 140,
+ "A|Asound|Skyeye PCTV" => 141,
+ "S|Sabrent TV-FM (bttv version)" => 142,
+ "H|Hauppauge|ImpactVCB (bt878)" => 143,
+ "M|MagicTV" => 144,
+
+ },
+
+ 'cx88' => {
+ N("Unknown|Generic") => 0,
+ "Hauppauge|WinTV 34xxx models" => 1,
+ "GDI Black Gold" => 2,
+ "PixelView|???" => 3,
+ "ATI|TV Wonder Pro" => 4,
+ "Leadtek|Winfast 2000XP Expert" => 5,
+ "AVerTV|Studio 303 (M126) " => 6,
+ 'MSI|TV-@nywhere Master' => 7,
+ "Leadtek|Winfast DV2000" => 8,
+ "Leadtek|PVR 2000" => 9,
+ "IODATA|GV-VCP3/PCI" => 10,
+ "Prolink PlayTV PVR" => 11,
+ "ASUS PVR-416" => 12,
+ 'MSI|TV-@nywhere' => 13,
+ "VStream|XPert DVB-T" => 14,
+ "KWorld|XPert DVB-T" => 14,
+ "DViCO|FusionHDTV DVB-T1" => 15,
+ "KWorld|LTV883RF" => 16,
+ "DViCO|FusionHDTV 3 Gold" => 17,
+ "Hauppauge|Nova-T DVB-T" => 18,
+ "Conexant DVB-T reference design" => 19,
+ "Provideo PV259" => 20,
+ "DViCO|FusionHDTV DVB-T Plus" => 21,
+ "digitalnow|DNTV Live! DVB-T" => 22,
+ "pcHDTV HD3000 HDTV" => 23,
+ "Hauppauge|WinTV 28xxx (Roslyn) models" => 24,
+ "Digital-Logic MICROSPACE Entertainment Center (MEC)" => 25,
+ "IODATA|GV/BCTV7E" => 26,
+ "PixelView|PlayTV Ultra Pro (Stereo)" => 27,
+ "DViCO|FusionHDTV 3 Gold-T" => 28,
+ "ADS Tech Instant TV DVB-T PCI" => 29,
+ "TerraTec Cinergy 1400 DVB-T" => 30,
+ "DViCO|FusionHDTV 5 Gold" => 31,
+ "AverMedia UltraTV Media Center PCI 550" => 32,
+ "KWorld|V-Stream Xpert DVD" => 33,
+ "ATI|HDTV Wonder" => 34,
+ "WinFast DTV1000-T" => 35,
+ "AVerTV|303 (M126)" => 36,
+ "Hauppauge|Nova-S-Plus DVB-S" => 37,
+ "Hauppauge|Nova-SE2 DVB-S" => 38,
+ "KWorld|VB-S 100" => 39,
+ "Hauppauge|WinTV-HVR1100 DVB-T/Hybrid" => 40,
+ "Hauppauge|WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802]" => 41,
+ "digitalnow|DNTV Live! DVB-T Pro" => 42,
+ "VStream|XPert DVB-T with cx22702" => 43,
+ "KWorld|XPert DVB-T with cx22702" => 43,
+ "DViCO|FusionHDTV DVB-T Dual Digital" => 44,
+ "KWorld|HardwareMpegTV XPert" => 45,
+
+ },
+
+ 'saa7134' => {
+ N("Unknown|Generic") => 0,
+ "Proteus Pro [philips reference design]" => 1,
+ "LifeView|FlyVIDEO3000" => 2,
+ "LifeView|FlyVIDEO2000" => 3,
+ "EMPRESS" => 4,
+ "SKNet|Monster TV" => 5,
+ "Tevion|MD 9717" => 6,
+ "KNC|One TV-Station RDS" => 7,
+ "Typhoon|TV Tuner RDS" => 7,
+ "Terratec|Cinergy 400 TV" => 8,
+ "Medion|5044" => 9,
+ "Kworld|SAA7130-TVPCI" => 10,
+ "KuroutoShikou SAA7130-TVPCI" => 10,
+ "Terratec|Cinergy 600 TV" => 11,
+ "Medion|7134" => 12,
+ "Typhoon|TV+Radio 90031" => 13,
+ "ELSA|EX-VISION 300TV" => 14,
+ "ELSA|EX-VISION 500TV" => 15,
+ "ASUS|TV-FM 7134" => 16,
+ "AOPEN VA1000 POWER" => 17,
+ "BMK|MPEX No Tuner" => 18,
+ "Compro|VideoMate TV" => 19,
+ "Matrox CronosPlus" => 20,
+ "10MOONS PCI TV CAPTURE CARD" => 21,
+ "Medion|2819" => 22,
+ "AverMedia|M156" => 22,
+ "BMK|MPEX Tuner" => 23,
+ "KNC|One TV-Station DVR" => 24,
+ "ASUS|TV-FM 7133" => 25,
+ "Pinnacle|PCTV Stereo (saa7134)" => 26,
+ "Manli|MuchTV M-TV002/Behold TV 403 FM" => 27,
+ "Manli|MuchTV M-TV001/Behold TV 401" => 28,
+ "Nagase Sangyo TransGear 3000TV" => 29,
+ "Elitegroup|ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)" => 30,
+ "Elitegroup|ECS TVP3XP FM1236 Tuner Card (NTSC,FM)" => 31,
+ "AVACS SmartTV" => 32,
+ "AverMedia|DVD EZMaker" => 33,
+ "Noval Prime TV 7133" => 34,
+ "AverMedia|AverTV Studio 305" => 35,
+ "UPMOST PURPLE TV" => 36,
+ "Items MuchTV Plus / IT-005" => 37,
+ "Terratec|Cinergy 200 TV" => 38,
+ "LifeView|FlyTV Platinum Mini" => 39,
+ "Compro|VideoMate TV PVR/FM" => 40,
+ "Compro|VideoMate TV Gold+" => 41,
+ "Sabrent SBT-TVFM (saa7130)" => 42,
+ "Zolid Xpert TV7134" => 43,
+ "Empire PCI TV-Radio LE" => 44,
+ "AverMedia|AVerTV Studio 307" => 45,
+ "AverMedia|Cardbus TV/Radio" => 46,
+ "Terratec|Cinergy 400 mobile" => 47,
+ "Terratec|Cinergy 600 TV MK3" => 48,
+ "Compro|VideoMate Gold+ Pal" => 49,
+ "Pinnacle|PCTV 300i DVB-T + PAL" => 50,
+ "ProVideo PV952" => 51,
+ "AverMedia|AverTV/305" => 52,
+ "ASUS|TV-FM 7135" => 53,
+ "LifeView|FlyTV Platinum FM" => 54,
+ "LifeView|FlyDVB-T DUO" => 55,
+ "AverMedia|AVerTV 307" => 56,
+ "AverMedia|AVerTV GO 007 FM" => 57,
+ "ADS Tech Instant TV (saa7135)" => 58,
+ "Kworld|V-Stream Xpert TV PVR7134" => 59,
+ "Tevion|V-Stream Xpert TV PVR7134" => 59,
+ "Typhoon|DVB-T Duo Digital/Analog Cardbus" => 60,
+ "Philips|TOUGH DVB-T reference design" => 61,
+ "Compro|VideoMate TV Gold+II" => 62,
+ "Kworld|Xpert TV PVR7134" => 63,
+ "FlyTV mini Asus Digimatrix" => 64,
+ "Kworld|V-Stream Studio TV Terminator" => 65,
+ "Yuan TUN-900 (saa7135)" => 66,
+ "Beholder BeholdTV 409 FM" => 67,
+ "GoTView 7135 PCI" => 68,
+ "Philips|EUROPA V3 reference design" => 69,
+ "Compro|Videomate DVB-T300" => 70,
+ "Compro|Videomate DVB-T200" => 71,
+ "RTD|Embedded Technologies VFG7350" => 72,
+ "RTD|Embedded Technologies VFG7330" => 73,
+ "LifeView|FlyTV Platinum Mini2" => 74,
+ "AverMedia|AVerTVHD MCE A180" => 75,
+ "SKNet|MonsterTV Mobile" => 76,
+ "Pinnacle|PCTV 40i/50i/110i (saa7133)" => 77,
+ "ASUSTeK P7131 Dual" => 78,
+ "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)" => 79,
+ "ASUS|Digimatrix TV" => 80,
+ "Philips|Tiger reference design" => 81,
+ 'MSI TV@Anywhere plus' => 82,
+ "Terratec|Cinergy 250 PCI TV" => 83,
+ "LifeView|FlyDVB Trio" => 84,
+ "AverTV DVB-T 777" => 85,
+ "LifeView|FlyDVB-T" => 86,
+ "ADS Instant TV Duo Cardbus PTV331" => 87,
+ "Tevion|DVB-T 220RF" => 88,
+ "ELSA|EX-VISION 700TV" => 89,
+ "Kworld|ATSC110" => 90,
+
+ }
+};
+
+my %pll_lst =
+ (
+ -1 => N("Default"),
+ 0 => "do not use pll",
+ 1 => "28 Mhz Crystal (X)",
+ 2 => "35 Mhz Crystal"
+ );
+
+sub config {
+ my ($in, $modules_conf, $driver) = @_;
+
+ my $min_gbuffers = 2;
+ my $max_gbuffers = 32;
+
+ my %conf = (gbuffers => 4, card => $default, tuner => -1, radio => 0, pll => -1);
+
+ my %cards_list = %{$cards_lst->{$driver}};
+ my %rvs_cards_list = reverse %cards_list;
+
+ # get the existing options (if there are any)
+ my $current = $modules_conf->get_options($driver);
+
+ foreach (split(/\s+/,$current)) {
+ $conf{$1} = $2 if /^(gbuffers|tuner|radio|pll)=(.+)/;
+ $conf{$1} = $rvs_cards_list{$2} if /^(card)=(.+)/;
+ }
+
+ #Sanity checks on defaults
+ $conf{gbuffers} = max($min_gbuffers, $conf{gbuffers});
+ $conf{gbuffers} = min($max_gbuffers, $conf{gbuffers});
+ $conf{card} = $default if !defined $cards_list{$conf{card}};
+ $conf{tuner} = -1 if !defined $tuners_lst{$conf{tuner}};
+ if ($driver eq 'bttv') {
+ $conf{pll} = -1 if !defined $pll_lst{$conf{tuner}};
+ $conf{radio} = 0 if $conf{radio} !~ /(0|1)/;
+ }
+
+
+ if ($in->ask_from("BTTV configuration", N("For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-detect the rights parameters.
+If your card is misdetected, you can force the right tuner and card types here. Just select your tv card parameters if needed."),
+ [
+ { label => N("Card model:"), val => \$conf{card}, list => [ keys %cards_list ], default => -1, sort =>1, separator => '|' },
+ { label => N("Tuner type:"), val => \$conf{tuner}, list => [keys %tuners_lst], format => sub { $tuners_lst{$_[0]} }, sort => 1, separator => '|' },
+ ]
+ ))
+ {
+ $conf{card} = $cards_list{$conf{card}};
+ if (my $options = join(' ', if_($driver eq 'bttv', 'radio=' . ($conf{radio} ? 1 : 0)), map { if_($conf{$_} ne -1, "$_=$conf{$_}") } qw(card pll tuner gbuffers))) {
+ log::l(qq([harddrake::v4l] set "$options" options for $driver));
+# log::explanations("modified file /etc/modules.conf ($options)") if $::isStandalone;
+ $modules_conf->set_options($driver, $options);
+ }
+ return 1;
+ }
+ return 0;
+}
+
+
+
+1;
diff --git a/perl-install/install/Makefile b/perl-install/install/Makefile
new file mode 100644
index 000000000..958575c87
--- /dev/null
+++ b/perl-install/install/Makefile
@@ -0,0 +1,102 @@
+include ../../Makefile.config
+include ../Makefile.config
+
+PRODUCT=drakx-installer-stage2
+
+ROOTDEST = /export
+STAGE2_DEST = $(ROOTDEST)/install/stage2
+DEST = $(STAGE2_DEST)/live
+
+REP4PMS = /usr/lib/libDrakX
+DESTREP4PMS = $(DEST)$(REP4PMS)
+
+all: xs
+
+clean xs:
+ make -C .. $@
+
+tar:
+ rm -rf $(PRODUCT)*.tar* $(PRODUCT)-$(VERSION)
+ mkdir -p $(PRODUCT)-$(VERSION)
+ svn export -q .. $(PRODUCT)-$(VERSION)/perl-install
+ svn export -q ../../tools $(PRODUCT)-$(VERSION)/tools
+ svn export -q ../../kernel $(PRODUCT)-$(VERSION)/kernel
+ cp ../../Makefile.config $(PRODUCT)-$(VERSION)/
+ tar cfj $(PRODUCT)-$(VERSION).tar.bz2 $(PRODUCT)-$(VERSION)
+ rm -rf $(PRODUCT)-$(VERSION)
+
+install:
+ $(MAKE) full_stage2
+ echo $(VERSION) > $(STAGE2_DEST)/VERSION
+ $(MAKE) -C share/advertising install EXTRA_INSTALL_DEST=$(ROOTDEST)/install/extra
+
+install_pms:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+
+ for i in `perl -ne 's/sub (\w+?)_?(\(\))? {.*/$$1/ and print' commands.pm` sync; do ln -sf commands $(DEST)/usr/bin/$$i; done
+
+ install -d $(DESTREP4PMS)
+ cd .. ; for i in $(PMS); do \
+ dest=$(DESTREP4PMS)/`dirname $$i`; \
+ install -d $$dest; \
+ perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=(head|begin)/ .. /^=cut/) || /use (diagnostics|strict|vars|warnings)/' $$i > $(DESTREP4PMS)/$$i; \
+ done
+
+ cp ../share/*.rc share/*.rc $(DESTREP4PMS)
+ chmod a+x $(DESTREP4PMS)/install/install2
+ chmod a+x $(DESTREP4PMS)/install/commands
+
+get_needed_files: xs
+ REP4PMS=$(REP4PMS) ../../tools/install-xml-file-list share/list.xml $(DEST)
+ chmod u-s -R $(DEST) # for mount/umount
+ share/generate-xlocales $(DEST)
+
+ mv -f $(DEST)/usr/$(LIB)/*.so* $(DEST)/$(LIB)
+ ../../tools/simplify-drakx-modules $(DEST)/usr/*/*/*/utf8_heavy.pl
+
+ perl -I.. -Mlang -e 'symlink "UTF-8", "$(DEST)/usr/share/locale/$$_" foreach lang::list_langs()'
+
+ perl -ane 'symlink "$$F[1]", "$(DEST)$$F[0]"' share/aliases
+ifeq (ia64,$(ARCH))
+ ln -sf bash $(DEST)/bin/sh
+else
+ ln -sf ash $(DEST)/bin/sh
+endif
+
+ mkfontdir $(DEST)/usr/share/fonts
+ fc-cache -f $(DEST)/usr/share/fonts
+
+ $(MAKE) -C ../share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+ $(MAKE) -C help/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+ $(MAKE) -C share/po install SUDO= LOCALEDIR=$(DEST)/usr/share/locale_special
+# POFILES to disable for installation:
+# be,fur: too few messages translated;
+# ta: font problem
+ rm -rf $(DEST)/usr/share/locale_special/{be,fur,ta}
+
+full_stage2:
+ $(MAKE) stage2
+ $(MAKE) compress
+
+compress:
+ ../../tools/mdkinst_stage2_tool --clean --compress $(STAGE2_DEST)
+
+stage2:
+ rm -rf $(DEST)
+ mkdir -p $(DEST)
+ $(MAKE) get_needed_files
+ $(MAKE) install_pms
+
+dont_run_directly_stage2:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+ echo -e '#!/bin/sh\n\nexec /usr/bin/busybox sh' > $(DEST)/usr/bin/runinstall2.sh
+ chmod a+x $(DEST)/usr/bin/runinstall2.sh
+ ln -sf runinstall2.sh $(DEST)/usr/bin/runinstall2
+
+trace_stage2:
+ [ -d $(DEST) ] || ../../tools/mdkinst_stage2_tool --uncompress $(STAGE2_DEST)
+ f=`perldoc -l Devel::Trace`; install -m 644 -D $$f $(DEST)$$f
+ perl -pi -e 's|(#!/usr/bin/perl).*|$$1 -d:Trace|' $(DEST)/usr/bin/runinstall2
+
+# [pixel] after make install_pms:
+# sudo sh -c 'CLEAN=1 perl ../../tools/drakx-in-chroot /export /tmp/rr --useless_thing_accepted --kickstart install/auto_inst.cfg.local.pl'
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
new file mode 100644
index 000000000..347b266e5
--- /dev/null
+++ b/perl-install/install/NEWS
@@ -0,0 +1,113 @@
+Version 10.4.128 - 3 April 2007, by Pascal "Pixel" Rigaux
+
+- don't configure /etc/kde/kdm/kdmrc if it doesn't exist
+ (other kdmrc.rpmnew will be created, many important values will be missing)
+- fix ext3 formatting with label and progress bar (#30032)
+- fix taking screenshot
+- prefering libkdebase4-kmenuedit over libkdebase46-kmenuedit to ensure
+ kdebase-kmenuedit is chosen instead of kdebase4-kmenuedit
+
+Version 10.4.126 - 29 March 2007, by Olivier "blino" Blin
+
+- use pci_domain when matching sysfs device and computing
+ sysfs device path
+
+Version 10.4.124 - 29 March 2007, by Olivier "blino" Blin
+
+- correctly mark "update" media in urpmi.cfg
+- fix multiple detection of PCI network cards with the same driver (#29688)
+- rename o->{build_live_system} as more generic o->{match_all_hardware} name
+- automatically install network drivers when matching all hardware
+
+Version 10.4.122 - 29 March 2007, by Thierry Vignaud
+
+- final banner image
+- fix installing kernel-source-stripped
+- include mmc_block for card readers
+
+Version 10.4.120 - 23 March 2007, by Pascal "Pixel" Rigaux
+
+- allow having name with "/" in media.cfg
+- interactive::curses:
+ o handle multi-line labels, and wrap too long labels (#29060)
+- do not use bold&big for advanced_messages
+ (fixes authentication choice being big & ugly, #28676)
+
+Version 10.4.119 - 22 March 2007, by Pascal "Pixel" Rigaux
+
+- use concat_symlink to get rid of ../../ in urpmi.cfg on x86_64 for main32 medium
+- don't complain about missing pata drivers
+- do not install nspluginwrapper on ia32 (#29808)
+- use http://api.mandriva.com/mirrors/$type.$version.$arch instead of simply
+ $version.$arch (useful to differentiate CorpoDesktop4)
+- fix ati/nvidia drivers installation on One
+
+Version 10.4.116 - 19 March 2007, by Thierry Vignaud
+
+- do not fallback on english HTML help but on on old translated help
+- handle more drivers (dvb, ethernet, gigabit, ide, pcmcia, sata,
+ sound, tv, usb hosts, wan, webcam, wireless)
+- 2007 RC logo
+- diskdrake: handle mkntfs
+
+Version 10.4.115 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- use kernel-*latest to select the kernel,
+ and also kernel-source-stripped-latest when dkms is installed on upgrade
+- add some nice code selecting the various kernel-source-stripped (or
+ kernel-.*-devel) corresponding to the chosen kernels
+- allow having rpmsrate on CD0 overriding rpmsrate on CD1
+ (bugged introduced in rev 37253)
+- when using 2 media_cfg in auto_inst,
+ allow specifying which rpmsrate will be used
+- for locales with fallback (eg: br:fr), try main language before
+ english
+
+Version 10.4.114 - 16 March 2007, by Pascal "Pixel" Rigaux
+
+- use grub-gfxmenu command to configure /boot/gfxmenu for grub
+
+Version 10.4.111 - 15 March 2007, by Olivier "blino" Blin
+
+- correctly translate Driver2 to package name (fix ati packages installation on One)
+
+Version 10.4.109 - 15 March 2007, by Thierry Vignaud
+
+- display HTML help if availlable
+- load tifm_sd if needed (#25133)
+
+Version 10.4.107 - 13 March 2007, by Pascal "Pixel" Rigaux
+
+- prefer kde3 packages over kde4 packages
+
+Version 10.4.106 - 12 March 2007, by Pascal "Pixel" Rigaux
+
+- move the lib64 symlink in share/symlinks (to fix drakx-in-chroot),
+ this will leave a harmless dangling symlink in most cases though
+- configure "tifm_7xx1" driven card_reader (#25133)
+- do not bother configure old modutils
+- fix PCI descriptions returned from pci_probe()
+- enhance wrapping in wizards
+
+Version 10.4.103 - 6 March 2007, by Pascal "Pixel" Rigaux
+
+- add icons needed by xorg configuration (#29069)
+
+Version 10.4.98 - 22 February 2007, by Thierry Vignaud
+
+- do not install athcool on ia32, it freeze at least some nforce2 machines
+- fix regexp for kernel-2.6.17.10mdv for autoinstall install & liveCD building
+- include fsck.jfs on x86_64 too (#28821)
+- update kernel/list_modules.pm
+
+Version 10.4.96 - 16 February 2007, by Pascal "Pixel" Rigaux
+
+- handle vga=0x3.. instead of vga=7..
+- prefer free-kde-config (otherwise one-kde-config is chosen)
+- use system-wide raghu.ttf (pablo)
+- fix rights on files
+- fix automatic selection of proprietary video kernel packages (blino)
+- modify custom.conf instead of gdm.conf (blino)
+
+10.4.93
+- really fix command bug
diff --git a/perl-install/install/any.pm b/perl-install/install/any.pm
new file mode 100644
index 000000000..7b9c70ec5
--- /dev/null
+++ b/perl-install/install/any.pm
@@ -0,0 +1,1411 @@
+package install::any; # $Id: any.pm 150268 2007-04-02 09:17:39Z pixel $
+
+use strict;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(addToBeDone);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use run_program;
+use fs::type;
+use fs::format;
+use fs::any;
+use partition_table;
+use devices;
+use modules;
+use detect_devices;
+use install::media 'getFile_';
+use lang;
+use any;
+use log;
+
+our @advertising_images;
+
+sub drakx_version {
+ my ($o) = @_;
+
+ if ($::move) {
+ sprintf "DrakX-move v%s", cat_('/usr/bin/stage2/move.pm') =~ /move\.pm,v (\S+ \S+ \S+)/;
+ } else {
+ my $version = cat__(getFile_($o->{stage2_phys_medium}, "install/stage2/VERSION"));
+ sprintf "DrakX v%s", chomp_($version);
+ }
+}
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+sub dont_run_directly_stage2() {
+ readlink("/usr/bin/runinstall2") eq "runinstall2.sh";
+}
+
+sub is_network_install {
+ my ($o) = @_;
+ member($o->{method}, qw(ftp http nfs));
+}
+
+
+sub start_i810fb() {
+ my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
+ return if !$vga || listlength(cat_('/proc/fb'));
+
+ my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
+ my $xres = $vga_to_xres{$vga} || '800';
+
+ log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)");
+ eval { modules::load('intel-agp') };
+ eval {
+ my $opt = "xres=$xres hsync1=32 hsync2=48 vsync1=50 vsync2=70 vram=2 bpp=16 accel=1 mtrr=1"; #- this sucking i810fb does not accept floating point numbers in hsync!
+ modules::load_with_options([ 'i810fb' ], { i810fb => $opt });
+ };
+}
+
+sub spawnShell() {
+ return if $::local_install || $::testing || dont_run_directly_stage2();
+
+ my $shellpid_file = '/var/run/drakx_shell.pid';
+ return if -e $shellpid_file && -d '/proc/' . chomp_(cat_($shellpid_file));
+
+ if (my $shellpid = fork()) {
+ output($shellpid_file, $shellpid);
+ return;
+ }
+
+ $ENV{DISPLAY} ||= ":0"; #- why not :pp
+
+ local *F;
+ sysopen F, "/dev/tty2", 2 or log::l("cannot open /dev/tty2 -- no shell will be provided: $!"), goto cant_spawn;
+
+ open STDIN, "<&F" or goto cant_spawn;
+ open STDOUT, ">&F" or goto cant_spawn;
+ open STDERR, ">&F" or goto cant_spawn;
+ close F;
+
+ print drakx_version($::o), "\n";
+
+ c::setsid();
+
+ ioctl(STDIN, c::TIOCSCTTY(), 0) or warn "could not set new controlling tty: $!";
+
+ my @args; -e '/etc/bashrc' and @args = qw(--rcfile /etc/bashrc);
+ foreach (qw(/bin/bash /usr/bin/busybox /bin/sh)) {
+ -x $_ or next;
+ my $program_name = /busybox/ ? "/bin/sh" : $_; #- since perl_checker is too dumb
+ exec { $_ } $program_name, @args or log::l("exec of $_ failed: $!");
+ }
+
+ log::l("cannot open any shell");
+cant_spawn:
+ c::_exit(1);
+}
+
+sub getAvailableSpace {
+ my ($o) = @_;
+
+ #- make sure of this place to be available for installation, this could help a lot.
+ #- currently doing a very small install use 36Mb of postinstall-rpm, but installing
+ #- these packages may eat up to 90Mb (of course not all the server may be installed!).
+ #- 65mb may be a good choice to avoid almost all problem of insuficient space left...
+ my $minAvailableSize = 65 * sqr(1024);
+
+ my $n = !$::testing && getAvailableSpace_mounted($::prefix) ||
+ getAvailableSpace_raw($o->{fstab}) * 512 / 1.07;
+ $n - max(0.1 * $n, $minAvailableSize);
+}
+
+sub getAvailableSpace_mounted {
+ my ($prefix) = @_;
+ my $dir = -d "$prefix/usr" ? "$prefix/usr" : $prefix;
+ my (undef, $free) = MDK::Common::System::df($dir) or return;
+ log::l("getAvailableSpace_mounted $free KB");
+ $free * 1024 || 1;
+}
+sub getAvailableSpace_raw {
+ my ($fstab) = @_;
+
+ do { $_->{mntpoint} eq '/usr' and return $_->{size} } foreach @$fstab;
+ do { $_->{mntpoint} eq '/' and return $_->{size} } foreach @$fstab;
+
+ if ($::testing) {
+ my $nb = 450;
+ log::l("taking ${nb}MB for testing");
+ return $nb << 11;
+ }
+ die "missing root partition";
+}
+
+sub preConfigureTimezone {
+ my ($o) = @_;
+ require timezone;
+
+ #- can not be done in install cuz' timeconfig %post creates funny things
+ add2hash($o->{timezone}, timezone::read()) if $o->{isUpgrade};
+
+ $o->{timezone}{timezone} ||= timezone::bestTimezone($o->{locale}{country});
+
+ my $utc = every { !isFat_or_NTFS($_) } @{$o->{fstab}};
+ my $ntp = timezone::ntp_server();
+ add2hash_($o->{timezone}, { UTC => $utc, ntp => $ntp });
+}
+
+sub ask_suppl_media_method {
+ my ($o) = @_;
+ our $suppl_already_asked;
+
+ my $msg = $suppl_already_asked
+ ? N("Do you have further supplementary media?")
+ : formatAlaTeX(
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("The following media have been found and will be used during install: %s.
+
+
+Do you have a supplementary installation medium to configure?",
+ join(", ", map { $_->{name} } install::media::allMediums($o->{packages}))));
+
+ my %l = my @l = (
+ '' => N("None"),
+ 'cdrom' => N("CD-ROM"),
+ 'http' => N("Network (HTTP)"),
+ 'ftp' => N("Network (FTP)"),
+ 'nfs' => N("Network (NFS)"),
+ );
+
+ $o->ask_from(
+ '', $msg,
+ [ {
+ val => \my $suppl,
+ list => [ map { $_->[0] } group_by2(@l) ],
+ type => 'list',
+ format => sub { $l{$_[0]} },
+ } ],
+ );
+
+ $suppl_already_asked = 1;
+ $suppl;
+}
+
+#- if the supplementary media is networked, but not the main one, network
+#- support must be installed and network started.
+sub prep_net_suppl_media {
+ my ($o) = @_;
+
+ require network::tools;
+ my (undef, $is_up, undef) = network::tools::get_internet_connection($o->{net});
+
+ return if our $net_suppl_media_configured && $is_up;
+ $net_suppl_media_configured = 1;
+
+ #- install basesystem now
+ $o->do_pkgs->ensure_is_installed('basesystem', undef, 1);
+
+ require network::netconnect;
+ network::netconnect::real_main($o->{net}, $o, $o->{modules_conf});
+ require install::interactive;
+ install::interactive::upNetwork($o);
+ sleep(3);
+}
+
+sub ask_url {
+ my ($in, $o_url) = @_;
+
+ my $url = $o_url;
+ $in->ask_from_({ messages => N("URL of the mirror?"), focus_first => 1 }, [
+ { val => \$url,
+ validate => sub {
+ if ($url =~ m!^(http|ftp)://!) {
+ 1;
+ } else {
+ $in->ask_warn('', N("URL must start with ftp:// or http://"));
+ 0;
+ }
+ } } ]) && $url;
+}
+sub ask_mirror {
+ my ($o, $type, $o_url) = @_;
+
+ require mirror;
+
+ my $mirrors = eval {
+ my $_w = $o->wait_message('', N("Contacting Mandriva Linux web site to get the list of available mirrors..."));
+ mirror::list($o->{product_id}, $type);
+ };
+ my $err = $@;
+ if (!$mirrors) {
+ $o->ask_warn('', N("Failed contacting Mandriva Linux web site to get the list of available mirrors") . "\n$err");
+ return ask_url($o, $o_url);
+ }
+
+ my $give_url = { country => '-', host => 'URL' };
+
+ my $mirror = $o_url ? (find { $_->{url} eq $o_url } @$mirrors) || $give_url
+ #- use current time zone to select best mirror
+ : mirror::nearest($o->{timezone}{timezone}, $mirrors);
+
+ $o->ask_from_({ messages => N("Choose a mirror from which to get the packages"),
+ cancel => N("Cancel"),
+ }, [ { separator => '|',
+ format => \&mirror::mirror2text,
+ list => [ @$mirrors, $give_url ],
+ val => \$mirror,
+ },
+ ]) or return;
+
+ my $url;
+ if ($mirror eq $give_url) {
+ $url = ask_url($o, $o_url) or goto &ask_mirror;
+ } else {
+ $url = $mirror->{url};
+ }
+ $url =~ s!/main/?$!!;
+ log::l("chosen mirror: $url");
+ $url;
+}
+
+sub ask_suppl_media_url {
+ my ($o, $method, $o_url) = @_;
+
+ if ($method eq 'ftp' || $method eq 'http') {
+ install::any::ask_mirror($o, 'distrib', $o_url);
+ } elsif ($method eq 'cdrom') {
+ 'cdrom://';
+ } elsif ($method eq 'nfs') {
+ my ($host, $dir) = $o_url ? $o_url =~ m!nfs://(.*?)(/.*)! : ();
+ $o->ask_from_(
+ { title => N("NFS setup"),
+ messages => N("Please enter the hostname and directory of your NFS media"),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ $host or $o->ask_warn('', N("Hostname missing")), return 1, 0;
+ $dir eq '' || begins_with($dir, '/') or $o->ask_warn('', N("Directory must begin with \"/\"")), return 1, 1;
+ 0;
+ },
+ } },
+ [ { label => N("Hostname of the NFS mount ?"), val => \$host },
+ { label => N("Directory"), val => \$dir } ],
+ ) or return;
+ $dir =~ s!/+$!!;
+ $dir ||= '/';
+ "nfs://$host$dir";
+ } else { internal_error("bad method $method") }
+}
+sub selectSupplMedia {
+ my ($o) = @_;
+ my $url;
+
+ ask_method:
+ my $method = ask_suppl_media_method($o) or return;
+
+ #- configure network if needed
+ if (!scalar keys %{$o->{net}{ifcfg}} && $method !~ /^(?:cdrom|disk)/ && !$::local_install) {
+ prep_net_suppl_media($o);
+ }
+
+ ask_url:
+ $url = ask_suppl_media_url($o, $method, $url) or goto ask_method;
+
+ my $phys_medium = install::media::url2mounted_phys_medium($o, $url, undef, N("Supplementary")) or $o->ask_warn('', formatError($@)), goto ask_url;
+ $phys_medium->{is_suppl} = 1;
+ $phys_medium->{unknown_CD} = 1;
+
+ my $arch = $o->{product_id}{arch};
+ my $field = $phys_medium->{device} ? 'rel_path' : 'url';
+ my $val = $phys_medium->{$field};
+ my $val0 = $val =~ m!^(.*?)(/media)?/?$! && "$1/media";
+ my $val2 = $val =~ m!^(.*?)(/\Q$arch\E)?(/media)?/?$! && "$1/$arch/media";
+
+ foreach (uniq($val0, $val, $val2)) {
+ log::l("trying with $field set to $_");
+ $phys_medium->{$field} = $_;
+
+ #- first, try to find a media.cfg file
+ eval { install::media::get_media_cfg($o, $phys_medium, $o->{packages}, undef, 'force_rpmsrate') };
+ if (!$@) {
+ delete $phys_medium->{unknown_CD}; #- we have a known CD now
+ return 1;
+ }
+ }
+ #- restore it
+ $phys_medium->{$field} = $val;
+
+ #- try using media_info/hdlist.cz
+ my $medium_id = int(@{$o->{packages}{mediums}});
+ eval { install::media::get_standalone_medium($o, $phys_medium, $o->{packages}, { name => "Supplementary media $medium_id" }) };
+ if (!$@) {
+ log::l("read suppl hdlist (via $method)");
+ delete $phys_medium->{unknown_CD}; #- we have a known CD now
+ return 1;
+ }
+
+ install::media::umount_phys_medium($phys_medium);
+ install::media::remove_from_fstab($o->{all_hds}, $phys_medium);
+ $o->ask_warn('', N("Can't find a package list file on this mirror. Make sure the location is correct."));
+ goto ask_url;
+}
+
+sub load_rate_files {
+ my ($o) = @_;
+ #- must be done after getProvides
+
+ install::pkgs::read_rpmsrate($o->{packages}, $o->{rpmsrate_flags_chosen}, '/tmp/rpmsrate', $o->{match_all_hardware});
+
+ ($o->{compssUsers}, $o->{gtk_display_compssUsers}) = install::pkgs::readCompssUsers('/tmp/compssUsers.pl');
+
+ defined $o->{compssUsers} or die "Can't read compssUsers.pl file, aborting installation\n";
+}
+
+sub setPackages {
+ my ($o) = @_;
+
+ require install::pkgs;
+ {
+ $o->{packages} = install::pkgs::empty_packages();
+
+ my $media = $o->{media} || [ { type => 'media_cfg', url => 'drakx://media' } ];
+
+ my ($suppl_method, $copy_rpms_on_disk) = install::media::get_media($o, $media, $o->{packages});
+
+ if ($suppl_method) {
+ 1 while $o->selectSupplMedia;
+ }
+
+ #- open rpm db according to right mode needed (ie rebuilding database if upgrading)
+ $o->{packages}{rpmdb} ||= install::pkgs::rpmDbOpen($o->{isUpgrade});
+
+ {
+ my $_wait = $o->wait_message('', N("Looking at packages already installed..."));
+ install::pkgs::selectPackagesAlreadyInstalled($o->{packages});
+ }
+
+ if (my $extension = $o->{upgrade_by_removing_pkgs_matching}) {
+ my $time = time();
+ my ($_w, $wait_message) = $o->wait_message_with_progress_bar;
+ $wait_message->(N("Removing packages prior to upgrade..."));
+ my ($current, $total);
+ my $callback = sub {
+ my (undef, $type, $_id, $subtype, $amount) = @_;
+ if ($type eq 'user') {
+ ($current, $total) = (0, $amount);
+ } elsif ($type eq 'uninst' && $subtype eq 'stop') {
+ $wait_message->('', $current++, $total);
+ }
+ };
+ push @{$o->{default_packages}}, install::pkgs::upgrade_by_removing_pkgs($o->{packages}, $callback, $extension, $o->{isUpgrade});
+ log::l("Removing packages took: ", formatTimeRaw(time() - $time));
+ }
+
+ mark_skipped_packages($o);
+
+ #- always try to select basic kernel (else on upgrade, kernel will never be updated provided a kernel is already
+ #- installed and provides what is necessary).
+ my $kernel_pkg = install::pkgs::bestKernelPackage($o->{packages});
+ install::pkgs::selectPackage($o->{packages}, $kernel_pkg, 1);
+ if ($o->{isUpgrade} && $o->{packages}{sizes}{dkms}) {
+ log::l("selecting kernel-source-stripped-latest (since dkms was installed)");
+ install::pkgs::select_by_package_names($o->{packages}, ['kernel-source-stripped-latest'], 1);
+ }
+
+ install::pkgs::select_by_package_names_or_die($o->{packages}, ['basesystem'], 1);
+
+ my $rpmsrate_flags_was_chosen = $o->{rpmsrate_flags_chosen};
+
+ put_in_hash($o->{rpmsrate_flags_chosen} ||= {}, rpmsrate_always_flags($o)); #- must be done before install::pkgs::read_rpmsrate()
+ load_rate_files($o);
+
+ install::media::copy_rpms_on_disk($o) if $copy_rpms_on_disk;
+
+ set_rpmsrate_default_category_flags($o, $rpmsrate_flags_was_chosen);
+
+ push @{$o->{default_packages}}, default_packages($o);
+ select_default_packages($o);
+ }
+
+ if ($o->{isUpgrade}) {
+ {
+ my $_w = $o->wait_message('', N("Finding packages to upgrade..."));
+ install::pkgs::selectPackagesToUpgrade($o->{packages});
+ }
+ if ($o->{packages}{sizes}{'kdebase-progs'}) {
+ log::l("selecting task-kde (since kdebase-progs was installed)");
+ install::pkgs::select_by_package_names($o->{packages}, ['task-kde']);
+ }
+ }
+}
+
+sub create_minimal_files() {
+ mkdir "$::prefix/$_", 0755 foreach
+ qw(dev etc etc/profile.d etc/rpm etc/sysconfig etc/sysconfig/console
+ etc/sysconfig/network-scripts etc/sysconfig/console/consolefonts
+ etc/sysconfig/console/consoletrans
+ home mnt tmp var var/tmp var/lib var/lib/rpm var/lib/urpmi);
+ mkdir "$::prefix/$_", 0700 foreach qw(root root/tmp root/drakx);
+
+ devices::make("$::prefix/dev/null");
+ chmod 0666, "$::prefix/dev/null";
+}
+
+sub count_files {
+ my ($dir) = @_;
+ -d $dir or return 0;
+ opendir my $dh, $dir or return 0;
+ my @list = grep { !/^\.\.?$/ } readdir $dh;
+ closedir $dh;
+ my $c = 0;
+ foreach my $n (@list) {
+ my $p = "$dir/$n";
+ if (-d $p) { $c += count_files($p) } else { ++$c }
+ }
+ $c;
+}
+
+sub cp_with_progress {
+ my $wait_message = shift;
+ my $current = shift;
+ my $total = shift;
+ my $dest = pop @_;
+ @_ or return;
+ @_ == 1 || -d $dest or die "cp: copying multiple files, but last argument ($dest) is not a directory\n";
+
+ foreach my $src (@_) {
+ my $dest = $dest;
+ -d $dest and $dest .= '/' . basename($src);
+
+ unlink $dest;
+
+ if (-l $src) {
+ unless (symlink(readlink($src) || die("readlink failed: $!"), $dest)) {
+ warn "symlink: can't create symlink $dest: $!\n";
+ }
+ } elsif (-d $src) {
+ -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n";
+ cp_with_progress($wait_message, $current, $total, glob_($src), $dest);
+ } else {
+ open(my $F, $src) or die "can't open $src for reading: $!\n";
+ open(my $G, ">", $dest) or die "can't cp to file $dest: $!\n";
+ local $/ = \4096;
+ local $_; while (<$F>) { print $G $_ }
+ chmod((stat($src))[2], $dest);
+ $wait_message->('', ++$current, $total);
+ }
+ }
+ 1;
+}
+
+sub set_rpmsrate_default_category_flags {
+ my ($o, $rpmsrate_flags_was_chosen) = @_;
+
+ #- if no cleaning needed, populate by default, clean is used for second or more call to this function.
+ if ($::auto_install && ($o->{rpmsrate_flags_chosen} || {})->{CAT_ALL}) {
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = 1 foreach map { @{$_->{flags}} } @{$o->{compssUsers}};
+ }
+ if (!$rpmsrate_flags_was_chosen && !$o->{isUpgrade}) {
+ #- use default selection seen in compssUsers directly.
+ $_->{selected} = $_->{default_selected} foreach @{$o->{compssUsers}};
+ set_rpmsrate_category_flags($o, $o->{compssUsers});
+ }
+}
+
+sub set_rpmsrate_category_flags {
+ my ($o, $compssUsers) = @_;
+
+ $o->{rpmsrate_flags_chosen}{$_} = 0 foreach grep { /^CAT_/ } keys %{$o->{rpmsrate_flags_chosen}};
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = 1 foreach map { @{$_->{flags}} } grep { $_->{selected} } @$compssUsers;
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 1;
+ $o->{rpmsrate_flags_chosen}{CAT_MINIMAL_DOCS} = 1;
+}
+
+
+sub rpmsrate_always_flags {
+ my ($o) = @_;
+
+ my $rpmsrate_flags_chosen = {};
+ $rpmsrate_flags_chosen->{qq(META_CLASS"$o->{meta_class}")} = 1;
+ $rpmsrate_flags_chosen->{uc($_)} = 1 foreach grep { $o->{match_all_hardware} || detect_devices::probe_category("multimedia/$_") } modules::sub_categories('multimedia');
+ $rpmsrate_flags_chosen->{uc($_)} = 1 foreach detect_devices::probe_name('Flag');
+ $rpmsrate_flags_chosen->{UTF8} = $o->{locale}{utf8};
+ $rpmsrate_flags_chosen->{BURNER} = 1 if $o->{match_all_hardware} || detect_devices::burners();
+ $rpmsrate_flags_chosen->{DVD} = 1 if $o->{match_all_hardware} || detect_devices::dvdroms();
+ $rpmsrate_flags_chosen->{USB} = 1 if $o->{match_all_hardware} || $o->{modules_conf}->get_probeall("usb-interface");
+ $rpmsrate_flags_chosen->{PCMCIA} = 1 if $o->{match_all_hardware} || detect_devices::hasPCMCIA();
+ $rpmsrate_flags_chosen->{HIGH_SECURITY} = 1 if $o->{security} > 3;
+ $rpmsrate_flags_chosen->{BIGMEM} = 1 if detect_devices::BIGMEM();
+ $rpmsrate_flags_chosen->{SMP} = 1 if detect_devices::hasSMP();
+ $rpmsrate_flags_chosen->{CDCOM} = 1 if any { $_->{name} =~ /commercial/i } install::media::allMediums($o->{packages});
+ $rpmsrate_flags_chosen->{'3D'} = 1 if
+ $o->{match_all_hardware} ||
+ detect_devices::matching_desc__regexp('Matrox.* G[245][05]0') ||
+ detect_devices::matching_desc__regexp('Rage X[CL]') ||
+ detect_devices::matching_desc__regexp('3D Rage (?:LT|Pro)') ||
+ detect_devices::matching_desc__regexp('Voodoo [35]') ||
+ detect_devices::matching_desc__regexp('Voodoo Banshee') ||
+ detect_devices::matching_desc__regexp('8281[05].* CGC') ||
+ detect_devices::matching_desc__regexp('Rage 128') ||
+ detect_devices::matching_desc__regexp('Radeon ') || #- all Radeon card are now 3D with 4.3.0
+ detect_devices::matching_desc__regexp('[nN]Vidia.*T[nN]T2') || #- TNT2 cards
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*NV[56]') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*Vanta') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*[gG]e[fF]orce') || #- GeForce cards
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*NV1[15]') ||
+ detect_devices::matching_desc__regexp('[nN][vV]idia.*Quadro');
+
+ foreach (lang::langsLANGUAGE($o->{locale}{langs})) {
+ $rpmsrate_flags_chosen->{qq(LOCALES"$_")} = 1;
+ }
+ $rpmsrate_flags_chosen->{'CHARSET"' . lang::l2charset($o->{locale}{lang}) . '"'} = 1;
+
+ $rpmsrate_flags_chosen;
+}
+
+sub default_packages {
+ my ($o) = @_;
+ my @l;
+
+ push @l, "brltty" if cat_("/proc/cmdline") =~ /brltty=/;
+ push @l, "nfs-utils-clients" if $o->{method} eq "nfs";
+ push @l, "mdadm" if !is_empty_array_ref($o->{all_hds}{raids});
+ push @l, "lvm2" if !is_empty_array_ref($o->{all_hds}{lvms});
+ push @l, "dmraid" if any { fs::type::is_dmraid($_) } @{$o->{all_hds}{hds}};
+ push @l, 'powernowd' if cat_('/proc/cpuinfo') =~ /AuthenticAMD/ && arch() =~ /x86_64/
+ || cat_('/proc/cpuinfo') =~ /model name.*Intel\(R\) Core\(TM\)2 CPU/;
+ push @l, detect_devices::probe_name('Pkg');
+
+ my $dmi_BIOS = detect_devices::dmidecode_category('BIOS');
+ my $dmi_Base_Board = detect_devices::dmidecode_category('Base Board');
+ if ($dmi_BIOS->{Vendor} eq 'COMPAL' && $dmi_BIOS->{Characteristics} =~ /Function key-initiated network boot is supported/
+ || $dmi_Base_Board->{Manufacturer} =~ /^ACER/ && $dmi_Base_Board->{'Product Name'} =~ /TravelMate 610/) {
+ #- FIXME : append correct options (wireless, ...)
+ modules::append_to_modules_loaded_at_startup_for_all_kernels('acerhk');
+ }
+
+ push @l, 'quota' if any { $_->{options} =~ /usrquota|grpquota/ } @{$o->{fstab}};
+ push @l, uniq(grep { $_ } map { fs::format::package_needed_for_partition_type($_) } @{$o->{fstab}});
+
+ my @locale_pkgs = map { install::pkgs::packagesProviding($o->{packages}, 'locales-' . $_) } lang::langsLANGUAGE($o->{locale}{langs});
+ unshift @l, uniq(map { $_->name } @locale_pkgs);
+
+ @l;
+}
+
+sub mark_skipped_packages {
+ my ($o) = @_;
+ install::pkgs::skip_packages($o->{packages}, $o->{skipped_packages}) if $o->{skipped_packages};
+}
+
+sub select_default_packages {
+ my ($o) = @_;
+ install::pkgs::select_by_package_names($o->{packages}, $o->{default_packages});
+}
+
+sub unselectMostPackages {
+ my ($o) = @_;
+ install::pkgs::unselectAllPackages($o->{packages});
+ select_default_packages($o);
+}
+
+sub warnAboutNaughtyServers {
+ my ($o) = @_;
+ my @naughtyServers = install::pkgs::naughtyServers($o->{packages}) or return 1;
+ my $r = $o->ask_from_list_('',
+formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("You have selected the following server(s): %s
+
+
+These servers are activated by default. They do not have any known security
+issues, but some new ones could be found. In that case, you must make sure
+to upgrade as soon as possible.
+
+
+Do you really want to install these servers?
+", join(", ", @naughtyServers))), [ N_("Yes"), N_("No") ], 'Yes') or return;
+ if ($r ne 'Yes') {
+ log::l("unselecting naughty servers: " . join(' ', @naughtyServers));
+ install::pkgs::unselectPackage($o->{packages}, install::pkgs::packageByName($o->{packages}, $_)) foreach @naughtyServers;
+ }
+ 1;
+}
+
+sub warnAboutRemovedPackages {
+ my ($o, $packages) = @_;
+ my @removedPackages = keys %{$packages->{state}{ask_remove} || {}} or return;
+ if (!$o->ask_yesorno('',
+formatAlaTeX(
+ #-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+ N("The following packages will be removed to allow upgrading your system: %s
+
+
+Do you really want to remove these packages?
+", join(", ", @removedPackages))), 1)) {
+ $packages->{state}{ask_remove} = {};
+ }
+}
+
+sub addToBeDone(&$) {
+ my ($f, $step) = @_;
+
+ return &$f() if $::o->{steps}{$step}{done};
+
+ push @{$::o->{steps}{$step}{toBeDone}}, $f;
+}
+
+sub set_authentication {
+ my ($o) = @_;
+
+ my $when_network_is_up = sub {
+ my ($f) = @_;
+ #- defer running xxx - no network yet
+ addToBeDone {
+ require install::steps;
+ install::steps::upNetwork($o, 'pppAvoided');
+ $f->();
+ } 'configureNetwork';
+ };
+ require authentication;
+ authentication::set($o, $o->{net}, $o->{authentication} ||= {}, $when_network_is_up);
+}
+
+#-###############################################################################
+#- kde stuff
+#-###############################################################################
+sub kdemove_desktop_file {
+ my ($prefix) = @_;
+ my @toMove = qw(doc.kdelnk news.kdelnk updates.kdelnk home.kdelnk printer.kdelnk floppy.kdelnk cdrom.kdelnk FLOPPY.kdelnk CDROM.kdelnk);
+
+ #- remove any existing save in Trash of each user and
+ #- move appropriate file there after an upgrade.
+ foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) {
+ renamef("$dir/$_", "$dir/Trash/$_")
+ foreach grep { -e "$dir/$_" } @toMove, grep { /\.rpmorig$/ } all($dir);
+ }
+}
+
+
+#-###############################################################################
+#- auto_install stuff
+#-###############################################################################
+sub auto_inst_file() { "$::prefix/root/drakx/auto_inst.cfg.pl" }
+
+sub report_bug() {
+ any::report_bug('auto_inst' => g_auto_install('', 1));
+}
+
+sub g_auto_install {
+ my ($b_replay, $b_respect_privacy) = @_;
+ my $o = {};
+
+ require install::pkgs;
+ $o->{default_packages} = install::pkgs::selected_leaves($::o->{packages});
+
+ my @fields = qw(mntpoint fs_type size);
+ $o->{partitions} = [ map {
+ my %l; @l{@fields} = @$_{@fields}; \%l;
+ } grep {
+ $_->{mntpoint} && fs::format::known_type($_);
+ } @{$::o->{fstab}} ];
+
+ exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(locale authentication mouse net timezone superuser keyboard users partitioning isUpgrade manualFstab nomouseprobe crypto security security_user libsafe useSupermount autoExitInstall X services postInstall postInstallNonRooted); #- TODO modules bootloader
+
+ local $o->{partitioning}{auto_allocate} = !$b_replay;
+ $o->{autoExitInstall} = !$b_replay;
+ $o->{interactiveSteps} = [ 'doPartitionDisks', 'formatPartitions' ] if $b_replay;
+
+ #- deep copy because we're modifying it below
+ $o->{users} = $b_respect_privacy ? [] : [ @{$o->{users} || []} ];
+
+ my @user_info_to_remove = (
+ if_($b_respect_privacy, qw(realname pw)),
+ qw(oldu oldg password password2),
+ );
+ $_ = { %{$_ || {}} }, delete @$_{@user_info_to_remove} foreach $o->{superuser}, @{$o->{users} || []};
+
+ if ($b_respect_privacy && $o->{net}) {
+ if (my $type = $o->{net}{type}) {
+ my @net_type_to_remove = qw(passwd login phone_in phone_out);
+ $_ = { %{$_ || {}} }, delete @$_{@net_type_to_remove} foreach $o->{net}{$type};
+ }
+ }
+ my $warn_privacy = $b_respect_privacy ? "!! This file has been simplified to respect privacy when reporting problems.
+# You should use /root/drakx/auto_inst.cfg.pl instead !!\n#" : '';
+
+ require Data::Dumper;
+ my $str = join('',
+"#!/usr/bin/perl -cw
+# $warn_privacy
+# You should check the syntax of this file before using it in an auto-install.
+# You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file
+# (note the '#!/usr/bin/perl -cw' on the first line).
+", Data::Dumper->Dump([$o], ['$o']));
+ $str =~ s/ {8}/\t/g; #- replace all 8 space char by only one tabulation, this reduces file size so much :-)
+ $str;
+}
+
+sub getAndSaveAutoInstallFloppies {
+ my ($o, $replay) = @_;
+ my $name = ($replay ? 'replay' : 'auto') . '_install';
+ my $dest_dir = "$::prefix/root/drakx";
+
+ eval { modules::load('loop') };
+
+ if (arch() =~ /ia64/) {
+ #- nothing yet
+ } else {
+ my $mountdir = "$::prefix/root/aif-mount"; -d $mountdir or mkdir $mountdir, 0755;
+ my $param = 'kickstart=floppy ' . generate_automatic_stage1_params($o);
+
+ my $img = install::media::getAndSaveInstallFloppies($o, $dest_dir, $name) or return;
+
+ {
+ my $dev = devices::set_loop($img) or log::l("couldn't set loopback device"), return;
+ find { eval { fs::mount::mount($dev, $mountdir, $_, 0); 1 } } qw(ext2 vfat) or return;
+
+ if (-e "$mountdir/menu.lst") {
+ # hd_grub boot disk is different than others
+ substInFile {
+ s/^(\s*timeout.*)/timeout 1/;
+ s/\bautomatic=method:disk/$param/;
+ } "$mountdir/menu.lst";
+ } elsif (-e "$mountdir/syslinux.cfg") {
+ #- make room first
+ unlink "$mountdir/help.msg", "$mountdir/boot.msg";
+
+ substInFile {
+ s/timeout.*/$replay ? 'timeout 1' : ''/e;
+ s/^(\s*append)/$1 $param/;
+ } "$mountdir/syslinux.cfg";
+
+ output "$mountdir/boot.msg", $replay ? '' : "\n0c" .
+"!! If you press enter, an auto-install is going to start.
+ All data on this computer is going to be lost,
+ including any Windows partitions !!
+" . "07\n";
+ }
+
+ {
+ local $o->{partitioning}{clearall} = !$replay;
+ eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)) };
+ $@ and log::l("Warning: <", formatError($@), ">");
+ }
+
+ fs::mount::umount($mountdir);
+ devices::del_loop($dev);
+ }
+ rmdir $mountdir;
+ $img;
+ }
+}
+
+
+sub g_default_packages {
+ my ($o) = @_;
+
+ my ($_h, $file) = media_browser($o, 'save', 'package_list.pl') or return;
+
+ require Data::Dumper;
+ my $str = Data::Dumper->Dump([ { default_packages => install::pkgs::selected_leaves($o->{packages}) } ], ['$o']);
+ $str =~ s/ {8}/\t/g;
+ output($file,
+ "# You should always check the syntax with 'perl -cw auto_inst.cfg.pl'\n" .
+ "# before testing. To use it, boot with ``linux defcfg=floppy''\n" .
+ $str);
+}
+
+sub loadO {
+ my ($O, $f) = @_; $f ||= auto_inst_file();
+ if ($f =~ /^(floppy|patch)$/) {
+ my $f = $f eq "floppy" ? 'auto_inst.cfg' : "patch";
+ my $o;
+ foreach (removable_media__early_in_install()) {
+ my $dev = devices::make($_->{device});
+ foreach my $fs (arch() =~ /sparc/ ? 'romfs' : ('ext2', 'vfat')) {
+ eval { fs::mount::mount($dev, '/mnt', $fs, 'readonly'); 1 } or next;
+ if (my $abs_f = find { -e $_ } "/mnt/$f", "/mnt/$f.pl") {
+ $o = loadO_($O, $abs_f);
+ }
+ fs::mount::umount("/mnt");
+ goto found if $o;
+ }
+ }
+ die "Could not find $f";
+ found:
+ modules::unload(qw(vfat fat));
+ $o;
+ } else {
+ loadO_($O, $f);
+ }
+}
+
+sub loadO_ {
+ my ($O, $f) = @_;
+
+ my $o;
+ {
+ my $fh;
+ if (ref $f) {
+ $fh = $f;
+ } else {
+ -e "$f.pl" and $f .= ".pl" unless -e $f;
+
+ $fh = -e $f ? common::open_file($f) : getFile_($O->{stage2_phys_medium}, $f) || die N("Error reading file %s", $f);
+ }
+ my $s = cat__($fh);
+ close $fh;
+ {
+ no strict;
+ eval $s;
+ $@ and die;
+ }
+ $O and add2hash_($o ||= {}, $O);
+ }
+ $O and bless $o, ref $O;
+
+ handle_old_auto_install_format($o);
+
+ $o;
+}
+
+sub handle_old_auto_install_format {
+ my ($o) = @_;
+
+ #- handle backward compatibility for things that changed
+ foreach (@{$o->{partitions} || []}, @{$o->{manualFstab} || []}) {
+ if (my $type = delete $_->{type}) {
+ if ($type =~ /^(0x)?(\d*)$/) {
+ fs::type::set_pt_type($_, $type);
+ } else {
+ fs::type::set_fs_type($_, $type);
+ }
+ }
+ }
+ #- {rpmsrate_flags_chosen} was called {compssUsersChoice}
+ if (my $rpmsrate_flags_chosen = delete $o->{compssUsersChoice}) {
+ $o->{rpmsrate_flags_chosen} = $rpmsrate_flags_chosen;
+ }
+ #- compssUsers flags are now named CAT_XXX
+ if ($o->{rpmsrate_flags_chosen} &&
+ ! any { /^CAT_/ } keys %{$o->{rpmsrate_flags_chosen}}) {
+ #- we don't really know if this is needed for compatibility, but it won't hurt :)
+ foreach (keys %{$o->{rpmsrate_flags_chosen}}) {
+ $o->{rpmsrate_flags_chosen}{"CAT_$_"} = $o->{rpmsrate_flags_chosen}{$_};
+ }
+ #- it used to be always selected
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 1;
+ }
+ if ($o->{updates} && $o->{updates}{mirror}) {
+ $o->{updates}{url} = delete $o->{updates}{mirror};
+ }
+
+ #- backward compatibility for network fields
+ exists $o->{intf} and $o->{net}{ifcfg} = delete $o->{intf};
+ exists $o->{netcnx}{type} and $o->{net}{type} = delete $o->{netcnx}{type};
+ exists $o->{netc}{NET_INTERFACE} and $o->{net}{net_interface} = delete $o->{netc}{NET_INTERFACE};
+ my %netc_translation = (
+ resolv => [ qw(dnsServer dnsServer2 dnsServer3 DOMAINNAME DOMAINNAME2 DOMAINNAME3) ],
+ network => [ qw(NETWORKING FORWARD_IPV4 NETWORKING_IPV6 HOSTNAME GATEWAY GATEWAYDEV NISDOMAIN) ],
+ auth => [ qw(LDAPDOMAIN WINDOMAIN) ],
+ );
+ foreach my $dest (keys %netc_translation) {
+ exists $o->{netc}{$_} and $o->{net}{$dest}{$_} = delete $o->{netc}{$_} foreach @{$netc_translation{$dest}};
+ }
+ delete @$o{qw(netc netcnx)};
+
+ $o;
+}
+
+sub generate_automatic_stage1_params {
+ my ($o) = @_;
+
+ my $method = $o->{method};
+ my @ks;
+
+ if ($o->{method} eq 'http') {
+ $ENV{URLPREFIX} =~ m!(http|ftp)://([^/:]+)(.*)! or die;
+ $method = $1; #- in stage1, FTP via HTTP proxy is available through FTP config, not HTTP
+ @ks = (server => $2, directory => $3);
+ } elsif ($o->{method} eq 'ftp') {
+ my @l = install::ftp::parse_ftp_url($ENV{URLPREFIX});
+ @ks = (server => $l[0], directory => $l[1], user => $l[2], pass => $l[3]);
+ } elsif ($o->{method} eq 'nfs') {
+ cat_("/proc/mounts") =~ m|(\S+):(\S+)\s+/tmp/media| or internal_error("can not find nfsimage");
+ @ks = (server => $1, directory => $2);
+ }
+ @ks = (method => $method, @ks);
+
+ if (is_network_install($o)) {
+ if ($ENV{PROXY}) {
+ push @ks, proxy_host => $ENV{PROXY}, proxy_port => $ENV{PROXYPORT};
+ }
+ my $intf = first(values %{$o->{net}{ifcfg}});
+ push @ks, interface => $intf->{DEVICE};
+ if ($intf->{BOOTPROTO} eq 'dhcp') {
+ push @ks, network => 'dhcp';
+ } else {
+ push @ks, network => 'static', ip => $intf->{IPADDR}, netmask => $intf->{NETMASK}, gateway => $o->{net}{network}{GATEWAY};
+ require network::network;
+ if (my @dnss = network::network::dnsServers($o->{net})) {
+ push @ks, dns => $dnss[0];
+ }
+ }
+ }
+
+ #- sync it with ../mdk-stage1/automatic.c
+ my %aliases = (method => 'met', network => 'netw', interface => 'int', gateway => 'gat', netmask => 'netm',
+ adsluser => 'adslu', adslpass => 'adslp', hostname => 'hos', domain => 'dom', server => 'ser',
+ directory => 'dir', user => 'use', pass => 'pas', disk => 'dis', partition => 'par');
+
+ 'automatic=' . join(',', map { ($aliases{$_->[0]} || $_->[0]) . ':' . $_->[1] } group_by2(@ks));
+}
+
+sub find_root_parts {
+ my ($fstab, $prefix) = @_;
+
+ my $extract = sub {
+ my ($prefix, $f, $part) = @_;
+ chomp(my $s = cat_("$prefix$f"));
+ $s =~ s/\s+for\s+\S+//;
+ log::l("find_root_parts found $part->{device}: $s" . ($f !~ m!/etc/! ? " in special release file $f" : ''));
+ { release => $s, release_file => $f, part => $part };
+ };
+
+ if ($::local_install) {
+ my $f = common::release_file('/mnt') or return;
+ return $extract->('/mnt', $f, {});
+ }
+
+ map {
+ my $handle = any::inspect($_, $prefix);
+ if (my $f = $handle && common::release_file($handle->{dir})) {
+ $extract->($handle->{dir}, $f, $_);
+ } else { () }
+ } grep { isTrueLocalFS($_) } @$fstab;
+}
+
+sub migrate_device_names {
+ my ($all_hds, $from_fstab, $new_root, $root_from_fstab, $o_in) = @_;
+
+ log::l("warning: fstab says root partition is $root_from_fstab->{device}, whereas we were reading fstab from $new_root->{device}");
+ my ($old_prefix, $old_part_number) = devices::simple_partition_scan($root_from_fstab);
+ my ($new_prefix, $new_part_number) = devices::simple_partition_scan($new_root);
+
+ if ($old_part_number != $new_part_number) {
+ log::l("argh, $root_from_fstab->{device} and $old_part_number->{device} are not the same partition number");
+ return;
+ }
+
+ log::l("replacing $old_prefix with $new_prefix");
+
+ my %h;
+ foreach (@$from_fstab) {
+ if ($_->{device} =~ s!^\Q$old_prefix!$new_prefix!) {
+ #- this is simple to handle, nothing more to do
+ } elsif ($_->{part_number}) {
+ my $device_prefix = devices::part_prefix($_);
+ push @{$h{$device_prefix}}, $_;
+ } else {
+ #- hopefully this does not need anything special
+ }
+ }
+ my @from_fstab_per_hds = values %h or return;
+
+
+ my @current_hds = grep { $new_root->{rootDevice} ne $_->{device} } fs::get::hds($all_hds);
+
+ found_one:
+ @from_fstab_per_hds or return;
+
+ foreach my $from_fstab_per_hd (@from_fstab_per_hds) {
+ my ($matching, $other) = partition {
+ my $hd = $_;
+ every {
+ my $wanted = $_;
+ my $part = find { $_->{part_number} eq $wanted->{part_number} } partition_table::get_normal_parts($hd);
+ $part && $part->{fs_type} && fs::type::can_be_this_fs_type($wanted, $part->{fs_type});
+ } @$from_fstab_per_hd;
+ } @current_hds;
+ @$matching == 1 or next;
+
+ my ($hd) = @$matching;
+ @current_hds = @$other;
+ @from_fstab_per_hds = grep { $_ != $from_fstab_per_hd } @from_fstab_per_hds;
+
+ log::l("$hd->{device} nicely corresponds to " . join(' ', map { $_->{device} } @$from_fstab_per_hd));
+ foreach (@$from_fstab_per_hd) {
+ partition_table::compute_device_name($_, $hd);
+ }
+ goto found_one;
+ }
+
+ #- we can not find one and only one matching hd
+ my @from_fstab_not_handled = map { @$_ } @from_fstab_per_hds;
+ log::l("we still do not know what to do with: " . join(' ', map { $_->{device} } @from_fstab_not_handled));
+
+
+ if (!$o_in) {
+ log::l("well, ignoring them!");
+ return;
+ }
+
+ my $propositions_valid = every {
+ my $wanted = $_;
+ my @parts = grep { $_->{part_number} eq $wanted->{part_number}
+ && $_->{fs_type} && fs::type::can_be_this_fs_type($wanted, $_->{fs_type}) } fs::get::hds_fstab(@current_hds);
+ $wanted->{propositions} = \@parts;
+ @parts > 0;
+ } @from_fstab_not_handled;
+
+ $o_in->ask_from('',
+ N("The following disk(s) were renamed:"),
+ [ map {
+ { label => N("%s (previously named as %s)", $_->{mntpoint}, $_->{device}),
+ val => \$_->{device}, format => sub { $_[0] && $_->{device} },
+ list => [ '',
+ $propositions_valid ? @{$_->{propositions}} :
+ fs::get::hds_fstab(@current_hds) ] };
+ } @from_fstab_not_handled ]);
+}
+
+sub use_root_part {
+ my ($all_hds, $part, $o_in) = @_;
+ return if $::local_install;
+
+ my $migrate_device_names;
+ {
+ my $handle = any::inspect($part, $::prefix) or internal_error();
+
+ my @from_fstab = fs::read_fstab($handle->{dir}, '/etc/fstab', 'keep_default');
+
+ my $root_from_fstab = fs::get::root_(\@from_fstab);
+ if (!fs::get::is_same_hd($root_from_fstab, $part)) {
+ $migrate_device_names = 1;
+ log::l("from_fstab contained: $_->{device} $_->{mntpoint}") foreach @from_fstab;
+ migrate_device_names($all_hds, \@from_fstab, $part, $root_from_fstab, $o_in);
+ log::l("from_fstab now contains: $_->{device} $_->{mntpoint}") foreach @from_fstab;
+ }
+ fs::add2all_hds($all_hds, @from_fstab);
+ log::l("fstab is now: $_->{device} $_->{mntpoint}") foreach fs::get::fstab($all_hds);
+ }
+ isSwap($_) and $_->{mntpoint} = 'swap' foreach fs::get::really_all_fstab($all_hds); #- use all available swap.
+ $migrate_device_names;
+}
+
+sub getHds {
+ my ($o, $o_in) = @_;
+ fs::any::get_hds($o->{all_hds} ||= {}, $o->{fstab} ||= [],
+ $o->{manualFstab}, $o->{partitioning}, $::local_install, $o_in);
+}
+
+sub removable_media__early_in_install() {
+ eval { modules::load('usb-storage', 'sd_mod') } if detect_devices::usbStorage();
+ my $all_hds = fsedit::get_hds({});
+ fs::get_raw_hds('', $all_hds);
+
+ my @l1 = grep { detect_devices::isKeyUsb($_) } @{$all_hds->{hds}};
+ my @l2 = grep { $_->{media_type} eq 'fd' || detect_devices::isKeyUsb($_) } @{$all_hds->{raw_hds}};
+ (fs::get::hds_fstab(@l1), @l2);
+}
+
+my %media_browser;
+sub media_browser {
+ my ($in, $save, $o_suggested_name) = @_;
+
+ my %media_type2text = (
+ fd => N("Floppy"),
+ hd => N("Hard Disk"),
+ cdrom => N("CDROM"),
+ );
+ my @network_protocols = (if_(!$save, N_("HTTP")), if_(0, N_("FTP")), N_("NFS"));
+
+ my $to_text = sub {
+ my ($hd) = @_;
+ ($media_type2text{$hd->{media_type}} || $hd->{media_type}) . ': ' . partition_table::description($hd);
+ };
+
+ ask_media:
+ my $all_hds = fsedit::get_hds({}, $in);
+ fs::get_raw_hds('', $all_hds);
+
+ my @raw_hds = grep { !$save || $_->{media_type} ne 'cdrom' } @{$all_hds->{raw_hds}};
+ my @dev_and_text = group_by2(
+ (map { $_ => $to_text->($_) } @raw_hds),
+ (map {
+ my $hd = $to_text->($_);
+ map { $_ => join('\1', $hd, partition_table::description($_)) } grep { isTrueFS($_) || isOtherAvailableFS($_) } fs::get::hds_fstab($_);
+ } fs::get::hds($all_hds)),
+ if_(is_network_install($::o) || install::steps::hasNetwork($::o),
+ map { $_ => join('\1', N("Network"), translate($_)) } @network_protocols),
+ );
+
+ $in->ask_from_({
+ messages => N("Please choose a media"),
+ }, [
+ { val => \$media_browser{dev}, separator => '\1', list => [ map { $_->[1] } @dev_and_text ] },
+ ]) or return;
+
+ my $dev = (find { $_->[1] eq $media_browser{dev} } @dev_and_text)->[0];
+
+ my $browse = sub {
+ my ($dir) = @_;
+
+ browse:
+ my $file = $in->ask_filename({ save => $save,
+ directory => $dir,
+ if_($o_suggested_name, file => "$dir/$o_suggested_name"),
+ }) or return;
+ if (-e $file && $save) {
+ $in->ask_yesorno('', N("File already exists. Overwrite it?")) or goto browse;
+ }
+ if ($save) {
+ if (!open(my $_fh, ">>$file")) {
+ $in->ask_warn('', N("Permission denied"));
+ goto browse;
+ }
+ $file;
+ } else {
+ common::open_file($file) || goto browse;
+ }
+ };
+ my $inspect_and_browse = sub {
+ my ($dev) = @_;
+
+ if (my $h = any::inspect($dev, $::prefix, $save)) {
+ if (my $file = $browse->($h->{dir})) {
+ return $h, $file;
+ }
+ undef $h; #- help perl
+ } else {
+ $in->ask_warn(N("Error"), formatError($@));
+ }
+ ();
+ };
+
+ if (member($dev, @network_protocols)) {
+ require install::interactive;
+ install::interactive::upNetwork($::o);
+
+ if ($dev eq 'HTTP') {
+ require install::http;
+ $media_browser{url} ||= 'http://';
+
+ while (1) {
+ $in->ask_from('', 'URL', [
+ { val => \$media_browser{url} }
+ ]) or last;
+
+ if ($dev eq 'HTTP') {
+ my $fh = install::http::getFile($media_browser{url});
+ $fh and return '', $fh;
+ }
+ }
+ } elsif ($dev eq 'NFS') {
+ while (1) {
+ $in->ask_from('', 'NFS', [
+ { val => \$media_browser{nfs} }
+ ]) or last;
+
+ my ($kind) = fs::wild_device::analyze($media_browser{nfs});
+ if ($kind ne 'nfs') {
+ $in->ask_warn('', N("Bad NFS name"));
+ next;
+ }
+
+ my $nfs = fs::wild_device::to_subpart($media_browser{nfs});
+ $nfs->{fs_type} = 'nfs';
+
+ if (my ($h, $file) = $inspect_and_browse->($nfs)) {
+ return $h, $file;
+ }
+ }
+ } else {
+ $in->ask_warn('', 'todo');
+ goto ask_media;
+ }
+ } else {
+ if (!$dev->{fs_type} || $dev->{fs_type} eq 'auto' || $dev->{fs_type} =~ /:/) {
+ if (my $p = fs::type::type_subpart_from_magic($dev)) {
+ add2hash($p, $dev);
+ $dev = $p;
+ } else {
+ $in->ask_warn(N("Error"), N("Bad media %s", partition_table::description($dev)));
+ goto ask_media;
+ }
+ }
+
+ if (my ($h, $file) = $inspect_and_browse->($dev)) {
+ return $h, $file;
+ }
+
+ goto ask_media;
+ }
+}
+
+sub X_options_from_o {
+ my ($o) = @_;
+ {
+ freedriver => $o->{freedriver},
+ allowFB => $o->{allowFB},
+ ignore_bad_conf => $o->{isUpgrade} =~ /redhat|conectiva/,
+ };
+}
+
+sub screenshot_dir__and_move() {
+ my ($dir0, $dir1, $dir2) = ('/root', "$::prefix/root", '/tmp');
+ if (-e $dir0 && ! -e '/root/non-chrooted-marker.DrakX') {
+ $dir0; #- it occurs during pkgs install when we are chrooted
+ } elsif (-e $dir1) {
+ if (-e "$dir2/DrakX-screenshots") {
+ cp_af("$dir2/DrakX-screenshots", $dir1);
+ rm_rf("$dir2/DrakX-screenshots");
+ }
+ $dir1;
+ } else {
+ $dir2;
+ }
+}
+
+sub take_screenshot {
+ my ($in) = @_;
+ my $dir = screenshot_dir__and_move() . '/DrakX-screenshots';
+ my $warn;
+ if (!-e $dir) {
+ mkdir $dir or $in->ask_warn('', N("Can not make screenshots before partitioning")), return;
+ $warn = 1;
+ }
+ my $nb = 1;
+ $nb++ while -e "$dir/$nb.png";
+ system("fb2png /dev/fb0 $dir/$nb.png 0");
+
+ $in->ask_warn('', N("Screenshots will be available after install in %s", "/root/DrakX-screenshots")) if $warn;
+}
+
+sub copy_advertising {
+ my ($o) = @_;
+
+ return if $::rootwidth < 800;
+
+ my $f;
+ my $source_dir = "install/extra/advertising";
+ foreach ("." . $o->{locale}{lang}, "." . substr($o->{locale}{lang},0,2), '') {
+ $f = getFile_($o->{stage2_phys_medium}, "$source_dir$_/list") or next;
+ $source_dir = "$source_dir$_";
+ }
+ if (my @files = <$f>) {
+ my $dir = "$::prefix/tmp/drakx-images";
+ mkdir $dir;
+ unlink glob_("$dir/*");
+ foreach (@files) {
+ chomp;
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "$source_dir/$_", "$dir/$_");
+ (my $pl = $_) =~ s/\.png/.pl/;
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "$source_dir/$pl", "$dir/$pl");
+ }
+ @advertising_images = map { "$dir/$_" } @files;
+ }
+}
+
+sub remove_advertising() {
+ eval { rm_rf("$::prefix/tmp/drakx-images") };
+ @advertising_images = ();
+}
+
+sub disable_user_view() {
+ substInFile { s/^UserView=.*/UserView=true/ } "$::prefix/etc/kde/kdm/kdmrc";
+ substInFile { s/^Browser=.*/Browser=0/ } "$::prefix/etc/X11/gdm/custom.conf";
+}
+
+sub set_security {
+ my ($o) = @_;
+ require security::various;
+ security::level::set($o->{security});
+ security::various::config_libsafe($::prefix, $o->{libsafe});
+ security::various::config_security_user($::prefix, $o->{security_user});
+}
+
+sub write_fstab {
+ my ($o) = @_;
+ fs::write_fstab($o->{all_hds}, $::prefix)
+ if !$o->{isUpgrade} || $o->{isUpgrade} =~ /redhat|conectiva/ || $o->{migrate_device_names};
+}
+
+sub move_compressed_image_to_disk {
+ my ($o) = @_;
+
+ our $compressed_image_on_disk;
+ return if $compressed_image_on_disk || $::local_install;
+
+ my $name = 'mdkinst.sqfs';
+ my ($loop, $current_image) = devices::find_compressed_image($name) or return;
+ my $compressed_image_size = (-s $current_image) / 1024; #- put in KiB
+
+ my $dir;
+ if (availableRamMB() > 400) {
+ $dir = '/tmp'; #- on tmpfs
+ } else {
+ my $tmp = fs::get::mntpoint2part('/tmp', $o->{fstab});
+ if ($tmp && fs::df($tmp, $::prefix) / 2 > $compressed_image_size * 1.2) { #- we want at least 20% free afterwards
+ $dir = "$::prefix/tmp";
+ } else {
+ my $root = fs::get::mntpoint2part('/', $o->{fstab});
+ my $root_free_MB = fs::df($root, $::prefix) / 2 / 1024;
+ my $wanted_size_MB = $o->{isUpgrade} || fs::get::mntpoint2part('/usr', $o->{fstab}) ? 150 : 300;
+ log::l("compressed image: root free $root_free_MB MB, wanted at least $wanted_size_MB MB");
+ if ($root_free_MB > $wanted_size_MB) {
+ $dir = $tmp ? $::prefix : "$::prefix/tmp";
+ } else {
+ $dir = '/tmp'; #- on tmpfs
+ if (availableRamMB() < 200) {
+ log::l("ERROR: not much ram (" . availableRamMB() . " MB), we're going in the wall!");
+ }
+ }
+ }
+ }
+ $compressed_image_on_disk = "$dir/$name";
+
+ if ($current_image ne $compressed_image_on_disk) {
+ log::l("move_compressed_image_to_disk: copying $current_image to $compressed_image_on_disk");
+ cp_af($current_image, $compressed_image_on_disk);
+ run_program::run('losetup', '-r', $loop, $compressed_image_on_disk);
+ unlink $current_image if $current_image eq "/tmp/$name";
+ }
+}
+
+sub deploy_server_notify {
+ my ($o) = @_;
+ my $fallback_intf = "eth0";
+ my $fallback_port = 3710;
+
+ my ($server, $port) = $o->{deploy_server} =~ /^(.*?)(?::(\d+))?$/;
+ if ($server) {
+ require network::tools;
+ require IO::Socket;
+ $port ||= $fallback_port;
+ my $intf = network::tools::get_current_gateway_interface() || $fallback_intf;
+ my $mac = c::get_hw_address($intf);
+ my $sock = IO::Socket::INET->new(PeerAddr => $server, PeerPort => $port, Proto => 'tcp');
+ if ($sock) {
+ print $sock "$mac\n";
+ close($sock);
+ log::l(qq(successfully notified deploy server $server on port $port));
+ } else {
+ log::l(qq(unable to contact deploy server $server on port $port));
+ }
+ } else {
+ log::l(qq(unable to parse deploy server in string $o->{deploy_server}));
+ }
+}
+
+#-###############################################################################
+#- pcmcia various
+#-###############################################################################
+sub configure_pcmcia {
+ my ($o) = @_;
+ my $controller = detect_devices::pcmcia_controller_probe();
+ $o->{pcmcia} ||= $controller && $controller->{driver} or return;
+ log::l("configuring PCMCIA controller ($o->{pcmcia})");
+ symlink "/tmp/stage2/$_", $_ foreach "/etc/pcmcia";
+ eval { modules::load($o->{pcmcia}, 'pcmcia') };
+ run_program::run("pcmcia-socket-startup");
+}
+
+1;
diff --git a/perl-install/install/commands b/perl-install/install/commands
new file mode 100755
index 000000000..7a5fc908c
--- /dev/null
+++ b/perl-install/install/commands
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use diagnostics;
+use strict;
+
+use lib qw(/usr/lib/libDrakX .);
+use common;
+use install::commands;
+
+$::isInstall = 1;
+$::prefix = '/mnt';
+my $progname = basename($0);
+
+eval {
+ # hack as some functions are defined by perl... so chmod -> chmod_
+ &{$install::commands::{$progname} || $install::commands::{$progname . "_"} || \&err}(@ARGV), exit 0;
+};
+die formatError($@) . "\n";
+
+sub err() { die "$0: unknown program (unimplemented)\n" }
diff --git a/perl-install/install/commands.pm b/perl-install/install/commands.pm
new file mode 100644
index 000000000..b44881a26
--- /dev/null
+++ b/perl-install/install/commands.pm
@@ -0,0 +1,439 @@
+package install::commands; # $Id: commands.pm 117964 2007-02-08 15:08:07Z pixel $
+
+#-########################################################################
+#- This file implement many common shell commands:
+#- true, false, cat, which, dirname, basename, rmdir, lsmod, grep, tr,
+#- mount, mkdir, mknod, ln, rm, chmod, chown, swapon,
+#- swapoff, ls, cp, ps, dd, head, tail, strings, hexdump, more,
+#- modprobe, route, df, kill, lspci, lssbus, dmesg, sort, du,
+#-########################################################################
+
+use diagnostics;
+use strict;
+use vars qw($printable_chars *ROUTE *DF *PS);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+
+#-######################################################################################
+#- Functions
+#-######################################################################################
+sub getopts {
+ my $o = shift;
+ my @r = map { '' } (@_ = split //, $_[0]);
+ while (1) {
+ local $_ = $o->[0];
+ $_ && /^-/ or return @r;
+ for (my $i = 0; $i < @_; $i++) { /$_[$i]/ and $r[$i] = $_[$i] }
+ shift @$o;
+ }
+ @r;
+}
+
+sub true() { exit 0 }
+sub false() { exit 1 }
+sub cat { @ARGV = @_; print while <> }
+sub dirname_ { print dirname(@_), "\n" }
+sub basename_ { print basename(@_), "\n" }
+sub rmdir_ { foreach (@_) { rmdir $_ or die "rmdir: can not remove $_\n" } }
+sub lsmod() { print "Module Size Used by\n"; cat("/proc/modules") }
+sub which {
+ ARG: foreach (@_) { foreach my $c (split /:/, $ENV{PATH}) { -x "$c/$_" and print("$c/$_\n"), next ARG } }
+}
+
+sub grep_ {
+ my ($h, $v, $i) = getopts(\@_, qw(hvi));
+ @_ == 0 || $h and die "usage: grep <regexp> [files...]\n";
+ my $r = shift;
+ $r = qr/$r/i if $i;
+ @ARGV = @_; (/$r/ xor $v) and print while <>;
+}
+
+sub tr_ {
+ my ($s, $c, $d) = getopts(\@_, qw(s c d));
+ @_ >= 1 + (!$d || $s) or die "usage: tr [-c] [-s [-d]] <set1> <set2> [files...]\n or tr [-c] -d <set1> [files...]\n";
+ my $set1 = shift;
+ my $set2; !$d || $s and $set2 = shift;
+ @ARGV = @_;
+ eval "(tr/$set1/$set2/$s$d$c, print) while <>";
+}
+
+sub mkdir_ {
+ my ($_rec) = getopts(\@_, qw(p));
+ mkdir_p($_) foreach @_;
+}
+
+
+sub mknod {
+ if (@_ == 1) {
+ require devices;
+ eval { devices::make($_[0]) }; $@ and die "mknod: failed to create $_[0]\n";
+ } elsif (@_ == 4) {
+ require c;
+ my $mode = ${{ "b" => c::S_IFBLK(), "c" => c::S_IFCHR() }}{$_[1]} or die "unknown node type $_[1]\n";
+ syscall_('mknod', my $_a = $_[0], $mode | 0600, makedev($_[2], $_[3])) or die "mknod failed: $!\n";
+ } else { die "usage: mknod <path> [b|c] <major> <minor> or mknod <path>\n" }
+}
+
+sub ln {
+ my ($force, $soft) = getopts(\@_, qw(fs));
+ @_ >= 1 or die "usage: ln [-s] [-f] <source> [<dest>]\n";
+
+ my ($source, $dest) = @_;
+ $dest ||= basename($source);
+
+ $force and unlink $dest;
+
+ ($soft ? symlink($source, $dest) : link($source, $dest)) or die "ln failed: $!\n";
+}
+
+sub rm {
+ my ($rec, undef) = getopts(\@_, qw(rf));
+
+ my $rm; $rm = sub {
+ foreach (@_) {
+ if (!-l $_ && -d $_) {
+ $rec or die "$_ is a directory\n";
+ &$rm(glob_($_));
+ rmdir $_ or die "can not remove directory $_: $!\n";
+ } else { unlink $_ or die "rm of $_ failed: $!\n" }
+ }
+ };
+ &$rm(@_);
+}
+
+sub chmod_ {
+ @_ >= 2 or die "usage: chmod <mode> <files>\n";
+
+ my $mode = shift;
+ $mode =~ /^[0-7]+$/ or die "illegal mode $mode\n";
+
+ foreach (@_) { chmod oct($mode), $_ or die "chmod failed $_: $!\n" }
+}
+
+sub chown_ {
+ my ($rec, undef) = getopts(\@_, qw(r));
+ local $_ = shift or die "usage: chown [-r] name[.group] <files>\n";
+
+ my ($name, $group) = (split('\.'), $_);
+
+ common::chown_($rec, $name, $group, @_);
+}
+
+sub swapon {
+ @_ == 1 or die "swapon <file>\n";
+ require fs::mount;
+ fs::mount::swapon($_[0]);
+}
+sub swapoff {
+ @_ == 1 or die "swapoff <file>\n";
+ require fs::mount;
+ fs::mount::swapoff($_[0]);
+}
+
+sub rights {
+ my $r = '-' x 9;
+ my @rights = (qw(x w r x w r x w r), ['t', 0], ['s', 3], ['s', 6]);
+ for (my $i = 0; $i < @rights; $i++) {
+ if (vec(pack("S", $_[0]), $i, 1)) {
+ my ($val, $place) = $i >= 9 ? @{$rights[$i]} : ($rights[$i], $i);
+ my $old = \substr($r, 8 - $place, 1);
+ $$old = $$old eq '-' && $i >= 9 ? uc $val : $val;
+ }
+ }
+ my @types = split //, "_pc_d_b_-_l_s";
+ $types[($_[0] >> 12) & 0xf] . $r;
+}
+
+sub displaySize {
+ my $m = $_[0] >> 12;
+ $m == 4 || $m == 8 || $m == 10;
+}
+
+sub ls {
+ my ($l, $h) = getopts(\@_, qw(lh));
+ $h and die "usage: ls [-l] <files...>\n";
+
+ @_ or @_ = '.';
+ @_ == 1 && -d $_[0] and @_ = glob_($_[0]);
+ foreach (sort @_) {
+ if ($l) {
+ my @s = lstat or warn("can not stat file $_\n"), next;
+ formline(
+"@<<<<<<<<< @<<<<<<< @<<<<<<< @>>>>>>>> @>>>>>>>>>>>>>>> @*\n",
+ rights($s[2]), getpwuid $s[4] || $s[4], getgrgid $s[5] || $s[5],
+ displaySize($s[2]) ? $s[7] : join(", ", unmakedev($s[6])),
+ scalar localtime $s[9], -l $_ ? "$_ -> " . readlink $_ : $_);
+ print $^A; $^A = '';
+ } else { print "$_\n" }
+ }
+}
+sub cp {
+ @_ >= 2 or die "usage: cp <sources> <dest>\n(this cp does -Rfl by default)\n";
+ cp_af(@_);
+}
+
+sub ps {
+ @_ and die "usage: ps\n";
+ my ($pid, $rss, $cpu, $cmd);
+ my ($uptime) = split ' ', first(cat_("/proc/uptime"));
+ my $hertz = 100;
+
+ require c;
+ my $page = c::getpagesize() / 1024;
+
+ open PS, ">&STDOUT"; #- PS must be not be localised otherwise the "format PS" fails
+ format PS_TOP =
+ PID RSS %CPU CMD
+.
+ format PS =
+@>>>> @>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$pid, $rss, $cpu, $cmd
+.
+ foreach (sort { $a <=> $b } grep { /\d+/ } all('/proc')) {
+ $pid = $_;
+ my @l = split(' ', cat_("/proc/$pid/stat"));
+ $cpu = sprintf "%2.1f", max(0, min(99, ($l[13] + $l[14]) * 100 / $hertz / ($uptime - $l[21] / $hertz)));
+ $rss = (split ' ', cat_("/proc/$pid/stat"))[23] * $page;
+ ($cmd = cat_("/proc/$pid/cmdline")) =~ s/\0/ /g;
+ $cmd ||= (split ' ', (cat_("/proc/$pid/stat"))[0])[1];
+ write PS;
+ }
+}
+
+
+sub dd {
+ my $u = "usage: dd [-h] [-p] [if=<file>] [of=<file>] [bs=<number>] [count=<number>]\n";
+ my ($help, $percent) = getopts(\@_, qw(hp));
+ die $u if $help;
+ my %h = (if => *STDIN, of => *STDOUT, bs => 512, count => undef);
+ foreach (@_) {
+ /(.*?)=(.*)/ && exists $h{$1} or die $u;
+ $h{$1} = $2;
+ }
+ local (*IF, *OF); my ($tmp, $nb, $read);
+ ref($h{if}) eq 'GLOB' ? (*IF = $h{if}) : sysopen(IF, $h{if}, 0) || die "error: can not open file $h{if}\n";
+ ref($h{of}) eq 'GLOB' ? (*OF = $h{of}) : sysopen(OF, $h{of}, c::O_CREAT()|c::O_WRONLY()) || die "error: can not open file $h{of}\n";
+
+ $h{bs} = removeXiBSuffix($h{bs});
+
+ for ($nb = 0; !$h{count} || $nb < $h{count}; $nb++) {
+ printf "\r%02.1d%%", 100 * $nb / $h{count} if $h{count} && $percent;
+ $read = sysread(IF, $tmp, $h{bs}) or ($h{count} ? die "error: can not read block $nb\n" : last);
+ syswrite(OF, $tmp) or die "error: can not write block $nb\n";
+ $read < $h{bs} and $read = 1, last;
+ }
+ print STDERR "\r$nb+$read records in\n";
+ print STDERR "$nb+$read records out\n";
+}
+
+sub head_tail {
+ my ($h, $n) = getopts(\@_, qw(hn));
+ $h || @_ < to_bool($n) and die "usage: $0 [-h] [-n lines] [<file>]\n";
+ $n = $n ? shift : 10;
+ my $fh = @_ ? common::open_file($_[0]) || die "error: can not open file $_[0]\n" : *STDIN;
+
+ if ($0 eq 'head') {
+ local $_;
+ while (<$fh>) { $n-- or return; print }
+ } else {
+ @_ = ();
+ local $_;
+ while (<$fh>) { push @_, $_; @_ > $n and shift }
+ print @_;
+ }
+}
+sub head { $0 = 'head'; &head_tail }
+sub tail { $0 = 'tail'; &head_tail }
+
+sub strings {
+ my ($h, $o, $n) = getopts(\@_, qw(hon));
+ $h and die "usage: strings [-o] [-n min-length] [<files>]\n";
+ $n = $n ? shift : 4;
+ $/ = "\0"; @ARGV = @_; my $l = 0;
+ local $_;
+ while (<>) {
+ while (/[$printable_chars]{$n,}/og) {
+ printf "%07d ", ($l + length $') if $o;
+ print "$&\n";
+ }
+ $l += length;
+ } continue { $l = 0 if eof }
+}
+
+sub hexdump {
+ my $i = 0; $/ = \16; @ARGV = @_;
+ local $_;
+ while (<>) {
+ printf "%08lX ", $i; $i += 16;
+ print join(" ", (map { sprintf "%02X", $_ } unpack("C*", $_)),
+ (s/[^$printable_chars]/./og, $_)[1]), "\n";
+ }
+}
+
+sub more {
+ @ARGV = @_;
+ require devices;
+ my $tty = devices::make('tty');
+ my $n = 0;
+ open(my $IN, $tty) or die "can not open $tty\n";
+ local $_;
+ while (<>) {
+ if (++$n == 25) {
+ my $v = <$IN>;
+ $v =~ /^q/ and exit 0;
+ $n = 0;
+ }
+ print;
+ }
+}
+
+sub modprobe {
+ my ($h) = getopts(\@_, qw(h));
+ $h || @_ == 0 and die "usage: modprobe <module> [options]\n";
+ my $name = shift;
+ require modules;
+ modules::load_dependencies("/modules/modules.dep");
+ modules::load_with_options([ $name ], { $name => join(' ', @_) });
+}
+
+sub route {
+ @_ == 0 or die "usage: route\nsorry, no modification handled\n";
+ my ($titles, @l) = cat_("/proc/net/route");
+ my @titles = split ' ', $titles;
+ my %l;
+ open ROUTE, ">&STDOUT"; #- ROUTE must be not be localised otherwise the "format ROUTE" fails
+ format ROUTE_TOP =
+Destination Gateway Mask Iface
+.
+ format ROUTE =
+@<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<<<<<< @<<<<<<<
+$l{Destination}, $l{Gateway}, $l{Mask}, $l{Iface}
+.
+ foreach (@l) {
+ /^\s*$/ and next;
+ @l{@titles} = split;
+ $_ = join ".", reverse map { hex $_ } unpack "a2a2a2a2", $_ foreach @l{qw(Destination Gateway Mask)};
+ $l{Destination} = 'default' if $l{Destination} eq "0.0.0.0";
+ $l{Gateway} = '*' if $l{Gateway} eq "0.0.0.0";
+ write ROUTE;
+ }
+}
+
+sub df {
+ my ($h) = getopts(\@_, qw(h));
+ my ($dev, $size, $free, $used, $use, $mntpoint);
+ open DF, ">&STDOUT"; #- DF must be not be localised otherwise the "format DF" fails
+ format DF_TOP =
+Filesystem Size Used Avail Use Mounted on
+.
+ format DF =
+@<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>>> @>>>>>% @<<<<<<<<<<<<<<<<<<<<<<<<<
+$dev, $size, $used, $free, $use, $mntpoint
+.
+ my %h;
+ foreach (cat_("/proc/mounts"), cat_("/etc/mtab")) {
+ ($dev, $mntpoint) = split;
+ $h{$dev} = $mntpoint;
+ }
+ foreach (sort keys %h) {
+ $dev = $_;
+ ($size, $free) = MDK::Common::System::df($mntpoint = $h{$dev});
+ $size or next;
+
+ $use = int(100 * ($size - $free) / $size);
+ $used = $size - $free;
+ if ($h) {
+ $used = int($used / 1024 . "M");
+ $size = int($size / 1024 . "M");
+ $free = int($free / 1024 . "M");
+ }
+ write DF if $size;
+ }
+}
+
+sub kill {
+ my $signal = 15;
+ @_ or die "usage: kill [-<signal>] pids\n";
+ $signal = (shift, $1)[1] if $_[0] =~ /^-(.*)/;
+ kill $signal, @_ or die "kill failed: $!\n";
+}
+
+sub lssbus { &lspci }
+sub lspci { &lspcidrake }
+sub lspcidrake {
+ require detect_devices;
+ print join "\n", detect_devices::stringlist($_[0] eq '-v'), '';
+}
+
+sub dmesg() { print cat_("/tmp/syslog") }
+
+sub sort {
+ my ($n, $h) = getopts(\@_, qw(nh));
+ $h and die "usage: sort [-n] [<file>]\n";
+ my $fh = @_ ? common::open_file($_[0]) || die "error: can not open file $_[0]\n" : *STDIN;
+ if ($n) {
+ print(sort { $a <=> $b } <$fh>);
+ } else {
+ print(sort <$fh>);
+ }
+}
+
+sub du {
+ my ($s, $h) = getopts(\@_, qw(sh));
+ $h || !$s and die "usage: du -s [<directories>]\n";
+
+ my $f; $f = sub {
+ my ($e) = @_;
+ my $s = (lstat($e))[12];
+ $s += sum(map { &$f($_) } glob_("$e/*")) if !-l _ && -d _;
+ $s;
+ };
+ print &$f($_) >> 1, "\t$_\n" foreach @_ ? @_ : glob_("*");
+}
+
+sub bug {
+ my ($h) = getopts(\@_, "h");
+ my ($o_part_device) = @_;
+ $h and die "usage: bug [device]\nput file report.bug on a floppy or usb key\n";
+
+ require any;
+ require modules;
+ modules::load_dependencies("/modules/modules.dep");
+
+ my $part;
+ if ($o_part_device) {
+ $part = { device => $o_part_device };
+ } else {
+ require interactive::stdio;
+ my $in = interactive::stdio->new;
+
+ require install::any;
+ $part = $in->ask_from_listf('', "Which device?", \&partition_table::description,
+ [ install::any::removable_media__early_in_install() ] ) or return;
+ }
+
+ warn "putting file report.bug on $part->{device}\n";
+ my $fs_type = fs::type::fs_type_from_magic($part) or die "unknown fs type\n";
+
+ fs::mount::mount(devices::make($part->{device}), '/fd', $fs_type);
+
+ require install::any;
+ output('/fd/report.bug', install::any::report_bug());
+ fs::mount::umount('/fd');
+ common::sync();
+}
+
+sub loadkeys {
+ my ($h) = getopts(\@_, "h");
+ $h || @_ != 1 and die "usage: loadkeys <keyboard>\n";
+
+ require keyboard;
+ keyboard::setup_install({ KEYBOARD => $_[0] });
+}
+
+sub sync() { common::sync() }
+
+1;
diff --git a/perl-install/install/ftp.pm b/perl-install/install/ftp.pm
new file mode 100644
index 000000000..cb717a3db
--- /dev/null
+++ b/perl-install/install/ftp.pm
@@ -0,0 +1,100 @@
+package install::ftp; # $Id: ftp.pm 109022 2007-01-15 08:36:34Z pixel $
+
+use Net::FTP;
+
+use network::network;
+use log;
+
+my %hosts;
+
+1;
+
+sub parse_ftp_url {
+ my ($url) = @_;
+ $url =~ m!^ftp://(?:(.*?)(?::(.*?))?\@)?([^/]+)/(.*)! &&
+ ($3, $4, $1, $2);
+}
+
+sub _new {
+ my ($url) = @_;
+ my ($host, $prefix, $login, $password) = parse_ftp_url($url);
+
+ if ($hosts{"$host$prefix"}) {
+ return @{$hosts{"$host$prefix"}};
+ }
+
+ my %options = (Passive => 1, Timeout => 60, Port => 21);
+ $options{Firewall} = $ENV{PROXY} if $ENV{PROXY};
+ $options{Port} = $ENV{PROXYPORT} if $ENV{PROXYPORT};
+ unless ($login) {
+ $login = 'anonymous';
+ $password = '-drakx@';
+ }
+
+ my $ftp;
+ foreach (1..10) {
+ $ftp = Net::FTP->new(network::network::resolv($host), %options) or die "Can't resolve hostname '$host'\n";
+ $ftp && $ftp->login($login, $password) and last;
+
+ log::l("ftp login failed, sleeping before trying again");
+ sleep 5 * $_;
+ }
+ $ftp or die "unable to open ftp connection to $host\n";
+ $ftp->binary;
+ $ftp->cwd($prefix);
+
+ my @l = ($ftp, \ (my $_retr));
+ $hosts{"$host$prefix"} = \@l;
+ @l;
+}
+
+sub getFile {
+ my ($f, $url) = @_;
+ my ($_size, $fh) = get_file_and_size($f, $url) or return;
+ $fh;
+}
+sub get_file_and_size {
+ my ($f, $url) = @_;
+
+ foreach (1..3) {
+ my ($ftp, $retr) = _new($url);
+ eval { $$retr->close if $$retr };
+ if ($@) {
+ log::l("FTP: closing previous retr failed ($@)");
+ _rewindGetFile(); #- in case Timeout got us on "->close"
+ redo;
+ }
+
+ my $size = $ftp->size($f);
+ $$retr = $ftp->retr($f) and return $size, $$retr;
+
+ my $error = $ftp->code;
+ $error == 550 and log::l("FTP: 550 file unavailable"), return;
+
+ _rewindGetFile();
+ log::l("ftp get failed, sleeping before trying again (error:$error)");
+ sleep 1;
+ }
+}
+
+#-sub closeFiles() {
+#- #- close any existing connections
+#- foreach (values %hosts) {
+#- my $retr = $_->[1] if ref $_;
+#- $$retr->close if $$retr;
+#- undef $$retr;
+#- }
+#-}
+
+sub _rewindGetFile() {
+ #- close any existing connection.
+ foreach (values %hosts) {
+ my ($ftp, $retr) = @{$_ || []};
+ #- do not let Timeout kill us!
+ eval { $$retr->close } if $$retr;
+ eval { $ftp->close } if $ftp;
+ }
+
+ #- make sure to reconnect to server.
+ %hosts = ();
+}
diff --git a/perl-install/install/gtk.pm b/perl-install/install/gtk.pm
new file mode 100644
index 000000000..9fa63bf9e
--- /dev/null
+++ b/perl-install/install/gtk.pm
@@ -0,0 +1,319 @@
+package install::gtk; # $Id: gtk.pm 55599 2006-08-11 10:12:12Z pixel $
+
+use diagnostics;
+use strict;
+
+use ugtk2;
+use mygtk2;
+use common;
+use lang;
+use devices;
+
+#-#####################################################################################
+#-INTERN CONSTANT
+#-#####################################################################################
+
+#- if we're running for the doc team, we want screenshots with
+#- a good B&W contrast: we'll override values of our theme
+my $theme_overriding_for_doc = q(style "galaxy-default"
+{
+ base[SELECTED] = "#E0E0FF"
+ base[ACTIVE] = "#E0E0FF"
+ base[PRELIGHT] = "#E0E0FF"
+ bg[SELECTED] = "#E0E0FF"
+ bg[ACTIVE] = "#E0E0FF"
+ bg[PRELIGHT] = "#E0E0FF"
+ text[ACTIVE] = "#000000"
+ text[PRELIGHT] = "#000000"
+ text[SELECTED] = "#000000"
+ fg[SELECTED] = "#000000"
+}
+
+style "white-on-blue"
+{
+ base[NORMAL] = { 0.93, 0.93, 0.93 }
+ bg[NORMAL] = { 0.93, 0.93, 0.93 }
+
+ text[NORMAL] = "#000000"
+ fg[NORMAL] = "#000000"
+}
+
+style "background"
+{
+ bg[NORMAL] = { 0.93, 0.93, 0.93 }
+}
+
+style "background-logo"
+{
+ bg[NORMAL] = { 0.70, 0.70, 0.70 }
+}
+widget "*logo*" style "background-logo"
+
+);
+
+#------------------------------------------------------------------------------
+sub load_rc {
+ my ($o, $name) = @_;
+
+ my $f = $name;
+ -r $name or $f = find { -r $_ } map { "$_/themes-$name.rc" } ("share", $ENV{SHARE_PATH}, dirname(__FILE__) . '/..');
+ if ($f) {
+ Gtk2::Rc->parse_string($o->{doc} ? $theme_overriding_for_doc : scalar cat_($f));
+ }
+
+ if ($::move) {
+ #- override selection color since we will not do inverse-video on the text when it's images
+ Gtk2::Rc->parse_string(q(
+style "galaxy-default"
+{
+ base[ACTIVE] = "#CECECE"
+ base[SELECTED] = "#CECECE"
+ text[ACTIVE] = "#000000"
+ text[PRELIGHT] = "#000000"
+ text[SELECTED] = "#000000"
+}
+));
+ }
+}
+
+#------------------------------------------------------------------------------
+sub load_font {
+ my ($o) = @_;
+
+ if (lang::text_direction_rtl()) {
+ Gtk2::Widget->set_default_direction('rtl');
+ my ($x, $y) = $::WizardWindow->get_position;
+ my ($width) = $::WizardWindow->get_size;
+ $::WizardWindow->move($::rootwidth - $width - $x, $y);
+ }
+
+ Gtk2::Rc->parse_string(q(
+style "default-font"
+{
+ font_name = ") . lang::l2pango_font($o->{locale}{lang}) . q("
+}
+widget "*" style "default-font"
+
+));
+}
+
+#------------------------------------------------------------------------------
+sub default_theme {
+ my ($o) = @_;
+ $::move ? '' :
+ $o->{simple_themes} || $o->{vga16} ? 'blue' : 'galaxy';
+}
+
+sub install_theme {
+ my ($o) = @_;
+
+ load_rc($o, $o->{theme} ||= default_theme($o));
+ load_font($o);
+
+ if (!$::move) {
+ my $win = gtknew('Window', widget_name => 'background');
+ $win->realize;
+ mygtk2::set_root_window_background_with_gc($win->style->bg_gc('normal'));
+ }
+}
+
+#------------------------------------------------------------------------------
+my %steps;
+sub create_steps_window {
+ my ($o) = @_;
+
+ return if $::stepswidth == 0;
+
+ $o->{steps_window} and $o->{steps_window}->destroy;
+
+ $steps{$_} ||= gtknew('Pixbuf', file => "steps_$_") foreach qw(on off done);
+ my $category = sub {
+ gtknew('HBox', children_tight => [
+ gtknew('Label', text_markup => '<b><u>' . $_[0] . '</u></b>', widget_name => 'Step-categories')
+ ]);
+ };
+
+ my @l = $category->(N("Installation"));
+ foreach (grep { !eval $o->{steps}{$_}{hidden} } @{$o->{orderedSteps}}) {
+ if ($_ eq 'setRootPassword') {
+ push @l, '', $category->(N("Configuration"));
+ }
+ my $img = gtknew('Image', file => 'steps_off.png');
+ $steps{steps}{$_}{img} = $img;
+ $steps{steps}{$_}{raw_text} = translate($o->{steps}{$_}{text});
+ push @l, gtknew('HBox', spacing => 7, children_tight => [ '', '', $img, $steps{steps}{$_}{text} = gtknew('Label', text => $steps{steps}{$_}{raw_text}) ]);
+ }
+
+ my $offset = 20;
+ $o->{steps_window} =
+ gtknew('Window', width => ($::stepswidth - $offset), widget_name => 'Steps',
+ position => [ lang::text_direction_rtl() ? $::rootwidth - $::stepswidth : $offset, 150 ],
+ child => gtknew('VBox', spacing => 6, children_tight => \@l));
+ $o->{steps_window}->show;
+}
+
+sub update_steps_position {
+ my ($o) = @_;
+ return if !$steps{steps};
+ my $last_step;
+ foreach (@{$o->{orderedSteps}}) {
+ exists $steps{steps}{$_} or next;
+ if ($o->{steps}{$_}{entered} && !$o->{steps}{$_}{done}) {
+ $steps{steps}{$_}{img}->set_from_pixbuf($steps{on});
+ $steps{steps}{$_}{text}->set_markup('<b><i>' . $steps{steps}{$_}{raw_text} . '</i></b>');
+ if ($last_step) {
+ $steps{steps}{$last_step}{img}->set_from_pixbuf($steps{done});
+ $steps{steps}{$last_step}{text}->set_markup('<b>' . $steps{steps}{$last_step}{raw_text} . '</b>');
+ }
+ return;
+ }
+ $last_step = $_;
+ }
+ mygtk2::flush(); #- for auto_installs which never go through the Gtk2 main loop
+}
+
+#------------------------------------------------------------------------------
+sub create_logo_window {
+ my ($o) = @_;
+
+ return if $::logowidth == 0 || $::move;
+
+ mygtk2::may_destroy($o->{logo_window});
+
+ my $file = $o->{meta_class} eq 'firewall' ? "logo-mandriva-Firewall.png" : "logo-mandriva.png";
+
+ $o->{logo_window} =
+ gtknew('Window',
+ width => $::logowidth, height => $::logoheight,
+ widget_name => 'logo',
+ child => gtknew('Image', file => $file),
+ );
+ $o->{logo_window}->show;
+}
+
+#------------------------------------------------------------------------------
+sub init_gtk {
+ my ($o) = @_;
+
+ symlink("/tmp/stage2/etc/$_", "/etc/$_") foreach qw(gtk-2.0 pango fonts);
+
+ if ($o->{vga16}) {
+ #- inactivate antialias in VGA16 because it makes fonts look worse
+ output('/tmp/fonts.conf',
+q(<fontconfig>
+<include>/etc/fonts/fonts.conf</include>
+<match target="font"><edit name="antialias"><bool>false</bool></edit></match>
+</fontconfig>
+));
+ $ENV{FONTCONFIG_FILE} = '/tmp/fonts.conf';
+ }
+
+ Gtk2->init;
+ Gtk2->set_locale;
+}
+
+#------------------------------------------------------------------------------
+sub init_sizes {
+ my ($o) = @_;
+ ($::rootwidth, $::rootheight) = (Gtk2::Gdk->screen_width, Gtk2::Gdk->screen_height);
+ $::stepswidth = $::rootwidth <= 640 ? 0 : 200 if !$::move;
+ ($::logowidth, $::logoheight) = $::rootwidth <= 640 ? (0, 0) : (800, 75);
+ ($o->{windowwidth}, $o->{windowheight}) = ($::rootwidth - $::stepswidth, $::rootheight - $::helpheight - $::logoheight);
+ ($::real_windowwidth, $::real_windowheight) = (576, 418);
+ $::move and $o->{windowwidth} -= 100;
+}
+
+sub handle_unsafe_mouse {
+ my ($o, $window) = @_;
+
+ $o->{mouse}{unsafe} or return;
+
+ $window->add_events('pointer-motion-mask');
+ my $signal; $signal = $window->signal_connect(motion_notify_event => sub {
+ delete $o->{mouse}{unsafe};
+ log::l("unsetting unsafe mouse");
+ $window->signal_handler_disconnect($signal);
+ });
+}
+
+sub special_shortcuts {
+ my (undef, $event) = @_;
+ my $d = ${{ $Gtk2::Gdk::Keysyms{F2} => 'screenshot', $Gtk2::Gdk::Keysyms{Home} => 'restart' }}{$event->keyval};
+ if ($d eq 'screenshot') {
+ install::any::take_screenshot($::o);
+ } elsif ($d eq 'restart' && member('control-mask', @{$event->state}) && member('mod1-mask', @{$event->state})) {
+ log::l("restarting install");
+ ugtk2->exit(0x35);
+ }
+ 0;
+}
+
+#------------------------------------------------------------------------------
+sub createXconf {
+ my ($file, $mouse_type, $mouse_dev, $_wacom_dev, $Driver) = @_;
+
+ symlinkf(devices::make($mouse_dev), "/dev/mouse") if $mouse_dev ne 'none';
+
+ #- needed for imlib to start on 8-bit depth visual.
+ symlink("/tmp/stage2/etc/imrc", "/etc/imrc");
+ symlink("/tmp/stage2/etc/im_palette.pal", "/etc/im_palette.pal");
+
+ #- remove "error opening security policy file" warning
+ symlink("/tmp/stage2/etc/X11", "/etc/X11");
+
+if ($Driver) {
+ output($file, sprintf(<<'END', ($::globetrotter ? "" : 'Option "XkbDisable"'), $mouse_type, $Driver, $Driver eq 'fbdev' ? '"default"' : '"800x600" "640x480"'));
+Section "Files"
+ FontPath "/usr/share/fonts:unscaled"
+EndSection
+
+Section "InputDevice"
+ Identifier "Keyboard"
+ Driver "keyboard"
+ %s
+ Option "XkbModel" "pc105"
+ Option "XkbLayout" ""
+EndSection
+
+Section "InputDevice"
+ Identifier "Mouse"
+ Driver "mouse"
+ Option "Protocol" "%s"
+ Option "Device" "/dev/mouse"
+ Option "ZAxisMapping" "4 5"
+EndSection
+
+Section "Monitor"
+ Identifier "monitor"
+ HorizSync 31.5-35.5
+ VertRefresh 50-70
+EndSection
+
+Section "Device"
+ Identifier "device"
+ Driver "%s"
+EndSection
+
+Section "Screen"
+ Identifier "screen"
+ Device "device"
+ Monitor "monitor"
+ DefaultColorDepth 16
+ Subsection "Display"
+ Depth 16
+ Modes %s
+ EndSubsection
+EndSection
+
+Section "ServerLayout"
+ Identifier "layout"
+ Screen "screen"
+ InputDevice "Mouse" "CorePointer"
+ InputDevice "Keyboard" "CoreKeyboard"
+EndSection
+
+END
+ }
+}
+
+1;
diff --git a/perl-install/install/help/Makefile b/perl-install/install/help/Makefile
new file mode 100644
index 000000000..cca58ff11
--- /dev/null
+++ b/perl-install/install/help/Makefile
@@ -0,0 +1,9 @@
+help:
+ @if [ ! -d doc ]; then \
+ echo "Checking out doc stuff now ..."; \
+ cvs -d :ext:cvs.mandriva.com:/cooker co doc/manualB/{entities,manuals,modules}; \
+ else \
+ echo "Updating doc stuff now ..."; \
+ cd doc ; cvs update manualB/{entities,manuals,modules}; \
+ fi
+ ./help_xml2pm.pl
diff --git a/perl-install/install/help/help.pm b/perl-install/install/help/help.pm
new file mode 100644
index 000000000..dd30f1457
--- /dev/null
+++ b/perl-install/install/help/help.pm
@@ -0,0 +1,862 @@
+package install::help::help;
+use common;
+use utf8;
+
+push @::textdomains, 'DrakX-help';
+
+1;
+
+# IMPORTANT: Do not edit this File - It is automatically generated
+# from the manuals !!!
+# Write a mail to <documentation@mandriva.com> if
+# you want it changed.
+sub acceptLicense() {
+ N("Before continuing, you should carefully read the terms of the license. It
+covers the entire Mandriva Linux distribution. If you agree with all the
+terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"
+button will reboot your computer.", N("Accept"), N("Quit"));
+}
+sub addUser() {
+ N("GNU/Linux is a multi-user system which means each user can have his or her
+own preferences, own files and so on. But unlike \"root\", who is the
+system administrator, the users you add at this point will not be authorized
+to change anything except their own files and their own configurations,
+protecting the system from unintentional or malicious changes which could
+impact on the system as a whole. You'll have to create at least one regular
+user for yourself -- this is the account which you should use for routine,
+day-to-day usage. Although it's very easy to log in as \"root\" to do
+anything and everything, it may also be very dangerous! A very simple
+mistake could mean that your system will not work any more. If you make a
+serious mistake as a regular user, the worst that can happen is that you'll
+lose some information, but you will not affect the entire system.
+
+The first field asks you for a real name. Of course, this is not mandatory
+-- you can actually enter whatever you like. DrakX will use the first word
+you type in this field and copy it to the \"%s\" one, which is the name
+this user will enter to log onto the system. If you like, you may override
+the default and change the user name. The next step is to enter a password.
+From a security point of view, a non-privileged (regular) user password is
+not as crucial as the \"root\" password, but that's no reason to neglect it
+by making it blank or too simple: after all, your files could be the ones
+at risk.
+
+Once you click on \"%s\", you can add other users. Add a user for each one
+of your friends, your father, your sister, etc. Click \"%s\" when you're
+finished adding users.
+
+Clicking the \"%s\" button allows you to change the default \"shell\" for
+that user (bash by default).
+
+When you're finished adding users, you'll be asked to choose a user who
+will be automatically logged into the system when the computer boots up. If
+you're interested in that feature (and do not care much about local
+security), choose the desired user and window manager, then click on
+\"%s\". If you're not interested in this feature, uncheck the \"%s\" box.", N("User name"), N("Accept user"), N("Next"), N("Advanced"), N("Next"), N("Do you want to use this feature?"));
+}
+sub ask_mntpoint_s() {
+ N("Listed here are the existing Linux partitions detected on your hard drive.
+You can keep the choices made by the wizard, since they are good for most
+common installations. If you make any changes, you must at least define a
+root partition (\"/\"). Do not choose too small a partition or you will not
+be able to install enough software. If you want to store your data on a
+separate partition, you will also need to create a \"/home\" partition
+(only possible if you have more than one Linux partition available).
+
+Each partition is listed as follows: \"Name\", \"Capacity\".
+
+\"Name\" is structured: \"hard drive type\", \"hard drive number\",
+\"partition number\" (for example, \"hda1\").
+
+\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and
+\"sd\" if it is a SCSI hard drive.
+
+\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE
+hard drives:
+
+ * \"a\" means \"master hard drive on the primary IDE controller\";
+
+ * \"b\" means \"slave hard drive on the primary IDE controller\";
+
+ * \"c\" means \"master hard drive on the secondary IDE controller\";
+
+ * \"d\" means \"slave hard drive on the secondary IDE controller\".
+
+With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
+\"second lowest SCSI ID\", etc.");
+}
+sub chooseCd() {
+ N("The Mandriva Linux installation is distributed on several CD-ROMs. If a
+selected package is located on another CD-ROM, DrakX will eject the current
+CD and ask you to insert the required one. If you do not have the requested
+CD at hand, just click on \"%s\", the corresponding packages will not be
+installed.", N("Cancel"));
+}
+sub choosePackages() {
+ N("It's now time to specify which programs you wish to install on your system.
+There are thousands of packages available for Mandriva Linux, and to make it
+simpler to manage, they have been placed into groups of similar
+applications.
+
+Mandriva Linux sorts package groups in four categories. You can mix and
+match applications from the various categories, so a ``Workstation''
+installation can still have applications from the ``Server'' category
+installed.
+
+ * \"%s\": if you plan to use your machine as a workstation, select one or
+more of the groups in the workstation category.
+
+ * \"%s\": if you plan on using your machine for programming, select the
+appropriate groups from that category. The special \"LSB\" group will
+configure your system so that it complies as much as possible with the
+Linux Standard Base specifications.
+
+ Selecting the \"LSB\" group will also install the \"2.4\" kernel series,
+instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance
+of the system. However, if you do not select the \"LSB\" group you will
+still have a system which is nearly 100%% LSB-compliant.
+
+ * \"%s\": if your machine is intended to be a server, select which of the
+more common services you wish to install on your machine.
+
+ * \"%s\": this is where you will choose your preferred graphical
+environment. At least one must be selected if you want to have a graphical
+interface available.
+
+Moving the mouse cursor over a group name will display a short explanatory
+text about that group.
+
+You can check the \"%s\" box, which is useful if you're familiar with the
+packages being offered or if you want to have total control over what will
+be installed.
+
+If you start the installation in \"%s\" mode, you can deselect all groups
+and prevent the installation of any new packages. This is useful for
+repairing or updating an existing system.
+
+If you deselect all groups when performing a regular installation (as
+opposed to an upgrade), a dialog will pop up suggesting different options
+for a minimal installation:
+
+ * \"%s\": install the minimum number of packages possible to have a
+working graphical desktop.
+
+ * \"%s\": installs the base system plus basic utilities and their
+documentation. This installation is suitable for setting up a server.
+
+ * \"%s\": will install the absolute minimum number of packages necessary
+to get a working Linux system. With this installation you will only have a
+command-line interface. The total size of this installation is about 65
+megabytes.", N("Workstation"), N("Development"), N("Server"), N("Graphical Environment"), N("Individual package selection"), N("Upgrade"), N("With X"), N("With basic documentation"), N("Truly minimal install"));
+}
+sub choosePackagesTree() {
+ N("If you choose to install packages individually, the installer will present
+a tree containing all packages classified by groups and subgroups. While
+browsing the tree, you can select entire groups, subgroups, or individual
+packages.
+
+Whenever you select a package on the tree, a description will appear on the
+right to let you know the purpose of that package.
+
+!! If a server package has been selected, either because you specifically
+chose the individual package or because it was part of a group of packages,
+you'll be asked to confirm that you really want those servers to be
+installed. By default Mandriva Linux will automatically start any installed
+services at boot time. Even if they are safe and have no known issues at
+the time the distribution was shipped, it is entirely possible that
+security holes were discovered after this version of Mandriva Linux was
+finalized. If you do not know what a particular service is supposed to do or
+why it's being installed, then click \"%s\". Clicking \"%s\" will install
+the listed services and they will be started automatically at boot time. !!
+
+The \"%s\" option is used to disable the warning dialog which appears
+whenever the installer automatically selects a package to resolve a
+dependency issue. Some packages depend on others and the installation of
+one particular package may require the installation of another package. The
+installer can determine which packages are required to satisfy a dependency
+to successfully complete the installation.
+
+The tiny floppy disk icon at the bottom of the list allows you to load a
+package list created during a previous installation. This is useful if you
+have a number of machines that you wish to configure identically. Clicking
+on this icon will ask you to insert the floppy disk created at the end of
+another installation. See the second tip of the last step on how to create
+such a floppy.", N("No"), N("Yes"), N("Automatic dependencies"));
+}
+sub configureServices() {
+ N("This dialog is used to select which services you wish to start at boot
+time.
+
+DrakX will list all services available on the current installation. Review
+each one of them carefully and uncheck those which are not needed at boot
+time.
+
+A short explanatory text will be displayed about a service when it is
+selected. However, if you're not sure whether a service is useful or not,
+it is safer to leave the default behavior.
+
+!! At this stage, be very careful if you intend to use your machine as a
+server: you probably do not want to start any services which you do not need.
+Please remember that some services can be dangerous if they're enabled on a
+server. In general, select only those services you really need. !!");
+}
+sub configureTimezoneGMT() {
+ N("GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to
+local time according to the time zone you selected. If the clock on your
+motherboard is set to local time, you may deactivate this by unselecting
+\"%s\", which will let GNU/Linux know that the system clock and the
+hardware clock are in the same time zone. This is useful when the machine
+also hosts another operating system.
+
+The \"%s\" option will automatically regulate the system clock by
+connecting to a remote time server on the Internet. For this feature to
+work, you must have a working Internet connection. We recommend that you
+choose a time server located near you. This option actually installs a time
+server which can be used by other machines on your local network as well.", N("Hardware clock set to GMT"), N("Automatic time synchronization"));
+}
+sub configureX_card_list() {
+ N("Graphic Card
+
+ The installer will normally automatically detect and configure the
+graphic card installed on your machine. If this is not correct, you can
+choose from this list the card you actually have installed.
+
+ In the situation where different servers are available for your card,
+with or without 3D acceleration, you're asked to choose the server which
+best suits your needs.");
+}
+sub configureX_chooser() {
+ N("X (for X Window System) is the heart of the GNU/Linux graphical interface
+on which all the graphical environments (KDE, GNOME, AfterStep,
+WindowMaker, etc.) bundled with Mandriva Linux rely upon.
+
+You'll see a list of different parameters to change to get an optimal
+graphical display.
+
+Graphic Card
+
+ The installer will normally automatically detect and configure the
+graphic card installed on your machine. If this is not correct, you can
+choose from this list the card you actually have installed.
+
+ In the situation where different servers are available for your card,
+with or without 3D acceleration, you're asked to choose the server which
+best suits your needs.
+
+
+
+Monitor
+
+ Normally the installer will automatically detect and configure the
+monitor connected to your machine. If it is not correct, you can choose
+from this list the monitor which is connected to your computer.
+
+
+
+Resolution
+
+ Here you can choose the resolutions and color depths available for your
+graphics hardware. Choose the one which best suits your needs (you will be
+able to make changes after the installation). A sample of the chosen
+configuration is shown in the monitor picture.
+
+
+
+Test
+
+ Depending on your hardware, this entry might not appear.
+
+ The system will try to open a graphical screen at the desired
+resolution. If you see the test message during the test and answer \"%s\",
+then DrakX will proceed to the next step. If you do not see it, then it
+means that some part of the auto-detected configuration was incorrect and
+the test will automatically end after 12 seconds and return you to the
+menu. Change settings until you get a correct graphical display.
+
+
+
+Options
+
+ This steps allows you to choose whether you want your machine to
+automatically switch to a graphical interface at boot. Obviously, you may
+want to check \"%s\" if your machine is to act as a server, or if you were
+not successful in getting the display configured.", N("Yes"), N("No"));
+}
+sub configureX_monitor() {
+ N("Monitor
+
+ Normally the installer will automatically detect and configure the
+monitor connected to your machine. If it is not correct, you can choose
+from this list the monitor which is connected to your computer.");
+}
+sub configureX_resolution() {
+ N("Resolution
+
+ Here you can choose the resolutions and color depths available for your
+graphics hardware. Choose the one which best suits your needs (you will be
+able to make changes after the installation). A sample of the chosen
+configuration is shown in the monitor picture.");
+}
+sub configureX_xfree_and_glx() {
+ N("In the situation where different servers are available for your card, with
+or without 3D acceleration, you're asked to choose the server which best
+suits your needs.");
+}
+sub configureXxdm() {
+ N("Options
+
+ This steps allows you to choose whether you want your machine to
+automatically switch to a graphical interface at boot. Obviously, you may
+want to check \"%s\" if your machine is to act as a server, or if you were
+not successful in getting the display configured.", N("No"));
+}
+sub doPartitionDisks() {
+ N("You now need to decide where you want to install the Mandriva Linux
+operating system on your hard drive. If your hard drive is empty or if an
+existing operating system is using all the available space you will have to
+partition the drive. Basically, partitioning a hard drive means to
+logically divide it to create the space needed to install your new
+Mandriva Linux system.
+
+Because the process of partitioning a hard drive is usually irreversible
+and can lead to data losses, partitioning can be intimidating and stressful
+for the inexperienced user. Fortunately, DrakX includes a wizard which
+simplifies this process. Before continuing with this step, read through the
+rest of this section and above all, take your time.
+
+Depending on the configuration of your hard drive, several options are
+available:
+
+ * \"%s\". This option will perform an automatic partitioning of your blank
+drive(s). If you use this option there will be no further prompts.
+
+ * \"%s\". The wizard has detected one or more existing Linux partitions on
+your hard drive. If you want to use them, choose this option. You will then
+be asked to choose the mount points associated with each of the partitions.
+The legacy mount points are selected by default, and for the most part it's
+a good idea to keep them.
+
+ * \"%s\". If Microsoft Windows is installed on your hard drive and takes
+all the space available on it, you will have to create free space for
+GNU/Linux. To do so, you can delete your Microsoft Windows partition and
+data (see ``Erase entire disk'' solution) or resize your Microsoft Windows
+FAT or NTFS partition. Resizing can be performed without the loss of any
+data, provided you've previously defragmented the Windows partition.
+Backing up your data is strongly recommended. Using this option is
+recommended if you want to use both Mandriva Linux and Microsoft Windows on
+the same computer.
+
+ Before choosing this option, please understand that after this
+procedure, the size of your Microsoft Windows partition will be smaller
+than when you started. You'll have less free space under Microsoft Windows
+to store your data or to install new software.
+
+ * \"%s\". If you want to delete all data and all partitions present on
+your hard drive and replace them with your new Mandriva Linux system, choose
+this option. Be careful, because you will not be able to undo this operation
+after you confirm.
+
+ !! If you choose this option, all data on your disk will be deleted. !!
+
+ * \"%s\". This option appears when the hard drive is entirely taken by
+Microsoft Windows. Choosing this option will simply erase everything on the
+drive and begin fresh, partitioning everything from scratch.
+
+ !! If you choose this option, all data on your disk will be lost. !!
+
+ * \"%s\". Choose this option if you want to manually partition your hard
+drive. Be careful -- it is a powerful but dangerous choice and you can very
+easily lose all your data. That's why this option is really only
+recommended if you have done something like this before and have some
+experience. For more instructions on how to use the DiskDrake utility,
+refer to the ``Managing Your Partitions'' section in the ``Starter Guide''.", N("Use free space"), N("Use existing partition"), N("Use the free space on the Microsoft Windows® partition"), N("Erase entire disk"), N("Remove Microsoft Windows®"), N("Custom disk partitioning"));
+}
+sub exitInstall() {
+ N("There you are. Installation is now complete and your GNU/Linux system is
+ready to be used. Just click on \"%s\" to reboot the system. Do not forget
+to remove the installation media (CD-ROM or floppy). The first thing you
+should see after your computer has finished doing its hardware tests is the
+boot-loader menu, giving you the choice of which operating system to start.
+
+The \"%s\" button shows two more buttons to:
+
+ * \"%s\": enables you to create an installation floppy disk which will
+automatically perform a whole installation without the help of an operator,
+similar to the installation you've just configured.
+
+ Note that two different options are available after clicking on that
+button:
+
+ * \"%s\". This is a partially automated installation. The partitioning
+step is the only interactive procedure.
+
+ * \"%s\". Fully automated installation: the hard disk is completely
+rewritten, all data is lost.
+
+ This feature is very handy when installing on a number of similar
+machines. See the Auto install section on our web site for more
+information.
+
+ * \"%s\"(*): saves a list of the packages selected in this installation.
+To use this selection with another installation, insert the floppy and
+start the installation. At the prompt, press the [F1] key, type >>linux
+defcfg=\"floppy\"<< and press the [Enter] key.
+
+(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type
+\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat
+/dev/fd0\".", N("Reboot"), N("Advanced"), N("Generate auto-install floppy"), N("Replay"), N("Automated"), N("Save packages selection"));
+}
+sub formatPartitions() {
+ N("If you chose to reuse some legacy GNU/Linux partitions, you may wish to
+reformat some of them and erase any data they contain. To do so, please
+select those partitions as well.
+
+Please note that it's not necessary to reformat all pre-existing
+partitions. You must reformat the partitions containing the operating
+system (such as \"/\", \"/usr\" or \"/var\") but you do not have to reformat
+partitions containing data that you wish to keep (typically \"/home\").
+
+Please be careful when selecting partitions. After the formatting is
+completed, all data on the selected partitions will be deleted and you
+will not be able to recover it.
+
+Click on \"%s\" when you're ready to format the partitions.
+
+Click on \"%s\" if you want to choose another partition for your new
+Mandriva Linux operating system installation.
+
+Click on \"%s\" if you wish to select partitions which will be checked for
+bad blocks on the disk.", N("Next"), N("Previous"), N("Advanced"));
+}
+sub installUpdates() {
+ N("By the time you install Mandriva Linux, it's likely that some packages will
+have been updated since the initial release. Bugs may have been fixed,
+security issues resolved. To allow you to benefit from these updates,
+you're now able to download them from the Internet. Check \"%s\" if you
+have a working Internet connection, or \"%s\" if you prefer to install
+updated packages later.
+
+Choosing \"%s\" will display a list of web locations from which updates can
+be retrieved. You should choose one near to you. A package-selection tree
+will appear: review the selection, and press \"%s\" to retrieve and install
+the selected package(s), or \"%s\" to abort.", N("Yes"), N("No"), N("Yes"), N("Install"), N("Cancel"));
+}
+sub miscellaneous() {
+ N("At this point, DrakX will allow you to choose the security level you desire
+for your machine. As a rule of thumb, the security level should be set
+higher if the machine is to contain crucial data, or if it's to be directly
+exposed to the Internet. The trade-off that a higher security level is
+generally obtained at the expense of ease of use.
+
+If you do not know what to choose, keep the default option. You'll be able
+to change it later with the draksec tool, which is part of Mandriva Linux
+Control Center.
+
+Fill the \"%s\" field with the e-mail address of the person responsible for
+security. Security messages will be sent to that address.", N("Security Administrator"));
+}
+sub partition_with_diskdrake() {
+ N("At this point, you need to choose which partition(s) will be used for the
+installation of your Mandriva Linux system. If partitions have already been
+defined, either from a previous installation of GNU/Linux or by another
+partitioning tool, you can use existing partitions. Otherwise, hard drive
+partitions must be defined.
+
+To create partitions, you must first select a hard drive. You can select
+the disk for partitioning by clicking on ``hda'' for the first IDE drive,
+``hdb'' for the second, ``sda'' for the first SCSI drive and so on.
+
+To partition the selected hard drive, you can use these options:
+
+ * \"%s\": this option deletes all partitions on the selected hard drive
+
+ * \"%s\": this option enables you to automatically create ext3 and swap
+partitions in the free space of your hard drive
+
+\"%s\": gives access to additional features:
+
+ * \"%s\": saves the partition table to a floppy. Useful for later
+partition-table recovery if necessary. It is strongly recommended that you
+perform this step.
+
+ * \"%s\": allows you to restore a previously saved partition table from a
+floppy disk.
+
+ * \"%s\": if your partition table is damaged, you can try to recover it
+using this option. Please be careful and remember that it does not always
+work.
+
+ * \"%s\": discards all changes and reloads the partition table that was
+originally on the hard drive.
+
+ * \"%s\": un-checking this option will force users to manually mount and
+unmount removable media such as floppies and CD-ROMs.
+
+ * \"%s\": use this option if you wish to use a wizard to partition your
+hard drive. This is recommended if you do not have a good understanding of
+partitioning.
+
+ * \"%s\": use this option to cancel your changes.
+
+ * \"%s\": allows additional actions on partitions (type, options, format)
+and gives more information about the hard drive.
+
+ * \"%s\": when you are finished partitioning your hard drive, this will
+save your changes back to disk.
+
+When defining the size of a partition, you can finely set the partition
+size by using the Arrow keys of your keyboard.
+
+Note: you can reach any option using the keyboard. Navigate through the
+partitions using [Tab] and the [Up/Down] arrows.
+
+When a partition is selected, you can use:
+
+ * Ctrl-c to create a new partition (when an empty partition is selected)
+
+ * Ctrl-d to delete a partition
+
+ * Ctrl-m to set the mount point
+
+To get information about the different file system types available, please
+read the ext2FS chapter from the ``Reference Manual''.
+
+If you are installing on a PPC machine, you will want to create a small HFS
+``bootstrap'' partition of at least 1MB which will be used by the yaboot
+bootloader. If you opt to make the partition a bit larger, say 50MB, you
+may find it a useful place to store a spare kernel and ramdisk images for
+emergency boot situations.", N("Clear all"), N("Auto allocate"), N("More"), N("Save partition table"), N("Restore partition table"), N("Rescue partition table"), N("Reload partition table"), N("Removable media auto-mounting"), N("Wizard"), N("Undo"), N("Toggle between normal/expert mode"), N("Done"));
+}
+sub resizeFATChoose() {
+ N("More than one Microsoft partition has been detected on your hard drive.
+Please choose the one which you want to resize in order to install your new
+Mandriva Linux operating system.
+
+Each partition is listed as follows: \"Linux name\", \"Windows name\"
+\"Capacity\".
+
+\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",
+\"partition number\" (for example, \"hda1\").
+
+\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and
+\"sd\" if it is a SCSI hard drive.
+
+\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE
+hard drives:
+
+ * \"a\" means \"master hard drive on the primary IDE controller\";
+
+ * \"b\" means \"slave hard drive on the primary IDE controller\";
+
+ * \"c\" means \"master hard drive on the secondary IDE controller\";
+
+ * \"d\" means \"slave hard drive on the secondary IDE controller\".
+
+With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means
+\"second lowest SCSI ID\", etc.
+
+\"Windows name\" is the letter of your hard drive under Windows (the first
+disk or partition is called \"C:\").");
+}
+sub selectCountry() {
+ N("\"%s\": check the current country selection. If you're not in this country,
+click on the \"%s\" button and choose another. If your country is not in the
+list shown, click on the \"%s\" button to get the complete country list.", N("Country / Region"), N("Configure"), N("More"));
+}
+sub selectInstallClass() {
+ N("This step is activated only if an existing GNU/Linux partition has been
+found on your machine.
+
+DrakX now needs to know if you want to perform a new installation or an
+upgrade of an existing Mandriva Linux system:
+
+ * \"%s\". For the most part, this completely wipes out the old system.
+However, depending on your partitioning scheme, you can prevent some of
+your existing data (notably \"home\" directories) from being over-written.
+If you wish to change how your hard drives are partitioned, or to change
+the file system, you should use this option.
+
+ * \"%s\". This installation class allows you to update the packages
+currently installed on your Mandriva Linux system. Your current partitioning
+scheme and user data will not be altered. Most of the other configuration
+steps remain available and are similar to a standard installation.
+
+Using the ``Upgrade'' option should work fine on Mandriva Linux systems
+running version \"8.1\" or later. Performing an upgrade on versions prior
+to Mandriva Linux version \"8.1\" is not recommended.", N("Install"), N("Upgrade"));
+}
+sub selectKeyboard() {
+ N("Depending on the language you chose (), DrakX will automatically select a
+particular type of keyboard configuration. Check that the selection suits
+you or choose another keyboard layout.
+
+Also, you may not have a keyboard which corresponds exactly to your
+language: for example, if you are an English-speaking Swiss native, you may
+have a Swiss keyboard. Or if you speak English and are located in Quebec,
+you may find yourself in the same situation where your native language and
+country-set keyboard do not match. In either case, this installation step
+will allow you to select an appropriate keyboard from a list.
+
+Click on the \"%s\" button to be shown a list of supported keyboards.
+
+If you choose a keyboard layout based on a non-Latin alphabet, the next
+dialog will allow you to choose the key binding which will switch the
+keyboard between the Latin and non-Latin layouts.", N("More"));
+}
+sub selectLanguage() {
+ N("The first step is to choose your preferred language.
+
+Your choice of preferred language will affect the installer, the
+documentation, and the system in general. First select the region you're
+located in, then the language you speak.
+
+Clicking on the \"%s\" button will allow you to select other languages to
+be installed on your workstation, thereby installing the language-specific
+files for system documentation and applications. For example, if Spanish
+users are to use your machine, select English as the default language in
+the tree view and \"%s\" in the Advanced section.
+
+About UTF-8 (unicode) support: Unicode is a new character encoding meant to
+cover all existing languages. However full support for it in GNU/Linux is
+still under development. For that reason, Mandriva Linux's use of UTF-8 will
+depend on the user's choices:
+
+ * If you choose a language with a strong legacy encoding (latin1
+languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most
+iso-8859-2 languages), the legacy encoding will be used by default;
+
+ * Other languages will use unicode by default;
+
+ * If two or more languages are required, and those languages are not using
+the same encoding, then unicode will be used for the whole system;
+
+ * Finally, unicode can also be forced for use throughout the system at a
+user's request by selecting the \"%s\" option independently of which
+languages were been chosen.
+
+Note that you're not limited to choosing a single additional language. You
+may choose several, or even install them all by selecting the \"%s\" box.
+Selecting support for a language means translations, fonts, spell checkers,
+etc. will also be installed for that language.
+
+To switch between the various languages installed on your system, you can
+launch the \"localedrake\" command as \"root\" to change the language used
+by the entire system. Running the command as a regular user will only
+change the language settings for that particular user.", N("Advanced"), N("Espanol"), N("Use Unicode by default"), N("All languages"));
+}
+sub selectMouse() {
+ N("Usually, DrakX has no problems detecting the number of buttons on your
+mouse. If it does, it assumes you have a two-button mouse and will
+configure it for third-button emulation. The third-button mouse button of a
+two-button mouse can be obtained by simultaneously clicking the left and
+right mouse buttons. DrakX will automatically know whether your mouse uses
+a PS/2, serial or USB interface.
+
+If you have a 3-button mouse without a wheel, you can choose a \"%s\"
+mouse. DrakX will then configure your mouse so that you can simulate the
+wheel with it: to do so, press the middle button and move your mouse
+pointer up and down.
+
+If for some reason you wish to specify a different type of mouse, select it
+from the list provided.
+
+You can select the \"%s\" entry to chose a ``generic'' mouse type which
+will work with nearly all mice.
+
+If you choose a mouse other than the default one, a test screen will be
+displayed. Use the buttons and wheel to verify that the settings are
+correct and that the mouse is working correctly. If the mouse is not
+working well, press the space bar or [Return] key to cancel the test and
+you will be returned to the mouse list.
+
+Occasionally wheel mice are not detected automatically, so you will need to
+select your mouse from a list. Be sure to select the one corresponding to
+the port that your mouse is attached to. After selecting a mouse and
+pressing the \"%s\" button, a mouse image will be displayed on-screen.
+Scroll the mouse wheel to ensure that it is activating correctly. As you
+scroll your mouse wheel, you will see the on-screen scroll wheel moving.
+Test the buttons and check that the mouse pointer moves on-screen as you
+move your mouse about.", N("with Wheel emulation"), N("Universal | Any PS/2 & USB mice"), N("Next"));
+}
+sub selectSerialPort() {
+ N("Please select the correct port. For example, the \"COM1\" port under
+Windows is named \"ttyS0\" under GNU/Linux.");
+}
+sub setRootPassword() {
+ N("This is the most crucial decision point for the security of your GNU/Linux
+system: you must enter the \"root\" password. \"Root\" is the system
+administrator and is the only user authorized to make updates, add users,
+change the overall system configuration, and so on. In short, \"root\" can
+do everything! That's why you must choose a password which is difficult to
+guess: DrakX will tell you if the password you chose is too simple. As you
+can see, you're not forced to enter a password, but we strongly advise
+against this. GNU/Linux is just as prone to operator error as any other
+operating system. Since \"root\" can overcome all limitations and
+unintentionally erase all data on partitions by carelessly accessing the
+partitions themselves, it is important that it be difficult to become
+\"root\".
+
+The password should be a mixture of alphanumeric characters and at least 8
+characters long. Never write down the \"root\" password -- it makes it far
+too easy to compromise your system.
+
+One caveat: do not make the password too long or too complicated because you
+must be able to remember it!
+
+The password will not be displayed on screen as you type it. To reduce the
+chance of a blind typing error you'll need to enter the password twice. If
+you do happen to make the same typing error twice, you'll have to use this
+``incorrect'' password the first time you'll try to connect as \"root\".
+
+If you want an authentication server to control access to your computer,
+click on the \"%s\" button.
+
+If your network uses either LDAP, NIS, or PDC Windows Domain authentication
+services, select the appropriate one for \"%s\". If you do not know which
+one to use, you should ask your network administrator.
+
+If you happen to have problems with remembering passwords, or if your
+computer will never be connected to the Internet and you absolutely trust
+everybody who uses your computer, you can choose to have \"%s\".", N("Advanced"), N("authentication"), N("No password"));
+}
+sub setupBootloaderBeginner() {
+ N("A boot loader is a little program which is started by the computer at boot
+time. It's responsible for starting up the whole system. Normally, the boot
+loader installation is totally automated. DrakX will analyze the disk boot
+sector and act according to what it finds there:
+
+ * if a Windows boot sector is found, it will replace it with a GRUB/LILO
+boot sector. This way you'll be able to load either GNU/Linux or any other
+OS installed on your machine.
+
+ * if a GRUB or LILO boot sector is found, it'll replace it with a new one.
+
+If DrakX can not determine where to place the boot sector, it'll ask you
+where it should place it. Generally, the \"%s\" is the safest place.
+Choosing \"%s\" will not install any boot loader. Use this option only if you
+know what you're doing.", N("First sector of drive (MBR)"), N("Skip"));
+}
+sub setupDefaultSpooler() {
+ N("Now, it's time to select a printing system for your computer. Other
+operating systems may offer you one, but Mandriva Linux offers two. Each of
+the printing systems is best suited to particular types of configuration.
+
+ * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice
+if you have a direct connection to your printer, you want to be able to
+panic out of printer jams, and you do not have networked printers. (\"%s\"
+will handle only very simple network cases and is somewhat slow when used
+within networks.) It's recommended that you use \"pdq\" if this is your
+first experience with GNU/Linux.
+
+ * \"%s\" stands for `` Common Unix Printing System'' and is an excellent
+choice for printing to your local printer or to one halfway around the
+planet. It's simple to configure and can act as a server or a client for
+the ancient \"lpd\" printing system, so it's compatible with older
+operating systems which may still need print services. While quite
+powerful, the basic setup is almost as easy as \"pdq\". If you need to
+emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.
+\"%s\" includes graphical front-ends for printing or choosing printer
+options and for managing the printer.
+
+If you make a choice now, and later find that you do not like your printing
+system you may change it by running PrinterDrake from the Mandriva Linux
+Control Center and clicking on the \"%s\" button.", N("pdq"), N("pdq"), N("CUPS"), N("CUPS"), N("Expert"));
+}
+sub setupSCSI() {
+ N("DrakX will first detect any IDE devices present in your computer. It will
+also scan for one or more PCI SCSI cards on your system. If a SCSI card is
+found, DrakX will automatically install the appropriate driver.
+
+Because hardware detection is not foolproof, DrakX may fail in detecting
+your hard drives. If so, you'll have to specify your hardware by hand.
+
+If you had to manually specify your PCI SCSI adapter, DrakX will ask if you
+want to configure options for it. You should allow DrakX to probe the
+hardware for the card-specific options which are needed to initialize the
+adapter. Most of the time, DrakX will get through this step without any
+issues.
+
+If DrakX is not able to probe for the options to automatically determine
+which parameters need to be passed to the hardware, you'll need to manually
+configure the driver.");
+}
+sub sound_config() {
+ N("\"%s\": if a sound card is detected on your system, it'll be displayed
+here. If you notice the sound card is not the one actually present on your
+system, you can click on the button and choose a different driver.", N("Sound card"));
+}
+sub summary() {
+ N("As a review, DrakX will present a summary of information it has gathered
+about your system. Depending on the hardware installed on your machine, you
+may have some or all of the following entries. Each entry is made up of the
+hardware item to be configured, followed by a quick summary of the current
+configuration. Click on the corresponding \"%s\" button to make the change.
+
+ * \"%s\": check the current keyboard map configuration and change it if
+necessary.
+
+ * \"%s\": check the current country selection. If you're not in this
+country, click on the \"%s\" button and choose another. If your country
+is not in the list shown, click on the \"%s\" button to get the complete
+country list.
+
+ * \"%s\": by default, DrakX deduces your time zone based on the country
+you have chosen. You can click on the \"%s\" button here if this is not
+correct.
+
+ * \"%s\": verify the current mouse configuration and click on the button
+to change it if necessary.
+
+ * \"%s\": if a sound card is detected on your system, it'll be displayed
+here. If you notice the sound card is not the one actually present on your
+system, you can click on the button and choose a different driver.
+
+ * \"%s\": if you have a TV card, this is where information about its
+configuration will be displayed. If you have a TV card and it is not
+detected, click on \"%s\" to try to configure it manually.
+
+ * \"%s\": you can click on \"%s\" to change the parameters associated with
+the card if you feel the configuration is wrong.
+
+ * \"%s\": by default, DrakX configures your graphical interface in
+\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on
+\"%s\" to reconfigure your graphical interface.
+
+ * \"%s\": if you wish to configure your Internet or local network access,
+you can do so now. Refer to the printed documentation or use the
+Mandriva Linux Control Center after the installation has finished to benefit
+from full in-line help.
+
+ * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine
+you're installing on is to be located behind a proxy server.
+
+ * \"%s\": this entry allows you to redefine the security level as set in a
+previous step ().
+
+ * \"%s\": if you plan to connect your machine to the Internet, it's a good
+idea to protect yourself from intrusions by setting up a firewall. Consult
+the corresponding section of the ``Starter Guide'' for details about
+firewall settings.
+
+ * \"%s\": if you wish to change your bootloader configuration, click this
+button. This should be reserved to advanced users. Refer to the printed
+documentation or the in-line help about bootloader configuration in the
+Mandriva Linux Control Center.
+
+ * \"%s\": through this entry you can fine tune which services will be run
+on your machine. If you plan to use this machine as a server it's a good
+idea to review this setup.", N("Configure"), N("Keyboard"), N("Country / Region"), N("Configure"), N("More"), N("Timezone"), N("Configure"), N("Mouse"), N("Sound card"), N("TV card"), N("Configure"), N("ISDN card"), N("Configure"), N("Graphical Interface"), N("Configure"), N("Network"), N("Proxies"), N("Security Level"), N("Firewall"), N("Bootloader"), N("Services"));
+}
+sub takeOverHdChoose() {
+ N("Choose the hard drive you want to erase in order to install your new
+Mandriva Linux partition. Be careful, all data on this drive will be lost
+and will not be recoverable!");
+}
+sub takeOverHdConfirm() {
+ N("Click on \"%s\" if you want to delete all data and partitions present on
+this hard drive. Be careful, after clicking on \"%s\", you will not be able
+to recover any data and partitions present on this hard drive, including
+any Windows data.
+
+Click on \"%s\" to quit this operation without losing data and partitions
+present on this hard drive.", N("Next ->"), N("Next ->"), N("<- Previous"));
+}
diff --git a/perl-install/install/help/help_xml2pm.pl b/perl-install/install/help/help_xml2pm.pl
new file mode 100755
index 000000000..742bd9b78
--- /dev/null
+++ b/perl-install/install/help/help_xml2pm.pl
@@ -0,0 +1,326 @@
+#!/usr/bin/perl -w
+
+use XML::Parser;
+use MDK::Common;
+use utf8;
+
+my $dir = "doc/manualB/modules";
+my $xsltproc = "/usr/bin/xsltproc";
+
+if ( ! -x "$xsltproc" ){
+ print "You need to have \"$xsltproc\" - ";
+ print "so type \"urpmi libxslt-proc\" please.\n";
+ exit 1;
+}
+
+my %helps = map {
+ my $lang = $_;
+ my @l = grep { !/drakx-MNF-chapter/ } map { /(drakx-.*).xml$/ } all("$dir/$lang");
+ if (@l < 20) { () } else {
+ my $template_file = "$dir/$lang/drakx.xml";
+ my $file = "$dir/$lang/drakx_full.xml";
+ output($template_file, template($lang, @l));
+ system("$xsltproc id.xsl $template_file > $file") == 0 or die "$xsltproc id.xsl $template_file failed\n";
+
+ warn "parsing $file\n";
+ my $p = new XML::Parser(Style => 'Tree');
+ my $tree = $p->parsefile($file);
+
+ $lang => rewrite2(rewrite1(@$tree), $lang);
+ }
+} all($dir);
+
+my $base = delete $helps{en} || die;
+save_help($base);
+
+foreach my $lang (keys %helps) {
+ (my $rlang = $lang) =~ s/_(.*)/_\U$1/;
+ print "Now transforming: $lang\n";
+ open(my $F, ">:encoding(utf8)", "po/$rlang.po");
+ print $F <<EOF;
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\\n"
+
+EOF
+ foreach my $id (keys %{$helps{$lang}}) {
+# warn "Writing id=$id in lang=$lang\n";
+ $base->{$id} or warn "$lang:$id doesn't exist in english\n", next;
+ print $F qq(# DO NOT BOTHER TO MODIFY HERE, SEE:\n# cvs.mandriva.com:/cooker/$dir/$lang/drakx-chapter.xml\n);
+ print_in_PO($F, $base->{$id}[0], $helps{$lang}{$id}[0]);
+ }
+}
+unlink(".memdump");
+
+sub print_in_PO {
+ my ($F, $msgid, $msgstr) = @_;
+
+ print $F qq(msgid ""\n");
+ print $F join(qq(\\n"\n"), split "\n", $msgid);
+ print $F qq("\nmsgstr ""\n");
+ print $F join(qq(\\n"\n"), split "\n", $msgstr);
+ print $F qq("\n\n);
+}
+
+sub save_help {
+ my ($help, $inside_strings) = @_;
+
+ open(my $F, ">:encoding(utf8)", "help.pm");
+ print $F <<'EOF';
+package install::help::help;
+use common;
+use utf8;
+
+push @::textdomains, 'DrakX-help';
+
+1;
+
+# IMPORTANT: Do not edit this File - It is automatically generated
+# from the manuals !!!
+# Write a mail to <documentation@mandriva.com> if
+# you want it changed.
+EOF
+ foreach (sort keys %$help) {
+ my ($main, @inside) = map { qq("$_") } @{$help->{$_}};
+ my $s = join(', ', $main, map { qq(N($_)) } @inside);
+ print STDERR "Writing id=$_\n";
+ print $F <<EOF;
+sub $_() {
+ N($s);
+}
+EOF
+ my @nb = $main =~ /\%s/g; @nb == @inside or die "help.pm error: bad \%s in sub $_\n";
+ }
+}
+
+# i don't like the default tree format given by XML::Parser,
+# rewrite it in my own tree format
+sub rewrite1 {
+ my ($tag, $tree) = @_;
+ my ($attr, @nodes) = @$tree;
+ my @l;
+ while (@nodes) {
+ my ($tag, $tree) = splice(@nodes, 0, 2);
+ if ($tag eq '0') {
+ foreach ($tree) {
+ s/\s+/ /gs;
+ s/"/\\"/g;
+ s/\x{ad}//g;
+ s/\x{2013}/-/g;
+ }
+ push @l, $tree
+ } elsif ($tag eq 'screen') {
+ $tree->[1] eq '0' or die "screen tag contains non CDATA\n";
+ push @l, $tree->[2];
+ } else {
+ push @l, rewrite1($tag, $tree);
+ }
+ }
+ { attr => $attr, tag => lc $tag, children => \@l };
+}
+
+# return the list of nodes named $tag
+sub find_tag {
+ my ($tag, $tree) = @_;
+ if (!ref($tree)) {
+ ();
+ } elsif ($tree->{tag} eq $tag) {
+ $tree;
+ } else {
+ map { find_tag($tag, $_) } @{$tree->{children}};
+ }
+}
+
+my $help;
+sub rewrite2 {
+ my ($tree, $lang) = @_;
+ our $i18ned_open_text_quote = $ {{
+ fr => "« ",
+ de => "„",
+ es => "\\\"",
+ it => "\\\"",
+ zh_cn => "“"
+ }}{$lang};
+ our $i18ned_close_text_quote = $ {{
+ fr => " »",
+ de => "“",
+ es => "\\\"",
+ it => "\\\"",
+ zh_cn => "”"
+ }}{$lang};
+ our $i18ned_open_label_quote = $ {{ fr => "« ", de => "„", zh_cn => "“"}}{$lang};
+ our $i18ned_close_label_quote = $ {{ fr => " »", de => "“", zh_cn => "”"}}{$lang};
+ our $i18ned_open_command_quote = $ {{ fr => "« ", de => "„", zh_cn => "“"}}{$lang};
+ our $i18ned_close_command_quote = $ {{ fr => " »", de => "“", zh_cn => "”"}}{$lang};
+ our $i18ned_open_input_quote = $ {{ fr => "« ", de => "»", zh_cn => "“"}}{$lang};
+ our $i18ned_close_input_quote = $ {{ fr => " »", de => "«", zh_cn => "”"}}{$lang};
+ our $i18ned_open_key_quote = $ {{ de => "["}}{$lang};
+ our $i18ned_close_key_quote = $ {{ de => "]"}}{$lang};
+ # rewrite2_ fills in $help
+ $help = {};
+ rewrite2_($tree);
+ $help;
+}
+
+sub rewrite2_ {
+ my ($tree, @parents) = @_;
+ ref($tree) or return $tree;
+ !$tree->{attr}{condition} || $tree->{attr}{condition} !~ /no-inline-help/ or return '';
+
+ my ($id) = $tree->{attr}{id} ? $tree->{attr}{id} =~ /drakxid-([^-]+)$/ : ();
+
+ my @inside_strings;
+ my $text = do {
+ my @l = map {
+ my ($s, @l) = rewrite2_($_, $tree, @parents);
+ push @inside_strings, @l;
+ $s;
+ } @{$tree->{children}};
+ my $text = "";
+ foreach (@l) {
+ s/^ // if $text =~ /\s$/;
+ $text =~ s/ $// if /^\s/;
+ $text =~ s/\n+$// if /^\n/;
+ $text .= $_;
+ }
+ $text;
+ };
+
+ if ($id) {
+ my $t = $text;
+ $t =~ s/^\s+//;
+
+ my @footnotes = map {
+ my ($s, @l) = rewrite2_({ %$_, tag => 'para' });
+ push @inside_strings, @l;
+ $s =~ s/^\s+//;
+ "(*) $s";
+ } find_tag('footnote', $tree);
+ $help->{$id} = [ aerate($t . join('', @footnotes)), @inside_strings ];
+ return '';
+ }
+
+ my $text_ = do {
+ if (0) {
+ } elsif (member($tree->{tag}, 'formalpara', 'para', 'itemizedlist', 'orderedlist')) {
+ $text =~ s/^\s(?!\s)//;
+ $text =~ s/^( ?\n)+//;
+ $text =~ s/\s+$//;
+ qq(\n$text\n);
+ } elsif (member($tree->{tag}, 'quote', 'citetitle', 'foreignphrase')) {
+ $text =~ s/^\Q$i18ned_open_label_quote\E(.*)\Q$i18ned_close_label_quote\E$/$1/ if $i18ned_open_label_quote;
+ ($i18ned_open_text_quote || "``") . $text . ($i18ned_close_text_quote || "''");
+ } elsif (member($tree->{tag}, 'literal', 'filename')) {
+ ($i18ned_open_label_quote || "\\\"") . $text . ($i18ned_close_label_quote || "\\\"");
+ } elsif (member($tree->{tag}, 'guilabel', 'guibutton', 'guimenu')) {
+ $text =~ s/\s+$//;
+ push @inside_strings, $text;
+ ($i18ned_open_label_quote || "\\\"") . "%s" . ($i18ned_close_label_quote || "\\\"");
+ } elsif ($tree->{tag} eq 'command') {
+ ($i18ned_open_command_quote || "\\\"") . $text . ($i18ned_close_command_quote || "\\\"");
+ } elsif ($tree->{tag} eq 'userinput') {
+ ($i18ned_open_input_quote || ">>") . $text . ($i18ned_close_input_quote || "<<");
+ } elsif ($tree->{tag} eq 'keycap') {
+ ($i18ned_open_key_quote || "[") . $text . ($i18ned_close_key_quote || "]");
+ } elsif (member($tree->{tag}, 'keysym')) {
+ qq($text);
+ } elsif (member($tree->{tag}, 'footnote')) {
+ '(*)'
+ } elsif ($tree->{tag} eq 'warning') {
+ $text =~ s/^(\s+)/$1!! /;
+ $text =~ s/(\s+)$/ !!$1/;
+ $text;
+ } elsif ($tree->{tag} eq 'listitem') {
+ my $cnt = (any { $_->{tag} eq 'variablelist' } @parents) ? 1 : 0;
+ $text =~ s/^\s+//;
+ $text =~ s/^/' ' . ($cnt++ ? ' ' : '* ')/emg;
+ "\n$text\n";
+ } elsif (member($tree->{tag},
+ 'acronym', 'application', 'emphasis',
+ 'keycombo', 'note', 'sect1', 'sect2', 'sect3',
+ 'superscript', 'systemitem', 'option',
+ 'tip', 'ulink', 'xref', 'varlistentry', 'variablelist', 'term',
+ 'phrase', 'hardware', 'procedure', 'step', 'bridgehead',
+ )) {
+ # ignored tags
+ $text;
+ } elsif (member($tree->{tag},
+ qw(title article primary secondary indexterm revnumber
+ date authorinitials revision revhistory revremark chapterinfo
+ imagedata imageobject mediaobject figure
+ abstract book chapter)
+ )) {
+ # dropped tags
+ @inside_strings = ();
+ '';
+ } elsif ($tree->{tag} eq 'screen') {
+ qq(\n$text\n);
+ } else {
+ warn "unknown tag $tree->{tag}\n";
+ }
+ };
+ $text_, @inside_strings;
+}
+
+sub aerate {
+ my ($s) = @_;
+ #- the warp_text column is adjusted so that xgettext do not wrap text around
+ #- which cause msgmerge to add a lot of fuzzy
+ my $s2 = join("\n\n", map { join("\n", warp_text($_, 75)) } split "\n", $s);
+ $s2;
+}
+
+sub template {
+ my ($lang, @l) = @_;
+ my $entities = join("\n", map { qq(<!ENTITY $_ SYSTEM '$_.xml'>) } @l);
+ my $body = join("\n", map { '&' . $_ . ';' } @l);
+
+ <<EOF;
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+"/usr/share/sgml/docbook/xml-dtd-4.1.2/docbookx.dtd"[
+
+$entities
+
+<!ENTITY % params.ent SYSTEM "../../manuals/Starter/$lang/params.ent">
+%params.ent;
+<!ENTITY % strings.ent SYSTEM "../../manuals/Starter/$lang/strings.ent">
+%strings.ent;
+
+<!ENTITY step-only-for-expert "">
+
+<!ENTITY % acronym-list SYSTEM "../../entities/$lang/acronym_list.ent" >
+%acronym-list;
+<!ENTITY % button-list SYSTEM "../../entities/$lang/button_list.ent" >
+%button-list;
+<!ENTITY % companies SYSTEM "../../entities/$lang/companies.ent" >
+%companies;
+<!ENTITY % menu-list SYSTEM "../../entities/$lang/menu_list.ent" >
+%menu-list;
+<!ENTITY % tech SYSTEM "../../entities/$lang/tech.ent" >
+%tech;
+<!ENTITY % titles SYSTEM "../../entities/$lang/titles.ent" >
+%titles;
+<!ENTITY % typo SYSTEM "../../entities/$lang/typo.ent" >
+%typo;
+<!ENTITY % common SYSTEM "../../entities/common.ent" >
+%common;
+<!ENTITY % common-acronyms SYSTEM "../../entities/common_acronyms.ent" >
+%common-acronyms;
+<!ENTITY % prog-list SYSTEM "../../entities/prog_list.ent" >
+%prog-list;
+
+<!ENTITY lang '$lang'>
+
+]>
+
+<book>
+ <title>DrakX Documentation</title>
+
+$body
+
+</book>
+EOF
+
+}
diff --git a/perl-install/install/help/id.xsl b/perl-install/install/help/id.xsl
new file mode 100644
index 000000000..4897a204f
--- /dev/null
+++ b/perl-install/install/help/id.xsl
@@ -0,0 +1,5 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+ <xsl:copy-of select="."/>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/perl-install/install/help/po/DrakX-help.pot b/perl-install/install/help/po/DrakX-help.pot
new file mode 100644
index 000000000..3b1f3f647
--- /dev/null
+++ b/perl-install/install/help/po/DrakX-help.pot
@@ -0,0 +1,1109 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr ""
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr ""
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr ""
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr ""
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr ""
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr ""
diff --git a/perl-install/install/help/po/Makefile b/perl-install/install/help/po/Makefile
new file mode 100644
index 000000000..457a7cbae
--- /dev/null
+++ b/perl-install/install/help/po/Makefile
@@ -0,0 +1,35 @@
+NAME = DrakX-help
+LOCALEDIR = ${prefix}/share/locale
+PL_FILES = ../help.pm
+
+MAIN_PO_FILES = ../../../share/po/libDrakX.pot ../../share/po/DrakX.pot
+
+POFILES = $(wildcard *.po)
+MOFILES = $(POFILES:%.po=%.mo)
+LANGS = $(POFILES:%.po=%)
+
+default: $(MOFILES)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+merge: $(NAME).pot
+ for n in $(POFILES); do \
+ echo "Merging $$n"; \
+ msgmerge $$n $(NAME).pot > "$$n"t ; \
+ mv -f "$$n"t $$n ; \
+ done
+
+$(NAME).pot: $(PL_FILES)
+ perl_checker -q --generate-pot .$@ $(PL_FILES)
+ xgettext $(MAIN_PO_FILES:%=-x %) -o $@ .$@
+ rm -f .$@
+
+install: $(MOFILES)
+ for l in $(LANGS); do \
+ install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ done
+
+clean:
+ @rm -rf *.mo $(POFILES:%=%t)
diff --git a/perl-install/install/help/po/af.po b/perl-install/install/help/po/af.po
new file mode 100644
index 000000000..828c570a4
--- /dev/null
+++ b/perl-install/install/help/po/af.po
@@ -0,0 +1,1839 @@
+# translation of DrakX-af21-09.po to Afrikaans
+# translation of DrakX-af.po to Afrikaans
+# KTranslator Generated File
+# KTranslator Generated File
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Schalk W. Cronjé <schalkc@ntaba.co.za>, 2000.
+# Dirk van der Walt <mandrake@webmail.co.za>, 2003.
+# Dirk van der Walt <dirkvanderwalt@webmail.co.za>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-af\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-04-21 17:33+0200\n"
+"Last-Translator: Dirk van der Walt <dirkvanderwalt@webmail.co.za>\n"
+"Language-Team: Afrikaans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Voordat u voortgaan, lees asb die lisensieterme noukeurig deur. Dit dek\n"
+"die hele Mandriva Linux distribusie. Indien u saamstem met al die\n"
+"voorwaardes daarin, merk die \"%s\" boksie. Indien nie, kan u op die\n"
+"\"%s\" knoppie druk om teherlaai."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux is 'n multigebruikerstelsel, dit beteken dat elke gebruiker sy\n"
+"eie voorkeure kan stel, met sy eie lêers ens. U kan meer hieroor in die\n"
+"\"Starter Guide\" lees. Andersins as 'root' (die supergebruiker) kan\n"
+"gebruikers wat u hier byvoeg niks behalwe hul eie lêers en eie\n"
+"konfigurasie verander nie. U moet ten minste een gewone gebruiker vir uself\n"
+"skep.\n"
+"Hierdie gebruker is die een waaronder u moet inteken vir normale gebruik\n"
+"van die rekenaar. Alhoewel dit baie gemaklik is om as 'root' in te teken "
+"vir\n"
+"daaglikse werk, is dit baie gevaarlik. 'n Eenvoudige fout kan moontlik u\n"
+"stelsel\n"
+"breek. 'n Fout wat as gewone gebruiker gemaak word, sal net daardie\n"
+"gebruiker\n"
+"beïnvloed en nie hele stelsel nie.\n"
+"\n"
+"Eers moet u, u eie naam intik. Dit is nie verpligtend nie, want u kan\n"
+"eintlik\n"
+"enigiets intik, as u wil. DrakX sal dan die eerste woord wat u ingetik het,\n"
+"in die\n"
+"\"%s\" veld plaas. U kan hier verander indien u wil. Dit is die\n"
+"gebruikernaam waarmee\n"
+"die gebruiker op die rekenaar sal aanteken. U moet dan ook 'n wagwoord\n"
+"voorsien.\n"
+"'n Gewone gebruiker se wagwoord is nie so krities soos dié van die\n"
+"supergebruiker\n"
+"(uit 'n sekuriteitsoogpunt) nie, maar daar is geen\n"
+"rede om agterlosig met u data te wees nie.\n"
+"\n"
+"\n"
+"Indien u op \"%s\" kliek sal die gebruiker geskep word en kan u nog\n"
+"gebruikers byvoeg.\n"
+"U kan vir al u vriende gebruikername skep, sommer een vir pa en ma ook. \n"
+"Sodra u klaar is, kliek op \"%s\".\n"
+"Kliek op die \"%s\" knoppie indien u die verstek-instruksiedop vir die\n"
+"gebruiker\n"
+"wil verander.\n"
+"Dit is bash by verstek.\n"
+"\n"
+"Sodra u klaar is met die skep van gebruikers, sal u gevra word om 'n\n"
+"gebruiker\n"
+"te kies wie outomaties sal inteken sodra Linux klaar selfgelaai het. Indien\n"
+"u hierdie funksie wil gebruik (en plaaslike sekuriteit tans nie vreeslik\n"
+"belangrik is nie), kies asseblief die verlangde gebruiker en venstermaker,\n"
+"klik dan op \"%s\".\n"
+"Indien u NIE hierdie funksie wil gebruik nie, sorg dat \"%s\" NIE gemerk is\n"
+"nie. "
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Wil u hierdie funksie gebruik?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hier is 'n lys van die bestaande Linux partisies wat opgespoor is.\n"
+"U kan die assistent se keuses behou, hulle is gewoonlik geskik vir die\n"
+"meeste installasies. Sou u wil verander, moet u ten minste 'n wortel-\n"
+"partisie (\"/\") voorsien. Dit moet nie te klein wees nie, anders kan ons \n"
+"nie genog sagteware installeer nie. Indien u die data op 'n aparte \n"
+"partisie wil stoor, moet u ook 'n \"/home\"-partisie skep.\n"
+"(waarvoor u meer as een Linux partisie nodig het).\n"
+"\n"
+"Elke partisie word as volg gelys: \"Naam\", \"Kapasiteit\".\n"
+"\n"
+"\"Naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
+"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
+"\n"
+"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
+"\"sd\" wees\n"
+"\n"
+"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" \n"
+"of \"sd\".\n"
+"Met IDE hardeskywe:\n"
+"\n"
+" * \"a\" beteken \"meester-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"b\" beteken \"slaaf-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"c\" beteken \"meester-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+" * \"e\" beteken \"slaaf-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
+"dan die volgende ID verteenwoordig ens."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Die Mandriva Linux installasie is versprei oor 'n aantal CD-ROMs.DrakX\n"
+"weet wanneer 'n gekose pakket op 'n ander CD-ROM is. DrakX sal in so\n"
+"geval die huidige CD uitskop en aandui watter een benodig word."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nou moet u spesifiseer watter programme u op die rekenaar wil\n"
+"installeer. Daar is duisende pakkette beskikbaar vir Mandriva Linux, en\n"
+"om alles meer eenvoudig te maak, is die pakkette gegroepeer onder\n"
+"groepe van selfde tipe programme.\n"
+"\n"
+"Die groepe is so saamgestel dat dit saamval met die tipe gebruik van u\n"
+"rekenaar. Mandriva Linux het vier vooraf gespesifseerde installasies\n"
+"beskikbaar. Dink aan hierdie tipes as houers met verskillende pakkette.\n"
+"U kan wel uit die verskillende houers, verskillende pakkette kies.\n"
+"Dus kan u \"Werkstasie\" ook programme uit die \"Ontwikkeling\"\n"
+"bevat.\n"
+"( Amper soos die \"pick 'n mix\" by 'n Clicks of 'n winkel van u keuse! )\n"
+"\n"
+" * \"%s\": indien u die rekenaar as 'n werkstasie wil gebruik, kies een of\n"
+"meer hieruit.\n"
+"\n"
+" * \"%s\": indien u ontwikkelling op die masjien wil doen, kan u hier\n"
+"kies en keur.\n"
+"\n"
+" * \"%s\": mense wat 'n bediener wil opstel, hier is vir julle keuses.\n"
+"\n"
+" * \"%s\": Grafiese-omgewings. Indien u 'n grafiese omgewing wil\n"
+"gebruik, moet u ten minste een hier kies.\n"
+"\n"
+"Beweeg u muis stadig oor elke groep om meer inligting daaroor te bekom.\n"
+"Indien u NIKS kies nie gedurende 'n normale installasie, sal 'n venster\n"
+"opspring met verskillende keuses vir hierdie minimale installasie:\n"
+"\n"
+" * \"%s\": installeer die minimale programme vir 'n werkende grafiese\n"
+"werksomgewing.\n"
+"\n"
+" * \"%s\": installeer 'n basiese stelsel met basiese nutsporgramme en hul\n"
+"dokumentasie. Dit is geskik om 'n bediener op te stel.\n"
+"\n"
+" * \"%s\": sal 'n absolute minimale installasie doen, sodat u bloot 'n\n"
+"werkende Linux rekenaar het. Die grootte sal so 65 megagrepe wees.\n"
+"\n"
+"U kan die \"%s\" blokkie merk, dit is handig indien u vertroud is met al\n"
+"die beskikbare pakette, en u meer beheer verlang.\n"
+"\n"
+"Indien u die installasie in \"%s\"-modus begin het, kan u NIKS kies nie\n"
+"om te verhoed dat nuwe pakette installeer. Baie handig wanneer u 'n\n"
+"bestaande stelsel opdateeer, of herstel."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opgradeer"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Met basiese dokumentasie"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Werklike minimale installasie"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Inidein u gespesifiseer het dat u individuele pakkette wil kies,\n"
+"sal daar 'n boom-struktuur aan u vertoon word met al die pakkette\n"
+"wat opgedeel is in groepe en sub-groepe. Soos u die deur hulle rits\n"
+"kan u hele groepe of sub-groepe kies, of self individuele pakkette.\n"
+"\n"
+"Sodra u 'n pakket kies, sal daar 'n beskrywing aan die regterkant verskyn\n"
+"wat aandui waarvoor die pakket gebruik word.\n"
+"\n"
+"Indien u 'n diensprogram kies, of dit nou deel is van 'n groepe pakkette of\n"
+"'n enkel een, sal u gevra word om die installasie daarvan te bevestig.\n"
+"Mandriva Linux sal by verstek alle bediener-programme afskop nadat u die\n"
+"rekenaar aangeskakel het. Hierdie bediener-programme is verpak sonder\n"
+"enige probleme bekend. Dit kon intussen verander het, nadat sekuriteits-"
+"gate\n"
+"gevind is. Indien u nie weet wat 'n diens veronderstel is om te doen nie, "
+"of\n"
+"waarom dit geïnstalleer word nie, klik op \"%s\". Deur op \"%s\" te klik "
+"sal\n"
+"die bediener-program geïnstalleer word en afskop sodra die Linux laai!!\n"
+"\n"
+"Die \"%s\"-opsie VERSPER die waarskuwings-dialoog wat verskyn\n"
+"sodra die installeerder ander pakkette moet kies a.g.v. afhanklikhede\n"
+"Afhanklikhede werk as volg: Sommige pakkette moet ander programme\n"
+"installeer om korrek te funksioneer, maar hierdie programme maak soms deel\n"
+"uit van 'n ander pakket, dus sal die installeer-program daardie pakkette\n"
+"ook installeer.\n"
+"\n"
+"Die klein disket-ikoon aan die lys se onderkant laat u toe om 'n lys van\n"
+"pakkette van 'n vorige installeasie te laai. Dit is handig indien u 'n\n"
+"aantal masjiene identies wil konfigureer. As u hierop klik, sal u gevra\n"
+"word om die disket te voorsien wat aan die einde van 'n vorige\n"
+"installasie geskep is. Raadpleeg die tweede wenk van die laaste stap\n"
+"oor hoe mens so disket skep."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Outomatiese-afhanklikhede"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": deur op die \"%s\" knoppie te klik, sal u toegang tot die 'printer\n"
+"configuration wizard' kry. Gaan gerus die ooreenstemde hoofstuk in die\n"
+"\"Starter Guide\" na vir meer inligting. Dit stem baie ooreen met die een."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"U kan nou dienste kies wat by herlaaityd moet afskop.\n"
+"\n"
+"Wanneer u die muis oor 'n item beweeg, sal 'n klein ballon opspring\n"
+"wat die rol van die diens verduidelik.\n"
+"\n"
+"Wees versigtig met hierdie stap. Indien u beplan om dié rekenaar as 'n\n"
+"bediener te gebruik wil u nie dienste afskop wat u nie gaan gebruik nie."
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux gebruik die GMT (Greenwich Mean Time) as verwysing en verstel\n"
+"dan die tyd volgens u tydsone. Dit beteken dat, in Suid-Afrika,\n"
+"die tyd op die moederbord sowat twee ure \"uit\" sal wees,\n"
+"indien u Johannesburg as tydsone kies. U kan GNU/Linux forseer om\n"
+"die moederbord en plaaslike tyd dieselfde te hou deur NIE die \"%s\" te\n"
+"merk NIE. Gebruik dit so wanneer die rekenaar\n"
+"ander bedryfstelsels ook kan laai, byvoorbeeld Windows.\n"
+"\n"
+"Die \"%s\"-opsie sal outomaties die klok reguleer deur gebruik te maak van\n"
+"'n eksterne tyd-bediener op die Internet. U sal natuurlik 'n werkende\n"
+"Internetkonneksie daarvoor benodig. Kies 'n bediener naby u. Hierdie opsie\n"
+"laat u toe om hierdie rekenaar self as 'n tyd-bediener te gebruik."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Outotydsinkronisasie"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafiesekaart\n"
+"\n"
+" Die installeer-program sal in meeste gevalle u grafiesekaart outomaties\n"
+"opspoor. Indien daar probleme is, kan u self van hierdie lys die kaart\n"
+"kies.\n"
+"\n"
+" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
+"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
+"behoefdes die beste sal bevredig."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (staan vir X Window Stelsel -let geen 's') is die hart van die GNU/Linux \n"
+"se grafiese-koppelvlak. Bo-op X, laai grafiese omgewings. ( dit sluit\n"
+"KDE, GNOME, AfterStep, WindowMaker ens. in)\n"
+"\n"
+"Hier is 'n lys van verstellings wat u kan verander om die beste resultate\n"
+"te verkry: Grafiesekaart\n"
+"\n"
+"Die program sal gewoonlik die regte grafiesekaart optel en opstel.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies.\n"
+"\n"
+" Dit mag gebeur dat daar verskillende tipe X-bedieners beskikbaar sal\n"
+"wees vir u kaart, met of sonder 3D-versnelling, kies dan die een wat u\n"
+"behoefdes die beste sal bevredig.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Die program sal gewoonlik u monitor korrek kies.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies.\n"
+"\n"
+"\n"
+"\n"
+"Resolusie\n"
+"\n"
+" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
+"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel\n"
+"hierdie keuse weer kan verander na die installasie). 'n voorbeeld\n"
+"van die gekose konfigurasie word vertoon op die skerm.\n"
+"\n"
+"\n"
+"\n"
+"Toets\n"
+"\n"
+" Afhangende van u hardeware, sal die inskrywing moontlik weg wees.\n"
+"\n"
+" ons gaan 'n grafiese skerm probeer opstel met die verstellings\n"
+"wat u gemaak het. Indien u die boodskap daarop kan sien en \"%s\"\n"
+"antwoord, sal DrakX na die volgende stap gaan. Indien u nie die boodskap\n"
+"kan sien nie, dui dit aan dat iets nie reg opgestel is nie. Die toets sal "
+"dan\n"
+"na 12 sekondes eindig, en terugval na die kieslys toe. Verander dan u\n"
+"keuses vir nog 'n probeerslag.\n"
+"\n"
+"\n"
+"\n"
+"Opsies\n"
+"\n"
+" Hier kan u spesifiseer indien u rekenaar die grafiese-koppelvlak moet\n"
+"begin tydens selflaai. U kan \"%s\" merk indien u 'die rekenaar as bediener\n"
+"gaan gebruik, of indien u nie X met sukses kon opstel nie"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Die program sal gewoonlik u monitor korrek kies.\n"
+"Indien nie, kan u self die regte een vanaf hierdie lys kies."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusie\n"
+"\n"
+" Hier kan u die resolusie en aantal kleure kies wat vir u hardeware\n"
+"beskikbaar is. Kies die een wat u die beste sal pas.( let dat u wel hierdie\n"
+"keuse weer kan verander na die installasie). 'n voorbeeld van die gekose\n"
+"konfigurasie word vertoon op die skerm."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Indien daar verskillende tipe bedieners vir u kaart beskikbaar is, met of\n"
+"sonder 3D-versnelling, sal u gevra word om die een te kies wat u die beste\n"
+"sal pas."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opsies\n"
+"\n"
+" hier kan u kies of u die rekenaar wil laat eindig in 'n grafiese "
+"koppelvlak\n"
+"na dit aangeskakel is. U sal natuurlik \"%s\" kies indien die rekenaar as\n"
+"'n bediener gebruik gaan word, of u nie die skerm reg kon opstel nie."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Op hierdie tydstip moet u besluit waar op die hardeskyf u Mandriva Linux\n"
+"wil installeer. Indien u 'n leë hardeskyf het, of indien 'n bestaande\n"
+"bedryfstelsel al die beskikbare spasie gebruik, sal u partisies moet\n"
+"skep. Om 'n partisie te skep veroorsaak dat u die hardeskyf logies\n"
+"verdeel, om spasie te skep vir u nuwe Mandriva Linux bedryfstelsel.\n"
+"\n"
+"Indien u 'n onervare gebruiker is, kan die skep van partisies vreemd en\n"
+"intimiderend wees.\n"
+"Die skep van partisies is gewoonlik onomkeerbaar en kan dataverlies\n"
+"meebring indien daar reeds 'n bestaande bedryfstelsel op die hardeskyf is.\n"
+"Gelukkig sluit DrakX 'n assisstent in wat die proses vergemaklik.\n"
+"Voor u verder gaan, lees die volgende deel deeglik deur, en wees rustig!\n"
+"(Moet nie stres kap nie! - Chill Dude!)\n"
+"\n"
+"Afhangende van hoe u hardeskyf gekonfigureer is, is daar 'n aantal opsies\n"
+"beskikbaar:\n"
+"\n"
+" * \"%s\": hierdie opsie sal die partisies op u leë hardeskyf outomaties\n"
+"opstel.\n"
+"Indien u die een kies, is dit al inset wat u hoef te lewer.\n"
+"\n"
+" * \"%s\": die assistent het een of meer bestaande Linux-partisies op die\n"
+"hardeskyf gekry. Indien u wil gebruik maak van hulle, kies hierdie opsie.\n"
+"Daar is verstek hegpunte, wat u kan verander, indien u wil, maar ons stel\n"
+"voor u hou daarby.\n"
+"\n"
+" * \" %s\": indien u Microsoft Windows op u hardeskyf geïnstalleer het, en\n"
+"dit neem al die spasie in beslag, moet ons eers 'n plekkie vir Linux skep. U "
+"kan die Microsoft Windows partisie met al die data uitwis\n"
+"(verwys na 'Erase entie disk' oplossing)\n"
+"of u kan die Microsoft Windows FAT of NTFS partisie verklein. Dit kan "
+"geskied\n"
+"sonner verlies van data, mits u die partisie gedefragmenteer het.Ons beveel "
+"ten sterkste aan dat u 'n rugsteun maak van u data. Hierdie is\n"
+"die beste metode indien u beide Mandriva Linux en Microsoft Windows op die\n"
+"rekenaar wil gebruik.\n"
+"\n"
+"Neem tog kennis dat dit die beskikbare oop spasie in Microsoft Windows sal\n"
+"verminder, aangesien ons plek moet maak vir Linux op die hardeskyf.\n"
+"\n"
+" * \"%s\": Indien u alle data op alle partisies op u hardeskyf wil uitwis,\n"
+"en dit dan vervang met Mandriva Linux, kan u hierdie opsie kies.\n"
+"Wees versigtig die opsie is onomkeerbaar!\n"
+"\n"
+" !! Net weer waarsku: alle data op die skyf sal vernietig word. !! \n"
+" * \"%s\" hierdie opsie gaan doodeenvoudig alles uitwis en van vooraf\n"
+"die hardeskyf partisies skep. Alle data sal verlore gaan.\n"
+"\n"
+" !! Net weer waarsku: alle data up die skyf sal vernietig word. !! \n"
+" * \"%s\": kies hierdie opsie indien u self die partisies wil opstel. Wees\n"
+"uiters versigtig -- dit is 'n gevaarlike keuse en u kan maklik al u data "
+"verloor. Hierdieopsie word aanbeveel vir persone wat ondervinding\n"
+"het en vertroud is met Linux .\n"
+"U kan verder oplees oor hoe om te werk te gaan in die \"Managing Your\n"
+"Partitions deel van die \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gebruik bestaande partisies"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Wis hele skyf"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Fluit-fluit my storie is uit! Die installasie het tot 'n einde gekom en u\n"
+"GNU/Linux reknaar is gereed vir gebruik. Klik bloot op \"%s\" om\n"
+"te herlaai.Onthou tog om die installasie-media (CDROM of Disket)\n"
+"te verwyder. Die eerste skerm wat u sal sien, na die rekenaar sy\n"
+"hardeware-toetse uitgevoer het, is die herlaaistelsel se kieslys.\n"
+"Daar kan u die bedryfstelsel kies wat moet laai.\n"
+"\n"
+"Die \"%s\" knoppie sal nog twee knoppies laat verskyn:\n"
+"\n"
+" * \"%s\": om 'n installasie-disket te skep wat die hele installasie\n"
+"aotomaties sal doen, sonner die hulp van 'n persoon.\n"
+"Dit sal soortgelyk aan hierdie een wees.\n"
+"\n"
+" Let daarop dat twee verskillende opsies daarna beskikbaar sal wees:\n"
+"\n"
+" * \"%s\" Gedeeltelik outomaties. Die skep van partisies benodig 'n\n"
+"persoon om te spesifiseer.\n"
+"\n"
+" * \"%s\" Volkome outomaties. Die hardeskyf word totaal gewis, alle\n"
+"data word verloor.\n"
+"\n"
+" Hierdie is handig wanneer u 'n paar van dieselfde masjiene moet\n"
+"installeer.\n"
+"Besoek gerus ons webwerf vir meer inligting hieroor.\n"
+"\n"
+" * \"%s\": stoor 'n lys van die gekose pakette in hierdie installasie.\n"
+"Om hierdie keuses met 'n volgende installasie te gebruik, plaas disket\n"
+"in aandrywer en begin die installasie. Kies [F1] en tik '>> linux\n"
+"defcfg=\"floppy\" <<' in."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Skep outo-installasieskyf"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Enige nuwe partisies moet eers geformatteer word voor dit bruikbaar is.\n"
+"(formatteer beteken dan ons 'n lêerstelsel daarop skep).\n"
+"\n"
+"U kan ook nou kies om bestaande partisies te formatteer om so al die\n"
+"data daarop uit te vee. Kies asseblief dan nou daardie partisies ook.\n"
+"\n"
+"Let tog daarop dat die NIE nodig is om al die vooraf-bestaande partisies\n"
+"weer te formatteer NIE. U moet wel partisies wat die bedryfstelsel bevat\n"
+"formatteer. ( byvoorbeeld \"/\",\"/usr\" of \"/var\") maar partisies met\n"
+"data wat u graag wil hou ( bv \"/home\") moet nie geformatteer word\n"
+"nie.\n"
+"\n"
+"Wees daarom versigtig wanneer u die partisies kies. Na dit geformatteer\n"
+"is, sal ALLE data daarop vernietig wees.\n"
+"\n"
+"Klik op \"%s\" sodra u gereed is om te formatteer.\n"
+"\n"
+"Klik op \"%s\" indien u 'n ander partisie vir die installasie van u nuwe\n"
+"Madrake Linux bedryfstelsel wil kies\n"
+"\n"
+"Klik op \"%s\" indien u partisies wil kies wat dan ondersoek en\n"
+"getoets moet word."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Teen die tyd wat u Mandriva Linux installeer, is dit hoogs waarskynlik\n"
+"dat van die pakkette intussen opgedateer is. Foute kom reggestel wees,\n"
+"of sekuriteits probleme is dalk opgelos. Om voordeel hieruit te put, kan\n"
+"u hulle nou van die Internet aflaai. Merk \"%s\" indien u 'n werkende\n"
+"Internetkonneksie het, of \"%s\" sou u dit eers later wil doen\n"
+"\n"
+"Deur \"%s\" te kies, kan u 'n lys plekke sien waarvanaf hierdie\n"
+" pakkette gelaai kan word. Kies 'n geskikte een. 'n Boom-struktuur\n"
+" met die nuwwe pakkette in sal verskyn. As u gelukkig is met almal,kan u\n"
+" \"%s\" klik om hulle af te laai en te installeer, of \"%s\" om te ontsnap."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Op hierdie tydstip laat DrakX u toe om die sekuriteitsvlak vir die\n"
+"rekenaar te kies. 'n Algemene reel is dat die sekuriteit hoër behoort\n"
+"te wees indien die masjien belangrike inligting bevat, of direk aan\n"
+"die Internet gekoppel is. Hierdie hoër sekuriteit kom met die koste dat\n"
+"dit algemene gebruik op die rekenaar moeiliker maak.\n"
+"\n"
+"Indien u onseker is oor wat om te kies, bly by die verstek opsie. U\n"
+"kan altyd later die vlak verander deur draksec in die Mandriva Linux "
+"Control\n"
+"Center te grbruik.\n"
+"\n"
+"Die \"%s\" veld kan boodskappe stuur na 'n gekose persoon wat\n"
+"verantwoordelik is vir die sekuriteit. Hy/sy sal dan gereelde boodskappe\n"
+"ontvang rakende die stand van die sekuriteit."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sekuriteits-admin:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Nou moet u asseblief besluit watter partisie(s) u gaan gebruik vir die\n"
+"installasie van u Mandriva Linux rekenaar.Indien die partisies reeds\n"
+"geskep is gedurende 'n vorige GNU/Linux installasie of deur 'n ander\n"
+"partisie-program, kan u hulle gebruik.Indien nie, moet u eerstens\n"
+"partisies skep.\n"
+"\n"
+"Die skep van 'n partisie behels dat u 'n hardeskyf kies.U kan klik op\n"
+"\"hda\" om die eerste IDE hardeskyf te kies, \"hdb\" is die tweede ens.\n"
+"\"sda\" is die eerste SCSI skyf.\n"
+"\n"
+"Hier is die opsies wanneer u partisies skep op die gekose hardeskyf:\n"
+"\n"
+" * \"%s\": hierdie opsie wis alle partisies op die gekose skyf uit.\n"
+"\n"
+" * \"%s\": hierdie opsie sal outomaties 'ext3' en 'swap' partisies in die\n"
+"vrye spasie op die hardeskyf skep.\n"
+"\n"
+"\"%s\": gee u toegang tot verdere keuses:\n"
+"\n"
+" * \"%s\": stoor die partisielys op 'n disket. Handig indien u later die\n"
+"partisielys wil herstel.Ons beveel hierdie stap aan.\n"
+"\n"
+" * \"%s\": stel u in staat om 'n vorige gestoorde partisielys van 'n\n"
+"disket af te herstel.\n"
+"\n"
+" * \"%s\": indien u partisielys beskadig is, kan u poog om dit te\n"
+" herstel met hierdie opsie. Wees asseblief versigtig, en onthou\n"
+"dat dit nie altyd werk nie.\n"
+"\n"
+" * \"%s\": ignoreer al die veranderinge en herlaai die partisielys wat\n"
+"oorspronklik op die hardeskyf was.\n"
+"\n"
+" * \"%s\": deur hierdie opsie NIE te merk NIE, sal u gebruikers verplig\n"
+"om verwyderbere media soos diskette en CD-ROMs self te heg en\n"
+"te ontheg.\n"
+"\n"
+" * \"%s\": gebruik die opsie indien u 'n assistent verlang wat sal help\n"
+" met die skep van partisies. Word aanbeveel indien u nie vertroud met\n"
+"die skep van partisies is nie\n"
+"\n"
+" * \"%s\": kanselleer al u veranderinge.\n"
+"\n"
+" * \"%s\": laat ekstra aksies toe op die partisies (tipe, opsies, formaat)\n"
+"en gee ook eksta inligting omtrent die hardeskyf.\n"
+"\n"
+" * \"%s\": sodra u klaar is, sal sal dit u veranderinge stoor\n"
+"\n"
+"Wanneer u die grootte spesifiseer, kan u die fyner verstellings spesifiseer\n"
+"deur u sleutelbord se Pyltjie sleutels te gebruik.\n"
+"\n"
+"Aandag: U kan enige opsie bereik deur die sleutelbort te gebruik. Gebruik\n"
+"bloot die [Tab] sleutel en die [Op/Af] pyltjies. om 'n partisie te kies\n"
+"\n"
+"Wanneer 'n partisie gekies is, kan u die volgende doen:\n"
+"\n"
+" * Ctrl-c om 'n nuwe partisie te skep (mits 'n leë partisie gekies is)\n"
+"\n"
+" * Ctrl-d om 'n partisie uit te wis\n"
+"\n"
+" * Ctrl-m om 'n hegpunt te spesifiseer\n"
+"\n"
+"Om inligting rakende die verskillende beskikbare lêerstelsels te bekom, "
+"lees\n"
+"asseblief die ext2FS hoofstuk in die \"Reference Manual\".\n"
+"\n"
+"Indien u op 'n PPC masjien installeer, sal u 'n klien HFS 'bootstrap'\n"
+"partisie van ten minste 1MB wil skep. Dit sal deur 'yaboot' herlaai-\n"
+" stelsel gebruik word. Maak dit bietjie groter vir spaar 'kernel' en\n"
+"'ramdisk' beelde vir hulp in nood situasies."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Outoheg van verwyderbare media"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skakel tussen normale/kenner modus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Ons het meer as een Microsoft-partisie op u hardeskyf gevind.\n"
+"Kies dan nou die een wie se grootte u wil verander, om plek te maak\n"
+"vir u nuwe Mandriva Linux bedryfstelsel.\n"
+"\n"
+"Elke partisie is as volg gelys: \"Linux-naam\", \"Windows-naam\"\n"
+"\"Kapasiteit\".\n"
+"\n"
+"\"Linux-naam werk as volg\" \"tipe hardeskyf\", \"nommer van hardeskyf\",\n"
+"\"nommer van partisie\" (byvoorbeeld: \"hda1\").\n"
+"\n"
+"Indien u 'n IDE tipe hardeskyf het sal die tipe \"hd\" wees, en SCSI, sal \n"
+"\"sd\" wees\n"
+"\n"
+"Die nommer van die hardeskyf is altyd 'n letter, wat volg na \"hd\" of\n"
+"\"sd\".\n"
+"Met IDE hardeskywe:\n"
+"\n"
+" * \"a\" beteken \"meester-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"b\" beteken \"slaaf-hardeskyf op die primêre IDE-beheerder\";\n"
+"\n"
+" * \"c\" beteken \"meester-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+" * \"d\" beteken \"slaaf-hardeskyf op die sekondêre IDE-beheerder\";\n"
+"\n"
+"Met SCSI-hardeskywe, beteken 'n \"a\" die kleinste SCSI-ID,\"b\" sal\n"
+"dan die volgende ID verteenwoordig ens.\n"
+"\n"
+"\"Windows-naam\" is die letter van u hardeskyf onder Windoes ( die eerste\n"
+"skyf of partisie word \"C:\" genoem.)"
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ondersoek die huidige landskeuse. Indien u nie in daardie land\n"
+"is nie, klik op die \"%s\"-knoppie en kies die regte een. Indien u land\n"
+"nie in daardie lys teenwoordig is nie, kies die \"%s\"-knoppie vir 'n\n"
+"volledige lys."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Hierdie stap word slegs gedoen indien ou GNU/Linux partisies op die\n"
+"rekenaar gevind is.\n"
+"\n"
+"DrakX moet nou weet of u 'n nuwe installasie of 'n opgradering van 'n\n"
+"bestaande Mandriva Linux wil doen:\n"
+"\n"
+" * \"%s\": Hierdie deel word grootliks gebruik vir 'n hele nuwe "
+"installasie.\n"
+"Indien u aan die hardeskywe se partisies of die lêerstelsel wil verander,\n"
+"moet u hierdie opsie kies. Maar u kan ook hierdie een kies indien u sekere\n"
+"van u partisies se data wil behou.\n"
+"\n"
+" * \"%s\": hierdie tipe installasie laat u toe om pakkette op te dateer\n"
+"wat deel uitmaak van u huidige Mandriva Linux installasie. Die partisies\n"
+"en gebruiker se data bly onveranderd. Ander stappe is baie dieselfde as\n"
+"'n normale installasie.\n"
+"\n"
+"Die gebruik van die 'Opdateer' opsie behoort reg te werk vir al die\n"
+"weergawes vanaf \"8.1\" en opwaarts. Ons raai u af on dit op weergawes\n"
+"ouer as \"8.1\" te probeer."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhangende van die verstek taal wat u kies, sal DrakX outomaties 'n\n"
+"betrokke steutelbord-konfigurasie kies. U mag moontlik 'n sleutelbord\n"
+"besit wat nie 100-persent ooreenstem met u taal nie: byvoorbeeld as u 'n\n"
+"Ingelse Sweed is, sal u dalk 'n sweedse sleutelbord besit. Hier is nog\n"
+"een: gestel jy is 'n Afrikaner wat werk in Quebec, u sal dalk met 'n ander\n"
+"tipe sleutelbord moet klaarkom as wat u gewoond is. Wel, hier kan u die\n"
+"gepaste sleutelbord uit 'n lys kies.\n"
+"\n"
+"Klik op die \"%s\"-knoppie vir 'n lys van al die ondersteunde sleutelborde\n"
+"\n"
+"Indien u 'n nie-Latynse sleutelbord kies, sal die volgende dialoog u\n"
+"toelaat om sleutel-bindings tussen Latynse en nie-Latynse uitlegte\n"
+"te kies."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Die taal wat u hier kies sal die dokumentasie se taal, die installeer\n"
+"program, en rekenaar oor die algemeen, beïnvloed. Kies eerstens\n"
+"die area waar u woon, en daarna die taal wat u praat.\n"
+"( Jammer, geen inskrywing vir die wat 'nonsens' wou kies nie! )\n"
+"\n"
+"Deur op die \"%s\"-knoppie te klik, kan u ander tale by kies.\n"
+"Dit sal dan dokumentasie en programme toelaat in daardie ekstra tale.\n"
+"Sou daar byvoorbeeld Spaanse gebruikers op die masjien inteken, kies\n"
+"Afrikaans(of Engels) as die verstek taal en \"%s\" in die Gevorderde\n"
+"seksie.\n"
+"\n"
+"Deur 'n sekere taal te kies, sal vertalings, lettertipes,\n"
+"spelkykers ens vir die betrokke taal geïnstalleer word.\n"
+"\n"
+"Boonop kan die \"%s\" merkblokkie u toelaat om die gebruik van 'unicode\n"
+"(UTF-8)' af te dwing. Let daarop dat dit eksperimenteel is. Indien u "
+"verskillende tale met verskillende koderings kies, sal\n"
+"'nicode'-ondersteuning geïnstalleer word.\n"
+"\n"
+"Let tog daarop dat u nie verbind is tot slegs een ekstra taal nie. U kan 'n\n"
+"paar van hulle kies, as u nou regtig wild wil raak, installeer almal deur\n"
+"die \"%s\" blokkie te merk!\n"
+"Om tussen verskillende tale te skakel, gebruik \"/usr/bin/localedrake\"\n"
+"Wanneer die supergebruiker (root) dit doen sal dit die taal vir almal\n"
+"verander, en wanneer 'n gewone gebruiker dit doen , sal dit net vir\n"
+"daardie gebruiker verander."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX het gewoonlik geen probleme met die speur van die aantal muisknoppies\n"
+"nie. Indien wel, sal dit aanneem dat die muis twee knoppies het, en sal dan\n"
+"3-knop emulasie konfigureer. Die 3de knoppie kan \"gedruk\" word deur beide\n"
+"knoppies gelyktydig te klik. DrakX sal vanself weet watter tipe muis u het,\n"
+"of dit nou 'n PS/2, sierie of USB muis mag wees.\n"
+"\n"
+"Indien u muis 3 knoppies het, maar nie 'n wielletjie nie, kan u \"%s\" kies\n"
+"DrakX sal dan u muis so opstel dat die wielletjie gesimuleer word. Druk\n"
+"die middel knoppie en beweeg die muis op en af - maklik!\n"
+"\n"
+"Indien u moontlik 'n ander tipe muis wil spesifiseer, kies dit vanaf die\n"
+" voorsiende lys.\n"
+"\n"
+"Indien u gekose muis verskil van die verstek muis, sal 'n toetsskerm\n"
+"vertoon word. Gebruik die knoppies en wielletjie om seker te maak\n"
+"alles werk korrek.\n"
+"Indien u probleme ondervind, druk die spasiebalk of [ Enter ] sleutel om\n"
+"die toets te kansselleer en weer te kies.\n"
+"\n"
+"Wielmuise word soms verkeerdelik geïdentifiseer, dan moet u self u\n"
+"muis vanaf die lys kies.\n"
+"Maak tog seker u kies die regte poort waaraan die muis\n"
+"gekoppel is. Na u die muis gekies, en \"%s\" geklik het, sal 'n beeld van\n"
+" 'n muis verskyn.\n"
+"Rol die wielletjie om te bevestig dat dit korrek funksioneer. Sodra u\n"
+"die beeld van die muis se wielletjie sien reageer, kan u ook die knoppies\n"
+"en beweging van u muis toets."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "met wielletjie-emulasie"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Enige PS/2 & USB muis"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Kies asb. die korrekte poort. Onthou dat COM1 onder MS Windows \n"
+"ttyS0 onder GNU/Linux is."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Hierdie is die belangrikste oomblik vir u GNU/Linux-rekenaar se sekuriteit:\n"
+"u moet 'n wagwoord voorsien vir \"root\". \"Root\" is die supergebruiker "
+"wat\n"
+"dinge doen soos om die sagteware op te dateer, gebruikers by te voeg,\n"
+"en die konfigurasie te verander. \"Root\" kan alles doen! Hieroor moet\n"
+"u 'n deeglike wagwoord vir \"root\" kies - (DrakX sal jou tune as die wag-\n"
+"woord nie op spec is nie.) U kan wel die wagwoord uitlaat, maar dit word\n"
+"te sterkste afgeraai. GNU/Linux is net so vatbaar vir foute soos enige\n"
+"ander bedryfstelsel. Aangesien \"root\" geen perke het nie, kan hy/sy\n"
+"maklik skade aanrig as die persoon roekeloos handel. Dit moet dus\n"
+"moeilik wees vir 'n persoon om \"root\" te word.\n"
+"\n"
+"Die wagwoord behoort 'n mengsel van letters en syfers te wees en ten minste\n"
+"8 karakters lank te wees. Moet dit nie neerskryf nie, dit veroorsaak 'n\n"
+"swak skakel\n"
+"\n"
+"Moet dit ook nie te vreemd maak nie, u moet dit tog kan onthou!\n"
+"\n"
+"Indien u gebruik maak van 'n eksterne bediener wat die toegang beheer,\n"
+"klik op die \"%s\"-knoppie.\n"
+"\n"
+"Indien u netwerk gebruik maak van LDAP, NIS of 'n Windows PDC, moet\n"
+"u die gepaste diens vir \"%s\" kies. Vra u administrateur indien u nie weet\n"
+"watter een om te kies nie.\n"
+"\n"
+"Indien u probleme ondervind om wagwoorde te onthou, en die rekenaar is\n"
+"ver van die Internet af, en u vertrou almal wat die masjien gebruik, kan u\n"
+"kies om \"%s\" te gebruik. -once & heavy!-"
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "magtiging"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO en grup is herlaaistelsels vir GNU/Linux. Hierdie stap is normaalweg\n"
+"geheel en al outomaties. DrakX sal u hardeskyf se selflaai-sektor nagaan\n"
+"en dienooreenkomstig handel met wat dit vind:\n"
+"\n"
+" * indien 'n Windows selflaai-sektor teenwoordig is, sal dit met 'n grub/\n"
+"LILO een vervang word. Dit sal u toelaat om te kan kies watter\n"
+"bedryfstelsel om te laai sodra u die masjien aanskakel.\n"
+"\n"
+" * indien 'n grub of LILO selflaai-sektor teenwoordig is, sal dit vervang\n"
+"word.\n"
+"\n"
+"Indien DrakX nie self kan besluit nie, sal u gevra word om 'n ligging vir\n"
+"die herlaaistelsel te voorsien. Gewoonlik is die veiligste plek \"%s\". Deur "
+"\"%s\" te kies, sal DrakX geen herlaaistelsel installeer nie."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Dit is nou tyd om u drukkerstelsel te kies. Ander bedryfstelsels sal\n"
+"seker net een aan u bied, maar Mandriva Linux gee twee. Elk van hulle\n"
+"is beter as die ander in sekere gevalle.\n"
+"\n"
+" * \"%s\" -- wat vir \"print, do not queue\" staan. Kies dit indien u\n"
+"'n direkte konneksie na die drukker het, en u blitsig wil inmeng sodra\n"
+"daar probleme is, ook indien u nie netwerk-drukkers het nie. (\"%s\"\n"
+"hanteer net eenvoudige netwerk-toegang en is effe stadig deur die netwerk)\n"
+"Ons beveel aan dat u \"pdq\" gebruik indien u nog groen is met GNU/Linux.\n"
+"\n"
+" * \"%s\" - 'Common Unix Printing System', is 'n uitstekende keuse om na\n"
+"u plaaslike drukker, of na een in myle vanaf u, te druk. Eenvoudig om\n"
+"op te stel, kan kliënt of bediener rolle vertolk vir die lpd-fossiel. Dit\n"
+" beteken dat ons omsien na ons veterane! Dit is baie kragtig, maar 'n\n"
+"elementêre opstel is byna so maklik soos \"pdq\". Indien u 'n lpd-\n"
+"bediener wil nastreef, maak seker dat u die \"cups-lpd\"-daemoon\n"
+"loop. \"%s\" sluit grafiese programme in om vanaf te druk of om\n"
+"opsies te keis en drukkers te bestuur.\n"
+"\n"
+"Sou u die keuse nou, later wil verander, gaan gerus na 'PrinterDrake'\n"
+"in die 'Mandriva Linux Control Center' en klik op die \"Kenner\" knoppie."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ervare"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sal eerstens vir IDE toestelle op die rekenaar soek.\n"
+"Daarna sal dit probeer om vir PCI SCSI-kaarte te kry.\n"
+"Indien DrakX 'n SCSI-kaart bespeur en weet watter drywer\n"
+"om te gebruik sal dit outomaties installeer word.\n"
+"\n"
+"Omrede hierdie proses nie altyd alles opspoor nie, sal u dalk self u\n"
+"hardeware moet spesifiseer.\n"
+"\n"
+"Indien u self 'n drywer moes spesifiseer, sal DrakX u ook vra vir enige\n"
+"spesifieke opsies.\n"
+"U kan egter DrakX toelaat om self die hardeware te ondervra. Dit werk\n"
+"gewoonlik die beste.\n"
+"\n"
+"Lees die installasie inligting hoe om hierdie tipe inligting m.b.v. die\n"
+"Windows-bedryfstelsel te bekom.\n"
+"U kan dit ook vanaf die internet onttrek indien u sulke toegang het."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\" die bespeurde klankkaart op u rekenaar sal hier vertoon word.\n"
+"Indien die aangeduide klankkaart verskil van die werklike een op u\n"
+"rekenaar,\n"
+"kan u op die knoppie klik, om 'n ander drywer te kies."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sal u 'n oorsig bied van u rekenaar se inligting. Afhangende van die\n"
+"sagteware wat u geïnstalleer het, sal u sommige of al die volgende\n"
+"afdelings hê. Elke inskrywing bestaan uit die item wat gekonfigureer\n"
+"moet word, asook 'n kernopsomming oor die huidige stand.\n"
+"Klik op die ooreenkomstige \"%s\"-knoppie om dit te verander.\n"
+"\n"
+" * \"%s\": bekyk die huidige sleutelbord-uitleg en verander indien nodig.\n"
+"\n"
+" * \"%s\": bekyk die huidige keuse van u land. Indien u nie in hierdie land\n"
+"woon nie, klik op die \"%s\"-knoppie om 'n ander te kies. Sou dit nie in\n"
+"die lys wees nie, klik op die \"%s\"-knoppie vir 'n volledige lys.\n"
+"\n"
+" *\"%s\": By verstek word u tydsone aangepas, afhangende van die land\n"
+"wat u kies. Klik op die \"%s\"-knoppie indien dit verkeerd is.\n"
+"\n"
+" * \"%s\": ondersoek die huidige muiskonfigurasie en klik op die knoppie\n"
+"on dit te verander.\n"
+"\n"
+" * \"%s\": deur op die \"%s\"-knoppie te klik, sal u die drukker-assistent\n"
+"loods. Raadpleeg die ooreenkomstige hoofstuk in die \"Starter Guide\"\n"
+"vir meer inligting daaroor.\n"
+"\n"
+" * \"%s\": sou ons 'n klankkaart opspoor op die rekenaar, sal dit hier\n"
+"vertoon word. Indien u verskil van ons keuse, klik op die knoppie om\n"
+"'n ander drywer te kies.\n"
+"\n"
+" * \"%s\": DrakX stel u skerm op met 'n resolusie van \"800x600\"\n"
+" of \"1024x768\" by verstek. Indien u wil verander, kan u \"%s\"\n"
+"kies om dit te herkonfigureer.\n"
+"\n"
+" * \"%s\": indien 'n TV-kaart opgespoor is, sal dit hier vertoon. Inidien\n"
+"nie, en u het wel een, klik op \"%s\" om dit self op te stel.\n"
+"\n"
+" * \"%s\": indien 'n ISDN-kaart opgespoor is, sal dit hier vertoon. Klik\n"
+"op \"%s\" om verstellings daarop aan te bring\n"
+"\n"
+" * \"%s\": Indien u die netwerk en Internet toegang nou wil opstel\n"
+"\n"
+" * \"%s\": hier kan u die sekuriteitsvlak verander wat in 'n vorige stap \n"
+"opgestel is.\n"
+"\n"
+" * \"%s\": Indien die masjien toegang tot die Internet sal hê, kan u gerus\n"
+"u rekenaar beskem teen die hansworse daar buite, deur 'n vuurmuur op te\n"
+"stel. Lees gerus meer daaroor op in die \"Starter Guide\"\n"
+"\n"
+" * \"%s\": indien u die herlaaistelsel se konfigurasie wil verander. Word\n"
+"meer vir slimkoppe aanbeveel.\n"
+"\n"
+" * \"%s\": hier kan u fyner verstellings maak op die dienste wat sal afskop\n"
+"Ondersoek dit gerus indien u die rekenaar as bediener gaan gebruik."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiese koppelvlak"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Kies die hardeskyf wat u wil wis, om u nuwe Mandriva Linux\n"
+"te kan installeer. Wees tog versigtig, alle huidige data op daardie\n"
+"partisie sal vernietig word!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klik op \"%s\" sou u al die data an al die partisies wat tans op hierdie\n"
+"hardeskyf is wil uitwis. Wees versigtig! Na u \"%s\" geklik het, sal u nie\n"
+"weer enige van die data of partisies kan red nie, dit sluit data op\n"
+"Windows-partisies in.\n"
+"\n"
+"Klik op \"%s\" indien u hierdie aksie wil staak, sonder om data te verloor."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Volgende ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Vorige"
+
+#
diff --git a/perl-install/install/help/po/am.po b/perl-install/install/help/po/am.po
new file mode 100644
index 000000000..a13e3c08c
--- /dev/null
+++ b/perl-install/install/help/po/am.po
@@ -0,0 +1,1108 @@
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/am.php3
+# Copyright (C) 2004 Mandriva SA
+# Alemayehu Gemeda <alemayehu@gmx.at>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-06-01 03:36+0100\n"
+"Last-Translator: Alemayehu <alemayehu@gmx.at>\n"
+"Language-Team: Amharic <am-translate@geez.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ይህንን ሁኔታ መጠቀም ይፈልጋሉ?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "ከመሰረታዊ ማስረጃ ጋር"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "በእውነት አነስተኛ ተከላ"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ራስ-ገዛዊ ራስን መቻል"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "ቀን እና ሰዓት"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "የነበረውን ክፋይ ተጠቀም"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "ዲስኩን እንዳለ ደምስስ"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "የደህንነት ተቆጣጣሪ"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ስፓኒሽ"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "አኃዞች (ከክፍተት ጋር)"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr ""
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "የመሸፈኛ ዘዴ"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "የISDN ካርድ"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ንድፋዊ እይታ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "የሚቀጥለው ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- የቀድሞው"
+
diff --git a/perl-install/install/help/po/ar.po b/perl-install/install/help/po/ar.po
new file mode 100644
index 000000000..a33dab8c8
--- /dev/null
+++ b/perl-install/install/help/po/ar.po
@@ -0,0 +1,1919 @@
+# translation of DrakX.po to Arabic
+# Amr Fathy <amr10@menanet.net>, 2001.
+# Mohammed Gamal <f2c2001@yahoo.com>, 2002.
+# Youcef Rabah Rahal <rahal@arabeyes.org>, 2004.
+# Ossama M. Khayat <okhayat@yahoo.com>, 2004, 2005.
+# Munzir Taha <munzir@kacst.edu.sa>, 2004.
+# Abdulaziz Al-Arfaj <alarfaj@arabeyes.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-03-03 01:06+0300\n"
+"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
+"Language-Team: Arabic <support@arabeyes.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : "
+"3\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"قبل المتابعة، عليك قراءة بنود الترخيص جيداً.. إنها\n"
+"تغطي كل توزيعة ماندريبا لينكس. إذا كنت توافق على كل البنود\n"
+"الموجودة فيها، قم بالتأشير على مربّع \"%s\". إن لم يكن كذلك، فبالضّغط على زرّ "
+"\"%s\"\n"
+"سيتم إعادة تشغيل جهازك."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"نظام جنو/لينكس هو نظام متعدد المستخدمين، مما يعني أن كل مستخدم\n"
+"له تفضيلاته الخاصة و ملفاته الخاصة و ما إلى ذلك. لكن على غرار المستخدم \"root"
+"\"، والذي هو مدير النظام، فإن المستخدمين الذين تُضيفهم حتى هذه النقطة لن "
+"يكونوا مُخوّلين\n"
+"بتغيير أي شيء عدا ملفّاتهم الخاصّة وإعداداتهم،\n"
+"لحماية النظام من أيّ تغييرات مشبوهة أو غير مقصودة والتي\n"
+"قد تكون ذات تأثير على النّظام بشكل كامل. سيتعيّن عليك إنشاء مستخدم واحد على "
+"الأقل لنفسك -- والذي هو حساب عليك استخدامه للعمل الروتيني اليومي.\n"
+"مع أنّه من السهل تسجيل الدخول كـ\"root\" لعمل\n"
+"أي شيء وكل شيء، إلا أنّه قد يكون أيضاً خطراً جداً. الخطأ البسيط جداً\n"
+"قد يعني أنّ نظامك لن يعمل بعد ذلك. إن قمت بخطأ جسيم\n"
+"كمستخدم عادي، فإنّ أسوأ ما قد يحدث أنّك ستفقد\n"
+"بعض المعلومات، ولكن لن تُؤثّر على النظام ككلّ.\n"
+"\n"
+"\n"
+"الحقل الأول سيسألك عن اسمك الحقيقي. بالطبع هذا الحقل\n"
+"ليس اجبارياً -- يمكنك إدخال أي شئ تريد. DrakX سيستخدم الكلمة\n"
+"الأولى التي قمت بإدخالها في هذا الحقل وينقلها إلى حقل \"%s\"، الذي\n"
+"هو الاسم الذي سيدخله المستخدم للدخول على النظام. إن أحببت، يمكنك تخطّي\n"
+"المُدخل الافتراضي وتغيّر اسم المستخدم. الخطوة التالية هي إدخال كلمة المرور.\n"
+"من وجهة نظر أمنية، فإن كلمة مرور المستخدم العادي بدون صلاحيات\n"
+"ليست بأهمّيّة كلمة مرور المستخدم \"الجذر\"، لكن ليس هذا سبب للتغاضي\n"
+"عنها أو جعلها فارغة أو جعلها سهلة جداً: على كلّ حال، ملفاتك قد تكون هي\n"
+"التي في خطر.\n"
+"\n"
+"بمجرد ضغطك على زر \"%s\"، يمكنك إضافة مستخدمين أخر. أضف اسم مستخدم\n"
+"لكل صديق من أصدقائك أو لأبيك أو لأختك،مثلاً. اضغط \"%s\" عندما\n"
+"تنتهي من إضافة المستخدمين.\n"
+"\n"
+"ضغط زرّ \"%s\" يسمح لك بتغيير \"الصَّدفة\"\n"
+"لذلك المستخدم (bash هو الافتراضي).\n"
+"\n"
+"عندما تنتهي من إضافة المستخدمين، سيتم سؤالك عما إذا كنت تريد اختيار مستخدم\n"
+"يتم الدخول بواسطته إلى النظام تلقائياً عند بدء التشغيل.\n"
+"إذا كنت مهتماً بهذه الميزة (و لم تكن مهتماً كثيراً بالأمن المحلّي)،\n"
+"اختر المستخدم المطلوب و مدير النوافذ ثم اضغط \"%s\".\n"
+"إن لم تكن مهتماً بهذه الميزة، قم بإزالة التأشير من مربّع الاختيار \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "هل تريد استخدام هذه الميزة؟"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"في الأعلى ستجد تجزيئات لينكس الموجودة والتي عثر عليها على القرص الصلب الخاص "
+"بك.\n"
+"يمكنك أن تُبقي اختيارات المرشد، وهي جيدة لأغلب أنواع التثبيت.\n"
+"إذا قمت بعمل أي تغييرات فيجب عليك أن تعرف التجزيء الجذر (\"/\"). لا تختر\n"
+"تجزيئات صغيرة جدا و إلا لن تستطيع تثبيت برامج كافية. إذا كنت تريد تخزين "
+"البيانات\n"
+"على تجزيء مستقل فستحتاج إلى عمل تجزيء لـ\"/home\"\n"
+"(ممكن فقط إذا كان لديك أكثر من تجزيء للينكس).\n"
+"\n"
+"كل تجزيء مُعطى بالشكل التالي: \"الإسم\"، \"السعة\".\n"
+"\n"
+"\"الإسم\" مركب بالسكل التالي: \"نوع القرص الصلب\"، \"رقم القرص الصلب\"،\n"
+"\"رقم التجزيء\" (مثلا، \"hda1\").\n"
+"\n"
+"\"رقم القرص الصلب\" دائما هو حرف بعد \"hd\" أو \"sd\". بالنسبة للأقراص "
+"الصلبة\n"
+"من نوع IDE فإن:\n"
+" * \"a\" تعني \"القرص الصلب الأساسي على متحكم IDE الأساسي\"،\n"
+"\n"
+" * \"b\" تعني \"القرص الصلب الثانوي على متحكم IDE الأساسي\"،\n"
+"\n"
+" * \"c\" تعني \"القرص الصلب الأساسي على متحكم IDE الثانوي\"،\n"
+"\n"
+" * \"d\" تعني \"القرص الصلب الثانوي على متحكم IDE الثانوي\"،\n"
+"\n"
+"أما بالنسبة لأقراص سكزي SCSI فالحرف \"a\" يعني \"أقل معرف SCSI\"، و الحرف \"b"
+"\"\n"
+"يعني \"ثاني أقل معرف SCSI\"، الخ."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"تثبيت ماندريبا لينكس موزّع على العديد من الأقراص.\n"
+"إن كانت حزمة ما في قرص آخر، سيقوم DrakX بإخراج القرص\n"
+"الحالي و سيطلب منك أن تدخل القرص المطلوب. إن لم يكن القرص المطلوب لديك،\n"
+"فقط اضغط على \"%s\"، ولن يتمّ تثبيت تلك الحزم.."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"حان الوقت الآن لتحديد أيّ البرامج تريد تثبيتها على نظامك.\n"
+"هناك الآلاف من الحزم المتوفّرة لماندريبا لينكس، و\n"
+"لكي نجعلها أسهل إدارة فقد وضعت الحزم في مجموعات من\n"
+"التّطبيقات المتشابهة.\n"
+"\n"
+"يصنف ماندريبا لينكس الحزم في أصناف أربعة. يمكنك \n"
+"خلط ومطابقة التّطبيقات من الأصناف المتعدّدة، بحيث\n"
+"يحتوي تثبيت \"محطّة عمل\" على تطبيقات من فئة خادم.\"\n"
+"\n"
+" * \"%s\": إن كنت تنوي استخدام جهازك كمحطّة عمل، اختر واحد أو\n"
+"أكثر من المجموعات التي في فئة محطّة العمل.\n"
+"\n"
+" * \"%s\": إن كنت تنوي استخدام جهازك للبرمجة، اختر\n"
+"المجموعات المناسبة من تلك الفئة. مجموعة \"LSB\" المميزة سوف\n"
+"تهيئ نظامك بحيث يتوافق قدر الإمكان مع توصيات قاعدة لينكس القياسية.\n"
+"\n"
+" اختيار مجموعة \"LSB\" سوف يثبت أيضاً تسلسل النواة \"2.4\"،\n"
+"بدلاً من \"2.6\" الافتراضيّة. هذا للتأكيد على التوافق الكامل للنظام مع LSB.\n"
+"على كل حال، إن لم تختر مجموعة \"LSB\" فسوف\n"
+"لا يزال يكون لديك نظام متوافق 100%% تقريباً مع LSB.\n"
+"\n"
+" * \"%s\": إن كان جهازك سيستخدم كخادم، اختر أيّاً من\n"
+"الخدمات الأكثر شيوعاً ترغب في تثبيتها على جهازك.\n"
+"\n"
+" * \"%s\": هذا هو المكان الذّي تحدّد فيه بيئتك الرّسوميّة المفضّلة.\n"
+"يجب على الأقلّ اختيار واحدة إن كنت تريد أن يكون لديك\n"
+"واجهة رسوميّة متوفّرة.\n"
+"\n"
+"تحريك مؤشّر الماوس عبر اسم مجموعة سيظهر نصّ شرحٍ مختصرٍ\n"
+"عن تلك المجموعة.\n"
+"\n"
+"يمكنك اختيار مربّع \"%s\"، والذي هو مفيد إن كنت معتاداً على\n"
+"الحزم المُوفّرة أو إن كنت متحكماً تماماً\n"
+"بما سيتم تثبيته.\n"
+"\n"
+"إن بدأت التثبيت بالوضع \"%s\"، يمكنك إزالة اختيار كل المجموعات ومنع تثبيت أي "
+"حزم جديدة. هذا مفيد\n"
+"لإصلاح أو تحديث نظام موجود.\n"
+"\n"
+"إن قمت بإلغاء تحديد كلّ المجموعات عند القيام بتثبيت عاديّ\n"
+"(كما هو الحال في التّحديث)، سينبثق حوار يقترح\n"
+"خيارات متعدّدة للتثبيت الأدنى:\n"
+"\n"
+" * \"%s\": تثبيت أقلّ عدد من الحزم الممكنة لتحصل\n"
+"على سطح مكتب رسوميّ عامل.\n"
+"\n"
+" * \"%s\": بتثبيت النّظام الأساسي بالإضافة إلى الأدوات البسيطة وتوابعها\n"
+"من المواثقة. هذا التثبيت مناسب لإعداد خادم.\n"
+"\n"
+" * \"%s\": سوف يثبت أقلّ عدد ممكن من الحزم الضّروريّة\n"
+"للحصول على نظام لينكس عامل. بهذا التّثبيت ستحصل فقط على\n"
+"واجهة سطر الأوامر. الحجم الكلّي لهذا التّثبيت هو حوالي 65\n"
+"ميجابايت."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ترقية"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "مع وثائق المساعدة الأساسية"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "تثبيت مصغّر جداً"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"إن أخبرت برنامج التثبيت أنك تريد اخيار الحزم فرديّاً،\n"
+"فسوف يقدّم لك شجرة تحتوي كلّ الحزم مصنّفةً بحسب المجموعات و\n"
+"المجموعات الفرعيّة. خلال استعراض الشّجرة، يمكنك تحديد مجموعات بالكامل،\n"
+"مجموعات فرعيّة، أو حزم مفردة.\n"
+"\n"
+"حينما تحدّد حزمة من الشّجرة، يظهر وصفٌ على\n"
+"اليمين يعلمك بالغرض من الحزمة.\n"
+"\n"
+"!! إن تمّ اختيار حزمة خادم، إمّا بسبب أنّك حدّدتها\n"
+"قصداً أو بسبب أنّها كانت جزءً من مجموعة حزم،\n"
+"سوف تسأل التّأكيد على أنّك حقّاً تريد تلك الخادمات أن تكون\n"
+"مثبتة. بشكل افتراضي سيقوم ماندريبا لينكس بتشغيل أي خدمات مثبّتة تلقائيّاً\n"
+"عند بدء التّشغيل. حتى إن كانت آمنة وليس لها أيّ مسائل معروفة حين\n"
+"وقت شحن التّوزيعة، فإنّه من الممكن جدّاً أن\n"
+"تكون الثّغرات الأمنيّة اكتشفت بعد أن تمّ الانتهاء من هذه النّسخة من ماندريبا "
+"لينكس.\n"
+"إن لم تكن تعرف ما يفترض من خدمة معيّنة\n"
+"عمله أو لم سيتمّ تثبيتها، فاضغط على\"%s\". الضّغط على \"%s\"سوف\n"
+"يثبت الخدمات المُسردة وسوف يتمّ تشغيلها تلقائيّاً\n"
+"بشكل افتراضي خلال الإقلاع.!!\n"
+"\n"
+"يستخدم الخيار \"%s\" لتعطيل حوار التّحذير الذي يظهر\n"
+"حينما يحدّد برنامج التثبيت حزمة ليحلّ\n"
+"مسألة اعتماد. بعض الحزم بينها علاقات بحيث\n"
+"يكون تثبيت أحدها يتطلّب تثبيت برامج أخرى أيضاً.\n"
+"يستطيع برنامج التثبيت تحديد الحاجة إلى أي من هذه الحزم\n"
+"لإرضاء الاعتماد لإكمال التّثبيت ينجاح.\n"
+"\n"
+"تسمح لك الأيقونة الصّغيرة للقرص المرن في أسفل اللائحة بتحميل\n"
+"لائحة الحزم المُنشأة خلال تثبيت سابق. يكون هذا نافعاً إن كان\n"
+"لديك عدد من الأجهزة التي تودّ تهيئتها بشكل مشابه. الضّغط\n"
+"على هذه الأيقونة سيسألك إدخال قرص مرن أنشئ في\n"
+"نهاية تثبيت آخر. انظر التّلميح الثّاني من الخطوة الأخيرة عن كيفيّة\n"
+"إنشاء قرص مرن كهذا."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "مُعتمدات آلية"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": الضغط على \"%s\" سيفتح معالج تهيئة\n"
+"الطابعة. اقرأ الفصل المختص في ``دليل المبتدئ''\n"
+"لمزيد من المعلومات عن كيفية تهيئة طابعة جديدة. الواجهة\n"
+"المقدمة في دليلنا\n"
+"هي مماثلة لتلك المستخدمة أثناء التثبيت."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"يستخدم هذا الحوار لاختيار الخدمات التي تودّ تشغيلها عند بدء التشغيل.\n"
+"\n"
+"سيقوم DrakX بعرض قائمة بكل الخدمات المتوفرة في هذا التثبيت.\n"
+"راجع كل خدمة بتمعن و قم بإزالة التأشير من تلك الخدمات التي لا تحتاجها\n"
+"بشكل دائم عند الإقلاع.\n"
+"\n"
+"سيتم عرض شرح قصير حول الخدمة عند\n"
+"اختيارها. عموماً، إن لم تكن متأكد ما إذا كانت الخدمة مفيدة أم لا،\n"
+"فمن الأفضل ترك الخيار الإفتراضي.\n"
+"\n"
+"!! في هذه المرحلة كن حذراُ إذا كنت تريد استخدام ماكينتك\n"
+"كخادم: ربما لن تريد بدء أي خدمات لا تحتاجها.\n"
+"فضلاً تذكر أن العديد من الخدمات قد تكون خطرة إذا كانت\n"
+"متاحة على الخادم. بشكل عام اختر فقط الخدمات التي تحتاجها بالفعل !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"يقوم جنو/لينكس بإدارة الوقت بحسب توقيت غرينتش ثم يترجمه إلى\n"
+"التوقيت المحلي بحسب المنطقة الزّمنية التي اخترتها. إذا كانت الساعة\n"
+"التي في اللّوحة الرئيسية مضبوطة على التوقيت المحلي، يمكنك تعطيل ذلك\n"
+"عن طريق إزالة اختيار \"%s\" و التي ستجعل\n"
+"جنو/لينكس يعلم أن ساعة النظام وساعة الجهاز في نفس المنطقة الزّمنيّة. هذا مفيد "
+"عندما يستضيف الجهاز\n"
+"أيضاً نظام تشغيل آخر.\n"
+"\n"
+"الخيار \"%s\" سيقوم آلياً بضبط الساعة عن طريق الإتصال\n"
+"بخادم وقت بعيد على الإنترنت. كي تعمل هذه الميزة، يجب أن تكون لديك\n"
+"وصلة انترنت عاملة. من الأفضل اختيار خادم الوقت\n"
+"الأقرب إليك. في الحقيقة يُثبت هذا الخيار خادم وقت يمكن استخدامه\n"
+"من قبل الأجهزة الأخرى على الشبكة المحلية أيضاً."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "تزامن وقت آلي"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"بطاقة الرسوم\n"
+"\n"
+" برنامج التثبيت يقوم باكتشاف وتهيئة\n"
+"البطاقة الموجودة على نظامك بشكل آلي. إن لم يحدث ذلك، يمكنك\n"
+"اختيار البطاقة المُتثبيتة لديك بالفعل من القائمة.\n"
+"\n"
+" في حال كانت هناك خادمات رسومية مختلفة لبطاقتك،\n"
+"مع أو بدون تعزيز للرسوم ثلاثية الأبعاد، ستُسأل اختيار الخادم الذي\n"
+"يناسب احتياجاتك أكثر."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"؛X (إشارةً إلى نظام نوافذ X) هو قلب الواجهة الرّسوميّة لجنو/لينكس\n"
+"الذي تعتمد عليه كل البيئات الرّسوميّة (كيدي، جينوم، AfterStep،\n"
+"WindowMaker، وغيرها) المضمّنة مع ماندريبا لينكس.\n"
+"\n"
+"سوف تقدّم لك لائحة من معامِلاتٍ مختلفة يمكنك تغييرها للحصول\n"
+"على العرض الرّسوميّ الأمثل.\n"
+"\n"
+"بطاقة الرسوم\n"
+"\n"
+" عادةً سيقوم المثبت بالاستكشاف والتّهيئة الآليّة\n"
+"للبطاقة الرّسوميّة المثبّثة على جهازك. إن لم يكن ذلك الحال، فيمكنك\n"
+"اختيار البطاقة الموجودة لديك بالفعل من هذه القائمة.\n"
+"\n"
+" في حال توفّرت عدّة خادماتٍ لبطاقتك،\n"
+"مع أو بدون التعزيز الثّلاثي الأبعاد، سوف يطلب منك أن تحدّد الخادم\n"
+"الأكثر ملائمة لحاجاتك.\n"
+"\n"
+"\n"
+"\n"
+"الشّاشة\n"
+"\n"
+" عادةً سيقوم المُتثبيت بالاستكشاف والتهيئة الآليّة\n"
+"للشّاشة المُتّصلة بجهازك. إن لم تكن صحيحة، فيمكنك\n"
+"اختيار الشّاشة المتّصلة بجهازك بالفعل من هذه القائمة.\n"
+"\n"
+"\n"
+"\n"
+"الاستبانة\n"
+"\n"
+" يمكنك هنا اختيار الاستبانة وعمق الألوان المتوفّرين\n"
+"لعتادك الرّسومي. اختر الأكثر مناسبةً لحاجاتك (سوف تكون قادراً على\n"
+"تغيير ذلك بعد التّثبيت على كل حال). تظهر عيّنة من التهيئة\n"
+"المحدّدة في صورة الشّاشة.\n"
+"\n"
+"\n"
+"\n"
+"اختبار\n"
+"\n"
+" قد لا يظهر هذا المُدخل بحسب عتادك.\n"
+"\n"
+" سوف يحاول النّظام فتح شاشة رسوميّة بالاستبانة المرغوبة.\n"
+"إذا رأيت رسالة الاختبار خلال الاختبار وأجبت بـ\"%s\"،\n"
+"فسوف يتقدّم DrakX إلى الخطوة التّالية. إن لم تستطع رؤية الرّسالة، فهذا\n"
+"يعني أن جزءً ما من التّهيئة المكتشفة آلياً كان غير صحيح\n"
+"وسينتهي الاختبار تلقائيّاً بعد 12 ثانية، معيداً إيّاك إلى\n"
+"القائمة. غيّر الإعدادات حتّى تحصل على عرض رسوميّ صحيح.\n"
+"\n"
+"\n"
+"\n"
+"خيارات\n"
+"\n"
+" يمكنك هنا اختيار ما إذا كنت تريد جهازك أن يبدّل تلقائيّاً\n"
+"إلى الواجهة الرّسوميّة عند الإقلاع. طبعاً ستفضّل\n"
+"أن تختار \"%s\" إن كان جهازك سيعمل كخادم، أو إن كنت لم تنجح في\n"
+"تهيئة العرض."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"الشاشة\n"
+"\n"
+" يمكن لبرنامج التثبيت اكتشاف و تهيئة الشاشة المتصلة بماكينتك\n"
+"آلياً. ان لم يحدث ذلك، يمكنك اختيار الشاشة التي لديك\n"
+"من القائمة."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"الاستبانة\n"
+"\n"
+" يمكنك اختيار الاستبانة وعمق الألوان في الحدود المتوفرة للعتاد.\n"
+"اختر تلك التي تناسب احتياجاتك (لا تزال\n"
+"تستطيع تغيير تلك الخيارات بعد التثبيت). يتم عرض عينة\n"
+"من التهيئة المختارة في صورة الشاشة."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"في حال كانت هناك خادمات مختلفة للبطاقة الخاصة بك، مع أو\n"
+"دون تعزيز للرسوم ثلاثية الأبعاد، ستُسأل اختيار الخادم الذي\n"
+"يناسب احتياجاتك."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"الخيارات\n"
+"\n"
+" تخولك هذه الخطوة اختيار ما إذا كنت تريد بدء الواجهة الرسومية\n"
+"عند بدء النظام تلقائيّاً. بوضوح،\n"
+"ستختار \"%s\" إذا كانت ماكينتك ستستخدم كجهاز\n"
+"خادم، أو إذا لم تنجح في تهيئة العرض\n"
+"بشكل صحيح."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"عند هذه النقطة، عليك أن تقرر أين تريد تثبيت نظام\n"
+"التشغيل ماندريبا لينكس على القرص الصلب الخاص بك. إذا كان القرص الصلب\n"
+"فارغاً أو أن نظام تشغيل آخر يستخدم كل المساحة المتوفرة فسوف\n"
+"تحتاج إلى تجزئة القرص الصلب. بشكل عام، تجزئة القرص الصلب\n"
+"تعني تقسيم القرص الصلب منطقياً لإنشاء المساحة المطلوبة لتثبيت\n"
+"نظام ماندريبا لينكس الجديد الخاص بك.\n"
+"\n"
+"عملية تقسيم القرص الصلب لا يمكن التّراجع عنها عادةًَ\n"
+"كما أنها قد تتسبب في خسارة للبيانات إن وجد هناك نظام تشغيل\n"
+"آخر مثبت على هذا القرص الصلب، لذا فإنّ تجزئة القرص قد تكون عمليّةً صعبةً ومرهقة\n"
+"إن لم تكن مستخدماً محترفاً. من حسن الحظ، يوفّر DrakX معالجاً يسهل العملية.\n"
+"قبل متابعة هذه الخطوة، اقرأ بقية هذا القسم و قبل كل شئ، خذ وقتك.\n"
+"\n"
+"اعتماداً على إعدادات القرص الصلب، تتوفر العديد من الخيارات:\n"
+"\n"
+" * \"%s\": هذا الخيار سيقوم بعملية تجزئة آلية\n"
+"للأقراص الصلبة الفارغة. إذا استخدمت هذا الخيار، لن تكون هناك إشعارات أخرى.\n"
+"\n"
+" * \"%s\": يكون المرشد قد اكتشف تجزيء أو أكثر من\n"
+"تجزيئات لينكس على القرص الصلب. إذا كنت تريد استخدامها، اختر هذا\n"
+"الخيار. سيتم بعد ذلك سؤالك عن أماكن التركيب المرتبطة بكل\n"
+"تجزيء. يتم اختيار أماكن التركيب المعتادة افتراضياً،\n"
+"ولأغلب المستخدمين فإنها فكرة جيدة تركها كما هي.\n"
+"\n"
+" * \"%s\" : إذا كان ميكروسوفت ويندوز مثبتاً على القرص الصلب و يحتل كل "
+"المساحة \n"
+"التي عليه، ستحتاج إلى إنشاء مساحة فارغة لبيانات جنو/لينكس. لعمل ذلك يمكنك "
+"حذف\n"
+"تجزيء و بيانات ميكروسوفت ويندوز (انظر حلّ ``إزالة القرص بأكمله'')\n"
+"أو قم بتغيير حجم تجزيء ميكروسوفت ويندوز FAT. يمكن تصغير الحجم\n"
+"دون أي خسارة للبيانات، إن كنت قمت بإزالة تجزّئات التجزيء الخاص بويندوز.\n"
+"يفضّل بشدّة نسخ بياناتك احتياطياً.. استخدام هذا الخيار\n"
+"منصوح به إذا كنت تريد استخدام كل من ماندريبا لينكس و ميكروسوفت ويندوز\n"
+"على نفس الحاسب.\n"
+"\n"
+" قبل اختيارك لهذا الخيار، عليك أن تعلم أنه بعد هذا\n"
+"الإجراء، ستتقلص مساحة تجزيء ميكروسوفت ويندوز عن ما قبل\n"
+"ستكون لديك مساحة فارغة أقل على ميكروسوفت ويندوز\n"
+"لتخزين بياناتك أو تثبيت برامج جديدة.\n"
+"\n"
+" * \"%s\": إذا كنت تريد حذف كل البيانات و كل التجزيئات\n"
+"الموجودة على القرص الصلب و استبدالها بنظام ماندريبا لينكس الجديد\n"
+"الخاص بك، اختر هذا الخيار. كن حذراً، لأنك لن تتمكن من التراجع\n"
+"بعد أن تقوم بالتأكيد.\n"
+"\n"
+" !! إن اخترت هذا الخيار، سيتم حذف كل البيانات الموجودة على القرص. !!\n"
+"\n"
+"؛ * \"%s\". هذا الخيار يظهر في حال كان القرص محتلاً بأكمله\n"
+"من قبل ميكروسوفت ويندوز. سيقوم هذا الخيار ببساطة بمحو كل شيء على القرص و\n"
+"بدء التثبيت من الصفر، مجزّأً كلّ شيء من لاشيء.\n"
+"\n"
+" !! إن اخترت هذا الخيار، ستخسر كلّ البيانات على القرص الخاص بك. !!\n"
+"\n"
+" * \"%s\": اختر هذا الخيار إذا كنت تريد\n"
+"تقسيم القرص الصلب بشكل يدوي. كن حذراً -- هذا الخيار قوي\n"
+"لكنه خطير و من الممكن أن تفقد بياناتك بسهولة. لهذا فإن\n"
+"هذا الخيار مفضّل فقط إذا كنت قد قمت بشئ مماثل من قبل \n"
+"و لديك بعض الخبرة. لمزيد من التعليمات حول استخدام أداة DiskDrake\n"
+"راجع قسم ``إدارة التجزيئات'' في\n"
+"``دليل المبتدئ''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "استخدام التجزيء الموجود"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "مسح كل القرص"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"ها أنت ذا. التثبيت قد اكتمل الآن ونظام جنو/لينكس الخاصّ بك\n"
+"جاهز للاستخدام. فقط اضغط \"%s\" لإعادة تشغيل نظامك. لا تنْسَ أن\n"
+"تزيل وسط التّثبيت (قرص مدمج أو مرن). أوّل شيء يجب أن\n"
+"تراه بعد أن ينتهي حاسبك من فحص عتاده هو\n"
+"قائمة محمّل الإقلاع، والتي تعطيك الخيار لأيّ نظام تشغيل تريد بدءه.\n"
+"\n"
+"زرّ \"%s\" يظهر زرّين إضافيّين كي:\n"
+"\n"
+" * \"%s\": تنشئ قرص تثبيت مرن يساعدك آليّاً\n"
+"بالقيام بالتّثبيت بأكمله دون مساعدة المُشغّل، كما هو\n"
+"التّثبيت الذي قمت بتهيئته للتّوّ.\n"
+"\n"
+" لاحظ أن خيارين مختلفين متوفّرين بعد الضّغط على الزّر:\n"
+"\n"
+" * \"%s\". هذا تثبيت آليّ جزئيّاً. خطوة التّجزئة\n"
+"هي الإجراء الوحيد التّفاعليّ.\n"
+"\n"
+" \"%s\". التّثبيت الآليّ بالكامل: يُعاد كتابة القرص الصّلب\n"
+"بالكامل، وتفقد كلّ البيانات.\n"
+"\n"
+" هذه الميزة مفيدة جدّاً عند تثبيت عدد من الماكينات المتشابهة.\n"
+"راجع قسم التّثبيت الآلي على موقعنا لمزيد من المعلومات.\n"
+"\n"
+" * \"%s\": يحفظ لائحة بالحزم المُختارة في هذا التّثبيت. كي\n"
+"تستخدم هذا الاختيار مع تثبيت آخر، أدخل القرص المرن وابدأ\n"
+"التّثبيت. على الملقن، اضغط مفتاح [F1] واكتب\n"
+">> linux defcfg=\"floppy\" << ثمّ اضغط مفتاح الإدخال.\n"
+"\n"
+"(*) ستحتاج إلى قرص مرن منسّق بنسق FAT. لإنشاءه على GNU/Linux، أدخل\n"
+"\"mformat a:\"، أو \"fdformat /dev/fd0\" تتبعها \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "إنشاء قرص تثبيت آلي"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"إن اخترت إعادة استخدام بعض تجزيئات جنو/لينكس القديمة، قد ترغب\n"
+"بإعادة تنسيق بعضها ومسح أية بيانات تحتويها. لعمل ذلك، الرجاء،\n"
+"اختيار تلك التجزيئات أيضاً.\n"
+"\n"
+"الرجاء ملاحظة أنّه ليس من الضّروري إعادة تنسيق كل التّجزيئات الموجودة مسبقاً.\n"
+"يجب عليك إعادة تنسيق التجزيئات التي تحتوي نظام\n"
+"التشغيل (مثل \"/\", \"/usr\" or \"/var\"( ولكن ليس عليك\n"
+"إعادة تنسيق التجزيئات التي تحتوي بيانات تودّ الاحتفاظ بها (عادة\n"
+"\"/home\").\n"
+"\n"
+"رجاء كن على حذر عند اختيار التّجزيئات. بعد إعادة التّنسيق، كلّ البيانات التي\n"
+"على التّجزيئات المحدّدة سوف تُحذف ولن تكون قادراً على\n"
+"استعادتها.\n"
+"\n"
+"اضغط على \"%s\" عندما تكون جاهزاً لتنسيق التّجزيئات.\n"
+"\n"
+"اضغط على \"%s\" إن كنت تريد اختيار تجزيء آخر من أجل\n"
+"تثبيت نظام التّشغيل ماندريبا لينكس الخاصّ بك.\n"
+"\n"
+"اضغط على \"%s\" إن كنت ترغب باختيار تجزيئات سيتمّ تفحّصها من أجل\n"
+"الكتل السّيئة على القرص."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"في الوقت الذي تقوم فيه بتثبيت ماندريبا لينكس، قد يكون تم تحديث\n"
+"بعض الحزم منذ الإصدار الأول. قد يكون تم إصلاح بعض العيوب\n"
+"أو حل المشاكل الأمنية. لكي تستفيد من هذه التحديثات، يمكنك\n"
+"الآن تنزيل هذه التحديثات عبر الإنترنت. اختر\n"
+"\"%s\" إذا كانت لديك وصلة انترنت عاملة، أو \"%s\" إذا كنت تفضل\n"
+"تثبيت هذه التحديثات لاحقاً.\n"
+"\n"
+"اختيار \"%s\" يعرض قائمة بالأماكن التي يمكن منها الحصول\n"
+"على التحديثات. اختر المكان الأقرب إليك. سيتم عرض قائمة شجريّة بالحزم:\n"
+"راجع اختياراتك، ثم اضغط \"%s\" لجلْب و تثبيت\n"
+"الحزم المختارة، أو \"%s\" لإلغاء التّحديث."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"عند هذه النقطة، سيسمح لك DrakX باختيار المستوى الأمني الذي ترغب به\n"
+"لهذا الجهاز. بديهياً، يجب تعيين مستوى أمني\n"
+"عالٍ إذا كان الجهاز يحتوي على معلومات هامة، أو إذا كان الجهاز\n"
+"سيُستخدم للإتصال بالإنترنت. إنّ استخدام مستوى أمن عالٍ يأتي\n"
+"عادة على حساب سهولة الإستخدام.\n"
+"\n"
+"إن لم تكن تعرف ماذا تختار، أبق الاختيار الافتراضي. سوف تكون\n"
+"قادراً على تغيير مستوى الأمن لاحقاً باستخدام الأداة draksec من\n"
+"لوحة تحكّم ماندريبا .\n"
+"\n"
+"يُعْلم الحقل \"%s\" نظام المُستخدم على هذا الجهاز الذي\n"
+"سيكون مسؤولاً عن الأمن. رسائل الأمن ستُرسل إلى ذلك\n"
+"العنوان."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "مدير الأمن"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"عند هذه النقطة، تحتاج لاختيار أي التجزيئات ستستخدم\n"
+"لتثبيت نظام ماندريبا لينكس. إن كانت التجزيئات بالفعل\n"
+"مُعرّفة، إمّا من تثبيت سابق لجنو/لينكس أو بواسطة\n"
+"أداة أخرى، يمكن أن تستخدم التجزيئات الحاليّة . وإلا، يجب أن تُعَرَّف\n"
+"تجزيئات القرص الصّلب.\n"
+"\n"
+"لإنشاء التجزيئات، يجب أوّلاً يجب أن تختار قرص صلب. يمكن أن تختار\n"
+"قرص للتّجزئة بالضّغط على ''hda'' لقرص IDE الأوّل،\n"
+"\"hdb\" للثّاني، \"sda\" لقرص SCSI الأوّل وهكذا.\n"
+"\n"
+"لتقوم بتجزئة القرص الصّلب المحدّد، يمكنك استخدام هذه الخيارات:\n"
+"\n"
+" * \"%s\": هذا الخيار يحذف كل التجزيئات على القرص الصّلب المحدّد\n"
+"\n"
+" * \"%s\": هذا الخيار يمكّنك من إنشاء تجزيئات ext3 والذّاكرة البديلة آليّاً\n"
+"في المساحة الشّاغرة لقرصك الصّلب\n"
+"\n"
+" * %s: يعطي حقّ الوصول إلى مزايا إضافيّة:\n"
+"\n"
+" * \"%s\": يحفظ جدول التجزئة إلى قرص مرن. مفيد لاسترجاع لاحق\n"
+"لجدول التجزئة إن كان ضروريّاً. من المُستحسن جداً\n"
+"أن تقوم بهذه الخطوة.\n"
+"\n"
+" * %s: يسمح لك باستعادة جدول تجزئة محفوظ مسبقاً من\n"
+"قرص مرن.\n"
+"\n"
+" * \" %s\": إن كان جدول التّجزئة معطوباً، يمكنك محاولة استعادته\n"
+"باستخدام هذا الخيار. رجاءً كن على حذر وتذكّر أنّه لا\n"
+"يعمل دائماً.\n"
+"\n"
+" * \"%s\": يتجاهل كلّ التّغييرات ويعيد تحميل جدول التّجزئة الذي كان\n"
+"أصلاً على القرص الصّلب.\n"
+"\n"
+" * \"%s\": إزالة اختيار هذا الخيار سيجبر المستخدمين على القيام يدويّاً بتجهيز "
+"و\n"
+"فكّ الوسائط القابلة للإزالة كالأقراص المرنة والمدمجة.\n"
+"\n"
+" * \"%s\": استخدم هذا الخيار إن رغبت في استخدام المرشد لتجزئة\n"
+"قرصك الصّلب. هذا مستحسن إن لم يكن لديك فهم جيّد\n"
+"للتّجزئة.\n"
+"\n"
+" * \"%s\": استخدم هذا الخيار لإلغاء تغييراتك.\n"
+"\n"
+" * \"%s\": يوفّر أعمالاً إضافيّة على التجزيئات )النّوع، الخيارات، التّنسيق(\n"
+"ويعطيك المزيد من المعلومات حول القرص الصّلب.\n"
+"\n"
+" * \"%s\": عندما تنتهي من تجزئة قرصك الصّلب، سوف يقوم هذا\n"
+"بحفظ تغييرات إلى القرص.\n"
+"\n"
+"عند تحديد الحجم لتجزيء ما، يمكنك تحديد حجم التّجزيء بدقّة\n"
+"باستخدام مفاتيح الأسهم للوحة مفاتيحك.\n"
+"\n"
+"ملاحظة: يمكنك الوصول إلى أيّ خيار باستخدام لوحة المفاتيح. تنقّل بين\n"
+"التجزيئات باستخدام [TAB] وأسهم أعلى/أسفل.\n"
+"\n"
+"عندما تُحدّد تجزيءً، يمكنك استخدام:\n"
+"\n"
+" * Ctrl-c لإنشاء تجزيء جديد )عندما يكون تجزيء فارغ مُحدّد(.\n"
+"\n"
+" * Ctrl-d لحذف تجزيء\n"
+"\n"
+" * Ctrl-m لتحدّد مكان التركيب.\n"
+"\n"
+"لتحصل على معلومات حول أنواع أنظمة الملفّات المختلفة المتوفّرة، رجاءً\n"
+"اقرا فَصْل ext2FS من ``الدّليل المرجعي``.\n"
+"\n"
+"إن كنت تقوم بالتّثبيت على ماكينة PPC، ستحتاج أن تنشئ تجزيء HFS\n"
+"``bootstrap`` صغير بحجم 1 ميجابايت على الأقلّ والذي سيستخدم بواسطة مُحمّل "
+"الإقلاع yaboot.\n"
+"إن اخترت أن تجعل التجزيء أكبر قليلاً، لنقل 50 ميجابايت، قد تجده\n"
+"مفيد لتخزين نواة احتياطية وصور ramdisk من أجل\n"
+"أوضاع الإقلاع الطّارئة."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "التركيب الآلي للوسائط القابلة للإزالة"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "التغيير إلى الوضع العادي/وضع الخبير"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"تمّ اكتشاف أكثر من تجزيء ميكروسوفت على قرصك الصّلب.\n"
+"رجاء اختيار القرص الذي تريد تغيير حجمه كي تتثبيت\n"
+"نظام تشغيل ماندريبا لينكس الجديد.\n"
+"\n"
+"كل تجزيء مُسرد كما يلي: \"اسم لينكس\"، \"اسم ويندوز\"\n"
+"\"الكثافة\".\n"
+"\n"
+"\"اسم لينكس\" مركّب: \"نوع القرص الصلب\"، \"رقم القرص الصلب\"،\n"
+"\"رقم التّجزيء\" (مثلاً، \"hda1\").\n"
+"\n"
+"\"نوع القرص الصلب\" هو \"hd\" إن كان القرص من نوع IDE و\n"
+"\"sd\" إن كان من نوع SCSI.\n"
+"\n"
+"\"رقم القرص الصّلب\" هو دائماً حرف بعد \"hd\" أو \"sd\". لأقراص IDE الصّلبة:\n"
+"\n"
+" * \"a\" يعني \"القرص الصّلب الرّئيسي على مُتحكّم IDE الأوّلي\"؛\n"
+"\n"
+" * \"b\" يعني \"القرص الصّلب الثّانوي على مُتحكّم IDE الأوّلي\"؛\n"
+"\n"
+" * \"c\" يعني \"القرص الصّلب الرّئيسي على مُتحكّم IDE الثّانوي\"؛\n"
+"\n"
+" * \"d\" يعني \"القرص الصّلب الثّانوي على مُتحكّم IDE الثّانوي\"؛\n"
+"\n"
+"بالنّسبة لأقراص SCSI الصّلبة، \"a\" يعني \"أقلّ رقم تعريف SCSI\"، و\"b\" يعني\n"
+"\"ثاني أقلّ رقم تعريف SCSI\"، إلخ.\n"
+"\n"
+"\"اسم ويندوز\" هو الحرف الخاص بقرصك الصّلب ضمن ويندوز (القرص الأوّل\n"
+"أو التجزيء المسمّى \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": تأكد من اختيار البلد الحالي. إذا لم تكن في هذا\n"
+"البلد، اضغط على زر \"%s\" و اختر بلداً آخر. إذا لم تكن\n"
+"بلدك في القائمة اضغط زر \"%s\" لإظهار قائمة كاملة\n"
+"بالبلدان."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"يتم تنشيط هذه الخطوة فقط إذا عُثر على تجزيء جنو/لينكس موجود\n"
+"على ماكينتك.\n"
+"\n"
+"يحتاج DrakX الآن إلى معرفة ما إذا كنت تريد القيام بتثبيت جديد أو ترقية\n"
+"نظام ماندريبا لينكس الموجود لديك مسبقاً:\n"
+"\n"
+" * \"%s\": في الأغلب، يقوم هذا بإزالة النظام القديم.\n"
+"على أيّ، بناءً على طريقة تجزئتك، يمكنك منع الكتابة على بعض\n"
+"من بياناتك الموجودة مسبقاً (بالطبع الأدلة \"المنزلية\").\n"
+"إن كنت تريد تغيير طريقة تجزئة القرص الصلب، أو تريد تغيير نظام\n"
+"الملفّات، عليك باستخدام هذا الخيار.\n"
+"\n"
+" * \"%s\": صنف التثبيت هذا يسمح لك بتحديث الحزم\n"
+"المثبّتة حاليّاً على نظام ماندريبا لينكس الخاص بك. لن يتم تغيير\n"
+"بياناتك أو تقسيمات القرص الصلب. أغلب\n"
+"خطوات التهيئة الأخرى لا تزال متوفّرة، مثل التثبيت الاعتيادي.\n"
+"\n"
+"استخدام خيار ``الترقية'' يجب أن يعمل بشكل جيد على أنظمة ماندريبا لينكس\n"
+"التي تعمل على إصدار \"8.1\" أو ما بعده. لا ينصح بالترقية\n"
+"من إصدرات ماندريبا لينكس قبل \"8.1\"."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"اعتماداً على اللغة التي اخترتها ()، سيقوم DrakX آليّاً\n"
+"باختيار تهيئة لوحة المفاتيح. تحقّق من أنّ\n"
+"الاختيار يناسبك أو اختر توزيعة لوحة مفاتيح أخرى.\n"
+"\n"
+"أيضاً، قد لا تكون لديك لوحة مفاتيح توافق لغتك تماماً:\n"
+"مثلاً ربما تكون سويسريّاً متكلماً للغة الإنجليزية، قد تكون لديك\n"
+"لوحة مفاتيح سويسرية. أو إذا كنت تتكلم الإنجليزية لكنك موجود في كيبك،\n"
+"ربما تجد نفسك في نفس الموقف حيث لا تتطابق لغتك الأم\n"
+"مع لوحة المفاتيح. في الحالتين، ستسمح لك خطوة التثبيت\n"
+"باختيار لوحة مفاتيح مناسبة من القائمة.\n"
+"\n"
+"اضغط زر \"%s\" لعرض قائمة بكل\n"
+"لوحات المفاتيح المدعومة.\n"
+"\n"
+"إذا اخترت لوحة مفاتيح لحروف غير لاتينية، فسيسمح لك\n"
+"الحوار التالي باختيار اختصارات لوحة المفاتيح التي\n"
+"ستبدل وضع لوحة المفاتيح بين الحروف اللاتينية والغير لاتينية."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"الخطوة الأولى هي اختيار اللغة المفضلة.\n"
+"\n"
+"اختيارك للغة المفضلة سيؤثر على برنامج التثبيت،\n"
+"والنظام بشكل عام. أولاً، اختر المنطقة التي\n"
+"تقع فيها، ثم اللغة التي تتحدثها.\n"
+"\n"
+"ضغط زر \"%s\" سيسمح لك باختيار لغات\n"
+"أخرى ليتم تثبيتها على محطة عملك، ومن ثم\n"
+"تثبيت الملفات الخاصة باللغات لوثائق المساعدة والتطبيقات. مثلاً\n"
+"إذا كنت ستستضيف مستخدمين من أسبانيا على ماكينتك، اختر الإنجليزية\n"
+"كلغة افتراضية في العرض الشجري و\"%s\" في القسم المتقدم.\n"
+"\n"
+"حول دعم UTF-8 (يونيكود): يونيكود هي طريقة تشفير محارف جديدة غرضها\n"
+"تغطية كلّ اللّغات الموجودة. مع ذلك فإن دعمها الكامل في جنو/لينكس ما\n"
+"زال قيد التّطوير. لذلك السّبب، سيستخدمها ماندريبا لينكس أو لا يستخدمها\n"
+"بناءً على خيارات المستخدم:\n"
+"\n"
+" * إن اخترت لغة ذات تراث قويّ (اللّغات\n"
+"لاتيني1، والروسيّة، واليابانيّة، والصينيّة، والكوريّة، والتايلنديّة، واليونانيّة، "
+"والتّركيّة،\n"
+"ومعظم لغات iso-8859-2(، فسيستخدم التّشفير التّراثيّ بشكل افتراضي؛\n"
+"\n"
+" * اللّغات الأخرى ستستخدم يونيكود بشكل افتراضيّ؛\n"
+"\n"
+"إن كان هناك حاجة للغتين أو أكثر، وتلك اللّغات لا تستخدم\n"
+"نفس التّشفير، فسيستخدم يونيكود للنّظام بأكمله؛\n"
+"\n"
+" * أخيراً، يُمكن إجبار استخدام يونيكود للنظام بطلب المستخدم بواسطة\n"
+"اختيار الخيار \"%s\" بشكل منفصل والذي\n"
+"اختيرت لغته.\n"
+"\n"
+"لاحظ أنّك غير محدود باختيار لغة إضافيّة واحدة.\n"
+"يمكنك اختيار عدّة لغات، أو حتّى تثبيتها كلّها باختيار مربّع \"%s\".\n"
+"اختيار دعم لغة يعني أن التّرجمات، والخطوط، ومدقّقات\n"
+"الإملاء، إلخ. لتلك اللّغة سوف تكون مثبتة أيضاً.\n"
+"\n"
+"للتبديل بين اللغات المختلفة المثبتة على نظامك، يمكن\n"
+"تشغيل الأمر \"/usr/sbin/localedrake\" كمستخدم \"root\" لتغيير\n"
+"اللّغة المستخدمة من قبل النّظام بأكمله. تشغيل الأمر كمستخدم عاديّ\n"
+"سوف يغيّر فقط إعدادت اللّغة الخاصّة بذلك المستخدم بذاته."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "الأسبانية"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"عادة، لا يواجه DrakX مشاكل في استكشاف عدد الأزرار في\n"
+"الماوس الخاصّة بك. إذا حدث ذلك، يفترض أن لديك ماوس ذات زرّين وسوف\n"
+"يقوم بتهيأتها لمحاكاة الزرّ الثالث. الزرّ الثالث للماوس ذات\n"
+"الزرّين يمكن الحصول على تأثيره بالضّغط على الزرّين الأيسر\n"
+"والأيمن بنفس الوقت. سوف يعرف DrakX تلقائيّاً ما إذا كانت الماوس الخاصّة بك "
+"تستخدم\n"
+"واجهة PS/2، أو متوالية أو USB.\n"
+"\n"
+"في حال كان لديك ماوس ذات ثلاثة أزرار دون عجل، يمكنك اختيار الماوس\n"
+"التي تظهر بإسم \"%s\". سيقوم DrakX بعدها بتهيأت الماوس الخاصّة بك حتّى تستطيع\n"
+"مُحاكاة العجل بها: لتقوم بذلك، اضغط الزرّ الأوسط وحرّك\n"
+"الماوس للأعلى وللأسفل.\n"
+"\n"
+"إن رغبت لسبب ما اختيار نوع ماوس آخر، اخترها\n"
+"من اللائحة المُقدَّمة.\n"
+"\n"
+"يمكنك تحديد المُدخل \"%s\" لاختيار نوع ماوس ``شامل'' والذي\n"
+"سوف يعمل تقريباً مع كل الأنواع.\n"
+"\n"
+"إن اخترت ماوس غير الافتراضيّة، سوف تظهر شاشة\n"
+"اختباريّة. استخدم الأزرار والعجل للتأكّد من أن الإعدادات\n"
+"صحيحة وأنّ الماوس تعمل بشكل صحيح. إن لم تكن الماوس\n"
+"تعمل بشكل جيّد، اضغط مفتاح المسافة أو [الإرجاع] لإلغاء الاختبار و\n"
+"العودة إلى لائحة الخيارات.\n"
+"\n"
+"كثيراً ما يتعذر استكشاف أجهزة الماوس ذات العجلات تلقائيّاً، لذا ستحتاج\n"
+"لاختيار الماوس من القائمة. تأكّد من اختيار التي تطابق\n"
+"المنفذ الذي تتّصل به الماوس الخاصّة بك. بعد اختيار الماوس و\n"
+"الضّغط على الزّرّ \"%s\"، تظهر صورة الماوس على الشّاشة. أدرْ\n"
+"عجل الماوس للتّأكّد من أنّه مُنشّط بشكل صحيح. أثناء تحريك\n"
+"عجل الماوس، ستراه كذلك يتحرك على الشاشة.\n"
+"قم باختبار الأزرار وتحقق من أن المؤشر يتحرك على الشاشة\n"
+"بينما تقوم بتحريكه حولها."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "بمحاكاة العجلة"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "عالمي | أيّ ماوس PS/2 و USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"الرجاء اختيار المنفذ الصحيح. مثلاً لمنفذ \"COM1\" في\n"
+"ويندوز اسمه \"ttys0\" في لينكس."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"هذه هي أهم خطوة تتخذها لأمن نظام جنو/لينكس الخاصّ بك:\n"
+"عليك إدخال كلمة مرور المستخدم \"root\". \"Root\" هو\n"
+"مدير النظام والمستخدم الوحيد المخوّل بتحديث النظام، وإضافة المستخدمين،\n"
+"وتغيير تهيئة النظام بشكل عام، الخ. باختصار يمكن للمستخدم \"root\" أن يفعل\n"
+"كل شئ! لذا عليك اختيار كلمة مرور صعبة\n"
+"التّخمين: سيخبرك DrakX إذا كانت كلمة المرور التي تستخدمها سهلة. كما\n"
+"ترى، لست مجبراً على إدخال كلمة مرور، لكننا ننصح بشدة ألا تفعل هذا. جنو/لينكس "
+"مُعرّص لأخطاء المُشغّل كأيّ\n"
+"نظام تشغيل آخر. وحيث أن \"الجذر\" يمكنه تعدي كل الحدود\n"
+"و قد يحذف كل البيانات عن غير قصد بالوصول إلى التجزيئات بلا مبالاة\n"
+"فإنّه من المهمّ أن يكون من الصّعب أن تصبح المستخدم\n"
+"\"root\".\n"
+"\n"
+"يجب أن تكون كلمة المرور خليطاً من الحروف والأرقام كما يجب أن تحتوي\n"
+"على 8 حروف على الأقل. لا تكتب كلمة مرور \"الجذر\" على ورق -- هذا يسهّل\n"
+"اختراق النظام إذا رأى أحد كلمة المرور.\n"
+"\n"
+"نصيحة أخرى -- لا تجعل كلمة المرور طويلة جداً أو معقّدة لأنك يجب أن تكون\n"
+"قادراً على تذكرها!\n"
+"\n"
+"لن يتم عرض كلمة المرور على الشاشة عند كتابتها. لتقليل فرصة حدوث\n"
+"خطأ أثناء الكتابة، ستحتاج إلى إدخال كلمة المرور مرتين.\n"
+"إذا أخطأت في الكتابة في المرتين، فسيجب استخدام كلمة\n"
+"المرور \"الخاطئة\" في المرة الأولى التي ستحاول فيها الاتصال كمستخدم \"جذر"
+"\".\n"
+"\n"
+"إذا أردت أن يكون الوصول إلى هذا الحاسب يتحكّم به\n"
+"خادم مواثقة، اضغط \"%s\".\n"
+"\n"
+"إذا كانت شبكتك تستخدم LDAP، أوNIS، أو خدمات PDC مواثقة نطاق ويندوز، اختر "
+"الخيار المناسب لـ\"%s\". إن لم تعرف أيّها تريد\n"
+"استخدامه، اسأل مدير الشبكة لديك.\n"
+"\n"
+"إذا كانت لديك مشكلة في تذكر كلمات المرور، يمكنك اختيار\n"
+"\"%s\" إذا لم يكن الحاسب الخاص بك متصلاً بالإنترنت،\n"
+"أو أنك تثق في جميع من يستخدمون حاسبك."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "المواثقة"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"محمّل الإقلاع هو برنامج بسيط يشغلّه حاسبك وقت الإقلاع.\n"
+"وهو المسؤول عن بدء تشغيل النظام بأكمله. عادة، يكون\n"
+"تثبيت محمّل الإقلاع آلياً بالكامل. سيقوم DrakX بتحليل قطاع التركيب الخاص "
+"بالقرص\n"
+"ويتصرف بحسب ما يجد هناك:\n"
+"\n"
+" * إن عثر على قطاع تحميل ويندوز، فسيقوم باستبداله بقطاع تحميل LILO/GRUB.\n"
+"بهذه الطريقة ستستطيع تحميل جنو/لينكس أو أيّ\n"
+"نظام تشغيل آخر على ماكينتك.\n"
+"\n"
+" * إذا تم العثور على قطاع تحميل LILO أو GRUB، سيتم استبداله بقطاع جديد.\n"
+"\n"
+"إن لم يستطع DrakX أن يقرر مكان وضع قطاع الإقلاع، فسيسألك\n"
+"عن المكان الأكثر أماناً لوضعه فيه. عامة، \"%s\" هو الأكثر أماناً.\n"
+"اختيار \"%s\" لن يقوم بتثبيت أيّ محمّل إقلاع. اسخدم هذا الخيار فقط\n"
+"إن كنت تعرف ماذا تفعل."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"الآن، حان وقت اختيار نظام الطباعة لحاسبك. قد توفّر أنظمة التشغيل الأخرى\n"
+"نظام طباعة واحد، لكن ماندريبا لينكس يوفر لك نظامين. كل نظام مناسب\n"
+"لنوع معين من التهيئة.\n"
+"\n"
+" * \"%s\" -- وهو اختصار لـ``اطبع و لا تصفّ''، هو الخيار الأمثل\n"
+"إذا كانت لديك وصلة مباشرة بالطابعة، و تريد أن تكون قادراً على\n"
+"تفادي أي ارتباك في الطابعة، وليس لديك طابعات شبكيّة.(يقوم \"%s\"\n"
+"بالتعامل مع حالات الشبكة البسيطة ويعيبه البطء عند الاستخدام\n"
+"مع الشبكات). من الأفضل أن تستخدم \"pdq\" إذا.\n"
+"كانت هذه تجربتك الأولى مع جنو/لينكس.\n"
+"\n"
+" * \"%s\" - ``نظام طباعة يونكس الشّائع CUPS''، هو الخيار الأمثل\n"
+"للطباعة على طابعتك المحلية أو حتى على طابعة في النصف الآخر من الكوكب. إنه\n"
+"سهل الإعداد و يمكن أن يتصرف كخادم أو كعميل لأنظمة طباعة \"lpd\"\n"
+"القديمة، لذا فإنه متوافق مع أنظمة التشغيل القديمة\n"
+"التي لا تزال تحتاج إلى خدمات الطباعة. بينما التهيئة سهلة\n"
+"و قوية مثل \"pdq\". إذا كنت تحتاج إلى محاكاة خادم \"lpd\"، تأكّد\n"
+"من تشغيل عفريت \"cups-lpd\".\n"
+"يحتوي \"%s\" على واجهات\n"
+"رسوميّة للطّباعة أو لتحديد خيارات الطّابعة\n"
+"ولإدارة الطابعة.\n"
+"\n"
+"إذا قررت اختيارك الآن، ثم لم يعجبك نظام الطباعة\n"
+"فيما بعد، يمكنك تغييره عن طريق تشغيل PrinterDrake من مركز تحكم ماندريبا "
+"لينكس\n"
+"و الضغط على زرّ \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "وضعية الخبير"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"سيقوم DrakX أولاً بالتحقق من أي أجهزة IDE مرتبطة بالحاسب. سيقوم\n"
+"أيضا بالتحقق من وجود بطاقات PCI SCSI على نظامك. إذا تم ايجاد\n"
+"بطاقة SCSI، سيقوم DrakX تلقائياً بتثبيت المُشغّل المناسب.\n"
+"\n"
+"لأن التحقق الآلي من العتاد غير خالي من الأخطاء، قد يتعذر\n"
+"على DrakX التحقق من أقراصك الصلبة. لذا سيكون عليك تحديد عتادك يدوياً.\n"
+"\n"
+"إذا اضطررت إلى تحديد موائم PCI SCSI يدوياً، سيسألك DrakX عمّا إذا\n"
+"كنت تريد تهيئة الخيارات الخاصة به. يجب أن تسمح لـ DrakX بأن\n"
+"يقوم بالتحقق الآلي من العتاد لكي يحدد الخيارات الخاصة بالبطاقة\n"
+"و التي يحتاج اليها لتشغيل الموائم. في أغلب الأحيان، سيتخطى DrakX\n"
+"هذه الخطوة بدون أي مشاكل.\n"
+"\n"
+"إذا تعذر على DrakX التحقق من الخيارات آلياً ستحتاج\n"
+"إلى تهيئة المُشغّل يدوياً."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": إذا تم اكتشاف بطاقة صوت على نظامك، سيتم عرضها\n"
+"هنا. إذا لاحظت أن بطاقة الصوت المعروضة هنا ليست تلك الموجودة\n"
+"فعلاً على نظامك، يمكنك الضغط على الزر و اختيار مشغل\n"
+"آخر."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"كمُراجعة، سيقدّم DrakX تلخيص المعلومات التي استجمعها حول\n"
+"نظامك. بناءً على عتادك المثبت، قد يكون لديك بعض أو كلّ\n"
+"المُدخلات التّالية. كل مُدخل مكوّن من عنصر التهيئة المطلوب\n"
+"تهيئته، متبوعاً بملخّص سريع من التّهيئة الحاليّة.\n"
+"اضغط على الزّر المرافق \"%s\" لتغييّر ذلك.\n"
+"\n"
+"* \"%s\": تحقّق من تهيئة خريطة لوحة المفاتيح الحاليّة وغيّرها إن كان\n"
+"ضروريّاً.\n"
+"\n"
+" * \"%s\": تحقّق من اختيار الدّولة الحالي. إن لم تكن في هذه\n"
+"الدّولة، اضغط على زرّ \"%s\" واختر دولة أخرى. إن لم تكن دولتك\n"
+"في القائمة المعروضة الأولى، اضغط على الزّر \"%s\" لتحصل على لائحة\n"
+"الدّول الكاملة.\n"
+"\n"
+" * \"%s\": بشكل افتراضي، يخفّض DrakX توقيتك الزّمني بناءً على الدّولة\n"
+"التي اخترتها. يمكنك الضّغط على الزّر \"%s\" هنا إن لم يكن ذلك\n"
+"صحيحاً.\n"
+"\n"
+" * \"%s\": تحقّق من تهيئة الماوس الحاليّة واضغط على الزّر كي\n"
+"تغيّرها إن كان ضروريّاً.\n"
+"\n"
+" * \"%s\": الضّغط على الزّر \"%s\" سيفتح\n"
+"معالج تهيئة الطّابعة. راجع الفصل المتعلّق من ``دليل\n"
+"المبتدئ'' للمزيد من المعلومات حول كيفيّة تهيئة طابعة جديدة. الواجهة\n"
+"المعروضة هناك مشابهة للتي هي مستخدمة خلال التّثبيت.\n"
+"\n"
+" * \"%s\": إن اكتشف بطاقة صوت في نظامك، سوف تُعرض\n"
+"هنا. إن لاحظت أنّ بطاقة الصّوت المعروضة ليست هي التّي\n"
+"فعليّاً موجودة في نظامك، يمكنك الضّغط على الزّر واختيار\n"
+"مشغّل آخر.\n"
+"\n"
+" * \"%s\": إن كانت لديك بطاقة تلفزيون على نظامك، يتمّ عرضها\n"
+"هنا وإن كانت لديك ولم تُكتشف،\n"
+"اضغط على \"%s\" تحاول تهيئتها يدوياً.\n"
+"\n"
+" * \"%s\": يمكنك الضغط على \"%s\" كي تُغيّر المُعطيات المرتبطة\n"
+"مع البطاقة إن شعرت بخطأ ما في التهيئة.\n"
+"\n"
+" * \"%s\": بشكل افتراضي، يهيّء DrakX واجهتك الرّسوميّة\n"
+"بدقّة \"800×600\" أو \"1024×768\". إن لم يناسبك ذلك، اضغط على\n"
+"\"%s\" كي تهيّء واجهتك الرّسوميّة.\n"
+"\n"
+"\n"
+" * \"%s\": إن رغبت بتهيئة الوصول إلى الإنترنت والشّبكة المحل، فيمكنك عمل ذلك "
+"الآن. راجع الكتيّبات المطبوعة أو\n"
+"استخدم مركز تحكّم ماندريبا لينكس بعض الانتهاء من التثبيت كي تستفيد\n"
+"من المساعدة المُدرجة بالكامل.\n"
+"\n"
+" * \"%s\": يمكنك من تهيئة عناوين بروكسي HTTP و FTP إن كانت الماكينة التي\n"
+"تقوم بالتثبيت عليها واقعة خلف خادم بروكسي.\n"
+"\n"
+" * \"%s\": هذا المُدخل يمكنّك من إعادة تعريف مستوى الأمن كما هو محدّد في\n"
+"الخطوة السّابقة ().\n"
+"\n"
+" * \"%s\": إن كنت تنوي وصل ماكينتك إلى الإنترنت، فإنّها لفكرة جيّدة\n"
+"أن تحمي نفسك من التّدخّلات الخارجيّة بإعداد جدار ناريّ. راجع\n"
+"الفصل المتعلّق من ``دليل المبتدئ'' لتفاصل\n"
+"إعدادات الجدار النّاري.\n"
+"\n"
+" * \"%s\": إن رغبت بتغيير تهيئة محمّل الإقلاع، اضغط ذلك\n"
+"الزّر. يجب أن يُحتفظ بهذا للمستخدمين المُتقدّم راجع الكتيبات المطبوعة أو "
+"المساعدة المضمنة حول تهيئة محمل الإقلاع من خلال\n"
+"مركز تحكم ماندريبا لينكس.\n"
+"\n"
+" * \"%s\": سيمكنك هذا من ضبط التّحكّم بالخدمات التي سوف تشغّل\n"
+"على ماكينتك. إن نويت استخدام هذه الماكنية كخادم فإنّها لفكرة جيّدة\n"
+"أن تُراجع هذه الخطوة."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "بطاقة ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "الواجهة الرسومية"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"اختر القرص الصلب الذي تريد محوه لتثبيت تجزيء\n"
+"ماندريبا لينكس الجديدة. خذ حذرك، كل البيانات الموجود عليه ستضيع\n"
+"و لن يمكن استعادتها!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"اضغط \"%s\" إن كنت تريد حذف كل التجزيئات الموجودة على القرص\n"
+"الصلب. خذ حذرك، بعد ضغطك لزر \"%s\" لن تتمكن من استعادة\n"
+"أي بيانات أو تجزئات كانت موجودة على هذا القرص الصلب، بما في ذلك\n"
+"أي بيانات ويندوز.\n"
+"\n"
+"اضغط \"%s\" لإيقاف هذه العملية دون خسارة أي بيانات أو تجزيئات\n"
+"موجودة على القرص الصلب."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "التالي ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- السابق "
+
diff --git a/perl-install/install/help/po/az.po b/perl-install/install/help/po/az.po
new file mode 100644
index 000000000..f8948da00
--- /dev/null
+++ b/perl-install/install/help/po/az.po
@@ -0,0 +1,1926 @@
+# translation of DrakX-az.po to Azerbaijani
+# translation of DrakX-az.po to Azerbaijani Turkish
+# DrakX-az.po faylının Azərbaycan dilinə tərcüməsi
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Vasif Ismailoglu MD<azerb_linux@hotmail.com> , 2000-2001
+# Mətin Əmirov <metin@karegen.com>, 2001-2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-az\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-03-31 14:21+0200\n"
+"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Davam etmədən əvvəl, diqqətlə lisenziyanın qaydalarını oxumalısınız. O,\n"
+"bütün Mandriva Linux distribusiyasını əhatə edir. Əgər lisenziyadakı bütün\n"
+"qaydalarla razısınızsa, qutusunu \"%s\" işarələyin. Əgər razı deyilsəniz, "
+"sadəcə olaraq kompüterinizi bağlayın."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linuks çox istifadəçili əməliyyat sistemidir, bu da o deməkdir ki\n"
+"hər istifadəçinin öz xüsusi seçimləri, faylları və s. ola bilər. Ancaq \n"
+"sistem idarəçisi olan \"ali istifadəçi\" xaricindəki indi əlavə edəcəyiniz\n"
+"istifadəçilər öz faylları və qurğuları xaricində sistemin heç bir təhlükəli\n"
+"yeri ilə iş görə bilməz və beləcə də sistem istənməyən pozulmalara qarşı\n"
+"qorunmuş olacaq. Ən az bir dənə sıravi istifadəçi yaradmalısınız və bu "
+"hesabı\n"
+"gündəlik işləriniz üçün istifadə etməlisiniz. Ali İstifadəçi olaraq giriş "
+"etmək də\n"
+"olduqca asanddır ancaq bu eyni zamanda çox təhlükəlidir. Çox kiçik bir xəta "
+"ilə\n"
+"sistemi qeyri-fəal vəziyyətə gətirə bilərsiniz. Ancaq sıravi istifadəçi "
+"olaraq xəta\n"
+"ediləndə ancaq bəzi mə'lumatları itirəcək, sisteminiz yenə də sağlam \n"
+"qalacaqdır.\n"
+"\n"
+"Birinci sahə sizdən adı soruşacaq. Əlbəttə ki bunu yazmaq məcburi deyil. \n"
+"Oraya istədiyiniz kəlmələri yaza bilərsiniz. DrakX buraya yazdığınız "
+"kəlmələrin\n"
+"ilk kəlməsini alıb \"%s\" sahəsinə köçürəcək, bu istifadəçinin sistemə "
+"girmək\n"
+"üçün işlədəcəyi istifadəçi adı olacaq. İstəsəniz bunu da dəyişdirə "
+"bilərsiniz.\n"
+"Sonrakı addım şifrə girməkdir. Təhlükəsizlik nəzər nöqtəsindən şifrəsi "
+"olmayan\n"
+"sıravi istifadəçi ali istifadəçi qədər səlahiyyətli ola bilməz ancaq yenə də "
+"sizə\n"
+"hər bir istifadəçiyə tapılması asand olmayan bir şifrə tə'yin etmənizi \n"
+"məsləhət görürük\n"
+"\n"
+"\"%s\" basdıqdan sonra başqa istifadəçiləri də əlavə edə bilərsiniz. Hər "
+"dostunuz\n"
+"üçün bir istifadəçi əlavə edin, misal üçün atanız, qardaşınız kimi. "
+"İstifadəçiləri əlavə \n"
+"etməyi bitirəndə \"%s\" düyməsinə basın.\n"
+"\n"
+"\"%s\" düyməsi istifadəçinin işlədəcəyi qabığı dəyişdirmək üçündür. \n"
+"(əsas olan bash qabığıdır).\n"
+"\n"
+"İstifadəçiləri əlavə edib bitirəndə sizə kompüteriniz açılanda hansı "
+"istifadəçinin\n"
+"avtomatik olaraq sistemə daxil etmək istədiyiniz sualı veriləcəkdir. Əgər "
+"bu\n"
+"xüsusiyyət xoşunuza gəlirsə və təhlükəsizlik haqqında elə də "
+"maraqlanmırsınızsal\n"
+"istədiyiniz istifadəçini və pəncərə idarəçisini seçib \"%s\" düyməsinə "
+"basın.\n"
+"Əgər bu xassə sizi maraqlandırmırsa \"%s\" qutusunun seçimini silin."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu xüsusiyyəti istifadə etmək istəyirsiniz?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Burada sürücünüzdə tapılan Linuks bölmələri sıralanıb.\n"
+"Sehirbazın məsləhətlərinə qulaq asın, onlar çox vaxt işə yarayır.\n"
+"Əgər hər hansı bir dəyişiklik etsəniz ən azından kök bölməsini (\"/\") "
+"müəyyən\n"
+"etməlisiniz. Çox kiçik bölmə seçməyin, yoxsa kifayət qədər proqram "
+"tə'minatı\n"
+"qura bilməyəcəksiniz. Əgər mə'lumatlarınızı başqa bölmədə tutmaq "
+"istəyirsinizsə,\n"
+"o zaman bir də \"/home\" bölməsi yaratmalısınız (yalnız birdən çox Linuks\n"
+"bölməniz var isə mümkündür).\n"
+"\n"
+"Hər bölmə bu cür sıralanıb; \"Ad\",\"Həcm\".\n"
+"\n"
+"\"Ad\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
+"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
+"\n"
+"\"Sabit disk növü\" diskiniz İDE sürücüsü isə \"hd\"dir, SCSİ sürücüsü isə\n"
+"\"sd\"dir.\n"
+"\n"
+"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. İDE \n"
+"sürücülər üçün:\n"
+"\n"
+"* \"a\" mə'nası \"birinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"b\" mə'nası \"birinci İDE idarəçisində qul (slave) sürücü\",\n"
+"\n"
+"* \"c\" mə'nası \"ikinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"d\" mə'nası \"ikinci İDE idarəçisində qul (slave) sürücü\".\n"
+"\n"
+"\n"
+"SCSİ sürücülərində, \"a\"nın mə'nası \"ən düşük SCSİ ID\",\n"
+"\"b\"nin mə'nası \"ikinci ən düşük SCSİ ID\"dir, vs..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux qurulumu müxtəlif CD-lər üstündə gəlir. DrakX\n"
+"seçili paketlərin hansı CD'də olduğunu bilir ona görə də lazım olanda\n"
+"hazırkı CD-ni çıxardıb sizdən lazım olan CD-ni daxil etməyi istəyəcək.\n"
+"Əgər əlinizin altında istənən CD yoxdursa \"%s\" düyməsinə basın və istənən\n"
+"paketlər qurulmayacaqdır."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"İndi sisteminizə qurmaq istədiyiniz proqramları müəyyən etmə vaxtıdır.\n"
+"Mandriva Linux daxilində minlərcə proqram mövcuddur və idarələrinin\n"
+"asan olması üçün onlar bənzər paketlər qruplarına ayrılıblar.\n"
+"\n"
+"Paketlər sisteminizin xüsusui istifadə sahəsinə görə qruplanıb.\n"
+"Mandriva Linuxda dörd əvvəldən müəyyən edilmiş qurulum növü mövcuddur.\n"
+"Yalnız siz bu qrupları yenə də qarışdıra bilərsiniz və istədiyiniz əlavə.\n"
+"proqramları seçə bilərsiniz. Misal üçün ''İş Stansiyası'' qurulumu\n"
+"``İnkişaf'' qurulumundakı proqramları daxil edə bilər.\n"
+"\n"
+" * \"%s\": əgər sisteminiz iş stansiyası olaraq istifadə ediləcəksə, bu\n"
+"qrupda yer alan bir ya da daha çox proqramı seçin.\n"
+"\n"
+" * \"%s\": əgər sisteminizi proqramlaşdırma və inkişaf üçün işlədəcəksəniz,\n"
+"bu qrupdakı proqramları seçə bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər sisteminiz verici olacaqsa, sisteminizə hansı xidmətləri\n"
+"qurmaq istədiyinizi buradan seçin.\n"
+"\n"
+" * \"%s\": qrafiki istifadəçi mühidini burada seçəcəksiniz. Əgər "
+"sisteminizdə\n"
+"qrafiki mühit işlətmək istəyirsinizsə ən az birisi seçilməlidir.\n"
+"\n"
+"Siçanın oxu qrup adının üstünə gələndə o qrup haqqında qısa izahat\n"
+"göstəriləcək. Əgər sistemi qurarkən bu qruplardan heç birini seçməsəniz\n"
+"minimal qurulum üçün fərqli seçimləri təqdim edən bir pəncərə\n"
+"göstəriləcək:\n"
+"\n"
+" * \"%s\": minimal ədəddə paket qur, işləyən qrafiki ara üzə malik\n"
+"olma mümkündür.\n"
+"\n"
+" * \"%s\": sistem bazası və əsas tə'minatlar və sənədləri qurulacaq.\n"
+"Bu qurulum növü verici quraşdırmaq üçün uyğundur.\n"
+"\n"
+" * \"%s\": işləyən Linuks sistemi üçün lazım olan ən minimal paketlər\n"
+"qurulacaq. Bu qurulum ilə yalnız əmr sətirinə malik olacaqsınız.\n"
+"Qurulumun ümumi böyüklüyü təqribən 65 meqabayt olacaq.\n"
+"\n"
+"Təklif edilən paketləri tanıyırsınızsa ya da qurulan hər paket üstündə\n"
+"tam idarə sahibi olmaq istəyirsinizsə\"%s\" qutusunu işarələyə bilərsiniz\n"
+"\n"
+"Əgər qurulumu \"%s\" modunda başlatmışsınızsa, yeni paketlərin\n"
+"qurulmasının qabağını almaq üçün bütün qrupların seçimini silə\n"
+"bilərsiniz. Bu əsasən sistem tə'mir edilirkən ya da yenilənirkən\n"
+"sərfəlidir."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Yeniləmə"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Əsas sənədlərlə birlikdə"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Həqiqətən minimal qurulum"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Əgər qurulum proqramına paketləri ayrı ayrı seçmək istədiyinizi dedinizsə,\n"
+"o, qrup və alt qruplara ayrılmış paketləri ağac şəklində sizə göstərəcək.\n"
+"Bu ağacda gəzərkən, bütün qrupu, alt qrupu ya da paketləri ayrı ayrı seçə "
+"biləcəksiniz\n"
+"\n"
+"Hər paket seçişinizdə sağ tərəfdə bu paket ilə əlaqəli və onun nə işə\n"
+"yaradığını göstərən mə'lumat yer alacaq.\n"
+"\n"
+"!! Əgər paketin ya da paketin daxil oduğu alt qrupun seçilməsi ilə bir "
+"verici\n"
+"seçilsə, sizə bu vericini həqiqətən də qurmaq istədiyinizi soruşan və "
+"sizdən\n"
+"təsdiq istəyən pəncərə göstəriləcək. Əsas olaraq Mandriva Linux bütün "
+"qurulu\n"
+"olan xidmətləri açılışda fəal edir. Distribusiyanın çıxdığı vaxt onların "
+"bilinən heç bir\n"
+"xətası ya da təhlükəli yanı olmasa da, mümkündür ki, müəyyən vaxt sonra\n"
+"təhlükəsizlik nöqtələri aşkar edilə bilər. Əgər seçilən xidmətin nə etdiyini "
+"və nəyə\n"
+"yaradığını bilmirsinizsə, \"%s\" düyməsinə basın. \"%s\" düyməsini seçsəniz "
+"isə\n"
+"xidmət sisteminizə qurulacaq və sisteminizin açılışında fəal hala "
+"gətiriləcək.\n"
+"Qeyd: Xidmətlərin açılışda fəal olub olmamasını qurulum bitdikdən sonra da\n"
+"Mandriva Linux İdarə Mərkəzindən quraşdıra bilərsiniz!!\n"
+"\n"
+"\"%s\" seçimi, bir proqramı seçdiyiniz zaman qurulum proqramının o proqram "
+"ilə\n"
+"əlaqəli diqər paket ya da asıllılıqların avtomatik seçməsi üçündür.\n"
+"Bə'zi paketlər bir birindən aslıdır və birinin qurulması digərinin də "
+"qurulmasını\n"
+"məcbur qılır. Bu paketləri qurulum proqramı müvəffəqiyyətlə taparaq "
+"sisteminizə\n"
+"quracaq.\n"
+"\n"
+"Siyahının altındakı kiçik disket rəsmi isə daha əvvəlki qurulumda (əgər "
+"yaratmışsınızsa)\n"
+"yaradılan paket siyahısı faylını yükləmək üçündür. Bu, birdən çox kompüterə "
+"eyni\n"
+"paket ya da proqramları qurmaq istədiyiniz zaman çox əlverişlidir. Düyməyə\n"
+"basdıqdan sonra sizdən disketi daxil etməniz xahiş ediləcək.\n"
+"Belə bir disketi necə yaradılacağını bilmək istəyirsinizsə son qurulum "
+"addımının \n"
+"ikinci yardım abzasına baxa bilərsiniz."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Avtomatik asıllılıqlar"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" düyməsinə basmaq çapçı quraşdırma sehirbazını başladacaq."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Bu dialoq, açılışda avtomatik olaraq başlamasını istədiyiniz xidmətləri \n"
+"seçmək üçündür.\n"
+"\n"
+"DrakX hazırkı qurulumda mövcud olan bütün xidmətləri siyahıda göstərəcək.\n"
+"Hər birini diqqətlə nəzərdən keçirin və açılış vaxtı ehtiyac hiss "
+"etmədiyiniz\n"
+"xidmətlərin qabağındakı seçimi silin.\n"
+"\n"
+" Siçan xidmətin üzərinə gələndə o xidmətin vəzifəsini başa salan mətn\n"
+"göstəriləcək. Yalnız, əgər xidmətin faydalı olub olmamasından əmin "
+"deyilsəniz\n"
+"ən yaxşısı onu olduğu kimi saxlamaq olacaq.\n"
+"\n"
+"!! Əgər kompüteriniz verici olaraq istifadə ediləcəksə, bu addıma diqqət\n"
+"ayırmalısınız: istəmədiyiniz xidmətləri başlanğıcda başlatmaq "
+"istəməyəcəksiniz.\n"
+"Diqqətinizdə saxlayın ki, bə'zi xidmətlər fəal isə, bu verici üstündə "
+"təhlükəli ola bilər.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linuks vaxtı GMT (Greenwich Mean Time) ilə idarə edir və onu yerli\n"
+"vaxtı seçdiyiniz vaxt zolağına bağlı olaraq seçir. Əgər ana kartınızın "
+"saatı\n"
+"yerli saata quraşdırılıbsa, bunu, \"%s\"i seçərək qeyri-fəallaşdıra "
+"bilərsiniz,\n"
+"Bu, Linuksa sistem vaxtı ilə avadanlıq vaxtının eyni vaxt zolağında "
+"olduğunu\n"
+"bildirəcək. Bu, sistemdə Windows kimi digər əməliyyat sistemi mövcuddursa\n"
+"faydalıdır.\n"
+"\n"
+"\"%s\" seçimi isə, saatınızı internetdəki uzaq zaman vericisinə bağlanaraq\n"
+"düzəldəcək. Bu xüsusiyyətin işləməsi üçün, internet bağlantınız olmalıdır.\n"
+"Sizə ən yaxın olan vericini seçmək məsləhət edilir.\n"
+"Bu seçim əslində yerli şəbəkənizdəki başqa kompüterlərin də istifadə edə\n"
+"biləcəyi zaman vericisini qurur."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Avtomatik zaman sinxronlaşdırılması"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Səs Kartı\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan səs kartını əsasən avtomatik "
+"olaraq\n"
+"aşkar edəcəkvə quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
+"olan\n"
+"səs kartını siyahıdan seçə bilərsiniz. \n"
+" Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər "
+"mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Pəncərə Sistemi) GNU/Linuks qrafiki ara üzünün qəlbidir.\n"
+"Mandriva Linuxla bərabər gələn qrafiki mühitlərin hamısı (KDE, \n"
+"GNOME, AfterStep, WindowMaker, vs.) buna bağlıdır.\n"
+"\n"
+"Optimal görünüşü almaq üçün sizə dəyişdiriləcək fərqli parametrlər\n"
+"təqdim ediləcək.\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan qrafika kartını əsasən avtomatik "
+"olaraq\n"
+"aşkar edəcək və quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
+"olan\n"
+"səs kartını siyahıdan seçə bilərsiniz.\n"
+" Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər "
+"mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş "
+"ediləcək.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
+"aşkar edəcək və quraşdıracaq. Əgər səhv tapılsa həqiqətən sisteminizə bağlı "
+"olan\n"
+"monitoru siyahıdan seçə bilərsiniz.\n"
+"\n"
+"\n"
+"Həlledilirlik\n"
+"\n"
+" Burada avadanlığınız üçün mümkün olan həlledilirlik və rəng "
+"dərinliklərini\n"
+"seçə bilərsiniz. Ehtiyaclarınıza ən gözəl cavab verəni seçin. (Bunları "
+"qurulum\n"
+"tamamlandıqdan sonra da dəyişdirə biləcəksiniz). Seçilən qurğuların bir\n"
+"nümunəsi monitorda göstərilir.\n"
+"\n"
+"\n"
+"\n"
+"Sınaq\n"
+"\n"
+" Sistem, seçilən həlledilirlikdə qrafiki ekranı açmağa cəhd edəcək.\n"
+"Əgər sınaq sırasında ismarışı görüb \"%s\" düyməsinə bassanız, DrakX\n"
+"növbəti mərhələyə keçəcək. Əgər ismarışı görə bilmirsinizsə, bu avtomatik\n"
+"aşkar edilən quraşdırmanın bir hissəsi səhvdir və sınaq 12 saniyə sonra\n"
+"sonlanaraq sizi menyuya geri götürəcək.\n"
+"Düzgün qrafiki görünüş alana qədər qurğuları dəyişdirin.\n"
+"\n"
+"\n"
+"\n"
+"Seçimlər\n"
+"\n"
+" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
+"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
+"qurğularını\n"
+"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
+"istəyəcəksiniz."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Qurulum proqramı sisteminizə bağlı olan monitoru əsasən avtomatik olaraq\n"
+"aşkar edəcək. Əgər səhv tapılsa həqiqətən sisteminizə bağlı olan monitoru\n"
+"siyahıdan seçə bilərsiniz."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Həlledilirlik\n"
+"\n"
+" Burada, avadanlığınız üçün mövcud olan həlledilirlik və rəng "
+"dərinliklərini\n"
+"seçə bilərsiniz. Ehtiyacınıza ən yaxşı cavab verəni seçin (qurulumdan sonra\n"
+"bunu dəyişdirə biləcəksiniz). Seçilən qurğunun bir nümunəsi\n"
+"monitorda göstərilir."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Əgər kartınız üçün həm 3D dəstəyi olan həm də olmayan vericilər mövcudsa,\n"
+"sizdən ehtiyaclarınıza ən gözəl cavab verən vericini seçməniz xahiş ediləcək."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Seçimlər\n"
+"\n"
+" Burada, sisteminiz başlarkən avtomatik olaraq qrafiki ekrana keçməsini\n"
+"seçə bilərsiniz. Yalnız, əgər sisteminiz bir verici olacaqsa ya da ekran "
+"qurğularını\n"
+"müvəffəqiyyətlə sazlaya bilmədinizsə hər halda \"%s\" seçimini seçmək "
+"istəyəcəksiniz."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Bu nöqtədə Mandriva Linuxi sabit diskinizdə haraya quracağınıza\n"
+"qərar verəcəksiniz. Əgər diskiniz boş isə və ya bir başqa sistem\n"
+"bütün yeri doldurmuş isə, o zaman diskinizdə Mandriva Linux üçün\n"
+"yer açmalısınız. Bölmələndirmə əsasən diskinizdə Mandriva Linuxu\n"
+"qurmaqməntiqi sürücülər yaratmaqdan ibarətdir.\n"
+"\n"
+"Ümumiyyətlə bölmələndirmənin təsiri geri dönülməzdir və mə'lumat\n"
+"itirilməsinə səbəb ola bilər. Ona görə də əgər sisteminizdə başqa bir\n"
+"əməliyyat sistemi quruludursa və siz Linuksla yeni tanışırsınızsa bu iş\n"
+"çox gərgin və yorucudur. Ancaq DrakX sabit diski çox rahat bölmələndirməniz\n"
+"üçün çox sadə bir sehirbaz daxil edir. Başlamadan əvvəl xahiş edirik, "
+"buradakı\n"
+"mə'lumatları oxuyun, və bu iş üçün bir az vaxt ayırın.\n"
+"\n"
+"Sabit diskinizin qurğularına nəzarən birdən çox seçim mövcud ola bilər:\n"
+"\n"
+" * \"%s\": bu seçim boş sürücülərinizi avtomatik olaraq bölmələndirəcək\n"
+"Bu seçənəyi seçsəniz sizə heç bir sual verilməyəcək.\n"
+"\n"
+" * \"%s\": sehirbaz sabit diskinizdə bir ya da daha çox mövcud Linuks \n"
+"bölməsi aşkar edib. Onları istifadə etmək istəyirsinizsə bu seçənəyi "
+"işlədin.\n"
+"Daha sonra hər bölmə ilə əlaqələndirilmiş bağlama nöqtəsi seçəcəksiniz.\n"
+"Əvvəldən qalan bağlama nöqtələri əsas olaraq seçilidir və onları eləcə də\n"
+"saxlamaq gözəl fikirdir.\n"
+"\n"
+" * \"%s\": sabit diskinizdə Microsoft Windows quruludur və üstündəki bütün\n"
+" sahəni əhatə edir, bu vəziyyətdə siz Linuks üçün boş yer ayırmalısınız.\n"
+"Bunu etmək üçün Microsoft Windows bölməsini və mə'lumatlarını silə "
+"bilərsiniz.\n"
+"(baxın ``Bütün diski sil'' həlli) ya da Microsoft Windows FAT ya da NTFS "
+"bölmənizin\n"
+" böyüklüyünü dəyişdirə bilərsiniz. Ölçüləndirmə qaydalara riayət edilərsə "
+"heç bir mə'lumat\n"
+"itirilməsinə yol açmaz. Qaydalar isə əvvəlcədən Windows bölməniz üstündə "
+"'Scandisk' və\n"
+"'Defraq' əmrlərinin icra edilməsinir. Eyni zamanda mə'lumatlarınızın ehtiyat "
+"nüsxəsini almayı\n"
+"da qətiyyən unutmayın. Kompüteriniz üstündə həm Mandriva Linux həm də "
+"Microsoft\n"
+"Windows ƏS'lərini işlətmək istəyirsinizsə bu seçənəyi seçin. Unutmayın ki "
+"Microsoft\n"
+"Windows bölmənizin böyüklüyünü Windows altında da bəzi (PartitionMagic) "
+"proqramlar\n"
+"vasitəsi ilə dəyişdirə bilərsiniz.\n"
+"\n"
+" Bu seçənəyi seçmədən əvvəl nəzərə alın ki bu əməliyyatdan sonra Microsoft "
+"Windows\n"
+"bölməniz əvvəlkindən daha kiçik olacaq.\n"
+"\n"
+" * \"%s\": əgər sisteminizdəki bütün mövcud bölmələri silmək və yerinə\n"
+"Mandriva Linux sistemini qurmaq istəyirsinizsə bu seçənəyi seçin.\n"
+"Diqqətli olun, ona görə ki seçiminizi təsdiqlədikdən sonra geri ala "
+"bilməyəcəksiniz.\n"
+"\n"
+" !! Əgər bu seçənəyi seçsəniz, diskinizdəki bütün mə'lumat "
+"silinəcəkdir. !!\n"
+"\n"
+" * \"%s\": bu sabit disk üstündəki hər şeyi siləcək və sıfırdan təzə bir "
+"bölmələmə,\n"
+"həyata keçirəcəkdir. Diskinizdəki bütün mə'lumat silinəcəkdir.\n"
+"\n"
+" !! Əgər bu seçənəyi seçsəniz, diskinizdəki bütün mə'lumat "
+"silinəcəkdir. !!\n"
+"\n"
+" * \"%s\": diskinizi əllə bölmələmək istəyirsinizsə bu seçənəyi seçin. \n"
+"Diqqətli olun -- bu çox qüvvətli ancaq təhlükəli seçimdir. Ona görə də bu \n"
+"seçimi ancaq daha əvvəl buna oxşar bir şey etmişsinizsə və bu sahədə\n"
+"bilikləriniz mövcuddursa seçin. Yaxşısı budur ki bu əməliyyat sırasında\n"
+"yanınızda daha əvvəl bunu etmiş dostunuz da olsun. DiskDrake vasitəsinin\n"
+"istifadəsi haqqında mə'lumatı ``Starter Guide'' kitabçasının ``Managing \n"
+"Your Partitions '' qismində tapa bilərsiniz."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Mövcud bölməni işlət"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Bütün diski sil"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Təbrik edirik! Qurulum başa çattı və GNU/Linuks sisteminiz indi\n"
+"istifadəyə hazırdır. Sadəcə olaraq sisteminizi yenidən başlatmaq üçün\n"
+"\"%s\" düyməsinə basın. Kompüteriniz başlarkən avadanlıq yoxlamasından\n"
+"sonra görəcəyiniz açılış yükləyici menyusunda sizə başlatmaq\n"
+"istədiyiniz əməliyyat sistemlərinin siyahısı göstəriləcək.\n"
+"\n"
+"\"%s\" düyməsi seçimə bağlı olaraq aşağıdakı iki seçimi göstərir:\n"
+"\n"
+" * \"%s\": indi etdiyiniz quruluma bənzər və operatora (kompüterin\n"
+"yanında oturana) ehtiyaca qalmadan qurulumu etmək üçün avtomatik\n"
+"qurulum disketi yaratma imkanı verir.\n"
+"\n"
+" Düyməni basdıqdan sonra iki fərqli seçim görəcəksiniz:\n"
+"\n"
+" * \"%s\". Qismən avtomatikləşdirilmiş qurulum. Yalnız disk bölmələmə\n"
+"addımı interaktiv olacaq və sizin istəklərinizə qulaq asacaq.\n"
+"\n"
+" * \"%s\". Tamamilə avtomatikləşdirilmiş qurulum: sabit disk tamamilə\n"
+"yenidən yazılacaq, bütün mə'lumat yox olacaq.\n"
+"\n"
+" Bu xassə, əsasən birdən çox eyni sistemin qurulmasında çox əlverişlidir.\n"
+"Daha çox mə'lumat üçün saytımızın Auto install qisminə baxın.\n"
+"\n"
+" * \"%s\"(*): bu, qurulum sırasında seçilən paketlərin siyahısını disketə\n"
+"qeyd edər. Bu disketi başqa qurulum ilə işlətmək üçün, disketi daxil edin "
+"və\n"
+"quruluma başlayın. Promptda, [F1] düyməsinə basın və >>linux\n"
+"defcfg=\"floppy\" << yazın.\n"
+"\n"
+"(*) Bunun üçün FAT ilə şəkilləndirilmiş disketə ehtiyacınız olacaq. (GNU/"
+"Linuks\n"
+"altında bunu yaratmaq üçün \"mformat a:\" əmrini verin)"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Avtomatik qurulum disketi hazırla"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Yeni yaradılan bütün bölmələr şəkilləndirilməlidir\n"
+"(şəkilləndirmək, fayl sistemini yaratmaq deməkdir - format).\n"
+"\n"
+"Bu arada var olan hazır bölmələri də üstündəkiləri silmək üçün yenidən\n"
+"şəkilləndirmək istəyə bilərsiniz.\n"
+"Bunu istəyirsinizsə xahiş edirik, bu bölmələri də seçin.\n"
+"\n"
+"Ağlınızda tutun ki var olan bütün bölmələri şəkilləndirmək\n"
+"məcburi deyil. Əməliyyat sistəmini əmələ gətirən bölmələri\n"
+"(yəni \"/\", \"usr\" və ya \"var\"ı yenidən şəkilləndirmək üçün\n"
+"seçə bilərsiniz. Mə'lumatlar olan \"home\"u isə toxunmadan\n"
+"saxlaya bilərsiniz).\n"
+"\n"
+"Bölmələri seçərkən diqqətli olun. Şəkilləndirdiyiniz bölmələrdəki\n"
+"mə'lumatlar itiriləcək və geri gəlməyəcək.\n"
+"\n"
+"Bölmələri şəkilləndirməyə hazır olanda \"%s\" düyməsini basın.\n"
+"\n"
+"Yeni Mandriva Linux sisteminizi qurmaq üçün başqa bölmə seçmək\n"
+"istəyirsinizsə \"%s\" düyməsinə basın.\n"
+"\n"
+"Üstündəki xəsərli blokların yoxlanmasını istədiyiniz bölmələri seçmək\n"
+"üçün \"%s\" düyməsinə basın."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mandriva Linuxu qurduğunuz vaxtda çox güman ki bə'zi paketlər \n"
+"ilk çıxışlarından sonra yenilənmiş ola bilər. Bunlarla bir çox xəta "
+"düzəldilmiş\n"
+"ya da təhlükəsizlik qüvvətləndirilmiş ola bilər. Bu yeniləmələrdən istifadə\n"
+"etmək üçün indi siz İnternetdən endirmə əməliyyatına başlaya bilərsiniz.\n"
+"Əgər fəal internet bağlantınız varsa \"%s\", yoxsa, yenilənmiş paketləri\n"
+"daha sonra qurmaq üçün \"%s\" düyməsinə basın.\n"
+"\n"
+"\"%s\" seçilərsə, yeniləmələrin endirilə biləcəyi yerlərin siyahı "
+"göstəriləcək.\n"
+"Sizə ən yaxın olanı seçməlisiniz. Paket seçim ağacı göstəriləcək, bu bölümü\n"
+"gözdən keçirin və paketləri endirib qurmaq üçün \"%s\" düyməsinə basın.\n"
+"Ləğv etmək üçün isə \"%s\" düyməsindən istifadə edə bilərsiniz."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Bu nöqtədə, DrakX sizə sisteminiz üçün təhlükəsizlik səvissəyini seçmə\n"
+"imkanını təqdim edəcək. Qayda olaraq, əgər kompüter vacib mə'lumat daxil\n"
+"edir ya da internetə birbaşa açıq sistem olacaqsa təhlükəsizlik səviyyəsi\n"
+"yüksək seçilməlidir. Bunun gətirdiyi əlverişsiz şərait isə sistemin "
+"istifadəsinin\n"
+"daha çətin olmasıdır.\n"
+"\n"
+"Əgər nə seçəcəyinizi bilmirsinizsə, seçili qurğuları olduğu kimi saxlayın."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Təhlükəsizlik İdarəçisi"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Bu nöqtədə siz Mandriva Linux yüklənəcək bölmə(lər)i seçməlisiniz. Əgər\n"
+"bölmələr əvvəldən mövcuddursa (sistemdə əvvəllər qurulu olan GNU/Linuks \n"
+"bölmələri və ya başqa bölmələndirmə vasitələri ilə hazırladığınız "
+"bölmələr),\n"
+"onları istifadə edə bilərsiniz, əks halda onları müəyyən etməlisiniz.\n"
+"\n"
+"Bölmələri yaratmaq üçün əvvəlcə diski seçməlisiniz. Diski seçmək üçün \n"
+"birinci İDE sürücüsü üçün ``hda''nı, ikincisi üçün ``hdb''ni, birinci SCSİ \n"
+"sürücüsü üçün isə ``sda'' v.s. üstünə tıqlamalısınız.\n"
+"\n"
+"Seçdiyiniz sürücünü bölmələndirmək üçün aşağıdakı seçimləri etməyə "
+"qadirsiniz:\n"
+"\n"
+" * \"%s\": Bu seçim seçili sabit disk üstündəki bütün bölmələri silər\n"
+"\n"
+" * \"%s\": Bu seçim sizə avtomatik olaraq sabit diskinizin boş sahəsində\n"
+"ext3 və dəyiş-toqquş sahəsi yaratma imkanı verəcək\n"
+"\n"
+"\"%s\": Əlavə xüsusiyyətlərə yetişmə imkanı verir\n"
+"\n"
+" * \"%s\": Bölmə cədvəlini disketə qeyd edər. Bu disket daha sonra əmələ "
+"gələ\n"
+"biləcək disk bölmə cədvəli xətalarını bərpa etmək üçün işlədilir. Bu addımı "
+"həyata keçirməyi\n"
+"sizə şiddətlə məsləhət edirik.\n"
+"\n"
+" * \"%s\": Daha əvvəl disketə qeyd edilən bölmə cədvəlini bərpa etmək "
+"(yenidən\n"
+"yükləmək) üçün bu seçimi işlədin.\n"
+"\n"
+" * \"%s\": Əgər bölmə cədvəliniz pozulubsa, onu bu seçimlə düzəldə\n"
+"bilərsiniz. Diqqətli olun və unutmayın ki bu həmişə işləməyə bilər.\n"
+"\n"
+" * \"%s\": Bütün dəyişiklikləri silərək sabit diskin əvvəlki bölmə "
+"cədvəlini\n"
+"geri yükləyəcək.\n"
+"\n"
+" * \"%s\": Bu seçimin işarəsini silərsəniz, istifadəçilər CD-ROM'lar və "
+"disketlər\n"
+"kimi çıxardıla bilən mediyaları əl ilə bağlamaq (mount) məcburiyyətində "
+"qalacaq.\n"
+"\n"
+" * \"%s\": Əgər diskinizi bölmələmək üçün bir sehirbaza ehtiyac hiss "
+"edirsinizsə,\n"
+"bu seçimi seçin. Bu yol, bölmələmədən yaxşı başı çıxmayanlar üçündür.\n"
+"\n"
+" * \"%s\": Dəyişikliklərinizi rədd etmək üçün bu seçimi işlədin.\n"
+"\n"
+" * \"%s\": Sabit disk haqqında ətraflı mə'lumat verir və onun üstündə əlavə\n"
+"əməliyyatlar (növ, seçimlər, şəkilləndirmə) icra etmə icazəsi verir.\n"
+"\n"
+" * \"%s\": Sabit diskinizi bölmələyib bitirdiyiniz vaxt bu seçim "
+"dəyişiklikləri\n"
+"sabit diskinizə qeyd edəcək.\n"
+"\n"
+"Bölmənin böyüklüyünü müəyyən edərkən klaviaturadakı istiqamət düymələri\n"
+"ilə seçiminizi sazlaya bilərsiniz.\n"
+"\n"
+"Qeyd: bütün seçimlərə klaviatura ilə yetişə bilərsiniz. Bölmələr arasında "
+"[Tab]\n"
+"və [Yuxarı/Aşağı] düymələri ilə hərəkət edə bilərsiniz.\n"
+"\n"
+"Bir bölmə seçili ikən bu qısa yolları istifadə edə bilərsiniz:\n"
+"\n"
+" * Ctrl-c -> yeni bölmə yaratmaq üçün (əgər boş bölmə seçilidirsə)\n"
+"\n"
+" * Ctrl-d -> bölməni silmək üçün\n"
+"\n"
+" * Ctrl-m -> bağlama nöqtəsi seçmək üçün\n"
+"\n"
+"Fərqli fayl sistem növləri haqqında daha ətraflı mə'lumat üçün, xahiş "
+"edirik,\n"
+"``Reference Manual'' kitabının ext2FS bölümünü oxuyun.\n"
+"\n"
+"Əgər PPC kompüterdə qurulum aparırsınızsa, ən az 1 MBlıq balaca bir HFS \n"
+"``bootstrap'' bölməsini yaboot açılış yükləyicisi üçün seçmək "
+"istəyəcəksiniz.\n"
+"Əgər daha çox yeriniz varsa, məsələn 50 MB, onda bütün kernel və ramdisk \n"
+"açılış əkslərinizi təcili hallar üçün burada saxlaya bilərsiniz."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Sökülə bilən avadanlıqların avtomatik bağlanması"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normal modla mütəxəssis modu arasında keç"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sürücünüzdə bir və ya daha çox Microsoft bölməsi tapıldı.\n"
+"Xahiş edirik, Mandriva Linuxi qurmaq üçün onlardan hansını\n"
+"yenidən ölçüləndirmək istədiyinizi seçin.\n"
+"\n"
+"Hər bölmə bu cür sıralanıb; \"Linuks adı\",\"Windows adı\"\n"
+"\"Həcm\".\n"
+"\n"
+"\"Linuks adı\" bu cür qurulub: \"sabit disk növü\", \"sabit disk nömrəsi\",\n"
+"\"bölmə nömrəsi\" (məsələn, \"hda1\").\n"
+"\n"
+"\"Sabit disk növü\" diskiniz İDE sürücüsü isə \"hd\"dir, SCSİ sürücüsü isə\n"
+"\"sd\"dir.\n"
+"\n"
+"\"Sabit disk nömrəsi\" həmişə \"hd\" və ya \"sd\"dən sonrakı rəqəmdir. İDE \n"
+"sürücülər üçün:\n"
+"\n"
+"* \"a\" mə'nası \"birinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"b\" mə'nası \"birinci İDE idarəçisində qul (slave) sürücü\",\n"
+"\n"
+"* \"c\" mə'nası \"ikinci İDE idarəçisində ali (master) sürücü\",\n"
+"\n"
+"* \"d\" mə'nası \"ikinci İDE idarəçisində qul (slave) sürücü\".\n"
+"\n"
+"\n"
+"SCSİ sürücülərində, \"a\"nın mə'nası \"ən düşük SCSİ ID\",\n"
+"\"b\"nin mə'nası \"ikinci ən düşük SCSİ ID\"dir, vs...\n"
+"\n"
+"\"Windows adı\" sabit diskinizin Windows altındakı adıdır (birinci\n"
+"disk ya da bölmənin adı \"C:\"dir, vs...)."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": hazırkı ölkə seçimini yoxlayın. Əgər bu ölkədə deyilsəniz \"%s\"\n"
+"düyməsinə basaraq başqasını seçin. Əgər ölkəniz göstərilən ilk siyahıda\n"
+"deyilsə, tam ölkə siyahısını görmək üçün \"%s\" düyməsinə basın."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Bu addım, yalnız sisteminizdə daha əvvəldən qurulu olan GNU/Linuks bölməsi\n"
+"tapılanda fəal olur.\n"
+"\n"
+"DrakX indi mövcud Mandriva Linux sisteminizi yeniləmək mi, yoxsa yenidən\n"
+"qurmaq mı istədiyinizi bilməlidir.\n"
+"\n"
+" * \"%s\": Bu seçim köhnə sistemi tamamilə siləcək. Əgər sabit "
+"disklərinizin\n"
+"bölmələndirilməsini dəyişdirmək ya da fayl sistemini dəyişdirmək "
+"istəyirsinizsə\n"
+"bu seçimi seçin. Yalnız, bölmələndirmə sxeminizdən aslı olaraq bə'zi mövcud\n"
+"mə'lumatlarınızın üstündən yazılmasının qabağını ala bilərsiniz.\n"
+"\n"
+" * \"%s\": Hazırkı Mandriva Linux sisteminizdə qurulu olan paketləri "
+"yeniləmə\n"
+"imkanı verir. Qurulum hazırkı bölmələmə sxemi və istifadəçi mə'lumat və "
+"sənədlərinə\n"
+"dəyməyəcək və dəyişdirməyəcək. Digər qurulum addımlarının çoxu isə standart\n"
+"qurulumdakının eynisi olacaq. Bu seçimi \"8.1\" versiyasından əvvəlki "
+"Mandriva Linuxlarda\n"
+"tədbiq etmək uyğun görülmür."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Bölümdə seçdiyiniz dilə bağlı olaraq, DrakX uyğun gələn klaviatura növü\n"
+"quraşdırmasını seçəcək. Yalnız, dilinizə tam uyğun olmayan klaviatura "
+"yiyəsi\n"
+"də ola bilərsiniz: misal üçün Azərbaycanda yaşayan Rus dilli şəxs isəniz\n"
+"klaviaturanızı Rus dilində istifadə etmək istəyəcəksiniz, ya da Rusiyada "
+"yaşayan\n"
+"Azərbaycanlı isəniz klaviaturanızı Rus dilində yox Azərbaycan dilində "
+"istifadə\n"
+"etmək istəyə bilərsiniz. İki vəziyyətdə də istədiyiniz klaviaturlarını "
+"siyahıdan seçə\n"
+"bilərsiniz.\n"
+"\n"
+"Dəstəklənən klaviaturaların tam siyahısını görmək üçün \"%s\" \n"
+"düyməsinə basın\n"
+"\n"
+"Əgər Latın əlifbası əsasında olmayan klaviatura düzülüşü seçsəniz, növbəti\n"
+"dialoq sizə Latın və Latın olmayan düzülüşlər arasında keçiş üçün\n"
+"qısa yol seçmə imkanı verəcək."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Seçdiyiniz dil, sənədlər , qurulum və ümumi sistemə tə'sir edəcəkdir.\n"
+"İlk olaraq qaldığınız yerin coğrafi bölgəsini seçin, daha sonra\n"
+"istifadə etdiyiniz dili seçin.\n"
+"\"%s\" düyməsi əlavə dilləri seçmə imkanı verəcəkdir. Bu imkan\n"
+"fərqli bir dili də eyni zamanda istifadə etmə imkanı verəcək. Bu qurğunu\n"
+"\"%s\" ətraflı menyusundan həyata keçirə bilərsiniz.\n"
+"Qeyd: Əlavə dil seçməkdə bir dil ilə məhdud deyilsiniz. \"%s\" "
+"qutusundanistədiyiniz qədər dil seçə bilərsiniz. \n"
+"Bir dil seçimi bərabərində tərcümələr, yazı növləri və\n"
+"imla yoxlayıcıları kimi bə'zi üstünlükləri gətirəcəkdir.\n"
+"Ayrıca \"%s\" qutusundan sistemi UTF-8 (yunikod) kodlamasını işlətmək\n"
+"üçün zorlaya bilərsiniz.\n"
+"Qurduğunuz dillər arasında keçiş etmək üçün ali istifadəçi səlahiyyətləri\n"
+"ilə konsolda \"/usr/sbin/localedrake\" əmrini verə bilər ya da menyunuzdan\n"
+" \"localedrake\"'i seçərək dəyişdirə bilərsiniz. Bu, bütün sisteminya da\n"
+"yalnız bir istifadəçinin bütün dil qurğularını dəyişdirmə imkanı verir.\n"
+"Əgər bunları sıravi istifadəçi olaraq həyata keçirsəniz yalnız öz xüsusi\n"
+"dil qurğularınızı dəyişdirəcəksiniz."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "İspanca"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Adətən DrakX siçanınızdakı düymə ədədini tapmaqda əziyyət çəkməyəcək. Əgər\n"
+"müvəffəqiyyətsiz olsa, siçanınızı iki düyməli qəbul edəcək və üçüncü düymə \n"
+"emulyasiyasını fəallaşdıracaq. İki düyməli siçanda üçüncü düyməyə "
+"``basmaq''\n"
+"üçün sağ və sol düyməyə bərabər basmalısınız. DrakX, siçanınızın PS/2 ya da "
+"USB bağlantısından hansını işlətdiyini özü tapacaq.\n"
+"\n"
+"Əgər fərqli bir siçan növü seçmək istəsəniz verilən siyahıdan seçməniz\n"
+"kifayətdir.\n"
+"\n"
+"Əgər əsas siçan xaricində başqa bir siçan seçmək istəsəniz bir sınaq ekranı\n"
+"göstəriləcək. Sİçanın qurğularının düz olduğundn əmin olmaq üçün\n"
+"düymələri və çarxı sınayın. Əgər siçan düzgün işləmirsə boşluq ya da\n"
+"[Return] düyməsinə basıb seçim siyahısına geri dönə bilərsiniz.\n"
+"\n"
+"Çərxli siçanlar adətən avtomatik aşkar edilə bilmir, bu səbəblə\n"
+"siçanınızı siyahıdan seçməniz lazım ola bilər. Siçanızın taxılı olduğu "
+"qapını\n"
+"və siçanınızı seçəndən sonra \"%s\" düyməsinə basın, ekranda bir siçan\n"
+"rəsmi göstəriləcək. Çərxin düzgün işlədiyini yoxlamaq üçün onu döndərin.\n"
+"Ekrandakı siçan çərxinin döndüyünü görəndən sonra siçanın düymələrini \n"
+"oxun ekrandakı hərəkətini yoxlayın."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Çərx emulyasiyalı"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Hər hansı bir PS/2 və USB siçan"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Xahiş edirik, doğru qapını seçin. Məsələn, Windows'dakı COM1\n"
+"GNU/Linuks'da ttyS0'dır."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Bu, GNU/Linuks sisteminizin təhlükəsizliyi üçün ən əsas mərhələdir.\n"
+"\"Ali istifadəçi (root)\" şifərsini daxil edəcəksiniz. \"Ali istifadəçi\" "
+"sistemin\n"
+"idarəçisidir və yalnız o yeniləmələri, istifadəçiləri əlavə edib/silməyi\n"
+"sistemin bütün qurğularını dəyişdirə bilər. Qısaca, \"ali istifadəçi\" hər\n"
+"şeyi edə bilər! Buna görə də tapılması çətin olan bir şifrə seçməlisiniz.\n"
+"DrakX seçdiyiniz şifrənin asan olub olmadığını sizə bildirəcək. Görüdüyünüz\n"
+"kimi, şifrə müəyyən etməkdə məcbur deyilsiniz, yalnız bunu sizə şiddətlə\n"
+"məsləhət etmirik. GNU/Linuks da diqər əməliyyat sistemləri kimi "
+"istifadəçinin\n"
+"xətasından çox tə'sir ala bilər. \"Ali istifadəçi\" bütün həddləri keçərək\n"
+"bütün bölmələrdəki bütün mə'lumatları silə bilər. Ona görə də ali "
+"istifadəçi\n"
+"olma imkanını olduqca çətinləşdirməlisiniz.\n"
+"\n"
+"Şifrəniz ədəd və hərflərin qarışığı olmalıdır və 8 hərfdən qısa "
+"olmamalıdır.\n"
+"Şifrəni heçvaxt başqa bir yerə qeyd etməyin.\n"
+"\n"
+"Yalnız şifrəni çox uzun ya da çətin də seçməyin ona görə ki onu əzbərləmək\n"
+"məcburiyyətindəsiniz!\n"
+"\n"
+"Şifrənizi yazarkən ekranda göstərilməyəcək. Xəta riskini azaltmaq üçün\n"
+"şifrəni iki dəfə daxil edəcəksiniz. Burada diqqətli olun və eyni xətanı\n"
+"iki dəfə etməyin.\n"
+"\n"
+"Əgər bu kompüterə yetişmənin səlahiyyət vericisi tərəfindən idarə "
+"edilməsini\n"
+"istəyirsinizsə, \"%s\" düyməsinə basın.\n"
+"\n"
+"Əgər şəbəkəniz LDAP, NIS, ya da PDC Windows Domain authentication\n"
+"xidmətlərindən birisini işlədirsə, \"%s\" üçün uyğun gələnini seçin. Əgər\n"
+"hansını işlədəcəyinizi bilmirsinizsə, şəbəkə idarəçinizdən soruşun.\n"
+"\n"
+"Əgər şifrələri yadda saxlamaqda çətinlik çəkirsinizsə, internetə heç\n"
+"vaxt bağlanmayacaqsanızsa ya da kompüterini işlədən hamıya e'tibar\n"
+"edirsinizsə \"%s\" seçimini seçə bilərsiniz."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "səlahiyyətləndirmə"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO və grub ikisi də GNU/Linuks açılış yükləyiciləridir. Normalda bu "
+"mərhələ\n"
+"tamamilə avtomatikdir. DrakX diskin kök sektorunu yoxlayacaq və orada "
+"tapacağı\n"
+"mə'lumatlara görə açağıdakı addımları tətbiq edəcək:\n"
+"\n"
+" * əgər Windows açılış sektoru aşkar edilərsə, DrakX onu grub/LILO açılış "
+"sektoru\n"
+"ilə dəyişdirəcək. Beləliklə, siz həm GNU/Linuksu həm də digər əməliyyat "
+"sisteminizi\n"
+"(Windows ya da MacOS) aça biləcəksiniz.\n"
+"\n"
+" * əgər grub ya da LILO açılış sektoru aşkar edilərsə, o, yenisiylə əvəz "
+"ediləcək.\n"
+"\n"
+"Əgər müəyyən edib qərara gələ bilməzsə, DrakX açılış yükləyicisini hara "
+"yazmaq\n"
+"istədiyinizi sizə soruşacaq."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"İndi kompüteriniz üçün çap sistemini seçmə vaxtı gəldi. Digər ƏS'ləri sizə "
+"bir\n"
+"dənəsini təqdim edə bilərlər, yalnız Mandriva Linux ikisini təqdim edir.\n"
+"Hər çap sistemi xüsusi quraşdırma növləri üçün uyğundur.\n"
+"\n"
+" * \"%s\" -- bu seçim``çap et, növbəyə alma'' mə'nasına gəlir.\n"
+"Əgər kompüterinizə bağlı olan çapçı varsa, çap yığılmalarından qurtulmaq\n"
+"istəyirsinizsə və şəbəkə çapçılarınız yoxdursa, bunu seçin. (\"%s\"\n"
+"yalnız çox sadə şəbəkə hallarını idarə edə bilər və şəbəkələrlə işlədiləndə\n"
+"biraz yavaş qalır. Əgər bu GNU/Linuks ilə ilk tanışmanızdırsa, sizə \"pdq\"\n"
+"işlətməyi məsləhət edirik.\n"
+"\n"
+" * \"%s\" - `` Ümumi Unix Çap Sistemi'', isə həm öz kompüterinizə\n"
+"bağlı olan həm də bu dünyadakı istənən yerə qurulan çapçıdan istifadə\n"
+"etmək üçün ideal vasitədir və quraşdırılması çox asandır.\n"
+"Əsas quraşdırma \"pdq\" qədər asandır. Əgər bir \"lpd\" vericisini\n"
+"emulyasiya etmək istəyirsinizsə, \"cups-lpd \" demonunu başlatdığınıza\n"
+"əmin oun. .\"%s\" eyni zamanda çapçının quraşdırılması və idarəsi və çap\n"
+"üçün qrafiki ara üzlərə də sahibdir. \n"
+"Əgər indi birisini seçib sonra çap sistemini bəyənməzsəniz, onu Mandriva "
+"Linux\n"
+"İdarə Mərkəzindəki PrinterDrake bölməsindəki mütəxəssis düyməsi vasitəsiylə\n"
+"dəyişdirə bilərsiniz."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Usta"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX əvvəlcə kompüterinizdə mövcud olan bütün İDE adapterleri \n"
+"axtarmağa cəhd edəcək. Eyni zamanda sisteminizdəki PCİ SCSİ kartları\n"
+"da axtarılacaq. Əgər SCSİ kart tapılsa sürücüsü avtomatik qurulacaq\n"
+"\n"
+"Bəzən DrakX sabit disklərinizi müvəffəqiyyətlə aşkar etməyə bilər.\n"
+"Bu vəziyyətdə avadanlığınızı əllə müəyyən etməli olacaqsınız.\n"
+"\n"
+"Əgər PCİ SCSİ adapterini əllə müəyyən etsəniz DrakX sizdən onun qurğularını\n"
+"sazlamak istədiyinizi soruşacaq, sizə sisteminizdə SCSİ\n"
+"adapteri olub olmadığı soruşulacaq. İmkan verin ki, DrakX sərbəstcə özü\n"
+"xüsusiyyətləri tapsın. Çox vaxt DrakX bu addımdan müvəffəqiyyətlə\n"
+"və xətasız çıxacaq.\n"
+"Əgər DrakX avadanlığa avtomatik olaraq hansı parametrlərin yollanacağını\n"
+"tapmaq üçün seçimləri qurğulaya bilməzsə sürücünü əllə siz quraşdırmaq\n"
+"məcburiyyətində qalacaqsınız."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": əgər sisteminizdə səs kartı tapılıbsa burada göstəriləcək.\n"
+"Əgər burada göstərilən səs kartının sisteminizdəkindən fərqli olduğu\n"
+"nəzərinizə çatsa, düyməyə basıb başqa bir sürücü seçə bilərsiniz."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"İcmal olaraq, DrakX sisteminiz haqqında malik olduğu mə'lumatı göstərəcək.\n"
+"Qurulu avadanlığınıza bağlı olaraq, aşağıdakı girişlərin hamısını ya da bir "
+"neçəsi\n"
+"icmalda yer ala bilər. Hər giriş, quraşdırılan üzvdən və hazırkı qurğusunun "
+"qısa\n"
+"izahatından ibarətdir.\n"
+"Qurğunu dəyişdirmək üçün uyğun olan \"%s\" düyməsinə basın.\n"
+"\n"
+" * \"%s\": hazırkı klaviatura düzülüşünü göstərir. Lazımdırsa, bunu "
+"dəyişdirin.\n"
+"\n"
+" * \"%s\": hazırkı ölkə seçimini göstərir. Əgər bu ölkədə deyilsəniz,\"%s\"\n"
+"düyməsinə basaraq başqasını seçin. Ölkəniz siyahıda yer almırsa ölkələrin\n"
+"tam siyahısını görmək üçün \"%s\" düyməsinə basın.\n"
+"\n"
+" * \"%s\": əsasən, DrakX vaxt zolağınızı yaşadığınız ölkəyə görə müəyyən\n"
+"edir. Yalnız seçim düzgün deyilsə, \"%s\" düyməsinə basaraq onu dəyişdirə\n"
+"bilərsiniz.\n"
+"\n"
+" * \"%s\": hazırkı siçan qurğularını yoxlayın və lazımdırsa düyməyə basın.\n"
+"\n"
+" * \"%s\": \"%s\" düyməsinə basaraq çapçı quraşdırma sehirbazını işə sala\n"
+"bilərsiniz. Ətraflı mə'lumat üçün ''Başlanğıc Bələdçisi'' kitabçasının "
+"uyğun\n"
+"bölümünə baxın.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə səs kartı tapılıbsa, burada göstəriləcək.\n"
+"Əgər buradakı səs kartının sisteminizdə olandan fərqli olduğu nəzərinizə\n"
+"çatarsa, düyməyə basaraq başqa sürücü seçə bilərsiniz.\n"
+"\n"
+" * \"%s\": əsasən, DrakX qrafiki ara üzünüzü \"800x600\" ya da \"1024x768\"\n"
+"həlledirliyində quraşdırır. Bu sizə uyğun deyilsə, \"%s\" düyməsinin köməyi "
+"ilə\n"
+"qrafiki ara üzünüzü yenidən quraşdıra bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə televiziya kartı tapılıbsa, burada "
+"göstəriləcək.\n"
+"Əgər televiziya kartınız var olub aşkar edilməyibsə, \"%s\" düyməsinə\n"
+"basaraq onu əllə quraşdırmağı sınayın.\n"
+"\n"
+" * \"%s\": əgər sisteminizdə ISDN kartı aşkar edilibsə, burada "
+"göstəriləcək.\n"
+"Kart ilə əlaqəli parametrləri dəyişdirmək üçün \"%s\" düyməsinə basa "
+"bilərsiniz.\n"
+"\n"
+" * \"%s\": əgər İnternet ya da şəbəkənizi indi quraşdırmaq istəyirsinizsə.\n"
+"\n"
+" * \"%s\": bu, əvvəlki addımda seçilən təhlükəsizlik səviyyəsini dəyişdirmə "
+"imkanı\n"
+"verir.\n"
+"\n"
+" * \"%s\": əgər İnternetə bağlanmağı fikirləşirsinizsə, sisteminizi qorumaq "
+"üçün\n"
+"atəş divarı quraşdırmaq yaxşı fikirdir. Ətraflı mə'lumat üçün ''Başlanğıc "
+"Bələdçisi''\n"
+"kitabçasının uyğun bölümünə baxın.\n"
+"\n"
+" * \"%s\": əgər açılış yükləyicisi qurğularınızı dəyişdirmək istəyirsinizsə, "
+"bu düyməyə\n"
+"basın. Bu, əsasən mütəxəssis istifadəçilər üçündür.\n"
+"\n"
+" * \"%s\": burada, sistemdə hansı xidmətlərin işləyəcəyini sazlaya "
+"bilərsiniz.\n"
+"Əgər sisteminizi verici olaraq işlətəcəksəniz, bu qurğuları gözdən keçirin."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartı"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Qrafiki Ara Üz"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Yeni Mandriva Linux'izi qurmaq üçün silmək istədiyiniz sürücünü seçin.\n"
+"Diqqətli olun, sürücüdəki bütün mə'lumatlar silinəcək\n"
+"və geri gəlməyəcək!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Sürücüdəki bütün mə'lumatları və bölmələri silmək üçün\n"
+"\"%s\" düyməsinə basın. Diqqətli olun,\"%s\" düyməsinə basdıqdan sonra\n"
+"Windows mə'lumatları də daxil olmaq üzərə bütün bölmə mə'lumatı geri\n"
+"dönməyəcək şəkildə silinəcək.\n"
+"\n"
+"Bölmədəki mə'lumatları qorumaq üçün və əməliyyatı ləğv etmək üçün \"%s\" "
+"düyməsinə basın."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sonrakı ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Əvvəlki"
+
diff --git a/perl-install/install/help/po/be.po b/perl-install/install/help/po/be.po
new file mode 100644
index 000000000..681952245
--- /dev/null
+++ b/perl-install/install/help/po/be.po
@@ -0,0 +1,1108 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1999 Mandriva.
+# Alexander Bokovoy <ab@avilink.net>, 2000
+# Maryia Davidouskaia <maryia@scientist.com>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2000-09-24 12:30 +0100\n"
+"Last-Translator: Alexander Bokovoy <ab@avilink.net>\n"
+"Language-Team: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Вы жадаеце выкарыстоўваць aboot?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, fuzzy, c-format
+msgid "Upgrade"
+msgstr "Аркады"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Аўтэнтыфікацыя"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Аўтаматычнае вызначэнне"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Аўтаматычнае вызначэнне"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Выкарыстоўваць існуючы раздзел"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Сцёрці дадзеныя на ўсім дыску"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Стварэнне дыскеты для ўсталявання"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Сістэмнае адміністраваньне"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Звычайны рэжым"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, fuzzy, c-format
+msgid "Espanol"
+msgstr "Эсперанто:"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Аўтэнтыфікацыя"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "/Графік"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Унутраная ISDN карта"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Запуск X пры старце сістэмы"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далей ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- прылада"
+
diff --git a/perl-install/install/help/po/bg.po b/perl-install/install/help/po/bg.po
new file mode 100644
index 000000000..3c1d84745
--- /dev/null
+++ b/perl-install/install/help/po/bg.po
@@ -0,0 +1,1633 @@
+# translation of DrakX-bg.po to Bulgarian
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000.
+# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003.
+# Boyan Ivanov <boyan17@bulgaria.com>, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-bg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:27+0200\n"
+"Last-Translator: Boyan Ivanov <boyan17@bulgaria.com>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Преди да продължите, трябва внимателно да прочетете условията на лиценза. "
+"Той\n"
+"покрива цялата Mandriva Linux дистрибуция, и, ако сте съгласни с всички "
+"условия\n"
+"в него, сложете отметка на \"%s\".Ако не сте съгласни,просто спрете "
+"компютъра си."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux е многопотребителска система, която означава, че всеки потребител "
+"може\n"
+"да има свои предпочитания, файлове и т.н.. можете да прочетете Ръководството "
+"на\n"
+"Потребителя, за да научите повече.\n"
+"За разлика от Root, който е администраторът, потребителите, които ще "
+"добавите тук\n"
+"няма да могат да променят нищо освен собствените си файлове и техните "
+"настройки.\n"
+"Ще трябва да създадете поне един обикновен потребител за себе си.\n"
+"С този акаунт ще трябва да влизате за рутинна дейност. Въпреки това "
+"практиката\n"
+"да влизате като root ежедневно, може да бъде много опасна ! И най-малката "
+"грешка\n"
+"може да означава, че системата ви няма да работи повече. Ако направите някоя "
+"сериозна\n"
+"грешка като потребител, това може са да доведе до загуба на част от "
+"информацията,\n"
+"но не и на цялата система.\n"
+"\n"
+"Първо, трябва да си въведете името. Това не е задължително, разбира се, "
+"всъщност\n"
+"можете да въведете каквото и да е. DrakX след това ще избере първата "
+"въведена\n"
+"в кутийката дума и ще го изкара като потребителско име. Това е името, с "
+"което\n"
+"всъщност определеният потребител ще влиза в системата. Можете да го "
+"промените.\n"
+"Трябва да въведете и парола тук. Паролата на непревилегирован (обикновен) "
+"потребител\n"
+"не е толкова фатална като тази на Root от гледна точка на сигурността, но "
+"все\n"
+"пак няма причина да я подценявате, тъй като рискувате файловете си.\n"
+"\n"
+"След като цъкнете на \"Приеми потребител\", можете да добавите колкото си "
+"искате.\n"
+"Добавете по един потребител за всеки от приятелите си: баща си, сестра си, "
+"например.\n"
+"Когато сте добавили всички потребители, които искате, цъкнете Готово.\n"
+"\n"
+"Цъкнете на бутона \"Напредничав\", за да промените обвивката по подразбиране "
+"на\n"
+"потребителя (bash по подразбиране)."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Искате ли да използвате тази особеност?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"По-горе са изброени засечените Linux дялове съществуващи\n"
+"на твърдия ви диск. Можете да запазите избора направен от магьосника, те са\n"
+"добри за обща употреба. Ако ги промените, трябва да поне да определите\n"
+"root дял (\"/\"). Не избирайте прекалено малки дялове, защото няма да "
+"можете\n"
+"да инсталирате достатъчно софтуер. Ако искате да съхранявате данните си на\n"
+"отделен дял, трябва да изберете \"/home\" (възможно е само, ако имате "
+"повече\n"
+"от един Linux дял).\n"
+"\n"
+"\n"
+"За информация, всеки дял е показан, както следва: \"Име\", \"Капацитет\".\n"
+"\n"
+"\n"
+"\"Името\" се кодира както следва: \"тип на диска\", \"номер на диска\",\n"
+"\"номер на дял\" (например, \"hda1\").\n"
+"\n"
+"\n"
+"\"Типът на диска\" може да е \"hd\", ако е IDE твърд диск, или \"sd\", ако "
+"е\n"
+"SCSI твърд диск.\n"
+"\n"
+"\n"
+"\"Номерът на диска\" винаги е буквата след \"hd\" или \"sd\". При IDE "
+"дискове:\n"
+"\n"
+" * \"a\" означава \"master диск на първия IDE контролер\",\n"
+" * \"b\" означава \"slave диск на първия IDE контролер\",\n"
+" * \"c\" означава \"master диск на втория IDE контролер\",\n"
+" * \"d\" означава \"slave диск на втория IDE контролер\".\n"
+"\n"
+"\n"
+"При SCSI устройства, \"a\" означава \"първи твърд диск\", \"b\" означава "
+"\"втори твърд диск\" и т.н.."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Инсталацията на Mandriva Linux е разположена на няколко CDROM-а. DrakX\n"
+"знае дали избран пакет не се намира на друг CDROM,така че ще извади "
+"текущото\n"
+"CD и ще ви остави да вкарате това, от което има нужда."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сега е моментът да определите кои програми искате да бъдат инсталирани на\n"
+"системата ви. В Mandriva Linux дистрибуцията има хиляди пакети, но не е\n"
+"задължително да ги знаете наизуст.\n"
+"\n"
+"Ако извършвате стандартна инстлация от CDROM, първо ще бъдете попитани кои\n"
+"CD-та имате (в Експертен режим). Проверете заглавията на CD-тата и посочете\n"
+"кутийките съответстващи на CD-тата, с които разполагате. Цъкнете \"OK\",\n"
+"когато сте готови да продължите.\n"
+"\n"
+"Пакетите са подредени в групи съответстващи на практическата употреба на\n"
+"машината ви. Групите, сами по себе си, са подредени в четири секции:\n"
+"\n"
+" * \"Работна станция\": ако смятате да използвате машината си като работна "
+"станция,\n"
+"изберете една или повече съответните групи.\n"
+"\n"
+" * \"Разработка\": ако машината ви ще бъде използване за програмиране, "
+"изберете\n"
+"желаната(ите) група(и).\n"
+"\n"
+" * \"Сървър\": накрая, ако машината ви ще бъде използвана за сървър, ще\n"
+"можете да изберете кои от най-често използваните услуги искате да имате\n"
+"инсталирани на машината.\n"
+"\n"
+" * \"Графична среда\": тук можете да изберете предпочитаната графична "
+"среда.\n"
+"Поне една трябва да бъде избрана, ако искате да имате графична среда !\n"
+"\n"
+"Премествайки курсора на мишната над името на групата, ще видите кратък\n"
+"обясненителен текст за нея.\n"
+"\n"
+"Можете да цъкнете кутийката \"Индивидуален избор на пакети\", която е "
+"полезна,\n"
+"ако сте запознати с пакетите, които ще ви бъдат предложени или ако искате "
+"да\n"
+"имате пълен контрол над това, което да бъде инсталирано.\n"
+"\n"
+"Ако сте започнали инсталацията в режим на \"Обновяване\", можете да "
+"изключите\n"
+"всички групи, за да избегнете инсталирането на нови пакети. Това е полезно\n"
+"при поправка или обновяване на съществуващата система."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Обновяване"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "С базова документация"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Наистина минимална инсталация"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Накрая, в зависимост от избора ви дали да избирате пакети един по един, ще\n"
+"ви бъде представено дърво съдържащо всички пакети подредени по групи и\n"
+"подргрупи. Докато обхождате дървото, можете да изберете цели групи, "
+"подгрупи\n"
+"или отделни пакети.\n"
+"\n"
+"Когато посочите пакет от дървото, ще се появи описание вдясно. Когато\n"
+"изборът е приключен, цъкнете бутона \"Инсталирай\", който ще пусне процеса\n"
+"на инсталация. В зависимост от скоростта на хардуера ви и броя на пакетите,\n"
+"които искате да бъдат инсталирани, процесът може да отнеме известно време.\n"
+"Очакваното време за приключване на процеса, че бъде показано на екрата, за\n"
+"да ви помогне да прецените дали имате достатъчно време да се насладите на\n"
+"чаша кафе.\n"
+"\n"
+"!! Ако е избран сървърен пакет, било то умишлено или защото е част от цяла\n"
+"група, ще бъдете помолени за потвърждение, че наистина искате този сървър\n"
+"да бъде инсталиран. В Mandriva Linux, всички сървъри тръгват по "
+"подразбиране\n"
+"при зареждане.Даже ако са сигурни и нямат известни проблеми, когато\n"
+"дистрибуцията се разпространява, може да се случи така, че да се появят\n"
+"дупки в сигурността, след като версията на Mandriva Linux е завършена. Ако\n"
+"не знаете за какво служи определена услуга или защо е инсталирана, цъкнете\n"
+"\"Не\". С цъкане на \"Да\" ще инсталирате изброени услуги и те ще бъдат\n"
+"стартирани автоматично по подразбиране. !!\n"
+"\n"
+"Опцията \"Автоматични зависимости\" изключва предупредителните диалози,\n"
+"когато инсталаторът авоматично реши избере пакет. Това се случва, защото\n"
+"е решил, че се нуждае да задоволи зависимост с друг пакет, за да приключи\n"
+"успешно инсталацията.\n"
+"\n"
+"Малката иконка на дискетка в дъното на списъка позволява да заредите списък\n"
+"с пакети от предишна инсталация. Ако цъкнете на тази иконка, ще бъдете\n"
+"помолени да вкарате дискета създадена преди това в края на друга "
+"инсталация.\n"
+"Вижте втората подсказка по време на последната стъпка, за това как да\n"
+"създадете такава дискета."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Сега можете да изберете кои услуги да се пускат при стартиране.\n"
+"\n"
+"Тук са представени всички услуги, достъпни с настоящата инсталация.\n"
+"Прегледайте ги внимателно и изключете тези, които не ви трябват винаги при "
+"стартиране.\n"
+"\n"
+"Можете да видите кратък обяснителен текст за услугата, като поставите курора "
+"на мишката си\n"
+"над името на услугата. Ако не сте сигурни, дали услугата е полезна или не, "
+"по-добре\n"
+"е да оставите избора по подразбиране.\n"
+"\n"
+"Внимавайте с тази стъпка, ако смятате да използвате машината си като "
+"сървър:\n"
+"сигурно не бихте искали да пускате услуги, от които не се нуждаете. Моля,\n"
+"запомнете, че някои услуги могат да бъдат опасни, ако са включени на "
+"сървъра.\n"
+"По принцип, избирайте само услугите, от които наистина се нуждаете.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Автоматична синхронизация на времето"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Накрая, ще бъдете попитани дали искате да виждате графичния интерфейс при\n"
+"зареждане. Отбележете, че този въпрос ще ви бъде зададен даже ако изберете,\n"
+"да не тествате настройката. Очевидно, бихте отговорили с \"Не\", ако "
+"машината\n"
+"ще работи като сървър или ако няма успешно настроен дисплей."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"В този момент трябва изберете къде на твърдия си диска да инсталирате "
+"вашата\n"
+"Mandriva Linux операционна система. Ако твърдият ви диск е празен или друга\n"
+"операционна система използва цялото пространство, ще трябва да го "
+"разделите.\n"
+"Казано простичко, разделянето на твърдия диск се състои в логическо "
+"разделяне\n"
+"цел да се създаде място за инсталация на новата Mandriva Linux система.\n"
+"\n"
+"Тъй като процесът на разделяне обикновено е необратим, разделянето може да\n"
+"изглежда плашещ и стряскащ, ако сте неопитен потребител. Слава Богу, има\n"
+"магьосник, който опростява този процес. Преди да започнете, консултирайте "
+"се\n"
+"с ръководството и не бързайте.\n"
+"\n"
+"Ако пускате инсталацията в Експертен режим, ще бъдете въведени в DiskDrake,\n"
+"разделящия инструмент на Mandriva Linux, който ви позволява да донастроите\n"
+"дяловете си. Вижте главата DiskDrake от ръководството. От инсталационния\n"
+"интерфейс можете да използвате магьосниците, като натиснете бутона\n"
+"\"Магьосник\" на диалога.\n"
+"\n"
+"Ако дяловете са вече определени, дали от предишна инсталация или от друг\n"
+"иструмент за разделяне, просто изберете на кой да инсталирате Linux\n"
+"системата.\n"
+"\n"
+"Ако дяловете не са определени, ще трябва да създадете такива използвайки\n"
+"магьосника. В зависимост от настройката на твърдия диск, са възможни "
+"няколко\n"
+"опции:\n"
+"\n"
+" * \"%s\" тази опция просто ще доведе до автоматично поделяне на празното "
+"пространство на твърдия ви диск. Няма да бъдете питани за това.\n"
+"\n"
+" * \"%s\": магьосникът е засякъл един или повече\n"
+"съществуващи Linux дялове на твърдия ви диск. Ако искате да ги използвате,\n"
+"изберете тази опция.\n"
+"\n"
+" * \"%s\": ако имате инсталиран\n"
+"Microsoft Windows на твърдия си диск и той заема цялото достъпно\n"
+"пространство на него, трябва да освободите място за Linux данни. За да\n"
+"направитетова, можете да изтриете Microsoft Windows дяла и данните (вижте\n"
+"решенията \"Изтрий целия диск\" или \"Екпертен режим\") или да промените\n"
+"големината на Microsoft Windows дяла. Промяната на големината може да бъде\n"
+"извършена без загуба на данни. Това решение се препоръчва, ако искате\n"
+"едновременно Mandriva Linux и Microsoft Windows на един и същи компютър.\n"
+"\n"
+" Преди да изберете тази опция, моля, разберете, че след тази процедура,\n"
+"големината на Microsoft Windows дяла ще бъде по-малка, отколкото преди "
+"това.\n"
+"Ще имате по-малко място под Microsoft Windows за съхраняване на данни или "
+"за\n"
+"инсталира на нов софтуер.\n"
+"\n"
+" * \"%s\": ако искате да изтриете всички данни и дялове, които\n"
+"съществуват на вашия твърд диск и да ги замените с новата Mandriva Linux\n"
+"система, изберете тази опция. Бъдете внимателни с това решения, защото няма\n"
+"да можете да върнете обратно избора си, след като потвърдите.\n"
+"\n"
+" !! Ако изберете тази опция, всички данни на диска ви ще бъдат "
+"загубени !!\n"
+"\n"
+" * \"%s\": Това просто ще изтрие всичко на диска и ще започне на\n"
+"чисто, разделяне от раз. Всякакви данни на диска ви ще бъдат загубени.\n"
+"\n"
+" !! Ако изберете тази опция, всички данни на диска ви ще бъдат "
+"загубени !!\n"
+"\n"
+" * \"%s\": изберете тази опция, ако искате ръчно да разделите\n"
+"твърдия си диск. Бъдете внимателни - това е мощен, но опасен избор. Можете\n"
+"много лесно да загубите всички данни. Така че не избирайте това, ако не\n"
+"знаете какво правите."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Изпозване на съществуващ дял"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Изтрий целия диск"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"А така ! Инсталацията е завършена и GNU/Linux системата ви е готова за\n"
+"употреба. Просто цъкнете \"OK\", за да рестартирате системата. Можете да\n"
+"стартирате GNU/Linux или Windows, което предпочитате (ако имате две "
+"системи),\n"
+"веднага след като компютърът стартира отново.\n"
+"\n"
+"Бутона \"Напредничав\" (само в \"Експертен\") показва още два бутона за:\n"
+"\n"
+" * \"генериране на дискета за автоматична инсталация\": за да създадете\n"
+"инсталационна дискета, която след това автоматично да изчършва цялата\n"
+"инсталация без помощта на оператор, приличаща на инсталацията, която току-"
+"що\n"
+"сте извършили.\n"
+"\n"
+" Отбележете, че две различни опции са достъни, чрез цъкане на бутона:\n"
+"\n"
+" * \"Преиграй\". Това е частично автоматизирана инсталация като стъпките\n"
+"по разделяне на дялове остават интерактивни.\n"
+"\n"
+" * \"Автоматична\". Напълно автоматична инсталация: твърдият диск се\n"
+"презаписва напълно, всякакви данни се загубват.\n"
+"\n"
+" Тази особеност е много удобна, когато инсталирате голям брой подобно\n"
+"машини. Вижте секцията за автоматична инсталация на нашия web-сайт.\n"
+"\n"
+" * \"Запази избора на пакети\"(*): запазва избора на пакети, така както "
+"е\n"
+"направен преди. Когато правите друга инсталация, вкарайте дискетата в\n"
+"устройството и пуснете инсталацията да върви чрез помощния екран, като\n"
+"натиснете клавиша [F1] и като напишете >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Трябва ви FAT-форматирана дискета (за да създадете таква под GNU/Linux,\n"
+"напишете \"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Подготвя дискета за автоматична инсталация"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Всички новодефинирани дялове трябва да бъдат форматирани, за да се "
+"използват\n"
+"(форматиране означава създаване на файлова система).\n"
+"\n"
+"В този момента може би искате да преформатирате някои съществуващи дялове, "
+"за\n"
+"да изтриете всякакви данни, които съдържат. Ако искате да го направите, "
+"моля\n"
+"изберете тях.\n"
+"\n"
+"Моля, отбележете, че не е необходимо да преформатирате всички дялове\n"
+"съществуващи отпреди. Трябва да преформатирате дяловете съдържащи\n"
+"операционната система (като \"/\", \"/usr\" или \"/var\"), но това не е\n"
+"задължително за дялове съдържащи данни, които искате да запазите "
+"(обикновено\n"
+"\"/home\").\n"
+"\n"
+"Моля, бъдете внимателни, когато избирате дяловете. След форматиране всички\n"
+"данни на посочените дялове ще бъдат изтрити и няма да можете да ги\n"
+"възстановите.\n"
+"\n"
+"Цъкнете \"OK\", когато сте готови да форматирате далове.\n"
+"\n"
+"Цъкнете \"Отказ\", ако искате да изберете други дялове за инсталация на "
+"новата\n"
+"си Mandriva Linux операционна система.\n"
+"\n"
+"Цъкнете \"Напредничав\", ако искате да изберете дялове, които да бъдат\n"
+"проверени за лоши блокове от диска."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"В този момент, трябва да изберете нивото на сигурност, което искате за\n"
+"машината. По правило, колкото повече машината ви е достъпна и колкото "
+"повече\n"
+"данни се съхраняват на нея, толкова по-високо трябва да е нивото на "
+"сигурност.\n"
+"Въпреки това, високата сигурност е за сметка на лекотата на работа.\n"
+"Обърнете се към главата MSEC на Reference Manual, за да получите повече "
+"информация\n"
+"за значението на тези нива.\n"
+"\n"
+"Ако не знаете както да изберете, изберете опцията по подразбиране."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Администратор по защита:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"В този момент трябва да изберете кой дялове да бъдат използвани за "
+"инсталация\n"
+"на вашата Mandriva Linux система. Ако дяловете вече са определени, дали от\n"
+"предишна инсталация на GNU/Linux или от друг инструмент за разделяне, "
+"можете\n"
+"да използвате съществуващите далове. В противен случай трябва да определите\n"
+"дялове от твърдия диск.\n"
+"\n"
+"За да създадете дялове, трябва първо да изберете твърд диск. Можете да\n"
+"изберете диск за разделяне, като цъкнете на \"hda\" за първо IDE "
+"устройство,\n"
+"\"hdb\" за второто, \"sda\" за първо SCSI устройство и т.н..\n"
+"\n"
+"За да разделите избрания твър диск, можете да използвате следния опции:\n"
+"\n"
+" * \"Изчисти всичко\": тази опция изтрива всички дялове на избрания диск.\n"
+"\n"
+" * \"Автоматично създаване\": тази опция позволява автоматично да съзадете\n"
+"Ext2 и swap дялове в свободното пространство на твърдия ви диск.\n"
+"\n"
+" * \"Спаси таблицата с дялове\": ако таблицата с дялове е повредена, можете\n"
+"да се опитате да я възстановите с тази опция. Моля, бъдете внимателни и\n"
+"помнете, че може да не стане.\n"
+"\n"
+" * \"Върни\": използвайте тази опция, за да отмените промените.\n"
+"\n"
+" * \"Презареди\": можете да използвате тази опция, ако искате да върнете\n"
+"всички промени и да заредите първоначалната таблица с дялове.\n"
+"\n"
+" * \"Магьосник\": използвайте тази опция, ако искате да използвате "
+"магьосник,\n"
+"да раздели твърдия ви диск. Това се препоръчва, ако нямате достатъчно "
+"познания\n"
+"за разделянето.\n"
+"\n"
+" * \"Възстанови от дискета\": тази опция ще ви позволи да възстановите "
+"запазена\n"
+"преди това на дискета таблица с дялове.\n"
+"\n"
+" * \"Запази на дискета\": запазва таблицата с дялове на дискета. Полезно е "
+"при\n"
+"евентуално възстановяване на таблицата при необходимост. Силно се "
+"препоръчва\n"
+"да направите това.\n"
+"\n"
+" * \"Готово\": когато сте свършили с разделянето на твърдия си диск, това "
+"ще\n"
+"запише промените върху диска.\n"
+"\n"
+"Забележета: можете да достигнете всяка опция използвайки клавиатурата.\n"
+"Минавайте през дяловете използвайки [Tab} и стрелките нагоре/надолу.\n"
+"\n"
+"Когато е избран дял, можете да използвате:\n"
+"\n"
+" * Ctrl-c, за да създадете нов дял (ако е избран празен дял);\n"
+"\n"
+" * Ctrl-d, за да изтриете дял;\n"
+"\n"
+" * Ctrl-m, за да установите точка на монтиране.\n"
+"\n"
+"Ако инсталите на PPC машина, сигурно ще искате да създадете малък HFS\n"
+"\"bootstrap\" дял от поне 1 МБ, който ще бъде използват от boot loader-ът\n"
+"yaboot. Ако смятате да направите дяла по-голям, например 50 МБ, можете да "
+"го\n"
+"намерите за полезно място, където да съхранявате някое ядро или image на\n"
+"ramdisk в случай на извънредни ситуации."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Автоматично монтиране на сменяем носител"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Премини в нормален/експертен режим"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Беше засечен повече от един Microsoft Windows дял\n"
+"на твърдия ви диска. Изберете този, чиято дължина искате да промените, за "
+"да\n"
+"инсталирате Mandriva Linux операционна система.\n"
+"\n"
+"\n"
+"За информация, всеки дял е изброен както следва: \"Linux име\", \"Windows име"
+"\", \"Капацитет\".\n"
+"\n"
+"\"Linux името\" се кодира както следва: \"тип на диска\", \"номер на диска"
+"\",\n"
+"\"номер на дял\" (например, \"hda1\").\n"
+"\n"
+"\n"
+"\"Типът на диска\" може да е \"hd\", ако е IDE твърд диск, или \"sd\", ако "
+"е\n"
+"SCSI твърд диск.\n"
+"\n"
+"\n"
+"\"Номерът на диска\" винаги е буквата след \"hd\" или \"sd\". При IDE "
+"дискове:\n"
+"\n"
+" * \"a\" означава \"master диск на първия IDE контролер\",\n"
+" * \"b\" означава \"slave диск на първия IDE контролер\",\n"
+" * \"c\" означава \"master диск на втория IDE контролер\",\n"
+" * \"d\" означава \"slave диск на втория IDE контролер\".\n"
+"\n"
+"\n"
+"При SCSI устройства, \"a\" означава \"първи твърд диск\", \"b\" означава "
+"\"втори твърд диск\" и т.н..\n"
+"\n"
+"\"Windows името\" е буквата на твърдия ви диск под Windows (първият диск "
+"или\n"
+"дял се нарича \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Обикновено, DrakX би трябвало да избере правилната за вас клавиатура (в "
+"зависимост\n"
+"от езика, който сте избрали) и няма да се наложи да видите тази стъпка. "
+"Обаче може да\n"
+"нямате клавиатура съответстваща точно на вашия език: например, ако сте "
+"англоговорящ швед,\n"
+"може би ще искате клавиатурата ви да бъде шведска. Или ако говорите "
+"английски, но сте\n"
+"в Квебек, може би ще сте в същата ситуация. И в двата случая, ще трябва да "
+"се върнете\n"
+"към тази инсталационна стъпка и да изберете правилната клавиатура от "
+"списъка.\n"
+"\n"
+"Всичко, което трябва да направите, е да посочите предпочитаната клавиатурна "
+"наредба\n"
+"от списъка, който ще се появи пред вас.\n"
+"\n"
+"Ако имате клавиатура от език различен от този използван по подразбиране, "
+"цъкнете\n"
+"на бутона \"Напредничав\". Ще ви бъде предоставен пълен списък с "
+"поддържаните клавиатури."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Моля, цъкнете на предпочитания език на инсталация и системна употреба.\n"
+"\n"
+"Цъкането на бутона \"Напредничав\" ще ви позволи да изберете други езици\n"
+"да бъдат инсталирани на работната ви станция. Избирането на други езици\n"
+"ще инсталира файлове специвични за езиците за системна документация и\n"
+"приложения. Например, ако имате потребители от Изпания на машината си,\n"
+"изберете английски като главен език в дървовидната форма и в секция\n"
+"\"Напредничав\" цъкнете на сивата звезда съответстваща на\n"
+"\"Испански|Испания\".\n"
+"Отбележете, че могат да бъдат инсталирани няколко езика. Веднъж избран\n"
+"някакъв локал, цъкнете бутона \"OK\", за да продължите."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"По подразбиране, DrakX предполага че имате двубутонна мишка и ще включи\n"
+"симулиране на три бутона. DrakX автоматично разбира дали е PS/2, серийна "
+"или\n"
+"USB мишка.\n"
+"\n"
+"Ако искате да определите друг тип на мишката, изберете подходящ от списъка,\n"
+"който ще ви бъде представен.\n"
+"\n"
+"Ако изберете мишка различна от тази по подразбиране, ще ви бъде предоставен\n"
+"екран за проба. Използвайте бутоните и колелцето, за да проверите, че\n"
+"настройката е дора. Ако мишката не работи, както трябва, натиснете интервал\n"
+"или СЕ ВЪРНЕТЕ към \"Отказ\" и изберете пак."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 бутона с емулация на колелце"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Моля, изберете верния порт. Например, портът COM1 под Windows под GNU/Linux\n"
+"се нарича ttyS0."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "идентификация"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Дойде времето да изберете система за печат за вашия компютър.Другите\n"
+"операционни системи може да ви предлагат една,но ние ви предлагаме две.\n"
+"Всяка от тях е пригодена за даден тип конфигурация.\n"
+"\n"
+" * \"%s\"-- е акроним на \"print,do not queue\"(\"пачатай,не чакай\"),е "
+"идеалният\n"
+"избор,ако имате директна връзка с принтера,искате да го контролирате,или\n"
+"нямате мрежови принтери.(\"%s\" може да работи само в много прости\n"
+"ситуации и е някак бавен,когато се ползва в мрежа.) Препоръчително е да \n"
+"изполвате \"pdq\" ако нямате опит с GNU/Linux. \n"
+" * \"%s\" - `` Common Unix Printing System``(обичайна система за печат за "
+"Unix)\n"
+"е отличен избор,за печат както на собствения ви принтер,така и на друг,на\n"
+"половин свят разстояние.Тя е лесна за конфигуриране и може работи като\n"
+"клиент или сървър на архаичната\"lpd \",което я прави напълно съвместима\n"
+"с по-стари операционни системи,които може все още да се нуждаят от тази\n"
+"услуга.Въпреки че е доста мощна,основната инсталация е почти толкова \n"
+"лесна,колкото и тази на \"pdq\".Ако искате да емулирате \"lpd\" сървър,\n"
+"уверете се,че \"cups-lpd\" демона е пуснат.\"%s\" включва графични \n"
+"интерфейси за пречат и избор на опции за принтера,както и за\n"
+"конфигурирането му.\n"
+"\n"
+"Ако сега направите избор,а по-късно разберете,че не харесвате системата\n"
+"си за печат,можете да я смените като пуснете PrinterDrake от Мандрива "
+"линукс \n"
+"контролия център и цъкнете на \"експерт\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Трудно"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\"ако намеря звукова карта,ще видите съобщение за това.\n"
+"Ако забележите,че намерената звукова карта не отговаря на истината,\n"
+"можете да цъкнете на бутона и да изберете друг драйвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN карта"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графичен интерфейс"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изберете твърдия диск, който искате да изтриете, за да\n"
+"инсталирам новия ви Mandriva Linux дял. Внимание, всички данни на него ще "
+"бъдат загубени\n"
+"и няма да могат да се възстановят."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Цъкнете на \"%s\", ако искате да изтриете всички данни и\n"
+"дялове съществуващи на този твърд диск. Внимание, след цъкане на \"%s\", "
+"няма да можете да възстановите каквито и да било данни и дялове съществуващи "
+"на този твърд диск,\n"
+"включително каквито и да е Windows данни.\n"
+"\n"
+"Цъкнете \"%s\", за да отмените тази операция без загуба да данните и\n"
+"дяловете съществуващи на този твърд диск."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следващ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Предишен"
+
diff --git a/perl-install/install/help/po/bn.po b/perl-install/install/help/po/bn.po
new file mode 100644
index 000000000..608c3b016
--- /dev/null
+++ b/perl-install/install/help/po/bn.po
@@ -0,0 +1,1510 @@
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Omi Azad <omi@altruists.org>, 2004.
+# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004.
+# Progga <progga@BengaLinux.Org>, 2004.
+# Jamil Ahmed <jamil@BengaLinux.Org>, 2004, 2005.
+# Samia <mailsamia2001@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-03-19 23:18+0600\n"
+"Last-Translator: Samia <mailsamia2001@yahoo.com>\n"
+"Language-Team: Bangla <mdk-translation@bengalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"চালিয়ে যাওয়ার আগে, লাইসেন্সের শর্তগুলো আপনার সাবধানতার পড়া উচিত। এটা সম্পূর্ণ\n"
+"ম্যান্ড্রিব লিনাক্স ডিস্ট্রিবিউশন পূর্ণ করে। যদি আপনি এখানকার সব শর্তের সাথে একমত \n"
+"থাকেন, \"%s\" বাক্সটি চেক্‌ করুন। যদি না হয়, তাহলে \"%s\" বাটনে ক্লিক \n"
+"করলে আপনার কম্পিউটার রিবুট হবে।"
+
+# সাম:
+# \"shell\" = ?
+# bash
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux একটি বহু‌-ব্যবহারকারী সিস্টেম যেখানে প্রতিটি ব্যবহারকারী নিজস্ব পছন্দ ও\n"
+"ফাইলসমূহ আলাদাভাবে রক্ষণাবেক্ষণ করতে পারে। কিন্ত এসব সংযোজিত ব্যবহারকারীরা,\n"
+"\"root\"‌ (যে কিনা সিস্টেম অ্যাডমিনিস্ট্রেটর) এর মত, তাদের নিজস্ব ফাইল ও "
+"কনফিগারেশন\n"
+"ছাড়া অন্য কিছু বদলাতে অনুমোদিত নয়। এটি সিস্টেমকে অনিচ্ছাকৃত বা অস্বাভাবিক পরিবর্তন "
+"থেকে রক্ষা করে,\n"
+"যা কিনা সম্পূর্ণ সিস্টেমের ক্ষতি করতে পারে। আপনাকে নিজের জন্য অন্তত একটি সাধারণ "
+"ব্যবহারকারী\n"
+" তৈরী করতে হবে -- যে অ্যাকাউন্টটি আপনি নিয়মিত কাজের জন্য ব্যবহার করবেন। যদিও "
+"\"root\"\n"
+" হিসেবে লগ ইন করে সব কাজই করা সম্ভব, এটি বিপদজনকও বটে! একটি ছোটখাটো ভুলের "
+"কারণে\n"
+" আপনার সম্পূর্ণ সিস্টেম অচল হয়ে যেতে পারে। একজন সাধারণ ব্যবহারকারী খুব বড় ভুল "
+"করলেও হয়ত\n"
+" কিছু তথ্য হারাতে পারে তবে সম্পূর্ণ সিস্টেমের ক্ষতি করতে পারে না।\n"
+"\n"
+"প্রথম ক্ষেত্রটিতে একটি আসল নাম দিন। তবে এটি অত্যাবশ্যকীয় নয় -- আপনি অন্য কিছুও "
+"লিখতে\n"
+"পারেন। DrakX, এর প্রথম শব্দটি নিয়ে \"%s\" এ কপি করবে, যা দিয়ে কিনা এই "
+"ব্যবহারকারী\n"
+"সিস্টেমে লগ ইন করবে। প্রয়োজন হলে আপনি ডিফল্ট নামটি বদল করতে পারেন। এরপর আপনাকে\n"
+"একটি পাসওয়ার্ড দিতে হবে। নিরাপত্তার দৃষ্টিকোণ থেকে সাধারণ ব্যবহারকারীর পাসওয়ার্ড, "
+"\"root\" এর\n"
+"পাসওয়ার্ডের মত জরুরী নয় তবে এটিকে খালি রাখা বা সহজ পাসওয়ার্ড দেয়া উচিত নয়, কারণ "
+"এতে\n"
+"আপনার ফাইলসমূহ অরক্ষিত থেকে যায়।\n"
+"\n"
+"\"%s\" তে ক্লিক করার পর আপনি আরও ব্যবহারকারী তৈরী করতে পারেন। আপনার পরিবারের\n"
+"সদস্য ও বন্ধুদের জন্য আলাদা আলাদা একাউন্ট তৈরী করুন। শেষ হলে \"%s\" ক্লিক করুন।\n"
+"\n"
+"\"%s\" বাটনে ক্লিক করে আপনি একজন ব্যবহারকারীর ডিফল্ট \"শেল\" বদল করতে পারেন\n"
+"(ডিফল্ট মান bash)।\n"
+"\n"
+"সব ব্যবহারকারী তৈরীর পর আপনাকে একটি বেছে নিতে হবে যা কিনা কম্পিউটার বুট করার "
+"পর\n"
+"স্বয়ংক্রিয়ভাবে লগইন হবে। আপনি যদি এই ফিচারে আগ্রহী হন(এবং স্থানীয় নিরাপত্তা নিয়ে "
+"বিচলিত\n"
+"না হন), তবে পছন্দনুযায়ী ব্যবহারকারী ও উইন্ডো ম্যানেজার নির্বাচন করুন এবং \"%s\" "
+"টিতে ক্লিক\n"
+"করুন। অন্যথায় \"%s\" চেকবক্সটি আনচেক করুন।"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "এই সুবিধাটি কি আপনি ব্যবহার করতে চান?"
+
+# সাম:
+# secondary = সহকারী?
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"আপনার হার্ড ড্রাইভে বর্তমানে নিম্নলিখিত লিনাক্স পার্টিশনগুলো বিদ্যমান।\n"
+"আপনি উইজার্ড কর্তৃক বাছাইকৃত সেটিংসমূহ রাখতে পারেন কারণ বেশীরভাগ\n"
+"সাধারণ ইনস্টলেশনের ক্ষেত্রে এটিই যথেষ্ট। যদি পরিবর্তন করতে চান, আপনাকে অন্তত একটি\n"
+"রুট পার্টিশন তৈরী করতে হবে (\"/\")। পার্টিশনের সাইজ খুব ছোট না হওয়া জরুরী, কারন\n"
+"অন্যথা আপনি যথেষ্ট সফ্টওয়্যার ইনস্টল করতে পারবেন না। আপনার তথ্যসমূহ আলাদা\n"
+"পার্টিশনে রাখতে চাইলে, আপনাকে আরও একটি \"/home\" পার্টিশন তৈরী করতে হবে\n"
+"(যা কিনা একাধিক লিনাক্স পার্টিশন থাকলেই সম্ভব)।\n"
+"\n"
+"পার্টিশনগুলো তালিকায় এভাবে দেখানো হয়েছে: \"নাম\", \"ধারণক্ষমতা\".\n"
+"\n"
+"\"নাম\" এর কাঠামো হচ্ছে: \"হার্ড ড্রাইভের ধরন\", \"হার্ড ড্রাইভ নাম্বার\",\n"
+"\"পার্টিশন নাম্বার\" (যেমন, \"hda1\").\n"
+"\n"
+"যদি আপনার হার্ড ড্রাইভটি IDE হার্ড ড্রাইভ হলে \"হার্ড ড্রাইভের ধরন\" হবে \"hd\", "
+"আর\n"
+" SCSI হার্ড ড্রাইভ হলে হবে \"sd\"।\n"
+"\n"
+"\"হার্ড ড্রাইভ নাম্বার\", হচ্ছে \"hd\" বা \"sd\" এর পরের একটি অক্ষর। IDE হার্ড "
+"ড্রাইভের\n"
+"জন্য:\n"
+"\n"
+" * \"a\" অর্থ \"প্রাথমিক IDE কনট্রোলারে মাস্টার হার্ড ড্রাইভ\";\n"
+"\n"
+" * \"b\" অর্থ \"প্রাথমিক IDE কনট্রোলারে স্লেভ হার্ড ড্রাইভ\";\n"
+"\n"
+" * \"c\" অর্থ \"সহকারী IDE কনট্রোলারে মাস্টার হার্ড ড্রাইভ\";\n"
+"\n"
+" * \"d\" অর্থ \"সহকারী IDE কনট্রোলারে স্লেভ হার্ড ড্রাইভ\".\n"
+"\n"
+"SCSI হার্ড ড্রাইভের জন্য, \"a\" অর্থ \"সর্বনিম্ন SCSI ID\", \"b\" অর্থ\n"
+"\"দ্বিতীয় সর্বনিম্ন SCSI ID\", ইত্যাদি।"
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ম্যান্ড্রিব লিনাক্স ইনস্টলেশন কয়েকটি সিডি'তে ভাগ করা থাকে। যদি একটি চিহ্নিত "
+"প্যাকেজ\n"
+"অন্য সিডি'তে থেকে থাকে, তাহলে DrakX বর্তমান সিডি'টি বের করে দেয় এবং "
+"প্রয়োজনীয়টি\n"
+"প্রবেশ করাতে জিজ্ঞেস করে। যদি এরকম অনুরোধ না আসে, তাহলে \"%s\" তে ক্লিক করুন,\n"
+"যথাযথ প্যাকেজগুলো ইনস্টল হবে না।"
+
+# সাম:
+# documentation = ডকুমেন্টেশন
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"এখন আপনাকে নির্বাচন করতে হবে আপনি কোন কোন প্রোগ্রাম সিস্টেমে ইনস্টল করতে চান।\n"
+"Mandriva Linux এর জন্য কয়েক হাজার প্যাকেজ রয়েছে, এবং ব্যাবস্থাপনার সুবিধার্থে "
+"সেগুলোকে\n"
+"অ্যাপ্লিকেশনের ধরন অনুযায়ী ভাগ করা হয়েছে।\n"
+"\n"
+"Mandriva Linux সব প্যাকেজগ্রুপসমূহ চারটি শ্রেণীতে ভাগ করে। আপনি বিভিন্ন শ্রেণীর\n"
+"অ্যাপ্লিকেশনমিলিয়ে ও মিশিয়ে ইনস্টল করতে পারেন, যেমন একটি ``Workstation''\n"
+"ইনস্টলেশনে আপনি ''Server'' শ্রেণী থেকে অ্যাপ্লিকেশন ইনস্টল\n"
+"করতে পারেন।\n"
+"\n"
+" * \"%s\": আপনি যদি আপনার মেশিনটি ওয়ার্কস্টেশন হিসেবে ব্যবহার করতে চান, "
+"Workstation''\n"
+"শ্রেণী থেকে এক বা একাধিক গ্রুপ নির্বাচন করুন।\n"
+"\n"
+" * \"%s\": আপনি যদি আপনার মেশিনটি প্রোগ্রামিংএর জন্য ব্যবহার করতে চান, সে "
+"অনুযায়ী\n"
+"গ্রুপ নির্বাচন করুন। \"LSB\" নামের বিশেষ গ্রুপটি আপনার সিস্টেমকে এমনভাবে\n"
+"কনফিগার করবে যাতে তা Linux Standard Base স্পেসিফিকেশনের সাথে যতদূর\n"
+"সম্ভব সামঞ্জস্য বজায় রাখে।\n"
+"\n"
+"\"LSB\" গ্রুপটি নির্বাচন করলে, ডিফল্ট \"2.6\" কার্নেল সিরিজের বদলে\n"
+"\"2.4\" সিরিজটি ইনস্টল হবে। এটি করা হয় সিস্টেমকে 100%%-LSB সামঞ্জস্যপূর্ণ\n"
+"করার জন্য। তবে, আপনি \"LSB\" গ্রুপটি নির্বাচন না করলেও আপনার সিস্টেম প্রায়\n"
+"100%%-LSB সামঞ্জস্যপূর্ণ হবে।\n"
+"\n"
+"* \"%s\": আপনার মেশিনটি যদি সার্ভার হিসেবে ব্যবহৃত হয়, আপনার মেশিনে কোন সাধারন\n"
+" সার্ভিসসমূহ ইনস্টল করতে চান তা নির্বাচন করুন।\n"
+"\n"
+" * \"%s\": এখানে আপনার পছন্দ অনুযায়ী গ্রাফিক্যাল প্রতিবেশ নির্বাচন\n"
+"করুন। আপনি যদি গ্রাফিক্যাল ইন্টারফেস ব্যবহার করতে চান, অন্তত একটি অবশ্যই\n"
+"নির্বাচন করতে হবে।\n"
+"\n"
+"কোন গ্রুপ নামের উপর মাউস কার্সার রাখলে ঐ গ্রুপ সম্পর্কে টীকা প্রদর্শিত হবে।\n"
+"\n"
+"আপনি \"%s\" বক্সটি চেক করতে পারেন, যা কিনা প্রয়োজনীয় যদি আপনি প্যাকেজগুলো\n"
+"সম্পর্কে পরিচিত হন বা কোন কোন প্যাকেজ ইনস্টল হবে তা সম্পূর্ণভাবে নিয়ন্ত্রন\n"
+"করতে চান।\n"
+"\n"
+"\"%s\" মোডে ইনস্টলেশন শুরু করলে, আপনি সব গ্রুপ ডিসিলেক্ট করে নতুন প্যাকেজ\n"
+"ইনস্টলেশন বাতিল করতে পারেন। এটি একটি বিদ্যমান সিস্টেম মেরামত ও আপডেট\n"
+"করার জন্য প্রযোজ্য।\n"
+"\n"
+"আপনি যদি একটি সাধারণ ইনস্টলেশনের ক্ষেত্রে (আপগ্রেড নয়), সব গ্রুপ\n"
+"ডিসিলেক্ট করে থাকেন, তবে একটি পপআপ ডায়ালগে সর্বনিম্ন ইনস্টলেশনের কিছু\n"
+"অপশন পরামর্শ করা হবে:\n"
+"\n"
+"* \"%s\": একটি সক্রিয় গ্রাফিক্যাল ডেস্কটপের জন্য প্রয়োজনীয় সর্বনিম্ন প্যাকেজ ইনস্টল "
+"কর।\n"
+"\n"
+"* \"%s\": মূল সিস্টেম, প্রাথমিক ইউটিলিটিসমূহ ও তাদের ডকুমেন্টেশন ইনস্টল করে। এই "
+"ইনস্টলেশনটি সার্ভার সেটআপ করার জন্য উপযুক্ত।\n"
+"\n"
+"* \"%s\": একটি সক্রিয় Linux সিস্টেমের জন্য জরুরী সর্বনিম্ন সংখ্যক প্যাকেজ ইনস্টল করে। "
+"এ\n"
+" ইনস্টলেশনে আপনি শুধু একটি কমান্ড লাইন ইন্টারফেস পাবেন। ইনস্টলেশনে মোট সাইজ প্রায় "
+"৬৫\n"
+" মেগাবাইট।"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "আপগ্রেড"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "সাধারণ ডকুমেন্টেশন"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "এক্কেবারেই সল্প ইনস্টলেশন"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "সয়ংক্রিয় নির্ভরতা"
+
+# sam
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" বাটনে ক্লিক করলে প্রিন্টার কনফিগারেশন উইজার্ড খুলবে।\n"
+"প্রিন্টার কনফিগারেশন সম্বন্ধে আরো জানতে, \"স্টার্টার গাইড\" এর যথাযথ\n"
+"অধ্যায়ের পরামর্শ নিন। আমাদের সহায়িকাতে দেখানো ইন্টারফেসটি, ইনস্টলেশনে\n"
+"ব্যবহৃত ইন্টারফেসের অনুরুপ। "
+
+# সাম
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"এই ডায়ালগটি আপনি বুট করার সময় কি কি সার্ভিস শুরু করতে চান তা নির্বাচন করার জন্য।\n"
+"\n"
+"DrakX বর্তমান ইনস্টলেশনে বিদ্যমান সব সার্ভিস দেখাবে। প্রতিটি সার্ভিস ভালভাবে দেখুন "
+"এবং\n"
+"বুটের সময় যেগুলো প্রয়োজন না হয়, সেগুলো আনচেক করুন।\n"
+"\n"
+"একটি সার্ভিস নির্বাচন করলে, সার্ভিসটি সম্পর্কে সংক্ষিপ্ত তথ্য প্রদর্শিত হবে। আপনি যদি "
+"কোন সার্ভিসের\n"
+"আবশ্যকতা সম্পর্কে নিশ্চিত না হন তবে ডিফল্ট মানে রেখে দেয়াই নিরাপদ।\n"
+"\n"
+"!! আপনি আপনার মেশিন সার্ভার হিসেবে ব্যবহার করতে চাইলে খুব সাবধান থাকবেন: আপনি "
+"অবশ্যই\n"
+"কোন অবাঞ্ছনীয় সার্ভিস চালু করতে চান না কারন কিছু সার্ভিস সার্ভারে সক্রিয় করাটা "
+"বিপদজনক।\n"
+"এক কথায়, শুধু সেসব সার্ভিসই চালু করুন যেসব আপনার প্রয়োজন। !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "সয়ংক্রিয় সময় মেলানো"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"গ্রাফিক কার্ড\n"
+"\n"
+" সাধারণত ইনস্টলার আপনার মেশিনে ইনস্টলকৃত গ্রাফিক কার্ড স্বয়ংক্রিয়ভাবে সন্ধান করবে\n"
+"এবং কন্‌ফিগার করবে। যদি এটি সঠিক না হয়, তাহলে আপনি এই তালিকা থেকে যেই কার্ড\n"
+"আপনি ইনস্টল করেছেন সেটা বেছে নিতে পারবেন।\n"
+"\n"
+" এই অবস্থাতে যেখানে আপনার কার্ডের জন্য বিভিন্ন সার্ভার পাওয়া যায়, 3D \n"
+"acceleration সহ অথবা ছাড়া, আপনার প্রয়োজন অনুযায়ী সেরা সার্ভার বেছে নিতে\n"
+"আপনাকে জিজ্ঞেস করা হবে।"
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"মনিটর\n"
+"\n"
+" সাধারণত ইনস্টলার আপনার মেশিনে সংযুক্ত মনিটর স্বয়ংক্রিয়ভাবে সন্ধান করবে\n"
+"এবং কন্‌ফিগার করবে। যদি এটি সঠিক না হয়, তাহলে আপনি এই তালিকা থেকে যেই মনিটর\n"
+"আপনার কম্পিউটারে সংযুক্ত করেছেন সেটা বেছে নিতে পারবেন।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"রেজ্যুলুশন\n"
+"\n"
+" এখানে আপনার গ্রাফিক্‌স হার্ডওয়্যারের রেজ্যুলুশন এবং রংয়ের গভীরতা বেছে নিতে \n"
+"পারেন। আপনার প্রয়োজনের সাথে যেটি সবচেয়ে ভাল হয় তার যেকোন একটি বেছে নিন\n"
+"(ইনস্টলেশনের পর আপনি তা পরিবর্তন করতে সমর্থ হবেন)। বেছে নেয়া কন্‌ফিগারেশনের\n"
+"নমুনা মনিটরের ছবিতে দেখানো হচ্ছে।"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"এই অবস্থাতে যেখানে আপনার কার্ডের জন্য বিভিন্ন সার্ভার পাওয়া যায়, 3D \n"
+"acceleration সহ অথবা ছাড়া, আপনার প্রয়োজন অনুযায়ী সেরা সার্ভার বেছে নিতে\n"
+"আপনাকে জিজ্ঞেস করা হবে।"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"অপশন\n"
+"\n"
+" এই ধাপগুলো বুট করার সময় স্বয়ংক্রিয়ভাবে আপনি যেখানে আপনার মেশিনের গ্রাফিকাল\n"
+"ইন্টারফেস বাছাই করার অনুমতি পাবেন। সুস্পষ্টভাবেই, যদি আপনার মেশিনকে একটি সার্ভার "
+"হিসেবে\n"
+"ব্যবহার করতে চান, তাহলে আপনি \"%s\" দিয়ে পরীক্ষা করে নিতে পারেন, অথবা যদি "
+"আপনি\n"
+"সফলভাবে ডিসপ্লে কন্‌ফিগার করতে না পারেন।"
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "উপস্থিত পার্টিশন ব্যবহার করো"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "সম্পূর্ণ ডিস্ক মুছে ফেলো"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "সয়ংক্রিয়-ইনস্টল ফ্লপি তৈরী করো"
+
+# সাম
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"আপনি যদি পুরানো GNU/Linux পার্টিশন আবার ব্যবহার করতে চান, আপনি হয়ত কোন পার্টিশন "
+"নতুন করে ফরম্যাট করে পুরানো তথ্য মুছে ফেলতে চাইবেন। এটি করতে হলে, ঐ পার্টিশনগুলোও "
+"নির্বাচন করুন।\n"
+"\n"
+"মনে রাখবেন, সব পার্টিশন ফরম্যাট করা জরুরী নয়। যে পার্টিশনে অপারেটিং সিস্টেম থাকবে "
+"(যেমন \"/\", \"/usr\" বা \"/var\") সেটি অবশ্যই ফরম্যাট করতে হবে কিন্তু যেসব "
+"পার্টিশনের তথ্য আপনি সংরক্ষন করতে চান (সাধারনত \"/home\") সেগুলো ফরম্যাট করা "
+"অত্যাবশ্যকীয় নয়।\n"
+"\n"
+"পার্টিশন নির্বাচন করতে সাবধানতা অবলম্বন করবেন। ফরম্যাট করলে নির্বাচিত পার্টিশনের "
+"সব তথ্য মুছে যাবে এবং তা আর ফিরে পাওয়া যাবে না।\n"
+"\n"
+"পার্টিশন ফরম্যাট শুরু করতে \"%s\" চাপুন।\n"
+"\n"
+"আপনার নতুন Mandriva Linux অপারেটিং সিস্টেম ইনস্টেশনের জন্য আপনি যদি অন্য একটি "
+"পার্টিশন নির্বাচন করতে, তবে \"%s\" ক্লিক করুন।\n"
+"\n"
+"যদি আপনি পার্টিশনের জন্য ডিস্কের খারাপ ব্লক সনাক্ত করাতে চান তাহলে \"%s\" ক্লিক "
+"করুন।"
+
+# সাম
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"আপনি যখন Mandriva Linux ইনস্টল করবেন, সম্ভবত প্রথম রিলিজ থেকে কিছু\n"
+"প্যাকেজ আপডেট হয়ে গেছে। কোন সাধারন বা নিরাপত্তা ত্রুটি সমাধান করা হয়েছে।\n"
+"আপনাকে এই সুবিধাগুলি দেয়ার লক্ষ্যে এই আপডেটগুলো ইন্টারনেট থেকে ডাউনলোড\n"
+"করার সুযোগ দেয়া হয়েছে। যদি আপনার সক্রিয় ইন্টারনেট সংযোগ থাকে, \"%s\" চেক\n"
+"করুন, আর \"%s\" চেক করুন যদি আপাতত ইনস্টল করতে না চান।\n"
+"\n"
+"\"%s\" বাছাই করলে আপাকে কিছু ওয়েব লোকেশনের তালিকা দেয়া হবে যেখান থেকে\n"
+"আপডেট পাওয়া যাবে। আপনি আপনার কাছের একটি লোকেশন পছন্দ করুন। এরপর\n"
+"একটি প্যাকেজ নির্বাচন করার জন্য একটি ট্রী দেখানো হবে। প্যাকেজগুলো দেখুন এবং\n"
+"ডাউনলোড করে ইনস্টল করতে \"%s\" বাটন চাপুন। অথবা \"%s\" ক্লিক করে বের হয়ে আসুন।"
+
+# সাম
+# নিরাপত্তা স্তর
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"এই সময়ে DrakX আপনার মেশিনের জন্য আপনার ইচ্ছানুযায়ী নিরাপত্তা স্তর\n"
+"বেছে নেয়ার সুযোগ দেবে। সাধারন নিয়ম অনুযায়ী, যদি একটি মেশিনে জরুরী\n"
+"তথ্য থাকে বা মেশিনটি ইন্টারনেটে সংযুক্ত থাকে তবে নিরাপত্তা বাড়িয়ে দেয়া\n"
+"হয়। নিরাপত্তা যত বেশী, ব্যবহারের স্বাচ্ছন্দ্য তত কমে যায়।\n"
+"\n"
+"আপনি যদি নিশ্চিত না হন কোন অপশনটি রাখবেন তবে ডিফল্ট অপশনটিই রাখুন।\n"
+"পরবর্তীতে আপনি এটি draksec টুল (যেটি Mandriva Linux নিয়ন্ত্রন কেন্দ্রের একটি অংশ)\n"
+"দিয়ে পরিবর্তন করতে পারবেন।\n"
+"\n"
+"\"%s\" ক্ষেত্রটিতে যিনি নিরাপত্তার দায়িত্বে নিয়োজিত তার ই-মেইল অ্যাড্রেস দিন।\n"
+"নিরাপত্তা বিষয়ক বার্তাগুলো এই অ্যাড্রেসে পাঠানো হবে। "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "সিকিউরিটি এ্যডমিনিস্ট্রেটর"
+
+# সাম
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"এই সময়ে আপনাকে Mandriva Linux যে পার্টিশনে ইনস্টল হবে তা নির্বাচন\n"
+"করতে হবে। যদি আগে থেকেই পার্টিশন তৈরী থাকে, (GNU/Linux এর পুর্বের\n"
+"কোন ইনস্টলেশনের কারনে বা অন্য কোন পার্টিশন টুল দিয়ে তৈরী করা) আপনি\n"
+"সেগুলো ব্যবহার করতে পারেন। অন্যথায় হার্ডড্রাইভ পার্টিশন তৈরী করতে হবে।\n"
+"\n"
+"পার্টিশন তৈরী করতে প্রথমে একটি হার্ডড্রাইভ নির্বাচন করুন। প্রথম পার্টিশন\n"
+"নির্বাচনের জন্য \"hda\", দ্বিতীয় পার্টিশনের জন্য \"hdb\", প্রথম SCSI ড্রাইভের\n"
+"জন্য \"sda\" ইত্যাদি ক্লিক করুন।\n"
+"\n"
+"নির্বাচিত ড্রাইভটি পার্টিশন করতে নিম্নলিখিত অপশনসমূহ ব্যবহার করুন:\n"
+"\n"
+" * \"%s\": এই অপশনটি নির্বাচিত ড্রাইভের সব পার্টিশন মুছে দিবে\n"
+"\n"
+" * \"%s\": এই অপশনটি আপনার হার্ডড্রাইভের খালি অংশে স্বয়ংক্রিয়ভাবে ext3 এবং\n"
+"swap পার্টিশন তৈরী করতে দিবে।\n"
+"\n"
+"\"%s\": আরও ফিচার ব্যবহার করার সুযোগ দেয়:\n"
+"\n"
+" * \"%s\": পার্টিশন টেবিলটি ফ্লপিতে সংরক্ষন করে যা কিনা পরবর্তীতে পার্টিশন\n"
+"টেবিল উদ্ধার করতে কাজে লাগে। এটি খুবই গুরুত্বপুর্ণ একটি ধাপ যেটি আপনার\n"
+"করা উচিত।\n"
+"\n"
+" * \"%s\": ফ্লপি ডিস্কে সংরক্ষিত পার্টিশন টেবিল এনে তা পুর্বাবস্থায় ফিরিয়ে নেয়।\n"
+"\n"
+" * \"%s\": আপনার পার্টিশন টেবিল নষ্ট হলে আপনি এই অপশনটি দিয়ে তা মেরামত\n"
+"করার চেষ্টা করতে পারেন। অনুগ্রহ করে সাবধানতা অবলম্বন করবেন এবং মনে রাখবেন\n"
+"এই প্রক্রিয়া সবসময় সফল নাও হতে পারে।\n"
+"\n"
+" * \"%s\": সব পরিবর্তন বাতিল করে দিয়ে হার্ডড্রাইভের পুর্বের মূল পার্টিশন টেবিল লোড "
+"করে।\n"
+"\n"
+" * \"%s\": এই অপশনটি অনির্বাচিত করলে, ব্যবহারকারীদের রিমুভেবল মাধ্যম যেমন\n"
+"ফ্লপি এবং CD-ROM নিজে নিজে মাউন্ট/আনমাউন্ট করার প্রায়োজন পরবে।\n"
+"\n"
+" * \"%s\": এই অপশনটি ব্যবহার করুন যদি হার্ডড্রাইভ পার্টিশন আপনি উইজার্ডের\n"
+"মাধ্যমে করতে চান। পার্টিশন সম্বন্ধে ভাল ধারনা না থাকলে এই অপশনটি পরামর্শনীয়।\n"
+"\n"
+" * \"%s\": এই অপশনটি ব্যবহার করে পরিবর্তনগুলো বাতিল করুন।\n"
+"\n"
+" * \"%s\": আপনার পার্টিশনে আরও কিছু কাজ (ধরন, অপশন ফরম্যাট) করার অপশন\n"
+"দেয় ও হার্ডড্রাইভ সম্পর্কে আরও তথ্য দেয়।\n"
+"\n"
+" * \"%s\": পার্টিশন করা শেষ হলে এই অপশন আপনার সেটিংগুলো ডিস্কে সংরক্ষণ করবে।\n"
+"\n"
+"পার্টিশনের সাইজ ঠিক করতে আপনি কীবোর্ডের তীর চিহ্নিত কীগুলো ব্যবহার করতে পারেন।\n"
+"\n"
+"দ্রষ্টব্য: আপনি যেকোন অপশন কীবোর্ড দিয়ে নির্বাচন করতে পারেন। পার্টিশন নির্বাচন\n"
+"করতে [Tab] এবং [Up/Down] তীর চিহ্নগুলো ব্যবহার করুন।\n"
+"\n"
+"যখন একটি পার্টিশন নির্বাচন অবস্থায় আছে, আপনি নিম্নলিখিত কীগুলো ব্যবহার করতে "
+"পারেন:\n"
+"\n"
+" * Ctrl-c নতুন পার্টিশন তৈরী করার জন্য (যখন একটি খালি পার্টিশন নির্বাচন করা "
+"হয়েছে)\n"
+"\n"
+" * Ctrl-d একটি পার্টিশন মুছে দিতে\n"
+"\n"
+" * Ctrl-m মাউন্ট পয়েন্ট সেট করতে\n"
+"\n"
+"বিদ্যমান ফাইল সিস্টেমের ধরন সম্পর্কে জানতে হলে \"Reference Manual\" এর\n"
+"ext2FS অধ্যায়টি পড়ুন।\n"
+"\n"
+"আপনি যদি PPC মেশিনে ইনস্টল করেন, তাহলে আপনাকে yaboot বুটলোডারের\n"
+"ব্যবহারের জন্য একটি ছোট অন্তত ১ এমবি এর HFS \"বুটস্ট্র্যাপ\" পার্টিশন তৈরী করতে "
+"হবে।\n"
+"আপনি যদি পার্টিশনটি আরও বড় করতে চান, যেমন ৫০ MB, আপনি কোন জরুরী বুট সমস্যার\n"
+"জন্য একটি আলাদা কার্নেল এবং ramdisk তৈরী করে এই পার্টিশনে রাখতে পারেন।"
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "রিমুভযোগ্য মিডিয়া সয়ংক্রিয়ভাবে মাউন্ট করা হচ্ছে"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "সাধারণ/দক্ষ মোডের মধ্যে পরিবর্তন"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": বর্তমান দেশ নির্বাচন পরীক্ষা করুন। আপনি যদি এই দেশের জন্য না হন,\n"
+"তাহলে \"%s\" বাটনে ক্লিক করুন এবং অন্য একটি বেছে নিন। যদি আপনার দেশ\n"
+"উল্লেখিত তালিকায় না থাকে, তাহলে \"%s\" বাটনে ক্লিক করে সম্পূর্ণ দেশের তালিকায় "
+"পেয়ে যান।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+# সাম
+# ইনস্টলেশন
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"আপনার ভাষা নির্বাচনের উপর ভিত্তি করে, DrakX স্বয়ংক্রিয়ভাবে একটি কীবোর্ড\n"
+"কনফিগারেশন বেছে নেবে। এই নির্চনটি বাঞ্ছনীয় কিনা দেখে নিন বা অন্য একটি\n"
+"লেআউট পছন্দ করুন।\n"
+"\n"
+"আপনার ভাষার সাথে সম্পূর্ন মিলিয়ে কীবোর্ড আপনি নাও পেতে পারেন:\n"
+"যেমন যদি আপনি ইংরেজী ভাষাভাষী একজন সুইস নাগরিক হন, আপনি সুইস কীবোর্ড\n"
+"ব্যবহার করতে পারেন। কিন্তু আপনি যদি ইংরেজী ভাষী হয়ে Quebec এ বসবাস\n"
+"করেন আপনার পরিস্থিতি এমন হতে পারে যেখানে country-set কীবোর্ড এবং\n"
+"নিজস্ব ভাষা একই নয়। যেকোন ক্ষেত্রেই আপনি আপনি একটি তালিকা থেকে সঠিক\n"
+"কীবোর্ডটি বেছে নিতে পারেন।\n"
+"\n"
+"সমর্থিত কীবোর্ডের তালিকা দেখতে \"%s\" বাটনে ক্লিক করুন।\n"
+"\n"
+"যদি আপনি নন‌-ল্যাটিন বর্ণমালার কীবোর্ডে লেআউট বাছাই করেন, পরবর্তী ডায়ালগটি\n"
+"আপনাকে ল্যাটিন ও নন‌-ল্যাটিন কীবোর্ডের মধ্যে সুইচ করার জন্য একটি কী বাইন্ডিং\n"
+"বাছাই করতে হবে।"
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "স্পেনীয়"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "চাকার বৈশিষ্ঠ অনুহকরণ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | যে কোন PS/2 এবং ইউএসবি মাউস"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"সঠিক পোর্টটি নির্বাচন করুন। যেমন, উইন্ডোজের \"COM1\" পোর্টটি GNU/Linux-এ\n"
+"\"ttyS0\" নামে পরিচিত।"
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "অনুমোদন"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+# সাম
+# emulate = এমুলেট?
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"এখন সময় আপনার কম্পিউটারের জন্য একটি প্রিন্টিং সিস্টেম নির্বাচন করার। অনান্য\n"
+"অপারেটিং সিস্টেম আপনাকে একটি অপশন দিতে পারে কিন্তু Mandriva Linux দেবে দুটি।\n"
+"প্রিন্টিং সিস্টেমগুলো বিভিন্ন কনফিগারেশনের জন্য প্রযোজ্য।\n"
+"\n"
+" * \"%s\" -- অর্থ হচ্ছে \"প্রিন্ট করো, সারিতে রাখবেনা\". এটি নির্বাচন করুন যদি "
+"আপনার কোন\n"
+"প্রিন্টারের সাথে সরাসরি সংযোগ থাকে, আপনি প্রিন্টার জ্যাম থেকে জরুরীভাবে বের হয়ে "
+"যেতে\n"
+"চান এবং যদি আপনার নেটওয়ার্ক প্রিন্টার না থাকে।(\"%s\" শুধুমাত্র খুবই সাধারন "
+"নেটওয়ার্ক\n"
+"সামলাতে পারে এবং কিছুটা ধীর হয়)। এটি আপনার GNU/Linux এর প্রথম অভিজ্ঞতা হলে\n"
+"আপনার \"pdq\" ব্যবহার করাটাই শ্রেয়।\n"
+"\n"
+" * \"%s\" অর্থ \"সাধারন Unix প্রিন্টিং সিস্টেম\" এবং এটি আপনার স্থানীয় প্রিন্টার "
+"হোক\n"
+"বা পৃথিবীর অন্য প্রান্তে অবস্থিত কোন প্রিন্টারই হোক যেকোন ক্ষেত্রেই একটি উত্‍কৃষ্ট "
+"সিস্টেম।\n"
+"এটি কনফিগার করতে সহজ এবং পুরোনো \"lpd\" প্রিন্টিং সিস্টেমের জন্য সার্ভার বা "
+"ক্লায়েন্ট\n"
+"হিসেবে কাজ করতে পারে। অতএব এটি পুরানো অপারেটিং সিস্টেম যেগুলোর সার্ভিস প্রয়োজন\n"
+"তাদের সাথেও সামঞ্জস্যপূর্ণ। যদিও খুব শক্তিশালী, মূল সেটআপটি প্রায় \"pdq\" এর মত "
+"সহজ।\n"
+"আপনি যদি \"lpd\" সার্ভার এমুলেট করতে চান, তবে \"cups-lpd\" daemon টি চালু করতে\n"
+"ভুলবেন না। \"%s\" এর প্রিন্টার অপশন বাছাই করা ও প্রিন্টার ব্যবস্থাপনার জন্য একটি "
+"গ্রাফিক্যাল\n"
+"ইন্টারফেস রয়েছে।\n"
+"\n"
+"আপনার বাছাইকৃত প্রিন্টিং সিস্টেমটি যদি আপনার পরে পছন্দ না হয়,\n"
+"তবে আপনি Mandriva Linux নিয়ন্ত্রন কেন্দ্র থেকে PrinterDrake চালিয়ে ও \"%s\" বাটন "
+"ক্লিক\n"
+"করে তা বদল করতে পারেন।"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "দক্ষ"
+
+# সাম
+# check উচিত spelling, zwj didn't work for me...
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX প্রথমে আপনার কম্পিউটারে বিদ্যমান IDE ডিভাইস সনাক্ত করবে। এটি আপনার\n"
+"সিস্টেমে এক বা একাধিক PCI SCSI কার্ডের জন্যেও স্ক্যান করবে। যদি SCSI কার্ড পাওয়া\n"
+"যায়, DrakX নিজে নিজেই সঠিক ড্রাইভারটি ইনস্টল করবে।\n"
+"\n"
+"যেহেতু হার্ডওয়্যার সনাক্তকরন কোন অব্যার্থ পক্রিয়া নয়, DrakX আপনার হার্ডড্রাইভ সনাক্ত\n"
+"নাও করতে পারে। এ ক্ষেত্রে আপনাকে হার্ডওয়্যারটি নিজ হাতে নির্দিষ্ট করে দিতে হবে।\n"
+"\n"
+"PCI SCSI adapter নিজ হাতে নির্দিষ্ট করে দিতে হলে, DrakX আপনাকে জিজ্ঞাসা করবে\n"
+"আপনি অপশন কনফিগার করতে চান কিনা। আপনার DrakX কে হার্ডওয়্যারটির নির্দিষ্ট কার্ডের\n"
+"অপশনের জন্য প্রোব করতে দেয়া উচিত্‍ যা কিনা adapter ইনিশিয়ালাইজ করতে প্রয়োজন।\n"
+"বেশীরভাগ ক্ষেত্রে DrakX এই কাজটি কোন ঝামেলা ছাড়াই সম্পন্ন করবে।\n"
+"\n"
+"DrakX যদি প্রোব করে হার্ডওয়্যারে পাঠানোর জন্য প্যারামিটারগুলো নির্ধারন করতে না "
+"পারে\n"
+"তাহলে আপনাকে তা নিজে হাতে কনফিগারেশন করতে হবে।\n"
+" "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": যদি আপনার সিস্টেমে একটি সাউন্ড কার্ড পাওযা যায়, সেটা এখানে দেখানো হবে।\n"
+"যদি আপনি জানান যে আসলে এই সাউন্ড কার্ডটি আপনার সিস্টেমে উপস্থিত নেই, তাহলে আপনি\n"
+"বাটনে ক্লিক করুন এবং অন্য একটি ড্রাইভার বেছে নিন।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN কার্ড"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "গ্রাফিকাল ইন্টারফেস"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"হার্ড ড্রাইভ বেছে নিন যেটি আপনি আপনার নতুন ম্যান্ড্রিব লিনাক্স পার্টিশন ইনস্টল করার "
+"জন্য\n"
+"মুছে ফেলতে চান। সাবধান, এই ড্রাইভে থাকা সকল ডাটা হারিয়ে যাবে এবং আর কখনই\n"
+"পাওয়া যাবে না!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"যদি এই হার্ড ড্রাইভে থাকা সব ডাটা এবং পার্টিশন মুছে ফেলতে চান তাহলে আপনি\n"
+"\"%s\"তে ক্লিক করুন। সাবধান, \"%s\"তে ক্লিক করার পর, উইন্ডোজ ডাটাসহ,\n"
+"আপনি এই হার্ড ড্রাইভে থাকা কোন ডাটা এবং পার্টিশন ফিরে\n"
+"পাবেন না।\n"
+"\n"
+"এই অপারেশনের মাধ্যমে হার্ড ড্রাইভের উপস্থিত ডাটা এবং পার্টিশন হারাতে না চাইলে \"%s"
+"\"তে ক্লিক করুন।"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "পরবর্তী ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- পূর্ববর্তী"
+
diff --git a/perl-install/install/help/po/br.po b/perl-install/install/help/po/br.po
new file mode 100644
index 000000000..df8901d60
--- /dev/null
+++ b/perl-install/install/help/po/br.po
@@ -0,0 +1,1120 @@
+# DrakX e Brezhoneg.
+# Copyright (C) 1999-2005 Mandriva
+# Thierry Vignaud <tvignaud@mandriva.com>, 1999-2005
+# Jañ-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>, 1999-2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 10.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-04-06 19:37+0200\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandriva.com>\n"
+"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1;plural=0\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Mennout a rit implijout an arc'hwel-mañ ?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Bremanaat"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Gant teuliadur bihan"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Staliadur bihan gwir"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Bremañ e c'hellit diuz pe servijoù a vennit e vije lañset pa loc'her.\n"
+"Pa zeu ho logodenn war un draez, ul lagadenn skoazell a zeuio war wel hag\n"
+"a zisplego pal ar servij-se.\n"
+"\n"
+"Bezit aketuz-kenañ el lankad-mañ ma vennit implijout ho ardivink evel ur\n"
+"servijer : mennout a rit emichañs chom hep loc'hañ kement servij n'ho peus "
+"ket\n"
+"c'hoant."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Impliji parzhadur o vezañ"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Chetañ an holl planedenn"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Krouiñ ur bladennig staliañ emgefreek"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Melestradur an surentez"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Emvarc'hañ ar skoroù lem/laka"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Tremen er mod boas/mailh"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spagnoleg"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gant kendarvanerezh ar rodell"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Hollvedel | Ul logodenn bennak (PS/2 pe USB)"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Dibabit ar porzh a zere mar plij. Da skouer, porzh « COM1 » dindan MS\n"
+"Windows a vez anvet « ttyS0 » gant Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "dilesadur"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Mod mailh"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Kartenn ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Ketal Kevregañ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "A heul ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Diaraog"
+
diff --git a/perl-install/install/help/po/bs.po b/perl-install/install/help/po/bs.po
new file mode 100644
index 000000000..6a3a81143
--- /dev/null
+++ b/perl-install/install/help/po/bs.po
@@ -0,0 +1,1945 @@
+# translation of bs.po to Bosanski
+# translation of DrakX-bs.po to Bosanski
+# Copyright (C) 2001, 2003, 2004, 2005. Free Software Foundation, Inc.
+# Amila Akagić <bono@lugbih.org>, 06. 2001.
+# Vedran Ljubovic <vljubovic@smartnet.ba>, 2002, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-02-26 11:13+0100\n"
+"Last-Translator: Vedran Ljubovic <vljubovic@smartnet.ba>\n"
+"Language-Team: Bosanski <lokal@lugbih.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prije nego što nastavimo, trebate pažljivo pročitati uvjete licence. Ona\n"
+"pokriva cijelu Mandriva Linux distribuciju. Ako se slažete sa svim\n"
+"uvjetima u njoj, izaberite opciju \"%s\". Ako ne, klikom na \"%s\" ćete\n"
+"restartovati vaš računar."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je višekorisnički sistem, što znači da svaki korisnik može imati\n"
+"vlastite preference, vlastite datoteke i tako dalje. Možete pročitati "
+"''Početnički\n"
+"vodič'' da biste saznali više o višekorisničkim sistemima. Ali za razliku "
+"od\n"
+"\"root\"-a, koji je administrator sistema, korisnicima koje dodate u ovom "
+"trenutku\n"
+"neće biti dozvoljeno da promijene ništa osim vlastitih datoteka i vlastite\n"
+"konfiguracije, čime je sistem zaštićen od nenamjernih ili zlonamjernih "
+"izmjena\n"
+"koje mogu uticati na cijeli sistem. Moraćete kreirati najmanje jednog "
+"korisnika\n"
+"za vas same -- ovo je račun koji trebate koristiti za rutinsku, svakodnevnu\n"
+"upotrebu. Iako je vrlo lako prijaviti se kao \"root\" da biste radili sve i "
+"svašta,\n"
+"to takođe može biti i vrlo opasno! Jedna greška može značiti da vaš sistem\n"
+"više ne radi. Ako napravite ozbiljnu pogrešku kao običan korisnik, najgore\n"
+"što se može desiti jeste da izgubite neke informacije, ali ne i da utičete "
+"na\n"
+"cijeli sistem.\n"
+"\n"
+"U prvom polju unosite vaše pravo ime i prezime. Naravno, ovo nije obavezno\n"
+"-- u stvari možete ovdje unijeti šta god hoćete. DrakX će koristiti prvu "
+"riječ\n"
+"koju unesete i kopirati je u polje \"%s\", što je ime koje će ovaj\n"
+"korisnik unositi da bi ušao na sistem. Ako želite, možete promijeniti\n"
+"ponuđenu vrijednost. Idući korak je da unesete šifru. Sa sigurnosne tačke\n"
+"gledišta, šifra neprivilegovanog (običnog) korisnika nije tako važna kao "
+"\"root\"\n"
+"šifra, ali to nije razlog da je zanemarite tako što ćete je ostaviti praznom "
+"ili\n"
+"prejednostavnom: na kraju krajeva, vaše lične datoteke je ono što je u\n"
+"riziku.\n"
+"\n"
+"Jednom kada kliknete na \"%s\", možete ih dodati još.\n"
+"Dodajte po jednog korisnika za svakog od vaših prijatelja: na primjer za\n"
+"vašeg oca ili sestru. Kliknite na \"%s\" kada završite dodavanje korisnika.\n"
+"\n"
+"Klikanjem na dugme \"%s\" možete promijeniti osnovni \"shell\" za tog\n"
+"korisnika (ponuđen je bash).\n"
+"\n"
+"Kada završite dodavanje svih korisnika, bićete upitani da odaberete\n"
+"korisnika koji se može automatski prijaviti prilikom pokretanja sistema.\n"
+"Ako ste zainteresovani za ovu mogućnost (i ne brinete previše o lokalnoj\n"
+"sigurnosti), izaberite željenog korisnika i window manager, zatim kliknite\n"
+"na \"%s\". Ako niste zainteresovani za to, isključite opciju\n"
+"\"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite koristiti ovu mogućnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Ovdje su navedene Linux particije koje već postoje na vašem hard disku.\n"
+"Možete zadržati izbore koje je napravio čarobnjak, pošto su oni dobri za\n"
+"uobičajene instalacije. Ako napravite neke izmjene, morate, ako ništa\n"
+"drugo, definisati root particiju (\"/\"). Nemojte izabrati premalu "
+"particiju\n"
+"ili nećete moći instalirati dovoljno softvera. Ako želite držati vaše "
+"podatke\n"
+"na zasebnoj particiji, trebate takođe napraviti \"/home\" particiju (što je\n"
+"moguće samo ako imate više od jedne Linux particije na raspolaganju).\n"
+"\n"
+"Svaka particija je navedena ovako: \"Ime\", \"Kapacitet\".\n"
+"\n"
+"\"Ime\" se sastoji od: \"vrsta hard diska\", \"broj hard diska\", \"broj\n"
+"particije\" (na primjer, \"hda1\").\n"
+"\n"
+"\n"
+"\"Vrsta hard diska\" je \"hd\" ako je vaš hard disk IDE, a \"sd\" ako je\n"
+"u pitanju SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo nakon \"hd\" ili \"sd\". Kod IDE hard\n"
+"diskova:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+"Kod SCSI hard diskova, \"a\" je \"disk sa najnižim SCSI IDom\", \"b\"\n"
+"je \"drugi najniži SCSI ID\", itd."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalacija se prostire na nekoliko CDova. Ako je neki\n"
+"paket smješten na drugom CDu, DrakX će izbaciti trenutni CD i zamoliti vas\n"
+"da ubacite neki drugi po potrebi. Ako nemate potreban CD pri ruci,\n"
+"samo kliknite na \"%s\", odgovarajući paketi neće biti instalirani."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada je vrijeme da izaberete koje programe želite instalirati na vaš\n"
+"sistem. Za Mandriva Linux su dostupne hiljade paketa, pa da bi\n"
+"njihovo upravljanje bilo lakše, organizovani su u grupe slične\n"
+"primjene.\n"
+"\n"
+"Paketi su sortirani u grupe ovisno o tipičnoj namjeni vašeg računara.\n"
+"U Mandriva Linuxu date su četiri predefinisane kategorije. Možete\n"
+"miješati i poklapati programe iz raznih grupa, pa tako instalacija ``Radna\n"
+"stanica'' može sadržavati programe iz grupe ``Programiranje''.\n"
+"\n"
+" * \"%s\": ako planirate da koristite vaš računar kao radnu stanicu, "
+"izaberite\n"
+"jednu ili više grupa koje se nalaze u ovoj kategoriji.\n"
+"\n"
+" * \"%s\": ako planirate koristiti vaš računar za programiranje, izaberite\n"
+"odgovarajuće grupe iz te kategorije. Posebna \"LSB\" grupa će podesiti\n"
+"vaš sistem tako da on bude sukladan specifikaciji Linux Standard Base\n"
+"koliko god je to moguće.\n"
+"\n"
+" Izborom \"LSB\" grupe također ćete koristiti kernel serije \"2.4\",\n"
+"umjesto uobičajenog \"2.6\". Ovo je kako bi se osigurala 100%%\n"
+"sukladnost sistema sa LSBom. Ipak, čak i ako niste izabrali opciju\n"
+"\"LSB\" imaćete sistem koji je skoro 100%% sukladan sa LSBom.\n"
+"\n"
+" * \"%s\": ako je vaš računar zamišljen kao server, izaberite koje od\n"
+"uobičajenih servisa želite instalirati na vaš računar.\n"
+"\n"
+" * \"%s\": ovdje možete izabrati vašu preferiranu grafičku okolinu. Barem\n"
+"jedna od njih mora biti izabrana ako želite da imate grafički interfejs.\n"
+"\n"
+"Držanjem kursora miša iznad imena grupe će nakratko prikazati kratko\n"
+"objašnjenje o pojedinoj grupi.\n"
+"\n"
+"Možete aktivirati opciju \"%s\", koja je zgodna ako se upoznati sa "
+"ponuđenim\n"
+"paketima ili ako želite imati potpunu kontrolu nad onim što će se "
+"instalirati.\n"
+"\n"
+"Ako ste započeli instalaciju u \"%s\" režimu, možete isključiti sve grupe\n"
+"kako biste izbjegli instalaciju bilo kojeg novog paketa. Ovo je pogodno za\n"
+"popravljanje ili unaprjeđenje postojećeg sistema.\n"
+"\n"
+"Ako isključite sve grupe prilikom obavljanja obične instalacije (a ne\n"
+"upgrade), iskočiće dijalog koji vam nudi razne opcije za minimalnu "
+"instalaciju:\n"
+"\n"
+" * \"%s\": instalira minimalan mogući broj paketa potrebnih da imate\n"
+"funkcionalan grafički desktop.\n"
+"\n"
+" * \"%s\": instalira bazni sistem plus osnovne alate i njihovu\n"
+"dokumentaciju.\n"
+" Ova instalacija je prikladna za podešavanje servera.\n"
+"\n"
+" * \"%s\": ovo će instalirati apsolutni minimum paketa potrebnih da imate\n"
+"funkcionalan Linux sitsem. Sa ovom instalacijom imaćete samo komandnu\n"
+"liniju. Ukupna veličina ove instalacije je oko 65 megabajta."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Unaprijedi"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Stvarno minimalna instalacija"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ako ste naveli da želite individualno izabrati pakete, biće vam prikazano\n"
+"stablo koje sadrži sve pakete klasifikovane po grupama i podgrupama.\n"
+"Pregledajući stablo, možete izabrati čitave grupe, podgrupe ili\n"
+"individualne pakete.\n"
+"\n"
+"Kad god izaberete paket na stablu, desno od njega se pojavljuje opis koji\n"
+"vam objašnjava svrhu paketa.\n"
+"\n"
+"!! Ako izaberete neki serverski paket, zato što ste specifično izabrali taj\n"
+"paket ili zato što je on dio grupe paketa, bićete zamoljeni da potvrdite da\n"
+"zaista želite da taj server bude instaliran. Mandriva Linux obično\n"
+"automatski pokreće sve instalirane servise prilikom pokretanja sistema.\n"
+"Čak i ako su sigurni i nemaju poznatih problema u trenutku pakovanja\n"
+"distribucije, sasvim je moguće da su neke sigurnosne rupe otkrivene\n"
+"nakon što je dovršena ova verzija Mandriva Linuxa. Ako niste sigurni\n"
+"čemu tačno služi taj paket ili zašto ga treba instalirati, kliknite na \"%s"
+"\".\n"
+"Klikom na \"%s\" instalirate navedene servise i oni će biti automatski\n"
+"pokrenuti tokom pokretanja sistema. !!\n"
+"\n"
+"Opcija \"%s\" se koristi da bi se isključio dijalog upozorenja\n"
+"koji se pojavljuje svaki put kada instalacioni program automatski izabere\n"
+"neki paket kako bi razriješio neku zavisnost. Pojedini paketi imaju\n"
+"zavisnost jedan od drugog u smislu da instalacija jednog paketa traži\n"
+"da bude instaliran i drugi. Instalacioni program može odrediti koji paketi\n"
+"su potrebni da bi se zadovoljila zavisnost i uspješno završila instalacija.\n"
+"\n"
+"Mala ikona sa disketom na dnu liste vam omogućuje da učitate listu paketa\n"
+"koja je napravljena tokom neke ranije instalacije. Ovo je korisno ako "
+"želite\n"
+"da imate nekoliko računara koji su identično podešeni. Nakon klika na ovu\n"
+"ikonu bićete zamoljeni da u disketnu jedinicu stavite disketu napravljenu\n"
+"tokom ranije instalacije. Pogledajte drugi savjet na zadnjem koraku da "
+"biste\n"
+"saznali kako se pravi ova disketa."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatske ovisnosti"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": klikanjem na dugme \"%s\" otvorićete čarobnjak za\n"
+"podešavanje štampača. Konsultujte odgovarajuće poglavlje ``Vodiča za\n"
+"početnike'' za više informacija o tome kako podesiti novi štampač.\n"
+"Interfejs koji je tamo prikazan je vrlo sličan onom koji se koristi\n"
+"prilikom instalacije."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ovim dijalogom možete izabrati koje servise želite pokretati prilikom "
+"boota.\n"
+"\n"
+"Ovdje su predstavljeni svi servisi koji su dostupni u trenutnoj\n"
+"instalaciji. Pregledajte ih pažljivo i isključite sve one koji nisu\n"
+"potrebni prilikom boota.\n"
+"\n"
+"Kada izaberete servis dobićete kratki tekst koji objašnjava taj servis.\n"
+"Ipak, ako niste sigurni da li je servis koristan ili ne, sigurnije je da ne\n"
+"mijenjate predloženi izbor.\n"
+"\n"
+"!! Budite vrlo pažljivi sa ovim korakom ako namjeravate koristiti vaš\n"
+"računar kao server: vjerovatno ne želite da pokrenete neke servise koji\n"
+"vam ne trebaju. Molim vas da zapamtite da pojedini servisi mogu biti\n"
+"opasni ako su aktivni na serveru. Općenito, izaberite samo one servise\n"
+"koji vam stvarno trebaju. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux koristi vrijeme u GMT (Greenwich Mean Time) obliku i prevodi ga\n"
+"u lokalno vrijeme u skladu sa vremenskom zonom koju ste izabrali. Ako je\n"
+"sat na vašoj matičnoj ploči podešen na lokalno vrijeme, možete isključiti "
+"ovu\n"
+"opciju isključujući \"%s\", što će saopštiti GNU/Linuxu da su sistemski sat\n"
+"i hardverski sat u istoj vremenskoj zoni. Ovo je korisno kada se na "
+"računaru\n"
+"takođe nalazi i drugi operativni sistem kao što je Windows.\n"
+"\n"
+"Opcija \"%s\" će automatski regulisati sat spajajući se na udaljeni time "
+"server\n"
+"na Internetu. Kako bi ova mogućnost radila, morate imati ispravnu Internet\n"
+"konekciju. Najbolje je izabrati time server negdje u vašoj blizini. Ova "
+"opcija\n"
+"će ustvari instalirati time server koji mogu koristiti i drugi računari u "
+"vašoj\n"
+"lokalnoj mreži."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska sinhronizacija vremena"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafička kartica\n"
+"\n"
+" Instalacija obično automatski prepoznaje i podešava grafičku karticu\n"
+"koja je instalirana na računar. Ako se ovo nije desilo, možete izabrati\n"
+"sa liste karticu koja je ugrađena u vaš računar.\n"
+"\n"
+" U slučaju da postoji više dostupnih servera za vašu karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (skraćeno od X Window System) je srce GNU/Linux grafičkog interfejsa\n"
+"o kojem ovise sve grafičke okoline (KDE, GNOME, AfterStep,\n"
+"WindowMaker itd.) uključene u Mandriva Linux.\n"
+"\n"
+"Biće vam predstavljena lista različitih parametara koje možete promijeniti\n"
+"da biste dobili optimalan grafički prikaz.\n"
+"\n"
+"Grafička kartica\n"
+"\n"
+" Instalacija obično automatski prepoznaje i podešava grafičku karticu\n"
+"koja je instalirana na računar. Ako se ovo nije desilo, možete izabrati\n"
+"sa liste karticu koja je ugrađena u vaš računar.\n"
+"\n"
+" U slučaju da postoji više dostupnih servera za vašu karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Instalacioni program obično može prepoznati i podesiti monitor koji\n"
+"je povezan na vaš računar. Ako se ovo ne desi, možete odabrati neki\n"
+"monitor sa ove liste.\n"
+"\n"
+"\n"
+"\n"
+"Rezolucija\n"
+"\n"
+" Ovdje možete izabrati rezoluciju i broj boja među vrijednostima koje su\n"
+"moguće na vašem hardveru. Izaberite one vrijednosti koje vam najbolje\n"
+"odgovaraju (moći ćete ih promijeniti nakon instalacije). Primjer izabrane\n"
+"konfiguracije je prikazan na slici monitora.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Ovisno o vašem hardveru, ova opcija možda neće biti dostupna.\n"
+"\n"
+" Sistem će pokušati prikazati grafički ekran na željenoj rezoluciji.\n"
+"Ako možete vidjeti poruku tokom testa i odgovorite sa \"%s\", DrakX\n"
+"će produžiti na idući korak. Ako ne možete vidjeti poruku, to znači\n"
+"da je neki dio automatski prepoznate konfiguracije bio pogrešan.\n"
+"Test će automatski završiti nakon 12 sekundi, čime ćete biti vraćeni na\n"
+"meni. Mijenjajte postavke dok ne dobijete ispravan grafički prikaz.\n"
+"\n"
+"\n"
+"\n"
+"Opcije\n"
+"\n"
+" Ovdje možete izabrati da li želite da vaš računar automatski pređe na\n"
+"grafički interfejs nakon uključivanja. Očito, trebate odgovoriti \"%s\" ako\n"
+"će vaš računar imati ulogu servera ili ako imate problema sa\n"
+"podešavanjem ekrana."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Instalacioni program obično može prepoznati i podesiti monitor koji\n"
+"je povezan na vaš računar. Ako se ovo ne desi, možete odabrati sa ove\n"
+"liste monitor koji je ustvari povezan na vaš računar."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rezolucija\n"
+"\n"
+" Ovdje možete izabrati rezoluciju i broj boja među vrijednostima koje su\n"
+"moguće na vašem hardveru. Izaberite one vrijednosti koje vam najbolje\n"
+"odgovaraju (moći ćete ih promijeniti nakon instalacije). Primjer izabrane\n"
+"konfiguracije je prikazan na slici monitora."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"U slučaju da postoji više dostupnih servera za vašu karticu, sa ili bez\n"
+"3D ubrzanja, biće vam ponuđeno da izaberete server koji najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcije\n"
+"\n"
+" Ovdje možete izabrati da li želite da vaš računar automatski pređe na\n"
+"grafički interfejs nakon uključivanja. Očito, trebate odgovoriti \"%s\" ako\n"
+"će vaš računar imati ulogu servera ili ako imate problema sa\n"
+"podešavanjem ekrana."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Na ovom mjestu trebate izabrati gdje želite instalirati Mandriva Linux\n"
+"operativni sistem na vašem hard disku. Ako je disk prazan ili ako postojeći\n"
+"operativni sistem koristi sav prostor na njemu, potrebno je da ga\n"
+"particionirate. U biti, particioniranje hard diska predstavlja logičko\n"
+"organiziranje kako bi se stvorio prostor za instaliranje vašeg novog\n"
+"Mandriva Linux sistema.\n"
+"\n"
+"Pošto su efekti particioniranja obično nepovratni, i mogu voditi do gubitka\n"
+"podataka na eventualnom postojećem operativnom sistemu, particioniranje\n"
+"može biti zastrašujuće i stresno ako ste neiskusan korisnik. Srećom, "
+"postoji\n"
+"čarobnjak koji pojednostavljuje taj proces. Prije započinjanja, molim\n"
+"pročitajte pažljivo ovaj tekst i, prije svega, nemojte žuriti.\n"
+"\n"
+"Ovisno o konfiguraciji vašeg hard diska, može biti dostupno nekoliko\n"
+"mogućnosti:\n"
+"\n"
+" * \"%s\": Ova opcija vodi na automatsko particioniranje vašeg praznog\n"
+"diska (diskova). Ako izaberete ovu opciju, neće biti postavljana\n"
+"nikakva daljnja pitanja.\n"
+"\n"
+" * \"%s\": Čarobnjak je detektovao jednu ili više postojećih\n"
+"Linux particija na vašem hard disku. Ako ih želite zadržati, izaberite ovu\n"
+"opciju. U tom slučaju, bićete upitani da izaberete tačke montiranja koje\n"
+"odgovaraju svakoj od ovih particija. Automatski će biti predložene ranije\n"
+"tačke montiranja, i najčešće je pametno zadržati ih.\n"
+"\n"
+" * \"%s\": Ako je na vašem hard\n"
+"disku instaliran Microsoft Windows koji je zauzeo sav slobodan prostor,\n"
+"moraćete napraviti nešto slobodnog prostora za GNU/Linux. To možete učiniti\n"
+"brišući vašu Microsoft Windows particiju zajedno sa podacima (vidi opciju\n"
+"``Obriši čitav disk'' ispod) ili možete promijeniti veličinu vaše Microsoft\n"
+"Windows FAT ili NTFS particije. Promjena veličine se može izvršiti bez "
+"gubitka\n"
+"podataka, pod uslovom da prethodno defragmentirate Windows particiju\n"
+"i da ona koristi FAT format. Backupovanje vaših podataka je strogo\n"
+"preporučeno. Ova mogućnost je preporučena ako namjeravate koristiti i\n"
+"Mandriva Linux i Microsoft Windows na istom računaru.\n"
+"\n"
+" Prije izbora ove opcije, molim da imate na umu da će, nakon ove\n"
+"procedure, veličina vaše Microsoft Windows particije biti manja nego\n"
+"trenutno. To znači da će Microsoft Windows prijavljivati da imate manje\n"
+"prostora za smještaj podataka ili instaliranje novog softwarea.\n"
+"\n"
+" * \"%s\": Ako želite da obrišete sve podatke i sve particije koje su\n"
+"prisutne na vašem hard disku i umjesto njih postavite vaš novi Mandriva\n"
+"Linux sistem, možete izabrati ovu opciju. Budite oprezni sa ovom\n"
+"mogućnošću, jer nećete moći poništiti vaš izbor nakon potvrde.\n"
+"\n"
+" !! Ako izaberete ovu opciju, svi podaci na vašem disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"%s\": Ova opcija se javlja kada je čitav disk zauzet Microsoft\n"
+"Windowsom. Ovo će jednostavno pobrisati sve na disku i početi od\n"
+"početka, particionirajući ga.\n"
+"\n"
+" !! Ako izaberete ovu opciju, svi podaci na vašem disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"%s\": Ako želite da ručno particionirate vaš hard disk,\n"
+"izaberite ovu opciju. Budite oprezni -- to je moćan, ali i opasan izbor. "
+"Vrlo\n"
+"lako možete izgubiti sve vaše podatke. Zato ovu opciju ne preporučujemo,\n"
+"osim ako ste nešto ovakvo već radili i imate nekog iskustva. Više uputstava\n"
+"za korištenje DiskDrake alata možete naći u ``Vodiču za početnike'', "
+"odjeljak\n"
+"``Upravljanje vašim particijama''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeću particiju"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Pobriši čitav disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"To je to. Instalacija je sada završena i vaš GNU/Linux sistem je spreman\n"
+"za upotrebu. Samo kliknite na \"%s\" da restartujete sistem. Ne zaboravite\n"
+"da izvadite instalacioni medij (CD-ROM ili disketu). Prva stvar\n"
+"koju ćete ugledati nakon što računar završi hardverske provjere je meni\n"
+"bootloadera, koji vam nudi izbor operativnog sistema koji želite pokrenuti.\n"
+"\n"
+"Dugme \"%s\" će vam ponuditi još dva dugmeta za:\n"
+"\n"
+" * \"%s\": da biste napravili instalacionu\n"
+"disketu koja će automatski izvršiti cijelu instalaciju bez intervencije\n"
+"operatora, sličnu instalaciji koju ste upravo konfigurisali.\n"
+"\n"
+" Obratite pažnju na dvije različite opcije koje su dostupne nakon\n"
+"klikanja na ovo dugme:\n"
+"\n"
+" * \"%s\". Ovo je djelomično automatizirana instalacija. Korak\n"
+"particioniranja je jedini interaktivni dio.\n"
+"\n"
+" * \"%s\". Potpuno automatska instalacija: hard disk je\n"
+"potpuno prepisan, svi podaci su izgubljeni.\n"
+"\n"
+" Ova mogućnost je vrlo prikladna kada instalirate nekoliko sličnih\n"
+"računara. Pogledajte odjeljak Automatska instalacija na našoj web stranici\n"
+"za više informacija.\n"
+"\n"
+" * \"%s\": snima listu paketa koje ste izabrali u ovoj\n"
+"instalaciji. Da biste upotrijebili ovaj izbor sa drugom instalacijom,\n"
+"ubacite disketu i započnite instalaciju. Na upitu, pritisnite tipku [F1]\n"
+"i ukucajte >>linux defcfg=\"floppy\" <<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Napravi auto-instalacijsku disketu"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ako želite koristiti neke stare GNU/Linux particije, možda ćete poželjeti\n"
+"da reformatirate neke od njih kako biste pobrisali podatke koje sadrže.\n"
+"Ako želite to učiniti, molim takođe izaberite i te particije.\n"
+"\n"
+"Molim obratite pažnju da nije neophodno formatirati sve postojeće\n"
+"particije. Morate reformatirati particije koje sadrže operativni sistem\n"
+"(kao što su \"/\", \"/usr\" ili \"var\") ali ne morate reformatirati "
+"particije\n"
+"koje sadrže podatke koje želite zadržati (tipično /home).\n"
+"\n"
+"Molim da pažljivo izaberete particije. Nakon formatiranja, svi podaci na\n"
+"odabranim particijama će biti pobrisani i nećete biti u mogućnosti da ih\n"
+"povratite.\n"
+"\n"
+"Kliknite na \"%s\" kada budete spremni za formatiranje particija.\n"
+"\n"
+"Kliknite na \"%s\" ako želite da izaberete druge particije za instalaciju\n"
+"vašeg novog Mandriva Linux operativnog sistema.\n"
+"\n"
+"Kliknite na \"%s\" da izaberete particije koje želite provjeriti radi\n"
+"loših blokova."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Kada završite instalaciju Mandriva Linuxa, moguće je da su neki paketi\n"
+"ažurirani od zadnjeg izdanja. Moguće je da su ispravljeni bugovi ili\n"
+"rješena neka sigurnosna pitanja. Ako želite iskoristiti ova unaprjeđenja,\n"
+"možete ih sada dobaviti sa Interneta. Izaberite \"%s\" ako imate ispravnu\n"
+"Internet vezu, ili \"%s\" ako ćete radije instalirati ažurirane pakete\n"
+"kasnije.\n"
+"\n"
+"Ako izaberete \"%s\" dobićete listu web lokacija sa kojih se mogu skinuti\n"
+"novi paketi. Izaberite ono najbliže vama. Pojaviće se stablo za izbor\n"
+"paketa: pregledajte izabrano i pritisnite \"%s\" da dobavite i\n"
+"instalirate izabrane pakete, ili \"%s\" za prekid."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Na ovom mjestu, DrakX vam omogućuje da izaberete sigurnosni nivo\n"
+"koji želite imati na ovom računaru. Kao pravilo, sigurnosni nivo treba biti\n"
+"tim viši što su važniji podaci na računaru, a pogotovo ako će računar biti\n"
+"direktno izložen Internetu. Većim nivoom sigurnosti obično gubite na\n"
+"jednostavnosti korištenja.\n"
+"\n"
+"Ako ne znate šta izabrati, zadržite ponuđenu opciju. Možete promijeniti\n"
+"nivo sigurnosti naknadno koristeći program draksec iz Mandriva Linux\n"
+"Kontrolnog centra.\n"
+"\n"
+"Polje \"%s\" obavještava sistem o korisniku koji će biti odgovoran za\n"
+"sigurnost. Njemu će biti upućena sigurnosna obavještenja."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sigurnosni administrator"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Sada trebate izabrati koje particije želite koristiti za instalaciju vašeg\n"
+"Mandriva Linux sistema. Ako su particije već definisane, iz prijašnje\n"
+"GNU/Linux instalacije ili nekim drugim alatom za particioniranje, možete\n"
+"koristiti postojeće particije. U suprotnom, sada morate definisati\n"
+"particije vašeg hard diska.\n"
+"\n"
+"Da biste napravili particije, najprije morate izabrati hard disk. Možete\n"
+"izabrati disk za particioniranje klikom na ''hda'' za prvi IDE disk, "
+"''hdb''\n"
+"za drugi, ''sda'' za prvi SCSI disk i slično.\n"
+"\n"
+"Pri particioniranju hard diska, možete koristiti sljedeće opcije:\n"
+"\n"
+" * \"%s\": ova opcija briše sve particije na izabranom hard disku\n"
+"\n"
+" * \"%s\": ova opcija vam omogućuje da automatski napravite ext3\n"
+"i swap particije u slobodnom prostoru vašeg hard diska\n"
+"\n"
+"\"%s\" omogućuje pristup dodatnim mogućnostima:\n"
+"\n"
+" * \"%s\": snima tabelu particija na disketu. Ovo je korisno za\n"
+"kasnije vraćanje tabele particija, ako je potrebno. Strogo je preporučeno\n"
+"da izvršite ovaj korak.\n"
+"\n"
+" * \"%s\": omogućuje vam da vratite ranije snimljenu tabelu\n"
+"particija sa diskete.\n"
+"\n"
+" * \"%s\": ako je vaša tabela particija oštećena, možete je pokušati\n"
+"obnoviti koristeći ovu opciju. Molim budite pažljivi i zapamtite da\n"
+"ova opcija ne uspijeva svaki put.\n"
+"\n"
+" * \"%s\": poništava sve promjene i ponovo učitava originalnu tabelu\n"
+"particija sa hard diska.\n"
+"\n"
+" * \"%s\": isključivanjem ove opcije ćete prisiliti korisnike da ručno\n"
+"montiraju i demontiraju izmjenjive medije kao što su diskete i\n"
+"CD-ROMovi.\n"
+"\n"
+" * \"%s\": koristite ovu opciju ako želite koristiti čarobnjak za\n"
+"particioniranje vašeg hard diska. Ovo je preporučeno ako nemate\n"
+"izraženo razumijevanje particioniranja.\n"
+"\n"
+" * \"%s\": koristite ovu opciju da poništite vaše izmjene.\n"
+"\n"
+" * \"%s\": omogućuje dodatne akcije na particijama (tip, opcije,\n"
+"formatiranje) i daje više informacija o hard disku.\n"
+"\n"
+" * \"%s\": kada završite particioniranje diska, ovo će zapisati\n"
+"vaše izmjene na disk.\n"
+"\n"
+"Prilikom definisanja veličine particije, možete fino podešavati veličinu\n"
+"particije koristeći dugmad sa strjelicama na vašoj tastaturi.\n"
+"\n"
+"Napomena: svaku opciju možete postići tastaturom. Između particija\n"
+"se krećete koristeći dugme [Tab] i strjelice [Gore/Dolje].\n"
+"\n"
+"Kada izaberete particiju, možete koristiti:\n"
+"\n"
+" * Ctrl-C da napravite novu particiju (ako ste izabrali prazan prostor)\n"
+"\n"
+" * Ctrl-D da obrišete particiju\n"
+"\n"
+" * Ctrl-M da podesite tačku montiranja\n"
+"\n"
+"Da biste dobili informacije o raznim tipovima datotečnog sistema koji\n"
+"su dostupni, pročitajte poglavlje o ext2FS iz ''Referentnog priručnika''.\n"
+"\n"
+"Ako instalirate na PPC računar, trebate napraviti malu HFS ''bootstrap''\n"
+"particiju od najmanje 1 MB koju će koristiti yaboot bootloader. Ako se\n"
+"odlučite da ovu particiju učinite nešto većom, npr. 50 MB, primjetićete\n"
+"da je ona korisno mjesto za čuvanje rezervnog kernela ili ramdisk slika\n"
+"za hitne slučajeve."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatsko montiranje izmjenjivog medija"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Prekidač normalnog/ekspertnog moda"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na vašem hard disku ustanovljeno je više od jedne Microsoft particije.\n"
+"Molim izaberite onu koju želite smanjiti kako biste instalirali vaš\n"
+"Mandriva Linux operativni sistem.\n"
+"\n"
+"Svaka particija je navedena ovako: \"Linux ime\", \"Windows ime\",\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux ime\" se sastoji od: \"vrste hard diska\", \"broja hard diska\",\n"
+"\"broja particije\" (na primjer, \"hda1\").\n"
+"\n"
+"\"Vrsta hard diska\" je \"hd\" ako je vaš hard disk IDE, a \"sd\" ako je\n"
+"u pitanju SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo nakon \"hd\" ili \"sd\". Kod IDE hard\n"
+"diskova:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+"Kod SCSI hard diskova, \"a\" je \"disk sa najnižim SCSI IDom\", \"b\"\n"
+"je \"drugi najniži SCSI ID\", itd.\n"
+"\n"
+"\"Windows ime\" je slovo kojim je vaš hard disk označen pod Windowsom\n"
+"(prva particija prvog diska se zove \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": provjerite trenutni izbor države. Ako se ne nalazite ovdje,\n"
+"kliknite na dugme \"%s\" i izaberite neku drugu državu. Ako se vaša\n"
+"zemlja ne nalazi na listi, kliknite na dugme \"%s\" kako biste dobili\n"
+"listu svih država."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ovaj korak se aktivira samo ako je na vašem računaru pronađena postojeća\n"
+"GNU/Linux particija.\n"
+"\n"
+"DrakX sada treba znati da li želite izvršiti novu instalaciju ili\n"
+"nadogradnju postojećeg Mandriva Linux sistema:\n"
+"\n"
+" * \"%s\". Najčešće ovo će u potpunosti obrisati stari sistem. Ipak,\n"
+"ovisno o vašoj šemi particioniranja, možete spriječiti da neki od vaših\n"
+"postojećih podataka (prije svega \"home\" direktoriji) budu prepisani.\n"
+"Ako želite promijeniti particioniranje starog hard diska ili promijeniti\n"
+"datotečni sistem, trebate koristiti ovu opciju.\n"
+"\n"
+" * \"%s\". Ova vrsta instalacije vam omogućuje da ažurirate pakete\n"
+"koji su trenutno instalirani na vašem Mandriva Linux sistemu. Vaša trenutna\n"
+"šema particioniranja i korisnički podaci neće biti izmijenjeni. Većina\n"
+"ostalih koraka konfiguracije ostaju kao što jesu, slično običnoj "
+"instalaciji.\n"
+"\n"
+"Opcija ''Nadogradi'' bi trebala raditi ispravno na Mandriva Linux sistemima\n"
+"koji koriste verziju \"8.1\" ili kasniju. Obavljanje nadogradnje na ranijim\n"
+"verzijama Mandriva Linuxa, prije verzije \"8.1\", nije preporučeno."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Ovisno o jeziku koji izaberete (), DrakX će\n"
+"automatski izabrati određeni tip tastature. Provjerite da li vam izabrano\n"
+"odgovara ili odaberite neki drugi raspored tastature.\n"
+"\n"
+"Ipak, možda nemate tastaturu koja tačno odgovara vašem jeziku: npr.\n"
+"ako ste Švajcarac koji govori engleski, možda imate švajcarsku tastaturu.\n"
+"Ili ako govorite engleski ali se nalazite u Kvibeku, možda ćete se naći u\n"
+"situaciji gdje se vaš jezik i tastatura ne poklapaju. U svakom slučaju, "
+"ovaj\n"
+"korak instalacije vam omogućava da izaberete odgovarajuću tastaturu sa "
+"liste.\n"
+"\n"
+"Kliknite na dugme \"%s\" kako bi vam bila predstavljena potpuna lista\n"
+"podržanih tastatura.\n"
+"\n"
+"Ako izaberete raspored tipaka koji je baziran na ne-latiničnoj abecedi,\n"
+"sljedeći dijalog će vam ponuditi da izaberete tipke pomoću kojih možete\n"
+"prebaciti tastaturu između latiničnog i ne-latiničnog rasporeda."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvi korak je da izaberete preferirani jezik.\n"
+"\n"
+"Vaš izbor preferiranog jezika će se odraziti na jezik dokumentacije,\n"
+"instalacione procedure i generalno sistema. Najprije izaberite oblast u\n"
+"kojoj se nalazite, a zatim jezik kojim govorite.\n"
+"\n"
+"Klikanjem na dugme \"%s\" možete izabrati druge jezike koje\n"
+"želite instalirati na vašu radnu stanicu, time instalirajući sistemsku\n"
+"dokumentaciju i programe za svaki od izabranih jezika. Na primjer, ako\n"
+"će vaš računar koristiti osobe iz španije, izaberite Engleski kao osnovni\n"
+"jezik na listi, a \"%s\" u oblasti Više opcija.\n"
+"\n"
+"O UTF-8 (Unicode) podršci. Unicode je novi način kodiranja znakova čiji\n"
+"je cilj da obuhvati sve postojeće jezike. Ipak puna podrška za njega pod\n"
+"GNU/Linuxom je još uvijek u razvoju. Iz tog razloga, Mandriva Linux će ga\n"
+"koristiti ovisno o drugim izborima korisnika:\n"
+"\n"
+" * Ako izaberete jezike sa raširenim starim kodiranjem (latin1 jezici, "
+"ruski,\n"
+"japanski, kineski, korejanski, tajlandski, grčki, turski, većina iso-8859-2\n"
+"jezika), biće korišteno staro kodiranje;\n"
+"\n"
+" * Za ostale jezike podrazumijeva se Unicode;\n"
+"\n"
+" * Ako je potrebno dva ili više jezika koji ne koriste isto kodiranje, "
+"Unicode\n"
+"će se koristiti za čitav sistem;\n"
+"\n"
+" * Konačno, Unicode može biti nametnut sistemu ako korisnik to odluči\n"
+"izborom opcije \"%s\" bez obzira na izabrane jezike.\n"
+"n\n"
+"Obratite pažnju da niste ograničeni na samo jedan dodatni jezik. Možete\n"
+"ih izabrati nekoliko ili čak ih instalirati sve klikom na polje \"%s\".\n"
+"Vaš izbor podrške za neki jezik označava da će biti instaliran prijevod,\n"
+"fontovi, pravila za provjeru pravopisa itd. za taj jezik.n\n"
+"\n"
+"Da biste izabrali između raznih jezika instaliranih na vašem sistemu, "
+"možete\n"
+"pokrenuti kao \"root\" naredbu \"localedrake\", čime mijenjate\n"
+"jezik koji koristi čitav sistem. Izvršavanjem te naredbe kao običan\n"
+"korisnik mijenjate jezičke postavke samo za tog konkretnog korisnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Obično DrakX nema problema da odredi broj dugmadi na vašem mišu.\n"
+"Ako ima, pretpostaviće da imate miš sa dva dugmeta i podesiće simulaciju\n"
+"trećeg dugmeta. Treće dugme se može postići na mišu sa dva dugmeta\n"
+"istovremenim klikom na lijevo i desno dugme miša. DrakX će automatski\n"
+"znati da li miš koristi PS/2, serijski ili USB interfejs.\n"
+"\n"
+"Ako imate miš sa tri dugmeta bez točkića, možete izabrati tip miša pod\n"
+"imenom \"%s\". DrakX će zatim konfigurisati vašeg miša tako da može\n"
+"simulirati rad točkića trećim dugmetom. Da biste ovo postigli, držite\n"
+"srednje dugme miša i pomjerajte ga gore-dolje.\n"
+"\n"
+"Ako iz nekog razloga želite navesti drugačiji tip miša, izaberite ga sa\n"
+"ponuđene liste.\n"
+"\n"
+"Možete izabrati stavku \"%s\" da izaberete ``opšti'' tip miša koji bi\n"
+"trebao raditi sa skoro svim miševima.\n"
+"Ako izaberete miš različit od ponuđenog, biće prikazan testni ekran.\n"
+"Koristite miš i točkić da potvrdite da su postavke tačne i da miš radi\n"
+"ispravno. Ako miš ne radi kako treba, pritisnite razmaknicu ili tipku Enter\n"
+"da prekinete test i vratite se na listu izbora.\n"
+"\n"
+"Miševi sa točkićem često nisu prepoznati automatski, stoga trebate izabrati\n"
+"miš na listi. Pazite da izaberete odgovarajući port na koji je vaš miš\n"
+"priključen. Nakon izbora miša i pritiska na dugme \"%s\", na ekranu će\n"
+"biti prikazana slika miša. Pomjerajte točkić miša kako biste provjerili da "
+"li\n"
+"ispravno funkcioniše. Kada vidite da se točkić na ekranu pomjera onako\n"
+"kako vi vrtite stvarni točkić, provjerite dugmad i provjerite da li se "
+"pokazivač\n"
+"na ekranu pomjera onako kako vi pomjerate miš."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "sa simulacijom točkića"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzalni | Bilo koji PS/2 ili USB miš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim izaberite ispravan port. Na primjer, \"COM1\" port pod Windows\n"
+"operativnim sistemom, pod GNU/Linuxom se zove \"ttyS0\" ."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ovo je najvažnija odluka za sigurnost vašeg GNU/Linux sistema: trebate\n"
+"unijeti \"root\" šifru, \"Root\" je sistemski administrator i jedini\n"
+"korisnik kojem je dozvoljeno da updatuje sistem, dodaje druge korisnike,\n"
+"mijenja konfiguraciju sistema itd. Ukratko, \"root\" može raditi sve! Stoga\n"
+"trebate izabrati šifru koju je teško pogoditi - DrakX će vam reći da li je "
+"šifra\n"
+"koju ste odabrali prejednostavna. Kao što možete vidjeti, niste prisiljeni "
+"da\n"
+"unesete šifru, ali vam savjetujemo da to uradite. GNU/Linux je podložan\n"
+"operatorskim greškama kao i bilo koji drugi operativni sistem. Pošto\n"
+"\"root\" može prevazići sva ograničenja i nenamjerno pobrisati sve podatke\n"
+"na particijama neoprezno im pristupajući, važno je da je teško postati \"root"
+"\".\n"
+"\n"
+"Šifra treba biti kombinacija alfanumeričkih znakova i biti barem 8 znakova\n"
+"duga. Nikad ne zapisujte \"root\" šifru -- time vaš sistem postaje lagano\n"
+"kompromitovati.\n"
+"\n"
+"Jedan izuzetak: ne dozvolite da šifra bude preduga ili prekomplikovana\n"
+"pošto ćete je morati zapamtiti!\n"
+"\n"
+"Šifra neće biti prikazana na ekranu dok je unosite. Da bismo smanjili\n"
+"mogućnost greške zbog kucanja naslijepo, moraćete unijeti šifru dva puta.\n"
+"Ako nekim slučajem ponovite istu grešku dva puta, ovu ''neispravnu'' šifru\n"
+"trebate koristiti prilikom prve prijave kao \"root\".\n"
+"\n"
+"Ako želite da pristup ovom računaru bude kontroliran pomoću servera za\n"
+"provjeru identiteta (authentication), kliknite na dugme \"%s\".\n"
+"\n"
+"Ako vaša mreža koristi LDAP, NIS ili PDC Windows domen servise za\n"
+"provjeru identiteta, izaberite odgovarajući kao \"%s\". Ako ne znate koji\n"
+"koristiti, pitajte vašeg mrežnog administratora.\n"
+"\n"
+"Ako imate problema sa pamćenjem šifara, ako vaš računar neće biti spojen\n"
+"na Internet i ako apsolutno vjerujete svakome ko mu ima fizički pristup,\n"
+"možete izabrati opciju \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "provjera autentičnosti"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"\"Boot loader\" je mali program koji se pokreće prilikom paljenja računara.\n"
+"On je odgovoran za izbor i pokretanje operativnog sistema. Faza izbora boot\n"
+"loadera je obično automatizovana. DrakX će analizirati boot sektor diska i\n"
+"postupati u skladu s onim što zatekne tamo:\n"
+"\n"
+" * ako pronađe Windows boot sektor, biće zamijenjen sa GRUB/LILO boot\n"
+"sektorom. Na ovaj način bićete u mogućnosti da učitate ili GNU/Linux ili\n"
+"neki drugi OS koji je instaliran na vašem računaru.\n"
+"\n"
+" * ako pronađe GRUB ili LILO boot sektor, zamijeniće ga novim.\n"
+"\n"
+"Ako ne može donijeti odluku, DrakX će vas pitati gdje da postavi\n"
+"bootloader. Generalno, \"%s\" je najsigurnije mjesto. Birajući \"%s\"\n"
+"izbjeći ćete instalaciju bootloadera. Koristite ovu opciju samo ako znate\n"
+"šta radite."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sada je vrijeme da izaberete sistem štampe za vaš računar. Drugi\n"
+"operativni sistemi vam možda nude jedan, ali Mandriva Linux nudi\n"
+"dva. Svaki od ovih sistema je najbolji za određenu vrstu konfiguracije.\n"
+"\n"
+"* \"%s\" -- skraćeno za ``štampaj i nemoj stavljati u red'' (print, do not\n"
+"queue) je najbolji izbor ako imate direktnu vezu na štampač, želite izlaz\n"
+"za paniku u slučajevima zaglavljivanja papira i nemate mrežne štampače.\n"
+"(\"%s\" može riješiti samo vrlo jednostavne mrežne slučajeve i pomalo je\n"
+"spor kada se koristi sa mrežama.) Preporučujemo da koristite \"pdq\" ako\n"
+"je ovo vaše prvo iskustvo sa GNU/Linuxom.\n"
+"\n"
+"* \"%s\" znači ``Common UNIX Printing System'' (uobičajeni UNIX sistem "
+"štampe)\n"
+"je odličan izbor za štampanje na štampač koji se nalazi lokalno ili s druge\n"
+"strane planete. Vrlo ga je jednostavno podesiti i može služiti kao server "
+"ili\n"
+"klijent za prastari \"lpd\" sistem štampe, tako da je kompatibilan sa "
+"starijim\n"
+"operativnim sistemima kojima možda još trebaju usluge štampanja. Mada je\n"
+"vrlo moćan, osnovno podešavanje je skoro jednako lagano kao za \"pdq\".\n"
+"Ako želite simulirati \"lpd\" server, provjerite da li ste pokrenuli \"cups-"
+"lpd\"\n"
+"servis. \"%s\" uključuje grafičke alate za štampanje ili izbor opcija "
+"štampača,\n"
+"te za upravljanje štampačem.\n"
+"\n"
+"Ako sada napravite izbor, pa kasnije zaključite da vam se ne sviđa izabrani\n"
+"sistem štampe, možete ga promijeniti pokretanjem PrinterDrake iz\n"
+"Mandriva Linux Kontrolnog centra i klikanjem na dugme \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX će najprije potražiti sve IDE uređaje prisutne na vašem računaru.\n"
+"Također će pretražiti sistem za jednu ili više PCI SCSI kartica. Ako\n"
+"SCSI kartica bude pronađena, DrakX će automatski instalirati odgovarajući\n"
+"drajver.\n"
+"\n"
+"Budući da pronalaženje hardware-a nikad nije savršeno, DrakX možda neće\n"
+"pronaći vaše hard diskove. Ako se to desi, moraćete ih navesti ručno.\n"
+"\n"
+"Ako je potrebno da ručno odaberete PCI SCSI adapter, DrakX će vas pitati\n"
+"da li želite navesti neke opcije za njega. Trebate dopustiti DrakXu da\n"
+"ispita hardware za neke opcije specifične za tu karticu. Obično DrakX "
+"prolazi\n"
+"kroz ovaj korak bez problema.\n"
+"\n"
+"Ako DrakX ne može ispitati opcije koje trebaju biti proslijeđene, moraćete\n"
+"ručno navesti opcije za drajver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ako je na vašem sistemu otkrivena zvučna kartica, ona će\n"
+"biti prikazana ovdje. Ako primijetite da prikazana zvučna kartica nije ona\n"
+"koja je ustvari dio vašeg sistema, možete kliknuti na dugme i odabrati neki\n"
+"drugi drajver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX će vam pružiti sažetak raznih informacija koje su prikupljene\n"
+"o vašem sistemu. Ovisno o instaliranom hardveru, vjerovatno imate\n"
+"neke ili sve od navedenih stavki. Pojedinačna stavka se sastoji od\n"
+"onoga što je potrebno podesiti, nakon čega slijedi kraći sažetak trenutne\n"
+"konfiguracije. Da biste ovo izmijenili, kliknite na odgovarajuće dugme \"%s"
+"\".\n"
+"\n"
+"* \"%s\": provjerite trenutnu mapu tastature i izmijenite je ako je\n"
+" potrebno.\n"
+"\n"
+"* \"%s\": provjerite trenutno izabranu državu. Ako se nalazite negdje\n"
+"drugo, kliknite na dugme \"%s\" i izaberite neku drugu. Ako se vaša\n"
+"zemlja ne nalazi na prikazanoj listi, kliknite na dugme \"%s\" da biste\n"
+"dobili cjelokupnu listu zemalja.\n"
+"\n"
+"* \"%s\": DrakX automatski određuje vašu vremensku zonu\n"
+"na osnovu države koju ste izabrali. Možete kliknuti na dugme \"%s\"\n"
+"ako ovo nije ispravno.\n"
+"\n"
+"* \"%s\": provjerite trenutnu konfiguraciju miša i klinite na dugme da je\n"
+"promijenite ako je to potrebno.\"\n"
+"\n"
+"* \"%s\": klikanjem na dugme \"%s\" otvoriće se čarobnjak za\n"
+"podešavanje štampača. Pogledajte odgovarajuće poglavlje ''Vodiča za\n"
+"početnike'' za više informacija o podešavanju novog štampača. Interfejs\n"
+"koji je prikazan u našem priručniku je sličan onom koji će biti korišten "
+"tokom instalacije.\n"
+"\n"
+"* \"%s\": ako je na vašem sistemu otkrivena zvučna kartica, ona će\n"
+"biti prikazana ovdje. Ako primjetite da prikazana zvučna kartica nije ona\n"
+"koja je ustvari dio vašeg sistema, možete kliknuti na dugme i odabrati neki\n"
+"drugi drajver.\n"
+"\n"
+"* \"%s\": ako je na vašem sistemu prepoznata TV kartica, biće\n"
+"prikazana ovdje. Ako imate TV karticu koja nije prepoznata, kliknite na\n"
+"dugme \"%s\" kako biste pokušali podesiti je ručno.\n"
+"\n"
+" * \"%s\": možete kliknuti na \"%s\" da promijenite parametre pridružene\n"
+"kartici ako mislite da je konfiguracija neispravna.\n"
+"\n"
+"* \"%s\": DrakX će podesiti vaš grafički interfejs za rad na\n"
+"rezoluciji \"800x600\" ili \"1024x768\". Ako vam to ne odgovara, kliknite\n"
+"na dugme \"%s\" kako biste drugačije podesili vaš interfejs.\n"
+"\n"
+"* \"%s\": ako želite, možete podesiti vaš Internet pristup ili pristup\n"
+"lokalnoj mreži. Pogledajte štampanu dokumentaciju ili koristite\n"
+"Mandriva Linux Kontrolni centar nakon što je završena instalacija\n"
+"kako biste koristili ugrađenu pomoć. \n"
+" * \"%s\": omogućuje vam da podesite adrese HTTP i FTP proxyja ako\n"
+"se računar na koji instalirate nalazi iza proxy servera.\n"
+"\n"
+"* \"%s\": ovdje možete promijeniti nivo sigurnosti sistema koji\n"
+"je podešen u prethodnom koraku ().\n"
+"\n"
+"* \"%s\": ako planirate povezati vaš računar na Internet, pametno je\n"
+"zaštititi ga od upada postavljanjem firewalla. Pogledajte odgovarajuće\n"
+"poglavlje ''Vodiča za početnike'' za detalje o podešavanju firewalla.\n"
+"\n"
+"* \"%s\": ako želite promijeniti postavke bootloadera, kliknite na to\n"
+"dugme. Ovo bi trebalo biti rezervisano za napredne korisnike. Pogledajte\n"
+"štampanu dokumentaciju ili pomoć za bootloader konfiguraciju uključenu\n"
+"u Mandriva Linux Kontrolni centar.\n"
+"\n"
+"* \"%s\": ovdje možete fino podešavati koji servisi će biti pokrenuti\n"
+"na vašem računaru. Ako planirate koristiti ovaj računar kao server,\n"
+"dobra je ideja još jednom pregledati ove postavke."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafički interfejs"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk koji želite obrisati kako biste instalirali vašu novu\n"
+"Mandriva Linux particiju. Budite pažljivi, svi podaci koji se nalaze na\n"
+"njemu će biti izgubljeni i neće se moći vratiti!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Kliknite na \"%s\" ako želite obrisati sve podatke i particije koje\n"
+"su prisutne na ovom hard disku. Budite oprezni, jer nakon klikanja na\n"
+"\"%s\" nećete moći vratiti podatke i particije koji se trenutno nalaze\n"
+"na ovom hard disku, uključujući i sve Windows podatke.\n"
+"\n"
+"Kliknite na \"%s\" da prekinete ovu operaciju bez gubitka\n"
+"podataka i particija na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Dalje ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nazad"
+
diff --git a/perl-install/install/help/po/ca.po b/perl-install/install/help/po/ca.po
new file mode 100644
index 000000000..fc6d9a848
--- /dev/null
+++ b/perl-install/install/help/po/ca.po
@@ -0,0 +1,1966 @@
+# translation of ca.po to Catalan
+# translation of DrakX.po to Catalan
+# Copyright (C) 2000-2004, 2005 Free Software Foundation, Inc.
+# Softcatala, softcatala.org, 2000-2003
+# Albert Astals Cid <astals11@terra.es>, 2003-2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ca\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-13 23:24+0200\n"
+"Last-Translator: Albert Astals Cid <astals11@terra.es>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Abans de continuar, llegiu atentament les clàusules de la llicència. "
+"Cobreix\n"
+"tota la distribució Mandriva Linux. Si esteu d'acord amb tots els termes de "
+"la\n"
+"llicència, feu clic al quadre \"%s\"; si no, prémer el botó \"%s\"\n"
+"reiniciarà el vostre ordinador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"El GNU/Linux és un sistema multiusuari; això vol dir que cada usuari pot\n"
+"tenir les seves pròpies preferències, els seus propis fitxers, etc. Podeu "
+"llegir\n"
+"la ``Guia d'iniciació''\n"
+" per aprendre més coses sobre els sistemes\n"
+"multiusuari. Però, a diferència del \"root\", que és l'administrador del "
+"sistema,\n"
+"als usuaris que afegiu aquí no se'ls permetrà modificar res tret dels seus "
+"propis\n"
+"fitxers i configuracions, protegint així el sistema de canvis, intencionats "
+"o no, \n"
+" que tenen efecte sobre tot el sistema . Cal que us creeu, com a mínim, un "
+"usuari\n"
+"normal, i és aquest compte el que heu d'utilitzar per a l'ús quotidià. Tot i "
+"que\n"
+"és molt fàcil entrar com a \"root\" per a tot, també pot ser molt perillós: "
+"la més\n"
+"petita errada podria significar que el sistema deixés de funcionar. Si "
+"cometeu\n"
+"una errada greu com a usuari normal el pitjor que pot passar és que perdeu\n"
+"algunes daDES, però sense afectar a tot el sistema.\n"
+"\n"
+"Primer, heu d'introduir el vostre nom real. Per suposat, això no és "
+"obligatori,\n"
+"ja que podeu introduir el que vulgueu. DrakX agafarà la primera paraula\n"
+"que heu introduït en aquest camp i la copiarà en el camp \"%s\", que serà "
+"el\n"
+"nom que utilitzarà aquest usuari per entrar al sistema (ho podeu canviar si\n"
+"voleu). Després cal que introduïu una contrasenya. Des del punt de vista de\n"
+"la seguretat, una contrasenya d'un usuari no privilegiat (habitual) no és "
+"tan\n"
+"important com la del \"root\" des del punt de vista de la seguretat, però no "
+"hi\n"
+"ha cap raó per menystenir-la, deixant-la en blanc o fent-la massa senzilla: "
+"al\n"
+"cap i a la fi, els vostres fitxers poden estar en joc.\n"
+"\n"
+"Un cop hagueu fet clic a \"%s\" podreu afegir altres usuaris. Afegiu-ne un\n"
+"per a tothom que hagi de fer servir l'ordinador. Feu clic a \"%s\" quan "
+"hagueu\n"
+"acabat d'afegir-ne.\n"
+"\n"
+"Feu clic al botó \"%s\" per canviar l'intèrpret d'ordres (\"shell\") per "
+"defecte\n"
+"(bash) de l'usuari seleccionat. \n"
+"\n"
+"Quan hagueu acabat d'afegir usuaris, se us proposarà decidir quin usuari\n"
+"entrarà automàticament en el sistema en arrencar l'ordinador. Si us\n"
+"interessa aquesta característica (i no us importa gaire la seguretat "
+"local), \n"
+"trieu l'usuari i el gestor de finestres desitjat i feu clic a \"%s\".\n"
+"Si no hi esteu interessat, desactiveu el quadre \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voleu utilitzar aquesta característica?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aquestes són les particions de Linux existents que s'han detectat al disc "
+"dur.\n"
+"Podeu conservar les decisions preses per l'auxiliar, atès que són les "
+"adequades\n"
+"per a les instal·lacions més habituals. Si hi feu algun canvi, com a mínim "
+"heu\n"
+"de definir una partició arrel (\"/\"). No trieu una partició massa petita "
+"perquè\n"
+"no podríeu instal·lar-hi prou programari. Si voleu emmagatzemar les dades en "
+"una\n"
+"altra partició, us caldrà crear una partició \"/home\" (això només serà "
+"possible\n"
+"si hi ha més d'una partició de Linux disponible).\n"
+"\n"
+"Cada partició està identificada d'aquesta manera: \"Nom\", \"Capacitat\".\n"
+"\n"
+"\"Nom\" es compon de: \"tipus d'unitat de disc\", \"número d'unitat de disc"
+"\",\n"
+"\"número de la partició\" (per exemple, \"hda1\").\n"
+"\n"
+"El \"Tipus d'unitat de disc\" és \"hd\" si la vostre unitat de disc és IDE i "
+"\"sd\" si és SCSI.\n"
+"\n"
+"El \"Número de la unitat de disc\" és sempre una lletra després d'\"hd\" o "
+"\"sd\".\n"
+"Per a unitats de disc IDE:\n"
+"\n"
+" * \"a\" significa \"unitat de disc mestra en el controlador IDE primari\",\n"
+"\n"
+" * \"b\" significa \"unitat de disc esclava en el controlador IDE primari"
+"\",\n"
+"\n"
+" * \"c\" significa \"unitat de disc mestra en el controlador IDE secundari"
+"\",\n"
+"\n"
+" * \"d\" significa \"unitat de disc esclava en el controlador IDE secundari"
+"\".\n"
+"\n"
+"Amb unitats de disc SCSI, una \"a\" significa \"ID SCSI més baixa\",\n"
+"una \"b\" significa \"segona ID SCSI més baixa\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La instal·lació del Mandriva Linux està repartida en diversos CD-ROM. Si\n"
+"un dels paquets escollits està en un altre CD-ROM, DrakX expulsarà el CD\n"
+"actual i us demanarà que n'inseriu un altre. Si no teniu el CD necessari a\n"
+"mà, premeu \"%s\" i els paquets corresponents no s'instal·laran."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Ha arribat el moment d'indicar els programes que voleu instal·lar en el\n"
+"sistema. Mandriva Linux té milers de paquets, i per facilitar-ne la\n"
+"gestió s'han distribuït en grups d'aplicacions similars.\n"
+"\n"
+"Mandriva Linux agrupa els paquets en quatre categories. Podeu mesclar i fer\n"
+"coincidir aplicacions de grups diversos, de manera que una instal·lació\n"
+"d'``Estació de treball'' pot perfectament tenir instal·lades aplicacions\n"
+"de la categoria ``Servidor'' \n"
+" * \"%s\": si voleu utilitzar l'ordinador com a estació de treball,\n"
+"seleccioneu un o més grups de la categoria estació de treball.\n"
+"\n"
+" * \"%s\": si penseu utilitzar la vostra màquina per programar, escolliu\n"
+"els grups adients d'aquesta categoria. El grup especial \"LSB\"\n"
+"configurarà el vostre sistema per tal que compleixi tant com sigui\n"
+"possible amb les especificacions Linux Standard Base.\n"
+"\n"
+" Seleccionar el grup \"LSB\" també instal·larà un kernel \"2.4\",\n"
+"en comptes del \"2.6\". Això es fa per assegurar que els sistema\n"
+"compleixi al 100%% amb LSB. Si no seleccioneu el grup \"LSB\"\n"
+"encara tindreu un sistema que compleix la LSB quasi al 100%%.\n"
+"\n"
+" * \"%s\": si l'ordinador s'ha d'utilitzar com a servidor, seleccioneu\n"
+"quins dels serveis més habituals voleu instal·lar\n"
+"\n"
+" * \"%s\": aquí és on escollireu quin és el vostre entorn gràfic\n"
+"preferit. Heu de seleccionar-ne un com a mínim si voleu tenir una\n"
+"interfície gràfica.\n"
+"\n"
+"Si moveu el cursor per sobre d'un nom de grup veureu una breu explicació\n"
+"d'aquest grup.\n"
+"\n"
+"Podeu marcar la casella \"%s\", que és útil si esteu familiaritzat amb els\n"
+"diversos paquets o si voleu tenir un control total sobre el que "
+"s'instal·larà.\n"
+"\n"
+"Si heu començat la instal·lació en el mode \"%s\", podeu desseleccionar \n"
+"tots els grups si voleu evitar que s'instal·li cap paquet nou. Això és\n"
+"útil per reparar o actualitzar un sistema existent.\n"
+"Si desseleccioneu tots els grups quan estigueu fent una\n"
+"instal·lació normal (i no una actualització), se us presentarà un diàleg \n"
+"proposant-vos diferents opcions per a una instal·lació mínima:\n"
+"\n"
+" * \"%s\": instal·la els mínims paquets necessaris per tenir un\n"
+"entorn gràfic funcional\n"
+"\n"
+" * \"%s\": instal·la el sistema base i les utilitats bàsiques amb la seva\n"
+"documentació. Aquesta instal·lació és adequada per configurar un servidor;\n"
+"\n"
+" * \"%s\": instal·la el nombre mínim de paquets necessari per aconseguir un\n"
+"sistema Linux operatiu, només amb una interfície de línia d'ordres. Aquesta\n"
+"instal·lació ocupa uns 65 MB."
+
+#
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualitza"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Amb la documentació bàsica"
+
+#
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instal·lació mínima real"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Si heu dit a l'instal·lador que volíeu seleccionar els paquets "
+"individualment\n"
+"se us presentarà un arbre amb tots els paquets classificats per grups i\n"
+"subgrups. Mentre navegueu per l'arbre, podeu seleccionar grups complets,\n"
+"subgrups o paquets individuals.\n"
+"\n"
+"Cada cop que seleccioneu un paquet de l'arbre, apareixerà una descripció a \n"
+"la dreta que us informarà de la finalitat del paquet.\n"
+"\n"
+"!! Si heu seleccionat un paquet de servidor, intencionadament o perquè\n"
+"formava part d'un grup, se us demanarà que confirmeu si realment voleu\n"
+"instal·lar aquests servidors. Per defecte, Mandriva Linux "
+"iniciaràautomàticament qualsevol servidor durant l'arrencada. Tot i que\n"
+"siguin segurs i no tinguin cap problema conegut quan es publica la\n"
+"distribució, és totalment possible que es descobreixin forats de seguretat\n"
+"després que aquesta versió de Mandriva Linux quedi finalitzada.\n"
+"Si no sabeu què se suposa que fa un servei en particular, o per què s'està\n"
+"instal·lant, feu clic a \"%s\". Per defecte, si feu clic a \"%s\" els "
+"serveis\n"
+"llistats s'instal·laran i s'iniciaran automàticament durant l'arrencada. !!\n"
+"\n"
+"L'opció \"%s\" s'utilitza per inhabilitar el diàleg d'advertència que\n"
+"apareix quan l'instal·lador selecciona automàticament un paquet per "
+"resoldre\n"
+"dependències. Alguns paquets estan relacionats els uns amb els\n"
+"altres, de manera que la instal·lació d'un paquet fa que calgui instal·lar\n"
+"també algun altre programa. L'instal·lador pot determinar quins paquets "
+"calen\n"
+"per satisfer una dependència i completar la instal·lació satisfactòriament.\n"
+"\n"
+"La diminuta icona d'un disquet al peu de la llista us permet carregar una\n"
+"llista de paquets creada en una instal·lació anterior. Això és útil si "
+"teniu\n"
+"un cert nombre d'ordinadors que voleu configurar de manera idèntica. Si feu\n"
+"clic a aquesta icona se us demanarà que inseriu un disquet creat "
+"anteriorment\n"
+"al final d'una altra instal·lació. Vegeu el segon suggeriment de l'últim "
+"pas\n"
+"per saber com crear aquest disquet."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependències automàtiques"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": feu clic al botó \"%s\" per obrir l'auxiliar de configuració de la\n"
+"impressora. Consulteu el capítol corresponent de la ``Guia d'iniciació''\n"
+"per tenir més informació en quant a la configuració de noves impressores.\n"
+"La interfície que apareix és similar a la que s'utilitza durant la "
+"instal·lació."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"En aquest diàleg escollireu els serveis que voleu que s'iniciïn durant "
+"l'arrencada.\n"
+"\n"
+"DrakX farà una llista de tots els serveis disponibles en la instal·lació "
+"actual.\n"
+"Reviseu-los amb cura i desmarqueu aquells que no siguin necessaris durant "
+"l'arrencada.\n"
+"\n"
+"Podeu obtenir una explicació breu sobre un servei si el seleccioneu. Si no\n"
+"esteu segur de la utilitat d'un servei, el més segur és deixar el "
+"comportament\n"
+"per defecte.\n"
+"\n"
+"!! Aneu especialment amb cura en aquest pas si penseu utilitzar l'ordinador "
+"com\n"
+"a servidor: segurament no voldreu iniciar serveis que no necessiteu.\n"
+"Recordeu que hi ha diversos serveis que poden ser perillosos si s'habiliten\n"
+"en un servidor. En general, seleccioneu només els serveis que realment "
+"necessiteu. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux gestiona l'hora en GMT (Greenwich Mean Time) i el tradueix a\n"
+"l'hora local d'acord amb la zona horària seleccionada. Si el rellotge de la\n"
+"placa base indica l'hora local, podeu desactivar-ho desseleccionant \"%s\", "
+"i\n"
+"això informarà a GNU/Linux que el rellotge del sistema i el rellotge del\n"
+"maquinari són a la mateixa zona horària. Això és convenient quan la màquina\n"
+"també té instal·lat un altre sistema operatiu.\n"
+"\n"
+"L'opció \"%s\" regularà automàticament l'hora connectant-se a un servidor\n"
+"horari remot d'Internet. Per tal que funcioni aquesta funció us caldrà "
+"tenir\n"
+"connexió a Internet. És millor triar un servidor que estigui ubicat a prop\n"
+"vostre. De fet, aquesta opció instal·la un servidor d'hora que altres "
+"màquines\n"
+"de la vostra xarxa local també podran utilitzar."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronització automàtica de la hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Targeta gràfica\n"
+"\n"
+" Normalment, l'instal·lador detectarà automàticament i configurarà la\n"
+"targeta gràfica que tingueu instal·lada a l'ordinador. Si no fos així, la\n"
+"podeu seleccionar d'aquesta llista.\n"
+"\n"
+" Cas que hi hagi diferents servidors per a la targeta, amb o sense\n"
+"acceleració 3D, se us demanarà que trieu el servidor que us sigui\n"
+"més convenient."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (per sistema X Window) és el cor de la interfície gràfica de GNU/Linux\n"
+"de què depenen tots els entorns gràfics (KDE, GNOME, AfterStep, \n"
+"WindowMaker, etc.) que venen amb Mandriva Linux.\n"
+"\n"
+"Veureu una relació de diferents paràmetres que podeu canviar per aconseguir\n"
+"una visualització gràfica òptima.\n"
+"\n"
+"Targeta gràfica\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament la\n"
+"targeta gràfica instal·lada a l'ordinador. Si no fos així, podeu escollir\n"
+"de la llista la targeta que realment tingueu instal·lada.\n"
+"\n"
+" En cas que hi hagi diferents servidors disponibles per a la vostra\n"
+"targeta, amb o sense acceleració 3D, se us demanarà que escolliu el que\n"
+"més us convingui.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament el\n"
+"monitor que teniu connectat a l'ordinador. Si no és correcte, podreu triar\n"
+"d'aquesta llista el monitor que realment teniu connectat a l'ordinador.\n"
+"\n"
+"\n"
+"\n"
+"Resolució\n"
+"\n"
+" Aquí podeu triar les resolucions i profunditats de color disponibles per\n"
+"al vostre maquinari. Trieu la que us vagi més bé (tot i que podreu\n"
+"canviar-la després de la instal·lació). Al monitor veureu una mostra de la\n"
+"configuració triada.\n"
+"\n"
+"\n"
+"\n"
+"Prova\n"
+"\n"
+" Depenent del maquinari aquesta entrada pot no aparèixer.\n"
+"\n"
+" El sistema intentarà obrir una pantalla gràfica amb la resolució\n"
+"desitjada. Si podeu veure el missatge durant la prova i responeu \"%s\",\n"
+"DrakX passarà al pas següent. Si no el podeu veure, vol dir que la\n"
+"configuració detectada automàticament no era del tot correcta i la prova\n"
+"finalitzarà automàticament al cap de 12 segons, portant-vos de nou al menú.\n"
+"Canvieu els paràmetres fins que obtingueu una pantalla gràfica correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opcions\n"
+"\n"
+" Aquí podeu decidir si voleu que l'ordinador canviï automàticament a una\n"
+"interfície gràfica en arrencar. Òbviament, voldreu activar \"%s\" si\n"
+"l'ordinador ha d'actuar com a servidor, o si no heu aconseguit\n"
+"configurar la pantalla."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalment, l'instal·lador detectarà i configurarà automàticament el\n"
+"monitor que teniu connectat a l'ordinador. Si no és correcte, podreu triar\n"
+"d'aquesta llista el monitor que realment teniu connectat a l'ordinador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolució\n"
+"\n"
+" Aquí podeu triar les resolucions i profunditats de color disponibles per\n"
+"al vostre maquinari. Trieu la que us vagi més bé (tot i que podreu\n"
+"canviar-la després de la instal·lació). Al monitor veureu una mostra de la\n"
+"configuració triada."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"En cas que hi hagi diferents servidors disponibles per a la vostra\n"
+"targeta, amb o sense acceleració 3D, se us demanarà que escolliu\n"
+"el servidor que més us convingui."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcions\n"
+"\n"
+" Aquí podeu decidir si voleu que l'ordinador canviï automàticament a una\n"
+"interfície gràfica en arrencar. Òbviament, activareu \"%s\" si l'ordinador\n"
+"ha de ser un servidor, o si no heu pogut configurar la pantalla."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ara és quan heu de decidir en quin lloc del vostre disc dur voleu\n"
+"instal·lar el sistema operatiu Mandriva Linux. Si el disc és buit,\n"
+"o si un sistema operatiu existent n'utilitza tot l'espai disponible,\n"
+"us caldrà particionar-lo. Bàsicament, particionar un disc dur\n"
+"consisteix a dividir-lo de manera lògica per crear espai on\n"
+"instal·lar el nou sistema Mandriva Linux.\n"
+"\n"
+"Atès que els efectes d'aquest procés solen ser irreversibles i poden\n"
+"implicar pèrdua de dades si ja teniu un sistema operatiu instal·lat, el\n"
+"particionament us pot espantar si sou un usuari sense experiència.\n"
+"Per sort, DrakX inclou un auxiliar que simplifica aquest procés.\n"
+"Abans de continuar, però, llegiu la resta d'aquesta secció i,\n"
+"sobre tot, preneu-vos el temps que calgui.\n"
+"\n"
+"Segons la configuració del vostre disc dur, hi ha diverses opcions\n"
+"possibles:\n"
+"\n"
+" * \"%s\": aquesta opció particionarà automàticament les unitats buides.\n"
+"Amb aquesta opció no se us farà cap pregunta més.\n"
+"\n"
+" * \"%s\": l'auxiliar ha detectat una o més particions de Linux al vostre\n"
+"disc dur. Si voleu utilitzar-les, escolliu aquesta opció. Se us demanarà\n"
+"que trieu els punts de muntatge associats a cadascuna de les particions.\n"
+"Els punts de muntatge existents se seleccionen per defecte, i en la\n"
+"majoria dels casos és bona idea conservar-los.\n"
+"\n"
+" * \"%s\" Si teniu el Microsoft Windows instal·lat al disc dur i n'ocupa\n"
+"tot l'espai disponible, caldrà crear espai lliure per a GNU/Linux. Per\n"
+"fer-ho, podeu suprimir la partició i les dades del Windows\n"
+"(consulteu la solució ``Esborrar completament el disc'') o canviar\n"
+"la mida de la partició FAT o NTFS de Windows. Aquest canvi de mida\n"
+"es pot dur a terme sense cap pèrdua de dades, sempre que la\n"
+"partició de Windows hagi estat desfragmentada prèviament.\n"
+"És molt recomanable, fer una còpia de seguretat de les dades.\n"
+"Aquesta opció és la més recomanable si voleu utilitzar tant\n"
+"Mandriva Linux com Microsoft Windows al mateix ordinador.\n"
+"\n"
+" Abans de decidir-vos per aquesta opció, penseu que en acabar la partició\n"
+"de Microsoft Windows serà més petita que anteriorment. Tindreu menys espai\n"
+"lliure a Microsoft Windows per emmagatzemar-hi dades o instal·lar-hi més "
+"programari.\n"
+"\n"
+" *\"%s\": si voleu suprimir totes les dades i particions que teniu al disc\n"
+"dur i substituir-les pel sistema Mandriva Linux, podeu escollir aquesta\n"
+"opció. Aneu amb compte, però, perquè, un cop la confirmeu, no podreu\n"
+"fer-vos enrere.\n"
+"\n"
+" ¡¡ Si trieu aquesta opció, totes les dades del disc s'esborraran !!.\n"
+"\n"
+" *\"%s\": aquesta opció apareix quan el disc dur està completament ple\n"
+"per Microsoft Windows. Escollir aquest opció esborrarà tot el contingut del "
+"disc i\n"
+"començarà de nou, particionant des de zero.\n"
+" ¡¡ Si trieu aquesta opció, totes les dades del disc s'esborraran !!.\n"
+"\n"
+" * \"%s\": si voleu particionar el disc dur manualment, podeu triar aquesta\n"
+"opció. Aneu amb compte: és una opció molt potent però també perillosa, ja\n"
+"que podeu perdre fàcilment totes les dades. Per tant, aquesta opció només "
+"és\n"
+"recomanable si heu fet abans alguna cosa similar i teniu una mica\n"
+"d'experiència. Trobareu més instruccions sobre la utilitat DiskDrake a la\n"
+"secció ``Gestió de les particions'' de la ``Guia d'iniciació''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Utilitza les particions existents"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Esborra tot el disc"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja ho teniu. S'ha completat la instal·lació i el vostre sistema GNU/Linux\n"
+"està preparat per fer-se servir. Simplement premeu \"%s\" per reiniciar el\n"
+"sistema. No oblideu treure la font d'instal·lació (CD-ROM o disquet).\n"
+"La primera cosa que veureu, després que l'ordinador hagi finalitzat les\n"
+"comprovacions de maquinari, és el menú del carregador d'arrencada, que us\n"
+"deixa triar el sistema operatiu amb què voleu iniciar.\n"
+"\n"
+"El botó \"%s\" mostra dos botons més per:\n"
+"\n"
+" * \"%s\": per crear un disquet d'instal·lació que realitzarà\n"
+"automàticament una instal·lació completa sense l'ajuda d'un operador,\n"
+"semblant a la instal·lació que acabeu de configurar.\n"
+"\n"
+" Tingueu en compte que hi ha dues opcions diferents després de fer clic al "
+"botó:\n"
+"\n"
+" * \"%s\". Aquesta és una instal·lació parcialment automatitzada; el pas\n"
+"de particionament és l'únic procediment interactiu.\n"
+"\n"
+" * \"%s\". Instal·lació completament automatitzada: el disc dur es\n"
+"reescriu completament i totes les dades es perden.\n"
+"\n"
+" Aquesta característica és força útil quan es fa una instal·lació a un\n"
+"cert nombre d'ordinadors similars. En trobareu més informació a la secció\n"
+"d'instal·lació automàtica del nostre lloc web.\n"
+"\n"
+" * \"%s\": desa una llista dels paquets seleccionats en aquesta\n"
+"instal·lació. Per utilitzar aquesta selecció en una altra instal·lació,\n"
+"inseriu el disquet i inicieu la instal·lació. A l'indicador, premeu la\n"
+"tecla F1, i escriviu >>linux defcfg=\"floppy\"<< i premeu la tecla [Enter].\n"
+"\n"
+"(*) Cal un disquet formatejat amb FAT. Per crear-ne un a GNU/Linux, \n"
+"escriviu \"mformat a:\", o \"fdformat /dev/fd0\" seguit de\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Genera un disquet per a la instal·lació automàtica"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Per poder utilitzar les particions que s'acaben de definir cal formatar-les\n"
+"(la formatació consisteix a crear-hi un sistema de fitxers).\n"
+"\n"
+"En aquest punt, potser voldreu tornar a formatar algunes de les particions\n"
+"existents per eliminar les dades que contenen. Si és així, seleccioneu\n"
+"també aquestes particions.\n"
+"\n"
+"Tingueu en compte que no cal tornar a formatar totes les particions que ja\n"
+"existien; heu de tornar a formatar les particions que continguin el sistema\n"
+"operatiu (com ara \"/\", \"/usr\" o \"/var\"), però no les que contenen\n"
+"dades que voleu conservar (habitualment, \"/home\").\n"
+"\n"
+"Aneu amb compte en seleccionar les particions; després de la formatació,\n"
+"totes les dades s'hauran suprimit i no en podreu recuperar cap.\n"
+"\n"
+"Feu clic a \"%s\" quan estigueu a punt per formatar les particions.\n"
+"\n"
+"Feu clic a \"%s\" si voleu seleccionar una altra partició per instal·lar\n"
+"el nou sistema Mandriva Linux.\n"
+"\n"
+"Feu clic a \"%s\" si voleu seleccionar particions on cercar-hi blocs "
+"defectuosos."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ara esteu instal·lant Mandriva Linux, és probable que alguns paquets\n"
+"hagin estat actualitzats des de la data de llançament. Alguns errors poden\n"
+"haver estat resolts, i problemes de seguretat poden estar ja corregits.\n"
+"Per beneficiar-vos d'aquestes actualitzacions, les podeu baixar d'Internet.\n"
+"Trieu \"%s\" si teniu una connexió a Internet operativa, o \"%s\" si\n"
+"preferiu instal·lar-les més tard.\n"
+"\n"
+"Si trieu \"%s\" apareixerà una llista de llocs des d'on podeu baixar les\n"
+"actualitzacions. Escolliu la ubicació més propera. Aleshores, apareixerà\n"
+"un arbre de selecció de paquets: comproveu la selecció i premeu \"%s\" per\n"
+"baixar i instal·lar els paquets seleccionats, o \"%s\" per abandonar."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Ara és el moment de triar el nivell de seguretat desitjat per a la màquina.\n"
+"Com a norma general, el nivell de seguretat ha de ser més alt si la màquina\n"
+"conté dades importants, o si està connectada directament a Internet.\n"
+"Tanmateix, un nivell alt de seguretat sovint comporta una disminució de la\n"
+"facilitat d'ús.\n"
+"\n"
+"Si no sabeu quin escollir, deixeu l'opció per defecte.. Podreu canviar\n"
+"el nivell de seguretat més tard amb l'eina draksec del\n"
+"Centre de Control Mandriva Linux.\n"
+"\n"
+"Ompliu el camp \"%s\" amb l'adreça electrònica de la persona responsable\n"
+"de la seguretat. Els missatges de seguretat s'enviaran a aquesta adreça."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de seguretat"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Ara és quan heu de decidir quina(es) partició(ns) voleu utilitzar per\n"
+"instal·lar el sistema Mandriva Linux. Si ja s'han definit les particions\n"
+"en una instal·lació anterior de GNU/Linux o mitjançant una altra eina de\n"
+"particionament, podeu utilitzar les particions existents. En cas contrari,\n"
+"s'han de definir particions al disc dur.\n"
+"\n"
+"Per crear particions, primer heu de seleccionar un disc dur. Podeu\n"
+"seleccionar el disc que s'ha de particionar fent clic a ``hda'' per a la\n"
+"primera unitat IDE, ``hdb'' per a la segona, ``sda'' per a la primera "
+"unitat\n"
+"SCSI, etc.\n"
+"\n"
+"Per particionar el disc dur seleccionat, podeu utilitzar aquestes opcions:\n"
+"\n"
+" * \"%s\": aquesta opció suprimeix totes les particions que hi ha al\n"
+"disc dur seleccionat.\n"
+"\n"
+" * \"%s\": aquesta opció us permet crear automàticament les particions\n"
+"ext3 i d'intercanvi en l'espai lliure del disc dur.\n"
+"\n"
+"\"%s\": dóna accés a funcions addicionals:\n"
+"\n"
+" * \"%s\": desa la taula de particions en un disquet. És útil per a una\n"
+"recuperació posterior de la taula de particions si fos necessari. És molt\n"
+"recomanable que efectueu aquesta operació.\n"
+"\n"
+" * \"%s\": permet restaurar d'un disquet una taula de particions que hi\n"
+"hagueu desat prèviament.\n"
+"\n"
+" * \"%s\": si la taula de particions està malmesa, podeu provar de\n"
+"recuperar-la utilitzant aquesta opció. Aneu amb compte i recordeu que no\n"
+"sempre funciona.\n"
+"\n"
+" * \"%s\": descarta tots els canvis fets i torna a carregar la taula\n"
+"de particions original.\n"
+"\n"
+" * \"%s\": si desseleccioneu aquesta opció fareu que els usuaris hagin\n"
+"de muntar i desmuntar manualment les unitats de suports extraïbles, com ara\n"
+"els disquets i els CD-ROM.\n"
+"\n"
+" * \"%s\": utilitzeu aquesta opció si voleu utilitzar un auxiliar per\n"
+"particionar el vostre disc dur. Es recomana que l'utilitzeu si no teniu\n"
+"sòlids coneixements sobre particionament.\n"
+"\n"
+" * \"%s\": utilitzeu aquesta opció per cancel·lar els canvis.\n"
+"\n"
+" * \"%s\": permet accions addicionals en les particions (tipus,\n"
+"opcions, format) i dóna més informació sobre el disc dur.\n"
+"\n"
+" * \"%s\": quan hagueu acabat de particionar el disc dur, aquesta opció\n"
+"desarà els canvis al disc.\n"
+"\n"
+"En definir la mida d'una partició, podeu acabar d'afinar-la mitjançant\n"
+"les tecles de fletxa del teclat.\n"
+" \n"
+"Nota: podeu accedir a qualsevol opció mitjançant el teclat. Moveu-vos per\n"
+"les particions amb les tecles Tab i Fletxa amunt/Fletxa avall.\n"
+"\n"
+"Quan seleccioneu una partició, podeu utilitzar:\n"
+"\n"
+" * Ctrl+c per crear una nova partició (quan se n'ha seleccionat una de "
+"buida)\n"
+"\n"
+" * Ctrl+d per suprimir una partició\n"
+"\n"
+" * Ctrl+m per definir el punt de muntatge\n"
+"\n"
+"Per a més informació sobre els diferents sistemes de fitxers disponibles,\n"
+"llegiu el capítol sobre ext2FS del ``Manual de Referència''.\n"
+"\n"
+"Si esteu fent la instal·lació en un ordinador PPC, voldreu crear una\n"
+"petita partició ``bootstrap'' HFS d'un mínim d'1 MB per a ús del carregador\n"
+"d'arrencada yaboot. Si decidiu fer-la una mica més gran, per exemple de\n"
+"50 MB, us serà d'utilitat per emmagatzemar un nucli de recanvi i imatges\n"
+"del disc RAM per a situacions d'emergència durant l'arrencada."
+
+#
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Muntatge automàtic dels dispositius extraïbles"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Commuta entre els modes normal i expert"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"S'ha detectat més d'una partició de Microsoft a la unitat de disc.\n"
+"Si us plau, trieu quina d'elles voleu redimensionar per instal·lar el nou\n"
+"sistema operatiu Mandriva Linux.\n"
+"\n"
+"Cada partició està identificada d'aquesta manera: \"Nom Linux\",\n"
+"\"Nom Windows\" \"Capacitat\".\n"
+"\n"
+"\"Nom Linux\" es compon de: \"tipus d'unitat de disc dur\",\n"
+"\"número d'unitat de disc dur\", \"número de la partició\"\n"
+"(per exemple, \"hda1\").\n"
+"\n"
+"\"Tipus d'unitat de disc dur\" és \"hd\" si la vostre unitat de disc dur és\n"
+"IDE i \"sd\" si és SCSI.\n"
+"\n"
+"\"Número de la unitat de disc dur\" és sempre una lletra després d'\"hd\" o\n"
+"\"sd\". Amb unitats de disc IDE:\n"
+"\n"
+" * \"a\" significa \"unitat de disc mestra en el controlador IDE primari\",\n"
+"\n"
+" * \"b\" significa \"unitat de disc esclava en el controlador IDE primari"
+"\",\n"
+"\n"
+" * \"c\" significa \"unitat de disc mestra en el controlador IDE secundari"
+"\",\n"
+"\n"
+" * \"d\" significa \"unitat de disc esclava en el controlador IDE secundari"
+"\".\n"
+"\n"
+"Amb les unitats de disc SCSI, una \"a\" significa \"ID SCSI més baixa\",\n"
+"una \"b\" significa \"segona ID SCSI més baixa\", etc.\n"
+"\n"
+"\"Nom Windows\" és la lletra de la vostra unitat de disc sota Windows (el\n"
+"primer disc o partició s'anomena \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": comproveu que la selecció del país és correcta. Si no sou a\n"
+"aquest país, feu clic al botó \"%s\" i seleccioneu-ne un altre.\n"
+"Si el vostre país no és a la primera llista, feu clic al botó \"%s\" per\n"
+"obtenir una llista de països completa."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Aquest pas només s'activa si s'ha trobat una partició GNU/Linux antiga\n"
+"al vostre ordinador.\n"
+"\n"
+"DrakX necessita saber si voleu realitzar una instal·lació nova o\n"
+"una actualització d'un sistema Mandriva Linux existent:\n"
+"\n"
+" * \"%s\": aquesta opció destrueix gairebé del tot el sistema antic. Si\n"
+"voleu canviar les particions dels discs durs, o el sistema de fitxers,\n"
+"heu d'utilitzar aquesta opció. No obstant això, i depenent de l'esquema de\n"
+"particionament que tingueu, podeu evitar que part de les dades existents\n"
+"(per exemple els directoris \"home\") se sobreescriguin.\n"
+"\n"
+" * \"%s\": aquest tipus d'instal·lació us permet actualitzar els paquets\n"
+"que ja estan instal·lats al sistema Mandriva Linux. L'esquema de\n"
+"particionament actual i les dades d'usuari no queden afectades. La\n"
+"majoria de les altres fases de configuració queden disponibles, de\n"
+"manera similar a una instal·lació estàndard.\n"
+"\n"
+"L'opció “Actualitza” ha de funcionar correctament en sistemes Mandriva\n"
+"Linux amb la versió \"8.1\" o posteriors. No es recomana realitzar una\n"
+"actualització en versions de Mandriva Linux anteriors a la \"8.1\"."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX seleccionarà automàticament la configuració de teclat correcta\n"
+"segons l'idioma que hagueu escollit a Secció. Comproveu que la selecció\n"
+"us vagi bé o escolliu una altra configuració de teclat.\n"
+"\n"
+"Tanmateix, pot ser que tingueu un teclat que no correspongués exactament al\n"
+"vostre idioma: per exemple, si sou un suís que parla anglès, potser teniu "
+"un\n"
+"teclat suís. O, si parleu anglès però viviu al Quebec, us podeu trobar en "
+"la\n"
+"mateixa situació i el vostre teclat no coincidirà amb el vostre idioma. En\n"
+"tots dos casos, aquesta fase de la instal·lació us permetrà triar un teclat\n"
+"adequat d'una llista.\n"
+"\n"
+"Feu clic al botó \"%s\" per veure la llista completa de teclats "
+"disponibles.\n"
+"\n"
+"Si trieu una disposició de teclat basada en un alfabet no llatí, el diàleg\n"
+"següent us permetrà escollir la tecla que servirà per canviar entre les\n"
+"configuracions llatina i no llatina."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"L'idioma preferit que trieu afectarà a l'idioma de la documentació,\n"
+"l'instal·lador i a tot el sistema en general. Seleccioneu primer la\n"
+"regió on us trobeu i després l'idioma que parleu.\n"
+"\n"
+"Si feu clic al botó \"%s\" podreu seleccionar altres idiomes que vulgueu\n"
+"instal·lar a la vostra estació de treball. S'instal·laran els fitxers\n"
+"d'idioma específics de la documentació i de les aplicacions. Per exemple,\n"
+"si heu de tenir usuaris espanyols a l'ordinador, podeu triar l'anglès com a\n"
+"idioma per defecte a la vista d'arbre i marcar \"%s\" a la secció Avançat.\n"
+"\n"
+"En quant al suport UTF-8 (unicode): Unicode és una nova codificació de\n"
+"caràcters que cobreix tots els idiomes existents. El suport complet a\n"
+"GNU/Linux encara està sota desenvolupament. Per aquesta raó, Mandriva Linux\n"
+"l'usarà o no depenent de les opcions que esculli l'usuari:\n"
+"\n"
+" * Si escolliu un idioma amb una codificació existent forta(idiomes\n"
+"llatins, rus, japonès, xinès, coreà, thai, grec, turc, la majoria dels\n"
+"idiomes iso-8859-2), la codificació existent s'usarà per defecte;\n"
+"\n"
+" * La resta d'idiomes usaran unicode per defecte;\n"
+"\n"
+" * Si s'instal·len dos o més idiomes i aquests idiomes no usen la mateixa\n"
+"codificació, llavors s'usarà unicode per tot el sistema;\n"
+"\n"
+" * Finalment, es pot forçar l'ús de unicode si s'escull la opció\"%s\"\n"
+"independentment dels idiomes escollits.\n"
+"\n"
+"Noteu que no esteu limitats a escollir només un idioma addicional. Podeu\n"
+"triar diversos idiomes addicionals, i fins i tot instal·lar-los tots\n"
+"activant la casella \"%s\". Si habiliteu un idioma esteu instal·lant les\n"
+"traduccions, els tipus de lletra, els verificadors ortogràfics, etc. "
+"d'aquest idioma.\n"
+"\n"
+"Per passar d'un dels idiomes a un altre, podeu executar com a \"root\"\n"
+"l'ordre \"/usr/sbin/localedrake\" per canviar l'idioma de tot el sistema. "
+"Si\n"
+"l'executeu com a usuari normal, només es canviarà l'idioma d'aquest\n"
+"usuari concret."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanyol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX generalment detecta el nombre de botons que té el vostre ratolí.\n"
+"Si no pot, assumeix que teniu un ratolí de dos botons i el configurarà per\n"
+"emular el tercer botó. Es pot ``prémer' ' el tercer botó d'un ratolí de dos\n"
+"botons fent clic simultàniament als botons dret i esquerre. DrakX\n"
+"detectarà automàticament si el ratolí utilitza la interfície PS/2, sèrie o "
+"USB.\n"
+"\n"
+"En cas que tingueu un ratolí de 3 botons sense rodeta, podeu escollir\n"
+"\"%s\". DrakX configurarà el ratolí per tal de simular la rodeta,\n"
+"per fer-ho premeu el botó central i moveu el ratolí a dalt i a baix.\n"
+"\n"
+"Si per alguna raó voleu especificar un altre tipus de ratolí,\n"
+"seleccioneu-lo a la llista.\n"
+"\n"
+"Si escolliu un ratolí diferent del ratolí per defecte, es mostrarà una\n"
+"pantalla de prova. Utilitzeu els botons i la roda per verificar que la\n"
+"configuració és correcta i que el ratolí funciona bé. Si el ratolí no\n"
+"funciona bé, premeu la barra d'espai o la tecla [Intro] per cancel·lar la\n"
+"prova i tornar a la llista.\n"
+"\n"
+"De vegaDES, la roda del ratolí no es detecta automàticament. En aquest cas,\n"
+"haureu de seleccionar-lo a la llista. Assegureu-vos de triar el que\n"
+"correspon al port a què esta connectat el ratolí. Després de seleccionar un\n"
+"ratolí i prémer el botó \"%s\", a la pantalla apareixerà un ratolí. Mogueu "
+"la\n"
+"roda del ratolí per assegurar-vos que s'ha activat correctament, comprovant\n"
+"que es mou també a la pantalla; després comproveu els botons i que el "
+"cursor\n"
+"de la pantalla es mou quan moveu el ratolí."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "amb emulació de rodeta"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualsevol ratolí PS/2 o USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Si us plau, seleccioneu el port correcte. Per exemple, el port \"COM1\" a\n"
+"Windows s'anomena \"ttyS0\" a GNU/Linux."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Aquesta és la decisió més important quant a la seguretat del vostre sistema\n"
+"GNU/Linux: heu d'introduir la contrasenya de l'usuari \"root\". El \"root\"\n"
+"és l'administrador del sistema i és l'únic autoritzat a fer "
+"actualitzacions,\n"
+"afegir usuaris, canviar la configuració del tot el sistema, etc. En poques\n"
+"paraules, el \"root\" ho pot fer tot! És per això que heu d'escollir una\n"
+"contrasenya que sigui difícil d'endevinar; DrakX us avisarà si és massa\n"
+"fàcil. Com veieu, podeu optar per no introduir cap contrasenya, però us\n"
+"aconsellem vivament que no ho feu. GNU/Linux és tan vulnerable als errors\n"
+"de l'operador com qualsevol altre sistema operatiu. Com que l'usuari\n"
+"\"root\" pot superar totes les limitacions i esborrar accidentalment totes\n"
+"les dades de qualsevol partició com a conseqüència d'accedir-hi sense\n"
+"precaucions, és molt important que sigui difícil esdevenir \"root\".\n"
+"\n"
+"La contrasenya ha de ser una mescla de caràcters alfanumèrics i, com a\n"
+"mínim, de 8 caràcters de longitud. No apunteu enlloc la contrasenya de\n"
+"\"root\" ja que és molt fàcil comprometre el sistema si ho feu.\n"
+"\n"
+"Tot i això, no feu la contrasenya massa llarga o complicada perquè heu de\n"
+"poder recordar-la!\n"
+"\n"
+"La contrasenya no es mostrarà per pantalla quan la teclegeu. Per tant,\n"
+"haureu d'escriure-la dues vegades per reduir la probabilitat d'errors en\n"
+"l'escriptura. Si, malauradament, feu el mateix error dues vegaDES, haureu\n"
+"d'usar aquesta contrasenya ``incorrecta'' el primer cop que us connecteu.\n"
+"\n"
+"Si voleu que aquest ordinador sigui controlat per un servidor\n"
+"d'autenticació, feu clic al botó \"%s\".\n"
+"\n"
+"Si la vostra xarxa usa els serveis d'autenticació LDAP, NIS o Windows\n"
+"Domain, seleccioneu l'adient per a \"%s\" . Si no sabeu quin utilitzar,\n"
+"pregunteu-ho al vostre administrador de xarxa.\n"
+"\n"
+"Si teniu problemes per recordar les contrasenyes, si l'ordinador mai no es\n"
+"connectarà a Internet o si confieu absolutament en tothom que utilitza\n"
+"l'ordinador, podeu triar tenir \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autenticació"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO i GRUB són carregadors d'arrencada de GNU/Linux. Normalment,\n"
+"aquesta fase es realitza de manera totalment automàtica. DrakX analitzarà\n"
+"el sector d'arrencada del disc i actuarà conforme al que hi trobi:\n"
+"\n"
+" * si troba un sector d'arrencada del Windows, el reemplaçarà amb un sector\n"
+"d'arrencada de GRUB/LILO. D'aquesta manera podreu carregar GNU/Linux\n"
+"o un altre SO.\n"
+"\n"
+" * si troba un sector d'arrencada grub o LILO, el reemplaçarà amb un nou.\n"
+"\n"
+"Si no pot prendre una decisió, DrakX us preguntarà on ha de col·locar el\n"
+"carregador d'arrencada. Normalment, \"%s\" és el lloc més segur. Si "
+"escolliu\n"
+"\"%s\" no s'instal·larà cap carregador d'arrencada. Utilitzeu-lo només si\n"
+"sabeu que esteu fent."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ara cal seleccionar el sistema d'impressió del vostre ordinador. Altres\n"
+"sistemes operatius us poden oferir un, però el Mandriva Linux n'ofereix\n"
+"dos. Cada sistema d'impressió és el més convenient per a un tipus de\n"
+"configuració determinat.\n"
+"\n"
+" * \"%s\", acrònim de \"print, do not queue\" (imprimeix, no facis cua), és\n"
+"la millor opció si teniu una connexió directa amb la impressora i voleu\n"
+"evitar els embussos a l'hora d'imprimir, i no teniu impressores de xarxa.\n"
+"(\"%s\" només gestionarà xarxes molt senzilles i és una mica lenta quan\n"
+"s'usa en xarxa.) Escolliu \"pdq\" si és la vostra primera incursió\n"
+"en GNU/Linux.\n"
+"\n"
+" * \"%s\" `` Common Unix Printing System'', Sistema d'impressió comú de\n"
+"Unix, és una elecció excel·lent tant si voleu imprimir a la vostra\n"
+"impressora local com a l'altra punta del món. És senzilla de configurar i\n"
+"pot actuar com a servidor o client per a l'antic sistema d'impressió \"lpd"
+"\"\n"
+"i, per tant, és compatible amb sistemes operatius antics que encara\n"
+"necessitin serveis d'impressió. És força potent, però la configuració "
+"bàsica\n"
+"és gairebé tan senzilla com la de \"pdq\". Si necessiteu emular un servidor\n"
+"\"lpd\", heu d'habilitar el dimoni \"cups-lpd\". \"%s\" inclou frontals\n"
+"gràfics per a la impressió o per escollir les opcions d'impressió\n"
+"i per gestionar la impressora.\n"
+"\n"
+"Si ara feu una tria, i després veieu que el sistema d'impressió no us\n"
+"agrada, podeu canviar-lo executant el PrinterDrake des del Centre de "
+"control\n"
+"de Mandriva Linux i fent clic al botó Expert."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Primer, DrakX detectarà qualsevol dispositiu IDE en l'ordinador. També\n"
+"cercarà una o més targetes SCSI PCI. Si troba una targeta SCSI, DrakX\n"
+"instal·larà automàticament el controlador adequat.\n"
+"\n"
+"Com que la detecció de maquinari no és infal·lible, pot ser que DrakX no "
+"trobi\n"
+"els discos durs; si és així, caldrà que indiqueu el vostre maquinari "
+"manualment.\n"
+"\n"
+"Si heu de seleccionar l'adaptador SCSI PCI manualment, DrakX us preguntarà "
+"si\n"
+"voleu configurar-ne les opcions. Convé que deixeu que DrakX comprovi\n"
+"el maquinari per saber les opcions específiques de la targeta que calen per "
+"inicialitzar\n"
+"l'adaptador. La majoria de vegaDES, DrakX realitzarà aquest pas sense "
+"problemes.\n"
+"\n"
+"Si DrakX no pot comprovar les opcions per determinar automàticament els "
+"paràmetres\n"
+"que s'han de passar al maquinari, us caldrà configurar el controlador "
+"manualment."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": si es detecta una targeta de so al vostre sistema, es mostra aquí.\n"
+"Si veieu que la targeta de so que es mostra no és la que realment teniu al\n"
+"sistema, podeu fer clic al botó i seleccionar un altre programa de control."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Com a revisió, DrakX presentarà un resum de la informació que\n"
+"té sobre el vostre sistema. Segons el maquinari instal·lat, podeu\n"
+"tenir algunes o totes les entrades següents. Cada entrada consta\n"
+"de l'element de configuració que cal configurar, seguit d'un breu\n"
+"resum de la configuració actual.\n"
+"Feu clic al botó \"%s\" corresponent per canviar-ho.\n"
+"\n"
+" * \"%s\": comproveu la configuració actual del mapa de teclat i\n"
+"canvieu-la si és necessari.\n"
+"\n"
+" * \"%s\": comproveu la selecció actual de país. Si no sou a aquest\n"
+"país, feu clic al botó \"%s\" i escolliu-ne un altre. Si el vostre\n"
+"país no és a la primera llista que es mostra, feu clic al botó \"%s\"\n"
+"per obtenir una llista de països completa.\n"
+"\n"
+" * \"%s\": per defecte, DrakX dedueix la vostra zona horària en\n"
+"funció del país que hagueu escollit. Aquí podeu fer clic al botó \"%s\"\n"
+"si no fos correcta.\n"
+"\n"
+" * \"%s\": comproveu la configuració actual del ratolí i feu clic al\n"
+"botó per canviar-la si fos necessari.\n"
+"\n"
+" * \"%s\": feu clic al botó \"%s\" per obrir l'auxiliar de configuració\n"
+"de la impressora. Consulteu el capítol corresponent de la ``Guia d'\n"
+"iniciació'' per tenir més informació sobre la configuració d'una nova\n"
+"impressora. Aquesta interfície és similar a la utilitzada durant la\n"
+"instal·lació.\n"
+"\n"
+" * \"%s\": si es detecta una targeta de so al vostre sistema, es\n"
+"mostra aquí. Si veieu que que no és la que realment teniu al sistema,\n"
+"podeu fer clic al botó per triar un altre controlador.\n"
+"\n"
+" * \"%s\": per defecte, DrakX configura la vostra interfície\n"
+"gràfica a una resolució de \"800x600\" or \"1024x768\". Si no us\n"
+"va bé, feu clic a \"%s\" per reconfigurar la interfície gràfica.\n"
+"\n"
+" * \"%s\": si es detecta una targeta de TV al sistema, es mostra\n"
+"aquí. Si en teniu una però no és detectada, feu clic a \"%s\" per\n"
+"intentar configurar-la manualment.\n"
+"\n"
+" * \"%s\": si es detecta una targeta XDSI al sistema, es mostra\n"
+"aquí. Podeu fer clic a \"%s\" per canviar els paràmetres associats\n"
+"amb la targeta.\n"
+"\n"
+" * \"%s\": si voleu configurar ara l'accés a Internet o a la xarxa local.\n"
+"\n"
+" * \"%s\": aquesta entrada un permet redefinir el nivell de seguretat\n"
+"definit en un pas anterior ().\n"
+"\n"
+" * \"%s\": si teniu previst connectar-vos a Internet, és bona idea\n"
+"protegir-vos d'intrusions instal·lant un tallafocs. Consulteu-ne\n"
+"els detalls a la secció corresponent de la ``Guia d'iniciació''.\n"
+"\n"
+" * \"%s\": si voleu canviar la configuració del carregador d'arrencada,\n"
+"feu clic a aquest botó. Es recomana que això només ho facin els usuaris\n"
+"avançats.\n"
+"\n"
+" * \"%s\": aquí podreu acabar d'ajustar els serveis que s'executaran\n"
+"en el vostre ordinador. Si teniu previst utilitzar aquesta màquina com\n"
+"a servidor, és aconsellable que reviseu aquesta configuració."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Targeta XDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfície gràfica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Escolliu el disc dur que voleu buidar per instal·lar la nova partició\n"
+"Mandriva Linux. Aneu amb compte, totes les dades actuals es perdran i no\n"
+"es podran recuperar!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Feu clic a \"%s\" si voleu suprimir totes les dades i particions\n"
+"que hi ha en aquest disc dur. Aneu amb compte perquè, un cop\n"
+"hagueu fet clic a \"%s\", no podreu recuperar cap dada ni partició\n"
+"del disc, incloent les dades del Windows.\n"
+"\n"
+"Feu clic a \"%s\" per aturar aquesta operació sense perdre cap dada\n"
+"ni partició d'aquest disc."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Següent ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
diff --git a/perl-install/install/help/po/cs.po b/perl-install/install/help/po/cs.po
new file mode 100644
index 000000000..fad687c81
--- /dev/null
+++ b/perl-install/install/help/po/cs.po
@@ -0,0 +1,1952 @@
+# Translation of cs.po to Czech
+# Translation of DrakX-cs.po to Czech
+# Copyright (C) 1999,2003, 2004, 2005 Free Software Foundation, Inc.
+# Radek Vybiral <Radek.Vybiral@vsb.cz>, 2000, 2001-2003.
+# Michal Bukovjan <bukm@centrum.cz>, 2002-2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-19 00:26+0200\n"
+"Last-Translator: Michal Bukovjan <bukm@centrum.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Předtím, než budete pokračovat, přečtěte si pozorně licenční podmínky. Ty\n"
+"se vztahují k celé distribuci Mandriva Linux a pokud s nimi souhlasíte,\n"
+"klepněte na tlačítko \"%s\". Pokud ne, klepněte na tlačítko \"%s \" a "
+"počítač bude restartován."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je víceuživatelský systém, což znamená, že každý uživatel může\n"
+"mít své vlastní nastavení, soubory atd. Více se dočtete v příručce \"Začínáme"
+"\".\n"
+"Na rozdíl od uživatele root, který je správcem počítače, uživatelé, kteří "
+"jsou\n"
+"zde vytvořeni, nemají oprávnění měnit nic kromě svých vlastních souborů a\n"
+"nastavení. Doporučuje se vytvořit účet pro minimálně jednoho běžného "
+"uživatele.\n"
+"Tento účet se používá na všechny běžné úkoly. Ačkoliv je velmi praktické\n"
+"přihlašovat se každý den jako uživatel root, je to také velmi nebezpečné!\n"
+"Jedna malá chyba může způsobit, že celý operační systém již nebude funkční.\n"
+"Pokud uděláte chybu jako normální uživatel, můžete přijít pouze o své "
+"informace,\n"
+"ale nepoškodí se celý systém.\n"
+"\n"
+"Jako první zadejte vaše skutečné jméno. To není samozřejmě povinné - můžete\n"
+"zadat co chcete. Aplikace DrakX použije první slovo jako uživatelské jméno,\n"
+"pod kterým se bude uživatel hlásit do systému, a předvyplní jej do políčka\n"
+"\"%s\". To je možné následně změnit.\n"
+"Dále se zadává heslo pro uživatele. Volba hesla pro normální uživatele sice "
+"není\n"
+"z hlediska bezpečnosti tak kritická jako v případě správce, ale i tak se "
+"doporučuje\n"
+"ji nepodceňovat; koneckonců, jde o zabezpečení souborů tohoto uživatele.\n"
+"\n"
+"Pokud klepnete na \"%s\", můžete přidávat uživatelů, kolik\n"
+"potřebujete, např. své přátele, účet pro otce či sestru. Pokud máte všechny\n"
+"uživatele vytvořeny, klepněte na tlačítko \"%s\". \n"
+"\n"
+"Klepnutím na tlačítko \"%s\" můžete pro nový účet změnit shell, který\n"
+"bude uživatel používat (výchozí je bash).\n"
+"\n"
+"Až dokončíte přidávání uživatelů, budete dotázáni na to, jaký uživatel má "
+"být\n"
+"zvolen pro automatické přihlášení do systému po jeho spuštění. Pokud chcete\n"
+"tuto možnost využít (a neobáváte se o bezpečnost), vyberte požadovaného\n"
+"uživatele a správce oken a klepněte na \"%s\".\n"
+"Pokud tuto možnost nechcete využít, odškrtněte políčko \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Chcete použít tuto vlastnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Zde je vypsán seznam již existujících detekovaných oddílů na pevném disku.\n"
+"Můžete ponechat volby detekované průvodcem, protože ve většině případů\n"
+"vyhovují. Pokud chcete provést nějaké změny, musíte definovat aspoň "
+"kořenový\n"
+"oddíl (\"/\"). Velikost oddílů zvolte dostatečnou, jinak nebude možné "
+"nainstalovat\n"
+"dostatečné množství programů. Pokud chcete ukládat data na zvláštní oddíl,\n"
+"vytvořte také oddíl \"/home\".\n"
+"\n"
+"Každý oddíl vypsaný níže má: \"Název\", \"Velikost\".\n"
+"\n"
+"\"Název\" je složen následovně: \"typ pevného disku\", \"číslo disku\",\n"
+"\"číslo oddílu\". (například \"hda1\").\n"
+"\n"
+"Pokud máte IDE disky, pak je \"typ pevného disku\" \"hd\", pokud máte SCSI,\n"
+"označení bude \"sd\".\n"
+"\n"
+"\"Číslo disku\" je vždy písmeno za \"hd\" nebo \"sd\". Pro IDE disky je to "
+"takto:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárním IDE řadiči\",\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárním IDE řadiči\",\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárním IDE řadiči\",\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárním IDE řadiči\".\n"
+"\n"
+"Pro SCSI disky platí, že \"a\" je \"nejmenší SCSI ID\", \"b\" je \"druhé\n"
+"nejmenší SCSI ID\" atd."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Distribuce Mandriva Linux je složena z několika CD. Instalační program ví,\n"
+"na kterém disku je umístěn jaký balíček a v případě potřeby vysune CD a "
+"vyžádá\n"
+"si výměnu CD za požadované. Pokud nemáte požadované CD po ruce, klikněte\n"
+"na \"%s\" a odpovídající balíčky nebudou nainstalovány."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"V této chvíli je možné vybrat, které programy chcete nainstalovat na váš "
+"systém.\n"
+"Mandriva Linux obsahuje tisíce balíčků s programy a pro snadnější orientaci\n"
+"byly rozděleny do skupin, které sdružují podobné aplikace.\n"
+"\n"
+"Balíčky jsou rozděleny do skupin, které odpovídají tomu, jak je nejčastěji\n"
+"počítač používán. Skupiny samotné jsou umístěny do čtyř sekcí. Výběr "
+"aplikací\n"
+"z těchto sekcí lze různě kombinovat, takže můžete mít celou instalovánu "
+"sekci\n"
+"\"Pracovní stanice\" a k ní nějaké aplikace ze sekce \"Server\".\n"
+"\n"
+" * \"%s\": pokud plánujete používat počítač převážně na\n"
+"běžnou práci, vyberte si balíčky ze skupin kategorie pracovní stanice.\n"
+"\n"
+" * \"%s\": pokud budete na počítači programovat, můžete si z této\n"
+"sekce vybrat další skupiny. Zvláštní skupina \"LSB\" nastaví váš systém "
+"tak,\n"
+"aby co nejvíce odpovídal specifikaci Linux Standard Base.\n"
+"\n"
+" Výběr skupiny \"LSB\" rovněž nainstaluje jádro řady \"2.4\" místo "
+"výchozího\n"
+"jádra řady \"2.6\", pro zajištění plné kompatibility se specifikací LSB. I "
+"když ale\n"
+"skupinu LSB nevyberete, bude systém téměř úplně specifikaci odpovídat.\n"
+"\n"
+" * \"%s\": pokud bude počítač provozován jako server, máte možnost\n"
+"vybrat si ty nejběžnější služby, které chcete nainstalovat.\n"
+"\n"
+" * \"%s\": pokud preferujete grafické prostředí, zde je\n"
+"nabídka několika prostředí, ze které si musíte vybrat nejméně jedno,\n"
+"aby bylo možné grafické prostředí nainstalovat.\n"
+"\n"
+"Pokud přejedete myší nad skupinou, objeví se krátký text, který vysvětluje,\n"
+"co je obsahem dané skupiny.\n"
+"\n"
+"Pokud zatrhnete volbu \"%s\", zobrazí se seznam všech\n"
+"balíčků, které je možno nainstalovat. To je to užitečné v případě, že "
+"chcete\n"
+"mít absolutní kontrolu nad tím, co se bude instalovat.\n"
+"\n"
+"Pokud jste spustili instalaci v režimu \"%s\", můžete zrušit výběr\n"
+"daných skupin, čímž zabráníte instalaci nových balíčků. To je užitečné\n"
+"pro případ opravy nebo aktualizace existujícího systému.\n"
+"\n"
+"Pokud nevyberete při běžné instalaci žádnou skupinu (na rozdíl od\n"
+"aktualizace), zobrazí se otázka na instalaci několika typů minimální\n"
+"instalace:\n"
+"\n"
+" * \"%s\" Provede instalaci minima balíčků s podporou grafického prostředí.\n"
+"\n"
+" * \"%s\" Nainstaluje systém se základními programy a jejich dokumentací. \n"
+"Tento typ je vhodný pro instalaci serveru.\n"
+"\n"
+" * \"%s\" Nainstaluje se opravdu nezbytné minimum, aby bylo\n"
+"možné provozovat Linux z příkazové řádky. Instalace zabere asi\n"
+"65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualizovat"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Obsahuje základní dokumentaci"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Opravdu minimální instalace"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"V závislosti na tom, zda jste zvolili individuální výběr balíčků, se "
+"nabídne\n"
+"stromová struktura obsahující všechny balíčky organizované do skupin\n"
+"a podskupin. Při procházení stromu můžete vybrat jednotlivé balíčky, "
+"podskupiny\n"
+"nebo celé skupiny.\n"
+"\n"
+"Pokud vyberete ze stromu balíček, objeví se v pravé části jeho popis.\n"
+"\n"
+"!! Pokud se nachází mezi vybranými balíčky serverové programy, ať už "
+"vybrané\n"
+"záměrně nebo jako součást skupiny, zobrazí se dotaz na to,\n"
+"zda opravdu chcete tyto servery nainstalovat. V distribuci Mandriva Linux\n"
+"jsou tyto servery spuštěny při startu systému. I když v době vydání "
+"distribuce\n"
+"nejsou známy žádné bezpečnostní problémy, mohou se vyskytnout později.\n"
+"Pokud nevíte, k čemu jsou určeny některé serverové služby, klepněte na \"%s"
+"\".\n"
+"Klepnutím na \"%s\" se dané služby nainstalují a automaticky spustí při "
+"startu !!\n"
+"\n"
+"Volba \"%s\" vypne varovné hlášení, které se objeví\n"
+"vždy, když vyberete balíček, který má další závislosti a instalační program\n"
+"musí vybrat další potřebné balíčky, aby instalace mohla proběhnout úspěšně.\n"
+"\n"
+"Malá ikonka diskety dole umožňuje nahrát již předem vybraný seznam balíčků.\n"
+"To je užitečné, pokud máte několik počítače a chcete na nich shodnou "
+"instalaci.\n"
+"Po klepnutí na ikonu budete dotázáni na vložení diskety, která byla "
+"vytvořena na\n"
+"konci jiné instalace. Ve druhém tipu při posledním kroku najdete návod, jak "
+"si\n"
+"tuto disketu vytvořit. "
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ošetří automaticky závislosti"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": klepnutím na \"%s\" se otevře průvodce nastavením tiskárny.\n"
+"Jak nastavit tiskárnu se také dozvíte z odpovídající kapitoly z příručky\n"
+"\"Začínáme\". Rozhraní je podobné tomu, které vidíte při instalaci."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Nyní si zvolte, které služby mají být spuštěny při startu počítače.\n"
+"\n"
+"Je zde seznam všech služeb, které jsou aktuálně nainstalovány.\n"
+"Prohlédněte si seznam pozorně a zrušte ty, které nepotřebujete při startu\n"
+"počítače spouštět.\n"
+"\n"
+"Pokud přejedete myší nad některou položkou, objeví se malá nápověda\n"
+"s popisem, co daná služba dělá. Pokud přesně nevíte, zda je služba užitečná\n"
+"nebo ne, je lepší ji nechat ve výchozím stavu.\n"
+"\n"
+"!! Rozvažte, co za služby spustit, zvláště pokud budete počítač provozovat\n"
+"jako server: nepotřebujete všechny služby. Pamatujte, že čím více služeb\n"
+"je spuštěno, tím je větší nebezpečí nežádoucího proniknutí do počítače.\n"
+"Takže povolte opravdu jen ty služby, které nezbytně potřebujete !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux spravuje čas podle GMT (Greenwich Mean Time) a převádí ho na\n"
+"čas podle příslušné vybrané časové zóny. Pokud je čas na vaší mateřské "
+"desce\n"
+"nastaven jako lokální, je možné toto zrušit odznačením volby \"%s\" a pak "
+"budou\n"
+"systémové hodiny stejné jako hardwarové a ve stejné časové zóně.\n"
+"To je užitečné tehdy, když je na počítači jiný operační systém.\n"
+"\n"
+"Volba \"%s\" provádí automatické nastavení hodin pomocí připojení k "
+"časovému\n"
+"serveru na Internetu. Vyberte si v seznamu ten server, který je vám "
+"nejblíž.\n"
+"Je samozřejmé, že pro správnou funkci musíte mít funkční připojení\n"
+"k Internetu. Na počítač se také nainstaluje časový server, který mohou\n"
+"volitelně používat jiné počítače ve vaší lokální síti."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatická synchronizace času"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafická karta\n"
+"\n"
+" Instalační program je schopen automaticky detekovat a nastavit grafickou\n"
+"kartu instalovanou v počítači. Pokud se to nepodaří, máte možnost si ze\n"
+"seznamu vybrat příslušnou grafickou kartu ručně.\n"
+"\n"
+" V případě, že pro vaši kartu je možné použít více různých serverů, buď\n"
+"s 3D akcelerací nebo bez, je pouze na vás, který server si vyberete jako\n"
+"nejvíce vyhovující vašim potřebám."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window System) je srdcem grafického rozhraní pro GNU/Linux, které\n"
+"využívají dodávané grafické prostředí (KDE, GNOME, AfterStep, WindowMaker) "
+"se systémem Mandriva Linux.\n"
+"\n"
+"Nyní bude zobrazen seznam různých parametrů, které je možné změnit pro\n"
+"dosažení optimálního grafického zobrazení\n"
+"\n"
+"Grafická karta\n"
+"\n"
+" Instalační program je schopen automaticky detekovat a nastavit grafickou\n"
+"kartu instalovanou v počítači. Pokud se to nepodaří, máte možnost si ze\n"
+"seznamu vybrat příslušnou grafickou kartu ručně.\n"
+"\n"
+" V případě, že pro vaši kartu je možné použít více různých serverů, s 3D\n"
+"akcelerací nebo bez, je pouze na vás, který server si vyberete jako nejvíce\n"
+"vyhovující vašim potřebám.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Instalační program dokáže většinou automaticky detekovat a správně \n"
+"nastavit monitor připojený k vašemu počítači. Pokud se to nezdaří, lze se\n"
+"seznamu vybrat monitor, který máte.\n"
+"\n"
+"\n"
+"\n"
+"Rozlišení\n"
+"\n"
+" Zde si můžete vybrat rozlišení a barevnou hloubku, které vaše karta \n"
+"podporuje. Vyberte si to co vám nejvíce vyhovuje (výběr lze po instalaci\n"
+"samozřejmě změnit). Na monitoru bude zobrazen příklad nastavení.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Systém se pokusí otestovat grafickou obrazovku v požadovaném rozlišení.\n"
+"Pokud během testu uvidíte zprávy a odpovíte na ni \"%s\", instalační "
+"program\n"
+"bude pokračovat dalším krokem. Pokud zprávu neuvidíte, znamená to, že "
+"některá\n"
+"část automatické detekce neproběhla v pořádku a test automaticky za 12 "
+"vteřin\n"
+"skončí s tím, že se provede návrat k základní nabídce. Následně je možné "
+"opět\n"
+"provést změny až do té doby, než bude zobrazeno správné rozlišení.\n"
+"\n"
+"\n"
+"\n"
+"Volby\n"
+"\n"
+" Zde si můžete vybrat, zda chcete provést automatický start grafického\n"
+"prostředí po spuštění systému. Je samozřejmé, že pokud bude počítač\n"
+"provozován jako server nebo pokud se nepodařilo nastavit grafickou kartu,\n"
+"je nutné odpovědět \"%s\"."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Instalační program dokáže většinou automaticky detekovat a správně \n"
+"nastavit monitor připojený k vašemu počítači. Pokud se to nezdaří, lze si\n"
+"ze seznamu vybrat monitor, který máte."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozlišení\n"
+"\n"
+" Zde si můžete vybrat rozlišení a barevnou hloubku, které vaše karta \n"
+"podporuje. Vyberte si to, co vám nejvíce vyhovuje (výběr lze po instalaci\n"
+"samozřejmě změnit). Na monitoru bude zobrazen příklad nastavení."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"V případě, že je pro vaši kartu možno použít více různých serverů s 3D\n"
+"akcelerací nebo bez, záleží na vašem výběru, který vám nejvíce vyhovuje."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Volby\n"
+"\n"
+" Tento krok vám umožňuje nastavit automatické spouštění grafického "
+"prostředí\n"
+"při startu. Je zřejmé, že odpovíte \"%s\" v případě, že počítač bude "
+"pracovat\n"
+"jako server nebo v případě, že se nepodařilo správně nastavit grafickou "
+"kartu."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"V tomto bodě si musíte rozhodnout, na které diskové oddíly budete\n"
+"instalovat nový operační systém Mandriva Linux. Pokud je disk prázdný\n"
+"nebo existující operační systém používá celý disk, je nutné ho rozdělit.\n"
+"Rozdělení disku spočívá ve vytvoření volného prostoru pro instalaci\n"
+"systému Mandriva Linux.\n"
+"\n"
+"Protože rozdělení disku je nenávratná operace, je to velmi nebezpečná\n"
+"akce pro ty uživatele, kteří nemají žádné zkušenosti.\n"
+"Pro tyto uživatele je dobrý průvodce, který zjednoduší daný proces.\n"
+"Ještě před započetím rozdělování disku si pročtěte zbytek této sekce a "
+"hlavně\n"
+"nespěchejte.\n"
+"\n"
+"Na základě vaší stávající konfigurace nabídne průvodce několik řešení:\n"
+"\n"
+" * \"%s\": takto se jednoduše automaticky disk(y) rozdělí\n"
+"a již se o nic nemusíte starat.\n"
+"\n"
+" * \"%s\": průvodce detekoval jeden nebo více existujících\n"
+"Linuxových oddílů a ty nabídne pro instalaci. Budete muset definovat ke "
+"každému\n"
+"oddílu přípojný bod. Původní přípojné body jsou předvyplněny a obvykle by\n"
+"jste je měli ponechat.\n"
+"\n"
+" * \"%s\": pokud máte na disku nainstalovány Microsoft Windows a tyto\n"
+"zabírají celý disk, je možné tento prostor zmenšit a použít ho pro "
+"instalaci.\n"
+"Oddíl a data lze také vymazat (viz volba \"Smazat celý disk\") nebo\n"
+"změnit velikost FAT či NTFS oddílu s Microsoft Windows. Změna velikosti\n"
+"oddílu je provedena beze ztráty dat a je možná, pokud jste předtím tento "
+"oddíl ve\n"
+"Windows defragmentovali. Je doporučeno zazálohovat vaše data. Tento postup\n"
+"je doporučený, pokud chcete na disku provozovat současně systém\n"
+"Mandriva Linux i Microsoft Windows.\n"
+"\n"
+" Před výběrem této volby si prosím uvědomte, že velikost oddílu s "
+"Microsoft\n"
+"Windows bude menší než je nyní. To znamená, že budete mít méně místa pro\n"
+"uložení dat nebo instalaci programů do Microsoft Windows.\n"
+"\n"
+" * \"%s\": pokud chcete smazat veškerá data a všechny oddíly na disku\n"
+"a použít je pro instalaci systému Mandriva Linux, vyberte toto řešení.\n"
+"Zde postupujte opatrně, po výběru již není možné vzít tuto volbu zpět.\n"
+"\n"
+" !! Pokud zvolíte tuto možnost, všechna data na disku budou ztracena.!!\n"
+"\n"
+" * \"%s\": Tato volba se objeví, pokud celý disk zabírá operační systém\n"
+"Microsoft Windows. Tato volba jednoduše smaže vše na disku a znovu disk\n"
+"rozdělí.\n"
+"\n"
+" !! Pokud vyberete tuto volbu, veškerá data budou ztracena. !!\n"
+"\n"
+" * \"%s\": pokud chcete disk rozdělit ručně. Před touto volbou buďte "
+"opatrní,\n"
+"je sice mocná, ale nebezpečná. Velmi jednoduše zde můžete přijít o svá "
+"data.\n"
+"Nedoporučuje se těm, kteří přesně nevědí, co dělají. Chcete-li se dozvědět\n"
+"více o nástroji DiskDrake, který se v tomto případě používá, prostudujte "
+"sekci\n"
+"\"Správa vašich oddílů\" v příručce \"Začínáme\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Použije existující oddíl"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Smazat celý disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nyní je instalace ukončena a operační systém GNU/Linux je připraven k "
+"použití.\n"
+"Klepněte na \"%s\" a systém bude restartován. Nezapomeňte vyjmout "
+"instalační\n"
+"médium (CD-ROM nebo disketu). První věcí, kterou uvidíte po skončení\n"
+"hardwarových testů po zapnutí počítače, bude zavaděč s menu, kde si můžete\n"
+"vybrat, který operační systém chcete spustit.\n"
+"\n"
+"Tlačítko \"%s\" zobrazí další dvě tlačítka:\n"
+"\n"
+" * \"%s\": vytvoří disketu, se kterou\n"
+"lze celou instalaci opakovat bez zásahu operátora se stejnými volbami,\n"
+"které byly zvoleny při instalaci.\n"
+"\n"
+" Po klepnutí na toto tlačítko se zobrazí další dvě volby:\n"
+"\n"
+" * : \"%s\": je to částečně automatická instalace, kdy se potvrzuje\n"
+"krok při rozdělování disků (a pouze tento krok).\n"
+"\n"
+" * : \"%s\": plně automatická instalace, data na pevném disku\n"
+"budou zrušena a disk přepsán.\n"
+"\n"
+" Tato volba je velmi užitečná, když potřebujete nainstalovat větší počet\n"
+"stejných počítačů. Více o této možnosti je na našich WWW stránkách.\n"
+"\n"
+" * \"%s\"(*): uloží výběr balíčků, který byl zvolen při\n"
+"instalaci. Pokud budete instalovat další počítač, vložte disketu do "
+"mechaniky\n"
+"a spusťte instalaci, stiskněte [F1] a napište na příkazový řádek \n"
+">> linux defcfg=\"floppy\" << a stiskněte klávesu Enter.\n"
+"\n"
+"(*) Budete potřebovat disketu naformátovanou systémem souborů FAT.\n"
+"Chcete-li si takovou disketu vytvořit v systému GNU/Linux, napište příkaz\n"
+"\"mformat a:\" nebo \"fdformat /dev/fd0\" a poté \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Vytvoří disketu pro automatickou instalaci"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Každý nově vytvořený diskový oddíl musí být před použitím zformátován\n"
+"(formátováním se myslí vytvoření souborového systému).\n"
+"\n"
+"Nyní lze formátovat již existující diskové oddíly pro vymazání\n"
+"všech dat, která obsahují. Pokud to chcete provést, vyberte diskové oddíly\n"
+"pro přeformátování.\n"
+"\n"
+"Není ale nutné přeformátovat všechny již existující diskové oddíly.\n"
+"Je nutné přeformátovat oddíly, které obsahují operační systém (jako je \"/"
+"\",\n"
+"\"/usr\" nebo \"/var\") ale není nutné přeformátovat oddíly, které obsahují\n"
+"data, která chcete zachovat (typicky \"/home\").\n"
+"\n"
+"Při výběru diskových oddílů, které se budou formátovat buďte opatrní, "
+"všechna\n"
+"data na formátovaných oddílech budou ztracena a nelze je již obnovit.\n"
+"\n"
+"Pokud je vše připraveno pro formátování, klepněte na \"%s\".\n"
+"\n"
+"Pokud chcete vybrat jiné oddíly pro instalaci systému Mandriva Linux,\n"
+"klepněte na \"%s\" \n"
+"\n"
+"Klepnutím na \"%s\" můžete vybrat, které oddíly budou otestovány\n"
+"na vadné bloky."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Pokaždé, když instalujete distribuci Mandriva Linux, je možné, že některé\n"
+"balíčky byly od vydání distribuce aktualizovány. Mohly to být opravy chyb\n"
+"či řešení možných bezpečnostních problémů. Pokud chcete využít právě\n"
+"této nabídky, je možné tyto balíčky nyní stáhnout z Internetu. Zvolte \"%s"
+"\"\n"
+"pokud máte funkční připojení na Internet nebo \"%s\", pokud budete\n"
+"instalovat aktualizace později.\n"
+"\n"
+"Po zvolení \"%s\" se zobrazí seznam míst, odkud mohou být aktualizace "
+"získány.\n"
+"Vyberte si nejbližší místo. Následně se objeví stromový seznam balíčků,\n"
+"který je možno ještě upravit a stisknutím tlačítka \"%s\" se provede "
+"stažení\n"
+"a instalace vybraných balíčků. Akci můžete přerušit klepnutím na \"%s\"."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nyní si vyberte úroveň zabezpečení vašeho počítače Je zřejmé, že čím více\n"
+"je počítač využíván a čím cennější data obsahuje, tím je potřeba zvolit "
+"vyšší\n"
+"úroveň, stejně tak pokud je přímo vystaven na síti Internet. Na druhou "
+"stranu,\n"
+"vyšší úroveň znesnadňuje některé obvyklé postupy.\n"
+"\n"
+"Pokud nevíte co vybrat, ponechte výchozí nastavení. Úroveň zabezpečení\n"
+"lze později změnit pomocí nástroje draksec z Ovládacího centra Mandriva.\n"
+"\n"
+"V políčku \"%s\" je jméno uživatele, který bude odpovědný za zabezpečení\n"
+"počítače. Všechny bezpečnostní zprávy systému budou odeslány na tuto adresu."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Správce zabezpečení"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"V této chvíli je potřeba určit, který(é) oddíl(y) budou použity pro "
+"instalaci\n"
+"systému Mandriva Linux. Pokud byly oddíly již jednou definovány, buď\n"
+"z předchozí instalace GNU/Linux nebo jiným programem na rozdělení disku,\n"
+"je možné použít právě tyto oddíly. Jinak musí být oddíly nově definovány.\n"
+"\n"
+"Pro vytvoření oddílu musíte nejdříve vybrat pevný disk. Klepněte na \n"
+"\"hda\", což je první IDE disk, nebo na \"hdb\", což je druhý disk,\n"
+"případně na \"sda\", což je první SCSI disk.\n"
+"\n"
+"Pro rozdělení vybraného disku můžete použít tyto volby:\n"
+"\n"
+" * \"%s\": tato volba smaže všechny oddíly na vybraném disku.\n"
+"\n"
+" * \"%s\": dojde k automatickému vytvoření oddílu pro Ext2 a swap ve volném\n"
+"prostoru disku.\n"
+"\n"
+" * \"%s\": nabídne další možnosti:\n"
+"\n"
+" * \"%s\": uloží tabulku oddílů na disketu. To je\n"
+"vhodné pro případ poškození tabulky, kdy ji lze z této zálohy obnovit.\n"
+"Doporučujeme využít tuto možnost.\n"
+"\n"
+" * \"%s\": obnoví tabulku oddílů, která byla již dříve\n"
+"uložena na disketu.\n"
+"\n"
+" * \"%s\": pokud je tabulka poškozena, můžete se\n"
+"pokusit ji opravit. Buďte ale opatrní a pamatujte na to, že se to nemusí "
+"vždy\n"
+"podařit.\n"
+"\n"
+" * \"%s\": zruší všechny změny a nahraje původní\n"
+"tabulku oddílů.\n"
+"\n"
+" \"%s\": odznačení této volby\n"
+"způsobí, že při připojování a odpojování vyjímatelných médií jako jsou CD-"
+"ROM\n"
+"disky a floppy disky je nutné použít ručně příkaz mount.\n"
+"\n"
+" * \"%s\": pokud nemáte dobré znalosti o rozdělování disků, použijte\n"
+"tuto volbu, kdy se spustí průvodce. Doporučujeme, pokud nemáte dobré "
+"znalosti\n"
+"o vytváření oddílů na disku.\n"
+"\n"
+" * \"%s\": zruší všechny provedené změny.\n"
+"\n"
+" * \"%s\": dovoluje další akce s oddíly\n"
+"(typ oddílu, volby, formátování) a zobrazí další informace.\n"
+"\n"
+" * \"%s\": pokud máte disk rozdělen, uloží se změny na disk.\n"
+"\n"
+"Pokud definujete velikost oddílu, můžete přesněji jejich velikost určit "
+"pomocí\n"
+"kurzorových šipek na klávesnici.\n"
+"\n"
+"Poznámka: každou volbu je možné zadat také z klávesnice. Mezi oddíly se\n"
+"můžete pohybovat pomocí kláves [Tab] a [Šipka nahoru/šipka dolů].\n"
+"\n"
+"Pokud je vybrán oddíl, lze použít tyto volby:\n"
+"\n"
+" * Ctrl-c pro vytvoření nového oddílu (pokud je vybrán prázdný oddíl);\n"
+"\n"
+" * Ctrl-d pro smazání oddílu;\n"
+"\n"
+" * Ctrl-m pro zadání bodu připojení.\n"
+"\n"
+"Více informací o jednotlivých druzích souborových systémů naleznete\n"
+"v kapitole o ext2fs v \"Referenční příručce\".\n"
+"\n"
+"Pokud instalujete na počítač PPC, je potřeba vytvořit malý oddíl HFS,\n"
+"tzv. \"bootstrap\" o minimální velikosti 1MB, který bude použit pro zavaděč\n"
+"Yaboot. Pokud vytvoříte tento oddíl větší, např. 50 MB, je to dobré místo "
+"pro\n"
+"uložení ramdisku a jádra pro situace záchrany disku."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatické připojování pro vyjímatelná média"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Přepne mezi normální/expertním režimem"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Instalační program nalezl na disku více než jeden oddíl s Microsoft "
+"Windows.\n"
+"Prosím vyberte si jeden z nich, který je potřeba pro novu instalaci systému\n"
+"Mandriva Linux zmenšit.\n"
+"\n"
+"Každý oddíl je zobrazen následovně: \"Pojmenování v Linuxu\",\n"
+"\"Název ve Windows\", \"Velikost\".\n"
+"\n"
+"\"Pojmenování v Linuxu\" je složeno následovně: \"typ pevného disku\",\n"
+"\"číslo disku\", \"číslo oddílu\". (například \"hda1\").\n"
+"\n"
+"Pokud máte IDE disky, pak je \"typ pevného disku\" \"hd\", pokud máte SCSI,\n"
+"označení bude \"sd\".\n"
+"\n"
+"\"Číslo disku\" je vždy písmeno za \"hd\" nebo \"sd\". Pro IDE disky je "
+"takto:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárním IDE řadiči\",\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárním IDE řadiči\",\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárním IDE řadiči\",\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárním IDE řadiči\".\n"
+"\n"
+"Pro SCSI disky platí, že \"a\" je \"nejmenší SCSI ID\", \"b\" je \"druhé\n"
+"nejmenší SCSI ID\" atd.\n"
+"\n"
+"\"Název ve Windows\" je písmeno, které je použito ve Windows\n"
+"(první oddíl nebo disk má písmeno \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": zkontrolujte aktuální výběr země. Pokud nejste v dané zemi, "
+"klepněte\n"
+"na tlačítko \"%s\" a vyberte si jinou. Pokud vaše země není na prvním "
+"seznamu,\n"
+"klepněte na tlačítko \"%s\" a získáte kompletní seznam zemí."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Tento krok se objeví pouze tehdy, pokud je na vašem počítači nalezen starší\n"
+"oddíl GNU/Linuxu.\n"
+"\n"
+"Instalační program potřebuje vědět, zda má provést instalaci nebo pouze\n"
+"aktualizaci existujícího systému Mandriva Linux.\n"
+"\n"
+" * \"%s\": Nejběžnější volba, provede kompletní výmaz starého systému.\n"
+"V závislosti na rozvržení oddílů vašeho starého systému je však možné\n"
+"zachovat obsah některých oddílů (např. adresáře \"/home\") a uchránit je "
+"před přepsáním. Pokud si přejete změnit rozmístění oddílů, změnit\n"
+"souborový systém, použijte tuto volbu.\n"
+"\n"
+" * \"%s\": tato volba provede aktualizaci balíčků instalovaných na vašem\n"
+"systému Mandriva Linux. Aktuální rozmístění diskových oddílů a uživatelská\n"
+"data zůstanou zachována. Bude ale provedena většina konfiguračních kroků,\n"
+"stejně jako při instalaci.\n"
+"\n"
+"Použití volby \"Aktualizace\" bude fungovat bez problémů na stávající "
+"verzi \n"
+"\"8.1\" a novější. Aktualizace na verzích starších než \"8.1\" není "
+"doporučována."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normálně zvolí instalační program správnou klávesnici na základě zvoleného\n"
+"jazyka, takže v tomto kroku není potřeba nic měnit. Zkontrolujte jeho volbu "
+"a případně\n"
+"ji změňte.\n"
+"\n"
+"Může se stát, že nemáte klávesnici, která odpovídá vašemu jazyku: například\n"
+"pokud jste anglicky hovořící Švýcar, stejně chcete mít švýcarskou "
+"klávesnici.\n"
+"Nebo pokud mluvíte anglicky, ale žijete v Quebecu, je to stejný případ. V "
+"obou\n"
+"případech se můžete vrátit na tento instalační krok a vybrat si "
+"odpovídající\n"
+"klávesnici ze seznamu.\n"
+"\n"
+"Pokud máte klávesnici pro jiný jazyk, klepněte na tlačítko \"%s\"\n"
+"a zobrazí se kompletní seznam všech podporovaných rozložení klávesnic.\n"
+"\n"
+"Pokud vyberete rozložení klávesnice založené na abecedě jiné než latince,\n"
+"budete v dalším dialogu vyzváni k výběru klávesové zkratky, která bude "
+"přepínat\n"
+"rozložení klávesnice mezi latinkou a vámi zvoleným rozložením."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvním krokem je výběr preferovaného jazyka.\n"
+"\n"
+"Výběr preferovaného jazyka ovlivňuje dokumentaci, jazyk instalačního "
+"programu\n"
+"a všech programů obecně. V prvním kroku si vyberete region kde žijete\n"
+"a potom jazyk kterým mluvíte.\n"
+"\n"
+"Tlačítko \"%s\" umožňuje zvolit další jazyky, které budou také\n"
+"nainstalovány a můžete je použít v systému. Výběrem dalších jazyků "
+"nainstalujete\n"
+"soubory s aplikacemi a dokumentací specifické pro tyto jazyky. Pokud "
+"například\n"
+"na počítači pracují občas lidé ze Španělska, vyberte angličtinu jako hlavní\n"
+"jazyka pod tlačítkem rozšířené zatrhněte volbu \"%s\".\n"
+"\n"
+"Podpora UTF-8 (unicode): Unicode je nové kódování znaků, které obsahuje\n"
+"všechny známé jazyky. Plná podpora v GNU/Linuxu je stále ve vývoji.\n"
+"Z toho důvodu bude nebo nebude v systému použita podle volby uživatele:\n"
+"\n"
+" * Pokud vyberete jazyk s jasně daným kódováním (latin1, Ruština, "
+"Japonština\n"
+"Čínština, Korejština, Thajština, Řečtina, Turečtina, většina jazyků "
+"používajících kódování\n"
+"iso-8859-2), bude implicitně použito minulostí staré kódování;\n"
+"\n"
+" * Ostatní jazyky používají implicitně Unicode.\n"
+" * Pokud potřebujete dva nebo více jazyků a tyto jazyky nepoužívají stejné\n"
+"kódování, bude pro celý systém použito kódování Unicode;\n"
+"\n"
+" * Pokud uživatel vybere volbu \"%s\", bude použito kódování Unicode "
+"nezávisle\n"
+"na výběru jazyků pro celý systém.\n"
+"\n"
+"Při výběru jazyka nejste omezeni pouze na jediný další. Můžete si jich "
+"vybrat\n"
+"více nebo dokonce nainstalovat všechny vybráním volby \"%s\".\n"
+"Podpora jazyka zahrnuje instalaci lokalizací programů, písem, kontroly\n"
+"pravopisu, atd. \n"
+"\n"
+"Změnu různých jazyků instalovaných v systému lze provést pomocí příkazu\n"
+"\"localedrake\" spuštěného jako uživatel \"root\". Spuštění pod\n"
+"běžným uživatelem způsobí změnu nastavení pouze pro daného uživatele."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Španělské"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Aplikace DrakX obvykle zjistí počet tlačítek na vaší myši. Pokud ne, "
+"předpokládá,\n"
+"že máte dvoutlačítkovou myš a nastaví emulaci pro třetí tlačítko myši.\n"
+"Emulace třetího tlačítka se provádí současným stiskem levého i pravého\n"
+"tlačítka. Aplikace také umí rozpoznat, zda se jedná o myš PS/2, USB\n"
+"nebo sériovou.\n"
+"\n"
+"Pokud máte třítlačítkovou myš bez kolečka, můžete si vybrat typ myši \"%s"
+"\".\n"
+"Instalační program potom nastaví emulaci tak, že se posun kolečkem simuluje\n"
+"stisknutím prostředního tlačítka a posunováním myší nahoru a dolů.\n"
+"\n"
+"Pokud chcete zadat jiný typ myši, vyberte odpovídající typ se seznamu.\n"
+"\n"
+"Můžete rovněž vybrat položku \"%s\", kterou zvolíte \"obecný\" typ myši,\n"
+"který by měl pracovat správně s téměř každou myší.\n"
+"\n"
+"Pokud vyberete jinou myš než ta, která byla detekována, zobrazí se "
+"testovací\n"
+"obrazovka. Zde otestujte jak tlačítka tak i kolečko a ověřte, zda je "
+"nastavení\n"
+"správné. Pokud myš nepracuje správně, stiskněte mezerník nebo klávesu Enter\n"
+"a vyberte jiný typ myši.\n"
+"\n"
+"Myši s kolečkem nejsou v některých případech automaticky rozpoznány. Budete\n"
+"je muset vybrat ze seznamu. Ujistěte se, že vyberete myš s odpovídajícím "
+"typem\n"
+"portu, ke kterému je připojená. Poté, co stisknete tlačítko \"%s\", \n"
+"zobrazí se obrázek s myší. Posunujte kolečkem, aby se správně aktivovalo; "
+"kolečko\n"
+"na obrazovce by se mělo pohybovat. Poté ověřte tlačítka a zda-li se myš "
+"pohybuje\n"
+"na obrazovce správně."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "s emulací kolečka"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzální | Libovolná PS/2 & USB myš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vyberte prosím správný port. Například \"COM1\" pod MS Windows má\n"
+"v Linuxu název \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Následující rozhodnutí je jedním z těch, které ovlivňují celkovou "
+"bezpečnost\n"
+"systému GNU/Linux, tj. volba hesla pro uživatele \"Root\". Root je správcem\n"
+"systému, je jediný odpovědný za provádění aktualizací, přidávání uživatelů a "
+"také\n"
+"za celkové nastavení systému. Zkráceně: \"root\" může úplně všechno!\n"
+"To je také důvodem, proč se heslo volí takové, aby se nedalo lehce uhodnout\n"
+"a instalační program DrakX zkontroluje, zda není příliš jednoduché. Jak "
+"vidíte,\n"
+"je možné heslo nezadat, ale toto velmi důrazně nedoporučujeme, a to z "
+"jednoho\n"
+"důvodu. Nemyslete si, že pokud spustíte systém GNU/Linux, že je vše bezpečné "
+"a že se nemůže nic stát.. Vzhledem k tomu, že na uživatele \"root\" se "
+"nevztahují\n"
+"běžná omezení, může nenávratně poškodit celý systém, smazat data z jiných\n"
+"oddílů na disku a operačních systémů, vymazat potřebné soubory nebo celé\n"
+"oddíly, atd. Proto je důležité, aby nebylo jednoduché se tímto uživatelem "
+"stát.\n"
+"\n"
+"Zvolené heslo by se mělo skládat ze znaků a číslic a mělo by být dlouhé\n"
+"minimálně 8 znaků. Také není dobré si ho kamkoliv poznamenávat - po\n"
+"nalezení vaší poznámky může být velmi jednoduché se do vašeho systému\n"
+"dostat.\n"
+"\n"
+"Nevolte však heslo příliš dlouhé nebo komplikované, bude nutné si jej bez\n"
+"větších potíží zapamatovat.\n"
+"\n"
+"Při zadávání nebude heslo na obrazovce zobrazeno. Proto se heslo zadává\n"
+"dvakrát pro ověření, zda nedošlo k překlepu při prvním pokusu. Tak je možné\n"
+"heslo opravit a zadat dvakrát stejné. Pokud se vám přesto podaří zadat "
+"stejný\n"
+"překlep dvakrát, budete muset toto heslo s překlepem použít při prvním\n"
+"přihlášení.\n"
+"\n"
+"Jestliže chcete použít ověřovací server, klepněte na tlačítko \"%s\".\n"
+"\n"
+"Pokud se ve vaší síti používá pro ověřování uživatelů protokol LDAP, NIS\n"
+"nebo ověřovací doména Windows PDC, vyberte odpovídající protokol pro \"%s"
+"\".\n"
+"Pokud o tom nic nevíte, zeptejte se správce vaší sítě.\n"
+"\n"
+"Pokud máte problémy se zapamatováním si hesel nebo pokud není počítač\n"
+"připojen do žádné spravované sítě a věříte všem, kteří mají k počítači "
+"přístup,\n"
+"můžete vybrat volbu \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "ověření"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Zavaděč je malý program, který se spustí ihned po startu počítače a je\n"
+"zodpovědný za zavedení operačního systému. Tato část je obvykle plně\n"
+"automatická. Instalační program analyzuje zaváděcí sektor disku a zachová\n"
+"se podle toho, co zde nalezne:\n"
+"\n"
+" * pokud nalezne zaváděcí sektor Windows, přepíše ho sektorem pro LILO/GRUB\n"
+"tak, aby bylo možné spouštět jak systém Windows tak i Linux či jiný OS "
+"instalovaný\n"
+"na vašem počítači;\n"
+"\n"
+" * pokud nalezne zaváděcí sektor pro LILO nebo GRUB, tak jej přepíše novým.\n"
+"\n"
+"Pokud instalační program nedokáže rozhodnout, zeptá se na to, kam má "
+"zavaděč\n"
+"umístit. Obecně je nejbezpečnější místo \"%s\". Zvolením \"%s\" se "
+"neprovede\n"
+"instalace žádného zavaděče. Použijte to pouze tehdy, pokud víte, co děláte."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Zde si můžete vybrat tiskový systém, který budete používat. Jiné OS "
+"nabízejí\n"
+"jeden, Mandriva Linux nabízí dva. Každý z nich je vhodnější pro různé typy\n"
+"konfigurací.\n"
+"\n"
+" * \"%s\" - což znamená 'print, do not queue' a je vhodný tehdy, pokud máte\n"
+"přímo připojenou lokální tiskárnu, chcete rychle řešit zaseklý papír a "
+"nemáte\n"
+"žádné síťové tiskárny. \"%s\" zvládá pouze několik možností a tisk na něj ze "
+"sítě\n"
+"je velmi pomalý. Pokud s GNU/Linuxem teprve začínáte, pak je \"pdq\"\n"
+"doporučený tiskový systém pro vás.\n"
+"\n"
+" * \"%s\"'Common Unix Printing System' je vynikající v tisku na lokální\n"
+"tiskárny stejně jako při tisku na tiskárnu na druhé straně planety. "
+"Nastavení\n"
+"je jednoduché a může fungovat jako klient i server pro klienty z \"lpd\"\n"
+"systému, takže je kompatibilní se staršími systémy. Je možné nastavit\n"
+"spoustu voleb, ale základní nastavení je velmi jednoduché, téměř jako u \"pdq"
+"\".\n"
+"Pokud potřebujete emulovat \"lpd\" server, stačí spustit démona \"cups-lpd"
+"\".\n"
+"\"%s\" má také grafické prostředí pro tisk a nastavení tiskárny.\n"
+"\n"
+"Pokud nyní provedete volbu a později budete chtít tiskový systém změnit,\n"
+"můžete to provést pomocí nástroje PrinterDrake z ovládacího centra Mandriva "
+"tak,\n"
+"že klepnete na tlačítko \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Aplikace DrakX se nejdříve pokusí najít všechny pevné disky v počítači.\n"
+"Také se pokusí nalézt jeden nebo více PCI SCSI adaptérů. Pokud nějaký "
+"najde,\n"
+"automaticky nainstaluje správný ovladač.\n"
+"\n"
+"Protože automatická detekce hardware nemusí vždy nalézt všechny typy "
+"hardware,\n"
+"budete v dialogu dotázáni, zda vůbec máte nějaký SCSI adaptér. \n"
+"\n"
+"Pokud si budete muset vybrat ovladač ručně, aplikace DrakX se zeptá,\n"
+"zda pro něj chcete zadat nějaké volby Měli byste povolit aplikaci DrakX,\n"
+"ať se pokusí zjistit, které volby jsou pro danou kartu potřeba. Většinou to\n"
+"funguje dobře.\n"
+"\n"
+"Pokud to nebude fungovat, budete muset zadat další informace pro ovladač "
+"ručně."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": pokud je detekována v počítači zvuková karta, je zde\n"
+"zobrazena. Pokud ale vidíte, že zobrazená karta není přesně tak, kterou\n"
+"máte v počítači, můžete klepnutím na tlačítko vybrat jinou kartu a ovladač."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Zde jsou shromážděny různé informace, které se vztahují k tomuto počítači.\n"
+"V závislosti na tom, zda je či není přítomen daný hardware, můžete nebo\n"
+"nemusíte některé z těchto položek vidět. Každý záznam má krátký souhrn\n"
+"s aktuální konfigurací. Klepnutím na odpovídající tlačítko \"%s\" jej "
+"můžete\n"
+"změnit.\n"
+"\n"
+" * \"%s\": zkontrolujte nastavení rozložení kláves, pokud je to nutné, \n"
+"klepnutím na tlačítko lze změnit rozložení kláves, .\n"
+"\n"
+" * \"%s\": zkontrolujte výběr země. Pokud výběr nesouhlasí, klepnutím na\n"
+"tlačítko \"%s\" můžete vybrat jinou zemi. Pokud vaše země není na prvním\n"
+"seznamu, můžete si klepnutím na tlačítko \"%s\" zobrazit kompletní seznam.\n"
+"\n"
+" * \"%s\": instalační program se pokusí odhadnout časové pásmo na\n"
+"základě vámi vybraného jazyka. Pokud není odhadnuto správně, můžete jej\n"
+"pomocí tlačítka \"%s\" změnit.\n"
+"\n"
+" * \"%s\": zkontrolujte vaši myš. Pokud je to nutné, lze ji také změnit.\n"
+"\n"
+" * \"%s\": Klepnutím na tlačítko \"%s\" se spustí průvodce\n"
+"nastavením tiskárny. V odpovídající kapitole v \"Uživatelské příručce\" se\n"
+"dozvíte více o tom, jak tiskárnu nastavit. Rozhraní, které je v ní popsané, "
+"je\n"
+"podobné rozhraní použitému při této instalaci.\n"
+"\n"
+" * \"%s\": pokud byla při instalaci detekována zvuková karta, je\n"
+"zde zobrazena. Pokud uvedený ovladač není správný, lze provést výběr "
+"správného.\n"
+"\n"
+" * \"%s\": pokud byla detekována televizní karta, je zde zobrazena.\n"
+"Pokud karta nebyla automaticky detekována, klepnutím na tlačítko \"%s\"\n"
+"můžete provést ruční nastavení.\n"
+"\n"
+" * \"%s\": pokud byla detekována ISDN karta, je zde zobrazena.\n"
+"Klepnutím na tlačítko \"%s\" můžete měnit parametry pro tuto kartu.\n"
+"\n"
+" * \"%s\": instalační program jako výchozí rozlišení zvolí\n"
+"rozlišení \"800×600\" nebo \"1024×768\". Pokud vám to nevyhovuje, je možné\n"
+"to pomocí tlačítka \"%s\" změnit.\n"
+"\n"
+" * \"%s\": pokud chcete nyní nastavit připojení k Internetu nebo k lokální\n"
+"síti, klepnutím na tlačítko se spustí průvodce. Plnou dokumentaci naleznete\n"
+"v tištěné příručce, případně můžete po instalaci využít ovládací centrum\n"
+"Mandriva Linux, kde rovněž naleznete kompletní nápovědu.\n"
+"\n"
+" * \"%s\": umožňuje nastavit adresu HTTP a FTP proxy, což je užitečné,\n"
+"pokud se počítač nachází za firewallem.\n"
+"\n"
+" * \"%s\": tato položka dovoluje předefinovat úroveň zabezpečení, která "
+"byla\n"
+"nastavena v předchozím kroku\n"
+"\n"
+" * \"%s\": pokud budete počítač připojovat do Internetu, je doporučeno "
+"spustit\n"
+"ochranu před napadením aktivací firewallu. Více o nastavení firewallu se\n"
+"dočtete v odpovídající kapitole příručky \"Začínáme\".\n"
+"\n"
+" * \"%s\": pokud chcete změnit nastavení zavaděče, můžete to provést\n"
+"klepnutím na toto tlačítko. Změny by měly provádět pouze zkušení uživatelé.\n"
+"Více informací lze nalézt v tištěné dokumentaci nebo online nápověde\n"
+"v ovládacím centru Mandriva Linux.\n"
+"\n"
+" * \"%s\": zde si můžete konkrétně určit, které služby budou na vašem "
+"počítači\n"
+"spuštěny. Pokud bude tento počítač používán jako server, je vhodné provést\n"
+"kontrolu toho, co je nastaveno."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafické rozhraní"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vyberte disk, který chcete smazat pro instalaci oddílu Mandriva Linux.\n"
+"Pamatujte na to, že všechna data budou ztracena a nelze je již obnovit!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klepněte na \"%s\", pokud chcete smazat všechna data a oddíly na tomto\n"
+"pevném disku. Buďte opatrní, po odklepnutí tlačítka \"%s\" nelze obnovit "
+"žádná dřívější data ani oddíly a to i pro Windows.\n"
+"\n"
+"Klepnutím na \"%s\" zrušíte tuto operaci bez ztráty dat a oddílů na disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Další ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Předchozí"
+
diff --git a/perl-install/install/help/po/cy.po b/perl-install/install/help/po/cy.po
new file mode 100644
index 000000000..b9bdc1582
--- /dev/null
+++ b/perl-install/install/help/po/cy.po
@@ -0,0 +1,1909 @@
+# translation of DrakX-cy.po to Cymraeg
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Rhoslyn Prys <rhoslyn.prys@ntlworld.com>, 2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Mandriva DrakX.cy\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-08 19:38-0000\n"
+"Last-Translator: Rhoslyn Prys <post@meddal.com>\n"
+"Language-Team: Cymraeg <post@meddal.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Welsh\n"
+"X-Poedit-Country: UNITED KINGDOM\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"Plural-Forms: nplurals=2; plural=(n == 2) ? 1 : 0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Cyn parhau dylech ddarllen amodau'r drwydded yn ofalus. Mae'n ymwneud\n"
+"â holl ddosbarthiad Mandriva Linux. Os ydych yn cytuno â'r holl amodau,\n"
+"cliciwch flwch \"%s\". Os nad, bydd clicio ar y botwm \"%s\" yn\n"
+"ail gychwyn eich cyfrifiadur."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"Mae GNU/Linux yn system aml-ddefnyddiwr, ac mae hyn yn golygu bod pob\n"
+"defnyddiwr yn gallu cael ei ddewisiadau ei hun, ei ffeiliau ei hun ac yn y "
+"blaen.\n"
+"Gallwch ddarllen yr \"Starter Guide\" i ddysgu mwy. Ond yn annhebyg i "
+"\"gwraidd\",\n"
+"sef y gweinyddwr, ni fydd modd i'r defnyddiwr fyddwch yn eu creu yma'n "
+"gallu\n"
+"newid dim ond eu ffeiliau a'u ffurfweddiad ei hun gan amddiffyn y system "
+"rhag\n"
+"newidiadau anfwriadol neu faleisus fydd yn effeithio'r system gyfan. Bydd "
+"rhaid\n"
+"i chi greu un defnyddiwr cyffredin ar gyfer chi eich hun. Dyma'r cyfrif "
+"ddylech\n"
+"fewngofnodi iddo ar gyfer defnydd bob dydd. Er ei fod yn ymarferol iawn i "
+"fewngofnodi fel\n"
+"\"root\" gall fod yn beryglus iawn!. Gall y camgymeriad lleiaf olygu nad yw "
+"eich\n"
+"system yn gweithio ragor. Os wnewch chi gamgymeriad mawr fel defnyddiwr\n"
+"cyffredin, byddwch ond yn colli rhywfaint o wybodaeth, ac nid y system "
+"gyfan.\n"
+"\n"
+"Yn gyntaf rhowch eich enw go iawn. Does dim rhaid, wrth gwrs - mae modd\n"
+"i chi rhoi beth bynnag hoffech chi. Bydd DraX yn cymryd yr enw cyntaf a'i "
+"roi yn\n"
+"yr \"%s\" Dyma'r enw bydd y defnyddiwr hwn yn ei ddefnyddio i\n"
+"fewngofnodi i'r system. Mae modd ei newid. Yna rhowch gyfrinair. Nid yw\n"
+"cyfrinair defnyddiwr cyffredin mor bwysig ag un \"gwraidd\" o safbwynt "
+"diogelwch\n"
+"ond nid yw hynny'n rheswm i'w esgeuluso - wedi'r cyfan mae eich ffeiliau "
+"mewn\n"
+"perygl\n"
+"\n"
+"Os wnewch chi glicio \"%s\", bydd modd ychwanegu faint\n"
+"fynnoch. Ychwanegwch ddefnyddiwr ar gyfer pob un o'ch ffrindiau: eich tad\n"
+"neu eich chwaer, e.e. Ar ôl ychwanegu'r holl ddefnyddwyr, cliciwch \"%s\".\n"
+"\n"
+"Bydd clicio'r botwm \"%s\" yn caniatáu i chi newid y \"cragen\" "
+"rhagosodedig\n"
+"ar gyfer y defnyddiwr hwnnw (bash yw'r rhagosodedig).\n"
+"\n"
+"Pan fyddwch wedi cwblhau ychwanegu defnyddwyr, bydd gofyn i chi ddewis\n"
+"defnyddiwr sy'n gallu mewngofnodi'n awtomatig mewngofnodi i'r system pan\n"
+"fydd y cyfrifiadur yn cychwyn.Os oes gennych ddiddordeb yn y nodwedd hon\n"
+"a dim gwahaniaeth am ddiogelwch, dewiswch y defnyddiwr a rheolwr ffenestr\n"
+"a chlicio \"%s\". Os nad dad-diciwch blwch \"%s\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ydych chi eisiau defnyddio'r nodwedd?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Dyma'r rhaniadau Linux sydd wedi canfod ar eich disg caled.\n"
+"Gallwch gadw'r dewisiadau sydd wedi eu gwneud gan y dewin, maen nhw'n iawn\n"
+"ar gyfer y rhan fwyaf o osodiadau. Os ydych am wneud newidiadau, rhaid i chi "
+"o leiaf\n"
+"ddiffinio rhaniad gwraidd (\"/\"). Peidiwch ddewis rhaniad sy'n rhy fach neu "
+"fidicon"
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mae gosodiad Mandriva Linux i'w gael ar nifer o CD-ROMau. Mae DrakX\n"
+"yn gwybod os yw pecyn penodol wedi ei leoli ar CD-ROM arall a bydd yn bwrw\n"
+"allan y CD cyfredol a gofyn am y llall. Os nad yw'r CD angenrheidiol "
+"gennych\n"
+"wrth law, cliciwch \"%s\", ac ni fydd y pecynnau hynny'n cael eu gosod."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Mae'n amser penderfynu pa raglenni rydych am eu gosod ar eich\n"
+"system. Mae yna filoedd o becynnau ar gael ar gyfer Mandriva Linux, ond\n"
+"i'w gwneud hi'n haws eu rheoli maent wedi cael eu gosod mewn grwpiau\n"
+"o raglenni tebyg.\n"
+"\n"
+"Mae Mandriva Linux wedi trefnu'r grwpiau pecynnau i bedwar categori. Mae\n"
+"modd dewis a dethol rhaglenni o'r categorïau gwahanol, fel bo \"Man Gwaith"
+"\"\n"
+"yn medru cael rhaglenni o'r categori \"Gweinydd\".\n"
+"\n"
+" * \"%s\": os ydych yn bwriadu defnyddio eich peiriant fel man\n"
+"gwaith yna dewiswch un o'r grwpiau cyfatebol.\n"
+"\n"
+" * \"%s\": os yw'r peiriant yn cael ei ddefnyddio i raglennu, dewiswch\n"
+" y grwpiau perthnasol. Bydd y grŵp arbennig \"LSB\" yn ffurfweddu\n"
+"eich system fel ei fos yn cyd-fynd gymaint ag y bo modd gyda manyleb\n"
+"Linux Standard Base.\n"
+"\n"
+" Bydd dewis grŵp \"LSB\" hefyd yn gosod cnewyllyn cyfres \"2.4\",\n"
+"yn lle'r \"2.6\" rhagosodedig. Mae hyn i sicrhau cydymffurfiad llawn\n"
+"y system gyda LSB. Er hynny, os nad ydych yn dewis grŵp \"LSB\"\n"
+"bydd eich system yn cydymffurfio bron yn 100%% gyda LSB.\n"
+"\n"
+" * \"%s\": os yw'n fwriad defnyddio eich peiriant fel gweinydd dewiswch\n"
+" y gwasanaethau cyffredin rydych am eu gosod ar eich peiriant.\n"
+"\n"
+" * \"%s\": dyma'r lle i ddewis eich amgylchedd graffigol.\n"
+"Rhaid dewis o leiaf un er mwyn cael man gwaith graffigol!\n"
+"\n"
+"Bydd symud cyrchwr y llygoden dros enw grŵp yn amlygu esboniad byr am y\n"
+"grŵp hwnnw.\n"
+"\n"
+"Ticiwch flwch \"%s\", sy'n ddefnyddiol os ydych yn gyfarwydd â'r\n"
+"pecynnau sydd ar gael neu os ydych am gael rheolaeth lwyr dros\n"
+"beth fydd yn cael ei osod.\n"
+"\n"
+"Os fyddwch yn cychwyn y gosod ym modd \"%s\" gallwch ddad-ddewis\n"
+"pob grŵp ac atal gosod unrhyw becynnau newydd. Mae hyn yn ddefnyddiol\n"
+"ar gyfer trwsio neu ddiweddaru system bresennol.\n"
+"\n"
+"Os ydych wedi dad-ddewis pob grŵp wrth wneud gosodiad\n"
+"arferol ac nid uwchraddiad), bydd dialog yn ymddangos a chynnig\n"
+"dewisiadau amrywiol ar gyfer y gosodiad lleiaf\n"
+"\n"
+" * \"%s\" Gosod y nifer lleiaf o becynnau i gael bwrdd gwaith graffigol\n"
+"i weithio.\n"
+"\n"
+" * \"%s\" Gosod y system sylfaenol yn ogystal â gwasanaethau elfennol\n"
+"a'u dogfennau. Mae'r gosodiad hwn yn addas ar gyfer gosod gweinydd.\n"
+"\n"
+" * \"%s\" Gosod y lleiafswm posibl o becynnau i greu system Linux \n"
+"llinell orchymyn weithredol. Cyfanswm maint y gosodiad fydd tua 65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uwchraddio"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Gyda dogfennaeth elfennol"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Gosodiad lleiaf posibl"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Os ydych wedi dewis gosod pecynnau'n unigol unigol, bydd y gosodwr\n"
+"yn cyflwyno coeden sy'n cynnwys yr holl becynnau wedi eu dosbarthu yn ôl\n"
+"grwp ac isgrwp. Wrth bori'r goeden, gallwch ddewis grwp cyfan, isgrwp \n"
+"neu becyn unigol.\n"
+"\n"
+"Pryd bynnag fyddwch wedi dewis pecyn ar y goeden, bydd disgrifiad yn\n"
+"ymddangos ar y dde. \n"
+"\n"
+"!! Os oes pecyn gweinydd wedi ei ddewis, yn fwriadol neu am ei fod yn rhan\n"
+"o grwp cyfan, bydd angen i chi gadarnhau eich bod eisiau i'r gweinyddion\n"
+"gael eu gosod. Ym Mandriva Linux mae unrhyw weinydd sydd wedi ei\n"
+"osod yn cael ei gychwyn fel rhagosodiad wrth gychwyn. Hyd yn oed os ydynt\n"
+"yn ddiogel a doedd dim materion pryder pan gafodd y dosbarthiad ei ryddhau,\n"
+"mae'n bosibl i fylchau diogelwch gael eu darganfod wedi i'r fersiwn hwn o\n"
+"Mandriva Linux gael ei gwblhau. Os nad ydych yn gwybod beth mae\n"
+"gwasanaeth arbennig i fod i'w wneud na pham mae wedi ei osod, yna\n"
+"cliciwch\"%s\". Bydd clicio \"%s\" yn gosod y gwasanaethau hynny a\n"
+"byddant yncael eu cychwyn yn awtomatig drwy ragosodiad!!\n"
+"\n"
+"Mae'r dewis \"%s\"yn analluogi'r deialog rhybudd sy'nymddangos bob\n"
+" tro fydd y gosodwr yn dewis pecyn yn awtomatig. Mae hyn yn digwydd\n"
+"am ei fod wedi penderfynu ei fod angen bodlon dibyniad gyda phecyn arall\n"
+"er mwyn cwblhau'r gosodiad yn llwyddiannus\n"
+"\n"
+"Mae'r eicon disg medal bychan ar waelod y rhestr yn caniatáu llwytho'r\n"
+"rhestr pecynnau dewiswyd yn ystod gosodiad blaenorol. Bydd clicio\n"
+"ar yr eicon hwn yn gofyn i chi osod yn y peiriant disg meddal grëwyd ar\n"
+"ddiwedd gosodiad arall. Gwelwch yr ail neges o'r cam diwethaf ar sut i\n"
+"greu disg meddal o'r fath."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dibyniaethau awtomatig"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": mae clicio ar y botwm\"%s\" yn agor dewin ffurfweddu argraffydd.\n"
+"Darllenwch y pennawd penodol yn y 'Starter Guide' am ragor o \n"
+"wybodaeth ar sut i osod argraffydd newydd. Mae'r rhyngwyneb yn y llawlyfr\n"
+"yn debyg i'r un welwyd wrth osod y system."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dewiswch pa wasanaethau rydych am eu cael wrth gychwyn eich cyfrifiadur.\n"
+"\n"
+"Bydd DrakX yn rhestri'r holl wasanaethau sydd ar gael gyda'r gosodiad "
+"cyfredol.\n"
+"Darllenwch y rhestr yn ofalus a dad-diciwch y rhai nad oes eu hangen bob "
+"tro\n"
+"wrth gychwyn.\n"
+"\n"
+"Mae modd cael esboniad byr am wasanaeth wrth eu dewis. Ond, os nad ydych\n"
+"yn siwr a yw'r gwasanaeth o werth neu beidio, mae'n well cadw at y drefn\n"
+"rhagosodedig\n"
+"\n"
+"!!Byddwch yn ofalus iawn os ydych am ddefnyddio eich peiriant fel gweinydd:\n"
+"mwy na thebyg na fyddwch eisiau cychwyn unrhyw wasanaethau nad oes eu\n"
+"hangen. Cofiwch fod cael nifer o wasanaethau wedi eu galluogi ar y "
+"gweinydd,\n"
+"fod yn beryglus. Yn gyffredinol, dim ond dewis y gwasanaethau mae'n rhaid eu "
+"cael !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Mae GNU/Linux yn rheoli amser drwy GMT (Greenwich Mean Time)\n"
+"a'i drosi i amser lleol yn ôl y parth amser rydych wedi ei ddewis.\n"
+"Mae'n bosib dad-ddewis hyn drwy ddad-ddewis \"%s\" fel bod y cloc\n"
+"caledwedd yr un a chloc y system yr un peth. Mae hyn yn ddefnyddiol\n"
+"pan fo'r peiriant yn westai i system arall.\n"
+"\n"
+"Bydd y dewis \"%s\" yn rheoli'r cloc yn awtomatig drwy gysylltu \n"
+"â gweinydd amser ar y Rhyngrwyd. Yn y rhestr sy'n cael ei gynnig \n"
+"dewiswch yr agosaf atoch. Rhaid i'ch cyswllt â'r we fod yn gweithio\n"
+"i hyn ddigwydd. Bydd yn gosod ar eich peiriant wasanaethwr amser fydd\n"
+"o ddewis yn medru cael ei ddefnyddio gan beiriannau eraill ar eich "
+"rhwydwaith."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Cydweddi amser awtomatig"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Cerdyn Graffeg\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y cerdyn graffig sydd ar eich cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich cerdyn o'r rhestr.\n"
+"\n"
+" Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (sef X Window System) yw calon rhyngwyneb graffigol GNU/Linux a'r\n"
+"hyn mae'r holl amgylcheddau graffigol (KDE, Gnome, AterStep,\n"
+"WindowMaker, etc) sy'n dod gyda Mandriva Linux yn dibynnu arno.\n"
+"\n"
+"Byddwch yn derbyn rhestr o baramedrau gwahanol i'w newid i gael\n"
+"y dangosiad graffigol gorau:\n"
+"\n"
+" Cerdyn Graffeg\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y cerdyn graffeg sydd ar eich cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich cerdyn.\n"
+"\n"
+" Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer.\n"
+"\n"
+"\n"
+"Dangosydd\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y dangosydd sy'n gysylltiedig â'ch cyfrifiadur. Os nad yw hyn yn gywir,\n"
+"mae'n dangos eich dangosydd.\n"
+"\n"
+"\n"
+"\n"
+"Cydraniad\n"
+"\n"
+" Cewch ddewis yma gydraniad a dyfnder lliw rhwng y rhai sydd ar gael\n"
+"ar gyfer eich caledwedd. Dewiswch yr un sydd orau ar eich cyfer (bydd\n"
+"modd newid hynny wedi'r gosod) Mae enghraifft o ffurfweddiad i'w weld\n"
+"ar y dangosydd.\n"
+"\n"
+"\n"
+"\n"
+"Prawf\n"
+"\n"
+" Bydd y system yn ceisio agor sgrin graffigol yn unol â'r cydraniad "
+"dewisol.\n"
+"Os ydych yn gweld y neges yn ystod y prawf ac ateb \"%s\", yna bydd\n"
+"DrakX yn symud ymlaen i'r cam nesaf. Os nad ydych yn gweld y neges nesaf\n"
+"mae'n golygu fod rhan o'r drefn awtoganfod yn anghywir a bydd y prawf\n"
+"yn dod i ben ar ôl 12 eiliad, gan ddod a chi nôl i'r ddewislen. Newidiwch y\n"
+"gosodiadau nes i chi gael y sgrin i edrych yn iawn.\n"
+"\n"
+"\n"
+"\n"
+"Dewisiadau\n"
+"\n"
+" Yma cewch ddewis p'un ai i drefnu i'ch cyfrifiadur newid yn awtomatig i\n"
+"rhyngwyneb graffigol wrth gychwyn. Yn amlwg byddwch angen ticio \"%s\"\n"
+"os yw eich peiriant i weithredu fel gweinydd, neu os na fuoch yn\n"
+"llwyddiannus yn ffurfweddu'r dangosydd."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Dangosydd\n"
+"\n"
+" Mae'r gosodwr fel rheol yn canfod ac yn ffurfweddu'n awtomatig\n"
+"y dangosydd sy'n gysylltiedig â'ch cyfrifiadur. Os nad yw hyn yn wir,\n"
+"dewiswch eich dangosydd o'r rhestr."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Cydraniad\n"
+"\n"
+" Cewch ddewis yma gydraniad a dyfnder lliw rhwng y rhai sydd ar gael\n"
+"ar gyfer eich caledwedd. Dewiswch yr un sydd orau ar eich cyfer (bydd\n"
+"modd newid hynny wedi'r gosod) Mae enghraifft o ffurfweddiad i'w weld\n"
+"ar y dangosydd."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Mewn achos lle mae gweinyddion eraill i'w cael i'ch cerdyn, gyda\n"
+"neu heb gyflymydd 3D, mae cynnig i chi ddewis y gweinydd gorau\n"
+"ar eich cyfer."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Dewisiadau\n"
+"\n"
+" Yma gallwch ddewis os ydych am i'ch cyfrifiadur droi i ryngwyneb graffig\n"
+"wrth gychwyn y cyfrifiadur. Yn amlwg, byddwch am ateb \"%s\" os yw\n"
+"eich peiriant i weithredu fel gweinydd, neu os nad oeddech yn\n"
+"llwyddiannus yn cael eich dangosydd i ffurfweddu'n gywir."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Mae angen i chi nawr ddewis lle ar eich disg caled i osod eich system\n"
+"weithredu Mandriva Linux. Os yw eich disg caled yn wag neu os oes\n"
+"yna system weithredol eisoes yn cymryd yr holl le sydd ar gael, bydd\n"
+"angen i chi greu rhaniadau arno. Yn y bôn, mae rhannu disg caled yn\n"
+"golygu ei rhannu'n rhesymegol i greu lle i osod eich system Mandriva\n"
+"Linux newydd.\n"
+"\n"
+"Gan fo effaith y broses rannu'n ddidroi nôl, gan arwain at golli data os\n"
+"oes system weithredol eisoes ar y gyrrwr, gall creu rhaniadau fod yn\n"
+"broses anodd a straenus os ydych yn ddefnyddiwr dibrofiad. Yn ffodus,\n"
+"mae gan DrakX ddewin sy'n symleiddio'r broses. Cyn cychwyn, \n"
+"darllenwch y llawlyfr a chymerwch bwyll.\n"
+"\n"
+"Yn ddibynnol ar ffurfweddiad eich disg caled, mae dewisiadau ar gael:\n"
+"\n"
+" * \"%s\": mae'r dewis hwn yn arwain at greu rhaniadau awtomatig\n"
+"o'ch disg(iau) caled gwag. Bydd dim cwestiynau eraill os byddwch\n"
+"yn defnyddio'r dewis hwn.\n"
+"\n"
+" * \"%s\": mae'r dewin wedi canfod un neu fwy o raniadau Linux\n"
+"cyfredol ar eich disg caled. Os ydych am eu defnyddio, dewiswch y\n"
+"dewis hwn. Bydd gofyn i chi ddewis pwyntiau gosod yn gysylltiedig\n"
+"â phob rhaniad. Mae'r pwyntiau gosod gosodedig wedi eu dewis,\n"
+"ac ar y cyfan mae'n syniad da cadw atynt.\n"
+"\n"
+" * \"%s\": os yw Microsoft Windows ar eich disg caled ac yn cymryd\n"
+"y lle i gyd, bydd rhaid i chi greu lle ar gyfer data Linux. I wneud hynny\n"
+"gallwch ddileu eich rhaniad a data Microsoft Windows (Gw. atebion\n"
+"\"Dileu'r ddisg gyfan \") neu ail-lunio maint rhaniad FAT Microsoft "
+"Windows.\n"
+"Mae modd ail lunio maint y rhaniad heb golli data cyn belled eich bod wedi\n"
+"dad-ddarnio rhaniad Windows ac mae'n defnyddio fformat Windows.\n"
+"Argymhellir cadw data wrth gefn hefyd. Argymhellir gwneud hyn os ydych\n"
+"am ddefnyddio Mandriva Linux a Microsoft Windows ar yr un cyfrifiadur.\n"
+"\n"
+" Cyn gwneud y dewis hwn, cofiwch y bydd maint eich rhaniad Microsoft\n"
+"Windows yn llai nag yw ar hyn o bryd ar ol dilyn y drefn yma. Bydd gennych\n"
+"llai o le yn Microsoft Windows i gadw data neu i osod meddalwedd newydd\n"
+"\n"
+" * \"%s\" os ydych am ddileu'r holl ddata a rhaniadau presennol ar\n"
+"eich disg caled a'u cyfnewid am system Mandriva Linux, yna dewiswch\n"
+"hwn. Byddwch yn ofalus wrth wneud hyn gan na fydd modd troi nôl\n"
+"ar ôl cadarnhau.\n"
+"\n"
+" !! Os ydych yn dewis hwn, byddwch yn colli'r holl ddata ar eich disg. !!\n"
+"\n"
+" * \"%s\": Bydd y dewis yma'n ymddangos pam mae'r ddisg gyfan wedi\n"
+"ei chymryd gan Microsoft Windows. Bydd hwn yn dileu popeth o'r disg\n"
+"caled a chychwyn popeth o'r newydd, gan greu rhaniadau newydd.\n"
+"\n"
+" !! Os ydych yn dewis hwn, byddwch yn colli'r holl ddata ar eich disg. !!\n"
+"\n"
+" * \"%s\": dewiswch hwn os ydych am rannu'r disg caled gyda llaw.\n"
+"Byddwch ofalus - mae'n ddewis pwerus a pheryglus. Mae modd i chi \n"
+"golli'ch holl ddata. Peidiwch dewis hwn oni bai eich bod yn gwybod beth\n"
+"ydych yn ei wneud.. Am ragor o wybodaeth ar sut i ddefnyddio DiskDrake,\n"
+"darllenwch adran \"Managing your Partitions\" yn y \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Defnyddiwch y rhaniadau presennol"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Dileu'r ddisg gyfan"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Dyna ni, mae'r gosodiad wedi ei gwblhau ac mae eich system GNU/Linux\n"
+"yn barod i'w ddefnyddio. Cliciwch \"%s\" i ailgychwyn y cyfrifiadur. "
+"Peidiwch\n"
+"anghofio tynnu'r cyfrwng gosod (CD-ROM neu feddal). Y peth cyntaf i chi\n"
+"weld ar ôl i'ch cyfrifiadur gwblhau ei brofion caledwedd yw'r ddewislen\n"
+"llwytho, sy'n rhoi dewis o ba system i'w chychwyn.\n"
+"\n"
+"Mae'r botwm \"%s\" yn dangos dau fotwm arall:\n"
+"\n"
+" *\"%s\": i greu disg meddal gosod fydd yn creu yn awtomatig osodiad\n"
+"cyflawn heb gymorth gweithredwr, yn debyg i'r gosodiad sydd\n"
+"newydd ei ffurfweddu.\n"
+"\n"
+"Sylwer bod dau ddewis gwahanol i'w gael wedi clicio'r botwm:\n"
+"\n"
+" *\"%s\". Gosodiad rhannol awtomatig gan fod mai'r cam o greu\n"
+"rhaniad yw'r unig ran ryngweithiol o'r broses.\n"
+"\n"
+" *\"%s\".Gosodiad cwbl awtomatig: mae'r disg caled wedi ei\n"
+"ailysgrifennu'n llwyr, a'r holl ddata wedi ei golli.\n"
+"\n"
+"Mae hwn yn nodwedd ddefnyddiol iawn wrth osod ar nifer fawr o\n"
+"beiriannau tebyg. Gw. yr adran Auto install ar ein safle gwe.\n"
+"\n"
+"*\"%s\":(*): mae hwn yn cadw'r dewis o becynnau wnaed cynt.\n"
+"Wrth wneud gosodiad arall, rhowch ddisg meddal yn y gyrrwr a rhedeg\n"
+"y gosodiad gan fynd i'r sgrin cymorth drwy wasgu'r fysell [F1], \n"
+"a theipio >>linux defcfg=\"floppy\"<< a phwyso bysell [Enter].\n"
+"\n"
+"(*) Bydd angen disg meddal wedi ei fformatio fel FAT (i greu un yn\n"
+"GNU/Linux, teipiwch \"mformat a:\" neu \"fdformat /dev/fd0\" wedi\n"
+"ei ddilyn gan \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Creu disg meddal awto gosod"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Efallai y byddwch eisiau ailfformatio rhai rhaniadau presennol i ddileu "
+"data\n"
+"sydd arnynt. Os ydych am wneud hynny, dewiswch y rhaniadau hynny hefyd.\n"
+"\n"
+"Sylwch nad oes angen ailfformatio'r holl raniadau sy'n bodoli eisoes. "
+"Rhaid \n"
+"ailfformatio'r rhaniadau sy'n cynnwys y system weithredu [megis \"/\",\"usr"
+"\"\n"
+"neu \"/var\") ond nid oes rhaid i chi ail fformatio rhaniadau sy'n cynnwys\n"
+"data rydych am ei gadw (e.e. \"/home\").\n"
+"\n"
+"Byddwch ofalus wrth ddewis rhaniadau. Ar ôl fformatio bydd yr holl ddata ar\n"
+"y rhaniadau'n cael eu dileu ac ni fydd modd ei adfer.\n"
+"\n"
+"Cliciwch \"%s\" pan ydych yn barod i fformatio rhaniadau.\n"
+"\n"
+"Cliciwch \"%s\" os ydych am ddewis rhaniad arall ar gyfer eich gosodiad\n"
+"Mandriva Linux newydd\n"
+"\n"
+"Cliciwch \"%s\" os ydych am ddewis rhaniadau i'w gwirio am flociau\n"
+"gwallus ar y ddisg."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Erbyn i chi osod Mandriva Linux, mae'n debygol y bydd rhai \n"
+"pecynnau wedi eu diweddaru ers y rhyddhad cychwynnol. Bydd rhai \n"
+"gwallau wedi eu cywiro a materion diogelwch wedi eu datrys. I ganiatáu\n"
+"i chi fanteisio ar hyn mae cynnig i chi eu llwytho i lawr o'r rhyngrwyd.\n"
+"Dewiswch \"%s\" os oes gennych gyswllt gweithredol â'r rhyngrwyd,\n"
+"neu \"%s\"\"os ydych am osod pecynnau mwy diweddar rhywbryd eto.\n"
+"\n"
+"Bydd dewis \"%s\" yn dangos rhestr o leoedd o le mae modd derbyn\n"
+"diweddariadau. Dewiswch yr un agosaf atoch. Yna, bydd coeden dewis\n"
+"pecynnau yn ymddangos: Wedi i chi benderfynu ar eich dewis, cliciwch\n"
+"\"%s\" i estyn a gosod y pecynnau hynny neu \"%s\" i beidio."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Yma mae DrakX yn caniatáu i chi ddewis lefel diogelwch y peiriant. Fel\n"
+"rheol, y mwyaf agored yw'r peiriant, y mwyaf pwysig yw'r data'r uchaf\n"
+"ddylai'r lefel diogelwch fod neu fod gan y peiriant gysylltiad uniongyrchol\n"
+"gyda'r rhyngrwyd. Er hynny, mae diogelwch yn dod ar draul\n"
+"hwylustod. \n"
+"\n"
+"Os nad ydych yn siŵr beth i'w ddewis, dewiswch y rhagosodedig. Byddwch\n"
+"yn gallu newid y lefel diogelwch yn ddiweddarach gyda draksec o\n"
+"Ganolfan Rheoli Mandriva.\n"
+"\n"
+"Mae maes \"%s\" yn gallu dweud wrth y system o'r defnyddiwr sydd â\n"
+"chyfrifoldeb am ddiogelwch. Bydd negeseuon diogelwch yn cael eu hanfon\n"
+"at y cyfeiriad hwnnw. "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Cyfrinair Gweinyddwr"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Yn awr mae angen i chi ddewis pa raniadau i'w defnyddio ar gyfer gosodiad\n"
+"eich system Mandriva Linux. Os oes rhaniadau wedi eu diffinio eisoes, un\n"
+"ai drwy osodiad blaenorol o GNU/Linux neu gan offeryn rhannu arall, mae\n"
+"modd i chi ddefnyddio'r rhaniadau presennol. Os nad, rhaid i' rhaniadau'r\n"
+"ddisg caled gael eu diffinio.\n"
+"\n"
+"I greu rhaniadau, rhaid yn gyntaf ddewis disg caled. Mae modd dewis disg\n"
+"i'w rannu drwy glicio ar \"hda\" ar gyfer y ddisg IDE cyntaf., \"hdb\" ar\n"
+"gyfer yr ail, \"sda\" ar gyfer y ddisg SCSI cyntaf, ac yn y blaen.\n"
+"\n"
+"I greu'r rhaniad, mae modd defnyddio'r dewisiadau hyn:\n"
+"\n"
+" *\"%s\": mae'r dewis hwn yn dileu pob rhaniad ar ddisg.\n"
+"\n"
+" *\"%s\": mae'r dewis hwn yn caniatáu i chi greu'n awtomatig\n"
+"Ext2 a rhaniadau cyfnewid mewn lle gwag ar eich disg.\n"
+"\n"
+" *\"%s\": yn rhoi mynediad i ragor o nodweddion:\n"
+"\n"
+" *\"%s\": mae hwn yn cadw'r tabl rhaniad i ddisg\n"
+"meddal. Mae hyn yn ddefnyddiol ar gyfer adfer tabl rhaniad, os fydd angen\n"
+"\n"
+" \"%s\": mae hyn yn caniatáu adfer tabl rhaniad blaenorol\n"
+"o ddisg meddal.\n"
+"\n"
+" \"%s\": os yw eich tabl rhaniad wedi ei ddifrodi, mae modd\n"
+"ceisio ei adfer drwy'r dewis yma. Byddwch ofalus a chofiwch fod modd iddo\n"
+"fethu.\n"
+"\n"
+" \"%s\": mae hwn yn dileu pob newid ac yn ail lwytho'r\n"
+"tabl rhaniad gwreiddiol.\n"
+"\n"
+" *\"%s\": dad-diciwch y dewis hwn i osod a dad osod\n"
+"gyda llaw, cyfryngau symudol megis disgiau meddal ac CD-ROMau\n"
+"\n"
+" *\"%s\": defnyddiwch y dewis hwn os ydych am ddefnyddio'r dewin i rannu\n"
+"eich disg caled. Dyma'sydd orau os nad oes gennych wybodaeth sylweddol ar\n"
+"rhannu\n"
+"\n"
+" *\"%s\": defnyddiwch y dewis hwn i ddileu eich newidiadau\n"
+"\n"
+" *\"%s\": mae hwn yn caniatáu gweithredoedd\n"
+"pellach ar raniadau. (Math, dewisiadau, fformat) ac mae'n cynnig mwy o\n"
+" wybodaeth.\n"
+"\n"
+" *\"%s\":pan fyddwch wedi gorffen rhannu eich disg, bydd hwn yn cadw\n"
+" eich newidiadau yn ôl i'r ddisg\n"
+"\n"
+"Sylwer: mae modd cyrraedd y dewisiadau drwy'r bysellfwrdd. Symudwch drwy'r\n"
+" rhaniadau gan ddefnyddio [Tab] a'r saethau [I Fyny/I Lawr].\n"
+"\n"
+"Pan fydd rhaniad wedi ei ddewis, gallwch ddefnyddio:\n"
+"\n"
+" *Ctrl-c i greu rhaniad newydd (pan fo rhaniad gwag yn cael ei ddewis);\n"
+"\n"
+" *Ctrl-d i ddileu rhaniad;\n"
+"\n"
+" *Ctrl-m i greu pwynt gosod;\n"
+"\n"
+"I dderbyn gwybodaeth am yr amrywiol systemau ffeil sydd ar gael, darllenwch "
+"y\n"
+" pennawd ar ext2fs yn y ``Reference Manual''.\n"
+"\n"
+"Os ydych yn gosod ar beiriant PPC, bydd angen i chi greu \"ymlwythwr\" \n"
+" bychan o leiaf 1MB o faint, fydd yn cael ei ddefnyddio gan ymlwythwr "
+"yaboot.\n"
+"Os ydych yn dewis gwneud y rhaniad rhywfaint yn fwy, dyweder tua 50MB, yna\n"
+"gall fod yn le defnyddiol i gadw cnewyllyn sbâr a delweddau ramdisk ar "
+"gyfer\n"
+" sefyllfaoedd cychwyn argyfyngus!"
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Awto gosod cyfrwng symudol"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Amnewid rhwng modd arferol/arbenigol"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mae mwy nag un rhaniad Microsoft wedi ei ganfod ar eich disg caled.\n"
+"Dewiswch ba un rydych am newid ei faint er mwyn gosod eich\n"
+"system weithredu Mandriva Linux newydd\n"
+"\n"
+"Mae pob rhaniad wedi ei restri fel hyn: \"Enw Linux\", \"Enw Windows\",\n"
+"\"Maint\".\n"
+"\n"
+"Mae \"Enw Linux\" wedi ei strwythuro fel hyn: \"math o ddisg caled\", \n"
+"\"rhif y disg caled\", \"rhif y rhaniad\" (e.e., \"hda1\").\n"
+"\n"
+"\"hd\" yw'r \"Math o ddisg caled\" os mai disg caled IDE sydd gennych\n"
+"a \"sd\" yw disg caled SCSI.\n"
+"\n"
+"Llythyren wedi'r \"hd\" neu \"sd\" yw'r \"Rhif disg caled\" bob tro.\n"
+"Gyda disgiau caled IDE:\n"
+"\n"
+" * mae \"a\" yn golygu \"prif ddisg caled ar y rheolydd IDE cyntaf\",\n"
+"\n"
+" * mae \"b\" yn golygu \"ddisg caled gwas ar y rheolydd IDE cyntaf\",\n"
+"\n"
+" * mae \"c\" yn golygu \"prif ddisg caled ar yr ail reolydd IDE\",\n"
+"\n"
+" * mae \"d\" yn golygu \"ddisg caled gwas ar yr ail reolydd IDE\",\n"
+"\n"
+"Gyda disgiau caled SCSI mae \"a\" yn golygu'r \"enw SCSI isaf\", ac mae\n"
+" \"b\" yn golygu'r \"ail enw SCSI isaf\", ag ati.\n"
+"\n"
+"Mae \"Enw Windows\" yn cyfeirio at y llythyren y disg caled o dan\n"
+" Windows (\"C:\" yw'r ddisg neu raniad cyntaf)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":gwiriwch y dewis gwlad. Os nad ydych yn y wlad hon cliciwch y\n"
+"botwm \"%s\"a dewis un arall. Os nad yw eich gwlad ar y rhestr gyntaf,\n"
+"cliciwch \"%s\" i edrych ar y rhestr gyflawn."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Mae'r cam hwn yn cael ei weithredu os oes hen raniad GNU/Linux wedi\n"
+"ei ganfod ar y cyfrifiadur.\n"
+"\n"
+"Bydd DrakX angen gwybod a ydych am osod o'r newydd neu uwchraddio\n"
+"system Mandriva Linux presennol.\n"
+"\n"
+" *\"%s\" Ar y cyfan, mae hwn yn tynnu'r hen system gyfan oddi ar eich\n"
+"cyfrifiadur. Er hynny, yn ddibynnol ar eich trefn rhannu, mae modd atal\n"
+"peth o'ch data (yn arbennig, cyfeiriaduron \"home\" ) rhag cael ei "
+"ysgrifennu drosto. Os ydych am newid rhaniadau eich disgiau caled, neu newid "
+"y\n"
+"system ffeil, dylech ddewis hwn.\n"
+"\n"
+" *\"%s\": Mae'r dosbarth gosod hwn yn caniatáu i chi ddiweddaru'r\n"
+"pecynnau sydd wedi eu gosod ar eich system Mandriva Linux. Bydd eich\n"
+"rhaniadau presenol a'ch data personol yn cael eu cadw. Bydd y rhan fwyaf\n"
+"o'r camau ffurfweddu ar gael fel gyda'r gosod arferol.\n"
+"\n"
+"Dylai defnyddio \"Diweddaru\" weithio'n iawn ar systemau Mandriva Linux\n"
+"sy'n rhedeg systemau \"8.1\" neu'n ddiweddarach. Nid yw uwchraddio\n"
+"fersiynau cyn Mandriva Linux \"8.1\" yn cael ei gymeradwyo."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Fel arfer mae DrakX yn dewis y bysellfwrdd cywir ar eich cyfer ( gan "
+"ddibynnu pa\n"
+" iaith rydych wedi ei ddewis(). Gwiriwch fod y dewis yn addas neu dewiswch "
+"gynllun\n"
+"bysellfwrdd arall.\n"
+"\n"
+"Efallai nad oes gennych fysellfwrdd sy'n cyfateb yn union i'ch iaith: e.e., "
+"os ydych\n"
+"yn Americanwr sy'n siarad Cymraeg, efallai eich bod am gadw eich "
+"bysellfwrdd\n"
+"Americanaidd. Neu os ydych yn siarad Cymraeg ac yn byw yn Hong Kong mae'r\n"
+" un sefyllfa'n codi. Yn y ddwy achos bydd angen i chi fynd yn ôl i'r cam yma "
+"yn y\n"
+" gosodiad a dewis y bysellfwrdd perthnasol o'r rhestr.\n"
+"\n"
+"Cliciwch ar fotwm \"%s\" i dderbyn y rhestr o fysellfyrddau sy'n cael eu "
+"cynnal.\n"
+" \n"
+"Os fyddwch yn dewis cynllun bysellfwrdd wedi ei seilio ar wyddor an-"
+"Lladinaidd, \n"
+"bydd y deialog nesaf yn caniatáu i chi ddewis rwymiad allwedd fydd yn newid "
+"y\n"
+"bysellfwrdd rhwng cynlluniau Lladin ac an-Lladin."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Y cam cyntaf yw dewis eich hoff iaith.\n"
+"\n"
+"Bydd eich dewis iaith yn effeithio ar iaith y gosodwr, y ddogfennaeth\n"
+" a'r system yn gyffredinol. Dewiswch yr ardal lle rydych ac yna eich iaith.\n"
+"\n"
+"Bydd clicio ar y botwm \"%s\" yn caniatáu i chi ddewis ieithoedd eraill\n"
+"i'w gosod ar eich peiriant gwaith. Bydd dewis ieithoedd eraill yn gosod\n"
+"ffeiliau penodol sy'n cynnwys dogfennaeth a rhaglenni yn yr ieithoedd\n"
+"hynny. Er enghraifft, os ydych yn westeiwr ar gyfer defnyddwyr o Sbaen,\n"
+"dewiswch Gymraeg fel y rhagosodedig yng ngolwg coeden ac yn yr Uwch\n"
+"adran cliciwch \"%s\". \n"
+"\n"
+"Ynghylch cefnogaeth UTF-8 (unicode): Amgodiad nod newydd yw Unicode\n"
+"sydd i gynnwys pob iaith. Er hynny, mae cefnogaeth i bob iaith o fewn\n"
+"GNU/Linux yn dal yn cael ei ddatblygu Oherwydd hynn mae defnydd\n"
+"Mandriva Linux o UTF-8 yn ddibynnol ar ddewis y defnyddiwr:\n"
+"\n"
+" * Os ydych yn dewis iaith gyda hen amgodiad cryf (ieithoedd lladin1\n"
+"Rwsieg, Siapanëeg, Tsieinëeg, Corëeg, Thai, Groeg, Twrceg, y rhan\n"
+" fwyaf o ieithoedd iso-8859-2) bydd yr hen amgodiad yn cael ei ddefnyddio;\n"
+"\n"
+" * Bydd ieithoedd eraill yn defnyddio unicode drwy ragosodiad;\n"
+"\n"
+" * Os oes angen dwy neu fwy o ieithoedd, ac nid yw'r ddwy iaith yn "
+"defnyddio'r\n"
+"un amgodiad, yna bydd unicode yn cael ei ddefnyddio drwy'r holl system\n"
+"\n"
+" * Yn olaf, mae modd gorfodi'r defnydd o unicode drwy'r system gyfan ar\n"
+"gais y defnyddiwr drwy ddewis \"%s\" yn annibynnol o ba iaith sydd wedi cêl "
+"ei ddewis.\n"
+"\n"
+"Sylwer bod modd gosod mwy nag un iaith. Mae modd i chi ddewis mwy\n"
+"nag un, neu hyd yn oed eu gosod i gyd, drwy ddewis y blwch \"%s\".\n"
+"Mae dewis cefnogaeth i bob iaith yn golygu gosod cyfieithiadau, ffontiau, \n"
+"gwiryddion sillafu, ag ati, ar gyfer yr iaith honno.\n"
+"\n"
+"I newid rhwng yr ieithoedd amrywiol sydd ar y system gallwch gychwyn\n"
+"y gorchymyn \"/usr/sbin/localedrake\" fel \"root\" i newid yr iaith\n"
+"sy'n cael ei ddefnyddio gan y system gyfan. Bydd rhedeg y gorchymyn fel\n"
+"defnyddiwr cyffredin yn gweithio dim ond ar gyfer yr unigolyn hwnnw."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Sbaeneg"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Fel rheol does gan DrakX ddim problem yn canfod y nifer o fotymau ar eich\n"
+"llygoden. Os yw, bydd yn cymryd for gennych lygoden dau fotwm a bydd yn\n"
+"ffurfweddu efelychiad trydydd botwm. Mae modd pwyso trydydd botwm\n"
+"llygoden dau fotwm ar unwaith gan glicio'r botymau chwith a de. Bydd DrakX\n"
+"yn gwybod yn awtomatig p'un ai yw'r llygoden yn defnyddio rhyngwyneb PS/2\n"
+"cyfresol neu USB.\n"
+"\n"
+"Lle mae gennych lygoden 3 botwm heb olwyn, cewch ddewis y llygoden sy'n\n"
+"dweud \"%s\". Bydd DrakX yn ffurfweddu eich llygoden fel bod modd "
+"efelychu'r\n"
+"olwyn gydag ef: i wneud hynny pwyswch y botwm canol a symud eich llygoden "
+"nôl a blaen.\n"
+"\n"
+"Os am ryw reswm yr hoffech nodi llygoden o fath gwahanol, dewiswch un\n"
+"o'r rhestr amgaeëdig.\n"
+"\n"
+"Gallwch ddewis \"%s\" i ddewis math llygoden ``generic'' sy'n gweithio gyda\n"
+"bron bob llygoden.\n"
+"\n"
+"Os fyddwch yn dewis llygoden wahanol i'r rhagosodedig gyd sgrin\n"
+"profi'n cael ei ddangos. Defnyddiwch y botymau a'r olwyn i wirio fod\n"
+"y gosodiadau'n gywir a bod y llygoden yn gweithio'n iawn. Os nad yw'r\n"
+"llygoden yn gweithio'n dda, pwyswch y bar bylchu neu fysell [Return] i\n"
+"i ddiddymu'r prawf ac i fynd nôl i'r rhestr dewis.\n"
+"\n"
+"Ar brydiau nid yw llygod olwyn yn cael eu canfod yn awtomatig, felly bydd\n"
+"angen dewis eich llygoden o'r rhestr. Gwnewch yn siŵr eich bod yn dewis\n"
+"y porth sy'n cyfateb i le mae eich llygoden. Ar ôl dewis llygoden a "
+"phwyso'r\n"
+"botwm \"%s\" , bydd delwedd llygoden yn cael ei dangos ar y sgrin. Trowch\n"
+"olwyn y llygoden i sicrhau ei fod yn gweithio'n iawn. Unwaith i chi weld yr\n"
+"olwyn ar y sgrin yn symud wrth i chi droi'r olwyn. profwch y botymau a "
+"gwirio fod\n"
+"pwyntydd y llygoden yn symud ar y sgrin wrth i chi symud y llygoden."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gydag efelychiad Olwyn"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Cyffredinol | Unrhyw lygoden PS/2 ac USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Dewiswch y porth cywir. Mae porth \"COM1\" o dan MS Windows yn cael ei alw "
+"yn\n"
+"\"ttyS0\" yn GNU/Linux, e.e."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Mae hwn yn fan pwysig ynghylch diogelwch eich system GNU/Linux; rhaid\n"
+"rhoi cyfrinair \"root\".\"Root\" yw gweinyddwr y system a'r unig un sydd â'r "
+"hawl\n"
+"i wneud diweddariadau, ychwanegu defnyddwyr, newid ffurfweddiad cyffredinol\n"
+"y system, ac yn y blaen. Yn fyr mae \"root\" yn medru gwneud popeth! Dyna\n"
+"pam mae'n rhaid dewis cyfrinair sy'n anodd ei ddyfalu - bydd DrakX yn dweud\n"
+"wrthych os yw'n rhy hawdd. Fel y gwelwch, mae modd peidio gorfod cynnig\n"
+"cyfrinair, ond rydym yn argymell yn erbyn hyn, hyd yn oed am un rheswm:\n"
+"peidiwch â meddwl bod eich systemau gweithredu eraill yn ddiogel rhag\n"
+"camgymeriadau, gan eich bod wedi cychwyn o GNU/Linux. Gan fod \"root\" yn\n"
+"medru goresgyn unrhyw gyfyngiadau a dileu data'n anfwriadol ar bob rhaniad,\n"
+"drwy fynd at y rhaniadau'n ddi-hid, yna mae'n bwysig ei gwneud hi'n anodd "
+"bod\n"
+"yn \"root\".\n"
+"\n"
+"Dylai'r cyfrinair fod yn gyfuniad o rifau a llythrennau ac o leiaf 8 nod o "
+"hyd.\n"
+"Peidiwch ysgrifennu cyfrinair \"root\" ar bapur - bydd yn ei gwneud hi'n "
+"rhy\n"
+"hawdd gwanhau'r system.\n"
+"\n"
+"Er hynny, peidiwch â gwneud y cyfrinair yn rhy hir neu gymhleth am fod rhaid "
+"i\n"
+"chi fedri ei gofio heb ormod o drafferth.\n"
+"\n"
+"Ni fydd y cyfrinair yn cael ei ddangos ar y sgrin wrth i chi ei deipio. "
+"Felly bydd\n"
+" rhaid i chi deipio'r cyfrinair ddwywaith i leihau'r siawns o deipio gwall. "
+"Os ydych\n"
+"yn digwydd gwneud yr un gwall teipio ddwywaith, bydd rhaid defnyddio'r "
+"cyfrinair\n"
+"\"anghywir\" i gychwyn y tro cyntaf fel \"root\".\n"
+"\n"
+"Os hoffech i fynediad i'r cyfrifiadur gael ei reoli gan wasanaethwr dilysu, "
+"cliciwch\n"
+"y botwm \"%s\".\n"
+"Os yw eich rhwydwaith yn defnyddio protocol gwasanaethau dilysu LDAP, NIS\n"
+"neu PDC Windows Domain, dewiswch un addas fel \"%s\",\n"
+"Os nad ydych yn gwybod, gofynnwch i'ch gweinyddwr rhwydwaith\n"
+"\n"
+"Os ydych yn cael anawsterau atgoffa cyfrineiriau, gallwch ddewis\n"
+"\"%s\", os na fydd eich cyfrifiadur yn cael cyswllt â'r we ac rydych\n"
+"yn ymddiried yn y defnyddiwr."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "dilysu"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Rhaglen fechan yw'r cychwynnwr sy'n cael ei gychwyn gan y cyfrifiadur.\n"
+"Mae'n gyfrifol am gychwyn y system i gyd. Fel rheol mae'r rhan yma'n\n"
+"digwydd yn awtomatig. Bydd DrakX yn dadansoddi'r adran cychwyn\n"
+"disg a gweithredu yn â'r yr hyn mae'n ei ganfod yno.\n"
+"\n"
+" *os yw'n canfod adran cychwyn Windows, bydd yn ei amnewid gyda\n"
+"adran cychwyn GRUB/LILO. O ganlyniad bydd modd i chi gychwyn un\n"
+"ai GNU/Linux neu system arall.\n"
+"\n"
+" *os fydd adran gychwyn GRUB neu LILO'n cael ei ganfod bydd yn ei\n"
+"amnewid gydag un mwy diweddar.\n"
+"\n"
+"Os nad yw'n medru penderfynu, bydd DrakX yn gofyn i chi lle i osod\n"
+"y cychwynnydd. Yn gyffredinol, \"%s\" yw'r man mwyaf diogel. Ni fydd\n"
+" dewis \"%s\" yn gosod cychwynnydd. Dim ond ar gyfer y gwybodus."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Yma byddwn yn dewis system argraffu i'ch cyfrifiadur ei ddefnyddio. Efallai\n"
+"bod systemau eraill yn cynnig un i chi, ond mae Mandriva yn cynnig dwy.\n"
+"Mae 'r systemau'n addas gar gyfer ffurfweddiad arbennig.\n"
+"\n"
+" *\"%s\" - sy'n golygu \"print, do not queue\", yw'r dewis os oes gennych\n"
+"gysylltiad uniongyrchol â'ch argraffydd a'ch bod eisiau medru tynnu allan o "
+"waith\n"
+"argraffu pan fo'r papur wedi mynd yn sownd ac nad oes gennych argraffyddion\n"
+"wedi eu cysylltu drwy rwydwaith. (Dim ond rhwydweithiau syml mae \"%s\" yn "
+"ei\n"
+"drin ac mae'n araf ar rwydweithiau). Dewiswch \"pdq\" os mai dyma yw eich\n"
+"tro cyntaf yn GNU/Linux.\n"
+"\n"
+" *\"%s\" - \"Common Unix Printing System\". Mae hwn yn dda ar gyfer\n"
+"argraffu i argraffyddion lleol a hanner ffordd rownd y byd. Mae'n symlach, "
+"yn\n"
+"gallu gweithredu fel gwasanaethwr neu gleient ar gyfer yr hen system \"lpd"
+"\"\n"
+"ac felly mae'n cydweddi â'r systemau sydd wedi mynd o'i flaen. Mae'n gallu\n"
+"gwneud nifer o driciau, ond mae bron mor syml i'w osod \"pdq\". Os ydych\n"
+"amgen hwn i efelychu gwasanaethwr \"lpd\", yna rhaid cychwyn aemon\n"
+"\"cups-lpd\". Mae gan \"%s\" wyneb graffigol ar gyfer argraffu dewis\n"
+"argraffydd neu reoli'r argraffu.\n"
+"\n"
+"\n"
+"Os ydych yn dewis yn awr ac yn ddiweddarach yn penderfynu eich bod\n"
+"am newid eich system argraffu gallwch ei newid drwy gyfrwng PrinterDrake\n"
+"yng Nghanolfan Rheoli Mandriva a chlicio'r botwm %s."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Arbenigwr"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Bydd DrakX yn canfod unrhyw ddyfais IDE sydd ar eich cyfrifiadur. Bydd yn\n"
+"chwilio am un neu fwy o gardiau SCSI PCI ar eich system. Os oes Cerdyn\n"
+"SCSI'n cael ei ganfod bydd DrakX yn awtomatig yn gosod y gyrrwr priodol.\n"
+"\n"
+"Oherwydd nad yw canfod caledwedd bob tro'n canfod darn o galedwedd,\n"
+"gall DrakX fethu canfod eich disgiau caled. Os felly, bydd rhaid i chi "
+"bennu\n"
+"eich caledwedd â llaw.\n"
+"\n"
+"Os ydych wedi pennu eich addaswr PCI SCS gyda llaw, bydd DrakX yn\n"
+"gofyn i chi ydych am bennu dewisiadau ar ei gyfer. Dylech adael i DrakX "
+"ofyn\n"
+"i'r cerdyn am ddewisiadau penodol i'r cerdyn mae angen i'r caledwedd eu\n"
+"cychwyn. Mae hyn fel rheol yn gweithio'n dda\n"
+"\n"
+"Os nad yw DrakX yn gallu holi am y dewisiadau sydd eu hangen, bydd rhaid i\n"
+" chi ffurfweddu'r gyrrwr gyda llaw. "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": os yw cerdyn sain yn cael ei ganfod ar eich cyfrifiadur, bydd \n"
+"yn cael ei ddangos yma. Os ydych yn sylwi nad y cerdyn sain sydd ar eich\n"
+"cyfrifiadur sy'n cael ei ddangos, yna cliciwch ar y botwm a dewis\n"
+"gyrrwr arall."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"I grynhoi, bydd DrakX yn cyflwyno crynodeb o'r wybodaeth amrywiol\n"
+"sydd ganddo am eich system. Yn ddibynnol ar eich caledwedd, mae'n bosib\n"
+"bod gennych rywfaint o'r nodweddion canlynol. Mae pob cofnod yn cynnwys\n"
+"eitem ffurfweddadwy, a chrynodeb o'r ffurfweddiad presennol. Cliciwch ar y\n"
+"botwm \"%s\" perthnasol i'w newid.\n"
+"\n"
+" *\"%s\": gwirio ffurfweddiad map y bysellfwrdd a'i newid os oes angen.\n"
+"\n"
+" *\"%s\": gwirio'r dewis gwlad. Os nad ydych yn y wlad hon, cliciwch y "
+"botwm\n"
+"\"%s\" a dewis un arall. Os nad yw eich gwlad ar y rhestr gyntaf i'w\n"
+"dangos, cliciwch y botwm \"%s\" am y rhestr gyflawn o wledydd.\n"
+"\n"
+"\n"
+" *\"%s\": Mae DrakX yn dyfalu eich parth amser yn ôl y wlad rydych\n"
+"wedi ei dewis. Mae modd clicio ar y botwm \"%s\" i'w gywiro.\n"
+"\n"
+" *\"%s\": gwirio ffurfweddiad y llygoden bresennol a chlicio ar y botwm\n"
+"i'w newid os oes angen.\n"
+"\n"
+" \"%s\": bydd clicio ar y botwm \"%s\" yn agor y dewin\n"
+"ffurfweddu argraffydd. Darllenwch y pennawd yn y \"Starter Guide\" ar\n"
+"sut i osod argraffydd newydd. Mae'r rhyngwyneb yn debyg i'r un ar gyfer\n"
+"ei osod yn y man cyntaf.\n"
+"\n"
+" *\"%s\": os oes cerdyn sain wedi ei ganfod ar eich system bydd\n"
+"yn cael ei ddangos yma. Os ydych yn sylwi nad y cerdyn sain sy'n cael ei\n"
+"ddangos yw'r un sydd ar eich system, yna cliciwch y botwm a dewis\n"
+"gyrrwr arall.\n"
+"\n"
+" * \"%s\": os oes cerdyn teledu wedi ei ganfod ar eich system\n"
+"bydd yn cael ei ddangos yma. Os oes gennych gerdyn ac nid yw wedi cael\n"
+"ei ganfod, cliciwch \"%s\" i geisio ei ffurfweddu â llaw.\n"
+"\n"
+" * \"%s\": cliciwch ar \"%s\" i newid paramedrau cysylltiedig â'r cerdyn\n"
+"os yw'r ffurfweddiad yn anghywir.\n"
+"\n"
+" *\"%s\": fel rheol bydd DrakX yn gosod eich rhyngwyneb\n"
+"i gydraniad \"800x600\" neu \"1024x768\". Os nad yw hyn yn addas ar\n"
+"eich cyfer cliciwch y botwm \"%s\" i'w newid.\n"
+" \n"
+" * \"%s\": os ydych am ffurfweddu eich mynediad i'r Rhyngrwyd neu\n"
+"eich rhwydwaith lleol, mae modd gwneud hynny. Darllenwch y deunydd\n"
+"ysgrifenedig neu ddefnyddio Canolfan Reoli Mandriva Linux wedi i'r gosod\n"
+"orffen i fanteisio ar gymorth ar-lein llawn.\n"
+"\n"
+" * \"%s\": os ydych am ffurfweddu cyfeiriadau dirprwyol HTTP ac FTP os\n"
+"yw'r peiriant rydych yn ei osod i fod tu nôl i weinydd dirprwyol.\n"
+"\n"
+" * \"%s\": mae modd ail ddiffinio'r lefel diogelwch a osodwyd yn\n"
+"flaenorol ().\n"
+"\n"
+" *\"%s\": mae'n syniad da gosod mur cadarn i'ch amddiffyn rhag\n"
+"ymyriadau os ydych yn bwriadu cysylltu eich cyfrifiadur â'r Rhyngrwyd.\n"
+"Darllenwch y bennod berthnasol yn y \"Starter Guide\" am fanylion\n"
+"gosodiadau mur cadarn.\n"
+"\n"
+" * \"%s\": os hoffech newid ffurfweddiad eich cychwynnwr\n"
+"cliciwch y botwm yma. Ar gyfer defnyddwyr profiadol. Darllenwch y\n"
+"deunydd ysgrifenedig neu'r cymorth ar-lein am ffurfweddiad\n"
+"cychwynwyr yng Nghanolfan Rheoli Mandriva Linux.\n"
+"\n"
+" *\"%s\": yma bydd modd i chi wneud man newidiadau i'r\n"
+"gwasanaethau sy'n cael eu rhedeg ar eich cyfrifiadur. Os ydych yn\n"
+" bwriadu defnyddio'r cyfrifiadur fel gwasanaethwr mae'n syniad da\n"
+"darllen y gosodiadau'n fanwl."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Cerdyn ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Rhyngwyneb Graffigol"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Dewiswch y ddisg galed rydych am ei ddileu er mwy n gosod eich rhaniad\n"
+"Mandriva Linux newydd. Byddwch ofalus, bydd yr holl ddata sydd arno'n\n"
+"cael ei ddileu ac ni fydd modd ei adfer!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Cliciwch \"%s\" os ydych am ddileu'r holl ddata a rhaniadau sy'n bresennol\n"
+"ar y disg. Byddwch ofalus, wedi i chi glicio \"%s\" ni fydd modd i chi\n"
+"adfer unrhyw ddata na rhaniadau presennol ar y disg caled, gan gynnwys\n"
+"data Windows.\n"
+"\n"
+"Cliciwch \"%s\" i atal y weithred hon heb golli unrhyw ddata\n"
+"a rhaniadau sy'n bresennol ar y ddisg galed."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Nesaf ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Blaenorol"
+
diff --git a/perl-install/install/help/po/da.po b/perl-install/install/help/po/da.po
new file mode 100644
index 000000000..d6d4c540f
--- /dev/null
+++ b/perl-install/install/help/po/da.po
@@ -0,0 +1,1906 @@
+# translation of da.po to
+# translation of da1.po to Danish
+# translation of da.po to Danish
+# translation of DrakX-da.po to Danish
+# Copyright (C) 2000,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Troels Liebe Bentsen <tlb@iname.com> 2000.
+# Keld Simonsen <keld@dkuug.dk>, 2000-2003, 2004, 2005.
+# Keld Simonsen <keld@rap.dk>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: da\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-05 18:46+0100\n"
+"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
+"Language-Team: <da@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Før du går videre bør du læse betingelserne i licensen omhyggeligt. Den "
+"omfatter hele Mandriva Linux distributionen. Hvis du er enig i alle "
+"betingelserne i den, så klik på '%s'-boksen. Hvis ikke, så vil klikning på "
+"\"%s\"-knappen genstarte din maskine."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er et flerbrugersystem, det vil sige at hver bruger kan have sine "
+"egne præferencer, sine egne filer og så videre. Du kan læse "
+"startvejledningen for at lære mere om flerbrugersystemer.\n"
+"Men i modsætning til 'root', som er systemadministratoren, vil brugerne som "
+"du tilføjer her ikke have lov til at ændre nogetsomhelst, undtagen deres "
+"egne filer og deres egne opsætninger, hvilket beskytter systemet mod "
+"utilsigtede eller ondartede ændringer som påvirker hele systemet. Du skal "
+"oprette i det mindste én almindelig bruger til dig selv - dette er den konto "
+"som du bør bruge til almindelig dagligt brug. Selvom det er meget nemt at "
+"logge ind som root for at gøre alt, kan det også være meget farligt!\n"
+"En meget simpel fejltagelse kan betyde at dit system ikke virker mere. Hvis "
+"du laver en alvorlig fejltagelse som almindelig bruger, vil det værste der "
+"kan ske at du vil tabe nogen information, men det vil ikke påvirke hele "
+"systemet.\n"
+"\n"
+"Det første felt spørger efter dit rigtige navn. Dette er naturligvis ikke "
+"krævet -du kan faktisk skrive hvad du lyster. DrakX vil bruge det første ord "
+"du indtastede i feltet og kopiere det til '%s'-feltet, hvilket er navnet, "
+"som denne bruger skal indtaste for at logge ind på systemet. Hvis du ønsker "
+"det kan du tilsidesætte det forvalgte og ændre brugernavnet. Det næste trin "
+"er at indtaste en adgangskode. Fra et sikkerhedsmæssigt synspunkt er "
+"adgangskoden for en ikke-priviligeret (normal) bruger er ikke så afgørende "
+"som 'Root'-adgangskoden, men det er ingen grund til at negligere det "
+"alligevel, ved at lade det være blankt eller at gøre det for nemt - når det "
+"kommer til stykket er det dine egne filer, der er i fare.\n"
+"\n"
+"Når du har klikket på '%s', kan du tilføje andre brugere. Tilføj en bruger "
+"for hver af dine venner, din far eller din søster. Når du har tilføjet alle "
+"de brugere du ønsker, klik da på '%s'.\n"
+"\n"
+"Klik på '%s'-knappen lader dig ændre standard-'skál' for denne bruger\n"
+"(bash er standard). \n"
+"\n"
+"Når du er færdig med at tilføje brugere, vil du blive spurgt om at vælge en "
+"bruger som automatisk kan logge ind på systemet når maskinen startes op. "
+"Hvis du er interesseret i denne facilitet (og ikke kærer dig synderligt om "
+"lokal sikkerhed), så vælg den ønskede bruger og vindueshåndtering og klik '%"
+"s'. Hvis du ikke er interesseret i denne facilitet, så afmarkér boksen med '%"
+"s'."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønsker du at bruge denne facilitet?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er listet de eksisterende Linux-partitioner genkendt på din disk. Du kan "
+"beholde valgene gjort af vejlederen, de er velegnede til almindelig brug. "
+"Hvis du ændrer disse valg skal du i det mindste definere en rod-partition "
+"'/'. Lad være med at vælge en for lille partition, ellers vil du ikke kunne "
+"installere nok programmel. Hvis du ønsker at lagre data på en separat "
+"partition, skal du også vælge en '/home' (kun muligt hvis du har mere end én "
+"Linux-partition). \n"
+"Hver partition er listet som følger: 'Navn', 'Kapacitet'.\n"
+"\n"
+"'Navn' er kodet som følger: 'drevtype', 'drevnummer', "
+"'partitionsnummer' (for eksempel '/hda1').\n"
+"\n"
+"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er et "
+"SCSI drev.\n"
+"\n"
+"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev:\n"
+"\n"
+" * 'a' betyder 'hoved-drev på den primære IDE controller',\n"
+"\n"
+" * 'b' betyder 'slave-drev på den primære IDE controller',\n"
+"\n"
+" * 'c' betyder 'hoved-drev på den sækundære IDE controller',\n"
+"\n"
+" * 'd' betyder 'slave-drev på den sækundære IDE controller'.\n"
+"\n"
+"For SCSI drev betyder 'a' det 'første drev', 'b' betyder det 'andet drev', "
+"osv."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux installationen bliver distribueret på flere cdrom-er. Hvis en "
+"valgt pakke ligger på en anden cdrom, vil DrakX udskyde den nuværende cd og "
+"bede dig om at isætte den forespurgte cd. Hvis du ikke har den forespurgte "
+"cd ved hånden, så klik bare på '%s' - de tilsvarende pakker vil da ikke "
+"blive installerede."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det er nu tid til at angive hvilke pakker du vil installere på dit system. "
+"Der er tusindvis af pakker til dit Mandriva Linux system, og for at gøre det "
+"nemmere at håndtere dem er pakkerne blevet placeret i grupper af lignende "
+"programmer.\n"
+"\n"
+"Mandriva Linux opdeler pakkegrupper i fire kategorier. Du kan vælge og vrage "
+"programmer fra de forskellige grupper, så en installation af "
+"'Arbejdsstation' kan også have programmer fra 'Udvikling'-kategorien "
+"installeret.\n"
+"\n"
+" * '%s': Hvis din maskine skal bruges som en arbejdsstation, vælg da en "
+"eller flere af programmerne der er i arbejdsstationskategorien.\n"
+"\n"
+" * '%s': hvis du vil bruge maskinen til programmering, vælg da de relevante "
+"pakker fra denne kategori. Den særlige 'LSB'-gruppe vil konfigurere dit "
+"system så det er så meget som muligt i overensstemmelse med Linux Standards "
+"Base specifikationerne.\n"
+"\n"
+" Valg af 'LSB'-gruppen vil også installere kerne '2.4'-serien, i stedet "
+"for den normale '2.6'-kerne. Dette for at sikre 100%% LSB overensstemmelse "
+"for systemet. Hvis du ikke vælger -LSB--gruppen vil du dog stadig have et "
+"system der er næsten 100%% LSB-overensstemmende.\n"
+"\n"
+" * '%s': hvis det er planen at maskinen skal være en server, så vælg de mere "
+"almindelige tjenester, som du ønsker at installere på maskinen.\n"
+"\n"
+" * '%s': her skal du vælge foretrukne grafiske miljø. Vælg mindst ét, hvis "
+"du ønsker at have en grafisk grænseflade tilgængelig.\n"
+"\n"
+"Ved flytning af musen over et gruppenavn vises en kort forklarende tekst om "
+"denne gruppe.\n"
+"\n"
+"Du kan afkrydse '%s'-boksen, hvilket er nyttigt hvis du er bekendt med de "
+"pakker der tilbydes, eller hvis du ønsker at have helt styr på hvad der skal "
+"installeres.\n"
+"\n"
+"Hvis du starter installationen i '%s'-tilstand, kan du fravælge alle grupper "
+"og forhindre installationen af enhver ny pakke. Dette er nyttigt ved "
+"reparation eller opdatering af et ekisterende system.\n"
+" \n"
+"Hvis du fravælger alle grupper ved udførelse af en almindelig installation "
+"(i modsætning til en opgradering), vil en dialog komme frem som foreslår "
+"dig forskellige former for minimal installation: \n"
+"\n"
+" * '%s' installerer de færrest mulige antal pakker for at få en fungerende "
+"grafisk arbejdsstation.\n"
+"\n"
+" * '%s' installerer det basale system plus basale nytteprogrammer og "
+"tilhørende dokumentation. Denne installation er passende til at sætte en "
+"server op.\n"
+"\n"
+" * '%s' vil installere det absolut mindst mulige antal pakker nødvendigt for "
+"at få et virkende Linux-system. Med denne installation fås kun en "
+"grænseflade med kommandolinjer. Den totale størrelse af denne installation "
+"er omkring 65 megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opgradér"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med basal dokumentation"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Virkeligt minimale installation"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Hvis du vælger at installere pakker individuelt, vil installeringen vise et "
+"træ med alle pakker opdelt i grupper og undergrupper. Under gennembladring "
+"af træet kan du udvælge hele grupper, undergrupper eller individuelle "
+"pakker.\n"
+"\n"
+"Hver gang du udvælger en pakke i træet vil en beskrivelse fremkomme til "
+"højre for at lade dig vide formålet med denne pakke. \n"
+"\n"
+"!! Når en server-pakke er blevet valgt, enten fordi du specielt valgte den "
+"individuelle pakke, eller fordi den var en del af en gruppe af pakker, vil "
+"du blive spurgt om at bekræfte at du virkelig ønsker at installere disse "
+"servere. Som standard under Mandriva Linux bliver installerede servere "
+"startet op ved opstart af maskinen. Selvom de er sikre og ikke har nogen "
+"kendte problemer på udgivelsestidspunktet for distributionen, er det absolut "
+"muligt at sikkerhedshuller blev opdaget efter at denne version af Mandriva "
+"Linux blev færdiggjort. Hvis du ikke véd hvad en bestemt tjeneste vil gøre "
+"eller hvorfor den skal installeres, så klik '%s' her. Et klik med '%s' her "
+"vil installere de nævnte servere og de vil blive startet automatisk under "
+"opstarten!!\n"
+"\n"
+"'%s'-valget deaktiverer advarselsdialogen, som vises hver gang "
+"installeringsprogrammet automatisk vælger en pakke for at løse et "
+"afhængighedsproblem. Nogen pakker afhænger af andre oginstallation af en "
+"bestemt pakke kan kræve installationen af andre pakker. "
+"Installationsprogrammet kan beregne hvilke pakker der er krævet for at "
+"tilfredsstille en afhængighed for at kunne færdiggøre en installation "
+"problemfrit.\n"
+"\n"
+"Den klejne disketteikon i bunden af listen muliggør indlæsning af en "
+"pakkeliste oprettet ved en tidligere installation. Dette er nyttigt hvis du "
+"har et antal maskiner som du ønsker at konfigurere på samme måde. Klik på "
+"denne ikon vil bede dig om at indsætte disketten lavet i slutningen på en "
+"anden installation. Se råd nr to i det sidste trin for hvordan en sådan "
+"diskette kan laves."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiske afhængigheder"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"'%s': Et klik på '%s'-knappen vil åbne vejlederen for printerkonfigurering. "
+"Kig i det tilhørende kapitel i 'Startvejledningen' for mere information om "
+"hvordan man opsætter en ny printer. Grænsefladen\n"
+"præsenteret i vores manual ligner den som bruges på installationstidspunktet."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denne dialog bruges til at vælge hvilke tjenester du ønsker skal startes ved "
+"opstart af maskinen.\n"
+"\n"
+"DrakX vil præsentere alle tjenester, som er med i den aktuelle installation. "
+"Gennemse hver enkelt af dem omhyggeligt og vælg dem fra som ikke er "
+"nødvendige på opstartstidspunktet.\n"
+"\n"
+"En kort forklarende tekst om en tjeneste bliver vist når den vælges. Hvis du "
+"ikke er sikker på om en tjeneste er nyttig eller ej, er det dog sikrere at "
+"bruge den foreslåede opførsel.\n"
+"\n"
+"Vær specielt varsom på dette trin hvis du planlægger at bruge maskinen som "
+"server: du vil formentlig ønske ikke at starte nogensomhelst tjeneste op som "
+"du ikke har brug for. Husk at nogen tjenester kan være farlige hvis de er "
+"aktiveret på en server. Vælg som hovedregel kun de tjenester som du virkelig "
+"behøver."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux håndterer tiden i GMT (Greenwich Mean Time) og oversætter den til "
+"lokal tid ifølge den tidszone du har valgt. Hvis uret på bundkortet er sat "
+"til lokal tid, kan du deaktivere dette ved at fravælge '%s', hvilket vil "
+"lade GNU/Linux vide at systemuret og maskinens ur er i samme tidszone. Dette "
+"er nyttigt når maskinen også bruges til andre operativsystemer.\n"
+"\n"
+"Muligheden '%s' vil automatisk tilpasse systemuret ved at forbinde til en "
+"ekstern tidsserver på internettet. For at denne facilitet kan virke, skal du "
+"have en fungerende internetforbindelse. Vi anbefaler at du vælger en "
+"tidsserver med en placering nær ved dig. Denne mulighed installerer faktisk "
+"en tidsserver som også kan bruges af andre maskiner på dit lokalnetværk."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde og konfigurere "
+"grafikkortet installeret på din maskine. Hvis dette ikke er tilfældet, kan "
+"du fra denne liste vælge det kort du faktisk har installeret.\n"
+" I tilfælde af at forskellige drivere er tilgængelige til dit kort, med "
+"eller uden 3D-accelleration, bliver du spurgt om at vælge den server der "
+"bedst opfylder dine behov."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (for X Window System) er hjertet af GNU/Linux' grafiske grænseflade som "
+"alle de grafiske miljøer (KDE, GNOME, AfterStep, WindowMaker, mv.) der "
+"kommer sammen med Mandriva Linux afhænger af.\n"
+"\n"
+"Du vil se en liste med forskellige parametre der kan ændres for at få den "
+"bedst mulige grafiske fremvisning:\n"
+"\n"
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde ud af at konfigurere "
+"grafikkortet installeret på din maskine. Hvis dette ikke er rigtigt kan du "
+"fra denne liste vælge det kort du faktisk har installeret.\n"
+"\n"
+" I tilfælde af at forskellige drivere er tilgængelige til dit kort, med "
+"eller uden 3D-accelleration, bliver du spurgt om at vælge den server der "
+"bedst opfylder dine behov.\n"
+"\n"
+"\n"
+"Skærm\n"
+"\n"
+" Normalt vil Installationsprogrammet automatisk finde ud af at konfigurere "
+"skærmen tilsluttet din maskine. Hvis dette ikke er rigtigt, kan du fra denne "
+"liste vælge den skærm som er tilsluttet din maskine.\n"
+"\n"
+"\n"
+"\n"
+"Opløsning\n"
+"\n"
+" Her kan du vælge de opløsninger og farvedybder som er tilstede for dit "
+"grafikudstyr. Vælg dem som bedst opfylder dine behov (du vil kunne ændre "
+"dette efter installationen). En prøve på den valgte konfiguration vil blive "
+"vist på skærmen.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Afhængigt af dit udstyr vil denne indgang muligvis ikke vises.\n"
+"\n"
+" Systemet vil prøve at åbne en grafisk skærm i den ønskede opløsning. Hvis "
+"du ser testbeskeden under afprøvningen og svarer '%s', så vil DrakX gå "
+"videre til næste trin. Hvis du ikke ser beskeden, så betyder det at en del "
+"af den automatisk fundne konfiguration var forkert og testen vil automatisk "
+"slutte efter 12 sekunder, og bringe dig tilbage til menuen. Ændr "
+"indstillingerne til du får en korrekt grafisk fremvisning.\n"
+"\n"
+"\n"
+"\n"
+"Valgmuligheder\n"
+"\n"
+" Dette trin lader dig vælge om du ønsker at din maskine automatisk skal "
+"skifte til en grafisk grænseflade ved opstart. Selvfølgelig vil du ønske at "
+"svare '%s', hvis din maskine skal bruges som server, eller hvis ikke "
+"lykkedes dig at få skærmen konfigureret. "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skærm\n"
+"\n"
+" Installationsprogrammet vil normalt automatisk finde ud af at konfigurere "
+"skærmen tilsluttet din maskine. Hvis dette ikke er den rigtige, kan du i "
+"denne liste vælge den skærm du faktisk har tilsluttet din maskine."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Opløsning\n"
+"\n"
+" Hér kan du vælge opløsninger og farvedybder ud af de tilgængelige "
+"muligheder for dit udstyr. Vælg dem som bedst opfylder dine behov (du vil "
+"dog kunne ændre dette efter installationen). Et eksempel på den valgte "
+"konfiguration vil blive vist på skærmen."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"I tilfælde af at forskellige servere er tilgængelige for dit kort, med eller "
+"uden 3D-accelleration, bliver du spurgt om at vælge den server der bedst "
+"opfylder dine behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Til sidst valgmulighederne\n"
+"\n"
+"Dette trin lader dig vælge om du ønsker automatisk at skifte til en grafisk "
+"grænseflade ved opstart. Selvfølgelig vil du ønske at svare '%s', hvis din "
+"maskine skal bruges som server, eller hvis ikke lykkedes dig at få skærmen "
+"konfigureret."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nu skal du vælge hvor på din harddisk du vil installere dit Mandriva Linux-"
+"operativsystem. Hvis disken er tom eller et eksisterende operativsystem "
+"bruger alt pladsen på den, bliver du nødt til at partitionere drevet. "
+"Partitionering vil sige at diskdrevet opdeles i logiske dele for at lave den "
+"plads der behøves til at installere dit nye Mandriva Linux-system.\n"
+"\n"
+"Da partitioneringen af en disk normalt ikke kan fortrydes og kan føre til "
+"tab af data, kan det godt være frustrerende og stressende for uøvede "
+"brugere. Heldigvis har DrakX en vejleder som forenkler denne proces. Før du "
+"fortsætter med dette trin kan du gennemlæse resten af dette afsnit, og ikke "
+"mindst tage dig den tid du behøver.\n"
+"\n"
+"Afhængig af dit diskdrevs konfiguration er flere muligheder tilstede:\n"
+"\n"
+" * '%s': Denne mulighed vil udføre en automatisk opdeling af dine tomme "
+"diskdrev. Hvis du bruger denne mulighed vil du ikke blive spurgt om mere.\n"
+"\n"
+" * '%s': Vejlederen har fundet en eller flere eksisterende Linux-partitioner "
+"på dit diskdrev. Hvis du vil bruge dem, så vælg denne mulighed. Du vil så "
+"blive spurgt om monteringspunkter tilknyttet hver af partitionerne. De gamle "
+"monteringspunkter er forvalgt og i de fleste tilfælde er det en god idé at "
+"beholde dem.\n"
+"\n"
+" * '%s': Hvis Microsoft Windows er installeret på din disk og bruger al "
+"pladsen, bliver du nødt til at lave fri plads til GNU/Linux. For at gøre "
+"dette kan du slette dine Microsoft Windows partitioner og data (se "
+"muligheden \"Slet hele disken\") eller ændre størrelsen på din Microsoft "
+"Windows-FAT- eller NTFS-partition. Størrelsesændringen kan fortages uden tab "
+"af data, hvis du i forvejen har defragmenteret Windows-partitionen. Det "
+"anbefales på det kraftigste at du laver en sikkerhedskopi først. Denne "
+"mulighed anbefales hvis du vil bruge både Mandriva Linux og Microsoft "
+"Windows på samme maskine.\n"
+"\n"
+" Før du vælger denne løsning, bør du forstå at størrelsen på din Microsoft "
+"Windows partition vil blive mindre end da du startede. Du vil have mindre "
+"fri plads under Microsoft Windows til at gemme dine data eller installere "
+"nyt programmel.\n"
+"\n"
+" * '%s': Hvis du vil slette alle data på alle partitioner på denne disk og "
+"erstatte dem med dit nye Mandriva Linux-system, kan du vælge denne mulighed. "
+"Vær forsigtig, for du vil ikke være i stand til at fortryde denne handling "
+"efter at du har sagt ja.\n"
+"\n"
+" !! Hvis du bruger denne mulighed vil alle eksisterende data på din disk "
+"gå tabt. !!\n"
+"\n"
+" * '%s': Denne mulighed kommer til syne når diskdrevet er fuldstændigt "
+"optaget af Microsoft Windows. Valg af denne mulighed vil simpelthen slette "
+"alt på disken og begynde fra en frisk, og partitionere det hele fra ny.\n"
+"\n"
+" !! Hvis du bruger denne mulighed vil alle eksisterende data på din disk "
+"gå tabt. !!\n"
+"\n"
+" * '%s': Vælg denne mulighed hvis du vil partitionere disken i hånden. Vær "
+"forsigtig - det er en stærk , men også farlig mulighed. og du kan meget nemt "
+"komme til at slette alle dine data. Derfor er denne mulighed kun anbefalet "
+"hvis du har lavet noget lignende før og har nogen erfaring. For flere "
+"instruktioner om brugen af DiskDrake-programmet kan du se i afsnittet "
+"'Administrér dine partitioner' i 'Startervejledningen'."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Brug eksisterende partition"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slet hele disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Værsgo'. Installationen en nu færdig og dit GNU/Linux-system er nu klar til "
+"brug. Klik blot på '%s' for at genstarte systemet. Glem ikke at fjerne "
+"installationsmediet (cdrom eller diskette). Den første ting, som du burde "
+"se, efter din maskine har lavet sine test af maskinel, er opstartsmenuen, "
+"som lader dig vælge det operativsystem der skal startes.\n"
+"\n"
+"'%s'-knappen viser to ekstra knapper for:\n"
+"\n"
+" * '%s': at oprette en installerings-diskette, som automatisk vil udføre en "
+"hel installation uden hjælp fra en operatør, magen til den installation du "
+"lige har konfigureret.\n"
+"\n"
+" Bemærk at to forskellige muligheder er tilstede efter klik på denne "
+"knap:\n"
+"\n"
+" * '%s': Dette er en delvist automatiseret installering. "
+"Partitioneringstrinnet er den eneste interaktive procedure.\n"
+"\n"
+" * '%s': Fuldautomatisk installering: harddisken bliver fuldstændig "
+"genoverskrevet, alle data forsvinder.\n"
+"\n"
+" Denne facilitet er meget nyttig ved installering af et antal lignende "
+"maskiner. Se afsnittet om autoinstallering på vores websted for yderligere "
+"oplysninger.\n"
+"\n"
+" * '%s'(*): gemmer en liste med de pakker der er valgt under denne "
+"installation. For at bruge dette pakkevalg i en anden installation kan "
+"disketten indsættes i drevet og installeringen kan startes. Brug [F1]-tasten "
+"på opstartsskærmen og indtast >>linux defcfg=\"floppy\"<< og trykke på "
+"[Enter]-tasten.\n"
+". \n"
+"(*) Du har brug for en FAT-formatteret diskette. For at lave en under GNU/"
+"Linux skal du taste\n"
+"\"mformat a:\", eller \"fdformat /dev/fd0\" fulgt af \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lav autoinstallations-diskette"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Hvis du vælger at genbruge nogle gamle GNU/Linux-partitioner, kan duønske at "
+"omformatere nogle af dem og slette de data som de indeholder. For at gøre "
+"dette skal du også vælge disse partitioner.\n"
+"\n"
+"Bemærk at det ikke er nødvendigt at omformatere alle allerede eksisterende "
+"partitioner. Det er nødvendigt at omformatere de partitioner, der indeholder "
+"operativsystemet (såsom '/', '/usr' og '/var', men du er ikke nødt til at "
+"omformatere partitioner som du ønsker at beholde (typisk /home).\n"
+"\n"
+"Vær forsigtig med valg af partitioner; efter formatering vil alle data være "
+"slettede på de valgte partitioner, og du vil ikke kunne redde nogetsomhelst "
+"af det.\n"
+"\n"
+"Klik på '%s' når du er klar til at formatere partitionerne.\n"
+"\n"
+"Klik på '%s' hvis du ønsker at vælge andre partitioner til at installere dit "
+"nye Mandriva Linux operativsystem.\n"
+"\n"
+"Klik på '%s' for at vælge partitioner som du ønsker at tjekke for dårlige "
+"blokke."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"På det tidspunkt hvor du installerer Mandriva Linux er det sandsynligt at "
+"nogen af pakkerne er blevet opdaterede siden den oprindelige udgivelse. Fejl "
+"er måske blevet rettet, og sikkerhedsproblemer måske løst. Det er nu muligt "
+"for dig at hente disse ned fra internettet for at disse opdateringer kan "
+"komme dig til gode. Vælg '%s' hvis du har en fungerende internet- "
+"forbindelse eller '%s' hvis du foretrækker at installere opdaterede pakker "
+"senere.\n"
+"\n"
+"Valg af '%s' viser en liste af netsteder hvorfra opdateringer kan hentes. Du "
+"bør vælge en der er nær ved dig. Så vil et træ med pakkevalg blive vist: "
+"gennemse valget og tryk '%s' for at modtage og installere de valgte pakker "
+"eller '%s' for at afbryde."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nu vil DrakX give dig mulighed for at vælge det sikkerhedsniveau du ønsker "
+"for maskinen. Hovedreglen er at sikkerhedsniveauet bør sættes højere, hvis "
+"maskinen skal indeholde vigtige data, eller hvis den skal være direkte "
+"offentligt på Internettet. Men et højere sikkerhedsniveau vindes normalt på "
+"bekostning af letheden af anvendelsen.\n"
+"\n"
+"Hvis du ikke véd hvad du skal vælge, så behold den foreslåede mulighed. Du "
+"vil kunne ændre det senere med værktøjet draksec som er en del af Mandriva "
+"Linux Kontrolcentret.\n"
+"\n"
+"Udfyld '%s'-feltet med epost-adressen på den person, som er ansvarlig for "
+"sikkerhed. Sikkerhedsmeddelelser vil blive sendt til denne adresse."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sikkerhedsadministrator"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Nu skal du vælge hvilke partitioner som skal bruges til installering af dit "
+"Mandriva Linux system. Hvis partitionerne allerede er blevet defineret, "
+"enten fra en tidligere installation af GNU/Linux eller med et andet "
+"partitioneringsværktøj, kan du bruge de eksisterende partitioner. Ellers "
+"skal disk-partitionerne defineres først.\n"
+"\n"
+"For at lave partitioner skal du først vælge et diskdrev. Du kan vælge "
+"diskdrevet der skal partitioneres ved at trykke på \"hda\" for det første "
+"IDE drev, \"hdb\" for det andet eller \"sda\" for det første SCSI-drev og så "
+"videre.\n"
+"\n"
+"For at partitionere det valgte diskdrev kan du bruge disse muligheder:\n"
+"\n"
+" * '%s': Dette valg sletter alle partitioner på det valgte diskdrev.\n"
+"\n"
+" * '%s': dette valg tillader dig automatisk at lave Ext3 og swappartitioner "
+"på den fri plads på dit drev.\n"
+"\n"
+"'%s': giver adgang til flere faciliteter:\n"
+"\n"
+" * '%s': Gemmer din partitionstabel på en diskette. Nyttigt ved senere "
+"redning af partitionstabellen, om nødvendigt. Det anbefales meget at du "
+"bruger dette trin.\n"
+"\n"
+" * '%s': lader dig genskabe en tidligere gemt partitionstabel fra diskette.\n"
+"\n"
+" * '%s': hvis din partitionstabel er beskadiget, kan du prøve at redde den "
+"med denne mulighed. Vær forsigtig og husk at det ikke altid virker.\n"
+"\n"
+" * '%s': forkaster alle ændringer og genindlæser partitionstabellen som "
+"oprindeligt lå på diskdrevet\n"
+"\n"
+" * '%s': fravalg af denne mulighed vil tvinge brugere til at manuelt montere "
+"og afmontere medier såsom disketter og cdrommer\n"
+"\n"
+" * '%s': Hvis du ønsker at bruge vejlederen til at partitionere dit "
+"diskdrev, kan du bruge denne mulighed. Dette anbefales, hvis du ikke har den "
+"store forståelse om partitionering\n"
+"\n"
+" * '%s': Du kan bruge denne mulighed for at annullere dine ændringer\n"
+"\n"
+" * '%s': giver mulighed for yderligere handlinger på partitioner (type, "
+"valgmuligheder, format) og giver mere information om diskdrevet\n"
+"\n"
+" * '%s': når du er færdig med partitionering af din disk, vil dette skrive "
+"ændringerne tilbage på disken.\n"
+"\n"
+"Ved definering af en partitionsstørrelse kan du finjustere denne ved at "
+"bruge piletasterne på tastaturet.\n"
+"\n"
+"Bemærk: du kan nå enhver valgmulighed ved brug af tastaturet: navigér gennem "
+"partitionerne med Tab og op- og ned-pilene.\n"
+"\n"
+"Når en partition er valgt kan du bruge:\n"
+"\n"
+" * Ctrl-c for at lave en ny partition (Når en tom partition er valgt)\n"
+"\n"
+" * Ctrl-d for at slette en partition\n"
+"\n"
+" * Ctrl-m for at sætte et monteringssti\n"
+"\n"
+"For at få information om de forskellige tilgængelige filsystemstyper kan du "
+"læse kapitlet ext2fs i 'Referencemanualen'.\n"
+"\n"
+"Hvis du er i gang med at installere på en PPC-maskine skal du lave en lille "
+"HFS-'bootstrap'-partition på mindst 1 MB til Yaboot-systemstarteren. Hvis du "
+"vælger at lave partitionen en smule større, f.eks. 50 MB kan den være nyttig "
+"til at gemme en ekstra kerne og ramdisk-billede for nødsituationer ved "
+"opstart."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontering af flytbare medier"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skift mellem normal og ekspert-tilstand"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mere end én Microsoft Windows partition er blevet genkendt på dit diskdrev. "
+"Vælg den som du ønsker at ændre størrelse på for at kunne installere dit nye "
+"Mandriva Linux operativsystem.\n"
+"\n"
+"Hver partition er listet som følger: 'Linux navn', 'Windows navn', "
+"'Kapacitet'.\n"
+"\n"
+"'Linux navn' er kodet som følger: 'drevtype', 'drevnummer', "
+"'partitionsnummer' (for eksempel '/hda1').\n"
+"\n"
+"'drevtype' er 'hd' hvis dit diskdrev er et IDE drev, og 'sd' hvis det er et "
+"SCSI drev.\n"
+"\n"
+"'drevnummer' er altid et bogstav efter 'hd' eller 'sd'. For IDE drev "
+"gælder:\n"
+"\n"
+" * 'a' betyder 'hoved-drev på den primære IDE controller',\n"
+"\n"
+" * 'b' betyder 'slave-drev på den primære IDE controller',\n"
+"\n"
+" * 'c' betyder 'hoved-drev på den sækundære IDE controller',\n"
+"\n"
+" * 'd' betyder 'slave-drev på den sækundære IDE controller'.\n"
+"\n"
+"For SCSI drev betyder 'a' det 'laveste SCSI-nummer', 'b' betyder det "
+"'næstlaveste SCSI-nummer', osv.\n"
+"\n"
+"'Windows navn' er det bogstav som dit drev har under Windows (den første\n"
+"disk eller partition kaldes 'C:')."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"'%s': Tjek det aktuelle valg af land. Hvis du ikke er i dette land, så klik "
+"på '%s'-knappen og vælg et andet. Hvis dit land ikke er på den første liste "
+"der vistes, så klik på '%s'-knappen for at få den komplette liste over lande."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Dette trin bliver kun aktiveret hvis der bliver fundet en eksisterende\n"
+"GNU/Linux partition på din maskine.\n"
+"\n"
+"DrakX skal nu vide om du vil udføre en ny installation eller en opgradering\n"
+"af et eksisterende Mandriva Linux-system.\n"
+"\n"
+" * \"%s\": Dette vil stort sét slette hele det gamle system. Dog kan du "
+"afhængigt af din partitionsopsætning forhindre at nogen af dine ekisterende "
+"data (især kataloger i '/home') fra at blive overskrevet. Hvis du ønsker at "
+"ændre hvordan dine diskdrev er partitioneret, eller ændre på filsystemet, "
+"bør du bruge denne mulighed.\n"
+"\n"
+" * \"%s\": Denne installationsklasse lader dig opgradere pakkene som er "
+"installeret på dit nuværende Mandriva Linux-system. Din nuværende "
+"partitionsopsætning og brugerdata bliver ikke berørt. De fleste andre "
+"konfigurationstrin forbliver tilgængelige, i lighed med en "
+"standardinstallation.\n"
+"\n"
+"\"Opgradér\"-valget bør fungere fint på Mandriva Linux-systemer som kører "
+"version '8.1' eller nyere. Udførelse af Opgradér på versioner tidligere end "
+"Mandriva Linux '8.1' er ikke anbefalet."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhængigt af det sprog du har valgt vil DrakX automatisk vælge en bestemt "
+"type tastaturopsætning. Tjek at valget er passende, eller vælg en anden "
+"tastaturudlægning.\n"
+"Men du har måske ikke et tastatur som svarer nøjagtigt til dit sprog: for "
+"eksempel hvis du er en engelsktalende svejtser, vil du måske have et "
+"svejtsisk tastatur. Eller hvis du taler engelsk og bor i Québec, er du måske "
+"i samme situation, hvor dit modersmål og tastaturet for landet ikke passer "
+"sammen. I begge tilfælde giver dette installationstrin mulighed for at vælge "
+"et passende tastatur fra listen.\n"
+"\n"
+"Klik på '%s'-tasten for at få víst en liste af understøttede tastaturer.\n"
+"\n"
+"Hvis du vælger en tastaturudlægning baseret på et ikke-latinsk alfabet, vil "
+"den næste dialog give dig mulighed for at vælge den tastekombination, der "
+"vil skifte mellem den latinske og den ikke-latinske udlægning."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Det første trin er at vælge dit foretrukne sprog.\n"
+"\n"
+"Dit valg af foretrukkent sprog vil påvirke sproget for installeringen, "
+"dokumentationen og systemet generelt. Vælg den verdensdel du befinder dig i, "
+"og så det sprog, du taler.\n"
+"\n"
+"Hvis du klikker på '%s'-knappen kan du vælge andre sprog, der installeres "
+"på maskinen, og derved installeres de sprogspecifikke filer for "
+"systemdokumentation og programmer. Hvis spanske brugere skal bruge din "
+"maskine, vælg da dansk som standardsproget i træ-visningen, og '%s' i den "
+"avancerede afdeling.\n"
+"\n"
+"Om UTF-8 (ISO 10646)-understøttelse. ISO 10646 er en ny tegnkodning som er "
+"beregnet til at dække alle eksiterende sprog. Dog er fuld understøttelse for "
+"dette i GNU/Linux stadig under udvikling. Af denne årsag vil Mandriva Linux' "
+"brug af UTF-8 afhænge af brugerens valg:\n"
+"\n"
+" * Hvis du vælger et sprog som har en lang tradition for tegnkodning (latin1 "
+"sprog, russisk, japansk, kinesisk, koreansk, thai, græsk, tyrkisk, de fleste "
+"iso-8859-2 sprog) vil den traditionelle tegnkodning blive brugt som "
+"standard;\n"
+"\n"
+" * Andre sprog vil bruge ISO 10646 som standard;\n"
+"\n"
+" * Hvis to eller flere sprog er krævet, og disse sprog ikke bruger samme "
+"kodning, så vil ISO 10646 blive brugt for hele systemet;\n"
+"\n"
+" * Endeligt kan ISO 10646 blive gennemtvunget for brugeren på hele systemet "
+"på foranledning af brugeren ved at vælge muligheden '%s' uafhængigt af "
+"hvilket sprog der er valgt.\n"
+"\n"
+"Bemærk at du ikke er begrænset til at vælge et enkelt yderligere sprog. Du "
+"kan vælge flere sprog, eller endog installere dem alle ved at markere '%s'-"
+"boksen. Valg af understøttelse for et sprog betyder at oversættelser, "
+"skrifttyper, stavekontrol mv for dette sprog bliver installeret. \n"
+"For at skifte mellem de forskellige sprog installeret på systemet kan du "
+"starte programmet '/usr/sbin/localedrake' som 'root' for at ændre det sprog "
+"der bruges af hele systemet. Kørsel af dette program som almindelig bruger "
+"vil kun ændre sprogindstillingerne for denne bruger."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalt har DrakX ingen problemer med at finde ud af hvor mange knapper du "
+"har på din mus. Den antager at du har en to-knapsmus og vil lave en "
+"opsætning hvor den tredje knap emuleres. Den tredje knap for en to-knaps mus "
+"kan fås ved at trykke på den venstre og højre museknap samtidigt. DrakX vil "
+"automatisk vide om din mus bruger et PS/2, et serielt eller et USB-"
+"grænsesnit.\n"
+"\n"
+"Hvis du har en 3-knaps mus uden hjul, kan du vælge '%s'-musen. DrakX vil så "
+"konfigurere din mus så du kan simulere hjulet med den: for at gøre dette "
+"skal du trykke på midterknappen og flyttte op og ned på musen.\n"
+"\n"
+"Hvis du ønsker en anden type mus, vælg da den rigtige type mus fra den viste "
+"liste.\n"
+"\n"
+"Du kan vælge '%s'-indgangen for at få en 'generisk' musetype som vil virke "
+"med næsten alle mus.\n"
+"\n"
+"Hvis du vælger en mus forskellig fra den forvalgte, vil der blive vist en "
+"afprøvningsskærm. Brug knapperne og hjulet for at efterprøve om indstillerne "
+"er korrekte, og at musen virker korrekt. Hvis musen ikke virker godt, tryk "
+"da på mellemrumstangenten eller vognretur for at annullere testen, og du vil "
+"vende tilbage til listen med mus.\n"
+"\n"
+"Til tider findes mus med hjul ikke automatisk, så du vil behøve at vælge din "
+"mus fra en liste. Forsikr dig om at du vælger den der passer til porten som "
+"din mus er tilsluttet. Efter valg af en mus og trykning på '%s'-knappen vil "
+"et billede blive vist med en mus på skærmen. Rul med musehjulet for at "
+"forsikre dig om at det er aktiveret korrekt. Når du ruller med dit musehjul "
+"vil du se musehjulet på skærmen bevæger sig. Afprøv knapperne og tjek at "
+"musemarkøren flytter sig når du flytter rundt på musen."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjul-emulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universel | Alle PS/2 & USB mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vælg den rigtige port. For eksempel er navnet for COM1-porten under MS "
+"Windows 'ttyS0' under GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Dette er den vanskeligste beslutning omkring sikkerheden af dit GNU/Linux- "
+"system: Du skal indtaste din 'root'-adgangskode. 'Root' er "
+"systemadministratoren og er den eneste bruger, der har lov til at lave "
+"opdateringer, tilføje brugere, ændre i den overordnede systemkonfiguration "
+"og så videre. Kort sagt, 'root' kan gøre alt! Derfor skal du vælge en "
+"adgangskode der er svær at gætte - DrakX vil fortælle dig hvis adgangskoden "
+"du valgte er for simpel. Som du kan se er du ikke tvunget til at indtaste en "
+"adgangskode, men vi advarer på det kraftigste mod dette. GNU/Linux er lige "
+"så udsat for behandlingsfejl som ethvert andet operativsystem. Da 'root' kan "
+"overvinde alle forhindringer og uforvarende slette alle data på partitioner "
+"ved sorgløst at behandle partitionerne selv, er det vigtigt at det er "
+"vanskeligt at blive 'root'.\n"
+"\n"
+"Adgangskoden bør være en blanding af bogstaver og tal og mindst 8 tegn "
+"langt. Skriv aldrig en adgangskode ned for 'root' - det gør det alt for nemt "
+"at bryde ind i dit system.\n"
+"\n"
+"Gør dog ikke adgangskoden for lang eller for kompliceret da du skal være i "
+"stand til at huske den uden for stort besvær!\n"
+"\n"
+"Adgangskoden vil ikke blive vist på skærmen når du indtaster den. Du skal "
+"derfor indtaste adgangskoden to gange, for at begrænse risikoen for "
+"tastefejl. Hvis du kommer til at lave den samme tastefejl to gange, skal du "
+"bruge denne 'ukorrekte' adgangskode den første gang du prøver at koble op "
+"som 'root'.\n"
+"\n"
+"Hvis du ønsker at en autentificerings-server skal styre adgangen til din "
+"maskine, så klik på '%s'-knappen.\n"
+"\n"
+"Hvis dit netværk bruger LDAP, NIS eller PDC Windows domæne-"
+"autentificeringstjenester, vælg da den rigtige som '%s'. Hvis du ikke véd "
+"hvilken der skal bruges, så bør du spørge din systemadministrator.\n"
+"\n"
+"Hvis du har problemer med at huske adgangskoder, så kan du vælge '%s' hvis "
+"din maskine ikke vil være forbundet til Internettet, og du stoler på alle "
+"som kan få adgang til maskinen. "
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentifikation"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"En opstartsindlæser er et lille program som startes af maskinen på "
+"opstartstidspunktet. Det er ansvarligt for at starte hele systemet op. "
+"Normalt er dette trin helt automatisk. DrakX vil analysere opstartssektoren "
+"på disken og handle ud fra det som findes der.\n"
+"\n"
+" * Hvis en opstartssektor for Windows bliver fundet, vil den erstatte denne "
+"med en GRUB- eller LILO-opstartsektor. På denne måde kan du indlæse enten "
+"GNU/Linux eller ethvert andet operativsystem installeret på din maskine.\n"
+"\n"
+" * Hvis en opstartsektor for grub eller LILO bliver fundet, vil den blive "
+"erstattet med en ny.\n"
+"\n"
+"Hvis det ikke er mulig at afgøre dette automatisk, vil DrakX spørge dig hvor "
+"opstartsindlæseren skal installeres. Generelt er '%s' det sikreste sted. "
+"Valg af '%s' vil ikke installere nogen opstartsindlæser. Brug kun dette hvis "
+"du véd hvad du gør."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nu er det tid til at vælge et udskrivningssystem for din maskine. Andre "
+"styresystemer tilbyder måske ét, men Mandriva tilbyder to. Printersystemerne "
+"er hver især bedst til en bestemt konfigurationstype.\n"
+"\n"
+" * '%s' - som betyder 'print, do not queue' (udskriv, kø ej), er valget, "
+"hvis du har en direkte forbindelse til din printer, og du ønsker at kunne "
+"klare printproblemer med det samme, og du ikke har nogen printere via "
+"netværk. ('%s' vil kun behandle meget simple netværkstilfælde, og er lidt "
+"sløvt på netværk.) Det anbefales at du bruger 'pdq' hvis dette er din første "
+"erfaring med GNU/Linux.\n"
+"\n"
+" * '%s' - står for 'Common Unix Printing System' (Fælles printersystem for "
+"Unix) er fremragende til at udskrive på din lokale printer, og også på den, "
+"der står på den anden side af jordkloden. Det er nemt at konfigurere, og kan "
+"virke som en server eller klient for det bedagede 'lpd'-printsystem, så det "
+"er kompatibelt med ældre styresystemer, som stadig kan have brug for "
+"udskriftstjenester. Det er ganske stærkt, men den basale opsætning er næsten "
+"lige så nem som for 'pdq'. Hvis du har brug for at dette efterligner en "
+"'lpd'-server, skal du aktivere 'cups-lpd'-dæmonen. '%s' har grafiske "
+"grænseflader for udskrivning og valg af printermuligheder, og for "
+"administration af printeren.\n"
+"\n"
+"Hvis du laver et valg nu og senere finder ud af at du ikke kan lide dit "
+"udskriftssystem, kan du ændre det ved at køre PrinterDrake fra Mandriva "
+"Linuxs Kontrolcenter, og klikke på '%s'-knappen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX vil først finde alle IDE-enheder der er tilstede på din maskine. Den "
+"vil også lede efter en eller flere PCI SCSI-kort på dit system. Hvis et SCSI-"
+"kort finDES, vil DrakX automatisk installere en driver til det.\n"
+"\n"
+"Da maskineleftersøgningen ikke er idiotsikker, kan DrakX fejle i at finde "
+"dine diskdrev. I så fald må du angive dit maskinel manuelt.\n"
+"\n"
+"Hvis du måtte angive dit PCI SCSI-kort manuelt, vil DrakX spørge om du vil "
+"specificere nogle indstillingsmuligheder for den. Du bør lade DrakX spørge "
+"udstyret om opsætning af kortspecifikke indstillinger, som er nødvendige for "
+"at initialisere kortet. De fleste gange vil DrakX finde ud af dette uden "
+"problemer.\n"
+"\n"
+"Hvis DrakX ikke kan få oplysninger om indstillinger ud af udstyret, som skal "
+"bruges til opsætningen, skal du angive opsætningsinformation til driveren. "
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"'%s': Hvis et lydkort er blevet fundet på dit system, vil det blive vist "
+"her. Hvis du bemærker at lydkortet ikke er det som faktisk er til stede på "
+"systemet, kan du klikke på knappen og vælge en anden driver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Som en opsummering vil DrakX give dig en oversigt over information som den "
+"har indsamlet om dit system. Afhængig af det maskinel der er installeret på "
+"din maskine kan du have et eller flere af de følgende punkter. Hvert punkt "
+"består af den maskinelle enhed der skal konfigureres fulgt af en kort "
+"opsummering af den nuværende konfiguration. Klik på den tilsvarende \"%s\"-"
+"knap for at ændre på opsætningen.\n"
+"\n"
+" * \"%s\": Tjek at din tastaturopsætning er korrekt og ændr om nødvendigt.\n"
+"\n"
+" * \"%s\": Tjek det nuværende valg af land. Hvis du ikke er i dette land, så "
+"klik på \"%s\"-knappen og vælg et andet land. Hvis dit land ikke er i "
+"listen, så klik på \"%s\"-knappen for at få en fuldstændig liste over "
+"lande.\n"
+"\n"
+" ' \"%s\": Som standard bestemmer DrakX din tidszone ud fra hvilket land du "
+"har valgt. Du kan klikke på \"%s\" her, hvis dette ikke er korrekt.\n"
+"\n"
+" * \"%s\" :Tjek den nuværende museopsætning og klik på knappen for at ændre "
+"om nødvendigt.\n"
+"\n"
+" * \"%s\": Ved at klikke på \"%s\"-knappen åbnes printeropsætnings-\n"
+"hjælperen. Konsultér det tilhørende kapitel i begynderguiden for mere\n"
+"information om hvordan en printer kan sættes op. Grænsefladen som er vist\n"
+"i vores manual er magen til den som benyttes under installationen.\n"
+"\n"
+" * '%s': Hvis et lydkort er blevet fundet på dit system, vil det blive vist "
+"hér. Hvis du bemærker at lydkortet ikke er det som faktisk er til stede på "
+"systemet, kan du klikke på knappen og vælge en anden driver.\n"
+"\n"
+" * \"%s\": Hvis du har et TV-kort, så er det her at information om dets "
+"konfiguration bliver vist. Hvis du har et TV-kort som ikke er fundet, så "
+"klik på \"%s\" for at sætte det op manuelt.\n"
+"\n"
+" * \"%s\": Du kan klikke på \"%s\" for at ændre på parameterne til kortet, "
+"hvis du synes at konfigurationen er forkert.\n"
+"\n"
+" * \"%s\": Som standard vil DrakX opsætte din grafiske grænseflade i "
+"opløsningen 800x600 eller 1024x768. Hvis dette ikke passer dig, så klik på '%"
+"s'-knappen for at ændre på opsætningen.\n"
+"\n"
+" * \"%s\": Hvis du ønsker at konfigurere din adgang til internet eller "
+"lokalnet, kan du gøre dette nu. Kig i den trykte dokumentation eller brug "
+"Mandriva Linux Kontrolcenter efter installationen er afsluttet for at drage "
+"nytte af den fulde indbyggede vejledning. \n"
+"\n"
+" * \"%s\": lader dig konfigurere HTTP- og FTP-proxyadresser, hvis maskinen, "
+"du installerer på, skal placeres bag en proxyserver.\n"
+"\n"
+" * \"%s\": Du kan her ændre på sikkerhedsniveauet som defineret i et "
+"tidligere trin.\n"
+"\n"
+" * \"%s\": Hvis du skal koble din maskine direkte til internet, er det en "
+"god idé at beskytte sig mod indtrængning med en brandmur. Kig i det "
+"tilsvarende afsnit i Begyndervejledningen for detaljer om opsætning af "
+"brandmur.\n"
+"\n"
+" * \"%s\": Hvis du vil ændre på konfigurationen for opstartsindlæseren, så "
+"klik på denne knap. Dette bør forbeholdes avancerede brugere. Kig i den "
+"trykte dokumentation eller i den indbyggede hjælp om konfiguration af "
+"opstartsindlæser i Mandriva Linux Kontrolcenter.\n"
+"\n"
+" * \"%s\": her kan du fininstille hvilke tjenester som skal startes på din "
+"maskine. Hvis du skal bruge maskinen som server er det en god idé at "
+"gennemse denne opsætning."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grænseflade"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vælg det diskdrev som du vil slette for at installere din nye Mandriva Linux "
+"partition. Vær forsigtig, alle data som er på denne partition vil gå tabt og "
+"vil ikke kunne genskabes!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klik på '%s' hvis du ønsker at slette alle data og partitioner der ligger på "
+"dette diskdrev. Vær omhyggelig, efter klik på '%s' vil du ikke være i stand "
+"til at redde nogen data eller partitioner, der ligger på dette diskdrev, "
+"inklusive alle Windows data.\n"
+"Klik på '%s' for at stoppe denne handling uden at tabe nogen data og "
+"partitioner der er tilstede på dette diskdrev."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Næste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Forrige"
+
diff --git a/perl-install/install/help/po/de.po b/perl-install/install/help/po/de.po
new file mode 100644
index 000000000..e688af7b3
--- /dev/null
+++ b/perl-install/install/help/po/de.po
@@ -0,0 +1,2016 @@
+# translation of de.po to deutsch
+# translation of DrakX-de.po to deutsch
+# translation of de.po to Deutsch
+# translation of DrakX-de.po to german
+# german translation of the MandrivaInstaller.
+# Copyright (C) 2000-2003 Mandriva S.A.
+# Stefan Siegel <siegel@linux-mandrake.com>, 2000, 2001, 2002, 2003.
+# Sebastian Deutscher <sebastian_deutscher@web.de>, 2003,2004.
+# Gerhard Ortner <gerhard.ortner@aon.at>, 2003, 2004.
+# Roy Steuber <roysteuber@mittweida-net.de>, 2004.
+# Marcus Fischer <i18n@marcusfischer.com>, 2004.
+# Frank Köster <frank@dueppel13.de>, 2004, 2005.
+# Ronny Standtke <Ronny.Standtke@gmx.de>, 2003, 2004.
+# Ronny Standtke <Ronny.Standtke@gmx.net>, 2004, 2005.
+# Nicolas Bauer <webmaster@mandrakeusers.de>, 2005.
+# Frank Koester <frank@dueppel13.de>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-de\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-20 17:12+0200\n"
+"Last-Translator: Frank Koester <frank@dueppel13.de>\n"
+"Language-Team: deutsch\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Lesen Sie bitte aufmerksam die Lizenz, bevor Sie fortfahren. Sie umfasst\n"
+"die gesamte Mandriva Linux Distribution. Sollten Sie nicht in allen Punkten\n"
+"zustimmen, betätigen Sie bitte die Schaltfläche „%s“, um die Installation\n"
+"abzubrechen. Um mit der Installation fortzufahren, betätigen Sie die\n"
+"Schaltfläche „%s“."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux ist ein Mehrbenutzer-System, das bedeutet konkret jedes\n"
+"Benutzerkennzeichen hat eigene Präferenzen (Grafische Umgebung,\n"
+"Programmeinstellungen, etc.), sowie ein eigenes Heim-Verzeichnis, in dem\n"
+"diese Einstellungen gespeichert werden. Falls Sie mehr wissen wollen,\n"
+"können Sie im „Starter Handbuch“ nachsehen. Sie können mehrere normale\n"
+"Benutzerkonten einrichten, im Gegensatz zum „privilegierten“ Kennzeichen:\n"
+"»root«, das einmalig ist. Im Gegensatz zu »root« können diese normalen\n"
+"Benutzer jedoch nur ihre eigenen Dateien und Konfigurationen verändern. Sie\n"
+"können sogar mehrere Benutzerkennzeichen pro Person einrichten, denen Sie\n"
+"Zugang zu Ihrem GNU/Linux-System gewähren wollen. Erstellen Sie sich ein\n"
+"eigenes Benutzerkennzeichen, auch wenn Sie der einzige Anwender sind, der\n"
+"diesen Rechner nutzt. Sie sollten nicht ständig mit dem privilegierten\n"
+"Kennzeichen arbeiten! Das ist ein hohes Sicherheitsrisiko! Wenn Sie einen\n"
+"schweren Fehler als einfacher Benutzer machen, dann können Sie maximal\n"
+"Daten verlieren, jedoch nicht Ihr gesamtes System unbrauchbar machen.\n"
+"\n"
+"Zuerst geben Sie bitte einen normalen Namen an. Das muss nicht\n"
+"notwendigerweise Ihr richtiger Name sein. „DrakX“ wird das erste Wort, das\n"
+"Sie eingegeben haben, in das Feld „%s“ eintragen. Dies ist der Name, den\n"
+"Sie zum Anmelden für dieses Kennzeichen benötigen. Natürlich können Sie ihn\n"
+"hier nach Belieben verändern. Dann geben Sie Ihrem Konto ein Passwort. Für\n"
+"ein Benutzerkennzeichen ist dieses zwar nicht von so herausragender\n"
+"Bedeutung wie das für »root«, doch Sie sollten trotzdem etwas Sorgfalt\n"
+"walten lassen. Immerhin sind es Ihre Daten ...\n"
+"\n"
+"Klicken Sie auf „%s“, um das Kennzeichen zu erstellen. Anschließend können\n"
+"Sie direkt weitere Benutzer hinzufügen. Wenn Sie alle Kennzeichen erstellt\n"
+"haben, klicken Sie auf „%s“.\n"
+"\n"
+"Durch Anwahl der Schaltfläche „%s“ haben Sie auch die Möglichkeit, die\n"
+"Standard-Shell dieses Benutzers ändern (normalerweise ist dies die „Bash“).\n"
+"\n"
+"Wenn Sie alle Kennzeichen erstellt haben, die Sie nutzen wollen, wird Ihnen\n"
+"die Möglichkeit eröffnet, ein Kennzeichen automatisch beim\n"
+"Betriebssystemstart angemeldet zu bekommen. Falls Sie sich für diese\n"
+"Funktionalität entscheiden (und wenig Wert auf Sicherheit legen) wählen Sie\n"
+"einfach die gewünschte Arbeitsumgebung und das Kennzeichen aus. Bestätigen\n"
+"Sie Ihre Auswahl durch betätigen der Schaltfläche „%s“. Andernfalls löschen\n"
+"Sie einfach die Markierung des Punktes „%s“."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Möchten Sie diese Möglichkeit nutzen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Sie erhalten die Liste, der auf Ihren Festplatten gefundenen GNU/Linux\n"
+"Partitionen. Sie können die Auswahl des Assistenten beibehalten - sie\n"
+"sollte normalerweise Ihren Bedürfnissen entsprechen. Falls Sie es vorziehen\n"
+"die Einhängpunkte selbst zu definieren, denken Sie bitte daran, dass Sie\n"
+"zumindest eine Verzeichnisbaumwurzel („/“) benötigen. Wählen Sie die\n"
+"Partitionen nicht zu klein, da Sie sonst nicht genügend Programme\n"
+"installieren können. Wenn Sie Ihre persönlichen Daten auf einer eigenen\n"
+"Partition halten wollen, legen Sie sich eine Partition namens „/home“ an.\n"
+"\n"
+"Die Partitionen werden folgendermaßen aufgelistet: „Name“, „Kapazität“.\n"
+"\n"
+"„Name“ hat folgende Struktur: „Festplattentyp“, „Festplattennummer“,\n"
+"„Partitionsnummer“ (etwa „hda1“).\n"
+"\n"
+"„Festplattentyp“ ist „hd“, falls Ihre Platte eine IDE/ATAPI-Platte ist, und\n"
+"„sd“, wenn es sich um eine SCSI-Platte handelt.\n"
+"\n"
+"„Festplattennummer“ ist immer der Buchstabe hinter dem Festplattentyp. Bei\n"
+"IDE-Platten bedeutet:\n"
+"\n"
+" * „a“ bedeutet „Master-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „b“ bedeutet „Slave-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „c“ bedeutet „Master-Platte am sekundären IDE-Controller“;\n"
+"\n"
+" * „d“ bedeutet „Slave-Platte am sekundären IDE-Controller“;\n"
+"\n"
+"Bei SCSI-Platten steht „a“ für „niedrigste SCSI-ID“, „b“ für\n"
+"„zweitniedrigste SCSI-ID“, etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Die Mandriva Linux-Distribution wird auf mehreren CD-ROMs ausgeliefert. Es\n"
+"kann daher vorkommen, dass DrakX Pakete von anderen, als der\n"
+"Installations-CD-ROM installieren will. In diesem Fall wird es die aktuelle\n"
+"CD auswerfen und nach einer anderen fragen. Wenn Sie dieses CD nicht haben,\n"
+"klicken Sie einfach auf „%s“. Die entsprechenden Pakete werden in dem Fall\n"
+"nicht installiert."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nun ist es Zeit sich zu entscheiden, welche Programme Sie auf Ihrem Rechner\n"
+"installieren wollen. Es gibt tausende von Paketen für Mandriva Linux, und\n"
+"Sie müssen sie nicht alle auswendig kennen.\n"
+"\n"
+"Die Pakete sind nach ihrer Verwendung in vier Kategorien eingeteilt. Sie\n"
+"können Pakete aus verschiedenen Kategorien nach Belieben mischen, sodass\n"
+"beispielsweise eine „Workstation“-Installation auch Bestandteile einer\n"
+"„Server“-Installation aufweisen kann.\n"
+"\n"
+" * „%s“: Falls Ihr Rechner als Arbeitsplatzrechner verwendet werden soll,\n"
+"markieren Sie eine oder mehrere Gruppen.\n"
+"\n"
+" * „%s“: Falls Sie mit Ihrem Rechner programmieren wollen, sollten Sie\n"
+"diese Gruppe markieren. Die spezielle Gruppe „LSB“ wird Ihr System\n"
+"möglichst eng an den Vorgaben der Linux Standard Base ausrichten.\n"
+"\n"
+" Die Auswahl der „LSB“-Gruppe bewirkt auch, dass der Kernel „2.4“\n"
+"anstelle des standardmäßigen Kernel „2.6“ installiert wird, um die 100%%ige\n"
+"Einhaltung der-LSB-Bedingungen zu garantieren. Allerdings erhalten Sie auch\n"
+"ohne die Auswahl der „LSB“-Gruppe ein nahezu 100%%ig LSB-konformes System.\n"
+"\n"
+" * „%s“: Wenn Ihre Maschine ein Server werden soll, können Sie hier die\n"
+"wichtigsten Dienste auswählen, die auf Ihren Rechner installiert werden\n"
+"sollen.\n"
+"\n"
+" * „%s“: Wählen Sie hier Ihre bevorzugte grafische Arbeitsoberfläche. Wenn\n"
+"Sie eine grafische Oberfläche verwenden wollen, so müssen Sie hier\n"
+"zumindest eine Gruppe auswählen.\n"
+"\n"
+"Wenn Sie die Maus über eine Gruppe bewegen, erhalten Sie einen kurzen\n"
+"erklärenden Text über die Gruppe.\n"
+"\n"
+"Sie können auch die „%s“ markieren. Das macht Sinn, wenn Sie die Pakete\n"
+"genau kennen oder wenn Sie volle Kontrolle darüber haben wollen, was\n"
+"installiert werden soll.\n"
+"\n"
+"Haben Sie die Installation als „%s“ gestartet, können Sie die Markierungen\n"
+"aller Gruppen entfernen, um die Installation neuer Pakete zu vermeiden.\n"
+"Hierdurch werden nur bereits installierte Pakete aktualisiert oder\n"
+"repariert.\n"
+"\n"
+"Wenn Sie bei einer normalen Installation alle Gruppen de-markieren\n"
+"erscheint ein Dialog, der Ihnen verschiedene Optionen für eine\n"
+"Minimal-Installation anbietet:\n"
+"\n"
+" * „%s“ Installiert eine rudimentäre grafische Oberfläche;\n"
+"\n"
+" * „%s“ Installiert das Basissystem zuzüglich grundlegender Werkzeuge\n"
+"inklusive deren Dokumentation. Dies ist die sinnvollste Wahl für eine\n"
+"Serverinstallation.\n"
+"\n"
+" * „%s“ Sie erhalten eine komplett „nackte“ 65MB große\n"
+"GNU/Linux-Distribution. Es versteht sich von selbst, dass das nur eine\n"
+"Kommandozeileninstallation sein kann."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualisierung"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Mit minimaler Dokumentation (Empfohlen)"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Minimal-Installation"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Falls Sie sich für die einzelne Paketauswahl entschieden haben erhalten Sie "
+"eine\n"
+"Baumliste aller Pakete, nach Gruppen und Untergruppen klassifiziert. Beim\n"
+"Durchstöbern des Baums können Sie Gruppen, Untergruppen oder einzelne "
+"Pakete\n"
+"auswählen.\n"
+"\n"
+"Wenn Sie ein Paket auswählen, erscheint rechts eine kurze Beschreibung.\n"
+"\n"
+"!! Es kommt vor, dass Server- und Dienst-Pakete angewählt wurden - entweder\n"
+"absichtlich, oder als Paket einer ganzen Gruppe; sollte das der Fall sein,\n"
+"werden Sie nun gefragt, ob Sie diese wirklich installiert haben wollen.\n"
+"Unter Mandriva Linux werden installierte Server und Dienste automatisch "
+"beim\n"
+"Betriebssystemstart gestartet. Selbst wenn zum Zeitpunkt, als die\n"
+"Distribution zusammengestellt wurde, keine Sicherheitslücken oder Fehler in\n"
+"diesen Paketen bekannt waren, ist natürlich nicht auszuschließen, dass\n"
+"später solche Fehler gefunden werden. Sollten Sie also nicht wissen, wovon\n"
+"hier die Rede ist, wählen Sie sicherheitshalber lieber „%s“. Falls Sie mit\n"
+"„%s“ antworten, werden die Dienste und Server installiert und stehen Ihnen\n"
+"nach der Installation standardmäßig zur Verfügung. !!\n"
+"\n"
+"Die Option „%s“ unterdrückt nur die Warnungen, die erscheinen, wenn das\n"
+"Installationsprogramm Pakete automatisch markiert, um Paketabhängigkeiten\n"
+"aufzulösen, wenn Sie ein Paket auswählen. Einige Pakete hängen von der\n"
+"Existenz anderer Pakete ab und die Installation eines Pakets mag die\n"
+"Installation eines anderen voraussetzen. Das Installprogramm ist in der\n"
+"Lage, diese Abhängigkeiten zu erkennen und zu erfüllen.\n"
+"\n"
+"Das kleine Diskettensymbol am unteren Rand der Liste ermöglicht es Ihnen,\n"
+"die während einer vorangegangenen Installation gespeicherte Paketauswahl\n"
+"erneut zu verwenden. Durch Betätigen der Schaltfläche öffnen Sie einen\n"
+"Dialog, der Sie auffordert, die Diskette einzulegen, die die Auswahl der\n"
+"früheren Installation enthält. Um zu erfahren, wie Sie diese Diskette\n"
+"erstellen, lesen Sie bitte den zweiten Tipp des vorangegangenen\n"
+"Installationsschrittes."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatische Abhängigkeiten"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"„%s“: Durch Anwahl der Schaltfläche „%s“ startet den Druckerassistenten.\n"
+"Weitere Informationen zu diesem Assistenten erhalten Sie im Drucker-Kapitel\n"
+"des „Starter Handbuch“. Das dort vorgestellte Programm entspricht dem\n"
+"während der Installation angebotenen."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Als nächstes können Sie die Dienste auswählen, die während des\n"
+"Betriebssystemstarts aktiviert werden sollen.\n"
+"\n"
+"DrakX listet hier alle Dienste, die nach der aktuellen Installation zum\n"
+"BS-Start zur Verfügung stehen, angezeigt. Lesen Sie diese Liste sorgfältig\n"
+"durch und markieren Sie nur die Dienste, die Sie immer ab dem BS-Start zur\n"
+"Verfügung haben wollen.\n"
+"\n"
+"Wenn Sie einen Dienst anwählen, erhalten Sie eine kurze Erklärung dazu.\n"
+"Wenn Sie nicht sicher sind, ob ein Dienst bzw. Server sinnvoll ist oder\n"
+"nicht, verändern Sie am Besten die voreingestellten Markierungen nicht.\n"
+"\n"
+"!! Sollten Sie Ihren Rechner als Server verwenden wollen, so müssen Sie an\n"
+"dieser Stelle besonders vorsichtig sein: wählen Sie alle Dienste ab, die\n"
+"Sie nicht benötigen. Denken Sie daran, dass etliche Dienste eine\n"
+"potentielle Einbruchstelle in das System von außen darstellen, wenn diese\n"
+"im Serverbetrieb laufen. Also, nur die Dienste einschalten, die Sie\n"
+"wirklich brauchen! !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux arbeitet mit GMT (Greenwich Mean Time) und übersetzt diese anhand\n"
+"der Zeitzone in Ihre lokale Zeit. Falls die Uhr Ihres Computers auf die\n"
+"lokale Zeit eingestellt ist, sollten Sie die Option „%s“ deaktivieren.\n"
+"Dadurch wird GNU/Linux mitgeteilt, dass sich die Systemzeit und die\n"
+"Hardware-Uhr in der gleichen Zeitzone befinden. Dieses Verfahren ist\n"
+"notwendig, wenn Sie auf Ihrem Computer noch ein weiteres Betriebssystem per\n"
+"Dual-Boot betreiben.\n"
+"\n"
+"Die Verwendung der Option „%s“ reguliert Ihre Uhr, indem sie Verbindung mit\n"
+"einem Zeitserver im Internet aufnimmt. Wählen Sie aus der Liste einen\n"
+"Server in Ihrer Nähe. Damit die funktioniert benötigen Sie eine ständige\n"
+"Internetverbindung. Mit dieser Option installieren Sie einen Time-Server,\n"
+"der von weiteren Maschinen Ihres lokalen Netzwerks genutzt werden kann."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatische Zeit-Synchronisation (durch NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkarte\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihre Grafikkarte und richtet sie\n"
+"entsprechend ein. Sollten dabei Probleme auftreten, können Sie in der hier\n"
+"aufgeführten Liste Ihr Modell auswählen.\n"
+"\n"
+" Falls für Ihre Karte verschiedene Server zur Verfügung stehen, etwa mit\n"
+"und ohne 3D-Beschleunigung, werden Sie gebeten, den zu wählen, der Ihren\n"
+"Bedürfnissen am besten entspricht."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (das X Window System) ist das Herz der grafischen Benutzeroberfläche von\n"
+"GNU/Linux. Es bildet die Grundlage für die Vielzahl grafischer\n"
+"Benutzerumgebungen, die Mandriva Linux Ihnen anbietet (wie etwa KDE, GNOME,\n"
+"AfterStep oder WindowMaker).\n"
+"\n"
+"Sie erhalten eine Liste möglicher Parameter, mit deren Hilfe Sie die\n"
+"Grafikausgabe ändern können:\n"
+"\n"
+"Grafikkarte\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihre Grafikkarte und richtet sie\n"
+"entsprechend ein. Sollten dabei Probleme auftreten, können Sie in der hier\n"
+"aufgeführten Liste Ihr Modell auswählen.\n"
+"\n"
+" Falls für Ihre Karte verschiedene Server zur Verfügung stehen, etwa mit\n"
+"und ohne 3D-Beschleunigung, werden Sie gebeten, den zu wählen, der Ihren\n"
+"Bedürfnissen am besten entspricht.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihren Monitor. Sollten dabei\n"
+"Probleme auftreten, können Sie in der hier aufgeführten Liste Ihr Modell\n"
+"auswählen.\n"
+"\n"
+"\n"
+"\n"
+"Auflösung\n"
+"\n"
+" Sie können hier Auflösung und Farbtiefe für Ihre Hardware wählen.\n"
+"Entscheiden Sie sich, welche Variante Ihren Wünschen am ehesten entspricht\n"
+"(Sie können diese Angaben natürlich nach der Installation noch ändern).\n"
+"Anhand des abgebildeten Monitors können Sie sich einen sofortigen Eindruck\n"
+"bilden.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Je nach Hardware kann es sein, dass dieser Eintrag nicht erscheint.\n"
+"\n"
+" DrakX versucht eine Testbild mit denen von Ihnen gewünschten\n"
+"Einstellungen zu öffnen. Falls Sie während des Tests einen Dialog sehen, in\n"
+"dem Sie gefragt werden, ob sie die getroffenen Einstellungen behalten\n"
+"wollen, antworten Sie mit „%s“, damit DrakX mit dem nächsten\n"
+"Installationsschritt fortfährt. Sollten Sie die Nachricht nicht sehen,\n"
+"bedeutet das, dass eine oder mehrere getroffene Einstellungen nicht korrekt\n"
+"sind. Nach 12 Sekunden sollten Sie wieder das Installationsmenü sehen. Sie\n"
+"können nun die Einstellungen ändern, bis Sie das Testbild sehen.\n"
+"\n"
+"\n"
+"\n"
+"Optionen\n"
+"\n"
+" Sie können direkt bei Betriebssystemstart die grafische Umgebung\n"
+"aktivieren. Durch Betätigen der Schaltfläche „%s“ wird in eine reine\n"
+"Textumgebung gestartet. Das ist sinnvoll für Server oder wenn Sie bei dem\n"
+"Versuch die grafische Umgebung zu konfigurieren erfolglos waren."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" DrakX erkennt normalerweise automatisch Ihren Monitor. Sollten dabei\n"
+"Probleme auftreten, können Sie in der hier aufgeführten Liste Ihr Modell\n"
+"auswählen."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Auflösung\n"
+"\n"
+" Sie können hier Auflösung und Farbtiefe für Ihre Hardware wählen.\n"
+"Entscheiden Sie sich, welche Variante Ihren Wünschen am ehesten entspricht\n"
+"(Sie können diese Angaben natürlich nach der Installation noch ändern). Sie\n"
+"können sich einen Eindruck anhand des abgebildeten Monitors bilden."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Falls für Ihre Karte verschiedene Server zur Verfügung stehen, etwa mit und\n"
+"ohne 3D-Beschleunigung, werden Sie gebeten, den zu wählen, der Ihren\n"
+"Bedürfnissen am besten entspricht."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Optionen\n"
+"\n"
+" Sie können direkt bei Betriebssystemstart die grafische Umgebung\n"
+"aktivieren. Durch Betätigen der Schaltfläche „%s“ wird in eine reine\n"
+"Textumgebung gestartet. Das ist sinnvoll für Server oder wenn Sie bei dem\n"
+"Versuch die grafische Umgebung zu konfigurieren erfolglos waren."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Sie müssen nun entscheiden, wo auf Ihrer Festplatte Ihr Mandriva Linux\n"
+"System installiert werden soll. Sofern alles leer ist bzw. ein\n"
+"Betriebssystem alles belegt, muss die Festplatte neu partitioniert werden.\n"
+"Prinzipiell besteht das Partitionieren der Festplatte darin, den\n"
+"Plattenplatz so aufzuteilen, dass Ihr Mandriva Linux darauf installiert\n"
+"werden kann.\n"
+"\n"
+"Da dieser Schritt normalerweise irreversibel ist und auch zu Datenverlusten\n"
+"führen kann, haben manche unerfahrenen Benutzer Hemmungen, diesen Schritt\n"
+"auszuführen. Glücklicherweise enthält DrakX einen Assistenten, der den\n"
+"Prozess sehr vereinfacht. Lesen Sie dennoch vor Beginn im Handbuch die\n"
+"entsprechenden Passagen und lassen Sie sich Zeit mit der Entscheidung.\n"
+"\n"
+"Abhängig vom aktuellen Zustand Ihrer Festplatte haben Sie verschiedene\n"
+"Alternativen:\n"
+"\n"
+" * „%s“: Dies führt einfach dazu, dass Ihre leere(n) Festplatte(n)\n"
+"automatisch partitioniert werden; Sie müssen sich also um nichts weiter\n"
+"kümmern.\n"
+"\n"
+" * „%s“: Der Assistent hat eine oder mehrere existierende Linux-Partitionen\n"
+"auf Ihrer Platte gefunden. Wählen Sie diese Schaltfläche, falls Sie sie\n"
+"behalten wollen. Sie werden dann gebeten, die Einhängpunkte der Partitionen\n"
+"anzugeben. Als Vorgabe erhalten Sie die Einhängpunkte der gefundenen\n"
+"Distribution, normalerweise ist es nicht nötig diese zu ändern.\n"
+"\n"
+" * „%s“: Falls der gesamte Plattenplatz aktuell für Microsoft Windows™\n"
+"verschwendet ist, müssen Sie für GNU/Linux Platz schaffen. Um dies zu\n"
+"erreichen, können Sie entweder Ihre Microsoft Windows™ Partition(en)\n"
+"samt Daten löschen (siehe „Komplette Platte löschen“) oder Ihre Microsoft\n"
+"Windows NTFS oder FAT Partition verkleinern. Letzteres geht ohne\n"
+"Datenverlust, vorausgesetzt Sie haben ihre Windows Partition(en) vorher\n"
+"defragmentiert. Dennoch sollten Sie vor diesem Schritt eine Sicherungskopie\n"
+"Ihrer Daten auf einem anderem Medium als der zu verändernden Festplatte\n"
+"vornehmen. Sie sollten diese Variante wählen, falls Sie beide\n"
+"Betriebssysteme (Microsoft Windows und Mandriva Linux) nebeneinander nutzen\n"
+"wollen.\n"
+"\n"
+" Bevor Sie sich für diese Variante entscheiden, sei hier noch einmal\n"
+"betont, dass das bedeutet, Sie haben weniger Platz für Microsoft Windows\n"
+"als momentan.\n"
+"\n"
+" * „%s“: Falls Sie alle Daten Ihrer Platte verlieren, und sie durch Ihr\n"
+"neues Mandriva Linux System ersetzen wollen, wählen Sie diese Schaltfläche.\n"
+"Beachten Sie, dass dieser Schritt nicht rückgängig gemacht werden kann.\n"
+"\n"
+" !! Wenn Sie diese Variante wählen, werden alle Ihre Daten auf der Platte\n"
+"gelöscht! !!\n"
+"\n"
+" * „%s“: Diese Option erscheint, wenn der gesamte Platz von Microsoft\n"
+"Windows eingenommen wird. Bei der Auswahl der Option wird einfach der\n"
+"gesamte Inhalt der Platte gelöscht und neu partitioniert.\n"
+"\n"
+" !! Wenn Sie diese Variante wählen, werden alle Ihre Daten auf der Platte\n"
+"gelöscht! !!\n"
+"\n"
+" * „%s“: Wenn Sie Ihre Festplatte selbst von Hand partitionieren wollen,\n"
+"dann können Sie diese Option wählen. Seien Sie bitte sehr sorgfältig, wenn\n"
+"Sie diese Lösung wählen, da Sie zwar alle möglichen Einstellungen\n"
+"vornehmen, aber gleichzeitig auch sehr leicht Daten verlieren können. Diese\n"
+"Option ist nur geeignet, wenn Sie wissen, was Sie tun. Um zu erfahren, wie\n"
+"Sie DiskDrake verwenden können, lesen Sie bitte das Kapitel „Ihre\n"
+"Partitionen verwalten“ im „Starter Handbuch“."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Verwende existierende Partition(en)"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Komplette Platte löschen"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nun ist es soweit, die Installation ist abgeschlossen und Ihr neues\n"
+"Betriebssystem sollte einsatzbereit sein. Klicken Sie nur noch auf „%s“ und\n"
+"das System wird neu gestartet. Vergessen Sie nicht, vorher das\n"
+"Installationsmedium (CD oder Diskette) zu entfernen. Das erste, was Sie bei\n"
+"dem Neustart nach dem Hardwaretest Ihres Computers sehen, ist das\n"
+"Auswahlmenü Ihres Bootloaders, aus dem Sie das zu startende Betriebssystems\n"
+"auswählen können.\n"
+"\n"
+"Die Schaltfläche „%s“ liefert zwei weitere Schaltflächen:\n"
+"\n"
+" * „%s“: Hiermit können Sie eine Installationsdiskette erstellen, mit deren\n"
+"Hilfe Sie eine identische automatische Installation ohne Interaktion eines\n"
+"Administrators durchzuführen können.\n"
+"\n"
+" Es gibt zwei verschiedene Alternativen, nachdem Sie diese Schaltfläche\n"
+"aktiviert haben:\n"
+"\n"
+" * „%s“: Diese Installation ist nur teilweise automatisch, da der\n"
+"Partitionierungsschritt (aber nur dieser!) immer noch interaktiv vonstatten\n"
+"geht.\n"
+"\n"
+" * „%s“: Vollautomatische Installation: Die Festplatte wird vollständig\n"
+"reorganisiert. Alle darauf vorhandenen Daten gehen verloren!\n"
+"\n"
+" Diese Funktion ist besonders nützlich, wenn man eine Menge von\n"
+"identischer Rechner einrichten will. Weitere Informationen erhalten Sie\n"
+"auch auf der Seite Auto install\n"
+"\n"
+" * „%s“:(*) Sie speichern damit die Paketauswahl, die Sie vorher getroffen\n"
+"haben. Wenn Sie später eine erneute Installation vornehmen wollen, legen\n"
+"Sie einfach die Diskette ins Laufwerk und starten Sie die Installation\n"
+"mittels [F1] an der ersten Eingabeaufforderung. Geben Sie dann »linux\n"
+"defcfg=\"floppy\"« ein.\n"
+"\n"
+"(*) Sie benötigen eine FAT formatierte Diskette (Mittels „mformat a:“ oder\n"
+"„fdformat /dev/fd0“, gefolgt von „mkfs.vfat /dev/fd0“ können Sie unter\n"
+"GNU/Linux eine solche erstellen)."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Erstellen einer Autoinstallations-Diskette"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Sie erhalten hier die Möglichkeit bereits existierende Partitionen neu zu\n"
+"formatieren, um die darauf vorhandenen Daten zu löschen. Markieren Sie\n"
+"diese einfach ebenfalls in der Liste.\n"
+"\n"
+"Es sei angemerkt, dass nicht alle Partitionen neu formatiert werden müssen.\n"
+"Sie sollten normalerweise nur die Partitionen neu formatieren, die\n"
+"Systemdateien, jedoch keine Privatdaten enthalten (etwa „/“, „/usr“ oder\n"
+"„/var“). Partitionen wie etwa „/home“ sollten Sie normalerweise nicht neu\n"
+"formatieren.\n"
+"\n"
+"Seien Sie sorgfältig bei der Auswahl der Partitionen. Nach dem Formatieren\n"
+"sind alle zuvor darauf existierenden Daten unwiederbringlich verloren.\n"
+"\n"
+"Wenn Sie alle Einstellungen vorgenommen haben, betätigen Sie die\n"
+"Schaltfläche „%s“, um mit dem Formatieren der Partitionen zu beginnen.\n"
+"\n"
+"Betätigen Sie „%s“, wenn Sie eine andere Partition für Ihr neues\n"
+"Mandriva Linux vorgesehen haben.\n"
+"\n"
+"Betätigen Sie die Schaltfläche „%s“, falls Sie Partitionen auf defekte\n"
+"Blöcke untersuchen wollen."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Es ist sehr wahrscheinlich, dass zum Zeitpunkt Ihrer Mandriva Linux\n"
+"Installation bereits einige Pakete aktualisiert wurden, etwa da noch Fehler\n"
+"entdeckt und beseitigt wurden oder da in Paketen Sicherheitslücken entdeckt\n"
+"wurden, für die bereits Lösungen existieren. Um von diesen aktualisierten\n"
+"Paketen Gebrauch zu machen, wird Ihnen nun angeboten, diese aus dem\n"
+"Internet nachzuladen. Betätigen Sie die Schaltfläche „%s“, wenn Sie einen\n"
+"Internetzugang haben, um die Pakete zu installieren, andernfalls betätigen\n"
+"Sie die Schaltfläche „%s“. Sie können diese Pakete natürlich auch jederzeit\n"
+"nach der Installation noch installieren.\n"
+"\n"
+"Betätigen der Schaltfläche „%s“ zeigt Ihnen eine Liste von Servern, von\n"
+"denen Sie die Aktualisierungen herunterladen können. Wählen Sie einen in\n"
+"Ihrer Nähe. Sie erhalten dann einen Paketauswahldialog: Kontrollieren Sie\n"
+"die Auswahl und bestätigen Sie diese durch Betätigen von „%s“. Die Pakete\n"
+"werden nun angefordert und installiert. Sollten Sie das nicht wünschen,\n"
+"betätigen Sie einfach die Schaltfläche „%s“."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nun ist es an der Zeit, mittels DrakX die gewünschte Sicherheitsebene für\n"
+"Ihr System festzulegen. Als Faustregel sollte hier dienen: Je zugänglicher\n"
+"die Maschine ist und je kritischer die auf ihr gesicherten Daten sind,\n"
+"desto höher sollte die Sicherheitsebene sein. Andererseits geht die\n"
+"gewonnene Sicherheit zulasten der Benutzerfreundlichkeit und Einfachheit.\n"
+"\n"
+"Sollten Sie sich an dieser Stelle nicht sicher sein, so behalten Sie die\n"
+"Standardeinstellung bei. Sie können die Ebene später noch mittels draksec\n"
+"im Mandriva Linux Control Center anpassen.\n"
+"\n"
+"Das Feld „%s“ dient dazu, dem System mitzuteilen, wer für die Sicherheit\n"
+"dieses Rechners verantwortlich ist. An dieses Kennzeichen/diese E-Mail\n"
+"Adresse werden sicherheitsrelevante Informationen per E-Mail versandt."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sicherheitsadministrator:"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Sie müssen nun entscheiden, auf welche(n) Partition(en) Ihr neues Mandriva\n"
+"Linux System installiert werden soll. Falls bereits Partitionen existieren\n"
+"(etwa von einer früheren Installation von GNU/Linux oder durch das Erzeugen\n"
+"mit einem anderen Partitionierungswerkzeug), können Sie diese verwenden.\n"
+"Anderenfalls müssen Sie Partitionen definieren.\n"
+"\n"
+"Um Partitionen zu erzeugen müssen Sie erst eine Festplatte wählen. Sie\n"
+"können die Platte wählen in dem Sie „hda“ für die erste IDE-Platte wählen,\n"
+"„sda“ für die erste SCSI-Platte, usw.\n"
+"\n"
+"Um die gewählte Platte zu partitionieren stehen folgende Möglichkeiten zur\n"
+"Verfügung:\n"
+"\n"
+" * „%s“: Betätigen dieser Schaltfläche löscht alle Partitionen auf der\n"
+"markierten Festplatte.\n"
+"\n"
+" * „%s“: Dieser Punkt aktiviert die automatische ext3- und\n"
+"Swap-Partitionen-Erstellung im ungenutzten Bereich Ihrer Festplatte.\n"
+"\n"
+"„%s“: bietet Zugriff auf weitere Möglichkeiten:\n"
+"\n"
+" * „%s“: Sie können hiermit Ihre aktuelle Partitionstabelle auf Diskette\n"
+"speichern.\n"
+"\n"
+" * „%s“: Mit dieser Schaltfläche können Sie eine vorher auf Diskette\n"
+"gesicherte Partitionstabelle wieder herstellen.\n"
+"\n"
+" * „%s“: Sollte Ihre Partitionstabelle zerstört worden sein, können Sie\n"
+"versuchen, mit dieser Schaltfläche eine Restaurierung vorzunehmen. Seien\n"
+"Sie vorsichtig! Es ist nicht unwahrscheinlich, dass dieser Versuch fehl\n"
+"schlägt.\n"
+"\n"
+" * „%s“: Alle Änderungen verwerfen und mit der ursprünglichen\n"
+"Partitionstabelle neu beginnen.\n"
+"\n"
+" * „%s“: Entfernen dieser Markierung führt dazu, dass die Anwender\n"
+"hinterher die Wechselmedien manuell ein- und aushängen müssen.\n"
+"\n"
+" * „%s“: Falls Sie keine Ahnung haben wie Sie die Festplatte partitionieren\n"
+"sollen, wählen Sie diese Schaltfläche. Sie überlassen damit die gesamte\n"
+"Arbeit unserem Assistenten, der mittels „Abra Kadabra“™ Ihre Platte\n"
+"partitioniert.\n"
+"\n"
+" * „%s“: Mit dieser Schaltfläche können Sie alle Einstellungen rückgängig\n"
+"machen.\n"
+"\n"
+" * „%s“: Anbieten bzw. Maskieren von Zusatzmöglichkeiten.\n"
+"\n"
+" * „%s“: Nachdem Sie das Partitionieren Ihrer Festplatte beendet haben,\n"
+"aktivieren Sie diese Schaltfläche, um Ihre Änderungen zu speichern.\n"
+"\n"
+"Wenn Sie die Größe einer Partition festlegen wollen, können Sie die\n"
+"Feineinstellungen mit den Rechts- / Links-Pfeiltasten Ihrer Tastatur\n"
+"vornehmen.\n"
+"\n"
+"Information: Sie können alle Einstellungen per Tastatur vornehmen. Mittels\n"
+"[Tab] und den Hoch-/Runter-Pfeiltasten können Sie sich bewegen.\n"
+"\n"
+"Wenn eine Partition ausgewählt ist, können Sie mittels:\n"
+"\n"
+" * Strg-C - eine neue Partition erstellen (wenn Sie auf einer leeren\n"
+"Partition sind)\n"
+"\n"
+" * Strg-D - die Partition löschen\n"
+"\n"
+" * Strg-M - den Einhängpunkt festlegen.\n"
+"\n"
+"Um mehr Informationen über die verschiedenen Dateisystemtypen zu erhalten,\n"
+"lesen Sie bitte das Kapitel ext2FS in der „Referenz“.\n"
+"\n"
+"Falls Sie die Installation auf einem PPC-Rechner vornehmen, sollten Sie\n"
+"eine mindestens 1MB, große HFS Start-Partition für den\n"
+"Betriebssystemstarter yaboot erstellen. Wenn Sie diese Partition etwas\n"
+"größer dimensionieren, etwa 50MB, haben Sie einen geeigneten Platz, um\n"
+"einen Rettungskern samt RamDisk abzulegen, um in Notfällen starten zu\n"
+"können."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Wechselmedien automatisch einhängen"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "In den Normal-Modus wechseln"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Es wurde mehr als eine Windows-Partition gefunden. Wählen Sie bitte, welche\n"
+"Sie verkleinern wollen, um Platz für Ihr neues Mandriva Linux zu schaffen.\n"
+"\n"
+"Die Partitionen werden folgendermaßen aufgelistet: „Linux-Name“,\n"
+"„Windows-Name“, „Kapazität“.\n"
+"\n"
+"„Linux-Name“ hat folgende Struktur: „Festplattentyp“, „Festplattennummer“,\n"
+"„Partitionsnummer“ (etwa „hda1“).\n"
+"\n"
+"„Festplattentyp“ ist „hd“, falls Ihre Platte eine IDE/ATAPI-Platte ist, und\n"
+"„sd“, wenn es sich um eine SCSI-Platte handelt.\n"
+"\n"
+"„Festplattennummer“ ist immer der Buchstabe hinter dem Festplattentyp. Bei\n"
+"IDE-Platten bedeutet:\n"
+"\n"
+" * „a“ ist „Master-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „b“ ist „Slave-Platte am primären IDE-Controller“;\n"
+"\n"
+" * „c“ ist „Master-Platte am sekundären IDE-Controller“;\n"
+"\n"
+" * „d“ ist „Slave-Platte am sekundären IDE-Controller“;\n"
+"\n"
+"Bei SCSI-Platten steht „a“ für „niedrigste SCSI-ID“, „b“ für\n"
+"„zweitniedrigste SCSI-ID“, etc.\n"
+"\n"
+"„Windows-Name“ ist der Buchstabe, den die Partition (vermutlich) unter\n"
+"Windows erhalten würde (die erste Partition der ersten Platte heißt „C:“)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"„%s“: Kontrollieren Sie, ob die Auswahl des Staates, in dem Sie sich\n"
+"befinden korrekt ist. Falls nicht, betätigen Sie bitte die Schaltfläche\n"
+"„%s“ und wählen Sie den richtigen. Ist Ihr Staat nicht in der Liste, können\n"
+"Sie über die Schaltfläche „%s“ eine vollständigere Liste erzwingen."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Dieser Schritt wird nur aufgerufen, wenn mindestens eine GNU/Linux\n"
+"Partition auf Ihren Festplatten gefunden wird.\n"
+"\n"
+"DrakX fragt Sie nun nach der gewünschten Installationsart. Sie haben die\n"
+"Wahl zwischen einer Aktualisierung einer bereits vorhandenen\n"
+"Mandriva Linux-Version oder einer kompletten Neuinstallation:\n"
+"\n"
+" * „%s“: Entfernt komplett ältere Versionen von Mandriva Linux, die noch\n"
+"installiert sind - um genau zu sein, können Sie je nach aktuellem Inhalt\n"
+"Ihrer Platte auch einige ältere Linux- oder anderweitige Partitionen\n"
+"unangetastet behalten. Diese Installationsart ist gut, wenn Sie die\n"
+"Partitionseinteilung auf Ihrer Festplatte sowieso ändern oder das benutzte\n"
+"Dateisystem austauschen wollen\n"
+"\n"
+" * „%s“: Mit dieser Variante können Sie eine existierende Mandriva Linux\n"
+"Version aktualisieren. Die Partitionstabellen sowie die persönlichen\n"
+"Verzeichnisse der Anwender bleiben erhalten. Alle anderen\n"
+"Installationsschritte werden wie bei einer Installation ausgeführt.\n"
+"\n"
+"Aktualisierungen von Mandriva Linux „8.1“ oder neueren Systemen sollten\n"
+"problemlos funktionieren. Ältere Versionen von Mandriva Linux sollten Sie\n"
+"nicht zu aktualisieren versuchen."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Entsprechend der ausgewählten Sprache ()versucht DrakX das für Sie passende\n"
+"Tastaturlayout aus.\n"
+"\n"
+"Möglicherweise haben Sie jedoch eine Tastatur, die nicht dieser Einstellung\n"
+"entspricht: wenn Sie beispielsweise in der Schweiz eine deutsche Tastatur\n"
+"verwenden wollen oder wenn Sie in Québec (dem französischsprachigen Teil\n"
+"Kanadas) eine französischsprachige Tastatur besitzen. Wählen Sie einfach\n"
+"ein passendes Layout aus der Liste.\n"
+"\n"
+"Sollten Sie eine andere als die zur gewählten Sprache gehörende Tastatur\n"
+"verwenden wollen, wählen Sie die Schaltfläche „%s“. Sie erhalten dann eine\n"
+"Liste aller unterstützten Tastaturen.\n"
+"\n"
+"Sollten Sie sich für ein Tastaturlayout einer nicht lateinischen Sprache\n"
+"entschieden haben, werden Sie im nächsten Schritt gefragt, mit welcher\n"
+"Tastenkombination Sie zwischen dem von Ihnen gewählten und dem lateinischen\n"
+"Layout umschalten wollen."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Als ersten Schritt wählen Sie bitte die gewünschte Sprache.\n"
+"\n"
+"Wählen Sie Ihre bevorzugte Sprache für den Installationsvorgang und\n"
+"Systemlaufzeit. Wählen Sie zuerst die Region, in der Sie sich befinden,\n"
+"anschließend die Sprache, die Sie sprechen.\n"
+"\n"
+"Durch Betätigen der Schaltfläche „%s“ erhalten Sie die Möglichkeit, weitere\n"
+"Sprachen auf Ihrem Rechner zu installieren, um diese später verwenden zu\n"
+"können. Wollen Sie etwa Spaniern muttersprachlichen Zugang zu Ihrem System\n"
+"erlauben, wählen Sie Deutsch als Hauptsprache in der Liste und im\n"
+"Fortgeschrittenen-Bereich „%s“.\n"
+"\n"
+"Zur UTF-8 (Unicode) Unterstützung: Unicode ist ein Zeichenkodierung, die\n"
+"die existierenden Kodierungen ablösen soll und die Zeichen aller\n"
+"existierender Sprachen beinhalten. Komplette Unterstützung in GNU/Linux ist\n"
+"leider immer noch nicht gegeben. Daher verwendet Mandriva Linux diese\n"
+"Kodierung nur auf Wunsch des Anwenders:\n"
+"\n"
+" * Falls Sie eine Sprache nutzen, die eine gut unterstütztes Kodierung\n"
+"verwendet (Sprachen mit Lateinischen Zeichen, Russisch, Griechisch,\n"
+"Japanisch, Chinesisch, Koreanisch, Thailändisch), wird standardmäßig das\n"
+"klassische Kodierung beibehalten;\n"
+"\n"
+" * Alle anderen Sprachen verwenden standardmäßig Unicode;\n"
+"\n"
+" * Fall Sie zwei oder mehr Sprachen verwenden wollen, die unterschiedliche\n"
+"klassische Kodierungen verwenden, wird ebenfalls Unicode verwendet;\n"
+"\n"
+" * Schlussendlich kann Unicode vom Anwender auch für Sprachen mit\n"
+"klassischer Kodierung ausgewählt werden, indem er den Punkt „%s“ markiert.\n"
+"\n"
+"Sie sind nicht auf eine weitere Sprache begrenzt. Sie können so viele\n"
+"auswählen, wie Sie wollen, ja sogar alle, indem Sie die Schaltfläche „%s“\n"
+"verwenden. Das Auswählen einer Sprache beeinflusst die installierten\n"
+"Übersetzungen der Programme, Schriften, Rechtschreibkorrekturen, etc.\n"
+"\n"
+"Um die Spracheinstellungen des ganzen Systems zwischen verschiedenen\n"
+"Sprachen umzuschalten, starten Sie einfach „localedrake“ unter dem\n"
+"privilegierten Kennzeichen „root“. Wollen Sie die Einstellungen nur für ein\n"
+"Kennzeichen ändern starten Sie denselben Befehl mit eben diesem\n"
+"Kennzeichen."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanisch"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX versucht normalerweise die Anzahl der Tasten Ihrer Maus zu erkennen.\n"
+"Sollte das nicht möglich sein, so behandelt es Ihre Maus als\n"
+"Zwei-Tasten-Maus und emuliert die mittlere Taste. Die mittlere Taste kann\n"
+"dann durch gleichzeitiges Drücken der rechten und Linken Taste simuliert\n"
+"werden. Üblicherweise erkennt DrakX korrekt, ob es sich um eine serielle,\n"
+"eine PS/2- oder um eine USB-Maus handelt.\n"
+"\n"
+"Falls Sie eine 3-Button-Maus ohne Rad haben können Sie eine Maus „%s“\n"
+"auswählen. DrakX wird dann Ihre Maus so einrichten, dass Sie das Rad in der\n"
+"folgenden Weise simulieren können: Sie drücken die mittlere Maustaste und\n"
+"bewegen Ihren Mauszeiger auf und ab.\n"
+"\n"
+"Sollte dies nicht Ihren Vorstellungen entsprechen: Wählen Sie einfach Ihren\n"
+"Maustyp aus der Liste, die Ihnen angezeigt wird.\n"
+"\n"
+"Einen generischen Maustyp, der mit fast allen Maustypen funktioniert,\n"
+"können Sie über „%s“ einstellen.\n"
+"\n"
+"Sollten Sie einen anderen als den vorgeschlagenen Maustyp gewählt haben, so\n"
+"wird Ihnen ein Testfenster angezeigt. Verwenden Sie die Knöpfe und\n"
+"gegebenenfalls das Mausrad, um sicherzustellen, dass die festgelegten\n"
+"Einstellungen funktionieren. Falls nicht, drücken Sie die Leertaste oder\n"
+"die Eingabetaste, um zurück zum Auswahlmenü zu gelangen und suchen Sie\n"
+"einen anderen Treiber aus.\n"
+"\n"
+"Es kommt vor, dass Mäuse mit Rädern nicht korrekt erkannt werden. Wählen\n"
+"Sie in diesem Fall die richtige Maus aus der vorgegebenen Liste. Stellen\n"
+"Sie sicher, dass Sie auch den Anschluss richtig angegeben haben. Nach\n"
+"betätigen der Schaltfläche „%s“, wird Ihnen ein Bild der gewählten Maus\n"
+"gezeigt. Bewegen Sie Räder und Tasten, um sicherzustellen, dass die Maus\n"
+"richtig erkannt wurde."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "mit Mausrad Emulation"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Alle PS/2 & USB-Mäuse"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Wählen Sie bitte den richtigen Anschluss. So ist etwa der unter Windows\n"
+"„COM1“ genannte Anschluss in GNU/Linux unter „ttyS0“ erreichbar."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Dies ist der wichtigste Punkt in der Absicherung Ihres neuen\n"
+"GNU/Linux-Systems: Sie müssen das Passwort für „root“ eingeben. „root“ ist\n"
+"der Systemadministrator. Er ist der einzige der berechtigt ist, neue\n"
+"Software zu installieren, Systemdateien zu ändern oder neue\n"
+"Benutzer anzulegen. Kurz gesagt: „root“ darf alles! Daher müssen\n"
+"Sie auch ein Passwort auswählen, was nicht leicht zu erraten ist; DrakX\n"
+"teilt Ihnen mit, wenn das Passwort zu einfach ist. Sie sehen, dass es auch\n"
+"möglich ist, kein Passwort zu vergeben. Wir raten Ihnen jedoch dringend\n"
+"davon ab! GNU/Linux ist genauso anfällig für Fehler wie jedes andere \n"
+"Betriebssystem. »root« hat keine Beschränkungen. Er könnte beispielsweise\n"
+"unbeabsichtigterweise alle Daten auf allen Partitionen löschen. Also sollte\n"
+"es schwierig gemacht werden, „root“ zu werden!\n"
+"\n"
+"Das Passwort sollte eine Mischung aus alphanumerischen Zeichen sein und\n"
+"mindestens acht Zeichen lang. Es sollte niemals irgendwo aufgeschrieben\n"
+"werden.\n"
+"\n"
+"Machen Sie das Passwort aber nicht zu lang oder zu kompliziert: Sie sollten\n"
+"es sich ohne großen Aufwand merken können.\n"
+"\n"
+"Bei der Eingabe des Passwortes wird nichts angezeigt. Um ein Verschreiben\n"
+"bei dieser „Blindeingabe“ zu vermeiden müssen Sie das Passwort zweimal\n"
+"eingeben - ein Tippfehler beim ersten Versuch könnte sonst zu einem Problem\n"
+"werden, da Sie anschließend das „falsche“ Passwort bei der Verbindung mit\n"
+"dem System eingeben müssten.\n"
+"\n"
+"Wenn Sie wollen, dass der Zugang zu diesem Rechner über einen\n"
+"Authentifizierungsserver verwaltet wird, betätigen Sie die Schaltfläche\n"
+"„%s“.\n"
+"\n"
+"Falls in Ihrem Netzwerk LDAP, NIS oder PDC zur Authentifizierung verwendet\n"
+"wird, wählen Sie bitte den entsprechenden Menüpunkt für „%s“. Falls Sie "
+"nicht\n"
+"wissen, welches Protokoll Sie verwenden sollen, fragen Sie Ihren\n"
+"Netzwerkadministrator.\n"
+"\n"
+"Wenn Sie Probleme haben, sich Passwörter zu merken, oder Ihr Computer nie\n"
+"mit dem Internet verbunden wird und Sie allen Benutzern Ihres Computers\n"
+"absolut vertrauen, können Sie die Option „%s“ wählen."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "Authentifizierung"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ein Betriebssystemstarter ist ein kleines Programm, das vom Computer\n"
+"während des Startvorganges aufgerufen wird. Es ist für den Start des\n"
+"gesamten Systems verantwortlich. Im Normalfall läuft die Installation des\n"
+"Betriebssystemstarters vollkommen automatisch ab. DrakX analysiert den\n"
+"Bootsektor und ergreift dann die passenden Maßnahmen:\n"
+"\n"
+" * Findet DrakX einen Windows-Bootsektor, ersetzt es ihn durch einen GRUB-\n"
+"oder LILO-Bootsektor. Sie erhalten dadurch die Möglichkeit, beim\n"
+"Systemstart zwischen Windows (bzw. anderen Betriebssystemen, sofern\n"
+"vorhanden) und GNU/Linux auszuwählen;\n"
+"\n"
+" * Findet DrakX einen Linux-Bootsektor vor, ersetzt es ihn durch einen\n"
+"neuen;\n"
+"\n"
+"Falls DrakX nicht weiß, wo der Betriebssystemstarter installiert werden\n"
+"soll, wird es Sie um Ihre Meinung bitten. Normalerweise sollte die\n"
+"Installation auf dem „%s“ erfolgen. Durch Auswahl von „%s“ wird überhaupt\n"
+"kein Starter installiert. Verwenden Sie diese Möglichkeit nur, wenn Sie\n"
+"genau wissen was Sie tun."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Hier können Sie das Drucksystem für Ihren Rechner wählen. Andere\n"
+"Betriebssysteme bieten Ihnen nur eines, bei Mandriva Linux können Sie\n"
+"zwischen zwei verschiedenen wählen. jedes dieser Systeme ist für eine\n"
+"bestimmte Konfiguration des Systems am besten geeignet.\n"
+"\n"
+" * „%s“ -- Es steht für „print, do not queue“ (engl. für „Drucken ohne\n"
+"Warteschlange“). Falls Sie einen Drucker haben, der direkt an Ihrem Rechner\n"
+"hängt und Sie keine Netzwerkdrucker verwenden wollen, ist dies das\n"
+"Drucksystem Ihrer Wahl. „%s“ kann zwar auch mit Netzwerkdruckern umgehen, "
+"ist\n"
+"dabei aber extrem langsam. Wählen Sie „pdq“, wenn Sie ein GNU/Linux Neuling\n"
+"sind.\n"
+"\n"
+" * „%s“ - Mit dem „Common Unix Printing System“ (engl. für „Allgemeines\n"
+"Unix-Drucksystem“) können Sie ebensogut auf Ihrem direkt angeschlossenen\n"
+"Drucker drucken, wie auf einem Drucker, der an einem Server auf der anderen\n"
+"Seite der Welt hängt. Es ist einfach zu bedienen und kann sowohl als Server\n"
+"als auch als Klient für das alte „lpd“-Drucksystem verwendet werden - Es\n"
+"ist somit rückwärtskompatibel. Es ist sehr mächtig, in seiner\n"
+"Grundeinstellung verhält es sich jedoch genau wie „pdq“. Wenn Sie einen\n"
+"„lpd“ Server benötigen, müssen Sie einfach nur den „cups-lpd“ Dämon\n"
+"starten. „%s“ bietet grafische Konfigurations- und Druckmenüs.\n"
+"\n"
+"Sie können diese Wahl später immer wieder ändern, indem Sie PrinterDrake\n"
+"aus dem Mandriva Linux Control Center starten und dort die Schaltfläche „%"
+"s“\n"
+"betätigen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expertenmodus"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX versucht nun alle IDE Festplatten Ihres Systems zu finden. Unter\n"
+"Anderem sucht DrakX auch nach PCI-SCSI-Karten, die es kennt, um sie\n"
+"automatisch mit dem richtigen Treiber einzubinden.\n"
+"\n"
+"Falls DrakX nicht weiß, welcher Treiber funktioniert, werden Sie gebeten,\n"
+"DrakX zu helfen.\n"
+"\n"
+"Sollten Sie die PCI-SCSI-Karte selbst angegeben haben, wird DrakX Sie\n"
+"fragen, ob Sie weitere Parameter angeben wollen. Sie sollten DrakX\n"
+"erlauben, die kartenspezifischen Informationen selbst zu finden. In den\n"
+"meisten Fällen wird DrakX diesen Schritt ohne Ihre Hilfe bewerkstelligen.\n"
+"\n"
+"Falls DrakX nicht in der Lage ist, die Parameter selbst zu finden, die dem\n"
+"Modul zu übergeben sind, müssen Sie diese angeben.\n"
+"\n"
+"Sie können die benötigten Informationen etwa unter Windows (sofern das auf\n"
+"Ihren Rechner installiert ist) finden, aus den Handbüchern, die sie mit dem\n"
+"Adapter erhalten haben oder von den Web-Seiten des Hardware-Anbieters\n"
+"(sofern Sie einen WWW-Zugang haben)."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"„%s“: Falls eine Soundkarte in Ihrem Rechner gefunden wurde, wird sie hier\n"
+"angezeigt. Sollte die von DrakX getroffene Auswahl nicht korrekt sein,\n"
+"betätigen Sie einfach die Schaltfläche, um sie zu korrigieren."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Nun bekommen Sie eine Zusammenfassung verschiedener Informationen Ihres\n"
+"Systems. Je nach vorhandener Hardware sehen Sie hier (oder eben nicht) die\n"
+"folgende Einträge. Jeder Eintrag besteht aus einem konfigurierbaren Gerät\n"
+"gefolgt vom dessen aktuellen Zustand. Durch Betätigen der Schaltfläche „%s“\n"
+"können Sie diesen ändern.\n"
+"\n"
+" * „%s“: Kontrollieren Sie die aktuelle Tastaturvorgabe und wählen Sie die\n"
+"Schaltfläche, falls Sie die Vorgabe ändern wollen.\n"
+"\n"
+" * „%s“: Kontrollieren Sie, ob die Auswahl des Staates, in dem Sie sich\n"
+"befinden korrekt ist. Falls nicht, betätigen Sie bitte die Schaltfläche\n"
+"„%s“ und wählen Sie den richtigen. Ist Ihr Staat nicht in der Liste, können\n"
+"Sie über die Schaltfläche „%s“ eine vollständigere Liste erzwingen.\n"
+"\n"
+" * „%s“: DrakX versucht die Zeitzone anhand des gewählten Staates zu\n"
+"setzen. Sollte diese Auswahl nicht korrekt sein können Sie durch Betätige\n"
+"der Schaltfläche „%s“ Ihre lokale Zeitzone setzen.\n"
+"\n"
+" * „%s“: Kontrollieren Sie die konfigurierte Maus und betätigen Sie, falls\n"
+"notwendig, die Schaltfläche.\n"
+"\n"
+" * „%s“: Durch Anwahl der Schaltfläche „%s“ startet den Druckerassistenten.\n"
+"Weitere Informationen zu diesem Assistenten erhalten Sie im Drucker-Kapitel\n"
+"des „Starter Handbuch“. Das dort vorgestellte Programm entspricht dem\n"
+"während der Installation angebotenen.\n"
+"\n"
+" * „%s“: Falls eine Soundkarte in Ihrem Rechner gefunden wurde, wird sie\n"
+"hier angezeigt. Sollte die von DrakX getroffene Auswahl nicht korrekt sein,\n"
+"betätigen Sie einfach die Schaltfläche, um sie zu korrigieren.\n"
+"\n"
+" * „%s“: Falls eine TV-Karte in Ihrem Rechner gefunden wurde, wird sie hier\n"
+"angezeigt. Falls Sie eine TV-Karte besitzen, die hier nicht richtig erkannt\n"
+"wurde, können Sie versuchen, diese manuell einzurichten. Betätigen Sie\n"
+"einfach die Schaltfläche „%s“.\n"
+"\n"
+" * „%s“: Falls eine ISDN Karte in Ihrem Rechner gefunden wurde, wird sie\n"
+"hier angezeigt. Durch Anwahl der Schaltfläche „%s“ können Sie die Parameter\n"
+"ändern.\n"
+"\n"
+" * „%s“: DrakX richtet Ihre Grafikumgebung normalerweise in der Auflösung\n"
+"„800×600“ bzw. „1024×768“ ein. Sollte Ihnen das nicht zusagen, können Sie\n"
+"es durch betätigen der Schaltfläche „%s“ ändern.\n"
+"\n"
+" * „%s“: Falls Sie Ihren Internetzugang oder Ihr lokales Netzwerk nun\n"
+"einrichten wollen, können Sie das hier tun. Lesen Sie sich dazu die\n"
+"gedruckte Dokumentation durch oder benutzen Sie das Mandriva Linux Control\n"
+"Center nachdem die Installation beendet ist.\n"
+"\n"
+" * „%s“: Hier können Sie HTTP- und FTP-Proxyadressen eintragen falls Ihre\n"
+"Maschine die Verbindung über einen Proxyserver abwickelt.\n"
+"\n"
+" * „%s“: Dieser Eintrag ermöglicht es Ihnen, die Sicherheitsebene Ihres\n"
+"Systems zu ändern, die Sie in einem früheren Installationsschritt ()\n"
+"gewählt haben.\n"
+"\n"
+" * „%s“: Falls Sie Ihren Rechner mit dem Internet verbinden wollen, ist es\n"
+"sinnvoll sich vor ungebetenen Eindringlingen durch Einrichten einer\n"
+"Firewall zu schützen. Weitere Informationen erhalten Sie im „Starter\n"
+"Handbuch“.\n"
+"\n"
+" * „%s“: Falls Sie die Konfiguration Ihres Betriebssystemstarters\n"
+"(„Bootloader“) ändern wollen, wählen Sie diese Schaltfläche. Es sei\n"
+"angemerkt, dass dieser Punkt sich an fortgeschrittenere Nutzer richtet.\n"
+"Hilfe finden Sie in der gedruckten Dokumentation oder im integrierten\n"
+"Hilfeteil des Mandriva Linux Control Center.\n"
+"\n"
+" * „%s“: Sie können hier die Dienste wählen, die ab dem Start von\n"
+"Mandriva Linux zur Verfügung gestellt werden sollen. Wollen Sie den Rechner\n"
+"als Server verwenden, sollten Sie unbedingt einen Blick auf diese Liste\n"
+"werfen."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-Karte"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafikumgebung"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Bitte wählen Sie die Festplatte, die Sie löschen wollen, um Ihr neues\n"
+"Mandriva Linux zu installieren. Bedenken Sie dabei, dass alle Daten auf\n"
+"dieser Platte nach diesem Schritt unwiederbringlich verloren sind!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/de/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Betätigen Sie die Schaltfläche „%s“, wenn Sie alle Partitionen und die\n"
+"darauf befindlichen Daten löschen wollen. Bedenken Sie, dass Sie nach\n"
+"betätigen der Schaltfläche „%s“ auch an die möglicherweise noch vorhandenen\n"
+"Windows-Daten nicht mehr gelangen werden!\n"
+"\n"
+"Wählen Sie „%s“, um die Aktion ohne Datenverlust abzubrechen."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Weiter ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Zurück"
+
diff --git a/perl-install/install/help/po/el.po b/perl-install/install/help/po/el.po
new file mode 100644
index 000000000..7269f5adf
--- /dev/null
+++ b/perl-install/install/help/po/el.po
@@ -0,0 +1,1791 @@
+# translation of DrakX-el.po to Greek
+# Greek translation for drakfloppy.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Thanos Kyritsis <djart@hellug.gr>, 2001.
+# Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-el\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:28+0200\n"
+"Last-Translator: Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>\n"
+"Language-Team: Greek <nls@tux.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"\n"
+" Linux\n"
+" Αποδοχή\n"
+"."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"Linux χρήστης χρήστης\n"
+"\n"
+" χρήστης\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" χρήστης\n"
+"\n"
+"\n"
+"\n"
+" χρήστης\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Χρήστης\n"
+" χρήστης\n"
+" εξ' ορισμού\n"
+" χρήστης\n"
+"\n"
+" απλό\n"
+"\n"
+"\n"
+" Αποδοχή χρήστης Προσθήκη χρήστης\n"
+"\n"
+" Επόμενο\n"
+"\n"
+" Για Προχωρημένους εξ' ορισμού\n"
+" χρήστης εξ' ορισμού\n"
+"\n"
+" Πότε χρήστης\n"
+"\n"
+"\n"
+" χρήστης Επόμενο\n"
+" Ολοκληρώθηκε\n"
+"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Θέλετε να χρησιμοποιήσετε αυτή τη λειτουργία;"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Linux ανιχνεύθηκε\n"
+"\n"
+"\n"
+" Ολοκληρώθηκε\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+" Όνομα\n"
+"\n"
+" Όνομα\n"
+"\n"
+"\n"
+" IDE\n"
+"\n"
+"\n"
+" IDE\n"
+"\n"
+"\n"
+" πρωτεύουσα IDE\n"
+"\n"
+" πρωτεύουσα IDE\n"
+"\n"
+" δευτερεύουσα IDE\n"
+"\n"
+" δευτερεύουσα IDE\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Η εγκατάσταση του Mandriva Linux είναι μοιρασμένο σε αρκετά CD-ROM. Το \n"
+"DrakX ξέρει αν ένα επιλεγμένο πακέτο υπάρχει σε άλλο CD-ROM, θα εξάγει το \n"
+"τρέχον CD και θα ζητήσει να εισάγετε ένα άλλο όταν αυτό θα χρειαστεί."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+" Σταθμός Εργασίας\n"
+" Ανάπτυξη\n"
+"\n"
+" Σταθμός Εργασίας\n"
+"\n"
+"\n"
+"\n"
+" Ανάπτυξη\n"
+"\n"
+"\n"
+" Εξυπηρετητής εξυπηρετητής\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Μετακίνηση σε εξέλιξη Ομάδα εργασίας:\n"
+" Ομάδα εργασίας:\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Αναβάθμιση\n"
+" νέο\n"
+"."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Αναβάθμιση"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Με την βασική τεκμηρίωση (συνιστάται!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Ελάχιστη Εγκατάσταση"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+" Ομάδα εργασίας:\n"
+"\n"
+" εξ' ορισμού Linux\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+" Όχι Ναι\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+" απενεργοποίηση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"Εκτυπωτής Όχι Εκτυπωτής\n"
+"\n"
+" νέο\n"
+"."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+"\n"
+" εξυπηρετητής\n"
+"!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Linux\n"
+"\n"
+"\n"
+" HardDrake Linux\n"
+"\n"
+" Τομέας Windows \n"
+"\n"
+"\n"
+" εξυπηρετητής Διαδίκτυο\n"
+" Διαδίκτυο\n"
+" εξυπηρετητής\n"
+" εξυπηρετητής."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Αυτόματος συγχρονισμός ώρας (χρήση NTP)"
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+"."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Σύστημα Linux\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Οθόνη\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Ανάλυση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Δοκιμή\n"
+"\n"
+"\n"
+" Ναι\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Επιλογές\n"
+"\n"
+"\n"
+"\n"
+" Όχι εξυπηρετητής\n"
+"."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Οθόνη\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ανάλυση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"\n"
+" εξυπηρετητής\n"
+"."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"\n"
+"\n"
+" Όχι\n"
+" εξυπηρετητής\n"
+"."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"\n"
+" Linux\n"
+"\n"
+"\n"
+" νέο\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" χρήστης\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" ανιχνεύθηκε\n"
+" Linux\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+"\n"
+" Τομέας Windows Τομέας Windows \n"
+"\n"
+" Linux Διαγραφή\n"
+" Τομέας Windows \n"
+" Τομέας Windows Αλλαγή μεγέθους\n"
+"\n"
+" Τομέας Windows \n"
+"\n"
+" Linux Τομέας Windows \n"
+"\n"
+"\n"
+" Τομέας Windows \n"
+"\n"
+" Τομέας Windows νέο\n"
+"\n"
+" Διαγραφή\n"
+" νέο Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Λίστα Αφαίρεσης Τομέας Windows \n"
+" Όλα\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Προσαρμοσμένο\n"
+"\n"
+"\n"
+" Ολοκληρώθηκε\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Χρήση υπαρχουσών κατατμήσεων"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Διαγραφή ολόκληρου του δίσκου"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Linux\n"
+" Επόμενο\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Για Προχωρημένους\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Επαναφόρτωση\n"
+"\n"
+"\n"
+" Αυτόματο\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Αποθήκευση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Linux\n"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Δημιουργία δισκέτας αυτόματης εγκατάστασης"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Επόμενο\n"
+"\n"
+" Προηγούμενο\n"
+" νέο Linux\n"
+"\n"
+" Για Προχωρημένους\n"
+"."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Linux\n"
+"\n"
+"\n"
+" Διαδίκτυο\n"
+" Ναι Διαδίκτυο Όχι\n"
+"\n"
+"\n"
+" Ναι\n"
+"\n"
+" Εγκατάσταση\n"
+" Άκυρο."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"επίπεδο\n"
+" επίπεδο\n"
+"\n"
+" Διαδίκτυο επίπεδο\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξ' ορισμού."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Διαχειριστής Ασφαλείας:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"\n"
+" Linux\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" IDE\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άλλα\n"
+"\n"
+" Αποθήκευση\n"
+"\n"
+"\n"
+"\n"
+" Επαναφορά\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" μετά βίας\n"
+"\n"
+"\n"
+"\n"
+" Οδηγός\n"
+"\n"
+"\n"
+"\n"
+" Αναίρεση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Ολοκληρώθηκε\n"
+"\n"
+"\n"
+" Πότε\n"
+"\n"
+"\n"
+"\n"
+" Ολοκληρώθηκε\n"
+"\n"
+" Πότε\n"
+"\n"
+" νέο\n"
+"\n"
+" Διαγραφή\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" HFS\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Αυτόματη σύνδεση αποσπώμενων μονάδων"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Αλλαγή σε κανονικό τρόπο λειτουργίας"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Περισσότερες των μία κατατμήσεις Windows βρέθηκαν στον δίσκο σας. Παρακαλώ \n"
+"επιλέξτε ποια θέλετε να συρρικνώσετε για να εγκαταστήσετε το Mandriva "
+"Linux.\n"
+"\n"
+"Κάθε κατάτμηση αναφέρεται ως: \"Όνομα Linux\", \"Όνομα Windows\"\n"
+"\"Χωρητικότητα\".\n"
+"\n"
+"Το όνομα Linux σημαίνει τα εξής: \"Τύπος δίσκου\",\"αριθμός δίσκου\",\n"
+"\"αριθμός κατάτμησης για παράδειγμα, \"hda1\").\n"
+"\n"
+"Ο \"Τύπος δίσκου\" είναι \"hd\" εάν πρόκειται για δίσκο IDE και \"sd\" \n"
+"για SCSI δίσκο.\n"
+"\n"
+"Ο \" αριθμός δίσκου\"είναι πάντα ένα γράμμα μετά το \"hd\" ή \"sd\". Για\n"
+"τους IDE δίσκους: \n"
+"\n"
+" * \"a\" είναι ο \"master δίσκος στον πρώτο ελεγκτή IDE\",\n"
+"\n"
+" * \"b\" είναι ο \"slave δίσκος στον πρώτο ελεγκτή IDE\",\n"
+"\n"
+" * \"c\" είναι ο \"master δίσκος στον δεύτερο ελεγκτή IDE\",\n"
+"\n"
+" * \"d\" είναι ο \"slave δίσκος στον δεύτερο ελεγκτή IDE\".\n"
+"\n"
+"Για δίσκους SCSI, \"a\" είναι ο πρώτος δίσκος, \"b\" είναι ο δεύτερος "
+"δίσκος\n"
+" κλπ...\n"
+"\n"
+"Το \"Όνομα Windows\" είναι το γράμμα της κατάτμησης όπως φαίνεται από τα\n"
+"Windows (ο πρώτος δίσκος ή κατάτμηση λέγεται \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"Χώρα\": ελέγξτε την επιλογή χώρας. Αν δεν είστε σε αυτή τη χώρα,\n"
+"κάντε κλικ στο πλήκτρο και επιλέξτε μια άλλη."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"ενεργοποίηση τώρα Linux\n"
+"\n"
+"\n"
+" νέο\n"
+" Linux\n"
+"\n"
+" Εγκατάσταση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Αναβάθμιση\n"
+" Linux\n"
+" χρήστης\n"
+"\n"
+"\n"
+" Αναβάθμιση Linux\n"
+" εκτελείται Αναβάθμιση\n"
+" Linux."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"εξ' ορισμού\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άλλα\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+" Για Προχωρημένους\n"
+"\n"
+"\n"
+" Ισπανία\n"
+" εξ' ορισμού Για Προχωρημένους\n"
+"\n"
+"\n"
+"\n"
+" Επόμενο\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" χρήστης\n"
+" χρήστης."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" σειριακό\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Με ροδάκι ανιχνεύθηκε\n"
+"\n"
+"\n"
+" Επόμενο\n"
+" ενεργοποίηση τώρα\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Προσομοίωση Κουμπιών"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Παρακαλώ επιλέξτε την κατάλληλη θύρα. Για παράδειγμα,\n"
+"η\"COM1\" στα Windows ονομάζεται \"ttyS0\" στο GNU/Linux."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Linux\n"
+" Root\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+" σημαντικό\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής Για Προχωρημένους\n"
+"\n"
+" LDAP NIS Τομέας Windows Τομέας\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Όχι Διαδίκτυο\n"
+"."
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Πιστοποίηση"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Άλλο\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" απλό\n"
+"\n"
+" Linux\n"
+"\n"
+" CUPS Εκτύπωση Σύστημα\n"
+"\n"
+" απλό εξυπηρετητής\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+" CUPS\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" εκτελείται\n"
+"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Εξπέρ"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"IDE\n"
+" PCI\n"
+"\n"
+"\n"
+"\n"
+" PCI Ναι\n"
+" Όχι\n"
+"\n"
+" ανιχνεύθηκε\n"
+" Επόμενο Επόμενο\n"
+"\n"
+"\n"
+" PCI\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"ανιχνεύθηκε\n"
+"\n"
+"\n"
+"."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Εσωτερική κάρτα ISDN"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Γραφικό περιβάλλον"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Επιλέξτε τον δίσκο που θέλετε να διαγράψετε για να εγκαταστήσετε \n"
+"την νέα κατάτμηση Mandriva Linux. ΠΡΟΣΟΧΗ: Όλα τα δεδομένα θα διαγραφούν\n"
+"και θα είναι αδύνατη η επαναφορά τους!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Κάντε κλικ στο \"Επόμενο ->\" εάν θέλετε να διαγράψετε όλα τα δεδομένα\n"
+"τις κατατμήσεις που βρίσκονται στον σκληρό σας δίσκο. Προσοχή μετά\n"
+"που θα κλικ στο \"Επόμενο ->\"δεν θα μπορείτε να ανακτήσετε τα δεδομένα\n"
+"και τις κατατμήσεις που βρίσκονται στον δίσκο μαζί και τα Windows\n"
+" Επόμενο\n"
+"\n"
+"Κάντε κλικ στο \"<- Προηγούμενο\" για να τερματίσετε τη λειτουργία αυτή\n"
+"χωρίς να χάσετε τα δεδομένα και τις κατατμήσεις σας στο δίσκο."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Επόμενο ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Προηγούμενο"
+
diff --git a/perl-install/install/help/po/eo.po b/perl-install/install/help/po/eo.po
new file mode 100644
index 000000000..0a09d09e4
--- /dev/null
+++ b/perl-install/install/help/po/eo.po
@@ -0,0 +1,1196 @@
+# Esperanto drakbootdisk
+# Copyright (C) 2000, 2001 Mandriva
+# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2003-03-12 18:31-0400\n"
+"Last-Translator: Vilhelmo Lutermano <vlutermano@free.fr>\n"
+"Language-Team: esperanto <eo@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ĉu vi deziras uzi tiun funkcion?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualigo"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Kun baza dokumentaĵo (rekomendita!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimuma instalado"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tiu ĉi dialogo uzeblas por elekti kiujn servojn vi deziras startigi kiam vi "
+"startigas\n"
+"vian komputilon.\n"
+"DrakX listigos ĉiujn servojn atingeblajn en la nuna instalaĵo.\n"
+"Kontrolu ĉiujn zorge kaj malelektu tiujn kiuj ne estas ĉiam bezonataj\n"
+"dum la starto.\n"
+"Kiam via muso estas supre de ero, malgranda balono\n"
+"ekaperas por helpi vin. Ĝi priskribas la rolon de la servo.\n"
+"Tamen, se vi ne certas ĉu iu servo utilas aŭ ne, prefere lasu la defaŭltan "
+"sintenon.\n"
+"\n"
+"!!Zorgegu en ĉi tiu paŝo se vi intencas uzi vian komputilon kiel servilo:\n"
+"ne startu servojn kiujn vi ne bezonas. Memoru ke certaj servoj povas esti\n"
+"danĝeraj se ili estas aktivigitaj en servilo. Ĝenerale,\n"
+"elektu nur tiujn servojn kiujn vi vere bezonas.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Auxtomata hor-sinkronizado (uzante NTP) "
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Uzu ekzistantajn subdiskojn"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Forviŝu la tutan diskon"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Kreu aŭtoinstalan disketon"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Malproksimaj lpd Printilaj Opcioj"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Aŭtomata kroĉado de demeteblaj aparatoj"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ŝanĝu al Normala reĝimo"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Loĝiteka MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Bonvolu elekti la ĝustan pordon. Ekzemple, la \"COM1\"-a\n"
+"pordo sub MS Vindozo estas nomata \"ttyS0\" sub GNU/Linukso."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Aŭtentikigado"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO kaj grub estas GNU/Linuksaj startigiloj. Normale, tiu paŝo estas "
+"komplete\n"
+"aŭtomata. DrakX analizos la startsektoron de la disko kaj agas laŭ tio\n"
+"kion ĝi trovas tie:\n"
+"\n"
+" * se ĝi trovas vindozan startsektoron, ĝi anstataŭigos tiun per grub/LILO-"
+"a startsektoro.\n"
+"Tiel vi povos ŝargi aŭ GNU/Linukson aŭ alian mastrumsistemon.\n"
+"\n"
+" * se ĝi trovas grub- aŭ LILO-startsektoron, ĝi anstataŭigos tiun per "
+"nova.\n"
+"\n"
+" * se ĝi ne povas determini, DrakX demandos vin kien ĝi metu la\n"
+"startigilon.\n"
+"\n"
+"\"Boot device\": En plej multaj okazoj, vi ne ŝanĝu la defaŭltan (\"Unua\n"
+"sektoro de la disko (MBR)\"), sed se vi preferas, la startigilo povas esti\n"
+"instalata sur la dua fiksdisko (\"/dev/hdb\"), aŭ eĉ sur disketo\n"
+"(\"Sur disketo\")."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nun estas tempo por elekti pressistemon por via komputilo. Aliaj mastrum-"
+"sistemoj\n"
+"proponas al vi unu, sed Mandriva Linukso proponas du. Ĉiu el la "
+"pressistemoj\n"
+"plej taŭgas por aparta tipo de konfigurado.\n"
+"\n"
+" * \"pdq\" -- kio estas akronimo por \"print, do not queue\" (presu, ne "
+"vicigu), elektindas\n"
+"se vi havas rektan konekton kun via presilo, vi ŝatus eskapi el problemoj "
+"kun\n"
+"aliaj presiloj, kaj vi ne havas retajn presilojn. (\"pdq\"\n"
+"pritraktos nur tre simplajn retokazojn kaj estas iom malrapida se\n"
+"uzata kun retoj.) Konsilindas uzi \"pdq\" se tio ĉi estas via\n"
+"unua sperto kun GNU/Linukso.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\", estas bonega elekto por\n"
+"presigi vian lokan presilon aŭ iun ie tra la planedo. Ĝi estas\n"
+"facile konfigurebla kaj povas agi kiel servilo aŭ kiel kliento por la "
+"antaŭa\n"
+"\"lpd \" pressistemo, kaj estas kongrua kun pli malnovaj mastrum-sistemoj\n"
+"kiuj eble ankoraŭ bezonas presservojn. Kvankam tre potenca, la baza "
+"konfigurado\n"
+"estas preskaŭ same simpla kiel \"pdq\". Se vi bezonas imiti \"lpd\"-"
+"servilon,\n"
+"certiĝu ke vi aktivigis la \"cups-lpd\"-demonon. \"%s\" enhavas grafikajn\n"
+"'front-ends' por presi aŭ por elekti presil-opciojn kaj por mastrumi\n"
+"la presilon.\n"
+"\n"
+"Se vi faras vian elekton nun, kaj poste trovas ke vi ne ŝatas vian "
+"pressistemon,\n"
+"vi povas ŝanĝi ĝin rulante PrinterDrake ekde la Mandriva KontrolCentro kaj\n"
+"alklaki la eksperto-butonon."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Spertulo"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX unue detektos iujn IDE-aparatojn en via komputilo. Ĝi ankaŭ\n"
+"serĉas unu aŭ plurajn PCI-SCSI-kartojn en via sistemo. Se SCSI-karto\n"
+"estas trovita, DrakX aŭtomate instalos la taŭgan pelilon.\n"
+"\n"
+"Ĉar detektado de aparataro ne estas absolute senerara, DrakX povas\n"
+"malsukcesi detektante viajn fiksdiskojn. Se tiel, vi devos mem mane entajpi\n"
+"vian aparataron.\n"
+"\n"
+"Se vi devis mane entajpi vian PCI-SCSI-adaptilon, DrakX demandos ĉu vi\n"
+"deziras konfiguri opciojn por ĝi. Prefere permesu al DrakX provi la "
+"aparatojn\n"
+"por la kartospecifaj opcioj kiuj estas bezonataj por inici la adaptilon. "
+"Plej ofte,\n"
+"DrakX trairos tiun paŝon sen ajna problemo.\n"
+"\n"
+"Se DrakX ne kapablas provi kiujn parametrojn la opcioj aŭtomate devas doni "
+"al la\n"
+"aparatoj, vi devos mane konfiguri la pelilon."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Interna ISDN-karto"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Grafika interfaco"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sekvanta ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Antaŭa"
+
diff --git a/perl-install/install/help/po/es.po b/perl-install/install/help/po/es.po
new file mode 100644
index 000000000..0a14c851b
--- /dev/null
+++ b/perl-install/install/help/po/es.po
@@ -0,0 +1,2046 @@
+# traducción de DrakX-es.po to Español
+# spanish translation of DrakX
+# Copyright (C) 2000, 2001,2002 Mandriva S.A.
+# Fabian Mandelbaum <fabman@mandriva.com>, 2000, 2001, 2002,2003, 2004.
+# Fabian Mandelbaum <fmandelbaum@hotmail.com>, 2003, 2004.
+# Pablo Saratxaga <pablo@mandriva.com>, 2004.
+# Jaime Crespo <505201@unizar.es>, 2004, 2005.
+# José Manuel Pérez <jmprodu@hotmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-es\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-04-24 11:46+0200\n"
+"Last-Translator: José Manuel Pérez <jmprodu@hotmail.com>\n"
+"Language-Team: Español <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, debería leer cuidadosamente los términos de la\n"
+"licencia. La misma cubre a toda la distribución Mandriva Linux. Si está de\n"
+"acuerdo con todos los términos en la misma, haga clic en el botón \"%s\".\n"
+"Si no, haga clic en el botón \"%s\" lo que reiniciará su computadora."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux es un sistema multiusuario, y esto significa que cada usuario\n"
+"puede tener sus preferencias propias, sus archivos propios, y así\n"
+"sucesivamente. Puede leer la \"Guía de Comienzo\" para aprender más. Pero,\n"
+"a diferencia de \"root\", que es el administrador del sistema, los usuarios\n"
+"que agregue en este punto no estarán autorizados a cambiar nada excepto su\n"
+"configuración y sus archivos propios, protegiendo al sistema contra cambios\n"
+"no intencionales o maliciosos que pueden impactar al sistema como un todo.\n"
+"Tendrá que crear al menos un usuario no privilegiado para Usted mismo - esa\n"
+"cuenta es la que debería utilizar para el uso rutinario diario. Aunque es\n"
+"muy práctico ingresar como \"root\" para hacer cualquier cosa y de todo,\n"
+"¡también puede ser muy peligroso! Un error podría significar que su sistema\n"
+"deje de funcionar. Si comete un error serio como usuario no privilegiado,\n"
+"sólo puede llegar a perder algo de información, pero no afectar a todo el\n"
+"sistema.\n"
+"\n"
+"El primer campo le pide un nombre real. Por supuesto, esto no es\n"
+"obligatorio - en realidad, puede ingresar lo que desee. DrakX usará la\n"
+"primer palabra que ingresó y la copiará al campo \"%s\", que es el nombre\n"
+"que este usuario en particular usará para ingresar al sistema. Si lo desea,\n"
+"puede omitir lo predeterminado y cambiar el nombre de usuario. El próximo\n"
+"paso es ingresar una contraseña. La contraseña de un usuario no\n"
+"privilegiado (regular) no es tan crucial como la de \"root\" desde el punto\n"
+"de vista de la seguridad, pero esto no es razón alguna para obviarla o\n"
+"hacerla muy simple: después de todo, son sus archivos los que podrían estar\n"
+"en peligro.\n"
+"\n"
+"Una vez que hace clic sobre \"%s\", puede agregar otros usuarios. Agregue\n"
+"un usuario para cada uno de sus amigos: por ejemplo su padre o su hermana.\n"
+"Haga clic sobre \"%s\" cuando haya terminado de agregar todos los usuarios\n"
+"que desee.\n"
+"\n"
+"Hacer clic sobre el botón \"%s\" le permite cambiar el \"shell\"\n"
+"predeterminado para ese usuario (bash, por defecto)\n"
+"\n"
+"Cuando haya finalizado de añadir todos los usuarios se le propone elegir un\n"
+"usuario para conectarse automáticamente en el sistema cuando arranca la\n"
+"computadora. Si está interesado en esta característica (y no le importa\n"
+"mucho la seguridad local), elija el usuario y administrador de ventanas\n"
+"deseado. Si no está interesado en esta característica, quite la marca de la\n"
+"casilla \"%s\". Haga clic sobre \"%s\" una vez que seleccionó su\n"
+"preferencia."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "¿Desea usar esta característica?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aquí se listan las particiones Linux existentes que se detectaron en su\n"
+"disco rígido. Puede mantener las elecciones hechas por el asistente, ya que\n"
+"las mismas son buenas para las instalaciones más comunes. Si hace cambios,\n"
+"al menos debe definir una partición raíz (\"/\"). No elija una partición\n"
+"muy pequeña o no podrá instalar software suficiente. Si desea almacenar sus\n"
+"datos en una partición separada, también puede necesitar crear una\n"
+"partición para \"/home\" (sólo es posible si tiene más de una partición\n"
+"Linux disponible)\n"
+"\n"
+"Cada partición se lista como sigue: \"Nombre\", \"Capacidad\".\n"
+"\n"
+"\"Nombre\" está estructurado: \"tipo de disco rígido\", \"número de disco\n"
+"rígido\", \"número de partición\" (por ejemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco rígido\" es \"hd\" si su disco es un disco IDE y \"sd\" si\n"
+"el mismo es un disco SCSI.\n"
+"\n"
+"\"Número de disco rígido\" siempre es una letra que sigue a \"hd\" o a\n"
+"\"sd\". Para los discos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido maestro en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"b\" significa \"disco rígido esclavo en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"c\" significa \"disco rígido maestro en la controladora IDE\n"
+"secundaria\",\n"
+"\n"
+" * \"d\" significa \"disco rígido esclavo en la controladora IDE\n"
+"secundaria\".\n"
+"\n"
+"Para los discos SCSI, una \"a\" significa \"SCSI ID menor\", una \"b\"\n"
+"significa \"segunda SCSI ID menor\", etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La instalación de Mandriva Linux se distribuye en varios CD-ROM. Si un\n"
+"paquete seleccionado se encuentra en otro CD-ROM, DrakX expulsará el CD\n"
+"corriente y le pedirá que inserte el necesario. Si no tiene el CD necesario\n"
+"a mano, simplemente haga clic sobre \"%s\", no se instalarán los paquetes\n"
+"correspondientes."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Ahora es el momento de especificar los programas que desea instalar en su\n"
+"sistema. Hay miles de paquetes disponibles para Mandriva Linux, y para "
+"hacer\n"
+"más simple el manejo de los paquetes, los mismos se han puesto en grupos de\n"
+"aplicaciones similares.\n"
+"\n"
+"Mandriva Linux clasifica los grupos de paquetes en cuatro categorías. Puede\n"
+"mezclar y hacer coincidir aplicaciones de varias categorías, por lo que una\n"
+"instalación de \"Estación de trabajo\" puede tener instaladas aplicaciones\n"
+"de la categoría \"Desarrollo\".\n"
+"\n"
+" * \"%s\": si planifica utilizar su máquina como una estación de trabajo,\n"
+"seleccione una o más aplicaciones de la categoría estación de trabajo.\n"
+"\n"
+" * \"%s\": si planifica utilizar su máquina para programar, elija los\n"
+"grupos apropiados de esa categoría. El grupo especial \"LSB\" configurará\n"
+"su sistema de forma tal que cumpla tanto como sea posible con las\n"
+"especificaciones Linux Standard Base.\n"
+"\n"
+" Si selecciona el grupo \"LSB\" también se instalará la serie del núcleo\n"
+"\"2.4\", en vez de la serie predeterminada \"2.6\". Esto es para asegurar\n"
+"una compatibilidad 100%% con LSB del sistema. Sin embargo, si no selecciona\n"
+"el grupo \"LSB\" todavía obtendrá un sistema que es casi 100%% compatible\n"
+"con LSB.\n"
+"\n"
+" * \"%s\": si pretende usar la máquina como un servidor, seleccione cuáles\n"
+"de los servicios más comunes desea instalar en su máquina.\n"
+"\n"
+" * \"%s\": aquí es donde seleccionará su entorno gráfico preferido. Si\n"
+"desea tener una estación de trabajo gráfica, debe seleccionar al menos uno.\n"
+"\n"
+"Si mueve el cursor del ratón sobre el nombre de un grupo se mostrará un\n"
+"pequeño texto explicativo acerca de ese grupo.\n"
+"\n"
+"Puede marcar la casilla \"%s\" que es útil si está familiarizado con los\n"
+"paquetes que se ofrecen, o si desea tener un control total sobre lo que se\n"
+"instalará.\n"
+"\n"
+"Si inició la instalación en el modo \"%s\", puede deseleccionar todos los\n"
+"grupos para evitar la instalación de cualquier paquete nuevo. Esto es útil\n"
+"para reparar o actualizar un sistema existente.\n"
+"\n"
+"Si deselecciona todos los grupos cuando está realizando una instalación\n"
+"regular (es decir, no una actualización), aparecerá un diálogo que sugiere\n"
+"opciones diferentes para una instalación mínima:\n"
+"\n"
+" * \"%s\": instala la menor cantidad de paquetes posible para tener un\n"
+"escritorio gráfico que funcione.\n"
+"\n"
+" * \"%s\": instala el sistema base más algunos utilitarios básicos y la\n"
+"documentación de los mismos. Esta instalación es adecuada para configurar\n"
+"un servidor.\n"
+"\n"
+" * \"%s\": instalará el mínimo necesario estricto para obtener un sistema\n"
+"Linux que funciona. Con esta instalación sólo tendrá una interfaz de línea\n"
+"de comandos. Esta instalación ocupa alrededor de 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualización"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con documentación básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalación realmente mínima"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Si eligió instalar los paquetes de manera individual, el instalador\n"
+"presentará un árbol que contiene todos los paquetes clasificados por grupos\n"
+"y subgrupos. Mientras navega por el árbol puede seleccionar grupos enteros,\n"
+"subgrupos, o paquetes individuales.\n"
+"\n"
+"Tan pronto como selecciona un paquete en el árbol, aparece una descripción\n"
+"del mismo sobre la derecha que le permite conocer el propósito del paquete.\n"
+"\n"
+"Es muy probable que la gran mayoría de las descripciones de los paquetes\n"
+"estén en inglés.\n"
+"\n"
+"!! Si ha sido seleccionado un paquete de servidor, ya sea porque Usted\n"
+"seleccionó específicamente el paquete individual o porque el mismo era\n"
+"parte de un grupo de paquetes, se le pedirá que confirme que realmente\n"
+"desea que se instalen esos servidores. De manera predeterminada,\n"
+"Mandriva Linux iniciará automáticamente todos los servicios instalados al\n"
+"momento del arranque. Aunque estos son seguros y no tienen problemas\n"
+"conocidos al momento en que se publicó la distribución, es muy posible que\n"
+"se descubran vulnerabilidades en la seguridad luego que se terminó con esta\n"
+"versión de Mandriva Linux. Si no sabe que es lo que se supone que hace un\n"
+"servicio o la razón por la cual se está instalando, entonces haga clic\n"
+"sobre \"%s\". Si hace clic sobre \"%s\" se instalarán todos los servicios\n"
+"listados y los mismos se iniciarán automáticamente al momento del arranque.\n"
+"!!\n"
+"\n"
+"La opción \"%s\" se usa para deshabilitar el diálogo de advertencia que\n"
+"aparece cada vez que el instalador selecciona automáticamente un paquete\n"
+"para resolver un problema de dependencias. Algunos paquetes dependen de\n"
+"otros y la instalación de un paquete en particular puede requerir la\n"
+"instalación de otro paquete. El instalador puede determinar qué paquetes se\n"
+"necesitan para satisfacer una dependencia para poder completar la\n"
+"instalación de manera satisfactoria.\n"
+"\n"
+"El pequeño icono del disquete en la parte inferior de la lista le permite\n"
+"cargar la lista de paquetes elegida durante una instalación previa. Esto es\n"
+"útil si Usted tiene una cantidad de máquinas que desea configurar de manera\n"
+"idéntica. Al hacer clic sobre este icono se le pedirá que inserte un\n"
+"disquete creado al final de otra instalación. Vea el segundo consejo del\n"
+"último paso para información sobre como crear dicho disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependencias automáticas"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": al hacer clic sobre el botón \"%s\" se abrirá el asistente de\n"
+"configuración de la impresora. Consulte el capítulo correspondiente de la\n"
+"\"Guía de Comienzo\" para más información sobre cómo configurar una\n"
+"impresora nueva. La interfaz presentada allí es similar a la utilizada\n"
+"durante la instalación."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo se usa para elegir cuáles servicios Usted desea que se inicien\n"
+"durante el arranque.\n"
+"\n"
+"DrakX listará todos los servicios disponibles en la instalación corriente.\n"
+"Revíselos con cuidado y quite la marca de aquellos que no son necesarios al\n"
+"arrancar.\n"
+"\n"
+"Cuando se selecciona un servicio obtendrá un pequeño texto explicativo\n"
+"acerca del mismo. Sin embargo, si no está seguro si un servicio es útil o\n"
+"no, es más seguro dejar el comportamiento predeterminado.\n"
+"\n"
+"!! Tenga mucho cuidado en esta etapa si pretende usar su máquina como un\n"
+"servidor: probablemente no desea iniciar servicios que no necesita. Por\n"
+"favor recuerde que algunos servicios pueden ser peligrosos si están\n"
+"habilitados en un servidor. En general, seleccione sólo aquellos servicios\n"
+"que realmente necesita. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux administra la hora en GMT (\"Greenwich Mean Time\", Hora del\n"
+"Meridiano de Greenwich) y la traduce a la hora local de acuerdo al huso\n"
+"horario que Usted seleccionó. Sin embargo, es posible desactivar esto\n"
+"quitando la marca de la casilla \"%s\", lo que hará que GNU/Linux sepa que\n"
+"el reloj del sistema y el reloj de hardware están en el mismo huso horario.\n"
+"Esto es útil cuando la máquina también alberga otro sistema operativo.\n"
+"\n"
+"La opción \"%s\" regulará automáticamente el reloj del sistema conectándose\n"
+"a un servidor remoto de la hora en la Internet. Para que esta\n"
+"característica funcione, debe tener una conexión con la Internet\n"
+"funcionando. Le recomendamos que elija un servidor de la hora ubicado cerca\n"
+"de Usted. En realidad, esta opción instala un servidor de la hora que\n"
+"también puede ser utilizado por otras máquinas en su red local."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronización automática de la hora"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Tarjeta gráfica\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente la\n"
+"tarjeta de vídeo instalada en su máquina. Si este no es el caso, en esta\n"
+"lista puede elegir la tarjeta que realmente tiene instalada.\n"
+"\n"
+" En caso de que estén disponibles diferentes servidores para su tarjeta,\n"
+"con o sin aceleración de 3D, entonces se le va a proponer elegir el\n"
+"servidor que mejor satisface sus necesidades."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (por \"X Window System\") es el corazón de la interfaz gráfica de\n"
+"GNU/Linux en el que se apoyan todos los entornos gráficos (KDE, GNOME,\n"
+"AfterStep, WindowMaker, etc.) que se incluyen con Mandriva Linux.\n"
+"\n"
+"Se le presentará la lista de parámetros diferentes a cambiar para obtener\n"
+"una presentación gráfica óptima.\n"
+"\n"
+"Tarjeta gráfica\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente la\n"
+"tarjeta de vídeo instalada en su máquina. Si este no es el caso, en esta\n"
+"lista puede elegir la tarjeta que realmente tiene instalada.\n"
+"\n"
+" En caso de que estén disponibles diferentes servidores para su tarjeta,\n"
+"con o sin aceleración de 3D, entonces se le va a proponer elegir el\n"
+"servidor que mejor satisface sus necesidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente el\n"
+"monitor conectado a su máquina. Si es incorrecto, en esta lista puede\n"
+"elegir el monitor que realmente posee.\n"
+"\n"
+"\n"
+"\n"
+"Resolución\n"
+"\n"
+" Aquí puede elegir las resoluciones y profundidades de color disponibles\n"
+"para su hardware de gráficos. Seleccione la que mejor se ajuste a sus\n"
+"necesidades (podrá hacer cambios luego de la instalación). En la imagen del\n"
+"monitor se muestra un ejemplo de la configuración elegida.\n"
+"\n"
+"\n"
+"\n"
+"Probar\n"
+"\n"
+" Esta entrada puede no aparecer, dependiendo de su hardware.\n"
+"\n"
+" El sistema intentará abrir una pantalla gráfica con la resolución\n"
+"deseada. Si ve el mensaje durante la prueba, y responde \"%s\", entonces\n"
+"DrakX continuará con el paso siguiente. Si no puede ver el mensaje,\n"
+"entonces significa que alguna parte de la configuración detectada\n"
+"automáticamente era incorrecta y la prueba terminará automáticamente luego\n"
+"de unos segundos, restaurando el menú. Cambie los ajustes hasta obtener una\n"
+"pantalla gráfica correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opciones\n"
+"\n"
+" Este paso le permite elegir si desea que su máquina cambie\n"
+"automáticamente a la interfaz gráfica al arrancar. Obviamente, querrá\n"
+"marcar \"%s\" si su sistema actuará como servidor, o si no tuvo éxito en la\n"
+"configuración de su pantalla."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalmente el instalador puede detectar y configurar automáticamente el\n"
+"monitor conectado a su máquina. Si es incorrecto, en esta lista puede\n"
+"elegir el monitor que realmente posee."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolución\n"
+"\n"
+" Aquí puede elegir las resoluciones y profundidades de color disponibles\n"
+"para su hardware de gráficos. Seleccione la que mejor se ajuste a sus\n"
+"necesidades (podrá hacer cambios luego de la instalación). En la imagen del\n"
+"monitor se muestra un ejemplo de la configuración elegida."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"En caso de que estén disponibles diferentes servidores para su tarjeta, con\n"
+"o sin aceleración de 3D, entonces se le va a proponer elegir el servidor\n"
+"que mejor satisface sus necesidades."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opciones\n"
+"\n"
+" Este paso le permite elegir si desea que su máquina cambie\n"
+"automáticamente a la interfaz gráfica al arrancar. Obviamente, querrá\n"
+"marcar \"%s\" si su sistema actuará como servidor, o si no tuvo éxito en la\n"
+"configuración de su pantalla."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ahora necesita elegir el lugar de su disco rígido donde se instalará su\n"
+"sistema operativo Mandriva Linux. Si su disco rígido está vacío o si un\n"
+"sistema operativo existente está utilizando todo el espacio disponible,\n"
+"necesitará particionar el disco. Básicamente, particionar un disco rígido\n"
+"consiste en dividirlo lógicamente para crear espacio para instalar su\n"
+"sistema Mandriva Linux nuevo.\n"
+"\n"
+"Debido a que el proceso de particionado de un disco rígido por lo general\n"
+"es irreversible y puede llevar a pérdida de datos, el particionado puede\n"
+"ser intimidante y estresante si Usted es un usuario inexperto. Por fortuna,\n"
+"DrakX incluye un asistente que simplifica este proceso. Antes de continuar\n"
+"con este paso, por favor lea el resto de esta sección y, por sobre todo,\n"
+"tómese su tiempo.\n"
+"\n"
+"Dependiendo de la configuración de su disco rígido, están disponibles\n"
+"varias opciones:\n"
+"\n"
+" * \"%s\". Esta opción simplemente llevará a un particionado automático de\n"
+"su(s) disco(s) vacío(s). Si elige esta opción, no se le pedirán más\n"
+"detalles ni se le formularán más preguntas.\n"
+"\n"
+" * \"%s\". El asistente ha detectado una o más particiones Linux existentes\n"
+"en su disco rígido. Si desea utilizarlas, elija esta opción. Entonces se le\n"
+"pedirá que elija los puntos de montaje asociados a cada una de las\n"
+"particiones. Los puntos de montaje legados se seleccionan de manera\n"
+"predeterminada, y por lo general es buena idea mantenerlos.\n"
+"\n"
+" * \"%s\". Si Microsoft Windows está instalado en su disco rígido y ocupa\n"
+"todo el espacio disponible en el mismo, Usted tendrá que liberar espacio\n"
+"para Linux. Para hacerlo, puede borrar su partición y datos Microsoft\n"
+"Windows (vea la solución \"Borrar el disco entero\") o cambiar el tamaño de\n"
+"su partición Microsoft Windows FAT o NTFS. El cambio de tamaño se puede\n"
+"realizar sin la pérdida de datos, siempre y cuando Usted haya\n"
+"desfragmentado con anterioridad la partición Windows. Es altamente\n"
+"recomendable hacer una copia de respaldo de sus datos. Se recomienda usar\n"
+"esta solución si desea utilizar tanto Mandriva Linux como Microsoft Windows\n"
+"en la misma computadora.\n"
+"\n"
+" Antes de elegir esta opción, por favor comprenda que después de este\n"
+"procedimiento el tamaño de su partición Microsoft Windows será más pequeño\n"
+"que cuando comenzó. Tendrá menos espacio bajo Microsoft Windows para\n"
+"almacenar sus datos o instalar software nuevo.\n"
+"\n"
+" * \"%s\". Si desea borrar todos los datos y todas las particiones\n"
+"presentes en su disco rígido y reemplazarlos con su nuevo sistema\n"
+"Mandriva Linux, seleccione esta opción. Tenga cuidado con esta solución ya\n"
+"que no podrá revertir su elección después de confirmarla.\n"
+"\n"
+" !! Si elige esta opción, se perderán todos los datos en su disco. !!\n"
+"\n"
+" * \"%s\". Esta opción aparece cuando todo el disco está tomado por\n"
+"Microsoft Windows. Al elegir esta opción simplemente se borrará todo el\n"
+"disco y se comenzará desde cero, particionando todo de nuevo.\n"
+"\n"
+" !! Si elige esta opción, se perderán todos los datos en su disco. !!\n"
+"\n"
+" * \"%s\": elija esta opción si desea particionar manualmente su disco\n"
+"rígido. Tenga cuidado - esta es una elección potente pero peligrosa y puede\n"
+"perder todos sus datos con facilidad. Esa es la razón por la cual esta\n"
+"opción realmente sólo se recomienda si ha hecho algo como esto antes y\n"
+"tiene algo de experiencia. Para más instrucciones acerca de la utilización\n"
+"del utilitario DiskDrake, consulte la sección \"Administrar sus\n"
+"particiones\" de la \"Guía de Comienzo\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar la partición existente"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borrar el disco entero"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ya está. Ahora la instalación está completa y su sistema GNU/Linux está\n"
+"listo para ser utilizado. Simplemente haga clic sobre \"%s\" para volver a\n"
+"arrancar el sistema. Lo primero que debería ver tan pronto como su máquina\n"
+"haya finalizado sus pruebas de hardware, es el menú del cargador de\n"
+"arranque dándole la opción de elegir que sistema operativo arrancar.\n"
+"\n"
+"El botón \"%s\" le muestra dos botones más:\n"
+"\n"
+" * \"%s\": le permite crear un disquete de instalación que realizará una\n"
+"instalación completa automáticamente, sin la asistencia de un operador,\n"
+"similar a la instalación que ha configurado recién.\n"
+"\n"
+" Note que hay dos opciones diferentes disponibles después de hacer clic\n"
+"sobre ese botón:\n"
+"\n"
+" * \"%s\". Esta es una instalación parcialmente automatizada. La etapa\n"
+"de particionado es el único procedimiento interactivo.\n"
+"\n"
+" * \"%s\". Instalación completamente automatizada: el disco rígido se\n"
+"sobreescribe por completo, y se pierden todos los datos.\n"
+"\n"
+" Esta característica es muy útil cuando se instala una cantidad grande de\n"
+"máquinas similares. Consulte la sección Auto install (en inglés) en nuestro\n"
+"sitio web para más información.\n"
+"\n"
+" * \"%s\"(*): guarda una lista de los paquetes seleccionados en esta\n"
+"instalación. Para usar esta selección con otra instalación, inserte el\n"
+"disquete en la disquetera y comience la instalación. En el prompt, presione\n"
+"la tecla [F1], y a continuación ingrese >>linux defcfg=\"floppy\"<< y\n"
+"presione la tecla [Intro].\n"
+"\n"
+"(*) Necesita un disquete formateado con FAT. Para crear uno bajo GNU/Linux\n"
+"teclee \"mformat a:\", o \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generar un disquete de instalación automática"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si desea volver a utilizar algunas particiones GNU/Linux legadas, puede\n"
+"desear volver a formatear algunas de ellas y borrar cualquier dato que\n"
+"pudieran contener. Para hacerlo, por favor seleccione también dichas\n"
+"particiones.\n"
+"\n"
+"Por favor note que no es necesario volver a formatear todas las particiones\n"
+"preexistentes. Debe volver a formatear las particiones que contienen el\n"
+"sistema operativo (tales como \"/\", \"/usr\" o \"/var\") pero no tiene que\n"
+"volver a formatear particiones que contienen datos que desea preservar\n"
+"(típicamente \"/home\")\n"
+"\n"
+"Por favor, tenga sumo cuidado cuando selecciona las particiones. Después de\n"
+"formatear se borrarán todos los datos en las particiones seleccionadas y no\n"
+"podrá recuperarlos en absoluto.\n"
+"\n"
+"Haga clic sobre \"%s\" cuando esté listo para formatear las particiones.\n"
+"\n"
+"Haga clic sobre \"%s\" si desea elegir otra partición para la instalación\n"
+"de su sistema operativo Mandriva Linux nuevo.\n"
+"\n"
+"Haga clic sobre \"%s\" si desea seleccionar las particiones del disco en\n"
+"las que se buscarán bloques defectuosos."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Es probable que cuando instale Mandriva Linux algunos paquetes se hayan\n"
+"actualizado desde la publicación inicial. Se pueden haber corregido errores\n"
+"y solucionado problemas de seguridad. Para permitir que Usted se beneficie\n"
+"de estas actualizaciones, ahora las puede descargar desde la Internet.\n"
+"Marque \"%s\" si tiene funcionando una conexión con la Internet, o \"%s\"\n"
+"si prefiere instalar los paquetes actualizados más tarde.\n"
+"\n"
+"Al elegir \"%s\" se mostrará una lista de lugares desde los que se pueden\n"
+"obtener las actualizaciones. Debería elegir el más cercano a Usted.\n"
+"Aparecerá un árbol de selección de paquetes: revise la selección y presione\n"
+"\"%s\" para obtener e instalar los paquetes seleccionados, o \"%s\" para\n"
+"abortar."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"En este punto, DrakX le permitirá elegir el nivel de seguridad que desea\n"
+"para su máquina. Como regla general, el nivel de seguridad debería ser\n"
+"mayor si la máquina va a contener datos cruciales, o si estará expuesta\n"
+"directamente a la Internet. No obstante, un nivel de seguridad más alto\n"
+"generalmente se obtiene a expensas de la facilidad de uso.\n"
+"\n"
+"Si no sabe cual elegir, mantenga la opción predeterminada. Podrá cambiarla\n"
+"más adelante con la herramienta draksec, que es parte del Centro de Control\n"
+"de Mandriva Linux.\n"
+"\n"
+"Complete el campo \"%s\" con la dirección de correo electrónico de la\n"
+"persona responsable de la seguridad. Los mensajes relativos a la seguridad\n"
+"se enviarán a esa dirección."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de seguridad"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Ahora necesita elegir qué particiones se utilizarán para la instalación de\n"
+"su sistema Mandriva Linux. Si ya se han definido particiones, ya sea por\n"
+"una instalación previa de GNU/Linux o con otra herramienta de particionado,\n"
+"puede utilizarlas. De lo contrario, se deben definir particiones en el\n"
+"disco rígido.\n"
+"\n"
+"Para crear particiones, primero debe seleccionar un disco rígido. Puede\n"
+"seleccionar el disco a particionar haciendo clic sobre \"hda\" para el\n"
+"primer disco IDE, \"hdb\" para el segundo, \"sda\" para el primer disco\n"
+"SCSI y así sucesivamente.\n"
+"\n"
+"Para particionar el disco rígido seleccionado, puede utilizar estas\n"
+"opciones:\n"
+"\n"
+" * \"%s\": esta opción borra todas las particiones sobre el disco\n"
+"seleccionado.\n"
+"\n"
+" * \"%s\": esta opción le permite crear particiones ext3 y swap\n"
+"automáticamente en el espacio libre de su disco rígido.\n"
+"\n"
+"\"%s\": le da acceso a características adicionales:\n"
+"\n"
+" * \"%s\": guarda la tabla de particiones en un disquete. Útil para\n"
+"recuperar la tabla de particiones más adelante en caso que sea necesario.\n"
+"Es altamente recomendable realizar este paso.\n"
+"\n"
+" * \"%s\": esta opción le permitirá restaurar una tabla de particiones\n"
+"guardada previamente en un disquete.\n"
+"\n"
+" * \"%s\": si su tabla de particiones está dañada puede intentar\n"
+"recuperarla utilizando esta opción. Por favor, tenga cuidado y recuerde que\n"
+"puede fallar.\n"
+"\n"
+" * \"%s\": descarta todos los cambios y carga la tabla de particiones que\n"
+"estaba originalmente en el disco rígido.\n"
+"\n"
+" * \"%s\": si desmarca esta opción los usuarios estarán forzados a montar y\n"
+"desmontar manualmente los soportes removibles como los disquetes y los\n"
+"CD-ROM.\n"
+"\n"
+" * \"%s\": use esta opción si desea utilizar un asistente para particionar\n"
+"su disco rígido. Se recomienda esto si no tiene un buen conocimiento del\n"
+"particionado.\n"
+"\n"
+" * \"%s\": use esta opción para deshacer sus cambios.\n"
+"\n"
+" * \"%s\": permite realizar acciones adicionales sobre las particiones\n"
+"(tipo, opciones, formatear) y brinda más información acerca del disco\n"
+"rígido.\n"
+"\n"
+" * \"%s\": cuando ha terminado de particionar su disco rígido, esto\n"
+"guardará sus cambios en el disco.\n"
+"\n"
+"Cuando se define el tamaño de una partición, puede realizar un ajuste fino\n"
+"del tamaño utilizando las teclas de las flechas de su teclado.\n"
+"\n"
+"Nota: todas las opciones son accesibles por medio del teclado. Navegue a\n"
+"través de las particiones usando [Tab] y las flechas [Arriba/Abajo].\n"
+"\n"
+"Cuando se selecciona una partición, puede utilizar:\n"
+"\n"
+" * [Ctrl] [C] para crear una partición nueva (cuando está seleccionada una\n"
+"partición vacía);\n"
+"\n"
+" * [Ctrl] [D] para borrar una partición;\n"
+"\n"
+" * [Ctrl] [M] para configurar el punto de montaje.\n"
+"\n"
+"Para obtener información sobre los distintos tipos de sistemas de archivos\n"
+"disponibles, por favor lea el capítulo acerca de ext2FS del \"Manual de\n"
+"Referencia\".\n"
+"\n"
+"Si está instalando en una máquina PPC, querrá crear una pequeña partición\n"
+"HFS de \"bootstrap\" de al menos 1 MB que será utilizada por el cargador de\n"
+"arranque yaboot. Si opta por hacer la partición un poco más grande, digamos\n"
+"50 MB, puede ver que es un lugar útil para almacenar un núcleo y ramdisk\n"
+"alternativos para arrancar en situaciones de emergencia."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montaje automático de soportes extraíbles"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Cambiar entre el modo normal/experto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Se ha detectado más de una partición Microsoft Windows en su disco rígido.\n"
+"Por favor, elija aquella a la cual desea cambiar el tamaño para poder\n"
+"instalar su sistema operativo Mandriva Linux nuevo.\n"
+"\n"
+"Cada partición se lista como sigue: \"Nombre Linux\", \"Nombre Windows\",\n"
+"\"Capacidad\".\n"
+"\n"
+"\"Nombre Linux\" está estructurado: \"tipo de disco rígido\", \"número de\n"
+"disco rígido\", \"número de partición\" (por ejemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco rígido\" es \"hd\" si su disco es un disco IDE y \"sd\" si\n"
+"el mismo es un disco SCSI.\n"
+"\n"
+"\"Número de disco rígido\" siempre es una letra que sigue a \"hd\" o a\n"
+"\"sd\". Para los discos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido maestro en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"b\" significa \"disco rígido esclavo en la controladora IDE\n"
+"primaria\",\n"
+"\n"
+" * \"c\" significa \"disco rígido maestro en la controladora IDE\n"
+"secundaria\",\n"
+"\n"
+" * \"d\" significa \"disco rígido esclavo en la controladora IDE\n"
+"secundaria\".\n"
+"\n"
+"Para los discos SCSI, una \"a\" significa \"SCSI ID menor\", una \"b\"\n"
+"significa \"segunda SCSI ID menor\", etc.\n"
+"\n"
+"\"Nombre Windows\" es la letra de su unidad de disco bajo Windows (el\n"
+"primer disco o partición se denomina \"C:\")."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique la selección actual del país. Si Usted no se encuentra en\n"
+"este país haga clic sobre el botón \"%s\" y seleccione otro. Si su país no\n"
+"se muestra en la primer lista que se muestra, haga clic sobre el botón\n"
+"\"%s\" para obtener la lista completa de países."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Este paso se activa sólo si se encontró una partición GNU/Linux existente\n"
+"en su máquina.\n"
+"\n"
+"DrakX ahora necesita saber si desea realizar una instalación nueva o una\n"
+"actualización de un sistema Mandriva Linux existente:\n"
+"\n"
+" * \"%s\". En gran parte, esta opción borrará por completo el sistema\n"
+"anterior. Sin embargo, dependiendo de su esquema de particiones, puede\n"
+"evitar que se sobre-escriban algunos datos existentes (notablemente los\n"
+"directorios de \"home\"). Si desea cambiar la forma en la que se\n"
+"particionan sus discos, debería usar esta opción.\n"
+"\n"
+" * \"%s\": Esta clase de instalación le permite actualizar los paquetes que\n"
+"en este momento están instalados en su sistema Mandriva Linux. No se "
+"alteran\n"
+"las particiones corrientes de sus discos ni los datos de los usuarios. La\n"
+"mayoría de los otros pasos de configuración permanecen disponibles y son\n"
+"similares a una instalación estándar.\n"
+"\n"
+"El uso de la opción \"Actualizar\" debería funcionar sin problemas para los\n"
+"sistemas Mandriva Linux que corren la versión \"8.1\" o una posterior. No "
+"se\n"
+"recomienda realizar una actualización sobre versiones anteriores a\n"
+"Mandriva Linux versión \"8.1\"."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependiendo del idioma que eligió (ver ), DrakX seleccionará\n"
+"automáticamente un tipo particular de configuración del teclado. Verifique\n"
+"que la selección le satisface o elija otra distribución de teclado.\n"
+"\n"
+"También, puede ser que Usted no tenga un teclado que se corresponde\n"
+"exactamente con su idioma: por ejemplo, si Usted es un argentino que habla\n"
+"inglés, puede ser que tenga un teclado latino americano. O si habla\n"
+"castellano pero está en Inglaterra puede estar en la misma situación en la\n"
+"cual su idioma nativo y su teclado no coinciden. En cualquier caso, este\n"
+"paso de instalación le permitirá elegir un teclado apropiado de una lista.\n"
+"\n"
+"Haga clic sobre el botón \"%s\" para que se le presente la lista completa\n"
+"de los teclados soportados.\n"
+"\n"
+"Si eligió una distribución de teclado basada en un alfabeto no latino, el\n"
+"próximo diálogo le permitirá elegir la combinación de teclas que cambiará\n"
+"la distribución del teclado entre la latina y la no latina."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"El primer paso es elegir el idioma que prefiere.\n"
+"\n"
+"Su elección de idioma preferido afectará al idioma del instalador, de la\n"
+"documentación, y del sistema en general. Seleccione primero la región en la\n"
+"que se encuentra, y luego el idioma que habla.\n"
+"\n"
+"Al hacer clic sobre el botón \"%s\" (Avanzada) podrá seleccionar otros\n"
+"idiomas para instalar en su sistema, instalando así los archivos\n"
+"específicos para esos idiomas para la documentación y las aplicaciones. Por\n"
+"ejemplo, si albergará a gente de Francia en su máquina, seleccione Español\n"
+"como idioma principal en la vista de árbol y \"%s\" en la sección avanzada.\n"
+"\n"
+"Acerca del soporte UTF-8 (Unicode): Unicode es una codificación nueva de\n"
+"caracteres que pretende cubrir todos los idiomas existentes. Sin embargo,\n"
+"el soporte completo para Unicode bajo GNU/Linux todavía está en desarrollo.\n"
+"Por esta razón, Mandriva Linux lo usará o no dependiendo de las elecciones\n"
+"del usuario:\n"
+"\n"
+" * Si elige un idioma con codificación legada fuerte (idiomas latin1, ruso,\n"
+"japonés, chino, coreano, thai, griego, turco, la mayoría de los idiomas\n"
+"ISO-8859-2), de manera predeterminada se usará la codificación legada.\n"
+"\n"
+" * Otros idiomas utilizarán Unicode de manera predeterminada.\n"
+"\n"
+" * Si se necesitan dos o más idiomas, y dichos idiomas no utilizan la misma\n"
+"codificación, entonces el sistema completo utilizará Unicode.\n"
+"\n"
+" * Finalmente, también se puede forzar el uso de Unicode para todo el\n"
+"sistema a pedido del usuario seleccionando la opción \"%s\" sin importar\n"
+"qué idiomas han sido seleccionados.\n"
+"\n"
+"Note que no está limitado a elegir un único idioma adicional. Puede elegir\n"
+"varios, o incluso instalarlos a todos marcando la casilla \"%s\".\n"
+"Seleccionar el soporte para un idioma significa que se instalarán las\n"
+"traducciones, tipografías, correctores ortográficos, etc. para dicho\n"
+"idioma.\n"
+"\n"
+"Puede ejecutar el comando \"localedrake\" como \"root\" para cambiar el\n"
+"idioma de todo el sistema de uno a otro. Ejecutar el comando como usuario\n"
+"no privilegiado sólo cambiará la configuración de idioma para ese usuario\n"
+"en particular."
+
+# este es el idioma de ejemplo en la ayuda de la seleccion de idiomas;
+# en la traduccion de la ayuda se usa el frances como idioma extra de ejemplo
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Français"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Por lo general, DrakX no tiene problemas en detectar la cantidad de botones\n"
+"de su ratón. Si no es así, asume que Usted tiene un ratón de dos botones y\n"
+"lo configurará para que emule el tercero. El tercer botón del ratón en un\n"
+"ratón de dos botones se puede \"obtener\" haciendo clic simultáneamente\n"
+"sobre el botón izquierdo y el derecho. DrakX sabrá automáticamente si su\n"
+"ratón utiliza una interfaz PS/2, serie o USB.\n"
+"\n"
+"En caso que tenga un ratón de 3 botones sin rueda, puede elegir un ratón\n"
+"\"%s\". Entonces, DrakX configurará su ratón de forma tal que pueda simular\n"
+"la rueda con el mismo: para hacerlo, presione el botón del medio y, sin\n"
+"soltarlo, mueva el puntero de su ratón arriba y abajo.\n"
+"\n"
+"Si, por alguna razón, desea especificar un tipo de ratón diferente,\n"
+"selecciónelo de la lista que se proporciona.\n"
+"\n"
+"Puede seleccionar la entrada \"%s\" para elegir un tipo de ratón\n"
+"\"genérico\" que funcionará con casi todos los ratones.\n"
+"\n"
+"Si elige un ratón distinto al predeterminado, se mostrará una pantalla de\n"
+"prueba. Use los botones y la rueda para verificar que los ajustes son\n"
+"correctos y que el ratón está funcionando correctamente. Si el ratón no\n"
+"está funcionando bien, presione la [barra espaciadora] o la tecla [Intro]\n"
+"para cancelar la prueba y volverá a la lista de opciones.\n"
+"\n"
+"Ocasionalmente, los ratones con rueda no se detectan automáticamente, por\n"
+"lo que deberá seleccionar su ratón de una lista. Debe asegurarse de\n"
+"seleccionar el correspondiente al puerto en el cual está conectado su\n"
+"ratón. Después de seleccionar un ratón y presionar el botón \"%s\", se\n"
+"mostrará la imagen de un ratón en la pantalla. Mueva la rueda de su ratón\n"
+"para asegurarse que está activa correctamente. A medida que mueva la rueda,\n"
+"verá que se mueve la rueda en la pantalla. Pruebe los botones y verifique\n"
+"que el puntero del ratón se mueve en la pantalla a medida que mueve su\n"
+"ratón."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Con emulación de rueda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Cualquier ratón PS/2 y USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Por favor, seleccione el puerto correcto. Por ejemplo, el puerto \"COM1\"\n"
+"bajo Windows se denomina \"ttyS0\" bajo GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Este es el punto de decisión más crucial para la seguridad de su sistema\n"
+"GNU/Linux: tendrá que ingresar la contraseña de \"root\". El usuario\n"
+"\"root\" es el administrador del sistema y es el único autorizado a hacer\n"
+"actualizaciones, agregar usuarios, cambiar la configuración general del\n"
+"sistema, etc. Resumiendo, ¡\"root\" puede hacer de todo! Es por esto que\n"
+"deberá elegir una contraseña que sea difícil de adivinar - DrakX le dirá si\n"
+"la que eligió es demasiado fácil. Como puede ver, no es forzoso ingresar\n"
+"una contraseña, pero le recomendamos encarecidamente que ingrese una.\n"
+"GNU/Linux es tan propenso a errores del operador como cualquier otro\n"
+"sistema operativo. Es importante que sea difícil convertirse en \"root\"\n"
+"debido a que \"root\" puede sobrepasar todas las limitaciones y borrar, sin\n"
+"intención, todos los datos que se encuentran en las particiones accediendo\n"
+"a las mismas sin el cuidado suficiente.\n"
+"\n"
+"La contraseña debería ser una mezcla de caracteres alfanuméricos y tener al\n"
+"menos una longitud de 8 caracteres. Nunca escriba la contraseña de \"root\"\n"
+"- por ejemplo, en un papel - eso hace que sea muy fácil comprometer su\n"
+"sistema.\n"
+"\n"
+"Sin embargo, no debería hacer la contraseña muy larga o complicada ¡debido\n"
+"a que Usted debe poder recordarla!\n"
+"\n"
+"La contraseña no se mostrará en la pantalla a medida que Usted la teclee.\n"
+"Deberá teclear la contraseña dos veces para reducir la posibilidad de un\n"
+"error de tecleo a ciegas. Si ocurre que Usted comete dos veces el mismo\n"
+"error de tecleo, tendrá que utilizar esta contraseña \"incorrecta\" la\n"
+"primera vez que intente conectarse como \"root\".\n"
+"\n"
+"Si desea utilizar un servidor de autenticación para controlar el acceso a\n"
+"su computadora, haga clic sobre el botón \"%s\".\n"
+"\n"
+"Si su red usa los protocolos LDAP, NIS, o servicios de autenticación de PDC\n"
+"Dominio de Windows, seleccione el apropiado como método de %s.\n"
+"Si no sabe cual utilizar, debería preguntar al administrador de su red.\n"
+"\n"
+"Si ocurre que tiene problemas para recordar contraseñas, o si su\n"
+"computadora nunca estará conectada a la Internet y Usted confía\n"
+"absolutamente en cualquier persona que tenga acceso a la misma, puede\n"
+"elegir el botón \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autenticación"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un cargador de arranque es un pequeño programa que la computadora inicia al\n"
+"momento del arranque. Es el responsable de arrancar todo el sistema.\n"
+"Normalmente la instalación del cargador de arranque está completamente\n"
+"automatizada. DrakX analizará el sector de arranque del disco y actuará en\n"
+"función de lo que encuentre allí:\n"
+"\n"
+" * Si encuentra un sector de arranque de Windows, lo reemplazará con un\n"
+"sector de arranque de GRUB/LILO de forma tal que Usted pueda cargar\n"
+"GNU/Linux o cualquier otro sistema operativo instalado en su máquina.\n"
+"\n"
+" * Si encuentra un sector de arranque de GRUB o LILO, lo reemplazará con\n"
+"uno nuevo.\n"
+"\n"
+"Si no puede realizar una determinación, DrakX le preguntará dónde colocar\n"
+"el cargador de arranque. Generalmente, el \"%s\" es el lugar más seguro. Si\n"
+"no va a instalar cargador de arranque alguno seleccione \"%s\". Úselo\n"
+"solamente si sabe lo que está haciendo."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ahora es el momento de seleccionar un sistema de impresión para su\n"
+"computadora. Otros sistemas operativos pueden ofrecerle uno, pero\n"
+"Mandriva Linux le ofrece dos. Cada uno de los sistemas de impresión es más\n"
+"adecuado para tipos de configuración particulares.\n"
+"\n"
+" * \"%s\" - \"print, do not queue\" (imprimir sin poner en cola) es la\n"
+"elección si Usted tiene una conexión directa a su impresora y desea evitar\n"
+"el pánico de los papeles trabados, y no tiene impresora en red alguna\n"
+"(\"%s\" manejará sólo casos de red muy simples y es algo lento cuando se\n"
+"utiliza con las redes) Se recomienda utilizar \"pdq\" si esta es su primer\n"
+"experiencia con GNU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\"punta (Sistema de Impresión\n"
+"Común de Unix) es una elección excelente para imprimir en su impresora\n"
+"local o en una que se encuentre al otro lado del planeta. Es simple de\n"
+"configurar y puede actuar como servidor o cliente para el sistema de\n"
+"impresión antiguo \"lpd\", por lo que es compatible con sistemas operativos\n"
+"más antiguos que todavía pueden necesitar servicios de impresión. Si bien\n"
+"es bastante potente, la configuración básica es tan simple como la de\n"
+"\"pdq\". Si necesita que emule a un servidor \"lpd\", debe activar el\n"
+"demonio \"cups-lpd\". \"%s\" incluye interfaces gráficas para imprimir o\n"
+"elegir las opciones de la impresora y para administrar la impresora.\n"
+"\n"
+"Si hace una elección ahora y más tarde encuentra que a Usted no le gusta su\n"
+"sistema de impresión, puede cambiarlo ejecutando PrinterDrake desde el\n"
+"Centro de Control de Mandriva Linux y haciendo clic sobre el botón \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Experto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX primero detectará cualquier dispositivo IDE presente en su\n"
+"computadora. También buscará una o más tarjetas SCSI PCI en su sistema. Si\n"
+"se encuentra una tarjeta SCSI, DrakX instalará automáticamente el\n"
+"controlador apropiado.\n"
+"\n"
+"Debido a que la detección de hardware no es a prueba de errores, DrakX\n"
+"puede no detectar sus discos rígidos. De ser así, Usted tendrá que\n"
+"especificar su hardware manualmente.\n"
+"\n"
+"Si tuviese que especificar su adaptador SCSI PCI manualmente, DrakX le\n"
+"preguntará si desea configurar opciones para el mismo. Debería permitir a\n"
+"DrakX sondear el hardware en busca de las opciones específicas de la\n"
+"tarjeta que son necesarias para inicializar el adaptador. La mayoría de las\n"
+"veces, DrakX saldrá adelante en este paso sin problema alguno.\n"
+"\n"
+"Si DrakX no puede sondear las opciones para determinar automáticamente qué\n"
+"parámetros debe pasar al hardware, Usted deberá configurar manualmente el\n"
+"controlador."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": si se detecta una tarjeta de sonido en su sistema, la misma se\n"
+"mostrará aquí. Si nota que la tarjeta de sonido no es la que está realmente\n"
+"presente en su sistema, puede hacer clic sobre el botón y elegir un\n"
+"controlador diferente."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"A manera de revisión, DrakX presentará un resumen de las distintas\n"
+"informaciones que recopiló acerca de su sistema. Dependiendo del hardware\n"
+"instalado en su máquina, puede tener algunas o todas las entradas\n"
+"siguientes. Cada entrada está compuesta del elemento a configurar, seguido\n"
+"de un pequeño resumen de la configuración actual. Haga clic sobre el botón\n"
+"\"%s\" correspondiente para hacer los cambios.\n"
+"\n"
+" * \"%s\": verifique la configuración de la disposición actual del teclado\n"
+"y cámbiela si es necesario.\n"
+"\n"
+" * \"%s\": verifique la selección actual del país. Si Usted no se encuentra\n"
+"en este país haga clic sobre el botón \"%s\" y seleccione otro. Si su país\n"
+"no se muestra en la primer lista que se muestra, haga clic sobre el botón\n"
+"\"%s\" para obtener la lista completa de países.\n"
+"\n"
+" * \"%s\": De manera predeterminada DrakX deduce su huso horario basándose\n"
+"en el país que ha elegido. Puede hacer clic sobre el botón \"%s\" si esto\n"
+"no es correcto.\n"
+"\n"
+" * \"%s\": verifique la configuración del ratón y haga clic sobre el botón\n"
+"para cambiarla, si es necesario.\n"
+"\n"
+" * \"%s\": al hacer clic sobre el botón \"%s\" se abrirá el asistente de\n"
+"configuración de la impresora. Consulte el capítulo correspondiente de la\n"
+"\"Guía de Comienzo\" para más información sobre cómo configurar una\n"
+"impresora nueva. La interfaz presentada allí es similar a la utilizada\n"
+"durante la instalación.\n"
+"\n"
+" * \"%s\": si se detecta una tarjeta de sonido en su sistema, la misma se\n"
+"mostrará aquí. Si nota que la tarjeta de sonido no es la que está realmente\n"
+"presente en su sistema, puede hacer clic sobre el botón y elegir un\n"
+"controlador diferente.\n"
+"\n"
+" * \"%s\": si se detecta una tarjeta de TV en su sistema, la misma se\n"
+"muestra aquí. Si tiene una tarjeta de TV y la misma no se detecta, haga\n"
+"clic sobre \"%s\" para intentar configurarla a mano.\n"
+"\n"
+" * \"%s\": Puede hacer clic sobre \"%s\" para cambiar los parámetros\n"
+"asociados a la tarjeta si cree que no son los correctos.\n"
+"\n"
+" * \"%s\": de manera predeterminada DrakX configura su interfaz gráfica en\n"
+"\"800x600\" o \"1024x768\" de resolución. Si eso no le satisface, haga clic\n"
+"sobre \"%s\" para cambiar la configuración su interfaz gráfica.\n"
+"\n"
+" * \"%s\": si desea configurar ahora el acceso a la Internet o a su red\n"
+"local, puede hacerlo ahora. Consulte la documentación impresa o utilice el\n"
+"Centro de Control de Mandriva Linux luego que finalizó la instalación para\n"
+"aprovechar la ayuda en línea completa.\n"
+"\n"
+" * \"%s\": permite configurar las direcciones de los proxy HTTP y FTP si la\n"
+"máquina sobre la que está instalando estará ubicada detrás de un servidor\n"
+"proxy.\n"
+"\n"
+" * \"%s\": esta entrada le ofrece volver a definir el nivel de seguridad\n"
+"como se ajustó en un paso previo (ver ).\n"
+"\n"
+" * \"%s\": si planifica conectar su máquina a la Internet, es una buena\n"
+"idea protegerse de las intrusiones configurando un cortafuegos. Consulte la\n"
+"sección correspondiente de la \"Guía de Comienzo\" para detalles acerca de\n"
+"los ajustes del cortafuegos.\n"
+"\n"
+" * \"%s\": si desea cambiar la configuración de su cargador de arranque,\n"
+"haga clic sobre este botón. Esto debería estar reservado para los usuarios\n"
+"avanzados. Consulte la documentación impresa o la ayuda en línea acerca de\n"
+"la configuración del cargador de arranque en el Centro de Control de\n"
+"Mandriva Linux.\n"
+"\n"
+" * \"%s\": por medio de esta entrada podrá tener un control fino sobre qué\n"
+"servicios correrán en su máquina. Si planifica utilizar esta máquina como\n"
+"servidor es una buena idea revisar estos ajustes."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Tarjeta RDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaz gráfica"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Elija la unidad de disco que desea borrar para instalar su partición\n"
+"Mandriva Linux nueva. Tenga cuidado, ¡se perderán todos los datos presentes\n"
+"en dicha unidad de disco y no se podrán recuperar!."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/es/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Haga clic sobre \"%s\" si desea borrar todos los datos y particiones\n"
+"presentes en esta unidad de disco. Tenga cuidado, luego de hacer clic sobre\n"
+"\"%s\", no podrá recuperar los datos y las particiones presentes en esta\n"
+"unidad de disco, incluyendo los datos de Windows.\n"
+"\n"
+"Haga clic sobre \"%s\" para detener esta operación sin perder los datos ni\n"
+"las particiones presentes en esta unidad de disco rígido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Siguiente ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
diff --git a/perl-install/install/help/po/et.po b/perl-install/install/help/po/et.po
new file mode 100644
index 000000000..e1dbfcb70
--- /dev/null
+++ b/perl-install/install/help/po/et.po
@@ -0,0 +1,1945 @@
+# Translation of DrakX.po to Estonian.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Riho Kurg <rx@linux.ee>, 1999-2003.
+# Marek Laane <bald@starman.ee>, 2002-2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-et\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-07 12:20+0200\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <et@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Enne jätkamist lugege hoolikalt läbi litsentsileping. See kehtib kogu\n"
+"Mandriva Linuxi distributsiooni kohta. Kui Te kõigi selle tingimustega\n"
+"nõus olete, märkige ära kast \"%s\". Kui Teile aga miski ei meeldi, siis\n"
+"klõps nupule \"%s\" sooritab arvuti taaskäivitamise."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux on mitmekasutajasüsteem, mis tähendab, et igal kasutajal\n"
+"võivad olla oma eelistused, failid jne. Selle kontseptsiooni kohta leiab "
+"lähemat\n"
+"infot \"Kasutaja käsiraamatust\". Kuid erinevalt administraatorist ei ole\n"
+"kasutajal õigust muuta midagi muud kui vaid omaenda faile ja seadistusi.\n"
+"Te peaksite looma ka endale vähemalt ühe tavakasutaja konto, millele sisse\n"
+"logida igapäevategevuseks. Kuigi võib olla vägagi praktiline logida iga "
+"päev\n"
+"sisse administraatorina, võib see olla ka väga ohtlik! Vähimgi viga võib "
+"sel\n"
+"puhul tähendada, et süsteem lakkab töötamast. Kui teete tõsise vea "
+"tavakasutajana,\n"
+"võite kaotada ainult mõningat infot, kuid süsteem jääb töökorda.\n"
+"\n"
+"Kõigepealt tuleks sisestada oma tegelik nimi. See ei ole mõistagi "
+"kohustuslik - tegelikult võite sisestada, mida soovite. DrakX võtab esimese "
+"sisestatud sõna\n"
+"ning kopeerib selle väljale \"%s\". See on siis nimi, mille all konkreetne "
+"kasutaja\n"
+"saab ennast süsteemi sisse logida. Soovi korral võite DrakX'i pakutut ka\n"
+"muuta. Seejärel tuleb sisestada parool. Privileegideta (tavalise) kasutaja\n"
+"parool ei ole turvalisuse mõttes nii oluline kui administraatori oma,\n"
+"kuid pole põhjust sellest ka naljanumbrit teha:\n"
+"lõppeks on ju mängus Teie failid.\n"
+"\n"
+"Kui klõpsate nupule \"%s\", võite lisada veel nii palju kasutajaid, kui "
+"vaja.\n"
+"Lisage üks kasutaja iga inimese kohta, kes Teie arvutit kasutab. Kui olete "
+"kõik\n"
+"soovitud sisestanud, klõpsake nupule \"%s\".\n"
+"\n"
+"Klõps nupule \"%s\" võimaldab muuta kasutajale määratavat shelli\n"
+"(vaikimisi on see bash).\n"
+"\n"
+"Kui olete kasutajate lisamise lõpetanud, pakutakse Teile valida kasutaja, "
+"kel on\n"
+"õigus logida süsteemi automaatselt, kui arvuti käivitub. Kui see võimalus\n"
+"Teile huvi pakub (ja kohalik turvalisus muret ei valmista), valige "
+"meelepärane\n"
+"kasutaja ning aknahaldur ja klõpsake nupule \"%s\". Kui Te sellest aga "
+"huvitatud ei ole,\n"
+"eemaldage märge kastist \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Kas soovite seda lubada?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Ülal on toodud kõik Teie kõvakettal olemasolevad Linuxi partitsioonid\n"
+"Vaikimisi on need enamasti üsna mõistlikud. Kui teete nendes muutusi,\n"
+"pidage meeles, et kindlasti vajate juurpartitsiooni (\"/\"). Liiga väikeste\n"
+"partitsioonide puhul võib tekkida raskusi piisava hulga tarkvara "
+"paigaldamisel.\n"
+"Kasutajate jaoks on sageli mõistlik luua eraldi \"/home\" partitsioon.\n"
+"(Seda mõistagi juhul, kui tegemist on enam kui ühe Linuxi partitsiooniga).\n"
+"\n"
+"Iga partitsiooni juures on toodud abiinfona \"Nimi\" ja \"Mahutavus\".\n"
+"\n"
+"\"Nimi\" koosneb kõvakettatüübist, selle numbrist ja partitsiooni\n"
+"numbrist (näiteks \"hda1\").\n"
+"\n"
+"Kõvaketta tüüp on \"hd\", kui on tegemist IDE kettaga, ning \"sd\", kui on\n"
+"tegemist SCSI kettaga.\n"
+"\n"
+"Kõvaketta number on alati täht \"hd\" või \"sd\" järel. IDE ketastel:\n"
+"\n"
+" * \"a\" - esmase IDE kontrolleri ülem,\n"
+"\n"
+" * \"b\" - esmase IDE kontrolleri allutatu,\n"
+"\n"
+" * \"c\" - teisese IDE kontrolleri ülem,\n"
+"\n"
+" * \"d\" - teisese IDE kontrolleri allutatu.\n"
+"\n"
+"SCSI ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linuxi paigalduspaketid on jagatud mitme CD vahel.\n"
+"DrakX suudab ära tunda, kui valitud pakett asub muul CD-l,\n"
+"ning väljastab siis seesoleva CD ja palub sisestada selle,\n"
+"mida parajasti vaja läheb.\n"
+"Kui Teil ei ole nõutavat CD-d käepärast, klõpsake nupul \"%s\"\n"
+"ning vastavat tarkvara ei paigaldata."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nüüd on aeg valida rakendused, mida soovite oma süsteemi paigaldada.\n"
+"Mandriva Linux pakub tuhandeid pakette ja mõistagi ei eelda keegi,\n"
+"et Te neid kõiki juba ette tunneksite.\n"
+"\n"
+"Paketid on rühmitatud gruppidesse vastavalt nende kasutusalale.\n"
+"Grupid ise on jagatud nelja sektsiooni, mida võib valida mistahes "
+"kombinatsioonis:\n"
+"\n"
+" * \"%s\": kui kavatsete kasutada arvutit tööjaamana,\n"
+"valige siit sektsioonist üks või enam grupp.\n"
+"\n"
+" * \"%s\": kui kavatsete kasutada arvutit programmeerimiseks, valige\n"
+"soovitud grupid siit. Spetsiaalne grupp \"LSB\" seadistab Teie süsteemi "
+"nii,\n"
+"et see vastab võimalikult hästi Linux Standard Base'i standardile.\n"
+"\n"
+" Grupi \"LSB\" valimine paigaldab Teie arvutisse Linuxi kerneli seeriast "
+"\"2.4\",\n"
+"mitte muidu vaikimisi paigaldatavast seeriast \"2.6\".\n"
+"Seda tehakse täieliku ühilduvuse saavutamiseks LSB standardiga.\n"
+"Kui Te aga jätate grupi \"LSB\" valimata, saate ikkagi süsteemi,\n"
+"mis vastab peaaegu täielikult LSB standardile.\n"
+"\n"
+" * \"%s\": kui arvuti peab täitma serveri ülesandeid, saate siit valida,\n"
+"milliseid levinumaid teenuseid oma süsteemi paigaldada.\n"
+"\n"
+" * \"%s\": lõpuks saate siit valida ka meelepärase graafilise töökeskkonna.\n"
+" Kui soovite kasutada graafilist töökeskkonda, tuleb Teil siit valida "
+"vähemalt üks variant.\n"
+"\n"
+"Hiire liigutamine grupi nimele toob nähtavale selle lühikirjelduse.\n"
+"\n"
+"Märkida võib ka kasti \"%s\", mis on eriti mõttekas siis, kui tunnete\n"
+"pakette, mida Teile pakutakse, või kui soovite täielikku kontrolli selle\n"
+"üle, mida Teie süsteemi paigaldatakse.\n"
+"\n"
+"Kui käivitasite paigaldamise režiimis \"%s\", võite jätta kõik grupid "
+"valimata,\n"
+"mis takistab uute pakettide paigaldamist.\n"
+"Seda tasub tarvitada näiteks olemasoleva süsteemi parandamisel või "
+"värskendamisel.\n"
+"\n"
+"Kui olete tavapärast paigaldamist tehes kõik grupid valimata jätnud\n"
+"(seega talitanud vastupidi uuendamise mõttele), ilmub dialoog,\n"
+"mis pakub mitmesuguseid võimalusi minimaalseks paigalduseks.\n"
+"\n"
+" * \"%s\": paigaldatakse minimaalselt graafiliseks töölauaks vajalikud "
+"paketid.\n"
+"\n"
+" * \"%s\": paigaldatakse baassüsteem ning põhilised utiliidid ja nende "
+"dokumentatsioon.\n"
+"See peaks sobima näiteks serverile.\n"
+"\n"
+" * \"%s\": paigaldatakse minimaalne hulk pakette,\n"
+"mida on vaja Linuxi töötamiseks (vaid käsurealt).\n"
+"See võtab ruumi umbes 65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uuendus"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Baasdokumentatsiooniga"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Tõeliselt minimaalne paigaldus"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Sõltuvalt sellest, kas valisite individuaalse pakettide valiku või mitte,\n"
+"näidatakse Teile gruppidesse ja alamgruppidesse rühmitatult kõiki pakette\n"
+"sisaldavat puud. Seda mööda liikudes võite valida või etteantud valiku\n"
+"tühistada tervete gruppide, alamgruppide või üksikute pakettide kaupa.\n"
+"\n"
+"Kui valite puus mõne paketi, ilmub paremal selle kirjeldus,\n"
+"mis annab teada, milline on paketi ülesanne.\n"
+"\n"
+"!! Kui tahtlikult või seetõttu, et asi kuulus gruppi,\n"
+"on valitud mõni serveripakett, palutakse Teilt kinnitust,\n"
+"et Te ikka tõesti soovite neid servereid paigaldada.\n"
+"Mandriva Linux käivitab kõik paigaldatud serverid vaikimisi alglaadimise "
+"ajal.\n"
+"Isegi kui nad olid turvalised ja teadaolevalt probleemivabad ajal,\n"
+"mis valmis distributsioon, võib kergesti juhtuda,\n"
+"et pärast Mandriva Linuxi praeguse versiooni valmimist leiti neist "
+"turvaauke.\n"
+"Kui Te ei tea, mida konkreetne teenus pakub või miks see üldse "
+"paigaldatakse,\n"
+"klõpsake nupul \"%s\", sest klõps nupul \"%s\" paigaldab loetletud serverid\n"
+"ning nad käivituvad alglaadimise ajal automaatselt. !!\n"
+"\n"
+"Lisavõimalus \"%s\" lihtsalt keelab hoiatava dialoogi,\n"
+"mis ilmub alati, kui paigaldaja valib automaatselt mõne paketi.\n"
+"See juhtub siis, kui leitakse, et paigaldamise edukaks lõpetamiseks\n"
+"on vajalik paigaldada veel mõni muu pakett.\n"
+"\n"
+"Väike disketiikoon nimekirja all võimaldab avada\n"
+"eelmise paigaldamise ajal valitud pakettide nimekirja.\n"
+"Sellel klõpsamise järel palutakse Teil sisestada diskett,\n"
+"mille lõite eelmise paigaldamise lõpul.\n"
+"Vaadake ka eelmise sammu teist nõuannet selle kohta, kuidas sellist disketti "
+"luua."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automaatsõltuvused"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": klõps nupul \"%s\" avab printeri seadistamise nõustaja.\n"
+"Uurige lähemalt \"Põhiteadmiste käsiraamatu\" (\"Starter Guide\")\n"
+"vastavast peatükist, kuidas uut printerit häälestada.\n"
+"Siin näidatav sarnaneb sellele, mida võisite näha paigaldamise ajal."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Nüüd saate valida, millised teenused peaks käivitama alglaadimisel.\n"
+"\n"
+"Siin on üles loetud kõik teenused, mis on saadaval antud paigalduse puhul.\n"
+"Uurige neid hoolega ja jätke valimata kõik, mida ei ole alglaadimise ajal\n"
+"tingimata vajalik käivitada.\n"
+"\n"
+"Konkreetset teenust valides näete selle kohta lühikest seletavat teksti. "
+"Kui\n"
+"Te ei ole aga kindel, kas teenus on kasulik või mitte, on mõistlik jätta "
+"kehtima\n"
+"vaikevalik (olgu see siis lubav või mitte).\n"
+"\n"
+"!! Kui kavatsete oma süsteemi kasutada serverina, olge eriti tähelepanelik:\n"
+"tõenäoliselt ei soovi Te käivitada mittevajalikke teenuseid. Pidage meeles, "
+"et\n"
+"mõned teenused võivad serveris kasutatuna olla isegi ohtlikud. Üldiselt "
+"tasub\n"
+"valida ainult neid teenuseid, mida Teil tõesti vaja läheb.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux kasutab GMT (Greenwichi) aega ning teisendab selle\n"
+"kohalikuks ajaks vastavalt Teie valitud ajavööndile. Seda võib siiski ka "
+"välja\n"
+"lülitada, kui jätta märkimata \"%s\". Sellisel juhul kajastab\n"
+"arvutikell sama aega, mis süsteemi kell. See võib olla kasulik, kui masinas "
+"on\n"
+"veel mõni operatsioonisüsteem, näiteks Windows.\n"
+"\n"
+"Võimalus \"%s\" võimaldab kellaaega reguleerida,\n"
+"ühendudes Internetis mõne ajaserveriga. Pakutavas nimekirjas valige mõni\n"
+"lähemal asuv server. Mõistagi peab selle võimaluse kasutamiseks olema ka\n"
+"Internetiühendus. Tegelikult paigaldab see Teie arvutisse ajaserveri, mida "
+"saab\n"
+"kasutada isegi teiste kohtvõrgus olevate masinate aja täpsustamiseks."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Aja automaatne sünkroniseerimine"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Videokaart\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt masinasse\n"
+"paigaldatud videokaardi. Kui see ei õnnestu, saate nimekirjast valida\n"
+"kaardi, mis tegelikult on masinass paigaldatud.\n"
+"\n"
+" Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (ehk X Window System) kujutab endast GNU/Linuxi graafilise "
+"kasutajaliidese\n"
+"tuuma ja südant, millele toetuvad kõik Mandriva Linuxiga kaasas käivad\n"
+"graafilised töökeskkonnad (KDE, GNOME, AfterStep, WindowMaker jne).\n"
+"\n"
+"Siin näidatakse Teile tervet nimekirja parameetreid, mida saab muuta,\n"
+"et graafiline kasutajaliides oleks just Teile meelepärane:\n"
+"\n"
+"Videokaart\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt masinasse\n"
+"paigaldatud videokaardi. Kui see ei õnnestu, saate nimekirjast valida\n"
+"kaardi, mis tegelikult on masinas paigaldatud.\n"
+"\n"
+" Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt Teie masinaga\n"
+"ühendatud monitori. Kui see ei peaks siiski õnnestuma, saate siin toodud\n"
+"nimekirjast valida monitori, mis Teil tegelikult on.\n"
+"\n"
+"\n"
+"\n"
+"Ekraanilahutus\n"
+"\n"
+" Siin saate valida Teie riistvaraga sobiva ekraanilahutuse ja "
+"värvisügavuse.\n"
+"Kui Te paigaldamise järel leiate, et siin valitu siiski ei kõlba, saate "
+"seda\n"
+"hiljem muuta. Valitud seadistust näidatakse monitoril.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Sõltuvalt Teie riistvarast ei pruugi seda näha olla.\n"
+"\n"
+" süsteem püüab avada graafilist akent soovitud ekraanilahutusega. Kui "
+"näete\n"
+"testi ajal sõnumit ja vastate \"%s\", suundub DrakX järgmise sammu juurde.\n"
+"Kui Te sõnumit ei näe, tähendab see, et miski automaatselt tuvastatud\n"
+"seadistuses oli mäda ja test lõpeb automaatselt 12 sekundi pärast, tuues\n"
+"Teid menüüsse tagasi. Seal saate muuta seadistusi, kuni Teil õnnestub\n"
+"leida see, mis tagab korrektse ja meelepärase graaafilise kasutajaliidese.\n"
+"\n"
+"\n"
+"\n"
+"Eelistused\n"
+"\n"
+" Siin saab määrata, kas soovite, et masin käivitaks alglaadimise ajal\n"
+"automaatselt graafilise kasutajaliidese. Ilmselt on Teie vastus \"%s\",\n"
+"kui soovite, et masin toimiks serverina, või kui Teid ei kippunud\n"
+"seadistamise ajal edu saatma."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Paigaldaja tuvastab ja seadistab tavaliselt automaatselt Teie masinaga\n"
+"ühendatud monitori. Kui see ei peaks siiski õnnestuma, saate siin toodud\n"
+"nimekirjast valida monitori, mis Teil tegelikult on."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ekraanilahutus\n"
+"\n"
+" Siin saate valida Teie riistvaraga sobiva ekraanilahutuse ja "
+"värvisügavuse.\n"
+"Kui Te paigaldamise järel leiate, et siin valitu siiski ei kõlba, saate "
+"seda\n"
+"hiljem muuta. Valitud seadistust näidatakse monitoril."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Juhul, kui Teie kaardile peaks saada olema erinevaid servereid nii 3D\n"
+"kiirendusega kui ilma, saate valida serveri, mis Teie vajadustele\n"
+"kõige enam vastab."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Eelistused\n"
+"\n"
+" Siin saab valida, kas soovite kasutada graafilist töökeskkonda\n"
+"kohe alglaadimisel. Pange tähele, et seda päritakse ka siis, kui Te ei "
+"proovinudki\n"
+"seadistusi testida. On üsna ilmne, et vastus kõlab \"%s\", kui masina "
+"ülesanne\n"
+"on tegutseda serverina või kui Teid ei kippunud seadistamise ajal edu saatma."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Olete jõudnud punkti, kus peate otsustama, kuhu täpselt Mandriva Linux\n"
+"oma kõvakettal paigaldada. Kui kõvaketas on tühi või mõni muu\n"
+"operatsioonisüsteem seda täielikult kasutab, on vaja see osadeks jagada\n"
+"ehk partitsioneerida.\n"
+"Partitsioneerimine on tegevus, mille käigus tekitatakse kettale loogilised\n"
+"piirkonnad Teie uue Mandriva Linuxi süsteemi paigaldamiseks.\n"
+"\n"
+"Kuna kõvaketta jagamine on pöördumatu protsess, siis peab kogemusteta\n"
+"kasutaja olema iseäranis ettevaatlik! Selle tegevuse lihtsustamiseks ja\n"
+"vigade vähendamiseks on Teie jaoks loodudki käesolev nõustaja. Siiski,\n"
+"palun varuge natuke ettevalmistusaega.\n"
+"\n"
+"Sõltuvalt kõvaketta omadustest on ketta jagamiseks ehk partitsioneerimiseks\n"
+"mitmeid võimalusi.\n"
+"\n"
+" * \"%s\": see jagab lihtsalt Teie tühja(d) kõvaketta(d).\n"
+"Mingeid edasisi küsimusi ei esitata.\n"
+"\n"
+" * \"%s\": nõustaja leidis kõvakettalt vähemalt\n"
+"ühe Linuxi partitsiooni. Kui soovite seda/neid kasutada, valige see "
+"võimalus.\n"
+"Seejärel palutakse valida iga partitsiooniga seotud haakepunktid. Vaikimisi\n"
+"valitakse need juba ette ära ja üldiselt oleks mõistlik neid mitte muuta.\n"
+"\n"
+" * \"%s\": kui kõvakettale on paigaldatud\n"
+"Microsoft Windows ja see haarab enda alla kogu kõvaketta, tuleb Teil "
+"tekitada\n"
+"vaba ruum GNU/Linuxi andmetele. Selleks võib hävitada Microsoft Windowsi\n"
+"partitsiooni koos andmetega (vaata võimalusi \"Puhasta kogu ketas\" või\n"
+"\"Ekspertrežiim\") või selle suurust muuta. Viimast on võimalik sooritada "
+"ilma\n"
+"andmeid kaotamata, seda küll eeldusel, et olete varem Windowsi partitsiooni\n"
+"defragmenteerinud. Siiski ei tule kindlasti kahjuks ka andmetest varukoopia\n"
+"valmistamine... See lahendus on soovitatav, kui tahate kasutada ühes "
+"arvutis\n"
+"nii Mandriva Linuxit kui Microsoft Windowsit.\n"
+"\n"
+" Enne selle valiku kasuks otsustamist pidage silmas, et kirjeldatud "
+"protseduuri\n"
+"järel on Teie Microsoft Windowsi partitsioon senisest väiksem, mis tähendab, "
+"et\n"
+"sellel on ka vähem ruumi andmete salvestamiseks või uue tarkvara "
+"paigaldamiseks.\n"
+"\n"
+" * \"%s\": kui soovite kustutada kõik andmed ja partitsioonid, mis\n"
+"kõvakettal parajasti on, ning asendada need uue Mandriva Linuxi süsteemiga, "
+"on\n"
+"see õige valik. Aga tasub olla ettevaatlik, sest pärast selle valiku "
+"langetamist\n"
+"tagasiteed enam ei ole...\n"
+"\n"
+" !! Kui valite selle võimaluse, kaotate kõik kõvakettal olevad andmed. !!\n"
+"\n"
+" * \"%s\": see puhastab kõvaketta senistest andmetest ja\n"
+"käivitab uue paigaldusprotsessi, luues kõik partitsioonid uuesti. Kaovad ka\n"
+"kõik kettal olnud andmed.\n"
+"\n"
+" !! Kui valite selle võimaluse, kaotate kõik kõvakettal olevad andmed. !!\n"
+"\n"
+" * \"%s\": valige see, kui soovite ise kontrollida kõvaketta jagamist.\n"
+"Kuid olge ettevaatlik - see on küll võimas, aga ohte sisaldav\n"
+"valik, mille puhul võib kergesti kaotada olemasolevad andmed. Seepärast ei\n"
+"peaks seda valima, kui Te pole endas päris kindel. Täpsemalt saab teada,\n"
+"kuidas kasutada DiskDrake'i võimalusi, \"Põhiteadmiste käsiraamatu"
+"\" (\"Starter\n"
+"Guide\") alapeatükist \"Partitsioonide haldamine\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Olemasolevate partitsioonide kasutamine"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Kogu ketta tühjendamine"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja nüüd ongi paigaldamine selja taga ning Teie GNU/Linuxi süsteem valmis "
+"tööks.\n"
+"Selleks tuleb vaid klõpsata \"%s\" ning arvuti teeb taaskäivituse. Ärge\n"
+"unustage eemaldamast paigaldus-andmekandjat (CD või diskett). Seejärel\n"
+"võite valida, kas käivitada GNU/Linux või Windows (kui Teie arvutis on mitu\n"
+"süsteemi).\n"
+"\n"
+"Nupp \"%s\" pakub veel kaks võimalust:\n"
+"\n"
+" * \"%s\": loob paigaldusdisketi, mis sooritab kogu\n"
+"paigaldamise ilma kasutajata, paigaldamine ise on samasugune nagu äsja\n"
+"seljataha jäänu.\n"
+"\n"
+" Selle valiku korral ilmub veel kaks erinevat võimalust:\n"
+"\n"
+" * \"%s\". See on osaliselt automaatne, sest kõvaketta jagamisel\n"
+"(aga ka ainult seal) on võimalik sekkuda.\n"
+"\n"
+" * \"%s\". Täisautomaatne paigaldus: kõvaketas kirjutatakse täielikult\n"
+"uuesti, kõik varasemad andmed kustutatakse.\n"
+"\n"
+" See võimalus võib olla kasulik, kui paigaldamine on kavas ette võtta "
+"paljudel\n"
+"ühesugustel masinatel. Lähemalt vaadake meie veebileheküljel\n"
+"automaatpaigalduse sektsiooni.\n"
+"\n"
+" * \"%s\"(*): salvestab paigaldamise käigus valitud pakettide\n"
+"nimekirja. Kui nüüd võtate ette uue paigalduse, asetage diskett seadmesse "
+"ning\n"
+"käivitage paigaldamine klahvile [F1] vajutades abiekraani vahendusel, andes "
+"käsu\n"
+">>linux defcfg=\"floppy\"<< ja vajutades seejärel klahvi [Enter].\n"
+"\n"
+"(*) Teil läheb vaja FAT-vorminduses disketti. Sellise loomiseks GNU/Linuxi\n"
+"keskkonnas andke käsureal korraldus \"mformat a:\" või \"fdformat /dev/fd0"
+"\"\n"
+"ning seejärel \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Loo kiirpaigaldusdiskett"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Kõik värskelt loodud partitsioonid tuleb enne kasutamist vormindada\n"
+"ehk sinna tuleb luua failisüsteemid.\n"
+"\n"
+"Samuti võib vormindada varem olemas olnud partitsioonid, kui soovite\n"
+"seal leiduvad andmed ära kustutada.\n"
+"\n"
+"Pange tähele, et alati ei ole kõigi vanade partitsioonide vormindamine\n"
+"vajalik. Kindlasti tuleb vormindada partitsioonid, kus varem asus \"/\", \"/"
+"usr\"\n"
+"või \"/var\", aga kasutajate faile sisaldav \"/home\" võiks jääda alles.\n"
+"\n"
+"Olge partitsioonide valikul hoolas. Pärast vormindamist on kõik valitud\n"
+"partitsioonidel asunud andmed kustutatud ning neid ei ole võimalik "
+"taastada.\n"
+"\n"
+"Klõpsake \"%s\", kui olete vormindamiseks valmis.\n"
+"\n"
+"Klõpsake \"%s\", kui soovite valida oma uue Mandriva Linuxi süsteemi\n"
+"paigaldamiseks mõne muu partitsiooni.\n"
+"\n"
+"Klõpsake \"%s\", kui soovite valida partitsioone, millel kontrollitaks\n"
+"vigaste plokkide olemasolu."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"On tõenäoline, et praegu, kui Te paigaldate Mandriva Linuxit, on mõned\n"
+"paketid jõudnud pärast väljalaset juba uuenduskuuri üle elada. Mõnes on ära\n"
+"parandatud paar väiksemat viga, mõnes turvaprobleemid. Et võiksite neist\n"
+"uuendustest tulu lõigata, on Teil nüüd võimalik need Internetist alla "
+"laadida.\n"
+"Klõpsake \"%s\", kui Teie internetiühendus töötab, või \"%s\", kui "
+"eelistate\n"
+"pakette uuendada millalgi hiljem.\n"
+"\n"
+"Kui valite \"%s\", näidatakse Teile nimekirja kohtadega, kust uuendusi "
+"tõmmata\n"
+"saab. Valige endale lähim paik. Seejärel ilmub paketivaliku puu. Vaadake "
+"see\n"
+"üle ning klõpsake nupule \"%s\", kui soovite valitud paketi(d) alla laadida "
+"ja\n"
+"paigaldada, või \"%s\", kui Te ei soovi seda teha."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nüüd on aeg valida masinale sobiv turvatase. Rusikareeglina peaks\n"
+"turvatase olema seda kõrgem, mida ligipääsule avatum arvuti on ja mida "
+"rohkem\n"
+"leidub selles olulise tähtsusega andmeid. Samas muudab kõrgem turvatase\n"
+"enamasti kasutamise mõnevõrra keerukamaks.\n"
+"\n"
+"Kui Te ei tea, mida valida, jätke kehtima vaikimisi pakutud valik. Hiljem\n"
+"saate turvataset muuta Mandriva Linuxi juhtimiskeskuses abivahendiga "
+"Draksec.\n"
+"\n"
+"Väli \"%s\" on mõeldud süsteemi turvalisuse eest vastutava kasutaja\n"
+"teavitamiseks. Turvalisusega seotud teated saadetakse sellele aadressile."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Turvaadministraator"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Nüüd peate valima partitsiooni(d), kuhu soovite Mandriva Linuxi paigaldada.\n"
+"Kui need on juba olemas kas GNU/Linuxi varasema paigalduse või mõne muu\n"
+"kettajagamisvahendi tegevuse tulemusena, võite kasutada olemasolevaid\n"
+"partitsioone. Vastasel juhul tuleb need luua.\n"
+"\n"
+"Partitsioon on loogiliselt eraldatud kõvaketta piirkond, mille suurust\n"
+"ei ole võimalik hiljem, töötavas süsteemis enam muuta. Samuti hävivad\n"
+"partitsiooni kustutamisel kõik selles leiduvad andmed.\n"
+"\n"
+"Kõvaketta jagamise lihtsustamiseks on loodud nõustaja, mille soovitused\n"
+"on harilikult mõistlikud.\n"
+"\n"
+"Partitsioonide loomiseks valige esmalt kõvaketas. \"hda\" tähendab siin "
+"esimest\n"
+"IDE-ketast, \"hdb\" teist IDE-ketast, \"sda\" esimest SCSI-ketast ja nii "
+"edasi.\n"
+"\n"
+"Valitud ketta jagamiseks on järgmised võimalused:\n"
+"\n"
+" * \"%s\": kustutatakse kõik olemasolevad partitsioonid\n"
+"sellel kettal.\n"
+"\n"
+" * \"%s\": sel juhul tekitatakse Linuxile vajalikud\n"
+"partitsioonid kõvaketta vabale osale automaatselt.\n"
+"\n"
+"\"%s\" pakub mõned lisavõimalused:\n"
+" * \"%s\": salvestab partitsioonitabeli disketile.\n"
+"Sellest on kasu hilisemal partitsioonitabeli taastamisel, kui seda vaja\n"
+"peaks olema. Igal juhul on äärmiselt soovitav see samm ette võtta.\n"
+"\n"
+" * \"%s\": võimaldab taastada disketilt varem\n"
+"salvestatud partitsioonitabeli.\n"
+"\n"
+" * \"%s\": kui partitsioonitabel on vigastatud, võib\n"
+"proovida seda parandada. Palun ärge selle peale siiski liiga palju lootke.\n"
+"\n"
+" * \"%s\": kui soovite tühistada kõik enda tehtud muutused ja alustada algse "
+"partitsioonitabeliga.\n"
+"\n"
+" * \"%s\": selle võimaluse\n"
+"tühistamine sunnib kasutajaid käsitsi haakima ja lahutama eemaldatavaid\n"
+"andmekandjaid, st diskette ja CD-sid.\n"
+"\n"
+" * \"%s\": kui soovite uue partitsioonitabeli loomisel samm-sammulist\n"
+"juhatust. See on soovitatav, kui Te ei ole varem midagi sellist teinud.\n"
+"\n"
+" * \"%s\": selle võimalusega saab tühistada kõik tehtud muudatused.\n"
+"\n"
+" * \"%s\": võimaldab partitsioonidega ette\n"
+"võtta lisaoperatsioone (tüüp, võtmed, vorming) ning pakub rohkem infot.\n"
+"\n"
+" * \"%s\": kui olete kõvaketta jagamise lõpetanud, saate sellele nupule\n"
+"klõpsates tehtud muudatused salvestada.\n"
+"\n"
+"Partitsiooni suurust määrates saate seda täpselt paika panna klaviatuuril\n"
+"asuvaid nooleklahve kasutades.\n"
+"\n"
+"Märkus: igale võimalusele pääseb ligi ka klaviatuuri abil. Partitsioonidel\n"
+"saab liikuda klahvidega [Tab] ning üles-alla nooleklahvidega.\n"
+"\n"
+"Partitsiooni valimisel saab ette võtta järgmisi toiminguid:\n"
+"\n"
+" * Ctrl+C uue partitsiooni loomine (kui valitud on tühi partitsioon).\n"
+"\n"
+" * Ctrl+D partitsiooni kustutamine.\n"
+"\n"
+" * Ctrl+M haakepunkti määramine.\n"
+"\n"
+"Lähemat infot erinevate failisüsteemitüüpide kohta leiab \"Süvateadmiste\n"
+"käsiraamatu\" (\"Reference Manual\") peatükist \"Linuxi failisüsteem\".\n"
+"\n"
+"Kui paigaldamine toimub PPC-masinas, tuleks luua vähemalt 1MB suurune\n"
+"väike HFS \"bootstrap\"-partitsioon, mida kasutab alglaadur yaboot. Kui Te\n"
+"aga teete selle partitsiooni natukene suuremaks (näiteks nii umbes 50MB),\n"
+"on see päris hea koht, kuhu hädaolukorraks paigutada tagavarakernel\n"
+"ja ramdisk-laadepildid."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Eemaldatava andmekandja automaatne haakimine"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Tava- ja ekspertrežiimi lülitamine"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Teie arvuti kõvakettal on rohkem kui üks Microsoft Windowsi partitsioon.\n"
+"Palun valige välja see, mille suurust soovite Mandriva Linuxi jaoks muuta.\n"
+"\n"
+"Teie abistamiseks on igal partitsioonil näidatud \"Nimi Linuxis\", \"Nimi "
+"Windowsis\" ja \"Mahutavus\".\n"
+"\n"
+"\"Nimi Linuxis\" koosneb kõvakettatüübist, selle numbrist ja partitsiooni\n"
+"numbrist (näiteks \"hda1\").\n"
+"\n"
+"Kõvaketta tüüp on \"hd\", kui on tegemist IDE-kettaga, ja \"sd\", kui on\n"
+"tegemist SCSI-kettaga.\n"
+"\n"
+"Kõvaketta number on alati täht \"hd\" või \"sd\" järel. IDE-ketastel:\n"
+"\n"
+" * \"a\" - esmase IDE kontrolleri ülem,\n"
+"\n"
+" * \"b\" - esmase IDE kontrolleri allutatu,\n"
+"\n"
+" * \"c\" - teisese IDE kontrolleri ülem,\n"
+"\n"
+" * \"d\" - teisese IDE kontrolleri allutatu.\n"
+"\n"
+"SCSI-ketaste puhul on \"a\" esimene, \"b\" teine ja nii edasi.\n"
+"\n"
+"\n"
+"\"Nimi Windowsis\" on täht, millega Microsoft Windows vastavat seadet\n"
+"tähistab (esimene ketas või partitsioon kannab nime \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": võimaldab kontrollida praegust riigi valikut. Kui see ei ole riik,\n"
+"kus Te viibite, klõpsake nupule \"%s\" ja valige mõni muu riik. Kui\n"
+"Teie riiki ei ole ilmuvas nimekirjas, klõpsake nupule \"%s\", mis avab\n"
+"riikide täisnimekirja."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Seda sammu on vaja ainult siis, kui masinas leiti varasem\n"
+"GNU/Linuxi partitsioon.\n"
+"\n"
+"DrakX soovib nüüd teada, kas tahate paigaldada uue süsteemi või uuendada\n"
+"olemasolevat Mandriva Linuxi süsteemi:\n"
+"\n"
+" * \"%s\": üldiselt pühib see vana süsteemi täielikult minema. Kui\n"
+"soovite muuta praeguseid partitsioone või failisüsteemi, siis võiks seda "
+"võimalust\n"
+"kasutada. Sõltuvalt kettajagamise viisist on võimalik ka mõningaid andmeid\n"
+"ülekirjutamise eest päästa.\n"
+"\n"
+" * \"%s\": see paigaldamisviis võimaldab uuendada praegu olemasolevasse\n"
+"Mandriva Linuxi süsteemi paigaldatud pakette. Kettajagamisskeemi ega "
+"kasutajate\n"
+"andmeid ei muudeta. Enamik seadistussamme on kasutatavad sarnaselt "
+"tavapärasele\n"
+"paigaldamisele.\n"
+"\n"
+"Võimalus \"Uuendus\" peaks toimima edukalt Mandriva Linuxi süsteemides\n"
+"alates versioonist 8.1. Uuenduse proovimist varasemate versioonide peal\n"
+"me siiski ei soovita."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tavaliselt valib DrakX klaviatuuri Teie eest juba ära (sõltuvalt valitud\n"
+"keelest). Kuid see võib tekitada olukorra, kus Teil ikkagi pole just see\n"
+"klaviatuur, mida soovite: kui olete näiteks eesti keelt kõnelev\n"
+"hispaanlane, võite siiski soovida hispaania asetusega klaviatuuri. Teine "
+"kohe\n"
+"pähe tulev juhtum on läti keele kõneleja Eestis. Mõlemal juhul on\n"
+"mõtet naasta paigaldamise selle sammu juurde ja valida nimekirjast vajalik\n"
+"klaviatuur.\n"
+"\n"
+"Klõpsake nupul \"%s\", mis näitab kõiki toetatud klaviatuure.\n"
+"\n"
+"Kui valite mitte-ladina tähestikuga klaviatuuri, palutakse Teil järgmises\n"
+"dialoogis valida klahv või klahvikombinatsioon, mis vahetab ladina ja\n"
+"mitte-ladina asetusega klaviatuuri."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Esimene samm on vajaliku keele valik. Siin saate valida keele,\n"
+"mida kasutada paigaldamisel ja hilisemas töös. Valige esmalt riik,\n"
+"kus asute, ning seejärel vajalik keel.\n"
+"\n"
+"Klõpsates nupul \"%s\", võite valida muid keeli, mida Teie tööjaamale\n"
+"paigaldada. Teiste keelte valikul paigaldatakse vastava keele rakenduste\n"
+"ja dokumentatsiooni failid. Kui Teie masinaga töötab näiteks kasutajaid\n"
+"Hispaaniast, valige puuvaates põhikeeleks eesti keel ning sektsioonis\n"
+"\"Muud\" märkige ära \"%s\".\n"
+"\n"
+"Mõni sõna UTF-8 (unicode) toetuse kohta. Unicode on uus kodeering, mis\n"
+"peaks hõlmama kõiki keeli. Selle täielik toetus ei ole GNU/Linuxis\n"
+"siiski veel täielikult teostatud. Seetõttu lähtub Mandriva Linux selle\n"
+"kasutamisel või mittekasutamisel järgmistest asjaoludest:\n"
+"\n"
+" * Kui valite keele, mis üldreeglina kasutab muud kodeeringut (latin1 \n"
+"keeled, vene, jaapani, hiina, korea, tai, kreeka, türgi keel, enamik\n"
+"ISO-8859-2 keeli), kasutatakse vaikimisi vastavat kodeeringut;\n"
+"\n"
+" * Muude keelte puhul võetakse vaikimisi kasutusele Unicode;\n"
+"\n"
+" * Kui valite mitu keelt, mis ei kasuta ühesugust kodeeringut,\n"
+"tarvitatakse vaikimisi Unicode'i;\n"
+" * Ja lõpuks: kui kasutaja seda soovib, võimaldab valik \"%s\"\n"
+"sõltumata valitud keelest kasutada kogu süsteemis Unicode'i.\n"
+"\n"
+"Te võite igal juhul valida soovi korral ka mitu keelt, märkides ära\n"
+"kasti \"%s\" Täiendavate keelte valimine tähendab, et süsteemi\n"
+"paigaldatakse ka neile keeltele vajalikud fondid, õigekirja\n"
+"kontrollijad, rakenduste ja dokumentatsiooni tõlked jms.\n"
+"\n"
+"Ühelt keelelt teisele lülitumiseks võite administraatorina anda käsu\n"
+"\"/usr/sbin/localedrake\", mis võimaldab muuta kogu süsteemi keelt,\n"
+"või tavakasutajana muuta ainult enda kohta käivat keeleseadistust."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Hispaania"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Tavaliselt tuvastab DrakX hõlpsasti, mitme nupuga hiirt Te kasutate. Kui\n"
+"see välja ei tule, eeldatakse, et Teil on kahe nupuga hiir, ning "
+"kasutatakse\n"
+"kolmanda nupu emuleerimist. Kahenupulisel hiirel saab kolmandat nuppu\n"
+"\"klõpsata\" üheaegselt vasakut ja paremat nuppu alla vajutades. DrakX "
+"tuvastab\n"
+"automaatselt, kas tegemist on PS/2, jadapordi või USB-hiirega.\n"
+"\n"
+"Kui Teil on kolme nupuga, aga ilma rattata hiir, võite valida tüübiks\n"
+"\"%s\". DrakX seadistab seejärel hiire nii, et saate matkida hiireratast.\n"
+"Selleks klõpsake keskmist nuppu ja liigutage hiirt üles või alla.\n"
+"\n"
+"Kui soovite muuta hiiretüüpi, valige pakutud nimekirjast sobiv tüüp.\n"
+"\n"
+"Te võite alati valida võimaluse \"%s\", mis peaks toimima peaaegu igasuguse\n"
+"hiire korral.\n"
+"Kui valite mõne muu hiiretüübi kui vaikimisi määratu, palutakse Teil seda\n"
+"testida. Kasutage nuppe ja ratast kontrollimaks, et valik oli õige. Kui\n"
+"hiir ei käitu korralikult, vajutage tühikuklahvi või klahvi [Return], mis "
+"viib\n"
+"Teid tagasi dialoogi ja lubab uuesti valida.\n"
+"\n"
+"Vahel ei õnnestu rattaga hiirt automaatselt tuvastada. Siis tuleb see "
+"nimekirjast\n"
+"käsitsi valida. Kontrollige, et valite õigesse porti ühendatud hiiretüübi. "
+"Kui\n"
+"klõpsate nupule \"%s\", näidatakse hiire kujutist. Siis tuleb Teil "
+"liigutada\n"
+"hiireratast, et see korrektselt aktiveerida. Seejärel testige, kas kõik "
+"nupud\n"
+"ja liigutused toimivad korralikult."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Ratta emuleerimisega"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universaalne | Suvaline PS/2 ja USB hiir"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Palun valige õige port. Näiteks MS Windowsi \"COM1\" kannab\n"
+"GNU/Linuxis nime \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Nüüd on kätte jõudnud kõige olulisem hetk Teie arvuti turvalisuse "
+"tagamisel:\n"
+"Teil tuleb määrata administraatori (\"root\") parool. Administraator haldab "
+"kogu\n"
+"süsteemi ja ainult temal on õigus seda uuendada, kasutajaid lisada, muuta\n"
+"kogu süsteemi seadistusi ja nii edasi. Ehk teisisõnu - administraator võib "
+"teha\n"
+"kõike! Seepärast tuleks parool valida selline, mida oleks raske ära arvata.\n"
+"DrakX ütleb Teile, kui parool tundub olevat liiga lihtne. Te võite muidugi "
+"jätta\n"
+"ka parooli sisestamata, aga me soovitame väga tungivalt seda siiski teha.\n"
+"Nagu iga muu operatsioonisüsteem, ei ole ka GNU/Linuxi süsteem täielikult\n"
+"kaitstud vigade eest. Kuna administraator võib kõiki piiranguid muuta ning\n"
+"vahel tahtmatultki kustutada oma hooletu tegevusega kõik andmed mingilt\n"
+"partitsioonilt, on päris oluline, et administraatoriks saamine ei oleks\n"
+"eriti lihtne.\n"
+"\n"
+"Parool võib koosneda nii tähtedest kui numbritest ja peab olema vähemalt\n"
+"8 (kaheksa) märki pikk. Ärge pange kunagi administraatori parooli kirja - "
+"see\n"
+"võib muuta ligipääsu Teie süsteemile võõrastele liiga hõlpsaks.\n"
+"\n"
+"Väike soovitus - ärge siiski parooli liiga keeruliseks või pikaks ajage,\n"
+"sest lõppeks peaksite seda ju suutma ka meelde jätta!\n"
+"\n"
+"Kui Te parooli sisestate, seda ekraanil ei näidata. Juhuslike näpuvigade\n"
+"vältimiseks peate selle sisestama kaks korda järjest. Siiski, kui teete\n"
+"mõlemal korral ühesuguse vea, on just see \"vigane\" parool, mida Teilt "
+"oodatakse\n"
+"administraatorina sisselogimisel.\n"
+"\n"
+"Kui soovite, et ligipääsu käesolevale arvutile kontrolliks mõni\n"
+"autentimisserver, klõpsake nupul \"%s\".\n"
+"\n"
+"Kui Teie võrgus on kasutusel LDAP, NIS või PDC Windowsi domeeni autentimise\n"
+"teenused, valige neist sobilik \"%s\". Kui Te aga ei juhtu teadma,\n"
+"mida teha, pöörduge oma võrgu administraatori poole.\n"
+"\n"
+"Kui Teil on probleeme parooli meelespidamisega, Teie arvuti ei ole\n"
+"ühendatud ühtegi administreeritavasse võrku või Te usaldate täielikult\n"
+"kõiki, kes Teie arvutit kasutavad, on mõttekas valida \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentimisviis"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Alglaadur on väike programm, mille arvuti käivitab alglaadimise ajal.\n"
+"Tavaliselt tuvastatakse see täiesti automaatselt.\n"
+"DrakX uurib ketta alglaadimissektorit ja talitab vastavalt sellele,\n"
+"mida ta sealt leiab:\n"
+"\n"
+" * kui leitakse Windowsi alglaadimissektor, asendatatakse see grub/LiLo\n"
+"alglaadimissektoriga. Nii võite laadida kas GNU/Linuxi või mõne muu OS-i.\n"
+"\n"
+" * kui leitakse grub-i või LiLo alglaadimissektor, asendatakse see uuega.\n"
+"\n"
+"Kui DrakX ei suuda asjast aru saada, küsitakse Teie käest, kuhu alglaadur\n"
+"paigutada. Üldiselt on \"%s\" kindlaim valik. Kui valida \"%s\", ei\n"
+"paigaldata alglaadurit üldse. Aga seda kasutage küll ainult siis, kui\n"
+"VÄGA TÄPSELT teate, mida teete!"
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Siin saate valida oma arvuti trükkimissüsteemi. Teised "
+"operatsioonisüsteemid\n"
+"võivad Teile pakkuda vaid üht süsteemi, kuid Mandriva Linuxi puhul saate\n"
+"valida tervelt kahe seast.\n"
+"\n"
+" * \"%s\" - mis tähendab \"trüki kohe\" (\"print, do not queue\") - tuleks "
+"valida siis,\n"
+"kui Teil on printeriga otseühendus, Te ei soovi näha mingeid järjekordi ja "
+"Teil\n"
+"ei ole võrgus asuvaid printereid. Võrkude puhul on \"%s\" mõnevõrra aeglane "
+"ja\n"
+"tal võib esineda tegutsemisraskusi. Kui see on Teie esimene retk GNU/Linuxi\n"
+"maailma, valige \"pdq\".\n"
+"\n"
+" * \"%s\" - \"tavaline UNIXi trükkimissüsteem\" (\"Common Unix Printing\n"
+"System\") - on hiilgav valik trükkimiseks Teie kohalikul printeril või ka "
+"mõnel teisel pool maakera asuvas\n"
+"printeris. See on lihtne süsteem, mis võib olla nii kliendiks kui serveriks "
+"iidsele\n"
+"trükkimissüsteemile \"lpd\". See on ka ühilduv varasemate süsteemidega.\n"
+"suudab teha palju asju, kuid põhitegutsemine on sama lihtne kui \"pdq\" "
+"puhul.\n"
+"Kui Teil on vajadus emuleerida \"lpd\"-serverit, tuleb sisse lülitada\n"
+"\"cups-lpd\"-deemon. \"%s\" pakub ka mitut graafilist kasutajaliidest\n"
+"trükkimiseks või printeri seadistamiseks.\n"
+"\n"
+"Kui leiate hiljem, et siinkohal langetatud valik polnud vahest kõige parem,\n"
+"siis saate seda muuta Mandriva Linuxi juhtimiskeskuses PrinterDrake abil,\n"
+"klõpsates seal nupule \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspertrežiim"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Esmalt otsib DrakX üles kõik Teie arvuti IDE-seadmed, püüdes samal ajal\n"
+"tuvastada ka PCI siini SCSI-liideseid. Kui viimaseid leitakse ja vastav(ad)\n"
+"draiver(id) on teada, siis laetakse ja paigaldatakse kõik vajalik "
+"automaatselt.\n"
+"\n"
+"Riistvara tuvastamine ei pruugi alati siiski õnnestuda ja kui see nii "
+"peaks \n"
+"minema, palub DrakX Teil teatada, kas masinas on mõni PCI SCSI-liides.\n"
+"\n"
+"Kui peate oma adapteri käsitsi määrama, küsib DrakX, kas soovite määrata\n"
+"ka selle parameetrid. Siin oleks mõtet lasta tegutseda DrakX'il, mis "
+"proovib\n"
+"järele liidese spetsiifilised omadused, mida see initsialiseerimiseks "
+"vajab.\n"
+"Tavaliselt õnnestub see edukalt.\n"
+"\n"
+"Kui automaatne parameetrite otsimine ei tööta, tuleb liides käsitsi "
+"seadistada.\n"
+"Selleks tutvuge palun lähemalt oma SCSI liidese dokumentatsiooniga\n"
+"või küsige abi riistvara müüjalt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": kui süsteemis leiti helikaart, näidatakse seda siin.\n"
+"Kui märkate, et näidatav helikaart ei ole mitte see, mis süsteemis\n"
+"Teie teada tegelikult on, klõpsake nuppu ja valige uus draiver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Siin näidatakse mitmeid Teie süsteemi puudutavaid parameetreid. Sõltuvalt\n"
+"riistvarast võite siin näha kõiki või osa järgmistest kirjetest. Iga kirje\n"
+"juures on ära toodud elemendid, mida on võimalik seadistada, ning Teie "
+"masinas\n"
+"praegu kehtiv seadistus. Selle muutmiseks klõpsake nupule \"%s\".\n"
+"\n"
+" * \"%s\": võimaldab kontrollida klaviatuuritabeli seadistusi\n"
+"ja neid vajaduse korral muuta.\n"
+"\n"
+" * \"%s\": võimaldab kontrollida asukohariigi valikut. Kui Te ei asu\n"
+"vaikimisi määratud riigis, klõpsake nupule \"%s\" ja valige uus\n"
+"riik. Kui Teie riiki ei ole ilmuvas nimekirjas, klõpsake nupule\n"
+"\"%s\", mis avab riikide täisnimekirja.\n"
+"\n"
+" * \"%s\": DrakX tuletab ajavööndi valitud riigi põhjal. Kui see ei peaks\n"
+"Teile sobima, klõpsake nupule \"%s\".\n"
+"\n"
+" * \"%s\": võimaldab kontrollida hiire seadistusi ja neid vajadusel muuta.\n"
+"\n"
+" * \"%s\": klõps nupule \"%s\" avab printeri seadistamise nõustaja.\n"
+"Seda, kuidas uut printerit seadistada, vaadake lähemalt \"Põhiteadmiste\n"
+"käsiraamatu\" vastavast peatükist. Siin nähtav on sarnane paigaldamise ajal "
+"nähtuga.\n"
+"\n"
+" * \"%s\": kui süsteemis leiti helikaart, näidatakse seda.\n"
+"Kui märkate, et siintoodud helikaart pole see, mis tegelikult on\n"
+"süsteemi paigaldatud, klõpsake nupule ja valige sobiv draiver.\n"
+"\n"
+" * \"%s\": kui süsteemis leiti TV-kaart, näidatakse seda.\n"
+"Kui Teil on TV-kaart, aga seda ei leitud, klõpsake nupule \"%s\"\n"
+"ning püüdke see käsitsi määrata.\n"
+"\n"
+" * \"%s\": nupule \"%s\" klõpsates saab muuta kaardiga seotud\n"
+"parameetreid, kui arvate, et need pole korrektsed.\n"
+"\n"
+" * \"%s\": vaikimisi määrab DrakX Teie graafilise liidese\n"
+"ekraanilahutuseks \"800x600\" või \"1024x768\". Kui see Teile ei sobi,\n"
+"klõpsake nupule \"%s\" ja valige mõni muu võimalus.\n"
+"\n"
+" * \"%s\": Kui soovite kohe seadistada juurdepääsu Internetti või "
+"kohtvõrku,\n"
+"saate seda teha nupule klõpsates.\n"
+"\n"
+" * \"%s\": siin saab määrata HTTP ja FTP puhverserveri aadressid,\n"
+"kui Teie masin asub puhverserveri taga.\n"
+"\n"
+" * \"%s\": see võimaldab muuta eelmisel sammul paika pandud turvataset.\n"
+"\n"
+" * \"%s\": kui kavatsete oma süsteemi Internetti ühendada, kuluks\n"
+"ära enda kaitsmine rünnakute eest tulemüüriga. Vaadake\n"
+"üksikasju, kuidas tulemüüri seadistada, \"Põhiteadmiste käsiraamatu\" "
+"vastavast peatükist.\n"
+"\n"
+" * \"%s\": kui soovite muuta alglaaduri seadistusi, klõpsake\n"
+"sellele nupule. See on mõeldud siiski vaid kogenud kasutajatele.\n"
+"Täpsemat infot leiab käsiraamatust või Mandriva Linuxi juhtimiskeskusest.\n"
+"\n"
+" * \"%s\": saate täpselt kontrollida, millised teenused Teie\n"
+"süsteemis töötavad. Kui kavatsete kasutada oma masinat serverina, kuluks\n"
+"ära seadistused üle vaadata."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graafiline kasutajaliides"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Valige kõvaketas, mida soovite puhastada oma uue Mandriva Linuxi\n"
+"paigaldamiseks. Ettevaatust, kõik sellel leiduvad andmed hävitatakse\n"
+"ja neid ei saa enam taastada."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Valige \"%s\", kui soovite kustutada kõik sellel kettal asuvad\n"
+"partitsioonid. Ettevaatust, pärast \"%s\" klõpsamist ei ole enam\n"
+"võimalik sellelt kettalt andmeid taastada.\n"
+"\n"
+"Loobumiseks valige \"%s\", mis katkestab tegevuse ilma andmeid\n"
+"ja käesoleval kõvakettal olevaid partitsioone kustutamata."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Järgmine ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Eelmine"
+
diff --git a/perl-install/install/help/po/eu.po b/perl-install/install/help/po/eu.po
new file mode 100644
index 000000000..4f405031b
--- /dev/null
+++ b/perl-install/install/help/po/eu.po
@@ -0,0 +1,2003 @@
+# translation of eu.po to EUSKARA
+# translation of DrakX-eu.po to EUSKARA
+# translation of DrakX-eu.po to basque
+# EUSKARA: Mandriva Linux translation.
+# Copyright (C) 2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Iñigo Salvador Azurmendi <xalba@euskalnet.net>, 2001-2002,2003,2004, 2005.
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-eu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-12-31 14:02+0100\n"
+"Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n"
+"Language-Team: EUSKARA <itzulpena@euskalgnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Aurrera jarraitu aurretik lizentziaren baldintzak arretaz irakurri. \n"
+"Mandriva Linux banaketa osoa hartzen du. Baldintza guztiekin ados \n"
+"bazaude, hautatu \"%s\" laukia. Onartzen ez badituzu, \"%s\" botoian klik\n"
+"egin eta ordenagailua berrabiaraziko da."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux erabiltzaile anitzeko sistema da, eta beraz erabiltzaile\n"
+"bakoitzak bere hobespenak, bere fitxategiak eta abar eduki ditzake. \n"
+"``Hasiberrien gida'' irakur dezakezu, erabiltzaile anitzeko sistemei buruz"
+"\"gehiago ikasteko. Baina \"root\"ak, hau da, \n"
+"sistema-administratzaileak ez bezala, hemen gehitzen dituzun \n"
+"erabiltzaileek ezingo dute ezer aldatu, beren fitxategiak eta beren \n"
+"konfigurazioa izan ezik, eta, hortaz, sistema babestuta egongo da \n"
+"sistema osoan eragina duten nahigabeko aldaketetatik edo intentzio \n"
+"txarrez egindakoetatik. \n"
+"Gutxienez, erabiltzaile arrunt bat sortu behar duzu zuretzat - hori da \n"
+"eguneroko lanetarako erabili behar duzuna. Oso erraza den arren saioa beti \n"
+"\"root\" gisa hastea, kontuan izan oso arriskutsua izan daitekeela! \n"
+"Hutsegiterik txikienak sistema funtzionatu ezinda utz dezake. Erabiltzaile \n"
+"arrunt gisa akats larriren bat egiten baduzu, gerta litekeen okerrena \n"
+"informazioa galtzea da, baina ez du eraginik izango sistema osoan\n"
+"\n"
+"Lehen eremuan benetako izena eskatuko zaizu. Jakina, hori ez da \n"
+"nahitaezkoa -nahi duzun izena idatz dezakezu. DrakX-k eremu honetan \n"
+"idatzitako lehen hitza gordeko du, eta \"%s\" eremuan kopiatuko du.\n"
+"Horixe izango da erabiltzaile honek sisteman saioa hasteko idatziko duena. \n"
+"Nahi izanez gero, lehenetsia gainidatz dezakezu, eta erabiltzaile-izena \n"
+"aldatu. Hurrengo urratsa pasahitza idaztea da.\n"
+"Segurtasunaren ikuspegitik, pribilegio gabeko erabiltzaile (arrunt) baten\n"
+"pasahitza ez da \"root\"arena bezain garrantzizkoa; baina, hala ere, ez da\n"
+"axolagabeki jokatu behar, hutsik utziz edo pasahitz errazegia erabiliz: \n"
+"azken batean, zure fitxategiak arriskuan egon litezke.\n"
+"\n"
+"\"%s\"(e)n klik egindakoan, beste erabiltzaile batzuk gehitu ditzakezu. \n"
+"Gehitu erabiltzaile bat zure lagun bakoitzarentzat: zure aitarentzat edo \n"
+"arrebarentzat, adibidez. Erabiltzaileak gehitutakoan, hautatu \"%s\".\n"
+"\n"
+"\"%s\" botoian klik eginez, \"shell\" lehenetsia aldatu ahal izango diozu\n"
+"erabiltzaile horri (bash lehenespenez).\n"
+"\n"
+"Erabiltzaileak gehitzen amaitutakoan, ordenagailua abiaraztean automatikoki\n"
+"saioa has dezakeen erabiltzailea aukeratzeko eskatuko zaizu. Eginbide\n"
+"hori interesatzen bazaizu (ez du eragin handirik segurtasun lokalean),\n"
+"hautatu erabiltzailea eta leiho-kudeatzailea, eta egin klik \"%s\"(e)n. \n"
+"Eginbidea interesatzen ez bazaizu, garbitu \"%s\" laukia."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Eginbide hau erabili nahi duzu?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hemen dituzu zure disko zurrunean detektatutako Linux partizioak.\n"
+"Morroiak egindako aukerak manten ditzakezu, egokiak baitira instalazio\n"
+"ohikoenetarako. Aldaketarik egiten baduzu, gutxienez erroko partizio bat\n"
+"definitu behar duzu (\"/\"). Ez aukeratu partizio txikiegirik edo ezin \n"
+"izango duzu nahikoa software instalatu. Datuak beste partizio batean \n"
+"gorde nahi badituzu, \"/home\"rako partizio bat ere sortu beharko duzu\n"
+"(Linux partizio bat baino gehiago baduzu soilik da posible).\n"
+"\n"
+"Partizio bakoitza honela azaltzen da: \"Izena\", \"Edukiera\".\n"
+"\n"
+"\"Izena\" honela osatzen da: \"disko zurrun mota\", \"disko \n"
+"zurrun zenbakia\", \"partizio-zenbakia\" (adibidez, \"hda1\").\n"
+"\n"
+"\"Disko zurrun mota\" \"hd\" izaten da, disko zurruna IDE motakoa\n"
+"bada, eta \"sd\", SCSI motakoa bada.\n"
+"\n"
+"\"Disko zurrun zenbakia\" beti letra bat izaten da \"hd\" edo\n"
+"\"sd\"ren ondoren. \n"
+"IDE disko zurrunetan:\n"
+"\n"
+" * \"a\"k esan nahi du \"IDE kontroladore primarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"b\"k esan nahi du \"IDE kontroladore primarioko mendeko disko\n"
+"zurruna\";\n"
+"\n"
+" * \"c\"k esan nahi du \"IDE kontroladore sekundarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"d\"k esan nahi du \"IDE kontroladore sekundarioko mendeko disko\n"
+"zurruna\".\n"
+"\n"
+"SCSI disko zurrunetan, \"a\"k esan nahi du\"SCSI ID baxuena\", \"b\"k\n"
+"\"bigarren SCSI ID baxuena\", etab."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalazioa zenbait CD-ROMetan banatuta dago. \n"
+"Hautatutako pakete bat beste CD-ROM batean badago, DrakX-k du\n"
+"uneko CDa egotziko eta behar den CDa sartzeko eskatuko dizu.\n"
+"Eskatzen zaizun CDa ez badaukazu eskura, sakatu \"%s\",\n"
+"dagozkion paketeak ez dira instalatuko."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sisteman zein programa instalatu nahi dituzun zehazteko garaia da.\n"
+"Mandriva Linux-erako milaka pakete dituzu erabilgarri, eta kudeaketa\n"
+"errazteko, antzeko aplikazioen multzotan kokatu dira.\n"
+"\n"
+"Mandriva Linux-ek pakete multzoak lau kategoriatan antolatzen ditu.\n"
+"Kategoria anitzetako aplikazioak nahastu eta bateratu ditzakezu, honela\n"
+"\"Lanpostua\" instalazio batek \"Zerbitzari\" kategoriako aplikazioak\n"
+"instalatuta izan ditzake.\n"
+"\n"
+" * \"%s\": makina lanpostu gisa erabiltzeko asmoa baduzu,\n"
+"hautatu 'lanpostua' kategoriako taldeetako bat edo gehiago.\n"
+"\n"
+" * \"%s\": zure makina programazioan erabiltzeko asmoa baduzu, hautatu\n"
+"kategoria horretako talde egokiak. \"LSB\" talde bereziak zure sistema\n"
+"Linux eStandar Base-ren zehaztapenekin ahalik bateragarrien izan\n"
+"dadin konfiguratuko du.\n"
+"\n"
+" \"LSB\" taldea hautatzeak \"2.4\" nukleoaren seriea ere instalatuko da,\n"
+"\"2.6\" lehenetsiaren ordez. Hau sistemaren %%100 LSB bateragarritasuna\n"
+"ziurtatzeko egiten da. Hala ere, \"LSB\" taldea aukeratzen ez baduzu ere\n"
+"LSB-rekin ia %%100 bateragarria den sistema izango duzu.\n"
+"\n"
+" * \"%s\": zure makina zerbitzaria izatea nahi baduzu, aukeratu\n"
+"zerbitzu ohikoenetatik zeintzu instalatu nahi dituzun zure makinan.\n"
+"\n"
+" * \"%s\": hemen aukeratuko duzu nahien duzun ingurune grafikoa.\n"
+"Bat behintzat hautatu behar duzu, interfaze grafikoa erabili nahi\n"
+"baduzu behintzat.\n"
+"\n"
+"Saguaren kurtsorea talde izen baten gainetik pasatuta, talde\n"
+"horri buruzko azalpen labur bat bistaratuko da.\n"
+"\n"
+"\"%s\" laukia markatu dezakezu, erabilgarria da eskainitako paketeak\n"
+"ezagun badituzu edo instalatuko denaren gaineko erabateko kontrola \n"
+"nahi baduzu.\n"
+"\n"
+"Instalazioa \"%s\" moduan hasten baduzu, talde guztiak desautatu\n"
+"ditzakezu eta edozein pakete berriren instalazioa eragozteko. Hau\n"
+"erabilgarria da exisitzen den sistema bat konpondu edo eguneratzeko.\n"
+"\n"
+"Instalazio arrunt bat (hau da, eguneraketa ez dena) egiterakoan talde\n"
+"guztiak desautatzen badituzu, elkarrizketa bat aterako zaizu instalazio\n"
+"minimo bat egiteko aukera desberdinak aholkatuz:\n"
+"\n"
+" * \"%s\": Instalatu ahalik eta pakete kopuru txikiena dabilen idaztegi "
+"grafiko bat izateko.\n"
+"\n"
+" * \"%s\": oinarrizko sistema gehi oinarrizko utilitateak eta heuren\n"
+"dokumentazioa instalatzen ditu. Egokia da zerbitzari bat ezartzeko.\n"
+"\n"
+" * \"%s\": Linux sistema batekin lan egin ahal izateko behar den pakete\n"
+"kopuru txikiena instalatzen du. Instalazio honekin, komando-lerroko \n"
+"interfazea bakarrik izango duzu. Instalazio honen neurri osoa 65\n"
+"megabyte ingurukoa da."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Bertsio-berritzea"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Oinarrizko dokumentazioarekin"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalazio minimo-minimoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Paketeak banaka instalatzea hautatzen baduzu, instalatzaileak pakete\n"
+"guztiak talde eta azpitaldetan klasifikatuta dituen zuhaitz bat aurkeztuko "
+"du.\n"
+"Zuhaitza arakatzerakoan, talde osoak, azpitaldeak edo banako paketeak\n"
+"hauta ditzakezu.\n"
+"\n"
+"Pakete bat hautatzen duzun bakoitzean, azalpen bat agertuko\n"
+"da eskuinean, paketearen helburua jakinarazteko.\n"
+"\n"
+"Zerbitzari pakete bat hautatu bada, pakete hori zehazki hautatu duzulako\n"
+"edo pakete-talde bateko zati zelako, zerbitzari horiek instalatu nahi "
+"dituzula\n"
+" berresteko eskatuko zaizu. Lehenespenez Mandriva Linux-ek instalatutako\n"
+"edozein zerbitzu abioan automatikoki abiaraziko du. Nahiz eta seguruak\n"
+" diren eta arazo ezagunik ez duten banaketa kaleratzeko garaian, guztiz\n"
+" posible da Mandriva Linux bertsio hau amaitu eta gero segurtasun zuloak\n"
+" aurkitu izana. Ez badakizu zerbitzu zehatz batek zer egiten duen edo "
+"zergatik\n"
+" instalatu den, klikatu \"%s\". \"%s \" klikatzeak zerrendatutako "
+"zerbitzuak\n"
+" instalatuko ditu eta abiapen garaian automatikoki hasiko dira!!\n"
+"\n"
+"\"%s\" aukera menpekotasun arazoak konpontzeko xedez instalatzaileak\n"
+" automatikoki pakete bat hautatzen duenean agertzen den abisua ezgaitzeko\n"
+" erabiltzen da. Pakete batzuk beste batzurekiko menpekotasuna izaten dute,\n"
+" eta zenbait pakete instalatu ahal izateko beste pakete batzuk instalatuta\n"
+" eduki behar izaten dira. Instalatzaileak zehatz dezake instalazioa behar\n"
+"bezala burutu dadin, menpekotasun bat asetzeko, zein pakete behar diren.\n"
+"\n"
+"Zerrendaren azpian agertzen den diskete ikonoak aukera ematen du\n"
+"aurreko instalazio batean sortutako pakete-zerrenda bat zamatzeko. Oso\n"
+"erabilgarria da hainbat makina berdin konfiguratu nahi badituzu. Ikono\n"
+"honetan klik egiten baduzu, beste instalazio baten amaieran sortutako\n"
+" disketea sartzeko eskatuko dizu. Ikus diskete hori sortzeko azken "
+"urratseko\n"
+"bigarren iradokizuna."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Mendekotasun automatikoak"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" botoian klik eginda inprimagailuak konfiguratzeko morroia\n"
+"irekiko da. Begiratu \"Starter Guide\"/\"Hasiberrien Gida\"-n dagokion\n"
+"kapitulua inprimagailu berria nola ezarri jakiteko. Gure eskuliburuan \n"
+"aurkeztutako interfazea instalazio garaian erabilitakoaren antzekoa da."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Elkarrizketa hau abio garaian zein zerbitzu hastea nahi duzun aukeratzeko\n"
+" erabiltzen da.\n"
+"\n"
+"DrakX-ek uneko instalazioan erabilgarri dauden zerbitzu guztiak zerrendatuko "
+"ditu. Aztertu haietako bakoitza arretaz eta ezautatu abio garaian behar ez\n"
+" direnak.\n"
+"\n"
+"Zerbitzu bat hautatzean, azalpen-testu labur bat bistaratuko da.\n"
+"Hala ere, ez bazaude ziur zerbitzu bat erabiltzea komeni den ala ez,\n"
+"seguruagoa da jokabide lehenetsia uztea.\n"
+"\n"
+"Etapa honetan, oso kontuz ibili zure makina zerbitzari gisa erabiltzeko\n"
+"asmoa baduzu: seguru asko ez duzu nahi izango behar ez duzun zerbitzurik \n"
+"abiaraztea. Gogoan izan zerbitzu batzuk arriskutsuak izan daitezkeela \n"
+"zerbitzari batean gaitzen badira. Oro har, benetan behar dituzun zerbitzuak\n"
+"soilik hautatu!!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux-ek GMT (Greenwich Mean Time) ordua erabiltzen du eta tokian\n"
+"tokiko ordura aldatzen du, hautatutako ordu-gunearen arabera. Zure plaka\n"
+"nagusiko ordua bertako orduan ezarrita badago, hau desaktibatu dezakezu\n"
+"\"%s \" aukera ezautatuz, GNU/Linux-i sistemaren ordua eta hardwarearena\n"
+" ordu-gune berean daudela jakinaraziko diolarik. Hau erabilgarria da\n"
+"makinak beste sistema eragile bati ere ostatu ematen badio.\n"
+"\n"
+"\"%s\" aukerak automatikoki doituko du sistemaren ordularia, Interneteko\n"
+" urruneko ordu zerbitzari batekin konektatuz. Ezaugarri hau erabili ahal\n"
+" izateko, Interneteko konexioa behar duzu. Zugandik hurbil dagoen ordu\n"
+" zerbitzaria aukeratzea gomendatzen dizugu. Aukera honek ordu zerbitzari\n"
+" bat instalatzen du zure bertako sareko beste makinek ere erabili dezaketena."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Ordu-sinkronizazio automatikoa"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Txartel grafikoa\n"
+"\n"
+" Instalatzaileak normalean automatikoki detektatzen eta konfiguratzen\n"
+"du makinan instalatutako txartel grafikoa. Ez badu automatikoki detektatzen\n"
+"zerrendan hauta dezakezu zure txartel grafikoa.\n"
+"\n"
+" Zure txartelarentzat zerbitzari bat baino gehiago badaude erabilgarri, \n"
+"3D azeleraziodunak nahiz gabeak, zure beharren arabera ondoen datorkizuna\n"
+"aukeratu beharko duzu."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window sistema) GNU/Linux-en interfaze grafikoaren bihotza da,\n"
+" Mandriva Linux-ekin bildutako ingurune grafiko guztiek (KDE, Gnome,\n"
+"Afterstep, WindowMaker...) erabiltzen dutena.\n"
+"\n"
+"Bistaratze grafiko optimoa lortzeko aldatu daitekeen parametro zerrenda\n"
+"bat ikusiko duzu.\n"
+"\n"
+"Txartel Grafikoa\n"
+"\n"
+" Instalatzaileak normalean automatikoki detektatu eta konfiguratuko\n"
+"du makinan instalatutako txartel grafikoa. Hau zuzena ez bada, zerrendatik\n"
+"hauta dezakezu instalatuta daukazun txartela.\n"
+"\n"
+" Zure txartelarentzat zerbitzari desberdinak erabilgarri badaude, 3D\n"
+"azelerazioarekin edo gabe, zure beharretara ondoen egokitzen den\n"
+"zerbitzaria hautatzeko eskatuko zaizu.\n"
+"\n"
+"\n"
+"\n"
+"Monitorea\n"
+"\n"
+" Normalean instalatzaileak automatikoki detektatu eta konfiguratuko\n"
+"du makinara lotutako monitorea. Hau zuzena ez bada, zerrendatik\n"
+"hauta dezakezu lotuta daukazun monitorea.\n"
+"\n"
+"\n"
+"\n"
+"Bereizmena\n"
+"\n"
+" Hemen, zure grafikoen hardwarearentzako erabilgarri dauden bereizmen\n"
+"eta kolore sakonerak hautatu ditzakezu. Aukeratu zure beharretara hobe\n"
+"egokitzen dena (instalazio ondoren aldaketak egiteko aukera izango duzu).\n"
+"Hautatutako konfigurazioa erakusten da monitorearen irudian.\n"
+"\n"
+"\n"
+"\n"
+"Proba\n"
+"\n"
+" Zure hardwarearen arabera, baliteke sarrera hau ez agertzea.\n"
+"\n"
+" Sistema nahi duzun bereizmeneko pantaila grafiko bat irekitzen saiatuko\n"
+"da. Proba mezua ikusi eta \"%s\" erantzuten baduzu, DrakX hurrengo \n"
+"urratsera jarraituko du. Ikusten ez baduzu , horrek esan nahi du\n"
+"automatikoki detektatutako konfigurazioaren zatiren bat gaizki zegoela\n"
+"eta proba automatikoki amaituko da 12 segundo igarotakoan, eta menura\n"
+" itzuliko da. Aldatu ezarpenak bistaratze grafiko zuzena lortu arte.\n"
+"\n"
+"\n"
+"\n"
+"Aukerak\n"
+"\n"
+" Urrats hauek zure makina abiaraztean automatikoki interfaze grafikora\n"
+" aldatzea nahi duzun aukeratzeko bidea emango dizute. Jakina, \"%s\"\n"
+"aukeratu nahiko duzu makinak zerbitzari moduan lanegingo badu, edo\n"
+"bistaratzea konfiguratzea lortu ez baduzu."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitorea\n"
+"\n"
+" Normalean instalatzaileak automatikoki detektatzen eta konfiguratzen\n"
+"du makinari konektatutako monitorea. Egokia ez bada, zerrendan\n"
+"aukera dezakezu ordenagailuan konektatuta daukazun monitorea."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Bereizmena\n"
+"\n"
+" Bereizmena eta kolore-sakonera hauta ditzakezu, zure hardwarearentzat\n"
+"erabilgarri daudenen artean. Aukeratu zure beharren arabera ondoen \n"
+"datorkizuna (edonola ere, instalazioaren ondoren aldatu ahal izango duzu). \n"
+"Aukeratutako konfigurazioaren adibide bat erakutsiko zaizu monitorean."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Zure txartelarentzako zerbitzari ugari dauden kasurako, 3D azeleraziodunak \n"
+"nahiz gabeak, zure beharretara hobe egokitzen dena aukera dezazun "
+"galdegiten\n"
+"zaizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Aukerak\n"
+"\n"
+" Makina abiaraztean automatikoki interfaze grafikora aldatu dadin nahi\n"
+"duzun hautatzeko aukera ematen dizu. Jakina, \"%s\" erantzun nahi \n"
+"izango duzu zure ordenagailuak zerbitzari gisa jokatu behar badu, edo \n"
+"bistaratzea konfiguratzea lortzen ez baduzu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Hona iritsita, Mandriva Linux sistema eragilea disko zurrunean non\n"
+"instalatu aukeratu behar duzu. Zure disko zurruna hutsik badago edo\n"
+"lehendik dagoen sistema eragile batek leku erabilgarri guztia betetzen\n"
+"badu, diska zatikatu beharko duzu. Disko zurruna zatikatzea, funtsean, \n"
+"diskoa logikoki zatitzea da, Mandriva Linux sistema berria instalatzeko\n"
+"behar den lekua sortzeko.\n"
+"\n"
+"Disko zurruna zatikatzeko prozesua normalean itzulbiderik gabea denez\n"
+"eta datuen galera eragin dezakeenez, zatikatzeak beldurra eta estresa "
+"eragin\n"
+" dezake esperientzia gabeko erabiltzaileengan. Zorionez, DrakX-ek prozesu\n"
+" hau errazten duen morroi bat dauka. Urrats honekin jarraitu aurretik, "
+"irakurri\n"
+" atal honetako gainerako zatia eta guztiaren gainetik hartu behar adina "
+"denbora.\n"
+"\n"
+"Disko zurrunaren konfigurazioaren arabera, hainbat aukera izango dituzu:\n"
+"\n"
+" * \"%s\": Aukera honek zatikaketa automatia gauzatuko du hutsik dagoen\n"
+" unitatean. Aukera hau erabiltzen baduzu, ez zaizu beste galderarik egingo \n"
+"\n"
+" * \"%s\": Morroiak Linux partizio bat edo gehiago detektatu ditu zure "
+"disko\n"
+" zurrunean. Erabili nahi badituzu, hautatu aukera hau. Partizio bakoitzari\n"
+" dagokion muntatze-puntua aukeratzeko eskatuko zaizu. Oinordetzan\n"
+" hartutako muntatze-puntuak hautatzen dira lehenespenez, eta gehienetan\n"
+" ona izaten da haiek mantentzea.\n"
+"\n"
+" * \"%s\": Microsoft Windows disko zurrunean instalatuta badago eta\n"
+"bertako leku erabilgarri guztia hartzen badu, lekua askatu beharko duzu\n"
+" GNU/Linux-entzat. Horretarako, Microsoft Windows-en partizioa eta datuak\n"
+" ezaba ditzakezu (ikus ``Ezabatu disko osoa'' aukera) edo Windows-en FAT\n"
+" edo NTFS partizioei neurria aldatu. Neurri aldaketa datu galerarik gabe\n"
+"gauzatu daiteke baldin eta aurretik Windows partizioa desfragmentatu\n"
+" baduzu. Oso gomendagarria da datuen babeskopiak egitea. Aukera hau\n"
+" erabiltzea gomendatzen da Mandriva Linux eta Microsoft Windows, biak,\n"
+" konputagailu berean erabili nahi badituzu.\n"
+"\n"
+" Aukera hau hautatu aurretik, ulertu ezazu prozedura honen ondoren,\n"
+" Microsoft Windows partizioaren neurria hasi aurretik baino txikiagoa\n"
+"izango dela. Leku aske gutxiago izango duzu Microsoft Windows-en\n"
+"zure datuak gorde edo software berria instalatzeko.\n"
+"\n"
+" * \"%s\": Disko zurrunean dauden datu eta partizio guztiak ezabatu eta \n"
+"Mandriva Linux sistema berriarekin ordeztu nahi badituzu, hautatu aukera\n"
+" hau. Kontuz, berretsi ondoren ezingo baituzu eragiketa desegin.\n"
+"\n"
+" !! Aukera hau hautatzen baduzu, diskoko datu guztiak ezabatuko dira. !!\n"
+"\n"
+" * \"%s\": Aukera hau diko osoa Microsoft Windows-ek hartzen duenean\n"
+" agertzen da. Aukera hau hautatzeak unitatean dagoen guztia ezabatuko du\n"
+" eta berriro hasiko da hutsetik partizioak sortzen.\n"
+"\n"
+" !! Aukera hau hautatzen baduzu, diskoko datu guztiak galduko dituzu. !!\n"
+"\n"
+" * \"%s\": Hautatu aukera hau, disko zurruna eskuz zatikatu nahi baduzu.\n"
+"Kontuz ibili -- aukera ahaltsu bezain arriskutsua da, eta oso erraz gal\n"
+" ditzakezu datu guztiak. Horregatik, aurretik horrelako gauzak egin "
+"dituztenei\n"
+" eta esperientzia dutenei bakarrik gomendatzen zaie aukera hau. DiskDrake\n"
+" erabiltzeko jarraibide gehiago nahi izanez gero, irakurri ``Hasiberrien\n"
+" gida''ko ``Partizioen kudeaketa''atala."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Erabili lehendik dagoen partizioa"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borratu disko osoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Hortxe duzu. Instalazioa osatu da eta zure GNU/Linux sistema erabiltzeko\n"
+" prest duzu. Sakatu \"%s\" sistema berrabiarazteko. Ez ahaztu instalazio\n"
+" euskarria ateratzeaz (CD-ROMa edo disketea). Konputagailuak bere\n"
+" hardware probak amaitutakoan ikusi beharko zenuken lehen gauza\n"
+" abio-zamatzailearen menua da, zein sistema eragile abiarazi hautatzeko\n"
+"aukera emanez.\n"
+"\n"
+"\"%s\" Botoiak bi botoi gehiago erakusten ditu:\n"
+"\n"
+" * \"%s\": Instalazio-diskete bat sortzeko aukera ematen dizu, "
+"automatikoki,\n"
+" operadore baten laguntzarik gabe instalazio oso bat egingo duena, oraintxe\n"
+" konfiguratu duzun instalazioaren antzera.\n"
+"\n"
+" Kontuan izan beste bi aukera daudela erabilgarri botoian klik egin "
+"ostean:\n"
+"\n"
+" * \"%s\". Hau instalazio erdi-automatikoa da. Zatikaketa urratsa da\n"
+" prozedura interaktibo bakarra.\n"
+"\n"
+" * \"%s\". Instalazio guztiz automatikoa: disko zurruna erabat "
+"berridatziko\n"
+" da, eta datu guztiak galduko dira.\n"
+"\n"
+" Eginbide hau oso praktikoa da antzeko ordenagailu asko instalatzen\n"
+"direnerako. Ikus auto-instalazioaren atala gure web gunean informazio "
+"gehiago nahi izanez gero.\n"
+"\n"
+" * \"%s\"(*): Instalazio honetan hautatutako paketeen zerrenda gordetzen\n"
+" du. Hautapen hau beste instalazio batean erabiltzeko, sartu disketea eta\n"
+" abiatu instalazioa. Gonbitan, sakatu [F1] tekla eta idatzi >>linux\n"
+"defcfg=\"floppy\" << eta sakatu [Sartu] tekla.\n"
+"\n"
+"(*) FAT-ekin eratutako diskete bat behar duzu. GNU/Linux-en bat sortzeko\n"
+"idatzi \"mformat a:\", edo \"fdformat /dev/fd0\" eta ondoren \"mkfs vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sortu auto-instalazioko disketea"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Oinordetzan hartutako zenbait GNU/Linux partizio berrerabiltzea hautatzen\n"
+"baduzu, haietako batzuk berreratu eta bertako datuak ezabatu nahi izan\n"
+"dezakezu. Hori egiteko, mesedez partizio horiek ere aukeratu.\n"
+"\n"
+"Kontuan izan ez dela beharrezkoa lehendik dauden partizio guztiak\n"
+" berreratzea. Sistema eragilea gordetzen duten partizioak berreratu behar\n"
+" dituzu (\"/\", \"/usr\" edo \"/var\") baino ez mantendu nahi dituzun "
+"datuak\n"
+" gordetzen dituzten partizioak (normalean \"/home\").\n"
+"\n"
+"Kontuz ibili partizioak aukeratzerakoan. Eraketa amaitu ondoren,\n"
+" aukeratutako partizioetako datu guztiak ezabatu egingo dira eta ezin\n"
+"izango dituzu berreskuratu.\n"
+"\n"
+"Klikatu \"%s\" partizioak eratzeko prest zaudenean.\n"
+"\n"
+"Klikatu \"%s\" Mandriva Linux sistema eragile berria instalatzeko beste "
+"partizio\n"
+" bat aukeratu nahi baduzu.\n"
+"\n"
+"Klikatu \"%s\" diskoan hondatutako blokeak aurkitzeko egiaztatuko diren\n"
+" partizioak aukeratu nahi badituzu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mandriva Linux instalatzen duzunerako, litekeena da pakete batzuk\n"
+"hasierako argitalpenetik aldatu izana. Baliteke akatsak zuzendu eta \n"
+"segurtasun arazoak konpondu izatea. Eguneratzeez baliatu ahal izan\n"
+"zaitezen, orain, Internetetik jaitsi ditzakezu. Markatu \"%s\" dabilen "
+"Internet\n"
+"lotura badaukazu, edo \"%s\" pakete eguneratuak geroago instalatu nahi\n"
+" badituzu.\n"
+"\n"
+"\"%s\" hautatzen baduzu, eguneratzeak eskaintzen dituzten lekuen zerrenda \n"
+"azalduko zaizu. Zugandik gertu dagoen bat aukeratu behar zenuke. Pakete\n"
+" hautatzeko zuhaitza agertuko da: berrikusi hautapena, eta hautatu \"%s\" \n"
+"aukeratutako paketeak hartu eta instalatzeko, edo \"%s\" galerazteko."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Puntu honetan, DrakX-ek zure makinarentzako nahi duzun segurtasun maila\n"
+" hautatzeko aukera emango dizu. Arau nagusi bezala, segurtasun maila\n"
+"handiagoa ezarri behar da makinak ezinbesteko datuak gorde behar baditu,\n"
+"edo zuzenean Interneten agerian badago. Segurtasun maila handiagoa\n"
+"ezartzean, normalean erabilera erraztasuna galtzen da.\n"
+"\n"
+"Zer aukeratu ez badakizu, hautatu aukera lehenetsia. Gero aldatu \n"
+"ahal izango duzu draksec tresnarekin, Mandriva Linux Aginte Gunearen\n"
+"zati bat.\n"
+"\n"
+"Bete \"%s\" eremua segurtasun arduradunaren postaE helbidearekin.\n"
+"Segurtasun-mezuak helbide horretara bidaliko dira."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Segurtasun-administratzailea"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Orain, Mandriva Linux sistema instalatzeko zein partizio erabiliko\n"
+"d(ir)en aukeratu behar duzu. Partizioak jadanik definituta badaude,\n"
+"(GNU/Linux-en aurreko instalazio batek edo beste partizio-tresna batek\n"
+"definituta), lehendik dauden partizioak erabil ditzakezu. Bestela, disko \n"
+"zurruneko partizioak definitu behar dituzu.\n"
+"\n"
+"Partizioak sortzeko, aurrena disko zurrun bat hautatu behar duzu. "
+"Partizioa \n"
+"egiteko diskoa hautatzeko sakatu ``hda'' lehen IDE unitaterako,\n"
+"``hdb'' bigarrenerako, ``sda'' lehen SCSI unitaterako, eta abar.\n"
+"\n"
+"Hautatutako disko zurrunaren partizioa egiteko, aukera hauek\n"
+"erabil ditzakezu:\n"
+"\n"
+" * \"%s\": aukera honek hautatutako disko zurruneko partizio guztiak \n"
+"ezabatzen ditu\n"
+"\n"
+" * \"%s\": aukera honekin automatikoki sor ditzakezu ext3 eta\n"
+"swap partizioak disko zurruneko leku librean\n"
+"\n"
+"\"%s\": eginbide gehiagotarako aukera ematen du:\n"
+"\n"
+" * \"%s\": partizio-taula diskete batean gordetzen du. \n"
+"Baliagarria da geroago partizio-taula berreskuratzeko, behar izanez gero. \n"
+"Oso gomendagarria da urrats hau egitea.\n"
+"\n"
+" * \"%s\": lehen gordetako partizio-taula disketetik berreskuratzeko erabil\n"
+"daiteke.\n"
+"\n"
+" * \"%s\": partizio-taula hondatuta badago, \n"
+"berreskuratzen saia zaitezke aukera honen bidez. Kontuz ibili eta gogoan \n"
+"izan huts egin dezakeela.\n"
+"\n"
+" * \"%s\": aldaketa guztiak desegiten ditu\n"
+"eta hasierako partizio-taula kargatzen du.\n"
+"\n"
+" * \"%s\": aukera hau desgaitzen baduzu, \n"
+"euskarri aldagarriak (disketeak, CD-ROMak eta horrelakoak) eskuz muntatu \n"
+"eta desmuntatzera behartuko dituzu erabiltzaileak.\n"
+"\n"
+" * \"%s\": erabili aukera hau disko zurruneko partizioa egiteko morroia\n"
+"erabili nahi baduzu. Partizioak egiten ongi ez badakizu, morroia erabiltzea\n"
+"gomendatzen dizugu.\n"
+"\n"
+" * \"%s\": aukera hau aldaketak bertan behera uzteko erabil dezakezu.\n"
+"\n"
+" * \"%s\": partizioekin gauza gehiago egiteko aukera ematen \n"
+"du (mota, aukerak, formatua) eta disko zurrunari buruzko informazio \n"
+"gehiago ematen du.\n"
+"\n"
+" * \"%s\": disko zurrunaren partizioak egiten amaitutakoan, diskoari\n"
+"egindako aldaketak gordeko ditu.\n"
+"\n"
+"Partizio baten tamaina definitzean, doitasunez zehatz dezakezu\n"
+"tamaina, teklatuko gezi-teklak erabiliz.\n"
+"\n"
+"Oharra: edozein aukera eskura dezakezu teklatuaren bidez. Partizio batetik \n"
+"bestera joateko, [Tab] eta [Gora/Behera] geziak erabil ditzakezu.\n"
+"\n"
+"Partizio bat hautatuta dagoenean, aukera hauek dituzu:\n"
+"\n"
+" * Ktrl-c beste partizio bat sortzeko (partizio huts bat hautatuta\n"
+"dagoenean)\n"
+"\n"
+" * Ktrl-d partizio bat ezabatzeko\n"
+"\n"
+" * Ktrl-m muntatze-puntua ezartzeko\n"
+"\n"
+"Erabil daitezkeen fitxategi-sistema desberdinei buruzko informazioa\n"
+"lortzeko, irakurri ``Erreferentzia Eskuliburuko'' ext2FS kapitulua.\n"
+"\n"
+"PPC makina batean instalatu behar baduzu, gutxienez 1 Mbko HFS\n"
+"``bootstrap'' partizio txiki bat sortzea komeni zaizu, yaboot\n"
+"abioko kargatzaileak erabil dezan. Partizioa handixeagoa egitea hautatzen \n"
+"baduzu, adibidez 50 MBkoa, leku egokia izan daiteke ordezko nukleo bat\n"
+"eta ramdisk imajinak biltegiratzeko emergentziazko abioa egin ahal izateko."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Euskarri aldagarriak automuntatzea"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Aldatu modu normalera/aditu modura"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Microsoft partizio bat baino gehiago aurkitu dira zure disko zurrunean.\n"
+"Hautatu zeinen tamaina aldatu nahi duzun, Mandriva Linux sistema\n"
+"berria instalatu ahal izateko.\n"
+"\n"
+"Partizioak honela azaltzen dira: \"Linux izena\", \"Windows izena\"\n"
+"\"Edukiera\".\n"
+"\n"
+"\"Linux izena\" honela osatzen da: \"disko zurrun mota\", \"disko \n"
+"zurrun zenbakia\", \"partizio-zenbakia\" (adibidez, \"hda1\").\n"
+"\n"
+"\"Disko zurrun mota\" \"hd\" izaten da, disko zurruna IDE motakoa\n"
+"bada, eta \"sd\", SCSI motakoa bada.\n"
+"\n"
+"\"Disko zurrunaren zenbakia\" beti letra bat izaten da \"hd\" edo\n"
+"\"sd\"ren ondoren. IDE\n"
+"disko zurrunetan:\n"
+"\n"
+" * \"a\"k esan nahi du \"IDE kontroladore primarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"b\"k esan nahi du \"IDE kontroladore primarioko mendeko disko\n"
+"zurruna\";\n"
+"\n"
+" * \"c\"k esan nahi du \"IDE kontroladore sekundarioko disko zurrun\n"
+"nagusia\";\n"
+"\n"
+" * \"d\"k esan nahi du \"IDE kontroladore sekundarioko mendeko disko\n"
+"zurruna\".\n"
+"\n"
+"SCSI disko zurrunetan, \"a\"k esan nahi du\"SCSI ID baxuena\", \"b\"k\n"
+"\"bigarren SCSI ID baxuena\", etab.\n"
+"\n"
+"\"Windows izena\" Windows-en dagoen disko zurrunaren letra da\n"
+"(lehen diskoak edo partizioak \"C:\" du izena)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": egiaztatu hautatuta dagoen estatua. Estatu horretan ez bazaude,\n"
+"egin klik \"%s\" botoian eta hautatu beste bat. Zure estatua ez badago\n"
+"aurkeztutako zerrendan, klikatu \"%s\" botoia, estatuen zerrenda osoa "
+"jasotzeko."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Zure makinan GNU/Linux partizio zahar bat aurkitzen bada bakarrik\n"
+"aktibatzen da urrats hau.\n"
+"\n"
+"DrakX-k orain jakin behar du instalazio berri bat egin behar duzun edo\n"
+"lehendik dagoen Mandriva Linux sistema baten bertsioa berritu nahi duzun:\n"
+"\n"
+" * \"%s\": Zatirik handienean, sistema zaharra guztiz ezabatzen du. \n"
+"Disko zurruneko partizio-banaketa aldatu nahi baduzu, edo fitxategi-sistema\n"
+"aldatu, erabili aukera hau. Nolanahi ere, zure partizio-eskemaren arabera,\n"
+"lehendik dauden datu batzuk gainidaztea saihestu dezakezu.\n"
+"\n"
+" * \"%s\" instalazio-mota honek unean Mandriva Linux sisteman \n"
+"instalatuta dituzun paketeak eguneratzeko aukera ematen du. Uneko \n"
+"partizio-eskema eta erabiltzaile-datuak ez dira aldatzen. Bestelako \n"
+"konfigurazio-urrats gehienak erabilgarri mantentzen dira, instalazio\n"
+"estandarretan bezalatsu.\n"
+"\n"
+"``Bertsio-berritu'' aukerak ondo funtzionatu behar luke Mandriva Linux\n"
+"sistemaren \"8.1\" bertsioetan edo berriagoetan. Mandriva Linux-en \"8.1\" \n"
+"baino bertsio zaharragoetan ez da gomendatzen Bertsio-berritzea."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Hautatzen duzun hizkuntzaren arabera (), DrakX-k automatikoki hautatuko du\n"
+" teklatu konfigurazio jakin bat. Egiaztatu hautapenak asetzen zaituen edo\n"
+" hautatu beste teklatu diseinu bat.\n"
+"\n"
+"Baliteke zure hizkuntzarekin guztiz bat ez datorren teklatu bat erabiltzea:\n"
+"adibidez, ingelesez mintzatzen den suitzarra bazara, teklatu suitzarra izan\n"
+" dezakezu. Edo Quebec-en bizi eta ingelesez mintzo bazara, baliteke zure\n"
+" jatorrizko hizkuntza eta teklatuaren diseinua bat ez etortzea. Nolanahi "
+"ere,\n"
+" instalazio urrats honek zerrenda batetik teklatu egokia aukeratzen "
+"lagunduko\n"
+" dizu.\n"
+"Klikatu \"%s\" botoia aukeran dauden teklatu guztien zerrenda ikusteko.\n"
+"\n"
+"Latindarra ez den alfabetoan oinarritutako teklatua hautatzen baduzu,\n"
+"hurrengo elkarrizketak diseinu latindar eta ez-latindarraren artean "
+"aldatzeko \n"
+"laster-teklak konfiguratzeko aukera emango dizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Lehenengo urratsa zure hizkuntza hobetsia aukeratzea da.\n"
+"\n"
+"Egiten duzun hizkuntza hobetsiaren aukerak instalatzaileari,\n"
+" dokumentazioari, eta orokorrean sistemari eragingo die. Lehendabizi\n"
+"hautatu zure eskualdea, ondoren hitzegiten duzun hizkuntza.\n"
+"\n"
+"\"%s\" botoian klik eginez, lan-estazioan instalatu beharreko beste "
+"hizkuntza batzuk hautatu ahal izango dituzu, eta horrela, sistemaren "
+"dokumentazio eta aplikazioentzako hizkuntzaren fitxategi zehatzak\n"
+"instalatuko dira. Adibidez, zure makina Espainiako erabiltzaileek\n"
+"erabili behar badute, hautatu Euskara hizkuntza lehenetsi gisa zuhaitz\n"
+"ikuspegian eta \"%s\" Aurreratua atalean.\n"
+"\n"
+"UTF-8 (unicode) euskarriari buruz: Unicode karaktere kodeketa berri bat da,\n"
+"existitzen diren hizkuntza guztiak hartu nahi dituena. Hala ere, "
+"berarentzako\n"
+"erabateko euskarria oraindik garatzen ari da GNU/Linux-en, Mandriva Linux-"
+"en\n"
+"UTF-8 erabilera erabiltzailearen hautaketen araberakoa da:\n"
+"\n"
+" * Jatorrizko kodeketa ahaltsua duen hizkuntza bat aukeratzen baduzu \n"
+"(latin1 hizkuntzak, errusiera, japoniera, txinera, koreera, thailandiera,\n"
+"grekoa, turkiera, iso-8859-2 hizkuntza gehienak), jatorrizko kodeketa hori\n"
+"erabiliko da lehenespen gisa;\n"
+"\n"
+" * Beste hizkuntzek unicode erabiliko dute lehenespen gisa;\n"
+"\n"
+" * Bi hizkuntza edo gehiago behar badira, eta hizkuntza horiek kodeketa\n"
+"bera erabiltzen ez badute, unicode erabiliko da sistema osorako;\n"
+"\n"
+" * Azkenik, erabiltzaileak hala eskatuta, sistema unicode erabiltzera\n"
+"behartu daiteke, \"%s\" aukera hautatuz, hautatu diren hizkuntzak \n"
+"edozein direla ere.\n"
+"\n"
+"Gogoan izan hizkuntza gehigarri bat baino gehiago hauta dezakezula. \n"
+"Hainbat hizkuntza hauta ditzakezu, edo zerrendako guztiak, \"%s\"\n"
+"koadroa hautatuz. Hizkuntza baten euskarria hautatzean, hizkuntza horren\n"
+"itzulpenak, letra-tipoak, zuzentzaile ortografikoak, etab ere instalatuko "
+"dira.\n"
+"\n"
+"Zure sisteman instalatutako hizkuntzen artean aldatzeko, \"localdrake\"\n"
+" komandoa dei dezakezu \"root\" gisa zure sistema osoak erabiltzen duen\n"
+"hizkuntza aldatzeko. Erabiltzaile arrunt gisa exekutatzen baduzu, soilik\n"
+" erabiltzaile horren hizkuntza-ezarpenak aldatuko dira."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Gaztelania"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalean, DrakX-k ez du arazorik izaten saguaren botoi kopurua\n"
+" detektatzean. Izango balu, bi botoidun sagua duzula suposatuko du, eta \n"
+"hirugarren botoia emula dezan konfiguratuko du. Bi botoidun sagu batean\n"
+"hirugarren botoia sakatzeko, ezker eta eskuin botoiak aldi berean sakatu\n"
+"behar dira. DrakX-k automatikoki atzemango du saguak PS/2, serie edo\n"
+"USB interfazea erabiltzen duen.\n"
+"\n"
+"Gurpilik gabeko hiru botoidun sagua baduzu, \"%s\" sagua aukeratu\n"
+" dezakezu. DrakX-k sagua konfiguratuko du, gurpila edukiko balu\n"
+"bezala erabil dezazun: horretarako, sakatu erdiko botoia eta mugitu\n"
+" saguaren gezia gora eta behera.\n"
+"\n"
+"Beste sagu-mota bat zehaztu nahi baduzu, hauta ezazu eskainitako\n"
+"zerrendan.\n"
+"\n"
+"\"%s\" sarrera hautatu dezakezu ia edozein sagurekin ibiliko den sagu\n"
+" mota``generiko'' bat aukeratzeko.\n"
+"\n"
+"Lehenetsia ez beste sagu bat hautatzen baduzu, probarako pantaila\n"
+"bat bistaratuko da. Erabili botoiak eta gurpila ezarpenak egokiak direla \n"
+"eta sagua ondo dabilela egiaztatzeko. Sagua behar bezala ez badabil,\n"
+"sakatu zuriune-barra edo [Itzuli] tekla, proba bertan behera uzteko eta\n"
+" aukeren zerrendara itzultzeko zara.\n"
+"\n"
+"Batzuetan sagu gurpildunak ez dira automatikoki detektatzen, beraz\n"
+"sagua zerrendatik hautatu beharko duzu. Ziurtatu zure sagua lotuta\n"
+"dagoen atakari dagokiona hautatu duzula. Sagua hautatu eta \n"
+"\"%s\" botoia sakatu ondoren, sagu-irudi bat agertuko da pantailan. \n"
+"Biratu zure saguaren gurpila, pantailako sagu gurpila higitzen ikusiko\n"
+"duzu. Probatu botoiak eta egiaztatu saguaren gezia pantailan mugitzen\n"
+" dela zuk sagua mugitzen duzunean."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "gurpil-emulazioarekin"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Unibertsala | Edozein PS/2 eta USB sagu"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Hautatu ataka egokia. Adibidez, Windows-eko \"COM1\" atakak\n"
+"\"ttyS0\" izena du GNU/Linux-en."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Hau da erabaki puntu garrantzitsuena zure GNU/Linux sistemaren\n"
+" segurtasunerako: \"root\" pasahitza idatzi behar duzu. \"Root\" sistema\n"
+" administratzailea da eta berak bakarrik dauka sistema eguneratu,\n"
+" erabiltzaileak erantsi, konfigurazio orokorra aldatu eta horrelakoetarako\n"
+" baimena. Labur esateko, \"root\"ek guztia egin dezake! Horregatik aukeratu\n"
+"behar duzu asmatzeko zaila den pasahitza. DrakX-k esango dizu aukeratzen\n"
+"duzun pasahitza errazegia den. Ikus dezakezunez ez zaude pasahitz bat\n"
+"sartzera behartuta, baino biziki gomendatzen dizugu horrelakorik ez egitea.\n"
+"GNU/Linux, erabilzaileen akatsetara beste edozein sistema eragilek adina\n"
+" joera dauka. \"root\"-ek muga guztiak gaindi ditzakeenez eta nahi gabe\n"
+" partizioetako datu guztiak ezaba ditzakeenez beraietara behar bezain\n"
+"kontuz ez sartzeagatik, garrantzi handia dauka \"root\" gisa sartzea\n"
+"zaila izatea.\n"
+"\n"
+"Pasahitzak karaktere alfanumerikoen nahasketa izan behar luke, gutxienez\n"
+"8 karakterekoa. Ez idatzi inon \"root\" pasahitza - zure sistema arriskuan\n"
+"jartzea izugarri errazten du.\n"
+"\n"
+"Oharra - ez egin pasahitza luzeegia edo konplexuegia, gero zuk gogoratzeko\n"
+"modukoa izan behar baitu!\n"
+"\n"
+"Pasahitza ez da pantailan bistaratuko zuk idatzi bitartean. Tekleatzean\n"
+"egindako akatsak saihesteko, pasahitza bi aldiz idatzi beharko duzu.\n"
+"Akats tipografiko bera bil aldiz egiten baduzu, pasahitz ``oker'' hori "
+"erabili\n"
+" beharko duzu \"root\" bezela konektatzen zaren lehen aldian.\n"
+"\n"
+"Ordenagailu honen sarbidea autentifikazio-zerbitzari batek kontrolatzea\n"
+"nahi baduzu, egin klik \"%s\" botoian.\n"
+"\n"
+"Zure sareak LDAP, NIS, edo PDC Windows domeinuen autentifikazio\n"
+" zerbitzuak erabiltzen baditu, hautatu \"%s\"ri dagokiona. Zein erabili ez\n"
+" badakizu, galdetu sare-administratzaileari.\n"
+"\n"
+"Pasahitzak gogoratzeko arazoak badituzu, edo zure ordenagailua inoiz ez\n"
+" bada Internetera konektatuta egongo eta konfiantza osoa baduzu\n"
+" ordenagailua erabiltzen duten guztiengan, \"%s\" hauta dezakezu."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "egiaztatzea"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Abio zamatzailea konputagailuak abio garaian martxan jartzen duen\n"
+"programa txiki bat da.Sistema osoa martxan jartzearen arduraduna da.\n"
+"Normalean abio zamatzailearen instalazioa erabat automatikoa da.\n"
+"DrakX-k diskoaren abio sektorea analizatu eta han aurkitzen duenaren arabera "
+"jokatuko du:\n"
+" * Windows-en abio sektorea aurkitzen badu, GRUB/LILO abio sektore batekin\n"
+"ordeztuko du. Horrela, GNU/Linux edo makinan instalatutako beste edozein SE\n"
+"zamatzeko gai izango zara.\n"
+"\n"
+" * GRUB edo LILO abio sektore bat aurkitzen bada, berri batekin ordeztuko "
+"du.\n"
+"\n"
+"Berak erabaki ezin badu, DrakX-k zuri galdetuko dizu abioko zamatzailea non\n"
+"kokatu. Normalean, \"%s\" da lekurik seguruena. \"%s\" hautatuz ez da abio\n"
+"zamatzailerik instalatuko. Erabili aukera hau soilik zer egiten ari zaren "
+"badakizu."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Inprimatzeko sistema bat hautatzeko unea da orain.Eeste sistema eragile \n"
+"batzuk bakarra eskainiko dizute, baina Mandriva Linux-ek bi eskaintzen "
+"ditu.\n"
+"Inprimaketa sistema bakoitza egokiago da konfigurazio mota batzuetarako.\n"
+"\n"
+" * \"%s\" -- ``print, do not queue'' esapidearen akronimoa da, eta aukera\n"
+"hori hautatu behar duzu inprimagailuarekin zuzeneko konexioa baduzu, \n"
+"inprimagailu-buxadurak askatu nahi badituzu, eta sareko inprimagailurik\n"
+"ez baduzu. (\"%s\" sareko kasu oso sinpleak bakarrik maneiatzen ditu eta \n"
+"zertxobait mantsoa da sareekin erabiltzen denean.) GNU/Linux-ekin duzun \n"
+"lehen esperientzia bada, \"pdq\" erabiltzea gomendatzen dizugu.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', aukera egokia da zure\n"
+"bertako inprimagailuan edo mundu erdira dagoenean inprimatzeko.\n"
+"Konfiguratzen erraza da eta \"lpd \" inprimatze-sistema zaharraren\n"
+"zerbitzari edo bezero gisa joka dezake, beraz, inprimatze-zerbitzuak behar "
+"dituzten sistema eragile zaharragoekin bateragarria da. Berez ahaltsua\n"
+" bada ere, oinarrizko konfigurazioa ia \"pdq\"-rena bezain erraza da.\n"
+"\"lpd\" zerbitzari bat emulatu behar baduzu, egiaztatu \"cups-lpd \"\n"
+"deabrua aktibatu duzula. \"%s\"ek inprimatzeko, inprimagailuaren aukerak "
+"hautatzeko eta inprimagailua kudeatzeko interfaze grafikoak ditu.\n"
+"\n"
+"Hautapena orain egiten baduzu, eta beranduago ohartzen bazara zure\n"
+" inprimaketa sistema ez zaizula guztoko Mandriva Linux Aginte Guneko\n"
+" PrintDrake exekutatuz eta \"%s\" botoian klik eginez alda zenezake."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Aditu"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX-k zure ordenagailuko IDE gailu guztiak detektatuko ditu orain. Zure \n"
+"sisteman PCI SCSI txartelik dagoen ere begiratuko du. SCSI txartela\n"
+"aurkitzen badu, DrakX-k automatikoki instalatuko du kontrolatzaile egokia.\n"
+"\n"
+"Hardwarearen detekzioa erabat segurua ez denez, DrakX-k huts egin lezake \n"
+"hardwarea detektatzean. Horrela bada, hardwarea eskuz zehaztu beharko duzu.\n"
+"\n"
+"PCI SCSI moldagailua eskuz zehaztu behar baduzu, aukerak eskuz\n"
+"konfiguratu nahi dituzun galdetuko dizu DrakX-k. Moldagailua hasieratzeko \n"
+"behar dituen aukera zehatzak bila ditzan, hardwarea aztertzen utzi beharko \n"
+"zenioke DrakX-ri. Gehienetan, DrakX-k ez du arazorik izango prozesu hori \n"
+"burutzeko.\n"
+"\n"
+"DrakX-k ezin baditu egiaztatu hardwareari pasatu behar zaizkion "
+"parametroak \n"
+"zein diren automatikoki erabakitzeko aukerak, eskuz konfiguratu beharko \n"
+"duzu kontrolatzailea."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": zure sisteman soinu-txartel bat detektatu ezkero, hemen bistaratuko\n"
+"da. Bistaratutako soinu-txartela zure sisteman dagoena ez dela Ikusten "
+"baduzu,\n"
+"botoian klik egin eta beste gidari bat hauta dezakezu."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Errepaso gisa, DrakX-ek zure sistemari buruz bildu duen informazioaren\n"
+" laburpena erakutsiko du. Zure makinan instalatutako hardwarearen\n"
+" arabera, ondorengo sarrera hauetako batzuk edo guztiak izan ditzakezu.\n"
+" Sarrera honela osatzen da: konfiguratu beharreko elementua, eta ondoan, "
+"uneko konfigurazioaren laburpen laburra. Klikatu dagokion \"%s\" botoia\n"
+"aldaketa egiteko.\n"
+"\n"
+" * \"%s\": egiaztatu uneko teklatu maparen konfigurazioa eta aldatu\n"
+"behar izan ezkero.\n"
+"\n"
+" * \"%s\": egiaztatu uneko herrialdea. Herrialde horretan ez bazaude\n"
+"egin klik \"%s\" botoian, eta hautatu beste bat. Zure herrialdea "
+"erakutsitako\n"
+"zerrendan falta bada, klikatu \"%s\" botoia herrialdeen zerrenda osoa\n"
+"jasotzeko.\n"
+"\n"
+" * \"%s\": Lehenespenez, DrakX-ek hautatutako herrialdearen arabera\n"
+" ondorioztatzen du ordu gunea. \"%s\" botoia klikatu dezakezu zuzena.\n"
+"ez bada.\n"
+"\n"
+" * \"%s\": egiaztatu uneko sagu konfigurazioa eta klikatu botoia aldatzea\n"
+"beharrezka bada.\n"
+"\n"
+" * \"%s\": \"%s\" botoian klikatzeak inprimagailu konfigurazio morroia\n"
+"irekiko du. Kontsultatu ``Hasiberrien Gida''n dagokion atala inprimagailu\n"
+"berri bat nola ezarri jakiteko. Bertan azaldutako interfazea instalazioan\n"
+" erabiltzen denaren antzekoa da.\n"
+"\n"
+" * \"%s\": zure sisteman soinu txartel bat detektatzen bada, hemen\n"
+" bistaratuko da. Bistaratutako soinu-txartela zure sisteman instalatuta "
+"dagoena ez dela Ikusten baduzu, botoian klikatu eta beste gidari bat\n"
+"hauta dezakezu.\n"
+"\n"
+" * \"%s\": telebista txartel bat badaukazu, hemen erakutsiko da bere\n"
+"konfigurazioari buruzko informazioa. Telebista txartela izan eta ez badu \n"
+"detektatzen, klikatu \"%s\"n, eskuz konfiguratzen saiatzeko.\n"
+"\n"
+" * \"%s\": \"%s\" klikatu dezakezu txartelarekin zerikusia duten "
+"parametroak\n"
+"aldatzeko konfigurazioa okerra dela uste baduzu.\n"
+"\n"
+" * \"%s\": lehenespenez, DrakX-ek \"800x600\" edo \"1024x768\" \n"
+"bereizmenarekin konfiguratzen du interfaze grafikoa. Zuretzako ez bada\n"
+"egokia, klikatu \"%s\" zure interfaze grafikoa birkonfiguratzeko.\n"
+"\n"
+" * \"%s\": zure Internet edo bertako sare sarrera konfiguratu nahi baduzu,\n"
+"orain egin dezakezu. Jo inprimatutako dokumentaziora edo erabili\n"
+"Mandriva Aginte Gunea instalazioa amaitutakoan lerroko laguntza\n"
+"osatuaz baliatzeko.\n"
+"\n"
+" * \"%s\": HTTP eta FTP proxy helbideak konfiguratzeko aukera eskaintzen\n"
+"du instalatzen ari zaren makina proxy zerbitzari baten atzean badago.\n"
+"\n"
+" * \"%s\": sarrera honek aurreko urratsean () egin bezala segurtasun maila\n"
+" berdefinitzen uzten dizu.\n"
+"\n"
+" * \"%s\": zure makina Internetera konektatzeko asmoa baduzu,\n"
+"ideia ona da zure burua suhesi bat ezarriz babestea. Kontsultatu\n"
+"``Hasiberrien Gida''n suhesi ezarpenari dagokion atala.\n"
+"\n"
+" * \"%s\": abio zamatzailearen konfigurazioa aldatu nahi baduzu, klikatu\n"
+"botoi hontan. Erabiltzaile aurreratuek bakarrik erabili behar lukete. Jo\n"
+"inprimatutako dokumentaziora edo Mandriva Linux Aginte Guneko\n"
+" abio-zamatzailearen konfigurazioari buruzko lerroko laguntzara.\n"
+"\n"
+" * \"%s\": sarrera honen bitartez zehatz doitu dezakezu zure makinan\n"
+"zein zerbitzu exekutatuko diren. Makina hau zerbitzari moduan erabiltzeko\n"
+"asmoa badaukazu ona litzateke ezarpen hau errepasatzea.zure makinan zein "
+"zerbitzu exekutatuko diren doitasunez \n"
+"kontrola dezakezu hemendik. Makina hau zerbitzari gisa erabiltzeko asmoa \n"
+"baduzu, konfigurazio hau berrikustea komeni zaizu."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN txartela"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaze grafikoa"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Hautatu Mandriva Linux partizio berria instalatu ahal izateko ezabatu nahi\n"
+"duzun disko zurruna. Kontuz ibili, unitate horretako datu guztiak galdu\n"
+"egingo dira eta ezin izango dira berreskuratu!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manual/literal/drakx/eu/drakx-help.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Sakatu \"%s\" disko zurrun honetako datu eta partizio guztiak \n"
+"ezabatu nahi badituzu. Kontuz ibili, \"%s\" sakatu ondoren \n"
+"ezin izango duzu disko zurrun honetako daturik eta partiziorik "
+"berreskuratu,\n"
+"Windows-eko datuak barne.\n"
+"\n"
+"Sakatu \"%s\" disko zurrun honetako daturik eta partiziorik\n"
+"galdu gabe eragiketa hau bertan behera uzteko."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Hurrengoa ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Aurrekoa"
+
diff --git a/perl-install/install/help/po/fa.po b/perl-install/install/help/po/fa.po
new file mode 100644
index 000000000..4e321363f
--- /dev/null
+++ b/perl-install/install/help/po/fa.po
@@ -0,0 +1,1938 @@
+# translation of DrakX-fa.po to Persian
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Abbas Izad <abbasizad@hotmail.com>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fa\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-02-26 06:31+0100\n"
+"Last-Translator: Abbas Izad <abbasizad@hotmail.com>\n"
+"Language-Team: Persian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"قبل از ادامه، شما باید شروط مجوز را با دقت بخوانید. آن تمام انتشار\n"
+"لینوکس ماندریبا را پوشش می‌دهد. اگر با همه‌ی شروط آن موافقت\n"
+"می‌کنید، جعبه‌ی \"%s\" را علامت بزنید. اگر نه، کلیک بر دکمه‌ی \"%s\"\n"
+"رایانه‌اتان آغازگری مجدد خواهد شد."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"لینوکس/گنو یک سیستم چند کاربرانه است، بدین معنی که هر کاربر ترجیحات و\n"
+"پرونده‌های خود را دارا می‌باشد. شما می‌توانید ``راهنمای مبتدی'' را برای آموختن\n"
+"بیشتر درباره‌ی سیستم‌های چند کاربرانه مطالعه کنید. ولی برخلاف \"مدیر\"، که "
+"مدیر\n"
+"سیستم می‌باشد، کاربرانی را که شما در این مرحله اضافه می‌کنید اجازه تغییر چیزی\n"
+"جز پرونده‌ها و پیکربندی‌های خود را ندارند. این برای حفاظت سیستم از تغییرات غیر "
+"مترقبه\n"
+" یا خطرناکی است که تمام سیستم را تحت تاثیر قرار می‌دهد. شما باید حداقل یک "
+"کاربر\n"
+"معمولی برای خود ایجاد کنید -- این حسابی است که شما برای استفاده روزانه‌ی خود\n"
+"باید از آن استفاده کنید.هرچند این خیلی آسان است که مانند \"root\" وارد "
+"سیستم\n"
+"شده و هر کاری را بدون محدودیت انجام داد، ولی ممکن است این خیلی خطرناک باشد!\n"
+"یک اشتباه کوچک می‌تواند باعث شود که سیستم‌تان دیگر کار نکند. اگر شما مثل یک\n"
+"کاربر ساده اشتباه جدی را مرتکب شوید، بدترین چیزی که می‌تواند اتفاق بیافتد از\n"
+"دست دادن مقداری اطلاعات خواهد شد ولی تاثیری بر تمام سیستم نخواهد گذاشت.\n"
+"\n"
+"اولین منطقه نام حقیقی شما را می‌پرسد. البته این اجباری نیست -- شما می‌توانید\n"
+"در واقع هر چه می‌خواهید وارد کنید. برنامه‌ی نصب DrakX اولین واژه را که در این\n"
+"منطقه وارد کرده‌اید به منطقه \"%s\" کپی می‌کند که این نام کاربری ورود به\n"
+"سیستم خواهد شد. اگر بخواهید می‌توانید پیش‌فرض را نادیده گرفته و نام کاربر را "
+"تغییر\n"
+"دهید. گام بعدی وارد کردن گذرواژه‌ای است. از نظر امنیتی یک گذرواژه‌ی (عادی) "
+"بدون\n"
+"امتیاز مانند گذرواژه‌ی \"مدیر\" دارای حساسیت نمی‌باشد، اما آن دلیلی برای عدم "
+"استفاده\n"
+"از آن و خالی گذاشتن آن یا تعیین گذرواژه‌ی بسیار ساده‌ای نیست. بلاخره این "
+"پرونده‌های\n"
+"شما هستند که در معرض خطر هستند.\n"
+"\n"
+"وقتی که شما بر روی \"%s\" کلیک کنید، می‌توانید کاربرهای دیگری نیز اضافه "
+"کنید.\n"
+"افزودن یک کاربر برای هر یک از دوستان، پدرتان یا برادرتان برای مثال.\n"
+"وقتی افزودن کاربران را تمام کردید بر روی \"%s\" کلیک کنید.\n"
+"\n"
+"با کلیک کردن بر دکمه‌ی \"%s\" به شما اجازه‌ی تغییر \"پوسته\"پیش‌فرض برای\n"
+"آن کاربر (پیش‌فرض bash) داده خواهد شد.\n"
+"\n"
+"وقتی شما افزودن کاربران را تمام کردید از شما برای انتخاب کاربری که بتواند\n"
+"هنگام آغازگری رایانه بطور خودکار وارد سیستم شود سؤال خواهد شد. اگر این مورد\n"
+"برای شما جالب بوده (و امنیت محلی اهمیت چندانی برای شما ندارد) ، کاربر دلخواه "
+"و\n"
+"محیط گرافیک را انتخاب نموده سپس بر روی \"%s\" کلیک کنید. اگر شما علاقه‌ای\n"
+" به این مورد ندارید جعبه \"%s\" را غیر فعال کنید."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "آیا می‌خواهید از این قابلیت استفاده کنید؟"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"قسمت‌بندی‌های لینوکس شناسائی شده‌ی موجود بر دیسک شما در اینجا فهرست شده‌اند.\n"
+"شما می‌توانید انتخاب‌های انجام شده توسط جادوگر را نگهداشته چرا که آنها برای\n"
+"بیشتر نصب‌های عادی مناسب می‌باشند. اگر شما هر تغییری انجام دهید باید حداقل\n"
+"یک قسمت‌بندی ریشه (\"/\") را تعیین کنید. قسمت‌بندی خیلی کوچک انتخاب نکنید\n"
+"وگرنه نخواهید توانست نرم‌افزار کافی نصب کنید. اگر می‌خواهید داده‌های خود را بر\n"
+"یک قسمت‌بندی جداگانه ذخیره کنید، مجبور خواهید بود که یک قسمت‌بندی \"/home\"\n"
+"را ایجاد کنید (فقط در صورتی که شما بیش از یک قسمت‌بندی لینوکس داشته باشید).\n"
+"هر قسمت‌بندی بطریق بدنبال آمده فهرست شده است: \"نام\", \"ظرفیت\".\n"
+"ساختار \"نام\" : \"نوع دستگاه دیسک\", \"شماره‌ی دستگاه دیسک\",\n"
+"\"شماره‌ی قسمت‌بندی\" (برای مثال، \"hda1\").\n"
+"\n"
+"\"نوع دستگاه دیسک\" اگر دستگاه دیسک یک IDE باشد \"hd\" است و\n"
+"اگر آن یک دستگاه دیسک SCSI باشد \"sd\" می‌باشد.\n"
+"\n"
+"\"شماره‌ی دستگاه دیسک\" همیشه یک حرف الفبا بعد از \"hd\" یا \"sd\" می‌باشد.\n"
+"برای دستگاه‌های سخت:\n"
+"\n"
+" * \"a\" بمعنی \"دستگاه سخت ارشد بر کنترل کننده‌ی اول IDE\";\n"
+"\n"
+" * \"b\" بمعنی \"دستگاه سخت زیردست بر کنترل کننده‌ی اول IDE\";\n"
+"\n"
+" * \"c\" بمعنی \"دستگاه سخت ارشد بر کنترل کننده‌ی دوم IDE\";\n"
+"\n"
+" * \"d\" بمعنی \"دستگاه سخت زیردست بر کنترل کننده‌ی دوم IDE\".\n"
+"\n"
+"در دستگاه‌های سخت SCSI یک \"a\" بمعنی \"کمترین شناسه‌ی SCSI\", یک \"b\" بمعنی\n"
+"\"دومین کمترین شناسه SCSI\"، و غیره."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"نصب لینوکس ماندریبا در چند سی‌دی پخش شده است. اگر بسته انتخاب شده بر روی\n"
+"سی‌دی دیگری قرار دارد DrakX سی‌دی کنونی را بیرون زده و از شما میخواهد که\n"
+"سی‌دی خواسته شده را داخل کنید. اگر آن سی‌دی مورد تقاضا را ندارید فقط بر روی \"%"
+"s\"\n"
+"کلیک کنید و بسته‌های مربوطه نصب نخواهند شد."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"اکنون وقت آن رسیده است که برنامه هایی را که میخواهید بر روی سیستمتان نصب "
+"کنید مشخص نمایید.\n"
+"هزاران بسته برای لینوکس ماندریبا در دسترس بوده* و برای آسانتر کزدن مدیریت "
+"آن، آنها در\n"
+"گروه‌هایی با برنامه های شبیه بهم قرار داده شده‌اند.\n"
+"\n"
+"لینوکس ماندریبا گروههای بسته را در چهار رده مرتب کرده است. شما میتوانید "
+"برنامه ها را از\n"
+"رده های گوناگون ترکیب و مطابقت دهید، بطوریکه یک نصب پایگاه کاری میتواند "
+"برنامه هایی از\n"
+"رده کارگزار را نصب کرده باشد.\n"
+"\n"
+" * \"%s\": اگر خیال دارید از رایانه خود مانند یک پایگاه کاری استفاده کنید، "
+"یک یا چند گروه\n"
+"را از رده پایگاه کاری انتخاب کنید.\n"
+"\n"
+" * \"%s\": اگر خیال دارید از رایانه خود برای برنامه نویسی استفاده کنید، "
+"گروههای مناسب را\n"
+"از آن رده انتخاب کنید. گروه مخصوص \"LSB\" سیستمتان را طوری پیکربندی\n"
+"خواهد کرد تا هر چه بیشتر با مقررات پایه استاندارد لینوکس مطابقت داشته باشد.\n"
+"\n"
+" انتخاب گروه \"LSB\" همچنین سریال هسته \"2.4\" را نیز بجای پیش فرض \"2.6"
+"\" \n"
+"نصب خواهد کرد. این برای اطمینان ۱۰۰٪٪-مطابقت سیستم است. هر چند، اگر گروه\n"
+"\"LSB\" را انتخاب نکنید سیستمی خواهید داشت که تقریبا ۱۰۰٪٪ LSB-تطبیق دارد.\n"
+"\n"
+" * \"%s\": اگر رایانه تان قرار است کارگزار بشود، سرویسهای معمول را که خیال "
+"دارید بر\n"
+"روی رایانه تان نصب کنید انتخاب نمائید.\n"
+"\n"
+" * \"%s\": این جائی است که محیط گرافیکی ترجیحی خود را انتخاب میکنید.\n"
+"اگر میخواهید واسط گرافیکی داشته باشید حداقل یکی را باید انتخاب کنید.\n"
+"\n"
+"حرکت مکان نمای موشی بر روی نام گروهی متن توضیحی کوتاهی را درباره آن گروه\n"
+"نشان خواهد داد.\n"
+"\n"
+"شما میتوانید جعبه \"%s\" را تیک کنید، که خیلی مفید است اگر با بسته های ارائه "
+"شده آشنائید\n"
+"یا اگر میخواهید بر آنچه نصب میگردد کاملا کنترل داشته باشید.\n"
+"\n"
+"اگر نصب را در حالت \"%s\" شروع کنید، میتوانید همه گروهها را نگزینید و از "
+"نصب\n"
+"هر بسته جدید جلوگیری کنید. این برای تعمیر و بروزسازی یک سیستم موجود مفید "
+"است.\n"
+"\n"
+"اگر همه گروهها را هنگام یک نصب عادی (برخلاف یک بروزسازی) نگزیده اید،\n"
+"گفتگوئی ظاهر شده که گزینه های گوناگونی را برای یک حداقل نصب پیشنهاد میکند:\n"
+"\n"
+" * \"%s\": حداقل تعداد بسته ممکن را برای داشتن یک رومیزی گرافیکی کارآرا نصب "
+"میکند.\n"
+"\n"
+" * \"%s\": سیستم پایه بعلاوه وسایل اولیه و نوشتارهای آنها را نصب میکند. این "
+"نصب برای \n"
+"برپاسازی یک کارگزار مناسب است.\n"
+"\n"
+" * \"%s\": حداقل تعداد ممکن بسته های ضروری برای یک سیستم لینوکس کارآرا نصب\n"
+"خواهد گردید. با این نصب شما فقط واسط خط-فرمان خواهید داشت.\n"
+"اندازه کل این نصب حدود ۶۵ مگابایت است."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ارتقاء"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "با نوشتار پایه"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "کوچکترین نصب واقعی"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"اگر شما به نصب‌گر گفته‌اید که می‌خواهید بسته‌ها را دانه‌ای انتخاب کنید،\n"
+"آن درختی را شامل تمام بسته‌های دسته‌بندی شده بوسیله‌ی گروه‌ها و زیرگروه‌ها\n"
+"عرضه می‌کند. هنگام مرور بر درخت، می‌توانید همه‌ی گروه‌ها، زیرگروه‌ها،\n"
+"یا بسته‌های دانه‌ای را انتخاب کنید.\n"
+"\n"
+"هروقت شما بسته‌ای را در این درخت انتخاب می‌کنید، یک توضیح در قسمت\n"
+"راست ظاهر شده که به شما هدف بسته را معرفی می‌کند.\n"
+"\n"
+"!! اگر یک بسته کارگزار انتخاب شده باشد، یا اینکه شما مخصوصا بسته‌ی دانه‌ای\n"
+"را انتخاب کردید یا برای اینکه آن قسمتی از یک گروه از بسته‌ها باشد، از شما \n"
+"برای تایید آنکه واقعا می‌خواهید آنها را نصب کنید سؤال خواهد شد.\n"
+"پیش‌فرض لینوکس ماندریبا هر سرویس نصب شده را در زمان آغازگری \n"
+"بطور خودکار اجرا می‌کند. هرچند آنها امن بوده و هیچ اشکالی در زمان انتشار \n"
+"ندارند، احتمال دارد که سوراخ‌های امنیتی بعد از تکمیل این نسخه لینوکس \n"
+"مان‌درایک کشف شوند. اگر شما نمی‌دانید که یک سرویس بخصوص قرار \n"
+"است چکار کند یا چرا نصب شده است، پس \"%s\" را کلیک کنید. با کلیک \n"
+"بر \"%s\"سرویس‌های فهرست شده نصب خواهند شد و آنها بوسیله پیش‌فرض \n"
+"بطور خودکار هنگام آغازگری شروع می‌شوند. !! \n"
+"\n"
+"گزینه‌ی \"%s\" برای غیرفعال کردن گفتگوی هشدارهایی که هر وقت برنامه‌ی\n"
+" نصب بسته‌ای را برای حل یک مشکل وابستگی بطور خودکار انتخاب می‌کند \n"
+"استفاده می‌شود. بعضی از بسته‌ها با هم روابطی دارند بطوری که نصب یک \n"
+"بسته مستلزم نصب آن بسته‌ی دیگر می‌باشد. برنامه نصب می‌تواند تعیین کند \n"
+"که کدام بسته برای ارضای یک وابستگی لازم است تا نصب را با موفقیت تکمیل\n"
+"نماید.\n"
+"\n"
+"شمایل ریز دیسکچه در پایین فهرست به شما اجازه می‌دهد که یک\n"
+"فهرست ایجاد شده هنگام نصب قبلی را بارگذاری کنید. این روش اگر\n"
+"بخواهید تعدادی رایانه را یکسان پیکربندی کنید مفید است. کلیک بر این شمایل\n"
+"از شما می‌خواهد که آن دیسکچه را که در پایان نصب قبلی ایجاد کرده‌اید\n"
+"وارد کنید. به راهنمایی دوم آخرین مرحله برای چگونگی ایجاد چنین دیسکچه‌ای\n"
+"نگاهی بیاندازید."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "وابستگی‌های خودکار"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": با کلیک بر دکمه‌ی \"%s\" جادوگر پیکربندی چاپگر باز خواهد شد\n"
+"به فصل مربوط در ``Starter Guide'' برای اطلاعات بیشتر برای نصب یک چاپگر\n"
+"جدید مراجعه کنید. ظاهر عرضه شده در آنجا شبیه به آن است که در هنگام\n"
+"نصب استفاده می‌گردد."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"این گفتگو برای انتخاب سرویس‌هایی است که می‌خواهید هنگام آغازگری راه‌اندازی\n"
+"شوند استفاده می‌شود. \n"
+"\n"
+"برنامه‌ی DrakX همه‌ی سرویس‌های موجود را در نصب کنونی فهرست خواهد کرد.\n"
+"هر یک را بدقت ملاحظه کرده و آنهایی را که در زمان آغازگری لازم ندارید انتخاب "
+"نکنید.\n"
+"\n"
+"اگر یک سرویس انتخاب شود یک توضیح کوتاه درباره آن نشان داده خواهد شد. \n"
+"اگر شما مطمئن نیستید که آیا سرویسی مفید است یا نه، بهتر است پیش‌فرض \n"
+"را به حال خود بگذارید. \n"
+"\n"
+"!! در این مرحله خیلی دقت کنید، اگر قصد دارید از رایانه خود مانند کارگزاری\n"
+"استفاده کنید: احتمالا نمی‌خواهید هیچ سرویسی را که لازم ندارید راه‌اندازی "
+"کنید.\n"
+"لطفاً بخاطر داشته باشید که چندین سرویس در صورتی که بر یک کارگزار بکار\n"
+" بیافتند می‌توانند خطرناک باشند. بطور عمومی، فقط سرویس‌هایی را انتخاب \n"
+"کنید که واقعاً لازم دارید.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"گنو/لینوکس زمان را بر اساس GMT (Greenwich Mean Time) اداره کرده\n"
+"و آن را به زمان محلی طبق منطقه‌ی زمانی که شما انتخاب کرده‌اید برمی‌گرداند.\n"
+"اگر ساعت روی کارت ‌الکترونیکی مادر بر اساس زمان محلی گذاشته شده باشد،\n"
+"می‌توانید این را از طریق انتخاب نکردن \"%s\" غیرفعال کنید، که به گنو/لینوکس\n"
+"اجازه می‌دهد که بداند که ساعت سیستم شما و ساعت سخت‌افزار در یک منطقه‌زمانی\n"
+"قرار دارند. دانستن این وقتی که ماشین شما سیستم عامل دیگری نظیر ویندوز را "
+"میزبان\n"
+"باشد مفید می‌باشد. \n"
+"\n"
+"گزینه‌ی \"%s\" ساعت را از طریق اتصال به کارگزار از راه دور زمان بر اینترنت\n"
+"میزان می‌کند. برای کار کردن این قابلیت باید یک اتصال اینترنت فعال داشته\n"
+"باشید. بهتر است یک کارگزار زمان نزدیک به خود را انتخاب کنید. این گزینه "
+"اتفاقاً\n"
+"کارگزار زمانی را نصب می‌کند که می‌تواند بوسیله‌ی ماشین های دیگر بر روی\n"
+"شبکه‌اتان گردد."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "هم‌گاه‌سازی خودکار زمان"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"کارت گرافیک\n"
+"\n"
+" برنامه نصب‌گر معمولا کارت گرافیک نصب شده بر ماشین شما را بطور خودکار\n"
+"شناسایی و پیکربندی می‌کند. اگر چنین نشده، می‌توانید کارتی را که خود نصب "
+"کرده‌اید\n"
+"از این لیست انتخاب کنید.\n"
+"\n"
+" در صورتی که کارگزارهای مختلف برای کارت شما در دسترس می‌باشند، با یا بدون\n"
+"شتاب دهنده‌ی ۳بعدی، از شما برای انتخاب کارگزاری که برای شما مناسب‌تر می‌باشد \n"
+"سؤال خواهد شد."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (برای سیستم پنجره X ) قلب واسط تصویری لینوکس/گنو می‌باشد که تمام محیط‌های \n"
+"تصویری (KDE, GNOME, AfterStep, WindowMaker وغیره) بسته بندی شده با \n"
+"لینوکس مان‌درایک بر روی آن تکیه دارند.\n"
+"\n"
+"یک لیست ار اجزای گوناگون برای تغییر و تهیه بهترین نمایش تصویری به شما عرضه\n"
+"خواهد شد:\n"
+"\n"
+" کارت گرافیک\n"
+"\n"
+" نصب کننده معمولاً بطور خودکار کارت گرافیک بر روی ماشین شما را شناسایی\n"
+"و تنظیم خواهد کرد. اگر چنین نشد، می‌توانید کارت خود را از این لیست انتخاب "
+"کنید.\n"
+"\n"
+" در صورتی که کارگزارهای گوناگونی برای کارت شما وجود دارند، با یا بدون\n"
+"شتاب‌دهنده‌ی ۳ بعدی، از شما برای انتخاب کارگزاری که بهتر جوابگوی احتیاجات \n"
+"شما می‌باشد سوال خواهد شد.\n"
+"\n"
+"\n"
+"\n"
+"نمایشگر\n"
+"\n"
+" نصب کننده معمولاً بطور خودکار نمایشگر وصل شده به ماشین شما را شناسایی\n"
+"و تنظیم خواهد کرد. اگر چنین نشد، می‌توانید نمایشگر خود را از این لیست انتخاب "
+"نمایید.\n"
+"\n"
+"\n"
+"\n"
+"وضوح\n"
+"\n"
+" در اینجا می‌توانید وضوح و عمق‌های رنگ موجود برای سخت‌افزار خود را انتخاب\n"
+"نمایید. آن را که بهترین جوابگوی احتیاجات شما می‌باشد را انتخاب کنید (شما "
+"قادر\n"
+"خواهید بود که آن را بعد از نصب تغییر دهید). یک نمونه از تنظیمات انتخاب شده "
+"در\n"
+"نمایشگر نشان داده خواهد شد.\n"
+"\n"
+"\n"
+"\n"
+"آزمایش\n"
+"\n"
+" سیستم تلاش خواهد کرد تا یک صفحه تصویری را با وضوح مورد خواست باز کند.\n"
+"اگر شما بتوانید پیغام هنگام آزمایش را مشاهده نمایید و جواب \"%s\"را بدهید،\n"
+"پس DrakX به مرحله‌ی بعدی ادامه خواهد داد. اگر شما نتوانیدپیغام را ببینید، "
+"بدین\n"
+"معنی است که بعضی از قسمت‌های تنظیمات شناسایی خودکار صحیح نبوده و آزمایش\n"
+"بعد از ۱۲ ثانیه بطور خودکار تمام شده، شما را به فهرست برمیگرداند. تنظیمات "
+"را\n"
+"تا وقتی که نمایش تصویری درست را بدست نیاورده‌اید تغییر دهید.\n"
+"\n"
+"\n"
+"\n"
+"گزینه‌ها\n"
+"\n"
+" در اینجا میتوانید تعویض خودکار به واسط تصویری را در آغازگری انتخاب "
+"نمایید.\n"
+"روشن است که اگر ماشین شما قرار است کارگزار شود، یا اگر شما در تنظیم "
+"نمایشگر \n"
+"موفق نبوده‌اید بخواهید \"%s\" را علامت بزنید."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"نمایشگر\n"
+"\n"
+" برنامه‌ی نصب‌گر معمولاً بطور خودکار نمایشگر وصل شده به رایانه‌ی شما را \n"
+"شناسائی و پیکربندی خواهد کرد. اگر درست نبود، می‌توانید نمایشگری را\n"
+"که به رایانه‌ی خود وصل کرده‌اید از این لیست انتخاب کنید."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"تفکیک‌پذیری\n"
+"\n"
+" در اینجا می‌توانید تفکیک‌پذیری و عمق رنگ در دسترس را برای سخت‌افزارتان\n"
+"را انتخاب کنید. آن را که برای شما بهتر است انتخاب کنید (بعد از نصب می‌توانید\n"
+"آن را تغییر دهید). نمونه‌ای از پیکربندی انتخاب شده در نمایشگر نشان داده می‌شود."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"در صورتی که کارگزارهای گوناگونی برای کارت‌تان در دسترس هستند، با\n"
+"یا بدون شتاب دهنده ۳ بعدی ، از شما برای انتخاب مناسبترین کارگزار\n"
+" سؤال خواهد شد."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"گزینه‌ها\n"
+"\n"
+" در اینجا می‌توانید انتخاب کنید که آیا می‌خواهید رایانه شما بطور خودکار به\n"
+"یک واسط گرافیکی در آغازگری عوض شود. روشن است که شما بخواهید \"%s\" \n"
+"را علامت زده اگر ماشین شما مانند یک کارگزار باید عمل کند، یا اگر شما در\n"
+"پیکربندی نمایشگر خود موفق نبوده‌اید."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"در این مرحله، باید تصمیم بگیرید که در کجای دیسک خود می‌خواهید سیستم عامل\n"
+"لینوکس ماندریبا را نصب کنید. اگر دیسک شما خالی یا اگر سیستم عامل موجودی\n"
+"همه‌ی فضای در دسترس دیسک را در اختیار دارد مجبور خواهید بود دیسک خود را\n"
+"قسمت‌بندی کنید. اساسا، قسمت‌بندی دیسکی شامل قسمت کردن منطقی آن برای\n"
+"ایجاد فضای لازم برای نصب سیستم لینوکس ماندریبا جدیدتان می‌باشد.\n"
+"\n"
+"بخاطر غیر قابل برگشت بودن پروسه‌ی قسمت‌بندی و اینکه می‌تواند به از دست رفتن\n"
+"داده‌ها منتهی شود، مخصوصا اگر سیستم عاملی از قبل وجود داشته و بر روی دیسک\n"
+"نصب شده باشد، اگر شما کاربری بی‌تجربه هستید قسمت‌بندی می‌تواند عصبی\n"
+"کننده و هیجان آور باشد. خوشبختانه، DrakX جادوگر راهنمایی را برای آسان کردن\n"
+"این پروسه ضمیمه دارد. قبل از ادامه به این مرحله بقیه این بخش را بخوانید و \n"
+"بیش از هر چه وقت کافی را بخود بدهید.\n"
+"\n"
+"بستگی به پیکربندی دیسک‌تان، چندین گزینه در دسترس است:\n"
+"\n"
+" * \"%s\": این گزینه قسمت‌بندی خودکار دستگاه دیسک خالی شما را انجام می‌دهد.\n"
+"اگر از این گزینه استفاده کنید دیگر از شما سؤال دیگری نخواهد شد.\n"
+" \n"
+" * \"%s\": جادوگر یک یا چند قسمت‌بندی موجود لینوکس را بر روی دیسک شما\n"
+"شناسایی کرده است. اگر می‌خواهید از آنها استفاده کنید این گزینه را انتخاب "
+"کنید.\n"
+"از شما سپس پرسیده خواهد شد که نقاط سوارسازی مربوط به هر قسمت‌بندی را\n"
+"انتخاب کنید. نقاط سوارسازی صحیح بوسیله‌ی پیش‌فرض انتخاب خواهند شد، در بیشتر \n"
+"موارد نظر خوبی است که آنها را نگه دارید.\n"
+"\n"
+" * \"%s\": اگر ویندوز مایکروسافت بر دیسک شما نصب شده است و همه فضای موجود\n"
+"بر آن را در اختیار دارد، شما می‌بایست فضای آزاد برای لینوکس را ایجاد کنید\n"
+"برای انجام این کار، شما می‌توانید قسمت‌بندی و داده‌های ویندوز مایکروسافت\n"
+" را حذف کرده (راه حل ''پاک کردن تمام دیسک'' را ببینید) یا قسمت‌بندی FAT \n"
+"ویندوز مایکروسافت را تغییر اندازه دهید. تغییر اندازه می‌تواند بدون از دست\n"
+"دادن هیچ داده‌ای به این شرط که شما از قبل قسمت‌بندی ویندوز را نظم داده\n"
+"یا defragmented بشود و اینکه آن از قالب FAT استفاده کند. ذخیره‌ی داده‌های\n"
+"شما بشدت سفارش می‌شود. استفاده از این گزینه اگر می‌خواهید هم لینوکس\n"
+"و هم ویندوز مایکروسافت را بر روی یک رایانه داشته باشید سفارش می‌شود.\n"
+"\n"
+" قبل از انتخاب این گزینه، لطفا توجه کنید که بعد از این پروسه اندازه‌ی\n"
+"قسمت‌بندی ویندوز مایکروسافت شما کوچکتر از وقتی که شروع کرده‌اید خواهد\n"
+"شد شما فضای آزاد کمتری زیر ویندوز مایکروسافت برای ذخیره‌ی داده‌ها‌ی خود یا\n"
+"نصب نرم‌افزار جدید خواهید داشت.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید تمام داده‌ها و قسمت‌بندی‌های موجود بر روی دیسک\n"
+"را حذف و آنها را با سیستم لینوکس ماندریبا جدید خود جایگزین کنید، این \n"
+"گزینه را انتخاب کنید. دقت کنید، شما قادر نخواهید بود انتخاب خود را \n"
+"بعد از تأیید پس بگیرید.\n"
+"\n"
+" !! اگر این گزینه را انتخاب کنید، همه‌ی داده‌های بر روی دیسک شما حذف خواهند "
+"شد. !! \n"
+"\n"
+" * \"%s\": این همه چیز را از دیسک پاک کرده و از نو شروع به قسمت‌بندی هر \n"
+"چیز از پایه می‌کند. هر داده‌ای بر روی دیسک شما از دست خواهد رفت. \n"
+"\n"
+" !! اگر شما این گزینه را انتخاب کنید، همه داده‌های بر دیسک شما از دست خواهد "
+"رفت. !! \n"
+"\n"
+" * \"%s\": این گزینه را اگر خودتان می‌خواهید دیسک را قسمت‌بندی کنید انتخاب\n"
+" نمایید. دقت کنید -- این گزینه‌ی باقدرت ولی خطرناکی است و شما می‌توانید \n"
+"بسادگی تمام داده‌های خود را از دست بدهید. برای همین این گزینه واقعا فقط \n"
+"اگر شما چنین کاری را قبلا انجام داده‌اید و تجربه دارید سفارش می‌شود. برای \n"
+"راهنمایی چگونگی استفاده از وسیله‌ی DiskDrake به قسمت``مدیریت\n"
+"قسمت‌بندی‌های خود'' در ``راهنمای مبتدی'' مراجعه کنید."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "استفاده از قسمت‌بندی‌های موجود"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "تمام دیسک پاک شود"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"بفرمائید. نصب اکنون تکمیل شده است و سیستم گنو/لینوکس آماده‌ی استفاده است.\n"
+"فقط بر \"%s\" کلیک کرده تا سیستم آغازگری مجدد شود. فراموش نکنید که رسانه‌ی\n"
+"نصب (سی‌دی-رم یا دیسکچه) را بردارید.اولین چیزی که شما بعد از اینکه\n"
+"رایانه‌اتان سخت‌افزار خود را آزمایش می‌کند فهرست بارگذار آغازگری است،\n"
+"که به شما اجازه‌ی انتخاب راه‌اندازی یکی از سیستم‌های عامل را می‌دهد.\n"
+"\n"
+"دکمه‌ی \"%s\" دو دکمه‌ی دیگر را نشان داده برای: \n"
+" * \"%s\": ایجاد یک دیسکچه نصب که تمام نصب را بطور خودکار بدون کمک \n"
+"کسی، شبیه به نصبی که شما اکنون پیکربندی کردید را انجام می‌دهد. \n"
+"\n"
+" توجه کنید که بعد از کلیک بر این دکمه دو گزینه در دسترس هستند:\n"
+"\n"
+" * \"%s\". این نصب نسبتاً خودکاراست. گام قسمت‌بندی تنها \n"
+"مرحله‌ی گفتگویی است.\n"
+"\n"
+" * \"%s\". نصب کاملاً خودکار: دیسک سخت کاملاً بازنویسی شده،\n"
+"تمام داده‌ها از دست خواهند رفت.\n"
+"\n"
+" این قابلیت وقتی چندین ماشین قرار است شبیه به هم نصب شوند مفید است.\n"
+"قسمت نصب خودکار را در پایگاه اینترنت ما برای اطلاعات بیشتر ملاحظه کنید.\n"
+"\n"
+" * \"%s\"(*): یک لیست از بسته‌های انتخاب شده در این نصب را ذخیره می‌کند.\n"
+"برای استفاده از این انتخاب با نصب دیگر، دیسکچه را داخل کرده و نصب\n"
+"را شروع کنید. در اعلان, کلید [F1] را فشار داده و بنویسید >>\n"
+"linux defcfg=\"floppy\" << و کلید ورود را فشار دهید.\n"
+"\n"
+"(*) شما به دیسکچه‌ای با قالب FAT نیاز دارید. برای ساختن آن در گنو/لینوکس، \n"
+"\"mformat a:\"، یا \"fdformat/dev/fd0\" و بدنبالش \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "تولید دیسکچه‌ی نصب-خودکار"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"اگر تصمیم گرفتید تا از بعضی از قسمت‌بندیهای گنو/لینوکس استفاده مجدد کنید، "
+"میبایست\n"
+"بعضی از آنها را قسمت‌بندی مجدد کرده و هر داده روی آنها پاک شود. برای انجام "
+"اینکار\n"
+"لطفا آن قسمت‌بندیها را نیز انتخاب کنید\n"
+"\n"
+"لطفاً توجه کنید که ضروری نیست که تمام قسمت‌بندی‌های موجود قالب‌بندی مجدد\n"
+"شوند. شما باید قسمت‌بندیهای حاوی سیستم عامل (مانند \"/\", \"/usr\" یا \"/var"
+"\")\n"
+"را قالب‌بندی مجدد کرده اما شما مجبور به قالب‌بندی مجدد قسمت‌بندی‌های حاوی\n"
+"داده‌هایی که می‌خواهید نگهدارید نیستید (معمولاً \"/home\").\n"
+"\n"
+"لطفاً هنگام انتخاب قسمت‌بندی‌ها دقت کنید. بعد از قالب‌بندی تمام داده‌های\n"
+"بر قسمت‌بندی‌های انتخاب شده حذف خواهند شد و قادر به تعمیر آنها نخواهید بود\n"
+"\n"
+"وقتی برای قالب‌بندی قسمت‌بندی‌ها آماده شدید بر \"%s\" کلیک کنید.\n"
+"\n"
+"اگر می‌خواهید قسمت‌بندی دیگری برای نصب سیستم عامل لینوکس ماندریبا\n"
+"جدید خود انتخاب کنید بر %s کلیک نمایید.\n"
+"\n"
+"اگر می‌خواهید قسمت‌بندی‌هایی که باید برای بلوک‌های بد بر دیسک کنترل شوند\n"
+"را انتخاب کنید بر %s کلیک کنید."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"در زمانی که در حال نصب لینوکس ماندریبا هستید، به احتمال زیاد بعضی \n"
+"از بسته‌ها از زمان شروع پخش بروزسازی شده‌اند. اشکالات ممکن است تعمیر \n"
+"شده و مسایل امنیتی رفع شده باشند. برای استفاده از فواید این بروزسازی‌ها،\n"
+"اکنون میتوانید آنها را از اینترنت بارگیری نمایید. \"%s\" را اگر شما یک "
+"ارتباط\n"
+"کارآرای اینترنت دارید علامت زده، یا \"%s\" را اگر ترجیح می‌دهید بسته‌ها را\n"
+"بعداً بروزسازی کنید.\n"
+"\n"
+"انتخاب \"%s\" لیستی از مکان‌هایی که آن بروزسازی‌ها می‌توانند دریافت شوند\n"
+"را نشان خواهد داد. شما باید مکانی که به شما نزدیکتر است را انتخاب کنید.\n"
+"درخت مجموعه-بسته ظاهر خواهد شد: مجموعه را مرور کرده، و \"%s\" را برای\n"
+"دریافت و نصب بسته‌های انتخاب شده، یا \"%s\" را برای ترک فشار دهید."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"در این نقطه، DrakX به شما اجازه‌ی انتخاب سطح امنیتی مورد نظر را برای ماشین\n"
+"می‌دهد. روش معمول این است که اگر ماشین حاوی داده‌های مهم خواهد شد، یا اگر\n"
+"آن ماشینی خواهد بود که مستقیماً در معرض اینترنت قرار می‌گیرد سطح امنیتی باید\n"
+"بالاتر گذاشته شود. ضرر این معامله در داشتن سطح بالاتر امنیتی عموماً در "
+"پرداخت\n"
+"آسانی استفاده بدست آورده می‌شود.\n"
+"\n"
+"اگر نمی‌دانید کدام را باید انتخاب کنید، گزینه‌ی پیش‌فرض را نگه دارید.\n"
+" بعداً می‌توانید با ابزار draksec از مرکز کنترل ماندریبا سطح امنیتی را تغییر "
+"دهید.\n"
+"\n"
+"منطقه‌ی \"%s\"میتواند سیستم را از وجود کاربری که مسئول امنیت بر این رایانه\n"
+"خواهد گردید مطلع سازد. پیغام‌های امنیتی به آن نشانی فرستاده خواهد شد."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "مدیر امنیت"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"در این نقطه، شما مجبور به انتخاب قسمت‌بندی(های) که برای نصب سیستم لینوکس \n"
+"ماندریبا استفاده خواهد شد هستید.اگر قسمت‌بندی‌هایی که یا از یک نصب قبلی \n"
+"گنو/لینوکس یا بوسیله ابزار قسمت‌بندی دیگر وجود دارند، می‌توانید از آنها \n"
+"استفاده کنید. در غیر این صورت، قسمت‌بندی‌ها باید ایجاد شوند. \n"
+"\n"
+"برای ایجاد قسمت‌بندی‌ها، شما باید اول یک دستگاه دیسک را انتخاب کنید. \n"
+"شما می‌توانید آن دیسک را بوسیله‌ی کلیک بر ``hda'' برای اولین دستگاه IDE \n"
+" و ``hdb'' برای دومین، ``sda'' برای اولین دستگاه SCSI و غیره برای\n"
+"قسمت‌بندی انتخاب کنید.\n"
+"\n"
+"برای قسمت‌بندی دستگاه دیسک انتخاب شده، می‌توانید از این گزینه‌ها استفاده کنید:\n"
+"\n"
+" * \"%s\": این گزینه تمام قسمت‌بندی‌های روی دیسک انتخاب شده را حذف می‌کند\n"
+"\n"
+" * \"%s\": این گزینه بر روی فضای آزاد دیسک شما بطور خودکار قسمت‌بندی‌های\n"
+"ext3 و حافظه مبادله را ایجاد می‌کند\n"
+"\n"
+"\"%s\": دسترسی به قابلیت‌های دیگر را فراهم می‌سازد\n"
+"\n"
+" * \"%s\": جدول قسمت‌بندی را بر دیسکچه ذخیره می‌کند.در صورت لزوم \n"
+"بعدا می‌توان آن را بازنشانی کرد. انجام این گام بشدت سفارش می‌شود.\n"
+"\n"
+" * \"%s\": به شما اجازه‌ی باز‌نشانی جدول قسمت‌بندی ذخیره شده را از دیسکچه "
+"می‌دهد.\n"
+"\n"
+" * \"%s\": اگر جدول قسمت‌بندی شما خراب شده باشد با این گزینه می‌توانید\n"
+"آن را بازنشانی کنید. لطفا دقت کنید و بخاطر داشته باشید که این همیشه درست\n"
+"کار نمی‌کند.\n"
+"\n"
+" * \"%s\": تمام تغییرات باطل شده و جدول قسمت‌بندی اصلی بر دستگاه دیسک\n"
+"بارگذاری مجدد می‌شود.\n"
+"\n"
+" * \"%s\": غیرفعال کردن این گزینه کاربران را مجبور می‌کند که رسانه‌های قابل\n"
+"حمل از قبیل دیسکچه و سی‌دی را دستی سوار یا پیاده کنند.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید از یک جادوگر برای قسمت‌بندی دیسک خود استفاده کنید از\n"
+"این گزینه استفاده نمایید. این گزینه اگر شما تجربه‌ی قبلی از قسمت‌بندی\n"
+"کردن دیسک ندارید پیشنهاد می‌شود.\n"
+"\n"
+" * \"%s\": برای لغو تغییرات خود از این گزینه استفاده کنید.\n"
+"\n"
+" * \"%s\": عملیات بیشتری را بر قسمت‌بندی‌ها اجازه داده (نوع، گزینه‌ها، "
+"قالب‌بندی)\n"
+"و اطلاعات بیشتری را درباره دستگاه دیسک می‌دهد.\n"
+"\n"
+" * \"%s\": وقتی شما قسمت‌بندی دستگاه دیسک خود را به اتمام رساندید،\n"
+"این تغییرات شما را بر دیسک ذخیره می‌سازد.\n"
+"\n"
+"وقتی اندازه‌ی یک قسمت‌بندی را تعیین می‌کنید، می‌توانید بخوبی از کلیدهای جهت‌دار\n"
+"صفحه‌کلید خود استفاده کنید.\n"
+"\n"
+"توجه: می‌توانید به هر گزینه توسط صفحه‌کلید دسترسی پیدا کنید. در طول\n"
+"قسمت‌بندی با استفاده از جهت‌های [پرش] و [بالا/پایین] مرور کنید.\n"
+"\n"
+"وقتی یک قسمت‌بندی انتخاب شده باشد، می‌توانید از:\n"
+"\n"
+" * Ctrl-c برای ایجاد یک قسمت‌بندی جدید (وقتی یک قسمت‌بندی خالی انتخاب\n"
+"شده باشد)\n"
+"\n"
+" * Ctrl-d برای حذف یک قسمت‌بندی \n"
+"\n"
+" * Ctrl-m برای تعیین نقطه‌ی سوارسازی\n"
+"\n"
+"برای دریافت اطلاعات درباره انواع سیستم پرونده موجود، لطفاً فصل ext2FS \n"
+"را از ` دستورالعمل مرجع'' بخوانید.\n"
+"\n"
+"اگر شما بر یک ماشین PPC نصب می‌کنید، شما باید یک قسمت‌بندی کوچک HFS \n"
+"``bootstrap'' حداقل ۱ مگابایت که برای بارگذار آغازگر yaboot\n"
+"استفاده می‌شود را ایجاد کنید اگر شما بطور اختیاری آن قسمت‌بندی را بزرگتر\n"
+"بسازید، مثلاً ۵۰ مگابایت، شما آن را برای انبار یک هسته یدک و تصاویر ramdisk\n"
+"در شرایط آغازگری اضطراری مفید خواهید یافت."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "سوارسازی-خودکار رسانه‌ی قابل انتقال"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "تعویض بین حالت عادی/کارشناسی"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"بیش از یک قسمت‌بندی مایکروسافت بر دیسک شما شناسایی شده است. \n"
+"لطفا آن قسمت‌بندی را که برای نصب سیستم عامل لینوکس ماندریبا می‌خواهید \n"
+"تغییر اندازه دهید انتخاب کنید.\n"
+"\n"
+"هر قسمت‌بندی فهرست شده بدنبال می‌آید: \"نام لینوکس\", \"نام ویندوز\" \n"
+"\"ظرفیت\".\n"
+"\n"
+"\"نام لینوکس\" دارای ساختار: \"نوع دستگاه دیسک\", \"شماره دستگاه دیسک\",\n"
+"\"شماره قسمت‌بندی\" (برای مثال, \"hda1\").\n"
+"\n"
+"\"نوع دستگاه دیسک\" اگر دستگاه دیسک شما یک دستگاه دیسک IDE باشد \"hd\" است "
+"و\n"
+"\"sd\" اگر آن یک دستگاه دیسک SCSI باشد.\n"
+"\n"
+"\"شماره دستگاه دیسک\" همیشه یک حرف الفبا بعد از \"hd\" یا \"sd\"می‌باشد.\n"
+"با دستگاه‌های دیسک IDE:\n"
+"\n"
+" * \"a\" بمعنی \"دیسک ارشد بر کنترل کننده‌ی اول IDE \";\n"
+"\n"
+" * \"b\" بمعنی \"دیسک زیردست بر کنترل کننده‌ی اول IDE \";\n"
+"\n"
+" * \"c\" بمعنی \"دیسک ارشد بر کنترل کننده‌ی دوم IDE \";\n"
+"\n"
+" * \"d\" بمعنی \"دیسک زیردست بر کنترل کننده‌ی دوم IDE \".\n"
+"\n"
+"با دستگاه‌های دیسک SCSI, یک \"a\" بمعنی \"پایین‌ترین SCSI ID\", یک \"b\"\n"
+"بمعنی \"پایین‌ترین SCSI ID دومی\", و غیره.\n"
+"\n"
+"\"نام ویندوز\" حرف الفبای دستگاه دیسک شما در ویندوز می‌باشد (اولین\n"
+"دیسک یا قسمت‌بندی \"C:\" نامیده می‌شود)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": انتخاب کشور کنونی را بررسی کنید. اگر شما در این کشور زندگی نمی‌کنید،\n"
+"بر دکمه‌ی \"%s\" کلیک کرده و یکی دیگر را انتخاب کنید. اگر کشور شما\n"
+"در لیست نشان داده شده وجود ندارد، دکمه‌ی \"%s\" را برای دریافت لیست\n"
+"کامل کشورها کلیک کنید."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"این گام فقط در صورتی که یک قسمت‌بندی قدیمی لینوکس/گنو بر ماشین شما پیدا شود\n"
+"فعال می‌گردد. \n"
+"\n"
+"DrakX اکنون احتیاج دارد بداند که آیا شما می‌خواهید یک نصب جدید یا یک ارتقا\n"
+"سیستم لینوکس ماندریبا موجود را انجام دهید:\n"
+"\n"
+" * \"%s\": در مجموع این سیستم قدیمی را کاملاً پاک می‌کند اگر می‌خواهید روش\n"
+"قسمت‌بندی دستگاه‌های دیسک خود را تغییر دهید، یا سیستم پرونده را تغییر دهید، \n"
+"بایستی از این گزینه استفاده کنید. هرچند، بستگی به طرح قسمت‌بندی‌تان،\n"
+"می‌توانید از بر-نگارش بعضی از داده‌های موجودتان جلوگیری کنید.\n"
+"\n"
+" * \"%s\": این رده‌ی نصب به شما اجازه می‌دهد تا بسته‌های نصب شده‌ی کنونی\n"
+"لینوکس ماندریبا را بروزسازی کنید. طرح قسمت‌بندی کنونی‌تان و داده‌های کاربر دست\n"
+"نخواهند خورد و بیشتر گام‌های پیکربندی در دسترس باقی خواهند بود،\n"
+"شبیه به یک نصب استاندارد.\n"
+"\n"
+"استفاده از گزینه‌ی ``ارتقاء'' بایستی برای سیستم‌های لینوکس ماندریبا نسخه‌ی\n"
+"\"8.1\"یا بعدی کارآرایی خوبی داشته باشد. اجرای ارتقاء بر نسخ پیشتر از "
+"لینوکس\n"
+"ماندریبا ۸٬۱ سفارش نمی‌شود."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"بنابر زبان پیش‌فرضی که در این قسمت انتخاب کرده‌اید، DrakX نوع بخصوصی\n"
+"از پیکربندی صفحه‌کلید را بطور خودکار انتخاب می‌کند. اگر چه ممکن است شما\n"
+"صفحه‌کلیدی را که دقیقاً مطابق زبان شما باشد نداشته باشید: برای مثال، اگر شما\n"
+"یک شخص انگلیسی زبان سوئیسی باشید، ممکن است یک صفحه‌کلید سوئیسی\n"
+"داشته باشید. یا اگر شما انگلیسی صحبت کرده ولی در کوبک کانادا زندگی می‌کنید،\n"
+"ممکن است خود را در شرایطی بیابید که زبان بومی شما و صفحه‌کلید مطابقت\n"
+"نداشته باشند. در هر دو صورت، این مرحله‌ی نصب به شما اجازه‌ی انتخاب\n"
+"صفحه‌کلید مناسب را از یک لیست می‌دهد.\n"
+"\n"
+"برای عرضه‌ی لیست کامل صفحه‌کلید‌های حمایت شده بر دکمه‌ی \"%s\" کلیک کنید.\n"
+"\n"
+"اگر شما صفحه‌کلیدی را بر اساس یک الفبای غیر لاتین انتخاب کنید، گفتگوی \n"
+"بعدی به شما اجازه‌ی ترکیب کلیدی را که بتوانید بین طرح‌های صفحه‌کلید لاتین\n"
+"و غیر لاتین تعویض کنید خواهد داد."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"انتخاب زبان ترجیحی شما زبان نوشتجات، نصب‌گر و سیستم‌تان را در مجموع مورد\n"
+"تأثیر قرار خواهد داد. در ابتدا منطقه‌ای را که در آن قرار دارید و سپس زبانی را "
+"که\n"
+"صحبت می‌کنید انتخاب نمایید.\n"
+"\n"
+"کلیک بر دکمه‌ی \"%s\" به شما اجازه می‌دهد تا زبان‌های دیگری را بر ایستگاه\n"
+"کارتان انتخاب کرده، و بدین طریق پرونده‌های مخصوص-زبان را برای سیستم\n"
+"نوشتجات و برنامه‌ها نصب کنید. برای نمونه، اگر شما کاربرانی از اسپانیا را بر\n"
+"رایانه‌اتان میزبان هستید، انگلیسی را مانند زمان پیش‌فرض در درخت‌نما انتخاب\n"
+"کرده و \"%s\" را در قسمت پیشرفته انتخاب کنید.\n"
+"\n"
+"درباره‌ی پشتیبانی از UTF-8 (یونی‌کد): یونی‌کد کدگذاری نویسه‌ی جدیدی\n"
+"برای پوشش دادن همه‌ی زبان‌های موجود است. هرچند پشتیبانی کامل برای\n"
+"آن در لینوکس/گنو هنوز تحت تولید است. بدین دلیل، لینوکس ماندریبا از آن\n"
+"استفاده خواهد کرد یا بدلیل عدم وابستگی به گزینش‌های کاربر:\n"
+"\n"
+" * اگر زبانی را با کدگذاری سنتی قوی (زبان‌های لاتین۱، روسی، ژاپنی،\n"
+"چینی، کره‌ای، تایلندی، یونانی، ترکی، بیشتر زبان‌های iso-8859-2) انتخاب\n"
+"کنید، کدگذاری سنتی بوسیله‌ی پیش‌فرض استفاده خواهد گردید:\n"
+"\n"
+" * بقیه‌ی زبان‌ها در پیش‌فرض از یونی‌کد استفاده خواهند کرد:\n"
+"\n"
+" * اگر دو یا زبان‌های بیشتری مورد نیاز است، و آن زبان‌ها از کدگذاری\n"
+"یکسان استفاده نمی‌کنند، پس یونی‌کد برای تمام سیستم استفاده خواهد شد.\n"
+"\n"
+" * در پایان، یونی‌کد می‌تواند برای سیستم با درخواست کاربر بوسیله‌ی\n"
+"انتخاب گزینه‌ی \"%s\" بدون وابستگی به زبان‌(های) گزیده شده اجبار گردد.\n"
+"\n"
+"توجه کنید که شما به انتخاب زبان اضافه‌ی تکی محدود نیستید. شما می‌توانید\n"
+"چندین زبان، حتی تمام آنها را بوسیله‌ی انتخاب جعبه‌ی \"%s\" انتخاب کنید.\n"
+"انتخاب کردن پشتیبانی برای زبانی بمعنی ترجمه‌ها، قلم‌ها، غلط‌یاب‌ها\n"
+"وغیره برای آن زبان که نصب خواهد شد می‌باشد.\n"
+"\n"
+"برای تعویض بین زبان‌های گوناگون نصب شده بر سیستم، می‌توانید\n"
+"فرمان \"/usr/sbin/localedrake\" را مانند \"root\" برای تغییر زبان استفاده\n"
+"شده بوسیله‌ی تمام سیستم اجرا کنید. اجرای این فرمان مانند یک کاربر عادی\n"
+"تنظیم زبان را تنها برای آن کاربر عوض خواهد نمود."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "اسپانول"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX معمولا مشکلی برای شناسایی تعداد دکمه های موشی شما ندارد.\n"
+"اگر اشکالی پیش آمد فرض بر داشتن دو دکمه و پیکربندی آن برای شبیه سازی دکمه "
+"سوم\n"
+"گذارده خواهد شد. دکمه سوم موشی دو-دکمه ای توسط کلیک همزمان دکمه های راست و "
+"چپ\n"
+"بدست خواهد آمد. DrakX بطور خودکار خواهد دانست که آیا موشی شما از واسط USB\n"
+"یا PS/2 یا سریال استفاده میکند.\n"
+"\n"
+"اگر شما موشی سه-دکمه ای بدون چرخ دارید، میتوانید موشی \"%s\" را انتخاب "
+"کنید.\n"
+"DrakX موشی شما را بطوری پیکربندی خواهد کرد تا بتوانید چرخ آن را شبیه سازی "
+"کنید:\n"
+"برای اینکار دکمه وسطی را فشار داده و اشاره گر موشی خود را به بالا و پایین "
+"حرکت دهید.\n"
+"\n"
+"اگر بدلایلی میخواهید نوع دیگر از موشی را مشخص کنید، آن را از لیست عرضه شده\n"
+"انتخاب کنید.\n"
+"\n"
+"شما میتوانید ورودی \"%s\" را برای گزینش نوع موشی همگانی که تقریبا با همه "
+"موشیها\n"
+"کار خواهد کرد انتخاب کنید.\n"
+"\n"
+"اگر موشی غیر از پیش فرض انتخاب کرده اید، صفحه آزمایشی نمایش داده خواهد شد.\n"
+"از دکمه ها و چرخ برای امتحان درستی تنظیمات استفاده کرده و اینکه موشی بدرستی\n"
+"کار میکند. اگر موشی خوب کار نمیکند، دکمه فاصله یا ورودی را فشار دهید تا "
+"آزمایش\n"
+"لغو گردیده و شما به لیست موشی باز خواهید گشت.\n"
+"\n"
+"بعضی وقتها چرخ موشی بطور خودکار شناسایی نمیشوند، و شما نیاز خواهید داشت\n"
+"موشی خود را از یک لیست انتخاب کنید. مطمئن شوید که آن را که به درگاه موشی "
+"شما\n"
+"وصل شده انتخاب میکنید. بعد از انتخاب موشی و فشردن دکمه \"%s\"، تصویر موشی\n"
+"بر صفحه ظاهر خواهد گردید. چرخ موشی را بچرخانید تا مطمئن شوید که آن بدرستی\n"
+"فعال شده است. همانطور که چرخ موشی را میچرخانید، حرکت چرخ را بر روی صفحه\n"
+"مشاهده خواهد کرد. دکمه ها را امتحان کرده و کنترل کنید که حرکت مکان نمای موشی "
+"بر\n"
+"روی صفحه بهمان نحو است که شما آن را حرکت میدهید. "
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "با شبیه‌سازی چرخ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "جهانی | هر موشی PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"لطفاً درگاه درست را انتخاب کنید، برای مثال، درگاه \"COM1\" در ویندوز \n"
+"بنام \"ttyS0\" در لینوکس خوانده می‌شود."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"این مهمترین نقطه‌ی تصمیم گیری برای امنیت سیستم لینوکس/گنوی شما است.\n"
+"شما باید گذرواژه‌ی \"root\" را وارد کنید. \"Root\" مدیر سیستم است و تنها\n"
+"کاربری است که می‌تواند بروزسازی کرده، کاربران را اضافه کند، پیکربندی همگانی\n"
+"سیستم را تغییر دهد، و همچنین بقیه کارهای از این قبیل را. بطور خلاصه، \"root"
+"\"\n"
+"هر کاری را می‌تواند انجام دهد! برای همین شما باید گذرواژه‌ای را انتخاب کنید "
+"که\n"
+" حدس زدنش سخت باشد - DrakX اگر گذرواژه خیلی ساده باشد به شما تذکر داده\n"
+"خواهد شد. همانطور که مشاهده می‌کنید، شما مجبور به وارد کردن یک گذرواژه "
+"نیستید،\n"
+"ولی ما بشدت برعکس این را به شما نصیحت می‌کنیم. لینوکس/گنو مانند هر سیستم\n"
+"عامل دیگری برای خطاهای کارکنان مستعد است. چون \"root\" هیچ محدودیت اجرایی\n"
+"ندارد و بطور غیر عمدی تمام دادهها بر قسمت بندیها را بوسیله دستیابی بی توجه "
+"به\n"
+"قسمت بندیهای خود پاک کند، این امر مهمی است که بسختی بتوان \"root\" شد.\n"
+"\n"
+"گذرواژه بایستی ترکیبی از نویسه‌های الفبا و حداقل دارای ۸ نویسه باشد. هرگز\n"
+"گذرواژه \"root\" یادداشت نشود-- آن به آسانی سیستم را تسلیم میکند.\n"
+"\n"
+"یک نصیحت -- گذرواژه را طولانی یا پیچیده نسازید برای اینکه باید بتوانید\n"
+"آنرا بخاطر بسپارید!\n"
+"\n"
+"گذرواژه هنگام نگارش آن برصفحه نشان داده نخواهد شد. برای کم کردن احتمال\n"
+"خطای نگارش کورکورانه لازم است که گذرواژه را دوبار وارد کنید. اگر اتفاقی\n"
+"هر دوبار همان خطای نگارشی را انجام دهید، این گذرواژه‌ی نادرست همانی\n"
+"می‌شود که باید بار اول از آن استفاده کنید.\n"
+"\n"
+"اگر می‌خواهید دستیابی به این رایانه از طریق یک کارگزار تأیید هویت کنترل شود،\n"
+"دکمه‌ی \"%s\" را کلیک کنید.\n"
+"\n"
+"اگر شبکه‌اتان نه از LDAP ،NIS، یا سرویس‌های تأیید هویت دامنه‌ی ویندوز PDC\n"
+"استفاده می‌کند، سرویس مناسبی را برای \"%s\" انتخاب کنید. اگر نمی‌دانید از\n"
+"کدام باید استفاده کنید، باید این را از مدیر سیستم شبکه‌اتان سؤال کنید.\n"
+"\n"
+"اگر شما در بخاطر سپردن گذرواژه مشکل دارید، اگر رایانه شما هرگز به اینترنت\n"
+"وصل نخواهد شد یا شما مطلقاً به همه‌ی کسانی که از رایانه‌تان استفاده\n"
+"می‌کنند اطمینان دارید، می‌توانید داشتن \"%s\" را انتخاب کنید."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "تأیید هویت"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO و GRUB بارگذارهای لینوکس/گنو هستند. معمولا این مرحله کاملا \n"
+"خودکار است. DrakX بندهای آغازگری دیسک را بررسی کرده و بر اساس\n"
+"آنچه در آنجا پیدا می‌کند عمل خواهد کرد:\n"
+"\n"
+" * اگر بند آغازگری ویندوز یافت شود، آن را بوسیله یک بند آغازگر\n"
+"GRUB/LILO جایگزین می‌کند. بدین ترتیب شما قادر خواهید بود یا\n"
+"لینوکس/گنو یا سیستم عامل دیگری را آغازگری کنید.\n"
+"\n"
+" * اگر یک بند آغازگری GRUB یا LILO یافت شود، آن را با یکی دیگر جایگزین\n"
+"می‌کند.\n"
+"\n"
+"اگر نتواند چیزی پیدا کند، DrakX مکانی را برای گذاشتن بارگذار آغازگر سؤال\n"
+"خواهد کرد. معمولاً، \"%s\" مطمئن‌ترین مکان است. گزینش \"%s\" هیچ\n"
+"بارگذار آغازگر را نصب نخواهد کرد. فقط اگر می‌دانید چکار می‌کنید از آن\n"
+"استفاده کنید."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"اکنون زمان آن رسیده است که سیستم چاپ را بر روی رایانه خود انتخاب کنید. "
+"سیستمهای\n"
+"عامل دیگر ممکن است یکی را ارائه دهند، ولی لینوکس ماندریبا دو تا را ارائه "
+"میدهد.\n"
+"هر یک از سیستمهای چاپ برای انواع مشخصی از پیکربندی مناسب هستند.\n"
+"\n"
+" * \"%s\" -- که سرنام برای ``print, do not queue'' است، گزینه ای است اگر "
+"شما\n"
+" اتصال مستقیم به چاپگرتان داشته و میخواهید بتوانید از ترافیک چاپگر بیرون "
+"بکشانید،\n"
+"و شما چاپگران شبکه ندارید. (\"%s\" فقط موارد خیلی ساده شبکه را اداره خواهد "
+"کرد و قدری\n"
+"هنگام استفاده در شبکه آهسته است.) اگر این اولین تجربه شما با گنو/لینوکس است "
+"سفارش میشود\n"
+"که از \"pdq\" استفاده کنید.\n"
+"\n"
+" * \"%s\" سرنام برای `` Common Unix Printing System'' است و گزینه\n"
+"عالی است برای چاپ به چاپگر محلیتان یا به انطرف دنیا. پیکربندی آن آسان است و "
+"میتواند\n"
+"مانند یک کارگزار یا یک کارگیر برای سیستم چاپ قدیمی \"lpd\" عمل کند، پس "
+"بنابرین\n"
+"آن با سیستمهای عامل قدیمی که هنوز نیاز سرویسهای چاپ دارند همخوانی دارد. با "
+"وجود\n"
+"قدرتمندی، برپاسازی پایه بسادگی \"pdq\" است. اگر نیاز به شبیه سازی یک\n"
+"کارگزار \"lpd\" دارید، مطمئن شوید که شبح \"cups-lpd\" را روشن کرده اید.\n"
+"\"%s\" دارای ظاهر گرافیکی برای چاپ یا انتخاب گزینه های چاپگر \n"
+"و برای مدیریت چاپگر میباشد.\n"
+"\n"
+"اگر شما اکنون انتخاب کنید، و بعدا از سیستم چاپ خود راضی نبودید میتوانید آن "
+"را با اجرای\n"
+"برنامه PrinterDrake از مرکز کنترل لینوکس ماندریبا و کلیک بر دکمه \"%s\" آن\n"
+"را تغییر دهید."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "کارشناس"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"برنامه‌ی درایک‌ایکس در ابتدا هر دستگاه موجود IDE را در رایانه‌اتان شناسائی "
+"خواهد\n"
+"کرد. آن همچنین برای یافتن یک یا چند کارت IDE /SCSI بر سیستم شما پویش\n"
+"خواهد کرد.اگر یک کارت SCSI یافت شود، درایک‌ایکس بطور خودکار راه‌انداز مناسب\n"
+"را نصب خواهد کرد.\n"
+"\n"
+"برای اینکه شناسائی سخت‌افزار کامل نمی‌باشد، درایک‌ایکس ممکن است در شناسائی\n"
+"سخت‌افزار شما شکست بخورد. اگر چنین شود مجبور خواهید شد که سخت‌افزار\n"
+"خود را دستی مشخص کنید.\n"
+"\n"
+"اگر مجبور شدید کارت PCI SCSI خود را دستی مشخص کنید، درایک‌ایکس از شما برای \n"
+"پیکربندی گزینه‌های آن سؤال خواهد کرد. شما باید به درایک‌ایکس اجازه دهید که\n"
+"سخت‌افزار را برای گزینه‌های بخصوص-کارت که برای تطبیق کارت لازمند جستجو\n"
+"کند. در بیشتر مواقع درایک‌ایکس بدون هیچ مشکلی این مرحله را طی می‌کند.\n"
+"\n"
+"اگر درایک‌ایکس نتواند سخت‌افزار را برای گزینه‌ها را به منظور یافتن پارامترهایی "
+"که\n"
+"لازمند به سخت‌افزار داده شوند وارسی کند، باید راه‌انداز را دستی پیکربندی کنید."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": اگر یک کارت صوت در سیستم شما شناسائی شده است در اینجا نشان داده \n"
+"میشود. اگر کارت نشان داده شده آن نیست که در سیستم شما وجود دارد، \n"
+"میتوانید بر دکمه کلیک کرده و راه‌انداز دیگری را انتخاب کنید."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"مانند پیش‌نمایش، DrakX خلاصه از اطلاعات خود را درباره سیستمتان\n"
+"عرضه می‌دارد. بستگی به نرم‌افزارهای نصب شده، می‌توانید بعضی یا همه‌ی\n"
+"ورودی‌های بدنبال آمده را دارا باشید. هر ورودی از عنصری که باید پیکربندی\n"
+"شود و یک خلاصه‌ی کوتاه از پیکربندی کنونی بدنبال آمده آن ساخته شده است.\n"
+" بر دکمه‌ی مربوطه‌ی \"%s\" برای تغییر آن کلیک کنید.\n"
+"\n"
+" * \"%s\":پیکربندی نقشه صفحه‌کلید کنونی را کنترل کرده و آن را اگر لازم است\n"
+"تغییر دهید.\n"
+"\n"
+" * \"%s\": انتخاب کشور کنونی را کنترل کنید. اگر شما در این کشور نیستید،\n"
+"بر دکمه‌ی \"%s\" کلیک کرده و یکی دیگر را انتخاب کنید. اگر کشور شما در اولین\n"
+"لیست نشان داده شده نیست، بر دکمه‌ی \"%s\" برای دریافت لیست کامل\n"
+" کشورها کلیک کنید.\n"
+"\n"
+" * \"%s\": بوسیله پیش‌فرض، DrakX منطقه زمانی‌تان را بر اساس کشوری که\n"
+"انتخاب کرده‌اید استنتاج می‌کند. می‌توانید بر دکمه‌ی \"%s\" اگر این درست\n"
+"نیست کلیک کنید.\n"
+"\n"
+" * \"%s\": پیکربندی موشی کنونی را بررسی کرده و اگر لازم است آن را با کلیک\n"
+"بر دکمه تغییر دهید.\n"
+"\n"
+" * \"%s\": کلیک کردن بر دکمه‌ی \"%s\" جادوگر پیکربندی چاپگر را باز خواهد کرد\n"
+"به فصل مربوط ``راهنمای شروع'' برای اطلاعات بیشتر در چگونه یک چاپگر جدید را\n"
+"برپاسازی کنیم مراجعه کنید. ظاهر عرضه شده در آنجا شبیه به آن است که در طول\n"
+"نصب استفاده شده است.\n"
+"\n"
+" * \"%s\": اگر کارت صوتی بر سیستم‌تان شناسایی شده است، در اینجا نمایش\n"
+"داده می‌شود. اگر متوجه شدید که کارت صوتی نشان داده شده آن نیست که واقعاً \n"
+"بر سیستمتان وجود دارد میتوانید بر آن دکمه برای انتخاب راه‌انداز دیگری کلیک "
+"کنید.\n"
+"\n"
+" * \"%s\": اگر شما کارت تلویزیونی دارید، این جایی است که اطلاعات درباره "
+"پیکربندیش\n"
+"نشان داده خواهد شد. اگر شما کارت تلویزیونی داشته ولی شناسایی نگردیده،\n"
+"برای تلاش به پیکربندی کردن دستی آن بر روی \"%s\" کلیک کنید.\n"
+"\n"
+" * \"%s\": شما میتوانید بر روی \"%s\" برای تغییر پارامترهای مربوط به کارت "
+"کلیک\n"
+"کنید، البته اگر احساس میکنید که پیکربندی اشتباه است.\n"
+"\n"
+" * \"%s\": بوسیله پیش‌فرض, DrakX تفکیک‌پذیری واسط تصویری شما را\n"
+"\"800x600\" یا \"1024x768\" پیکربندی می‌کند. اگر آن برای شما مناسب نیست، \n"
+"برای پیکربندی مجدد واسط تصویری خود بر \"%s\" کلیک کنید.\n"
+"\n"
+" * \"%s\": اگر میخواهید دستیابی به اینترنت یا به شبکه محلیتان را اکنون "
+"پیکربندی کنید\n"
+"میتوانید اینکار را اکنون انجام دهید. به نوشتارهای چاپی مراجعه کرده یا از\n"
+"مرکز کنترل لینوکس ماندریبا بعد از اتمام نصب برای بهره بردن از راهنمای\n"
+"کامل استفاده کنید.\n"
+"\n"
+" * \"%s\": به شما اجازه میدهد تا نشانیهای پراکسی FTP و HTTP را اگر رایانه\n"
+"نصب شما در پشت یک کارگزار پراکسی قرار خواهد گرفت پیکربندی کنید.\n"
+"\n"
+" * \"%s\": این ورودی به شما اجازه‌ی تعریف مجدد سطح امنیت را که در مرحله‌ی\n"
+"پیشین تعیین شده میدهد.\n"
+"\n"
+" * \"%s\": اگر طرحی برای اتصال ماشین خود به اینترنت دارید, فکر خوبی است\n"
+"که رایانه خود را از رسوخ دیگران بوسیله برپاسازی دیوارآتش حفاظت کنید. به فصل\n"
+"مربوط ``راهنمای مبتدی'' برای تشریحات درباره تنطیمات دیوارآتش مراجعه کنید.\n"
+"\n"
+" * \"%s\": اگر می‌خواهید پیکربندی بارگذار آغازگر را تغییر دهید, آن دکمه را\n"
+"کلیک کنید این بایستی برای کاربران پیشرفته رزرو شود. به نوشتارهای چاپی\n"
+" مراجعه کرده یا از مرکز کنترل لینوکس ماندریبا بعد از اتمام نصب برای \n"
+"بهره بردن از راهنمای کامل استفاده کنید.\n"
+"\n"
+" * \"%s\": در اینجا قادر خواهید بود سرویس‌هایی را که بر ماشین شما اجرا\n"
+"خواهند شد را میزان کنید. اگر می‌خواهید از این ماشین مانند یک\n"
+"کارگزار استفاده کنید فکر خوبی است که این برپاسازی را مرور کنید."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "کارت ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "واسط گرافیکی"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"دستگاه دیسکی را که می‌خواهید برای نصب قسمت‌بندی جدید لینوکس ماندریبا\n"
+"پاک کنید انتخاب نمایید. دقت کنید چون تمام داده‌های موجود بر آن از دست خواهند\n"
+"رفت و دیگر نمی‌توان آنها را بازیابی نمود!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"اگر می‌خواهید تمام داده‌ها و قسمت‌بندی‌های موجود بر این دیسک را حذف کنید \n"
+"بر \"%s\" کلیک نمایید. دقت کنید که بعد از کلیک بر \"%s\"، دیگر نمی‌توانید\n"
+"هیچ داده و قسمت‌بندی موجود بر این دیسک، به اضافه‌ی هر داده‌ی ویندوز را\n"
+"بازیابی کنید.\n"
+"\n"
+"برای توقف این عملیات بدون از دست دادن هیچ داده‌ای و قسمت‌بندی موجود بر\n"
+"این دیسک بر \"%s\" کلیک کنید."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "بعدی ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- پیشین"
+
diff --git a/perl-install/install/help/po/fi.po b/perl-install/install/help/po/fi.po
new file mode 100644
index 000000000..87e5f32eb
--- /dev/null
+++ b/perl-install/install/help/po/fi.po
@@ -0,0 +1,1914 @@
+# DrakX-fi - Finnish Translation
+#
+# Copyright (C) 2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2002 Mandriva
+# Matias Griese <mahagr@utu.fi>, 2001.
+# Taisto Kuikka <69319@batman.jypoly.fi>, 2003,2004.
+# Esa Linna <denzo@mbnet.fi>, 2004.
+# Thomas Backlund <tmb@mandrake.org>, 2002, 2003, 2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fi - LE2005 Release\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-04-03 20:59+0300\n"
+"Last-Translator: Thomas Backlund <tmb@mandrake.org>\n"
+"Language-Team: Finnish <fi@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Ennen jatkamista sinun pitäisi lukea huolellisesti lisenssin ehdot.\n"
+"Lisenssi kattaa koko Mandriva Linux jakelun. Jos hyväksyt kaikki\n"
+"ehdot, valitse \"%s\" valinta. Jos et hyväksy ehtoja, painamalla \n"
+"\"%s\" painiketta tietokoneesi käynnistyy uudestaan."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux on monen käyttäjän järjestelmä ja tämä tarkoittaa että jokainen\n"
+"käyttäjä voi pitää omat asetukset, omat tiedostot jne. Voit lukea ``Starter\n"
+"Guide'':a saadaksesi tästä lisätietoa. Mutta toisin kuin \"root\"-käyttäjä,\n"
+"joka on järjestelmän ylläpitäjä, käyttäjät, joita lisäät tässä, eivät pysty\n"
+"muuttamaan mitään muuta paitsi omia tiedostojaan ja asetuksiaan. Tällä\n"
+"tavalla suojataan järjestelmää erehdyksiltä tai tahallisilta muutoksilta,\n"
+"jotka vaikuttavat järjestelmään. Sinun pitää luoda ainakin yksi tavallinen\n"
+"käyttäjä itsellesi. Se on tili jota sinun kannattaa käyttää jokapäiväisessä\n"
+"työssäsi. Vaikkakin on kätevämpää kirjautua sisään \"root\"-tunnuksella,\n"
+"se on myös paljon vaarallisempaa! Pienikin virhe voi merkitä sitä ettei\n"
+"järjestelmäsi toimi enää. Jos teet vakavan virheen tavallisena käyttäjänä,\n"
+"voit mahdollisesti menettää jotain tietoja, mutta et koko järjestelmää.\n"
+"\n"
+"Ensin sinun pitää antaa oikea nimesi. Tämä ei ole pakollista -- voithan\n"
+"kirjoittaa mitä tahansa. DrakX kopioi ensimmäisen kirjoittamasi sanan\n"
+"kenttään \"%s\". Tämä on se nimi jolla kyseinen käyttäjä kirjautuu\n"
+"järjestelmään. Voit muuttaa sitä halutessasi. Sinun pitää myös syöttää\n"
+"salasana. Tavallisen käyttäjän salasana ei ole niin kriittinen kuin \"root"
+"\"\n"
+"-käyttäjän turvallisuusnäkökulmasta, mutta tämä ei ole syy tietoturvan\n"
+"laiminlyömiseen: Onhan kysymys tiedostojesi turvasta.\n"
+"\n"
+"Kun painat \"%s\", voit lisätä muita käyttäjiä. Lisää käyttäjä jokaiselle\n"
+"henkilölle, jonka on tarkoitus käyttää tätä tietokonetta. Kun olet lisännyt\n"
+"kaikki haluamasi käyttäjät, valitse \"%s\".\n"
+"\n"
+"Jos painat \"%s\" painiketta voit muuttaa oletus-\"komentotulkin\" "
+"kyseiselle\n"
+"käyttäjälle (vakiona bash).\n"
+"\n"
+"Kun olet lisännyt kaikki käyttäjät, sinua pyydetään valitsemaan käyttäjä,\n"
+"joka voi kirjautua automaattisesti järjestelmään koneen käynnistyessä. Jos\n"
+"olet kiinnostunut tästä ominaisuudesta (etkä paljon piittaa paikallisesta\n"
+"tietoturvasta), valitse haluttu käyttäjä ja ikkunointijärjestelmä ja paina\n"
+"\"%s\". Jos et ole kiinnostunut tästä ominaisuudesta,\n"
+"poista valinta \"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Haluatko käyttää tätä ominaisuutta?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Tässä on listaus olemassa olevista tunnistetuista Linux-osioista\n"
+"kiintolevylläsi. Voit säilyttää velhon tekemät valinnat, koska ne ovat\n"
+"hyviä useimmille yleisimmille asennuksille. Jos teet muutoksia, sinun\n"
+"pitää ainakin luoda juuri-osio (\"/\"). Älä valitse liian pientä osiota tai\n"
+"et voi asentaa riittävästi ohjelmia. Jos haluat tallentaa tietojasi "
+"erilliselle\n"
+"osiolle, sinun täytyy luoda myös \"/home\"-osio (mahdollista vain jos\n"
+"sinulla on enemmän kuin yksi Linux-osio käytettävissä).\n"
+"\n"
+"Jokainen osio on listattu seuraavasti: \"Nimi\", \"Koko\".\n"
+"\n"
+"\"Nimi\" rakenne on seuraava: \"kiintolevytyyppi\". \"kiintolevynumero\", \n"
+"\"osionumero\" (esim. \"hda1\").\n"
+"\n"
+"\"kiintolevytyyppi\" on \"hd\" jos kiintolevysi on IDE-tyyppinen, ja \"sd\" "
+"jos\n"
+"se on SCSI-tyyppinen.\n"
+"\n"
+"\"kiintolevynumero\" on aina kirjain \"hd\":n tai \"sd\":n perässä.\n"
+"IDE-kiintolevyille: \n"
+"\n"
+" * \"a\" tarkoittaa \"isäntälevy ensisijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"b\" tarkoittaa \"orjalevy ensisijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"c\" tarkoittaa \"isäntälevy toissijaisella IDE-ohjaimella\";\n"
+"\n"
+" * \"d\" tarkoittaa \"orjalevy toissijaisella IDE-ohjaimella\";\n"
+"\n"
+"SCSI kiintolevyillä \"a\" tarkoittaa \"pienin SCSI ID\", \"b\" tarkoittaa\n"
+"\"toiseksi pienin SCSI ID\", jne..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linuxin asennus koostuu useasta CD-ROM-levystä. DrakX tietää,\n"
+"onko valittu paketti toisella CD:llä ja osaa syöttää nykyisen levyn ulos\n"
+"ja pyytää sinua asettamaan oikean levyn tarvittaessa. Jos sinulla ei ole\n"
+"kyseistä CD-levyä käytettävissä, klikkaa vain \"%s\", ja kyseiset paketit\n"
+"ei asenneta."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nyt on aika valita mitä ohjelmia haluat asentaa järjestelmääsi. Tarjolla\n"
+"on tuhansia paketteja Mandriva Linux jakelussa, ja pakettien\n"
+"hallinnan helpottamiseksi ne on koottu samanlaisten ohjelmistojen\n"
+"ryhmiin.\n"
+"\n"
+"Paketit on ryhmitelty ryhmiin koneesi käyttötarkoituksen mukaisesti.\n"
+"Mandriva Linux sisältää neljä eri ennakkoon määriteltyä asennustapaa.\n"
+"Voit verrata asennustapoja pakettiryhmiin. Voit tietysti asentaa paketteja\n"
+"eri ryhmistä niin halutessasi, joten ``Työasema''-asennus voi sisältää\n"
+"ohjelmia esimerkiksi ``Kehitysympäristö''-ryhmästä.\n"
+"\n"
+" * \"%s\": Jos aiot käyttää konettasi työasemana, valitse yksi tai useampi\n"
+" ohjelma tästä ryhmästä.\n"
+"\n"
+" * \"%s\": Jos konettasi aiotaan käyttää ohjelmakehitykseen, valitse yksi "
+"tai\n"
+"useampi haluttu paketti tästä ryhmästä. Erillinen \"LSB\" ryhmä asettaa\n"
+"järjestelmäsi seuraamaan Linux Standard Base määritykset \n"
+"mahdollisimman tarkoin.\n"
+"\n"
+" Valitsemalla \"LSB\" ryhmää asentaa myös \"2.4\" sarjan ytimet, vakiona\n"
+"olevien \"2.6\" sarjan ytimien sijasta. Tämä jotta varmistetaan 100%% LSB-\n"
+"yhteensopivuutta järjestelmässä. Huomioi, vaikka jätät \"LSB\" ryhmää\n"
+"valitsematta, sinulla on kummiskin järjestelmä joka on melkein 100%%\n"
+"\"LSB\"-yhteensopiva.\n"
+"\n"
+" * \"%s\": Jos koneesi on tarkoitettu toimimaan palvelimena' valitse yksi "
+"tai\n"
+"useampi haluttu palvelu tai palvelinohjelma tästä ryhmästä.\n"
+"\n"
+" * \"%s\": täältä valitset haluamasi graafisen ympäristön. Ainakin yksi "
+"pitää\n"
+"olla valittu jos haluat graafisen työaseman!\n"
+"\n"
+"Jos siirrät hiiren kohdistinta ryhmänimen yläpuolella, lyhyt selostus "
+"ryhmän\n"
+"sisällöstä tulee näkyviin. Jos poistat kaikki ryhmävalinnat kun teet \n"
+"tavallisen asennuksen (päivityksen sijasta), esille tulee dialogi, joka \n"
+"ehdottaa kolmea eri optiota vähimmäisasennukseen:\n"
+"\n"
+" * \"%s\": asenna vain tarvittavat paketit, joilla saat toimivan graafisen\n"
+"työpöydän;\n"
+"\n"
+" * \"%s\": asentaa perusjärjestelmän ja perustyökalut sekä niiden\n"
+"dokumentaatiot. Tämä valinta sopii palvelinasennukseen;\n"
+"\n"
+" * \"%s\": asentaa ainoastaan tarvittavat osat saadaksesi toimivan\n"
+"komentorivipohjaisen Linux-järjestelmän. Tämä asennus vie vain noin \n"
+"65 Mt tilaa.\n"
+"\n"
+"Voit valita \"%s\" jos tarjolla olevat paketit ovat tuttuja sinulle tai jos "
+"haluat\n"
+"täydellisen hallinnan asennettaviin paketteihin.\n"
+"\n"
+"Jos aloitit asennuksen \"%s\"-tilassa, voit poistaa kaikkien ryhmien "
+"valinnat\n"
+"välttääksesi uusien pakettien asentamisen. Tämä on hyödyllistä jos haluat\n"
+"korjata tai päivittää olemassa olevaa järjestelmää."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Päivitä"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Perusdokumentaation kanssa"
+
+# Asennuksen sivuvalikko
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Todella minimaalinen asennus"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jos valitsit mahdollisuuden valita yksittäisiä paketteja, sinulle\n"
+"näytetään hakemistopuu, jossa kaikki paketit ovat luokiteltuina\n"
+"ryhmien ja alaryhmien mukaan. Kun selaat puuta, voit valita koko\n"
+"ryhmät, alaryhmät tai yksittäiset paketit.\n"
+"\n"
+"Kun valitset paketin hakemistopuussa, sen kuvaus näkyy oikean-\n"
+"puoleisessa ikkunassa, jotta tietäisit paketin tarkoituksen.\n"
+"\n"
+"!! Jos palvelinpaketti on valittu, joko tarkoituksella tai koska se kuului\n"
+"johonkin valitsemaasi ryhmään, sinulta pyydetään vahvistusta,\n"
+"haluatko varmasti asentaa palvelimen. Oletuksena Mandriva Linux\n"
+"käynnistää jokaisen asennetun palvelin koneen käynnistyksen\n"
+"yhteydessä. Vaikka ne ovat turvallisia eikä niillä ole tunnettuja\n"
+"ongelmia jakelun julkaisuajankohtana, niistä voi löytyä turvallisuus-\n"
+"reikiä jakelun valmistumisen jälkeen. Jos et tiedä mihin joku tietty\n"
+"palvelu on tarkoitettu, tai miksi sitä asennetaan, paina \"%s\". Jos\n"
+"painat \"%s\" listatut palvelut asennetaan sekä käynnistetään\n"
+"automaattisesti oletuksena koneen käynnistyksessä !!\n"
+"\n"
+"Optio \"%s\" estää virhedialogin\n"
+"joka ilmestyy joka kerta kun asennusohjelma automaattisesti\n"
+"valitsee paketin riippuvuuksien täyttämiseksi. Jotkut paketit sisältävät\n"
+"riippuvuuksia jotka vaativat että joku toinen paketti on jo asennettu\n"
+"ennen kuin se voidaan asentaa. Asennusohjelma osaa itse huolehtia\n"
+"siitä että nämä riippuvuudet on täytetty jotta asennus valmistuisi\n"
+"onnistuneesti.\n"
+"\n"
+"Listan alla olevalla levykkeen kuvakkeella voit hakea pakettilistan\n"
+"joka on luotu edellisessä asennuksessa. Tämä on hyödyllistä jos\n"
+"sinulla on monta konetta joihin haluat suorittaa samanlaisen asennuksen.\n"
+"Jos painat tätä kuvaketta, sinua pyydetään asettamaan levyke joka on\n"
+"luotu toisen asennuksen lopussa. Katso edellisen vaiheen toisesta\n"
+"vihjeestä, miten luot sellaisen levykkeen."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automaattiset riippuvuudet"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": painamalla \"%s\" painiketta avautuu tulostimen\n"
+"asetusvelho. Katso tätä vastaava lukua ``Aloitusoppaasta'' saadaksesi\n"
+"lisätietoa miten asetat uuden tulostimen. Oppaassa näytetty\n"
+"käyttöliittymä on vastaava kuin asennuksen aikana käytetty."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Voit nyt valita mitkä palvelut haluat käynnistää konetta käynnistettäessä.\n"
+"\n"
+"DrakX listaa kaikki palvelut, jotka löytyvät nykyisestä asennuksesta.\n"
+"Käy lista läpi huolellisesti ja poista kaikki ne palvelut, joita ei tarvita\n"
+"jokaisella käynnistyskerralla.\n"
+"\n"
+"Saat kustakin palvelusta lyhyen kuvaustekstin valitsemalla sen. Jos et\n"
+"kuitenkaan ole varma palvelun hyödyllisyydestä, on yleensä varmempaa\n"
+"jättää se oletusarvoiseksi.\n"
+"\n"
+"!! Tässä vaiheessa sinun pitää olla erityisen huolellinen, jos aiot käyttää\n"
+"konettasi palvelimena: et varmaankaan halua käynnistää niitä palveluita,\n"
+"joita et tarvitse. Muista myös, että jotkin palvelut voivat olla\n"
+"vaarallisia, jos ne ovat aktivoituja palvelimessa. Yleensä kannattaa valita\n"
+"vain ne palvelut, joita todella tarvitaan !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux määrittää ajan GMT (Greenwich Mean Time) -tilassa ja muuntaa\n"
+"siitä paikalliseen aikaan valitsemasi aikavyöhykkeen mukaisesti. Voit myös\n"
+"muuttaa tämän käytännön poistamalla valinnan \"%s\"\n"
+"jolloin laitteistokello on sama kuin järjestelmäkello. Tämä on hyödyllistä\n"
+"jos koneessa on toinen käyttöjärjestelmä, esimerkiksi Windows.\n"
+"\n"
+"Optio \"%s\" säätää järjestelmäsi kellon\n"
+"automaattisesti oikeaan aikaan yhdistämällä johonkin Internetin "
+"aikapalvelimeen.\n"
+"Valitse listasta palvelin joka on lähelläsi tai kirjoita sen osoite suoraan "
+"kenttään.\n"
+"Sinulla pitää tietysti olla toimiva Internet-yhteys jotta tämä ominaisuus "
+"toimisi.\n"
+"Tämä myös asentaa aikapalvelimen koneeseesi jota muut paikallisverkkosi\n"
+"koneet voivat käyttää."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automaattinen kellon synkronointi"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Näytönohjain\n"
+"\n"
+" Asennusohjelma yleensä tunnistaa ja asettaa koneeseesi asennetun\n"
+"näytönohjaimen. Mikäli tämä ei onnistunut, voit itse valita oikean mallin\n"
+"listasta omistamasi kortin mukaisesti.\n"
+"\n"
+" Mikäli eri palvelimia on käytettävissä kortillesi, 3D tuella vai ilman,\n"
+"sinua pyydetään valitsemaan palvelin joka vastaa tarpeitasi."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (eli X Ikkunointijärjestelmä) on GNU/Linuxin graafisen käyttöliittymän\n"
+"sydän jota kaikki graafiset ympäristöt (KDE, Gnome, AfterStep,\n"
+"WindowMaker jne.), jotka seuraavat Mandriva Linuxin mukana,\n"
+"käyttävät alustanaan.\n"
+"\n"
+"Sinulle näytetään lista eri parametreista joita voit asettaa saadaksesi\n"
+"optimaalisen graafisen näytön:\n"
+"\n"
+"Näytönohjain\n"
+"\n"
+" Asennusohjelma yleensä tunnistaa ja asettaa koneeseesi asennetun\n"
+"näytönohjaimen. Mikäli tämä ei onnistunut, voit itse valita oikean mallin\n"
+"listasta omistamasi korttisi mukaisesti.\n"
+"\n"
+" Mikäli eri palvelimia on käytettävissä kortillesi, 3D tuella vai ilman,\n"
+"sinua pyydetään valitsemaan palvelin joka parhaiten vastaa tarpeitasi.\n"
+"\n"
+"\n"
+"\n"
+"Näyttö\n"
+"\n"
+" Asennusohjelma normaalisti tunnistaa ja asettaa koneeseesi liitetyn\n"
+"näytön automaattisesti. Jos tunnistus epäonnistuu voit valita oikean\n"
+"näytön listasta.\n"
+"\n"
+"\n"
+"\n"
+"Näyttötila\n"
+"\n"
+" Tässä voit valita näyttötilan ja värisyvyyden jota laitteistosi tukee.\n"
+"Valitse se joka parhaiten vastaa tarpeitasi (voit tietysti vaihtaa sitä\n"
+"asennuksen jälkeenkin). Malli valitusta asetuksesta näytetään näytössä.\n"
+"\n"
+"\n"
+"\n"
+"Testi\n"
+"\n"
+" Järjestelmä yrittää avata graafisen tilan halutussa näyttötilassa.\n"
+"Jos näet viestin testauksen aikana ja vastaat \"%s\", DrakX jatkaa\n"
+"seuraavaan vaiheeseen. Jos et näe viestiä, se tarkoittaa että jokin osa\n"
+"automaattisesti tunnistetusta asetuksesta oli virheellistä, ja testi\n"
+"loppuu automaattisesti 12 sekunnin jälkeen, jolloin pääset takaisin\n"
+"asetusvalikkoon. Muuta asetuksia kunnes saat oikean graafisen näytön.\n"
+"\n"
+"\n"
+"\n"
+"Optiot\n"
+"\n"
+" Täällä voit valita haluatko järjestelmän automaattisesti käynnistävän\n"
+"graafisen käyttöliittymän. Luonnollisesti valitset \"%s\" jos koneesi\n"
+"toimii palvelimena tai jos et pystynyt määrittämään toimivaa graafista tilaa."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Näyttö\n"
+"\n"
+" Asennusohjelma yleensä tunnistaa ja asettaa koneeseesi liitetyn\n"
+"näytön automaattisesti. Jos tämä ei toimi, voit itse valita näyttösi\n"
+"listauksesta."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Näyttötila\n"
+"\n"
+" Tässä voit valita näyttötilan ja värisyvyyden jota laitteistosi tukee.\n"
+"Valitse se joka parhaiten vastaa tarpeitasi (voit tietysti vaihtaa sitä\n"
+"asennuksen jälkeenkin). Malli valitusta asetuksesta näytetään näytössä."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Mikäli tarjolla on eri palvelimia ohjaimellesi, 3D tuella tai ilman,\n"
+"sinua pyydetään valitsemaan palvelin joka parhaiten vastaa tarpeitasi."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Optiot\n"
+"\n"
+" Täällä voit valita haluatko koneesi käynnistyvän suoraan graafiseen\n"
+"käyttöliittymään. Huomaa, että kysymys esitetään vaikka et olisi\n"
+"testannut asetuksia. Haluat varmaankin vastata \"%s\", jos koneesi\n"
+"on tarkoitettu palvelimeksi tai jos näytön asetus epäonnistui."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nyt sinun pitää valita miten haluat asentaa Mandriva Linux käyttö-\n"
+"järjestelmän kiintolevyllesi. Jos kiintolevysi on tyhjä, tai nykyinen\n"
+"käyttöjärjestelmäsi käyttää siltä kaiken vapaan tilan, sinun pitää osioida\n"
+"se. Käytännössä osiointi tarkoittaa kiintolevyn loogista jakamista\n"
+"osiin tehdäksesi tilaa Mandriva Linux-järjestelmän asennukselle.\n"
+"\n"
+"Koska osiointiprosessin muutoksia ei yleensä voi peruuttaa, ja se voi\n"
+"johtaa tietojen häviämiseen jos toinen käyttöjärjestelmä on jo asennettuna,\n"
+"osiointi voi olla pelottavaa ja stressaavaa jos olet kokematon käyttäjä.\n"
+"Onneksi DrakX sisältää velhon, joka yksinkertaistaa tämän prosessin.\n"
+"Ennen kuin aloitat, lue nämä ohjeet rauhassa.\n"
+"\n"
+"Riippuen kiintolevyasetuksistasi, tarjolla on useita eri vaihtoehtoja:\n"
+"\n"
+" * \"%s\": tämä vaihtoehto suorittaa vapaana olevan tilan\n"
+"automaattisen osioinnon. Sinulta ei kysytä mitään muuta.\n"
+"\n"
+" * \"%s\": velho on tunnistanut olemassa olevat\n"
+"Linux-osiot. Jos haluat käyttää niitä, valitse tämä vaihtoehto. Sinua\n"
+"pyydetään seuraavaksi valitsemaan osioiden liitospisteet. Ennestään\n"
+"käytettyjä liitoskohtia ehdotetaan oletuksena ja yleensä niitä ei kannata\n"
+"muuttaa.\n"
+"\n"
+" * \"%s\": jos Microsoft Windows on\n"
+"asennettu kiintolevyllesi ja se vie kaiken tilan, sinun pitää luoda vapaata\n"
+"tilaa Linuxille. Tehdäksesi tämän voit joko poistaa Windows-osion (katso\n"
+"``Tyhjennä koko levy''-vaihtoehto) tai muuttaa FAT-osion kokoa. Osion\n"
+"koon muuttaminen voidaan tehdä ilman tietojen hävittämistä, kunhan olet\n"
+"eheyttänyt sen ja se käyttää FAT-tiedostojärjestelmää. Tietojen varmistus\n"
+"on kuitenkin suotavaa. Tämä vaihtoehto on suositeltu jos haluat käyttää\n"
+"Mandriva Linuxia ja Microsoft Windowsia samassa koneessa.\n"
+"\n"
+" Ennen kuin valitset tämän vaihtoehdon, sinun pitää ymmärtää että tämän\n"
+"toimenpiteen jälkeen Windows-osiosi on pienempi kuin tällä hetkellä.\n"
+"Sinulla tulee olemaan vähemmän vapaata tilaa Windowsille, johon voit\n"
+"tallentaa tietojasi tai asentaa uusia ohjelmia.\n"
+"\n"
+" * \"%s\": valitse tämä jos haluat poistaa kaikki tiedot\n"
+"ja osiot ja asentaa Mandriva Linux -järjestelmäsi niiden tilalle. Ole\n"
+"varovainen tämän valinnan kanssa, koska et pysty peruuttamaan\n"
+"valintaasi kun olet hyväksynyt tämän toimenpiteen.\n"
+"\n"
+" !! Jos valitset tämän vaihtoehdon, kaikki tiedot kiintolevylläsi "
+"tuhoutuu !!\n"
+"\n"
+" * \"%s\": tämä vaihtoehto näkyy ainoastaan jos koko kovalevysi on\n"
+"Microsoft Windowsin käytössä. Tämä yksinkertaisesti poistaa kaikki\n"
+"tiedot kiintolevyltä ja aloittaa puhtaalta levyltä osioimalla kaikki alusta\n"
+"asti. Kaikki tiedot kiintolevylläsi tuhoutuu.\n"
+"\n"
+" !! Jos valitset tämän vaihtoehdon, kaikki tiedot kiintolevylläsi "
+"tuhoutuu !!\n"
+"\n"
+" * \"%s\": valitse tämä vaihtoehto, jos haluat itse\n"
+"määrittää kiintolevysi osioinnin. Ole varovainen - tämä on tehokas mutta\n"
+"vaarallinen vaihtoehto. Voit helposti menettää kaikki tietosi. Eli,\n"
+"älä käytä tätä vaihtoehtoa, jos et tiedä tarkalleen mitä teet. Jos haluat\n"
+"lisätietoja DiskDrake työkalun käytöstä, katso osaa ``Managing Your \n"
+"Partitions'' osiota ``Starter Guidessa''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Käytä olemassa olevia osioita"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Tyhjennä koko levy"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ole hyvä. Asennus on valmis ja GNU/Linux -järjestelmäsi on valmis\n"
+"käytettäväksi. Paina \"%s\" käynnistääksesi järjestelmän\n"
+"uudelleen. Ensimmäinen asia mitä näet sen jälkeen kun tietokoneesi\n"
+"on suorittanut laitteistotestit, on käynnistysvalikko josta voit valita\n"
+"minkä käyttöjärjestelmän haluat käynnistää.\n"
+"\n"
+"\"%s\" painike näyttää kaksi lisäpainiketta:\n"
+"\n"
+" * \"%s\": luodaksesi levykkeen, joka suorittaa\n"
+"koko asennuksen ilman käyttäjän ohjausta, samoilla asetuksilla ja\n"
+"valinnoilla kuin nykyinen asennus.\n"
+"\n"
+" Huomaa, että tämä valinta näyttää kaksi vaihtoehtoa sinulle:\n"
+"\n"
+" * \"%s\": Tämä on osittain automaattinen asennus, voit päättää\n"
+"ainoastaan levyn osioinnista;\n"
+"\n"
+" * \"%s\": Täysautomaattinen asennus: koko kiintolevy\n"
+"kirjoitetaan uudestaan ja kaikki vanhat tiedot poistetaan.\n"
+"\n"
+" Tämä toiminto helpottaa työtä, kun asennus on tehtävä monille\n"
+"samanlaisille koneille. Katso meidän webbisivustoa, aiheella\n"
+"automaattiasennus (Auto Install).\n"
+"\n"
+" * \"%s\"(*): tallentaa listan valituista paketeista\n"
+"levykkeelle. Sitten kun teet toisen asennuksen, aseta levyke asemaan,\n"
+"siirry apusivulle painamalla [F1] painiketta, ja kirjoita komentoriville\n"
+" linux defcfg=\"floppy\" ja paina 'enter'.\n"
+"\n"
+"(*) Tarvitset FAT-formatoidun levykkeen. Luodaksesi levykkeen\n"
+"Linuxissa kirjoita \"mformat a:\" tai \"fdformat /dev/fd0\" ja \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Luo automaattinen asennuslevyke"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Kaikki vasta määritellyt osiot täytyy alustaa käyttöä varten (alustaminen\n"
+"tarkoittaa tiedostojärjestelmän luomista).\n"
+"\n"
+"Samalla voit haluta alustaa uudelleen myös olemassaolevia osioita\n"
+"poistaaksesi kaiken niissä olevan tiedon. Jos haluat haluat tehdä niin,\n"
+"valitse myös ne osiot.\n"
+"\n"
+"Huomaa, että sinun ei ole pakko alustaa kaikkia jo olemassa olevia\n"
+"osioita. Sinun pitää alustaa ne osiot, joilla käyttöjärjestelmä\n"
+"sijaitsee (kuten \"/\", \"/usr\" ja \"/var\"), mutta voit säilyttää osiot,\n"
+"joilla henkilökohtaiset tiedostosi sijaitsevat (tavallisesti \"/home\").\n"
+"\n"
+"Ole huolellinen osioita valitessasi. Alustamisen jälkeen kaikki tieto\n"
+"valituilla osioilla on poissa eikä niiden palauttaminen enää onnistu.\n"
+"\n"
+"Valitse \"%s\" kun olet valmis alustamaan osiot.\n"
+"\n"
+"Valitse \"%s\", jos haluat valita toisen osion Mandriva Linuxin\n"
+"asentamiseen.\n"
+"\n"
+"Valitse \"%s\", jos haluat valita osiot, jotka tarkistetaan\n"
+"levyllä olevien viallisten lohkojen varalta."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Tässä vaiheessa, kun asennat Mandriva Linuxia, on todennäköistä että\n"
+"jotkut paketit on päivitetty alkujulkaisun jälkeen. Joitakin virheitä voi "
+"olla\n"
+"korjattu ja turvallisuusaukkoja paikattu. Hyödyntääksesi näitä päivityksiä,\n"
+"sinulla on nyt mahdollisuus hakea ne Internetistä. Valitse \"%s\" jos\n"
+"sinulla on toimiva Internet yhteys, tai \"%s\" jos haluat asentaa\n"
+"päivitykset myöhemmin.\n"
+"\n"
+"Valitsemalla \"%s\" sinulle näytetään lista päivityspalvelimista.\n"
+"Valitse lähin palvelin. Sen jälkeen sinulle näytetään lista päivityksistä:\n"
+"tarkista valinnat ja paina \"%s\" jolloin paketit haetaan ja\n"
+"asennetaan, tai \"%s\" poistuaksesi päivityksestä."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Tässä vaiheessa DrakX antaa sinun valita tietokoneellesi sopivan\n"
+"turvatason. Yleisesti mitä enemmän tärkeää tietoa on tallennettu\n"
+"koneellesi, tai jos se on kytketty Internetiin, sitä korkeampi turvatason\n"
+"pitäisi olla. Huomaa kuitenkin, että korkeampi turvallisuustaso\n"
+"saavutetaan yleensä käytettävyyden kustannuksella.\n"
+"\n"
+"Jos et tiedä mitä valita, käytä oletuksena olevaa vaihtoehtoa. Voit\n"
+"myöhemmin vaihtaa turvatason Mandriva Ohjauskeskuksesta löytyvällä\n"
+"draksec-työkalulla.\n"
+"\n"
+"\"%s\" asetus kertoo järjestelmälle käyttäjän, joka vastaa turvasta.\n"
+"Turvaan liittyvät viestit lähetetään hänelle kyseiseen "
+"sähköpostiosoitteeseen."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tietoturvan ylläpitäjä:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Tässä vaiheessa sinun pitää määrittää mitkä osiot käytetään Mandriva Linux\n"
+"-järjestelmäsi asennuksessa. Jos osioita on jo määritelty, joko\n"
+"edellisestä GNU/Linux-asennuksesta tai jonkun toisen osiointityökalun\n"
+"tekeminä, niin voit käyttää olemassa olevia osioita. Muussa tapauksissa\n"
+"osiot pitää luoda.\n"
+"\n"
+"Luodaksesi osioita, sinun pitää ensin valita kiintolevy. Voit valita "
+"osioitavan\n"
+"levyn painamalla 'hda' ensimmäiselle IDE-levylle, 'hdb' toiselle, 'sda'\n"
+"ensimmäiselle SCSI-levylle ja niin edelleen.\n"
+"\n"
+"Osioidaksesi valitun levyn voit valita näistä vaihtoehdoista:\n"
+"\n"
+" * \"%s\": tämä toiminto poistaa kaikki osiot kiintolevyllä\n"
+"\n"
+" * \"%s\": tämä toiminto luo automaattisesti\n"
+"tarvittavat ext3-osiot ja sivutusosion levyn tyhjästä tilasta\n"
+"\n"
+"\"%s\": näyttää seuraavat lisätoiminnot:\n"
+"\n"
+" * \"%s\": tallentaa osiotaulun levykkeelle. Tämä on\n"
+"hyödyllinen levyke, jos pitää palauttaa osiotaulu. Suosittelemme\n"
+"tämän levykkeen tekoa\n"
+"\n"
+" * \"%s\": palauttaa aikaisemmin tallennetun osiotaulun\n"
+"levykkeeltä\n"
+"\n"
+" * \"%s\": jos osiotaulusi on viottunut, voit kokeilla sen\n"
+"korjaamista tällä toiminnolla. Ole varovainen, ja muista että tämä\n"
+"voi epäonnistua\n"
+"\n"
+" * \"%s\": hylkää kaikki tekemäsi muutokset ja\n"
+"palauta alkuperäinen osiotaulu\n"
+"\n"
+" * \"%s\": tämän valinnan\n"
+"poistaminen pakottaa käyttäjät itse liittämään ja irrottamaan\n"
+"vaihdettavat levyt, esim. levykkeet ja CD-levyt\n"
+"\n"
+" * \"%s\": valitse tämä vaihtoehto jos haluat velhon osioimaan\n"
+"kiintolevysi. Tämä on suositeltua sinulle jos osiointi ei ole tuttua\n"
+"\n"
+" * \"%s\": tämä vaihtoehto poistaa tekemäsi muutokset\n"
+"\n"
+" * \"%s\": sallii lisätoimintoja\n"
+"osioille (tyyppi, optiot, formaatti) ja näyttää lisätietoja\n"
+"\n"
+" * \"%s\": kun kiintolevyn osiointi on valmis, tämä toiminto\n"
+"tallentaa tekemäsi muutokset levylle ja jatkaa asennusta.\n"
+"\n"
+"Kun määrität osion kokoa, voit hienosäätää kokoa käyttämällä\n"
+"näppäimistön nuolinäppäimiä.\n"
+"\n"
+"Huom!: Voit myös käyttää kaikkia toimintoja näppäimistöllä. Siirry\n"
+"osioiden ja toimintojen välillä käyttämällä [Tab] ja [Ylös/Alas] näppäimiä.\n"
+"\n"
+"Kun osio tai tyhjä tila on valittu voit käyttää:\n"
+"\n"
+" * Ctrl-C luodaksesi uuden osion (kun tyhjä tila on valittu)\n"
+"\n"
+" * Ctrl-D poistaaksesi osion\n"
+"\n"
+" * Ctrl-M valitaksesi liitospisteen\n"
+"\n"
+"Saadaksesi lisätietoja käytettävissä olevista tiedostojärjestelmistä,\n"
+"lue lisää ``Reference Manual'':sta osasta ext2FS.\n"
+"\n"
+"Jos olet asentamassa PPC-koneelle, sinun pitää luoda pieni HFS\n"
+"``bootstrap''-osio kooltaan vähintään 1Mt, joka tulee Yaboot\n"
+"käynnistyslataajan käyttöön. Jos päätät tehdä osiosta vähän suuremman,\n"
+"esim. 50Mt, on hyvä ajatus asentaa ylimääräinen ydin ja ramdisk-kuva\n"
+"virhetilanteiden käynnistystarpeeseen."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Vaihdettavan median automaattinen liittäminen"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Vaihda vakio-/asiantuntijatilan välillä"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Useampi kuin yksi Microsoft-osio on löydetty kiintolevyltäsi. Ole hyvä\n"
+"ja valitse osio jonka kokoa haluat muuttaa asentaaksesi uuden\n"
+"Mandriva Linux -käyttöjärjestelmäsi.\n"
+"\n"
+"Jokainen osio on lueteltu seuraavasti: \"Linux nimi\", Windows nimi\", \"Koko"
+"\".\n"
+"\n"
+"\"Linux nimi\" rakenne on seuraava: \"kiintolevytyyppi\". \"kiintolevynumero"
+"\", \n"
+"\"osionumero\" (esim. \"hda1\").\n"
+"\n"
+"\"kiintolevytyyppi\" on \"hd\" jos kiintolevysi on IDE-tyyppinen ja \"sd\" "
+"jos\n"
+"se on SCSI-tyyppinen.\n"
+"\n"
+"\"kiintolevynumero\" on aina kirjain \"hd\":n tai \"sd\":n perässä.\n"
+"IDE-kiintolevyille: \n"
+"\n"
+" * \"a\" tarkoittaa \"isäntälevy ensisijaisella IDE ohjaimella\";\n"
+"\n"
+" * \"b\" tarkoittaa \"orjalevy ensisijaisella IDE ohjaimella\";\n"
+"\n"
+" * \"c\" tarkoittaa \"isäntälevy toissijaisella IDE ohjaimella\";\n"
+"\n"
+" * \"d\" tarkoittaa \"orjalevy toissijaisella IDE ohjaimella\";\n"
+"\n"
+"SCSI kiintolevyillä \"a\" tarkoittaa \"pienin SCSI ID\", \"b\" tarkoittaa\n"
+"\"toiseksi pienin SCSI ID\", jne.\n"
+"\n"
+"\"Windows nimi\" on Windowsissa näkyvä osiota vastaava kirjain\n"
+"(ensimmäinen osio on \"C:\", seuraava \"D:\" jne.)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": tarkista maa-asetukset. Jos et ole maassa, joka on valittu,\n"
+"paina \"%s\" painiketta ja valitse joku muu. Jos maasi ei ole\n"
+"listassa, paina \"%s\" painiketta jolloin näet listan kaikista maista."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Tämä vaihe asennuksesta näytetään ainoastaan jos vanha GNU/Linux-\n"
+"osio on löydetty koneestasi.\n"
+"\n"
+"DrakX haluaa nyt tietää, haluatko suorittaa uuden asennuksen vai vanhan\n"
+"Mandriva Linux -järjestelmän päivityksen:\n"
+"\n"
+" * \"%s\": oletuksena tämä tapa poistaa vanhan asennuksen. Jos haluat\n"
+"muuttaa miten kiintolevysi on osioitu tai vaihtaa tiedostojärjestelmää, "
+"sinun\n"
+"kannattaa valita tämä vaihtoehto. Riippuen nykyisestä osioinnistasi, voit\n"
+"ehkä valita niin ettei kaikkia tietojasi hävitetä.\n"
+"\n"
+" * \"%s\": tämä vaihtoehto sallii sinun päivittää paketteja\n"
+"nykyisessä Mandriva Linux -järjestelmässäsi. Nykyistä osiointiasi\n"
+"eikä käyttäjien tietoja muuteta. Suurin osa muista asennuksen\n"
+"vaiheista on käytössäsi niin kuin ne ovat vakioasennuksessa.\n"
+"\n"
+"``Päivitä''-ominaisuuden pitäisi toimia Mandriva Linux\n"
+"-järjestelmän versiosta \"8.1\" eteenpäin. Vanhemman version\n"
+"kuin \"8.1\" päivittämistä ei suositella."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tavallisesti DrakX valitsee sinulle oikean näppäimistön sen mukaan, minkä\n"
+"kielen olet valinnut. Kuitenkaan sinulla ei välttämättä ole näppäimistöä, "
+"joka\n"
+"vastaa suoraan kieltäsi. Jos olet esimerkiksi englanninkielinen "
+"sveitsiläinen,\n"
+"voit silti haluta sveitsiläisen näppäimistön. Tai jos puhut englantia, mutta "
+"asut\n"
+"Quebecissä, sinulla voi olla samanlainen tilanne, missä kieli ja "
+"näppäimistö\n"
+"eivät vastaa toisiaan. Molemmissa tapauksissa tämä asennusvaihe antaa\n"
+"sinulle mahdollisuuden valita sopivan näppäimistön listasta.\n"
+"\n"
+"Valitse \"%s\" saadaksesi täydellisen listan tuetuista\n"
+"näppäimistöistä.\n"
+"\n"
+"Jos valitset näppäimistön joka ei perustu latinalaiseen kirjaimistoon, "
+"sinulta\n"
+"kysytään näppäinyhdistelmää joka vaihtaa latinalaisen ja ei-latinalaisen\n"
+"järjestyksen välillä."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ensimmäinen askel on valita toivottu kieli.\n"
+"\n"
+"Valitsemasi oletuskieli päättää minkä kielinen dokumentaatio\n"
+"asennetaan, kuten myös asennusohjelman ja järjestelmän\n"
+"kielen. Valitse ensin missä asut ja sitten mitä kieltä käytät.\n"
+"\n"
+"Valitsemalla \"%s\" saat mahdollisuuden valita\n"
+"myös muita kieliä asennettavaksi työasemallesi. Muiden kielten\n"
+"valitseminen asentaa kielikohtaiset tiedostot järjestelmän\n"
+"dokumentoinnista ja ohjelmistoista. Esimerkiksi jos sinulla\n"
+"koneessasi espanjalaisia käyttäjiä, valitse suomi (tai englanti)\n"
+"pääkieleksi ja lisäasetusten puolelta \"%s\".\n"
+"\n"
+"Tietoja UTF-8 (unicode) tuesta: Unicode on uusi kirjasinten \n"
+"määrittelytapa joka on määrä kattaa kaikki olemassa olevat kielet.\n"
+"Huomaa etttä täysi tuki GNU/Linuxissa on viellä työn alla. Tästä syystä\n"
+"Mandriva Linuxin UTF-8 käyttö riippuu käyttäjän valinnasta:\n"
+"\n"
+" * Jos valitset kielen jossa on vahva \"vanhanaikainen\" kirjasinmäärittely\n"
+"(latin1 kielet, Venäjä, Japani, Kiina, Korea, Thai, Kreikka, Turkki, suurin "
+"osa\n"
+"iso-8859-2 kielet), \"vanhanaikainen koodaus käytettään oletuksena.\n"
+"\n"
+" * Muut kielet käyttävät unicode oletuksena.\n"
+"\n"
+" * Jos kaksi (tai enemmän) kieltä tarvitaan, ja ne eivät käytä samaa\n"
+"koodausta, käytetään unicode koko järjestelmälle.\n"
+"\n"
+" * Viimeisenä, voit myös pakottaa järjestelmän käyttämään Unicodea \n"
+"(UTF-8) valitsemalla \"%s\"\n"
+"\n"
+"Huomaa, että voit valita useita ylimääräisiä kieliä tai jopa kaikki\n"
+"valitsemalla \"%s\". Kielituen valinta tarkoittaa käännösten,\n"
+"kirjasinten, oikolukuohjelmien jne. asentamista kyseiselle kielelle.\n"
+"\n"
+"Vaihtaaksesi eri kielten välillä voit suorittaa \"/usr/bin/localedrake\"\n"
+"\"root\"-käyttäjänä, jolloin vaihdat koko järjestelmän kieltä, tai\n"
+"tavallisena käyttäjänä, jolloin vaihdat vain sen käyttäjän vakiokielen."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "espanja"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX yleensä tunnistaa hiiren painikkeiden määrän. Jos tunnistus\n"
+"epäonnistuu DrakX olettaa, että sinulla on kaksipainikkeinen hiiri\n"
+"ja liittää siihen kolmannen painikkeen emulaatiolla. Kolmatta painiketta\n"
+"kaksipainikkeisessa hiiressä voidaan käyttää painamalla molempia\n"
+"painikkeita samanaikaisesti. DrakX tietää myös automaattisesti, onko\n"
+"sinulla PS/2-, sarja- vai USB-hiiri.\n"
+"\n"
+"Mikäli sinulla on kolmipainikkeinen hiiri ilman rullaa, voit valita hiiren\n"
+"tyypiksi \"%s\". DrakX lisää tällöin rullaemulaation, joka toimii\n"
+"painamalla keskimmäistä painiketta ja liikuttamalla hiirtä.\n"
+"\n"
+"Jos haluat asettaa eri tyyppisen hiiren, valitse sopiva tyyppi oheisesta\n"
+"listasta.\n"
+"\n"
+"Voit valita \"%s\" jolla valitset ``yleisen'' hiirimallin joka toimii lähes\n"
+"kaikki hirten kanssa.\n"
+"\n"
+"Jos valitset muun kuin oletushiiren, saat eteesi hiiren testiruudun.\n"
+"Kokeile hiiren näppäimiä ja rullaa varmistaaksesi, että asetukset ovat\n"
+"oikein. Jos hiiri ei toimi kunnolla, paina välilyöntiä tai [enter]\n"
+"peruuttaaksesi, minkä jälkeen voit valita uudelleen.\n"
+"\n"
+"Joskus rullahiirtä ei tunnisteta oikein. Sinun pitää valita oikea malli\n"
+"listasta. Varmista, että valitset mallin joka vastaa porttia johon\n"
+"hiiresi on liitetty. Kun olet painanut \"%s\", hiiren kuva tulee esille.\n"
+"Sitten sinun PITÄÄ pyörittää rullaa, jotta se aktivoituisi oikein.\n"
+"Varmista sitten kaikkien painikkeiden toiminta sekä hiiren liikkuminen."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Rullaemulaatiolla"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Yleinen | Mikä tahansa PS/2- ja USB-hiiri"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Valitse oikea portti. Esimerkiksi \"COM1\" portti Windowsissa\n"
+"on nimetty \"ttyS0\":ksi GNU/Linuxissa."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Tämä on tärkein päätös joka koskee GNU/Linux-järjestelmäsi turvallisuutta:\n"
+"sinun pitää syöttää \"root\" salasana. \"Root\" on järjestelmän ylläpitäjä\n"
+"ja ainoa, jolla on oikeudet päivittää järjestelmää, lisätä käyttäjiä, "
+"muuttaa\n"
+"järjestelmän asetuksia jne. Lyhyesti, \"root\" voi tehdä mitä vain! Tämän\n"
+"vuoksi sinun pitää valita salasana joka on vaikea arvata - DrakX kertoo\n"
+"sinulle jos salasana on liian helppo. Kuten huomaat, voit jättää salasanan\n"
+"syöttämättä, mutta suosittelemme ettet tee niin, ainakin yhdestä syystä:\n"
+"GNU/Linux on yhtä altis käyttäjän virheille kuin muutkin "
+"käyttöjärjestelmät.\n"
+"Koska \"root\" voi ohittaa kaikki rajoitukset ja vahingossa poistaa kaikki\n"
+"tiedot osioilta on tärkeää, että on vaikea päästä \"root\"-käyttäjäksi.\n"
+"\n"
+"Salasanan pitäisi koostua kirjaimista ja numeroista sekä olla vähintään\n"
+"8 merkkiä pitkä. Älä koskaan kirjoita \"root\" salasanaa paperille - se\n"
+"tekisi järjestelmään murtautumisesta liian helppoa.\n"
+"\n"
+"Älä myöskään valitse liian pitkää tai monimutkaista salasanaa koska sinun\n"
+"pitää itse muistaa se ongelmitta.\n"
+"\n"
+"Salasanaa ei näytetä kun syötät sitä ja tästä syystä sinun pitää syöttää\n"
+"se kahdesti, jolla pyritään ehkäisemään kirjoitusvirheitä. Jos sattumalta\n"
+"teet saman kirjoitusvirheen kahdesti, joudut käyttämään tätä ``väärää''\n"
+"salasanaa ensimmäisessä sisäänkirjautumisessa.\n"
+"\n"
+"Jos haluat että pääsyä tähän koneeseen hallitaan tunnistuspalvelimen\n"
+"kautta, paina \"%s\"-painiketta.\n"
+"\n"
+"Jos verkkosi käyttää LDAP, NIS tai PDC Windows verkkoalueen\n"
+"tunnistuspalvelua, valitse oikea \"%s\" vaihtoehto.\n"
+"Jos sinulla ei ole tietoa, kysy verkon ylläpitäjältä.\n"
+"\n"
+"Jos sinulla on ongelmia muistaa salasanoja, jos koneesi ei ole\n"
+"yhteydessä Internetiin tai jos uskot kaikkiin koneesi käyttäjiin,\n"
+"voit valita \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "tunnistustapa"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Käynnistyslataaja on pieni ohjelma joka käynnistyy tietokoneen\n"
+"käynnistyksen yhteydessä. Sen tarkoitus on käynnistää koko järjestelmää.\n"
+"Yleensä tämä askel on automaattinen, eli DrakX analysoi käynnistys-\n"
+"sektorin ja toimii sen mukaan mitä sieltä löytyy:\n"
+"\n"
+" * jos Windows käynnistyssektori löytyy, sen tilalle asennetaan GRUB/LILO\n"
+"käynnistyssektori. Tällä tavalla voit käynnistää GNU/Linuxin tai jonkin\n"
+"muun käyttöjärjestelmän.\n"
+"\n"
+" * jos käynnistyssektorilta löytyy GRUB tai LILO, se päivitetään uudempaan\n"
+"versioon.\n"
+"\n"
+"Jos DrakX ei osaa tehdä päätöstä, se kysyy sinulta mihin haluat asentaa\n"
+"käynnistyslataajan. Yleensä paras paikka on \"%s\". Valitsemalla \"%s\"\n"
+"käynnistyslataajaa ei asenneta. Tee tämä vain mikäli tiedät mitä teet."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nyt on aika valita tulostusjärjestelmä tietokoneellesi. Muut "
+"käyttöjärjestelmät\n"
+"saattavat tarjota sinulle yhden järjestelmän, mutta Mandriva Linux tarjoaa\n"
+"kaksi. Kukin tulostusjärjestelmä sopii parhaiten tietyille asetuksille.\n"
+"\n"
+" * \"%s\" -- joka tarkoittaa ``tulosta, älä jonota'' (print, do not "
+"queue).\n"
+"Tämä on sopiva valinta jos sinulla on suora yhteys tulostimeesi ja haluat\n"
+"mahdollisuuden 'hätäkatkaisuun' jos tulostin menee tukkoon, eikä sinulla\n"
+"ole verkkoon liitettyjä tulostimia. (\"%s\" tukee ainoastaan "
+"yksinkertaisimpia\n"
+"verkkoasetelmia ja on hidas verkkokäyttöön.) Valitse \"pdq\" jos tämä on\n"
+"ensimmäinen GNU/Linux tuttavuutesi.\n"
+"\n"
+" * \"%s\" -- ``Common Unix Printing System'', eli Yleinen Unix Tulostus-\n"
+"järjestelmä, on mainio tulostettaessa paikalliseen tulostimeen tai\n"
+"vaikkapa maapallon toiselle puolelle. Se on yksinkertainen järjestelmä\n"
+"ja voi toimia tulostuspalvelimena tai asiakkaana vanhalle \"lpd\"-\n"
+"tulostusjärjestelmälle. Näin ollen, se on yhteensopiva vanhempien\n"
+"järjestelmien kanssa. Se on monitaitoinen, mutta perusasetuksen\n"
+"teko on melkein yhtä helppoa kuin \"pdq\". Jos tarvitset \"lpd\"-palvelimen\n"
+"emulointia, sinun pitää käynnistää \"cups-lpd\" -demoni. \"%s\"\n"
+"sisältää graafisen käyttöliittymän jota voidaan käyttää tulostamiseen\n"
+"tai asetuksien tekoon.\n"
+"\n"
+"Jos teet valinnan nyt, ja myöhemmin huomaat ettet pidä nykyisestä\n"
+"tulostusjärjestelmästä voit muuttaa valintaasi Mandrivan Ohjauskeskuksesta\n"
+"löytyvässä PrinterDrakessa valitsemalla \"%s\"-painikkeen."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Asiantuntija"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Aluksi DrakX tunnistaa kaikki IDE-laitteet, jotka on kytketty "
+"järjestelmääsi.\n"
+"Samalla myös tutkitaan löytyykö järjestelmästä PCI SCSI -ohjaimia. Jos\n"
+"SCSI-ohjain löytyy, asentaa DrakX tarvittavat ajurit.\n"
+"\n"
+"Koska laitteiston tunnistaminen ei ole idiootinvarma, DrakX voi\n"
+"epäonnistua. Siinä tapauksessa joudut määrittämään laitteistosi\n"
+"itse.\n"
+"\n"
+"Jos sinun pitää määrittää PCI SCSI -ohjaintasi, DrakX kysyy sinulta\n"
+"haluatko määrittää ohjaimen asetuksia. Ehdotamme että sallit DrakX:n\n"
+"tunnistaa tarvittavat asetukset laitteiston alustamiseen. Yleensä DrakX\n"
+"suorittaa tämän toiminnon ongelmitta.\n"
+"\n"
+"Jos DrakX ei pystykään tunnistamaan tarvittavia asetuksia joilla ohjain\n"
+"pitää alustaa, joudut itse syöttämään ne ajurille."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jos äänikortti on tunnistettu järjestelmässäsi, se\n"
+"näytetään täällä. Jos huomaat että näytetty äänikortti ei vastaa sitä\n"
+"joka on asennettu koneeseesi, voit painaa tätä painiketta ja valita toisen\n"
+"ajurin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX näyttää yhteenvedon laitteistoasi koskevista tiedoista\n"
+"jotka se on kerännyt. Asennetusta laitteistosta riippuen, näet joitakin\n"
+"tai kaikki seuraavista tietueista. Jokainen tietue koostuu asetettavasta\n"
+"laitteesta ja lyhyestä selostuksesta laitteen asetuksien nykytilasta.\n"
+"Paina tietuetta vastaavaa \"%s\" painiketta jos haluat muuttaa sitä.\n"
+"\n"
+" * \"%s\": tarkista näppäinasettelu ja vaihda sitä tarvittaessa.\n"
+"\n"
+" * \"%s\": tarkista maa-asetukset. Jos et ole maassa, joka on valittu,\n"
+"paina \"%s\"-painiketta ja valitse oikea. Jos maasi ei ole\n"
+"listassa paina \"%s\"-painiketta, jolloin näet listan kaikista maista.\n"
+"\n"
+" * \"%s\": DrakX oletuksena arvioi aikavyöhykkeesi riippuen\n"
+"siitä, minkä kielen olet valinnut. Jos tämä ei ole oikea, voit muuttaa sitä\n"
+"painamalla \"%s\".\n"
+"\n"
+" * \"%s\": tarkista nykyiset hiiriasetukset ja muuta niitä tarvittaessa.\n"
+"\n"
+" * \"%s\": painamalla \"%s\"-painiketta avaat tulostuksen\n"
+"asetusvelhon. Lue lisää asiaa koskevasta luvusta ``Aloitusoppaasta''\n"
+"saadaksesi lisätietoa miten asettaa uusi tulostin. Käyttöliittymä\n"
+"joka oppaassa esitetään on vastaava kuin se jota käytetään asennuksen\n"
+"aikana.\n"
+"\n"
+" * \"%s\": jos äänikortti on tunnistettu järjestelmässäsi, se\n"
+"näytetään täällä. Jos huomaat että näytetty äänikortti ei vastaa sitä\n"
+"joka on asennettu koneeseesi, voit nappia painamalla valita toisen\n"
+"ajurin.\n"
+"\n"
+" * \"%s\": jos TV-kortti on tunnistettu järjestelmässäsi, se\n"
+"näytetään täällä. Jos sinulla on TV-kortti eikä sitä ole tunnistettu,\n"
+"voit painaa \"%s\" ja yrittää asettaa sen itse.\n"
+"\n"
+" * \"%s\": paina \"%s\" jos haluat muuttaa parametreja joka\n"
+"koskee korttia jaka mielestäsi on väärin asetettu.\n"
+"\n"
+" * \"%s\": oletuksena DrakX asettaa graafisen\n"
+"käyttöliittymäsi käyttämään \"800x600\" tai \"1024x768\" näyttötilaa.\n"
+"Jos tämä ei sovi sinulle, paina \"%s\" muuttaaksesi asetuksia.\n"
+"\n"
+" * \"%s\": jos haluat asettaa Internet- tai paikallisverkkoasetuksesi,\n"
+"voit tehdä sen nyt. Katso ohjekirjasta, tai käytä Mandriva Linux\n"
+"Ohjauskeskus asennuksen jälkeen hyödyntääksesi sisäiset ohjeet.\n"
+"\n"
+" * \"%s\": sallii sinua asettamaan HTTP ja FTP välityspalvelimia jos\n"
+"asentamasi kone on välitysåpalvelimen takana.\n"
+"\n"
+" * \"%s\": tässä voit muuttaa asennuksen alussa asettamaasi\n"
+"turvatasoa jos haluat.\n"
+"\n"
+" * \"%s\": Jos aiot yhdistää koneesi Internetiin, kannattaa\n"
+"suojautua verkon vaaroilta asettamalla palomuuri. Katso\n"
+"``Aloitusoppaasta'' tätä aihetta vastaavaa lukua saadaksesi lisätietoa\n"
+"palomuurin asetuksista.\n"
+"\n"
+" * \"%s\": jos haluat muuttaa käynnistyslataajan asetuksia,\n"
+"paina vastaavaa nappia. Tätä ei kannata muuttaa jos et ole asiantuntija.\n"
+"\n"
+" * \"%s\": täällä voit määrittää mitä palveluja järjestelmässäsi\n"
+"toimii. Jos aiot käyttää tätä konetta palvelimena, kannattaa nämä\n"
+"asetukset tarkistaa."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kortti"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graafinen käyttöliittymä"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Valitse kiintolevy, jonka haluat tyhjentää uudelle Mandriva Linux\n"
+"-asennusosiolle. Ole varovainen, koska kaikki asemalla oleva tieto\n"
+"tuhoutuu eikä ole enää palautettavissa!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Valitse \"%s\" jos haluat tuhota kaiken tällä kiintolevyllä olevan\n"
+"tiedon sekä osiot. Ole varovainen, sillä valittuasi \"%s\"\n"
+"et voi enää palauttaa mitään tällä kiintolevyllä olleita tietoja ja "
+"osioita,\n"
+"mukaanlukien kaikki Windows-tiedostot.\n"
+"\n"
+"Valitse \"%s\" keskeyttääksesi tämän toiminnon ilman että\n"
+"menetät mitään kiintolevyllä ollutta tietoa ja osioita."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Seuraava ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Edellinen"
+
diff --git a/perl-install/install/help/po/fr.po b/perl-install/install/help/po/fr.po
new file mode 100644
index 000000000..cacfe913c
--- /dev/null
+++ b/perl-install/install/help/po/fr.po
@@ -0,0 +1,2066 @@
+# translation of DrakX-fr.po to Français
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Mandriva
+#
+# Veuillez ne pas mettre à jour ce fichier à moins d'être
+# certain tant de vos traductions que de votre grammaire et
+# de votre orthographe. Ces dernières sont trop souvent
+# approximatives. Elles nécessitent alors des relectures et
+# des corrections qui n'ont d'autre conséquence que de faire
+# perdre du temps à tout le monde (à vous si votre travail est
+# imparfait et aux relecteurs qui doivent rechercher puis corriger
+# vos éventuelles fautes).
+#
+# VEUILLEZ RESPECTER LA TYPOGRAPHIE FRANÇAISE !
+# Les majuscules doivent être accentuées si besoin est. Respectez
+# les espaces nécessaires pour la ponctuation (espace après la virgule et
+# le point, espace insécables avant les points d'interrogation,
+# d'exclamation, les deux-points et le point virgule, espace aussi après
+# le point virgule).
+# N'enlevez pas l'espace qui suit un signe de ponctuation en fin de
+# phrase; vous devez respecter la version originale. Dans ce type de
+# cas, il est extrèmement probable que le programme va afficher
+# quelque chose d'autre à la fin. En enlevant l'espace, vous allez
+# accoller deux mots.
+#
+# ESPACES INSÉCABLES
+# Vous devez utiliser un espace insécable (c'est un espace qui ne peut
+# pas servir de rupture à la ligne) avant le point d'exclamation, le
+# point d'interrogation, le deux-points, le point virgules, et pour les
+# "quantités", entre le nombre et l'unité abbrégée (par exemple "10 g").
+# L'espace normal en ISO et UTF8 est le caractere 0x20 tandis que l'espace
+# insécable est le caractère 0xA0. Sous Emacs en utilisant le po mode
+# livré avec gettext >= 0.10.40-4mdk vous pouvez voir celui-ci avec un
+# fond de couleur spécial. Sous Vi celui-ci est normalement affiché
+# précédé du caractère pipe "|". Pour le taper sous la plupart des
+# éditeurs, vous pouvez utiliser la touche "Compose" puis en tapant
+# deux espaces. Si vous n'avez pas de touche compose, vous pouvez
+# donner cette fonction à la touche "Windows" droite de votre clavier
+# avec la commande suivante :
+# xmodmap -e 'keycode 116 = Multi_key'
+#
+# Les guillemets françaises sont « et » et non ". La guillemet ouvrante
+# « est suivie d'un espace insécable et la guillemet fermante » est
+# précédée du même type d'espace. Pour le taper, vous pouvez utiliser
+# la combinaison Compose < <, et Compose > > (ou alt-z et alt-x).
+#
+# Enfin, traduisez INTELLIGEMMENT et non mot à mot. Certaines traductions
+# n'ont aucun sens en français.
+#
+# MOTS À ÉVITER
+# - application. Ce terme n'étant pas compris par le grand public, il est
+# préférable de le remplacer par le mot "programme".
+#
+# Nous vous remercions de votre compréhension.
+#
+#
+#
+# Stéphane Teletchéa, 2005.
+# David BAUDENS <baudens@mandriva.com>, 1999-2004.
+# David ODIN <odin@mandriva.com>, 2000.
+# Pablo Saratxaga <pablo@mandriva.com>, 2001, 2005.
+# KAtiOS <katios@nolabel.net>, 2001.
+# Guillaume Cottenceau <gc@mandriva.com>, 2001-2002.
+# Thierry Vignaud <tvignaud@mandriva.com>, 2001-2004.
+# Christophe Combelles <ccomb@free.fr>, 2002,2003.
+# Adrien REZER <monsieurdidi@free.fr>, 2003.
+# RICHARD Nicolas <richardnicolas22@yahoo.fr>, 2004.
+# Lecureuil Nicolas <n1c0l4s.l3@wanadoo.fr>, 2004.
+# Teletchéa <steletch@free.fr>, 2004, 2005.
+# Christophe Berthelé <cpjc@free.fr>, 2005, 2006.
+# Didier Hérisson <didier.herisson@angstrom.uu.se>, 2005.
+# Nicolas Lécureuil <neoclust@mandriva.org>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-23 02:02+0100\n"
+"Last-Translator: Lécureuil Nicolas <neoclust@mandriva.org>\n"
+"Language-Team: Français <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11\n"
+"Plural-Forms: nplurals=2;plural=(n>1);\n"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Avant d'aller plus loin, il est fortement recommandé de lire attentivement\n"
+"les termes et conditions d'utilisation de la licence. Celle-ci régit\n"
+"l'ensemble de la distribution Mandriva Linux. Si vous en acceptez tous les\n"
+"termes, cochez la case « %s », sinon, cliquez sur le bouton « %s » pour\n"
+"redémarrer votre ordinateur."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux est un système multi-utilisateurs, ce qui signifie généralement\n"
+"que chaque utilisateur peut avoir des préférences différentes, ses propres\n"
+"fichiers, etc. Contrairement à « root » qui a tous les droits, les\n"
+"utilisateurs que vous ajouterez ici n'auront que des permissions pour agir\n"
+"sur leurs propres fichiers exclusivement. L'utilisateur / administrateur\n"
+"devrait également se créer un compte « normal ». C'est à travers cet\n"
+"utilisateur que celui-ci devrait se connecter pour accomplir ses tâches\n"
+"quotidiennes. Car, bien qu'il soit pratique d'avoir tous les accès, cette\n"
+"situation peut également engendrer des situations désastreuses si un\n"
+"fichier est détruit par inadvertance. Un utilisateur normal n'ayant pas\n"
+"accès aux fichiers sensibles, ne peut causer de dommages majeurs.\n"
+"\n"
+"Il faut d'abord entrer le vrai nom de la personne. Évidemment, vous pouvez\n"
+"y inscrire n'importe quoi. DrakX prendra le premier mot inséré et le\n"
+"transposera comme « %s ». C'est le nom qui sera utilisé pour se connecter\n"
+"au système. Vous pouvez le modifier. Il faut maintenant entrer un mot de\n"
+"passe. Celui-ci n'est pas aussi crucial que le mot de passe de « root »,\n"
+"mais ce n'est pas une raison pour rentrer 123456. Après tout, ceci mettrait\n"
+"vos fichiers en péril.\n"
+"\n"
+"Après avoir cliqué sur « %s », il vous sera possible d'ajouter d'autres\n"
+"utilisateurs. Créez un utilisateur différent pour chaque personne devant\n"
+"utiliser votre ordinateur. Une fois chaque utilisateur défini, cliquez sur\n"
+"« %s ».\n"
+"\n"
+"En cliquant sur « %s », vous pourrez sélectionner un « shell » différent\n"
+"pour cet utilisateur (bash est assigné par défaut).\n"
+"\n"
+"Lorsque vous avez fini d'installer tous les utilisateurs, il vous est\n"
+"proposé de choisir un utilisateur qui sera automatiquement connecté lors du\n"
+"démarrage de l'ordinateur. Si cela vous intéresse (et que la sécurité\n"
+"locale ne soit pas trop un problème), choisissez l'utilisateur et le\n"
+"gestionnaire de fenêtres, puis cliquez sur « %s ». Si cela ne vous\n"
+"intéresse pas, décochez la case « %s »."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voulez-vous utiliser cette fonctionnalité ?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"La liste présentée plus haut identifie les partitions GNU/Linux détectées\n"
+"sur votre système. Vous pouvez accepter les choix proposés par l'assistant,\n"
+"qui s'avèrent bons dans la grande majorité des cas. Si vous faites un\n"
+"changement, vous devez au moins avoir une partition racine root (« / »).\n"
+"Prenez garde de vous réserver suffisamment d'espace pour installer toutes\n"
+"les applications qui vous intéressent. Si vous souhaitez stocker les "
+"données\n"
+"des utilisateurs sur une partition spécifique, vous devrez également créer\n"
+"une partition « /home ». Cependant, ceci ne sera possible que si vous\n"
+"disposez de plus d'une partition GNU/Linux disponible.\n"
+"\n"
+"Chaque partition est listée comme suit : « Nom », « Capacité ».\n"
+"\n"
+"Le « Nom » est structuré ainsi : « type de disque dur », « numéro du disque\n"
+"dur », « numéro de partition ». Par exemple, « hda1 ».\n"
+"\n"
+"Le « type de disque dur » correspond à hd si votre disque est IDE. Pour un\n"
+"disque SCSI, vous lirez « sd ».\n"
+"\n"
+"Le « numéro du disque » est toujours listé après le « hd » ou « sd ». Pour "
+"les\n"
+"disques durs IDE :\n"
+"\n"
+" * « a » signifie « disque primaire maître sur le premier contrôleur IDE »;\n"
+"\n"
+" * « b » signifie le « disque primaire esclave sur le premier contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « c » indique le « disque primaire maître sur le second contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « d » signifie le « disque primaire esclave sur le second contrôleur\n"
+"IDE »;\n"
+"\n"
+"Avec les disques SCSI, le « a » indique le plus petit SCSI ID, et « b » le\n"
+"« deuxième plus petit ID », etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Les paquetages requis à l'installation de Mandriva Linux sont distribués "
+"sur\n"
+"plusieurs CD-ROM. Si un paquetage requis se trouve sur un autre CD-ROM,\n"
+"DrakX éjectera celui présent dans le lecteur et vous demandera d'insérer le\n"
+"CD-ROM approprié. Si vous ne possédez pas le CD demandé, cliquez tout\n"
+"simplement sur « %s », et les paquetages correspondants ne seront pas\n"
+"installés."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"C'est maintenant le moment de choisir les paquetages qui seront installés\n"
+"sur votre système. Sachez que Mandriva Linux contient plusieurs milliers de\n"
+"paquetages à installer, et ces paquetages ont été rangés par groupes chacun\n"
+"correspondant à un usage particulier de l'ordinateur.\n"
+"\n"
+"Mandriva Linux range ces groupes en quatre catégories. Vous pouvez mélanger\n"
+"des groupes de plusieurs catégories de sorte qu'« une station de travail »\n"
+"peut toujours proposer des applications pour la catégorie « Serveur ».\n"
+"\n"
+" * « %s » : si vous comptez utiliser votre machine ainsi, sélectionner un\n"
+"ou plusieurs groupes y correspondant.\n"
+"\n"
+" * « %s » : si votre système doit être utilisé pour la programmation,\n"
+"choisissez les groupes désirés. Le groupe spécial « LSB » configurera votre\n"
+"système de manière à ce qu'il corresponde le plus possible avec la Linux\n"
+"Standard Base.\n"
+"\n"
+" Si vous choisissez le groupe « LSB », cela installera aussi les séries\n"
+"de noyau « 2.4 » au lieu de celles par défaut « 2.6 ». Ceci afin d'assurer\n"
+"une compatibilité LSB maximale. Cependant, si vous ne sélectionnez pas ce\n"
+"groupe « LSB » vous aurez quand même un système presque entièrement\n"
+"compatible LSB.\n"
+"\n"
+" * « %s » : enfin, si votre système doit fonctionner en tant que serveur,\n"
+"vous pourrez sélectionner les services que vous voulez installer.\n"
+"\n"
+" * « %s » : ce groupe vous permettra de déterminer quel environnement\n"
+"graphique vous voulez avoir sur votre système. Évidemment, il vous en faut\n"
+"au moins un pour utiliser votre station en mode graphique.\n"
+"\n"
+"En plaçant votre souris au-dessus d'un nom de groupe, vous verrez\n"
+"apparaître une courte description de ce groupe.\n"
+"\n"
+"Vous pouvez enfin cocher l'option « %s ». Cette option est à utiliser si\n"
+"vous connaissez exactement le paquetage désiré ou si vous voulez avoir le\n"
+"contrôle total de votre installation.\n"
+"\n"
+"Si vous avez démarré l'installation en mode « %s », vous pouvez\n"
+"« désélectionner » tous les groupes afin d'éviter l'installation de\n"
+"nouveaux programmes. Cette option est très utile pour restaurer un système\n"
+"défectueux ou le mettre à jour.\n"
+"\n"
+"Si vous désélectionnez tous les groupes lors d'une installation standard\n"
+"(en opposition à une mise à jour), une boîte de dialogue apparaîtra et vous\n"
+"proposera différentes options pour une installation minimale :\n"
+"\n"
+" * « %s » : installe le moins de paquetages possible pour avoir un\n"
+"environnement de travail graphique ;\n"
+"\n"
+" * « %s » : installe le système de base plus certains utilitaires de base\n"
+"et leur documentation. Cette installation est utilisable comme base pour\n"
+"monter un serveur ;\n"
+"\n"
+" * « %s » : installera le strict minimum nécessaire pour obtenir un système\n"
+"GNU/Linux fonctionnel, en ligne de commande. Cette installation prend à peu\n"
+"près 65 Mo."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Mise à jour"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Avec la documentation de base"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installation réellement minimale"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Enfin, si vous avez choisi de sélectionner individuellement les paquetages\n"
+"à installer, DrakX vous présentera un arbre contenant tous les paquetages,\n"
+"classés par groupes et sous-groupes. En navigant à travers l'arbre, vous\n"
+"pouvez sélectionner des groupes, des sous-groupes ou des paquetages\n"
+"individuels.\n"
+"\n"
+"Dès que vous sélectionnez un paquetage dans l'arbre, une description\n"
+"apparaît à droite.\n"
+"\n"
+"!! Si un paquetage serveur a été sélectionné, vous devrez confirmer que\n"
+"vous voulez vraiment que celui-ci soit installé. Sous Mandriva Linux , par\n"
+"défaut, tous les services installés sont lancés au démarrage. Malgré tous\n"
+"les efforts investis pour vous livrer une distribution Linux sécurisée, il\n"
+"est possible que certaines failles de sécurité affectent les serveurs\n"
+"installés au-delà de la date de publication. Si vous ne savez pas\n"
+"précisément à quoi sert un service en particulier ou pourquoi il est\n"
+"installé, cliquez sur « %s ». En cliquant sur « %s », le serveur sera\n"
+"installé et le service rendu disponible au démarrage. !!\n"
+"\n"
+"L'option « %s » désactive les avertissements qui apparaissent à chaque fois\n"
+"que l'installeur sélectionne un nouveau paquetage. Parfois, pour qu'un\n"
+"paquetage soit fonctionnel, il faut en installer un autre dont il est\n"
+"dépendant. DrakX détermine ces dépendances entre paquetages pour une\n"
+"installation complète.\n"
+"\n"
+"La petite icône de disquette qui apparaît au bas de la liste permet de\n"
+"récupérer une liste de paquetages sélectionnés durant une autre\n"
+"installation. En cliquant dessus, on vous demandera d'insérer la disquette\n"
+"créée lors d'une installation précédente. Voir la deuxième astuce de la\n"
+"dernière étape afin de savoir comment créer une telle disquette."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dépendances automatiques"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"« %s » : en cliquant sur « %s », l'outil de configuration d'impression sera\n"
+"démarré. Consultez le chapitre correspondant du « Guide de démarrage » pour\n"
+"plus de renseignements. L'interface qui y est documentée est similaire à\n"
+"celle rencontrée lors de l'installation."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Vous pouvez maintenant choisir les services disponibles au démarrage de\n"
+"votre système.\n"
+"\n"
+"Ici sont présentés tous les services disponibles avec l'installation en\n"
+"place. Faites une bonne vérification et enlevez tout ce qui n'est pas\n"
+"absolument nécessaire au démarrage du système.\n"
+"\n"
+"Vous pouvez obtenir une courte explication des services en les\n"
+"sélectionnant spécifiquement. Cela dit, si vous n'êtes pas sûr de\n"
+"l'application d'un service, conservez les paramètres par défaut.\n"
+"\n"
+"!! À cette étape, soyez particulièrement attentif dans le cas d'un système\n"
+"destiné à agir comme serveur. Dans ce cas, vous voudrez probablement\n"
+"permettre exclusivement les services nécessaires. Souvenez-vous que\n"
+"certains services peuvent s'avérer dangereux s'il sont activés sur un\n"
+"serveur. En général, n'installez que les services dont vous avez absolument\n"
+"besoin. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manipule l'heure au format GMT (« Greenwich Mean Time ») et la\n"
+"convertit en temps local selon le fuseau horaire choisi. Il est néanmoins\n"
+"possible de désactiver cela en désélectionnant « %s » de façon à ce que\n"
+"GNU/Linux sache que l'horloge matérielle est la même que celle du système.\n"
+"Cela est particulièrement utile si la machine accueille un autre système\n"
+"d'exploitation.\n"
+"\n"
+"La « %s » permet de régler l'heure automatiquement en se connectant à un\n"
+"serveur de temps sur Internet. Dans la liste qui est alors présentée,\n"
+"choisissez un serveur géographiquement proche de vous. Vous devez bien\n"
+"entendu avoir une connexion Internet pour que cela fonctionne. Cela\n"
+"installera en fait sur votre machine un serveur de temps local qui pourra,\n"
+"en option, être lui-même utilisé par d'autres machines de votre réseau\n"
+"local."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Synchronisation automatique de l'horloge"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Carte graphique\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement la\n"
+"carte graphique présente sur votre machine. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste la carte que vous utilisez effectivement.\n"
+"\n"
+" Dans le cas où différents serveurs seraient disponibles pour votre\n"
+"carte, avec ou sans accélération 3D, il vous est alors proposé de choisir\n"
+"le serveur qui vous conviendra le mieux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (pour le système X Window) est le coeur de votre interface graphique sous\n"
+"GNU/Linux. Tous les environnements graphiques (KDE, GNOME, WindowMaker\n"
+"etc.) présents sur Mandriva Linux dépendent de X.\n"
+"\n"
+"Il vous sera présenté une liste de divers paramètres à changer pour obtenir\n"
+"un affichage optimal :\n"
+"\n"
+"Carte graphique\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement la\n"
+"carte graphique présente sur votre machine. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste la carte que vous utilisez effectivement.\n"
+"\n"
+" Dans le cas où différents serveurs seraient disponibles pour votre\n"
+"carte, avec ou sans accélération 3D, il vous est alors proposé de choisir\n"
+"le serveur qui vous conviendra le mieux.\n"
+"\n"
+"\n"
+"\n"
+"Moniteur\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement les\n"
+"moniteurs connectés à votre unité centrale. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste le moniteur que vous utilisez\n"
+"effectivement.\n"
+"\n"
+"\n"
+"\n"
+"Résolution\n"
+"\n"
+" Vous pouvez choisir ici la résolution et nombre de couleurs parmi celles\n"
+"disponibles pour votre matériel. Choisissez la configuration optimale pour\n"
+"votre utilisation (vous pourrez néanmoins modifier cela après\n"
+"l'installation). Un échantillon de la configuration choisie apparaît dans\n"
+"le dessin du moniteur.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Selon votre matériel cette option peut ne pas apparaître.\n"
+"\n"
+" le système va ici essayer d'ouvrir un écran graphique à la résolution\n"
+"choisie. Si vous pouvez voir le message pendant le test, et répondez\n"
+"« %s », alors DrakX passera à l'étape suivante. Si vous ne pouvez pas voir\n"
+"de message, cela signifie que vos paramètres sont incompatibles, et le test\n"
+"se terminera automatiquement après 12 secondes. Changez la configuration\n"
+"jusqu'à obtenir un affichage correct lors du test.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" Vous pourrez également choisir ici de démarrer l'interface graphique au\n"
+"lancement de la machine. Il est préférable de choisir « %s » si vous êtes\n"
+"en train d'installer un serveur, ou si vous n'avez pas réussi à configurer\n"
+"l'écran correctement."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Moniteur\n"
+"\n"
+" Le programme d'installation détecte et configure automatiquement les\n"
+"moniteurs connectés à votre unité centrale. Si ce n'est pas le cas, vous\n"
+"pouvez choisir dans cette liste le moniteur que vous utilisez\n"
+"effectivement."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Résolution\n"
+"\n"
+" Vous pouvez choisir ici la résolution et nombre de couleurs parmi celles\n"
+"disponibles pour votre matériel. Choisissez la configuration optimale pour\n"
+"votre utilisation (vous pourrez néanmoins modifier cela après\n"
+"l'installation). Un échantillon de la configuration choisie apparaît dans\n"
+"le dessin du moniteur."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Dans le cas où différents serveurs seraient disponibles pour votre carte,\n"
+"avec ou sans accélération 3D, il vous est alors proposé de choisir le\n"
+"serveur qui vous conviendra le mieux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Options\n"
+"\n"
+" Vous pourrez également choisir ici de démarrer l'interface graphique au\n"
+"lancement de la machine. Il est préférable de choisir « %s » si vous êtes\n"
+"en train d'installer un serveur, ou si vous n'avez pas réussi à configurer\n"
+"l'écran correctement."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Cette étape vous permet de déterminer précisément l'emplacement de votre\n"
+"installation de Mandriva Linux. Si votre disque est vide ou utilisé par un\n"
+"autre système d'exploitation, vous devrez repartitionner votre disque.\n"
+"Partitionner un disque désigne l'opération consistant à le diviser\n"
+"précisément afin de créer un espace pour votre installation.\n"
+"\n"
+"Comme les effets du partitionnement sont irréversibles (l'ensemble du\n"
+"disque est effacé), le partitionnement est généralement intimidant et\n"
+"stressant pour un utilisateur inexpérimenté. Heureusement, un assistant a\n"
+"été prévu à cet effet. Avant de commencer, lisez le reste de ce document et\n"
+"surtout, prenez votre temps.\n"
+"\n"
+"Selon la configuration de votre disque, plusieurs options sont "
+"disponibles :\n"
+"\n"
+"\n"
+" * « %s » : cette option tentera simplement de partitionner automatiquement\n"
+"l'espace inutilisé sur votre disque. Il n'y aura pas d'autre question.\n"
+"\n"
+" * « %s » : l'assistant a détecté une ou plusieurs partitions Linux\n"
+"existant sur votre disque. Si vous voulez les utiliser, choisissez cette\n"
+"option. Il vous sera alors demandé de choisir les points de montage\n"
+"associés à chacune des partitions. Les anciens points de montage sont\n"
+"sélectionnés par défaut, et vous devriez généralement les garder.\n"
+"\n"
+" * « %s » : si Microsoft Windows est installé sur votre disque et en prend\n"
+"toute la place vous devez faire de la place pour votre installation\n"
+"GNU/Linux. Pour ce faire, vous pouvez tout effacer (voir « effacer tout le\n"
+"disque ») ou vous pouvez redimensionner la partition Windows FAT ou NTFS.\n"
+"Le redimensionnement peut être effectué sans pertes de données, à condition\n"
+"que vous ayez préalablement défragmenté la partition Windows. Une\n"
+"sauvegarde de vos données ne fera pas de mal non plus. Cette solution est\n"
+"recommandée pour faire cohabiter Mandriva Linux et Microsoft Windows sur le\n"
+"même ordinateur.\n"
+"\n"
+" Avant de choisir cette option, il faut comprendre qu'après cette\n"
+"procédure l'espace disponible pour Windows sera réduit. Vous aurez moins\n"
+"d'espace pour installer des logiciels ou sauvegarder de l'information avec\n"
+"Windows.\n"
+"\n"
+" * « %s » : si vous voulez effacer toutes les données et les applications\n"
+"installées sur votre système et les remplacer par votre nouveau système\n"
+"Mandriva Linux, choisissez cette option. Soyez prudent, car ce choix est\n"
+"irréversible et permanent. Il vous sera impossible de retrouver vos données\n"
+"effacées.\n"
+"\n"
+" !! En choisissant cette option, l'ensemble du contenu de votre disque\n"
+"sera détruit. !!\n"
+"\n"
+" * « %s » : ce choix apparaît lorsque l'intégralité du disque dur est "
+"occupé\n"
+"par Microsoft Windows. Choisir cette option effacera tout simplement ce que\n"
+"contient le disque et recommencera à zéro. Toutes les données et les\n"
+"programmes présents sur le disque seront effacés.\n"
+"\n"
+" !! En choisissant cette option, l'ensemble de votre disque sera effacé\n"
+"!!\n"
+"\n"
+" * « %s » : permet de partitionner manuellement votre disque. Soyez\n"
+"prudent, car bien que plus puissante, cette option est dangereuse. Vous\n"
+"pouvez facilement perdre l'ensemble du contenu d'un disque. Donc, ne\n"
+"choisissez pas cette option si vous ne savez pas exactement ce que vous\n"
+"devez faire. Pour en savoir plus sur DiskDrake, référez-vous à « Gérer ses\n"
+"partitions » du « Guide de démarrage »."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Utiliser une partition existante"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Effacer tout le disque"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Votre installation de Mandriva Linux est maintenant terminée et votre\n"
+"système est prêt à être utilisé. Cliquez sur « %s » pour le redémarrer.\n"
+"N'oubliez pas de retirer la source d'installation(CD-ROM ou disquette).\n"
+"La première chose que vous verrez alors, après que l'ordinateur ait \n"
+"fait ses propres tests matériels, est le menu de démarrage permettant\n"
+"de choisir quel système lancer parmi ceux présents sur votre machine.\n"
+"\n"
+"Le bouton « %s » permet deux autres options :\n"
+"\n"
+" * « %s » : Pour créer une disquette d'installation qui permettra de\n"
+"reproduire l'installation que vous venez de réaliser sans l'aide d'un\n"
+"administrateur.\n"
+"\n"
+" Notez que les deux options suivantes apparaissent après avoir cliqué sur\n"
+"le bouton :\n"
+"\n"
+" * « %s ». C'est une installation partiellement automatique où il est\n"
+"possible de personnaliser le partitionnement du disque (exclusivement).\n"
+"\n"
+" * « %s ». Complètement automatique, cette installation reformate le\n"
+"disque au complet.\n"
+"\n"
+" Cette fonctionnalité est pratique pour l'installation de multiples\n"
+"systèmes. Voir la section Auto install de notre site Internet.\n"
+"\n"
+" * « %s » (*) sauvegarde la sélection des paquetages installés. Puis,\n"
+"lorsque vous ferez une autre installation, insérez la disquette dans le\n"
+"lecteur et accédez au menu d'aide en tapant [F1], entrez la commande\n"
+"suivante : « linux defcfg=\"floppy\" »et appuyez sur la touche [Entrée].\n"
+"\n"
+"(*) Vous avez besoin d'une disquette formatée avec FAT (pour la créer sous\n"
+"Linux, tapez « mformat a: » ou « fdformat /dev/fd0 » suivi de « mkfs.vfat\n"
+"/dev/fd0 »)"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Créer une disquette d'installation automatique"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si vous choisissez de réutiliser des partitions GNU/Linux existantes, vous\n"
+"pouvez en reformater quelques unes et effacer les données présentes. Vous\n"
+"devrez alors les sélectionner.\n"
+"\n"
+"Sachez qu'il n'est pas nécessaire de reformater toutes les partitions\n"
+"existantes. Vous devez formater les partitions contenant le système\n"
+"d'exploitation (comme « / », « /usr » ou « /var », mais il n'est pas\n"
+"nécessaire de formater les partitions de données, notamment « /home »...\n"
+"\n"
+"Soyez prudent. Une fois que les partitions sélectionnées seront\n"
+"reformatées, il sera impossible de récupérer les données.\n"
+"\n"
+"Cliquez sur « %s » lorsque vous êtes prêt à formater les partitions.\n"
+"\n"
+"Cliquez sur « %s » pour choisir une autre partition où installer votre\n"
+"nouveau système d'exploitation Mandriva Linux.\n"
+"\n"
+"Cliquez sur « %s » si vous désirez sélectionner des partitions pour une\n"
+"vérification des secteurs défectueux (« Bad Blocks »)."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Au moment où vous installez Mandriva Linux, il est possible que certains\n"
+"paquetages aient été mis à jour depuis la sortie du produit. Des bogues ont\n"
+"pu être corrigés, et des problèmes de sécurité résolus. Pour vous permettre\n"
+"de bénéficier de ces mises à jour, il vous est maintenant proposé de les\n"
+"télécharger depuis Internet. Choisissez « %s » si vous avez une connexion\n"
+"Internet, ou « %s » si vous préférez installer les mises à jour plus tard.\n"
+"\n"
+"En choisissant « %s », la liste des sites depuis lesquels les mises à jour\n"
+"peuvent être téléchargées est affichée. Choisissez le site le plus proche\n"
+"de chez vous. Puis un arbre de choix des paquetages apparaît : vérifiez la\n"
+"sélection, puis cliquez sur « %s » pour télécharger et installer les mises\n"
+"à jour sélectionnées, ou « %s » pour abandonner."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"À cette étape, DrakX vous permettra de déterminer le niveau de sécurité\n"
+"requis par votre système. Il se détermine en fonction de l'exposition du\n"
+"système à d'autres utilisateurs (s'il est connecté directement sur\n"
+"Internet, par exemple) et selon le niveau de sensibilité de l'information\n"
+"contenue dans le système. Sachez toutefois que plus la sécurité d'un\n"
+"système est élevée, plus il est complexe à utiliser.\n"
+"\n"
+"Si vous ne savez pas quel niveau choisir, gardez la sélection par défaut.\n"
+"Vous pourrez le modifier ultérieurement avec l'outil draksec, qui se trouve\n"
+"dans le Centre de Contrôle Mandriva Linux\n"
+"\n"
+"Remplissez le champ « %s » avec l'adresse électronique de l'utilisateur qui\n"
+"sera responsable de la sécurité. Les messages de sécurité lui seront\n"
+"adressés."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrateur sécurité"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"À cette étape, vous devez sélectionner quelle partition sera utilisée pour\n"
+"votre système Mandriva Linux. Si votre disque est déjà partitionné, soit "
+"par\n"
+"une autre installation GNU/Linux ou par un autre outil de partitionnement,\n"
+"vous pourrez les utiliser. Sinon, les partitions devront être créées.\n"
+"\n"
+"Pour créer une partition, vous devez d'abord sélectionner le disque à\n"
+"utiliser. Vous pouvez le sélectionner en cliquant sur « hda » pour le\n"
+"premier disque IDE, « hdb », pour le second, « sda » pour le premier disque\n"
+"SCSI, et ainsi de suite.\n"
+"\n"
+"Pour partitionner le disque dur sélectionné, vous pouvez utiliser les\n"
+"options suivantes :\n"
+"\n"
+" * « %s » : cette option effacera toutes les partitions sur le disque\n"
+"sélectionné;\n"
+"\n"
+" * « %s » : cette option permet de créer un système de ficher ext3 et\n"
+"« Swap » dans l'espace libre sur votre disque;\n"
+"\n"
+"« %s » : permet d'accéder à des fonctionnalités supplémentaires :\n"
+"\n"
+" * « %s » : sauvegarde la table de partition sur un disque amovible. Cette\n"
+"option s'avère particulièrement pratique pour réparer des partitions\n"
+"endommagées. Il est fortement recommandé de procéder ainsi;\n"
+"\n"
+" * « %s » : permet de restaurer une table de partition sauvegardée au\n"
+"préalable sur une disquette.\n"
+"\n"
+" * « %s » : si votre table de partition est endommagée, vous pouvez essayer\n"
+"de la récupérer avec ces options. Soyez prudent et sachez que cela ne\n"
+"fonctionne pas à coup sûr.\n"
+"\n"
+" * « %s » : écarte les changements et charge la table de partition "
+"initiale;\n"
+"\n"
+" * « %s » : en cochant cette case, les CD-ROM et disquettes (et autres\n"
+"supports) seront chargés automatiquement.\n"
+"\n"
+" * « %s » : utilisez cette option si vous souhaitez utiliser un assistant\n"
+"pour partitionner votre disque. Cette option est particulièrement\n"
+"recommandée si vous faites vos premiers pas avec les partitions.\n"
+"\n"
+" * « %s » : utilisez cette option pour annuler vos changements;\n"
+"\n"
+" * « %s » : permet des actions supplémentaires sur les partitions (type,\n"
+"options, format) et donne plus d'informations;\n"
+"\n"
+" * « %s » : une fois le partitionnement terminé, ce bouton vous permettra "
+"de\n"
+"sauvegarder vos changements sur le disque.\n"
+"\n"
+"Lorsque vous définissez la taille d'une partition, vous pouvez choisir\n"
+"précisément la taille de celle-ci en utilisant les Flèches de votre\n"
+"clavier.\n"
+"\n"
+"Note : vous pouvez atteindre toutes les options en utilisant le clavier.\n"
+"Naviguer avec les flèches et [Tab].\n"
+"\n"
+"Une fois la partition sélectionnée, vous pouvez utiliser :\n"
+"\n"
+" * Ctrl-c pour créer un nouvelle partition (lorsqu'une partition vide est\n"
+"sélectionnée;\n"
+"\n"
+" * Ctrl-d pour effacer une partition;\n"
+"\n"
+" * Ctrl-m pour définir le « mount point »\n"
+"\n"
+"Pour obtenir plus d'information sur les systèmes de fichiers, veuillez lire\n"
+"sur le système de fichier ext2FS dans « Manuel de Référence ».\n"
+"\n"
+"Si vous installez sur un poste PPC, vous devrez créer une petite partition\n"
+"HFS « bootstrap » d'au moins 1 Mo qui sera utilisée par le chargeur de\n"
+"démarrage (« bootloader ») yaboot. Si vous optez pour une partition plus\n"
+"grande, disons 50Mo, vous trouverez utile d'y placer des noyaux et des\n"
+"images « ramdisk » accessibles en cas de problème."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Auto-montage des périphériques amovibles"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Basculer entre les modes expert et normal"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Plus d'une partition Windows a été détectée sur votre disque dur. Veuillez\n"
+"choisir celle que vous choisissez pour votre nouvelle installation de\n"
+"Mandriva Linux.\n"
+"\n"
+"Chaque partition est identifiée comme suit : « Nom Linux », « Nom "
+"Windows »,\n"
+"« Capacité ».\n"
+"\n"
+"Le « Nom » est structuré ainsi : « type de disque dur », « numéro du disque\n"
+"dur », « numéro de partition ». Par exemple, « hda1 ».\n"
+"\n"
+"Le « Type de disque dur » correspond à « hd » si votre disque est IDE. Pour "
+"un\n"
+"disque SCSI, vous lirez « sd ».\n"
+"\n"
+"Le numéro du disque est toujours listé après le « hd » ou « fd ». Pour les\n"
+"disques IDE :\n"
+"\n"
+" * « a » signifie « disque primaire maître sur le premier contrôleur IDE »;\n"
+"\n"
+" * « b » signifie « disque primaire esclave sur le premier contrôleur\n"
+"IDE »;\n"
+"\n"
+" * « c » indique « disque primaire maître sur le second contrôleur IDE »;\n"
+"\n"
+" * « d » signifie « disque primaire esclave sur le second contrôleur IDE »;\n"
+"\n"
+"Avec les disques SCSI, le « a » indique le plus petit SCSI ID, et ainsi de\n"
+"suite.\n"
+"\n"
+"« Nom Windows » c'est la lettre assignée à votre disque, (le premier\n"
+"disque ou partition « C: »)"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"« %s » : vérifiez la sélection du pays. Si vous ne vous trouvez pas dans ce\n"
+"pays, cliquez sur le bouton « %s » et choisissez le bon. Si votre pays ne\n"
+"se trouve pas dans la première liste, cliquez sur « %s » pour avoir la\n"
+"liste complète."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Cette étape ne s'affichera que si une partition GNU/Linux a été détectée\n"
+"sur votre disque dur.\n"
+"\n"
+"DrakX doit maintenant savoir si vous désirez lancer une « Installation » ou "
+"une\n"
+"« Mise à jour » d'un système Mandriva Linux déjà installé :\n"
+"\n"
+" * « %s » : remplace l'ancien système. Cependant, selon votre table de\n"
+"partition, vous pourrez éviter l'effacement de vos données existantes\n"
+"(notamment les répertoires « home »). Si vous souhaitez changer le\n"
+"partitionnement de vos disques durs, ou changer votre système de fichiers,\n"
+"vous devriez utiliser cette option.\n"
+"\n"
+" * « %s » : cette classe d'installation vous permet de mettre à jour\n"
+"seulement les paquetages qui composent votre système Mandriva Linux. Elle\n"
+"conserve les partitions existantes, ainsi que la configuration des\n"
+"utilisateurs. La plupart des autres étapes d'une installation classique\n"
+"sont accessibles.\n"
+"\n"
+"La mise à jour devrait fonctionner correctement pour les systèmes\n"
+"Mandriva Linux à partir de la version « 8.1 ». Essayer de lancer une mise à\n"
+"jour sur les versions antérieures à « 8.1 » n'est pas recommandé."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Selon la langue principale que vous avez choisie précédemment (), DrakX\n"
+"sélectionnera le clavier approprié. Vérifiez que cela correspond\n"
+"effectivement à votre configuration de clavier ou choisissez une autre\n"
+"configuration dans la liste.\n"
+"\n"
+"Cela dit, il est possible que vous ayez un clavier ne correspondant pas\n"
+"exactement à votre langue d'utilisation. Par exemple, si vous habitez le\n"
+"Québec et parlez le français et l'anglais, vous pouvez vous trouver dans la\n"
+"situation où votre langue et votre configuration de clavier ne sont pas les\n"
+"mêmes. Dans ces cas, cette étape vous permet de sélectionner un autre\n"
+"clavier à partir de la liste.\n"
+"\n"
+"Cliquez sur « %s » pour voir toutes les options proposées.\n"
+"\n"
+"Si vous choisissez un clavier basé sur un alphabet non-latin, il vous sera\n"
+"demandé de choisir la combinaison de touches permettant d'alterner entre\n"
+"ceux-ci au prochain écran."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"La première étape consiste à choisir votre langue.\n"
+"\n"
+"Le choix de la langue sera appliqué au programme d'installation, à la\n"
+"documentation et au système en général. Commencez par choisir la région où\n"
+"vous vous situez, puis la langue que vous parlez.\n"
+"\n"
+"En cliquant sur « %s », le programme vous proposera également des langues\n"
+"complémentaires pouvant être installées sur votre poste de travail. En\n"
+"choisissant des langues supplémentaires, le programme vous installera toute\n"
+"la documentation et les applications nécessaires à l'utilisation de ces\n"
+"langues. Par exemple, si vous prévoyez d'accueillir des utilisateurs\n"
+"d'Espagne sur votre machine, choisissez le français comme langue principale\n"
+"dans l'arborescence, et « %s », dans la section avancée.\n"
+"\n"
+"À propos de l'encodage UTF-8 (unicode) : Unicode est un nouveau système\n"
+"d'encodage des caractères censé couvrir tous les langues existantes.\n"
+"Cependant son intégration dans GNU/Linux est encore imparfaite. Pour cette\n"
+"raison, Mandriva Linux l'utilisera ou non selon les critères suivants :\n"
+"\n"
+" * Si vous choisissez une langue avec un encodage ayant une longue histoire\n"
+"(langues associées à « latin1 », Russe, Japonais, Chinois, Coréen, Thaï,\n"
+"Grec, Turc, et la plupart des langues « iso-8859-2 »), l'encodage\n"
+"historique sera utilisé;\n"
+"\n"
+" * Les autres langues entraîneront l'utilisation d'unicode par défaut;\n"
+"\n"
+" * Si vous demandez l'installation de plus d'une langue, et que ces langues\n"
+"n'utilisent pas le même encodage, alors unicode sera utilisé pour tout le\n"
+"système;\n"
+"\n"
+" * Enfin, unicode peut aussi être utilisé quelque soit votre configuration\n"
+"des langues à utiliser, en sélectionnant l'option « %s ».\n"
+"\n"
+"Remarquez que vous n'êtes pas limité à une langue supplémentaire. Vous\n"
+"pouvez en choisir plusieurs, ou même les installer toutes en choisissant\n"
+"« %s ». Choisir le support pour une langue signifie ajouter les\n"
+"traductions, les polices, correcteurs orthographiques, etc.\n"
+"\n"
+"Pour passer d'une langue à l'autre, vous pouvez lancer l'utilitaire\n"
+"« /usr/sbin/localedrake » en tant que « root » pour changer la langue\n"
+"utilisée dans tout le système ; connectez-vous en simple utilisateur pour\n"
+"ne changer que la langue de cet utilisateur."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espagnol"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX détecte généralement le nombre de boutons de votre souris. Sinon, il\n"
+"prend pour acquis que vous avez une souris à deux boutons et configurera\n"
+"l'émulation du troisième bouton. Le troisième bouton correspond aux clics\n"
+"simultanés du bouton gauche et du bouton droit de la souris. De plus, DrakX\n"
+"saura automatiquement si vous avez une souris PS/2, série ou USB.\n"
+"\n"
+"Si vous avez une souris à trois boutons sans molette, vous pouvez choisir\n"
+"une souris « %s ». DrakX configurera alors la souris de manière à simuler\n"
+"une molette : pour ce faire, cliquez sur le bouton du milieu et faites\n"
+"bouger votre souris de haut en bas.\n"
+"\n"
+"Si vous désirez installer une souris différente, veuillez la sélectionner à\n"
+"partir de la liste qui vous est proposée.\n"
+"\n"
+"Vous pouvez sélectionner une souris « %s » qu'elle soit PS/2 ou USB pour\n"
+"choisir un type de souris générique qui fonctionne avec presque tout.\n"
+"\n"
+"Si vous sélectionnez une souris différente de celle choisie par défaut,\n"
+"DrakX vous présentera un écran de test. Utilisez les boutons et la molette\n"
+"pour vous assurer que tout fonctionne correctement. Si votre souris ne\n"
+"fonctionne pas normalement, appuyez sur la barre d'espace ou la touche\n"
+"[Entrée] pour annuler le test et retourner à la liste de choix de la\n"
+"souris.\n"
+"\n"
+"Parfois, les souris à molette ne sont pas détectées automatiquement, vous\n"
+"devrez alors sélectionner manuellement une souris dans la liste. Assurez\n"
+"vous de choisir celle qui correspond au bon port de connexion. Après avoir\n"
+"sélectionné la souris et pressé le bouton « %s », une image de souris\n"
+"apparaît. Vous devez alors faire tourner la molette afin de l'activer\n"
+"correctement. Après activation, vous verrez la molette de l'écran bouger.\n"
+"Testez alors que tous les mouvements et boutons fonctionnent correctement."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "avec émulation de la molette"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universelle | N'importe quelle souris PS/2 ou USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Sélectionnez le bon port. Par exemple : l'équivalent du port « COM1 » sur\n"
+"Windows, se nomme « ttyS0 » sous GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Vous devez prendre ici une décision cruciale pour la sécurité de votre\n"
+"système GNU/Linux : vous devez entrer un mot de passe « root ».\n"
+"L'utilisateur « root » est l'administrateur du système qui a tous les\n"
+"droits d'accès aux fichiers de configuration, etc. Il est donc impératif de\n"
+"choisir un mot de passe difficile à deviner (pensez aux systèmes prévus à\n"
+"cet effet qui anticipent les combinaisons communes des utilisateurs). DrakX\n"
+"vous avertira si le mot de passe entré est trop facile à deviner. Comme\n"
+"vous pouvez le voir, il est également possible de ne pas entrer de mot de\n"
+"passe. Nous déconseillons fortement cette pratique. Comme l'erreur est\n"
+"humaine, un utilisateur avec tous les droits peut tout détruire sur votre\n"
+"système, c'est pourquoi le mot de passe doit agir comme barrière à\n"
+"l'entrée.\n"
+"\n"
+"Le mot de passe choisi devrait contenir au moins 8 caractères\n"
+"alphanumériques. Ne jamais écrire le mot de passe « root », forcez-vous à\n"
+"vous en souvenir par coeur.\n"
+"\n"
+"Ne choisissez pas de mot de passe trop long ou trop compliqué, ménagez\n"
+"accessibilité et mémoire : un mot de passe de 30 caractères est presque\n"
+"impossible à mémoriser.\n"
+"\n"
+"Afin d'éviter les regards indiscrets, le mot de passe n'apparaîtra pas à\n"
+"l'écran. Il vous faudra donc l'inscrire deux fois afin d'éviter les erreurs\n"
+"de frappe. Évidemment, si vous faites deux fois la même erreur, celle-ci\n"
+"sera sauvegardée et vous devrez la reproduire afin d'accéder à votre\n"
+"système pour la première fois en tant qu'administrateur.\n"
+"\n"
+"Si vous souhaitez que l'accès à cette machine soit contrôlé par un serveur\n"
+"d'authentification, cliquez sur le bouton « %s ».\n"
+"\n"
+"Si votre réseau utilise soit LDAP, NIS, ou un PDC Windows, choisissez-le\n"
+"comme protocole d'%s. En cas de doute, demandez à votre\n"
+"administrateur réseau.\n"
+"\n"
+"Si vous avez des problèmes à vous souvenir de vos mots de passe, vous\n"
+"pouvez choisir « %s », si votre ordinateur ne sera pas connecté à Internet,\n"
+"et si vous avez confiance en tous ceux qui auront accès à cette machine."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "authentification"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un programme d'amorce est un petit programme qui est lancé par la machine\n"
+"au démarrage. Il est en charge du démarrage du sytème. Normalement,\n"
+"l'installation d'un programme d'amorce est complètement automatique. DrakX\n"
+"analyse le secteur de démarrage (« master boot record ») et agit en\n"
+"fonction de ce qu'il peut y lire :\n"
+"\n"
+" * si un secteur de démarrage Windows est détecté, il sera remplacé par\n"
+"GRUB/LILO. Donc, vous serez capable de démarrer GNU/Linux ou tout autre\n"
+"système d'exploitation installé sur votre machine.\n"
+"\n"
+" * si GRUB ou LILO est détecté, il sera remplacé par la nouvelle version;\n"
+"\n"
+"En cas de doute, DrakX affiche différentes options. En général, le « %s »\n"
+"est l'endroit le plus sûr. Si vous choisissez « %s », aucun chargeur de\n"
+"démarrage ne sera installé. À vos risques et périls."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Maintenant, il faut choisir un système d'impression pour votre ordinateur. "
+"D'autres\n"
+"systèmes d'exploitation en offrent un, mais Mandriva Linux en propose deux. "
+"Chaque système\n"
+"d'impression convient le mieux à un type différent de configuration.\n"
+"\n"
+" * « %s » - qui veut dire « print, do not queue », (ou, impression sans\n"
+"passer par la file d'attente) est un bon choix si votre imprimante est\n"
+"branchée directement sur votre poste, que vous voulez pouvoir arrêter\n"
+"l'impression directement en cas de problème et que vous n'avez pas\n"
+"d'imprimante réseau. « %s » prendra en charge des configurations simples en "
+"réseau, mais\n"
+"les performances sont plutôt mauvaises dans ces cas. Choisissez «pdq» si "
+"vous\n"
+"débutez sous GNU/Linux.\n"
+"\n"
+" * « %s » - « Common Unix Printing System », est fabuleux autant pour une\n"
+"imprimante locale que pour imprimer à l'autre bout du monde. C'est simple\n"
+"et il peut agir comme un serveur ou un client avec l'ancien système "
+"d'impression « lpd », de ce fait il est compatible avec les anciens\n"
+" systèmes d'exploitations qui nécessitent encore un service d'impression. Il "
+"s'agit d'un outil très puissant et les\n"
+"configurations de base sont aussi simples que « pdq ». Pour émuler un "
+"serveur « lpd », lancez le démon (« daemon ») « cups-lpq ». « %s » qui offre "
+"une interface graphique simple pour imprimer sur et administrer les "
+"imprimantes.\n"
+"\n"
+"Si vous choisissez votre système d'impression maintenant et que par la suite "
+"vous n'en êtes pas content, vous pourrez le changer\n"
+"ultérieurement en lançant PrinterDrake depuis le Centre de contrôle\n"
+"Mandriva Linux en cliquant sur le bouton « %s »."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX détecte maintenant tous les périphériques IDE présents sur votre\n"
+"système. DrakX recherchera aussi les périphériques SCSI. Enfin, selon les\n"
+"composantes détectées, DrakX installera tous les pilotes nécessaires à son\n"
+"fonctionnement.\n"
+"\n"
+"Compte tenu de la vaste gamme de périphériques disponibles sur le marché,\n"
+"dans certains cas la détection de matériel ne fonctionnera pas. Si c'est le\n"
+"cas, vous devrez alors configurer votre matériel à la main.\n"
+"\n"
+"Si vous devez configurer votre carte SCSI manuellement, DrakX vous\n"
+"demandera si vous souhaitez spécifier à la main les options du\n"
+"périphérique. Laissez en fait DrakX chercher automatiquement les options\n"
+"nécessaires à la configuration de votre carte, cela fonctionne\n"
+"généralement.\n"
+"\n"
+"Il peut arriver que DrakX soit incapable de vérifier les options\n"
+"nécessaires. Dans ce cas, vous devrez les déterminer manuellement."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"« %s » : si une carte son a été détectée, elle apparaîtra ici. Si vous\n"
+"remarquez que la carte configurée n'est pas celle qui se trouve\n"
+"effectivement sur votre système, vous pouvez cliquer sur le bouton pour\n"
+"choisir un pilote différent ."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Voici les informations recueillies par DrakX sur la configuration actuelle.\n"
+"Selon le matériel installé, certaines entrées seront présentes et d'autres\n"
+"pas. Chaque paramètre est constitué du nom du matériel installé, suivi d'un\n"
+"court résumé de la configuration actuelle. Cliquez sur le bouton « %s »\n"
+"correspondant pour effectuer un changement.\n"
+"\n"
+" * « %s » : vérifiez la configuration choisie pour le clavier.\n"
+"\n"
+" * « %s » : vérifiez la sélection du pays. Si vous ne vous trouvez pas dans\n"
+"ce pays, cliquez sur le bouton « %s » et choisissez le bon. Si votre pays\n"
+"ne se trouve pas dans la première liste, cliquez sur « %s » pour avoir la\n"
+"liste complète.\n"
+"\n"
+" * « %s » : DrakX, par défaut, configure le fuseau horaire selon le pays\n"
+"dans lequel vous vous trouvez. Cliquez sur le bouton « %s » si ce n'est pas\n"
+"le bon.\n"
+"\n"
+" * « %s » : pour vérifier la configuration actuelle de la souris. Cliquez\n"
+"sur le bouton pour modifier les options.\n"
+"\n"
+" * « %s » : en cliquant sur « %s », l'outil de configuration d'impression\n"
+"sera démarré. Consultez le chapitre correspondant du « Guide de démarrage »\n"
+"pour plus de renseignements. L'interface qui y est documentée est similaire\n"
+"à celle rencontrée lors de l'installation.\n"
+"\n"
+" * « %s » : si une carte son a été détectée, elle apparaîtra ici. Si vous\n"
+"remarquez que la carte configurée n'est pas celle qui se trouve\n"
+"effectivement sur votre système, vous pouvez cliquer sur le bouton pour\n"
+"choisir un pilote différent .\n"
+"\n"
+" * « %s » : si une carte d'entrée/sortie vidéo (carte TV) a été détectée,\n"
+"elle apparaîtra ici. Si vous avez une carte TV et qu'elle n'a pas été\n"
+"détectée, cliquez sur « %s » pour la configurer à la main.\n"
+"\n"
+" * « %s » : si une carte RNIS (ISDN) est détectée, elle apparaîtra ici.\n"
+"Vous pouvez cliquer sur le bouton « %s » pour en modifier les paramètres si\n"
+"vous estimez que la configuration actuelle est inexacte.\n"
+"\n"
+" * « %s » : par défaut, DrakX configure votre interface graphique avec une\n"
+"résolution de « 800x600 » ou « 1024x768 ». Si cela ne vous convient pas,\n"
+"cliquez sur « %s » pour changer la configuration de votre interface\n"
+"graphique.\n"
+"\n"
+" * « %s » : si vous souhaitez configurer votre accès Internet ou réseau\n"
+"local dès maintenant. Lisez la documentation fournie ou exécutez\n"
+"le Centre de Contrôle Mandriva Linux après l'installation pour avoir droit à "
+"une\n"
+"aide complète en ligne.\n"
+"\n"
+" * « %s » : permet de configurer les adresses proxy HTTP et FTP si la\n"
+"machine que vous installez se trouve derrière un serveur proxy.\n"
+"\n"
+" * « %s » : il vous est ici proposé de redéfinir votre niveau de sécurité\n"
+"tel que défini dans une étape précédente ().\n"
+"\n"
+" * « %s » : si vous avez l'intention de connecter votre ordinateur à\n"
+"Internet, c'est une bonne idée de le protéger des intrusions grâce à un\n"
+"pare-feu. Consultez la section correspondante du « Guide de démarrage »\n"
+"pour plus de renseignements.\n"
+"\n"
+" * « %s » : si vous souhaitez changer la configuration par défaut de votre\n"
+"chargeur de démarrage. À réserver aux utilisateurs expérimentés. Lisez la\n"
+"documentation fournie ou l'aide en ligne sur la configuration de chargeur\n"
+"de démarrage présente dans le Centre de Contrôle Mandriva Linux.\n"
+"\n"
+" * « %s » : vous pourrez ici contrôler finement les services disponibles\n"
+"sur votre machine. Si vous envisagez de monter un serveur, c'est une bonne\n"
+"idée de vérifier cette configuration."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Carte RNIS"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface graphique"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Choisissez le disque dur à effacer pour installer votre partition\n"
+"GNU/Linux. Soyez prudent, toute l'information stockée sur le disque sera\n"
+"détruite."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/fr/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Cliquez sur « %s » si vous voulez vraiment effacer toute l'information et\n"
+"les partitions. Soyez prudent, après avoir cliqué sur « %s », vous ne\n"
+"pourrez plus récupérer les données ou les partitions, y compris les données\n"
+"Windows.\n"
+"\n"
+"Cliquez sur « %s » pour renoncer à cette opération sans perdre de données."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Suivant ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Précédent"
+
diff --git a/perl-install/install/help/po/fur.po b/perl-install/install/help/po/fur.po
new file mode 100644
index 000000000..572ae8234
--- /dev/null
+++ b/perl-install/install/help/po/fur.po
@@ -0,0 +1,1110 @@
+# translation of DrakX.po to furlan
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Andrea Gracco <graccoandrea@tin.it>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-06-28 17:41+0200\n"
+"Last-Translator: Andrea Gracco <graccoandrea@tin.it>\n"
+"Language-Team: furlan <gft@freelists.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vuelistu doprâ cheste fature?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr ""
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr ""
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr ""
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr ""
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Eseguìs"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Prossim ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Precedent"
+
diff --git a/perl-install/install/help/po/ga.po b/perl-install/install/help/po/ga.po
new file mode 100644
index 000000000..174f4e59e
--- /dev/null
+++ b/perl-install/install/help/po/ga.po
@@ -0,0 +1,1107 @@
+#
+# Alastair McKinstry <mckinstry@computer.org>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-12 18:04+0200\n"
+"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
+"Language-Team: Irish <ga@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "An mian leat an gné seo a úsáid?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uasghrádú"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Le doiciméadú bunúsach"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Eirigh as Feistiú"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Cumraigh ADSL"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Ag iarraidh an clár-ranna a tarrtháil"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Glan diosca ina iomlán"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Cruthaigh flapach bootáil"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Riarthóir Slándála"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spáinnis"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Luchóg MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "deimniú"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Saineolaí"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Carta ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Comhéadan Grafach"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Teacs ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- feist"
+
diff --git a/perl-install/install/help/po/gl.po b/perl-install/install/help/po/gl.po
new file mode 100644
index 000000000..60fdd27a8
--- /dev/null
+++ b/perl-install/install/help/po/gl.po
@@ -0,0 +1,1948 @@
+# translation of DrakX-help-gl.po to
+# translation of DrakX-help-gl.po to Galician
+# Jesús Bravo Álvarez (mdk) <jba@pobox.com>, 2001.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2004, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-gl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-07-08 20:57+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: <gl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"X-Poedit-Language: Gallegan\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, debe ler atentamente os termos da licenza. Esta\n"
+"licenza cobre toda a distribución Mandriva Linux. Se está de acordo\n"
+"con tódolos termos que contén, marque o cadro \"%s\". Se non o está,\n"
+"prema no botón \"%s\" e reiniciarase o seu ordenador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é un sistema multiusuario o que significa que cada usuario pode\n"
+"ter as súas propias preferencias, os seus propios ficheiros, etc. Pero a\n"
+"diferencia de \"root\", que é o administrador do sistema, os usuarios que\n"
+"engada neste punto non estarán autorizados para cambiar nada agás os\n"
+"seus propios ficheiros e as súas propias configuracións, protexendo o\n"
+"sistema de cambios involuntarios ou malintencionados que poderían afectar\n"
+"a todo o sistema. Terá que crear como mínimo un usuario normal para vostede\n"
+"-- esta é a conta que usará para o uso cotián e rutineiro. Ainda que é moi\n"
+"sinxelo entrar no sistema coma \"root\" para facer calquera cousa, tamén\n"
+"pode ser moi perigoso! Un pequeno erro pode significar que o seu sistema\n"
+"non volva funcionar nunca máis. Se vostede comete un erro moi grave\n"
+"coma un usuario normal, o peor que pode suceder é que perda algunha\n"
+"información, pero non afectará a todo o sistema.\n"
+"\n"
+"O primeiro campo pregúntalle un nome real. Dende logo, isto non é\n"
+"obrigatorio -- actualmente pode introducir o que queira. DrakX collerá a\n"
+"primeira palabra que introduza neste campo e copiaraa ó campo\n"
+"\"%s\", que é o nome que o usuario introducirá para entrar no\n"
+"sistema. Se o desexa, pode non facer caso do predeterminado e cambiar\n"
+"o nome de usuario. O seguinte paso é introducir un contrasinal. Dende\n"
+"o punto de vista da seguridade, o contrasinal dun usuario sen\n"
+"privilexios (normal) non é tan crucial coma o contrasinal de \"root\", pero\n"
+"esa non é razón para descoidarse deixándoa en branco ou poñendo unha\n"
+"moi fácil: despois de todo, pode que os seus ficheiros estean en perigo.\n"
+"\n"
+"Se preme en \"%s\", poderá engadir máis usuarios. Engada un usuario\n"
+"para cada un dos seus amigos, o seu pai, a súa irmá, etc. Prema en\n"
+"\"%s\" cando remate de engadir os usuarios.\n"
+"\n"
+"Se preme no botón \"%s\" poderá cambiar a \"shell\" predeteminada\n"
+"para ese usuario (bash por defecto).\n"
+"\n"
+"Cando remate de engadir os usuarios, diráselle que elixa o usuario que\n"
+"entrará automáticamente no sistema cando se arrinque o ordenador. Se\n"
+"lle interesa esta funcionalidade (e non lle preocupa moito a seguridade\n"
+"local), elixa o usuario e mailo xestor de ventás que desexe, e despois\n"
+"prema en \"%s\". Se non está interesado nesta funcionalidade,\n"
+"desmarque o cadro \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Desexa usar esta funcionalidade?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"As particións listadas aquí son as particións Linux existentes detectadas\n"
+"no seu disco duro. Pode manter a selección feita polo asistente, xa que\n"
+"é boa para as instalacións máis comúns. Se fai algún troco, debe\n"
+"definir como mínimo unha partición raíz (\"/\"). Non escolla unha partición\n"
+"moi pequena ou non poderá instalar o software necesario. Se desexa\n"
+"almacenar os seus datos nunha partición á parte, tamén terá que crear\n"
+"unha partición \"/home\" (só será posible se ten dispoñibles máis dunha\n"
+"partición Linux).\n"
+"\n"
+"Cada partición lístase do seguinte xeito: \"Nome\", \"Capacidade\".\n"
+"\n"
+"\"Nome\" ten a estructura: \"tipo de disco duro\", \"número de disco duro"
+"\",\n"
+"\"número de partición\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"Tipo de disco duro\" é \"hd\" se o seu disco duro é un disco duro IDE e\n"
+"\"sd\" se é un disco duro SCSI.\n"
+"\n"
+"\"Número de disco duro\" é sempre unha letra despois de \"hd\" ou \"sd\".\n"
+"Para os discos duros IDE é:\n"
+"\n"
+" * \"a\" significa \"disco duro mestre do controlador IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco duro escravo do controlador IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco duro mestre do controlador IDE secundario\";\n"
+"\n"
+" * \"d\" significa \"disco duro escravo do controlador IDE secundario\".\n"
+"\n"
+"Nos discos duros SCSI, un \"a\" significa \"ID SCSI menor\", e \"b\" "
+"significa \"segundo ID SCSI menor\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A instalación de Mandriva Linux distribúese en varios CD-ROMs. Se un\n"
+"paquete dos seleccionados está noutro CD-ROM, DrakX expulsará o CD\n"
+"actual e diralle que insira o CD requirido. Se non ten o CD requirido a "
+"man,\n"
+"prema en \"%s\", e os paquetes correspondentes non se instalarán."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Agora terá que especificar que programas desexa instalar no seu sistema.\n"
+"Hai milleiros de paquetes dispoñibles para Mandriva Linux, e para facer que\n"
+"sexa máis sinxelo manexalos, puxéronse en grupos de aplicacións "
+"semellantes.\n"
+"\n"
+"Mandriva Linux ordena os grupos de paquetes en catro categorías. Vostede\n"
+"pode mesturar aplicacións de varias categorías, de xeito que unha "
+"instalación\n"
+"``Estación de Traballo'' poida ter instaladas aplicacións da categoría "
+"``Servidor''.\n"
+"\n"
+" * \"%s\": se ten pensado usar a súa máquina coma unha estación de "
+"traballo,\n"
+"seleccione un ou máis dos grupos da categoría estación de traballo.\n"
+"\n"
+" * \"%s\": se vai usar a súa máquina para programar, seleccione os grupos\n"
+"que desexe desta categoría. O grupo especial \"LSB\" configurará o seu\n"
+"sistema para que cumpra as especificacións Linux Standard Base tanto coma\n"
+"sexa posible.\n"
+"\n"
+" Se selecciona o grupo \"LSB\" instalarase tamén un kernel da serie\n"
+"\"2.4\", en vez do predeterminado da \"2.6\". Isto é para asegurar que o\n"
+"sistema cumpre ó 100%% o LSB. Sen embargo, se non selecciona o grupo\n"
+"\"LSB\" ainda terá un sistema que case cumpre ó 100%% con LSB.\n"
+"\n"
+" * \"%s\": se a súa máquina vai ser un servidor, seleccione cales dos\n"
+"servicios máis comúns desexa instalar na súa máquina.\n"
+"\n"
+" * \"%s\": aquí é onde vai elixir o seu ambiente gráfico preferido. Debe\n"
+"seleccionar como mínimo un se desexa ter dispoñible unha interface gráfica.\n"
+"\n"
+"Se pon o cursor do rato enriba do nome dun grupo amosarase un pequeno\n"
+"texto explicativo acerca dese grupo.\n"
+"\n"
+"Pode marcar o cadro \"%s\", o cal é útil se coñece ben os paquetes que\n"
+"se ofrecen ou se desexa ter un control total sobre o que se vai instalar.\n"
+"\n"
+"Se comeza a instalación en modo \"%s\", poderá deseleccionar tódolos\n"
+"grupos e impedir a instalación de calquera novo paquete. Isto é útil para\n"
+"reparar ou actualizar un sistema xa existente.\n"
+"\n"
+"Se deselecciona tódolos grupos ó levar a cabo unha instalación normal\n"
+"(a diferencia dunha actualización), aparecerá un diálogo suxerindo\n"
+"diferentes opcións para unha instalación mínima:\n"
+"\n"
+" * \"%s\": instala o número mínimo de paquetes posible para ter un\n"
+"ambiente gráfico que funcione.\n"
+"\n"
+" * \"%s\": instala o sistema base máis utilidades básicas e a súa\n"
+"documentación. Esta instalación é a axeitada para configurar un servidor.\n"
+"\n"
+" * \"%s\": instalará o número mínimo de paquetes absolutamente\n"
+"necesario para obter un sistema Linux que funcione. Con esta instalación\n"
+"só terá unha interface de liña de comandos. O tamaño total desta\n"
+"instalación é de máis ou menos 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con documentación básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalación mínima de verdade"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se elixe instalar os paquetes individualmente, o instalador amosaralle unha\n"
+"árbore que contén tódolos paquetes clasificados por grupos e subgrupos.\n"
+"Mentres navega pola árbore, pode seleccionar grupos enteiros, subgrupos,\n"
+"ou paquetes individuais.\n"
+"\n"
+"Cando seleccione un paquete da árbore, aparecerá unha descrición á\n"
+"dereita para que saiba cal é o propósito dese paquete.\n"
+"\n"
+"!!Se se selecciona un paquete de servidor, xa sexa porque vostede elixiu\n"
+"dito paquete ou porque é parte dun grupo de paquetes, pediráselle que\n"
+"confirme que desexa instalar estes servidores. De maneira predeterminada\n"
+"Mandriva Linux iniciará automáticamente ó arrincar o sistema tódolos\n"
+"servicios instalados. Incluso se son seguros e non tiñan ningún problema\n"
+"coñecido cando se fixo a distribución, é posible que se descubriran buratos\n"
+"de seguridade despois de que se rematara esta versión de Mandriva Linux.\n"
+"Se non sabe que fai un determinado servicio ou por que se vai instalar,\n"
+"prema en \"%s\". Se preme en \"%s\" instalaranse os servicios listados e\n"
+"iniciaranse automáticamente ó arrincar o sistema!!\n"
+"\n"
+"A opción \"%s\" úsase para deshabilitar o diálogo de advertencia que\n"
+"aparece cando o instalador selecciona automáticamente un paquete para\n"
+"resolver un problema de dependencias. Algúns paquetes dependen doutros\n"
+"e a instalación dun paquete determinado pode requirir a instalación doutro\n"
+"paquete. O instalador pode determinar que paquetes son necesarios para\n"
+"satisfacer unha dependencia e completar con éxito a instalación.\n"
+"\n"
+"A pequena icona cun disquete debuxado que está no fondo da lista\n"
+"permítelle cargar unha lista de paquetes creada durante unha instalación\n"
+"anterior. Isto é útil se ten varias máquinas que desexa configurar igual. "
+"Se\n"
+"preme nesta icona pediráselle que introduza o disquete que se creou ó final\n"
+"da outra instalación. Mire o segundo consello do último paso para ver como\n"
+"se crea dito disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependencias automáticas"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": premendo no botón \"%s\" abrirase o asistente de configuración de\n"
+"impresoras. Consulte o capítulo correspondente da ``Guía de Inicio'' para "
+"obter\n"
+"máis información acerca de como configurar unha nova impresora. A interface\n"
+"presente no manual é semellante á que se usa durante a instalación."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo úsase para seleccionar que servicios desexa que arrinquen ó\n"
+"iniciar o sistema.\n"
+"\n"
+"DrakX listará tódolos servicios dispoñibles na instalación actual. Examine\n"
+"cada un deles coidadosamente e desmarque aqueles que non son\n"
+"necesarios ó iniciar o sistema.\n"
+"\n"
+"Cando seleccione un servicio amosarase un pequeno texto explicatorio\n"
+"sobre o servicio. Sen embargo, se non está seguro sobre se un servicio\n"
+"é útil ou non, é mellor deixalo como estea.\n"
+"\n"
+"¡¡ Sexa especialmente coidadoso neste paso se pretende utiliza-la súa\n"
+"máquina coma un servidor: probablemente non quererá arrincar servicios que\n"
+"non precisa. Lembre que algúns servicios poden ser perigosos se están\n"
+"activados nun servidor. En xeral, seleccione só aqueles servicios que\n"
+"necesite de verdade !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manexa a hora en GMT (Greenwich Mean Time) e tradúcea á\n"
+"hora local de acordo ca zona horaria que seleccionou. Se o reloxo da súa\n"
+"placa base usa a hora local, debería desactivar isto deseleccionando\n"
+"\"%s\", o cal lle permitirá a GNU/Linux saber que o reloxo do sistema e o\n"
+"reloxo do hardware están na mesma zona horaria. Isto é útil cando a máquina\n"
+"tamén contén outro sistema operativo.\n"
+"\n"
+"A opción \"%s\" regulará automáticamente o reloxo do sistema conectándose\n"
+"a un servidor remoto de tempo da Internet. Para que esta funcionalidade\n"
+"funcione, debe ter unha conexión á Internet que funcione. Recomendámoslle\n"
+"que elixa un servidor de tempo que estea situado preto de vostede. Esta\n"
+"opción en realidade instala un servidor de tempo local que tamén poden usar\n"
+"outras máquinas da súa rede local."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronización automática da hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Tarxeta Gráfica\n"
+"\n"
+" Normalmente o instalador detecta automáticamente detecta e configura\n"
+"a tarxeta gráfica instalada no ordenador. Se non é a correcta, pode elixir\n"
+"nesta lista a tarxeta gráfica que está instalada no ordenador.\n"
+"\n"
+" Se hai varios servidores dispoñibles para a súa tarxeta, con ou sen\n"
+"aceleración 3D, terá que elixir o servidor que se adapte mellor ás súas\n"
+"necesidades."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"As X (por X Window System) son o corazón da interface gráfica de\n"
+"GNU/Linux do que dependen tódolos ambientes gráficos (KDE, GNOME,\n"
+"AfterStep, WindowMaker, etc.) proporcionados por Mandriva Linux.\n"
+"\n"
+"Vostede verá unha lista dos diferentes parámetros que se poden\n"
+"cambiar para obter unha visualización gráfica óptima.\n"
+"\n"
+"Tarxeta Gráfica\n"
+"\n"
+" O instalador normalmente detectará e configurará automáticamente\n"
+"a tarxeta gráfica instalada na súa máquina. Se esta non é a correcta,\n"
+"pode escoller nesta lista a tarxeta que ten instalada en realidade.\n"
+"\n"
+" Na situación na que haxa dispoñibles diferentes servidores para a súa\n"
+"tarxeta, con ou sen aceleración 3D, pediráselle que elixa o servidor que\n"
+"mellor se adapte ás súas necesidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente o instalador detectará e configurará automáticamente o\n"
+"monitor conectado á súa máquina. Se non é o correcto, pode elixir nesta\n"
+"lista o monitor que está conectado ó seu ordenador.\n"
+"\n"
+"\n"
+"\n"
+"Resolución\n"
+"\n"
+" Aquí vostede pode escoller as resolucións e as profundidades de cor\n"
+"dispoñibles para o seu hardware gráfico. Elixa a que mellor se adapte ás\n"
+"súas necesidades (poderá facer cambios despois da instalación).\n"
+"Amosarase unha mostra da configuración elixida na pantalla.\n"
+"\n"
+"\n"
+"\n"
+"Comprobación\n"
+"\n"
+" Dependendo do hardware que teña, esta entrada podería non aparecer.\n"
+"\n"
+" O sistema intentará abrir unha pantalla gráfica ca resolución desexada.\n"
+"Se vostede ve a mensaxe de proba durante a comprobación e responde\n"
+"\"%s\", entón DrakX pasará ó seguinte paso. Se non a ve, entón significa\n"
+"que parte da configuración detectada automáticamente é incorrecta e a\n"
+"comprobación rematará automáticamente despois de 12 segundos e\n"
+"volverá ó menú. Cambie as opcións ata que consiga unha aparencia\n"
+"gráfica correcta.\n"
+"\n"
+"\n"
+"\n"
+"Opcións\n"
+"\n"
+" Este paso permítelle elixir se desexa que a súa máquina inicie\n"
+"automáticamente a interface gráfica ó arrincar. Evidentemente, vostede\n"
+"podería desexar marcar \"%s\" se a súa máquina vai ser un servidor,\n"
+"ou se non conseguiu configurar as X."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" O instalador normalmente detecta e configura automáticamente o\n"
+"monitor conectado á súa máquina. Se non é o correcto, pode escoller\n"
+"nesta lista o monitor que ten conectado ó seu ordenador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolución\n"
+"\n"
+" Aquí pode escoller as resolucións e as profundidades de cor dispoñibles\n"
+"para o seu hardware gráfico. Escolla o que mellor se adapte ás súas\n"
+"necesidades (poderá facer trocos despois da instalación). Amosarase un\n"
+"exemplo da configuración elixida na pantalla."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Se se da a situación na que hai diferentes servidores dispoñibles para a\n"
+"súa tarxeta, con ou sen aceleración 3D, pediráselle que escolla o servidor\n"
+"que mellor se axuste ás súas necesidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcións\n"
+"\n"
+" Estes pasos permítenlle escoller se a súa máquina debe iniciar\n"
+"automáticamente unha interface gráfica ó arrincar ou non. Evidentemente,\n"
+"vostede pode querer marcar \"%s\" se a súa máquina vai funcionar\n"
+"coma un servidor, ou se non tivo éxito configurando o sistema gráfico."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Agora ten que decidir onde quere instalar o sistema operativo\n"
+"Mandriva Linux no disco duro. Se o seu disco duro está baleiro, ou se\n"
+"outro sistema operativo está usando todo o espacio dispoñible, terá que\n"
+"particionalo. Básicamente, particionar un disco duro consiste en dividilo\n"
+"lóxicamente para crear o espacio necesario para instalar o seu novo\n"
+"sistema Mandriva Linux.\n"
+"\n"
+"Debido a que o proceso de particionamento é normalmente irreversible\n"
+"e pode provocar perdas de datos, o particionamento pode intimidar e\n"
+"resultar estresante para un usuario sen experiencia. Afortunadamente,\n"
+"DrakX inclúe un asistente que simplifica este proceso. Antes de\n"
+"continuar con este paso, lea toda esta sección e sobre todo, tómese\n"
+"o seu tempo.\n"
+"\n"
+"Dependendo da configuración do seu disco duro, hai varias opcións\n"
+"dispoñibles:\n"
+"\n"
+" * \"%s\". Esta opción levará a cabo un particionamento automático\n"
+"da(s) súa(s) unidade(s) baleira(s). Se usa esta opción non haberá máis\n"
+"avisos.\n"
+"\n"
+" * \"%s\". O asistente detectou que existen unha ou máis particións\n"
+"Linux no seu disco duro. Se desexa usalas, elixa esta opción. Entón\n"
+"pediráselle que escolla os puntos de montaxe asociados con cada unha\n"
+"das particións. Os puntos de montaxe herdados selecciónanse por\n"
+"defecto, e para a maioría é boa idea mantelos.\n"
+" \n"
+" * \"%s\". Se Microsoft Windows está instalado no seu disco duro e\n"
+"ocupa todo o espacio dispoñible nel, terá que crear espacio libre para\n"
+"GNU/Linux. Para facelo, pode eliminar os datos e a partición Microsoft\n"
+"Windows (mire a solución ``Borrar todo o disco'') ou redimensionar a\n"
+"partición Microsoft Windows FAT ou NTFS. O redimensionamento\n"
+"pode levarse a cabo sen a perda de ningún dato, con tal que\n"
+"desfragmente previamente a partición Windows. É moi recomendable\n"
+"que faga unha copia de seguridade dos seus datos. Recoméndase\n"
+"usar esta opción se desexa usar Mandriva Linux e Microsoft\n"
+"Windows no mesmo ordenador.\n"
+"\n"
+" Antes de escoller esta opción, debe comprender que despois deste\n"
+"procedemento, o tamaño da súa partición Microsoft Windows será máis\n"
+"pequeno ca antes. Terá menos espacio libre en Microsoft Windows\n"
+"para almacenar os seus datos ou para instalar novo software.\n"
+"\n"
+" * \"%s\". Se desexa eliminar tódolos datos e as particións presentes no\n"
+"seu disco duro e remprazalas polo seu novo sistema Mandriva Linux, elixa\n"
+"esta opción. Teña coidado, porque non poderá desfacer esta operación\n"
+"despois de que confirme.\n"
+"\n"
+" !! Se elixe esta opción, eliminaranse tódolos datos do seu disco "
+"duro. !!\n"
+"\n"
+" * \"%s\". Esta opción aparece cando Microsoft Windows ocupa todo o\n"
+"disco duro. Se elixe esta opción simplemente eliminarase toda a unidade\n"
+"e comezarase de novo, particionando todo dende cero.\n"
+"\n"
+" !! Se elixe esta opción, perderanse tódolos datos do seu disco duro. !!\n"
+"\n"
+" * \"%s\". Elixa esta opción se desexa particionar a man o seu disco duro.\n"
+"Teña tino -- é unha opción potente pero perigosa e pode perder moi\n"
+"fácilmente tódolos seus datos. É por iso polo que só se recomenda esta\n"
+"opción se fixo algo coma isto antes e ten algunha experiencia. Para obter\n"
+"máis instruccións sobre como usar a utilidade DiskDrake, refírase á sección\n"
+"``Administrando as súas Particións'' da ``Guía de Inicio''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partición existente"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Borra-lo disco enteiro"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Xa está. A instalación rematou e o seu sistema GNU/Linux está preparado\n"
+"para usalo. Prema en \"%s\" para reiniciar o sistema. Non esqueza extraer\n"
+"o soporte de instalación (CD-ROM ou disquete). A primeira cousa que\n"
+"debería ver despois de que o seu ordenador remate de facer a\n"
+"comprobación do hardware é o menú do cargador de arrinque, dándolle a\n"
+"opción de elixir que sistema operativo se vai iniciar.\n"
+"\n"
+"O botón \"%s\" amosa dous botóns máis para:\n"
+"\n"
+" * \"%s\": permítelle crear un disquete de instalación que levará a cabo\n"
+"automáticamente unha instalación completa semellante á instalación que\n"
+"acaba de facer, sen a axuda dun operador.\n"
+"\n"
+" Teña en conta que despois de premer neste botón hai dispoñibles dúas\n"
+"opcións diferentes:\n"
+"\n"
+" * \"%s\". Esta é unha instalación parcialmente automatizada. O paso\n"
+"do particionamento é o único interactivo.\n"
+"\n"
+" * \"%s\". Instalación totalmente automática: O disco duro rescríbese\n"
+"totalmente, perdendo tódolos datos.\n"
+"\n"
+" Esta funcionalidade é moi práctica cando se está instalando en varias\n"
+"máquinas semellantes. Mire na sección Instalación Automática no noso sitio\n"
+"web para obter máis información.\n"
+"\n"
+" * \"%s\"(*): garda unha lista dos paquetes seleccionados nesta "
+"instalación.\n"
+"Para usar esta selección noutra instalación, insira o disquete e inicie a\n"
+"instalación. Na liña de comandos, prema a tecla [F1], e introduza\n"
+">>linux defcfg=\"floppy\"<< e prema a tecla [Intro].\n"
+"\n"
+"(*) Necesita un disquete formatado con FAT. Para crear un en GNU/Linux,\n"
+"escriba \"mformat a:\", ou \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Xerar un disquete de Instalación Automática"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se elixe reutilizar algunhas das particións GNU/Linux xa existentes, "
+"podería\n"
+"desexar volver formatar algunhas delas e eliminar tódolos datos que\n"
+"conteñan. Para facer isto seleccione estas particións tamén.\n"
+"\n"
+"Teña en conta que non cómpre volver formatar tódalas particións xa\n"
+"existentes. Debe volver formatar as particións que conteñen o sistema\n"
+"operativo (coma \"/\", \"/usr\" ou \"/var\") pero non ten que volver\n"
+"formatar particións que conteñen datos que desexe gardar (normalmente\n"
+"\"/home\").\n"
+"\n"
+"Teña tino ó seleccionar as particións. Despois de formatalas, tódolos\n"
+"datos das particións seleccionadas estarán eliminados e non poderá\n"
+"recuperalos.\n"
+"\n"
+"Prema en \"%s\" cando estea preparado para formatar as particións.\n"
+"\n"
+"Prema en \"%s\" se desexa elixir outra partición para a instalación do seu\n"
+"novo sistema operativo Mandriva Linux.\n"
+"\n"
+"Prema en \"%s\" se desexa seleccionar as particións nas que se realizarán\n"
+"comprobacións de bloques erróneos."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Cando instale Mandriva Linux é probable que algúns paquetes se\n"
+"actualizaran dende a publicación inicial. Pode ser que se solucionaran "
+"erros,\n"
+"e se resolveran problemas de seguridade. Para beneficiarse destas\n"
+"actualizacións agora, pode descargalas dende a Internet. Marque \"%s\"\n"
+"se ten unha conexión á Internet, ou \"%s\" se prefire instalar os paquetes\n"
+"actualizados máis tarde.\n"
+"\n"
+"Se escolle \"%s\" amosarase unha lista das localizacións web dende as que\n"
+"se poden obter as actualizacións. Debe escoller unha que estea preto de\n"
+"vostede. Aparecerá unha árbore de selección de paquetes: revise a\n"
+"selección, e prema en \"%s\" para descargar e instala-lo(s) paquete(s)\n"
+"seleccionado(s), ou en \"%s\" para abortar."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Neste punto, DrakX permitiralle elixir o nivel de seguridade que desexa\n"
+"que teña a súa máquina. Como regra xeral, o nivel de seguridade debe\n"
+"ser maior se a máquina vai conter datos moi importantes, ou se vai estar\n"
+"exposta directamente á Internet. Normalmente un nivel de seguridade\n"
+"maior obtense a expensas da facilidade de uso.\n"
+"\n"
+"Se non sabe cal escoller, deixe a opción predeterminada. Poderá\n"
+"cambiala máis tarde ca ferramenta draksec, a cal é parte do Centro de\n"
+"Control de Mandriva Linux.\n"
+"\n"
+"Complete o campo \"%s\" co enderezo de correo-e (e-mail) da persoa\n"
+"responsable da seguridade. As mensaxes de seguridade enviaranse a\n"
+"ese enderezo."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de Seguridade"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Neste punto cómpre que escolla que partición(s) se van usar para a\n"
+"instalación do seu sistema Mandriva Linux. Se as particións xa se\n"
+"crearon, xa sexa nunha instalación anterior de GNU/Linux ou con\n"
+"outra ferramenta de particionamento, poderá usar as particións\n"
+"existentes. Se non é así, débense crear as particións no disco duro.\n"
+"\n"
+"Para crear particións, primeiro debe seleccionar un disco duro. Pode\n"
+"seleccionar o disco a particionar premendo en ``hda'' para a primeira\n"
+"unidade IDE, ``hdb'' para a segunda, ``sda'' para a primeira unidade\n"
+"SCSI, etc.\n"
+"\n"
+"Para particionar o disco duro seleccionado pode usar estas opcións:\n"
+"\n"
+" * \"%s\": esta opción elimina tódalas particións do disco duro\n"
+"seleccionado\n"
+"\n"
+" * \"%s\": esta opción permítelle crear automáticamente particións\n"
+"ext3 e swap no espacio baleiro do disco duro\n"
+"\n"
+"\"%s\": dálle acceso a funcionalidades adicionais:\n"
+"\n"
+" * \"%s\": garda a táboa de particións nun disquete. É útil para\n"
+"recuperacións posteriores da táboa de particións, en caso de ser\n"
+"necesario. É altamente recomendable que leve a cabo este paso.\n"
+"\n"
+" * \"%s\": permítelle restaurar unha táboa de particións gardada\n"
+"previamente nun disquete.\n"
+"\n"
+" * \"%s\": se a súa táboa de particións está danada, pode intentar\n"
+"recuperala usando esta opción. Por favor teña coidado e lembre que non\n"
+"sempre funciona.\n"
+"\n"
+" * \"%s\": desbota tódolos cambios e recarga a táboa de particións orixinal\n"
+"do disco duro.\n"
+"\n"
+" * \"%s\": se desmarca esta opción forzará ós usuarios a montar e\n"
+"desmontar a man os soportes extraíbles coma os disquetes e os CD-ROMs.\n"
+"\n"
+" * \"%s\": use esta opción se desexa usar un asistente para particionar\n"
+"o seu disco duro. Recoméndase isto se non sabe moito sobre o\n"
+"particionamento.\n"
+"\n"
+" * \"%s\": use esta opción para cancelar tódolos seus cambios.\n"
+"\n"
+" * \"%s\": permite accións adicionais sobre as particións (tipo, opcións,\n"
+"formato) e proporciona máis información sobre o disco duro.\n"
+"\n"
+" * \"%s\": cando remate o particionamento do seu disco duro, isto\n"
+"gardará os cambios no disco.\n"
+"\n"
+"Cando estea definindo o tamaño das particións pode establecelo\n"
+"con exactitude usando as teclas das Frechas do teclado.\n"
+"\n"
+"Nota: pode obter calquera opción usando o teclado. Navegue polas\n"
+"particións usando [Tab] e as frechas [Arriba/Abaixo].\n"
+"\n"
+"Cando se selecciona unha partición, poderá usar:\n"
+"\n"
+" * Ctrl-c para crear unha nova partición (cando se seleccionou un\n"
+"espacio baleiro)\n"
+"\n"
+" * Ctrl-d para eliminar unha partición\n"
+"\n"
+" * Ctrl-m para establecer o punto de montaxe\n"
+"\n"
+"Para obter información sobre os diferentes tipos de sistemas de ficheiros\n"
+"dispoñibles, lea o capítulo sobre ext2FS do ``Manual de Referencia''.\n"
+"\n"
+"Se está instalando nunha máquina PPC, quererá crear unha pequena\n"
+"partición HFS para ``bootstrap'' de como mínimo 1MB a cal vai ser usada\n"
+"polo cargador de arrinque yaboot. Se opta por facer a partición un pouco\n"
+"máis grande, digamos de 50MB, podería darse conta de que é un sitio útil\n"
+"para almacenar un kernel de reserva e imaxes ramdisk para situacións de\n"
+"arrinques de emerxencia."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montar automáticamente os soportes extraíbles"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Cambiar entre modo normal/experto"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Detectouse máis dunha partición Microsoft no seu disco duro. Elixa a que\n"
+"quere redimensionar para poder instalar o seu novo sistema operativo\n"
+"Mandriva Linux.\n"
+"\n"
+"Cada partición está listada do seguinte xeito: \"Nome en Linux\",\n"
+"\"Nome en Windows\", \"Capacidade\".\n"
+"\n"
+"O \"Nome en Linux\" ten esta estructura: \"Tipo de disco duro\", \n"
+"\"Número de disco duro\", \"Número de partición\" (por exemplo, \"hda1\").\n"
+"\n"
+"O \"Tipo de disco duro\" é \"hd\" se o seu disco duro é un disco duro IDE\n"
+"e \"sd\" se é un disco duro SCSI.\n"
+"\n"
+"O \"Número de disco duro\" é sempre unha letra despois de \"hd\" ou\n"
+"\"sd\". En discos duros IDE:\n"
+"\n"
+" * \"a\" significa \"disco duro mestre do controlador IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco duro escravo do controlador IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco duro mestre do controlador IDE secundario\";\n"
+"\n"
+" * \"d\" significa \"disco duro escravo do controlador IDE secundario\".\n"
+"\n"
+"Nos discos duros SCSI, un \"a\" significa \"ID SCSI menor\", un \"b\" "
+"significa \"segundo ID SCSI menor\", etc.\n"
+"\n"
+"O \"Nome en Windows\" é a letra que ten o seu disco duro en Windows\n"
+"(o primeiro disco ou partición chámase \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique a selección actual do país. Se non está nese país,\n"
+"prema no botón \"%s\" e escolla o seu. Se o seu país non está na lista\n"
+"que se amosa, prema no botón \"%s\" para obter a lista completa de países."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Este paso actívase só se se atopou algunha partición GNU/Linux na súa\n"
+"máquina.\n"
+"\n"
+"DrakX necesita saber se desexa facer unha nova instalación ou\n"
+"unha actualización dun sistema Mandriva Linux xa existente:\n"
+"\n"
+" * \"%s\". A maioría das veces, isto destrúe completamente o sistema\n"
+"antigo. Sen embargo, dependendo de como sexa o seu esquema de\n"
+"particionamento, poderá impedir que se sobrescriban algúns dos datos\n"
+"existentes (especialmente os directorios \"home\"). Se desexa cambiar o\n"
+"xeito no que están particionados os seus discos duros, ou desexa cambiar\n"
+"o sistema de ficheiros, debe usar esta opción.\n"
+"\n"
+" * \"%s\". Esta clase de instalación permítelle actualiza-los paquetes que\n"
+"están instalados agora mesmo no seu sistema Mandriva Linux. Non se\n"
+"modificarán nin o esquema de particionamento actual nin os datos dos\n"
+"usuarios. A maior parte dos outros pasos de configuración estarán\n"
+"dispoñibles e serán semellantes ós dunha instalación estándar.\n"
+"\n"
+"O uso da opción ``Actualizar'' debería funcionar ben en sistemas con\n"
+"Mandriva Linux versión \"8.1\" ou posteriores. Non se recomenda levar\n"
+"a cabo actualizacións en versións anteriores á versión \"8.1\" de\n"
+"Mandriva Linux."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo da lingua que escollera, DrakX seleccionará automáticamente\n"
+"unha configuración de teclado determinada. Verifique que a selección é a\n"
+"axeitada ou elixa outra disposición de teclado.\n"
+"\n"
+"Tamén pode ser que non teña un teclado que corresponda exactamente\n"
+"ca súa lingua: por exemplo, se vostede fala Inglés e é nativo de Suíza,\n"
+"vostede terá un teclado suízo. Ou se vostede fala Inglés e está en Quebec,\n"
+"podería atoparse na mesma situación na que a súa lingua e o teclado non\n"
+"concordan. En calquera destes casos, este paso da instalación permitiralle\n"
+"seleccionar o teclado axeitado dunha lista.\n"
+"\n"
+"Prema no botón \"%s\" para ver unha lista dos teclados soportados.\n"
+"\n"
+"Se elixiu unha disposición de teclado baseada nun alfabeto non latino, o\n"
+"seguinte diálogo permitiralle elixir a asociación de teclas que fará que o\n"
+"teclado cambie entre unha disposición Latina e unha non Latina."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro paso é escoller a súa lingua preferida.\n"
+"\n"
+"A elección da súa lingua preferida afectaralle ó instalador, á "
+"documentación,\n"
+"e ó sistema en xeral. Primeiro seleccione a rexión na que está situado, e\n"
+"despois o idioma que fala.\n"
+"\n"
+"Se preme no botón \"%s\" poderá seleccionar outras linguas para instalalas\n"
+"na súa estación de traballo, instalando deste xeito os ficheiros "
+"específicos\n"
+"desas linguas para a documentación do sistema e as aplicacións. Por\n"
+"exemplo, se van usar a súa máquina usuarios Españois, seleccione Inglés\n"
+"coma a lingua predeterminada na árbore e \"%s\" na sección Avanzado.\n"
+"\n"
+"Acerca do soporte de UTF-8 (unicode): Unicode é unha nova codificación de\n"
+"caracteres pensada para cubrir tódalas linguas existentes. Sen embargo o\n"
+"soporte completo para ela en GNU/Linux ainda se está desenvolvendo. Por\n"
+"esta razón, o uso de UTF-8 en Mandriva Linux dependerá das eleccións do\n"
+"usuario:\n"
+"\n"
+" * Se selecciona unha lingua cunha codificación fortemente asociada\n"
+"(as linguas latin1, Ruso, Xaponés, Chinés, Coreano, Tai, Grego, Turco, a\n"
+"maioría das linguas iso-8859-2), usarase a codificación asociada de\n"
+"xeito predeterminado;\n"
+"\n"
+" * As outras lingua usarán unicode de xeito predeterminado;\n"
+"\n"
+" * Se se requiren dúas ou máis linguas, e estas linguas non usan a mesma\n"
+"codificación, entón usarase unicode para todo o sistema;\n"
+"\n"
+" * Por último, pode forzarse o uso de unicode en todo o sistema a petición\n"
+"do usuario seleccionando a opción \"%s\" independentemente das linguas\n"
+"que se escolleran.\n"
+"\n"
+"Teña en conta que non está limitado a elixir só unha lingua adicional.\n"
+"Vostede pode escoller varias, ou incluso instalalas todas marcando o\n"
+"cadro \"%s\". A selección do soporte para unha lingua significa que se\n"
+"instalarán as traduccións, fontes, correctores ortográficos, etc. desa "
+"lingua.\n"
+"\n"
+"Para cambiar entre as diferentes linguas instaladas no seu sistema, pode\n"
+"executar o comando \"localedrake\" coma \"root\" para cambiar a lingua\n"
+"de todo o sistema. Se executa o comando coma un usuario normal só\n"
+"cambiará a lingua dese usuario determinado."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Español"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalmente, DrakX non ten problemas ó detectar o número de botóns\n"
+"do seu rato. Se os ten, suporá que ten un rato de dous botóns e\n"
+"configurarao para que emule o terceiro botón. Nun rato de dous botóns\n"
+"o terceiro botón pode obterse premendo simultáneamente os botóns\n"
+"dereito e esquerdo do rato. DrakX recoñecerá automáticamente se o\n"
+"seu rato usa unha interface PS/2, serie ou USB.\n"
+"\n"
+"Se vostede ten un rato de 3 botóns sen roda, pode escoller o rato\n"
+"\"%s\". DrakX configurará entón o seu rato de xeito que poida simular\n"
+"a roda: para facer isto, prema o botón do medio e mova o punteiro do\n"
+"rato arriba e abaixo.\n"
+"\n"
+"Se por algunha razón desexa especificar un tipo de rato diferente,\n"
+"seleccióneo da lista que se proporciona.\n"
+"\n"
+"Pode seleccionar a entrada \"%s\" para elixir un tipo de rato ``xenérico''\n"
+"que funcionará con case tódolos ratos.\n"
+"\n"
+"Se elixe un rato diferente do predeterminado, amosarase unha pantalla\n"
+"de probas. Use os botóns e a roda para verificar que a configuración é\n"
+"correcta e que o rato está funcionando correctamente. Se o rato non\n"
+"está funcionando ben, prema a barra de espacio ou a tecla [Retorno]\n"
+"para cancelar a proba e volver á lista de ratos.\n"
+"\n"
+"De cando en vez a roda do rato non se detecta automáticamente, así\n"
+"que terá que seleccionar o seu rato na lista. Asegúrese de seleccionar\n"
+"o correspondente ó porto no que está conectado o seu rato. Despois\n"
+"de seleccionar un rato e premer no botón \"%s\", Amosarase a imaxe\n"
+"dun rato na pantalla. Mova a roda do rato para asegurarse de que se\n"
+"activa correctamente. Mentres move a roda do seu rato verá que se\n"
+"move a roda da imaxe da pantalla. Comprobe os botóns e verifique que\n"
+"o punteiro do rato se move pola pantalla mentres move o seu rato."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "con emulación da Roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Calquera rato PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Seleccione o porto correcto. Por exemplo, o porto \"COM1\" de\n"
+"Windows chámase \"ttyS0\" en GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Esta é a decisión máis importante para a seguridade do seu sistema\n"
+"GNU/Linux: debe introducir o contrasinal de \"root\". \"Root\" é o\n"
+"administrador do sistema e é o único usuario autorizado para facer\n"
+"actualizacións, engadir usuarios, cambiar a configuración de todo o "
+"sistema,\n"
+"etc. En poucas palabras, \"root\" pode facer de todo! Por isto debe "
+"escoller\n"
+"un contrasinal que sexa difícil de adiviñar: DrakX diralle se o contrasinal "
+"que\n"
+"escolleu é demasiado sinxelo. Como pode ver, non está obrigado a introducir\n"
+"un contrasinal, pero recomendámoslle que introduza un. GNU/Linux é tan\n"
+"propenso ós erros do operador coma calquera outro sistema operativo. Xa\n"
+"que \"root\" pode superar tódalas limitacións e eliminar de xeito non\n"
+"intencionado tódolos datos das particións ó acceder sen coidado ás\n"
+"propias particións, é importante que sexa difícil chegar a ser \"root\".\n"
+"\n"
+"O contrasinal debería ser unha mestura de caracteres alfanuméricos e ter "
+"unha\n"
+"lonxitude mínima de 8 caracteres. Nunca escriba nun papel o contrasinal de\n"
+"\"root\" -- isto fai que sexa moito máis sinxelo comprometer o seu sistema.\n"
+"\n"
+"Un consello: non faga que o contrasinal sexa moi longo ou complicado porque\n"
+"terá que ser capaz de lembrarse del!\n"
+"\n"
+"O contrasinal non se amosará na pantalla mentres o escribe. Para reducir as\n"
+"posibilidades dun erro ó escribilo terá que introducilo contrasinal dúas "
+"veces.\n"
+"Se comete dúas veces o mesmo erro de escritura, terá que usar este "
+"contrasinal\n"
+"``incorrecto'' a primeira vez que entre coma \"root\".\n"
+"\n"
+"Se desexa que un servidor de autenticación controle o acceso ó seu "
+"ordenador,\n"
+"prema no botón \"%s\".\n"
+"\n"
+"Se a súa rede usa servicios de autenticación coma LDAP, NIS, ou un PDC\n"
+"dun Dominio Windows, seleccione o axeitado de \"%s\". Se non sabe cal usar,\n"
+"deberialle preguntar ó administrador da súa rede.\n"
+"\n"
+"Se ten problemas para lembrar o contrasinal, ou se o seu ordenador nunca\n"
+"vai estar conectado á Internet e confía en tódalas persoas que usan o seu\n"
+"ordenador, pode elixir \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autenticación"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un cargador de arrinque é un pequeno programa que inicia o ordenador ó\n"
+"arrincar. É o responsable de arrincar o sistema enteiro. Normalmente, a\n"
+"instalación do cargador de arrinque é totalmente automática. DrakX\n"
+"analisará o sector de arrinque do disco e actuará de acordo co que atope\n"
+"alí:\n"
+"\n"
+" * se atopa un sector de arrinque de Windows, remprazarao cun sector de\n"
+"arrinque de GRUB/LILO. Deste xeito poderá arrincar GNU/Linux ou\n"
+"calquera outro sistema operativo que teña instalado no seu ordenador.\n"
+"\n"
+" * se atopa un sector de arrinque de GRUB ou LILO, remprazarao cun novo.\n"
+"\n"
+"Se DrakX non pode determinar onde debe situar o sector de arrinque, \n"
+"preguntaralle onde debe situalo. Xeralmente, \"%s\" é o mellor lugar.\n"
+"Se escolle \"%s\" non se instalará ningún cargador de arrinque. Use esta\n"
+"opción só se sabe o que está facendo."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Agora é a hora de seleccionar un sistema de impresión para o seu\n"
+"ordenador. Pode ser que outros sistemas operativos lle ofrezan un, pero\n"
+"Mandriva Linux ofrécelle dous. Cada un dos sistemas de impresión está\n"
+"máis adaptado a determinados tipos de configuración.\n"
+"\n"
+" * \"%s\" -- que é un acrónimo de ``print, do not queue'' (imprime, non o\n"
+"envies á cola), é a elección perfecta se vostede ten unha conexión directa\n"
+"á súa impresora, desexa esquecerse de impresoras saturadas, e non ten\n"
+"impresoras de rede. (\"%s\" só manexará casos de redes moi sinxelas e\n"
+"é algo lento cando se usa en redes.) É recomendable que use \"pdq\" se\n"
+"esta é a súa primeira experiencia con GNU/Linux.\n"
+"\n"
+" * \"%s\" significa `` Common Unix Printing System'' e é unha elección\n"
+"excelente para imprimir na súa impresora local ou nunha que estea na outra\n"
+"punta do planeta . É fácil de configurar e pode actuar coma un servidor ou\n"
+"coma un cliente para o antigo sistema de impresión \"lpd\", así que é\n"
+"compatible con antigos sistemas operativos os cales ainda poden necesitar\n"
+"servicios de impresión. Ainda que é bastante potente, a configuración\n"
+"básica é case tan sinxela coma a de \"pdq\". Se necesita emular un\n"
+"servidor \"lpd\", asegúrese de que activa o daemon \"cups-lpd\". \"%s\"\n"
+"inclúe interfaces gráficas para imprimir ou escoller as opcións da "
+"impresora\n"
+"e para administrar a impresora.\n"
+"\n"
+"Se elixe un agora, e máis tarde se da conta de que non lle gusta o seu\n"
+"sistema de impresión poderá cambialo executando PrinterDrake dende o\n"
+"Centro de Control de Mandriva Linux e premendo no botón \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Experto"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX detectará primeiro calquera dispositivo IDE presente no seu "
+"ordenador.\n"
+"Tamén buscará unha ou máis tarxetas SCSI PCI no seu sistema. Se se atopa\n"
+"unha tarxeta SCSI, DrakX instalará automáticamente o driver axeitado.\n"
+"\n"
+"Xa que a detección de hardware non está libre de erros, DrakX podería "
+"fallar\n"
+"ó detectar os discos duros. Se o fai, terá que especificar o seu hardware\n"
+"manualmente.\n"
+"\n"
+"Se tivera que especificar a man o seu adaptador SCSI PCI, DrakX\n"
+"preguntaralle se desexa configurar as súas opcións. Debería deixarlle a\n"
+"DrakX probar as opcións do hardware para atopar as opcións específicas da\n"
+"tarxeta que son necesarias para inicializar o adaptador. A maioría das "
+"veces,\n"
+"DrakX non ha dar problemas neste paso.\n"
+"\n"
+"Se DrakX non é capaz de probar as opcións para determinar\n"
+"automáticamente que parámetros necesita pasarlle ó hardware, terá\n"
+"que configurar o driver a man."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se se detecta unha tarxeta de son no seu sistema, amosarase\n"
+"aquí. Se ve que a tarxeta de son non é a que ten posta no seu sistema,\n"
+"pode premer no botón e escoller un driver diferente."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX presentaralle un resumo da información que reuniu sobre o seu\n"
+"sistema para que a repase. Dependendo do hardware que teña instalado\n"
+"na súa máquina, aparecerán ou non algunhas das seguintes entradas.\n"
+"Cada entrada está composta do elemento do hardware que se configurou,\n"
+"seguido por un pequeno resumo da configuración actual. Prema no botón\n"
+"\"%s\" correspondente para cambiala.\n"
+"\n"
+" * \"%s\": comprobe a configuración actual do mapa de teclado e cámbiea\n"
+"se fose necesario.\n"
+"\n"
+" * \"%s\": verifique o país seleccionado. Se non está neste país, prema\n"
+"no botón \"%s\" e elixa outro. Se o seu país non está na lista que se\n"
+"amosa, prema no botón \"%s\" para obter a lista completa de paises.\n"
+"\n"
+" * \"%s\": por defecto, DrakX deduce a súa zona horaria baseándose no\n"
+"país que elixiu. Pode premer no botón \"%s\" se non é a correcta.\n"
+"\n"
+" * \"%s\": verifique a configuración actual do rato e prema no botón para\n"
+"cambiala se fose necesario.\n"
+"\n"
+" * \"%s\": se preme no botón \"%s\" abrirase o asistente de configuración\n"
+"de impresoras. Consulte o capítulo correspondente da ``Guía de Inicio''\n"
+"para obter máis información sobre como configurar unha nova impresora.\n"
+"A interface do manual é semellante á que se usa durante a instalación.\n"
+"\n"
+" * \"%s\": se se detecta unha tarxeta de son no seu sistema, amosarase\n"
+"aquí. Se ve que a tarxeta de son non é a que está no seu ordenador,\n"
+"pode premer no botón e elixir un driver diferente.\n"
+"\n"
+" * \"%s\": se ten unha tarxeta de TV, aquí ó onde se mostra a información\n"
+"sobre a súa configuración. Se ten unha tarxeta de TV e non se detectou,\n"
+"prema en \"%s\" para intentar configurala a man.\n"
+"\n"
+" * \"%s\": pode premer en \"%s\" para cambia-los parámetros asociados\n"
+"ca tarxeta se cre que a configuración non é correcta.\n"
+"\n"
+" * \"%s\": por defecto, DrakX configura a súa interface gráfica cunha\n"
+"resolución \"800x600\" ou \"1024x768\". Se isto non se adapta a vostede,\n"
+"prema en \"%s\" para volver configurar a súa interface gráfica.\n"
+"\n"
+" * \"%s\": se desexa configurar o seu acceso á Internet ou a unha rede\n"
+"local, pode facelo agora. Consulte a documentación impresa ou use o\n"
+"Centro de Control de Mandriva Linux despois de rematar a instalación para\n"
+"sacar partido da axuda en liña.\n"
+"\n"
+" * \"%s\": permítelle configurar os enderezos do proxy HTTP e FTP no\n"
+"caso de que a máquina na que está instalando vaia estar detrás detrás\n"
+"dun servidor proxy.\n"
+"\n"
+" * \"%s\": esta entrada permítelle volver definir o nivel de seguridade que\n"
+"se estableceu nun dos pasos anteriores.\n"
+"\n"
+" * \"%s\": se pensa conectar a súa máquina á Internet, é unha boa idea\n"
+"protexela de intrusos configurando un cortalumes. Consulte a sección\n"
+"correspondente da ``Guía de Inicio'' para obter detalles sobre a\n"
+"configuración do cortalumes.\n"
+"\n"
+" * \"%s\": se desexa cambiar a configuración do seu cargador de arrinque,\n"
+"prema neste botón. Isto deberíano facer só os usuarios avanzados.\n"
+"Consulte a documentación impresa ou a axuda en liña sobre a\n"
+"configuración do cargador de arrinque no Centro de Control de Mandriva\n"
+"Linux.\n"
+"\n"
+" * \"%s\": a través desta entrada pode especificar cales servicios se\n"
+"executarán na súa máquina. Se ten pensado usar esta máquina coma\n"
+"un servidor sería unha boa idea revisar esta configuración."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Tarxeta RDSI"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface Gráfica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Elixa o disco duro que desexa borrar para poder crear a súa nova partición\n"
+"Mandriva Linux. Teña tino, porque se perderán tódolos datos da unidade e\n"
+"non se poderán volver recuperar!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Prema en \"%s\" se desexa eliminar tódolos datos e particións presentes\n"
+"neste disco duro. Teña tino, despois de premer en \"%s\", non poderá\n"
+"recuperar ningún dato ou partición presente neste disco duro, incluindo\n"
+"calquera dato de Windows.\n"
+"\n"
+"Prema en \"%s\" para saír sen perder ningún dato ou partición presentes\n"
+"neste disco duro."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Seguinte ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
diff --git a/perl-install/install/help/po/he.po b/perl-install/install/help/po/he.po
new file mode 100644
index 000000000..4c3adb0e1
--- /dev/null
+++ b/perl-install/install/help/po/he.po
@@ -0,0 +1,1493 @@
+# translation of DrakX.po to Hebrew
+# translation of he.po to Hebrew
+# translation of DrakX-he.po to hebrew
+# translation of DrakX-he-new.po to Hebrew
+# translation of DrakX-he.po to Hebrew
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# This file is distributed under the GNU GPL license.
+# Ram Matityahu <linuxfun@email.com>, 2003.
+# nadav mavor <nadav@mavor.com>, 2003.
+# el-cuco <cuco3001@yahoo.com>, 2003.
+# Diego Iastrubni <iastrubn@actcom.co.il>, 2003.
+# dovix <dovix2003@yahoo.com>, 2004, 2005.
+# Itay Flikier <itayff@gmail.com>, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: he\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-10 09:11+0300\n"
+"Last-Translator: dovix <dovix2003@yahoo.com>\n"
+"Language-Team: Hebrew <mdk-hebrew@iglu.org.il>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"לפני המשך ההתקנה, עליך לקרוא בעיון רב את תנאי ההסכם.\n"
+"ההסכם המצ\"ב נוגע להפצת מנדריבה לינוקס כמקשה אחת.\n"
+"אם כל התנאים מוסכמים עליך, עליך לסמן את התיבה \"%s\", \n"
+"אחרת עליך ללחוץ על הכפתור \"%s\" בכדי לאתחל המחשב שלך."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "האם להפעיל אפשרות זו?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"התקנת מנדריבה לינוקס פרוסה על מספר תקליטורים. אם חבילה מסויימת\n"
+"שנבחרה ממוקמת בתקליטור אחר, מגש כונן התקליטורים יפתח לצורך\n"
+"הכנסת תקליטור אחר לפי הצורך. אם התקליטור המבוקש אינו ברשותך,\n"
+"עליך ללחוץ על \"%s\" להמשך ללא התקנת החבילה שאינה זמינה."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"כעת עליך לבחור איזה חבילות ברצונך להתקין במערכת שלך.\n"
+"קיימות אלפי חבילות זמינות עבור מנדריבה לינוקס, ועל מנת\n"
+"לפשט עבורך את בחירת החבילות הגדרנו קבוצות המכילות\n"
+"תוכנות לפי נושא.\n"
+"\n"
+"החבילות השונות שוייכו לקבוצות המייצגות שימושים אפשריים של\n"
+"המערכת שלך. הקבוצות השונות מויינו לארבעה נושאים. באפשרותך\n"
+"לבחור יישומים מנושאים שונים, למשל התקנת \"תחנת עבודה\"\n"
+"יכולה לכלול יישומים מקבוצת \"שרת\". \n"
+"\n"
+" * \"%s\": עליך לבחור קבוצה אחת או יותר\n"
+"מנושא זה באם השימוש המיועד של המחשב הוא כתחנת עבודה.\n"
+"\n"
+" * \"%s\": אם בכוונתך להשתמש במערכת\n"
+"לפיתוח תוכנה, עליך לבחור את הקבוצות הנדרשות מנושא זה.\n"
+"קבוצת \"LSB\" תגדיר את המערכת שלך באופן שתתאים למפרט\n"
+"Linux Standard Base.\n"
+"\n"
+" בחירת בקבוצת \"LSB\" תתקין גם קרנל מסדרת \"2.4\" , במקום\n"
+"ברירת המחדל מסדרה \"2.6\". דבר זה נועד להבטיח תאימות\n"
+"של 100%% לתקן LSB. גם ללא בחירה בקבוצת LSB, המערכת\n"
+"תהיה תואמת למפרט LSB כמעט ב 100%%.\n"
+"\n"
+" * \"%s\": באם השימוש המיועד של מערכת\n"
+"זו הוא כשרת, עליך לבחור את השרותים שברצונך להתקין.\n"
+"\n"
+" * \"%s\": נושא זה מרכז את סביבות העבודה\n"
+"הגרפיות. עליך לבחור לפחות סביבת עבודה גרפית אחת באם\n"
+"ברצונך להשתמש בממשק גרפי במחשב זה.\n"
+"\n"
+"העברת סמן העכבר מעל שם קבוצה תגרום להצגת הסבר קצר\n"
+"על הקבוצה.\n"
+"\n"
+"סימון התיבה \"%s\" שימושי באם ברצונך שליטה מלאה\n"
+"על התקנת החבילות או שיש לך היכרות מוקדמת עם החבילות\n"
+"המוצעות.\n"
+"\n"
+"התחלת ההתקנה באופן \"%s\" תאפשר לך לבטל את\n"
+"הסימון מעל הקבוצות ולמנוע התקנה של חבילות חדשות. אופן\n"
+"זה שימושי לשדרוג או לעדכון מערכת קיימת.\n"
+"\n"
+"יש באפשרותך לבצע התקנה מינימלית ע\"י הסרת הסימון מכל\n"
+"הקבוצות במהלך התקנה רגילה (להבדיל משדרוג). במקרה זה\n"
+"יוצג חלון שיאפשר לך לבחור אפשרויות שונות עבור התקנה שכזו:\n"
+"\n"
+" * \"%s\": התקנת החבילות ההכרחיות בלבד\n"
+"להפעלת שולחן עבודה גרפי.\n"
+"\n"
+" * \"%s\": התקנת בסיס המערכת בתוספת\n"
+"מספר תוכנות עזר והתיעוד שלהן. תצורה זו שימושית להגדרת שרת.\n"
+"\n"
+" * \"%s\": אפשרות זו תתקין את מספר\n"
+"החבילות הקטן ביותר הנדרש למערכת לינוקס עובדת. תצורה זו\n"
+"מאפשרת עבודה רק דרך שורת הפקודה וגודלה הוא כ 65 MB בלבד."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "עדכון"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "עם מסמכים בסיסיים"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "התקנה מינימלית באמת"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"מסך זה מוצג היות וביקשת לבחור את החבילות שיותקנו באופן פרטני.\n"
+"עבור כל נושא מוצגות החבילות שבאפשרותך להתקין, במבנה \"עץ\"\n"
+"ובמיון לקבוצות ותתי-קבוצות. יש באפשרותך לבחור קבוצות, תתי-קבוצות,\n"
+"או לבחור בחבילות בודדות.\n"
+"\n"
+"כל פעם שתיבחר חבילה מהעץ, יופיע תיאור של תוכן החבילה מצד\n"
+"שמאל (באנגלית) שתספק לך מידע אודות החבילה.\n"
+"\n"
+"!! אם נבחרה חבילת שרת, בין אם ישירות או מכיוון שנבחרה קבוצה\n"
+"המכילה חבילה זו, יהיה עליך לאשר שאכן ברצונך להתקין חבילה זו\n"
+"(מסך האישור יוצג בהמשך). כברירת מחדל, מנדריבה לינוקס\n"
+"תפעיל כל שרות מותקן במהלך אתחול המחשב. גם אם שרתים אלו\n"
+"בטוחים ולא ידוע על בעיות אבטחה בזמן שחרור ההפצה, בהחלט\n"
+"ייתכן שבעיות אבטחה התגלו או יתגלו במועד מאוחר יותר. אם לא\n"
+"ידוע לך מה שרות מסויים אמור לעשות או למה הוא יותקן, עליך\n"
+"ללחוץ על \"%s\". בחירה ב \"%s\" תגרום\n"
+"להתקנת השרותים הרשומים ולהפעלתם באופן אוטומטי בזמן אתחול\n"
+"המחשב. !!\n"
+"\n"
+"האפשרות \"%s\" מיועדת לנטרל\n"
+"את הודעת האזהרה המופיעה כאשר תוכנת ההתקנה בוחרת בחבילות\n"
+"הנדרשות לצורך התקנה של חבילות נבחרות עקב תלויות. תלויות בין\n"
+"חבילות פרושן שהתקנת חבילה מסויימת מחייבת התקנת חבילות\n"
+"נוספות. תוכנת ההתקנה יכולה לזהות בעצמה את החבילות שיש\n"
+"להתקין על מנת לספק את התלויות הנדרשות.\n"
+"\n"
+"סמל התקליטון הקטן בתחתית הרשימה מאפשר לך לטעון רשימת\n"
+"חבילות שנוצרה במהלך התקנה קודמת. דבר זה שימושי באם יש\n"
+"ברשותך מספר מחשבים שברצונך להתקין עם מבחר חבילות דומה.\n"
+"בחירה בסמל זה תבקש ממך להכניס תקליטון שנוצר בסיום התקנה\n"
+"קודמת. הטיפ השני בשלב הקודם מסביר כיצד ניתן ליצור תקליטור\n"
+"כזה."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "תלויות אוטומטיות"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "סינכרון זמן אוטומטי"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"אפשרויות\n"
+"\n"
+" השלבים הבאים מאפשרים לך לבחור האם ברצונך שהסביבה\n"
+"הגרפית תופעל בטעינת המערכת. תשובת \"%s\" מתאימה\n"
+"למחשב שאמור לתפקד כשרת, או באם לא הצלחת להגדיר את\n"
+"התצוגה כראוי בשלב ההתקנה."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"בשלב זה, עליך לבחור היכן תותקן מערכת מנדריבה לינוקס בכונן\n"
+"הקשיח שלך. אם הכונן הקשיח שלך ריק או אם מערכת הפעלה אחרת\n"
+"עושה שימוש בכל השטח שעל הכונן, יהיה צורך לבצע חלוקת מחיצות.\n"
+"במילים פשוטות, חלוקת מחיצות משמעה חלוקה לוגית של שטח הכונן\n"
+"לאזורים שונים על מנת ליצור את השטח הנדרש להתקנת מערכת\n"
+"מנדריבה לינוקס החדשה שלך.\n"
+"\n"
+"מאחר ותהליך חלוקת המחיצות הינו בלתי-הפיך ועלול לגרום לאובדן\n"
+"מידע באם כבר מותקנת לך מערכת הפעלה אחרת על הכונן, חלוקת\n"
+"מחיצות הינה תהליך מפחיד ומלחיץ עבור משתמשים חסרי ניסיון.\n"
+"למזלך, תהליך ההתקנה מכיל אשף אשר מפשט את הפעולה. לפני\n"
+"המשך ההתקנה, עליך לקרוא ביסודיות ולהבין את ההוראות שלהלן.\n"
+"\n"
+"כתלות בתצורת הכונן הקשיח שלך, מוצגות בפניך מספר אפשרויות\n"
+"כלהלן:\n"
+" * \"%s\": אפשרות זו תבצע\n"
+"חלוקת מחיצות אוטומטית של שטח(ים) פנוי(ים). בחירה באפשרות\n"
+"זו לא תדרוש ממך שום צעד נוסף.\n"
+"\n"
+" * \"%s\": האשף זיהה מחיצת לינוקס\n"
+"אחת או יותר על הכונן הקשיח. בחירת אפשרות זו תאפשר לך להגדיר\n"
+"את נקודת העיגון של כל אחת מהמחיצות. נקודות העיגון הקיימות\n"
+"יוצגו כברירת מחדל, וברוב המקרים מומלץ שלא לשנות הגדרות אלו.\n"
+"\n"
+" * \"%s\": באם מותקנת\n"
+"על הכונן הקשיח שלך מערכת חלונות של מיקרוסופט העושה שימוש\n"
+"בכל השטח שעל הכונן, יהיה עליך לפנות מקום להתקנת גנו/לינוקס.\n"
+"יש באפשרותך למחוק את מחיצת החלונות לחלוטין כולל כל המידע\n"
+"שעליה (ע\"י בחירה ב\"מחיקת כל המידע הקיים שעל מחיצת חלונות\")\n"
+"או להקטין את גודל מחיצת החלונות העושה שימוש במערכת קבצים\n"
+"FAT או NTFS. שינוי גודל יכול להתבצע ללא אובדן\n"
+"מידע, בתנאי שביצעת איחוי (defragmentation) של מחיצת החלונות\n"
+"בטרם תחילת ההתקנה. מומלץ ביותר לגבות את המידע לפני ביצוע\n"
+"פעולה זו. מומלץ לבחור באפשרות זו באם הנך רוצה להשתמש גם\n"
+"במנדריבה לינוקס וגם בחלונות של מיקרוסופט במחשב זה.\n"
+"\n"
+" לפני בחירה באפשרות זו, עליך להבין שבסיום הפעולה גודל מחיצת\n"
+"החלונות שלך יהיה קטן מהגודל המקורי שלה. לפיכך יישאר לך פחות\n"
+"מקום לשמירת מידע ולהתקנת תוכנות של חלונות.\n"
+"\n"
+" * \"%s\": עליך לבחור באפשרות\n"
+"זו רק אם ברצונך למחוק את כל המידע הקיים בכונן הקשיח שלך\n"
+"ולהתקין את מערכת מנדריבה לינוקס בכל השטח שהתפנה. יש\n"
+"לנקוט משנה זהירות טרם בחירת אפשרות זו, מאחר ואין דרך לשחזר\n"
+"את המצב הקיים אחרי השלמת הפעולה.\n"
+"\n"
+" !! בחירה באפשרות הנ\"ל תגרום למחיקת כל המידע שעל הכונן\n"
+"הקשיח !!\n"
+"\n"
+" * \"%s\": אפשרות זו מופיעה\n"
+"כאשר כל הכונן תפוס על ידי מערכת חלונות של מיקרוסופט. בחירה\n"
+"באפשרות זו תגרום לפירמוט ומחיקת כל המידע שעל הכונן הקשיח.\n"
+"\n"
+" !! בחירה באפשרות הנ\"ל תגרום למחיקת כל המידע שעל הכונן\n"
+"הקשיח !!\n"
+"\n"
+" * \"%s\": יש לבחור באפשרות\n"
+"זו באם ברצונך לבצע חלוקת מחיצות בהתאמה אישית. זהירות - אפשרות\n"
+"זו מסוכנת ושימוש לא מושכל בה עלול לגרום לאובדן כל המידע שקיים\n"
+"בכונן הקשיח שלך. לפיכך, אפשרות זו מומלצת רק אם יש לך נסיון קודם\n"
+"בחלוקת מחיצות, ולאחר עיון בתיעוד המתאים המופיע במדריך המצורף\n"
+"לחבילות מנדריבה לינוקס הנרכשות בחנות."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "שימוש במחיצות קיימות"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "מחיקת כל המידע הקיים בכונן הקשיח"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"ההתקנה הסתיימה כעת, ומערכת הגנו/לינוקס שלך מוכנה לשימוש.\n"
+"עליך ללחוץ \"%s\" בכדי לאתחל את המחשב. נא לא לשכוח להוציא\n"
+"את תקליטור או תקליטון ההתקנה. הדבר הראשון שיופיע על המסך\n"
+"לאחר סיום בדיקות החומרה, הוא מנהל האתחול, שמאפשר לבחור\n"
+"איזו מערכת הפעלה לאתחל.\n"
+"\n"
+" הכפתור \"%s\" משמש להצגת שתי אפשרויות נוספות:\n"
+" \n"
+"* \"%s\": יצירת תקליטון תצורה אשר יאפשר התקנה\n"
+"חוזרת ללא עזרת מפעיל, תוך שימוש בהגדרות זהות להתקנה\n"
+"הנוכחית. \n"
+"\n"
+" לתשומת לבך, אחרי לחיצה על כפתור זה יופיעו שתי אפשרויות\n"
+"נוספות:\n"
+"\n"
+" *\"%s\". שחזור התקנה יתבצע באופן אוטומטי\n"
+"למחצה, כאשר חלוקת מחיצות תתבצע באופן אינטראקטיבי.\n"
+" \n"
+" *\"%s\". שחזור התקנה יתבצע באופן אוטומטי\n"
+"לחלוטין: תכולת הכונן הקשיח תמחק, וכל המידע השמור בו יאבד.\n"
+"\n"
+" אפשרות זאת שימושית מאוד, כאשר עליך לבצע התקנה על מספר\n"
+"רב של מחשבים דומים. ניתן לקבל מידע נוסף באיזור ההתקנה\n"
+"האוטומטית באתר שלנו.\n"
+"\n"
+" * \"%s\"(*): שמירת רשימת החבילות בהתקנה זאת.\n"
+"בכדי להשתמש ברשימה זאת עבור התקנה חדשה, עליך להתחיל\n"
+"התקנות חדשות מתקליטון זה. במסך הפתיחה, עליך ללחוץ על\n"
+"מקש F1 ואז לכתוב linux defcfg=\"floppy\" וללחוץ על Enter.\n"
+"\n"
+"(*) שמירת התצורה דורשת תקליטון מפורמט עם מערכת קבצים\n"
+"FAT. ליצירת תקליטון כזה במערכת לינוקס יש להשתמש בפקודת\n"
+"\"mformat a:\", או \"fdformat /dev/fd0\" ואז \"mkfs.vfat/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "יצירת תקליטון התקנה אוטומטית"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"בשלב זה, עליך לבחור את סף האבטחה הרצוי עבור מחשב זה.\n"
+"ככלל אצבע, סף האבטחה אמור להיות גבוה יותר באם המערכת\n"
+"כוללת מידע רגיש, או אם המחשב יהיה מקושר לאינטרנט.\n"
+"ה\"מחיר\" של סף אבטחה גבוה יותר יבוא ברוב המקרים על\n"
+"חשבון קלות השימוש.\n"
+"\n"
+"באם קשה לך לבחור, מומלץ לאשר את ברירת המחדל. בכל\n"
+"מקרה יש באפשרותך לשנות את סף האבטחה בשלב מאוחר יותר\n"
+"דרך האשף המתאים במרכז הבקרה.\n"
+"\n"
+"השדה \"%s\" משמש להגדרת מנהל האבטחה האחראי למחשב\n"
+"זה. הודעות הנוגעות לאבטחת המערכת יישלחו לכתובת המצויינת\n"
+"בסעיף זה."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "מנהל אבטחה"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"בשלב זה, עליך לבחור היכן תותקן מערכת מנדריבה לינוקס בכונן הקשיח\n"
+"שלך. אם כבר הוגדרו מחיצותמתאימות, בין אם על ידי התקנה קודמת\n"
+"של גנו/לינוקס או על ידי כלי אחר לחלוקת מחיצותף באפשרותך\n"
+"להשתמש במחיצות שהוגדרו קודם. אחרת, עליך להגדיר את חלוקת\n"
+"המחיצות לצורך ההתקנה.\n"
+"\n"
+"על מנת ליצור את המחיצות, עליך לבחור בשלב ראשון את הכונן הקשיח\n"
+"בו תותקן המערכת. באפשרותך לבחור את הכונן הקשיח הראשון על ידי\n"
+"בחירת hda (או sda לכונן SCSI), לבחור את הכונן השני על ידי בחירת\n"
+"hdb (או sdb לכונן SCSI) וכן הלאה.\n"
+"\n"
+"באפשרותך לבחור אחת מהאפשרויות הבאות כדי לחלק את הכונן הקשיח:\n"
+"\n"
+" * \"%s\": אפשרות זו תמחק את כל המחיצות המוגדרות בכונן הקשיח\n"
+"\n"
+" * \"%s\": אפשרות זו מאפשרת לך ליצור באופן אוטומטי מחיצתext3\n"
+"ומחיצת החלפה בשטח הפנוי של הכונן הקשיח שלך\n"
+"\n"
+"\"%s\": מאפשר לך לבחור באפשרויות נוספות:\n"
+"\n"
+" * \"%s\": גיבוי טבלת המחיצות לתקליטון. אפשרות זו\n"
+"שימושית לשחזור טבלת המחיצות במקרה הצורך. מומלץ מאוד לבצע\n"
+"שלב זה כאמצעי ביטחון.\n"
+"\n"
+" * \"%s\": שחזור טבלת מחיצות שנשמרה קודם לכן בתקליטון.\n"
+"\n"
+" * \"%s\": אם טבלת המחיצות שלך נפגמה, באפשרותך לנסות\n"
+"לשחזר אותה באמצעות אפשרות זו. עליך לנהוג במשנה זהירות ולזכור\n"
+"שהצלחת הפעולה אינה מובטחת.\n"
+"\n"
+" * \"%s\": ביטול כל השינויים ושחזור טבלת המחיצות המקורית\n"
+"של הכונן בטרם בוצעו השינויים.\n"
+"\n"
+" * \"%s\": ביטול הסימון מאפשרות זו יחייב משתמשים לעגן ולנתק\n"
+"באופן ידני מדיות שליפות כגון תקליטורים ותקליטונים.\n"
+"\n"
+" * \"%s\": אפשרות זו תפעיל אשף לחלוקת הכונן הקשיח. השימוש\n"
+"באשף מומלץ למשתמשים לא מנוסים בחלוקת מחיצות.\n"
+"\n"
+" * \"%s\": אפשרות זו מבטלת את השינויים שביצעת.\n"
+"\n"
+" * \"%s\": איפשור פעולות נוספות על המחיצות (סוג,)\n"
+"אפשרויות, פירמוט) והצגת מידע מתקדם על הכונן הקשיח.\n"
+"\n"
+" * \"%s\": אפשרות זו תשמור את השינויים שביצעת לכונן הקשיח\n"
+"לאחר סיום שלב חלוקת המחיצות.\n"
+"\n"
+"בעת הגדרת גודל מחיצה, באפשרותך לשנות את גודל המחיצה\n"
+"בעזרת מקשי החיצים על המקלדת.\n"
+"\n"
+"הערה: באפשרותך להפעיל כל אפשרות בעזרת המקלדת. מקש [Tab]\n"
+"או מקשי החיצים [מעלה/מטה] מאפשרים לך לעבור בין המחיצות.\n"
+"\n"
+"כאשר נבחרה מחיצה, באפשרותך ללחוץ על:\n"
+"\n"
+" * Ctrl-c ליצירת מחיצה חדשה (כאשר נבחרה מחיצה ריקה)\n"
+"\n"
+" * Ctrl-d למחיקת מחיצה\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"הפרק ext2FS במדריך המשתמש (לרוכשי חבילה ממנדריבה)\n"
+"מכיל מידע על סוגי המחיצות השונים שבאפשרותך להגדיר.\n"
+"\n"
+"אם מחשב זה משתמש במעבד PowerPC (למשל מקינטוש), עליך ליצור\n"
+"מחיצת HFS קטנה בגודל 1MB שתשמש את טוען המערכת yaboot.\n"
+"באפשרותך להגדיר יותר מקום למחיצה זו, למשל 50MB, כדי להכין מקום\n"
+"לקבצי kernel ו-ramdisk חלופיים שיאפשרו לך להחלץ ממצבי תקלה\n"
+"שימנעו ממך לאתחל את המערכת באופן הרגיל."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "עיגון אוטומטי של התקן-נשלף"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "מעבר בין מצבי רגיל\"מומחה "
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": עליך לבדוק את בחירת המדינה. אם.\n"
+"מיקומך אינו במדינה זאת, עליך ללחוץ על הכפתור %s\n"
+"ואז לבחור מדינה אחרת. אם המדינה שלך לא מופיעה ברשימה זו,\n"
+"עליך ללחוץ על הכפתור \"%s\" לרשימה מורחבת."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"שלב זה מופעל רק כאשר זוהתה מחיצת גנו/לינוקס קיימת במחשבך.\n"
+"\n"
+"האשף צריך לדעת אם ברצונך לבצע התקנה חדשה או לשדרג את מערכת\n"
+"מנדריבה לינוקס הנוכחית המותקנת במחשב זה.\n"
+"\n"
+" * \"%s\": אופן התקנה זה ימחק ברוב המקרים את המערכת הנוכחית.\n"
+"עם זאת, ובכפוף לחלוקת המחיצות הקיימת שלך, יש באפשרותך למנוע\n"
+"מחלק מהמידע הקיים שלך (בעיקר מחיצת home/) מלהיות משוכתב.\n"
+"אפשרות זו שימושית אם ברצונך לשנות את אופן חלוקת הכונן הקשיח\n"
+"לשנות את מערכת הקבצים.\n"
+"\n"
+" * \"%s\": אופן התקנה זה יאפשר לך לעדכן את החבילות המותקנות\n"
+"במערכת מנדריבה לינוקס שלך. אופן חלוקת המחיצות ומידע המשתמש\n"
+"שלך לא ישוכתבו. רוב שלבי ההתקנה האחרים עדיין זמינים, באופן דומה\n"
+"להתקנה רגילה.\n"
+"\n"
+"הערה:\n"
+"בחירת אפשרות ה\"שדרוג\" אמורה לפעול על מערכות מנדריבה לינוקס\n"
+"מגרסה 8.1 ואילך. שדרוג גרסאות הקודמות לגרסת מנדריבה לינוקס 8.1\n"
+"אינה מומלצת."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"אשף ההתקנה בחר עבורך את פריסות המקלדת המתאימות לשפות שבחרת\n"
+"בשלב קודם. עליך לבחור את פריסת המקלדת מבין האפשרויות המופיעות\n"
+"להלן או לאשר את ברירת המחדל.\n"
+"\n"
+"במקרים מסויימים, יתכן כי המקלדת שברשותך אינה תואמת בדיוק לשפה בה\n"
+"בחרת. לדוגמה, אם שפת האם שלך היא אנגלית אך מקום מגוריך הוא בשוויץ,\n"
+"ייתכן ויש ברשותך מקלדת שוויצרית. לחילופין, אם מקום מגורייך הוא בקוויבק\n"
+"(קנדה) אך בחרת בשפה האנגלית, ייתכן והשפה בה בחרת ופריסת המקלדת\n"
+"שברשותך אינם תואמים. בשני המצבים, השלב הנוכחי בהתקנה יאפשר לך\n"
+"לבחור את פריסת המקלדת הרצוייה מתוך רשימה.\n"
+"\n"
+"באם המקלדת שברשותך לא מופיעה ברשימה, עליך ללחוץ על הכפתור \"%s\"\n"
+"על מנת להציג רשימה מלאה של המקלדות הנתמכות.\n"
+"\n"
+"אם פריסת המקלדת הרצוייה אינה מבוססת לאטינית, החלון הבא יאפשר לך\n"
+"לבחור את צרוף המקשים שיאפשר לך להחליף בין פריסות שונות."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "ספרדית"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "עם הדמיית גלגלת"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "כללי | כל עכבר PS/2 ו-USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"נא לבחור את היציאה הנכונה. לדוגמה, יציאה \"COM1\" תחת Windows תקרא, \"ttyS0"
+"\"\n"
+"תחת GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "אימות"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"כעת עליך לבחור מנגנון הדפסה במערכת. מערכות הפעלה אחרות אפשרו לך\n"
+"להשתמש במערכת הדפסה אחת, אולם מנדריבה לינוקס נותנת לך שתיים\n"
+"כל אחת ממערכות ההדפסה מותאמות לשימושים מסוימים ולתצורות שונות. \n"
+"\n"
+" * \"%s\" שהיא ראשי תיבות של \"הדפס, אל תוסיף לתור\" היא\n"
+"הבחירה המומלצת אם יש לך גישה ישירה למדפסת, ברצונך לתקן בעיות של\n"
+"דפים שנתקעים במדפסת, ואין לך מדפסות רשת. (\"%s\" יכולה\n"
+"לשמש בתצורות רשת פשוטות, אך היא עלולה להיות איטית במקצת).\n"
+"מומלץ להשתמש במערכת זו באם אין לך היכרות קודמת עם גנו/לינוקס.\n"
+"\n"
+"* \"%s\" - שהיא ראשי תיבות של \"מערכת הדפסה\n"
+"סטנדרטית ביוניקס\" מצוינת להדפסה למדפסת מקומית או למדפסת\n"
+"שנמצאת בחצי השני של העולם. היא פשוטה להגדרה ויכולה לשמש\n"
+"בתור לקוח אל מערכת ההדפסה הישנה \"lpd\" , כך שהיא מבטיחה\n"
+"תאימות עם מערכות הפעלה ישנות יותר.אשר אולי יצטרכו שירותי הדפסה.\n"
+"למרות עצמתה הרבה, התצורה הבסיסית פשוטה כמעט כמו \"pdq\".\n"
+" אם נדרשת לך הדמיית שירותי \"lpd\" עליך לאפשר את שרות הרקע\n"
+"\"cups-lpd\" המערכת \"%s\" כוללת גם כלי גרפי \n"
+"להדפסה או לבחירה של אפשרויות הדפסה, וכמו כן לניהול המדפסת.\n"
+"\n"
+"אם לאחר ההתקנה יתברר כי מערכת ההדפסה אינה מתאימה לצרכים\n"
+"שלך, יש באפשרותך לשנות אותה על ידי הרצת אשף המדפסת\n"
+"ממרכז הבקרה של מנדריבה לינוקס ובחירה בכפתור \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "מצב מומחה"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"בתחילה יבוצע זיהוי התקני IDE שבמחשבך על ידי DrakX שגם יסרוק אחר אחד או\n"
+" יותר כרטיסי PCI SCSI במערכת שלך. אם כרטיס SCSI נמצא, DrakX יתקין מנהל התקן\n"
+" מתאים באופן אוטומטי.\n"
+" \n"
+" \n"
+"מפני שזיהוי החומרה האוטומטי אינו מובטח, DrakX עלול להיכשל בזיהוי הכוננים "
+"הקשיחים\n"
+" המותקנים במחשבך. במקרה שכזה יהיה עליך להגדיר את החומרה שברשותך באופן ידני.\n"
+" \n"
+" \n"
+" אם היה עליך להגדיר מתאם PC SCSI באופן ידני, DraxX ישאל אם ברצונך לעדכן את\n"
+" ההגדרות עבורו. עליך לאפשר ל DrakX לסרוק את החומרה אחר הגדרות ייחודיות "
+"לכרטיס\n"
+" אשר דרושות לאתחול המתאם. ברוב המקרים DrakX יצליח להשלים שלב זה ללא בעיות\n"
+" מיוחדות.\n"
+" \n"
+" \n"
+" אם DrakX נכשל באיתור האוטומטי של הפרמטרים הנדרשים עבור החומרה, יהיה עליך\n"
+" להגדיר את מנהל ההתקנים בעצמך."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": אם זוהה כרטיס קול במערכת שלך, הוא מוצג להלן.\n"
+"אם שמת לב שהכרטיס הקול שמוצג אינו מתאים לחומרה שלך, באפשרותך,\n"
+"ללחוץ על הכפתור ולבחור מנהל-התקן אחר."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "מודם ISDN "
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ממשק גרפי"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"עליך לבחור את הכונן הקשיח שברצונך למחוק על מנת לפנות מקום\n"
+"למחיצה החדשה עבור מנדריבה לינוקס. זהירות !!! כל המידע\n"
+"שנמצא על המחיצה יימחק ולא תהיה אפשרות לשחזר אותו!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"עליך ללחוץ על %s אם ברצונך למחוק את כל המחיצות והמידע על כונן קשיח\n"
+"זה. זהירות: אחרי לחיצה על \"%s\" אין דרך לשחזר את המחיצות והמידע\n"
+"המופיעים בכונן קשיח זה, כולל כל מידע של מערכת חלונות.\n"
+"נא ללחוץ על \"%s\" לעצירת תהליך זה ללא איבוד המידע והמחיצות הקיימים."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "המשך ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- קודם"
+
diff --git a/perl-install/install/help/po/hi.po b/perl-install/install/help/po/hi.po
new file mode 100644
index 000000000..42bd30982
--- /dev/null
+++ b/perl-install/install/help/po/hi.po
@@ -0,0 +1,1467 @@
+# translation of DrakX-hi.po to हिन्दी, भारत (Hindi, India)
+# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>, 2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-hi\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-04-04 21:54+0530\n"
+"Last-Translator: धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>\n"
+"Language-Team: हिन्दी (Hindi) <dysxhi@yahoo.co.in>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"आगे बढ़ने के पूर्व, आपको अधिकारपत्र की शर्तों को सावधानीपूर्वक पढ़ लेना चहिए। यह समस्त \n"
+"मैनड्रिव लिनक्स वितरण को कवर करता है । यदि आप इसमें दिये हुई सभी शर्तों को मानते है,\n"
+" तो \"%s\" बाक्स पर चिह्नन्ति करें। यदि नहीं, तो \"%s\" बटन पर क्लिक करने से, \n"
+"आपका कम्प्यूटर रीबूट हो जायेगा ।"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"जीएनयू/लिनक्स एक बहु-उपयोक्ता तंत्र है, इसका अर्थ है कि प्रत्येक उपयोगकर्ता के पास उनकी\n"
+"अपनी वरीयतायें, उनकी अपनी संचिकायें इत्यादि हो सकती है। बहु-उपयोक्ता तंत्रों के बारे में\n"
+"और अधिक जानने के लिए आप ``स्ट्रार्टर निर्देशिका'' को पढ़ सकते है। परन्तु \"रूट\" के जैसे ना\n"
+"होते हुए, जो कि तंत्र प्रबंधक है, उपयोगकर्ता जिनको आप इस समय जोड़ेगे, को कुछ भी परिवर्तित "
+"ना करने\n"
+"की अनुमति होगी सिवाय उनकी अपनी संचिकाओं और उनकी अपनी संरचनाओं की जिससे समूचे तंत्र\n"
+"पर प्रभाव डालने वाले, अनिच्छापूर्वक या हानि-पहुँचाने-के-उद्वेश्य से किये हुए परिवर्तनों से\n"
+"इस तंत्र की रक्षा होती है। आपको अपने लिए कम-से-कम एक नियमित उपयोगकर्ता का\n"
+"निर्माण करना होगा -- ये वह खाता है जिसका आपको नियमित, प्रतिदिन उपयोग हेतु\n"
+"करना चाहिए। हालांकि कुछ भी और सबकुछ करने के लिए \"रूट\" की भांति लॉग\n"
+"करना बहुत सहज है, परन्तु यह अति खतरनाक भी है!\n"
+"एक छोटी सी त्रुटि का अर्थ हो सकता है कि आपका तंत्र अब और कार्य ना करें ।\n"
+"यदि एक नियमित उपयोगकर्ता की भांति आप एक गम्भीर त्रूटि करते है, तो अधिक-से-अधिक यह "
+"हो\n"
+"सकता है कि आप कुछ सूचनाओं को खो बैठें, परन्तु समस्त तंत्र पर इसका कोई प्रभाव नहीं पड़ेगा।\n"
+"\n"
+"प्रथम प्रविष्टी आपके वास्तविक नाम को पूछती है । वास्तव में, यह एक आवश्यक सूचना नहीं है।\n"
+"-- वास्तव में आप जो चाहें वो बता सकते है । इस प्रविष्टी में टाइप किये गये हुए प्रथम शब्द को\n"
+"ड्रैकएक्स उपयोग करेगा और इसकी \"%s\" फ़ील्ड में प्रतिलिपि बनायेगा, जो कि इस उपयोगकर्ता\n"
+" का नाम होगा जिससे तंत्र में लॉग किया जा सकेगा । यदि आप चाहते है, तो आप डिफ़ाल्ट को "
+"बदल\n"
+"सकते है और उपयोगकर्ता के नाम को परिवर्तित कर सकते है । अगला चरण एक कूटशब्द को बताना "
+"है।\n"
+"सुरक्षा की दृष्टि से, एक बिना-अधिकार-वाले (नियमित) उपयोगकर्ता का कूटशब्द, \"रूट\" के "
+"कूटशब्द जितना\n"
+"आवश्यक नहीं है, परन्तु ऐसा कोई कारण नहीं है कि इसे खाली रख कर या अति सरल बना कर,\n"
+"इस पर ध्यान ना दिया जायें: अंत में, यह आपकी संचिकायें होगी जो कि\n"
+"संकट में होगी।\n"
+"\n"
+"जब आप \"%s\" पर क्लिक करते है, तब आप अन्य उपयोगकर्ताओं को जोड़ सकते है। अपने मित्रों में "
+"से\n"
+"हर एक के लिए, एक उपयोगकर्ता को जोड़ें । उदाहरण हेतु अपने पिता या अपनी बहन के लिए । \"%"
+"s\"\n"
+"पर क्लिक करें जब आप उपयोगकर्ताओं का जोड़ना समाप्त कर लें ।\n"
+"\n"
+"\"%s\" बटन पर क्लिक करके आप डिफ़ाल्ट \"shell\" को उस उपयोगकर्ता के लिए\n"
+"बदल सकते है (डिफ़ाल्ट bash है)।\n"
+"\n"
+"जब आप उपयोगकर्ताओं को जोड़ना समाप्त कर चुकेगें, तब आपसे एक उपयोगकर्ता का चयन करने के "
+"लिए\n"
+"पूछा जायेगा जो कि जब कम्प्यूटर आरम्भ होने के बाद स्वाचालित रूप से तंत्र में लॉग कर सके ।\n"
+"यदि आप इस लक्षण में रूचि रखते है (और स्थानीय सुरक्षा के बारे में अधिक चिंता नहीं करते है),\n"
+" तो इच्छित उपयोगकर्ता और विण्डो प्रबंधक का चयन करें और फ़िर \"%s\" पर क्लिक करें।\n"
+"यदि आप इस सुविधा के इच्छुक नहीं है, तो \"%s\" बॉक्स को अचिह्नन्ति करें।"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "क्या आप इस लक्षण का उपयोग करना चाहते है?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"आपकी हार्ड डिस्क पर खोजे गये विद्यमान लिनक्स विभाजनों की यह सूची है । \n"
+"आप विज़ार्ड द्वारा बनायी गयी पसन्दों को रख सकते है, क्योंकि लगभग सभी सामान्य\n"
+"संसाधनों के लिए यह अच्छी होती है। यदि आप किन्हीं परिवर्तनों को करते है, तो आपको \n"
+"कम-से-कम एक रूट विभाजन (\"/\") को परिभाषित करना चाहिए । एक अति लघु विभाजन का\n"
+" चयन ना करें अन्यथा आप इस पर अधिक सॉफ़्टवेयर को संसाधित नहीं कर पायेगें । यदि आप अपनी\n"
+"सूचनाओं को एक अलग विभाजन पर सुरक्षित रखने चाहते है, तो आपको एक होम \"/home\" विभाजन "
+"का \n"
+"भी निर्माण करना होगा (तभी सम्भव है यदि आपके पास एक से अधिक लिनक्स विभाजन उपलब्ध हो)"
+"।\n"
+"\n"
+"प्रत्येक विभाजन निम्न तौर पर सूचीबद्ध है: \"नाम\", \"क्षमता\"।\n"
+"\n"
+"\"नाम\" व्यवस्थित है: \"हार्ड ड्राइव का प्रकार\", \"हार्ड ड्राइव की संख्या\",\n"
+"\"विभाजन संख्या\" (उदाहरण हेतु , \"hda1\")। \n"
+"\n"
+"\"हार्ड ड्राइव का प्रकार\" \"hd\" है यदि आपकी हार्ड ड्राइव एक आईडीई हार्ड ड्राइव है "
+"और \n"
+"\"sd\" यदि यह एक स्कैसी हार्ड ड्राइव है। \n"
+"\n"
+"\"हार्ड ड्राइव संख्या\" \"hd\" या \"sd\" के बाद की एक संख्या होती है। \n"
+"आईडीई हार्ड ड्राइवों के लिए:\n"
+"\n"
+" * \"a\" का अर्थ है \"मुख्य आईडीई नियंत्रक पर मास्टर हार्ड ड्राइव\";\n"
+"\n"
+" * \"b\" का अर्थ है \"मुख्य आईडीई नियंत्रक पर स्लेव हार्ड ड्राइव\";\n"
+"\n"
+" * \"c\" का अर्थ है \"द्वितीय आईडीई नियंत्रक पर मास्टर हार्ड ड्राइव \";\n"
+"\n"
+" * \"d\" का अर्थ है \"द्वितीय आईडीई नियंत्रक पर स्लेव हार्ड ड्राइव\"।\n"
+"\n"
+"SCSI हार्ड ड्राइवों के साथ, एक \"a\" का अर्थ है \"निम्नतम SCSI पहचानसंख्या\", एक \"b"
+"\" का अर्थ है\n"
+"\"द्वितीय निम्नतम SCSI पहचानसंख्या\", इत्यादि।"
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"मैनड्रिव लिनक्स संसाधक को अनेकों सीडी-रॉमों पर वितरित किया जाता है । \n"
+"यदि एक चयनित पैकेज अन्य सीडी-रॉम पर स्थित है, तो ड्रैकएक्स इस वर्तमान \n"
+"सीडी को बाहर निकाल देगा और जैसी की आवश्यकता है आपसे सही सीडी को डालने को कहेगा।"
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"अब समय है कि आप बतायें कि आप किन कार्यक्रमों को अपने कम्प्यूटर ।\n"
+"पर संसाधित करना चाहते है । मैनड्रिव लिनक्स के लिए असंख्य पैकेजों की \n"
+"उपलब्धता है, और इसे सहज बनाने हेतु, समान पैकेजों को एक जैसे कार्यक्रमों \n"
+"वाले समूहों में रखा गया है।\n"
+"\n"
+"पैकेजों को आपकी मशीन के एक विशेष उपयोग के लिए सबंधित समूहों में क्रमबद्ध\n"
+"किया गया है । मैनड्रिव लिनक्स पैकेजों को चार वर्गों में क्रमबद्ध करता है। \n"
+"आप विभिन्न वर्गों से कार्यक्रमों से मिला और मेल कर सकते है, इसप्रकार से\n"
+"``कार्यकेन्द्र'' संसाधन ``विकास'' वर्ग में संसाधित कार्यक्रमों को भी ले सकता है।\n"
+"\n"
+" * \"%s\": यदि आप अपनी मशीन को एक कार्यकेन्द्र की भांति उपयोग करने की योजना बना रहे "
+"है, तो\n"
+"कार्यकेन्द्र वर्ग में से एक या अधिक समूहों का चयन करें।\n"
+"\n"
+" * \"%s\": यदि अपनी मशीन को प्रोग्रामिंग के लिए उपयोग करने हेतु योजना बना रहा है,\n"
+"तो इस वर्ग से निर्दिष्ट समूहों का चयन करें।\n"
+"\n"
+" * \"%s\": यदि आप अपनी मशीन एक सर्वर बनाने के इच्छुक है, तो उन सामान्य सेवाओं का चयन "
+"करें जिन्हें \n"
+"आप अपनी मशीन पर संसाधित करना चाहते है।\n"
+"\n"
+" * \"%s\": यह वह स्थान है जहाँ आप अपने पसन्दीदा सचित्र \n"
+"वातावरण का चयन करेगें । यदि आप एक सचित्र इन्टरफ़ेस को \n"
+"रखना चाहते है, तो कम-से-कम एक का चयन किया जाना चाहिए।\n"
+"\n"
+"माउस कर्सर को एक समूह के नाम के ऊपर ले जाने पर, यह उस वर्ग के बारे में एक लघु \n"
+"विवरण दिखायेगा । एक नियमित संसाधन को करते समय (एक उन्नयन के विपरीत), \n"
+"यदि आपने सभी समूहों को अचयनित कर दिया है , तो एक संवाद एकदम से सबसे ऊपर दिखेगा और \n"
+"एक निम्नतम संसाधन के लिए आवश्यक विभिन्न विकल्पों को प्रस्तावित करेगा:\n"
+"\n"
+" * \"%s\": एक कार्यशील सचित्र डेस्कटाप हेतु, कम-से-कम सम्भव पैकेजों को \n"
+"संसाधित करता है।\n"
+"\n"
+" * \"%s\": आधार तंत्र को बेसिक उपयोगिता कार्यक्रमों और उनके प्रलेखन के साथ\n"
+"संसाधित करता है। यह संसाधन एक सर्वर की स्थापना करने हेतु उचित है।\n"
+"\n"
+" * \"%s\": एक कार्यरत लिनक्स तंत्र को पाने के लिए, नितान्त आवश्यक कम-से-कम \n"
+"पैकेजों को संसाधित करता है । इस संसाधन के साथ, आपके पास सिर्फ़ एक\n"
+"कॉमाण्ड लाइन इन्टरफ़ेस होगा । इस संसाधन का कुल आकार लगभग\n"
+"६५ मेगाबाइट है।\n"
+"\n"
+"आपने \"%s\" बाक्स को चिह्नन्ति किया है, जो कि उपयोगी है, यदि आप \n"
+"प्रस्तावित पैकेजों से परिचित है या यदि क्या संसाधित होगा इस पर \n"
+"आप सम्पूर्ण नियंत्रण चाहते है।\n"
+"\n"
+"यदि आपने संसाधन को \"%s\" विधा में आरम्भ किया है, तो किसी नवीन पैकेज के संसाधन से\n"
+"बचाव के लिए, आप सभी वर्गों को अचिह्नन्ति कर सकते है । एक विद्यमान तंत्र की मरम्मत या\n"
+"उन्नयन के लिए यह उपयोगी होता है।"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "उन्नयन"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "आधारभूत प्रलेखन के साथ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "वास्तविक निम्नतम संसाधन"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"यदि आपने संसाधन प्रक्रिया को यह बताया है कि आप एक-एक करके पैकेजों का चयन करना चाहते "
+"है,\n"
+"तो यह आपको एक वृक्ष प्रस्तुत करेगा जिसमें कि सभी पैकेजों को समूहों और उप-समूहों में वर्गीकृत\n"
+"किया गया है। इस वृक्ष को देखते समय, आप किसी भी समूहों का, उप-समूहों का,\n"
+"या एक-एक करके पैकेजों का चयन कर सकते है। \n"
+"\n"
+"जब भी आप इस वृक्ष पर स्थित एक पैकेज का चयन करते है, तो दाँयी तरफ़ एक विवरण आता है\n"
+"और आपको ज्ञात करता है कि इस पैकेज का उद्वेश्य क्या है।\n"
+"\n"
+"!! यदि एक सर्वर पैकेज का चयन किया जा चुका है, क्योंकि या तो आपने विशिष्ट रूप से \n"
+"एक अलग पैकेज का चयन किया है या क्योंकि यह एक पैकेजों के समूह का भाग \n"
+"है, तो आपसे यह सुनिश्चित करने को पूछा जायेगा कि वास्तव में इस\n"
+"सर्वरों को संसाधित करना चाहते है। डिफ़ाल्ट के तौर पर, मैनड्रिव लिनक्स स्वतः\n"
+"ही किसी संसाधित सेवाओं को बूट के समय आरम्भ करेगा । यदि वे सुरक्षित भी हो\n"
+"और वितरण जिस समय भेजा जा रहा है उस समय तक उनके बारे में कोई ज्ञात विचारणीय विषय\n"
+"नहीं हो, फ़िर भी यह पूर्णता सम्भव है कि इस मैनड्रिव लिनक्स को अंतिम रूप\n"
+"देने के उपरान्त, सुरक्षा छिद्रों को खोजा गया हो। यदि आप नहीं जानते है\n"
+"कि एक विशेष सेवा को क्या करना चाहिए या इसे क्यों संसाधित किया गया है, \n"
+"तो \"%s\" पर क्लिक करें। \"%s\" पर क्लिक करने से सूचीबद्व सेवाओं का संसाधन\n"
+"किया जायेगा और डिफ़ाल्ट के तौर पर, इन्हें स्वतः ही आरम्भ किया जायेगा ।!!\n"
+"\n"
+"\"%s\" विकल्प का उपयोग चेतावनी संवाद को निष्क्रिय करने के लिए होता है\n"
+"जो कि तब दिखता है जब भी संसाधन प्रक्रिया स्वतः ही आधिनता विषय को स्थिर करने के लिए\n"
+"एक पैकेज का चयन करती है। कुछ पैकेजों के मध्य ऐसा सबंध होता है जिससे कि\n"
+"एक पैकेज के संसाधन को आवश्यकता होती है कि कुछ अन्य कार्यक्रम भी संसाधित हो।\n"
+"संसाधन प्रक्रिया इस बात का निर्णय कर सकती है कि एक आधिनता को सन्तोष देने के लिए,\n"
+"किन पैकेजों की आवश्यकता है जिससे संसाधन सफ़लतापूर्वक सम्पन्न हो जायें।\n"
+"\n"
+"सूची के अंत में दिया हुआ एक छोटा सा फ़्लापी आइकॉन आपको एक पूर्व में किये हुए संसाधन के \n"
+"दौरान निर्मित पैकेजों की सूची को लोड करने की अनुमति प्रदान करता है। यह उपयोगी है यदि\n"
+"आप के पास बहुत सी मशीनें है जिन्हें आप समान रूप से संरचित करना चाहते है। \n"
+"इस आईकॉन पर क्लिक करने से, पूर्व में किये गये अन्य संसाधन के अंत में निर्मित एक फ़्लापी\n"
+"डिस्क को डालने के लिए आपसे कहा जायेगा। ऐसी एक फ़्लापी का निर्माण कैसे करने के लिए, \n"
+"अंतिम चरण के द्वितीय संकेत को पढ़ें।"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "स्वतः अधिनताऐं"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" बटन पर क्लिक करने से प्रिंटर संरचना विज़ार्ड खुल जायेगा।\n"
+"एक नवीन प्रिंटर को स्थापित कैसे किया जायें इस विषय में और अधिक \n"
+"जानकारी प्राप्त करने हेतु स्टार्टर निर्देशिका में अनुरूप पाठ को देखें । वहाँ प्रस्तुत \n"
+"किया हुआ इन्टरफ़ेस वही है जिसका की उपयोग संसाधन के दौरान किया गया है।"
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"इस संवाद का उपयोग यह चयन करने हेतु किया जाता है कि आप किन सेवाओं को बूट के समय\n"
+"आरम्भ करना चाहते है।\n"
+"\n"
+"वर्तमान संसाधन पर उपलब्ध सभी सेवाओं की सूची को ड्रैक एक्स दिखायेगा ।\n"
+"प्रत्येक की सावधानीपूर्वक समीक्षा करें और जिनकी बूट के समय आवश्यकता नहीं है\n"
+" उन्हें अचिह्नन्ति करें ।\n"
+"\n"
+"एक सेवा के बारे में , जब इसका चयन किया जायें, तो इसके बारे में एक लघु विवरण पाठ को "
+"दिखाया जायेगा।\n"
+"हालांकि, यदि आप सुनिश्चित नहीं है कि एक सेवा उपयोगी होगी कि नहीं, \n"
+"तब इसे इसके डिफ़ाल्ट व्यवहार पर छोड़ना उचित है।\n"
+"\n"
+"!! इस चरण में अति सावधान रहें, यदि आप अपनी मशीन को एक सर्वर की भांति उपयोग करने जा "
+"रहे है:\n"
+"तो सम्भव है कि आप उस किसी सेवा को आरम्भ ना करना चाहगें जिसकी आपको आवश्यकता ना हो।\n"
+"कृपया ध्यान रखें कि अनेकों सेवायें घातक हो सकती है यदि वे एक सर्वर पर सक्रिय कि जायें।\n"
+"सामान्यता, उन सेवाओं का ही चयन करें जिनकी आपको वास्तव में आवश्यकता है। \n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"जीएनयू/लिनक्स समय का जीएमटी (ग्रीनविच मीन समय) में प्रबंध करता है और आपके द्वारा चयन "
+"किये \n"
+"हुए समय-क्षेत्र के अनुसार स्थानीय समय में परिवर्तित करता है। \n"
+"यदि आपके मदरबोर्ड की घड़ी स्थानीय समय पर स्थापित की गयी है\n"
+", तो आप \"%s\" को अचयनित करके इसे निष्क्रिय कर सकते है, जिससे कि \n"
+"जीएनयू/लिनक्स को ज्ञात हो जायेगा कि तंत्र की घड़ी व हार्डवेयर की घड़ी समान समय क्षेत्र में "
+"है ।\n"
+"यह उस समय उपयोगी है जब मशीन पर विण्डो जैसे अन्य संचालन-तंत्र को भी हो । \n"
+"\n"
+"\"%s\" विकल्प इन्टरनेट पर स्थित एक सुदूर समय सर्वर से सबंध स्थापित करके स्वचालित रूप से\n"
+"घड़ी को नियंत्रित करती है । इस लक्षण के कार्य करने के लिए, आपके पास एक कार्यशील\n"
+"इन्टरनेट कनेक्शन होना चाहिए । आपके समीप स्थित एक समय सर्वर का\n"
+"चयन सबसे अच्छा है । यह विकल्प वास्तव में एक ऐसे समय सर्वर को संसाधित करता है जिसका \n"
+"उपयोग आपके स्थानीय नेटवर्क पर स्थित अन्य मशीनों के द्वारा भी किया जा सकता है।"
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "स्वत: समय एकसारीकरण"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"ग्राफ़िक्स कार्ड\n"
+"\n"
+" सामान्यता संसाधक प्रक्रिया आपकी मशीन पर लगे हुए ग्राफ़िक कार्ड को स्वतः ही खोजती "
+"और \n"
+"संसाधित करती है। यदि ऐसा नहीं है, तो आपने वास्तव में जिस कार्ड को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+" उस अवस्था में जब कि आपके कार्ड के लिए त्रीआयामी वेगवृद्वि के साथ या बिना त्रीआयामी "
+"वेगवृद्वि\n"
+"के विभिन्न सर्वरों की उपलब्धता हो, तो आपसे उस सर्वर का चयन करने के लिए कहा जायेगा \n"
+"जो आपकी आवश्यकताओं की सबसे अधिक पूर्ति करता हो ।"
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (एक्स विण्डो प्रणाली के अर्थ में) जीएनयू/लिनक्स सचित्र इन्टरफ़ेस का ह्रदय है जिस पर\n"
+"मैनड्रिव लिनक्स के बण्डल किये हुए सभी सचित्र वातावरण (केडीई, गनोम, आफ़्टरस्टेप, "
+"विण्डोमेकर \n"
+"इत्यादि) पर निर्भर रहते है । \n"
+"\n"
+"आपके के सम्मुख विभिन्न पैरामीटरों की एक सूची प्रस्तुत की जायेगी जिन्हें बदलने से \n"
+"आप एक ऐच्छिक सचित्र प्रदर्शन को प्राप्त कर सकते है: ग्राफ़िक कार्ड\n"
+"\n"
+" सामान्यता संसाधक प्रक्रिया आपकी मशीन पर लगे हुए ग्राफ़िक् कार्ड को स्वतः ही खोजती है "
+"और \n"
+"संसाधित करती है। यदि ऐसा नहीं है, तो आपने वास्तव में जिस कार्ड को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+" उस अवस्था में जब कि आपके कार्ड के लिए त्रीआयामी वेगवृद्वि के साथ या बिना त्रीआयामी "
+"वेगवृद्वि\n"
+"के विभिन्न सर्वरों की उपलब्धता हो, तो आपसे उस सर्वर का चयन करने के लिए कहा जायेगा \n"
+"जो आपकी आवश्यकताओं की सबसे अधिक पूर्ति करता हो।\n"
+"\n"
+"\n"
+"\n"
+"मॉनिटर\n"
+"\n"
+" सामान्यता संसाधक प्रक्रिया आपकी मशीन पर जुड़े हुए मॉनिटर को स्वतः ही खोजती है और \n"
+"संसाधित करती है। यदि ऐसा नहीं है, तो आपने वास्तव में जिस मॉनिटर को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है । \n"
+"\n"
+"\n"
+"\n"
+"रेजॅल्यूशन्\n"
+"\n"
+" यहाँ आप अपने हार्डवेयर के लिए उपलब्ध रेजॅल्यूशन् और रंगों की गहराई का चयन कर सकते है। \n"
+"आपकी आवश्यकताओं को सबसे अधिक सन्तुष्ट करता हो उसका चयन करें \n"
+"(आप संसाधन के उपरान्त इसे परिवर्तित कर सकते है)। एक चयनित की हुई संरचना \n"
+"का नमूना मॉनिटर में दिखाया गया है।\n"
+"\n"
+"\n"
+"\n"
+"परीक्षण\n"
+"\n"
+" इच्छित रेजॅल्यूशन् पर यह तंत्र एक ग्राफ़िक्ल स्क्रीन को खोलने का प्रयत्न करेगा । \n"
+"यदि आप परीक्षण के दौरान संदेश को देख पाते है और \"%s\" उत्तर देते है,\n"
+"तो ड्रैकएक्स अगले चरण में चला जायेगा । यदि आप संदेश नहीं देख सकते है, तब\n"
+"इसका अर्थ है कि स्वतःखोजी संरचना के कुछ भाग ठीक नहीं थे और\n"
+"१२ सेकण्डों के बाद परीक्षण स्वंम ही समाप्त हो जायेगा, और आपको मीनू पर वापस ले जायेगा।\n"
+"समायोजनाओं को तब तक बदलते रहे जब तक आपको एक सही सचित्र प्रदर्शन नहीं मिल जाता है। \n"
+"\n"
+"\n"
+"\n"
+"विकल्पों के बारे में\n"
+"\n"
+" यहाँ आप यह चयन कर सकते है कि क्या आप बूट के समय अपनी मशीन को स्वचालित रूप से "
+"सचित्र\n"
+"इन्टरफ़ेस पर जाने देना चाहते है । स्पष्ट रूप से, आप \"%s\" की जाँच करना चाहते है कि \n"
+" यदि आपकी मशीन को एक सर्वर की भांति कार्य करना हो, या फ़िर\n"
+"आप डिसप्ले को भली-भांति संरचित करने में सफ़ल ना रहे हो । "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"मॉनिटर\n"
+"\n"
+" सामान्यता संसाधक प्रक्रिया आपकी मशीन पर जुड़े हुए मॉनिटर को स्वतः ही खोजती है और \n"
+"संसाधित करती है। यदि ऐसा नहीं है, तो आपने वास्तव में जिस मॉनिटर को लगाया हो उसका\n"
+"इस सूची में से चयन कर सकते है ।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"रेजॅल्यूशन्\n"
+"\n"
+" यहाँ आप अपने हार्डवेयर के लिए उपलब्ध रेजॅल्यूशन् और रंगों की गहराई का चयन कर सकते है। \n"
+"आपकी आवश्यकताओं को सबसे अधिक सन्तुष्ट करता हो उसका चयन करें \n"
+"(हालांकि आप संसाधन के उपरान्त इसे परिवर्तित कर सकते है)। एक चयनित की हुई संरचना \n"
+"का नमूना मॉनिटर में दिखाया गया है।"
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+" उस अवस्था में जब कि आपके कार्ड के लिए त्रीआयामी वेगवृद्वि के साथ या बिना त्रीआयामी "
+"वेगवृद्वि\n"
+"के विभिन्न सर्वरों की उपलब्धता हो, तो आपसे उस सर्वर का चयन करने के लिए कहा जायेगा \n"
+"जो आपकी आवश्यकताओं की सबसे अधिक पूर्ति करता हो।"
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"विकल्पों के बारे में\n"
+"\n"
+" यहाँ आप यह चयन कर सकते है कि क्या आप बूट के समय अपनी मशीन को स्वचालित रूप से "
+"सचित्र\n"
+"इन्टरफ़ेस पर जाने देना चाहते है । स्पष्ट रूप से, आप \"%s\" की जाँच करना चाहते है कि \n"
+" यदि आपकी मशीन को एक सर्वर की भांति कार्य करना हो, या फ़िर\n"
+"आप डिसप्ले को भली-भांति संरचित करने में सफ़ल ना रहे हो । "
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "विद्यमान विभाजन को उपयोग करें"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "सम्पूर्ण डिस्क को मिटायें"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "स्वतः-संसाधन फ़्लापी का निर्माण"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "सुरक्षा प्रबंधक"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "रीमूव किये जाने जाने योग्य माध्यम का स्वत: आरोहण"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "सामान्य/विशेषज्ञ विधा के मध्य में आना-जाना"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"आपकी हार्ड डिस्क पर एक से अधिक माइक्रोसाफ़्ट विभाजनों को खोजा गया है । \n"
+"कृपया उस विभाजन का चयन करें जिसका आप अपने नये मैनड्रिव लिनक्स संचालन तंत्र \n"
+"को संसाधित करने के लिए पुनः आकार देना चाहते है ।\n"
+"\n"
+"प्रत्येक विभाजन को निम्नलिखित प्रकार से सूचीबद्ध किया गया है: \"लिनक्स नाम\", \"विण्डो "
+"का नाम\"\n"
+"\"क्षमता\"।\n"
+"\"लिनक्स नाम\" व्यवस्थित है: \"हार्ड ड्राइव का प्रकार\", \"हार्ड ड्राइव की संख्या\",\n"
+"\"विभाजन संख्या\" (उदाहरण हेतु , \"hda1\")। \n"
+"\n"
+"\"हार्ड ड्राइव का प्रकार\" \"hd\" है यदि आपकी हार्ड ड्राइव एक आईडीई हार्ड ड्राइव है "
+"और \n"
+"\"sd\" यदि यह एक स्कैसी हार्ड ड्राइव है। \n"
+"\n"
+"\"हार्ड ड्राइव संख्या\" \"hd\" या \"sd\" के बाद की एक संख्या होती है। \n"
+"आईडीई हार्ड ड्राइवों के लिए:\n"
+"\n"
+" * \"a\" का अर्थ है \"मुख्य आईडीई नियंत्रक पर मास्टर हार्ड ड्राइव\";\n"
+"\n"
+" * \"b\" का अर्थ है \"मुख्य आईडीई नियंत्रक पर स्लेव हार्ड ड्राइव\";\n"
+"\n"
+" * \"c\" का अर्थ है \"द्वितीय आईडीई नियंत्रक पर मास्टर हार्ड ड्राइव \";\n"
+"\n"
+" * \"d\" का अर्थ है \"द्वितीय आईडीई नियंत्रक पर स्लेव हार्ड ड्राइव\"।\n"
+"\n"
+"SCSI हार्ड ड्राइवों के साथ, एक \"a\" का अर्थ है \"निम्नतम स्कैसी पहचानसंख्या\", एक \"b"
+"\" का अर्थ है \"द्वितीय निम्नतम स्कैसी पहचानसंख्या\", इत्यादि।\n"
+"\"विण्डो का नाम\" विण्डो के अन्तर्गत आपकी हार्ड ड्राइव का नाम-शब्द है\n"
+"(प्रथम डिस्क या विभाजन को \"C:\" कहा जाता है)।"
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": वर्तमान देश चयन की जाँच करें । यदि आप इस देश में नहीं है,\n"
+"तो \"%s\" बटन पर क्लिक करें और किसी अन्य का चयन करें । यदि आपका देश\n"
+"प्रथम सूची में नहीं है, तो सभी देशो की सूची को पाने के लिए,\n"
+" \"%s\" बटन पर क्लिक करें ।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "व्हील ऐम्यूलेशन के साथ"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "कोई भी पीएस/२ व यूएसबी माउस"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"कृपया सही पोर्ट का चयन करें । उदाहरण हेतु, विण्डो के अन्तर्गत \"COM1\" पोर्ट को\n"
+"जीएनयू/लिनक्स के अन्तर्गत \"ttyS0\" के रूप में जाना जाता है ।"
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "प्रमाणीकरण"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"लिलो तथा ग्रब, जीएनयू/लिनक्स के बूटलोडर हैं । सामान्यता यह चरण पूर्णरूप से स्वचालित\n"
+"होता है । डिस्क बूट सेक्टर का ड्रैकएक्स निरीक्षण करेगा और वहाँ क्या मिलता है, \n"
+" उस अनुसार आचरण करेगा:\n"
+"\n"
+" * यदि एक विण्डो बूट सेक्टर मिलता है, तो इसे ग्रब/लिलो बूट सेक्टर द्वारा\n"
+"बदल दिया जायेगा । इस प्रकार से आप जीएनयू/लिनक्स या अन्य किसी संचालन-तंत्र \n"
+"को अपनी मशीन पर बूट करने में सक्षम होगें ।\n"
+"\n"
+" * यदि एक ग्रब या लिलो बूट सेक्टर मिलता है, तो इसे एक \n"
+" नये के साथ बदल दिया जायेगा ।\n"
+"\n"
+"यदि यह एक निर्धारण नहीं कर सकता है, तब ड्रैकएक्स आपसे पूछेगा कि बूटलोडर को कहाँ रक्खा "
+"जायें ।\n"
+"सामान्यताः \"%s\" सबसे सुरक्षित स्थान है । \"%s\" का चयन करने से कोई बूटलोडर संसाधित "
+"नहीं होगा ।\n"
+" इसका उपयोग तभी करें जब आपको ज्ञात हो कि आप क्या कर रहे है ।"
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "पी०डी०क्यू०"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "विशेषज्ञ"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": यदि आपके तंत्र पर एक ध्वनि कार्ड को पहिचाना गया है, तो उसे यहाँ पर दिखाया "
+"गया है ।\n"
+"यदि आपको ऐसा लगता है कि यहाँ पर दिखाया गया साउण्ड कार्ड वह नहीं है जो कि वास्तव में "
+"आपके\n"
+"तंत्र पर स्थित है, तो बटन पर क्लिक कर सकते है और अन्य चालक का चयन\n"
+" कर सकते है।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "आई०एस०डी०एन० कार्ड"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "सचित्र इन्टरफ़ेस"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"उस हार्ड ड्राइव का चयन करें जिसे आप अपने नवीन मैनड्रिव लिनक्स विभाजन के संसाधन के लिए \n"
+"खाली करना चाहते है । सावधान रहें, इस विभाजन पर स्थित सभी सूचनायें विलुप्त हो जायेगी \n"
+"और भविष्य में वापस प्राप्त नहीं की जा सकेगी !"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"\"%s\" पर क्लिक करें, यदि आप इस हार्ड ड्राइव पर स्थित सभी सूचनाओं व विभाजनों को\n"
+"मिटाना चाहते है । सावधान रहें, \"%s\" पर क्लिक करने के उपरान्त, \n"
+"विण्डो डाटा को शामिल करते हुए, इस हार्ड ड्राइव पर स्थित किसी सूचना और विभाजनों को,\n"
+"आप पुनः प्राप्त करने में समर्थ नहीं होगें ।\n"
+"\n"
+"इस हार्ड ड्राइव पर स्थित किसी सूचना और विभाजनों को खोयें बिना, इस क्रिया को\n"
+"रोकने के लिए, \"%s\" पर क्लिक करें ।"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "अगला ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- पिछला"
+
diff --git a/perl-install/install/help/po/hr.po b/perl-install/install/help/po/hr.po
new file mode 100644
index 000000000..569f2734c
--- /dev/null
+++ b/perl-install/install/help/po/hr.po
@@ -0,0 +1,1762 @@
+# Translation of DrakX to Croatian
+# Copyright (C) Croatian team
+# Translators: Danijel Studen <dstuden@vuka.hr>,Denis Lackovic <delacko@fly.srk.fer.hr>,Jerko Škifić <skific@riteh.hr>,Ljubomir Božić <ljubo108@vip.hr>,Nikola Planinac <>,Robert Vuković <robi@surfer.hr>,Sasa Poznanovic <sasa.poznanovic@vuka.hr>,Vedran Vyroubal <vedran.vyroubal@inet.hr>,Vinko Prelac <vinko@buka.hr>,Vlatko Kosturjak <kost@linux.hr>,Zoran Jankovic <zoran.jankovic@inet.hr>,
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-01-04 21:25+CET\n"
+"Last-Translator: auto\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;;\n"
+"X-Generator: TransDict server\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prije nastavka trebate pažljivo pročitati stavke licence. Ona\n"
+"pokriva cijelu Mandriva Linux distribuciju, i ako se ne slažete u svim\n"
+"stavkama sadržanih u njoj, kliknite na \"Odbij\" gumb koji će automatski\n"
+"završiti instalaciju. Za nastavak instalacije, kliknite na\n"
+"\"Prihvati\" gumb."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je višekorisnički sustav, i to znači da svaki korisnik može imati\n"
+"vlastita podešenja, vlastite datoteke itd. Možete pročitati ``User Guide''\n"
+"da naučite više. Za razliku od \"root\"-a, koji je administrator, korisnici\n"
+"koje ćete dodati ovdje neće imati ovlaštenja za mijenjanje ničega osim "
+"vlastitih\n"
+"datoteka ili vlastitih postavki. Morati ćete napraviti najmanje jednog "
+"normalnog\n"
+"korisnika za vas. Taj račun ćete koristiti za prijavljivanje za rutinsko\n"
+"korištenje. Iako je vrlo praktično se prijaviti kao \"root\" svaki dan,\n"
+"to može biti vrlo opasno! Najmanja pogreška može značiti da vaš sustav\n"
+"neće više moći raditi. Ako napravite ozbiljnu grešku kao normalan korisnik,\n"
+"možete izgubiti samo neke informacije, ali ne cijeli sustav.\n"
+"\n"
+"Prvo, morate unijeti vaše pravo ime. Ono nije obvezno, naravno\n"
+"možete ustvari unijeti što god želite. DrakX će tada uzeti prvu riječ koju\n"
+"ste unijeli u to polje i prenijeti je u \"Korisničko ime\". To je ime kojim "
+"će \n"
+"se taj konkretni korisnik prijavljivati u sustav. Možete ga mijenjati. "
+"Tada \n"
+"morate ovdje upisati lozinku. Sa gledišta sigurnosti, lozinka "
+"neprivilegiranog \n"
+"(običnog) korisnika nije toliko važna kao \"root\" lozinka, ali je ne treba "
+"zbog\n"
+"toga zanemarivati: naposlijetku, radi se o vašim datotekama.\n"
+"\n"
+"Ako pritisnete \"Prihvati korisnika\", možete ih dodati koliko želite. "
+"Dodajte\n"
+"korisnika za svakog prijatelja: oca ili sestru, npr. Kada ste dodali sve "
+"korisnike\n"
+"koje ste željeli, stisnite \"Završi\".\n"
+"\n"
+"Pritiskanjem na \"Napredno\" možete promijeniti predodređenu \"ljusku\" za "
+"tog\n"
+"korisnika (bash je predodređen)."
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite koristiti aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Gore su popisane postojeće Linux particije pronađene na\n"
+"vašem hard disku. Možete zadržati izbore napravljene od strane čarobnjaka, "
+"one su dobre za\n"
+"uobičajenu upotrebu. Ukoliko promjenite izbore, morate barem definirati "
+"root\n"
+"particiju (\"/\"). Nemojte izabrati premalu particiju jer nećete moći \n"
+"instalirati dovoljno software-a. Ako želite spremati vaše podatke na "
+"posebnoj particiji,\n"
+"trebate također izabrati \"/home\" (jedino moguće ako imate više od jedne\n"
+"raspoložive Linux particije).\n"
+"\n"
+"\n"
+"Za informaciju, svaka particija je popisana kako slijedi: \"Ime\", "
+"\"Kapacitet\".\n"
+"\n"
+"\n"
+"\"Ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska\",\n"
+"\"broj particije\" (naprimjer, \"hda1\").\n"
+"\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
+"ukoliko je on SCSI hard disk.\n"
+"\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard "
+"diskovima:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroleru\";\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundarnom IDE kontroleru\";\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znači \"primarni hard disk\", \"b\" znači "
+"\"sekundarni hard disk\", itd..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalacija je proširena na nekoliko CDROMova. DrakX\n"
+"zna ukoliko se odabrani paket nalazi na drugom CDROMu i izbaciti će\n"
+"trenutni CD i pitati vas da ubacite drugi koji je potreban."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada treba odrediti koje programe želite instalirati u svoj sustav. Za "
+"Mandriva \n"
+"Linux su dostupne tisuće paketa, i ne morate ih sve znati na pamet.\n"
+"\n"
+"Ako pokrećete standarnu instalaciju sa CD-ROMa, prvo ćete biti upitani da "
+"navedete\n"
+"CDove koje imate (samo u modu za stručnjake). Provjerite imena CDova i "
+"označite\n"
+"kućice koje odgovaraju CDovima koje imate. Pritisnite \"U redu\" kada ste "
+"spremni\n"
+"nastaviti.\n"
+"\n"
+"Paketi su podijeljeni po grupama koje odgovaraju određenoj svrsi. Grupe su \n"
+"podijeljene u četiri sekcije:\n"
+"\n"
+" * \"Radna stanica\": ako ćete koristiti stroj kao radnu stanicu, izaberite\n"
+"jednu ili više odgovarajućih grupa;\n"
+"\n"
+" * \"Razvoj\": ako će se Vaš stroj koristiti za programiranje, izaberite\n"
+"željene grupe;\n"
+"\n"
+" * \"Poslužitelj\": ako je Vaš stroj određen za poslužitelja, moći ćete "
+"odabrati\n"
+"koje od uobičajenih servisa želite instalirati na njega;\n"
+"\n"
+" * \"Grafičko okružje\": naposlijetku, ovdje birate grafičko okružje. Barem "
+"jedno\n"
+"mora biti odabrano ako želite imati grafičku radnu stanicu!\n"
+"\n"
+"Pomicanjem pokazivača miša na ime grupe će se prikazati kratak opis te "
+"grupe. Ako\n"
+"nijedna grupa nije odabrana pri normalnoj instalaciji (za razliku od "
+"nadogradnje),\n"
+"iskočit će dijalog sa predloženim opcijama za minimalnu instalaciju:\n"
+"\n"
+" * \"Sa Xima\": instaliranje što je manje paketa moguće za grafičko "
+"sučelje;\n"
+"\n"
+" * \"Sa osnovnom dokumentacijom\": instalira osnovni sustav sa osnovnim "
+"pomoćnim\n"
+"programima i njihovom dokumentacijom. Ova instalacija je pogodna za "
+"namještanje\n"
+"poslužitelja;\n"
+"\n"
+" * \"Stvarno malena instalacija\": instalirat će strogi minimum potreban da "
+"bi\n"
+"imali Linux sustav koji radi, samo u komandnoj liniji. Ova instalacija je "
+"velika\n"
+"oko 65Mb.\n"
+"\n"
+"Možete provjeriti \"Inividualni odabir paketa\", što je korisno ako ste "
+"upoznati\n"
+"sa ponuđenim paketima ili ako želite imati potpunu kontrolu nad "
+"instaliranim\n"
+"sadržajem.\n"
+"\n"
+"Ako ste pokrenuli instalaciju u \"Nadogradnja\" načinu, možete odselektirati "
+"sve\n"
+"grupe da izbjegnete instaliranje novih paketa. Ovo je korisno za "
+"popravljanje\n"
+"ili osuvremenjivanje postojećeg sustava."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Nadogradnja"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom (preporučeno!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimalna instalacija"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Konačno, ovisno o tome da li ste izbrali individualne pakete, prikazat će "
+"vam \n"
+"se stablo sa svim paketima podijeljenim u grupe i podgrupe. Pri "
+"pregledavanju\n"
+"stabla možete izabrati čitave grupe, podgrupe ili pojedine pakete.\n"
+"\n"
+"Kad god izaberet paket na stablu, na desnoj strani se pojavi opisnik. Kada "
+"ste\n"
+"završili odabir, pritisnite \"Instaliraj\", čime ćete pokrenuti proces "
+"instaliranja.\n"
+"Ovisno o brzini računala i broju paketa koji trebaju biti instalirani, "
+"proces može\n"
+"potrajati. Procjena vremena koje će biti potrebno da bi se sve instaliralo "
+"piše\n"
+"na ekranu, da vam pomogne procjeniti imate li vremena za šalicu kave.\n"
+"\n"
+"!! Ako je odabran poslužiteljski paket, namjerno ili jer je pripadao nekoj "
+"grupi,\n"
+"bit ćete upitani da potvrdite da li želite stvarno instalirati te "
+"poslužitelje.\n"
+"Kod Mandriva Linuxa, svi instalirani poslužitelji se pokreću prilikom "
+"podizanja\n"
+"sustava. Čak iako su sigurni, bez poznatih problema u vrijeme izlaska "
+"distribucije,\n"
+"može se dogoditi da se otkriju sigurnosne rupe nakon zgotovljenja ove "
+"inačice\n"
+"Mandriva Linuxa. Ako ne znate što bi pojedini servis trebao raditi ili "
+"zašto \n"
+"se instalira, pritisnite \"Ne\". Pritiskanjem na \"Da\"instalirat će se "
+"navedeni\n"
+"servisi i pokretat će se automatski. !!\n"
+"\n"
+"\"Automatske ovisnosti\" opcija onemogućuje upozorenje koje se pojavi kad "
+"god \n"
+"instalacija automatski izabere paket. Ovo se dešava stoga što je utvrdila "
+"da\n"
+"treba zadovoljiti ovisnost drugim paketom da bi se uspješno završila.\n"
+"\n"
+"Malena ikona diskete na dnu popisa omogućuje učitavanje popisa paketa "
+"izabranih\n"
+"tijekom neke prošle instalacije. Pritiskom na nj upitat će vas da ubacite "
+"disketu\n"
+"napravljenu na kraju neke druge instalacije. Pogledajte drugi savjet u "
+"posljednjem\n"
+"koraku stvaranja takve diskete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatske ovisnosti"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Sada možete izabrati servise koje želite pokreniti pri podizanju.\n"
+"\n"
+"Ovdje su predstavljeni svi servisi dostupni sa trenutnom instalacijom.\n"
+"Pregledajet ih pažljivo i maknite one koje nisu uvijek potrebni prilikom\n"
+"podizanja sustava.\n"
+"\n"
+"Odabiranjem određenog servisa dobit ćete kratki opis tog servisa. Međutim, "
+"ako\n"
+"niste sigurni je li servis koristan ili ne, sigurnije je ostaviti "
+"predodređeno\n"
+"ponašanje.\n"
+"\n"
+"!! Na ovoj razini obratite pozornost na to da li ćete koristiti stroj kao\n"
+"poslužitelj: vjerojatno ne želite pokretati neke servise koje ne trebate.\n"
+"Prisjetite se da neki servisi mogu biti opasni ako su pokrenuti na "
+"poslužitelju.\n"
+"Općenito, izaberite samo one servise koji vam stvarno trebaju.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux upravlja vremenom po GMTu (Greenwich Mean Time) i prevodi ga u\n"
+"lokalno vrijeme prema vremenskoj zoni koju ste izabrali. Moguće je, doduše,\n"
+"ovo isključiti isključivanjem odabira \"Hardverski sat namješten na GMT\" "
+"tako\n"
+"da je hardverski sat jednak sustavskom. Ovo je korisno kada se na računalu\n"
+"nalazi drugi operacijski sustav, poput Windows.\n"
+"\n"
+"Opcija \"Automatska sinhronizacija vremena\" će automatski podešavati sat\n"
+"tako da će se povezivati sa vremenskim poslužiteljem na Internetu. Sa "
+"popisa\n"
+"izaberite poslužitelj najbliže vama. Naravno, morate imati ispravnu vezu sa\n"
+"Internetom da bi ovo radilo. Također, instalirat će vremenski poslužitelj "
+"na\n"
+"vaše računalo kojeg, opcionalno, mogu koristiti druga računala u vašoj\n"
+"lokalnoj mreži."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska vremenska sinkronizacija (koristeći NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafička kartica\n"
+"\n"
+" Instalacijski program će u uobičajenim okolnostima automatski detektirati "
+"i\n"
+" konfigurirati vašu grafičku karticu. Ukoliko je načinjen pogrešan odabir,\n"
+"možete iz ovog popisa odabrati ispravnu karticu.\n"
+"\n"
+" U slučaju da su za vašu karticu na raspolaganju različiti serveri, sa ili "
+"bez,\n"
+"3D ubrzanja, program će vas pitati koji server najbolje odgovara vašim "
+"potrebama."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Konačno ćete biti pitani da li želite vidjeti grafičko sučelje pri\n"
+"dizanju. Primjetite da ovo pitanje će biti pitano iako ne želite "
+"istestirati\n"
+"konfiguraciju. Vjerojatno, želite odgovoriti sa \"Ne\" ukoliko će vaše "
+"računalo\n"
+"raditi kao poslužitelj, ili ako niste bili uspješni u konfiguriranju vašeg\n"
+"zaslona."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"U ovom trenutku, trebate izabrati gdje ćete instalirati vaš\n"
+"Mandriva Linux operativni sustav na vašem tvrdom disku. Ukoliko je prazan "
+"ili \n"
+"ako postojeći operativni sustav koristi čitav prostor na disku, trebate ga\n"
+"particionirati. Jednostavno, particioniranje hard diska sastoji se od\n"
+"logičkog dijeljenja kako bi napravili prostor za instalaciju vašeg novog\n"
+"Mandriva Linux sustava.\n"
+"\n"
+"Zato što su posljedice procesa particioniranja obično nepovratne,\n"
+"particioniranje može biti strašno i stresno ukoliko ste korisnik bez "
+"iskustva.\n"
+"Ovaj čarobnjak pojednostavljuje proces. Prije početka, molimo konzultirajte\n"
+"upute i uzmite vremena koliko vam je potrebno.\n"
+"\n"
+"Ako ste pokrenuli instalaciju u modu za stručnjake, ući ćete u DiskDrake,\n"
+"Mandriva Linuxov alat za particioniranje, s kojim možete fino podešavati\n"
+"particije. Pogledajte DiskDrake odjeljak u ``User Guide''.\n"
+"Iz sučelja instalacije možete koristiti čarobnjake koji su ovdje opisani\n"
+"pritiskom na \"Čarobnjak\" dugme.\n"
+"\n"
+"Ako su particije već određene, od prijašnje instalacije, ili nekog drugog\n"
+"alata za particioniranje, samo ih izaberite da bi instalirali vaš Linux "
+"sustav.\n"
+"\n"
+"Ako particije nisu definirane, morate ih stvoriti korištenjem čarobnjaka.\n"
+"Ovisno o vašem tvrdom disku, nekoliko opcija je dostupno:\n"
+"\n"
+" * \"Koristi slobodni prostor\": ova opcija će jednostavno automatski\n"
+"particionirati vaše prazne diskove. Nećete biti više ništa priupitani;\n"
+"\n"
+" * \"Korištenje postojeće particije\": čarobnjak je detektirao jednu ili "
+"više\n"
+"postojećih Linux particija na vašem hard disku. Ukoliko\n"
+"ih želite zadržati, izaberite ovu opciju.\n"
+"\n"
+" * \"Obriši cijeli disk\": ukoliko želite obrisati sve podatke i sve "
+"particije\n"
+"koje postoje na vašem hard disku i zamjeniti ih sa\n"
+"vašim novim Mandriva Linux sustavom, možete izabrati ovu opciju. Budite\n"
+"pažljivi sa ovim rješenjem, nećete moći\n"
+"povratiti vaš izbor nakon potvrde.\n"
+"\n"
+" * \"Koristiti slobodan prostor na Windows particiji\": ukoliko je "
+"Microsoft\n"
+"Windows instaliran na vašem hard disku i zauzima\n"
+"cjeli raspoloživ prostor na njemu, trebate napraviti slobodan prostor za\n"
+"Linux podatke. Da biste to napravili možete obrisati vašu\n"
+"Microsoft Windows particiju i podatke (pogledajte \"Brisanje cijelog diska"
+"\"\n"
+"ili \"Ekspert mod\" rješenja) ili mijenjati veličinu vaše\n"
+"Microsoft Windows particije. Mijenjanje veličine može se obaviti bez\n"
+"gubitka bilo kakvih podataka, ako prethodno defragmentirate Windows "
+"particiju.\n"
+"Ovo rješenje je preporučeno ukoliko želite koristiti zajedno Mandriva Linux\n"
+"i Microsoft Windows-e na istom računalu.\n"
+"\n"
+" Prije izabiranja ovog rješenja, molimo shvatite da će veličina vaše "
+"Microsoft\n"
+"Windows partiticije biti manja nego što je sada. To znači da ćete imati\n"
+"manje slobodnog prostora pod\n"
+"Microsoft Windows-ima za spremanje vaših podataka ili instaliranje novog "
+"software-a.\n"
+"\n"
+" * \"Obiši Windowse\": ovo će jednostavno obri sati sve na disku i početi\n"
+"particionirati sve ispočetka. Svi podaci na disku će biti izgubljeni;\n"
+"\n"
+" * \"Ekspertni mod\": Ukoliko želite particionirati ručno vaš hard disk, "
+"možete\n"
+"izabrati ovu opciju. Budite pažljivi prije\n"
+"izabiranja ovog rješenja. Vrlo je moćno, ali i vrlo opasno. Možete\n"
+"izgubiti sve vaše podatke vrlo lako. Zato,\n"
+"nemojte izabrati ovo rješenje ukoliko ne znate što radite."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeće particije"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Obriši cijeli disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Eto. Instalacija je završena i vaš GNU/Linux sustav je spreman za "
+"korištenje.\n"
+"Samo pritisnite \"U redu\" da bi ponovno pokrenuli sustav. Možete pokrenuti\n"
+"GNU/Linux ili Windowse, što god želite (ako imate dva sustava), čim se\n"
+"računalo ponovno podigne.\n"
+"\n"
+"\"Napredno\" dugme (samo u modu za stručnjake) će prikazati još dva "
+"dugmeta: \n"
+"\n"
+" * \"napravi disketu za automatsku instalaciju\": za stvaranje "
+"instalacijske\n"
+"diskete koja će automatski izvršiti čitavu instalaciju bez pomoći "
+"operatora,\n"
+"sličnu instalaciji koju ste upravo namjestili.\n"
+"\n"
+" Primjetite da su dvije različite opcije dostupne nakon pritiska na "
+"dugme:\n"
+"\n"
+" * \"Replay\". Ovo je djelomice automatizirana instalacija, pošto\n"
+"particioniranje (i samo to) ostaje interaktivno;\n"
+"\n"
+" * \"Automatska instalacija\". Potpuno automatizirana instalacija: tvrdi\n"
+"disk se u potpunosti prebrisava, svi podaci se gube.\n"
+"\n"
+" Ova opcija je dosta korisna pri instaliranju na veći broj sličnih "
+"mašina.\n"
+"Pogledajte odjeljak za automatsku instalaciju na našem web siteu;\n"
+"\n"
+" * \"Snimi odabir paketa\"(*): snima prethodni odabir paketa. Potom, pri "
+"drugoj\n"
+"instalaciji, stavite disketu u pogon i pokrenite instalaciju odlaskom u\n"
+"ekran za pomoć pritiskom na [F1], te zadavanjem >>linux defcfg=\"floppy\"<<\n"
+"naredbe.\n"
+"\n"
+"(*) Trebate FAT formatiranu disketu (da bi je napravili u GNU/Linuxu, "
+"napišite\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Napravi auto instalacijsku disketu"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Svaka novo definirana particija mora biti\n"
+"formatirana za korištenje (formatiranje znači pravljenje datotečnog "
+"sustava).\n"
+"\n"
+"Trenutno, možete htjeti ponovno formatirati neke već postojeće particije\n"
+"kako bi obrisali\n"
+"podatke koje one posjeduju. Ukoliko želite to napraviti,\n"
+"izaberite particije koje želite formatirati.\n"
+"\n"
+"Primjetite da nije nužno ponovno formatirati sve već postojeće particije.\n"
+"Morate ponovno formatirati particije koje sadrže operativni sustav (poput \n"
+"\"/\",\"/usr\" ili \"/var\") ali ne morate ponovno formatirati particije "
+"koje\n"
+"sadrže podatke koje želite zadržati (tipično \"/home\").\n"
+"\n"
+"Molimo budite pažljivi odabirom particija, poslije formatiranja, svi podaci\n"
+"će biti obrisani i nećete ih moći povratiti.\n"
+"\n"
+"Pritisnite na \"U redu\" kada ste spremni za formatiranje particije.\n"
+"\n"
+"Pritisnite na \"Odustani\" kada želite izabrati druge particije za\n"
+"instalaciju vašeg novog Mandriva Linux operativnog sustava.\n"
+"\n"
+"Pritisnite na \"Napredno\" ako želite izabrati particije koje će biti\n"
+"provjeravane radi loših blokova (bad blocks)."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Dok instalirate Mandriva Linux, moguće je da su neki paketi već nadograđeni\n"
+"od prvotne inačice. Neki bugovi su možda uklonjeni, i sigurnost poboljšana.\n"
+"Da bi iskoristili prednosti tih nadogradnji, predloženo vam je da ih\n"
+"skinete s Interneta. Izaberite \"Da\" ako ste povezani s Internetom, ili \"Ne"
+"\"\n"
+"ako biste radije instalirali nadograđene pakete kasnije.\n"
+"\n"
+"Odabir \"Da\" prikazuje popis mjesta otkuda se nadogradnje mogu skinuti.\n"
+"Izaberite ono najbliže vama. Tada će se pojaviti stablo za odabir paketa:\n"
+"pregledajte odabir i stisnite \"Instaliraj\" da bi skinuli i instalirali "
+"odabrane\n"
+"pakete, ili \"Odustani\" za prekid."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Sada treba odabrati željenu razinu sigurnosti računala. Opće pravilo jest "
+"da\n"
+"što je više računalo izloženo i podaci vrijedniji, to bi veća razina "
+"sigurnosti\n"
+"trebala biti. Međutim, veća razina sigurnosti utječe na jednostavnost "
+"korištenja.\n"
+"Pogledajte u \"msec\" poglavlje u ``Reference Manual'' za bolje obješnjenje\n"
+"značenja tih razina.\n"
+"\n"
+"Ako ne znate što biste odabrali, ostavite podrazumijevanu opciju."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Udaljeno administriranje"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"U ovoj točki instalacije, trebate izabrati koje partiticije ćete koristiti "
+"za\n"
+"instalaciju vašeg novog Mandriva Linux sustava. Ukoliko su\n"
+"particije već definirane (iz prethodne instalacije GNU/Linux-a ili iz\n"
+"drugih particijskih alata), možete koristiti postojeće particije. Inače,\n"
+"moraju biti definirane.\n"
+"\n"
+"Za pravljenje particija, morate prvo izabrati tvrdi disk. Možete izabrati \n"
+"disk za particioniranje klikanjem na \"hda\" za prvi IDE disk, \"hdb\" za\n"
+"drugi ili \"sda\" za prvi SCSI disk i tako dalje.\n"
+"\n"
+"Za particioniranje izabranog hard diska, možete izabrati ove opcije:\n"
+"\n"
+" * \"Obriši sve\": ova opcija će obrisati sve raspoložive particije na\n"
+"odabranom hard disku.\n"
+"\n"
+" * \"Auto alokacija\": ova opcija vam dozvoljava da automatski napravite\n"
+"\"Ext2\" i swap particije u slobodnom prostoru vašeg hard diska.\n"
+"\n"
+" * \"Dodatno\": pristup dodatnim mogućnostima:\n"
+"\n"
+" * \"Spasi particijsku tablicu\": ukoliko je vaša particijska tablica\n"
+"oštećena, možete probati spasiti ju koristeći ovu opciju. Molimo\n"
+"budite pažljivi i zapamtite da ne mora biti uspješna.\n"
+"\n"
+" * \"Povrati\": možete koristiti ovu opciju za odustajanje od vaših "
+"promjena.\n"
+"\n"
+" * \"Ponovno učitaj\": možete koristiti ovu opciju ukoliko želite vratiti\n"
+"unazad sve promjene i učitati vašu inicijalnu particijsku tablicu\n"
+"\n"
+" * \"Čarobnjak\": ukoliko želite koristiti čarobnjak za particioniranje "
+"vašeg\n"
+"hard diska, možete koristiti ovu opciju. Preporučeno je ukoliko \n"
+"nemate dovoljno znanja oko particioniranja.\n"
+"\n"
+" * \"Vrati sa diskete\": ukoliko ste spremili vašu particijsku tablicu na\n"
+"disketu tijekom prijašnje instalacije, možete\n"
+"je vratiti koristeći ovu opciju.\n"
+"\n"
+" * \"Spremi na disketu\": ukoliko želite spremiti vašu particijsku tablicu "
+"na\n"
+"disketu kako biste je mogli kasnije vratiti, možete koristiti ovu\n"
+"opciju. Jako je preporučljivo koristiti ovu opciju\n"
+"\n"
+" * \"Završi\": kada ste završili s particioniranjem vašeg hard diska,\n"
+"koristite ovu opciju za spremanje vaših promjena.\n"
+"\n"
+"Za informaciju, možete dohvatiti bilo koju opciju koristeći tastaturu:\n"
+"navigiranje kroz particije se obavlja koristeći [Tab] i [Up/Down] strelice.\n"
+"\n"
+"Kada je particija odabrana, možete koristiti:\n"
+"\n"
+" * Ctrl-c za pravljenje novih particija (kada je prazna particija\n"
+"izabrana)\n"
+"\n"
+" * Ctrl-d za brisanje particije\n"
+"\n"
+" * Ctrl-m za postavljanje točke montiranja\n"
+"\n"
+"Za informacije o raznim dostupnim datotečnim sustavima, pročitajte ext2fs\n"
+"poglavlje u ``Reference Manual''\n"
+"\n"
+"Ukoliko instalirate na PPC računalo, željet ćete napraviti malu HFS\n"
+"'bootstrap' particiju od najmanje 1MB koju će koristiti\n"
+"yaboot bootloader. Ukoliko se odlučite za pravljenje malo veće \n"
+"particije, recimo 50MB, možete ju pronaći korisnom za stavljanje\n"
+"dodatnog kernela i ramdisk slike u slučaju nužde."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatsko montiranje prenosivog medija"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Prebaci u normalni mod"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Više od jedne Microsoft Windows particije su pronađene\n"
+"na vašem hard disku. Molimo izaberite jednu kojoj želite promjeniti "
+"veličinu\n"
+"kako bi instalirali vaš novi Mandriva Linux operativni sustav.\n"
+"\n"
+"Svaka je particija popisana kako slijedi; \"Linux ime\", \"Windows ime\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux ime\" je kodirano kako slijedi: \"tip hard diska\", \"broj hard diska"
+"\",\n"
+"\"broj particije\" (naprimjer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk - IDE hard disk i \"sd\"\n"
+"ukoliko je on SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvijek slovo poslije \"hd\" ili \"sd\". Sa IDE hard\n"
+"diskovima:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundarnom IDE kontroleru\",\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znači \"primarni hard disk\", \"b\" znači\n"
+"\"sekundarni hard disk\", itd...\n"
+"\n"
+"\"Windows ime\" je slovo vašeg hard diska pod Windows-ima (prvi disk\n"
+"ili particija se zove \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Obično, DrakX izabere pravu tipkovnicu za vas (ovisno o jeziku koji ste "
+"odabrali)\n"
+"i nećete ni vidjeti ovaj korak. Međutim, možda nemate tipkovnicu koja točno\n"
+"odgovara vašem jeziku: npr. ako ste iz Švicarske a govorite engleski, možda\n"
+"svejedno želite švicarsku tipkovnicu. Ili ako govorite engleski, a živite u\n"
+"Quebecu, možda ćete se naći u sličnoj situaciji. U oba slučaja, morate se "
+"vratiti\n"
+"na ovaj instalacijski korak i odabrati odgovarajuću tipkovnicu iz popisa.\n"
+"\n"
+"Pristisnite \"Dodatno\" da biste dobili potpun popis podržanih tipkovnica."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Izaberite jezik kojim se želite služiti u instalaciji i sustavu.\n"
+"\n"
+"Pritiskom na \"Napredno\" moći ćete izabrati druge jezike koji će biti "
+"instalirani\n"
+"na vašu radnu stanicu. Odabiranjem drugih jezika instalirat će se "
+"specifične\n"
+"jezične datoteke za sustavsku dokumentaciju i aplikacije. Npr. ako ćete na "
+"svom\n"
+"računalu imati korisnike iz Španjolske, u stablu odaberite Engleski kao "
+"glavni\n"
+"jezik i u sekciji Napredno označite kućicu koja odgovara Španjolskoj.\n"
+"\n"
+"Primjetite da se može instalirati više jezika. Kada odredite eventualne "
+"dodatne\n"
+"lokale, stisnite \"U redu\" za nastavak."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX obično prepozna koliko vaš miš ima dugmeta. Ako ne, pretpostavlja da\n"
+"imate miš sa dva dugmeta, a treće će emulirati. DrakX će automatski znati da "
+"li\n"
+"se radi o PS/2, serijskom ili USB mišu.\n"
+"\n"
+"Ako želite odrediti drugačiji tip miša, odaberite odgovarajući tip iz "
+"ponuđenog\n"
+"popisa.\n"
+"\n"
+"Ako izaberete miš različit od podrazumijevanog, prikazati će se testni "
+"ekran.\n"
+"Koristite dugmad i kotačić da potvrdite da li su postavke točne. Ako miš ne "
+"radi\n"
+"dobro, stisnite razmaknicu ili [Return] da bi odustali i ponovno izabirali."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Emulacija gumbova"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim odaberite ispravni port. Na primjer, COM1 port pod MS Windowsima\n"
+"se, pod GNU/Linuxom zove \"ttyS0\"."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ovo je najvažnija odluka za sigurnost vašeg GNU/Linux sustava: morate "
+"unijeti\n"
+"\"root\" lozinku. \"root\" je sustavski administrator i jedini koji je "
+"ovlašten\n"
+"da vrši nadogradnje, dodaje korisnike, mijenja cjelokupne postavke sustava, "
+"itd.\n"
+"Ukratko, \"root\" može raditi sve! Stoga morate izabrati lozinku koju je "
+"teško\n"
+"pogoditi, DrakX će vam reći da li je prelagana. Kao što vidite, možete "
+"odabrati\n"
+"da ne unesete lozinku, ali jako vam savjetujemo da to ne činite, barem zbog\n"
+"jednog razloga: nemojte mislite da, zbog tog što ste pokrenuli GNU/Linux, su "
+"vaši\n"
+"ostali operacijski sustavi sigurni od grešaka. Pošto \"root\" može "
+"premostiti\n"
+"sva ograničenja i nenamjerno obrisati sve podatke na particijama nemarnim "
+"pristupanjem,\n"
+"važno je da bude teško postati \"root\".\n"
+"\n"
+"Lozinka bi trebala biti kombinacija alfanumeričkih znakova i barem 8 znakova "
+"duga.\n"
+"Nikad ne zapisujte \"root\" lozinku, prelako dovodite sustav u opasnost.\n"
+"\n"
+"Ipak, nemojte izabrati predugu ili presloženu lozinku, jer ćete je morati "
+"lako\n"
+"zapamtiti.\n"
+"\n"
+"Lozinka se neće pojaviti na ekranu kako je budete upisivali. Zato je morate\n"
+"upisati dvaput da bi smanjili mogućnost greške pri upisu. Ako ipak ponovite "
+"istu\n"
+"grešku dva puta, morat ćete koristiti ovu \"netočnu\" lozinku kada se prvi "
+"put\n"
+"budete prijavljivali.\n"
+"\n"
+"U stručnjak modu, bit ćete zapitani da li ćete se spajati na "
+"autentifikacijski\n"
+"poslužitelj, poput NISa ili LDAPa.\n"
+"\n"
+"Ako vaša mreža koristi LDAP (ili NIS) protokole za autentifikaciju, "
+"izaberite\n"
+"\"LDAP\" (ili \"NIS\") kao autentifikaciju. Ako ne znate kako, pitajte\n"
+"administratora mreže.\n"
+"\n"
+"Ako vaše računalo nije povezano sa administriranom mrežom, morat ćete "
+"izabrati\n"
+"\"Lokalne datoteke\" za autentifikaciju."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "ovjera"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ovdje biramo sustav za ispis za vaše računalo. Drugi OSovi možda nude "
+"jedan,\n"
+"ali Mandriva Linux nudi tri.\n"
+"\n"
+" * \"pdq\", što znači ``print, do not queue'' (ispiši, bez stavljanja u "
+"red), je\n"
+"izbor koji ćete koristiti ako imate izravnu vezu sa pisačem, želite izbjeći\n"
+"zastoje u ispisu i nemate pisače u mreži. Ima samo jednostavne mrežne "
+"mogućnosti\n"
+"i ponešto je spor za mrežu. Izaberite \"pdq\" ako ste novi u GNU/Linuxu. "
+"Možete\n"
+"promijeniti odabir poslije instalacije pokretanjem PrinterDrakea iz "
+"Mandriva\n"
+"kontrolnog centra i pritiskom na dugme za stručnjake.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', je izvrstan za ispis na vašem "
+"lokalnom\n"
+"računalu, kao i za ispis na drugom kraju svijeta. Jednostavan je i može "
+"poslužiti\n"
+"kao poslužitelj i klijent za drevni \"lpd\" sustav za ispis. Dakle, "
+"kompatibilan je\n"
+"s ranijim sustavima. Ima mnoštvo trikova, ali osnovne postavke su gotovo\n"
+"jednostavne kao i \"pdq\". Ako trebate da vam emulira \"lpd\" poslužitelj, "
+"morate\n"
+"uključiti \"cups-lpd\" daemon. Ima grafička sučelja za ispis i za odabir "
+"opcija\n"
+"za ispis.\n"
+"\n"
+" * \"lprNG\"``line printer daemon New Generation''. Ovaj sustav može raditi\n"
+"otprilike iste stvari kao i ostali, ali će pisati i s pisačima u Novell "
+"mreži,\n"
+"jer podržava IPX protokol, i može ispisivati izravno u komande ljuske. Ako "
+"vam\n"
+"treba Novell ili ispis u komande bez korištenja preusmjeravanja, koristite "
+"lprNG.\n"
+"Inačem CUPS je najbolji jer je jednostavniji i bolje radi preko mreže."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Stručnjak"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sada pretražuje IDE uređaje prisutne u vašem računalu.Također će "
+"pokušati\n"
+"pronaći PCI SCSI adapter(e). Ukoliko DrakX\n"
+"pronađe SCSI adapter i zna koji upravljački program da koristi, on će \n"
+"automatski biti instaliran.\n"
+"\n"
+"Ukoliko imate SCSI adapter, ISA SCSI adapter ili PCI SCSI adapter koji\n"
+"DrakX ne može prepoznati, biti ćete pitani da li imate SCSI adapter u vašem\n"
+"sustavu. Ukoliko nemate adapter, možete kliknuti na \"Ne\". Ukoliko kliknete "
+"na\n"
+"\"Da\", dobiti ćete popis upravljačkih programa odakle možete izabrati vaš\n"
+"specifičan adapter.\n"
+"\n"
+"Ako trebate ručno specifirati vaš adapter, DrakX će pitati da li želite \n"
+"specifirati opcije za njega. Trebali biste dozvoliti DrakX-u da isproba "
+"opcije za\n"
+"hardware. Ovo obično radi dobro.\n"
+"\n"
+"Ako ne, trebati ćete navesti opcije za upravljački program. Molimo\n"
+"pregledajte User\n"
+"Guide (poglavlje 3, sekciju \"Collecting informations on your hardware\") "
+"za\n"
+"preporuke o pribavljanju ovih informacija iz dokumentacije hardware-a, sa \n"
+"proizvođačevog Web site-a (ukoliko imate Internet pristup) ili iz Microsoft "
+"Windows-a\n"
+"(ukoliko ga imate na vašem sustavu)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X kod pokretanja sustava"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk kojeg želite obrisati kako bi instalirali vašu\n"
+"novu Mandriva Linux particiju. Budite pažljivi, svi postojeći podaci\n"
+"biti će izgubljen i neće se moći povratiti!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Izaberite \"U redu\" ukoliko želite obrisati sve podatke i\n"
+"postojeće particije na navedenom tvrdom disku. Budite pažljivi, nakon\n"
+"klikanja na \"U redu\", nećete moći povratiti bilo kakve postojeće podatke "
+"ili\n"
+"particije na ovom hard disku, uključujući Windows podatke.\n"
+"\n"
+"Pritisnite na \"Odustani\" za prekidanje ove operacije bez gubljenja bilo\n"
+"kakvih postojećih podataka i particija na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Slijedeće ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Prijašnje"
+
diff --git a/perl-install/install/help/po/hu.po b/perl-install/install/help/po/hu.po
new file mode 100644
index 000000000..be666a2c9
--- /dev/null
+++ b/perl-install/install/help/po/hu.po
@@ -0,0 +1,1965 @@
+# translation of DrakX to Hungarian
+# Copyright (C) 2000-2001,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Emese Kovacs <emese@gnome.hu>, 2000-2001.
+# Arpad Biro <biro_arpad@yahoo.com>, 2000, 2003, 2004, 2005, 2006.
+# Tamas Szanto <tszanto@mol.hu>, 2001.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-05 14:45+0100\n"
+"Last-Translator: Arpad Biro\n"
+"Language-Team: Hungarian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Mielőtt továbblépne, olvassa át alaposan a licencegyezményt, amely az\n"
+"egész Mandriva Linux disztribúcióra érvényes. Ha elfogadja az abban\n"
+"szereplő feltételeket, akkor jelölje be a(z) \"%s\" opciót.\n"
+"Ha nem fogadja el valamelyik feltételt, akkor kattintson a(z)\n"
+"\"%s\" gombra - ezzel újraindítja a számítógépet."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"A Linux többfelhasználós rendszer; ez azt jelenti, hogy minden\n"
+"felhasználónak lehetnek például külön beállításai és saját fájljai.\n"
+"A \"root\" nevű felhasználótól (ez az azonosító a rendszergazdát\n"
+"jelöli) eltérően az itt felvett felhasználóknak csak a saját fájljaikat\n"
+"és a saját beállításaikat lesz joguk módosítani - az esetleges véletlen\n"
+"vagy rosszindulatú rendszermódosítások elkerülése érdekében.\n"
+"Létre kell hoznia legalább egy \"normál\" felhasználót az Ön saját\n"
+"használatára. Ezen normál felhasználói azonosítóval érdemes elvégezni\n"
+"az olyan tevékenységeket, amelyek nem igényelnek rendszergazdai\n"
+"jogosultságot. Bár nagyon praktikus minden alkalommal rendszergazdaként\n"
+"jelentkezni be, ez nagyon veszélyes is. Egy rendszergazdaként elkövetett\n"
+"hiba hatására meghibásodhat a rendszer. Ha normál felhasználóként követ\n"
+"el hibát, akkor esetleg elveszít bizonyos adatokat, de a rendszert nem\n"
+"teheti tönkre.\n"
+"\n"
+"Az első mezőben a valódi nevét adhatja meg. Ez természetesen nem kötelező;\n"
+"bármit be lehet írni névként. A telepítő az itt megadott név első szavát\n"
+"ajánlja fel a(z) \"%s\" mezőben. Ez utóbbi az a név, amellyel\n"
+"az adott felhasználó be tud majd jelentkezni a rendszerbe. A felkínált\n"
+"felhasználónév módosítható.\n"
+"A felhasználónév megadása után meg kell adni az ahhoz tartozó\n"
+"kívánt jelszót. Egy normál felhasználó jelszava biztonsági szempontból nem\n"
+"annyira kritikus, mint a rendszergazdáé; ez viszont nem ok arra, hogy\n"
+"felületesen legyen kezelve (üres vagy túl egyszerű jelszó megadásával) -\n"
+"végül is az Ön fájljai is veszélybe kerülhetnek.\n"
+"\n"
+"A(z) \"%s\" gomb lenyomása után felvehetők újabb felhasználók is.\n"
+"Vegyen fel egy-egy felhasználónevet mindazok számára, akik a gépet\n"
+"használni fogják. Amikor végzett a felhasználónevek létrehozásával,\n"
+"kattintson a(z) \"%s\" gombra.\n"
+"\n"
+"Ha a(z) \"%s\" gombra kattint, módosíthatja az adott felhasználó\n"
+"alapértelmezett parancsértelmezőjét (alapértelmezés szerint ez a \"bash\").\n"
+"\n"
+"Miután felvette a felhasználókat, lehetősége lesz arra, hogy automatikus\n"
+"bejelentkezést írjon elő. Ehhez meg kell adni a gépindításkor automatikusan\n"
+"bejelentkeztetendő felhasználó azonosítóját. Ha használni kívánja ezt a\n"
+"(biztonsági kockázatot jelentő) funkciót, akkor válassza ki a kívánt\n"
+"felhasználói azonosítót és ablakkezelőt, majd kattintson a(z) \"%s\"\n"
+"gombra. Ellenkező esetben távolítsa el a kijelölést a(z) \"%s\" opció mellől."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Szeretné használni ezt a lehetőséget?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Itt láthatók a lemezen talált, már létező linuxos partíciók.\n"
+"A varázsló javaslatai általában elfogadhatók, általános célú telepítésnél\n"
+"általában megfelelnek. Ha megváltoztatja a beállításokat, mindenképpen\n"
+"jelölje ki a gyökérpartíciót (\"/\"). Ne válassza túl kicsire, mert akkor\n"
+"nem lesz elég hely a szoftverek telepítéséhez. Ha külön partícióra\n"
+"szeretné helyezni a felhasználói adatokat, jelöljön ki egy külön \"/home\"\n"
+"partíciót (ez csak akkor lehetséges, ha legalább két Linux partíció\n"
+"létezik).\n"
+"\n"
+"A partíciók listájának mezői: \"név\", \"kapacitás\".\n"
+"\n"
+"A \"név\" képzési szabálya: \"a merevlemez típusa\", \"a lemez\n"
+"azonosítója\", \"a partíció azonosítója\" (például \"hda1\").\n"
+"\n"
+"\"A merevlemez típusa\" \"hd\", ha a lemez IDE-csatolós, és \"sd\",\n"
+"ha SCSI-csatolós.\n"
+"\n"
+"\"A lemez azonosítója\" egy betű a \"hd\" illetve az \"sd\" után.\n"
+"IDE-csatolós merevlemezek esetén:\n"
+"\n"
+" - \"a\" jelentése: \"első (master) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"b\" jelentése: \"második (slave) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"c\" jelentése: \"első meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+" - \"d\" jelentése: \"második meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+"SCSI-csatolós lemezeknél az \"a\" jelentése: \"a legalacsonyabb\n"
+"SCSI-azonosító\", \"b\" jelentése: \"a második legalacsonyabb\n"
+"SCSI-azonosító\", ..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A Mandriva Linux telepítőanyag több CD-n helyezkedik el. Ha egy "
+"kiválasztott\n"
+"csomag egy másik CD-n található, akkor a telepítő kiadja az\n"
+"aktuális CD-t, és megkéri Önt, hogy helyezze be a megfelelőt.\n"
+"Ha a szóban forgó lemez nincs kéznél, akkor kattintson a(z) \"%s\" gombra,\n"
+"így az adott csomagok nem lesznek telepítve."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Most meg kell adnia, mely programokat kívánja telepíteni a rendszerére.\n"
+"Több ezer program létezik Mandriva Linuxhoz; a kezelésük megkönnyítése\n"
+"érdekében a programok (hasonlóság alapján) csoportokba lettek sorolva.\n"
+"\n"
+"A Mandriva Linux rendszerben négy előredefiniált csomagkategória van\n"
+"meghatározva. A különböző kategóriákban levő csomagok keverhetők is,\n"
+"tehát egy \"Munkaállomás\" típusú telepítés tartalmazhat olyan\n"
+"alkalmazásokat is, amelyek csak a \"Kiszolgáló\" kategóriában vannak\n"
+"benne.\n"
+"\n"
+" - \"%s\": ha munkaállomásként tervezi használni a gépet, akkor\n"
+"válogasson a \"Munkaállomás\" kategóriában szereplő alkalmazások közül.\n"
+"\n"
+" - \"%s\": ha a gép programozásra is lesz használva, akkor\n"
+"válassza ki a kívánt csomagokat a kategóriából. A speciális \"LSB\"\n"
+"csoport telepítése esetén a rendszer úgy lesz beállítva, hogy megfeleljen\n"
+"a Linux Standard Base specifikációnak. Az \"LSB\" csoport kijelölése\n"
+"esetén az alapértelmezett 2.6 verziójú kernel helyett a 2.4 verzió kerül\n"
+"telepítésre - annak érdekében, hogy 100 százalékos legyen az LSB\n"
+"szabványnak való megfelelés. Ha nem jelöli ki az \"LSB\" csoportot,\n"
+"abban az esetben egy közel 100 százalékosan LSB-megfelelő rendszer\n"
+"lesz telepítve.\n"
+"\n"
+" - \"%s\": ha a gép kiszolgálóként lesz használva, válassza ki,\n"
+"hogy a gyakrabban használt szolgáltatások közül melyeket kívánja\n"
+"telepíteni a gépre.\n"
+"\n"
+" - \"%s\": itt választható ki a kívánt grafikus környezet.\n"
+"Ha szeretne grafikus felületet, akkor legalább egyet ki kell választani.\n"
+"\n"
+"Ha az egérkurzort egy csoport neve fölé viszi, akkor megjelenik egy rövid\n"
+"magyarázat az adott csoportról.\n"
+"\n"
+"Bejelölheti a(z) \"%s\" opciót; ez akkor hasznos, ha Ön ismeri a\n"
+"felkínált csomagokat, illetve ha teljes mértékben ellenőrizni kívánja,\n"
+"mi lesz a gépre feltelepítve.\n"
+"\n"
+"Ha a telepítést \"%s\" üzemmódban indította el, akkor megszüntetheti\n"
+"akár az összes csoport kijelölését is, hogy elkerülje új programok\n"
+"telepítését. Ez különösen akkor lehet hasznos, ha egy meglevő rendszert\n"
+"kíván helyreállítani vagy frissíteni.\n"
+"\n"
+"Ha telepítéskor az összes csoport kijelölését megszünteti (frissítésre\n"
+"ez nem vonatkozik), akkor a telepítő választási lehetőséget fog felkínálni\n"
+"a minimális telepítésre vonatkozóan. A következő lehetőségek választhatók:\n"
+"\n"
+" - \"%s\": grafikus rendszer a lehető legkevesebb csomag telepítésével.\n"
+"\n"
+" - \"%s\": az alaprendszer az alapvető programokkal és azok\n"
+"dokumentációjával. Megfelel például kiszolgáló telepítéséhez.\n"
+"\n"
+" - \"%s\": a lehető legkevesebb csomag telepítése; csak parancssoros\n"
+"felülettel rendelkező Linux-rendszer. Körülbelül 65 megabájt méretű "
+"telepítés."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Frissítés"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Alapvető dokumentációval"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Valóban minimális telepítés"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ha egyedi csomagkiválasztást választott, megjelenik egy fa, amely az\n"
+"összes telepíthető programcsomagot tartalmazza csoportokba és\n"
+"alcsoportokba kategorizálva. A fa böngészése közben nem csak csomagokat\n"
+"jelölhet ki, hanem egész csoportokat illetve alcsoportokat is.\n"
+"\n"
+"Amikor kiválaszt egy csomagot a fában, a jobb oldalon megjelenik egy leírás\n"
+"az adott csomagról.\n"
+"\n"
+"Ha kiszolgálócsomagok is ki lettek választva - akár közvetlenül, akár\n"
+"bizonyos csoportok tagjaként -, a telepítő megerősítést kér Öntől arra\n"
+"vonatkozóan, hogy valóban telepíteni kívánja-e azon kiszolgálószoftvereket.\n"
+"A Mandriva Linux rendszerben alapértelmezésben az összes feltelepített\n"
+"szolgáltatás elindításra kerül a rendszer indulásakor. Még ha azok\n"
+"biztonságosak is illetve nem rendelkeznek ismert problémákkal, akkor is\n"
+"előfordulhat, hogy utóbb biztonsági problémák merülnek fel velük\n"
+"kapcsolatban. Ha nem tudja, hogy egy bizonyos szolgáltatásnak mi a\n"
+"feladata illetve miért kerül telepítésre, akkor kattintson a(z)\n"
+"\"%s\" gombra. Ha a(z) \"%s\" gombra kattint, akkor a felsorolt\n"
+"szolgáltatások telepítésre kerülnek, és alapértelmezés szerint\n"
+"automatikusan elindításra kerülnek majd rendszerindításkor.\n"
+"\n"
+"A(z) \"%s\" opcióval kikapcsolható az a figyelmeztetés,\n"
+"amely akkor jelenik meg, amikor a telepítő - függőségi okokból -\n"
+"automatikusan kijelöl meghatározott csomagokat. Bizonyos csomagok közt\n"
+"függőségi kapcsolat van, ami azt jelenti, hogy egy bizonyos csomagnak a\n"
+"telepítése csak akkor történhet meg, ha egy meghatározott másik csomag\n"
+"már telepítve van. A telepítő képes meghatározni, hogy egy bizonyos\n"
+"függőség esetén mely csomagokra van szükség a telepítés sikeres\n"
+"végrehajtásához.\n"
+"\n"
+"A lista alatt levő, floppylemezt ábrázoló ikon lehetővé teszi egy korábbi\n"
+"telepítés során elmentett csomaglista betöltését. Ez akkor hasznos, ha\n"
+"több gépre szeretné ugyanazon csomagokat telepíteni. Az említett ikonra\n"
+"kattintva a telepítő megkéri Önt, hogy tegyen be egy floppyt, amely egy\n"
+"korábbi telepítés végén készült. Ha szeretné megtudni, hogyan lehet ilyen\n"
+"floppyt készíteni, akkor tekintse meg a telepítés utolsó lépésében szereplő\n"
+"második tippet."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatikus függőségek"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": a(z) \"%s\" gombra kattintva elindul a nyomtatóbeállítási\n"
+"varázsló. Nyomtatóbeállítással kapcsolatos további információkat a\n"
+"felhasználói kézikönyvből lehet szerezni. Az ott bemutatott felület hasonló\n"
+"ahhoz, ami a telepítéskor megjelenik."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ebben a párbeszédablakban lehet kijelölni a rendszerindításkor\n"
+"automatikusan elindítandó szolgáltatásokat.\n"
+"\n"
+"A telepítő megjeleníti a jelenleg telepített összes szolgáltatás listáját.\n"
+"Vizsgálja meg a listát alaposan, és törölje a kijelölést azok mellől,\n"
+"amelyek rendszerindításkor való elindítására nincs szükség.\n"
+"\n"
+"Egy szolgáltatás kiválasztásakor megjelenik a hozzá tartozó rövid leírás.\n"
+"Ha nem tudja biztosan, hogy a szolgáltatásra szükség van-e vagy\n"
+"sem, akkor ne változtassa meg az alapértelmezett indítási módot.\n"
+"\n"
+"Gondosan járjon el, ha a gépet kiszolgálónak fogja használni; ne\n"
+"indítson el egyetlen olyan szolgáltatást sem automatikusan, amelyre nincs\n"
+"szükség. Kiszolgáló esetén bizonyos szolgáltatások biztonsági kockázatot\n"
+"jelentenek. Csak a valóban szükséges szolgáltatásokat engedélyezze."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"A Linux az időt a GMT (Greenwich Mean Time) alapján kezeli - a\n"
+"kiválasztott időzónának megfelelő helyi időre konvertálja azt. Ha a gép\n"
+"alaplapjának órája helyi időre van állítva, akkor kapcsolja ki az\n"
+"időzónához való igazítást a(z) \"%s\" opció kikapcsolásával -\n"
+"ekkor a rendszeróra szerinti idő azonos lesz a gép órája szerintivel\n"
+"(azaz a két óra ugyanazon időzóna szerint mutatja az időt). Ez\n"
+"akkor hasznos, ha van a gépen más operációs rendszer is.\n"
+"\n"
+"A(z) \"%s\" opció automatikusan beállítja az órát egy internetes\n"
+"időkiszolgálóhoz kapcsolódva. Ehhez szükség van egy beállított\n"
+"internetkapcsolatra. Az időkiszolgálók közül lehetőleg egy Önhöz közel\n"
+"levőt válasszon. Ez a funkció feltelepít az Ön gépére egy időkiszolgálót,\n"
+"amelyet a helyi hálózat többi gépe is használhat."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatikus időszinkronizáció"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikus kártya\n"
+"\n"
+"A telepítő általában felismeri és beállítja a gépben levő grafikus kártyát.\n"
+"Ha nem így történik, kiválaszthatja a grafikus kártyák listájából a\n"
+"megfelelőt.\n"
+"\n"
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Az X (teljes néven: X Window System) a Linux grafikus felületét nyújtó\n"
+"rendszer. A Mandriva Linuxban levő grafikus környezetek (KDE, GNOME,\n"
+"AfterStep, WindowMaker, ...) ezen grafikus rendszert használják.\n"
+"\n"
+"Egy listát fog látni az elérhető paraméterekről, amelyekkel optimalizálható\n"
+"a grafikus megjelenítés.\n"
+"\n"
+"\n"
+"\n"
+"Grafikus kártya\n"
+"\n"
+"A telepítő általában felismeri és beállítja a gépben levő grafikus kártyát.\n"
+"Ha nem így történik, kiválaszthatja a grafikus kártyák listájából a\n"
+"megfelelőt.\n"
+"\n"
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+"A telepítő általában automatikusan megállapítja a monitor típusát, és\n"
+"beállítja azt. Ha nem így történik, kiválaszthatja ebből a listából a\n"
+"monitor típusát.\n"
+"\n"
+"\n"
+"\n"
+"Felbontás\n"
+"\n"
+"Itt kiválaszthatja a kívánt felbontási és színmélységi értékeket az\n"
+"elérhető értékek listájából. Válassza ki az igényeinek legjobban\n"
+"megfelelő értékeket. A beállítások tetszőlegesen módosíthatók a\n"
+"telepítés után is. A képernyőn egy mintakép fog megjelenni a\n"
+"kiválasztott beállítások szemléltetésére.\n"
+"\n"
+"\n"
+"\n"
+"Teszt\n"
+"\n"
+"Bizonyos hardverelemek esetén ez a bejegyzés nem jelenik meg.\n"
+"\n"
+"A rendszer megnyit egy grafikus képernyőt a kívánt felbontással, ha ez\n"
+"lehetséges. Ha látható a tesztelés közben megjelenő üzenet, akkor nyomja\n"
+"le a(z) \"%s\" gombot; a telepítő ekkor a következő lépésre ugrik. Ha\n"
+"viszont az üzenet nem látható, az azt jelenti, hogy a beállítás nem\n"
+"megfelelő. A beállítás tesztelése 12 másodperc elteltével automatikusan\n"
+"véget ér, és ismét a menü jelenik meg a képernyőn. Módosítsa a\n"
+"beállításokat, amíg el nem ér egy megfelelő beállítást.\n"
+"\n"
+"\n"
+"\n"
+"Beállítások\n"
+"\n"
+"Itt beállítható, hogy rendszerindításkor grafikus üzemmódba váltson-e a\n"
+"rendszer. Ha a gép kiszolgálóként fog üzemelni, vagy nem sikerült\n"
+"megfelelően beállítani a grafikus üzemmódot, akkor javasolt a(z) \"%s\"\n"
+"lehetőséget választani."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+"A telepítő általában automatikusan megállapítja a monitor típusát, és\n"
+"beállítja azt. Ha nem így történik, kiválaszthatja ebből a listából a\n"
+"monitor típusát."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Felbontás\n"
+"\n"
+"Itt kiválaszthatja a kívánt felbontási és színmélységi értékeket az\n"
+"elérhető értékek listájából. Válassza ki az igényeinek legjobban megfelelő\n"
+"értékeket. A beállítások tetszőlegesen módosíthatók a telepítés után is.\n"
+"A képernyőn egy mintakép fog megjelenni a kiválasztott beállítások\n"
+"szemléltetésére."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Ha több grafikus modul is elérhető az Ön kártyájához - 3D-gyorsítással\n"
+"illetve a nélkül -, akkor kiválaszthatja az Önnek leginkább megfelelőt."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Beállítások\n"
+"\n"
+"Itt beállítható, hogy rendszerindításkor grafikus üzemmódba váltson-e a\n"
+"rendszer. Ha a gép kiszolgálóként fog üzemelni, vagy nem sikerült\n"
+"megfelelően beállítani a grafikus üzemmódot, akkor a(z) \"%s\"\n"
+"lehetőséget érdemes választani."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Ebben a lépésben kell megadni, hogy a Mandriva Linux telepítése a "
+"merevlemez\n"
+"melyik részére történjen. Ha a lemez még teljesen üres, vagy a korábban\n"
+"telepített operációs rendszer(ek) miatt nincs elég szabad hely, akkor újra\n"
+"kell partícionálni a lemezt. A partícionálás a lemezterület logikai\n"
+"újrafelosztását jelenti - erre a Mandriva Linux telepítéséhez szükséges\n"
+"hely létrehozása érdekében van szükség.\n"
+"\n"
+"A partícionálás veszélyes művelet. Hiba esetén adatvesztéssel járhat\n"
+"(ha a lemez nem volt üres), ráadásul általában nincs lehetőség visszatérni\n"
+"egy korábbi állapothoz. Emiatt kezdő felhasználóknak sok nehézséget\n"
+"okozhat. A telepítő tartalmaz egy varázslót, amely egyszerűbbé teszi a\n"
+"művelet végrehajtását, de mielőtt használatba venné, olvassa végig a\n"
+"leírást.\n"
+"\n"
+"A lemezek tartalmától függően többféle lehetőség van:\n"
+"\n"
+" - \"%s\": ez a lehetőség az üres meghajtók automatikus\n"
+"partícionálását jelenti. Ebben az esetben a telepítő nem tesz\n"
+"fel további kérdéseket.\n"
+"\n"
+" - \"%s\": a varázsló talált egy vagy több\n"
+"linuxos partíciót a lemezen. Ha ezeket szeretné használni a\n"
+"telepítéshez, válassza ezt a lehetőséget. Ezt követően meg kell adnia\n"
+"az ezekhez tartozó csatolási pontokat. Alapértelmezésben a korábbi\n"
+"állapotnak megfelelő csatolási pontok vannak megadva; általában\n"
+"érdemes változatlanul hagyni azokat.\n"
+"\n"
+" - \"%s\": ha a\n"
+"Windows úgy van feltelepítve a lemezre, hogy elfoglalja az összes\n"
+"elérhető területet, akkor annak egy részét fel kell szabadítani a Linux\n"
+"számára. Ez történhet a Windows-partíció törlésével (lásd \"A teljes\n"
+"lemez törlése\" lehetőséget) vagy átméretezésével (az utóbbi a FAT\n"
+"és az NTFS típusú partíciókra vonatkozik).\n"
+"Az átméretezés végrehajtható a lemezen levő adatok\n"
+"elvesztése nélkül - feltéve, hogy azt megelőzően töredezettségmentesítve\n"
+"lett a kérdéses partíció. Javasolt továbbá az adatok mentése is.\n"
+"Ezen módszer a javasolt abban az esetben, ha a Mandriva Linuxot és a\n"
+"Windowst ugyanazon a gépen szeretné használni.\n"
+"\n"
+"Ha ezt a lehetőséget választja, ne feledkezzen meg arról, hogy ennek\n"
+"hatására a windowsos partíció mérete a korábbinál kisebb lesz,\n"
+"tehát a Windows használatakor kevesebb hely lesz az adatok tárolására\n"
+"és új szoftverek telepítésére.\n"
+"\n"
+" - \"%s\": ha minden adatot és minden partíciót\n"
+"törölni szeretne a lemezről, és a telepítéshez az így felszabaduló\n"
+"helyet szeretné használni, akkor válassza ezt a lehetőséget. Legyen\n"
+"nagyon óvatos ezzel a lehetőséggel, mert a lemezen levő adatok\n"
+"véglegesen elvesznek a megerősítés után.\n"
+"\n"
+"Ha ezt a lehetőséget választja, a lemezen levő összes adat törlésre kerül.\n"
+"\n"
+" - \"%s\": ez a funkció akkor használható, ha a Windows az\n"
+"egész lemezt elfoglalja. A funkció egyszerűen letöröl mindent\n"
+"a lemezről, és újrapartícionálja azt.\n"
+"\n"
+"Ha ezt a lehetőséget választja, a lemezen levő összes adat elvész.\n"
+"\n"
+" - \"%s\": ha közvetlenül (varázsló nélkül)\n"
+"szeretné elvégezni a partícionálást, akkor válassza ezt a lehetőséget.\n"
+"Legyen óvatos - sok minden elvégezhető ebben az üzemmódban, de a\n"
+"használata veszélyes. Könnyen elveszítheti a lemezen levő összes adatot\n"
+"ennek a használatával, ezért csak indokolt esetben válassza ezt a\n"
+"funkciót. A DiskDrake program használatáról a felhasználói kézikönyv\n"
+"partíciókezelésről szóló szakaszában találhat további információt."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Már létező partíció használata"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "A teljes lemez törlése"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"A telepítés befejeződött; a Linux rendszer készen áll a használatra.\n"
+"A rendszer újraindításához kattintson a(z) \"%s\" gombra. Ne\n"
+"feledkezzen meg a telepítőlemez eltávolításáról. Miután a\n"
+"gép elvégzi az indítási hardverteszteket, megjelenik a rendszerbetöltő\n"
+"menüje, amelyből kiválasztható, melyik operációs rendszer induljon el.\n"
+"\n"
+"A(z) \"%s\" gomb lenyomására két újabb gomb jelenik meg:\n"
+"\n"
+" - \"%s\": olyan telepítőfloppy\n"
+"készítése, amelynek használatával emberi közreműködés nélkül végezhető\n"
+"a rendszer telepítése. Az így végzett telepítések a jelenlegi telepítés\n"
+"beállításait használják.\n"
+"\n"
+"Két lehetőség közül lehet választani a gomb lenyomása után:\n"
+"\n"
+" - \"%s\". Részben automatizált telepítést jelent;\n"
+"a partícionálási lépés az egyetlen interaktív tevékenység.\n"
+"\n"
+" - \"%s\". Teljesen automatizált telepítés; a merevlemez\n"
+"tartalma felülíródik, az összes korábbi adat elvész.\n"
+"\n"
+"Ez a lehetőség jól használható akkor, amikor nagyobb számú azonos gépre\n"
+"kell a rendszert feltelepíteni. Az automatikus telepítéssel\n"
+"kapcsolatban a Mandriva Linux honlapján találhatók további információk.\n"
+"\n"
+" - \"%s\"(*): elmenti a telepítés során\n"
+"kiválasztott csomagok listáját. Ha egy újabb telepítés alkalmával fel\n"
+"kívánja használni az elmentett listát, akkor helyezze be az azt tartalmazó\n"
+"floppyt a telepítés megkezdésekor, majd - amikor a gép billentyűlenyomásra\n"
+"vár - nyomja le az \"F1\" billentyűt, ez után pedig írja be a következőt:\n"
+"linux defcfg=\"floppy\" - utána pedig nyomja le az Enter billentyűt.\n"
+"\n"
+"\n"
+"(*) Ehhez szükség lesz egy FAT fájlrendszerre formázott floppyra.\n"
+"A formázás Linux alatt a következő paranccsal végezhető el:\n"
+"\"mformat a:\". Másik módszer a formázásra: \"fdformat /dev/fd0\", majd\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Automatikus telepítőfloppy készítése"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ha azt a lehetőséget választotta, hogy fel kíván használni bizonyos,\n"
+"már létező Linux-partíciókat, akkor itt lehetősége van bármelyikük\n"
+"újraformázására. A formázás letörli az adott partíció teljes tartalmát.\n"
+"Ha ezt kívánja tenni, akkor jelölje ki azon partíciókat is.\n"
+"\n"
+"Nem szükséges újraformázni az összes, korábban létrehozott partíciót.\n"
+"Az operációs rendszernek szánt partíció(ka)t mindenképpen le kell formázni\n"
+"(például a \"/\", \"/usr\" és \"/var\" partíciókat), de a felhasználói\n"
+"és egyéb adatokat tartalmazó partíciókat nem szükséges újraformázni (ilyen\n"
+"például a \"/home\").\n"
+"\n"
+"Gondosan ellenőrizze, mely partíciókat jelöli ki, mert a formázás során az\n"
+"adott partíciókon levő adatok törlődnek, és később nem nyerhetők vissza.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra a formázások megkezdéséhez.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha más partícióra szeretné telepíteni a\n"
+"Mandriva Linux operációs rendszert.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha bizonyos partíciókat ellenőriztetni\n"
+"kíván (hibás blokkok keresése)."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Lehetséges, hogy amikor Ön a Mandriva Linux rendszert telepíti, már\n"
+"frissítésre kerültek bizonyos csomagok a rendszer kiadása óta.\n"
+"Elképzelhető, hogy bizonyos hibák ki lettek javítva, illetve\n"
+"hogy meg lettek oldva bizonyos felmerült biztonsági problémák. Ezeket\n"
+"a frissítéseket Ön letöltheti az interneten keresztül.\n"
+"Válassza a(z) \"%s\" lehetőséget, ha van működő internetkapcsolata. Ha\n"
+"inkább később kívánja telepíteni a frissítéseket, akkor a(z) \"%s\"\n"
+"lehetőséget válassza.\n"
+"\n"
+"Ha a(z) \"%s\" lehetőséget választja, akkor megjelenik egy lista azon\n"
+"helyekről, amelyekről a frissítések letölthetők. Válasszon közülük egy\n"
+"Önhöz közel levőt.\n"
+"Ezt követően egy csomagválasztási fa jelenik meg. Ha telepíteni kívánja a\n"
+"kijelölt csomagokat, akkor nyomja le a(z) \"%s\" gombot. Ha nem kíván\n"
+"csomagokat telepíteni, akkor a(z) \"%s\" gombot nyomja le."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Most kiválaszthat egy biztonsági szintet a gép számára. Alapszabály,\n"
+"hogy ha fontos adatok vannak tárolva a gépen, vagy a gép kapcsolódik\n"
+"az internetre, akkor érdemes magasabbra venni a biztonsági szintet.\n"
+"Magasabb szint esetén viszont általában nehézkesebb a gép használata.\n"
+"\n"
+"Ha nem biztos benne, hogy mit volna érdemes választani, akkor válassza\n"
+"az alapértelmezés szerinti lehetőséget. A biztonsági szint később is\n"
+"módosítható a Mandriva Linux Vezérlőközpontban elérhető \"draksec\"\n"
+"eszközzel.\n"
+"\n"
+"A(z) \"%s\" mezőben megadandó a biztonságért felelős személy email-címe.\n"
+"A biztonsági üzenetek azon címre lesznek küldve."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Biztonsági adminisztrátor"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Ebben a lépésben kell kiválasztani a Mandriva Linux rendszer telepítéséhez\n"
+"használni kívánt partíciókat. Ha a kívánt partíciók már létre lettek hozva\n"
+"(egy korábbi Linux-telepítés vagy valamilyen partícionálási segédprogram\n"
+"által), akkor felhasználhatók a már létező partíciók. Ha viszont még nem\n"
+"léteznek, akkor először definiálni kell a partíciókat.\n"
+"\n"
+"Partíció létrehozásánál először ki kell választani egy merevlemezt.\n"
+"Ehhez kattintson a megfelelő azonosítóra: \"hda\" az első IDE-csatolós\n"
+"lemez, \"hdb\" a második; \"sda\" az első SCSI-csatolós lemez, és így\n"
+"tovább.\n"
+"\n"
+"A kijelölt merevlemez partícionálásánál az alábbi lehetőségek közül lehet\n"
+"választani:\n"
+"\n"
+" - \"%s\": ennek hatására a kijelölt merevlemezen található\n"
+"összes partíció törlésre kerül.\n"
+"\n"
+" - \"%s\": ez lehetővé teszi Ext3 és lapozási\n"
+"partíciók automatikus létrehozását a rendelkezésre álló üres területen.\n"
+"\n"
+" - \"%s\": hozzáférést biztosít további lehetőségekhez:\n"
+"\n"
+" - \"%s\": a partíciós tábla mentése floppyra.\n"
+"A floppy használatával később - szükség esetén - helyre lehet állítani\n"
+"(vissza lehet tölteni) a partíciós táblát. Erősen ajánljuk, hogy használja\n"
+"ezt a lehetőséget.\n"
+"\n"
+" - \"%s\": egy korábban elmentett\n"
+"partíciós tábla visszatöltése floppyról.\n"
+"\n"
+" - \"%s\": ha a partíciós tábla\n"
+"megsérült, akkor ezzel lehet megpróbálni annak kijavítását. Legyen nagyon\n"
+"óvatos, mert a javítás nem mindig sikerül.\n"
+"\n"
+" - \"%s\": ennek hatására az összes\n"
+"módosítás elvész; a program ismét betölti a kiindulási partíciós táblát.\n"
+"\n"
+" - \"%s\": ha nincs\n"
+"bejelölve ez az opció, akkor a felhasználóknak kézzel kell végezniük a\n"
+"cserélhető adathordozók (például CD és floppy) csatolását illetve\n"
+"leválasztását.\n"
+"\n"
+" - \"%s\": akkor válassza ezt a lehetőséget, ha a partícionálást\n"
+"varázsló segítségével szeretné végrehajtani. Ha nem ismeri a\n"
+"partícionálás technikai részleteit, akkor érdemes ezt választania.\n"
+"\n"
+" - \"%s\": ezzel lehet a módosításokat visszavonni.\n"
+"\n"
+" - \"%s\": további funkciók elérhetővé tétele\n"
+"(partíciótípus, opciók, formázás) és több információ megjelenítése a\n"
+"merevlemezekkel kapcsolatosan.\n"
+"\n"
+" - \"%s\": a partícionálás befejezése után ezzel lehet a módosításokat\n"
+"elmenteni a lemezre.\n"
+"\n"
+"Egy partíció méretének megadásakor finombeállítást végezhet a billentyűzet\n"
+"nyílbillentyűivel.\n"
+"\n"
+"Az összes funkció elérhető a billentyűzetről. A partíciók között a Tab\n"
+"billentyűvel és a Fel/Le nyilakkal lehet mozogni.\n"
+"\n"
+"Ha egy partíció ki van jelölve, használni lehet a következőket:\n"
+"\n"
+" - Ctrl+C: új partíció létrehozása (ha üres partíció van kijelölve)\n"
+"\n"
+" - Ctrl+D: partíció törlése\n"
+"\n"
+" - Ctrl+M: csatolási (mount) pont megadása\n"
+"\n"
+"Ha információt szeretne a használható fájlrendszertípusokról, olvassa el\n"
+"a kézikönyv Ext2FS fájlrendszerrel foglalkozó fejezetét.\n"
+"\n"
+"Ha a telepítés egy PowerPC gépre történik, akkor érdemes létrehozni egy\n"
+"kisméretű HFS rendszerindítási partíciót (legalább 1 MB) a \"Yaboot\"\n"
+"rendszerbetöltő program számára. Ha nagyobbra veszi a partíciót (például\n"
+"50 MB méretűre), akkor eltárolható lesz rajta például egy tartalék kernel\n"
+"illetve RAM-diszk képfájlok (image-ek) esetleges rendszerhibák esetére."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Cserélhető adathordozó automatikus csatolása"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Váltás a normál és a szakértői módok közt"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Egynél több microsoftos partíció van a lemezen.\n"
+"Válassza ki azt, amelyiket át szeretné méretezni, hogy a\n"
+"Mandriva Linux feltelepíthető legyen.\n"
+"\n"
+"A partíciólista a következő mezőket tartalmazza: \"linuxos név\",\n"
+"\"windowsos név\", \"kapacitás\".\n"
+"\n"
+"A \"linuxos név\" formátuma a következő: \"a merevlemez típusa\",\n"
+"\"a lemez azonosítója\", \"a partíció azonosítója\" (példa a linuxos\n"
+"névre: \"hda1\").\n"
+"\n"
+"Ha a lemez IDE-csatolós, akkor \"a merevlemez típusa\" \"hd\",\n"
+"ha pedig SCSI-csatolós, akkor \"sd\".\n"
+"\n"
+"\"A lemez azonosítója\" mindig egy betű a \"hd\" illetve az \"sd\" után.\n"
+"IDE-csatolós meghajtók esetén:\n"
+"\n"
+" - \"a\" jelentése: \"első (master) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"b\" jelentése: \"második (slave) meghajtó az első IDE-vezérlőn\"\n"
+"\n"
+" - \"c\" jelentése: \"első meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+" - \"d\" jelentése: \"második meghajtó a második IDE-vezérlőn\"\n"
+"\n"
+"SCSI-csatolós meghajtóknál az \"a\" jelentése: \"a legalacsonyabb\n"
+"SCSI-azonosító\", \"b\" jelentése: \"a második legalacsonyabb\n"
+"SCSI-azonosító\", és így tovább.\n"
+"\n"
+"A \"windowsos név\" a meghajtó Windows alatt használt azonosítója\n"
+"(az első lemez vagy partíció neve \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ellenőrizze a jelenlegi országbeállítást. Ha az nem\n"
+"megfelelő, kattintson a(z) \"%s\" gombra és válasszon egy másik országot.\n"
+"Ha a kívánt ország nem szerepel az elsőként megjelenített listában, akkor\n"
+"kattintson a(z) \"%s\" gombra a teljes országlista megjelenítéséhez."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Erre a lépésre csak akkor kerül sor, ha a gépen már van linuxos partíció.\n"
+"\n"
+"Most közölnie kell a telepítővel, hogy új telepítést szeretne-e végezni\n"
+"vagy pedig egy meglevő Mandriva Linux-rendszert kíván frissíteni:\n"
+"\n"
+" - \"%s\": a korábbi rendszer felülírásra kerül. Attól függően, hogy\n"
+"milyen partíciók találhatók a gépen, bizonyos partíciók (például a\n"
+"\"home\" nevű saját könyvtárakat tartalmazók) változatlan tartalommal\n"
+"megőrizhetők. Ha szeretné módosítani a merevlemezek partícionálását\n"
+"vagy a fájlrendszereket, akkor ezt a lehetőséget használja.\n"
+"\n"
+" - \"%s\": lehetővé teszi egy korábbi Mandriva Linux-telepítés\n"
+"csomagjainak frissítését. A merevlemezek partícionálása változatlanul\n"
+"marad, a felhasználók adatai sem módosulnak. A többi beállítási lépés közül\n"
+"a legtöbb elérhető lesz - a folyamat hasonló a normál telepítéshez.\n"
+"\n"
+"Frissítés használata akkor javasolt, ha a számítógépen\n"
+"Mandriva Linux 8.1 vagy újabb kiadás van."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"A telepítő a kiválasztott nyelvtől függően automatikusan kiválaszt\n"
+"egy bizonyos billentyűzetbeállítást. Ellenőrizze, hogy a kiválasztott\n"
+"beállítás megfelel-e Önnek; ha nem felel meg, akkor válasszon másikat.\n"
+"\n"
+"Elképzelhető, hogy Önnek nem a nyelvének megfelelő billentyűzete van;\n"
+"például ha Ön egy angolul beszélő magyar ember, akkor lehetséges,\n"
+"hogy magyar billentyűzete van.\n"
+"Hasonló helyzet adódhat, ha az Ön nyelve magyar, de Ön Quebecben\n"
+"tartózkodik - az Ön által beszélt nyelv nem feltétlenül egyezik meg a\n"
+"billentyűzet nyelvével. Ez a telepítési lépés lehetővé teszi a hasonló\n"
+"esetekre, hogy kiválasszon egy megfelelő billentyűzetet egy listából.\n"
+"\n"
+"Hogy megjelenjen a támogatott billentyűzetek listája, kattintson\n"
+"a(z) \"%s\" nyomógombra.\n"
+"\n"
+"Ha nem latin ábécére épülő billentyűzetkiosztást választ, akkor a\n"
+"következő lépésben kijelölhet egy billentyűkombinációt, amellyel\n"
+"majd a latin és a nem-latin kiosztások közt lehet váltani."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Az első lépés a nyelv kiválasztása.\n"
+"\n"
+"A kiválasztott nyelv befolyásolja a telepítőnek, a dokumentációnak és a\n"
+"rendszer többi részének a nyelvét is. Válassza ki a megfelelő földrajzi\n"
+"helyet, majd a kívánt nyelvet.\n"
+"\n"
+"A(z) \"%s\" nyomógombra kattintva kiválaszthatók további telepítendő\n"
+"nyelvek. További nyelvek választása esetén telepítésre kerülnek az adott\n"
+"nyelvekhez tartozó fájlok is - a rendszerdokumentáció és az alkalmazások\n"
+"szövegei. Ha például a gépet spanyol felhasználók is használni fogják,\n"
+"akkor az alapértelmezett nyelvnek (például magyar) a fában történő\n"
+"kiválasztását követően a Speciális részben jelölje be a(z) \"%s\"\n"
+"lehetőséget.\n"
+"\n"
+"Az UTF-8 (Unicode) szabvány támogatásáról: A Unicode egy új\n"
+"karakterkódolási szabvány az összes létező nyelv lefedésére.\n"
+"A Linux alatti teljes támogatása még fejlesztés alatt áll.\n"
+"A Mandriva Linux UTF-8-használatát befolyásolják a felhasználó\n"
+"által végzett beállítások:\n"
+"\n"
+" - ha olyan nyelvet választ, amelyhez erősen kapcsolódik egy\n"
+"korábbi kódolási módszer (Latin1-nyelvek, orosz, japán, kínai,\n"
+"koreai, thai, görög, török, valamint a legtöbb, ISO-8859-2 kódolást\n"
+"használó nyelv), akkor alapértelmezésben ez a korábbi kódolás lesz\n"
+"használva\n"
+"\n"
+" - egyéb nyelvek esetében a Unicode szabvány lesz használva\n"
+"alapértelmezésben\n"
+"\n"
+" - ha kettő vagy több nyelv kerül telepítésre, és azok eltérő\n"
+"kódolást használnak, akkor a Unicode szabványt fogja használni az\n"
+"egész rendszer\n"
+"\n"
+" - a felhasználó előírhatja, hogy az egész rendszer a Unicode-ot\n"
+"használja - ehhez a(z) \"%s\" lehetőséget kell választani (függetlenül\n"
+"a választott nyelvektől)\n"
+"\n"
+"Tetszőleges számú nyelv telepíthető az alapértelmezett nyelven felül.\n"
+"Telepítheti akár az összeset is - ehhez a(z) \"%s\" opciót kell\n"
+"használni. Egy nyelv támogatásának telepítése azt jelenti, hogy telepítésre\n"
+"kerülnek az adott nyelvhez kapcsolódó fordítások, betűkészletek,\n"
+"helyesírás-ellenőrzők és egyebek.\n"
+"\n"
+"A rendszerre telepített nyelvek közti váltáshoz a \"localedrake\"\n"
+"program használható. Rendszergazdai jogosultsággal az összes felhasználó\n"
+"nyelvbeállításait lehet módosítani, normál felhasználóként futtatva\n"
+"pedig csak az adott felhasználó nyelvbeállításait."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "spanyol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"A telepítő általában felismeri, hogy hány gomb van az egéren. Ha ez nem így\n"
+"történik, akkor azt feltételezi, hogy Ön kétgombos egérrel rendelkezik,\n"
+"és ez esetben beállítja a harmadik egérgomb emulálását. Kétgombos egér\n"
+"esetén a \"harmadik\" gomb lenyomása a két gomb egyidejű lenyomását\n"
+"jelenti (ha az emulálás be van állítva). A telepítő felismeri, hogy\n"
+"milyen fajtájú az egér: PS/2, soros vagy USB.\n"
+"\n"
+"Ha háromgombos, görgő nélküli egere van, akkor kiválaszthat egy \"%s\"\n"
+"egeret. A telepítő ekkor úgy állítja be az egeret, hogy emulálható\n"
+"legyen a görgő. Emulálási üzemmódban a görgő helyettesítéséhez\n"
+"nyomja le a középső egérgombot, majd mozgassa az egeret előre-hátra\n"
+"irányban.\n"
+"\n"
+"Ha Ön másféle egértípust szeretne megadni, válassza ki a megfelelő típust\n"
+"a listából.\n"
+"\n"
+"\"Általános\" egértípus kiválasztásához használja a(z) \"%s\" bejegyzést.\n"
+"Ez a legtöbb egérhez megfelel.\n"
+"\n"
+"Ha az alapértelmezettől eltérő egeret választ, akkor megjelenik egy\n"
+"tesztelési képernyő. Használja az egérgombokat és a görgőt, hogy\n"
+"ellenőrizze a beállítások helyességét és az egér helyes működését.\n"
+"Ha az egér nem működik helyesen, akkor nyomja le a Szóköz vagy az Enter\n"
+"(Return) billentyűt, és válasszon egy másik fajta egeret a listából.\n"
+"\n"
+"A görgős egereket nem mindig ismeri fel a rendszer. Ha az egér nem lett\n"
+"felismerve, válassza ki saját kezűleg a listából. Ügyeljen arra, hogy az\n"
+"egér portjának megfelelő tételt válassza ki. Miután kiválasztotta a kívánt\n"
+"típust, majd lenyomta a(z) \"%s\" gombot, egy egeret ábrázoló kép\n"
+"jelenik meg a képernyőn. Mozgassa az egér görgőjét, hogy az megfelelően\n"
+"aktiválva legyen. Ha a képernyőn levő görgőt mozogni látja az egérgörgő\n"
+"mozgatásakor, akkor tesztelje le egyrészt az egér gombjainak működését,\n"
+"másrészt azt, hogy megfelelően mozog-e az egérkurzor a képernyőn az egér\n"
+"mozgatásakor."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "görgő-emulációval"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzális | Bármilyen PS/2- vagy USB-egér"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Válassza ki a megfelelő portot. Például a windowsos \"COM1\" port\n"
+"neve Linux alatt \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ez a legkritikusabb pont a Linux rendszer biztonságára vonatkozóan:\n"
+"meg kell adni a \"root\" nevű felhasználó jelszavát. A \"root\" azonosító\n"
+"a rendszeradminisztrátort jelöli; ez az egyetlen olyan felhasználó,\n"
+"amelynek joga van rendszerfrissítést végezni, felhasználókat létrehozni,\n"
+"módosítani a rendszerbeállításokat illetve hasonló tevékenységeket végezni.\n"
+"Röviden szólva: a \"root\" felhasználó bármit megtehet a rendszeren.\n"
+"Ez az, amiért a jelszót úgy kell megválasztani, hogy azt minél nehezebb\n"
+"legyen kitalálni. A telepítő jelzi az Ön számára, ha a jelszót könnyen\n"
+"kitalálhatónak tartja. Nem kötelező megadni jelszót, de erősen javasolt.\n"
+"A Linux rendszert - ugyanúgy, mint bármely más rendszert - tönkre lehet\n"
+"tenni rendszeradminisztrátori hibákkal. Mivel a \"root\" felhasználóra\n"
+"nem vonatkoznak a korlátozások, ezért ha például óvatlanul kezeli a\n"
+"partíciókat, akkor akár le is törölheti az azokon levő adatokat - ezért\n"
+"fontos, hogy a rendszeradminisztrátori azonosító védve legyen.\n"
+"\n"
+"A jelszónak betűkből és számokból kell állni, és legalább 8 karakter\n"
+"hosszúságúnak kell lenni. Soha ne írja le a rendszeradminisztrátori\n"
+"jelszót - ez veszélyt jelenthetne a rendszerre.\n"
+"\n"
+"A fentiek ellenére ne válasszon túl hosszú vagy túl bonyolult jelszót, mert\n"
+"Önnek fejben kell tartania azt.\n"
+"\n"
+"A jelszó nem jelenik meg a képernyőn, amikor Ön begépeli azt. Az esetleges\n"
+"gépelési hibák miatti problémák elkerülése érdekében kétszer kell beírni a\n"
+"jelszót. Ha esetleg ugyanazt a gépelési hibát követi el a jelszó első és\n"
+"második megadásánál, akkor ezen - helytelenül írt - jelszóval kell majd\n"
+"bejelentkezni a rendszerbe.\n"
+"\n"
+"Ha szeretné a géphez való hozzáférést azonosítási kiszolgálóval\n"
+"(authentication server) vezérelni, akkor kattintson a(z) \"%s\" gombra.\n"
+"\n"
+"Ha az Ön hálózata LDAP-t, NIS-t vagy PDC-t használ azonosításhoz, akkor\n"
+"válassza az ennek megfelelő tételt a(z) \"%s\" pontban. Ha nem tudja,\n"
+"hogy mit kellene megadni, kérdezze meg a rendszergazdát.\n"
+"\n"
+"Ha Önnek problémája van a jelszavak megjegyzésével kapcsolatban, vagy\n"
+"a számítógép nem fog kapcsolódni az internetre és Ön megbízik\n"
+"mindenkiben, aki elérheti a gépet, abban az esetben elfogadható a(z)\n"
+"\"%s\" lehetőség választása."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "felhasználóazonosítás"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"A rendszerindító programot a számítógép indítja el a gép elindításakor,\n"
+"ezt követően ezen program végzi a rendszer elindítását. A rendszerindító\n"
+"program telepítése általában teljesen automatikus. A telepítő elemzi a\n"
+"lemez betöltőszektorát, és annak megfelelően cselekszik, hogy ott mit\n"
+"talál:\n"
+"\n"
+" - Ha windowsos betöltőszektort talál, akkor azt helyettesíteni fogja egy\n"
+"GRUB-/LILO-betöltőszektorral. Így Önnek lehetősége lesz arra is, hogy\n"
+"Linuxot indítson, és arra is, hogy egy másik operációs rendszert.\n"
+"\n"
+" - Ha GRUB- vagy LILO-betöltőszektort talál, helyettesíti azt egy új\n"
+"példánnyal.\n"
+"\n"
+"Ha a telepítő nem tudja meghatározni, hogy hova telepítendő a\n"
+"rendszerindító, akkor kérdést tesz fel Önnek azzal kapcsolatban.\n"
+"Általában \"%s\" a legbiztosabb hely. \"%s\" lehetőség választása\n"
+"esetén nem lesz telepítve rendszerindító. Ezt a lehetőséget csak\n"
+"akkor használja, ha biztos abban, hogy ezt szeretné."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Itt lehet nyomtatórendszert választani a gép számára. Más operációs\n"
+"rendszerekben általában csak egy van, a Mandriva Linuxban viszont kettő is.\n"
+"Mindkettőnek megvannak a maga előnyei bizonyos környezetben használva.\n"
+"\n"
+" - \"%s\": \"print, do not queue\", azaz sorba tevés nélkül történő\n"
+"nyomtatás. Akkor válassza ezt, ha közvetlen kapcsolat van a\n"
+"nyomtatóval, továbbá ha szeretné, hogy egyszerűen meg lehessen oldani a\n"
+"papírberagadási problémákat illetve ha nincsen hálózati nyomtatója. A(z)\n"
+"\"%s\" módszer csak a legegyszerűbb hálózati szolgáltatásokat nyújtja, és\n"
+"hálózaton viszonylag lassú. Ha Ön nem rendelkezik komolyabb linuxos\n"
+"ismeretekkel, akkor érdemes ezt a módszert választania.\n"
+"\n"
+" - \"%s\": \"Common UNIX Printing System\", azaz általános UNIX-os\n"
+"nyomtatórendszer. Helyi és távoli nyomtatókra való nyomtatáshoz remekül\n"
+"használható. Ez egy egyszerűen beállítható rendszer, és képes a régi\n"
+"\"lpd\" nyomtatórendszer kiszolgálójaként vagy klienseként funkcionálni -\n"
+"vagyis kompatibilis a régebbi operációs rendszerekkel. Nagy tudású\n"
+"rendszer, viszont az alapvető beállítások majdnem olyan egyszerűen\n"
+"elvégezhetők benne, mint a \"pdq\" esetében. Ha arra használja, hogy egy\n"
+"\"lpd\" kiszolgálót emuláljon vele, akkor aktiválnia kell a \"cups-lpd\"\n"
+"szolgáltatást. A(z) \"%s\" rendelkezik grafikus felülettel, amely\n"
+"nyomtatásra, a nyomtatóparaméterek kiválasztására illetve nyomtatókezelésre\n"
+"használható.\n"
+"\n"
+"Telepítés után lehetősége lesz a nyomtatórendszer lecserélésére (ha mégsem\n"
+"felel meg az itt kiválasztott) - ehhez a PrinterDrake programot kell\n"
+"elindítani a Mandriva Linux Vezérlőközpontban, majd rá kell kattintani a(z)\n"
+"\"%s\" gombra."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "PDQ"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Szakértő"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"A telepítő megkeresi a gépben levő IDE-eszközöket. Felderíti\n"
+"a PCI SCSI-kártyákat is. A program a felismert SCSI-kártyákhoz\n"
+"automatikusan feltelepíti a megfelelő meghajtóprogramokat.\n"
+"\n"
+"Mivel a hardverfelderítés nem mindig ismeri fel a gépben levő eszközöket,\n"
+"ezért elképzelhető, hogy a telepítő nem ismeri fel a merevlemezeket. Ha így\n"
+"történik, akkor adja meg saját kezűleg a kérdéses eszközök jellemzőit.\n"
+"\n"
+"Ha kézzel kellett megadnia a PCI SCSI-kártya típusát, a telepítő\n"
+"megkérdezi, hogy szeretné-e megadni a kártya jellemzőit. Általában nincs\n"
+"szükség saját kezűleg való beállításra, mivel a telepítő a legtöbb esetben\n"
+"le tudja kérdezni a megfelelő beállításokat.\n"
+"\n"
+"Ha a telepítő nem tudja meghatározni a szükséges jellemzőket, akkor\n"
+"Önnek kell megadnia a meghajtóprogram paramétereit."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ha a telepítő hangkártyát észlel a gépben, az itt fog\n"
+"megjelenni. Ha az itt megjelenő hangkártya nem azonos a gépben levővel,\n"
+"akkor kattintson a gombra és válasszon egy másik meghajtóprogramot."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Itt a gépéről összegyűjtött adatokat láthatja. A telepített hardvertől\n"
+"függően a következőkben felsorolt elemek jelenhetnek meg. A bejegyzések a\n"
+"beállítható elemeket tartalmazzák azok aktuális beállításaival együtt.\n"
+"Módosítás a megfelelő \"%s\" gombbal végezhető.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi billentyűzet-kiosztást és\n"
+"szükség esetén módosítsa azt.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi országbeállítást. Ha az nem\n"
+"megfelelő, kattintson a(z) \"%s\" gombra és válasszon egy másik\n"
+"országot. Ha a kívánt ország nem szerepel az elsőként megjelenített\n"
+"listában, akkor kattintson a(z) \"%s\" gombra a teljes országlista\n"
+"megjelenítéséhez.\n"
+"\n"
+" - \"%s\": a telepítő alapértelmezésben felkínál egy általa\n"
+"megfelelőnek tartott időzóna-beállítást, amelyet az Ön által kiválasztott\n"
+"ország alapján határoz meg. Ha az nem felel meg Önnek, akkor módosítsa a(z)\n"
+"\"%s\" gombbal.\n"
+"\n"
+" - \"%s\": ellenőrizze a jelenlegi egérbeállításokat; a módosításukhoz\n"
+"kattintson a gombra.\n"
+"\n"
+" - \"%s\": a(z) \"%s\" gombra kattintva elindul a\n"
+"nyomtatóbeállítási varázsló. Nyomtatóbeállítással kapcsolatos további\n"
+"információkat a felhasználói kézikönyvből lehet szerezni. Az ott\n"
+"bemutatott felület hasonló ahhoz, ami a telepítéskor megjelenik.\n"
+"\n"
+" - \"%s\": ha a telepítő hangkártyát észlel a gépben, az itt fog\n"
+"megjelenni. Ha az itt megjelenő hangkártya nem azonos a gépben levővel,\n"
+"akkor kattintson a gombra és válasszon egy másik meghajtóprogramot.\n"
+"\n"
+" - \"%s\": ha a telepítő tévékártyát észlel a gépben, az itt\n"
+"fog megjelenni. Ha a telepítő nem észleli a gépben levő tévékártyát,\n"
+"akkor kattintson a(z) \"%s\" gombra és állítsa be kézzel.\n"
+"\n"
+" - \"%s\": ha a(z) \"%s\" gombra kattint, módosíthatja a kártya\n"
+"paramétereit.\n"
+"\n"
+" - \"%s\": a telepítő alapértelmezésben \"800x600\"-as\n"
+"vagy \"1024x768\"-as felbontást állít be a grafikus felülethez. Ha ez nem\n"
+"felel meg Önnek, akkor kattintson a(z) \"%s\" gombra a grafikus felület\n"
+"beállításainak módosításához.\n"
+"\n"
+" - \"%s\": ha be szeretné állítani az internet vagy a helyi hálózat\n"
+"elérését most, akkor kattintson a gombra. Információkat a nyomtatott\n"
+"dokumentációból szerezhet, vagy telepítés után a Mandriva Linux\n"
+"Vezérlőközpontban.\n"
+"\n"
+" - \"%s\": lehetővé teszi a HTTP- és FTP-proxyk beállítását arra az\n"
+"esetre, ha a gép egy proxykiszolgáló mögött lesz.\n"
+"\n"
+" - \"%s\": lehetővé teszi az egyik korábbi lépésben\n"
+"beállított biztonsági szint módosítását.\n"
+"\n"
+" - \"%s\": ha tervezi a gép internetre való kapcsolását, akkor érdemes\n"
+"egy tűzfalat használni az esetleges behatolások ellen. A tűzfalbeállítással\n"
+"kapcsolatban a kézikönyvben találhat részletes információt.\n"
+"\n"
+" - \"%s\": ha szeretné módosítani a rendszerbetöltő\n"
+"beállításait, kattintson a megfelelő gombra. Elsősorban a komolyabb\n"
+"ismeretekkel rendelkező felhasználóknak javasolt. Információkat a\n"
+"nyomtatott dokumentációból szerezhet, vagy telepítés után a\n"
+"Mandriva Linux Vezérlőközpontban a rendszerindítónál.\n"
+"\n"
+" - \"%s\": itt részletesen beállítható, hogy mely\n"
+"szolgáltatások legyenek működtetve a gépen. Ha kiszolgálóként szeretné\n"
+"üzemeltetni a gépet, akkor érdemes átnézni ezt a részt."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kártya"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafikus felület"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Válassza ki azt a lemezt, amelyet törölni szeretne a\n"
+"Mandriva Linux-partíció létrehozásához. Figyelem: a lemezen\n"
+"található adatok elvesznek, és később nem nyerhetők vissza!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Kattintson a(z) \"%s\" gombra, ha a lemezen található összes adatot\n"
+"és partíciót törölni szeretné. Figyelem! A(z) \"%s\" gomb megnyomása\n"
+"után nincs mód a törölt adatok és partíciók visszaállítására -\n"
+"természetesen akkor sem, ha egy Windows-partíció törlődött.\n"
+"\n"
+"Kattintson a(z) \"%s\" gombra, ha nem kívánja végrehajtani a műveletet\n"
+"(a lemezen található partíciók és adatok ez esetben nem változnak)."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Következő ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Előző"
+
diff --git a/perl-install/install/help/po/id.po b/perl-install/install/help/po/id.po
new file mode 100644
index 000000000..3b241382e
--- /dev/null
+++ b/perl-install/install/help/po/id.po
@@ -0,0 +1,1974 @@
+# Instalator Grafis Mandriva Linux
+# Copyright (C) 1999 Mandriva
+# Budi Rachmanto <rac@mandrivalinux.org>, 2001-2003
+# Linux Indonesia <http://www.linux.or.id>, 1999-2001
+# Mohammad DAMT <mdamt@cdl2000.com>, 1999-2001
+# Andy <chandy@indo.net.id>, 1999
+# Kelana <nk@telkom.net>, 1999
+# Willy Sudiarto Raharjo <willysr@gmail.com>, 2004 - 2005.
+# Erwien Samantha <erwiensamantha@gmail.com>, 2005.
+# Bayu Artanto <bayuart@yahoo.com>, 2005.
+# Ahmad Ramadhana <ahmad_ramadhana@yahoo.com.sg>, 2005.
+# Firdaus <dausnux@gmail.com>, 2005.
+# Sofian <sofianhanafi@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-11 10:45+0700\n"
+"Last-Translator: Willy Sudiarto Raharjo <willysr@gmail.com>\n"
+"Language-Team: Indonesia <mdk-id@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.6\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Bacalah lisensi sebelum melanjutkan. Lisensi mencakup seluruh distribusi\n"
+"Mandriva Linux. Jika Anda setuju dengan semua pasal di dalamnya, klik\n"
+"kotak \"%s\". Jika tidak, klik pada tombol \"%s\" akan mereboot komputer "
+"Anda."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux adalah sistem multiuser, artinya tiap pengguna bisa punya "
+"kesukaan,\n"
+"file sendiri. Tidak seperti \"root\", sang administrator, pengguna di sini "
+"tidak berhak\n"
+"mengubah apapun kecuali konfigurasi dan file mereka sendiri, menjaga sistem "
+"dari perubahan\n"
+"yang dapat merusak sistem secara keseluruhan. Anda harus membuat setidaknya "
+"satu pengguna \n"
+"reguler untuk Anda sendiri. Account ini Anda pakai untuk rutinitas. Meski "
+"Anda dapat login \n"
+"sebagai \"root\" untuk melakukan apa saja, tapi itu amat berbahaya! "
+"Kesalahan terkecil dapat \n"
+"menyebabkan sistem Anda tidak bekerja selamanya. Meski Anda melakukan "
+"kesalahan serius sebagai \n"
+"pengguna normal, Anda hanya akan kehilangan sebagian informasi, tidak "
+"seluruh sistem.\n"
+"\n"
+"Pertama, Anda harus mengisi nama. Ini tidak wajib, tentu saja - Anda dapat\n"
+"mengisinya sesuka Anda. DrakX akan mengambil kata pertama yang Anda "
+"masukkan\n"
+"pada kotak dan menyalinnya pada \"%s\" sebagai nama yang harus diketikkan "
+"pengguan untuk login ke sistem. \n"
+"Anda dapat mengubahnya. Lalu Anda harus mengisi katasandi. Katasandi "
+"pengguna \n"
+"biasa tidak sepenting katasandi \"root\" dari segi keamanan, tapi tidak "
+"ada \n"
+"alasan untuk mengabaikannya - file Anda bisa beresiko.\n"
+"\n"
+"Setelah Klik pada \"%s\", Anda dapat menambahkan pengguna untuk setiap "
+"rekan,\n"
+"ayah, atau saudara Anda. Klik \"%s\" ketika Anda telah selesai menambahkan "
+"pengguna.\n"
+"\n"
+"Klik pada tombol \"%s\" memungkinkan Anda mengubah \"shell\" standar untuk\n"
+"pengguna terkait (standar: bash).\n"
+"\n"
+"Ketika Anda selesai menambahkan pengguna, Anda akan ditanya untuk memilih "
+"pengguna yang \n"
+"dapat otomatis login saat komputer di-boot. Bila tertarik (dan tak begitu "
+"peduli\n"
+"dengan keamanan lokal), pilihlah pengguna dan manajer window-nya, lalu klik\n"
+"pada \"%s\". Jika tidak tertarik, jangan tandai kotak \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Apakah Anda ingin menggunakan fitur ini?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Berikut adalah daftar partisi Linux yang terdeteksi pada hard drive Anda.\n"
+"Anda dapat memakai pilihan yg dibuatkan, karena itu baik untuk installasi\n"
+"umum. Bila Anda mengubah pilihan, setidaknya Anda perlu mendefinisikan\n"
+"partisi root (\"/\"). Jangan pilih partisi yang terlalu kecil agar dapat\n"
+"menginstal software dengan leluasa. Bila Anda ingin menyimpan data pada "
+"partisi\n"
+"lain, Anda perlu membuat partisi \"/home\" (hanya mungkin jika punya lebih\n"
+"dari satu partisi Linux.)\n"
+"\n"
+"Setiap partisi terdaftar sebagai: \"Nama\", \"Kapasitas\".\n"
+"\n"
+"\"Nama\" berstruktur: \"tipe hard drive\", \"nomor hard drive\",\n"
+"\"nomor partisi\" (misalnya \"hda1\").\n"
+"\n"
+"\"Tipe hard drive\" adalah \"hd\" untuk drive IDE dan \"sd\" untuk drive "
+"SCSI.\n"
+"\n"
+"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Bila "
+"berupa IDE, maka:\n"
+"\n"
+" *\"a\" berarti \"hard drive master pada kontroller IDE primer\",\n"
+"\n"
+" *\"b\" berarti \"hard drive slave pada kontroler IDE primer\",\n"
+"\n"
+" *\"c\" berarti \"hard drive master pada kontroler IDE sekunder\",\n"
+"\n"
+" *\"d\" berarti \"hard drive slave pada kontroler IDE sekunder\",\n"
+"\n"
+"Pada drive SCSI, \"a\" adalah \"ID SCSI terkecil\", \"b\" adalah\"ID SCSI "
+"terkecil kedua\", dan seterusnya."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Installasi Mandriva Linux didistribusikan pada beberapa CDROM. DrakX tahu "
+"jika paket\n"
+"terpilih berada di CDROM lain dan akan mengeluarkan CD yang ada untuk "
+"kemudian\n"
+"meminta Anda memasukkan CD yg diperlukan. Jika Anda tidak memiliki CD yang "
+"diperlukan,\n"
+"cukup klik pada \"%s\", maka paket tidak akan diinstal."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sekarang waktunya untuk menentukan program yang akan diinstal. Terdapat "
+"ribuan \n"
+"pada Mandriva Linux, dan untuk mempermudah, mereka telah diletakkan pada "
+"grup \n"
+"aplikasi yang sejenis.\n"
+"\n"
+"Mandriva Linux mengurutkan paket dalam empat kategori. Anda bisa "
+"menggabungkan \n"
+"menyesuaikan aplikasi dari berbagai kategori, sehingga installasi "
+"``Workstation''\n"
+"tetap dapat memiliki aplikasi pada installasi ``Server''\n"
+"\n"
+" * \"%s\": jika Anda ingin menggunakan komputer Anda sebagai workstation, "
+"pilih\n"
+"satu/lebih grup dalam kategori workstation.\n"
+"\n"
+" * \"%s\": jika komputer akan digunakan untuk pemrograman, pilih grup\n"
+"dari kategori itu. Grup khusus \"LSB\" akan mengkonfigurasi sistem\n"
+"agar sesuai dengan Spesifikasi Linux Standard Base sedekat mungkin.\n"
+"\n"
+" Memilih grup \"LSB\" juga akan menginstall seri kernel \"2.4\",\n"
+"dan bukan default \"2.6\". Hal ini untuk memastikan kesetaraan 100%% dengan "
+"LSB \n"
+"pada sistem. Namun, jika Anda tidak memilih grub \"LSB\" Anda akan \n"
+"tetap mendapatkan sistem yang hampir setara 100%% dengan LSB.\n"
+"\n"
+" * \"%s\": jika komputer diinginkan menjadi server, Anda dapat\n"
+"memilih layanan paling umum yang akan diinstal.\n"
+"\n"
+" * \"%s\": di sini Anda memilih lingkungan grafis. Minimal Anda\n"
+"harus pilih satu jika ingin punya workstation grafis!\n"
+"\n"
+"Untuk melihat penjelasan singkat, gerakkan kursor mouse ke atas nama grup.\n"
+"\n"
+"Anda bisa menandai kotak \"%s\", yang berguna jika Anda terbiasa dengan \n"
+"paket yang ditawarkan atau jika Anda ingin mempunyai kontrol penuh dari "
+"apa \n"
+"yang akan diinstall.\n"
+"\n"
+"Jika Anda memulai installasi dalam mode \"%s\", Anda bisa menghapus semua "
+"grup\n"
+"dan mencegah installasi paket baru. Hal ini berguna untuk memperbaiki atau \n"
+"mengupdate sistem yang sudah ada.\n"
+"\n"
+"Jika Anda tidak memilih semua grup ketika menjalankan installasi umum "
+"(sebagai\n"
+"kebalikan dari upgrade), sebuah dialog muncul untuk menawarkan opsi lain \n"
+"untuk installasi minimal:\n"
+"\n"
+" * \"%s\": menginstall paket seminimal mungkin untuk mendapatkan sebuah \n"
+"desktop grafis.\n"
+"\n"
+" * \"%s\": menginstall sistem dasar ditambah utilitas dasar dan juga \n"
+"dokumentasi. Installasi ini cocok untuk membuat sebuah server.\n"
+"\n"
+" * \"%s\": akan menginstall paket seminimal mungkin yang diperlukan \n"
+"untuk mendapatkan sistem Linux yang bekerja. Dengan installasi ini, Anda \n"
+"akan mendapatkan antarmuka perintah baris. Ukuran totalnya sekitar 65\n"
+"megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Dengan dokumentasi dasar"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installasi paling minimal"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jika Anda memilih paket sendiri, installer akan menampilkan sebuah pohon \n"
+"berisi seluruh paket yang diklasifikasikan oleh grup dan sub grup. Selama\n"
+"menjelajah pohon tersebut, Anda bisa memilih seluruh grup, sub grup, atau "
+"paket\n"
+"individu.\n"
+"\n"
+"Setiap kali Anda memilih paket dalam pohon, penjelasan muncul di sisi kanan\n"
+"sehingga Anda tahu tujuan dari paket tersebut.\n"
+"\n"
+"!! Jika paket server terpilih dengan sengaja atau karena merupakan bagian "
+"suatu\n"
+"grup besar, akan ada pertanyaan konfirmasi installasi paket tersebut. Pada\n"
+"Mandriva Linux, secara default semua server terinstal dijalankan saat boot.\n"
+"Meski aman saat distribusi diluncurkan, ada kemungkinan lubang keamanan\n"
+"ditemukan setelah versi Mandriva Linux ini selesai. Jika Anda tidak tahu "
+"apa\n"
+"yang dilakukan oleh suatu layanan atau mengapa ia diinstal, klik \"%s\".\n"
+"Jika Anda menekan \"%s\" layanan terdaftar akan diinstal dan akan "
+"dijalankan\n"
+"secara otomatis. !!\n"
+"\n"
+"Opsi \"%s\" digunakan untuk mematikan dialog yang muncul tiap kali\n"
+"installer memilih suatu paket secara otomatis untuk menyelesaikan masalah\n"
+"ketergantungan. Beberapa paket tergantung pada yang lain dan installasi \n"
+"sebuah paket mungkin membutuhkan installasi paket lain. Installer bisa \n"
+"menentukan paket mana yang diperlukan untuk menyelesaikan ketergantungan\n"
+"dan menyelesaikan installasi.\n"
+"\n"
+"Ikon disket di bagian bawah memungkinkan Anda untuk memuat daftar paket \n"
+"yang diinstal pada installasi sebelumnya. Hal ini berguna jika Anda telah\n"
+"memiliki sejumlah komputer yang hendak Anda konfigurasi secara serupa. Meng-"
+"klik\n"
+"pada ikon ini akan meminta Anda memasukkan disket yang dibuat pada akhir \n"
+"installasi lainnya. Lihat tip kedua di langkah terakhir untuk membuat "
+"floppy \n"
+"tersebut."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Ketergantungan otomatis"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": meng-klik pada \"%s\" untuk membuka konfigurator printer. Baca\n"
+"bab yg bersangkutan di ``Pedoman Pemula'' untuk informasi lebih lanjut "
+"tentang\n"
+"cara setup printer baru. Antarmuka yang ditampilkan di sana sama dengan "
+"yang \n"
+"yang dipakai saat installasi."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dialog ini digunakan untuk memilih layanan yang Anda jalankan saat boot.\n"
+"\n"
+"DrakX akan menampilkan semua layanan yang tersedia pada installasi ini. "
+"Periksa \n"
+"dengan baik dan jangan tandai layanan yang tidak diperlukan saat boot.\n"
+"\n"
+"Penjelasan singkat tentang layanan akan ditampilkan ketika suatu layanan "
+"dipilih. \n"
+"Namun jika Anda tak yakin kegunaan layanan tersebut, lebih aman menggunakan "
+"default.\n"
+"\n"
+"Pada tahap ini, hati-hati jika Anda bermaksud menjadikan komputer Anda "
+"sebuah\n"
+"server: Anda mungkin tidak ingin menjalankan layanan yang tidak diperlukan. "
+"Ingat,\n"
+"beberapa layanan bisa berbahaya jika dijalankan. Secara umum, pilihlah "
+"hanya\n"
+"layanan yang benar-benar Anda perlukan."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux mengatur waktu dalam GMT (Greenwich Mean Time) dan "
+"menerjemahkannya\n"
+"ke waktu lokal sesuai zona waktu yang Anda pilih. Jika waktu pada "
+"motherboard\n"
+"Anda diset ke waktu lokal, Anda bisa menonaktifkannya dengan tidak memilih\n"
+"\"%s\" yang akan mengijinkan GNU/Linux mengetahui bahwa waktu sisten dan "
+"waktu\n"
+"perangkat keras berada dalam zona waktu yang sama. Hal ini berguna ketika "
+"komputer\n"
+"juga menggunakan sistem operasi lain.\n"
+"\n"
+"Opsi \"%s\" akan otomatis mengatur jam dengan menghubungi server waktu "
+"remote di \n"
+"internet. Agar fitur ini bekerja, Anda harus memiliki koneksi Internet. "
+"Kami\n"
+"merekomendasikan Anda memilih server terdekat. Opsi ini sebenarnya "
+"menginstall \n"
+"server waktu yang dapat digunakan oleh komputer lain pada jaringan lokal "
+"Anda."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronisasi waktu otomatis"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kartu Grafis\n"
+"\n"
+" Installer akan mendeteksi dan mengkonfigurasi kartu grafis yang "
+"terinstall \n"
+"secara otomatis pada komputer Anda. Jika tidak benar, pilih kartu yang "
+"sesuai pada\n"
+"daftar ini.\n"
+"\n"
+" Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan "
+"atau tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (untuk X Window System) adalah jantung dari interface grafis GNU/Linux\n"
+"yang diperlukan oleh semua lingkungan grafis (KDE, GNOME, AfterStep,\n"
+"WindowMaker, dll.) yang dibundel pada Mandriva Linux.\n"
+"\n"
+"Anda akan melihat daftar parameter yang berbeda untuk merubah untuk "
+"mendapatkan\n"
+"tampilan grafis yang optimal.\n"
+"\n"
+"Kartu Grafis\n"
+"\n"
+" Installer akan secara otomatis mendeteksi dan mengkonfigurasi kartu \n"
+"grafis yang terinstall pada komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar kartu grafis yang terinstall pada komputer Anda.\n"
+"\n"
+" Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan "
+"atau tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Biasanya, installer akan secara otomatis mendeteksi dan mengkonfigurasi \n"
+"monitor yang terhubung ke komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar monitor yang terhubung ke komputer Anda.\n"
+"\n"
+"\n"
+"\n"
+"Resolusi\n"
+"\n"
+" Disini Anda bisa memilih resolusi dan kedalaman warna yang tersedia "
+"untuk\n"
+"perangkat keras grafis Anda. Pilih yang memenuhi kebutuhan Anda (Anda bisa \n"
+"merubahnya setelah installasi). Contoh dari konfigurasi terpilih "
+"ditampilkan\n"
+"pada gambar monitor.\n"
+"\n"
+"\n"
+"\n"
+"Pengujian\n"
+"\n"
+" Bergantung pada perangkat keras Anda, entry ini mungkin tidak muncul.\n"
+"\n"
+" Sistem akan mencoba membuka layar grafis pada resolusi yang diinginkan.\n"
+"Jika Anda melihat pesan pengujian selama tes dan menjawab \"%s\",\n"
+"maka DrakX akan melanjutkan ke langkah selanjutnya. Jika Anda tidak "
+"melihatnya,\n"
+"maka berarti beberapa bagian dari konfigurasi deteksi otomatis salah dan\n"
+"pengujian akan berakhir setelah 12 detik dan kembali ke menu. Ubahlah\n"
+"setting sehingga Anda mendapatkan tampilan grafis yang benar.\n"
+"\n"
+"\n"
+"\n"
+"Opsi\n"
+"\n"
+" Langkah ini mengijinkan Anda untuk memilih apakah komputer Anda hendak "
+"berpindah\n"
+"ke antarmuka grafis secara otomatis saat boot.Biasanya Anda harus melihat \n"
+"\"%s\" jika komputer Anda bertindak sebagai server, atau jika Anda adalah\n"
+"tidak berhasil mendapatkan konfigurasi tampilan."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Biasanya, installer akan secara otomatis mendeteksi dan mengkonfigurasi \n"
+"monitor yang terhubung ke komputer Anda. Jika tidak benar, Anda bisa "
+"memilih\n"
+"dari daftar monitor yang terhubung ke komputer Anda."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusi\n"
+"\n"
+" Disini Anda bisa memilih resolusi dan kedalaman warna yang tersedia "
+"untuk\n"
+"perangkat keras grafis Anda. Pilih yang memenuhi kebutuhan Anda (Anda bisa \n"
+"merubahnya setelah installasi). Contoh dari konfigurasi terpilih "
+"ditampilkan\n"
+"pada gambar monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Pada situasi dimana beberapa server tersedia untuk kartu Anda, dengan atau "
+"tanpa\n"
+"akselerasi 3D, Anda akan ditanya mana yang paling sesuai dengan kebutuhan "
+"Anda."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opsi\n"
+"\n"
+" Langkah ini mengijinkan Anda untuk memilih apakah komputer Anda hendak "
+"berpindah\n"
+"ke antarmuka grafis secara otomatis saat boot.Biasanya Anda harus melihat \n"
+"\"%s\" jika komputer Anda bertindak sebagai server, atau jika Anda adalah\n"
+"tidak berhasil mendapatkan konfigurasi tampilan."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Sekarang Anda harus menentukan dimana Anda hendak menginstall sistem "
+"operasi\n"
+"Mandriva Linux pada harddisk Anda. Jika harddisk Anda kosong atau jika "
+"sebuah\n"
+"sistem operasi menggunakan semua tempat, Anda harus mempartisi drive.\n"
+"Pada dasarnya, mempartisi harddisk berarti membaginya secara logical\n"
+"untuk membuat ruang yang diperlukan sistem Mandriva Linux baru Anda.\n"
+"\n"
+"Karena proses partisi harddisk biasanya tidak bisa dikembalikan dan bisa \n"
+"mengacu pada kehilangan data, partisi bisa menegangkan dan membuat stress\n"
+"bagi pengguna yang tidak terbiasa. Untungnya, DrakX menyertakan wizard yang\n"
+"mempermudah proses ini. Sebelum melanjutkan, baca sisa bagian ini dan "
+"diatas,\n"
+"santai saja.\n"
+"\n"
+"Bergantung pada konfigurasi pada harddisk Anda, beberapa opsi yang "
+"tersedia:\n"
+"\n"
+" * \"%s\". Opsi ini akan melakukan partisi otomatis dari drive kosong Anda.\n"
+"Jika Anda menggunakan opsi ini tidak ada konfirmasi tambahan.\n"
+"\n"
+" * \"%s\". Wizard mendeteksi satu atau lebih partisi Linux pada harddisk "
+"Anda.\n"
+"Jika Anda hendak menggunakannya, pilih opsi ini. Anda akan ditanya untuk "
+"memilih\n"
+"titik mount yang sesuai untuk setiap partisi.\n"
+"Titik mount yang benar telah dipilih secara default, dan untuk sebagian "
+"besar\n"
+"kasus, merupakan ide bagus untuk menggunakannya.\n"
+"\n"
+" * \"%s\". Jika Microsoft Windows terinstall pada harddisk Anda dan "
+"menggunakan \n"
+"semua ruang yang tersedia, Anda harus membuat sebuah ruang kosong untuk GNU/"
+"Linux. \n"
+"Untuk melakukannya, Anda bisa menghapus partisi data Microsoft Windows "
+"Anda \n"
+"(lihat solusi ``Menghapus seluruh disk'') atau merubah ukuran partisi FAT "
+"atau NTFS \n"
+"Microsoft Windows Anda. Merubah ukuran dapat dilakukan tanpa kehilangan "
+"data,\n"
+"dengan sebelumnya Anda sudah mendefrag partisi Windows.\n"
+"Membackup data sangat disarankan. Penggunaan opsi ini sangat "
+"direkomendasikan jika Anda\n"
+"ingin menggunakan Mandriva Linux dan Microsoft Windows pada komputer yang "
+"sama.\n"
+"\n"
+" Sebelum memilih opsi ini, harap dipahami bahwa setelah prosedur ini, "
+"ukuran partisi \n"
+"Microsoft Windows Anda akan berkurang sebelum memulai prosedur. Anda akan "
+"memiliki \n"
+"ruang yang lebih sedikit pada Microsoft Windows untuk menyimpan data atau "
+"menginstall\n"
+"perangkat lunak baru.\n"
+"\n"
+" * \"%s\". Jika Anda hendak menghapus seluruh data dan semua partisi yang "
+"ada pada harddisk\n"
+"Anda dan menggantinya dengan sistem Mandriva Linux yang baru, pilih opsi "
+"ini. Hati-hati, karena\n"
+"Anda tidak bisa membatalkan opsi ini setelah Anda mengkonfirmasikan.\n"
+"\n"
+" !! Jika Anda memilih opsi ini, semua data pada harddisk Anda akan "
+"dihapus !!\n"
+"\n"
+" * \"%s\". Opsi ini tampak ketika harddisk dipakai seluruhnya oleh Microsoft "
+"Windows.\n"
+"Memilih opsi ini akan menghapus semua pada harddisk dan memulai installasi "
+"dan partisi dari awal.\n"
+"\n"
+" !! Jika Anda memilih opsi ini, semua data Anda akan hilang. !!\n"
+"\n"
+" * \"%s\". Pilihlah opsi ini jika Anda mempartisi harddisk Anda secara "
+"manual. Hati-hati \n"
+"-- ini sangatlah handal tetapi pilihan yang berbahaya dan Anda bisa "
+"kehilangan data dengan\n"
+"mudah. Itu sebabnya opsi ini hanya direkomendasikan jika Anda telah "
+"melakukan hal ini sebelumnya\n"
+"atau berpengalaman. Untuk instruksi lebih lanjut bagaimana menggunakan "
+"utilitas DiskDrake,\n"
+"silahkan lihat bagian ``Mengelola Partisi Anda'' pada ``Panduan Pemula''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gunakan partisi yang sudah ada"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Hapus seluruh disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Installasi kini selesai dan sistem GNU/Linux Anda siap dipakai. Klik\n"
+"\"%s\" untuk reboot. Jangan lupa untuk mengambil media installasi (CD-ROM "
+"atau disket).\n"
+"Hal pertama yang Anda lihat setelah pengujian perangkat keras adalah menu "
+"bootloader,\n"
+"di sana Anda dapat memilih sistem operasi yang akan dijalankan.\n"
+"\n"
+"Tombol \"%s\" menampilkan 2 tombol tambahan untuk:\n"
+"\n"
+" * \"%s\": memungkinkan Anda untuk membuat disket installasi yang akan "
+"secara \n"
+"otomatis melakukan installasi tanpa bantuan operator, serupa dengan "
+"installasi yang \n"
+"baru Anda konfigurasikan.\n"
+"\n"
+" Perhatikan bahwa dua operasi yang berbeda muncul setelah menekan tombol "
+"tersebut:\n"
+"\n"
+" * \"%s\". Installasi semi-otomatis, hanya proses partisi yang tetap\n"
+"interaktif.\n"
+"\n"
+" * \"%s\". Installasi otomatis penuh: harddisk ditulis ulang\n"
+"seluruhnya, semua data hilang.\n"
+"\n"
+" Fitur ini amat praktis untuk installasi banyak komputer dengan "
+"spesifikasi sama.\n"
+"Lihat bagian Auto install di situs web kami untuk informasi lebih lanjut.\n"
+"\n"
+" * \"%s\"(*): simpan daftar paket terpilih pada installasi ini.\n"
+"Untuk menggunakan pilihan ini pada installasi lain, masukkan disket dan \n"
+"mulailah installasi. Saat prompt, tekan [F1] lalu ketik >>linux \n"
+"defcfg=\"floppy\"<< dan tekan [Enter].\n"
+"\n"
+"(*) Anda perlu floppy berformat FAT. Untuk membuatnya di GNU/Linux, "
+"jalankan\n"
+"\"mformat a:\", atau \"fdformat /dev/fd0\" diikuti dengan \"mkfs.vfat /dev/"
+"fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Buat disket installasi otomatis"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jika Anda memilih untuk menggunakan beberapa partisi GNU/Linux, Anda\n"
+"mungkin akan memformat dan menghapus data. Untuk melakukannya\n"
+"pilih juga partisi tersebut.\n"
+"\n"
+"Perhatikan bahwa format ulang semua partisi tidak diperlukan.\n"
+"Anda harus memformat ulang partisi yang berisi sistem operasi\n"
+"(seperti \"/\", \"/usr\" atau \"/var\") tetapi Anda tidak harus memformat "
+"ulang\n"
+"partisi berisi data yang akan Anda simpan (biasanya \"/home\").\n"
+"\n"
+"Harap berhati-hati ketika memilih partisi. Setelah format selesai\n"
+", semua data pada partisi akan dihapus dan Anda tidak akan bisa\n"
+"mengembalikannya kembali.\n"
+"\n"
+"Klik pada \"%s\" ketika Anda siap memformat partisi.\n"
+"\n"
+"Klik pada \"%s\" jika Anda hendak memilih partisi lain untuk \n"
+"installasi sistem operasi Mandriva Linux baru Anda.\n"
+"\n"
+"Klik pada \"%s\" jika Anda hendak memilih partisi yang hendak \n"
+"diperiksa untuk block rusak pada disk."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Saat Mandriva Linux diinstal, mungkin beberapa paket telah diupdate sejak\n"
+"rilis awal. Beberapa kesalahan mungkin telah diperbaiki / masalah keamanan\n"
+"dipecahkan. Untuk memanfaatkan update ini Anda dapat men-download-nya dari\n"
+"Internet. Pilih \"%s\" jika Anda memiliki koneksi Internet, atau \"%s\" "
+"jika\n"
+"ingin mengupdate paket lain waktu.\n"
+"\n"
+"Memilih \"%s\" akan menampilkan daftar lokasi dimana update bisa "
+"didownload.\n"
+"Pilih yang terdekat. Daftar paket akan muncul: periksa pilihan Anda,\n"
+"tekan \"%s\" untuk mengambil/menginstall paket atau \"%s\" untuk membatalkan."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Saat ini, DrakX akan mengijinkan Anda memilih tingkat keamanan komputer.\n"
+"Sebagai acuan, tingkat keamanan harus semakin tinggi jika berisi data\n"
+"penting, atau langsung terhubung ke Internet. Level keamanan yang \n"
+"tinggi umumnya mengorbankan kemudahan pemakaian.\n"
+"\n"
+"Jika Anda tidak tahu apa yang akan dipilih, gunakan opsi default. Anda\n"
+"mampu mengubahnya menggunakan perkakas draksec, yang merupakan bagian\n"
+"dari dari Pusat Kontrol Mandriva Linux.\n"
+"\n"
+"Isi bagian \"%s\" dengan alamat email dari orang yang bertanggung jawab\n"
+"atas keaman. Pesan keamanan akan dikirimkan pada alamat tersebut."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator Keamanan"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Saat ini, Anda harus memilih partisi yang akan digunakan untuk installasi\n"
+"sistem Mandriva Linux Anda. Jika partisi telah didefinisikan, baik dari\n"
+"installasi GNU/Linux sebelumnya atau melalui perkakas partisi lainnya,\n"
+"Anda bisa menggunakan partisi yang ada. Jika tidak, partisi harddisk \n"
+"harus didefinisikan.\n"
+"\n"
+"Untuk membuat partisi, Anda harus memilih harddisk dahulu. Anda bisa \n"
+"memilih disk untuk dipartisi dengan memilih ``hda'' untuk drive IDE\n"
+"pertama, ``hdb'' untuk kedua, ``sda'' untuk drive SCSI pertama, dst.\n"
+"\n"
+"Untuk mempartisi drive terpilih, Anda bisa menggunakan opsi berikut:\n"
+"\n"
+" * \"%s\": opsi ini menghapus seluruh partisi pada drive terpilih\n"
+"\n"
+" * \"%s\": opsi ini memungkinkan Anda membuat partisi ext3 dan swap\n"
+"secara otomatis pada ruang kosong dari hard disk Anda.\n"
+"\n"
+"\"%s\": memberi akses pada fitur tambahan:\n"
+"\n"
+" * \"%s\": menyimpan tabel partisi pada disket. Berguna untuk proses\n"
+"pengembalian tabel partisi. Anda disarankan untuk melakukan langkah\n"
+"ini.\n"
+"\n"
+" * \"%s\": mengijinkan Anda mengembalikan tabel partisi yang tersimpan\n"
+"sebelumnya dari disket.\n"
+"\n"
+" * \"%s\": jika tabel partisi Anda rusak, Anda bisa mencoba untuk\n"
+"mengembalikannya menggunakan opsi ini. Harap hati-hati dan perlu\n"
+"diingat bahwa proses ini tidak selalu bekerja.\n"
+"\n"
+" * \"%s\": batalkan semua perubahan dan muat ulang tabel partisi\n"
+"orisinal pada hard disk.\n"
+"\n"
+" * \"%s\": tanpa opsi ini akan memaksa pengguna melakukan proses \n"
+"mount dan unmount manual pada media seperti disket dan CD-ROM.\n"
+"\n"
+" * \"%s\": gunakan opsi ini jika Anda hendak menggunakan wizard\n"
+"untuk mempartisi hard disk Anda. Opsi ini disarankan jika Anda\n"
+"tidak memahami cara mempartisi.\n"
+"\n"
+" * \"%s\": gunakan opsi ini untuk membatalkan perubahan Anda.\n"
+"\n"
+" * \"%s\": mengijinkan aksi tambahan pada partisi (jenis, opsi,\n"
+"format) dan memberikan informasi lebih tentang hard disk.\n"
+"\n"
+" * \"%s\": ketika selesai mempartisi, opsi ini akan menyimpan\n"
+"perubahan pada disk.\n"
+"\n"
+"Ketika mendefinisikan ukuran partisi, Anda bisa menggunakan tombol\n"
+"panah dari keyboard Anda.\n"
+"\n"
+"Catatan: Anda bisa mencapai sembarang opsi menggunakan keyboard.\n"
+"Navigasi pada partisi menggunakan [Tab] dan panah [Up/Down].\n"
+"\n"
+"Ketika partisi dipilih, Anda bisa menggunakan:\n"
+"\n"
+" * Ctrl-c untuk membuat partisi baru (ketika partisi kosong dipilih)\n"
+"\n"
+" * Ctrl-d untuk menghapus partisi\n"
+"\n"
+" * Ctrl-m untuk menentukan titik mount\n"
+"\n"
+"Untuk mendapatkan informasi tentang jenis sistem file yang ada, \n"
+"silahkan membaca bab ext2FS dari ``Referensi Manual''.\n"
+"\n"
+"Jika Anda menginstall pada komputer PPC, Anda harus membuat partisi\n"
+"``bootstrap'' HFS kecil paling tidak 1 MB yang akan digunakan oleh\n"
+"bootloader yaboot. Jika Anda membuatnya lebih besar, misalkan 50MB\n"
+"Anda bisa menyimpan kernel dan citra ramdisk untuk situasi darurat."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Mount otomatis media lepas (removable)"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ubah ke modus normal/ahli"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Terdapat lebih dari satu partisi Microsoft yang terdeteksi pada harddisk\n"
+"Anda. Pilih partisi yang hendak Anda ubah ukurannya untuk installasi sistem\n"
+"operasi Mandriva Linux.\n"
+"\n"
+"Tiap partisi terdaftar sebagai: \"Nama Linux\",\"Nama windows\",\"Kapasitas"
+"\".\n"
+"\n"
+"\"Nama Linux\" berstruktur: \"tipe hard drive\", \"nomor hard drive\",\n"
+"\"nomor partisi\" (misalnya \"hda1\").\n"
+"\n"
+"\"Tipe hard drive\" adalah \"hd\" bila drive bertipe IDE dan \"sd\" jika\n"
+"berupa drive SCSI.\n"
+"\n"
+"\"Nomor Hard Drive\", selalu berupa huruf setelah \"hd\" atau \"sd\". Jika\n"
+"berupa IDE, maka:\n"
+"\n"
+" * \"a\" berarti \"hard drive master pada kontroller IDE primer\",\n"
+"\n"
+" * \"b\" berarti \"hard drive slave pada kontroler IDE primer\",\n"
+"\n"
+" * \"c\" berarti \"hard drive master pada kontroler IDE sekunder\",\n"
+"\n"
+" * \"d\" berarti \"hard drive slave pada kontroler IDE sekunder\",\n"
+"\n"
+"Pada drive SCSI, \"a\" berarti \"ID SCSI terkecil, \"b\" berarti \"ID SCSI\n"
+"terkecil kedua\", dst.\n"
+"\n"
+"\"Nama windows\" adalah huruf hard drive Anda pada Windows (disk pertama\n"
+"pada partisi disebut \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": periksa pilihan negara saat ini. Jika tidak berada di sini, klik\n"
+"\"%s\" dan pilih yang lain. Jika negara Anda tidak ada pada daftar,\n"
+"klik tombol \"%s\" untuk mendapatkan daftar lengkap."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Tahap ini hanya aktif jika partisi GNU/Linux lama ditemukan.\n"
+"\n"
+"DrakX perlu tahu Anda ingin melakukan installasi baru atau upgrade sistem\n"
+"Mandriva Linux yang sudah ada:\n"
+"\n"
+"* \"%s\": Untuk sebagian besar bagian, opsi ini menghapus sistem lama.\n"
+"Namun, bergantung pada skema partisi Anda, Anda bisa mencegah data Anda\n"
+"(biasanya direktori \"home\") untuk ditimpa. Jika Anda hendak mengubah\n"
+"bagaimana hard disk dipartisi, atau untuk mengubah sistem file, Anda\n"
+"harus menggunakan opsi ini.\n"
+"\n"
+"* \"%s\": Kelas installasi ini akan mengupdate paket yang terinstall\n"
+"pada sistem Mandriva Linux Anda. Skema partisi dan data pengguna Anda\n"
+"tidak akan diubah. Sebagian besar langkah konfigurasi yang tersisa\n"
+"serupa pada installasi standar.\n"
+"\n"
+"Menggunakan opsi ``Upgrade'' seharusnya berjalan pada Mandriva Linux\n"
+"versi \"8.1\" keatas. Melakukan upgrade pada versi sebelum \"8.1\"\n"
+"tidak dianjurkan."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Bergantung pada bahasa yang Anda pilih (), DrakX akan memilih tipe\n"
+"keyboard yang sesuai. Periksa apakah pilihan sudah sesuai atau pilih\n"
+"layout keyboard yang lain.\n"
+"\n"
+"Juga, Anda mungkin tidak memiliki keyboard yang sesuai dengan bahasa\n"
+"Anda: misalnya jika Anda orang Swiss yang berbahasa Inggris, Anda\n"
+"mungkin memilih keyboard Swiss. Atau jika Anda berbahasa Inggris\n"
+"tapi tinggal di Quebec, Anda mungkin menghadapi situasi yang sama\n"
+"dengan bahasa Anda dan country-set keyboard tidak sesuai. Pada\n"
+"kedua kasus, langkah installasi ini akan mengijinkan Anda untuk\n"
+"memilih keyboard yang sesuai dari daftar.\n"
+"\n"
+"Klik tombol \"%s\" untuk menampilkan daftar keyboard yang didukung.\n"
+"\n"
+"Jika Anda memilih keyboard berbasis alphabet non-Latin, dialog\n"
+"selanjutnya memungkinkan Anda memilih kunci untuk berpindah keyboard\n"
+"antara layout Latin dan non-Latin."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Langkah pertama adalah menentukan bahasa pilihan Anda.\n"
+"\n"
+"Pilihan bahasa Anda akan mempengaruhi installer, dokumentasi\n"
+"dan juga sistem secara umum. Pertama pilih wilayah Anda, lalu bahasa\n"
+"yang Anda gunakan.\n"
+"\n"
+"Klik pada tombol \"%s\" akan mengijinkan Anda memilih bahasa lain\n"
+"untuk diinstall pada workstation Anda, juga menginstall file bahasa\n"
+"khusus untuk dokumentasi sistem dan aplikasi. Misalnya jika pengguna\n"
+"Spanyol menggunakan komputer Anda, pilih Inggris sebagai bahasa default\n"
+"pada pohon view dan \"%s\" pada bagian Advanced.\n"
+"\n"
+"Tentang dukungan UTF-8 (unicode): Unicode adalah enkoding karakter yang\n"
+"baru yang ditujukan untuk mencakup seluruh bahasa yang ada. Namun \n"
+"dukungan penuh pada GNU/Linux sedang dalam pengembangan. Untuk alasan\n"
+"tersebut, penggunaan UTF-8 pada Mandriva Linux bergantung pada pilihan\n"
+"pengguna:\n"
+"\n"
+" * Jika Anda memilih menggunakan bahasa dengan enkoding yang kuat (bahasa\n"
+"latin, Rusia, Jepang, China, Korea, Thai, Yunani, Turki, sebagian besar\n"
+"bahasa iso-8859-2), enkoding akan digunakan secara default;\n"
+"\n"
+" * Bahasa lain akan menggunakan unicode sebagai default;\n"
+"\n"
+" * Jika dua atau lebih bahasa diperlukan, dan bahasa tersebut tidak\n"
+"memakai enkoding yang sama, maka unicode akan digunakan pada sistem;\n"
+"\n"
+" * Terakhir, unicode juga bisa dipaksa untuk digunakan melalui\n"
+"permintaan pengguna dengan memilih opsi \"%s\" secara terpisah\n"
+"pada bahasa yang dipilih.\n"
+"\n"
+"Perhatikan bahwa Anda tidak terbatas pada satu bahasa tambahan. Anda\n"
+"bisa memilih beberapa, atau semua dengan memilih kotak \"%s\".\n"
+"Memilih dukungan untuk sebuah bahasa berarti translasi, font, penguji\n"
+"ejaan, dll juga akan diinstal untuk bahasa tersebut.\n"
+"\n"
+"Untuk berpindah antar bahasa yang diinstall pada sistem, Anda bisa\n"
+"menjalankan perintah \"localedrake\" sebagai \"root\" untuk merubah\n"
+"bahasa yang digunakan sistem. Menjalankan perintah sebagai pengguna\n"
+"hanya akan merubah setting untuk pengguna tersebut."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanyol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Umumnya, DrakX bisa mendeteksi jumlah tombol mouse Anda. Jika gagal,\n"
+"akan diasumsikan mouse Anda bertombol dua dan akan mengkonfigurasikan\n"
+"emulasi tombol ketiga. Tombol ketiga dari sebuah mouse bertombol dua\n"
+"bisa didapatkan dengan memilih tombol kanan dan kiri bersamaan. DrakX\n"
+"mengetahui mouse menggunakan antarmuka PS/2, serial atau USB secara\n"
+"otomatis.\n"
+"Jika Anda memiliki mouse 3 tombol tanpa roda, Anda bisa memilih mouse\n"
+"\"%s\". DrakX akan mengkonfigurasi mouse Anda sehingga bisa ia bisa\n"
+"mensimulasikan roda: untuk melakukannya, tekan tombol tengah dan\n"
+"gerakkan pointer mouse Anda keatas dan kebawah.\n"
+"\n"
+"Jika Anda ingin menunjuk tipe mouse lain, pilih tipe yang sesuai dari\n"
+"daftar yang disediakan.\n"
+"\n"
+"Anda bisa memilih \"%s\" untuk memilih jenis mouse ``generik'' yang\n"
+"akan bekerja pada sebagian besar mouse.\n"
+"\n"
+"Jika Anda memilih mouse bukan standar, layar pengujian akan ditampilkan.\n"
+"Gunakan tombol dan roda untuk verifikasi setting. Jika mouse tidak \n"
+"bekerja baik tekan spasi atau [Enter] untuk membatalkan dan Anda akan\n"
+"kembali ke daftar mouse.\n"
+"\n"
+"Mouse dengan roda kadang tidak terdeteksi secara otomatis, sehingga Anda\n"
+"harus memilih mouse dari daftar. Pastikan memilih yang sesuai dengan port\n"
+"yang digunakan. Setelah memilih mouse dan menekan tombol \"%s\", sebuah\n"
+"citra mouse akan tampak di layar. Gerakkan rodanya untuk memastikan ia\n"
+"bekerja dengan baik. Ketika Anda menggerakan roda, Anda akan melihat roda\n"
+"pada layar juga bergerak. Ujilah tombol dan pastikan pointer mouse pada\n"
+"layar ikut bergerak."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Dengan emulasi roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Sembarang mouse PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Pilih port yang benar. Misalnya \"COM1\" di Windows akan bernama\n"
+"\"ttyS0\" di GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ini adalah poin terpenting penentuan keamanan sistem GNU/Linux Anda: Anda\n"
+"harus mengisi katasandi \"root\". \"Root\" adalah administrator sistem dan\n"
+"yang berhak melakukan update, menambah pengguna, mengubah konfigurasi\n"
+"sistem. Singkatnya, \"root\" dapat melakukan apapun! Karena itu Anda\n"
+"harus memilih katasandi yang sulit ditebak - DrakX akan memberitahu jika\n"
+"terlalu mudah. Seperti Anda lihat, Anda tidak dipaksa untuk memasukkan\n"
+"katasandi, tapi sangat tidak dianjurkan. GNU/Linux juga rawan kesalahan\n"
+"operator seperti sistem operasi lain. Karena \"root\" bisa melewati\n"
+"semua batasan dan secara tidak sengaja menghapus semua data di partisi,\n"
+"sangatlah penting untuk memperketat usaha menjadi \"root\".\n"
+"\n"
+"Katasandi harus berupa campuran nomor dan huruf minimal 8 karakter. Jangan\n"
+"pernah mencatat katasandi \"root\" - itu membuat sistem mudah dibajak.\n"
+"\n"
+"Katasandi juga jangan terlalu panjang/rumit karena Anda harus mampu \n"
+"mengingatnya.\n"
+"Katasandi tidak muncul di layar ketika diketikkan. Untuk mengurangi "
+"kesalahan\n"
+"pengetikkan Anda harus menuliskan katasandi sebanyak dua kali. Jika Anda\n"
+"melakukan kesalahan penulisan kasatandi sebanyak dua kali, Anda harus\n"
+"memakai katasandi yang ``salah'' ini untuk login sebagai \"root\".\n"
+"\n"
+"Jika Anda ingin sebuah server otentikasi mengontrol akses ke komputer Anda,\n"
+"klik pada tombol \"%s\".\n"
+"\n"
+"Jika jaringan Anda memakai protokol otentikasi LDAP/NIS/PDC Windows Domain,\n"
+"pilih yang cocok untuk \"%s\". Jika Anda tidak tahu yang harus digunakan,\n"
+"tanyalah admin jaringan Anda.\n"
+"\n"
+"Jika Anda mengalami masalah untuk mengingat katasandi, atau jika komputer\n"
+"Anda tidak akan terhubung ke Internet dan Anda mempercayai semua orang\n"
+"yang menggunakan komputer Anda, Anda bisa memilih \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "otentikasi"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Bootloader adalah program kecil yang dijalankan ketika komputer boot. Ia\n"
+"bertanggung jawab untuk memulai seluruh sistem. Normalnya, installasi boot\n"
+"loader dilakukan secara otomatis. DrakX akan menganalisa sektor boot disk\n"
+"dan bekerja menurut apa yang ditemukannya:\n"
+"\n"
+" * jika ditemukan sektor boot Windows, ia akan menggantinya dengan sektor\n"
+"boot grub/LILO. Dengan demikian Anda akan dapat memuat GNU/Linux atau OS\n"
+"lain.\n"
+"\n"
+" * jika ditemukan sektor boot grub/LILO, akan diganti dengan yang baru.\n"
+"\n"
+"Jika DrakX tidak dapat mengambil keputusan, ia akan menanyakan tempat\n"
+"meletakkan bootloader. Umumnya, \"%s\" adalah tempat teraman. Memilih\n"
+"\"%s\" tidak akan menginstall sembarang boot loader. Gunakan opsi ini\n"
+"jika Anda tahu apa yang Anda lakukan."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sekarang, waktunya memilih sistem pencetakan untuk komputer Anda. Sistem\n"
+"operasi lain mungkin menawarkan satu, tetapi Mandriva Linux menawarkan dua.\n"
+"Setiap sistem pencetakan sesuai untuk jenis konfigurasi tertentu.\n"
+"\n"
+" * \"%s\" - yang merupakan akronim untuk ``print, tidak ada antrian'',\n"
+"adalah pilihan jika Anda memiliki koneksi langsung ke printer Anda dan\n"
+"ingin bebas dari masalah kemacetan printer, serta tidak punya printer\n"
+"jaringan. (\"%s\" akan menangani kasus jaringan sederhana sehingga\n"
+"lambat ketika digunakan dalam jaringan. Anda direkomendasikan untuk\n"
+"menggunakan \"pdq\" jika ini pertama kali Anda mengenal GNU/Linux.\n"
+"\n"
+" * \"%s\" - kependekan dari ``Common Unix Printing System'' adalah pilihan\n"
+"yang canggih untuk mencetak ke printer lokal dan juga separuh planet. Opsi\n"
+"ini mudah dikonfigurasikan dan bisa berfungsi sebagai server/klien untuk\n"
+"sistem cetak \"lpd\" yang kuno, sehingga kompatibel dengan sistem lama yang\n"
+"mungkin masih membutuhkan layanan pencetakan. Meskipun handal, setup\n"
+"dasar hampir semudah \"pdq\". Jika Anda perlu mengemulasikan server \"lpd\"\n"
+"pastikan Anda mengaktifkan daemon \"cups-lpd\". %s menyertakan tampilan\n"
+"grafis untuk pencetakan atau memilih opsi printer dan mengelola printer.\n"
+"\n"
+"Jika Anda membuat pilihan sekarang dan nanti Anda tidak menyukai sistem \n"
+"cetak yang Anda pilih saat ini, Anda bisa merubahnya dengan menjalankan\n"
+"PrinterDrake dari Pusat Kontrol Mandriva dan klik tombol \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ahli"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX akan mencoba mendeteksi perangkat IDE yang ada pada komputer Anda.\n"
+"Ia juga mencari kartu SCSI PCI di sistem Anda. Jika kartu SCSI ditemukan\n"
+"DrakX akan otomatis meng-instal driver yang sesuai.\n"
+"\n"
+"Karena perangkat keras terkadang tak terdeteksi, DrakX mungkin gagal\n"
+"mendeteksi harddisk Anda. Jika demikian, Anda harus menentukan sendiri.\n"
+"\n"
+"Jika Anda harus menentukan adaptor SCSI PCI secara manual, DrakX akan\n"
+"menanyakan opsi konfigurasinya. Anda harus mengijinkan DrakX untuk\n"
+"mendeteksi perangkat keras untuk opsi khusus yang diperlukan untuk\n"
+"menginisialisasi adapter. Pada banyak kasus, DrakX biasanya melalui\n"
+"tahap ini tanpa ada masalah.\n"
+"\n"
+"Jika DrakX gagal mendeteksi opsi untuk menentukan parameter yang harus\n"
+"dikirimkan ke perangkat keras secara otomatis, Anda harus mengkonfigurasi\n"
+"driver secara manual."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jika kartu suara terdeteksi di sistem Anda, akan ditampilkan\n"
+"di sini. Jika kartu suara yang tampil tidak sesuai dengan yang ada pada\n"
+"sistem, Anda bisa klik pada tombol dan pilih driver lain."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Sebagai review, DrakX akan menampilkan ringkasan informasi yang dikumpulkan\n"
+"tentang sistem Anda. Bergantung pada perangkat keras yang terpasang pada\n"
+"komputer Anda, Anda mungkin memiliki beberapa atau semua daftar berikut.\n"
+"Setiap daftar terdiri dari daftar perangkat keras yang harus dikonfigurasi,\n"
+"diikuti dengan ringkasan singkat dari konfigurasi aktual. Klik pada tombol\n"
+"\"%s\" untuk melakukan perubahan.\n"
+"\n"
+" * \"%s\": periksa konfigurasi peta keyboard aktual dan lakukan perubahan "
+"ubah\n"
+"jika diperlukan.\n"
+"\n"
+" * \"%s\": periksa pilihan negara aktual. Jika Anda tidak berada pada "
+"negara\n"
+"ini, klik pada tombol \"%s\" dan pilih yang lain. Jika negara Anda tidak "
+"ada\n"
+"pada daftar berikut, klik tombol \"%s\" untuk mendapatkan daftar lengkap.\n"
+"\n"
+" * \"%s\": secara default, DrakX menyesuaikan zona waktu berdasarkan negara\n"
+"yang Anda pilih. Anda bisa klik pada tombol \"%s\" jika tidak benar.\n"
+"\n"
+" * \"%s\": verifikasi konfigurasi mouse aktual dan klik pada tombol untuk\n"
+"mengubahnya jika diperlukan.\n"
+"\n"
+" * \"%s\": klik pada tombol \"%s\" akan membuka wizard konfigurasi printer.\n"
+"Lihat bab ``Panduan Pemula'' untuk informasi lebih lanjut tentang cara\n"
+"setting printer baru. Antarmuka yang ada pada manual serupa dengan yang\n"
+"digunakan selama installasi.\n"
+"\n"
+" * \"%s\": jika kartu suara terdeteksi pada sistem Anda, akan ditampilkan\n"
+"disini. Jika Anda menyadari kartu suara yang ditampilkan bukan yang ada\n"
+"pada sistem Anda, Anda bisa klik pada tombol dan pilih driver lain.\n"
+"\n"
+" * \"%s\": Jika Anda memiliki kartu TV, informasi konfigurasinya akan\n"
+"ditampilkan disini. Jika Anda memiliki kartu TV dan tidak terdeteksi\n"
+"klik pada \"%s\" untuk mencoba mengkonfigurasinya secara manual.\n"
+"\n"
+" * \"%s\": Anda bisa klik pada \"%s\" untuk merubah parameter yang \n"
+"berhubungan dengan kartu jika Anda merasa konfigurasinya salah.\n"
+"\n"
+" * \"%s\": secara default, DrakX mengkonfigurasi antarmuka grafis Anda\n"
+"dalam resolusi \"800x600\" atau \"1024x768\". Jika tidak sesuai, klik\n"
+"pada \"%s\" untuk mengkonfigurasi ulang antarmuka grafis Anda.\n"
+"\n"
+" * \"%s\": jika Anda hendak mengkonfigurasi akses jaringan Internet\n"
+"atau lokal Anda, Anda bisa melakukannya sekarang. Lihat dokumentasi\n"
+"cetak atau gunakan Pusat Kontrol Mandriva Linux setelah installasi\n"
+"selesai untuk mengambil keuntungan dari bantuannya.\n"
+"\n"
+" * \"%s\": mengijinkan Anda mengkonfigurasi alamat proxy HTTP dan\n"
+"FTP jika komputer yang Anda install berada dibelakang server proxy.\n"
+"\n"
+" * \"%s\": daftar ini mengijinkan Anda mendefinisikan ulang tingkat\n"
+"keamanan seperti yang ditentukan pada langkah sebelumnya ().\n"
+"\n"
+" * \"%s\": jika Anda berencana untuk menghubungkan komputer Anda ke\n"
+"Internet, merupakan ide bagus untuk menjaga dari intrusi dengan \n"
+"memasang firewall. Lihat bab dari ``Panduan Pengguna'' untuk detail\n"
+"tentang setting firewall.\n"
+"\n"
+" * \"%s\": jika Anda hendak merubah konfigurasi bootloader Anda, klik\n"
+"tombol ini. Opsi ini ditujukan untuk pengguna tingkat lanjut. Lihat\n"
+"dokumentasi cetak atau bantuan tentang konfigurasi bootloader pada \n"
+"Pusat Kontrol Mandriva Linux.\n"
+"\n"
+" * \"%s\": melalui daftar ini Anda bisa menentukan layanan apa yang\n"
+"akan dijalankan pada komputer Anda. Jika Anda berencana untuk memakai\n"
+"komputer ini sebagai server, merupakan ide bagus untuk mereview setup\n"
+"ini."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Kartu ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Antarmuka Grafis"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Pilih harddrive yang akan dihapus untuk menginstall partisi Mandriva Linux\n"
+"baru Anda. Hati-hati, semua data pada drive ini akan hilang dan\n"
+"tidak dapat dikembalikan seperti semula!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klik pada \"%s\" jika Anda ingin menghapus semua data dan partisi yang ada\n"
+"pada harddisk ini. Hati-hati, setelah mengklik \"%s\" Anda tidak dapat\n"
+"mengembalikan data dan partisi pada drive ini termasuk data Windows.\n"
+"\n"
+"Klik pada \"%s\" untuk keluar dari operasi ini tanpa kehilangan data dan\n"
+"partisi yang ada pada harddisk ini."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Berikutnya ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Sebelumnya"
+
diff --git a/perl-install/install/help/po/is.po b/perl-install/install/help/po/is.po
new file mode 100644
index 000000000..4152a72f9
--- /dev/null
+++ b/perl-install/install/help/po/is.po
@@ -0,0 +1,1921 @@
+# translation of DrakX.po to
+# translation of DrakX.po to Icelandic
+# Translation file for Mandriva Linux graphic install, DrakX
+# Copyright (C) 1999,2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1999 Mandriva
+# Jóhann Þorvarðarson <johann.torvardarson@lais.is>, 1999-2000.
+# Þórarinn (Tony) R. Einarsson <thori@mindspring.com>, 1999-2000.
+# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2003, 2005, 2006.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-03-07 18:42+0000\n"
+"Last-Translator: Pjetur G. Hjaltason <pjetur@pjetur.net>\n"
+"Language-Team: <is@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Áður en þú heldur áfram, ættir þú að lesa vandlega leyfisskilmálana. Þeir\n"
+"taka yfir alla Mandriva Linux dreifinguna. Ef þú er samþykk(ur) öllum þeim\n"
+"skilmálum sem þar standa, krossaðu þá við í \"%s\" reitinn, ef ekki\n"
+"smelltu þá á \"%s\" hnappinn sem mun endurræsa tölvuna þína."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er fjölnotanda umhverfi sem þýðir að hver notandi getur "
+"skilgreint\n"
+"sitt eigið umhverfi og stillingar, eigin skrár o.s.frv. En ólíkt \"root\" "
+"sem\n"
+"er kerfisstjóri, þá munu þeir notendur sem þú skilgreinir hér ekki hafa\n"
+"leyfi til að breyta neinu nema sínum eigin skrám og stillingum. Þetta\n"
+"verndar kerfið frá óhöppum eða illvígum forritum sem gætu haft áhrif\n"
+"á heildarverkun kerfisins. Þú verður að búa til a.m.k. einn venjulegan\n"
+"notanda fyrir þig sjálfan. -- þetta er það auðkenni sem þú ættir að til\n"
+"daglegrar notkunar. Þó að það sé mjög auðvelt að skrá sig inn sem \"root\"\n"
+"til allrar vinnu, þá getur það einnig verið mjög hættulegt!\n"
+"Ein mjög einföld mistök gætu valdið því að kerfið virki ekki lengur. Ef þú\n"
+"gerir alvarleg mistök sem venjulegur notandi, þá hefur þú í versta falli\n"
+"tapað gögnum, en þú hefur ekki haft áhrif á heildarvirkni kerfisins.\n"
+"\n"
+"Kerfið spyr þig fyrst um raunverulegt nafn. Auðvitað er ekki skylda að\n"
+"fylla þetta rétt út -- þú getur skrifað hvað sem þú vilt. DrakX mun nota\n"
+"fyrsta orðið í þessu svæði og afrita það í \"%s\", sem er notandanafn\n"
+"sem á að nota til að auðkenna sig gagnvart kerfinu. Ef þú vilt, getur þú\n"
+"breytt því sjálfgefna og gefið upp annað notandanafn. Næsta skref er að\n"
+"skrá lykilorð. Frá öryggissjónamiði séð er lykilorð venjulegs notanda ekki\n"
+"jafn mikilvægt og lykilorð kerfisstjóra \"root\", en það er engin ástæða\n"
+"til að hafa það autt eða of einfalt: athugið að þetta gefur fullan aðgang\n"
+"að þínum skrám og gögnum, sem eru þá í húfi.\n"
+"\n"
+"Þegar þú smellir á \"%s\" þá getur þú bætt við öðrum notendum. Bættu\n"
+"við notanda fyrir vini, föður, móður og systkini o.s.frv. Smelltu á \"%s\"\n"
+"þegar þú hefur lokið að bæta við notendum.\n"
+"\n"
+"Með því að smella á \"%s\" getur þú breytt sjálfgefinni \"skel\" fyrir "
+"hvern\n"
+"notanda (sjálfgefið er bash).\n"
+"\n"
+"Þegar þú hefur lokið við að bæta við notendum, þá verður þú beðinn\n"
+"um að velja notanda sem verður sjálfkrafa skráður inn þegar tölvan ræsir.\n"
+"Ef þú vilt nota þér þann möguleika (og hefur ekki miklar áhyggjur af "
+"öryggi),\n"
+"veldu æskilegan notanda og gluggastjóra, smelltu síðan á \"%s\". Ef þú\n"
+"vilt ekki nota þér þennan möguleika, fjarlægðu þá merkinguna við \"%s\"\n"
+"reitinn."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Viltu nota þennan eiginleika?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hér er listi af núverandi Linux disksneiðum sem fundust á disknum.\n"
+"Þú getur haldið þeim stillingum sem stungið er upp á, því þau eru nokkuð\n"
+"skynsamleg fyrir flestar uppsetningar. Ef þú gerir einhverjar breytingar, "
+"þá\n"
+"verður þú að minnsta kosti að skilgreina rótarsneið (\"/\"). Ekki velja of "
+"litla\n"
+"disksneið því þá munt þú ekki geta sett upp nægan hugbúnað. Ef þú vilt "
+"geyma\n"
+"gögnin þín á annari disksneið, þá verður þú einnig að búa til \"/home\"\n"
+"disksneið (aðeins mögulegt ef þú hefur fleiri en eina sneið tiltæka).\n"
+"\n"
+"Hver sneið á listanum inniheldur \"Nafn\", \"Diskrýmd\".\n"
+"\n"
+"\"Nafn\" er byggt upp af: \"disktegund\", \"disknúmer\",\n"
+"\"disksneið\" (t.d., \"hda1\").\n"
+"\n"
+"\"disktegund\" er \"hd\" ef disknum er stýrt með IDE stýringu og\n"
+"\"sd\" ef það er SCSI diskur.\n"
+"\n"
+"\"Disknúmer\" er alltaf bókstafur eftir \"hd\" eða \"sd\". Fyrir IDE\n"
+"diska:\n"
+"\n"
+" * \"a\" þýðir \"aðal (master) diskur á fyrstu IDE stýringu\";\n"
+"\n"
+" * \"b\" þýðir \"auka (slave) diskur fyrstu IDE stýringu\";\n"
+"\n"
+" * \"c\" þýðir \"aðal (master) diskur á annari IDE stýringu\";\n"
+"\n"
+" * \"d\" þýðir \"auka (slave) diskur annari IDE stýringu\";\n"
+"\n"
+"Á SCSI diskum, þýðir \"a\" \"lægsta SCSI ID\", \"b\" þýðir\n"
+"\"næst-lægsta SCSI ID\", o.s.frv."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux uppsetningunni er dreift á nokkra geisladiska. Ef valinn\n"
+"pakki er á öðrum geisladiski, þá mun DrakX spýta út núverandi diski\n"
+"og biðja þig um að setja inn rétta diskinn. Ef þú hefur ekki rétta diskinn "
+"við\n"
+"hendina, smelltu þá á \"%s\", viðkomandi pakkar verða þá ekki\n"
+"settir upp."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nú er tími til að skilgreina hvaða forrit þú vilt að séu sett upp á kerfinu "
+"þínu.\n"
+"Það eru þúsundir pakka til fyrir Mandriva Linux, og til að einfalda\n"
+"umsjón pakkanna hafa þeir verið flokkaðir í hópa af svipuðum forritum.\n"
+"\n"
+"Mandriva Linux skiptir pökkunum í fjóra flokka. Þú getur blandað saman\n"
+"pökkum úr mismunandi flokkum svo að ``Vinnustöðvar'' uppsetning\n"
+"getur innihaldið forrit úr ``Miðlara'' flokknum.\n"
+"\n"
+" * \"%s\": ef þú hefur í hyggju að nota vélina þína sem vinnustöð veldu\n"
+"einn eða fleiri flokka úr vinnustöðvahópunum.\n"
+"\n"
+" * \"%s\": ef þú hefur í hyggju að nota vélina þína fyrir forritun veljið "
+"viðeigandi\n"
+"hópa úr þeim flokki. Hinn sérstaki \"LSB\" hópur mun setja vélina þína upp\n"
+"þannig að hún sé eins samhæfð og mögulegt er við \"Linux Standard Base"
+"\"skilgreiningarnar.\n"
+"\n"
+" Sé \"LSB\" hópurinn valinn, verður \"2.4\" kjarninn einnig settur inn í "
+"stað\n"
+"hins sjálfgefna kjarna \"2.6\". Þetta er til að tryggja 100%%-LSB samhæfni\n"
+"kerfisins. En þó að þú veljir ekki hinn sérstaka \"LSB\" hóp, þá munt þú\n"
+"samt vera með kerfi sem er næstum því 100%% LSB-samhæft.\n"
+"\n"
+" * \"%s\": ef vélin þín á að vera miðlari veldu þær þjónustur sem þú\n"
+"vilt að settar séu settar upp á tölvunni þinni.\n"
+"\n"
+" * \"%s\": Hér getur þú valið hvaða myndræna gluggaumhverfi þú vilt hafa "
+"uppsett.\n"
+"Að minnsta kosti eitt umhverfi verður að vera valið ef þú vilt hafa\n"
+"myndrænt gluggaumhverfi uppsett.\n"
+"\n"
+"Ef þú færir músabendilinn yfir hópnafn þá kemur stutt skýring á þeim hóp.\n"
+"\n"
+"Þú getur krossað við \"%s\" reitinn, ef þú ert kunnug(ur) pökkunum sem eru\n"
+"í boði, eða þú vilt hafa heildarstjórn á pökkum sem verða settir inn.\n"
+"\n"
+"Ef þú byrjar uppsetninguna í \"%s\" ham, þá getur þú af-valið alla hópa\n"
+"og varnað innsetningu nýrra pakka. Þetta er nytsamlegt í því tilfelli\n"
+"ef þörf er á að gera við eða uppfæra núverandi kerfi.\n"
+"\n"
+"Ef þú af-velur alla hópa þegar þú setur upp venjulega uppsetningu (en ekki\n"
+"uppfærslu), þá birtist gluggi sem býður aukavalkosti fyrir "
+"lágmarksuppsetningu:\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi til að geta keyrt myndrænt "
+"gluggakerfi.\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi og nauðsynlegustu tól og handbækur\n"
+"þeirra. Þessi uppsetning er góð grunn uppsetning fyrir miðlara.\n"
+"\n"
+" * \"%s\": setur upp lágmarksumhverfi sem nauðsynlegt er til að fá\n"
+"keyrandi Linux kerfi með þessari uppsetningu er ekkert gluggaumhverfi.\n"
+"Heildarstærð uppsetningarinnar er um 65 megabæti."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uppfæra"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Með grunn handbókum"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Alger lágmarksuppsetning"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ef þú velur að setja pakkana inn handvirkt, þá mun uppsetningarforritið\n"
+"birta tré sem inniheldur alla pakkana flokkaða í hópa og undirhópa. Meðan\n"
+"þú flakkar um tréð getur þú valið heila hópa, undirhópa eða einstaka pakka.\n"
+"\n"
+"Í hvert sinn er þú velur pakka í trénu mun lýsing birtast til hægri til að "
+"sýna\n"
+"þér hlutverk þess forritapakka.\n"
+"\n"
+"!! Ef miðlara-pakki hefur verið valinn, annað hvort af því að þú valdir "
+"stakan\n"
+"pakka eða hann var hluti af hóp, verður þú beðinn um að staðfesta að\n"
+"þú viljir fá þessa miðlara uppsetta. Sjálfgefið mun Mandriva Linux ræsa "
+"allar\n"
+"uppsettar þjónustur og miðlara við kerfisræsingu. Jafnvel þó að þeir séu\n"
+"öruggir og engar þekktar villur þegar kerfinu var dreift þá er möguleiki að\n"
+"öryggisholur hafi uppgötvast eftir að gengið var frá þessari útgáfu af\n"
+"Ef þú veist ekki hvað tiltekin þjónusta á að gera eða afhverju hún er sett "
+"inn,\n"
+"smelltu þá á \"%s\". Ef þú smellir á \"%s\" verða þjónusturnar settar inn\n"
+"og þær verða ræstar sjálfkrafa þegar tölvan ræsir !!\n"
+"\n"
+"\"%s\" valkosturinn er notaður til að aftengja \n"
+"viðvörunarglugga sem birtist í hvert sinn er uppsetningarforritið finnur út\n"
+"að það þurfi að aukalega að setja inn pakka sem eru forsenda "
+"uppsetningarinnar.\n"
+"Sumir pakkar eru tengdir öðrum og uppsetning eins pakka getur krafist að\n"
+"annar pakki sé settur inn fyrst. Uppsetningarforritið getur ákvarðað hvaða\n"
+"pakkar eru tengdir og séð um að uppsetningin verði rétt.\n"
+"\n"
+"Litla disklinga-táknmyndin á enda listans leyfir þér að hlaða inn "
+"pakkalista\n"
+"frá fyrri uppsetningu. Þetta er hagkvæmt ef þú þarft að setja upp nokkrar\n"
+"vélar eins. Ef þú smellir á þessa táknmynd verður þú beðinn um að setja\n"
+"inn diskling sem búinn var til í lok fyrri uppsetningar. Sjá síðar við lok\n"
+"uppsetningar um hvernig á a' búa til slíkan diskling."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Uppfylla forkröfur sjálfvirkt"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": smellir þú á \"%s\" hnappinn mun það ræsa prentara-uppsetningar-"
+"ráðgjafann\n"
+"Skoðið viðeigandi kafla í ``Starter Guide'' varðandi meiri upplýsingar um "
+"hvernig\n"
+"á að setja upp nýjan prentara. Viðmótið sem sýnt er í handbókinni okkar er\n"
+"svipað því sem er notað í uppsetningarforritinu."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Þessi gluggi er notaður til að velja hvaða þjónustur eru ræstar við ræsingu "
+"tölvu.\n"
+"\n"
+"DrakX mun sýna lista yfir allar tiltækar þjónustur í núverandi uppsetningu.\n"
+"Skoðið hverja þeirra vandlega og af-veljið þær sem ekki er þörf á við "
+"ræsingu.\n"
+"\n"
+"Stutt lýsing verður birt um hverja þjónustu þegar hún er valin. Ef þú ert "
+"ekki viss\n"
+"um hvort þjónusta er nauðsynleg eða ekki þá er öruggara að nota sjálfgefið "
+"val.\n"
+"\n"
+"!! Farðu mjög varlega á þessu stigi ef þú ætlar að nota tölvuna þína sem "
+"miðlara.\n"
+"Þú vilt sennilega ekki ræsa neinar þjónustur sem ekki er þörf á.\n"
+"Vinsamlega mundu að sumar þjónustur geta verið hættulegar ef þær eru virkar\n"
+"á miðlara. Almennt talað, ræstu aðeins þær sem þú raunverulega þarft. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux notar GMT (Greenwich Mean Time) sem innri tíma og breytir\n"
+"honum í staðartíma eftir völdu tímabelti. Ef klukkan á móðurborðinu er\n"
+"stillt á staðartíma, þá gætir þú þurft að aftengja þetta með því að\n"
+"af-velja reitinn \"%s\", sem segir GNU/Linux kerfinu að vélarklukkan\n"
+"og kerfisklukkan séu á sama tímabelti. þetta er fyrst of fremst gagnlegt\n"
+"ef vélin hýsir annað stýrikerfi.\n"
+"\n"
+"\"%s\" valreiturinn mun stilla klukkuna sjálfkrafa með því að tengjast\n"
+"tímamiðlara um Internetið. Til að þetta sé virkt þá verður þú að hafa\n"
+"uppsetta internet-tengingu. Við mælum með að þú veljir tímamiðlara\n"
+"sem er nálægt þér. Þessi valkostur mun í raun setja upp tímamiðlara\n"
+"á vélinni sem þú getur síðan notað af öðrum vélum á staðarnetinu."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sjálfvirk tímastilling"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafískt kort\n"
+"\n"
+" Uppsetningarforritið mun venjulega sjálfkrafa finna og stilla \n"
+"grafísk skjákort sem eru á vélinni þinni. Ef þetta er ekki rétt, þá\n"
+"getur þú valið af þessum lista, það kort sem þú vilt láta setja upp.\n"
+"\n"
+" Í því tilviki að mismunandi miðlarar eru til fyrir kortið þitt, með\n"
+"eða án þrívíddar-hraðals, þá verður þú beðinn um að velja þann\n"
+" miðlara sem best hentar þínum þörfum."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (sem stendur fyrir X-glugga-kerfið) er grunnur myndræna viðmótsins\n"
+"á GNU/Linux. Á því eru byggð öll gluggakerfin (KDE, GNOME, AfterStep,\n"
+"WindowMaker, o.s.frv. ) sem fylgja Mandriva Linux.\n"
+"\n"
+"Þú sérð lista af mismunandi breytum til að stilla bestu myndgæði.\n"
+"\n"
+"Skjákort\n"
+"\n"
+" Uppsetningarforritið mun venjulega finna og stilla skjákortið sem er\n"
+"uppsett á vélinni þinni. Ef það er ekki rétt þá getur þú valið rétta kortið\n"
+"af lista\n"
+"...Í því tilviki að margir X miðlarar séu til staðar fyrir kortið þitt, t.d. "
+"með eða án Þrívíddarhröðunar, þá verður þú að velja þann sem \n"
+"hæfir þínum kröfum best.\n"
+"\n"
+"\n"
+"\n"
+"Skjár\n"
+"\n"
+" Venjulega mun uppsetningarforritið skynja og stilla skjáinn sem er\n"
+"tengdur við vélina þína. Ef þetta er ekki rétt þá getur þú valið réttan\n"
+"skjá sem tengdur er við tölvuna þína af löngum lista.\n"
+"\n"
+"\n"
+"\n"
+"Upplausn\n"
+"\n"
+" Hér getur þú valið upplausnir og litadýpt sem eru tiltækar fyrir þinn\n"
+"grafíska vélbúnað. Veldu þá upplausn sem hæfir þínum kröfum best\n"
+"(þú getur breytt þessu síðar eftir uppsetningu). Dæmi um valdar\n"
+"stillingar eru sýndar á skjámyndinni.\n"
+"\n"
+"\n"
+"\n"
+"Prófun\n"
+"\n"
+" Eftir tegund vélbúnaðar þíns, er þessi hluti ekki alltaf sýnilegur\n"
+"\n"
+" Prófunin mun reyna að opna grafískan skjá með valinni upplausn\n"
+"á skjánum þínum. Ef þú sérð prófunarskeyti á skjánum og svarar \"%s\",\n"
+"þá mun DrakX halda áfram að næsta þrepi. Ef þú sér það ekki, þá\n"
+"þýðir það að einhver hluti að sjálfvirku uppsetningunum var ekki rétt.\n"
+"Prófuninni lýkur eftir 12 sekúndur og þú ert sendur aftur í valmyndina.\n"
+"Breyttu stillingum þar til þú færð prófið til að virka rétt.\n"
+"\n"
+"\n"
+"\n"
+"Aukakostir\n"
+"\n"
+" Þetta þrep leyfir þér að velja hvort þú vilt að vélin þín ræsi upp\n"
+"myndrænt viðmót við ræsingu kerfis. Augljóslega getur þú krossað við\n"
+"\"%s\" ef vélin þín á að vera miðlari eða þér tókst ekki að stilla\n"
+"grafíska skjákortið/upplausnina/skjáinn... rétt."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjár\n"
+"\n"
+" Venjulega mun uppsetningarforritið finna tengda skjái sjálfkrafa og\n"
+"setja upp viðeigandi stillingar. Ef valið er ekki rétt getur þú valið\n"
+"réttan skjá af þessum lista - skjáinn sem er tengdur þinni tölvu."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Upplausn\n"
+"\n"
+" Hér getur þú valið upplausn og litadýpt sem eru mögulegir fyrir þinn\n"
+"vélbúnað. Veldu þann sem best hæfir þínum þörfum (þú getur breytt\n"
+"þessum stillingum eftir uppsetningu). Dæmi um valda uppsetningu er\n"
+"sýnt á skjámyndinni."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Í því tilviki að mismunandi miðlarar eru til fyrir kortið þitt, með eða án\n"
+"þrívíddar-hraðals, þá verður þú beðinn um að velja þann miðlara sem best\n"
+"hentar þínum þörfum."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Aukakostir\n"
+"\n"
+" Þetta þrep leyfir þér að velja hvort þú vilt að vélin þín ræsi upp\n"
+"myndrænt viðmót við ræsingu kerfis. Augljóslega getur þú krossað við\n"
+"\"%s\" ef vélin þín á að vera miðlari eða þér tókst ekki að stilla\n"
+"grafíska skjákortið/upplausnina/skjáinn... rétt."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nú verður þú að ákveða hvar þú vilt setja upp Mandriva Linux\n"
+"stýrikerfið á diskinn þinn. Ef diskurinn þinn er tómur eða núverandi\n"
+"stýrikerfi er að nota allt plássið á disknum, þá verður þú að\n"
+"Endursníða diskinn. Að sníða diskinn þýðir að skipta disknum\n"
+"í hluta sem þörf er á til að setja upp Mandriva Linux kerfið.\n"
+"\n"
+"Af því að skipting disks í sneiðar er venjulega óafturkræf aðgerð\n"
+"og getur leitt til að þú tapir gögnum, þá getur þetta verið erfið og\n"
+"stressandi aðgerð fyrir óvanan notanda. Til allrar hamingju er\n"
+"DrakX með ráðgjafa sem einfaldar aðgerðina. Áður en þú heldur\n"
+"áfram með þetta skref, lestu afganginn af þessum kafla og fyrir\n"
+"alla muni gefðu þér nægan tíma til að ákvarða rétta lausn.\n"
+"\n"
+"Nokkrar mismunandi aðferðir eru mögulegar, þær fara eftir\n"
+"núverandi uppsetningu á diskum:\n"
+"\n"
+" * \"%s\". Þessi aðgerð skiptir auðum svæðum á diskum sjálfkrafa.\n"
+"Ef þú velur þetta verður ekki spurt fleiri spurninga.\n"
+"\n"
+" * \"%s\". Ráðgjafinn hefur fundið eina eða fleiri Linux disksneiðar\n"
+"á disknum. Veldu þennan möguleika ef þú vilt nota þær. Þú verður\n"
+"þá beðin(n) um að velja tengipunkta fyrir hverja disksneið.\n"
+"Venjulegu tengipunktarnir eru sjálfgefið valdir, og það er góð\n"
+"hugmynd að halda þeirri reglu.\n"
+"\n"
+" * \"%s\". Ef Microsoft Windows er uppsett á disknum þínum og tekur\n"
+"upp allt diskplássið. Þá verður þú að búa til laust pláss fyrir GNU/Linux.\n"
+"Til að gera það þá getur þú eytt Microsoft Windows disksneiðinni\n"
+"og gögnum (sjá ``Eyða öllu á disknum'') eða breytt stærð á Microsoft \n"
+"Windows FAT eða NTFS disksneiðinni. Breytingu á stærð disksneiða\n"
+"er hægt að framkvæma án þess að nokkur gögn tapist, ef þú hefur\n"
+"áður þjappað gögnum á Windows disksneiðinni (defragment).\n"
+"Mælt er með að nota þessa aðferð ef þú vilt nota bæði Mandriva \n"
+"Linux og Microsoft Windows á sömu tölvunni.\n"
+"\n"
+"Áður en þú velur þennan valkost, hafðu þá í huga að, eftir þessa aðgerð\n"
+"verður Microsoft Windows disksneiðin minni en þegar þú byrjaðir. Þú\n"
+"munt því hafa minna laust diskpláss þegar þú notar Microsoft Windows\n"
+"til að geyma gögn og setja upp hugbúnað.\n"
+"\n"
+" * \"%s\". Ef þú vilt eyða öllum gögnum og disksneiðum sem nú eru\n"
+"á disknum og skipta þeim út með nýju Mandriva Linux stýrikerfi, veldu\n"
+"þennan valkost. Farðu varlega, því þú getur ekki afturkallað þessar\n"
+"breytingar eftir að þú hefur staðfest þær.\n"
+"\n"
+" !! Ef þú velur þennan valkost þá verður öllum gögnum á disknum eytt. !!\n"
+"\n"
+" * \"%s\". Þessi valkostur birtist þegar allt pláss á disknum er notað af\n"
+"Microsoft Windows. Ef þú velur þennan valkost, verður öllu einfaldlega\n"
+"eytt af disknum og þú byrjar með auðan disk, sem þú getur skipt\n"
+"síðan að vild.\n"
+"\n"
+" !! Ef þú velur þennan valkost þá verður öllum gögnum á disknum eytt. !!\n"
+"\n"
+" * \"%s\" Veldu þennan valkost ef þú vilt sjálfur skipta disknum þínum.\n"
+"Farðu varlega -- Þetta er öflugur en hættulegur valkostur og þú getur\n"
+"auðveldlega tapað öllum gögnum. Þess vegna er þessi valkostur eiginlega\n"
+"aðeins fyrir þá sem hafa gert þetta áður og hafa nokkra reynslu. Frekari\n"
+"upplýsingar um hvernig á að nota DiskDrake forritið er hægt að nálgast\n"
+"í kaflanum ``Managing Your Partitions'' í ``Starter Guide''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Nota núverandi disksneið"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Eyða öllu á disknum"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Jæja - hingað ertu þá kominn. Uppsetningu er nú lokið og GNU/Linux kerfið\n"
+"er tilbúið til notkunar. Aðeins eftir að smella á \"%s\" til að endurræsa "
+"kerfið\n"
+"Ekki gleyma að fjarlægja uppsetningarmiðilinn (Geisladisk eða diskling).\n"
+"Það fyrsta sem þú sérð eftir að tölvan hefur athugað vélbúnaðinn er\n"
+"ræsivalmynd, sem gefur þér möguleika á að velja hvaða stýrikerfi þú vilt "
+"ræsa\n"
+"\n"
+"Hnappurinn \"%s\" sýnir þér tvo auka hnappa sem:\n"
+"\n"
+" * \"%s\": leyfir þér að búa til uppsetningardisk sem framkvæmir sjálfkrafa\n"
+"alla uppsetninguna án íhlutunar, t.d. ef þú ert að setja upp aðra vél eins "
+"og\n"
+"þú varst að ljúka við að setja upp.\n"
+"\n"
+" Athugið að tveir möguleikar eru á uppsetningardisk sem birtast eftir að\n"
+"þú smellir á þennan hnapp:\n"
+"\n"
+" * \"%s\". Þetta er að hluta til sjálfvirk uppsetning. Diskasneiðing er\n"
+"eina þrepið sem þú þarft að framkvæma.\n"
+"\n"
+" * \"%s\". Algerlega sjálfvirk uppsetning: Öllu á disknum er eytt og\n"
+"diskurinn er algerlega endurskrifaður, öll gögn tapast.\n"
+"\n"
+" Þetta er mjög hagkvæmt ef þú ert að setja upp á margar svipaðar\n"
+"tölvur. Sjá nánar um sjálfvirka uppsetningu á vefsíðum okkar.\n"
+"\n"
+" * \"%s\"(*): vistar lista af öllum pökkum sem þú valdir í þessari\n"
+"uppsetningu. Til að nota þennan lista við aðra uppsetningu, settu inn\n"
+"disklinginn og byrjaðu uppsetningu. Þegar þú færð valskjáinn\n"
+"ýttu á [F1] og sláðu inn >>linux defcfg=\"floppy\"<< og ýttu á\n"
+"[Enter] lykilinn.\n"
+"\n"
+"(*) Þú þarft FAT-forsniðinn diskling. Til að búa til þannig diskling undir\n"
+"GNU/Linux, gefðu skipunina \"mformat a:\", eða \"fdformat /dev/fd0\"\n"
+"og síðan skipunina \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Búa til diskling fyrir sjálfvirka uppsetningu"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ef þú velur að endurnota einhverjar staðlaðar GNU/Linux disksneiðar\n"
+"vilt þú kannski endur-forsníða sumar þeirra og eyða gögnum sem þær\n"
+"innihalda. Til að gera það veldu einnig þær disksneiðar.\n"
+"\n"
+"Vinsamlega athugið að það er ekki nauðsynlegt að endur-forsníða allar\n"
+"disksneiðar sem eru til staðar. Þú þarft að endur-forsníða disksneiðar\n"
+"sem innihalda stýrikerfið (svo sem \"/\", \"/usr\" eða \"/var\") en þú\n"
+"þarft ekki að endur-forsníða disksneiðar sem innihalda gögn sem þú\n"
+"vilt geyma (venjulega \"/home\").\n"
+"\n"
+"Vinsamlega viðhafið varúð þegar þið veljið disksneiðar. Eftir að þær\n"
+"hafa verið forsniðnar, þá hefur öllum gögnum á þeim verið eytt, og þú\n"
+"getur ekki sótt þau aftur.\n"
+"\n"
+"Smelltu á \"%s\" þegar þú ert tilbúinn, og vilt forsníða disksneiðarnar.\n"
+"\n"
+"Smelltu á \"%s\" ef þú vilt velja aðra disksneið fyrir nýja Mandriva Linux\n"
+"stýrikerfið þitt.\n"
+"\n"
+"Smelltu á \"%s\" ef þú vilt velja disksneiðar sem verða skoðaðar\n"
+"sérstaklega m.t.t. galla á diskblokkum."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Þegar þú setur upp Mandriva Linux er líklegt að sumir pakkar hafi verið\n"
+"uppfærðir frá upphaflegri útgáfu. Villur hafa verið lagfærðar, og\n"
+"öryggisvandamál leyst. Til að nýta ykkur þessar uppfærslur, þá getið\n"
+"þið sótt þær nú um Internetið. Krossaðu við \"%s\" ef þú hefur nú\n"
+"þegar internet-tengingu, eða \"%s\" ef þú vilt sækja uppfærslur síðar.\n"
+"\n"
+"Ef þú velur \"%s\", þá færð þú lista af vefsvæðum sem þú getur sótt\n"
+"uppfærslur frá. Þú ættir að velja það vefsvæði sem er næst þér.\n"
+"Þú færð að sjá pakkalista sem þú getur valið úr og smellt á \"%s\"\n"
+"til að sækja og setja upp valda pakka, eða \"%s\" til að hætta við."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Hér leyfir DrakX þér að velja það öryggisstig sem þú óskar að hafa á\n"
+"tölvunni þinni. Þumalfingursregla er að öryggisstig ætti að vera því hærra\n"
+"sem gögnin eru mikilvægari, eða ef vélin verður tengd beint við\n"
+"Internetið. Hærra öryggisstig þýðir þó venjulega að aðgangur að\n"
+"vél og gögnum verður óþjálli.\n"
+"\n"
+"Ef þú veist ekki hvað á að velja, notaðu þá sjálfgefið öryggisstig. Þú\n"
+"getur breytt því seinna með draksec tólinu, sem er hluti af Mandriva Linux\n"
+"stjórnborðinu.\n"
+"\n"
+"Fylltu út í svæðið \"%s\" með netfangi þess aðila sem er ábyrgur fyrir\n"
+"öryggi kerfisins. Skeyti sem varða öryggi kerfis verða send á þetta netfang."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Öryggisfulltrúi"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Hér þarft þú að ákveða hvaða disksneið þú vilt nota fyrir Mandriva Linux\n"
+"stýrikerfið. Ef disksneiðar hafa þegar verið skilgreindar, annað hvort\n"
+"frá fyrri uppsetningu á GNU/Linux, eða af öðru forriti til að stilla\n"
+"disksneiðar, þá getur þú notað þær. Annars verður þú að skilgreina\n"
+"disksneiðar.\n"
+"\n"
+"Til að skilgreina disksneiðar þá verður þú fyrst að velja disk. Þú getur\n"
+"valið disk sem þú ætlar að skipta með því að smella á ``hda'' fyrir\n"
+"fyrsta IDE tengda diskinn, ``hdb'' fyrir þann næsta, ``sda'' fyrir\n"
+"fyrsta SCSI diskinn o.s.frv.\n"
+"\n"
+"Til að skipta völdum diski, þá getur þú notað eftirfarandi aðgerðir:\n"
+"\n"
+" * \"%s\": þessi valkostur eyðir öllum disksneiðum á disknum\n"
+"\n"
+" * \"%s\": þessi valkostur býr sjálfkrafa til ext3 og diskminnis-sneið\n"
+"á lausu plássi á disknum.\n"
+"\n"
+"\"%s\": gefur þér aðgang að aukavalkostum:\n"
+"\n"
+" * \"%s\": vistar disksneiða-töfluna á disklingi. Gott ef síðar þarf að\n"
+"endurbyggja disksneiða-töfluna. Það er mælt með að þú gerir\n"
+"framkvæmir þetta skref.\n"
+"\n"
+" * \"%s\" leyfir þér að endurbyggja disksneiða-töfluna frá disklingi.\n"
+"\n"
+" * \"%s\": ef disksneiða-taflan er skemmd, þá getur þú reynt að\n"
+"endurbyggja hana. Farðu varlega og mundu að þetta virkar ekki alltaf\n"
+"\n"
+" * \"%s\": hendir öllum breytingum og endurhleður disksneiða-töflunni\n"
+"eins og hún var upphaflega á disknum.\n"
+"\n"
+" * \"%s\": ef þú af-velur þennan valkost, þá verða notendur að\n"
+"tengja disklinga og geisladiska sjálfir við tengipunkta\n"
+"\n"
+" * \"%s\": notaðu þennan valkost ef þú vilt nota ráðgjafa til að skipta\n"
+"disknum þínum. Það er mæt með þessu ef þú hefur ekki nákvæmlega\n"
+"hvað á að gera hér.\n"
+"\n"
+" * \"%s\": notaðu þennan valkost ef þú vilt hætta við allar breytingar.\n"
+"\n"
+" * \"%s\": gefur þér aukalega valkosti (tegund, valkosti, forsníða)\n"
+"og gefur þér meiri upplýsingar um diskinn.\n"
+"\n"
+" * \"%s\": þegar þú hefur lokið við að skipta disknum þínum, þá\n"
+"skrifar þetta breytingarnar á diskinn.\n"
+"\n"
+"Þegar þú skilgreinir stærð disksneiðar, þá getur þú fínstillt stærðina\n"
+"á sneiðinni með örvalyklunum á lyklaborðinu.\n"
+"\n"
+"Athugið: Þú getur komist að öllum aðgerðum á skjánum frá\n"
+"lyklaborðinu. Þú færir þig á milli svæða með [Tab] og [Upp/Niður]\n"
+"örvalyklunum.\n"
+"\n"
+"Þegar disksneið er valin, þá getur þú notað:\n"
+"\n"
+" * Ctrl-c til að búa til nýja disksneið (þegar auð disksneið er valin)\n"
+"\n"
+" * Ctrl-d til að eyða disksneið\n"
+"\n"
+" * Ctrl-m til að setja tengipunkt\n"
+"\n"
+"Til að fá upplýsingar um mismunandi skráakerfi, vinsamlega lestu\n"
+"kaflann um ext2FS í ``Reference Manual''.\n"
+"\n"
+"Ef þú ert að setja upp á PPC tölvu, þá ættir þú að búa til litla HFS\n"
+"``ræsi-disksneið'' sem er að minnsta kosti 1M. Þessi disksneið\n"
+"verður notuð af yaboot ræsistjóranum. Ef þú gerir disksneiðina\n"
+"svolítið stærri t.d. 50MB þá er það góður staður til að geyma auka\n"
+"kjarna og ræsidisk-ímyndir fyrir óvæntar uppákomur."
+
+# ## skrytid
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Sjálfvirk tenging aukatækja"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Víxla milli venjulegs/sérfræðings-hams"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Fleiri en ein Microsoft disksneið hefur fundist á disknum.\n"
+"Vinsamlega veldu hverri þeirra þú vilt breyta stærðinni á til að geta sett\n"
+"upp nýja Mandriva Linux stýrikerfið.\n"
+"\n"
+"Hver sneið á listanum inniheldur \"Linux nafn\", \"Windows nafn\" \"Diskrýmd"
+"\".\n"
+"\n"
+"\"Nafn\" er byggt upp af: \"disktegund\", \"disknúmer\",\n"
+"\"disksneið\" (t.d., \"hda1\").\n"
+"\n"
+"\"Disktegund\" er \"hd\" ef disknum er stýrt með IDE stýringu og\n"
+"\"sd\" ef það er SCSI diskur.\n"
+"\n"
+"\"Disknúmer\" er alltaf bókstafur eftir \"hd\" eða \"sd\". Fyrir IDE\n"
+"diska:\n"
+"\n"
+" * \"a\" þýðir \"aðal (master) diskur á fyrstu IDE stýringu\";\n"
+"\n"
+" * \"b\" þýðir \"auka (slave) diskur fyrstu IDE stýringu\";\n"
+"\n"
+" * \"c\" þýðir \"aðal (master) diskur á annari IDE stýringu\";\n"
+"\n"
+" * \"d\" þýðir \"auka (slave) diskur annari IDE stýringu\";\n"
+"\n"
+"Á SCSI diskum, þýðir \"a\" \"lægsta SCSI ID\", \"b\" þýðir\n"
+"\"næst-lægsta SCSI ID\", o.s.frv.\n"
+"\n"
+"\"Windows nafn\" er bókstafurinn á disknum eins og það sést undir\n"
+"Windows (fyrsti diskurinn eða sneiðin er kölluð \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": athugið val lands. Ef valið land er ekki rétt smelltu þá\n"
+"á \"%s\" hnappinn og veldu annað. Ef landið þitt er ekki á listanum,\n"
+"smelltu þá á \"%s\" hnappinn til að sjá heildalista landa."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Þetta skref er aðeins virkjað ef GNU/Linux disksneið hefur fundist á\n"
+"tölvunni þinni.\n"
+"\n"
+"DrakX þarf nú að vita hvort þú vilt setja upp nýtt kerfi eða hvort þú\n"
+"vilt uppfæra uppsett Mandriva Linux kerfi:\n"
+"\n"
+" * \"%s\". Þetta þurkar að mestu út gamla kerfið. En þó fer það\n"
+"svolítið eftir diskssneiðum sem þú hefur sett upp, þá getur þú\n"
+"varnað því að gögn (fyrst og fremst \"home\" möppur) verði\n"
+"yfirskrifuð. Ef þú vilt breyta hvernig diskunum er skipt, eða breyta\n"
+"skráakerfinu, þá ættir þú að velja þennan valkost.\n"
+"\n"
+" * \"%s\". Þessi uppsetning leyfir þér að uppfæra pakkana sem nú\n"
+"eru uppsettir á Mandriva Linux kerfinu þínu. Disksneiðum og gögnum\n"
+"verður ekki breytt. Flest uppsetningarþrep eru enn aðgengileg\n"
+"og eru svipuð venjulegri uppfærslu.\n"
+"\n"
+"Að nota ``Uppfærslu'' aðgerðina ætti að virka vel á Mandriva Linux\n"
+"kerfum sem eru að keyra útgáfu \"8.1\" eða nýrri. Ekki er mælt með\n"
+"uppfærslu á eldri útgáfum en Mandriva Linux \"8.1\"."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Byggt á því tungumáli sem þú velur, þá mun DrakX sjálfkrafa velja\n"
+"lyklaborðs-uppsetningu. Athugaðu hvort valið hentar þér, eða veldu\n"
+"aðra lyklaborðs-uppsetningu.\n"
+"\n"
+"Einnig gæti verið að lyklaborðið henti ekki þínum þörfum eða tungumáli\n"
+"Ef t.d. þú vilt hafa aðgang að íslensku lyklaborði í Sviss. Eða danskt\n"
+"lyklaborð og íslenskt umhverfi. Almennt talað í þannig umhverfi\n"
+"að tungumál og valið lyklaborð passa ekki saman. Hvort sem þú\n"
+"vilt þá getur þú valið lyklaborð af listanum.\n"
+"\n"
+"Smelltu á \"%s\" hnappinn til að sjá lista af mögulegum lyklaborðs-"
+"uppsetningum.\n"
+"\n"
+"Ef þú velur lyklaborðs-uppsetningu sem er ekki byggt á latnesku\n"
+"stafrófi, þá mun næsti gluggi leyfa þér að velja lyklasamsetningu\n"
+"sem víxlar til og frá latneska lyklaborðinu."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Fyrsta þrepið er að velja æskilegt tungumál.\n"
+"\n"
+"Val þitt á æskilegu tungumáli hefur áhrif á uppsetningarforritið,\n"
+"handbækur, og stýrikerfið í heild sinni. Veldu fyrst hvaða svæði\n"
+"þú er búsettur á, síðan tungumál sem þú notar.\n"
+"\n"
+"Ef þú smellir á \"%s\" hnappinn þá getur þú valið önnur tungumál\n"
+"sem verða sett upp á vinnustöðina þína, þá verða skrár sem tengjast\n"
+"því tungumáli settar upp á tölvuna. Til dæmis ef spænskir notendur\n"
+"munu nota tölvuna þína, veldu þá Ensku sem aðaltungumál í\n"
+"valglugganum og \"%s\" í ítarlegri hlutanum.\n"
+"\n"
+"Um UTF-8 (unicode) stuðning: Unicode er ný stafakóðun sem\n"
+"tekur til allra tungumála. En fullur stuðningur fyrir þessa kóðun er\n"
+"enn á þróunarstigi fyrir GNU/Linux. Þess vegna ætti val þitt á\n"
+"að nota UTF-8 að byggja á eftirfarandi:\n"
+"\n"
+" * Ef þú velur tungumál sem hefur sterkan stuðning í venjulegri\n"
+"stafakóðun (latnesk-1 tungumál, Rússneska, Kínverska, Kóreanska,\n"
+"Tælenska, Gríska, Tyrkneska og flest iso-8859-2 tungumál),\n"
+"þá verður eldri stafakóðun valin sjálfgefið;\n"
+"\n"
+" * Önnur tungumál munu sjálfgefið nota unicode;\n"
+"\n"
+" * Ef tvö eða fleiri tungumál eru valin og þau nota ekki sömu kóðun\n"
+"þá verður unicode notað fyrir allt kerfið;\n"
+"\n"
+" * Að lokum, hægt er að þvinga notkun unicode alls staðar í\n"
+"kerfinu með því að velja \"%s\" valkostinn óháð því hvaða\n"
+"tungumál hafa verið valin.\n"
+"\n"
+"Athugið að þú ert ekki takmarkaður við að velja eitt aukalegt tungumál.\n"
+"Þú getur valið nokkur eða jafnvel valið þau öll með því að krossa við\n"
+"\"%s\" reitinn. Ef þú velur stuðning fyrir tungumál þýðir það að\n"
+"þýðingar, letur, stafsetningar-leiðréttingar o.s.frv. verða einnig\n"
+"sett inn fyrir þessi tungumál.\n"
+"\n"
+"Til að víxla milli mismunandi tungumála sem eru uppsett á kerfinu\n"
+"þínu, þá getur þú keyrt \"localedrake\" skipunina sem \"root\" til\n"
+"að breyta sjálfgefnu tunguáli fyrir allt kerfið. Ef þú keyrir skipunina\n"
+"sem venjulegur notandi þá mun það einungis breyta uppsetningu\n"
+"tungumáls fyrir þann notanda."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spænska"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Venjulega er DrakX ekki í neinum vandræðum með að finna fjölda hnappa\n"
+"á músinni þinni. Ef DrakX lendir í vandræðum gerir það ráð fyrir tveggja\n"
+"hnappa mús og mun setja upp þriggja hnappa hermi. Þriðja hnappinn\n"
+"á tveggja hnappa mús má fá fram með því að smella samtímis á hægri\n"
+"og vinstri hnappana. DrakX mun sjálfkrafa vita hvort músin þín notar\n"
+"PS/2- , rað- eða usb-tengi.\n"
+"\n"
+"Ef þú hefur þriggja hnappa mús án skrunhjóls, þá getur þú valið \"%s\"\n"
+"mús. DrakX mun þá stilla músina þína þannig að þú getir hermt eftir\n"
+"skrunhjóli með því. Til að gera það, smelltu á miðhnappinn og færðu\n"
+"músina upp og niður.\n"
+"\n"
+"Ef þú af einhverri ástæðu vilt skilgreina aðra tegund músar, veldu hana\n"
+"þá úr listanum.\n"
+"\n"
+"Þú getur valið \"%s\" færsluna til að velja ``almenna'' músartegund\n"
+"sem mun virka með flestum músum.\n"
+"\n"
+"Ef þú velur aðra mús en sjálfgefna, þá birtist prufuskjár. Notið hnappana\n"
+"og hólið til að staðfesta að stillingar séu réttar og músin virki rétt.\n"
+"Ef Músin virkar ekki rétt sláðu þá á bilslána eða [Enter] til að hætta\n"
+"prófuninni og þú færð aftur upp lista af músum.\n"
+"\n"
+"Það kemur fyrir að skrunhjóla-mýs séu ekki skynjaðar sjálfvirkt,\n"
+"svo þú verður að velja músina úr lista. Athugaðu vel að velja rétt\n"
+"tengi rað/PS-2/USB sem músin er tengd við. Eftir að þið hafið\n"
+"valið mús og smellt á \"%s\" hnappinn, þá birtist músamynd á\n"
+"skjánum. Notið skrunhjólið til að staðfesta að það sé virkjað rétt.\n"
+"Þegar þú hreyfir hjólið, mun músarhjólið á skjánum hreyfast.\n"
+"Prófaðu hnappana líka til og hreyfðu bendilinn á skjánum til að\n"
+"staðfest að allt virki rétt."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Með skrunhermi"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Almennt | Einhverjar PS/2 & USB mýs"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Veldu tengið sem þú vilt nota. Tengið \"COM1\" í Windows er kallað\n"
+"\"ttyS0\" í GNU/Linux, \"COM2\" er \"ttyS1\", o.s.frv."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Þetta er ein mest áríðandi ákvörðun sem þú tekur fyrir öryggi GNU/Linux\n"
+"kerfis. Þú verður að gefa upp lykilorð fyrir \"root\". \"root\" er "
+"kerfisstjóri\n"
+"og eini notandinn sem má framkvæma uppfærslur, bæta við notendum,\n"
+"breyta uppsetningu kerfisins, og svo framvegis. Í stuttu máli \"root\" má\n"
+"gera allt!. Þess vegna verður þú að velja lykilorð sem er erfitt að giska "
+"á.\n"
+"DrakX mun segja þér ef lykilorðið er of einfalt. Eins og þú sérð þá þarft\n"
+"þú ekki að slá inn lykilorð, en við ráðleggjum þér alls ekki að hafa það\n"
+"þannig. GNU/Linux er alveg eins viðkvæmt fyrir villum kerfisstjóra og\n"
+"önnur stýrikerfi. Þar sem \"root\" getur farið framhjá öllum takmörkunum\n"
+"og óvart eytt öllum gögnum á disksneiðum með því að vísa kæruleysislega\n"
+"í disksneiðarnar, Það er áríðandi að það sé ekki einfalt að verða \"root\"\n"
+"\n"
+"Lykilorðið ætti að vera blanda af bókstöfum og tölum og að minnsta\n"
+"kosti 8 stafa langt. Aldrei skrifa niður \"root\" lykilorðið -- Þá verður\n"
+"allt of auðvelt að brjótast inn í kerfið.\n"
+"\n"
+"Hafið lykilorðið heldur ekki of langt eða flókið því þú verður að muna það!\n"
+"\n"
+"Lykilorðið verður ekki birt á skjánum þegar þú slærð það inn. Til að\n"
+"minnka hættu á innsláttarvillu ert þú beðinn um að slá lykilorðið tvisvar.\n"
+"Ef þú gerir þá sömu innsláttar villuna tvisvar verður þú að nota þetta\n"
+"``ranga'' lykilorð í fyrsta sinn þegar þú tengist sem \"root\".\n"
+"\n"
+"Ef þú vilt nota auðkenningar-miðlara til að stjórna aðgangi að tölvunni\n"
+"þinni, smelltu þá á \"%s\" hnappinn.\n"
+"\n"
+"Ef þú notar LDAP, NIS eða PDC Windows Domain auðkenningar-\n"
+"þjónustur, veldu réttan valkost fyrir \"%s\". Ef þú veist ekki hvað\n"
+"þú átt að nota spurðu þá net-stjórnandann.\n"
+"\n"
+"Ef þú átt í vandræðum með að muna lykilorð, eða ef tölvan þín verður\n"
+"aldrei tengd Internetinu, og þú treystir algerlega öllum þeim sem koma\n"
+"að tölvunni þinni, þá getur þú valið að hafa \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "auðkenning"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ræsi-forrit er lítið forrit sem er ræst af tölvunni þegar kveikt er á \n"
+"tölvunni. Það er ábyrgt fyrir að ræsa síðan upp allt kerfið. Venjulega\n"
+"er uppsetning ræsiforritsins algerlega sjálfvirk. DrakX mun athuga\n"
+"ræsigeira disksins og haga aðgerðum eftir því:\n"
+"\n"
+" * Ef Windows ræsigeiri finnst, þá verður honum skipt út með GRUB/LILO\n"
+"ræsigeira. Þannig getur þú ræst annað hvort GNU/Linux eða annað\n"
+"stýrikerfi sem er uppsett á tölvunni þinni.\n"
+"\n"
+" * Ef GRUB eða LILO ræsigeiri finnst, þá verður honum skipt út með nýjum.\n"
+"\n"
+"Ef DrakX getur ekki ákveðið hvar á að setja ræsigeirann, þá munt þú\n"
+"verða spurður hvar eigi að setja hann. Almennt er \"%s\" öruggasti "
+"staðurinn\n"
+"Ef þú velur \"%s\", þá verður ekki sett inn neitt ræsiforrit. Gerðu\n"
+"það aðeins ef þú veist hvað þú ert að gera."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nú er komið að því að setja upp prentkerfi fyrir tölvuna þína. Önnur\n"
+"stýrikerfis bjóða þér kannski upp á eitt, en Mandriva Linux býður tvö.\n"
+"Hvort þeirra hefur sína kosti\n"
+"\n"
+" * \"%s\" -- sem er skammstöfun fyrir ``prenta ekki biðröð'' \n"
+"(print, do not queue) er rétti valkosturinn ef tölvan er beintengd\n"
+"við prentarann, og þú vilt geta stöðvað snarlega ef pappír festist\n"
+"eða flækist, eða ef þú hefur ekki nettengda prentara.\n"
+"(\"%s\" höndlar aðeins einföldustu nettengingar og er frekar hægvirkt\n"
+"ef það er notað á neti.) Það er þó mælt með að þú notir \"pdq\"\n"
+"ef þetta eru þín fyrstu kynni af GNU/Linux.\n"
+"\n"
+" * \"%s\" stendur fyrir `` Common Unix Printing System'' og er góður\n"
+"kostur hvort sem þú prentar á staðbundinn prentara eða á prentara\n"
+"sem er hinum megin á hnettinum. Það er einfalt að stilla og getur bæði\n"
+"verið miðlari og biðlari fyrir gamalkunnu \"lpd\" prentþjónustuna.\n"
+"Það er því samhæft við eldri stýrikerfi sem þurfa prentþjónustu.\n"
+"Þó að það sé mjög öflugt, þá er einfaldasta uppsetning næstum því\n"
+"eins einföld og \"pdq\". Ef þú þarft að herma eftir \"lpd\", mundu þá eftir\n"
+"að ræsa \"cups-lpd\" þjónustuna. \"%s\" er með myndrænt viðmót fyrir\n"
+"prentaraval og stjórnun á prentara.\n"
+"\n"
+"Hvað sem þú velur núna, þá getur þú breytt prentkerfinu með því að\n"
+"keyra PrinterDrake frá Mandriva Linux stjórnborðinu og smella á \"%s\"\n"
+"hnappinn."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Sérfræðingur"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mun fyrst leita að öllum IDE tækjum í tölvunni. Síðan er einnig\n"
+"leitað að einu eða fleiri SCSI kortum í tölvunni. Ef SCSI kort finnst þá\n"
+"mun DrakX mun sjálfkrafa setja inn rekil fyrir kortið.\n"
+"\n"
+"Af því að sjálfvirk vélbúnaðarleit er ekki gallalaus, þá finnur DrakX\n"
+"kannski ekki diskana í tölvunni. Ef svo er þá verður þú að skilgreina\n"
+"vélbúnaðinn handvirkt.\n"
+"\n"
+"Ef þú þarft að skilgreina handvirkt PCI SCSI stýringu, þá mun DrakX spyrja\n"
+"hvort þú viljir tilgreina viðföng fyrir kortið. Þú ættir að leyfa DrakX að\n"
+"kanna vélbúnaðinn til að stilla kortið sjálfkrafa. Oftast kemst DrakX\n"
+"áfram án aukalegra viðfanga.\n"
+"\n"
+"Ef DrakX finnur ekki hvaða breytur á að senda til kortsins þá verður þú að\n"
+"stilla kortið og viðföng þess handvirkt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ef hljóðkort finnst í tölvunni. þá verða upplýsingar um það sýndar\n"
+"hér. Ef þú sérð að hljóðkortið er ekki það sem er raunverulega í tölvunni,\n"
+"þá getur þú smellt á hnappinn hér og bent á annan rekil."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sýnir þér hér samantekt á upplýsingum sem það hefur\n"
+"safnað um tölvuna þína. Það fer síðan eftir því hvaða vélbúnaður er á "
+"vélinni\n"
+"þinni hvort þú sérð alla þá möguleika sem hér fara eftir. Hver færsla\n"
+"er samsett af vélbúnaði sem hægt er að stilla og samantekt um\n"
+"uppsetninguna. Smellið á tilsvarandi \"%s\" til að stilla þessa einingu.\n"
+"\n"
+" * \"%s\": athuga lyklaborðvörpun og breyta henni ef þörf krefur.\n"
+"\n"
+" * \"%s\": athuga landval. Ef valið land er ekki rétt, smelltu þá á\n"
+"\"%s\" hnappinn og veldu annað land. Ef landið er ekki á listanum\n"
+"smelltu þá á \"%s\" hnappinn til að sjá allann listann.\n"
+"\n"
+" * \"%s\": DrakX velur sjálfkrafa tímabelti eftir því landi sem þú hefur\n"
+"valið. Þú getur smellt á \"%s\" hnappinn er það er ekki rétt.\n"
+"\n"
+" * \"%s\": sýna núverandi músastillingar og smelltu á hnappinn til að\n"
+"breyta því ef þörf krefur.\n"
+"\n"
+" * \"%s\": með því að smella á \"%s\" hnappinn opnast prent-stillingar-\n"
+"ráðgjafi. Ráðfærið ykkur við viðeigandi kafla í ``Starter Guide'' varðandi\n"
+"frekari upplýsingar um hvernig á að setja upp nýjan prentara. Viðmótið\n"
+"sem sýnt er þar, er svipað því sem er notað í uppsetningunni.\n"
+"\n"
+" * \"%s\": Ef hljóðkort finnst á kerfinu þínu, þá verður það sýnt hér\n"
+"Ef þú tekur eftir því að það hljóðkort sem sýnt er hér, sé ekki það\n"
+"sem er í raun í kerfinu þínu, þá getur þú smellt á hnappinn og valið\n"
+"annann rekil.\n"
+"\n"
+" * \"%s\": Ef sjónvarpskort finnst í tölvunni þinni þá er það sýnt hér.\n"
+"Ef það er sjónvarpskort í tölvunni og það finnst ekki þá getur þú smellt\n"
+"á \"%s\" hnappinn og reynt að setja það inn handvirkt.\n"
+"\n"
+" * \"%s\": þú getur smellt á \"%s\" til að breyta stillingum á kortinu ef\n"
+"þér finnst að uppsetningin sé röng.\n"
+"\n"
+" * \"%s\": Sjálfgefið stillir DrakX skjákortið/skjáinn þinn í upplausnina\n"
+"\"800x600\" eða \"1024x768\". Ef það er ekki sú upplausn sem þú vilt\n"
+"nota smelltu þá á \"%s\" til að endurstilla skjáupplausnina.\n"
+"\n"
+" * \"%s\": Ef þú vilt stilla Internet eða aðrar nettengingar núna.\n"
+"Þá getur þú gert það hér. Skoðaðu handbókina eða notaðu Mandriva\n"
+"Linux stjórnborðið eftir að uppsetningu er lokið til að fá meiri hjálp.\n"
+"\n"
+" * \"%s\": leyfir þér að stilla vefsel og FTP-sel ef vélin sem þú ert að\n"
+"setja upp á að tengjast netinu um sel.\n"
+"\n"
+" * \"%s\": hér getur þú endurstillt öryggisþrep sem þú settir áður\n"
+"í fyrra þrepi ().\n"
+"\n"
+" * \"%s\": ef þú ætlar að tengja vélina þína Internetinu, þá er\n"
+"góð hugmynd að vernda vélina þína með því að setja upp eldvegg.\n"
+"Lestu viðeigandi kafla í um uppsetningu eldveggs í ``Starter Guide''.\n"
+"\n"
+" * \"%s\": ef þú vilt breyta stillingum ræsistjóra, smelltu á\n"
+"þennan hnapp. Þetta ætti þó ekki að gera nema af kunnugum.\n"
+"\n"
+" * \"%s\": hér getur þú fínstillt hvaða þjónustur verða ræstar á\n"
+"tölvunni þinni. Ef þú ætlar að nota þessa vél sem miðlara þá er góð\n"
+"hugmynd að fara vel yfir þessa uppsetningu."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN spjald"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Myndrænt viðmót"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Veldu diskinn sem þú vilt hreinsa allt af til að setja upp nýja\n"
+"Mandriva Linux disksneið. Varúð, öllum gögnum á disknum verður\n"
+"eytt, og það er ekki hægt að sækja þau aftur!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Smelltu á \"%s\" ef þú vilt eyða öllum gögnum og disksneiðum\n"
+"á þessum disk. Varúð! Eftir að þú hefur smellt á \"%s\", getur\n"
+"þú ekki endurheimt nein gögn eða disksneiðar sem eru nú á þessum diski,\n"
+"Þar með talin Windows gögn.\n"
+"\n"
+"Smelltu á \"%s\" til að stöðva þessa aðgerð án þess að tapa gögnum\n"
+"og disksneiðum sem nú eru á þessum diski."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Næsta ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Fyrra"
+
diff --git a/perl-install/install/help/po/it.po b/perl-install/install/help/po/it.po
new file mode 100644
index 000000000..17d962bc1
--- /dev/null
+++ b/perl-install/install/help/po/it.po
@@ -0,0 +1,2070 @@
+# translation of DrakX.po to Italian
+# translation of DrakX-it.po to Italiano
+# translation of DrakX-it.po to Italian
+# Copyright (C) 2000, 2001 Mandriva S.A.
+# Paolo Lorenzin <pasusu@tin.it>, 2000.
+# Simone Riccio <s.riccio@aeb-informatica.it>, 2002.
+# Roberto Rosselli Del Turco <rosselli@ling.unipi.it>, 2001, 2002,2003.
+# Marco De Vitis <mdv@spin.it>, 2003.
+# Andrea Celli <a.celli@caltanet.it>, 2003, 2004, 2005, 2006.
+# Giuseppe Levi <giuseppe.levi@email.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-it\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-02-03 21:33+0100\n"
+"Last-Translator: Andrea Celli <a.celli@caltanet.it>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Prima di proseguire dovresti leggere con attenzione le condizioni d'uso che\n"
+"riguardano l'intera distribuzione Mandriva Linux. Se sei d'accordo con\n"
+"tutti i termini della licenza clicca sul pulsante \"%s\". In caso contrario\n"
+"ti basterà un clic sul pulsante \"%s\" per riavviare il computer."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux è un sistema operativo multi-utente, ciò significa che ciascun\n"
+"utente può disporre di una configurazione personalizzata, di uno spazio per\n"
+"i propri file, e così via; consulta la ''Guida introduttiva'' per saperne di "
+"più.\n"
+"Ma, a differenza di \"root\", che è l'amministratore del sistema,\n"
+"gli utenti che aggiungerai adesso non avranno il diritto di cambiare\n"
+"nulla, se non i propri file e la propria configurazione. Dovrai crearne\n"
+"almeno uno per te stesso, da utilizzare per l'uso quotidiano: per quanto\n"
+"molto comodo, entrare nel sistema come \"root\" tutti i giorni potrebbe\n"
+"essere molto pericoloso! Anche un banale errore potrebbe significare un\n"
+"sistema non più in grado di funzionare correttamente. Se, invece,\n"
+"commetti un errore, anche grave, in qualità di utente normale, potrai forse\n"
+"perdere parte dei tuoi dati, ma non compromettere l'intero sistema.\n"
+"\n"
+"Nel primo campo inserisci il vero nome. Naturalmente questo non è\n"
+"un obbligo legale: puoi digitare quello che vuoi. Fatto questo, DrakX\n"
+"prenderà la prima parola che hai inserito nel campo di testo e la copierà\n"
+"alla voce \"%s\". Questo è il nome che l'utente dovrà usare per accedere al\n"
+"sistema, ma puoi modificarlo. Poi digita una password per questo utente.\n"
+"Ovviamente, dal punto di vista della sicurezza, la password di un utente\n"
+"non privilegiato non è cruciale come quella di \"root\", ma non c'è motivo\n"
+"di essere frettolosi: dopo tutto, si tratta della sicurezza dei tuoi file.\n"
+"\n"
+"Se clicchi su \"%s\", potrai poi aggiungere un altro utente, e altri "
+"ancora,\n"
+"a tua discrezione. Aggiungi un utente per ciascuno dei tuoi amici, oppure\n"
+"per tuo padre e tuo fratello, e così via. Dopo aver aggiunto\n"
+"tutti gli utenti che vuoi, seleziona \"%s\".\n"
+"\n"
+"Cliccando sul pulsante \"%s\" potrai cambiare la \"shell\" per\n"
+"quell'utente (quella predefinita è bash).\n"
+"\n"
+"Quando avrai finito di aggiungere utenti al sistema, ti verrà proposto di\n"
+"sceglierne uno per effettuare un login automatico ogni volta che il\n"
+"computer ha terminato la fase di boot. Se questa caratteristica ti\n"
+"interessa (e non tieni particolarmente alla sicurezza locale), scegli\n"
+"l'utente desiderato e l'ambiente grafico che preferisci, poi clicca su\n"
+"\"%s\". Se la cosa non ti interessa, rimuovi il segno di spunta dalla\n"
+"casella \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vuoi sfruttare questa possibilità?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"In alto puoi vedere l'elenco delle partizioni Linux individuate sul\n"
+"tuo disco rigido. Puoi attenerti alle scelte fatte dall'assistente,\n"
+"vanno bene per la maggior parte delle installazioni. Se fai dei\n"
+"cambiamenti, ricorda che devi definire per lo meno una partizione root\n"
+"(''radice'') (\"/\"). Non sceglierla troppo piccola, altrimenti non sarai\n"
+"in grado di installare parte del software. Se poi vuoi conservare i\n"
+"tuoi dati su una partizione separata, dovrai assegnare una partizione\n"
+"anche a \"/home\" (ciò è possibile soltanto se hai a disposizione più\n"
+"partizioni Linux).\n"
+"\n"
+"Ogni partizione è elencata in base a queste caratteristiche: \"Nome\",\n"
+"\"Capacità\".\n"
+"\n"
+"Il \"Nome\" è strutturato in: \"tipo di disco rigido\", \"numero del\n"
+"disco\", \"numero della partizione\" (ad esempio, \"hda1\").\n"
+"\n"
+"Il \"tipo di disco rigido\" è \"hd\" se il tuo disco è di tipo IDE, e\n"
+"\"sd\" se, invece, è un disco SCSI.\n"
+"\n"
+"Il \"numero del disco\" è sempre una lettera che segue \"hd\" o \"sd\". Per\n"
+"i dischi IDE:\n"
+"\n"
+" * \"a\" significa \"disco rigido master sul controller IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco rigido slave sul controller IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco rigido master sul controller IDE secondario\";\n"
+"\n"
+" * \"d\" significa \"disco rigido slave sul controller IDE secondario\".\n"
+"\n"
+"Per i dischi rigidi di tipo SCSI, invece, una \"a\" significa \"ID SCSI più\n"
+"basso\", una \"b\" significa \"ID SCSI immediatamente successivo ad a\",\n"
+"etc."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"La distribuzione Mandriva Linux è suddivisa su più CD-ROM. Se uno dei\n"
+"pacchetti selezionati si trova su un CD-ROM diverso da quello attualmente\n"
+"inserito nel lettore, DrakX provvederà a espellerlo e a chiedervi di\n"
+"inserire quello corretto. Se non avete a portata di mano il CD richiesto,\n"
+"basta cliccare su \"%s\", e i pacchetti corrispondenti non verranno\n"
+"installati."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Adesso è il momento di indicare i programmi che volete siano installati sul\n"
+"vostro sistema. Ci sono migliaia di pacchetti disponibili per\n"
+"Mandriva Linux, e sono stati suddivisi in gruppi in base al loro campo di\n"
+"utilizzo, in modo da facilitarne la gestione.\n"
+"\n"
+"I gruppi sono a loro volta suddivisi in quattro categorie. Potete\n"
+"selezionare i pacchetti di tutte le categorie indifferentemente, quindi una\n"
+"installazione di tipo \"Workstation\" può contenere anche programmi della\n"
+"categoria \"Server\".\n"
+"\n"
+" * \"%s\": scegliete uno o più gruppi da questa categoria se la vostra\n"
+"macchina dovrà essere utilizzata come postazione di lavoro tradizionale.\n"
+"\n"
+" * \"%s\": se pensate di usare il computer per la programmazione e lo\n"
+"sviluppo di software, selezionate i gruppi a voi necessari in questa\n"
+"categoria. Il gruppo speciale \"LSB\" serve per configurare il vostro\n"
+"sistema in modo che sia quanto più possibile conforme con le specifiche del\n"
+"Linux Standard Base.\n"
+"\n"
+" La selezione del gruppo \"LSB\" avrà come ulteriore effetto\n"
+"l'installazione di un kernel della serie \"2.4\", invece della \"2.6\" che\n"
+"costituisce l'opzione predefinita. Questo è necessario per avere una\n"
+"completa conformità del sistema con le specifiche LSB. Si noti, tuttavia,\n"
+"che anche se scegliete di non selezionare il gruppo \"LSB\", il vostro\n"
+"sistema sarà compatibile quasi al 100%% con LSB.\n"
+"\n"
+" * \"%s\": qui potrete scegliere i servizi più comuni da installare se il\n"
+"computer dovrà essere usato come server.\n"
+"\n"
+" * \"%s\": qui potrete scegliere il vostro ambiente grafico preferito.\n"
+"Dovete selezionarne almeno uno, se volete avere un sistema con interfaccia\n"
+"grafica.\n"
+"\n"
+"Spostando il puntatore del mouse sul nome di un gruppo verrà mostrato un\n"
+"breve testo di informazioni a riguardo.\n"
+"\n"
+"Se lo desiderate, potete abilitare l'opzione \"%s\", che può essere utile\n"
+"se conoscete bene i pacchetti presenti nella distribuzione o se desiderate\n"
+"avere il controllo totale di ciò che verrà installato.\n"
+"\n"
+"Se cominciate l'installazione in modalità \"%s\", potete deselezionare\n"
+"tutti i gruppi per evitare di installare nuovi pacchetti: questo metodo può\n"
+"tornare utile per effettuare la riparazione o l'aggiornamento di un sistema\n"
+"esistente.\n"
+"\n"
+"Se state effettuando un'installazione normale (non un aggiornamento) e\n"
+"deselezionate tutti i gruppi, comparirà una finestra di dialogo che vi\n"
+"proporrà alcune possibilità per eseguire una installazione minima:\n"
+"\n"
+" * \"%s\": installa i pacchetti strettamente necessari per avere un\n"
+"ambiente grafico funzionante;\n"
+"\n"
+" * \"%s\": installa il sistema base più i programmi fondamentali e la\n"
+"relativa documentazione; questo tipo di installazione può essere adatta per\n"
+"la configurazione di un server;\n"
+"\n"
+" * \"%s\": provvederà all'installazione dello stretto necessario per avere\n"
+"un sistema Linux funzionante, avente come unica interfaccia la riga di\n"
+"comando. Questo tipo di installazione occupa in totale circa 65 megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aggiornamento"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Con la documentazione essenziale"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installazione veramente minimale"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ora, se avete scelto di selezionare i pacchetti su base individuale,\n"
+"potrete vedere una struttura ad albero contenente tutti i pacchetti\n"
+"organizzati in gruppi e sottogruppi. Scorrendo questa lista gerarchica\n"
+"potete selezionare interi gruppi, sottogruppi o singoli pacchetti.\n"
+"\n"
+"Quando selezionate un pacchetto all'interno dell'albero ne compare una\n"
+"descrizione sulla destra, per aiutarvi a capire a cosa serva quel\n"
+"particolare pacchetto.\n"
+"\n"
+"!! Se avete selezionato un pacchetto che offre un servizio come server\n"
+"(intenzionalmente, oppure perché faceva parte di un gruppo), vi verrà\n"
+"chiesta conferma per la sua effettiva installazione. Come opzione\n"
+"predefinita, in Mandriva Linux tutti i servizi installati vengono attivati\n"
+"automaticamente all'avvio. Sebbene si tratti di servizi sicuri ed esenti da\n"
+"problemi noti al momento del rilascio della distribuzione, non è escluso\n"
+"che possano essere scoperte falle di sicurezza al loro interno dopo la\n"
+"pubblicazione di questa versione di Mandriva Linux. Quindi, se non avete\n"
+"idea di cosa faccia un particolare servizio o del perché debba essere\n"
+"installato, cliccate su \"%s\". Scegliendo \"%s\", invece, i servizi\n"
+"elencati saranno installati e attivati in automatico all'avvio del sistema.\n"
+"!!\n"
+"\n"
+"L'opzione \"%s\" vi permette di disabilitare la finestra di avvertimento\n"
+"che compare tutte le volte che il programma di installazione seleziona\n"
+"automaticamente qualche pacchetto per risolvere un problema di dipendenze.\n"
+"Alcuni pacchetti, infatti, dipendono da altri, e l'installazione di uno\n"
+"specifico pacchetto può richiedere l'installazione di un altro. Il\n"
+"programma può determinare in modo automatico quali altri pacchetti sono\n"
+"necessari per soddisfare una dipendenza in modo da portare a termine con\n"
+"successo l'installazione.\n"
+"\n"
+"La piccola icona a forma di dischetto in fondo alla lista vi permette di\n"
+"caricare un elenco di pacchetti scelti durante una precedente\n"
+"installazione. Può risultare utile, ad esempio, se avete la necessità di\n"
+"configurare allo stesso modo diverse macchine. Cliccando su questa icona vi\n"
+"verrà chiesto di inserire il dischetto creato alla fine di un'altra\n"
+"installazione. Leggete il relativo suggerimento nell'ultimo passo per\n"
+"sapere come creare questo dischetto."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dipendenze automatiche"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": cliccando sul pulsante \"%s\" sarà avviato l'assistente di\n"
+"configurazione della stampante. Consultate il relativo capitolo della\n"
+"\"Guida introduttiva\" per avere maggiori informazioni su come configurare\n"
+"una nuova stampante. L'interfaccia descritta in tale sede è simile a quella\n"
+"utilizzata nel corso dell'installazione."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Qui potete scegliere i servizi da attivare automaticamente all'avvio del\n"
+"sistema.\n"
+"\n"
+"DrakX elencherà tutti i servizi disponibili con l'installazione attuale.\n"
+"Esaminateli attentamente e disabilitate quelli che non sono necessari\n"
+"all'avvio.\n"
+"\n"
+"Selezionando un servizio comparirà un breve testo che ne spiega le\n"
+"caratteristiche. Se non siete sicuri dell'utilità o meno di un servizio, è\n"
+"meglio non modificare la relativa impostazione predefinita.\n"
+"\n"
+"!! In questa fase dell'installazione dovete fare le vostre scelte con\n"
+"particolare attenzione nel caso intendiate usare il vostro computer come\n"
+"server: vi conviene evitare di attivare servizi di cui non avete bisogno.\n"
+"Ricordate che molti servizi sono potenzialmente pericolosi, se attivi su un\n"
+"server. Come regola generale, attivate soltanto quelli di cui avete\n"
+"veramente bisogno. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux gestisce il tempo in base al GMT (\"Greenwich Mean Time\") e lo\n"
+"traduce nell'ora locale secondo il fuso orario selezionato. Tuttavia, se\n"
+"l'orologio della scheda madre è regolato sull'orario locale, è possibile\n"
+"disabilitare questa opzione togliendo il segno di spunta alla casella\n"
+"\"%s\", in modo da indicare a GNU/Linux che l'orologio hardware e quello di\n"
+"sistema operano nello stesso fuso orario. Questa scelta può tornare utile\n"
+"nel caso sulla macchina sia installato anche un altro sistema operativo.\n"
+"\n"
+"L'opzione \"%s\" farà in modo che l'orario venga automaticamente regolato\n"
+"connettendosi via Internet con un \"time server\". Perché questa opzione\n"
+"funzioni, naturalmente, dovrete disporre di una connessione a Internet\n"
+"funzionante. Vi consigliamo di scegliere un server vicino a voi. Questa\n"
+"opzione installerà nel sistema un vero e proprio time server, che potrà\n"
+"essere a sua volta usato anche da altre macchine che si trovino sulla\n"
+"stessa rete locale."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronizzazione automatica dell'orario"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Scheda grafica\n"
+"\n"
+" Il programma di installazione provvederà a identificare e configurare\n"
+"automaticamente la scheda grafica installata sul computer. In caso\n"
+"contrario, potete scegliere da questo elenco la scheda che è effettivamente\n"
+"installata.\n"
+"\n"
+" Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (abbreviazione per \"X Window System\") è il cuore dell'interfaccia\n"
+"grafica di GNU/Linux, sul quale sono basati tutti gli ambienti grafici\n"
+"inclusi in Mandriva Linux (KDE, GNOME, AfterStep, WindowMaker, etc.).\n"
+"\n"
+"Vi verrà mostrata una lista dei parametri da configurare in modo da avere\n"
+"la miglior visualizzazione possibile:\n"
+"\n"
+"Scheda grafica\n"
+"\n"
+" Il programma di installazione provvederà a identificare e configurare\n"
+"automaticamente la scheda grafica installata sul computer. In caso\n"
+"contrario, potete scegliere da questo elenco la scheda che è effettivamente\n"
+"installata.\n"
+"\n"
+" Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Il programma di installazione in genere identifica e configura\n"
+"automaticamente il monitor connesso al computer. Se così non fosse, anche\n"
+"in questo caso potete scegliere da una lista il tipo di monitor in vostro\n"
+"possesso.\n"
+"\n"
+"\n"
+"\n"
+"Risoluzione\n"
+"\n"
+" Qui potete scegliere risoluzione e profondità di colore tra quelle\n"
+"disponibili per il vostro hardware. Scegliete le impostazioni che meglio si\n"
+"adattano alle vostre necessità (potrete cambiare la configurazione anche\n"
+"dopo l'installazione, comunque). All'interno della figura del monitor è\n"
+"rappresentato un esempio della configurazione selezionata.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Questa voce potrebbe non comparire, con alcuni tipi di hardware.\n"
+"\n"
+" Il sistema tenterà di aprire uno schermo grafico alla risoluzione\n"
+"specificata. Se potete vedere il messaggio durante il test e rispondete\n"
+"\"%s\", allora DrakX passerà alla fase successiva. Se non potete vedere il\n"
+"messaggio, significa che la configurazione ottenuta con l'identificazione\n"
+"automatica non è corretta in qualche punto: il test terminerà\n"
+"automaticamente dopo 12 secondi, e vi riporterà al menu. Cambiate le\n"
+"impostazioni fino a ottenere una visualizzazione grafica corretta.\n"
+"\n"
+"\n"
+"\n"
+"Opzioni\n"
+"\n"
+" Qui potete scegliere se avviare automaticamente l'interfaccia grafica\n"
+"subito dopo l'avvio del sistema. Ovviamente è opportuno rispondere \"%s\"\n"
+"nel caso in cui la macchina debba funzionare da server, oppure se non siete\n"
+"riusciti a configurare correttamente il server grafico."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Il programma di installazione di solito identifica e configura\n"
+"automaticamente il monitor connesso al tuo computer. Se fallisce,\n"
+"puoi scegliere da questa lista il tipo di monitor che hai effettivamente."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Risoluzione\n"
+"\n"
+" Qui puoi scegliere risoluzione e profondità di colore tra quelle\n"
+"disponibili per il tuo hardware. Scegli le impostazioni più adatte\n"
+"alle tue esigenze (potrai sempre cambiare la configurazione anche\n"
+"ad installazione finita). Sul monitor è visibile un'immagine di\n"
+"anteprima della configurazione selezionata."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Se per la vostra scheda sono disponibili più server grafici, con e senza\n"
+"accelerazione 3D, vi verrà chiesto di scegliere il server che meglio si\n"
+"adatta alle vostre necessità."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opzioni\n"
+"\n"
+" Qui potete scegliere se avviare automaticamente l'interfaccia grafica\n"
+"subito dopo l'avvio del sistema. Ovviamente è opportuno rispondere \"%s\"\n"
+"nel caso in cui la macchina debba funzionare da server, oppure se non siete\n"
+"riusciti a configurare correttamente il server grafico."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"A questo punto dovete scegliere in quali punti del vostro disco rigido\n"
+"installare il sistema operativo Mandriva Linux. Se il disco è vuoto, o se\n"
+"tutto lo spazio disponibile è occupato da un altro sistema operativo già\n"
+"installato, allora dovrete creare o modificare le partizioni. In breve,\n"
+"partizionare un disco rigido consiste nel suddividerlo logicamente in più\n"
+"zone in maniera da creare lo spazio necessario all'installazione di\n"
+"Mandriva Linux.\n"
+"\n"
+"Dato che gli effetti del partizionamento sono di solito irreversibili, e\n"
+"possono causare la perdita di dati, questa operazione può intimidire e\n"
+"rivelarsi stressante per un utente inesperto. Per fortuna DrakX mette a\n"
+"vostra disposizione un assistente che semplifica questa procedura. Prima di\n"
+"cominciare leggete attentamente questa sezione e, soprattutto, fate le cose\n"
+"con calma.\n"
+"\n"
+"In base alla configurazione del vostro disco rigido, saranno disponibili\n"
+"diverse opzioni:\n"
+"\n"
+" * \"%s\": questa opzione causerà un partizionamento automatico dello\n"
+"spazio libero all'interno del vostro disco rigido (o dei dischi, se ne\n"
+"avete più di uno). Non vi verrà posta nessun'altra domanda.\n"
+"\n"
+" * \"%s\": l'assistente ha trovato una o più partizioni Linux già presenti\n"
+"sul vostro disco rigido. Scegliete questa opzione se desiderate usarle. Vi\n"
+"verrà chiesto di scegliere il punto di mount associato a ciascuna\n"
+"partizione: come opzione predefinita verranno selezionati i punti di mount\n"
+"precedenti e, in genere, è buona norma non modificarli.\n"
+"\n"
+" * \"%s\": se Microsoft Windows è installato sul vostro disco rigido e\n"
+"occupa tutto lo spazio disponibile, dovrete creare spazio libero per\n"
+"GNU/Linux. Per farlo potete ridimensionare la partizione FAT o NTFS su cui\n"
+"è installato Windows, oppure cancellare completamente la partizione e tutti\n"
+"i dati in essa contenuti (ricorrendo all'opzione \"Cancella l'intero\n"
+"disco\"). Il ridimensionamento può essere effettuato evitando la perdita di\n"
+"dati, a patto che prima di procedere la partizione Windows sia stata\n"
+"deframmentata. Vi consigliamo caldamente di fare comunque una copia di\n"
+"sicurezza dei vostri dati. Questa è la soluzione consigliata se desiderate\n"
+"usare sia Mandriva Linux che Microsoft Windows sullo stesso computer.\n"
+"\n"
+" Prima di scegliere questa opzione, tenete presente che le dimensioni\n"
+"della partizione su cui risiede Windows saranno ridotte rispetto a quelle\n"
+"iniziali. Ciò significa che avrete meno spazio libero su Windows per\n"
+"archiviare i vostri dati o installare nuovo software.\n"
+"\n"
+" * \"%s\": se desiderate cancellare tutti i dati e tutte le partizioni\n"
+"presenti sul vostro disco rigido e rimpiazzarli con il vostro nuovo sistema\n"
+"Mandriva Linux, potete selezionare questa opzione. Fate molta attenzione,\n"
+"perché dopo aver dato conferma non potrete più tornare indietro.\n"
+"\n"
+" !! Se scegliete questa opzione tutti i dati sul vostro disco saranno\n"
+"cancellati. !!\n"
+"\n"
+" * \"%s\": questa opzione compare quando il disco rigido è interamente\n"
+"occupato da Windows. Se scegliete questa opzione tutto quello che si trova\n"
+"sul disco verrà cancellato e potrete ricominciare da capo, creando le\n"
+"partizioni come se fosse la prima volta.\n"
+"\n"
+" !! Se scegliete questa opzione tutti i dati sul vostro disco saranno\n"
+"cancellati. !!\n"
+"\n"
+" * \"%s\": se volete partizionare manualmente il vostro disco rigido potete\n"
+"scegliere questa opzione. Fate attenzione: è una opzione potente, ma molto\n"
+"pericolosa, e potreste facilmente causare la perdita di tutti i vostri\n"
+"dati. Pertanto la suggeriamo soltanto nel caso abbiate già fatto qualcosa\n"
+"di simile in precedenza e abbiate una certa esperienza. Per ulteriori\n"
+"informazioni riguardo il funzionamento del programma DiskDrake, consultate\n"
+"la sezione \"Gestione delle partizioni\" della \"Guida introduttiva\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usa partizioni esistenti"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Cancella l'intero disco"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ecco fatto: l'installazione è terminata, e il vostro sistema GNU/Linux è\n"
+"pronto per essere usato. Dovete soltanto cliccare sul pulsante \"%s\" per\n"
+"riavviare il sistema. Non dimenticate di rimuovere il disco di\n"
+"installazione (CD-ROM o floppy). La prima cosa che vedrete, non appena il\n"
+"computer avrà terminato di effettuare i test relativi all'avvio, è il menu\n"
+"del \"bootloader\", che vi permetterà di scegliere il sistema operativo da\n"
+"avviare.\n"
+"\n"
+"Cliccando sul pulsante \"%s\" compariranno altri due pulsanti:\n"
+"\n"
+" * \"%s\": per creare un floppy di installazione che permette di eseguire\n"
+"automaticamente un'installazione completa, del tutto simile a quella che\n"
+"avete appena finito di configurare, senza che sia necessario l'intervento\n"
+"di un operatore.\n"
+"\n"
+" Si noti che, dopo aver cliccato sul pulsante, saranno disponibili due\n"
+"opzioni diverse:\n"
+"\n"
+" * \"%s\": questa è un'installazione automatizzata solo in parte, in\n"
+"quanto la fase di partizionamento del disco (e solo quella) resta\n"
+"interattiva.\n"
+"\n"
+" * \"%s\": l'installazione è completamente automatizzata: il disco\n"
+"rigido viene sovrascritto per intero, tutti i dati che contiene andranno\n"
+"persi.\n"
+"\n"
+" Questa caratteristica è molto utile quando si deve installare il sistema\n"
+"su un gran numero di macchine dalle caratteristiche simili. Si veda la\n"
+"sezione Installazione automatica sul nostro sito web per ulteriori\n"
+"informazioni.\n"
+"\n"
+" * \"%s\"(*): salva la selezione dei pacchetti effettuata durante\n"
+"l'installazione. Al momento di effettuare un'altra installazione potrete\n"
+"inserire il dischetto nel lettore e installare il sistema richiamando la\n"
+"schermata di aiuto (premendo [F1]) e digitando >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Sarà necessario un dischetto formattato con il filesystem FAT; per\n"
+"crearne uno con GNU/Linux digitate \"mformat a:\", o \"fdformat /dev/fd0\"\n"
+"seguito da \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Crea il floppy di installazione automatica"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se avete scelto di riutilizzare una o più partizioni GNU/Linux\n"
+"preesistenti, potreste volerne formattare qualcuna per cancellare i dati\n"
+"contenuti. In tal caso, selezionate anche quelle partizioni.\n"
+"\n"
+"Tenete presente che non è necessario formattare tutte le partizioni\n"
+"preesistenti. La formattazione è necessaria per le partizioni che\n"
+"contengono il sistema operativo (come \"/\", \"/usr\" o \"/var\"), ma\n"
+"potete evitare di formattare quelle che contengono dati che desiderate\n"
+"conservare (tipicamente \"/home\").\n"
+"\n"
+"Fate molta attenzione nella scelta delle partizioni: dopo la formattazione\n"
+"tutti i dati in esse contenuti saranno cancellati e non potrete più\n"
+"recuperarli.\n"
+"\n"
+"Cliccate su \"%s\" quando siete pronti ad avviare la formattazione.\n"
+"\n"
+"Cliccate su \"%s\" se desiderate installare il vostro nuovo sistema\n"
+"operativo Mandriva Linux su partizioni diverse da quelle selezionate.\n"
+"\n"
+"Cliccate su \"%s\" se desiderate selezionare alcune delle partizioni\n"
+"affinché venga controllata la presenza di eventuali blocchi danneggiati su\n"
+"di esse."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"È molto probabile che, al momento in cui installate Mandriva Linux, alcuni\n"
+"pacchetti siano stati aggiornati rispetto alla versione iniziale;\n"
+"potrebbero essere stati corretti degli errori, o risolti eventuali problemi\n"
+"relativi alla sicurezza. Per permettervi di beneficiare di questi\n"
+"aggiornamenti vi verrà proposto di scaricare la nuova versione dei\n"
+"pacchetti usando Internet. Scegliete \"%s\" se disponete di una connessione\n"
+"a Internet funzionante, oppure \"%s\" se preferite installare i pacchetti\n"
+"aggiornati in un secondo momento.\n"
+"\n"
+"Se scegliete \"%s\" comparirà un elenco di siti da cui poter scaricare i\n"
+"pacchetti aggiornati; dovreste scegliere il sito a voi più vicino.\n"
+"Comparirà quindi un elenco gerarchico grazie al quale potrete selezionare i\n"
+"pacchetti da aggiornare: controllate le vostre scelte e cliccate su \"%s\"\n"
+"per scaricare e installare i pacchetti selezionati, o su \"%s\" per\n"
+"annullare l'operazione."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"A questo punto, DrakX vi permette di scegliere il livello di sicurezza da\n"
+"impostare sul sistema. Come regola generale, quanto più la macchina sarà\n"
+"esposta a Internet e quanto più sono importanti i dati che dovrà contenere,\n"
+"tanto più alto dovrebbe essere il livello di sicurezza. Tenete presente,\n"
+"tuttavia, che a un livello di sicurezza più alto corrisponde in genere una\n"
+"minore facilità d'uso.\n"
+"\n"
+"Se non sapete quale scelta fare, utilizzate l'impostazione predefinita.\n"
+"Potrete comunque cambiare in seguito il livello di sicurezza usando\n"
+"draksec, uno strumento del Mandriva Linux Control Center.\n"
+"\n"
+"Nel campo \"%s\" inserite l'indirizzo email dell'utente che sarà\n"
+"responsabile per la sicurezza: tutti i messaggi relativi alla sicurezza\n"
+"verranno inviati a lui."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Amministratore per la sicurezza"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"A questo punto, dovete decidere quali partizioni devono essere usate per\n"
+"l'installazione del vostro sistema Mandriva Linux. Se sono già state\n"
+"definite delle partizioni, grazie a una precedente installazione di\n"
+"GNU/Linux o usando un altro programma di partizionamento, potete utilizzare\n"
+"quelle. In caso contrario, sarà necessario creare o modificare le\n"
+"partizioni del disco rigido.\n"
+"\n"
+"Per creare delle partizioni dovete, per prima cosa, selezionare un disco\n"
+"rigido. Potete scegliere il disco da partizionare cliccando su ''hda'' per\n"
+"il primo disco IDE, ''hdb'' per il secondo, ''sda'' per il primo disco\n"
+"SCSI, e così via.\n"
+"\n"
+"Per partizionare il disco selezionato potete scegliere fra le seguenti\n"
+"opzioni:\n"
+"\n"
+" * \"%s\": questa opzione cancella tutte le partizioni presenti sul disco\n"
+"selezionato.\n"
+"\n"
+" * \"%s\": vi permette di creare automaticamente partizioni ext3 e di swap\n"
+"nello spazio libero presente sul vostro disco rigido.\n"
+"\n"
+"\"%s\": permette di accedere a ulteriori funzionalità:\n"
+"\n"
+" * \"%s\": salva la tabella delle partizioni su un floppy, in modo da\n"
+"poterla recuperare in un secondo momento, in caso di problemi. Vi\n"
+"raccomandiamo caldamente di effettuare questa operazione.\n"
+"\n"
+" * \"%s\": permette di ripristinare una tabella delle partizioni\n"
+"precedentemente salvata su floppy disk.\n"
+"\n"
+" * \"%s\": se la vostra tabella delle partizioni è danneggiata potete\n"
+"provare a recuperarla grazie a questa opzione. Procedete con attenzione, e\n"
+"ricordate che non sempre funziona.\n"
+"\n"
+" * \"%s\": annulla tutte le modifiche e ricarica la tabella delle\n"
+"partizioni originaria dal disco.\n"
+"\n"
+" * \"%s\": se disabilitate questa opzione gli utenti saranno costretti a\n"
+"montare e smontare manualmente i filesystem dei dispositivi rimovibili,\n"
+"come floppy e CD-ROM.\n"
+"\n"
+" * \"%s\": usate questa opzione per effettuare il partizionamento del disco\n"
+"con l'aiuto di un assistente. È consigliabile farlo se non avete una buona\n"
+"conoscenza delle procedure di partizionamento.\n"
+"\n"
+" * \"%s\": usate questo pulsante per annullare le modifiche apportate, una\n"
+"per volta.\n"
+"\n"
+" * \"%s\": permette di effettuare ulteriori azioni sulle partizioni (scelta\n"
+"del tipo, opzioni, formattazione) e offre più informazioni.\n"
+"\n"
+" * \"%s\": quando avrete finito il partizionamento cliccate qui, e le\n"
+"vostre modifiche verranno salvate sul disco.\n"
+"\n"
+"Durante la modifica delle dimensioni di una partizione, potete utilizzare i\n"
+"tasti cursore della tastiera per impostare con precisione i valori\n"
+"desiderati.\n"
+"\n"
+"Si noti che è possibile accedere a tutti i comandi tramite la tastiera: per\n"
+"spostarvi fra le partizioni usate i tasti [Tab] e i tasti cursore [Su/Giù].\n"
+"\n"
+"Dopo aver selezionato una partizione potete usare:\n"
+"\n"
+" * Ctrl-c per creare una nuova partizione (se avete selezionato uno spazio\n"
+"vuoto);\n"
+"\n"
+" * Ctrl-d per cancellare una partizione;\n"
+"\n"
+" * Ctrl-m per impostare il punto di mount.\n"
+"\n"
+"Per ulteriori informazioni in merito ai diversi tipi di filesystem\n"
+"disponibili, consultate il capitolo ext2FS del ''Manuale di riferimento''.\n"
+"\n"
+"Se state effettuando l'installazione su una macchina PPC, sarà meglio\n"
+"creare una piccola partizione HFS di ''bootstrap'' di almeno 1 MB, che\n"
+"verrà utilizzata dal bootloader yaboot. Se decidete di creare una\n"
+"partizione più grande, diciamo sui 50 MB, essa potrebbe rappresentare un\n"
+"utile deposito in cui conservare un kernel di riserva e immagini di avvio\n"
+"da utilizzare in caso di emergenza."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Mount automatico di supporti rimovibili"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Scambio tra modo normale e esperto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sul vostro disco rigido è stata individuata più di una partizione\n"
+"Microsoft. Scegliete quella che deve essere ridimensionata in modo da poter\n"
+"installare il vostro nuovo sistema operativo Mandriva Linux.\n"
+"\n"
+"Ogni partizione è elencata in questo modo: \"nome Linux\", \"nome Windows\"\n"
+"\"Dimensione\".\n"
+"\n"
+"Il \"nome Linux\" è composto da: \"tipo di disco rigido\", \"numero del\n"
+"disco\", \"numero della partizione\" (ad esempio, \"hda1\").\n"
+"\n"
+"Il \"tipo di disco rigido\" è \"hd\" se il disco è di tipo IDE, e \"sd\"\n"
+"se, invece, è un disco SCSI.\n"
+"\n"
+"Il \"numero del disco\" è sempre una lettera che segue \"hd\" o \"sd\". Per\n"
+"i dischi IDE:\n"
+"\n"
+" * \"a\" significa \"disco master sul canale IDE primario\";\n"
+"\n"
+" * \"b\" significa \"disco slave sul canale IDE primario\";\n"
+"\n"
+" * \"c\" significa \"disco master sul canale IDE secondario\";\n"
+"\n"
+" * \"d\" significa \"disco slave sul canale IDE secondario\".\n"
+"\n"
+"Per i dischi di tipo SCSI, invece, una \"a\" rappresenta \"l'ID SCSI più\n"
+"basso\", una \"b\" indica \"il secondo ID SCSI a partire dal basso\", etc.\n"
+"\n"
+"Il \"nome Windows\" è la lettera con cui viene indicato il vostro disco\n"
+"rigido su Windows (il primo disco o partizione è denominato \"C:\")."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": controllate la selezione attuale della nazione. Se non corrisponde\n"
+"a quella in cui vivete, cliccate sul pulsante \"%s\" e indicate quella\n"
+"corretta. Se la vostra nazione non è nella prima lista che verrà mostrata,\n"
+"cliccate su \"%s\" per avere la lista completa."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Questo passo viene eseguito soltanto se sulla vostra macchina viene trovata\n"
+"una partizione GNU/Linux preesistente.\n"
+"\n"
+"A questo punto DrakX ha bisogno di sapere se intendete effettuare una nuova\n"
+"installazione o un aggiornamento di un sistema Mandriva Linux esistente:\n"
+"\n"
+" * \"%s\": nella maggior parte dei casi cancella completamente il vecchio\n"
+"sistema. Tuttavia, in base allo schema di partizionamento usato, potete\n"
+"evitare di scrivere sui vostri dati attuali (in particolare le directory\n"
+"\"home\"). Dovreste usare questa opzione se volete modificare le partizioni\n"
+"dei vostri dischi o cambiarne i filesystem.\n"
+"\n"
+" * \"%s\": questo tipo di installazione vi permette di effettuare un\n"
+"semplice aggiornamento dei pacchetti già installati sul vostro sistema\n"
+"Mandriva Linux. Tutte le partizioni attuali del disco rigido vengono\n"
+"conservate, come pure le configurazioni e i dati individuali degli utenti.\n"
+"La maggior parte degli altri passi relativi alla configurazione restano\n"
+"disponibili, come per una installazione normale.\n"
+"\n"
+"L'opzione \"Aggiornamento\" non dovrebbe comportare difficoltà per sistemi\n"
+"Mandriva Linux a partire dalla versione \"8.1\", mentre non è consigliabile\n"
+"utilizzarla per aggiornare versioni di Mandriva Linux precedenti la \"8.1\"."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX selezionerà automaticamente una particolare configurazione della\n"
+"tastiera in base alla lingua che avete scelto al punto . Controllate che la\n"
+"selezione sia quella giusta per voi, e in caso contrario modificatela.\n"
+"\n"
+"Inoltre, potreste anche avere una tastiera che non corrisponde esattamente\n"
+"alla vostra lingua: se siete un francese che parla italiano, ad esempio,\n"
+"potreste avere una tastiera francese. Oppure, se siete italiani ma vivete\n"
+"nel Québec, potreste trovarvi nella stessa situazione, con una tastiera non\n"
+"corrispondente alla vostra lingua nativa. In qualsiasi caso, questo passo\n"
+"dell'installazione vi permette di selezionare una tastiera appropriata\n"
+"dalla lista.\n"
+"\n"
+"Cliccate sul pulsante \"%s\" per vedere l'elenco completo delle tastiere\n"
+"supportate.\n"
+"\n"
+"Se scegliete una mappa di tastiera basata su di un alfabeto non latino,\n"
+"nella finestra di dialogo successiva vi verrà chiesto di scegliere una\n"
+"scorciatoia da tastiera che vi permetterà in seguito di passare dalla mappa\n"
+"latina a quella non latina e viceversa."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Il primo passo è scegliere la lingua che preferite usare.\n"
+"\n"
+"La lingua che sceglierete a questo punto sarà utilizzata per la procedura\n"
+"di installazione, per la documentazione e per il sistema in generale. Per\n"
+"prima cosa selezionate l'area geografica in cui vivete, e poi la vostra\n"
+"lingua.\n"
+"\n"
+"Cliccando sul pulsante \"%s\" potrete scegliere altre lingue da installare\n"
+"sul computer. La selezione di altre lingue comporta l'installazione dei\n"
+"file relativi alla documentazione e alle applicazioni per ciascuna di esse.\n"
+"Ad esempio, se il vostro computer dovrà essere usato anche da persone di\n"
+"madre lingua spagnola, potete scegliere l'italiano come lingua predefinita\n"
+"nella struttura ad albero e, nella sezione \"Avanzato\", selezionare anche\n"
+"\"%s\".\n"
+"\n"
+"Riguardo al supporto UTF-8 (Unicode): Unicode è un nuovo standard per la\n"
+"codifica dei caratteri, progettato per supportare tutte le lingue\n"
+"esistenti. Il suo supporto su GNU/Linux è ancora in fase di sviluppo, e per\n"
+"questo motivo la sua attivazione su Mandriva Linux dipenderà dalle scelte\n"
+"effettuate dall'utente:\n"
+"\n"
+" * se scegliete lingue fortemente legate alle vecchie codifiche (lingue del\n"
+"gruppo latin1, russo, giapponese, cinese, coreano, tailandese, greco, turco\n"
+"e la maggior parte delle lingue iso-8859-2), come impostazione predefinita\n"
+"sarà usata la vecchia codifica;\n"
+"\n"
+" * per le altre lingue sarà usato Unicode come impostazione predefinita;\n"
+"\n"
+" * se vengono installate due o più lingue, e le lingue scelte non\n"
+"utilizzano la stessa codifica, allora per l'intero sistema sarà usato\n"
+"Unicode;\n"
+"\n"
+" * infine, l'uso di Unicode per l'intero sistema può anche essere imposto\n"
+"dall'utente tramite l'opzione \"%s\", indipendentemente dalle lingue\n"
+"selezionate.\n"
+"\n"
+"Va sottolineato che non siete limitati alla scelta di una sola lingua\n"
+"supplementare: potete sceglierne quante volete, o persino installarle tutte\n"
+"grazie all'opzione \"%s\". La scelta del supporto per una particolare\n"
+"lingua implica l'installazione di traduzioni, caratteri, strumenti di\n"
+"controllo ortografico e tutto ciò che riguarda quella lingua.\n"
+"\n"
+"Per passare da una lingua all'altra fra quelle installate potete utilizzare\n"
+"il comando \"localedrake\": usandolo come \"root\" cambierete la\n"
+"lingua utilizzata in tutto il sistema, mentre come utente normale\n"
+"cambierete solamente la lingua usata da quell'utente."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spagnolo"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"In genere DrakX individua automaticamente il numero di pulsanti presenti\n"
+"sul vostro mouse; in caso contrario, supporrà che si tratti di un mouse a\n"
+"due tasti, e lo imposterà in modo da simulare il terzo tasto. Con un mouse\n"
+"a due tasti è infatti possibile simulare la pressione del terzo tasto\n"
+"premendo contemporaneamente il tasto sinistro e quello destro. DrakX,\n"
+"inoltre, distingue automaticamente tra mouse con interfaccia PS/2, seriale\n"
+"o USB.\n"
+"\n"
+"Se avete un mouse a tre tasti ma senza rotellina, potete scegliere un mouse\n"
+"\"%s\": DrakX, in tal caso, configurerà il mouse in modo che possiate\n"
+"simulare la rotellina, premendo il tasto centrale e spostando il mouse\n"
+"verso l'alto o verso il basso.\n"
+"\n"
+"Se per qualche ragione volete specificare un diverso tipo di mouse,\n"
+"scegliete il modello desiderato dall'elenco che vi viene proposto.\n"
+"\n"
+"Potete selezionare la voce \"%s\" per scegliere un tipo di mouse\n"
+"\"generico\" che vi permetterà di utilizzare quasi tutti i mouse esistenti.\n"
+"\n"
+"Se scegliete un mouse diverso dal tipo suggerito, vi verrà mostrata una\n"
+"finestra dove potrete provarlo. Provate sia i pulsanti, sia l'eventuale\n"
+"rotellina, per controllare che la configurazione sia corretta e che il\n"
+"mouse funzioni a dovere. Se il mouse non dovesse funzionare correttamente,\n"
+"premete la barra spaziatrice o il tasto [Invio] per uscire dal test e\n"
+"tornare all'elenco dei mouse.\n"
+"\n"
+"Talvolta i mouse con rotellina centrale potrebbero non essere individuati\n"
+"automaticamente; in tal caso, dovrete selezionare personalmente dall'elenco\n"
+"il modello giusto. Assicuratevi di sceglierne uno corrispondente alla porta\n"
+"alla quale è collegato il vostro mouse. Dopo aver selezionato un modello\n"
+"premete il pulsante \"%s\", e comparirà l'immagine di un mouse. Muovete la\n"
+"rotellina per controllare che funzioni a dovere: mentre la muovete, vedrete\n"
+"muoversi quella sullo schermo; poi provate i pulsanti e controllate che il\n"
+"puntatore si muova correttamente sullo schermo quando muovete il mouse."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "con emulazione rotellina"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universale | Qualsiasi mouse PS/2 o USB"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Scegli la porta appropriata. Per esempio, la porta \"COM1\" di Windows\n"
+"corriponde alla \"ttyS0\" di GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Questo è il punto più critico per la sicurezza del vostro sistema\n"
+"GNU/Linux: state per decidere la password di \"root\". \"root\" è\n"
+"l'amministratore del sistema, ed è l'unico utente autorizzato a compiere\n"
+"aggiornamenti, aggiungere altri utenti, cambiare la configurazione globale\n"
+"del sistema, e così via. In breve, \"root\" può fare tutto ciò che vuole!\n"
+"Questo è il motivo per cui dovete scegliere una password che sia difficile\n"
+"da indovinare, e se ne avete scelta una troppo facile DrakX vi avvertirà.\n"
+"Potete anche scegliere di non digitare alcuna password, ma noi vi\n"
+"consigliamo caldamente di farlo, poiché GNU/Linux è vulnerabile a errori da\n"
+"parte dell'utente esattamente come qualsiasi altro sistema operativo.\n"
+"Quindi è molto importante che sia difficile assumere il ruolo di \"root\",\n"
+"potendo quest'ultimo scavalcare ogni limitazione e, magari\n"
+"involontariamente, cancellare tutti i dati presenti sulle partizioni\n"
+"accedendovi in maniera impropria.\n"
+"\n"
+"La password ideale è costituita da un insieme di almeno 8 caratteri\n"
+"alfanumerici. Non appuntate mai da nessuna parte la password di \"root\",\n"
+"renderebbe troppo facile l'accesso al sistema da parte di estranei.\n"
+"\n"
+"Tuttavia, non scegliete una password troppo lunga o complicata, perché\n"
+"dovete essere in grado di ricordarla senza troppo sforzo.\n"
+"\n"
+"La password non verrà mostrata mentre la digitate; quindi, per ridurre il\n"
+"rischio di un errore di battitura, è necessario che venga inserita due\n"
+"volte. Se per caso però commettete lo stesso errore entrambe le volte,\n"
+"questa password \"sbagliata\" sarà quella che verrà richiesta la prima\n"
+"volta che vi connetterete al sistema come \"root\".\n"
+"\n"
+"Se volete che l'accesso al vostro computer sia controllato da un server di\n"
+"autenticazione, cliccate sul pulsante \"%s\".\n"
+"\n"
+"Se la vostra rete utilizza per l'autenticazione i servizi LDAP, NIS, o il\n"
+"PDC di un dominio Windows, selezionate il pulsante \"%s\". Se non\n"
+"siete sicuri sulla scelta da fare, chiedete al vostro amministratore di\n"
+"rete.\n"
+"\n"
+"Se per qualche motivo per voi fosse un problema dovervi ricordare una\n"
+"password, se il vostro computer non sarà mai collegato a Internet, e se\n"
+"avete piena fiducia nelle persone che lo useranno, allora potete ricorrere\n"
+"all'opzione \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autenticazione"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Un bootloader è un piccolo programma che il computer esegue automaticamente\n"
+"nella fase di avvio. Ha il compito di far partire tutto il sistema.\n"
+"L'installazione del bootloader è, in genere, del tutto automatica. DrakX,\n"
+"infatti, analizza il settore di avvio del disco, e si comporta in base a\n"
+"quello che vi trova:\n"
+"\n"
+" * se trova un settore di avvio di Windows, lo rimpiazza con uno di GRUB o\n"
+"LILO, in modo da permettervi di avviare GNU/Linux o un qualsiasi altro\n"
+"sistema operativo installato sul computer;\n"
+"\n"
+" * se trova un settore di avvio di GRUB o LILO, lo sostituisce con uno\n"
+"nuovo.\n"
+"\n"
+"Se non è in grado di fare la scelta autonomamente, DrakX vi mostrerà alcune\n"
+"opzioni per l'installazione del bootloader. La soluzione più comune è\n"
+"quella di installarlo nel \"%s\". Selezionando \"%s\" non sarà installato\n"
+"alcun bootloader, ma è una possibilità da usare solo se siete veramente\n"
+"consapevoli di ciò che essa comporta."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Qui potrete scegliere il sistema di stampa da usare con il vostro computer;\n"
+"altri sistemi operativi ve ne offrono uno, ma Mandriva Linux ve ne offre "
+"ben\n"
+"due. Ciascuno di essi è adatto a un particolare tipo di configurazione.\n"
+"\n"
+" * \"%s\" -- che sta per \"\"print, do not queue\"\" (\"stampa, non mettere\n"
+"in coda\"), è la scelta migliore se avete una stampante collegata\n"
+"direttamente al computer, volete essere in grado di uscire rapidamente da\n"
+"eventuali situazioni di stallo della stampante, e non disponete di\n"
+"stampanti connesse via rete (\"%s\" può gestire solo configurazioni di rete\n"
+"molto semplici ed è comunque piuttosto lento in caso di stampa in rete).\n"
+"Scegliete \"pdq\" se questa è la vostra prima esperienza con GNU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\" (\"Sistema di stampa unificato\n"
+"per Unix\"), offre risultati eccellenti per stampanti sia locali, sia che\n"
+"si trovino sull'altra faccia del pianeta. È semplice da configurare e può\n"
+"agire come server o client per il vecchio sistema di stampa \"lpd\", quindi\n"
+"è compatibile con i sistemi operativi più vecchi che potrebbero avere\n"
+"ancora bisogno di servizi di stampa. Nonostante le grandi potenzialità, la\n"
+"sua configurazione di base è semplice quasi quanto quella di \"pdq\". Se\n"
+"avete bisogno di emulare un server \"lpd\" ricordatevi di attivare il\n"
+"demone \"cups-lpd\". \"%s\" dispone di interfacce grafiche per la stampa,\n"
+"per la configurazione delle opzioni della stampante e per la sua gestione.\n"
+"\n"
+"Se fate una scelta adesso e successivamente cambiate idea, potrete sempre\n"
+"scegliere un diverso sistema di stampa avviando PrinterDrake dal\n"
+"Mandriva Linux Control Center e cliccando sul pulsante \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Esperto"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Ora DrakX procederà con il rilevamento di tutti i dischi rigidi e altri\n"
+"dispositivi IDE presenti sul tuo computer, e cercherà anche di stabilire\n"
+"se sul tuo sistema sono presenti una o più schede SCSI di tipo PCI. Se\n"
+"verrà individuato un dispositivo di questo tipo, DrakX installerà\n"
+"automaticamente il driver appropriato.\n"
+"\n"
+"Dato che il riconoscimento automatico non è un'operazione a prova d'errore,\n"
+"DrakX potrebbe non riuscire a individuare i tuoi dischi rigidi. In tal\n"
+"caso dovrai inserire manualmente i dati relativi al tuo hardware.\n"
+"\n"
+"Nel caso tu debba specificare manualmente il tipo di scheda in\n"
+"tuo possesso, DrakX ti chiederà se intendi indicare il valore di\n"
+"alcuni parametri da usare con essa. Ti consigliamo di permettere a DrakX di\n"
+"esaminare l'hardware per stabilire quali parametri specifici dovranno "
+"essere\n"
+"impostati per inizializzare quella particolare scheda ; questo metodo in "
+"genere\n"
+"permette di ottenere buoni risultati.\n"
+"\n"
+"Se DrakX non riesce a stabilire quali sono i parametri da passare alla\n"
+"scheda, dovrai specificarli manualmente."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se sul vostro sistema è stata individuata una scheda audio, verrà\n"
+"mostrata qui. Se notate che la scheda audio mostrata non è quella\n"
+"effettivamente presente sul vostro sistema, potete cliccare sul pulsante e\n"
+"scegliere un driver diverso."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"A questo punto DrakX vi mostrerà un riassunto di varie informazioni che ha\n"
+"raccolto riguardo il vostro sistema. In base all'hardware installato,\n"
+"potrebbero essere visualizzate tutte le voci che descriveremo tra poco, o\n"
+"solo alcune di esse. Ogni voce è rappresentata dall'elemento che può essere\n"
+"configurato, con accanto una breve sintesi della configurazione attuale;\n"
+"cliccate sul pulsante \"%s\" corrispondente per cambiarla.\n"
+"\n"
+" * \"%s\": controllate l'attuale impostazione della tastiera, e cambiatela\n"
+"se necessario.\n"
+"\n"
+" * \"%s\": controllate la selezione attuale della nazione. Se non\n"
+"corrisponde a quella in cui vivete, cliccate sul pulsante \"%s\" e indicate\n"
+"quella corretta. Se la vostra nazione non è nella prima lista che verrà\n"
+"mostrata, cliccate su \"%s\" per avere la lista completa.\n"
+"\n"
+" * \"%s\": il fuso orario è inizialmente dedotto in automatico dalla\n"
+"nazione che avete scelto. Anche in questo caso, se l'impostazione non fosse\n"
+"corretta potete usare il pulsante \"%s\".\n"
+"\n"
+" * \"%s\": controllate la configurazione attuale del mouse, e cliccate sul\n"
+"pulsante per cambiarla, se necessario.\n"
+"\n"
+" * \"%s\": cliccando sul pulsante \"%s\" sarà avviato l'assistente di\n"
+"configurazione della stampante. Consultate il relativo capitolo della\n"
+"\"Guida introduttiva\" per avere maggiori informazioni su come configurare\n"
+"una nuova stampante. L'interfaccia descritta in tale sede è simile a quella\n"
+"utilizzata nel corso dell'installazione.\n"
+"\n"
+" * \"%s\": se sul vostro sistema è stata individuata una scheda audio,\n"
+"verrà mostrata qui. Se notate che la scheda audio mostrata non è quella\n"
+"effettivamente presente sul vostro sistema, potete cliccare sul pulsante e\n"
+"scegliere un driver diverso.\n"
+"\n"
+" * \"%s\": se sul vostro sistema è stata individuata una scheda TV, verrà\n"
+"mostrata qui. Se disponete di una scheda TV che non è stata individuata,\n"
+"cliccate sul pulsante \"%s\" per cercare di configurarla a mano.\n"
+"\n"
+" * \"%s\": se avete l'impressione che la configurazione non sia corretta,\n"
+"potete cliccare sul pulsante \"%s\" per cambiare i parametri relativi alla\n"
+"scheda.\n"
+"\n"
+" * \"%s\": come opzione predefinita, DrakX configura l'interfaccia grafica\n"
+"impostando una risoluzione di \"800x600\" o \"1024x768\". Se questa scelta\n"
+"non vi soddisfa, cliccate su \"%s\" per riconfigurare la vostra interfaccia\n"
+"grafica.\n"
+"\n"
+" * \"%s\": se desiderate configurare l'accesso a Internet o a una rete\n"
+"locale potete farlo adesso. Consultate la documentazione stampata, oppure\n"
+"utilizzate il Mandriva Linux Control Center una volta terminata\n"
+"l'installazione per avere a vostra disposizione un aiuto in linea completo.\n"
+"\n"
+" * \"%s\": vi permette di configurare gli indirizzi di proxy HTTP e FTP,\n"
+"nel caso la macchina sulla quale state effettuando l'installazione dipenda\n"
+"da un server proxy.\n"
+"\n"
+" * \"%s\": questa voce vi permette di modificare il livello di sicurezza\n"
+"configurato in un passo precedente ().\n"
+"\n"
+" * \"%s\": se avete in mente di connettere il vostro computer a Internet, è\n"
+"una buona idea proteggerlo contro eventuali intrusioni configurando un\n"
+"firewall. Consultate la relativa sezione della \"Guida introduttiva\" per\n"
+"ulteriori informazioni sulla configurazione del firewall.\n"
+"\n"
+" * \"%s\": cliccate su questo pulsante per cambiare la configurazione del\n"
+"bootloader. Questa opzione dovrebbe essere utilizzata solo dagli utenti più\n"
+"esperti. Consultate la documentazione stampata o l'aiuto in linea del\n"
+"Mandriva Linux Control Center riguardo la configurazione del bootloader.\n"
+"\n"
+" * \"%s\": qui potrete stabilire in dettaglio quali servizi saranno\n"
+"attivati sul vostro sistema. Se pensate di utilizzare il computer come\n"
+"server è senz'altro una buona idea controllare queste impostazioni."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Scheda ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaccia grafica"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Scegli il disco rigido che vuoi cancellare per poter preparare le nuove\n"
+"partizioni per Mandriva Linux. Attenzione! tutti i dati sul disco andranno\n"
+"perduti e non saranno più recuperabili!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/it/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Clicca sul pulsante \"%s\" se vuoi cancellare tutte le partizioni e\n"
+"i dati presenti su questo disco rigido. Stai attento, dopo aver\n"
+"cliccato su \"%s\" non potrai più recuperare le partizioni e i dati\n"
+"presenti su questo disco, compresi eventuali dati di Windows.\n"
+"\n"
+"Clicca su \"%s\" per annullare questa operazione senza che venga\n"
+"perso nessun dato o partizione presente su questo disco rigido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Avanti ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Indietro"
+
diff --git a/perl-install/install/help/po/ja.po b/perl-install/install/help/po/ja.po
new file mode 100644
index 000000000..c0b825e00
--- /dev/null
+++ b/perl-install/install/help/po/ja.po
@@ -0,0 +1,1841 @@
+# translation of DrakX.po to Japanese
+# Drakbootdisk Japanese translation
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000.
+# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2003, 2004.
+# Yukiko Bando <ybando@k6.dion.ne.jp>, 2004-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-ja\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2007-03-03 08:00+0900\n"
+"Last-Translator: Yukiko Bando <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"先に進む前にライセンスをよくお読みください。これは Mandriva Linux\n"
+"全体に適用されます。すべての項目に同意する場合は「%s」を押してください。\n"
+"そうでない場合は「%s」をクリックしてコンピュータを再起動してください。"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux はマルチユーザシステムです。各ユーザが独自の設定を行うことが\n"
+"できます。マルチユーザシステムについては Starter Guide をお読みください。\n"
+"個々のユーザは自分のファイルと自分の設定以外のものを変更することはでき\n"
+"ません。\n"
+"システム全体に影響を与えるような変更は root (システム管理者) にしかでき\n"
+"ません。少なくとも一つのユーザアカウントを作成してください。日常の作業は\n"
+"すべてこのユーザで行ってください。root で作業するのはとても簡単ですが、\n"
+"非常に危険です。ちょっとした間違いでシステム全体を壊しかねません。\n"
+"ユーザアカウントで間違いを犯した場合は、最悪でもデータを少し失う程度で、\n"
+"システム全体には影響を与えません。\n"
+"\n"
+"最初の入力欄にあなたの名前を入れてください。この欄に入力された最初の言葉は\n"
+"「%s」にコピーされ、これがシステムにログインするときに入力するユーザ名に\n"
+"なります。このデフォルトのユーザ名は他の名前に変更してもかまいません。\n"
+"次のステップはパスワードの設定です。\n"
+"\n"
+"セキュリティの観点からいえば、一般ユーザ (non-privileged user) の\n"
+"パスワードは root のパスワードほど重要ではありません。かといって空白や\n"
+"極端に単純なパスワードは、あなたの個人ファイルを危険にさらすことになり\n"
+"ますので、ないがしろにしないでください。\n"
+"\n"
+"「%s」をクリックすると他のユーザを追加できます。お友達やご家族の皆さんに\n"
+"それぞれアカウントを作成してください。ユーザの追加が終了したら\n"
+"「%s」をクリックします。\n"
+"\n"
+"「%s」ボタンを押すと、そのユーザがデフォルトで使用するシェルを変更する\n"
+"ことができます。(デフォルトで bash に設定されています)\n"
+"\n"
+"ユーザの追加が完了すると、今度はコンピュータを起動したときに自動的に\n"
+"ログインするユーザを選べます。この機能を使う場合 (ローカルなセキュリティ\n"
+"を特に気にしない場合) は、ユーザとそのユーザが使うウィンドウマネージャを\n"
+"選んで「%s」をクリックしてください。\n"
+"この機能を使わない場合は「%s」のチェックを外してください。"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "この機能を使いますか?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"ハードドライブ内で検出した既存の Linux パーティションのリストです。\n"
+"たいていの場合は変更せずにこのままにしておく方が良いでしょう。\n"
+"変更を行う場合は、最低でもルート ( / ) パーティションを定義してください。\n"
+"小さすぎるパーティションは選ばないでください。ソフトウェアをインストール\n"
+"する容量が足りなくなります。個人のデータを独立したパーティションに置く\n"
+"場合は、/home パーティションを作成してください。\n"
+"\n"
+"それぞれのパーティションは次のように表示されます: \"Name\", \"Capacity\"\n"
+"\n"
+"\"Name\" は次の要素で構成されます: ハードドライブタイプ/ハードドライブ番号/\n"
+"パーティション番号 (例: hda1)\n"
+"\n"
+"ハードドライブタイプは、IDE をお使いの場合は \"hd\"、SCSI をお使いの場合は\n"
+"\"sd\" と表示されます。\n"
+"\n"
+"ハードドライブ番号は常に \"hd\" または \"sd\" の後の一文字で表されます。\n"
+"IDE ハードドライブの場合:\n"
+"\n"
+" * \"a\" はプライマリ IDE コントローラのマスターハードドライブ\n"
+"\n"
+" * \"b\" はプライマリ IDE コントローラのスレーブハードドライブ\n"
+"\n"
+" * \"c\" はセカンダリ IDE コントローラのマスターハードドライブ\n"
+"\n"
+" * \"d\" はセカンダリ IDE コントローラのスレーブハードドライブ\n"
+"\n"
+"SCSI ハードドライブの場合は、\"a\" は \"lowest SCSI ID\", \"b\" は\n"
+"\"second lowest SCSI ID\" を意味します。"
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux のインストールは数枚の CD-ROM から行います。\n"
+"選択したパッケージが別の CD-ROM の中にあると、DrakX は現在の CD を\n"
+"イジェクトして別の CD を入れるよう促します。\n"
+"指示された CD をお持ちでない場合は「%s」をクリックしてください。"
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"ここではインストールするプログラムを選びます。Mandriva Linux には数千\n"
+"ものパッケージが用意されています。それらは管理しやすいように類似した\n"
+"アプリケーションごとにグループ化されています 。\n"
+"\n"
+"Mandriva Linux ではこのグループをさらに四つのカテゴリに分類しています。\n"
+"パッケージの選択に際しては、複数のカテゴリからグループを選ぶことができ\n"
+"ます。例えば「ワークステーション」としてのインストールに「サーバ」\n"
+"カテゴリのグループを加えることもできます。\n"
+"\n"
+" * %s: ワークステーションとしてお使いの場合は、このカテゴリから\n"
+"いくつかグループを選んでください。\n"
+"\n"
+" * %s: プログラミングを目的とする場合は、ここから必要な\n"
+"グループを選んでください。LSB という特別なグループを選ぶと 'Linux\n"
+"Standard Base' 仕様に準拠したシステム構成になります。\n"
+"\n"
+" 'LSB' グループを選択すると、標準の 2.6 系の代わりに 2.4 系のカーネルが\n"
+"インストールされます。これはシステムを 100%% LSB-規格にするためです。\n"
+"注: 'LSB' グループを選択しなくても、ほぼ 100%% LSB-規格に近いシステムに\n"
+"なります。\n"
+"\n"
+" * %s: サーバ用途のマシンであれば、このカテゴリから目的に\n"
+"合ったサービスを選んでください。\n"
+"\n"
+" * %s: ここではお好みのグラフィカル環境を選びます。\n"
+"グラフィカルなインターフェースを使用する場合は、最低一つ選択してください。\n"
+"\n"
+"グループ名の上にカーソルを移動すると、それぞれのグループについて簡単な\n"
+"説明が表示されます。\n"
+"\n"
+"「%s」にチェックを入れるとパッケージを個別に選択\n"
+"することができます。利用可能なパッケージに精通している場合、あるいは何を\n"
+"インストールするかをすべて自分で決めたい場合に利用してください。\n"
+"\n"
+"「%s」モードでインストールを開始し、すべてのグループのチェックを\n"
+"外すと新しいパッケージは一切インストールされません。既存のシステムを修復\n"
+"またはアップグレードする場合に役立ちます。\n"
+"\n"
+"アップグレードではなく通常のインストール中にすべてのグループのチェックを\n"
+"外すと、ダイアログボックスに最小限のインストールをするためのオプションが\n"
+"いくつか提示されます:\n"
+"\n"
+" * %s: グラフィカルなデスクトップを利用するために必要な最低限の\n"
+"パッケージをインストールします。\n"
+"\n"
+" * %s: 基本的なシステムとベーシックなユーティリティ\n"
+"およびそれに関するドキュメントをインストールします。サーバ向きです。\n"
+"\n"
+" * %s: Linux システムを稼動させるために最低限必要な\n"
+"パッケージだけをインストールします。これを選択した場合はグラフィカルな\n"
+"環境はありません。コマンドのみの操作になります。 このインストールの\n"
+"合計サイズは約 65 MB です。"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "更新"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "基本的なドキュメントを入れる"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "極小インストール"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"インストールするパッケージを個別に選ぶ場合は、すべてのパッケージが\n"
+"グループ別にツリー表示されます。リストから個々のパッケージ/サブグループ/\n"
+"グループ全体を選ぶことができます。\n"
+"\n"
+"パッケージを選択すると右側に説明が表示され、パッケージの目的を知ることが\n"
+"できます。\n"
+"\n"
+"注意!! 選択したグループにサーバ用のパッケージが含まれていたり、あるいは\n"
+"個別にそれを選択すると、本当にインストールしてよいか確認を求めます。\n"
+"Mandriva Linux のデフォルトの設定では、インストールされたサービスはすべて\n"
+"起動時に自動的に開始されます。ディストリビューションがリリースされた時点\n"
+"で既知の問題がなく安全だとされていても、リリース後にセキュリティホールが\n"
+"発見される可能性はあります。\n"
+"それぞれのサービスの内容やなぜインストールされるのかを知るには\n"
+"「%s」をクリックしてください。「%s」をクリックすると選択した\n"
+"サービスがインストールされ起動時に自動的に開始しますのでご注意ください。\n"
+"\n"
+"パッケージのなかには他のパッケージに依存するものがあります。つまり、\n"
+"一つのパッケージをインストールするためには他のパッケージも同時に\n"
+"インストールしなければならない場合があります。インストーラは依存関係を\n"
+"解決するために自動的に必要なパッケージを選択し、その都度メッセージを表示\n"
+"します。「%s」オプションを使うと、この警告ダイアログを\n"
+"無効にすることができます。\n"
+"\n"
+"リストの下にある小さなフロッピーのアイコンは、別のインストール時に作成\n"
+"されたパッケージリストを利用する際に使います。この機能は複数のマシンに\n"
+"同じ設定のインストールをする場合に役立ちます。アイコンをクリックすると\n"
+"自動インストールフロッピーを挿入するように促されます。このフロッピーの\n"
+"作成方法については最終ステップの二番目のヒントを参照してください。"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "自動的に依存関係を解決する"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": 「%s」をクリックするとプリンタ設定ウィザードが開きます。\n"
+"新しいプリンタのセットアップ方法については Starter Guide をご覧ください。\n"
+"マニュアルに掲載されているインターフェースはインストール中に使用したもの\n"
+"とほぼ同じです。"
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"ここでは起動時に開始するサービスを選択します。\n"
+"\n"
+"DrakX は現在インストールされている利用可能なすべてのサービスを表示します。\n"
+"それぞれをよく読んで、起動時に必要でないものについてはチェックを外して\n"
+"ください。\n"
+"\n"
+"サービスを選択すると簡単な説明が表示されます。本当にそのサービスが必要\n"
+"なのかどうか分からない場合は、デフォルトのままにしておくのが安全です。\n"
+"\n"
+"!!お使いのマシンをサーバとして使用する場合は特に注意してください:\n"
+"必要のないサービスは止めてください。\n"
+"サービスのなかにはサーバで有効にすると危険なものがあります。\n"
+"一般的には、本当に必要なサービスのみを選んでください。\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux は時間を GMT (グリニッジ標準時) で管理し、選択されたタイムゾーン\n"
+"をもとにこれを現地時間に変換します。マザーボードの時計が現地時間に設定\n"
+"されている場合は、「%s」の選択を外してこの機能を無効にすることができます。\n"
+"そうすると、GNU/Linux はハードウェアクロックとシステムクロックが同じタイム\n"
+"ゾーンにあると認識します。Windows などの別の OS を同じマシンで動かしている\n"
+"場合は、このオプションを無効にする方が良いでしょう。\n"
+"\n"
+"「%s」オプションを選ぶと、インターネットのリモートタイム\n"
+"サーバに接続して自動的に時間を合わせます。表示されるリストの中から一番\n"
+"近いサーバを選んでください。この機能を使うにはインターネット接続が必要\n"
+"です。このオプションを使うと、このマシンをローカルネットワーク内の他の\n"
+"マシンのタイムサーバとして機能させることができます。"
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "自動的に時間を合わせる"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"グラフィックカード\n"
+"\n"
+"普通はインストーラがお使いのマシンに接続されているグラフィックカードを\n"
+"自動的に検出して設定を行います。うまくいかなかった場合は、リストの中\n"
+"から適切なグラフィックカードを選んでください。\n"
+"\n"
+"利用できるサーバが数種類ある場合 (3D アクセラレーションの有無など) は、\n"
+"目的に適したサーバを選んでください。"
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X ウィンドウシステム) は GNU/Linux のグラフィカルインターフェースの\n"
+"中心となる部分で、Mandriva Linux に収録されている様々なグラフィカル環境\n"
+"(KDE, GNOME, AfterStep, WindowMaker など) はすべてこれに依存しています。\n"
+"\n"
+"最適なグラフィック表示を得るために調整可能な設定項目がいくつかあります。\n"
+"\n"
+"グラフィックカード\n"
+"\n"
+"普通はインストーラがお使いのマシンに接続されているグラフィックカードを\n"
+"自動的に検出して設定を行ないます。うまくいかなかった場合は、リストの中\n"
+"から適切なグラフィックカードを選んでください。\n"
+"\n"
+"利用できるサーバが数種類ある場合 (3D アクセラレーションの有無など) は、\n"
+"目的に適したサーバを選んでください。\n"
+"\n"
+"\n"
+"\n"
+"モニタ\n"
+"\n"
+"普通はインストーラがお使いのマシンに接続されているモニタを自動的に\n"
+"検出して設定を行います。うまくいかなかった場合は、リストの中から\n"
+"適切なモニタを選んでください。\n"
+"\n"
+"\n"
+"\n"
+"解像度\n"
+"\n"
+"お使いのハードウェアで利用可能な解像度と色深度の中から必要に合った\n"
+"ものをお選びください。インストール後に変更することもできます。選択\n"
+"された設定によるサンプル画像がモニタの絵の中に表示されます。\n"
+"\n"
+"\n"
+"\n"
+"テスト\n"
+"\n"
+"システムは指定された解像度でグラフィカルスクリーンの表示を試みます。\n"
+"テスト中にメッセージが表示され「%s」と答えると\n"
+"DrakX は次のステップに進みます。12 秒以内にメッセージが表示されないときは\n"
+"自動設定がうまくできていません。元のメニューに戻りますので、正しく表示\n"
+"されるように設定を変更してください。\n"
+"\n"
+"\n"
+"\n"
+"オプション\n"
+"\n"
+"起動時に自動的にグラフィカルインターフェースに切り替えるかどうかを選択する\n"
+"ことができます。サーバとしてお使いになる場合やディスプレイの設定がうまく\n"
+"できなかった場合は、「%s」を選んでください。"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"モニタ\n"
+"\n"
+"普通はインストーラがお使いのマシンに接続されているモニタを自動的に\n"
+"検出して設定を行います。うまくいかなかった場合は、リストの中から\n"
+"適切なモニタを選んでください。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"解像度\n"
+"\n"
+"お使いのハードウェアで利用可能な解像度と色深度の中から必要に合った\n"
+"ものをお選びください。インストール後に変更することもできます。選択\n"
+"された設定によるサンプル画像がモニタの絵の中に表示されます。"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"利用できるサーバが数種類ある場合 (3D アクセラレーションの有無など) は、\n"
+"目的に適したサーバを選んでください。"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"オプション\n"
+"\n"
+"起動時に自動的にグラフィカルインターフェースに切り替えるかどうかを選択する\n"
+"ことができます。サーバとしてお使いになる場合やディスプレイの設定がうまく\n"
+"できなかった場合は、「%s」を選んでください。"
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"ここでは Mandriva Linux をハードドライブのどこにインストールするかを\n"
+"選択します。ハードドライブが空であったり既存の OS がすべての領域を使用\n"
+"している場合は、パーティションを設定しなければなりません。\n"
+"基本的に、Mandriva Linux をインストールするには、ハードドライブを\n"
+"論理分割して領域を確保することが必要です。\n"
+"\n"
+"パーティションの設定は、たいていの場合復元不可能なうえ、データの消失に\n"
+"つながることもあるため、不慣れなユーザにとっては気後れのする作業かも\n"
+"しれません。DrakX にはこの作業を簡単に行うためのウィザードが用意されて\n"
+"います。先に進む前に、まずこのセクションの残りの部分を読んでください。\n"
+"そして落ち着いてゆっくりと実行してください。\n"
+"\n"
+"ハードドライブの状態によっていくつかのオプションが提示されます:\n"
+"\n"
+" * %s: 空のドライブに自動的にパーティションを作成します。\n"
+"このオプションを使うと、これ以降プロンプトの表示はありません。\n"
+"\n"
+" * %s: ハードドライブに一つ以上の\n"
+"Linux パーティションが検出されました。既存のパーティションを利用する場合\n"
+"はこのオプションを選んでください。ウィザードがそれぞれのパーティションの\n"
+"マウントポイントを選択するよう促します。伝統的なマウントポイントが既定値\n"
+"として選択されています。たいていの場合はそのままにしておいた方が良いで\n"
+"しょう。\n"
+"\n"
+" * %s: Microsoft Windows がハードドライブの\n"
+"全領域を占有している場合は GNU/Linux 用に空き領域を作成する必要があります。\n"
+"方法としては、Microsoft Windows のパーティションとデータを消去するか\n"
+"Microsoft Windows の FAT または NTFS パーティションのサイズを変更します。\n"
+"サイズ変更は、Windows のパーティションがあらかじめデフラグ (最適化) されて\n"
+"いれば、データを失うことなく実行できます。(必ずデータのバックアップを\n"
+"しておいてください) Mandriva Linux と Microsoft Windows を両方使う場合は\n"
+"このオプションを選んでください。(Windows を消去する場合は次を参照して\n"
+"ください: ディスク全体を消去)\n"
+"\n"
+" このオプションを使うと、Microsoft Windows のパーティション\n"
+"が小さくなります。その結果、Microsoft Windows でデータを保存したり\n"
+"新しいソフトウェアをインストールするための空き領域は少なくなるので\n"
+"注意してください。\n"
+"\n"
+" * %s: ハードドライブのすべてのデータとパーティション\n"
+"を削除し Mandriva Linux システムに入れ替える場合はこのオプションを選んで\n"
+"ください。確認後は取り消しできませんので十分注意してください。\n"
+"\n"
+" !! このオプションを選ぶとディスク上の全データが消去されます !!\n"
+"\n"
+" * %s: ハードドライブの全領域に Microsoft Windows がインストール\n"
+"されている場合のオプションです。ハードドライブのすべてを消去し\n"
+"パーティションの設定から始めるときに使います。\n"
+"\n"
+" !! このオプションを選ぶとディスク上の全データが消去されます !!\n"
+"\n"
+" * %s: パーティションを手動で設定する場合には\n"
+"このオプションを選んでください。注意: 応用の効く選択肢ですが一歩\n"
+"間違うとすべてのデータが消去されます。経験のない方にはお勧めでき\n"
+"ません。DiskDrake の詳しい使い方については Starter Guide の\n"
+"'Managing Your Partitions' を参照してください。"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "既存のパーティションを使う"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "ディスク全体を消去"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"インストール完了!これで GNU/Linux システムを利用できる状態になりました。\n"
+"インストールメディア (CD-ROM かフロッピー) を抜いて「%s」をクリックし\n"
+"システムを再起動してください。コンピュータがハードウェアのテストを終える\n"
+"と、ブートローダのメニューが表示されます。そこで起動する OS を指定する\n"
+"ことができます。\n"
+"\n"
+"「%s」ボタンを押すと二つのオプションが提示されます:\n"
+"\n"
+" * %s: 今回と同じようなインストールを\n"
+"オペレータなしで可能にするインストールフロッピーを作成する。\n"
+"\n"
+" 注: 二つのオプションはボタンを押すまで表示されません。\n"
+"\n"
+" * %s: 半自動インストール。パーティションの設定は\n"
+"対話形式で行えます。\n"
+"\n"
+" * %s: 全自動インストール。ハードディスクは完全に\n"
+"上書きされ、すべてのデータが失われます。\n"
+"\n"
+" この機能は何台ものマシンに同じシステムをインストールするのに大変\n"
+"便利です。詳しくは、当社ウェブサイトの 'Auto install' をご覧ください。\n"
+"\n"
+" * %s (*): インストール中に選択された\n"
+"パッケージのリストを保存します。別のインストールに利用するには、\n"
+"フロッピーをドライブに挿入しインストールを開始してください。\n"
+"プロンプトが表示されたら [F1] を押して linux defcfg=\"floppy\" と\n"
+"入力し [Enter] を押します。 \n"
+"\n"
+"(*) FAT 形式のフロッピーが必要です。GNU/Linux で作成するには\n"
+"\"mformat a:\" または \"fdformat /dev/fd0\" と入力し、続けて \"mkfs.vfat\n"
+"/dev/fd0\" と入力します。"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "自動インストールフロッピーを作成"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"既存の GNU/Linux のパーティションを使用する場合は、そのうちのいくつかを\n"
+"選択して、再フォーマットしてください。\n"
+"\n"
+"注意: 既存のパーティションすべてを再フォーマットする必要はありません。\n"
+"再フォーマットが必要なのは、OS を含むパーティション (例: /, /usr, /var)\n"
+"です。個人のデータが置かれているパーティション (典型的なのは /home) \n"
+"については再フォーマットの必要はありません。\n"
+"\n"
+"パーティションの選択は慎重に行ってください。フォーマットするとその\n"
+"パーティションのデータはすべて消去され復元できなくなります。\n"
+"\n"
+"パーティションをフォーマットする準備ができたら「%s」をクリックしてくださ"
+"い。\n"
+"\n"
+"Mandriva Linux を別のパーティションに新規にインストールする場合は\n"
+"「%s」をクリックしてください。\n"
+"\n"
+"ディスクの不良ブロックを検証するパーティションを選ぶには\n"
+"「%s」をクリックしてください。"
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mandriva Linux のリリース後に、バグの修正、あるいはセキュリティ問題を解決\n"
+"するために更新されたパッケージがあるかもしれません。これらのパッケージを\n"
+"インターネットからダウンロードしてシステムを更新することができます。既に\n"
+"インターネットに接続していれば「%s」にチェックを入れてください。\n"
+"後で更新する場合は「%s」を選んでください。\n"
+"\n"
+"「%s」を選ぶと更新パッケージを取得するミラーサイトのリストが\n"
+"表示されます。お近くのミラーを選んでください。更新されるパッケージが\n"
+"表示されたら内容を確認し、インストールする場合は「%s」を、中止する\n"
+"場合は「%s」を押してください。"
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"ここでは DrakX を使ってあなたのマシンのセキュリティレベルを設定します。\n"
+"基本的には、マシンに重要なデータが保存されていたり、インターネットに直接\n"
+"接続している場合は、セキュリティレベルを高く設定しなければなりません。\n"
+"しかしセキュリティレベルを高くすると一般的には使い勝手が悪くなります。\n"
+"\n"
+"何を選択してよいか分からない場合はデフォルトのままにしておいてください。\n"
+"設定は後で変更できます。Mandriva Linux コントロールセンターには draksec\n"
+"というそのためのツールが用意されています。\n"
+"\n"
+"%s にセキュリティ管理者のメールアドレスを入力してください。\n"
+"セキュリティに関するメッセージはそこへ送られます。"
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "セキュリティ管理者"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"ここでは Mandriva Linux をインストールするパーティションを選びます。\n"
+"以前にインストールした GNU/Linux システムが残っていたり、別のツールを\n"
+"使って既にパーティションが定義されている場合は、既存のパーティションを\n"
+"利用することができます。そうでない場合はハードドライブのパーティションを\n"
+"定義しなければなりません。\n"
+"\n"
+"パーティションを作成するには、まずハードドライブを選択してください。\n"
+"例えば、IDE の最初のドライブであれば 'hda'、2 番目のドライブなら 'hdb'、\n"
+"SCSI の最初のドライブなら 'sda' をクリックしてください。\n"
+"\n"
+"パーティションの作成には次のオプションが使えます:\n"
+"\n"
+" * %s: 選択したドライブのすべてのパーティションを削除する\n"
+"\n"
+" * %s: ハードドライブの空き領域に自動的に ext3 と swap を\n"
+"作成する\n"
+"\n"
+"%s: ここから拡張機能を利用できます:\n"
+"\n"
+" * %s: パーティションテーブルをフロッピーに保存。後でパーティション\n"
+"テーブルのリカバリが必要になったときに役立つので、実行することを\n"
+"強くお勧めします。\n"
+"\n"
+" * %s: フロッピーからパーティションテーブルを読み込んで復元する\n"
+"\n"
+" * %s: パーティションテーブルが壊れてしまったときはこのオプション\n"
+"を使って修復を試みることができます。慎重に実行してください。\n"
+"(必ずしも修復できるとは限りません)\n"
+"\n"
+" * %s: 変更をすべて破棄し、ハードドライブに元々あった\n"
+"パーティションテーブルを再ロードする\n"
+"\n"
+" * %s: このオプションのチェックを外すと\n"
+"ユーザはフロッピーや CD-ROM などのリムーバブルメディアを手動でマウント\n"
+"しなくてはなりません。\n"
+"\n"
+" * %s: このオプションを選ぶとウィザードを使って\n"
+"パーティションを設定することができます。パーティションについて深く理解\n"
+"されてない方にはこのオプションをお勧めします。\n"
+"\n"
+" * %s: 変更を取り消す\n"
+"\n"
+" * %s: 拡張機能 (タイプ、オプション、フォーマットなど) を追加し\n"
+"ハードドライブの詳細情報を得ることができます。\n"
+"\n"
+" * %s: パーティションの設定完了後、変更をディスクに\n"
+"保存します。\n"
+"\n"
+"キーボードの矢印キーを使うとパーティションのサイズを細かく\n"
+"設定できます。\n"
+"\n"
+"ヒント: すべてのオプションはキーボード操作で実行できます。\n"
+"[Tab] と [Up/Down] キーを使ってパーティションを選択します。\n"
+"\n"
+"パーティションを選択すると次のショートカットが使えます:\n"
+"\n"
+" * Ctrl-c: 空のパーティションに新しいパーティションを作成\n"
+"\n"
+" * Ctrl-d: パーティションを削除\n"
+"\n"
+" * Ctrl-m: マウントポイントを設定\n"
+"\n"
+"使用可能な他のファイルシステムについては、Reference Manual の\n"
+"'ext2FS' の章をお読みください。\n"
+"\n"
+"PPC マシンにインストールする場合は最低 1 MB の HFS bootstrap \n"
+"パーティションを作成してください。yaboot ブートローダが使用します。\n"
+"このパーティションをもう少し大きくしておくと (例えば 50 MB くらい)、\n"
+"スペアカーネルや緊急ブート用の ramdisk イメージを保存するのに利用できます。"
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "リムーバブルメディアを自動的にマウント"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "標準/エキスパートモードの切り替え"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"ハードドライブに Microsoft のパーティションがいくつか検出されました。\n"
+"Mandriva Linux をインストールするためにリサイズするパーティションを\n"
+"選んでください。\n"
+"\n"
+"パーティションは次のように表示されます: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux Name\" は次の要素で構成されます:\n"
+" ハードドライブタイプ/ハードドライブ番号/パーティション番号 (例: hda1)\n"
+"\n"
+"ハードドライブタイプは、IDE をお使いの場合は \"hd\"、SCSI をお使いの場合は\n"
+"\"sd\" となります。\n"
+"\n"
+"ハードドライブ番号は常に \"hd\" または \"sd\" の後の一文字で表されます。\n"
+"IDE ハードドライブの場合:\n"
+"\n"
+" * \"a\" はプライマリ IDE コントローラのマスターハードドライブ\n"
+"\n"
+" * \"b\" はプライマリ IDE コントローラのスレーブハードドライブ\n"
+"\n"
+" * \"c\" はセカンダリ IDE コントローラのマスターハードドライブ\n"
+"\n"
+" * \"d\" はセカンダリ IDE コントローラのスレーブハードドライブ\n"
+"\n"
+"SCSI ハードドライブの場合は、\"a\" は \"lowest SCSI ID\",\n"
+" \"b\" は \"second lowest SCSI ID\"を意味します。\n"
+"\n"
+"\"Windows name\" は Windows のドライブ名\n"
+"(最初のディスクまたはパーティションは\"C:\")"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"%s: 現在選択されている国名を確認してください。間違っている場合は\n"
+"「%s」をクリックして別の国名を選んでください。リストにない場合は\n"
+"「%s」をクリックするとすべての国名リストが表示されます。"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"このステップは既存の GNU/Linux パーティションが検出されたときにのみ表示\n"
+"されます。\n"
+"\n"
+"DrakX は既存の Mandriva Linux システムを更新するかそれとも新規にインストー"
+"ル\n"
+"するかを尋ねます:\n"
+"\n"
+" * %s: 基本的には古いシステムを完全に消去してしまいます。\n"
+"しかし、パーティションの扱い方によっては既存のデータ (典型的なものとしては\n"
+"\"home\" ディレクトリ) を残すことができます。パーティションの設定やファイル\n"
+"システムを変更される場合はこのオプションをお使いください。\n"
+"\n"
+" * %s: これは既に Mandriva Linux にインストールされている\n"
+"パッケージをアップデートします。現在のパーティションの設定やユーザデータは\n"
+"変更されません。その他の設定の大部分は標準のインストールと同様に行えます。\n"
+"「アップグレード」は Mandriva Linux のバージョンが \"8.1\" 以降であれば\n"
+"問題ないはずです。\"8.1\" より古いバージョンにはお勧めできません。"
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"使用する言語に応じて、DrakX は自動的にキーボードの種類を選択します。\n"
+"選ばれたキーボードがあなたのキーボードと合っていることを確認してください。\n"
+"また、目的に応じて別のものを選ぶこともできます。\n"
+"\n"
+"お持ちのキーボードがお使いの言語と一致していない場合も、このステップで\n"
+"変更できます。リストの中からお使いのキーボードを選んでください。\n"
+"\n"
+"「%s」を押すとサポートされているキーボードのリストが表示されます。\n"
+"\n"
+"非ラテンキーボードを選択した場合は、次のステップでラテン/非ラテンを\n"
+"切り替えるキーを指定できます。"
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"まず、お使いになる言語を選んでください。\n"
+"\n"
+"ここで選択された言語は、インストーラ、ドキュメントをはじめ、システム全般\n"
+"に適用されます。まず居住地域を選択し、次に使用する言語を選んでください。\n"
+"\n"
+"「%s」を押すと他の言語を追加することができます。例えば日本語と\n"
+"スペイン語を両方使われるのであれば、まずリストから日本語をデフォルト言語に\n"
+"選び「詳細」から「%s」を選んでください。こうすることで、日本語と\n"
+"スペイン語両方のドキュメントと必要なアプリケーションがインストールされま"
+"す。\n"
+"\n"
+"ユニコード (UTF-8) サポートについて: ユニコードは世界中のすべての言語を\n"
+"カバーします。しかしながら、GNU/Linux 環境でのユニコードサポートはまだ開発\n"
+"途上にあります。そのため、Mandriva Linux ではユーザの選択に応じてその使用を\n"
+"制限しています:\n"
+"\n"
+" * レガシーなエンコードを使用する言語 (latin1/ロシア語/日本語/中国語/\n"
+"ハングル/タイ語/ギリシャ語/トルコ語/iso-8859-2の大部分の言語など) を選択\n"
+"すると、それぞれのエンコードが適用されます。\n"
+"\n"
+" * その他の言語にはデフォルトでユニコードを使用します。\n"
+"\n"
+" * 二つ以上のエンコードの異なる言語を選択すると、システム全体に\n"
+"ユニコードが適用されます。\n"
+"\n"
+" * 選択した言語にかかわらず、システム全体にユニコードを強制することも\n"
+"可能です。その場合は「%s」を選んでください。\n"
+"\n"
+"言語はいくつでも追加することができます。「%s」を選ぶと\n"
+"利用可能なすべての言語がインストールされます。それぞれの言語サポートには\n"
+"翻訳されたメッセージ/フォント/スペルチェッカーなどが含まれます。\n"
+"\n"
+"言語設定を切り替えるときは LocaleDrake を使います。システム全体の設定を変更\n"
+"するときは、root 権限で \"localedrake\" を実行してください。一般ユーザ権限\n"
+"で実行すると、そのユーザの言語設定だけが変更されます。"
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "スペイン語"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX はたいていの場合お使いのマウスのボタン数を正しく検出します。\n"
+"ボタン数が 2 つだと推定した場合は、第 3 ボタンのエミュレーションを\n"
+"設定します。 2 ボタンマウスの第 3 ボタンのエミュレーションは、\n"
+"左右のボタンの同時押しです。DrakX は PS/2, シリアル, USB などの種類を\n"
+"自動的に検出します。\n"
+"\n"
+"ホイールなしの 3 ボタンマウスの場合は「%s」を選んでください。\n"
+"DrakX はホイールエミュレーションを設定します。中ボタンを押してマウス\n"
+"カーソルを上下に動かしてください。\n"
+"\n"
+"何らかの理由で別のタイプのマウスを指定するときは、表示されたリストから\n"
+"選んでください。\n"
+"\n"
+"%s を選択して 'generic' マウスを指定してもかまいません。これはほぼすべての\n"
+"マウスに使えます。\n"
+"\n"
+"デフォルト以外のマウスを選ぶとテストスクリーンになります。ボタンと\n"
+"ホイールを使って正しく動作することを確認してください。うまく動作しない\n"
+"場合はスペースまたはリターンキーを押してテストを中止してください。\n"
+"マウス選択リストに戻ります。\n"
+"\n"
+"ホイールマウスはまれに正しく自動検出されないことがありますので、その場合は\n"
+"リストから選んでください。必ずマウスが接続されているポートに合ったものを\n"
+"選んでください。マウスを選択し「%s」を押すとマウスのイメージが\n"
+"スクリーンに表示されます。ホイールを動かして正しく動作することを確認して\n"
+"ください。ホイールをスクロールすると画面上のホイールが動くはずです。ボタン\n"
+"もテストし、マウスの動きに応じてカーソルが移動することを確認してください。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ホイールエミュレーション付き"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "ユニバーサル/汎用 PS/2 & USB マウス"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"正しいポートを選んでください。例えば、Windows での COM1 ポートは\n"
+"GNU/Linux では ttyS0 という名前になります。"
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"root パスワードの設定は GNU/Linux システムのセキュリティにとって最も重要な\n"
+"ポイントです。root はシステムの管理者であり、アップデート/ユーザの追加/\n"
+"システム設定の変更を行える唯一の存在です。root の権限があれば、どんなこと\n"
+"でもできるのです。推測されにくいパスワードを選ばなければなりません。極端に\n"
+"簡単なパスワードにすると DrakX が警告を発します。root パスワードは必須では\n"
+"ありませんが、ここで設定しておくことを強くお勧めします。GNU/Linux も他の\n"
+"OS と同様にオペレータの誤操作という危険にさらされています。root はすべての\n"
+"制限を越えて、ちょっとした不注意からパーティションの全データを削除すること\n"
+"もできます。したがって、簡単に root になれないようにしておかなければなりま\n"
+"せん。\n"
+"\n"
+"パスワードには数字とアルファベットが使えます。最低でも 8 文字以上にします。\n"
+"決して root のパスワードを書き留めたりしないでください。システムを危険に\n"
+"さらすことになります。\n"
+"\n"
+"警告: パスワードを長くしすぎたり複雑にしすぎたりしないでください。\n"
+"思い出せなくなります!\n"
+"\n"
+"入力したパスワードは画面には表示されません。打ち間違いを防ぐために\n"
+"パスワードは 2 回入力します。同じ打ち間違いを 2 度してしまうと、最初に\n"
+"root になるにはその「意図に反した」パスワードを入力しなければなりません。\n"
+"\n"
+"あなたのコンピュータへのアクセスを認証サーバに管理させる場合は\n"
+"「%s」を押してください。\n"
+"\n"
+"あなたのネットワークが LDAP/NIS/PDC Windows Domain 認証サービスのいずれか\n"
+"を使用している場合は、「%s」に正しいものを選んでください。\n"
+"不明な場合はネットワーク管理者に確認してください。\n"
+"\n"
+"何らかの理由でパスワードを覚えられない、あるいはインターネットには一切\n"
+"接続しない、または、あなたのコンピュータを使うすべての人を全面的に信頼\n"
+"できる、といった場合には「%s」を選んでもいいでしょう。"
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "認証"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"ブートローダはコンピュータ起動時に開始される小さなプログラムです。\n"
+"これがシステムを立ち上げます。ブートローダのインストールは通常完全に\n"
+"自動化されています。DrakX はディスクのブートセクタを分析し検出した\n"
+"ものに応じて以下を実行します:\n"
+"\n"
+" * Windows のブートセクタが検出されると DrakX はこれを GRUB/LILO の\n"
+"ブートセクタに置き換えます。これによって、あなたのマシンにインストール\n"
+"されている他の OS と GNU/Linux のどちらでも起動できるようになります。\n"
+"\n"
+" * GRUB か LILO ブートセクタが検出されると新しいものに置き換えます。\n"
+"\n"
+"どこにブートセクタを置けばいいのか不明なときは、DrakX が質問します。\n"
+"一般的には「%s」が最も安全な場所です。\n"
+"「%s」を選ぶとブートローダはインストールされません。\n"
+"このオプションは意味をよく理解されている場合以外は選ばないでください。"
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"ここでは、コンピュータの印刷システムを選択します。他の OS には一種類しか\n"
+"ありませんが、Mandriva Linux には二種類の印刷システムがあります。それぞれ\n"
+"利点と欠点がありますので、より適したものを選んでください。\n"
+"\n"
+" * %s - 'Print, Do not Queue (印刷する。キューはしない)' の略。\n"
+"マシンにプリンタを直接接続している/紙づまりのときにすぐ中断したい/\n"
+"ネットワークプリンタがない場合はこれを選んでください。(%s は簡単な\n"
+"ネットワークにしか対応していません。また、ネットワーク内で使うと多少遅く\n"
+"なります)。初めて GNU/Linux をお使いの場合はpdqをお勧めします。\n"
+"\n"
+" * %s - 'Common Unix Printing System' の略。\n"
+"ローカルプリンタへの印刷も地球の裏側のプリンタへの印刷も問題なく処理\n"
+"します。サーバとしても使えて、昔ながらの lpd 印刷システムのクライアント\n"
+"にもなるので、印刷サービスを必要とする古いシステムとも互換性があります。\n"
+"強力であるにもかかわらず基本的な設定は pdq と同じくらい簡単です。\n"
+"lpd サーバのエミュレートが必要な場合は cups-lpd デーモンを有効にして\n"
+"ください。「%s」には印刷/プリンタオプションの選択/プリンタの管理などの\n"
+"ためのグラフィカルフロントエンドがあります。\n"
+"\n"
+"選択した印刷システムを後で変更する場合は、Mandriva Linux コントロール\n"
+"センターの PrinterDrake で「%s」をクリックしてください。"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "エキスパート"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX はまずお使いのコンピュータのIDEデバイスを検出します。PCI/SCSI カード\n"
+"も同時に検出します。SCSI カードが見つかれば、DrakX はそれに適したドライバを\n"
+"自動的にインストールします。\n"
+"\n"
+"ハードウェアの検出はいつも成功するとは限りません。DrakX はハードドライブの\n"
+"検出に失敗することがあります。そのような場合はお使いのハードウェアを手動で\n"
+"指定する必要があります。\n"
+"\n"
+"PCI/SCSI アダプタを手動で指定するときには、DrakX がそれ専用のオプションを\n"
+"設定するかどうか質問してきます。DrakX にハードウェアを調査させて、アダプタ\n"
+"を初期化するために必要なそのカード専用のオプションを検知させてください。\n"
+"たいていの場合、うまくいきます。\n"
+"\n"
+"DrakX がオプションを検知できず、ハードウェアにどのパラメータを送ればよい\n"
+"のかを自動的に判断できなかった場合は、手動でドライバを設定しなければなり\n"
+"ません。"
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"%s: サウンドカードが検出されると、ここに表示されます。\n"
+"表示されたサウンドカードがお使いのものでない場合は、ボタンをクリックして\n"
+"別のドライバを選んでください。"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX はあなたのシステムから収集した情報を表示します。ご使用のハードウェア"
+"の\n"
+"構成にもよりますが、下記の一部もしくはすべてについて確認することができま"
+"す。\n"
+"それぞれの項目には検出したハードウェアと現在の設定内容が表示されます。\n"
+"設定を変更するには「%s」をクリックしてください。\n"
+"\n"
+" * %s: 使用中のキーボードの設定を確認/変更できます。\n"
+"\n"
+" * %s: 現在選択されている国を確認できます。変更するには「%s」\n"
+"をクリックして他の国を選んでください。あなたの国がリストにないときは\n"
+"「%s」を押してください。すべての国名リストが表示されます。\n"
+"\n"
+" * %s: DrakX は選択された国に基づいてタイムゾーンを推定\n"
+"します。誤っている場合は「%s」をクリックしてください。\n"
+"\n"
+" * %s: 現在のマウスの設定を確認できます。変更する必要が\n"
+"あるときはボタンを押してください。\n"
+"\n"
+" * %s: 「%s」を押すとプリンタ設定ウィザードが\n"
+"開きます。新しいプリンタの追加方法については Starter Guide の該当する章を\n"
+"参照してください。マニュアルに掲載されているインターフェースは、\n"
+"インストール中に使用したものとほぼ同じです。\n"
+"\n"
+" * %s: サウンドカードが検出されると、ここに表示\n"
+"されます。表示されたものがお使いのものと異なる場合は、ボタンをクリックして\n"
+"別のドライバを選んでください。\n"
+"\n"
+" * %s: テレビカードをお使いであれば、ここに\n"
+"設定情報が表示されます。お持ちのカードが自動検出されなかった場合は\n"
+"「%s」をクリックして手動で設定を試みてください。\n"
+"\n"
+" * %s: 正しく設定されていないときは「%s」を押して正しい\n"
+"パラメータに変更してください。\n"
+"\n"
+" * %s: DrakX はグラフィカルインターフェースの解像度を\n"
+"\"800x600\" か \"1024x768\" に設定します。デフォルトの設定が適当でない場合\n"
+"は「%s」をクリックして設定し直してください。\n"
+"\n"
+" * %s: インターネットとローカルネットワークの設定。\n"
+"マニュアルを参照するか、もしくはインストール完了後に Mandriva Linux\n"
+"コントロールセンターのヘルプに従って行ってください。\n"
+"\n"
+" * %s: あなたのマシンがプロキシサーバの背後にあれば\n"
+"ここで HTTP/FTP プロキシアドレスを設定できます。\n"
+"\n"
+" * %s: 前のステップで設定したセキュリティレベルを\n"
+"設定し直すことができます。\n"
+"\n"
+" * %s: インターネットに接続されるのであれば、侵入などの\n"
+"危険からあなたのマシンを守るためにファイアウォールを設定してください。\n"
+"詳しい設定方法については、Starter Guide の該当する章を参照してください。\n"
+"\n"
+" * %s: ブートローダの設定を変更するときはこのボタンを\n"
+"押してください。(注意:これは上級者向きです) 印刷されたドキュメントまたは\n"
+"Mandriva Linux コントロールセンターのブートローダに関するヘルプを参照して\n"
+"ください。\n"
+"\n"
+" * %s: ここではどのサービスを有効にするかを細かく設定できます。\n"
+"サーバになるマシンであれば設定を見直すことをお勧めします。"
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN カード"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "グラフィカルインターフェース"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Mandriva Linux をインストールするためにフォーマットするハードドライブを\n"
+"選んでください。注意: このドライブのデータはすべて失われ、回復すること\n"
+"はできません。"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"このハードドライブのすべてのデータとパーティションを削除する場合は\n"
+"「%s」をクリックしてください。\n"
+"注意: 「%s」をクリックすると、Windows のデータも含め、このドライブ上の\n"
+"すべてのデータとパーティションは回復できなくなります。\n"
+"\n"
+"このハードドライブのデータとパーティションを消去せずにこの操作を中止\n"
+"する場合は「%s」をクリックしてください。"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "次へ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 戻る"
diff --git a/perl-install/install/help/po/ko.po b/perl-install/install/help/po/ko.po
new file mode 100644
index 000000000..72109c560
--- /dev/null
+++ b/perl-install/install/help/po/ko.po
@@ -0,0 +1,1504 @@
+# Korean translation of drakbootdisk.
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Jaegeum Choe <baedaron@hananet.net>, 2001.
+#
+# changes asked by HP people -- pablo 2003-01-23
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2002-09-09 09:08+0900\n"
+"Last-Translator: Jaegeum Cze <baedaron@hanafos.com>\n"
+"Language-Team: Korean <beadaron@hanafos.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"더 진행하기 전에 사용자 계약서를 자세하게 읽어 보세요.\n"
+"사용자 계약서는 전체 맨드리바 리눅스 배포본을 포괄하는 내용이며,\n"
+"만약 동의하지 않으신다면 「거부」버튼을 누르세요. 거부 버튼은 현재 설치를\n"
+"즉각 종료하게 합니다. 설치를 계속하고 싶다면 「동의」버튼을 누르세요."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "aboot를 사용하시겠습니까?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"선택된 하드디스크상의 기존 리눅스 파티션이 위에 열거되어 있습니다.\n"
+"마법사에 의해 이미 설정된 사항을 보존할 수도 있으며, 이는 대부분의 일반\n"
+"설치에 적절한 설정입니다. 만약 직접 변경하시겠다면, 최소한 루트 파티션"
+"(「/」)\n"
+"은 반드시 지정해야 합니다. 너무 작은 파티션을 선택하지는 마세요. 충분한 소프"
+"트웨어\n"
+"를 설치하지 못하는 수가 있습니다. 만약 개인 데이터가 별도의 파티션에 저장되도"
+"록\n"
+"하고 싶다면, 「/home」파티션을 별도로 만드세요.(오직 리눅스 파티션이 둘 이상"
+"일\n"
+"경우에만 가능합니다.)\n"
+"\n"
+"각 파티션은 다음과 같이 열거됩니다: 「이름」,「용량」.\n"
+"\n"
+"「이름」영역의 구조: 「하드디스크 유형」,「하드디스크 번호」,\n"
+"「파티션 번호」(가령, 「hda1」).\n"
+"\n"
+"「하드디스크 유형」은, IDE 디스크일 경우에는 「hd」이며,\n"
+"SCSI 디스크일 경우에는 「sd」입니다.\n"
+"\n"
+"「하드디스크 번호」는 항상 「hd」또는 「sd」뒤에 오는 문자입니다.\n"
+"IDE 하드디스크의 경우:\n"
+"\n"
+" ○ 「a」는 「주 IDE 제어기상의 주 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「b」는 「주 IDE 제어기상의 보조 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「c」는 「보조 IDE 제어기상의 주 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「d」는 「보조 IDE 제어기상의 보조 디스크」를 의미합니다.\n"
+"\n"
+"SCSI 하드디스크의 경우, 「a」는 「최소 SCSI ID」, 「b」는 「다음 최소 SCSI "
+"ID」\n"
+"와 같은 식으로 의미를 가집니다."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"맨드리바 리눅스 설치 시스템은 여러 장의 CD로 구성되어 있습니다.\n"
+"드레이크X는 선택된 각각의 팩키지가 어느 CD에 들어 있는지 이미 알고 있습니"
+"다.\n"
+"필요시 현재 CD를 자동으로 꺼내고 다른 CD의 삽입을 요청할 것입니다."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"이제 시스템상에 설치할 프로그램들을 지정할 차례입니다.\n"
+"맨드리바 리눅스에는 설치할 수 있는 수천 개의 프로그램들이 있기 때문에\n"
+"사용자가 그것들을 모두 다 알지는 못할 것입니다.\n"
+"\n"
+"만약 표준 CD 설치를 수행하고 있는 중이라면, 현재 가지고 있는 CD들에 대해\n"
+"질문할 것입니다. 가지고 있는 CD들의 라벨을 확인하고 현재 님의 상황에 맞는\n"
+"선택 상자를 지정하세요. 계속할 준비가 되었으면, 「확인」을 누르세요.\n"
+"\n"
+"팩키지들은 용도에 따라 그룹으로 나열되어 있습니다.\n"
+"그룹들 자체는 또다시 네 개의 영역으로 나열되어 있습니다:\n"
+"\n"
+" ○ 「워크스테이션」: 시스템을 워크스테이션으로 사용할 계획이라면,\n"
+"하나 이상의 해당 그룹을 선택하세요.\n"
+"\n"
+" ○ 「개발」: 시스템을 프로그래밍의 용도로 사용하려 한다면, 원하는 그룹들을\n"
+"선택하세요.\n"
+"\n"
+" ○ 「서버」: 끝으로, 시스템이 서버되기를 원한다면, 여기서 대부분의 일반 서비"
+"스들이\n"
+"설치되도록 선택할 수 있습니다.\n"
+"\n"
+" ○ 「그래픽 환경」: 여기는 님이 선호하는 그래픽 환경을 선택하는 곳입니다.\n"
+"그래픽 환경 워크스테이션을 원한다면, 최소한 하나는 선택해야 합니다!\n"
+"\n"
+"마우스 포인터를 그룹 이름들 위로 올리면, 해당 그룹에 대한 작은 풍선 도움말"
+"을\n"
+"보여 줄 것입니다.\n"
+"\n"
+"「개별 팩키지 선택」옵션을 선택할 수도 있습니다.\n"
+"이 옵션은 님이 제공되어지는 팩키지들에 대해 잘 알고 있거나, 설치되는 팩키지들"
+"에 대한\n"
+"총체적인 제어를 원할 경우에 유용할 것입니다.\n"
+"\n"
+"만약 님이 「업데이트」모드로 설치를 시작했다면, 기존에 설치되지 않은 팩키지들"
+"이\n"
+"설치되는 것을 막기위해 모든 그룹을 선택해제할 수 있습니다. 이렇게 하는 것은\n"
+"기존 시스템을 업데이트하거나 고치기 위한 좋은 방법입니다."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "업그레이드"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "문서"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "최소 설치"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"이제 부팅시에 어떤 서비스를 자동으로 시작하게 할지를 선택해야 합니다.\n"
+"\n"
+"현재 설치된 모든 서비스들이 여기에서 보여지고 있습니다.\n"
+"신중하게 검토해서 부팅시에 항상 필요로하는 것이 아니라면 선택을 해제하세요.\n"
+"\n"
+"마우스를 서비스 이름들 위로 올리면, 각 서비스에 대한 간단한 설명을 보여 줄 것"
+"입니다.\n"
+"만약 어떤 서비스가 필요한 것인지 아닌지를 잘 모르겠다면,\n"
+"기본값으로 그냥 두는 것이 안전한 선택입니다.\n"
+"\n"
+"이 컴퓨터를 서버용으로 사용하려 한다면, 이 단계에서 매우 주의해야 합니다.\n"
+"필요하지 않은 서비스가 시작되는 것은 바람직하지 않습니다. 일부 서비스는 \n"
+"서버상에서 실핸된다면 위험할 수도 있다는 것을 명심하세요. 원칙적으로 \n"
+"꼭 필요한 서비스들만 선택하세요."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "자동 시간 동기화 (NTP 사용)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"마지막으로, 부팅시에 자동으로 그래픽 환경을 사용할 것인지를 질문할 것입니"
+"다.\n"
+"주의: 이 질문은 설정을 테스트하지 않았을지라도 나타나게 될 것입니다.\n"
+"시스템을 확실히 서버용으로 사용할 것이거나, 화면 설정에 성공하지 못한 경우라"
+"면\n"
+"「아니오」를 누르세요."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"이제 하드디스크의 어디에 리눅스 맨드리바를 설치할지를\n"
+"선택해야 합니다. 만약 하드디스크가 완전히 비어 있거나 또는\n"
+"다른 운영체제가 하드디스크 전체를 점유하고 있다면, 파티션을\n"
+" 나누어야 합니다. 파티션을 나눈다함은 리눅스 맨드리바가\n"
+"설치될 공간을 확보하기 위하여 디스크를 논리적으로 분할한다는 의미입니다.\n"
+"\n"
+"일반적으로 파티션 과정을 거쳐 버리면 기존 데이터의 복구가 불가능해지기\n"
+"때문에,초보자에게는 고민스럽고 걱정스러운 작업입니다. 하지만 마법사를\n"
+"사용하면 이 작업을 쉽게 할 수 있습니다. 시작하기 전에, 충분한 시간을 가지고\n"
+"사용자 설명서를 읽어 보세요.\n"
+"\n"
+"현재 전문가 모드로 설치를 진행 중이라면, 리눅스 맨드리바의 파티션 분할 도구"
+"인\n"
+"디스크드레이크를 만나게 될 것입니다. 이 도구는 파티션드르이 세밀한 조정을 가"
+"능하게\n"
+"합니다. 설명서의 디스크드레이크 장을 보세요; 사용법이 동일합니다. 위에서 언급"
+"했듯이\n"
+"화면에 있는 「마법사」버튼을 눌러서, 파티션 분할 작업을 위한 마법사를\n"
+"실행할 수도 있습니다.\n"
+"\n"
+"만약 이전에 리눅스를 설치한 적이 있거나 다른 파티션 도구로 만들어 놓은 리눅스"
+"용\n"
+"파티션들이 이미 존재한다면, 리눅스 설치에 사용할 파티션들을\n"
+"선택만 하면 됩니다.\n"
+"\n"
+"만약 아직 리눅스용 파티션이 없다면, 새로 만들어야 합니다. 그러기 위해서는\n"
+"위에 있는 마법사를 사용하세요. 하드디스크의 설정에 따라 다음과 같은\n"
+"몇 가지의 방법이 있습니다:\n"
+"\n"
+" ○ 빈 공간 사용: 빈 디스크의 자동 파티션 분할 작업을 하게 됩니다.\n"
+"파티션 분할 작업에 대해 더 이상 신경쓸 필요가 없게 됩니다.\n"
+"\n"
+" ○ 기존 파티션 사용: 마법사가 기존의 리눅스 파티션을 발견한 경우입니다.\n"
+"기존의 파티션에다가 리눅스를 설치할려면, 이것을 선택하세요.\n"
+"\n"
+" ○ 윈도우즈 파티션의 빈 공간 사용: 만약 MS 윈도우즈가 설치되어 있고 모든 디스"
+"크 공간을 사용하고 있다면,\n"
+"리눅스용 공간을 새로 만들어야 합니다. 이렇게 하기위해서는, 윈도우즈 파티션을 "
+"지우거나(「전체 디스크 삭제」\n"
+"와 「전문가 모드」부분을 참조하세요.), 윈도우즈 파티션의 크기를 재조정하여 공"
+"간을 확보할 수 있습니다. 윈도우즈\n"
+"파티션의 재조정은 기존의 데이터를 파괴하지 않기 때문에, 윈도우즈와 리눅스 맨"
+"드레이크를 한 컴퓨터에서 함께\n"
+"사용하고자 한다면 이것이 권장되는 방법입니다.\n"
+"\n"
+"이 방법을 선택한다면, 윈도우즈 파티션의 크기가 현재보다 줄어들기 때문에 윈도"
+"우즈를\n"
+"사용할 때에는 소프트웨어를 설치하거나 데이터를 저장할 빈 공간이 그만큼 적어진"
+"다는\n"
+"것을 유념하세요.\n"
+"\n"
+" ○ 전체 디스크 삭제: 만약 디스크상의 모든 기존 파티션과 데이터를 삭제하고\n"
+"리눅스 맨드리바를 위한 파티션으로 바꾸고 싶다면, 이것을 선택하세요.\n"
+"주의하세요: 일단 이렇게 하고나면 다시 되돌릴 수 없습니다.\n"
+"\n"
+" !! 이 옵션을 선택하게 되면, 디스크상의 모든 데이터가 손실됩니다. !!\n"
+"\n"
+" ○ 윈도우즈 제거: 디스크상의 모든 파티션을 삭제하고, 초기화된 디스크 상태에"
+"서\n"
+"파티션 작업을 다시 합니다. 디스크상의 모든 데이터는 손실됩니다.\n"
+"\n"
+" !! 이 옵션을 선택하게 되면, 디스크상의 모든 데이터가 손실됩니다. !!\n"
+"\n"
+" ○ 전문가 모드: 만약 수동으로 파티션 작업을 하고자 한다면, 이것을 선택하세"
+"요.\n"
+"이 방법은 대단히 강력하지만 또한 위험할 수 있다는 것을 명심하세요. 쉽게 데이"
+"터를\n"
+"잃어 버릴 수 있습니다. 전문적인 지식이 없다면, 이 방법은 절대 선택하지 마세"
+"요."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "기존의 파티션 사용"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "전체 디스크 삭제"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"설치를 완료하였습니다. 님의 GNU/리눅스 시스템은 이제 사용할 준비가\n"
+"되었습니다. 시스템을 다시 부팅하려면 「확인」을 누르세요.\n"
+"컴퓨터가 다시 부팅되면, (다중 부팅이 설정되었을 경우에) 님이 선호하는\n"
+"운영체제를 시작할 수 있습니다.\n"
+"\n"
+"「고급」버튼(점문가 모드에만 있음)을 누르면 두 개의 추가 버튼이 나타넙니다:\n"
+"\n"
+" ○ 「자동 설치 플로피 생성」: 님이 지금까지 설치한 내용을 관리자의 별다른\n"
+"도움없이 자동으로 전체 설치를 수행하게 하는\n"
+"자동 설치 플로피 디스크를 만듭니다.\n"
+"\n"
+" 주의: 버튼을 누르면 두 개의 개별적인 옵션이 나타납니다:\n"
+"\n"
+" ○ 「재생」: 파티션 나누기 작업만 제외하고, 나머지 과정은 자동설치로\n"
+"수행하는 자동설치 플로피를 만듭니다.\n"
+"\n"
+" ○ 「자동화」: 디스크상의 모든 데이터를 삭제하고 모든 파티션이 다시\n"
+"만들어지는 완벽한 자동 설치를 수행하는 플로피를 만듭니다.\n"
+"\n"
+" 이 기능을 사용하면, 많은 수의 비슷한 컴퓨터에 설치작업을 할 때 편리합니"
+"다.\n"
+" 자세한 정보는 저희 윕사이트의 자동설치관련 부분을 참조하세요.\n"
+"\n"
+" ○ 「팩키지 선택사항 저장」(*): 앞 단계에서 선택한 팩키지 목록을 저장합니"
+"다.\n"
+"또 다른 설치를 수행할 때, 플로피를 드라이브에 넣고, [F1]키를 눌러서\n"
+"설치 화면이 도움말 화면으로 들어가게 한후, 「linux defcfg=\"floppy\"」라고\n"
+"입력하세요.\n"
+"\n"
+"(*) 님은 FAT으로 포맷된 플로피 하나를 가지고 있어야 합니다.\n"
+" (리눅스에서 포맷하려면, 「mformat a:」명령을 사용하세요.)"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "자동 설치 플로피 디스크 생성"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"새로 만들어진 파티션들은 포맷되어져야 합니다.\n"
+"(포맷이라 함은 파일 시스템을 만든다는 의미입니다.)\n"
+"\n"
+"지금 기존의 데이터를 삭제하기 위해서 기존 파티션들을\n"
+"다시 포맷할 수도 있습니다. 그렇게 하고 싶다면, 해당 파티션들도\n"
+"선택하세요.\n"
+"\n"
+"주의: 모든 기존 파티션들을 다시 포맷할 필요는 없습니다.\n"
+"(「/」,「/usr」,「/var」와 같은) 운영체제를 담고 있는 파티션들은\n"
+"다시 포맷하더라도, (「/home」과 같은) 데이터를 단고 있는 파티션들은\n"
+", 기존 데이터를 보존하고 싶을 경우, 다시 포맷할 필요가 없습니다.\n"
+"\n"
+"파티션들을 선택할 때 주의하세요. 일단 포팩이 되고나면,\n"
+"선택됐던 파티션상에 존재했던 모든 데이터는 삭제되며,\n"
+"복구가 불가능해 집니다.\n"
+"\n"
+"포맷할 준비가 되었으면, 「확인」을 누르세요.\n"
+"\n"
+"맨드리바 리눅스 설치용 파티션을 다시 선택하고 싶다면,\n"
+"「취소」를 누르세요.\n"
+"\n"
+"디스크상의 손상된 블럭을 체크하며 포맷하고 싶다면,\n"
+"「고급」을 누르세요."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"이제 컴퓨터의 보안 수준을 선택할 단계입니다.\n"
+"자유로운 사용을 위해서는 컴퓨터가 보다 더 많이 개방되어져야 하며,\n"
+"저장된 데이터의 중요성이 크면 클수록, 더 높은 보안 수준이 유지되어야 합니"
+"다.\n"
+"그러나 일반적으로 보다 높은 보안 수준은 보다 많은 사용상의 불편함을 감수해야"
+"만\n"
+"이루어질 수 있음을 유념하세요. 각 보안 수준이 의미하는 바에 대한 자세한 정보"
+"를\n"
+"알고 싶다면 「사용자 지침서」의 MSEC 장을 참조하세요.\n"
+"\n"
+"어느 것을 선택해야 할지 잘 모르겠다면, 기본값을 유지하세요."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "보안 관리자 (로그인 또는 이메일)"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"이제 어느 파티션이 맨드리바 리눅스의 설치용으로 사용되어야 할지를\n"
+"선택해야 합니다. 이전에 다른 GNU/리눅스를 설치한 적이 있거나, 다른 파티션\n"
+"도구를 사용하여 이미 파티션들이 정의되어 있다면, 기존 파티션을 그대로 사용\n"
+"할 수 있습니다. 그렇지 않다면 하드디스크의 파티션들을 지금 만들어야 합니다.\n"
+"\n"
+"파티션을 만들려면, 먼저 하드디스크를 선택하세요. 파티션을 만들여는 하드디스크"
+"가\n"
+"첫 번째 IDE 디스크라면 「hda」, 두 번째 IDE 디스크라면 「hdb」와 같은 식이"
+"며,\n"
+"첫 번째 SCSI 디스크라면 「sda」와 같은 식입니다.\n"
+"\n"
+"파티션을 나눌 때, 다음 옵션을 사용할 수 있습니다:\n"
+"\n"
+" ○ 「모두 삭제」: 선택된 디스크의 모든 기존 파티션을 삭제합니다.\n"
+"\n"
+" ○ 「자동 할당」: 선택된 디스크의 빈 공간에 자동으로 EXT2와 스왑 파티션을\n"
+"할당합니다.\n"
+"\n"
+" ○ 「파티션 테이블 복구」: 파티션 테이블이 손상되어 있을 경우, 이 옵션으로\n"
+"손산된 테이블을 복구합니다. !!주의!! 복구시도가 실패할 수도 있다는 것을\n"
+"명심하세요.\n"
+"\n"
+" ○ 「되돌리기」: 변경 사항을 취소합니다.\n"
+"\n"
+" ○ 「다시 읽기」: 모든 변경 사항을 취소하고, 초기 파티션 테이블을 다시 읽습"
+"니다.\n"
+"\n"
+" ○ 「마법사」: 마법사를 실행하여 파티션을 나눕니다. 파티션 나누기에 대한 지"
+"식이\n"
+"부족하다면, 이 옵션을 사용하세요.\n"
+"\n"
+" ○ 「플로피로부터 복구」: 이전에 플로피에 저장해둔 파티션 정보을 사용하여\n"
+"파티션 테이블을 복구합니다.\n"
+"\n"
+" ○ 「플로피에 저장」: 파티션 정보를 플로피에 저장합니다. 다음에 파티션 테이"
+"블을 복구할\n"
+"일이 생길 때 사용됩니다. 이 과정을 수행할 것을 권장하는 바입니다.\n"
+"\n"
+" ○ 「완료」: 파티션 나누기 작업을 끝마치면, 이 옵션으로 변경 사항을 저장합니"
+"다.\n"
+"\n"
+"정보: 키보드로 옵션을 선택할 수도 있습니다. 파티션들간의 이동은 [Tab]키와\n"
+"[Up/Down]키를 사용하세요.\n"
+"\n"
+"파티션을 선택하고 난 후에는 다음 키를 사용할 수 있습니다:\n"
+"\n"
+" ○ 「Ctrl + c」: (빈 파티션이 선택된 경우,) 새 파티션 만들기.\n"
+"\n"
+" ○ 「Ctrl + d」: 파티션 삭제하기.\n"
+"\n"
+" ○ 「Ctrl + m」: 마운트 위치 지정하기.\n"
+"\n"
+"만약 PPC 컴퓨터에서 설치하고 있는 중이라면, YABOOT 부트로더가 사용할 최소 "
+"1MB\n"
+"의 HFS 「부트스트랩」파티션을 만들 필요가 있습니다. 만약 그 파티션을 보다 크"
+"게\n"
+"(가령, 50MB) 만들면, 응급 상황시에 사용할 여분의 커널과 램디스크 이미지를\n"
+"저장할 수 있는 유용한 장소가 될 것입니다."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "탈착식 미디어 자동 마운트"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "일반 모드로 전환"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"둘 이상의 MS 윈도우즈 파티션이 디스크상에서 발견되었습니다.\n"
+"맨드리바 리눅스 운영체제를 설치하기 위해 크기를 조정할\n"
+"파티션을 선택하세요.\n"
+"\n"
+"각 파티션은 다음과 같이 열거됩니다: 「리눅스 이름」,「윈도우즈 이름」,\n"
+"「용량」.\n"
+"\n"
+"「리눅스 이름」영역의 구조: 「하드디스크 유형」,「하드디스크 번호」,\n"
+"「파티션 번호」(가령, 「hda1」).\n"
+"\n"
+"「하드디스크 유형」은, IDE 디스크일 경우에는 「hd」이며,\n"
+"SCSI 디스크일 경우에는 「sd」입니다.\n"
+"\n"
+"「하드디스크 번호」는 항상 「hd」또는 「sd」뒤에 오는 문자입니다.\n"
+"IDE 하드디스크의 경우:\n"
+"\n"
+" ○ 「a」는 「주 IDE 제어기상의 주 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「b」는 「주 IDE 제어기상의 보조 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「c」는 「보조 IDE 제어기상의 주 디스크」를 의미합니다.\n"
+"\n"
+" ○ 「d」는 「보조 IDE 제어기상의 보조 디스크」를 의미합니다.\n"
+"\n"
+"SCSI 하드디스크의 경우, 「a」는 「최소 SCSI ID」, 「b」는 「다음 최소 SCSI "
+"ID」\n"
+"와 같은 식으로 의미를 가집니다.\n"
+"「윈도우즈 이름」은 MS 윈도우즈하에서의 이름입니다.\n"
+"(가령, 첫 번째 디스크 또는 파티션은 「C:」입니다.)"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"일반적으로, 드레이크X는 (선택한 언어에 기반하여) 올바른 키보드를\n"
+"자동으로 선택합니다. 그러나 사용하는 언어에 정확히 일치하는 키보드를\n"
+"가지고 있지 않은 경우도 있을 수 있습니다: 가령, 영어를 사용하는 스위스인은\n"
+"여전히 스위스 키보드를 원할 수도 있습니다. 또한 영어를 사용하지만, 캐나다 퀘"
+"벡주에\n"
+"살고 있다면 또한 이러한 경우가 될 것입니다. 이와 같은 경우라면, 이 단계에서\n"
+"적당한 키보드를 목록에서 선택해야 합니다.\n"
+"\n"
+"지원되는 모든 키보드 목록을 보려면, 「추가정보」를\n"
+"누르세요."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"설치시 그리고 시스템용으로 사용할 언어를 선택하세요.\n"
+"\n"
+"「고급」을 누르면, 다른 언어도 추가로 선택할 수 있습니다.\n"
+"다른 언어도 선택하게 되면, 그 언어와 관련된 시스템 문서 및 프로그램 파일들"
+"도\n"
+"설치하게 됩니다. 가령, 님의 시스템을 일본인도 사용할 수 있도록 하고 싶다면,\n"
+"목록에서 주 언어로 「한국어」를 선택하고, 「고급」에서 「일본어」에 해당하"
+"는\n"
+"회색 별표를 선택하세요.\n"
+"\n"
+"여러개의 추가 언어를 선택할 수도 있습니다. 언어 선택을 끝마쳤으면,\n"
+"「확인」을 눌러서 계속 진행하세요."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"기본적으로 드레이크X는 님이 2버튼 마우스를 사용한다고 가정할 것이며,\n"
+"세 번째 버튼은 에뮬레이션할 것입니다. 마우스가 PS/2, 시리얼, 혹은 USB용인지"
+"는\n"
+"드레이크X가 자동으로 알아낼 수 있습니다.\n"
+"\n"
+"만약 다른 마우스 유형을 지정하고 싶다면, 제공되는 목록에서 적당한 것을\n"
+"선택하세요.\n"
+"\n"
+"만약 다른 마우스를 선택하게 되면, 마우스 테스트 화면을 보게될 것입니다.\n"
+"그러면, 마우스 버튼과 휠을 조작하여 설정이 정확하게 되었는지 확인하세요.\n"
+"만약 제대로 작동하기 않으면,「취소」버튼 위에서 스페이스 키나 엔터 키를\n"
+"누르고 다시 선택하시기 바랍니다."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "버튼 에뮬레이션"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"정확한 포트를 선택하세요. 예를 들어, MS 윈도우즈에서 COM1은\n"
+"리눅스에서는 ttyS0로 명명됩니다."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "사용자 인증"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pDQ"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "전문가"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"드레이크X가 시스템상에 있는 모든 하드 디스크를 검색하고\n"
+"또한 PCI SCSI 어댑터 탐지를 시도할 것입니다.\n"
+"만약 드레이크X가 장치를 발견하게 되면 자동으로\n"
+"올바른 드라이버를 설치할 것입니다.\n"
+"\n"
+"드레이크X의 장치 검색이 실패하더라도, 님께 SCSI 장치의 유무를 질문하게 됩니"
+"다.\n"
+"목록에서 장치를 직접 선택하려면 「예」를, SCSI 장치가 없다면 「아니오」를 선"
+"택하세요.\n"
+"잘 모르겠다면, 「하드웨어 정보 보기」를 선택한 후 「확인」을 눌러서\n"
+"시스템상에 존재하는 하드웨어들을 살펴볼 수도 있습니다.\n"
+"하드웨어에 대한 검토가 끝나면 다시 「확인」버튼을 눌러서 SCSI 인터페이스 질"
+"문 화면\n"
+"으로 돌아 올 수 있습니다.\n"
+"\n"
+"직접 어댑터를 지정해야 할 때에는, 드레이크X가 옵션을 지정할 것인지를 물어\n"
+"볼 것입니다. 이 때는 드레이크X가 필요한 옵션을 탐지하도록 하는 것이 좋습니"
+"다.\n"
+"일반적으로 이 방법은 잘 작동합니다.\n"
+"\n"
+"\n"
+"만약 그렇지 않다면, 직접 드라이버 옵션을 지정해야 합니다. 사용자 설명서(3"
+"장, \n"
+"「하드웨어에 대한 종합정보」색션)를 참조하여, 하드웨어 설명서, \n"
+"(인터넷에 연결할 수 있다면) 제조업체 웹 사이트, \n"
+"또는 (윈도우즈가 설치되어 있다면) MS 윈도우즈에서 어떻게 여기에 필요한 \n"
+"정보를 알아 낼 수 있는지 찾아 보세요."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "내장 ISDN 카드"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "시작시 바로 X 실행"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"맨드리바 리눅스 파티션을 만들기 위해서 삭제할 하드디스클르 선택하세요.\n"
+"주의:\n"
+"디스크상의 모든 데이터는 손실되며, 영원히 복구가 불가능해 집니다!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"이 하드디스크상의 모든 데이터와 파티션을 삭제하려면, 「확인」을 누르세요.\n"
+"!!주의하세요!!일단 「확인」을 누르게 되면, MS 윈도우즈 데이털르 포함하여 이 "
+"디스트상의 모든\n"
+"데이터와 파티션은 복구가 불가능해 집니다.\n"
+"\n"
+"이 작업을 취소하려면, 지금 「취소」를 누르세요. 어떠한 데이터와 파티션도\n"
+"손상되지 않을 것입니다."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "다음 ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 이전"
+
diff --git a/perl-install/install/help/po/ky.po b/perl-install/install/help/po/ky.po
new file mode 100644
index 000000000..35d10bc24
--- /dev/null
+++ b/perl-install/install/help/po/ky.po
@@ -0,0 +1,1536 @@
+# translation of DrakX-ky.po to Kyrgyz
+# Copyright (C) 2004,2003, 2005 Free Software Foundation, Inc.
+# Timur Jamakeev <ztimur@mail.ru>, 2003,2004.
+# Nurlan Borubaev <nurlan@tamga.info>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-ky\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-04-20 20:27+0500\n"
+"Last-Translator: Nurlan Borubaev <nurlan@tamga.info>\n"
+"Language-Team: Kyrgyz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Мындан ары улантуу үчүн сиз лицензия шартын көңүл коюп окууңуз керек.\n"
+"Ал Mandriva Linux'тун бардык дистрибутивдерине таратылат. Эгер сиз анын\n"
+"ичиндеги бардык шарттарга көнбөсөңүз, \"%s\" рамкасын тандаңыз. Андай\n"
+"болбосо, \"%s\" баскычын бассаңыз сиздин компьютер кайра жүктөлөт."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux-көп колдонуучулуу система, бул болсо, ар бир колдонуучу\n"
+"үчүн өзү жактырган чөйрөнүн, өз файлдарынын ж.б. болушун түшүндүрөт.\n"
+"Көбүрөөк билүү үчүн сиз ``Баштоочунун колдонмосун' окусаңыз болот.\n"
+"Системанын администратору болгон \"root\" колдонуучусунан айырмаланган,\n"
+"сиз бул жерден кошуу колдонуучулар өздөрүнүн файлдарынан жана\n"
+"конфигурацияларынан башканы өзгөртүүгө укуктары жок. Сиз жок дегенде\n"
+"өзүңүз үчүн бир кадимки колдонуучу аккаунтун түзүшүңүз керек.\n"
+"Бул аккаунтту сиз күн сайын иштөө үчүн колдоносуз. Каалаган нерсеңизди\n"
+"\"root\" катары кирип өзгөртүү өтө жеңил болгону менен, ал ошол эле\n"
+"убакта өтө эле кооптуу! Эң эле майда ката да, сиздин системаңыздын андан\n"
+"ары иштебей калышына алып келиши мүмкүн. Эгер сиз кадимки колдонуучу\n"
+"болуп туруп чоң ката кетрисеңиз, сиз кайсы бир маалыматтарды жоготуп\n"
+"алышыңыз мүмкүн, бирок бардык системаны эмес.\n"
+"\n"
+"Биринчи талаага сиз өз атыңызды киргизесиз. Бул, албетте, милдетүү\n"
+"эмес -- ошондуктан сиз каалаган нерсеңизди киргизе берсеңиз болот. \n"
+"DrakX бул талаадыгы сиз киргизген бирнчи сөздү алып \"%s\" ордуна\n"
+"коёт. Бул атты кадимки колдонуучу системага кирүү үчүн колдонот.\n"
+"можете изменить его. Кааласаңыз бул атты, ж.б. өзгөртсүңүз болот.\n"
+"Андан кийин кадам-пароль киргизүү. Коопсуздук тарабынан алганда\n"
+"\"root\" паролуна караганда привилегиясыз (кадимки) колдонуучунун\n"
+"паролу анча деле критикалуу эмес, буга карбастан ага жөнөкөй\n"
+"пароль берүү же таптакыр бош калтырууга эч кандай себеп жок,\n"
+"не дегенде өз файлдарыңыздан айрылып калышыңыз мүмкүн.\n"
+"\n"
+"Сиз \"%s\" баскычын басып, башка колдонуучуларды кошо аласыз\n"
+"Ар бир досуңуз үчүн, мисалы атаңызга же эжеңизге аккаунт\n"
+"түзүңүз. Колдонуучуларды түзүп бүткөндөн кийин \"%s\"\n"
+"баскычын басыңыз.\n"
+"\n"
+"\"%s\" баскычын басуу бул колдонуучуга алдыалынган\n"
+"\"shell\"-чөйрөнү өзгөртүүгө мүмкүнчүлүк берет (алдыалынганы bash)\n"
+"\n"
+"Бардык колдонуучулар кошулуп бүткөн соң, система жүктөлгөндөн\n"
+"кийин автоматтык түрдө кирүү мүмкүнчүлүгү бар колдонуучуну\n"
+"тандоо сунуш кылынат. Эгер сизди бул мүмкүнчүлүк кызыктырса\n"
+"(сизди локалдык коопсуздук ойлонтпосо), тийиштүү колдонуучуну\n"
+"жана терезе менеджерин тандап \"%s\" баскычын басыңыз.\n"
+"Эгер сизди мындай мүмкүнчүлүк кызыктырбаса, анда \"%s\"\n"
+"чарчыбелгисин тазалап салыңыз."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Мындай мүмкүнчүлүктү каалайсызбы?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Жогорудагы тизме сиздин катуу дискиңиздеги табылган Linux бөлүмдөрү.\n"
+"Сиз аны уста жасагандай калтырсаңыз болот, анткени ал бардык кадимки\n"
+"инсталляциялар үчүн жарактуу. Эгер сиз кандайдыр бир өзгөртүүлөрдү\n"
+"киргизсеңиз, анда жок эле дегенде түпкү-root (\"/\") бөлүмү болушу керек.\n"
+"Анын көлөмүн өтө эле кичине кылбаңыз, антсеңиз сиз жетиштүү сандагы\n"
+"программалык жабдууларды орното албай каласыз. Эгер сиз өзүңүздүн\n"
+"берилиштерңизди башка бөлүмдө сактооңуз келсе, сизге \"/home\"\n"
+"бөлүмүн да түзүүгө туура келет (бирден көп Linux бөлүмдөрү бар\n"
+"учурда гана мүмкүн).\n"
+"\n"
+"Ар бир бөлүм төмөнкүдөй санап көрсөтүлгөн: \"Аты\", \"Көлөмү\".\n"
+"\n"
+"\"Аты\": \"катуу дисктин тиби\", \"катуу дисктин номери\",\n"
+"\"бөлүм номери\" (мисалы, \"hda1\") катары структураланган.\n"
+"\n"
+"\"Катуу дисктин тиби\": \"hd\"-эгер сиздин катуу диск IDE болсо\n"
+"\"sd\"-эгер ал SCSI болсо.\n"
+"\n"
+"\"Катуу дискти номери\" дайыма тамга жана \"hd\" же \"sd\" уландысы.\n"
+"IDE катуу дисктери үчүн:\n"
+"\n"
+" * \"a\" \"биринчи IDE контроллеринин master катуу дискин\" түшүндүрөт;\n"
+"\n"
+" * \"b\" \"биринчи IDE контроллеринин slave катуу дискин\" түшүндүрөт;\n"
+"\n"
+" * \"c\" \"экинчи IDE контроллеринин master катуу дискин\" түшүндүрөт;\n"
+"\n"
+" * \"d\" \"экинчи IDE контроллеринин slave катуу дискин\" түшүндүрөт;\n"
+"\n"
+"SCSI катуу дисктери үчүн , \"a\" болсо \"lowest SCSI ID\" экендигин,\n"
+"ал эми \"b\" болсо \"second lowest SCSI ID\", ж.д.у.с. экендигин берет"
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux орнотулушу бир нече CD-ROMго бөлүнүп жайгаштырылган. Эгерде\n"
+"тандалган пакет башка CD-ROMдо жатса, DrakX учурдагы CDни чыгарып\n"
+"керектелип жаткан тийишүү CDни салууңузду сурайт. Эгерде Сизде тийиштүү\n"
+"CD кол алдыңызда жок болсо, жөн гана \"%s\" түймөсүн чертиңиз, бул учурда\n"
+"тиешелүү пакет орнотулбай кала берет."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Эми системаңызга кайсы программаларды орнотууну кааларыңызды аныктоого\n"
+"убакыт келип жетти. Mandriva Linux менен кошо миңдеген пакеттер сунуш "
+"кылынат,\n"
+"тандоону жеңилдетүү үчүн алар жакындыгынакарата топторго бөлүнгөн.\n"
+"\n"
+"Пакеттер машинаңыздын колдонуу спецификасына дал келе тургандай\n"
+"болуп топторго иреттелген. Mandriva Linux'та пакетер төрт категория\n"
+"боюнча иреттелет. Сиз ар түрдүү категорияларда жайгашкан тиркемелерди\n"
+"аралаштырып же айкалыштыра аласыз, мисалы ``Иш станциясы'' орнотуу варианты\n"
+"``Иштеп түзүү'' категорясындагы тиркемелерди да камтышы мүмкүн.\n"
+"\n"
+" * \"%s\": эгер сиз машинаны иш станциясы катары колдонгуңуз келсе,\n"
+"иш станциясы категориясынан бир же бир нече тийиштүү группаны\n"
+"тандаңыз.\n"
+"\n"
+" * \"%s\": эгер сиз програмалоо менен алектенгиңиз келсе,\n"
+"бул категориядагы тийиштүү группаны тандаңыз.\n"
+"\n"
+" * \"%s\": эгер сиздин машина сервер катары иштей турган болсо, ага көп\n"
+"колдонулуучу кызматтардын кайсыларын орнотууну кааласаңыз тандаңыз.\n"
+"\n"
+" * \"%s\": бул жерден сиз жактырган графикалык чөйрөнү тандашыңыз\n"
+" керек. Эгер сиз графикалык чөйрөдө иштөөнү кааласаңыз,\n"
+"жок дегенде алардын бири тандалышы керек.\n"
+"\n"
+"Чычкандын сөөмөйүн группанын атына алып келсеңиз, ал группага\n"
+"тийиштүү түшүндүрмө көрсөтүлөт.\n"
+"\n"
+"Сизге \"%s\" чарчыбелгисин тандоо пайдалуу болот, албетте эгерде сиз\n"
+"сунушталып жаткан пакеттерди жакшы билесиңиз, же орнотулуп жаткандарды\n"
+"толук көзөмөлдөп турууну кааласаңыз.\n"
+"\n"
+"Эгер орнотууну \"%s\" режиминде баштасаңыз, кандайдыр бир жаңы пакеттер\n"
+"орнотулушуна жол бербөө үчүн бардык группаларды тандоо чарчыбелгисин "
+"тазалап\n"
+"таштасаңыз болот. Бул орнотулган системаны калыбына келтирүү же жаңылоо "
+"учурунда пайдалуу.\n"
+"\n"
+"Эгеред кадимкидей орнотуу учурунда бир да группа тандабасаңыз (жаңылоого "
+"тийиштүү\n"
+"эмес), минималдык инсталляция үчүн ар кандай опциялары менен\n"
+"диалог пайда болот:\n"
+"\n"
+" * \"%s\": графикалык иш столунун иштешине керектелинүүчү\n"
+"пакеттердин минималдык тобун орнотуу.\n"
+"\n"
+" * \"%s\": негизги системаны жана базалык утилиталарды документациялары "
+"менен\n"
+"кошо орнотуу. Бул инсталляция сервер катары орнотууга туура келет.\n"
+"\n"
+" * \"%s\": Linux системасынын иштеши үчүн керектүү эң эле минималдык "
+"пакеттер\n"
+"орнотулат. Бул вариантта сиз командалык сап режиминде гана иштей аласыз. "
+"Бул\n"
+"орнотуунун жалпы өлчөмү 65 мегабайтты ээлейт."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Жаңылоо"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Базалык документация менен"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Эң минималдык орнотуу"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Эгер сиз инсталляторго пакеттерди өз алдыңызча тандоону билдирсеңиз,\n"
+"анда ал группаларга жана подгруппаларга бөлүнгөн бардык пакеттердин\n"
+"дарагын көрсөтөт. Даракты кароо учурунда сиз группаны толугу менен,\n"
+"подгруппаларды же өз алдынча турган пакеттерди тандасаңыз болот.\n"
+"\n"
+"Дарактан пакетти тандоо учурунда, оң жак тарабына пакеттин максатын\n"
+"баяндоочу жардам чыгарылат.\n"
+"\n"
+"!! Эгерде кандайдыр бир сервердик пакет тандалса, сиз аны атайын\n"
+"тандасаңыз же ал башка пакеттин бөлүгү болсо, сиз аны чынында эле\n"
+"ал серверлерди орнотууну каалагандыгыңызды сурайт. Mandriva Linux\n"
+"бардык орнотулган серверлерлерди жүктөө убагында алдынала ишке\n"
+"киргизилет. Дистрибутив чыгарылып жаткан убакта алар коопсуздук\n"
+"боюнча белгилүү проблемалары жок болгону менен, аларда бул\n"
+"Mandriva Linux версиясы чыгарылгандан кийин да, кооптуу болгон\n"
+"жылчыктар табылышы мүмкүн. Эгер сиз берилген кызмат эмне үчүн\n"
+"колдонорун жана эмне иш кыларын билбесеңиз \"%s\" басыңыз.\n"
+"Эгер сиз \"%s\" бассаңыз тизмедеги бардык кызматтар орнотулуп\n"
+"система жүктөлүү учурунда автоматтык түрө ишке киргизилет!!\n"
+"\n"
+"Инсталлятор менен пакеттерди автоматтык түрдө тандоодо\n"
+"\"%s\" опциясы көз карандылык бардыгын билдирүүчү эскертүү\n"
+"диалогун чыгарууга тыйуу салат. Кээ бир пакеттер бири-бири менен\n"
+"байланышкандыктан инсталляторго кээ бир кошумча программаларды\n"
+"орнотууга туура келет. Инсталлятор орнотуунун ийгиликтүү аякташы\n"
+"максатында, көз карандылыктарды канаатандыруу үчүн кандай\n"
+"пакеттердин керектигин өзү аныктайт.\n"
+"\n"
+"Тизменин төмөн жагындагы флоппинин кичинекей сүрөтбелгиси мындан\n"
+"мурунку инсталляцияда тандалган пакеттердин тизмесин жүктөөгө\n"
+"мүмкүндүк берет. Эгер сиз бул сүрөтбелгини бассаңыз, мындан мурунку\n"
+"инсталляция учурунда даярдалган флоппини салууңузду суранат. Мындай\n"
+"флоппини түзүү үчүн акыркы кадамдагы экинчи кеңешти караңыз."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Автоматтык көз карандылыктар"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" баскычын басуу менен принтерди конфигурацилоо устасы\n"
+"ачылат. Жаңы принтерди кантип орнотуу керектигин билүү үчүн,\n"
+"``Баштоочунун колдонмосундагы'' тийиштүү главаны окуп чыгыңыз.\n"
+"Андагы колдонулган интерфейс орнотуу процессинде колдонулган\n"
+"интерфейске окшош."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Бул диалог система жүктөлүү учурунда сиз каалаган ишке киргизилүүчү\n"
+"кызматтарды тандоо үчүн колдонулат.\n"
+"\n"
+"DrakX учурдагы инсталляциянын мүмкүн болгон бардык кызматтарынын\n"
+"тизмесин сунуш кылат. Аларды кунт коюуу менен карап чыгып, системаны\n"
+"жүктөө учурунда ишке киргизүүнүн кажети жокторун алып салыңыз.\n"
+"\n"
+"Тизмеден кызматты тандоо менен сиз бул кызмат жөнүндө кыскача түшүндүрмө\n"
+"ала аласыз. Эгер кызматтын пайдалуу же пайдалуу эместигине күмөн санасаңыз,\n"
+"анда аны алдыалынганындай кылып калтыруу дурус.\n"
+"!! Бул этапта өтө этият болуңуз, эгер сиздин машина сервер катары иштесе:\n"
+"мүмкүн сизге кереги жок кызматтарды иштетүүдөн баш тартасыз.\n"
+"Кээ бир кызматтар сервер үчүн потенциалдуу коркунучтуу экендигин эсиңизден\n"
+"чыгарбаңыз. Негизинен, чындыгында эле керектүү болгон кызматтарды гана\n"
+" калтырыңыз.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux убакытты GMT (Greenwich Mean Time) менен башкарат жана\n"
+"сиз тандаган саатык алкакка карата локалдык убакытка которот. Эгер\n"
+"сиздин системалык платадагы саатта локалдык убакыт көрсөтүлсө, анда сиз\n"
+"муну \"%s\" тазалап салуу менен системалык саат менен апаратык саат ар\n"
+" башка саатык алкактарга таандык экендигин GNU/Linux эстеп калуусуна\n"
+"мүмкүндүк берет. Бул мүмкүнчүлүк машинаңызда Windows сыяктуу башка\n"
+"аракеттер системасы орнотулган учурда пайдалуу.\n"
+"\"%s\" опциясы Интернеттеги алыскы убакыт серверинин жардамы менен\n"
+"сиздин саатыңызды автоматтык түрдө тууралоого мүмкүндүк берет.\n"
+"Албетте, мунун иштеши үчүн сизге Интернет байланышы талап кылынат.\n"
+"Эң ылайыктуусу сизге эң жакын серверди тандоо дурус. Бул опция сиздин\n"
+"машинаңызга убакыт серверин орнотуп, аны локалдык тармагыңыздагы башка\n"
+"машиналар колдонууга мүмкүндүк берет."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Убакытты автоматтык синхрондоштуруу"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Видеокарта\n"
+"\n"
+" Инсталлятор демейде сиздин машинаңызда орнотулган видеокартаны\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпесе, сизде орнотулган\n"
+"картаны бул тизмеден тандасаңыз болот.\n"
+"\n"
+" Эгерде сиздин картаңыз үчүн ар кандай серверлер мүмкүн болсо, 3D\n"
+"тездетүүсү менен же анысы жок, сиздин керектөөңүзгө көбүрөөк туура\n"
+"келген серверди тандап алууңузду сунуштайт."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window системасы үчүн) GNU/Linux графикалык интерфейсинин\n"
+"жүрөгү, анын негизинде Mandriva Linux-ка кирген бардык графикалык\n"
+"чөйрөлөр (KDE, GNOME, AfterStep, WindowMaker, ж.б.д.у.с.) иштейт.\n"
+"\n"
+"Оптималдык графикалык көрүнүштү алуу үчүн, сизге ар түрдүү\n"
+"параметрлердин тизмеси сунушталат: Видеокарта\n"
+"\n"
+" Инсталлятор демейде сиздин машинаңызда орнотулган видеокартаны\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпесе, сизде орнотулган\n"
+"картаны бул тизмеден тандасаңыз болот.\n"
+"\n"
+" Эгерде сиздин картаңыз үчүн ар кандай серверлер мүмкүн болсо, 3D\n"
+"тездетүүсү менен же анысы жок, сиздин керектөөңүзгө көбүрөөк туура\n"
+"келген серверди тандап алууңузду сунуштайт.\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Инсталлятор демейде сиздин машинаңызга туташкан мониторду\n"
+"автоматтык түрдө таап калыптандырат. Эгер антпесе, сизге туташкан\n"
+"мониторду тизмеден өз алдынча тандасаңыз болот.\n"
+"\n"
+"\n"
+"\n"
+"Мүмкүнчүлүк\n"
+"\n"
+" Бул жерден сиздин техникаңыз колдой алган көрсөтүү мүмкүнчүлүгүн жана\n"
+"түс тереңдигин тандасаңыз болот. Сизге көбүрөөк туура келгенин тандаңыз "
+"(сиз\n"
+"аны инсталляциядан кийин өзгөртө аласыз). Тандалып алынган конфигурациянын\n"
+"үлгүсү мониторго чыгарылат.\n"
+"\n"
+"\n"
+"\n"
+"Текшерүү\n"
+"\n"
+" Сиздин каражатыңызга карата, бул пункт бар же жок болушу мүмкүн.\n"
+"\n"
+" Система тандалган мүмкүнчүлүктү колдонуп графикалык экранды ачуу\n"
+"аракетин жасайт. Эгер сиз текшерүү учурунда маалыматты көрө алсаңыз\n"
+"жана \"%s\" жообун тандасаңыз анда DrakX кийинки кадамга өтөт.\n"
+"Эгер сиз маалыматты көрө албасаңыз, анда автоматтык түрдө аныкталган\n"
+"конфигурциянын бөлүгү туура эмес аныкталган деп түшүнүлүп, автоматтык\n"
+"түрдө 12 секунд өткөн соң сизди менюга кайра алып келет. Туура графикалык\n"
+"сүрөттү алмайынча, параметрлерди оңдоп кайталап көрүңүз.\n"
+"\n"
+"\n"
+"Параметрлер\n"
+"\n"
+" Бул жерден сиз машинаңызды автоматтык түрдө гафикалык интерфейсти\n"
+"жүктөөгө калыптасаңыз болот. Албетте, эгерде сиздин машинаңыз сервер\n"
+"катары иштесе же графикалык режимди калыптандыруу мүмкүн болбосо\n"
+"анда сиз \"%s\" тандооңуз туура."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Инсталлятор сиздин машинаңызга туташкан мониторду\n"
+"автоматтык түрдө таап калыптандырат. Эгер ал туура болбосо,\n"
+"сизге туташкан мониторду тизмеден тандасаңыз болот."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Мүмкүнчүлүк\n"
+"\n"
+" Бул жерден сиздин каражатыңыз уруксат берген мүмкүнчүлүктү жана түс\n"
+"тереңдигин тандай аласыз. Сизге көбүрөөк туура келгенин тандаңыз (сиз\n"
+"аны инсталляциядан кийин өзгөртө аласыз). Тандалып алынган конфигурациянын\n"
+"үлгүсү мониторго чыгарылат."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Сиздин картаңызга ар түрдүү, 3D тездетүүсү менен же анысы жок, серверлер\n"
+"туура келген учурда, сиздин керектөөңүзгө көбүрөөк туура келген серверди\n"
+"тандоо сунуш кылынат."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметрлер\n"
+"\n"
+" Бул жерден сиз машинаңызды автоматтык түрдө гафикалык интерфейсти\n"
+"жүктөөгө калыптасаңыз болот. Албетте, эгерде сиздин машинаңыз сервер\n"
+"катары иштесе же графикалык режимди калыптандыруу мүмкүн болбосо\n"
+"анда сиз \"%s\" тандооңуз туура."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Бул кадамда, Mandriva Linux аркеттер системасын сиздин катуу дисктин\n"
+"кайсы жерине орнотууну чечүүңүзгө туура келет. Эгер сиздин катуу диск бош\n"
+"болсо же орнотулган аракеттери системасы дисктин бардыгын ээлесе, сизге\n"
+"дискиңизди кайра бөлүүгө туура келет. Негизинен дискти бөлүү сиздин\n"
+"жаңы Mandriva Linux системасын орнотуу үчүн дисктен логикалык түрдө\n"
+"орун бөлүүдө турат.\n"
+"\n"
+"Эгерде дискте орнотулган аракеттер системасы болсо, дискти бөлүү кайра\n"
+"калыбына келбөөчү процесс болгондуктан андагы маалыматтарды жоготууга\n"
+"алып келиши мүмкүн экендигинен, үйрөнчүк колдонуучулар үчүн бир топ\n"
+"кыйыныраак жана коркунучтуу момент. Тилекке жараша DrakXте бул\n"
+"процессти жеңилдетүүчү уста бар. Бул кадамды улантуу алдында колдонмонун\n"
+"тийиштүү бөлүгүн окуп чыгыңыз жана шашпаңыз.\n"
+"\n"
+"Катуу дискиңиздин конфигурациясына жараша бир нече параметрлер мүмкүн:\n"
+"\n"
+" * \"%s\": бул опция бош дискти же дисктерди автоматтык түрдө бөлүүнү\n"
+"түшүндүрөт. Эгер бул опция тандалса, андан ары суроо берилбейт;\n"
+"\n"
+" * \"%s\": уста катуу дискиңиздеги Linux бөлүмдөрүн аныктады. Эгер сиз\n"
+"аларды колдонгуңуз келсе бул опцияны тандаңыз. Ар бир бөлүм үчүн\n"
+"бириктирүү чекиттерин көрсөтүү суралат. Алыднала бириктирүү чекиттери\n"
+"салтка жараша тандалгандыктан аны тийбей койсоңуз да болот.\n"
+" * \"%s\": эгерде сиздин дискте Microsoft Windows орнотулуп аны толук "
+"ээлесе,\n"
+"Linux берилиштерин сактоо үчүн бош орун түзүүңүзгө туура келет. Муну түзүү\n"
+"үчүн Microsoft Windows бөлүмүн жана берилиштерин жоготсоңуз, же Microsoft\n"
+"Windows FAT же NTFS бөлүмдөрүнүн өлчөмдөрүн өзгөртсөңүз болот.\n"
+"Өлчөмүн өзгөртүү процессин маалыматтарды жоготпой жасаса да болот, өзгөчө\n"
+"Windows бөлүмү дефрагментация кылынгандан кийин. Маалыматтарыңыздын\n"
+"резервдик копиясын түзүү көптөн-көп сунуш кылынат.Эгер сиз Mandriva Linux\n"
+"жана Microsoft Windows бир компьютерде колдонгуңуз келсе, бул опцияны\n"
+"тандаңыз.\n"
+"\n"
+" Бул опцияны тандоо алдында сиздин Microsoft Windows бөлүмүңүздүн өлчөмү\n"
+"мурдагыдан азыраак болуусун түшүнүүңүз керек. Сизде Microsoft Windows-тун\n"
+"берилиштерин жана жаңы программаларды орнотуу үчүн бош орун азыраак болот.\n"
+"\n"
+" * \"%s\" эгер сиз катуу дискиңиздеги бардык маалыматтарды жоготуп ордуна\n"
+"Mandriva Linux орнотууну кааласаңыз, бул опцияны тандаңыз. Бул чечимди\n"
+"тандоодо этият болуңуз, себеби муну тастыктаган соң бардыгын мурда\n"
+"болгондой кылып калыбына келтире албайсыз.\n"
+"\n"
+" !! Эгер бул опцияны тандасаңыз, катуу дискиңиздеги бардык маалыматтар\n"
+"жоготулат. !!\n"
+"\n"
+" * \"%s\": бул опция катуу дисктеги бардык маалыматты жоготуп бөлүмдөрдү\n"
+"түзүүнү кайра башынан бош жерден баштоого мүмкүндүк берет. Дискиңиздеги\n"
+"бардык информация жоголот.\n"
+"\n"
+" !! Эгер бул опцияны тандасаңыз, катуу дискиңиздеги бардык маалыматтар\n"
+"жоготулат. !!\n"
+"\n"
+" * \"%s\": згер сиз дискти өз алдынча бөлгүңүз келсе бул опцияны тандаңыз.\n"
+"Этият болуңуз - бул кубаттуу жана ошол эле маалда кооптуу мүмкүнчүлүк.\n"
+"Сиз бир заматта болгон мааламаттардын бардыгын жоготуп алышыңыз мүмкүн.\n"
+"Ошондуктан, ушул сыяктуу нерсени мурда жасап, кандайдыр бир тажрыйбаңыз\n"
+"болгон учурда гана бул опцияны тандоо сунуш кылынат. DiskDrake утилитасын\n"
+"кантип колдонуу керектигин билүү үчүн ``Баштоочунун колдонмосу' китебинин\n"
+"``Дисктин бөлүмдөрүн башкаруу'' бөлүмүнө кайрылыңыз."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Бар бөлүмдү колдонуу"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Дискти бүт өчүрүү"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Мына эми сиз бул жердесиз. Орнотуу аяктады жана сиздин GNU/Linux\n"
+"системаңыз колдонууга даяр. Системаны кайра жүктөө үчүн \"%s\"\n"
+"басыңыз. Инсталляция булагын (CD-ROM же флоппи) алып салууну\n"
+"унутпаңыз. Сиздин компьютер техжабдууну текшерүүнү аяктаган соң,\n"
+"эң биринчи сиз көрүүчү нерсе, бул керектүү аракеттер системасын\n"
+"жүктөөнү тандоону сунуш кылуучу баштапкы жүктөгүчтүн менюсу болот.\n"
+"\n"
+"\"%s\" баскычы дагы башка эки баскычты чыгарат:\n"
+"\n"
+" * \"%s\": инсталляциялык флоппини түзүү: мунун жардамы менен\n"
+"жаңы эле атакарылган орнотуу сыяктуу операторсуз, орнотууну\n"
+"автоматтык түрдө жүргүзсө болот.\n"
+"\n"
+" Бул баскычты баскан соң ар башка эки вариант бар экенин байкаңыз:\n"
+"\n"
+" * \"%s\": жарым жартылай автоматтыштырылган орнотуу: бул учурда\n"
+"дискти бөлүү процесси гана инерактивдүү, б.а. колдонуучунун аракетин\n"
+"талап кылат.\n"
+"\n"
+" * \"%s\": толук автоматташытрылган орнотуу: катуу диск толугу бойдон\n"
+"кайра жазылат жана болгон берилиштер жоготулат.\n"
+"\n"
+" бул мүмкүнчүлүк орнотууну бирдей конфигурациядагы машиналарда\n"
+"кайталоодо өтө ыңгайлуу. Кошумча маалымат алуу үчүн биздин веб-\n"
+"сайтыбыздагы Auto install бөлүмүн караңыз.\n"
+"\n"
+" * \"%s\": ушул орнотуудагы орнотулган пакеттердин тизмесин сактайт.\n"
+"Башка орнотууда бул орнотуудагы тандалган пакеттерди колдонуу үчүн\n"
+"флоппини салып орнотууну баштаңыз. Чакыруу сабында [F1] тергичин басып\n"
+"төмөнкүнү териңиз:\n"
+"« linux defcfg=\"floppy\" »."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Авто-орнотуу флопписин жаратуу"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Кайрадан жыңы түзүлгөн бөлүмдөрдү колдонууга киргизүү үчүн аларды\n"
+"форматтоо талап кылынат (форматтоо файл системасын түзүүнү\n"
+"түшүндүрөт).\n"
+"\n"
+"Бул этапта сизде мурда болүнгөн бөлүмдөрдө сакталган берилиштерди өчүрүү\n"
+"үчүн аларды кайра форматто мүмкүнчүлүгү бар. Эгер бул сизге керек болсо,\n"
+"бул бөлүмдөрдү дагы тандаңыз.\n"
+"\n"
+"Мурда түзүлгөн бөлүмдөрдү кайрадан форматтоо дайыма керек эместигин\n"
+"эске алыңыз. Сиз, аракеттер системасы орнотулган (\"/\", \"/usr\" или \"/var"
+"\")\n"
+"бөлүмдөрүн кайра форматтоңуз керек, бирок сиз сактап калууну каалаган\n"
+"бөлүмдөрдү кайра форматтоо талап кылынбайт (демейде бул \"/home\").\n"
+"\n"
+"Бөлүмдөрдү тандоодо этияттаңыз. Форматталган соң көрсөтүлгөн бөлүмдөрдөгү\n"
+"бардык берилиштер жоготулат, ошондуктан аларды кайра калыбына келтирүүгө\n"
+"мүмкүн эмес.\n"
+"\n"
+"Бөлүмдөрдү форматтого даяр болгондон кийин \"%s\" баскычын басыңыз.\n"
+"\n"
+"Эгер сиз Mandriva Linux системасын башка бөлүмгө орноткуңуз келсе \"%s\"\n"
+"баскычын басыңыз.\n"
+"\n"
+"Эгер сиз начар делген блокторду (bad blocks) текшерүүгө бөлүмдөрдү\n"
+"тандагыңыз келсе \"%s\" баскычын басыңыз."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mandriva Linux орнотуу убагында баштапкы релиздин кээ бир пакеттерин\n"
+"жаңы чыкандары менен жаңыласаңыз жакшы болот. Кээ бир багдар\n"
+"оңдолушу жана коопсуздук проблемалары чечилиши мүмкүн. Бул\n"
+"жаңылоолордон пайда алуу үчүн аларды сиз азыр Интернеттен жүктөп\n"
+"алсаңыз болот. Жаңылоо үчүн, эгер сизде иштеп жаткан Интернет байланышы\n"
+"болсо \"%s\" баскычын басыңыз, же \"%s\" басып пакеттерди\n"
+" жаңылоону кийинчээрек жасасаңыз болот.\n"
+"\n"
+"\"%s\" баскычын басканда жаңылоолорду жүктөп алууга мүмкүн болгон\n"
+"орундарды тизеси чыгат. Сизге эң жакын жайгашканын тандаңыз. Андан\n"
+"соң пакттерди тандоо дарагы чыгат: тизмени карап чыгып тандаган соң\n"
+"кабыл алуу жана орнотуу үчүн \"%s\" же орнотпоо үчүн \"%s\" басыңыз."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Бул этапта DrakX сизге машинаңыз үчүн каалаган коопсуздук деңгээлин\n"
+"тандоого мүмкүндүк берет. Эгерде машинаңызда критикалык маалымат\n"
+"болсо же ал Интернетке түздөн-түз туташкан болсо, эреже катары анда\n"
+"коопсуздук деңгээли жогору болушу керек. Бирок коопсуздуктун\n"
+"жогорураак деңгээли жалып учурда колдонуу ыңгайлуулугун чектөө\n"
+"эсебинен жасалат.\n"
+"Эгер кайсынынсын тандоону билбесеңиз, аны ошол боюнча калтырыңыз.\n"
+"Коопсуздук деңгээлин кийин Mandriva Башкаруу Борборунун draksec\n"
+"утилитинин жардамы менен өзгөртсөңүз болот.\n"
+"\n"
+"\"%s\" талаасында системанын коопсуздугу үчүн жооп берген колдонуучу\n"
+"көрсөтүлөт. Бул адреске коопсуздук боюнча кабарлар жөнөтүлөт."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Коопсуздук администратору"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Чыгарылма түзүлүштөрдү авто-бириктирүү"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Нормалдык/эксперттик режимдерин алмаштыруу"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Испанча"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "дөңгөлөктү эмуляциялоо менен"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Универсалдык | Каалагандай PS/2 & USB чычканы"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Туура портту тандаңыз. Мисалы, Windows \"COM1\" портунун\n"
+"GNU/Linux'тагы аты \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "аутентификация"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Эксперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN картасы"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графикалык интерфейс"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Кийинки ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Мурунку"
+
diff --git a/perl-install/install/help/po/lt.po b/perl-install/install/help/po/lt.po
new file mode 100644
index 000000000..92b14d276
--- /dev/null
+++ b/perl-install/install/help/po/lt.po
@@ -0,0 +1,1403 @@
+#
+# Mykolas Norvai-as <Myka@centras.lt>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2000-12-23 13:50+0200\n"
+"Last-Translator: Mykolas Norvai­as <Myka@centras.lt>\n"
+"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ar nori naudoti aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aukščiau yra sąrašas Linux skirsnių, kuriuos pavyko rasti tavo\n"
+"kietajame diske. Tu gali pasilikti sprendimus, padarytus meistro, jie tinka\n"
+"daugumai atvejų. Jei nori pakeisti šiuos sprendimus, tu turi nurodyti bent\n"
+"šakninį skirsnį (\"/\"). Nepasirink per mažo skirsnio, nes tuomet tu "
+"negalėsi\n"
+"įdiegti pakankamai programinės įrangos. Jei tu nori laikyti savo duomenis\n"
+"atskirame skirsnyje, pasirink, kurį naudosi \"/home\" (įmanoma tik jei turi "
+"daugiau\n"
+"nei vieną Linux skirsnį).\n"
+"\n"
+"Tavo žiniai, skirsniai rašomi tokiu pavidalu: \"Pavadinimas\", \"Talpa\".\n"
+"\n"
+"\n"
+"\"Pavadinimas\" sudaromas taip: \"kaupiklio tipas\", \"kaupiklio numeris\",\n"
+"\"skirsnio numeris\" (pavyzdžiui \"hda1\").\n"
+"\n"
+"\n"
+"\"Kieto disko tipas\" yra \"hd\", jei tavo kietasis kaupiklis yra IDE tipo, "
+"ir \"sd\", jeigu\n"
+"tai SCSI kaupiklis.\n"
+"\n"
+"\n"
+"\"kaupiklio numeris\" visada yra raidė po \"sd\" arba \"hd\". IDE "
+"kaupikliams:\n"
+"\n"
+" * \"a\" reiškia \"pagrindinis (master) diskas, prijungtas prie pirmojo "
+"(primary) IDE valdiklio\",\n"
+"\n"
+" * \"b\" reiškia \"šalutinis (slave) diskas, prijungtas prie pirmojo IDE "
+"valdiklio\",\n"
+"\n"
+" * \"c\" reiškia \"pagrindinis diskas, prijungtas prie antrojo (secondary) "
+"IDE valdiklio\",\n"
+"\n"
+" * \"d\" reiškia \"šalutinis diskas, prijungtas prie antrojo IDE valdiklio"
+"\",\n"
+"\n"
+"\n"
+"Su SCSI kaupikliais, \"a\" reiškia \"pirmasis diskas\", \"b\" reiškia "
+"\"antrasis diskas\" ir t.t."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atnaujinti"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Dokumentacija"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Išmesti"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Dabar tu gali pasirinkti tarnybas, kurias nori paleisti įkrovos metu.\n"
+"\n"
+"\n"
+"Užvedus žymeklį ant tarnybos, pasirodys pagalbos užrašas, kuris aprašo "
+"tarnybos\n"
+"vaidmenį tavo sistemoje.\n"
+"\n"
+"\n"
+"Būk ypač atidus šiame žingsnyje, jeigu žadi naudotis savo kompiuteriu kaip\n"
+"serveriu: tu tikriausiai norėsi nepaleisti jokių nereikalingų tarnybų.\n"
+"Prisimink, kad kai kurios tarnybos gali būti pavojingos, jei naudojamos "
+"serveryje.\n"
+"Apskritai, pažymėk tik tas tarnybas, kurių tau tikrai reikia."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Įdiegimo Tipo Konfiguracija"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Dabar tu turi nuspręsti, kurioje savo kietojo disko vietoje nori įdiegti\n"
+"Mandriva Linux operacijų sistemą. Jei jis yra tuščias arba jau esanti\n"
+"operacijų sistema naudoja visą vietą jame, tau reikės sudalinti jį. Kietojo\n"
+"disko sudalinimas į skirsnius tiesiog yra jo logiškas padalinimas taip, kad\n"
+"atsirastų laisvos vietos įdiegti tavo naujajai Mandriva Linux sistemai.\n"
+"\n"
+"\n"
+"Kadangi sudalinimo skirsniais padariniai dažniausiai yra negrįžtami,\n"
+"dalinimas gali būti gąsdinantis ir sunkus, jei tu esi nepatyręs vartotojas.\n"
+"Šis meistras supaprastina tą procesą. Prieš pradėdamas, prašau, nepagailėk\n"
+"laiko ir paskaityk žinyną.\n"
+"\n"
+"\n"
+"Tau reikia mažiausiai dviejų skirsnių. Vienas yra pačiai operacijų "
+"sistemai,\n"
+"o kitas -- virtualiai atminčiai (vadinamai swap).\n"
+"\n"
+"\n"
+"Jei skirsniai jau buvo apibrėžti (iš praeito įdiegimo arba kitu dalinimo "
+"įrankiu),\n"
+"tau tereikia pasirinkti juos, kad įdiegtum savo Linux'ą.\n"
+"\n"
+"\n"
+"Jei skirsniai dar nebuvo apibrėžti, tu turi juos sukurti. Kad tai "
+"padarytum,\n"
+"naudokis aukščiau esančiu meistru. Priklausomai nuo tavo kietojo disko\n"
+"situacijos, yra keli skirtingi sprendimai:\n"
+"\n"
+"* Naudoti esamą skirsnį: meistras rado vieną ar daugiau Linux skirsnių tavo "
+"sistemoje. Jei tu nori juos\n"
+" naudoti, pasirink tai.\n"
+"\n"
+"\n"
+"* Išvalyti visą diską: jei tu nori sunaikinti visus duomenis ir skirsnius, "
+"esančius kietajame diske, ir pakeisti juos\n"
+" nauja Mandriva Linux sistema, gali pasirinkti šį variantą. Būk atsargus su "
+"šiuo sprendimu, nes jei sutiksi,\n"
+" nebegalėsi apsigalvoti ir sugrįžti.\n"
+"\n"
+"\n"
+"* Naudoti tuščią vietą Windows skirsnyje: jei Microsoft Windows yra įdiegti "
+"į kietąjį diską ir užima visą vietą,\n"
+" esančią jame, tau teks atlaisvinti vietos Linux duomenims. Kad tai "
+"padarytum, tu gali ištrinti Windows skirsnį\n"
+" ir duomenis (žiūrėk \"Išvalyti visą diską\" bei \"Eksperto režimas\" "
+"sprendimus) arba pakeisti Windows skirsnio\n"
+" dydį. Dydžio pakeitimas gali būti atliktas be duomenų praradimo. Šis "
+"sprendimas yra rekomenduojamas, jei\n"
+" tu nori naudoti tiek Mandriva Linux, tiek Microsoft Windows tame pačiame "
+"kompiuteryje.\n"
+"\n"
+"\n"
+" Prieš pasirinkdamas šį sprendimą, suprask, kad Microsoft Windows skirsnio "
+"dydis bus mažesnis, nei yra\n"
+" dabar. Tai reiškia, kad tu turėsi mažiau laisvos vietos Windows'uose "
+"įrašyti duomenims bei įdiegti naujas\n"
+" programas.\n"
+"\n"
+"\n"
+"* Eksperto režimas: jei tu nori rankomis sudalinti skirsniais savo kietąjį "
+"diską, gali rinktis šį variantą. Įdėmiai\n"
+" pagalvok, prieš pasirinkdamas šį sprendimą. Jis yra galingas, tačiau labai "
+"pavojingas. Tu gali prarasti \n"
+" visus savo duomenis labai lengvai. Taigi, nesirink šio sprendimo, nebent "
+"tikrai žinai, ką darai."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Naudoti esamą skirsnį"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Ištrinti visą diską"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sukurti automatinio įdiegimo diskelį"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Bet kokie naujai sukurti skirsniai turi būti sužymėti, kad juos\n"
+"būtų galima naudoti (sužymėjimas reiškia bylų sistemos sukūrimą).\n"
+"\n"
+"\n"
+"Dabar tu gali norėti iš naujo sužymėti kai kuriuos esamus skirsnius, kad\n"
+"ištrintum duomenis iš jų. Jei nori tai padaryti, pažymėk ir tuos skirsnius,\n"
+"kuriuos nori sužymėti.\n"
+"\n"
+"\n"
+"Pastaba: nebūtina iš naujo sužymėti visų anksčiau sukurtų skirsnių.\n"
+"Tu privalai sužymėti iš naujo skirsnius, kuriuose bus operacijų sistema\n"
+"(tokius kaip \"/\", \"/usr\" ar \"/var\"), tačiau skirsnių su duomenimis, "
+"kuriuos\n"
+"nori išlaikyti, sužymėti nereikia (dažniausiai \"/home\").\n"
+"\n"
+"\n"
+"Būk atsargus, pasirinkdamas skirsnius, kadangi sužymint visi duomenys\n"
+"bus ištrinti, ir nebebus įmanoma jų atstatyti.\n"
+"\n"
+"\n"
+"Spausk \"Gerai\", kai būsi pasiruošęs skirsnių sužymėjimui.\n"
+"\n"
+"\n"
+"Spausk \"Atšaukti\", jei nori pasirinkti kitus skirsnius, į kuriuos įdiegti\n"
+"Mandriva Linux sistemą."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Nutolusio lpd spausdintuvo nuostatos"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Dabar tu turi pasirinkti, kuriuos skirsnius naudoti tavo naujai Mandriva "
+"Linux \n"
+"sistemai įdiegti. Jei skirsniai jau buvo apibrėžti (iš praeito įdiegimo arba "
+"kitu dalinimo įrankiu),\n"
+"tu gali naudoti esančius skirsnius. Kitu atveju, skirsniai turi būti "
+"apibrėžti.\n"
+"\n"
+"\n"
+"Kad sukurtum skirsnius, tu pirmiausia turi pasirinkti kietąjį diską. Diską "
+"dalinimui\n"
+"gali pasirinkti, paspaudęs ant \"hda\" jei nori pirmo IDE kaupiklio, \"hdb\" "
+"-- antro,\n"
+"arba \"sda\", jei renkiesi pirmąjį SCSI kaupiklį ir t.t.\n"
+"\n"
+"\n"
+"Kad sudalintum skirsniais pasirinktą kietąjį diską, gali naudotis vienu iš "
+"šių variantų:\n"
+"\n"
+" * Išvalyti viską: šis variantas ištrina visus skirsnius, esančius "
+"pasirinktame kietajame diske.\n"
+"\n"
+"\n"
+"   * Automatiškai paskirti: šis variantas leidžia automatiškai sukurti Ext2 "
+"bei swap skirsnius laisvoje tavo\n"
+" disko vietoje.\n"
+"\n"
+"\n"
+" * Išgelbėti skirsnių lentelę: jei disko skirsnių lentelė yra sugadinta, "
+"tu gali bandyti atstatyti ją su šiuo variantu.\n"
+" Būk atsargus ir prisimink, kad tai gali nepavykti.\n"
+"\n"
+"\n"
+" * Atšaukti: tu gali naudoti šį variantą, kad atšauktum visus tavo "
+"pakeitimus.\n"
+"\n"
+"\n"
+" * Iš naujo: tu gali rinktis šį variantą, kad atsisakytum visų savo "
+"pakeitimų ir įkeltum pradinę skirsnių lentelę.\n"
+"\n"
+"\n"
+" * Meistras: jei tu nori, kad meistras tau padėtų sudalinti kietąjį diską, "
+"rinkis šį variantą. Tai rekomenduojama, jeigu\n"
+" tu nelabai išmanai apie skirsnių dalinimą.\n"
+"\n"
+"\n"
+" * Atkurti iš diskelio: jei tu išsaugojai savo skirsnių lentelę į diskelį "
+"įdiegdamas praeitą kartą, tu gali atkurti ją\n"
+" naudodamasis šiuo variantu.\n"
+"\n"
+"\n"
+" * Išsaugoti į diskelį: jei tu nori išsaugoti savo skirsnių lentelę į "
+"diskelį, kad galėtum paskui atkurti ją, rinkis šį\n"
+" variantą. labai rekomenduojama, kad tu tai padarytum.\n"
+"\n"
+"\n"
+" * Atlikta: jei tu baigei dalinti savo kietąjį diską, rinkis šį variantą, "
+"kad išsaugotum visus pakeitimus.\n"
+"\n"
+"\n"
+"Tavo žiniai, tu gali pasiekti bet kurį variantą naudodamasis klaviatūra: "
+"vaikščiok tarp skirsnių su Tab bei\n"
+"Aukštyn/Žemyn rodyklėmis.\n"
+"\n"
+"\n"
+"Kai skirsnis yra parinktas, gali naudoti:\n"
+"\n"
+"* Ctrl-c kad sukurtum naują skirsnį (jei parinktas tuščias skirsnis)\n"
+"\n"
+"* Ctrl-d kad ištrintum skirsnį.\n"
+"\n"
+"* Ctrl-m kad nurodytum prijungimą tašką."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Išimamų laikmenų automatinis montavimas"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pakeisti į normalų režimą"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Tavo kietajame diske buvo aptiktas vienas ar daugiau Microsoft Windows\n"
+"skirsnis. Prašom pasirinkti, kurio iš jų dydį nori pakeisti, kad įdiegtum "
+"savo\n"
+"naująją Mandriva Linux operacijų sistemą.\n"
+"\n"
+"\n"
+"Tavo žiniai, kiekvienas skirsnis sąraše užrašomas pavidalu \"Linux "
+"pavadinimas\",\n"
+"\"Windows pavadinimas\" \"Talpa\".\n"
+"\n"
+"\"Linux pavadinimas\" sudaromas taip: \"kaupiklio tipas\", \"kaupiklio "
+"numeris\",\n"
+"\"skirsnio numeris\" (pavyzdžiui \"hda1\").\n"
+"\n"
+"\"Kieto disko tipas\" yra \"hd\", jei tavo kietasis kaupiklis yra IDE tipo, "
+"ir \"sd\", jeigu\n"
+"tai SCSI kaupiklis.\n"
+"\n"
+"\n"
+"\"Kaupiklio numeris\" visada yra raidė po \"sd\" arba \"hd\". IDE "
+"kaupikliams:\n"
+"\n"
+" * \"a\" reiškia \"pagrindinis (master) diskas, prijungtas prie pirmojo "
+"(primary) IDE valdiklio\",\n"
+"\n"
+" * \"b\" reiškia \"šalutinis (slave) diskas, prijungtas prie pirmojo IDE "
+"valdiklio\",\n"
+"\n"
+" * \"c\" reiškia \"pagrindinis diskas, prijungtas prie antrojo (secondary) "
+"IDE valdiklio\",\n"
+"\n"
+" * \"d\" reiškia \"šalutinis diskas, prijungtas prie antrojo IDE valdiklio"
+"\",\n"
+"\n"
+"\n"
+"Su SCSI kaupikliais, \"a\" reiškia \"pirmasis diskas\", \"b\" reiškia "
+"\"antrasis diskas\" ir t.t.\n"
+"\n"
+"\n"
+"\"Windows pavadinimas\" yra raidė, kuria tas skirsnis buvo vadinamas "
+"Windows'uose\n"
+"(pirmasis disko skirsnis vadinamas \"C:\")"
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Logitech MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, fuzzy, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Prašom pasirinkti teisingą prievadą. Pavyzdžiui COM1\n"
+"MS Windows'uose vadinamas ttyS0 GNU/Linux'e."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Autentikacija"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspertas"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX bandys surasti PCI SCSI adapterį(-ius). Jei DrakX\n"
+"ras SCSI adapterį ir žinos, kokią tvarkyklę naudoti, ji bus automatiškai\n"
+"įdiegta.\n"
+"\n"
+"\n"
+"Jei tu neturi SCSI adapterio, turi ISA SCSI adapterį ar PCI SCSI adapterį,\n"
+"kurio DrakX nepažįsta, tavęs bus paklausta, ar sistemoje yra SCSI\n"
+"adapteris. Jei nėra nė vieno, gali spausti „Ne“. Jei paspausi „Taip“, bus\n"
+"parodytas tvarkyklių sąrašas, iš kurio galėsi pasirinkti tinkamą savo\n"
+"adapteriui.\n"
+"\n"
+"\n"
+"Jei tau teks rankomis nurodyti savo adapterį, DrakX paprašys tavęs\n"
+"nurodyti jo nuostatas. Tu turėtum leisti DrakX bandyti atpažinti įrangos\n"
+"nuostatas. Dažniausiai tai suveikia.\n"
+"\n"
+"\n"
+"Jei ne, tau teks nurodyti tvarkyklės nuostatas. Prašom peržiūrėti User "
+"Guide\n"
+"(chapter 3, section \"Collective informations on your hardware\") dėl "
+"patarimų,\n"
+"kaip sužinoti informaciją apie įrangos dokumentaciją, iš gamintojo "
+"svetainės\n"
+"tinkle (jei turi priėjimą prie interneto) arba iš Microsoft Windows (jei "
+"turi juos\n"
+"savo sistemoje)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Vidinė ISDN plokštė"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X paleidžiant"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Pasirink kietąjį diską, kurį nori ištuštinti, kad įdiegtum naują\n"
+"Mandriva Linux sistemą. Būk atsargus, visi duomenys, esantys jame, bus\n"
+"prarasti, ir jų nebebus įmanoma atkurti."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Spausk \"Gerai\", jei nori ištrinti visus duomenis ir skirsnius, esančius\n"
+"šiame kietajame diske. Būk atsargus, kai paspausi \"Gerai\", tu nebegalėsi\n"
+"atkurti jokių duomenų nei skirsnių, kurie buvo šiame diske, įskaitant bet\n"
+"kokius Windows duomenis.\n"
+"\n"
+"\n"
+"Spausk \"Atšaukti\", kad nutrauktum operaciją ir neprarastum jokių duomenų\n"
+"nei skirsnių, esančių šiame kietajame diske."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Toliau ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ankstesnis"
+
diff --git a/perl-install/install/help/po/ltg.po b/perl-install/install/help/po/ltg.po
new file mode 100644
index 000000000..fbee1d5a9
--- /dev/null
+++ b/perl-install/install/help/po/ltg.po
@@ -0,0 +1,1401 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-02-24 13:01+0200\n"
+"Last-Translator: Māris Laureckis <linux@latgola.lv>\n"
+"Language-Team: Latgalian <linux@latgola.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pyrms turpynuot, jiusim vajadzātu uzmaneigi izlaseit licencis vīnuošonūs. "
+"Tei nūsadz\n"
+"vysu Mandriva Linux distribuceju. Ja jius napīkreitit vysim tuos "
+"nūteikumiem,\n"
+"puorbaudit \"%s\" kasti, nūspīdit pūgu \"%s\",\n"
+"lai jiusu dators puorstarteitu."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Augstāk ir uzskaitītas eksistējošās Linux sadaļas, kas ir atrastas uz jūsu\n"
+"cietā diska. Jūs varat atstāt meistara izdarīto izvēli, jo tā ir laba\n"
+"parastām vajadzībām. Ja jūs izmaināt šo izvēli, jums ir jādefinē vismaz\n"
+"saknes sadaļā(\"/\"). Neizvēlieties pārāk mazu sadaļu, citādi jūs nevarēsit\n"
+"instalēt visas vajadzīgās programmas. Ja vēlaties datus glabāt atsevišķā\n"
+"sadaļā, jums ir jānorāda arī \"/home\" (to var izdarīt tikai tad, ja jums "
+"ir\n"
+"vairākas Linux sadaļas).\n"
+"\n"
+"Jūsu zināšanai, katra sadaļa ir uzskaitīta šādā veidā: \"Nosaukums\", "
+"\"Izmērs\".\n"
+"\n"
+"\"Nosaukums\" ir kodēts šādi: \"cietā diska tips\", \"cietā diska numurs\",\n"
+"\"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\"Cietā diska tips\" ir \"hd\", ja jūsu cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\"Cietā diska numurs\" vienmēr ir burts pēc \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozīmē \"primārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozīmē \"primārā IDE konytroliera pakārtotais disks\",\n"
+"\n"
+" * \"c\" nozīmē \"sekundārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozīmē \"sekundārā IDE kontroliera pakārtotais disks\".\n"
+"\n"
+"SCSI diskiem \"a\" nozīmē \"primārais cietais disks\", \"b\" nozīmē\n"
+" \"sekundārais cietais disks\", utt..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalācija ir sadalīta pa dažiem CD-ROM diskiem. DrakX\n"
+"zin, vai izvēlētā pakotne atrodas uz cita CD-ROM diska, izvirzīs pašreizējo\n"
+"kompaktdisku un palūgs ievietot citu pēc nepieciešamības."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atjaunynuot"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Ar pamotdokumentaceju"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Ļūti minimala instaleišona"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tagad varat norādīt servisus, kurus jūs vēlaties startēt sistēmas\n"
+"palaišanas laikā.\n"
+"\n"
+"\n"
+"Kad pele pārvietojas pār saraksta elementu, parādās\n"
+"neliels palīdzības balons, kas paskaidro servisa lomu.\n"
+"\n"
+"\n"
+"Esiet īpaši uzmanīgs šajā solī, ja vēlaties sistēmu izmantot ka serveri:\n"
+"iespējams, ka nevēlaties startēt nevienu nevajadzīgu servisu. Atcerieties.\n"
+"ka daži servisi var būt bīstami, ja darbojas serverī.\n"
+"Parasti izvēlieties tikai tos servisus, kas jums tiešām nepieciešami."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automātiska laika sinhronizācija (izmantojot NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcejis\n"
+"\n"
+" Ite jius varit izavielēt, voi jius gribit, lai mašyna automatiski "
+"puorsaslādz grafiskajā saskarnē\n"
+"pi īluodis. Acimradzūt, jius gribit puorbaudeit \"%s\",\n"
+"ja jiusu dators dorbojās kai servers, voi ari naizadeve veiksmeigi paveikt "
+"ekrana\n"
+"konfigureišonu."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Pošlaik jiusim ir juoizavielej, kur iz cītuo diska instalēt Mandriva Linux\n"
+"opereituojsistemu. Ja disks ir tukšs voi cyta opereituojsistema aizjam vysu\n"
+"vītu iz diska, jiusim byus juoveic diska sadaleišona. Eisumā, cītuo diska\n"
+"sadaleišona nūzeimej tū sadaleit logiskuos daļuos, lai izveiduotu vītu\n"
+"Mandriva Linux sistemys instaleišonai.\n"
+"\n"
+"Sakarā ar tū, ka diska sadaleišonys process parasti ir naatgrīzenisks,\n"
+"napīredziejušam lītuotuojam tys var byut napateikams i stresa pylns.\n"
+"DrakX'a ir meistars, kurs vīnkuoršoj procesu. Pyrms uzsuocot daleišonu, "
+"izlosit\n"
+"rūkysgruomotu i vysu labi puordūmojit.\n"
+"\n"
+"Jiusim ir napīcīšomys vysmoz divejis sadalis. Vīna vajadzeiga pošai "
+"sistemai,\n"
+"otra - virtuālajai atmiņai (Swap).\n"
+"\n"
+"\n"
+"Ja sadaļas jau izveidotas (agrākas instalēšanas laikā vai ar citu diska\n"
+"sadalīšanas rīku), jums tikai jānorāda tās sadaļas, kurās vēlaties\n"
+"instalēt Linux sistēmu.\n"
+"\n"
+"\n"
+"Ja sadaļas vēl nav izveidotas, jums tās ir jāizveido. Lai to izdarītu,\n"
+"izmantojiet augstāk pieejamo meistaru. Atkarībā no jūsu cietā diska \n"
+"konfigurācijas ir iespējami vairāki risinājumi:\n"
+"\n"
+"* Izmantot esošu sadaļu: meistars uz cietā diska ir atklājis vienu vai "
+"vairākas Linux sadaļas. Ja vēlaties\n"
+" tās saglabāt, izvēlieties šo opciju. \n"
+"\n"
+"\n"
+"* Izdzēst visu disku: ja vēlaties izdzēst visus uz diska esošos datus un "
+"sadaļas un aizstāt tās ar jaunu\n"
+" Mandriva Linux sistēmu, varat izvēlēties šo opciju. Esiet uzmanīgi, "
+"izvēloties šo risinājumu, jo pēc\n"
+" apstiprināšanas jūs vairs nevarēsit atteikties no šīs izvēles.\n"
+"\n"
+"\n"
+"* Izmanto brīvo vietu Windows sadaļā: ja uz cietā diska ir instalēts "
+"Microsoft Windows, kas aizņem visu\n"
+" vietu, jums ir jāatbrīvo vieta Linux datiem. Lai to izdarītu, jūs varat "
+"nodzēst Microsoft Windows sadaļu un\n"
+" datus (skatīt risinājumus \"Izdzēst visu disku\" vai \"Eksperta režīms\") "
+"vai izmainīt Microsoft\n"
+" Windows sadaļas izmēru. Sadaļas izmēru var izmainīt bez datu zaudēšanas. "
+"Šis risinājums ir ieteicams, ja\n"
+" jūs savā datorā vēlaties izmantot gan Mandriva Linux, gan Microsoft "
+"Windows.\n"
+"\n"
+"\n"
+" Pirms izvēlaties šo risinājumu, ņemiet vērā, ka Microsoft Windows sadaļas "
+"izmērs būs mazāks, nekā tas ir\n"
+" pašlaik. Tas nozīmē, ka jums Microsoft Windows sistēmā būs mazāk vietas "
+"datiem vai programmu instalēšanai.\n"
+"\n"
+"\n"
+" * \"%s\": ja jius gribit patstuoveigi veiduot diska sadalis, varit "
+"izavielēt itū variantu. Esit\n"
+"uzmaneigi, izavālūt itū rysynuojumu. Tys ir ar plašom īspiejom, bet ļūti "
+"beistams. Jius varit pazaudēt\n"
+"vysus datus, tuopiec izavielejit tikai tod, ja zinot, kū dorot."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Izmantot jau esošu sadaļu"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izdzēst vysu disku"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sagatavot auto instalēšanas disketi"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Visas jaunizveidotās sadaļas ir jāformatē, pirms tās var izmantot\n"
+"(formatēšana nozīmē failsistēmas izveidošanu).\n"
+"\n"
+"Tagad jūs arī varat izvēlēties pārformatēt dažas jau esošas sadaļas, lai\n"
+"izdzēstu tajās esošo informāciju. Ja jūs vēlaties to darīt, norādiet\n"
+"sadaļas, kuras vēlaties formatēt.\n"
+"\n"
+"Ņemiet vērā, ka nav nepieciešams pārformatēt visas jau eksistējošas "
+"sadaļas.\n"
+"Jums ir jāformatē sadaļas, kurās atrodas operētājsistēma (piemēram, \"/\",\n"
+"\"/usr\" vai \"/var\"), bet nav jāformatē sadaļas, kurās atrodas dati, ko\n"
+"jūs vēlaties saglabāt (parasti /home).\n"
+"\n"
+"Esiet uzmanīgi, izvēloties sadaļas, jo pēc formatēšanas visi dati būs\n"
+"iznīcināti un jūs vairs nevarēsit tos atjaunot.\n"
+"\n"
+"Noklikšķiniet \"Labi\", kad esat gatavi formatēt sadaļas.\n"
+"\n"
+"Noklikšķiniet \"Atcelt\", ja jūs gribat izvēlēties citas sadaļas, kur\n"
+"instalēt jauno Mandriva Linux operētājsistēmu."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Šobrīd ir laiks izvēlēties nepieciešamo datora drošības līmeni.\n"
+"XXXXX jo dators ir atklātāks, un jo kritiskāki ir uz tā novietotie dati,\n"
+"jo augstākam vajadzētu būt drošības līmenim.\n"
+"Taču augstāks drošības līmenis tiek iegūts uz lietošanas ērtuma\n"
+"rēķina. Meklējiet nodaļu \"msec\" rokasgrāmatā ``Reference Manual'',\n"
+"lai iegūtu vairāk informācijas par šo līmeņu nozīmi.\n"
+"\n"
+"Ja Jūs neziniat, ko izvēlēties, atstājiet noklusēto opciju."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Drošības administrators:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Pašlaik jums ir jāizvēlas, kurā(s) diska sadaļā(s) instalēt Mandriva Linux\n"
+"operētājsistēmu. Ja sadaļas jau ir izveidotas (agrākas GNU/Linux "
+"instalēšanas\n"
+"laikā vai ar citu diska sadalīšanas rīku), jūs varat izmantot esošās "
+"sadaļas.\n"
+"Citos gadījumos ir jāveido jaunas diska sadaļas.\n"
+"\n"
+"\n"
+"Lai veidotu sadaļas, jums vispirms ir jāizvēlas cietais disks. Jūs varat\n"
+"norādīt sadalāmo disku, noklikšķinot uz \"hda\" pirmajam IDE diskam,\n"
+"\"hdb\" - otrajam diskam, \"sda\" - pirmajam SCSI diskam, utt.\n"
+"\n"
+"\n"
+"Lai sadalītu izvēlēto cieto disku, varat izmantot sekojošas opcijas:\n"
+"\n"
+" * Izdzēst visu: šī opcija izdzēš visas sadaļas, kas atrodas uz izvēlētā "
+"cietā diska.\n"
+"\n"
+"\n"
+" * Izvietot automātiski: šī opcija ļauj jums automātiski izveidot Ext2 un "
+"swap sadaļas jūsu cietā diska\n"
+" brīvajā vietā.\n"
+"\n"
+"\n"
+" * Salabot sadaļu tabulu: ja sadaļu tabula ir bojāta, jūs varat mēģināt to "
+"autjaunot, izmantojot šo opciju.\n"
+" Esiet uzmanīgi un atcerieties, ka tas var neizdoties.\n"
+"\n"
+"\n"
+" * Atsaukt: jūs varat izmantot šo opciju, lai atceltu izmaiņas.\n"
+"\n"
+"\n"
+" * Pārlādēt: jūs varat izmantot šo opciju, ja vēlaties atsaukt visas "
+"izmaiņas un ielādēt sākotnējo sadaļu tabulu.\n"
+"\n"
+"\n"
+" * Meistars: Ja cietā diska sadalīšanai vēlaties izmantot meistaru, varat "
+"lietot šo opciju. Tā ir ieteicama,\n"
+" ja jums nav labu zināšanu par diska sadalīšanu.\n"
+"\n"
+"\n"
+" * Atjaunot no disketes: ja iepriekšējās instalēšanas laikā saglabājāt "
+"sadaļu tabulu disketē, jūs varat\n"
+" to atjaunot, izmantojot šo opciju.\n"
+"\n"
+"\n"
+" * Saglabāt disketē: ja vēlaties sadaļu tabulu saglabāt disketē, lai "
+"varētu to atjaunot, izmantojiet šo\n"
+" opciju. Ir ļoti ieteicams izmantot šo opciju.\n"
+"\n"
+"\n"
+" * Izdarīts: kad esat pabeiguši cietā diska dalīšanu, izmantojiet šo "
+"opciju, lai saglabātu izmaiņas.\n"
+"\n"
+"\n"
+"Jūsu zināšanai, jebkuru opciju var izsaukt ar tastatūru: pārvietojieties "
+"starp sadaļām, izmantojot Tab un Aušup/Lejup bultiņas.\n"
+"\n"
+"\n"
+"Kad ir izvēlēta sadaļa, jūs varat izmantot:\n"
+"\n"
+" * Ctrl-c, lai izveidotu jaunu sadaļu (kad ir izvēlēta tukša "
+"sadaļa)\n"
+"\n"
+" * Ctrl-d, lai izdzēstu sadaļu\n"
+"\n"
+" * Ctrl-m, lai uzstādītu montēšanas punktu"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Izņemama datu nesēja automontēšana"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pārslēgt normālajā režīmā"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Uz jūsu cietā diska ir atrasta vairāk nekā viena Microsoft Windows sadaļa.\n"
+"Lūdzu izvēlieties to sadaļu, kuras izmēru jūs vēlaties izmainīt, lai\n"
+"instalētu jauno Mandriva Linux operētājsistēmu.\n"
+"\n"
+"\n"
+"Jūsu zināšanai, katra sadaļa ir uzskaitīta šādā veidā: \"Linux nosaukums\",\n"
+"\"Windows nosaukums\" \"Izmērs\".\n"
+"\n"
+"\"Linux nosaukums\" ir kodēts šādi: \"cietā diska tips\", \"cietā diska\n"
+"numurs\", \"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\n"
+"\"Cietā diska tips\" ir \"hd\", ja jūsu cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\n"
+"\"Cietā diska numurs\" vienmēr ir burts pēc \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozīmē \"primārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozīmē \"primārā IDE konytroliera pakārtotais disks\",\n"
+"\n"
+" * \"c\" nozīmē \"sekundārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozīmē \"sekundārā IDE kontroliera pakārtotais disks\".\n"
+"\n"
+"\n"
+"SCSI diskiem \"a\" nozīmē \"primārais cietais disks\", \"b\" nozīmē\n"
+" \"sekundārais cietais disks\", utt...\n"
+"\n"
+"\"Windows nosaukums\" ir jūsu cietā diska burts Windows vidē (pirmais disks\n"
+"vai sadaļa saucas \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Parasti DrakX izvēlas tastatūras izkārtojumu priekš Jums (atkarībā no\n"
+"valodas, kuru Jūs izvēlējāties), tomēr Jums var nebūt tastatūra, kas "
+"atbilst\n"
+"tieši Jūsu valodai.\n"
+"ŠEIT DERĒTU KĀDS PIEMĒRS SAISTĪBĀ \n"
+"AR LATVIEŠIEM :)\n"
+"Klikšķiniet uz pogas \"Vairāk\" lai saņemtu pilnu sarakstu ar atbalstītiem\n"
+"tastatūras izkārtojumiem.\n"
+"\n"
+"Ja Jūs izvēlēsieties tastatūras izkārtojumu, kas balstās uz savādāku, kā\n"
+"latīņu alfabētu, nākamajā dialogā jums tiks pieprasīts izvēlēties taustiņa\n"
+"piesaisti, kas pārslēgs tastatūras izkārtojumu starp latīņu un ne-latīņu\n"
+"izkārtojumiem."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spāņu"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ar riteneiša emulaceju"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lyudzu izavielejit pareizu portu. Pīmāram, MS Windows\n"
+"ports COM1 GNU/Linux vidē saucas ttyS0."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentifikaceja"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Eksperta režims"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mēģinās sameklēt PCI SCSI adapteri(us).\n"
+"Ja DrakX atradīs kādu SCSI adapteri un zinās, kuru draiveri izmantot,\n"
+"tas tiks instalēts automātiski.\n"
+"\n"
+"Ja jums nav SCSI adapteru, ir ISA SCSI adapteris vai PCI SCSI adapteris,\n"
+"ko DrakX neatpazīst, jums tiks pajautāts, vai jūsu sistēmā ir SCSI\n"
+"adapteris. Ja nav SCSI adapteru, jūs varat vienkārši izvēlēties 'Nē'.\n"
+"Ja jūs izvēlaties 'Jā', jums tiks parādīts draiveru saraksts, kurā\n"
+"varat izvēlēties vajadzīgo adapteri.\n"
+"\n"
+"\n"
+"Ja jums nepieciešams patstāvīgi norādīt adapteri, DrakX pajautās, vai\n"
+"vēlaties norādīt adaptera opcijas. Jums būtu jāļauj DrakX aptaujāt\n"
+"dzelžus un noskaidrot opcijas. Parasti tas izdodas bez problēmām.\n"
+"\n"
+"Ja neizdodas, jums patstāvīgi jānorāda draivera opcijas.\n"
+"Izlasiet Instalēšanas rokasgrāmatu (3. nodaļu, apakšnodaļu \"Informācijas "
+"savākšana par jūsu dzelžiem\"), lai uzzinātu, kā iegūt šo\n"
+"informāciju no dzelžu dokumentācijas, ražotāja tīkla lapas\n"
+"(ja jums ir pieejams Internets) vai Windows (ja tas ir uzstādīts jūsu "
+"datorā)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karte"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X pēc startēšanas"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Norādiet cieto disku, ko vēlaties izdzēst, lai izveidotu jaunu\n"
+"Mandriva Linux sadaļu. Esiet uzmanīgi, jo visi diskā esošie dati\n"
+"pazudīs un nebūs atjaunojami."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Nūspīdit \"%s\", ja gribit izdzēst vysus datus i\n"
+"sadalis, kurys atsarūn iz ituo cītuo diska. Esit uzmaneigi, piec \"%s\" "
+"nūspīsšonys jius navarēsit atjaunuot nikaidus datus voi sadalis iz ituo "
+"diska, tymā skaitā ari Windows datus.\n"
+"\n"
+"Nūspīdit \"%s\", lai atcaltu itū operaceju bez jebkaidu iz ituo diska esūšu "
+"datu voi sadaļu pazaudeišonys."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tuoļuok ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Atpakaļ"
+
diff --git a/perl-install/install/help/po/lv.po b/perl-install/install/help/po/lv.po
new file mode 100644
index 000000000..815a13930
--- /dev/null
+++ b/perl-install/install/help/po/lv.po
@@ -0,0 +1,1399 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2002-09-27 17:45+0200\n"
+"Last-Translator: Raivo Saars <spaiks@inbox.lv>\n"
+"Language-Team: Latvian <ll10nt@listes.murds.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pirms turpināt, Jums vajadzētu uzmanīgi izlasīt licences vienošanos. Tā "
+"nosedz\n"
+"visu Mandriva Linux distribūciju, un ja Jūs nepiekrītat visiem noteikumiem,\n"
+"nospiediet uz pogas \"Noraidīt\", kas nekavējoties pārtrauks instalāciju. "
+"Lai turpinātu\n"
+"instalācijas procesu, nospiediet pogu \"Pieņemt\"."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Augstāk ir uzskaitītas eksistējošās Linux sadaļas, kas ir atrastas uz jūsu\n"
+"cietā diska. Jūs varat atstāt meistara izdarīto izvēli, jo tā ir laba\n"
+"parastām vajadzībām. Ja jūs izmaināt šo izvēli, jums ir jādefinē vismaz\n"
+"saknes sadaļā(\"/\"). Neizvēlieties pārāk mazu sadaļu, citādi jūs nevarēsit\n"
+"instalēt visas vajadzīgās programmas. Ja vēlaties datus glabāt atsevišķā\n"
+"sadaļā, jums ir jānorāda arī \"/home\" (to var izdarīt tikai tad, ja jums "
+"ir\n"
+"vairākas Linux sadaļas).\n"
+"\n"
+"Jūsu zināšanai, katra sadaļa ir uzskaitīta šādā veidā: \"Nosaukums\", "
+"\"Izmērs\".\n"
+"\n"
+"\"Nosaukums\" ir kodēts šādi: \"cietā diska tips\", \"cietā diska numurs\",\n"
+"\"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\"Cietā diska tips\" ir \"hd\", ja jūsu cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\"Cietā diska numurs\" vienmēr ir burts pēc \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozīmē \"primārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozīmē \"primārā IDE konytroliera pakārtotais disks\",\n"
+"\n"
+" * \"c\" nozīmē \"sekundārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozīmē \"sekundārā IDE kontroliera pakārtotais disks\".\n"
+"\n"
+"SCSI diskiem \"a\" nozīmē \"primārais cietais disks\", \"b\" nozīmē\n"
+" \"sekundārais cietais disks\", utt..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalācija ir sadalīta pa dažiem CD-ROM diskiem. DrakX\n"
+"zin, vai izvēlētā pakotne atrodas uz cita CD-ROM diska, izvirzīs pašreizējo\n"
+"kompaktdisku un palūgs ievietot citu pēc nepieciešamības."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atjaunināt"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Ar pamatdokumentāciju (ieteicams!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimāla instalēšana"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tagad varat norādīt servisus, kurus jūs vēlaties startēt sistēmas\n"
+"palaišanas laikā.\n"
+"\n"
+"\n"
+"Kad pele pārvietojas pār saraksta elementu, parādās\n"
+"neliels palīdzības balons, kas paskaidro servisa lomu.\n"
+"\n"
+"\n"
+"Esiet īpaši uzmanīgs šajā solī, ja vēlaties sistēmu izmantot ka serveri:\n"
+"iespējams, ka nevēlaties startēt nevienu nevajadzīgu servisu. Atcerieties.\n"
+"ka daži servisi var būt bīstami, ja darbojas serverī.\n"
+"Parasti izvēlieties tikai tos servisus, kas jums tiešām nepieciešami."
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automātiska laika sinhronizācija (izmantojot NTP)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Visbeidzot, Jums tiks uzdots jautājums vai Jūs vēlaties grafisko saskarni\n"
+"pie ielādes. Šis jautājums tiks Jums uzdots, pat ja Jūs neizvēlējāties\n"
+"pārbaudīt konfigurāciju. Acīmredzot, Jūs vēlaties atbildet \"Nē\" ja šis\n"
+"dators darbosies kā serveris, vai arī neizdevās veiksmīgi paveikt ekrāna\n"
+"konfigurēšanu."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Pašlaik jums ir jāizvēlas, kur uz cietā diska instalēt Mandriva Linux\n"
+"operētājsistēmu. Ja disks ir tukšs vai cita operētājsistēma aizņem visu\n"
+"vietu uz diska, jums būs jāveic diska sadalīšana. Īsumā, cietā diska\n"
+"sadalīšana nozīmē to sadalīt loģiskās daļās, lai izveidotu vietu\n"
+"Mandriva Linux sistēmas instalēšanai.\n"
+"\n"
+"\n"
+"Sakarā ar to, ka diska sadalīšanas process parasti ir neatgriezenisks,\n"
+"nepieredzējušam lietotājam tas var būt nepatīkams un stresa pilns.\n"
+"Šis meistars vienkāršo procesu. Pirms uzsākat dalīšanu, izlasiet\n"
+"rokasgrāmatu un visu labi pārdomājiet.\n"
+"\n"
+"\n"
+"Jums ir nepieciešamas vismaz divas sadaļas. Viena vajadzīga pašai sistēmai,\n"
+"otra - virtuālajai atmiņai (Swap).\n"
+"\n"
+"\n"
+"Ja sadaļas jau izveidotas (agrākas instalēšanas laikā vai ar citu diska\n"
+"sadalīšanas rīku), jums tikai jānorāda tās sadaļas, kurās vēlaties\n"
+"instalēt Linux sistēmu.\n"
+"\n"
+"\n"
+"Ja sadaļas vēl nav izveidotas, jums tās ir jāizveido. Lai to izdarītu,\n"
+"izmantojiet augstāk pieejamo meistaru. Atkarībā no jūsu cietā diska \n"
+"konfigurācijas ir iespējami vairāki risinājumi:\n"
+"\n"
+"* Izmantot esošu sadaļu: meistars uz cietā diska ir atklājis vienu vai "
+"vairākas Linux sadaļas. Ja vēlaties\n"
+" tās saglabāt, izvēlieties šo opciju. \n"
+"\n"
+"\n"
+"* Izdzēst visu disku: ja vēlaties izdzēst visus uz diska esošos datus un "
+"sadaļas un aizstāt tās ar jaunu\n"
+" Mandriva Linux sistēmu, varat izvēlēties šo opciju. Esiet uzmanīgi, "
+"izvēloties šo risinājumu, jo pēc\n"
+" apstiprināšanas jūs vairs nevarēsit atteikties no šīs izvēles.\n"
+"\n"
+"\n"
+"* Izmanto brīvo vietu Windows sadaļā: ja uz cietā diska ir instalēts "
+"Microsoft Windows, kas aizņem visu\n"
+" vietu, jums ir jāatbrīvo vieta Linux datiem. Lai to izdarītu, jūs varat "
+"nodzēst Microsoft Windows sadaļu un\n"
+" datus (skatīt risinājumus \"Izdzēst visu disku\" vai \"Eksperta režīms\") "
+"vai izmainīt Microsoft\n"
+" Windows sadaļas izmēru. Sadaļas izmēru var izmainīt bez datu zaudēšanas. "
+"Šis risinājums ir ieteicams, ja\n"
+" jūs savā datorā vēlaties izmantot gan Mandriva Linux, gan Microsoft "
+"Windows.\n"
+"\n"
+"\n"
+" Pirms izvēlaties šo risinājumu, ņemiet vērā, ka Microsoft Windows sadaļas "
+"izmērs būs mazāks, nekā tas ir\n"
+" pašlaik. Tas nozīmē, ka jums Microsoft Windows sistēmā būs mazāk vietas "
+"datiem vai programmu instalēšanai.\n"
+"\n"
+"\n"
+"* Eksperta režīms: ja jūs vēlaties patstāvīgi veidot diska sadaļas, varat "
+"izvēlēties šo variantu. Esiet\n"
+" uzmanīgi, izveloties šo risinājumu. Tas ir ar plašām iespējām, bet ļoti "
+"bīstams. Jūs varat pazaudēt\n"
+" visus datus, tāpēc izvēlieties tikai tad, ja zinat, ko darāt."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Izmantot jau esošu sadaļu"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izdzēst visu disku"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Sagatavot auto instalēšanas disketi"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Visas jaunizveidotās sadaļas ir jāformatē, pirms tās var izmantot\n"
+"(formatēšana nozīmē failsistēmas izveidošanu).\n"
+"\n"
+"Tagad jūs arī varat izvēlēties pārformatēt dažas jau esošas sadaļas, lai\n"
+"izdzēstu tajās esošo informāciju. Ja jūs vēlaties to darīt, norādiet\n"
+"sadaļas, kuras vēlaties formatēt.\n"
+"\n"
+"Ņemiet vērā, ka nav nepieciešams pārformatēt visas jau eksistējošas "
+"sadaļas.\n"
+"Jums ir jāformatē sadaļas, kurās atrodas operētājsistēma (piemēram, \"/\",\n"
+"\"/usr\" vai \"/var\"), bet nav jāformatē sadaļas, kurās atrodas dati, ko\n"
+"jūs vēlaties saglabāt (parasti /home).\n"
+"\n"
+"Esiet uzmanīgi, izvēloties sadaļas, jo pēc formatēšanas visi dati būs\n"
+"iznīcināti un jūs vairs nevarēsit tos atjaunot.\n"
+"\n"
+"Noklikšķiniet \"Labi\", kad esat gatavi formatēt sadaļas.\n"
+"\n"
+"Noklikšķiniet \"Atcelt\", ja jūs gribat izvēlēties citas sadaļas, kur\n"
+"instalēt jauno Mandriva Linux operētājsistēmu."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Šobrīd ir laiks izvēlēties nepieciešamo datora drošības līmeni.\n"
+"XXXXX jo dators ir atklātāks, un jo kritiskāki ir uz tā novietotie dati,\n"
+"jo augstākam vajadzētu būt drošības līmenim.\n"
+"Taču augstāks drošības līmenis tiek iegūts uz lietošanas ērtuma\n"
+"rēķina. Meklējiet nodaļu \"msec\" rokasgrāmatā ``Reference Manual'',\n"
+"lai iegūtu vairāk informācijas par šo līmeņu nozīmi.\n"
+"\n"
+"Ja Jūs neziniat, ko izvēlēties, atstājiet noklusēto opciju."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Drošības administrators:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Pašlaik jums ir jāizvēlas, kurā(s) diska sadaļā(s) instalēt Mandriva Linux\n"
+"operētājsistēmu. Ja sadaļas jau ir izveidotas (agrākas GNU/Linux "
+"instalēšanas\n"
+"laikā vai ar citu diska sadalīšanas rīku), jūs varat izmantot esošās "
+"sadaļas.\n"
+"Citos gadījumos ir jāveido jaunas diska sadaļas.\n"
+"\n"
+"\n"
+"Lai veidotu sadaļas, jums vispirms ir jāizvēlas cietais disks. Jūs varat\n"
+"norādīt sadalāmo disku, noklikšķinot uz \"hda\" pirmajam IDE diskam,\n"
+"\"hdb\" - otrajam diskam, \"sda\" - pirmajam SCSI diskam, utt.\n"
+"\n"
+"\n"
+"Lai sadalītu izvēlēto cieto disku, varat izmantot sekojošas opcijas:\n"
+"\n"
+" * Izdzēst visu: šī opcija izdzēš visas sadaļas, kas atrodas uz izvēlētā "
+"cietā diska.\n"
+"\n"
+"\n"
+" * Izvietot automātiski: šī opcija ļauj jums automātiski izveidot Ext2 un "
+"swap sadaļas jūsu cietā diska\n"
+" brīvajā vietā.\n"
+"\n"
+"\n"
+" * Salabot sadaļu tabulu: ja sadaļu tabula ir bojāta, jūs varat mēģināt to "
+"autjaunot, izmantojot šo opciju.\n"
+" Esiet uzmanīgi un atcerieties, ka tas var neizdoties.\n"
+"\n"
+"\n"
+" * Atsaukt: jūs varat izmantot šo opciju, lai atceltu izmaiņas.\n"
+"\n"
+"\n"
+" * Pārlādēt: jūs varat izmantot šo opciju, ja vēlaties atsaukt visas "
+"izmaiņas un ielādēt sākotnējo sadaļu tabulu.\n"
+"\n"
+"\n"
+" * Meistars: Ja cietā diska sadalīšanai vēlaties izmantot meistaru, varat "
+"lietot šo opciju. Tā ir ieteicama,\n"
+" ja jums nav labu zināšanu par diska sadalīšanu.\n"
+"\n"
+"\n"
+" * Atjaunot no disketes: ja iepriekšējās instalēšanas laikā saglabājāt "
+"sadaļu tabulu disketē, jūs varat\n"
+" to atjaunot, izmantojot šo opciju.\n"
+"\n"
+"\n"
+" * Saglabāt disketē: ja vēlaties sadaļu tabulu saglabāt disketē, lai "
+"varētu to atjaunot, izmantojiet šo\n"
+" opciju. Ir ļoti ieteicams izmantot šo opciju.\n"
+"\n"
+"\n"
+" * Izdarīts: kad esat pabeiguši cietā diska dalīšanu, izmantojiet šo "
+"opciju, lai saglabātu izmaiņas.\n"
+"\n"
+"\n"
+"Jūsu zināšanai, jebkuru opciju var izsaukt ar tastatūru: pārvietojieties "
+"starp sadaļām, izmantojot Tab un Aušup/Lejup bultiņas.\n"
+"\n"
+"\n"
+"Kad ir izvēlēta sadaļa, jūs varat izmantot:\n"
+"\n"
+" * Ctrl-c, lai izveidotu jaunu sadaļu (kad ir izvēlēta tukša "
+"sadaļa)\n"
+"\n"
+" * Ctrl-d, lai izdzēstu sadaļu\n"
+"\n"
+" * Ctrl-m, lai uzstādītu montēšanas punktu"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Izņemama datu nesēja automontēšana"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pārslēgt normālajā režīmā"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Uz jūsu cietā diska ir atrasta vairāk nekā viena Microsoft Windows sadaļa.\n"
+"Lūdzu izvēlieties to sadaļu, kuras izmēru jūs vēlaties izmainīt, lai\n"
+"instalētu jauno Mandriva Linux operētājsistēmu.\n"
+"\n"
+"\n"
+"Jūsu zināšanai, katra sadaļa ir uzskaitīta šādā veidā: \"Linux nosaukums\",\n"
+"\"Windows nosaukums\" \"Izmērs\".\n"
+"\n"
+"\"Linux nosaukums\" ir kodēts šādi: \"cietā diska tips\", \"cietā diska\n"
+"numurs\", \"sadaļas numurs\" (piemēram, \"hda1\").\n"
+"\n"
+"\n"
+"\"Cietā diska tips\" ir \"hd\", ja jūsu cietais disks ir IDE disks, \"sd\",\n"
+"ja tas ir SCSI cietais disks.\n"
+"\n"
+"\n"
+"\"Cietā diska numurs\" vienmēr ir burts pēc \"hd\" vai \"sd\". IDE diskiem:\n"
+"\n"
+" * \"a\" nozīmē \"primārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"b\" nozīmē \"primārā IDE konytroliera pakārtotais disks\",\n"
+"\n"
+" * \"c\" nozīmē \"sekundārā IDE kontroliera galvenais disks\",\n"
+"\n"
+" * \"d\" nozīmē \"sekundārā IDE kontroliera pakārtotais disks\".\n"
+"\n"
+"\n"
+"SCSI diskiem \"a\" nozīmē \"primārais cietais disks\", \"b\" nozīmē\n"
+" \"sekundārais cietais disks\", utt...\n"
+"\n"
+"\"Windows nosaukums\" ir jūsu cietā diska burts Windows vidē (pirmais disks\n"
+"vai sadaļa saucas \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Parasti DrakX izvēlas tastatūras izkārtojumu priekš Jums (atkarībā no\n"
+"valodas, kuru Jūs izvēlējāties), tomēr Jums var nebūt tastatūra, kas "
+"atbilst\n"
+"tieši Jūsu valodai.\n"
+"ŠEIT DERĒTU KĀDS PIEMĒRS SAISTĪBĀ \n"
+"AR LATVIEŠIEM :)\n"
+"Klikšķiniet uz pogas \"Vairāk\" lai saņemtu pilnu sarakstu ar atbalstītiem\n"
+"tastatūras izkārtojumiem.\n"
+"\n"
+"Ja Jūs izvēlēsieties tastatūras izkārtojumu, kas balstās uz savādāku, kā\n"
+"latīņu alfabētu, nākamajā dialogā jums tiks pieprasīts izvēlēties taustiņa\n"
+"piesaisti, kas pārslēgs tastatūras izkārtojumu starp latīņu un ne-latīņu\n"
+"izkārtojumiem."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Pogu emulācija"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lūdzu izvēlieties pareizu portu. Piemēram, MS Windows\n"
+"ports COM1 GNU/Linux vidē saucas ttyS0."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Autentifikācija"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Eksperts"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX mēģinās sameklēt PCI SCSI adapteri(us).\n"
+"Ja DrakX atradīs kādu SCSI adapteri un zinās, kuru draiveri izmantot,\n"
+"tas tiks instalēts automātiski.\n"
+"\n"
+"Ja jums nav SCSI adapteru, ir ISA SCSI adapteris vai PCI SCSI adapteris,\n"
+"ko DrakX neatpazīst, jums tiks pajautāts, vai jūsu sistēmā ir SCSI\n"
+"adapteris. Ja nav SCSI adapteru, jūs varat vienkārši izvēlēties 'Nē'.\n"
+"Ja jūs izvēlaties 'Jā', jums tiks parādīts draiveru saraksts, kurā\n"
+"varat izvēlēties vajadzīgo adapteri.\n"
+"\n"
+"\n"
+"Ja jums nepieciešams patstāvīgi norādīt adapteri, DrakX pajautās, vai\n"
+"vēlaties norādīt adaptera opcijas. Jums būtu jāļauj DrakX aptaujāt\n"
+"dzelžus un noskaidrot opcijas. Parasti tas izdodas bez problēmām.\n"
+"\n"
+"Ja neizdodas, jums patstāvīgi jānorāda draivera opcijas.\n"
+"Izlasiet Instalēšanas rokasgrāmatu (3. nodaļu, apakšnodaļu \"Informācijas "
+"savākšana par jūsu dzelžiem\"), lai uzzinātu, kā iegūt šo\n"
+"informāciju no dzelžu dokumentācijas, ražotāja tīkla lapas\n"
+"(ja jums ir pieejams Internets) vai Windows (ja tas ir uzstādīts jūsu "
+"datorā)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Iekšēja ISDN karte"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "X pēc startēšanas"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Norādiet cieto disku, ko vēlaties izdzēst, lai izveidotu jaunu\n"
+"Mandriva Linux sadaļu. Esiet uzmanīgi, jo visi diskā esošie dati\n"
+"pazudīs un nebūs atjaunojami."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Nospiediet \"Labi\", ja vēlaties izdzēst visus datus un\n"
+"sadaļas, kas atrodas uz šī cietā diska. Esiet uzmanīgi, pēc \"Labi\" "
+"nospiešanas jūs nevarēsit atjaunot nekādus datus vai sadaļas, kas atradās\n"
+"uz diska, tajā skaitā arī Windows datus.\n"
+"\n"
+"Nospiediet \"Atcelt\", lai atceltu šo operāciju bez jebkādu uz šī diska "
+"esošu datu vai sadaļu pazaudēšanas."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tālāk ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Atpakaļ"
+
diff --git a/perl-install/install/help/po/mk.po b/perl-install/install/help/po/mk.po
new file mode 100644
index 000000000..80049adff
--- /dev/null
+++ b/perl-install/install/help/po/mk.po
@@ -0,0 +1,2038 @@
+# translation of DrakX-help-mk.po to Macedonian
+# Copyright (C) 2002,2003, 2004, 2006 Free Software Foundation, Inc.
+#
+# Danko Ilik <danko@mindless.com>, 2002,2003.
+# Vladimir Stefanov <vladoboss@mt.net.mk>, 2003.
+# Зоран Димовски <zoki@email.com>, 2003.
+# Danko Ilik <danko@on.net.mk>, 2003.
+# Зоран Димовски <decata@mt.net.mk>, 2004.
+# Zoran Dimovski <zoki.dimovski@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-help-mk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-09-19 23:36-0700\n"
+"Last-Translator: Zoran Dimovski <zoki.dimovski@gmail.com>\n"
+"Language-Team: Macedonian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пред да продолжите, внимателно прочитајте ѓи условите на лиценцата. Таа\n"
+"ја покрива целата дистрибуција на „Mandriva Linux“, Aко се согласувате\n"
+"со сите услови во неа, штиклирајте „%s“. Доколку не се согласувате со\n"
+"лиценцата притиснете на „%s“ и вашиот компјутер ќе се рестартира."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"„GNU/Linux“ е повеќе-кориснички систем, и тоа значи дека секој корисник\n"
+"може да си има свои преференци, свои датотеки, итн. Но, за разлика од "
+"„root“,\n"
+"кој е администратор на системот, корисниците што сега ги додавате, нема да\n"
+"можат да променат ништо освен сопствените датотеки и нивната конфигурација,\n"
+"така што системот се заштитува од ненамерни или злонамерни промени, кои "
+"може\n"
+"целосно да го променат вашиот систем. Треба да направите барен еден обичен\n"
+"корисник -- ова е сметката која треба да ја користите како рутина, за ваша\n"
+"скојдневна работа. Иако е многу лесно да се најавите како „root“ да "
+"направете\n"
+"нешто и сешто, може да е многу опасно. Најмала грешка може да придонесе\n"
+"вашиот ситем повеќе да не работи. Ако направите голема грешка како обичен\n"
+"корисник, најлошото што може да се случи е да изгубите некои информации\n"
+"но нема да има влијание на системот во целост.\n"
+"\n"
+"Во првото поле сте прашани за вашете вистинско име. Се разбира, тоа не е\n"
+"задолжително -- всушност можете да внесете што сакате. DrakX ќе го земе\n"
+"првиот збор од името што сте го внеле и ќе го копира во полето „%s“, што "
+"всушнсот е\n"
+"корисничкото име со кое ќе се најавете на системот. Ако сакате, можете да "
+"го\n"
+"променете и да внесете сопствено. Потоа мора да внесете лозинка. Од "
+"сигурносна\n"
+"гледна точка, не-привилигиран (обичен) корисник, лозинката не е од големо\n"
+"значење како лозинката на „root“, но тоа не е причина да ја занемарите\n"
+"корисничката лозинка оставајќи го полето празно или премногу едноставна:\n"
+"како и да е, вашите датотеки се во ризик.\n"
+"\n"
+"Откако ќе притиснете на копчето „%s“, можете да додадете и други корисници.\n"
+"Додадете по еден корисник за секого по еден на вашите пријатели, вашиот "
+"тактко,\n"
+"сестра, итн. Кога ќе завршите со додавањето корисници,\n"
+"притиснете на копчето „%s“.\n"
+"\n"
+"Со притискање на копчето „%s“, можете да ја промените „школката“ за\n"
+"тој корисник (која вообичаено е „bash“).\n"
+"\n"
+"Кога ќе завршите со додавањето корисници, ќе ви биде предложено да\n"
+"изберете еден корисник кој автоматски ќе се најавува на системот кога\n"
+"компјутерот ќе се вклучи. Ако сте заинтересирани за оваа карактеристика\n"
+"(и не се грижите многу за локалната безбедност), изберете корисник и\n"
+"менаџер на прозорци, и потоа притиснете на „%s“. Ако не сакате да ја "
+"користите\n"
+"оваа карактеристика, одштиклирајте го „%s“."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Дали сакате да ja користите оваа опција?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Горе се наведени постоечките „Linux“ партиции што се откриени на вашиот "
+"диск.\n"
+"Можете да го прифатите изборот направен од волшебникот; кој е добар за \n"
+"вообичаени инсталации. Ако правите некои промени, ќе мора барем да "
+"дефинирате\n"
+"root-партиција („/“). Не избирајте премала партиција, зошто нема да\n"
+"може да се инсталира доволно софтвер. Ако сакате вашите податоци да ги "
+"чувате\n"
+"на посебна партиција, ќе треба да направите и една „/home“ партиција\n"
+"(а тоа е можно ако имате повеќе од една „Linux“ партиција).\n"
+"\n"
+"Секоја партиција во листата е дадена со: „Име“, „Капацитет“.\n"
+"\n"
+"Структурата на „името“ е следнава: „тип на диск“, „број на диск“,\n"
+"„број на партиција“ (на пример, „hda1“).\n"
+"\n"
+"„Типот на дискот“ е „hd“ ако дискот е „IDE“, и „sd“ ако тој е „SCSI“ диск.\n"
+"\n"
+"„Бројот на дискот“ е буква по „hd“ или „sd„. За „IDE“ дискови:\n"
+"\n"
+"* „a“ значи диск што е „master“ на примарниот „IDE“ контролер;\n"
+"\n"
+"* „b“ значи диск што е „slave“ на примарниот „IDE“ контролер;\n"
+"\n"
+"* „c“ значи диск што е „master“ на секундарниот „IDE“ контролер;\n"
+"\n"
+"* „d“ значи диск што е „slave“ на секундарниот „IDE“ контролер;\n"
+"\n"
+"Кај „SCSI“ дисковите, „a“ значи најнизок „SCSI ID“, а „b“ значи\n"
+"втор најнизок „SCSI ID“, итн."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Инсталацијата на „Mandriva Linux“ се дистрибуира на повеќе CD-а. Ако некој\n"
+"избран паќет се наоѓа на друго CD, „DrakX“ ќе го исфрли моменталното\n"
+"и ќе побара од вас да го внесете потребното CD. Ако потребното CD не ви е\n"
+"при рака, само притиснете на „%s“ и соодветниот пакет нема да\n"
+"биде инсталиран."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сега треба да изберете кои програми сакате да се инсталираат на вашиот "
+"систем.\n"
+"Постојат илјадници пакети за „Mandriva Linux“, и за да полесно се снајдете\n"
+"тие се поделени во групи со слични апликации.\n"
+"\n"
+"„Mandriva Linux“ ги дели групите на пакети во четири категории. Може да "
+"избирате\n"
+"и да мешате паќети од различни категории, така што инсталација на „Работна "
+"станица“\n"
+"може да има инсталирано и апликации од категоријата „Сервер“.\n"
+"\n"
+" * „%s“: ако планирате да ја користите вашата машината како работна "
+"станица,\n"
+"изберете една или повеќе од групите во категоријата „Работна станица“.\n"
+"\n"
+" * „%s“: ако планирате вашиот компјутер да го користите за програмирање,\n"
+"изберете ги соодветните групи од таа категорија. Специјалната група „LSB“\n"
+"ќе го конфигурира вашиот систем така што ќе компајлира најдобро што е можно\n"
+"по спецификациите на „Linux Standard Base“.\n"
+"\n"
+" Исто така, при избирање на групата „LSB“ ќе се инсталира кернел од "
+"сериите „2.4“,\n"
+"наместо стандардниот „2.6“. Ова е за да се обезбеди 100%% согласност со "
+"„LSB“ на\n"
+"вашиот систем. Но, ако не ја изберете групата „LSB“, сеуште ќе имате систем "
+"кој\n"
+"е приближно 100%% во согласност со „LSB“.\n"
+"\n"
+" * „%s“: ако вашата машина е наменета да биде сервер, изберете од\n"
+"повеќето достапни сервиси кои сакате да се инсталираат на вашата машина.\n"
+"\n"
+" * „%s“: овде ја избирате графичката околина кој вие ја\n"
+"претпочитате. Мора да биде избрана барем една, ако сакате да имате \n"
+"достапен графички изглед.\n"
+"\n"
+"Движењето на покажувачот на глушецот врз името на групата ќе прикаже\n"
+"краток тескт кој ја појаснува групата.\n"
+"\n"
+"Можете да го штиклирате „%s“, што е корисно ако сте запознаени со\n"
+"пакетите кои ви се понудени или пак сакате да имате целосна контрола\n"
+"за тоа што ќе се инсталира на вашиот систем.\n"
+"\n"
+"Ако ја започнете инсталацијата во режимот „%s“, можете да ги деселектирате\n"
+"сите групи и да спречите инсталирање на било какви нови пакети. Ова е "
+"корисно\n"
+"за поправање или надградување на постоечки систем.\n"
+"\n"
+"Доколку ги деселектирате сите групи кога извршувате обична инсталација\n"
+"(спротивно на надградување), ќе се појави дијалог кој ви предложува "
+"различни\n"
+"опции за минимална инсталација:\n"
+"\n"
+" * „%s“: инсталирање на најмал можен број пакети за да се добие\n"
+"работна графичка површина.\n"
+"\n"
+" * „%s“: инсталирање на основниот систем заедно со основните помошни\n"
+"алатки и нивна документација. Оваа инсталација е соодветна\n"
+"за поставување на сервер.\n"
+"\n"
+" * „%s“: ќе инсталира апсолутно најмал број на пакети, неопходни за да се\n"
+"добие работен „Linux“ систем. Со оваа инсталација ќе имате само интерфејс\n"
+"за командни линии. Вкупната големина на оваа инсталација изнесува\n"
+"околу 65 мегабајти."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Надгради"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Со основна документација"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Искрено минимална инсталација"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Ако изберете индивидуално да инсталирате пакети, инсталерот ќе ви прикаже\n"
+"дрво што ги содржи сите пакети, распоредени ви групи и подгрупи.\n"
+"Додека го разгледувате дрвото, можете да избирате\n"
+"цели групи, подгрупи или индивидуални пакети.\n"
+"\n"
+"При избор на пакет од дрвото, од вашата десна страна ќе се појави опис,\n"
+"за да знаете за што е наменет пакетот.\n"
+"\n"
+"!! Ако е избран серверски пакет, дали вие го имате изберено пакетот или\n"
+"затоа што е дел од цела група, ќе бидете запрашани да потврдите дали "
+"навистина\n"
+"сакате да се инсталираат тие сервери. Како стандард, во „Mandriva Linux“, "
+"сите инсталирани\n"
+"сервиси автоматски ќе видат вклучени при подигнување. Дури и ако тие се "
+"безбедни\n"
+"и немаат проблеми во време на излегување на дистрибуцијата, може да се "
+"случи\n"
+"да бидат откриени безбедносни дупки по излегувањето на оваа верзија на "
+"„Mandriva Linux“. \n"
+"Ако не знаете што прави одреден сервис или зошто се инсталира, притиснете „%"
+"s“.\n"
+"Со притискање на „%s“ ќе се инсталираат излистаните сервиси и тие\n"
+"автоматски ќе се вклучуваат при подигнување. !!\n"
+"\n"
+"Опцијата „%s“ се користи за оневозможување на дијалогот за предупредување,\n"
+"кој се јавува секогаш кога програмата за инсталирање автоматски\n"
+"избира пакет за да го реши проблемот околу зависностите. Некои пакети\n"
+"зависат едни од други и како такви инсталацијата на пакетот бара\n"
+"да се инсталираат и други програми. Инсталерот може да одреди\n"
+"кои пакети се потребни за да се задоволат зависностите за да\n"
+"инсталацијата биде успешно завршена.\n"
+"\n"
+"Малата икона на дискета во дното на листата овозможува да се вчита листата\n"
+"на пакети што создадена за време на претходна инсталација. Ова е корисно "
+"ако\n"
+"имате повеќе машини кои сакате да ги конфигурирате идентично. Со притискање\n"
+"на оваа икона ќе побара од вас да внесете дискета што претходно била "
+"создадена,\n"
+"на крајот на некоја друга инсталација. Видете го вториот совет од "
+"претходниот\n"
+"чекор за тоа како да направите таква дискета."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Автоматски зависности"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"„%s“: при притискање на копчето „%s“ ќе се вклучи Волшебникот\n"
+"за конфигурирање на принтерот. За повеќе информации како да поставете\n"
+"нов принтер, консултирајте се со соодветното поглавје од „Почетен водич“.\n"
+"Изгледот претставен во нашиот водич е сличен на оној кој се користи при\n"
+"инсталацијата."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Овој дијалог се користи за да ги изберете сервисите што сакате да се \n"
+"стартуваат за време на подигнување.\n"
+"\n"
+"„DrakX“ ќе ги излиста сите достапни сервиси во тековната инсталација.\n"
+"Внимателно разгледајте ги и дештиклирајте ги оние што не се потребни\n"
+"за време на подигнување.\n"
+"\n"
+"Можете да добиете кратко објаснување за некој сервис ако го изберете.\n"
+"Сепак, ако не сте сигурни дали некој сервис е корисен или не, побезбедно\n"
+"е да го оставите како што е.\n"
+"\n"
+"!! Во овој стадиум, бидете внимателни ако планирате да ја користите\n"
+"вашата машина како сервер: веројатно нема да сакате да стартувате некој\n"
+"сервис што не ви е потребен. Ве молиме запомнете дека повеќе сервиси можат\n"
+"да бидат опасни ако бидат овозможени на сервер. Воглавно, изберете ги\n"
+"само сервисите што навистина ви се потребни. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управува со времето според „GMT“ (Greenwich Mean Time) и го "
+"преведува\n"
+"во локално време според временската зона што сте ја избрале. Ако часовникот\n"
+"на вашата матична плоча е наместен на локално време, ова можете да го "
+"деактивирате\n"
+"со деселектирање на „%s“, што ќе му овозможи на „GNU/Linux“ да знае дека "
+"системскиот\n"
+"часовник и хардверскиот часовник се во иста временска зона. Ова е корисно "
+"кога\n"
+"на машината има уште еден оперативен систем.\n"
+"\n"
+"Опцијата „%s“ автоматски ќе го регулира системскиот часовник\n"
+"преку поврзување со далечински временски сервер на Интернет.\n"
+"За да ви работи ова, мора да имате работна Интернет врска. Ви препорачуваме\n"
+"да изберете временски сервер во ваша близина. Всушност,\n"
+"оваа опција инсталира временски сервер што дополнително може да\n"
+"го користат други машини на вашата локална мрежа."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Автоматска синхронизација на време"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графичка Карта\n"
+"\n"
+" Вообичаено инсталерот автоматски ја пронаоѓа и конфигурира\n"
+"графичката карта инсталирана на вашата машина. Во спротивно можете\n"
+"да изберете од листава всушност која картичка ја имате инсталирано.\n"
+"\n"
+" Во случај да се овозможени различни сервери за вашата картичка, со\n"
+"или без 3Д забрзување, тогаш ве прашуваат да го изберете серверот кој\n"
+"најмногу одговара на вашите потреби."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (за „X Window System“) е срцето на графичкиот изглед на „GNU/Linux“\n"
+"на кој се изградени сите графички околини („KDE“, „GNOME“, „AfterStep“,\n"
+"„WindowMaker“, и.т.н.) вградени во „Mandriva Linux“\n"
+"\n"
+"Ќе видите листа со различни параметри кои можете да ги менувате\n"
+"за да добиете оптимален графички приказ.\n"
+"\n"
+"Графичка карта\n"
+"\n"
+" Вообичаено, инсталерот автоматски ќе ја детектира и конфигурира\n"
+"графичката карта која е инсталирана на вашиот компјутер.\n"
+"Ако ова е неточно, тогаш од листата можете да ја изберете\n"
+"картичката која всушност ја имате инсталирано.\n"
+"\n"
+" Во случај каде повеќе сервери се достапни за вашата картичка, со или\n"
+"без 3Д забрзување, ќе бидете прашани да го изберете серверот\n"
+"кој најмногу одговара за вашите потреби.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Инсталерот автоматски ќе го детектира и конфигурира мониторот\n"
+"кој е поврзан на вашиот компјутер. Ако ова е неточно, тогаш од листата\n"
+"можете да го изберете мониторот кој е поврзан на вашиот компјутер.\n"
+"\n"
+"\n"
+"\n"
+"Резолуција\n"
+"\n"
+" Овде можете да ја изберете резолуцијата и длабочината на бои достапни\n"
+"за вашиот графички хардвер. Изберете една која најмногу одговара на вашите\n"
+"потреби (можете да ги промените по инсталацијата), Пример на избраната\n"
+"конфигурација е прикажан на сликата со мониторот.\n"
+"\n"
+"\n"
+"\n"
+"Тест\n"
+"\n"
+"Зависно вашиот хардвер, овој внес може и да не се појави.\n"
+"\n"
+" Системот ќе се обиде да отвори графичкиот екран со бараната\n"
+"резолуција. Ако можете да ја прочитате прикажаната пораката и одговорете „%"
+"s“,\n"
+"тогаш „DrakX“ ќе продолжи со следниот чекор. Ако не можете да ја прочитате "
+"пораката,\n"
+"тогаш нешто не е во ред со конфигурацијата на автоматската детекција и\n"
+"тестот автоматски ќе завршпо 12 секунди, враќајќи ве назад на менито. \n"
+"Променете ги поставувањата се додека не добиете добар графички приказ.\n"
+"\n"
+"\n"
+"\n"
+"Опции\n"
+"\n"
+" Овој чекор ви овозможува да изберете дали вашиот компјутер автоматски\n"
+"ќе го вклучува графичкиот изглед при подигнување. Очигледно, можеби\n"
+"ќе сакате да изберете „%s“ ако вашиот компјутер се користи како сервер\n"
+"или ако неуспешно сте го конфигурирале приказот."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Инсталерот автоматски ќе го пронајде и конфигурира мониторот\n"
+"кој е поврзан на вашиот компјутер. Доколку не е истиот, можете од\n"
+"листата да го изберете мониторот кој е поврзан на вашиот компјутер."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Резолуција\n"
+"\n"
+" Овде може да ја изберете резолуцијата и длабочината на бојата достапни "
+"за\n"
+"вашата графичка карта. Изберете ја онаа која најмногу одговара на вашите\n"
+"потреби (иако ќе можете да ја менувате и по инсталацијата). Примерок од\n"
+"избраната конфигурација е прикажана во сликата на мониторот."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Во случај ако имате различни сервери достапни за вашата картичка, со или\n"
+"без 3Д забрзување, ќе бидете прашани да го изберете серверот кој најмногу\n"
+"одговара на вашите потреби."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Опции\n"
+"\n"
+" Овие чекори ќе ви овозможат да изберете дали вашата машина\n"
+"автоматски да го вклучи графичкиот интерфејс при вклучување.\n"
+"Веројатно би сакале да одговорите „%s“, ако планирате вашата машина\n"
+"да е сервер, или ако не сте успеале да го конфигурирате\n"
+"графичкиот приказ."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Сега треба да одлучите каде на вашиот диск сакате да се инсталира\n"
+"оперативниот систем „Mandriva Linux“. Ако вашиот хард диск е празен\n"
+"или сето достапно место го користи постоечки оперативен систем, треба\n"
+"да го партиционирате дискот. Во основа, партиционирање на хард диск значи\n"
+"логичка поделба за создавање на простор потребен за инсталирање на\n"
+"вашиот нов „Mandriva Linux“ систем.\n"
+"\n"
+"Бидејќи процесот на партиционирање на хард дискот вообичаено е "
+"нереверзибилен\n"
+"и може да доведе до губење на податоци. Партиционирањето може да е "
+"зплашувачко\n"
+"и стресно за неискусен корисник. За среќа, „DrakX“ вклучува волшебник кој "
+"овој\n"
+"процес го прави многу едноставен. Пред да продолжите со овој чекор, "
+"прочитајте\n"
+"го остатокот од секцијата и пред се, не брзајте.\n"
+"\n"
+"Во зависност од конфигурацијата на вашиот хард диск, достапни се\n"
+"повеќе опции:\n"
+"\n"
+" * „%s“: оваа опција ќе изведе автоматско партиционирање на празниот(те) диск"
+"(ови).\n"
+"Ако ја користете оваа опција, понатаму нема да сте запрашувани.\n"
+"\n"
+" * „%s“: волшебникот детектирал една или повеќе постоечки „Linux“ партиции\n"
+"на вашиот диск. Ако сакате да ги користите, изберете ја оваа опција.\n"
+"Потоа ќе бидете прашани да ги изберете точките на монтирање асоцирани со "
+"секоја\n"
+"од партициите. Наследните точки на монтирање се изберени како стандардни, и "
+"за\n"
+"поголемиот дел е добра идеја да се задржат.\n"
+"\n"
+" * „%s“: ако на дискот има инсталирано „Microsoft Windows“ и тој го зафаќа "
+"целиот простор,\n"
+"мора да направите празен простор за „GNU/Linux“. За да го сторите ова, "
+"можете да ја\n"
+"избришете партицијата на „Microsoft Windows“ и податоците (видете го "
+"решението\n"
+"„Избриши цел диск“) или пак да ја промените големината на вашата „Microsoft "
+"Windows“\n"
+"дали е тоа „FAT“ или „NTFS“. Промена на големината може да се изврши без "
+"губење на\n"
+"податоците, но претходно е потребно да ja дефрагментирате „Windows“ "
+"партицијата.\n"
+"Строго се препорачува да наравите копија на вашите податоци. Употреба на "
+"оваа опција\n"
+"се препорачува ако на вашиот компјутер сакате да ѓи користите и двата "
+"оперативни системи,\n"
+"и „Mandriva Linux“ и „Microsoft Windows“.\n"
+"\n"
+" Пред да ја изберете оваа опција треба да знаете дека по ова „Microsoft "
+"Windows“\n"
+"партицијата ќе биде помала. Ќе имате помалку слободен простор под "
+"„Microsoft\n"
+"Windows“ за чување на податоци или инсталирање на нов софтвер.\n"
+"\n"
+" * „%s“: ако сакате да ги избришете сите податоци и сите партиции присутни "
+"на\n"
+"вашиот диск и да ги замените со вашиот нов „Mandriva Linux“ систем, изберете "
+"ја\n"
+"оваа опција. Внимавајте, откако ќе потврдите оваа операција не може да\n"
+"биде вратена.\n"
+"\n"
+" !! Ако ја изберете оваа опција, сите податоци на вашиот диск ќе бидат "
+"избришани. !!\n"
+"\n"
+" * „%s“: оваа опција се јавува кога хард дискот е комплетно заземен од\n"
+"„Microsoft Windows“. Ако ја изберете оваа опција едноставно ќе избрише се "
+"што\n"
+"имате на дискот и ќе почнето одново, партиционирајќи се од почеток.\n"
+"\n"
+" !! Ако ја изберете оваа опција, сите податоци на вашиот диск ќе бидат "
+"изгубени. !!\n"
+"\n"
+" * \"%s\": изберете ја оваа опција ако сакате рачно да го партиционирате "
+"вашиот хард\n"
+"диск. Внимавајте -- ова е моќен но опасен избор и можете многу лесно да ги "
+"изгубите\n"
+"сите ваши податоци. Затоа оваа опција е препорачлива само ако веќе имате "
+"правено\n"
+"вакво нешто и имате малку искуство. За повеќе инструкции како да ја "
+"користите\n"
+"алатката „DiskDrake“, обратете се на секцијата „Менаџирање на вашите партиции"
+"„ во\n"
+"„Почетен водич“."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Користи ја постоечката партиција"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Избриши го целиот диск"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Еве сте, инсталацијата заврши и вашиот „GNU/Linux“ систем е подготвен\n"
+"за користење. Само притиснете на „%s“ за да го рестартирате системот.\n"
+"Не заборавајте да го отстраните инсталациониот медиум („CD-ROM“ или "
+"дискета)\n"
+"Прво нешто што треба да проверете по завршувањето на хардверските тестови\n"
+"е подигнувачкото мени, кое ви дава избор кој оперативен систем сакате\n"
+"да го вклучите.\n"
+"\n"
+"Копчето „%s“ прикажува уште две додатни копчиња за:\n"
+"\n"
+" * „%s“: создавање на инсталациска дискета која автоматски ќе го\n"
+"изведе целиот процес на инсталација без помош од оператор,\n"
+"слично на инсталацијата која штотуку ја конфигуриравте.\n"
+"\n"
+" Забележете дека по притискањето на ова копче се појавуваат две\n"
+"различни опции:\n"
+"\n"
+" * „%s“. Ова е делумно автоматизирана инсталација, Чекорот\n"
+"за поделба на дискот е единствената интерактивна процедура.\n"
+"\n"
+" * „%s“. Целосно автоматизирана инсталација: дискот комплетно\n"
+"се пребришува, и сите податоци ќе бидат изгубени.\n"
+"\n"
+" Оваа можност е многу практична при инсталирање на поголем број слични\n"
+"машини. За повеќе информации, видете го одделот за „Автоматска Инсталација“\n"
+"на нашата веб страница.\n"
+"\n"
+" * „%s“(*): да ја зачувува листата на изборот на пакети во оваа "
+"инсталација.\n"
+"За да го користите овој избор за друга инсталација, внесете ја дискетата\n"
+"и започнете ја инсталацијата. Откако ќе го внесете дискот и при "
+"појавувањето\n"
+"на екранот притиснете на кочето „F1“ и внесете >>linux defcfg=\"floppy\"<<\n"
+"и притиснете на тастерот „Enter“.\n"
+"\n"
+"(*) Потребна ви е дискета форматирана со „FAT“ датотечен систем. За да\n"
+"ја креирате под „GNU/Linux“ извршете „mformat a:“ или „fdformat /dev/fd0“\n"
+"проследено со „mkfs.vfat /dev/fd9“."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Генерирај дискета за авто-инсталација"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ако сте избрале повторно да користите некои наследни „GNU/Linux“\n"
+"партиции, можеби сакате да форматирате некои од нив и да ги\n"
+"избришете сите податоци кои ги содржат. За да направите ова, ве\n"
+"молиме изберете ги ѝ тие партиции.\n"
+"\n"
+"Ве молиме зебележете дека не е неопходно повторно да ги форматирате\n"
+"сите претходно постоечки партиции. Мора повторно да ги форматирате\n"
+"партициите кои го содржат оперативниот систем (како што се „/“ или „/var“),\n"
+"но, не мора да ги форматирате партициите кои содржат податоци кои\n"
+"сакате да ги задржите (вообичаено „/home“).\n"
+"\n"
+"Внимавајте при изборот на партициите. Откако ќе заврши форматирањето,\n"
+"сите податоци на избраните партиции ќе бидат избришани и нема да\n"
+"може да ги вратите.\n"
+"\n"
+"Ако сте подготвени да ги форматирате партициите, притиснете „%s“.\n"
+"\n"
+"Ако сакате да изберете друга партиција за системска инсталација на\n"
+"вашиот нов оперативен систем „Mandriva Linux“, притиснете на „%s“.\n"
+"\n"
+"Ако сакате да изберете партиции за проверка на лоши блокови на дискот,\n"
+"притиснете на „%s“."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Додека го инсталирате „Mandriva Linux“, најверојанто е дека некои пакети\n"
+"веќе имаат надградби од првичното издание. Можеби се поправени грешки,\n"
+"решени се безбедносни проблеми. За да придобиете од овие надградби,\n"
+"сега може да ги преземете од Интернет. Ако имате функционална интернет\n"
+"врска штиклирајте го „%s“ или ако претпочитате подоцна да ги\n"
+"инсталирате надградбите, притиснете на „%s“.\n"
+"\n"
+"Ако го штиклирате „%s“ ќе ви се појави листа со веб локации од каде\n"
+"ќе можете да ги преземете надградбите. Изберете ја онаа локација\n"
+"која е најблиску до вас. Ќе се појави дрво со избор на пакети:\n"
+"прегледајте го изборот, и за да ги преземете и инсталирате избраните\n"
+"пакети притиснете на „%s“. Во спротивно, притиснете на „%s“."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Сега, „DrakX“ ќе ви овозможи да го изберете сигурносното ниво кое го\n"
+"посакувате за вашиот компјутер. Грубо кажано, сигурносното ниво треба\n"
+"да е повисоко ако компјутерот содржи важни податоци или ако е директно\n"
+"изложен на Интернет. Како замена за повисоко сигурносно ниво\n"
+"лесната употреба ќе биде намалена.\n"
+"\n"
+"Ако не знаете што да изберете, задржете ја дадената опција. Нивото на "
+"сигурност\n"
+"ќе можете подоцна да го смените со алатката „draksec“, која е дел од\n"
+"Конгролниот центар на „Mandriva Linux“.\n"
+"\n"
+"Пополнете го полето „%s“ со адресата na е-пошта на личноста која е\n"
+"одговорна за сигурноста. Сигурносните пораки ќе се праќаат на таа адреса."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Администратор за сигурност"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Во овој момент треба да изберете која партициja или партиции ќе ги користите "
+"за\n"
+"инсталација на системот „Mandriva Linux“. Ако партициите се веќе "
+"дефинирани,\n"
+"од претходна инсталација на „GNU/Linux“ или од друга алатка за поделба на "
+"дискот,\n"
+"може да ги користите веќе постоечките партиции. Во спротивно, партициите\n"
+"на хард дискот мора да бидат дефинирани.\n"
+"\n"
+"За да создадете партиции најпрво треба да изберете хард диск. Можете да го\n"
+"изберете дискот за партицирање со притискање на „hda“ за првиот „IDE“ уред,\n"
+"„hdb“ за вториот, „sda“ за првиот „SCSI“ уред итн.\n"
+"\n"
+"За да го поделите избраниот хард диск, можете да ги користите овие опции:\n"
+"\n"
+" * „%s“: оваа опција ги брише сите партиции на избраниот хард диск\n"
+"\n"
+" * „%s“: оваа опција ви овозможува автоматски да создадете „ext3“ и „swap“\n"
+"партиции во слободниот простор од вашиот хард диск\n"
+"\n"
+"„%s“: ви дава пристап до додатни карактеристики: \n"
+"\n"
+" * „%s“: ја зачувува партициската табела на дискета. Корисно за\n"
+"понатамошно враќање на партициската табела, ако е потребно. Строго се\n"
+"препорачува да го изведете овој чекор.\n"
+"\n"
+" * „%s“: ви овозможува да вратите претходно зачувана партициска табела\n"
+"од дискета.\n"
+"\n"
+" * „%s“: ако вашата партициска табела е оштетена, со користење на оваа\n"
+"опција може да се обидете да ја вратите. Ве молиме бидете внимателни\n"
+"и запомнете дека ова не успева секогаш.\n"
+"\n"
+" * „%s“: ги отфрла сите промени и ја превчитува партициската табела\n"
+"која претходно постоела на хард дискот.\n"
+"\n"
+" * „%s“: ако ја одштиклирате оваа опција корисниците ќе бидат приморани\n"
+"рачно да ги монтираат и демонтираат отстранливите медиуми како што\n"
+"се дискетите и CD-ата.\n"
+"\n"
+" * „%s“: изберете ја оваа опција ако сакате да користите волшебник за\n"
+"поделба на вашиот хард диск. Ова е препорачано ако немате добро\n"
+"познавање за поделба на дискови.\n"
+"\n"
+" * „%s“: изберете ја оваа опција за да ги откажете вашите промени.\n"
+"\n"
+" * „%s“: ви овозможува додатни.дејства на партициите (вид, опции, формат)\n"
+"и ви дава повеќе информации за хард дискот.\n"
+"\n"
+" * „%s“: кога ќе завршите со поделбата на хард дискот, ова повторно\n"
+"ќе ги зачувува вашите промени на дискот.\n"
+"\n"
+"Кога дефинирате големина на партиција, на истата големината можете\n"
+"фино да ја поставите со користење на стрелките на тастатурата.\n"
+"\n"
+"Забелешка: сите опции можете да ги користете преку тастатурата. Користете\n"
+"го тастерот „Tab“ и стрелките [Горе/Долу] на тастатурата .\n"
+"\n"
+"Кога е избрана партиција, можете да користите:\n"
+"\n"
+" * „Ctrl-c“ - да создадете нова партиција (кога е избрана празна партиција)\n"
+"\n"
+" * „Ctrl-d“ - да избришете партиција\n"
+"\n"
+" * „Ctrl-m“ - да поставите точка на монтирање.\n"
+"\n"
+"За да добиете информации за различните типови на датотечни системи,\n"
+"прочитајте го одделот за „ext2FS“ од „Упатство за употреба“.\n"
+"\n"
+"Ако инсталирате на „PPC“ машина, ќе сакате да создадете мала „HFS "
+"bootstrap“\n"
+"партиција од барем 1МБ, која ќе се користи од подигнувачот „yaboot“. Ако "
+"сакате\n"
+"да ја направите партицијата малку поголема, на пример 50МБ, тоа може да "
+"биде\n"
+"корисно како место за чување резервен кернел и „ramdisk“ слики за итни "
+"случаи."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Автоматско монтирање на отстранливи медиуми"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Префрлање помеѓу нормален/експертски режим"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"На вашиот диск е пронајдено повеќе од една „Microsoft“ партиција.\n"
+"Изберете ја онаа што сакате да ја намалите/зголемите за да го\n"
+"инсталирате вашиот нов „Mandriva Linux“ оперативен систем.\n"
+"\n"
+"Секоја партиција е излистана со: „Linux име“, „Windows име“\n"
+"„Капацитет“.\n"
+"\n"
+"„Linux име“ е со структура: „тип на диск“, „број на диск“,\n"
+"„број на партиција“ (на пример, „hda1“).\n"
+"\n"
+"„Тип на дискот“ е „hd“ ако дискот е „IDE“, и „sd“ ако дискот е SCSI.\n"
+"\n"
+"„Број на дискот“ е секогаш буква после „hd“ или „sd“. Кај „IDE“ дисковите:\n"
+"\n"
+" * „a“ значи „master“ диск на примарниот „IDE“ контролер;\n"
+"\n"
+" * „b“ значи „slave“ диск на примарниот „IDE“ контролер;\n"
+"\n"
+" * „c“ значи „master“ диск на секундарниот „IDE“ контролер;\n"
+"\n"
+" * „d“ значи „slave“ диск на секундарниот „IDE“ контролер.\n"
+"\n"
+"Кај „SCSI“ дисковите, буквата „a“ значи најнизок „SCSI ID“, а „b“ значи\n"
+"втор најмал „SCSI ID“, итн.\n"
+"\n"
+"„Windows име“ е буквата на дискот под „Windows“ (првиот диск или партиција\n"
+"се вика „C:“)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"„%s“: проверка за тековниот избор на држава. Ако не сте во оваа држава\n"
+"притиснете на копчето „%s“ и изберете друга. Доколку вашата држава не\n"
+"се наоѓа на прикажаната листа, притиснете на копчето „%s“ за да ја\n"
+"добиете комплетната листа на држави."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Овој чекор се активира само ако на вашиот компјутер претходно е\n"
+"пронајдена постоечка „GNU/Linux“ партиција.\n"
+"\n"
+"„DrakX“ треба да знае дали сакате да извршите нова инсталација или\n"
+"надградба на постоечкиот „Mandriva Linux“ систем:\n"
+"\n"
+" * „%s“: Во најголем број случаеви, ова комплетно го брише стариот систем.\n"
+"Сепак, зависно од шемата на делење на дискот, можете да спречите некои\n"
+"од вашите постоечки податоци (посебно директориумите „home“) да не бидат\n"
+"пребришани. Ако сакате да го промените начинот на кој е поделен вашито диск\n"
+"или да го промените датотечниот систем, треба да ја користете ја оваа "
+"опција.\n"
+"\n"
+" * „%s“: Оваа класа на инсталација ви овозможува да ги надградите пакетите "
+"кои\n"
+"се тековно инсталирани на вашиот „Mandriva Linux“ систем. Вашата тековна "
+"шема на\n"
+"поделба на дискот и корисничките податоци нема да бидат променети. Повеќето "
+"од\n"
+"останатите конфигурациски чекори остануваат достапни и се слични со "
+"стандардната\n"
+"инсталацијата.\n"
+"\n"
+"Користењето на опцијата „Надгради“ работи одлично на „Mandriva Linux“ "
+"системи кои имаат\n"
+"верзија „8.1“ или понова. Извршување на надградба на „Mandriva Linux“ верзии "
+"постари\n"
+"од верзија „8.1“ е строго непрепорачлива."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Зависно од тоа кој јазик го имате избрано, „DrakX“ автоматски ќе го избере\n"
+"одредениот тип за конфигурација на тастатурата. Проверете дали изборот\n"
+"ви одговара или изберете друг распоред за тастатура.\n"
+"\n"
+"Исто така, можеби нема да ја има тастатурата која точно одговара на\n"
+"вашиот јазик: на пример, ако сте Македонец кој зборува Англиски,\n"
+"можеби имате Македонска тастатура. Или, ако зборувате Англиски и се\n"
+"наоѓате во Квебек, може да се најдете во ситуација каде што вашиот\n"
+"мајчин јазик и поставувањата за тастатура не се совпаѓаат. Во било кој\n"
+"случај, овој чекор од инсталацијата ви овозможува да ја изберете\n"
+"соодветната тастатура од листата.\n"
+"\n"
+"За да се прикаже листа на подржани тастатури притиснете на копчето „%s“.\n"
+"\n"
+"Ако изберете распоред на тастатура кој не е базиран на латинска азбука,\n"
+"наредниот прозорец ќе ви овозможи да ги изберете тастерите за промена\n"
+"меѓу Латински и не-Латински распоред."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Првиот чекор е да го изберете јазикот кој го преферирате.\n"
+"\n"
+"Вашиот избор на јазик ќе влијае на инсталерот, документацијата\n"
+"и системот воопшто. Најпрво изберете го регионот каде се наоѓате\n"
+"и потоа јазикот кој го говорите.\n"
+"\n"
+"Со притискање на копчето „%s“ ви се овозможува да изберете други\n"
+"јазици кои ќе се инсталираат на вашата работна станица, притоа ќе се\n"
+"инсталираат системски датотеки, документација и апликации во завиност\n"
+"од избраниот јазик. На пример, доколку Шпански корисници го користат\n"
+"вашиот компјутер, во дрвото изберете Македонски како почетен јазик\n"
+"и „%s“ во одделот „Напредно“.\n"
+"\n"
+"За „UTF-8“ (повеќекодна) подршка: Повеќекодната подршка е ново кодирање\n"
+"на знаци наменето да ги покрие сите постоечки јазици. Но, комплетна подршка\n"
+"во „GNU/Linux“ е сеуште во развој. Поради оваа причина, употребата на „UTF-"
+"8“ во\n"
+"„Mandriva Linux“ ќе зависи од изборот на корисникот:\n"
+"\n"
+" * Ако изберете јазик со силно наследно кодирање („latin1“ јазици,\n"
+"Руски, Јапонски, Кинески, Корејски, Тајландски, Грчки, Турски, повеќето\n"
+"„iso-8859-2“ јазици), наследното кодирање ќе се користи како почетно;\n"
+"\n"
+" * Останатите јазици ќе користат ја повеќекодната табела како почетна;\n"
+"\n"
+" * Ако се потребни два или повеќе јазици и тие јазици не користат иста\n"
+"кодна табела, во тој случај повеќекодната табела ќе се користи за\n"
+"целиот систем;\n"
+"\n"
+" * И за крај, повеќекодната табела може присилно да се користи низ целиот\n"
+"систем по избор на корисникот притоа избирајќи ја опцијата „%s“, независно\n"
+"кои јазици претходно биле избрани.\n"
+"\n"
+"Забележете дека не сте ограничени да изберете само еден додатен јазик.\n"
+"Можете да изберете повеќе или да ѓи инсталирате сите со штиклирање на „%s“.\n"
+"Избирањето на подршка за одреден јазик значи дека ќе се инсталираат "
+"преводи,\n"
+"фонтови, проверувачи на правопис итн. соодветно на избраниот јазик.\n"
+"\n"
+"За да ѓи менувате јазиците кои се инсталирани на вашиот систем, како „root“\n"
+"извршете ја командата „localedrake“ и притоа ќе се смени јазикот на "
+"системско ниво.\n"
+"Ако ја извршите командата како обичен корисник, јазикот ќе се промени само\n"
+"за тој одреден корисник."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Шпански"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Вообичаено, „DrakX“ го детектира бројот на копчиња на вашиот глушец.\n"
+"Ако не успее, тогаш претпоставува дека имате глушец со две копчиња и ќе "
+"постави\n"
+"емулација за трето копче. Третото копче на глушец со две копчиња може да се\n"
+"користи при истовремено притискање на левото и десното копче. „DrakX“ "
+"автоматски\n"
+"препознава дали се работи за „PS/2“, сериски или „USB“ глушец.\n"
+"\n"
+"Ако имате глушец со 3 копчиња без тркалце, може да изберете „%s“ глушец.\n"
+"Тогаш „DrakX“ ќе го конфигурира вашиот глушец така што ќе можете да "
+"симулирате\n"
+"тркалце со него. За да го користите тркалцето, притиснете на средното копче\n"
+"и движете го глушецот нагоре и надолу.\n"
+"\n"
+"Ако поради некоја причина сакате да наведете друг тип на глушец,\n"
+"изберете го соодветниот тип од понудената листа.\n"
+"\n"
+"Може да го изберете внесот „%s“ за да изберете „општ“ тип на глушец\n"
+"кој ќе работи со скоро секој глушец.\n"
+"\n"
+"Ако сте избрале глушец различен од понудениот, ќе се појави екран за\n"
+"тестирање. Употребете ги копчињата и тркалцето за да проверите дали\n"
+"поставувањата се во ред и дека глушецот работи исправно. Ако глушецот\n"
+"не работи како што треба, притиснете на „space“ или на „Enter“ за да го\n"
+"откажете тестот и ќе бидете вратени на листата за глувци.\n"
+"\n"
+"Понекогаш, глувците со тркалце не се детектираат автоматски, па ќе треба\n"
+"да го изберете од листата. Изберете го оној што одговара на портата на\n"
+"која што е приклучен. По избирањето на глушецот и притискање на\n"
+"копчето „%s“, ќе се прикаже слика на глушец на екранот. Движете го "
+"тркалцето\n"
+"за да видите дали работи како што треба. Откога ќе видите дека\n"
+"тркалцето на екранот се движи исто како што го движите вистинското тркалце,\n"
+"тестирајте ѓи копчињата и проверете дека покажувачот се движи по екранот "
+"како што\n"
+"го движите глушецот."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "со емулација на тркало"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Универзално | Било кое „PS/2“ и „USB“ глувче"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Изберете ја вистинската порта. На пример, портата „COM1“ под „Windows“,\n"
+"во „GNU/Linux“се вика „ttyS0“."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ова е многу важна одлука во врска со безбедноста на вашиот „GNU/Linux“ "
+"систем:\n"
+"треба да ја внесете лозинката за „root“. „Root“ е системскиот администратор\n"
+"и е единствениот корисник кој е авторизиран да надградува, додава \n"
+"корисници, ја менува севкупната системска конфигурација, итн. Во кратки "
+"црти,\n"
+"„root“ може да прави сѐ! Затоа мора да изберете лозинка која што е тешка\n"
+"за погодување -- „DrakX“ ќе ви каже ако е премногу лесна. Како што можете "
+"да\n"
+"видите, не сте принудени да внесете лозинка, но ние строго ви препорачуваме "
+"да\n"
+"не го правите ова. „GNU/Linux“ е исто склон на грешки при работа исто како и "
+"било\n"
+"кој друг оперативен систем. Бидејќи „root“ може да ги надмине сите "
+"ограничувања\n"
+"и ненамерно да ги избрише сите податоци на партициите ако невнимателно им\n"
+"пристапува на истите. Многу е важно да некој тешко се најави\n"
+"како „root“.\n"
+"\n"
+"Лозинката треба да е составена од букви и бројки и да е долга барем 8 "
+"знаци.\n"
+"Никогаш не ја запишувајте лозинката на „root“ -- така премногу\n"
+"лесно се загрозува вашиот систем.\n"
+"\n"
+"Еден ризик: немојте да ја направите лозинката премногу долга или,\n"
+"комплицирана, бидејќи е потребно да ја знаете на памет.\n"
+"\n"
+"Лозинката нема да биде прикажана на екранот додека ја внесувате. За да се\n"
+"намали ризикот при грешка на внесување на лозинката потребно е да ја "
+"внесете\n"
+"двапати. Ако погрешно ја напишете лозинката и при двете внесувања,\n"
+"оваа „неточна“ лозинка ќе треба да ја користите при првиот обид да\n"
+"се најавите како „root“.\n"
+"\n"
+"Ако сакате да користите сервер за проверка за контрола на пристапот\n"
+"на вашиот компјутер, притиснете на копчето „%s“\n"
+"\n"
+"Ако вашата мрежа користи некоја од „LDAP“, „NIS“ или „PDC Windows Domain“\n"
+"сервиси за проверка, изберете го вистинскиот за „%s “. Ако не знаете кој од "
+"овие\n"
+"сервиси користите, потребно е да го прашате вашиот мрежен администратор.\n"
+"\n"
+"Доколку имате проблем со паметење на лозинки или ако вашиот компјутер\n"
+"никогаш нема да се поврзи на Интернет и имате потполна доверба во оние\n"
+"кои го користат вашиот компјутер, може да изберете „%s“."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "проверка"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Подигнувач е мала програма која компјутерот ја вклучува за времето\n"
+"на вклучување. Оваа програма е одговорна за вклучување на целиот\n"
+"систем. Секако, инсталацијата на подигнувачот е целосно автоматизирана.\n"
+"„DrakX“ ќе го анализира секторот за подигнување на дискот и ќе\n"
+"дејствува соодветно на тоа што ќе пронајде:\n"
+"\n"
+" * ако е пронајден сектор за подигнување на „Windows“ ќе го замени со „GRUB/"
+"LILO“\n"
+"сектор за подигнување. Вака ќе можете да го вклучите „GNU/Linux“ или било "
+"кој\n"
+"друг оперативен систем кој е инсталиран на вашата машина.\n"
+"\n"
+" * ако е пронајден „GRUB“ или „LILO“ сектор за подигнување, ќе го замени со "
+"нов.\n"
+"\n"
+"Доколку „DrakX“ не може да одреди каде да го смести секторот за "
+"подигнување,\n"
+"ќе бидете запрашани каде се снима. Општо, најсигурното место е „%s“.\n"
+"При избор на „%s“ нема да се инсталира подигнувач. Користете ја оваа опција\n"
+"само ако знаете што правите."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Сега е време да го изберете системот за печатење за вашиот компјутер.\n"
+"Други оперативни системи може да ви понудат еден, „Mandriva Linux“ нуди\n"
+"два. Секој од системите за печатење најдобро одговара со одредени\n"
+"типови на конфигурација.\n"
+"\n"
+" * „%s“ -- што е акроним од „print, do not queue“, е вистинскиот избор ако\n"
+"имате директна врска со вашиот печатач, не сакате да имате паника при\n"
+"печатење и немате в мрежени печатачи. („%s“ ќе се справи само во случај\n"
+"на многу едноставна мрежа и споро работи кога се користи во мрежи.)\n"
+"Доколку ова е вашето прво искуство со „GNU/Linux“,\n"
+"препорачливо е да го користите „pdq„.\n"
+"\n"
+" * „%s“ -- или „Common Unix Printing System“ е извонреден и за печатење на\n"
+"локалниот печатач и за печатење од другата страна на планетата. Тој е \n"
+"едноставен за конфигурирање и може да се однесува како сервер или клиент\n"
+"за историскиот „lpd“ систем за печатење. Значи е компатибилен со постари\n"
+"оперативни системи на кои сеуште им се потребни сервиси за печатење.\n"
+"Иако е многу моќен, сепак, основното поставување е скоро лесно како и за\n"
+"„pdq“. Ако сакате да емулирате „lpd“ сервер, проверете дали е вклучен\n"
+"сервисот „cups-lpd“. „%s“. Вклучува и графички изглед за печатење или\n"
+"избирање на опции за печатачот и за раководење со истиот.\n"
+"\n"
+"Ако сега се одлучите за избор и подоцна не ви се допаѓа вашиот\n"
+"систем за печатење, можете да го промените со вклучување на\n"
+"„PrinterDrake“ од контролниот центар на „Mandriva Linux“\n"
+"со протискање на копчето „%s“."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Експерт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"„DrakX“ прво ќе ги детектира „IDE“ уредите присутни на вашиот компјутер. "
+"Исто\n"
+"така, ќе скенира за една или повеќе „PCI SCSI“ картички на вашиот ситем. Ако "
+"е пронајдена\n"
+"„SCSI“ картичка, „DrakX“ автоматски ќе го инсталира драјверот кој најмногу "
+"одговара.\n"
+"\n"
+"Бидејќи хардверската детекција понекогаш не проаѓа, „DrakX“ можеби нема да "
+"успее\n"
+"да ги пронајде вашите хард дискови. Во тој случај треба рачно да го одредите "
+"вашиот хардвер.\n"
+"\n"
+"Ако треба рачно да го одредите вашиот „PCI SCSI“ адаптер, „DrakX“ ќе ве "
+"праша\n"
+"дали сакате да ги конфигурирате опциите за него. Треба да дозволите „DrakX“ "
+"да го проба\n"
+"хардверот со опциите одредени за каритичката кои се потребни да се "
+"иницијализира\n"
+"адаптерот. Поголемиот дел од времето „DrakX“ ќе го помине овој чекор без "
+"никакви\n"
+"проблеми.\n"
+"\n"
+"Ако „DrakX“ не може автоматски да одреди кои параметрки треба да се\n"
+"пренесат на хардверот за опциите , ќе треба рачно да го\n"
+"конфигурирате драјверот."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"„%s“: ако е пронајдена звучната карта на вашиот систем, таа ќе биде\n"
+"прикажана овде. Доколку вашата звучна карта е различна од прикажаната\n"
+"може да притиснете на копчето и да изберете друг драјвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Како преглед, „DrakX“ ќе ви приложи резиме од информациите кои ѓи\n"
+"собрал за вашиот систем. Во зависност од хардверот кој е инсталиран\n"
+"на вашата машина може да ѓи имате сите или само некои од следниве\n"
+"внесови. Секој од внесовите е направен со конфигурација за хардверот\n"
+"проследено со брзо резиме за тековната конфигурација. За да извршете\n"
+"промени, соодветно притиснете на копчето „%s“.\n"
+"\n"
+" * \"%s\": проверете го тековниот избор за мапа на тастатура и променете ја\n"
+"доколку тоа е потребно.\n"
+"\n"
+" * „%s“: проверка за тековниот избор на држава. Ако не сте во оваа држава\n"
+"притиснете на копчето „%s“ и изберете друга. Доколку вашата држава не\n"
+"се наоѓа на прикажаната листа, притиснете на копчето „%s“ за да ја\n"
+"добиете комплетната листа на држави.\n"
+"\n"
+" * „%s“: вообичаено, DrakX ја одредува вашата временска зона во зависност\n"
+"кој држава ја имате избрано. Доколку временската зона е неточна,\n"
+"за промена можете да притиснете на копчето „%s“.\n"
+"\n"
+" * „%s“: потврдете ја вашата тековна конфигурација на глушецот и\n"
+"притиснете на копчето да ја промените доколку тоа е потребно.\n"
+"\n"
+" * „%s“: при притискање на копчето „%s“ ќе се вклучи Волшебникот\n"
+"за конфигурирање на принтерот. За повеќе информации како да поставете\n"
+"нов принтер, консултирајте се со соодветното поглавје од „Почетен водич“.\n"
+"Изгледот претставен во нашиот водич е сличен на оној кој се користи при "
+"инсталацијата.\n"
+"\n"
+" * „%s“: ако е пронајдена звучната карта на вашиот систем, таа ќе биде\n"
+"прикажана овде. Доколку вашата звучна карта е различна од прикажаната\n"
+"може да притиснете на копчето и да изберете друг драјвер.\n"
+"\n"
+" * „%s“: ако имате ТВ карта, овде ќе бидат прикажани информациите за\n"
+"нејзината конфигурација. Доколку имате ТВ карта и не е пронајдена, "
+"притиснете\n"
+"на „%s“ и обидете се да ја конфигурирате рачно.\n"
+"\n"
+" * „%s“: ако мислите дека конфигурацијата е погрешна може да притиснете на\n"
+"копчето „%s“ и да ги променете параметрите асоцирани со вашата картичка.\n"
+"\n"
+" * „%s“: вообичаено, DrakX го конфигурира вашиот графички изглед со\n"
+"резолуција од „800х600“ или „1024х768“. Ако ова не ви одговара, притиснете "
+"на\n"
+"„%s“ и повторно конфигурирајте го вашиот графички изглед.\n"
+"\n"
+" * „%s“: ако сакате да конфигурирате пристап кон Интернет или локална "
+"мрежа,\n"
+"можете да го направите тоа. Информирајте се од испечатената документација "
+"или\n"
+"по инсталацијата користете го Контролниот центар на „Mandriva Linux“ за да\n"
+"добиете комплетна помош.\n"
+"\n"
+" * \"%s\": ви дозволува да конфигурирате адреси за „HTTP“ и „FTP“ адреси, "
+"доколку\n"
+"машината на која инсталирате ќе се наоѓа позади прокси сервер.\n"
+"\n"
+" * \"%s\": овој внес ви овозможува повторно да го дефинирате нивото на "
+"сигурност\n"
+"кое е дефинирано во претходниот чекор.\n"
+"\n"
+" * \"%s\": ако планирате да го поврзите вашиот компјутер на Интернет, добра "
+"идеја\n"
+"е да се заштитите од напади со поставување на огнен ѕид (firewall). За "
+"детали околу\n"
+"поставување на огнен ѕид, консултирајте се со соодветното\n"
+"поглавје од „Почетен водич“.\n"
+"\n"
+" * \"%s\": ако сакате да ја промените конфигурацијата на подигнувачот,\n"
+"притиснете на ова копче. Ова би требало да се зачува за напредни корисници.\n"
+"Информирајте се од испечатената документација или од вградената помош за\n"
+"подигнувачот во Контролниот центар на „Mandriva Linux“.\n"
+"\n"
+" * \"%s\": преку овој внес може да поставете кои сервиси ќе се вклучуваат\n"
+"при вклучување на вашата машина. Ако планирате да ја користите како сервер,\n"
+"добро би било да го прегледате ова поставување."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "„ISDN“ картичка"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графички интерфејс"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изберете го дискот што сакате да го избришете за да ја инсталирате новата\n"
+"„Mandriva Linux“ партиција. Внимавајте, сите податоци на него ќе бидат\n"
+"изгубени и нема да може да се вратат!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Ако сакате да ги избришете сите податоци и партиции што се наоѓаат\n"
+"на овој диск, притиснете на „%s“. Внимавајте, откако ќе притиснете\n"
+"на „%s“, нема да може да ги вратите податоците и партициите кои се\n"
+"присутни на вашиот диск, вклучувајќи ги и сите податоци на „Windows“.\n"
+"\n"
+"За да ја откажете оваа операција без да изгубите податоци и партиции\n"
+"кои се наоѓаат на овој диск, притиснете на „%s“."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следно ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Претходно"
diff --git a/perl-install/install/help/po/mn.po b/perl-install/install/help/po/mn.po
new file mode 100644
index 000000000..47f016e19
--- /dev/null
+++ b/perl-install/install/help/po/mn.po
@@ -0,0 +1,1191 @@
+# translation of DrakX.po to Mongolian
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Khurelbaatar Lkhagavsuren <hujii247@yahoo.com>, 2003.
+# Khurelbaatar Lkhagvasuren <hujii247@yahoo.com>, 2003.
+# Sanlig Badral <Badral@openmn.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-01-02 00:35+0100\n"
+"Last-Translator: Sanlig Badral <Badral@openmn.org>\n"
+"Language-Team: Mongolian <openmn-core@lists.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Та энэ чанарыг ашиглахыг хүсэж байна уу?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"вы вы вы вы вы г вы г бол Нэр г г Нэр бол төрөл г г г Erfitt төрөл бол бол г "
+"бол г г Erfitt бол г\n"
+" г\n"
+" г\n"
+" г\n"
+" г Дугаар г секунд Дугаар."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Мандрива Линуксын суулгац нь хэд хэдэн CD-ROM дээр байдаг. Хэрэв ямар\n"
+"нэгэн сонгогдсон багц нь өөр CD-ROM дээр байвал DrakX үүнийг мэдэх бөгөөд\n"
+"одооны байгаа CD-г гаргаад тухайн хэрэгтэй CD-г оруулахыг хүснэ."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"бол вы аас аас г аас дөрөв Та аас г г Хөгжил бүлэг г\n"
+" с вы аас ямх бүлэг г\n"
+" с бүлэг г\n"
+" с бол аас вы г\n"
+" с бол вы вы г бүлэг нэр бүлэг вы энгийн диалог г\n"
+" с аас г\n"
+" с бол г\n"
+" с аас вы хэмжээ аас бол г с бол вы вы г вы ямх с горим вы шинэ бол."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr ""
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr ""
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"вы вы Мод Мод вы г вы Мод Тодорхойлолт вы аас г г вы аас бүлэг аас вы үгүй "
+"бол аас вы бол бол с с г с бол диалог бусад аас бусад Программ бол г Эмблем "
+"дор аас жигсаалт вы ачаалах жигсаалт бол вы аас вы Эмблем вы аас секунд аас."
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Автоматаар"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr "с с аас шинэ бол."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"диалог бол вы г жигсаалт г текст бол вы бол бол г г вы вы вы Томоор ерөнхий "
+"вы г!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"ямх GMT Цаг вы бол вы г с ямх бол Цонхнууд г с Интернэт вы Интернэт бол вы."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Автоматаар"
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Дэлгэц г\n"
+" бол вы жигсаалт вы."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X X Цонх Систем бол аас KDE GNOME г жигсаалт аас г\n"
+" бол вы жигсаалт вы г\n"
+" Томоор вы г г г г\n"
+" бол вы жигсаалт вы г г г г\n"
+" вы вы аас бол ямх г г г г\n"
+" вы с вы аас секунд вы Өөрчилөх вы г г г г\n"
+" вы вы вы г с бол вы."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Дэлгэц г\n"
+" бол вы жигсаалт вы."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr "Томоор вы."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Erase entire disk"
+msgstr "Устгах"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"вы бол бол с вы Дууслаа бол Цэс вы аас г с туг г\n"
+" с аас вы г\n"
+" Тэмдэглэл туг г\n"
+" с бол бол г\n"
+" с бол бол г\n"
+" бол аас Авто сайт г\n"
+" с жигсаалт аас ямх төрөл г г Та төрөл г"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Үүсгэж байна"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr "Бүх г г вы вы г бол Та вы вы г г вы г с вы г с вы шинэ г с вы."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr "Цэг вы аас Интернэт аас аас аас г вы."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Хамгаалалт:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Ердийн/мэргэжлийн горимын хооронд шилжих"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"вы ямх шинэ г бол нэр Цонхнууд нэр г г г нэр бол төрөл г г г Erfitt төрөл "
+"бол бол г бол г г Erfitt бол г\n"
+" г\n"
+" г\n"
+" г\n"
+" г Дугаар г секунд Дугаар г г Цонхнууд нэр бол аас Цонхнууд бол."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"бол г вы шинэ г\n"
+" с вы вы аас г\n"
+" с вы бол аас бусад г бол."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"вы ямх Хэсэг төрөл аас вы Англи хэл вы вы Англи хэл ямх вы ямх Томоор вы "
+"жигсаалт г с жигсаалт аас г вы Латин Америк вы Латин Америк Латин Америк."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"аас аас ямх ерөнхий вы ямх вы г с вы бусад вы хэрэглэгчид Англи хэл ямх Мод "
+"с ямх Өргөтгөсөн г вы Та с г с вы Тэмдэглэл бол вы г вы Ажиллуулж байна "
+"энгийн."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Товчинууд тоолуур"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, fuzzy, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr "бол."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"бол Цэг аас вы Эзэн бол бол хэрэглэгчид Томоор бол вы бол вы вы вы вы вы бол "
+"бусад бол г г аас Хэзээч үгүй г вы г вы төрөл ямх тийш аас вы вы г вы вы г "
+"вы с г Цонхнууд Домэйн с вы байхгүй вы г вы хэзээ ч вы вы с."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr ""
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"бол г\n"
+" Цонхнууд бол вы ачаалах г\n"
+" бол шинэ байхгүй г вы."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"с Бусад вы туг аас аас г\n"
+" с бол бол вы вы аас вы с бол с вы бол г\n"
+" с Хэвлэх Систем бол бол г вы вы с г вы вы вы Контрол."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Мэргэжлийн"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr "ямх бол г бол ямх вы г вы вы Та аас г бол вы."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr "с бол бол вы бол бол вы."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"аас вы аас бол аас аас с г\n"
+" с г\n"
+" с вы ямх с ямх жигсаалт с жигсаалт г\n"
+" с Та с бол г\n"
+" с г\n"
+" с с аас шинэ бол г\n"
+" с бол бол вы бол бол вы г\n"
+" с ямх г вы г с г\n"
+" с бол бол вы бол с г\n"
+" с ИСДН(ISDN) бол Та с г\n"
+" с вы Интернэт г\n"
+" с вы ямх г\n"
+" с вы Интернэт с аас г\n"
+" с вы хэрэглэгчид г\n"
+" с вы вы с."
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "ИСДН(ISDN)"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr ""
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr "с вы с вы Цонхнууд г с."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Дараагийн ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr ""
+
diff --git a/perl-install/install/help/po/ms.po b/perl-install/install/help/po/ms.po
new file mode 100644
index 000000000..2dec49c80
--- /dev/null
+++ b/perl-install/install/help/po/ms.po
@@ -0,0 +1,1208 @@
+# DrakX Bahasa Melayu (Malay) (ms).
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-02-19 14:09+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr "dalam off."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"pengguna pengguna fail dan on pengguna fail dan on pengguna dalam dan A "
+"pengguna dalam dan pengguna default dan pengguna tidak fail on Tambah "
+"pengguna default pengguna default pengguna dalam dan lokal pengguna dan "
+"dalam."
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "Anda mahu memadam masukan ini dari buku telefon?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"on on Nama Nama dan\n"
+" on\n"
+" on\n"
+" on\n"
+" on."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr "on on dan."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"on dan dan Pembangunan\n"
+" dalam\n"
+" on\n"
+" on\n"
+"\n"
+"\n"
+" asas dan\n"
+" jumlah jumlah dalam."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Naik Taraf"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Dokumentasi untuk antlr."
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Media Pemasangan Yang Diperlukan"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr "dan on on default mula dan tidak dan amaran on."
+
+#: ../help.pm:183
+#, fuzzy, c-format
+msgid "Automatic dependencies"
+msgstr "Kebergantungan tidak diselesaika"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr "on on."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr "mula on dan default mula on Masuk!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"dalam Masa dan on lokal dan dalam hos Tetingkap on Internet Internet on "
+"lokal."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Segerak sedang berjalan"
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"\n"
+" dan on\n"
+" Masuk."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Sistem KDE GNOME AfterStep\n"
+" dan on\n"
+" Masuk\n"
+" dan\n"
+" dan A dalam\n"
+" dan dan saat Ubah\n"
+"."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+" dan."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolusi\n"
+" dan A dalam."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr "Masuk."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Pilihan\n"
+"."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"on kosong on dan pengguna dan on\n"
+" tidak\n"
+" on default dan\n"
+" Tetingkap on dan on Kepada Tetingkap dan Tetingkap Tetingkap dan dan on\n"
+" Tetingkap\n"
+" dan on dan\n"
+" on\n"
+" on dan Semua on\n"
+" on\n"
+" secara manual dan siap dan on dalam."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Guna partisyen sedia ada (onpart)"
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Erase entire disk"
+msgstr "Masukkan cakera liut"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"dan mula\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" on\n"
+" dalam dan dan"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Janakan cakera liut Auto Pasang"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr "fail on dan on on on on."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr "Kepada Internet Internet A dan dan."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr "Internet off default."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Pentadbir Domain:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"on dan on\n"
+" on\n"
+" dan dalam\n"
+"\n"
+"\n"
+" dan\n"
+" dan on\n"
+" secara manual dan dan\n"
+"\n"
+"\n"
+" on\n"
+" Tab dan Naik Turun\n"
+" Ctrl kosong\n"
+" Ctrl\n"
+" Ctrl fail on dan."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr " -a - pilih semua media non-removable.\n"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "normal"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"on dalam Tetingkap dan\n"
+" on\n"
+" on\n"
+" on\n"
+" on Tetingkap Tetingkap C."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr "dalam on dan dalam."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"on\n"
+" keluar fail on\n"
+" on dan pengguna Tingkatupaya on Tingkatupaya on."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr "on default dalam English English dalam dalam dan Masuk on on dan."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"dan dalam dalam dan on on dan Sepanyol on English default dalam dan dalam "
+"Lanjutan tunggal on pengguna pengguna."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr "tidak on dan dan bersiri USB default dan dan dan dan on dan on."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Tetikus Beroda (PS/2)"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"dan pengguna dan on Masuk ralat dan on dan Tidak sekali on dalam Kepada "
+"ralat ralat LDAP NIS Tetingkap Domain tiada."
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Pengesahan"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"dan dan\n"
+" Tetingkap\n"
+" tiada."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Lain-lain\n"
+" keluar dan dan\n"
+" Cetakan Sistem lokal dan lpd asas lpd on lpd dan dan dan."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Mahir"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr "dalam on dalam secara manual secara manual."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr "on on on dan."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"on on\n"
+" dan\n"
+" dalam on dan dalam\n"
+" default on on\n"
+" dan on\n"
+" on on\n"
+" on on on dan\n"
+" default dalam on\n"
+" on dan on secara manual\n"
+" on on\n"
+" Internet lokal\n"
+" dalam\n"
+" Internet\n"
+"\n"
+"."
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Kad Video"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Konfigurasi (X) Antaramuka Grafikal"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr "dalam on dan!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr "on dan on on dan on Tetingkap on dan on."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Berikut ->"
+
+#: ../help.pm:872
+#, fuzzy, c-format
+msgid "<- Previous"
+msgstr "Terdahulu"
+
diff --git a/perl-install/install/help/po/mt.po b/perl-install/install/help/po/mt.po
new file mode 100644
index 000000000..82cb97b77
--- /dev/null
+++ b/perl-install/install/help/po/mt.po
@@ -0,0 +1,1921 @@
+# translation of mt.po to Maltese
+# translation of DrakX-mt.po to Maltese
+# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc.
+# Ramon Casha <ramon.casha@linux.org.mt>, 2002,2003, 2004.
+# Ramon Casha <rcasha@waldonet.net.mt>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-10-04 18:45+0200\n"
+"Last-Translator: Ramon Casha <ramon.casha@linux.org.mt>\n"
+"Language-Team: Maltese <mt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Qabel tkompli int mitlub taqra sew it-termini ta' din il-liċenzja. Hija\n"
+"tkopri d-distribuzzjoni sħiħa ta' Mandriva Linux. Jekk taqbel mat-termini\n"
+"kollha tagħha, agħfas il-buttuna \"%s\". Jekk ma taqbilx, agħfas \"%s\" "
+"biex\n"
+"tirributja l-kompjuter."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux hija sistema operattiva \"multi-user\", li jfisser li l-utenti \n"
+"kollha jistgħu ikollhom il-preferenzi tagħhom, fajls personali eċċ. Imma, \n"
+"għall-kuntrarju tal-user \"root\", li huwa l-amministratur tas-sistema, \n"
+"l-utenti li żżid hawn ma jkunu jistgħu jibdlu xejn ħlief il-fajls u \n"
+"konfigurazzjoni personali tagħhom. Dan jipproteġi lis-sistema minn bidliet \n"
+"mhux intenzjonati jew malizzjużi li jaffettwaw lis-sistema sħiħa. Trid \n"
+"toħloq ta' l-inqas utent regolari wieħed għalik. Dan huwa l-kont li bih \n"
+"għandek tagħmel ix-xogħol ta' kuljum. Filwaqt li jista' jkun iżjed faċli \n"
+"tuża l-user \"root\" ta' kuljum, dan huwa perikoluż ħafna. L-iċken żball \n"
+"jista' jwaqqaf is-sistema milli taħdem. Jekk tagħmel anke żball serju "
+"b'user\n"
+"regolari, tista' titlef xi informazzjoni imma mhux is-sistema sħiħa.\n"
+"\n"
+"L-ewwel trid iddaħħal l-isem veru tiegħek. Dan mhux bilfors, ovvjament, u\n"
+"fil-fatt tista' ddaħħal li trid. DrakX imbagħad jieħu l-ewwel kelma u \n"
+"jpoġġiha f' \"%s\". Dan huwa l-isem li jintuża biex tidħol fis-sistema. \n"
+"Tista' tibdel dan l-isem, imbagħad daħħal password. Filwaqt li l-password \n"
+"ta' user regolari mhux kruċjali daqs ta' root, dejjem jaqbillek tagħżel \n"
+"password tajjeb - ftakar li hemm il-fajls tiegħek fin-nofs.\n"
+"\n"
+"Jekk tagħfas \"%s\", tista' żżid users oħra kemm hemm bżonn. Tista' żżid\n"
+"utenti għal ħutek, it-tfal jew ġenituri, jew lill-ħbieb, per eżempju. \n"
+"Meta tlesti milli żżid il-users kollha li trid, agħfas \"%s\".\n"
+"\n"
+"Jekk tagħfas il-buttuna \"%s\", tkun tista' tbiddel ix-\"shell\" \n"
+"impliċita tal-user, li normalment tkun \"bash\".\n"
+"\n"
+"Meta tlesti toħloq users, int tintalab tagħżel user li awtomatikament \n"
+"jiġi lloggjat fis-sistema meta tixgħel. Jekk trid tuża din il-faċilità (u\n"
+"m'intix konċernat dwar sigurtà lokali), agħżel il-user li tixtieq u d-"
+"desktop,\n"
+"u agħfas \"%s\". Jekk ma tixtieqx tuża din il-faċilità, neħħi l-marka \n"
+"mill-kaxxa \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Trid tuża din il-faċilità?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hawn issib il-partizzjonijiet ta' Linux li nstabu fuq id-diska. Tista' \n"
+"żżomm l-għażliet li għamel is-saħħar, huma tajbin għal ħafna każi.\n"
+"Jekk tagħmel tibdiliet, trid ta' l-inqas tiddefinixxi partizzjoni root (\"/"
+"\")\n"
+"Tagħżilx daqs żgħir wisq inkella ma tkunx tista' tinstalla l-programmi\n"
+"kollha li jkollok bżonn. Jekk tixtieq iżżomm l-informazzjoni fuq "
+"partizzjoni\n"
+"separata, trid toħloq ukoll partizzjoni għal \"/home\" (għal dan irid "
+"ikollok\n"
+"iżjed minn partizzjoni waħda Linux).\n"
+"\n"
+"Kull partizzjoni hija mniżżla b'dan il-mod: \"Isem\", \"Daqs\".\n"
+"\n"
+"L-isem huwa mqassam hekk: \"tip ta' diska\", \"numru ta' diska\", \"numru\n"
+"tal-partizzjoni\", per eżempju, \"hda1\". \n"
+"\n"
+"It-tip ta' diska huwa \"hd\" jekk id-diska hija tip IDE, u \"sd\" jekk "
+"hija \n"
+"tip SCSI.\n"
+"\n"
+"In-numru tad-diska huwa l-ittra ta' wara \"hd\" jew \"sd\". Għal diski IDE,\n"
+"\"a\" hija d-diska \"master\" fuq il-kontrollatur IDE primarju,\n"
+"\"b\" hija d-diska skjav fuq il-kontrollatur IDE primarju,\n"
+"\"c\" hija d-diska \"master\" fuq il-kontrollatur IDE sekondarju,\n"
+"\"d\" hija d-diska skjav fuq il-kontrollatur IDE sekondarju\n"
+"\n"
+"Fuq diski SCSI, \"a\" hija d-diska bl-iżjed ID baxx, \"b\" hija t-tieni, eċċ."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"L-installazzjoni ta' Mandriva Linux hija maqsuma fuq diversi CD-ROMs. Jekk\n"
+"pakkett qiegħed fuq CD-ROM oħra, DrakX jiftaħ is-CDROM u jitolbok iddaħħal "
+"is-\n"
+"CD li jmiss. Jekk m'għandekx dik is-CD tista' tikklikkja \"%s\" u l-pakketti "
+"li\n"
+"hemm fuq dik is-CD ma jiġux installati."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Issa wasal il-mument fejn tagħżel liema programmi tixtieq tinstalla fuq\n"
+"is-sistema tiegħek. Hemm eluf ta' pakketti disponibbli għal Mandriva Linux,\n"
+"u biex ikun iżjed faċli timmaniġġjahom, qegħdin imqassmin fi gruppi ta'\n"
+"programmi simili.\n"
+"\n"
+"Mandriva Linux iqassam il-gruppi ta' pakketti fi tlett kategoriji. Tista' \n"
+"tagħżel u tħallat programmi minn diversi kategoriji, jiġifieri "
+"installazzjoni\n"
+"\"workstation\" tista' tinkludi programmi mis-sezzjoni \"server\", eċċ.\n"
+" * \"%s\": jekk fi ħsiebek tuża l-kompjuter bħala workstation, \n"
+"agħżel wieħed jew iżjed mill-gruppi li tixtieq.\n"
+"\n"
+" * \"%s\": jekk tixtieq tuża l-kompjuter biex tipprogramma, agħżel\n"
+"il-gruppi li trid minn din il-kategorija. Il-grupp speċjali \"LSB\"\n"
+"jikkonfiguralek is-sistema sabiex tiġi taqbel kemm jista' jkun ma' l-\n"
+"ispeċifikazzjonijiet \"Linux Standard Base\". Però jekk ma tagħżilx\n"
+"il-grupp LSB xorta jkollok sistema li hija kważi 100%% kompatibbli ma' LSB\n"
+" * \"%s\": jekk il-kompjuter huwa intenzjonat bħala server. tista' tagħżel\n"
+"l-iżjed servizzi komuni li tixtieq tinstalla fuq il-magna.\n"
+"\n"
+" * \"%s\": hawnhekk tista' tagħżel l-ambjent grafiku li \n"
+"tippreferi. Ta' l-inqas trid tagħżel wieħed minn dawn jekk trid li jkollok \n"
+"ambjent grafiku.\n"
+"\n"
+"Jekk tmexxi l-maws fuq wieħed mill-ismijiet tara deskrizzjoni qasira dwar "
+"dak\n"
+"il-grupp.\n"
+"\n"
+"Tista' timmarka l-kaxxa \"%s\", li hija utli jekk int familjari mal-"
+"pakketti\n"
+"disponibbli, jew jekk trid li jkollok kontroll assolut fuq dak li se jiġi\n"
+"nstallat.\n"
+"\n"
+"Jekk tibda' l-installazzjoni fil-modalità %s, tista' tneħħi l-gruppi kollha\n"
+"u ma tħallix li jiġu nstallati pakketti ġodda. Dan huwa utli biex issewwi\n"
+"jew taġġorna sistema eżistenti.\n"
+"\n"
+"Jekkt neħħi l-gruppi kollha waqt installazzjoni normali (mhux aġġornament),\n"
+"tintwera għażla li tissuġġerixxi għażliet differenti għal installazzjoni \n"
+"minima: * \"%s\" tinstalla s-sistema bażika flimkien mal-minimu ta'\n"
+"pakketti għal sistema grafika;\n"
+"\n"
+" * \"%s\" tinstalla s-sistema bażika flimkien ma' xi\n"
+"programmi sempliċi u d-dokumentazzjoni tagħhom. Dan huwa tajjeb għal "
+"server.\n"
+"\n"
+" * \"%s\" tinstalla strettament l-inqas pakketti \n"
+"possibbli sabiex ikollok Linux b'linja ta' kmand. Din l-installazzjoni "
+"tieħu\n"
+"biss madwar 65MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aġġornament"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "B' dokumentazzjoni bażika"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Installazzjoni assolutament minima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jekk għażiltx li tagħżel il-pakketti individwalment, tiġi\n"
+"offruta lista tal-pakketti kollha klassifikati fi gruppi. Waqt li qed "
+"tifli \n"
+"din il-lista, tista' tagħżel gruppi sħaħ jew pakketti individwali.\n"
+"\n"
+"Meta tagħżel pakkett fil-lista, tidher deskrizzjoni maġenbha fuq il-lemin\n"
+"li tgħidlek għal xiex jintuża dak il-pakkett.\n"
+"!! Jekk pakkett ta' server jiġi installat intenzjonalment jew għax jifforma\n"
+"parti minn grupp, int tintalab tikkonferma jekk verament tridx lill dawn\n"
+"is-servizzi jiġu nstallati. Fil-Mandriva Linux, is-servizzi li tinstalla "
+"jiġu\n"
+"mtella' awtomatikament meta tixgħel. Għalkemm dawn kienu siguri u ma kien "
+"fihom\n"
+"ebda problemi meta din il-verżjoni ta' Linux inħarġet, jista' jkun li "
+"jinstabu\n"
+"problemi simili wara li ġiet finalizzata din il-verżjoni. Jekk ma tafx \n"
+"x'suppost jagħmel servizz partikulari jew għaliex qed jiġi nstallat, agħżel\n"
+"\"%s\". Jekk tagħfas \"%s\" dawn is-servizzi jiġu nstallati u jiġu mtella' \n"
+"awtomatikament fil-bidu.\n"
+"\n"
+"L-għażla \"%s\" sempliċiment titfi l-window li twissik\n"
+"kull meta l-installazzjoni tkun se żżid xi pakketti oħra meħtieġa. Dan "
+"jiġri\n"
+"għax il-programm ikun induna li jinħtieġ pakkett ieħor biex il-programmi li\n"
+"tkun għażilt jaħdmu sew.\n"
+"\n"
+"L-ikona ta' diska flopi żgħira fil-qiegħ tippermettilek li ttella' l-\n"
+"lista ta' pakketti li ġew magħżula waqt installazzjoni preċedenti. Jekk \n"
+"tikklikkja din l-ikona int tintalab iddaħħal flopi li tkun ħloqt waqt \n"
+"installazzjoni oħra. Ara t-tieni ħjiel fl-aħħar stadju biex tara kif toħloq\n"
+"diska simili."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dipendenzi awtomatiċi"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": jekk tagħfas il-buttuna \"%s\" jinfetaħ saħħar tal-konfigurazzjoni \n"
+"tal-printer. Ikkonsulta l-kapitlu korrispondenti tal-iStarter Guide għal "
+"iżjed\n"
+"tagħrif dwar kif tissettja printer ġdid. L-interfaċċja preżentata hawn hija "
+"simili\n"
+"għal dik użata waqt l-installazzjoni."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Hawnhekk tista' tagħżel liema servizzi tixtieq ittella' mal-bidu.\n"
+"\n"
+"Dawn huma s-servizzi kollha disponibbli mal-konfigurazzjoni kurrenti.\n"
+"Iċċekkjahom sew u neħħi dawk li m'għandekx bżonn kull darba li titla'\n"
+"s-sistema.\n"
+"\n"
+"Tintwera spjagazzjoni qasira dwar kull servizz meta dan jingħażel. Però,\n"
+"jekk m'intix ċert dwar jekk servizz hux meħtieġ, aħjar tħalli l-għażla\n"
+"impliċita.\n"
+"!! F'dan l-istadju, oqgħod attent jekk tixtieq tuża l-kompjuter bħala "
+"server:\n"
+"aktarx ma jkollokx bżonn ittella' servizzi li m'intix se tuża. Ftakar li xi\n"
+"servizzi jistgħu ikunu perikolużi fuq server. Bħala regola ġenerali, ħalli\n"
+"biss dawk is-servizzi li verament għandek bżonn. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux jimmaniġġja l-ħin bħala GMT (Greenwich Mean Time) u jaqilbu "
+"għall-\n"
+"ħin lokali skond iż-żona orarja li tagħżel. Huwa possibbli però li titfi "
+"din\n"
+"il-faċilità billi titfi l-għażla \"%s\" biex il-ħin\n"
+"tal-kompjuter jiġi l-istess bħall-ħin tas-sistema. Dan huwa utli jekk il-\n"
+"kompjuter tintuża għal sistemi operattivi bħall-Windows.\n"
+"\n"
+"L-għażla \"%s\" tħallik awtomatikament \n"
+"tirregola l-ħin billi taqbad ma' server speċjali fuq l-internet. Fil-lista\n"
+"li tiġi preżentata, agħżel server viċin tiegħek. Ovvjament irid ikollok\n"
+"konnessjoni mal-internet issettjata biex tuża din il-faċilità. Jekk tuża\n"
+"din l-għażla jiġi nstallat programm apposta fuq il-kompjuter li "
+"jippermettilu\n"
+"li jintuża bħala server tal-ħin għal kompjuters oħra fuq in-network lokali."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronizzazzjoni tal-ħin awtomatiku"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kard grafika\n"
+"\n"
+" L-installatur normalment jagħraf u jikkonfigura l-kard grafika "
+"installata\n"
+"fuq il-kompjuter tiegħek. Jekk din l-għażla mhix tajba, tista' tagħżel mil-\n"
+"lista il-kard li għandek installata.\n"
+"\n"
+" F'każ li iżjed minn server wieħed jeżisti għall-kard tiegħek, bil- jew \n"
+"mingħajr aċċelerazzjoni 3D, int tintalab tagħżel is-server li jaqdi \n"
+"ħtiġijietek l-aħjar."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (għal Sistema X Window) huwa l-qalb ta' l-interfaċċja grafika GNU/Linux\n"
+"li fuqu huma bbażati l-ambjenti grafiċi kollha inklużi ma' Mandriva Linux "
+"(KDE,\n"
+"GNOME, AfterStep, WindowMaker, eċċ).\n"
+"\n"
+"Tista' tara lista ta' diversi parametri li tista' tibdel sabiex ikollok\n"
+"l-aħjar dehra grafika.\n"
+"\n"
+"Kard Grafika\n"
+"\n"
+" L-isntallatur normalment jagħraf u jikkonfiguralek il-kard tal-grafika\n"
+"li għandek awtomatikament. Jekk dan mhux korrett, tista' tagħżel il-kard\n"
+"tajba minn din il-lista.\n"
+"\n"
+" F'każ fejn jeżistu servers differenti għall-kard tiegħek, bil- jew "
+"mingħajr\n"
+"aċċelerazzjoni 3D, int tintalab tagħżel liema server l-iżjed japplika "
+"għalik,\n"
+"\n"
+"\n"
+"\n"
+"Reżoluzzjoni\n"
+"\n"
+" Hawn tista' tagħżel ir-reżoluzzjoni u numru ta' kuluri disponibbli fuq\n"
+"il-ħardwer tiegħek. Agħżel dik li l-iżjed tgħodd għalik (int tkun tista' \n"
+"tibdel l-għażla wara l-installazzjoni). Kampjun tal-konfigurazzjoni "
+"magħżula\n"
+"tintwera fl-istampa tal-iskrin.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Skond il-ħardwer li għandek, tista' tintwera din l-għażla.\n"
+"\n"
+" Is-sistema tipprova tiftaħ skrin grafiku fir-reżoluzzjoni mitliba.\n"
+"Jekk tara l-messaġġ waqt it-test u tirrispondi \"%s\", DrakX jipproċedi "
+"għall-\n"
+"pass li jmiss. Jekk ma tarahx, ifisser li xi parti mill-konfigurazzjoni\n"
+"awtomatika kienet inkorretta u t-test jispiċċa waħdu wara 12-il sekonda, u\n"
+"terġa' lura fil-menu. Ibdel is-setings sakemm ikollok wirja korretta "
+"grafika\n"
+"fuq l-iskrin.\n"
+"\n"
+"\n"
+"\n"
+"Għażliet\n"
+"\n"
+" Dan il-pass iħallik tagħżel jekk tridx lill-kompjuter jidħol f'modalità \n"
+"grafika awtomatikament malli jitla'. Ovvjament, tista tagħżel \"%s\" jekk "
+"il-\n"
+"kompjuter se jaħdem bħala server, jew jekk ma rnexxielekx tissettja l-kard\n"
+"grafika sew."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skrin\n"
+"\n"
+" Normalment l-installatur jagħraf u jikkonfiguralek l-iskrin li\n"
+"għandek imqabbad awtomatikament. Jekk din l-għażla mhix tajba, tista' \n"
+"tagħżel mil-lista l-iskrin li għandek imqabbad mal-kompjuter."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Reżoluzzjoni\n"
+"\n"
+" Hawn tista' tagħżel ir-reżoluzzjoni u numru ta' kuluri disponibbli fuq \n"
+"il-ħardwer tiegħek. Agħżel dak li l-aħjar jaqdi ħtiġijietek (tista' \n"
+"tibdel l-għażliet tiegħek wara). Kampjun tal-konfigurazzjoni magħżula \n"
+"jintwera fuq l-iskrin."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Fis-sitwazzjoni fejn hemm servers differenti disponibbli għall-kard tiegħek, "
+"bil- jew mingħajr aċċelerazzjoni 3D, int tintalab tagħżel is-server li l-"
+"iżjed jaqdi l-ħtiġijiet tiegħek."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Għażliet\n"
+"\n"
+" F'dan il-pass, tista' tagħżel jekk tridx l-interfaċċja grafika mill-bidu.\n"
+"Ovvjament, tista' tagħżel \"%s\" jekk il-kompjuter se jintuża biss bħala \n"
+"server, jew jekk ma rnexxielekx tissettja l-X sew."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"F'dan il-punt int trid tagħżel fejn, fuq il-ħard disk, trid tinstalla s-\n"
+"sistema operattiva Mandriva Linux. Jekk il-ħard disk huwa vojt, jew jekk\n"
+"hemm sistema operattiva qed tokkupaha kollha, l-ewwel trid toħloq \n"
+"partizzjonijiet. Bażikament, il-partizzjonijiet tal-ħard disk jaqsmu d-"
+"diska\n"
+"f'partijiet biex ikun hemm sezzjonijiet fejn tiġi nstallata s-sistema ġdida\n"
+"Mandriva Linux.\n"
+"\n"
+"Peress li l-effett ta' partizzjonament tal-ħard disk m'humiex riversibbli,\n"
+"u jista' jwassal għal telf ta' informazzjoni, dan il-proċess jista' jidher\n"
+" intimidanti jekk m'għandekx esperjenza. Fortunatament, hemm \"saħħar\" li "
+"jissimplifika l-proċess kollu. Qabel tibda', aqra sew din is-sezzjoni u ħu \n"
+"l-ħin tiegħek. Skond il-konfigurazzjoni tal-ħard disk tiegħek, jista' "
+"jkollok\n"
+"diversi għażliet:\n"
+"\n"
+" * \"%s\": Din l-għażla toħloq partizzjonijiet awtomatikament.\n"
+"Jekk tuża din l-għażla ma tintalabx iżjed informazzjoni.\n"
+"\n"
+" * \"%s\": Is-saħħar sab partizzjoni waħda jew iżjed\n"
+"tal-Linux fuq il-ħard disk. Jekk trid tuża lilhom, agħżel din. \n"
+"Int tiġi mistoqsi fejn trid timmonta dawn il-partizzjonijiet. \n"
+"L-għażliet antiki jingħażlu impliċitament, u ġeneralment hija\n"
+"ideja tajba żżomm lilhom.\n"
+" * \"%s\": Jekk għandek Microsoft Windows installat fuq il-ħard disk \n"
+"u qed jokkupa l-ispazju kollu, trid toħloq ftit spazju għal-Linux. \n"
+"Biex tagħmel dan, trid jew tħassar il-partizzjoni tal-Windows\n"
+"u kull m'hemm fiha (ara \"Ħassar id-diska sħiħa\"), jew iċċekken \n"
+"il-partizzjoni FAT jew NTFS tal-Windows. Tista' ċċekken il-partizzjoni \n"
+"Windows mingħajr ma titlef informazzjoni sakemm għamilt \"defragment\" fuq\n"
+"id-diska minn qabel. Din is-soluzzjoni hija rakkomandata biex tuża l-"
+"Windows \n"
+"u l-Linux flimkien fuq l-istess kompjuter.\n"
+"\n"
+" Qabel tagħżel din l-għażla, kun af li wara din il-proċedura, il-\n"
+"partizzjoni tal-Windows tkun iżgħar milli hi bħalissa. Ikollok inqas spazju "
+"taħt\n"
+"il-Microsoft Windows fejn iżżomm informazzjoni jew tinstalla programmi "
+"ġodda.\n"
+"\n"
+" * \"%s\": Jekk tixtieq tħassar l-informazzjoni kollha u\n"
+"l-partizzjonijiet kollha li għandek fuq il-ħard disk u tpoġġi l-Mandriva "
+"Linux\n"
+"minflokhom, tista' tagħżel din. Oqgħod attent minn din l-għażla għax ma "
+"tkunx\n"
+"tista' tibdel fehemtek wara li tikkonferma.\n"
+"\n"
+" !! Jekk tagħżel din l-għażla, kull m'hemm fuq id-diska jintilef !!\n"
+"\n"
+" * \"%s\": Din l-għażla tidher meta l-ħard disk hija kompletament okkupata \n"
+"mill-Microsoft Windows. Din l-għażla sempliċiment tħassar kull ma' hemm "
+"fuq \n"
+"il-ħard disk u tibda' kollox mill-ġdid.\n"
+"\n"
+" !! Jekk tagħżel din l-għażla, kull m'hemm fuq id-diska jintilef !!\n"
+"\n"
+" * \"%s\": Agħżel dan jekk trid tippartizzjona l-ħard disk \n"
+"manwalment. Oqgħod attent - hija għażla li tagħti kontroll imma hija \n"
+"perikoluża. Tista' faċilment titlef l-informazzjoni kollha b'dan il-mod. \n"
+"Għalhekk, tużax din l-għażla jekk ma tafx x'qed tagħmel. Għal iżjed tagħrif\n"
+"dwar kif tuża l-għodda DiskDrake, irreferi għas-sezzjoni \"Managing Your \n"
+"Partitions\" fil-manwal \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Uża partizzjoni eżistenti"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Ħassar kull m'hemm fid-diska"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Dak kollox! L-installazzjoni issa hija lesta u s-sistema GNU/Linux issa\n"
+"lesta biex tintuża. Agħfas \"%s\" biex tirristartja l-kompjuter. Tinsiex "
+"tneħħi l-media ta' l-installazzjoni (CDROM jew flopi). L-ewwel ħaġa li \n"
+"għandek tara meta l-kompjuter ilesti l-iċċekkjar tal-ħardwer huwa menu\n"
+"tal-bidu, li jagħtik l-opportunità tagħżel liema sistema operattiva trid\n"
+"ittella'.\n"
+"\n"
+"Il-buttuna \"%s\" turik żewġ buttuni oħra:\n"
+"\n"
+" * \"%s\": toħloqlok flopi li tippermettilek tirrepeti l-istess \n"
+"installazzjoni fuq kompjuter ieħor identiku, mingħajr l-intervent \n"
+"tiegħek.\n"
+"\n"
+" Innota li meta tagħfas din il-buttuna jintwerew żewġ għażliet oħra:\n"
+"\n"
+" * \"%s\". Din hija installazzjoni semi-awtomatika, għax il-pass ta'\n"
+"partizzjonament (u dak biss) jibqa' manwali.\n"
+"\n"
+" * \"%s\". Installazzjoni totalment awtomatika - il-ħard disk\n"
+"titħassar u tinkiteb mill-ġdid, u kull informazzjoni fuqha tintilef.\n"
+"\n"
+" Din il-faċilità hija utli meta qed tinstalla numru kbir ta' kompjuters\n"
+"identiċi. Ara s-sezzjoni \"Auto install\" fuq il-websajt tagħna.\n"
+"\n"
+" * \"%s\"(*): jikteb l-għażla ta' pakketti li\n"
+"nstallajt. Meta qed tagħmel installazzjoni oħra, daħħal il-flopi fid-drajv\n"
+"u meta tibda l-installazzjoni, agħfas [F1], ittajpja \n"
+">>linux defcfg=\"floppy\"<< u agħfas it-tast [Enter].\n"
+"\n"
+"(*) Għandek bżonn flopi formattjata FAT (DOS). Biex toħloq waħda mil-Linux,\n"
+"ittajpja \"mformat a:\", jew \"fdformat /dev/fd0\" u \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Oħloq flopi awto-installazzjoni"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jekk tagħżel li terġa' tuża xi partizzjonijiet antiki GNU/Linux, tista'\n"
+"tiddeċiedi li terġa' tifformattja wħud minnhom u tħassar l-informazzjoni\n"
+"kollha li fihom. F'dak il-każ, agħżel dawk il-partizzjonijiet ukoll.\n"
+"Innota li mhux meħtieġ li terġa' tifformattja l-partizzjonijiet kollha\n"
+"eżistenti. Trid però tifformattja dawk il-partizzjonijiet li jkollhom is-\n"
+"sistema operattiva fuqhom (eż, \"/\", \"/usr\" jew \"/opt\"), imma "
+"m'għandekx\n"
+"bżonn tifformattja dawk li fihom l-informazzjoni tiegħek (tipikament \"/home"
+"\").\n"
+"\n"
+"Oqgħod attent meta tagħżel il-partizzjonijiet. Wara li jiġu formattjati,\n"
+"l-informazzjoni kollha li kien hemm fuqhom tintilef u m'hemmx mod biex "
+"iġġibha\n"
+"lura.\n"
+"\n"
+"Agħfas \"%s\" meta tkun lest biex tifformattja l-partizzjonijiet.\n"
+"\n"
+"Agħfas \"%s\" jekk trid tagħżel partizzjoni oħra għas-sistema ġdida\n"
+"Mandriva Linux.\n"
+"\n"
+"Agħfas \"%s\" biex tagħżel partizzjonijiet biex jiġu ċċekkjati għal blokki\n"
+"ħżiena fuq id-diska."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Fid-data meta tinstalla l-Mandriva Linux, aktarx ikunu ġew aġġornati xi\n"
+"pakketti minn meta ġiet pubblikata. Xi żbalji jistgħu ikunu ġew irranġati,\n"
+"u problemi ta' sigurtà ġew riżolti. Sabiex tibbenifika minn dawn l-\n"
+"aġġornamenti, jaqbillek tniżżilhom minn fuq l-internet. Agħżel \"%s\" jekk\n"
+"għandek konnessjoni mal-internet issettjata, jew \"%s\" jekk tippreferi li\n"
+"tinstalla l-aġġornamenti iżjed tard.\n"
+"\n"
+"Jekk tagħżel %s, tintwera lista ta' postijiet minn fejn l-aġġornamenti \n"
+"jistgħu jitniżżlu (\"mirja\"). Agħżel l-iżjed wieħed viċin tiegħek. "
+"Imbagħad\n"
+"tintwera lista ta' pakketti. Dur dawn il-pakketti, agħżel liema trid u \n"
+"agħfas \"%s\" biex tniżżilhom u tinstallahom jew \"%s\" biex twaqqaf."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"F'dan il-punt, trid tagħżel livell ta' sigurtà għal dan il-kompjuter.\n"
+"Bħala regola ġenerali, iżjed m'hu espost il-kompjuter, u iżjed m'hi "
+"kruċjali\n"
+"l-informazzjoni ta' fuqu, iżjed irid ikun għoli l-livell ta' sigurtà. Innota "
+"li\n"
+"livell ta' sigurtà iżjed għoli ġeneralment ifisser iżjed diffikultà fl-użu.\n"
+"\n"
+"Jekk ma tafx liema tagħżel, żomm l-għażla impliċita. Tkun tista' tibdel dan\n"
+"il-livell iżjed 'il quddiem bl-għodda draksex, li jifforma parti miċ-Ċentru\n"
+"ta' Kontroll Mandriva Linux.\n"
+"\n"
+"Imla' l-kaxxa \"%s\" bl-indirizz tal-imejl tal-persuna responsabbli mis-"
+"sigurtà.\n"
+"Il-messaġġi ta' sigurtà jintbagħtu lil dak l-indirizz."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Amministratur tas-sigurtà"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"F'dan il-punt trid tagħżel liema partizzjoni(jiet) se jintużaw għall-\n"
+"installazzjoni tas-sistema Mandriva Linux. Jekk diġà ġew definiti xi\n"
+"partizzjonijiet, jew minn installazzjoni preċedenti ta' GNU/Linux jew minn\n"
+"għodda ta' partizzjonament oħra, tista' tuża l-partizzjonijiet eżistenti.\n"
+"Altrimenti, l-partizzjonijiet tal-ħard disk iridu jiġu definiti.\n"
+"\n"
+"Biex toħloq il-partizzjonijiet, l-ewwel trid tagħżel ħard disk.\n"
+"Tista' tagħżel diska għall-partizzjonament billi tagħżel \"hda\" għal l-\n"
+"ewwel diska IDE, \"hdb\" għat-tieni, eċċ, jew \"sda\" għal l-ewwel\n"
+"diska SCSI, eċċ.\n"
+"\n"
+"Biex tippartizzjona l-ħard disk magħżula għandek dawn l-għażliet:\n"
+"\n"
+" * \"%s\": din l-għażla tħassar il-partizzjonijiet kollha\n"
+"mill-ħard disk magħżula.\n"
+"\n"
+" * \"%s\": din l-għażla awtomatikament toħloqlok partizzjonijiet\n"
+"ext3 u swap fl-ispazju vojt tad-diska.\n"
+"\n"
+" * \"%s\" jagħtik aċċess għal iżjed faċilitajiet:\n"
+"\n"
+" * \"%s\": jikteb it-tabella \n"
+"tal-partizzjonijiet fuq flopi. Utli biex tirkupra t-tabella iżjed tard jekk\n"
+"hemm bżonn. Dan il-pass huwa rakkomandat.\n"
+"\n"
+" * \"%s\": tħallik tirrestawra t-\n"
+"tabella tal-partizzjonijiet minn flopi disk fejn ġew miktuba.\n"
+"\n"
+" * \"%s\": jekk it-tabella tal-partizzjonijiet\n"
+"ġiet korrotta b'xi mod, din l-għażla tħallik tipprova terġa' tirkupraha. \n"
+"Oqgħod attent b'din l-għażla u ftakar li mhux dejjem taħdem.\n"
+"\n"
+" * \"%s\": jinsa l-bidliet kollha u jerġa' jaqra t-tabella\n"
+"mill-ħard disk.\n"
+"\n"
+" * \"%s\": jekk tneħħi din l-għażla l-utenti\n"
+"jkollhom jimmontaw u jiżmuntaw manwalment diski li jinħarġu bħal flopi u "
+"CDROM.\n"
+"\n"
+" * \"%s\": uża dan il-metodu jekk trid tuża saħħar li jippartizzjonalek\n"
+"il-ħard disk. Dan huwa rakkomandat jekk ma tifhimx sew kif tagħmel il-\n"
+"partizzjonijiet int.\n"
+"\n"
+" * \"%s\": uża din l-għażla biex tikkanċella l-bidliet li għamilt.\n"
+"\n"
+" * \"%s\": jagħtik iżjed azzjonijiet fuq il-\n"
+"partizzjonijiet (tip, għażliet, format) u jagħti iżjed dettalji.\n"
+"\n"
+" * \"%s\": meta tlesti mill-partizzjonament, dan jikteb il-bidliet li\n"
+"għamilt lid-diska.\n"
+"\n"
+"Meta tiddefinixxi d-daqs tal-partizzjoni, tista' tissettja d-daqs bl-eżatt\n"
+"billi tuża l-vleġeġ tat-tastiera.\n"
+"\n"
+"Nota: tista' tilħaq kull għażla mit-tastiera. Dur il-partizzjonijiet bit-"
+"TAB\n"
+"u l-vleġeġ 'il fuq u 'l isfel.\n"
+"\n"
+"Meta tkun fuq il-partizzjoni li trid, tista' tuża:\n"
+"\n"
+" * Ctrl-C biex toħloq partizzjoni (meta tkun magħżula partizzjoni vojta)\n"
+"\n"
+" * Ctrl-D biex tħassar partizzjoni\n"
+"\n"
+" * Ctrl-M biex tissettja l-punt ta' mmuntar.\n"
+"\n"
+"Biex tikseb iżjed informazzjoni dwar il-filesystems differenti disponibbli,\n"
+"jekk jogħġbok aqra l-kapitlu ext2fs fil-Manwal ta' Referenza.\n"
+"\n"
+"Jekk qed tinstalla fuq kompjuter PPC, tkun trid toħloq partizzjoni żgħira\n"
+"HFS \"bootstrap\", ta' l-inqas 1MB, li tintuża mill-bootloader yaboot. Jekk\n"
+"tiddeċiedi li tagħmlu ftit ikbar, ngħidu aħna 50MB, tista' ssibu post utli\n"
+"fejn tqiegħed kernel u ramdisk \"spare\" għal emerġenzi."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Awtomuntar ta' diski li jinħarġu"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Aqleb bejn modalità normali u esperta"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Instabu iżjed minn partizzjoni waħda tal-Microsoft fuq il-ħard disk. Jekk \n"
+"jogħġbok agħżel liema minnhom trid iċċekken biex tinstalla s-sistema \n"
+"operattiva Mandriva Linux.\n"
+"\n"
+"Kull partizzjoni hija mmarkata hekk: \"Isem tal-Linux\", \"Isem fil-Windows"
+"\",\n"
+"\"Daqs\".\n"
+"\n"
+"L-isem tal-Linux huwa mqassam hekk: \"tip ta' diska\", \"numru ta' diska"
+"\", \n"
+"\"numru tal-partizzjoni\" (per eżempju, \"hda1\"). \n"
+"\n"
+"It-tip ta' diska huwa \"hd\" jekk id-diska hija tip IDE, u \"sd\" jekk "
+"hija \n"
+"tip SCSI.\n"
+"\n"
+"In-numru tad-diska huwa l-ittra ta' wara \"hd\" jew \"sd\". Għal diski IDE:\n"
+"\n"
+" * \"a\" hija d-diska \"master\" fuq il-kontrollatur IDE primarju,\n"
+"\n"
+" * \"b\" hija d-diska skjav fuq il-kontrollatur IDE primarju,\n"
+"\n"
+" * \"c\" hija d-diska \"master\" fuq il-kontrollatur IDE sekondarju,\n"
+"\n"
+" * \"d\" hija d-diska skjav fuq il-kontrollatur IDE sekondarju\n"
+"\n"
+"Fuq diski SCSI, \"a\" hija d-diska bl-iżjed ID baxx, \"b\" hija t-tieni, "
+"eċċ.\n"
+"\n"
+"\"Isem tal-Windows\" huwa l-ittra li jkollha din il-ħard disk taħt il-"
+"Windows\n"
+"(l-ewwel diska jew partizzjoni hija \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": iċċekkja l-għażla ta' pajjiż kurrenti. Jekk m'intix f'dan il-\n"
+"pajjiż, agħfas il-buttuna \"%s\" u agħżel ieħor. Jekk pajjiżek ma jidhirx\n"
+"fil-lista' agħfas il-buttuna \"%s\" għal lista sħiħa ta' pajjiżi."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Dan il-pass jiġi attivat biss jekk instabet partizzjoni eżistenti GNU/Linux\n"
+"fuq il-kompjuter.\n"
+"\n"
+"DrakX issa għandu bżonn ikun jaf jekk tridx tagħmel installazzjoni ġdida\n"
+"jew aġġornament tas-sistema eżistenti Mandriva Linux:\n"
+"\n"
+" * \"%s\". Fil-parti l-kbira, din tħassar is-sistema antika għal kollox.\n"
+"Però, skond l-iskema ta' partizzjonijiet, tista' ma tħallix ċerti \n"
+"partizzjonijiet jitħassru (speċjalment id-direttorji \"home\"). Jekk trid\n"
+"tibdel kif jiġu partizzjonati l-ħard disks, jew biex tibdel is-sistema ta'\n"
+"fajls, għandek tagħżel din l-għażla.\n"
+"\n"
+" * \"%s\". Din il-klassi ta' installazzjoni tħallik taġġorna l-pakketti\n"
+"installati bħalissa fuq is-sistema Mandriva Linux. Il-partizzjonijiet "
+"eżistenti\n"
+"u d-data tal-utenti ma jintmessux. Ħafna mill-passi l-oħra tal-"
+"konfigurazzjoni\n"
+"jibqgħu disponibbli u huma simili għal installazzjoni normali.\n"
+"\n"
+"L-użu tal-għażla \"Aġġorna\" għandha taħdem tajjeb fuq sistemi Mandriva "
+"Linux\n"
+"minn verżjoni \"8.1\" 'il fuq. Mhux rakkomandat li tagħmel aġġornament ta'\n"
+"sistema Mandriva Linux qabel 8.1."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Skond liema lingwa għażilt (), DrakX awtomatikament jagħżel \n"
+"tqassim tat-tastiera. Iċċekkja li din l-għażlia hija tajba, jew\n"
+"għażel tastiera oħra.\n"
+"\n"
+"Apparti minn hekk, jista' jkun li t-tastiera magħżula ma taqbilx mal-\n"
+"lingwa tiegħek. Jekk per eżempju int Malti imma tgħix fl-Italja jista'\n"
+"jkun ikollok tastiera Taljana. F'dak il-każ dan il-pass iħallik\n"
+"tagħżel t-tastiera tajba mil-lista.\n"
+"\n"
+"Klikkja l-buttuna \"%s\" biex tara lista sħiħa ta' tastieri sapportiti.\n"
+"\n"
+"Jekk tagħżel tastiera ibbażata fuq alfabett mhux Latin, il-pass li jmiss\n"
+"iħallik tagħżel il-kombinazzjoni ta' tasti li jibdlu bejn tqassim Latin\n"
+"u mhux Latin."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"L-ewwel pass huwa li tagħżel il-lingwa preferuta tiegħek.\n"
+"\n"
+"L-għażla tal-lingwa preferuta jaffettwa l-installatur, id-dokumentazzjoni,\n"
+"u s-sisetma in ġenerali. L-ewwel agħżel ir-reġjun fejn qiegħed, u mbgħad\n"
+"il-lingwa li titkellem.\n"
+"Jekk tagħfas il-buttuna \"%s\" tista' tagħżel lingwi oħra li tixtieq \n"
+"tinstalla fuq is-sistema. Jekk tagħżel lingwi oħra, il-fajls speċifiċi "
+"għal \n"
+"dik il-lingwa jiġu nstallati fuq is-sistema. Per eżempju, jekk se jkun hemm\n"
+"utenti Spanjoli fuq il-kompjuter, agħżel l-Ingliż bħala lingwa ewlenija "
+"fil-\n"
+"lista ta' fuq, u \"%s\" fis-sezzjoni avvanzata.\n"
+"Dwar sapport għall--UTF-8 (unicode): Unicode hija sistema ġdida ta' "
+"kodifika\n"
+"tal-karattri intenzjonata biex tipprovdi sapport għal-lingwi kollha. Però \n"
+"s-sapport għaliha fil-Linux għadu qed jiġi żviluppat. Għalhekk, l-użu tal-"
+"UTF-8\n"
+"fil-Mandriva Linux jiddependi mill-għażla tal-utent:\n"
+"\n"
+"* Jekk tagħżel lingwa b'ħafna sapport eżistenti f'kodifika oħra (eż, "
+"lingwi \n"
+"latin1, Russu, Ġappuniz, Ċiniż, Korean, Tajlandiż, Grieg, Tork u ħafna "
+"lingwi\n"
+"latin2), tintuża l-kodifika antika.\n"
+"\n"
+"Lingwi oħra jużaw unicode impliċitament;\n"
+"\n"
+" * Jekk tnejn jew iżjed lingwi huma meħtieġa, u dawn m'għandhomx l-istess \n"
+"kodifika, jintuża unicode fuq is-sistema kollha.\n"
+"\n"
+" * Finalment, tista' ġġiegħel li jintuża unicode fis-sistema kollha billi \n"
+"tittikkja l-għażla \"%s\" indipendentement minn liema lingwi huma magħżula.\n"
+"\n"
+"Innota li m'intix limitat li tagħżel lingwa waħda addizzjonali. Tista' "
+"tagħżel\n"
+"diversi, jew anke tinstalla kollox billi tagħżel il-kaxxa \"%s\". Li "
+"tagħżel \n"
+"lingwa ifisser traduzzjonijiet, fonts, spell checkers eċċ jiġu nstallati "
+"għal \n"
+"dik il-lingwa."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalment, DrakX ma jsibx problemi biex jinduna kemm għandu buttuni\n"
+"l-maws. Jekk ikollu, huwa jassumi li għandek maws b'żewġ buttuni u "
+"jissettjah\n"
+"għall-emulazzjoni tat-tielet buttuna. It-tielet buttuna f'dan il-każ "
+"tfisser \n"
+"li tagħfas iż-żewġ buttuni l-oħrajn flimkien. DrakX kapaċi jinduna waħdu "
+"jekk \n"
+"il-maws huwiex PS/2, serjali jew USB.\n"
+"\n"
+"Jekk għandek maws bi 3 buttuni mingħajr rota, tista' tagħżel il-maws \"%s"
+"\". \n"
+"DrakX jissettjalek il-maws biex tista' tissimula r-rota: biex tagħmel dan,\n"
+"żomm il-buttuna tan-nofs magħfusa u mexxi l-maws 'il fuq u 'l isfel.\n"
+"\n"
+"Jekk tixtieq tispeċifika tip ta' maws differenti, agħżel it-tip tajjeb mil-\n"
+"lista provduta.\n"
+"\n"
+"Tista' tagħżel \"%s\" sabiex tuża tip ġeneriku li jaħdem kważi mal-"
+"mawsijiet\n"
+"kollha.\n"
+"\n"
+"Jekk tagħżel tip ta' maws differenti mill-oriġinali, tiġi provduta faċilità\n"
+"biex tittestja s-setings. Uża l-buttuni kollha u r-rota biex tivverifika li "
+"s-\n"
+"setings jaħdmu sew. Jekk il-maws ma jaħdimx sew agħfas \"spazju\" jew\n"
+"[Enter] biex tikkanċella t-test u tagħżel maws ieħor.\n"
+"\n"
+"Maws bir-rota ġieli ma jiġix magħruf sew awtomatikament, għalhekk ikollok\n"
+"tagħżel it-tip minn lista. Ara li tagħżel dak li jikkorrispondi mal-port "
+"fejn huwa\n"
+"mqabbad il-maws. Wara li tagħżel maws u tagħfas il-buttuna \"%s\", "
+"tittella'\n"
+"stampa ta' maws. Mexxi r-rota biex tiżgura li din tiġi ssettjata sew. Meta "
+"tara\n"
+"r-rota fuq l-iskrin timxi meta ċċaqlaq ir-rota fuq il-maws, iċċekkja li l-"
+"buttuni \n"
+"jaħdmu u li l-vleġġa fuq l-iskrin timxi meta ċċaqlaq il-maws."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "b' emulazzjoni tar-rota"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universali | Kwalunkwe maws PS/2 jew USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Jekk jogħġbok agħżel il-port it-tajjeb. Per eżempju, il-port \"COM1\" fil-\n"
+"Windows huwa ekwivalenti għal \"ttyS0\" fil-GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Dan huwa punt ta' deċiżjoni kruċjali għas-sigurtà tas-sistema GNU/Linux\n"
+"tiegħek: trid tagħżel password għal \"root\". \"root\" huwa l-utent li\n"
+"jintuża bħala amministratur tas-sistema, u huwa l-uniku user awtorizzat\n"
+"li jaġġorna s-sistema, iżid utenti, jibdel il-konfigurazzjoni. eċċ. Fi "
+"kliem\n"
+"ieħor, \"root\" kapaċi jagħmel kollox! Għalhekk huwa importanti li tagħżel\n"
+"password li diffiċli biex taqtagħha: DrakX iwissik jekk tagħżel waħda faċli\n"
+"wisq. Kif tista' tinduna, huwa anke possibbli li ma ddaħħal xejn bħala "
+"password,\n"
+"imma dan huwa perikoluż ĦAFNA u aħna ma nirrikmandawh qatt. Peress li \"root"
+"\"\n"
+"jista' jegħleb kull limitazzjoni, saħansitra jħassar l-informazzjoni u \n"
+"partizzjonijiet kollha, huwa mportanti li jkun diffiċli kemm jista' jkun li\n"
+"nies oħra jidħlu bħala \"root\".\n"
+"\n"
+"Il-password għandu jkun taħlita ta' ittri u numri, u ta' l-inqas twil 8 \n"
+"karattri. M'għandek qatt tikteb il-password ta' \"root\" x'inkien - dan \n"
+"jagħmilha faċli wisq tikkomprometti s-sistema.\n"
+"\n"
+"Fl-istess ħin tagħmilx il-password twil jew kumplikata wisq għax int trid\n"
+"tkun kapaċi tiftakarha.\n"
+"\n"
+"Il-password mhux se jintwera fuq l-iskrin waqt li tittajpjah. Għalhekk trid\n"
+"tittajpjah darbtejn biex jonqos iċ-ċans li tagħmel żball waqt li tittajpja.\n"
+"Jekk tagħmel l-istess żball darbtejn, trid tittajpja l-password b'dan il-"
+"mod\n"
+"sakemm tibdlu.\n"
+"\n"
+"Jekk trid tuża server ta' awtentikazzjoni biex jikkontrolla l-aċċess għall-\n"
+"kompjuter, agħfas il-buttuna \"%s\".\n"
+"Jekk in-network tiegħek juża protokoll LDAP, NIS jew PDC tal-Windows\n"
+"għall-awtentikazzjoni, agħżel dak li jgħodd għal \"%s\". Jekk ma tafx, "
+"staqsi \n"
+"lill-amministratur tan-network.\n"
+"\n"
+"Jekk għandek problema tiftakar il-passwords, jew jekk il-kompjuter qatt "
+"m'hu\n"
+"se jiġi mqabbad ma' l-internet u assolutament tafda lil kull min juża l-"
+"kompjuter,\n"
+"tista' tagħżel \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "awtentikazzjoni"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Il-\"boot loader\" huwa programm żgħir li jiġi mħaddem mill-kompjuter meta\n"
+"tixgħelu. Huwa responsabbli li jtella' s-sistema sħiħa. Normalment, l-\n"
+"installazzjoni tal-boot loader huwa totalment awtomatizzat. DrakX "
+"janalizza \n"
+"s-settur \"boot\" tad-diska u jaġixxi skond x'isib hemm:\n"
+"\n"
+" * Jekk isib settur \"boot\" tal-Windows, huwa jibdlu ma' settur boot ta' \n"
+"grub/LILO. B'dan il-mod tista' ttella' kemm GNU/Linux jew xi sistema \n"
+"operattiva oħra.\n"
+"\n"
+" * Jekk isib settur boot eżistenti ta' grub jew LILO, dan jibdlu mal-ġdida.\n"
+"\n"
+"Jekk ma jistax jiddetermina t-tip, DrakX jistaqsik fejn trid tpoġġi l-\n"
+"bootloader. Ġeneralment, l-aħjar huwa \"%s\". Jekk tagħżel \"%s\" ma jiġi \n"
+"nstallat ebda boot loader. Din ta' l-aħħar għanda tintuża biss jekk taf sew\n"
+"x'qed tagħmel."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Issa wasal il-waqt li tagħżel sistema ta' printjar għall-kompjuter tiegħek.\n"
+"Sistemi operattivi oħra joffrulek waħda, Mandriva Linux jagħtik tnejn.\n"
+"Kull waħda minn dawn is-sistema hija idejali għal ċirkostanzi differenti.\n"
+" * \"%s\" - li jfisser \"printja minngħajr kju\", hija l-aħjar għażla\n"
+"jekk għandek konnessjoni diretta mal-printer, trid il-faċilità li twaqqaf\n"
+"printjar malajr, u m'għandekx printers bin-network (\"%s\" jaċċetta\n"
+"biss networking sempliċi, u mhux effiċjenti fuq network). Tista' tagħżel \n"
+"\"pdq\" jekk din hija l-ewwel esperjenza tiegħek fuq GNU/Linux.\n"
+"\n"
+" * \"%s\"\"Sistema ta' Printjar Komuni tal-Linux\" huwa eċċellenti\n"
+"kemm biex tipprintja fuq printer lokali kif ukoll fuq printer in-naħa l-"
+"oħra\n"
+"tad-dinja. Huwa sempliċi u jista' jaħdem kemm bħala server kif ukoll bħala\n"
+"klijent għal sistemi antiki \"lpd\", għalhekk huwa kompatibbli ma' sistemi\n"
+"antiki. Kapaċi jagħmel ħafna affarijiet, imma l-konfigurazzjoni bażika hija\n"
+"sempliċi kważi daqs \"pdq\". Biex jemula server \"lpd\", trid tħaddem is-\n"
+"servizz \"cups-lpd\". %s għandu interfaċċji grafiċi biex tipprintja jew\n"
+"tissettja l-għażliet tal-printer.\n"
+"\n"
+"Jekk tagħmel għażla issa, u wara tiskopri li ma togħġbokx din is-sistema,\n"
+"tista' tibdilha billi tħaddem PrinterDrake miċ-ċentru tal-kontroll ta' \n"
+"Mandriva Linux u tikklikkja l-buttuna \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Espert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX issa se jfittex apparat IDE fuq il-kompjuter tiegħek. Huwa wkoll\n"
+"ifittex kard waħda jew iżjed SCSI PCI fuq is-sistema. Jekk tinstab kard\n"
+"SCSI, DrakX awtomatikament jinstalla d-drajver għaliha.\n"
+"\n"
+"Peress li dan il-proċess mhux dejjem isib ċerti apparat, DrakX jista' ma\n"
+"jsibx il-ħard disks tiegħek. F'dak il-każ trid tissettja l-ħardwer "
+"manwalment.\n"
+"\n"
+"Jekk trid tissettja l-adattur SCSI manwalment, DrakX jistaqsik jekk tridx \n"
+"tispeċifika għażliet għalih. Jaqbillek tħalli lill DrakX jeżamina l-ħardwer\n"
+"biex isir jaf liema għażliet għandu bżonn l-apparat biex jaħdem. Dan \n"
+"normalment jaħdem sew.\n"
+"\n"
+"Jekk DrakX mhux kapaċi jagħraf l-għażliet li jridu jiġu mgħoddija, trid\n"
+"tispeċifikahom manwalment lid-drajver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jekk tinstab kard ta' l-awdjo fuq is-sistema, tintwera hawn.\n"
+"Jekk tinduna li l-kard ta' l-awdjo murija mhix dik li għandek fis-sistema,\n"
+"tista' tikklikkja fuq il-buttuna u tagħżel drajver differenti."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Fit-tmiem, DrakX jippreżentalek sommarju ta' informazzjoni li ġabar dwar\n"
+"is-sistema. Skond il-ħardwer li hemm installat, jista' jkollok dawn l-\n"
+"elementi jew uħud minnhom. Kull element huwa magħmul mit-tagħmir li għandu\n"
+"jiġi konfigurat, u sommarju tal-konfigurazzjoni kurrenti. Klikkja fuq il-\n"
+"buttuna \"%s\" korrispondenti biex tagħmel tibdila.\n"
+"\n"
+" * \"%s\": iċċekkja t-taqsim tat-tastiera kurrenti u ibdilha jekk hemm\n"
+"bżonn.\n"
+"\n"
+" * \"%s\": iċċekkja l-għażla tal-pajjiż. Jekk m'intix f'dan il-pajjiż,\n"
+"klikkja l-buttuna \"%s\" u agħżel ieħor. Jekk il-pajjiż mhux fil-lista\n"
+"murija, klijja l-buttuna \"%s\" biex tikseb lista sħiħa ta' pajjiżi.\n"
+"\n"
+" * \"%s\": impliċitament, DrakX jiddeduċi ż-żona tal-ħin skond il-pajjiż\n"
+"li għażilt. Tista' tagħfas il-buttuna \"%s\" jekk dan mhux tajjeb.\n"
+"\n"
+" * \"%s\": ivverifika l-konfigurazzjoni tal-maws u klikkja l-buttuna biex\n"
+"tibdilha jekk hemm bżonn.\n"
+"\n"
+" * \"%s\": ikklikkja l-buttuna \"%s\" biex tħaddem is-saħħar tal-\n"
+"konfigurazzjoni tal-printer. Ikkonsulta l-kapitlu korrispondenti tal-manwal\n"
+"\"Starter Guide\" għal iżjed tagħrif dwar kif tissettja printer ġdid. L-\n"
+"interfaċċja ppreżentata fil-manwal hija simili għal dik użata waqt l-\n"
+"installazzjoni.\n"
+" * \"%s\": Jekk tinstab kard tal-awdjo fis-sistema, tintwera hawn. Jekk\n"
+"tinduna li l-kard murija mhix dik attwalment preżenti fis-sistema, tista'\n"
+"tikklikkja l-buttuna u tagħżel drajver differenti.\n"
+" * \"%s\": jekk għandek kard tat-TV, hawn tintwera informazzjoni dwar il-\n"
+"konfigurazzjoni tagħha. Jekk għandek kard tat-TV imma ma ngħarfitx \n"
+"awtomatikament, klikkja \"%s\" biex tissettjaha manwalment.\n"
+"\n"
+" * \"%s\": klikkja \"%s\" biex tibdel il-parametri assoċjati mal-kard jekk\n"
+"taħseb li l-konfigurazzjoni hija inkorretta.\n"
+"\n"
+" * \"%s\": impliċitament, DrakX jikkonfiguralek l-interfaċċja grafika\n"
+"f'reżoluzzjoni ta' 800x600 jew 1024x768. Jekk dan ma jgħoddx għalik, "
+"klikkha\n"
+"\"%s\" biex tikkonfigura l-interfaċċja grafika.\n"
+"\n"
+" * \"%s\": jekk tixtieq tikkonfigura l-aċċess għall-internet jew network\n"
+"lokali tista tagħmel dan issa. Irreferi għad-dokumentazzjoni stampata jew\n"
+"uża ċ-Ċentru tal-Kontroll Mandriva Linux wara li tlesti l-installazzjoni "
+"biex\n"
+"tikseb għajnuna online sħiħa.\n"
+"\n"
+" * \"%s\": jippermettilek tissettja indirizzi proxy għall-HTTP u FTP jekk "
+"il-\n"
+"kompjuter qiegħed wara server proxy.\n"
+"\n"
+" * \"%s\": dan l-element iħallik terġa' tiddefinixxi l-livell ta' sigurtà\n"
+"minn kif kien issettjat f'pass ta' qabel ().\n"
+"\n"
+" * \"%s\": jekk intenzjonat tqabbad il-kompjuter ma' l-internet, hija "
+"ideja \n"
+"tajba tipproteġi lilek innifsek minn intrużjonijiet billi tissettja "
+"firewall.\n"
+"Ikkonsulta s-sezzjoni korrispondenti fil-manwal \"Starter Guide\" għal "
+"iżjed\n"
+"dettalji dwar il-firewall.\n"
+"\n"
+" * \"%s\": jekk tixtieq tissettja l-konfigurazzjoni tal-bootloader, klikkja\n"
+"din il-buttuna. Dan għandu jsir minn utenti avvanzati biss. Irreferi għad-\n"
+"dokumentazzjoni stampata, jew l-għajnuna online dwar il-konfigurazzjoni "
+"tal-\n"
+"bootloader fiċ-Ċentru tal-Kontroll Mandriva Linux.\n"
+"\n"
+" * \"%s\": permezz ta' dan l-element tista' tirfina liema servizzi se \n"
+"jitħaddmu fuq il-kompjuter. Jekk qed tippjana li tuża l-kompjuter bħala \n"
+"server hija ideja tajba tirrevedi din is-sezzjoni."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Kard ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaċċja grafika"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Agħżel liema ħard disk trid tħassar biex tinstalla l-partizzjonijiet tal-\n"
+"Mandriva Linux fuqha. Oqgħod attent, l-informazzjoni kollha fuq din id-\n"
+"diska jintilef u ma jkunx jista' jinġab lura!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klikkja fuq \"%s\" jekk trid tħassar l-informazzjoni u partizzjonijiet \n"
+"kollha li hemm fuq dan il-ħard disk. Oqgħod attent, wara li tagħfas \"%s\"\n"
+"ma tkunx tista' terġa' tikseb l-informazzjoni u partizzjonijiet li hemm\n"
+"fuq dan il-ħard disk, inkluż fajls tal-Windows.\n"
+"\n"
+"Klikkja \"%s\" biex twaqqaf dan il-proċess minngħajr ma tħassar\n"
+"l-informazzjoni u partizzjonijiet fuq dan il-ħard disk."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Li jmiss ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Ta' qabel"
+
diff --git a/perl-install/install/help/po/nb.po b/perl-install/install/help/po/nb.po
new file mode 100644
index 000000000..d45ce6e0c
--- /dev/null
+++ b/perl-install/install/help/po/nb.po
@@ -0,0 +1,2029 @@
+# translation of nb.po to Norwegian Bokmål
+# translation of nb.po to Norsk Bokmål
+# translation of DrakX-nb.po to Norwegian Bokmål
+# KTranslator Generated File
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999 Mandriva
+# Terje Bjerkelia <terje@bjerkelia.com>, 1999-2000.
+# Andreas Bergstrøm <abergstr@halden.net>, 2000.
+# Kenneth Rørvik <kenneth@argon.no-ip.com>, 2003.
+# Per Øyvind Karlsen <peroyvind@sintrax.net>, 2003, 2004.
+# Keld Simonsen <keld@dkuug.dk>, 2004.
+# Per Øyvind Karlsen <peroyvind@mandrivalinux.org>, 2004, 2005.
+# Eskild Hustvedt <eskild@goldenfiles.com>, 2004.
+# Eskild Hustvedt <zerodogg@skolelinux.no>, 2004, 2005.
+# Per Øyvind Karlsen <pkarlsen@mandriva.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nb\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-21 23:11+0200\n"
+"Last-Translator: Per Øyvind Karlsen <pkarlsen@mandriva.com>\n"
+"Language-Team: Norwegian Bokmål <cooker-i18n@mandrivalinux.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Før du går videre bør du lese betingelsene i lisensen nøye. Den dekker hele\n"
+"Mandriva Linux-distribusjonen. Hvis du er enig med alle betingelsene,\n"
+"sjekk av \"%s\"-boksen- Hvis ikke, så vil det år trykke på '%s'k-knappen "
+"starte\n"
+"maskinen din på nytt."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er ett flerbrukersystem, og dette betyr at hver bruker kan ha\n"
+"sine egne instillinger, sine egne filer osv. Du kan lese ``Starter "
+"Guide'''n\n"
+"for å lære mer om flerbrukersystemer.\n"
+" Men i motsetning til 'root', som er\n"
+"systemadministratoren, så vil brukerne du legger til her ikke ha rett til å\n"
+"forandre noe annet enn deres egne filer og oppsett, noe som\n"
+"beskytte systemet for uheldige eller skumle forandringer som endrer\n"
+"hele systemet. Du må lage minst en bruker for deg selv -- denne kontoen\n"
+"bør du bruke rutinemessig, for hverdagslig bruk. Selv om det er praktisk å\n"
+"logge inn som \"root\" for å gjøre alt mulig hver dag, kan det også være\n"
+"veldig farlig! Den minste feil kan bety at systemet ditt ikke lenger vil "
+"fungere.\n"
+"Hvis du gjør en stor feil som en vanlig bruker, så er det verste som kan "
+"skje\n"
+"at du mister noe informasjon, men det vil ikke påvirke hele systemet.\n"
+"\n"
+"Det første feltet spørr etter ditt virkelige navn. Dette er selvfølgelig "
+"ikke nødvendig\n"
+"-- du kan faktisk skrive inn hva du vil. DrakX vil ta det første ordet du "
+"legger inn\n"
+"og kopiere det til \"%s\"-feltet, som er det navnet den brukeren vil bruke\n"
+"for å logge seg på systemet. Hvis du vil, så kan du endre brukernavnet. Det\n"
+"neste steget blir å sette et passord. Fra ett sikkerhetsmessig åsyn, så er "
+"ikke\n"
+"en upriviligiert (vanlig) brukers passord så kritisk som \"root\"-passordet, "
+"men\n"
+"det er ingen grunn til å neglisere det ved å gjøre det blankt eller for "
+"enkelt:\n"
+"tross alt, det kan være dine filer som ligger i faresonen.\n"
+"\n"
+"Når du klikker på \"%s\", så kan du legge til flere brukere. Legg feks. til "
+"en for hver\n"
+"av dine venner, din far eller din søster .\n"
+"Klikk \"%s\" når du er ferdig med å legge til brukere.\n"
+"\n"
+"Ved å klikke på \"%s\"-knappen kan du forandre hvilket \"skall\" brukeren "
+"har\n"
+"som standard (det vanlige er bash).\n"
+"\n"
+"Når du er ferdig med å legge til brukere, så kan du velge en bruker som kan\n"
+"automatisk logge seg på systemet når maskinen starter opp. Hvis du er\n"
+"interessert i denne finessen (og ikke bryr deg mye om lokal sikkerhet),\n"
+"så velg den ønskede brukeren og vindushåndtereren, så klikk på \"%s\".\n"
+"Hvis du ikke er interessert i denne finessen, sjekk ut \"%s\"-boksen."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønsker du å bruke denne finessen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er de eksisterende Linux-partisjonene som ble oppdaget på din harddisk.\n"
+"Du kan beholde valgene som er gjort av veiviseren, de er gode for de fleste\n"
+"vanlige installasjoner. Hvis du endrer disse valgene, må du i hvertfall "
+"definere\n"
+"en root-partisjon (\"/\"). Ikke velg for liten partisjon ellers vil du ikke "
+"kunne\n"
+"installere nok programvare. Hvis du ønsker å lagre dine data på en separat\n"
+"partisjon må du også velge en \"/home\"-partisjon (bare mulig hvis du har "
+"mer\n"
+"enn en Linux partisjon tilgjengelig).\n"
+"\n"
+"Hver partisjon er listet som følger: \"Navn\", \"Kapasitet\".\n"
+"\n"
+"\"Navn\" er strukturert som følger: \"harddisktype\", \"harddisknummer\",\n"
+"\"partisjonsnummer\" (feks. \"hda1\").\n"
+"\n"
+"\n"
+"\"Harddisktype\" er \"hd\" hvis harddisken din er en IDE-harddisk og \"sd\"\n"
+"hvis det er en SCSI-harddisk.\n"
+"\n"
+"\"Harddisknummer\" er alltid en bokstav etter \"hd\" eller \"sd\". For\n"
+"IDE-harddisker:\n"
+"\n"
+" * \"a\" betyr \"master harddisk på primær IDE-kontroller\",\n"
+"\n"
+" * \"b\" betyr \"slave harddisk på primær IDE-kontroller\",\n"
+"\n"
+" * \"c\" betyr \"master harddisk på sekundær IDE-kontroller\",\n"
+"\n"
+" * \"d\" betyr \"slave harddisk på sekundær IDE-kontroller\".\n"
+"\n"
+"\n"
+"Med SCSI-harddisker, en \"a\" betyr \"laveste SCSI-ID\", en \"b\" betyr "
+"\"nest laveste SCSI-ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux-installasjonen er spredd ut over flere CD-ROMer. \n"
+"Hvis en valgt pakke er på en annen CDROM, vil DrakX løse ut den nåværende\n"
+"CD og be deg sette i en den rette CDen som kreves. Hvis du ikke har den som\n"
+"trengs nå, bare klikk på «%s», pakken(e) vil da ikke bli installert."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det er nå på tide å spesifisere hvilke programmer du ønsker å installere på\n"
+"systemet ditt. Det er tusenvis av pakker tilgjengelig for Mandriva Linux, "
+"for\n"
+"å gjøre det enklere å håndtere pakkene så har de blitt plassert i grupper "
+"med\n"
+"lignende applikasjoner.\n"
+"\n"
+"Pakkene er delt inn i grupper som svarer til forskjellig typisk bruk av din "
+"maskin.\n"
+"Mandriva Linux har fire forhåndsdefinerte installasjoner tilgjengelig.\n"
+"Du kan mikse og matche applikasjoner fra forskjellige grupper, så en\n"
+"``Arbeidsstasjon''-installasjon kan fortsatt ha applikasjoner fra\n"
+"``Utvikling''-gruppa installert.\n"
+"\n"
+" * \"%s\": hvis du planlagger å bruke din maskin som arbeidsstasjon, velg\n"
+"en eller flere av applikasjonene som er i arbeidsstasjon-gruppen.\n"
+"\n"
+" * \"%s\": hvis du planlegger å bruke maskinen til programmering, velg\n"
+"ønskede grupper fra den kategorien. Den spesielle «LSB»-gruppen vil\n"
+"sette opp systemet ditt slik at den samsvarer mest mulig med\n"
+"Linux Standard Base spesifikasjonene.\n"
+"\n"
+" * \"%s\": hvis maskinen skal brukes som tjener, velg hvilke av de mer "
+"vanlige\n"
+"tjenestene som du ønsker installert på din maskin.\n"
+"\n"
+" * \"%s\": det er her du kan velge ditt ønskede grafiske miljø. Du\n"
+"må velge minst ett hvis du ønsker å ha ett grafisk grensesnitt "
+"tilgjengelig.\n"
+"\n"
+"Ved å flytte musepekeren over et gruppenavn vil en kort forklarende tekst\n"
+"dukke opp over den gruppen.\n"
+"\n"
+"Du kan merke av i «%s»-boksen, som er nyttig hvis du er kjent med\n"
+"pakkene som blir tilbudt, ellr du vil ha total kontroll over hva som vil "
+"bli\n"
+"installert.\n"
+"Hvis du starter installasjonen i «%s»-modus trenger du ikke å velge noen "
+"grupper\n"
+"og hindre installasjon av alle nye pakker. Dette er nyttig for å reparere\n"
+"eller oppdatere et allerede installert system.\n"
+"\n"
+"Hvis du ikke velger noen grupper når du utfører en normal installasjon (i\n"
+"motsetning til en oppgradering) vil en dialogboks dukke opp og foreslå\n"
+"forskjellige valg for en minimal installasjon:\n"
+"\n"
+"* \"%s\": installer et minimum av pakker som trengs for å ha et fungerende\n"
+"grafisk skrivebord.\n"
+"\n"
+" * \"%s\": installerer basesystemet pluss standard verktøy og dokumentasjon\n"
+"for disse. Denne installasjonen passer til å sette opp en server.\n"
+"\n"
+" * \"%s\" vil installere det absolutte minimum som er nødvendig for å få\n"
+"Linux systemet opp og gå. Med denne installasjonen så vil du\n"
+"kun ha et kommandolinje-grensesnitt. Denne installasjonen er på rundt 65 "
+"megabyte."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Oppgrader"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grunnleggende dokumentasjon"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Virkelig minimal installasjon"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Hvis du fortalte installasjonsrutinen at du ønsket å velge enkeltpakker,\n"
+"så vil du få se ett tre som innholder alle pakkene sortert etter grupper\n"
+"og undergrupper. Når du blar gjennom treet, kan du velge grupper, \n"
+"undergrupper eller individuelle pakker.\n"
+"\n"
+"Når du velger en pakke i treet, vil en beskrivelse dukke opp til høyre\n"
+"side for å la deg vite hva pakkens hensikt er.\n"
+"\n"
+"!! Hvis en tjenerpakke har blitt valgt, enten på grunn av at du valgte den "
+"spesifikt\n"
+"eller fordi den var medlem av en gruppe pakker, vil du bli bedt om å "
+"bekrefte at du\n"
+"virkelig ønsker å installere de valgte tjenerne.\n"
+"Som standard i Mandriva Linux vil alle installerte tjenere bli startet ved "
+"oppstart.\n"
+"Selv om de er sikre og ikke har noen kjente sikkerhetshull når denne "
+"distribusjonen\n"
+"ble sluppet,\n"
+"så kan det være at sikkerhetshull ble oppdaget etter at denne versjonen\n"
+"av Mandriva Linux ble sluppet. Hvis du ikke vet hva en type tjener gjør, "
+"eller\n"
+"hvorfor den blir installert, klikk «%s».\n"
+"«%s» vil installere de listede tjenerene og de vil bli\n"
+"startet automatisk som standard under oppstart. !!\n"
+"\n"
+"«%s»-valget er brukt for å deaktivere advarselsdialogen som vises\n"
+"når installasjonen automatisk velger en pakke for å løse avhengigheter.\n"
+"Noen pakker er avhengig av at andre pakker er installert.\n"
+"Installasjonsprogrammet kan finne ut hvilke pakker som trengs for å\n"
+"oppfylle avhengigheten til en pakke for å utføre en vellykket installasjon.\n"
+"\n"
+"Det lille diskett-ikonet på bunnen av denne listen lar deg laste en\n"
+"pakkeliste lagd under en tidligere installasjon. Dette er nyttig hvis du\n"
+"har flere maskiner som du vil sette opp identisk. Ved å klikke på dette\n"
+"ikonet vil du bli bedt om å sette inn disketten laget ved slutten av\n"
+"en annen installasjon. Se det andre tipset i det siste steget om hvordan du\n"
+"kan lage en slik diskett."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiske avhengigheter"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"«%s»: Klikk på «%s»-knappen for å åpne skriverveiviseren.\n"
+"Konsulter det korresponderende kapitlet i oppstartsguiden for mer\n"
+"informasjon om hvordan du setter opp en skriver. Grensesnittet som\n"
+"brukes her er tilsvarende det som benyttes under installasjon."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denne dialogen benyttes til å velge hvilke tjenester som skal startes når\n"
+"maskinen startes opp.\n"
+"\n"
+"DrakX vil liste opp alle tjenestene som er tilgjengelige i den gjeldende "
+"installasjonen.\n"
+"Gå nøye gjennom hver enkelt og fjern haken på de som ikke er nødvendige å\n"
+"starte.\n"
+"\n"
+"En kort forklarende tekst vil vises for hver tjeneste når de velges. Dersom "
+"du\n"
+"ikke er sikker på om en tjeneste er nødvendig, er det sikrest å la det\n"
+"forhåndsvalgte alternativet stå.\n"
+"\n"
+"!! på dette tidspunktet bør du være forsiktig dersom du ønsker å bruke "
+"maskinen\n"
+"som tjener: Du vil sannsynligvis ikke ønske å starte tjenester som du ikke "
+"trenger.\n"
+"Husk at noen tjenester kan representere en sikkerhetsrisiko dersom de er\n"
+"tilgjengelige på en tjener. Generelt bør du kun skru på tjenester som du "
+"trenger.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux passer tiden i GMT (Greenwich Mean Time), og oversetter denne\n"
+"til lokal tid avhengig av tidssonen du valgte. Dersom klokka på ditt "
+"hovedkort\n"
+"er satt til lokal tid, kan du deaktivere dette ved å velge bort «%s»,\n"
+"som lar GNU/Linux vite at systemklokka og maskinvareklokka\n"
+"er i samme tidssone. Dette er nyttig når maskinen din har andre\n"
+"operativsystemer slik som Windows.\n"
+"\n"
+"«%s»-valget vil stille klokka di ved å koble seg til en ekstern tidstjener\n"
+"på internett. For at dette skal fungere, må du ha en internettforbindelse "
+"som\n"
+"fungerer. Det er best å velge en tidstjener som er i nærheten av deg. Dette\n"
+"valget installerer dessuten en tidstjener som kan brukes av andre maskiner\n"
+"på ditt lokale nettverk."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Skjermkort\n"
+"\n"
+" Installasjonsprogrammet vil vanligvis automatisk finne og sette opp "
+"skjermkortet\n"
+"som er installert på din maskin. Hvis dette ikke lar seg gjøre, kan du "
+"velge\n"
+"hva slags kort du har i denne listen.\n"
+"\n"
+" I tilfelle det er flere tjenere tilgjengelige for ditt kort, med eller "
+"uten\n"
+"3D-akselerasjon, blir du bedt om å velge tjeneren som passer dine behov\n"
+"best."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (for X Window System) er hjertet i GNU/Linux sitt grafiske grensesnitt "
+"som\n"
+"alle de grafiske miljøene (KDE, GNOME Afterstep, Windowmaker osv.)\n"
+"som følger med Mandriva Linux er avhengige av.\n"
+"\n"
+"Du vil få en liste med forkjellige parametre som kan forandres for å få et\n"
+"optimalt grafisk grensesnitt: \n"
+"\n"
+"Skjermkort\n"
+"\n"
+" Installasjonsrutinen kan vanligvis automatisk oppdage og sette opp\n"
+"skjermkortet som er installert i din maskin. Dersom dette ikke er tilfellet, "
+"kan\n"
+"du velge det kortet du faktisk har installert, fra denne listen.\n"
+"\n"
+" I tilfelle det er flere tjenere tilgjengelig for ditt kort, med eller "
+"uten\n"
+"3D-akselerasjon, vil du så kunne velge den tjeneren som best passer\n"
+"dine behov.\n"
+"\n"
+"\n"
+"\n"
+"Skjerm\n"
+"\n"
+" Installasjonsrutinen kan normalt automatisk oppdage og sette opp "
+"skjermen\n"
+"som er koblet til din maskin. Hvis dette ikke er korrekt, kan du velge "
+"skjermen du\n"
+"faktisk har fra listen.\n"
+"\n"
+"\n"
+"\n"
+"Oppløsning\n"
+"\n"
+" Her kan du velge hvilke oppløsninger og fargedybder du vil bruke fra de "
+"som\n"
+"er tilgjengelige for din maskinvare. Velg den kombinasjonen som best passer\n"
+"dine behov (Du kan forandre dette etter installasjon). En prøve av det "
+"valgte\n"
+"oppsettet vil vises i skjermen.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Avhengig av din maskinvare vil denne oppføringen kanskje ikke vises.\n"
+"\n"
+" systemet vil forsøke å starte en grafisk skjerm med den valgte\n"
+"oppløsningen. Dersom du kan se meldingen som vises under testen og \n"
+"svarer \"%s\" vil DrakX fortsette til neste trinn. Hvis du ikke kan se "
+"meldingen\n"
+"betyr det at en del av oppsettet er gal, og testen vil avsluttes etter 12\n"
+"sekunder. Du vil da bli tatt tilbake til menyen. Forandre innstillingene til "
+"du får\n"
+"et oppsett som fungerer. \n"
+"\n"
+"\n"
+"\n"
+"Valg\n"
+"\n"
+" Her kan du velge om du vil at maskinen automatisk skal starte det "
+"grafiske\n"
+"grensesnittet når maskinen starter. Du vil selvsagt ønske å sjekke av for \"%"
+"s\"\n"
+"dersom maskinen skal fungere som en tjener, eller om du ikke fikk satt opp\n"
+"det grafiske grensesnittet riktig."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjerm\n"
+"\n"
+" Installereren kan vanligvis automatisk oppdage og sette opp\n"
+"skjermen som er koblet til maskinen din. Dersom dette ikke fungerer, kan\n"
+"du velge fra denne lista hvilken skjerm du faktisk har tilkobliet din maskin."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Oppløsning\n"
+"\n"
+" Her kan du velge oppløsning og fargedybde blant de som er tilgjengelige\n"
+"for din maskinvare. Velg den du synes passer best til dine behov (du kan\n"
+"forandre dette etter installasjon). En prøve av det valgte oppsettet\n"
+"er vist i skjermen."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"I tilfelle det er flere tjenere tilgjengelig for ditt kort, med eller uten\n"
+"3D-akselerasjon, blir du så spurt om å velge den tjeneren som best\n"
+"passer dine behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Valg\n"
+"\n"
+" Dette steget lar deg velge om du vil starte et grafisk grensesnitt "
+"automatisk\n"
+"under oppstart. Du vil selvsagt ønske å svare «%s» dersom maskinen skal\n"
+"fungere som tjener, eller hvis du ikke kunne sette opp det grafiske "
+"grensesnittet."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Du må nå avgjøre hvor du ønsker å installere Mandriva Linux-"
+"operativsystemet\n"
+"på din harddisk. Hvis din harddisk er tom, eller et eksisterende\n"
+"operativsystem benytter all plassen som er tilgjengelig, vil du bli nødt til "
+"å\n"
+"ompartisjonere disken. Partisjonering av en harddisk vil si å dele den inn "
+"i\n"
+"logiske enheter for å skape plassen som trengs for å installere ditt nye\n"
+"Mandriva Linux-system.\n"
+"\n"
+"Ettersom partisjoneringsprosessen ikke kan tilbakestilles, og kan føre til "
+"tapte\n"
+"data hvis det allerede finnes et operativsystem på disken, kan "
+"partisjonering\n"
+"virke skremmendes dersom du er en uerfaren bruker. Heldigvis har DrakX en\n"
+"veiviser som forenkler denne prosessen. Før du fortsetter installasjonen, "
+"bør\n"
+"du lese gjennom resten av denne teksten, og ikke minst: Ta deg god tid.\n"
+"\n"
+"Avhengig av ditt harddiskoppsett, er flere valg tilgjengelige:\n"
+"\n"
+" *«%s»: dette valget utfører automatisk partisjonering av dine\n"
+"harddisker. Dersom du velger dette, vil det ikke ble stilt flere spørsmål.\n"
+"\n"
+" * «%s»: veiviseren har funnet en eller flere linux-partisjoner på "
+"harddisken\n"
+"din. Hvis du vil bruke disse, velg dette valget. Du vil bli spurt om å angi\n"
+"monteringspunkter for hver partisjon. De allerede oppsatte "
+"monteringspunktene\n"
+"er valgt som standard, og det er normalt lurt å beholde disse.\n"
+"\n"
+" * \"%s\": hvis Microsoft Windows er installert på din harddisk, og tar all "
+"tilgjengelig\n"
+"plass, må du lage ledig plass for GNU/Linux. For å oppnå dette, kan du enten "
+"slette\n"
+"hele Microsoft Windows-partisjonen med tilhørende data (Se ``Slett hele "
+"disken''-valget),\n"
+"eller forandre størrelsen på din Microsoft Windows FAT- eller NTFS-"
+"partisjon.\n"
+"Forandring av diskstørrelse kan utføres uten tap av data forutsatt at du "
+"har\n"
+"defragmentert Windows-partisjonen. Det anbefales sterkt at du tar \n"
+"sikkerhetskopi av dine data. Dette valget er anbefalt, dersom du ønsker \n"
+"å kjøre både Mandriva Linux og Microsoft Windows på samme maskin.\n"
+"\n"
+" Før du velger dette valget, må du være klar over at størrelsen på din\n"
+"Microsoft Windows-partisjon vil være mindre enn når du startet. Du vil \n"
+"dermed ha mindre ledig plass under Microsoft Windows til å lagre data \n"
+"og installere programvare på.\n"
+"\n"
+" * \"%s\": hvis du ønsker å slette alle partisjoner og data, og erstatte dem "
+"med ditt\n"
+"nye Mandriva Linux-system, så velg dette valget. Vær forsiktig, du vil ikke "
+"kunne gjøre\n"
+"om dette etter at du har bekreftet valget.\n"
+"\n"
+" !! Hvis du velger dette valget, vil alle data på harddisken bli "
+"slettet. !!\n"
+"\n"
+" * \"%s\": dette vil enkelt og greit slette alt fra harddisken og starte en "
+"ny partisjonering\n"
+"fra bunn av. Alle data på harddisken vil bli tapt.\n"
+"\n"
+" !! Hvis du velger dette valget, vil du miste alle data på harddisken. !!\n"
+"\n"
+" * \"%s\": velg dette dersom du vil partisjonere disken manuelt.\n"
+"Vær forsiktig -- dette er en kraftig, men farlig operasjon, og du kan lett "
+"miste alle\n"
+"dine eksisterende data. Derfor er dette valget kun anbefalt dersom du har "
+"gjort\n"
+"dette før, og har en del erfaring. For mer veiledning i bruk av DiskDrake-"
+"verktøyet\n"
+"se kapittelet ``Managing Your Partitions''-seksjonen i ``Starter Guide''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Bruk eksisterende partisjon"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slette hele disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Sånn! Installasjonen er nå ferdig og ditt flunkende nye GNU/Linux system\n"
+"er nå klart til bruk. Bare klikk «%s» for å restarte systemet. Ikke glem å\n"
+"fjerne installasjonsmediet (CDROM eller diskett). Det første du vil\n"
+"se etter at maskinen er ferdig med maskinvaretestene er oppstartslasterens\n"
+"meny, som lar deg velge hvilket operativsystem du vil starte.\n"
+"\n"
+"«%s»-knappen vil vise to nye knapper:\n"
+"\n"
+" * «%s»: for å lage en installasjonsdiskett som automatisk vil utføre en\n"
+"hel installasjon uten operatørhjelp, helt lik den installasjonen du nettopp "
+"har utført.\n"
+"\n"
+" Merk at to forskjellige valg vil være tilgjengelige etter at knappen "
+"trykkes:\n"
+"\n"
+" * «%s»: Dette er en delvis automatisert installasjon. Partisjonering er\n"
+"den eneste interaktive prosedyren.\n"
+"\n"
+" * «%s»: Dette er en fullstendig automatisert installasjon: harddisken "
+"vil bli\n"
+"helt overskrevet, og alle data vil bli overskrevet.\n"
+"\n"
+" Denne funksjonen er nyttig når du skal installere et antall identiske "
+"maskiner.\n"
+"Se Auto-installasjonsavsnittet på våre websider for mer informasjon.\n"
+"\n"
+" * «%s» (*): lagrer en liste over pakkene som er blitt installert under "
+"denne\n"
+"installasjonen. For å benytte denne listen under en annen installasjon, sett "
+"inn\n"
+"disketten og start installasjonen. Når kommandopromptet kommer opp, trykk "
+"på\n"
+"[F1]-tasten og skriv: \"linux defcfg=\"floppy\" <<\n"
+"\n"
+"(*) Du trenger en FAT-formatert diskett (for å lage en under GNU/Linux, "
+"skriv\n"
+"«mformat a:», eller «fdformat /dev/fd0» etterfulgt av «mkfs.vfat\n"
+"/dev/fd0»."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generer autoinstallasjonsdiskett"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Hvis du valgte å bruke noen gamle GNU/Linux-partisjoner, kan det\n"
+" hende du ønsker å omformatere enkelte\n"
+"eksisterende partisjoner for å slette data på disse. Hvis du ønsker å\n"
+"gjøre dette, kan du velge disse partisjonene også.\n"
+"(å formatere betyr å opprette ett filsystem)\n"
+"\n"
+"Legg merke til at det ikke er nødvendig å formatere alle eksisterende\n"
+"partisjoner. Du må reformatere partisjonene som skal innholde\n"
+"operativsystemet (som «/», «/usr» eller «/var»), men du trenger ikke\n"
+"å omformatere partisjoner som inneholder data du vil beholde\n"
+"(typisk «/home»).\n"
+"\n"
+"Vær forsiktig når du velger partisjoner. Etter formatering vil alle data\n"
+"på de valgte partisjonene bli slettet uten at du kan hente dataene\n"
+"tilbake.\n"
+"\n"
+"Klikk «%s» når du er klar til å formatere partisjonene.\n"
+"\n"
+"Klikk «%s» om du vil velge andre partisjoner for din nye\n"
+"Mandriva Linux-operativsysteminstallasjon. \n"
+"\n"
+"Klikk på «%s» hvis du ønsker å velge partisjoner som skal sjekkes for\n"
+"ødelagte blokker på disken."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Når du installerer Mandriva Linux, er det sannsynlig at enkelte pakker\n"
+"er blitt oppdatert siden denne versjonen ble sluppet. Noen feil kan ha\n"
+"blitt fikset, eller sikkerhetsproblemer løst. For at du skal få utnytte\n"
+"disse forbedringene kan du nå laste dem ned fra internett. Kryss av «%s»\n"
+"dersom du har en fungerende internettforbindelse, eller «%s» dersom\n"
+"du heller vil installere oppdateringene senere.\n"
+"\n"
+"Når du velger «%s» får du en liste over tjenere som oppdateringene kan\n"
+"lastes ned fra. Velg en som er nærmest deg. Et pakkevalgstre vil da\n"
+"dukke opp. Gå gjennom valgene, og klikk «%s» for å hente og installere\n"
+"de(n) valgte pakkene(ne), eller «%s» for å avbryte."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"På dette punktet vil DrakX la deg velge sikkerhetsnivået som er ønsket for\n"
+"maskinen. Som en tommelfingerregel bør sikkerhetsnivået settes høyere,\n"
+"hvis maskinen skal ha viktige data lagret der, eller hvis den skal være\n"
+"direkte tilgjengelig på internettet. Men, et høyere sikkerhetsnivå går \n"
+"gjerne på bekostning av brukervennligheten.\n"
+"\n"
+"Hvis du ikke vet hva du skal velge, behold standardvalget. Du vil kunne\n"
+"endre sikkerhetsnivået senere med verktøyet draksec fra Mandriva Linux\n"
+"Kontrollsenter.\n"
+"\n"
+"'%s'-feltet kan informere systemet om den bruker på systemet som\n"
+"vil være ansvarlig for sikkerheten. Sikkerhetsbeskjeder vil bli sendt til\n"
+"denne adressen."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Sikkerhetsadministrator"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"På dette punktet må du velge hvilke partisjon(er) som skal brukes til å\n"
+"installere ditt nye Mandriva Linux-system på. Hvis partisjoner allerede har\n"
+"blitt definert enten fra en tidligere installasjon av GNU/Linux eller fra et "
+"annet\n"
+"partisjoneringsverktøy, kan du bruke eksisterende partisjoner. I andre\n"
+"tilfeller må harddiskpartisjoner defineres.\n"
+"\n"
+"For å opprette partisjoner må du først velge en harddisk. Du kan velge disk\n"
+"for partisjonering ved å klikke på ``hda'' for den første IDE-disken,\n"
+"``hdb'' for den andre eller ``sda'' for den første SCSI-disken osv.\n"
+"\n"
+"For å partisjonere den valgte harddisken kan du bruke disse valgene:\n"
+"\n"
+" * \"%s\": dette valget sletter alle partisjoner tilgjengelig på den valgte "
+"harddisken.\n"
+"\n"
+" * \"%s\": dette valget lar deg automatisk opprette ext3 og\n"
+"swappartisjoner på din harddisk's ledige plass.\n"
+"\n"
+"\"%s\": gir deg tilgang til ekstra finesser:\n"
+"\n"
+" * \"%s\":lagrer partisjonstabellen din på en diskett. Nyttig hvis "
+"partisjonen\n"
+"trengs å gjenopprettes senere. Det anbefales på det sterkeste at du utfører "
+"dette trinn.\n"
+"\n"
+" * \"%s\": gir deg muligheten til å gjenopprette en tidligere lagret "
+"partisjonstabell\n"
+"fra en diskett.\n"
+"\n"
+" * \"%s\": hvis partisjonstabellen din er skadet kan du forsøke å redde den "
+"ved å\n"
+"bruke dette valget. Vær forsiktig og husk at det kan gå galt.\n"
+"\n"
+" * \"%s\": ignorerer alle forandringer og laster inn harddiskens "
+"opprinnelige\n"
+"partisjonstabell på nytt.\n"
+"\n"
+" * \"%s\": ved å sjekke vekk dette valget, så vil brukere bli nødt til å "
+"manuelt montere\n"
+"og avmontere flyttbare medium som disketter og CDer.\n"
+"\n"
+" * \"%s\": bruk dette valget om du vil bruke en veiviser for å partisjonere\n"
+"harddisken din. Dette er anbefalt om du ikke har gode nok kunnskaper om\n"
+"partisjonering.\n"
+"\n"
+" * \"%s\": du kan bruke dette valget til å forkaste endringene dine.\n"
+"\n"
+" * \"%s\": gir deg ekstra valg under partisjoneringen (type, instillinger, "
+"format)\n"
+"og gir deg mere informasjon om harddisken.\n"
+"\n"
+" * \"%s\": når du er ferdig med å partisjonere harddisken din, så bruk dette "
+"valget\n"
+"for å lagre endringene dine på disken.\n"
+"\n"
+"Når du definerer størrelsen på en partisjon, så kan du finjustere størrelsen "
+"med\n"
+"piltastene på tastaturet ditt.\n"
+"\n"
+"Merk: du kan nå valgene ved å bruke tastaturet. . Naviger gjennom "
+"partisjonene ved å bruke [Tab] og [Opp/Ned]-piltastene.\n"
+"\n"
+"Når en partisjon er valgt kan du bruke:\n"
+"\n"
+" * Ctrl-c for å opprette en ny partisjon (når en tom partisjon er valgt).\n"
+"\n"
+" * Ctrl-d for å slette en partisjon.\n"
+"\n"
+" * Ctrl-m for å sette monteringspunktet.\n"
+"\n"
+"For å få informasjon om de forskjellige filsystemene som er tilgjengelige,\n"
+"vennlist les ext2FS-kapittelet fra ``Reference Manual''.\n"
+"\n"
+"Hvis du installerer på en PPC-maskin, så vil du nok lage en liten\n"
+"HFS-'bootstrap-partisjon' på minst en megabyte for bruk av\n"
+"yaboot-oppstartslasteren. Hvis du ønsker å lage partisjonen litt større,\n"
+"la oss si 50 MB, så kan du lagre en ekstra kjerne og ramdiskbilde for "
+"nødsituasjoner."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontering av fjernbart media"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Skift mellom normal-/ekspert-modus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mer enn en Microsoft Windows-partisjon har blitt oppdaget på harddisken "
+"din.\n"
+"Velg den du ønsker å endre størrelsen på for å installere ditt nye\n"
+"Mandriva Linux-operativsystem.\n"
+"\n"
+"Hver partisjon er listet som følger: \"Linux-navn\",\n"
+" \"Windows-navn\", \"Kapasitet\".\n"
+"\n"
+"\"Linux-navn\" er kodet som følger: \"harddisktype\", \"harddisknummer\",\n"
+"\"partisjonsnummer\" (f.eks., \"hda1\").\n"
+"\n"
+"\"Harddisktype\" er \"hd\" hvis harddisken din er en IDE harddisk og\n"
+"\"sd\" hvis det er en SCSI harddisk.\n"
+"\n"
+"\"Harddisknummer\" er alltid en bokstav etter \"hd\" eller \"sd\". Med\n"
+"IDE-harddisker:\n"
+"\n"
+" * \"a\" betyr \"master-harddisk på primær IDE kontroller\",\n"
+"\n"
+" * \"b\" betyr \"slave-harddisk på primær IDE kontroller\",\n"
+"\n"
+" * \"c\" betyr \"master-harddisk på sekundær IDE kontroller\",\n"
+"\n"
+" * \"d\" betyr \"slave-harddisk på sekundær IDE kontroller\".\n"
+"\n"
+"Med SCSI-harddisker betyr en \"a\" en \"primær harddisk\", en \"b\" betyr "
+"\"sekundær harddisk\", osv.\n"
+"\n"
+"\"Windows-navn\" er bokstaven på harddisken din under Windows (den første\n"
+"disken eller partisjonen er kalt \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: Sjekk ditt valg av land. Dersom du ikke befinner deg i dette landet,\n"
+"klikk på «%s»-knappen og velg et annet. Dersom ditt land ikke er i\n"
+"den første lista, klikk på «%s»\"-knappen for å få den fullstendige lista\n"
+" over land."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Dette trinnet blir bare aktivert dersom det blir funnet en eksisterende\n"
+"GNU/Linux-partisjon på maskinen din.\n"
+"\n"
+"DrakX trenger nå å vite om du vil utføre en ny installasjon eller en "
+"oppgradering\n"
+"av et eksisterende Mandriva Linux-system:\n"
+"\n"
+" * «%s»: Dette vil stort sett slette hele det gamle systemet. Dersom du\n"
+"ønsker å forandre hvordan harddiskene blir partisjonert, eller forandre på\n"
+"filsystemene, bør du velge dette. Men avhengig av hvordan du partisjonerer "
+"kan\n"
+"du avverge at noen av de gamle dataene blir overskrevet.\n"
+"\n"
+" * «%s»: Denne installasjonsklassen lar deg oppgradere pakkene som\n"
+"er installert på ditt nåværende Mandriva Linux-system. Dine nåværende\n"
+"partisjonsoppdelinger og brukerdata blir ikke berørt. De fleste andre "
+"oppsettstrinn\n"
+"forblir tilgjengelige, i likhet med en standard installasjon.\n"
+"\n"
+"«Oppgrader»-valget bør fungere fint på Mandriva Linux systemer som kjører\n"
+"versjon «8.1» eller nyere. Oppgradering av versjoner tidligere enn «8.1» er\n"
+" ikke anbefalt. "
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Avhengig av standardspråket du har valgt, vil DrakX automatisk velge\n"
+"et tilsvarende tastaturoppsett. Sjekk at valget passer deg, eller velg\n"
+"et annet tastaturoppsett.\n"
+"\n"
+"Det kan også hende at du ikke har et tastatur som passer presist \n"
+"til ditt språk.\n"
+"Hvis du for eksempel er en engelsktalende sveitsisk person, kan\n"
+"det være at du har et sveitsisk tastatur, eller hvis du snakker engelsk, "
+"men\n"
+"oppholder deg i Quebec så kan du finne deg i den samme situasjonen hvor\n"
+"ditt eget språk og tastatur ikke stemmer overens. I slike tilfeller vil "
+"dette\n"
+"installasjonstrinnet la deg velge et passende tastatur fra en liste.\n"
+"\n"
+"Klikk på «%s»-knappen for å få en komplett liste over støttede tastaturer.\n"
+"\n"
+"Hvis du velger et tastatur som ikke er basert på det latinske alfabetet,\n"
+"vil den neste dialogen tillate at du setter opp en tastekombinasjon\n"
+"som vil bytte mellom latin og ikke-latinsk tastaturoppsett."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Det første trinnet er å velge ditt foretrukne språk.\n"
+"\n"
+"Ditt valg av foretrukket språk vil påvirke språket til dokumentasjonen,\n"
+"installasjonsrutinen og systemet generelt. Velg først regionen du befinner\n"
+"deg i, og deretter språket du bruker.\n"
+"\n"
+"Om du klikker på «%s»-knappen får du mulighet til å velge andre\n"
+"språk som du ønsker å installere på din arbeidsstasjon. Du installerer da\n"
+"samtidig de språkspesifikke filene for systemdokumentasjon og\n"
+"applikasjoner. Hvis du ønsker norsk som standardspråk, men også\n"
+"ønsker å tilrettelegge for spanske brukere på maskinen, kan du velge\n"
+"norsk som standardspråk i trevisningen, og «%s» i det avanserte avsnitt.\n"
+"\n"
+"Om UTF-8 (ISO 10646) støtte. ISO 10646 er en ny tegnsettskoding det\n"
+"er ment til å dekke alle eksisterende språk. Men full støtte for det i GNU/"
+"Linux er\n"
+"stadig under utvikling. Av denne grunnen vil Mandriva Linux bruke det\n"
+"eller ei avhengig av brukerens valg:\n"
+"\n"
+" * Hvis du velger et språk med sterk binding til gammel kodnng (latin1-\n"
+"språk, russisk, japansk, kinesisk, koreansk, thai, gresk, tyrkisk, de "
+"fleste\n"
+"ISO-8859-2-språk) vil den gamle kodingen bli brukt som standard;\n"
+"\n"
+"Andre språk vil bruke ISO 10646 som standard;\n"
+"\n"
+" * Hvis to eller flere språk er krevd, og ikke disse språk bruker samme "
+"koding,\n"
+"vil ISO 10646 bli brukt for hele systemet;\n"
+"\n"
+" * Endelig kan ISO 10646 også bli påtvunget systemet ved brukervalg\n"
+"ved å velge '%s'-valget uavhengig av hvilke språk som er valgt.\n"
+"\n"
+"Legg merke til at du ikke er begrenset til et enkelt tilleggsspråk. Du\n"
+"kan velge flere, eller til og med alle ved å sjekke av i «%s»-boksen.\n"
+"Valg av språkstøtte betyr at oversettelser, skrifttyper, stavekontroller,\n"
+"osv. for språket også vil bli installert.\n"
+"\n"
+"For å bytte mellom de installerte språkene på systemet, kan du starte\n"
+"programmet «/usr/sbin/localedrake» som «root» for å bytte språket som\n"
+"systemet bruker. Dersom dette programmet kjøres under en vanlig bruker,\n"
+"vil bare språket for denne brukeren endres."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX oppdager vanligvis antall knapper på musen din. Hvis ikke, så vil det\n"
+"antas at du har en to-knappers mus og det vil settes opp treknappers-"
+"emulering.\n"
+"Den tredje museknappen kan på en toknappers-mus bli brukt ved å\n"
+"trykke ned både høyre og venstre museknapp samtidig. DrakX vil\n"
+"automatisk oppdage om din mus bruker PS/2-, seriell- eller USB-grensesnitt.\n"
+"\n"
+"Hvis du har en 3-knappsmus uten hjul, kan du velge musen\n"
+"«%s». DrakX vil så konfugurere musen din så du kan simulere hjulet med den;\n"
+"for å gjøre dette skal du trykke på den tredje knappen og flytte musen din\n"
+"opp og ned.\n"
+"\n"
+"Hvis du ønsker å spepesifisere en annerledes musetype, velg den passende\n"
+"typen fra listen du blir vist.\n"
+"\n"
+"Du kan velge «%s» eller velge en ``generisk\" mus-type som vil fungere\n"
+"med alle mus.\n"
+"\n"
+"Hvis du velger en annen mus enn hva som er forhåndsvalgt, så vil en\n"
+"testskjerm bli vist. Bruk knappene og musehjulet for å sjekke at\n"
+"oppsettet er riktig, og at musa virker ordentlig. Hvis musa ikke virker "
+"riktig,\n"
+"trykk [Space] eller [Enter] for å avbryte testen og gå tilbake til listen "
+"over valg.\n"
+"\n"
+"Noen ganger så blir ikke musehjulet automatisk oppdaget. Du vil da måtte\n"
+"velge manuelt fra listen. Vær sikker på at du velger en som er på riktig "
+"port.\n"
+"Etter at du har klikket på «%s»-knappen, så vil et musebilde bli vist på "
+"skjermen.\n"
+"Du må da bevege musehjulet for å aktivere det riktig. Når du ser at "
+"musehjulet på\n"
+"skjermen beveges etter som du ruller på det, sjekk også at knappene fungerer "
+"og\n"
+"at musepekeren på skjermen beveger seg når du flytter på musa."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Alle PS/2- & USB-mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Velg den riktige porten. F.eks., \"COM1\"-porten under\n"
+"Windows blir kalt \"ttyS0\" i GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Dette er det mest kritisike valget med hensyn til sikkerheten på ditt\n"
+"GNU/Linux-system: du må skrive inn «root»-passordet. «Root» er\n"
+"systemadministratoren og er den eneste som er autorisert til å gjøre\n"
+"oppdateringer, legge til brukere, endre på generellt oppsett, etc.\n"
+"Kort sagt, «root» kan gjøre alt! Derfor er det viktig at du velger et\n"
+"root-passord som er vanskelig å gjette -- DrakX vil si i fra hvis det er\n"
+"for enkelt. Som du ser, så kan du velge å ikke skrive inn noe passord,\n"
+"men det er noe vi anbefaler på det sterkeste å ikke gjøre. Man kan lage\n"
+"feil på GNU/Linux så lett som på ethvert annet operativsystem.\n"
+"Siden «root» kan omgå alle begrensninger og ved uhell kan slette\n"
+"alle data på en partisjon ved ubetenksomt bare å røre partisjonene selv,\n"
+"så er det viktig å gjøre det vanskelig å bli «root».\n"
+"\n"
+"Passordet bør være en blanding av alfanummeriske tegn og være på minst 8\n"
+"tegn. Aldri skriv ned «roo»\"-passordet -- det gjør det for enkelt å bryte "
+"seg\n"
+"inn på systemet ditt. \n"
+"\n"
+"Uansett -- du bør ikke lage passordet for langt og komplisert siden du må \n"
+"være i stand til å huske det uten altfor mye trøbbel.\n"
+"\n"
+"Passordet vil ikke bli vist på skjermen når du skriver det. Dermed må du\n"
+"skrive inn passordet to ganger for å minske sjansen for å skrive feil. Hvis\n"
+"du klarer å skrive passordet feil to ganger, så må dette ``feilaktige'' "
+"passordet\n"
+"bli brukt første gang du logger inn.\n"
+"\n"
+"Hvis du ønsker å autentisere deg via en autentiserings-tjener, klikk på\n"
+"«%s»-knappen.\n"
+"\n"
+"Hvis nettverket ditt bruker enten LDAP-, NIS- eller PDC Windows-\n"
+"domenepåloggingstjeneste, så velg det tilsvarende til\n"
+"«%s». Har du ingen anelse, så spørr nettverksadministratoren din.\n"
+"\n"
+"Hvis du skulle ha problemer med å huske passord, hvis maskinen din aldri "
+"vil\n"
+"brukes for å koble til internett, eller at du stoler på absolutt alle som "
+"bruker din\n"
+"maskin, så kan du velge «%s»."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentisering"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"En oppstartslaster er et lite program som er startet av datamaskinen\n"
+"når den starter opp. Den er ansvarlig for å starte hele systemet. Vanligvis\n"
+"er oppstartslaster-installasjonen helt automatisk. DrakX vil analysere\n"
+"oppstartssektoren på harddisken og sette oppstartslasteren opp etter hva\n"
+"den finner der.\n"
+"\n"
+" * Hvis en oppstartssektor for Windows blir funnet, vil den erstatte denne "
+"med\n"
+"en GRUB- eller LILO-oppstartsektor. På denne måten kan du laste enten\n"
+"GNU/Linux eller ethvert annet operativsystem installert på din maskin.\n"
+"\n"
+" * Hvis en oppstartsektor for GRUB eller LILO blir funnet, vil den bli "
+"erstattet\n"
+"med en ny.\n"
+"\n"
+"Dersom det ikke er mulig å avgjøre dette automatisk, vil DrakX spørre deg "
+"hvor\n"
+"oppstartslasteren skal installeres. Vanligvis er «%s» det sikreste stedet.\n"
+"Valg av «%s» vil ikke installere noen oppstartslaster. Bruk kun dette\n"
+"hvis du vet hva du gjør."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nå er det på tide å velge utskriftsystemet for din maskin. Andre\n"
+"operativsystemer tilbyr kanskje en, men Mandriva Linux tilbyr to.\n"
+"Hvert av systemene er best for et spesiell type oppsett.\n"
+"\n"
+" * «%s» -- som står for ``print, do not queue'', er valget hvis du har en\n"
+"direkte tilkobling til din printer og du vil ha muligheten til å flykte fra\n"
+"printerkræsj, og du ikke har nettverksskrivere. («%s» vil bare håndtere\n"
+"veldig enkle nettverkstilfeller og er nogenlunde treg for nettverk.) Det er\n"
+"anbefalt at du bruker «pdq» hvis dette er din første erfaring med GNU/"
+"Linux.\n"
+"\n"
+" * «%s» står for ``Common Unix Printing System'', er perfekt til å skrive "
+"til\n"
+"din egen lokale skriver, og også til skrivere på andre siden av kloden.\n"
+"Den er simpel og kan opptrå som både skriver og klient for det "
+"forhistoriske\n"
+"«lpd»-utskriftssystemet, så den er kompatibel med de eldre operativsystemer\n"
+"som fortsatt trenger utskriftstjenester. Selv om den er ganske kraftig, så "
+"er\n"
+"basisoppsettet nesten like enkelt som «pdq». Hvis du trenger å emulere en\n"
+"«lpd»-tjener, må du slå på «cups-lpd»-tjenesten. «%s» inkluderer et grafisk "
+"grensesnitt for utskrift eller oppsett av skriver og styring av skriver.\n"
+"\n"
+"Hvis du gjør et valg nå, og så senere finner ut at du ikke liker ditt "
+"utskriftssystem,\n"
+"så kan du endre det ved å kjøre PrinterDrake fra Mandriva Linux "
+"Kontrollsenter og\n"
+"klikke på «%s»-knappen. "
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX vil nå oppdage alle IDE-enheter som er tilstede på ditt system. Det\n"
+"vil også scanne etter en eller flere PCI SCSI-kort på systemet ditt. Hvis "
+"et\n"
+"SCSI-kort er tilstede, så vil DrakX automatisk installere den passende "
+"driveren.\n"
+"\n"
+"På grunn av at maskinvareoppdagelse ikke er feilfritt, så kan det være at\n"
+"DrakX ikke klarer å oppdage dine harddisker. Hvis dette skjer, så må du\n"
+"spesifisere din maskinvare for hånd.\n"
+"\n"
+"Hvis du må spesifisere PCI SCSI-kontrolleren din manuelt, så vil DrakX\n"
+"spørre deg om å gjøre noen valg for det. Du burde tillate DrakX å teste\n"
+"maskinvaren for kort-spesifikke valg som trengs for å initialisere\n"
+"maskinvaren. Som regel så vil DrakX klare å gå igjennom dette steget uten\n"
+"problemer.\n"
+"\n"
+"Hvis DrakX ikke er i stand til å oppdage de riktige parametrene som trengs\n"
+"for din maskinvare, så må du manuelt sette opp driveren."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: hvis et lydkort blir oppdaget på systemet ditt, blir det vist her.\n"
+"Hvis du oppdager at lydkortet som blir vist her ikke er det som\n"
+"faktisk er til stede på ditt system, så kan du klikke på denne knappen for\n"
+"å velge en annen driver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Som en oppsummering vil DrakX gi deg en oversikt over informasjon som\n"
+"den har om systemet ditt. Avhengig av installert maskinvare, kan du ha et\n"
+"eller flere av de følgende punktene. Hvert punkt består av en overskrift "
+"fulgt\n"
+"av en kort oppsummering av det nåværende oppsettet. Klikk på\n"
+"den korresponderende «%s»-knappen for å endre på det.\n"
+"\n"
+" * «%s»: sjekk ditt gjeldende tastaturoppsett og endre om nødvendig.\n"
+"\n"
+" * «%s»: sjekk ditt gjeldende valg av land. Hvis du ikke er i dette landet,\n"
+"klikk på «%s»-knappen og velg et annet land. Hvis landet ditt ikke er i\n"
+"den først viste listen, klikk «%s»-knappen for å få en fullstendig liste "
+"over land.\n"
+"\n"
+" ' «%s»\": som standard bestemmer DrakX din tidssone ut i fra hvilket land "
+"du\n"
+"har valgt. Du kan klikke på «%s»-knappen her om dette ikke er korrekt.\n"
+"\n"
+" * «%s» :sjekk det gjeldende museoppsettet og klikk på knappen for å endre\n"
+"om nødvendig.\n"
+"\n"
+" * «%s»: ved å klikke på «%s»-knappen åpnes skriveroppsett-veiviseren.\n"
+"Konsulter det tilhørende kapittelet i oppstartsguiden for mer\n"
+"informasjon om hvordan en skriver kan settes opp. Grensesnittet som er vist\n"
+"der er likt det som benyttes under installasjonen.\n"
+"\n"
+" * \"%s\": hvis det er funnet et lydkort i ditt system, er det vist her. "
+"Hvis du\n"
+"finner ut at lydkortet som er vist ikke stemmer overens med det som faktisk "
+"er\n"
+"installert i din maskin, kan du klikke på knappen og velge en annen driver.\n"
+"\n"
+" * «%s»: hvis du har ett TV-kort, dette er der informasjonen om oppsettet "
+"til det\n"
+"vil blir vist. Hvis du har et TV-kort og det ikke er oppdaget, klikk på «%"
+"s»\n"
+"for å forsøke å sette det opp manuelt\n"
+"\n"
+" * «%s»: Du kan klikke på «%s» for å forandre parameterene til kortet hvis "
+"du\n"
+"syntes at oppsettet er feil.\n"
+"\n"
+" * «%s»: Vanligvis setter DrakX opp ditt grafiske grensesnitt i\n"
+"«800x600» eller «1024x768» oppløsning. Hvis det ikke er det du vil ha\n"
+"klikk på «%s« for å sette opp ditt grafiske grensesnitt.\n"
+"\n"
+" * «%s»: hvis du vil sette opp din internett- eller lokale "
+"nettverkstilkobling\n"
+"kan du gjøre det nå. Sjekk den utskrevne dokumentasjonen eller bruk\n"
+"Mandriva Linux Kontrollsenter etter at installasjonen er ferdig for å\n"
+"få full hjelp med oppsettet.\n"
+"\n"
+" * «%s»: lar deg sette opp HTTP og FTP mellomtjener-adresser hvis maskinen\n"
+"du installerer på er bak en mellomtjener.\n"
+"\n"
+" * «%s»: dette valget lar deg omdefinere sikkerhetsnivået som ble satt i et "
+"tidligere\n"
+"steg ().\n"
+"\n"
+" * «%s»: hvis du planlegger å koble din maskin til internett er det en god "
+"idé\n"
+"å beskytte deg selv fra inntrengere ved å sette opp en brannmur. Se den\n"
+"korresponderende seksjonen i ``Starter Guiden\" for detaljer om brannmur\n"
+"innstillinger.\n"
+"\n"
+" * «%s»: dersom du ønsker å endre ditt oppstartslaster-oppsett, klikk på "
+"denne\n"
+"knappen. Dette er kun for avanserte brukere. Sjekk den utskrevne "
+"dokumentasjonen\n"
+"eller innebygd hjelp om oppstartslaster-oppsettet i Mandriva Linux "
+"Kontrollsenter.\n"
+"\n"
+" * «%s»: igjennom dette valget kan du finjustere hvilke tjenester som skal "
+"kjøre på din\n"
+"maskin. Hvis du planlegger å bruke maskinen som en tjener er det en god ide "
+"å se\n"
+"igjennom dette."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grensesnitt"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Velg den harddisken du ønsker å slette for å installere din nye\n"
+"Mandriva Linux-partisjon. Vær forsiktig, alle data på denne partisjonen vil "
+"gå tapt\n"
+"og vil ikke kunne gjenopprettes!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klikk på \"%s\" hvis du ønsker å slette alle data og partisjoner på denne\n"
+"harddisken. Vær forsiktig, etter at du har klikket på \"%s\" vil du ikke\n"
+"kunne gjenopprette data og partisjoner på denne harddisken inkludert Windows-"
+"data.\n"
+"\n"
+"Klikk på \"%s\" for å avslutte denne operasjonen uten å miste data og\n"
+"partisjoner på denne harddisken."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Neste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Forrige"
+
diff --git a/perl-install/install/help/po/nl.po b/perl-install/install/help/po/nl.po
new file mode 100644
index 000000000..a6a878542
--- /dev/null
+++ b/perl-install/install/help/po/nl.po
@@ -0,0 +1,2006 @@
+# translation of DrakX-nl.po to Nederlands
+# Dutch translation of DrakX.
+# Copyright (C) 2000, 2005 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Niels Gras <niels.gras@wanadoo.nl>, 2000.
+# Jeroen ten Berge <j.ten.berge@twinbit.nl>, 2002.
+# Reinout van Schouwen <reinout@cs.vu.nl>, 2002-2005.
+# Peter Bosch <peter.bosch@hccnet.nl>, 2002.
+# Rob Teng <mandrake.tips@free.fr>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-nl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-20 00:24+0200\n"
+"Last-Translator: Reinout van Schouwen <reinout@cs.vu.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Voordat u verdergaat dient u eerst de voorwaarden in de licentie\n"
+"aandachtig te lezen. Zij beslaan de gehele Mandriva Linux distributie.\n"
+"Indien u akkoord gaat met alle voorwaarden erin kruist u het\n"
+"\"%s\"-vakje aan. Zoniet, dan zal het klikken van de \"%s\"-knop\n"
+"uw computer herstarten."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux is een multi-gebruikerssysteem, dit betekent dat iedere "
+"gebruiker \n"
+"haar eigen voorkeuren, bestanden enzovoort kan hebben. U kunt de \n"
+"''Beginnershandleiding'' lezen om hierover meer te weten te komen. Maar \n"
+"in tegenstelling tot \"root\", de beheerder, zullen de gebruikers die\n"
+"u hier toevoegt geen recht hebben om iets te veranderen behalve hun eigen \n"
+"bestanden en hun eigen configuratie, waarmee het systeem beschermd wordt \n"
+"tegen onbedoelde danwel kwaadwillende veranderingen die het systeem als\n"
+"geheel beïnvloeden. U zult tenminste één algemene gebruiker voor \n"
+"uzelf aan moeten maken. Dit account behoort u voor de dagelijkse routine\n"
+"te gebruiken. Alhoewel het erg praktisch is om iedere dag als \"root\" \n"
+"aan te melden, om van alles en nog wat te doen, kan het ook erg gevaarlijk\n"
+"zijn! De kleinste vergissing kan ervoor zorgen dat uw hele systeem niet\n"
+"meer werkt. Wanneer u een grote vergissing maakt als een gewone\n"
+"gebruiker, zou u in het ergste geval sommige gegevens kunnen\n"
+"verliezen, maar niet het hele systeem beschadigen.\n"
+"\n"
+"Het eerste veld is voor uw echte naam in. Dit is uiteraard niet verplicht -\n"
+"u kunt alles invoeren wat u wilt. DrakX neemt dan het eerste woord dat u\n"
+"had ingevuld en brengt het over naar het veld \"%s\". Met deze\n"
+"naam kan de betreffende gebruiker zich aanmelden op het systeem. \n"
+"Desgewenst kunt u de voorgestelde gebruikersnaam veranderen.\n"
+"De volgende stap is het invoeren van een wachtwoord. Het \n"
+"wachtwoord van een (gewone) gebruiker zonder privileges is niet zo \n"
+"cruciaal als dat van de \"root\"-gebruiker vanuit veiligheidsperspectief, \n"
+"maar dat is geen reden om het te verwaarlozen door het leeg te laten of het\n"
+"te eenvoudig te maken: tenslotte staan uw bestanden op het spel.\n"
+"\n"
+"Wanneer u klikt op \"%s\", dan kunt u daarna andere \n"
+"gebruikers toevoegen. Voeg een gebruiker toe voor elk van uw \n"
+"bekenden, uw vader of uw zus bijvoorbeeld. Als u klaar bent met het \n"
+"toevoegen van gebruikers, klik dan op \"%s\".\n"
+"\n"
+"Klikken op de \"%s\"-knop stelt u in staat om de standaard\n"
+"\"shell\" voor een gebruiker te veranderen (standaard is dit bash).\n"
+"\n"
+"Wanneer u alle gebruikers hebt toegevoegd, dan wordt u gevraagd een \n"
+"gebruiker te kiezen die zich vanzelf aanmeldt wanneer de computer opstart.\n"
+"Indien u geïnteresseerd bent in deze functie (en lokale beveiliging niet\n"
+"zo belangrijk vindt), kies dan de gewenste gebruiker en werkomgeving en\n"
+"klik vervolgens op \"%s\". Wenst u deze functie niet, wis dan\n"
+"het kruisje bij het vakje \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Wilt u van deze mogelijkheid gebruik maken?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Hier zijn de bestaande Linuxpartities afgebeeld die op uw harde\n"
+"schijf gevonden zijn. U kunt de keuzes die gemaakt zijn door de wizard\n"
+"behouden, ze zijn goed voor de meeste doorsnee installaties.\n"
+"Indien u veranderingen maakt, moet u in ieder geval een root partitie\n"
+"(\"/\") definiëren. Kies een partitie niet te klein, anders zult u niet in\n"
+"staat zijn genoeg software te installeren. Indien u uw gegevens op een\n"
+"aparte partitie wilt bewaren, dient u tevens een \"/home\" partitie te\n"
+"creëren (alleen mogelijk wanneer er meer dan één Linux partitie\n"
+"beschikbaar is).\n"
+"\n"
+"Elke partitie is als volgt afgebeeld: \"Naam\", \"Capaciteit\".\n"
+"\n"
+"\"Naam\" is als volgt opgebouwd: \"type harde schijf\",\n"
+"\"harde schijf-teken\", \"partitienummer\" (bijvoorbeeld \"hda1\").\n"
+"\n"
+"\"Type harde schijf\" is \"hd\" als uw harde schijf van het IDE-type is en\n"
+"\"sd\" wanneer deze van het SCSI-type is.\n"
+"\n"
+"\"Harde schijf-teken\" is altijd een letter na \"hd\" of \"sd\". Voor IDE\n"
+"harde schijven:\n"
+"\n"
+" * \"a\" betekent \"master harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"b\" betekent \"slave harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"c\" betekent \"master harde schijf op de secundaire IDE controller\",\n"
+"\n"
+" * \"d\" betekent \"slave harde schijf op de secundaire IDE controller\".\n"
+"\n"
+"Bij SCSI harde schijven betekent een \"a\" \"laagste SCSI ID\",\n"
+"een \"b\" \"het op één na laagste SCSI ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"De Mandriva Linux-installatie is verdeeld over meerdere CD-ROMs. Als een \n"
+"geselecteerd pakket te vinden is op een andere CD-ROM, zal het \n"
+"installatieprogramma de huidige CD uitwerpen en u vragen om de\n"
+"correcte CD in te leggen. Mocht u de betreffende CD niet bij de hand "
+"hebben,\n"
+"klik dan gewoon op \"%s\", de corresponderende pakketten zullen dan niet\n"
+"worden geïnstalleerd."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Het is nu tijd om te bepalen welke programma's u op uw systeem\n"
+"wenst te installeren. Er zijn duizenden pakketten beschikbaar voor Mandriva\n"
+"Linux, en om het overzichtelijker te maken zijn de pakketten in groepen\n"
+"van vergelijkbare toepassingen geplaatst.\n"
+"\n"
+"Mandriva Linux sorteert groepen pakketten in vier categorieën.\n"
+"U kunt de toepassingen uit de verschillende categorieën uitkiezen\n"
+"en samenvoegen naar eigen inzicht, zodat een ``Werkstation''-installatie\n"
+"nog steeds toepassingen geïnstalleerd kan hebben uit de ``Server''\n"
+"categorie.\n"
+"\n"
+"* \"%s\": indien u van plan bent uw computer als werkstation te\n"
+"gaan gebruiken, selecteer dan één of meer van de groepen in de\n"
+"werkstation-categorie.\n"
+"\n"
+"* \"%s\": indien u van plan bent om uw computer voor programmeren\n"
+"te gebruiken, kiest u de gewenste groepen uit die categorie.\n"
+"De speciale \"LSB\"-groep configureert uw systeem zodanig dat het\n"
+"zoveel mogelijk tegemoetkomt aan de specificaties van de Linux\n"
+"Standard Base.\n"
+"\n"
+" Het selecteren van de \"LSB\" groep zal tevens de \"2.4\" kernelserie,\n"
+"installeren, in plaats van de standaard \"2.6\". Dit is om het systeem \n"
+"100%% te laten voldoen aan de LSB. Als u de \"LSB\"-groep niet selecteert\n"
+"dan heeft u nog steeds een systeem dat bijna 100%% voldoet aan de LSB.\n"
+"\n"
+"* \"%s\": als de computer bestemd is voor server-doeleinden, dan\n"
+"kunt u aangeven welke van de meest voorkomende diensten u op uw\n"
+"computer wilt installeren.\n"
+"\n"
+"* \"%s\": dit is waar u uw voorkeur voor een grafische\n"
+"omgeving kunt aangeven. Tenminste één moet geselecteerd zijn als u een\n"
+"grafische werkomgeving wilt hebben.\n"
+"\n"
+"Bij het bewegen van de muispijl boven een groepnaam zal er een korte "
+"verklarende tekst over die groep getoond worden. \n"
+"\n"
+"U kunt het \"%s\"-vakje aankruisen, wat nuttig is wanneer u bekend bent \n"
+"met de aangeboden pakketten of wanneer u volledige controle wilt hebben \n"
+"over wat er geïnstalleerd wordt.\n"
+"\n"
+"Indien u de installatie in \"%s\"-modus start, dan kunt u alle groepen\n"
+"deselecteren en voorkomen dat er enige nieuwe pakketten geïnstalleerd\n"
+"worden. Dit kan van pas komen bij het repareren of bijwerken van een \n"
+"bestaand systeem.\n"
+"\n"
+"Indien u alle groepen deselecteert bij het uitvoeren van een reguliere\n"
+"installatie (in tegenstelling tot opwaarderen), dan zal een dialoogvenster\n"
+"verschijnen met verscheidene opties voor een minimale installatie:\n"
+"\n"
+" * \"%s\": installeert zo min mogelijk pakketten met behoud van een werkende "
+"grafische werkomgeving.\n"
+" \n"
+" * \"%s\" installeert het basissysteem plus algemene hulpprogramma's\n"
+"en bijbehorende documentatie. Deze installatie is geschikt om een\n"
+"server mee in te richten.\n"
+"\n"
+" * \"%s\" zal het absolute minimum installeren dat nodig is\n"
+"om een werkend Linux-systeem te verkrijgen. Met deze installatie\n"
+"zult u slechts een opdrachtregelinterface hebben.\n"
+"Deze installatie is in totaal ongeveer 65 megabyte groot."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Opwaardering"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Met basis-documentatie"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Zeer minimale installatie"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Afhankelijk van uw keus om al dan niet individuele pakketten\n"
+"te selecteren, zal het installatieprogramma u een boom tonen die alle\n"
+"pakketten bevat, geclassificeerd in groepen en subgroepen. Terwijl u door\n"
+"de boom bladert, kunt u gehele groepen, subgroepen of individuele pakketten\n"
+"selecteren.\n"
+"\n"
+"Wanneer u een pakket in de boom selecteert, verschijnt een beschrijving\n"
+"aan de rechterkant om u te informeren over het doel van het pakket.\n"
+"\n"
+"!! Als een server-pakket geselecteerd is, ofwel omdat u dat pakket\n"
+"specifiek gekozen heeft ofwel omdat het onderdeel is van een hele groep\n"
+"pakketten, zal u gevraagd worden om te bevestigen dat u deze servers echt\n"
+"wilt installeren. Onder Mandriva Linux worden alle geïnstalleerde servers\n"
+"standaard ingeschakeld tijdens het opstarten. Zelfs wanneer zij veilig\n"
+"zijn en geen bekende beveiligingsgebreken hadden op het moment dat de\n"
+"distributie werd uitgebracht, kan het gebeuren dat beveiligingsfouten\n"
+"ontdekt worden nadat deze versie van Mandriva Linux afgemaakt werd.\n"
+"Indien u niet weet wat een bepaalde dienst geacht wordt te doen of waarom\n"
+"deze geïnstalleerd wordt, klikt u dan \"%s\". Klikken op \"%s\" zal\n"
+"de getoonde diensten installeren en ze zullen automatisch worden\n"
+"ingeschakeld tijdens het opstarten van de computer. !!\n"
+"\n"
+"De \"%s\"-optie schakelt het\n"
+"waarschuwingsvenster uit dat verschijnt wanneer het installatieprogramma\n"
+"automatisch een pakket selecteert om een afhankelijkheid te vervullen.\n"
+"Sommige pakketten zijn afhankelijk van andere en de installatie van\n"
+"het ene pakket vereist dan de installatie van een ander pakket. Het\n"
+"installatieprogramma kan uitzoeken welke pakketten benodigd zijn\n"
+"om een afhankelijkheid te vervullen om de installatie succesvol te\n"
+"voltooien.\n"
+"\n"
+"Het kleine diskette-pictogram onderaan de lijst stelt u in staat de\n"
+"pakketten-lijst te laden die tijdens een eerdere installatie gekozen was.\n"
+"Als u klikt op dit pictogram zal u gevraagd worden een diskette in het\n"
+"diskettestation te plaatsen welke gecreëerd was aan het eind van een\n"
+"andere installatie. Zie de tweede tip van de laatste stap over hoe u een\n"
+"dergelijke diskette aanmaakt."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatische afhankelijkheden"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": klikken op de \"%s\"-knop zal de printerconfiguratie-\n"
+"wizard openen. Raadpleeg het overeenkomstige hoofdstuk uit de ``Beginners-\n"
+"handleiding'' voor meer informatie over het instellen van een nieuwe "
+"printer.\n"
+"De in onze handleiding getoonde interface lijkt sterk op degene gebruikt\n"
+"tijdens de installatie."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"In dit dialoogvenster kunt u kiezen welke diensten u wenst te starten\n"
+"tijdens de opstartfase van uw computer.\n"
+"\n"
+"Het installatieprogramma toont alle diensten die beschikbaar zijn in de "
+"huidige\n"
+"installatie. Kijk ze aandachtig na en de-selecteer degenen die niet \n"
+"nodig zijn bij het opstarten.\n"
+"\n"
+"Een korte verklarende tekst wordt gegeven over een dienst bij de selectie\n"
+"ervan. Wanneer u niet zeker bent of een dienst nuttig is of niet,\n"
+"dan is het veiliger om de standaardinstelling over te nemen.\n"
+"\n"
+"!! Wees vooral voorzichtig in deze stap als u uw machine als server \n"
+"wilt gebruiken: u zult waarschijnlijk de diensten die u niet nodig heeft\n"
+"niet willen starten. Onthoudt dat een aantal diensten riskant kunnen\n"
+"zijn indien ze geactiveerd zijn op een server. In het algemeen geldt: kies\n"
+"alleen de diensten die u echt nodig heeft. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux houdt de tijd bij in GMT (Greenwich Mean Time) en vertaalt\n"
+"het naar lokale tijd volgens de tijdzone die u geselecteerd heeft. Als\n"
+"de klok op uw moederbord op lokale tijd is ingesteld, dan kunt u dit\n"
+"deactiveren door \"%s\" te deselecteren,\n"
+"hetgeen GNU/Linux laat weten dat de systeemklok en hardwareklok op\n"
+"dezelfde tijdzone staan. Dit is nuttig wanneer er op de computer nog\n"
+"een ander besturingssysteem staat.\n"
+"\n"
+"De \"%s\"-optie zal de klok automatisch\n"
+"bijstellen door verbinding te maken met een tijdsserver op internet.\n"
+"U dient een werkende internetverbinding hebben voordat deze functie\n"
+"werkt. Het is het beste om een tijdserver te kiezen die dichtbij is.\n"
+"Deze optie zorgt er tevens voor dat er een tijdserver op uw computer\n"
+"wordt geïnstalleerd die gebruikt kan worden door andere computers\n"
+"op uw lokale netwerk."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatische tijdssynchronisatie"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafische kaart\n"
+"\n"
+" Het installatieprogramma zal normaal gesproken de grafische kaart\n"
+"in uw computer automatisch vinden en configureren. Mocht dit niet\n"
+"het geval zijn, dan kunt u uit deze lijst de kaart kiezen die u\n"
+"daadwerkelijk heeft.\n"
+"\n"
+" In het geval dat er meerdere servers voor uw kaart beschikbaar zijn,\n"
+"met of zonder 3D-versnelling, dan wordt u gevraagd de server te kiezen\n"
+"die het best bij uw omstandigheden past."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (voor X Window System) is het hart van de grafische interface van GNU/\n"
+"Linux waarvan alle grafische omgevingen (KDE, GNOME, AfterStep, "
+"WindowMaker,\n"
+"etc.) die bij Mandriva Linux worden geleverd, afhankelijk zijn.\n"
+"\n"
+"U krijgt een lijst te zien van verschillende parameters die u kunt "
+"aanpassen\n"
+"om een optimale grafische weergave te verkrijgen:\n"
+"Grafische kaart\n"
+"\n"
+" Het installatieprogramma vindt normaal gesproken automatisch de \n"
+"grafische kaart in uw computer en configureert deze. Als dit niet het \n"
+"geval is, kunt u uit deze lijst de kaart kiezen die u daadwerkelijk heeft.\n"
+"\n"
+" In het geval dat er verschillende X-servers zijn voor uw kaart, met of\n"
+"zonder 3D-versnelling, dan wordt u voorgesteld om de server te kiezen die\n"
+"het beste bij uw omstandigheden past.\n"
+"\n"
+"\n"
+"\n"
+"Beeldscherm\n"
+"\n"
+" Het installatieprogramma kan normaal gesproken het aangesloten\n"
+"beeldscherm automatisch bespeuren en configureren. Als dit niet \n"
+"correct is, dan kunt u uit deze lijst de monitor kiezen die \n"
+"daadwerkelijk op uw computer is aangesloten.\n"
+"\n"
+"\n"
+"\n"
+"Resolutie\n"
+"\n"
+" U kunt hier de resolutie en kleurdiepte kiezen uit degenen die\n"
+"beschikbaar zijn voor uw apparatuur. Kies degene die het best bij uw\n"
+"omstandigheden past (u kunt dit na installatie evengoed wijzigen). Een\n"
+"voorbeeld van de gekozen configuratie wordt op het scherm getoond.\n"
+"\n"
+"\n"
+"\n"
+"Testen\n"
+"\n"
+" Afhankelijk van uw apparatuur kan het zijn dat dit item niet verschijnt.\n"
+"\n"
+" Het systeem zal trachten een grafisch scherm te openen in de gewenste\n"
+"resolutie. Wanneer u het bericht tijdens de test kunt zien en \"%s\"\n"
+"antwoordt, dan gaat de installatie door naar de volgende stap. Als u het \n"
+"bericht niet kunt zien, dan betekent dat dat een gedeelte van de gevonden\n"
+"configuratie niet klopt en zal de test automatisch na 12 seconden eindigen,\n"
+"waarmee u terugkomt in het menu. Pas de instellingen aan totdat u een "
+"correcte grafische weergave krijgt.\n"
+"\n"
+"\n"
+"\n"
+"Opties\n"
+"\n"
+" Hier kunt u kiezen of u uw computer automatisch wilt laten omschakelen\n"
+"naar een grafisch gebruiksoppervlak bij het opstarten. Vanzelfsprekend zult\n"
+"u \"%s\" willen aankruisen als uw computer gaat functioneren als server, of\n"
+"als u het niet gedaan kreeg het beeldscherm goed te configureren."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Het installatieprogramma kan normaal gesproken de aangesloten monitor\n"
+"automatisch bespeuren en configureren. Als dit niet correct is, dan kunt u\n"
+"uit deze lijst de monitor kiezen die werkelijk aan uw computer verbonden is."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolutie\n"
+"\n"
+" U kunt hier de resolutie en kleurdiepte kiezen uit degenen die\n"
+"beschikbaar zijn voor uw apparatuur. Kies degene die het best bij uw\n"
+"omstandigheden past (u kunt dit na installatie evengoed wijzigen). Een\n"
+"voorbeeld van de gekozen configuratie wordt op het scherm getoond."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"In het geval dat er verschillende servers beschikbaar zijn voor uw kaart,\n"
+"met of zonder 3D-versnelling, dan wordt u de keuze geboden voor de server\n"
+"die het beste bij uw omstandigheden past."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opties\n"
+"\n"
+"In deze stap kunt u kiezen of u wilt dat uw computer automatisch\n"
+"naar een grafische interface omschakelt bij het opstarten. Vanzelfsprekend\n"
+"wilt u \"%s\" aankruisen als uw machine als server moet dienen, of\n"
+"als u er niet in slaagde het beeld te configureren."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Op dit punt dient u te kiezen waar op uw harde schijf u uw Mandriva Linux\n"
+"besturingssysteem wilt installeren. Als uw harde schijf leeg is of als een\n"
+"ander besturingssysteem alle beschikbare ruimte inneemt, dan zult u\n"
+"de harde schijf moeten partitioneren. Partitioneren houdt in dat u uw harde\n"
+"schijf in logische stukken onderverdeelt om ruimte te creëren voor uw\n"
+"nieuwe Mandriva Linux besturingssysteem.\n"
+"\n"
+"Omdat de effecten van het partitioneringsproces over het algemeen niet\n"
+"terug te draaien zijn en kan leiden tot gegevensverlies als er reeds een\n"
+"besturingssysteem op de schijf geïnstalleerd is, kan partitioneren\n"
+"intimiderend en spannend zijn voor een onervaren gebruiker. Gelukkig is\n"
+"er een wizard die dit proces vereenvoudigt. Leest u de rest van dit\n"
+"hoofdstukje voordat u verder gaat en neemt u vooral de tijd.\n"
+"\n"
+"Afhankelijk van de configuratie van uw harde schijf, zijn er\n"
+"verscheidene opties beschikbaar:\n"
+"\n"
+" * \"%s\": deze optie zal leiden tot het automatisch\n"
+"partitioneren van uw lege schijf/schijven. Er worden u verder geen vragen\n"
+"gesteld bij deze optie.\n"
+"\n"
+" * \"%s\": de wizard heeft één of meer bestaande Linux-partities op \n"
+"uw harde schijf gevonden. Indien u deze wilt gebruiken, kiest \n"
+"u deze optie. Vervolgens zal u gevraagd worden de koppelpunten te\n"
+"kiezen die met elk van de partities geassocieerd zijn. De bestaande\n"
+"koppelpunten zijn standaard al geselecteerd en meestal is het het beste\n"
+"als u deze behoudt.\n"
+"\n"
+" * \"%s\": indien Microsoft Windows\n"
+"op uw harde schijf is geïnstalleerd en alle beschikbare ruimte in beslag "
+"neemt,\n"
+"dient u vrije ruimte te creëren voor GNU/Linux. Om dat te doen, kunt u\n"
+"uw Microsoft Windows-partitie en -gegevens wissen (zie het punt\n"
+"``Gehele schijf wissen'') of uw Microsoft Windows FAT- of NTFS-partitie\n"
+"verkleinen. Het aanpassen van de grootte kan bewerkstelligd worden zonder\n"
+"verlies van enige gegevens, vooropgesteld dat u eerst de Windows-partitie\n"
+"gedefragmenteerd heeft. Een reservekopie maken van uw gegevens is\n"
+"uitdrukkelijk aangeraden. Deze optie is aanbevolen indien u zowel\n"
+"Mandriva Linux als Microsoft Windows op dezelfde computer wilt gebruiken.\n"
+"\n"
+" Laat het goed tot u doordringen, voordat u deze optie kiest, dat uw\n"
+"Microsoft Windows partitie na afloop van deze procedure minder groot\n"
+"zal zijn dan hij nu is. U zult minder vrije ruimte hebben onder\n"
+"Microsoft Windows om uw gegevens op te slaan of om nieuwe software te\n"
+"installeren.\n"
+"\n"
+" * \"%s\": indien u alle gegevens en alle partities op uw\n"
+"harde schijf wilt verwijderen en vervangen door uw nieuwe Mandriva Linux-\n"
+"systeem, kiest u deze optie. Weest u voorzichtig met deze oplossing omdat u\n"
+"na bevestiging deze keuze niet meer ongedaan kunt maken.\n"
+"\n"
+" !! Als u deze optie kiest, zullen alle gegevens op uw schijf verloren "
+"gaan. !!\n"
+"\n"
+" * \"%s\": Deze optie verschijnt wanneer de harde schijf volledig in \n"
+"beslag genomen is door Microsoft Windows. Het kiezen van deze optie wist\n"
+"simpelweg alles op de schijf en begint van voren af aan met\n"
+"partitioneren.\n"
+"\n"
+" !! Als u deze optie kiest, zullen alle gegevens op uw schijf verloren "
+"gaan. !!\n"
+"\n"
+" * \"%s\": kies deze optie indien u handmatig\n"
+"uw harde schijf wenst te partitioneren. Weest u voorzichtig - het is een\n"
+"krachtige maar riskante keuze en u kunt erg gemakkelijk al uw gegevens\n"
+"kwijtraken. Derhalve is deze optie slechts aanbevolen indien u zoiets\n"
+"al eens eerder gedaan hebt en enige ervaring hebt. Voor meer instructies\n"
+"voor het gebruik van het DiskDrake-hulpprogramma zij u verwezen naar het\n"
+"hoofdstuk ``Uw partities beheren'' in de ``Beginnershandleiding''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Een bestaande partitie gebruiken"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Volledige harde schijf wissen"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Alstublieft. De installatieprocedure is voltooid en uw GNU/Linux-systeem\n"
+"is klaar voor gebruik. U hoeft alleen nog op \"%s\" te klikken om uw\n"
+"computer opnieuw te starten. Vergeet niet de installatiemedia (CD-ROM of \n"
+"diskette) te verwijderen. Het eerste dat u te zien krijgt nadat uw\n"
+"computer the apparatuurtests heeft afgerond is het opstartladermenu,\n"
+"dat u de keus geeft welk besturingssysteem te starten.\n"
+"\n"
+"De \"%s\"-knop toont twee extra knoppen voor:\n"
+"\n"
+" * \"%s\": om een installatiediskette aan te maken welke de gehele\n"
+"installatie automatisch zal uitvoeren zonder een\n"
+"toezichthouder, gelijkend op de installatie die u zojuist\n"
+"heeft geconfigureerd.\n"
+"\n"
+" Merk op dat er twee verschillende opties zijn na het aanklikken\n"
+" van deze knop:\n"
+"\n"
+" * \"%s\". Dit is een gedeeltelijk geautomatiseerde installatie.\n"
+"De partitioneringsstap is de enige interactieve procedure.\n"
+"\n"
+" * \"%s\". Volledig geautomatiseerde installatie: de harde\n"
+"schijf wordt volledig overschreven en alle gegevens erop raken verloren.\n"
+"\n"
+" Deze mogelijkheid is erg handig wanneer u een grote hoeveelheid\n"
+"soortgelijke computers installeert. Zie ook de Auto-installatie afdeling op\n"
+"onze webstek voor meer informatie.\n"
+"\n"
+" * \"%s\"(*): slaat de pakketlijst op zoals geselecteerd\n"
+"in deze installatie. Om deze selectie bij een andere installatie\n"
+"te gebruiken, plaatst u de diskette in het diskettestation en start u het\n"
+"installatieprogramma. Bij het opstartscherm drukt u op de [F1]-toets en\n"
+"voert u ''linux defcfg=\"floppy\" '' in en drukt u op de [Enter]-toets.\n"
+"\n"
+"(*) U heeft hiervoor een FAT-geformatteerde diskette nodig. Om er één te\n"
+"maken onder GNU/Linux, typt u \"mformat a:\" of \"fdformat /dev/fd0\" \n"
+"gevolgd door \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Auto-installatiediskette aanmaken"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Indien u kiest om enkele bestaande GNU/Linux-partities te hergebruiken, \n"
+"wenst u wellicht om enkele ervan opnieuw te formatteren en alle gegevens\n"
+"die erop staan te wissen. Om dit te doen, dient u de partities waar het\n"
+"om gaat ook te selecteren.\n"
+"\n"
+"Merk op dat het niet nodig is om alle reeds bestaande partities te\n"
+"herformatteren. U dient de partities waar het besturingssysteem op\n"
+"staat te herformatteren (zoals \"/\", \"/usr\" of \"/var\") maar u hoeft\n"
+"geen partities te herformatteren die gegevens bevatten die u wenst\n"
+"te bewaren (gewoonlijk \"/home\").\n"
+"\n"
+"Weest u alstublieft voorzichtig met het selecteren van partities. Na het\n"
+"formatteren zullen alle gegevens op de geselecteerde partities definitief\n"
+"verwijderd zijn, zonder herstelmogelijkheid.\n"
+"\n"
+"Klik op \"%s\" wanneer u klaar bent om de partities te formatteren.\n"
+"\n"
+"Klik op \"%s\" indien u een andere partitie voor uw nieuwe\n"
+"Mandriva Linux besturingssysteem wilt kiezen.\n"
+"\n"
+"Klik op \"%s\" indien u partities wenst te selecteren die op\n"
+"onleesbare blokken gecontroleerd moeten worden."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Op het moment dat u Mandriva Linux installeert, is het waarschijnlijk\n"
+"dat sommige pakketten herzien zijn sinds het moment dat het werd\n"
+"uitgebracht. Sommige onvolkomenheden kunnen gerepareerd zijn en\n"
+"beveiligingsproblemen opgelost. Om u te kunnen laten profiteren van\n"
+"deze herzieningen kunt u ze nu ophalen van het Internet.\n"
+"Kruis \"%s\" aan als u een werkende internetverbinding heeft, of \"%s\"\n"
+"als u liever later herziene pakketten installeert.\n"
+"\n"
+"Wanneer u \"%s\" kiest, verschijnt er een lijst van plaatsen op het web\n"
+"waar herzieningen van kunnen worden opgehaald. Kies degene waar\n"
+"u zich het dichtst bij in de buurt bevindt. Daarna verschijnt een\n"
+"pakketselectieboom: ga de selectie na en druk op \"%s\"\n"
+"om de geselecteerde pakket(ten) op te halen en te installeren, of\n"
+"op \"%s\" om af te breken."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Op dit punt bent u in de gelegenheid het gewenste beveiligingsniveau te\n"
+"kiezen voor deze computer. Als een vuistregel is aan te houden dat \n"
+"het beveiligingsniveau hoger ingesteld hoort te zijn als de computer\n"
+"cruciale gegevens bevat, of als hij direct is blootgesteld aan het\n"
+"internet. Een hoger beveiligingsniveau gaat meestal echter ten koste\n"
+"van gebruiksgemak.\n"
+"\n"
+"Als u niet weet wat te kiezen, behoudt u de standaard optie. U zult \n"
+"later nog in staat zijn het beveiligingsniveau te veranderen met het\n"
+"draksec-hulpprogramma vanuit het Mandriva Linux Configuratiecentrum.\n"
+"\n"
+"Vul in het \"%s\"-veld het e-mailadres in van de persoon die\n"
+"verantwoordelijk is voor de beveiliging. Beveiligingsmeldingen\n"
+"worden naar dat adres verstuurd."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Beveiligingsbeheerder"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Op dit punt dient u te kiezen welke partitie(s) gebruikt zullen worden voor\n"
+"de installatie van uw Mandriva Linux systeem. Indien er reeds partities\n"
+"gedefinieerd zijn, van een vorige GNU/Linux installatie of door een\n"
+"ander partitioneringsprogramma, kunt u bestaande partities gebruiken.\n"
+"In andere gevallen moeten er harde schijf-partities gedefinieerd worden.\n"
+"\n"
+"Om partities te creëren, dient u eerst een harde schijf te kiezen. U kunt "
+"de\n"
+"te partitioneren schijf selecteren door op \"hda\" te klikken voor de "
+"eerste\n"
+"IDE-schijf, \"hdb\" voor de tweede, \"sda\" voor de eerste SCSI-schijf\n"
+"enzovoort.\n"
+"\n"
+"Om de geselecteerde harde schijf te partitioneren, kunt u deze opties\n"
+"gebruiken:\n"
+"\n"
+" * \"%s\": deze optie verwijdert alle partities op de\n"
+"geselecteerde harde schijf.\n"
+"\n"
+" * \"%s\": deze optie creëert automatisch ext3- en swap-\n"
+"partities in de vrije ruimte op uw harde schijf.\n"
+"\n"
+" \"%s\": geeft toegang tot extra opties:\n"
+"\n"
+" * \"%s\": slaat de partitietabel op op een diskette. Nuttig om\n"
+"later zonodig de partitietabel te herstellen. Het is sterk aanbevolen deze "
+"stap uit\n"
+"te voeren.\n"
+"\n"
+" * \"%s\": deze optie stelt u in staat om een eerder opgeslagen\n"
+"partitietabel van diskette te herstellen.\n"
+"\n"
+" * \"%s\": indien uw partitietabel is beschadigd, kunt u hem\n"
+"trachten te herstellen met deze optie. Weest u voorzichtig en onthoudt dat\n"
+"dit niet altijd werkt.\n"
+"\n"
+" * \"%s\": gooit alle veranderingen weg en laadt de\n"
+"partitietabel die oorspronkelijk op de harde schijf stond.\n"
+"\n"
+" * \"%s\": het deselecteren van deze optie\n"
+"dwingt gebruikers om handmatig verwisselbare media zoals diskettes en\n"
+"CD-ROMs te koppelen en te ontkoppelen.\n"
+"\n"
+" * \"%s\": gebruik deze optie indien u een wizard wenst te gebruiken om\n"
+"uw harde schijf mee te partitioneren. Dit is aanbevolen als u geen brede "
+"kennis\n"
+"heeft over partitioneren.\n"
+"\n"
+" * \"%s\": gebruik deze optie om uw wijzigingen te annuleren.\n"
+"\n"
+" * \"%s\" laat extra handelingen toe op\n"
+"partities (type, opties, formaat) en geeft meer informatie over de schijf.\n"
+"\n"
+" * \"%s\": wanneer u klaar bent met het partitioneren van uw harde schijf, "
+"zal dit\n"
+"de wijzigingen wegschrijven naar schijf.\n"
+"\n"
+"Bij het definiëren van de partitiegrootte kunt u de grootte fijnafregelen\n"
+"met de pijltjestoetsen op uw toetsenbord.\n"
+"\n"
+"Merk op: u kunt iedere optie met behulp van het toetsenbord bereiken. "
+"Navigeer door\n"
+"de partities met behulp van [Tab] en [Omhoog/Omlaag] pijlen.\n"
+"\n"
+"Wanneer een partitie is geselecteerd, kunt u deze toetscombinaties "
+"gebruiken:\n"
+"\n"
+" * Ctrl+c om een nieuwe partitie te creëren (als een lege ruimte is "
+"geselecteerd)\n"
+"\n"
+" * Ctrl+d om een partitie te verwijderen\n"
+"\n"
+" * Ctrl+m om het koppelpunt in te stellen\n"
+"\n"
+"Voor meer informatie over de verschillende types bestandssystemen die er "
+"zijn,\n"
+"leest u het hoofdstuk 'ext2FS' van de ``Referentiehandleiding''.\n"
+"\n"
+"In het geval dat u op een PPC computer aan het installeren bent, zult u een "
+"kleine\n"
+"HFS \"bootstrap\"-partitie van tenminste 1MB willen creëren voor gebruik\n"
+"door de yaboot-opstartlader. Indien u liever de partitie wat groter maakt,\n"
+"zeg 50MB, dan vindt u het misschien een nuttige plek om een reserve kernel-\n"
+"en ramdisk beeldbestand in op te slaan voor opstart-noodgevallen."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatische koppeling van verwisselbare media"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normale/expert-modus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Er is meer dan één Microsoft-partitie op uw harde schijf gevonden.\n"
+"Kiest u degene die u wilt verkleinen om uw nieuwe Mandriva Linux\n"
+"besturingssysteem te kunnen installeren.\n"
+"\n"
+"Elke partitie wordt getoond als volgt: \"Linux naam\", \"Windows naam\"\n"
+"\"Capaciteit\".\n"
+"\n"
+"\"Linux naam\" is gestructureerd: \"harde schijf-type\", \n"
+"\"harde schijf-teken\", \"partitienummer\" (bijvoorbeeld \"hda1\").\n"
+"\n"
+"\"Harde schijf-type\" is \"hd\" indien uw harde schijf een IDE-schijf is en\n"
+"\"sd\" indien het een SCSI-schijf is.\n"
+"\n"
+"\"Harde schijf-teken\" is altijd een letter na \"hd\" of \"sd\". Bij IDE-\n"
+"harde schijven:\n"
+"\n"
+" * \"a\" betekent \"master harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"b\" betekent \"slave harde schijf op de primaire IDE controller\",\n"
+"\n"
+" * \"c\" betekent \"master harde schijf op de secundaire IDE controller\",\n"
+"\n"
+" * \"d\" betekent \"slave harde schijf op de secundaire IDE controller\".\n"
+"\n"
+"Bij SCSI harde schijven betekent een \"a\" \"laagste SCSI ID\", een \"b\" "
+"\"op één na laagste SCSI ID\", enzovoort.\n"
+"\n"
+"\"Windows naam\" is de letter van uw harde schijf onder Windows (de\n"
+"eerste schijf of partitie wordt \"C:\" genoemd)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": de huidige landselectie nagaan. Indien u zich niet in dit land\n"
+"bevindt, klik dan op de \"%s\"-knop en kies een ander land. Als uw land niet "
+"in de getoonde lijst staat, klik dan op de \"%s\"-knop om de complete\n"
+"landenlijst op te vragen."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Deze stap activeert slechts wanneer een bestaande GNU/Linux-partitie\n"
+"gevonden is op uw computer.\n"
+"\n"
+"Nu is het noodzakelijk dat u aangeeft of u een nieuwe installatie\n"
+"of een opwaardering van een bestaand Mandriva Linux-systeem\n"
+"wilt uitvoeren:\n"
+"\n"
+" * \"%s\". Dit verwijdert het oude systeem vrijwel volledig.\n"
+"Afhankelijk van uw partitionering, kunt u echter voorkomen dat\n"
+"een gedeelte van uw gegevens (met name \"home\"-directory's) \n"
+"worden overschreven. \n"
+"Indien u de partitionering van uw harde schijven wilt wijzigen, of het\n"
+"bestandssysteem wenst te wijzigen, dan dient u deze optie te kiezen.\n"
+"\n"
+" * \"%s\". Deze installatieklasse stelt u in staat de pakketten\n"
+"die momenteel op uw Mandriva Linux-systeem zijn geïnstalleerd te verversen.\n"
+"Uw huidige partitioneringsschema en gebruikersgegevens worden niet\n"
+" veranderd. De meeste andere configuratiestappen blijven beschikbaar,\n"
+"zoals bij een gewone installatie.\n"
+"\n"
+"Het gebruik van de ``Opwaardering''-optie zou prima moeten werken op\n"
+"Mandriva Linux versie \"8.1\" of recenter. Het uitvoeren van een\n"
+"opwaardering op versies eerder dan Mandriva Linux versie \"8.1\" is "
+"afgeraden."
+
+# Extra stukje toegevoegd over Nederlandse layout
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Afhankelijk van de taal die u heeft gekozen, selecteert DrakX automatisch\n"
+"een bepaalde toetsenbordindeling. Ga na of de geselecteerde indeling u "
+"bevalt, en zoniet kies dan een andere toetsenbordindeling.\n"
+"\n"
+"Merk op dat de getoonde lijst toetsenbordindelingen bevat, en geen talen.\n"
+"Wanneer u in Nederland woont, heeft u waarschijnlijk een toetsenbord van "
+"het\n"
+"type \"VS (internationaal)\". Toetsenborden met een \"Nederlandse\" "
+"indeling\n"
+"komen niet veel voor. Het kan ook zijn dat u een Nederlands sprekende "
+"inwoner\n"
+"van België bent en gebruik maakt van een toetsenbord met Franse indeling.\n"
+"Deze installatiestap zorgt ervoor dat u in alle gevallen de juiste\n"
+"toetsenbordindeling kunt kiezen.\n"
+"\n"
+"Klik op de \"%s\"-knop om de complete lijst van ondersteunde\n"
+"toetsenbordindelingen te zien.\n"
+"\n"
+"Als u een toetsenbordindeling kiest welke gebaseerd is op een niet-Latijns\n"
+"alfabet, zal het volgende dialoogvenster u vragen om de toetscombinatie\n"
+"te kiezen die zal schakelen tussen de Latijn- en niet-Latijnse indelingen."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"De eerste stap is het kiezen van uw voorkeurstaal.\n"
+"\n"
+"Uw taalkeuze beïnvloedt de taal van de documentatie, het\n"
+"installatieprogramma en het systeem in het algemeen. Selecteer eerst\n"
+"de regio waarin u zich bevindt, en daarna de taal die u spreekt.\n"
+"\n"
+"Door te klikken op de \"%s\"-knop kunt u andere talen selecteren\n"
+"die op uw werkstation geïnstalleerd moeten worden. Het selecteren van\n"
+"andere talen zal de taalspecifieke bestanden voor systeemdocumentatie\n"
+"en toepassingen installeren. Als u bijvoorbeeld gastheer bent voor Spaanse\n"
+"gebruikers op uw machine, selecteert u Nederlands als eerste taal in het\n"
+"boom-overzicht en in de Geavanceerd-afdeling selecteert u \"%s\".\n"
+"\n"
+"Over UTF-8 (unicode)-ondersteuning: Unicode is een nieuwe tekencodering\n"
+"bedoeld om alle bestaande geschreven talen te omvatten. Volledige\n"
+"GNU/Linux-ondersteuning ervoor is echter nog in ontwikkeling.\n"
+"Daarom gebruikt Mandriva Linux het al dan niet, afhankelijk van de keuze\n"
+"van de gebruiker:\n"
+"\n"
+" * Indien u talen kiest met een sterke coderingstraditie (latin1\n"
+"talen, Russisch, Japans, Chinees, Koreaans, Thais, Grieks, Turks, meeste\n"
+"iso-8859-2 talen), dan wordt de gebruikelijke codering in eerste instantie\n"
+"gebruikt;\n"
+"\n"
+" * Andere talen gebruiken standaard Unicode;\n"
+"\n"
+" * Als twee of meer talen vereist zijn, en deze talen gebruiken niet \n"
+"dezelfde codering, dan wordt Unicode voor het hele systeem gebruikt;\n"
+"\n"
+" * Tenslotte, Unicode kan ook op aanvraag van de gebruiker voor het hele\n"
+"systeem worden afgedwongen door de optie \"%s\" te selecteren onafhankelijk\n"
+"van welke ta(a)l(en) u gekozen heeft.\n"
+"\n"
+"Merk op dat er geen beperking is in het aantal extra uit te kiezen talen.\n"
+"U kunt er meerdere kiezen of ze zelfs allemaal installeren door het \"%s\"\n"
+"vakje aan te kruisen. Ondersteuning voor een taal selecteren betekent dat\n"
+"vertalingen, lettertypen, spellingscontrole etc. ook voor die taal zullen\n"
+"worden geïnstalleerd.\n"
+"\n"
+"Om te schakelen tussen de diverse talen die op uw computer zijn\n"
+"geïnstalleerd, kunt u de opdracht \"localedrake\" uitvoeren\n"
+"als \"root\" om de taal voor het gehele systeem te veranderen.\n"
+"Het uitvoeren van deze opdracht als een gewone gebruiker zal slechts\n"
+"de taalinstellingen voor die individuele gebruiker veranderen."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spaans"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normaal gesproken ziet DrakX vanzelf het aantal knoppen op uw muis.\n"
+"Zoniet, dan neemt het aan dat u een tweeknops-muis heeft en\n"
+"zal deze instellen voor het nadoen van een derde knop. De derde\n"
+"muisknop van een tweeknopsmuis kan worden ``ingedrukt'' door\n"
+"tegelijkertijd de linker- en rechterknop te klikken.\n"
+"DrakX zoekt zelf uit of dit een PS/2-, seriële- of USB-muis is.\n"
+"\n"
+"Mocht u in het bezit zijn van een 3-knopsmuis zonder wieltje, dan kunt u\n"
+"de muis kiezen waarbij \"%s\" staat. Het installatieprogramma \n"
+"configureert uw muis dan zodanig dat u het wieltje kunt simuleren: om dit\n"
+"te doen, drukt u de middelste knop in en beweegt u de muis op en neer.\n"
+"\n"
+"Indien u een ander type muis wenst te specificeren, selecteer dan het\n"
+"gewenste type uit de getoonde lijst.\n"
+"\n"
+"U kunt het item \"%s\" selecteren om een ``algemeen'' muistype te kiezen\n"
+"dat met bijna alle muizen zal werken.\n"
+"Indien u een andere muis kiest dan de standaardmuis, zult u een muis-\n"
+"testscherm te zien krijgen. Gebruik de knoppen en het wieltje om te\n"
+"controleren dat de instellingen goed zijn en dat de muis goed werkt.\n"
+"Als de muis niet correct werkt, druk dan op de spatiebalk of de [Enter]-\n"
+"toets om de test te annuleren en terug te gaan naar de keuzelijst.\n"
+"\n"
+"Af en toe worden wielmuizen niet automatisch gevonden, dus dan dient u uw\n"
+"muis te selecteren uit de lijst. Zorg ervoor dat u degene kiest die\n"
+"correspondeert met de poort waaraan de muis verbonden is. Nadat u\n"
+"de muis geselecteerd heeft en op de \"%s\"-knop heeft geklikt,\n"
+"wordt een afbeelding van een muis op het scherm weergegeven. U dient dan\n"
+"het wieltje van uw muis te bewegen om uzelf ervan te verzekeren dat het\n"
+"correct geactiveerd is. Zodra u het muiswieltje beweegt, zult u het\n"
+"schermwieltje zien meebewegen. Test de knoppen en ga na dat de muispijl\n"
+"over het scherm beweegt wanneer u uw muis beweegt."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "met wiel-emulatie"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universeel | Iedere PS/2 & USB-muis"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Gelieve de juiste poort te kiezen. COM1 onder Windows wordt bijvoorbeeld\n"
+"\"ttyS0\" genoemd onder GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Dit is de meest cruciale beslissing voor de beveiliging van uw GNU/Linux\n"
+"systeem: u dient het \"root\"-wachtwoord in te voeren. \"Root\" is de\n"
+"systeembeheerder en is de enige die geautoriseerd is om vernieuwingen uit\n"
+"te voeren, gebruikers toe te voegen, de algehele systeemconfiguratie te\n"
+"wijzigen, enzovoort. Kortom, \"root\" kan alles doen! Daarom dient u een\n"
+"lastig te raden wachtwoord te kiezen - DrakX vertelt het u als het te \n"
+"makkelijk is. Zoals u kunt zien is het niet verplicht een wachtwoord in te\n"
+"vullen, maar dit raden wij sterk af. GNU/Linux is net zo gevoelig voor\n"
+"bedieningsfouten als andere besturingssystemen.\n"
+"Omdat \"root\" alle beperkingen kan overschrijden en onbedoeld alle\n"
+"gegevens op partities kan wissen door achteloos deze partities te\n"
+"benaderen, is het belangrijk dat het lastig is om \"root\" te worden.\n"
+"\n"
+"Het wachtwoord behoort een mix van alfanumerieke tekens te zijn en\n"
+"tenminste 8 tekens lang. Schrijf nooit het \"root\"-wachtwoord op -\n"
+"dat maakt het te makkelijk om een systeem te compromitteren.\n"
+"\n"
+"Het addertje onder het gras: maak ook het wachtwoord niet te lang of\n"
+"gecompliceerd omdat u het moet kunnen onthouden!\n"
+"\n"
+"Het wachtwoord zal niet op het scherm getoond worden wanneer u het\n"
+"intypt. Vandaar dat u het wachtwoord tweemaal moet intypen om de kans\n"
+"te verminderen dat u een typfout maakt. Indien u toevallig dezelfde typfout\n"
+"twee keer maakt, dan zal dit ``incorrecte'' wachtwoord gebruikt moeten\n"
+"worden bij de eerste keer dat u zich aanmeldt als \"root\".\n"
+"\n"
+"Indien u wenst dat de toegang tot deze computer gecontroleerd wordt door\n"
+"een aanmeldingscontrole-server, klik dan op de \"%s\"-knop.\n"
+"\n"
+"Indien uw netwerk LDAP, NIS, of PDC Windows domeinaanmeldingscontrole-\n"
+"diensten gebruikt, selecteer dan de overeenkomende optie\n"
+"als \"%s\". In het geval dat u niet weet welke te kiezen,\n"
+"raadpleeg dan uw netwerkbeheerder.\n"
+"\n"
+"Mocht u het lastig vinden wachtwoorden te onthouden, als uw computer\n"
+"nooit verbonden zal zijn met het internet of als u absoluut iedereen\n"
+"vertrouwt die toegang heeft tot uw computer, kunt u kiezen voor \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "aanmeldingscontrole"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Een opstartlader is een klein programmaatje dat door de computer gestart\n"
+"wordt tijdens het opstarten. Het is verantwoordelijk voor het opstarten\n"
+"van het hele systeem. Normaal gesproken gaat de installatie van de\n"
+"opstartlader volkomen automatisch. Het installatieprogramma analyseert de\n"
+"bootsector van de schijf handelt naar bevind van zaken:\n"
+"\n"
+" * als een Windows-bootsector is gevonden, dan zal het deze vervangen door "
+"een GRUB/LILO bootsector. Op deze manier zult u de mogelijkheid hebben om "
+"ofwel GNU/Linux te starten, ofwel een ander besturingssysteem.\n"
+"\n"
+" * als een GRUB- of LILO-bootsector is gevonden, dan zal het deze vervangen "
+"door een nieuwe.\n"
+"\n"
+"Wanneer het installatieprogramma niet kan bepalen waar de bootsector "
+"geplaatst moet worden dan zal DrakX u vragen waar de\n"
+"opstartlader terecht moet komen. In het algemeen is \"%s\" de\n"
+"veiligste locatie. Met de keuze \"%s\" wordt er in het geheel geen \n"
+"opstartlader geïnstalleerd. Gebruik dit alleen als u weet wat u doet."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Het is nu tijd een afdruksysteem voor uw computer te selecteren. Andere\n"
+"besturingssystemen geven u er wellicht maar één, maar Mandriva Linux\n"
+"biedt er twee. Elk van deze afdruksystemen is het meest geschikt voor\n"
+"bepaalde typen configuraties.\n"
+"\n"
+" * \"%s\" - een afkorting van \"print, do not queue\", is de keuze indien\n"
+"u een directe verbinding tussen uw computer en uw printer heeft en u\n"
+"in staat wilt zijn om printtaken snel te stoppen in het geval van\n"
+"papierstoringen en u niet beschikt over netwerkprinters. (\"%s\" kan\n"
+"alleen omgaan met erg simpele netwerkprinttaken en is enigszins\n"
+"langzaam wanneer gebruikt in een netwerk.) \"pdq\" is de aanbevolen keuze\n"
+"als dit uw eerste kennismaking met GNU/Linux is.\n"
+"\n"
+" * \"%s\" staat voor ``Common Unix Printing System'' en is uitstekend \n"
+"geschikt om naar uw lokale printer af te drukken maar ook naar eentje aan\n"
+"de andere kant van de planeet. Het is eenvoudig te configureren en kan\n"
+"dienstdoen als een server of een client voor het antieke \"lpd\"\n"
+"afdruksysteem, zodat het overweg kan met oudere besturingssystemen\n"
+"die wellicht afdrukdiensten vereisen. Alhoewel het behoorlijk krachtig is,\n"
+"is de basisinstallatie bijna net zo eenvoudig als \"pdq\". In het geval dat\n"
+"u een \"lpd\"-server-emulatie nodig heeft, dient u de \"cups-lpd\"-"
+"voorziening\n"
+"in te schakelen. \"%s\" biedt grafische schillen voor het afdrukken en\n"
+"het beheren van de printer.\n"
+"\n"
+"Wanneer u nu een keuze maakt en er later achter komt dat uw afdruksysteem\n"
+"u niet bevalt dan kunt u het veranderen door PrinterDrake uit te voeren\n"
+"vanuit het Mandriva Linux Configuratiecentrum en op de \"%s\"-knop te "
+"klikken."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX zal om te beginnen zoeken naar IDE-apparaten die in uw\n"
+"computer aanwezig zijn. Het zal tevens zoeken naar één of meer PCI\n"
+"SCSI-kaart(en) in uw systeem. Als een SCSI-kaart gevonden is, zal\n"
+"DrakX automatisch het geschikte stuurprogramma installeren.\n"
+"\n"
+"Omdat hardware-bespeuring niet altijd gegarandeerd foutloos werkt,\n"
+"is het mogelijk dat DrakX uw harde schijven niet vindt. In dat geval\n"
+"zult u uw apparatuur handmatig moeten specificeren.\n"
+"\n"
+"In het geval dat u handmatig uw PCI SCSI-adapter heeft moeten specificeren,\n"
+"zal DrakX u vragen of u er opties aan wilt meegeven. Staat u DrakX toe om\n"
+"de apparatuur na te gaan voor kaartspecifieke opties die nodig zijn om de\n"
+"adapter te initialiseren. In de meeste gevallen zal DrakX deze stap\n"
+"probleemloos doorlopen.\n"
+"\n"
+"Als DrakX niet in staat is om automatisch te onderzoeken welke opties\n"
+"doorgegeven moeten worden aan de apparatuur, zult u handmatig het\n"
+"stuurprogramma moeten configureren."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": als een geluidskaart op uw computer gevonden is, dan staat\n"
+"dat hier weergegeven. In het geval dat de weergegeven geluidskaart niet\n"
+"degene is die daadwerkelijk aanwezig is in uw computer, dan kunt u op de\n"
+"knop klikken en een ander stuurprogramma kiezen."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Bij wijze van overzicht zal het installatieprogramma een lijstje tonen\n"
+"van de informatie die het heeft over uw computer.\n"
+"Afhankelijk van welke apparatuur u heeft, krijgt u enkele of alle van de\n"
+"onderstaande punten te zien. Elk punt bestaat uit het te configureren item,\n"
+"gevolgd door een korte samenvatting van de huidige configuratie. Klik op\n"
+"de corresponderende \"%s\"-knop om die aan te passen.\n"
+"\n"
+" * \"%s\": de huidige toetsenbordindeling nagaan en zonodig\n"
+"aanpassen.\n"
+" * \"%s\": de huidige landselectie nagaan. Indien u zich niet in dit\n"
+"land bevindt, klik dan op de \"%s\"-knop om een ander land te\n"
+"kiezen. Als uw land niet in de eerste getoonde lijst staat, klik dan op\n"
+"de \"%s\"-knop om de complete landenlijst te zien.\n"
+"\n"
+" * \"%s\": Normaal gesproken leidt DrakX uw tijdzone af aan de hand\n"
+"van het land dat u gekozen heeft. U kunt op de \"%s\" knop\n"
+"drukken als dit incorrect is.\n"
+"\n"
+" * \"%s\": de huidige muisconfiguratie nagaan. Zonodig kunt u op de knop "
+"klikken om hem aan te passen.\n"
+"\n"
+" * \"%s\": klikken op de \"%s\"-knop zal de\n"
+"printerconfiguratie-wizard openen. Raadpleeg het corresponderende\n"
+"hoofdstuk van de ``Beginnershandleiding'' voor meer informatie over\n"
+"hoe u een nieuwe printer instelt. De in onze handleiding getoonde interface\n"
+"lijkt op degene die tijdens de installatie gebruikt wordt.\n"
+"\n"
+" * \"%s\": indien een geluidskaart gevonden is op uw systeem,\n"
+"wordt dat hier weergegeven. In het geval dat de aangegeven geluidskaart\n"
+"niet degene is die daadwerkelijk aanwezig is in uw computer, dan kunt u\n"
+"op deze knop klikken en een ander stuurprogramma uitkiezen.\n"
+"\n"
+" * \"%s\": mocht u in het bezit zijn van een TV-kaart, dan staat hier\n"
+"de informatie over de configuratie ervan. Wanneer u een TV-kaart heeft\n"
+"die niet gevonden is, klik dan op \"%s\" om een poging te doen om hem\n"
+"handmatig te configureren.\n"
+"\n"
+" * \"%s\": u kunt op \"%s\" klikken om de met de kaart geassocieerde \n"
+"parameters te wijzigen, als u denkt dat de configuratie verkeerd is.\n"
+"\n"
+" * \"%s\": normaal gesproken configureert DrakX uw\n"
+" grafische interface in een resolutie van \"800x600\" of \"1024x768\".\n"
+"Indien daarmee niet tevreden bent, klik dan op de \"%s\"-knop\n"
+"om uw grafische interface te herconfigureren.\n"
+"\n"
+" * \"%s\": Als u uw internettoegang of toegang tot het lokale\n"
+"netwerk wilt instellen, kunt u dat nu doen. Raadpleeg de gedrukte\n"
+"documentatie of gebruik het Mandriva Linux Configuratiecentrum nadat\n"
+"de installatie klaar is om te profiteren van volledige on-line hulp.\n"
+"\n"
+" * \"%s\": stelt u in staat HTTP- en FTP-proxy adressen te configureren\n"
+"als de computer waarop u installeert achter een proxyserver komt te staan.\n"
+"\n"
+" * \"%s\": dit item biedt u de mogelijkheid het beveiligingsniveau\n"
+"ingesteld in een eerdere stap opnieuw te definiëren.\n"
+"\n"
+" * \"%s\": indien u van plan bent uw computer te verbinden met het\n"
+"Internet dan is het een goed idee om uzelf te beschermen tegen indringers\n"
+"door een firewall op te zetten. Raadpleeg het corresponderende hoofdstuk\n"
+"uit de ``Beginnershandleiding'' voor details over de firewall-instellingen.\n"
+"\n"
+" * \"%s\": indien u uw opstartlader-configuratie wenst te \n"
+"veranderen, klikt u op deze knop. Alleen aankomen als u een gevorderde\n"
+"gebruiker bent. Raadpleeg de gedrukte documentatie of de on-line hulp\n"
+"over de configuratie van een opstartlader in het Mandriva Linux \n"
+"Configuratiecentrum.\n"
+" * \"%s\": U bent hier in staat om de diensten die op uw computer\n"
+"actief zullen zijn, fijn af te regelen. Indien u deze computer als server\n"
+"gaat inzetten dan is het een goed idee om deze instellingen na te lopen."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Interne ISDN kaart"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafische interface"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Kies de harde schijf die u wilt wissen om uw nieuwe Mandriva Linux-\n"
+"partitie op te installeren. Wees voorzichtig, alle gegevens die\n"
+"op deze schijf staan zullen verloren gaan, en niet terug te halen zijn!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klik op \"%s\" wanneer u alle gegevens en partities die zich \n"
+"op deze harde schijf bevinden, wilt wissen. Wees voorzichtig, want na het\n"
+"klikken op \"%s\" zult u niet in staat zijn om enige op de schijf\n"
+"aanwezige gegevens of partities terug te halen, met inbegrip van alle "
+"Windows-gegevens.\n"
+"\n"
+"Klik op \"%s\" om deze operatie te stoppen zonder daarbij \n"
+"gegevens of partities op de schijf te verliezen."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Volgende ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Vorige"
+
diff --git a/perl-install/install/help/po/nn.po b/perl-install/install/help/po/nn.po
new file mode 100644
index 000000000..5a5b0342d
--- /dev/null
+++ b/perl-install/install/help/po/nn.po
@@ -0,0 +1,1654 @@
+# Translation of nn to Norwegian Nynorsk
+# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+# Karl Ove Hufthammer <karl@huftis.org>, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: nn\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-01-13 19:46+0100\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Du bør lesa vilkåra i lisensavtala nøye før du eventuelt held fram.\n"
+"Avtala dekkjer heile Mandriva Linux-distribusjonen. Kryss av for\n"
+"«%s» berre viss du er einig i alle vilkåra. Elles vil «%s»-knappen\n"
+"starta maskina på nytt."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux er eit fleirbrukarsystem, der kvar brukar har sine eigne "
+"innstillingar\n"
+"og filer. Sjå «Starter Guide» for meir informasjon om fleirbrukarsystem. Men "
+"i\n"
+"motsetning til «root», som er systemadministratoren, kan ikkje brukarar du "
+"legg\n"
+"til no endra noko anna enn sine eigne filer og oppsett. Dette vernar "
+"systemet mot\n"
+"utilsikta eller vondsinna skadelege endringar frå brukarane.\n"
+"\n"
+"Du må laga minst éin vanleg brukarkonto for deg sjølv, og det er denne som "
+"er\n"
+"meint for dagleg bruk. Sjølv om det er veldig lett å logga inn som «root», "
+"og gjera\n"
+"kva som helst der, er det òg veldig farleg! Ein enkelt feil kan gjera at "
+"systemet\n"
+"ikkje lenger fungerer. Det verste som kan skje om du gjer ein alvorleg feil "
+"som vanleg\n"
+"brukar, er at du mistar noko data, men dette går då ikkje utover heile "
+"systemet.\n"
+"\n"
+"Første feltet spør etter heile namnet ditt. Dette er sjølvsagt ikkje "
+"obligatorisk, og\n"
+"du kan skriva inn kva du måtte ønskja. Første ord du skriv inn vert kopiert "
+"til\n"
+"«%s»-feltet, som er brukarnamnet brukaren skal bruka for å logga på "
+"systemet.\n"
+"Du kan òg endra dette brukarnamnet, om du ønskjer.\n"
+"\n"
+"Neste steg er å velja eit passord. Frå eit tryggleikssynspunkt er ikkje "
+"passordet til\n"
+"ein vanleg brukar like viktig som «root»-passordet, men du bør likevel ikkje "
+"gjera\n"
+"det for lett å gjetta, eller la det stå tomt. Det er filene dine passordet "
+"er meint å verna.\n"
+"\n"
+"Du har trykt på «%s», kan du leggja til andre brukarar. Legg for eksempel "
+"til éin\n"
+"brukar for kvar av vennane dine, far din, søster di, og så vidare. Trykk «%"
+"s» når\n"
+"du er ferdig å leggja til brukarar.\n"
+"\n"
+"Du kan velja standardskal (bash er standard) ved å trykkja «%s».\n"
+"\n"
+"Når du er ferdig med å leggja til brukarar, vert du spurd om å velja ein "
+"brukar som\n"
+"automatisk vert logga på systemet når maskina startar opp. Om du ønskjer å\n"
+"bruka denne funksjonen (og er lite opptatt av lokal tryggleik), kan du velja "
+"brukar\n"
+"og vindaugsbehandlar, og så trykkja «%s». Om du ikkje ønskjer å ha bruka "
+"denne\n"
+"funksjonen, så fjern merket for «%s»."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ønskjer du å bruka denne funksjonen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Her er ei oversikt over Linux-partisjonar på harddisken. Du bør vanlegvis\n"
+"bruka vala gjort her, då dei er gode for dei fleste maskinoppsett. Men viss\n"
+"du gjer endringar, må du hugsa å definera ein rotpartisjon («/»). Ikkje lag "
+"han\n"
+"så liten at du ikkje kan installera all programvara du treng. Om du ønskjer\n"
+"å lagra filene dine på ein annan partisjon, må du òg laga ein «/home»-"
+"partisjon\n"
+"(berre mogleg om du har meir enn éin Linux-partisjon tilgjengeleg).\n"
+"\n"
+"Følgjande vert vist for kvar partisjon: «namn», «kapasitet».\n"
+"\n"
+"«Namn» er ordna slik: «harddisktype», «harddisknummer»,\n"
+"«partisjonsnummer» (eks. «hda1»).\n"
+"\n"
+"«Harddisktype» er «hd» viss harddisken er ein IDE-harddisk, og\n"
+"«sd» viss han er ein SCSI-harddisk.\n"
+"\n"
+"«Harddisknummer» er alltid ein bokstav etter «hd» eller «sd». For\n"
+"IDE-harddiskar:\n"
+"\n"
+" – «a» tyder «hovudharddisk på første IDE-kontrollar».\n"
+" \n"
+" – «b» tyder «slaveharddisk på første IDE-kontrollar».\n"
+" \n"
+" – «c» tyder «hovudharddisk på andre IDE-kontrollar».\n"
+" \n"
+" – «c» tyder «slaveharddisk på andre IDE-kontrollar».\n"
+" \n"
+" Med SCSI-harddiskar tyder «a» lågaste SCSI-ID, og «b»\n"
+" nest lågaste SCSI-ID, og så vidare."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux-distribusjonen ligg fordelt på fleire plater. Viss ein pakke "
+"ligg på ei anna plate, vert du automatisk bedt om å setja ho i. Berre trykk "
+"«%s» om du ikkje har denne plata. Dei aktuelle pakkane vert då ikkje "
+"installerte."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det må no velja kva program du ønskjer å installera på maskina. Det finst\n"
+"tusenvis av programpakkar for Mandriva Linux, og desse er her ordna i "
+"grupper.\n"
+"\n"
+"Pakkane er grupperte i fire kategoriar, men du kan velja program frå alle\n"
+"kategoriane, så eit «Arbeidsstasjon»-system kan godt ha program frå\n"
+" «Tenar»-kategorien.\n"
+"\n"
+" – «%s»: Om du har tenkt å bruka maskina som ein arbeidsstasjon, vel éi\n"
+"eller fleire av gruppene i arbeidsstasjonskategorien.\n"
+"\n"
+" – «%s»: Om du har tenkt å bruka maskina for programmering, vel dei gruppene "
+"du ønskjer i programmeringskategorien. «LSB»-gruppa vil prøva\n"
+"å setja opp systemet i samsvar med «Linux Standard Base»-standarden.\n"
+"\n"
+" Vel du «LSB»-gruppa vert lg 2.4-kjernen og ikkje 2.6-kjernen installert.\n"
+"Dette er for å sikra 100 %% samsvar med LSB. Men sjølv om du ikkje vel\n"
+"«LSB»-gruppa vil du framleis ha eit system som er nesten 100 %% i samsvar\n"
+"med denne standarden.\n"
+"– «%s»: Om du har tenkt å bruka maskina som ein tenar, vel dei av tenestene\n"
+"du ønskjer å installera på maskina.\n"
+"\n"
+" – «%s»: Det er her du vel det grafiske skrivebordsmiljøet du vil ha. Du må\n"
+"velja minst eitt for at å ha det grafiske grensesnittet tilgjengeleg.\n"
+"\n"
+"Om du plasserer peikaren over eit gruppenamn, vert det vist ei kort\n"
+"forklaring for den gruppa.\n"
+"\n"
+"Du kan kryssa av for «%s» om du kjenner til pakkane, eller av annan grunn\n"
+"ønskjer full kontroll over kva som vert installert.\n"
+"\n"
+"Om du starta installasjonen i «%s»-modus, kan du fjerna alle grupper, for\n"
+"å unngå installera nye pakkar. Dette er nyttig for å reparera eller "
+"oppgradera\n"
+"eit system.\n"
+"\n"
+"Om du fjernar alle gruppene ved ei vanleg installering (ikkje\n"
+"ei oppgradering), vert du spurd om kva type minimal installering du "
+"ønskjer:\n"
+"\n"
+" – «%s»: Installer minst mogleg pakkar for å ha eit grafisk skrivebord.\n"
+"\n"
+" – «%s»: Installer grunnsystemet, pluss grunnverktøya og hjelpetekst for\n"
+"desse. Dette oppsettet passar for tenarar.\n"
+"\n"
+" – «%s»: Installer absolutt minst mogleg pakkar for eit fungerande Linux-\n"
+"system. Du vil då berre få eit kommandolinjegrensesnitt. Total storleik for\n"
+"dette valet er rundt 65 MiB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Oppgrader"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grunnleggjande hjelpetekstar"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Heilt minimal installasjon"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Viss du vil velja kva einskildpakkar du vil installera sjølv, får du ei\n"
+"oversikt over alle pakkar, delt inn i grupper og undergrupper. Du kan\n"
+"velja å installera heile grupper, undergrupper eller einskildpakkar.\n"
+"\n"
+"Du vil sjå ei kort pakkeskildring til høgre når du vel ein pakke.\n"
+"\n"
+"!! Viss du har valt å installera ein tenarpakke, anten direkte, eller som "
+"del\n"
+"av ei gruppe, vert du bedt om å stadfesta at du verkeleg vil installera "
+"han.\n"
+"Som standard vert alle installerte tenester starta automatisk ved oppstart.\n"
+"Sjølv om tenarane ikkje hadde nokon kjente tryggleikshol når distribusjonen\n"
+"vart laga, er det mogleg at at nye hol er oppdaga no. Om du ikkje veit kva\n"
+"ei teneste er der for, trykk «%s». Trykkjer du «%s» vert tenestene "
+"installerte,\n"
+"og automatisk starta ved oppstart. !!\n"
+"\n"
+"«%s»-valet er brukt for å slå av åtvaringa som du får når installasjons-\n"
+" programmet automatisk vel ein pakke for å ordna opp i avhengnader.\n"
+"Nokre pakkar er avhengige av kvarandre, sånn at du må installera éin\n"
+"særskild pakke før du kan installera ein annan. Dette kan installasjons-\n"
+"programmet ordna opp i sjølv, heilt automatisk.\n"
+"\n"
+"Du kan henta inn ei ferdiglaga pakkeliste ved å trykkja på det litle\n"
+"diskettikonet nedt i lista. Dette er nyttig viss du har mange maskiner som\n"
+"du vil installera dei same programma på. Sjå det andre tipset i siste\n"
+"installasjonssteg for meir informasjon om korleis du lagar ei slik "
+"pakkeliste."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatisk avhengnadshandtering"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"«%s»: Trykk «%s» for å opna vegvisaren for skrivaroppsett. Sjå\n"
+"brukarrettleiinga for meir informasjon om oppsett av skrivarar. "
+"Brukargrensesnittet\n"
+"vist der liknar på det brukt ved installering."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"No kan du velja kva tenester du vil starta ved oppstart.\n"
+"\n"
+"Her er ei oversikt over alle tenestene som er tilgjengeleg under denne\n"
+"installasjonen. Sjå nøye gjennom lista, og kryss vekk dei du ikkje treng.\n"
+"\n"
+"Trykk på ei teneste for å sjå ei kort skildring av ho. Om du ikkje veit\n"
+"om du treng ei teneste eller ikkje, bør du la standardinnstillinga vera.\n"
+"\n"
+"!! Ver veldig forsiktig om du ønskjer å bruka maskina som tenar. Du bør\n"
+"ikkje starta tenester du ikkje er heilt sikker på at du treng. Hugs at "
+"fleire\n"
+"av tenestene kan vera farlege om dei køyrer på ein tenar.!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux handterer klokka internt etter GMT (Greenwich Mean Time), men\n"
+"viser ho etter den tidssona du sjølv vel. Men om klokka på hovudkortet "
+"heller\n"
+"er sett til lokaltid, kan du slå av denne funksjonen ved å trykkja «%s». "
+"Dette\n"
+"er nyttig om maskina køyrer andre operativsystem i tillegg, som Windows™.\n"
+"\n"
+"«%s»-valet stiller automatisk klokka etter ein tidstenar over Internett.\n"
+"Du må ha eit Internett-samband for at dette skal fungera. Du bør velja\n"
+"ein tenar som ligg geografisk nær deg. Valet installerer faktisk ein "
+"tidstenar\n"
+"som andre maskiner på lokalnettet òg kan bruka."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidssynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Skjermkort\n"
+"\n"
+"Installasjonsprogrammet klarar vanlegvis å finna ut kva skjermkort du har,\n"
+"og å setja dette opp automatisk. Men viss dette ikkje går, kan du velja "
+"kortet\n"
+"sjølv frå denne oversikta.\n"
+"\n"
+"Viss det finst tenarar med og utan 3D-akselerasjon for skjermkortet ditt,\n"
+"kan du velja tenaren som passar best for deg."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X er hjarta i det grafiske grensesnittet til GNU/Linux, og alle dei "
+"grafiske\n"
+"skrivebordsmiljøa (KDE, GNOME, AfterStep, WindowsMaker, med fleire)\n"
+"som følgjer med Mandriva Linux avheng av X.\n"
+"\n"
+"Du vil sjå ei liste over forskjellige innstillingar til det grafiske "
+"oppsettet:\n"
+"\n"
+"Skjermkort\n"
+"\n"
+" Installasjonsprogrammet vil vanlegvis finna og setja opp skjermkortet på\n"
+"maskina di automatisk, men du kan òg velja kortet frå lista sjølv.\n"
+"\n"
+" Om det finst to tenarar, éin med og éin utan 3D-støtte, for kortet ditt,\n"
+"må du sjølv velja kven av dei du ønskjer.\n"
+"\n"
+"\n"
+"\n"
+"Skjerm \n"
+" Installasjonsprogrammet vil vanlegvis finna og setja opp skjermen kopla\n"
+"til maskina di automatisk, men du kan òg velja skjermen frå lista sjølv.\n"
+"\n"
+"\n"
+"\n"
+"Skjermoppløysing\n"
+"\n"
+" Her kan du velja skjermoppløysing og fargedjupn for skjermen din. Vel\n"
+"dei innstillingane som passar best for deg, og hugs at du alltids kan endra\n"
+"dei igjen etter installasjonen. Det vert òg vist eit bilete av korleis "
+"oppsettet\n"
+" vil sjå ut på skjermen.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Om denne innstillingen vert vist er avhengig av maskinvaren din.\n"
+"\n"
+" Systemet vil prøva å visa eit testskjermbilete med innstillingane du "
+"valde.\n"
+"Klarar du å sjå spørsmålet på testbiletet, og svara «%s», går vegvisaren\n"
+"vidare til neste steg. Viss ikkje, er nokre av innstillingane feil, og "
+"testbiletet\n"
+"forsvinn etter 12 sekund. Du kan då endra innstillingane til du har eit "
+"skjerm-\n"
+"oppsett som fungerer.\n"
+"\n"
+"\n"
+"\n"
+"Val\n"
+"\n"
+" Her kan du velja om vil starta det grafiske grensesnittet automatisk ved\n"
+"oppstart. Du bør velja «%s» berre om maskina skal brukast til tenar, eller\n"
+"om du ikkje klarte å setja opp X rett."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Skjerm\n"
+"\n"
+"Installasjonsprogrammet klarar vanlegvis å finna ut kva skjerm du har,\n"
+"og å setja denne opp automatisk. Men viss dette ikkje går, kan du velja "
+"skjermen\n"
+"sjølv frå denne oversikta."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Oppløysing\n"
+"\n"
+"Her kan du velja kva skjermoppløysing og fargedjupn du vil køyra med.\n"
+"Vel dei innstillingane som passar best for deg (du kan òg endra "
+"innstillingane\n"
+"i ettertid). Det vert vist eit eksempel på valt oppsett på skjermbiletet."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Viss det både finst tenarar med og utan 3D-akselerasjon for skjermkortet "
+"ditt,\n"
+"kan du velja tenaren som passar best for deg."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Val\n"
+"\n"
+" Her kan du velja om du vil starta opp i eit grafisk brukargrensesnitt\n"
+"automatisk. Du bør velja «%s» viss du skal bruka maskina som ein tenar,\n"
+"eller du før ikkje har klart å setja opp det grafiske oppsettet."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"No må du velja kor du vil installera Mandriva Linux på harddisken din. Viss\n"
+"harddisken er tom, eller viss eit anna operativsystem brukar heile disken,\n"
+"må du først partisjonera han. Å partisjonera vil seia å dela opp disken,\n"
+"slik at for eksempel kvart operativsystem får sin eigen del.\n"
+"\n"
+"Då du vanlegvis ikkje kan angra partisjonering av harddisken, og feilaktig\n"
+"partisjonering kan føra til at du mistar data om det allereie er installert\n"
+"eit operativsystem, kan dette vera noko vanskeleg for uvørne brukarar.\n"
+"Heldigvis finst det her ein vegvisar som losar deg gjennom heile prosessen.\n"
+"Før du held fram bør du først ta deg godt tid til å lesa denne "
+"hjelpeteksten.\n"
+"\n"
+"Litt avhengig av harddiskoppsettet ditt kan du ha eitt eller fleire av desse "
+"vala:\n"
+"\n"
+"– «%s»: Dette utfører automatisk partisjonering av den tomme harddisken "
+"din.\n"
+"Du vil ikkje få fleire spørsmål om du vel dette.\n"
+"\n"
+"– «%s»: Vegvisaren har funne éin eller fleire Linux-partisjonar på "
+"harddisken din.\n"
+"Vel dette om du ønskjer å bruka dei. Du vert så bedt om å velja "
+"monteringspunkt\n"
+"for kvar av partisjonane. Dei gamle monteringspunkta vert valt som standard, "
+"og\n"
+"vanlegvis bør du ikkje endra på desse.\n"
+"\n"
+"– «%s»: Om Microsoft Windows er installert og tar opp all plass på "
+"harddisken din,\n"
+"må du frigjera noko plass til Mandriva Linux. Du kan anten sletta Windows-\n"
+"partisjonen din (sjå «Slett heile disken»-valet), eller endra storleiken på "
+"Windows-\n"
+"partisjonen (både FAT- og NTFS-filsystema er støtta). Du vil ikkje mista "
+"noko\n"
+"data ved endra storleiken på partisjonen, så lenge du har defragmentert han\n"
+"på førehand. Men du bør uansett ta reservekopi av alle dataa. Du bør velja "
+"dette\n"
+"valet om du ønskjer å bruka både Mandriva Linux og Microsoft Windows på "
+"same\n"
+"maskina.\n"
+"\n"
+" Før du vel dette, bør du vera klar over at Windows-partisjonen vil vera "
+"mindre\n"
+"etterpå, slik at du har mindre ledig plass til å lagra dokument eller "
+"installera\n"
+"programvare.\n"
+"\n"
+"– «%s»: Vel dette om du ønskjer å sletta alle data og alle partisjonar på\n"
+"harddisken din, og installera Mandriva Linux over desse. Ver forsiktig, då "
+"du ikkje\n"
+"kan angra denne handlinga.\n"
+"\n"
+" !! Viss du vel dette, vert alle dataa på harddisken din sletta. !!\n"
+"\n"
+"– «%s»: Dette valet er synleg viss heile harddisken er oppteken av "
+"Microsoft\n"
+"Windows. Dette vil sletta alt på harddisken, og partisjonera alt på nytt.\n"
+" \n"
+"\n"
+" !! Viss du vel dette, vert alle dataa på harddisken din sletta. !!\n"
+"\n"
+"– «%s»: Vel dette om du vil partisjonera harddisken manuelt. Ver forsiktig. "
+"Dette er eit kraftig verktøy, og det er lett å mista data. Derfor bør du "
+"berre velja dette om du har erfaring med dette frå før. Sjå bruksrettleiinga "
+"for meir informasjon."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Bruk gammal partisjon"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Slett heile disken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Sånn! Installasjonen er no ferdig, og Mandriva Linux er klar til bruk. "
+"Berre\n"
+"trykk «%s» for å starta maskina på nytt. Ikkje gløym å fjerna installasjons\n"
+"mediet (CD-ROM-en eller disketten) først. Når maskina er starta opp att,\n"
+"får du sjå ein meny der du kan velja kva operativsystem du vil køyra.\n"
+"\n"
+"«%s»-knappen viser to knappar til:\n"
+"\n"
+"– «%s»: Lag ein installasjonsdiskett for automatisk installering med same\n"
+"oppsettet du har brukt no.\n"
+"\n"
+" Du får òg to nye val når du har trykt på knappen:\n"
+" – «%s»: Halvautomatisk installering. Det er berre partisjoneringsdelen\n"
+" som er manuell.\n"
+" – «%s»: Heilautomatisk installering. Harddisken vert heilt tømt, og "
+"alle\n"
+"gamle data går tapt.\n"
+"\n"
+" Denne funksjonen er veldig nyttig når du skal installera Mandriva Linux "
+"på\n"
+" fleire like maskiner. Sjå avsnittet om automatisk installering på "
+"nettstaden vår for\n"
+"meir informasjon.\n"
+"\n"
+"– «%s»: Lagrar ei liste over pakkane brukt i denne installasjonen. Du kan "
+"bruka\n"
+"denne pakkelista når du skal installera på ei anna maskin ved å setja inn "
+"disketten,\n"
+"og starta installasjonen. Trykk «F1» når installasjonsprogrammet startar, "
+"skriv\n"
+"inn «linux defcfg=\"floppy\"» og trykk så «Enter».\n"
+"\n"
+"Til dette siste treng du ein FAT-formatert diskett. For å laga ein kan du "
+"skriva\n"
+"inn «mformat a:» eller «fdformat /dev/fd0» etterfølgd av «mkfs.vfat /dev/"
+"fd0»."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lag diskett for automatisk installering"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Vis du vil bruka gamle partisjonar, kan du velja å formatera dei på nytt\n"
+"for å sletta alle data på dei. Viss du vil dette, så vel desse "
+"partisjonane.\n"
+"\n"
+"Merk at det ikkje er nødvendig å formatera alle gamle partisjonar på nytt.\n"
+" Du må formatera partisjonane som inneheld operativsystemet (som «/»,\n"
+"«/usr» og «/var»), men du treng ikkje formatera partisjonar med brukardata\n"
+"du ønskjer å behalda (som «/home»).\n"
+"\n"
+"Ver forsiktig når du vel partisjonar. Etter formatering vert alle data på "
+"partisjonane sletta, og du ikkje gjenoppretta dei seinare.\n"
+"\n"
+"Trykk «%s» når du er klar til å formatera partisjonane.\n"
+"\n"
+"Trykk «%s» om du vil velja ein annan partisjon for Mandriva Linux-systemet.\n"
+"\n"
+"Trykk «%s» om du ønskjer å velja partisjonar å gjennomsøkja etter fysiske "
+"feil."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Det har no truleg komme fleire oppdateringar til pakkane i Mandriva Linux\n"
+"sidan denne utgåva vart produsert. Det kan for eksempel vera feil som er\n"
+"fiksa, eller tryggleikshol som er tetta. Du kan lasta ned desse "
+"oppdateringane\n"
+"frå Internett om du ønskjer. Kryss av for «%s» om du har eit fungerande\n"
+"Internett-samband, eller vel «%s» om du heller vil installera "
+"oppdateringane\n"
+"seinare.\n"
+"\n"
+"Vel du «%s», får du ei liste over plassar du kan lasta ned oppdateringar\n"
+"frå. Du bør velja ein plass nær deg. Du vil så få sjå ei pakkeliste. Vel "
+"pakkane\n"
+"du ønskjer å oppdatera, og trykk «%s» for lasta dei ned og installera dei, "
+"eller\n"
+"vel «%s» for å avbryta."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Du kan no velja tryggleiksnivå for maskina. Vanlegvis bør du ha høgare\n"
+"tryggleiksnivå viss maskina inneheld svært viktige data, eller er kopla\n"
+"direkte til Internett. Men merk at eit høgare tryggleiksnivå gjerne fører "
+"til\n"
+"eit mindre brukarvenleg system.\n"
+"\n"
+"Vel «standard» om du ikkje veit kva nivå du skal ha. Du kan uansett\n"
+"endra tryggleiksnivået frå kontrollpanelet seinare.\n"
+"\n"
+"I «%s»-feltet kan du velja kven som skal vera tryggleiksansvarleg for\n"
+"maskina. Han eller ho får då tilsendt alle tryggleiksmeldingar."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tryggleiksansvarleg"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"No må du velja kva partisjonar du vil installera Mandriva Linux på. Om du "
+"allereie har ferdige partisjonar, frå tidlegare installasjonar av GNU/Linux "
+"eller av partisjoneringsverktøy, kan du bruka desse. Elles må du laga nye "
+"partisjonar.\n"
+"\n"
+"For å laga partisjonar, må du først velja ein harddisk. Du gjer dette ved å "
+"velja «hda» for første IDE-harddisk, «hdb» for andre, «sda» for første SCSI-"
+"harddisk, og så vidare.\n"
+"\n"
+"Du har desse vala ved partisjonering av harddisken du valte:\n"
+"\n"
+" – «%s»: Slettar alle partisjonar på harddisken.\n"
+"\n"
+" – «%s»: Lagar automatisk ext3- og vekslepartisjonar på den ledige "
+"harddiskplassen.\n"
+"\n"
+"«%s»: Gjev tilgang til fleire funksjonar:\n"
+"\n"
+" – «%s»: Lagrar partisjonstabellen på ein diskett. Dette er nyttig for "
+"eventuell seinare gjenoppretting. Du bør lagra partisjonstabellen.\n"
+"\n"
+" – «%s»: Lèt deg gjenoppretta ein tidlegare lagra partisjonstabell frå ein "
+"diskett.\n"
+"\n"
+" – «%s»: Om partisjonstabellen er øydelagt, kan du prøva å gjenoppretta han "
+"her. Ver forsiktig, og hugs at dette ikkje alltid vil verka.\n"
+"\n"
+" – «%s»: Avbryter alle endringar, og lastar inn den opphavlege "
+"partisjonstabellen.\n"
+"\n"
+" – «%s»: Viss du fjernar krysset her, må brukarane manuelt montera og "
+"avmontera flyttbare medium, som diskettar og CD-plater.\n"
+"\n"
+" – «%s»: Bruk dette valet om du vil bruka ein vegvisar til å partisjonera "
+"harddisken. Du bør velja dette om du ikkje har god kjennskap til "
+"harddiskpartisjonering.\n"
+"\n"
+" – «%s»: Bruk dette valet for å avbryta endringane.\n"
+"\n"
+" – «%s»: Fleire partisjonsval og meir informasjon om harddisken.\n"
+"\n"
+" – «%s»: Når du er ferdig å partisjonera harddisken, vil dette lagra "
+"endringane dine.\n"
+"\n"
+"Du kan fininnstilla partisjonsstorleiken ved å bruka piltastane på "
+"tastaturet.\n"
+"\n"
+"Merk: Du har tilgang til alle funksjonane frå tastaturet. Du kan flytta "
+"mellom partisjonar med «Tab», «Pil opp»- og «Pil ned»-tastane.\n"
+"\n"
+"Når ein partisjon er valt kan du bruka:\n"
+"\n"
+" – «Ctrl + C» for å laga ein ny partisjon (når ein tom partisjon er valt).\n"
+"\n"
+" – «Ctrl + D» for å sletta ein partisjon.\n"
+"\n"
+" – «Ctrl + M» for å definera monteringspunkt.\n"
+"\n"
+"Du kan lesa meir om forskjellige filsystem i kapittelet «ext2FS» i "
+"referansehandboka.\n"
+"\n"
+"Om du installerer på ei PPC-maskin, bør du laga ein liten HFS-"
+"oppstartslastarpartisjon på minst 1 MiB for yaboot. Vis du lagar partisjonen "
+"større, kanskje 50 MiB, kan du bruka han til å lagra ein ekstra kjerne, og "
+"eventuelt ramdisk-bilete for nødsituasjonar.r"
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatisk montering av fjernbare medium"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Byt mellom normal- og ekspertmodus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Oppdaga meir enn éin Microsoft-partisjon på harddisken.\n"
+"Vel kven av dei du vil endra storleiken på for å installera det nye\n"
+"Mandriva Linux-operativsystemet.\n"
+"Kvar partisjon vert vist slik: Linux-namn, Windows-namn, storleik.\n"
+"Linuxnamnet er skriven slik: harddisktype, harddisknummer, partisjonsnummer "
+"(for eksempel «hda1»).\n"
+"\n"
+"Harddisktypen er «hd» viss harddisken er ein IDE-harddisk og «sd»\n"
+"viss han er ein SCSI-harddisk.\n"
+"Harddisknummeret er alltid ein bokstav etter «hd» eller «sd». For\n"
+"IDE-harrdiskar:\n"
+"\n"
+" * «a» tyder hovudharddisk på primær IDE-kontrollar.\n"
+"\n"
+" * «b» tyder slaveharddisk på primær IDE-kontrollar.\n"
+"\n"
+" * «c» tyder hovudharddisk på sekundær IDE-kontrollar.\n"
+"\n"
+" * «d» tyder slaveharddisk på sekundær IDE-kontrollar.\n"
+"\n"
+"For SCSI-harddiskar tyder «a» lågaste SCSI-ID, «b» nest lågaste\n"
+"SCSI-ID, og så vidare.\n"
+"Windowsnamnet er stasjonsbokstaven til harddisken under Windows\n"
+"(første disk eller partisjon vert kalla «C:»."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: Kontroller landsvalet. Trykk «%s» for velja eit anna land.\n"
+"Du kan velja «%s» for å få ei fullstendig liste over land."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX vil automatisk velja eit passande tastaturoppsett avhengig av språket\n"
+"du valde. Sjå etter at tastaturoppsettet stemmer, og vel eventuelt eit "
+"anna.\n"
+"\n"
+"Det kan òg vera at du ikkje har eit tastatur som passar heilt til språket "
+"ditt.\n"
+"Du kan for eksempel ha eit sveitsisk tastatur om du er ein engelsktalande\n"
+"sveitsar. Du kan då velja eit passande tastaturoppsett her.\n"
+"\n"
+"Trykk «%s» for ei fullstendig liste over støtta tastatur.\n"
+"\n"
+"Om du vel eit tastaturoppsett som ikkje er basert på det latinske "
+"alfabetet,\n"
+"kan du på neste skjermbilete velja ein snøggtast for å byta mellom latinsk "
+"og\n"
+"ikkje-latinsk oppsett."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spansk"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universell (alle PS/2- og USB-mus)"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vel porten som er brukt. For eksempel har porten som heiter\n"
+"«COM1» under Windows fått namnet «ttyS0» i GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentisering"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: Eventuelle lydkort funne vert vist her. Viss lydkortet vist her ikkje "
+"er\n"
+"installert i maskina di, kan du trykkja knappen og velja ein annan drivar."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafisk grensesnitt"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vel harddisken du ønskjer å sletta for å installera den nye Mandriva Linux-\n"
+"partisjonen. Alle data på denne stasjonen vil då gå tapt for all framtid."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Trykk «%s» om du ønskjer å sletta alle data og partisjonar på denne\n"
+"harddisken. Ver forsiktig, då du ikkje kan gjenoppretta eventuelle data\n"
+"eller partisjonar, heller ikkje Windows-data, på harddisken etter å ha "
+"trykt\n"
+"«%s».\n"
+"\n"
+"Trykk «%s» for å avbryta operasjonen utan å tapa data eller partisjonar\n"
+"på harddisken."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Neste ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Førre"
+
diff --git a/perl-install/install/help/po/pa_IN.po b/perl-install/install/help/po/pa_IN.po
new file mode 100644
index 000000000..83d9be578
--- /dev/null
+++ b/perl-install/install/help/po/pa_IN.po
@@ -0,0 +1,1163 @@
+# translation of DrakX.po to Punjabi
+# translation of DrakX.po to Panjabi
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Kanwaljeet Singh Brar <kanwaljeetbrar@yahoo.co.in>, 2005.
+# Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-03-27 17:55+0530\n"
+"Last-Translator: Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>\n"
+"Language-Team: Punjabi <punlinux-i18n@lists.soruceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"ਜਾਰੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਲਾਈਸਿੰਸ ਧਿਆਨ ਨਾਲ ਪੜਨਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ\n"
+"ਪੂਰੇ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੰਡ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਸਾਰੀਆਂ ਗੱਲਾਂ ਨਾਲ ਸਹਿਮਤ\n"
+"ਹੋ ਜੋ ਇਸ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹਨ, \"%s\" ਬਕਸੇ ਨੂੰ ਚੁਣੋ। ਜੇ ਨਹੀਂ, \"%s\" ਬਟਨ ਤੇ ਕਲਿੱਕ\n"
+"ਕਰਕੇ ਕੰਪਿਊਟਰ ਮੁੜ ਚੱਲੇਗਾ।"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਇੰਸਟਾਲੇਸ਼ਨ ਕਈ CD-ROM ਤੇ ਵੰਡੀ ਗਈ ਹੈ। ਜੇ ਇੱਕ ਚੁਣਿਆ\n"
+"ਪੈਕੇਜ ਹੋਰ CD-ROM ਤੇ ਸਥਿਤ ਹੈ, DrakX ਮੌਜੂਦਾ CD ਨੂੰ ਰੱਦ ਕਰ ਦੇਵੇਗਾ\n"
+"ਤੁਹਾਨੂੰ ਲੋੜੀਂਦੀ CD ਪਾਉਣ ਲਈ ਪੁੱਛੇਗਾ। ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਲੋੜੀਂਦੀ CD ਨਹੀਂ\n"
+"ਹੈ, ਸਿਰਫ \"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ, ਅਨੁਸਾਰੀ ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ\n"
+"ਹੋਵੇਗਾ।"
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ਨਵੀਨੀਕਰਨ"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "ਮੁੱਢਲੀ ਦਸਤਾਵੇਜ਼ੀ ਨਾਲ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "ਯਕੀਨਨ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "ਸਵੈ-ਚਾਲਤ ਨਿਰਭਰਤਾ"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": \"%s\" ਬਟਨ ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਪ੍ਰਿੰਟਰ ਸੰਰਚਨਾ ਤਖਤੀ ਖੁੱਲੇਗੀ।\n"
+"ਨਵਾਂ ਪ੍ਰਿੰਟਰ ਨਿਰਧਾਰਿਤ ਕਰਨ ਵਾਸਤੇ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ``Starter Guide''\n"
+"ਦਾ ਅਨੁਸਾਰੀ ਅਧਿਆਇ ਵੇਖੋ। ਸਾਡੇ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਦਿੱਤਾ ਇੰਟਰਫੇਸ\n"
+"ਇੰਸਟਾਲੇਸ਼ਨ ਦੌਰਾਨ ਵਰਤੇ ਇੰਟਰਫੇਸ ਵਰਗਾ ਹੈ।"
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "ਸਵੈਚਾਲਤ ਸਮਾਂ ਸਮਕਾਲਤਾ"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"ਮਾਨੀਟਰ\n"
+"\n"
+" ਆਮ ਤੌਰ ਤੇ ਇੰਸਟਾਲਰ ਸਵੈ ਹੀ ਤੁਹਾਡੇ ਸਿਸਟਮ ਤੇ ਜੁੜੇ ਮਾਨੀਟਰ ਨੂੰ ਖੋਜਦਾ ਅਤੇ\n"
+"ਸੰਰਚਿਤ ਕਰਦਾ ਹੈ। ਜੇ ਇਹ ਠੀਕ ਨਹੀਂ, ਤੁਸੀਂ ਮਾਨੀਟਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚੋਂ\n"
+"ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਜੁੜਿਆ ਮਾਨੀਟਰ ਚੁਣ ਸਕਦੇ ਹੋ।"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"ਰੈਜ਼ੋਲੂਸ਼ਨ\n"
+"\n"
+" ਇੱਥੇ ਤੁਸੀਂ ਆਪਣੇ ਗਰਾਫਿਕਸ਼ ਹਾਰਡਵੇਅਰ ਲਈ ਉਪਲੱਬਧ ਰੈਜ਼ੋਲੁਸ਼ਨ ਅਤੇ ਰੰਗ ਡੂੰਘਾਈ\n"
+"ਚੁਣ ਸਕਦੇ ਹੋ। ਇੱਕ ਜੋ ਤੁਹਾਡੀ ਲੋੜ ਪੂਰੀ ਕਰਦਾ ਹੈ ਚੁਣੋ (ਤੁਸੀਂ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ\n"
+"ਤਬਦੀਲੀ ਕਰ ਦੇ ਯੋਗ ਹੋਵੋਗੇ)। ਚੁਣੀ ਸੰਰਚਨਾ ਦਾ ਨਮੂਨਾ ਮਾਨੀਟਰ ਤਸਵੀਰ\n"
+"ਵਿੱਚ ਵਿਖਾਇਆ ਗਿਆ ਹੈ।"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"ਜਦੋਂ ਤੁਹਾਡੇ ਕਾਰਡ ਲਈ 3D ਪ੍ਰਵੇਗ ਸਮੇਤ ਜਾਂ ਬਿਨਾਂ, ਵੱਖ-ਵੱਖ ਸਰਵਰ\n"
+"ਉਪਲੱਬਧ ਹੋਣ, ਤੁਹਾਨੂੰ ਸਰਵਰ ਪੁੱਛਿਆ ਜਾਵੇਗਾ ਜੋ ਤੁਹਾਡੀ ਜਰੂਰਤ ਵਧੀਆ\n"
+"ਪੂਰੀ ਕਰਦਾ ਹੈ।"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"ਚੋਣ\n"
+"\n"
+" ਇਹ ਪਗ਼ ਤੁਹਾਨੂੰ ਚੁਣਨ ਦੇਵੇਗਾ ਕਿ ਕੀ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਸਵੈ ਹੀ ਬੂਟ ਦੌਰਾਨ\n"
+"ਗਰਾਫੀਕਲ ਵਿੱਚ ਤਬਦੀਲ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਨਹੀਂ। ਜਰੂਰ, ਤੁਸੀਂ \"%s\" ਨੂੰ\n"
+"ਨੂੰ ਚੁਣਨਾ ਚਾਹੋਗੇ ਜੇ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਨੇ ਸਰਵਰ ਤੌਰ ਤੇ ਕੰਮ ਕਰਨਾ ਹੈ, ਜਾਂ ਜੇ\n"
+"ਤੁਸੀਂ ਸੰਰਚਿਤ ਦ੍ਰਿਸ਼ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਸਫਲ ਨਹੀਂ ਹੋਏ।"
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "ਮੌਜੂਦਾ ਭਾਗ ਵਰਤੋ"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "ਸਾਰੀ ਡਿਸਕ ਸਾਫ"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "ਸਵੈ-ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾਓ"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "ਸੁਰੱਖਿਆ ਪ੍ਰਬੰਧਕ"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "ਹਟਾਉਣ ਯੋਗ ਮਾਧਿਅਮ ਸਵੈ-ਮਾਊਂਟ ਹੋ ਰਿਹਾ ਹੈ"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "ਸਧਾਰਨ/ਮਾਹਿਰ ਵਿਧੀ ਵਿਚਕਾਰ ਤਬਦੀਲੀ"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": ਵਰਤਮਾਨ ਦੇਸ਼ ਚੋਣ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਸ ਦੇਸ਼ ਵਿੱਚ ਨਹੀਂ,\n"
+"\"%s\" ਬਟਨ ਦਬਾਓ ਅਤੇ ਹੋਰ ਚੁਣੋ। ਜੇ ਤੁਹਾਡਾ ਦੇਸ਼ ਵਿਖਾਈ ਸੂਚੀ ਵਿੱਚ\n"
+"ਨਹੀਂ ਹੈ, ਦੇਸ਼ ਸੂਚੀ ਪੂਰੀ ਕਰਨ ਲਈ \"%s\" ਬਟਨ ਦਬਾਓ।"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "ਚੱਕਰ ਸਮਰੂਪਤਾ ਨਾਲ"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "ਵਿਆਪਕ | ਕੋਈ PS/2 ਤੇ USB ਮਾਊਸ"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"ਕਿਰਪਾ ਕਰਕੇ ਠੀਕ ਪੋਰਟ ਚੁਣੋ। ਉਦਾਹਰਨ ਵਜੋਂ, Windows ਦੇ ਅਧੀਨ \"COM1\"\n"
+"GNU/ਲੀਨਕਸ ਦੇ ਅਧਿਨ \"ttyS0\" ਕਹਿਲਾਉਂਦੀ ਹੈ।"
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "ਮਾਹਿਰ"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ਜੇ ਤੁਹਾਡੇ ਸਿਸਟਮ ਤੇ ਕੋਈ ਸਾਊਂਡ ਕਾਰਡ ਲੱਭਿਆ ਹੈ, ਇਹ ਇੱਥੇ ਵਿਖਾਇਆ\n"
+"ਜਾਵੇਗਾ। ਜੇ ਲੱਭਿਆ ਕਾਰਡ ਤੁਹਾਡੇ ਸਿਸਟਮ ਵਾਲਾ ਸਾਊਂਡ ਕਾਰਡ ਨਹੀਂ ਹੈ,\n"
+"ਤੁਸੀਂ ਬਟਨ ਦਬਾ ਸਕਦੇ ਹੋ ਅਤੇ ਹੋਰ ਡਰਾਈਵਰ ਚੁਣ ਸਕਦੇ ਹੋ।"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN ਕਾਰਡ"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "ਗਰਾਫੀਕਲ ਇੰਟਰਫੇਸ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"ਤੁਹਾਡਾ ਨਵਾਂ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਭਾਗ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਸਾਫ ਕਰਨ ਵਾਸਤੇ\n"
+"ਹਾਰਡ ਡਰਾਈਵ ਚੁਣੋ। ਧਿਆਨ ਰੱਖੋ, ਇਸ ਡਰਾਈਵ ਤੇ ਸਾਰਾ ਡਾਟਾ ਗੁੰਮ ਹੋ ਜਾਵੇਗਾ\n"
+"ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਹੋਣ ਯੋਗ ਨਹੀਂ ਰਹੇਗਾ!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"\"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ ਜੇ ਤੁਸੀਂ ਇਸ ਹਾਰਡ ਡਰਾਈਵ ਤੇ ਸਾਰਾ ਡਾਟਾ ਅਤੇ ਭਾਗ\n"
+"ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ। ਧਿਆਨ ਰੱਖੋ, \"%s\" ਤੇ ਕਲਿੱਕ ਕਰਨ ਮਗਰੋਂ, ਤੁਸੀਂ ਇਸ ਡਰਾਈਵ\n"
+"ਉੱਪਰਲਾ ਡਾਟਾ ਅਤੇ ਭਾਗ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰ ਨਹੀਂ ਸਕਦੇ, ਕੋਈ Windows\n"
+"ਡਾਟਾ ਵੀ।\n"
+"\n"
+"ਇਸ ਹਾਰਡ ਡਰਾਈਵ ਉੱਪਰਲਾ ਡਾਟਾ ਅਤੇ ਭਾਗ ਹਟਾਏ ਬਿਨਾਂ ਬਾਹਰ ਜਾਣ ਲਈ\n"
+"\"%s\" ਤੇ ਕਲਿੱਕ ਕਰੋ।"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "ਅੱਗੇ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ਪਿੱਛੇ"
+
diff --git a/perl-install/install/help/po/pl.po b/perl-install/install/help/po/pl.po
new file mode 100644
index 000000000..70d68ef2e
--- /dev/null
+++ b/perl-install/install/help/po/pl.po
@@ -0,0 +1,1969 @@
+# translation of drakx.po to polish
+# translation of pl.po to polish
+# translation of DrakX-pl.po to polski
+# translation of pl.po to Polish
+# Polish translation file
+# tomek, 2005.
+# Paweł Jabłoński <pj@linux-mandrake.com>, 2001,2002.
+# Arkadiusz Lipiec <arkadiusz.lipiec@gazeta.pl>, 2002-2004.
+# Tomasz Bednarski <bednarski@skrzynka.pl>, 2005.
+# Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2005.
+# Maciej Walkowiak <m.walkowiak@computer.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-10-22 14:46+0200\n"
+"Last-Translator: Tomasz Bednarski <tomasz.bednarski@mandriva.pl>\n"
+"Language-Team: polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Przed kontynuowaniem, należy przeczytać uważnie warunki licencji dotyczącej "
+"całej dystrybucji Mandriva Linux. Jeśli zgadzasz się\n"
+"z wszystkimi warunkami w niej zawartymi, zaznacz opcję \"%s\".\n"
+"Jeśli nie kliknij na przycisk \"%s\" w celu ponownego uruchomienia\n"
+"komputera."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux jest systemem wielodostępnym, co oznacza, że każdy użytkownik\n"
+"posiada własne ustawienia, własne pliki, może pracować równocześnie\n"
+"z innymi użytkownikami na tym samym komputerze itd. Jednak, \n"
+"w przeciwieństwie do użytkownika \"root\", będącym administratorem,\n"
+"użytkownicy tutaj dodani nie będą mieli możliwości zmiany czegokolwiek\n"
+"ponad swoje własne ustawienia, co chroni przed niezamierzonymi lub\n"
+"złośliwymi zmianami mogącymi wpływać na działanie całego systemu.\n"
+"Należy utworzyć co najmniej jednego zwykłego użytkownika dla siebie. Należy "
+"się logować do tego konta w trakcie normalnej pracy. Pomimo, że\n"
+"logowanie jako \"root\" jest bardzo praktyczne, to jednak może być\n"
+"bardzo niebezpieczne! Najmniejsza pomyłka może spowodować nieodwracalne\n"
+"uszkodzenie systemu. Jeśli z konta zwykłego użytkownika zostanie \n"
+"wykonany nawet poważny błąd, utracona zostanie tylko część danych tego\n"
+"użytkownika, a nie cały system.\n"
+"\n"
+"Najpierw należy wprowadzić rzeczywiste imię. Nie jest to czynność wymagana\n"
+"-- można wprowadzić dowolny ciąg znaków. Instalator pobierze pierwszy wyraz "
+"z\n"
+"wprowadzonego ciągu i przeniesie go do pola \"%s\", określającego nazwę\n"
+"użytkownika wprowadzaną podczas logowania się do systemu. Oczywiście,\n"
+"można ją zmienić. Ważna jest wielkość liter - dla Linuksa \"a\" i \"A\" to\n"
+"dwie różne litery. Następnie należy ustawić dla tego użytkownika hasło.\n"
+"Mimo, że hasło zwykłego użytkownika nie jest tak newralgiczne, jak \n"
+"hasło \"roota\", to jednak z powodów bezpieczeństwa nie należy go pomijać.\n"
+"\n"
+"Po kliknięciu \"%s\", można dodać kolejnych użytkowników, Nie ma żadnych\n"
+"ograniczeń na ich liczbę. Dodaj np. konta dla wszystkich przyjaciół, dla\n"
+"ojca, siostry itd. Po zakończeniu dodawania wybierz \"%s\".\n"
+"\n"
+"Po kliknięciu przycisku \"%s\" można zmienić domyślną \"powłokę\"\n"
+"dla użytkownika (domyślnie bash).\n"
+"\n"
+"Po zakończeniu dodawania wszystkich użytkowników, zostanie zadane\n"
+"pytanie o to, który użytkownik będzie automatycznie logowany\n"
+"podczas uruchamiania komputera. Jeśli masz ochotę używać tej funkcji\n"
+"(oraz nie dbasz za bardzo o bezpieczeństwo lokalne), wybierz żądanego\n"
+"użytkownika oraz menedżera okien, a następnie kliknij \"%s\".\n"
+"Jeśli nie chcesz używać tej funkcji, odznacz opcję \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Czy chcesz wykorzystać tą funkcję?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Powyżej pokazano wykryte na Twoim dysku istniejące partycje linuksowe.\n"
+"Można zastosować wybory określone przez druida, są one odpowiednie\n"
+"w większości przypadków. Jeśli wprowadza się zmiany, należy określić "
+"przynajmniej partycję root (\"/\"). Nie należy wybierać zbyt małej \n"
+"partycji - nie będzie można wówczas zainstalować zbyt dużo \n"
+"oprogramowania. Jeśli dane mają być przechowywane na \n"
+"oddzielnej partycji, należy także utworzyć partycję \"/home\"\n"
+"(jest to możliwe tylko wtedy, jeśli\n"
+"dostępnych jest więcej niż jedna partycja linuksowa)\n"
+"\n"
+"Dla informacji, każda partycja jest określona przez \"Nazwę\" i \"Rozmiar"
+"\".\n"
+"\n"
+"\"Nazwa\" jest określana następująco: \"typ dysku\",\"numer dysku\",\n"
+"\"numer partycji\". (na przykład \"hda1\").\n"
+"\n"
+"\"Typ dysku\" to \"hd\" w przypadku dysków IDE, \"sd\" w przypadku SCSI\n"
+"\n"
+"\"Numer dysku\" to litera po \"hd\" lub \"sd\". W przypadku dysków IDE:\n"
+"\n"
+" * \"a\" oznacza \"pierwszy dysk na pierwszym kontrolerze IDE\";\n"
+"\n"
+" * \"b\" oznacza \"drugi dysk na pierwszym kontrolerze IDE\";\n"
+"\n"
+" * \"c\" oznacza \"pierwszy dysk na drugim kontrolerze IDE\";\n"
+"\n"
+" * \"d\" oznacza \"drugi dysk na drugim kontrolerze IDE\"\n"
+"\n"
+"W przypadku dysków SCSI, \"a\" oznacza \"najniższy ID SCSI\", zaś \"b\",\n"
+"oznacza \"drugi w kolejności ID SCSI\", itd."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Instalacja Mandriva Linux jest rozpowszechniana na kilku płytach CD.\n"
+"Jeśli wybrany pakiet jest zlokalizowany na innej płycie CD\n"
+" instalator wysunie bieżącą płytę CD oraz wyświetli prośbę\n"
+"o włożenie wymaganej płyty CD. Jeśli nie posiadasz wymaganej\n"
+"płyty CD w ręku, kliknij \"%s\", związane z nią pakiety nie zostaną\n"
+"zainstalowane."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Nadszedł czas na określenie, jakie programy mają zostać zainstalowane w\n"
+"systemie. Dla Mandriva Linux są dostępne tysiące pakietów. Aby uczynić\n"
+"zarządzanie pakietami łatwiejszym, zostały one uporządkowane na podstawie\n"
+"podobieństwa aplikacji.\n"
+"\n"
+"Pakiety są podzielone na grupy tematyczne. Dostępne są cztery wstępnie\n"
+"zdefiniowane kategorie instalacji. Można mieszać i dopasowywać aplikacje\n"
+"z różnych sekcji, tak więc na przykład instalacja \"Stacja robocza\"\n"
+"może także zawierać aplikacje z sekcji \"Serwer\".\n"
+"\n"
+" * \"%s\": jeśli komputer będzie pracował jako stacja\n"
+"robocza, należy wybrać jedną lub więcej związanych z tą sekcją grup.\n"
+"\n"
+" * \"%s\": jeśli komputer będzie używany do programowania, należy\n"
+"wybrać odpowiednie grupy związane z tą sekcją. Specjalna grupa \"LSB\"\n"
+"skonfiguruje system, tak aby był jak najbardziej zgodny ze standardem\n"
+"Linux Standard Base.\n"
+"\n"
+" Wybranie grupy \"LSB\" zainstaluje także jądro serii \"2.4\", zamiast\n"
+"domyślnego \"2.6\". Dzieje się tak dlatego, aby mieć 100%% pewność,\n"
+"że komputer jest zgodny z LSB. Jednak jeśli nie zaznaczysz\n"
+"grupy \"LSB\", system wciąż będzie niemal 100%% zgodny z LSB.\n"
+"\n"
+" * \"%s\": jeśli komputer będzie pracował jako serwer, pojawi się\n"
+"możliwość wyboru różnych usług, które mogą być zainstalowane na komputerze;\n"
+"\n"
+" * \"%s\": na końcu można określić preferowane środowisko\n"
+"graficzne. Co najmniej jedna grupa musi zostać wybrana, jeśli komputer\n"
+"ma pracować jako stacja z interfejsem graficznym!\n"
+"\n"
+"Przesuwając kursor myszy nad nazwą grupy, wyświetli się krótki tekst\n"
+"opisujący daną grupę.\n"
+"\n"
+"Można zaznaczyć \"%s\", która to opcja jest\n"
+"użyteczna jeśli użytkownik zna przeznaczenie pakietów i jeśli chce mieć\n"
+"całkowitą kontrolę nad tym co zostanie zainstalowane w systemie.\n"
+"\n"
+"Jeśli została uruchomiona instalacja w trybie \"%s\", można\n"
+"odznaczyć wszystkie grupy, zapobiegając w ten sposób instalacji nowych\n"
+"pakietów. Ta opcja jest użyteczna przy naprawianiu lub aktualizacji\n"
+"już istniejącego systemu\n"
+"\n"
+"Jeśli odznaczone zostaną wszystkie grupy w trakcie\n"
+"przeprowadzania zwykłej instalacji (przeciwieństwo do aktualizacji),\n"
+"wyświetlone zostanie okienko z propozycjami grup określających\n"
+"inne opcje związane z instalacją minimalną:\n"
+". \n"
+" * \"%s\": instalacja minimalnej liczby pakietów koniecznej do\n"
+"uruchomienia stacji graficznej.\n"
+"\n"
+" * \"%s\": instalacja systemu podstawego wraz z podstawowymi\n"
+"narzędziami i dokumentacją dla nich. Ta instalacja jest zalecana\n"
+"przy pracy jako serwer.\n"
+"\n"
+" * \"%s\": instalacja absolutnie minimalnej liczby pakietów\n"
+"koniecznych do otrzymania działającego Linuksa. Po wybraniu\n"
+"tej opcji użytkownik będzie miał dostęp jedynie do interfejsu\n"
+"wiersza poleceń. Całkowity rozmiar tej instalacji to ok. 65\n"
+"megabajtów."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uaktualnij"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Z podstawową dokumentacją"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Naprawdę minimalna instalacja"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Jeżeli zaznaczono opcję wyboru indywidualnych\n"
+"pakietów, to wyświetlona zostanie struktura drzewa zawierająca\n"
+"wszystkie pakiety podzielone na grupy i podgrupy. W trakcie przeglądania\n"
+"drzewa można wybrać całą grupę, podgrupę lub pojedyncze pakiety.\n"
+"\n"
+"Po wybraniu pakietu ze struktury, po prawej stronie wyświetlony zostanie \n"
+"opis, pomagający w zorientowaniu się do czego pakiet służy.\n"
+"\n"
+"!! Jeśli zostanie wybrany pakiet serwera, niezależnie czy wybrany został\n"
+"w drodze indywidualnego wyboru pakietów, lub też jako pakiet grupy,\n"
+"zostanie wyświetlona prośba o potwierdzenie wyboru pakietu serwera\n"
+"przed jego instalacją. W systemie Mandriva Linux, wszystkie zainstalowane\n"
+"serwery są uruchamiane domyślnie w trakcie\n"
+"uruchamiania całego systemu. Nawet jeśli dany pakiet jest uważany\n"
+"za bezpieczny i w trakcie instalacji nie są znane żadne problemy z nim\n"
+"związane, może się zdarzyć, że zostaną wykryte luki w jego\n"
+"zabezpieczeniach już po instalacji. Jeśli użytkownik nie posiada\n"
+"informacji o tym, do czego dana usługa jest przeznaczona lub też dlaczego\n"
+"jest instalowana, wówczas powinien kliknąć przycisk \"%s\".\n"
+"Kliknięcie \"%s\" spowoduje zainstalowanie wypisanych usług, które\n"
+"będą automatycznie uruchamiane w trakcie uruchamiania całego systemu. !!\n"
+"\n"
+"Opcja \"%s\" jest używana do zablokowania okna ostrzeżeń\n"
+"pojawiającego się w momencie automatycznego wyboru pakietów przez\n"
+"instalatora w celu spełnienia zależności. Niektóre pakiety zależą od "
+"innych,\n"
+"tak więc instalacja określonego pakietu może wymagać instalacji innego.\n"
+"Instalator potrafi określić, jakie pakiety są wymagane do spełnienia\n"
+"zależności oraz do pomyślnego zakończenia instalacji.\n"
+"\n"
+"Niewielka ikona dyskietki na dole listy umożliwia wczytanie listy pakietów\n"
+"wybranych w trakcie poprzedniej instalacji. Jest to użyteczna opcja\n"
+"w przypadku posiadania wielu maszyn, które muszą zostać skonfigurowane\n"
+"w identyczny sposób. Kliknięcie tej ikony spowoduje wyświetlenie prośby\n"
+"o włożenie dyskietki utworzonej po zakończeniu poprzedniego procesu\n"
+"instalacji. Zobacz drugą podpowiedź ostatniego kroku, zawierającą\n"
+"informację o tym, jak utworzyć taką dyskietkę."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatyczne zależności"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": kliknięcie przycisku \"%s\" spowoduje otwarcie\n"
+"druida konfiguracji drukarki. Przeczytaj odpowiedni rozdział\n"
+"podręcznika, aby uzyskać więcej informacji na temat sposobu konfiguracji\n"
+"nowej drukarki. Interfejs wykorzystywany w tym miejscu jest podobny\n"
+"do interfejsu używanego w czasie instalacji."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"To okno dialogowe jest używane do wybrania usług włączanych podczas\n"
+"uruchamianiu systemu.\n"
+"\n"
+"Zaprezentowane zostaną wszystkie dostępne usługi z bieżącej instalacji.\n"
+"Przejrzyj je uważnie i odznacz te z nich, które nie są zawsze potrzebne\n"
+"przy uruchamianiu systemu.\n"
+"\n"
+"Po zaznaczeniu elementu listy, pojawi się objaśnienie z opisem tej usługi.\n"
+"Jednak w przypadku braku pewności, czy dana usługa jest\n"
+"potrzebna czy nie, bezpieczniej jest pozostawić ustawienie domyślne.\n"
+"\n"
+"!! Należy zachować szczególną ostrożność przy wyborze, jeżeli maszyna\n"
+"ma pracować jako serwer - zazwyczaj nie będzie potrzeby uruchamiania\n"
+"niektórych usług. Należy pamiętać, że uruchomienie niektórych z nich na\n"
+"serwerze może być niebezpieczne. W ogólności, należy uruchamiać tylko\n"
+"te usługi, które naprawdę są naprawdę potrzebne.!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux zarządza czasem w formacie GMT (Greenwich Mean Time)\n"
+"i tłumaczy go na czas lokalny w zależności od wybranej strefy czasowej.\n"
+"Jest jednak możliwe wyłączenie tej opcji poprzez wybór \"%s\",\n"
+"co spowoduje, że zegar sprzętowy będzie wskazywał ten sam czas co zegar\n"
+"systemowy. Jest to użyteczne, jeśli komputer zarządza innym systemem\n"
+"operacyjnym.\n"
+"\n"
+"Opcja \"%s\" automatycznie ustawi zegar łącząc się\n"
+"ze zdalnym serwerem czasu przez Internet. Oczywiście trzeba posiadać\n"
+"działające połączenie internetowe, aby to udogodnienie zadziałało.\n"
+"Najlepiej wybrać serwer czasu zlokalizowany niedaleko miejsca instalacji.\n"
+"Na komputerze zostanie zainstalowany serwer czasu, który może być\n"
+"używany przez inne komputery w sieci lokalnej."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatyczna synchronizacja czasu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Karta graficzna\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje\n"
+"kartę graficzną zainstalowaną na komputerze. Jeśli jednak nie zostanie\n"
+"wykryta, można wybrać posiadaną kartę z listy.\n"
+"\n"
+" W przypadku gdy dla karty dostępne są różne serwery, z lub bez\n"
+"akceleracji 3D, zostanie wyświetlona prośba o wybranie serwera\n"
+"najlepiej odpowiadającego potrzebom użytkownika."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (od systemu X Window) to serce graficznego interfejsu GNU/Linux,\n"
+"z którego korzystają wszystkie środowiska graficzne (KDE, GNOME,\n"
+"AfterStep, WindowMaker, itd.) dostępne w systemie Mandriva Linux.\n"
+"\n"
+"Zostanie wyświetlona lista różnych parametrów pozwalających\n"
+"na zmianę sposobu wyświetlania.\n"
+"\n"
+"Karta graficzna\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje kartę\n"
+"graficzną zainstalowaną na komputerze. Jeśli nie zostanie wykryta,\n"
+"użytkownik może wybrać posiadaną kartę z listy.\n"
+"\n"
+" W przypadku, gdy dla karty graficznej dostępne są różne serwery,\n"
+"z lub bez akceleracji 3D, użytkownik może wybrać serwer najlepiej\n"
+"odpowiadający jego potrzebom.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Instalator zazwyczaj automatycznie rozpoznaje i konfiguruje\n"
+"monitor podłączony do komputera. W innym przypadku należy\n"
+"ręcznie wybrać z listy posiadany monitor.\n"
+"\n"
+"\n"
+"\n"
+"Rozdzielczość\n"
+"\n"
+" W tym miejscu można wybrać rozdzielczość i głębię kolorów spośród\n"
+"opcji dostępnych dla danego sprzętu. Wybierz tą, która najlepiej\n"
+"spełnia twoje wymagania (będzie można zmienić wybrane parametry\n"
+"także po instalacji). Przykład wybranej konfiguracji jest wyświetlony\n"
+"na monitorze.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"--W zależności od sprzętu ten wpis może się pojawić lub nie.\n"
+"\n"
+" System będzie próbował otworzyć ekran graficzny o żądanej\n"
+"rozdzielczości. Jeśli użytkownik będzie widział komunikat wyświetlany\n"
+"w trakcie testu oraz odpowie \"%s\", wówczas instalator podejmie\n"
+"kolejny krok. W przypadku, gdy komunikat nie będzie widoczny,\n"
+"oznacza to, że jakaś część automatycznie wykrytej konfiguracji jest\n"
+"niepoprawna. Test zakończy się automatycznie po 12 sekundach,\n"
+"przenosząc użytkownika z powrotem do menu. Należy zmieniać\n"
+"konfigurację, aż do momentu, gdy grafika będzie poprawnie wyświetlana.\n"
+"\n"
+"\n"
+"\n"
+"Opcje\n"
+"\n"
+" W tym miejscu można wybrać, czy komputer ma być automatycznie\n"
+"przełączany w tryb graficzny podczas uruchamiania. Oczywiście, lepiej\n"
+"jest wybrać \"%s\" jeśli maszyna ma pracować jako serwer lub też,\n"
+"gdy nie udało się poprawnie skonfigurować wyświetlania."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Instalator zazwyczaj automatycznie wykrywa i konfiguruje monitor\n"
+"podłączony do komputera. Jeśli jednak ten przypadek nie nastąpi, można\n"
+"wybrać z listy aktualnie podłączony do komputera monitor."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozdzielczość\n"
+"\n"
+" W tym miejscu można wybrać rozdzielczość oraz głębię kolorów spośród\n"
+"opcji dostępnych dla danego sprzętu. Wybierz te opcje, które najlepiej\n"
+"odpowiadają twoim potrzebom (te ustawienia będzie można zmienić także\n"
+"po instalacji). Przykład wybranej konfiguracji jest wyświetlony na\n"
+"monitorze."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"W przypadku, gdy twojej karty dostępne są różne serwery, z lub bez\n"
+"akceleracji 3D, będzie można wybrać serwer najlepiej odpowiadający\n"
+"potrzebom użytkownika."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcje\n"
+"\n"
+" Ten krok umożliwia wybór czy komputer ma przełączać się automatycznie\n"
+"do interfejsu graficznego podczas uruchamiania. Oczywiście, można zaznaczyć\n"
+"\"%s\" jeśli komputer ma działać jako serwer, lub jeśli nie udało się\n"
+"skonfigurować ekranu graficznego."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"W tym etapie instalacji należy określić, gdzie na dysku zostanie\n"
+"zainstalowany system operacyjny Mandriva Linux. Jeśli dysk jest pusty\n"
+"lub istniejące systemy operacyjne zajmują całe dostępne miejsce,\n"
+"należy podzielić dysk na partycje.\n"
+"Partycjonowanie to po prostu logiczny podział twardego dysku na oddzielne\n"
+"obszary w celu zainstalowania systemu Mandriva Linux.\n"
+"\n"
+"Ponieważ efekt partycjonowania jest nieodwracalny, czynność wydaje się\n"
+"niebezpieczna i jest stresująca dla niedoświadczonych użytkowników.\n"
+"Na szczęście, instalator zawiera druida upraszczającego ten proces.Przed "
+"zdecydowaniem się na ten krok warto poświęcić nieco czasu na\n"
+"zapoznanie się z dokumentacją.\n"
+"\n"
+"Możliwych jest kilka rozwiązań zależnych od konfiguracji dysku twardego:\n"
+"\n"
+" * \"%s\": ta opcja po prostu oznacza automatyczne\n"
+"partycjonowanie niezapisanych dysków. Nie zostaną wyświetlone żadne\n"
+"dodatkowe pytania.\n"
+"\n"
+" * \"%s\": gdy druid wykrył jedną lub więcej\n"
+"istniejących partycji linuksowych. Wybierz to rozwiązanie, jeśli\n"
+"chcesz użyć tych partycji do nowej instalacji. Zostanie wyświetlona\n"
+"prośba o wybranie punktu montowania dla każdej z tych partycji.\n"
+"Domyślnie wybierane są już zdefiniowane punkty montowania,\n"
+"w większości przypadków lepiej ich nie zmieniać.\n"
+"\n"
+" * \"%s\": jeśli na komputerze\n"
+"został zainstalowany Microsoft Windows, który zajmuje całą przestrzeń\n"
+"dyskową, to należy utworzyć wolne miejsce dla Linuksa. Aby to zrobić, można\n"
+"usunąć partycję MS Windows wraz z danymi (zobacz rozwiązanie \"Kasowanie\n"
+"zawartości dysku\") lub też zmienić rozmiar partycji FAT lub NTFS Windows.\n"
+"Operacja zmiany wielkości partycji może być przeprowadzona bez utraty\n"
+"danych, po przeprowadzeniu defragmentacji. Archiwizacja danych jest\n"
+"jednak wysoce wskazana. To rozwiązanie jest zalecane w przypadku chęci\n"
+"używania zarówno Linuksa, jak i MS Windows na tym samym komputerze\n"
+"\n"
+" Przed wybraniem tej opcji, należy uświadomić sobie, że partycja Microsoft\n"
+"Windows będzie mniejsza, niż jest obecnie. Oznacza to także mniej miejsca\n"
+"do instalacji nowych programów lub przechowywania danych.\n"
+"\n"
+" * \"%s\": Jeśli chcesz usunąć z dysku\n"
+"wszystkie dane i wszystkie partycje istniejące na dysku oraz zainstalować\n"
+"w to miejsce nowy system Mandriva Linux, wybierz to rozwiązanie.\n"
+"Pamiętaj, że po zatwierdzeniu tego wyboru nie nie będzie możliwości "
+"odwrotu.\n"
+"\n"
+" !! Po wybraniu tej opcji wszystkie dane zostaną utracone !!\n"
+"\n"
+" * \"%s\": ta opcja spowoduje wymazanie wszystkich danych\n"
+"oraz rozpoczęcie instalacji na czystym dysku. Wszystkie zapisane dane\n"
+"zostaną utracone.\n"
+"\n"
+" !! Po wybraniu tej opcji wszystkie dane zostaną utracone !!\n"
+"\n"
+"* \"%s\": wybierz tą opcję, jeśli chcesz\n"
+"partycjonować dysk ręcznie. Wybranie tej opcji daje duże możliwości, lecz\n"
+"jest bardzo niebezpieczne. Bardzo łatwo można utracić wszystkie dane.\n"
+"Ta opcja jest dlatego zalecana tylko dla użytkowników posiadających\n"
+"już doświadczenie w partycjonowaniu dysków. Aby uzyskać więcej informacji\n"
+"na temat tego, w jaki sposób korzystać z narzędzia DiskDrake, przeczytaj\n"
+"podręcznik (rozdział \"Zarządzanie partycjami\")."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Wykorzystaj istniejące partycje"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Wymaż cały dysk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Tak więc instalacja zakończyła się i system GNU/Linux jest gotowy do \n"
+"użycia. Kliknij przycisk \"%s\", aby ponownie uruchomić system.\n"
+"Nie zapomnij o usunięciu nośnika instalacyjnego (CD lub dyskietka).\n"
+"Pierwszą rzeczą jaką użytkownik zobaczy po zakończeniu testów sprzętu\n"
+"jest menu programu rozruchowego, dające możliwość wybrania systemu,\n"
+"który powinien zostać uruchomiony.\n"
+"\n"
+"Przycisk \"%s\" powoduje wyświetlenie dwóch dodatkowych przycisków:\n"
+"\n"
+" * \"%s\": aby utworzyć dyskietkę\n"
+"służącą do przeprowadzenia instalacji bez pomocy operatora, w ten\n"
+"sam sposób, jak przeprowadzona przed chwilą instalacja.\n"
+"\n"
+" Uwaga: po kliknięciu przycisku dostępne będą dwie różne opcje:\n"
+"\n"
+" * \"%s\": określa częściowo zautomatyzowaną instalację, zaś\n"
+"w przypadku kroku partycjonowania (i tylko w tym) przypomina tryb \n"
+"interaktywny\n"
+"\n"
+" * \"%s\" Pełna automatyzacja instalacji: twardy dysk jest\n"
+"całkowicie przepisywany, wszystkie dane zostaną utracone.\n"
+"\n"
+" Ta funkcja jest bardzo użyteczna w przypadku instalacji na dużej liczbie\n"
+"podobnych komputerów. Zajrzyj do rozdziału o automatycznej instalacji na\n"
+"naszej stronie www;\n"
+"\n"
+" * \"%s\"(*): zapisuje listę pakietów wybranych\n"
+"w trakcie instalacji. Wówczas podczas przeprowadzania innych instalacji\n"
+"należy włożyć dyskietkę do napędu, uruchomić instalację\n"
+"rozpoczynającą się od ekranu pomocy przez naciśnięcie klawisza [F1],\n"
+"wpisanie polecenie >>linux defcfg=\"floppy\"<< oraz naciśnięcie klawisza\n"
+"[Enter].\n"
+"\n"
+"(*) Wymagana jest dyskietka sformatowana z systemem plików FAT. Aby\n"
+"utworzyć taką dyskietkę w systemie GNU/Linux, wpisz polecenie\n"
+"\"mformat a:\", lub \"fdformat /dev/fd0\", a następnie \"mkfs.vfat /dev/fd0"
+"\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Tworzenie dyskietki automatycznej instalacji"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Jeśli wybierzesz ponowne użycie jakichś partycji GNU/Linux, może\n"
+"istnieć potrzeba ponownego sformatowania ich w celu usunięcia\n"
+"wszystkich danych, które zawierają. Aby to uczynić, wybierz także te\n"
+"partycje.\n"
+"\n"
+"Należy pamiętać, że nie jest konieczne formatowanie wszystkich istniejących\n"
+"już partycji. Sformatowane muszą być partycje zawierające system "
+"operacyjny:\n"
+"\"/\", \"/usr\" oraz \"/var\", nie jest natomiast konieczne formatowanie\n"
+"partycji zawierających dane, które chcesz zachować (zazwyczaj \"/home\").\n"
+"\n"
+"Uważnie wybieraj partycje do sformatowania. Po sformatowaniu, wszystkie\n"
+"dane zostaną utracone bez możliwości ich odzyskania.\n"
+"\n"
+"Kliknij \"%s\", jeśli już można przystąpić do formatowania partycji.\n"
+"\n"
+"Kliknij \"%s\", jeśli chcesz wybrać inne partycje dla nowej instalacji\n"
+"Mandriva Linux.\n"
+"\n"
+"Kliknij \"%s\" jeśli chcesz wybrać sprawdzanie niektórych partycji\n"
+"w poszukiwaniu uszkodzonych sektorów na dysku."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"W czasie, jaki upłynął od początkowego wydania Mandriva Linux, być może "
+"niektóre pakietyzostały zaktualizowane. Niektóre błędy mogły\n"
+"zostać naprawione, zaś problemy z bezpieczeństwem rozwiązane. Aby\n"
+"skorzystać z możliwości aktualizacji, dobrze jest pobrać część danych\n"
+"z Internetu. Wybierz \"%s\", jeśli posiadasz działające połączenie\n"
+"internetowe lub \"%s\", jeśli wolisz zainstalować pakiety aktualizacyjne\n"
+"później.\n"
+"\n"
+"Po wybraniu \"%s\" zostanie wyświetlona lista miejsc, z których można\n"
+"pobrać dane aktualizacyjne. Wybierz najbliższą lokalizację. Pojawi się\n"
+"wówczas drzewo wyboru: przejrzyj informacje i naciśnij \"%s\"\n"
+",aby pobrać i zainstalować wybrane pakiety lub \"%s\", aby anulować."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nadszedł czas na wybór poziomu bezpieczeństwa, który ma zostać ustawiony\n"
+"na komputerze. Jako żelazną zasadę należy przyjąć, że im komputer bardziej\n"
+"jest dostępny w sieci i dane przechowywane są ważniejsze, tym wyższy\n"
+"powinien być poziom bezpieczeństwa. Jednak wyższe bezpieczeństwo\n"
+"zazwyczaj okupione jest zwiększeniem poziomu trudności używania systemu.\n"
+"\n"
+"Jeśli nie wiesz co wybrać, użyj domyślnej opcji. Będzie można zmienić "
+"poziom\n"
+"bezpieczeństwa w późniejszym czasie przy użyciu narzędzia draksec\n"
+"uruchamianego z Centrum Sterowania Mandriva Linux.\n"
+"\n"
+"Pole \"%s\" może informować system o użytkowniku komputera odpowiedzialnego\n"
+"za bezpieczeństwo. Komunikaty bezpieczeństwa będą przesyłane na ten adres."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator zabezpieczeń"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"W tym etapie instalacji wybierasz partycje, na których będzie instalowany\n"
+"Mandriva Linux. Jeśli partycje istnieją (np. pozostały po poprzedniej "
+"instalacji,\n"
+"lub też zostały założone innym narzędziem), to można ich użyć do "
+"instalacji.\n"
+"W innym przypadku należy je utworzyć.\n"
+"\n"
+"Utworzenie partycji należy rozpocząć od wybrania dysku. Robi się to przez\n"
+"kliknięcie na zakładce \"hda\" dla pierwszego dysku IDE, \"hdb\" dla "
+"drugiego,\n"
+"lub \"sda1\" dla pierwszego dysku SCSI, itd.\n"
+"\n"
+"W celu podzielenia dysku na partycje można użyć następujących opcji:\n"
+"\n"
+" * \"%s\": ta opcja kasuje wszystkie partycje na wybranym dysku.\n"
+"\n"
+" * \"%s\": ta opcja automatycznie tworzy partycje\n"
+" ext3 oraz swap na wolnej (niespartycjonowanej) przestrzeni na dysku\n"
+"\n"
+" * \"%s\": daje dostęp do dodatkowych opcji:\n"
+"\n"
+" * \"%s\": zapisuje tablicę partycji na dyskietkę.\n"
+" Opcja ta jest użyteczna w przypadku konieczności odzyskania tablicy\n"
+" w późniejszym czasie. Zalecane jest wykonanie tego kroku.\n"
+"\n"
+" * \"%s\": pozwala na przywrócenie poprzednio\n"
+" zapisanej na dyskietce tablicy partycji.\n"
+"\n"
+" * \"%s\": jeśli tablica partycji została\n"
+" uszkodzona można spróbować ją naprawić. Należy pamiętać że opcja ta\n"
+" może zakończyć się niepowodzeniem.\n"
+"\n"
+" * \"%s\": porzuca wszelkie zmiany i wczytuje początkową tablicę "
+"partycji.\n"
+"\n"
+" * \"%s\": odznaczenie tej opcji\n"
+" powoduje, że konieczność ręcznego montowania takich napędów, jak "
+"stacje\n"
+" dyskietek czy napędy CD.\n"
+"\n"
+" * \"%s\": jeśli chcesz skorzystać z druida, aby wykonać proces\n"
+" partycjonowania dysku. Opcja zalecana w przypadku gdy użytkownik nie\n"
+" posiada wiedzy dotyczącej partycjonowania dysków.\n"
+"\n"
+" * \"%s\": użyj tej opcji jeśli chcesz wycofać wszystkie zmiany\n"
+"\n"
+" * \"%s\": umożliwia uzyskanie\n"
+" dostępu do dodatkowych akcji dotyczących dysku (typ, opcje, format)\n"
+" oraz podaje więcej informacji na jego temat.\n"
+"\n"
+" * \"%s\": Jeśli proces partycjonowania został zakończony, opcja ta\n"
+" zapisze zmiany na dysk.\n"
+"\n"
+"Podczas definiowania rozmiaru partycji, można ustawić dokładnie\n"
+"rozmiar, używając klawiszy strzałek na klawiaturze.\n"
+"\n"
+"Uwaga: Można uzyskać dostęp do dowolnych opcji za pomocą klawiatury,\n"
+"przy pomocy klawiszy [Tab] oraz strzałek [Góra/Dół].\n"
+"\n"
+"Po wybraniu partycji można użyć klawiszy:\n"
+"\n"
+" * Control-c, aby utworzyć nową partycję (jeśli wybrano pustą partycję);\n"
+"\n"
+" * Control-d, aby usunąć partycję;\n"
+"\n"
+" * Control-m, aby ustawić punkt montowania;\n"
+"\n"
+"Aby uzyskać informacje dotyczące różnych dostępnych rodzajów systemów\n"
+"plików, należy przeczytać rozdział ext2fs podręcznika.\n"
+"\n"
+"Jeśli instalacja odbywa się na komputerze PPC, system będzie wymagał\n"
+"utworzenia małej partycji HFS \"rozruchowej\" (bootstrap) o wielkości\n"
+"co najmniej 1MB, która będzie używana przez program rozruchowy yaboot.\n"
+"Jeśli chcesz, aby ta partycja była większa, powiedzmy 50 MB, można\n"
+"ją traktować jako użyteczne miejsce np. do przechowywania zapasowego\n"
+"jądra oraz obrazów do uniknięcia skutków ewentualnych awarii "
+"uniemożliwiających\n"
+"rozruch systemu z normalnej partycji."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatyczne montowanie nośników wymiennych"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Przełącz między trybem zwykłym a zaawansowanym"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na dysku wykryto więcej niż jedną partycję Windows. Wybierz, którą\n"
+"z nich chcesz zmniejszyć w celu zainstalowania systemu Mandriva Linux\n"
+"\n"
+"Każda partycja jest określana za pomocą informacji: \"Nazwa linuksowa\",\n"
+"\"Nazwa Windows\" i \"Rozmiar\".\n"
+"\n"
+"Nazwa linuksowa jest określana następująco: \"typ dysku\",\"numer dysku\",\n"
+"\"numer partycji\". (na przykład \"hda1\").\n"
+"\n"
+"\"Typ dysku\" to \"hd\" w przypadku dysków IDE, \"sd\" w przypadku SCSI\n"
+"\n"
+"\"Numer dysku\" to litera po \"hd\" lub \"sd\". W przypadku dysku IDE:\n"
+"\n"
+" * \"a\" oznacza pierwszy dysk na pierwszym kontrolerze IDE\n"
+"\n"
+" * \"b\" oznacza drugi dysk na pierwszym kontrolerze IDE\n"
+"\n"
+" * \"c\" oznacza pierwszy dysk na drugim kontrolerze IDE\n"
+"\n"
+" * \"d\" oznacza drugi dysk na drugim kontrolerze IDE\n"
+"\n"
+"W przypadku dysków SCSI \"a\" oznacza najniższy identyfikator SCSI,\n"
+"\"b\" - drugi kolejny identyfikator SCSI, itd.\n"
+"\n"
+"\"Nazwa Windows\" to litera dysku w systemie Windows (pierwszy dysk \n"
+"lub partycja to \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": zaznacz odpowiedni kraj. Jeśli nie znajdujesz się w tym kraju,\n"
+"kliknij przycisk \"%s\" oraz wybierz inny kraj. Jeśli twój kraj\n"
+"nie jest wyświetlony na pierwszej liście, kliknij przycisk \"%s\"\n"
+"aby otrzymać pełną listę krajów."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ten krok jest aktywowany tylko wtedy, jeśli na komputerze została\n"
+"znaleziona stara partycja GNU/Linux.\n"
+"\n"
+"Instalator musi teraz otrzymać informację, czy chcesz przeprowadzić nową\n"
+"instalację, czy też uaktualnić istniejący system Mandriva Linux:\n"
+"\n"
+" * \"%s\": W większości przypadków, ta opcja powoduje całkowite\n"
+"usunięcie starego systemu. Jednak w zależności od schematu\n"
+"partycjonowania, można zapobiec nadpisaniu niektórych z istniejących\n"
+"danych (szczególnie katalogów \"home\"). Jeśli chcesz zmienić sposób\n"
+"partycjonowania twardych dysków, lub też system plików, należy użyć tej "
+"opcji.\n"
+"\n"
+" * \"%s\": Ta klasa instalacji umożliwia uaktualnienie pakietów\n"
+"aktualnie zainstalowanych w systemie Mandriva Linux. Twój bieżący\n"
+"schemat partycjonowania oraz dane użytkownika nie zostaną zmienione.\n"
+"Większość innych kroków konfiguracyjnych pozostanie dostępna,\n"
+"podobnie do instalacji standardowej.\n"
+"\n"
+"Użycie wersji \"Uaktualnienie\" powinno zadziałać dobrze na systemach\n"
+"Mandriva Linux w wersji \"8.1\" i późniejszych. Przeprowadzanie\n"
+"uaktualnienia z wersji wcześniejszych niż \"8.1\" nie jest zalecane."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"W zależności od wybranego języka, instalator automatycznie\n"
+"dobierze określony typ konfiguracji klawiatury. Zaznacz, że wybór\n"
+"ci odpowiada lub wybierz inny układ klawiatury.\n"
+"\n"
+"Jednak można nie mieć\n"
+"klawiatury odpowiadającej danemu językowi. Na przykład, Szwajcar mówiący\n"
+"po angielsku, może wciąż chcieć używać klawiatury szwajcarskiej. Albo\n"
+"jeśli osoba porozumiewa się po angielsku i mieszka w prowincji Quebec,\n"
+"język rodzimy oraz układ klawiatury nie będą się ze sobą zgadzać.\n"
+"Jeśli zachodzi taka sytuacja można wrócić, aby wybrać odpowiedni\n"
+"układ klawiatury z listy.\n"
+"\n"
+"Kliknij przycisk \"%s\", aby wyświetlić pełną listę\n"
+"obsługiwanych klawiatur.\n"
+"\n"
+"Po wybraniu układu klawiatury nie opartego na alfabecie łacińskim, następne\n"
+"okno umożliwi wybranie skrótów klawiszowych przełączających układ\n"
+"klawiatury z łacińskiego na narodowy."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Pierwszym krokiem jest wybór preferowanego języka.\n"
+"\n"
+"Twój wybór preferowanego języka będzie miał wpływ na język\n"
+"dokumentacji, instalatora oraz systemu w ogólności. Najpierw należy\n"
+"wybrać region, w którym znajduje się użytkownik a następnie język\n"
+"jakiego używa.\n"
+"\n"
+"Kliknięcie przycisku \"%s\", pozwoli na wybranie innych\n"
+"języków, które zostaną zainstalowane na komputerze.\n"
+"Wybranie innych języków spowoduje zainstalowanie plików zależnych\n"
+"od języka dla dokumentacji oraz aplikacji. Na przykład, jeśli na komputerze\n"
+"pracują użytkownicy z Hiszpanii należy wybrać angielski z widoku\n"
+"głównego drzewa zaś w sekcji \"Zaawansowane\" zaznaczyć opcję\n"
+"\"%s\".\n"
+"\n"
+"Uwaga dotycząca obsługi UTF-8 (unikodu): Unikod jest nowym kodowaniem\n"
+"znaków umożliwiającym równoczesną osługę wszystkich istniejących\n"
+"języków. Jednak pełna obsługa tego standardu jest wciąż w trakcie\n"
+"rozwoju w systemach GNU/Linux. Z tego powodu, Mandriva Linux\n"
+"używa go lub nie w zależności od wyboru użytkownika:\n"
+"\n"
+"* Po wybraniu języków z często używanym kodowaniem (języki latin1,\n"
+"rosyjski, japoński, chiński, koreański, rajski, grecki, turecki, większość\n"
+"języków używających iso-8859-2), kodowanie to będzie używane domyślnie;\n"
+"\n"
+"* Inne języki będą domyślnie używały Unicode;\n"
+"\n"
+"* Jeśli wymagane są dwa lub więcej języków i te języki nie używają\n"
+"identycznego kodowania, to Unicode będzie zainstalowany domyślnie dla\n"
+"całego systemu;\n"
+"\n"
+"* W końcu, unicode może być także wymuszony dla systemu na żądanie\n"
+"użytkownika poprzez zaznaczenie opcji \"%s\" niezależnie od wybranego "
+"języka.\n"
+"\n"
+"Nie ma ograniczeń na liczbę języków dodanych dodatkowo do już wybranego.\n"
+"Można wybrać kilka, lub nawet zainstalować je wszystkie wybierając\n"
+"opcję \"%s\". Zaznaczenie obsługi dla języka oznacza tłumaczenia, czcionki,\n"
+"słowniki, itd. dla każdego zainstalowanego języka.\n"
+"\n"
+"Aby przełączać się pomiędzy różnymi językami zainstalowanymi w systemie,\n"
+"można uruchomić polecenie \"localedrake\" z poziomu\n"
+"użytkownika \"root\" co spowoduje zmianę języka używanego przez cały\n"
+"system. Uruchomienie polecenia z konta zwykłego użytkownika spowoduje\n"
+"zmianę ustawień językowych tylko dla tego użytkownika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Hiszpański"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Instalator zazwyczaj wykrywa liczbę przycisków myszy. W innym przypadku\n"
+"zakłada, że mysz posiada dwa przyciski i ustawi system na emulacje\n"
+"trzech przycisków. Trzeci przycisk myszy dwuprzyciskowej\n"
+"może być \"użyty\" poprzez równoczesne kliknięcie lewego i prawego\n"
+"przycisku myszy. Instalator automatycznie wykryje także czy mysz jest\n"
+"typu PS/2, szeregowa czy też USB.\n"
+"\n"
+"W przypadku posiadania myszy 3-przyciskowej bez kółka, można\n"
+"wybrać mysz \"%s\". Instalator następnie skonfiguruje mysz\n"
+"w taki sposób, że będzie można zasymulować za jej pomocą kółko.\n"
+"Robi się to poprzez naciśnięcie środkowego przycisku i poruszanie\n"
+"myszy w górę lub w dół.\n"
+"\n"
+"Jeśli z różnych powodów chcesz wybrać inny typ myszy, należy wybrać\n"
+"odpowiednią pozycję z listy.\n"
+"\n"
+"Można wybrać opcję \"%s\" aby ustawić \"zwykły\" typ myszy, który\n"
+"będzie działać prawie z każdą myszą.\n"
+"\n"
+"Jeśli zostanie wybrana mysz inna niż domyślna, zostanie wyświetlony\n"
+"ekran testowy. Użytkownik powinien sprawdzić przyciski oraz kółka,\n"
+"aby upewnić się co do poprawności konfiguracji. Jeśli mysz nie pracuje\n"
+"poprawnie, należy nacisnąć klawisz spacji lub [Enter] aby anulować test\n"
+"oraz wrócić do listy wyboru. \n"
+"\n"
+"Mysz z kółkiem czasem nie jest wykrywana automatycznie. Należy\n"
+"wówczas wybrać odpowiednią pozycję z listy. Trzeba upewnić się, czy "
+"wybrano \n"
+"mysz podłączoną do odpowiedniego portu. Po zakończeniu wybierania\n"
+"i naciśnięciu przycisku \"%s\", zostanie wyświetlony na ekranie obraz\n"
+"myszy. Poruszaj kółkiem, aby upewnić się czy zostało ono poprawnie\n"
+"aktywowane. Jeśli mysz na ekranie będzie zmieniała ustawienie kółka\n"
+"podczas przesuwania kółka myszy, sprawdź przyciski oraz upewnij się,\n"
+"że wskaźnik przesuwa się po ekranie przy zmianie położenia."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "z emulacją kółka"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Uniwersalna | Dowolna mysz PS/2 i USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Wybierz właściwy port. Na przykład numer portu \"COM1\" z MS Windows\n"
+"w GNU/Linux nazywa się \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Nadszedł czas na podjęcie najważniejszej decyzji dotyczącej bezpieczeństwa\n"
+"twojego systemu GNU/Linux: należy podać hasło użytkownika \"root\". \n"
+"\"root\" jest administratorem systemu i jedynym użytkownikiem mającym\n"
+"prawa do wykonywania aktualizacji, dodawania użytkowników, zmiany\n"
+"konfiguracji systemu itd. W skrócie \"root\" może zrobić w systemie\n"
+"wszystko! Z tego powodu hasło nie może być łatwe do odgadnięcia\n"
+"i instalator poinformuje cię, jeśli będzie ono zbyt proste. Można\n"
+"wcale nie ustawiać hasła, lecz nie jest zalecane pozostawianie go pustym\n"
+"z jednego powodu. Nie należy zakładać, że gdy uruchamiasz GNU/Linux to\n"
+"inne systemy operacyjne są wolne od błędów. Ponieważ \"root\" może\n"
+"obejść wszelkie zabezpieczenia i niechcący wymazać wszelkie dane z dysku,\n"
+"zalecana jest ostrożność przy logowaniu się na to konto.\n"
+"\n"
+"Hasło powinno zawierać znaki alfanumeryczne i posiadać długość\n"
+"co najmniej 8 znaków. Nigdy nie należy zapisywać hasła użytkownika\n"
+"\"root\", gdyż zostawia to zbyt dużą lukę bezpieczeństwa w systemie.\n"
+"\n"
+"Jednak zbyt długie lub zbyt skomplikowane hasło trudno jest zapamiętać!\n"
+"\n"
+"Hasło nie będzie wyświetlane na ekranie podczas wpisywania. Dlatego też\n"
+"musi być ono dodatkowo potwierdzone w celu zminimalizowania możliwości\n"
+"popełniania błędu. Jeśli dwa razy zostanie wpisane to samo \"błędne\"\n"
+"hasło, należy go użyć podczas pierwszego logowania i zmienić je na\n"
+"właściwe.\n"
+"\n"
+"Jeśli chcesz aby komputer, był kontrolowany\n"
+"przez serwer uwierzytelniania, kliknij przycisk \"%s\".\n"
+"\n"
+"Można wybrać odpowiednią opcję \"%s\" spośród LDAP, NIS lub Domeny PDC\n"
+"Windows. Jeśli nie wiesz, której opcji wybrać, zapytaj administratora sieci\n"
+"\n"
+"Jeśli masz problemy z zapamiętywaniem haseł, można wybrać opcję \"%s\"\n"
+"w przypadku, gdy komputer nie jest połączony z Internetem i ufasz\n"
+"wszystkim osobom posiadającym do niego dostęp."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "uwierzytelnianie"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Program rozruchowy to niewielki program uruchamiający komputer tuż po\n"
+"jego włączeniu. Jest on odpowiedzialny za uruchomienie całego systemu.\n"
+"Zazwyczaj instalacja programu rozruchowego jest całkowicie zautomatyzowana\n"
+"Instalator przeanalizuje sektor rozruchowy oraz wykona operacje zależne od\n"
+"tego, co zostanie tam znalezione:\n"
+"\n"
+" * jeśli zostanie znaleziony sektor rozruchowy Windows zostanie on\n"
+"zastąpiony sektorem rozruchowym GRUB/LILO. Dzięki temu będzie możliwość\n"
+"uruchamiania zarówno systemu GNU/Linux jak i innego systemu operacyjnego.\n"
+"\n"
+" * jeśli zostanie znaleziony sektor rozruchowy GRUB lub LILO zostanie\n"
+"on zastąpiony nowym sektorem.\n"
+"\n"
+"W przypadku, gdy nie będzie można określić sektora rozruchowego, instalator\n"
+"wyświetli pytanie, gdzie należy go umieścić. Zazwyczaj \"%s\" jest\n"
+"najbezpieczniejszym miejscem. Wybranie \"%s\" nie spowoduje zainstalowania\n"
+"żadnego programu rozruchowego. Użyj tej opcji tylko w przypadku gdy\n"
+"wiesz co robisz."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Nadszedł czas na wybranie systemu drukowania. Inne systemy operacyjne\n"
+"mogą zaoferować jeden, lecz Mandriva Linux oferuje dwa. Każdy z tych\n"
+"systemów wydruku jest najlepszy dla określonego typu konfiguracji.\n"
+"\n"
+" * \"%s\" oznaczający \"print, do not queue\" (drukuj, nie buforuj),\n"
+"może zostać wybrany, jeśli komputer jest bezpośrednio połączony z drukarką,\n"
+"jeśli nie boisz się zatorów papieru w drukarce lub też nie posiadasz\n"
+"drukarki sieciowej. (\"%s\" obsłuży tylko bardzo proste sieci i jest\n"
+"cokolwiek wolny w przypadku korzystania z innych sieci.)\n"
+"Wybranie opcji \"pdq\" jest zalecane, jeżeli jest to twoje pierwsze\n"
+"doświadczenie z GU/Linux.\n"
+"\n"
+" * \"%s\" - \"Common Unix Printing System\"(zwykły system drukowania\n"
+"Uniksa), jest niezastąpiony, jeśli chodzi o drukowanie za pomocą drukarki\n"
+"lokalnej. Jest jednym z częściej używanych systemów drukowania. Jest on\n"
+"prosty i może pracować jako serwer lub też klient dla starożytnego systemu\n"
+"drukowania \"lpd\", więc pracować także ze starszymi systemami "
+"operacyjnymi,\n"
+"które wciąż potrzebują usług drukowania. Będąc całkiem wydajnym, podstawowa\n"
+"konfiguracja jest prawie tak łatwa jak w przypadku \"pdq\". Jeśli chcesz\n"
+"emulować serwer \"lpq\", upewnij się, że włączony jest demon \"cups-lpd\".\n"
+"\"%s\" zawiera graficzne nakładki do drukowania lub wyboru opcji\n"
+"służących do zarządzania drukarką.\n"
+"\n"
+"Jeśli wybór zostanie dokonany w tym miejscu, zaś później okaże się,\n"
+"że system wydruku nie odpowiada twoim potrzebom, można go zmienić,\n"
+"uruchamiając program PrinterDrake z Centrum Sterowania Mandriva.\n"
+"Należy tam także kliknąć przycisk \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Tryb zaawansowany"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Instalator próbuje najpierw wykryć urządzenia IDE obecne w komputerze.\n"
+"Wykrywana jest także jedna (lub więcej) karta PCI SCSI. Jeśli karta SCSI\n"
+"zostanie znaleziona, instalator automatycznie zainstaluje odpowiedni\n"
+"sterownik.\n"
+"\n"
+"Trzeba jednak przyznać, że proces wykrywania nie zawsze zakończy się\n"
+"wykryciem całego sprzętu. Jeśli taki przypadek zajdzie, należy ręcznie "
+"wybrać\n"
+"odpowiednie urządzenie.\n"
+"Jeśli istnieje potrzeba ręcznego wyboru karty SCSI, instalator zapyta, czy\n"
+"dla niej mają zostać ustawione jakiś opcje. Należy zezwolić na zbadanie\n"
+"sprzętu w celu ustawienia specyficznych dla karty opcji, które powinny "
+"zostać\n"
+"zainicjowane. Zazwyczaj działa to dobrze.\n"
+"\n"
+"Jeśli instalator nie będzie potrafił zbadać sprzętu w celu określenia,\n"
+"które z parametrów muszą zostać ustawione do poprawnego działania sprzętu,\n"
+"należy ręcznie skonfigurować sterownik."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": jeśli karta dźwiękowa została wykryta w systemie, jest ona\n"
+"wyświetlana w tym miejscu. Jeśli zauważysz, że wyświetlana karta\n"
+"nie jest tą, która jest aktualnie obecna w systemie, możesz kliknąć\n"
+"przycisk i wybrać inny sterownik."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Instalator przeglądowo zaprezentuje zestawienie różnych informacji, jakie\n"
+"posiada na temat systemu. W zależności od zainstalowanego sprzętu, można\n"
+"przejrzeć kilka (lub wszystkie) z poniższych pozycji. Każdej pozycji\n"
+"towarzyszy narzędzie konfiguracyjne umożliwiające jej zmianę, uruchamiane\n"
+"po kliknięciu przycisku \"%s\".\n"
+"\n"
+" * \"%s\": sprawdzanie aktualnej konfiguracji układu klawiatury\n"
+"oraz możliwość jej zmiany.\n"
+"\n"
+" * \"%s\": sprawdzanie bieżącego wyboru kraju. Jeśli nie przebywasz\n"
+"w danym kraju, kliknij przycisk \"%s\" i zmień kraj na inny.\n"
+"Jeśli twój kraj nie znajduje się na pierwszej wyświetlanej liście,\n"
+"należy kliknąć przycisk \"%s\", aby uzyskać możliwość wyboru pozycji z\n"
+"pełnej listy krajów.\n"
+"\n"
+" * \"%s\": domyślnie instalator ustawia strefę czasową\n"
+"w oparciu o wybrany kraj. Można kliknąć przycisk \"%s\", jeśli\n"
+"to ustawienie nie jest poprawne.\n"
+"\n"
+" * \"%s\": sprawdzanie bieżącej konfiguracji myszy oraz możliwość\n"
+"jej zmiany w razie potrzeby.\n"
+"\n"
+" * \"%s\": kliknięcie przycisku \"%s\" spowoduje otwarcie\n"
+"druida konfiguracji drukarki. Przeczytaj odpowiedni rozdział\n"
+"podręcznika, aby uzyskać więcej informacji na temat konfiguracji nowej\n"
+"drukarki. Interfejs wykorzystywany w tym miejscu jest podobny do tego,\n"
+"który jest używany w trakcie instalacji.\n"
+"\n"
+" * \"%s\": jeśli karta dźwiękowa została wykryta w systemie,\n"
+"zostanie ona tutaj wyświetlona. Jeśli zauważysz, że wyświetlona karta\n"
+"nie jest tą, która jest obecna w systemie, kliknij przycisk i wybierz\n"
+"inny sterownik.\n"
+"\n"
+" * \"%s\": jeśli w systemie została wykryta karta TV,\n"
+"jest ona tutaj wyświetlana. Jeśli posiadasz kartę telewizyjną, a nie\n"
+"została ona wykryta, kliknij przycisk \"%s\", aby spróbować\n"
+"skonfigurować ją ręcznie.\n"
+"\n"
+" * \"%s\": można kliknąć przycisk \"%s\" aby zmienić parametry\n"
+"powiązane z kartą w przypadku niepoprawnej konfiguracji.\n"
+"\n"
+" * \"%s\": domyślnie instalator konfiguruje interfejs\n"
+"graficzny w rozdzielczości \"800x600\" lub \"1024x768\". Jeśli chcesz\n"
+"wybrać inną opcję, kliknij przycisk \"%s\", aby zmienić ustawienie\n"
+"interfejsu graficznego.\n"
+"\n"
+" * \"%s\": jeśli chcesz skonfigurować połączenie z Internetem lub\n"
+"sieć lokalną użyj tej opcji. Zobacz na wydrukowaną dokumentację lub\n"
+"użyj Centrum Sterownia Mandriva Linux po zakończeniu instalacji,\n"
+"aby otrzymać pełną pomoc.\n"
+"\n"
+" * \"%s\": umożliwia konfigurację adresów pośrednika HTTP i FTP,\n"
+"w przypadku gdy komputer znajduje się za serwerem pośrednika.\n"
+"\n"
+" * \"%s\": ta pozycja umożliwia zmianę ustawień\n"
+"poziomu bezpieczeństwa wybranych w poprzednim kroku ().\n"
+"\n"
+" * \"%s\": jeśli planujesz łączenie komputera z Internetem,\n"
+"dobrym pomysłem jest zapewnienie ochrony przed włamaniami poprzez\n"
+"ustawienie zapory sieciowej. Przeczytaj odpowiedni\n"
+"rozdział podręcznika, aby uzyskać szczegóły dotyczące ustawień\n"
+"zapory sieciowej.\n"
+"\n"
+" * \"%s\": w razie potrzeby można zmienić konfigurację programu\n"
+"rozruchowego. Kliknij odpowiedni przycisk. Ta opcja powinna być używana\n"
+"przez doświadczonych użytkowników.\n"
+"\n"
+" * \"%s\": tutaj można wybrać, które usługi będą uruchamiane na\n"
+"komputerze. Jeśli planujesz używać tego komputera jako serwera,\n"
+"dobrze jest przejrzeć te ustawienia."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Karta ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfejs graficzny"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Wybierz dysk, który chcesz wykasować, by założyć na nim\n"
+"partycję Mandriva Linux. Pamiętaj, że wszystkie dane z tego\n"
+"dysku zostaną utracone bez możliwości odzyskania!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Wybierz \"%s\", jeśli chcesz usunąć wszystkie dane i partycje zapisane\n"
+"na tym dysku. Pamiętaj, po wybraniu \"%s\", nie będzie\n"
+"możliwe odzyskanie żadnych danych oraz partycji obecnych na dysku,\n"
+"włączając w to dane partycji Windows.\n"
+"\n"
+"Wybierz \"%s\", by anulować tą operację bez utraty danych i partycji\n"
+"obecnych w systemie."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Dalej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Wstecz"
+
diff --git a/perl-install/install/help/po/pt.po b/perl-install/install/help/po/pt.po
new file mode 100644
index 000000000..6123254ac
--- /dev/null
+++ b/perl-install/install/help/po/pt.po
@@ -0,0 +1,1943 @@
+# translation of pt.po to Português
+#
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/pt.php3
+#
+# Copyright (C) 2000 Mandriva
+#
+# Fernando Moreira <fmoreira@netc.pt>, 1999.
+# Jorge Costa <Jorgercosta@netc.pt>, 2001.
+# José JORGE <jose.jorge@oreka.com>, 2002,2003.
+# Jose Jorge <jjorge@free.fr>, 2003, 2004, 2005.
+# Jose Carlos D. S. Saraiva <jose.d.s.saraiva@clix.pt>, 2004.
+# Zé <mmodem00@netvisao.pt>, 2004, 2005, 2006.
+# Américo José Melo <mmodem00@netvisao.pt>, 2004, 2005.
+# Ze <mmodem00@netvisao.pt>, 2004.
+# José Melo <mmodem00@gmail.com>, 2005.
+# José Melo <mmodme00@gmail.com>, 2005.
+# Jose JORGE <jjorge@free.fr>, 2005.
+# Zé <mmodem00@gmail.com>, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: pt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2007-02-18 17:17+0000\n"
+"Last-Translator: Zé <mmodem00@gmail.com>\n"
+"Language-Team: Português <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, deve ler atentamente os termos da licença. A licença\n"
+"cobre toda a distribuição Mandriva Linux. Se concorda com todos os termos\n"
+"presentes, active a caixa \"%s\". Se não concorda, clique no botão \"%s\"\n"
+"para reiniciar o seu computador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é um sistema multi-utilizador, o que significa que cada "
+"utilizador\n"
+"tem as suas próprias preferências, ficheiros e por aí a fora. Mas ao invés\n"
+"do root, que é o administrador do sistema, os utilizadores que adiciona\n"
+"neste ponto não serão autorizador a fazer qualquer mudança, excepto os\n"
+"seus próprios ficheiros e configurações, protegendo o sistema de mudanças\n"
+"não intencionais ou maliciosas que poderiam ter impacto. Vai ter que criar\n"
+"pelo menos um utilizador regular para si próprio -- esta é a conta que pode\n"
+"usar por rotina, no dia-à-dia. Contudo é muito fácil entrar como root,\n"
+"para fazer o que quer que seja, pode também ser muito perigoso! Um\n"
+"simples erro pode significar que o seu sistema não volte a trabalhar.\n"
+"Se cometer um erro sério como utilizador regular, o pior que pode\n"
+"acontecer, é que possa perder alguma informação, mas não afectará\n"
+"todo o sistema.\n"
+"\n"
+"O primeiro campo pergunta por um nome real. Claro que não é imperativo\n"
+"-- realmente até pode digitar o que quiser. O DrakX irá usar a primeira\n"
+"palavra que digitar neste campo e copiá-la para este campo \"%s\",\n"
+"que é o nome que este utilizador irá digitar para fazer se autenticar no\n"
+"sistema. O próximo passo é para digitar uma senha. De um posto de vista\n"
+"seguro, uma senha de um utilizador não privilegiado (regular) não é crucial\n"
+"como uma senha \"root\", mas não há razão para negligenciar a senha\n"
+"fazendo-a demasiado simples, ou simplesmente deixar em branco: claro\n"
+"que seriam os seus ficheiros que ficariam em risco.\n"
+"\n"
+"Assim que clicar em \"%s\",pode adicionar outros utilizadores. Adicionar\n"
+"um utilizador para cada um dos seus amigos, o seu pai, a sua irmã, etc.\n"
+"Clique em \"%s\" sempre que acabar de adicionar um utilizador.\n"
+"Ao clicar em \"%s\" permite-lhe mudar a \"shell\" predefinida para esse\n"
+"utilizador (bash por omissão).\n"
+"\n"
+"Quando terminar de adicionar utilizadores, será-lhe dado a escolher um\n"
+"utilizador que entrará automaticamente no sistema quando o computador\n"
+"arrancar. Se está interessado nessa opção (e não se importa com a\n"
+"segurança local), escolha o utilizador desejado e o gestor de janelas,\n"
+"depois clique em \"%s\".\n"
+"Se não está interessado nesta opção, desmarque a caixa \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Deseja usar esta opção?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aqui estão listadas partições Linux existentes detectadas no seu disco.\n"
+"Pode manter as escolhas feitas pelo assistente, desde que sejam boas\n"
+"para a maioria das instalações comuns. Se fizer alguma alteração, tem\n"
+"que pelo menos definir uma partição root (\"/\"). Não escolha uma partição\n"
+"demasiado pequena ou não será capaz de instalar todo o software.\n"
+"Se quiser guardar os seus dados numa partição separada, irá também\n"
+"precisar de criar uma partição \"/home\" (apenas possível se tiver mais\n"
+"do que uma parição Linux disponível).\n"
+"\n"
+"Cada partição é listada como se segue: \"Nome\", \"Capacidade\".\n"
+"\n"
+"O \"Nome\" está estruturado: \"tipo do dispositivo do disco\", \"número do\n"
+"dispositivo\", \"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"O tipo do dispositivo do disco\" é \"hd\" se o controlador do disco for\n"
+"um dispositivo IDE e \"sd\" se for um dispositivo SCSI.\n"
+"\n"
+"\"O número do dispositivo do disco\" é sempre uma letra a seguir a \"hd\"\n"
+"ou \"sd\". Para os dispositivos IDE:\n"
+"\n"
+" * \"a\" significa \"dispositivo principal (master) do disco no primeiro\n"
+"controlador IDE\";\n"
+"\n"
+" * \"b\" significa \"dispositivo secundário (slave) do disco no primeiro\n"
+"controlador IDE\";\n"
+"\n"
+" * \"c\" significa \"dispositivo principal (master) do disco no segundo\n"
+"controlador IDE\";\n"
+"\n"
+" * \"d\" significa \"dispositivo secundário (slave) do disco no segundo\n"
+"controlador IDE\".\n"
+"\n"
+"Com os dispositivos SCSI, um \"a\" significa \"ID SCSI mais baixo\", um\n"
+"\"b\" significa \"ID SCSI segundo mais baixo\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"A instalação Mandriva Linux é distribuída em vários CD-ROMs. Se um pacote\n"
+"seleccionado estiver localizado noutro CD-ROM, o DrakX irá ejectar o actual\n"
+"CD e pedir para inserir o CD pedido. Se não tiver o CD em questão à mão,\n"
+"clique apenas em \"%s\", os pacote correspondentes não será instalados."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"É agora tempo de especificar que programas deseja instalar no seu\n"
+"sistema. Há centenas de pacotes disponíveis para o Mandriva Linux, e para\n"
+" simplificar a gestão, foram colocados em grupos de aplicações similares.\n"
+"\n"
+"O Mandriva Linux classifica os grupos de pacotes em quatro categorias.\n"
+"Pode misturar e combinar aplicações de várias categorias, para que a\n"
+"instalação de uma ``Estação de trabalho'' possa ainda ter aplicações da\n"
+"categoria ``Servidor'' instaladas.\n"
+"\n"
+" * \"%s\": se planeia usar a sua máquina como uma estação de trabalho,\n"
+"escolha um ou mais dos grupos dessa mesma categoria.\n"
+"\n"
+" * \"%s\": se planeia usar a sua máquina para programar, seleccione os\n"
+"grupos apropriados dentro dessa categoria. O grupo especial \"LSB\" irá\n"
+"configurar o seu sistema para que cumpra o mais possível com as \n"
+"especificações Linux Standard Base.\n"
+"\n"
+" Ao seleccionar o grupo \"LSB\" irá também instalar as séries kernel \"2.4"
+"\",\n"
+"em vez do \"2.6\" predefinido. Isto é para garantir concordância 100%%- LSB\n"
+"do sistema. No entanto, se não seleccionar o grupo \"LSB\", terá na mesma\n"
+"um sistema que é 100%% LSB-concordante.\n"
+"\n"
+" * \"%s\": se pretende que a sua máquina seja um servidor, seleccione\n"
+"qual dos serviços comuns deseja instalar.\n"
+"\n"
+" * \"%s\": aqui é onde irá escolher o seu ambiente gráfico preferido. Pelo\n"
+" menos deve ser seleccionado se deseja ter um interface gráfico disponível.\n"
+"\n"
+"Movendo o cursor do rato sobre o nome de um grupo, irá mostrar um breve\n"
+"texto explanatório acerca desse grupo.\n"
+"\n"
+"Pode seleccionar a caixa \"%s\", que é útil se está familiarizado com os\n"
+"pacotes oferecidos ou se quer ter controlo total sobre o que é instalado.\n"
+"\n"
+"Se iniciar a instalação em modo \"%s\", pode desseleccionar todos os\n"
+"grupos e prevenir a instalação de novos pacotes. Isto é útil para reparar\n"
+"ou actualizar um sistema existente.\n"
+"\n"
+"Se desseleccionar todos os grupos quando executa uma instalação regular\n"
+"(em oposição a uma actualização), um diálogo irá aparecer a sugestionar\n"
+"opções diferentes para uma instalação mínima:\n"
+"\n"
+" * \"%s\": instala o número mínimo de pacotes possíveis para ter um\n"
+"ambiente gráfico instalado.\n"
+"\n"
+" * \"%s\": instala o sistema base mais utilidades básicas e a sua\n"
+"documentação. Esta instalação é apropriada para configurar um servidor.\n"
+"\n"
+" * \"%s\": irá instalar o número mínimo absoluto de pacotes necessários\n"
+"para ter um sistema Linux funcional. Com esta instalação irá apenas ter um\n"
+"interface de linha de comandos. O tamanho total desta instalação é cerca\n"
+"de 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Com documentação básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Verdadeira instalação mínima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se escolheu instalar pacotes individualmente, o instalador irá apresentar\n"
+"uma árvore contendo todos os pacotes classificados por grupos e subgrupos.\n"
+"Enquanto pesquisa na árvore, pode seleccionar grupos inteiros, subgrupos,\n"
+"ou pacotes individuais.\n"
+"\n"
+"Sempre que seleccionar um pacote na árvore, uma descrição irá aparecer\n"
+"à sua direita para o informar acerca do propósito desse pacote.\n"
+"\n"
+"!! Se um pacote servidor foi seleccionado, ou porque escolheu\n"
+"especificamente o pacote individual ou porque fazia parte de um grupo de\n"
+"pacotes, será-lhe pedido para confirmar que realmente quer que esses\n"
+"servidores sejam instalados. Por omissão o Mandriva Linux irá\n"
+"automaticamente iniciar qualquer serviço instalado no arranque. Mesmo\n"
+"que sejam seguros e não tenham qualquer problema conhecido na altura\n"
+"da saída da distribuição, é bem possível que sejam descobertos 'buracos'\n"
+"na segurança a seguir à finalização desta versão Mandriva Linux. Se não\n"
+"souber que serviço particular é suposto fazer ou porque é instalado, então\n"
+"clique em \"%s\". Ao clicar em \"%s\" irá instalar os serviços listados e\n"
+"serºao iniciados automaticamente no arranque. !!\n"
+"\n"
+"A opção \"%s\" é usada para desactivar o dialogo de aviso que\n"
+"aparece sempre que o instalador escolhe automaticamente um pacote\n"
+"para resolver problemas de dependências. alguns pacotes dependem de\n"
+"outros e a instalação de um determinado pacote pode requerer a instalação\n"
+"de outro pacote. O instalador pode determinar que pacotes são necessários\n"
+"para satisfazer uma dependência para terminar com sucesso a instalação.\n"
+"\n"
+"O pequeno ícone de disquete no fundo desta lista permite-lhe carregar uma\n"
+"lista de pacotes escolhida durante uma instalação anterior. Isto é útil se\n"
+"tiver um número de máquinas que deseja configurar identicamente. Ao\n"
+"clicar neste ícone irá-lhe pedir para inserir uma disquete criada no fim\n"
+"de outra instalação. Veja a segunda dica do último passo sobre como criar\n"
+"essa disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependências automáticas"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": ao clicar no botão \"%s\"irá iniciar o assistente de configuração "
+"de\n"
+"impressoras. Consulte o capítulo correspondente no ''Guia do Utilizador''\n"
+"para obter mais informações sobre como configurar uma nova impressora.\n"
+"O interface apresentado no nosso manual é semelhante ao usado durante\n"
+"a instalação."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Este diálogo é usado para escolher que serviços deseja iniciar no arranque.\n"
+"\n"
+"O DrakX irá listar todos os serviços disponíveis na actual instalação\n"
+"Reveja cada um deles cuidadosamente e desmarque aqueles que não são\n"
+"necessários no arranque.\n"
+"\n"
+"Um breve texto de introdução será mostrado acerca do serviço quando\n"
+"este é seleccionado. No entanto, se não tem certeza se o serviço é útil\n"
+"ou não, é mais seguro deixa-lo como estava.\n"
+"\n"
+"!! Nesta altura, tenha muito cuidado se deseja usar a sua máquina como\n"
+"um servidor: provavelmente não quererá iniciar qualquer serviço que\n"
+"não conheça. Por favor lembre-se que alguns serviços podem ser\n"
+"perigosos se forem activados num servidor. Em geral, seleccione\n"
+"apenas aqueles servque realmente precisa. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"O GNU/Linux gere o tempo em GMT (Greenwich Mean Time) e traduz em\n"
+"hora local conforme a zona que escolheu. Se o relógio da sua placa mãe\n"
+"estiver definido para hora local, pode desactivar isto ao de-seleccionar \n"
+"\"%s\", que dará indicação ao GNU/Linux que o relógio do\n"
+"sistema e o de material estão no mesmo fuso horário. É muito útil\n"
+"quando a máquina 'opera' outro sistema operativo.\n"
+"\n"
+"A opção \"%s\" irá regular automaticamente o relógio do sistema ao\n"
+"ligar-se a um servidor horário remoto na Internet. Para esta opção\n"
+"funcionar, precisa ter uma conexão internet activa. Recomendamos\n"
+"que escolha um servidor horário localizado perto de si. Na realidade,\n"
+"esta opção instala um servidor horário que poderá ser usado por outras\n"
+"máquinas na sua rede local."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronização automática da hora"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Placa Gráfica\n"
+"\n"
+" Normalmente o instalador detecta e configura automáticamente \n"
+"a placa gráfica instalada na sua máquina. Se isto não é correcto,\n"
+"pode escolher da lista a placa que tem instalada.\n"
+"\n"
+" Na caso caso de existirem vários servidores disponíveis para a sua "
+"placa,\n"
+"com ou sem aceleração 3D, ser-lhe-á pedido que escolha o servidor\n"
+"que melhor sirva as suas necessidades."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para Sistema X Window) é o coração do interface gráfico GNU/Linux no\n"
+"qual todos os ambientes gráficos (KDE, GNOME, AfterStep, WindowMaker,\n"
+"etc.) fornecidos com o Mandriva Linux, funcionam.\n"
+"\n"
+"Irá ver uma lista de parâmetros diferentes para mudar, para poder\n"
+"ter uma boa apresentação gráfica\n"
+"\n"
+"Placa Gráfica\n"
+"\n"
+" O instalador irá normalmente detectar e configurar automaticamente\n"
+"a placa gráfica da sua máquina. Se isto não estiver correcto, pode\n"
+"escolher da lista a placa gráfica que tem instalada.\n"
+"\n"
+" Se na situação de haver diferentes servidores disponíveis para a sua\n"
+"placa, com ou sem aceleração 3D, será-lhe dado a escolher o servidor\n"
+"que melhor sirva as suas necessidades\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normalmente o instalador irá automaticamente detectar e configurar o\n"
+"ecrã/monitor ligado á sua máquina. Se não estiver correcto, pode escolher\n"
+"da lista o monitor que está ligado ao seu computador.\n"
+"\n"
+"\n"
+"\n"
+"Resolução\n"
+"\n"
+" Aqui pode escolher as resoluções e cores disponíveis para o seu\n"
+"material gráfico. Escolha o que melhor sirva as suas necessidades\n"
+"(poderá fazer alterações a seguir à instalação)\n"
+"Um exemplo da configuração escolhida é mostrada no ecrã.\n"
+"\n"
+"\n"
+"\n"
+"Teste\n"
+"\n"
+" Dependendo do seu material, esta entrada poderá não apareder.\n"
+"\n"
+" S sistema irá tentar abrir um ecrã gráfico na resolução escolhida.\n"
+"Se conseguir ver a mensagem teste durante o teste e responder \"%s\",\n"
+"então o DrakX irá proceder á etapa seguinte. Se não o vir, então\n"
+"significa que alguma parte da configuração auto detectada está\n"
+"incorrecta e o teste irá acabar automáticamente ao fim de 12 segundos,\n"
+"e retornará ao menu. Mude as configurações até obtenha a correcta\n"
+"disposição gráfica.\n"
+"\n"
+"\n"
+"\n"
+"Opções\n"
+"\n"
+" Aqui pode escolher se deseja que o computador arranque\n"
+"automáticamente em modo gráfico. De facto, pode querer verificar\n"
+"\"%s\" se a sua máquina é um servidor, ou se não conseguir obter\n"
+"uma boa configuração de ecrã."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Normalmente o instalador detectar e configurar automaticamente o\n"
+"monitor ligado à sua máquina. Se não estiver correcto, pode escolher desta\n"
+"lista o monitor que está ligado ao computador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolução\n"
+"\n"
+" Aqui pode escolher uma resolução e uma profundidade de cor entre as\n"
+"disponíveis para o seu material. Escolha a que melhor se adapta às\n"
+"suas necessidades (poderá, no entanto, alterar após a instalação). Uma\n"
+"amostra da configuração escolhida será apresentada no monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Na situação, onde há diferentes servidores disponíveis para a sua placa,\n"
+"com ou sem aceleração 3D, é-lhe pedido que escolha o servidor que\n"
+"melhor sirva as suas necessidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opções\n"
+"\n"
+" Este passo permite-lhe escolher se quer que a sua máquina "
+"automáticamente\n"
+"mude para um interface gráfico ao arrancar. Obviamente, pode querer "
+"seleccionar\n"
+"\"%s\" se a sua máquina está para agir como um servidor, ou se não foi bem\n"
+"sucedido a configurar o monitor."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Agora precisa decidir onde deseja instalar o sistema operativo\n"
+"Mandriva Linux no seu disco rígido. Se o seu disco rígido estiver vazio\n"
+"ou, se um sistema operativo existente usa todo o espaço disponível,\n"
+"irá ser preciso particionar o disco. Básicamente, particionar um disco\n"
+"rígido significa dividi-lo de maneira lógica para criar o espaço\n"
+"necessário para instalar o seu novo sistema Mandriva Linux.\n"
+"\n"
+"Como os efeitos da operação de particionamento são geralmente\n"
+"irreversíveis, e pode levar a perda de dados, particionar pode ser\n"
+"intimidante para um utilizador inexperiente. Felizmente, o DrakX tem\n"
+"um assistente que simplifica o processo.Antes de avançar para o\n"
+"próximo passo lê pelo resto da secção e todo o resto, leve o tempo\n"
+"que achar necessário.\n"
+"\n"
+"Dependendo da configuração do disco rígido, várias opções\n"
+"estão disponíveis.\n"
+"\n"
+" * \"%s\". Esta opção irá automaticamente particionar o(s) disco(s)\n"
+"vazio(s). Se usar esta opção, não irão haver mais perguntas.\n"
+"\n"
+" * \"%s\". O assistente detectou uma ou mais partições Linux no disco\n"
+"rígido. Se as deseja usar, escolha esta opção. Será-lhe então pedido\n"
+"para escolher o ponto de montagem associado a cada partição. Os\n"
+"pontos habituais de montagem são seleccionados por omissão, e para\n"
+" a maioria é uma boa ideia mantê-los assim.\n"
+"\n"
+" * \"%s\". Se a Microsoft Windows é instalada no seu disco rígido e \n"
+"utiliza todo o espaço disponível, irá ter que criar espaço livre para o\n"
+"GNU/Linux. Para o fazer, pode apagar a sua partição Microsoft Windows\n"
+"e dados (ver a solução ``Apagar o disco todo'') ou redimensionar a partição\n"
+"FAT ou NTFS do Microsoft Windows. O redimensionamento pode ser feito\n"
+"sem a perda de qualquer dado, desde que previamente tenha desfragmentado\n"
+"a partição Windows. Recomenda-se que faça cópias de segurança.\n"
+"Recomenda-se que use esta opção, se quer usar os dois sistemas\n"
+"operativos, Mandriva Linux e Microsoft Windows no mesmo computador.\n"
+"\n"
+" Antes de escolher esta opção, por favor compreenda que a seguir a este\n"
+"procedimento, o tamanho da partição do seu Microsoft Windows será mais\n"
+"pequeno. Terá menos espaço livre no Microsoft Windows para gravar os\n"
+"seus dados ou instalar novo software.\n"
+"\n"
+" * \"%s\". Se deseja apagar todos os dados e todas as partições presentes\n"
+"no disco rígido e substituí-los pelo seu novo sistema Mandriva Linux,\n"
+"escolha esta opção. Seja cuidadoso, porque não será mais capaz de\n"
+"desfazer esta operação após ter confirmado.\n"
+"\n"
+" !! Se escolher esta opção, todos os dados no disco serão apagados!!\n"
+"\n"
+" * \"%s\": Esta opção aparece quando o disco rígido é inteiramente do\n"
+"sistema Microsoft Windows. Escolher esta opção irá simplesmente apagar\n"
+"tudo no disco e começar de novo a particionar tudo do princípio.\n"
+"\n"
+" !! Se escolher esta opção, todos os dados no disco vai ser perdidos. !!\n"
+"\n"
+" * \"%s\". Escolha esta opção se deseja particionar manualmente o seu\n"
+"disco rígido. Tenha cuidado -- é uma opção potente mas perigosa e pode\n"
+"muito facilmente perder todos os seus dados. É por isso que esta opção\n"
+"é apenas recomendada a alguém que já tenha feito alguma coisa parecida\n"
+"anteriormente e tenha alguma experiência. Para mais instruções em como\n"
+"usar a utilidade DiskDrake, refira-se à secção ``Gerir As Suas Partições''\n"
+"no ``Guia Inicial''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partição existente"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Apagar disco inteiro"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Parabéns, a instalação está agora completa e o seu sistema GNU/Linux\n"
+"está pronto a ser usado. Clique em \"%s\" para reiniciar o sistema.\n"
+"Não se esqueça de remover a média de instalação (CD-ROM ou disquete).\n"
+"A primeira coisa que deve ver a seguir ao computador acabar os testes\n"
+"de material, é o menu do carregador de arranque, dando-lhe a opção\n"
+"de escolher qual o sistema operativo a iniciar.\n"
+"\n"
+"O botão \"%s\" mostra mais dois botões para:\n"
+"\n"
+" * \"%s\": permite-lhe criar uma disquete de instalação que irá\n"
+"automáticamente executar uma instalação completa sem a ajuda de\n"
+"um operador similar ao da instalação que ainda agora configurou.\n"
+"\n"
+" Note que duas opções diferentes são disponíveis depois de clicar\n"
+"naquele botão:\n"
+"\n"
+" * \"%s\". Isto é uma instalação parcial automática. O passo de\n"
+"particionar é o único procedimento interactivo.\n"
+"\n"
+" * \"%s\". Instalação completamente automática: o disco rígido\n"
+"é completamente reescrito, todos os dados serão perdidos.\n"
+"\n"
+" Esta opção é muito prática para instalar várias máquinas similares.\n"
+"Veja a secção Auto Instalação no nosso sítio web para mais\n"
+"informações.\n"
+"\n"
+" * \"%s\"(*): grava uma lista de pacotes seleccionados na instalação.\n"
+"Para usar esta selecção com outra instalação, insira uma disquete\n"
+"e inicie a instalação. Na linha de comandos, prima a tecla [F1],\n"
+"digite >>linux defcfg=\"floppy\"<< e prima a tecla [Enter].\n"
+"\n"
+"(*) Precisa de uma disquete formatada FAT. Para criar uma em GNU/Linux,\n"
+"digite \"mformat a:\", ou \"fdformat /dev/fd0\" seguido de \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Gerar disquete auto-instal"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se escolher usar algumas partições GNU/Linux, pode querer formatar\n"
+"algumas delas e apagar os dados nelas contidos. Para o fazer, por favor\n"
+"escolha essas partições.\n"
+"\n"
+"Por favor note que não é necessário formatar todas a partições já\n"
+"existentes. Tem que formatar as partições que tenham sistemas\n"
+"operativos (tais como \"/\", \"/usr\" ou \"/var\") mas não tem que\n"
+"formatar partições que contenham dados que deseja manter\n"
+"(tipicamente \"/home\").\n"
+"\n"
+"Por favor tenha atenção quando seleccionar as partições. A seguir à\n"
+"formatação estar completa, todos os dados nas partições seleccionadas\n"
+"serão perdidos e não será capaz de os recuperar.\n"
+"\n"
+"Clique em \"%s\" quando estiver pronto para formatar as partições.\n"
+"\n"
+"Clique em \"%s\" se deseja escolher outra partição para o seu novo\n"
+"sistema operativo Mandriva Linux.\n"
+"\n"
+"Clique em \"%s\" se deseja escolher partições para verificar se\n"
+"fisicamente há blocos defeituosos (\"bad blocks\") no disco."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"No momento que instala o Mandriva Linux, é quase certo que alguns\n"
+"pacotes terão sido actualizados desde a distribuição inicial. Alguns\n"
+"erros podem ter sido corrigidos, e problemas de segurança resolvidos.\n"
+"Para lhe permitir beneficiar destas actualizações, está agora apto\n"
+"a fazer a transferi-las da Internet. Escolha \"%s\" se tem uma\n"
+"conexão Internet activa, ou \"%s\" se preferir instalar os\n"
+"pacotes actualizados mais tarde.\n"
+"\n"
+"Ao escolher \"%s\" mostra uma lista das localizações web de onde as\n"
+"actualizações podem ser transferidas. Deve escolher a que estiver\n"
+"mais perto de si. Irá aparecer uma selecção de pacotes em árvore:\n"
+"reveja a selecção, e clique em \"%s\" para transferir e instalar os\n"
+"pacotes seleccionados, ou clique em \"%s\" para abortar."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nesta fase, o DrakX irá permitir-lhe escolher o nível de segurança desejado\n"
+"para a sua máquina. Como regra de ouro, o nível de segurança deve ser maior\n"
+"quando a máquina contém informação crucial, ou quando está directamente\n"
+"exposta à internet. Porém, um nível de segurança superior, geralmente é\n"
+"obtido á custa de menos facilidade de uso/manuseamento.\n"
+"\n"
+"Se não sabe o que escolher, deixe o valor predefinido. Poderá alterá-lo\n"
+"mais tarde com a ferramenta draksec, que faz parte do Centro de Controlo\n"
+"Mandriva Linux.\n"
+"\n"
+"Preencha o campo \"%s\" com o endereço de correio electrónico da pessoa\n"
+"responsável pela segurança. As mensagens de segurança serão enviadas\n"
+"para esse endereço."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de Segurança"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Neste fase, precisa escolher que partições vão ser utilizadas para a\n"
+"instalação do seu sistema Mandriva Linux. Se já foram definidas partições,\n"
+"seja por uma instalação anterior do GNU/Linux seja por outra ferramenta de\n"
+"particionamento, pode utilizar-las . Senão, precisa definir partições no\n"
+"disco rígido.\n"
+"\n"
+"Para criar partições, tem primeiro que escolher um disco rígido. Pode\n"
+"escolher o disco que quer particionar clicando em ``hda'' para o primeiro\n"
+"disco IDE, ``hdb'' para o segundo, ``sda'' para o primeiro disco SCSI e\n"
+"por aí adiante.\n"
+"\n"
+"Para particionar o disco selecionado, pode usar estas opções:\n"
+"\n"
+" * \"%s\": esta opção apaga todas as partições do disco seleccionado\n"
+"\n"
+" * \"%s\": esta opção permite criar automaticamente partições\n"
+"ext3 e partições swap no espaço livre do seu disco\n"
+"\n"
+"\"%s\": dá acesso para opções adicionais:\n"
+"\n"
+" * \"%s\": grava a tabela das partições para uma disquete. Útil para\n"
+"mais tarde recuperar a tabela das partições, se necessário. É fortemente\n"
+"recomendado que execute este passo.\n"
+"\n"
+" * \"%s\": permite restaurar uma tabela de partições anteriormente\n"
+"gravada numa disquete;\n"
+"\n"
+" * \"%s\": se a sua tabela das partições está danificada, pode-a tentar\n"
+"recuperar com esta opção. Por favor esteja atento e lembre-se que isto\n"
+"nem sempre resulta.\n"
+"\n"
+" * \"%s\": apaga todas as alterações e recarrega a tabela de partições\n"
+"que estava originalmente no disco.\n"
+"\n"
+" * \"%s\": desmarque esta opção para forçar os utilizadores a montar\n"
+"e desmontar manualmente as médias amoviveis como disquetes e CD-ROMs.\n"
+"\n"
+" * \"%s\": use esta opção se deseja usar um assistente para particionar o\n"
+"disco rígido. Isto é recomendado se não tem um bom conhecimento de \n"
+"como se faz um bom particionamento do disco.\n"
+"\n"
+" * \"%s\": use esta opção para cancelar as alterações.\n"
+"\n"
+" * \"%s\": permite acções suplementares nas partições (tipo, opções,\n"
+"formatar) e dá mais informações sobre o disco rígido.\n"
+"\n"
+" * \"%s\": quando tiver acabado de particionar o seu disco rígido, isto irá\n"
+"gravar as suas alterações no disco.\n"
+"\n"
+"Quando a definir o tamanho de uma partição, pode finalmente configurar\n"
+"o tamanho usando as teclas de setas do seu teclado.\n"
+"\n"
+"Nota: pode chegar a qualquer opção usando o teclado. Navegue através\n"
+"das partições usando as teclas [Tab] e as setas [Subir/Descer].\n"
+"\n"
+"Quando uma partição é selecionada, pode usar:\n"
+"\n"
+" * Ctrl-c para criar uma nova partição (quando escolhe uma partição vazia)\n"
+"\n"
+" * Ctrl-d para apagar uma partição\n"
+"\n"
+" * Ctrl-m para definir o ponto de montagem\n"
+"\n"
+"Para obter mais informações acerca dos diferentes tipos de sistemas de\n"
+"ficheiros disponíveis, por favor leia o capítulo ext2FS do ``Manual de\n"
+"Referência''.\n"
+"\n"
+"Se está a instalar numa máquina PPC, irá querer criar umas pequena partição\n"
+"de arranque HFS com pelo menos 1MB, que será usada pelo carregador de\n"
+"arranque yaboot. Se optar por criar uma partição maior, tipo 50MB, pode-lhe\n"
+"ser útil para gravar um kernel e a uma imagem ramdisk para situações de\n"
+"de emergência."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontagem dos dispositivos amovíveis"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Alterna entre os modos normal/perito"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mais do que uma partição Microsoft foi detectada no seu disco rígido.\n"
+"Por favor escolha qual deseja redimencionar para poder instalar o seu\n"
+"novo sistema operativo Mandriva Linux.\n"
+"\n"
+"Cada partição é listada da seguinte maneira: \"Nome Linux\",\n"
+"\"Nome Windows\", \"Capacidade\".\n"
+"\n"
+"O \"Nome Linux\" é estruturado: \"tipo de disco rígido\",\n"
+" \"numero de disco\", \"numero da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"O \"Tipo de Disco\" é \"hd\" se o disco rígido é IDE e \"sd\" se é um\n"
+"disco rígido SCSI.\n"
+"\n"
+"O \"Numero de disco\" é sempre uma letra depois de \"hd\" ou \"sd\".\n"
+"Com os discos rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido master no controlador IDE principal\";\n"
+"\n"
+" * \"b\" significa \"disco rígido slave no controlador IDE principal\";\n"
+"\n"
+" * \"c\" significa \"disco rígido master no controlador IDE segundario\";\n"
+"\n"
+" * \"d\" significa \"disco rígido slave no controlador IDE segundario\";\n"
+"\n"
+"Com os discos rígidos SCSI, um \"a\" significa \"SCSI ID mais baixo\",\n"
+"um \"b\" significa \"segundo SCSI ID mais baixo\", etc.\n"
+"\n"
+"O \"nome Windows\" é a letra do seu disco rígido sob Windows\n"
+"(o primeiro disco ou partição é chamado \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifique o país seleccionado. Se não está neste país, clique no\n"
+"botão \"%s\" e escolha outro. Se o seu país não estiver na lista dada,\n"
+"clique no botão \"%s\" para obter a lista completa dos países."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Este passo só fica disponível se uma partição GNU/Linux existente for\n"
+"encontrada na sua máquina.\n"
+"\n"
+"O DrakX agora precisa saber se deseja fazer uma nova instalação ou uma\n"
+"actualização num sistema Mandriva Linux existente:\n"
+"\n"
+" * \"%s\": Para a maior parte, isto apaga completamente o sistema antigo.\n"
+"No entanto, dependendo no seu esquema de particionamento, pode prevenir\n"
+"que parte dos seus dados existentes (principalmente os directórios \"home"
+"\")\n"
+"sejam substituídos. Se desejar alterar como o particionamento dos seus\n"
+"discos rígidos é feito, ou mudar o seu sistema de ficheiros, deve usar esta "
+"opção.\n"
+"\n"
+" * \"%s\": Este tipo de instalação permite actualizar os pacotes "
+"actualmente\n"
+"instalados no seu sistema Mandriva Linux. O seu actual esquema de\n"
+"particionamento, assim como os dados dos utilizadores não serão alterados.\n"
+"A maior parte dos outros passos da configuração permanece disponível e "
+"similar a uma instalação standard.\n"
+"\n"
+"A opção ``Actualizar'' deverá funcionar correctamente nos sistemas\n"
+"Mandriva Linux versão \"8.1\" ou superior. É desaconselhável actualizar\n"
+"versões anteriores à versão \"8.1\" do Mandriva Linux."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo da linguagem que escolhe (), o DrakX irá automáticamente\n"
+"escolher um determinado tipo de configuração do teclado. Seleccione a opção\n"
+"que melhor lhe sirva ou escolha outra disposição de teclado.\n"
+"\n"
+"Também, pode não ter um teclado que corresponde exactamente à sua\n"
+"linguagem: por exemplo, se é Francês mas fala Português, pode desejar,\n"
+"mesmo assim um teclado Francês. Ou se fala Português mas vive em\n"
+"Inglaterra, irá encontrar-se na mesma situação. Nos dois casos, pode\n"
+"escolher o teclado apropriado da lista.\n"
+"\n"
+"Clique no botão \"%s\" para obter a lista de todos os teclados suportados.\n"
+"\n"
+"Se escolheu a disposição de um teclado baseado num alfabeto diferente de\n"
+"latim, o próximo diálogo irá-lhe permitir escolher a mapeação de teclas que\n"
+"lhe permita mudar o teclado entre uma disposição Latim uma não Latim."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro passo, é escolher a sua linguagem preferida.\n"
+"\n"
+"A sua escolha da linguagem preferida irá afectar o instalador, a\n"
+"documentação, e o sistema em geral. Primeiro seleccione a região\n"
+"onde está localizado, depois a linguagem que fala.\n"
+"\n"
+"Ao clicar no botão \"%s\" irá permitir-lhe escolher outras linguagens\n"
+"para instalar na sua área de trabalho, consequentemente instalará os\n"
+"ficheiros para a documentação do sistema e aplicações referentes à\n"
+"linguagem especificada . Porexemplo, se utilizadores espanhóis estão\n"
+"para usar a sua máquina, escolha Inglês como linguagem predefinida\n"
+"na vista em árvore e \"%s\" na secção Avançada.\n"
+"\n"
+"Sobre o suporte UTF-8 (unicode): Unicode é uma codificação de caracter\n"
+"feito para cobrir todas as linguagens existentes. No entanto o seu suporte\n"
+"completo em GNU/Linux ainda está a ser desenvolvido. Por essa razão,\n"
+"o uso de UTF-8 em Mandriva Linux depende das escolhas do utilizador:\n"
+"\n"
+" * Se escolher uma linguagem com um forte legado de codificação\n"
+"(linguagens latin1, Russo, Japonês, ChinêsCoreano, Tailandês, grego, turco,\n"
+"maior parte de linguagens iso-8859-2), o legado da codificação será usado\n"
+"por omissão\n"
+"\n"
+" * Outras linguagens irão usar unicode por omissão;\n"
+"\n"
+" * Finalmente, o unicode pode também ser forçado para uso através do\n"
+"por um pedido do utilizador ao selecionar a opção \"%s\",\n"
+"independentemente como as linguagens tenham sido escolhidas.\n"
+"\n"
+"Notar que não está limitado a escolher uma única linguagem adicional.\n"
+"Pode escolher várias, ou até instala-las ao seleccionar a caixa\"%s\".\n"
+"Seleccionar suporte para uma linguagem, quer dizer traduções, fontes,\n"
+"verificadores de ortografia, etc., que será também instalados para essa\n"
+"linguagem.\n"
+"\n"
+"Para trocar entre as várias linguagens instaladas no seu sistema, pode\n"
+"correr o comando \"/usr/sbin/localedrake\" como \"root\" para mudar a\n"
+"linguagem usada por todo o sistema. Correndo o comando como utilizador\n"
+"normal , irá apenas mudar as configurações da linguagem para esse\n"
+"utilizador em particular."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanhol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Usualmente, o DrakX não tem problemas em detectar o numero de botões\n"
+"no seu rato. Se tiver, assume que tem um rato de dois botões e irá\n"
+"configurá-lo para a emulação do terceiro botão. O terceiro botão de um rato\n"
+"de dois botões, pode ser obtido por simultaneamente clicar nos botões\n"
+"esquerdo e direito. O DrakX irá automaticamente saber se o seu rato usa\n"
+"um interface PS/2 ou USB.\n"
+"\n"
+"Se tem um rato de 3 botões sem roda, pode escolher um rato \"%s\".\n"
+"O DrakX irá então configurar o seu rato para que possa simular a roda: para\n"
+"o fazer, prima o botão do meio e mova o apontador do seu rato para cima\n"
+"e para baixo.\n"
+"\n"
+"Se por alguma razão deseja especificar um tipo diferente de rato, "
+"seleccione\n"
+"o tipo desejado a partir da lista fornecida.\n"
+"\n"
+"Pode escolher a entrada \"%s\" para escolher um rato ``genérico'' que\n"
+"trabalhe praticamente com todos os ratos.\n"
+"\n"
+"Se escolher outro rato diferente do predefinido, um teste no ecrã será\n"
+"mostrado. Use os botões e a roda para verificar se as configurações estão\n"
+"correctas e o rato está a trabalhar correctamente. Se o rato não estiver\n"
+"a funcionar bem, prima a tecla espaço ou [Return] para cancelar o teste\n"
+"e retornar à lista de ratos.\n"
+"\n"
+"Ocasionalmente a roda do rato não é detectada automaticamente, então é\n"
+"necessário seleccionar o rato da lista. Certifique-se que selecciona o\n"
+"correspondente à porta a que o seu rato está ligado. Depois de seleccionar\n"
+"o rato e premir o botão \"%s\", uma imagem será mostrada no ecrã a mover\n"
+"a roda. Teste os botões e verifique se o apontador do rato se move no ecrã \n"
+"assim como move o rato."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "com emulação de Roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualquer rato PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Por favor escolha a porta correcta. Por exemplo, em Windows é \"COM1\",\n"
+"em GNU/Linux já é \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Este é o ponto mais crucial de decisão para a segurança do seu sistema\n"
+"GNU/Linux: deve escolher a senha do \"root\". O \"root\" é o administrador\n"
+"do sistema e é o único utilizador autorizado para fazer actualizações,\n"
+"adicionar utilizadores, mudar a configuração global do sistema, e por aí a\n"
+" fora. Em poucas palavras, o \"root\" pode fazer tudo! É por isso que deve\n"
+"escolher uma senha que seja difícil de adivinhar: o DrakX irá-lhe dizer se\n"
+"a senha que escolheu é muito simples. Como pode ver, não é obrigado a\n"
+"digitar uma senha, mas aconselhamos vivamente a não o fazer.O GNU/Linux\n"
+"é tão propenso ao erro do operador como qualquer outro sistema operativo.\n"
+"Já que o \"root\" pode ultrapassar todas as limitações e involuntariamente\n"
+"apagar todos os dados nas partições ao aceder descuidadamente a estas,\n"
+"é muito importante que haja dificuldades em aceder/tornar-se \"root\".\n"
+"\n"
+"A senha deve ser uma mistura de caracteres alfa numéricos e com pelos\n"
+"menos 8 caracteres de comprimento.Nunca aponte a senha do \"root\" --\n"
+"torna demasiado fácil comprometer o seu sistema.\n"
+"\n"
+"Uma advertência: não faça a senha demasiado longa ou muito complicada\n"
+"para que seja capaz de se lembrar dela.\n"
+"\n"
+"A senha não vai ser mostrada no ecrã à medida que a escreve. Para reduzir\n"
+"a hipótese de ser mal digitado, é necessário que a senha seja digitada duas\n"
+"vezes. Se lhe acontecer o mesmo erro duas vezes, aí terá que usar essa\n"
+"senha ``incorrecta'' na primeira vez que tentar ligar-se como \"root\".\n"
+"\n"
+"Se deseja um servidor de autenticação para controlar o acesso ao seu\n"
+"computador, clique em \"%s\".\n"
+"\n"
+"Se a sua rede usa seja LDAP, NIS ou a autenticação de serviços para um\n"
+"domínio PDC Windows, seleccione o apropriado para \"%s\".\n"
+"Se não sabe qual usar, deve perguntar ao administrador da sua rede.\n"
+"\n"
+"Se lhe acontecer ter problemas em relembrar senhas, ou se o seu\n"
+"computador nunca for conectado à Internet, se confia em toda a gente que\n"
+"usa o seu computador, aí pode escolher em ter \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "Autenticação"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"O carregador de arranque é um pequeno programa que é iniciado pelo\n"
+"computador no seu arranque. É responsável pela inicialização de todo o\n"
+"sistema. Normalmente, a fase de instalação do gestor de arranque é\n"
+"completamente automática. O DrakX irá analisar o sector de arranque do\n"
+"disco e agir de acordo com o que lá encontrar:\n"
+"\n"
+" * se encontrar um sector de arranque Windows, irá trocá-lo por um sector\n"
+"de arranque GRUB/LILO. Desta maneira será capaz de escolher entre carregar\n"
+"o GNU/Linux ou qualquer outro Sistema Operativo instalado na sua máquina.\n"
+"\n"
+" * se encontrar um sector de arranque GRUB ou LILO, irá trocá-lo por um "
+"novo.\n"
+"\n"
+"Se o DrakX não conseguir determinar onde deve colocar o sector de arranque,\n"
+"irá-lhe perguntar onde o quer colocar. Geralmente, o \"%s\" é o local mais\n"
+"seguro. Ao escolher \"%s\" nenhum gestor de arranque será instalado. Use\n"
+"esta opção apenas se souber o que está a fazer."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Agora, é tempo de escolher o sistema de impressão para o seu computador.\n"
+"Outros sistemas operativos podem oferecer um, mas o Mandriva Linux\n"
+"oferece dois. Cada um dos sistemas de impressão é bem servido para tipos\n"
+"particulares de configuração.\n"
+"\n"
+".*.\"%s\" -- que é um anacronismo para ``imprimir, não meter em fila'',\n"
+"é a escolha se tem uma conexão directa à sua impressora e deseja poder\n"
+"parar tudo nos erros de impressão, e não tem impressoras em rede.\n"
+"(\"%s\" só irá gerir os casos mais simples de rede e é algo lento quando\n"
+"usado em redes). Recomenda-se que use \"lpd\" se é a sua primeira\n"
+"experiência com GNU/Linux.\n"
+"\n"
+".*.\"%s\" -- O `` Sistema de Impressão Comum Unix'', é excelente para\n"
+"imprimir para a sua impressora local e também para o outro lado do\n"
+"mundo. É simples e pode agir como servidor ou cliente para o antigo\n"
+"sistema de impressão \"lpd\". Portanto, é compatível com os sistemas\n"
+"anteriores. Pode fazer muitas coisas, mas a configuração de base é\n"
+"quase tão simples como \"lpd\". Se precisa dele para emular um\n"
+"servidor \"lpd\", tem que activar o servidor \"cups-lpd\". \"%s\" tem\n"
+"interfaces gráficos para imprimir ou escolher as opções de impressão.\n"
+"\n"
+"Poderá mudar a sua escolha de sistema após a instalação correndo o\n"
+"PrinterDrake a partir do Centro de Controlo Mandriva Linux e clicando\n"
+"no botão \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Perito"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"O DrakX irá primeiro detectar os dispositivos IDE presentes no seu\n"
+"computador. Irá também procurar por um ou mais adaptadores PCI SCSI\n"
+"no seu sistema. Se um adaptador SCSI for encontrado, o DrakX irá\n"
+"automáticamente instalar o controlador apropriado.\n"
+"\n"
+"Porque a detecção de material não é a toda a prova, o DrakX pode falhar\n"
+"a detectar os discos rígidos. Se isso acontecer, terá de indicar o seu\n"
+"material á mão..\n"
+"\n"
+"Se tiver que o especificar manualmente o seu adaptador PCI SCSI, o DrakX\n"
+"irá-lhe perguntar se quer configurar as opções deste. Deve permitir que o\n"
+"DrakX verifique o material para as opções específicas das placas que são\n"
+"necessárias para inicializar o adaptador. Na maior parte do tempo, o DrakX\n"
+"irá executar este passo sem qualquer problema.\n"
+"\n"
+"Se o DrakX não conseguir verificar quais são as opções que automáticamente\n"
+"determinem que parâmetros são necessários para o material em questão, irá\n"
+"precisar de configurar o controlador manualmente."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se foi detectada uma placa de som no seu sistema, será\n"
+"listada aqui. Se verificar que a placa de som listada não é a placa que "
+"está\n"
+"presente no seu sistema, pode clicar no botão e escolher outro controaldor."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Em revisão, o DrakX irá apresentar um sumário que junta a informação\n"
+"recolhida sobre o seu sistema. Dependendo do material instalado na sua\n"
+" máquina, poderá ter uma ou todas das seguintes entradas.\n"
+"Cada entrada é feita sobre o item de material para ser configurado,\n"
+"seguido de um rápido sumário da corrente configuração.\n"
+"Clica no botão correspondente \"%s\" para fazer as alterações.\n"
+"\n"
+" * \"%s\": verifique a configuração actual do mapa do teclado corrente\n"
+"e mude-a se necessário.\n"
+"\n"
+" * \"%s\": verifique a selecção de país actual. Se não estiver neste país,\n"
+"clique no botão \"%s\" e escolha outro. Se o seu país não aparecer na lista\n"
+"mostrada, clica no botão \"%s\" para obter a lista completa de países.\n"
+"\n"
+" * \"%s\": por omissão, o DrakX escolhe o fuso horário do país\n"
+"escolhido. Pode clicar no botão \"%s\" se esta não é a opção correcta.\n"
+"\n"
+" * \"%s\": verifique a actual configuração do rato e clique no botão para\n"
+"mudar se necessário.\n"
+"\n"
+" * \"%s\": clique no botão \"%s\" para abrir o assistente de configuração\n"
+"de impressoras. Consulte o capítulo correspondente do ``Guia do "
+"Utilizador'',\n"
+"para mais informação sobre como configurar uma nova impressora.\n"
+"O interface apresentado no nosso manual, é similar ao usado na instalação.\n"
+"\n"
+" * \"%s\": se uma placa de som for detectada no seu sistema,será mostrada\n"
+"aqui. SE notar que a placa de som não é actualmente presente no seu\n"
+"sistema, pode clicar no botão para escolher um controlador diferente.\n"
+"\n"
+" * \"%s\": se tem uma placa de TV, é aqui que a informação acerca da\n"
+"configuração é mostrada, Se tem uma placa de TV e não é detectada,\n"
+"clique em \"%s\" para a tentar configurar manualmente.\n"
+"\n"
+" * \"%s\": pode clicar em \"%s\" para mudar os parâmetros associados\n"
+"com a placa se acha que a configuração está errada.\n"
+"\n"
+" * \"%s\": por omissão, o DrakX configura o seu interface gráfico nas\n"
+"resoluções \"800x600\" ou \"1024x768\". Se isso não lhe serve, pode\n"
+"clicar em \"%s\" para configurar o seu interface gráfico.\n"
+"\n"
+" * \"%s\": se deseja configurar a sua Internet ou acesso de rede local\n"
+"pode fazê-lo. Refira-se a documentação impressa ou use o Centro de\n"
+"Controlo do Mandriva Linux a seguir a instalação ter terminado de\n"
+"beneficiar da ajuda incluída.\n"
+"\n"
+" * \"%s\": permite-lhe configurar endereços HTTP e FTP proxy se a máquina\n"
+"onde está a instalar é para ser localizada atrás de um servidor proxy.\n"
+"\n"
+" * \"%s\": esta entrada permite-lhe redefinir o nível de segurança como\n"
+"configurado num passo anterior.\n"
+"\n"
+" * \"%s\": se planeia ligar a sua máquina à Internet, é uma boa ideia\n"
+"proteger-se de intrusões ao configurar uma firewall. Consultar secção\n"
+"correspondente do ``Guia de Utilizador'' para detalhes acerca de como\n"
+"configurar uma firewall.\n"
+"\n"
+" * \"%s\": se deseja mudar a configuração do carregador de arranque,\n"
+"clique nesse botão. Isto deveria ser reservado aos utilizadores\n"
+"avançados.Referira-se à documentação impressa, ou à linha de ajuda\n"
+"sobre a configuração de carregador de arranque (bootloader) no\n"
+"Centro de Controlo Mandriva Linux.\n"
+"\n"
+" * \"%s\": através desta entrada pode ajustar quais os serviços que serão\n"
+"executados na sua máquina. Se planeia configurar esta máquina como\n"
+"um servidor, é uma boa ideia rever a configuração."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Placa ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface gráfico"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Escolha o disco que deseja apagar para instalar a sua nova partição\n"
+"Mandriva Linux. Tenha cuidado, todos os ficheiros no disco serão\n"
+"perdidos de forma irrecuperável!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Clique em \"%s\" se deseja apagar todos os dados e partições\n"
+"presentes neste disco rígido.Tenha cuidado, depois de clicar em \"%s\",\n"
+"não será capaz de recuperar qualquer dado e partição presente neste\n"
+"disco rígido, incluindo qualquer dado do Windows.\n"
+"\n"
+"Clique em \"%s\" para anular esta operação sem perder dados\n"
+"e partições presentes neste disco."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Próximo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
diff --git a/perl-install/install/help/po/pt_BR.po b/perl-install/install/help/po/pt_BR.po
new file mode 100644
index 000000000..0f8bca67e
--- /dev/null
+++ b/perl-install/install/help/po/pt_BR.po
@@ -0,0 +1,2021 @@
+# translation of pt_BR.po to
+# translation of pt_BR.po to Brazilian Portuguese
+# translation of DrakX-pt_BR.po to Brazilian Portuguese
+# tradução de DrakX-pt_BR.po para Português do Brasil
+# DRAKX PT_BR PO FILE
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Lisiane Sztoltz Teixeira <lisiane@mandriva.com>
+# Andrei Bosco Bezerra Torres <andrei_bosco@yahoo.com.br>, 2000, 2003.
+# Bruno Dorfman Buys <brunobuys@zipmail.com.br>, 2002.
+# Tiago da Cruz Bezerra <tiagocruz18@uol.com.br>,2002 2003, 2004.
+# Ricardo de Castilho <cast_brasil@ig.com.br>, 2003.
+# Carlinhos Cecconi <carlinux@terra.com.br>, 2003, 2004.
+# Deivi Lopes Kuhn <deivikuhn@yahoo.com.br>, 2003, 2004.
+# Cristiano Otto Von Trompczynski <cris@mandriva.com>, 2005.
+# Arthur R. Mello <renato@conectiva.com.br>, 2005.
+# Arthur Renato Mello <renato@conectiva.com.br>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pt_BR\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-10-24 08:51-0200\n"
+"Last-Translator: Arthur Renato Mello <renato@conectiva.com.br>\n"
+"Language-Team: <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Antes de continuar, você deve ler com atenção os termos da licença. Ela \n"
+"cobre a distribuição Mandriva Linux inteira. Se você concorda com todos os "
+"termos,\n"
+"clique em \"%s\". Se não concordar, clique no botão \"%s\"\n"
+"para reiniciar seu computador."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux é um sistema multiusuário, e isto significa que cada usuário pode\n"
+"ter suas próprias preferências, seus próprios arquivos, e assim por diante. "
+"Mas,\n"
+"ao contrário do \"root\", que é o administrador do sistema, os usuários\n"
+"adicionados aqui não terão direito de modificar nada, a não ser seus\n"
+"próprios arquivos e suas próprias configurações, protegendo o sistema \n"
+"contra mudanças involuntárias ou maliciosas, que poderiam impactar no "
+"sistema como um todo. Você deverá criar ao menos uma\n"
+"conta regular para você mesmo - esta é a conta que você deverá usar no seu\n"
+"dia-a-dia. Embora seja muito prático acessar o sistema como \"root\" para "
+"fazer tudo,\n"
+"também pode ser muito perigoso! O menor engano pode fazer com que seu\n"
+"sistema não funcione mais. Como usuário regular, mesmo cometendo um erro\n"
+"sério, o pior que pode acontecer é você perder informação, mas não o "
+"sistema\n"
+"inteiro.\n"
+"\n"
+"Primeiro, você deve digitar o seu nome real. Isto não é obrigatório, é "
+"claro,\n"
+"pois você pode digitar, na verdade, o que você quiser.\n"
+"O DrakX pegará a primeira palavra que você digitou na caixa e colocará\n"
+"no campo \"%s\". Este é o nome que esse usuário específico utilizará para "
+"acessar o sistema. Você pode mudá-lo, caso queira. Depois você deverá\n"
+"digitar uma senha. Uma senha de usuário não-privilegiado (regular) não é "
+"tão\n"
+"crucial quanto a de \"root\", do ponto de vista da segurança. Mas isto não "
+"é\n"
+"razão para negligenciar esta senha, deixando-a em branco ou escolhendo uma\n"
+"muito simples: mais tarde, seus arquivos poderão correr sérios riscos.\n"
+"\n"
+"Clicando em \"%s\" você poderá adicionar outros usuários. Adicione um\n"
+"usuário para cada um dos seus amigos: seu pai ou sua irmã, por exemplo.\n"
+"Depois que terminar de adicionar os usuários, clique em \"%s\".\n"
+"\n"
+"Clicando no botão \"%s\" você poderá mudar o \"shell\" padrão do usuário\n"
+"(o padrão é o bash).\n"
+"\n"
+"Quando você terminar de adicionar usuários, você poderá escolher um usuário\n"
+"para que ele acesse automaticamente o sistema quando o computador for "
+"iniciado.\n"
+"Caso você esteja interessado neste recurso (e não precisar de muita\n"
+"segurança local), escolha o usuário e o gerenciador de janelas,\n"
+"e então clique em \"%s\". Se não estiver interessado neste recurso, "
+"desmarque\n"
+"a opção \"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Você quer usar este recurso?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Aqui estão listadas as partições Linux detectadas no seu disco rígido.\n"
+"Você pode manter as opções feitas pelo assistente, elas são\n"
+"boas para o uso diário. Se você quiser alterar estas opções, você deve ao\n"
+"menos definir uma partição (\"/\"). Não escolha uma partição muito pequena\n"
+"ou você não será capaz de instalar todos os softwares desejados. Se você\n"
+"quiser guardar seus dados em uma partição separada, você precisa escolher\n"
+"uma partição \"/home\" (apenas possível se você tiver mais de \n"
+"uma partição Linux disponível).\n"
+"\n"
+"Cada partição é listada da seguinte forma: \"Nome\", \"Capacidade\".\n"
+"\n"
+"\"Nome\" é codificado da seguinte maneira: \"tipo do disco rígido\", "
+"\"número\n"
+"do disco rígido\", \"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\n"
+"\"Tipo do disco rígido\" é \"hd\" se seu disco rígido for IDE e \"sd\"\n"
+"se ele for um disco rígido SCSI.\n"
+"\n"
+"\n"
+"\"Número do disco rígido\" é sempre uma letra depois de \"hd\" ou \"sd\".\n"
+"Para os discos rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido mestre na controladora IDE primária\",\n"
+"\n"
+" * \"b\" significa \"disco rígido escravo na controladora IDE primária\",\n"
+"\n"
+" * \"c\" significa \"disco rígido mestre na controladora IDE secundária\",\n"
+"\n"
+" * \"d\" significa \"disco rígido escravo na controladora IDE secundária\",\n"
+"\n"
+"\n"
+"Com discos rígidos SCSI, um \"a\" significa \"SCSI ID mais baixo\", um \"b\" "
+"significa \"segundo SCSI ID mais baixo\", e assim por diante."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"O instalador do Mandriva Linux está espalhado em diferentes CD-ROMs.\n"
+"Se o pacote selecionado estiver localizado em outro CD-ROM, O DrakX irá\n"
+"ejetar o CD atual e pedir para você inserir o CD necessário. Se você não "
+"tiver com o CD em mãos, basta clicar em \"%s\", e os pacotes correspondentes "
+"não\n"
+"serão instalados."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Agora você deverá especificar quais programas deseja instalar no seu\n"
+"sistema. Existem centenas de pacotes disponíveis para o Mandriva Linux, e\n"
+"para facilitar sua escolha eles foram agrupados em grupos de aplicações\n"
+"similares.\n"
+"\n"
+"O Mandriva Linux separou os pacotes em quatro categorias. Você pode\n"
+"misturar as aplicações de vários grupos, e assim a \"Estação de Trabalho\" "
+"pode ter aplicações do grupo \"Servidor\".\n"
+"\n"
+" * \"%s\": Se você planeja usar sua máquina como estação de trabalho,\n"
+"selecione um ou mais dos grupos desta categoria.\n"
+"\n"
+" * \"%s\": Se a máquina será usada para programação e/ou compilação, escolha "
+"os pacotes apropriados desta categoria. O grupo especial\n"
+"\"LSB\" irá configurar seus sistema para ficar o mais compatível possível\n"
+"com a especificação Linux Standard Base.\n"
+"\n"
+" Selecionar o grupo \"LSB\" irá também instalar o kernel da séria \"2.4\", "
+"ao\n"
+"invés da série padrão \"2.6\". Isto garante 100%% de compatibilidade com LSB "
+"no\n"
+"sistema. No entanto, se você não selecionar o grupo \"LSB\" você ainda terá\n"
+"um sistema próximo a 100%% de compatibilidade com a LSB.\n"
+"\n"
+" * \"%s\": se a máquina será um servidor, você poderá escolher quais dos\n"
+"serviços deseja instalar na máquina.\n"
+"\n"
+" * \"%s \": este é o grupo em que você escolherá seus ambientes\n"
+"gráficos preferidos. Pelo menos um tem que ser selecionado se você quer\n"
+"ter uma estação de trabalho gráfica.\n"
+"\n"
+"Ao mover o ponteiro do mouse sobre um nome de grupo, uma pequena explicação\n"
+"sobre seu conteúdo aparecerá.\n"
+"\n"
+"Você pode marcar a caixa \"%s\", ela é útil se você tiver um pouco de "
+"experiência\n"
+"com o nome dos pacotes oferecidos ou se você deseja ter total controle "
+"sobre\n"
+"o que irá ser instalado.\n"
+"\n"
+"Se você iniciar uma instalação no modo \"%s\", você pode desmarcar todos\n"
+"os grupos e prevenir a instalação de qualquer pacote adicional. Isto é útil "
+"para\n"
+"reparar ou atualizar um sistema já existente.\n"
+"\n"
+"Se você não selecionar nenhum grupo quando em uma instalação regular (o "
+"oposto\n"
+"de uma atualização), uma caixa de diálogo aparecerá propondo diferentes\n"
+"opções para uma instalação mínima:\n"
+"\n"
+" * \"%s\": Instala o mínimo de pacotes possíveis para se ter uma estação\n"
+"de trabalho gráfica.\n"
+"\n"
+" * \"%s\": Instala a base do sistema acrescida de utilitários básicos e\n"
+"documentação. Esta Instalação é útil para configurar um servidor.\n"
+"\n"
+" * \"%s\": Instala os pacotes mínimos necessários para obter um sistema\n"
+"Linux funcionando. Com esta instalação você terá somente interface de\n"
+"linha de comando. O tamanho total desta instalação é de 65 megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Atualizar"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Com documentação básica"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalação realmente mínima"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Se você escolheu selecionar pacotes individualmente, será apresentada uma\n"
+"árvore contendo todos os pacotes classificados por grupos e subgrupos.\n"
+"Navegando nesta árvore, você poderá selecionar grupos inteiros, subgrupos\n"
+" ou pacotes individuais.\n"
+"\n"
+"Quando você seleciona um pacote individual na árvore, uma breve \n"
+"descrição sobre o pacote aparecerá na janela da direita.\n"
+"\n"
+"!! Quando um pacote de servidor foi selecionado, intencionalmente ou por\n"
+"ser parte de um grupo, será pedido para que você confirme se realmente "
+"deseja que\n"
+"estes servidores sejam instalados. Por padrão, no Mandriva Linux qualquer\n"
+"serviço instalado será iniciado quando a máquina for iniciada.\n"
+"Mesmo que sejam seguros e não existam quaisquer dúvidas a respeito\n"
+"da distribuição, é possível que brechas de segurança\n"
+"sejam descobertas depois que esta versão do Mandriva Linux foi concluída.\n"
+"Se você não sabe o que um determinado serviço faz ou porque está sendo\n"
+"instalado, clique em \"%s\". Clicando em \"%s\", os serviços listados\n"
+"serão instalados e serão iniciados automaticamente quando o\n"
+"sistema for iniciado!!\n"
+"\n"
+"A opção \"%s\" desabilita a caixa de diálogo com o aviso que aparece quando\n"
+"o instalador seleciona um pacote automaticamente por ter resolvido\n"
+"dependências. Alguns pacotes dependem de outros e a instalação de \n"
+"de um ou mais pacotes pode ser requisitada para que se instale um programa\n"
+"específico. O instalador pode determinar quais pacotes são necessários\n"
+"para satisfazer uma dependência e assim completar a instalação.\n"
+"\n"
+"O pequeno ícone de disco flexível no fim da lista permite gravar a lista\n"
+"de pacotes escolhida durante uma instalação. Isto é útil quando você tiver\n"
+"um número de máquinas que deseja configurar de forma idêntica. Ao clicar\n"
+"neste ícone, será pedido a você que insira um disquete, criado no final de "
+"outra\n"
+"instalação. Veja a segunda dica no último passo sobre\n"
+"como criar esse disquete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependências automáticas"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": clique no botão \"%s\" para abrir o assistente de configuração de\n"
+"impressora. Consulte o capítulo correspondente do \"Guia do Iniciante\" "
+"para\n"
+"mais informações sobre como configurar uma nova impressora. A interface\n"
+"apresentada no manual é similar à utilizada durante a instalação."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Esta janela é utilizada para selecionar quais serviços você deseja iniciar\n"
+"durante o processo de inicialização (boot) da máquina.\n"
+"\n"
+"O DrakX irá listar todos os serviços disponíveis na instalação atual.\n"
+"Reveja cuidadosamente e desabilite aqueles que não são sempre necessários \n"
+"durante a inicialização.\n"
+"\n"
+"Um pequeno texto de ajuda descrevendo a função do serviço será mostrado \n"
+"quando o mesmo for selecionado. Contudo, caso você não tenha certeza se um \n"
+"serviço é útil ou não, é seguro manter o comportamento padrão.\n"
+"\n"
+"!! Tenha muito cuidado neste passo, caso você pretenda usar sua máquina como "
+"um \n"
+"servidor: você provavelmente vai querer que serviços indesejados não sejam "
+"iniciados.\n"
+"Lembre-se de que vários serviços podem ser perigosos se forem habilitados em "
+"um\n"
+"servidor. Em geral, selecione apenas os serviços que você realmente "
+"precisa. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"O GNU/Linux gerencia a hora em GMT (Greenwich Mean Time) e calcula a hora\n"
+"local de acordo com o fuso horário que você escolheu. Se o relógio em sua\n"
+"placa mãe está configurado para o horário local, é possível desativá-lo, "
+"desmarcando\n"
+"\"%s\", permitindo ao GNU/Linux saber que o relógio do hardware e o relógio "
+"do\n"
+"sistema são os mesmos. Isto é útil quando a máquina também tem outro sistema "
+"operacional.\n"
+"\n"
+"A opção \"%s\" irá automaticamente ajustar o relógio, conectando-o a um\n"
+"servidor remoto de hora na Internet. Obviamente, você deve dispor de uma\n"
+"conexão na Internet para isso. Recomendamos que você escolha um servidor de "
+"hora localizado próximo a você, na lista apresentada.\n"
+"Esta opção, na verdade, instala um servidor de hora que poderá ser\n"
+"usado também por outras máquinas de sua rede local."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronização automática da hora "
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Placa de vídeo\n"
+"\n"
+" O instalador normalmente detecta e configura automaticamente a placa de\n"
+"vídeo instalada em seu computador. Se não for o caso, você pode escolher\n"
+"na lista a placa que você possui atualmente instalada.\n"
+"\n"
+" Em casos nos quais diferentes servidores são disponíveis para sua placa\n"
+"de vídeo, com ou sem aceleração 3D, você será questionado para escolher\n"
+"um servidor que atenda melhor às suas necessidades."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para X Window System ou Sistema de Janelas X) é o coração da interface "
+"gráfica do GNU/Linux\n"
+"no qual todos os ambientes gráficos (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) fornecidos com o Mandriva Linux se baseiam.\n"
+"\n"
+"Você verá uma lista de parâmetros para alterações, para poder\n"
+"obter uma ótima resolução gráfica. \n"
+"Placa de Vídeo\n"
+"\n"
+" O instalador normalmente poderá detectar e configurar automaticamente \n"
+"a placa de vídeo da sua máquina. Se esta configuração não estiver correta, "
+"você pode\n"
+"escolher na lista a placa correspondente instalada.\n"
+"\n"
+" Se existirem diferentes servidores possíveis para a sua placa, com ou "
+"sem\n"
+"aceleração 3D, será oferecido para você escolher o servidor que melhor "
+"atenda as\n"
+"necessidades.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" O instalador pode normalmente detectar e configurar automaticamente\n"
+"o monitor da sua máquina. Se não for o correto, você pode escolher na\n"
+"lista o monitor que está conectado a seu computador.\n"
+"\n"
+"\n"
+"\n"
+"Resolução\n"
+"\n"
+" Aqui você pode escolher a resolução e a profundidade das cores que seu\n"
+"hardware pode exibir. Escolha a resolução que melhor lhe agrada (você\n"
+"poderá alterá-la após a instalação). Um exemplo da configuração escolhida\n"
+"é mostrada na tela.\n"
+"\n"
+"\n"
+"\n"
+"Teste\n"
+"\n"
+" Dependendo do seu hardware, esta opção pode não ser mostrada.\n"
+"\n"
+" O sistema testará a resolução gráfica escolhida.\n"
+"Se você ver a mensagem durante o teste e responder \"%s\",\n"
+"o DrakX seguirá para a etapa seguinte. Se não puder ver a mensagem,\n"
+"significa que algo na configuração está errado, e o teste vai acabar\n"
+"automaticamente depois de 12 segundos, voltando ao menu. Mude\n"
+"as configurações até obter uma boa resolução gráfica.\n"
+"\n"
+"\n"
+"\n"
+"Opções\n"
+"\n"
+" Aqui você pode escolher se deseja que o computador inicie\n"
+"automaticamente em modo gráfico. Obviamente, você vai querer marcar o\n"
+"\"%s\" se a sua máquina é um servidor, ou caso não tenha conseguido obter\n"
+"uma boa configuração de vídeo."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" O instalador normalmente detecta e configura automaticamente o\n"
+"monitor conectado ao seu computador. Se a configuração não estiver correta, "
+"escolha \n"
+"na lista o monitor correto que está conectado em seu computador."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolução\n"
+"\n"
+" Você pode escolher aqui as resoluções e profundidade de cores disponíveis "
+"para\n"
+"o seu hardware. Escolha as que atendam melhor às suas necessidades (você\n"
+"poderá alterar esta configuração após a instalação). Uma amostra da "
+"configuração\n"
+"será mostrada no monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"No caso de existirem vários servidores disponíveis para a sua placa,\n"
+"com ou sem aceleração 3D, escolha o servidor que melhor se adapta\n"
+"às suas necessidades."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opções\n"
+"\n"
+" Aqui você pode escolher se deseja que o computador inicie\n"
+"automaticamente em modo gráfico. Obviamente, você vai querer marcar o\n"
+"\"%s\" se a sua máquina é um servidor, ou caso não tenha conseguido obter\n"
+"uma boa configuração de resolução de vídeo."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Neste ponto, você precisa escolher onde instalar o seu sistema\n"
+"Mandriva Linux no seu disco rígido. Se seu disco estiver vazio ou se um\n"
+"sistema operacional existente usa todo o espaço disponível, você terá que\n"
+"particioná-lo. Basicamente, particionar um disco rígido consiste em\n"
+"dividi-lo logicamente para criar espaço para o seu novo sistema Mandriva "
+"Linux.\n"
+"\n"
+"Como os efeitos de um processo de particionamento são normalmente\n"
+"irreversíveis, podendo levar à perda de dados do sistema operacional atual,\n"
+"ele pode ser intimidante e estressante para um usuário inexperiente.\n"
+"Felizmente, o DrakX traz um assistente que simplifica este processo. Antes\n"
+"de continuar, leia o restante desta seção, e faça todos os passos\n"
+"com calma.\n"
+"\n"
+"Dependendo da configuração do seu disco rígido, várias soluções podem estar\n"
+"disponíveis:\n"
+"\n"
+"* \"%s\": esta opção particionará automaticamente seu(s) disco(s) vazio(s).\n"
+"Se você usar esta opção não haverá mais nenhum alerta adicional.\n"
+"\n"
+"* \"%s\": o assistente detectou uma ou mais partições Linux em seu disco\n"
+"rígido. Se você deseja usá-las, escolha esta opção. Será pedido para que "
+"você escolha os pontos de montagem associados\n"
+"a cada uma das partições. Alguns pontos de montagem já existentes serão "
+"selecionados\n"
+"automaticamente, e na maioria das vezes é uma boa idéia mantê-los.\n"
+"\n"
+"* \"%s\": se o Microsoft Windows estiver instalado no seu disco rígido e\n"
+"ocupar todo o espaço disponível, você terá que criar espaço livre para o\n"
+"GNU/Linux. Para fazer isto, você pode remover a sua partição Microsoft "
+"Windows\n"
+"(leia-se: usar a opção 'Apagar disco inteiro') ou redimensionar a sua "
+"partição Microsoft\n"
+"Windows do tipo FAT ou NTFS. O redimensionamento pode ser feito sem a perda "
+"de dados, desde\n"
+"que você tenha desfragmentado previamente sua partição e a mesma esteja\n"
+"formatada em FAT ou NTFS. Recomendamos fortemente o backup de seus\n"
+"dados. Esta solução é útil se você quiser usar o Mandriva Linux e o\n"
+"Microsoft Windows no mesmo computador.\n"
+"\n"
+"Antes de escolher esta solução, compreenda que o tamanho de sua partição\n"
+"Microsoft Windows será menor do que é agora. Isto significa que você terá\n"
+"menos espaço livre no Microsoft Windows para guardar os seus dados ou\n"
+"instalar novos programas.\n"
+"\n"
+"* \"%s\": se você quiser apagar todos os dados e todas as partições\n"
+"existentes no disco rígido e substituí-las pelo seu novo sistema Mandriva "
+"Linux, você pode escolher esta opção. Tenha cuidado, pois\n"
+"você não pode reverter sua escolha após a confirmação.\n"
+"\n"
+"!! Se você escolher esta opção, todos seus dados atuais serão perdidos. !!\n"
+"\n"
+" * \"%s\" Esta opção aparecerá quando seu disco rígido estiver totalmente\n"
+"ocupado pelo Microsoft Windows. Ao escolher esta opção, todo o conteúdo do "
+"seu \n"
+"disco rígido será apagado, sendo assim, todo ele particionado do início.\n"
+"\n"
+" !! Se você escolher esta opção, todo os dados do seu disco rígido serão "
+"perdidos. !!\n"
+"\n"
+"* \"%s\": escolha esta opção se você quiser particionar manualmente o seu\n"
+"disco rígido. Tenha cuidado -- ela é muito poderosa, mas muito perigosa. "
+"Você\n"
+"pode perder todos os seus dados facilmente. Escolha esta solução somente\n"
+"se souber o que está fazendo ou já tiver experiência com particionamento. "
+"Para mais\n"
+"informações de como usar o utilitário DiskDrake, leia a seção 'Gerenciando "
+"suas \n"
+"Partições' do 'Guia do Iniciante'."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Usar partição existente"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Apagar disco inteiro"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"E aqui estamos! A instalação agora está completa e o seu GNU/Linux está\n"
+"pronto para ser usado. Clique em \"%s\" para reiniciar o sistema. Não "
+"esqueça\n"
+"de remover a mídia de instalação (CD-ROM ou disquete). A primeira coisa\n"
+"que você deverá ver, após seu computador terminar os testes de hardware,\n"
+"será o menu do gerenciador de inicialização, que fornecerá para você uma "
+"lista de opções, para que você escolha qual sistema\n"
+"operacional iniciar.\n"
+"\n"
+"O botão \"%s\" mostra mais dois botões:\n"
+"\n"
+" * \"%s\": para criar um disco de instalação que automaticamente fará\n"
+"uma instalação completa, sem a ajuda de um operador, semelhante à\n"
+"instalação que você acabou de fazer.\n"
+"\n"
+" Note que duas opções diferentes estão disponíveis depois que você clicar\n"
+"no botão:\n"
+"\n"
+" * \"%s\". É uma instalação parcialmente automática, porque a seção\n"
+"de particionamento (somente esta) permanece interativa.\n"
+"\n"
+" * \"%s\". Completamente automatizada: o disco rígido é completamente\n"
+"reescrito, e todos os dados anteriores serão perdidos.\n"
+"\n"
+" Esta funcionalidade é muito adequada quando se deseja instalar o\n"
+"sistema em um grande número de máquinas semelhantes. Veja a seção\n"
+"de instalação automática do nosso website para mais informações.\n"
+"\n"
+" * \"%s\": salva a seleção de pacotes feita nesta instalação.\n"
+"Para usar esta seleção em outra instalação, insira o disquete e inicie\n"
+"a instalação. No 'prompt', pressione a tecla F1 e digite >> linux\n"
+"defcfg=\"floppy\" << e pressione [Enter].\n"
+"\n"
+"(*) Você precisa de um disquete formatado com FAT. Para criar um pelo\n"
+"GNU/Linux, digite \"mformat a:\", ou \"fdformat /dev/fd0\" seguido por\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Criar disquete de instalação automática"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Se você escolher reutilizar algumas partições GNU/Linux existentes, poderá "
+"reformatar algumas delas e \n"
+"apagar os dados contidos nelas. Se você deseja fazer isto, por favor, "
+"selecione\n"
+"quais partições você deseja formatar.\n"
+"\n"
+"Note que não é necessário reformatar todas as partições já existentes.\n"
+"Você deve reformatar as partições contendo o sistema operacional\n"
+"(tais como \"/\",\"/usr\" ou \"/var\"), mas você não tem que\n"
+"reformatar as partições contendo dados que você deseja manter\n"
+"(a partição \"/home\" é exemplo típico).\n"
+"\n"
+"Tenha cuidado ao selecionar as partições. Após formatá-las, todos os\n"
+"dados serão apagados e não poderão ser recuperados.\n"
+"\n"
+"Clique em \"%s\" quando estiver pronto para formatar as partições.\n"
+"\n"
+"Clique em \"%s\" se você desejar escolher outras partições para instalar\n"
+"o seu novo sistema operacional Mandriva Linux.\n"
+"\n"
+"Clique em \"%s\" para selecionar partições as quais você deseja que sejam "
+"verificadas, \n"
+"para a busca por blocos defeituosos."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Neste momento em que você está instalando o Mandriva Linux, é possível que\n"
+"alguns pacotes tenham sido atualizados após o lançamento inicial. Alguns\n"
+"erros e falhas de seguranças podem ter sido corrigidos. Para poder se\n"
+"beneficiar destas atualizações, você pode fazer o download destes pacotes\n"
+"da Internet. Escolha \"%s\" se você possui uma conexão à Internet\n"
+"funcionando, ou \"%s\" se você preferir instalar os pacotes atualizados\n"
+"mais tarde.\n"
+"\n"
+"Escolhendo \"%s\", aparecerá uma lista de locais de onde você poderá pegar\n"
+"as atualizações. Escolha a mais próxima de você. Quando a árvore de\n"
+"seleção de pacotes aparecer, marque o que desejar e pressione \"%s\" para\n"
+"fazer o download e instalar o(s) pacote(s) selecionado(s), ou \"%s\" para\n"
+"interromper."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Neste ponto, o DrakX permite a escolha do nível de segurança desejado para\n"
+"a máquina. Em geral, o nível da segurança deve ser ajustado para o mais alto "
+"possível, \n"
+"se a máquina contiver dados cruciais, ou se for uma máquina exposta\n"
+"diretamente à Internet. Contudo, os níveis mais altos de segurança\n"
+"diminuem a facilidade de uso do computador.\n"
+"\n"
+"Se você não souber o que escolher, fique com a opção padrão. Você poderá\n"
+"trocar o nível de segurança depois usando a ferramenta draksec, no Centro\n"
+"de Controle Mandriva Linux.\n"
+"\n"
+"Preencha o campo \"%s\" com o endereço de e-mail da pessoa responsável\n"
+"pela segurança. Assim, mensagens de segurança serão enviadas para esse "
+"endereço."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrador de Segurança"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Agora você precisa escolher qual(is) partição(ões) serão usadas para "
+"instalar o\n"
+"seu novo sistema Mandriva Linux. Se as partições já estiverem definidas \n"
+"(através de uma instalação anterior do GNU/Linux ou outro software\n"
+"particionador), você poderá utilizá-las. Caso contrário, as partições\n"
+"devem ser definidas.\n"
+"\n"
+"Para criar partições, você deve primeiro selecionar um disco rígido. Você\n"
+"pode selecionar o disco clicando em \"hda\" para o primeiro drive IDE,\n"
+"\"hdb\" para o segundo, \"sda\" para o primeiro drive SCSI e assim por\n"
+"diante.\n"
+"\n"
+"Para particionar o disco selecionado, você pode usar as seguintes opções:\n"
+"\n"
+" * \"%s\": esta opção removerá todas as partições do disco rígido "
+"selecionado.\n"
+"\n"
+" * \"%s\": esta opção permite criar automaticamente partições ext3 e swap "
+"no\n"
+" espaço livre do seu disco rígido.\n"
+"\n"
+"\"%s\": acesso a características adicionais:\n"
+"\n"
+" * \"%s\": se você quiser salvar sua tabela de partição em um disquete para\n"
+" poder recuperá-la, você pode usar esta opção. É altamente recomendável\n"
+" utilizá-la.\n"
+"\n"
+" * \"%s\": se você salvou a sua tabela de partição em um disquete de uma\n"
+"instalação anterior, você pode recuperá-la com esta opção.\n"
+"\n"
+" * \"%s\": se sua tabela de partição estiver danificada, você pode tentar\n"
+"recuperá-la usando esta opção. Tenha cuidado e lembre-se de que isto pode\n"
+"falhar.\n"
+"\n"
+" * \"%s\": descarta todas as alterações e carrega a tabela de partição que\n"
+"estava originalmente no disco rígido.\n"
+"\n"
+" * \"%s\": ao desmarcar esta opção, os usuários serão forçados a montar e "
+"desmontar\n"
+" manualmente as mídias removíveis, tais como discos flexíveis e CD-ROMs.\n"
+"\n"
+" * \"%s\": se você desejar utilizar um assistente para particionar o seu\n"
+" disco rígido, você pode usar esta opção. É recomendada caso não tenha\n"
+" conhecimento sobre particionamento.\n"
+"\n"
+" * \"%s\": você pode usar esta opção para cancelar suas alterações.\n"
+"\n"
+" * \"%s\": permite ações adicionais nas partições (tipo, opções, formato)\n"
+" e fornece mais informações sobre o disco rígido\n"
+"\n"
+" * \"%s\": quando você terminar de particionar o seu disco rígido, use esta\n"
+" opção para salvar as alterações.\n"
+"\n"
+"Quando definir o tamanho da partição, você pode fazê-lo com as setas\n"
+"direcionais de seu teclado.\n"
+"Nota: você pode utilizar qualquer opção usando o teclado: navegue entre as\n"
+"partições usando [Tab] e as setas [para cima/baixo].\n"
+"\n"
+"Quando a partição estiver selecionada, você pode usar:\n"
+"\n"
+" * Ctrl-c para criar uma nova partição (quando uma partição vazia estiver\n"
+" selecionada)\n"
+"\n"
+" * Ctrl-d para apagar uma partição\n"
+"\n"
+" * Ctrl-m para especificar um ponto de montagem\n"
+"\n"
+"Para mais informações sobre os diferentes tipos de sistemas de arquivos \n"
+"disponíveis, por favor, leia o capítulo sobre ext2FS do \"Manual de "
+"Referência\".\n"
+"\n"
+"Se você está instalando em uma Máquina PPC, você vai precisar criar uma\n"
+"pequena partição \"bootstrap\" HFS de no mínimo 1MB para usar com o \n"
+"gerenciador de boot yaboot. Se você quiser criar uma partição um\n"
+"pouco maior, digamos 50MB, você pode usar o espaço para guardar\n"
+"um kernel extra e uma imagem ramdisk para situações de emergência."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montagem automática de mídia removível"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Mudar entre modo normal/expert"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mais de uma partição Microsoft Windows foi detectada em seu disco\n"
+"rígido. Por favor, escolha a que você quer redimensionar para instalar o "
+"seu\n"
+"novo sistema operacional Mandriva Linux.\n"
+"\n"
+"Cada partição é listada da seguinte forma: \"Nome Linux\", \"Nome\n"
+"Windows\" \"Capacidade\".\n"
+"\n"
+"\"Nome Linux\" é codificado da seguinte maneira: \"tipo do disco rígido\", "
+"\"número do disco rígido\", \"número da partição\" (por exemplo, \"hda1\").\n"
+"\n"
+"\"Tipo do disco rígido\" é \"hd\" se seu disco rígido for IDE e \"sd\"\n"
+"se ele for um disco rígido SCSI.\n"
+"\n"
+"\"Número do disco rígido\" é sempre uma letra depois de \"hd\" ou \"sd\".Com "
+"discos rígidos IDE:\n"
+"\n"
+" * \"a\" significa \"disco rígido mestre na controladora IDE primária\",\n"
+"\n"
+" * \"b\" significa \"disco rígido escravo na controladora IDE primária\",\n"
+"\n"
+" * \"c\" , \"disco rígido mestre na controladora IDE secundária\",\n"
+"\n"
+" * \"d\" , \"disco rígido escravo na controladora IDE secundária\".\n"
+"\n"
+"Com discos rígidos SCSI, \"a\" significa \"SCSI ID mais baixo\", um \"b\"\n"
+"significa \"segundo SCSI ID mais baixo\", etc.\n"
+"\n"
+"O \"Nome Windows\" é a letra do seu disco rígido no Windows (o primeiro\n"
+"disco ou partição é chamado \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": confere a seleção do país atual. Se você não está neste país,\n"
+"clique no botão \"%s\" e escolha outro. Se seu país não está na \n"
+"lista mostrada, clique no botão \"%s\" para pegar a lista completa de países."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Este passo só é mostrado quando uma partição antiga do GNU/Linux foi\n"
+"encontrada em seu computador.\n"
+"\n"
+"O DrakX precisa saber agora se você quer executar uma nova instalação\n"
+"ou fazer uma atualização do Mandriva Linux existente no seu sistema:\n"
+"\n"
+" * \"%s\": na maioria das vezes, isto remove completamente o sistema "
+"antigo.\n"
+"Porém, dependendo do seu modo de particionamento, você pode evitar que\n"
+"alguns dos dados existentes sejam sobrescritos (como o diretório \"home\").\n"
+"Se você deseja mudar o particionamento dos seus discos rígidos, ou mudar o "
+"sistema de arquivos, você deve usar esta opção.\n"
+"\n"
+" * \"%s\": este método de instalação lhe permite atualizar os pacotes\n"
+"atualmente instalados em seu sistema Mandriva Linux. Seu esquema\n"
+"atual de particionamento e dados de usuário não serão alterados. A maioria\n"
+"dos outros passos de configuração permanecerão disponíveis, semelhantes a "
+"uma instalação normal.\n"
+"\n"
+"O uso da opção \"Atualizar\" deve funcionar bem em sistemas Mandriva Linux \n"
+"versão \"8.1\" ou superior. Executar uma atualização de versões anteriores\n"
+"ao Mandriva Linux \"8.1\" não é recomendado."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Dependendo do idioma que você escolheu, o DrakX escolherá uma\n"
+"configuração de teclado particular para você. Selecione esta opção ou\n"
+"escolha um outro layout de teclado.\n"
+"\n"
+"Contudo, você pode ter um teclado que não corresponde exatamente\n"
+"ao idioma que você escolheu: por exemplo, se você for um suíço, porém\n"
+"o idioma é o inglês, você pode preferir continuar usando um teclado suíço.\n"
+"Ou se você fala inglês mas mora em Quebec, você pode estar na mesma\n"
+"situação quando sua língua nativa e seu teclado não são os mesmos. Nestes\n"
+"casos, este passo da instalação permitirá que você escolha o teclado "
+"apropriado na lista.\n"
+"\n"
+"Clique em \"%s\" para ver uma lista completa com os teclados disponíveis. \n"
+"\n"
+"Se você escolher um layout baseado em um alfabeto não-latino, o próximo\n"
+"diálogo permitirá que você escolha a tecla que irá vincular a troca entre o\n"
+"teclado latino e o não-latino."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"O primeiro passo é escolher o seu idioma preferido.\n"
+"\n"
+"A escolha de seu idioma preferido afetará a documentação do sistema, o "
+"instalador\n"
+"e o sistema em geral. Selecione primeiro a região onde você está localizado\n"
+"e o idioma que você fala.\n"
+"\n"
+"Clicando em \"%s\" você poderá selecionar outros idiomas para serem\n"
+"instalados no seu sistema. Ao selecionar outros idiomas também serão \n"
+"instalados os arquivos específicos para documentação e aplicativos. Por "
+"exemplo, se\n"
+"você pretende adicionar usuários espanhóis na sua máquina, selecione\n"
+"Inglês como idioma padrão na árvore de visualização e \"%s\" na seção\n"
+"Avançado.\n"
+"\n"
+"Sobre o suporte a UTF-8 (unicode): Unicode é o novo conjunto de codificação "
+"de caracteres\n"
+"para todas os idiomas existentes. O suporte completo em GNU/Linux ainda\n"
+"está em desenvolvimento. Por esta razão, o uso dele no Mandriva Linux \n"
+"dependerá da escolha do usuário:\n"
+"\n"
+"* Se você escolher idiomas legados, que possuem uma codificação forte "
+"(idiomas\n"
+"latinos, Russo, Japonês, Chinês, Coreano, Thai, Grego, Turco e a maioria dos "
+"idiomas com iso-8859-2), a codificação legada será usada por padrão;\n"
+"\n"
+"* Outros idiomas usarão o unicode por padrão;\n"
+"\n"
+"* Se dois ou mais idiomas forem requeridos, e tais idiomas não\n"
+"usarem a mesma codificação, então o unicode irá ser usado em todo o "
+"sistema;\n"
+"\n"
+"* Finalmente, o uso do unicode poderá ser forçado para o sistema que o "
+"usuário\n"
+"solicitar, através da opção \"%s\". independente do(s) idioma(s)\n"
+"selecionado(s).\n"
+"\n"
+"Note que você não está limitado a escolher um único idioma. Você pode\n"
+"selecionar vários, ou instalar todos selecionando a opção \"%s\". Selecionar "
+"o suporte para um idioma significa que as traduções, fontes, dicionários e "
+"corretores ortográficos, entre outros itens, serão também instaladas para "
+"este idioma.\n"
+"\n"
+"Para trocar entre os vários idiomas instalados no sistema, você pode\n"
+"executar o comando \"/usr/sbin/localedrake\" como \"root\" para alterar o\n"
+"idioma usado pelo sistema inteiro, e para todos os usuários. Executando o "
+"comando como usuário\n"
+"comum, a mudança apenas afetará o usuário em questão."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanhol"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Normalmente, o DrakX não tem problemas em detectar o número de botões\n"
+"de seu mouse. Caso isto ocorra, ele assume que você tem um mouse\n"
+"de dois botões, e irá configurá-lo para emulação do terceiro botão. O\n"
+"terceiro botão pode ser acionado pressionando simultaneamente os botões\n"
+"esquerdo e direito do mouse. O DrakX saberá automaticamente se a interface\n"
+"é PS/2, serial ou USB.\n"
+"\n"
+"Se você tiver um mouse com 3 botões que não possua roda (wheel), você pode\n"
+"escolher um mouse \"%s\". DrakX irá então configurar seu mouse para que "
+"você\n"
+"possa simular o uso da roda da seguinte maneira: pressione o botão do meio "
+"e\n"
+"mova o ponteiro do seu mouse para cima e para baixo.\n"
+"\n"
+"Se por alguma razão você quiser especificar um tipo diferente de mouse,\n"
+"selecione o tipo da lista.\n"
+"\n"
+"Você pode selecionar a entrada \"%s\" para escolher um tipo de mouse\n"
+"\"genérico\" o qual deve funcionar com todos os mouses novos.\n"
+"\n"
+"Se você escolher um mouse diferente do padrão, uma tela será mostrada.\n"
+"Use os botões e a roda para verificar se as configurações estão corretas\n"
+"e se o mouse está configurado corretamente. Se o mouse não funcionar\n"
+"corretamente, pressione a barra de espaços ou o [Enter] para \n"
+"cancelar o teste e voltar para a lista de escolhas.\n"
+"\n"
+"Ocasionalmente, a roda do mouse (wheel) não será detectada automaticamente,\n"
+"e então você necessitará selecionar seu mouse de uma lista. Escolha\n"
+"corretamente a porta que seu mouse está conectado. Após selecionar\n"
+"um mouse e ter pressionado no botão \"%s\", uma imagem do mouse será\n"
+"mostrada na tela. Mova toda a roda do mouse para assegurar-se de que\n"
+"esteja ativada corretamente. Após verificar o funcionamento da roda\n"
+"do mouse, teste os botões e certifique-se de que o ponteiro do mouse\n"
+"move-se junto com o mesmo."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "com emulação de roda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Qualquer mouse PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Por favor, selecione a porta correta. Por exemplo, a porta COM1\n"
+"no MS Windows é chamada \"ttyS0\" no GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Este ponto é crucial para a segurança do seu sistema GNU/Linux: você\n"
+"deverá digitar a senha de \"root\". \"Root\" é o administrador do sistema,\n"
+"e é o único autorizado a fazer atualizações, adicionar usuários e mudar\n"
+" configurações gerais do computador. Em suma: \"root\" pode fazer tudo! Por "
+"isso\n"
+"você deve escolher uma senha difícil de adivinhar - o DrakX irá avisá-lo se "
+"a senha que você digitar for muito simples. Você pode também escolher não\n"
+"digitar uma senha, mas nós desaconselhamos fortemente esta opção. O sistema\n"
+"GNU/Linux é tão vulnerável a erros cometidos pelo operador como qualquer "
+"outro.\n"
+"O \"root\"\n"
+"pode contornar todas as limitações do sistema e desavisadamente apagar \n"
+" todos os dados de uma partição, por exemplo. É muito importante, portanto, "
+"que seja\n"
+"difícil se tornar \"root\".\n"
+"\n"
+"A senha deve ser um mistura de caracteres alfanuméricos, com pelo menos 8 \n"
+"caracteres. Nunca escreva a senha de \"root\" num papel -- isto facilita "
+"para \n"
+" alguém comprometer seu sistema\n"
+"\n"
+"Porém, não faça também uma senha muito complicada e longa, porque você\n"
+" deve ser capaz de lembrá-la!\n"
+"\n"
+"A senha não será mostrada na tela enquanto você digita. Portanto você\n"
+"deverá digitar a senha duas vezes para reduzir a chance de erro. Se ocorrer\n"
+"de você digitar o mesmo erro duas vezes, você deverá fazer o primeiro login\n"
+"no sistema com esta senha \"errada\".\n"
+"\n"
+"Se seu acesso a este computador é controlado por um servidor de "
+"autenticação,\n"
+"clique no botão \"%s\".\n"
+"\n"
+"Se sua rede usa o protocolo LDAP, NIS ou autenticação em um PDC Windows,\n"
+"selecione o servidor apropriado em \"%s\". Se você não sabe, pergunte ao "
+"seu\n"
+"administrador de rede.\n"
+"\n"
+"Se você tiver problemas para lembrar de suas senhas, se seu computador "
+"nunca\n"
+" será conectado à internet ou se você confiar em absolutamente todas as\n"
+"pessoas que usam seu computador, você pode escolher usar \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autenticação"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Um gerenciador de inicialização (ou boot loader) é um pequeno programa que é "
+"mostrado na inicialização (boot)de um computador. Ele é responsável por\n"
+"iniciar todo o sistema. Normalmente, a sua instalação é totalmente "
+"automática.\n"
+"O DrakX irá analisar o setor de boot de seu disco e proceder de acordo com\n"
+"o que for encontrado nele:\n"
+"\n"
+" * se um setor de boot Windows for encontrado, ele será substituído por um\n"
+"setor de boot GRUB/LILO. Desta forma, você será capaz de carregar qualquer\n"
+"sistema GNU/Linux ou qualquer outro sistema operacional instalado em sua "
+"máquina.\n"
+"\n"
+" * se um setor de boot GRUB ou LILO for encontrado, ele será substituído por "
+"um novo.\n"
+"\n"
+"Se o DrakX não puder determinar aonde deverá ser armazenado o setor de "
+"boot,\n"
+"ele irá perguntar para você. Geralmente, o \"%s\" é o lugar mais seguro.\n"
+"Escolhendo \"%s\", nenhum gerenciador de inicialização será instalado. Use "
+"esta opção somente se\n"
+"você souber o que está fazendo."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Aqui você seleciona o sistema de impressão para o seu computador.\n"
+"Outros sistemas operacionais podem oferecer-lhe apenas um, mas o Mandriva\n"
+"Linux oferece dois. Cada um se encaixa melhor em um tipo particular de "
+"configuração.\n"
+"\n"
+" * \"%s\" -- que significa 'print, do not queue' ou 'imprima não deixe na\n"
+"fila', e é a escolha caso você tenha uma conexão direta com sua\n"
+"impressora e você queira ser capaz decorrigir falhas na impressão, e\n"
+"também se você não possuir impressoras em rede. (\"%s\" só funcionará em "
+"redes\n"
+"bem simples e se tornará lento quando usado em redes). É recomendado que vc "
+"use \"pdq\"\n"
+"se este é sua primeira experiência com GNU/Linux.\n"
+"\n"
+" * \"%s\" -- 'Common Unix Printing System' ou 'Sistema de Impressão Comum do "
+"Unix', é excelente para imprimir em\n"
+"sua impressora local e também através do mundo. É simples de se configurar\n"
+"e pode agir como servidor ou cliente para o antigo sistema de impressão \"lpd"
+"\".\n"
+"Por isto, é compatível com os sistemas antigos que podem precisar de "
+"serviços de\n"
+"impressão. Pode fazer vários truques, mas a configuração é quase tão fácil "
+"quanto a\n"
+"do \"pdq\". Se você precisar emular um servidor \"lpd\", você deve ativar o "
+"serviço chamado \"cups-lpd\".\n"
+"\" \"%s\" possui várias interfaces gráficas para selecionar as opções de "
+"impressão ou\n"
+"gerenciar a impressão.\n"
+"\n"
+"Você poderá mudar a sua escolha após a instalação utilizando o\n"
+"PrinterDrake no Centro de Controle Mandriva Linux, e clicando no botão \"%s"
+"\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"O DrakX tentará localizar primeiramente qualquer dispositivo IDE presente "
+"em\n"
+"sua máquina. Ele também tentará encontrar um ou mais placas PCI SCSI. Se o\n"
+"DrakX encontrar um adaptador SCSI ele instalará automaticamente o driver\n"
+"apropriado.\n"
+"\n"
+"Como a detecção do hardware não é à prova de falhas, o DrakX pode falhar ao\n"
+"tentar detectar seus discos. Se isto acontecer, você precisará especificar "
+"seu\n"
+"hardware manualmente. \n"
+"\n"
+"Se você tiver que especificar manualmente o seu adaptador, o DrakX\n"
+"perguntará se você quer especificar opções para ele. Você pode deixar\n"
+"que o DrakX examine o hardware para descobrir as opções. Isto\n"
+"normalmente funciona bem.\n"
+"\n"
+"Se o DrakX não conseguir detectar as opções automaticamente para determinar\n"
+"quais parâmetros são necessários passar ao hardware, você precisará "
+"fornecer\n"
+"configurar o para o driver manualmente."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": se uma placa de som for detectada em seu sistema, ela estará\n"
+"indicada aqui. Se você observar que a placa de som indicada não é a que\n"
+"realmente está presente em seu sistema, você pode clicar no botão e escolher "
+"outro driver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"A título de revisão, o DrakX irá resumir em uma lista as informações que "
+"tem\n"
+"sobre o seu sistema. Dependendo do hardware instalado, você pode ter\n"
+"uma ou todas estas entradas. Cada uma delas é um elemento a ser\n"
+"configurado, seguido de um breve resumo da configuração atual.\n"
+"Clique no botão \"%s\" correspondente para fazer alguma alteração.\n"
+"\n"
+" * \"%s\": verifica a configuração atual do mapa de teclado e modifica-o, \n"
+"caso necessário.\n"
+"\n"
+" * \"%s\": verifica a seleção atual de país. Se não estiver neste país, "
+"clique\n"
+"no botão \"%s\" e escolha outro. Se o seu país não aparecer na primeira\n"
+"lista mostrada, pressione \"%s\" para obter a lista completa dos\n"
+"países.\n"
+"\n"
+" * \"%s\": Por padrão, o DrakX deduz seu fuso horário baseado no país\n"
+"escolhido. Pressione o botão \"%s\" para mudar caso não esteja correto.\n"
+"\n"
+" * \"%s\": verifique a configuração do mouse atual e mude-a se for "
+"necessário.\n"
+"\n"
+" * \"%s\": clique no botão \"%s\" para abrir o assistente de\n"
+"configuração da impressora. Veja o capítulo correspondente no\n"
+"'Guia do Iniciante' para saber mais sobre como configurar uma\n"
+"impressora. A interface utilizada no manual é semelhante à usada\n"
+"durante a instalação\n"
+"\n"
+" * \"%s\": se uma placa de som for detectada no seu sistema, ela\n"
+"será mostrada aqui. Se a placa mostrada for diferente daquela que se\n"
+"encontra no seu sistema, clique no botão e escolha a correta.\n"
+"\n"
+" * \"%s\":se uma placa de TV foi detectada no seu sistema, ela será "
+"indicada \n"
+"aqui. Se existe uma placa e ela não foi detectada, clique\n"
+"no botão \"%s\" para tentar configurá-la manualmente.\n"
+"\n"
+" * \"%s\": você pode clicar em \"%s \" para mudar os parâmetros associados\n"
+"com a placa, se você achar que a configuração está incorreta.\n"
+"\n"
+" * \"%s\": por padrão, o DrakX configura o seu vídeo com a resolução de "
+"\"800x600\" ou \"1024x768\". Se isto não é o que deseja, clique em\n"
+"\"%s\" para reconfigurar a interface gráfica.\n"
+"\n"
+" * \"%s\": se você deseja configurar a Internet ou o acesso a uma rede\n"
+"local, você pode fazê-lo agora. Verifique a documentação impressa ou use\n"
+"o Centro de Controle Mandriva Linux após a instalação ter terminado para\n"
+"utilizar a ajuda integrada completa.\n"
+"\n"
+" * \"%s\": permite configurar endereços de proxies HTTP e FTP se a máquina\n"
+"que você está instalando estiver localizada atrás de um servidor proxy.\n"
+"\n"
+" * \"%s\": aqui você pode redefinir o nível de segurança que escolheu\n"
+"anteriormente.\n"
+"\n"
+" * \"%s\": se você pretende conectar a sua máquina à Internet, é uma boa\n"
+"idéia protegê-la contra intrusos, configurando um firewall. Veja o capítulo\n"
+"correspondente no \"Guia do Usuário\" para mais detalhes sobre como\n"
+"configurar um firewall.\n"
+"\n"
+" * \"%s\": se você deseja mudar sua configuração do gerenciador de\n"
+"inicialização, clique neste botão. Recomendado apenas para usuários\n"
+"avançados. Veja documentação impressa ou a ajuda integrada, sobre\n"
+"como configurar o gerenciador de inicialização no Centro de Controle\n"
+"do Mandriva Linux.\n"
+"\n"
+" * \"%s\": você poderá escolher aqui quais serviços que serão iniciados\n"
+"em sua máquina. Se você pretende usar sua máquina como servidor, é uma\n"
+"boa idéia verificar esta configuração e desativar o que não for necessário."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Placa ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interface gráfica"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Escolha o disco rígido que você quer apagar para instalar sua nova\n"
+"partição Mandriva Linux. Tenha cuidado, pois todos os dados existentes\n"
+"serão perdidos e não poderão ser recuperados!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Clique em \"%s\" se você quiser apagar todos os dados e partições \n"
+"existentes neste disco rígido. Tenha cuidado, pois após clicar em \"%s\", \n"
+"você não será capaz de recuperar os dados/partições existentes neste\n"
+"disco rígido, incluindo quaisquer dados do Windows.\n"
+"\n"
+"Clique em \"%s\" para sair desta operação, sem perder qualquer dado\n"
+"e/ou partição presente neste disco rígido."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Próximo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Anterior"
+
diff --git a/perl-install/install/help/po/ro.po b/perl-install/install/help/po/ro.po
new file mode 100644
index 000000000..4124e5d84
--- /dev/null
+++ b/perl-install/install/help/po/ro.po
@@ -0,0 +1,1129 @@
+# Translation file of Mandriva Linux graphic install
+# Copyright (c) 2000 Mandriva
+# Florin Grad <florin@mandriva.com>, 1999-2000
+# Dragos Marian Barbu <dragosb@softhome.net>, 2000
+# Ovidiu Constantin <ovidiu.constantin@gmx.net>, 2002, 2003
+# Harald Ersch <harald@ersch.ro>,2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 7.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2003-09-11 18:11+0200\n"
+"Last-Translator: Ovidiu Constantin <ovidiu.constantin@gmx.net>\n"
+"Language-Team: Romanian Translators for Free Software <rtfs-project@lists."
+"sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3;plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vreţi să folosiţi această facilitate?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Actualizare"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Cu documentaţie de bază"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Instalare cu adevărat minimă"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronizare automată a ceasului"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Foloseşte o partiţie existentă"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Şterge tot discul"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "generează dischetă de autoinstalare"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Administrator de securitate:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontare mediu detaşabil"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Schimbă între modul normal/expert"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 butoane cu rotiţă emulată"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Vă rog selectaţi portul corect. De exemplu, portul \"COM1\" din Windows e\n"
+"numit \"ttyS0\" în GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentificare"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Placă ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaţă grafică"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Alegeţi discul fix pe care doriţi să îl ştergeţi pentru a instala noua "
+"partiţie\n"
+"Makdrake Linux. Aveţi grijă, toate datele existente pe această partiţie\n"
+"se vor pierde şi nu vor putea fi recuperate!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Clic pe \"%s\" dacă doriţi ştergerea tuturor datelor şi partiţiilor "
+"existente\n"
+"pe acest disc fix. Fiţi atent(ă), după ce faceţi clic pe \"%s\", nu veţi "
+"putea\n"
+"recupera nici un fel de date sau partiţii de pe discul fix, inclusiv orice "
+"dată\n"
+"Windows.\n"
+"\n"
+"Clic pe \"%s\" pentru a opri această operaţie fără a pierde date\n"
+"şi partiţii prezente pe discul fix."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Următorul ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Precedentul"
+
diff --git a/perl-install/install/help/po/ru.po b/perl-install/install/help/po/ru.po
new file mode 100644
index 000000000..c219f43a1
--- /dev/null
+++ b/perl-install/install/help/po/ru.po
@@ -0,0 +1,1968 @@
+# Translation of DrakX.po to Russian
+# Russian translation of drakX messages
+# Copyright (C) 1999-2003 Mandriva
+# Pavel Maryanov <acid_jack@ukr.net>, 2002,2003, 2005.
+# Alice Lafox <alice@lafox.com.ua>, 2003.
+# Alice Lafox <alice@lafox.net>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-20 18:19+0300\n"
+"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+"Language-Team: Russian <doc@lafox.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Прежде чем продолжить, вы должны внимательно прочитать условия лицензии.\n"
+"Лицензия распространяется на весь дистрибутив Mandriva Linux. Если вы\n"
+"согласны со всеми условиями лицензии, отметьте пункт \"%s\". Если нет -\n"
+"нажатие на кнопку \"%s\" приведет к перезагрузке вашего компьютера."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux это многопользовательская система, и это значит, что каждый\n"
+"пользователь может иметь свои собственные предпочтения, файлы и так далее.\n"
+"Вы можете почитать ``Стартовое руководство пользователя'' чтобы узнать\n"
+"больше. В отличии от \"root\", который является администратором,\n"
+"пользователи, которых вы добавите здесь, не будут иметь полномочий изменять\n"
+"что либо, кроме своих собственных файлов и настроек. Вам необходимо создать\n"
+"хотя бы одного обычного пользователя для себя. Это будет аккаунт, который\n"
+"вы будете использовать для ежедневной работы. Хоть это и очень практично\n"
+"заходить в систему ежедневно как \"root\", это также может быть очень\n"
+"опасно! Самая мелкая ошибка может сделать так, что ваша система больше\n"
+"работать не будет. Если вы сделаете серьезную ошибку как обычный\n"
+"пользователь, вы можете потерять некоторую информацию, но не всю систему.\n"
+"\n"
+"В первом поле вы должны ввести ваше реальное имя. Это, конечно, не\n"
+"обязательно -, так как вы реально можете ввести все что угодно. DrakX\n"
+"использует первое слово, которое вы ввели в поле и подставит его как\n"
+"\"%s\". Это имя обычный пользователь использует для входа в систему. Вы\n"
+"можете изменить его. Затем вам нужно ввести пароль. С точки зрения\n"
+"безопасности пароль не-привилегированного (обычного) пользователя не так\n"
+"критичен, как пароль \"root\", но нет причин пренебрегать им: в конце\n"
+"концов, вы рискуете своими файлами.\n"
+"\n"
+"Когда вы нажмете \"%s\", вы сможете добавить еще сколько угодно\n"
+"пользователей. Создайте пользователя для каждого из своих друзей, для отца\n"
+"или сестры, например. Когда вы закончите добавление пользователей, нажмите\n"
+"\"%s\".\n"
+"\n"
+"Нажатие кнопки \"%s\" позволит изменить \"shell\" по умолчанию для этого\n"
+"пользователя (по умолчанию это bash).\n"
+"\n"
+"После того, как все пользователи будут добавлены, вам предложат выбрать\n"
+"пользователя, под которым можно будет автоматически входить в систему после\n"
+"загрузки. Если вас интересует эта возможность (и вас не заботит локальная\n"
+"безопасность), выберите необходимого пользователя и оконный менеджер, затем\n"
+"нажмите \"%s\". Если вам не нужна эта возможность, снимите выбор с пункта\n"
+"\"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Хотите использовать эту возможность?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Перечисленное выше является существующими разделами Linux, определенными на\n"
+"вашем жестком диске. Вы можете оставить без изменений сделанное мастером,\n"
+"потому что это хорошо подходит для большинства обычных инсталляций. Если вы\n"
+"делаете какие-либо изменения, вы должны определить как минимум раздел root\n"
+"(\"/\"). Не делайте его слишком маленьким, иначе вы не сможете\n"
+"инсталлировать достаточное количество программного обеспечения. Если вы\n"
+"хотите хранить данные на другом разделе, вам также прийдется создать раздел\n"
+"\"/home\" (возможно только при наличии более чем одного раздела Linux).\n"
+"\n"
+"Каждый раздел перечислен следующим образом: : \"Название\", \"Размер\".\n"
+"\n"
+"\"Название\" разделяется на: \"тип жесткого диска\", \"номер жесткого\n"
+"диска\", \"номер раздела\" (например, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" это \"hd\", если ваш жесткий диск IDE и \"sd\", если он\n"
+"SCSI.\n"
+"\n"
+"\"Номер жесткого диска\" всегда является буквой после \"hd\" или \"sd\".\n"
+"Для жестких дисков IDE:\n"
+"\n"
+" * \"a\" означает \"master жесткий диск на первичном IDE контроллере\";\n"
+"\n"
+" * \"b\" означает \"slave жесткий диск на первичном IDE контроллере\";\n"
+"\n"
+" * \"c\" означает \"master жесткий диск на вторичном IDE контроллере\";\n"
+"\n"
+" * \"d\" означает \"slave жесткий диск на вторичном IDE контроллере\".\n"
+"\n"
+"Для жестких дисков SCSI, \"a\" означает \"lowest SCSI ID\", а \"b\"\n"
+"означает \"second lowest SCSI ID\", и т.д."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Инсталляция Mandriva Linux размещена на нескольких CD-ROMах. Если выбранный\n"
+"пакет находится на другом CD-ROM, DrakX будет отдавать текущий CD и просить\n"
+"вас вставить другой по мере надобности. Если у вас нет требуемого CD под "
+"руками,\n"
+"просто нажмите \"%s\", тогда соответствующие пакеты не будут устанавливаться."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Теперь настало время определить, какие программы вы хотите установить в\n"
+"вашу систему. С Mandriva Linux поставляются тысячи пакетов и, для упрощения\n"
+"выбора, они разбиты на группы.\n"
+"\n"
+"Пакеты сортированы по группам, которые соответствуют специфике\n"
+"использования вашей машины. В Mandriva Linux пакеты сортируются по четырем\n"
+"категориям. Вы можете смешивать и сочетать приложения из различных\n"
+"категорий, например, вариант установки ``Рабочая станция'' может иметь\n"
+"приложения из категории ``Разработка''.\n"
+"\n"
+" * \"%s\": если вы собираетесь использовать машину в качестве рабочей\n"
+"станции, выберите одну или несколько соответствующих групп из категории\n"
+"рабочей станции.\n"
+"\n"
+" * \"%s\": если вы собираетесь заняться программированием, выберите\n"
+"соответствующие группы из этой категории.\n"
+"\n"
+" * \"%s\": если ваша машина будет работать сервером, выберите какие из\n"
+"часто используемых служб вы желаете установить на нее.\n"
+"\n"
+" * \"%s\": здесь вам нужно выбрать предпочитаемую графическую среду. Хотя\n"
+"бы одна из них должна быть выбрана, если вы хотите работать в графическом\n"
+"интерфейсе.\n"
+"\n"
+"При наведении курсора мыши на имя группы будет показываться короткое\n"
+"пояснение к данной группе.\n"
+"\n"
+"ы можете отметить пункт \"%s\", который очень полезен, если вы хорошо\n"
+"знаете предлагаемые пакеты, или если вы хотите иметь полный контроль над\n"
+"тем, что будет устанавливаться.\n"
+"\n"
+"Если вы начали инсталляцию в режиме \"%s\", вы можете убрать выбор всех\n"
+"групп, чтобы предотвратить инсталляцию какого-либо нового пакета. Это\n"
+"полезно в случае восстановления или обновления существующей системы.\n"
+"\n"
+"Если вы не выберете ни одной группы в процессе\n"
+"выполнения обычной инсталляции (не касается обновления), появится диалог с\n"
+"различными опциями для минимальной инсталляции:\n"
+"\n"
+" * \"%s\": инсталлировать минимальный набор пакетов, необходимых для работы\n"
+"графического рабочего стола.\n"
+"\n"
+" * \"%s\": установить основную систему плюс базовые утилиты и документацию\n"
+"к ним. Эта инсталляция подходит для установки сервера.\n"
+"\n"
+" * \"%s\": будет установлен самый необходимый минимум пакетов для работы\n"
+"Linux системы. В это варианте вы сможете работать только в режиме командной\n"
+"строки. Общий размер этой установки занимает 65 мегабайт."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Обновление"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "С базовой документацией"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Самая минимальная установка"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Если вы сообщили инсталлятору, что вы хотите самостоятельно выбрать пакеты,\n"
+"тогда он покажет вам дерево, содержащее все пакеты, разделенные по группам\n"
+"и подгруппам. Во время просмотра дерева вы можете выбирать группы\n"
+"полностью, подгруппы или отдельные пакеты.\n"
+"\n"
+"Когда вы выбираете пакет в дереве, справа появляется его описание, чтобы\n"
+"помочь вам узнать назначение этого пакета.\n"
+"\n"
+"!! Если был выбран какой-либо серверный пакет, специально или он был частью\n"
+"какой-либо группы, вас попросят подтвердить, действительно ли вы желаете\n"
+"установить эти сервера. Под Mandriva Linux все установленные сервера\n"
+"запускаются по умолчанию в процессе загрузки. Даже если они безопасны и не\n"
+"имеют известных проблем на момент выпуска дистрибутива, в них могут быть\n"
+"обнаружены дыры в безопасности после выпуска данной версии Mandriva Linux.\n"
+"Если вы не знаете, зачем нужен данная служба и что она делает, нажмите\n"
+"\"%s\". Если вы нажмете \"%s\", тогда все службы из списка будут\n"
+"установлены и автоматически запущены при загрузке системы. !!\n"
+"\n"
+"Опция \"%s\" запрещает показ диалога предупреждения, который появляется при\n"
+"автоматическом выборе пакетов инсталлятором. Некоторые пакеты имеют\n"
+"взаимосвязь друг с другом, поэтому инсталлятору может потребоваться\n"
+"установить некоторые дополнительные программы. Инсталлятор сам определит,\n"
+"какие пакеты нужны для удовлетворения зависимостей, чтобы успешно выполнить\n"
+"установку.\n"
+"\n"
+"Маленькая иконка дискеты внизу под списком позволяет загрузить выбранный и\n"
+"записанный во время предыдущей инсталляции список пакетов. Если вы нажмете\n"
+"на эту иконку, вас попросят вставить в дисковод дискету, созданную\n"
+"предыдущей инсталляцией. Смотрите второй совет последнего шага, где описано\n"
+"как создать такой диск."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Автоматические зависимости"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": по нажатию на кнопку \"%s\" откроется мастер настройки принтера.\n"
+"Прочитайте соответствующую главу в книге ``Стартовое руководство\n"
+"пользователя'', чтобы узнать как установить новый принтер. Представленный\n"
+"там интерфейс подобен используемому в процессе установки."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Этот диалог используется для выбора служб, которые должны стартовать при\n"
+"загрузке системы.\n"
+"\n"
+"DrakX предоставит список всех служб, которые доступны при настройках\n"
+"текущей инсталляции. Пересмотрите их внимательно и уберите все, которые не\n"
+"являются необходимыми для старта во время загрузки системы.\n"
+"\n"
+"Вы можете получить короткие пояснения относительно службы, выбрав ее в\n"
+"списке. Однако, если вы не уверены, полезна служба или нет, лучше всего\n"
+"оставить как было по умолчанию.\n"
+"\n"
+"!! На этом этапе будьте предельно внимательны, если ваша машина будет\n"
+"сервером: возможно вы не захотите запускать службы, которые вам не нужны.\n"
+"Пожалуйста помните, что некоторые службы потенциально опасны для сервера.\n"
+"В общем, оставьте только те службы, которые вам действительно нужны. !!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управляет временем в GMT (Greenwich Mean Time) и транслирует его\n"
+"в локальное согласно выбранного вами часового пояса. Если часы на вашей\n"
+"материнской плате установлены в локальное время, вы можете деактивировать\n"
+"это, убрав выбор \"%s\", что позволит GNU/Linux помнить, что системные часы\n"
+"и аппаратные часы принадлежат разным часовым поясам. Это полезно в случае,\n"
+"когда на машине размещена другая операционная система типа Windows.\n"
+"\n"
+"Опция \"%s\" позволит автоматически подстраивать часы, соединяясь с\n"
+"удаленным сервером в Интернет. Естественно, чтобы это работало, вам\n"
+"необходимо соединение с Интернет. Лучше всего выбрать ближайший к вам\n"
+"сервер времени. Эта опция устанавливает на вашу машину сервер времени,\n"
+"который опционально может использоваться другими машинами в вашей локальной\n"
+"сети."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Автоматическая синхронизация времени"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Видеокарта\n"
+"\n"
+" Инсталлятор обычно автоматически определяет и настраивает видеокарту,\n"
+"установленную в вашей машине. Если это не так, вы можете выбрать в этом\n"
+"списке карту, которая у вас действительно установлена.\n"
+"\n"
+" В случае, когда для вашей карты доступны различные сервера, с 3D\n"
+"ускорением и без, вам предложат выбрать, какой сервер больше соответствует\n"
+"вашим потребностям."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (для системы X Window) это сердце графического интерфейса GNU/Linux, на\n"
+"базе которого работают все графические среды (KDE, GNOME, AfterStep,\n"
+"WindowMaker, и т.д..), входящие в Mandriva Linux.\n"
+"\n"
+"Вам будет представлен список различных параметров для получения\n"
+"оптимального графического отображения: Видеокарта\n"
+"\n"
+" Инсталлятор обычно автоматически определяет и настраивает видеокарту,\n"
+"установленную в вашей машине. Если это не так, вы можете выбрать в этом\n"
+"списке карту, которая у вас действительно установлена.\n"
+"\n"
+" В случае, когда для вашей карты доступны различные сервера, с 3D\n"
+"ускорением и без, вам предложат выбрать, какой сервер больше соответствует\n"
+"вашим потребностям.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Инсталлятор обычно может автоматически определить и настроить монитор,\n"
+"подключенный к вашей машине. Если ему это не удалось, вы можете\n"
+"самостоятельно выбрать ваш монитор из списка.\n"
+"\n"
+"\n"
+"\n"
+"Разрешение\n"
+"\n"
+" Здесь вы можете выбрать разрешение и глубину цвета из того, что доступно\n"
+"для вашего оборудования. Выберите то, что вам больше подходит (вы сможете\n"
+"это изменить после инсталляции). Пример выбранной конфигурации отображается\n"
+"на мониторе.\n"
+"\n"
+"\n"
+"\n"
+"Проверить\n"
+"\n"
+" В зависимости от вашего оборудования, данный пункт может либо появляться\n"
+"либо отсутствовать.\n"
+"\n"
+" Система попытается открыть графический экран в выбранном разрешении.\n"
+"Если вы сможете увидеть сообщение во время проверки и ответить \"%s\",\n"
+"тогда DrakX перейдет к следующему шагу. Если вы не увидите сообщения, это\n"
+"значит, что часть определенной автоматически конфигурации была неверна и\n"
+"проверка автоматически завершится через 12 секунд, вернув вас в меню.\n"
+"Поправьте настройки и проверьте заново, пока вы не получите корректное\n"
+"графическое изображение.\n"
+"\n"
+"\n"
+"\n"
+"Параметры\n"
+"\n"
+" Здесь вы можете настроить вашу машину на автоматическую загрузку в\n"
+"графическом интерфейсе. Очевидно, что вам следует выбрать \"%s\", если ваша\n"
+"машина будет работать в качестве сервера или вам не удалось настроить\n"
+"графический режим."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Инсталлятор обычно может автоматически определить и настроить монитор,\n"
+"подключенный к вашей машине. Если ему это не удалось, вы можете\n"
+"самостоятельно выбрать ваш монитор из списка."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Разрешение\n"
+"\n"
+" Здесь вы можете выбрать разрешение и глубину цвета из того, что доступно\n"
+"для вашего оборудования. Выберите то, что вам больше подходит (вы сможете\n"
+"это изменить после инсталляции). Пример выбранной конфигурации отображается\n"
+"на мониторе."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"В случае, когда для вашей карты доступны различные сервера, с 3D ускорением\n"
+"и без, вам предложат выбрать, какой сервер больше соответствует вашим\n"
+"потребностям."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметры\n"
+"\n"
+" Здесь вы можете настроить вашу машину на автоматическую загрузку в\n"
+"графическом интерфейсе. Очевидно, что вам следует выбрать \"%s\", если ваша\n"
+"машина будет работать в качестве сервера или вам не удалось настроить\n"
+"графический режим."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"На этом шаге вам прийдется решить, куда вы хотите установить операционную\n"
+"систему Mandriva Linux на вашем жестком диске. Если ваш жесткий диск пуст,\n"
+"или существующая операционная система на нем занимает все дисковое\n"
+"пространство, вам прийдется диск переразбить (partition). Разделение диска\n"
+"в основном состоит в том, чтобы логически выделить на нем свободное\n"
+"пространство для установки вашей новой системы Mandriva Linux.\n"
+"\n"
+"Поскольку разделение диска - это обычно необратимый процесс и может\n"
+"привести к потере данных, если на диске уже есть установленная операционная\n"
+"система, то для начинающего пользователя это несколько напряженный и\n"
+"пугающий момент. К счастью, в DrakX существует мастер, упрощающий этот\n"
+"процесс. Пожалуйста, прочтите руководство перед началом и не торопитесь.\n"
+"\n"
+"В зависимости от конфигурации вашего жесткого диска, доступно несколько\n"
+"параметров:\n"
+"\n"
+" * \"%s\": эта опция означает автоматическое разделение пустого диска или\n"
+"дисков. Если вы выбираете эту опцию, то далее вопросов задаваться не будет;\n"
+"\n"
+" * \"%s\": мастер определил наличие существующих разделов Linux на вашем\n"
+"жестком диске. Если вы собираетесь их использовать, выберите эту опцию. Вас\n"
+"попросят указать точки монтирования для каждого раздела. По умолчанию\n"
+"выбираются традиционные точки монтирования и вы можете вообще их не менять.\n"
+"\n"
+" * \"%s\": если на вашем жестком диске установлена и занимает все доступное\n"
+"место Microsoft Windows, вам нужно будет создать свободное место для данных\n"
+"Linux. Чтобы это сделать, вы можете удалить ваш Microsoft Windows раздел и\n"
+"данные (см. решение `` Очистить весь диск'') или изменить размер раздела\n"
+"FAT или NTFS Microsoft Windows. Изменение размера может проводиться без\n"
+"потери данных, особенно если вы предварительно провели дефрагментацию\n"
+"раздела Windows. Резервное копирование ваших данных настойчиво\n"
+"рекомендуется.. Рекомендуем выбрать эту опцию, если вы собираетесь\n"
+"использовать Mandriva Linux и Microsoft Windows на одном компьютере.\n"
+"\n"
+" Перед тем, как выбрать эту опцию, вы должны осознать, что размер вашего\n"
+"раздела Microsoft Windows станет меньше, чем был. У вас будет меньше\n"
+"свободного места под Microsoft Windows для хранения данных и инсталляции\n"
+"новых программ.\n"
+"\n"
+" * \"%s\" выберите эту опцию, если вы хотите удалить все данные на всех\n"
+"разделах вашего жесткого диска и заменить их новой системой Mandriva Linux.\n"
+"Будьте осторожны в этом решении, потому что после подтверждения вы не\n"
+"сможете вернуть обратно все как было.\n"
+"\n"
+" !! Если вы выбираете эту опцию, все данные на вашем жестком диске будут\n"
+"удалены. !!\n"
+"\n"
+" * \"%s\": эта опция позволит просто удалить всю информацию на диске и\n"
+"начать создание разделов диска на пустом месте. Вся информация на вашем\n"
+"диске будет утеряна.\n"
+"\n"
+" !! Если вы выберете эту опцию, все данные на вашем диске будут потеряны.\n"
+"!!\n"
+"\n"
+" * \"%s\": выберите эту опцию, если вы желаете разбить ваш диск вручную.\n"
+"Будьте осторожны -- это мощная и одновременно опасная возможность. Вы\n"
+"запросто можете потерять все данные. Поэтому выбор этой опции рекомендуется\n"
+"только в том случае, если вы уже делали что либо подобное раньше и имеете\n"
+"некоторый опыт. Чтобы узнать, как использовать утилиту DiskDrake,\n"
+"обратитесь к разделу ``Управление разделами диска'' книги ``Стартовое\n"
+"руководство пользователя''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Использовать существующий раздел"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Очистить весь диск"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"И вот вы здесь. Установка завершена, и ваша система GNU/Linux готова к\n"
+"использованию. Просто нажмите \"%s\", чтобы перезагрузить систему. Первое,\n"
+"что вы увидите после того, как ваш компьютер закончит тестирование\n"
+"оборудования, это меню начального загрузчика, предоставляющее вам выбор\n"
+"какую операционную систему загрузить.\n"
+"\n"
+"Кнопка \"%s\" покажет еще две кнопки:\n"
+"\n"
+" * \"%s\": для создания инсталляционной дискеты, с помощью которой можно\n"
+"автоматически провести инсталляцию, подобную только что проведенной, без\n"
+"участия оператора.\n"
+"\n"
+" Обратите внимание, что после нажатия на кнопку доступны два различных\n"
+"варианта:\n"
+"\n"
+" * \"%s\": это частично автоматизированная установка, в которой только\n"
+"шаг разметки диска (и только он один) требует участия.\n"
+"\n"
+" * \"%s\": полностью автоматическая инсталляция: жесткий диск полностью\n"
+"перезаписывается и все данные теряются.\n"
+"\n"
+" эта возможность очень удобна, когда нужно повторять инсталляцию на\n"
+"большом числе одинаковых машин. Смотрите раздел Auto install на нашем web\n"
+"сайте, чтобы получить больше информации.\n"
+"\n"
+" * \"%s\": сохраняет выбор пакетов, сделанный в данной инсталляции. Для\n"
+"использования своей выборки пакетов для другой установки, вставьте дискету\n"
+"в дисковод и запустите установку. В приглашении нажмите [F1] и наберите\n"
+">>linux defcfg=\"floppy\"<<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Создать дискету автоматической установки"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Все вновь созданные разделы должны быть отформатированы для того, чтобы их\n"
+"можно было использовать (форматирование означает создание файловой\n"
+"системы).\n"
+"\n"
+"На этом этапе у вас есть возможность переформатировать уже существующие\n"
+"разделы, чтобы стереть все данные, которые они содержат. Если вам это\n"
+"нужно, тогда выберите и эти разделы.\n"
+"\n"
+"Пожалуйста, имейте в виду, что нет необходимости переформатировать все\n"
+"существовавшие ранее разделы. Вы должны переформатировать разделы,\n"
+"содержащие операционную систему (такие, как \"/\", \"/usr\" или \"/var\"),\n"
+"но вам совсем не обязательно форматировать разделы, на которых содержатся\n"
+"данные, которые вы хотели бы сохранить (обычно это \"/home\").\n"
+"\n"
+"Пожалуйста, будьте осторожны при выборе разделов. После форматирования все\n"
+"данные на выбранных разделах будут удалены и вы не сможете их восстановить.\n"
+"\n"
+"Нажмите \"%s\", когда будете готовы начать форматирование разделов.\n"
+"\n"
+"Нажмите \"%s\", если вы хотите выбрать другой раздел для установки\n"
+"Mandriva Linux.\n"
+"\n"
+"Нажмите \"%s\", если хотите выбрать разделы, которые следует проверить на\n"
+"сбойные блоки (bad blocks)."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"В данный момент установки Mandriva Linux было бы неплохо обновить некоторые\n"
+"пакеты из исходного релиза. Некоторые баги могут быть уже исправлены и\n"
+"решены проблемы безопасности. Чтобы получить пользу от этих обновлений,\n"
+"сейчас вы можете загрузить их из Интернет. Нажмите \"%s\", если у вас есть\n"
+"работающее соединение с Интернет, или \"%s\", если вы хотели бы обновить\n"
+"пакеты позже.\n"
+"\n"
+"При выборе \"%s\" появится список мест, из которых можно получить\n"
+"обновления. Выберите ближайший к вам сервер. Затем появится дерево выбора\n"
+"пакетов: просмотрите список и нажмите \"%s\" для получения и установки\n"
+"выбранных пакетов, или \"%s\" для отмены."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"На этом этапе DrakX позволит вам выбрать для машины желаемый уровень\n"
+"безопасности. Как правило, уровень безопасности должен быть выше, если на\n"
+"машине содержатся критические данные или машина непосредственно подключена\n"
+"к Интернет. Однако, более высокий уровень безопасности, в общем случае,\n"
+"достигается в обмен на удобство использования.\n"
+"\n"
+"Если вы не знаете что выбрать, оставьте выбор по умолчанию. Вы сможете\n"
+"изменить этот уровень безопасности потом с помощью утилиты draksec из\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+"В поле \"%s\" системе указывается пользователь, который будет отвечать за\n"
+"безопасность. На этот адрес будут посылаться сообщения по безопасности."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Администратор по безопасности"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Здесь вам предложат выбрать, какие разделы будут использоваться для\n"
+"установки вашей системы Mandriva Linux. Если разделы были уже определены\n"
+"ранее, например, предыдущей инсталляцией GNU/Linux или другой утилитой\n"
+"разбиения дисков, вы можете воспользоваться существующими разделами. В\n"
+"противном случае, разделы жесткого диска должны быть определены.\n"
+"\n"
+"Для создания разделов сначала выберите жесткий диск. Это можно сделать,\n"
+"выбрав ``hda'' для первого IDE устройства, ``hdb'' для второго, ``sda'' для\n"
+"первого SCSI устройства и так далее.\n"
+"\n"
+"Для разметки выбранного жесткого диска вы можете использовать следующие\n"
+"опции:\n"
+"\n"
+" * \"%s\": эта опция удаляет все разделы на выбранном жестком диске;\n"
+"\n"
+" * \"%s\": эта опция позволяет автоматически создать ext3 и swap разделы на\n"
+"свободном пространстве вашего жесткого диска.\n"
+"\n"
+"\"%s\": открывает доступ к дополнительным возможностям:\n"
+"\n"
+" * \"%s\": сохраняет таблицу разделов на дискету. Полезно для\n"
+"восстановления таблицы разделов в будущем. Очень рекомендуется произвести\n"
+"этот шаг.\n"
+"\n"
+" * \"%s\": позволяет восстановить таблицу разделов, ранее сохраненную на\n"
+"дискету.\n"
+"\n"
+" * \"%s\": если ваша таблица разделов испорчена, вы можете попытаться ее\n"
+"восстановить, используя эту опцию. Пожалуйста, будьте осторожны и помните,\n"
+"что это может и не получиться.\n"
+"\n"
+" * \"%s\": отменяет все изменения и загружает исходную таблицу разделов.\n"
+"\n"
+" * \"%s\": если не выбрать эту опцию, то пользователи будут вынуждены\n"
+"вручную монтировать и размонтировать съемные носители типа дискет и\n"
+"CD-ROMов.\n"
+"\n"
+" * \"%s\": используйте эту опцию, если вы желаете провести разметку диска с\n"
+"помощью мастера. Это рекомендуется тем, кто не имеет достаточного опыта в\n"
+"разбиении дисков.\n"
+"\n"
+" * \"%s\": используйте эту опцию для отмены ваших изменений.\n"
+"\n"
+" * \"%s\": позволяет производить дополнительные действия над разделами\n"
+"(тип, опции, формат) и предоставляет больше информации о жестком диске.\n"
+"\n"
+" * \"%s\": когда вы закончите разметку своего жесткого диска, нажмите сюда\n"
+"чтобы сохранить изменения на диск.\n"
+"\n"
+"При определении размера раздела, вы можете установить размер раздела,\n"
+"используя клавиши со стрелками на вашей клавиатуре.\n"
+"\n"
+"Замечание: вы можете добраться до любой из опций используя клавиатуру.\n"
+"Перемещайтесь по ним, используя клавишу [Tab] и стрелки [Up/Down].\n"
+"\n"
+"Когда раздел выбран, вы можете использовать:\n"
+"\n"
+" * Ctrl-c для создания нового раздела (когда выбран пустой раздел)\n"
+"\n"
+" * Ctrl-d для удаления раздела\n"
+"\n"
+" * Ctrl-m для установки точки монтирования\n"
+"\n"
+"Чтобы получить информацию о различных доступных файловых системах,\n"
+"пожалуйста почитайте главу ext2FS из книги ``Справочное руководство''.\n"
+"\n"
+"Если вы производите инсталляцию на PPC машину, вам потребуется создать\n"
+"маленький HFS ``bootstrap'' раздел, не больше 1MB, который будет\n"
+"использоваться загрузчиком yaboot. Если вы решите сделать раздел чуть\n"
+"больше, скажем 50MB, то вы найдете полезное место для хранения spare kernel\n"
+"и ramdisk образов для загрузки в аварийных ситуациях."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Автомонтирование съемных носителей"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Переключение между нормальным/экспертным режимами"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"На вашем жестом диске обнаружено несколько разделов Microsoft. Выберите\n"
+"необходимый раздел для изменения его размера с целью установки вашей новой\n"
+"операционной системы Mandriva Linux.\n"
+"\n"
+"Каждый раздел перечислен так: \"Linux имя\", \"Windows имя\" \"Размер\".\n"
+"\n"
+"\"Linux имя\" разделено на: \"тип жесткого диска\", \"номер жесткого\n"
+"диска\", \"номер раздела\" (например, \"hda1\").\n"
+"\n"
+"\"Тип жесткого диска\" это \"hd\" если ваш жесткий диск IDE и \"sd\" если\n"
+"SCSI.\n"
+"\n"
+"\"Номер жесткого диска\" это всегда буква после \"hd\" или \"sd\". Для\n"
+"жестких дисков IDE:\n"
+"\n"
+" * \"a\" означает \"master жесткий диск на первичном IDE контроллере\";\n"
+"\n"
+" * \"b\" означает \"slave жесткий диск на первичном IDE контроллере\";;\n"
+"\n"
+" * \"c\" означает \"master жесткий диск на вторичном IDE контроллере\";\n"
+"\n"
+" * \"d\" означает \"slave жесткий диск на вторичном IDE контроллере\".\n"
+"\n"
+"Для жестких дисков SCSI \"a\" означает \"lowest SCSI ID\", \"b\" означает\n"
+"\"second lowest SCSI ID\", и т.д.\n"
+"\n"
+"\"Windows name\" это буква жесткого диска под Windows (первый диск или\n"
+"раздел называется \"C:\")."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": проверьте текущий выбор страны Если вы находитесь не в этой стране,\n"
+"нажмите на кнопку \"%s\" и выберите другую. Если ваша страна не\n"
+"присутствует в первом показанном списке, нажмите кнопку \"%s\", чтобы\n"
+"увидеть полный список."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Этот шаг появляется только в случае, если на вашей машине найден старый\n"
+"раздел GNU/Linux.\n"
+"\n"
+"DrakX теперь должен узнать, хотите ли вы провести новую установку или\n"
+"обновление существующей системы Mandriva Linux:\n"
+"\n"
+" * \"%s\": в большинстве случаев этот вариант приведет к уничтожению старой\n"
+"системы. Если вы желаете изменить разделы вашего жесткого диска или\n"
+"изменить файловую систему, вы должны выбрать этот пункт. Однако, в\n"
+"зависимости от того, как разбит ваш диск, вам, возможно, удастся сохранить\n"
+"от перезаписи некоторые свои данные.\n"
+"\n"
+" * \"%s\": этот класс установки позволит вам обновить пакеты, установленные\n"
+"в вашей системе Mandriva Linux. Текущая схема разделов диска и\n"
+"пользовательские данные останутся нетронутыми. Большинство других шагов\n"
+"будут доступны, как и при стандартной установке.\n"
+"\n"
+"``Обновление'' будет неплохо работать на системах Mandriva Linux начиная с\n"
+"\"8.1\" и выше. Проведение обновления на системах Mandriva Linux старше\n"
+"\"8.1\" не рекомендуется."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"В зависимости от языка по умолчанию, который вы выбрали в разделе , DrakX\n"
+"автоматически подберет определенную конфигурацию клавиатуры. Проверьте, что\n"
+"выбор вам подходит или выберите другую раскладку клавиатуры.\n"
+"\n"
+"Может так быть, что у вас нет клавиатуры, которая точно соответствует\n"
+"вашему языку: например, если вы швейцарец, говорящий по-английски, у вас\n"
+"может быть швейцарская клавиатура. Или вы говорите по-английски, но живете\n"
+"в Квебеке; тогда вы можете попасть в подобную в ситуацию, когда ваш родной\n"
+"язык и клавиатура не совпадают. В любом случае, этот шаг установки позволит\n"
+"вам выбрать подходящую клавиатуру из списка.\n"
+"\n"
+"Нажмите на кнопку \"%s\" чтобы получить полный список поддерживаемых\n"
+"клавиатур.\n"
+"\n"
+"Если вы выбираете раскладку клавиатуры, основанную на не-латинском\n"
+"алфавите, следующее диалоговое окно позволит вам выбрать сочетание клавиш\n"
+"для переключения между латинской и не-латинской раскладками."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ваш выбор предпочитаемого языка повлияет на язык документации, сам\n"
+"инсталлятор и систему в целом. Выберите сначала регион, в котором вы\n"
+"находитесь, затем язык на котором вы говорите.\n"
+"\n"
+"По нажатию на кнопку \"%s\" вы сможете выбрать другие языки, которые можно\n"
+"установить на вашей рабочей станции. Таким образом будут установлены\n"
+"имеющие отношение к языку файлы системной документации и приложения.\n"
+"Например, если у вас в системе будут работать пользователи из Испании,\n"
+"выберите в дереве English как основной, и \"%s\" в дополнительном разделе.\n"
+"\n"
+"О поддержке UTF-8 (unicode): Unicode это новая кодировка, которая включает\n"
+"в себя все существующие языки. Однако ее полная поддержка в GNU/Linux пока\n"
+"находится в стадии разработки. Поэтому Mandriva Linux будет определять\n"
+"использовать ее или нет в зависимости от выбора пользователя:\n"
+"\n"
+" * Если вы выбираете языки, которые имеют свою традиционную устоявшуюся\n"
+"кодировку (языки latin1, русский, японский, китайский, корейский, тайский,\n"
+"греческий, турецкий, большинство языков с iso-8859-2), будет взята по\n"
+"умолчанию их кодировка;\n"
+"\n"
+" * Для остальных языков будет использоваться юникод по умолчанию;\n"
+"\n"
+" * Если выбираются несколько языков, имеющих различную кодировку, будет\n"
+"использован юникод по умолчанию для всей системы;\n"
+"\n"
+" * И наконец, юникод может быть также выбран по запросу пользователя,\n"
+"опцией \"%s\" не зависимо от того, какие языки выбраны.\n"
+"\n"
+"Заметим, что вы не ограничены в выборе дополнительных языков. Вы можете\n"
+"выбрать сколько угодно дополнительных языков, даже установить все языки,\n"
+"отметив пункт \"%s\". Выбор поддержки языка означает наличие переводов,\n"
+"шрифтов, проверку орфографии и т.д. для установленных языков.\n"
+"\n"
+"Для переключения между различными установленными языками в вашей системе вы\n"
+"можете запускать команду \"/usr/sbin/localedrake\" с правами \"root\",\n"
+"чтобы изменить язык для всей системы. Запуск этой команды с правами\n"
+"обычного пользователя позволит изменить настройки языка для данного\n"
+"конкретного пользователя."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Испанский"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Обычно у DrakX не возникает проблем с определением количества кнопок вашей\n"
+"мыши. Если все-таки у него это не получается, тогда он будет рассматривать\n"
+"вашу мышь как двух-кнопочную и настроит эмуляцию трех кнопок. Третья кнопка\n"
+"двухкнопочной мыши может быть ``нажата'' одновременным нажатием на левую и\n"
+"правую кнопку. DrakX автоматически определит какой интерфейс использует\n"
+"ваша мышь: PS/2, serial или USB.\n"
+"\n"
+"Если у вас трехкнопочная мышь с колесиком, вы можете выбрать мышь \"%s\"\n"
+"DrakX тогда настроит вашу мышь с симуляцией колесика. Чтобы воспользоваться\n"
+" затем колесиком, нажимайте среднюю кнопку мыши и двигайте указатель мыши\n"
+"вверх-вниз.\n"
+"\n"
+"Если, по каким-либо причинам, вы желаете указать другой тип мыши, выберите\n"
+"нужную мышь из предоставленного списка.\n"
+"\n"
+"Вы можете выбрать пункт \"%s\" для выбора типа мыши ``generic'', который "
+"будет\n"
+"работать практически с любой мышью.\n"
+"\n"
+"Если вы выбираете другую мышь, отличную от выбранной по умолчанию, появится\n"
+"тестовый экран. Понажимайте кнопки и покрутите колесико для проверки\n"
+"правильности настроек и того, что мышь работает корректно. Если мышь ведет\n"
+"себя неверно, нажмите пробел или клавишу [Return], чтобы отменить\n"
+"тестирование и вернуться к списку мышей.\n"
+"\n"
+"Мыши с колесиками иногда автоматически не определяются. В этом случае вам\n"
+"прийдется выбрать свою мышь из списка. Проверьте, что вы правильно выбрали\n"
+"порт подключения мыши. Когда мышь будет выбрана и нажата кнопка \"%s\",\n"
+"появится картинка с изображением мыши. Покрутите колесико мыши для проверки\n"
+"того, что все работает правильно. Как только вы увидите, что колесико на\n"
+"экране движется синхронно с движениями настоящего колесика, проверьте также\n"
+"работу кнопок и движение курсора, который должен двигаться по экрану\n"
+"соответственно вашим перемещениям мыши."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "с эмуляцией колесика"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Универсальный |Любая PS/2 & USB мышь"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Пожалуйста, выберите правильный порт. Например, порт \"COM1\" под Windows\n"
+"называется \"ttyS0\" под GNU/Linux."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Это самое важное решение в деле безопасности вашей системы GNU/Linux: вы\n"
+"должны ввести пароль \"root\". \"Root\" является администратором системы, и\n"
+"только он имеет право производить обновления, добавлять пользователей,\n"
+"изменять конфигурацию системы и так далее. Короче говоря, \"root\" может\n"
+"все! Вот поэтому вы должны придумать пароль, который трудно подобрать -\n"
+"DrakX сообщит вам, если пароль слишком прост. Как вы видите, можно вообще\n"
+"не вводить пароль, но мы серьезно советуем вам этого не делать по одной\n"
+"простой причине: не думайте, что если вы загрузили GNU/Linux, то ваши\n"
+"остальные операционные системы защищены от ошибок. Так как \"root\" может\n"
+"переступить все ограничения и непреднамеренно стереть все данные на\n"
+"разделах диска, обращаясь небрежно с разделами, то очень важно, чтобы стать\n"
+"\"root\" было трудно.\n"
+"\n"
+"Пароль должен быть сочетанием цифровых и буквенных символов и иметь длину\n"
+"не менее 8 символов. Никогда не записывайте пароль \"root\" - это делает\n"
+"очень легкой возможность скомпрометировать систему.\n"
+"\n"
+"Одно предостережение -- не делайте пароль слишком длинным или слишком\n"
+"сложным, потому что вы должны его без особых усилий запомнить!\n"
+"\n"
+"Пароль не будет отображаться на экране так же, как вы его вводите. Кроме\n"
+"того, вам прийдется повторить ввод пароля, чтобы предупредить возможность\n"
+"опечатки. Если случится так, что вы опечатались дважды, тогда этот\n"
+"``неверный'' пароль прийдется использовать при первой загрузке.\n"
+"\n"
+"Если вы желаете, чтобы доступ к этому компьютеру контролировался сервером\n"
+"аутентификации, нажмите на кнопку \"%s\".\n"
+"\n"
+"Если ваша сеть использует службы аутентификации LDAP, NIS или PDC Windows\n"
+"Domain выберите соответствующий тип \"%s\". Если не знаете что выбрать,\n"
+"спросите своего администратора сети.\n"
+"\n"
+"Если у вас возникли проблемы с запоминанием паролей, вы можете выбрать\n"
+"опцию \"%s\", если ваш компьютер не будет подключаться к Интернет и если вы\n"
+"доверяете всем доступ к своей машине."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "аутентификация"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO и GRUB -- это начальные загрузчики GNU/Linux. Этот шаг обычно\n"
+"полностью автоматизирован. DrakX проанализирует загрузочный (boot) сектор\n"
+"диска и будет действовать согласно тому, что он там найдет:\n"
+"\n"
+" * если найден загрузочный сектор Windows, он заменит его на загрузочный\n"
+"сектор GRUB/LILO. Следовательно, вы сможете загружать и GNU/Linux и другую\n"
+"OS, установленную на вашей машине.\n"
+"\n"
+" * если найден загрузочный сектор GRUB или LILO, он заменит его на новый.\n"
+"\n"
+"Если возникают сомнения, DrakX спросит вас куда разместить загрузчик. В\n"
+"общем случае, \"%s\" это лучший вариант выбора. Если выбрать \"%s\", тогда\n"
+"начальный загрузчик не будет установлен вообще. Используйте этот вариант\n"
+"только если вы знаете, что вы делаете."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Теперь пришло время выбрать систему печати для вашего компьютера. Другие OS\n"
+"могут предложить вам одну, а Mandriva Linux предлагает две. Каждая из "
+"систем\n"
+"является лучшей для определенной конфигурации.\n"
+"\n"
+" * \"%s\" -- что означает ``печатать, не ставить в очередь'' (``print,\n"
+"do not queue''), это удобный вариант, если вы напрямую подключены к своему\n"
+"принтеру, вы хотите избежать проблем с зажевыванием бумаги, и у вас нет\n"
+"сетевых принтеров. (\"%s\" сможет справиться только с очень простыми\n"
+"реализациями сетей и является для них довольно медленным.) Рекомендуется\n"
+"использовать \"pdq \" в случае, если вы только начинаете свой путь в\n"
+"GNU/Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'' (Общая система печати Unix),\n"
+"это превосходная печать на вашем локальном принтере, а также на половине\n"
+"всей планеты. Она проста в настройке и может выступать в качестве сервера\n"
+"или клиента для древних систем печати \"lpd \", поэтому она совместима с\n"
+"ранее выпущенными системами, которым возможно еще требуются службы печати.\n"
+"Несмотря на всю свою мощь, базовые настройки у нее проще чем у \"pdq\".\n"
+"Если вам нужно эмулировать \"lpd\", вы должны включить демон \"cups-lpd \".\n"
+"\"%s\" имеет графический интерфейс для печати или выбора параметров\n"
+"принтера и для управления принтером.\n"
+"\n"
+"Если вы сделаете свой выбор сейчас, а позже обнаружите, что система печати\n"
+"вам не подходит, вы сможете изменить ее, запустив PrinterDrake из Центра\n"
+"Управления Mandriva Linux и нажав на кнопку \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Эксперт"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Сначала DrakX определит любые IDE устройства, присутствующие в вашей\n"
+"системе. Также он проверит наличие одной или больше PCI SCSI карт в\n"
+"системе. Если будет найдена SCSI карта, DrakX автоматически установит\n"
+"соответствующий драйвер.\n"
+"\n"
+"Так как обнаружение аппаратного обеспечения не всегда ошибкоустойчиво,\n"
+"DrakX может не справиться с определением ваших жестких дисков. Если это\n"
+"случится, тогда вам прийдется вручную указать ему оборудование.\n"
+"\n"
+"Если вам пришлось вручную указать PCI SCSI адаптер, DrakX спросит вас,\n"
+"хотите ли вы настроить его параметры. Вы должны разрешить DrakX проверить\n"
+"специфические для карты опции, которые нужны для инициализации адаптера.\n"
+"Обычно DrakX проходит этот шаг без проблем.\n"
+"\n"
+"Если DrakX не в состоянии автоматически определить, какие параметры нужны\n"
+"оборудованию, вам прийдется вручную настроить драйвер."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": если в вашей системе найдена звуковая карта, здесь это будет\n"
+"показано. Если вы увидите, что показанная звуковая карта не соответствует\n"
+"тому, что у вас реально есть в системе, вы можете нажать на кнопку и\n"
+"выбрать другой драйвер."
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"В качестве обзора DrakX представит сводку имеющейся у него различной\n"
+"информации о вашей системе. В зависимости от установленного у вас\n"
+"оборудования, вы можете увидеть все или некоторые из следующих пунктов.\n"
+"Каждый пункт состоит из конфигурационных элементов для настройки,\n"
+"сопровождаемых небольшой сводкой о текущей конфигурации. Нажмите на\n"
+"соответствующую кнопку \"%s\", чтобы изменить настройки.\n"
+"\n"
+" * \"%s\": проверьте текущую настройку раскладки клавиатуры и сделайте\n"
+"поправку если необходимо.\n"
+"\n"
+" * \"%s\": проверьте текущий выбор страны Если вы находитесь не в этой\n"
+"стране, нажмите на кнопку \"%s\" и выберите другую. Если ваша страна не\n"
+"присутствует в первом показанном списке, нажмите кнопку \"%s\", чтобы\n"
+"увидеть полный список.\n"
+"\n"
+" * \"%s\": По умолчанию, DrakX выбирает часовой пояс, основываясь на\n"
+"выбранной вами стране. Вы можете здесь нажать на кнопку \"%s\", если\n"
+"выбранное неверно.\n"
+"\n"
+" * \"%s\": проверьте текущую конфигурацию мыши и нажмите на кнопку, если\n"
+"необходимо что-либо изменить.\n"
+"\n"
+" * \"%s\": по нажатию на кнопку \"%s\" откроется мастер настройки принтера.\n"
+"Прочитайте соответствующую главу в книге ``Стартовое руководство\n"
+"пользователя'', чтобы узнать как установить новый принтер. Представленный\n"
+"там интерфейс подобен используемому в процессе установки.\n"
+"\n"
+" * \"%s\": если в вашей системе найдена звуковая карта, здесь это будет\n"
+"показано. Если вы увидите, что показанная звуковая карта не соответствует\n"
+"тому, что у вас реально есть в системе, вы можете нажать на кнопку и\n"
+"выбрать другой драйвер.\n"
+"\n"
+" * \"%s\": если в вашей системе была обнаружена TV карта, она будет здесь\n"
+"показана. Если у вас есть TV карта, но она не была определена, нажмите на\n"
+"кнопку \"%s\" и попробуйте настроить ее вручную.\n"
+"\n"
+" * \"%s\": вы можете кликнуть по \"%s\" чтобы изменить связанные с картой\n"
+" параметры если считаете что настройка неверна\n"
+"\n"
+" * \"%s\": по умолчанию DrakX настраивает ваш графический интерфейс на\n"
+"разрешение \"800x600\" или \"1024x768\". Если вас это не устраивает,\n"
+"нажмите \"%s\" для внесения изменений в конфигурацию вашего графического\n"
+"интерфейса.\n"
+"\n"
+" * \"%s\": если вы хотите настроить доступ в Интернет или локальную сеть\n"
+"прямо сейчас. Обратитесь к печатной документации или используйте\n"
+"Центр управления Mandriva Linux после установки чтобы почитать\n"
+"встроенную справку.\n"
+"\n"
+" * \"%s\": позволяет настроить адреса HTTP и FTP прокси если машина,\n"
+"которую вы настраиваете, будет работать за прокси-сервером.\n"
+"\n"
+" * \"%s\": этот пункт предлагает вам переопределить уровень безопасности\n"
+"как это делалось на предыдущем шаге ().\n"
+"\n"
+" * \"%s\": если вы собираетесь подключать вашу машину к Интернет, неплохой\n"
+"идеей будет защитить себя от вторжений извне, установив файервол.\n"
+"Прочитайте соответствующий раздел книги ``Стартовое руководство\n"
+"пользователя'', где описаны детали настройки файервола.\n"
+"\n"
+" * \"%s\": если вы желаете изменить конфигурацию начального загрузчика,\n"
+"нажмите эту кнопку. Эта опция предназначена для опытных пользователей.\n"
+"Обратитесь к печатной документации или встроенной справке о настройке\n"
+"загрузчика в Центре управления Mandriva Linux.\n"
+" * \"%s\": здесь вы сможете проконтролировать какие службы будут запущены\n"
+"на вашей машине. Если ваша машина будет сервером, вам стоит проверить эти\n"
+"установки."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "карта ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графический Интерфейс"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Выберите жесткий диск, который нужно очистить для инсталляции вашего нового\n"
+"раздела Mandriva Linux. Будьте осторожны, все данные на нем будут потеряны\n"
+"и их нельзя будет восстановить!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+# cvs.mandriva.com:/cooker/doc/manualB/modules/ru/drakx-chapter.xml
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Нажмите \"%s\", если вы хотите удалить все данные и разделы на данном\n"
+"жестком диске. Будьте осторожны, потому что после нажатия \"%s\" вы не\n"
+"сможете восстановить данные и разделы на этом диске, включая данные\n"
+"Windows.\n"
+"\n"
+"Нажмите \"%s\" для отмены этой операции без потери данных и разделов на\n"
+"данном жестком диске."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далее ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Назад"
+
diff --git a/perl-install/install/help/po/sc.po b/perl-install/install/help/po/sc.po
new file mode 100644
index 000000000..29731d8bb
--- /dev/null
+++ b/perl-install/install/help/po/sc.po
@@ -0,0 +1,1110 @@
+# translation of DrakX-sc.po to Sardu
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Antoni Pistis <antonio.pistis@virgilio.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-14 11:29+0100\n"
+"Last-Translator: Antoni Pistis <antonio.pistis@virgilio.it>\n"
+"Language-Team: Sardu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bolis a tenni custa possibilidadi?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ajorronu"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Cun documentadura fundamentali"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Aposentadura minimali diaderus"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Dependèntzias automàtigas"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronisadura automàtiga"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Imprea pratzidura de imoi"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Burra totu su discu"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Crea floppy de aposentadura automàtiga"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Aministradori de Siguresa"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Càrrigu automàtigu de mèdius arremoviditzus"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr ""
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spannyolu"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "cun emuladura de Arroda"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universali | Dònnia sòrixi PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentigadura"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Spertu"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Skeda ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfaci Gràfiga"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sighi ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Agoa"
+
diff --git a/perl-install/install/help/po/sk.po b/perl-install/install/help/po/sk.po
new file mode 100644
index 000000000..103bada97
--- /dev/null
+++ b/perl-install/install/help/po/sk.po
@@ -0,0 +1,1998 @@
+# Jan Matis <damned@hq.alert.sk>, 2000.
+# Pavol Cvengros <orpheus@hq.alert.sk>, 2000.
+# Michal Holes <Michal@Holes.sk>, 2004,2005.
+# Tibor Pittich <Tibor.Pittich@phuture.sk>, 2002,2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-21 14:03+0100\n"
+"Last-Translator: Tibor Pittich <Tibor.Pittich@mandriva.org>\n"
+"Language-Team: <i18n@mandrake.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pred tým než budete pokračovať, mali by ste si pozorne prečítať\n"
+"licenčné podmienky. Pokrývajú celú distribúciu Mandriva Linux\n"
+"Ak súhlasíte so všetkými jej bodmi kliknite na tlačidlo \"%s\".\n"
+"Ak nesúhlasíte kliknite na tlačidlo \"%s\" a váš počítač bude reštartovaný."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je viacpoužívateľský systém čo znamená, že každý používateľ má\n"
+"vlastné nastavenia, vlastné súbory a podobne. Môžete si prečítať "
+"\"Používateľskú\n"
+"príručku\" pre podrobnejšie informácie o viacpoužívateľských systémoch.\n"
+"S výnimkou \"root\"a, ktorý je administrátor systému, používatelia ktorí "
+"budú na tomto\n"
+"mieste pridaní používatelia nemôžu meniť alebo zmazať čokoľvek s výnimkou "
+"svojich vlastných\n"
+"údajov a konfigurácií. Mali by ste vytvoriť minimálne jedného regulárneho\n"
+"používateľa pre seba. Toto konto by ste mali používať pre bežnú rutinnú "
+"prácu.\n"
+"Aj keď sa zdá byť praktické prihlasovať ako \"root\" zakaždým, je to veľmi\n"
+"nebezpečné! Aj najmenší omyl môže viesť k tomu, že váš aktuálny systém už\n"
+"nebude nikdy použiteľný. Ak sa vám podarí spraviť omyl ako bežnému "
+"používateľovi,\n"
+"môžete prísť o niektoré údaje, ale nepodarí sa vám poškodiť celý systém.\n"
+"\n"
+"Najprv by ste mali zadať vaše skutočné meno. Samozrejme, toto nie je\n"
+"povinnosť, môžete zadať ľubovoľné meno. DrakX potom použije prvé\n"
+"slovo z mena, ktoré ste zadali a toto vám ponúkne ako \"%s\".\n"
+"Toto môže byť prihlasovacie meno tohto bežného používateľa. Tiež by ste na\n"
+"tomto mieste mali zadať heslo. Heslo bežného (neprivilegovaného) "
+"používateľa\n"
+"nie je také kritické ako heslo superpoužívateľa \"root\"a z pohľadu "
+"bezpečnosti,\n"
+"ale nie je dôvod toto heslo podceniť, pretože všetky jeho súbory môžu byť\n"
+"v nebezpečenstve.\n"
+"\n"
+"Ak kliknete na \"%s\", môžete pridať aj ďalších používateľov\n"
+"ak si to želáte (Vašich priateľov, otca, sestru a podobne). Ak ste skončili\n"
+"s pridávaním, zvoľte \"%s\".\n"
+"\n"
+"Kliknutím na \"%s\" môžete zmeniť predvolený \"interpreter\" pre daného\n"
+"používateľa (štandardne bash).\n"
+"\n"
+"Ak ste skončili s pridávaním používateľov, v nasledovnom kroku budete môcť\n"
+"nastaviť používateľa, ktorý bude automaticky prihlásený do systému po "
+"naštartovaní.\n"
+"Ak vás zaujíma táto možnosť (a nezáleží vám na lokálnej bezpečnosti), zvoľte "
+"si\n"
+"požadovaného používateľa a správcu okien, potom kliknite na \"%s\".\n"
+"Ak nemáte záujem používať túto možnosť, odznačte položku \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Chcete použiť túto možnosť?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Tu je zoznam oblastí s existujúcimi Linux oddielmi, ktoré boli zdetekované\n"
+"na vašom disku. Môžete zachovať nastavenia vygenerované sprievodcom, čo\n"
+"môže byť vhodné pre bežné inštalácie. Ak chcete vykonať zmeny, najprv "
+"musíte\n"
+"definovať hlavný oddiel (\"/\"). Nevoľte si príliš malý oddiel, pretože vám "
+"nemusí\n"
+"byť umožnené inštalovať všetok softvér, ktorý by ste si želali. Ak budete "
+"chcieť\n"
+"ukladať používateľské údaje na iný oddiel, bude potrebné vytvoriť oddiel\n"
+"pre \"/home\" oblasť (to je možné ak máte spolu k dispozícii viac ako jeden\n"
+"Linux oddiel).\n"
+"\n"
+"Všetky oddiely sú zobrazené s nasledovnými údajmi: \"Meno\", \"Kapacita\".\n"
+"\n"
+"\"Meno\" je vytvorené ako: \"typ disku\", \"číslo disku\", \"číslo oddielu"
+"\"\n"
+"(napríklad \"hda1\").\n"
+"\n"
+"\"Typ disku\" je vždy písmeno za \"hd\" alebo \"sd\". V prípade IDE\n"
+"diskov:\n"
+"\n"
+" * \"a\" znamená \"master disk na primárnom IDE radiči\";\n"
+"\n"
+" * \"b\" znamená \"slave disk na primárnom IDE radiči\";\n"
+"\n"
+" * \"c\" znamená \"master disk na sekundárnom IDE radiči\";\n"
+"\n"
+" * \"d\" znamená \"slave disk na sekundárnom IDE radiči\".\n"
+"\n"
+"Pri SCSI diskoch \"a\" znamená \"najnižšie SCSI ID\", \"b\" znemaná\n"
+"\"druhé najnižšie SCSI ID\" a tak ďalej."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Inštalácia Mandriva Linuxu je distribuovaná na viacerých CD-ROM diskoch. "
+"DrakX\n"
+"vie zistiť, ak je vybraný balík umiestnený na inom CD-ROM disku, vysunie\n"
+"aktuálne CD a vypýta si od vás to ktoré je práve potrebné. Ak toto CD "
+"nemáte, kliknite na \"%s\" a požadovaný balík nebude nainštalovaný."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Teraz je možné vybrať, ktoré programy chcete nainštalovať na váš systém.\n"
+"Mandriva Linux obsahuje tisíce balčkov s programami. Pre jednoduchšiu "
+"orientáciu\n"
+"boly rozdelené do skupín, ktoré združujú podobné aplikácie.\n"
+"\n"
+"Balíčky sú rozdelené do skupín, ktoré zodpovedajú tomu, ako ich "
+"najčastejšie\n"
+"počítač používa. Skupiny sú umiestnené do štyroch sekcií. Výber aplikácií\n"
+"z týchto sekcií možno rôzne kombinovať, takže môžete mať nainštalovanú celú "
+"sekciu\n"
+"\"Pracovná stanica\" a k nej ďalšie aplikácie zo sekcie \"Server\".\n"
+"\n"
+" * \"%s\": ak plánujete počítač používať hlavne na \n"
+"bežnú prácu, vyberte si balíčky zo skupín kategórie pracovná stanica.\n"
+"\n"
+" * \"%s\": ak budete na počítači programovať, môžete si z tejto\n"
+"sekcie vybrať ďalšie skupiny. Zvláštna skupina \"LSB\" nastaví váš systém "
+"tak,\n"
+"aby čo najviac zodpovedal špecifikácii Linux Standard Base.\n"
+"\n"
+" Výber skupiny \"LSB\" tiež nainštaluje jadro rady\"2.4\" namiesto "
+"východzieho\n"
+"jadra rady \"2.6\", pre zaistenie úplnej kompatibility so špecifikáciou "
+"LSB . Aj ak ale\n"
+"skupinu LSB nevyberiete, bude systém takmer úplne špecifikácii zodpovedať\n"
+" * \"%s\":ak bude počítač fungovať ako server, máte možnosť\n"
+"vybrať si najbežnejšie služby, ktoré chcete nainštalovať.\n"
+"\n"
+" * \"%s\": ak uprednostňujete grafické prostredie, tu je\n"
+"ponuka niekoľkých prostredí, z ktorej si musíte vybrať, najmenej jedno\n"
+"aby bolo možné grafické prostredie nainštalovať.\n"
+"\n"
+"Ak prejdete myšou nad skupinou, objaví sa krátky text, ktorý vysvetľuje,\n"
+"čo je obsahom danej skupiny.\n"
+"\n"
+"Ak zvolíte voľbu \"%s\", zobrazí sa zoznam všetkých\n"
+"balíčkov, ktoré možno nainštalovať. To je užitočné v prípade, že chcete\n"
+"mať absolútnu kontrolu nad tým, čo sa bude inštalovať\n"
+"\n"
+"Ak ste spustili inštaláciu v režime \"%s\", môžete zrušiť výber\n"
+"daných skupín, čím zabránite inštalácii nových balíčkov. To je užitočné\n"
+"v prípade opravy alebo aktualizácie existujúceho systému.\n"
+"\n"
+"Ak nevyberiete pri bežnej inštalácii žiadnu skupinu (na rozdiel od\n"
+"aktualizácie), zobrazí sa otázka na inštaláciu niekoľkých typov minimálnej "
+"inštalácie:\n"
+"\n"
+" * \"%s\" Vykoná inštaláciu najmenšieho možného počtu balíčkou s podporou "
+"grafického prostredia.\n"
+"\n"
+" * \"%s\" Nainštaluje systém so základnými programami a ich dokumentáciou. \n"
+"Tento typ je vhodný pre inštaláciu servera.\n"
+"\n"
+" * \"%s\" Nainštaluje sa naozaj najmenšie možné minimum, aby bolo\n"
+"možné používať Linux z príkazového riadku. Inštalácia zaberie asi\n"
+"65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Aktualizácia"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "So základnou dokumentáciou"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Skutočne minimálna inštalácia"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Nakoniec, v závislosti na tom či ste si vybrali výber jednotlivých balíkov,\n"
+"bude zobrazená stromová štruktúra obsahujúca všetky balíky zoradené podľa\n"
+"skupín a podskupín. Počas prehliadania stromu môžete označiť celú skupinu,\n"
+"podskupinu, ale aj jednotlivé balíky.\n"
+"\n"
+"Vždy, keď vyberiete niektorý balík zo stromu, vpravo sa zobrazí jeho popis,\n"
+"aby ste vedeli aké je jeho približné použitie.\n"
+"\n"
+"!! Ak boli vybrané balíky, ktoré sú určené pre server, buď zámerne alebo\n"
+"preto že sú súčasťou celej skupiny, budete musieť potvrdiť, či skutočne\n"
+"chcete tieto služby nainštalovať. V prípade Mandriva Linuxu, sú štandardne "
+"všetky\n"
+"nainštalované služby spúšťané pri štarte systému. Aj keď sú bezpečné\n"
+"a v čase keď bola distribúcia vydaná neobsahovali žiadne známe problémy\n"
+"je možné, že tieto bezpečnostné problémy budú odhalené až po dokončení\n"
+"tejto verzie Mandriva Linuxu. Ak neviete čo jednotlivé servisy znamenajú, "
+"alebo\n"
+"prečo boli nainštalované tak kliknite na \"%s\". Kliknutím na \"%s\" budú\n"
+"vypísané služby nainštalované a automaticky naštartované pri spustení\n"
+"systému. !!\n"
+"\n"
+"Voľba \"%s\" potlačí varovný dialóg, ktorý sa objaví vždy,\n"
+"keď inštalátor automaticky vyberie balíky pre uspokojenie závislostí. "
+"Niektoré\n"
+"balíky majú závislosti medzi sebou alebo vyžadujú prítomnosť iných "
+"programov.\n"
+"Inštalátor dokáže tieto závislosti medzi balíkmy vyriešiť a úspešne tak\n"
+"dokončiť inštaláciu.\n"
+"\n"
+"Malá ikona diskety na spodku zoznamu vám umožní načítať zoznam balíkov,\n"
+"ktoré boli vybrané pri predchádzajúcej inštalácii. Toto je užitočné ak máte\n"
+"množstvo počítačov, ktoré si želáte nainštalovať identicky. Po kliknutí na "
+"túto ikonu\n"
+"budete požiadaní o vloženie diskety, ktorú ste si vytvorili na konci "
+"vzorovej\n"
+"inštalácie. Pozrite si ďalší tip pri poslednom kroku, ako vytvoriť takúto\n"
+"disketu."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatické závislosti"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": kliknutím na \"%s\" tlačidlo sa otvorí sprievodca konfiguráciou "
+"tlačiarne.\n"
+"Ak chcete získať viac informácií o tom, ako nastaviť novú tlačiareň, "
+"použite\n"
+"``Úvodnú príručku''. Rozhranie, ktoré tu vidíte je podobné tomu, ktoré bolo\n"
+"použité pri inštalácii."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Tento dialóg slúži pre výber služieb, ktoré si želáte spustiť pri štarte\n"
+"systému.\n"
+"\n"
+"DrakX zobrazí všetky služby dostupné pre aktuálnu inštaláciu.\n"
+"Pozorne si ich prezrite a zrušte tie, ktoré nebudete pri štarte systému\n"
+"potrebovať\n"
+"\n"
+"Je možné získať krátky popisný text o danej službe jej označením.\n"
+"V každom prípade, ak sa neviete uistiť v tom, ktorá zo služieb je pre vás\n"
+"použiteľná, je bezpečné ponechať predvolené nastavenie.\n"
+"\n"
+"!! Pri tomto kroku buďte opatrní ak plánujete používať váš počítač ako "
+"server:\n"
+"zrejme nebudete chcieť štartovať všetky služby, napríklad tie, ktoré nebude\n"
+"Váš systém poskytovať. Nezabudnite, že mnohé služby môžu byť\n"
+"pre server nebezpečné. Zvoľte si skutočne iba služby, ktoré naozaj "
+"potrebujete.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux spracováva čas v GMT (Greenwichský čas) a transformuje ho do\n"
+"lokálneho času v závislosti od nastavenej časovej zóny. Ak je čas na vašej\n"
+"matičnej doske nastavený ako lokálny čas, môžete toto deaktivovať "
+"odznačením\n"
+"\"%s\" následkom čoho bude systém vedieť, že hardvérové hodiny sú nastavené\n"
+"tak, že zodpovedajú časovej zóne. Toto je užitočné, ak na počítači "
+"prevádzkujete\n"
+"zároveň aj iný operačný systém.\n"
+"\n"
+"Nastavenie \"%s\" dokáže automaticky dolaďovať hodiny na základe pripojenia\n"
+"k vzdialenému časovému serveru v Internete. Pre správnu funkcionalitu tejto "
+"možnosti\n"
+"je potrebné, aby ste mali funkčné pripojenie k Internetu. Je vhodné vybrať "
+"si časový\n"
+"server, ktorý je vo vašej blízkosti. Táto voľba tiež nainštaluje časový "
+"server, ktorý je\n"
+"potom možné používať aj vo vašej lokálnej sieti."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatická synchronizácia času"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafická karta\n"
+"\n"
+" Inštalátor obyčajne dokáže zdetekovať a nakonfigurovať grafickú kartu\n"
+"vo vašom počítači. Ak tomu tak nie je vo vašom prípade, môžete si\n"
+"vybrať zo zoznamu kartu, ktorú aktuálne používate.\n"
+"\n"
+" V prípade dostupnosti viacerých serverov pre vašu kartu, s alebo bez\n"
+"3D akcelerácie si budete musieť vybrať server, ktorý bude zodpovedať vašim\n"
+"požiadavkám."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (X Window System) je srdcom grafického rozhrania GNU/Linux systému\n"
+"spolu so všetkými grafickými prostrediami (KDE, GNOME, AfterStep,\n"
+"WindowMaked, atď.) distribuovanými s Mandriva Linux systémom.\n"
+"\n"
+"Zmenou nasledovných parametrov môžete dosiahnuť optimálne nastavenie\n"
+"vášho grafického systému.\n"
+"\n"
+"Grafická karta\n"
+"\n"
+" Inštalátor dokáže za normálnych okolností zdetekovať a nakonfigurovať\n"
+"grafickú kartu vo vašom systéme. Ak neprebehla autodetekcia správne, môžete\n"
+"si vybrať v tomto zozname kartu, ktorú práve používate.\n"
+"\n"
+" V prípade, že je dostupných viacero serverov pre vašu grafickú kartu,\n"
+"s alebo bez 3D akcelerácie, budete si musieť vybrať server, ktorý bude "
+"zodpovedať vašim požiadavkám.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Inštalátor bežne dokáže automaticky zdetekovať a nastaviť monitor\n"
+"ktorý je pripojený k vášmu počítaču. Ak neprebehla autodetekcia\n"
+"správn môžete si vybrať zo zoznamu monitor, ktorý používate.\n"
+"\n"
+"\n"
+"\n"
+"Rozlíšenie\n"
+"\n"
+" Môžete si vybrať rozlíšenie a farebnú hĺbku medzi tými, ktoré sú "
+"dostupné\n"
+"pre váš hardvér. Vyberte si takú, aká čo najlepšie vyhovuje vašim potrebám\n"
+"(tieto hodnoty budete môcť zmeniť aj po inštalácii). Ukážka zvolenej\n"
+"konfigurácie bude zobrazená na vašom monitore.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" systém sa pokúsi nastaviť grafický mód vo zvolenom rozlíšení. Ak budete "
+"môcť vidieť\n"
+"správu a odpoviete na na ňu \"%s\", DrakX bude pokračovať nasledujúcim\n"
+"krokom. Ak nebudete vidieť túto správu, bude to znamenať, že niektorá časť "
+"autodetekcie\n"
+"neprebehla úspešne. Test sa automaticky ukončí po 12 sekundách a znovu sa "
+"vám zobrazí\n"
+"menu. Skúste meniť nastavenie dovtedy, kým nezískate korektne nastavený "
+"grafický displej.\n"
+"\n"
+"\n"
+"\n"
+"Nastavenia\n"
+"\n"
+" Na tomto mieste môžete nastaviť,či váš počítač má po štarte prejsť \n"
+"automaticky do grafického režimu. Pravdepodobne budete musieť označiť \"%s\" "
+"ak váš systém\n"
+"bude prevádzkovaný ako server alebo ak sa vám nepodarilo uspokojivo "
+"nakonfigurovať\n"
+"grafické rozhranie."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Inštalátor dokáže automaticky zdetekovať monitor, ktorý je pripojený\n"
+"k vášmu počítaču. Ak monitor nebol správne zdetekovaný máte možnosť\n"
+"vybrať si zo zoznamu monitor, ktorý máte aktuálne pripojený."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rozlíšenie\n"
+"\n"
+" Tu si môžete vybrať rozlíšenie a farebnú hĺbku medzi tými, ktoré sú\n"
+"dostupné pre váš hardvér. Vyberte si jedno, ktoré najviac vyhovuje vašim\n"
+"potrebám (toto nastavenie budete môcť po inštalácii zmeniť). Ukážka "
+"zvolenej\n"
+"konfigurácie bude odskúšaná na vašom monitore."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"V prípade, že sú k dispozícii rôzne servery pre vašu kartu (s alebo bez\n"
+"3D akcelerácie), bude vám položená otázka s výberom servera, ktorý bude\n"
+"vyhovovať vašim potrebám."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Nastavenia\n"
+"\n"
+" Tu si môžete zvoliť či si želáte aby bolo hneď po spustení použité "
+"grafické\n"
+"rozhranie. Samozrejme, mali by ste odpovedať \"%s\", ak váš počítač bude\n"
+"slúžiť ako server alebo ak sa vám nepodarilo správne nakonfigurovať "
+"grafické\n"
+"rozhranie."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Teraz si môžete zvoliť, kam si želáte nainštalovať Mandriva Linux\n"
+"na váš disk. Ak je váš disk prázdny alebo ak na ňom\n"
+"už existuje operačný systém, ktorý zaberá všetko dostupné miesto, bude\n"
+"potrebné ho prerozdeliť. Prerozdeľovanie pozostáva z logického\n"
+"rozdelenia disku a vytvorenia priestoru pre novú inštaláciu Mandriva\n"
+"Linux systému.\n"
+"\n"
+"Pretože proces rozdeľovania je nezvratný a môže dôjsť k strate údajov, ak\n"
+"už na počítači existuje operačný systém; prerozdeľovanie disku môže byť pre\n"
+"neskúsených používateľov stresujúce. Našťastie DrakX obsahuje sprievodcu,\n"
+"ktorý tento proces značne zjednodušuje. Pred tým ako budete pokračovať,\n"
+"prečítajte si celú túto sekciu, ušetríte si tak zbytočné problémy.\n"
+"\n"
+"V závislosti na rozdelení vášho disku vám budú ponúknuté rôzne možnosti:\n"
+"\n"
+" * \"%s\": táto možnosť bude jednoducho viesť k automatickému\n"
+"rozdeleniu vášho voľného miesta na disku(och). Na žiadne ďalšie otázky\n"
+"nebudete musieť odpovedať.\n"
+"\n"
+" * \"%s\": sprievodca rozpoznal jeden alebo viac už existujúcich\n"
+"oddielov pre Linux na vašom pevnom disku. Ak si ho/ich želáte použiť potom\n"
+"si vyberte túto možnosť. Následne budete musieť nastaviť body pripojenia, "
+"ktoré\n"
+"priradíte jednotlivým oddielom. Dôležité body pripojenia budú už štandardne "
+"predvolené\n"
+"a v mnohých prípadoch je dobrý nápad zachovať ich.\n"
+"\n"
+" * \"%s\": ak už máte nainštalovaný operačný systém Microsoft Windows na "
+"vašom\n"
+"pevnom disku a zaberá všetko voľné miesto, ktoré je na ňom k dispozícii, je "
+"potrebné\n"
+"vytvoriť nový Linux oddiel pre uloženie údajov. Môžete teda vymazať takýto\n"
+"Windows oddiel a tam uložené údaje (pozrite ``Vymazať celý disk''') alebo "
+"zmeniť veľkosť vašej\n"
+"Microsoft Windows FAT oblasti. Zmenu veľkosti je možné uskutočniť bez straty "
+"údajov,\n"
+"po predchádzajúcom defragmentovaní Windows oblasti, ak obsahuje FAT "
+"súborový\n"
+"systém. Je veľmi odporúčané si najprv odzálohovať údaje. Toto riešenie je\n"
+"odporúčané použiť ak si chcete používať spoločne Mandriva Linux aj Microsoft "
+"Windows\n"
+"na jednom počítači.\n"
+"\n"
+" Pred výberom tejto možnosti sa prosím presvedčte, či veľkosť Mrkvošrot "
+"Windows\n"
+"oddielu môže byť ešte menšia ako je momentálne. Budete mať k dispozícii "
+"menej\n"
+"priestoru pre ukladanie vašich údajov alebo inštaláciu nových programov pod\n"
+"Vaším Microsoft Windows systémom.\n"
+"\n"
+" * \"%s\": ak si želáte vymazať všetky údaje a všetky oddiely\n"
+"prítomné na vašom pevnom disku a nahradiť ich vašim novým Mandriva Linux\n"
+"systémom, zvoľte si túto voľbu. Buďte opatrní pri tejto možnosti, pretože "
+"nebude\n"
+"žiadna možnosť zvrátiť vaše rozhodnutie keď ho potvrdíte.\n"
+"\n"
+" !! Ak si vyberiete túto možnosť, všetky údaje na vašom disku budú "
+"vymazané. !!\n"
+"\n"
+" * \"%s\": jednoducho bude všetko odstránené z pevného\n"
+"disku a bude potrebné prerozdeliť disk odznova. Všetky údaje na vašom disku\n"
+"budú stratené;\n"
+"\n"
+" !! Ak si vyberiete túto možnosť, všetky údaje na vašom disku budú "
+"stratené. !!\n"
+"\n"
+" * \"%s\": vyberte si túto možnosť ak chcete ručne rozdeľovať váš\n"
+"pevný disk. Buďte opatrní - je to veľmi mocná, ale nebezpečná voľba a "
+"môžete\n"
+"veľmi jednoducho prísť o všetky vaše údaje. Preto si ju nevyberajte bez "
+"toho\n"
+"aby ste skutočne vedeli čo robíte. Ak chcete vedieť bližšie ako používať "
+"nástroj\n"
+"DiskDrake, prečítajte si ``Menežovanie vašich oblastí'' v ``Používateľskej\n"
+"príručke''."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Použiť existujúci oddiel"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Vymazať celý disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Hotovo. Inštalácia je teraz kompletná a váš GNU/Linux systém je\n"
+"pripravený na používanie. Iba kliknite na tlačidlo \"%s\" pre reštart\n"
+"systému. Nezabudnite vybrať inštalačné médiá (CD-ROM alebo disketu\n"
+"Prvá vec, ktorú môžete vidieť po ukončení hardverových testov je\n"
+"menu zavádzača, ktorý vám dáva možnosť výberu aký operačný systém chcete\n"
+"spustiť.\n"
+"\n"
+"Stlačením tlačidla \"%s\" sa zobrazia dve ďalšie tlačidlá:\n"
+"\n"
+" * \"%s\": čím sa vytvorí disketa, pomocou ktorej môžete automaticky\n"
+"vykonávať celú inštaláciu bez potreby zásahu, čiže presne takú istú\n"
+"inštaláciu ako ste práve previedli.\n"
+"\n"
+" Všimnite si dve rôzne nastavenia po kliknutí na toto tlačidlo:\n"
+"\n"
+" * \"%s\". Toto je čiastočne automatizovaná inštalácia. Krok\n"
+"rozdeľovanie disku je jediná interaktívna časť.\n"
+"\n"
+" * \"%s\". Plne automatizovaná inštalácia: pevný disk je kompletne\n"
+"prepísaný, všetky údaje na ňom budú stratené.\n"
+"\n"
+" Táto možnosť je veľmi užitočná, ak inštalujete veľké množstvo podobných\n"
+"počítačov. Pozrite si sekciu venovanú automatickej inštalácii na našej web "
+"stránke.\n"
+"\n"
+" * \"%s\"(*): uloží výber balíkov tak, ako boli vybrané v tejto\n"
+"inštalácii. Ak chcete vykonať ďalšiu rovnakú inštaláciu, vložte túto\n"
+"disketu do mechaniky, pri spustení inštalácie stlačte klávesu [F1] a "
+"napíšte:\n"
+">>linux defcfg=\"floppy\" <<.\n"
+"\n"
+"(*) Je potrebné mať pripravenú FAT naformátovanú disketu (pre jej "
+"vytvorenie\n"
+"pod GNU/Linux systémom použite \n"
+"\"mformat a:\", alebo \"fdformat /dev/fd0\" nasledovaný\"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Vygenerovať auto-inštalačnú disketu"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ak si zvolíte použitie niektorej existujúcej GNU/Linux partície mali by ste "
+"ju\n"
+"v niektorých prípadoch preformátovať a odstrániť údaje ktoré obsahuje. "
+"Vyberte\n"
+"partície ktoré si želáte preformátovať.\n"
+"\n"
+"Uvedomte si, že nie je nutné opätovne formátovať všetky existujúce oddiely.\n"
+"Určite musíte formátovať oddiely obsahujúce operačný systém (napríklad \"/"
+"\",\n"
+"\"/usr\" alebo \"/var\" ), nemusíte ale formátovať oddiely obsahujúce "
+"údaje, ktoré\n"
+"chcete zachovať (typicky \"/home\")\n"
+"\n"
+"Pri voľbe oddielov na formátovanie buďte opatrní. Po naformátovaní budú\n"
+"všetky údaje na zvolených oddieloch zmazané a nebude žiadna možnosť\n"
+"ako ich obnoviť\n"
+"\n"
+"Kliknite na \"%s\" ak ste pripravený formátovať vybrané oddiely.\n"
+"\n"
+"Kliknite na \"%s\" ak si chcete zvoliť iné oddiely pre inštaláciu vášho\n"
+"nového Mandriva Linux systému.\n"
+"\n"
+"Kliknite na \"%s\" ak si chcete vybrať oddiely, ktoré budú kontrolované\n"
+"na prítomnosť chybných blokov na disku."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Po nainštalovaní Mandriva Linux systému je pravdepodobné, že niektoré\n"
+"balíky ktoré sa nachádzali v distribúcii, nezodpovedajú ich aktuálnym\n"
+"verziám. Môžu v nich byť opravené chyby alebo bezpečnostné nedostatky.\n"
+"Aby ste mohli tieto opravy aplikovať, budete si ich teraz môcť stiahnuť\n"
+"z Internetu. Vyberte \"%s\" ak máte fungujúce pripojenie k Internetu, alebo\n"
+"\"%s\" ak chcete opravy aplikovať neskôr.\n"
+"\n"
+"Zvolením \"%s\" sa zobrazí zoznam miest z ktorých je možné získať opravy.\n"
+"Vyberte si vám najbližšie a zobrazí sa vám výber balíkov: prezrite si výber\n"
+"a kliknite na \"%s\" pre získanie a inštaláciu vybraných balíkov, alebo si "
+"vyberte\n"
+"\"%s\" pre zrušenie."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Na tomto mieste vám DrakX umožňuje nastaviť bezpečnostnú úroveň pre\n"
+"tento počítač. Ako pomôcku môžete použiť pravidlo, že čím dôležitejšie\n"
+"údaje váš systém obsahuje alebo ak bude pripojený do Internetu, tým vyššia\n"
+"úroveň by mala byť zvolená. Treba si uvedomiť, že so zvyšovaním "
+"bezpečnostnej\n"
+"úrovne sa znižuje pohodlie používania.\n"
+"\n"
+"Ak si neviete vybrať, ponechajte štandardné nastavenie.Budete ju však\n"
+"mať možnosť zmeniť pomocou programu drakcec, ktorý je súčasťou\n"
+"Kontrolného Centra Mandriva Linuxu\n"
+"\n"
+"Do políčka \"%s\" zadajte e-mailovú adresu osoby zodpovednej za\n"
+"bezpečnosť vášho PC. Na túto adresu budú zasielané\n"
+"bezpečnostné upozornenia. "
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Bezpečnostný administrátor"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Na tomto mieste je potrebné aby ste si vybrali oblasti, ktoré budú použité\n"
+"na inštaláciu Mandriva Linuxu. Ak už boli oddiely definované,\n"
+"napríklad pri predchádzajúcej inštalácii GNU/Linux-u alebo iným nástrojom\n"
+"pre správu oblastí, môžete použiť už existujúce oblasti. Inak musia byť\n"
+"oblasti teraz definované.\n"
+"\n"
+"Pre vytvorenie oddielu si najprv musíte vybrať pevný disk. To dosiahnete\n"
+"kliknutím na ``hda'' pre prvý IDE disk, ``hdb'' pre druhý, ``sda'' je prvý "
+"SCSI\n"
+"disk a podobne.\n"
+"\n"
+"Pri rozdeľovaní vybraného disku je možné použiť tieto možnosti:\n"
+"\n"
+" * \"%s\": táto voľba vymaže všetky oblasti na vybranom pevnom\n"
+"disku\n"
+"\n"
+" * \"%s\": táto voľba umožní automatické vytvorenie ext3\n"
+"a swap oblasti na voľnom mieste vášho disku\n"
+"\n"
+" * \"%s\": získate prístup k rozšíreným možnostiam:\n"
+"\n"
+" * \"%s\": uložiť tabuľku rozdelenia na disketu.\n"
+"Vhodné pre neskoršiu obnovu tabuľky, ak to bude potrebné. Je veľmi\n"
+"odporúčané aby ste absolvovali tento krok.\n"
+"\n"
+" * \"%s\": umožňuje obnoviť predtým uloženú tabuľku\n"
+"z diskety.\n"
+"\n"
+" * \"%s\": ak je vaša tabuľka rozdelenia disku zničená,\n"
+"môžete sa pokúsiť zachrániť ju použitím tejto možnosti. Buďte opatrní a "
+"pamätajte si, že\n"
+"sa to nemusí podariť.\n"
+"\n"
+" * \"%s\": zrušiť všetky zmeny a načítať znova pôvodnú tabuľku rozdelenia\n"
+"disku.\n"
+"\n"
+" * \"%s\": odznačením tejto možnosti prinútite používateľov k manuálnemu\n"
+"pripájaniu a odpájaniu vymeniteľných médií ako napríklad diskety alebo CD-"
+"ROM\n"
+"médiá.\n"
+"\n"
+" * \"%s\": použite toto nastavenie ak si želáte použiť sprievodcu pre "
+"rozdelenie\n"
+"Vášho disku. Táto možnosť je doporučená ak nemáte dobré znalosti o "
+"rozdeľovaní\n"
+"pevného disku.\n"
+"\n"
+" * \"%s\": použite túto možnosť pre zrušenie vašich zmien.\n"
+"\n"
+" * \"%s\": umožňuje uskutočniť ďalšie akcie na oblastiach (typ, voľby, "
+"formátovanie)\n"
+"pričom sú vypisované podrobnejšie informácie.\n"
+"\n"
+" * \"%s\": ak ste skončili s rozdeľovaním vášho pevného disku, táto voľba\n"
+"uloží vaše zmeny na disk.\n"
+"\n"
+"Ak ste definovali veľkosť partícií, môžete ešte donastaviť veľkosť týchto "
+"partícií\n"
+"pomocou šípiek na klávesnici.\n"
+"\n"
+"Poznámka: je možné dosiahnuť všetky voľby a nastavenia pomocou klávesnice. "
+"Výber\n"
+"oblastí za použitia [Tab] a [Hore/Dole] šípiek.\n"
+"\n"
+"Ak je oblasť vybraná, je možné použiť:\n"
+"\n"
+" * Ctrl-c pre vytvorenie novej oblasti (ak je vybraná prázdna oblasť)\n"
+"\n"
+" * Ctrl-d pre zrušenie oblasti\n"
+"\n"
+" * Ctrl-m pre nastavenie bodu pripojenia\n"
+"\n"
+"Pre získanie informácií o iných súborových systémoch, ktoré sú dostupné, "
+"prečítajte\n"
+"si ext2FS kapitolu z ``Referenčnej príručky''.\n"
+"\n"
+"Ak prevádzate inštaláciu na PPC hardvéri, budete zrejme chcieť vytvoriť malý "
+"HFS\n"
+"``bootstrap'' oddiel veľký aspoň 1MB, ktorý bude môcť používať yaboot\n"
+"zavádzač. Ak sa rozhodnete vytvoriť tento oddiel väčší, povedzme 50MB, môže\n"
+"to byť vhodné miesto pre uloženie jadra a obrazov ramdisku pre výnimočné\n"
+"situácie, ktoré môžu nastať."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatické pripájanie vymeniteľného média"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Prepnúť medzi normálnym/expertným režimom"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Bol nájdený viac ako jeden Microsoft oddiel na vašom pevnom disku.\n"
+"Vyberte si prosím jeden, ktorý chcete nastaviť pre inštaláciu vášho\n"
+"nového Mandriva Linux operačného systému.\n"
+"\n"
+"Všetky oddiely sú zobrazené nasledovne: \"Linux meno\", \"Windows meno\",\n"
+"\"Kapacita\".\n"
+"\n"
+"\"Linux meno\" sa skladá z: \"typ pevného disku\", \"jeho čísla\",\n"
+"\"čísla oddielu\" (napríklad, \"/dev/hda1\").\n"
+"\n"
+"\"Typ pevného disku\" je \"hd\" ak je váš disk IDE a ako \"sd\" v prípade,\n"
+"že to SCSI pevný disk.\n"
+"\n"
+"\"Číslo pevného disku\" je vždy písmeno za \"hd\" alebo \"sd\". Pri IDE\n"
+"diskoch:\n"
+"\n"
+" * \"a\" znamená \"master pevný disk na primárnom IDE radiči\";\n"
+"\n"
+" * \"b\" znamená \"slave pevný disk na primárnom IDE radiči\";\n"
+"\n"
+" * \"c\" znamená \"master pevný disk na sekundárnom IDE radiči\";\n"
+"\n"
+" * \"d\" znamená \"slave pevný disk na sekundárnom IDE radiči\";\n"
+"\n"
+"U SCSI diskov \"a\" znamená \"najnižšie SCSI ID\", \"b\" znamená\n"
+"\"druhé najnižšie SCSI ID\" a tak ďalej.\n"
+"\n"
+"\"Windows meno\" je písmenné označenie vášho pevného disku pod\n"
+"systémom Windows (prvý disk alebo oddiel sa volá \"C:\"."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": skontrolujte aktuálne nastavenie krajiny. Ak sa nenachádzate\n"
+"v tejto krajine, kliknite na tlačidlo \"%s\"a vyberte si inú. Ak nie je "
+"vaša\n"
+"krajina zozbrazená v tomto zozname, kliknite na tlačidlo \"%s\" pre\n"
+"získanie kompletného zoznamu."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Tento krok sa aktivuje iba vtedy, ak sú na vašom systéme nájdené staršie\n"
+"GNU/Linux oddiely.\n"
+"\n"
+"DrakX teraz potrebuje vedieť či si želáte vykonať novú inštaláciu alebo "
+"aktualizáciu\n"
+"existujúceho Mandriva Linux systému:\n"
+"\n"
+" * \"%s\": Pomocou tejto voľby môžete kompletne zrušiť váš predchádzajúci\n"
+"operačný systém. Ak si želáte zmeniť rozloženie oddielov na vašich diskoch "
+"alebo zmeniť\n"
+"súborový systém, mali by ste použiť túto voľbu. V závislosti od vášho "
+"predchádzajúceho\n"
+"rozdelenia oblastí je možné predísť prepísaniu niektorých už existujúcich "
+"údajov.\n"
+"\n"
+" * \"%s\": táto trieda inštalácie vám umožňuje aktualizovať balíky, ktoré\n"
+"sú momentálne nainštalované vo vašom Mandriva Linux systéme. Aktuálne\n"
+"rozdelenie oddielov a používateľské údaje nebudú prepísané. Mnohé ostatné "
+"kroky\n"
+"inštalácie ostanú dostupné, podobne ako pri štandardnej inštalácii.\n"
+"\n"
+"Použitie voľby ``Aktualizácia'' by malo fungovať správne pre systémy\n"
+"Mandriva Linux \"8.1\" a novšie. Vykonanie Aktualizácie pre staršie verzie "
+"ako\n"
+"\"8.1\" nie je odporúčané.\""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"V závislosti na vybranom jazyku () DrakX automaticky vybral vhodný\n"
+"typ klávesnice. Je ale možné, že nechcete mať nastavenú klávesnicu,\n"
+"ktorá presne korešponduje s jazykom:\n"
+"napríklad, ak hovoríte po slovensky, nemusí to automaticky znamenať, že\n"
+"chcete mať nastavenú slovenskú klávesnicu a naopak, ak chcete mať\n"
+"nastavenú slovenskú klávesnicu, nemusí to znamenať že hovoríte po\n"
+"slovensky. V takomto prípade vám tento krok umožní vybrať si vami\n"
+"požadovaný typ klávesnice zo zoznamu.\n"
+"\n"
+"Kliknite na tlačidlo \"%s\" čo bude mať za následok výpis kompletného\n"
+"zoznamu podporovaných klávesníc.\n"
+"\n"
+"Ak si vyberiete klávesnicovú mapu, ktorá obsahuje ne-latinkové znaky,\n"
+"potom ďalší krok vám umožní vybrať si kombináciu kláves, pomocou\n"
+"ktorej si budete môcť prepínať medzi latin a ne-latin mapou."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Prvým korokom je výber preferovaného jazyka\n"
+"\n"
+"Výber preferovaného jazyka ovplyvňuje dokumentáciu, jazyk inštalačného "
+"programu\n"
+"a všetkých ostatných programov. V prvom kroku si vyberiete región, kde "
+"žijete,\n"
+"a potom jazyk, ktorým hovoríte.\n"
+"\n"
+"Tlačidlo \"%s\" umožňuje zvoliť )ďalšie jazyky, ktoré budú tiež\n"
+"nainštalované a môžete je použiť v systéme. Výberom ďalších jazykov "
+"nainštalujete\n"
+"súbory s aplikáciami a dokumentáciou špecifické pre tieto jazyky. Ak "
+"napríklad\n"
+"na počítači pracujú Španieli, vyberte angličtinu ako hlavnú\n"
+"a pod tlačidlom rozšírené zaškrtnite voľbu \"%s\".\n"
+"\n"
+"Podpora UTF-8 (unicode): Unicode je nové kódovanie znakov, ktoré obsahuje\n"
+"všetky známe jazyky. Plná podpora v GNU/Linuxe je stále vo vývoji.\n"
+"Z tohto dôvodu bude alebo nebude v systéme použitá podľa voľby používateľa:\n"
+"\n"
+" * Ak vyberiete jazyk s jasne daným kódovaním (latin1, Ruština, Japonština\n"
+"Čínština, Korejština, Thajština, Gréčtina, Turečtina, väčšina jazykov "
+"používajúcich kódovanie\n"
+"iso-8859-2), bude implicitne použité staré kódovanie;\n"
+"\n"
+" * Ostatné jazyky používajú implicitne Unicode.\n"
+" * Ak potrebujete dva alebo viac jazykov a tieto jazyky nepoužívajú "
+"rovnaké \n"
+"kódovanie, bude pre celý systém použité kódanie unicode;\n"
+"\n"
+" * Ak používateľ vyberie voľbu \"%s\", bude použité kódovanie unicode "
+"nezávisle\n"
+"na výberu jazykov pre celý systém.\n"
+"\n"
+"Pri výbere jazyka nie ste obmedzení iba na jeden ďalší. Môžete si ich vybrať "
+"viac alebo dokonca nainštalovať všetky vybraním voľby \"%s\".\n"
+"Podpora jazyka zahrnňuje inštaláciu lokalizácií programov, fontov, kontrolu "
+"pravopisu, atď. \n"
+"\n"
+"Zmenu rôznych jazykov inštalovaných v systéme možno vykonať pomocou príkazu\n"
+"\"localedrake\" spusteného ako používateľ \"root\". Spustenie pod\n"
+"bežným používateľom spôsobí zmenu nastavenia iba pre daného používateľa."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Španielsky"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Aplikácia DrakX zvyčajne zistí počet tlačidiel na vašej mysi. Ak nie, "
+"predpokladá,\n"
+"že máte dvojtlačidlovú myš a nastaví emuláciu pre tretie tlačidlo. \n"
+"Emulácia tretieho tlačidla sa vykonáva súčasným stlačením ľavého i pravého\n"
+"tlačidla. Aplikácia tiež dokáže rozpoznať, či sa jedná o myšPS/2, USB\n"
+"alebo sériovú.\n"
+"\n"
+"Ak máte trojtlačidlovú myš bez kolieska, môžete si vybrať typ myši \"%s\".\n"
+"Inštalačný program potom nataví emuláciu tak, že sa posun kolieskom "
+"simuluje\n"
+"stlačením prostredného tlačidla a posúvaním myši hore a dole.\n"
+"\n"
+"Ak chcete zadať iný typ myši, vyberte ju zo zoznamu.\n"
+"\n"
+"Tiež môžete vybrať položku \"%s\", ktorou zvolíte \"všeobecný\" typ myši,\n"
+"ktorý by mal pracovať správne s takmer kažou myšou.\n"
+"\n"
+"Ak vyberiete inú myš než tú, ktorá bola detegovaná, zobrazí sa testovacia\n"
+"obrazovka. Na nej otestujte tlačidlá i koliesko a overte, či je nastavenie\n"
+"správne. Ak myš nepracuje správne, stlačte medzerník a vyberte iný typ "
+"myši.\n"
+"\n"
+"Myši s kolieskom nie sú v niektorých prípadoch automaticky rozpoznané. "
+"Budete\n"
+"ju musieť vybrať zo zoznamu. Uistite sa, že vyberiete myš správneho typu\n"
+"portu, ku ktorému je pripojená. Potom, čo stlačíte tlačidlo \"%s\", \n"
+"zobrazí sa obrázok s myšou. Posunujte kolieskom, aby se správne aktivovalo; "
+"koliesko\n"
+"na obrazovcke by sa malo pohybovať. Potom overte tlačidlá a či sa myš "
+"pohybuje\n"
+"na obrazovke správne."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "s emuláciou kolieska"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Ktorákoľvek PS/2 a USB myš"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Prosím zvoľte správny port. Napríklad COM1 pod MS Windows sa v\n"
+"GNU/Linux nazýva ttyS0."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Toto je veľmi dôležité rozhodnutie zamerané na bezpečnosť vášho GNU/Linux\n"
+"systému: musíte zadať heslo pre používateľa \"root\"-a. Je to systémový "
+"administrátor\n"
+"a ako jediný má oprávnenie vykonávať aktualizácie, pridávať používateľov,\n"
+"meniť nastavenie celého systému a podobne. V skratke sa dá povedať, že \"root"
+"\"\n"
+"môže všetko! Toto je dôvod, prečo si musíte zvoliť heslo tak, aby ho nebolo\n"
+"jednoduché uhádnuť - DrakX vám to povie, ak je príliš jednoduché. Ako "
+"vidíte,\n"
+"môžete sa rozhodnúť nezadať žiadne heslo, ale chceli by sme vás pred tým\n"
+"varovať z jedného dôvodu: nemyslite si, že vaše ostatné nainštalované "
+"operačné\n"
+"systémy sú chránené pred omylmi len preto, že máte spustený operačný systém\n"
+"GNU/Linux. Pretože na \"root\"-a sa nevzťahujú žiadne obmedzenia a je mu\n"
+"umožnené dokonca vymazať všetky údaje na všetkých dostupných oblastiach,\n"
+"je veľmi dôležité aby nebolo príliš jednoduché sa stať \"root\"-om.\n"
+"\n"
+"Toto heslo by malo byť kombináciou alfanumerických znakov a byť aspoň 8\n"
+"znakov dlhé. Nikdy nezadávajte ako heslo \"root\", bolo by ho veľmi "
+"jednoduché\n"
+"uhádnuť a kompromitovať tak systém.\n"
+"\n"
+"V každom prípade, netvorte si heslo príliš dlhé alebo príliš komplikované, "
+"aby ste\n"
+"si ho dokázali zapamätať bez toho aby ste ho mali niekde napísané.\n"
+"\n"
+"Heslo sa počas jeho zadávania nezobrazuje na obrazovke. Budete vyzvaní k "
+"tomu\n"
+"aby ste ho zadali dva krát, aby sa predišlo problémom pri omyle alebo "
+"preklepe. Ak\n"
+"sa vám ale podarí zadať dva krát po sebe heslo s rovnakou chybou, bude toto "
+"``chybné''\n"
+"heslo nastavené!\n"
+"\n"
+"Ak chcete kontrolovať prístup k tomuto počítaču pomocou autorizačného "
+"servera\n"
+"kliknite na tlačidlo \"%s\".\n"
+"\n"
+"Ak vaša sieť používa LDAP, NIS alebo PDC vrámci Windows domény pre "
+"autentikáciu,\n"
+"vyberte si požadované ako \"%s\". Ak neviete na túto otázku odpovedať\n"
+"opýtajte sa vášho sieťového administrátora.\n"
+"\n"
+"Ak máte problém zapamätať si vaše heslo a váš počítač nie je pripojený k "
+"Internetu\n"
+"alebo ak dôverujete každému, kto má k počítaču prístup môžte si zvoliť "
+"nastavenie\n"
+"\"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentifikácia"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Zavádzač operačného systému je program ktorý spustí počítač počas "
+"štartovania.\n"
+"Je zodpovedný za spustenie operačného systému. Obyčajne je inštalácia\n"
+"zavádzača plne automatická. DrakX zanalyzuje zavádzací sektor na disku\n"
+"a podľa nájdeného vykoná niektorú z nasledovných akcií.\n"
+"\n"
+"* ak je nájdený Windows zavádzač, bude nahradený GRUB/LILOm. Takto\n"
+"budete mať možnosť spustiť GNU/Linux alebo iný operačný systém.\n"
+"\n"
+" * ak bude nájdený GRUB alebo LILO zavádzač, bude nahradený novým.\n"
+"\n"
+"Ak sa DrakX nebnude vedieť rozhodnúť kam umiestniť zavádzací sektor opýta\n"
+"sa vás, kam si želáte ho umiestniť. Obyčajne je \"%s\" bezpečné miesto\n"
+"pre jeho umiestnenie.\n"
+"Výberom \"%s\" nebude nainštalovaný žiaden zavádzač. Túto voľbu použite iba\n"
+"ak naozaj viete čo robíte."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Teraz nastal čas výberu tlačového systému pre váš počítač. Iné operačné\n"
+"systémy vám poskytujú zvyčajne iba jediný, Mandriva Linux vám poskytuje "
+"dva.\n"
+"Kazdý z nich je vhodný pre iný typ konfigurácie.\n"
+"\n"
+" * \"%s\" - čo znamená ``tlačiť, neukladať do fronty'', je vhodný výber ak\n"
+"máte priamo pripojenú tlačiareň k vášmu počítaču a chcete sa vyhnúť\n"
+"problémom so zaseknutým papierom v tlačiarni a nechcete mať sieťovú "
+"tlačiareň.\n"
+"(\"%s\" môže fungovať aj v malom sieťovom prostredí). Je odporučené použiť\n"
+"\"pdq\" ak nemáte skúsenosti s GNU/Linux systémom.\n"
+"\n"
+" * \"%s\" - ``Common Unix Print System'' je vynikajúci výber pre tlačenie\n"
+"na vašu lokálnu tlačiareň ako aj na sieťovú tlačiareň a rovnako aj pri "
+"poskytovaní\n"
+"tlačiarne v sieti. Je jednoduchý a dokáže fungovať ako server tak aj klient "
+"pre\n"
+"starší tlačový systém \"lpd\", ktorý je kompatibilný so staršími operačnými\n"
+"systémami, ktoré stále môžu vyžadovať tlačové služby. Základné nastavenie\n"
+"je tak isto jednoduché ako v prípade \"pdq\". Ak potrebujete emulovať \"ldp"
+"\"\n"
+"server budete musieť spustiť \"cups-lpd\" démona. \"%s\" obsahuje grafické\n"
+"nástroje na tlačenie, pre výber tlačiarní alebo ich manažovanie.\n"
+"\n"
+"Ak neskôr budete chciet svoju voľbu zmeniť alebo budete chcieť odstrániť\n"
+"tlačový systém môžete tak spraviť za pomoci PrinterDrake z Mandriva Linux\n"
+"Kontrolného centra kliknutím na tlačidlo \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sa najprv pokúsi vyhľadať IDE zariadenia vo vašom počítači. Je možné\n"
+"tiež vyhľadať PCI SCSI karty vo vašom systéme. Ak bude nájdená SCSI karta,\n"
+"DrakX automaticky nainštaluje adekvátny ovládač.\n"
+"\n"
+"Pretože detekcia hardvéru nemusí nájsť všetky zariadenia, DrakX môže\n"
+"zlyhať pri detekovaní pevného disku. Ak áno, budete musieť špecifikovať\n"
+"Váš hardvér ručne.\n"
+"\n"
+"Ak ste špecifikovali váš PCI SCSI radič ručne, DrakX sa vás opýta či chcete\n"
+"preň špecifikovať nastavenia. DrakX bude potrebovať vyskúšať aj\n"
+"špecifické nastavenia potrebné pre inicializáciu hardvéru. Obvykle DrakX\n"
+"dokáže vykonať tento krok bez problémov.\n"
+"\n"
+"Ak DrakX nebude môcť vyskúšať nastavenia pre automatické rozpoznanie\n"
+"parametrov, ktoré sú požadované, budete musieť zadať tieto nastavenia pre "
+"ovádač ručne."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": ak bola nájdená vo vašom systéme zvuková karta, bude tu\n"
+"zobrazená. Ak si myslíte, že to nie je karta, ktorá sa nachádza vo vašom\n"
+"systéme, môžete kliknúť na tlačidlo a vybrať si iný ovládač."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Na ukážku vám DrakX zobrazí súhrn rôznych informácií o vašom systéme.\n"
+"V závislosti od nainštalovaného hardvéru môžete vidieť niektoré alebo "
+"všetky\n"
+"nasledovné položky. Každá položka je tvorená konfiguračnou položkou pre\n"
+"konfiguráciu spolu s krátkym popisom aktuálnej konfigurácie.\n"
+"Kliknutím na tlačidlo \"%s\" ju môžte zmeniť.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie klávesovej mapy a zmeňte\n"
+"ju ak je to potrebné.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie krajiny. Ak sa\n"
+"nenachádzate v tejto krajine, kliknite na tlačidlo \"%s\" a zvoľte\n"
+"si inú. Ak vaša krajina nie je zobrazená v zozname, kliknite na tlačidlo\n"
+"\"%s\" pre získanie kompletného zoznamu krajín.\n"
+"\n"
+" * \"%s\": DrakX sa štandardne snaží určiť správnu časovú zónu\n"
+"v závislosti na tom akú krajinu ste si zvolili. Môžete kliknúť na tlačidlo\n"
+"\"%s\" ak nie je nastavená správne.\n"
+"\n"
+" * \"%s\": skontrolujte aktuálne nastavenie myši a kliknite na\n"
+"tlačidlo ak potrebujete vykonať zmenu.\n"
+"\n"
+" * \"%s\": kliknutím na tlačidlo \"%s\" sa spustí sprievodca nastavením\n"
+"tlačiarne. Prezrite si zodpovedajúcu kapitolu v ``Úvodnej príručke'' pre "
+"ďalšie\n"
+"informácie ohľadom inštalácie a konfigurácie tlačiarne. Rozhranie, pomocou\n"
+"ktorého nastavenie prebieha, je podobné ako počas inštalácie.\n"
+"\n"
+" * \"%s\": ak je vo vašom počítači nájdená zvuková karta,\n"
+"bude zobrazená na tomto mieste. Ak nie je zobrazená karta tou, ktorú máte\n"
+"nainštalovanú v počítači, kliknite na tlačidlo a vyberte si iný\n"
+"ovládač.\n"
+"\n"
+" * \"%s\": ak je vo vašom počítači nájdená TV karta, bude na tomto\n"
+"mieste zobrazená. Ak máte TV kartu a nebola nájdená, kliknite na tlačidlo\n"
+"\"%s\" a pokúste sa ju nastaviť ručne.\n"
+"\n"
+" * \"%s\": môžete kliknúť na \"%s\" pre zmenu nastavení v súvislosti\n"
+"s kartou ak máte pocit, že nastavenie nie je správne.\n"
+"\n"
+" * \"%s\": štandardne DrakX nastaví vaše grafické rozhranie v rozlíšení\n"
+"\"800x600\" alebo \"1024x768. Ak vám to nevyhovuje, kliknite na tlačidlo\n"
+"\"%s\" pre úpravu tohto nastavenia.\n"
+"\n"
+" * \"%s\": ak si teraz želáte nastaviť vaše Internetové pripojenie\n"
+"alebo prístup do lokálnej siete. Prezrite si tlačenú dokumentáciu alebo "
+"použite\n"
+"Kontrolné centrum Mandriva Linux ak už bude inštalácia ukončená aby ste "
+"mali\n"
+"prístup k dokumentácii.\n"
+" * \"%s\": vám umožní nastaviť HTTP alebo FTP proxy ak je počítač\n"
+"umiestnený za proxy serverom.\n"
+"\n"
+" * \"%s\": táto položka vám umožňuje zmeniť bezpečnostnú\n"
+"úroveň ak bola nastavená predchádzajúcom kroku.\n"
+"\n"
+" * \"%s\": ak plánujete pripojiť váš počítač k Internetu, je\n"
+"dobrým nápadom zabezpečiť ho pred prienikmi nastavením firewallu.\n"
+"Prezrite si zodpovedajúcu kapitolu v ``Úvodnej príručke'' pre detaily o tom\n"
+"ako nastaviť firewall.\n"
+"\n"
+" * \"%s\": ak si želáte zmeniť konfiguráciu zavádzača, kliknite na toto\n"
+"tlačidlo. Táto možnosť je rezervovaná pre skúsených používateľov. Prezrite\n"
+"si tlačenú dokumentáciu alebo internú dokumentáciu vrámci Kontrolného\n"
+"centra Mandriva Linux.\n"
+"\n"
+" * \"%s\": máte možnosť definitívne nastaviť služby, ktoré budú\n"
+"spúšťané na vašom počítači. Ak plánujete používať tento počítač ako\n"
+"server, je dobrý nápad prezrieť si tieto nastavenia."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafické rozhranie"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Vyberte si pevný disk, ktorý chcete vymazať aby ste mohli vytvoriť\n"
+"nový oddiel pre Mandriva Linux. Buďte opatrní, všetky údaje ktoré sa\n"
+"na disku nachádzajú budú odstránené a nebude možné ich obnoviť!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Kliknite na \"%s\" ak si želáte vymazať všetky údaje a oblasti ktoré\n"
+"sa nachádzajú na vašom pevnom disku. Buďte opatrní, po kliknutí na\n"
+"\"%s\" nebudete mať už možnosť obnoviť údaje na oddieloch, ktoré boli\n"
+"predtým na vašom disku, vrátane Windows údajov.\n"
+"\n"
+"Kliknite na \"%s\" pre zrušenie tejto operácie bez straty údajov\n"
+"a oddielov, ktoré sa momentálne nachádzajú na vašom pevnom disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Ďalej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Späť"
+
diff --git a/perl-install/install/help/po/sl.po b/perl-install/install/help/po/sl.po
new file mode 100644
index 000000000..132477e67
--- /dev/null
+++ b/perl-install/install/help/po/sl.po
@@ -0,0 +1,1914 @@
+# translation of DrakX.po to Slovenian
+# translation of DrakX-sl.po to Slovenian
+# translation of DrakX-sl.po to Slovenščina
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+# Matjaž Kaše <matjaz.kase@g-kabel.si>, 2004.
+# Aljoša Ločičnik <aljosa.locicnik@mandrakeprinas.org>, 2005.
+# Gregor Pirnaver <gregor.pirnaver@sdm-si.org>, 2002,2004,2005.
+# Jure Repinc <jlp@holodeck1.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-20 07:29+0200\n"
+"Last-Translator: Gregor Pirnaver <gregor.pirnaver@sdm-si.org>\n"
+"Language-Team: <sl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
+"n%100==4 ? 2 : 3);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Preden nadaljujete, pozorno preberite pogoje licenčne pogodbe,\n"
+"ki se nanaša na celotno distribucijo Mandriva Linux. Če se strinjate z "
+"vsemi\n"
+"pogoji licenčne pogodbe, označite okence »%s«. Če se s pogoji pogodbe\n"
+"ne strinjate, pa označite okence »%s« in vaš računalnik se bo ponovno zagnal."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je večuporabniški sistem, kar pomeni, da ima lahko vsak\n"
+"uporabnik svoje nastavitve, svoje datoteke itd. Več o tem si lahko\n"
+" preberete v dokumentaciji. Razen sistemskega, »root« upravitelja,\n"
+"uporabniki, ki jih boste dodali, ne bodo imeli dovoljenj, ki so potrebna za\n"
+"spreminjanje tistih datotek in nastavitev, ki vplivajo na celoten sistem.\n"
+"Tako je sistem zaščiten pred nenamernimi ali zlonamernimi spremembami.\n"
+"Dodati morate vsaj enega navadnega uporabnika. Tako boste ustvarili\n"
+"svoj uporabniški račun, ki ga boste uporabljali za vsakdanje delo z\n"
+"računalnikom. Čeprav se je v sistem kot sistemski upravitelj zelo lahko\n"
+"prijaviti, vam to odsvetujemo, saj že najmanjša napaka lahko povzroči, da\n"
+"sistem preneha delovati. Če pa napravite resno napako kot navaden "
+"uporabnik,\n"
+"je najhuje, kar se vam lahko zgodi, da izbrišete kakšne podatke,\n"
+"ne morete pa vplivati na celoten sistem.\n"
+"\n"
+"V prvo vnosno polje lahko, če to želite, vpišete svoje pravo ime.\n"
+"Vpis pravega imena seveda ni obvezen; lahko vpišete poljubno ime.\n"
+"Prvo besedo, ki jo boste vpisali, bo program DrakX uporabil kot uporabniško "
+"ime\n"
+"in jo prepisal v polje »%s« kot ime, s katerim se boste prijavljali\n"
+"v sistem. Če želite, lahko uporabniško ime spremenite. V naslednje polje "
+"vnesite\n"
+"geslo. S stališča varnosti geslo navadnega uporabnika ni tako pomembno, kot "
+"geslo\n"
+"upravitelja sistema, zato to polje lahko pustite prazno. Vendar vam "
+"priporočamo,\n"
+"da geslo določite in tako zaščitite svoje datoteke in podatke.\n"
+"\n"
+"Ko klilnete »%s«, lahko dodate tudi druge navadne uporabnike.\n"
+"Posebene uporabniške račune lahko ustvarite za svoje prijatelje\n"
+"in za člane svoje družine.\n"
+"\n"
+"Ko boste dokončali z dodajanjem uporabniških računov, kliknite »%s«.\n"
+"\n"
+"S klikom na »%s« lahko spremenite »lupino« (shell) za posameznega\n"
+"uporabnika. Privzeta lupina je »bash«.\n"
+"\n"
+"Ko boste končali z dodajanjem uporabnikov, boste imeli možnost,\n"
+" da izberete uporabnika, za katerega želite, da se ob zagonu samodejno\n"
+"prijavi v sistem. Če želite uporabiti to možnost, izberite uporabnika in\n"
+"namizno okolje ter kliknite »%s«. Če te možnosti ne želite izbrati,\n"
+"odstranite oznako iz okenca »%s«."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Želite uporabiti to možnost?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Na seznamu so razdelki za Linux, ki jih je čarovnik zaznal na vašem\n"
+"trdem disku. Lahko obdržite nastavitve, ki jih je izbral čarovnik, saj so\n"
+"primerne za večino običajnih namestitev. Če boste te nastavitve "
+"spreminjali,\n"
+"morate določiti vsaj korenski razdelek (»/«). Razdelek naj ne bo premajhen,\n"
+"da boste lahko namestili dovolj programja. Če želite svoje podatke shraniti\n"
+" na poseben razdelek, ustvarite tudi domači razdelek »/home«.\n"
+"(To je mogoče samo, če imate na disku več razdelkov za Linux.)\n"
+"\n"
+"Vsak razdelek je predstavljen na naslednji način: »Ime«, »Zmogljivost«.\n"
+"\n"
+"»Ime« sestavljajo: »Vrsta trdega diska«, »Številka trdega diska«,\n"
+"»Številka razdelka« (n.pr. »hda1«.\n"
+"\n"
+"»Vrsta trdega diska« je »hd«, če gre za IDE disk in »sd«, če gre za\n"
+"SCSI disk\n"
+"\n"
+"»Številka trdega diska« je vedno črka, ki sledi oznaki »hd« ali »sd«.\n"
+"Za IDE trdi disk:\n"
+" * »a« pomeni »glavni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »b« pomeni »suženjski trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »c« pomeni »glavni trdi disk na sekundarnem IDE vodilu«\n"
+"\n"
+" * »d« pomeni »suženjski trdi disk na sekundarnem IDE vodilu«\n"
+"\n"
+"Pri SCSI trdih diskih pomeni »a« »najnižji SCSI ID«, »b«\n"
+"»drugi najnižji SCSI ID« itd."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Namestitev za Mandriva Linux je shranjena na več zgoščenkah.\n"
+"Če je izbrani paket shranjen na drugi zgoščeniki, bo DrakX izvrgel\n"
+"trenutno in vas pozval, da v pogon vstavite pravo zgoščenko.\n"
+"če prave zgoščenke nimate, kliknite »%s« in željeni paketi ne\n"
+"bodo nameščeni."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Za Mandriva Linux je dostopnih na tisoče različnih programskih paketov.\n"
+"Da bi bilo upravljanje s paketi bolj preprosto, so razvrščeni v skupine\n"
+"vsebinsko povezanih paketov.\n"
+"\n"
+"Skupine paketov so razvrščene v štiri kategorije, ki ustrezajo različnim \n"
+"načinom uporabe\n"
+"računalnika. Pakete iz različnih kategorij lahko poljubno dodajate ali \n"
+"odstranjujete,\n"
+"tako da namestitev kategorije »Delovna postaja« lahko vsebuje tudi pakete\n"
+" iz kategorije\n"
+"»Razvoj«.\n"
+"\n"
+" * »%s« : Če nameravate računalnik uporabljati predvsem kot delovno \n"
+"postajo,\n"
+"izberite eno ali več skupin iz te kategorije.\n"
+"\n"
+" * »%s« : Če boste računalnik uporabljali za programiranje, izberite\n"
+" ustrezne\n"
+"skupine paketov iz te kategorije.\n"
+"\n"
+" Če boste izbrali skupino »LSB«, bo namesto privzetega jedra iz\n"
+"serije »2.6« nameščeno jedro iz serije »2.4«.\n"
+"\n"
+" * »%s« : Če bo vaš računalnik služil za strežnik, izberite storitve, ki \n"
+"jih želite namestiti.\n"
+"\n"
+" * »%s« : Tukaj lahko izberete svoje željeno grafično okolje. Če želite,\n"
+" da bo grafični\n"
+"vmesnik dostopen, morate izbrati vsaj eno grafično okolje.\n"
+"\n"
+"Če premaknete miškin kazalec na ime skupine, se bo prikazalo kratko \n"
+"pojasnilo\n"
+"o tej skupini. Če med običajno namestitvijo (ne pa tudi med "
+"posodobitvijo!) \n"
+"izločite\n"
+"vse skupine paketov, se bo odprlo pogovorno okno s predlogi za najmanjšo\n"
+"možno namestitev:\n"
+" * »%s« : Namesti najmanjše število paketov, ki še omogoča uporabo \n"
+"grafičnega namizja.\n"
+" * »%s« : Namesti osnovni sistem in osnovna orodja s pripadajočo \n"
+"dokumentacijo.\n"
+"To je primerna namestitev za postavitev strežnika.\n"
+"\n"
+" * »%s« : Namesti res najmanjše mogoče število paketov, ki so potrebni za \n"
+"delujoč\n"
+"GNU/Linux sistem. Pri tej namestitvi boste kot vmesnik lahko uporabljali \n"
+"samo\n"
+"ukazno vrstico. Celotna velikost te namestitve znaša 65 MB.\n"
+"\n"
+"Če želite imeti popoln nadzor nad izbiro paketov, ki bodo nameščeni, \n"
+"označite\n"
+"okence »%s«. \n"
+"\n"
+"Če ste za vrsto namestitve izbrali »%s«, lahko izločite vse skupine. Tako \n"
+"ne bo\n"
+"na novo nameščen noben paket. Ta način je primeren za nadgrajevanje\n"
+"ali za popravljanje namestitve."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Posodobitev "
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Z osnovno dokumentacijo"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Zares minimalna namestitev"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Če ste določili posamično izbiro paketov,\n"
+"bodo vsi paketi prikazani v drevesnem pregledu in \n"
+"razvrščeni v skupine in podskupine.\n"
+"Izberete lahko namestitev cele skupine, podskupine\n"
+"ali posamezne pakete.\n"
+"\n"
+"Ko izberete posamezen paket, se v levem oknu prikaže\n"
+"njegov opis.\n"
+"\n"
+"!! Če izberete paket ali skupino paketov, ki vsebuje strežnik,\n"
+"boste morali namestitev takšnega paketa na izrecno vprašanje\n"
+"potrditi. Mandriva Linux namreč kot privzeto vključi vse\n"
+" nameščene storitve ob zagonu sistema. Čeprav ob izdaji\n"
+"te različice Mandriva Linuxa ni bilo znanih težav v zvezi z varnostjo,\n"
+"je mogoče, da so bile odkrite varnostne luknje kasneje. Če za \n"
+"določeno storitev ne veste, kaj je njena naloga, kliknite »%s« S klikom\n"
+"na »%s«bodo nameščene naštete storitve, sistem pa jih bo samodejno\n"
+"vključil ob vsakem zagonu.!!\n"
+"\n"
+"Če izberete »%s«, boste onemogočili opozorilno okno, ki se prikaže\n"
+"vsakokrat, ko program za nameščanje samodejno izbere paket za zadovoljitev\n"
+"odvisnosti. Nekateri paketi so med seboj povezani, tako da namestitev\n"
+"enega zahteva tudi namestitev drugih paketov. Program za nameščanje "
+"samodejno\n"
+"določi, katere med seboj odvisne pakete je potrebno namestiti,\n"
+"da bo namestitev uspešna.\n"
+"\n"
+"Drobna ikona z disketo na dnu seznama vam omogoča, da naložite\n"
+"seznam paketov, ki je bil oblikovan ob prejšnji namestitvi. To je koristno\n"
+"zlasti v primeru, da želite na več računalnikih izvesti enako namestitev\n"
+"Če kliknete na to ikono, vas bo program za nameščanje pozval, da v pogon "
+"vstavite\n"
+"disketo, ki ste jo ustvarili ob koncu neke druge namestitve.\n"
+"Oglejte si drugi namig zadnjega koraka o tem, kako ustvariti takšno disketo"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Samodejne odvisnosti"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"»%s«: S klikom na »%s« lahko zaženete čarovnika za nastavljanje "
+"tiskalnikov.\n"
+"V dokumentaciji lahko preberete več o priključitvi in nastavljanju "
+"tiskalnikov.\n"
+"Prikaz nastavljanja tiskalnikov v dokumentaciji je podoben prikazu na "
+"zaslonu\n"
+"med nastavljanjem."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Izberite storitve, ki naj se vključijo ob zagonu računalnika.\n"
+"\n"
+"Pazljivo preglejte vse dostopne storitve in izločite tiste, ki jih ob "
+"zagonu\n"
+"ne potrebujete.\n"
+"\n"
+"Ko izberete posamezno storitev, se prikaže okno s kratkim pojasnilom.\n"
+"Če niste prepričani, kakšno nalogo opravljajo posamezne storitve, bo\n"
+"varneje, če ohranite privzeto nastavitev.\n"
+"\n"
+"!! V primeru, da nameravate svoj računalnik uporabljati kot strežnik,\n"
+"verjetno nočete, da bi se ob zagonu vključila katera od storitev,\n"
+"ki jih ne potrebujete. Mnoge storitve so namreč lahko nevarne,\n"
+"če so omogočene na strežniku. Vsekakor omogočite samo tiste storitve,\n"
+"ki jih resnično potrebujete!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux uporablja za nastavitev časa GMT (Greenwich Mean Time), ki ga \n"
+"lahko prevede v krajevni čas glede na časovni pas, ki ga izberete. Če je\n"
+"čas na vaši matični plošči nastavljen na krajevni čas, lahko to izključite\n"
+" z odstranitvijo oznake »%s«. GNU/Linux bo tako zaznal, da sta ura matične\n"
+"plošče in sistemska ura nastavljeni na isti časovni pas. To je koristno "
+"posebej\n"
+"v primeru, da imate nameščen še kakšen operacijski sistem , na primer "
+"Windows\n"
+"\n"
+"Če omogočite »%s«, bo nastavitev sistemske ure potekala samodejno preko\n"
+"internetne povezave z oddaljenim strežnikom. Da bi ta storitev delovala, "
+"morate\n"
+"imeti vzpostavljeno internetno povezavo. Najbolje je , če izberete strežnik "
+"v vaši\n"
+"bližini. Obenem boste namestili tudi časovni strežnik, s pomočjo katerega "
+"lahko\n"
+"uporabljajo tudi drugi računalniki v krajevnem omrežju."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Samodejno usklajevanje časa"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafična kartica\n"
+"\n"
+" Namestilnik navadno samodejno zazna in nastavi grafično\n"
+"kartico, ki je priključena v računalniku. Če temu ni tako, lahko\n"
+"s seznama izberete pravo kartico.\n"
+"\n"
+" Če vašo grafično kartico podpirajo različni strežniki, takšni s 3D\n"
+"pospeševanjem in takšni brez, izberite strežnik, ki najbolj ustreza\n"
+"vašim potrebam."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (okenski sistem X) je srce grafičnega vmesnika za GNU/Linux\n"
+"na katerega se zanašajo vsa v Mandriva Linux vključena grafična\n"
+"okolja. (KDE, GNOME, AfterStep, WindowMaker ...)\n"
+"\n"
+"Prikazal se vam bo seznam različnih vrednosti, ki jih lahko spreminjate,\n"
+"da dosežete najboljši grafični prikaz.\n"
+"\n"
+"Grafična kartica\n"
+"\n"
+" Program za nameščanje navadno samodejno zazna in nastavi grafično\n"
+"kartico, ki je priključena v računalniku. Če temu ni tako, lahko\n"
+"s seznama izberete pravo kartico.\n"
+"\n"
+" Če vašo grafično kartico podpirajo različni strežniki, takšni s 3D\n"
+"pospeševanjem in takšni brez, izberite strežnik, ki najbolj ustreza\n"
+"vašim potrebam.\n"
+"\n"
+"\n"
+"\n"
+"Zaslon\n"
+" Program za nameščanje navadno samodejno zazna in nastavi zaslon,\n"
+"ki je priključen na računalnik. Če temu ni tako, lahko\n"
+"s seznama izberete pravi zaslon.\n"
+"\n"
+"\n"
+"\n"
+"Ločljivost\n"
+"...Izberite ustrezno ločljivost in barvno globino za vašo strojno opremo.\n"
+"Izberite vrednosti, ki vam najbolj ustrezajo. Te vrednosti boste lahko\n"
+"spreminjali tudi po namestitvi. Primer namestitve je prikazan na sliki\n"
+"zaslona.\n"
+"\n"
+"\n"
+"\n"
+"Preizkus\n"
+"\n"
+" Ali se bo ta vnos pojavil, je odvisno od vaše strojne opreme.\n"
+"\n"
+" Sistem bo skušal odpreti grafični zaslon z željeno ločljivostjo.\n"
+"Če boste med preizkusom videli sporočilo in odgovorili »%s«,\n"
+"bo DrakX nadaljeval k naslednjemu koraku. Če se sporočilo ne bo\n"
+"prikazalo, potem samodejna nastavitev ni pravilna.\n"
+"Po izteku 12 sekund se boste vrnili k nastavitvam. Spreminjajte nastavitve,\n"
+"dokler na zaslonu ne dobite pravilnega prikaza.\n"
+"\n"
+"\n"
+"\n"
+"Izbire\n"
+"\n"
+"Izberite, ali želite, da se grafični vmesnik vključi ob zagonu računalnika.\n"
+"Če tega ne želite, če bo vaš računalnik deloval kot strežnik\n"
+"ali če vam ni uspelo nastaviti zaslona, označite »%s«."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Zaslon\n"
+"\n"
+"...Namestilnik običajno samodejno zazna in nastavi zaslon, ki je\n"
+"priključen na računalnik. Če je samodejna nastavitev napačna, lahko\n"
+"s seznama izberete pravi zaslon."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ločljivost\n"
+"\n"
+"...Izberite ločljivost in barvno globino, ki ustreza vaši strojni opremi.\n"
+"Te nastavitve boste lahko spreminjali tudi po končani namestitvi.\n"
+"Primer izbrane nastavitve je prikazan na sliki zaslona."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Če je za vašo grafično kartico na voljo več strežnikov, takšnih, ki\n"
+"omogočajo 3D pospeševaje in takšnih, ki tega ne omogočajo,\n"
+"izberite strežnik, ki ustreza vašim potrebam."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Izbire\n"
+"\n"
+" Izberite, ali želite, da se grafični vmesnik vključi ob zagonu "
+"računalnika.\n"
+"Če tega ne želite, če bo vaš računalnik deloval kot strežnik\n"
+"ali če vam ni uspelo nastaviti zaslona, označite »%s«."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Določite, na katerem delu trdega diska naj bo nameščen operacijski\n"
+"sistem Mandriva Linux. Če je trdi disk prazen ali če na njem nameščeni\n"
+"operacijski sistem zaseda celoten prostor, boste morali disk razdeliti na\n"
+"posamezne razdelke. Razdeljevanje trdega diska izvede logično\n"
+"razdelitev, ki zagotovi potrebni prostor za namestitev operacijskega\n"
+"sistema Mandriva Linux.\n"
+"\n"
+"Trdega diska po izvršenem razdeljevanju običajno ni mogoče povrniti v "
+"prejšnje stanje.\n"
+"Če imate na disku že nameščen operacijski sitem,lahko med razdeljevanjem\n"
+"trdega diska pride do izgube podatkov. Če ste neizkušeni, je razdeljevanje\n"
+"diska lahko zelo stresno opravilo. Na srečo pa je v DrakX vključen "
+"čarovnik,\n"
+"ki razdeljevanje zelo olajša. Vzemite si čas in pred nadaljevanjem pozorno\n"
+"preberite nadaljevanje tega sestavka.\n"
+"\n"
+"Na voljo je več možnosti, ki so odvisne od nastavitev vašega diska.\n"
+"\n"
+" * »%s«: To možnost izberite, če imate prazen disk. Čarovnik bo disk "
+"razdelil\n"
+"samodejno in razdeljevanje bo s tem končano.\n"
+"\n"
+" * »%s«: Čarovnik je na vašem trem disku zaznal enega ali več razdelkov\n"
+"za Linux. Če želite za namestitev uporabiti zaznane razdelke, izberite to "
+"možnost.\n"
+"Čarovnik vas bo v nadaljevanj pozval, da določite priklopne točke "
+"posameznim\n"
+"razdelkom. Običajno je najbolje obdržati priklopne točke, ki jih predlaga "
+"čarovnik.\n"
+"\n"
+" * »%s«: Če imate na disku nameščen Windows, tako da zasedajo\n"
+"celoten disk, bo potrebno ustvariti prazen prostor za namestitev GNU/"
+"Linuxa.\n"
+"To lahko storite tako, da izbrišete razdelek z Windows ali tako, da "
+"razdelku\n"
+"FAT ali NTFS z nameščenim Windows spremenite velikost. Pri tem podatkov na\n"
+"razdelku ne boste izgubili, če najprej v Windows defragmentirate disk.\n"
+"Vsekakor pa priporočamo, da pred nadaljevanjem napravite varnostno\n"
+"kopijo podatkov. Če želite uporabljati oba operacijska sistema, Mandriva "
+"Linux\n"
+"in Windows, vam priporočamo, da izberete to možnost.\n"
+"\n"
+" Če se odločite za to možnost, morate vedeti, da bo po končanem postopku\n"
+"razdelek z Windows manjši in imeli boste manj prostora za shranjevanje "
+"podatkov ali\n"
+" nameščanje novih programov v Windows.\n"
+"\n"
+" * »%s«: Če želite izbrisati vse obstoječe razdelke z vsemi podatki in jih \n"
+"nadomestiti s sistemom Mandriva Linux, izberite to možnost.\n"
+"Bodite previdni, ko boste potrdili to izbiro, prejšnjega stanja ne bo več "
+"mogoče vzpostaviti.\n"
+"\n"
+" !!Če izberete to možnost, boste z diska izbrisali vse podatke.!!\n"
+"\n"
+" * »%s«:Ta možnost se pojavi, če celotni disk zaseda Windows.\n"
+" S tem boste s trdega diska preprosto izbrisali vse, kar je njem\n"
+"in pričeli z novim razdeljevanjem diska.\n"
+"\n"
+" !!Če izberete to možnost, boste z diska izbrisali vse podatke.!!\n"
+"\n"
+" * »%s«: Če želite disk razdeliti ročno, izberite to možnost. Pazite, \n"
+"to je sicer močno, vendar nevarno orodje, saj lahko z njim kaj hitro "
+"zbrišete\n"
+"podatke na disku. To možnost zares priporočamo samo tistim, ki že imajo\n"
+"nekaj izkušenj z razdeljevanjem diskov. Obsežnejša navodila za delo\n"
+" z orodjem DiskDrake boste našli v dokumentaciji."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Uporabi obstoječi razdelek"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izbriši celoten disk"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Namestitev je končana in vaš novi GNU/Linux je pripravljen za uporabo\n"
+"Kliknite »%s« in sistem se bo ponovno zagnal. Ne pozabite odstraniti\n"
+"vira namestitve (zgoščenke ali diskete) Neposredno po zagonu bo na\n"
+"zaslonu prikazan meni zagonskega nalagalnika, s pomočjo katerega\n"
+"lahko izberete, kateri operacijski sistem naj se zažene.\n"
+"\n"
+"Gumb »%s« vam prikaže dodatne gumbe:\n"
+"\n"
+" * »%s«: za izdelavo namestitvene diskete, s pomočjo katere boste lahko\n"
+"podobno namestitev, kot ste jo pravkar oblikovali, izvedli povsem\n"
+"samodejno.\n"
+"\n"
+" Če kliknete na ta gumb, boste imeli na voljo dve nadaljnji možnosti:\n"
+" * »%s«: Delno samodejna namestitev. Ročno boste lahko izvedli\n"
+"samo razdeljevanje diska.\n"
+" * »%s«: Povsem samodejna namestitev. Z diska bodo izbrisani vsi\n"
+"podatki.\n"
+" To je zelo uporabno za namestitev sistema na več podobnih\n"
+"računalnikov. Več o tem najdete na spletni strani Mandriva.\n"
+"\n"
+" * »%s«(*):S tem shranite seznam paketov, ki so bili izbrani med to\n"
+"namestitvijo. Če želite izvesti drugo namestitev z enakim naborom paketov,\n"
+"vstavite disketo v pogon in pričnite z namestitvijo. Pritisnite tipko\n"
+"[F1] in vpišite »linux defcfg=\"floppy\"«.\n"
+"(*)potrebujete disketo, formatirano v FAT datotečnem sistemu.\n"
+"V GNU/Linux sistemu disketo formatirate z ukazom\n"
+"»mformat a:«, ali »fdformat /dev/fd0«, ki mu sledi ukaz\n"
+"»mkfs.vfat /dev/fd0«."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Ustvari disketo za samodejno namestitev"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Če želite na novo formatirati obstoječe razdelke, da bi z njih zbrisali\n"
+"podatke, izberite tudi vse takšne razdelke.\n"
+"\n"
+"Ni potrebno, da ponovno formatirate vse obstoječe razdelke.\n"
+"Formatirati morate razdelke, na katere boste namestili operacijski\n"
+"sistem (npr. razdelke »/«, »/usr«, »/var«), ni pa vam treba formatirati\n"
+"razdelkov, ki vsebujejo podatke, ki bi jih radi obdržali (npr. »/home«)\n"
+"\n"
+"Pri izbiri razdelkov ravnajte skrbno! Po formatiranju bodo vsi podatki "
+"izgubljeni!\n"
+"\n"
+"Kliknite na »%s«,ko boste pripravljeni na razdeljevanje.\n"
+"\n"
+"Kliknite na »%s«, če želite za namestitev sistema Mandriva Linux\n"
+"izbrati drug razdelek.\n"
+"\n"
+"Kliknite na »%s«, če želite določiti razdelke, na katerih naj sistem\n"
+"preveri poškodovane bloke."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Verjetno so bili od njegove izdaje pa do časa, ko nameščate\n"
+"Mandriva Linux na svoj računalnik, nekateri paketi popravljeni\n"
+"ali nadgrajeni z varnostnimi popravki ali z odstranitvijo hroščev.\n"
+"Te popravke lahko prenesete z interneta. Če imate vzpostavljeno\n"
+"internetno povezavo, označite »%s«, če pa želite namestiti\n"
+"popravke s paketi kasneje, označite »%s«.\n"
+"\n"
+"Če izberete »%s«, se bo prikazalo okno s seznamom spletnih\n"
+"mest, od koder lahko prenesete pakete. Izberite mesto, ki vam\n"
+"je najbliže, pritisnite »%s«, da boste pakete prenesli in namestili\n"
+"Če tega ne želite, pritisnite »%s«."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Izberite stopnjo varnosti za svoj računalnik. Če boste na računalniku\n"
+"hranili pomembne podatke ali če imate neposredno povezavo z\n"
+"internetom, nastavite višjo stopnjo varnosti. Uporaba sistema, ki ima\n"
+"nastavljeno višjo stopnjo varnosti je običajno zahtevnejša.\n"
+"\n"
+"Če se ne morete odločiti, kako bi nastavili stopnjo varnosti,\n"
+"pustite privzete nastavitve. Stopnjo varnosti lahko spremenite\n"
+"tudi kasneje s pomočjo orodja »draksec« v Nadzornem središču.\n"
+"\n"
+"V polje »%s« lahko vnesete e-poštni naslov uporabnika, ki bo odgovoren za\n"
+"varnost sistema. Vsa varnostna obvestila bodo poslana\n"
+"temu uporabniku."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Upravitelj varnostnih nastavitev"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Izbrati morate razdelke, na katere boste namestitli sistem\n"
+"Mandriva Linux. Če ste razdelke že izbrali ob kakšni predhodni\n"
+"namestitvi GNU/Linux sistema s kakim drugim orodjem za\n"
+"razdeljevanje, lahko uporabite obstoječe razdelke, sicer pa morate\n"
+"razdelke trdega diska za namestitev določiti sedaj.\n"
+"\n"
+"Najprej izberite trdi disk, ki ga želite razdeliti. Če želite izbrati\n"
+"disk na prvem IDE vodilu, kliknite na »hda«, disk na drugem\n"
+"IDE vodilu ima oznako »hdb«, na prvem SCSI vodilu »sda« itd.\n"
+"\n"
+"Za razdelitev izbranega diska so vam na voljo naslednje možnosti:\n"
+"\n"
+" * »%s«: brisanje vseh razdelkov na izbranem disku\n"
+"\n"
+" * »%s«: samodejno ustvarjanje ext3 in izmenjalnih (swap) razdelkov\n"
+"na prostem delu vašega trdega diska.\n"
+"\n"
+"»%s«: dostop do dodatnih možnosti:\n"
+"\n"
+" * »%s«: shranjevanje razdelitvene tabele na disketo, kar vam omogoči,\n"
+"da razdelitveno tabelo obnovite, če je to potrebno.\n"
+"Priporočamo vam, da ta korak izvedete!\n"
+"\n"
+" * »%s«: obnovitev razdelitvene tabele z diskete.\n"
+"\n"
+" * »%s«: popravilo poškodovane razdelitvene tabele, ki pa ne\n"
+"učinkuje v vsakem primeru.\n"
+"\n"
+" * »%s«: odstranitev vseh sprememb in obnovitev prvotne razdelitvene\n"
+"tabele trdega diska.\n"
+"\n"
+" * »%s«: če odstranite označitev te možnosti, bo moral uporabnik\n"
+"ročno priklapljati odstranljive medije, kot sta disketni in CD pogon.\n"
+"\n"
+" * »%s«: To možnost izberite, če želite za razdeljevanje diska\n"
+"uporabiti čarovnika. To vam priporočamo, če razdeljevanja diska\n"
+"ne obvladate v celoti.\n"
+"\n"
+" * »%s«: preklic vseh sprememb.\n"
+"\n"
+" * »%s«: dodatne možnosti nastavitev razdelkov (vrsta datotečnega\n"
+"sistema, formatiranje, nastavitve) in prikaz obširnejših informacij o\n"
+"trdem disku.\n"
+"\n"
+" * »%s«: shranjevanje sprememb na trdi disk po končanem\n"
+"razdeljevanju.\n"
+"\n"
+"Za določanje velikosti razdelka lahko uporabite tipke s puščicami\n"
+"[Levo/Desno] na tipkovnici.\n"
+"\n"
+"Vsako možnost lahko dosežete z uporabo tipkovnice. Med razdelki\n"
+"se premikate s tipko [TAB] ali s puščicami [Gor/Dol].\n"
+"\n"
+"Ko izberete razdelek, lahko uporabite naslednje ukaze:\n"
+"\n"
+" * Ctrl-c za ustvarjanje novega razdelka\n"
+"\n"
+" * Ctrl-d za brisanje razdelka\n"
+"\n"
+" * Ctrl-m za nastavitev priklopne točke\n"
+"\n"
+"Vse nadaljnje informacije o datotečnih sistemih boste našli v\n"
+"dokumentaciji.\n"
+"\n"
+"Če Mandriva Linux nameščate na PPC računalnik, morate ustvariti\n"
+"zagonski »bootstrap« razdelek z velikostjo najmanj 1MB, ki ga\n"
+"uporablja zagonski nalagalnik yaboot. Če ta razdelek nekoliko\n"
+"povečate in mu namenite vsaj 50MB, boste nanj lahko shranjevali\n"
+"potrebne datoteke za zasilni zagon sistema."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Samodejno priklapljanje odstranljivih medijev"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Preklapljanje med normalnim in izvedenskim načinom"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Na vašem trdem disku je več kot en razdelek za Windows.\n"
+"Izberite razdelek, ki ga želite zmanjšati, da bi pridobili prostor za\n"
+"namestitev sistema Mandriva Linux.\n"
+"\n"
+"Na seznamu so razdelki s podatki: »Ime v Linuxu«, »Ime v Windows«\n"
+"»Velikost« \n"
+"»Ime v Linuxu« vsebuje: »vrsto trdega diska«, »številko trdega diska«\n"
+"»številko razdelka« (n.pr. »hda1«)\n"
+"\n"
+"»Vrsta trdega diska« je »hd«, če gre za IDE disk in »sd«, če gre za \n"
+"SCSI disk.\n"
+"\n"
+"»Številka trdega diska« je vedno črka, ki sledi oznaki »hd« oziroma\n"
+"»sd«. Pri IDE diskih:\n"
+"\n"
+" * »a« pomeni »glavni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »b« pomeni »podrejeni trdi disk na primarnem IDE vodilu«\n"
+"\n"
+" * »c« pomeni »glavni trdi diski na sekundarnem IDE vodilu«\n"
+"\n"
+" * »d« pomeni »podrejeni trdi diski na sekundarnem IDE vodilu«\n"
+"\n"
+"Pri SCSI trdih diskih pomeni »a« »najnižji SCSI ID«, »b«\n"
+"»drugi najnižji SCSI ID« itd.\n"
+"\n"
+"»Ime v Windows« je črka, s katero je disk označen v Windows.\n"
+"Prvi disk ali oziroma razdelek je označen s »C:«."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"»%s«:Preverite, katero državo ste izbrali. Če v resnici niste v izbrani "
+"državi,\n"
+"kliknite »%s« in izberite drugo. Če država, v kateri ste, ni prikazana,\n"
+"kliknite »%s« za prikaz celotnega seznama držav."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ta korak se zažene samo v primeru, da na vašem računalniku že obstaja\n"
+"razdelek za GNU/Linux.\n"
+"\n"
+"Lahko izbirate med novo namestitvijo in med posodobitvijo obstoječega\n"
+"sistema Mandriva Linux.\n"
+"\n"
+" * »%s«: S tem boste obstoječi sistem povsem odstranili. Če želite\n"
+"spremeniti razdelitev trdega diska ali datotečni sistem, izberite to\n"
+"možnost. V nekaterih primerih, odvisno od tega, kako je razdeljen\n"
+"disk, lahko ohranite nekatere obstoječe podatke.\n"
+"\n"
+" * »%s«: Ta način namestitve dopušča posodobitev obstoječih\n"
+"paketov. S tem nista ogrožena niti razdelitev diska niti shranjeni\n"
+"podatki. Večina preostalih korakov namestitve bo dosegljiva,\n"
+"podobno kot pri običajni novi namestitvi.\n"
+"\n"
+"Možnost »Posodobitev« deluje, če imate nameščeno različico\n"
+"sistema Mandriva Linux »8.1« ali novejšo. Posodobitve starejših\n"
+"različic od »8.1« ne priporočamo."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"DrakX bo samodejno izbral razpored tipkovnice glede na jezik, ki ste\n"
+"ga izbrali. Če vam to ne ustreza, zamenjajte razpored tipkovnice.\n"
+"\n"
+"Morda vam ustreza, da uporabljate drugačen razpored tipkovnice,\n"
+"kot pripada izbranemu jeziku. Če sicer govorite angleško,\n"
+"živite pa v Sloveniji, vam bo najbrž ustrezal slovenski razpored.\n"
+"V tem koraku namestitve lahko izberete razpored tipkovnice, ki vam\n"
+"najbolj ustreza.\n"
+"\n"
+"Kliknite na gumb »%s« in pojavil se bo seznam vseh tipkovnic, ki jih sistem "
+"podpira.\n"
+"\n"
+"Če ste izbrali tipkovnico, ki temelji na nelatinični abecedi,\n"
+"lahko v naslednjem koraku določite ukaz, ki vam bo omogočil\n"
+"preklapljanje med latiničnim in nelatiničnim razporedom tipkovnice."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Najprej izberite jezik, ki ga želite uporabljati.\n"
+"\n"
+"Izbira jezika bo vplivala na jezik namestitve, dokumentacije in \n"
+"celotnega sistema. Najprej izberite celino oziroma regijo, kjer\n"
+"živite in nato še jezik, ki ga govorite.\n"
+"\n"
+"Če kliknete na gumb »%s«, boste lahko izbrali dodatne jezike,\n"
+"ki jih želite namestiti. Če bodo uporabljali vaš sistem uporabniki,\n"
+" ki govorijo različne jezike, lahko kot privzeti jezik namestite\n"
+"slovenščino, tako da jo izberete v drevesnem pogledu. Kot dodatni\n"
+"jezik pa lahko namestite na primer angleščino, tako da izberete »%s« v "
+"naprednem načinu.\n"
+"\n"
+"Podpora Utf-8 (unicode) Unicode je kodiranje znakov, ki poizkuša\n"
+"zagotoviti pravilen prikaz pisav vseh poznanih jezikov. Ker je unicode\n"
+" za GNU/Linux še v razvoju, lahko določite, ali naj ga sistem uporablja\n"
+"ali ne.\n"
+"\n"
+" * Če izberete jezike s kodiranjem latin1, kot so ruščina, japonščina,\n"
+"grščina in večina jezikov ki uporabljajo nabor znakov iso-8859-2, bo\n"
+"kot privzeto kodiranje nastavljeno latin1.\n"
+"\n"
+" * Ostali jeziki bodo kot privzeto kodiranje uporabljali unicode.\n"
+"\n"
+" * če izberete dva ali več jezikov, ki uporabljajo različna kodiranja,\n"
+"bo unicode uporabljal celoten sistem.\n"
+"\n"
+" * Unicode lahko določite kot privzeto kodiranje tako, da izberete »%s«\n"
+"ne glede na to, kateri jezik ste izbrali.\n"
+"\n"
+"Število dodatnih jezikov ni omejeno, lahko jih izberete več.\n"
+"z izbiro »%s« pa lahko izberete vse jezike. Če boste izbrali to možnost\n"
+"bodo nameščeni tudi paketi s pisavami, prevodi, črkovalniki itd.\n"
+"za vse izbrane jezike.\n"
+"\n"
+"Za preklapljanje med različnimi jeziki poženete ukaz »localedrake«\n"
+"kot »root«. V tem primeru bo zamenjava jezika veljala za celoten sistem.\n"
+"Če pa isti ukaz poženete kot navaden uporabnik, bo sprememba veljala\n"
+"le za trenutnega uporabnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Angleščina"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX običajno nima težav z zaznavanjem števila tipk vaše miške.\n"
+"V primeru, da pa se težave pojavijo, upošteva predpostavko, da ima\n"
+"miška dve tipki, in nastavi emulacijo tretje tipke. Tretjo tipko\n"
+"miške z dvema tipkama v tem primeru nadomešča istočasni pritisk na\n"
+"obe tipki. DrakX samodejno zazna tudi, na kateri vmesnik je vaša\n"
+"miška priključena. (PS/2, serijska vrata, USB)\n"
+"\n"
+"Če imate miško s tremi tipkami, vendar brez kolesca, izberite miško\n"
+"»%s«. DrakX jo bo nastavil tako,\n"
+"da boste kolesce lahko simulirali s pritiskom na srednjo\n"
+"tipko ob istočasnem premikanju miške v smeri gor - dol.\n"
+"\n"
+"Če želite nastaviti drugačno vrsto miške, lahko to storite tako, da\n"
+"jo izberete s seznama.\n"
+"Z možnostjo »%s«, boste izbrali generično miško, ki deluje skoraj\n"
+"z vsemi vrstami mišk.\n"
+"\n"
+"Če izberete miško, različno od privzete, se bo prikazalo preizkusno\n"
+"okno. Preizkusite delovanje vseh tipk in njihovih funkcij ter se "
+"prepričajte,\n"
+"da delujejo pravilno. Če miška ne deluje pravilno, pritisnite preslednico,\n"
+"da se boste vrnili v okno za izbiro miške.\n"
+"\n"
+"Občasno se zgodi, da miške s koleščkom program za nameščanje ne zazna\n"
+"samodejno. Prepričajte se, da je ročno izbrana miška priključena\n"
+"na ista vrata, kot je v resnici priključena vaša miška. Ko boste izbrali "
+"miško\n"
+"in pritisnili na gumb »%s«, se bo na zaslonu prikazala slika miške.\n"
+"Zavrtite miškino kolesce, da se prepričate, ali deluje pravilno.\n"
+"Preizkusite še delovanje tipk in ali miškin kazalec sledi gibanju\n"
+"miške."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "z emulacijo kolesca"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univerzalna | Katera koli PS/2 ali USB miška"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Izberite prava vrata. Vrata, ki so v Windows označena s »COM1«, imajo v\n"
+"GNU/Linuxu oznako »ttyS0«."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"S stališča varnosti je to eden od najpomembnejših korakov namestitve\n"
+"GNU/Linux operacijskega sistema: določitev gesla korenskega, »root«\n"
+"uporabnika. Korenski uporabnik je upravitelj sistema in je pooblaščen\n"
+"za spreminjanje sistemskih nastavitev, dodajanje uporabnikov, nameščanje\n"
+"programov, skratka, »root« lahko stori karkoli! Zato določite geslo, ki ga "
+"ni\n"
+"lahko uganiti. DrakX vas bo opozoril, če je izbrano geslo prelahko.\n"
+"Lahko se tudi odločite, da gesla sploh ne določite, vendar vam to zares\n"
+"odsvetujemo. GNU/Linux je v enaki meri občutljiv za napake operaterja,\n"
+"kot katerikoli drug operacijski sistem, zato se lahko zgodi, da nehote\n"
+"napravite kakšno nepopravljivo napako. Prav zato pa je pomembno,\n"
+"da postati »root« ni preveč enostavno.\n"
+"\n"
+"Geslo naj bo sestavljeno iz črk in številk, vsebuje pa naj vsaj osem\n"
+"znakov. Gesla uporabnika root si nikoli ne zapišite!\n"
+"\n"
+"Nasvet: geslo naj ne bo predolgo ali preveč zapleteno. Izberite\n"
+"geslo, ki si ga boste lahko zapomnili!\n"
+"\n"
+"Medtem, ko geslo vpisujete, ga ni mogoče videti. Da bi se izognili\n"
+"napakam pri tipkanju, ga morate vpisati dvakrat.\n"
+"\n"
+"Če želite, da bi dostop do računalnika nadzirala storitev za overjanje,\n"
+"kliknite na gumb »%s«.\n"
+"\n"
+"Če vaše omrežje uporablja storitev za overjanje domene LDAP,\n"
+"NIS ali Windows domain authentication, izberite ustrezno storitev\n"
+"za »%s«. Če ne veste, katero morate izbrati, vprašajte omrežnega\n"
+"operaterja.\n"
+"\n"
+"Če si gesla težko zapomnite, če vaš računalnik ne bo povezan\n"
+"z internetom in če v celoti zaupate vsem, ki bodo uporabljali\n"
+"vaš računalnik, lahko izberete »%s«."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "Overjanje"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO in GRUB sta zagonska nalagalnika za GNU/Linux.\n"
+"Zagonski nalagalnik je programček, ki ga računalnik zažene \n"
+"ob zagonu. Poskrbi za zagon celotnega sistema\n"
+"Običajno je ta del namestitve povsem samodejen. DrakX analizira zagonski\n"
+"sektor diska in določi ustrezne nastavitve\n"
+"\n"
+" * Če odkrije zagonski sektor za Windows, ga nadomesti\n"
+"z LILO ali GRUB zagonskim sektorjem. Tako boste lahko naložili\n"
+"GRUB, LILO ali drug na računalnik nameščen sistem.\n"
+"\n"
+" * Če odkrije zagonski sektor GRUB ali LILO, ga nadomesti z novim.\n"
+"\n"
+"Če Drakx ne more tega določiti samodejno, vas bo vprašal,\n"
+"kje naj namesti zagonski nalagalnik. Običajno je najbolj varno\n"
+"mesto »%s«. Če izberete »%s«, zagonski nalagalnik ne bo nameščen\n"
+"To možnost izberite samo, če zares veste, kaj delate. "
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Izberite sistem za tiskanje. Drugi operacijski sistemi navadno nudijo\n"
+"en sistem, Mandriva Linux pa vam daje na izbiro dva.\n"
+"Od obeh sistemov je vsak primeren za svojo vrsto namestitve.\n"
+"\n"
+" * »%s«--je kratica za »print, do not queue« (tiskaj, ne vnesi v čakalno "
+"vrsto).\n"
+"Ta sistem izberite, če imate s tiskalnikom neposredno povezavo, če želite\n"
+"imeti možnost zaustavitve tiskalnika ob napakah in nimate omrežnega\n"
+"tiskalnika. (»%s« je uporaben le za enostavna omrežna opravila in\n"
+"je za uporabo v omrežjih nekoliko počasen.) Uporabo »pdq« vam\n"
+"priporočamo, če je to vaša prva izkušnja s sistemom GNU/Linux.\n"
+"\n"
+" * »%s« - »Common Unix Printing System« je izvrstna izbira tako za\n"
+"tiskanje na vašem krajevnem tiskalniku, kot za tiskanje kjerkoli na svetu.\n"
+"Je enostaven za nastavljanje in lahko služi kot strežnik ali kot uporabnik\n"
+"v starodavnem »lpd« tiskalniškem sistemu, tako da je združljiv s starejšimi\n"
+"operacijskimi sistemi, ki še potrebujejo tiskalniške storitve. Kljub temu, "
+"da\n"
+"je zelo močan sistem, je za nastavljanje skoraj tako enostaven,\n"
+"kot »pdq«.\n"
+"Če potrebujete emulacijo lpd strežnika, vključite možnost »cups-lpd«.\n"
+"»%s« vsebuje grafične nastavitve za izbiro možnosti tiskanja in za\n"
+"nastavljanje tiskalnika.\n"
+"\n"
+"Če kasneje ugotovite, da vam nastavitve, ki ste jih izbrali, ne ustrezajo,\n"
+"jih lahko spremenite z orodjem PrinterDrake v nadzornem središču, tako\n"
+"da kliknete gumb »%s«."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Napredno"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX bo najprej zaznal vse naprave, ki so v vašem računalniku\n"
+"priključene na IDE vodila in vse PCI SCSI kartice. Če bo zaznal\n"
+"eno ali več PCI SCSI kartic, bo zanje namestil ustrezne gonilnike.\n"
+"\n"
+"Zaznavanje strojne opreme ni povsem zanesljivo. Če DrakX katere\n"
+"od naprav ne bo zaznal, jo boste morali dodati ročno.\n"
+"\n"
+"Če ste morali ročno dodati PCI SCSI kartico, vas bo DrakX povprašal,\n"
+"če jo želite tudi nastaviti ročno. Dovolite, da DrakX preizkusi možnosti "
+"in \n"
+"nastavi vrednosti, ki so potrebne za inicializacijo kartice. V večini\n"
+"primerov DrakX pri tem nima težav.\n"
+"\n"
+"Če DrakX kartice ne uspe nastaviti samodejno, boste morali gonilnik\n"
+"za kartico nastaviti ročno."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"»%s«: Če je sistem zaznal zvočno kartico, je prikazana\n"
+"na tem mestu. Če je prikazana drugačna kartica, kot je\n"
+"priključena v računalniku, kliknite na gumb in izberite\n"
+"drug gonilnik."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX bo prikazal pregled informacij, ki jih je zbral o vašem sistemu.\n"
+" Vrsta in število prikazanih vnosov sta odvisna od strojne opreme, ki je \n"
+"priključena v vašem računalniku. Vsak vnos vsebuje ime naprave ali\n"
+"storitve ter kratek pregled njenih trenutnih nastavitev. Če želite "
+"nastavitve\n"
+"spreminjati, kliknite na ustrezen gumb »%s«.\n"
+"\n"
+" * »%s«: Preverite nastavitev razporeda tipkovnice in jo popravite,\n"
+"če je potrebno.\n"
+"\n"
+" * »%s«: Preverite izbrano državo. Če se ne nahajate v izbrani državi,\n"
+"kliknite na gumb »%s« in izberite pravo.Če prava država ni navedena,\n"
+"kliknite gumb »%s« za popoln seznam držav.\n"
+"\n"
+" * »%s«: DrakX samodejno kot privzeti časovni pas nastavi pas,\n"
+"v katerem je izbrana država. Za spremembo časovnega pasu kliknite\n"
+"»%s«.\n"
+"\n"
+" * »%s«: Preverite nastavitve miške in če je to potrebno, jih popravite\n"
+"s klikom na gumb.\n"
+"\n"
+" * »%s«: Če kliknete na gumb »%s«, boste zagnali čarovnika za\n"
+"nastavljanje tiskalnika. V dokumentaciji lahko preberete več o priključitvi\n"
+"in nastavljanju tiskalnikov.\n"
+"Prikaz nastavljanja tiskalnikov v dokumentaciji je podoben prikazu na "
+"zaslonu\n"
+"med nastavljanjem.\n"
+"\n"
+" * »%s«: Če je sistem zaznal zvočno kartico, je navedena na tem mestu.\n"
+"Če mislite, da navedena kartica ni ista, kot je dejansko priključena v\n"
+"vašem računalniku, kliknite na gumb in izberite drug gonilnik.\n"
+"\n"
+" * »%s«: Če imate TV kartico, bodo tu prikazani podatki o njeni nastavitvi.\n"
+"Če TV kartico imate, pa je sistem ni zaznal, kliknite »%s« in jo poizkusite\n"
+" nastaviti ročno\n"
+"\n"
+" * »%s«: Če menite, da so nastavitve kartice napačne, kliknite »%s«\n"
+"in nastavitve popravite ročno.\n"
+"\n"
+" * »%s«: Privzeta nastavitev ločljivosti grafičnega vmesnika je\n"
+"»800x600« ali »1024x768«. Če vam privzeta nastavitev ne ustreza,\n"
+"jo spremenite tako, da kliknete na »%s«.\n"
+"\n"
+" * »%s«: Nastavljanje omrežja in dostopa do interneta.\n"
+"\n"
+" * »%s«: Nastavljanje posredniškega strežnika.\n"
+"\n"
+" * »%s«: Nastavljanje ali spreminjanje ravni varnosti.\n"
+"\n"
+" * »%s«: Če nameravate svoj računalnik povezati z internetom, je\n"
+"priporočljivo, da ga zavarujete s požarnim zidom.\n"
+"\n"
+" * »%s«: Na ta gumb kliknite, če želite spremeniti nastavitve zagonskega\n"
+"nalagalnika. To priporočamo samo izkušenim uporabnikom!.\n"
+"\n"
+" * »%s«: Tu lahko določite, katere storitve naj tečejo na vašem "
+"računalniku.\n"
+"Če boste računalnik uporabljali kot strežnik, vam priporočamo, da\n"
+"pregledate in prilagodite te nastavitve."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartica"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafični vmesnik"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izberite trdi disk, ki ga želite izbrisati, da bi dobili prostor za "
+"razdelek\n"
+"za Mandriva Linux.\n"
+"Vsi podatki na izbranem disku bodo izbrisani in jih ne bo mogoče\n"
+"obnoviti!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Če želite izbrisati vse razdelke na tem disku in vse podatke na njih,\n"
+"kliknite na »%s« Pazite, po tem, ko boste kliknili »%s«, razdelkov\n"
+"ali podatkov ne bo mogoče obnoviti.\n"
+"\n"
+"Kliknite »%s«, če razdelkov in podatkov na tem disku ne želite\n"
+"izbrisati."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Naprej ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nazaj"
+
diff --git a/perl-install/install/help/po/sq.po b/perl-install/install/help/po/sq.po
new file mode 100644
index 000000000..96dca30d1
--- /dev/null
+++ b/perl-install/install/help/po/sq.po
@@ -0,0 +1,1931 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Naim Daka <naim70@freesurf.ch>, 2002, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX for MDK 9.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Naim Daka <naim70@freesurf.ch>\n"
+"Language-Team: Albanian <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Para se të vazhdoni më tutje, ju duhet ti lexoni termet dhe kushtet për\n"
+"përdorimin e licencës. Kjo mbulon tërë shpërndarjen e Mandriva Linux,\n"
+"nëse ju pajtoheni me këto kushte, klikoni mbi mbi kopsën \"%s\".\n"
+"Nëse ju nuk pajtoheni atëher thjeshtë ndaleni komjuterin tuaj."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux është një sistem multi-përdorues, që d.m.th. në shumicën e "
+"rasteve\n"
+"secili përdorues mund të posedoj pëlqime të ndryshme për skedaret e tyre,\n"
+"etj. Për më shumë infomacione, konsultoni ``Doracakun Nisës'' për të ditur\n"
+"më shumë mbi sistemin e multi përdoruesve.\n"
+"Përkundarzi në \"root\", që është administrator, përdoruesit e shtuar në "
+"këtë\n"
+"vend, do të kenë leje për qeverisje vetëm në skedaret e tyre. Përdoruesi\n"
+"administrator duhet të krijoj një konto normale të një përdoruesi të "
+"rregullt\n"
+"për nevojat tuaja -- kjo konto do të përdoret gjdo ditë.\n"
+"Pa marrë pasysh se a do të jetë r lehtë lidhja e administratorit \"root\"\n"
+"për të verpruar gjdo gjë që është e mundur, dhe mund të jet tejet e "
+"rrezikshme!\n"
+"Një gabim i vogël mund të blokoj tërë sistemin tuaj, dm.m.th. nuk do të\n"
+"niset siç duhet. Nëse ju bëni një gabim serioz atëher sikur përdorues "
+"normal\n"
+"e tëra që mund të bëni është të zhdukni disa informacione dhe nuk mund të\n"
+"shkaktoni dëme tjera kudo qoftë.\n"
+"\n"
+"Në fillim duhet të futni emrin e vërtet të personit. Njashtu, ju mund të\n"
+"shkruani çfarë të doni. DrakX do ta pranoj fjalën e parë të futur dhe do ta\n"
+"dërgojë tek \"%s\". Emër i cili do të përdoret për tu lidhur në sistem.\n"
+"Ju mund ta ndryshoni. Tani duhet të futni parullën. Kjo nuk është aq "
+"vështirë\n"
+"është vetëm parulla e administratorit \"root\", mirëpo nuk është një arësye\n"
+"të shkruhet sikur 123456. Mbasë të tjerash, kjo mund ti vendos skedaret "
+"tuaja\n"
+"në rrezik.\n"
+"\n"
+"Nëse klikoni mbi \"%s\", do të keni mundësinë për të shtuar përdorues\n"
+"të tjerë. Krijoni përdorues të ndryshëm për çdo personë me mundësi\n"
+"për ta përdorur kompjuterin. Mbasi që të gjithë përdoruesit përcaktohen\n"
+"klikoni mbi \"%s\".\n"
+"\n"
+"Nëse klikoni mbi \"%s\", ju mund ta zgjedhni një \"shell\" vetëm\n"
+"për atë përdorues (bash është shell-i me marrëveshje).\n"
+"\n"
+"Mbasi të përfundoni me shtuarjen e përdoruesve, do të keni mundësinë të\n"
+"zgjedhni një përdorues që të lidhet automatikisht kur kompjuteri juaj niset\n"
+"nga fillimi. Nëse ju interson ky sistem në të ardhmën (dhe nuk kujdeseni\n"
+"shumë për sigurinë lokale), zgjedheni përdoruesin e caktuar dhe dritaren\n"
+"administruese, dhe klikoni mbi \"%s\". Nëse kjo nuk ju interson në të\n"
+"ardhmën, atëherë çzgjedheni kutinë \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "A dëshironi ta përdorni këtë veçori?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Lista e lartë shënuar identifikon ndrajet Linux të zbuluara në\n"
+"sistemin tuaj. Ju mund ti pranoni zgjedhjet e propzuara nga asistenti\n"
+"i cili është i mirë se ardhur në shumicën e rasteve gjatë instalim.\n"
+"Nëse ju e bëni ndonji ndryshim, ju duhet të posedoni më së paku një ndarje\n"
+"root (\"/\"). Mos zgjidhni ndarje shumë të vogla sepse nuk do të keni\n"
+"mundësi të instaloni programe të mjaftueshme. Nëse dëshironi ti mbani\n"
+"të dhënat tuaja në një ndarje tjetër nga ndarje primare root, atëherë\n"
+"ju duhet të krijoni një ndarje \"/home\" (ky manupulim është i mundshëm\n"
+"nëse posedoni më së paku një ndarje Linux për ta konfiguruar).\n"
+"\n"
+"Secila ndarje është e listuar në kë mënyrë: \"Emri\", \"Kapaciteti\".\n"
+"\n"
+"\"Emri\" është i strukturuar simbas: \"tipi i diskut të fort\", \"numri i "
+"diskut të fort\", \"numri i ndrajes\" (për shembull, \"hda1\").\n"
+"\n"
+"\"Tipi i diskut të fort\" nëse është disk i fort \"hd\" është disk i fort\n"
+"IDE dhe nëse është disk i fort \"sd\" është disk i fort SCSI.\n"
+"\n"
+"\"Numri diskut të fort\" është gjithnji i shënuar mbasë \"hd\" ose \"sd\".\n"
+"Për disqet e forta IDE:\n"
+"\n"
+" * \"a\" do të thotë \"disku i fort master në kontrolluesin primar IDE\";\n"
+"\n"
+" * \"b\" do të thotë \"disku i fort sklavë në kontrolluesin primar IDE\";\n"
+"\n"
+" * \"c\" do të thotë \"disku i fort master në kontrolluesin sekondar IDE\";\n"
+"\n"
+" * \"d\" do të thotë \"disku i fort esklavë në kontrolluesin sekondar IDE"
+"\".\n"
+"\n"
+"Për disqet SCSI, \"a\" do të thotë \"më i vogli SCSI ID\", dhe \"b\" do të "
+"thotë \"i dyti dhe më i vogli me radhë SCSI ID\", etj."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Pakot e nevojshme për Instalimin e Mandriva Linux janë të shpërndara në "
+"shumë\n"
+"CDROM-e. Fatëmirësisht, DrakX i njef të gjitha lokacinet e pakove në CDROM-"
+"e.\n"
+"Ai do ta qetë jashtë CD-në që gjindet në lexuesin e CD-ve, dhe juve do të "
+"ju\n"
+"pyes, që ta futni CD-në tjetër të nevojshme në lexues."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Tani është momenti që ti zgjedhni pakot që duhet të instalohen në sistemin\n"
+"tuaj. Duhet ta dini se Mandriva Linux përmban me mijëra pako instaluese,\n"
+"dhe nuk është me rendësi që ti njifti të gjitha për mendësh.\n"
+"\n"
+"Pakot janë të radhitura në grupe përkatëse për përdorim të veçant në "
+"makinën\n"
+"tuaj. Mandriva Linux posedon katër instalime të përcaktuara. Ju mund të\n"
+"mendoni mbi këto klasa instaluese si kontainer të pakove të ndryshme.\n"
+"Ju keni mundësi ti përzini (mix) dhe ti barazoni aplikacionet nga "
+"kontainerët\n"
+"e ndryshëm, sikur ``Stacion Punues'' instalimi mund të posedoj ende\n"
+"aplikacione nga ``Zhvillimi'' i kontainerit instalues.\n"
+"\n"
+" * \"%s\": nëse ju mendoni ta përdorni stacionin punues në këtë, mënyrë,\n"
+"zgjedhni një apo më shumë aplikacion, që gjinden në kontainerin e stacionit\n"
+"punues.\n"
+"\n"
+" * \"%s\": nëse makina juaj do të përdoret, për krijimin e programeve,\n"
+"zgjedhni pakot qarkulluese nga kontaineri.\n"
+"\n"
+" * \"%s\": nëse makina juaj do të përdoret sikur server, ju mund ti\n"
+"zghedhni serviset përkatëse instaluese.\n"
+"\n"
+" * \"%s\": Ky grup do të ju mundësoj përcaktimin e mjedisit grafik\n"
+"që deshironi ta keni në sistemin tuaj. Natyrisht, ju duhet ta zgjedhni\n"
+"më së paku njërin që ta përdorni sistemin tuaj në modë grafik.\n"
+"\n"
+"Duke e vendosur minin ndër emrin e një grupi, ju do ta vëreni çfaqjen e një\n"
+"përshkrimi të shkurt të atij grupi. Nëse ju i çzhgjidhni të gjitha grupet\n"
+"gjatë instalimit standard (me kundërshtim azhurnimi), një dialog do të\n"
+"çfaqet me propozime të ndryshme zgjedhëse, për një instalim minimal:\n"
+"\n"
+" * \"%s\": instalon pako minimale të mundshme, për të patur një mjedis\n"
+"punues grafik në tryezë.\n"
+"\n"
+" * \"%s\": instalon sistemin e bazës, me disa përdorues të tjerë të\n"
+"bazës dhe dokumnetacionet e tyre. Ky instalim është i përdorshëm sikur\n"
+"bazë për montimin e një serveri.\n"
+"\n"
+" * \"%s\": do të instaloj më së paku që është e mundur në sistemin\n"
+"punues Linux, vetëm në linjë komanduese. Këtij instalimi i nevojiten\n"
+"65MB vendë të zbrazët.\n"
+"\n"
+"Ju mund ta verifikoni mundësinë me \"%s\". Kjo mundësi është e përdorshme\n"
+"nëse ju dini saktësishtë cilat pako duhet të instalohen ose nëse\n"
+"dëshironi të posedoni një kontrol totale gjatë instaimit.\n"
+"\n"
+"Nëse ju keni vazhduar me instalim në modë \"%s\", ju mund ti çzgjedhni\n"
+"të gjitha grupet që ti shmangeni instalimit të programeve të reja. Kjo\n"
+"mundësi është tejet e përdorshme për restaurimin e sistemit të dëmtuar."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Azhurno"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Me dokumentacion bazues"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Provo një instalim minimal"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Më në fund, nëse keni vendosur një instalim me zgjidhje individuale, për\n"
+"të zgjedhur pakot, DrakX do të ju prezentoj një dru të të gjitha pakove\n"
+"të kasifikuara simbas grupit dhe të ndër-grupit. Duke shfletuar drurin,\n"
+"ju mund të zgjedhni grupe, dhe ndër-grupe, apo pako individuale.\n"
+"\n"
+"Kudo që ta zgjedhni një pako e cila gjindet në dru, një përshkrim për të, "
+"do\n"
+"të paraqietet në anën e djathtë.\n"
+"\n"
+"!! Nëse keni zgjedhur një program që ta përdorni në server, ju duhet ta\n"
+"vërtetoni që ai duhet të instalohet. Ndër Mandriva, me marrëveshje të "
+"gjithë\n"
+"serveret do të nisen nga nisja udhëzuese e sistemit (boot). Fatëkeqësisht\n"
+"nga të gjitha forcat e investuara për të ofruar një Linux të sigut, është\n"
+"e mundur që, disa gabime të sigurisë të infektojnë server-et e instaluar,\n"
+"deri në datën e publikimit.\n"
+"Nëse ju nuk e dini për çfarë arësye nevojitet një server, apo për çfarë "
+"është\n"
+"instaluar, klikoni mbi \"%s\". Duke klikuar mbi \"%s\", serveri do të "
+"instaloj\n"
+"të gjitha serviset e ofruara në nisjen e sistemit. !!\n"
+".\n"
+"Opcioni \"%s\" do të çzgjedhë paralajmërimet të cilat do të\n"
+"paraqiten çdo herë kur instaluesi zgjedhë një pako të re. Ky paralajmërim\n"
+"paraqitet, sepse DrakX e ka përcaktuar atë, dhe që një pako të funksionoj "
+"si\n"
+"duhet i nevojitet një tjetër, d.m.th. mvaret edhe nga pako tjetër\n"
+"\n"
+"Ikona e vogël e disketës floppy (floppy disk), e cila paraqitet poshtë\n"
+"në listë, mundëson rikuperimin e listës së pakove të zgjedhura gjatë një\n"
+"instalimi tjetër. Duke klikuar mbi të, do të ju pyesim që ta futni një\n"
+"disketë e cila është krijuar gjatë një instalimi të mëparshëm. Verifikoni\n"
+"shënimin e dytë të etapës së fundit, që do të ju mësoj se si duhet ta\n"
+"krijoni një disketë të tillë."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Mvarësit Automatike"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": duke klikuar mbi kopsën \"%s\" e cila do të hapë asistentin\n"
+"konfigurues. Konsultoni kapitujt e caktuar të ``Përcjellësit Nisës''\n"
+"për më shumë informacione se si të konfigurohet një stampues i ri.\n"
+"Interfaci i prezentuar, është i njëjtë me atë gjatë instalimit."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ky dialog ju mundëson zgjidhjen serviseve prezente për nisjen e sistemit\n"
+"tuaj me udhëzim (boot).\n"
+"\n"
+"DrakX do të listoj të gjitha serviset prezente me instalime vendase.\n"
+"Bëjeni një verifikim dhe eliminoni ato që nuk nevojiten për një nisje\n"
+"me udhëzim (boot).\n"
+"\n"
+"Ju mund të përfitoni shpjegime të shkurtëra, duke i zgjedhur ato një nga\n"
+"një. Kjo d.m.th. nëse ju nuk jeni i sigurt për aplikacionin e një servisi,\n"
+"mirëmbani paramtrat me marrëshje.\n"
+"\n"
+"!! Në këtë etapë, vini re në rastin e një sistemi të përcaktuar me "
+"reakcione\n"
+"të server-it: në këtë rast, ju dëshironi ti lejoni të gjitha serviset e\n"
+"duhura. Keni kujDES, se disa nga serviset mund të jenë të rrezikshme\n"
+"nëse ato nuk janë të lira në server. Në raste të përgjithshëm ju duhet ti\n"
+"zgjedhni vetëm serviset që ju nevojiten.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manipulon orën në GMT (Greenwich Mean Time) dhe e shëndërron në\n"
+"kohë lokale simbas zonës të cilën ju e zgjidhni. Nëse ora në kartelën-nënë\n"
+"rregullohet simbasë kohë lokale, ju keni mundësi ta dezaktivizoni atë duke\n"
+"çzgjedhur \"%s\" i cili do të ju lejoj që GNU/Linux sistemi i orës dhe i\n"
+"orës hardver të jenë në të njëjtën kohë. Kjo është tejet e përdorshme kur\n"
+"makina apo edhe ndonji ftues tjetër sikur p.sh. Windows.\n"
+"\n"
+"\"%s\" mundëson rregullimin e orës automatikisht duke u lidhur ne një "
+"server\n"
+"të kohës në Internet. Në listën e cila është prezentuar, zgjedheni një\n"
+"server gjeografikisht më afër jush. Ju duhet të posedoni një kyqje "
+"Internet,\n"
+"që ky të funksionoj si duhet. Ky do të instaloj në makinën tuaj, një server\n"
+"të kohës lokale, i cili mund të jetë i mundshëm, që ai të përdoret nga\n"
+"përdoruesit e tjerë të kësaj makine, nga rrjeti i juaj lokal"
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sinkronizimi automatik i orës"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Kartela Grafike\n"
+"\n"
+" Instaluesi normalisht e zbulon dhe e konfiguron automatikisht kartelën,\n"
+"grafike në kompjuterin tuaj. Nëse ky operacion dështon, ju keni mundësi\n"
+"ta zgjedhni në këtë listë kartelën tuaj aktuale.\n"
+"\n"
+" Në raste se servera të ndryshëm janë në disponibilitet për kartelën "
+"tuaj,\n"
+"me apo pa nisje në 3D, juve do të ju propozohet zgjedhja e një serveri më "
+"të\n"
+"mirë i cili do të ju nevojitet."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (për Sistemin Windows X) është zemra e interfacit grafik për GNU/Linux\n"
+"në të cilin të gjitha mjediset grafike (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etj.) janë të denguara mbi Mandriva Linux.\n"
+"\n"
+"Juve do të ju prezentohet lista e parametrave të ndryshëm për të ndryshuar,\n"
+"dhe për të pranuar çfaqjet grafike optimale: Kartelë Grafike\n"
+"\n"
+" Instaluesi normalisht zbulon automatikisht dhe e konfiguron kartelën,\n"
+"grafike në kompjuterin tuaj. Nëse ky operacion dështon, ju keni mundësi\n"
+"ta zgjedhni në këtë listë kartelën tuaj aktuale.\n"
+"\n"
+" Nëse, server(a) të ndryshëm janë në disponibilitet për kartelën tuaj, me\n"
+"apo pa nisje 3D, juve do të ju propozohet zgjedhja e një serveri më të "
+"mirë,\n"
+"i cili do të ju nevojitet.\n"
+"\n"
+"\n"
+"\n"
+"Monitori\n"
+"\n"
+" Instaluesi ka mundësi ta zbulon dhe ta konfigoj automatikisht monitorin\n"
+"tuaj të lidhur në kompjuter. Nëse ai nuk konfigurohet automatikisht, ju "
+"keni\n"
+"mundësi ta zgjidhni monitorin tuaj nga kjo listë.\n"
+"\n"
+"\n"
+"Vendosmëria e ekranit\n"
+"\n"
+" Ju keni mundësi ta zgjedhni vendosmërinë e ekranit këtu, njashtu edhe\n"
+"thellësinë e ngjyrave mes këtyre mjeteve të lira. Zgjedheni njërën nga më\n"
+"të mirat që ju përshtatet (ju do të keni mundësi ta ndërroni atë edhe mbasë\n"
+"instalimit). Nga zgjedhja e konfigurimit të thjeshtë, i cili është i "
+"paraqitur\n"
+"në monitor.\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" sistemi do të mundohet të hapë ekranin grafik me vendosmëri të "
+"dëshiruar.\n"
+"Nëse ju keni mundësi të shifni lajmin gjatë testimit njashtu edhe "
+"përgjegjen\n"
+"\"%s\", atëher DrakX do të ju propozoj të kaloni në tjetrën etapë. Nëse ju\n"
+"nuk keni mundësi ta shifni lajmin, d.m.th. disa pjesë të zbulimeve\n"
+"automatike janë të pa sakta dhe testi do të përfundoj automatikisht mbasë\n"
+"12 sekondave, i cili do të ju dërgoj mbrapa në menynë e më parëme.\n"
+"Ndryshoni parametrat derisa ju ta gjeni çfaqjen korrekte grafike të ekranit\n"
+"tuaj.\n"
+"\n"
+"\n"
+"\n"
+"Opcionet\n"
+"\n"
+" Ju këtu keni mundësi të zgjedhni gjdo gjë që dëshironi në kompjuterin "
+"tuaj,\n"
+"dhe automatikisht do të kyqeni në nisje me interfac grafik boot. Dukshëm, "
+"ju\n"
+"dëshironi të verifikoni \"%s\" nëse kompjuteri juaj është si një server,\n"
+"apo nëse ju nuk keni qenë i sukseshëm në çfaqjen e konfigurimit."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitori\n"
+"\n"
+" Instaluesi ka mundësi ta zbulon dhe ta konfigoj automatikisht monitorin\n"
+"tuaj të lidhur në kompjuter. Nëse ai nuk konfigurohet automatikisht, ju "
+"keni\n"
+"mundësi ta zgjidhni monitorin tuaj nga kjo listë."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Vendosmëria e ekranit\n"
+"\n"
+" Ju keni mundësi ta zgjedhni vendosmërinë e ekranit këtu, njashtu edhe\n"
+"thellësinë e ngjyrave mes këtyre mjeteve të lira. Zgjedheni njërën nga më\n"
+"të mirat që ju përshtatet (ju do të keni mundësi ta ndërroni atë edhe mbasë\n"
+"instalimit). Nga zgjedhja e konfigurimit të thjeshtë, i cili është i "
+"paraqitur\n"
+"në monitor."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Në disa raste, server të ndryshëm janë të disponibilitet për kartelën tuaj\n"
+"grafike, me apo pa nisje 3D, juve do të ju propozohet zgjedhja e një "
+"serveri\n"
+"më të përshtatshëm për nevojat tuaja."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Opcionet\n"
+"\n"
+" Më në fund, ju keni mundësi të zgjedhni nisjen e interfacit grafik\n"
+"apo të makinës suaj. Është tejet e rekomanduar që ta zgjidhni \"%s\" nëse\n"
+"ju jeni duke instaluar njashtu edhe një server në makinën tuaj, ose nëse\n"
+"ju nuk keni konfiguruar ekranin tuaj si duhet."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Kjo etapë do të ju mundësoj që të përcaktoni me precizitet vendosjen dhe\n"
+"instalimin e Mandriva Linux. Nëse disku i juaj i fortë është zbrazët apo i\n"
+"përdorur nga një sistem tjetër eksploatimi, ju duhet ta shpërndani\n"
+"diskun tuaj në pjesë. Ndarje e diskut d.m.th. ta shpërndani me precizitet\n"
+"që më fund të krijoni një hapësire për instalimin e sistemit Mandriva "
+"Linux.\n"
+"\n"
+"Duke njoftur efektet e proceseve të ndarjeve nuk janë kthyese, (përmbajtjet\n"
+"në disk do të zhduken), ndarja në shumicën e rasteve është stresante dhe\n"
+"frikësuese, për një përdorues të pa eksperimentuar. Për fat të mirë një\n"
+"interfac DrakX, është caktuar për ta. Para se ta nisni, konsultone\n"
+"doracakun tuaj, dhe keni durim.\n"
+"\n"
+"Nëse ndarjet nuk janë përcaktuar, ju duhet ti krijoni duke përdorur\n"
+"asistentin. Simbas konfigurimit të diskut tuaj, një shumicë e opcioneve\n"
+"janë në disponibilitet :\n"
+"\n"
+" * \"%s\": kjo mundësi do të provoj të shpërndajë automatikisht\n"
+"hapësirën e pa përdorur të diskut tuaj. Nuk do të keni pyetje tjera.\n"
+"\n"
+" * \"%s\": asistenti ka zbuluar një apo më shumë ndarje ekzistuese\n"
+"në diskun tuaj. Nëse ju dëshironi ti përdorni, zgjedheni këtë opcion.\n"
+"Mandej ju do të pyetëni për zgjedhjen pikës montuese e cila do të lidhet\n"
+"me ndarjet tjera. Pika trasheguese e montimit është e përcaktuar me\n"
+"marrëveshje dhe në shumicën e rasteve është preferohet që mos ta\n"
+"ndryshoni atë.\n"
+"\n"
+" * \"%s\": nëse Microsft Windows është instaluar në diskun tuaj dhe\n"
+"e përfshinë tërë sipërfaqen e diskut, ju duhet të krijoni një vend për\n"
+"instalimin e të dhënave Linux. Për ta realizuar, ju mund ta shlyeni\n"
+"tërë diskun (shiqo në zgjidhjen ``Shlyeje tërë diskun'') ose ridimenzi-\n"
+"onone hapësirën e përdorur nga ndarja Windows në formë FAT.\n"
+"Ridimenzionimi mund të bëhet pa i humbur të dhënat në disk, me një\n"
+"kusht, nëse ju e keni defragmentuar diskun tuaj në Windows. Një regjistrim\n"
+"i të dhënave tuaja është shumë e preferuar. Kjo mundësi, d.m.th.\n"
+"e dyta mund të përdoret pa humbjen e të dhënave. Kjo zgjidhje është\n"
+"tejet e rekomanduar, për bashkëjetesën e Linux-it dhe Windows-it në të\n"
+"njëjtin kompjuter.\n"
+"\n"
+" Para se ta zgjidhni këtë mundësi, ju duhet të kuptoni se mbas\n"
+"kësaj precedure hapësira e Windows do të jetë zvogëluar. D.m.th.\n"
+"Disku juaj në Windows do të posedoj më pakë hapësirë të lirë për\n"
+"instalimin e programeve apo regjistrimin e të dhënave me Windows.\n"
+"\n"
+" * \"%s\": nëse ju dëshironi ti zhdukni të gjitha\n"
+"të dhënat dhe aplikacionet e instaluara në sistemin tuaj, dhe ti\n"
+"zëvendësoni me një sistem të ri Mandriva Linux, zgjedheni këtë mundësi.\n"
+"Keni kujDES, sepse kjo mundësi është e pa kthyeshme mbrapa. Është e pa\n"
+"mundur të gjindet të dhënat e zhdukura.\n"
+"\n"
+" !! Duke zgjedhur këtë mundësi, përmbajtjet në diskun tuaj do të\n"
+"zhduken. !!\n"
+"\n"
+" * \"%s\": kjo zgjidhje do të zhdukë tërë përmbajtjen\n"
+"e diskut, dhe do të rifilloj nga zerroja. Të gjitha të dhënat dhe\n"
+"programet prezente në diskun tuaj do të zhduken.\n"
+"\n"
+" !! Duke zgjedhur këtë mundësi, përmbajtjet në diskun tuaj do të\n"
+"zhduken. !!\n"
+"\n"
+" * \"%s\": mundëson një ndarje manuale të diskut tuaj. Kini kujdes\n"
+"-- është tejet e fuqishme por edhe aq e rrezikshme kjo mundësi.\n"
+"Ju mund të zhdukni përmbajtjen e tërësishme të diskut tuaj. D.m.th.\n"
+"Ju nuk duhet ta zgjidhni këtë mundësi, nëse nuk dini se çfarë bëni.\n"
+"Për të ditur më shumë mbi DiskDrake, përcaktohuni në sekcionin\n"
+"``Qeverisja e Ndarjeve Tuaja'' në `` Përcjellësin Nisës''"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Përdore ndarjen egzistuese"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Shlyeje diskun të tërësi"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ja pra ku jeni. Instalimi i juaj GNU/Linux përfundoi, dhe sistemi i juaj\n"
+"është i gatshëm për përdorim. Klikoni mbi \"%s\" për të rinisur sistemin\n"
+"tuaj. Gjëra e parë që ju duhet ta vëreni mbasi që kompjuteri i juaj të\n"
+"përfundoj me testet e bëra është meny bootloader, duke ju mundësuar një\n"
+"nisje nga sistemet operuese që janë prezente në diskun tuaj.\n"
+"\n"
+"Kopsa \"%s\" mundëson dy zgjedhje tjera: \n"
+"\n"
+" * \"%s\": për të krijuar një diskete instaluese, e cila do të ju\n"
+"mundëson, të rizhvilloni një instalim që e keni relaizuar para disa\n"
+"qasteve, pa ndihmën e ndonji administratori.\n"
+"\n"
+" Shënoni, se të dy mundësitë për zgjedhje do të paraqiten mbasi që të\n"
+"klikoni mbi kopsën:\n"
+"\n"
+" * \"%s\". Është një instalim pjesërisht automatikë, ku është\n"
+"e mundur ti personalizoni shpërndarjet, e diskut (veçmas).\n"
+"\n"
+" * \"%s\". Instalim komplet automatik, disku i fort do të\n"
+"rishkruhet kompletisht, dhe të gjitha të dhënat do të zhduken.\n"
+"\n"
+" Kjo mundësi është tejet praktike, për instalimin e më shumë sistemeve.\n"
+"Shiqoni sekcionin Auto Instalim të sitit ton Web.\n"
+"\n"
+" * \"%s\"(*): regjistrimi i listës së pakove të instaluara.\n"
+"Për ta përdorur këtë zgjidhje me një instalim tjetër, futni disketën\n"
+"floppy në lexues, dhe hyni në menyn ndihmuese duke shtypur mbi kopsën\n"
+"[F1] në ftim, dhe futni këtë urdhër me radhë >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Ju keni nevojë për një diskete të formatuar në FAT (për ta krijuar ndër\n"
+"GNU/Linux shkruani \"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "krijo një disketë floppy auto instaluese"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Secila ndarje e përcaktuar përsëri duhet të formatohen,(që d.m.th.\n"
+"do të krijohet një sistem e skedareve në të).\n"
+"\n"
+"Në këtë moment, ju mund ti riformatoni ndarjet ekzistuese për zhdukjen e\n"
+"të dhënave prezente. Dhe që duhet ti zgjedhni ato.\n"
+"\n"
+"Duke ditur se nuk është e nevojshme të riformatohet përmbajtja e tërë\n"
+"sistemit eksploatues, (sikur \"/\", \"/usr\" apo \"/var\") mirëpo nuk\n"
+"është e nevojshme të formatohen ndarjet e të dhënave (zakonisht në \"/home"
+"\").\n"
+"Keni kujdes kur ti zgjidhni ndarjet e riformatuara, do të jetë e pa mundur\n"
+"të rikuperohen të dhënat në to.\n"
+"\n"
+"Klikoni mbi \"%s\" kur ju jeni i gatshëm që ti formatoni ndarjet.\n"
+"\n"
+"Klikoni mbi \"%s\" nëse ju dëshironi të zgjedhni një ndarje tjetër apo\n"
+"të instaloni një sistemi të ri eksploatues Mandriva Linux.\n"
+"\n"
+"Klikoni mbi \"%s\" nëse ju dëshironi ti zgjedhni ndarjet, për një\n"
+"verifikim të sektorëve të dëmtuar në disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Nga momenti kur ju jeni duke instaluar Mandriva Linux, është e mundur që\n"
+"disa pako janë azhurnuar prej daljes së atij prodhimi. Disa buge mund\n"
+"të korigjohen, njashtu dhe probleme tjera të sigurisë. Për të ju\n"
+"mundësuar të përfitoni një azhurnim, do të jenë të propozuara që të\n"
+"tranferohen nga Interneti. Zgjedheni \"%s\" nëse ju posedoni një kyqje\n"
+"Internet, ose \"%s\" nëse ju preferoni që t'instaloni azhurnimet një herë\n"
+"tjetër.\n"
+"\n"
+"Duke zgjedhur \"%s\", lista e siteve nga të cilat bëhen azhurnimet mund të\n"
+"provohen. Zgjedhni sitet më të afërta. Mandej një dru i degëzuar\n"
+"me zgjedhje të pakove do të çfaqet: verifikone zgjedhjen, dhe klikoni mbi\n"
+"\"%s\", për të provuar instalimet apo azhurnimet e pakove të zgjedhura,\n"
+"ose mni \"%s\" për ti braktisur."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Në këtë etapë, DrakX duhet të ju ketë mundësuar përfundimin e nivelit\n"
+"të sigurisë së duhur për sistemin tuaj. Niveli i sigurimit së duhur është\n"
+"i përcaktuar simbas funksionit të eksploatimit të sistemit të përdoruesve\n"
+"tjerë (nëse është i kyqur direkt në rrjetin internet) dhe simbas nivelit\n"
+"të ndishmërisë së përmbajtjes së informacioneve të sistemit (numri i\n"
+"kartelës kreditore për shembull). Nuk duhet të harroni se në mënyrë të\n"
+"përgjithshme, aq më më e madhe të jetë siguria e sistemit, aq më\n"
+"shumë është e komplikuar.\n"
+"\n"
+"Nëse ju nuk dini cilin nivelë ta zgjidhni, atëhere mbane nivelin me "
+"marrëveshje."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Siguria e Administratorit:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Në këtë etapë ju duhet të zgjedhni se cila(t) ndarje(t) do të përdoret(n)\n"
+"për sistemin tuaj Mandriva Linux. Nëse ndarja e diskut është bërë më heret,\n"
+"nga një instalim tjetër GNU/Linux apo nga nji vegël tjetër ndarëse, ju\n"
+"mund të përdorni ndarjet e bëra. Mes tjerash ndarjet duhen të jenë të\n"
+"përcaktuara\n"
+"\n"
+"Për të krijuar një ndarje, ju duhet të zgjedhni diskun që duhet të "
+"përdoret.\n"
+"Ju mund ta zgjedhni duke klikuar mbi ``hda'' për diskun e parë IDE, ``hdb''\n"
+"për diskun e dytë, ``sda'' për dyskun e parë SCSI, dhe ashtu me radhë.\n"
+"\n"
+"Për ta ndarë diskun e fort të zgjedhur, ju mund të përdorni opcionet me\n"
+"radhë :\n"
+"\n"
+" * \"%s\": ky opcion do të zhduk, të gjitha ndarjet në diskun e zgjedhur\n"
+"\n"
+" * \"%s\": ky opcion mundëson krijimin e një sistemi të skedareve\n"
+"ext3 dhe swap të ndarjeve, në hapësirën e lirë të diskut tuaja\n"
+"\n"
+"\"%s\": mundëson hyrjen në fonksionimin e llogarive:\n"
+"\n"
+" * \"%s\": regjistro tabelën e ndarjeve në floppy.\n"
+"Kjo mundësi është tejet praktike, për rikuperimin e ndarjeve të\n"
+"dëmtuara. Dhe rekomanduar që të vazhdoni me këtë mënyrë.\n"
+"\n"
+" * \"%s\": mundëson restaurimin e një tabele të një ndarje,\n"
+"të regjistruar më heret në një diskete.\n"
+"\n"
+" * \"%s\": nëse tabela juaj e ndarjes është dëmtuar ju keni mundësi\n"
+"ta rikuperoni me këto opcione. Keni kujdes dhe dijeni se kjo nuk\n"
+"funksionon në të gjitha rastet.\n"
+"\n"
+" * \"%s\": largon ndryshimet dhe ngarkon tabelën e ndarjeve filestare.\n"
+"\n"
+" * \"%s\": duke shënuar në këtë kuti, CD-ROM(et) dhe disketat floppy\n"
+"(dhe përkrahje tjera) do të ngarkohen automatikisht.\n"
+"\n"
+" * \"%s\": përdoreni këtë mundësi nëse ju keni nevojë ta ndani\n"
+"diskun tuaj. Kjo mundësi është shumë e rekomandura nëse ju jeni fillestar\n"
+"në lëndën e ndarjeve.\n"
+"\n"
+" * \"%s\": përdore këtë opcion për ti anuluar ndryshimet tuaja.\n"
+"\n"
+" * \"%s\": mundëson akcionet llogaritëse në ndrajet, (tipi,\n"
+"mundësit, dhe format) dhe dorëzon më shumë informacione.\n"
+"\n"
+" * \"%s\": mbasi që shpërndarja do të përfundoj, kjo kopsë do të ju\n"
+"mundëson regjistrimin ndryshimeve tuaja në disk.\n"
+"\n"
+"Mbasi që ta keni përcaktuar mashësinë e diskut tuaj, ju keni mundësi ti\n"
+"paraqitni madhësitë ndarëse duke përdorur kopsat (shigjeta) të tastierës.\n"
+"\n"
+"Shënoni: ju mund ti ndryshoni të gjitha mundësitë për ndarje duke përdorur\n"
+"tastierën. Kaloni nëpërmjet shfletuesit duke përdorur kopsat [Tab] dhe\n"
+"shigjetat [Lart/Poshtë].\n"
+"\n"
+"Mbasi të zgjedhni një ndarje, ju mund ta përdorni :\n"
+"\n"
+" * Ctrl-c për të krijuar një ndarje të re (përderisa një ndarje e zbrazët\n"
+"është zgjedhur);\n"
+"\n"
+" * Ctrl-d për të zhdukur një ndarje;\n"
+"\n"
+" * Ctrl-m për të caktuar një pikë montuese.\n"
+"\n"
+"Për të përfituar më shumë informacione mbi sistemet e skedareve, lexoni mbi\n"
+"sistemin e skedareve ext2FS në ``Doracakun referues''.\n"
+"\n"
+"Nëse ju jeni duke instaluar një stacion PPC, ju duhet të krijoni një ndarje\n"
+"të vogël HFS ``bootstrap'' më së paku 1MB, e cila do të përdoret nga "
+"bootloader\n"
+"yaboot. Nëse dëshironi të bëni një ndarje më të madhe, p.sh 50MB, ju duhet\n"
+"të gjeni një vegël për të vendosur bërthamat dhe imazhet ramdisk hyrëse në\n"
+"rastë të ndonji problemi."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontim i periferikëve lëvizës"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Kalo mes modit normal/ekspert"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Janë gjetur më shumë se një ndarje Windows në diskun tuaj të fort, ju\n"
+"lutemi zgjedheni njërin për ta ridimenziunuar, dhe për të instaluar\n"
+"sistemin të ri eksploatues Mandriva Linux.\n"
+"\n"
+"Çdo ndarje është listuar simbas: \"Emri Linux\", \"Emri Windows\"\n"
+"\"Kapaciteti\".\n"
+"\n"
+"\"Emri Linux\" është i strukturuar: \"tipi i diskut të fort\", \"numri i\n"
+"diskut të fort\", \"Numri i ndarjes\" (për shembul, \"hda1\").\n"
+"\n"
+" \"Tipi i diskut të fort\" është \"hd\" nëse disku i juaj është IDE\n"
+"disk i fort, dhe \"sd\" nëse është SCSI disk i fort.\n"
+"\n"
+" \"Numri i diskut të fort\" është gjithnji një shkronjë mbas \"hd\" ose\n"
+"\"sd\". Për disqet IDE:\n"
+"\n"
+" * \"a\" do të thotë \"disk primare master mbi kontroluesin e parë IDE\";\n"
+"\n"
+" * \"b\" do të thotë \"disk primare esklavë mbi kontroluesin e parë IDE\";\n"
+"\n"
+" * \"c\" do të thotë \"disk primare master mbi kontroluesin e dytë IDE\";\n"
+"\n"
+" * \"d\" do të thotë \"disk primare esklavë mbi kontroluesin e dytë IDE\";\n"
+"\n"
+"Me disqet SCSI, \"a\" do të thotë \"Identiteti më i ulët SCSI\", \"b\" do\n"
+"të thotë \"Identiteti i dytë më i ulët SCSI\", etj.\n"
+"\n"
+"\"Emri Windows\" është një letër e diskut tuaj të fort ndër Windows (disku\n"
+"i parë ndarës quhet \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": verifikoni zgjedhjen e shtetit tuaj të tanishëm. Nëse ju nuk\n"
+"gjindeni në atë shtet që duhet të jeni, klikoni mbi kopsën \"%s\"\n"
+"dhe zgjedheni një shtet tjetër. Nëse shteti juaj nuk është i çfaqur në\n"
+"këtë list, klikoni mbi kopsën \"%s\" për të pranuar një listë \n"
+"më komplete për shtete tjera."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Kjo etapë aktivizohet automatikisht nëse ju posedoni një ndarje të vjetër\n"
+"GNU/Linux, në makinën tuaj.\n"
+"\n"
+"DrakX tani ka nevojë të dijë nëse ju dëshironi të çfaqni një instalim,\n"
+"apo azhurnim të ri, në sistemin ekzistues Mandriva Linux:\n"
+"\n"
+" * \"%s\": Për shumicën e rasteve, ky kompletisht shlyhet nga sistemet\n"
+"e vjetra. Nëse ju dëshironi ta ndërroni shpërndarjen e diskut tuaj të "
+"fortë,\n"
+"apo të ndryshoni sistemin e skedareve tuaja, ju duhet ta përdorni këtë "
+"opcion.\n"
+"Pa marrë para sysh, nga mvarësitë e skemës së ndarjesë, ju mund ti "
+"parandaloni\n"
+"disa të dhëna ekzistuese nga të mbi-zëvendësuarat.\n"
+"\n"
+" * \"%s\": kjo klasë instaluese ju mundëson azhurnimin e pakove aktuale\n"
+"të instaluara, në sistemin tuaj Mandriva Linux. Skema e ndarjes,\n"
+"dhe e të dhënave të përdoruesve, nuk do të ndryshohet. Shumica\n"
+"e etapave të tjera konfiguruese mundësojnë një vazhdim, të njëjtë sikur\n"
+"tek instalimet standarde.\n"
+"\n"
+"Duke përdorur mundësinë ``Azhurno'' duhet të funksionoj shumë mirë në "
+"sistemin\n"
+"Mandriva Linux ndër versionin \"8.1\" apo më të ri. Tentimi i Azhurnimit të\n"
+"një versioni më të vjetër se versioni Mandriva Linux \"8.1\" nuk "
+"rekomandohet."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normalisht, DrakX e zgjedhë tastierën e saktë për ju (mvarësisht nga gjuha\n"
+"e zgjedhur). Megjithatë, është e mundur që ju nuk posedoni një tastierë\n"
+"që i përshtatet gjuhës suaj: për shmebull, nëse ju e flitni Anglishten dhe\n"
+"posedoni një tastierë Zvicërrane, dhe dëshironi ta përdorni tastierës me\n"
+"përparësi Zvicrrane. Ose nëse e flitni Anglishtën dhe jetoni në Kebek,\n"
+"ju mund të gjindeni në të njëjtin situacion. Në të dyja rastet, ju duhet\n"
+"të ktheheni mbrapa kësajë etape instaluese dhe të zgjidhni tastierën\n"
+"përkatëse nga lista përkatëse.\n"
+"\n"
+"Klikoni mbi kopsën \"%s\" që të prezentohet lista komplete e tastierave\n"
+"përkrahëse.\n"
+"\n"
+"Nëse ju e zgjedhni një tastiere e cila nuk bazohet me alfabetin latinë,\n"
+"ju do të pyeteni për në dialogun e ardhshëm për kombinimin e kopsave\n"
+"të cilët do të ju mundësojnë shkëmbimin mes Latine dhe joLatine."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Etapa e parë është që ta zgjedhni gjuhën tuaj të preferuar. Zgjedheni "
+"gjuhën\n"
+"tuaj të preferuar, e cila do të përdoret gjatë instalimit të sistemit.\n"
+"\n"
+"Duke klikuar mbi kopsën \"%s\", programi do të ju propozoj njashtu\n"
+"edhe gjuhë tjera të cilat mund të instalohen në stacionin tuaj punues. Duke\n"
+"zgjedhur një gjuhë tjetër, programi do të instaloj tërë dokumentacionin\n"
+"dhe aplikacionet e nevojshme për përdorimin e kësaj gjuhe. Për shembull,\n"
+"nëse ju mendoni të pranoni përdorues Spanjol në serverin tuaj, zgjedheni\n"
+"Anglishtën si gjuhë kryesore, dhe në sekcionin e vazhdueshëm, klikoni mbi\n"
+"kutinë e cila i përketë \"%s\".\n"
+"\n"
+"Shënim, ju keni mundësi të instalohen shumë gjuhë në sistem. Mbasi që keni\n"
+"zgjedhur çfarëdo llogarije lokale, apo klikoni mbi kopsën \"%s\" për\n"
+"të zgjedhur kutinë. Zgjedhja e përkrahjeve të gjuhëve d.m.th. përkthimet\n"
+"e polisës, verifikimet e të shprehurit, etj. për atë gjuhë do të instalohet\n"
+"Përmbledhja e \"%s\" kutia verifikuese mundëson forcimin e përdorimit të\n"
+"unikodit (UTF-8). Shënim edhe pse ky është një përparësi për të ardhmën.\n"
+"Nëse ju e zgjedhni një gjuhë duke marrë përsipër me përkrahje unikod që do\n"
+"të instalohet.\n"
+"\n"
+"Për të kaluar nga një gjuhë në një tjetër, ju mund ta ngarkoni urdhërinë\n"
+"\"/usr/sbin/localedrake\" me përparësi administratori \"root\" për të\n"
+"ndërruar tërë sistemin e gjuhës, apo secili pëdorues për vetë vehten\n"
+"mund ta ndërroj gjuhën me marrëveshje."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanjol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX normalisht nuk hasë në ndonji problemë në zbulimin e sasisë së\n"
+"kopsave të minit tuaj. Nëse nuk i merrë me njohuri, se ju posedoni\n"
+"një minë me dy kopsa, ai do ta konfiguroj një kopsë të tretë imituese.\n"
+"Kopsa e tretë e minit me dy kopsa, mund të ``shtypet'' duke klikuar\n"
+"njëkohësisht mbi kopsën e majtë apo të djathtë. Njashtu\n"
+"DrakX do ta dijë automatikishtë se çfarë mini posedoni PS/2 apo USB.\n"
+"\n"
+"Nëse ju dëshironi të instaloni një tjetër tip mini, zgjedheni njërin nga\n"
+"lista e shënuar.\n"
+"\n"
+"Nëse ju e zgjedhni një tjetër min, që është propozuar me\n"
+"marrëveshje, DrakX do të ju prezentoj një ekran testi. Përdorni\n"
+"kopsat dhe rrotën për tu siguruar se çdo gjë fuksionon si duhet.\n"
+"Nëse mini juaj nuk funksionon si duhet, shtypni mbi shufrën për hapësirë\n"
+"(space bar) apo në [Return] për ta anuluar testimin dhe kthehuni mbrapa\n"
+"në listën e zgjedhjeve.\n"
+"\n"
+"Në disa raste minjët me rrotë nuk janë të zbuluar automatikisht. Ju duhet\n"
+"ta zgjedhni manuelisht, nga lista e propozuar. Sigurohuni se keni zgjedhur\n"
+"portën e saktë të kyqur në minin tuaj. Mbasi që ju e zgjedhni minin tuaj\n"
+"shtypni mbi kopsën \"%s\", një imazhë i minit do të paraqitet\n"
+"në ekranë. Dhe mandej ju duhet ta lëvizni rrotën e minit tuaj për t'\n"
+"aktivizuar atë saktësisht. Dhe testoni të gjitha kopsat dhe lëvizjet e\n"
+"tyre, a janë të sakta."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "3 Kopsa me Rrotë Imituese"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Ju lutemi zgjedheni portën e saktë. Për shembull \"COM1\" është portë ndër\n"
+"Windows, kurse \"ttyS0\" është i emëruar ndër sistemin GNU/Linux."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Këtu duhet të dini se do ta merrnji një vendim më të vështirë, për sigurinë\n"
+"e sistemit tuaj GNU/Linux: ju duhet të futni parullën sikur administrator\n"
+"\"root\". \"Root\" është administrues i sistemit me të gjitha të drejtat\n"
+"e konfigurimit, azhurnimit, shtimit të përdoruesëve etj. Konkretisht \"root"
+"\"mund të bëjë çdo gjë në sistemin tuaj! Dhe për atë arësye ju duhet të "
+"futni\n"
+"parullën e tij, që është shumë veshtirë ta merrni me mend atë -- DrakX do\n"
+"të ju tregoj nëse është lehtë. Siq po e shifni, ju mund të mos e futni\n"
+"parullën ne ju rekomandojmë sinqerisht kundër kësaj veprimtarie. Duke ditur\n"
+"se gabimet bëhen shumë lehtë dhe pa ditur, një përdorues me të gjitha të\n"
+"drejtat mund të bëjë çmosë. Prej që se \"root\" mund të përfitojë gjdo\n"
+"të drejtë pa kufi i cili mund të zhdukë të gjitha të dhënat, duke kaluar\n"
+"në secilën ndarje të diskut, është me rëndësi që me vështirësi të madhe të\n"
+"shëndërroheni në administrator \"root\".\n"
+"\n"
+"Zgjedhja e parullës duhet të përmbajë së paku 8 karaktere (shkronja, numra\n"
+"etj) alfanumerikë. Mos e shkruani kurrë parullën \"root\" diku, mundohuni\n"
+"ta mbani në mend.\n"
+"\n"
+"Megjithatë, mos e shkruani parullën shumë të gjatë apo të komplikuar, sepse\n"
+"ju duhet të jeni në gjendje, ta mbani në mend, pa u mundur shumë.\n"
+"\n"
+"Parulla nuk do të paraqitet n'ekran, sikur e shtypni në tastierë direkt, "
+"prej\n"
+"nga, ju duhet ta shtypni dy herë, për të zvogëluar gabimin e mundshëm. Nëse\n"
+"një gabim i tillë arrinë, atëherë kjo parullë ``e pa saktë'' do të "
+"regjistrohet,\n"
+"dhe ju duhet ta rishtypni për të hyrë në sistemin tuaj për të parën herë.\n"
+"\n"
+"Nëse ju dëshironi të hyni në këtë kompjuter për tu kontrolluar nga një "
+"server\n"
+"vërtetues, kliko mbi kopsën \"%s\".\n"
+"\n"
+"Nëse rrjeti i juaj përdorë LDAP, NIS apo një pronë PDC Windows për servise\n"
+"vërtetuese, zgjedheni një qarkullim sikur \"%s\". Nëse ju nuk\n"
+"dini cilin ta përdorni, pyetni administratorin e rrjetit tuaj.\n"
+"\n"
+"Nëse ju hasni në ndonji problem, në lidhje me parullën, ju mund ta zgjedhni\n"
+"mundësinë \"%s\", nëse kompjuteri juaj nuk duhet të kyqet në rrjetin\n"
+"e Internetit, dhe nëse ju keni besim në secilin perdorues i cili hynë në\n"
+"sistemin tuaj."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "vërtetësim"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO dhe grub janë bootloader për GNU/Linux. Normalisht, kjo etapë është\n"
+"kompletisht e automatizuar. DrakX do të analizoj sektorin e diskut nisës\n"
+"boot dhe do të akordoj gjdo gjë që gjindet në të:\n"
+"\n"
+" * nëse një sektor nisës boot Windows zbulohet, ai do të zëvendësohet me\n"
+"me një sektor nisës boot grub/LILO. Në këtë rrugë ju do të keni mundësi\n"
+"të ngarkoni qoft GNU/Linux apo ndonji Sistem tjetër Eksploatues.\n"
+"\n"
+" * nëse një sektor nisës boot LILO zbulohet, ai do të zëvendësohet me\n"
+"një sektor të ri.\n"
+"\n"
+"Nëse ai nuk mund të përcaktohet, DrakX do të ju pyes për vendin se ku\n"
+"deshironi ta vendosni bootloader."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Këtu, ne e zgjedhim një sistem stampues për kompjuterin tuaj. Sistemet "
+"tjera\n"
+"eksploatuese ofrojnë vetëm një, kurse Linux ofron dy. Secili sistem "
+"stampues\n"
+"është më i mirë për gjdo tip i përcaktur konfigurues.\n"
+"\n"
+" * \"%s\" -- që do të thotë ``print, do not queue'' (stampo pas kaluar në\n"
+"rradhitje rendore), është një mundësi nëse stampuesi juaj është i kyqur\n"
+"direkt në stacionin tuaj punues, dhe nëse ju dëshironi ta ndërpreni "
+"stampimin\n"
+"direkt, në rastë të ndonji problemi, dhe nëse nuk posedoni një stampues në\n"
+"rrjet. (\"%s\" Do ti merrë parasysh rastet e thjeshta në rrjet, mirëpo në\n"
+"disa raste nuk janë të sakta këto urdhërat). Zgjedheni \"pdq\" nëse ju jeni\n"
+"në një ekspert në GNU/Linux.\n"
+"\n"
+" * \"%s\" -- ``Common Unix Printing System'', është mundësi gjeniale për\n"
+"stampim në sistemin tuaj, me satmpues lokal, apo stampues të cilët gjinden "
+"në\n"
+"anën tjetër të botës. Është i thjeshtë dhe mund të reagoj sikur server, apo\n"
+"sikur një klient i vjetër i sistemit stampues \"lpd\". Bëhet fjalë për një\n"
+"vegël tejet të fuqishme, mirëpo konfiguracionet e bazës janë të thjeshta "
+"sikur\n"
+"\"pdq\". Për ta konkuruar në një server \"lpd\" ju duhet të niseni në dimon\n"
+"\"cups-lpd\". \"%s\" përfshinë një interfac grafike për stampim ose për\n"
+"zgjedhjen e opcioneve administruese të stampuesit.\n"
+"\n"
+"Nëse e zgjidhni tani, e më vonë, nuk ju pëlqen sistemi stampues, ju keni\n"
+"mundësi ta ndryshoni duke nisur PrinterDrake nga Qendra Kontrolluese "
+"Mandriva\n"
+"duke klikuar mbi kopsën ekspert."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Modë Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX, tani do të hulumtoj gjdo IDE periferik në kompjuterin tuaj. Ai\n"
+"njashtu do të scanon, një apo më shumë kartela PCI SCSI në sistemin\n"
+"tuaj. Nëse një kartelë SCSI është gjetur nga DrakX, ai do të instaloj\n"
+"automatikisht pilotin e saj të nevojshëm.\n"
+"\n"
+"Në disa raste zbuluesi i materialit nuk është foolproof, dhe nuk\n"
+"mund të zbuloj ndonji pjesë, kështu ju duhet ta specifikoni me dorë.\n"
+"\n"
+"Nëse ju duhet të specifikoni kartelën tuaj PCI SCSI në mënyrë manuale,\n"
+"DrakX do të ju pyes për specifikimin e mundësive të tija. Ju duhet të\n"
+"lejoni, që DrakX të verifikoj automatikisht kartelën tuaj, për opcionet\n"
+"e nevojshme të përcaktuara.\n"
+"\n"
+"Është e mundur që, DrakX të mos jetë në gjendje ti verifikoj opcionet\n"
+"e nevojshme. Në këto raste, ju duhet ti përcaktoni manuelisht."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": nëse një kartelë e zërit është zbuluar në sistemin\n"
+"tuaj, ajo do të çfaqet këtu. Nëse shënimet mbi kartelën tuaj nuk janë ato\n"
+"që duhen të jenë, në sistemin tuaj, ju mund të klikoni mbi kopsën dhe ta\n"
+"zgjedhni një pilot tjetër."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Si çfaqës, DrakX do të prezentoj permbledhjen e infomacioneve të ndryshme\n"
+"në lidhje me sistemin tuaj. Duke u mvarur nga sistemi i juaj i instaluar\n"
+"që ju mund të posedoni disa apo të gjitha hyrjet vijuese. Secila hyrje "
+"është\n"
+"krijuar nga konfigurimi i artikullit që duhej të konfigurohet, duke e\n"
+"përcjellur me përmbledhje të shpejt nga konfigurimi i tanishëm. Klikoni\n"
+"mbi kopsën e përcaktuar \"%s\" për ta ndryshaur atë.\n"
+"\n"
+" * \"%s\": verifikoni tastierën e tanishme të konfiguruar, dhe ndryshone\n"
+"atë nëse është e nevojshme.\n"
+"\n"
+" * \"%s\": verifikoni shtetin tuaj të përcaktuar. Nëse ju nuk gjindeni\n"
+"në shtetin e dëshiruar, klikoni mbi kopsën \"%s\" dhe zgjedheni një\n"
+"shtet tjetër. Nëse shteti i jauj nuk gjindet në këtë listë, klikoni mbi\n"
+"kopsën \"%s\" për ta pranuar një listë më komplete.\n"
+"\n"
+"* \"%s\": Me marrëveshje, DrakX dedukton zonën orare të bazuar në\n"
+"shtetin tuaj të zgjedhur më parë. Ju mund të klikoni mbi kopsën \"%s\"nëse "
+"zona orare nuk është e saktë.\n"
+"\n"
+" * \"%s\": verifikone konfigurimin e minit tuaj dhe klikoni mbi kopsën\n"
+"nëse dëshironi ta ndryshoni atë.\n"
+"\n"
+" * \"%s\": duke klikuar mbi kopsën \"%s\" do të hapni\n"
+"asistentin konfigurues për stampues. Konsultone kapitullin e përcaktuar\n"
+"të ``Përcjellësit Nisës'' për më shumë informacione se si të konfigurohet\n"
+"një stampues i ri. Interfaci i prezentuar është i njëjtë me atë që është\n"
+"paraqitur gjatë instalimit\n"
+"\n"
+" * \"%s\": nëse një kartelë zëri është zbuluar në sistemin tuaj\n"
+"ajo do të çfaqet këtu. Nëse shënimet mbi kartelën tuaj nuk përputhen me\n"
+"shënimet e kartelës prezente në sistem, ju keni mundësi të klikoni mbi\n"
+"kopsën për të zgjedhur një pilot tjetër.\n"
+"\n"
+" * \"%s\": me marrëveshje, DrakX konfiguron interfacin tuaj grafikë,\n"
+"në vendosmëri \"800x600\" ose \"1024x768\". Nëse kjo nuk është prezentuar,\n"
+"kliko mbi kopsën \"%s\" për të rifilluar një konfigurim të ri.\n"
+"\n"
+" * \"%s\": nëse një kartelë TV zbulohet në sistemin tuaj, ajo do\n"
+"të çfaqet këtu. Nëse ju posedoni një kartelë TV, dhe ajo nuk zbulohet\n"
+"automatikisht, klikoni mbi kopsën \"%s\" për ta konfiguruar\n"
+"manuelisht.\n"
+"\n"
+" * \"%s\": nëse një kartelë ISDN zbulohet në sistemin tuaj, ajo\n"
+"do të çfaqet këtu. Ju mund të klikoni mbi kopsën \"%s\" për ti\n"
+"ndryshuar parametrat e bashkuar me kartelën.\n"
+"\n"
+" * \"%s\": Nëse dëshironi të konfiguroni Internetin apo rrjetin\n"
+"tuaj lokal hyni tani.\n"
+"\n"
+" * \"%s\": kjo hyrje ju ofron përcaktimin e nivelit të sigurisë\n"
+"siq është paraqitur në etapën e më parme ().\n"
+"\n"
+" * \"%s\": nëse ju planifikoni të kyqni makinën tuaj në Internet\n"
+"është ide tejet e mirë të mbroheni nga befasitë duke instalur murin e\n"
+"zjarrt. Konsultoni sektorët e caktuar të ``Përcjellësit Nisës'' për\n"
+"më shumë detaje mbi instalimet e murit të zjarrt.\n"
+"\n"
+" * \"%s\": nëse dëshironi ti ndryshoni konfigurimet e bootloader\n"
+"klikoni mbi këtë kopsë. Kjo është e rezervuar për përdorues të përparuar.\n"
+"\n"
+" * \"%s\": ju do të keni mundësinë këtu të kontrolloni më në fund se\n"
+"cilat servise duhet të nisen në makinën tuaj. Nëse ju planifikoni të\n"
+"përdorni këtë makinë sikur një server, është ide e mirë ta riçfaqni këtë\n"
+"instalim."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Kartelë ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Interfac Grafikë"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Zgjedheni diskun e fort (hard drive) që dëshironi ta zhdukni, për të\n"
+"instaluar një ndarje të re Mandriva Linux. Keni kujDES, të gjitha të dhënat\n"
+"do të zhduken, dhe nuk mund të rekuperohen!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klikoni mbi \"%s\" nëse ju dëshironi ti zhdukni të dhënat dhe ndarjet në\n"
+"diskun tuaj të fort. Keni kujDES, mbasi që të klikoni mbi \"%s\", ju nuk\n"
+"keni mundesi ti rikuperoni të dhenat dhe ndarjet prezente në këtë disk të\n"
+"fort, njashtu edhe nëse gjindet ndonji ndarje, me të dhëna Windows.\n"
+"\n"
+"Klikoni mbi \"%s\" që ta ndalni këtë operacion, pa i humbur të dhënat\n"
+"dhe ndarjet prezente në këtë disk të fort."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tjetri ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Mbrapa"
+
diff --git a/perl-install/install/help/po/sr.po b/perl-install/install/help/po/sr.po
new file mode 100644
index 000000000..27aa3c97d
--- /dev/null
+++ b/perl-install/install/help/po/sr.po
@@ -0,0 +1,1902 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Toma Jankovic <tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пре него што наставите пажљиво прочитајте услове лиценце. Она\n"
+"покрива целу Mandriva Linux дистрибуцију, и уколико се слажете\n"
+"са свим условима који се налазе у њој, кликните на \"Прихватам\" тастер\n"
+"Уколико не прихватате, једноставно искључите \n"
+"рачунар."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux је вишекориснички систем, а то значи да сваки корисник може имати "
+"сопствене\n"
+"поставке, сопствене фајлове, итд. Можете прочитати ``Упуство за кориснике''\n"
+"да би сазнали више о томе. Али за разлику од \"root\", који је уствари "
+"администратор, корисници\n"
+"које додате овде неће моћи да мењају било шта осим њихових\n"
+"фајлова и њихове конфигурације. Требало би да креирате најмање једног\n"
+"обичног корисника за себе. Тај рачун је онај на који треба да се логујете \n"
+"за рутинско коришћење. Иако је веома практично да се улогујете као \"root\" "
+"сваки дан,\n"
+"то може бити веома опасно! И најмања грешка може значити да ваш систем\n"
+"неће више радити. Уколико направите озбиљне грешке као обични корисник \n"
+"можете једино избгубити нешто информација, али не и цели систем.\n"
+"\n"
+"Прво, морате да унесете ваше право име. Ово није неопходно, наравно -\n"
+"јер можете приступити и изменити га када год желите. DrakX ће тада узети "
+"прву\n"
+"реч који сте унели и ставити га у простор за уношење имена корисника \"User\n"
+"name\". Ово је име које одрежени корисник треба да користи при логовању на\n"
+"систем. Можете га променити. УНакон тога морате унети лозинку овде.\n"
+"Обични, не-привилеговани корисничка лозинка није од већег значаја као она "
+"за\n"
+"\"root\" кориосника са сигурносне тачке гледања, али то није разлог за "
+"опуштање\n"
+"- након свега, ваши фајлови су у питању.\n"
+"\n"
+"Уколико кликнете на \"Прихвати корисникар\", можете додати још корисника. "
+"Додајте\n"
+"корисника за сваког вашег пријатеља: за вашег оца или сестру, на\n"
+"пример. Када заршите додавање свих жељених корисника, изаберите \"Завршено"
+"\".\n"
+"\n"
+"Кликом на тастер Напредно \"Напредно опције\" можете изменити default \"shell"
+"\"\n"
+"за тренутног корисника (bash по default). \n"
+"\n"
+"Када завршите са додавањем корисника, рачунар ће тражити да изаберете "
+"корисника\n"
+"који ће се аутоматски пријављивати на систем при његовом стартању. Уколико\n"
+"вас занима ова могућност (и не водите много рачуна о локалној\n"
+"сигурности), изаберите жељеног корисника и window менажер, а затим кликните "
+"на \"Следећи\n"
+"->\". Уколико нисте заинтересовани за ову опцију, деселектујте \"Да ли "
+"желите\n"
+"да користите ову опцију?\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Да ли желите да користите ову опцију ?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Изнад се налази листа постојећих Linux партиција које су детектоване\n"
+"на хард диску. Можете задржати избор који је направио чаробњак, јер је добар "
+"за a\n"
+"општу употребу. Уколико промените избор, морате бар изабрати root\n"
+"партицију (\"/\"). Немојте да бирате сувише малу партицију јер нећете моћи "
+"да\n"
+"инсталирате овољно софтвера. Уколико желите да податке ставиљате на посебну "
+"партицију ,\n"
+"морате да изаберете и \"/home\" (могуће је уколико имате више од једне\n"
+"Linux партиције).\n"
+"\n"
+"\n"
+"Информација: свака партиција је приказана на следећи начин: \"Име\", "
+"\"Капацитет\".\n"
+"\n"
+"\"Име\" је кодирано на следећи начин: \"тип хард диска\", \"број хард диска"
+"\",\n"
+"\"прој партиције\" (на пример, \"hda1\").\n"
+"\n"
+"\"Тип хард диска\" је \"hd\" уколико је хард диск IDE уређај и \"sd\"\n"
+"уколико је SCSI хард диск.\n"
+"\n"
+"\"Број хард диска\" је увек слово после \"hd\" или \"sd\". За IDE хард "
+"дискове:\n"
+"\n"
+" * \"a\" значи \"master хард диск на примарном IDE контролеру\",\n"
+"\n"
+" * \"b\" значи \"slave хард диск на примарном IDE контролоеру\",\n"
+"\n"
+" * \"c\" значи \"master хард диск на секундраном IDE контролоеру\",\n"
+"\n"
+" * \"d\" значи \"slave хард диск на секундарном IDE контролеру\".\n"
+"\n"
+"\n"
+"Са SCSI хард дисковима, a \"a\" значи \"примарни хард диск\", a \"b\" "
+"значи \n"
+"\"секундарни хард диск \", итд..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux инсталација се налази на неколико дискова илити CDROM-ова. "
+"DrakX\n"
+"зна уколико да уколико је селктовани пакет лоциран на другом CDROM-у и "
+"избациће\n"
+"тренутни CD те тражити од вас да убаците одговарајући."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Сада је време да одредимо које програме желите да инсталирате на ваш\n"
+"систем. Постоје хиљаде пакета доступних за инсталацију на Mandriva Linux, "
+"и \n"
+"да би их учинили доступнијим, смеђтени су у групе сличних апликација.\n"
+"\n"
+"Пакети су сортирани у групе у односу на одговарајућу употребу на вашој\n"
+"машини. Саме групе су сортиране у четири класе. Ове класе можете посматрати\n"
+"као контејнере за различите пакете\n"
+"Можете мешати апликације из различитих контејнера, тако да\n"
+"иинсталација ``Радна станица'' може да садржи апликације из \n"
+"контејнера ``Развојна станица'' .\n"
+"\n"
+" * \"Радна станица\": уколико планирате да користите вашу машину као радну "
+"станицу, изаберите једну или више одговарајућих група.\n"
+"\n"
+" * \"Развојна станица\": уколико машина треба да се користи за програмирање, "
+"изаберите жељену(е) групу(е).\n"
+"\n"
+" * \"Сервер\": уколико ће се машина користити као сервер, моћи ћете да \n"
+"изаберете које од најчешћих сервисажелите да инсталирате на\n"
+"машину.\n"
+"\n"
+" * \"Графичко Окружење\": на крају, овде ћете изабрати ваше\n"
+"омиљено графичко окружење. Морате изабрати бар једно да би имали\n"
+"графичку радну станицу!\n"
+"\n"
+"Кретањем курсора миша преко имена групе добићете кратко објашњење\n"
+"о тој групи. Уколико не селектујете ни једну групу када изводите\n"
+"основну инсталацију (за разлику од ажурирања), појавиће се дијалог\n"
+"са различитим предлозима за минималну инсталцију:\n"
+"\n"
+" * \"Са X-овима\": Инсталира неколико пакета ради графичког десктопа\n"
+"\n"
+" * \"Са основном документацијом\": Инсталира основни систем са основним "
+"алатима\n"
+"и њиховом дукументацијом. Овај мод је практичан за\n"
+"подешавање сервера\n"
+"\n"
+" * \"Стварно минимална инсталација\":Инсталира само што је минимано "
+"потребно,\n"
+"за рад Linux система,наравно само у командној линији.Ова инсталација "
+"заузима\n"
+"само 65 Mb\n"
+"\n"
+"Можете селектовати и \"Појединачно бирање пакета\", које је корисно "
+"уколико\n"
+"су вам познати понуђени пакети и желите да имате потпуну \n"
+"контролу над свим што ће бити инсталирано.\n"
+"\n"
+"Уколико сте покренули мод \"Ажурирање\", можете деселектовати све\n"
+"групе да би избегли инсталацију било ког новог пакета. Ово је корисно за "
+"поправљање или\n"
+"ажурирање постојећег система."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ажурирање"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Са основном документацијом (препорука!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Минимално инсталирај"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"На крају, у зависности од вашег избора да да бирате појединачне пакете\n"
+"или не, биће вам приказано стабло са свим пакетима класификованим\n"
+"по групама и подгрупама. Док претражујете стабло, можете селектовати целе\n"
+"групе, подгрупе, или индивидуалне пакете.\n"
+"\n"
+"Када код селектујете пакет на стаблу, опис се појављује са десне\n"
+"стране. да би могли да се упознате наменом пакета.\n"
+"\n"
+"!! Уколико је сервер пакет изабран случајно или као део\n"
+"целе групе, бићете упитани да ли заиста желите да инсталирате\n"
+"понуђене сервере. Под Mandriva Linux-ом, сви инсталирани\n"
+"сервери се стартују по default-у за време подизања система. Чак и ако су "
+"сигурни и немају\n"
+"познатих безбедносних пропуста до времена изласка дистрибуције, може се "
+"десити\n"
+"да сигурносне рупе буду откивене касније.\n"
+" Уколико не знате који појединачни сервис шта треба да ради\n"
+"или зашто се инсталира, онда кликните \"Не\". Кликом на \"Да\" ћете\n"
+"инсталирати приказане сервис и они ће бити покренути аутоматски по\n"
+"default-у. !!\n"
+"\n"
+"Опција \"Аутоматске међузависности\" једноставно искључује дијалог са "
+"упозорењем\n"
+"који се јавља сваки пут када инсталер аутоматски селектује пакете. Ово се\n"
+"јавља зато што он одређује да мора да задовољи зависности са другим\n"
+"пакетом да би успешно завршио инсталацију.\n"
+"\n"
+"Мала иконица флопи диска на дну листе вам омогућава да учитате\n"
+"листу пакета биране током претходне инсталације. Кликом на ову иконицу\n"
+"ће од вас бити тражено да убаците дискету креирану раније на крају \n"
+"претходне инсталације. Погледајте последњи пасус (корак) да би научили како "
+"да креирате \n"
+"такву дискету."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"Штампач\": ако кликнете на тастер \"Без штампача\" покренути ћете "
+"конфигурациони\n"
+"програм за штампаче. Погледајте и одговоарајуће упуство у``Starter\n"
+"Guide'' за више информација о томе како да подесите нови штампач. Програм "
+"које се\n"
+"тада активира је сличан оном који се користи током инсталације."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Сада можете одабрати које сервисе желите да се стартају при подизању "
+"система.\n"
+"\n"
+"DrakX ће приказати све доступни сервисе на тренутној\n"
+"инсталацији. Прегледајте их пажљиво и деселектујте оне који вам неће бити "
+"увек\n"
+"потребни при подизању система.\n"
+"\n"
+"Можете добити и кратко објашњење о сервису селектовањем\n"
+"одређеног сервиса. Међутим, уколико нисте сигурни који од сервиса јесу или\n"
+"нису корисни, сигурније је оставити на default поставкама.\n"
+"\n"
+"!!На овом нивоу, будите веома пажљиви уколико желите да користите вашу "
+"машину као\n"
+"сервер: вероватно нећете желети да стартујете ниједан сервис који вам неће\n"
+"требати. Запамтите да неколико сервиса може бити опасно уколико\n"
+"су омогућени на серверу. Генерано говорећи, изаберите само сервисе које ћете "
+"стварно требати.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux управља са временом у GMT (Greenwich Mean Time) и преводи га у\n"
+"локално време у зависности коју сте временску зону изабрали. Међути, могуће "
+"је\n"
+"ово и деактивирати деселектовањем \"Подеси хардверски часовник на GMT\" тако "
+"да хардверски часовник\n"
+"хаима исто време као и системски часовник. Ово је корисно када на машини "
+"имате\n"
+"још један оперативни систем као што је Windows.\n"
+"\n"
+"Опција \"Аутоматска сихронизација часовника\" ће аутоматски регулисати\n"
+"часовник конектовањем на удаљени временски сервер на Интернету. На \n"
+"листи која је приказана, изаберите сервер који се налази близу вас. "
+"Наравно,\n"
+"морате имати исправно подешену Интернет конекцију да би могли да користите "
+"ову опцију. Она ће\n"
+"уствари инсталирати на вашу машину временски сервер који се помогућности "
+"може користити и од\n"
+"стране других машина на вашој локалној мрежи."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Аутоматска синхронизација времена (преко NTP-а)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графичка картица\n"
+"\n"
+" Програм за инсталацију обично аутоматски детектује и подешава\n"
+"графичку карту која је инсталирана у вашој машини. Уколико то није случај, "
+"можете\n"
+"да је изаберете сами са листе понуђених картица.\n"
+"\n"
+" У случају да је више графичких сервера доступно за вашу картицу, са или\n"
+"без 3D акцелерације, онда сами одаберите ону која најбоље одговара\n"
+"вашим потребама."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (или X Window Систем) је срце GNU/Linux графичког интерфејса\n"
+"на који се ослањају сва графичка окружења (KDE, GNOME, AfterStep,\n"
+"WindowMaker, итд.) која се налазе у Mandriva Linux-у.\n"
+"\n"
+"Биће вам приказана листа са различитим параметрима чијом изменом\n"
+"можете добити оптималан графички приказ: Графичка картица\n"
+"\n"
+"\n"
+" Програм за инсталацију обично аутоматски детектује и подешава\n"
+"графичку карту која се налази у вашем рачуну. Уколико то није случај, "
+"можете\n"
+"сами да изаберете картицу са листе.\n"
+"\n"
+" Уколико су различити сервери доступни за вашу картицу, са или\n"
+"вез 3D акцелерације, онда треба да изаберете онај који највише\n"
+"одговара вашим потребама.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Програм за инсталацију обично аутоматски детектује и подешава\n"
+"монитор који повезан са вашим рачунаром. Уколико се то не деси можете "
+"изабрати\n"
+"сами са листе понуђених монитора\n"
+"\n"
+" Овде можете изабрати резолуцију и број боја од\n"
+"оних које су понуђене за ваш хардвер. Изаберите оно што највише одговара "
+"вашим потребама\n"
+"(ове опције ћете моћи изменити и након инсталације). Изабрана\n"
+"конфигурације се види на монитору.\n"
+"\n"
+"\n"
+"\n"
+"Тест\n"
+"\n"
+" систем ће покушати да отвори графички екран у жељеној\n"
+"резолуцији. Уколико можете да видите поруку током теста одговорите са \"Да"
+"\",\n"
+"и DrakX ће наставити са следећим кораком. Уколико не можете да видите "
+"поруку, то\n"
+"значи да је неки део аутотедекције био неправилан и\n"
+"тест ће аутоматски завршити након 12 секунди, отаварајући мени за\n"
+"конфигурацију. Измените опције све док не добијете коректан графички "
+"приказ.\n"
+"\n"
+"\n"
+"\n"
+"Опције\n"
+"\n"
+" Овде можете да изаберете да ли желите да ваш рачуанр аутоматски\n"
+"пређе на графички интерфејс при стартању. Очигледно, изабраћете\n"
+"\"Не\" уколико је ваша машина сервер, или уколико нисте успели да успешно \n"
+"подесите графички приказ."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Програм за инсталацију обично аутоматски детектује и подешава\n"
+"монитор повезан на вашу машину. Уколико се то недеси, можете сами\n"
+"сами да изаберете модел монитора са листе."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Резолуција\n"
+"\n"
+" Овде можете изабрати резолуцију и број боја које су\n"
+"доступне за ваш хардвер. Изаберите оно што највише одговара вашим потребама "
+"(ове опције ћете моћи\n"
+"да промените и након инсталације). Пример изабране\n"
+"конфигурације је приказан на монитору."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"У случају да су доступни различити сервери за вашу картицу, са или\n"
+"без 3D акцелерације, најбоље је да изаберете сервер који\n"
+"највише одговара вашим потребама."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"На крају, бићете упитани да ли желите графички интерфејс\n"
+"при стартању система. Ово питање ће вам бити поставњено чак и ако нисте "
+"тестирали\n"
+"конфигурацију. Наравно, одговорићете \"Не\" уколико ваша машина предстаља\n"
+"сервер, или уколико нисте успешно подесили\n"
+"дисплејед."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"У овом тренутку, морате да изаберете где ћете инсталирати\n"
+"Mandriva Linux оперативни систем на ваш хард диск. Уколико је празан или\n"
+"постојећи оперативни систем користи сав постојећи простор на диску, треба да "
+"га\n"
+"партиционирате. У основи, партиционирање хард диска се састоји логичког\n"
+"дељења да би обезбедили простор за инсталацију ваш нови Mandriva Linux "
+"систем.\n"
+"\n"
+"Пошто су ефекти процеса партиционирања обично неповратни,\n"
+"партиционирање може бити прилично стресан процес за неискусне кориснике.\n"
+"Овај чаробњак га поједностављује. Пре почетка, консултујте упуство и не "
+"журите.\n"
+"\n"
+"Уколико сте покренули инсталацију у Експерт моду, покренућете\n"
+"DiskDrake, Mandriva Linux-ов алат за партиције, који вам дозвољавав да\n"
+"фино подесите ваше партиције. Погледајте DiskDrake секцију у ``User "
+"Guide''.\n"
+"Из инсталационог интерфејса, можете користити чаробњаке као што је описано "
+"овде\n"
+"кликом на дијалогов \"Чаробњак\" тастер.\n"
+"\n"
+"Уколико су партиције већ креиране, од предходне инсталације \n"
+"иликреиране другим алатом за партиционирање, морате изабрати \n"
+" на које од њих ћете инсталирати Linux систем.\n"
+"\n"
+"Уколико партиције нису дефинисане, марате да их креирате. \n"
+"Да би то урадили, можете да користите горе постављени чаробњак. У "
+"зависности \n"
+"од конфигурације хард диска, постоји неколико могућности:\n"
+"\n"
+" * \"Користи слободан простор\": ова опција ће једноставно довести до "
+"аутоматског\n"
+"партиционирања вашег празног(их) диска(ова). Неће вам бити постављана даљна "
+"питања;\n"
+"\n"
+" * \"Користи постојеће партиције\": чаробњак је детектовао једну или више \n"
+"постојећих Linux партиција на вашем хард диску. Уколико\n"
+"желите да њихј користите, изаберите ову опцију.\n"
+"\n"
+" * \"Користи слободан простор на Windows партицији\": уколико је Microsoft "
+"Windows\n"
+"инсталиран на вашем диску и он заузима сав постојећи простор на њему,\n"
+"мораћете да креирате слободан простор за Linux. Да би то урадили, можете "
+"избрисати\n"
+"Microsoft Windows партицију и податке (погледајте `Брисање целог диска'' или "
+"``Експерт\n"
+"мод'' опције) или да промените величину Microsoft Windows партиције. Промена "
+"величине\n"
+"се може исвести без губљења података, али се птепоручује да прво "
+"дефрагментирате\n"
+"Windows партицију из самог Windows-а. Backup података такође није лоша "
+"идеја..\n"
+"Ово решење се препоручује уколико желите да користите Mandriva Linux и\n"
+"Microsoft Windows на истом компјутеру.\n"
+"\n"
+" Пре него што изаберете ову опцију, морате да разумете да након ове "
+"процедуре\n"
+"величина ваше Microsoft Windows партиције ће бити мања\n"
+"у односу на тренутно стање. Имађете мање слободног простора у Microsoft\n"
+"Windows-у за смештање података или инсталаију новог софтвера;\n"
+"\n"
+" * \"Брисање цвелог диска\": уколико желите да избришете све податке и све\n"
+"партиције који постоје на вашем хард диску и замените их вашим\n"
+"новим Mandriva Linux системом, можете да изаберете ову оцију. Будите\n"
+"пажљивиса овом опцијом, јер нећете бити у могућности\n"
+"да повратите старо стање након потврде.\n"
+"\n"
+" !! Уколико изаберете ову опцију, сви подаци на диску ће бити "
+"изгубљени. !!\n"
+"\n"
+" * \"Уклони Windows\": ова опција ће једноставно избрисати све са хард диска "
+"и\n"
+"креирати нове партиције. Сви подаци на вашем диску\n"
+"ће бити избрисани;\n"
+"\n"
+" !! Уколико изаберете ову опцију, сви подаци на диску ће бити "
+"изгубљени. !!\n"
+"\n"
+" * \"Custom партиционисање диска\": изаберите ову опцију уколико желите\n"
+"да ручно ваш хард диск. Будите пажљиви -- ово је моћан\n"
+"али опасан избор и врло лако можете изгубити своје податке. Због тога се\n"
+"ова опција препоручује само онима који имају искуства\n"
+"од раније. За више података о томе како да користите\n"
+"програм DiskDrake, погледајте поглавље ``Управљајте својим партицијама '' у\n"
+"``Почетнички водич''."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Користи постојећу партицију"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Избриши цели диск"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"И стигли сте до краја. Инсталација је сада завршена и ваш GNU/Linux систем "
+"је \n"
+"спреман за употребу. Само кликните на \"Следећи -\" да би рестартовали "
+"систем. Можете покренути\n"
+"GNU/Linux или Windows, шта год више преферирате (уколико имате инсталирана "
+"два система), чим\n"
+"се рачунар поново покрене.\n"
+"\n"
+"Тастер Напредно \"%s\" (само у Експерт моду) приказује још два тастера за:\n"
+"\n"
+" * \"креирање ауто-инсталационе дискете\": ради креирања инсталационог флопи "
+"диска\n"
+"који ће аутоматски покренути целу инсталацију без помоћи оператора\n"
+", слично овој инсталацији коју сте управо извели.\n"
+"\n"
+" Можете приметити да су две различите опције доступне након притиска на "
+"тастер:\n"
+"\n"
+" * \"Са понављањем\". Ово је делом аутоматизирана инсталација јер корак "
+"са\n"
+"партиционирањем диска остаје интерактиван (само он).\n"
+"\n"
+" * \"Аутоматизовано\". Потпуно аутоматизована инсталација: хард диск се у "
+"потпуности\n"
+"форматизује, и сви подаци ће бити изгубљени.\n"
+"\n"
+" Ова опција је веома корисна уколико изводите велики број сличних "
+"инсталација\n"
+"на већем броју машина. Погледајте секцију о ауто инсталацији на нашем web "
+"сајту.\n"
+"\n"
+" * \"Сачувај селекцију пакета\"(*) : снима селекцију пакета који сте\n"
+"направили у овој инсталацији. Тако, да када будете изводили другу "
+"инсталацију, убаците дискету\n"
+"и покренете помоћни екран притиском на\n"
+"[F1] тастер, и захтевом за >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Морате да иамте FAT-форматирану дискету (да би је форматирали под GNU/"
+"Linux-ом, укуцајте\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Креирај ауто инсталациону дискету"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Свака партиција која је новодефинисана мора бити\n"
+"форматирана за уптребу (форматирање значи креирање датотечног(фајл) "
+"система).\n"
+"\n"
+"Сада можда желите да реформатирате постојеће партиције да би избрисали\n"
+"податке које садрже. Уколико желите то, изаберите партиције \n"
+"које желите да форматизујете.\n"
+"\n"
+"\n"
+"Запамтите да није потребно да реформатирате све постојеће партиције.\n"
+"Морате да реформатирате партиције које садрже оперативни систем \n"
+"(као што су \"/\", \"/usr\" или \"/var\") али не морате да реформатирате "
+"партиције које садрже податке\n"
+"које желите да задржите (обично /home).\n"
+"\n"
+"Пазите при бирању партиција, после форматирања, св подаци ће \n"
+"бити избрисани и нећете их моћи повратити.\n"
+"\n"
+"Кликните на \"Следеће ->\" када буде спремни да форматирате партиције\n"
+"\n"
+"Кликните на \"<- Претходно\" ако желите да изаберете другу партицију за свој "
+"нови\n"
+"Mandriva Linux систем.\n"
+"\n"
+"Кликните на \"Напредно\" уколико желите да изаберете партиције које ће бити "
+"проверене\n"
+"да ли имају лоше секторе."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"У време када будете инсталирали Mandriva Linux, врло је могуће да ће неки\n"
+"пакети бити ажурирани у односу на иницијално издање. Неки багови могу \n"
+"бити исправљени, а сигурносни пропусти затворене. Да би могли да користите "
+"ове новије верзије\n"
+"ми вам предлажемо да их скинете са Интернета. Изаберите\n"
+"Да или \"Да\" уколико имате подешену Интернет конекцију, или Не или \"No\" "
+"уколико више волите да\n"
+"инсталирате те нове пакете касније.\n"
+"\n"
+"Избором на \"Да\" приказује се листа места са којих можете да добавите ное "
+"верзије \n"
+"пакета. Изаберите место које вам је најближе. Затим ће се појавити стабло са "
+"слелекцијом пакета:\n"
+"прегледајте селекцију, и притисните \"Инсталирај\" да би скинули и\n"
+"инсталирали селектовни(е) пакет(е), или \"Поништи\" за одустајање."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"на овом месту, DrakX ће вам дозволити да одредите жељени ниво сигурности\n"
+"за ваш рачунар. Као неписано правило, ниво сигурности би требао\n"
+"већи уколико машина садржи важне податке, или уколико је машина\n"
+"директно везана на Интернет. Спуштање сигурности углавном\n"
+"се види у опвећању лакоће рада са системом. Погледајте \"msec\"\n"
+"поглавље у ``Упупство за командну линију''да би добавили више информација\n"
+"о нивиоима сигурности.\n"
+"\n"
+"Уколико не знате да изаберете, задржите default поставку."
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "Администратор за сигурност:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"На овој тачки, морате избрати коју партицију(e) желите да користите за\n"
+"инсталацију новог Mandriva Linux система. Уколико су партиције\n"
+"већ дефинисане (од предходне инсталације или од стране\n"
+"другог алата за партиције), можете да користите постојеће партиције.\n"
+"У другим случајевима,\n"
+"хард диск партиције морају бити дефинисане.\n"
+"\n"
+"Да би креирали партиције, морате прво изабрати хард диск. Можете изабрати\n"
+"диск за партиционирање кликом на \"hda\" за први IDE диск, \"hdb\" или \n"
+"за други или \"sda\" за први SCSI диск итд.\n"
+"\n"
+"За партиционирање селектованог хард диска, можете користити следеће опције:\n"
+"\n"
+" * \"Очисти све\": ова опција брише све партиције на изабраном хард \n"
+"диску.\n"
+"\n"
+" * \"Auto алоцирање\": ова опција дозвољава да аутоматски креирате Ext2 "
+"и \n"
+"swap партиције на слободном простору \n"
+" хард диска.\n"
+"\n"
+"\"Још\": даје приступ додатним опцијама:\n"
+"\n"
+" * \"Спаси табелу партиција\": уколико је ваша табела партиција "
+"оштећена, \n"
+"можете да пробате да је опоравите користећи ову опцију. Будите\n"
+" пажљиви и знајте да може да и не успе.\n"
+"\n"
+" * \"Врати на старо\": ова опција ће поништити измену.\n"
+"\n"
+" * \"Поновно учитавање\": ову опцију можете користити уколико желите да \n"
+"поништитисве промене и учитате иницијалну табелу партиција\n"
+"\n"
+" * \"Чаробњак\": уколико желите да користите чаробњака за партиционирање \n"
+"хард диска, изаберите ову опцију. Препоручена је укоико\n"
+" немате много знања о партцијама.\n"
+"\n"
+" * \"Поврати са дискете\": уколико сте снимили табелу партиција на \n"
+"дискету током претходне инсталације, можете је\n"
+" вратити са овом опцијом.\n"
+"\n"
+" * \"Сними на дискету\": уколико желите да да снимите табелу партиција на\n"
+"дискету да би могли касније да је повратите, можете да искористите\n"
+" ову опцију. Нарочито препоручујемо ову опцију\n"
+"\n"
+" * \"Урађено\": када завршите са партиционирањем хард диска, искористите "
+"ову опцију да би снимили промене.\n"
+"\n"
+"Када дефинишете величину партиција, можете коначно подесити величину\n"
+"партиција помоћу тастера са стрелицама на вашој стрелицама\n"
+"За више информација, можете за сваку оцпију добити кретањем помоћу "
+"тастатуре: навигацијом кроз партиције помоћу [Tab] тастера и [Up/Down] "
+"стрелица.\n"
+"\n"
+"Када је партиција изабрана, можете користити:\n"
+"\n"
+" * Ctrl-c за креирање нове партиције (када је изабрана празна партиција);\n"
+"\n"
+" * Ctrl-d за брисање партиције;\n"
+"\n"
+" * Ctrl-m за постављање тачке монтирања.\n"
+"\n"
+"Да би добили информације о различитим доступним типовима система, "
+"прочитајте\n"
+"ext2FS поглавље из ``Упуства''.\n"
+"\n"
+"Уколико радите инсталацију на PPC Машину, можда ћете желети да креирате "
+"малу\n"
+"HFS 'bootstrap' партицију од најмање 1MB за употребу\n"
+"yaboot стартера. Уколико се двоумите да ову партицију направите мало већом,\n"
+"на пример 50MB, можете искористити тај простор за смештање\n"
+"резервног кернела и ramdisk image за стартање у хитним ситуацијама."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Аутомонтирање преносивог медија"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Пређи на нормални мод"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Једна или више Microsoft Windows партиција је детектовано \n"
+"на хард диску. Изаберите коју од њих желите да смањите да би инсталирали\n"
+"нови Mandriva Linux оперативни систем.\n"
+"\n"
+"Свака партиција је исписана на следећи начин: \"Име Linux-а\",\"Име Windows-а"
+"\"\n"
+"\"Капацитет\".\n"
+"\n"
+"\"Име Linux-а\" је кодирано на следећи начин: \"тип хард диска\", \"број "
+"хард диска\",\n"
+"\"број партиције\" (на пример, \"hda1\").\n"
+"\n"
+"\"Тип хард диска\" је \"hd\" уколико је хард диск ID уређај и \"sd\"\n"
+"уколико је SCSI хард диск.\n"
+"\n"
+"\"Број хард диска\" је увек слово после \"hd\" или \"sd\". Са IDE хард "
+"дисковима:\n"
+"\n"
+" * \"a\" значи \"master хард диск на примарном IDE контролеру\",\n"
+"\n"
+" * \"b\" значи \"slave хард диск на примарном IDE контролоеру\",\n"
+"\n"
+" * \"c\" значи \"master хард диск на секундраном IDE контролоеру\",\n"
+"\n"
+" * \"d\" значи \"slave хард диск на секундарном IDE контролеру\".\n"
+"\n"
+"Са SCSI хард дисковима, \"a\" значи \"примарни хард диск\", a \"b\" значи "
+"\"секундарни хард диск \", итд.\n"
+"\n"
+"\"Име Windows-а\" је слово хард диска под Windows-ом (први диск\n"
+"или партиција се зове \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"Држава\": проверава тренутни избор земље. Уколико се не налазите у овојс\n"
+"држави, кликните на тастер и и изаберите другу."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Овај корак се активира само у случају да постоји стара GNU/Linux партиција "
+"на\n"
+"вашиој мошини.\n"
+"\n"
+"DrakX сада треба да зна да ли желите да изведете чисту инсталацију или "
+"ажурирање\n"
+"постојећег Mandriva Linux система:\n"
+"\n"
+" * \"Инсталација\": У већини случајева, ова опција комплетно брише стари\n"
+"систем. Уколико желите да измените број партиција, или\n"
+"промените фајл систем, требали би да користите ову опцију. Ипак, у "
+"зависности од\n"
+"шеме партиција, можете заштитити неке постојеће податке\n"
+"од форматирања.\n"
+"\n"
+" * \"Ажурирање\": ова инсталациона класа вам дозвољава да урадите ажурирање "
+"пакета\n"
+"на тренутно инсталираном Mandriva Linux систему. Ваша тренутна\n"
+"шема партиција и кориснички подаци се не мењају. Већина других\n"
+"конфигурационих корака и даље остаје доступна, слично стандардној "
+"инсталацији.\n"
+"\n"
+"Употреба опције ``Ажурирање'' би требало да буде без проблема на Mandriva "
+"Linux системима\n"
+"од верзије \"8.1\" или новије. Извођење ажурирања на верзијама \n"
+"Mandriva Linux пре \"8.1\" није препоручљиво."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"У принципу, DrakX бира десну тастатуру за вас (у зависности од тога који\n"
+"сте језик изабрали) и чак и нећете видети овај корак. Ипак, може\n"
+"се десити да нисте добили тастатуру која одговара вашем језику: на\n"
+"пример, уколико сте Швајцарац који говори енглески, вероватно ћете желети\n"
+"Швајцарску тастатуру. Или уколико говорите Енглески али се налазите\n"
+"у Квебеку, можете се наћи у истој ситуацији. У оба\n"
+"случаја, мораћете да се вратите на овај инсталациони корак и изаберете\n"
+"одговарајућу тастатуру са листе.\n"
+"\n"
+"Кликните на тастер \"Још\" да би добили комплетну листу\n"
+"подржаних тастатура.\n"
+"\n"
+"Уколико изаберете распоред тастатуре базиран на non-Latin алфабету, следећи\n"
+"дијалог ће вам понудити да изаберете комбинацију тастера који ће служити\n"
+"да мењате Latin и non-Latin распореде."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ваш избор јеика ће утицати на језик документације,\n"
+"инсталације и система уопште. Прво изаберите регион у којем се налазите,\n"
+"а затим језик који говорите.\n"
+"\n"
+"Кликом на тастер \"Напредно\" омогућићете себи да видите друге\n"
+"језике које можете инсталирати на вашу радну страницу. Бирањем других "
+"језика\n"
+"ћете инсталирати фајлове везане (за специфициране језике) за документацију "
+"и\n"
+"апликације. На пример, уколико ће на вашем рачунару хостовати корисници из "
+"Шпаније\n"
+"изаберите Енглески као главни а на стаблу\n"
+"означите и \"Шпаниски|Шпанија\".\n"
+"\n"
+"Запамтите да можете инсталирати више језика. Када изаберете све жељене\n"
+"додатне локализације кликните на тастер \"У реду\" да би наставили.\n"
+"\n"
+"Да би мењали различите језике који су инсталирани на вашем систему, можете "
+"покренути\n"
+" \"/usr/sbin/localedrake\" команду као \"root\" да би променили језик који "
+"се \n"
+"користи у целом систему. покретањем команде као регуларни корисник само ћете "
+"променити\n"
+"поставке језика за датог корисника."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX генерално детектује број тастера који ваш миш посдедује. Уколико се то "
+"не деси\n"
+"он ће претпоставити да миш са два тастера и подесиће емулацију трећег "
+"тастера.\n"
+"DrakX ће аутоматски препознати да ли се ради о PS/2, серијском или USB "
+"мишу.\n"
+"\n"
+"Уколико желите да специфицирате други тип миша одаберите одговарајући\n"
+"тип са листе.\n"
+"\n"
+"Уколико изберете миша који се разликује од default-а појавиће вам се\n"
+"тест екран. Користите тастере и точкиће да би проверили да ли су поставке\n"
+"добре. Уколико миш не ради исправно притисните тастер за размак (space bar) "
+"или\n"
+"тастер [Return] да би поништили тест и вратили се да би покушали поново.\n"
+"\n"
+"Точкићи на мишу се понекад не детектују аутоматски, па ћете сами морати да\n"
+"изаберете миша са листе. Пазите да изаберете одговарајући везано\n"
+"за порт на који је миш повезан. након избора миша\n"
+"и притиска на тастер \"Следећи ->\", слика миша ће бити приказана на "
+"екрану.\n"
+"Покрените тошкић да би проверили да ли је правилно активиран. Када \n"
+"видите да се точкић на екрану помера као и точкић на мишу, тестирајте\n"
+"тастере и проверите да ли курсор на екрани прати ваше \n"
+"померање миша."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Емулација тастера"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Молим, изаберите одговарајући порт. На пример, COM1 порт под MS Windows-ом\n"
+" у Linux-у има ознаку ttyS0."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ово је најзаначајнија тачка у одлучивању о сигурности вашег GNU/Linux\n"
+"система: морате да унесете \"root\" лозинку. \"root\" је администратор\n"
+"система и једини је овлаштен да врши измене, додаје кориснике,\n"
+"мења основну конфигурацију система, итд. Укратко, \"root\" може\n"
+"да уради све! Због тога морате да изаберете лозинку која тешко може да се\n"
+"погоди - DrakX ће вам рећи уколико је она сувише једноставна. Као што можете "
+"да видите, можете да\n"
+"изаберете и да не унесете лозинку, али вам озбиљно препоручујемо да то\n"
+"нерадите из једног разлога: немојте да мислите да то што сте стартовали GNU/"
+"Linux да\n"
+"ваши други оперативни системи сигурни од грешака. Како \"root\" може да\n"
+"прескочи сва ограничења и ненамерно избрише све податке на партицији\n"
+"неопрезним приступом, важно је да је тешко\n"
+"постати \"root\".\n"
+"\n"
+"Лозинка треба да буде мешавина бројева и слова и треба да садржи најмање 8\n"
+"карактера. Никада не записујте на папир \"root\" лозинку - тако лако\n"
+"можете угрозити систем.\n"
+"\n"
+"Међутим, потрудите се да лозинка не буде превише дуга или комликована зато\n"
+"што треба да је запамтите без много напора.\n"
+"\n"
+"Лозинка неће бити приказана на екрану када је укуцавате. Срећом, моћи ћете\n"
+"да је укуцате два пута да би смањили могућност греше у куцању.\n"
+"Уколико ипак погрешите у куцању, али два пута, ова\n"
+"``неисправна'' лозинка ће бити кориштена када се будете први пут "
+"конектовали.\n"
+"\n"
+"У Експертномм моду, бићете питани да ли ћете се конектовати на\n"
+"аутентификациони сервер, као што је NIS или LDAP.\n"
+"\n"
+"Уколико ваша мрежа користи LDAP (или NIS) протокол за аутентификацију, "
+"селектујте\n"
+"\"LDAP\" (или \"NIS\") за аутентификацију. Уколико то незнате, питајте\n"
+"вашег мрежног администратора.\n"
+"\n"
+"Уколико се ваш рачунар не конектује на администриране мреже, треба да\n"
+"изаберете \"Локални фајлови\" за аутентификацију."
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Аутентификација"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Сада треба да изаберемо систем за штампање за ваш рачунар. Други OS-ови вам\n"
+"нуде један, али вам Mandriva Linux нуди чак три.\n"
+"\n"
+" * \"pdq\" што значи ``print, do not queue'', је избор за оне који имају\n"
+"директни конекцију са својим штампачем и желите да избегнете\n"
+"било какве застоје штампача, а при томе немате мрежне штампаче. Он може да "
+"се користи\n"
+"само на веома једноставним мрежама и помало је и спор за мреже. Изаберите "
+"\"pdq\"\n"
+"уколико упознајете GNU/Linux. Ваш избор наравно можете променити\n"
+"након иснталације покрећући PrinterDrake from из Mandriva Контролног\n"
+"Центра и кликом на expert тастер.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', је изврстан за штампање на вашем\n"
+"локалоном штампачу као и за штампање по целој земаљској кугли. Он је "
+"једноставан и може се понашати\n"
+"као сервер или као клијент са старог \"lpd\" ситема за штампање. Такође, он\n"
+"је компатибилан са системима који су раније постојали. Он може много тога, "
+"али\n"
+"основно подешвање је једноставно као и код \"pdq\". Уколико треба да "
+"емулирате\n"
+"an \"lpd\" сервер, морате да покренете \"cups-lpd\" демон. Он поседује\n"
+"графички интерфејс за штапање и избор опција за штампање.\n"
+"\n"
+"Ако то ниј случај, CUPS је онда права ствар јер је једноставнији и бољи за "
+"рад преко\n"
+"мрежа."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Стручни"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX сада треба да детектује IDE уређаје присутне у вешем рачунару.DrakX "
+"ће \n"
+"потражити PCI SCSI адаптер(e). Уколико DrakX пронађе SCSI адаптер(е) и буде "
+"знао који управљачки програм \n"
+"(драјвер) користион ће га(их) аутоматски инсталирати.\n"
+"\n"
+"Пошто се може десити да при детекцији нека компонента не буде детектована \n"
+"DrakX ће вас упитати да ли имате PCI SCSI адаптер. Кликните \"Да\" \n"
+"уколико знате да имате SCSI адаптер на својој машини. На приказаној листи \n"
+"моћи ћете да изаберете одговоарајући.\n"
+"Кликните \"Не\" уколико немате SCSI адаптера у машини. Уколико нисте \n"
+"сигурни\n"
+"проверите на листи детектованог хардвера селектовањем \"Погледај инфо о \n"
+"хардверу\"и кликом на \"У реду\". Прегледајте\n"
+"листу а онда кикните на \"У реду\" да би се вратили на питање о SCSI \n"
+"уређајима.\n"
+"\n"
+"Уколико морате ручно да специфицирате ваш PCI SCSI адаптер, DrakX ће\n"
+"вас упитати да одредите опције за њега.Треба ли би да дозволите DrakX-у да\n"
+"испита адаптер ради тих опција. Ово обично и успе.\n"
+"\n"
+"Уколико DrakX није у стању да испита опције које су потребне, мораћете да \n"
+"сами одредите опције за драјвер.\n"
+"Погледајте и Инсталациони водич (3 поглавље, секција \"Прикупљање \n"
+"информација о вашем хардверу\")\n"
+"да би сазнали како да прибавите информације о параметрима потребним за \n"
+"хардвер,са своје Windows инсталације (уколико је имате на систему),\n"
+"докуменатцију о хардверу, или са произвођачевог \n"
+"веб сајта (уколико имате приступ интернету)."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"Звучна картица\": уколико је звучна картица детектована на вашем систему, "
+"онда је приказана\n"
+"овде. Уколико приметите да приказана картица није она која је стварно "
+"присутна\n"
+"у вашем рачунару, можете кликнути на тастер и\n"
+"други драјвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Интерна ISDN картица"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Графички интерфејс"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Изаберите хард диск који желите да избришете да би инсталирали нову Mandriva "
+"Linux \n"
+"партицију. Будите пажљиви, сви подаци на њему ће бити изгубљени\n"
+"и неће се моћи повратити!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Кликните на \"Следеће ->\" уколико желите да избришете све податке и \n"
+"партиције на овом хард диску.Будите пажљиви, после клика на \"У реду\", ви\n"
+"нећете моћи да повратите било који податак или партицију на хард диску,\n"
+"па и било које Windows податке.\n"
+"\n"
+"Кликните на \"<- Ппретходно\" да би поништи ову операцију без губљења "
+"података и\n"
+"партиција које су присутне на овом хард диску."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Следећи ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Претходни"
+
diff --git a/perl-install/install/help/po/sr@Latn.po b/perl-install/install/help/po/sr@Latn.po
new file mode 100644
index 000000000..6e57f292d
--- /dev/null
+++ b/perl-install/install/help/po/sr@Latn.po
@@ -0,0 +1,1909 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:34+0200\n"
+"Last-Translator: Toma Jankovic_<tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Pre nego što nastavite pažljivo pročitajte uslove licence. Ona\n"
+"pokriva celu Mandriva Linux distribuciju, i ukoliko se slažete\n"
+"sa svim uslovima koji se nalaze u njoj, kliknite na \"Prihvatam\" taster\n"
+"Ukoliko ne prihvatate, jednostavno isključite \n"
+"računar."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux je višekorisnički sistem, a to znači da svaki korisnik može imati "
+"sopstvene\n"
+"postavke, sopstvene fajlove, itd. Možete pročitati ``Upustvo za korisnike''\n"
+"da bi saznali više o tome. Ali za razliku od \"root\", koji je ustvari "
+"administrator, korisnici\n"
+"koje dodate ovde neće moći da menjaju bilo šta osim njihovih\n"
+"fajlova i njihove konfiguracije. Trebalo bi da kreirate najmanje jednog\n"
+"običnog korisnika za sebe. Taj račun je onaj na koji treba da se logujete \n"
+"za rutinsko korišćenje. Iako je veoma praktično da se ulogujete kao \"root\" "
+"svaki dan,\n"
+"to može biti veoma opasno! I najmanja greška može značiti da vaš sistem\n"
+"neće više raditi. Ukoliko napravite ozbiljne greške kao obični korisnik \n"
+"možete jedino izbgubiti nešto informacija, ali ne i celi sistem.\n"
+"\n"
+"Prvo, morate da unesete vaše pravo ime. Ovo nije neophodno, naravno -\n"
+"jer možete pristupiti i izmeniti ga kada god želite. DrakX će tada uzeti "
+"prvu\n"
+"reč koji ste uneli i staviti ga u prostor za unošenje imena korisnika "
+"\"User\n"
+"name\". Ovo je ime koje odreženi korisnik treba da koristi pri logovanju na\n"
+"sistem. Možete ga promeniti. YNakon toga morate uneti lozinku ovde.\n"
+"Obični, ne-privilegovani korisnička lozinka nije od većeg značaja kao ona "
+"za\n"
+"\"root\" koriosnika sa sigurnosne tačke gledanja, ali to nije razlog za "
+"opuštanje\n"
+"- nakon svega, vaši fajlovi su u pitanju.\n"
+"\n"
+"Ukoliko kliknete na \"Prihvati korisnikar\", možete dodati još korisnika. "
+"Dodajte\n"
+"korisnika za svakog vašeg prijatelja: za vašeg oca ili sestru, na\n"
+"primer. Kada zaršite dodavanje svih željenih korisnika, izaberite \"Završeno"
+"\".\n"
+"\n"
+"Klikom na taster Napredno \"Napredno opcije\" možete izmeniti default \"shell"
+"\"\n"
+"za trenutnog korisnika (bash po default). \n"
+"\n"
+"Kada završite sa dodavanjem korisnika, računar će tražiti da izaberete "
+"korisnika\n"
+"koji će se automatski prijavljivati na sistem pri njegovom startanju. "
+"Ukoliko\n"
+"vas zanima ova mogućnost (i ne vodite mnogo računa o lokalnoj\n"
+"sigurnosti), izaberite željenog korisnika i window menažer, a zatim kliknite "
+"na \"Sledeći\n"
+"->\". Ukoliko niste zainteresovani za ovu opciju, deselektujte \"Da li "
+"želite\n"
+"da koristite ovu opciju?\" ."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Da li želite da koristite ovu opciju ?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Iznad se nalazi lista postojećih Linux particija koje su detektovane\n"
+"na hard disku. Možete zadržati izbor koji je napravio čarobnjak, jer je "
+"dobar za a\n"
+"opštu upotrebu. Ukoliko promenite izbor, morate bar izabrati root\n"
+"particiju (\"/\"). Nemojte da birate suviše malu particiju jer nećete moći "
+"da\n"
+"instalirate ovoljno softvera. Ukoliko želite da podatke staviljate na "
+"posebnu particiju ,\n"
+"morate da izaberete i \"/home\" (moguće je ukoliko imate više od jedne\n"
+"Linux particije).\n"
+"\n"
+"\n"
+"Informacija: svaka particija je prikazana na sledeći način: \"Ime\", "
+"\"Kapacitet\".\n"
+"\n"
+"\"Ime\" je kodirano na sledeći način: \"tip hard diska\", \"broj hard diska"
+"\",\n"
+"\"proj particije\" (na primer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk IDE uređaj i \"sd\"\n"
+"ukoliko je SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvek slovo posle \"hd\" ili \"sd\". Za IDE hard "
+"diskove:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroloeru\",\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundranom IDE kontroloeru\",\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"\n"
+"Sa SCSI hard diskovima, a \"a\" znači \"primarni hard disk\", a \"b\" "
+"znači \n"
+"\"sekundarni hard disk \", itd..."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux instalacija se nalazi na nekoliko diskova iliti CDROM-ova. "
+"DrakX\n"
+"zna ukoliko da ukoliko je selktovani paket lociran na drugom CDROM-u i "
+"izbaciće\n"
+"trenutni CD te tražiti od vas da ubacite odgovarajući."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Sada je vreme da odredimo koje programe želite da instalirate na vaš\n"
+"sistem. Postoje hiljade paketa dostupnih za instalaciju na Mandriva Linux, "
+"i \n"
+"da bi ih učinili dostupnijim, smeđteni su u grupe sličnih aplikacija.\n"
+"\n"
+"Paketi su sortirani u grupe u odnosu na odgovarajuću upotrebu na vašoj\n"
+"mašini. Same grupe su sortirane u četiri klase. Ove klase možete posmatrati\n"
+"kao kontejnere za različite pakete\n"
+"Možete mešati aplikacije iz različitih kontejnera, tako da\n"
+"iinstalacija ``Radna stanica'' može da sadrži aplikacije iz \n"
+"kontejnera ``Razvojna stanica'' .\n"
+"\n"
+" * \"Radna stanica\": ukoliko planirate da koristite vašu mašinu kao radnu "
+"stanicu, izaberite jednu ili više odgovarajućih grupa.\n"
+"\n"
+" * \"Razvojna stanica\": ukoliko mašina treba da se koristi za "
+"programiranje, izaberite željenu(e) grupu(e).\n"
+"\n"
+" * \"Server\": ukoliko će se mašina koristiti kao server, moći ćete da \n"
+"izaberete koje od najčešćih servisaželite da instalirate na\n"
+"mašinu.\n"
+"\n"
+" * \"Grafičko Okruženje\": na kraju, ovde ćete izabrati vaše\n"
+"omiljeno grafičko okruženje. Morate izabrati bar jedno da bi imali\n"
+"grafičku radnu stanicu!\n"
+"\n"
+"Kretanjem kursora miša preko imena grupe dobićete kratko objašnjenje\n"
+"o toj grupi. Ukoliko ne selektujete ni jednu grupu kada izvodite\n"
+"osnovnu instalaciju (za razliku od ažuriranja), pojaviće se dijalog\n"
+"sa različitim predlozima za minimalnu instalciju:\n"
+"\n"
+" * \"Sa X-ovima\": Instalira nekoliko paketa radi grafičkog desktopa\n"
+"\n"
+" * \"Sa osnovnom dokumentacijom\": Instalira osnovni sistem sa osnovnim "
+"alatima\n"
+"i njihovom dukumentacijom. Ovaj mod je praktičan za\n"
+"podešavanje servera\n"
+"\n"
+" * \"Stvarno minimalna instalacija\":Instalira samo što je minimano "
+"potrebno,\n"
+"za rad Linux sistema,naravno samo u komandnoj liniji.Ova instalacija "
+"zauzima\n"
+"samo 65 Mb\n"
+"\n"
+"Možete selektovati i \"Pojedinačno biranje paketa\", koje je korisno "
+"ukoliko\n"
+"su vam poznati ponuđeni paketi i želite da imate potpunu \n"
+"kontrolu nad svim što će biti instalirano.\n"
+"\n"
+"Ukoliko ste pokrenuli mod \"Ažuriranje\", možete deselektovati sve\n"
+"grupe da bi izbegli instalaciju bilo kog novog paketa. Ovo je korisno za "
+"popravljanje ili\n"
+"ažuriranje postojećeg sistema."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Ažuriranje"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "Sa osnovnom dokumentacijom (preporuka!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "Minimalno instaliraj"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Na kraju, u zavisnosti od vašeg izbora da da birate pojedinačne pakete\n"
+"ili ne, biće vam prikazano stablo sa svim paketima klasifikovanim\n"
+"po grupama i podgrupama. Dok pretražujete stablo, možete selektovati cele\n"
+"grupe, podgrupe, ili individualne pakete.\n"
+"\n"
+"Kada kod selektujete paket na stablu, opis se pojavljuje sa desne\n"
+"strane. da bi mogli da se upoznate namenom paketa.\n"
+"\n"
+"!! Ukoliko je server paket izabran slučajno ili kao deo\n"
+"cele grupe, bićete upitani da li zaista želite da instalirate\n"
+"ponuđene servere. Pod Mandriva Linux-om, svi instalirani\n"
+"serveri se startuju po default-u za vreme podizanja sistema. Čak i ako su "
+"sigurni i nemaju\n"
+"poznatih bezbednosnih propusta do vremena izlaska distribucije, može se "
+"desiti\n"
+"da sigurnosne rupe budu otkivene kasnije.\n"
+" Ukoliko ne znate koji pojedinačni servis šta treba da radi\n"
+"ili zašto se instalira, onda kliknite \"Ne\". Klikom na \"Da\" ćete\n"
+"instalirati prikazane servis i oni će biti pokrenuti automatski po\n"
+"default-u. !!\n"
+"\n"
+"Opcija \"Automatske međuzavisnosti\" jednostavno isključuje dijalog sa "
+"upozorenjem\n"
+"koji se javlja svaki put kada instaler automatski selektuje pakete. Ovo se\n"
+"javlja zato što on određuje da mora da zadovolji zavisnosti sa drugim\n"
+"paketom da bi uspešno završio instalaciju.\n"
+"\n"
+"Mala ikonica flopi diska na dnu liste vam omogućava da učitate\n"
+"listu paketa birane tokom prethodne instalacije. Klikom na ovu ikonicu\n"
+"će od vas biti traženo da ubacite disketu kreiranu ranije na kraju \n"
+"prethodne instalacije. Pogledajte poslednji pasus (korak) da bi naučili kako "
+"da kreirate \n"
+"takvu disketu."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"Štampač\": ako kliknete na taster \"Bez štampača\" pokrenuti ćete "
+"konfiguracioni\n"
+"program za štampače. Pogledajte i odgovoarajuće upustvo u``Starter\n"
+"Guide'' za više informacija o tome kako da podesite novi štampač. Program "
+"koje se\n"
+"tada aktivira je sličan onom koji se koristi tokom instalacije."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Sada možete odabrati koje servise želite da se startaju pri podizanju "
+"sistema.\n"
+"\n"
+"DrakX će prikazati sve dostupni servise na trenutnoj\n"
+"instalaciji. Pregledajte ih pažljivo i deselektujte one koji vam neće biti "
+"uvek\n"
+"potrebni pri podizanju sistema.\n"
+"\n"
+"Možete dobiti i kratko objašnjenje o servisu selektovanjem\n"
+"određenog servisa. Međutim, ukoliko niste sigurni koji od servisa jesu ili\n"
+"nisu korisni, sigurnije je ostaviti na default postavkama.\n"
+"\n"
+"!!Na ovom nivou, budite veoma pažljivi ukoliko želite da koristite vašu "
+"mašinu kao\n"
+"server: verovatno nećete želeti da startujete nijedan servis koji vam neće\n"
+"trebati. Zapamtite da nekoliko servisa može biti opasno ukoliko\n"
+"su omogućeni na serveru. Generano govoreći, izaberite samo servise koje ćete "
+"stvarno trebati.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux upravlja sa vremenom u GMT (Greenwich Mean Time) i prevodi ga u\n"
+"lokalno vreme u zavisnosti koju ste vremensku zonu izabrali. Međuti, moguće "
+"je\n"
+"ovo i deaktivirati deselektovanjem \"Podesi hardverski časovnik na GMT\" "
+"tako da hardverski časovnik\n"
+"haima isto vreme kao i sistemski časovnik. Ovo je korisno kada na mašini "
+"imate\n"
+"još jedan operativni sistem kao što je Windows.\n"
+"\n"
+"Opcija \"Automatska sihronizacija časovnika\" će automatski regulisati\n"
+"časovnik konektovanjem na udaljeni vremenski server na Internetu. Na \n"
+"listi koja je prikazana, izaberite server koji se nalazi blizu vas. "
+"Naravno,\n"
+"morate imati ispravno podešenu Internet konekciju da bi mogli da koristite "
+"ovu opciju. Ona će\n"
+"ustvari instalirati na vašu mašinu vremenski server koji se pomogućnosti "
+"može koristiti i od\n"
+"strane drugih mašina na vašoj lokalnoj mreži."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatska sinhronizacija vremena (preko NTP-a)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafička kartica\n"
+"\n"
+" Program za instalaciju obično automatski detektuje i podešava\n"
+"grafičku kartu koja je instalirana u vašoj mašini. Ukoliko to nije slučaj, "
+"možete\n"
+"da je izaberete sami sa liste ponuđenih kartica.\n"
+"\n"
+" U slučaju da je više grafičkih servera dostupno za vašu karticu, sa ili\n"
+"bez 3D akceleracije, onda sami odaberite onu koja najbolje odgovara\n"
+"vašim potrebama."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (ili X Window Sistem) je srce GNU/Linux grafičkog interfejsa\n"
+"na koji se oslanjaju sva grafička okruženja (KDE, GNOME, AfterStep,\n"
+"WindowMaker, itd.) koja se nalaze u Mandriva Linux-u.\n"
+"\n"
+"Biće vam prikazana lista sa različitim parametrima čijom izmenom\n"
+"možete dobiti optimalan grafički prikaz: Grafička kartica\n"
+"\n"
+"\n"
+" Program za instalaciju obično automatski detektuje i podešava\n"
+"grafičku kartu koja se nalazi u vašem računu. Ukoliko to nije slučaj, "
+"možete\n"
+"sami da izaberete karticu sa liste.\n"
+"\n"
+" Ukoliko su različiti serveri dostupni za vašu karticu, sa ili\n"
+"vez 3D akceleracije, onda treba da izaberete onaj koji najviše\n"
+"odgovara vašim potrebama.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Program za instalaciju obično automatski detektuje i podešava\n"
+"monitor koji povezan sa vašim računarom. Ukoliko se to ne desi možete "
+"izabrati\n"
+"sami sa liste ponuđenih monitora\n"
+"\n"
+" Ovde možete izabrati rezoluciju i broj boja od\n"
+"onih koje su ponuđene za vaš hardver. Izaberite ono što najviše odgovara "
+"vašim potrebama\n"
+"(ove opcije ćete moći izmeniti i nakon instalacije). Izabrana\n"
+"konfiguracije se vidi na monitoru.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" sistem će pokušati da otvori grafički ekran u željenoj\n"
+"rezoluciji. Ukoliko možete da vidite poruku tokom testa odgovorite sa \"Da"
+"\",\n"
+"i DrakX će nastaviti sa sledećim korakom. Ukoliko ne možete da vidite "
+"poruku, to\n"
+"znači da je neki deo autotedekcije bio nepravilan i\n"
+"test će automatski završiti nakon 12 sekundi, otavarajući meni za\n"
+"konfiguraciju. Izmenite opcije sve dok ne dobijete korektan grafički "
+"prikaz.\n"
+"\n"
+"\n"
+"\n"
+"Opcije\n"
+"\n"
+" Ovde možete da izaberete da li želite da vaš račuanr automatski\n"
+"pređe na grafički interfejs pri startanju. Očigledno, izabraćete\n"
+"\"Ne\" ukoliko je vaša mašina server, ili ukoliko niste uspeli da uspešno \n"
+"podesite grafički prikaz."
+
+#: ../help.pm:291
+#, fuzzy, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Program za instalaciju obično automatski detektuje i podešava\n"
+"monitor povezan na vašu mašinu. Ukoliko se to nedesi, možete sami\n"
+"sami da izaberete model monitora sa liste."
+
+#: ../help.pm:298
+#, fuzzy, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Rezolucija\n"
+"\n"
+" Ovde možete izabrati rezoluciju i broj boja koje su\n"
+"dostupne za vaš hardver. Izaberite ono što najviše odgovara vašim potrebama "
+"(ove opcije ćete moći\n"
+"da promenite i nakon instalacije). Primer izabrane\n"
+"konfiguracije je prikazan na monitoru."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"U slučaju da su dostupni različiti serveri za vašu karticu, sa ili\n"
+"bez 3D akceleracije, najbolje je da izaberete server koji\n"
+"najviše odgovara vašim potrebama."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Na kraju, bićete upitani da li želite grafički interfejs\n"
+"pri startanju sistema. Ovo pitanje će vam biti postavnjeno čak i ako niste "
+"testirali\n"
+"konfiguraciju. Naravno, odgovorićete \"Ne\" ukoliko vaša mašina predstalja\n"
+"server, ili ukoliko niste uspešno podesili\n"
+"displejed."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"U ovom trenutku, morate da izaberete gde ćete instalirati\n"
+"Mandriva Linux operativni sistem na vaš hard disk. Ukoliko je prazan ili\n"
+"postojeći operativni sistem koristi sav postojeći prostor na disku, treba da "
+"ga\n"
+"particionirate. U osnovi, particioniranje hard diska se sastoji logičkog\n"
+"deljenja da bi obezbedili prostor za instalaciju vaš novi Mandriva Linux "
+"sistem.\n"
+"\n"
+"Pošto su efekti procesa particioniranja obično nepovratni,\n"
+"particioniranje može biti prilično stresan proces za neiskusne korisnike.\n"
+"Ovaj čarobnjak ga pojednostavljuje. Pre početka, konsultujte upustvo i ne "
+"žurite.\n"
+"\n"
+"Ukoliko ste pokrenuli instalaciju u Ekspert modu, pokrenućete\n"
+"DiskDrake, Mandriva Linux-ov alat za particije, koji vam dozvoljavaw da\n"
+"fino podesite vaše particije. Pogledajte DiskDrake sekciju u ``User "
+"Guide''.\n"
+"Iz instalacionog interfejsa, možete koristiti čarobnjake kao što je opisano "
+"ovde\n"
+"klikom na dijalogov \"Čarobnjak\" taster.\n"
+"\n"
+"Ukoliko su particije već kreirane, od predhodne instalacije \n"
+"ilikreirane drugim alatom za particioniranje, morate izabrati \n"
+" na koje od njih ćete instalirati Linux sistem.\n"
+"\n"
+"Ukoliko particije nisu definisane, marate da ih kreirate. \n"
+"Da bi to uradili, možete da koristite gore postavljeni čarobnjak. U "
+"zavisnosti \n"
+"od konfiguracije hard diska, postoji nekoliko mogućnosti:\n"
+"\n"
+" * \"Koristi slobodan prostor\": ova opcija će jednostavno dovesti do "
+"automatskog\n"
+"particioniranja vašeg praznog(ih) diska(ova). Neće vam biti postavljana "
+"daljna pitanja;\n"
+"\n"
+" * \"Koristi postojeće particije\": čarobnjak je detektovao jednu ili više \n"
+"postojećih Linux particija na vašem hard disku. Ukoliko\n"
+"želite da njihj koristite, izaberite ovu opciju.\n"
+"\n"
+" * \"Koristi slobodan prostor na Windows particiji\": ukoliko je Microsoft "
+"Windows\n"
+"instaliran na vašem disku i on zauzima sav postojeći prostor na njemu,\n"
+"moraćete da kreirate slobodan prostor za Linux. Da bi to uradili, možete "
+"izbrisati\n"
+"Microsoft Windows particiju i podatke (pogledajte `Brisanje celog diska'' "
+"ili ``Ekspert\n"
+"mod'' opcije) ili da promenite veličinu Microsoft Windows particije. Promena "
+"veličine\n"
+"se može isvesti bez gubljenja podataka, ali se pteporučuje da prvo "
+"defragmentirate\n"
+"Windows particiju iz samog Windows-a. Backup podataka takođe nije loša "
+"ideja..\n"
+"Ovo rešenje se preporučuje ukoliko želite da koristite Mandriva Linux i\n"
+"Microsoft Windows na istom kompjuteru.\n"
+"\n"
+" Pre nego što izaberete ovu opciju, morate da razumete da nakon ove "
+"procedure\n"
+"veličina vaše Microsoft Windows particije će biti manja\n"
+"u odnosu na trenutno stanje. Imađete manje slobodnog prostora u Microsoft\n"
+"Windows-u za smeštanje podataka ili instalaiju novog softvera;\n"
+"\n"
+" * \"Brisanje cvelog diska\": ukoliko želite da izbrišete sve podatke i sve\n"
+"particije koji postoje na vašem hard disku i zamenite ih vašim\n"
+"novim Mandriva Linux sistemom, možete da izaberete ovu ociju. Budite\n"
+"pažljivisa ovom opcijom, jer nećete biti u mogućnosti\n"
+"da povratite staro stanje nakon potvrde.\n"
+"\n"
+" !! Ukoliko izaberete ovu opciju, svi podaci na disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"Ukloni Windows\": ova opcija će jednostavno izbrisati sve sa hard diska "
+"i\n"
+"kreirati nove particije. Svi podaci na vašem disku\n"
+"će biti izbrisani;\n"
+"\n"
+" !! Ukoliko izaberete ovu opciju, svi podaci na disku će biti "
+"izgubljeni. !!\n"
+"\n"
+" * \"Custom particionisanje diska\": izaberite ovu opciju ukoliko želite\n"
+"da ručno vaš hard disk. Budite pažljivi -- ovo je moćan\n"
+"ali opasan izbor i vrlo lako možete izgubiti svoje podatke. Zbog toga se\n"
+"ova opcija preporučuje samo onima koji imaju iskustva\n"
+"od ranije. Za više podataka o tome kako da koristite\n"
+"program DiskDrake, pogledajte poglavlje ``Upravljajte svojim particijama '' "
+"u\n"
+"``Početnički vodič''."
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "Koristi postojeću particiju"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Izbriši celi disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"I stigli ste do kraja. Instalacija je sada završena i vaš GNU/Linux sistem "
+"je \n"
+"spreman za upotrebu. Samo kliknite na \"Sledeći -\" da bi restartovali "
+"sistem. Možete pokrenuti\n"
+"GNU/Linux ili Windows, šta god više preferirate (ukoliko imate instalirana "
+"dva sistema), čim\n"
+"se računar ponovo pokrene.\n"
+"\n"
+"Taster Napredno \"%s\" (samo u Ekspert modu) prikazuje još dva tastera za:\n"
+"\n"
+" * \"kreiranje auto-instalacione diskete\": radi kreiranja instalacionog "
+"flopi diska\n"
+"koji će automatski pokrenuti celu instalaciju bez pomoći operatora\n"
+", slično ovoj instalaciji koju ste upravo izveli.\n"
+"\n"
+" Možete primetiti da su dve različite opcije dostupne nakon pritiska na "
+"taster:\n"
+"\n"
+" * \"Sa ponavljanjem\". Ovo je delom automatizirana instalacija jer korak "
+"sa\n"
+"particioniranjem diska ostaje interaktivan (samo on).\n"
+"\n"
+" * \"Automatizovano\". Potpuno automatizovana instalacija: hard disk se u "
+"potpunosti\n"
+"formatizuje, i svi podaci će biti izgubljeni.\n"
+"\n"
+" Ova opcija je veoma korisna ukoliko izvodite veliki broj sličnih "
+"instalacija\n"
+"na većem broju mašina. Pogledajte sekciju o auto instalaciji na našem web "
+"sajtu.\n"
+"\n"
+" * \"Sačuvaj selekciju paketa\"(*) : snima selekciju paketa koji ste\n"
+"napravili u ovoj instalaciji. Tako, da kada budete izvodili drugu "
+"instalaciju, ubacite disketu\n"
+"i pokrenete pomoćni ekran pritiskom na\n"
+"[F1] taster, i zahtevom za >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Morate da iamte FAT-formatiranu disketu (da bi je formatirali pod GNU/"
+"Linux-om, ukucajte\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "Kreiraj auto instalacionu disketu"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Svaka particija koja je novodefinisana mora biti\n"
+"formatirana za uptrebu (formatiranje znači kreiranje datotečnog(fajl) "
+"sistema).\n"
+"\n"
+"Sada možda želite da reformatirate postojeće particije da bi izbrisali\n"
+"podatke koje sadrže. Ukoliko želite to, izaberite particije \n"
+"koje želite da formatizujete.\n"
+"\n"
+"\n"
+"Zapamtite da nije potrebno da reformatirate sve postojeće particije.\n"
+"Morate da reformatirate particije koje sadrže operativni sistem \n"
+"(kao što su \"/\", \"/usr\" ili \"/var\") ali ne morate da reformatirate "
+"particije koje sadrže podatke\n"
+"koje želite da zadržite (obično /home).\n"
+"\n"
+"Pazite pri biranju particija, posle formatiranja, sv podaci će \n"
+"biti izbrisani i nećete ih moći povratiti.\n"
+"\n"
+"Kliknite na \"Sledeće ->\" kada bude spremni da formatirate particije\n"
+"\n"
+"Kliknite na \"<- Prethodno\" ako želite da izaberete drugu particiju za svoj "
+"novi\n"
+"Mandriva Linux sistem.\n"
+"\n"
+"Kliknite na \"Napredno\" ukoliko želite da izaberete particije koje će biti "
+"proverene\n"
+"da li imaju loše sektore."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"U vreme kada budete instalirali Mandriva Linux, vrlo je moguće da će neki\n"
+"paketi biti ažurirani u odnosu na inicijalno izdanje. Neki bagovi mogu \n"
+"biti ispravljeni, a sigurnosni propusti zatvorene. Da bi mogli da koristite "
+"ove novije verzije\n"
+"mi vam predlažemo da ih skinete sa Interneta. Izaberite\n"
+"Da ili \"Da\" ukoliko imate podešenu Internet konekciju, ili Ne ili \"No\" "
+"ukoliko više volite da\n"
+"instalirate te nove pakete kasnije.\n"
+"\n"
+"Izborom na \"Da\" prikazuje se lista mesta sa kojih možete da dobavite noe "
+"verzije \n"
+"paketa. Izaberite mesto koje vam je najbliže. Zatim će se pojaviti stablo sa "
+"slelekcijom paketa:\n"
+"pregledajte selekciju, i pritisnite \"Instaliraj\" da bi skinuli i\n"
+"instalirali selektovni(e) paket(e), ili \"Poništi\" za odustajanje."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"na ovom mestu, DrakX će vam dozvoliti da odredite željeni nivo sigurnosti\n"
+"za vaš računar. Kao nepisano pravilo, nivo sigurnosti bi trebao\n"
+"veći ukoliko mašina sadrži važne podatke, ili ukoliko je mašina\n"
+"direktno vezana na Internet. Spuštanje sigurnosti uglavnom\n"
+"se vidi u opvećanju lakoće rada sa sistemom. Pogledajte \"msec\"\n"
+"poglavlje u ``Upupstvo za komandnu liniju''da bi dobavili više informacija\n"
+"o nivioima sigurnosti.\n"
+"\n"
+"Ukoliko ne znate da izaberete, zadržite default postavku."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Administrator za sigurnost:"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Na ovoj tački, morate izbrati koju particiju(e) želite da koristite za\n"
+"instalaciju novog Mandriva Linux sistema. Ukoliko su particije\n"
+"već definisane (od predhodne instalacije ili od strane\n"
+"drugog alata za particije), možete da koristite postojeće particije.\n"
+"U drugim slučajevima,\n"
+"hard disk particije moraju biti definisane.\n"
+"\n"
+"Da bi kreirali particije, morate prvo izabrati hard disk. Možete izabrati\n"
+"disk za particioniranje klikom na \"hda\" za prvi IDE disk, \"hdb\" ili \n"
+"za drugi ili \"sda\" za prvi SCSI disk itd.\n"
+"\n"
+"Za particioniranje selektovanog hard diska, možete koristiti sledeće "
+"opcije:\n"
+"\n"
+" * \"Očisti sve\": ova opcija briše sve particije na izabranom hard \n"
+"disku.\n"
+"\n"
+" * \"Auto alociranje\": ova opcija dozvoljava da automatski kreirate Ext2 "
+"i \n"
+"swap particije na slobodnom prostoru \n"
+" hard diska.\n"
+"\n"
+"\"Još\": daje pristup dodatnim opcijama:\n"
+"\n"
+" * \"Spasi tabelu particija\": ukoliko je vaša tabela particija "
+"oštećena, \n"
+"možete da probate da je oporavite koristeći ovu opciju. Budite\n"
+" pažljivi i znajte da može da i ne uspe.\n"
+"\n"
+" * \"Vrati na staro\": ova opcija će poništiti izmenu.\n"
+"\n"
+" * \"Ponovno učitavanje\": ovu opciju možete koristiti ukoliko želite da \n"
+"poništitisve promene i učitate inicijalnu tabelu particija\n"
+"\n"
+" * \"Čarobnjak\": ukoliko želite da koristite čarobnjaka za "
+"particioniranje \n"
+"hard diska, izaberite ovu opciju. Preporučena je ukoiko\n"
+" nemate mnogo znanja o partcijama.\n"
+"\n"
+" * \"Povrati sa diskete\": ukoliko ste snimili tabelu particija na \n"
+"disketu tokom prethodne instalacije, možete je\n"
+" vratiti sa ovom opcijom.\n"
+"\n"
+" * \"Snimi na disketu\": ukoliko želite da da snimite tabelu particija na\n"
+"disketu da bi mogli kasnije da je povratite, možete da iskoristite\n"
+" ovu opciju. Naročito preporučujemo ovu opciju\n"
+"\n"
+" * \"Urađeno\": kada završite sa particioniranjem hard diska, iskoristite "
+"ovu opciju da bi snimili promene.\n"
+"\n"
+"Kada definišete veličinu particija, možete konačno podesiti veličinu\n"
+"particija pomoću tastera sa strelicama na vašoj strelicama\n"
+"Za više informacija, možete za svaku ocpiju dobiti kretanjem pomoću "
+"tastature: navigacijom kroz particije pomoću [Tab] tastera i [Up/Down] "
+"strelica.\n"
+"\n"
+"Kada je particija izabrana, možete koristiti:\n"
+"\n"
+" * Ctrl-c za kreiranje nove particije (kada je izabrana prazna particija);\n"
+"\n"
+" * Ctrl-d za brisanje particije;\n"
+"\n"
+" * Ctrl-m za postavljanje tačke montiranja.\n"
+"\n"
+"Da bi dobili informacije o različitim dostupnim tipovima sistema, "
+"pročitajte\n"
+"ext2FS poglavlje iz ``Upustva''.\n"
+"\n"
+"Ukoliko radite instalaciju na PPC Mašinu, možda ćete želeti da kreirate "
+"malu\n"
+"HFS 'bootstrap' particiju od najmanje 1MB za upotrebu\n"
+"yaboot startera. Ukoliko se dvoumite da ovu particiju napravite malo većom,\n"
+"na primer 50MB, možete iskoristiti taj prostor za smeštanje\n"
+"rezervnog kernela i ramdisk image za startanje u hitnim situacijama."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automontiranje prenosivog medija"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Pređi na normalni mod"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Jedna ili više Microsoft Windows particija je detektovano \n"
+"na hard disku. Izaberite koju od njih želite da smanjite da bi instalirali\n"
+"novi Mandriva Linux operativni sistem.\n"
+"\n"
+"Svaka particija je ispisana na sledeći način: \"Ime Linux-a\",\"Ime Windows-a"
+"\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Ime Linux-a\" je kodirano na sledeći način: \"tip hard diska\", \"broj "
+"hard diska\",\n"
+"\"broj particije\" (na primer, \"hda1\").\n"
+"\n"
+"\"Tip hard diska\" je \"hd\" ukoliko je hard disk ID uređaj i \"sd\"\n"
+"ukoliko je SCSI hard disk.\n"
+"\n"
+"\"Broj hard diska\" je uvek slovo posle \"hd\" ili \"sd\". Sa IDE hard "
+"diskovima:\n"
+"\n"
+" * \"a\" znači \"master hard disk na primarnom IDE kontroleru\",\n"
+"\n"
+" * \"b\" znači \"slave hard disk na primarnom IDE kontroloeru\",\n"
+"\n"
+" * \"c\" znači \"master hard disk na sekundranom IDE kontroloeru\",\n"
+"\n"
+" * \"d\" znači \"slave hard disk na sekundarnom IDE kontroleru\".\n"
+"\n"
+"Sa SCSI hard diskovima, \"a\" znači \"primarni hard disk\", a \"b\" znači "
+"\"sekundarni hard disk \", itd.\n"
+"\n"
+"\"Ime Windows-a\" je slovo hard diska pod Windows-om (prvi disk\n"
+"ili particija se zove \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"Država\": proverava trenutni izbor zemlje. Ukoliko se ne nalazite u ovojs\n"
+"državi, kliknite na taster i i izaberite drugu."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ovaj korak se aktivira samo u slučaju da postoji stara GNU/Linux particija "
+"na\n"
+"vašioj mošini.\n"
+"\n"
+"DrakX sada treba da zna da li želite da izvedete čistu instalaciju ili "
+"ažuriranje\n"
+"postojećeg Mandriva Linux sistema:\n"
+"\n"
+" * \"Instalacija\": U većini slučajeva, ova opcija kompletno briše stari\n"
+"sistem. Ukoliko želite da izmenite broj particija, ili\n"
+"promenite fajl sistem, trebali bi da koristite ovu opciju. Ipak, u "
+"zavisnosti od\n"
+"šeme particija, možete zaštititi neke postojeće podatke\n"
+"od formatiranja.\n"
+"\n"
+" * \"Ažuriranje\": ova instalaciona klasa vam dozvoljava da uradite "
+"ažuriranje paketa\n"
+"na trenutno instaliranom Mandriva Linux sistemu. Vaša trenutna\n"
+"šema particija i korisnički podaci se ne menjaju. Većina drugih\n"
+"konfiguracionih koraka i dalje ostaje dostupna, slično standardnoj "
+"instalaciji.\n"
+"\n"
+"Upotreba opcije ``Ažuriranje'' bi trebalo da bude bez problema na Mandriva "
+"Linux sistemima\n"
+"od verzije \"8.1\" ili novije. Izvođenje ažuriranja na verzijama \n"
+"Mandriva Linux pre \"8.1\" nije preporučljivo."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"U principu, DrakX bira desnu tastaturu za vas (u zavisnosti od toga koji\n"
+"ste jezik izabrali) i čak i nećete videti ovaj korak. Ipak, može\n"
+"se desiti da niste dobili tastaturu koja odgovara vašem jeziku: na\n"
+"primer, ukoliko ste Švajcarac koji govori engleski, verovatno ćete želeti\n"
+"Švajcarsku tastaturu. Ili ukoliko govorite Engleski ali se nalazite\n"
+"u Kvebeku, možete se naći u istoj situaciji. U oba\n"
+"slučaja, moraćete da se vratite na ovaj instalacioni korak i izaberete\n"
+"odgovarajuću tastaturu sa liste.\n"
+"\n"
+"Kliknite na taster \"Još\" da bi dobili kompletnu listu\n"
+"podržanih tastatura.\n"
+"\n"
+"Ukoliko izaberete raspored tastature baziran na non-Latin alfabetu, sledeći\n"
+"dijalog će vam ponuditi da izaberete kombinaciju tastera koji će služiti\n"
+"da menjate Latin i non-Latin rasporede."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Vaš izbor jeika će uticati na jezik dokumentacije,\n"
+"instalacije i sistema uopšte. Prvo izaberite region u kojem se nalazite,\n"
+"a zatim jezik koji govorite.\n"
+"\n"
+"Klikom na taster \"Napredno\" omogućićete sebi da vidite druge\n"
+"jezike koje možete instalirati na vašu radnu stranicu. Biranjem drugih "
+"jezika\n"
+"ćete instalirati fajlove vezane (za specificirane jezike) za dokumentaciju "
+"i\n"
+"aplikacije. Na primer, ukoliko će na vašem računaru hostovati korisnici iz "
+"Španije\n"
+"izaberite Engleski kao glavni a na stablu\n"
+"označite i \"Španiski|Španija\".\n"
+"\n"
+"Zapamtite da možete instalirati više jezika. Kada izaberete sve željene\n"
+"dodatne lokalizacije kliknite na taster \"U redu\" da bi nastavili.\n"
+"\n"
+"Da bi menjali različite jezike koji su instalirani na vašem sistemu, možete "
+"pokrenuti\n"
+" \"/usr/sbin/localedrake\" komandu kao \"root\" da bi promenili jezik koji "
+"se \n"
+"koristi u celom sistemu. pokretanjem komande kao regularni korisnik samo "
+"ćete promeniti\n"
+"postavke jezika za datog korisnika."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX generalno detektuje broj tastera koji vaš miš posdeduje. Ukoliko se to "
+"ne desi\n"
+"on će pretpostaviti da miš sa dva tastera i podesiće emulaciju trećeg "
+"tastera.\n"
+"DrakX će automatski prepoznati da li se radi o PS/2, serijskom ili USB "
+"mišu.\n"
+"\n"
+"Ukoliko želite da specificirate drugi tip miša odaberite odgovarajući\n"
+"tip sa liste.\n"
+"\n"
+"Ukoliko izberete miša koji se razlikuje od default-a pojaviće vam se\n"
+"test ekran. Koristite tastere i točkiće da bi proverili da li su postavke\n"
+"dobre. Ukoliko miš ne radi ispravno pritisnite taster za razmak (space bar) "
+"ili\n"
+"taster [Return] da bi poništili test i vratili se da bi pokušali ponovo.\n"
+"\n"
+"Točkići na mišu se ponekad ne detektuju automatski, pa ćete sami morati da\n"
+"izaberete miša sa liste. Pazite da izaberete odgovarajući vezano\n"
+"za port na koji je miš povezan. nakon izbora miša\n"
+"i pritiska na taster \"Sledeći ->\", slika miša će biti prikazana na "
+"ekranu.\n"
+"Pokrenite toškić da bi proverili da li je pravilno aktiviran. Kada \n"
+"vidite da se točkić na ekranu pomera kao i točkić na mišu, testirajte\n"
+"tastere i proverite da li kursor na ekrani prati vaše \n"
+"pomeranje miša."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Emulacija tastera"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Molim, izaberite odgovarajući port. Na primer, COM1 port pod MS Windows-om\n"
+" u Linux-u ima oznaku ttyS0."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ovo je najzanačajnija tačka u odlučivanju o sigurnosti vašeg GNU/Linux\n"
+"sistema: morate da unesete \"root\" lozinku. \"root\" je administrator\n"
+"sistema i jedini je ovlašten da vrši izmene, dodaje korisnike,\n"
+"menja osnovnu konfiguraciju sistema, itd. Ukratko, \"root\" može\n"
+"da uradi sve! Zbog toga morate da izaberete lozinku koja teško može da se\n"
+"pogodi - DrakX će vam reći ukoliko je ona suviše jednostavna. Kao što možete "
+"da vidite, možete da\n"
+"izaberete i da ne unesete lozinku, ali vam ozbiljno preporučujemo da to\n"
+"neradite iz jednog razloga: nemojte da mislite da to što ste startovali GNU/"
+"Linux da\n"
+"vaši drugi operativni sistemi sigurni od grešaka. Kako \"root\" može da\n"
+"preskoči sva ograničenja i nenamerno izbriše sve podatke na particiji\n"
+"neopreznim pristupom, važno je da je teško\n"
+"postati \"root\".\n"
+"\n"
+"Lozinka treba da bude mešavina brojeva i slova i treba da sadrži najmanje 8\n"
+"karaktera. Nikada ne zapisujte na papir \"root\" lozinku - tako lako\n"
+"možete ugroziti sistem.\n"
+"\n"
+"Međutim, potrudite se da lozinka ne bude previše duga ili komlikovana zato\n"
+"što treba da je zapamtite bez mnogo napora.\n"
+"\n"
+"Lozinka neće biti prikazana na ekranu kada je ukucavate. Srećom, moći ćete\n"
+"da je ukucate dva puta da bi smanjili mogućnost greše u kucanju.\n"
+"Ukoliko ipak pogrešite u kucanju, ali dva puta, ova\n"
+"``neispravna'' lozinka će biti korištena kada se budete prvi put "
+"konektovali.\n"
+"\n"
+"U Ekspertnomm modu, bićete pitani da li ćete se konektovati na\n"
+"autentifikacioni server, kao što je NIS ili LDAP.\n"
+"\n"
+"Ukoliko vaša mreža koristi LDAP (ili NIS) protokol za autentifikaciju, "
+"selektujte\n"
+"\"LDAP\" (ili \"NIS\") za autentifikaciju. Ukoliko to neznate, pitajte\n"
+"vašeg mrežnog administratora.\n"
+"\n"
+"Ukoliko se vaš računar ne konektuje na administrirane mreže, treba da\n"
+"izaberete \"Lokalni fajlovi\" za autentifikaciju."
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "Autentifikacija"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Sada treba da izaberemo sistem za štampanje za vaš računar. Drugi OS-ovi "
+"vam\n"
+"nude jedan, ali vam Mandriva Linux nudi čak tri.\n"
+"\n"
+" * \"pdq\" što znači ``print, do not queue'', je izbor za one koji imaju\n"
+"direktni konekciju sa svojim štampačem i želite da izbegnete\n"
+"bilo kakve zastoje štampača, a pri tome nemate mrežne štampače. On može da "
+"se koristi\n"
+"samo na veoma jednostavnim mrežama i pomalo je i spor za mreže. Izaberite "
+"\"pdq\"\n"
+"ukoliko upoznajete GNU/Linux. Vaš izbor naravno možete promeniti\n"
+"nakon isntalacije pokrećući PrinterDrake from iz Mandriva Kontrolnog\n"
+"Centra i klikom na expert taster.\n"
+"\n"
+" * \"%s\"``Common Unix Printing System'', je izvrstan za štampanje na vašem\n"
+"lokalonom štampaču kao i za štampanje po celoj zemaljskoj kugli. On je "
+"jednostavan i može se ponašati\n"
+"kao server ili kao klijent sa starog \"lpd\" sitema za štampanje. Takođe, "
+"on\n"
+"je kompatibilan sa sistemima koji su ranije postojali. On može mnogo toga, "
+"ali\n"
+"osnovno podešvanje je jednostavno kao i kod \"pdq\". Ukoliko treba da "
+"emulirate\n"
+"an \"lpd\" server, morate da pokrenete \"cups-lpd\" demon. On poseduje\n"
+"grafički interfejs za štapanje i izbor opcija za štampanje.\n"
+"\n"
+"Ako to nij slučaj, CUPS je onda prava stvar jer je jednostavniji i bolji za "
+"rad preko\n"
+"mreža."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Stručni"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX sada treba da detektuje IDE uređaje prisutne u vešem računaru.DrakX "
+"će \n"
+"potražiti PCI SCSI adapter(e). Ukoliko DrakX pronađe SCSI adapter(e) i bude "
+"znao koji upravljački program \n"
+"(drajver) koristion će ga(ih) automatski instalirati.\n"
+"\n"
+"Pošto se može desiti da pri detekciji neka komponenta ne bude detektovana \n"
+"DrakX će vas upitati da li imate PCI SCSI adapter. Kliknite \"Da\" \n"
+"ukoliko znate da imate SCSI adapter na svojoj mašini. Na prikazanoj listi \n"
+"moći ćete da izaberete odgovoarajući.\n"
+"Kliknite \"Ne\" ukoliko nemate SCSI adaptera u mašini. Ukoliko niste \n"
+"sigurni\n"
+"proverite na listi detektovanog hardvera selektovanjem \"Pogledaj info o \n"
+"hardveru\"i klikom na \"U redu\". Pregledajte\n"
+"listu a onda kiknite na \"U redu\" da bi se vratili na pitanje o SCSI \n"
+"uređajima.\n"
+"\n"
+"Ukoliko morate ručno da specificirate vaš PCI SCSI adapter, DrakX će\n"
+"vas upitati da odredite opcije za njega.Treba li bi da dozvolite DrakX-u da\n"
+"ispita adapter radi tih opcija. Ovo obično i uspe.\n"
+"\n"
+"Ukoliko DrakX nije u stanju da ispita opcije koje su potrebne, moraćete da \n"
+"sami odredite opcije za drajver.\n"
+"Pogledajte i Instalacioni vodič (3 poglavlje, sekcija \"Prikupljanje \n"
+"informacija o vašem hardveru\")\n"
+"da bi saznali kako da pribavite informacije o parametrima potrebnim za \n"
+"hardver,sa svoje Windows instalacije (ukoliko je imate na sistemu),\n"
+"dokumenatciju o hardveru, ili sa proizvođačevog \n"
+"veb sajta (ukoliko imate pristup internetu)."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"Zvučna kartica\": ukoliko je zvučna kartica detektovana na vašem sistemu, "
+"onda je prikazana\n"
+"ovde. Ukoliko primetite da prikazana kartica nije ona koja je stvarno "
+"prisutna\n"
+"u vašem računaru, možete kliknuti na taster i\n"
+"drugi drajver."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Interna ISDN kartica"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "Grafički interfejs"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Izaberite hard disk koji želite da izbrišete da bi instalirali novu Mandriva "
+"Linux \n"
+"particiju. Budite pažljivi, svi podaci na njemu će biti izgubljeni\n"
+"i neće se moći povratiti!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Kliknite na \"Sledeće ->\" ukoliko želite da izbrišete sve podatke i \n"
+"particije na ovom hard disku.Budite pažljivi, posle klika na \"U redu\", vi\n"
+"nećete moći da povratite bilo koji podatak ili particiju na hard disku,\n"
+"pa i bilo koje Windows podatke.\n"
+"\n"
+"Kliknite na \"<- Pprethodno\" da bi poništi ovu operaciju bez gubljenja "
+"podataka i\n"
+"particija koje su prisutne na ovom hard disku."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sledeći ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Prethodni"
+
diff --git a/perl-install/install/help/po/sv.po b/perl-install/install/help/po/sv.po
new file mode 100644
index 000000000..9c7892811
--- /dev/null
+++ b/perl-install/install/help/po/sv.po
@@ -0,0 +1,1952 @@
+# DrakX-sv - Swedish Translation
+#
+# Copyright (C) 2000,2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Kenneth Krekula, 2005.
+# Fuad Sabanovic <manijak@telia.com>, 2000.
+# Mattias Dahlberg <voz@home.se>, 2001, 2002.
+# Mattias Newzella <newzella@linux.nu>, 2001, 2002,2003.
+# Magnus Björklöf <bjorklof@nic.fi>, 2003.
+# Lars Westergren <lars.westergren@home.se>, 2003, 2004, 2005.
+# Thomas Backlund <tmb@mandriva.org>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sv - Mandriva 2006 Release\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-18 21:42+0300\n"
+"Last-Translator: Thomas Backlund <tmb@mandriva.org>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Innan du fortsätter bör du noga läsa licensen. Den täcker hela\n"
+"Mandriva Linux-distributionen. Om du samtycker med den,\n"
+"kryssa i rutan \"%s\". Om du ej samtycker så klicka på \"%s\"\n"
+"knappen så kommer installationen avbrytas och din dator att\n"
+"startas om."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux är ett fleranvändarsystem, med detta menas att varje användare\n"
+"kan ha sina egna inställningar, sina egna filer och så vidare. Du kan\n"
+"läsa i användarmanualen för att lära dig mer. Men olikt \"root\", som\n"
+"är administratör, kan användarna som du lägger till här inte ändra\n"
+"någonting förutom sina egna filer och sina egna inställningar. Detta\n"
+"skyddar systemet från att skadas av misstag eller avsiktliga attacker.\n"
+"Du måste skapa åtminstone en vanlig användare åt dig själv.\n"
+"Det kontot ska du använda i ditt dagliga arbete. Det är i och för\n"
+"sig väldigt praktiskt att logga in som \"root\" varje dag men det kan\n"
+"också vara väldigt farligt. Det minsta misstag kan innebära att\n"
+"systemet inte fungerar längre. Om du gör ett allvarligt misstag som en\n"
+"vanlig användare förlorar du bara viss information och inte hela systemet.\n"
+"\n"
+"Först måste du ange ditt riktiga namn. Det här är inte obligatoriskt,\n"
+"du kan faktiskt skriva vad du vill. DrakX kommer att ta det första \n"
+"ordet som du skrev in i rutan och flytta över det till fältet \"%s\".\n"
+"Detta är namnet som den här användaren kommer att använda för att logga\n"
+"in på systemet. Du kan ändra det om du vill. Du måste sedan ange ett\n"
+"lösenord. En icke-privilegierad (vanlig) användares lösenord är inte\n"
+"lika viktigt som \"roots\" sett ur säkerhetssynpunkt, men det finns\n"
+"ingen anledning att ignorera det, det är ju trots allt dina filer som\n"
+"står på spel.\n"
+"\n"
+"Efter det att du klickat på \"%s\" kan du sedan lägga\n"
+"till andra användare. Lägg till en användare för varje kompis som\n"
+"du har eller din pappa eller din syster till exempel. När du har lagt till "
+"alla\n"
+"användare som du vill ha, välj \"%s\".\n"
+"\n"
+"Om du klickar på \"%s\" kan du ändra det förvalda \"skalet\"\n"
+"för den användaren (bash är förvalt).\n"
+"\n"
+"När du är färdig med att sätta till alla användare, kommer du att få välja\n"
+"en användare som kan logga in automatiskt på systemet då datorn\n"
+"startar upp. Om du är intresserad av den funktionen (och du inte bryr\n"
+"dig speciellt mycket om lokal säkerhet), välj den önskade användaren\n"
+"och fönsterhanteraren och klicka sedan på \"%s\". Om du inte är\n"
+"intresserad av denna funktion, kryssa av rutan \"%s\""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Vill du använda den här funktionen?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Listat ovan är de existerande Linux-partitionerna som hittats på\n"
+"hårddisken. Du kan behålla valen som gjorts av guiden, de passar de flesta\n"
+"vanliga installationer. Om du gör några ändringar måste du åtminstone\n"
+"definiera en rotpartition (\"/\"). Välj inte en för liten partition för\n"
+"då kommer du inte kunna installera tillräckligt med mjukvara. Om du vill\n"
+"lagra dina data på en separat partition, behöver du också skapa en "
+"partition\n"
+"för /home (endast möjligt om du har mer än en Linux-partition tillgänglig).\n"
+"\n"
+"Varje partition listas som följer: \"Namn\", \"Kapacitet\".\n"
+"\n"
+"\"Namn\" är strukturerad på följande vis: \"hårddisktyp\", \n"
+" \"hårddisknummer\", \"partitionsnummer\" (till exempel, \"hda1\").\n"
+"\n"
+"\"Hårddisktyp\" är \"hd\" om hårddisken är en IDE-hårddisk och\n"
+"\"sd\" om det är en SCSI-hårddisk.\n"
+"\n"
+"\"Hårddisknummer\" är alltid en bokstav efter \"hd\" eller \"sd\". För IDE-\n"
+"hårddiskar:\n"
+"\n"
+" * \"a\" betyder \"master-hårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"b\" betyder \"slavhårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"c\" betyder \"master-hårddisk på den sekundära IDE-kontrollern\",\n"
+"\n"
+" * \"d\" betyder \"slavhårddisk på den sekundära IDE-kontrollern\".\n"
+"\n"
+"Med SCSI-hårddiskar betyder ett \"a\" \"lägsta SCSI-ID\", ett \"b\" betyder\n"
+"\"andra lägsta SCSI-ID\", etc."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Installationen av Mandriva Linux är utspridd på flera cd-skivor. DrakX\n"
+"vet om ett valt paket finns på en annan cd-skiva och kommer att mata ut\n"
+"den aktuella cd:n och be dig sätta in en annan om det blir nödvändigt.\n"
+"Om du inte har efterfrågad CD tillgänglig, klicka på \"%s\" så hoppas\n"
+"installationen av motsvarande paket över."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Det är nu dags att ange vilka program du vill installera på\n"
+"systemet. Det finns flera tusen paket tillgängliga för Mandriva Linux och\n"
+"för att det ska bli enklare att hantera paketen har de placerats i grupper\n"
+"om liknande program.\n"
+"\n"
+"Paketen är sorterade i grupper som motsvarar olika användningsområden\n"
+"för din dator. Mandriva Linux har fyra fördefinierade kategorier\n"
+" tillgängliga. Du kan blanda program från olika kategorier så att \n"
+"t ex en arbetsstationsinstallation fortfarande kan ha program från \n"
+"kategorin Utveckling installerade.\n"
+"\n"
+" * \"%s\": om du ska använda datorn som arbetsstation,\n"
+"välj en eller flera av paketen som är i denna grupp.\n"
+"\n"
+"* \"%s\": om datorn ska användas för programmering välj \n"
+"lämpliga paket från denna grupp. Den speciall \"LSB\" gruppen\n"
+"kommer att konfigurera ditt system så att det överensstämmer\n"
+"med Linux Standard Base specifikationen så mycket som möjligt.\n"
+"(En specifikation som försöker eftersträva en standard för Linux- \n"
+"distributioner, till exempel var viktiga systemfiler är placerade, så \n"
+"att program utvecklade på en distribution även\n"
+"kommer att fungera på andra distributioner.)\n"
+" Om du väljer \"LSB\" gruppen kommer 2.4 kernel serien installeras\n"
+"istället för 2.6 som annars är standard för Mandriva Linux. Detta är\n"
+"för att uppfylla LSB stöd maximalt. Om du inte väljer \"LSB\" \n"
+"kommer du ändå att ha ett system som är LSB kompatibelt nästan\n"
+"till 100%%.\n"
+"\n"
+"* \"%s\": om datorn ska användas som server, kan du här\n"
+"välja de tjänster som du vill ha installerade på den.\n"
+"\n"
+" * \"%s\": här väljer du den grafiska miljö som du vill använda. \n"
+"Du måste välja åtminstone en om du vill ha ett grafiskt gränssnitt på\n"
+"din arbetsstation.\n"
+"\n"
+"Om du flyttar muspekaren över ett gruppnamn får du se en kort\n"
+"beskrivande text för just den gruppen.\n"
+"\n"
+"Du kan markera \"%s\" som är användbart om du vet vilka\n"
+"paket du vill ha installerade eller om du vill ha fullständig kontroll över\n"
+"vad som blir installerat.\n"
+"\n"
+"Om du startar installationen i \"%s\" läge kan du avmarkera alla\n"
+"grupper för att undvika installation av nya paket. Detta är\n"
+"användbart vid reparation eller uppdatering av ett existerande\n"
+"system.\n"
+" \n"
+"Om du inte väljer någon grupp när\n"
+"du installerar (till skillnad från när du uppdaterar), kommer en \n"
+"dialogruta att visas och föreslå olika minimala installationer.\n"
+"\n"
+" * \"%s\": Installera det minsta antalet paket som behövs för att få en\n"
+"fungerande grafisk skrivbordsmiljö.\n"
+"\n"
+" * \"%s\": Installerar grundsystemet plus\n"
+"grundläggande verktyg och dess dokumentation. Denna installation lämpar\n"
+"sig för en server.\n"
+"\n"
+"* \"%s\": Installerar det absolut minsta antalet paket\n"
+"som behövs för ett fungerande Linux-system. Med denna installation kommer\n"
+"du ej att ha tillgång till några grafiska system. Denna\n"
+"installation är ca 65Mb stor."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Uppdatera"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Med grundläggande dokumentation"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Extremt minimal installation"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Om du valde att installera enskilda paket kommer du\n"
+"att få se ett träd innehållande alla paket klassificerade efter grupper och\n"
+"undergrupper. Om du bläddrar i trädet kan du välja hela grupper,\n"
+"undergrupper eller enskilda paket.\n"
+"\n"
+"När du väljer ett paket i trädet, visas en beskrivning till höger.\n"
+"\n"
+"Om det skulle visa sig att ett serverpaket har valts antingen\n"
+"oavsiktligt eller om det var med i en hel grupp, kommer du att få bekräfta\n"
+"att du verkligen vill att dessa servrar ska installeras. Under Mandriva\n"
+"Linux startas installerade servrar vid uppstart. Även fast de är säkra när\n"
+"den här distributionen släpps, kan det hända att säkerhetsluckor hittats\n"
+"i efterhand. Om du inte vet vad en specifik tjänst gör eller varför den\n"
+"blir installerad, klicka \"%s\" här. Om du klickar \"%s\" kommer de\n"
+"listade tjänsterna att installeras och startas automatiskt.\n"
+"\n"
+"Alternativet \"%s\" inaktiverar helt enkelt\n"
+"varningsdialogrutan som visas när installationsprogrammet automatiskt\n"
+"väljer ett paket. Detta inträffar därför att det har upptäckts att ett\n"
+"beroende med ett annat paket måste tillfredsställas för att detta paket\n"
+"ska kunna installeras ordentligt. Installationsprogrammet kan\n"
+"avgöra vilka paket som krävs för att lösa ett beroende.\n"
+"\n"
+"Den lilla diskettikonen i slutet på listan låter dig ladda en paketlista\n"
+"som du kan ha gjort vid en tidigare installation. Detta är användbart\n"
+"om du har ett antal datorer som skall ha en identisk konfiguration.\n"
+"När du klickar på den ikonen kommer du att bli ombedd om att stoppa i\n"
+"en diskett som du tidigare skapat vid slutet av en annan\n"
+" installation. Se det andra tipset i det sista steget hur du gör för att "
+"skapa\n"
+" en sådan diskett."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatiska beroenden"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": om du klickar på \"%s\" startar skrivarguiden.\n"
+"Se motsvarande kapitel i \"Starter Guide\" för mer information om hur du\n"
+"ska göra för att installera en ny skrivare. Gränssnittet som visas där\n"
+"liknar det som används vid installationen."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Denna dialog används för att välja vilka tjänster du vill starta vid "
+"uppstart.\n"
+"\n"
+"Här visas alla tjänster tillgängliga med den aktuella installationen.\n"
+"Titta igenom dem och avmarkera dem du inte behöver vid start.\n"
+"\n"
+"Du kan få en kort förklaringstext om en tjänst genom att välja den\n"
+"specifika tjänsten. Om du är osäker på om en tjänst är användabar eller\n"
+"inte är det säkrast att lämna den tjänsten orörd.\n"
+"\n"
+"!! Var extra försiktig i dina val om den här datorn ska användas som en\n"
+"server: du vill antagligen inte starta tjänster som du inte behöver.\n"
+"Kom ihåg att flera tjänster kan innebära en risk om de aktiveras på\n"
+"en server. Som generell regel, välj bara de tjänster du verkligen behöver. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux utgår från GMT (Greenwich Mean Time) och översätter det till\n"
+"lokal tid enligt den tidszon du har valt. Om hårdvaruklockan på ditt\n"
+"moderkort är utgår från lokal tid kan du inaktivera detta genom att \n"
+"avmarkera \"%s\" så att hårdvaruklockan blir samma som systemklockan.\n"
+"Det är användbart när datorn är värd för andra operativsystem som t ex \n"
+"Windows.\n"
+"\n"
+"Alternativet \"%s\" gör så att klockan ställs\n"
+"automatiskt genom att datorn kontaktar en server på Internet. I den lista\n"
+"som sedan presenteras väljer du den server som ligger närmast dig.\n"
+"Naturligtvis måste du vara uppkopplad mot Internet för att detta ska\n"
+"fungera. Det läggs in en tidserver på din dator och den kan, om så\n"
+"önskas, användas av andra datorer i ditt lokala nätverk."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatisk tidsynkronisering"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet kan vanligtvis automatiskt identifiera och\n"
+"konfigurera grafikkortet i datorn. Om det misslyckas kan du välja\n"
+"det korrekta kortet i den här listan.\n"
+"\n"
+" Om olika servrar finns tillgängliga för ditt kort, utan eller\n"
+"med 3D-acceleration, väljer du den server som bäst passar dina\n"
+"behov. "
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (som står för X Window System) är hjärtat i det grafiska gränssnittet\n"
+"i GNU/Linux. Alla grafiska miljöer som följer med Mandriva Linux\n"
+"(KDE, GNOME, AfterStep, WindowMaker osv) är beroende av det\n"
+"för att fungera.\n"
+"\n"
+"Du kommer att kunna välja ett antal parametrar för att få den optimala\n"
+"grafiska bilden: \n"
+"\n"
+"Grafikkort\n"
+"\n"
+" Installationsprogrammet kommer vanligtvis automatiskt att\n"
+"känna av och konfigurera grafikkortet som är installerat på\n"
+"datorn. Om detta är inte fungerar så kan du välja ditt kort från\n"
+"en lista.\n"
+"\n"
+" Om det finns flera servrar tillgängliga för ditt kort, med eller utan\n"
+"3D-acceleration, kommer du att ombedas välja den server som\n"
+"bäst passar dina behov.\n"
+"\n"
+"\n"
+"\n"
+"Skärm\n"
+"\n"
+" Installationsprogrammet kommer vanligtvis automatiskt att\n"
+"känna av och konfigurera vilken skärm som är kopplad till\n"
+"datorn. Om detta är inte fungerar så kan du välja din skärm från\n"
+"en lista.\n"
+"\n"
+"\n"
+"\n"
+"Upplösning\n"
+"\n"
+" Här kan du välja vilken upplösning och antal färger som din\n"
+"hårdvara ska använda. Välj den som bäst passar dina behov\n"
+"(du kan alltid ändra det när installationen är klar). Ett exempel\n"
+"av den valda konfigurationen visas i bildskärmen.\n"
+"\n"
+"\n"
+"\n"
+"Testa\n"
+"\n"
+" Beroende på vilken hårdvara du har kan detta val inte dyka upp.\n"
+"\n"
+" Systemet kommer att försöka öppna en grafisk skärm med önskad\n"
+"upplösning. Om du kan se meddelandet under testet och svara \"%s\"\n"
+"kommer DrakX att gå vidare till nästa steg. Om du inte kan se\n"
+"meddelandet så betyder det att någonting var fel med den automatiska\n"
+"konfigureringen och testet kommer automatiskt att avslutas efter 12 "
+"sekunder\n"
+"och du kommer tillbaka till menyn. Ändra inställningarna tills du får en\n"
+"korrekt konfigurerad grafisk bild.\n"
+"\n"
+"\n"
+"\n"
+"Alternativ\n"
+"\n"
+"Här kan du välja om du vill att datorn automatiskt ska starta ett grafiskt\n"
+"gränssnitt vid uppstart. Du bör kryssa för \"%s\" om din dator ska\n"
+"agera som server, eller om du inte lyckades med att konfigurera\n"
+"bilden."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Bildskärm\n"
+"\n"
+" Installationsprogrammet kan vanligtvis automatiskt identifiera och\n"
+"konfigurera din bildskärm. Om så inte är fallet kan du från denna lista\n"
+"välja den bildskärm som faktiskt är ansluten till datorn."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Upplösning\n"
+"\n"
+" Du kan här välja mellan de olika alternativ för upplösning och färgdjup\n"
+"som finns tillgängliga för din hårdvara. Välj det som bäst är anpassat för\n"
+"dina behov. (du kommer dock att ha möjlighet att ändra detta efter\n"
+"installationen). I bildskärmsbilen kan du se hur konfigurationen kommer att\n"
+"se ut. "
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Om det finns olika servrar tillgängliga för ditt kort, med eller\n"
+"utan 3D-acceleration, kommer du att få möjlighet att välja den server\n"
+"som bäst är anpassad för dina behov."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Alternativ\n"
+"\n"
+" Här kan du välja om du vill att din dator automatiskt ska starta\n"
+"ett grafiskt användargränssnitt vid uppstart. Du bör välja \"%s\" om\n"
+"din dator ska användas som server, eller om du inte lyckades att\n"
+"konfigurera bildskärmen korrekt."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Nu måste du välja var på hårddisken du vill installera Mandriva\n"
+"Linux. Om den är tom eller om ett befintligt operativsystem använder\n"
+"allt tillgängligt utrymme behöver du partitionera den. Att partitionera en\n"
+"hårddisk går ut på att man delar upp den i logiska enheter för att skapa \n"
+"utrymmen åt det nya Mandriva Linux-systemet.\n"
+"\n"
+"Eftersom resultatet av en partitionering vanligtvis inte går att ångra\n"
+"kan partitionering kännas skrämmande om du är en ovan användare.\n"
+"Denna guide förenklar processen. Innan du börjar, titta i manualen\n"
+"och ta den tid du behöver.\n"
+"\n"
+"Beroende på hårddiskkonfigurationen är flera alternativ tillgängliga:\n"
+"\n"
+" \"%s\": detta leder till en automatisk\n"
+"partitionering av den tomma disken. Du kommer inte att få några fler\n"
+"frågor.\n"
+"\n"
+" * \"%s\": guiden har hittat en eller flera\n"
+"Linux-partitioner på hårddisken. Om du vill använda dem, välj detta\n"
+"alternativ. Du uppmanas att välja monteringspunkterna som\n"
+"är associerade med varje partition. De gamla monteringspunkterna väljs\n"
+"som förval och vanligen bör du behålla dem.\n"
+"\n"
+" * \"%s\": Om Microsoft Windows\n"
+"är installerat på hårddisken och tar upp allt tillgängligt utrymme, måste\n"
+"du skapa ledigt utrymme för GNU/Linux. För att göra det kan du ta bort\n"
+"Microsoft Windows-partitionen och all data (se lösningen \"Radera hela\n"
+"hårddisken\") eller ändra storlek på Microsoft Windows-FAT partitionen.\n"
+"Ändring av storlek kan utföras utan att förlora data, under förutsättning\n"
+"att du nyligen defragmenterat Windows-partitionen och att den använder.\n"
+"formatet FAT. Du rekommenderas dock starkt att först säkerhetskopiera \n"
+"data från Windows-partitionen. Denna lösning rekommenderas om du vill\n"
+" använda både Mandriva Linux och Microsoft Windows på samma dator.\n"
+"\n"
+" Innan du väljer denna lösning måste du vara införstådd med att\n"
+" storleken på Microsoft Windows-partitionen kommer att bli mindre\n"
+" än den är för närvarande. Det betyder att du kommer att ha mindre\n"
+" utrymme under Microsoft Windows för att lagra data eller installera\n"
+" ny mjukvara.\n"
+"\n"
+" * \"%s\": Om du vill ta bort alla data och alla\n"
+"partitioner som finns på hårddisken och ersätta dem med ditt nya\n"
+"Mandriva Linux-system, väljer du detta alternativ. Var försiktig med\n"
+"detta alternativ eftersom du kan inte ångra dig efteråt.\n"
+"\n"
+" !! Om du väljer detta alternativ kommer alla data på disken att tas "
+"bort. !!\n"
+"\n"
+" * \"%s\": tar helt enkelt bort allt på disken och startar en\n"
+"fräsch partitionering från grunden. Alla data på disken kommer att tas\n"
+"bort.\n"
+"\n"
+" !!Om du väljer detta alternativ kommer all data på disken att tas "
+"bort.!!\n"
+"\n"
+" * \"%s\": välj detta alternativ om du vill partitionera\n"
+"hårddisken manuellt. Var försiktig - det är ett kraftfullt men farligt\n"
+"alternativ. Du kan väldigt enkelt förlora allt data. Därför, välj\n"
+"inte detta om du inte är helt säker på vad du gör. För att veta hur du ska\n"
+"använda DiskDrake-verktyget som används här, se kapitlet \"Managing Your\n"
+"Partitions\" i \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Använd existerande partition"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Radera hela hårddisken"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Installationen är nu färdig och GNU/Linux-systemet är klart\n"
+"att användas. Klicka på \"%s\" för att starta om systemet. Det\n"
+"första du bör se efter det att datorn har gjort hårdvarutesterna är\n"
+"startmenyn där du kan välja vilket operativsystem du vill starta.\n"
+"\n"
+"Knappen \"%s\" visar ytterligare två knappar som är till för att:\n"
+"\n"
+" * \"%s\": för att skapa en\n"
+"installationsdiskett som automatiskt utför en hel installation utan\n"
+"hjälp av en operatör, liknande installationen du just utfört.\n"
+"\n"
+" Observera att två olika alternativ finns tillgängliga när du klickar på\n"
+"knappen:\n"
+"\n"
+" * \"%s\". Det här är en delvis automatisk installation eftersom\n"
+"partitioneringssteget (och endast detta) fortfarande är interaktivt.\n"
+"\n"
+" * \"%s\". Helt automatisk installation: allt innehåll på\n"
+"hårddisken skrivs om och all data går förlorad.\n"
+"\n"
+" Den här funktionen är väldigt praktisk om du ska installera ett större\n"
+"antal likande datorer. Se sektionen \"Auto install\" på vår hemsida.\n"
+"\n"
+" * \"%s\"(*): sparar föregående paketval.\n"
+"För att använda detta paketval vid en senare installation, sätt in \n"
+"disketten i diskettstationen. Vid prompten, tryck på \n"
+"[F1], och skriv >>linux defcfg=\"floppy\"<< och tryck på [Enter] knappen.\n"
+"\n"
+"(*) Du behöver en FAT-formaterad diskett. För att skapa en under\n"
+"GNU/Linux, skriv \"mformat a:\", eller \"fdformat /dev/fd0\" följt av\n"
+" \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Generera automatisk installationsdiskett"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Om du önskar återanvända utrymmet på några gamla GNU/Linux\n"
+"partitioner kan du omformatera dem för att rensa dem på data. \n"
+"Om du vill göra det, välj de partitioner du vill formatera.\n"
+"\n"
+"Observera att det inte är nödvändigt att omformatera alla existerande\n"
+"partitioner. Du måste omformatera de partitioner som innehåller själva\n"
+"operativsystemet. (som t ex \"/\", \"/usr\" eller \"/var\") men du behöver\n"
+"inte formatera partitioner som innehåller data du vill behålla\n"
+"(vanligtvis /home).\n"
+"\n"
+"Var försiktig när du väljer partitioner, för efter formatering kommer all\n"
+"data på valda partitioner att vara raderat och du kommer inte att kunna \n"
+"återskapa någonting.\n"
+"\n"
+"Klicka på \"%s\" när du är redo att formatera partitionerna.\n"
+"\n"
+"Klicka på \"%s\" om du vill välja andra partitioner att installera ditt\n"
+"nya Mandriva Linux-system på.\n"
+"\n"
+"Klicka på \"%s\" för att välja på vilka partitioner du vill leta\n"
+"efter felaktiga block."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Sedan denna version av Mandriva Linux gavs ut är det troligt att\n"
+"några paket har uppdaterats. Fel kan ha rättats till och\n"
+"säkerhetsrelaterade problem kan ha lösts. För att du ska kunna ta\n"
+"del av dessa uppdateringar ges du nu möjligheten att ladda ner dem\n"
+"från Internet. Välj \"%s\" om du har en fungerande \n"
+"Internetuppkoppling, eller \"%s\" om du vill installera uppdaterade\n"
+" paket senare.\n"
+"\n"
+"När du väljer \"%s\" visas en lista på webplatser som det går att hämta\n"
+"paketen från. Du bör välja det som ligger närmast dig. Sedan visas en\n"
+"trädvy där det går att välja paket. Gå igenom valen och klicka sedan\n"
+"på \"%s\" för att hämta och installera valda paket, eller \"%s\" för att\n"
+" avbryta."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Nu är det dags att välja vilken säkerhetsnivå som ska tillämpas på\n"
+"datorn. En tumregel är säkerhetsnivån bör sättas högre om den \n"
+"kommer att innehålla viktig data eller om den kommer att vara \n"
+"tillgänglig från Internet. Det bör dock nämnas att nivån på säkerheten\n"
+"påverkar hur lättanvänd datorn blir.\n"
+"Om du inte är säker på vad du ska välja, behåll det förvalda alternativet.\n"
+"Du kan ändra det senare med draksec verktyget, vilket är en del av av\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+"Skriv in email adressen till personen som är ansvarig för säkerheten\n"
+"i \"%s\" fältet. Säkerhetsmeddelanden kommer att mailas till den\n"
+"adressen."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Säkerhetsadministratör"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Nu måste du välja vilka partitioner som ska användas för installationen av\n"
+"Mandriva Linux-systemet. Om partitioner redan har definierats, antingen\n"
+"från en tidigare installation av GNU/Linux eller av ett annat\n"
+"partitionsverktyg, kan du använda dessa. Annars måste hårddiskpartitioner\n"
+"definieras.\n"
+"\n"
+"För att skapa partitioner måste du först välja en hårddisk. Du kan välja\n"
+"disken som ska partitioneras genom att klicka på \"hda\" för den första\n"
+"IDE-disken, \"hdb\" för den andra, \"sda\" för den första SCSI-disken\n"
+"och så vidare.\n"
+"\n"
+"För att partitionera den valda disken kan du använda dessa alternativ:\n"
+"\n"
+" * \"%s\": det här alternativet tar bort alla partitioner på\n"
+"den valda hårddisken.\n"
+"\n"
+" * \"%s\": det här alternativet låter dig automatiskt\n"
+"skapa Ext3- och växlingspartitioner på det lediga utrymmet på hårddisken.\n"
+"\n"
+" * \"%s\": ger tillgång till ytterligare funktioner:\n"
+"\n"
+" * \"%s\" sparar partitionstabellen på diskett. Användbart för eventuell "
+"framtida återskapning av partitionstabell. Du rekommenderas\n"
+"att utföra detta steg.\n"
+"\n"
+" * \"%s\": tillåter återskapning av partitionstabell som sparats på "
+"diskett.\n"
+"\n"
+" * \"%s\": om partitionstabellen är skadad, kan du\n"
+"försöka reparera den med detta alternativ. Var försiktig och ha i åtanke\n"
+"att det kan misslyckas.\n"
+"\n"
+" * \"%s\": bortser från alla ändringar och laddar din\n"
+"ursprungliga partitionstabell.\n"
+"\n"
+" * \"%s\": avmarkering av detta\n"
+"alternativ tvingar användarna att manuellt montera och avmontera \n"
+"flyttbar media som disketter och cd-skivor.\n"
+"\n"
+" * \"%s\": använd det här alternativet om du vill använda en guide för\n"
+"att partitionera hårddisken. Det rekommenderas om du inte har god kunskap\n"
+"om partitionering.\n"
+"\n"
+" * \"%s\": välj detta för att ångra ändringarna.\n"
+"\n"
+" * \"%s\": tillåter ytterligare åtgärder för partitionering\n"
+"(Typ, alternativ, format) och ger mer information.\n"
+"\n"
+" * \"%s\": när du har partitionerat klart hårddisken, kommer detta\n"
+"att spara ändringarna till disk.\n"
+"\n"
+"När du bestämmer storleken på en partition kan du finjustera storleken\n"
+"genom att använda piltangenterna på tangentbordet.\n"
+"\n"
+"Observera: du kan hoppa till vilket alternativ som helst med tangentbordet.\n"
+"Navigera genom partitionerna med tangenten tabb och upp- och nerpilarna.\n"
+"\n"
+"När en partition är vald kan du använda:\n"
+"\n"
+" * Ctrl+c för att skapa en ny partition (när en tom partition är vald).\n"
+"\n"
+" * Ctrl+d för att ta bort en partition;\n"
+"\n"
+" * Ctrl+m för att ange monteringspunkten.\n"
+"\n"
+"För att få information om de olika typerna av filsystem, läs kapitlet\n"
+"ext2FS i \"Reference Manual\".\n"
+"\n"
+"Om du installerar på en PPC-dator bör du skapa en en liten HFS-\n"
+"partition (\"bootstrap\") på åtminstone 1 MB. Den kommer att användas av\n"
+"starthanteraren Yaboot. Om du gör partitionen lite större, t ex 50 MB,\n"
+"har du ett bra ställe att lagra en reservkärna och ramdiskar för nödlägen."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Automatisk montering av flyttningsbar media"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Byt mellan normal/expert läge"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Fler än en Microsoft Windows-partition har hittats på hårddisken.\n"
+"Välj vilken av dem du vill ändra storlek på för att kunna installera\n"
+"operativsystemet Mandriva Linux.\n"
+"\n"
+"Varje partition listas som följer: \"Linux-namn\", \"Windows-namn\"\n"
+"\"Kapacitet\".\n"
+"\n"
+"\"Linux-namn\" är strukturerad på följande vis: \"hårddisktyp\", "
+"\"hårddisknummer\",\n"
+"\"partitionsnummer\" (till exempel, \"hda1\").\n"
+"\n"
+"\"Hårddisktyp\" är \"hd\" om hårddisken är en IDE-hårddisk och\n"
+"\"sd\" om det är en SCSI-hårddisk.\n"
+"\n"
+"\"Hårddisknummer\" är alltid en bokstav efter \"hd\" eller \"sd\". Med IDE-\n"
+"hårddiskar:\n"
+"\n"
+" * \"a\" betyder \"master-hårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"b\" betyder \"slavhårddisk på den primära IDE-kontrollern\",\n"
+"\n"
+" * \"c\" betyder \"master-hårddisk på den sekundära IDE-kontrollern\",\n"
+"\n"
+" * \"d\" betyder \"slavhårddisk på den sekundära IDE-kontrollern\".\n"
+"\n"
+"Med SCSI-hårddiskar, betyder \"a\" \"lägsta SCSI-ID\", ett \"b\" betyder\n"
+"\"andra lägsta SCSI-ID\", etc.\n"
+"\n"
+"\"Windows-namn\" är bokstaven på hårddisken under Windows (den första\n"
+"disken eller partitionen kallas \"C:\"). "
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+" * \"%s\": kontrollera valet av land. Om du inte finns i detta land,\n"
+"klicka på knappen \"%s\" och välj ett annat. Om ditt land\n"
+"inte finns i den första listan som visas, klicka på \"%s\" för att få\n"
+"den fullständiga listan på länder."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Detta steg startas endast om en gammal GNU/Linux-partition har hittats\n"
+"på datorn.\n"
+"\n"
+"DrakX behöver veta om du önskar starta en ny installation eller uppdatera\n"
+"ett redan existerande Mandriva Linux-system:\n"
+"\n"
+" * \"%s\" Detta raderar oftast helt det gamla systemet. Om du vill ändra\n"
+"hur hårddiskarna är partitionerade eller ändra filsystemet ska du använda\n"
+"detta alternativ. Beroende på hur du har valt att partitionera är det "
+"möjligt\n"
+"att förhindra viss data från att skrivas över (förslagsvis innehållet i \n"
+"\"home\" katalogen).\n"
+"\n"
+" * \"%s\" detta installationsalternativ uppdaterar de paket som är "
+"installerade\n"
+"på ditt Mandriva Linux-system. Dina nuvarande partitioner och dina\n"
+"användares data kommer inte att förändras. De flesta installationssteg\n"
+"kommer att vara tillgängliga precis som på en vanlig installation.\n"
+"\n"
+"Uppdateringsalternativet bör fungera utmärkt på Mandriva Linux-system\n"
+"som är version \"8.1\" eller senare. Att göra en uppdatering av tidigare\n"
+"versioner än \"8.1\" rekommenderas ej."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"I de flesta fall väljer DrakX rätt tangentbord åt dig (beroende på vilket\n"
+"språk du har valt) och det hela sker automatiskt. Kontrollera att \n"
+"det förvalda tangentbordet passar dig eller välj ett annat tangentbord.\n"
+"\n"
+"Det kan även hända\n"
+"att du har ett tangentbord som inte helt motsvarar ditt språk: om du\n"
+"till exempel är en engelsktalande schweizare kanske du ändå vill att\n"
+"ditt tangentbord är schweiziskt. Eller om du talar engelska och bor i\n"
+"Quebec kan du befinna dig i en liknande situation. I båda fallen behöver\n"
+"du gå tillbaka till detta installationssteg och välja önskat tangentbord\n"
+"ur listan.\n"
+"\n"
+"Klicka på \"%s\" för en komplett lista över tillgängliga tangentbord.\n"
+"\n"
+"Om du väljer en tangentbordslayout som inte är baserad på ett icke-latinskt\n"
+"alfabet kommer du i nästa dialogruta uppmanas att välja snabbtangenterna \n"
+"som ska användas för att byta mellan den latinska layouten och \n"
+"den icke-latinska."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Första steget är att välja språk.\n"
+"\n"
+"Det språk du väljer kommer att påverka språket i dokumentationen, "
+"installationsprogrammet och systemet i allmänhet. Välj först den region du "
+"bor i och sedan det språk som du talar.\n"
+"\n"
+"Om du klickar på %s kan du välja andra språk som du vill\n"
+"ha installerade på datorn. Genom att välja andra språk så kommer\n"
+"språkspecifika filer för systemdokumentation och program att installeras.\n"
+"Om du till exempel får besök av personer från Spanien som behöver använda\n"
+"datorn, välj ditt eget språk som huvudspråket i trädvyn och under den\n"
+"avancerade sektionen klicka på den ruta som motsvarar\n"
+"\"%s\".\n"
+"\n"
+"Beträffande UTF-8 (Unicode) stöd: Unicode är en internationell\n"
+"standard för teckenkoder som har som mål att täcka alla\n"
+"existerande språk. Unicode i GNU/Linux fungerar, men\n"
+"är fortfarande under utveckling. Användandet av Unicode \n"
+"kommer därför att vara beroende på vilka språk du väljer.\n"
+"\n"
+" * Om du väljer ett språk med starkt stöd för äldre teckenkoder \n"
+"(latin1 språk, ryska, japanska, kinesiska, koreanska, thailändska, \n"
+"grekiska, turkiska, de flesta iso8859-2 språk) så kommer\n"
+"den äldre teckenkoden att väljas som standard. \n"
+"\n"
+" * Alla andra språk kommer att få Unicode som standard.\n"
+"\n"
+" * Om två eller flera språk har valts och dessa språk använder\n"
+"olika teckenkoder så kommer Unicode att väljas som standard \n"
+"för hela systemet.\n"
+"\n"
+" * Slutligen kan användaren tvinga hela systemet att använda\n"
+"Unicode oberoende av vilka språk som har valts genom att välja \n"
+"alternativet \"%s\" .\n"
+"\n"
+"Observera att flera språk kan installeras. Du kan till och med installera \n"
+"dem alla genom att välja \"%s\". Om du väljer stöd för ett språk\n"
+"betyder det att översättningar, teckensnitt, stavningskontroll etc. för \n"
+"språket kommer att installeras. \n"
+"För att välja mellan de olika språken installerade på systemet kan du\n"
+"starta kommandot \"localedrake\" som root för att ändra språket\n"
+"för hela systemet. Kör du kommandot som en vanlig användare kommer\n"
+"du att ändra språket för bara den användaren."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Spanska"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX identifierar vanligen hur många knappar din mus har. Om inte\n"
+"antar den att du har en mus med två knappar och kommer att ställa in\n"
+"den för knapp 3-emulering. Den tredje knappen på en två-knappars\n"
+"mus kan användas genom att trycka på vänstra och högra\n"
+"musknappen samtidigt . DrakX kommer automatiskt att veta\n"
+"om musen är av typ PS/2, seriell eller USB.\n"
+"\n"
+"Om du har en mus med tre knappar utan hjul kan du välj en \"%s\"\n"
+"mus. DrakX kommer då ställa in den så du kan simulera ett hjul\n"
+"med den. Tryck in mittenknappen och rör muspekaren upp eller\n"
+"ner för att simulera användandet av ett mushjul.\n"
+"\n"
+"Om du vill specificera en annan mustyp välj då den i listan\n"
+"som visas.\n"
+"\n"
+"Du kan välja \"%s\" för att specifiera en \"generisk\" mustyp som\n"
+"kommer att fungera med nästan alla olika möss.\n"
+"\n"
+"Om du väljer en annan mus än den förvalda kommer en testskärm att\n"
+"visas. Använd musknapparna och hjulet för att verifiera att inställningarna\n"
+"är korrekt. Om musen inte fungerar ordentligt tryck på mellanslag eller\n"
+"Enter för att avbryta och välja igen.\n"
+"\n"
+"Ibland identifieras inte hjulmöss automatiskt. Du måste manuellt välja\n"
+"korrekt mus i listan. Se till så att du väljer den som motsvarar porten den\n"
+"är ansluten till. När du valt en mus och har klickat \"%s\" kommer en \n"
+"musbild att visas. Du måste då röra på hjulet för att aktivera det, och\n"
+"du kommer se mushjulet på skärmen röra sig. \n"
+"Testa sedan att alla knappar och musrörelsen fungerar korrekt, muspekaren\n"
+"skall röra sig på skärmen om allt fungerar."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "med hjulemulering"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Universal | Valfri PS/2- eller USB-mus"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Välj den korrekta porten. Exempel: porten som kallas \"COM1\" i\n"
+"Windows heter \"ttyS0\" i GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Det här är det viktigaste steget för säkerheten i ditt GNU/Linux-system:\n"
+"du ska ange \"root\"-lösenordet. \"root\" är systemets administratör och\n"
+"den enda som har behörighet att göra uppdateringar, lägga till användare,\n"
+"ändra på systemets övergripande konfiguration, osv. Kort sagt, \"root\" kan\n"
+"göra allt. Därför måste du välja ett lösenord som är svårt att lista ut.\n"
+"DrakX talar om för dig om du väljer ett lösenord som är för lätt. Som du\n"
+"ser har du möjlighet att inte ange något lösenord alls, men vi avråder från\n"
+"det. Det är lika lätt att begå misstag i GNU/Linux som i andra "
+"operativsystem.\n"
+"Eftersom \"root\" kan gå förbi alla begränsningar och oavsiktligt radera\n"
+"alla data på partitioner genom att vara oförsiktig är det viktigt att det "
+"är\n"
+"svårt att bli \"root\".\n"
+"\n"
+"Lösenordet bör vara en blandning av numeriska tecken och bokstäver och\n"
+"minst åtta tecken långt. Skriv aldrig ner \"root\"-lösenordet - det\n"
+"ökar risken för ett intrång i systemet.\n"
+"\n"
+"Gör dock inte lösenordet för långt och komplicerat, för du måste\n"
+"kunna komma ihåg det utan allt för mycket besvär.\n"
+"\n"
+"Lösenordet visas inte på skärmen när du skriver in det. Det är därför\n"
+"du får skriva det två gånger, för att undvika att du skriver fel. Om du\n"
+"gör samma skrivfel två gånger måste du använda detta \"felaktiga\"\n"
+"lösenord första gången du loggar in.\n"
+"\n"
+"Tänk på att om du byter språk för tangentbordsinställningar efter att du\n"
+"har skrivit in ditt lösenord så kommer kanske vissa bokstäver eller\n"
+"specialtecken att tolkas annorlunda fast du trycker på exakt samma\n"
+"tangent som tidigare. Detta kan göra det svårt att skriva in lösenordet\n"
+"korrekt eftersom det inte visas på skärmen medan du skriver. Det kan\n"
+"därför vara en god ide att undvika att använda specialtecken i ditt\n"
+"lösenord.\n"
+"\n"
+"Om du önskar att tillgången till denna dator ska kontrolleras av en\n"
+"autentiseringsserver, klicka på knappen \"%s\".\n"
+"\n"
+"Om ditt nätverk använder LDAP, NIS eller en Windows PDC för autentisering,\n"
+"välj motsvarande för \"%s\". Om du är osäker, fråga\n"
+"din nätverksadministratör.\n"
+"\n"
+"Om du har problem med att komma ihåg lösenord kan du välja att ha\n"
+"\"%s\", om din dator inte kommer att vara uppkopplad mot\n"
+"Internet och du litar på alla som har tillgång till den."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "autentisering"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO och grub är starthanterare, små program som körs av din dator\n"
+"vid uppstart. De ansvarar för att starta systemet och ladda ett valfritt\n"
+"operativsystem. Detta steg är vanligtvis\n"
+"helt automatiserat. DrakX kommer att analysera diskens startsektor\n"
+"och agera efter vad den hittar där:\n"
+"\n"
+" * Om en Windows-startsektor hittas kommer den att ersättas med en\n"
+"Grub/Lilo-startsektor. Du kommer då varje gång du startar datorn att\n"
+"kunna välja att ladda antingen GNU/Linux eller andra operativsystem.\n"
+"\n"
+" * Om en Grub- eller Lilo-startsektor hittas kommer den att ersättas\n"
+"med en ny.\n"
+"\n"
+"Om den inte kan avgöra lämplig åtgärd kommer DrakX att fråga dig\n"
+"var starthanteraren ska placeras. Generellt är \"%s\" det säkraste\n"
+"valet. Om du väljer \"%s\" kommer ingen starthanterare att\n"
+"installeras. Välj endast detta om du är en erfaren användare som\n"
+"vet vad det innebär."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Här väljer du vilket skrivarsystem du ska använda. Andra operativsystem\n"
+"erbjuder dig kanske bara ett, men Mandriva erbjuder dig två.\n"
+"Vilket skrivarsystem som är lämpligast är beroende på vilken \n"
+"systemkonfiguration du har.\n"
+"\n"
+" * \"%s\" - vilket betyder \"print, do not queue\" (skriv direkt utan att \n"
+"använda köer), är det du ska välja om\n"
+"du har en direkt anslutning till din skrivare och vill ha möjligheten att\n"
+"stoppa utskrifter, och om du inte har några nätverksskrivare. \"%s\" "
+"hanterar\n"
+"bara enkla nätverksfall och är ganska långsamt över nätverk. Välj\n"
+"\"pdq\" om GNU/Linux är nytt för dig.\n"
+"\n"
+" * \"%s\" - ``Common Unix Printing System\" är mycket bra på att skriva\n"
+"ut både till lokala skrivare eller till skrivare som kan vara placerade \n"
+"på andra sidan jorden. Det är enkelt att anpassa och kan\n"
+"agera som en server eller klient för det gamla skrivarsystemet \"lpd\", det\n"
+"är alltså kompatibelt med gamla skrivarsystem. Det är mycket kraftfullt,\n"
+"men den grundläggande installationen är nästan lika enkel som med \"pdq\".\n"
+"Om du ska använda emulera en \"lpd\"-server måste du aktivera\n"
+"demonen \"cups-lpd\". \"%s\" har grafiska gränssnitt för utskrift, för olika "
+"utskriftsalternativ, och för att styra skrivare.\n"
+"\n"
+"Om du gör ett val nu och senare kommer fram till att du inte gillar\n"
+"skrivarsystemet kan du alltid ändra dig efter installationen genom att\n"
+"använda PrinterdDrake i Mandrivas kontrollcentral, och där klicka på\n"
+"knappen \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Expert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX letar nu efter IDE-enheter i datorn. DrakX kommer också att\n"
+"leta efter PCI SCSI-kort på systemet. Om DrakX hittar ett SCSI-kort\n"
+"och känner till rätt drivrutin, kommer kortet att installeras automatiskt.\n"
+"\n"
+"Eftersom hårdvaruidentifieringen inte alltid hittar all hårdvara, kan du\n"
+"bli tvungen att ange din hårdvara för hand.\n"
+"\n"
+"Om du blir tvungen att manuellt specificera kortet kommer DrakX att\n"
+"fråga om du vill ange alternativ för det. Du bör tillåta DrakX att själv\n"
+"undersöka hårdvaran efter alternativ. Detta fungerar oftast bra.\n"
+"\n"
+"Om DrakX inte klarar av att undersöka hårdvaran kommer du att \n"
+"behöva konfigurera drivrutinen manuellt."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": om ett ljudkort identifierats i datorn visas det här.\n"
+"Om du märker att det ljudkort som visas inte är det samma som finns\n"
+"i din dator så kan du klicka på knappen för att välja en annan drivrutin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"För att möjliggöra en förhandsgranskning, så presenterar DrakX en\n"
+"sammanfattning av ditt system. Beroende på vilken hårdvara du har \n"
+"installerad så kan du ha några eller alla av de följande kategorierna.\n"
+"Varje kategori består av vad som konfigurerats, följt av en enkel\n"
+"sammanfattning av aktuell konfigurering.\n"
+"Klicka på motsvarande \"%s\"-knapp för att ändra konfigureringen.\n"
+"\n"
+" * \"%s\": kontrollera aktuella tangentbordsinställning och ändra om\n"
+"så önskas.\n"
+"\n"
+" * \"%s\": kontrollera förvalt land. Om du inte bor i detta land, välj \n"
+"knappen \"%s\" och ändra. Om ditt land inte finns med i den första\n"
+"listan som visas, klicka på knappen \"%s\" för att få en fullständig lista\n"
+"över länder.\n"
+"\n"
+" * \"%s\": DrakX väljer automatiskt en tidszon baserat på vilket land\n"
+"du har valt. Om detta val inte är korrekt kan du korrigera det genom\n"
+"att klicka på knappen \"%s\".\n"
+"\n"
+" * \"%s\": kontrollera aktuell muskonfiguration och klicka på knappen för\n"
+"att ändra den om så önskas.\n"
+"\n"
+" * \"%s\": Genom att klicka på knappen \"%s\" så öppnas guiden för\n"
+"konfigurering av skrivare. Läs i motsvarande kapitel i \"Starter Guide\"\n"
+"för mer information om hur man konfigurerar en ny skrivare. Gränssnittet\n"
+"som används liknar det som användes under själva installationen.\n"
+"\n"
+" * \"%s\": om ett ljudkort hittats på ditt system så visas det här. Om du\n"
+"upptäcker att ljudkortet som visas inte stämmer överens med det som\n"
+"i själva verket finns på din dator så kan du klicka på knappen och\n"
+"välja en ny drivrutin.\n"
+"\n"
+" * \"%s\": om ett TV-kort hittats på systemet så visas det här. \n"
+"Om du har ett TV-kort och det inte har hittats, klicka på \"%s\" för\n"
+"att försöka konfigurera det manuellt.\n"
+"\n"
+" * \"%s\": du kan klicka på \"%s\" för att ändra parametrar till\n"
+"kortet om det inte är korrekt inställt.\n"
+"\n"
+" * \"%s\": DrakX ställer som förval in ditt grafiska gränssnitt till "
+"upplösningen \"800x600\" eller \"1024x768\". Om detta inte passar dig, \n"
+"klicka på \"%s\" för att ändra inställningarna. \n"
+"\n"
+" * \"%s\": konfigurera din anslutning till Internet eller ett\n"
+"lokalt nätverk. Använd eventuell tryckt dokumentation eller använd\n"
+"Mandriva Linux Control Center efter installationen har slutförts för att\n"
+"få tillgång till dokumentation och hjälp med inställningar.\n"
+"\n"
+" * \"%s\" ställa in HTTP- och FTP-proxy inställingar om din\n"
+"dator använder sig av en proxyserver för att nå nätet.\n"
+"\n"
+" * \"%s\": omdefiniera säkerhetsnivån som\n"
+"valdes i ett tidigare steg av installationen.\n"
+"\n"
+" * \"%s\": om du tänker koppla upp din dator till Internet så är\n"
+"det en god ide att skydda dig från intrång genom att konfigurera\n"
+"en brandvägg. Läs i motsvarande kapitel av \"Starter Guide\" för\n"
+"mer detaljerad beskrivning av konfigurering av brandväggar.\n"
+"\n"
+" * \"%s\" ändra konfigurationen av din starthanterare.\n"
+" Detta bör endast göras av erfarna användare. \n"
+"Använd tryckt dokumentation eller den inbyggda hjälpen i Mandriva Linux\n"
+"Control Center för konfiguration av starthanterare\n"
+".\n"
+" * \"%s\": här kan du ställa in i detalj vilka tjänster som körs på din\n"
+"dator. Om du tänker använda din dator som server är det en god ide att\n"
+"se över dessa inställningar."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN-kort"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiskt gränssnitt"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Välj vilken hårddisk du vill radera för att kunna installera din nya\n"
+"Mandriva Linux-partition. Var försiktig, alla data som för tillfället\n"
+"finns på partitionen kommer att gå förlorad och kommer inte att kunna \n"
+"återställas!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Klicka på \"%s\" om du vill ta bort alla data och alla partitioner som\n"
+"finns på denna hårddisk. Var försiktig, efter det att du klickat på \"%s\" \n"
+"kommer du inte att kunna återställa någon data eller några partitioner på\n"
+"denna hårddisk, inkluderande Windows-data.\n"
+"\n"
+"Klicka på \"%s\" för att avbryta denna operation utan att förlora \n"
+"någon data eller några partitioner på denna hårddisk."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Nästa ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Föregående"
+
diff --git a/perl-install/install/help/po/ta.po b/perl-install/install/help/po/ta.po
new file mode 100644
index 000000000..582b2dfed
--- /dev/null
+++ b/perl-install/install/help/po/ta.po
@@ -0,0 +1,1590 @@
+# Drak X
+# Copyright (C) 2002 Mandriva
+#
+# NOTE: use UTF-8 only
+#
+# prabu <prabu_anand2000@yahoo.com>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2002-09-06 00:35+0800\n"
+"Last-Translator: prabu anand <prabu_anand2000@yahoo.com>\n"
+"Language-Team: Tamil <tamilinix@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../help.pm:14
+#, fuzzy, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை. Before continuing, you should read carefully "
+"the terms of the license. It\n"
+"covers the whole Mandriva Linux distribution, and if you do not agree with\n"
+"all the terms in it, click on the \"Refuse\" button which will immediately\n"
+"terminate the installation. To continue with the installation, click on the\n"
+"\"Accept\" button."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.GNU/Linux is a multiuser system, and this "
+"means that each user can have his\n"
+"own preferences, his own files and so on. You can read the ``User Guide''\n"
+"to learn more. But unlike \"root\", which is the administrator, the users\n"
+"you will add here will not be entitled to change anything except their own\n"
+"files and their own configuration. You will have to create at least one\n"
+"regular user for yourself. That account is where you should log in for\n"
+"routine use. Although it is very practical to log in as \"root\" everyday,\n"
+"it may also be very dangerous! The slightest mistake could mean that your\n"
+"system would not work any more. If you make a serious mistake as a regular\n"
+"user, you may only lose some information, but not the entire system.\n"
+"\n"
+"First, you have to enter your real name. This is not mandatory, of course -\n"
+"as you can actually enter whatever you want. DrakX will then take the first\n"
+"word you have entered in the box and will bring it over to the \"User\n"
+"name\". This is the name this particular user will use to log onto the\n"
+"system. You can change it. You then have to enter a password here. A\n"
+"non-privileged (regular) user's password is not as crucial as \"root\"' one\n"
+"from a security point of view, but that is no reason to neglect it: after\n"
+"all, your files are at risk.\n"
+"\n"
+"If you click on \"Accept user\", you can then add as many as you want. Add\n"
+"a user for each one of your friends: your father or your sister, for\n"
+"example. When you finish adding all the users you want, select \"Done\".\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\"\n"
+"for that user (bash by default)."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "நீங்கள் இந்த வசதியை பயன்படுத்த விரும்புகிறீர்களா?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.Listed above are the existing Linux partitions "
+"detected on your hard drive.\n"
+"You can keep the choices made by the wizard, they are good for most common\n"
+"installations. If you make any changes, you must at least define a root\n"
+"partition (\"/\"). Do not choose too small a partition or you will not be\n"
+"able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a partition for \"/home\"\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.The Mandriva Linux installation is spread out "
+"over several CD-ROMs. DrakX\n"
+"knows if a selected package is located on another CD-ROM and will eject the\n"
+"current CD and ask you to insert a different one as required"
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.It is now time to specify which programs you "
+"wish to install on your\n"
+"system. There are thousands of packages available for Mandriva Linux, and\n"
+"you are not supposed to know them all by heart.\n"
+"\n"
+"If you are performing a standard installation from a CD-ROM, you will first\n"
+"be asked to specify the CDs you currently have (in Expert mode only). Check\n"
+"the CD labels and highlight the boxes corresponding to the CDs you have\n"
+"available for installation. Click \"OK\" when you are ready to continue.\n"
+"\n"
+"Packages are sorted in groups corresponding to a particular use of your\n"
+"machine. The groups themselves are sorted into four sections:\n"
+"\n"
+" * \"Workstation\": if you plan to use your machine as a workstation,\n"
+"select one or more of the corresponding groups;\n"
+"\n"
+" * \"Development\": if your machine is to be used for programming, choose\n"
+"the desired group(s);\n"
+"\n"
+" * \"Server\": if your machine is intended to be a server, you will be able\n"
+"to select which of the most common services you wish to install on your\n"
+"machine;\n"
+"\n"
+" * \"Graphical Environment\": finally, this is where you will choose your\n"
+"preferred graphical environment. At least one must be selected if you want\n"
+"to have a graphical workstation!\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group. If you deselect all groups when performing a regular\n"
+"installation (by opposition to an upgrade), a dialog will pop up proposing\n"
+"different options for a minimal installation:\n"
+"\n"
+" * \"With X\": install the fewer packages possible to have a working\n"
+"graphical desktop;\n"
+"\n"
+" * \"With basic documentation\": installs the base system plus basic\n"
+"utilities and their documentation. This installation is suitable for\n"
+"setting up a server;\n"
+"\n"
+" * \"Truly minimal install\": will install the strict minimum necessary to\n"
+"get a working Linux system, in command line only. This installation is\n"
+"about 65Mb large.\n"
+"\n"
+"You can check the \"Individual package selection\" box, which is useful if\n"
+"you are familiar with the packages being offered or if you want to have\n"
+"total control over what will be installed.\n"
+"\n"
+"If you started the installation in \"Upgrade\" mode, you can unselect all\n"
+"groups to avoid installing any new package. This is useful for repairing or\n"
+"updating an existing system."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "ேமம்படுத்துதல்"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "உதவி நூல்களுடன் (குறைந்தபட்சம் இது தேவை!)"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "குறைந்தபட்ச நிறுவல்"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.Finally, depending on whether or not you "
+"selected individual packages, you\n"
+"will be presented a tree containing all packages classified by groups and\n"
+"subgroups. While browsing the tree, you can select entire groups,\n"
+"subgroups, or individual packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description appears on the\n"
+"right. When your selection is finished, click the \"Install\" button which\n"
+"will then launch the installation process. Depending on the speed of your\n"
+"hardware and the number of packages that need to be installed, it may take\n"
+"a while to complete the process. An estimate of the time it will take to\n"
+"install everything is displayed on the screen, to help you gauge if there\n"
+"is sufficient time to enjoy a cup of coffee.\n"
+"\n"
+"!! If a server package has been selected, either intentionally or because\n"
+"it was part of a whole group, you will be asked to confirm that you really\n"
+"want those servers to be installed. Under Mandriva Linux, any installed\n"
+"servers are started by default at boot time. Even if they are safe and have\n"
+"no known issues at the time the distribution was shipped, it may happen\n"
+"that security holes are discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do\n"
+"or why it is being installed, then click \"No\". Clicking \"Yes\" will\n"
+"install the listed services and they will be started automatically by\n"
+"default. !!\n"
+"\n"
+"The \"Automatic dependencies\" option simply disables the warning dialog\n"
+"which appears whenever the installer automatically selects a package. This\n"
+"occurs because it has determined that it needs to satisfy a dependency with\n"
+"another package in order to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows to load the\n"
+"package list chosen during a previous installation. Clicking on this icon\n"
+"will ask you to insert a floppy disk previously created at the end of\n"
+"another installation. See the second tip of last step on how to create such\n"
+"a floppy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.You may now choose which services you wish to "
+"start at boot time.\n"
+"\n"
+"Here are presented all the services available with the current\n"
+"installation. Review them carefully and uncheck those which are not always\n"
+"needed at boot time.\n"
+"\n"
+"You can get a short explanatory text about a service by selecting a\n"
+"specific service. However, if you are not sure whether a service is useful\n"
+"or not, it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you will probably not want to start any services which you do not\n"
+"need. Please remember that several services can be dangerous if they are\n"
+"enabled on a server. In general, select only the services you really need.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.GNU/Linux manages time in GMT (Greenwich Mean "
+"Time) and translates it in\n"
+"local time according to the time zone you selected. It is however possible\n"
+"to deactivate this by deselecting \"Hardware clock set to GMT\" so that the\n"
+"hardware clock is the same as the system clock. This is useful when the\n"
+"machine is hosting another operating system like Windows.\n"
+"\n"
+"The \"Automatic time synchronization\" option will automatically regulate\n"
+"the clock by connecting to a remote time server on the Internet. In the\n"
+"list that is presented, choose a server located near you. Of course you\n"
+"must have a working Internet connection for this feature to work. It will\n"
+"actually install on your machine a time server which can be optionally used\n"
+"by other machines on your local network."
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "தானியங்கி நேர ஒத்தியக்கி(NTP உதவியுடன்)"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்ைல.Finally, you will be asked whether you want to "
+"see the graphical interface\n"
+"at boot. Note this question will be asked even if you chose not to test the\n"
+"configuration. Obviously, you want to answer \"No\" if your machine is to\n"
+"act as a server, or if you were not successful in getting the display\n"
+"configured."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "இருக்கும் வகிர்களை பயன்படுத்துங்கள்"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "முழு வட்ைடயும் அழித்து விடு"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.There you are. Installation is now complete "
+"and your GNU/Linux system is\n"
+"ready to use. Just click \"OK\" to reboot the system. You can start\n"
+"GNU/Linux or Windows, whichever you prefer (if you are dual-booting), as\n"
+"soon as the computer has booted up again.\n"
+"\n"
+"The \"%s\" button (in Expert mode only) shows two more buttons to:\n"
+"\n"
+" * \"generate auto-install floppy\": to create an installation floppy disk\n"
+"which will automatically perform a whole installation without the help of\n"
+"an operator, similar to the installation you just configured.\n"
+"\n"
+" Note that two different options are available after clicking the button:\n"
+"\n"
+" * \"Replay\". This is a partially automated installation as the\n"
+"partitioning step (and only this one) remains interactive;\n"
+"\n"
+" * \"Automated\". Fully automated installation: the hard disk is\n"
+"completely rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing a great number of similar\n"
+"machines. See the Auto install section on our web site;\n"
+"\n"
+" * \"Save packages selection\"(*): saves the package selection as done\n"
+"previously. Then, when doing another installation, insert the floppy inside\n"
+"the drive and run the installation going to the help screen by pressing on\n"
+"the [F1] key, and by issuing >>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type\n"
+"\"mformat a:\")"
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "தானியங்கி நிறுவல்வட்ைட உருவாக்கவும்"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.Any partitions that have been newly defined "
+"must be formatted for use\n"
+"(formatting means creating a filesystem).\n"
+"\n"
+"At this time, you may wish to reformat some already existing partitions to\n"
+"erase any data they contain. If you wish to do that, please select those\n"
+"partitions as well.\n"
+"\n"
+"Please note that it is not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to\n"
+"reformat partitions containing data that you wish to keep (typically\n"
+"\"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After formatting, all data on\n"
+"the selected partitions will be deleted and you will not be able to recover\n"
+"any of it.\n"
+"\n"
+"Click on \"OK\" when you are ready to format partitions.\n"
+"\n"
+"Click on \"Cancel\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions that will be checked\n"
+"for bad blocks on the disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"உங்கள் மான்டிரேக் லினக்ஸ் இயக்க நிரல் வெளியீட்டிற்கும் \n"
+"இன்றைய தினத்திற்கும் இடையில் நிறைய புதிய பொதிகள் வெளிவந்து\n"
+"இருக்கலாம். இவை உங்கள் கணிணியில் நிறுவப்பட்டுள்ள பொதிகளின்\n"
+"பாதுகாப்பு குறைபாடுகளையும், பிழைகளையும் நீக்க இவை தேவைப்படலாம்\n"
+"இவை இணையத்தில் தரவு இறக்கம் செய்ய வேண்டும். இப்போது இணையத்துடன் \n"
+"இணைப்பு இருந்தால் நீங்கள் இவற்றை இறக்கி நிறுவலாம். நீங்கள் தொலைபேசி\n"
+"முலம் இணைந்திருந்தால் இதற்கு நீண்ட நேரம் ஆகலாம்\n"
+"பொதிகளை நிறுவ \"ஆம்\" எனவும், நிறுவ விருப்பம் இல்லையென்றால் \"இல்லை\" \n"
+"எனவும் தேர்வு செய்யவும்.\n"
+"\n"
+"பொதிகளை நிறுவ \"ஆம்\" என தேர்வு செய்தால் உங்களுக்கு பல இணையதளங்களின்\n"
+"முகவரி காட்டப்படும். உங்களுக்கு அருகில் உள்ள தளத்திலிருந்து இறக்க அதனை\n"
+"தேர்வு செய்யவும். பின் \"நிறுவு\" என்றால் பொதிகள் நிறுவப்படும். இல்லையென்றால்\n"
+"\"நீக்கு\" எனச் சொல்லி வெளியேறவும்"
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.At this point, it is time to choose the "
+"security level desired for the\n"
+"machine. As a rule of thumb, the more exposed the machine is, and the more\n"
+"the data stored in it is crucial, the higher the security level should be.\n"
+"However, a higher security level is generally obtained at the expense of\n"
+"easiness of use. Refer to the \"msec\" chapter of the ``Reference Manual''\n"
+"to get more information about the meaning of these levels.\n"
+"\n"
+"If you do not know what to choose, keep the default option"
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "பாதுகாப்பு மேலாளர்(பெயர் அல்லது மின்னஞ்சல் முகவரி)"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை.At this point, you need to choose which "
+"partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or from another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"Clear all\": this option deletes all partitions on the selected hard\n"
+"drive;\n"
+"\n"
+" * \"Auto allocate\": this option enables to automatically create \"Ext2\"\n"
+"and swap partitions in free space of your hard drive;\n"
+"\n"
+" * \"More\": gives access to additional features:\n"
+"\n"
+" * \"Save partition table\": saves the partition table to a floppy.\n"
+"Useful for later partition-table recovery if necessary. It is strongly\n"
+"recommended to perform this step;\n"
+"\n"
+" * \"Restore partition table\": allows to restore a previously saved\n"
+"partition table from floppy disk;\n"
+"\n"
+" * \"Rescue partition table\": if your partition table is damaged, you\n"
+"can try to recover it using this option. Please be careful and remember\n"
+"that it can fail;\n"
+"\n"
+" * \"Reload partition table\": discards all changes and loads your\n"
+"initial partition table;\n"
+"\n"
+" * \"Removable media automounting\": unchecking this option will force\n"
+"users to manually mount and unmount removable medias such as floppies and\n"
+"CD-ROMs.\n"
+"\n"
+" * \"Wizard\": use this option if you wish to use a wizard to partition\n"
+"your hard drive. This is recommended if you do not have a good knowledge of\n"
+"partitioning;\n"
+"\n"
+" * \"Undo\": use this option to cancel your changes;\n"
+"\n"
+" * \"Toggle to normal/expert mode\": allows additional actions on\n"
+"partitions (type, options, format) and gives more information;\n"
+"\n"
+" * \"Done\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected);\n"
+"\n"
+" * Ctrl-d to delete a partition;\n"
+"\n"
+" * Ctrl-m to set the mount point.\n"
+"\n"
+"To get information about the different filesystem types available, please\n"
+"read the ext2fs chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB, which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Removable media auto-mounting"
+msgstr "கழற்று ஊடகங்கள் தானேற்றம்"
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "சாதாரனர் முறைமைக்கு மாறு"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்ைல.More than one Microsoft partition has been "
+"detected on your hard drive.\n"
+"Please choose the one you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normally, DrakX selects the right keyboard for you (depending on the\n"
+"language you have chosen) and you will not even see this step. However, you\n"
+"might not have a keyboard that corresponds exactly to your language: for\n"
+"example, if you are an English speaking Swiss person, you may still want\n"
+"your keyboard to be a Swiss keyboard. Or if you speak English but are\n"
+"located in Quebec, you may find yourself in the same situation. In both\n"
+"cases, you will have to go back to this installation step and select an\n"
+"appropriate keyboard from the list.\n"
+"\n"
+"Click on the \"More\" button to be presented with the complete list of\n"
+"supported keyboards.உதவி இன்னமும் மொழிபெயர்கப்படவில்லை."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Please choose your preferred language for installation and system usage.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other\n"
+"languages to be installed on your workstation. Selecting other languages\n"
+"will install the language-specific files for system documentation and\n"
+"applications. For example, if you will host users from Spain on your\n"
+"machine, select English as the main language in the tree view and in the\n"
+"Advanced section click on the box corresponding to \"Spanish|Spain\".\n"
+"\n"
+"Note that multiple languages may be installed. Once you have selected any\n"
+"additional locales, click the \"OK\" button to continue.உதவி இன்னமும் "
+"மொழிபெயர்கப்படவில்லை. "
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"DrakX generally detects the number of buttons your mouse has. If not, it\n"
+"assumes you have a two-button mouse and will set it up for third-button\n"
+"emulation. DrakX will automatically know whether it is a PS/2, serial or\n"
+"USB mouse.\n"
+"\n"
+"If you wish to specify a different type of mouse select the appropriate\n"
+"type from the provided list.\n"
+"\n"
+"If you choose a mouse other than the default, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct. If the mouse is not working well, press the space bar or [Return]\n"
+"to \"Cancel\" and choose again.உதவி இன்னமும் மொழிபெயர்கப்படவில்லை."
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "பொத்தான் போன்மி"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்ைல.Please select the correct port. For example, "
+"the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux.. "
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை. This is the most crucial decision point for "
+"the security of your GNU/Linux\n"
+"system: you have to enter the \"root\" password. \"root\" is the system\n"
+"administrator and is the only one authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That is why you must choose a password that is difficult to\n"
+"guess - DrakX will tell you if it is too easy. As you can see, you can\n"
+"choose not to enter a password, but we strongly advise you against this if\n"
+"only for one reason: do not think that because you booted GNU/Linux that\n"
+"your other operating systems are safe from mistakes. Since \"root\" can\n"
+"overcome all limitations and unintentionally erase all data on partitions\n"
+"by carelessly accessing the partitions themselves, it is important for it\n"
+"to be difficult to become \"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password - it makes it too\n"
+"easy to compromise a system.\n"
+"\n"
+"However, please do not make the password too long or complicated because\n"
+"you must be able to remember it without too much effort.\n"
+"\n"
+"The password will not be displayed on screen as you type it in. Hence, you\n"
+"will have to type the password twice to reduce the chance of a typing\n"
+"error. If you do happen to make the same typing error twice, this\n"
+"``incorrect'' password will have to be used the first time you connect.\n"
+"\n"
+"In Expert mode, you will be asked if you will be connecting to an\n"
+"authentication server, like NIS or LDAP.\n"
+"\n"
+"If your network uses the LDAP (or NIS) protocol for authentication, select\n"
+"\"LDAP\" (or \"NIS\") as authentication. If you do not know, ask your\n"
+"network administrator.\n"
+"\n"
+"If your computer is not connected to any administrated network, you will\n"
+"want to choose \"Local files\" for authentication."
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "நல்குாிமை"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "நிபுணர்"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை. DrakX now detects any IDE device present in "
+"your computer. It will also\n"
+"scan for one or more PCI SCSI card(s) on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection does not always detect a piece of hardware,\n"
+"DrakX will ask you to confirm if a PCI SCSI card is present. Click \"Yes\"\n"
+"if you know that there is a SCSI card installed in your machine. You will\n"
+"be presented a list of SCSI cards to choose from. Click \"No\" if you have\n"
+"no SCSI hardware. If you are unsure, you can check the list of hardware\n"
+"detected in your machine by selecting \"See hardware info\" and clicking\n"
+"\"OK\". Examine the list of hardware and then click on the \"OK\" button to\n"
+"return to the SCSI interface question.\n"
+"\n"
+"If you have to manually specify your adapter, DrakX will ask if you want to\n"
+"specify options for it. You should allow DrakX to probe the hardware for\n"
+"the card-specific options which the hardware needs to initialize. This\n"
+"usually works well.\n"
+"\n"
+"If DrakX is not able to probe for the options which need to be passed, you\n"
+"will need to provide options to the driver manually. Please review the\n"
+"``User Guide'' (chapter 3, in the ``Collecting Information on Your\n"
+"Hardware'' section) for hints on retrieving the parameters required from\n"
+"hardware documentation, from the manufacturer's web site (if you have\n"
+"Internet access) or from Microsoft Windows (if you used this hardware with\n"
+"Windows on your system)."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN அட்ைட"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "வரைவியல்வழி"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"உங்கள் கணினியில் மாண்ட்ேரக் லினக்ஸ் இயக்க அமைப்ேபா மட்டும்\n"
+"இயக்க முடிவெடுத்தால் இவ்வுகப்பத்ைதத் தேர்ந்ெதடுக்கவும். இதனால்\n"
+"உங்களின் வன்வட்டு முழுவதுமுள்ள தரவுகள், வகிர்வுகள் எல்லாம்\n"
+"அழிந்துவிடும். அவைகளைத் திரும்பிப் பெற இயலாது. ஆகவே,\n"
+"எச்சரிக்ைகயாகச் செயல்பட வேண்டும்."
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"உதவி இன்னமும் மொழிபெயர்கப்படவில்லை. Click on \"OK\" if you want to delete all "
+"data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"OK\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"Cancel\" to cancel this operation without losing any data and\n"
+"partitions present on this hard drive."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "அடுத்து ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- முன்னது"
+
diff --git a/perl-install/install/help/po/tg.po b/perl-install/install/help/po/tg.po
new file mode 100644
index 000000000..cf95ce1cc
--- /dev/null
+++ b/perl-install/install/help/po/tg.po
@@ -0,0 +1,1997 @@
+# translation of DrakX-tg.po to Tajik
+# translation of DrakX-tg.po to Тоҷикӣ
+# Copyright (C) 2001,2002,2003,2004, 2005 Free Software Foundation, Inc.
+# 2004, infoDev, a World Bank organization
+# 2004, Khujand Computer Technologies, Inc.
+# 2004, KCT1, NGO
+# 2005, Youth Opportunities, NGO
+# Abrorova Hiromon, 2004
+# Roger Kovacs <rkovacs@khujand.org>, 2003.
+# Dilshod Marupov <dma165@hotmail.com>, 2003, 2004.
+# Murod Marupov <abdullovich@khujand.org>, 2004.
+# Bahromhon Bobojonov <bahrambabajanov@hotmail.com>, 2004.
+# Victor Ibragimov <youth_opportunities@tajikngo.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-09-17 16:03+0500\n"
+"Last-Translator: Victor Ibragimov <youth_opportunities@tajikngo.org>\n"
+"Language-Team: Tajik\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Пеш аз давомдиҳӣ шумо бояд шартҳои литсензияро бо диққат хонед. Он\n"
+"ба ҳамаи тақсимоти Mandriva Linux паҳн гардидааст. Агар шумо ба\n"
+"ҳамаи шартҳои литсензия розӣ бошед, пункти \"%s\"-ро қайд кунед. Агар розӣ\n"
+"набошед, танҳо \"%s\" компютери худро хомӯш созед."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux ин системаи бисёркорванда мебошад, ки ин маънои онро\n"
+"дорад, ки ҳар як корванд имтиёзҳои шахсӣ, файлҳои шахсӣ ва ғайраро дорад. "
+"Барои маълумоти муфассал ``Муҳофизати Оғози''-ро хонед.\n"
+"Лекин бо фарқият аз \"реша\", ки идоракунандаи системавӣ мебошад,\n"
+"корвандоне, ки шумо онҳоро дар ин ҷо илова мекунед, ҳуқуқи иваз\n"
+"кардани ҳеҷ чизро ба ғайр аз файлҳои шахсӣ ва батанзимдарории шахсии худ,\n"
+"надоранд. Барои системаро аз тағиротҳои нохост ва\n"
+"қасди бад, ки ба система асар мерасонанд, муҳофизат карданд.\n"
+"Шумо бояд аққалан як корванди доимиро барои худ офаред -- ин\n"
+"ҳисобе, ки шумо бояд барои воридшавӣ ва истифодаи ҳаррӯза\n"
+"истифода баред. Ба он нигоҳ накарда, ки ҳамчун \"реша\" ворид\n"
+"шудан барои ҳама чиз ва ҳама корро кардан хеле хавфнок бошад!\n"
+"Хатогии хеле оддӣ ба он оварда мерасонад, ки системаи шумо\n"
+"дигар тамоман кор намекунад. Ва агар ки шумо хатогии ҷиддиро ҳамчун корванд\n"
+"содир кунед пас танҳо як қисми ахборотро аз\n"
+"даст медиҳед, на ҳамаи системаро.\n"
+"\n"
+"Майдони аввал аз шумо номи ҳақиқиро пурсон мешавад. Албатта ин\n"
+"ҳатмӣ нест -- зеро ки шумо чизе ки хоҳед ворид карда метавонед.\n"
+"DrakX якум калимаи чопкардаатонро, ки шаклбандӣ намудед дар ин\n"
+"майдон истифода мебарад ва онро ба майдони \"%s\" нусха мебардорад, ки ин\n"
+"номро корванди алоҳида барои воридшавии система истифода\n"
+"мебарад. Қадами оянда ин вориди гузарвожа мебошад. Аз ҷиҳати\n"
+"бехатарӣ гузарвожаи корванди беимтиёздор (одатӣ) он қадар ҳам\n"
+"назар ба гузарвожаи \"решагӣ\" муҳим нест, лекин ин баҳона не, ки\n"
+"шумо ба он аҳамият надиҳед, ба ҳар ҳол шумо файлҳои худро ба\n"
+"хатар мегузоред.\n"
+"\n"
+"Бо ангуштзанӣ ба \"%s\" шумо дигар корвандро илова карда метавонед.\n"
+"Барои ҳар як дӯсти худ корвандро илова кунед, масалан: падар ё хоҳари\n"
+"худро. Баъди хатмкунии ҳамроҳсозии корвандон ба \"%s\" ангушт\n"
+"занед.\n"
+"\n"
+"Пахшкунии тугмаи \"%s\" ба шумо имконияти ивазкунии \"пардозандаи фармонҳо\"-"
+"ро бо нобаёнӣ барои ин корванд медиҳад,\n"
+"(бо нобаёнӣ ин bash аст).\n"
+"\n"
+"Пас аз он, ки иловакунии корвандонро ба итмом мерасонед, ба шумо интихоб\n"
+"намудани корвандро, ки ба воситаи он ба система баъди\n"
+"боркунии компютер ба таври худкор дохил шудан мумкин аст,\n"
+"пешниҳод карда мешавад. Агар ин хусусият диққати шуморо ҷалб карда бошад "
+"(ва\n"
+"оиди бехатарии маҳаллӣ хавотир нашавед),\n"
+"корванд ва мудири тирезавии дилхоҳро интихоб кунед ва баъд \"%s\"-ро ангушт\n"
+"занед. Агар ин хусусият ба шумо лозим набошад қайди пункти\n"
+"\"%s\"-ро бекор кунед."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Шумо ин хислатро истифрда бурдан мехоҳед?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Дар ин ҷо бахшҳои мавҷудаи Linux, ки дар гардонандаи сахти шумо\n"
+"муайян шудаанд, номбар гардидаанд.\n"
+"Шумо метавонед тағиротҳои аз тарафи устод иҷрошударо боздоред, зеро онҳо "
+"барои коргузории бештари умумӣ мувофиқат мекунад.\n"
+"Агар шумо ягон тағиротро ба амал оред, шумо бояд ақалан бахши\n"
+"решавиро (\"/\") таъин намоед. Бахши хеле хурдро интихоб накунед, зеро бояд "
+"шумо шумораи кофии таъминоти барномавиро коргузорӣ\n"
+"карда наметавонед. Агар хоҳед, ки додаҳои худро дар бахши алоҳида\n"
+"нигоҳ доред, шумо бояд инчунин бахши \"/хона\"-ро офаред (ин танҳо\n"
+"дар ҳамон вақт имконпазир аст, ки агар зиёда аз як бахши Linux-ро\n"
+"дошта бошед).\n"
+"Ҳар бахш дар рӯйхат чунин номнависӣ мегардад: \"Ном\", \"Ғунҷоиш\".\n"
+"\n"
+"\"Ном\" таркибӣ мебошад: \"навъи гардонандаи сахт\", \"рақами гардонандаи "
+"сахт\", \"рақами бахш\" (масалан, \"hda1\").\n"
+"\n"
+"\"Навъи гардонандаи сахт\" ин \"hd\" аст, агар гардонандаи сахти шумо\n"
+"IDE гардонандаи сахт аст ва \"sd\" агар он SCSI гардонандаи сахт бошад.\n"
+"\n"
+"\"Рақами гардонандаи сахт\" ин ҳама вақт ҳарфе мебошад, ки баъди\n"
+"\"hd\" ё \"sd\" меояд. Барои IDE гардонандаҳои сахт:\n"
+"\n"
+" * \"a\" маънои \"гардонандаи сахти master дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"b\" маънои \"гардонандаи сахти slave дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"c\" маънои \"гардонандаи сахти master дар IDE нозири дуюмин\"-ро "
+"дорад;\n"
+"\n"
+" * \"d\" маънои \"гардонандаи сахти slave дар IDE нозири дуюмин\"-ро дорад.\n"
+"\n"
+"Барои гардонандаи сахти SCSI \"a\" маънои \"якумин аз поёни SCSI ID\"-ро "
+"дорад, \"b\" маънои\"дуюмин аз поёни SCSI ID\"-ро дорад ва ғайра."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Коргузории Mandriva Linux дар CD-ROM-ҳои мухталиф тақсим шудааст. Агар\n"
+"бастаи интихобшуда дар дигар CD-ROM ҷойгир бошад, DrakX диски фишурдаи\n"
+"ҷориро ба берун кашида аз шумо вогузории диски талабшударо пурсон мешавад.\n"
+"Агар шумо дар даст диски фишурдаи талабшударо надошта бошед, танҳо ба \"%s\" "
+"ангушт занед, бастаи мувофиқ коргузорӣ карда\n"
+"намешавад."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Афзоиш"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Бо ҳуҷҷатҳои асосӣ"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Коргузории аз ҳама пастарин"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Агар шумо ба коргузор оиди он ки шумо мехоҳед алоҳида бастаҳоро\n"
+"интихоб намоед, хабар диҳед, он ба шумо дарахтеро, ки ҳамаи бастаҳои ба "
+"гурӯҳҳоию зергурӯҳҳо тақсим карда шударо дарбар мегирад,\n"
+"намоиш медиҳад. Ҳангоми баррасии дарахт шумо метавонед гурӯҳҳои\n"
+"бутун, зергурӯҳҳо ё бастаҳои алоҳидаро интихоб кунед.\n"
+"\n"
+"Ҳар дафъае, ки шумо бастаро дар дарахт интихоб мекунед, дар тарафи\n"
+"росташ барои фаҳмондани мақсади он тавсифот пайдо мешавад.\n"
+"\n"
+"!! Агар бастаи хидматрасонро интихоб карда бошед, хоҳ барои интихоби муайяни "
+"бастаи алоҳида, хоҳ барои он ки вай як қисми гурӯҳӣ баста\n"
+"аст, шумо бояд тасдиқ кунед, ки дар ҳақиқат ин хидматрасонҳои\n"
+"коргузоришавандаро истифода бурдан мехоҳед. Дар Mandriva Linux\n"
+"ҳамаи хидматрасонҳои коргузоришуда ҳангоми оғозёбӣ ба таври худкор, бо "
+"нобаёнӣ сар дода мешаванд. Ҳарчанде, ки онҳо бехатаранд ва муаммоҳои\n"
+"маълумро ҳангоми даргиронидан дар тақсимот надоранд, мумкин аст, ки\n"
+"дар бехатарӣ баъди барориши нусхаи хотимавии Mandriva Linux\n"
+"сӯрохиҳои муайян мешаванд. Агар шумо надонед, ки барои чӣ ин ё он\n"
+"хидматрасон лозим аст ё барои чӣ он коргузорӣ мегардад пас ба \"%s\"\n"
+"ангушт занед. Бо пахшкунии \"%s\" шумо хидматрасонҳои номбаршударо\n"
+"коргузорӣ мекунед ва онҳо ҳангоми боршавӣ ба таври худкор\n"
+"бо нобаёнӣ оғоз меёбанд. !!\n"
+"\n"
+"Интихоби \"%s\" барои хомӯш сохтани муколамаи огоҳӣ, ки ҳангоми\n"
+"аз тарафи коргузор интихоби худкори бастаҳо пайдо мешавад, истифода\n"
+"бурда мешавад. Баъзе бастаҳо бо ҳам алоқаҳои дутарафа доранд,\n"
+"бинобар ин зарурати коргузории баъзе дигар барномаҳоро пеш меояд.\n"
+"Коргузор худаш муайян карда метавонад, ки кадом бастаҳо баҳри\n"
+"қонеъкунии талаботҳо барои бо муваффақият иҷрои коргузорӣ лозиманд.\n"
+"\n"
+"Тасвири хурдакаки диски нарм дар охири рӯйхат имконияти боркунии\n"
+"рӯйхати бастаҳо, ки ҳангоми коргузориҳои шешина офарида шуда будаанд, "
+"медиҳад. Агар шумо шумораи мошинаҳоеро дошта бошед, ки\n"
+"алоҳида танзим кардан мехоҳед, он хеле фоиданок мегардад. Баъди\n"
+"ангуштзанӣ ба ин тасвир, аз шумо воридкунии диски нарм, ки дар охири\n"
+"дигар коргузории пешина офарида шуда буд, пурсон мешавад. Ба маслиҳати дуюм "
+"дар қадами охирон оиди чӣ тавр офаридани чунин\n"
+"диски нарм нигаред."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Вобастагиҳои автоматӣ"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": ҳангоми ангуштзанӣ ба тугмаи \"%s\" устоди ба танзимдарории чопгар "
+"кушода\n"
+"мешавад. Боби мувофиқи ба ``Раҳнамои Ибтидоӣ' бахшидашударо барои гирифтани\n"
+"маълумоти иловагӣ оиди барпосозии чопгари нав хонед. Интерфейси дар он ҷо\n"
+"пешниҳод шуда ба оне ки ҳангоми истифодаи коргузорӣ истифода мешавад,\n"
+"монанд аст."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Ин муколама барои интихоби хидматрасоне, ки ҳангоми оғозёбӣ\n"
+"бор карда мешавад, истифода бурда мешавад.\n"
+"\n"
+"DrakX рӯйхати ҳамаи хидматрасонҳое, ки дар коргузории ҷорӣ\n"
+"дастрасанд, пешкаш менамояд. Ҳар якеро дақиқона аз назар гузаронед\n"
+"ва қайди онҳоеро, ки дар вақти боршавӣ лозим нестанд, бекор кунед.\n"
+"\n"
+"Ҳангоми интихоб кардан матни кӯтоҳи шарҳдиҳӣ намоиш дода мешавад.\n"
+"Лекин, агар ки шумо комилан боварӣ надошта бошед, ки ин хидматрасон\n"
+"фоиданок аст ё не, беҳтар аст, ки рафторро бо нобаёни гузоред.\n"
+"\n"
+"!! Дар ин марҳила хеле дақиқ бошед агар нақша дошта бошед, ки \n"
+"мошинаи худро ҳамчун хидматрасон истифода баред: эҳтимолан шумо\n"
+"оғозёбии хидматрасонҳои даркориро нахоҳед. Илтимос, аз хотир набароред, ки "
+"баъзе хизматҳо, агар дар хидматрасон даргиронида шуда\n"
+"бошанд, хавфнок мебошанд. Умуман, танҳо он хидматрасонҳоеро интихоб кунед, "
+"ки дар ҳақиқат ба шумо лозиманд.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux вақтро дар GMT (Greenwich Mean Time) идора мекунад\n"
+"ва онро дар вақти маҳаллӣ мувофиқи минтақаи вақти интихобкардаатон\n"
+"намоиш медиҳад. Агар соат дар саҳфаи модараи шумо бо вақти маҳаллӣ\n"
+"барпо шудааст, шумо онро ба воситаи рад кардани интихоби \"%s\" ғайрифаъол "
+"сохта метавонед ва ин ба GNU/Linux имконияти дар хотир\n"
+"доштани он, ки соати системавӣ ва соати сахтафзорӣ дар як минтақаи\n"
+"соат мебошанд, медиҳад. Он ҳангоме, ки дар мошина дигар системаи омил ба "
+"монанди Windows ҷойгир шуда бошад фоиданок аст.\n"
+"\n"
+"Хосияти \"%s\" соатро ба таври худкор таҳлил мекунад ба воситаи пайвастшавӣ "
+"ба хидматрасони дурдасти вақт дар Интернет. Барои он\n"
+"ки ин хосият кор кунад, шумо бояд пайвастшавии кориро ба Интернет\n"
+"дошта бошед. Беҳтараш хидматрасони вақтро, ки дар назди шумо ҷойгир\n"
+"аст, интихоб намоед. Ин интихоб хидматрасони вақтро ба мошинаи шумо "
+"коргузорӣ мекунад, ки аз тарафи дираг мошинаҳои шабакаи маҳаллӣ\n"
+"истифода шуда метавонад."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Ҳамзамонсозии худкори вақт"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Корти графикӣ\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ корти графикиро муқаррар ва танзим "
+"менамояд,\n"
+"ки он ба системи шумо муаяйн гардида бошад. Агар он ин тавр набошад, онгоҳ "
+"шумо\n"
+"метавонед кортро дар систем интихоб намоед, ки дар ҳақиқат коргузорӣ "
+"шудааст.\n"
+"\n"
+" Дар ҳолате ки барои корти шумо хидматрасонҳои гуногун бо шитоби 3D ё бе "
+"ин\n"
+"дастрас аст ба шумо пешниҳод карда мешавад, то ки шумо интихоб намоед кадом\n"
+"хидматрасон пеш аз ҳама ба эҳтиёҷи шумо мувофиқат мекунад."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (барои системи X Window) ин асоси интерфейси графикии GNU/Linux мебошад,\n"
+"ки дар он ҳамаи муҳитҳои графикӣ асос ёфтааст (KDE, GNOME, AfterStep,\n"
+"WindowMaker ва ғайра) ва ба ҳайати Mandriva Linux дохил аст.\n"
+"\n"
+"Ба шумо рӯйхати параметрҳои гуногуне ки ба тағироти гирифтани тасвири\n"
+"беҳтарини графикӣ пешбинӣ шудааст, дода мешавад: Корти графикӣ\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ корти графикие ки ба мошини шумо\n"
+"коргузорӣ шудааст, муаяйн ва ба танзим медарорад. Агар ин тавр набошад, "
+"онгоҳ шумо метавонед аз ин рӯйхат корте ки шумо дар ҳақиқат коргузорӣ "
+"намудед,\n"
+"интихоб намоед.\n"
+"\n"
+" Дар ҳолате ки хидматрасонҳои гуногун барои корти шумо мавҷуд аст ё бо\n"
+"шитоби 3D ё ин ки бе он, аз шумо пурсида мешавад, ки хидматрасонро интихоб\n"
+"намоед, ки бештар ба эҳтиёҷи шумо мувофиқат менамояд.\n"
+"\n"
+"\n"
+"\n"
+"Монитор\n"
+"\n"
+" Коргузор одатан ба таври автоматӣ монитори ба мошини шумо пайваст шударо\n"
+"муаяйн ва ба танзим медарорад. Агар ин нодуруст бошад, онгоҳ шумо метавонед\n"
+"аз рӯйхат монитореро, ки дар ҳақиқат ба компютери шумо пайваст шудааст, "
+"интихоб\n"
+"намоед.\n"
+"\n"
+"\n"
+"\n"
+"Иҷозат\n"
+"\n"
+" Дар ин ҷо шумо метавонед иҷозат ва баландии рангеро, ки барои сахтафзори "
+"шумо\n"
+"мавҷуд аст, интихоб намоед. Онеро интихоб намоед, ки бештар ба эҳтиёҷи шумо\n"
+"мувофиқат менамояд (шумо метавонед онро баъд аз коргузорӣ тағир диҳед)\n"
+"Намунаи танзимдарории интихобшуда дар монитор инъикос ёфтааст.\n"
+"\n"
+"\n"
+"\n"
+"Санҷидан\n"
+"\n"
+" систем кӯшиш менамояд, то ки экрани графикиро мувофиқи иҷозати қобили "
+"қабул\n"
+"кушояд. Агар шумо пайғомро дар вақти санҷиш дида тавонед, онгоҳ ба \"%s\" "
+"ҷавоб\n"
+"диҳед. Дарин ҳолат DrakX ба қадами оянда мегузарад. Агар шумо пайғомро "
+"дида\n"
+" натавонед, онгоҳ ин маънои онро дорад, ки қисме аз ба танзимдарории ба "
+"таври\n"
+"автоматӣ муаяйншаванда нодуруст буда санҷиш баъди 12 сония ба таври "
+"автоматӣ\n"
+"ба итмом расида шуморо ба меню меоварад. То лаҳзаи гирифтани тасвири "
+"дурусти\n"
+"графикӣ гузоришро тағир диҳед.\n"
+"\n"
+"\n"
+"\n"
+"Интихобҳо\n"
+"\n"
+" Дар ин ҷо шумо метавонед интихоб намоед оё шумо хоҳиши ба таври "
+"автоматӣ\n"
+"гузариш намудани мошини худ ба интерфейси графикӣ ҳангоми худборшавӣ доред\n"
+"Зоҳиран, шумо хоҳиши тафтиш намудани \"%s\"-ро доред, агар мошини шумо бояд\n"
+"ҳамчун хидматрасон кор кунад ё ин ки шумо ҳангоми гирифтани тасвири ба\n"
+"танзим даровардашуда ба муваффақият ноил нашудед."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Коргузор одатан метавонад ба таври автоматӣ мониторро муаяйн ва ба танзим "
+"дарорад,ки\n"
+"ба мошини шумо пайваст аст. Агар ин нодуруст бошад, онгоҳ шумо метавонед "
+"мустақилона мониторро\n"
+"аз рӯйхат интихоб намоед."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Ҳалнокӣ\n"
+"\n"
+" Дар ин ҷо шумо метавонед ҳал ва чуқурии ранге ки ба сахтафзори шумо "
+"дастрас\n"
+"аст, интихоб намоед. Онеро интихоб намоед, ки аз ҳама беҳтар ба эҳтиёҷи "
+"шумо\n"
+"мувофиқат намояд (баъд аз кор гузоштан шумо метавонед онро тағир диҳед).\n"
+"Намунаи ба танзимдарории интихобшуда дар монитор дода шудааст."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Дар ҳолате ки барои корти шумо хидматрасонҳои гуногун дастрас аст,\n"
+"бо шитоби 3-вазъа ва бе он, ба шумо таклиф карда мешавад, то ки интихоб "
+"намоед кадом хидматрасон бештар ба эҳтиёҷи\n"
+"шумо мувофиқат мекунад."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Интихобҳо\n"
+"\n"
+" Дар ин ҷо шумо метавонед интихоб кунед: оё мехоҳед, ки мошинаи\n"
+"шумо ҳангоми боршавӣ ба таври худкор интерфейси графикиро даргиронад ё не. "
+"Фаҳмост, ки шумо бояд \"%s\"-ро қайд кунед,\n"
+"агар мошинаи шумо ҳамчун хидматрасон кор кунад ё агар шумо\n"
+"намоишгари худро танзим карда натавониста бошед."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Дар ин қадам шумо бояд дар куҷои гардонандаи сахт ҷойгир кардани\n"
+"системаи омили Mandriva Linux-ро ҳал кунед. Агар гардонандаи сахти\n"
+"шумо холӣ бошад ё системаи омили ҳозирбуда ҳамаи фазои имконпазирро\n"
+"ишғол кунад, ба шумо лозим меояд, ки гардонандаи сахти худро\n"
+"бахшбандӣ кунед. Бахшбандикунии гардонандаи сахт асосан аз тақсимоти "
+"мантиқии фазои ишғолшуда барои коргузории системаи омилии \n"
+"Mandriva Linux иборат аст.\n"
+"\n"
+"Азбаски ҷараёни бахшбандии гардонандаи сахт одатан барнагарданда\n"
+"аст ва ба гумшавии додаҳо оварда расониданаш мумкин аст, агар дар "
+"гардонандаи сахт аллакай системаи омилии коргузоршуда мавҷуд бошад\n"
+"пас барои корвандони нав ин як лаҳзаи ҷиддӣ ва ҷиддӣ\n"
+"аст. Хурсандона ба DrakX устоди соддакунандаи ин ҷараён дохил мешавад.\n"
+"Пеш аз оғози ин қадам аз идоракунанда ин оиди қисмат маълумот гиред.\n"
+"\n"
+"Вобаста ба танзими гардонандаи сахти шумо як қатор интихобҳо имконпазиранд:\n"
+"\n"
+" * \"%s\": ин интихоб маънои бахшбандии худкори гардонанда(ҳо)и\n"
+"холиро дорад. Агар шумо ин хусусиятро интихоб кунед, пас дар оянда ба шумо "
+"савол дода намешавад.\n"
+"\n"
+" * \"%s\": устод мавҷудияти як ё зиёда бахшҳои Linux-ро дар гардонандаи\n"
+"сахти шумо муайян кард. Агар шумо онҳоро истифода бурдан хоҳед, ин\n"
+"хусусиятро интихоб кунед. Сипас аз шумо интихоб намудани нуқтаи\n"
+"насбшавӣ мувофиқан барои ҳар як бахшҳо талаб карда мешавад. Бо нобаёнӣ "
+"нуқтаҳои дурусти насбшавӣ интихоб мегарданд, ва шумо\n"
+"онҳоро нигоҳ дошта метавонед.\n"
+"\n"
+" * \"%s\": агар Microsoft Windows дар гардонандаи сахти шумо\n"
+"коргузорӣ шудааст ва ҳамаи фазои имконпазирро ишғол карда бошад,\n"
+"шумо бояд фазои холиро барои Linux офаред. Барои инро иҷро кардан\n"
+"шумо метавонед бахшҳои ва маълумоти Microsoft Windows-ро нобуд созед "
+"(нигаред ба ҳалнокии ``Поккунии ҳамаи диск'') ва ё андозаи қисмати FAT "
+"Microsoft Windows-ро тағир диҳед. Тағирдиҳии андоза\n"
+"бе гумкунии додаҳо ба амал омада метавонад, махсусан агар шумо\n"
+"пешаки дефрагментатсияи бахши Windows-ро гузаронида бошед ва дар\n"
+"он шаклбандии FAT истифода мешавад. Нусхабардории захирашавии додаҳои шумо "
+"ҷиддӣ маслиҳат дода мешавад.. Агар шумо Mandriva\n"
+"Linux ва Microsoft Windows-ро дар як компютер якҷоя истифода\n"
+"бурдан хоҳед, истифодаи ин хусусиятро маслиҳат медиҳад.\n"
+"\n"
+" Пеш аз интихоби ин хусусият шумо бояд фаҳмед, ки андозаи\n"
+"Microsoft Windows-и шумо назар ба ҳозира хурдтар мегардад.\n"
+"Барои захиракунии додаҳо ва коргузории таъминоти барномавии\n"
+"нав шумо дар Microsoft Windows фазои холии камтар хоҳед дошт.\n"
+"\n"
+" * \"%s\": агар шумо хоҳед, ки ҳамаи додаҳоро дар ҳама қисматҳои\n"
+"дар гардонандаи сахти худ мавҷудбударо нобуд созед ва ҷои онҳоро бо системаи "
+"нави Mandriva Linux иваз кунед, ин хосиятро интихоб\n"
+"кунед. Эҳтиёт бошед, зеро баъди тасдиқот шумо интихоби худро\n"
+"баргардонида наметавонед.\n"
+"\n"
+" !! Агар шумо ин хосиятро интихоб кунед, ҳамаи додаҳо дар гардонандаи "
+"сахти шумо нобуд карда мешаванд. !!\n"
+"\n"
+" * \"%s\": ин хосият имконияти поккунии ҳамаи маълумотро дар\n"
+"гардонандаи сахти шумо ва оғози офаридани бахшҳоро дар ҷои холӣ, медиҳад. "
+"Ҳама додаҳо дар гардонандаи сахти шумо гум мешаванд.\n"
+"\n"
+" !! Агар шумо ин хосиятро интихоб кунед, ҳама додаҳо дар гардонандаи сахти "
+"шумо гум мешаванд.. !!\n"
+"\n"
+" * \"%s\": агар шумо ба таври дасткорӣ бахшбандӣ намудани гардонандаи сахти "
+"худро хоҳед, ин хосиятро интихоб кунед. Эҳтиёт бошед -- зеро\n"
+"ин интихоби пурқудрат ва хатарнок аст ва шумо ба осонӣ ҳамаи\n"
+"додаҳоро аз даст дода метавонед. Бинобар ин интихоби ин хосият\n"
+"танҳо дар ҳолате, ки шумо аз ин пеш чизеро ба ин монанд иҷро карда\n"
+"бошед ё таҷрибаи муайян дошта бошед, маслиҳат дода мешавад.\n"
+"Барои маълумоти муфассал оиди истифодаи бахши барномаи пуштибонии DiskDrake "
+"ба қисмати ``Идоракунии Бахшҳои Шумо ''\n"
+"дар ``Раҳнамои Оғозии Корванд'' муроҷиат намоед."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Бахшбандии ҳозир бударо истифода баред"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Тамоми дискро тоза намоед"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Дискети худкоргузориро эҷод кардан"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Ин дафъа шумо метавонед баъзе бахшҳои GNU/Linux аллакай мавҷудбударо барои "
+"поккунии ҳамаи додаҳои дар онҳо буда, шаклбандиашро\n"
+"тағир намоед. Агар шумо чунин кардан хоҳед, марҳамат карда ин\n"
+"бахшҳоро интихоб намоед.\n"
+"\n"
+"Дар хотир доред, ки зарурати тағири шаклбандии ҳамаи бахшҳои\n"
+"пештар мавҷударо нест. Шумо бояд бахшҳоеро, ки системаи омилро\n"
+"дар бар мегаранд, тағири шакл кунед (ба монанди: \"/\", \"/usr\" ё \"/var"
+"\"),\n"
+"лекин шумо бояд қисматҳоеро, ки додаҳои нигоҳмедоштаатонро\n"
+"дар бар мегаранд, шаклбандиашро тағир диҳед (одатӣ\"/home\").\n"
+"\n"
+"Илтимос, ҳангоми интихоби бахшбандӣ эҳтиёт бошед. Баъди\n"
+"шаклбандикунӣ, ҳамаи додаҳо дар бахшҳои интихобшуда нобуд\n"
+"мегарданд ва шумо ягонтои онҳоро барқарор карда наметавонед.\n"
+"\n"
+"Агар шумо ба шаклбандии бахшҳо тайёр бошед ба \"%s\" ангушт занед.\n"
+"\n"
+"Агар шумо хоҳед, ки дигар бахшҳоро барои коргузории системаи\n"
+"омилии навъи Mandriva Linux интихоб кунед ба \"%s\" ангушт занед.\n"
+"\n"
+"Агар хоҳед бахшҳоеро, ки дар диск ба мавҷудияти қисмҳои бад\n"
+"тафтиш карда шаванд интихоб намоед, ба \"%s\" ангушт занед."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Ҳангоми коргузории Mandriva Linux хуб мешуд, ки баъзе бастаи\n"
+"барномаҳо нав карда шаванд, аз рӯзи барориши ибтидоӣ. Эҳтимолан\n"
+"баъзе хатогиҳо ислоҳ шудаанд ва дархостҳо оиди бехтарӣ ҳал шудаанд.\n"
+"Барои гирифтани фоида аз ин навсозиҳо, ҳозир ба шумо боркунии онҳо аз "
+"Интернет пешкаш карда мешавад. \"%s\"-ро қайд кунед, агар шумо\n"
+"пайвастшавии кориро бо Интернет дошта бошед ё \"%s\"-ро агар хоҳед,\n"
+"ки ин навсозиҳоро дертар коргузорӣ кунед.\n"
+"\n"
+"Бо интихоби \"%s\" рӯйхати ҷойҳое, ки аз онҳо навсозиро бозёбӣ карда\n"
+"метавонед, намоиш дода мешавад. Хидматрасони наздиктаринро интихоб кунед. "
+"Баъд дарахти интихоби бастаи барномаҳо пайдо мешавад:\n"
+"қисматро аз назар гузаронед ва \"%s\"-ро барои бозёбии коргузории баста(ҳо)и "
+"интихобшуда, пахш кунед ва ё \"%s\"-ро барои қатъ\n"
+"кардани коргузории бозсозӣ пахш кунед."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Дар ин марҳила DrakX ба шумо имконияти интихоби сатҳи бехатарии\n"
+"дилхоҳро барои мошина медиҳад. Чун қоида, бояд сатҳи бехатарии\n"
+"баландтар бошад, агар дар мошина додаҳои бӯҳронӣ мавҷуд бошанд\n"
+"ё мошина бевосита ба Интернет пайваст шуда бошад. Лекин сатҳи бехатарии "
+"баландтар дар ҳодисаи умумӣ бар ивази соддаи\n"
+"истифодабарӣ дастрас мегардад.\n"
+"\n"
+"If you do not know what to choose, stay with the default option. You will\n"
+"be able to change that security level later with tool draksec from the\n"
+"Mandriva Control Center.\n"
+"\n"
+"The \"%s\" field can inform the system of the user on this computer who\n"
+"will be responsible for security. Security messages will be sent to that\n"
+"address."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Идоракунандаи Бехатарӣ"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Дар ин пункт шумо бояд интихоб намоед, ки кадом бахш(ҳо) барои\n"
+"коргузории системавӣ Mandriva Linux-и шумо истифода бурда мешаванд.\n"
+"Агар бахшҳои алоқаи аз коргузории пешинаи GNU/Linux ё аз дигар\n"
+"асбоби бахшбандикунӣ муайян шуда бошад, шумо метавонед бахшҳои мавҷударо "
+"истифода баред. Дар дигар ҳолат бояд бахшҳои гардонандаи\n"
+"сахт муайян карда шаванд.\n"
+"\n"
+"Барои офаридани бахшҳо, шумо бояд аввал гардонандаи сахтро интихоб\n"
+"кунед. Шумо метавонед дискро барои бахшбандӣ ба воситаи ангуштзанӣ\n"
+"ба ``hda'' барои IDE гардонандаи аввал, ``hdb'' барои дуюм, ``sda'' барои "
+"SCSI гардонандаи аввал ва ҳоказо, интихоб кунед.\n"
+"\n"
+"Барои бахшбандии гардонандаи сахти интихобшуда шумо метавонед ин хосиятҳоро "
+"истифода баред:\n"
+"\n"
+" * \"%s\": ин хосият ҳамаи бахшҳоро дар гардонандаи сахти интихобшуда нобуд "
+"месозад\n"
+"\n"
+" * \"%s\": ин хосият имконияти ба таври худкор офаридани бахшҳои\n"
+"ext3 ва swap-ро дар фазои холии гардонандаи сахти шумо, медиҳад\n"
+"\n"
+"\"%s\": хусусиятҳои иловагиро дастрас мекунад:\n"
+"\n"
+" * \"%s\": ҷадвали бахшҳоро дар диски нарм захира мекунад. Барои\n"
+"барқарорсозии ҷадвали бахшҳо фоиданок аст, агар лозим бошад. Иҷрои\n"
+"ин қадам ҷиддан маслиҳат дода мешавад.\n"
+"\n"
+" * \"%s\": имконияти барқароркунии ҷадвали бахшҳои пештарзахирашударо\n"
+"аз диск медиҳад.\n"
+"\n"
+" * \"%s\": агар ҷадвали бахшҳои шумо хароб гашта бошад, шумо метавонед\n"
+"ба воситаи ин хосият барқарор кардани онро кӯшиш кунед. Илтимос, эҳтиёт\n"
+"бошед ва дар хотир доред, ки он на ҳама вақт кор мекунад.\n"
+"\n"
+" * \"%s\": ҳамаи тағиротҳоро бекор мекунадва ҷадвали бахшҳои ибтидоиро\n"
+"дар гардонандаи сахт бор мекунад.\n"
+"\n"
+" * \"%s\": ба бекор кардани қайди ин хосият шумо корвандонро маҷбур месозед, "
+"ки ба таври дасткорӣ муҳити ҷойивазкунандао ба монанди\n"
+"диски нарм ва CD-ROM насб кунанд ва мунфасил намоянд.\n"
+"\n"
+" * \"%s\": ин хсиятро истифода баред, агар хоҳед, ки устодро барои "
+"бахшбандии гардонандаи сахти худ итифода баред. Он ба шумо тавсия\n"
+"мешавад, агар ки дар бахшбандии гардонандаи сахт тасавуроти пурра\n"
+"надошта бошед\n"
+"\n"
+" * \"%s\": ин хосиятро барои бекоркунии тағиротҳои худ истифода баред.\n"
+"\n"
+" * \"%s\": амалиётҳои иловагиро дар бахшҳо (навъ, интихобҳо, шаклбандӣ) "
+"имконият медиҳад ва маълумоти бештарро оиди гардонандаи сахти шумо медиҳад.\n"
+"\n"
+" * \"%s\": вақте, ки шумо гардонандаи сахти худро ба охир мерасонед\n"
+"ин тағиротҳои шуморо дар диск захира мекунад.\n"
+"\n"
+"Ҳангоми муайянсозии андозаи бахши шумо метавонед андозаи бахшро\n"
+"ба воситаи калидҳои тирчадор дар забонаки худ барпо созед.\n"
+"\n"
+"Эзоҳ: шумо ба воситаи забонак ба интихоби ҳамаи хосиятҳ расида метавонед.\n"
+"Дар гирди бахшҳо ба воситаи [Tab] ва тирчаҳои [Боло/Поён] гардиш кунед.\n"
+"\n"
+"Вақте, ки бахш интихоб гардид, шумо метавонед:\n"
+"\n"
+" * Ctrl-c -ро барои офаридани бахши нав (вақте, ки бахши холӣ интихоб шуда "
+"бошад)\n"
+"\n"
+" * Ctrl-d-ро барои нобуд кардани бахш\n"
+"\n"
+" * Ctrl-m-ро барои барпосозии нуқнаи насбшавӣ истифода баред.\n"
+"\n"
+"Барои гирифтани маълумот оиди намудҳои системаи файлии дастрас\n"
+"марҳамат карда боби ext2FS-ро аз ``Раҳнамои Муроҷиат'' хонед.\n"
+"\n"
+"Агар шумо дар мошинаи PPC коргузориро иҷро карда бошед, ба шумо\n"
+"лозим меояд, ки бахши хурди HFS ``bootstrap''-ро офаред, ки ақалан 1Мб\n"
+"бошад ва он аз тарафи боркунандаи yaboot истифода бурда мешавад.\n"
+"Агар шумо хоҳед, ки бахшро каме калонтар кунед, масалан 50Мб шумо\n"
+"онро ҷои хеле қуллай барои захиракунии ҳастаи эҳтиётӣ ва симоҳои ramdisk "
+"ҳангоми ҳодисаи боркунии ғайричашмдошт,\n"
+"пайдо хоҳед кард."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Худваслкунии хориҷшавандаи муҳит"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Зомин байни усули мӯътадил/мутахассисӣ"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Дар гардонандаи сахти шумо зиёда аз як бахши Microsoft муайян гардид.\n"
+"Марҳамат карда бахшеро, ки барои коргузории системаи нави омили\n"
+"Mandriva Linux андозаи онро тағир додан мехоҳед, интихоб намоед.\n"
+"\n"
+"Ҳар бахш ба таври зерин ба рӯйхат гирифта мешавад: \"ном дар Linux\",\n"
+"\"ном дар Windows\" \"Ғунҷоиш\".\n"
+"\n"
+"\"ном дар Linux\" таркибӣ мебошад: \"навъи гардонандаи сахт\",\n"
+"\"рақами гардонандаи сахт\", \"рақами бахш\" (масалан, \"hda1\").\n"
+"\n"
+"\"Навъи гардонандаи сахт\" ин \"hd\" агар гардонандаи сахти шумо IDE\n"
+"гардонандаи сахт бошад ва \"sd\", агар он гардонандаи сахти SCSI бошад.\n"
+"\n"
+"\"Рақами гардонандаи сахт\" ҳамеша ҳарф баъди \"hd\" ё \"sd\" оянда аст.\n"
+"Барои IDE гардонандаи сахт:\n"
+"\n"
+" * \"a\" маънои \"гардонандаи сахти устод дар IDE нозири ибтидоӣ\"-ро "
+"дорад;\n"
+"\n"
+" * \"b\" гардонандаи сахти фармонбар дар IDE нозири ибтидоӣ\"-ро дорад;\n"
+"\n"
+" * \"c\" маънои \"гардонандаи сахти устод дар IDE нозири дуямин\"-ро дорад;\n"
+"\n"
+" * \"d\" маънои \"гардонандаи сахти фармонбар дар IDE нозири дуямин\"-ро "
+"дорад.\n"
+"\n"
+"Барои SCSI гардонандаи сахт \"a\" маънои \"якум аз поёни SCSI ID\"-ро\n"
+"дорад, \"b\" маънои \"дуюм аз поёни SCSI ID\"-ро дорад ва ғайра.\n"
+"\n"
+"\"ном дар Windows\" ин ҳарфи гардонандаи сахти шумо дар Windows аст\n"
+"(диски ё бахши якум \"C:\" номида мешавад)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": интихоби ҳозираи мамлакатро санҷед. Агар дар ин мамлакат набошед, "
+"онгоҳ\n"
+" ба дагмаи \"%s\" ангушт зада дигарашро интихоб намоед.\n"
+"Агар мамлакати шумо дар рӯйхати аввалаи нишондода нашуда бошад, онгоҳ ба\n"
+"дагмаи \"%s\"ангушт зада рӯйхати пураро бинед."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ин қадам танҳо дар он ҳолате фаъол мегардад, ки дар мошинаи шумо\n"
+"бахши кӯҳнаи GNU/Linux пайдо гардад.\n"
+"\n"
+"DrakX бояд донад, ки оё шумо мехоҳед, ки коргузории навро гузаронед\n"
+"ё системаи Mandriva Linux-и мавҷударо афзоиш диҳед:\n"
+"\n"
+" * \"%s\": Дар бисёр ҳолатҳо ин вариант ба нобудшавии системаи кӯҳна\n"
+"оварда мерасонад. Агар хоҳед, ки бахшҳои гардонандаи сахти худро иваз\n"
+"кунед ё системаи файлиро тағир диҳед, шумо бояд ин хосиятро истифода\n"
+"баред. Лекин вобаста ба тарҳрезии гардонандаи сахт шумо эҳтимолан баъзеи\n"
+"додаҳои мавҷудаи худро аз бознависӣ захира карда метавонанд.\n"
+"\n"
+" * \"%s\": ин синфи коргузорӣ ба шумо имконияти авкунии бастаи\n"
+"барномаҳои дар системаи Mandriva Linux-и коргузоришударо медиҳад.\n"
+"Нақшаи бахшбандии ҷорӣ ва додаҳои корванд, ивазнашавандаанд.\n"
+"Бештари дигар қадамҳо низ дастрас мегарданд, ба монанди коргузории "
+"низоммеъёр.\n"
+"\n"
+"Интихоби хосияти ``Густариш'' дар системаҳои Mandriva Linux аз нусхаи\n"
+"\"8.1\" сар карда то охирон хеле хуб хоҳад кор кард. Гузаронидани Густариш\n"
+"дар системаҳои Mandriva Linux болотар аз \"8.1\" маслиҳат дода мешавад."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Вобаста ба забони нобаёнӣ, ки дар қисмат интихоб кардед, DrakX ба таври\n"
+"худкор навъи танзими забонакро интихоб мекунад. Инро интихоб кунед ё \n"
+"дигар ҷобаҷогузории забонакро интихоб кунед.\n"
+"Лекин шумо забонеро, ки,\n"
+"пурра ба забони шумо мувофиқат мекунад, надошта метавонед: масалан, агар\n"
+"шумо шахси швейтсариягии бо забони англисӣ гап зананда бошед, шумо забони\n"
+"швейтсариягӣ дошта бошед. Ё агар шумо бо забони англисӣ гап мезанед лекин "
+"дар Квебек сукунат доред, шумо ба ҳолате меафтед, ки забони модарии шумо\n"
+"ва забонаки мувофиқро аз рӯйхат медиҳад.\n"
+"\n"
+"Барои гирифтани рӯйхати пурраи забонакҳои пуштибоншаванда ба тугмаи\n"
+"\"%s\" ангушт занед.\n"
+"\n"
+"Агар шумо ҷобаҷогузории забонакро, ки ба алифбои ғайри Лотинӣ асос\n"
+"ёфтааст интихоб намоед, муколамаи оянда ба шумо имконияти интихоб\n"
+"кардани бастаи калидҳо барои гузриши байни ҷобаҷогузориҳои лотинӣ ва\n"
+"ғайри лотинӣ медиҳад."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Қадами аввал ин интихоби забони писандида аст.\n"
+"\n"
+"Интихоби забони писандида ба забони санадсозӣ, коргузор ва умуман\n"
+"коргузорӣ таъсир мерасонад. Аввал маҳаллӣ ҷойгиршавиатонро ва пас\n"
+"забонеро, ки бо он гуфтугӯ мекунед, интихоб кунед.\n"
+"\n"
+"Бо ангуштзании тугмаи \"%s\" шумо метавонед дигар забонҳоро, ки бо\n"
+"истгоҳи кории шумо коргузорӣ карда мешавад, интихоб кунед ва ҳамин\n"
+"тавр файлҳои санадсозии замимаҳои системавиро, ки ба забон алоқаманданд,\n"
+"коргузорӣ намоед. Масалан агар дар системаи шумо корвандони аз Испания\n"
+"кор кунанд, дар дарахти азназаргузарони англисиро ҳамчун забон бо нобаёнӣ "
+"интихоб кунед ва ҳатто ҳамаи онҳоро бо интихоби пункти \"%s\"дар бахши "
+"Муккамалгашт коргузрӣ карда метавонед.\n"
+"\n"
+"Интихоби пуштибонии забон маънои тарҷумаҳо, ҳуруфҳо, имлосанҷӣ ва ғайраро "
+"барои забонҳои коргузоришударо дорад. Ба ғайр аз ин шумо\n"
+"метавонед пункти \"%s\"-ро интихоб кунед, ки системаро барои истифода "
+"бурдани рамзи ягона (UTF-8) маҷбур месозад.\n"
+"Лекин дар хотир доред, ки ин хусусияти озмоишӣ аст.\n"
+"Агар шумо дигар забенероб ки дигар рамзро талаб мекунад интихоб кунед, ба "
+"ҳар ҳол пуштибонии рамзи ягона коргузорӣ\n"
+"мегардад.\"%s\"\n"
+"\n"
+"Барои гузариш аз байни забонҳои мухталифи коргузоришуда дар\n"
+"система шумо матавонед фармони \"/usr/sbin/localedrake\" ҳамчун \"реша\" "
+"баҳри ивази забон барои ҳамаи система истифода баред\n"
+"Корандозии ин фармон, ҳамчун корванди муқаррарӣ танҳо\n"
+"гузоришҳои забонро барои ин корванди муайян иваз мекунад."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Испанӣ"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Одатан дар DrakX ягон муаммо оиди муайянкунии шумораи тугмаҳо\n"
+"дар муши шумо пайдо намешавад. Агар чунин нашавад, пас он муши шуморо\n"
+"ҳамчун ду тугмадор мепиндорад ва онро ба намунасозии тугмаи сеюмро\n"
+"танзим мекунад. Тугмаи сеюми муши дутугмадор ба воситаи пахшкунии\n"
+"якзамонаи тугмаи рост ва чапи муш, пахш хоҳад шуд. DrakX ба таври худкор\n"
+"мефаҳмад, ки оё муши шумо кадоме аз интерфейси PS/2, serial ё USB-ро "
+"истифода мебарад.\n"
+"\n"
+"Агар шумо муши 3-тугмадорро бе чарха дошта бошед шумо \"%s\"\n"
+"-ро интихоб карда метавонед.\n"
+"\n"
+"Агар шумо дигар мушро, ки аз интихоб кардан бо нобаёнӣ фарқ мекунад,\n"
+"экрани санҷишӣ намоиш дода мешавад. Тугма ва чархаҳоро барои санҷидан\n"
+"дурустии гузоришҳо ва дурустии кори муш истифода баред.\n"
+"Агар муш хуб кор накунад, сари фазо ё \"%s\" калиди [Баргаштан]-ро пахш "
+"кунед,\n"
+"то ки санҷишро бекор кунед ва ба рӯйхати интихобҳо баргардед.\n"
+"\n"
+"Мушҳои чархадор баъзе вақт худмуайян намегарданд. Дар ин ҳолат\n"
+"шумо бояд муши худро аз рӯйхат интихоб намоед. Бовари ҳосил\n"
+"кунед, ки шумо даргоҳи пайвастшавии мушро дуруст интихоб кардед.\n"
+"Вақте, ки муш интихоб шуд ва тугмаи \"%s\" пахш гардид, тасвир бо\n"
+"симои муш пайдо мешавад. Чархаҳои мушро гардонед, то бовари\n"
+"ҳосил кунед, ки он дуруст кор мекунад. Вақте шумо мебинед, ки\n"
+"чархаи муш дар экран ба ҳаракатҳои муши шумо ҳамзамон ҳаракат мекунад,\n"
+" кори тугмаҳо ва ҳаракати нишоннаморо, ки бояд мувофиқи\n"
+"ҷойивазкунии муши шумо ҳаракат кунад, санҷед."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "бо намунаи Ғилдиракча"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Уневерсалӣ | Дилхоҳ PS/2 & USB муш"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Лутфан бандари дурустро интихоб кунед. Барои мисол, бандари \"COM1\" таҳти "
+"Windows дар таҳти GNU/Linux \"ttySO\" номида мешавад."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ин ҳалли бӯҳронӣ оиди бехатарии системаи GNU/Linux-и шумост:\n"
+"шумо бояд гузарвожаи \"решавӣ\"-ро ворид кунед. \"Реша\" ин идоракунандаи\n"
+"системавӣ ва танҳо ӯ ҳуқуқи ба амал баровардани навсозиҳо, илова\n"
+"кардани корвандон, тағирдиҳии батанзимдарории система ва ғайраро дорад. "
+"Кӯтоҳ карда гӯем \"реша\" ҳама чизро карда метавонад! Бинобар\n"
+"ин шумо бояд чунин гузарвожаеро интихоб кунед, ки фаҳмидани он душвор\n"
+"гардад. Агар гузарвожа хеле содда бошад DrakX оиди он ба шумо хабар "
+"мерасонад. Чи хеле ки мебинед, шумо умуман гузарвожаро интихоб накарда\n"
+"метавонед, лекин мо ба шумо инро аз сабаби як чиз манъ мекунем: фикр\n"
+"накунед, ки агар шумо GNU/Linux-ро бор карда бошед, пас дигар системаҳои\n"
+"омили шумо аз хатогӣ муҳофизат мешаванд. Аз сабаби он, ки \"реша\" ҳамаи\n"
+"маҳдудиатҳоро гузашта метавонед ва тасодуфан ҳамаи додаҳоро дар бахшҳои\n"
+"диск пок карда метавонад, ба воситаи бо эҳтиёт муносибат кардан ба бахшҳои\n"
+"пас хеле муҳим аст, ки шудани \"реша\" хеле душвор гардад.\n"
+"\n"
+"Гузарвожа бояд якҷоягии аломатҳои рақамӣ ва ҳарфӣ бошад ва дарозиаш\n"
+"кам аз 8 аломат бошад. Ҳеҷ гоҳ гузарвожаи \"реша\"-ро сабт накунад. Зеро\n"
+"он боэътиборкунии системаро хеле осон мекунад.\n"
+"\n"
+"Лекин гузарвожаро хеле дароз ва хеле мураккаб накунед, зеро шумо бояд\n"
+"онро ба осонӣ хотир доред.!\n"
+"\n"
+"Гузарвожаи дар экран ба тавре чоп кардаи шумо намоиш дода намешавад.\n"
+"Ба ғайр аз ин ба шумо лозим меояд, ки воридкунии гузарвожаро дубора\n"
+"иҷро созед, барои пешгирии эҳтимолан хатогӣ дар чопкунӣ. Агар чунин\n"
+"ҳодиса рух диҳад, ки шумо дубора ҳангоми чопкунӣ хатогӣ кардед, пас шояд ин "
+"гузарвожаи ``нодуруст''-ро ҳангоми боркунии якумин истифода баред.\n"
+"\n"
+"Агар хоҳед, ки дастёби ба ин компютер аз тарафи хидматрасони аслшинос\n"
+"идора шавад, ба тугмаи \"%s\" ангушт занед.\n"
+"\n"
+"Агар шабакаи шумо хидматрасонҳои аслшиносии LDAP, NIS, ё PDC\n"
+"Windows Domain-ро истифода барад, навъи мувофиқи \"%s\"-ро интихоб\n"
+"кунед. Агар надонед, ки кадоме аз онҳоро истифода мебаред, идоракунандаи "
+"шабакавии худро пурсон шавед.\n"
+"\n"
+"Агар шумо оиди дархотирдории гузарвожа душворӣ кашед, шумо хосияти\n"
+"\"%s\"-ро интихоб карда метавонед, агар компютери шумо ба Интернет пайваст\n"
+"набошад ва агар шумо ба ҳамаи шахсоне, ки мошинаи шуморо истифда мебаранд,\n"
+"боварӣ дошта бошед."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "аслшиносӣ"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO ва grub корандозҳои худборшави GNU/Linux мебошад. Ин қадам пурра\n"
+"автоматикунонида шудааст. DrakX соҳаи худборшавии дискетро таҳлил менамояд\n"
+"ва мувофиқи чизи дар он ҷой ёфтааш амал мекунад:\n"
+"\n"
+" * агар соҳаи худборшавии Windows ёфт шавад, онгоҳ онро ба соҳаи "
+"худборшавии\n"
+"grub/LILO иваз хоҳад кард. Пас, шумо метавонед ҳам GNU/Linux ва ҳам ОС-и\n"
+"дигарро кор андозед.\n"
+"\n"
+" * агар соҳаи худборшавии grub ё LILO ёфт шавад, онгоҳ \"%s\" онро ба наваш "
+"иваз хоҳад\n"
+"кард.\n"
+"\n"
+"Агар номуайянӣ рӯй диҳад, онгоҳ DrakX аз шумо мепурсад, ки дар куҷо\n"
+"корандози \"%s\" худборшавро ҷойгир намуд."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Ҳоло вақте расидааст барои интихоби системаи чопкунӣ барои компютери\n"
+"шумо. Дигар СО ба шумо як намудро пешкаш карда метавонад, Mandriva Linux\n"
+"бошад, ду намудро. Ҳар яке аз системаҳо барои батанзимдарории\n"
+"муайяни беҳтарин мебошад.\n"
+"\n"
+" * \"%s\" -- ин маънои онро дорад, ки ``чопро саф наороед'' - ин интихоб,\n"
+"агар шумо бевосита ба чопгари худ пайваст бошед ва намехлҳед, ки\n"
+"қоғаз дар чопгар дар монад ва агар шумо чопгарони шабакавӣ надошта\n"
+"бошед (\"%s\" аз ӯҳдаи фақат шабакаҳои оддӣ баромада метавонад ва хеле\n"
+"барои онҳо суст мебошад.) Истифодаи \"pdq\" маслиҳат дода мешавад,\n"
+"ҳангоми гузоштани қадамҳои аввала ба GNU/Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', ин чопкуни олиҷаноб барои\n"
+"чопкунӣ дар шабакаи маҳаллии шумо, инчунин дар нисфи сайёра. Он дар\n"
+"батанзидарорӣ оддӣ ва ҳамчун хидматрасон ё мизоҷ дар системаҳои чопии\n"
+"пештараи \"lpd \", баромада метавонад. Барои ҳамин ҳам он бо системаҳои\n"
+"пештаристеҳсолшуда мутобиқ мебошад. Ба ҳамаи пурқудратии он нигоҳ\n"
+"накарда батанзимдарориҳои асосии он аз \"pdq\" ҳам оддитар аст. Агар\n"
+"ба шумо намунасозии \"lpd\" хидматрасон лозим бошад, азозили \"cups-lpd \"-"
+"ро\n"
+"даргиронед. \"%s\" интерфейси графикӣ барои чоп кардан ё интихоби кортҳои\n"
+"принтер ва идоракунӣ бо он.\n"
+"\n"
+"Агар шумо интихоби худро кунед, лекин баъд маълум гардад, ки системаи\n"
+"чопкунӣ ба шумо писанд намеояд, шумо метавонед онро тағир диҳед ба воситаи "
+"сардодани PrinterDrake аз Маркази Идораи Mandriva ва пахшкунии \"%s\" "
+"тугмаи\n"
+"кордон."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Кордон"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Сараввал DrakX дастгоҳҳои дилхоҳи IDE-и ба компютери шумо омадаро муаяйн\n"
+"менамояд. Инчунин он системи шумо барои як ё кортҳои PCI SCSI зиёд баррасӣ\n"
+"менамояд. Агар корти SCSI ёфт шавад, онгоҳ DrakX ба таври автоматӣ ронандаи\n"
+"лозимаро коргузорӣ менамояд.\n"
+"\n"
+"Азбаски муаяйнкунии сахтафзор на ҳама вақт боваринок аст, DrakX\n"
+"шояд бо муяйнкунии гардонҳои сахт ба муваффақият ноил нагардад. Агар ин "
+"тавр\n"
+"бошад ба шумо лозим аст, то ки дастӣ сахтафзори худро нишон диҳед.\n"
+"\n"
+"Агар шумо созгори худро дастӣ нишон дода бошед, онгоҳ DrakX аз шумо "
+"мепурсад\n"
+"оё барои он хоҳиши ба танзим даровардани интихобҳоро доред.\n"
+"Шумо бояд ба DrakX иҷозат диҳед, то ки интихобҳои барои корт махсус бударо\n"
+"санҷед, ки барои коргузории созгор зарур аст. Одатан DrakX ин марҳиларо бе\n"
+"душворӣ мегузарад.\n"
+"\n"
+"Агар DrakX параметрҳои ба сахтфзор лозим буда муаяйн карда натавонад,\n"
+"онгоҳ ба шумо лозим аст, то ки дастӣ ронандаро ба танзим дароред."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": агар дар системи шумо корти овоздор муаяйн нашуда бошад,\n"
+" онгоҳ корти мазкур дар ин ҷо нишон дода мешавад. Агар шумо бинед, ки корти "
+"овоздори нишондода шуда\n"
+"ба оне ки дар системи шумо мувоффиқат намекунад, шумо метавонед ба дагма\n"
+"ангушт зада гардони дигарро интихоб намоед."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Ҳамчун азназаргузаронӣ DrakX ахборотеро, ки дар бораи системаи шумо\n"
+"дорад, пешниҳод мекунад. Вобаста ба он, ки кадом сахтафзор коргузорӣ\n"
+"шудааст, шумо метавонед ҳама ё баъзе аз ин пунктҳоро бинед. Ҳар пункт\n"
+"аз элементҳои батанзимдарор иборат аст, ки ахбороти хурде оиди\n"
+"батанзимдарориҳои ҷорӣ дорад. Барои ивази батанзимдарориҳо ба тугмаи\n"
+"мувофиқи \"%s\" ангушт занед.\n"
+"\n"
+" * \"%s\": батанзимдарориҳои ҷории забонакро тафтиш \"%s\" кунед ва агар\n"
+"зарурат бошад, онро тағир диҳед\n"
+"\n"
+" * \"%s\": интихоби ҷории давлатро тафтиш кунед. Агар шумо дар дигар\n"
+"давлат бошед ба тугмаи \"%s\" ангушт зада онро интихоб кунед. Агар\n"
+"давлати шумо дар рӯйхати якумӣ нишон дода набошад, ба тугмаи \"%s\"\n"
+"ангушт занед барои дидани рӯйхати пурра.\n"
+"\n"
+" * \"%s\": Бо нобаёнӣ DrakX минтақаи вақтеро интихоб мекунад, ки\n"
+"ба интихоби давлатии шумо асос ёфтааст. Интихоб нодуруст бошад, дар\n"
+"ин ҷо шумо метавонед ба тугмаи \"%s\" ангушт занед\n"
+"\n"
+" * \"%s\": Батанзимдарории ҷории мушро тафтиш кунед. Агар ягон чизро\n"
+"дигаргун сохтан лозим бошад ба тугма ангушт занед.\n"
+"\n"
+" * \"%s\": дар вақти ангуштзанӣ ба \"%s\" устоди созкуни чопгар\n"
+"кушода мешавад. Аз китоби ``Роҳнамои оғозии корванд'' боби\n"
+"мувофиқро оиди чӣ тарз ба танзим даровардани чопгарро, хонед.\n"
+"Интерфейси дар он нишондода ба интерфейси батанзимдарорӣ монанд аст. \n"
+"\n"
+" * \"%s\": агар дар системаи шумо корти овозӣ пайдо гардад, он нишон дода\n"
+"мешавад. Агар шумо бинед, ки корти овозии нишондода ба он , ки дар\n"
+"системаи шумо ҳаст мувофиқат намекунад, шумо метавонед тугмаро\n"
+"ангушт зада, ронандаи дигарро интихоб кунед.\n"
+"\n"
+" * \"%s\": бо нобаёнӣ DrakX интерфейси графикии шуморо бо ҳалнокии\n"
+"\"800x600\" ё \"1024x768\"ба танзим дароред. Агар ин шуморо қонеъ\n"
+"нагардонад, ба \"%s\" ангушт занед, барои дохилкунии дигаркуниҳо ба созгори "
+"интерфейси графикии шумо.\n"
+"\n"
+" * \"%s\": агар дар системаи шумо корти ТВ пайдо гардад, он нишон дода\n"
+"мешавад. Агар шумо корти ТВ дошта бошеду он муайян нагардид, ба\"%s\"\n"
+"ангушт занед ва ба таври дастӣ онро ба танзим дароред.\n"
+"\n"
+" * \"%s\": агар дар системаи шумо корти ISDN пайдо гардад, он нишон дода\n"
+"мешавад. Шумо метавонед ба \"%s\" ангушт занед барои тағири параметрҳои\n"
+"он.\n"
+"\n"
+" * \"%s\": агар хоҳед, ки дастёбӣ ба Интернет ё шабакаи маҳаллиро танзим\n"
+"диҳед, бо ангуштзанӣ ба ин тугма, худи ҳозир онро иҷро карда метавонед.\n"
+"\n"
+" * \"%s\": ҳамчуноне, ки дар қадами пешина буд, ин пункт ба шумо\n"
+"бозмуайянкунии сатҳи бехатариро пешкаш мекунад ().\n"
+"\n"
+" * \"%s\": агар шумо мошинаи худро ба Интернет пайваст кардани бошед,\n"
+"беҳтар мешуд фейрволро коргузри кунед, барои муҳофизати системаи\n"
+"худ аз воридшавӣ аз берун. Аз китоби ``Роҳнамои оғозии корванд'' боби\n"
+"мувофиқро оиди чӣ тарз ба танзим даровардани фейрвол, хонед.\n"
+"\n"
+" * \"%s\": агар хоҳед, ки танзими боркунандаи ибтидоиро тағир диҳед,\n"
+"ба ин тугма ангушт занед. Ин хосият барои корвандони моҳир пешбинӣ шудааст\n"
+"\n"
+" * \"%s\": дар ин ҷо шумо метавонед, кадом намуди хидматрасониҳо\n"
+"дар мошинаи шумо корандозӣ карда мешаванд, идора кунед. Агар мошинаи шумо "
+"хидматрасон мешуда бошад, ба шумо тафтиши ин\n"
+"батанзимдарориҳо, ҳатмист."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Корти ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Интерфейси Графикӣ"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Диски сахтеро, интихоб намоед, ки шумо онро барои офаридани қисми\n"
+"Mandriva Linux дур намудан мехоҳед. Эҳтиёт шавед, ки дар он ҳамаи\n"
+"додаҳои мавҷуд буда гум хоҳад шуд ва он барқарор намегардад!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Ба \"%s\" ангушт занед, агар шумо ҳамаи додаҳо ва қисмҳое ки дар ин диски "
+"сахт\n"
+"мавҷуд аст хориҷ намоед. Эҳтиёт шавед, ки баъд аз пахши \"%s\" шумо додаҳо "
+"ва\n"
+"қисмҳое ки дар ин диски сахт мавҷуд аст, инчунин ҳамаи додаҳои Windows-ро "
+"эҳё\n"
+"карда наметавонед.\n"
+"\n"
+"Ба \"%s\"ангушт занед, то ки бе талаф додани додаҳо ва қисмҳои дар ин диски "
+"сахт\n"
+"мавҷуд буда ин амалиётро бекор намоед."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Навбатӣ ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Гузашта"
+
diff --git a/perl-install/install/help/po/th.po b/perl-install/install/help/po/th.po
new file mode 100644
index 000000000..58e6343d1
--- /dev/null
+++ b/perl-install/install/help/po/th.po
@@ -0,0 +1,1137 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Wachara Chinsettawong <wachara@yahoo.com>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2001-09-10 14:24GMT+7\n"
+"Last-Translator: Wachara Chinsettawong <wachara@yahoo.com>\n"
+"Language-Team: Thai <th@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, fuzzy, c-format
+msgid "Do you want to use this feature?"
+msgstr "คุณต้องการใช้ aboot หรือไม่"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "อัพเกรด"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "With basic documentation"
+msgstr "ตำแหน่ง"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "ออกจากการติดตั้ง"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, fuzzy, c-format
+msgid "Automatic time synchronization"
+msgstr "Boot Style Configuration"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, fuzzy, c-format
+msgid "Use existing partition"
+msgstr "ใช้พาร์ติชั่นที่มีอยู่"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "ลบ disk ทั้งหมด"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, fuzzy, c-format
+msgid "Generate auto-install floppy"
+msgstr "สร้างfloppyสำหรับการติดตั้งแบบออโตเมติก"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, fuzzy, c-format
+msgid "Security Administrator"
+msgstr "อ๊อปชั่นของเครื่องพิมพ์แบบรีโมท"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, fuzzy, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "สำหรับผู้ชำนาญ > ปกติ"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "with Wheel emulation"
+msgstr "Logitech MouseMan"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, fuzzy, c-format
+msgid "authentication"
+msgstr "การตรวจสอบสิทธิ์การใช้งาน"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "โหมดผู้เชี่ยวชาญ"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX จะพยายามหา PCI SCSI adapter(s) ถ้า DrakX\n"
+"หาเจอ SCSI adapter และรู้ว่าควรใช้ไดร์เวอร์อะไร มันก็จะ\n"
+"ถูกติดตั้งโดยออโตเมติก\n"
+"\n"
+"\n"
+"ถ้าคุณมี SCSI adapter ISA adapter หรือ PCI SCSI adapter ที่ DrakX\n"
+"ไม่สามารถหาเจอ คุณจะโดนถามว่ามี SCSI adapter ในเครื่องของคุณ\n"
+"หรือไม่ ถ้าไม่มีกรุณากดที่ \"ไม่\" แต่ถ้าคุณกดลงที่ \"ไช่\" คุณจะต้องเลือก\n"
+"ชนิดของ adapter ที่คุณมีอยู่\n"
+"\n"
+"\n"
+"ถ้าคุณเป็นคนเลือก Adapter เอง DrakX จะถามว่าคุณจะป้อนข้อมูล\n"
+"Option หรือไม่ ถึงตรงนี้คุณควรจะให้ DrakX ค้นหา option ที่เหมาะสม\n"
+"ซึ่งโดยทั่วไปมันจะสามารถหาได้เองอย่างถูกต้อง\n"
+"\n"
+"\n"
+"แต่ถ้าไม่สำเร็จคุณจำเป็นที่จะต้องให้ข้อมูล Option เอง คุณควรหาข้อมูลเพิ่ม\n"
+"เติมได้จากคู่มือ (บทที่ 3 ตอน Collective informations on your hardware ) หรือ \n"
+"จาก Web Site ของผู้ผลิต หรือ จาก Microsoft Windows ถ้าคุณมีติดตั้ง"
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "ISDN card"
+msgstr "Internal ISDN card"
+
+#: ../help.pm:858
+#, fuzzy, c-format
+msgid "Graphical Interface"
+msgstr "ให้เป็นกราฟฟิคเมื่อเริ่มต้น"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"เลือก harddisk ที่ต้องการลบและลง Mandriva Linux\n"
+"ควรระวังเป็นอย่างมากดพราะว่าข้อมูลทุกอย่างจะถูกลบ\n"
+"และจะไม่สามารถกู้คืนได้"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"กด \"OK\" ถ้าคุณต้องการลบข้อมูลทั้งหมดบน harddisk นี้\n"
+"นี่รวมถึง partitions ทั้งหมดซึ่งรวมถึง Windows ด้วย\n"
+"\n"
+"\n"
+"กด \"ยกเลิก\" เพื่อยกเสิกการทำงานนี้"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Next ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- ก่อน"
+
diff --git a/perl-install/install/help/po/tl.po b/perl-install/install/help/po/tl.po
new file mode 100644
index 000000000..e4a00768a
--- /dev/null
+++ b/perl-install/install/help/po/tl.po
@@ -0,0 +1,2076 @@
+# translation of DrakX-tl.po to Filipino
+# translation of DrakX.po to Filipino
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Arys P. Deloso <arys@deloso.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:35+0200\n"
+"Last-Translator: Arys P. Deloso <arys@deloso.org>\n"
+"Language-Team: Filipino <salinpinoy@comitus.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Bago magpatuloy, kailangang basahin ninyong mabuti ang mga nasasaad sa\n"
+"lisensiya. Tinutukoy nito ang kabuoang distribusyon ng Mandriva Linux. Kung\n"
+"kayo ay sumasang-ayon sa lahat ng nasasaad, i-check ang \"%s\" na box.\n"
+"Kung hindi, i-click ang \"%s\" na button para i-reboot ang inyong computer."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"Ang GNU/Linux ay isang sistema na pangmaramihang gumagamit, na nanganga-\n"
+"hulugang ang bawat gumagamit ay may kani-kaniyang pagtatangi o pagpili,.\n"
+"mga sariling file at iba pa. Maaari ninyong basahin ang ``Starter Guide'' "
+"para\n"
+"mas matutunan ang tungkol sa mga \"multi-user\" sistema. Pero hindi gaya ng\n"
+"\"root\", na siyang tagapamahala ng sistema, ang mga user na inyong idagdag\n"
+"mula sa punto na ito ay hindi pahihintulutan na baguhin ang kahit na ano "
+"maliban\n"
+"na lang sa kanilang sariling mga file at sarili nilang mga configuration, na "
+"nagbi-\n"
+"bigay proteksyon sa sistema laban sa mga hindi-sinasadyang o masamang\n"
+"hangaring pagbabago na makakaapekto sa kabuoang sistema. Nararapat na\n"
+"kayo ay lumalang ng kahit isang regular na user para sa inyong sarili -- ito "
+"ay\n"
+"account na dapat ninyong gamitin para sa pang-araw-araw na gamit. Kahit na\n"
+"napakadaling mag login bilang \"root\" para gawin kahit ano at lahat-lahat, "
+"ito\n"
+"rin ay mapanganib! Ang isang simpleng pagkakamali ay maaaring hindi na\n"
+"magpapatakbo ng inyong sistema. Kung mabigat naman ang inyong pagkaka-\n"
+"mali bilang isang regular na user, ang pinakamalalang mangyayari ay mawa-\n"
+"lan kayo ng ilang inpormasyon, pero hindi maaapektuhan ang buong sistema.\n"
+"\n"
+"Ang unang field ay hihingin ang inyong tunay na pangalan. Siyempre hindi "
+"ito\n"
+"kinakailangan -- maari ninyong ipasok kahit anong gusto ninyo. Gagamitin ng\n"
+"DrakX ang unang salita na ipinasok ninyo sa field na ito at sisipiin ito sa "
+"field\n"
+"na \"%s\", na siyang pangalan na ipapasok ng user na ito sa pag login sa\n"
+"sistema. Kung gusto ninyo, maaari ninyong pawalang-halaga ang default\n"
+"at baguhin ang pangalan ng user. Ang susunod na hakbang ay pagpasok ng\n"
+"password. Sa pananaw ng seguridad, ang password ng \"non-privileged\" \n"
+"(regular) na user ay hindi kasing-halaga ng password ng \"root\", pero "
+"hindi\n"
+"ito dahilan para pabayaan ito at gawing blangko o napakasimple: kung "
+"iisipin\n"
+"ninyo, ang mga file ninyo ang nalalagay sa panganib.\n"
+"\n"
+"Kapag i-click ninyo ang \"%s\", makapagdadagdag kayo ng iba pang mga user.\n"
+"Magdagdag ng user para sa bawat isa ninyong mga kaibigan: halimbawa, sa\n"
+"bahay, tatay o kapatid ninyo; at sa tanggapan (opisina), mga kawani nito.\n"
+"I-click ang \"%s\" kung tapos na kayong magdagdag ng mga user.\n"
+"\n"
+"Ang pagki-click sa \"%s\" na button ay pahihintulutan kayong baguhin ang\n"
+"default na \"shell\" para sa user na iyon (bash ang default).\n"
+"\n"
+"Kung natapos na kayong magdagdag ng mga user, papipiliin kayo kung sinong\n"
+"user ang ila-login kaagad sa sistema kapag nag-boot ang sistema. Kung kayo\n"
+"ay interesado sa katangiang iyon (at walang gaanong pakialam sa local na\n"
+"seguridad), piliin ang napupusuang user at \"window manager\", at "
+"pagkatapos\n"
+"ay i-click ang \"%s\". Kung kayo ay hindi interesado sa katangiang ito, "
+"tanggalin\n"
+"ang check sa \"%s\" na box."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Gusto ninyong gamitin ang katangian na ito?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Nakalista rito ang mga namamalaging partisyon ng Linux na natiktikan sa\n"
+"inyong hard drive. Maaari ninyong itago ang mga pili ng Wizard, dahil sila\n"
+"ay mabuti para sa karamihan ng mga karaniwang \"installation\". Kung kayo\n"
+"ay gagawa ng mga pagbabago, mag-define dapat kayo ng partisyon ng\n"
+"\"root\" (\"/\"). Huwag pumili ng napakaliit na partisyon dahil hindi kayo "
+"maka-\n"
+"pag-i-install ng sapat na software. Kung gusto ninyong itago ang inyong "
+"data\n"
+"sa hiwalay na partisyon, kailangan ninyo ring gumawa ng \"/home\" na "
+"partisyon\n"
+"(maaari lamang kung kayo ay mayroong mahigit sa isang partisyon ng Linux na "
+"available).\n"
+"\n"
+"Bawat partisyon ay nakalista na sumusunod: \"Pangalan\", \"Capacity\".\n"
+"\n"
+"\"Pangalan\" ay naka-structure na: \"uri ng hard drive\", \"bilang ng hard "
+"drive\",\n"
+"\"bilang ng partisyon\" (halimbawa, \"hda1\").\n"
+"\n"
+"\"Uri ng hard drive\" ay \"hd\" kung ang inyong hard drive ay isang IDE na "
+"hard drive\n"
+"at \"sd\" kung ito ay isang SCSI na hard drive.\n"
+"\n"
+"\"Bilang ng hard drive\" ay palaging titik pagkatapos ng \"hd\" o \"sd\". "
+"Para\n"
+"sa mga IDE na hard drive:\n"
+"\n"
+" * \"a\" ay nangangahulugang \"master hard drive sa primary IDE controller"
+"\";\n"
+"\n"
+" * \"b\" ay nangangahulugang \"slave hard drive sa primary IDE controller"
+"\";\n"
+"\n"
+" * \"c\" ay nangangahulugang \"master hard drive sa secondary IDE controller"
+"\";\n"
+"\n"
+" * \"d\" ay nangangahulugang \"slave hard drive sa secondary IDE controller"
+"\".\n"
+"\n"
+"Sa mga SCSI na hard drive, ang \"a\" ay nangangahulugang \"pinakamababang "
+"SCSI ID\",\n"
+"ang \"b\" ay nangangahulugang \"pangalawang pinakamababang SCSI ID\", atbp."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Ang installation ng Mandriva Linux ay nakahati sa ilang mga CD-ROM.\n"
+"Kung ang napiling package ay nakalagay sa ibang CD-ROM, iluluwa ng DrakX\n"
+"ang kasalukuyang CD at ipapasuksok sa inyo ang tamang CD."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Panahon na para piliin kung aling mga program ang nais ninyong i-install sa\n"
+"inyong sistema. Mayroong libo-libong mga package na available para sa\n"
+"Mandriva Linux, at upang mas madali itong pangasiwaan, ang mga package\n"
+"ay inayos sa mga pangkat ng magkakatulad na mga application.\n"
+"\n"
+"Ang mga package ay inayos sa mga pangkat na batay sa paggamit ng\n"
+"inyong makina. Inaayos ng Mandriva Linux ang mga pangkat ng mga\n"
+"package sa apat na kategoriya. Maaari ninyong paghaluhaluin at\n"
+"pagbagaybagayin ang mga application mula sa sari-saring kategoriya,\n"
+"para ang installation na ``Workstation'' ay maaari pa ring maka-install\n"
+"ng mga application mula sa kategoriya ng ``Development''.\n"
+"\n"
+" * \"%s\": kung plano ninyong gamitin ang inyong makina bilang isang\n"
+"workstation, pumili ng isa o mahigit na pangkat na nasa kategoriya ng\n"
+"workstation.\n"
+"\n"
+" * \"%s\": kung plano ninyong gamitin ang inyong makina sa paggawa\n"
+"ng program, pumili ng naaangkop na mga pangkat mula sa kategoriyang\n"
+"iyon.\n"
+"\n"
+" * \"%s\": kung ang makina ninyo ay gagamitin bilang server, piliin kung\n"
+"alin sa mga karaniwang serbisyo (\"common service\") ang nais ninyong\n"
+"i-install sa inyong makina.\n"
+"\n"
+" * \"%s\": dito ninyo pipiliin ang inyong nahihirang na \"graphical "
+"environment\".\n"
+"Dapat ay pumili ng isa kung gusto ninyong magkaroon ng \"graphical interface"
+"\".\n"
+"\n"
+"Ang paglipat ng \"mouse cursor\" sa ibabaw ng pangalan ng isang pangkat ay\n"
+"magpapakita ng maikling paliwanag tungkol sa pangkat na iyon. Kung inyong\n"
+"tatanggalin ang pagkapili sa mga pangkat habang nagsasagawa ng regular na\n"
+"installation (kasalungat ng \"upgrade\"), may dialog na magpa-pop-up na\n"
+"magmumungkahi ng iba-ibang mga option para sa isang maliitang installation:\n"
+"\n"
+" * \"%s\": ay mag-iinstall ng pinakamaliit na bilang ng mga package para "
+"lang\n"
+"maaaring magkaroon ng isang gumaganang \"graphical desktop\".\n"
+"\n"
+" * \"%s\": ay i-install ang pinakabatayang sistema at saka mga "
+"pinakabatayang\n"
+"kagamitan (o \"utilities\") at ang kanilang mga dokumentasyon. Ang "
+"installation\n"
+"na ito ay nababagay para sa pagse-setup ng isang server.\n"
+"\n"
+" * \"%s\": ay mag i-install ng ganap na kaliitang bilang ng mga package na\n"
+"kinakailangan para makakuha ng gumaganang sistema ng Linux. Sa installation\n"
+"na ito kayo ay magkakaroon lamang ng interface na command line (walang\n"
+"graphical interface). Ang kabuuang laki ng installation na ito ay mga 65\n"
+"megabytes.\n"
+"\n"
+"Maaari ninyong suriin ang \"%s\" na box, na kapakipakinabang kung kayo ay\n"
+"nakakakilala sa mga package na inihahandog o gusto ninyong magkaroon ng\n"
+"kabuuang kapangyarihan sa kung ano ang ii-install.\n"
+"\n"
+"Kung sinimulan ninyo ang installation sa \"%s\" na mode, maaari ninyong\n"
+"tanggalin ang pagkapili ng lahat ng mga pangkat para maiwasan na\n"
+"makapag-install ng kahit anong bagong package. Ito ay mapapakinabangan\n"
+"sa pagkukumpuni o pag-a-update ng namamalaging sistema."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Upgrade"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "May basic na dokumentasyon"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Totoong maliitang install"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Kung sinabihan ninyo ang taga-install na gusto ninyong piliin ng isa-isa "
+"ang\n"
+"mga package, ito ay maghaharap ng \"tree\" na naglalaman ng mga\n"
+"package na napagbukod-bukod batay sa pangkat at pangkatan. Habang\n"
+"binabasa ang \"tree\", maaari kayong pumili ng mga buo-buong pangkat,\n"
+"pangkatan o isa-isang package.\n"
+"\n"
+"Tuwing kayo ay pipili ng package sa \"tree\", may paglalarawan na lalabas\n"
+"sa kanan para malaman ninyo ang layunin ng package.\n"
+"\n"
+"!! Kung ang isang package ng server ay napili, dahil kayo ay pumili ng\n"
+"bukod na package o kaya iyon ay bahagi ng isang pangkat ng mga package,\n"
+"kayo ay tatanungin kung gusto ninyo talagang i-install ang mga server na\n"
+"iyon. Bilang default, sisimulan kaagad ng Mandriva Linux pag-boot ang kahit\n"
+"anong na-install na mga service. Kahit na sila ay ligtas at walang kilalang "
+"mga\n"
+"issue nang mailabas ang distribusyon, maaring matuklasan na may butas sa\n"
+"seguridad pagkatapos matapos ang version ng Mandriva Linux na ito. Kung\n"
+"hindi ninyo nalalaman ang ginagawa ng isang service o bakit ito ini-"
+"install,\n"
+"i-click ang \"%s\". Ang pagki-click sa \"%s\" ay mag-i-install ng mga "
+"nakalistang\n"
+"service at sila ay sisimulan kaagad, bilang default, habang nagbo-boot. !!\n"
+"\n"
+"Ang \"%s\" na option ay ginagamit para i-disable ang dialog ng babala na\n"
+"lumalabas tuwing ang taga-install ay kaagad namimili ng package para\n"
+"maresolba ang mga issue ng pagkaka-asa-asa (\"dependency\"). Ilang mga\n"
+"package ay may pagkakaugnayan sa pagitan ng bawat isa nila na kung saan\n"
+"ang pag-i-install ng isa ay nangangailangang na ma-install din ang ilang "
+"ibang\n"
+"program. Kaya ng taga-install na pasyahan kung aling mga package ang\n"
+"kinakailangan para masiyahan ang isang pagkaka-asa-asa upang matagumpay\n"
+"na matapos ang pag-i-install.\n"
+"\n"
+"Ang maliit na icon ng \"floppy disk\" sa ilalim ng listahan ay "
+"pahihintulutan\n"
+"kayong mag-load ng listahan ng package na ginawa noong nakaraang\n"
+"pag-i-install. Ito ay kapakipakinabang kung kayo ay mayroong ilang bilang "
+"ng\n"
+"mga makina na nais ninyong i-configure na magkapareho. Kapag nag-click\n"
+"sa icon na ito, kayo ay sasabihan na magsuksok ng \"floppy disk\" na ginawa\n"
+"noong nakaraang dulo ng pag-i-install. Tingnan ang pangalawang tip ng "
+"huling\n"
+"hakbang kung paano gumawa ng gayong floppy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Automatic dependencies"
+
+#: ../help.pm:186
+#, fuzzy, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": ang pagki-click sa \"%s\" na button ay magbubukas sa \"printer\n"
+"configuration wizard\". Konsultahin ang angkop na kabanata ng ``Starter\n"
+" Guide'' para sa karagdagang inpormasyon sa kung paano mag-setup ng\n"
+"bagong printer. Ang iniharap na interface doon ay katulad ng ginamit noong\n"
+"installation."
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Itong dialog na ito ay ginagamit para piliin kung aling mga serbisyo o\n"
+"\"service\" ang nais ninyong magsimula sa oras ng pag-boot.\n"
+"\n"
+"Ang DrakX ay maglilista ng lahat ng mga service na available sa "
+"kasalukuyang\n"
+"installation. Repasohin ng mabuti at maingat bawat isa at tanggalin ang "
+"check\n"
+"ng mga hindi kinakailangan sa oras ng pag-boot.\n"
+"\n"
+"May maikling paliwanag na ipapakita tungkol sa isang service kung ito ay\n"
+"napili. Ngunit kung kayo ay hindi nakatitiyak kung ang isang service ay\n"
+"may kabuluhan o wala, mas ligtas na pabayaan ang default na ayos.\n"
+"\n"
+"!! Sa stage na ito, magpakaingat kung binabalak ninyong gamitin ang\n"
+"inyong makina bilang isang tagapagsilbi (\"server\"): malamang na hindi\n"
+"ninyo gugustuhin na simulan ang kahit na anong serbisyo (\"service\") na\n"
+"hindi ninyo kinakailangan. Pakitandaan na ilang mga serbisyo ay maaaring\n"
+"maging mapanganib kung sila ay gumagana sa isang \"server\". Sa karaniwan\n"
+"ay piliin lamang ang mga \"service\" na talagang kinakailangan ninyo.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"Ginagamit ng GNU/Linux ang GMT (Greenwich Mean Time) sa pangangasiwa\n"
+"sa oras at isinasalin ito sa local na oras alinsunod sa pinili ninyong "
+"\"time zone\".\n"
+"Kung ang orasan sa inyong \"motherboard\" ay naka-set sa local na oras,\n"
+"maaari ninyong i-deactivate ito sa pamamagitan ng hindi pagpipili ng \"%s"
+"\",\n"
+"na magpapaalam sa GNU/Linux na ang orasan ng sistema at orasan ng\n"
+"hardware ay nasa parehong \"time zone\". Ito ay may kabuluhan kung ang\n"
+"makina ay naglalaman ng isa pang \"operating system\" (OS) gaya ng Windows.\n"
+"\n"
+"Ang \"%s\" na option ay automatic na papangasiwaan ang orasan sa\n"
+"pamamagitan ng pagco-connect sa isang malayong tagapagsilbi na orasan\n"
+"(\"remote time server\") na nasa Internet. Para gumana ang katangiang ito,\n"
+"mayroon dapat kayong gumaganang koneksyon sa Internet. Pinakamabuti\n"
+"na pumili ng isang tagapagsilbi na orasan na malapit sa inyo. Ang option na\n"
+"ito ay talagang mag-i-install ng tagapagsilbi na orasan na magagamit rin ng\n"
+"ibang mga makina sa inyong local network."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Automatic na pagsasabaysabay ng oras"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Graphic Card\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang \"graphic card\" na naka-install sa inyong makina.\n"
+"Kapag hindi ito nangyari, maaari ninyong piliin mula sa listahang ito\n"
+"ang card na talagang naka-install.\n"
+"\n"
+" Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan."
+
+#: ../help.pm:234
+#, fuzzy, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (para sa \"X Window System\") ay ang puso ng \"graphical interface\"\n"
+"ng GNU/Linux na kung saan lahat ng mga \"graphical environment\" (KDE,\n"
+"GNOME, AfterStep, WindowMaker, atbp.) na kasama sa Mandriva Linux ay\n"
+"nakaasa.\n"
+"\n"
+"Ihaharap sa inyo ang isang talaan ng iba-ibang mga parameter na babaguhin\n"
+"para makuha ang pinakamabuting (\"optimal\") graphical display: Graphic "
+"Card\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang \"graphic card\" na naka-install sa inyong makina.\n"
+"Kapag hindi ito nangyari, maaari ninyong piliin mula sa listahang ito\n"
+"ang card na talagang naka-install.\n"
+"\n"
+" Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang monitor na nakakabit sa inyong makina. Kapag hindi\n"
+"ito tama, maaari ninyong piliin mula sa listahang ito ang monitor\n"
+"na talagang nakakabit sa inyong computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Dito maaari ninyong piliin ang mga resolution at bigat ng kulay (\"color\n"
+"depth\") na available para sa inyong hardware. Pumili ng isang pinaka-\n"
+"babagay sa inyong pangangailangan (maaari ninyong baguhin iyon\n"
+"pagkatapos ng pag-i-install). Isang patikim ng piniling configuration ay\n"
+"ipapakita sa larawan ng monitor.\n"
+"\n"
+"\n"
+"\n"
+"Subukan\n"
+"\n"
+" Depende sa inyong hardware, ang \"entry\" na ito ay maaaring hindi "
+"lalabas.\n"
+"\n"
+" ang sistema ay susubukang buksan ang \"graphical screen\" sa hinangad\n"
+"na resolution. Kung nakikita ninyo ang mensahe sa panahon ng pagsubok\n"
+"at sumagot ng \"%s\", ang DrakX ay magpapatuloy sa kasunod na hakbang.\n"
+"Kung hindi ninyo makita ang mensahe, nangangahulugan ito na ilang bahagi\n"
+"ng configuration ng automatic na pagtitiktik ay mali at ang pagsubok ay\n"
+"automatic na magtatapos pagkalipas ng 12 segundo, at dadalhin kayo\n"
+"pabalik sa menu. Baguhin ang mga setting hanggang makuha ninyo ang\n"
+"tamang \"graphical display\".\n"
+"\n"
+"\n"
+"\n"
+"Mga option\n"
+"\n"
+" Dito ay makapipili kayo kung gusto ninyo na automatic na gamitin ng\n"
+"inyong makina ang \"graphical display\" pagka-boot. Halatang nais ninyong\n"
+"subukan ang \"%s\" kung ang inyong makina ay gaganap na tagapagsilbi,\n"
+"o kayo ay hindi nagtagumpay sa pag-configure ng display. "
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Karaniwan ay kaya ng taga-install na tiktikan ng automatic at\n"
+"i-configure ang monitor na nakakabit sa inyong makina. Kapag hindi\n"
+"ito tama, maaari ninyong piliin mula sa listahang ito ang monitor\n"
+"na talagang nakakabit sa inyong computer."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Resolution\n"
+"\n"
+" Dito maaari ninyong piliin ang mga resolution at bigat ng kulay (\"color\n"
+"depth\") na available para sa inyong hardware. Pumili ng isang pinaka-\n"
+"babagay sa inyong pangangailangan (maaari ninyong baguhin iyon\n"
+"pagkatapos ng pag-i-install). Isang patikim ng piniling configuration ay\n"
+"ipapakita sa larawan ng monitor."
+
+#: ../help.pm:306
+#, fuzzy, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Sa kalagayang maraming iba-ibang tagapagsilbi (\"server\") ang\n"
+"available para sa inyong card, mayroon o walang suporta sa 3D\n"
+"acceleration, kayo ay papipiliin ng tagapagsilbi na pinakababagay\n"
+"sa inyong pangangailangan."
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Mga option\n"
+"\n"
+" Dito ay makapipili kayo kung gusto ninyo na automatic na gamitin ng\n"
+"inyong makina ang \"graphical display\" pagka-boot. Halatang nais ninyong\n"
+"subukan ang \"%s\" kung ang inyong makina ay gaganap na tagapagsilbi,\n"
+"o kayo ay hindi nagtagumpay sa pag-configure ng display. "
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Sa puntong ito, kailangan ninyong magpasya kung saan ninyo nais i-install\n"
+"ang Mandriva Linux na \"operating system\" (OS) sa inyong \"hard drive\".\n"
+"Kung ang inyong \"hard drive\" ay walang laman o kung may namamalaging\n"
+"\"operating system\" na gumagamit sa lahat ng available na puwang,\n"
+"kakailanganin ninyong ipartisyon ang drive. Ang pagpapartisyon ng isang\n"
+"\"hard drive\" ay ginagawa sa pamamagitan ng paghahati-hati nito sa\n"
+"kaisipan (\"logical\") upang makagawa ng puwang na kinakailangan para\n"
+"ma-install ang inyong bagong sistema ng Mandriva Linux.\n"
+"\n"
+"Dahil kadalasan na hindi na mababawi ang paraan ng pagpapartisyon ng\n"
+"hard drive at maaaring magdulot ng pagkawala ng data kung mayroon\n"
+"nang \"operating system\" na naka-install sa drive, ang pagpapartisyon ay\n"
+"ay maaaring maging nakakatakot at nakaka-stress kung kayo ay baguhang\n"
+"user.Sa kagandahang palad, ang DrakX ay may kalakip na \"wizard\" na\n"
+"magpapadali ng paraan na ito. Bago magpatuloy sa hakbang na ito,\n"
+"basahin muna ang mga nalalabing bahagi ng section na ito at higit sa\n"
+"lahat, huwag magmadali.\n"
+"\n"
+"Depende sa confiugration ng inyong hard drive, mayroong ilang mga option:\n"
+"\n"
+" * \"%s\": ang option na ito ay magsasagawa ng automatic na pagpapartisyon\n"
+"ng inyong walang lamang hard drive. Kung gagamitin ninyon ang option na ito\n"
+"hindi na magkakaroon ng iba pang mga \"prompt\".\n"
+"\n"
+" * \"%s\": natiktikan ng wizard na mayroong isa o mahigit na namamalaging\n"
+"partisyon ng Linux sa inyong \"hard drive\". Kung gusto ninyong gamitin "
+"sila,\n"
+"piliin ang option na ito. Pagkatapos kayo ay papipiliin ng mga \"mount point"
+"\"\n"
+"para sa bawat isang partisyon. Ang mga pamanang \"mount point\" ay pinili\n"
+"na bilang default, at para sa karamihang bahagi isang magandang pagkukuro\n"
+"kung gagamitin sila.\n"
+"\n"
+" * \"%s\": kung ang Microsoft Windows ay naka-install sa inyong hard drive "
+"at\n"
+"ginagamit nito lahat ng mayroong puwang dito, kakailanganin ninyong\n"
+"gumawa ng libreng puwang para sa GNU/Linux. Para gawin ito, maaari ninyong\n"
+"tanggalin ang inyong partisyon ng Microsoft Windows at data (tingnan ang\n"
+"paglutas na ``Burahin ang buong disk'') o i-resize ang inyong partisyon ng\n"
+"Microsoft Windows na FAT o NTFS. Ang pagre-resize ay maaaring isagawa na\n"
+"walang mawawalang data, kung dati na ninyong na-defragment ang partisyon\n"
+"ng Windows. Matinding itinatagubilin na i-backup ang inyong data. Ang\n"
+"paggamit sa option na ito ay ipinapayo kung nais ninyong gamitin pareho ang\n"
+"Mandriva Linux at Microsoft Windows sa iisang computer.\n"
+"\n"
+" Bago piliin ang option na ito, pakiunawa na pagkatapos ng paraang ito,\n"
+"ang laki ng partisyon ng inyong Microsoft Windows ay magiging mas\n"
+"maliit kaysa nang kayo ay nagsimula. Magkakaroon kayo ng mas\n"
+"kaunting libreng puwang sa ilalim ng Microsoft Windows para iimbak ang\n"
+"inyong data o mag-install ng bagong software.\n"
+"\n"
+" * \"%s\": kung gusto ninyong tanggalin lahat ng data at mga partisyon\n"
+"na mayroon sa inyong hard drive at palitan sila ng inyong bagong sistema\n"
+"ng Mandriva Linux, piliin ang option na ito. Maging maingat, dahil hindi na\n"
+"ninyo maaaring bawiin ang inyong pili matapos ninyong patotohanan ito.\n"
+"\n"
+" !! kung pipiliin ninyo ang option na ito, lahat ng data sa inyong disk "
+"ay\n"
+"matatanggal. !!\n"
+"\n"
+" * \"%s\": buburahin nito lahat ng nasa inyong drive at mag-umpisa ng\n"
+"sariwa, pinapartisyon lahat mula sa simula. Lahat ng data sa inyong disk\n"
+"ay mawawala.\n"
+"\n"
+" !! kung pipiliin ninyo ang option na ito, lahat ng data sa inyong disk "
+"ay\n"
+"mawawala. !!\n"
+"\n"
+" * \"%s\": piliin ang option na ito kung nais ninyong mano-manong "
+"ipartisyon\n"
+"ang inyong hard drive. Maging maingat -- ito ay makapangyarihan ngunit\n"
+"mapanganib na pili at maaaring madali ninyong mawala ang lahat ng\n"
+"inyong data. Ito ang dahilan kung bakit ipinapayo lamang ang option na ito\n"
+"kung kayo ay nakagawa na dati ng ganito at mayroong karanasan. Para sa\n"
+"karagdagang pagtuturo kung paano gamitin ang kagamitang DiskDrake,\n"
+"sumangguni sa section ng ``Managing Your Partitions'' (Pangangasiwa ng\n"
+"inyong mga Partisyon) sa ``Starter Guide'' (Patnubay sa Nagsisimula)."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Gamitin ang namamalaging partisyon"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Burahin ang buong disk"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Nandiyan na kayo. Tapos na ang pag-i-install at maaari nang gamitin ang\n"
+"inyong sistema ng GNU/Linux. I-click lang ang \"%s\" para i-reboot ang\n"
+"sistema. Huwag kalimutang alisin ang pang-install na media (CD-ROM\n"
+"o floppy). Ang unang bagay na dapat ninyong makita pagkatapos gawin ng\n"
+"inyong computer ang mga pagsubok sa hardware ay ang bootloader na menu,\n"
+"na papipiliin kayo kung aling \"operating system\" ang sisimulan.\n"
+"\n"
+"Ang \"%s\" na button ay nagpapakita ng dalawa pang button para:\n"
+"\n"
+" * \"%s\": para gumawa ng pang-install na \"floppy disk\" na automatic na\n"
+"magsasagawa ng kabuuang pag-i-install na walang tulong ng isang\n"
+"tagpagpalakad, kamukha ng pag-i-install na kako-configure ninyo.\n"
+"\n"
+" Tandaan na mayroong dalawang magkaibang option pagkatapos i-click\n"
+"ang button:\n"
+"\n"
+" * \"%s\". Ito ay halos automatic na pag-i-install. Ang pagpapartisyon\n"
+"na hakbang lamang ang siyang paraan na mapapakialaman.\n"
+"\n"
+" * \"%s\". Talagang automatic na pag-i-install : ang kabuuang hard disk\n"
+"ay susulatan muli, lahat ng data ay mawawala.\n"
+"\n"
+" Ang katangiang ito ay magagamit kung nag-i-install ng ilang bilang ng\n"
+"mga magkakahawig na makina.\n"
+" Tingnan ang section ng \"Auto install\"\n"
+"sa aming \"web site\" para sa karagdagang inpormasyon.\n"
+"\n"
+" * \"%s\": magse-save ng talaan ng mga package na pinili sa pag-i-install\n"
+"na ito. Para gamitin ang pagpili na ito sa iba pang pag-i-install, isuksok "
+"ang\n"
+"ang floppy at simulan ang pag-i-install. Sa \"prompt\", pindutin ang [F1] "
+"key\n"
+"at i-type >> linux defcfg=\"floppy\" <<."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Lumikha ng auto-install na floppy"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Kailangang i-format ang kahit anong partisyon na bagong gawa para ito\n"
+"magamit (ang ibig sabihin ng pagfo-format ay paglilikha ng \"file system"
+"\").\n"
+"\n"
+"Sa ngayon, maaari ninyong naisin na i-format muli ang ilang mga mayroon\n"
+"nang partisyon para burahin ang nilalamang data nila. Kung nanaisin ninyong\n"
+"gawin iyon, pakipili rin ang mga partisyon na iyon.\n"
+"\n"
+"Pakitandaan na hindi kinakailangang i-format muli ang lahat ng dati nang\n"
+"mayroon ng mga partisyon. Kailangan ninyong i-format ulit ang mga\n"
+"partisyon na naglalaman ng \"operating system\" (gaya ng \"/\", \"/usr\" o\n"
+"\"/var\") pero hindi ninyo kailangang i-format muli ang mga partisyon na\n"
+"naglalaman ng data na nais ninyong itago (karaniwan ay \"/home\").\n"
+"\n"
+"Pakiingatan ang pagpipili ng mga partisyon. Pagkatapos ng pagfo-format,\n"
+"lahat ng data sa mga napiling partisyon ay buburahin at hindi na ninyo\n"
+"mababawi ito.\n"
+"\n"
+"I-click ang \"%s\" kung handa na kayong i-format ang mga partisyon.\n"
+"\n"
+"I-click ang \"%s\" kung gusto ninyong pumili ng ibang partisyon para sa\n"
+"inyong pag-i-install ng bagong Mandriva Linux na \"operating system\".\n"
+"\n"
+"I-click ang \"%s\" kung nais ninyong piliin ang mga partisyon na susuriin\n"
+"para sa mga \"bad blocks\" (mga sirang bloke) sa disk."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Pagdating ng panahon na kayo ay nag-i-install ng Mandriva Linux, mas\n"
+"malamang na ilang mga package ay nabago na simula nang naunang\n"
+"paglabas. Maaaring inayos ang mga sira (\"bug\"), naresolba ang mga tanong\n"
+"sa sequridad. Para pakinabangan ang mga update (pagbabago) na ito ,\n"
+"maaari na ninyo ngayong i-download ito mula sa Internet. Suriin ang \"%s\"\n"
+"kung kayo ay may gumaganang koneksyon sa Internet, o \"%s\" kung mas\n"
+"nais ninyong i-install mamaya ang mga nabagong (\"update\") package.\n"
+"\n"
+"Ang pagpipili ng \"%s\" ay magpapakita ng talaan ng mga lugar kung saan\n"
+"ninyo maaaring makuha ang mga nabagong package. Pumili kayo dapat ng\n"
+"isa na malapit sa inyo. Lalabas ang isang tree ng mga napiling package:\n"
+"repasohin ang mga pagpili, at pindutin ang \"%s\" para kunin at i-install "
+"ang mga\n"
+"napiling package, o ang \"%s\" para hindi tumuloy."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Sa puntong ito, kayo ay papipiliin ng DrakX ng level ng seguridad o\n"
+"\"security level\" na hangarin ninyo para sa makinang ito. Ang level\n"
+"ng seguridad ay dapat na mas mataas kung ang makina ay maglalaman\n"
+"ng mga napakamahalagang data, o ito ay makinang itatapat sa Internet.\n"
+"Kung mas mataas ang seguridad, mas mahirap itong gamitin.\n"
+"\n"
+"Kung hindi ninyo alam ang pipiliin, manatili sa default na option. Maaari\n"
+"ninyong baguhin ang level ng seguridad mamaya gamit ang draksec\n"
+"na kasangkapan mula sa Mandriva Control Center.\n"
+"\n"
+"Ang \"%s\" na field ay magbibigay kaalaman sa sistema kung sinong \"user\"\n"
+"o gumagamit ng computer na ito ang siyang mananagot para sa seguridad.\n"
+"Ang mga mensaheng pangseguridad ay ipadadala sa \"address\" na iyon."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Tagapamala ng Seguridad"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Sa puntong ito, kailangan ninyong piliin kung aling mga partisyon ang\n"
+"gagamitin para sa pag-i-install ng sistema na Mandriva Linux. Kung ang\n"
+"mga partisyon ay nai-define na, mula sa dating pag-i-install ng GNU/Linux\n"
+"o ng ibang kasangkapang pangpartisyon, maaari ninyong gamiting ang\n"
+"mga mayroon nang partisyon. Kung hindi, dapat mag-define ng mga\n"
+"partisyon ng hard drive.\n"
+"\n"
+"Upang makalikha ng mga partisyon, dapat pumili muna kayo ng hard drive.\n"
+"Maaari ninyong piliin ang disk para sa pagpapartisyon sa pamamagitan ng\n"
+"pagki-click sa ``hda'' para sa unang IDE na drive, ``hdb'' para sa "
+"pangalawa,\n"
+"``sda'' para sa unang SCSI na drive at ganon.\n"
+"\n"
+"Para ipartisyon ang napiling hard drive, maaari ninyong gamitin ang mga\n"
+"option na ito:\n"
+"\n"
+" * \"%s\": ang option na ito ay magtatanggal ng lahat ng partisyon sa\n"
+"napiling hard drive\n"
+"\n"
+" * \"%s\": ang option na ito ay hahayaan kayo na automatic na lumikha\n"
+"ng ext3 at swap na partisyon sa libreng puwang ng inyong hard drive\n"
+"\n"
+"\"%s\": magbibigay daan sa karagdang mga katangian (\"feature\"):\n"
+"\n"
+" * \"%s\": ise-save ang \"partition table\" sa floppy. Magagamit para sa\n"
+"mamayang pagbawi ng \"partition table\" kung kinakailangan. Matinding\n"
+"itinatagubilin na gawin ninyo ang hakbang na ito.\n"
+"\n"
+" * \"%s\": hahayaan kayong isauli ang dati nang na-save na \"partition\n"
+"table\" mula sa floppy disk.\n"
+"\n"
+" * \"%s\": kung ang inyong partition table ay napinsala , maaari ninyong\n"
+"subukang bawiin iyon gamit ang option na ito.Maging maingat at tandaan\n"
+"na hindi iyon parating gumagana.\n"
+"\n"
+" * \"%s\": babalewalain lahat ng mga pagbabago at kukunin muli ang\n"
+"partition table na nasa hard drive noong una pa.\n"
+"\n"
+" * \"%s\": ang pagtatanggal ng check sa option na ito ay magpipilit sa mga\n"
+"gumagamit na mano-manong i-mount at i-unmount ang \"removable media\"\n"
+"gaya ng mga floppy at CD-ROM.\n"
+"\n"
+" * \"%s\": gamitin ang option na ito kung nais ninyong gumamit ng wizard "
+"para\n"
+"i-partisyon ang inyong hard drive. Ito ay nirerekomenda kung kayo ay walang\n"
+"mabuting kaalaman sa pagpapartisyon.\n"
+"\n"
+" * \"%s\": gamitin ang option na ito para bawiin ang mga pagbabago.\n"
+"\n"
+" * \"%s\": magpapahintulot ng karagdagang magagawa sa mga partisyon (uri,\n"
+", mga option, format) at magbibigay ng mas maraming inpormasyon tungkol\n"
+"sa hard drive.\n"
+"\n"
+" * \"%s\": kung kayo ay tapos na sa pagpapartisyon ng inyong hard drive, "
+"ito\n"
+"ay magse-save ng inyong mga pagbabago pabalik sa disk.\n"
+"\n"
+"Kung inaalam ang laki ng partisyon, maaari ninyong i-set ng mabuti ang laki\n"
+"ng partisyon sa pamamagitan ng paggamit ng mga Arrow key ng inyong\n"
+"keyboard.\n"
+"\n"
+"Tandaan: maaari ninyon maabot ang kahit anong option gamit ang keyboard.\n"
+"Lakbayin ang mga partisyon gamit ang [Tab] at ang mga [Up/Down] arrow.\n"
+"\n"
+"Kung may partisyon na nakapili, maaari ninyong gamitin ang:\n"
+"\n"
+" * Ctrl-c para lumikha ng bagong partisyon (kung walang laman ang partisyon "
+"na napili)\n"
+"\n"
+" * Ctrl-d para tanggalin ang partisyon\n"
+"\n"
+" * Ctrl-m para i-set kung saan ilalagay (\"mount point\")\n"
+"\n"
+"Para makakuha ng inpormasyon tungkol sa mga iba't-ibang uri ng \"file system"
+"\",\n"
+"pakibasa ang kabanata ng ext2FS mula sa ``Reference Manual''.\n"
+"\n"
+"Kung kayo ay nag-i-install sa makina ng PPC, gugustuhin ninyong lumikha ng\n"
+"maliit na partisyon na HFS ``bootstrap'' na may laking hindi liliit sa 1MB "
+"na\n"
+"gagamitin ng yaboot bootloader. Kung pipiliin ninyong mas malaki ang\n"
+"partisyon, mga 50MB, makikita ninyong ito ay kapakipakinabang na lugar\n"
+"sa pag-iimbak ng mga reserbang kernel at mga \"ramdisk image\" para sa\n"
+"panahon ng mahigpit na pangangailangan."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Ino-auto-mount ang removable media"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Lipat sa normal o bihasang mode"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Mahigit sa isang partisyon ng Microsoft ang natiktikan sa inyong hard "
+"drive.\n"
+"Pakipili kung alin ang gusto ninyong i-resize para ma-install ang inyong\n"
+"bagong \"operating sytem\" na Mandriva Linux.\n"
+"\n"
+"Bawat partition ay nakalista ng ganito: \"Pangalan ng Linux\",\n"
+"\"Pangalan ng Windows\", \"Capacity\".\n"
+"\n"
+"\"Pangalan ng Linux name\" ay may istruktura na: \"uri ng hard drive\",\n"
+"\"bilang ng hard drive\",\"bilang ng partisyon\" (halimbawa, \"hda1\").\n"
+"\n"
+"\"Uri ng hard drive\" ay \"hd\" kung ang inyong hard dive ay isang IDE\n"
+"na hard drive at \"sd\" kung iyon ay isang SCSI na hard drive.\n"
+"\n"
+"\"Bilang ng hard drive\" ay palaging titik pagkatapos ng \"hd\" o \"sd\". "
+"Para\n"
+"sa mga IDE na hard drive:\n"
+"\n"
+" * \"a\" ay nangangahulugang \"master hard drive sa primary IDE controller"
+"\";\n"
+"\n"
+" * \"b\" ay nangangahulugang \"slave hard drive sa primary IDE controller"
+"\";\n"
+"\n"
+" * \"c\" ay nangangahulugang \"master hard drive sa secondary IDE controller"
+"\";\n"
+"\n"
+" * \"d\" ay nangangahulugang \"slave hard drive sa secondary IDE controller"
+"\".\n"
+"\n"
+"Sa mga SCSI na hard drive, ang \"a\" ay nangangahulugang \"pinakamababang "
+"SCSI ID\",\n"
+"ang \"b\" ay nangangahulugang \"pangalawang pinakamababang SCSI ID\", atbp.\n"
+"\n"
+"\"Pangalan ng Windows\" ay ang titik ng inyong hard drive sa ilalim ng "
+"Windows\n"
+"(ang unang disk o partisyon ay tinatawag na \"C:\")."
+
+#: ../help.pm:567
+#, fuzzy, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": i-check ang kasalukuyang pagpili ng bansa. Kung kayo ay wala sa\n"
+"bansang ito, i-click ang \"%s\" na button at pumili ng iba. Kung ang inyong\n"
+"bansa ay wala sa unang talaan na ipinakita, i-click ang \"%s\" na button\n"
+"para makuha ang buong talaan ng mga bansa."
+
+#: ../help.pm:572
+#, fuzzy, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ang hakbang na ito pagaganahin lamang kung mayroong nakitang\n"
+"partisyon ng GNU/Linux sa inyong makina.\n"
+"\n"
+"Kailangang malaman ngayon ng DrakX kung gusto ninyong magsagawa\n"
+"ng bagong install o upgrade ng namamalaging Mandriva Linux na sistema:\n"
+"\n"
+" * \"%s\": Para sa karamihang bahagi, ganap na binubura nito ang lumang\n"
+"sistema. Kung nais ninyong baguhin kung paano ang pagpartisyon sa inyong\n"
+"hard drive, o baguhin ang file system, dapat ninyong gamitin ang option na\n"
+"ito. Subalit, depende sa inyong pakana ng pagpapartisyon, maaari ninyong\n"
+"pigilang masulatan ang ilan sa inyong mga namamalaging data.\n"
+"\n"
+" * \"%s\": ang klase ng pag-i-install na ito ay pahihintulutan kayong i-"
+"update\n"
+"ang mga package na kasalukuyang naka-install sa inyong sistema ng\n"
+"Mandriva Linux. Ang inyong kasalukuyang pakana ng pagpapartisyon at\n"
+"data ng gumagamit ay hindi nabago. Karamihan ng ibang mga hakbang sa\n"
+"pagko-configure ay mayroon pa rin, katulad ng standard na pag-i-install.\n"
+"\n"
+"Ang paggamit sa ``Upgrade'' na option ay gagana ng mabuti sa mga sistema\n"
+"ng Mandriva Linux na nagpapatakbo ng version \"8.1\" o pataas. Ang\n"
+"pagsasagawa ng upgrade sa mga version bago ng Mandriva Linux \"8.1\" ay\n"
+"hindi ipinapayo."
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Depende sa wika na pinili ninyo sa section, pipiliin kaagad ng DrakX ang\n"
+"isang tanging uri ng configuration ng keyboard. Suriin na ang pagpili ay\n"
+"nababagay sa inyo o pumili ng ibang keyboard layout.\n"
+"\n"
+"Maaari rin kayong magkaroon ng keyboard na hindi tumutugma sa\n"
+"inyong wika: halimbawa, kung kayo ay Swiss native na nagsasalita ng\n"
+"English, maaari kayong magkaroon ng Swiss na keyboard. O kung kayo\n"
+"ay nagsasalita ng English at kayo ay nasa Quebec, maaari ninyong makita\n"
+"ang inyong sarili sa kalagayan na hindi magkatugma ang inyong native na\n"
+"wika at naka-country-set na keyboard. Kahit aling kaso, ang pag-i-install\n"
+"na hakbang na ito ay hahayaan kayong pumili ng angkop na keyboard\n"
+"mula sa talaan.\n"
+"\n"
+"Iclick ang \"%s\" na button para harapan kayo ng kumpletong talaan ng\n"
+"mga suportadong keyboard.\n"
+"\n"
+"Kung kayo ay pipili ng keyboard layout na batay sa alfabetong hindi Latin,\n"
+"ang kasunod na dialog ay pahihintulutan kayong pumili ng \"key binding\"\n"
+"(pagkadikit sa key) na maglilipat sa keyboard sa pagitan ng Latin at ng\n"
+"hindi Latin na layout."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Ang inyong pili ng hinirang na wika ay makakaapekto sa wika ng mga\n"
+"dokumentasyon, sa taga-install at, sa karaniwan, sa sistema. Piliin muna\n"
+"ang rehiyon kung nasaan kayo, at pagkatapos ang wika ninyo.\n"
+"\n"
+"Ang pagki-click sa \"%s\" na button ay hahayaan kayong pumili ng iba pang\n"
+"mga wika na ii-install sa inyong workstation, at mag-i-install ng mga file "
+"para\n"
+"sa dokumentasyon ng sistema at mga application, na angkop sa wikang\n"
+"napili. Halimbawa, kung kayo ay magho-host ng mga user o gumagamit\n"
+"mula sa Spain sa inyong makina, piliin ang English bilang default na wika "
+"sa\n"
+"\"tree view\" at \"%s\" sa \"Advanced section\".\n"
+"\n"
+"Tungkol sa suporta sa UTF-8 (unicode): Ang Unicode ay isang bagong\n"
+"\"character encoding\" na nagnanais masakop ang lahat ng namamalaging\n"
+"wika. Ang buong suporta dita ng GNU/Linux ay ginagawa pa rin. Sa dahilang\n"
+"ito, gagamitin ito o hindi ng Mandriva Linux depende sa mga pili ng mga\n"
+"gumagamit:\n"
+"\n"
+" * Kung kayo ay pipili ng wika na may malakas na \"legacy encoding"
+"\" (latin1\n"
+"na mga wika, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish,\n"
+"karamihan ng mga wikang iso-8859-2), ang \"legacy encoding\" ay\n"
+"gagamitin bilang default;\n"
+"\n"
+" * Ang iba pang mga wika ay gagamitin ang unicode bilang default;\n"
+"\n"
+" * Kung mangangailangan ng dalawa o mahigit na mga wika, at iyong mga\n"
+"wika ay hindi gumagamit ng parehong \"encoding\", unicode ang gagamitin\n"
+"ng buong sistema;\n"
+"\n"
+" * Sa wakas, ang unicode ay maaaring ipilit para sa sistema sa hiling ng\n"
+"gumagamit (\"user\") sa pamamagitan ng pagpili sa option na \"%s\"\n"
+"na hiwalay o hindi umaasa sa kung aling mga wika ang mga napili.\n"
+"\n"
+"Tandaan na kayo ay makakapili ng hindi lamang isang karagdagang wika.\n"
+"Maaari kayong pumili ng ilan o kaya i-install silang lahat sa pamamagitan "
+"ng\n"
+"pagpipili sa \"%s\" na box. Ang pagpipili ng suporta sa isang wika ay\n"
+"nangangahulugang ii-install rin ang mga pagsasalin, font, pangsuri ng "
+"spelling,\n"
+"atbp. para sa wikang iyon.\n"
+"\n"
+"Para lumipat sa mga sari-saring wika na naka-install sa inyong sistema,\n"
+"maaari ninyong i-launch ang command na \"/usr/sbin/localedrake\" bilang\n"
+"\"root\" para baguhin ang wika na gamit ng buong sistema. Kapag pinatakbo\n"
+"ang command o utos bilang isang regular na user o gumagamit, mababago\n"
+"lamang ang mga setting ng wika para sa gumagamit na iyon."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Espanol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Sa pangkaraniwan, ang DrakX ay hindi magkakaproblema sa pagtitiktik\n"
+"ng dami ng button ng inyong mouse. Kung hindi, iipagpalagay nito na kayo\n"
+"ay mayroong \"two-button\" (dalawang pindutan) na mouse at ico-configure\n"
+"ito para tumulad sa mouse na may pangatlong pindutan. Ang pangatlong\n"
+"pindutan ng mouse na may dalawang pindutan lamang ay mapipindot sa\n"
+"pamamagitan ng sabay na pagpindot sa kaliwa at kanang pindutan ng mouse.\n"
+"Automatic na malalaman ng DrakX kung ang mouse ninyo ay gumagamit ng\n"
+"PS/2, serial o USB na \"interface\".\n"
+"\n"
+"Kung kayo ay mayroong mouse na may tatlong pindutan at walang \"wheel\"\n"
+"o gulong, maaari ninyong piliin ang mouse na nagsasabing \"%s\". Pagkatapos\n"
+"ay ico-configure ng DrakX ang inyong mouse para magkunwari na may gulong\n"
+"ito: para gawin ito, pindutin ang gitnang pindutan at igalaw ang inyong "
+"mouse\n"
+"na pataas at pababa.\n"
+"\n"
+"Kung sa anumang dahilan, naisin ninyong magbanggit ng ibang uri ng mouse,\n"
+"piliin ito mula sa talaan na ibinigay.\n"
+"\n"
+"Kung kayo ay pipili ng mouse maliban sa default, may \"test screen\" na "
+"lalabas\n"
+"para masubukan ninyo ang inyong mouse. Gamitin ang mga pindutan at \"wheel"
+"\"\n"
+"para patotohanan na ang mga \"setting\" ay tama at ang inyong mouse ay\n"
+"gumagana ng tama. Kung ang mouse ay hindi gumana ng mabuti, pindutin\n"
+"ang \"space bar\" o [Return] key para i-cancel ang test at bumalik sa "
+"talaan\n"
+"ng mga pagpipilian.\n"
+"\n"
+"Ang mga mouse na may \"wheel\" o gulong ay karaniwang hindi natitiktikan ng\n"
+"automatic, kung kaya kailangan ninyong piliin ang inyong mouse mula sa "
+"talaan.\n"
+"Tiyakin na piliin ang isa na nababagay sa \"port\" kung saan nakakabit ang\n"
+"inyong mouse. Matapos makapili ng mouse at pindutin ang \"%s\" na pindutan,\n"
+"may lalabas na larawang-diwa ng mouse sa screen. I-scroll ang gulong ng\n"
+"mouse para matiyak na ito ay napagana ng tama. Kapag nakita na ninyong\n"
+"gumagalaw ang gulong ng mouse sa screen habang ini-scroll ninyo ang gulong\n"
+"ng inyong mouse,subukan ninyo ang mga pindutan at suriin kung ang pointer "
+"ng\n"
+"mouse sa screen ay gumagalaw habang ginagalaw ninyo ang inyong mouse."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "may Wheel emulation"
+
+#: ../help.pm:684
+#, fuzzy, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Kahit anong PS/2 & USB mouse"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Pakipili ang tamang port. Halimbawa, ang \"COM1\" port sa Windows\n"
+"ay may pangalang \"ttyS0\" sa ilalim ng GNU/Linux."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Ito ang pinakamahalagang punto ng desisyon para sa seguridad ng inyong\n"
+"GNU/Linux na sistema: dapat ninyong ipasok ang password ng \"root\". Ang\n"
+"\"root\" ay siyang tagapamahala ng sistema at siya lamang ang \"user\" o\n"
+"gumagamit na may pahintulot na mag-update, magdagdag ng mga user,\n"
+"baguhin ang kabuuang configuration ng sistema, atbp. Sa maikling salita,\n"
+"ang \"root\" ay may kakayahang gawin ang kahit na anong bagay! Ito ang\n"
+"dahilan kung bakit dapat kayong pumili ng password na mahirap mahulaan -\n"
+"sasabihan kayo ng DrakX kung ang password na pinili ninyo ay masyadong\n"
+"madali. Kung inyong mapapansin, hindi kayo pinipilit na magpasok ng "
+"password,\n"
+"pero matindi namin kayong pinapayuhan laban dito. Ang GNU/Linux na sistema\n"
+"ay makiling sa mga pagkakamali ng tagapagpalakad gaya ng lahat ng ibang\n"
+"\"operating system\". Dahil ang \"root\" ay may kakayahang daigin ang lahat\n"
+"ng mga hanggahan at hindi sinasadyang burahin lahat ng data sa mga\n"
+"partisyon dahil na rin sa walang ingat na pag-access sa mga partisyon,\n"
+"napakaimportante na mahirap maging \"root\".\n"
+"\n"
+"Ang password ay dapat halo ng mga alphanumeric character at hindi iikli sa "
+"8\n"
+"character ang haba. Huwag na huwag isusulat ang password ng \"root\" --\n"
+"mas higit na mapapadaling madala ang sistema sa panganib.\n"
+"\n"
+"Isang babala -- huwag gawing napahaba o napakahirap ng password dahil\n"
+"dapat ay maaalala ninyo ito!\n"
+"\n"
+"Ang password ay hindi ipapakita sa screen habang itina-type ninyo ito. Para\n"
+"mabawasan ang pagkakamali sa pag-type ng hindi nakikita kakailanganin\n"
+"ninyong i-type ng dalawang beses ito. Kung naulit ninyo ang maling pag-type\n"
+"ng dalawang beses, itong maling password na ito ang siyang gagamitin.\n"
+"\n"
+"Kung nais ninyo na ang pagpasok sa computer na ito ay kontrolin ng isang\n"
+"\"authentication server\", i-click ang \"%s\" na pindutan.\n"
+"\n"
+"Kung ang network ninyo ay gumagamit ng LDAP, NIS, o PDC \"Windows Domain\n"
+"authentication service\", piliin ang naaangkop para sa \"%s\". Kung hindi "
+"ninyo\n"
+"alam kung alin ang gagamitin, dapat kayong magtanong sa inyong\n"
+"tagapamahala ng network (\"network administrator\").\n"
+"\n"
+"Kung kayo ay nagkakaproblema sa pagtanda ng mga password, kung ang inyong\n"
+"computer ay hindi kakabit sa Internet at kayo ay lubos na nagtitiwala sa "
+"lahat\n"
+"ng gumagamit ng inyong computer, maaari ninyong piliin na magkaroon ng\n"
+"\"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "authentication"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ang LILO at GRUB ay mga bootloader ng GNU/Linux. Pangkaraniwan, ang\n"
+"stage na ito ay ganap na automatic. Susuriing mabuti ng DrakX ang\n"
+"\"boot sector\" ng disk at gagalaw ng angkop sa kung ano ang makita\n"
+"nito doon:\n"
+"\n"
+" * kung may nakitang boot sector ng Windows, ay papalitan ito ng\n"
+"GRUB/LILO na boot sector. Sa ganitong paraan ay maaari ninyong i-load\n"
+"ang GNU/Linux o ano pang ibang OS na naka-install sa inyong makina.\n"
+"\n"
+" * kung may nakitang GRUB o LILO na boot sector, papalitan ito ng bago.\n"
+"\n"
+"Kung hindi ito mapasyahan, tatanungin kayo ng DrakX kung saan ilalagay\n"
+"ang bootloader. Pangakaraniwan, ang \"%s\" ang pinakaligtas na lugar.\n"
+"Ang pagpipili sa \"%s\" ay hindi mag-i-install ng kahit anong bootloader.\n"
+"Gamitin lamang ito kung alam ninyo ang inyong ginagawa."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Panahon na upang pumili ng sistema ng pagpi-print para sa inyong computer.\n"
+"Ang ibang mga \"operating system\" (OS) ay mag-aalok lamang ng isa, pero\n"
+"ang Mandriva Linux ay nag-aalok ng dalawa. Bawat isa sa dalawang sistema\n"
+"ng pagpi-print na ito ay nababagay sa natatanging uri ng configuration.\n"
+"\n"
+" * \"%s\" -- na acronym para sa ``print, do not queue'', ang piliin kung "
+"mayroon\n"
+"kayong direktang koneksyon sa inyong printer, gusto ninyong madaling\n"
+"makakalas sa mga \"printer jam\", at wala kayong naka-network na printer.\n"
+"(\"%s\" ay makapangangasiwa lamang ng mga napakasimpleng kaso ng\n"
+"network at medyo mabagal kung gagamitin na may network). Inirerekomenda\n"
+"na gamitin ninyo ang \"pdq\" kung ito ang una ninyong karanasan sa GNU/"
+"Linux.\n"
+"\n"
+" * \"%s\" - `` Common Unix Printing System'', ay napakagaling na pili para "
+"sa\n"
+"pagpi-print sa inyong local na printer o sa kabilang panig ng mundo. Ito ay\n"
+"simpleng i-configure at maaaring gumanap na \"server\" o isang \"client\"\n"
+"para sa lumang \"lpd \" na sistema ng pagpi-print, samakatuwid ito ay\n"
+"magkaugma sa mga mas lumang \"operating system\" na maaaring\n"
+"mangailangan pa rin ng serbisyong pang-print. Habang makapangyarihan,\n"
+"ang basic na setup ay halos kasingdali ng sa \"pdq\". Kung kailangan "
+"ninyong\n"
+"gayahin ang \"lpd\" server, tiyakin na buksan ninyo ang \"cups-lpd \" "
+"daemon.\n"
+"\"%s\" ay naglalaman ng mga graphical front-ends para sa pagpi-print o "
+"pagpili\n"
+"ng mga option ng printer at para sa pangangasiwa ng printer.\n"
+"\n"
+"Kung kayo ay pipili na ngayon, at mamaya ay makita ninyo na hindi ninyo "
+"gusto\n"
+"ang inyong sistema ng pagpi-print maaari ninyo itong baguhin sa pamamagitan\n"
+"ng pagpapatakbo ng PrinterDrake mula sa Mandriva Control Center at\n"
+"pagki-click sa bihasa (\"expert\") na pindutan."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, fuzzy, c-format
+msgid "Expert"
+msgstr "Bihasang Mode"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Titiktikan muna ng DrakX ang mga IDE device na mayroon sa inyong\n"
+"computer. Ito rin ay maghahanap ng isa o mahigit na mga PCI SCSI card\n"
+"sa inyong sistema. Kung may nakitang SCSI card, ii-install ng DrakX ang\n"
+"naaangkop na driver.\n"
+"\n"
+"Dahil sa hindi perpekto ang pagtiktik sa hardware, ang DrakX ay maaaring\n"
+"mabigo sa pagtitiktik sa inyong mga hard drive. Kung gayon, dapat ninyong\n"
+"sabihin ang inyong hardware ng mano-mano.\n"
+"\n"
+"Kung kinailangan na mano-mano ninyong sabihin ang inyong PCI SCSI adapter,\n"
+"tatanungin kayo ng DrakX kung gusto ninyong i-configure ang mga option\n"
+"para dito. Dapat hayaan ninyo ang DrakX na suriing mabuti ang hardware\n"
+"para sa mga option na specific sa card na kinakailangan para ma-initialize\n"
+"ang adapter. Kadalasan, ang DrakX ay makakalagpas sa hakbang na ito na\n"
+"walang kahit anong problema.\n"
+"\n"
+"Kung hindi nasuring mabuti ng DrakX ang mga option para automatic na\n"
+"mapasyahan kung aling mga parameter ang kinakailangan na ipasa sa inyong\n"
+"hardware, kakailanganin ninyong mano-manong i-configure ang driver."
+
+#: ../help.pm:789
+#, fuzzy, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": kung may sound card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Kung inyong mapansin na ang sound card na ipinakita ay hindi\n"
+"talaga iyong mayroon sa inyong sistema, maaari ninyong i-click ang pindutan\n"
+"at pumili ng ibang driver."
+
+#: ../help.pm:794
+#, fuzzy, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Bilang balik-tanaw, ang DrakX ay maghaharap ng kabuuang inpormasyon na\n"
+"mayroon ito tungkol sa inyong sistema. Depende sa inyong naka-install na\n"
+"hardware, maaari kayong magkaroon ng ilan o lahat ng mga sumusunod na\n"
+"entry. Bawat entry ay binubuo ng \"configuration item\" na ico-configure, "
+"na\n"
+"sinusundan ng isang maikling kabuuan ng kasulukuyang configuration.\n"
+"I-click ang katapat na \"%s\" na pindutan para baguhin iyon.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang configuration ng \"keyboard map\" at\n"
+"baguhin kung kinakailangan.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang bansang pinili. Kung wala kayo sa "
+"bansang\n"
+"ito, i-click ang \"%s\" na pindutan at pumili ng iba. Kung ang inyong bansa "
+"ay\n"
+"wala sa unang listahan na ipinakita, i-click ang \"%s\" na pindutan upang\n"
+"makakuha ng kompletong talaan ng bansa.\n"
+"\n"
+" * \"%s\": Bilang, default, malalaman ng DrakX ang inyong \"time zone\" "
+"batay\n"
+"sa bansang pinili ninyo. Maaari ninyong i-click ang \"%s\" na pindutan dito\n"
+"kung hindi ito tama.\n"
+"\n"
+" * \"%s\": suriin ang kasalukuyang configuration ng mouse at i-click ang\n"
+"pindutan para baguhin ito kung kinakailangan.\n"
+"\n"
+" * \"%s\": ang pagki-click sa \"%s\" na pindutan ay magbubukas sa wizard\n"
+"na pang-configure ng printer (\"printer configuration wizard\"). "
+"Konsultahin\n"
+"ang katapat na kabanata ng ``Starter Guide'' para sa karagdagang\n"
+"inpormasyon sa kung paano mag-setup ng bagong printer. Ang interface\n"
+"na ihaharap doon ay kahawig nung ginamit sa pag-i-install.\n"
+"\n"
+" * \"%s\": kung may sound card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Kung inyong mapansin na ang sound card na ipinakita ay hindi\n"
+"talaga iyong mayroon sa inyong sistema, maaari ninyong i-click ang pindutan\n"
+"at pumili ng ibang driver.\n"
+"\n"
+" * \"%s\": bilang default, kino-configure ng DrakX ang inyong \"graphical "
+"interface\"\n"
+"sa \"800x600\" o \"1024x768\" na resolution. Kung hindi iyon babagay sa "
+"inyong,\n"
+"i-click ang \"%s\" para i-configure ulit ang inyong \"graphical interface"
+"\".\n"
+"\n"
+" * \"%s\": kung may TV card na natiktikan sa inyong sistema, ipapakita iyon\n"
+"dito. Kung mayroon kayong TV card at hindi ito natiktikan, i-click ang \"%s"
+"\"\n"
+"para subukang i-configure ito ng mano-mano.\n"
+"\n"
+" * \"%s\": kung may ISDN card na natiktikan sa inyong sistema, ipapakita\n"
+"iyon dito. Maaari ninyong i-click ang \"%s\" para baguhin ang mga\n"
+"parameter na kasamahan ng card.\n"
+"\n"
+" * \"%s\": Kung nais ninyong i-configure ngayon ang inyong pagpasok sa \n"
+"Internet o \"local network\".\n"
+"\n"
+" * \"%s\": ang entry na ito ay hahayaan kayong i-define ulit ang level ng\n"
+"seguridad na nai-set sa nakaraang hakbang ().\n"
+"\n"
+" * \"%s\": kung plano ninyon i-connect ang inyong makina sa Internet,\n"
+"magandang kaisipan na protektahan ninyo ang inyong sarili laban sa mga\n"
+"pagpasok ng walang pahintulot sa pamamagitan ng pag-setup ng firewall.\n"
+"Konsultahin ang katapat na section ng ``Starter Guide'' para sa detalye\n"
+"tungkol sa mga setting ng firewall.\n"
+"\n"
+" * \"%s\": kung nais ninyong baguhin ang configuration ng inyong "
+"bootloader,\n"
+"i-click ang pindutan na iyon. Ito ay para sa mga bihasang gumagamit.\n"
+"\n"
+" * \"%s\": dito maaari ninyong piliing mabuti kung aling mga serbisyo o "
+"(\"service\")\n"
+"ang patatakbuhin sa inyong sistema. Kung plano niyong gamitin ang makinang\n"
+"ito bilang isang tagapagsilbi (\"server\") magandang balik-tanawin ang setup "
+"na\n"
+"ito."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN card"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Graphical Interface"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Piliin ang hard drive na inyong gustong burahin upang ma-install ang\n"
+"inyong bagong Mandriva Linux na partisyon. Mag-ingat, lahat ng data\n"
+"sa drive na ito ay mawawala at hindi na ito mababawi!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"I-click ang \"%s\" kung gusto ninyong tangalin lahat ng data at partisyon\n"
+"na mayroon sa hard drive na ito. Mag-ingat, pagkatapos ma-click ang\n"
+"\"%s\", hindi na ninyo mababawi ang kahit anong data at mga partisyon\n"
+"na mayroon sa hard drive na ito, kasama ang kahit anong data ng Windows.\n"
+"\n"
+"I-click ang \"%s\" para hindi ituloy ang operasyon na ito na walang "
+"mawawlang\n"
+"data at mga partisyon na mayroon sa hard drive na ito."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Kasunod ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Nakaraan"
+
diff --git a/perl-install/install/help/po/tr.po b/perl-install/install/help/po/tr.po
new file mode 100644
index 000000000..00d477eb9
--- /dev/null
+++ b/perl-install/install/help/po/tr.po
@@ -0,0 +1,1738 @@
+# translation of DrakX-tr.po to Turkish
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# ############################################
+#
+# Ömer Fadıl USTA <omer_fad@hotmail.com> , 1999-2003.
+# Tuncay YENİAY <tuncayyeniay@mynet.com>,2002.
+# Nazmi Savga <nsavga@doruk.net.tr>,2001.
+# Durmuş Celep <durmusc_tr@yahoo.com>,2002.
+# Erçin EKER <erc.caldera@gmx.net>, 2003.
+#
+# #############################################
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2004-09-15 13:35+0200\n"
+"Last-Translator: Ömer Fadıl USTA <omer_fad@hotmail.com>\n"
+"Language-Team: Turkish <tr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Devam etmeden önce lisans koşullarını dikkatle okumalısınız. Lisans tüm\n"
+"Mandriva Linux dağıtımını kapsar, bu koşullarını tamamını kabul "
+"ediyorsanız,\n"
+"\"%s\" kutusunu işaretleyiniz aksi halde \"%s\" tuşuna tıklayarak\n"
+"makinenizi yeniden başlatabilirsiniz."
+
+#: ../help.pm:20
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux çok kullanıcılı bir sistemdir, yani her kullanıcının kendi\n"
+"tercihleri, kendi dosyaları, v.s. olabilir. Daha fazla bilgi edinmek için\n"
+"\"Kullanıcı Kılavuzu\"nu okuyunuz. Sistem Yöneticisi olan \"root\" dışındaki "
+"kullanıcılar kendi dosyaları ve yapılandırmaları dışında hiçbir\n"
+"şeyi değiştiremezler. Kendiniz için en az bir normal kullanıcı "
+"oluşturmalısınız.\n"
+"Bu hesabı sıradan işler için kullanacaksınız. Sisteminizi \"root\" olarak\n"
+"kullanmak çok pratik gibi görünse de aslında çok tehlikelidir. En küçük bir\n"
+"yanlışlık sisteminizin çalışmamasıyla sonuçlanabilir. Ama normal kullanıcı\n"
+"olarak bir sürü yanlış da yapsanız sadece kendi bilgilerinize zarar vermiş\n"
+"olursunuz, sisteminize zarar veremezsiniz.\n"
+"\n"
+"İl alan gerçek isminizi girmeniz içindir. Tabii ki sorunlu değildir, "
+"herhangi bir\n"
+"şey yazabilirsiniz. DrakX bu bölüme ilk girdiğiniz kelimeyi \"%s\" bölümüne\n"
+"kopyalayacak ki bu sisteme giriş için kullanılacak kullanıcı adıdır. "
+"İsterseniz\n"
+"kullanıcı adını değiştirebilirsiniz. Sonra buraya bir parola gireceksiniz. "
+"Bir\n"
+"normal kullanıcının parolası \"root\" parolası kadar önemli değildir.\n"
+"Fakat bu boş yada basit bir şifre kullanmak için bir gerekçe değildir,\n"
+"sonuç olarak kişisel dosyalarınızı tehlikeye atmış olursunuz.\n"
+"\n"
+"\"%s\"e tıklayarak ile kullanıcı için öntanımlı \"kabuk\"u "
+"değiştirebilirsiniz\n"
+"(öntanımlı olan bash'dir).\n"
+"\n"
+"Kullanıcı eklemeyi tamamladıktan sonra, sistem açıldıktan sonra otomatik\n"
+"giriş yapılacak kullanıcı sorulacaktır. Eğer bu konu ile ilgileniyorsanızı "
+"(ve\n"
+"yerel güvenliğe önem vermiyorsanız), istediğiniz kullanıcıyı ve pencere\n"
+"yöneticisini seçin ve \"%s\"e tıklayın. Eğer bu konu ilginizi çekmiyorsa\n"
+"\"%s\" seçimini kaldırın ve devam edin."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu özelliği kullanmak istiyor musunuz?"
+
+#: ../help.pm:57
+#, fuzzy, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Yukarıdakiler, sabit diskinizde bulunan Linux bölümleridir. Genel kullanım\n"
+"için sihirbazın sunduğu seçenekleri değiştirmeden bırakabilirsiniz.\n"
+"Seçenekleri değiştirirseniz, en azından bir kök dizini (\"/\") tanımlamak\n"
+"zorundasınız. Lütfen çok küçük bir bölüm seçmeyin, istediğiniz tüm\n"
+"uygulamaları kurabilmek için yeterli yer bulamayabilirsiniz. Verilerinizi\n"
+"ayrı bir bölümde saklamak isterseniz, ayrıca bir \"/home\" bölümü\n"
+"tanımlamanız gerekecektir. (Birden fazla Linux bölümü tanımlıysa bu işlem\n"
+"gerçekleşebilir.)\n"
+"\n"
+"\n"
+"Her bir bölüm şöyle listelenmiştir: \"İsim\", \"Kapasite\".\n"
+"\n"
+"\n"
+"\"İsim\" şöyle kodlanmıştır: \"sabit disk türü\", \"sabit disk harfi\"\n"
+"\"bölüm numarası\" (örneğin \"hda1\").\n"
+"\n"
+"\n"
+"\"Sabit disk türü\", diskiniz bir IDE sürücüsüyse \"hd\",\n"
+"bir SCSI sürücüsüyse \"sd\"'dir.\n"
+"\n"
+"\n"
+"\"Sabit disk harfi\" her zaman \"hd\" ya da \"sd\"'den sonra gelir. IDE\n"
+"sürücüleri için:\n"
+"\n"
+" * \"a\" birincil IDE denetleyicisindeki master sabit disk,\n"
+"\n"
+" * \"b\" birincil IDE denetleyicisindeki slave sabit disk,\n"
+"\n"
+" * \"c\" ikincil IDE denetleyicisindeki master sabit disk,\n"
+"\n"
+" * \"d\" ikincil IDE denetleyicisindeki slave sabit disk,\n"
+"\n"
+"\n"
+"SCSI sürücüleri için\n"
+" * \"a\" \"birincil sabit disk\",\n"
+" * \"b\" \"ikincil sabit disk\"\n"
+" * ... anlamına gelir."
+
+#: ../help.pm:88
+#, fuzzy, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux kurulum CD'leri bir kaç CD'den oluşur. DrakX seçilen paketin\n"
+"hangi CD'de olduğunu bilir ve o CD'yi yerleştirmeniz için CD yuvasını açar\n"
+"ve size gerekli CD'yi yerleştirmeniz için uyarır."
+
+#: ../help.pm:95
+#, fuzzy, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Bundan sonra sisteminize hangi uygulamaları kuracağınızı belirteceksiniz.\n"
+"Mandriva Linux sisteminde kullanılabilecek binlerce paket vardır ve onları "
+"hep aklınızda tutamazsınız.\n"
+"\n"
+"CD'den kurulum yapıyorsanız önce elinizde hangi CD'lerin bulunduğunu\n"
+"belirmelisiniz (sadece uzman kipinde). CD isimlerine bakarak ilgili\n"
+"kutucukları işaretleyin.\n"
+"Bitirdiğinizde \"Tamam\" seçerek kuruluma devam ediniz.\n"
+"\n"
+"Paketler kullanım amaçlarına göre gruplanmış ve bu gruplar dört bölümde\n"
+"toplanmıştır: \n"
+" * \"İş istasyonu\": makinasını bir iş istasyonu olarak ya da evde "
+"kullanmayı\n"
+" tasarlayanlar için.\n"
+"\n"
+" * \"Geliştirme\": makinanızı program geliştirme amacıyla kullanmak\n"
+" istiyenler için.\n"
+"\n"
+" * \"Sunucu\": makinanızı bir sunucu olarak kullanmayı "
+"tasarlıyorsanız\n"
+" çok kullanılan hizmetlerden hangilerini sunacağınızı\n"
+" bu paketlerden seçerek belirleyebilirsiniz.\n"
+"\n"
+" * \"Grafik Ortam\": burada tercih ettiğiniz grafik ortamı seçeceksiniz.\n"
+" Bir grafik ortamlı iş istasyonu için en az bir grafik\n"
+" ortam belirlemelisiniz.\n"
+"\n"
+"Farenizi bir grup isminin üzerine götürdüğünüzde grup hakkında kısa bir\n"
+"açıklama göreceksiniz. Güncelleme değilde sıfırdan kurulum yapıyorsanız ve\n"
+"tüm grupların kurulmamasını seçmişseniz, en az yer kaplayan bir kurulum\n"
+"için size bazı seçenekler sunulacaktır:\n"
+"\n"
+" * \"X olsun\": En az paket kurulumuyla çalışan bir masaüstü kurar.\n"
+"\n"
+" * \"Temel bilgiler\": Linux sisteminizi çalıştırabilmek için sadece\n"
+" konsol için gereken en az sayıda belge kurulacaktır.\n"
+" Bu paketler 65Mb yer kaplar.\n"
+"\n"
+"Sistem üzerinde tam denetim sağlayabilen eski Linux kullanıcıları\n"
+"\"Tek tek paket seçimi\" kutucuğunu işaretleyerek kurulacak paketleri\n"
+"kendileri seçebilirler.\n"
+"\n"
+"\"Güncelleme\" kipinde kurulum başlattıysanız ve hiç bir yeni paketin\n"
+"kurulmamasını istiyorsanız tüm grupları seçilmemiş duruma getirebilirsiniz.\n"
+"Bu işlem mevcut sisteminizin onarımı için elverişlidir."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Güncelle"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Temel belgelerle birlikte"
+
+#: ../help.pm:149
+#, fuzzy, c-format
+msgid "Truly minimal install"
+msgstr "En ufak kurulum"
+
+#: ../help.pm:152
+#, fuzzy, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Son olarak, tek tek paket seçimini etkinleştirdiyseniz, paketleri gruplar\n"
+"ve alt gruplar şeklinde sıralanmış bir ağaçtan seçebilirsiniz. Ağacı\n"
+"tarayarak grup, alt grup ya da tek tek paket seçimleri yapabilirsiniz.\n"
+"\n"
+"Bir paketi seçtiğinizde sağ tarafta paket hakkında kısa bir açıklama "
+"görünür.\n"
+"Paket seçimini bitirdiğinizde \"Kur\" düğmesi ile kurulum işlemini\n"
+"başlatabilirsiniz. Kurulum için gereken süre donanım hızınıza ve seçtiğiniz\n"
+"paket sayısına bağlıdır. Kurulumun tahmini bitme süresi bir gösterge ile\n"
+"gösterilecektir. Bu arada koltuğunuza yaslanıp çayınızı ya da kahvenizi\n"
+"yudumlayabilirsiniz.\n"
+"\n"
+"<ÖNEMLİ> İster bilerek ister belli bir grubun parçası olarak, sunucu\n"
+"bölümünden seçtiğiniz hizmetleri gerçekten kullanıp kullanmak istemediğiniz\n"
+"ayrıca sorulacaktır. Mandriva Linux başlatıldığında kurulu olan hizmetlerin\n"
+"herbiri öntanımlı olarak başlatılır. Onlar Mandriva Linux dağıtıma girerken\n"
+"kılavuzlarından güvenli oldukları anlaşılarak seçilmiş bile olsalar,\n"
+"dağıtımdan sonra bir takım güvenlik açıkları keşfedilmiş olabilir.\n"
+"Bir hizmetin ne sunduğu hakkında bir fikriniz yoksa ya da neden kurmak\n"
+"gerektiğini bilmiyorsanız \"Hayır\", listelenen hizmetlerin kurulmasını\n"
+"ve otomatik olarak başlatılmasını istiyorsanız \"Evet\" düğmesine\n"
+"tıklayınız. </ÖNEMLİ>\n"
+"\n"
+"Kurulum programının bağımlı paketleri kendiliğinden saptayıp kurması ve\n"
+"uyarı diyaloğunun görünmemesi için basitçe \"Otomatik Bağımlılıklar\"\n"
+"seçeneğini etkinleştirebilirsiniz. Kurulumun başarıyla tamamlanması ve\n"
+"kurulan paketlerin sorunsuz çalışabilmesi için bu paketlerin bağımlı\n"
+"olduğu paketlerin de kurulması gerekir.\n"
+"\n"
+"Listenin altındaki küçük disket simgesi önceki kurulumda seçilen paketlerin\n"
+"kurulmasını sağlar. Bu simgeye tıkladığınızda önceki kurulumun sonunda\n"
+"oluşturulan bir disketin sürücüye takılması istenecektir. Bu disketin nasıl\n"
+"oluşturulacağını öğrenmek için kurulumun son adımının ikinci ipucuna bakınız."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Otomatik bağımlılıklar"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, fuzzy, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Şimdi, açılış sırasında otomatik olarak başlamasını istediğiniz hizmetleri\n"
+"seçebilirsiniz.\n"
+"\n"
+"Burada şu an ki kurulum sırasında kullanabileceğiniz tüm hizmetler\n"
+"listelenmiştir. Her birini dikkatle okuyun ve açılış sırasında başlamasını\n"
+"istemediğiniz hizmetleri seçilmemiş duruma getirin.\n"
+"\n"
+"Bir hizmet seçildiğinde o hizmetin ne sunduğunu belirten kısa bir açıklama\n"
+"verilecektir. Bir hizmetin ne sunduğu hakkında bir fikriniz\n"
+"yoksa ayarına dokunmadan olduğu gibi bırakmak en güvenli yöntemdir.\n"
+"\n"
+"Eğer makinanızı bir sunucu olarak kullanacaksanız bu adımda *dikkatli*\n"
+"olmalısınız:\n"
+"!!\n"
+"Muhtemelen kullanmak istemediğiniz hiçbir hizmeti başlatmak istemezsiniz.\n"
+"Bir sunucuda açık duruma getirilen hizmetlerin her birinin aslında bir\n"
+"güvenlik açığı olabileceğini lütfen unutmayınız.\n"
+"Genel olarak, sadece ihtiyacınız olan hizmetleri seçmeye dikkat ediniz.\n"
+"!!"
+
+#: ../help.pm:209
+#, fuzzy, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux zamanı GMT'ye (Greenwich Zamanı) göre saat farkını baz alarak\n"
+"ayarlar. Donanım saati ile sistem saati arsında fark olmamasını "
+"istiyorsanız,\n"
+"\"Donanım saatini GMT'ye göre ayarla\" seçeneğini seçilmemiş "
+"bırakabilirsiniz.\n"
+"Bu makinanızda Windows gibi başka bir işletim sistemini de kullanıyorsanız\n"
+"faydalıdır.\n"
+"\n"
+"Sistem saatinizin Internet'teki bir zaman sunucusundan otomatik olarak\n"
+"ayarlanmasını isterseniz \"Otomatik saat ayarı\" seçeneğini "
+"etkinleştiriniz.\n"
+"Listeden size en yakın sunucuyu seçebilirsiniz. Şüphesiz bu özelliği\n"
+"kullanabilmeniz için internet bağlantınızın olması gereklidir. Bu özellik\n"
+"ayrıca yerel ağınızdaki makinaların zamanlarını sizin makinanızdan\n"
+"ayarlamalarını sağlayacak bir zaman sunucusunu da kuracaktır."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Otomatik zaman senkronizyasyonu"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, fuzzy, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Son olarak açılış sırasında grafik arayüzle başlamak isteyip istemediğiniz\n"
+"sorulacaktır. Yapılandırmanızı denemeyi seçmemiş bile olsanız bu soru yine "
+"de\n"
+"sorulacaktır. Ekranınızı iyi yapılandıramamışsanız ya da makinanızın bir\n"
+"sunucu rolü üstlenmesini seçmişseniz bu soruya \"Hayır\" cevabı vermeniz\n"
+"önerilir."
+
+#: ../help.pm:319
+#, fuzzy, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Bu noktada, Mandriva Linux işletim sisteminizi sabit diskinizde\n"
+"nereye kuracağınızı seçmeniz gerekiyor. Diskiniz boşsa, ya da\n"
+"halihazırda bir işletim sistemi diskin tamamını kullanıyorsa\n"
+"diski bölümlendirmeniz gerekmektedir. Temel olarak, bir diski\n"
+"bölümlendirmek, Mandriva Linux sistemini kurabilmek için onu\n"
+"mantıksal olarak bölmek ve böylece boş alan oluşturmak anlamına\n"
+"gelir.\n"
+"\n"
+"Bölümlendirme işlemi gerellikle geri alınamaz ve zaten kurulu bir\n"
+"işletim sisteminiz var ise bilgi kaybına yol açabilir. Bu işlem, eğer\n"
+"tecrübesizseniz, korkutucu ve stresli bir iş olabilir. Mandriva Linux,\n"
+"bu işlemi oldukça kolaylaştıran bir sihirbaz sunmaktadır.Başlamadan\n"
+"önce lütfen aşağıdaki okumak için zaman ayrın.\n"
+"\n"
+"Sabit disk yapınıza bağlı olarak, birkaç seçenek mevcut: \n"
+"\n"
+" * \"%s\": bu seçenek boş sabit disk(ler)iniz üzerinde otomatik "
+"bölümlendirme\n"
+"gerçeklerştirir. Bu seçeneği seçerseniz konu hakkında soru sorulmayacak\n"
+"\n"
+" * \"%s\" sihirbaz sabit diskiniz üstünde bir ya da daha fazla Linux bölümü\n"
+"buldu. Eğer bunları kullanmak istiyorsanız bu seçeneği kullanın. Sonra ki\n"
+"adımda bu bölümler ile ilişkili bağlama noktaları seçmeniz istenecek.\n"
+"Bağlama noktaları öntanımlı olarak seçilir ve genellikle olduğu gibi "
+"bırakmak\n"
+"en iyisidir.\n"
+"\n"
+" * \"%s\": eğer sisteminizde Microsoft Windows kurulu ve tük disk "
+"kapasitesini\n"
+"kullanıyorsa Linux'un kullanabilmesi için yer açmanız gerekecektir. Bunun "
+"için,\n"
+"Microsoft Window disk bölümünü ve bilgileri silebilir (``Tüm Diski Sil''e "
+"bakın)\n"
+"yada Microsoft Windows FAT bölümünüzü yeniden boyutlandırabilirsiniz. Bu\n"
+"işlem sırasında eğer Windows bölümünüzü birleştirmiş ve biçimi FAT ise\n"
+"herhangi bir veri kaybı yaşamazsınız. Verilerinizi yedeklemeniz şiddetle "
+"önerilir.\n"
+"Eğer aynı bilgisayarda hem Mandriva Linux hem de Windows kullanamk\n"
+"istiyorsanız bu seçeneği seçmeniz önerilir.\n"
+"\n"
+" Bu seçeneği seçmeden önce unutmayın ki işlem tamamlandığında Microsoft\n"
+"Windows disk bölümünüz küçülmüş olacak. Yeni yazılımları yüklemek ya da "
+"kişisel\n"
+"verilerinizi saklamak için Microsoft Windows altında daha az boş alanınız "
+"olacak.\n"
+"\n"
+" * \"%s\": Sabit diskinizde bulunan tüm bilgileri silmek ve yeni bir "
+"Mandriva Linux\n"
+"kurulumu yapmak için bu seçeneği seçin. Lütfen bu seçeneği kullanırken "
+"dikkatli\n"
+"olun, çünkü onayladıktan sonra geri alma şansınız bulunmuyor.\n"
+"\n"
+" !! Eğer bu seçeneği seçerseniz sabit diskinizdeki tüm bilgi "
+"silinecektir. !!\n"
+"\n"
+" * \"%s\": Bu seçenek tüm sabit diski silecek ve disk bölümlerini baştan "
+"oluşturacak.\n"
+"Diskinizdeki tüm bilgiler silinecektir.\n"
+"\n"
+" !! Eğer bu seçeneği seçerseniz sabit diskinizdeki tüm bilgileri "
+"kaybedeceksiniz. !!\n"
+"\n"
+" * \"%s\": Sabit diskinizi kendiniz bölümlendirmek istiyorsanız bu seçeneği "
+"seçin.\n"
+"Dikkati olun -- oldukça güçlü bir seçenektir ama veri kaybetmek oldukça "
+"kolaydır.\n"
+"Bu seçenek sadece daha önce buna benzer bir işlem yapmışsanız ve biraz da "
+"olsa\n"
+"deneyiminiz var ise önerilmektedir. DiskDrake aracının kullanımı hakkında "
+"daha\n"
+"detaylı bilgiyi ``Başlangıç Kılavuzu'' içindeki ``Disk Bölümlerini Yönetme'' "
+"başlığı\n"
+"altında bulabilirsiniz."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Geçerli bölümlendirmeyi kullan"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Tüm disk silinsin"
+
+#: ../help.pm:380
+#, fuzzy, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Buraya kadar geldiyseniz kurulum tamamlanmış ve GNU/Linux sisteminizi\n"
+"kullanmaya hazırsınız demektir. \"TAMAM\" düğmesine tıkladığınızda "
+"sisteminiz\n"
+"yeniden başlatılacaktır. Hem Windows hem de GNU/Linux kullanımını "
+"seçtiyseniz\n"
+"makinanızın her açılışında bu sistemlerden biri için tercihinizi\n"
+"kullanabileceksiniz.\n"
+"\n"
+"\"Gelişmiş\" düğmesine (Uzman kipinde görünür) tıkladığınızda size iki\n"
+"seçenek sunulacaktır:\n"
+"\n"
+" * \"Otomatik kurulum disketi oluşturulsun\": yaptığınız kuruluma benzer "
+"bir\n"
+" kurulumu herhangi bir yardım gerekmeksizin otomatik olarak "
+"yapılabilmesini\n"
+" sağlayacak bir kurulum disketi oluşturabilirsiniz.\n"
+"\n"
+" Bu seçeneği kullanmaya karar verdiğinizde size iki seçenek sunulacaktır:\n"
+"\n"
+" * \"Etkileşimli\": bu sadece disk bölümlemesinin etkileşimli olduğu "
+"yarı\n"
+" otomatik kurulumdur.\n"
+"\n"
+" * \"Otomatik\": sabit diskin tamamen silinip yeniden yazılması\n"
+" ile kurulumu tamamen otomatik olarak gerçekleştirebilirsiniz.\n"
+"\n"
+" Bu seçenek aynı sistemi çok sayıda makinaya kurmak için çok\n"
+" kullanışlıdır. Web sitemizde ki \"Auto install\" bölümünde daha\n"
+" ayrıntılı bilgi edinebilirsiniz.\n"
+"\n"
+" * \"Paket seçim listesini kaydet\"(*): kurulum sırasında seçtiğiniz\n"
+" paketlerin listesi kaydedilir. Bir başka kurulum sırasında disketi\n"
+" sürücüye yerleştirdikten sonra [F1] tuşuna bastıktan sonra\n"
+" »linux defcfg=\"floppy\"« yazarak kurulumu yardım ekranına kadar "
+"ilerletin\n"
+"\n"
+" (*) Bu seçenek için FAT biçemli bir diskete ihtiyacınız olacak. Bu "
+"disketi\n"
+" GNU/Linux altında \"mformat a:\" komutu ile oluşturabilirsiniz."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Otomatik-kurulum disketi oluştur"
+
+#: ../help.pm:415
+#, fuzzy, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Yeni tanımlanmış her bölüm, kullanım için biçemlendirilmelidir.\n"
+" (Biçemlendirmek bir dosya sistemi oluşturmak anlamına gelir.)\n"
+"\n"
+"\n"
+"Şimdi, halihazırda bulunan bölümlerinizdeki verileri silmek için onları\n"
+"tekrar biçemlendirmek isteyebilirsiniz. Bunu istiyorsanız, biçemlendirmek\n"
+"istediğiniz bu bölümleri de ayrıca seçili duruma getirin.\n"
+"\n"
+"Eskiden kalma tüm bölümlerin biçemlendirilmesi gerekmediğini lütfen\n"
+"unutmayın. İşletim sistemi içerenleri (örneğin \"/\", \"/usr\" ya da \"/var"
+"\"\n"
+"gibi) biçemlendirmelisiniz, ama sadece verilerinizin bulunduğu bölümleri\n"
+"biçemlendirmeyebilirsiniz. (örneğin \"/home\".)\n"
+"\n"
+"Biçemlendireceğiniz bölümleri seçerken dikkatli olun, içlerindeki tüm "
+"veriler\n"
+"yok olacaktır ve biçemlendirildikten sonra geri dönülmesi mümkün değildir.\n"
+"\n"
+"Bölümleri biçemlendirmeye hazır olduğunuzda \"Tamam\"'a tıklayın.\n"
+"\n"
+"Mandriva Linux sisteminizi kurmak isteyeceğiniz başka bölümler de seçmek\n"
+"isterseniz \"İptal\"'e basın.\n"
+"\n"
+"\"Gelişmiş\" düğmesine tıkladıktan sonra isterseniz, sabit diskinizindeki\n"
+"disk bölümlerinde hatalı blok sınaması yapabilirsiniz."
+
+#: ../help.pm:437
+#, fuzzy, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Mandriva Linux kurulumunuz sırasında dağıtımdan sonra güncellenmiş bazı "
+"paketler, düzeltmeler ve çözümlenmiş güvenlik unsurlarının olup olmadığını "
+"internet bağlantınız üzerinden kontrol edip varsa indirip kurabilir. Çalışan "
+"bir internet bağlantınız varsa \"Evet\" seçebilir, yoksa \"Hayır\" seçerek "
+"paket güncelleme işlemini kurulum sonrasına bırakabilirsiniz.\n"
+"\n"
+"\"Evet\" seçtiğinizde güncellemelerin alınabileceği yerlerin bir listesi "
+"gösterilir. Size en yakın olanı seçtikten sonra, paket seçim ağacı görünür. "
+"Seçimi izleyebilir ve seçilen paketlerin indirilip kurulması için \"Kur\", "
+"çıkmak için \"İptal\" seçebilirsiniz."
+
+#: ../help.pm:450
+#, fuzzy, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Şimdi, makinanız için düşündüğünüz güvenlik seviyesini belirteceksiniz. "
+"Kural\n"
+"olarak makinanızda sakladığınız bilgilere bağlı olarak güvenlik seviyesini\n"
+"yükselmek gerekir. Güvenlik seviyesi yükseldikçe sunulan hizmetlerin sayısı\n"
+"düşecek ve sisteminizi kullanmak zorlaşacaktır. Bu seviyeler hakkında daha\n"
+"fazla bilgi edinmek için ``Başvuru Kılavuzu''ndaki MSEC bölümüne bakınız.\n"
+"\n"
+"Ne seçeceğiniz hakkında bir fikriniz yoksa öntanımlı seçeneklere "
+"dokunmayınız."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Güvenlik Yöneticisi"
+
+#: ../help.pm:464
+#, fuzzy, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Bu noktada, Mandriva Linux işletim sisteminizi sabit diskinizde nereye\n"
+"kuracağınızı seçmeniz gerekiyor. Bölümler önceki bir kurulumda ya da bir\n"
+"başka bölümlendirme aracıyla önceden tanımlanmışsa eski bölümlerinizi\n"
+"kullanabilirsiniz. Aksi takdirde, sabit disk bölümlerinin tanımlanması\n"
+"gerekir.\n"
+"\n"
+"Bölümleri oluşturmak için bir sabit disk seçmelisiniz. \"hda\"'ya\n"
+"tıklayarak ilk, \"hdb\"'ye tıklayarak ikinci IDE sürücüsünü, ya da\n"
+"\"sda\"'ya tıklayarak birinci SCSI sürücüsünü bölümlendirmek için\n"
+"seçebilirsiniz.\n"
+"\n"
+"Seçili sürücüyü bölümlendirmek için, aşağıdaki seçenekleri\n"
+"kullanabilirsiniz:\n"
+"\n"
+" * \"Tümünü temizle\": seçili sürücüdeki tüm bölümler silinecektir.\n"
+"\n"
+" * \"Otomatik bölümlendir\": sabit diskinizdeki boş alanda otomatik\n"
+" olarak ext2 ve takas bölümlerinin tanımlanmasını sağlayacaktır.\n"
+"\n"
+" * \"Daha\": Bu seçenekle aşağıdaki özellikleri de kullanabilirsiniz:\n"
+"\n"
+" * \"Diskete kaydet\": bölümlendirme tablonuzu diskete kaydetmek "
+"isterseniz\n"
+" bu seçeneği kullanın. İleride disk bölümlendirme tablosunu kurtarmak\n"
+" için bu disketi kullanabilirsiniz.\n"
+"\n"
+" * \"Disketten al\": önceki bir kurulumda bölümlendirme tablonuzu bir\n"
+" diskete kaydettiyseniz, bu seçenek ile onu tekrar kullanabilirsiniz.\n"
+"\n"
+" * \"Bölümlendirme tablosunu kurtar\": bölümlendirme tablosu hasar "
+"gördüyse\n"
+" bu seçeneği kullanarak onu kurtarabilirsiniz. Lütfen dikkatli olun ve\n"
+" başarısız olma ihtimali olduğunu hatırlayın.\n"
+"\n"
+" * \"Geri al\": bu seçeneği kullanarak, daha önce yaptığınız\n"
+" değişikliklerden vazgeçebilirsiniz.\n"
+"\n"
+" * \"Disket/CD sürücüsünü otomatik bağla\": bu seçeneği seçilmemiş duruma\n"
+" getirerek bu sürücülerin bağlanmasını sistem kullanıcılarının\n"
+" kendilerinin yapmasını sağlayabilirsiniz.\n"
+"\n"
+" * \"Sihirbaz\": sabit diskinizi bölümlendirme işlemi için sihirbazı\n"
+" kullanmak isterseniz, bu seçeneği kullanabilirsiniz. Bölümlendirme\n"
+" hakkında fazla bir bilgiye sahip değilseniz bu seçeneği kullanmanız\n"
+" önerilir.\n"
+"\n"
+" * \"Geri al\": bu seçeneği kullanarak, yaptığınız tüm değişiklikleri\n"
+" geri alıp eski bölümlendirme tablosunu yükleyebilirsiniz.\n"
+"\n"
+" * \"Normal/Uzman kipi değiştirme\": disk bölümlendirme sırasında "
+"daha az ya da daha fazla seçenek ve bilgi sunulur.\n"
+"\n"
+" * \"Bitti\": sabit diskinizi bölümlendirme işlemi bittiğinde\n"
+" değişikliklerinizin kaydedilebilmesi için bu seçeneği kullanın.\n"
+"\n"
+"Klavyeyi kullanarak herhangi bir seçeneğe gidebilirsiniz: Bölümler\n"
+"arasında gezinmek için [Sekme] ve [Yukarı/Aşağı] ok tuşlarını\n"
+"kullanabilirsiniz.\n"
+"\n"
+"Bir bölüm seçildiğinde, aşağıdaki tuşları kullanabilirsiniz:\n"
+"\n"
+" * yeni bir bölüm oluşturmak için (boş bir bölüm seçildiğinde)\n"
+" Ctrl-c;\n"
+"\n"
+" * bir bölümü silmek için Ctrl-d;\n"
+"\n"
+" * bağlama noktasını atamak için Ctrl-m\n"
+"\n"
+"Başka dosya sistemleri hakkında bilgi edinmek için \"Başvuru Kılavuzu"
+"\"ndaki\n"
+"ext2fs bölümünü okuyunuz.\n"
+"\n"
+"Bir PPC makina üzerine kurulum yapıyorsanız, yaboot önyükleyicisi "
+"tarafından\n"
+"kullanılmak üzere en az 1MB lık küçük bir HFS \"önyükleme\" bölümü "
+"oluşturmak\n"
+"isteyeceksiniz. Bu disk bölümünü biraz daha büyük, örneğin 50MB yaparsanız\n"
+"bir yedek çekirdeğin ve kurtarma açılışı gereksinimleri için ramdisk\n"
+"görüntüsünün saklanacağı kullanışlı bir alan elde edebilirsiniz."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Kaldırılabilir meyda otomatik-bağlanıyor"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Normal/Uzman kipleri arasında geçiş yap"
+
+#: ../help.pm:536
+#, fuzzy, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Sabit diskinizde birden fazla Windows bölümü bulundu. Yeni Mandriva Linux\n"
+"işletim sisteminizi kurmak için hangi bölümün boyutunu değiştirmek\n"
+"istiyorsunuz?\n"
+"\n"
+"\n"
+"Her bir bölüm şöyle listelenmiştir; \"Linux adı\", \"Windows adı\",\n"
+"\"Kapasite\".\n"
+"\n"
+"\"Linux adı\" şöyle kodlanır: \"sabit disk türü\", \"sabit disk harfi\",\n"
+"\"bölüm numarası\" (örneğin \"hda1\").\n"
+"\n"
+"\"Sabit disk türü\", diskiniz bir IDE sürücüsüyse \"hd\", bir SCSI\n"
+"sürücüsüyse \"sd\"'dir.\n"
+"\n"
+"\n"
+"\"Sabit disk harfi\" her zaman \"hd\" ya da \"sd\"'den sonra gelir. IDE\n"
+"sürücüleri için:\n"
+"\n"
+" * \"a\" \"birincil IDE denetleyicisindeki master sabit disk \",\n"
+"\n"
+" * \"b\" \"birincil IDE denetleyicisindeki slave sabit disk \",\n"
+"\n"
+" * \"c\" \"ikincil IDE denetleyicisindeki master sabit disk \",\n"
+"\n"
+" * \"d\" \"ikincil IDE denetleyicisindeki slave sabit disk \",\n"
+"\n"
+"\n"
+"SCSI sürücüleri için\n"
+" * \"a\" \"birincil sabit disk\",\n"
+" * \"b\" \"ikincil sabit disk\"\n"
+" * ... anlamına gelir.\n"
+"\n"
+"\"Windows adı\" ise diskinizin windows altındayken kullandığı sürücü\n"
+"harfidir.\n"
+"(Örneğin ilk disk ya da disk bölümünün ismi \"C:\"dir."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, fuzzy, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Normalde seçtiğiniz dile bağlı olarak DrakX, doğru klavyeyi seçecektir.\n"
+"Ancak dilinizle ilişkili olmayan bir klavye seçmek de isteyebilirsiniz.\n"
+"Örneğin Türkçe konuşan biri olmanıza rağmen Almanya'da ikamet ediyorsanız\n"
+"Almanca klavyeyi kullanmak isteyebileceğiniz gibi Türkçe Q ya da Türkçe F\n"
+"klavyelerden birini seçmek de isteyebilirsiniz. Bu durumda da bir\n"
+"adımdan geriye gidip listeden kullanmak istediğiniz klavyeyi\n"
+"seçebilirsiniz.\n"
+"\n"
+"\"Başka\" düğmesine tıklayarak desteklenen klavyelerin tam listesini\n"
+"görebilirsiniz."
+
+#: ../help.pm:612
+#, fuzzy, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Tercih ettiğiniz lisan dökümantasyon , kurulum ve genel sistemi "
+"etkileyecektir.\n"
+"İlk olarak bulunduğunuz bölgenin çoğrafi pozisyonunu seçiniz, Daha sonra\n"
+"konuşmakta olduğunuz dili seçiniz.\n"
+"\"%s\" tuşu diğer ek birçok dil daha seçmenize imkan tanıyacaktır. Bu imkan\n"
+"farklı bir lisanıda beraberinde kullanmanıza müsade edecektir. Bu ayarı\n"
+"\"%s\" gelişmiş menüsünden yapabilirsiniz.\n"
+"Not: Ek dil seçmekte bir dil ile sınırlı değilsiniz. \"%s\" kutusundan "
+"isetediğiniz\n"
+"kadar dil seçebilirsiniz. Bir dil seçimi beraberinde çeviriler , yazı "
+"tipleri , ve\n"
+"imla kontrolcüleri ve bunun gibi diğer uygulamalarıda getirecektir.\n"
+"Ayrıca \"%s\" kutusundan sistemi UTF-8 (unicode) kodlamasını kullanmak\n"
+"için zorlayabilirsiniz.\n"
+"Yüklediğiniz lisanlar arasında geçiş yapmak için root yetkisine sahip iken\n"
+"\"/usr/sbin/localedrake\" komutunu kullanabilirsiniz. Bu komut tüm\n"
+"sistemin veya sadece bir tek kullanıcının tüm dil ayarlarının \n"
+"değiştirilebilmesini sağlar. Bu komut normal bir kullanıcı tarafından "
+"kullanırsa\n"
+"sadece kendi kişisel ayarlarında değişiklik yapmış olur."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "İspanyol"
+
+#: ../help.pm:653
+#, fuzzy, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Genellikle DrakX farenizdeki tuş sayısınız bulmada sorun yaşamaz. Eğer,\n"
+"başarısız olursa farenizi iki tuşlu var sayacak ve üçüncü tuş taklidini\n"
+"etkinleştirecektir. İki tuşlu bir farede üçüncü tuşa ``basmak'' için sağ ve\n"
+"sol tuşa beraber bamalısınız. DrakX, farenizin PS/2 ya da USB "
+"bağlantısından\n"
+"hangisini kullandığını kendisi bulacaktır.\n"
+"\n"
+"Eğer değişik türden bir fare seçmek isterseniz, verilen listeden seçmeniz\n"
+"yeterli.\n"
+"\n"
+"Eğer öntanımlı fare dışında bir fare seçecek olursanız bir deneme ekranı\n"
+"belirecek. Fare yapılandırmasının doğru olduğundan ve düzgün çalıştığından\n"
+"emin olmak için düğmeleri ve tekerleği kullanın. Eğer fare düzgün "
+"çalışmıyorsa\n"
+"boşluk tuşuna yada [Return] tuşuna basarak fare seçimine dönebilirsiniz.\n"
+"\n"
+"Tekerlekli fareler genellikle doğru olarak algılanamamaktadır, bu nedenle\n"
+"farenizi listeden seçmeniz gerekebilir. Farenizin takılı olduğu kapı ile "
+"alakalı bir\n"
+"fare seçiniz. Farenizi seçtikten sonra \"%s\" tuşuna basın, ekranda bir fare "
+"resmi\n"
+"görüntülenecektir. Tekerin doğru çalıştığını anlamak için tekerleği "
+"döndürün.\n"
+"Ekrandaki fare tekerinin döndüğünü gördükten sonra fare düğmelerini deneyin "
+"ve\n"
+"fare işaretçisinin ekrandaki hareketini kontrol edin."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "Tekerlek Emülasyonlu"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr ""
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Lütfen doğru portu seçiniz. Örneğin, MS Windows'da ki \"COM1\"in karşılığı\n"
+"GNU/Linux'ta \"ttyS0\", \"COM2\"nin karşılığı \"ttyS1\"dir."
+
+#: ../help.pm:691
+#, fuzzy, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"GNU/Linux sisteminizin güvenliği için çok önemli karar noktasındasınız:\n"
+"\"root\" parolasını seçmelisiniz.\n"
+"\"root\" sistem yöneticisidir. Güncellemeler, kullanıcıların eklenmesi,\n"
+"sistemin yapılandırılması, v.s. için en yetkili kullanıcıdır. Kısaca,\n"
+"\"root\" herşeyi yapabilir! Bu nedenle tahmin edilmesi çok zor olan bir\n"
+"parola seçmelisiniz. - DrakX bu parolanın seçim kriterlerinde size yardımcı\n"
+"olarak bu zor kararı kolaylaştıracaktır. Göreceğiniz gibi bir parola\n"
+"vermemeyi de seçebilirsiniz. Fakat tek bir sebepten dolayı bu kararı\n"
+"almamanız sağlanmaya çalışılacaktır: GNU/Linux'un diğer işletim\n"
+"sistemlerinden farkı normal kullanıcılarının sisteme zarar verememelerinin\n"
+"sağlanmış olmasıdır. Sisteme zarar verebilecek tek kullanıcı \"root\"dur.\n"
+"Bu bakımdan sistemde \"root\" kullanıcısı olmak zorlaştırılmalıdır.\n"
+"\n"
+"Parolayı çok uzun ve çok karmaşık yapmayın ki hatırlaması zor olmasın.\n"
+"\n"
+"Parolayı yazarken ekranda görmeyeceksiniz. Bu bakımdan yazdığınızın\n"
+"doğruluğunu ancak yeniden yazarak anlayabilirsiniz. İkincisini yazarken\n"
+"hata yaparsanız DrakX sizi uyaracaktır. Ama hatayı ikisinde de yapar ve\n"
+"farkında olmazsanız bu \"yanlış\" parola ile sisteme giriş yapAMAmak\n"
+"zorunda kalabilirsiniz.\n"
+"\n"
+"Uzman kipte NIS ya da LDAP gibi bir kimlik kanıtlama sunucusuna bağlanıp\n"
+"bağlanmayacağınız sorulacaktır.\n"
+"\n"
+"Ağınızda kimlik sınaması için \"LDAP\" (ya da \"NIS\") protokolü\n"
+"kullanılıyorsa ilgili protokolü seçmelisiniz. Bu konuda bilginiz yoksa\n"
+"ağ yöneticinize danışın.\n"
+"\n"
+"Makinanız herhangi bir yönetimli ağa bağlanmayacaksa, kimlik kanıtlama için\n"
+"\"Yerel dosyalar\"ı seçeceksiniz."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "kimlikleme"
+
+#: ../help.pm:728
+#, fuzzy, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"LILO ve gub GNU/Linux önyükleyicileridir. Normal şartlar artında bu "
+"işlemler\n"
+"tamamen otomatik bir şekilde tamamlanır.\n"
+"\n"
+" * Eğer Bir Windows önyükleme sektörü bulundu ise, bu grub/LILO ile "
+"değiştirilir\n"
+"Bu aynı zamanda çoktan seçmeli önyükleme özelliğini getirir.\n"
+"\n"
+" * Eğer bir grub veya LILO önyükleme sektörü bulundu ise bunlar yeni şekli "
+"ile\n"
+"güncellenir.\n"
+"\n"
+" * Eğer bir tanımlama yapılamadı ise, DrakX size önyükleyiciyi nereye "
+"kuracağı\n"
+"sorusunu yönlendirir.\n"
+"\"Önyükleme aygıtı\": genelde öntanımlı ayarı değiştirmeye ihtiyacınız "
+"yoktur\n"
+"(\"Sürücünün ilk sektörü(MBR)\". Fakat tercihinize göre önyükleyiciyi "
+"ikincil\n"
+"sürücüye (\"/dev/hdb\") veya herhangi bir diskete yükleyebilirsiniz."
+
+#: ../help.pm:745
+#, fuzzy, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Burada kullanacağınız yazdırma sistemini seçeceksiniz. Diğer işletim\n"
+"sistemleri bir seçenek sunarken, Mandriva Linux size iki ayrı seçenek\n"
+"sunmaktadır. İki tip yazdırma sistemide özel yapılandırma türü için en "
+"iyidir.\n"
+"\n"
+" * \"pdq\" -- bir ağ yazıcısı kullanmıyorsanız, yazıcının kağıt yemesi\n"
+" durumunda tekrar yazdırma sorunu yaşamak istemiyorsanız, bir de \n"
+" makinanıza doğrudan bağlı bir yazıcınız varsa, 'kuyruğa değil doğrudan\n"
+" yazıcıya yolla' deme şansınız bulunuyor. 'Bu tam da benim aradığım "
+"özellik'\n"
+" diyorsanız \"PDQ\" seçeneğine tıklayınız.\n"
+" Bu seçenek eğer bu ilk linux deneyiminizse özellikle TAVSİYE edilir\n"
+"\n"
+" * \"%s\" - `` Unix Ortak Yazdırma Sistemi '' hem yerel yazıcınızı hem de "
+"ağ\n"
+" üzerindeki bir yazıcıyı kullanabilmenizi sağlayan, mevcut tüm \n"
+" sistemlerle uyumlu, eski \"lpd\" yazdırma sistemi için hem sunucu hem "
+"de \n"
+" istemci gibi davranabilen, basit ama mükemmel bir sistemdir. Çok "
+"çeşitli \n"
+" seçenekler sunmasına rağmen en az \"pdq\" kadar kolay ayarlanabilir. \n"
+" Bir \"lpd\" sunucusunu taklit etmek isterseniz \"cups-lpd\" artalan "
+"uygulamasını\n"
+" çalıştırabilirsiniz. Yazdırma ve yazıcı seçeneklerini belirlemek için\n"
+" bir grafik arayüze de sahiptir.\n"
+"\n"
+" Şimdi kararınızı verin. Kurulumdan sonra Mandriva Kontrol Merkezi'nden\n"
+" PrinterDrake uygulamasını çalıştırdıktan sonra uzman düğmesine\n"
+" tıklayarak seçimlerinizi değiştirebilirsiniz."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Uzman"
+
+#: ../help.pm:771
+#, fuzzy, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX ilk olarak sisteminizde mevcut olan IDE aygıtlarını algılayacaktır.\n"
+"Ayrıyeten PCI ve SCSI kartlarınıza ulaşmaya çalışacaktır.\n"
+"Eğer bir SCSI arabirimi bulursa otomatik olarak gerekli sürücü kuracaktır.\n"
+"\n"
+"Donanım algılama dört dörtlük bir sistem değildir, DrakX algılama sırasında\n"
+"başarısızlığa uğrayabilir.Eğer böyle bir durum olursa donanımınızı elle \n"
+"yapılandırmanız gerekecektir."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN kartı"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafiksel Arabirim"
+
+#: ../help.pm:861
+#, fuzzy, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Lütfen yeni Mandriva Linux disk bölümünüzü kurmak için silmek istediğiniz\n"
+"sabit diski seçin. Üzerindeki tüm verilerin yok olacağını ve geriye dönüşün\n"
+"mümkün olmayacağını unutmayın!"
+
+#: ../help.pm:866
+#, fuzzy, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Bu sabit disk üzerindeki tüm verinin ve bölümlerin silinmesini istiyorsanız\n"
+"\"%s\" tuşuna tıklayın. Dikkatli olun, \"%s\" tuşuna tıkladıktan\n"
+"sonra bu diskte bulunan tüm bölümlerinizi ve verilerinizi kaybedeceksiniz,\n"
+"bunlara Windows verileriniz dahildir.\n"
+"\n"
+"Sabit diskinizdeki hiçbir veriyi ya da bölümü silmeden bu işlemden\n"
+"vazgeçmek istiyorsanız lütfen \"%s\" tuşuna tıklayın."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Sonraki ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Önceki"
+
diff --git a/perl-install/install/help/po/uk.po b/perl-install/install/help/po/uk.po
new file mode 100644
index 000000000..b12515d03
--- /dev/null
+++ b/perl-install/install/help/po/uk.po
@@ -0,0 +1,1942 @@
+# translation of DrakX-uk.po to ukrainian
+# translation of DrakX.po to ukrainian
+# $Id: uk.po 26602 2006-04-22 07:43:48Z fwang $
+# Copyright (C) 2000,2003, 2004, 2005 Free Software Foundation, Inc.
+# Dmytro Kovalov <kov@tokyo.email.ne.jp>, 2000.
+# Taras Boychuk <btr1@torba.com>, 2003, 2004.
+# Taras Boychuk <btr1@mail.ru>, 2004, 2003.
+# Taras Boychuk <btr1@ukrpost.net>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-03-01 01:29+0200\n"
+"Last-Translator: Taras Boychuk <btr1@ukrpost.net>\n"
+"Language-Team: ukrainian <uk@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Перш, ніж продовжувати, прочитайте уважно умови ліцензії. Вона\n"
+"стосується всього дистрибутиву Мандріва лінакс. Якщо Ви\n"
+"погоджуєтесь з умовами ліцензії, помітьте \"%s\". Якщо ні,\n"
+"то натисніть \"%s\", щоб перезавантажити комп'ютер."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux - багатокористувацька система, це означає, що кожен з\n"
+"користувачів може мати свої власні установки, власні файли, тощо. Щоб\n"
+"більше дізнатися про це, Ви можете прочитати Підручник користувача з\n"
+"системи. Але на відміну від користувача Root, який є адміністратором\n"
+"системи, користувачі, яких Ви будете створювати на цьому кроці, не\n"
+"мають права змінювати нічого в системі, крім своїх власних файлів і\n"
+"власної конфігурації. Ви маєте створити рахунок для хоча б одного\n"
+"єдиного користувача - для самого себе. Ви будете користуватися цим\n"
+"рахунком для того, щоб виконувати щоденні задачі. І хоча це і дуже\n"
+"зручно реєструватись в системі як Root, але одночасно це і дуже\n"
+"небезпечно! Найменша помилка може призвести до того, що система буде\n"
+"неробочою. Якщо Ви помилитесь як звичайний користувач, Ви можете,\n"
+"звичайно, втратити деякі свої дані, але не всю систему.\n"
+"\n"
+"Перше поле запитує Ваше справжнє ім'я. Звичайно ж, воно не обов'язкове,\n"
+"Ви можете надрукувати все, що завгодно. DrakX візьме перше слово з цього\n"
+"поля і скопіює його в поле \"%s\", яке є ім'ям користувача, під яким "
+"користувач\n"
+"буде реєструватись у системі. Якщо захочете, Ви можете змінити це ім'я. \n"
+"Потім Вам потрібно ввести пароль. З міркувань безпеки системи пароль\n"
+"звичайного (не root) користувача не є таким критичним, як пароль \n"
+"адміністратора, але все одно немає причин для того, щоб нехтувати ним,\n"
+"залишаючи його порожнім або надто простим: врешті-решт, це загрожує\n"
+"Вашим власним файлам. \n"
+"\n"
+"Після того, як Ви натиснете кнопку \"%s\", Ви можете додати ще багато \n"
+"інших користувачів. Додайте користувача для кожного з Ваших друзів:\n"
+"для тата й сестри, наприклад. Після того, як Ви закінчили додавати\n"
+"користувачів, натисніть \"%s\".\n"
+"\n"
+"Натиснувши на кнопку \"%s\", Ви зможете змінити типову командну оболонку\n"
+"для кожного користувача (типова оболонка - bash). \n"
+"\n"
+"Коли Ви закінчите додавати користувачів, Вам буде запропоновано вибрати\n"
+"користувача, який буде автоматично реєструватися в системі при стартуванні\n"
+"комп'ютера. Якщо така можливість Вас цікавить (і не надто турбує про\n"
+"локальну безпеку), виберіть користувача і менеджер вікон, тоді натисніть "
+"на \n"
+"\"%s\". Якщо Вас така можливість не цікавить, відмініть вибір \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Ви хочете використовувати цю можливість?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Тут перелічені вже існуючі розділи, знайдені на Вашому твердому\n"
+"диску. Ви можете залишити вибір, зроблений Помічником, він підходить\n"
+"для більшості випадків встановлення. Якщо Ви робите якісь зміни, то "
+"потрібно\n"
+"як мінімум створити кореневу файлову систему (/). Не виділяйте\n"
+"для цього занадто малий розділ, бо інакше Ви не зможете встановити\n"
+"всі потрібні Вам програми. Якщо Ви бажаєте зберігати всі свої дані в\n"
+"окремому розділі, потрібно буде також створити розділ \"/home\" (тільки у\n"
+"випадку, якщо Ви маєте більше одного розділа для Лінакса). \n"
+"\n"
+"Кожен розділ показано в такому вигляді: \"Назва\", \"Розмір\".\n"
+"\n"
+"Назва розшифровується так: \"тип твердого диску\", \"номер твердого\n"
+"диску\", \"номер розділу на диску\", (наприклад: \"hda1\").\n"
+"\n"
+"\"Тип твердого диску\" - це \"hd\", якщо Ви маєте диск типу IDE, і \"sd\",\n"
+"якщо Ви маєте твердий диск типу SCSI.\n"
+"\n"
+"\"Номер твердого диску\" - це завжди літера після \"hd\" чи \"sd\". Для\n"
+"дисків типу IDE це:\n"
+"\n"
+" * \"a\" - головний диск (master) на першому контролері IDE,\n"
+"\n"
+" * \"b\" - вторинний (slave) диск на першому контролері IDE,\n"
+"\n"
+" * \"c\" - головний диск на другому контролері IDE,\n"
+"\n"
+" * \"d\" - вторинний диск на другому контролері IDE.\n"
+"\n"
+"Для SCSI дисків \"a\" означає \"головний диск\", \"b\" - другорядний диск, "
+"і\n"
+"т.д. ..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Дистрибутив Мандріва лінакс розміщений на кількох компакт-дисках.\n"
+"Якщо вибраний пакунок знаходиться на іншому диску, DrakX викине \n"
+"поточний компакт-диск і попросить вставити потрібний. Якщо у вас немає\n"
+"потрібного диску під руками, просто натисніть \"%s\", пакунок не буде\n"
+"встановлено."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Тепер час вибрати, які програми Ви хочете встановити в своїй\n"
+"системі. Мандріва лінакс має тисячі програмних пакунків, і щоб спростити\n"
+"керування ними, пакунки розміщено в групи подібних програм.\n"
+"\n"
+"Пакунки розсортовано в групи відповідно до способу використання Вашої\n"
+"машини. Мандріва Лінакс має чотири попередньо налаштовані типи\n"
+"встановлення. Ви можете комбінувати і підбирати програми з різних\n"
+"груп, і встановлення типу \"Робоча станція\"' може мати програми із групи\n"
+"пакунків \"Розробник\".\n"
+"\n"
+" * \"%s\": якщо Ви збираєтесь використовувати свою машину як робочу\n"
+"станцію, виберіть одну чи більше програм з цієї групи.\n"
+"\n"
+" * \"%s\": якщо Ви збираєтесь використовувати цю машину для\n"
+"програмування, виберіть відповідні пакунки з цієї групи. Спеціальна група\n"
+"\"СБЛ\" налаштує систему таким чином, що вона міститиме якнайповнішу\n"
+"специфікацію Стандартної бази Лінакса.\n"
+"\n"
+" При виборі групи \"СБЛ\" встановиться ядро серії \"2.4\", на відміну від\n"
+"\"2.6\", яке встановлюється типово. Ця зроблено для 100%% впевненості у\n"
+"сумісності з \"СБЛ\". Проте, якщо Ви не виберете групу \"СБЛ\", всеодно\n"
+"отримаєте систему майже 100%%-сумісну з \"СБЛ\".\n"
+"\n"
+" * \"%s\": якщо машина призначається для використання в якості\n"
+"сервера, виберіть додаткові сервіси, які Ви хочете встановити на своїй\n"
+"машині.\n"
+"\n"
+" * \"%s\": тут Ви можете вибрати графічне середовище собі до вподоби.\n"
+"Виберіть хоча б одне, якщо Ви хочете мати графічний інтерфейс.\n"
+"\n"
+"При пересуванні курсора над назвою групи буде висвічуватися текст із\n"
+"коротким поясненням про групу.\n"
+"\n"
+"Ви можете помітити \"%s\", що може використовуватися при добрих\n"
+"знаннях пакунків, або якщо Ви хочете мати повний контроль над тим,\n"
+"що встановлюєте.\n"
+"\n"
+"Якщо Ви почали встановлення в режимі \"%s\", можете зняти вибір усіх\n"
+"груп і не встановлювати жодних нових пакунків. Це можна\n"
+"використовувати при відновленні або поновленні системи.\n"
+"\n"
+"Якщо Ви зняли вибір усіх груп під час підготовки звичайного\n"
+"встановлення (на відміну від поновлення), появиться діалогове\n"
+"вікно з різними параметрами для мінімального встановлення:\n"
+"\n"
+" * \"%s\":встановити найменшу можливу кількість пакунків, щоб мати\n"
+"працюючу графічну стільницю.\n"
+"\n"
+" * \"%s\": встановлює основну систему плюс основні інструменти і їх\n"
+"документацію. Цей спосіб використовується для встановлення сервера.\n"
+"\n"
+" * \"%s\": встановить абсолютно найменшу кількість пакунків, необхідних,\n"
+"щоб отримати працюючу систему Лінакс. При цьому встановленні Ви\n"
+"будете мати тільки інтерфейс командного рядка. Загальний розмір цього\n"
+"встановлення становить біля 65 мегабайтів."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Поновлення"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Із загальною документацією"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Насправді мінімальне встановлення"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Якщо Ви вказали програмі встановлення, що хочете мати індивідуальний\n"
+"вибір пакунків, Вам буде показано повне дерево пакунків, зібраних за\n"
+"групами і підгрупами. Переглядаючи дерево, Ви зможете вибрати повні\n"
+"групи, підгрупи та окремі пакунки.\n"
+"\n"
+"Кожного разу, коли Ви вибираєте пакунок в дереві, справа з'являється\n"
+"підказка про призначення пакунка.\n"
+"\n"
+"!! Якщо було вибрано серверний пакунок, чи то шляхом спеціального\n"
+"вибору індивідуального пакунка, чи він є складовою частиною групи\n"
+"пакунків, Вам буде задане запитання, чи Ви справді бажаєте встановити\n"
+"ці сервери. В Мандріва лінакс всі встановлені сервери автоматично\n"
+"запускаються при завантаженні системи. Навіть, якщо на час придбання\n"
+"системи не було відомо жодних проблем з безпекою даних серверів,\n"
+"можливо, що після встановлення системи такі проблеми буде виявлено.\n"
+"Якщо Ви не знаєте призначення конкретного сервера або з якою метою\n"
+"його встановлено, натисніть \"%s\". Якщо Ви натиснете \"%s\", буде\n"
+"встановлено перелічені сервери і вони будуть стартувати автоматично під\n"
+"час завантаження !!\n"
+"\n"
+"Параметр \"%s\" використовується, щоб заборонити діалог попередження,\n"
+"який появляється, як тільки програма встановлення автоматично вибирає\n"
+"пакунки для задоволення залежностей. Деякі пакунки мають відношення\n"
+"до інших так, що встановлення пакунка вимагає, щоб інші програми також були\n"
+"встановлені. Програма встановлення може визначити, які пакунки необхідні\n"
+"для задоволення залежностей, щоб успішно завершити встановлення.\n"
+"\n"
+"Маленька піктограма дискети внизу списку дозволяє завантажити з дискети\n"
+"список, створений при попередньому встановленні. Це зручно використовувати,\n"
+"якщо є певна кількість машин, що мають бути сконфігуровані однаково.\n"
+"Після натискання цієї кнопки, система попросить Вас вставити попередньо\n"
+"створену дискету в кінці іншого встановлення. Перегляньте другу пораду\n"
+"останнього кроку про те, як створити таку дискету."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Автоматичні залежності"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": натиснення кнопки \"%s\" викликає Помічника налаштування\n"
+"друкарки. Зверніться до відповідного розділу \"Starter Guide\" для\n"
+"додаткової інформації про встановлення нової друкарки. Показаний\n"
+"там інтерфейс подібний до того, що використовується при встановленні."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Цей діалог використовується, щоб вибрати, які сервіси будуть запускатися\n"
+"автоматично при старті системи. \n"
+"\n"
+"DrakX надасть список всіх служб, можливих при цьому встановленні.\n"
+"Перегляньте уважно ці служби і відмініть вибір тих, які не повинні\n"
+"запускатися при старті системи.\n"
+"\n"
+"При виборі служби появляється короткий текст з поясненням про неї.\n"
+"Проте, якщо Ви не впевнені, чи потрібно використовувати якусь службу,\n"
+"залишіть запропонований вибір.\n"
+"\n"
+"!! Будьте особливо уважними, якщо Ви збираєтесь використовувати цю\n"
+"систему як сервер: можливо, не потрібно стартувати служби, які Вам\n"
+"не потрібні. Пам'ятайте, будь ласка, що деякі увімкнені служби можуть\n"
+"бути небезпечними на сервері. Одним словом, вибирайте тільки ті служби,\n"
+"які Вам дійсно необхідні. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux оперує часом по GMT (середній час по Ґрінвічу) і переводить\n"
+"його в місцевий час відповідно до часового поясу, який Ви вказали.\n"
+"Якщо годинник на Вашій материнській платі встановлено в локальний\n"
+"час, Ви можете відмінити \"%s\", що дасть змогу GNU/Linux знати, що\n"
+"системний годинник і апаратний годинник встановлені на один часовий\n"
+"пояс. Це використовується, коли машина також може завантажуватися\n"
+"в іншу операційну систему.\n"
+"\n"
+"Параметр \"%s\" автоматично наводить годинник шляхом під'єднання до\n"
+"віддаленого серверу часу в Інтернеті. Щоб ця можливість працювала, Ви\n"
+"повинні мати працююче з'єднання з Інтернетом. Найкраще вибрати сервер\n"
+"часу, розташований біля Вас. Цей параметр встановлює сервер часу, який\n"
+"також може використовуватися іншими машинами у Вашій місцевій мережі."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Автоматична синхронізація часу"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Графічна карта\n"
+"\n"
+" Програма встановлення в нормальному режимі автоматично знаходить\n"
+"і налаштовує графічну карту, встановлену на Вашій машині. Якщо цього не\n"
+"відбувається, Ви можете вибрати із списку карту, яку Ви встановили.\n"
+"\n"
+" У випадку, якщо Ваша карта підтримує різні сервери з або без\n"
+"3D-прискорення, Вам буде надана можливість вибрати сервер, який найбільше\n"
+"Вам підходить."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (для системи X Window) є серцем графічного інтерфейсу GNU/Linux,\n"
+"від якого залежать всі графічні середовища (KDE, GNOME, AfterStep,\n"
+"WindowMaker, і т.і.), пов'язані з Мандріва лінакс.\n"
+"\n"
+"Вам буде представлено список різних параметрів для налаштування,\n"
+"щоб отримати оптимальний графічний дисплей.\n"
+"\n"
+"Графічна карта\n"
+"\n"
+" Програма встановлення автоматично визначає і налаштовує графічну\n"
+"карту, встановлену в машину. Якщо вона визначена неправильно, Ви можете\n"
+"вибрати із списку карту, яка дійсно встановлена.\n"
+"\n"
+" У випадку, якщо Ваша карта підтримує різні сервери з або без 3D\n"
+"прискоренням, буде запропоновано вибрати сервер, який Вам найбільше\n"
+"підходить.\n"
+"\n"
+"\n"
+"\n"
+"Монітор\n"
+"\n"
+" Програма встановлення автоматично визначає і налаштовує монітор,\n"
+"під'єднаний до Вашої машини. Якщо це зроблено неправильно, Ви можете\n"
+"вибрати із списку монітор, який дійсно під'єднано до Вашого комп'ютера.\n"
+"\n"
+"\n"
+"\n"
+"Роздільна здатність\n"
+"\n"
+" Тут Ви можете вибрати роздільну здатність і кількість кольорів, які\n"
+"підтримує Ваше обладнання. Підберіть величини, які найбільше Вас\n"
+"влаштовують (Ви матимите змогу їх змінити пізніше). Зразок вибраного\n"
+"налаштування буде показано на моніторі.\n"
+"\n"
+"\n"
+"\n"
+"Тест\n"
+"\n"
+" В залежності від обладнання цього пункту може не бути.\n"
+"\n"
+" Система спробує відкрити графічний екран з вибраною роздільністю.\n"
+"Якщо Ви зможете побачити повідомлення під час тесту і відповісте \"%s\",\n"
+"DrakX перейде до наступного кроку. Якщо Ви не зможете бачити\n"
+"повідомлення, це означатиме, що певна частина автоматично визначеної\n"
+"конфігурації неправильна, тест автоматично завершиться через 12\n"
+"секунд і Ви повернетесь назад в меню. Змінюйте налаштування, поки\n"
+"не отримаєте коректний графічний дисплей.\n"
+"\n"
+"\n"
+"\n"
+"Параметри\n"
+"\n"
+" Тут Ви можете вибрати, чи хочете Ви, щоб Ваша машина автоматично\n"
+"перемикалася в графічний інтерфейс при завантаженні. Зрозуміло, що\n"
+"Ви захочете вибрати \"%s\", якщо Ваша машина є сервером, або якщо Ви\n"
+"не змогли успішно налаштувати дисплей."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монітор\n"
+"\n"
+" Програма встановлення звичайно автоматично виявляє і налаштовує монітор,\n"
+"під'єднаний до Вашої машини. Якщо вона це зробила неправильно, Ви можете\n"
+"вибрати правильний монітор з цього списку."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Роздільна здатність\n"
+"\n"
+" Тут Ви можете вибрати роздільну здатність і глибину кольору.\n"
+"Виберіть величини, які Вас найбільше влаштовують (Ви зможете\n"
+"їх змінити після встановлення). Зразок вибраного налаштування\n"
+"буде показано на моніторі."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"У випадку, якщо Ваша карта підтримує різні сервери, з або без 3D\n"
+"прискоренням, Вам буде запропоновано вибрати сервер, який Вам\n"
+"найбільше підходить."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Параметри\n"
+"\n"
+" Тут можна вказати, чи хочете Ви, щоб графічний інтерфейс вмикався\n"
+"автоматично при завантаженні системи. Вам потрібно вибрати \"%s\", якщо\n"
+"Ваша машина буде працювати сервером, або якщо Ви не змогли успішно\n"
+"налаштувати дисплей."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Тепер потрібно вирішити, де саме Ви б хотіли встановити систему\n"
+"Мандріва лінакс на твердому диску. Якщо твердий диск порожній, або\n"
+"якщо існуюча операційна система використовує весь простір, Вам\n"
+"потрібно буде перерозподілити диск. Фактично перерозподіл твердого\n"
+"диску полягає в логічному його розділенні, щоб створити місце для\n"
+"встановлення Мандріва Лінакса.\n"
+"\n"
+"Через те, що процес перерозбиття твердого диску звичайно є\n"
+"незворотнім і може призвести до втрати даних, якщо іншу операційну\n"
+"систему вже було встановлено, ця операція може бути відлякуючою\n"
+"і стресовою, якщо Ви є недосвідченим користувачем. На щастя, DrakX\n"
+"має помічника, який спрощує цей процес. Перед продовженням цього\n"
+"кроку прочитайте до кінця цього розділу і, що головне, приділіть трохи "
+"часу.\n"
+"\n"
+"В залежності від конфігурації Вашого твердого диску можливі кілька \n"
+"варіантів продовження:\n"
+"\n"
+" * \"%s\". Цей режим виконує автоматичне розбиття на розділи Вашого\n"
+"порожнього диску (дисків). Якщо Ви вибрали цю команду, інших\n"
+"запитань до Вас вже не буде.\n"
+"\n"
+" * \"%s\". Помічник виявив один або більше розділів Лінакс на Вашому\n"
+"твердому диску. Якщо Ви хочете використати їх, виберіть цей режим.\n"
+"Тоді Вам буде запропоновано вказати відповідні до кожного розділу точки\n"
+"монтування. Попередні точки монтування будуть показані типово і у\n"
+"більшості випадків залишити їх без змін буде прийнятним варіантом.\n"
+"\n"
+" * \"%s\". Якщо на Вашому твердому диску встановлено Microsoft Windows\n"
+"і він займає весь простір на ньому, Вам потрібно буде створити вільне\n"
+"місце для Лінакса. Щоб зробити це, Ви можете стерти всі розділи Microsoft\n"
+"Windows і дані (дивись команду \"Стерти весь диск\"), або змінити розмір\n"
+"розділу Microsoft Windows FAT або NTFS. Зміна розміру буде здійснена\n"
+"без втрати будь яких даних, які знаходяться на попередньо\n"
+"дефрагментованому розділі Windows. Дуже рекомендується зробити\n"
+"резервну копію Ваших даних. Використання цього режиму\n"
+"рекомендується, якщо Ви хочете використовувати Мандріва Лінакс \n"
+"і Майкрософт Віндовс на одному комп'ютері.\n"
+"\n"
+" Перед вибором цього режиму зрозумійте, що після виконання цієї\n"
+"процедури розмір розділу Microsoft Windows стане меншим, ніж до\n"
+"цього. Ви будете мати менше вільного місця у Microsoft Windows на\n"
+"зберігання даних і встановлення нових програм.\n"
+"\n"
+" * \"%s\". Якщо Ви хочете стерти всі дані і всі розділи, які є на твердому\n"
+"диску і замінити їх новою системою Мандріва Лінакс,\n"
+"виберіть цей режим. Будьте уважні, бо підтвердивши цей\n"
+"вибір, Ви вже не зможете повернутись назад.\n"
+"\n"
+" !! Якщо Ви виберете цей режим, всі дані на твердому диску будуть "
+"видалені. !!\n"
+"\n"
+" * \"%s\". Це просто зітре повністю весь диск і почне новий\n"
+"поділ на розділи. Всі дані на диску буде втрачено.\n"
+"\n"
+"!! Якщо Ви виберете цей режим, всі дані на диску будуть втрачені. !!\n"
+"\n"
+" * \"%s\". Виберіть цей режим, якщо Ви хочете вручну перерозподілити\n"
+"простір на Вашому твердому диску. Однак будьте обережними, це --\n"
+"потужний, але дуже небезпечний вибір, Ви можете дуже легко втратити\n"
+"всі дані. Тому цей режим насправді рекомендується тоді, якщо Ви вже\n"
+"щось подібне робили або маєте певний досвід. Для детальнішої інформації,\n"
+"як використовувати інструмент DiskDrake, звертайтеся до розділу\n"
+"\"Managing Your Partitions\" в \"Starter Guide\"."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Використовувати існуючий розділ"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Стерти весь диск"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Ось і все. Встановлення завершене і Ваша система GNU/Linux готова\n"
+"до використання. Просто натисніть \"%s\" для перезавантаження.\n"
+"Не забудьте вийняти носії (КД або дискету). Перше, що Ви побачите\n"
+"після завершення системою тестів обладнання, буде меню\n"
+"завантажувача, яке запропонує Вам вибір операційної системи\n"
+"для запуску.\n"
+"\n"
+"Кнопка \"%s\"покаже дві інші кнопки:\n"
+"\n"
+" * \"%s\": дозволяє створити дискету для встановлення, яка автоматично,\n"
+"без допомоги оператора виконає все встановлення, подібне до того, яке\n"
+"Ви щойно зробили.\n"
+"\n"
+" Зауважте, що після натиснення на кнопку будуть можливі два різні\n"
+"параметри:\n"
+"\n"
+" * \"%s\". Це частково автоматизоване встановлення. В режимі\n"
+"діалогу відбувається тільки етап розбиття на розділи.\n"
+"\n"
+" * \"%s\". Повністю автоматизоване встановлення: твердий диск\n"
+"повністю перезаписується, всі дані втрачаються.\n"
+"\n"
+" Цей параметр є дуже зручним при встановленні на багато подібних\n"
+"машин. Дивіться розділ Auto install на нашому веб-сайті для детальної\n"
+"інформації.\n"
+"\n"
+" * \"%s\"(*): зберігає список пакунків, вибраних при цьому встановленні.\n"
+"Щоб використати цей вибір при іншому встановленні, вставте дискету і\n"
+"запустіть встановлення. При підказці натисніть клавішу [F1] і введіть\n"
+">>linux defcfg=\"floppy\" << і натисніть [Enter].\n"
+"\n"
+"(*) Вам потрібно мати дискету у FAT-форматі. Щоб створити таку в\n"
+"GNU/Linux, введіть \"mformat a:\", або \"fdformat /dev/fd0\", а після цього\n"
+"\"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Створити дискету для автоматичного встановлення"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Якщо Ви вирішили використовувати деякі з існуючих розділів\n"
+"GNU/Linux, можливо, захочете переформатувати деякі з них\n"
+"для того, щоб стерти дані, які на них записані. Якщо Ви\n"
+"хочете це зробити, виберіть також розділи, які хочете\n"
+"відформатувати.\n"
+"\n"
+"Зауважте, однак, що не обов'язково форматувати всі розділи, які\n"
+"існували раніше. Ви повинні відформатувати розділи, які містять\n"
+"операційну систему (такі, як \"/\", \"/usr\" чи \"/var\"), але не мусите\n"
+"форматувати ті розділи, які містять дані, які Ви б хотіли зберегти\n"
+"(типово це розділ \"/home\").\n"
+"\n"
+"Будьте уважні з вибором розділів. Після форматування всі дані на\n"
+"вибраних розділах будуть стерті і їх вже не можна буде відновити.\n"
+"\n"
+"Натисніть на \"%s\", коли будете готові приступити до форматування\n"
+"розділів.\n"
+"\n"
+"Натисніть на \"%s\", якщо Ви хочете вибрати інші розділи для\n"
+"того, щоб встановити нову систему Мандріва лінакс.\n"
+"\n"
+"Натисніть на \"%s\", якщо Ви хочете вибрати розділи для\n"
+"перевірки на існування збійних блоків."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Коли Ви встановлюєте Мандріва лінакс, деякі пакунки можуть\n"
+"бути поновлені з часу виходу дистрибутиву. Можуть бути виправлені\n"
+"помилки, вирішені проблеми безпеки. Щоб мати користь від цих поновлень,\n"
+"зараз Ви можете звантажити їх з Інтернету. Перевірте \"%s\", якщо маєте\n"
+"зв'язок з Інтернетом, або \"%s\", якщо бажаєте встановити поновлені пакунки\n"
+"пізніше.\n"
+"\n"
+"Вибравши \"%s\", Ви побачите список адрес, звідки можуть бути взяті\n"
+"поновлення. Вам потрібно вибрати якісь із найближчих до Вас. Появиться\n"
+"дерево вибору пакунків: зробіть вибір і натисніть \"%s\", щоб звантажити\n"
+"і встановити їх, або \"%s\", щоб вийти."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"В цьому місці DrakX дасть Вам можливість вибрати рівень безпеки\n"
+"для Вашої системи. На практиці можна використовувати таке правило:\n"
+"рівень безпеки повинен бути вищий, якщо на машині зберігатимуться\n"
+"важливі дані, або якщо вона буде безпосередньо під'єднана до Інтернету.\n"
+"Платою за вищий рівень безпеки у більшості випадків є легкість у\n"
+"використанні.\n"
+"\n"
+"Якщо Ви не знаєте, на чому зупинитись, залиште все, як є. Ви зможете\n"
+"змінити рівень безпеки пізніше з допомогою інструменту draksec з \n"
+"Центру керування Мандріва.\n"
+"\n"
+"Поле \"%s\" може використовуватися для сповіщення користувача, який\n"
+"відповідає за безпеку. Повідомлення відправлятиметься на вказану адресу."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Адміністратор з безпеки"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Зараз Вам потрібно вибрати, які розділи використовувати для встановлення\n"
+"Вашої нової системи Мандріва лінакс. Якщо ці розділи вже були створені\n"
+"при попередньому встановленні системи GNU/Linux, або створені іншою\n"
+"програмою розподілу диску, Ви можете скористатися вже існуючими\n"
+"розділами. В іншому випадку потрібно створити розділи на твердому диску.\n"
+"\n"
+"Щоб створити розділи, Вам потрібно вибрати твердий диск. Ви можете\n"
+"вибрати диск, клацнувши на \"hda\" для першого диску типу IDE,\n"
+"\"hdb\" для другого диску типу IDE, \"sda\", якщо Ви будете встановлювати\n"
+"систему на першому диску типу SCSI і так далі.\n"
+"\n"
+"Щоб розбити диск на розділи, Ви можете скористатися такими командами:\n"
+"\n"
+" * \"%s\": видаляє всі розділи на вибраному твердому диску\n"
+"\n"
+" * \"%s\": ця команда автоматично створить розділи типу ext3 та swap\n"
+"на вільному місці диску\n"
+"\n"
+"\"%s\": дає доступ до додаткових параметрів:\n"
+"\n"
+" * \"%s\": записує таблицю розділів на дискету. Використовується для\n"
+"відновлення таблиці розділів при потребі. Дуже рекомендується виконувати\n"
+"цей крок.\n"
+"\n"
+" * \"%s\": дає змогу Вам відновити раніше записану таблицю розділів з\n"
+"дискети.\n"
+"\n"
+" * \"%s\": якщо таблиця розділів Вашого диску пошкоджена, Ви можете\n"
+"спробувати відновити її, скориставшись цією командою. Будь ласка,\n"
+"будьте обережними і пам'ятайте, що ця команда не завжди спрацьовує.\n"
+"\n"
+" * \"%s\": відмовитися від всіх змін і завантажити таблицю розділів, яка\n"
+"була на Вашому твердому диску.\n"
+"\n"
+" * \"%s\": відміна цього параметра зробить необхідним монтування і\n"
+"розмонтування знімних носіїв - дискети і компакт-диску - користувачами\n"
+"вручну.\n"
+"\n"
+" * \"%s\": використайте цю команду, якщо Ви хочете, щоб помічник розподілив\n"
+"Ваш диск. Рекомендується, якщо Ви не розумієтесь добре про\n"
+"розподіл диску. \n"
+"\n"
+" * \"%s\": використайте цю команду, щоб скасувати всі зміни.\n"
+"\n"
+" * \"%s\": дозволити додаткові дії при розбиванні (тип, параметри, формат)\n"
+"і отримати більше інформації про твердий диск.\n"
+"\n"
+" * \"%s\": ця команда запише зміни на диск після того, як Ви закінчите "
+"розбиття\n"
+"Вашого твердого диску. \n"
+"\n"
+"Коли Ви задаєте розмір розділу, можете точніше задати розмір,\n"
+"використовуючи клавіші курсора на клавіатурі.\n"
+"\n"
+"Примітка: Ви можете виконати будь-яку команду з клавіатури. Переміщайтеся\n"
+"по розділах з допомогою клавіш [Tab] і [Up/Down].\n"
+"\n"
+"Коли певний розділ вибрано, Ви можете використовувати:\n"
+"\n"
+" * Ctrl-c, щоб створити новий розділ (якщо вибрано порожній розділ)\n"
+"\n"
+" * Ctrl-d, щоб стерти розділ\n"
+"\n"
+" * Ctrl-m, щоб встановити точку монтування\n"
+"\n"
+"Щоб отримати інформацію про різні типи файлових систем, які Ви можете\n"
+"створити, прочитайте розділ ext2FS з \"Reference Manual\".\n"
+"\n"
+"Якщо Ви встановлюєте систему на комп'ютер з процесором PPC, можете\n"
+"створити маленький розділ типу HFS для завантаження 'bootstrap'\n"
+"(розміром не менше 1Мб) для завантажувача yaboot. Якщо Ви вирішите\n"
+"створити розділ трохи більшого розміру, скажімо 50Мб, Ви зможете\n"
+"також зберігати на ньому резервне ядро системи та віртуальний диск для\n"
+"аварійних завантажень системи. "
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Автоматичне монтування змінних носіїв"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Перемикнути між режимами Експерт/Звичайний"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"На Вашому диску знайдено більше одного розділа Майкрософт.\n"
+"Виберіть, будь ласка, розмір якого з них Ви хотіли б змінити, для\n"
+"того, щоб встановити операційну систем Мандріва лінакс.\n"
+"\n"
+"Кожен розділ подано в такому вигляді: \"Назва в Лінаксі\", \"Назва у\n"
+"Віндовс\", \"Розмір\".\n"
+"\n"
+"\"Назва в Лінаксі\" подана таким чином: \"тип твердого диску\",\n"
+"\"номер твердого диску\", \"номер розділу на диску\", (наприклад:\n"
+"\"hda1\").\n"
+"\n"
+"Тип твердого диску\" - це \"hd\", якщо Ви маєте диск типу IDE, і \"sd\",\n"
+"якщо Ви маєте твердий диск типу SCSI.\n"
+"\n"
+"\"Номер твердого диску\" - це завжди літера після \"hd\" чи \"sd\". Для\n"
+"дисків типу IDE це:\n"
+"\n"
+" * \"a\" - головний диск (master) на першому контролері IDE,\n"
+"\n"
+" * \"b\" - вторинний (slave) диск на першому контролері IDE,\n"
+"\n"
+" * \"c\" - головний диск на другому контролері IDE,\n"
+"\n"
+" * \"d\" - вторинний диск на другому контролері IDE.\n"
+"\n"
+"Для SCSI дисків \"a\" означає \"головний диск\", \"b\" - другорядний диск, "
+"і\n"
+"т.д. ...\n"
+"\n"
+"\"Назва у Віндовс\" - це літера Вашого твердого диску, як Ви її бачите\n"
+"при роботі у Віндовс (перший диск чи розділ називається \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": перевірити поточний вибір країни. Якщо Ви знаходитесь не\n"
+"в цій країні, натисніть кнопку \"%s\" і виберіть іншу країну. Якщо Вашої\n"
+"країни немає в першому переліку, натисніть \"%s\", щоб отримати повний\n"
+"список країн."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Цей крок виконується тільки у випадку, якщо на Вашій машині було\n"
+"знайдено старий розділ GNU/Linux.\n"
+"\n"
+"DrakX зараз потрібно знати, чи Ви хочете виконати нове встановлення,\n"
+"чи поновити існуючу систему Мандріва лінакс:\n"
+"\n"
+" * \"%s\": В більшій частині це повністю знищує стару систему. Якщо Ви\n"
+"хочете змінити розбиття твердого диску на розділи або змінити файлову\n"
+"систему, використовуйте цей параметр. Проте в залежності від схеми\n"
+"розбиття на розділи Ви можете оберегти деякі з існуючих даних від\n"
+"переписування.\n"
+"\n"
+" * \"%s\": цей тип встановлення дозволяє Вам поновити пакунки, вже\n"
+"встановлені на Вашій системі Мандріва лінакс. Ваша існуюча схема\n"
+"розбиття на розділи і дані користувачів не змінюються. Більшість інших\n"
+"кроків встановлення залишаються, подібно до стандартного встановлення.\n"
+"\n"
+"Використання параметра \"Поновлення\" працюватиме на системах з\n"
+"Мандріва лінакс версії \"8.1\" і пізніших. Виконання поновлення версій,\n"
+"попередніх до Мандріва лінакс \"8.1\" не рекомендується."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"В залежності від типової мови, яку Ви вказали у розділі, drakX\n"
+"автоматично вибере певний тип конфігурації клавіатури. Перевірте,\n"
+"щоб виділення відповідало Вашому вибору, якщо потрібно, виберіть\n"
+"відповідну мапу.\n"
+"\n"
+"Проте, може не існувати мапи клавіатури, що точно відповідає Вашій мові:\n"
+"наприклад, якщо Ви англомовний швейцарець, Ви все одно можете\n"
+"забажати користуватись швейцарською мапою. Або, якщо Ви говорите\n"
+"англійською, але живете в Квебеку, Ви потрапляєте в аналогічну\n"
+"ситуацію, коли Ваша рідна мова і мапа клавіатури не співпадають. В\n"
+"таких випадках цей крок встановлення дасть Вам змогу вибрати\n"
+"відповідну клавіатуру з наданого списку.\n"
+"\n"
+"Натисніть кнопку \"%s\", щоб побачити повний список мап клавіатур.\n"
+"\n"
+"Якщо Ви вибрали мапу, що основана на нелатинському алфавіті,\n"
+"наступний діалог дасть змогу вибрати комбінацію клавіш, яка\n"
+"перемикатиме клавіатуру між латинською і нелатинською мапами."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Перший крок - вибір мови.\n"
+"\n"
+"Ваш вибір мови вплине на мову документації, програми встановлення\n"
+"і систему в цілому. Спочатку виберіть регіон, в якому Ви знаходитесь,\n"
+"потім мову, якою Ви розмовляєте.\n"
+"\n"
+"Натиснувши кнопку \"%s\" Ви зможете вибрати інші мови, які можна\n"
+"встановити на Вашій робочій станції, при цьому встановлюються особливі\n"
+"для мови файли системної документації і програми. Наприклад, якщо\n"
+"в системі будуть працювати користувачі з Іспанії, виберіть англійську\n"
+"мову типовою з дерева перегляду і \"%s\" в розділі Додатково.\n"
+"\n"
+"Кілька слів про підтримку UTF-8 (юнікоду): Юнікод - це нове кодування\n"
+"символів, яке вміщує усі мови. Повна підтримка для GNU/Linux все ще\n"
+"знаходиться в стадії розробки. Через це Мандріва лінакс\n"
+"використовуватиме його залежно від вибору користувача:\n"
+"\n"
+" * Якщо Ви вибрали мови із традиційним кодуванням (мови latin1\n"
+"Українська, Японська, Китайська, Корейська, Тайська, Грецька,\n"
+"Турецька, більшість мов iso-8859-2), це кодування і\n"
+"використовуватиметься;\n"
+"\n"
+" * Інші мови використовуватимуть юнікод типово;\n"
+"\n"
+" * Якщо вибирається підтримка двох чи більше мов і вони не\n"
+"використовують однакове кодування, юнікод використовуватиметься\n"
+"для всієї системи;\n"
+"\n"
+" * Нарешті, незалежно від вибраної мови юнікод також\n"
+"використовуватиметься для системи у випадку, якщо користувач\n"
+"вказав \"%s\".\n"
+"\n"
+"Зауважте, що Ви не обмежені вибором однієї додаткової мови. Ви\n"
+"можете вибрати їх кілька або встановити їх всі, вибравши пункт \"%s\".\n"
+"Вибір підтримки мови означає вибір перекладів, шрифтів, перевірку\n"
+"орфографії і т.д.\n"
+"\n"
+"Для перемикання між різними мовами, встановленими в системі, можете\n"
+"виконати команду \"/usr/sbin/localedrake\" з правами \"root\", щоб змінити\n"
+"мову для всієї системи. Виконання цієї команди від звичайного\n"
+"користувача змінить мову тільки для даного конкретного користувача."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Іспанська"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Здебільшого DrakX не має проблем при визначенні кількості кнопок на\n"
+"Вашій миші. Якщо це стається, приймається, що Ви маєте двохкнопкову\n"
+"мишу, і можете сконфігурувати її для емуляції третьої кнопки. Третя\n"
+"кнопка на двохкнопковій миші може бути \"натиснута\" одночасним\n"
+"натисканням лівої і правої кнопок. DrakX автоматично знатиме, який\n"
+"інтерфейс використовує Ваша миша: PS/2, послідовний чи USB.\n"
+"\n"
+"У випадку, якщо Ви маєте мишу з трьома кнопками і без коліщатка,\n"
+"можете вибрати мишу \"%s\". DrakX тоді налаштує її так, щоб Ви могли\n"
+"симулювати його: для цього натисніть середню кнопку і переміщуйте\n"
+"мишу вперед-назад.\n"
+"\n"
+"Якщо з певних міркувань Ви хочете задати інший тип миші, виберіть його\n"
+"із списку, який пропонується.\n"
+"\n"
+"Ви можете вибрати пункт \"%s\", щоб встановити \"загальний\" тип,\n"
+"який працює майже з усіма типами мишок.\n"
+"\n"
+"Якщо Ви вибрали мишу, відмінну від запропонованої, буде показано\n"
+"тестове вікно. Перевірте кнопки і коліщатко, щоб переконатися, що\n"
+"миша працює добре. Якщо миша працює неправильно, натисніть\n"
+"пробіл або [Return], щоб припинити тест і повернутися в список вибору.\n"
+"\n"
+"Миші з коліщатком деколи не визначаються автоматично, тому Вам\n"
+"буде потрібно вибрати мишу із списку. Переконайтеся, що Ви\n"
+"вибираєте мишу відповідно до порта, до якого вона під'єднана. Після\n"
+"того, як Ви виберете мишу і натиснете на кнопку \"%s\", на екрані\n"
+"появиться зображення миші. Покрутіть коліщатко миші, щоб\n"
+"переконатися, що воно активізоване правильно. Після того, як Ви\n"
+"побачите, що коліщатко на екрані рухається відповідно до коліщатка\n"
+"на миші, протестуйте кнопки і переконайтеся, що вказівник миші\n"
+"на екрані рухається відповідно до переміщення миші."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "з емуляцією коліщатка"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Універсальна | Будь-яка миша PS/2 та USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Будь ласка, виберіть вірний порт. Наприклад, порт COM1 у MS\n"
+"Windows має назву ttyS0 у GNU/Лінаксі."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Це найважливіший крок для безпеки Вашої системи GNU/Linux: Вам\n"
+"потрібно ввести пароль для користувача Root. Root - це системний\n"
+"адміністратор і тільки йому дозволено робити поновлення системи,\n"
+"додавати користувачів, змінювати загальну конфігурацію системи,\n"
+"таке інше. Одним словом - Root може все! Ось чому Вам слід вибирати\n"
+"пароль, який важко вгадати - DrakX підкаже Вам, якщо пароль занадто\n"
+"легкий. Як Ви побачите, пароль вводити необов'язково, але ми\n"
+"настійливо застерігаємо Вас проти такого. GNU/Linux така ж схильна\n"
+"до помилок оператора, як і будь-яка інша система. Оскільки Root може\n"
+"обминути всі обмеження і ненароком стерти всі дані на всіх розділах,\n"
+"неуважно працюючи з ними, тому повинно бути важко стати\n"
+"користувачем root.\n"
+"\n"
+"Пароль має бути сумішшю алфавітно-цифрових символів і бути\n"
+"завдовжки не менше 8 символів. Ніколи не записуйте пароль - це\n"
+"зробить занадто легким отримання несанкціонованого доступу до\n"
+"системи.\n"
+"\n"
+"Одне застереження -- не робіть пароль занадто довгим чи складним,\n"
+"тому що Вам потрібно його запам'ятовувати.\n"
+"\n"
+"Коли Ви будете вводити пароль, його не буде видно на екрані. Щоб\n"
+"зменшити можливість помилки при вводі пароля \"всліпу\", Вам\n"
+"потрібно буде ввести його двічі. Якщо ж так станеться, що Ви\n"
+"допустите одну і ту ж помилку двічі, Вам потрібно буде ввести цей\n"
+"\"неправильний\" пароль при першій реєстрації в системі.\n"
+"\n"
+"Якщо Ви хочете дозволити доступ до цього комп'ютера для його\n"
+"контролю сервером автентифікації, натисніть кнопку \"%s\".\n"
+"\n"
+"Якщо Ваша мережа використовує служби автентифікації LDAP, NIS або\n"
+"PDC Windows Domain, виберіть одну з можливостей з \"%s\". Якщо Ви не\n"
+"знаєте, яку з них використовувати, запитайте в свого системного "
+"адміністратора.\n"
+"\n"
+"Якщо Ви боїтесь, що маєте проблеми із запам'ятовуванням паролів, якщо\n"
+"Ваш комп'ютер ніколи не буде під'єднано до Інтернету, або Ви абсолютно\n"
+"довіряєте всім, хто використовує Ваш комп'ютер, можете вибрати \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "розпізнавання"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Завантажувач є невеликою програмою, яка завантажується після\n"
+"увімкнення комп'ютера. Він відповідає за завантаження всієї\n"
+"системи. Зазвичай встановлення завантажувача є повністю\n"
+"автоматизованим. DrakX проаналізує завантажувальний сектор диску\n"
+"і відповідно до знайденого на ньому виконає таке:\n"
+"\n"
+" * якщо знайдено сектор завантаження Windows, він замінить його на\n"
+"сектор завантаження GRUB/LILO. В такий спосіб Ви зможете\n"
+"завантажувати як GNU/Linux, так і іншу ОС.\n"
+"\n"
+" * якщо знайдено сектор завантаження GRUB або LILO, його буде\n"
+"замінено на новий.\n"
+"\n"
+"Якщо неможливо визначити, DrakX запитає Вас, куди встановити\n"
+"завантажувач. В загальному випадку \"%s\" є найкращим місцем.\n"
+"Вибравши \"%s\", Ви не встановите завантажувач. Використовуйте\n"
+"це тільки тоді, коли розумієте, що робите."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Зараз настав час вибрати систему друку на Вашому комп'ютері. Інші\n"
+"ОС мають одну систему друку, але Мандріва лінакс пропонує дві.\n"
+"Кожна система друку найкраще підходить до різних типів конфігурації.\n"
+"\n"
+" * \"%s\" -- який є акронімом для \"друкувати, не ставити в чергу\", є\n"
+"вибором, коли Ви маєте безпосередньо під'єднану друкарку і не\n"
+"хочете мати проблем із зминанням паперу, і не маєте мережевих\n"
+"друкарок. (\"%s\" керуватиме тільки дуже простими випадками з\n"
+"мережею і є в деякій мірі повільнішим, ніж використання з мережами).\n"
+"Рекомендується використовувати \"pdq\", якщо це Ваш перший досвід\n"
+"використання GNU/Linux.\n"
+"\n"
+" * \"%s\" - \"Загальна система друку для Лінакс\", є відміннім вибором\n"
+"для друку на місцеву друкарку або на іншу в будь-якій точці планети.\n"
+"Вона проста для налаштування і може працювати як клієнт або сервер\n"
+"для старих систем друку \"lpd \", тобто є сумісною з попередніми\n"
+"операційними системами, які можуть все ще вимагати сервісів друку.\n"
+"Хоч вона і є дуже потужною, загальне встановлення є майже таким\n"
+"самим простим, як і \"pdq\". Якщо Вам потрібно емулювати сервер \"lpd\",\n"
+"переконайтеся, що увімкнена служба \"cups-lpd \". \"%s\" має графічну\n"
+"оболонку для друку або вибору параметрів друкарки і управління нею.\n"
+" \n"
+"Якщо Ви зараз зробите вибір, а пізніше побачите, що ця система друку\n"
+"Вам не подобається, Ви можете її замінити з допомогою PrinterDrake з\n"
+"Центру керування Мандріва , натиснувши кнопку \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Експертний режим"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Спочатку DrakX спробує відшукати всі тверді диски на Вашому\n"
+"комп'ютері. Також він зробить пошук одної або більше карт PCI SCSI.\n"
+"Якщо DrakX знайде плату SCSI, то автоматично встановить для неї\n"
+"драйвер.\n"
+"\n"
+"Через те, що визначення заліза не є простим, DrakX може завершити\n"
+"визначення твердих дисків невдало. Якщо таке трапиться, Вам потрібно\n"
+"буде ввести тип обладнання вручну.\n"
+"\n"
+"Якщо Вам потрібно буде вручну вибирати драйвер, DrakX запитає,\n"
+"чи хочете Ви налаштувати його параметри. Краще, якщо Ви вкажете\n"
+"DrakX випробувати плату з особливими для неї параметрами, потрібними\n"
+"для ініціалізації адаптера. У більшості випадків це працює нормально.\n"
+"\n"
+"Якщо DrakX не зможе встановити тип параметрів, необхідних для\n"
+"передачі обладнанню, Вам потрібно буде налаштувати драйвер вручну."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": якщо система визначить звукову карту, її тип буде показано тут.\n"
+"Якщо Ви побачите, що вона не того типу, що дійсно вставлена у Вашій\n"
+"системі, можете натиснути кнопку і вибрати інший драйвер."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX пропонує для перегляду підсумкову інформацію, яку він зібрав\n"
+"про Вашу систему. В залежності від встановленого заліза, у Вас\n"
+"повинні бути або всі, або деякі пункти. Кожен пункт може бути\n"
+"налаштований, що завершується коротким підсумком про поточну\n"
+"конфігурацію. Натисніть на відповідну \"%s\" кнопку, щоб змінити.\n"
+"\n"
+" * \"%s\": перевірити поточну мапу клавіатури і змінити, якщо потрібно.\n"
+"\n"
+" * \"%s\": перевірити вибір країни. Якщо Ви знаходитесь не в цій\n"
+"країні, натисніть кнопку \"%s\" і виберіть іншу. Якщо Вашої країни\n"
+"немає в показаному початковому списку, натисніть кнопку \"%s\",\n"
+"щоб отримати повний список країн.\n"
+"\n"
+" * \"%s\": типово DrakX визначає часовий пояс на основі країни, яку\n"
+"Ви вибрали. Ви можете натиснути кнопку \"%s\", якщо його визначено\n"
+"неправильно.\n"
+"\n"
+" * \"%s\": перевірте налаштування миші і натисніть на кнопку, щоб\n"
+"змінити, якщо необхідно.\n"
+"\n"
+" * \"%s\": натиснувши на кнопку \"%s\", Ви викличите Помічника\n"
+"налаштування друкарки. Зверніться до відповідного розділу \"Starter\n"
+"Guide\" для детальнішої інформації про те, як встановити нову\n"
+"друкарку. Інтерфейс, представлений там, є подібним до того, що\n"
+"використовується при встановленні.\n"
+"\n"
+" * \"%s\": якщо у Вашій системі знайдено звукову карту, її буде\n"
+"показано тут. Якщо Ви виявите, що показана звукова карта не є\n"
+"тою, що насправді встановлена у системі, можете натиснути на\n"
+"кнопку і вибрати інший драйвер.\n"
+"\n"
+" * \"%s\": якщо у Вашій системі знайдено карту ТБ, її має бути показано\n"
+"тут. Якщо ж Ви маєте карту ТБ, але її не знайдено, натисніть \"%s\",\n"
+"щоб спробувати налаштувати її вручну.\n"
+"\n"
+" * \"%s\": Ви можете натиснути \"%s\", щоб змінити параметри, пов'язані\n"
+"з картою, якщо бачите, що конфігурацію встановлено неправильно.\n"
+"\n"
+" * \"%s\": типово DrakX налаштовує графічний інтерфейс з роздільною\n"
+"здатністю \"800x600\" або \"1024x768\". Якщо це Вас не задовольняє,\n"
+"натисніть \"%s\", щоб переналаштувати графічний інтерфейс.\n"
+"\n"
+" * \"%s\": Якщо Ви хочете зараз налаштувати доступ до Інтернету\n"
+"або місцевої мережі. Зверніться до друкованої документації, або\n"
+"Центру керування Мандріва після завершення встановлення,\n"
+"щоб отримати повну довідку.\n"
+"\n"
+" * \"%s\": тут можна налаштувати адреси проксі HTTP і FTP, якщо\n"
+"Ваша машина знаходиться за проксі-сервером.\n"
+"\n"
+" * \"%s\": цей пункт дасть змогу перевизначити рівень безпеки, який\n"
+"встановлено попереднім кроком ().\n"
+"\n"
+" * \"%s\": якщо Ви плануєте під'єднати Вашу машину до Інтернету,\n"
+"хорошою ідеєю є захистися від вторгнення шляхом встановлення\n"
+"захисного шлюзу. Зверніться до відповідного розділу \"Starter Guide\"\n"
+"для детальнішої інформації про встановлення захисного шлюзу.\n"
+"\n"
+" * \"%s\": якщо Ви хочете змінити конфігурацію завантажувача,\n"
+"натисніть цю кнопку. Це зарезервовано для досвідчених користувачів.\n"
+"\n"
+" * \"%s\": тут Ви можете підправити, які служби будуть виконуватися\n"
+"на Вашій машині. Якщо Ви плануєте використовувати цю машину в\n"
+"якості сервера, хорошою ідеєю є переглянути ці налаштування."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Карта ISDN"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Графічний інтерфейс"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Виберіть твердий диск, який Ви хочете відформатувати для\n"
+"створення нового розділу Мандріва лінакса. Будьте обережні,\n"
+"всі дані, що знаходяться в цьому розділі, будуть втрачені і їх\n"
+"неможливо буде відновити!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Натисніть \"%s\", якщо Ви хочете стерти всі дані і розділи на цьому\n"
+"твердому диску. Будьте уважні, після натиснення на \"%s\" Ви\n"
+"не зможете відновити жодних даних і розділів на цьому твердому\n"
+"диску, включаючи також будь-які дані Віндовс.\n"
+"\n"
+"Натисніть \"%s\", щоб зупинити цю операцію без втрати даних і\n"
+"розділів, які знаходяться на цьому твердому диску."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Далі ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Попередній"
+
diff --git a/perl-install/install/help/po/uz.po b/perl-install/install/help/po/uz.po
new file mode 100644
index 000000000..f11696d44
--- /dev/null
+++ b/perl-install/install/help/po/uz.po
@@ -0,0 +1,1141 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-04-23 12:29+0200\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <kmashrab@uni-bremen.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Давом этишдан олдин лицензиянинг шартларини эътибор билан ўқиб\n"
+"чиқинг. Лицензия бутун Mandriva Linux'га тегишли. Агар унинг барча\n"
+"шартларига рози бўлсангиз, \"%s\"ни танланг. Агар рози бўлмасангиз,\n"
+"компьютерни ўчириб-ёқиш учун \"%s\" тугмасини босинг."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Бу қулайликдан фойдаланишни истайсизми?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux бир нечта компакт-дискларда тарқатилади. Агар танланган "
+"пакет\n"
+"бошқа компакт-дискда жойлашган бўлса, DrakX жорий компакт-дискни\n"
+"чиқаради ва тегишлисини қўйишни сўрайди. Агар сўралган компакт-диск сизда\n"
+"бўлмаса, \"%s\" тугмасини босинг. Бу ҳолда, тегишли пакетлар ўрнатилмайди."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Янгилаш"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Асосий қўлланмалар билан"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Ҳақиқий минимал ўрнатиш"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Монитор\n"
+"\n"
+" Одатда, ўрнатувчи компьютерингизга уланган мониторни\n"
+"автоматик равишда аниқлайди ва мослайди. Агар бу нотўғри\n"
+"бўлса, аслида уланган мониторни рўйхатдан танлашингиз мумкин."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Монитор\n"
+"\n"
+" Одатда, ўрнатувчи компьютерингизга уланган мониторни\n"
+"автоматик равишда аниқлайди ва мослайди. Агар бу нотўғри\n"
+"бўлса, аслида уланган мониторни рўйхатдан танлашингиз мумкин."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Дискда бор қисмлардан фойдаланиш"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Бутун дискни ўчириш"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Авто-ўрнатиш дискетни яратиш"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Хавфсизлик бошқарувчиси"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Одий/эксперт усулига ўтиш"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Истаган PS/2 ва USB сичқонча"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Илтимос тўғри портни танланг. Масалан, Windows'даги \"COM1\"\n"
+"портининг номи GNU/Linux'да \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "тасдиқлаш"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Эксперт"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": агар компьютерда товуш картаси аниқланса у шу ерда кўрсатилади.\n"
+"Агар кўрсатилган товуш картаси компьютердаги товуш картаси\n"
+"билан мос келмаса, тугмани босиб бошқа драйверни танлашингиз мумкин."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "График интерфейс"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Бу дискдаги барча маълумотни ва дискнинг барча қисмларини\n"
+"ўчириш учун \"%s\"ни босинг. Эҳтиёт бўлинг, \"%s\"ни босганингиздан\n"
+"кейин дискдаги маълумотни ва дискнинг қисмларини, шу жумлада\n"
+"Windows маълумотини ҳам, тиклаб бўлмайди.\n"
+"\n"
+"Маълумотни ва дискнинг барча қисмларини йўқотмасдан бу\n"
+"операцияни тўхтатиш учун \"%s\"ни босинг."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Кейинги ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Олдинги"
+
diff --git a/perl-install/install/help/po/uz@Latn.po b/perl-install/install/help/po/uz@Latn.po
new file mode 100644
index 000000000..6608ada4c
--- /dev/null
+++ b/perl-install/install/help/po/uz@Latn.po
@@ -0,0 +1,1142 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-04-23 12:29+0200\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <kmashrab@uni-bremen.de>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Davom etishdan oldin litsenziyaning shartlarini e'tibor bilan o'qib\n"
+"chiqing. Litsenziya butun Mandriva Linux'ga tegishli. Agar uning barcha\n"
+"shartlariga rozi bo'lsangiz, \"%s\"ni tanlang. Agar rozi bo'lmasangiz,\n"
+"kompyuterni o'chirib-yoqish uchun \"%s\" tugmasini bosing."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bu qulaylikdan foydalanishni istaysizmi?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux bir nechta kompakt-disklarda tarqatiladi. Agar tanlangan "
+"paket\n"
+"boshqa kompakt-diskda joylashgan bo'lsa, DrakX joriy kompakt-diskni\n"
+"chiqaradi va tegishlisini qo'yishni so'raydi. Agar so'ralgan kompakt-disk "
+"sizda\n"
+"bo'lmasa, \"%s\" tugmasini bosing. Bu holda, tegishli paketlar o'rnatilmaydi."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Yangilash"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Asosiy qo'llanmalar bilan"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Haqiqiy minimal o'rnatish"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr ""
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr ""
+
+#: ../help.pm:223
+#, fuzzy, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Monitor\n"
+"\n"
+" Odatda, o'rnatuvchi kompyuteringizga ulangan monitorni\n"
+"avtomatik ravishda aniqlaydi va moslaydi. Agar bu noto'g'ri\n"
+"bo'lsa, aslida ulangan monitorni ro'yxatdan tanlashingiz mumkin."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Odatda, o'rnatuvchi kompyuteringizga ulangan monitorni\n"
+"avtomatik ravishda aniqlaydi va moslaydi. Agar bu noto'g'ri\n"
+"bo'lsa, aslida ulangan monitorni ro'yxatdan tanlashingiz mumkin."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Diskda bor qismlardan foydalanish"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Butun diskni o'chirish"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Avto-o'rnatish disketni yaratish"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Xavfsizlik boshqaruvchisi"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr ""
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Odiy/ekspert usuliga o'tish"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr ""
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr ""
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Istagan PS/2 va USB sichqoncha"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Iltimos to'g'ri portni tanlang. Masalan, Windows'dagi \"COM1\"\n"
+"portining nomi GNU/Linux'da \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "tasdiqlash"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr ""
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Ekspert"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": agar kompyuterda tovush kartasi aniqlansa u shu erda ko'rsatiladi.\n"
+"Agar ko'rsatilgan tovush kartasi kompyuterdagi tovush kartasi\n"
+"bilan mos kelmasa, tugmani bosib boshqa drayverni tanlashingiz mumkin."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN karta"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Grafik interfeys"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Bu diskdagi barcha ma'lumotni va diskning barcha qismlarini\n"
+"o'chirish uchun \"%s\"ni bosing. Ehtiyot bo'ling, \"%s\"ni bosganingizdan\n"
+"keyin diskdagi ma'lumotni va diskning qismlarini, shu jumlada\n"
+"Windows ma'lumotini ham, tiklab bo'lmaydi.\n"
+"\n"
+"Ma'lumotni va diskning barcha qismlarini yo'qotmasdan bu\n"
+"operatsiyani to'xtatish uchun \"%s\"ni bosing."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Keyingi ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Oldingi"
+
diff --git a/perl-install/install/help/po/vi.po b/perl-install/install/help/po/vi.po
new file mode 100644
index 000000000..04e84249f
--- /dev/null
+++ b/perl-install/install/help/po/vi.po
@@ -0,0 +1,1869 @@
+# translation of DrakX-vi.po to
+# Vietnamese Translation for DrakX module.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Trinh Minh Thanh <tmthanh@yahoo.com> 2001-2005.
+# Larry Nguyen <larry@vnlinux.org> 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-vi version\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-06-02 21:17+0700\n"
+"Last-Translator: Larry Nguyen <larry@vnlinux.org>\n"
+"Language-Team: <gnomevi-list@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Trước khi tiếp tục, hãy đọc kỹ các điều khoản ghi trong bản quyền.\n"
+"Nó bao xuyên suốt toàn bộ phân phối Mandriva Linux. Nếu đồng ý với\n"
+"mọi điều khoản trong đó, nhấn vào hộp kiểm \"%s\". Nếu không, hãy\n"
+"nhấn nút \"%s\" để khởi động lại máy tính."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux là hệ thống đa người dùng, nghĩa là từng người dùng có thể có\n"
+"riêng các tùy thích, tập tin,... Bạn có thể đọc ``Starter Guide'' để biết "
+"thêm\n"
+"điều này.Nhưng không như \"root\", là người quản trị, các người dùng mà bạn\n"
+"thêm vào đây sẽ không được quyền thay đổi bất kỳ cái gì ngoài các tập tin\n"
+"và cấu hình của riêng họ. Bạn sẽ phải tạo ít nhất một người dùng thường lệ\n"
+"cho mình. Đó là tài khoản mà bạn nên dùng cho công việc hàng ngày. Mặc\n"
+"dù bạn cũng có thể đăng nhập \"root\" để làm việc, nhưng sẽ rất nguy hiểm!\n"
+"Chỉ một lỗi nhỏ cũng có thể làm hệ thống không hoạt động nữa. Nếu bạn\n"
+"gây một lỗi trầm trọng khi là người dùng thông thường, bạn có thể chỉ mất "
+"một\n"
+"số thông tin mà không làm ảnh hưởng tới toàn bộ hệ thống.\n"
+"\n"
+"Trường thứ nhất hỏi tên thật của bạn. Tuy nhiên, điều này không phải là bắt\n"
+"buộc. -- có thể nhập bất kỳ cái gì bạn muốn. DrakX sẽ lấy từ đầu tiên mà "
+"bạn\n"
+"nhập để đem nhập vào trường \"%s\", là tên mà người dùng này\n"
+"sẽ sử dụng để đăng nhập vào hệ thống. Nếu muốn, bạn có thể thay đổi nó.\n"
+"Bước tiếp theo là nhập mật khẩu. Về phương diện bảo mật, mật khẩu của người\n"
+"dùng thông thường không quan trọng như mật khẩu \"root\", nhưng cũng đừng\n"
+"để trống hay đặt quá đơn giản để bảo vệ các tập tin riêng của bạn.\n"
+"\n"
+"Mỗi khi nhấn \"%s\", bạn có thể thêm người dùng khác cho người thân như\n"
+"anh chị em... của bạn. Nhấn \"%s\" khi đã hoàn thành việc thêm người dùng.\n"
+"\n"
+"Nhấn nút \"%s\" cho phép bạn thay đổi \"shell\" mặc định cho người dùng\n"
+"đó (mặc định là bash).\n"
+"\n"
+"Khi đã hoàn thành việc thêm người dùng, bạn có thể chọn người dùng nào sẽ\n"
+"được tự động đăng nhập vào hệ thống khi khởi động máy tính. Nếu bạn thích\n"
+"tính năng này và không quan tâm nhiều đến bảo mật nội bộ, hãy chọn người\n"
+"dùng mong muốn và trình quản lý cửa sổ rối nhấn \"%s\". Nếu không thích\n"
+"dùng tính năng này, hãy bỏ chọn hộp kiểm \"%s\"."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Bạn muốn dùng tính năng này không?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Trên đây là danh sách các phân vùng Linux hiện có trên đĩa cứng của bạn.\n"
+"Bạn có thể giữ các lựa chọn do đồ thuật tạo ra, chúng thích hợp cho hầu hết\n"
+"các trường hợp thông thường. Nếu bạn tạo bất kỳ thay đổi nào, ít nhất phải\n"
+"định ra một phân vùng root (\"/\"). Đừng chọn phân vùng này nhỏ quá vì có "
+"thể bạn\n"
+"sẽ không thể cài đặt đủ phần mềm. Nếu bạn muốn đặt dữ liệu lên một phân\n"
+"vùng riêng biệt, bạn cũng cần tạo phân vùng cho \"/home\" (với điều kiện\n"
+"nếu bạn có sẵn hơn một phân vùng Linux).\n"
+"\n"
+"Mỗi phân vùng được liệt kê như sau: \"Tên\", \"Dung lượng\".\n"
+"\n"
+"\"Tên\" có cấu trúc như sau: \"kiểu đĩa cứng\", \"số hiệu đĩa cứng\",\n"
+"\"số hiệu phân vùng\" (ví dụ, \"hda1\").\n"
+"\n"
+"\"Kiểu ổ cứng\" là \"hd\" nếu ổ cứng của bạn là IDE và \"sd\"\n"
+"nếu là loại SCSI.\n"
+"\n"
+"\"Số hiệu ổ cứng\" luôn là chữ cái đứng sau \"hd\" hoặc \"sd\". Với các\n"
+"ổ cứng IDE:\n"
+"\n"
+" * \"a\" là \"ổ cứng chính nối với điều khiển IDE đầu tiên\",\n"
+"\n"
+" * \"b\" là \"ổ cứng phụ nối với điều khiển IDE đầu tiên\",\n"
+"\n"
+" * \"c\" là \"ổ cứng chính nối với điều khiển IDE thứ hai\",\n"
+"\n"
+" * \"d\" là \"ổ cứng phụ nối với điều khiển IDE thứ hai\".\n"
+"\n"
+"Với các ổ đĩa SCSI, \"a\" là \"SCSI ID thấp nhất\", \"b\" là \"SCSI ID\n"
+"thấp thứ nhì\", v.v..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Việc cài đặt Mandriva Linux được phân phối trên vài đĩa CDROM. Nếu\n"
+"một gói được chọn nằm trên CD khác, DrakX sẽ nhả CD hiện thời và yêu\n"
+"cầu bạn nạp CD thích hợp. Nếu không có CD đó, hãy nhấn \"%s\", gói\n"
+"tương ứng sẽ không được cài đặt."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Bây giờ là lúc chỉ ra chương trình nào mà bạn muốn cài đặt vào hệ thống.\n"
+"Hiện có hàng nghìn gói tin dùng cho Mandriva Linux và được tổ chức theo\n"
+"nhóm các ứng dụng giống nhau để dễ dàng quản lý.\n"
+"\n"
+"Các gói phần mềm được xếp loại theo các nhóm tương ứng với việc sử dụng\n"
+"cụ thể cho máy tính. Mandriva Linux có 4 kiểu cài đặt sẵn với nhiều loại gói "
+"tin.\n"
+"Bạn có thể chọn dùng các ứng dụng pha trộn của các kiểu cài đặt này, ví dụ\n"
+"như cài đặt kiểu ``Máy trạm'' cùng với việc cài các ứng dụng của kiểu cài\n"
+"đặt ``Máy chủ''.\n"
+"\n"
+" * \"%s\": nếu định dùng máy tính này thành một trạm làm việc,\n"
+"hãy chọn một hay nhiều ứng dụng của kiểu cài đặt máy trạm.\n"
+"\n"
+" * \"%s\": nếu định sử dụng máy này để lập trình, hãy chọn các gói\n"
+"mong muốn từ kiểu cài đặt này. Nhóm \"LSB\" sẽ cấu hình hệ thống\n"
+"sao cho việc biên dịch tuân theo mọi đặc điểm của Linux Standard\n"
+"Base.\n"
+"\n"
+" Chọn nhóm \"LSB\" sẽ cài đặt kernel \"2.4\" thay vì kernel mặc định là\n"
+"\"2.6\". Điều này đảm bảo hệ thống tương thích LBS 100%%. Dù sao, nếu\n"
+"không chọn nhóm này thì bạn cũng vẫn có một hệ thống gần như tương\n"
+"thích hoàn toàn với LSB.\n"
+"\n"
+" * \"%s\": nếu muốn dùng máy này làm máy chủ, hãy chọn các dịch vụ\n"
+"thông dụng mà bạn muốn cài đặt lên máy tính này.\n"
+"\n"
+" * \"%s\": đây là nơi bạn sẽ chọn môi trường đồ họa ưa thích.\n"
+"Cần chọn ít nhất một môi trường nếu muốn dùng giao diện đồ họa.\n"
+"\n"
+"Việc hơ con trỏ chuột lên tên nhóm sẽ làm xuất hiện đoạn chú giải vắn\n"
+"tắt về nhóm đó.\n"
+"\n"
+"Có thể chọn \"%s\" nếu bạn biết rõ các gói tin hay khi bạn muốn kiểm\n"
+"soát toàn bộ việc cài đặt các gói.\n"
+"\n"
+"Nếu cài đặt theo chế độ \"%s\", bạn có thể bỏ chọn toàn bộ các nhóm\n"
+"và không cho cài đặt các gói mới. Nó thích hợp cho việc sửa chữa hay\n"
+"cập nhật hệ thống sẵn có.\n"
+"\n"
+"Nếu bạn bỏ chọn toàn bộ các nhóm khi thực hiện cài đặt thường quy\n"
+"(ngược lại với việc nâng cấp), một hộp thoại sẽ bật lên để gợi ý các tùy\n"
+"chọn khác nhau cho việc cài đặt tối thiểu:\n"
+"\n"
+" * \"%s\": thực hiện cài đặt tối thiểu các gói tin mà để có một màn hình\n"
+"nền đồ họa làm việc.\n"
+"\n"
+" * \"%s\": cài đặt một hệ thống cơ bản cộng thêm các\n"
+"tiện ích cơ bản cùng với tài liệu của chúng. Việc cài đặt này thích hợp \n"
+"cho việc thiết lập một máy chủ.\n"
+"\n"
+" * \"%s\": sẽ cài đặt thật sự tối thiểu nhất các gói\n"
+"cho một hệ thống Linux hoạt động chỉ với giao diện dòng lệnh. Kích thước\n"
+"cho kiểu cài đặt này là\n"
+"65 MB."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Nâng cấp"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Kèm tài liệu cơ bản"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Cài đặt thật tối thiểu"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Nếu bạn đã yêu cầu trình cài đặt là bạn muốn tự chọn thêm các gói tin,\n"
+"bạn sẽ thấy một cây chứa toàn bộ các gói xếp loại theo nhóm và nhóm\n"
+"con. Trong khi duyệt cây này, bạn có thể chọn toàn bộ các nhóm, nhóm\n"
+"con, hay các gói chọn riêng.\n"
+"\n"
+"Bất kỳ khi nào bạn chọn một gói tin trên cây, một thuyết minh sẽ xuất\n"
+"hiện từ phải sang trái để cho bạn biết công dụng của gói đó.\n"
+"\n"
+"!! Nếu các gói tin cho server được chọn cố tình hoặc do nó là thành\n"
+"phần của một nhóm, bạn sẽ được hỏi để khẳng định là bạn thật sự\n"
+"muốn những server này được cài đặt. Trong Mandriva Linux, bất kỳ\n"
+"server đã được cài đặt nào đều chạy vào lúc khởi động theo mặc định.\n"
+"Thậm chí được coi là an toàn tại thời điểm phát hành, nó vẫn có thể\n"
+"có lỗ hổng bảo mật được phát hiện sau khi phát hành phiên bản Mandriva\n"
+"Linux. Nếu không biết một dịch vụ nào đó được dùng để làm gì\n"
+"hay tại sao lại được cài đặt, hãy nhấn \"%s\". Nhấn \"%s\" sẽ cài\n"
+"đặt các dịch vụ được liệt kê và chúng sẽ khởi chạy tự động theo\n"
+"mặc định. !!\n"
+"\n"
+"Tùy chọn \"%s\" đơn giản là để không xuất hiện hộp thoại cảnh báo khi\n"
+"chương trình cài đặt tự động chọn gói tin để giải quyết phụ thuộc.\n"
+"Một số gói có liên quan với nhau như việc cài đặt gói này yêu cầu một\n"
+"số chương trình đã phải được cài đặt. Trình cài đặt sẽ xác định những\n"
+"gói nào cần có để thỏa mãn vấn đề phụ thuộc nhằm mục đính hoàn thành\n"
+"quá trình cài đặt.\n"
+"\n"
+"Biểu tượng đĩa mềm nhỏ nằm ở bên dưới danh sách cho phép nạp danh\n"
+"sách các gói tin được chọn trong lần cài đặt trước. Việc này có ích khi\n"
+"bạn có nhiều máy tính và muốn cấu hình chúng giống nhau. Nhấn lên biểu\n"
+"tượng này sẽ yêu cầu bạn nạp đĩa mềm được tạo từ lần cài đặt trước, tại\n"
+"giai đoạn cuối. Hãy xem lời khuyên thứ hai của bước cuối cùng về cách tạo\n"
+"một đĩa mềm như vậy."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Các phụ thuộc tự động"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\": việc nhấn nút \"%s\" sẽ mở đồ thuật cấu hình máy in.\n"
+"Tham khảo chương tương ứng trong ``Starter Guide'' để biết thêm\n"
+"thông tin về cách thiết lập máy in mới. Giao diện hiện diện tại\n"
+"đó giống như giao diện thấy trong quá trình cài đặt."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Hộp thoại này dùng để chọn khởi chạy dịch vụ nào bạn muốn khi khởi\n"
+"động hệ thống.\n"
+"\n"
+"DrakX sẽ liệt kê mọi dịch vụ hiện có của cài đặt hiện hành. Hãy xem xét "
+"thận\n"
+"trọng từng dịch vụ và bỏ chọn những gì không cần lúc khởi động.\n"
+"\n"
+"Bạn có thể nhận được một đoạn chú giải ngắn về dịch vụ khi chọn. Tuy\n"
+"nhiên, nếu không biết rõ dịch vụ đó có hữu ích hay không, để an toàn,\n"
+"hãy để theo mặc định.\n"
+"\n"
+"!! Thật thận trọng ở bước này nếu bạn định dùng máy này làm máy\n"
+"chủ: có thể bạn sẽ không muốn khởi chạy các dịch vụ không cần đến.\n"
+"Nên nhớ là một số dịch vụ có thể gây nguy hiểm khi chúng được chạy\n"
+"trên máy chủ. Nói chung, chỉ chọn các dịch vụ thực sự cần thiết. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux quản lý thời gian theo GMT (Greenwich Mean Time) và chuyển\n"
+"thành giờ địa phương tùy theo múi giờ bạn chọn. Nếu đồng hồ trong máy\n"
+"bạn đặt theo giờ địa phương, bạn có thể bất hoạt điều này bằng việc\n"
+"thôi chọn \"%s\", nó sẽ làm cho GNU/Linux biết đồng hồ trong máy và\n"
+"đồng hồ hệ thống là cùng múi giờ. Việc này hữu ích máy tính cũng chứa\n"
+"một hệ điều hành khác như là Windows.\n"
+"\n"
+"Tùy chọn \"%s\" sẽ tự động điều chỉnh đồng hồ bằng cách nối với một máy\n"
+"chủ thời gian ở xa trên Internet. Trong danh sách hiển thị, hãy chọn\n"
+"một máy chủ ở gần bạn. Tất nhiên, bạn phải có một kết nối Internet để\n"
+"cho tính năng này hoạt động. Thực tế là nó sẽ cài đặt một máy chủ thời\n"
+"gian lên máy tính này để các máy khác trong mạng cục bộ tùy ý sử dụng."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Tự động đồng bộ hóa thời gian"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Card Đồ Họa\n"
+"\n"
+" Bình thường, trình cài đặt có khả năng tự động phát hiện và cấu\n"
+"cấu hình card đồ họa có trong máy tính. Nếu không được vậy, bạn\n"
+"có thể chọn nó trong danh sách này.\n"
+"\n"
+" Trong trường hợp có server khác sẵn dùng cho card này, có hoặc\n"
+"không có tăng tốc 3D, bạn sẽ được đề nghị chọn server thích hợp nhất\n"
+"cho nhu cầu của bạn."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (cho hệ thống cửa sổ X) là trái tim của giao diện đồ họa GNU/Linux\n"
+"mà trên đó mọi môi trường đồ họa (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) được kết hợp trong Mandriva Linux.\n"
+"\n"
+"Bạn sẽ được xem danh sách các tham số khác nhau để thay đổi sao\n"
+"cho việc hiển thị đồ họa được tối ưu.\n"
+"\n"
+"Card đồ họa\n"
+"\n"
+" Trình cài đặt thông thường sẽ tự động phát hiện và cấu hình card\n"
+"đồ họa có trong máy. Nếu không được như vậy, bạn có thể chọn\n"
+"cái bạn thật sự có trong danh sách này.\n"
+"\n"
+" Trong trường hợp có các server khác nhau cho card của bạn, có hay\n"
+"không có tăng tốc 3D, bạn sẽ được đề nghị chọn server nào mà thích\n"
+"hợp nhất với nhu cầu của bạn.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Trình cài đặt thông thường sẽ tự động phát hiện và cấu hình monitor\n"
+"nối với máy của bạn. Nếu không được như vậy, bạn có thể chọn trong\n"
+"danh sách này cái mà bạn thật sự có.\n"
+"\n"
+"\n"
+"\n"
+"Độ phân giải\n"
+"\n"
+" Bạn có thể chọn ở đây độ phân giải và độ sâu màu trong số những cái\n"
+"hiện có cho phần cứng của bạn. Hãy chọ một cái phù hợp nhất với nhu\n"
+"cầu của bạn (và có thể thay đổi sau khi cài đặt. Ví dụ về cấu hình được\n"
+"chọn hiển thị trên monitor.\n"
+"\n"
+"\n"
+"\n"
+"Chạy thử\n"
+"\n"
+" Hệ thống sẽ mở một màn hình đồ hoạ với độ phân giải mong muốn.\n"
+"Nếu bạn nhìn thấy thông điệp trong khi chạy thử và trả lời \"%s\", thì\n"
+"DrakX sẽ thực hiện bước tiếp theo. Nếu bạn không nhìn thấy, nghĩa là\n"
+"một số phần nào đó của cấu hình được phát hiện tự động đã không\n"
+"đúng và việc chạy thử sẽ tự kết thúc sau 12 giây, đưa bạn trở về với\n"
+"menu. Hãy thay đổi các thiết lập tới khi bạn nhận hiển thị đồ họa đúng.\n"
+"\n"
+"\n"
+"\n"
+"Các tùy chọn\n"
+"\n"
+" Tại đây có thể chọn việc máy tính của bạn tự động chuyển vào giao\n"
+"diện đồ họa khi khởi động hay không. Hiển nhiên là bạn muốn chọn\n"
+"\"%s\" nếu bạn dùng máy này làm máy chủ, hay khi bạn đã không\n"
+"thành công trong việc cấu hình hiển thị đồ họa."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Monitor\n"
+"\n"
+" Thông thường, trình cài đặt có khả năng tự động phát hiện và cấu hình\n"
+"monitor nối với máy tính. Nếu không được vậy, bạn có thể chọn trong\n"
+"danh sách monitor cho cái bạn có."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Độ phân giải\n"
+"\n"
+" Tại đây có thể chọn các độ phân giải và độ sâu màu sẵn có cho\n"
+"phần cứng bạn có. Hãy chọn cái thích hợp nhất với nhu cầu của bạn\n"
+"(và có thể thay đổi lại sau khi cài đặt). Ví dụ về cấu hình được chọn\n"
+"sẽ hiển thị trên monitor."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"Trong trường hợp có các server khác dùng được cho card của bạn, có\n"
+"hay không có tăng tốc 3D, bạn sẽ được đề nghị chọn server nào thích\n"
+"hợp nhất cho nhu cầu của bạn."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Tùy chọn\n"
+"\n"
+"...Tại đây, bạn có thể chọn việc hệ thống tự khởi động vào giao diện\n"
+"đồ họa. Hiển nhiên, bạn muốn trả lời \"%s\" nếu máy của bạn hoạt động\n"
+"như một máy chủ, hay khi bạn không thành công trong việc cấu hình hiển\n"
+"thị."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Lúc này bạn cần chọn nơi nào trên đĩa cứng sẽ cài đặt hệ điều hành\n"
+"Mandriva Linux. Nếu như đĩa cứng chưa có gì hoặc nếu đã có một hệ\n"
+"điều hành đang sử dụng toàn bộ không gian đĩa, bạn cần thực hiện việc\n"
+"phân vùng đĩa. Về cơ bản, việc phân vùng một ổ đĩa cứng là phân chia\n"
+"các ổ lý luận, tạo không gian để cài đặt hệ thống Mandriva Linux mới.\n"
+"\n"
+"Do kết quả của quá trình phân vùng thường không thay đổi lại được nữa,\n"
+"nên việc phân vùng có thể gây sợ hãi và căng thẳng nếu bạn không phải\n"
+"người dùng có kinh nghiệm. May thay, DrakX đã có đồ thuật đơn giản hoá\n"
+"việc này. Trước khi bắt đầu, hãy đọc phần hướng dẫn dưới đây và trên hết\n"
+"là đừng vội vàng.\n"
+"\n"
+"Tùy thuộc vào cấu hình của đĩa cứng, sẵn có một số tùy chọn như sau:\n"
+"\n"
+" * \"%s\": tùy chọn này sẽ tiến hành tự động việc\n"
+"phân vùng cho đĩa trống. Bạn sẽ không bị nhắc là phải làm gì nữa nếu\n"
+"dùng tùy chọn này.\n"
+"\n"
+" * \"%s\": đồ thuật đã phát hiện thấy một hoặc nhiều\n"
+"phân vùng Linux hiện có trên đĩa cứng. Nếu muốn dùng chúng, hãy dùng\n"
+"tùy chọn này. Bạn sẽ được hỏi về các điểm gắn kết cho từng phân vùng.\n"
+"Các điểm gắn kết kế tục được chọn theo mặc định và trong hầu hết các\n"
+"trường hợp, bạn nên giữ chúng.\n"
+"\n"
+" * \"%s\": nếu Windows đã\n"
+"được cài đặt trên đĩa cứng và dùng toàn bộ không gian đĩa, bạn cần tạo\n"
+"không gian trống cho Linux. Để làm việc đó, bạn có thể xóa bỏ dữ liệu và\n"
+"phân vùng của Microsoft Windows (xem giải pháp ``Xóa toàn bộ đĩa'') hoặc\n"
+"lập lại kích thước phân vùng của MS Windows mà có thể không bị mất bất\n"
+"kỳ dữ liệu nào. Tuy nhiên bạn rất nên thực hiện việc sao lưu dữ liệu trước "
+"đã.\n"
+"Nên chọn giải pháp này nếu muốn dùng cả Mandriva Linux và Windows trên\n"
+"cùng một máy tính.\n"
+"\n"
+" Trước khi chọn tùy chọn này, hãy hiểu là sau khi thực hiện cách này,\n"
+"kích thước phân vùng của MS Windows sẽ nhỏ hơn so với lúc này.\n"
+"Sẽ có ít không gian trống hơn trong Microsoft Windows để lưu dữ\n"
+"liệu và cài đặt phần mềm mới.\n"
+"\n"
+" * \"%s\": nếu muốn xoá toàn bộ dữ liệu và các phân vùng\n"
+"hiện có trên ổ cứng và thay thế bằng hệ thống Mandriva Linux mới,\n"
+"hãy dùng tùy chọn này. Hãy thận trọng với tùy chọn này vì sẽ không\n"
+"thể thay đổi lựa chọn sau khi đã khẳng định.\n"
+"\n"
+" !! Nếu chọn tùy chọn này, toàn bộ dữ liệu trên đĩa sẽ mất. !!\n"
+"\n"
+" * \"%s\": đơn giản là sẽ xoá sạch mọi thứ có trên\n"
+"đĩa, làm sạch, phân vùng mọi thứ từ đầu. Mọi dữ liệu trên đĩa sẽ\n"
+"bị mất.\n"
+"\n"
+" !! Nếu chọn tùy chọn này, mọi dữ liệu trên đĩa sẽ mất. !!\n"
+"\n"
+" * \"%s\": dùng tùy chọn này khi bạn muốn tự phân\n"
+"vùng đĩa cứng. Hãy cẩn thận - đây là tùy chọn mạnh nhưng nguy hiểm, rất\n"
+"dễ bị mất mọi dữ liệu. Vì vậy, không nên chọn chế độ này trừ khi trước\n"
+"đây bạn đã từng thực hiện và đã có kinh nghiệm."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Dùng phân vùng hiện thời"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Xoá toàn bộ đĩa"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Chúc mừng. Việc cài đặt đã hoàn thành và hệ thống GNU/Linux sẵn sàng\n"
+"để sử dụng. Hãy nhấn \"%s\" để khởi động lại hệ thống. Cái đầu tiên mà\n"
+"bạn thấy sau khi kết thúc việc kiểm tra phần cứng sẽ là menu của trình\n"
+"nạp khởi động, nó cho bạn chọn hệ điều hành nào sẽ khởi động.\n"
+"\n"
+"Nút \"%s\" hiển thị thêm 2 nút để:\n"
+"\n"
+" * \"%s\": để tạo một đĩa mềm cài đặt nhờ đó\n"
+"sẽ tự động thực hiện toàn bộ quá trình cài đặt mà không cần có người\n"
+"thực hiện, giống hệt như quá trình cài đặt mà bạn vừa tiến hành.\n"
+"\n"
+" Lưu ý: sẽ có 2 tùy chọn khác nhau sau khi nhấn chuột lên nút:\n"
+"\n"
+" * \"%s\". là quá trình cài đặt tự động từng phần. Chỉ còn\n"
+"bước phân vùng là còn phải tương tác.\n"
+"\n"
+" * \"%s\". Cài đặt hoàn toàn tự động: đĩa cứng được ghi lại\n"
+"hoàn toàn, mọi dữ liệu bị mất.\n"
+"\n"
+" Tính năng này rất thuận tiện khi thực hiện cài đặt cho một số lượng\n"
+"lớn các máy giống nhau. Xem Phần cài đặt tự động tại website của hãng.\n"
+"\n"
+" * \"%s\"(*) : lưu lại danh sách các gói được chọn của quá trình cài đặt\n"
+"này. Để dùng việc chọn này cho lần cài đặt khác, hãy nạp đĩa mềm vào ổ\n"
+"và bắt đầu chạy quá trình cài đặt. Tại dấu nhắc, nhấn phím [F1] và gõ\n"
+">>linux defcfg=\"floppy\"<<.\n"
+"\n"
+"(*) Bạn cần một đĩa mềm được định dạng FAT. Để tạo nó trong GNU/Linux,\n"
+"gõ \"mformat a:\", hay \"fdformat /dev/fd0\" rồi đến \"mkfs.vfat\n"
+"/dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Tạo đĩa mềm cài đặt tự động"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Nếu chọn dùng lại một số phân vùng linux sẵn có, bạn có thể muốn format\n"
+"lại và xóa dữ liệu trên một số phân vùng đó. Để thực hiện, hãy chọn chúng.\n"
+"\n"
+" Hãy lưu ý là không nhất thiết phải format lại mọi phân vùng có sẵn từ "
+"trước.\n"
+"Bạn phải format lại các phân vùng chứa hệ điều hành (như là : \"/\", \"/usr"
+"\"\n"
+"hay \"/var\") nhưng không phải làm việc này đối với các phân vùng có dữ\n"
+"liệu mà bạn muốn giữ (điển hình là \"/home\").\n"
+"\n"
+"Hãy thận trọng khi chọn các phân vùng. Sau khi format, mọi dữ liệu\n"
+"trên đó sẽ bị xóa và sẽ không có cách nào để khôi phục lại chúng\n"
+"nữa\n"
+"\n"
+"Nhấn lên \"%s\" khi bạn sẵn sàng format các phân vùng.\n"
+"\n"
+"Nhấn lên \"%s\" nếu muốn chọn một phân vùng khác cho việc\n"
+"cài đặt hệ điều hành Mandriva Linux mới.\n"
+"\n"
+"Nhấn lên \"%s\" nếu muốn chọn các phân vùng sẽ được kiểm\n"
+"tra các khối bị hỏng trên bề mặt đĩa."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Vào lúc bạn đang cài đặt Mandriva Linux, có thể đã có một số gói tin\n"
+"đã được cập nhật kể từ lúc phát hành phiên bản này. Một số lỗi chương\n"
+"trình đã được sửa, các vấn đề bảo mật được giải quyết. Để cho bạn\n"
+"được hưởng lợi từ các cập nhật này, bây giờ bạn có thể để tải chúng về\n"
+"từ internet. Chọn \"%s\" nếu bạn có kết nối Intertnet hoạt động, hoặc\n"
+"\"%s\" nếu bạn muốn cài đặt các gói tin cập nhật sau này.\n"
+"\n"
+"Chọn \"%s\" sẽ hiển thị danh sách những nơi bạn có thể thu thập các\n"
+"cập nhật. Hãy chọn nơi gần bạn nhất. Sẽ xuất hiện một cây chứa các\n"
+"gói để chọn, hãy xem qua nội dung rồi nhấn \"%s\" để lấy về và cài\n"
+"đặt những gói được chọn, hoặc nhấn \"%s\" để thôi cập nhật."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Lúc này, DrakX cho phép bạn chọn mức bảo mật theo mong muốn cho\n"
+"máy tính. Với một nguyên tắc chủ đạo: máy càng bị phơi bày nhiều trên\n"
+"internet hoặc chứa dữ liệu quan trọng bao nhiêu thì mức độ bảo mật cần\n"
+"phải cao bấy nhiêu. Tuy nhiên, mức độ bảo mật càng cao thì càng làm\n"
+"giảm tính dễ sử dụng.\n"
+"\n"
+"Nếu không biết phải chọn mức độ nào, hãy giữ tùy chọn mặc định. Bạn\n"
+"có thể thay đổi lại sau này bằng côngcụ draksec trong Trung Tâm Điều\n"
+"Khiển Mandriva.\n"
+"\n"
+"Điền vào \"%s\" địa chỉ e-mail của người quản trị bảo mật. Thông báo\n"
+"bảo mật sẽ được gửi tới địa chỉ này."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Người Quản Trị Bảo Mật:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Vào lúc này, bạn cần chọn những phân vùng nào sẽ được dùng để cài đặt\n"
+"hệ thống Mandriva Linux. Nếu các phân vùng đã được xác lập từ lần cài\n"
+"đặt GNU/Linux trước đó hay được tạo bằng một công cụ phân vùng khác,\n"
+"bạn có thể dùng chúng. Nếu chưa có, bạn sẽ sẽ phải thực hiện việc hoạch\n"
+"định các phân vùng.\n"
+"\n"
+"Để tạo các phân vùng, đầu tiên phải chọn một đĩa cứng. Có thể chọn đĩa\n"
+"để phân vùng bằng cách nhấn lên ``hda'' đối với đĩa IDE đầu tiên, ``hdb'' "
+"cho\n"
+"đĩa thứ hai, ``sda'' đới với ổ SCSI đầu tiên và cứ tương tự như vậy.\n"
+"\n"
+"Để phân vùng cho đĩa cứng được chọn, có thể dùng những tùy chọn sau:\n"
+"\n"
+" * \"%s\": để xóa mọi phân vùng có trên đĩa cứng được chọn.\n"
+"\n"
+" * \"%s\": cho phép tự động tạo các phân vùng ext3 và swap\n"
+"tại không gian trống của đĩa cứng.\n"
+"\n"
+" * \"%s\" : cho phép thực hiện thêm một số tính năng:\n"
+"\n"
+" * \"%s\": để lưu bảng phân vùng vào đĩa mềm. Có ích khi cần thực hiện\n"
+"việc khôi phục lại bảng phân vùng. Bạn rất nên thực hiện bước này.\n"
+"\n"
+" * \"%s\": cho phép khôi phục bảng phân vùng đã được lưu vào đĩa mềm\n"
+"từ trước đó.\n"
+"\n"
+" * \"%s\": nếu bảng phân vùng bị hư, bạn có thể thử khôi phục lại nó\n"
+"bằng tùy chọn này. Xin hãy thận trọng và nên nhớ là nó không phải lúc\n"
+"nào cũng thành công.\n"
+"\n"
+" * \"%s\": bỏ qua mọi thay đổi và nạp lại bảng phân vùng ban đầu.\n"
+"\n"
+" * \"%s\": bỏ chọn tùy chọn này sẽ buộc người dùng phải tự thực hiện\n"
+"gắn kết/thôi gắn kết các phương tiện tháo lắp ví dụ như đĩa mềm và CD.\n"
+"\n"
+" * \"%s\": dùng tùy chọn này nếu bạn muốn sử dụng đồ thuật để\n"
+"phân vùng đĩa cứng. Bạn nên sử dụng đồ thuật nếu bạn không hiểu rõ\n"
+"về việc phân vùng.\n"
+"\n"
+" * \"%s\": dùng để bỏ qua, không thực hiện những thay đổi vừa làm.\n"
+"\n"
+" * \"%s\": cung cấp thêm các thao tác trên phân vùng (kiểu, tùy chọn,\n"
+"định dạng) và thêm thông tin về đĩa cứng.\n"
+"\n"
+" * \"%s\": khi bạn đã thực hiện xong việc phân vùng đĩa cứng, các thay đổi\n"
+"sẽ đưọc lưu lại vào đĩa.\n"
+"\n"
+"Khi đặt kích thước phân vùng, bạn có thể đặt chính xác kích thước bằng\n"
+"việc dùng các phím mũi tên của bàn phím.\n"
+"\n"
+"Lưu ý: có thể dùng bàn phím để chọn các tùy chọn. Chọn qua lại các phân\n"
+"vùng bằng phím [Tab] và phím mũi tên [Lên/Xuống].\n"
+"\n"
+"Khi một phân vùng đã được chọn, có thể dùng:\n"
+"\n"
+" * Ctrl-c để tạo một phân vùng mới (khi chọn một phân vùng trống);\n"
+"\n"
+" * Ctrl-d để xóa một phân vùng;\n"
+"\n"
+" * Ctrl-m để thiết lập điểm gắn kết.\n"
+"\n"
+"Để có thêm thông tin về các loại hệ thống tập tin hiện có, hãy đọc chương\n"
+"ext2FS ở trong ``Tài liệu Tham khảo''.\n"
+"\n"
+"Nếu đang thực hiện cài đặt trên máy PPC, có thể bạn muốn tạo một phân vùng\n"
+"``bootstrap'' HFS có kích thước ít nhất 1MB để cho trình nạp khởi động\n"
+"yaboot. Nếu lập kích thước phân vùng này lớn hơn một chút (50MB), bạn sẽ "
+"thấy\n"
+"đó là nơi hữu ích để lưu trữ kernel dự phòng và các ảnh ramdisk cho các\n"
+"trường hợp khởi động khẩn cấp."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Tự động gắn kết phương tiện có thể tháo rời"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Chuyển đổi giữa chế độ bình thường và chuyên gia"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Phát hiện ra có hơn một phân vùng Microsoft Windows trên đĩa cứng.\n"
+"Hãy chọn một phân vùng cần lập lại kích thước để cài đặt hệ điều\n"
+"hành Mandriva Linux mới.\n"
+"\n"
+"Mỗi phân vùng được liệt kê như sau: \"Tên Linux\", \"Tên Windows\"\n"
+"\"Dung lượng\".\n"
+"\n"
+"\"Tên Linux\" có cấu trúc: \"loại đĩa cứng\", \"số hiệu đĩa cứng\",\n"
+"\"số hiệu phân vùng\" (ví dụ, \"hda1\").\n"
+"\n"
+"\"Loại đĩa cứng\" là \"hd\" nếu ổ đĩa cứng là loại IDE và\n"
+"\"sd\" nếu là ổ đĩa cứng SCSI.\n"
+"\n"
+"\"Số hiệu ổ cứng\" luôn là một chữ đứng sau \"hd\" hay \"sd\". Với đĩa\n"
+"cứng IDE:\n"
+"\n"
+" * \"a\" nghĩa là \"ổ đĩa chính nối với điều khiển IDE thứ nhất\",\n"
+"\n"
+" * \"b\" nghĩa là \"ổ đĩa phụ nối với điều khiển IDE thứ nhất\",\n"
+"\n"
+" * \"c\" nghĩa là \"ổ đĩa chính nối với điều khiển IDE thứ hai\",\n"
+"\n"
+" * \"d\" nghĩa là \"ổ đĩa phụ nối với điều khiển IDE thứ hai\".\n"
+"\n"
+"Với các ổ đĩa SCSI, chữ \"a\" nghĩa là \"SCSI ID thấp nhất\", \"b\" là\n"
+"\"SCSI ID thấp thứ nhì\", v.v...\n"
+"\n"
+"\"Tên Windows\" là chữ cái gán cho ổ đĩa cứng trong Windows (đĩa\n"
+"cứng hoặc phân vùng đầu tiên được gọi là \"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\": kiểm vào phần chọn quốc gia hiện thời. Nếu bạn \n"
+"không sống tại đó, hãy nhấn \"%s\" và chọn quốc gia khác.\n"
+"Nếu quốc gia của bạn không có trong danh sách, hãy\n"
+"nhấn \"%s\" để xem danh sách đầy đủ các quốc gia."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Bước này chỉ được kích hoạt khi phát hiện thấy một phân vùng GNU/Linux\n"
+"đang có sẵn trên máy của bạn.\n"
+"\n"
+"DrakX cần được biết là bạn muốn thực hiện cài đặt mới hay là nâng cấp\n"
+"hệ thống Mandriva Linux hiện có:\n"
+"\n"
+" * \"%s\": hầu hết các trường hợp, việc này sẽ xóa sạch hệ thống\n"
+"cũ. Nếu bạn muốn thay đổi các phân vùng của đĩa cứng, hoặc thay đổi\n"
+"hệ thống tập tin, bạn nên dùng tùy chọn này. Dù sao, tùy theo sắp xếp\n"
+"phân vùng, bạn có thể tránh việc mất dữ liệu hiện có do việc ghi đè\n"
+"lên ví dụ như thư mục \"home\".\n"
+"\n"
+" * \"%s\": loại cài đặt này cho phép bạn nâng cấp các gói hiện thời\n"
+"đã cài trên hệ thống Mandriva Linux của bạn. Việc sắp xếp phân vùng\n"
+"hiện thời và dữ liệu không bị thay đổi. Hầu hết các bước cấu hình khác\n"
+"vẫn sẵn có để dùng, giống như việc cài đặt chuẩn.\n"
+"\n"
+"Tùy chọn ``Nâng cấp'' sẽ hoạt động tốt trên hệ thống Mandriva Linux\n"
+"phiên bản \"8.1\" hay mới hơn. Không nên thực hiện nâng cấp cho các\n"
+"phiên bản cũ hơn Mandriva Linux \"8.1\" ."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Tùy theo ngôn ngữ đã chọn () mà DrakX sẽ tự động chọn loại cấu hình\n"
+"bàn phím thích ứng. Hãy chọn bàn phím thích hợp hoặc chọn một tổ\n"
+"chức bàn phím khác.\n"
+"\n"
+"Tuy nhiên, cũng có khả năng là bàn phím không tương ứng chính xác\n"
+"với ngôn ngữ. Ví dụ: bạn là người Thụy sĩ nói tiếng Anh và bạn có thể\n"
+"chọnbàn phím Thụy sĩ. Hay bạn nói tiếng Anh nhưng lại đang ở Quebec,\n"
+"bạn có thể liên hệ theo tình huống tương tự khi ngôn ngữ và bàn phím\n"
+"không tương ứng với nhau. Trong các trường hợp đó, bước cài đặt này\n"
+"cho phép bạn chọn một bàn phím thích hợp từ danh sách.\n"
+"\n"
+"Nhấp chuột lên nút \"%s\" để có một danh sách đầy đủ các bàn phím\n"
+"được hỗ trợ.\n"
+"\n"
+"Nếu bạn chọn tổ chức bàn phím không dựa trên bảng chữ cái la tinh,\n"
+"hộp thoại tiếp theo sẽ cho phép chọn tổ hợp phím nóng để chuyển đổi\n"
+"tổ chức bàn phím giữa La tinh và không phải La tinh."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Việc đầu tiên là chọn ngôn ngữ để dùng.\n"
+"\n"
+"Việc chọn ngôn ngữ sẽ tác động lên ngôn ngữ hiển thị tài liệu, chương\n"
+"trình cài đặt và hệ thống chung. Trước tiên hãy chọn vùng bạn sống rồi\n"
+"đến ngôn ngữ của bạn.\n"
+"\n"
+"Nhấn nút \"%s\" sẽ cho phép lựa chọn các ngôn ngữ khác sẽ được\n"
+"cài đặt lên trạm làm việc. Việc chọn các ngôn ngữ khác sẽ cài đặt\n"
+"các tập tin của ngôn ngữ đó cho phần tài liệu hệ thống và các ứng\n"
+"dụng. Ví dụ: bạn có một người từ Tây ban nha đến và dùng máy của\n"
+"bạn, chọn tiếng Anh là ngôn ngữ chính trong danh sách, và \"%s\"\n"
+"trong phần Nâng cao.\n"
+"\n"
+"Lưu ý là bạn không bị hạn chế chọn thêm ngôn ngữ. Bạn có thể chọn\n"
+"vài ngôn ngữ hay toàn bộ các ngôn ngữ bằng việc chọn hộp \"%s\".\n"
+"Chọn hỗ trợ ngôn ngữ nghĩa là phần dịch, phông chữ, trình kiểm tra\n"
+"chính tả, ... cho ngôn ngữ đó sẽ được cài đặt. Thêm nữa, hộp kiểm \"%s\"\n"
+"cho phép ép buộc hệ thống sử dụng Unicode (UTF-8). Tuy nhiên đây là\n"
+"tính năng đang thử nghiệm. Nếu chọn các ngôn ngữ khác nhau đòi hỏi các\n"
+"bộ mã khác nhau nhưng hỗ trợ\n"
+"Unicode vẫn được cài đặt.\n"
+"\n"
+"Để chuyển đổi sang các ngôn ngữ khác nhau đã cài đặt trong hệ thống,\n"
+"bạn có thể chạy dòng lệnh \"/usr/sbin/localedrake\" bằng \"root\" để thay\n"
+"đổi ngôn ngữ cho toàn bộ hệ thống. Nếu chạy dòng lệnh này bằng người\n"
+"dùng thông thường thì việc thay đổi sẽ chỉ áp dụng cho người dùng đó."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Tây ban nha"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"Thông thường, DrakX phát hiện đúng số nút của thiết bị chuột bạn có.\n"
+"Theo mặc định, DrakX cho là chuột có 2 nút và sẽ cấu hình việc mô\n"
+"phỏng nút thứ ba. Nút mô phỏng thứ ba này sẽ là việc nhấn đồng thời\n"
+"hai nút phải và trái. DrakX cũng sẽ tự động nhận ra chuột là loại PS/2,\n"
+"serial hay USB.\n"
+"\n"
+"Nếu có chuột 3 nút, không có bánh xe, bạn có thể chọn chuột \"%s\".\n"
+"DrakX sẽ cấu hình chuột và mô phỏng bánh xe cho nó: nhấn nút giữa\n"
+"và di chuyển chuột lên hay xuống.\n"
+"\n"
+"Vì lý do nào đó mà bạn muốn định rõ loại chuột khác, hãy tự chọn\n"
+"từ danh sách được cung cấp.\n"
+"\n"
+"Bạn cũng có thể chọn \"%s\" để chọn loại chuột ``generic'' là chuẩn\n"
+"chung có thể làm việc được với nhiều loại thiết bị chuột.\n"
+"\n"
+" Nếu chọn chuột khác với mặc định, bạn sẽ nhận một màn hình để chạy\n"
+"thử chuột. Sử dụng các nút và lăn bánh xe để xác minh các thiết lập\n"
+"là đúng. Nếu chuột không hoạt động đúng, hãy nhấn thanh space hoặc\n"
+"phím [Return] để bỏ qua việc chạy thử và chọn lại từ danh sách.\n"
+"\n"
+"Đôi khi chuột có bánh xe cuộn không được tự động phát hiện, nên bạn\n"
+"phải chọn nó trong danh sách. Đảm bảo là bạn chọn đúng cổng nối\n"
+"của chuột. Sau khi chọn chuột và nhấn nút \"%s\", sẽ hiện lên màn\n"
+"hình một ảnh thiết bị chuột. Hãy lăn bánh xe để khẳng định nó được kích\n"
+"hoạt đúng rồi hãy nhấn để kiểm tra các nút khác và di chuột trên màn\n"
+"hình."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "mô phỏng nút cuốn"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Chuột đa dụng | PS/2 & USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Hãy chọn đúng cổng. Ví dụ, cổng COM1 trong Microsoft Windows được gọi\n"
+"là ttyS0 trong GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Đây là thời điểm quan trọng nhất cho việc bảo mật hệ thống GNU/Linux:\n"
+"cần phải nhập mật khẩu cho \"root\". \"Root\" là người quản trị hệ thống,\n"
+"là người duy nhất được phép tiến hành cập nhật, thêm người dùng, thay đổi\n"
+"mọi cấu hình hệ thống, v.v... Nói ngắn gọn là \"root\" có thể thực hiện tất "
+"cả!\n"
+"Đó là lý do tại sao bạn cần chọn một mật khẩu phải thật khó đoán.\n"
+"DrakX sẽ cho bạn biết nếu nó quá dễ đoán. Như bạn biết, bạn không bị ép\n"
+"nhập mật khẩu, nhưng chúng tôi khuyên bạn rất nên thực hiện. GNU/Linux\n"
+"có thể bị lỗi như các hệ điều hành khác. Do \"root\" có thể vượt quyền và\n"
+"vô ý xóa toàn bộ dữ liệu trên các phân vùng bởi việc tự nó truy cập thiếu\n"
+"thận trọng! Quan trọng là phải để thật khó khăn nếu muốn trở thành \"root"
+"\".\n"
+"\n"
+"Mật khẩu nên pha trộn các ký tự số và chữ cái và có độ dài ít nhất 8\n"
+"ký tự. Không nên ghi mật khẩu \"root\" vào đâu cả để tránh hệ thống.\n"
+"bị xâm hại\n"
+"\n"
+"Cũng đừng dùng mật khẩu quá dài hoặc phức tạp vì bạn phải nhớ nó!\n"
+"\n"
+"Mật khẩu sẽ không hiển thị trên màn hình khi bạn nhập vào. Vì vậy,\n"
+"phải nhập mật khẩu hai lần để tránh gặp lỗi khi gõ bàn phím. Nếu cả\n"
+"hai lần bạn đều gõ sai như nhau thì mật khẩu \"sai\" sẽ được dùng vào\n"
+"lần đầu bạn thực hiện kết nối.\n"
+"\n"
+"Nếu bạn muốn truy cập vào máy này sẽ được máy chủ chứng thực\n"
+"quản lý, hãy nhấn nút \"%s\".\n"
+"\n"
+"Nếu mạng của bạn dùng trong số LDAP, NIS hay các dịch vụ chứng\n"
+"thực Miền Windows PDC, hãy chọn một cái thích hợp làm \"%s\".\n"
+"Nếu bạn không biết rõ là dùng cái nào, hãy hỏi nhà quản trị mạng.\n"
+"\n"
+"Nếu gặp trục trặc với việc nhắc mật khẩu, bạn có thể chọn \"%s\"\n"
+"khi bạn không nối vào internet hoặc tin tưởng người cùng dùng máy\n"
+"với bạn."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "chứng thực"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Trình nạp khởi động là chương trình nhỏ được chạy khi khởi động máy.\n"
+"Nó chịu trách nhiệm khởi chạy toàn bộ hệ thống. Bình thường, trình nạp\n"
+"khởi động được cài đặt tự động. DrakX sẽ phân tích sector khởi động\n"
+"của đĩa và hoạt động tùy theo các trường hợp mà nó phát hiện như sau:\n"
+"\n"
+" * Nếu thấy sector khởi động của Windows, nó sẽ thay thế bằng sector\n"
+"khởi động của Grub/LILO. Cách này cho phép bạn khởi động vào Linux\n"
+"hoặc các hệ điều hành khác.\n"
+"\n"
+" * Nếu thấy sector khởi động của Grub hay LILO, nó sẽ thay bằng cái mới.\n"
+"\n"
+"Nếu không xác định được vị trí của boot sector, DrakX sẽ hỏi nơi bạn muốn\n"
+"cài đặt trình nạp khởi động. Thông thường, \"%s\" là vị trí an toàn nhất.\n"
+"Chọn \"%s\" sẽ không thực hiện cài đặt trình nạp khởi động. Chỉ dùng\n"
+"tùy chọn này khi bạn hiểu rõ việc mình làm."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Đây là lúc chọn hệ thống in ấn dùng cho máy tính này. Các hệ điều\n"
+"hành khác có thể chỉ cung cấp một loại, nhưng Mandriva cho bạn\n"
+"2 loại. Mỗi một hệ thống in ấn có một loại cấu hình riêng biệt.\n"
+"\n"
+" * \"%s\" - là chữ viết tắt của ``in, không xếp hàng'', là một lựa chọn\n"
+"nếu bạn có kết nối trực tiếp tới máy in và điều bạn muốn là có thể loại bỏ\n"
+"hiện tượng nghẽn hàng in, và bạn không có bất kỳ máy in mạng nào.\n"
+"(\"%s\" sẽ chỉ xử lý cho các trường hợp mạng rất đơn giản và có phần hơi\n"
+"chậm khi dùng trong mạng). Hãy chọn \"pdq\" nếu đây là lần đầu tiên bạn\n"
+"dùng GNU/Linux.\n"
+" \n"
+" * \"%s\" - ``Common Unix Printing System'' là lựa chọn tuyệt vời để in\n"
+"tới máy in cục bộ và cũng như máy in ở xa. Cấu hình nó đơn giản và có\n"
+"thể hoạt động như một server hay một client đối với hệ thống in \"lpd\" cũ,\n"
+"cho nên nó tương thích với các hệ điều hành cũ hơn cần các dịch vụ in.\n"
+"Nó rất mạnh, nhưng thiết lập cơ bản thì lại đơn giản là \"pdq\". Nếu cần\n"
+"giả lập một server \"lpd\", bạn cần bật chạy daemon \"cups-lpd\". \"%s\"\n"
+"có các front-end đồ họa để in hoặc chọn các tùy chọn cho máy in và\n"
+"để quản lý máy in.\n"
+"\n"
+"Nếu bây giờ bạn chọn nhưng sau này lại muốn đổi hệ thống in, bạn có thể\n"
+"thực hiện bằng việc chạy PrinterDrake từ Trung Tâm Điều Khiển của\n"
+"Mandriva Linux và nhấn nút \"%s\"."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Chuyên Gia"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"Trước tiên, DrakX sẽ phát hiện các thiết bị IDE có trong máy. Nó cũng\n"
+"sẽ rà quét các PCI SCSI Card có trên hệ thống. Nếu tìm thấy card SCSI,\n"
+"DrakX sẽ tự động cài đặt driver phù hợp.\n"
+"\n"
+"Vì việc phát hiện phần cứng không đơn giản, DrakX có thể không dò tìm\n"
+"được các đĩa cứng. Trong trường hợp đó, bạn sẽ phải tự cấu hình.\n"
+"\n"
+"Nếu như bạn phải tự chỉ ra PCI SCSI adapter, DrakX sẽ hỏi bạn có muốn\n"
+"cấu hình các tùy chọn cho nó không. Bạn nên để DrakX thăm dò phần\n"
+"cứng để đưa ra các tùy chọn cần để khởi tạo adapter. Việc này thường\n"
+"diễn ra một cách trôi chảy.\n"
+"\n"
+"Nếu DrakX không thể thăm dò được các tùy chọn thích hợp để tự động\n"
+"xác định những tham số cần cho phần cứng, bạn sẽ phải tự cấu hình\n"
+"driver."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": Nếu phát hiện thấy có card âm thanh trong hệ thống,\n"
+"nó sẽ hiển thị tại đây. Nếu nó không đúng với cái bạn đang\n"
+"có trong hệ thống, bạn có thể nhấn nút này và chọn một\n"
+"driver khác."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"DrakX sẽ hiển thị bản tóm tắt về những thông tin của hệ thống của bạn.\n"
+"Tùy theo phần cứng được cài đặt mà bạn có thể có một số hay toàn bộ\n"
+"các mục sau. Mỗi một mục có tính năng cấu hình đi theo. Nhấn lên nút\n"
+"\"%s\" tương ứng để thay đổi.\n"
+"\n"
+" * \"%s\": kiểm tra cấu hình bảng ánh xạ bàn phím (keyboard map) và thay\n"
+"đổi nếu cần thiết.\n"
+"\n"
+" * \"%s\": Kiểm tra việc chọn quốc gia hiện thời. Nếu bạn không sống\n"
+"tại nước này, hãy nhấn nút \"%s\" để chọn lại. Nếu quốc gia của bạn\n"
+"không có trong danh sách đầu tiên, hãy nhấn nút \"%s\" để xem danh\n"
+"sách tất cả các quốc gia.\n"
+"\n"
+" * \"%s\": Theo mặc định, DrakX tự xác định múi giờ dựa vào quốc gia\n"
+"bạn chọn. Nếu không đúng, hãy nhấn nút \"%s\" để hiệu chỉnh.\n"
+"\n"
+" * \"%s\": kiểm tra cấu hình chuột hiện thời và nhấn nút để thay đổi nếu\n"
+"cần thiết.\n"
+"\n"
+" * \"%s\": nhấn nút \"%s\" để mở đồ thuật cấu hình máy in. Hãy tham\n"
+"khảo chương tương ứng trong ``Starter Guide'' để biết thêm về cách\n"
+"cấu hình máy in mới. Giao diện hiện diện ở đó giống như giao diện\n"
+"thấy trong quá trình cài đặt.\n"
+"\n"
+" * \"%s\": nếu phát hiện ra card âm thanh trên hệ thống, nó sẽ hiển\n"
+"thị ở đây. Nếu bạn thấy nó không đúng với cái bạn đang có, hãy nhấn\n"
+"nút và chọn một driver khác.\n"
+"\n"
+" * \"%s\": Nếu phát hiện có TV card trong hệ thống, nó sẽ hiển thị tại đây.\n"
+"Nếu bạn có một TV card nhưng nó không được phát hiện, nhấn \"%s\" để tự\n"
+"cấu hình nó.\n"
+"\n"
+" *\"%s\": nếu cần hiệu chỉnh các tham số cho card khi bạn thấy cấu hình\n"
+"chưa đúng, nhấn \"%s\" để thay đổi.\n"
+"\n"
+" * \"%s\": Theo mặc định, DrakX sẽ cấu hình giao diện đồ họa với độ\n"
+"phân giải \"800x600\" hoặc \"1024x768\". Nếu không thích hợp cho\n"
+"bạn, hãy nhấn \"%s\" để cấu hình lại giao diện đồ họa của bạn.\n"
+"\n"
+" * \"%s\": Nếu muốn cấu hình truy cập mạng cục bộ hay truy cập\n"
+"internet. Tham khảo tài liệu hoặc dùng Trung Tâm Điều Khiển \n"
+"Mandriva Linux để thực hiện sau khi cài đặt xong để có được sự trợ\n"
+"giúp hoàn chỉnh.\n"
+"\n"
+" * \"%s\": cho phép cấu hình địa chỉ proxy HTTP và FTP nếu máy tính\n"
+"được đặt sau một proxy server.\n"
+"\n"
+" * \"%s\": mục này cho phép thay đổi lại mức bảo mật đã được lập từ\n"
+"bước trước ().\n"
+"\n"
+" * \"%s\": Nếu muốn kết nối máy tính vào internet, hãy lập tường lửa\n"
+"để ngăn chặn xâm nhập. Hãy tham khảo phần tương ứng trong\n"
+"``Starter Guide'' để biết thông tin về thiết lập tường lửa.\n"
+"\n"
+" * \"%s\": nếu muốn thay đổi cấu hình của trình nạp khởi động, hãy\n"
+"nhấn nút này. Nên dùng chỉ khi bạn là người dùng thành thạo. Hãy tham\n"
+"khảo tài liệu đi kèm hoặc trợ giúp trực tuyến về cấu hình trình nạp khởi\n"
+"động trong Trung Tâm Cấu Hình Mandriva Linux.\n"
+"\n"
+" * \"%s\": bạn có thể điều khiển dịch vụ nào sẽ được chạy trên máy\n"
+"này. Nếu bạn có kế hoạch dùng máy này làm máy chủ, hãy xem lại\n"
+"thiết lập này."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN card"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Giao Diện Đồ Họa"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Hãy chọn ổ cứng mà bạn muốn xoá để cài đặt phân vùng Mandriva Linux\n"
+"mới. Hãy thận trọng, mọi dữ liệu có trên đó sẽ bị mất và không thể khôi\n"
+"phục lại được !"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Nhấn chuột lên \"%s\" nếu muốn xóa mọi dữ liệu và phân vùng hiện có\n"
+"trên đĩa cứng này. Hãy thận trọng, sau khi nhấn \"%s\", bạn sẽ không\n"
+"thể khôi phục dữ liệu và các phân vùng hiện có trên đĩa cứng này, kể\n"
+"cả dữ liệu của Windows.\n"
+"\n"
+"Nhấn chuột lên \"%s\" để thoát bước này và bạn sẽ không mất\n"
+"dữ liệu và các phân vùng hiện có trên đĩa cứng này."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Tiếp theo ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Về trước"
+
diff --git a/perl-install/install/help/po/wa.po b/perl-install/install/help/po/wa.po
new file mode 100644
index 000000000..55d454d50
--- /dev/null
+++ b/perl-install/install/help/po/wa.po
@@ -0,0 +1,1994 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Pablo Saratxaga <pablo@mandriva.com>, 2000,2002,2003,2004.
+# Lorint Hendschel <lorinthendschel@skynet.be>, 2002.
+# Lucyin Mahin <lucyin@walon.org>, 2002,2003,2005.
+# Pablo Saratxaga <pablo@walon.org>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2005-02-24 21:42+0100\n"
+"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"Divant d' aler pus avant, vos dvrîz lére atintivmint l' licince.\n"
+"Ele covere li distribucion Mandriva Linux, si vos estoz d' acoird\n"
+"avou les termes del licince, clitchîz sol boesse «%s».\n"
+"Ôtrumint, clitchîz sol boton «%s» po renonder l' copiutrece."
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux est on sistinme multi-uzeus, dj' ô bén, tchaeke uzeu pout aveur\n"
+"èn evironmint, des preferinces eyet des fitchîs da lu. Vos ploz lére li\n"
+"«Guide di l' Uzeu» po ndè saveur pus long. Mins, å contråve di «root»,\n"
+"k' est l' administreu, les uzeus ki vos alez radjouter chal n' åront\n"
+"nén l' droet di candjî ene sacwè so l' éndjole apus k' les fitchîs eyet\n"
+"apontiaedjes da zels. Vos dvroz fé pol moens èn uzeu normå po vos minme.\n"
+"Ci conte uzeu la c' est po moussî el copiutrece po l' eployaedje di tos\n"
+"les djoûs. Minme si çoula shonne ahessåve di moussî tofer come «root»,\n"
+"c' est ossu ene sacwè di foirt dandjureu! Li pus ptite måcule pout\n"
+"signifyî kel sistinme da vosse ni rotrè gote pus. Si vos fjhoz ene\n"
+"consecante aroke come èn uzeu normå, li pé ki vs pout ariver c' est di\n"
+"piede sacwants fitchîs et informåcions, mins nén li sistinme en etir.\n"
+"\n"
+"D' aprume, vos dvoz dner vosse no e prumî tchamp. C' est nén obligatwere, "
+"bén\n"
+"seur - et vos ploz bén î mete çou k' vos vloz. DrakX irè adon prinde li "
+"prumî mot\n"
+"ki vos avoz tapé eyet l' passer el tchamp «%s». Ci no la c' est\n"
+"l' no ki l' éndjole vos cnoxhe; çou ki vos dvoz taper el purnea di bénvnowe\n"
+"po moussî el copiutrece. Vos l' poloz candjî. Vos ploz mete çou k' vos vloz\n"
+"mins di moens di ût letes; et rén ki des ptitès letes sins accints, des\n"
+"chifes, li loyeure («-») ou li sene sorlignî («_»).\n"
+"Après çoula, vos dvoz taper vosse sicret. Li scret d' èn uzeu normå, sins\n"
+"advintaedjes sipeciås n' est nén ossu impôrtant kel ci da «root», do pont\n"
+"d' vuwe del såvrité, mins c' est tolminme nén ene råjhon po n' nén\n"
+"fé atincion ås screts des uzeus - c' est vos fitchîs ki sont-st e risse.\n"
+"\n"
+"Si vos clitchîz so «%s» l' uzeu srè radjouté po d' bon avou\n"
+"les informåcions ki vs avoz dné, et les tchamps sront vudîs po vos pleur\n"
+"e radjouter èn ôte. Vos e ploz radjouter ostant ki vos vloz: onk po tchaeke\n"
+"di vos soçons, po vosse pere, vosse sour, par egzimpe. Cwand vos avoz fini\n"
+"d' endè radjouter, clitchîz so «%s».\n"
+"\n"
+"Si vos clitchîz sol boton «%s» vos ploz candjî l' shell eployî pa\n"
+"cist uzeu la (li prémetou shell est li «bash»).\n"
+"\n"
+"Cwand vos avoz fini di radjouter tos les uzeus, on vs dimandrè di tchoezi\n"
+"èn uzeu ki srè otomaticmint elodjî cwand l' copiutrece est enondêye.\n"
+"Si cisse fonccionålité la vos interesse (et ki l' såvrité n' est nén\n"
+"on problinme locålmint), tchoezixhoz l' uzeu eyet li manaedjeu di\n"
+"purneas ki vos vloz, et clitchîz so «%s». Si vos n' voloz nén\n"
+"cisse fonccionålité, disclitchîz «%s»."
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "Voloz vs eployî cisse fonccionålité chal?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"Chal pa dzeur i gn a ene djivêye des pårticions Linux k' i gn a so vosse\n"
+"deure plake et ki on stî detectêyes. Vos ploz wårder les tchuzes fwaites\n"
+"pa l' macrea, ele sont comifåt po les cas les pus comons.\n"
+"Si vos les voloz candjî vos dvoz fé å moens ene pårticion raecene («/»).\n"
+"Ni prindoz nén ene trop ptite grandeu ôtrumint vos n' pôrîz astaler "
+"åjheymint\n"
+"des programes, fåte di plaece. Si vos vloz mete vos dnêyes so ene pårticion\n"
+"diferinne, vos dvroz ossu fé ene po «/home» (çou ki vos pôroz fé seulmint "
+"si\n"
+"vos avoz pus d' ene pårticion del sôre Linux).\n"
+"\n"
+"Po l' informåcion, tchaeke pårticion est mostrêye come çoula: «no», "
+"«grandeu».\n"
+"\n"
+"Li «no» est costrût come çouchal: «sôre del deure plake» + «limero del deure "
+"plake» +\n"
+"«limero del pårticion» (par egzimpe, hd+a+1 --> «hda1»)\n"
+"\n"
+"Li «sôre del deure plake» est «hd» si vosse deure plake est del sôre IDE,\n"
+"oudonbén «sd» si elle est del sôre SCSI.\n"
+"\n"
+"Li «limero del deure plake» est todi ene lete pa drî «hd» ou «sd».\n"
+"Avou les plakes IDE on a:\n"
+"\n"
+" * «a» pol plake mwaisse sol prumî controleu IDE,\n"
+"\n"
+" * «b» pol plake esclåve sol prumî controleu IDE,\n"
+"\n"
+" * «c» pol plake mwaisse sol deujhinme controleu IDE,\n"
+"\n"
+" * «d» pol plake esclåve sol deujhinme controleu IDE.\n"
+"\n"
+"Avou les plakes SCSI, «a» vout dire «prumire deure plake», «b» vout dire "
+"«deujhinme deure plake», evnd..."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"L' astalaedje del distribucion Mandriva Linux si fwait a pårti di\n"
+"sacwantès plakes lazer diferinnes. Si on pacaedje k' a stî tchoezi\n"
+"est so ene ôte plake lazer, DrakX frè rexhe li plake k' est el lijheu\n"
+"d' plakes lazer eyet vos dmander d' î mete li cene k' i fåt.\n"
+"Si vos n' avoz nén l' plake dimandêye dizo l' mwin, i vs sufixh di\n"
+"clitchî so «%s», les pacaedjes corespondants èn seront nén astalés."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"Asteure c' est l' moumint di specifyî kés programes ki vos vloz astaler so\n"
+"voste éndjole. I gn a des meyes et des meyes di pacaedjes pol Mandriva "
+"Linux,\n"
+"po rinde li tchoezixhaedje pus simpe il ont stî metous dins des groupes\n"
+"di programes sorlon les bouyes k' i permetèt d' fé.\n"
+"\n"
+"Les pacaedjes sont metous dins des groupes corespondant a des uzaedjes\n"
+"ki pôrént esse fwaits. Vos ploz prinde et maxhî des programes\n"
+"di sacwantes di ces categoreyes la, par egzimpe èn astalaedje «Posse "
+"éndjolrece»\n"
+"n' espaitche nén d' astaler des programes del sôre «Programaedje».\n"
+"\n"
+" * «%s»: si vos tuzez a-z eployî voste éndjole come on posse\n"
+"éndjolrece (dj' ô bén: èn uzaedje personel, å contråve d' èn uzaedje\n"
+"come sierveu metans), adon tchoezixhoz onk ou pluzieurs des programes\n"
+"di ç' categoreye chal.\n"
+"\n"
+" * «%s»: si l' éndjole va-z esse eployeye po programer,\n"
+"tchoezixhoz les pacaedjes ki vos vloz chal.\n"
+"Li groupe especiå «LSB» aponteyrè vosse sistinme po shure,\n"
+"ostant ki possibe, les specifiaedjes del «Linux Standard Base».\n"
+"\n"
+" Tchoezi l' groupe «LSB» astalrè eto les naweas del séreye «2.4»,\n"
+"el plaece do prémetou nawea «2.6». Çoula c' est po-z esse 100%% copatibe "
+"avou LSB. Mins nerén, si vos n' tchoezixhoz nén li groupe «LSB»\n"
+"vos ploz tot l' minme aveur on sistinme k' est copatibe LSB cåzu a 100%%.\n"
+"\n"
+" * «%s»: al fén, si l' såme di l' éndjole c' est d' esse on sierveu,\n"
+"vos pôroz les kés siervices vos vloz vey astalés so l' éndjole.\n"
+"\n"
+" * «%s»: chal c' est wice ki vos alez tchoezi vosse\n"
+"evironmint grafike favori. I fåt ndè tchoezi pol moens onk si vos vloz\n"
+"on posse éndjolrece avou ene eterface grafike!\n"
+"\n"
+"Cwand vos alez avou l' sori å dzeu do no d' ene categoreye, ene racsegne "
+"srè\n"
+"håynêye avou on court discrijhaedje di çou a cwè i pout siervi.\n"
+"\n"
+"Vos ploz clitchî sol tchuze «%s». C' est\n"
+"ahessåve si vos cnoxhoz on pô les pacaedjes k' i gn a et çki vos vloz;\n"
+"oudonbén si vos vloz on contrôle totå so çki srè astalé ou nén.\n"
+"\n"
+"Si vos cmincîz l' astalaedje e môde «%s», vos ploz disclitchî\n"
+"totes les categoreyes po nén aveur des noveas pacaedjes d' astalés,\n"
+"seulmint les cis k' vos avîz ddja davance sront astalés. Çouchal est\n"
+"ahessåve po rpårer ou mete a djoû on sistinme k' est ddja sol deure plake.\n"
+"\n"
+"Si vos n' tchoezixhoz nole categoreye po l' astalaedje (et k' c' est nén on\n"
+"metaedje a djoû), on purnea vos dmandrè li sôre di l' astalåcion minimom ki\n"
+"vos vloz. Çoula pout esse:\n"
+"\n"
+" * «%s» astale li moens possibe di pacaedjes po tot l' minme aveur\n"
+"l' eterface grafike X11 en alaedje;\n"
+"\n"
+" * «%s» astale li sistinme di båze eyet sacwantes\n"
+"usteyes avou leu documintåcion. C' est l' astalåcion a l' idêye po on\n"
+"sierveu.\n"
+"\n"
+" * «%s» n' astalrè ki vormint li minimom po ki\n"
+"l' éndjole s' enonde eyet aveur on sistinme Linux en alaedje; rén k' e\n"
+"roye di comande. Ciste astalåcion chal a mezåjhe di 65 Mo seulmint."
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "Metaedje a djoû"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "Avou li documintåcion di båze"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "Astalåcion vormint minimåle"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"Finålmint, sorlon vosse tchuze di tchoezi ou nén les pacaedjes onk après\n"
+"l' ôte, vos voeroz èn åbe avou tos les pacaedjes metous dins des groupes\n"
+"et des sorgroupes. Tot naiviant dins l' åbe vos ploz tchoezi des groupes\n"
+"ou des sorgroupes etirs, ou des pacaedjes tot seus.\n"
+"\n"
+"Tchaeke côp ki vos tchoezixhoz on pacaedje dins l' åbe, si discrijhaedje\n"
+"est mostré sol droete ki vs dit a cwè i pout bén siervi.\n"
+"\n"
+"!! Si on pacaedje di sierveu a stî tchoezi, soeye-t i en esprès, ou k' i\n"
+"fwait pårteye d' on groupe, on vos dmandrè d' acertiner ki vos vloz\n"
+"vormint astaler ces sierveus la. Avou Mandriva Linux tot l' minme ké\n"
+"sierveu k' a stî astalé est, avou les prémetowès tchuzes, metou en\n"
+"alaedje tins di l' enondaedje di l' éndjole. Minme s' i sont seurs\n"
+"et k' i gn a nou cnoxhou problinme å moumint ki l' distribucion a stî\n"
+"fwaite, i s' pout k' des trôs di såvrité soeyexhe discovrous après ki\n"
+"cisse modêye chal di Mandriva Linux fouxhe fineye. Si vos n' savoz nén çou\n"
+"k' on siervice dné est supôzé di fé, ou pocwè k' il est astalé, adon\n"
+"clitchîz so «%s». Si vos clitchîz so «%s» les siervices mostrés sront\n"
+"astalés eyet enondés otomaticmint. !!\n"
+"\n"
+"Li tchuze «%s» simplumint fwait ki l' purnea \n"
+"d' adviertixhmint cwand on pacaedje est tchoezi otomaticmint n' est\n"
+"nén håyné. Les pacaedjes tchoezi otomaticmint c' est pask' i gn a des\n"
+"pacaedjes tchoezis k' ont des aloyances avou des ôtes pacaedjes, et \n"
+"k' i les fåt astaler avou po-z aveur l' astalåcion fwaite a môde\n"
+"di djin.\n"
+"\n"
+"Li ptite imådje d' ene plakete al valeye del djivêye vos permete di\n"
+"tcherdjî ene djivêye di pacaedjes tchoezis k' åreut stî fwaite å moumint\n"
+"d' èn ôte astalaedje. Si vos clitchîz so ciste imådjete chal, i vos srè\n"
+"dmandé di mete li plakete fwaite al fén di l' astalaedje di dvant.\n"
+"Loukîz l' aidance do deujhinme pont del dierinne etape po saveur kimint\n"
+"fé ene sifwaite plakete."
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "Aloyances otomatikes"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"«%s»: si vos clitchîz so «%s» çoula enondrè li macrea\n"
+"d' apontiaedje des scrireces. Loukîz li tchaptrê corespondant do «Guide\n"
+"d' Enondaedje» po pus d' informåcions sol manire d' apontyî ene nouve\n"
+"sicrirece. L' eterface prezintêye e nosse guide rishonne al cisse håynêye\n"
+"tins di l' astalåcion."
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"Asteure, vos poloz bén tchoezi les kés siervices ki s' divèt mete en "
+"alaedje\n"
+"cwand c' est ki vosse copiutrece s' enonde.\n"
+"\n"
+"Chal sont prezintés tos les siervices k' i gn a el astalåcion do moumint.\n"
+"Prindoz sogne delzès verifyî et disclitchîz les cis k' i gn end a pont\n"
+"tofer mezåjhe a l' enondaedje.\n"
+"\n"
+"Cwand vosse tchoezixhoz on siervice, ene racsegne aparexhe po vs\n"
+"dire çou ki l' siervice fwait. Si vos n' estoz nén seur si on siervice\n"
+"est ahessåve por vos ou nén, vos estoz todi a houte tot l' leyant a si\n"
+"prémetowe valixhance.\n"
+"\n"
+"!!\n"
+"Loukîz a vosse sogne si voste éndjole serè eployeye come sierveu: c' est\n"
+"dandjureu mî di n' nén enonder les siervices ki vos n' avoz nén dandjî!\n"
+"Rimimbrez vs ki des siervices k' i gn a polèt esse riskeus s' i sont\n"
+"metous so on sierveu. Tchoezixhoz djusse les siervices ki vos avoz dandjî.\n"
+"!!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux manaedje l' eure e tins GMT (coistrece di Greenwich) et l' candje\n"
+"en eure locåle sorlon li coisse d' eureye ki vs avoz tchoezi.\n"
+"C' est possibe di l' dismete si vos tchoezixhoz «%s»,\n"
+"insi vos eployroz li minme eure pol sistinme eyet pol divintrinne ôrlodje.\n"
+"Çoula pout esse ahessåve cwand i gn a èn ôte sistinme d' operance\n"
+"so l' éndjole, et k' i n' sait nén eployî li tins universel.\n"
+"\n"
+"Li tchuze «%s» va sincronijhî otomaticmint\n"
+"l' ôrlodje do sistinme. Po çoula on raloyaedje est fwait so on sierveu "
+"d' eure\n"
+"sol daegntoele. Tchoezixhoz onk, sol djivêye ki vs est prezintêye, ki "
+"n' soeye\n"
+"nén lon erî di wice ki vos dmorez. Bén seur vos dvoz aveur on raloyaedje\n"
+"al rantoele en alaedje po-z eployî cisse tchuze chal. Çoula astalrè so "
+"voste\n"
+"éndjole on sierveu d' eure ki pôreut ossu esse eployî pa d' ôtès\n"
+"copiutreces, par egzimpe les cenes d' ene rantoele locåle, si vos vloz."
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "Sincronijhaedje otomatike di l' eure"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"Cåte grafike\n"
+"\n"
+" Li programe d' astalaedje fwait normålmint otomaticmint li deteccion\n"
+"eyet l' apontiaedje del cåte grafike k' i gn a dins voste éndjole.\n"
+"Si c' est nén l' cas, vos ploz tchoezi e l' djivêye li cåte ki vos\n"
+"avoz po d' bon.\n"
+"\n"
+" S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî."
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X (po Sistinme di Purneas X) est l' miercour di l' eterface grafike di\n"
+"GNU/Linux, ki tos les evironmints grafikes (KDE, Gnome, AfterStep,\n"
+"WindowsMaker, evnd.) ki vnèt avou Mandriva Linux end ont mezåjhe.\n"
+"\n"
+"Vos åroz ene djivêye des diferins parametes a candjî po-z aveur\n"
+"voste eterface grafike a l' idêye:\n"
+"\n"
+"Cåte grafike\n"
+"\n"
+" Li programe d' astalaedje fwait normålmint otomaticmint li deteccion\n"
+"eyet l' apontiaedje del cåte grafike k' i gn a dins voste éndjole.\n"
+"Si c' est nén l' cas, vos ploz tchoezi e l' djivêye li cåte ki vos\n"
+"avoz po d' bon.\n"
+"\n"
+"S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî.\n"
+"\n"
+"\n"
+"\n"
+"Waitroûle\n"
+"\n"
+" L' astaleu fwait normålmint li deteccion eyet apontiaedje otomatike\n"
+"del waitroûle raloyeye a voste éndjole. Si ça n' va nén tot seu, vos ploz\n"
+"tchoezi vosse waitroûle dins ene djivêye.\n"
+"\n"
+"\n"
+"\n"
+"Finté\n"
+"\n"
+" Vos ploz tchoezi chal les fintés eyet nombe di coleurs emey les tchuzes\n"
+"possibes po voste éndjolreye. Tchoezixhoz çou ki vs convént l' mî (vos\n"
+"pôroz candjî çoula pus tård, après l' astalaedje, si vos vloz). Èn egzimpe\n"
+"do tchoezi apontiaedje est håyné e l' waitroûle.\n"
+"\n"
+"\n"
+"\n"
+"Saye\n"
+"\n"
+" Sorlon voste éndjolreye, i s' pout ki ciste intrêye chal n' aparexhe "
+"nén.\n"
+"\n"
+" Li sistinme sayrè d' enonder ene waitroûle grafike al finté dmandêye.\n"
+"Si vos ploz vey li messaedje håyné tins del saye, clitchîz so «%s», eyet\n"
+"DrakX pasrè a l' etape shuvante. Si vos n' savoz vey li messaedje, çoula\n"
+"vout dire k' ene sacwè n' a nén stî avou l' apontiaedje, eyet l' saye\n"
+"si va djoker après 12 segondes, vos ramoennant å menu. Vos î pôroz candjî\n"
+"les valixhances disk' a-z aveur ene eterface grafike ki rote comifåt.\n"
+"\n"
+"\n"
+"\n"
+"Tchuzes\n"
+"\n"
+" Chal vos ploz tchoezi si vos vloz ou nén ki l' éndjole enonde\n"
+"otomaticmint l' eterface grafike a l' enondaedje. Bén seur, vos alez\n"
+"dire «%s» si voste éndjole va fé do sierveu, ou si vos n' avoz nén\n"
+"polou apontyî comifåt l' eterface grafike."
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"Waitroûle\n"
+"\n"
+" L' astaleu fwait normålmint li deteccion eyet apontiaedje otomatike\n"
+"del waitroûle raloyeye a voste éndjole. Si ça n' va nén tot seu, vos ploz\n"
+"tchoezi vosse waitroûle dins ene djivêye."
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"Finté\n"
+"\n"
+" Vos ploz tchoezi chal les fintés eyet nombe di coleurs emey les tchuzes\n"
+"possibes po voste éndjolreye. Tchoezixhoz çou ki vs convént l' mî (vos\n"
+"pôroz candjî çoula pus tård, après l' astalaedje, si vos vloz). Èn egzimpe\n"
+"do tchoezi apontiaedje est håyné e l' waitroûle."
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"S' i gn a des sierveus grafikes diferins po vosse cåte grafike, des cis\n"
+"k' i gn a avou di l' acceleråcion 3D, des ôtes sins, on vs propôzrè di\n"
+"tchoezi l' ci ki vs convént l' mî."
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"Tchuzes\n"
+"\n"
+" Chal vos ploz tchoezi si vos vloz k' l' eterface grafike soeye en alaedje "
+"cwand\n"
+"l' éndjole est enondêye. Bén seur, si voste éndjole va-st ovrer come on "
+"sierveu,\n"
+"ou si vos n' arivez nén a-z apontyî l' cåte videyo, vos ploz responde «%s»."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"Asteure, vos dvoz tchoezi wice ki vos vloz astaler vosse sistinme\n"
+"d' operance Mandriva Linux so vosse deure plake. Si l' plake est vude,\n"
+"ou si les sistinmes d' operance k' i gn a ddja prindèt tote li plaece,\n"
+"vos avoz mezåjhe del pårti. Fé on pårtixhaedje d' ene deure plake çoula\n"
+"vout dire del pårti lodjicmint po fé del plaece po-z astaler vosse novea\n"
+"sistinme Mandriva Linux.\n"
+"\n"
+"Come, on côp ki li pårtixhaedje est fwait, on n' sait rivni en erî\n"
+"(normålmint), les apurdisses ont sovint sogne ou peu di s' enonder.\n"
+"Awoureuzmint, i gn a on macrea ki vs aidrè po l' fé.\n"
+"Divant di cmincî, lijhoz cisse seccion chal en etir, et sortot purdoz\n"
+"bén vosse tins.\n"
+"\n"
+"Sorlon l' apontiaedje di vosse deure plake, pluzieurès solucions\n"
+"sont possibes:\n"
+"\n"
+" * «%s»: çouchal frè tot simplumint on pårtixhaedje\n"
+"otomatike del plaece vude so les deures plakes da vosse;\n"
+"vos n' avoz a vos preyocuper di rén après.\n"
+"\n"
+" * «%s»: li macrea a detecté ene ou pus di\n"
+"pårticions Linux k' egzistèt ddja so vosse deure plake.\n"
+"Si vos les vloz wårder, prindoz cisse tchuze chal.\n"
+"On vs dimandrè adon di tchoezi les ponts di montaedje des pårticions,\n"
+"les vîs ponts di montaedjes sront metous come prémetowès valixhances,\n"
+"et pol pus grande pårt c' est ene bone idêye delzès wårder.\n"
+"\n"
+" * «%s»: si Microsoft Windows est\n"
+"astalé so vosse deure plake et s' i prind tote li plaece k' i gn a,\n"
+"vos dvoz fé del plaece libe po les dnêyes di Linux. Po çoula vos ploz\n"
+"disfacer li pårticion Microsoft Windows et totes ses dnêyes (veyoz les\n"
+"solucions «Disfacer li plake etire») oudonbén raptiti vosse pårticion\n"
+"FAT di Microsoft Windows.\n"
+"Li candjmint d' grandeu des pårticions si pout fé sins piede des dnêyes,\n"
+"a condicion del disfragminter d' aprume, eyet kel pårticion soeye ene\n"
+"pårticion FAT. C' est hôtmint ricmandé di fé ene copeye di såvrité.\n"
+"Cisse solucions est ricmandêye si vos vloz eployî Mandriva Linux et\n"
+"Microsoft Windows sol minme copiutrece.\n"
+"\n"
+"Divant di tchoezi cisse solucion, i vos fåt comprinde kel grandeu di vosse\n"
+"pårticion Microsoft Windows srè pus ptite ki çk' ele est asteure.\n"
+"Dj' ô bén, vos åroz moens di plaece libe so Microsoft Windows po wårder\n"
+"les dnêyes da vosse ou astaler des noveas programes.\n"
+"\n"
+" * «%s»: si vos vloz disfacer totes les dnêyes k' i gn a\n"
+"so vosse deure plake po mete el plaece li sistinme Mandriva Linux,\n"
+"vos ploz tchoezi cisse tchuze chal.\n"
+"Prindoz asteme k' avou cisse solucion chal vos n' pôroz nén rivni en erî\n"
+"on côp ki vos avoz acertiné vosse tchuze.\n"
+"\n"
+" !! Avou cisse tchuze chal, totes les dnêyes del deure plake sront "
+"pierdowes !!\n"
+"\n"
+" * «%s»: çouchal va simplumint disfacer ttafwait sol\n"
+"deure plake eyet cmincî on novea pårtixhaedje. Totes les dnêyes sol\n"
+"deure plake vont esse pierdowes.\n"
+"\n"
+" !! Avou cisse tchuze chal, Tot çk' i gn a el deure plake srè pierdou. !!\n"
+"\n"
+" * «%s»: si vos vloz fé manuwelmint\n"
+"li pårtixhaedje del deure plake, vos ploz tchoezi çouchal.\n"
+"Mins prindoz asteme, avou cisse solucion chal vos pôroz fé des poûxhantès\n"
+"mins dandjureusès sacwès.\n"
+"Vos ploz åjheymint piede totes vos dnêyes. Adon, ni tchoezixhoz nén\n"
+"çouchal, a moens di vormint saveur çou k' vos fjhoz.\n"
+"Po pus di racsegnes sol manire d' eployî l' usteye DrakDisk,\n"
+"loukîz li seccion «Manaedjî vos pårticions» do manuwel."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "Eployî les pårticions k' i gn a"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "Disfacer li plake etire"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"Vo nos la. L' astalåcion a stî fineye et asteure vosse sistinme GNU/Linux\n"
+"est presse a-z esse eployî. Vos n' avoz k' a clitchî sol boton «%s»\n"
+"po renonder l' éndjole. Èn rovyîz nén di bodjî l' sopoirt d' astalaedje\n"
+"(plakete ou plake lazer) do lijheu. Li prumire sacwè ki vos voeroz on côp\n"
+"l' éndjole renondêye, djusse après li verifiaedje di l' éndjolreye, c' est\n"
+"li menu d' l' enondrece, ki vs dene li tchuze di ké sistinme d' operance "
+"enonder.\n"
+"\n"
+"Li boton «%s» mostere deus ôtes botons:\n"
+"\n"
+" * «%s»: po fé ene plakete ki vs\n"
+"permetrè di fé ene ôte astalåcion pareye al cene ki vos vnoz d' fé,\n"
+"mins di manire otomatike, sins mezåjhe d' ene djin po fé les tchuzes.\n"
+"\n"
+" Notez k' i gn a co deus ôtes tchuzes on côp ki vos avoz clitchî ç' boton "
+"la:\n"
+"\n"
+" * «%s». Po ene astalåcion dimey-otomatike, l' etape do pårtixhaedje\n"
+"(et seulmint cisse etape la) dimorant eteractive;\n"
+"\n"
+" * «%s». Astalåcion ttafwaitmint otomatike: li deure plake est\n"
+"completmint riscrîte et rpårteye, totes les dnêyes k' i gn aveut sront\n"
+"pierdowes.\n"
+"\n"
+" Cisse fonccionålité la est foirt ahessåve po-z astaler so on grand nombe\n"
+"d' éndjoles similaires. Loukîz eto li seccion so l' Oto-astalaedje sol\n"
+"waibe da nosse.\n"
+"\n"
+" * «%s»(*): schapêye li tchuze des pacaedjes\n"
+"k' a stî fwaite tins di l' astalaedje. Adonpu, cwand vos froz ene nouve\n"
+"astalåcion, metoz l' plakete dins l' lijheu ey enonder l' astalaedje\n"
+"tot-z alant sol waitroûle d' aidance (tchoûkîz sol tape [F1]), et s' taper\n"
+"« linux defcfg=\"floppy\" » sol roye d' intrêye et poy li tape [Enter].\n"
+"\n"
+"(*) I vs fåt ene plakete FAT-abwesnêye (po ndè fé ene a pårti di GNU/Linux,\n"
+"tapez « mformat a: » sol roye di comande)."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "Fé li plakete d' astalaedje otomatike"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"Si vos avoz tchoezi d' eployî des pårticions GNU/Linux k' i gn aveut\n"
+"davance, vos vloz motoit lzès rabwesner po disfacer les dnêyes\n"
+"k' ele ont å dvins et raveur del plaece. Si vos vloz fé çoula,\n"
+"i vs fåt tchoezi eto les pårticions ki vos vloz rabwesner.\n"
+"\n"
+"Notez k' i n' a nén mezåjhe di rabwesner totes les pårticions ki sont\n"
+"ddja fwaites ey abwesnêyes po GNU/Linux. Vos l' divoz fé po les\n"
+"pårticions ki sievront pol cour do sistinme d' operance (dj' ô bén,\n"
+"les pårticions ki sront montêyes come « / », « /usr » ou co « /var »),\n"
+"mins vos ploz reployî sins abwesnaedje des pårticions avou des dnêyes\n"
+"ki vos vloz wårder (come c' est l' cas tipike del pårticion avou «/home»).\n"
+"\n"
+"Fijhoz bén atincion å moumint d' tchoezi les pårticions.\n"
+"On côp l' abwesnaedje fwait, totes les dnêyes del pårticion sront\n"
+"pierdowes; vos n' les pôroz nén rapexhî.\n"
+"\n"
+"Clitchîz so «%s» cwand vos estoz presse po l' abwesnaedje des\n"
+"pårticions.\n"
+"\n"
+"Clitchîz so «%s» si vos vloz tchoezi ene ôte pårticion po-z astaler\n"
+"vosse novea sistinme d' operance Mandriva Linux.\n"
+"\n"
+"Clitchîz so «%s» si vos vloz tchoezi les pårticions ki sront\n"
+"verifieyes po vey s' i gn a des måvas bloks sol deure plake."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"Å moumint ki vos astalez Mandriva Linux, i s' pout bén k' i gn åye\n"
+"des pacaedjes k' ont stî metous a djoû dispoy li moumint do fijhaedje\n"
+"del distribucion. Motoit k' des bugs ont stî coridjîs, ou des problinmes\n"
+"di såvrité. Por vos profiter di ces metaedjes a djoû, on vs propôze\n"
+"d' aberweter di so l' daegntoele les metaedjes a djoû k' i pout gn aveur.\n"
+"Tchoezixhoz «%s» si vos avoz on raloyaedje al daegntoele en alaedje, ou\n"
+"«%s» si vos inmez mî d' ratinde et fé les metaedjes a djoû pus tård.\n"
+"\n"
+"Si vos tchoezixhoz «%s», i gn årè ene djivêye des plaeces di wice k' on\n"
+"pout prinde les metaedjes a djoû ki vs serè mostrêye. Tchoezixhoz li plaece\n"
+"li pus près d' vos. Adonpu, èn åbe di tchoezixhaedje des pacaedjes\n"
+"aparetrè: verifyîz l' tchuze, et clitchîz so «%s» po-z aberweter\n"
+"ey astaler les tchoezi(s) pacaedje(s), oudonbén clitchîz so «%s»\n"
+"po leyî ouve."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"Chal, c' est po tchoezi l' livea di såvrité ki vos vloz po voste éndjole.\n"
+"Ene rîle simpe c' est ki pus voste éndjole est egzpozêye, pus les dnêyes\n"
+"k' i gn a å dvins sont impôrtantes, pus li livea di såvrité doet esse hôt.\n"
+"Mins ossu, on hôt livea di såvrité çoula vout dire ki c' est moens åjhey\n"
+"d' eployî li copiutrece.\n"
+"\n"
+"Si vos n' savoz cwè tchoezi, leyîz li prémetou livea. Vos l' pôroz candjî\n"
+"pus tård avou l' usteye draksec a pårti do cinte di contrôle di Mandriva "
+"Linux.\n"
+"\n"
+"Li tchamp «%s» c' est po dner l' adresse emile d' ene sakî responsåve del\n"
+"såvrité po ciste éndjole ci. Les messaedjes sol såvrité lyi sront evoyîs."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "Manaedjeu pol såvrité"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"Chal, vos dvoz tchoezi so kéne/kénès pårticion(s) ki vos voloz astaler\n"
+"vosse sistinme Mandriva Linux. Si vos pårticions ont ddja stî fwaites\n"
+"(p. egz. li dierin côp ki vos avoz astalé GNU/Linux ou bén avou ene ôte\n"
+"usteye di pårtixhaedje), vos les ploz eployî. Ôtrumint, des pårticions dvèt\n"
+"esse defineyes so vosse deure plake. Ça vout dire ki vos alez dispårti\n"
+"lodjicmint li deure plake di voste éndjole e diferinnes coines separêyes\n"
+"di ene l' ôte.\n"
+"\n"
+"Po fé les pårticions, vos dvoz d' aprume tchoezi li plake a pårti e\n"
+"clitchant so «hda» pol prumire plake IDE, «hdb» pol deujhinme, «sda» pol \n"
+"prumire plake SCSI, et vos nd åroz.\n"
+"\n"
+"Pol pårtixhaedje del deure plake tchoezeye, vos ploz prinde ene di ces\n"
+"tchuzes chal:\n"
+"\n"
+" * «%s»: cisse tchuze va disfacer totes les pårticions k' i gn a sol "
+"tchoezeye deure plake.\n"
+"\n"
+" * «%s»: cisse tchuze va fé des pårticions ext3 pol sistinme et ene di "
+"swap e prindant li plaece di libe k' i gn a sol deure plake et carculant "
+"otomaticmint li grandeu li meyeuse.\n"
+"\n"
+"«%s» dene des ôtes tchuzes, pus spepieuses:\n"
+"\n"
+" * «%s»: po schaper li tåvlea di pårtixhaedje\n"
+"so ene plakete. Ahessåve pol poleur rapexhî pus tård, s' i fåt.\n"
+"C' est hôtmint ricmandé del fé.\n"
+"\n"
+" * «%s»: vos permete di rapexhî\n"
+"on tåvlea di pårtixhaedje k' a stî schapé so plakete d' avance.\n"
+"\n"
+" * «%s»: si vosse tåvlea di pårtixhaedje est crombe, vos ploz sayî del "
+"rapexhî avou cisse tchuze chal. Prindoz asteme et rimimbrez vs ki çoula pout "
+"n' nén roter a tos les côps.\n"
+"\n"
+" * «%s»: Cisse tchuze chal c' est si vos\n"
+"vloz disfé tos les candjmints et tcherdjî vosse tåvlea di pårtixhaedje\n"
+"di dpårt.\n"
+"\n"
+" * «%s»: disclitchîz cisse tchuze\n"
+"chal si vos n' voloz nén ki les bodjåves sopoirts (plakes lazer,\n"
+"plaketes,...) soeyexhe montés otomaticmint mins l' fé al mwin.\n"
+"\n"
+" * «%s»: Si vos vloz aveur l' aidance d' on macrea po fé li pårtixhaedje "
+"del deure plake, vos ploz tchoezi cisse tchuze chal. Ele est ricomandêye si "
+"vos n' estoz nén on spepieus e pårtixhaedje.\n"
+"\n"
+" * «%s»: clitchîz so ci boton la po disfé tos vos candjmints.\n"
+"\n"
+" * «%s»: vos dene des ôtès tchuzes po les\n"
+"pårticions (sôre, tchuzes, abwesnaedje) eyet dene pus d' informåcions\n"
+"sol deure plake.\n"
+"\n"
+" * «%s»: on côp ki vos avoz fini li pårtixhaedje del deure plake, "
+"tchoezixhoz çouchal po schaper po d' bon les candjmints.\n"
+"\n"
+"Cwand vos dnez l' grandeu del pårticion, vos l' poloz tchoezi finmint avou\n"
+"les tapes fletches di vosse taprece.\n"
+"\n"
+"Note: vos ploz tot fé pår avou l' taprece: naivyîz d' ene pårticion a l' ôte "
+"avou li tape Tab et les fletches Up/Down.\n"
+"\n"
+"Cwand ene pårticion a stî tchoezeye, vos poloz fé:\n"
+"\n"
+" * Ctrl-c po fé ene novele pårticion (cwand c' est ene vude pårticion k' a "
+"stî tchoezeye)\n"
+"\n"
+" * Ctrl-d po disfacer li pårticion\n"
+"\n"
+" * Ctrl-m po defini li pont di montaedje\n"
+"\n"
+"Po-z aveur des informåcions so les diferins sistinmes di fitchîs k' i gn a,\n"
+"lijhoz li tchaptrê so «ext2FS» do «Manuel di Referince».\n"
+"\n"
+"Si vos alez astaler sor ene éndjole PPC, motoit ki vos vôroz fé ene pitite "
+"pårticion HFS «d' enondaedje» di 1 Mo å moens po l' eployî avou l' enondrece "
+"«yaboot». Si vos decidez del fé on pô pus grande, par egzimpe 50 Mo, çoula "
+"pôreut fé ene clapante plaece po-z î mete on nawea et ene imådje ramdisk po "
+"des cas d' urdjince k' i gn åreut."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "Montaedje otomatike des sopoirts bodjåves"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "Candjî pol môde normå/spepieus"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"Pus d' ene pårticion Windows a stî detectêye so vosse deure plake.\n"
+"Tchoezixhoz li cene ki vos vloz candjî si grandeu, po-z astaler vosse\n"
+"novea sistinme d'&nbsp;operance Mandriva Linux s' i vs plait.\n"
+"\n"
+"Po l' informåcion, tchaeke pårticion est mostrêye come çoula:\n"
+"«no Linux», «no Windows», «grandeu».\n"
+"\n"
+"Li «no Linux» est costrût come çouchal:\n"
+"«sôre del deure plake» + «limero del deure plake» + «limero del "
+"pårticion» (par egzimpe, hd+a+1 --> «hda1»)\n"
+"\n"
+"Li «sôre del deure plake» est «hd» si vosse deure plake est del sôre IDE,\n"
+"oudonbén «sd» si elle est del sôre SCSI.\n"
+"\n"
+"Li «limero del deure plake» est todi ene lete pa drî «hd» ou «sd».\n"
+"Avou les plakes IDE on a:\n"
+"\n"
+" * «a» pol plake mwaisse sol prumî controleu IDE,\n"
+"\n"
+" * «b» pol plake esclåve sol prumî controleu IDE,\n"
+"\n"
+" * «c» pol plake mwaisse sol deujhinme controleu IDE,\n"
+"\n"
+" * «d» pol plake esclåve sol deujhinme controleu IDE.\n"
+"\n"
+"Avou les plakes SCSI, «a» vout dire «prumire deure plake», «b» vout dire "
+"«deujhinme deure plake», evnd...\n"
+"\n"
+"Li «no Windows» est li lete ki Windows eploye po-z idintifyî li pårticion "
+"(par egzimpe li prumire pårticion Windows del prumire deure plake est lomêye "
+"«C:»)."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"«%s»: verifyîz ki l' tchuze est bén l' bone. Si vos dmorez dins\n"
+"èn ôte payis, clitchîz sol boton «%s» po ndè tchoezi èn ôte.\n"
+"Si vosse payis n' est nén e l' prumire djivêye di håynêye, clitchîz sol\n"
+"boton «%s» po-z aveur li djivêye en etir di tos les payis del Daegn."
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"Ciste etape est enondêye seulmint si ene viye pårticion GNU/Linux a stî\n"
+"trovêye so voste éndjole.\n"
+"\n"
+"DrakX asteure a mezåjhe di saveur si vos vloz fé ene novele astalåcion\n"
+"oudonbén fé on metaedje a djoû d' on sistinme Mandriva Linux k' i gn a\n"
+"ddja sol plake:\n"
+"\n"
+" * «%s»: çouchal va spotchî ttafwait l' vî sistinme k' i gn\n"
+"aveut sol plake. Si vos vloz candjî l' manire ki vos deurès plakes sont\n"
+"pårteyes, oudonbén candjî li sistinme di fitchîs, vos dvrîz tchoezi\n"
+"çouchal. Sorlon vosse pårtixhaedje, si vos avoz « /home » so ene\n"
+"pårticion da sinne metans, vos ploz wårder on boket di vos dnêyes\n"
+"ki n' seront nén spotcheyes.\n"
+"\n"
+" * «%s»: cisse classe d' astalaedje chal vos permete di\n"
+"mete a djoû les pacaedjes k' i gn a so vosse sistinme Mandriva Linux.\n"
+"Vosse pårtixhaedje est wårdé et les dnêyes des uzeus n' sont nén\n"
+"candjeyes. Li plupårt des ôtès etapes d' apontiaedje dimorèt, come\n"
+"pol cas d' èn astalaedje sitandård.\n"
+"\n"
+"Eployî l' tchuze «Metaedje a djoû» rote comifåt po mete a djoû des\n"
+"sistinmes Mandriva Linux modêye «8.1» ou pus nouve. Mins l' fé po\n"
+"des modêyes di Mandriva Linux pus viyes kel «8.1» n' est nén ricmandé."
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"Sorlon li tchuze do lingaedje, DrakX va tchoezi otomaticmint li boune\n"
+"taprece por vos. Verifyîz kel tchuze corespond bén a çou k' vos vloz,\n"
+"oudonbén candjîz di taprece.\n"
+"\n"
+"I s' pout ki vos åyoxhe ene taprece diferinne del cene prémetowe\n"
+"po vosse lingaedje: par egzimpe, ene djin ki djåzreut inglès mins\n"
+"vicreut el Swisse, ele vôreut cwand minme ene swisse taprece.\n"
+"Oudonbén si vos avoz tchoezi l' walon mins ki vos avoz ene taprece\n"
+"francesse ou qwerty purade k' ene taprece bedje. Dins les deus cas,\n"
+"vos pôroz candjî vosse tchuze a l' etape «Rascourti éndjolreye» pus lon,\n"
+"et tchoezi l' cene ki vos vloz dins en ene djivêye.\n"
+"\n"
+"Clitchîz so «%s» po-z aveur li djivêye etire di totes les tapreces ki sont\n"
+"sopoirtêyes.\n"
+"\n"
+"Si vos tchoezixhoz ene taprece po èn alfabet nén latén, li purnea shuvant\n"
+"vos dinrè l' tchuze des tapes a tchôkî po candjî inte l' alfabet latén eyet\n"
+"l' taprece nén latene."
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"Li prumire etape c' est di tchoezi vosse lingaedje.\n"
+"\n"
+"Li lingaedje ki vos tchoezixhoz serè li prémetou\n"
+"lingaedje do sistinme. Ci srè l' lingaedje eployî pol\n"
+"documintåcion, l' astalaedje, eyet l' sistinme e djenerå.\n"
+"Les lingaedjes sont rgroupés pa grandès redjons del Daegn\n"
+"po-z aveur des rîlêyes di lingaedjes pus coûtes.\n"
+"\n"
+"Si vos clitchîz so «%s» vos pôroz tchoezi d' aveur\n"
+"do sopoirt po ds ôtes lingaedjes avou. Cwand vos tchoezixhoz èn ôte\n"
+"lingaedje les fitchîs specifikes po ci lingaedje la (ratournaedjes, "
+"aidance,\n"
+"documintåcions, coridjreces,...) sront astalés. Par egzimpe, si vos alez\n"
+"aveur so voste éndjole èn uzeu ki vént del Sipagne, clitchîz sol boesse\n"
+"a clitchî ki mostere «%s» dins l' djivêye del seccion «Sipepieus».\n"
+"\n"
+"Åd fwait do sopoirt UTF-8 (unicôde): Unicôde est on novea ecôdaedje\n"
+"ki permete di scrire tos les lingaedjes del Daegn. Mins i gn a co des\n"
+"sacwès a-z amidrer dins l' sopoirt UTF-8 so GNU/Linux. Vola pocwè\n"
+"Mandriva Linux eployrè UTF-8 ou nén sorlon les tchuzes ki vos djhoz:\n"
+"\n"
+" * Si vos tchoezixhoz on lingaedje avou ene foite eritance d' on dné\n"
+"ecôdaedje (lingaedjes latin1, rûsse, djaponès, chinwès, corêyin, taylandès\n"
+"grek, turk, li plupårt des lingaedjes latin2), cist ecôdaedje d' eritance "
+"la\n"
+"serè-st eployî come prémetou ecôdaedje;\n"
+"\n"
+" * Les ôtes lingaedjes eployèt unicôde;\n"
+"\n"
+" * Si deus, ou di pus, di lingaedjes sont tchoezis, et si ces lingaedjes la\n"
+"n' eployèt nén l' minme prémetou ecôdaedje, adon unicôde serè-st eployî,\n"
+"la k' il est li seu cmon ecôdaedje;\n"
+"\n"
+" * Di pus, li boesse «%s» vos permete di foirci\n"
+"l' sistinme a-z eployî unicôde (UTF-8), et çoula po tot l' minme ké "
+"lingaedje.\n"
+"\n"
+"Notez ki vos ploz astaler li sopoirt po bråmint des lingaedjes et nén \n"
+"seulmint onk. Si vos les vloz tos (tos les cis sopoirtés pol moumint, come \n"
+"di djusse), clitchîz sol boesse «%s». Cisse tchuze la \n"
+"est ahessåve po ene éndjole ki srè eployeye pa des djins di tolminme ké \n"
+"payis. Dimander l' sopoirt po on lingaedje ça vout dire ki les fontes,\n"
+"les ratournaedjes, les coridjreces, evnd. po ç' lingaedje la sront astalés.\n"
+"\n"
+"On côp ki vos avoz tchoezi les locåles ki vos vloz, clitchîz so «Shuvant» po "
+"passer a l' etape shuvante.\n"
+"Po candjî d' on lingaedje a l' ôte sol sistinme on côp astalé, vos ploz "
+"enonder li comande «localedrake» come uzeu «root» po candjî li prémetou "
+"lingaedje do sistinme; ou l' enonder come èn uzeu normå po candjî les "
+"preferinces di lingaedje po cist uzeu la."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "Español"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"D' acostumance, DrakX n' a nole rujhe po trover l' nombe di botons di\n"
+"vosse sori. S' i n' trove nén, i pinsrè ki vos avoz ene sori di deus\n"
+"botons, et va mete en alaedje l' emulåcion do troejhinme boton. Li\n"
+"troejhinme boton d' ene sori a deus botons pout esse emulé tot\n"
+"clitchant avou les botons d' hintche eyet d' droete e minme tins.\n"
+"DrakX sårè otomaticmint si vosse sori est ene sori PS/2, séreye\n"
+"oudonbén USB.\n"
+"\n"
+"Si vos avoz ene sori a troes botons sins rôlete, vos ploz tchoezi\n"
+"l' sori ki dit «%s». DrakX va adon apontyî vosse sori po pleur emuler\n"
+"li rôlete: po çoula, clitchîz sol boton do mitan et s' bodjîz l sori.\n"
+"\n"
+"Si vos vloz defini ene sôre di sori diferinne, tchoezixhoz li sôre k' i fåt "
+"el djivêye.\n"
+"\n"
+"Vos ploz tchoezi l' intrêye «%s» po ene sôre di sori «djenerike»\n"
+"k' irè bén avou cåzu totes les soris.\n"
+"\n"
+"Si vos fjhoz ene tchuze diferinne del prémetowe, DrakX vos mosterrè on\n"
+"purnea po sayî l' sori. Sayîz les botons et li rôlete po vey si tot va\n"
+"comifåt. Si l' sori ni rote nén comifåt, tapez so l' espåce, oudonbén so\n"
+"RETURN po rivni èn erî eyet ndè tchoezi ene ôte.\n"
+"\n"
+"Des côps k' i gn a, les soris a rôlete èn sont nén detectêyes otomaticmint\n"
+"et vos dvroz l' tchoezi dins ene djivêye. Acertinez vs di tchoezi l' cene\n"
+"ki coresponde å pôrt ki vosse sori est raloyeye. Après aveur tchoezi ene\n"
+"sori eyet clitchî sol boton «%s», ene imådje d' ene sori est håynêye el\n"
+"waitroûle. Fijhoz bodjî l' rôlete po verifyî k' ele rote comifåt.\n"
+"On côp ki vos voeyoz l' imådje del rôlete sol waitroûle ki bodje del minme\n"
+"manire ki vos fjhoz bodjî l' rôlete, sayîz les botons eyet vey si\n"
+"l' cursoe shût bén les movmints del sori."
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "avou rôlete emulêye"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "Univiersele | Tot l' minme kéne sori PS/2 ou USB"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"Tchoezixhoz li bon pôrt. Metans: li pôrt «COM1» dzo MS Windows si lome\n"
+"«ttyS0» dzo GNU/Linux."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"Çouchal c' est li pus consecant decidaedje pol såvrité di vosse sistinme\n"
+"GNU/Linux: vos dvoz dner li scret po «root». «root» est li manaedjeu\n"
+"do sistinme eyet l' seu otorijhî a fé des metaedjes a djoû, radjouter\n"
+"des uzeus, candjî l' apontiaedje djenerå do sistinme, evnd. Po fé court,\n"
+"«root» pout fé ttafwait! C' est po çoula k' i vs fåt bén tchoezi li scret\n"
+"di «root», onk ki soeye målåjhey a trover - DrakX vos dirè s' il est trop\n"
+"åjhey. Come vos l' poloz vey, vos avoz l' tchuze di n' nén dner di scret,\n"
+"mins nos nel consians nén; «root» pout tot fé, çoula vout dire eto k' i "
+"pout\n"
+"disfacer -- minme sins l' voleur -- tot çou k' i gn a so les deurès\n"
+"plakes, minme so les pårticions d' ôtes sistinmes d' operance; i våt mî\n"
+"n' eployî l' conte «root» ki vormint cwand nd a mezåjhe, et po çoula\n"
+"våt mî nén rinde l' accès å conte trop åjhey.\n"
+"\n"
+"Li scret dvreut maxhî des letes et des chifes ey esse 8 caracteres long.\n"
+"Ni scrijhoz måy li scret di «root» ene sawice - c' est on trop grand\n"
+"risse po vosse sistinme.\n"
+"\n"
+"Mins nerén, nel fijhoz nén trop long ou trop målåjhey ki vos n' arivez\n"
+"nén a vos l' rimimbrer!\n"
+"\n"
+"Li scret ni srè nén håyné sol waitroûle cwand vos l' tapez, po çoula vos\n"
+"dvoz l' diner deus côps, po bén l' acertiner et k' i gn åye moens di\n"
+"fé ene flotche tot l' tapant. Si vos tapez deus côps avou l' minme\n"
+"flotche, si srè ci scret «incorek» la k' i vs fårè dner l' côp ki vént.\n"
+"\n"
+"Si vos vloz ki l' contrôle des screts soeye fwait pa on sierveu "
+"d' otintifiaedje\n"
+"(come NIS ou LDAP), adon clitchîz sol boton «%s».\n"
+"\n"
+"Si vosse rantoele eploye li protocole LDAP, NIS ou les dominnes Windows PDC\n"
+"po l' otintifiaedje, tchoezixhoz li moyén d' otintifiaedje corek po «%s».\n"
+"Si vos n' savoz nén, dimandez a l' administreu del rantoele locåle.\n"
+"\n"
+"Si vos avoz des rujhes po vs rimimbrer les screts, vos ploz tchoezi di\n"
+"n' eployî «%s», si voste éndjole n' est nén raloyeye al daegntoele\n"
+"et si vos avoz fiyate a totes les djins k' ont accès al copiutrece."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "otintifiaedje"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"Ene enondrece c' est on ptit programe ki s' mete en alaedje a l' enondaedje\n"
+"del copiutrece. C' est lu ki s' ocupe d' enonder tot l' sistinme. "
+"Normålmint,\n"
+"l' astalaedje di l' enondrece est ene etape totafwaitmint otomatike. DrakX "
+"va\n"
+"analijhî li cmince del deure plake eyet ovrer sorlon çou ki srè trové la:\n"
+"\n"
+" * si c' est on secteu d' enondaedje Windows k' est trové, i srè\n"
+"replaecî avou on secteu d' enondaedje di GRUB/LILO. Come çoula vos pôroz\n"
+"enonder GNU/Linux ou èn ôte S.O.\n"
+"\n"
+" * si c' est on secteu d' enondaedje di GRUB ou LILO k' est trové,\n"
+"i srè replaecî avou on pus novea.\n"
+"\n"
+"Si nou secteu d' enondaedje n' est trové, DrakX vos dmandrè wice\n"
+"mete l' enondrece. Normålmint, li «%s»\n"
+"est li meyeuse plaece. Tchoezi «%s»\n"
+"n' astalrè nole enondrece. Eployîz çoula seulmint si vos savoz çou\n"
+"k' vos fjhoz."
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"Chal, vos tchoezixhoz li ké sistinme d' imprimaedje vos vloz eployî\n"
+"so vosse copiutrece. Des ôtes sistinmes d' operance k' i gn a\n"
+"vos dnèt onk, mins Mandriva Linux vos lait tchoezi inte deus, tchaeke onk\n"
+"estant l' meyeu dins on cas dné.\n"
+"\n"
+" * «%s» - ki vout dire «print, do not queue» (imprimer sins cawêye), est\n"
+"li tchuze a-z eployî si vosse copiutrece est raloyeye directumint a vosse\n"
+"copiutrece et ki vos vloz divni araedjî cwand l' papî s' bôre... et ki\n"
+"vos n' avoz nén des scrireces sol rantoele locåle («%s» n' sait manaedjî\n"
+"ki des apontiaedjes rantoele foirt simpes eyet il est ene miete londjin\n"
+"po-z imprimer pal rantoele). Tchoezixhoz «pdq» si vos estoz on "
+"mieraprindisse\n"
+"avou GNU/Linux.\n"
+"\n"
+" «%s» - «Common Unix Printing System» (sistinme di cmon imprimaedje po\n"
+"Unix), est clapant po l' imprimaedje so vosse sicrirece locåle ossu bén\n"
+"ki les cenes a l' ôte costé del bole. Il est simpe et pout fé do cliyint\n"
+"come do sierveu pol vî sistinme d' imprimaedje «lpd». Ça vout dire k' il\n"
+"est copatibe avou les sistinme k' i gn aveut davance. I pout fé bråmint\n"
+"d' afwaires, mins l' apontiaedje di båze est cåzu ossu åjhey ki l' ci\n"
+"di «pdq». Si vos avoz mezåjhe d' emuler on sierveu «lpd», i vs fåt mete\n"
+"en alaedje li demon «cups-lpd». «%s» a des eterfaces grafikes po tchoezi\n"
+"les scrireces, apontyî les tchuzes prôpes a tchaeskene et po-z imprimer.\n"
+"\n"
+"Si vos tchoezixhoz asteure, et ki pus tård vos n' inmez nén vosse sistinme\n"
+"d' imprimaedje, vos l' poloz åjheymint candjî avou l' usteye d' apontiaedje\n"
+"des scrireces, a-z enonder a pårti do cinte di contrôle di Mandriva Linux, "
+"tot\n"
+"clitchant sol boton «%s»."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "Sipepieus"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX va cweri après on/des éndjins IDE so vosse copiutrece. I va ossu\n"
+"cweri après ene/des cåte(s) SCSI e PCI. Si ene cåte SCSI est trovêye\n"
+"DrakX va-st astaler otomaticmint li mineu k' i gn a mezåjhe.\n"
+"\n"
+"Come pa des côps li deteccion di l' éndjolreye ni sait nén trover ene "
+"sacwè,\n"
+"i s' pout ki DrakX ni trove rén. Dins ç' cas, vos dvroz specifyî vos minme\n"
+"l' éndjolreye da vosse.\n"
+"\n"
+"Si vos dvoz tchoezi manuwelmint vosse mineu, DrakX vos dmandrè si vos voloz\n"
+"mete des tchuzes por lu. Mins po cmincî, leyîz li mineu rconoxhe tot seu\n"
+"voste éndjolreye: d' acostumance, ça va tot seu.\n"
+"\n"
+"Si ça n' va nén tot seu, vos dvroz dner les informåcions pol mineu "
+"manuwelmint."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"«%s»: si ene cåte son est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si c' est nén l' cene ki vos avoz, vos ploz clitchî chal\n"
+"po tchoezi èn ôte mineu."
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"Chal sont prezintés sacwants parametes k' ont a vey avou voste éndjole.\n"
+"Sorlon çou k' vos avoz come éndjolreye vos voeroz, ou nén, ene ou sacwantes\n"
+"des intrêyes shuvantes. Tchaeke intrêye est fwaite avou l' no do cayet\n"
+"a-z apontyî, shuvowe d' on rascourti di l' apontiaedje do moumint.\n"
+"Clitchîz sol boton «%s» corespondant si vos l' vloz candjî.\n"
+"\n"
+" * «%s»: verifyîz l' apontiaedje del taprece et clitchîz sol boton\n"
+"pol candjî, s' i fåt.\n"
+"\n"
+" * «%s»: verifyîz ki l' tchuze est bén l' bone. Si vos dmorez dins\n"
+"èn ôte payis, clitchîz sol boton «%s» po ndè tchoezi èn ôte.\n"
+"Si vosse payis n' est nén e l' prumire djivêye di håynêye, clitchîz sol\n"
+"boton «%s» po-z aveur li djivêye en etir di tos les payis del Daegn.\n"
+"\n"
+" * «%s»: Li prémetowe coisse d' eureye est tchoezeye pa\n"
+"DrakX sorlon li lingaedje/payis ki vs avoz tchoezi. Vos ploz clitchî\n"
+"sol boton «%s» po-z apontyî vosse ôrlodje avou l' eure locåle del\n"
+"plaece wice ki vos dmorez si l' prémetowe valixhance n' est nén coreke.\n"
+"\n"
+" * «%s»: verifyîz l' apontiaedje del sori eyet clitchîz sol boton pol\n"
+"candjî, s' i fåt.\n"
+"\n"
+" * «%s»: si vos clitchîz so «%s» çoula enondrè li macrea\n"
+"d' apontiaedje des scrireces. Loukîz li tchaptrê corespondant do «Guide\n"
+"d' Enondaedje» po pus d' informåcions sol manire d' apontyî ene nouve\n"
+"sicrirece. L' eterface prezintêye chal rishonne a cene håynêye tins\n"
+"di l' astalåcion.\n"
+"\n"
+" * «%s»: si ene cåte son est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si c' est nén l' cene ki vos avoz, vos ploz clitchî chal\n"
+"po tchoezi èn ôte mineu.\n"
+"\n"
+" * «%s»: si ene cåte tévé est detectêye so vosse sistinme, ele srè\n"
+"metowe chal. Si ele n' est nén detectêye, clitchîz sol boton «%s»\n"
+"po sayî d' l' apontyî al mwin.\n"
+"\n"
+" * «%s»: vos ploz clitchî so «%s» po candjî les parametes\n"
+"del cåte, si vos pinsez k' i sont måvas.\n"
+"\n"
+" * «%s»: li prémetowe finté ki DrakX definixhe po l' eterface\n"
+"grafike est di 800x600 oudonbén 1024x768, sorlon voste éndjolreye.\n"
+"Si ça n' vos va nén, clitchîz sol boton «%s» pol rapontyî.\n"
+"\n"
+" * «%s»: Si vos vloz apontyî li rantoele (locåle ou daegnrece),\n"
+"clitchîz so ç' boton chal. Lijhoz li documintåcion so papî oudonbén\n"
+"li cene håynåve a pårti do cinte di controle di Mandriva Linux\n"
+"après l' astalaedje po-z aveur pus di racsegnes.\n"
+"\n"
+" * «%s»: vos permete d' apontyî les adresses des procsis HTTP eyet FTP\n"
+"si l' éndjole ki vos astalez si trovrè pa drî on côpe-feu.\n"
+"\n"
+" * «%s»: ciste intrêye chal vos permete di rdefini l' livea\n"
+"di såvrité, té k' il a stî defini dins l' etape di dvant.\n"
+"\n"
+" * «%s»: si vos tuzez a raloyî voste éndjole al rantoele daegnrece,\n"
+"c' est ene bone idêye di vs protedjî des hacneus avou on sistinme côpe feu.\n"
+"Lijhoz li seccion corespondante do «Guide d' Enondaedje» po-z aveur di pus\n"
+"di detays so ls apontiaedjes do côpe feu.\n"
+"\n"
+" * «%s»: si vos vloz candjî l' apontiaedje di l' enondrece\n"
+"di l' éndjole. Vos nel duvrîz fé ki si vos estoz seur di vos.\n"
+"Lijhoz li documintåcion so l' enondrece dins l' cinte di controle\n"
+"di Mandriva Linux po pus di racsegnes.\n"
+"\n"
+" * «%s»: vos pôroz controler finmint les kés siervices ki vos vloz\n"
+"enonder so voste éndjole. Si vos l' vloz eployî po fé do sierveu c' est\n"
+"ene bone idêye di candjî et d' verifyî les valixhances chal."
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "Cåte RDIS"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "Eterface grafike"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"Tchoezixhoz li deure plake ki vos vloz disfacer po-z î astaler vosse\n"
+"novele pårticion Mandriva Linux. Prindoz asteme, totes les dnêyes\n"
+"k' i gn a sol deure plake vont esse pierdowes, et vos n' pôroz les rapexhî."
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"Clitchîz so «%s» si vos vloz disfacer totes les dnêyes et totes les\n"
+"pårticions k' i gn a so vosse deure plake.\n"
+"Prindoz asteme, dispoy aveur clitchî so «%s», vos n' pôroz pus rapexhî\n"
+"nole dinêye ou pårticion k' i gn aveut sol deure plake, nerén les cis\n"
+"da Windows.\n"
+"\n"
+"Clitchîz so «%s» po rinoncî a cisse operåcion, et leyî les dnêyes\n"
+"et les pårticions come ele estént sol deure plake."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "Shuvant ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- Di dvant"
+
diff --git a/perl-install/install/help/po/zh_CN.po b/perl-install/install/help/po/zh_CN.po
new file mode 100644
index 000000000..4e2e21ece
--- /dev/null
+++ b/perl-install/install/help/po/zh_CN.po
@@ -0,0 +1,1786 @@
+# drakx messages in Simplified Chinese
+# Danny Zeng <danny@zeng.com.cn>, 2000, 2002
+# Jesse Kuang <kjx@mandriva.com>, 2002
+# Shiyu Tang <shiyutang@netscape.net>, 2003, 2004
+# Funda Wang <fundawang@linux.net.cn>, 2002, 2003, 2004, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 2007\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-04-22 15:41+0800\n"
+"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"Language-Team: Mandriva Linux i18n Team <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"在继续之前, 您应该仔细阅读许可协议的条款。该许可适用于整个 Mandriva Linux发行"
+"版。如果您同意其中的全部条款, 请选中\"%s\"框。如果不同意, 单击\"%s\"按钮将重"
+"新启动您的计算机。"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux 是多用户系统, 这意味着每个用户可拥有自己独立的首选项, 以及自己的文"
+"件, 等等。若要了解关于多用户系统的更多内容, 建议您阅读\n"
+"``初学者指南''。但是与系统管理员 \"root\"\n"
+"不同, 您在此处添加的用户所能做的更改将仅限于他们自己的文件及他们自己的配置, "
+"这可使系统免遭有意无意的破坏。您至少需要为您自己创建一个普通用户 --\n"
+"这应该是您每天所使用的主要账户。尽管以 \"root\"\n"
+"登录很容易, 您可以不受任何限制的完成任何操作, 但这很危险!非常低级的错误就可"
+"能让您的系统再也无法启动。如果您以普通用户的身份犯了非常危险的错误, 最坏的情"
+"况也就是丢失某些信息, 而不会影响整个系统。\n"
+"\n"
+"第一个域会询问您的真实姓名。当然, 这并不是必需的 -- 您当然可以输入您喜欢的任"
+"何内容。DrakX\n"
+"将会使用您在此域中输入的第一个单词作为\"%s\"域的初始值, 即此用户登录系统所用"
+"的名称。如果您喜欢的话, 您也可以不使用默认值, 而换用您喜欢的用户名。下一步就"
+"是输入密码。从安全的角度来说, 非特权(普通)用户密码并没有\n"
+"\"root\" 密码那么需要保密, 但是也没有理由忽视这个密码, 而将其留空或设置得太简"
+"单: 反正, 您自己的文件将会是最危险的。\n"
+"\n"
+"您单击\"%s\"之后, 您还可以添加其它用户。可以为您的每个朋友添加一个用户: 例"
+"如, 您的父亲或您的妹妹。当您添加完用户之后, 请单击\"%s\"。\n"
+"\n"
+"单击\"%s\"按钮允许您更改该用户的默认 \"shell\"(默认为 bash)。\n"
+"\n"
+"\n"
+"当您添加完用户之后, 您可以从中选择一个用户, 计算机启动后将自动以该用户的身份"
+"登录到系统。如果您对此特性感兴趣(也不考虑太多的本地安全性), 请选择希望的用户"
+"和窗口管理器, 然后单击\"%s\"。如果您对此特性不感兴趣, 请不要选中\"%s\"框。"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "您要使用此特性吗?"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"在此列出了您硬盘上已有的 Linux\n"
+"分区。您可以保留向导所作的选择, 因为对于大多数安装来说这一选择是较好的。如果"
+"您想要进行更改的话, 您必须至少定义一个根分区(\"/\")。不要选择太小的分区, 否则"
+"您可能无法安装足够的软件。如果您想要将您的数据存放在单独的分区中, 您还需要创"
+"建一个\n"
+"\"/home\" 分区(仅当您有多于一个 Linux 分区时才可用)。\n"
+"\n"
+"每个分区都按下列格式列出: \"名称\", \"容量\"。\n"
+"\n"
+"\"名称\"结构为: \"硬盘类型\", \"硬盘编号\", \"分区编号\"(例如, \"hda1\")。\n"
+"\n"
+"\"硬盘类型\"取决于硬盘的接口方式。如您的硬盘是 IDE 硬盘, 则\"硬盘类型\"就为"
+"\"hd\";若硬盘为 SCSI 硬盘, 就为\"sd\"。\n"
+"\n"
+"\"硬盘编号\"就是在\"hd\"或\"sd\"后面的那个字母。对于IDE硬盘: \n"
+"\n"
+" * \"a\"意味着\"主 IDE 控制器的主硬盘\";\n"
+"\n"
+" * \"b\"意味着\"主 IDE 控制器的从硬盘\";\n"
+"\n"
+" * \"c\"意味着\"从 IDE 控制器的主硬盘\";\n"
+"\n"
+" * \"d\"意味着\"从IDE控制器的从硬盘\"。\n"
+"\n"
+"对于 SCSI 硬盘, \"a\"意味着\"最低的 SCSI ID\", \"b\"意味着\"第二低的 SCSI ID"
+"\", 依此类推。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux 安装分布于多张 CD-ROM 中。如果选中软件包位于另外的 CD-ROM, "
+"DrakX 将弹出当前\n"
+"CD, 并要求您插入所需的正确 CD。如果您手中没有所请求的 CD, 只需单击\"%s\", 就"
+"不会安装相应的软件包了。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"现在该指定要在您的系统中安装哪些程序了。Mandriva Linux\n"
+"为您准备了数千个软件包。而为了使管理软件包更加容易, 软件包已经按相似程度分成"
+"了多个组。\n"
+"\n"
+"Mandriva Linux\n"
+"按四个类别对软件包进行了分类。您可以从不同的类别混合选择应用程序。也就是说, "
+"``工作站''中也可以选择安装``服务器''分类中的应用程序。\n"
+"\n"
+" * \"%s\":如果您计划将您的计算机用作工作站, 请选择工作站分类中的一个或多个"
+"组。\n"
+"\n"
+" * \"%s\":如果您计划使用您的计算机进行编程, 请从该类别中选择相应的组。特殊"
+"的 \"LSB\"\n"
+"组将会对您的系统进行配置, 这样所编译的结果将会尽可能遵从 Linux 标准基础(LSB)"
+"规范。\n"
+"\n"
+" 选择 \"LSB\" 组将安装 \"2.4\" 内核系列, 而不是默认的 \"2.6\" 内核。这是为"
+"了保证系统能够百分之百的遵从\n"
+"LSB。但是, 即便您不选择 \"LSB\" 组, 您也会得到一个接近百分之百遵从 LSB 的系"
+"统。\n"
+"\n"
+" * \"%s\":如果您的计算机即将成为服务器, 请选择您想要安装在计算机上的公共服"
+"务。\n"
+"\n"
+" * \"%s\":这里您可以选择您首选的图形环境。如果您想要使用图形界面, 则至少要选"
+"择其中一个。\n"
+"\n"
+"将鼠标光标移动到组名之上, 您会看到该组的简要描述文字。\n"
+"\n"
+"如果您对所提供的软件包比较熟悉, 或者您想要完全控制安装什么软件包, 就可以选中"
+"\"%s\"选项。\n"
+"\n"
+"如果您以\"%s\"模式启动安装, 您可以不选择任何组, 这样可以避免安装任何新软件"
+"包。这对于修复或升级已有系统很有帮助。\n"
+"\n"
+"如果您在执行常规安装(与升级相对)的时候一个组也没有选中, 会弹出一个对话框建议"
+"最小安装的不同选项:\n"
+"\n"
+" * \"%s\":安装图形桌面所需的最少软件包。\n"
+"\n"
+" * \"%s\":安装基本系统, 另加基本工具及相应文档。此安装适合建立服务器。\n"
+"\n"
+" * \"%s\":将安装使 Linux 系统能够正常运行的最少软件包。使用此安装, 您仅仅有"
+"命令行界面。此安装的总计大小为约 65 兆字节。"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "升级"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "安装基础文档"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "真正的最小安装"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+"如果您选中了想要选择单个软件包, 安装程序会显示出一个软件包的树形结构, 其中会"
+"按照组和子组分类显示全部软件包。浏览软件包树时, 您可以选择整个组, 子组或单个"
+"软件包。\n"
+"\n"
+"只要您在左侧的树中选择了软件包, 右侧就会出现该软件包用途的描述。\n"
+"\n"
+"!!\n"
+"如果选择了服务器软件包, 不管是您特意选中的, 还是因为该软件包是某组的成员, 您"
+"都需要确认是否真的想要安装这些服务器。默认情况下, Mandriva Linux\n"
+"会在启动时自动启动已安装的全部服务。尽管在发行版送出时这些服务是安全的, 但完"
+"全有可能在此版本 Mandriva Linux\n"
+"完成后发现了相应软件的安全漏洞。如果您并不知道特定服务的用途, 或者不知道为什"
+"么要安装这些服务, 请单击\"%s\"。单击\"%s\"将安装列出的服务, 并且启动时这些服"
+"务会被自动启动。\n"
+"!!\n"
+"\n"
+"\n"
+"\"%s\"选项用于在安装程序自动选择软件包以解决依赖性问题时禁止弹出警告对话框。"
+"某些软件包会依赖其它软件包, 而要安装一个软件包的需要先安装另外一个软件包。安"
+"装程序会自动确定要满足依赖性需要安装哪些软件包, 以便顺利完成安装。\n"
+"\n"
+"\n"
+"列表底部的小软盘图标允许您装入先前安装时创建的软件包列表。如果您一次想要配置"
+"多台计算机, 此选项可能非常有用。单击此图标后, 您需要插入另外一次安装结束后创"
+"建的那张软盘。参看最后一步的第二条提示, 其中描述了如何创建这样的软盘。"
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "自动依赖性"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+"\"%s\":单击\"%s\"按钮将打开打印机配置向导。请参看``初学者指南''中的相应章"
+"节, 其中详细描述了如何设置新打印机。那里给出的界面与安装时所用的界面大体相"
+"同。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"此对话框可让您选择启动时要启动哪些服务。\n"
+"\n"
+"DrakX 将会列出本次安装所有可用的服务。请仔细检查, 并且去掉那些在启动时不总需"
+"要的服务。\n"
+"\n"
+"将您的鼠标移动到选项上面会弹出帮助提示, 解释这个服务的作用。不过, 如果您不确"
+"定某一个服务到底是否需要, 还是保留默认设置会比较安全。\n"
+"\n"
+"!!\n"
+"如果您的机器将作为服务器, 在这一步请格外小心:请不要启动任何您不需要的服务。"
+"请不要忘了, 如果在服务器上启用了某些服务, 这些服务可能对服务器造成潜在的危"
+"险。通常, 只选择您确实要使用的那些服务。\n"
+"!!"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+"GNU/Linux 以 GMT (格林威治标准时)管理时间, 并根据您所选的时区将其翻译为本地时"
+"间。如果您主板上的时钟设定为本地时间, 您应当关闭\n"
+"\"%s\", 这将会让 GNU/Linux 知道系统始终和硬件时钟在同一时区。如果本计算机仍然"
+"运行其它操作系统, 则此设置将十分有用。\n"
+"\n"
+"\"%s\"选项将连接到 Internet 上的远程时间服务器自动校准系统时钟。要让此特性正"
+"常工作, 您必须连接到\n"
+"Internet。最好选择地理位置离您较近的时间服务器。此选项还会自动安装时间服务"
+"器, 这样您局域网中的其它计算机都能够进行自动校时了。"
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "自动时间同步"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"显示卡\n"
+"\n"
+" 安装程序通常可以自动检测并配置连接到计算机上的显示卡。如果检测的结果不对, "
+"您可以在此列表中选择您所实际使用的显示卡。\n"
+"\n"
+" 如果您的显示卡支持不同的服务器, 为了选择是否要启用 3D 加速, 您应该在这里选"
+"择符合您需要的服务器。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"X(代表 X 窗口系统)是 GNU/Linux 图形界面的核心部分。Mandriva Linux\n"
+"附带的所有图形环境(KDE、GNOME、AfterStep、WindowMaker 等)都依赖于该系统。\n"
+"\n"
+"您将会看到不同的参数列表, 以便进行图形显示选项的更改来达到最佳状态。其中包"
+"括:\n"
+"\n"
+"显示卡\n"
+"\n"
+" 安装程序通常可以自动检测并配置连接到计算机上的显示卡。如果检测的结果不对, "
+"您可以在此列表中选择您所实际使用的显示卡。\n"
+"\n"
+" 如果您的显示卡支持不同的服务器, 为了选择是否要启用 3D 加速, 您应该在这里选"
+"择符合您需要的服务器。\n"
+"\n"
+"\n"
+"\n"
+"显示器\n"
+"\n"
+" 安装程序通常可以自动检测并配置连接到计算机上的显示器。如果检测的结果不对, "
+"您可以在此列表中选择您所实际使用的显示器。\n"
+"\n"
+"\n"
+"\n"
+"分辨率\n"
+"\n"
+" \n"
+"您可以在此选择分辨率和颜色深度, 但您的显示卡硬件要支持。请选择最适合您需要的"
+"选项(您在安装完成之后仍可进行修改)。所选配置的例子会显示在显示器上。\n"
+"\n"
+"\n"
+"\n"
+"测试\n"
+"\n"
+" 根据您的硬件, 此项可能不会出现。\n"
+"\n"
+" 系统将会以所选的分辨率打开图形屏幕。如果您在测试时看到了提示, 请回答\"%s"
+"\", DrakX\n"
+"就会执行安装的下一步骤。如果您没有看到任何提示, 这意味着自动检测的某一部分不"
+"正确, 测试将会在 12\n"
+"秒后自动结束, 并把您带回菜单。请更改设置, 直到您能够看到正确的图形显示为"
+"止。\n"
+"\n"
+"\n"
+"\n"
+"选项\n"
+"\n"
+" 您可以在此选择是否想要在计算机启动的时候就切换到图形界面。显然, 如果本机将"
+"用作服务器, 或者您的显示配置还没有成功, 您可能想要选择\"%s\"。"
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"显示器\n"
+"\n"
+" 安装程序通常可以自动检测并配置连接到计算机上的显示器。如果不幸您的显示器未"
+"被检测出来, 您可以在此列表中选择您所实际使用的显示器。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"分辨率\n"
+"\n"
+" 您可以在此选择分辨率和颜色深度, 但您的硬件要支持。请选择最适合您需要的选项"
+"(您在安装完成之后仍可进行修改)。所选配置的例子会显示在显示器上。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"如果您的显示卡支持不同的服务器, 为了选择是否要启用 3D 加速, 您应该在这里选择"
+"符合您需要的服务器。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"选项\n"
+"\n"
+" 您可以在此选择是否想要在计算机启动的时候就切换到图形界面。显然, 如果本机将"
+"用作服务器, 或者您的显示配置还没有成功, 您可能想要选择\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"在这一步里, 您需要决定您想要将 Mandriva Linux\n"
+"操作系统安装到硬盘的何处。如果您的硬盘完全是空的, 或者已有操作系统使用了所有"
+"的空间, 您就必须要对硬盘进行分区。粗略的说, 对硬盘进行分区就是将其划分成几个"
+"逻辑上不同的部分, 以便创建安装您新的\n"
+"Mandriva Linux 系统所需的空间。\n"
+"\n"
+"由于对硬盘进行分区通常是不可恢复的, 并且可能导致数据丢失, 所以对于没有经验的"
+"用户来说, 分区是十分危险的操作。所幸的是, DrakX\n"
+"所包含的向导能够显著简化这一过程。在继续这一步骤之前, 请花点时间仔细阅读本节"
+"及以上的所有内容。\n"
+"\n"
+"根据您的硬盘配置不同, 您可从以下选项中加以选择:\n"
+"\n"
+" * \"%s\"。此选项将对您的空驱动器执行自动分区。如果您使用此选项, 则不会有任何"
+"后续的提示。\n"
+"\n"
+" * \"%s\"。向导检测到了硬盘上有一个或多个已有的 Linux\n"
+"分区。如果您想要使用这些分区, 请选择此选项。稍后, 安装程序会让您选择与每个分"
+"区关联的挂载点。先前的挂载点默认已经选中了, 而保留这些选项是个不错的主意。\n"
+"\n"
+" * \"%s\"。如果在您的硬盘上安装了 Microsoft Windows, 而该操作系统占用了所有的"
+"空间, 您就需要为 GNU/Linux\n"
+"创建剩余空间。要完成这一操作, 您可以删除您的 Microsoft Windows 分区和数据(参"
+"看``删除整个磁盘''方案), 或者更改\n"
+"Microsoft Windows FAT 或 NTFS 分区的大小。更改分区大小通常不会造成任何数据丢"
+"失, 但您必须事先对 Windows\n"
+"分区进行了磁盘碎片整理。我们强烈推荐您事先备份您的数据。如果您想要在同一台计"
+"算机上使用 Mandriva Linux 和 Microsoft\n"
+"Windows, 则推荐使用此选项。\n"
+"\n"
+" 注意, 在执行这一过程之后, 您原有的 Microsoft Windows 分区将会比先前小一"
+"些。而您在 Microsoft Windows\n"
+"下可用来存储数据或安装新软件的剩余空间也会变少。\n"
+"\n"
+" * \"%s\"。如果您想要删除硬盘上的全部数据和全部分区, 并将其替换为全新的 "
+"Mandriva Linux\n"
+"系统, 请选择此选项。请额外小心, 因为在您确认之后, 此操作无法撤销。\n"
+"\n"
+" !! 如果您选择了此选项, 您硬盘上的全部数据都将被删除。 !!\n"
+"\n"
+" * \"%s\"。当硬盘完全被 Microsoft Windows 占用时, 会出现此选项。选择此选项将"
+"删除硬盘上的全部内容, 然后从头开始进行分区。\n"
+"\n"
+" !! 如果您选择了此选项, 您硬盘上的全部数据都将被删除。 !!\n"
+"\n"
+" *\n"
+"\"%s\"。如果您想要手动对您的硬盘进行分区, 请选择此选项。请额外小心——该功能十"
+"分强大, 但也很危险, 您可能在不经意之间毁掉您的全部数据。这也正是为什么我们只"
+"对那些以前执行过类似操作并有些经验的用户才推荐此选项的原因。要获得关于如何使"
+"用\n"
+"DiskDrake 工具的更多说明, 请参阅``初学者指南''一书中的``管理您的分区''一节。"
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "使用已有分区"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "清除整个磁盘"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"现在安装已经完成, 您的 GNU/Linux 系统已经可以使用了。只需单击\"%s\"就可重新启"
+"动系统。别忘了取出安装介质(CD-ROM\n"
+"或软盘)。在计算机完成硬件测试后, 您所看到的第一个系统自检完后的屏幕就是引导菜"
+"单, 您可以从中选择要启动哪个操作系统。\n"
+"\n"
+"\"%s\"按钮显示了两个额外的按钮, 可:\n"
+"\n"
+" * \"%s\":创建一张安装软盘。该软盘可在无人值守的情况下, 按照您刚才的设置重新"
+"安装一个类似的系统。\n"
+"\n"
+" 请注意, 单击按钮后会出现两个不同的选项:\n"
+"\n"
+" * \"%s\"。 半自动安装。只有分区部分是交互的。\n"
+"\n"
+" * \"%s\"。 全自动安装:硬盘会被完全重写, 所有数据都将丢失。\n"
+"\n"
+" 如果有一大批相同的机器要安装, 这个功能非常方便。请参考我们网站上的自动安装"
+"一节中的更多信息。\n"
+"\n"
+" * \"%s\"(*):把您刚才选择的软件包记录在软盘上。要使用本次的安装包执行另外一"
+"次安装, 请插入软盘然后开始安装。出现提示的时候, 按 [F1]\n"
+"键, 输入 >>linux defcfg=\"floppy\" <<。\n"
+"\n"
+"(*) 您需要一张 FAT 格式的软盘。要在 GNU/Linux 下创建一张这样的软盘, 一种方法"
+"是输入 \"mformat a:\";另一种是首先\n"
+"\"fdformat /dev/fd0\", 然后 \"mkfs.vfat /dev/fd0\"。"
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "生成自动安装软盘"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"如果您想要重用某些现有的 GNU/Linux\n"
+"分区, 您可能想要先格式化其中的一些分区, 并删除这些分区中的全部数据。如果您希"
+"望这么做的话, 请同时选中这些分区。\n"
+"\n"
+"请注意, 没有必要重新格式化已有的全部分区。您必须重新格式化包含操作系统的分区"
+"(比如 \"/\", \"/usr\" 或\n"
+"\"/var\"), 而无需重新格式化包含您想要保留的数据的分区(典型的如 \"/home\")。\n"
+"\n"
+"请在选择分区时额外小心。格式化后, 选中分区的全部数据都将被删除, 您也无法进行"
+"恢复。\n"
+"\n"
+"如果您准备好格式化分区了, 请单击\"%s\"。\n"
+"\n"
+"如果您想要选择其它分区用于安装 Mandriva Linux 操作系统, 请单击\"%s\"。\n"
+"\n"
+"如果您想要选择要检测磁盘上的坏块, 请单击单击\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"在您安装 Mandriva Linux\n"
+"的这个时候, 很可能有些软件包在发行之后已经更新。有些故障已经被修正, 有些安全"
+"问题已经被解决。为了让您能够享用这些更新, 您现在可以从 Internet\n"
+"上下载它们。如果您的 Internet 连接已经可以使用, 请选择\"%s\"。如果您愿意以后"
+"再升级, 请选择\"%s\"。\n"
+"\n"
+"\n"
+"选择\"%s\"将显示一个清单, 其中列出的地方都提供了更新软件包。您应该选择离您地"
+"理位置较近的镜像。之后会出现一个可以下载的软件包选择树:复查选项, 然后单击\"%"
+"s\"来获取并安装选中的软件包, 要终止请单击\"%s\"。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"在这里, DrakX 将允许您选择计算机要使用的安全级别。说的直白一点, 如果计算机将"
+"包含关键数据, 或者将直接暴露于 Internet\n"
+"之下, 则应该设置较高的安全级别。较高的安全级别通常以损失易用性作为代价。\n"
+"\n"
+"如果您不知道要选择什么, 请保持默认选项。您可以稍后从 Mandriva Linux 控制中心"
+"的一部分 draksec\n"
+"来更改安全级别。\n"
+"\n"
+"请在\"%s\"域中填入要负责安全的人的电子邮件地址。安全信息将被发送到该地址。"
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "安全管理员"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"在这一步中, 您需要选择要使用哪个或哪些分区来安装您的 Mandriva Linux 系统。如"
+"果已经定义了分区, 不管是先前安装的 GNU/Linux\n"
+"还是由其它分区工具划分的, 您都可以使用已有的分区。否则, 必须对硬盘分区进行定"
+"义。\n"
+"\n"
+"要创建分区, 您必须先选择硬盘。您可以单击“hda”选择第一个 IDE 硬盘进行分区, "
+"“hdb”选择第二个 IDE 硬盘, “sda”\n"
+"选择第一个 SCSI 驱动器, 依此类推。\n"
+"\n"
+"为了对选中硬盘进行分区, 您需要使用这些选项: \n"
+"\n"
+" * \"%s\": 此选项将删除选中硬盘上的全部分区\n"
+"\n"
+" * \"%s\": 此选项可在您硬盘的剩余空间中为您自动创建 ext3 和交换分区\n"
+"\n"
+"\"%s\": 使您可以访问额外特性: \n"
+"\n"
+" * \"%s\": 将分区表保存到软盘。如果需要的话, 稍后可进行分区表修复。强烈推荐您"
+"执行这一步骤。\n"
+"\n"
+" * \"%s\": 允许您恢复先前保存在软盘上的分区表。\n"
+"\n"
+" * \"%s\": 如果您的分区表已损坏, 您可以使用此选项尝试修复。请额外小心, 并记住"
+"这一选项并不总是能够帮助您。\n"
+"\n"
+" * \"%s\": 忽略全部更改并重新装入硬盘上的原始分区表。\n"
+"\n"
+" * \"%s\": 取消此选项将强迫用户手动挂载类似软盘和 CD-ROM 的可移动介质。\n"
+"\n"
+" * \"%s\": 如果您想要使用向导对您的营盘进行分区, 则使用此选项。如果您对分区理"
+"解不深的话, 推荐您使用此选项。\n"
+"\n"
+" * \"%s\": 使用此选项取消您的更改。\n"
+"\n"
+" * \"%s\": 允许对分区进行额外的操作(类型、选项、格式化), 并给出关于硬盘的额外"
+"信息。\n"
+"\n"
+" * \"%s\": 当您完成对硬盘的分区后, 此选项将把您的更改回存到硬盘。\n"
+"\n"
+"定义分区大小时, 您可以使用键盘上的光标键对分区大小进行调整。\n"
+"\n"
+"注意: 您可以使用键盘访问任何选项。可以使用 [Tab] 和 [上/下]光标键来切换分"
+"区。\n"
+"\n"
+"选中分区后, 您可以用: \n"
+"\n"
+" * Ctrl+C 创建新分区(如果选中了空分区)\n"
+"\n"
+" * Ctrl+D 删除分区\n"
+"\n"
+" * Ctrl+M 设定挂载点\n"
+"\n"
+"要的关于不同的文件系统类型的更多信息, 请查看“参考手册”中 ext2FS 一章。\n"
+"\n"
+"如果您在 PPC 计算机上安装, 您可能需要创建至少 1MB 大小的 HFS“bootstrap”分区, "
+"该分区将用于 yaboot\n"
+"引导程序。如果您创建的分区再稍微大点, 比如说 50MB, 您可能会发现这个分区可用来"
+"存储内核或紧急引导时的虚拟磁盘映像。"
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "自动挂载可移动介质"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "在正常/专家模式间切换"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"在硬盘上检测到了多个 Microsoft 分区。请选择一个分区改变大小, 以便安装您新\n"
+"的 Mandriva Linux 操作系统。\n"
+"\n"
+"每个分区都是按“Linux 名称”、“Windows 名称”、“容量”顺序列出的。\n"
+"\n"
+"“Linux 名称”的结构为:“硬盘类型”、“硬盘编号”、“分区编号”(例如, \n"
+"“hda1”)。\n"
+"\n"
+"如果您的硬盘是 IDE 硬盘, “硬盘类型”为“hd”;如果为 SCSI 硬盘则为“sd”。\n"
+"\n"
+"“硬盘编号”总是跟在“hd”或“sd”后面的字母。对于 IDE 硬盘来说:\n"
+"\n"
+" *“a”意味着“主 IDE 控制器的主硬盘”;\n"
+"\n"
+" *“b”意味着“主 IDE 控制器的从硬盘”;\n"
+"\n"
+" *“c”意味着“从 IDE 控制器的主硬盘”;\n"
+"\n"
+" *“d”意味着“从 IDE 控制器的从硬盘”。\n"
+"\n"
+"对于 SCSI 硬盘, “a”意味着“最低的 SCSI ID”, “b”意味着“第二低的 SCSI ID”, 等"
+"等。\n"
+"\n"
+"“Windows 名称”就是硬盘在 Windows 下的盘符(第一个此盘或分区就是“C:”)。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":检查当前的国家选择。如果您并非在这个国家, 请单击\"%s\"按钮, 并选择另"
+"外的选项。如果您的国家在第一个列表中并没有显示出来, 单击\"%s\"按钮可获得完整"
+"的国家列表。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"仅当在您的计算机上发现了已有的 GNU/Linux 分区, 才会激活这一步骤。\n"
+"\n"
+"DrakX 现在需要知道您是想要执行全新安装, 还是升级已有的 Mandriva Linux 系"
+"统:\n"
+"\n"
+" *\n"
+"\"%s\":总体来说, 这将完全销毁旧系统。但是, 根据您选择的分区方案, 您可以让现"
+"有的数据(比如\"主\"目录)免于覆盖。如果您想要更改硬盘的分区方案, 或者更该文件"
+"系统, 您就应该使用此选项。\n"
+"\n"
+" * \"%s\":这一安装级别允许您更新目前安装在您 Mandriva Linux\n"
+"系统上的软件包。您的分区方案和用户数据都不会被破坏。绝大多数配置步骤仍然可"
+"用, 与标准安装类似。\n"
+"\n"
+"使用``升级''选项应该在 \"8.1\" 或更新版本的 Mandriva Linux 系统上工作正常。不"
+"推荐在先于 \"8.1\" 版本的\n"
+"Mandriva Linux 系统上执行升级。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"根据您在中所选择的语言, DrakX 将会自动选择特定类型的键盘配置。请检查列出的选"
+"项是否适合您, 若不适合请选择其它键盘布局。\n"
+"\n"
+"\n"
+"当然, 可能您使用的语言与键盘并不相同:例如, 您是说英语的瑞典本土人, 但正在用"
+"瑞士键盘。或者, 如果您说英语但住在魁北克, 您可能也会遇到您的母语和所使用的键"
+"盘并不匹配的情况。不管是哪种情况, 您都可以在这一步骤从列表种选择相应的键"
+"盘。\n"
+"\n"
+"单击\"%s\"按钮可显示所支持键盘的完整列表。\n"
+"\n"
+"如果您选择了基于非拉丁字符集的键盘布局, 下个对话框将允许您选择用于切换拉丁和"
+"非拉丁布局之间的组合键。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"第一步是选择您首选的语言。\n"
+"\n"
+"您对首选语言的选择将影响安装程序、文档及系统的总体配置。请先选择您所在的地"
+"区, 然后选择您讲的语言。\n"
+"\n"
+"\n"
+"单击\"%s\"按钮以后, 您可以选择要在您的工作站上安装哪些额外的语言, 即为系统文"
+"档和应用程序安装特定语言的文件。例如, 如果您的计算机要为繁体中文的用户提供服"
+"务, 请在树视图中选择简体中文作为默认语言, 然后在高级选项中选择\"%s\"。\n"
+"\n"
+"关于 UTF-8 (Unicode) 支持:Unicode 是一种新的字符编码, 该编码可支持所有现存的"
+"语言。但是, 在 GNU/Linux 下完全支持\n"
+"Unicode, 仍然在开发和完善中。由此原因, Mandriva Linux 会根据用户的选择是否使"
+"用 UTF-8:\n"
+"\n"
+" * 如果您所选的语言自身有强制性的编码(latin1 语言、俄语、日语、中文、朝鲜语、"
+"泰语、希腊语、土耳其语及大多数 iso-8859-2\n"
+"语言), 则会默认使用强制编码;\n"
+"\n"
+" * 其它语言默认会使用 Unicode;\n"
+"\n"
+" * 如果需要两种或更多种语言, 而这两种语言所使用的编码并不相同, 则整个系统都会"
+"使用 Unicode;\n"
+"\n"
+" * 最后, 如果要强制系统使用 Unicode, 而不管选中的是哪个或哪些语言, 则应选中选"
+"项\"%s\"。\n"
+"\n"
+"\n"
+"请注意, 系统没有限制您只能选择一种额外的语言。您可以选择多种语言, 甚至选择\"%"
+"s\"框表明您想要安装全部语言。选择支持某种语言, 意味着同时安装该语言的翻译、字"
+"体、拼写检查程序等等。\n"
+"\n"
+"要在系统中所安装的不同语言之间切换, 请以 \"root\" 身份执行 \"/usr/sbin/"
+"localedrake\"\n"
+"命令, 这样可以更改整个系统所用的语言。以普通用户执行该命令, 只会更改特定用户"
+"的语言设置。"
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "西班牙"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"通常情况下, DrakX\n"
+"能够正确检测到您的鼠标有几个按键。如果检测不正确的话, 就会假定您有一个两键鼠"
+"标, 并配置为模拟第三键。如果您想在两键鼠标上使用第三键的话, 只需同时按下左右"
+"键。DrakX\n"
+"会自动确定您的鼠标所使用的端口, 是 PS/2、串口, 还是 USB 接口。\n"
+"\n"
+"如果您的三键鼠标没有滚轮, 您可以选择\"%s\"类型的鼠标。DrakX 就会配置您的鼠标"
+"来模拟滚轮:只需按下中键, 然后上下移动鼠标。\n"
+"\n"
+"如果因为某些原因, 您希望指定不同类型的鼠标, 请从提供的列表中进行选择。\n"
+"\n"
+"您可以选择\"%s\"选项来选择``通用''鼠标类型, 这样基本会适应任何鼠标。\n"
+"\n"
+"如果您选择了不同于默认值的鼠标, 会出现一个测试屏幕。请用您鼠标的按键和滚轮来"
+"验证设置是否正确, 鼠标是否工作正常。如果鼠标工作不正常, 请按空格键或\n"
+"[Enter] 键取消测试, 返回到可供选择的鼠标列表中。\n"
+"\n"
+"\n"
+"滚轮鼠标有时可能无法自动检测, 所以您可能需要从列表中进行选择。请确定您选对了"
+"鼠标所连接的端口。选择鼠标后, 单击\"%s\"按钮, 会在屏幕上出现鼠标图像。试着滚"
+"动滚轮, 以确保滚轮可以正常激活。您在滚动鼠标滚轮的同时应该看到屏幕上的滚轮也"
+"在滚动。另外, 也应该测试一下鼠标按钮, 鼠标指针的移动应该和鼠标的操作保持一"
+"致。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "模拟滚轮"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "通用 | 任何 PS/2 或 USB 鼠标"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"请选择正确的端口。例如, \n"
+"Windows 里的 COM1, 在 GNU/Linux 里面叫做 ttyS0。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"要保卫您的 GNU/Linux 系统, 现在是最关键的一步:您需要输入 \"root\" 密码。"
+"\"Root\"\n"
+"是系统管理员, 而且是唯一有权进行更新、添加用户、更改泛系统配置等操作的用户。"
+"简言之, \"root\"\n"
+"可以做任何事!这就是为什么您必须选择难于猜测的密码:如果您的密码太简单了, "
+"DrakX\n"
+"会提醒您的。正如您所看到的那样, 您不必非得输入密码, 但是我们强烈建议您输入一"
+"个密码。GNU/Linux 和其它任何操作系统一样容易遇到错误的操作。由于\n"
+"\"root\" 可以越过所有限制并在访问分区时无意间就删除分区上的全部数据, 所以成"
+"为 \"root\" 应该很难才对。\n"
+"\n"
+"密码应该是字母和数字的无序混合, 并且至少要有 8 位长。绝对不要将 \"root\" 的密"
+"码写下来 -- 这样的密码形同虚设。\n"
+"\n"
+"还有一条准则 -- 不要将密码设置得太长或太复杂, 否则您自己也记不住!\n"
+"\n"
+"您输入的密码不会显示在屏幕上。为了减少盲打所造成的输入错误, 您需要再次输入密"
+"码。如果您碰巧两次都输错了, 那么这个``不正确的''密码将成为您第一次以\n"
+"\"root\" 身份登录时的密码。\n"
+"\n"
+"如果您想要身份验证服务器控制对您计算机的访问, 请单击\"%s\"按钮。\n"
+"\n"
+"如果您的网络使用 LDAP 或 NIS, 又或者 PDC Windows\n"
+"域验证服务, 请选择相应的\"%s\"。如果您不知道应该使用哪种, 请询问您的网络管理"
+"员。\n"
+"\n"
+"如果您记住密码有困难的话, 如果您的计算机不需要连接到 Internet, 您也绝对信任可"
+"使用您计算机的所有人, 您可以选择\"%s\"。"
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "认证"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"所谓引导程序, 是指计算机启动时所执行的小程序。它的责任就是启动整个系统。通"
+"常, 引导程序的安装是全自动的。DrakX\n"
+"将分析磁盘的引导扇区, 并根据发现的情况做出以下操作:\n"
+"\n"
+" * 如果发现了 Windows 引导扇区, 则将其替换为 GRUB/LILO 引导扇区。这样, 您就可"
+"以装入 GNU/Linux\n"
+"或在您计算机上安装的任何操作系统。\n"
+"\n"
+" * 如果发现了 GRUB 或 LILO 引导扇区, 则将其替换为新的引导扇区。\n"
+"\n"
+"如果无法确定, DrakX\n"
+"将询问您将引导程序放在哪里。通常, \"%s\"是最安全的地方。选择\"%s\"将不会安装"
+"任何引导程序。除非您真的知道自己在做什么的话, 否则不要使用此选项。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"现在, 应该为您的计算机选择打印系统了。其它的操作系统也许只提供了一种选择, 但 "
+"Mandriva Linux\n"
+"提供了两种。每种打印系统都能够在不同的配置中大展身手。\n"
+"\n"
+" * \"%s\" --\n"
+"这是``不排队打印''的缩写。如果您的打印机是直接连接在这台电脑上的, 您也不会打"
+"印太多的任务, 更不会使用网络打印机, 那么请选择本系统。(\"%s\"\n"
+"只能应付极为简单的网络情况, 而且在网络中使用也很慢。)如果您从来没有使用过 "
+"GNU/Linux, 那么推荐您使用\"pdq\"。\n"
+"\n"
+" * \"%s\" -``通用 Unix\n"
+"打印系统'', 不论是打印到本地打印机, 还是打印到地球另一面的网络打印机, 本系统"
+"都能完全胜任。它配置简单, 甚至可以作为老式 \"lpd\n"
+"\"打印系统的服务器和客户机。所以即便是老得掉牙的操作系统需要打印服务的话, 都"
+"可以顺畅的应用本系统。尽管它的功能十分强大, 可它的基本设置仍然和\n"
+"\"pdq\" 一样简单。如果您想模拟一台 \"lpd\" 服务器, 不要忘了打开 \"cups-lpd "
+"\" 守护程序。\"%s\"\n"
+"还包括一个图形界面, 可用来打印或选择打印机选项, 以及管理打印机。\n"
+"\n"
+"如果您现在进行了选择, 但稍后又发现您并不喜欢所选择的打印系统, 可以轻松修改。"
+"只需从 Mandriva Linux Control Center中选择\n"
+"PrinterDrake, 然后单击\"%s\"按钮。"
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "专家"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX 将会首先检测您系统中所安装的 IDE 设备。它还会搜索您系统中所有的 PCI\n"
+"SCSI 适配卡。如果 DrakX 发现了 SCSI 适配卡, 它会自动安装合适的驱动程序。\n"
+"\n"
+"由于硬件检测并不总是可信的, DrakX 可能无法检测到您的硬盘驱动器。如果是这样\n"
+"的话, 您就需要手动指定您的硬件。\n"
+"\n"
+"\n"
+"如果您需要手动指定 PCI SCSI 适配卡, DrakX 将提问您是否要指定特别的参数。您\n"
+"最好让 DrakX 去检测硬件, 这样有助于获得初始化适配卡所需的选项。在大多数情况\n"
+"下, DrakX 将会顺利通过这一步。\n"
+"\n"
+"如果 DrakX 无法检测到适当的参数, 就只好劳驾您亲自配置驱动程序了。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\":如果在您的系统中检测到了声卡, 则会在此处显示。如果您发现在此显示的声"
+"卡与您系统中实际安装的声卡并不相同, 您可以单击该按钮选择不同的驱动程序。"
+
+# DO NOT BOTHER TO MODIFY HERE, SEE:
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+"作为概览, DrakX\n"
+"将会将它所发现的关于系统的信息概览显示出来。根据您所安装的硬件不同, 您可能会"
+"看到以下各项的部分或全部。每项由几个可配置的硬件项组成, 而每个条目后面都列出"
+"了当前配置的概览。单击相应的\"%s\"按钮可进行更改。\n"
+"\n"
+" * \"%s\":检查当前的键盘映射配置, 如果需要的话进行更改。\n"
+"\n"
+" *\n"
+"\"%s\":检查当前的国家选择。如果您并非在这个国家, 请单击\"%s\"按钮, 并选择另"
+"外的选项。如果您的国家在第一个列表中并没有显示出来, 单击\"%s\"按钮可获得完整"
+"的国家列表。\n"
+"\n"
+" * \"%s\":默认情况下, DrakX 会根据您所选的国家猜测您的时区。如果时区不对的"
+"话, 您可以单击此处的\"%s\"按钮。\n"
+"\n"
+" * \"%s\":检查当前的鼠标配置, 如果需要的话单击按钮进行修改。\n"
+"\n"
+" *\n"
+"\"%s\":单击\"%s\"按钮将打开打印机配置向导。请参看``初学者指南''中的相应章"
+"节, 其中详细描述了如何设置新打印机。那里给出的界面与安装时所用的界面大体相"
+"同。\n"
+"\n"
+" *\n"
+"\"%s\":如果在您的系统中检测到了声卡, 则会在此处显示。如果您发现在此显示的声"
+"卡与您系统中实际安装的声卡并不相同, 您可以单击该按钮选择不同的驱动程序。\n"
+"\n"
+" *\n"
+"\"%s\":如果在您的系统中检测到了电视卡, 则会在此显示关于其配置的信息。如果您"
+"安装了电视卡, 但并未被正确检测到, 请单击\"%s\"尝试手动进行配置。\n"
+"\n"
+" * \"%s\":如果您觉得检测的配置有错, 可以点击\"%s\"来更改与该卡关联的参数。\n"
+"\n"
+" * \"%s\":默认情况下, DrakX 会将您的图形界面配置为 \"800x600\" 或 \"1024x768"
+"\"\n"
+"分辨率。如果这不适合您的话, 请单击\"%s\"重新配置您的图形界面。\n"
+"\n"
+" * \"%s\":如果您想要配置您的 Internet 或局域网访问, 现在就可以进行。请参考印"
+"刷文档或在安装完成后使用 Mandriva Linux\n"
+"Control Center来获得完整的在线帮助。\n"
+"\n"
+" * \"%s\":如果您所安装的计算机位于代理服务器之后, 这里将允许您配置 HTTP 和 "
+"FTP 代理服务器地址。\n"
+"\n"
+" * \"%s\":此项允许您重新调整安全级别, 与以前的步骤完全相同()。\n"
+"\n"
+" * \"%s\":如果您计划将您的计算机连接到\n"
+"Internet, 那么保护您的计算机免于攻击的有效方法就是设置防火墙。请参考``初学者"
+"指南''中的相应章节, 以获得关于防火墙设置的细节。\n"
+"\n"
+" * \"%s\":如果您想要更改您的引导程序配置, 请单击此按钮。这仅适用于高级用户。"
+"请参考印刷文档或 Mandriva Linux 控制中心中关于引导程序配置的帮助。\n"
+"\n"
+" * \"%s\":在此您可以精确调整要在您的计算机上运行哪些服务。如果您要将此计算机"
+"用作服务器, 那么应该复查这一设置。"
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN 卡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "图形界面"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"请选择您为了安装新的 Mandriva Linux 分区想要删除的硬盘分区。\n"
+"注意, 该硬盘分区上的所有数据将丢失并且无法恢复!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"如果您想要删除此硬盘上的所有数据和分区, 请单击“%s”。注意, 单击“%s”后, \n"
+"您将无法恢复此硬盘上的任何数据或分区(包括任何 Windows 数据)。\n"
+"\n"
+"单击“%s”可以停止此操作, 此硬盘上的任何数据或分区不会丢失。"
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "下一步 ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 上一步"
+
diff --git a/perl-install/install/help/po/zh_TW.po b/perl-install/install/help/po/zh_TW.po
new file mode 100644
index 000000000..d7cf7b9c1
--- /dev/null
+++ b/perl-install/install/help/po/zh_TW.po
@@ -0,0 +1,1617 @@
+# translation of zh_TW.po to 正體中文
+# translation of zh_TW.po to Chinese Traditional
+# translation of DrakX-zh_TW.po to Chinese Traditional
+# drakbootdisk messages in Traditional Chinese
+# Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+# Platin <platin@cle.linux.org.tw> , 2000
+# Kenduest Lee <kenduest@i18n.linux.org.tw> , 2002
+# Danny Zeng <danny@zeng.com.cn>, 2000.
+# Joe Man <trmetal@yahoo.com.hk>, 2001.
+# Chong Sein Yeo <csyeo@hal-pc.org>, 2003.
+# Hilbert <freehil@yahoo.com>, 2003, 2004.
+# Hilbert <h@mandrake.org>, 2004.
+# hilbert <h@mandrake.org>, 2004.
+# Shiva Huang <blueshiva@giga.net.tw>, 2005.
+# Shiva Huang <shivahuang@gmail.com>, 2005.
+# You-Cheng Hsieh <yochenhsieh@xuite.net>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-05-04 17:25+0200\n"
+"PO-Revision-Date: 2006-04-06 20:30+0200\n"
+"Last-Translator: Shiva Huang <shivahuang@gmail.com>\n"
+"Language-Team: Traditional Chinese <zh@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: TAIWAN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../help.pm:14
+#, c-format
+msgid ""
+"Before continuing, you should carefully read the terms of the license. It\n"
+"covers the entire Mandriva Linux distribution. If you agree with all the\n"
+"terms it contains, check the \"%s\" box. If not, clicking on the \"%s\"\n"
+"button will reboot your computer."
+msgstr ""
+"在繼續之前,您應該仔細的閱讀下面相關版權條款。\n"
+"這包含整個 Mandriva Linux 發行版的版權內容。若是您同意裡面的所有條款,\n"
+"請點選 \"%s\" 按鈕,否則請點選 \"%s\" 按鈕並自動重新開機。"
+
+#: ../help.pm:20
+#, c-format
+msgid ""
+"GNU/Linux is a multi-user system which means each user can have his or her\n"
+"own preferences, own files and so on. But unlike \"root\", who is the\n"
+"system administrator, the users you add at this point will not be "
+"authorized\n"
+"to change anything except their own files and their own configurations,\n"
+"protecting the system from unintentional or malicious changes which could\n"
+"impact on the system as a whole. You'll have to create at least one regular\n"
+"user for yourself -- this is the account which you should use for routine,\n"
+"day-to-day usage. Although it's very easy to log in as \"root\" to do\n"
+"anything and everything, it may also be very dangerous! A very simple\n"
+"mistake could mean that your system will not work any more. If you make a\n"
+"serious mistake as a regular user, the worst that can happen is that you'll\n"
+"lose some information, but you will not affect the entire system.\n"
+"\n"
+"The first field asks you for a real name. Of course, this is not mandatory\n"
+"-- you can actually enter whatever you like. DrakX will use the first word\n"
+"you type in this field and copy it to the \"%s\" one, which is the name\n"
+"this user will enter to log onto the system. If you like, you may override\n"
+"the default and change the user name. The next step is to enter a password.\n"
+"From a security point of view, a non-privileged (regular) user password is\n"
+"not as crucial as the \"root\" password, but that's no reason to neglect it\n"
+"by making it blank or too simple: after all, your files could be the ones\n"
+"at risk.\n"
+"\n"
+"Once you click on \"%s\", you can add other users. Add a user for each one\n"
+"of your friends, your father, your sister, etc. Click \"%s\" when you're\n"
+"finished adding users.\n"
+"\n"
+"Clicking the \"%s\" button allows you to change the default \"shell\" for\n"
+"that user (bash by default).\n"
+"\n"
+"When you're finished adding users, you'll be asked to choose a user who\n"
+"will be automatically logged into the system when the computer boots up. If\n"
+"you're interested in that feature (and do not care much about local\n"
+"security), choose the desired user and window manager, then click on\n"
+"\"%s\". If you're not interested in this feature, uncheck the \"%s\" box."
+msgstr ""
+"GNU/Linux 是一個多使用者的系統,那表示每個使用者都可以擁有各自的\n"
+"偏好設定、檔案等等。不同於系統管理者 \"root\" 您在這新增的使用者\n"
+"將僅被授權於改變他們自己的檔案與設定,以保護系統免於遭受到無意或\n"
+"惡意的對整個系統造成衝擊的改變。您需要建立至少一個一般使用者給您\n"
+"自己 -- 這是您應該用於一般日常操作的帳號。雖然使用 \"root\" 登入\n"
+"來做任何事是非常容易的,但這也是非常危險的!一個非常簡單的錯誤就\n"
+"可能造成系您的統再也不能正常工作。但是若您以一般使用者的身份犯了\n"
+"一連串嚴重的錯誤,最糟的情況將僅僅是您遺失某些資訊,但並不影響整\n"
+"個系統。\n"
+"\n"
+"第一個欄位詢問您的真實名稱。當然這並非必要 -- 事實上您可以輸入任\n"
+"何您喜歡的名字。DrakX 會將您輸入於此欄位的第一個字複製到 \"%s\" \n"
+"欄,作為使用者登入系統時輸入的名稱。若您喜歡,您可以不使用預設值\n"
+"並改變使用者名稱。下一步是輸入一個密碼。從安全性的觀點而言,一個\n"
+"一般使用者的密碼並不如 \"root\" 密碼來的重要,但是這並不構成輕忽\n"
+"地使用空白或過於簡單的密碼的理由:畢竟您的檔案可能正處於危險中。\n"
+"\n"
+"一旦您點選 \"%s\",您可以新增其他使用者。新增使用者給您的每一個\n"
+"朋友、您的父親或姊妹。當您全部新增完成後,請點選 \"%s\" 。\n"
+"\n"
+"點選 \"%s\" 按鈕允許您改變預設的 \"shell\" 給這位使用者 (預設值\n"
+"為 bash)。\n"
+"\n"
+"當您完成新增使用者之後,您將會被要求選擇一位使用者在電腦開機時自\n"
+"動登入系統。如果您對這個功能有興趣 (且不太關心本地端安全性),請\n"
+"選擇想要登入的使用者與視窗管理員,然後勾選 \"%s\"。若您對這個功\n"
+"能沒有興趣,請不要勾選 \"%s\"。"
+
+#: ../help.pm:54
+#, c-format
+msgid "Do you want to use this feature?"
+msgstr "您想要使用這個功能嗎?"
+
+#: ../help.pm:57
+#, c-format
+msgid ""
+"Listed here are the existing Linux partitions detected on your hard drive.\n"
+"You can keep the choices made by the wizard, since they are good for most\n"
+"common installations. If you make any changes, you must at least define a\n"
+"root partition (\"/\"). Do not choose too small a partition or you will not\n"
+"be able to install enough software. If you want to store your data on a\n"
+"separate partition, you will also need to create a \"/home\" partition\n"
+"(only possible if you have more than one Linux partition available).\n"
+"\n"
+"Each partition is listed as follows: \"Name\", \"Capacity\".\n"
+"\n"
+"\"Name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard drive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". For IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc."
+msgstr ""
+"目前所列出來的是硬碟機上偵測到已經存在的 Linux 分割區.\n"
+"您可以保留精靈模式做的選擇,因為他們對一般安裝是不錯的。\n"
+"如果您做任何改變的話, 您至少要定義出一塊當作根分割區 (\"/\").\n"
+"別選擇一個太小的分割區, 否則您將無法安裝足夠的軟體.\n"
+"如果您想儲存您的資料到一個分離的分割區, 你需要建立一個\"/home\" 分割區\n"
+"(只在您有多於一個 Linux 分割區情況下才可能).\n"
+"\n"
+"下列每個分割區都列出了: \"名稱\", \"容量\".\n"
+"\n"
+"\"名稱\" 都是有統一的命名方式: \"硬碟類型\", \"硬碟編號\", \n"
+"\"分割區編號\" (例如, \"hda1\").\n"
+"\n"
+"\"硬碟類型\" 部份, IDE 硬碟使用 \"hd\", SCSI 則是 \"sd\".\n"
+"\"硬碟編號\" 部份, 伴隨在 \"hd\" 或者是 \"sd\" 後面:\n"
+"\n"
+" * \"a\" 這是指 \"primary IDE controller 上第一台 (master) 硬碟\",\n"
+"\n"
+" * \"b\" 這是指 \"primmary IDE controller 上第二台 (slave) 硬碟\",\n"
+"\n"
+" * \"c\" 這是指 \"secondary IDE controller 上第一台 (master) 硬碟\",\n"
+"\n"
+" * \"d\" 這是指 \"secondary IDE controller 上第二台 (slave) 硬碟\".\n"
+"\n"
+"以 SCSI 硬碟來說, \"a\" 就是指 \"SCSI ID 編號最小的那一台\", \"b\"\n"
+"就是指 \"SCSI ID 編號為第二小的那一台硬碟\", 然後依此類推下去."
+
+#: ../help.pm:88
+#, c-format
+msgid ""
+"The Mandriva Linux installation is distributed on several CD-ROMs. If a\n"
+"selected package is located on another CD-ROM, DrakX will eject the current\n"
+"CD and ask you to insert the required one. If you do not have the requested\n"
+"CD at hand, just click on \"%s\", the corresponding packages will not be\n"
+"installed."
+msgstr ""
+"Mandriva Linux 安裝片包含數張光碟片。若所選擇的套件是位於另一張光碟上,\n"
+"DrakeX 會退出現在的光碟且要求您放入所要求的正確光碟片。\n"
+"若您沒有要求的光碟在手上的話, 就按下 \"%s\", 對應的套件不會被安裝."
+
+#: ../help.pm:95
+#, c-format
+msgid ""
+"It's now time to specify which programs you wish to install on your system.\n"
+"There are thousands of packages available for Mandriva Linux, and to make "
+"it\n"
+"simpler to manage, they have been placed into groups of similar\n"
+"applications.\n"
+"\n"
+"Mandriva Linux sorts package groups in four categories. You can mix and\n"
+"match applications from the various categories, so a ``Workstation''\n"
+"installation can still have applications from the ``Server'' category\n"
+"installed.\n"
+"\n"
+" * \"%s\": if you plan to use your machine as a workstation, select one or\n"
+"more of the groups in the workstation category.\n"
+"\n"
+" * \"%s\": if you plan on using your machine for programming, select the\n"
+"appropriate groups from that category. The special \"LSB\" group will\n"
+"configure your system so that it complies as much as possible with the\n"
+"Linux Standard Base specifications.\n"
+"\n"
+" Selecting the \"LSB\" group will also install the \"2.4\" kernel series,\n"
+"instead of the default \"2.6\" one. This is to ensure 100%%-LSB compliance\n"
+"of the system. However, if you do not select the \"LSB\" group you will\n"
+"still have a system which is nearly 100%% LSB-compliant.\n"
+"\n"
+" * \"%s\": if your machine is intended to be a server, select which of the\n"
+"more common services you wish to install on your machine.\n"
+"\n"
+" * \"%s\": this is where you will choose your preferred graphical\n"
+"environment. At least one must be selected if you want to have a graphical\n"
+"interface available.\n"
+"\n"
+"Moving the mouse cursor over a group name will display a short explanatory\n"
+"text about that group.\n"
+"\n"
+"You can check the \"%s\" box, which is useful if you're familiar with the\n"
+"packages being offered or if you want to have total control over what will\n"
+"be installed.\n"
+"\n"
+"If you start the installation in \"%s\" mode, you can deselect all groups\n"
+"and prevent the installation of any new packages. This is useful for\n"
+"repairing or updating an existing system.\n"
+"\n"
+"If you deselect all groups when performing a regular installation (as\n"
+"opposed to an upgrade), a dialog will pop up suggesting different options\n"
+"for a minimal installation:\n"
+"\n"
+" * \"%s\": install the minimum number of packages possible to have a\n"
+"working graphical desktop.\n"
+"\n"
+" * \"%s\": installs the base system plus basic utilities and their\n"
+"documentation. This installation is suitable for setting up a server.\n"
+"\n"
+" * \"%s\": will install the absolute minimum number of packages necessary\n"
+"to get a working Linux system. With this installation you will only have a\n"
+"command-line interface. The total size of this installation is about 65\n"
+"megabytes."
+msgstr ""
+"現在是指定那個程式您想要裝在您的系統上. Mandriva Linux 有上千個套件,\n"
+"為了簡單管理, 相似性質的應用程式已經被分類到群組裡.\n"
+"\n"
+"Mandriva Linux 分類套件群組於四個類別. 你能由不同類別混合與配對應用程式,\n"
+"所以一個 ``工作站''安裝也能安裝``伺服器''類別安裝的應用程式.\n"
+"\n"
+" * \"%s\": 如果您計畫用您的機器當作一個工作站, 選擇一個或\n"
+"更多的群組於工作站類別.\n"
+"\n"
+" * \"%s\": 如果您計畫用您的機器來程式設計, 選擇適當\n"
+"的群組於那個類別。特別的 \"LSB\" 群組將設定您的系統使之盡量符合\n"
+"Linux Standard Bases 規範.\n"
+"\n"
+" 選擇 \"LSB\" 群組除了預設的 \"2.6\" 也將安裝 \"2.4\" 核心系列,\n"
+"這是確保系統的 100%%-LSB compliance. 可是, 如果您不選擇 \"LSB\"\n"
+"群組您仍然將有一個幾乎 100%% LSB-compliant 的系統.\n"
+"\n"
+" * \"%s\": 如果您的機器是要用作伺服器, 選擇那一個\n"
+"更常用的服務您想裝在系統上.\n"
+"\n"
+" * \"%s\": 這是您選擇您的偏好的圖形環境的地方.\n"
+"如果您像要有圖形介面可用, 至少一個要被選擇.\n"
+"\n"
+"移動滑鼠游標到一個群組上方將顯示一段關於該群組簡短的解釋文字\n"
+"\n"
+"你能選取 \"%s\" 方塊盒, 若您對所提供的套件熟悉或您想要有對於什麼\n"
+"將被安裝有全部控制, 這將會有用\n"
+"\n"
+"若您用 \"%s\" 模式開始安裝, 你可以取消選擇全部群組且防止安裝任何新套件.\n"
+"這對修復或更新一個已經存在的系統很有用.\n"
+"\n"
+"如果當您執行一個一般正常安裝, 您取消選擇全部群組 (相反於一個升級),\n"
+"一個對話方塊將會跳出建議不同的選項給最小安裝:\n"
+"\n"
+" * \"%s\":安裝最少的套件來擁有可工作的圖形桌面。\n"
+"\n"
+" * \"%s\":安裝系統基礎加上基本的工具與其文件\n"
+"這種安裝適合於設定起來一個伺服器。\n"
+"\n"
+" * \"%s\":將安裝絕對最少套件必要於使一個 Linux 系統工作。\n"
+"用這個安裝您將只擁有一個命令列介面. 全部安裝大小大約 65 MB。"
+
+#: ../help.pm:149 ../help.pm:591
+#, c-format
+msgid "Upgrade"
+msgstr "升級"
+
+#: ../help.pm:149
+#, c-format
+msgid "With basic documentation"
+msgstr "包含基本的說明文件"
+
+#: ../help.pm:149
+#, c-format
+msgid "Truly minimal install"
+msgstr "真的最小安裝"
+
+#: ../help.pm:152
+#, c-format
+msgid ""
+"If you choose to install packages individually, the installer will present\n"
+"a tree containing all packages classified by groups and subgroups. While\n"
+"browsing the tree, you can select entire groups, subgroups, or individual\n"
+"packages.\n"
+"\n"
+"Whenever you select a package on the tree, a description will appear on the\n"
+"right to let you know the purpose of that package.\n"
+"\n"
+"!! If a server package has been selected, either because you specifically\n"
+"chose the individual package or because it was part of a group of packages,\n"
+"you'll be asked to confirm that you really want those servers to be\n"
+"installed. By default Mandriva Linux will automatically start any installed\n"
+"services at boot time. Even if they are safe and have no known issues at\n"
+"the time the distribution was shipped, it is entirely possible that\n"
+"security holes were discovered after this version of Mandriva Linux was\n"
+"finalized. If you do not know what a particular service is supposed to do "
+"or\n"
+"why it's being installed, then click \"%s\". Clicking \"%s\" will install\n"
+"the listed services and they will be started automatically at boot time. !!\n"
+"\n"
+"The \"%s\" option is used to disable the warning dialog which appears\n"
+"whenever the installer automatically selects a package to resolve a\n"
+"dependency issue. Some packages depend on others and the installation of\n"
+"one particular package may require the installation of another package. The\n"
+"installer can determine which packages are required to satisfy a dependency\n"
+"to successfully complete the installation.\n"
+"\n"
+"The tiny floppy disk icon at the bottom of the list allows you to load a\n"
+"package list created during a previous installation. This is useful if you\n"
+"have a number of machines that you wish to configure identically. Clicking\n"
+"on this icon will ask you to insert the floppy disk created at the end of\n"
+"another installation. See the second tip of the last step on how to create\n"
+"such a floppy."
+msgstr ""
+
+#: ../help.pm:183
+#, c-format
+msgid "Automatic dependencies"
+msgstr "自動相依性"
+
+#: ../help.pm:186
+#, c-format
+msgid ""
+"\"%s\": clicking on the \"%s\" button will open the printer configuration\n"
+"wizard. Consult the corresponding chapter of the ``Starter Guide'' for more\n"
+"information on how to set up a new printer. The interface presented in our\n"
+"manual is similar to the one used during installation."
+msgstr ""
+
+#: ../help.pm:192
+#, c-format
+msgid ""
+"This dialog is used to select which services you wish to start at boot\n"
+"time.\n"
+"\n"
+"DrakX will list all services available on the current installation. Review\n"
+"each one of them carefully and uncheck those which are not needed at boot\n"
+"time.\n"
+"\n"
+"A short explanatory text will be displayed about a service when it is\n"
+"selected. However, if you're not sure whether a service is useful or not,\n"
+"it is safer to leave the default behavior.\n"
+"\n"
+"!! At this stage, be very careful if you intend to use your machine as a\n"
+"server: you probably do not want to start any services which you do not "
+"need.\n"
+"Please remember that some services can be dangerous if they're enabled on a\n"
+"server. In general, select only those services you really need. !!"
+msgstr ""
+"這個對話視窗用來選擇你打算於啟動系統時執行運作的服務.\n"
+"\n"
+"DrakX 將列出在現在安裝上可選擇的服務項目. 仔細詳細回顧查看每一個\n"
+"且取消選取那些開機時不會用到的.\n"
+"\n"
+"當你選取該項目時, 會出現一個簡略說明文字. 但是若是您對於該項目\n"
+"實在不確定是否要啟用的話, 比較安全的作法就是維持原樣不要動作即可.\n"
+"\n"
+"!! 在這階段, 請小心如果您這台機器是要當作伺服器: 您大概不想要\n"
+"開啟那些您不用的服務. 請記得某些服務在伺服器上啟動後可能會有危險.\n"
+"大致上只選那些你真正需要的服務. !!"
+
+#: ../help.pm:209
+#, c-format
+msgid ""
+"GNU/Linux manages time in GMT (Greenwich Mean Time) and translates it to\n"
+"local time according to the time zone you selected. If the clock on your\n"
+"motherboard is set to local time, you may deactivate this by unselecting\n"
+"\"%s\", which will let GNU/Linux know that the system clock and the\n"
+"hardware clock are in the same time zone. This is useful when the machine\n"
+"also hosts another operating system.\n"
+"\n"
+"The \"%s\" option will automatically regulate the system clock by\n"
+"connecting to a remote time server on the Internet. For this feature to\n"
+"work, you must have a working Internet connection. We recommend that you\n"
+"choose a time server located near you. This option actually installs a time\n"
+"server which can be used by other machines on your local network as well."
+msgstr ""
+
+#: ../help.pm:220
+#, c-format
+msgid "Automatic time synchronization"
+msgstr "自動時間同步"
+
+#: ../help.pm:223
+#, c-format
+msgid ""
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs."
+msgstr ""
+"顯示卡\n"
+"\n"
+" 一般而言,安裝程式會自動偵測並設定安裝在您機器上的顯示\n"
+"卡。如果偵測結果不正確,您可以由本清單中選取正確的型號。\n"
+"\n"
+" 如果有不同的伺服器可以與您的顯示卡搭配使用 (有或沒有 3D\n"
+"加速功能),請您選擇一個最符合您需求的伺服器來使用。"
+
+#: ../help.pm:234
+#, c-format
+msgid ""
+"X (for X Window System) is the heart of the GNU/Linux graphical interface\n"
+"on which all the graphical environments (KDE, GNOME, AfterStep,\n"
+"WindowMaker, etc.) bundled with Mandriva Linux rely upon.\n"
+"\n"
+"You'll see a list of different parameters to change to get an optimal\n"
+"graphical display.\n"
+"\n"
+"Graphic Card\n"
+"\n"
+" The installer will normally automatically detect and configure the\n"
+"graphic card installed on your machine. If this is not correct, you can\n"
+"choose from this list the card you actually have installed.\n"
+"\n"
+" In the situation where different servers are available for your card,\n"
+"with or without 3D acceleration, you're asked to choose the server which\n"
+"best suits your needs.\n"
+"\n"
+"\n"
+"\n"
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer.\n"
+"\n"
+"\n"
+"\n"
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture.\n"
+"\n"
+"\n"
+"\n"
+"Test\n"
+"\n"
+" Depending on your hardware, this entry might not appear.\n"
+"\n"
+" The system will try to open a graphical screen at the desired\n"
+"resolution. If you see the test message during the test and answer \"%s\",\n"
+"then DrakX will proceed to the next step. If you do not see it, then it\n"
+"means that some part of the auto-detected configuration was incorrect and\n"
+"the test will automatically end after 12 seconds and return you to the\n"
+"menu. Change settings until you get a correct graphical display.\n"
+"\n"
+"\n"
+"\n"
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+
+#: ../help.pm:291
+#, c-format
+msgid ""
+"Monitor\n"
+"\n"
+" Normally the installer will automatically detect and configure the\n"
+"monitor connected to your machine. If it is not correct, you can choose\n"
+"from this list the monitor which is connected to your computer."
+msgstr ""
+"螢幕\n"
+"\n"
+" 一般來說,安裝程式會自動偵測並設定連接到您電腦的螢幕。如果它不正確\n"
+",您可以由此列表中選取連結到您電腦的螢幕。"
+
+#: ../help.pm:298
+#, c-format
+msgid ""
+"Resolution\n"
+"\n"
+" Here you can choose the resolutions and color depths available for your\n"
+"graphics hardware. Choose the one which best suits your needs (you will be\n"
+"able to make changes after the installation). A sample of the chosen\n"
+"configuration is shown in the monitor picture."
+msgstr ""
+"解析度\n"
+"\n"
+" 在這裡您可以選擇您顯示卡可以使用的解析度與色深。請選取最適合您的設定值\n"
+"(您可以在安裝完成之後更改)。您選取的設定值的樣本將顯示在螢幕圖片上。"
+
+#: ../help.pm:306
+#, c-format
+msgid ""
+"In the situation where different servers are available for your card, with\n"
+"or without 3D acceleration, you're asked to choose the server which best\n"
+"suits your needs."
+msgstr ""
+"如果有不同的伺服器可以與您的顯示卡搭配使用 (有或沒有 3D加速\n"
+"功能),請您選擇一個最符合您需求的伺服器來使用。"
+
+#: ../help.pm:311
+#, c-format
+msgid ""
+"Options\n"
+"\n"
+" This steps allows you to choose whether you want your machine to\n"
+"automatically switch to a graphical interface at boot. Obviously, you may\n"
+"want to check \"%s\" if your machine is to act as a server, or if you were\n"
+"not successful in getting the display configured."
+msgstr ""
+"選項\n"
+"\n"
+" 這個步驟允許您選擇是否想要您的機器開機時自動跳到圖形介.\n"
+"顯然地, 如果您的機器是當作一個伺服器或您不能成功地設定顯示,\n"
+"您想核對選取 \"%s\"."
+
+#: ../help.pm:319
+#, c-format
+msgid ""
+"You now need to decide where you want to install the Mandriva Linux\n"
+"operating system on your hard drive. If your hard drive is empty or if an\n"
+"existing operating system is using all the available space you will have to\n"
+"partition the drive. Basically, partitioning a hard drive means to\n"
+"logically divide it to create the space needed to install your new\n"
+"Mandriva Linux system.\n"
+"\n"
+"Because the process of partitioning a hard drive is usually irreversible\n"
+"and can lead to data losses, partitioning can be intimidating and stressful\n"
+"for the inexperienced user. Fortunately, DrakX includes a wizard which\n"
+"simplifies this process. Before continuing with this step, read through the\n"
+"rest of this section and above all, take your time.\n"
+"\n"
+"Depending on the configuration of your hard drive, several options are\n"
+"available:\n"
+"\n"
+" * \"%s\". This option will perform an automatic partitioning of your blank\n"
+"drive(s). If you use this option there will be no further prompts.\n"
+"\n"
+" * \"%s\". The wizard has detected one or more existing Linux partitions on\n"
+"your hard drive. If you want to use them, choose this option. You will then\n"
+"be asked to choose the mount points associated with each of the partitions.\n"
+"The legacy mount points are selected by default, and for the most part it's\n"
+"a good idea to keep them.\n"
+"\n"
+" * \"%s\". If Microsoft Windows is installed on your hard drive and takes\n"
+"all the space available on it, you will have to create free space for\n"
+"GNU/Linux. To do so, you can delete your Microsoft Windows partition and\n"
+"data (see ``Erase entire disk'' solution) or resize your Microsoft Windows\n"
+"FAT or NTFS partition. Resizing can be performed without the loss of any\n"
+"data, provided you've previously defragmented the Windows partition.\n"
+"Backing up your data is strongly recommended. Using this option is\n"
+"recommended if you want to use both Mandriva Linux and Microsoft Windows on\n"
+"the same computer.\n"
+"\n"
+" Before choosing this option, please understand that after this\n"
+"procedure, the size of your Microsoft Windows partition will be smaller\n"
+"than when you started. You'll have less free space under Microsoft Windows\n"
+"to store your data or to install new software.\n"
+"\n"
+" * \"%s\". If you want to delete all data and all partitions present on\n"
+"your hard drive and replace them with your new Mandriva Linux system, "
+"choose\n"
+"this option. Be careful, because you will not be able to undo this "
+"operation\n"
+"after you confirm.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be deleted. !!\n"
+"\n"
+" * \"%s\". This option appears when the hard drive is entirely taken by\n"
+"Microsoft Windows. Choosing this option will simply erase everything on the\n"
+"drive and begin fresh, partitioning everything from scratch.\n"
+"\n"
+" !! If you choose this option, all data on your disk will be lost. !!\n"
+"\n"
+" * \"%s\". Choose this option if you want to manually partition your hard\n"
+"drive. Be careful -- it is a powerful but dangerous choice and you can very\n"
+"easily lose all your data. That's why this option is really only\n"
+"recommended if you have done something like this before and have some\n"
+"experience. For more instructions on how to use the DiskDrake utility,\n"
+"refer to the ``Managing Your Partitions'' section in the ``Starter Guide''."
+msgstr ""
+"您需要決定那裡你想要安裝 Mandriva Linux\n"
+"作業系統於那個硬碟. 如果您的硬碟是全新尚未使用或\n"
+"已經存在的作業系統正在使用全部可被利用的空間, 您將\n"
+"必須進行分割硬碟的動作. 基本上, 分割硬碟的動作包含\n"
+"邏輯上劃分它以建立需要的空間來安裝您的新\n"
+"Mandriva Linux 系統.\n"
+"\n"
+"因為分割硬碟的動作程序通常是無法回復的\n"
+"且能導致資料遺失, 若您是一位不熟練的使用者,\n"
+"割硬碟的動作是脅迫恫嚇與充滿著緊張壓力的. 幸運的是\n"
+"DrakX 包含精靈模式以簡化這程序。於繼續此步驟前,\n"
+"先詳細閱讀其他部份與全部, 慢慢來.\n"
+"\n"
+"根據您的硬碟設定值, 有數個選項可用:\n"
+"\n"
+" * \"%s\". 該項目將會執行自動劃分您空白的磁碟.\n"
+"若您使用此選項, 將沒有進一步的提示.\n"
+"\n"
+" * \"%s\"。精靈模式已經偵測一個或多個已經存在的 Linux 硬碟\n"
+"分割. 若您想要使用他們, 選此選項. 您將會\n"
+"被要求選擇關於每一個分割的掛載點.\n"
+"就有的掛載點預設為被選擇, 且大部分最好保留\n"
+"他們.\n"
+"\n"
+" * \"%s\". 若您硬碟有安裝 Microsoft Windows 且佔據\n"
+"全部可用剩餘可用的空間, 您將必須建立自由空間給\n"
+"GNU/Linux. 為了達到目的, 您可以刪除 Microsoft Windows 分割與資料\n"
+"(見 ``Erase entire disk (消除整個磁碟)'' 解決方案) 或是\n"
+"重新調整 Microsoft Windows FAT 或 NTFS 分割區大小.\n"
+"若您已經 defragment(不連續碎片重新整理) Windows 分割\n"
+"且它用 FAT 格式.重新調整分割可以被執行於不遺失任何資料\n"
+"資料備份是被強烈建議的. 若您想要使用 Mandriva Linux and Microsoft\n"
+"Windows 於同一台電腦, 使用此選項是被建議的.\n"
+"\n"
+" 選擇此選項前, 請了解當使用這個過程項目後, Microsoft Windows\n"
+"分割可用的剩餘空間將會比之前減少. 您將有較少的自由空間於\n"
+" Microsoft Windows 來存您的資料與安裝新軟體.\n"
+"\n"
+" * \"%s\". 如果您想要刪除全部現存於您的硬碟上資料與\n"
+"分割且以您的新 Mandriva Linux 系統替換他們,\n"
+"選此選項. 但是小心使用, 你將無法於你確認之後\n"
+"逆反你的決定.\n"
+"\n"
+" !! 若你選此選項, 全部於你的磁碟上的資料將會被刪除. !!\n"
+"\n"
+" * \"%s\". 當硬碟完全被 Microsoft Windows 佔據時出現此選項.\n"
+"選擇此選項將會簡單地消除一切於磁碟中的資料且從新開始,\n"
+"從頭開始分割一切.\n"
+"\n"
+" !! 若你選此選項, 全部於你的磁碟上的資料將會遺失. !!\n"
+"\n"
+" * \"%s\". 選這個選項若您想要手動分割您的硬碟.\n"
+"請小心使用 -- 它是強力的但是危險的選擇且您可能非常\n"
+"容易遺失您的全部資料. 這是為何此選項事實上只於\n"
+"您曾經做過類似於此且有些許經驗的時候被建議.\n"
+"更多指令於如何使用 DiskDrake 工具, 指向\n"
+"``Starter Guide (初學者指導)''的\n"
+"``Managing Your Partitions (管理您的分割)'' 部份."
+
+#: ../help.pm:377
+#, c-format
+msgid "Use existing partition"
+msgstr "使用已經存在的分割區"
+
+#: ../help.pm:377
+#, c-format
+msgid "Erase entire disk"
+msgstr "刪除所有磁碟內容"
+
+#: ../help.pm:380
+#, c-format
+msgid ""
+"There you are. Installation is now complete and your GNU/Linux system is\n"
+"ready to be used. Just click on \"%s\" to reboot the system. Do not forget\n"
+"to remove the installation media (CD-ROM or floppy). The first thing you\n"
+"should see after your computer has finished doing its hardware tests is the\n"
+"boot-loader menu, giving you the choice of which operating system to start.\n"
+"\n"
+"The \"%s\" button shows two more buttons to:\n"
+"\n"
+" * \"%s\": enables you to create an installation floppy disk which will\n"
+"automatically perform a whole installation without the help of an operator,\n"
+"similar to the installation you've just configured.\n"
+"\n"
+" Note that two different options are available after clicking on that\n"
+"button:\n"
+"\n"
+" * \"%s\". This is a partially automated installation. The partitioning\n"
+"step is the only interactive procedure.\n"
+"\n"
+" * \"%s\". Fully automated installation: the hard disk is completely\n"
+"rewritten, all data is lost.\n"
+"\n"
+" This feature is very handy when installing on a number of similar\n"
+"machines. See the Auto install section on our web site for more\n"
+"information.\n"
+"\n"
+" * \"%s\"(*): saves a list of the packages selected in this installation.\n"
+"To use this selection with another installation, insert the floppy and\n"
+"start the installation. At the prompt, press the [F1] key, type >>linux\n"
+"defcfg=\"floppy\"<< and press the [Enter] key.\n"
+"\n"
+"(*) You need a FAT-formatted floppy. To create one under GNU/Linux, type\n"
+"\"mformat a:\", or \"fdformat /dev/fd0\" followed by \"mkfs.vfat\n"
+"/dev/fd0\"."
+msgstr ""
+"整個安裝步驟到這裡代表您安裝已經完成了且 GNU/Linux 系統準備好被使用.\n"
+"只要點選 \"%s\" 來重新啟動系統. 別忘了移除安裝媒介 (光碟或軟片).\n"
+"於您的電腦完成硬體測試後您第一個見到的是開機載入程式選單,\n"
+"給您開始那個作業系統的選擇\n"
+" \"%s\" 按鈕顯示另兩個按鈕到:\n"
+"\n"
+"* \"%s\": 使您建立一個安裝軟片, 一張不需要操作手的幫助\n"
+"就能夠自動執行全部安裝的軟片, 類似於您剛剛設定的安裝一樣.\n"
+"\n"
+" 注意按下那個按鈕後有兩個不同的選項可供選擇:\n"
+"\n"
+" * \"%s\". 這是半自動安裝方式, 磁碟分割項目將是唯一維持手動方式操作.\n"
+"\n"
+" * \"%s\". 這是全自動的安裝方式: 硬碟將完全被重新寫入, 全部資料遺失.\n"
+"\n"
+" 這功能對於需要大量安裝很多相似機器上的話來說這是相當實用.\n"
+"可以參考我們網頁上自動安裝章節的更多資訊.\n"
+"\n"
+" * \"%s\"(*): 儲存一個於這安裝時選擇的套件清單.\n"
+"要用這些選擇於另一個安裝, 插入軟片且開始安裝. 於提示時按下 F1 按鍵,\n"
+"然後輸入 >>linux defcfg=\"floppy\"<< 按下 [Enter] 鍵.\n"
+"\n"
+"(*) 您需要一個 FAT-formatted 軟片. 要建立一張於於GNU/Linux 環境下,\n"
+"鍵入 \"mformat a:\", 或 \"fdformat /dev/fd0\" 然後 \"mkfs.vfat /dev/fd0\"."
+
+#: ../help.pm:412
+#, c-format
+msgid "Generate auto-install floppy"
+msgstr "產生自動安裝軟片"
+
+#: ../help.pm:415
+#, c-format
+msgid ""
+"If you chose to reuse some legacy GNU/Linux partitions, you may wish to\n"
+"reformat some of them and erase any data they contain. To do so, please\n"
+"select those partitions as well.\n"
+"\n"
+"Please note that it's not necessary to reformat all pre-existing\n"
+"partitions. You must reformat the partitions containing the operating\n"
+"system (such as \"/\", \"/usr\" or \"/var\") but you do not have to "
+"reformat\n"
+"partitions containing data that you wish to keep (typically \"/home\").\n"
+"\n"
+"Please be careful when selecting partitions. After the formatting is\n"
+"completed, all data on the selected partitions will be deleted and you\n"
+"will not be able to recover it.\n"
+"\n"
+"Click on \"%s\" when you're ready to format the partitions.\n"
+"\n"
+"Click on \"%s\" if you want to choose another partition for your new\n"
+"Mandriva Linux operating system installation.\n"
+"\n"
+"Click on \"%s\" if you wish to select partitions which will be checked for\n"
+"bad blocks on the disk."
+msgstr ""
+"如果您選擇去重新使用某些 GNU/Linux 分割, 您或許想要重新格式化他們\n"
+"且抹去任何他們包含的資料. 要的話, 請選擇那些分割.\n"
+"請注意一下, 並不是所有先前已經存在的分割區都得重新格式化,\n"
+"您必須重新格式化包含作業系統的分割 (例如 \"/\", \"/usr\" or \"/var\")\n"
+"但是您不需要重新格式化包含您想保留資料的分割 (通常是 \"/home\").\n"
+"\n"
+"請小心選擇分割. 當格式化完成時, 全部在選擇分割上得資料將被刪除且\n"
+"您將不行重新恢復它.\n"
+"當您準備好要格式化此分割, 點選 \"%s\".\n"
+"\n"
+"若您想選擇另一個分割給您的新的 Mandriva Linux 作業系統安裝, 點選了\"%s\".\n"
+"若您想選擇要被檢查磁碟上壞的區塊的分割, 點選.\"%s\"."
+
+#: ../help.pm:437
+#, c-format
+msgid ""
+"By the time you install Mandriva Linux, it's likely that some packages will\n"
+"have been updated since the initial release. Bugs may have been fixed,\n"
+"security issues resolved. To allow you to benefit from these updates,\n"
+"you're now able to download them from the Internet. Check \"%s\" if you\n"
+"have a working Internet connection, or \"%s\" if you prefer to install\n"
+"updated packages later.\n"
+"\n"
+"Choosing \"%s\" will display a list of web locations from which updates can\n"
+"be retrieved. You should choose one near to you. A package-selection tree\n"
+"will appear: review the selection, and press \"%s\" to retrieve and install\n"
+"the selected package(s), or \"%s\" to abort."
+msgstr ""
+"此時您安裝 Mandriva Linux 時, 或許自從初始釋出的某些套件將有更新.\n"
+"臭蟲或許已經修正了, 安全性問題解決了. 為了允許您從這些更新中\n"
+"獲得利益, 您現在可以由網際網路下載他們. 如果您有可用的網際網路連線,\n"
+"選取 \"%s\", 或是, 如果您想稍後安裝更新套件, 選取 \"%s\".\n"
+"\n"
+"選擇 \"%s\" 將顯示一張更新可以被擷取的網站位置清單. 您應該選擇一個\n"
+"跟您近的. 一個套件選擇樹將出現: 審查選擇, 按下 \"%s\" 來擷取且安裝\n"
+"被選擇的套件, 或 \"%s\" 以中斷放棄."
+
+#: ../help.pm:450
+#, c-format
+msgid ""
+"At this point, DrakX will allow you to choose the security level you desire\n"
+"for your machine. As a rule of thumb, the security level should be set\n"
+"higher if the machine is to contain crucial data, or if it's to be directly\n"
+"exposed to the Internet. The trade-off that a higher security level is\n"
+"generally obtained at the expense of ease of use.\n"
+"\n"
+"If you do not know what to choose, keep the default option. You'll be able\n"
+"to change it later with the draksec tool, which is part of Mandriva Linux\n"
+"Control Center.\n"
+"\n"
+"Fill the \"%s\" field with the e-mail address of the person responsible for\n"
+"security. Security messages will be sent to that address."
+msgstr ""
+"到這裡時, DrakX 將允許您選擇您想要的安全性等級給您的機器.\n"
+"根據拇指規則, 若是機器將要有包含重要的資料, 或是直接暴露在網際網路,\n"
+"安全性等級應該設定較高. 權衡之下, 較高的安全性等級換得不容易使用.\n"
+"\n"
+"如果您不知道選什麼, 保留預設選項. 您將能在稍後用 draksec 工具改變它,\n"
+"draksec 是 Mandriva Linux 控制中心的一部分.用負責安全性的人的 e-mail 地址填"
+"入 \"%s\" 欄位. 安全性訊息將被寄到\n"
+"那個位址."
+
+#: ../help.pm:461
+#, c-format
+msgid "Security Administrator"
+msgstr "安全性管理員:"
+
+#: ../help.pm:464
+#, c-format
+msgid ""
+"At this point, you need to choose which partition(s) will be used for the\n"
+"installation of your Mandriva Linux system. If partitions have already been\n"
+"defined, either from a previous installation of GNU/Linux or by another\n"
+"partitioning tool, you can use existing partitions. Otherwise, hard drive\n"
+"partitions must be defined.\n"
+"\n"
+"To create partitions, you must first select a hard drive. You can select\n"
+"the disk for partitioning by clicking on ``hda'' for the first IDE drive,\n"
+"``hdb'' for the second, ``sda'' for the first SCSI drive and so on.\n"
+"\n"
+"To partition the selected hard drive, you can use these options:\n"
+"\n"
+" * \"%s\": this option deletes all partitions on the selected hard drive\n"
+"\n"
+" * \"%s\": this option enables you to automatically create ext3 and swap\n"
+"partitions in the free space of your hard drive\n"
+"\n"
+"\"%s\": gives access to additional features:\n"
+"\n"
+" * \"%s\": saves the partition table to a floppy. Useful for later\n"
+"partition-table recovery if necessary. It is strongly recommended that you\n"
+"perform this step.\n"
+"\n"
+" * \"%s\": allows you to restore a previously saved partition table from a\n"
+"floppy disk.\n"
+"\n"
+" * \"%s\": if your partition table is damaged, you can try to recover it\n"
+"using this option. Please be careful and remember that it does not always\n"
+"work.\n"
+"\n"
+" * \"%s\": discards all changes and reloads the partition table that was\n"
+"originally on the hard drive.\n"
+"\n"
+" * \"%s\": un-checking this option will force users to manually mount and\n"
+"unmount removable media such as floppies and CD-ROMs.\n"
+"\n"
+" * \"%s\": use this option if you wish to use a wizard to partition your\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": use this option to cancel your changes.\n"
+"\n"
+" * \"%s\": allows additional actions on partitions (type, options, format)\n"
+"and gives more information about the hard drive.\n"
+"\n"
+" * \"%s\": when you are finished partitioning your hard drive, this will\n"
+"save your changes back to disk.\n"
+"\n"
+"When defining the size of a partition, you can finely set the partition\n"
+"size by using the Arrow keys of your keyboard.\n"
+"\n"
+"Note: you can reach any option using the keyboard. Navigate through the\n"
+"partitions using [Tab] and the [Up/Down] arrows.\n"
+"\n"
+"When a partition is selected, you can use:\n"
+"\n"
+" * Ctrl-c to create a new partition (when an empty partition is selected)\n"
+"\n"
+" * Ctrl-d to delete a partition\n"
+"\n"
+" * Ctrl-m to set the mount point\n"
+"\n"
+"To get information about the different file system types available, please\n"
+"read the ext2FS chapter from the ``Reference Manual''.\n"
+"\n"
+"If you are installing on a PPC machine, you will want to create a small HFS\n"
+"``bootstrap'' partition of at least 1MB which will be used by the yaboot\n"
+"bootloader. If you opt to make the partition a bit larger, say 50MB, you\n"
+"may find it a useful place to store a spare kernel and ramdisk images for\n"
+"emergency boot situations."
+msgstr ""
+"在這個階段, 您需要選擇要用來安裝 Mandriva Linux 系統的分割區.\n"
+"如果分割區已經被定義了, 不管是從舊有的 GNU/Linux 安裝或是\n"
+"另一個處理分割區的工具, 您可以使用原本已經劃分好的分割區.\n"
+"否則硬碟分割必須要被定義.\n"
+"\n"
+"要建立分割區, 您需要先選擇一台硬碟. 您可以選擇要操作的分割區, 按 ``hda''\n"
+"為第一台 IDE 磁碟, ``hdb'' 為第二台, ``sda'' 為第一台 SCSI 磁碟等等.\n"
+"\n"
+"要進行分割的動作於選好的硬碟上, 您有這些項目可以使用:\n"
+"\n"
+" * \"%s\": 這個選項刪除在所選的影碟上的全部分割區\n"
+"\n"
+" * \"%s\": 這個選項使您自動建立 ext3 與 swap 分割區於您的硬碟上的空白空間\n"
+"\n"
+"\"%s\": 給多加的功能的使用:\n"
+"\n"
+" * \"%s\": 儲存分割表到軟片. 必要時對於分割表拯救有用. 強烈建議執行此步驟.\n"
+"\n"
+" * \"%s\": 允許您回存一個之前從軟片儲存的分割表\n"
+"\n"
+" * \"%s\": 如果您的分割表受損, 您可以試著用這個選項救回它.\n"
+"請小心且記得這並非總是有效.\n"
+"\n"
+" * \"%s\": 丟棄全部改變且重新載入原始硬碟的分割表.\n"
+"\n"
+" * \"%s\": 不選取這個選項將強制使用者手動掛載與卸載可移除式媒介例如磁碟片與\n"
+"光碟。\n"
+"\n"
+" * \"%s\": 如果您想用精靈來分割您的硬碟, 使用這個選項. 如果您沒有對於\n"
+"操作分割的好的了解, 這是被建議的.\n"
+"hard drive. This is recommended if you do not have a good understanding of\n"
+"partitioning.\n"
+"\n"
+" * \"%s\": 用這個選項來取消您的變更.\n"
+"\n"
+" * \"%s\": 允許多加的動作於分割 (類型, 選項, 格式)且給更多的關於硬碟的資訊.\n"
+"\n"
+" * \"%s\": 當您完成分割您的硬碟, 這將儲存您的變更回磁碟.\n"
+"\n"
+"當定義一個分割的大小時, 您可以好好的用鍵盤上的方向鍵來設定分割大小.\n"
+"\n"
+"注意: 您可以用鍵盤達成任何選項. 用 [Tab] 鍵與上或下方向鍵瀏覽分割.\n"
+"\n"
+"當一個分個被選擇時, 您可以使用:\n"
+"\n"
+" * Ctrl-c 來建立一個新的分割 (當空白分割被選擇時)\n"
+"\n"
+" * Ctrl-d 來刪除一個分割\n"
+"\n"
+" * Ctrl-m 來設定掛載點\n"
+"\n"
+"要得到關於不同可用的檔案系統的資訊, 請從 ``Reference Manual (參考手冊)''\n"
+"閱讀 ext2FS 章節.\n"
+"\n"
+"如果您正在安裝於一個 PPC 機器, 您將想要建立一個小的 HFS\n"
+"``bootstrap'' 分割至少 1MB 以用於 yaboot 開機載入器. 如果您選擇使分割大一"
+"些,\n"
+"像 50MB, 您或許發現它是一個好用的貯存一個備用核心與 ramdisk\n"
+"影像給緊急使用開機的好地方."
+
+#: ../help.pm:533
+#, c-format
+msgid "Removable media auto-mounting"
+msgstr "可移除式媒介自動掛載"
+
+#: ../help.pm:533
+#, c-format
+msgid "Toggle between normal/expert mode"
+msgstr "切換一般/專家模式"
+
+#: ../help.pm:536
+#, c-format
+msgid ""
+"More than one Microsoft partition has been detected on your hard drive.\n"
+"Please choose the one which you want to resize in order to install your new\n"
+"Mandriva Linux operating system.\n"
+"\n"
+"Each partition is listed as follows: \"Linux name\", \"Windows name\"\n"
+"\"Capacity\".\n"
+"\n"
+"\"Linux name\" is structured: \"hard drive type\", \"hard drive number\",\n"
+"\"partition number\" (for example, \"hda1\").\n"
+"\n"
+"\"Hard drive type\" is \"hd\" if your hard dive is an IDE hard drive and\n"
+"\"sd\" if it is a SCSI hard drive.\n"
+"\n"
+"\"Hard drive number\" is always a letter after \"hd\" or \"sd\". With IDE\n"
+"hard drives:\n"
+"\n"
+" * \"a\" means \"master hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"b\" means \"slave hard drive on the primary IDE controller\";\n"
+"\n"
+" * \"c\" means \"master hard drive on the secondary IDE controller\";\n"
+"\n"
+" * \"d\" means \"slave hard drive on the secondary IDE controller\".\n"
+"\n"
+"With SCSI hard drives, an \"a\" means \"lowest SCSI ID\", a \"b\" means\n"
+"\"second lowest SCSI ID\", etc.\n"
+"\n"
+"\"Windows name\" is the letter of your hard drive under Windows (the first\n"
+"disk or partition is called \"C:\")."
+msgstr ""
+"多於一個 Microsoft 分割區已經在您的硬碟上被偵測到. 請選擇您希望要重新調整 大"
+"小的分割以便安裝您的新的 Mandriva Linux 作業系統.\n"
+"\n"
+"每個分割區都列出了像是: \"Linux 名稱\", \"Windows 名稱\", \"容量\".\n"
+"\n"
+"\"Linux 名稱\" 是有結構性的: \"硬碟型態\", \"硬碟編號\", \"分割區編號\"\n"
+"(比方像是: \"hda1\" ).\n"
+"\n"
+"\"硬碟型態\" 就是, 若您使用的是 IDE 硬碟, 會顯示 \"hd\", 若是SCSI硬碟的話,\n"
+"就是 \"sd\".\n"
+"\n"
+"\"硬碟編號\" 就是在 \"hd\" 或者是 \"sd\" 後面的字母. 以 IDE 硬碟裝置來說:\n"
+"\n"
+" * \"a\"這是指 \"primary IDE controller 上第一台 (master) 硬碟\";\n"
+"\n"
+" * \"b\"這是指\"primmary IDE controller 上第二台 (slave) 硬碟\";\n"
+"\n"
+" * \"c\"這是指\"secondary IDE controller 上第一台 (master) 硬碟\";\n"
+"\n"
+" * \"d\"這是指\"secondary IDE controller 上第二台 (slave) 硬碟\".\n"
+"\n"
+"以 SCSI 硬碟來說, \"a\" 是指 \"SCSI ID 編號最小的那一台硬碟\", \"b\" 是指"
+"\"SCSI ID 編號為第二小的那一台硬碟\", 然後依此類推下去.....\n"
+"\n"
+"\"Windows 名稱\" 是在 Windows 下的磁碟機代號名稱 (第一個磁碟或分割稱為\n"
+"\"C:\")."
+
+#: ../help.pm:567
+#, c-format
+msgid ""
+"\"%s\": check the current country selection. If you're not in this country,\n"
+"click on the \"%s\" button and choose another. If your country is not in "
+"the\n"
+"list shown, click on the \"%s\" button to get the complete country list."
+msgstr ""
+"\"%s\":檢視目前選擇的國家。如果您不在這個國家,\n"
+"請按下 \"%s\" 按鈕並選擇另一個。如果您的國家不在選單中,\n"
+"請按下 \"%s\" 按鈕來看完整的國家清單。"
+
+#: ../help.pm:572
+#, c-format
+msgid ""
+"This step is activated only if an existing GNU/Linux partition has been\n"
+"found on your machine.\n"
+"\n"
+"DrakX now needs to know if you want to perform a new installation or an\n"
+"upgrade of an existing Mandriva Linux system:\n"
+"\n"
+" * \"%s\". For the most part, this completely wipes out the old system.\n"
+"However, depending on your partitioning scheme, you can prevent some of\n"
+"your existing data (notably \"home\" directories) from being over-written.\n"
+"If you wish to change how your hard drives are partitioned, or to change\n"
+"the file system, you should use this option.\n"
+"\n"
+" * \"%s\". This installation class allows you to update the packages\n"
+"currently installed on your Mandriva Linux system. Your current "
+"partitioning\n"
+"scheme and user data will not be altered. Most of the other configuration\n"
+"steps remain available and are similar to a standard installation.\n"
+"\n"
+"Using the ``Upgrade'' option should work fine on Mandriva Linux systems\n"
+"running version \"8.1\" or later. Performing an upgrade on versions prior\n"
+"to Mandriva Linux version \"8.1\" is not recommended."
+msgstr ""
+"這個步驟是在您的機器上找到已經存在的 GNU/Linux 分割區才會啟用。\n"
+"\n"
+"DrakX 需要知道您是要安裝新的系統或者升級既有的 Mandriva Linux 系統:\n"
+"\n"
+" * \"%s\". 大致來說,這將會完全抹除舊的系統。然而,根據您的分割區配\n"
+"置方式,您可以避免部分現存的資料 (例如 \"home\" 之中的目錄) 被完全\n"
+"抹除。如果您想要改變您的硬碟分割方式,或改變檔案系統,您應該使用這\n"
+"個選項。\n"
+"\n"
+" * \"%s\". 這個安裝方式讓您更新目前安裝在您的 Mandriva Linux 中的套\n"
+"件。您目前的分割方式和使用者資料不會被改變。大部分其他的設定步驟仍\n"
+"然會出現並且和標準的安裝過程相似。\n"
+"\n"
+"使用 ``更新'' 選項應該在 Mandriva Linux 版本 \"8.1\" 或更新的系統上\n"
+"可以正常運作。不建議從 Mandriva Linux 版本 \"8.1\" 或更早的系統進行更新。"
+
+#: ../help.pm:594
+#, c-format
+msgid ""
+"Depending on the language you chose (), DrakX will automatically select a\n"
+"particular type of keyboard configuration. Check that the selection suits\n"
+"you or choose another keyboard layout.\n"
+"\n"
+"Also, you may not have a keyboard which corresponds exactly to your\n"
+"language: for example, if you are an English-speaking Swiss native, you may\n"
+"have a Swiss keyboard. Or if you speak English and are located in Quebec,\n"
+"you may find yourself in the same situation where your native language and\n"
+"country-set keyboard do not match. In either case, this installation step\n"
+"will allow you to select an appropriate keyboard from a list.\n"
+"\n"
+"Click on the \"%s\" button to be shown a list of supported keyboards.\n"
+"\n"
+"If you choose a keyboard layout based on a non-Latin alphabet, the next\n"
+"dialog will allow you to choose the key binding which will switch the\n"
+"keyboard between the Latin and non-Latin layouts."
+msgstr ""
+"根據您所選的語言 (), DrakX 將會自動選擇一個特別的鍵盤設定型態. 檢查所選擇的\n"
+"是否適合您或選擇另一個鍵盤形式。\n"
+"\n"
+"您或許沒有精確對應於您的語言的鍵盤: 例如, 如果您是一個說英文的瑞士本國人,\n"
+"您或許有瑞士鍵盤. 或如果您說英文且在魁北克 (Quebec), 您或許發現您自己在一個\n"
+"您本國語言與國家鍵盤組合不對稱的情況. 不管是那種情形, 這個安裝步驟將允許您\n"
+"從一個清單中選擇適合的鍵盤\n"
+"\n"
+"點選 \"%s\" 按鈕以顯示一個支援的鍵盤清單.\n"
+"\n"
+"如果您根據一個非拉丁語系字母選擇一個鍵盤形式,下一個對話窗將允許您選擇\n"
+"按鍵組合以便切換於拉丁與非拉丁鍵盤形式之中。"
+
+#: ../help.pm:612
+#, c-format
+msgid ""
+"The first step is to choose your preferred language.\n"
+"\n"
+"Your choice of preferred language will affect the installer, the\n"
+"documentation, and the system in general. First select the region you're\n"
+"located in, then the language you speak.\n"
+"\n"
+"Clicking on the \"%s\" button will allow you to select other languages to\n"
+"be installed on your workstation, thereby installing the language-specific\n"
+"files for system documentation and applications. For example, if Spanish\n"
+"users are to use your machine, select English as the default language in\n"
+"the tree view and \"%s\" in the Advanced section.\n"
+"\n"
+"About UTF-8 (unicode) support: Unicode is a new character encoding meant to\n"
+"cover all existing languages. However full support for it in GNU/Linux is\n"
+"still under development. For that reason, Mandriva Linux's use of UTF-8 "
+"will\n"
+"depend on the user's choices:\n"
+"\n"
+" * If you choose a language with a strong legacy encoding (latin1\n"
+"languages, Russian, Japanese, Chinese, Korean, Thai, Greek, Turkish, most\n"
+"iso-8859-2 languages), the legacy encoding will be used by default;\n"
+"\n"
+" * Other languages will use unicode by default;\n"
+"\n"
+" * If two or more languages are required, and those languages are not using\n"
+"the same encoding, then unicode will be used for the whole system;\n"
+"\n"
+" * Finally, unicode can also be forced for use throughout the system at a\n"
+"user's request by selecting the \"%s\" option independently of which\n"
+"languages were been chosen.\n"
+"\n"
+"Note that you're not limited to choosing a single additional language. You\n"
+"may choose several, or even install them all by selecting the \"%s\" box.\n"
+"Selecting support for a language means translations, fonts, spell checkers,\n"
+"etc. will also be installed for that language.\n"
+"\n"
+"To switch between the various languages installed on your system, you can\n"
+"launch the \"localedrake\" command as \"root\" to change the language used\n"
+"by the entire system. Running the command as a regular user will only\n"
+"change the language settings for that particular user."
+msgstr ""
+"第一步驟是選擇您偏好的語言.\n"
+"\n"
+"您選擇的偏好語言一般來說將影響安裝、文件、與系統。先選擇您在的區域,然後\n"
+"是您說的語言.\n"
+"\n"
+"點選 \"%s\" 按鍵將允許您選擇其他語言來安裝在您的工作站上, 因此, 安裝特殊語"
+"言\n"
+"檔案給系統文件與應用程式. 例如, 如果西班牙使用者會用您的機器, 在樹狀檢視中\n"
+"選擇英文當預設語言且在進階部份選擇 \"%s\".\n"
+"\n"
+"關於 UTF-8 (unicode) 支援:Unicode 是一個新的字元編碼以涵蓋所有存在的語言。\n"
+"然而, 在 GNU/Linux 下完全的支援仍然在開發中. 因為那個原因, Mandriva Linux "
+"的\n"
+" UTF-8 使用將根據使用者的選擇而定:\n"
+"\n"
+" * 如果您選擇一個有偏重傳統編碼的語言 (latin1 語言、俄羅斯文、日文、中文、\n"
+"韓國, 泰國, 希臘, 土耳其, 大多的 iso-8859-2 語言)\n"
+"\n"
+" * 其他語言將使用 unicode 為預設;\n"
+"\n"
+" * 如果兩個或兩個以上的語言被需要, 且那些語言不用相同的編碼, 則 unicode 將被"
+"用於整個系統;\n"
+"\n"
+" * 最後,unicode 也可以被強制使用於整個系統,藉由使用者的選擇 \"%s\" 選項\n"
+"來要求之.\n"
+"\n"
+"記得您不被限制於選擇一個單一的附加語言. 您可以選擇數個, 或甚至藉由選擇\n"
+" \"%s\" 方塊安裝他們全部。選擇支援該種語言是指翻譯、字型、拼字檢查等等,\n"
+"將也會被安裝給那個語言.\n"
+"為了切換於不同的安裝於您系統上的語言之間,您可以用 \"root\" 執行\n"
+"\"localedrake\" 程式來改變用於整個系統上的語言。用一般使用者執行程式\n"
+"將只會改變對於那個特別使用者的語言設定."
+
+#: ../help.pm:650
+#, c-format
+msgid "Espanol"
+msgstr "西班牙語"
+
+#: ../help.pm:653
+#, c-format
+msgid ""
+"Usually, DrakX has no problems detecting the number of buttons on your\n"
+"mouse. If it does, it assumes you have a two-button mouse and will\n"
+"configure it for third-button emulation. The third-button mouse button of a\n"
+"two-button mouse can be obtained by simultaneously clicking the left and\n"
+"right mouse buttons. DrakX will automatically know whether your mouse uses\n"
+"a PS/2, serial or USB interface.\n"
+"\n"
+"If you have a 3-button mouse without a wheel, you can choose a \"%s\"\n"
+"mouse. DrakX will then configure your mouse so that you can simulate the\n"
+"wheel with it: to do so, press the middle button and move your mouse\n"
+"pointer up and down.\n"
+"\n"
+"If for some reason you wish to specify a different type of mouse, select it\n"
+"from the list provided.\n"
+"\n"
+"You can select the \"%s\" entry to chose a ``generic'' mouse type which\n"
+"will work with nearly all mice.\n"
+"\n"
+"If you choose a mouse other than the default one, a test screen will be\n"
+"displayed. Use the buttons and wheel to verify that the settings are\n"
+"correct and that the mouse is working correctly. If the mouse is not\n"
+"working well, press the space bar or [Return] key to cancel the test and\n"
+"you will be returned to the mouse list.\n"
+"\n"
+"Occasionally wheel mice are not detected automatically, so you will need to\n"
+"select your mouse from a list. Be sure to select the one corresponding to\n"
+"the port that your mouse is attached to. After selecting a mouse and\n"
+"pressing the \"%s\" button, a mouse image will be displayed on-screen.\n"
+"Scroll the mouse wheel to ensure that it is activating correctly. As you\n"
+"scroll your mouse wheel, you will see the on-screen scroll wheel moving.\n"
+"Test the buttons and check that the mouse pointer moves on-screen as you\n"
+"move your mouse about."
+msgstr ""
+"通常 DrakX 沒有偵測滑鼠按鍵數量的問題. 如果有的話, 它假設您有兩鍵的滑鼠\n"
+"且將設定它模擬三鍵. 第三鍵按鍵於兩鍵滑鼠可以由同時按下左鍵與右鍵來模擬.\n"
+"DrakX 將會自動知道您的滑鼠是否使用 PS/2, 序列埠 或 USB 介面.\n"
+"\n"
+" 如果您有一個無滾輪的三鍵滑鼠, 您可以選擇 \"%s\" 滑鼠. DrakX 將會設定您的\n"
+"滑鼠以至於您可以用它模擬滾輪: 為了要使用它, 按下中間鍵且上下移動您的滑鼠指"
+"標.\n"
+"\n"
+"如果由於某些原因您想指定一個不同的滑鼠類型, 從提供的清單中選它.\n"
+"\n"
+"您可以選擇 \"%s\" 項目來選擇一個 ``generic (一般)'' 滑鼠型態, 適用於幾乎全"
+"部\n"
+"的滑鼠.\n"
+"\n"
+"如果您選擇一個不同於預設值的滑鼠,將會顯示一個測試畫面。使用按鍵與滾輪來\n"
+"確認設定值是正確的且滑鼠正確工作。如果滑鼠不能工作,請按下空白鍵或 [Return] "
+"鍵\n"
+"以取消測試且您將回到滑鼠清單.\n"
+"\n"
+"某些情況下, 滾輪滑鼠不能被自動偵測, 所以您將需要從清單中選擇您的滑鼠.\n"
+"確定選擇一個對應於您的滑鼠連接埠的項目。選擇一個滑鼠且按下 \"%s\" 鍵後,\n"
+"一個滑鼠影像將顯示在螢幕上.\n"
+"請捲動滑鼠滾輪以確定它正確被啟動。當您滾動滾輪,您將看見螢幕上的滾輪移動。\n"
+"測試按鍵並檢查當您移動您的滑鼠時游標是否在螢幕上移動。"
+
+#: ../help.pm:684
+#, c-format
+msgid "with Wheel emulation"
+msgstr "滾輪模擬"
+
+#: ../help.pm:684
+#, c-format
+msgid "Universal | Any PS/2 & USB mice"
+msgstr "通用 | 任何 PS/2 & USB 滑鼠"
+
+#: ../help.pm:687
+#, c-format
+msgid ""
+"Please select the correct port. For example, the \"COM1\" port under\n"
+"Windows is named \"ttyS0\" under GNU/Linux."
+msgstr ""
+"請選擇正確的連接埠名稱. 比方, Windows 所稱呼的 \"COM1\"\n"
+"在 GNU/Linux 環境是稱呼為 \"ttyS0\"."
+
+#: ../help.pm:691
+#, c-format
+msgid ""
+"This is the most crucial decision point for the security of your GNU/Linux\n"
+"system: you must enter the \"root\" password. \"Root\" is the system\n"
+"administrator and is the only user authorized to make updates, add users,\n"
+"change the overall system configuration, and so on. In short, \"root\" can\n"
+"do everything! That's why you must choose a password which is difficult to\n"
+"guess: DrakX will tell you if the password you chose is too simple. As you\n"
+"can see, you're not forced to enter a password, but we strongly advise\n"
+"against this. GNU/Linux is just as prone to operator error as any other\n"
+"operating system. Since \"root\" can overcome all limitations and\n"
+"unintentionally erase all data on partitions by carelessly accessing the\n"
+"partitions themselves, it is important that it be difficult to become\n"
+"\"root\".\n"
+"\n"
+"The password should be a mixture of alphanumeric characters and at least 8\n"
+"characters long. Never write down the \"root\" password -- it makes it far\n"
+"too easy to compromise your system.\n"
+"\n"
+"One caveat: do not make the password too long or too complicated because "
+"you\n"
+"must be able to remember it!\n"
+"\n"
+"The password will not be displayed on screen as you type it. To reduce the\n"
+"chance of a blind typing error you'll need to enter the password twice. If\n"
+"you do happen to make the same typing error twice, you'll have to use this\n"
+"``incorrect'' password the first time you'll try to connect as \"root\".\n"
+"\n"
+"If you want an authentication server to control access to your computer,\n"
+"click on the \"%s\" button.\n"
+"\n"
+"If your network uses either LDAP, NIS, or PDC Windows Domain authentication\n"
+"services, select the appropriate one for \"%s\". If you do not know which\n"
+"one to use, you should ask your network administrator.\n"
+"\n"
+"If you happen to have problems with remembering passwords, or if your\n"
+"computer will never be connected to the Internet and you absolutely trust\n"
+"everybody who uses your computer, you can choose to have \"%s\"."
+msgstr ""
+"這是最重要的 GNU/Linux 系統安全性決定點: 你一定要輸入 \"root\" 密碼.\n"
+"\"root\" 是系統管理員且是被授權做更新, 增加使用者, 變更整個系統設定等等\n"
+"的人。簡而言之,\"root\" 能做任何事!那就是為什麼您必須要選擇一個很難猜中\n"
+"的密碼. DrakX 將告訴您您的密碼是否太簡單. 就像您所見的一樣, 您並不被強制輸"
+"入\n"
+"一個密碼, 但是我們強烈建議如此. GNU/Linux 就像其他任何作業系統一般易於受\n"
+"操作手誤影響。因為 \"root\" 可以克服全部限制且藉由不小心存取分割,可以\n"
+"不經意地抹除所有分割上的資料,因此讓成為 \"root\" 身分很困難是極重要的。\n"
+"\n"
+"密碼應該是一組字母與數字字元且至少 8 個字元長. 絕不寫下 \"root\" 密碼 - \n"
+"它使得太容易掌控您的系統(安全性)。\n"
+"\n"
+"一個警告: 別把密碼設定太長或太複雜, 因為您必須能記住它!\n"
+"\n"
+"您在輸入密碼時, 螢幕上不會顯示出你實際敲入的內容. 另外就是您需要輸入兩次\n"
+"以便於確定所輸入的密碼沒有打錯. 如果您不小心做出兩次同樣的輸入錯誤,\n"
+"您將必須使用這個 ``錯誤'' 密碼於第一次您試著以 \"root\" 連入.\n"
+"\n"
+"如果您想要一個認證伺服器來控制存取您的電腦, 點選 \"%s\" 按鍵.\n"
+"\n"
+"若是你知道您所在網路有使用 LDAP, NIS, 或 PDC Windows 網域認證服務,\n"
+"選適合的一個給 \"%s\". 如果您不知道選那一個, 向網路管理者詢問相關資訊.\n"
+"\n"
+"如果您遇到記住密碼的問題, 或如果您的電腦將永遠不連上網際網路且您絕對相信\n"
+"所有使用您電腦的人,您可以選擇 \"%s\"."
+
+#: ../help.pm:725
+#, c-format
+msgid "authentication"
+msgstr "認證"
+
+#: ../help.pm:728
+#, c-format
+msgid ""
+"A boot loader is a little program which is started by the computer at boot\n"
+"time. It's responsible for starting up the whole system. Normally, the boot\n"
+"loader installation is totally automated. DrakX will analyze the disk boot\n"
+"sector and act according to what it finds there:\n"
+"\n"
+" * if a Windows boot sector is found, it will replace it with a GRUB/LILO\n"
+"boot sector. This way you'll be able to load either GNU/Linux or any other\n"
+"OS installed on your machine.\n"
+"\n"
+" * if a GRUB or LILO boot sector is found, it'll replace it with a new one.\n"
+"\n"
+"If DrakX can not determine where to place the boot sector, it'll ask you\n"
+"where it should place it. Generally, the \"%s\" is the safest place.\n"
+"Choosing \"%s\" will not install any boot loader. Use this option only if "
+"you\n"
+"know what you're doing."
+msgstr ""
+"開機載入器是在電腦開機時啟動的程式。它負責啟動整個系統。正常的話,開機載入\n"
+"程式的安裝是完全自動化的。DrakX 會分析硬碟的開機扇區並根據它所找到的行動:\n"
+"\n"
+" * 如果找到 Windows 開機扇區的話,它會將其取代為 GRUB/LILO 開機扇區。這樣\n"
+"您就能載入 GNU/Linux 或任何其他安裝在您的機器上的作業系統。\n"
+"\n"
+" * 如果找到 GRUB 或 LILO 開機扇區,它會用一個新的將其取代。\n"
+"\n"
+"如果 DrakX 無法決定該將開機扇區放在哪哩,它會詢問您要將其放置於何處。一般來\n"
+"說,\"%s\" 是最安全的地方。選擇 \"%s\" 將不會安裝任何開機載入程式。只有在\n"
+"您很清楚您在做什麼時才選擇這個選項。"
+
+#: ../help.pm:745
+#, c-format
+msgid ""
+"Now, it's time to select a printing system for your computer. Other\n"
+"operating systems may offer you one, but Mandriva Linux offers two. Each of\n"
+"the printing systems is best suited to particular types of configuration.\n"
+"\n"
+" * \"%s\" -- which is an acronym for ``print, do not queue'', is the choice\n"
+"if you have a direct connection to your printer, you want to be able to\n"
+"panic out of printer jams, and you do not have networked printers. (\"%s\"\n"
+"will handle only very simple network cases and is somewhat slow when used\n"
+"within networks.) It's recommended that you use \"pdq\" if this is your\n"
+"first experience with GNU/Linux.\n"
+"\n"
+" * \"%s\" stands for `` Common Unix Printing System'' and is an excellent\n"
+"choice for printing to your local printer or to one halfway around the\n"
+"planet. It's simple to configure and can act as a server or a client for\n"
+"the ancient \"lpd\" printing system, so it's compatible with older\n"
+"operating systems which may still need print services. While quite\n"
+"powerful, the basic setup is almost as easy as \"pdq\". If you need to\n"
+"emulate a \"lpd\" server, make sure you turn on the \"cups-lpd\" daemon.\n"
+"\"%s\" includes graphical front-ends for printing or choosing printer\n"
+"options and for managing the printer.\n"
+"\n"
+"If you make a choice now, and later find that you do not like your printing\n"
+"system you may change it by running PrinterDrake from the Mandriva Linux\n"
+"Control Center and clicking on the \"%s\" button."
+msgstr ""
+"現在要選擇您的電腦要使用的列印系統. 其他作業系統或許只有提供您一種選擇,\n"
+"但是 Mandriva Linux 這邊提供了兩種選擇. 每一種列印系統是最適合於特別設定型"
+"態.\n"
+"\n"
+" * \"%s\" - 是 ``print, do not queue (列印, 不排隊)'' 之縮寫字, 是當您有一"
+"個\n"
+"直接連線的印表機, 您不想因為卡紙而驚慌, 且您沒有網路印表機. (\"%s\"\n"
+"只將會處理非常簡單的網路條件且當用於網路時有些慢) 如果這是您第一次 GNU/"
+"Linux\n"
+"經驗, 建議您使用\"pdq\".\n"
+"\n"
+" * \"%s\" 是 ``Common Unix Printing System (通用 Unix 列印系統)'', 這是一套\n"
+"對於直接列印到本地端印表機上, 或者是到地球另一端都相當出色的選擇. 它的設定\n"
+"是相當簡單且可以當成古老的 lpd 列印系統的伺服器端或者是用戶端使用, 所以它是\n"
+"相容於需要列印服務比較舊的作業系統。相當強大,基本設定幾乎跟 \"pdq\" 一樣\n"
+"簡單. 如果您希望能夠模擬 \"lpd\" 伺服器, 確定您開啟 \"cups-lpd\" daemon.\n"
+"\"%s\" 提供了圖形的介面前端給列印, 選擇列印的選項, 管理印表機.\n"
+"\n"
+"如果您現在做出決定, 且您之後發現不喜歡您的列印系統, 您可以藉由從\n"
+"Mandriva Linux 控制中心執行 PrinterDrake 點選 \"%s\" 按鍵改變它."
+
+#: ../help.pm:768
+#, c-format
+msgid "pdq"
+msgstr "pdq"
+
+#: ../help.pm:768
+#, c-format
+msgid "Expert"
+msgstr "專家"
+
+#: ../help.pm:771
+#, c-format
+msgid ""
+"DrakX will first detect any IDE devices present in your computer. It will\n"
+"also scan for one or more PCI SCSI cards on your system. If a SCSI card is\n"
+"found, DrakX will automatically install the appropriate driver.\n"
+"\n"
+"Because hardware detection is not foolproof, DrakX may fail in detecting\n"
+"your hard drives. If so, you'll have to specify your hardware by hand.\n"
+"\n"
+"If you had to manually specify your PCI SCSI adapter, DrakX will ask if you\n"
+"want to configure options for it. You should allow DrakX to probe the\n"
+"hardware for the card-specific options which are needed to initialize the\n"
+"adapter. Most of the time, DrakX will get through this step without any\n"
+"issues.\n"
+"\n"
+"If DrakX is not able to probe for the options to automatically determine\n"
+"which parameters need to be passed to the hardware, you'll need to manually\n"
+"configure the driver."
+msgstr ""
+"DrakX 將要偵測您電腦上的 IDE 裝置. 它也會順便掃描您系統上的 PCI\n"
+"SCSI 介面卡. 當偵測到 SCSI 卡時, DrakX 將會自動安裝適當的驅動程式\n"
+"\n"
+"因為也許無法完全的偵測出您的系統是否還有更多的硬體裝置, 所以 DrakX或許會失敗"
+"偵測您的硬碟. 若是這樣, 您必須手動指定您的硬體.\n"
+"\n"
+"如果您必須手動方式指定您的 PCI SCSI 適配器時, DrakX 會詢問您是否要對這個\n"
+"驅動程式設定選項參數. 您應該要允許 DrakX 能夠先自動偵測硬體卡特別的選項參數\n"
+"以需要初始化適配器. 通常, DrakX 將會沒有問題通過這個步驟.\n"
+"\n"
+"若是 DrakX 無法偵測選項以自動決定那個參數需要被送到硬體, 您必須手動設定\n"
+"驅動程式."
+
+#: ../help.pm:789
+#, c-format
+msgid ""
+"\"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver."
+msgstr ""
+"\"%s\": 如果您的系統上有偵測到音效卡,它將會顯示在這裡。如果您發現這並不是\n"
+"目前您的系統使用的音效卡,您可以按下按鈕並選擇另一個驅動程式。"
+
+#: ../help.pm:794
+#, c-format
+msgid ""
+"As a review, DrakX will present a summary of information it has gathered\n"
+"about your system. Depending on the hardware installed on your machine, you\n"
+"may have some or all of the following entries. Each entry is made up of the\n"
+"hardware item to be configured, followed by a quick summary of the current\n"
+"configuration. Click on the corresponding \"%s\" button to make the change.\n"
+"\n"
+" * \"%s\": check the current keyboard map configuration and change it if\n"
+"necessary.\n"
+"\n"
+" * \"%s\": check the current country selection. If you're not in this\n"
+"country, click on the \"%s\" button and choose another. If your country\n"
+"is not in the list shown, click on the \"%s\" button to get the complete\n"
+"country list.\n"
+"\n"
+" * \"%s\": by default, DrakX deduces your time zone based on the country\n"
+"you have chosen. You can click on the \"%s\" button here if this is not\n"
+"correct.\n"
+"\n"
+" * \"%s\": verify the current mouse configuration and click on the button\n"
+"to change it if necessary.\n"
+"\n"
+" * \"%s\": clicking on the \"%s\" button will open the printer\n"
+"configuration wizard. Consult the corresponding chapter of the ``Starter\n"
+"Guide'' for more information on how to set up a new printer. The interface\n"
+"presented in our manual is similar to the one used during installation.\n"
+"\n"
+" * \"%s\": if a sound card is detected on your system, it'll be displayed\n"
+"here. If you notice the sound card is not the one actually present on your\n"
+"system, you can click on the button and choose a different driver.\n"
+"\n"
+" * \"%s\": if you have a TV card, this is where information about its\n"
+"configuration will be displayed. If you have a TV card and it is not\n"
+"detected, click on \"%s\" to try to configure it manually.\n"
+"\n"
+" * \"%s\": you can click on \"%s\" to change the parameters associated with\n"
+"the card if you feel the configuration is wrong.\n"
+"\n"
+" * \"%s\": by default, DrakX configures your graphical interface in\n"
+"\"800x600\" or \"1024x768\" resolution. If that does not suit you, click on\n"
+"\"%s\" to reconfigure your graphical interface.\n"
+"\n"
+" * \"%s\": if you wish to configure your Internet or local network access,\n"
+"you can do so now. Refer to the printed documentation or use the\n"
+"Mandriva Linux Control Center after the installation has finished to "
+"benefit\n"
+"from full in-line help.\n"
+"\n"
+" * \"%s\": allows to configure HTTP and FTP proxy addresses if the machine\n"
+"you're installing on is to be located behind a proxy server.\n"
+"\n"
+" * \"%s\": this entry allows you to redefine the security level as set in a\n"
+"previous step ().\n"
+"\n"
+" * \"%s\": if you plan to connect your machine to the Internet, it's a good\n"
+"idea to protect yourself from intrusions by setting up a firewall. Consult\n"
+"the corresponding section of the ``Starter Guide'' for details about\n"
+"firewall settings.\n"
+"\n"
+" * \"%s\": if you wish to change your bootloader configuration, click this\n"
+"button. This should be reserved to advanced users. Refer to the printed\n"
+"documentation or the in-line help about bootloader configuration in the\n"
+"Mandriva Linux Control Center.\n"
+"\n"
+" * \"%s\": through this entry you can fine tune which services will be run\n"
+"on your machine. If you plan to use this machine as a server it's a good\n"
+"idea to review this setup."
+msgstr ""
+
+#: ../help.pm:858
+#, c-format
+msgid "ISDN card"
+msgstr "ISDN 卡"
+
+#: ../help.pm:858
+#, c-format
+msgid "Graphical Interface"
+msgstr "圖形介面"
+
+#: ../help.pm:861
+#, c-format
+msgid ""
+"Choose the hard drive you want to erase in order to install your new\n"
+"Mandriva Linux partition. Be careful, all data on this drive will be lost\n"
+"and will not be recoverable!"
+msgstr ""
+"選擇您想要抹除的硬碟來安裝新的 Mandriva Linux 分割. 小心,\n"
+"磁碟上全部資料將遺失且將無法挽回!"
+
+#: ../help.pm:866
+#, c-format
+msgid ""
+"Click on \"%s\" if you want to delete all data and partitions present on\n"
+"this hard drive. Be careful, after clicking on \"%s\", you will not be able\n"
+"to recover any data and partitions present on this hard drive, including\n"
+"any Windows data.\n"
+"\n"
+"Click on \"%s\" to quit this operation without losing data and partitions\n"
+"present on this hard drive."
+msgstr ""
+"您如果想要刪除在這個硬碟上的全部資料與分割, 點選 \"%s\".\n"
+"小心, 點選 \"%s\" 之後, 您將無法挽回任何在這個硬碟上的資料與分割, 包含\n"
+"Windows 資料.\n"
+"\n"
+"點選 \"%s\" 以不遺失在這個硬碟上的資料與分割放棄這個動作."
+
+#: ../help.pm:872
+#, c-format
+msgid "Next ->"
+msgstr "下一步 ->"
+
+#: ../help.pm:872
+#, c-format
+msgid "<- Previous"
+msgstr "<- 上一步"
+
diff --git a/perl-install/install/http.pm b/perl-install/install/http.pm
new file mode 100644
index 000000000..52358599a
--- /dev/null
+++ b/perl-install/install/http.pm
@@ -0,0 +1,59 @@
+package install::http; # $Id: http.pm 95737 2006-12-12 15:28:58Z pixel $
+
+use IO::Socket;
+
+my $sock;
+
+
+sub close() {
+ $sock->close if $sock;
+}
+
+sub getFile {
+ my ($url) = @_;
+ my ($_size, $fh) = get_file_and_size($url) or return;
+ $fh;
+}
+sub get_file_and_size {
+ local ($^W) = 0;
+
+ my ($url) = @_;
+ $sock->close if $sock;
+
+ # can be used for ftp urls (with http proxy)
+ my ($host, $port, $path) = $url =~ m,^(?:http|ftp)://([^/:]+)(?::(\d+))?(/\S*)?$,;
+ defined $host or return undef;
+
+ my $use_http_proxy = $ENV{PROXY} && $ENV{PROXYPORT};
+
+ $sock = IO::Socket::INET->new(PeerAddr => $use_http_proxy ? $ENV{PROXY} : $host,
+ PeerPort => $use_http_proxy ? $ENV{PROXYPORT} : $port || 80,
+ Proto => 'tcp',
+ Timeout => 60) or die "can not connect $@";
+ $sock->autoflush;
+ print $sock join("\015\012" =>
+ "GET " . ($use_http_proxy ? $url : $path) . " HTTP/1.0",
+ "Host: $host" . ($port && ":$port"),
+ "User-Agent: DrakX/vivelinuxabaszindozs",
+ "", "");
+
+ #- skip until empty line
+ my $now = 0;
+ my ($last, $buf, $tmp);
+ my $read = sub { sysread($sock, $buf, 1) or die ''; $tmp .= $buf };
+ do {
+ $last = $now;
+ &$read; &$read if $buf =~ /\015/;
+ $now = $buf =~ /\012/;
+ } until $now && $last;
+
+ if ($tmp =~ /^(.*\b(\d+)\b.*)/ && $2 == 200) {
+ my ($size) = $tmp =~ /^Content-Length:\s*(\d+)\015?$/m;
+ $size, $sock;
+ } else {
+ log::l("HTTP error: $1");
+ undef;
+ }
+}
+
+1;
diff --git a/perl-install/install/install2 b/perl-install/install/install2
new file mode 100755
index 000000000..6cf4583aa
--- /dev/null
+++ b/perl-install/install/install2
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+#- PERL_INSTALL_TEST is used to launch stage2 in debug mode
+
+#- Mandrake Graphic Install $Id: install2 26761 2006-04-28 15:47:50Z pixel $
+#- Copyright (C) 1999/2000 Mandrakesoft (pixel@mandrakesoft.com)
+#-
+#- This program is free software; you can redistribute it and/or modify
+#- it under the terms of the GNU General Public License as published by
+#- the Free Software Foundation; either version 2, or (at your option)
+#- any later version.
+#-
+#- This program is distributed in the hope that it will be useful,
+#- but WITHOUT ANY WARRANTY; without even the implied warranty of
+#- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#- GNU General Public License for more details.
+#-
+#- You should have received a copy of the GNU General Public License
+#- along with this program; if not, write to the Free Software
+#- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+use diagnostics;
+use strict;
+
+use lib qw(/usr/lib/libDrakX .);
+use install::install2;
+
+$::testing = $ENV{PERL_INSTALL_TEST};
+$::isStandalone = 0;
+
+install::install2::main(@ARGV);
+
+c::_exit(0);
diff --git a/perl-install/install/install2.pm b/perl-install/install/install2.pm
new file mode 100644
index 000000000..785c2a74c
--- /dev/null
+++ b/perl-install/install/install2.pm
@@ -0,0 +1,661 @@
+package install::install2; # $Id: install2.pm 150268 2007-04-02 09:17:39Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw($o);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::steps_list;
+use common;
+use install::any 'addToBeDone';
+use install::steps;
+use install::any;
+use lang;
+use keyboard;
+use mouse;
+use devices;
+use partition_table;
+use modules;
+use detect_devices;
+use run_program;
+use any;
+use log;
+use fs;
+
+
+#-#######################################################################################
+#-$O
+#-the big struct which contain, well everything (globals + the interactive methods ...)
+#-if you want to do a kickstart file, you just have to add all the required fields (see for example
+#-the variable $default)
+#-#######################################################################################
+$o = $::o = {
+# bootloader => { linear => 0, message => 1, timeout => 5, restricted => 0 },
+#- packages => [ qw() ],
+ partitioning => { clearall => 0, eraseBadPartitions => 0, auto_allocate => 0 }, #-, readonly => 0 },
+ authentication => { md5 => 1, shadow => 1 },
+ locale => { lang => 'en_US' },
+#- isUpgrade => 0,
+ toRemove => [],
+ toSave => [],
+#- simple_themes => 1,
+
+ timezone => {
+#- timezone => "Europe/Paris",
+#- UTC => 1,
+ },
+#- superuser => { password => 'a', shell => '/bin/bash', realname => 'God' },
+#- user => { name => 'foo', password => 'bar', home => '/home/foo', shell => '/bin/bash', realname => 'really, it is foo' },
+
+#- keyboard => 'de',
+#- display => "192.168.1.19:1",
+ steps => \%install::steps_list::installSteps,
+ orderedSteps => \@install::steps_list::orderedInstallSteps,
+
+ #- for the list of fields available, see network/network.pm
+ net => {
+ #- network => { HOSTNAME => 'abcd' },
+ #- resolv => { DOMAINNAME => 'foo.xyz' },
+ #- ifcfg => {
+ #- eth0 => { DEVICE => "eth0", IPADDR => '1.2.3.4', NETMASK => '255.255.255.128' }
+ #- },
+ },
+
+#-step : the current one
+#-prefix
+#-mouse
+#-keyboard
+#-netc
+#-methods
+#-packages compss
+
+};
+
+
+sub installStepsCall {
+ my ($o, $auto, $fun, @args) = @_;
+ $fun = "install::steps::$fun" if $auto;
+ $o->$fun(@args);
+}
+sub getNextStep {
+ my ($o) = @_;
+ find { !$o->{steps}{$_}{done} && $o->{steps}{$_}{reachable} } @{$o->{orderedSteps}};
+}
+
+#-######################################################################################
+#- Steps Functions
+#- each step function are called with two arguments : clicked(because if you are a
+#- beginner you can force the the step) and the entered number
+#-######################################################################################
+
+#------------------------------------------------------------------------------
+sub selectLanguage {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'selectLanguage');
+}
+
+sub acceptLicense {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'acceptLicense');
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'selectMouse');
+
+ addToBeDone { mouse::write($o->do_pkgs, $o->{mouse}) if !$o->{isUpgrade} } 'installPackages';
+}
+
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'setupSCSI');
+}
+
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($auto) = @_;
+
+ my $force;
+ if (my $keyboard = keyboard::read()) {
+ $o->{keyboard} = $keyboard; #- for uprade
+ } elsif ($o->{isUpgrade}) {
+ #- oops, the keyboard config is wrong, forcing prompt and writing
+ $force = 1;
+ }
+
+ installStepsCall($o, $auto, 'selectKeyboard', $force);
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'selectInstallClass');
+
+ if ($o->{isUpgrade}) {
+ @{$o->{orderedSteps}} = uniq(map {
+ $_ eq 'selectInstallClass' ? ($_, 'doPartitionDisks', 'formatPartitions') : $_;
+ } @{$o->{orderedSteps}});
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($auto) = @_;
+ $o->{steps}{formatPartitions}{done} = 0;
+ installStepsCall($o, $auto, 'doPartitionDisksBefore');
+ installStepsCall($o, $auto, 'doPartitionDisks');
+ installStepsCall($o, $auto, 'doPartitionDisksAfter');
+}
+
+sub formatPartitions {
+ my ($auto) = @_;
+
+ $o->{steps}{choosePackages}{done} = 0;
+ installStepsCall($o, $auto, 'choosePartitionsToFormat') if !$o->{isUpgrade} && !$::local_install;
+ my $want_root_formated = fs::get::root($o->{fstab})->{toFormat};
+ if ($want_root_formated) {
+ foreach ('/usr') {
+ my $part = fs::get::mntpoint2part($_, $o->{fstab}) or next;
+ $part->{toFormat} or die N("You must also format %s", $_);
+ }
+ }
+ installStepsCall($o, $auto, 'formatMountPartitions') if !$::testing;
+
+ if ($want_root_formated) {
+ #- we formatted /, ensure /var/lib/rpm is cleaned otherwise bad things can happen
+ #- (especially when /var is *not* formatted)
+ eval { rm_rf("$::prefix/var/lib/rpm") };
+ }
+
+ install::any::create_minimal_files();
+
+ eval { fs::mount::mount('none', "$::prefix/proc", 'proc') };
+ eval { fs::mount::mount('none', "$::prefix/sys", 'sysfs') };
+ eval { fs::mount::usbfs($::prefix) };
+
+ install::any::screenshot_dir__and_move();
+ install::any::move_compressed_image_to_disk($o);
+
+ any::rotate_logs($::prefix);
+
+ if (any { $_->{usb_media_type} && any { $_->{mntpoint} } partition_table::get_normal_parts($_) } @{$o->{all_hds}{hds}}) {
+ log::l("we use a usb-storage based drive, so keep it as a normal scsi_hostadapter");
+ } else {
+ log::l("we do not need usb-storage for booting system, rely on hotplug");
+ #- when usb-storage is in scsi_hostadapter,
+ #- hotplug + scsimon do not load sd_mod/sr_mod when needed
+ #- (eg: when plugging a usb key)
+ $o->{modules_conf}->remove_probeall('scsi_hostadapter', 'usb-storage');
+ }
+
+ require raid;
+ raid::write_conf($o->{all_hds}{raids});
+
+ #- needed by lilo
+ if (-d '/dev/mapper') {
+ my @vgs = map { $_->{VG_name} } @{$o->{all_hds}{lvms}};
+ cp_af("/dev/$_", "$::prefix/dev") foreach 'mapper', @vgs;
+ }
+}
+
+#------------------------------------------------------------------------------
+sub choosePackages {
+ my ($auto) = @_;
+ require install::pkgs;
+
+ #- always setPackages as it may have to copy hdlist and synthesis files.
+ installStepsCall($o, $auto, 'setPackages');
+ installStepsCall($o, $auto, 'choosePackages');
+ my @flags = map_each { if_($::b, $::a) } %{$o->{rpmsrate_flags_chosen}};
+ log::l("rpmsrate_flags_chosen's: ", join(' ', sort @flags));
+
+ #- check pre-condition that basesystem package must be selected.
+ install::pkgs::packageByName($o->{packages}, 'basesystem')->flag_available or die "basesystem package not selected";
+
+ #- check if there are packages that need installation.
+ $o->{steps}{installPackages}{done} = 0 if $o->{steps}{installPackages}{done} && install::pkgs::packagesToInstall($o->{packages}) > 0;
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'beforeInstallPackages');
+ installStepsCall($o, $auto, 'installPackages');
+ installStepsCall($o, $auto, 'afterInstallPackages');
+}
+#------------------------------------------------------------------------------
+sub miscellaneous {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'miscellaneousBefore');
+ installStepsCall($o, $auto, 'miscellaneous');
+ installStepsCall($o, $auto, 'miscellaneousAfter');
+}
+
+#------------------------------------------------------------------------------
+sub summary {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'summaryBefore') if $o->{steps}{summary}{entered} == 1;
+ installStepsCall($o, $auto, 'summary');
+ installStepsCall($o, $auto, 'summaryAfter');
+}
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($auto) = @_;
+ #- get current configuration of network device.
+ require network::network;
+ eval { network::network::read_net_conf($o->{net}) };
+ modules::load_category($o->{modules_conf}, list_modules::ethernet_categories());
+ require network::connection::ethernet;
+ if (!$o->{isUpgrade}) {
+ installStepsCall($o, $auto, 'configureNetwork');
+ } else {
+ network::connection::ethernet::configure_eth_aliases($o->{modules_conf});
+ }
+}
+#------------------------------------------------------------------------------
+sub installUpdates {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'installUpdates') if $o->{meta_class} ne 'firewall';
+}
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'configureServices');
+}
+#------------------------------------------------------------------------------
+sub setRootPassword {
+ my ($auto) = @_;
+ return if $o->{isUpgrade};
+
+ installStepsCall($o, $auto, 'setRootPassword');
+}
+#------------------------------------------------------------------------------
+sub addUser {
+ my ($auto) = @_;
+
+ installStepsCall($o, $auto, 'addUser') if !$o->{isUpgrade};
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloader {
+ my ($auto) = @_;
+ return if $::local_install;
+
+ $o->{modules_conf}->write;
+
+ installStepsCall($o, $auto, 'setupBootloaderBefore');
+ installStepsCall($o, $auto, 'setupBootloader');
+}
+#------------------------------------------------------------------------------
+sub configureX {
+ my ($auto) = @_;
+
+ #- done here and also at the end of install2.pm, just in case...
+ install::any::write_fstab($o);
+ $o->{modules_conf}->write;
+
+ require install::pkgs;
+ installStepsCall($o, $auto, 'configureX') if !$::testing && eval { install::pkgs::packageByName($o->{packages}, 'task-x11')->flag_installed } && !$o->{X}{disabled};
+}
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($auto) = @_;
+ installStepsCall($o, $auto, 'exitInstall', getNextStep($::o) eq 'exitInstall');
+}
+
+
+#-######################################################################################
+#- MAIN
+#-######################################################################################
+sub main {
+#- $SIG{__DIE__} = sub { warn "DIE " . backtrace() . "\n" };
+ $SIG{SEGV} = sub {
+ my $msg = "segmentation fault: seems like memory is missing as the install crashes"; log::l($msg);
+ $o->ask_warn('', $msg);
+ setVirtual(1);
+ require install::steps_auto_install;
+ install::steps_auto_install_non_interactive::errorInStep($o, $msg);
+ };
+ $ENV{PERL_BADLANG} = 1;
+ delete $ENV{TERMINFO};
+ umask 022;
+
+ $::isInstall = 1;
+ $::isWizard = 1;
+ $::no_ugtk_init = 1;
+
+ push @::textdomains, 'DrakX', 'drakx-net', 'drakx-kbd-mouse-x11';
+
+ my ($cfg, $patch, @auto);
+ my %cmdline = map {
+ my ($n, $v) = split /=/;
+ $n => $v || 1;
+ } split ' ', cat_("/proc/cmdline");
+
+ my $opt; foreach (@_) {
+ if (/^--?(.*)/) {
+ $cmdline{$opt} = 1 if $opt;
+ $opt = $1;
+ } else {
+ $cmdline{$opt} = $_ if $opt;
+ $opt = '';
+ }
+ } $cmdline{$opt} = 1 if $opt;
+
+ #- from stage1
+ put_in_hash(\%ENV, { getVarsFromSh('/tmp/env') });
+ exists $ENV{$_} and $cmdline{lc($_)} = $ENV{$_} foreach qw(METHOD PCMCIA KICKSTART);
+
+ map_each {
+ my ($n, $v) = @_;
+ my $f = ${{
+ lang => sub { $o->{locale}{lang} = $v },
+ flang => sub { $o->{locale}{lang} = $v; push @auto, 'selectLanguage' },
+ langs => sub { $o->{locale}{langs} = +{ map { $_ => 1 } split(':', $v) } },
+ method => sub { $o->{method} = $v },
+ pcmcia => sub { $o->{pcmcia} = $v },
+ vga16 => sub { $o->{vga16} = $v },
+ vga => sub { $o->{vga} = $v =~ /0x/ ? hex($v) : $v },
+ step => sub { $o->{steps}{first} = $v },
+ meta_class => sub { $o->{meta_class} = $v },
+ freedriver => sub { $o->{freedriver} = $v },
+ no_bad_drives => sub { $o->{partitioning}{no_bad_drives} = 1 },
+ nodmraid => sub { $o->{partitioning}{nodmraid} = 1 },
+ readonly => sub { $o->{partitioning}{readonly} = $v ne "0" },
+ display => sub { $o->{display} = $v },
+ askdisplay => sub { print "Please enter the X11 display to perform the install on ? "; $o->{display} = chomp_(scalar(<STDIN>)) },
+ security => sub { $o->{security} = $v },
+ noauto => sub { $::noauto = 1 },
+ testing => sub { $::testing = 1 },
+ patch => sub { $patch = 1 },
+ defcfg => sub { $cfg = $v },
+ newt => sub { $o->{interactive} = "curses" },
+ text => sub { $o->{interactive} = "curses" },
+ stdio => sub { $o->{interactive} = "stdio" },
+ kickstart => sub { $::auto_install = $v },
+ local_install => sub { $::local_install = 1 },
+ uml_install => sub { $::uml_install = $::local_install = 1 },
+ auto_install => sub { $::auto_install = $v },
+ simple_themes => sub { $o->{simple_themes} = 1 },
+ theme => sub { $o->{theme} = $v },
+ doc => sub { $o->{doc} = 1 }, #- will be used to know that we're running for the doc team,
+ #- e.g. we want screenshots with a good B&W contrast
+ useless_thing_accepted => sub { $o->{useless_thing_accepted} = 1 },
+ alawindows => sub { $o->{security} = 0; $o->{partitioning}{clearall} = 1; $o->{bootloader}{crushMbr} = 1 },
+ fdisk => sub { $o->{partitioning}{fdisk} = 1 },
+ nomouseprobe => sub { $o->{nomouseprobe} = $v },
+ updatemodules => sub { $o->{updatemodules} = 1 },
+ move => sub { $::move = 1 },
+ globetrotter => sub { $::move = 1; $::globetrotter = 1 },
+ suppl => sub { $o->{supplmedia} = 1 },
+ askmedia => sub { $o->{askmedia} = 1 },
+ }}{lc $n}; &$f if $f;
+ } %cmdline;
+
+ if ($::testing) {
+ $ENV{SHARE_PATH} ||= "/export/install/stage2/live/usr/share";
+ $ENV{SHARE_PATH} = "/usr/share" if !-e $ENV{SHARE_PATH};
+ } else {
+ $ENV{SHARE_PATH} ||= "/usr/share";
+ }
+
+ undef $::auto_install if $cfg;
+
+ $o->{stage2_phys_medium} = install::media::stage2_phys_medium($o->{method});
+
+ log::l("second stage install running (", install::any::drakx_version($o), ")");
+
+ eval { output('/proc/sys/kernel/modprobe', "\n") } if !$::local_install && !$::testing; #- disable kmod
+ eval { fs::mount::mount('none', '/sys', 'sysfs', 1) };
+ eval { touch('/root/non-chrooted-marker.DrakX') }; #- helps distinguishing /root and /mnt/root when we don't know if we are chrooted
+
+ if ($::move) {
+ require move;
+ move::init($o);
+ }
+ if ($::local_install) {
+ push @auto,
+# 'selectLanguage', 'selectKeyboard', 'miscellaneous', 'selectInstallClass',
+ 'doPartitionDisks', 'formatPartitions';
+ fs::mount::usbfs(''); #- do it now so that when_load doesn't do it
+ $o->{nomouseprobe} = 1;
+ $o->{mouse} = mouse::fullname2mouse('Universal|Any PS/2 & USB mice');
+ }
+
+ $o->{prefix} = $::prefix = $::testing ? "/tmp/test-perl-install" : $::move ? "" : "/mnt";
+ mkdir $::prefix, 0755;
+
+ #- make sure we do not pick up any gunk from the outside world
+ my $remote_path = "$::prefix/sbin:$::prefix/bin:$::prefix/usr/sbin:$::prefix/usr/bin:$::prefix/usr/X11R6/bin";
+ $ENV{PATH} = "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin:$remote_path";
+
+ eval { install::any::spawnShell() };
+
+ modules::load_dependencies("/modules/modules.dep");
+ require modules::any_conf;
+ require modules::modules_conf;
+ $o->{modules_conf} = modules::modules_conf::read(modules::any_conf::vnew(), '/tmp/modules.conf');
+ modules::read_already_loaded($o->{modules_conf});
+
+ #- done before auto_install is called to allow the -IP feature on auto_install file name
+ if (-e '/tmp/network') {
+ require network::network;
+ #- get stage1 network configuration if any.
+ log::l('found /tmp/network');
+ add2hash($o->{net}{network} ||= {}, network::network::read_conf('/tmp/network'));
+ if (my ($file) = glob_('/tmp/ifcfg-*')) {
+ log::l("found network config file $file");
+ my $l = network::network::read_interface_conf($file);
+ $o->{net}{ifcfg}{$l->{DEVICE}} ||= $l;
+ }
+ my $dsl_device = find { $_->{BOOTPROTO} eq 'adsl_pppoe' } values %{$o->{net}{ifcfg}};
+ if ($dsl_device) {
+ $o->{net}{type} = 'adsl';
+ $o->{net}{net_interface} = $dsl_device->{DEVICE};
+ $o->{net}{adsl} = {
+ method => 'pppoe',
+ device => $dsl_device->{DEVICE},
+ ethernet_device => $dsl_device->{DEVICE},
+ login => $dsl_device->{USER},
+ password => $dsl_device->{PASS},
+ };
+ %$dsl_device = ();
+ } else {
+ $o->{net}{type} = 'lan';
+ $o->{net}{net_interface} = first(values %{$o->{net}{ifcfg}});
+ }
+ }
+
+ #- done after module dependencies are loaded for "vfat depends on fat"
+ if ($::auto_install) {
+ if ($::auto_install =~ /-IP(\.pl)?$/) {
+ my ($ip) = cat_('/tmp/stage1.log') =~ /configuring device (?!lo)\S+ ip: (\S+)/;
+ my $normalized_ip = join('', map { sprintf "%02X", $_ } split('\.', $ip));
+ $::auto_install =~ s/-IP(\.pl)?$/-$normalized_ip$1/;
+ }
+ require install::steps_auto_install;
+ eval { $o = $::o = install::any::loadO($o, $::auto_install) };
+ if ($@) {
+ if ($o->{useless_thing_accepted}) { #- Pixel's hack to be able to fail through
+ log::l("error using auto_install, continuing");
+ undef $::auto_install;
+ } else {
+ install::steps_auto_install_non_interactive::errorInStep($o, "Error using auto_install\n" . formatError($@));
+ }
+ } else {
+ log::l("auto install config file loaded successfully");
+
+ #- normalize for people not using our special scheme
+ foreach (@{$o->{manualFstab} || []}) {
+ $_->{device} =~ s!^/dev/!!;
+ }
+ }
+ }
+ $o->{interactive} ||= 'gtk' if !$::auto_install;
+
+ if ($o->{interactive} eq "gtk" && availableMemory() < 22 * 1024) {
+ log::l("switching to curses install cuz not enough memory");
+ $o->{interactive} = "curses";
+ }
+
+ if (my ($s) = cat_("/proc/cmdline") =~ /brltty=(\S*)/) {
+ my ($driver, $device, $table) = split(',', $s);
+ $table = "text.$table.tbl" if $table !~ /\.tbl$/;
+ log::l("brltty option $driver $device $table");
+ $o->{brltty} = { driver => $driver, device => $device, table => $table };
+ $o->{interactive} = 'curses';
+ $o->{nomouseprobe} = 1;
+ }
+
+ # perl_checker: require install::steps_gtk
+ # perl_checker: require install::steps_curses
+ # perl_checker: require install::steps_stdio
+ require "install/steps_$o->{interactive}.pm" if $o->{interactive};
+
+ #- needed before accessing floppy (in case of usb floppy)
+ modules::load_category($o->{modules_conf}, 'bus/usb');
+
+ #- oem patch should be read before to still allow patch or defcfg.
+ eval { $o = $::o = install::any::loadO($o, "install/patch-oem.pl"); log::l("successfully read oem patch") };
+ #- patch should be read after defcfg in order to take precedance.
+ eval { $o = $::o = install::any::loadO($o, $cfg); log::l("successfully read default configuration: $cfg") } if $cfg;
+ eval { $o = $::o = install::any::loadO($o, "patch"); log::l("successfully read patch") } if $patch;
+
+ eval { modules::load("af_packet") };
+
+ require harddrake::sound;
+ harddrake::sound::configure_sound_slots($o->{modules_conf});
+
+ #- need to be after oo-izing $o
+ if ($o->{brltty}) {
+ symlink "/tmp/stage2/$_", $_ foreach "/etc/brltty";
+ devices::make($_) foreach $o->{brltty}{device} ? $o->{brltty}{device} : qw(ttyS0 ttyS1);
+ devices::make("vcsa");
+ run_program::run("brltty");
+ }
+
+ #- needed very early for install::steps_gtk
+ if (!$::testing) {
+ eval { $o->{mouse} = mouse::detect($o->{modules_conf}) } if !$o->{mouse} && !$o->{nomouseprobe};
+ mouse::load_modules($o->{mouse});
+ }
+
+ lang::set($o->{locale}) if !$::move;
+
+ # keep the result otherwise monitor-edid does not return good results afterwards
+ eval { any::monitor_full_edid() };
+
+ install::any::start_i810fb();
+
+ $o->{allowFB} = listlength(cat_("/proc/fb"));
+
+ if (!$::move && !$::testing) {
+ my $product_id = cat__(install::any::getFile_($o->{stage2_phys_medium}, "product.id"));
+ log::l('product_id: ' . chomp_($product_id));
+ $o->{product_id} = common::parse_LDAP_namespace_structure($product_id);
+
+ $o->{meta_class} ||= {
+ One => 'desktop',
+ Free => 'download',
+ Powerpack => 'powerpack',
+ Discovery => 'desktop',
+ 'Powerpack+' => 'server',
+ }->{$o->{product_id}{product}} || 'download';
+ }
+
+ log::l("META_CLASS=$o->{meta_class}");
+ $ENV{META_CLASS} = $o->{meta_class}; #- for Ia Ora
+
+ foreach (@auto) {
+ my $s = $o->{steps}{/::(.*)/ ? $1 : $_} or next;
+ $s->{auto} = $s->{hidden} = 1;
+ }
+
+ my $o_;
+ while (1) {
+ $o_ = $::auto_install ?
+ install::steps_auto_install->new($o) :
+ $o->{interactive} eq "stdio" ?
+ install::steps_stdio->new($o) :
+ $o->{interactive} eq "curses" ?
+ install::steps_curses->new($o) :
+ $o->{interactive} eq "gtk" ?
+ install::steps_gtk->new($o) :
+ die "unknown install type";
+ $o_ and last;
+
+ log::l("$o->{interactive} failed, trying again with curses");
+ $o->{interactive} = "curses";
+ require install::steps_curses;
+ }
+ $::o = $o = $o_;
+
+ eval { output('/proc/splash', "verbose\n") } if !$::globetrotter;
+
+ #-the main cycle
+ MAIN: for ($o->{step} = $o->{steps}{first};; $o->{step} = getNextStep($o)) {
+ $o->{steps}{$o->{step}}{entered}++;
+ $o->enteringStep($o->{step});
+ eval {
+ &{$install::install2::{$o->{step}}}($o->{steps}{$o->{step}}{auto});
+ };
+ my $err = $@;
+ $o->kill_action;
+ if ($err) {
+ local $_ = $err;
+ $o->kill_action;
+ if (!/^already displayed/) {
+ eval { $o->errorInStep($_) };
+ $o->{steps}{$o->{step}}{auto} = 0;
+ $err = $@;
+ $err and next;
+ }
+ $o->{step} = $o->{steps}{$o->{step}}{onError};
+ next MAIN unless $o->{steps}{$o->{step}}{reachable}; #- sanity check: avoid a step not reachable on error.
+ redo MAIN;
+ }
+ $o->{steps}{$o->{step}}{done} = 1;
+ $o->leavingStep($o->{step});
+
+ last if $o->{step} eq 'exitInstall';
+ }
+ unlink $install::any::compressed_image_on_disk;
+ install::media::clean_postinstall_rpms();
+ install::media::log_sizes();
+ install::any::remove_advertising();
+ install::any::write_fstab($o);
+ $o->{modules_conf}->write;
+ detect_devices::install_addons($::prefix);
+
+ #- to ensure linuxconf does not cry against those files being in the future
+ foreach ('/etc/modules.conf', '/etc/crontab', '/etc/sysconfig/mouse', '/etc/sysconfig/network', '/etc/X11/fs/config') {
+ my $now = time() - 24 * 60 * 60;
+ utime $now, $now, "$::prefix/$_";
+ }
+ #- make sure failed upgrade will not hurt too much.
+ install::steps::cleanIfFailedUpgrade($o);
+
+ -e "$::prefix/usr/sbin/urpmi.update" or eval { rm_rf("$::prefix/var/lib/urpmi") };
+
+ system("chroot", $::prefix, "bash", "-c", $o->{postInstallBeforeReboot}) if $o->{postInstallBeforeReboot};
+
+ #- copy latest log files
+ eval { cp_af("/tmp/$_", "$::prefix/root/drakx") foreach qw(ddebug.log stage1.log) };
+
+ #- ala pixel? :-) [fpons]
+ common::sync(); common::sync();
+
+ log::l("installation complete, leaving");
+ log::l("files still open by install2: ", readlink($_)) foreach glob_("/proc/self/fd/*");
+ print "\n" x 80 if !$::local_install;
+}
+
+1;
diff --git a/perl-install/install/interactive.pm b/perl-install/install/interactive.pm
new file mode 100644
index 000000000..03498f26e
--- /dev/null
+++ b/perl-install/install/interactive.pm
@@ -0,0 +1,33 @@
+package install::interactive; # $Id: interactive.pm 100281 2006-12-19 17:44:45Z blino $
+
+use diagnostics;
+use strict;
+
+use common;
+use detect_devices;
+use install::steps;
+use log;
+
+
+sub tellAboutProprietaryModules {
+ my ($o) = @_;
+ my @l = detect_devices::probe_name('Bad') or return;
+ $o->ask_warn('', formatAlaTeX(
+N("Some hardware on your computer needs ``proprietary'' drivers to work.
+You can find some information about them at: %s", join(", ", @l))));
+}
+
+sub upNetwork {
+ my ($o, $b_pppAvoided) = @_;
+ my $_w = $o->wait_message('', N("Bringing up the network"));
+ install::steps::upNetwork($o, $b_pppAvoided);
+}
+sub downNetwork {
+ my ($o, $b_pppOnly) = @_;
+ my $_w = $o->wait_message('', N("Bringing down the network"));
+ install::steps::downNetwork($o, $b_pppOnly);
+}
+
+
+
+1;
diff --git a/perl-install/install/media.pm b/perl-install/install/media.pm
new file mode 100644
index 000000000..f9c567df5
--- /dev/null
+++ b/perl-install/install/media.pm
@@ -0,0 +1,1007 @@
+package install::media; # $Id: media.pm 149220 2007-03-27 15:12:48Z pixel $
+
+use strict;
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(getFile_ getAndSaveFile_ getAndSaveFile_media_info packageMedium);
+
+use common;
+use fs::type;
+
+
+#- list of fields for {phys_medium} :
+#- device
+#- finalpath
+#- from_iso
+#- fs_type
+#- is_suppl (is a supplementary media)
+#- isMounted
+#- loopback_device
+#- loopback_file
+#- method
+#- mntpoint
+#- name (text description, same as first medium {name})
+#- real_mntpoint
+#- rel_path (for isofiles and cdrom)
+#- url
+
+#- list of fields for {mediums} :
+#- end (last rpm id, undefined iff not selected)
+#- fakemedium ("$name ($rpmsdir)", used locally by urpmi)
+#- hdlist
+#- hdlist_size
+#- key_ids (hashref, values are key ids)
+#- name (text description)
+#- pubkey (array containing all the keys to import)
+#- phys_medium
+#- rpmsdir
+#- selected
+#- size (in MB)
+#- start (first rpm id, undefined iff not selected)
+#- synthesis_hdlist_size
+#- update (for install_urpmi)
+
+
+our $postinstall_rpms = '';
+my %mounted_media;
+
+sub free_medium_id {
+ my ($mediums) = @_;
+ int(@$mediums);
+}
+
+sub allMediums {
+ my ($packages) = @_;
+
+ @{$packages->{mediums}};
+}
+
+sub phys_media {
+ my ($packages) = @_;
+
+ uniq(map { $_->{phys_medium} } @{$packages->{mediums}});
+}
+
+sub pkg2media {
+ my ($mediums, $p) = @_;
+ $p or internal_error("invalid package");
+
+ find {
+ $_->{selected} &&
+ $p->id >= $_->{start} && $p->id <= $_->{end};
+ } @$mediums;
+}
+
+sub packageMedium {
+ my ($packages, $p) = @_;
+
+ pkg2media($packages->{mediums}, $p) || {};
+}
+sub packagesOfMedium {
+ my ($packages, $medium) = @_;
+
+ @{$packages->{depslist}}[$medium->{start} .. $medium->{end}];
+}
+
+sub first_medium {
+ my ($packages) = @_;
+ $packages->{mediums}[0];
+}
+
+sub path {
+ my ($phys_m, $f) = @_;
+
+ ($phys_m->{real_mntpoint} || fs::get::mntpoint_prefixed($phys_m)) . $phys_m->{rel_path} . '/' . $f;
+}
+
+sub rel_rpm_file {
+ my ($medium, $f) = @_;
+ if (my ($arch) = $f =~ m|\.([^\.]*)\.rpm$|) {
+ $f = "$medium->{rpmsdir}/$f";
+ $f =~ s/%{ARCH}/$arch/g;
+ $f =~ s,^/+,,g;
+ }
+ $f;
+}
+
+sub umount_phys_medium {
+ my ($phys_m) = @_;
+
+ my $ok = eval {
+ fs::mount::umount_part($phys_m);
+ delete $phys_m->{real_mntpoint}; #- next time, we can mount it in the dest dir
+ 1;
+ };
+ if ($@) {
+ log::l("umount phys_medium $phys_m->{url} failed ($@)");
+ log::l("files still open: ", readlink($_)) foreach map { glob_("$_/fd/*") } glob_("/proc/*");
+ }
+ $ok;
+}
+sub mount_phys_medium {
+ my ($phys_m, $o_rel_file, $b_force_change) = @_;
+
+ if (!$b_force_change) {
+ eval { fs::mount::part($phys_m) };
+ return if $@;
+ }
+ my $ok = !$o_rel_file || -e path($phys_m, $o_rel_file);
+
+ if ($phys_m->{method} eq 'cdrom' && ($b_force_change || !$ok)) {
+ $ok = $::o->ask_change_cd($phys_m, $o_rel_file);
+ }
+ $ok;
+}
+
+sub umount_media {
+ my ($packages) = @_;
+
+ #- we don't bother umounting first phys medium if clp is not on disk
+ #- (this is mainly for nfs installs using install/stage2/live)
+ my @l = phys_media($packages);
+ shift @l if !$install::any::compressed_image_on_disk && $l[0]{is_stage2_phys_medium};
+
+ umount_phys_medium($_) foreach @l;
+ umount_phys_medium($_) foreach grep { $_ } map { $_->{loopback_device} } @l;
+}
+
+sub url_respect_privacy {
+ my ($url) = @_;
+
+ $url =~ s!ftp://.*?\@!ftp://xxx@!;
+ $url;
+}
+sub phys_medium_to_string {
+ my ($phys_m) = @_;
+ url_respect_privacy($phys_m->{url}) . ($phys_m->{name} ? " ($phys_m->{name})" : '');
+}
+
+sub stage2_mounted_medium {
+ my ($method, $rel_path) = @_;
+
+ my ($device, $real_mntpoint, $fs_type, $url);
+ if ($method eq 'nfs') {
+ (my $server, my $nfs_path, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!(\S+):(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $device = "$server:$nfs_path";
+ $url = "nfs://$server$nfs_path$rel_path";
+ } elsif ($method eq 'disk') {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!/dev/(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "disk://$device$rel_path";
+ } elsif ($method eq 'cdrom') {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!/dev/(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "cdrom:/" . ($rel_path || '/');
+ } else {
+ ($device, $real_mntpoint, $fs_type) = cat_("/proc/mounts") =~ m!(?:/dev/)?(\S+)\s+(/tmp/media)\s+(\S+)!;
+ $url = "file:/" . ($rel_path || '/');
+ }
+ $real_mntpoint or internal_error("no real_mntpoint");
+ +{
+ method => $method, rel_path => $rel_path, isMounted => 1,
+ device => $device, url => $url,
+ real_mntpoint => $real_mntpoint, fs_type => $fs_type,
+ };
+}
+
+#- used once at beginning of install
+sub stage2_phys_medium {
+ my ($method) = @_;
+
+ if ($method eq 'ftp' && !$ENV{URLPREFIX}) {
+ my $user = $ENV{LOGIN} && ($ENV{LOGIN} . ($ENV{PASSWORD} && ":$ENV{PASSWORD}") . '@');
+ $ENV{URLPREFIX} = "ftp://$user$ENV{HOST}/$ENV{PREFIX}";
+ }
+ if ($method eq 'http' || $method eq 'ftp') {
+ { method => $method, url => $ENV{URLPREFIX} };
+ } elsif ($method =~ /(.*)-iso$/) {
+ my $dir_method = $1;
+ my $rel_path = readlink('/tmp/image') =~ m!loop/*(/.*)! ? $1 : '';
+
+ my $rel_iso = $ENV{ISOPATH} =~ m!media/*(/.*)! ? $1 : '';
+ my ($dir_url, $iso) = (dirname($rel_iso), basename($rel_iso));
+
+ my $dir_medium = stage2_mounted_medium($dir_method, $dir_url eq '/' ? '' : $dir_url);
+ my $phys_m = iso_phys_media($dir_medium, $iso, '');
+ $phys_m->{real_mntpoint} = '/tmp/loop';
+ $phys_m->{real_device} = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+/tmp/loop\s! && $1;
+ $phys_m->{isMounted} = 1;
+ $phys_m->{rel_path} = $rel_path;
+ $phys_m;
+ } else {
+ my $rel_path = readlink('/tmp/image') =~ m!media/*(/.*)! ? $1 : '';
+ stage2_mounted_medium($method, $rel_path);
+ }
+}
+
+#- return true if the medium is available
+#- ($o_rel_file is only used for removable media)
+sub change_phys_medium {
+ my ($phys_m, $o_rel_file, $o_packages) = @_;
+
+ undef $o_rel_file if $phys_m->{unknown_CD}; #- don't take into account the wanted file
+
+ log::l("change_phys_medium " . phys_medium_to_string($phys_m) .
+ ($o_rel_file ? " for file $o_rel_file" : ''));
+
+ !$phys_m->{isMounted} && $phys_m->{mntpoint} or return 1; #- nothing to do in such case.
+
+ #- if a cdrom was mounted and we want another one, do not try to mount cdrom just after umounting it
+ my $force_change = $phys_m->{method} eq 'cdrom' && $mounted_media{cdrom};
+
+ if (my $current = $mounted_media{$phys_m->{method}}) {
+ setup_postinstall_rpms($::o, $o_packages, $current) if $o_packages && $phys_m->{method} eq 'cdrom' && $::o->isa('interactive');
+ umount_phys_medium($current) or return;
+ delete $mounted_media{$phys_m->{method}};
+ }
+ mount_phys_medium($phys_m, $o_rel_file, $force_change) or return;
+ phys_medium_is_mounted($phys_m);
+ 1;
+}
+
+sub phys_medium_is_mounted {
+ my ($phys_m) = @_;
+ if (member($phys_m->{method}, 'cdrom', 'iso')) {
+ #- we can't have more than one cdrom mounted at once
+ #- we limit the number of iso files mounted at once
+ $mounted_media{$phys_m->{method}} = $phys_m;
+ }
+}
+
+sub associate_phys_media {
+ my ($all_hds, $main_phys_medium, $hdlists) = @_;
+
+ my ($main_name, @other_names) = uniq(map { $_->{name} } @$hdlists);
+
+ my @other_phys_media =
+ $main_phys_medium->{method} eq 'iso' ?
+ get_phys_media_iso($all_hds, $main_phys_medium, \@other_names) :
+ $main_phys_medium->{method} eq 'cdrom' ?
+ (map { get_phys_media_cdrom($main_phys_medium, $_) } @other_names) :
+ ();
+
+ if (@other_phys_media) {
+ $main_phys_medium->{name} = $main_name;
+
+ my @phys_media = ($main_phys_medium, @other_phys_media);
+
+ foreach my $medium (@$hdlists) {
+ if (my $phys_m = find { $_->{name} eq $medium->{name} } @phys_media) {
+ $medium->{phys_medium} = $phys_m;
+ } else {
+ $medium->{selected} = 0;
+ log::l("deselecting missing medium $medium->{rpmsdir}");
+ }
+ }
+ } else {
+ foreach my $medium (@$hdlists) {
+ $medium->{phys_medium} = $main_phys_medium;
+ }
+ }
+}
+
+sub get_phys_media_cdrom {
+ my ($main_phys_m, $name) = @_;
+
+ #- exactly the same as $main_phys_m, but for {name}, {isMounted} and {real_mntpoint}
+ +{ %$main_phys_m, name => $name, isMounted => 0, real_mntpoint => undef };
+}
+
+sub iso_phys_media {
+ my ($dir_medium, $iso, $rel_path) = @_;
+
+ my $mntpoint = "/mnt/$iso";
+ $mntpoint =~ s/\.iso$//; #- make the mount point a little nicer
+
+ my $rel_file = $dir_medium->{rel_path} . "/$iso";
+
+ +{
+ url => $dir_medium->{url} . "/$iso", #- only used for printing
+ method => 'iso',
+ fs_type => 'iso9660', options => 'noauto,loop',
+ loopback_device => $dir_medium, loopback_file => $rel_file,
+ device => ($dir_medium->{real_mntpoint} || $::prefix . $dir_medium->{mntpoint}) . $rel_file,
+ mntpoint => $mntpoint, rel_path => $rel_path,
+ };
+}
+sub get_phys_media_iso {
+ my ($all_hds, $main_phys_m, $names) = @_;
+
+ my @ISOs = grep { member($_->{app_id}, @$names) } look_for_ISO_images($main_phys_m->{device});
+
+ map {
+ my $m = iso_phys_media($main_phys_m->{loopback_device}, $_->{file}, $main_phys_m->{rel_path});
+ $m->{name} = $_->{app_id};
+ push @{$all_hds->{loopbacks}}, $m;
+ $m;
+ } @ISOs;
+}
+sub look_for_ISO_images {
+ my ($main_iso) = @_;
+
+ my $iso_dir = dirname($main_iso);
+
+ my @media = map {
+ if (sysopen(my $F, "$iso_dir/$_", 0)) {
+ my ($vol_id, $app_id) = c::get_iso_volume_ids(fileno $F);
+ #- the ISO volume names must end in -Disc\d+ if they belong (!) to a set
+ #- otherwise use the full volume name as CD set identifier
+ my $cd_set = $vol_id =~ /^(.*)-disc\d+$/i ? $1 : $vol_id;
+
+ log::l("found ISO: file=$_ cd_set=$cd_set app_id=$app_id");
+ { cd_set => $cd_set, app_id => $app_id, file => $_ };
+ } else {
+ ();
+ }
+ } grep { /\.iso$/ } all($iso_dir);
+
+ my $main = find { basename($main_iso) eq $_->{file} } @media or return;
+
+ grep { $_->{cd_set} eq $main->{cd_set} } @media;
+}
+
+
+sub getFile_media_info {
+ my ($packages, $f) = @_;
+ getFile_(first_medium($packages)->{phys_medium}, $f);
+}
+
+sub open_file_and_size {
+ my ($f) = @_;
+ my $size = -s $f;
+ my $fh = common::open_file($f) or return;
+ $size, $fh;
+}
+sub getFile_ {
+ my ($phys_m, $f) = @_;
+ log::l("getFile $f on " . phys_medium_to_string($phys_m) . "");
+
+ my ($_size, $fh) = get_file_and_size($phys_m, $f) or return;
+ $fh;
+}
+sub get_file_and_size {
+ my ($phys_m, $f) = @_;
+
+ if ($f =~ m|^http://|) {
+ require install::http;
+ install::http::get_file_and_size($f);
+ } elsif ($phys_m->{method} eq "ftp") {
+ require install::ftp;
+ install::ftp::get_file_and_size($f, $phys_m->{url});
+ } elsif ($phys_m->{method} eq "http") {
+ require install::http;
+ install::http::get_file_and_size("$phys_m->{url}/$f");
+ } elsif ($f =~ m!^/!) {
+ open_file_and_size($f);
+ } elsif ($postinstall_rpms && -e "$postinstall_rpms/$f") {
+ open_file_and_size("$postinstall_rpms/$f");
+ } else {
+ my $f2 = path($phys_m, $f);
+
+ if (! -f $f2) {
+ change_phys_medium($phys_m, $f);
+ }
+ open_file_and_size($f2);
+ }
+}
+
+sub getAndSaveFile_ {
+ my ($phys_m, $file, $local) = @_;
+ my $fh = getFile_($phys_m, $file) or return;
+ getAndSaveFile_raw($fh, $local);
+}
+sub getAndSaveFile_progress {
+ my ($in_wait, $msg, $phys_m, $file, $local) = @_;
+ my ($size, $fh) = get_file_and_size($phys_m, $file) or return;
+ if ($size) {
+ getAndSaveFile_progress_raw($in_wait, $msg, $size, $fh, $local);
+ } else {
+ getAndSaveFile_raw($fh, $local);
+ }
+}
+sub getAndSaveFile_raw {
+ my ($fh, $local) = @_;
+
+ local $/ = \ (16 * 1024);
+ unlink $local;
+ open(my $F, ">$local") or log::l("getAndSaveFile(opening $local): $!"), return;
+ local $_;
+ while (<$fh>) { syswrite($F, $_) or unlink($local), die("getAndSaveFile($local): $!") }
+ 1;
+}
+sub getAndSaveFile_progress_raw {
+ my ($in_wait, $msg, $size, $fh, $local) = @_;
+
+ unlink $local;
+ open(my $out, ">$local") or log::l("getAndSaveFile(opening $local): $!"), return;
+ print_with_progress($in_wait, $msg, $size, $fh, $out) or unlink($local), die("getAndSaveFile($local): $!");
+}
+sub print_with_progress {
+ my ($in_wait, $msg, $size, $in, $out) = @_;
+
+ my ($_wait, $wait_message) = $in_wait->wait_message_with_progress_bar(N("Please wait"));
+ $wait_message->($msg);
+
+ my $current = 0;
+
+ require Time::HiRes;
+ my $time = Time::HiRes::time();
+
+ local $/ = \ (64 * 1024);
+ while (my $s = <$in>) {
+ syswrite($out, $s) or return;
+
+ $current += length($s);
+ if (Time::HiRes::time() > $time + 0.1) {
+ $wait_message->('', $current, $size);
+ $time = Time::HiRes::time();
+ }
+ }
+ 1;
+}
+
+
+sub urpmidir() {
+ my $v = "$::prefix/var/lib/urpmi";
+ -l $v && !-e $v and unlink $v and mkdir $v, 0755; #- dangling symlink
+ -w $v ? $v : '/tmp';
+}
+
+sub hdlist_on_disk {
+ my ($m) = @_;
+
+ urpmidir() . "/hdlist.$m->{fakemedium}.cz";
+}
+
+sub allow_copy_rpms_on_disk {
+ my ($medium, $hdlists) = @_;
+
+ $medium->{device} && $medium->{method} ne 'iso' or return;
+
+ #- check available size for copying rpms from infos in media.cfg file
+ my $totalsize = sum(map { $_->{size} } @$hdlists) || -1; #- don't check size, total medium size unknown
+
+ if ($totalsize >= 0) {
+ my $availvar = install::any::getAvailableSpace_mounted("$::prefix/var");
+ $availvar /= 1024 * 1024; #- Mo
+ log::l("totalsize=$totalsize, avail on $::prefix/var=$availvar");
+ $totalsize < $availvar * 0.6;
+ } else {
+ #- we hope it will fit...
+ 1;
+ }
+}
+
+sub parse_media_cfg {
+ my ($cfg) = @_;
+
+ require MDV::Distribconf;
+ my $d = MDV::Distribconf->new('', undef);
+ $d->parse_mediacfg($cfg);
+
+ my $distribconf = { map { $_ => $d->getvalue(undef, $_) } 'suppl', 'askmedia' };
+ my @hdlists = map {
+ my ($size) = $d->getvalue($_, 'size') =~ /(\d+)MB?/i;
+ {
+ rpmsdir => $_,
+ hdlist => $d->getvalue($_, 'hdlist'),
+ name => $d->getvalue($_, 'name'),
+ size => $size,
+ selected => !$d->getvalue($_, 'noauto'),
+ update => $d->getvalue($_, 'updates_for') ? 1 : undef,
+ };
+ } $d->listmedia;
+
+ $distribconf, \@hdlists;
+}
+
+sub parse_hdlists {
+ my ($cfg) = @_;
+
+ my (%main_options, @hdlists);
+ foreach (cat_($cfg)) {
+ chomp;
+ s/\s*#.*$//;
+ /^\s*$/ and next;
+ #- we'll ask afterwards for supplementary CDs, if the hdlists file contains
+ #- a line that begins with "suppl"
+ if (/^suppl/) { $main_options{suppl} = 1; next }
+ #- if the hdlists contains a line "askmedia", deletion of media found
+ #- in this hdlist is allowed
+ if (/^askmedia/) { $main_options{askmedia} = 1; next }
+ my ($noauto, $hdlist, $rpmsdir, $name, $size) = m!^\s*(noauto:)?(hdlist\S*\.cz)\s+[^/]*/(\S+)\s*([^(]*)(?:\((.+)\))?$!
+ or die qq(invalid hdlist description "$_" in hdlists file);
+ $name =~ s/\s+$//;
+ $size =~ s/MB?$//i;
+ push @hdlists, { hdlist => $hdlist, rpmsdir => $rpmsdir, name => $name, selected => !$noauto, size => $size };
+ }
+ (\%main_options, \@hdlists);
+}
+
+sub get_media {
+ my ($o, $media, $packages) = @_;
+
+ my ($suppl_CDs, $copy_rpms_on_disk);
+ foreach (@$media) {
+ if ($_->{type} eq 'media_cfg') {
+ my $phys_m = url2mounted_phys_medium($o, $_->{url}, 'media_info');
+ ($suppl_CDs, $copy_rpms_on_disk) = get_media_cfg($o, $phys_m, $packages, $_->{selected_names}, $_->{force_rpmsrate});
+ } elsif ($_->{type} eq 'media') {
+ my $phys_m = url2mounted_phys_medium($o, $_->{url});
+ get_standalone_medium($o, $phys_m, $packages, { name => $_->{id} =~ /media=(.*)/ && $1 });
+ } elsif ($_->{type} eq 'media_cfg_isos') {
+ my ($dir_url, $iso, $rel_path) = $_->{url} =~ m!(.*)/(.*\.iso):(/.*)!;
+ my $dir_medium = url2mounted_phys_medium($o, $dir_url);
+ $dir_medium->{options} =~ s/\bnoauto\b,?//;
+ my $phys_m = iso_phys_media($dir_medium, $iso, $rel_path);
+ push @{$o->{all_hds}{loopbacks}}, $phys_m;
+ ($suppl_CDs, $copy_rpms_on_disk) = get_media_cfg($o, $phys_m, $packages, $_->{selected_names}, $_->{force_rpmsrate});
+ } else {
+ log::l("unknown media type $_->{type}, skipping");
+ }
+ }
+ log::l("suppl_CDs=$suppl_CDs copy_rpms_on_disk=$copy_rpms_on_disk");
+ $suppl_CDs, $copy_rpms_on_disk;
+}
+
+sub remove_from_fstab {
+ my ($all_hds, $phys_m) = @_;
+
+ @{$all_hds->{nfss}} = grep { $_ != $phys_m } @{$all_hds->{nfss}} if $phys_m->{method} eq 'nfs';
+}
+
+sub find_and_add_to_fstab {
+ my ($all_hds, $phys_m, $b_force_mount) = @_;
+
+ if (my $existant = find { $_->{device} eq $phys_m->{device} } fs::get::really_all_fstab($all_hds)) {
+ add2hash($existant, $phys_m);
+ $phys_m = $existant;
+ } else {
+ push @{$all_hds->{nfss}}, $phys_m if $phys_m->{method} eq 'nfs';
+ push @{$all_hds->{loopbacks}}, $phys_m if isLoopback($phys_m);
+ }
+
+ if (!$phys_m->{mntpoint}) {
+ my @suggestions = $phys_m->{method} eq 'nfs' ? do {
+ my ($server) = $phys_m->{device} =~ /(.*?):/;
+ $phys_m->{options} = ($b_force_mount ? '' : 'noauto,') . 'ro,nosuid,soft,rsize=8192,wsize=8192';
+ '/mnt/nfs', "/mnt/nfs_$server";
+ } : $phys_m->{method} eq 'cdrom' ?
+ ('/media/cdrom', "/media/$phys_m->{device}") :
+ ('/mnt/hd', "/mnt/$phys_m->{device}");
+
+ my $last = $suggestions[-1];
+ push @suggestions, map { "$last$_" } 2 .. 30;
+ $phys_m->{mntpoint} = find { !fs::get::has_mntpoint($_, $all_hds) } @suggestions or internal_error("no free dir available");
+ }
+ $phys_m;
+}
+
+sub url2mounted_phys_medium {
+ my ($o, $url, $o_rel_file, $o_name) = @_;
+
+ my $phys_m = url2phys_medium($o, $url);
+ $phys_m->{name} = $o_name if $o_name; #- useful for CDs which prompts a name in change_phys_medium
+ change_phys_medium($phys_m, $o_rel_file) or return;
+ $phys_m;
+}
+
+sub url2phys_medium {
+ my ($o, $url) = @_;
+ my ($method, $path) = $url =~ m!([^:]*)://(.*)! or internal_error("bad url $url");
+ if ($method eq 'drakx') {
+ my $m = { %{$o->{stage2_phys_medium}}, is_stage2_phys_medium => 1 };
+ if ($m->{loopback_device}) {
+ $m->{loopback_device} = find_and_add_to_fstab($o->{all_hds}, $m->{loopback_device}, 'force_mount');
+ }
+ $m->{url} .= "/$path";
+ $m->{rel_path} .= "/$path" if $m->{device};
+ $m = find_and_add_to_fstab($o->{all_hds}, $m) if $m->{device};
+ phys_medium_is_mounted($m);
+ $m;
+ } elsif ($method eq 'cdrom') {
+ my $cdrom = first(detect_devices::cdroms());
+ my $m = {
+ url => $url, method => $method, fs_type => 'iso9660', device => $cdrom->{device},
+ rel_path => "/$path",
+ };
+ my $m_ = find_and_add_to_fstab($o->{all_hds}, $m);
+ if ($m_->{name}) {
+ #- we need a new phys medium, different from current CD
+ $m_ = get_phys_media_cdrom($m_, '');
+ #- we also need to enforce what we want, especially rel_path
+ put_in_hash($m_, $m);
+ }
+ $m_;
+ } elsif ($method eq 'nfs') {
+ my ($server, $nfs_dir) = $path =~ m!(.*?)(/.*)!;
+
+ my $m = {
+ url => $url, method => $method,
+ fs_type => 'nfs', device => "$server:$nfs_dir", faked_device => 1,
+ };
+ find_and_add_to_fstab($o->{all_hds}, $m);
+ } else {
+ { url => $url, method => $method };
+ }
+}
+
+sub get_media_cfg {
+ my ($o, $phys_medium, $packages, $selected_names, $force_rpmsrate) = @_;
+
+ my ($distribconf, $hdlists);
+ if (getAndSaveFile_($phys_medium, 'media_info/media.cfg', '/tmp/media.cfg')) {
+ ($distribconf, $hdlists) = parse_media_cfg('/tmp/media.cfg');
+ } else {
+ getAndSaveFile_($phys_medium, 'media_info/hdlists', '/tmp/hdlists')
+ or die "media.cfg not found";
+ ($distribconf, $hdlists) = parse_hdlists('/tmp/hdlists');
+ }
+
+ if (defined $selected_names) {
+ my @names = split ',', $selected_names;
+ foreach my $h (@$hdlists) {
+ $h->{selected} = member($h->{name}, @names);
+ }
+ }
+
+ my $suppl_CDs = $distribconf->{suppl} || $o->{supplmedia} || 0;
+ my $deselectionAllowed = $distribconf->{askmedia} || $o->{askmedia} || 0;
+
+ associate_phys_media($o->{all_hds}, $phys_medium, $hdlists);
+
+ if ($deselectionAllowed && !@{$packages->{mediums}}) {
+ my $allow = allow_copy_rpms_on_disk($phys_medium, $hdlists);
+ $o->ask_deselect_media__copy_on_disk($hdlists, $allow && \$o->{copy_rpms_on_disk}) if $allow || @$hdlists > 1;
+ }
+
+ foreach my $h (@$hdlists) {
+ get_medium($o, $phys_medium, $packages, $h);
+ }
+
+ log::l("get_media_cfg read " . int(@{$packages->{depslist}}) . " headers");
+
+
+ #- copy latest compssUsers.pl and rpmsrate somewhere locally
+ if ($force_rpmsrate || ! -e '/tmp/rpmsrate') {
+ getAndSaveFile_($phys_medium, "media_info/compssUsers.pl", "/tmp/compssUsers.pl");
+ getAndSaveFile_($phys_medium, "media_info/rpmsrate", "/tmp/rpmsrate");
+ }
+
+
+ $suppl_CDs, $o->{copy_rpms_on_disk};
+}
+
+sub get_standalone_medium {
+ my ($in, $phys_m, $packages, $m) = @_;
+
+ add2hash($m, { phys_medium => $phys_m, selected => 1, hdlist => 'hdlist.cz' });
+ get_medium($in, $phys_m, $packages, $m);
+}
+
+sub get_medium {
+ my ($in_wait, $phys_m, $packages, $m) = @_;
+
+ $m->{selected} or log::l("ignoring packages in $m->{hdlist}"), return;
+
+ my $medium_id = int @{$packages->{mediums}};
+ $m->{fakemedium} = $m->{name} || $phys_m->{method};
+ if (find { $m->{fakemedium} eq $_->{fakemedium} } allMediums($packages)) {
+ $m->{fakemedium} .= " (" . ($m->{rpmsdir} || $medium_id) . ")";
+ }
+ $m->{fakemedium} =~ s!/!_!g; #- remove "/" from name and rpmsdir
+
+ log::l("trying to read $m->{hdlist} for medium '$m->{fakemedium}'");
+
+ #- copy hdlist file directly to urpmi directory, this will be used
+ #- for getting header of package during installation or after by urpmi.
+ my $hdlist = hdlist_on_disk($m);
+ {
+ getAndSaveFile_progress($in_wait, N("Downloading file %s...", $m->{hdlist}),
+ $phys_m, "media_info/$m->{hdlist}", $hdlist) or die "no $m->{hdlist} found";
+
+ $m->{hdlist_size} = -s $hdlist; #- keep track of size for post-check.
+ }
+
+ my $synthesis = urpmidir() . "/synthesis.hdlist.$m->{fakemedium}.cz";
+ {
+ #- copy existing synthesis file too.
+ getAndSaveFile_progress($in_wait, N("Downloading file %s...", "synthesis.$m->{hdlist}"),
+ $phys_m, "media_info/synthesis.$m->{hdlist}", $synthesis);
+ $m->{synthesis_hdlist_size} = -s $synthesis; #- keep track of size for post-check.
+ }
+
+ #- get all keys corresponding in the right pubkey file,
+ #- they will be added in rpmdb later if not found.
+ if (!$m->{pubkey}) {
+ if (my $pubkey = getFile_($phys_m, "media_info/pubkey" . ($m->{hdlist} =~ /hdlist(\S*)\.cz/ && $1))) {
+ $m->{pubkey} = [ $packages->parse_armored_file($pubkey) ];
+ }
+ }
+ $m->{pubkey} ||= [];
+
+ #- for standalone medium not using media.cfg
+ $phys_m->{name} ||= $m->{name};
+
+ #- integrate medium in media list, only here to avoid download error (update) to be propagated.
+ push @{$packages->{mediums}}, $m;
+
+ #- parse synthesis (if available) of directly hdlist (with packing).
+ {
+ my $nb_suppl_pkg_skipped = 0;
+ my $callback = sub {
+ my (undef, $p) = @_;
+ my $uniq_pkg_seen = $packages->{uniq_pkg_seen} ||= {};
+ if ($uniq_pkg_seen->{$p->fullname}++) {
+ log::l("skipping " . scalar $p->fullname);
+ ++$nb_suppl_pkg_skipped;
+ return 0;
+ } else {
+ return 1;
+ }
+ };
+ my $error;
+ if (-s $synthesis) {
+ ($m->{start}, $m->{end}) = $packages->parse_synthesis($synthesis, callback => $callback)
+ or $error = "bad synthesis $synthesis for $m->{fakemedium}";
+ } elsif (-s $hdlist) {
+ ($m->{start}, $m->{end}) = $packages->parse_hdlist($hdlist, callback => $callback)
+ or $error = "bad hdlist $hdlist for $m->{fakemedium}";
+ } else {
+ $error = "fatal: no hdlist nor synthesis to read for $m->{fakemedium}";
+ }
+
+ if ($error) {
+ pop @{$packages->{mediums}};
+ unlink $hdlist, $synthesis;
+ die $error;
+ } else {
+ log::l("medium " . phys_medium_to_string($phys_m) . ", read " . ($m->{end} - $m->{start} + 1) . " packages in $m->{hdlist}, $nb_suppl_pkg_skipped skipped");
+ }
+ }
+}
+
+
+
+#-######################################################################################
+#- Post installation RPMS from cdrom only, functions
+#-######################################################################################
+sub setup_postinstall_rpms {
+ my ($in, $packages, $current_phys_m) = @_;
+
+ $postinstall_rpms and return;
+ $postinstall_rpms = "$::prefix/usr/postinstall-rpm";
+
+ log::l("postinstall rpms directory set to $postinstall_rpms");
+ clean_postinstall_rpms(); #- make sure in case of previous upgrade problem.
+
+ my @toCopy;
+ {
+ #- compute closure of package that may be copied, use INSTALL category
+ #- in rpmsrate.
+ @toCopy = install::pkgs::select_by_package_names($packages, $packages->{needToCopy} || []);
+ log::l("needToCopy the following packages: " . join(' ', map { $_->name } @toCopy));
+ $packages->disable_selected($packages->{rpmdb}, $packages->{state}, @toCopy);
+ delete $packages->{rpmdb};
+ }
+
+ my $medium = find { $_->{phys_medium} == $current_phys_m } allMediums($packages);
+
+ my @l = map { path($current_phys_m, "$medium->{rpmsdir}/" . $_->filename) } @toCopy;
+
+ my ($l, $missing) = partition { -r $_ } @l;
+
+ @$missing and log::l("rpms not available: " . join(' ', @$missing));
+
+ #- copy the package files in the postinstall RPMS directory.
+ #- cp_af does not handle correctly a missing file.
+ mkdir_p("$postinstall_rpms/$medium->{rpmsdir}");
+ eval {
+ my ($_w, $wait_message) = $in->wait_message_with_progress_bar;
+ $wait_message->(N("Copying some packages on disks for future use"));
+ install::any::cp_with_progress($wait_message, 0, int(@$l), @$l, "$postinstall_rpms/$medium->{rpmsdir}");
+ };
+ !$@ or log::l("copying to postinstall dir failed: $@");
+
+ log::l("copying Auto Install Floppy");
+ getAndSaveInstallFloppies($::o, $postinstall_rpms, 'auto_install');
+}
+
+sub getAndSaveInstallFloppies {
+ my ($o, $dest_dir, $name) = @_;
+
+ if ($postinstall_rpms && -d $postinstall_rpms && -r "$postinstall_rpms/auto_install.img") {
+ log::l("getAndSaveInstallFloppies: using file saved as $postinstall_rpms/auto_install.img");
+ cp_af("$postinstall_rpms/auto_install.img", "$dest_dir/$name.img");
+ "$dest_dir/$name.img";
+ } else {
+ my $image = 'hd_grub';
+
+ getAndSaveFile_($o->{stage2_phys_medium}, "install/images/$image.img", "$dest_dir/$name.img")
+ or log::l("failed to write Install Floppy ($image.img) to $dest_dir/$name.img"), return;
+
+ "$dest_dir/$name.img";
+ }
+}
+
+sub clean_postinstall_rpms() {
+ if ($postinstall_rpms && -d $postinstall_rpms) {
+ rm_rf($postinstall_rpms);
+ }
+}
+
+sub copy_rpms_on_disk {
+ my ($o) = @_;
+
+ my $dest_dir = '/var/ftp/pub/Mandrivalinux/media';
+ #- don't be afraid, cleanup old RPMs if upgrade
+ eval { rm_rf("$::prefix$dest_dir") if $o->{isUpgrade} };
+ mkdir_p("$::prefix$dest_dir");
+
+ my $dest_phys_medium = do {
+ my ($part, $rel_path) = fs::get::file2part($o->{fstab}, $dest_dir);
+ $part->{method} = 'disk';
+ $part->{rel_path} = $rel_path;
+ $part->{url} = "disk://$part->{device}$rel_path";
+ $part;
+ };
+
+ my ($wait, $wait_message) = $o->wait_message_with_progress_bar;
+
+ foreach my $m (allMediums($o->{packages})) {
+ #- don't copy rpms of supplementary media
+ next if $m->{phys_medium}{is_suppl};
+ $wait_message->(N("Copying in progress") . "\n($m->{name})"); #- XXX to be translated
+ my $rpmsdir = path($m->{phys_medium}, $m->{rpmsdir});
+ if (! -d $rpmsdir) {
+ if (!change_phys_medium($m->{phys_medium}, $m->{rpmsdir})) {
+ #- keep in mind the asked medium has been refused.
+ #- this means it is no longer selected.
+ #- (but do not unselect supplementary CDs.)
+ $m->{selected} = 0;
+ }
+ }
+
+ my $total = install::any::count_files($rpmsdir);
+ log::l("copying $rpmsdir to $::prefix$dest_dir ($total files)");
+ eval {
+ install::any::cp_with_progress($wait_message, 0, $total, $rpmsdir, "$::prefix$dest_dir");
+ };
+ log::l($@) if $@;
+
+ $m->{phys_medium} = $dest_phys_medium;
+ }
+ undef $wait;
+
+ our $copied_rpms_on_disk = 1;
+}
+
+sub install_urpmi__generate_names {
+ my ($packages, $medium) = @_;
+
+ #- build a names file
+ output("$::prefix/var/lib/urpmi/names.$medium->{fakemedium}",
+ map { $packages->{depslist}[$_]->name . "\n" } $medium->{start} .. $medium->{end});
+}
+sub install_urpmi__generate_synthesis {
+ my ($packages, $medium) = @_;
+
+ my $synthesis = "/var/lib/urpmi/synthesis.hdlist.$medium->{fakemedium}.cz";
+
+ #- build synthesis file if there are still not existing (ie not copied from mirror).
+ -s "$::prefix$synthesis" <= 32 or return;
+
+ log::l("building $synthesis");
+
+ eval { $packages->build_synthesis(
+ start => $medium->{start},
+ end => $medium->{end},
+ synthesis => "$::prefix$synthesis",
+ ) };
+ $@ and log::l("build_synthesis failed: $@");
+}
+
+#- copied from urpm/media.pm
+sub parse_url_with_login {
+ my ($url) = @_;
+ $url =~ m!([^:]*)://([^/:\@]*)(:([^/:\@]*))?\@([^/]*)(.*)! &&
+ { proto => $1, login => $2, password => $4, machine => $5, dir => $6 };
+}
+
+sub install_urpmi {
+ my ($stage2_method, $packages) = @_;
+
+ my @mediums = @{$packages->{mediums}};
+
+ log::l("install_urpmi $stage2_method");
+ #- clean to avoid opening twice the rpm db.
+ delete $packages->{rpmdb};
+
+ #- import pubkey in rpmdb.
+ my $db = install::pkgs::open_rpm_db_rw();
+ $packages->parse_pubkeys(db => $db);
+ foreach my $medium (@mediums) {
+ $packages->import_needed_pubkeys($medium->{pubkey}, db => $db, callback => sub {
+ my (undef, undef, $_k, $id, $imported) = @_;
+ if ($id) {
+ log::l(($imported ? "imported" : "found") . " key=$id for medium $medium->{name}");
+ $medium->{key_ids}{$id} = undef;
+ }
+ });
+ }
+
+ my (@cfg, @netrc);
+ foreach my $medium (@mediums) {
+ if ($medium->{selected}) {
+ my ($dir, $removable_device, $static);
+
+ my $phys_m = $medium->{phys_medium};
+ if ($phys_m->{method} eq 'ftp' || $phys_m->{method} eq 'http') {
+ $dir = $phys_m->{url};
+ } else {
+ #- for cdrom, removable://... is best since it mounts *and* umounts cdrom
+ #- for iso files, removable://... doesn't work correctly
+ my $urpmi_method = $phys_m->{method} eq 'cdrom' ? 'removable' : 'file';
+ $dir = "$urpmi_method:/$phys_m->{mntpoint}$phys_m->{rel_path}";
+ if ($phys_m->{method} eq 'iso') {
+ $removable_device = $phys_m->{loopback_device}{mntpoint} . $phys_m->{loopback_file};
+ } elsif ($phys_m->{method} eq 'cdrom') {
+ $removable_device = devices::make($phys_m->{device});
+ $static = 1;
+ }
+ }
+
+ $dir = MDK::Common::File::concat_symlink($dir, $medium->{rpmsdir});
+
+ install_urpmi__generate_names($packages, $medium);
+ install_urpmi__generate_synthesis($packages, $medium);
+
+ my ($qname, $qdir) = ($medium->{fakemedium}, $dir);
+
+ if (my $u = parse_url_with_login($qdir)) {
+ $qdir = sprintf('%s://%s@%s%s', $u->{proto}, $u->{login}, $u->{machine}, $u->{dir});
+ push @netrc, sprintf("machine %s login %s password %s\n", $u->{machine}, $u->{login}, $u->{password});
+ }
+
+ s/(\s)/\\$1/g foreach $qname, $qdir;
+
+ #- output new urpmi.cfg format here.
+ push @cfg, map { "$_\n" }
+ "$qname $qdir {",
+ " media_info_dir: media_info",
+ if_(keys(%{$medium->{key_ids}}),
+ " key-ids: " . join(',', keys %{$medium->{key_ids}})),
+ if_($removable_device,
+ " removable: $removable_device"),
+ if_($medium->{update},
+ " update"),
+ if_($static,
+ " static"),
+ "}";
+ } else {
+ #- remove deselected media by removing copied hdlist and synthesis files
+ log::l("removing media $medium->{fakemedium}");
+ unlink "$::prefix/var/lib/urpmi/hdlist.$medium->{fakemedium}.cz";
+ unlink "$::prefix/var/lib/urpmi/synthesis.hdlist.$medium->{fakemedium}.cz";
+ }
+ }
+ eval { output("$::prefix/etc/urpmi/netrc", @netrc) };
+ #- touch a MD5SUM file and write config file
+ eval { output("$::prefix/var/lib/urpmi/MD5SUM", '') };
+ eval { output "$::prefix/etc/urpmi/urpmi.cfg", @cfg };
+}
+
+
+sub openCdromTray {
+ my ($cdrom) = @_;
+ log::l("ejecting cdrom $cdrom");
+ eval { ioctl(detect_devices::tryOpen($cdrom), c::CDROMEJECT(), 1) };
+ $@ and log::l("ejection failed: $@");
+}
+
+sub log_sizes() {
+ my @df = MDK::Common::System::df($::prefix);
+ log::l(sprintf "Installed: %dMB(df), %dMB(rpm)",
+ ($df[0] - $df[1]) / 1024,
+ sum(run_program::rooted_get_stdout($::prefix, 'rpm', '-qa', '--queryformat', '%{size}\n')) / 1024 / 1024) if -x "$::prefix/bin/rpm";
+}
+
+1;
diff --git a/perl-install/install/pixmaps/banner-adduser.png b/perl-install/install/pixmaps/banner-adduser.png
new file mode 100644
index 000000000..d15926da4
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-adduser.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-bootL.png b/perl-install/install/pixmaps/banner-bootL.png
new file mode 100644
index 000000000..eaba539a5
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-bootL.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-exit.png b/perl-install/install/pixmaps/banner-exit.png
new file mode 100644
index 000000000..7eecbaf58
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-exit.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-generic-ad.png b/perl-install/install/pixmaps/banner-generic-ad.png
new file mode 100644
index 000000000..0ae2482fd
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-generic-ad.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-languages.png b/perl-install/install/pixmaps/banner-languages.png
new file mode 100644
index 000000000..ac3a212df
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-languages.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-license.png b/perl-install/install/pixmaps/banner-license.png
new file mode 100644
index 000000000..2c910fa26
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-license.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-part.png b/perl-install/install/pixmaps/banner-part.png
new file mode 100644
index 000000000..7b1c8ee3a
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-part.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-pw.png b/perl-install/install/pixmaps/banner-pw.png
new file mode 100644
index 000000000..9e3f1e2ea
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-pw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-security.png b/perl-install/install/pixmaps/banner-security.png
new file mode 100644
index 000000000..f1580bfc7
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-security.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-summary.png b/perl-install/install/pixmaps/banner-summary.png
new file mode 100644
index 000000000..9c0d5c84e
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-summary.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-sys.png b/perl-install/install/pixmaps/banner-sys.png
new file mode 100644
index 000000000..de75c1954
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-sys.png
Binary files differ
diff --git a/perl-install/install/pixmaps/banner-update.png b/perl-install/install/pixmaps/banner-update.png
new file mode 100644
index 000000000..95943c774
--- /dev/null
+++ b/perl-install/install/pixmaps/banner-update.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-af.png b/perl-install/install/pixmaps/langs/lang-af.png
new file mode 100644
index 000000000..08a6a6212
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-af.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-am.png b/perl-install/install/pixmaps/langs/lang-am.png
new file mode 100644
index 000000000..ee9f7ae92
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-am.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ar.png b/perl-install/install/pixmaps/langs/lang-ar.png
new file mode 100644
index 000000000..e4abc7176
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ar.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-as.png b/perl-install/install/pixmaps/langs/lang-as.png
new file mode 100644
index 000000000..4f4c6d640
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-as.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-az.png b/perl-install/install/pixmaps/langs/lang-az.png
new file mode 100644
index 000000000..9aef0bb54
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-az.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-be.png b/perl-install/install/pixmaps/langs/lang-be.png
new file mode 100644
index 000000000..e9cbbbad8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-be.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ber.png b/perl-install/install/pixmaps/langs/lang-ber.png
new file mode 100644
index 000000000..758f87d27
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ber.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bg.png b/perl-install/install/pixmaps/langs/lang-bg.png
new file mode 100644
index 000000000..d815d9f5c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bn.png b/perl-install/install/pixmaps/langs/lang-bn.png
new file mode 100644
index 000000000..1fed9d2c4
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bo.png b/perl-install/install/pixmaps/langs/lang-bo.png
new file mode 100644
index 000000000..6f799621b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-br.png b/perl-install/install/pixmaps/langs/lang-br.png
new file mode 100644
index 000000000..51b8a87de
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-br.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bs.png b/perl-install/install/pixmaps/langs/lang-bs.png
new file mode 100644
index 000000000..df795a31f
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bs.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ca.png b/perl-install/install/pixmaps/langs/lang-ca.png
new file mode 100644
index 000000000..8609cba11
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ca.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ca@valencian.png b/perl-install/install/pixmaps/langs/lang-ca@valencian.png
new file mode 100644
index 000000000..736173bd9
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ca@valencian.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-chr.png b/perl-install/install/pixmaps/langs/lang-chr.png
new file mode 100644
index 000000000..b93621609
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-chr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-cs.png b/perl-install/install/pixmaps/langs/lang-cs.png
new file mode 100644
index 000000000..a9606348c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-cs.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-csb.png b/perl-install/install/pixmaps/langs/lang-csb.png
new file mode 100644
index 000000000..897f65a02
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-csb.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-cy.png b/perl-install/install/pixmaps/langs/lang-cy.png
new file mode 100644
index 000000000..b62fd955c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-cy.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-da.png b/perl-install/install/pixmaps/langs/lang-da.png
new file mode 100644
index 000000000..5e0e36fb0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-da.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-de.png b/perl-install/install/pixmaps/langs/lang-de.png
new file mode 100644
index 000000000..d9bedadc0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-de.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-dz.png b/perl-install/install/pixmaps/langs/lang-dz.png
new file mode 100644
index 000000000..d7f708ef4
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-dz.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-el.png b/perl-install/install/pixmaps/langs/lang-el.png
new file mode 100644
index 000000000..62b1bba08
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-el.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_AU.png b/perl-install/install/pixmaps/langs/lang-en_AU.png
new file mode 100644
index 000000000..59e1929da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_AU.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_CA.png b/perl-install/install/pixmaps/langs/lang-en_CA.png
new file mode 100644
index 000000000..f235be603
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_CA.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_GB.png b/perl-install/install/pixmaps/langs/lang-en_GB.png
new file mode 100644
index 000000000..15ee5fa24
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_GB.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_IE.png b/perl-install/install/pixmaps/langs/lang-en_IE.png
new file mode 100644
index 000000000..fabe38773
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_IE.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_NZ.png b/perl-install/install/pixmaps/langs/lang-en_NZ.png
new file mode 100644
index 000000000..253ffae47
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_NZ.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_US.png b/perl-install/install/pixmaps/langs/lang-en_US.png
new file mode 100644
index 000000000..974c3283e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_US.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-eo.png b/perl-install/install/pixmaps/langs/lang-eo.png
new file mode 100644
index 000000000..063942f3a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-eo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-es.png b/perl-install/install/pixmaps/langs/lang-es.png
new file mode 100644
index 000000000..e08d98f13
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-es.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-et.png b/perl-install/install/pixmaps/langs/lang-et.png
new file mode 100644
index 000000000..a93082949
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-et.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-eu.png b/perl-install/install/pixmaps/langs/lang-eu.png
new file mode 100644
index 000000000..024bc1bff
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-eu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fa.png b/perl-install/install/pixmaps/langs/lang-fa.png
new file mode 100644
index 000000000..2edc3e2c0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fi.png b/perl-install/install/pixmaps/langs/lang-fi.png
new file mode 100644
index 000000000..20c6b4654
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fil.png b/perl-install/install/pixmaps/langs/lang-fil.png
new file mode 100644
index 000000000..78a7bd614
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fil.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fo.png b/perl-install/install/pixmaps/langs/lang-fo.png
new file mode 100644
index 000000000..8b3dc056e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fr.png b/perl-install/install/pixmaps/langs/lang-fr.png
new file mode 100644
index 000000000..f871e3e5b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fur.png b/perl-install/install/pixmaps/langs/lang-fur.png
new file mode 100644
index 000000000..426f94c54
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fur.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fy.png b/perl-install/install/pixmaps/langs/lang-fy.png
new file mode 100644
index 000000000..6a09f98cc
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fy.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ga.png b/perl-install/install/pixmaps/langs/lang-ga.png
new file mode 100644
index 000000000..af049dab0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ga.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gd.png b/perl-install/install/pixmaps/langs/lang-gd.png
new file mode 100644
index 000000000..01ebf64bb
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gd.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gl.png b/perl-install/install/pixmaps/langs/lang-gl.png
new file mode 100644
index 000000000..dacb6b91b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gn.png b/perl-install/install/pixmaps/langs/lang-gn.png
new file mode 100644
index 000000000..93c58a779
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gu.png b/perl-install/install/pixmaps/langs/lang-gu.png
new file mode 100644
index 000000000..10685a0fe
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gv.png b/perl-install/install/pixmaps/langs/lang-gv.png
new file mode 100644
index 000000000..76e2c242a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ha.png b/perl-install/install/pixmaps/langs/lang-ha.png
new file mode 100644
index 000000000..ef4ccab0d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ha.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-he.png b/perl-install/install/pixmaps/langs/lang-he.png
new file mode 100644
index 000000000..a3a43a179
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-he.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hi.png b/perl-install/install/pixmaps/langs/lang-hi.png
new file mode 100644
index 000000000..3749905da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hr.png b/perl-install/install/pixmaps/langs/lang-hr.png
new file mode 100644
index 000000000..42add5cf5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hu.png b/perl-install/install/pixmaps/langs/lang-hu.png
new file mode 100644
index 000000000..baa0be79a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hy.png b/perl-install/install/pixmaps/langs/lang-hy.png
new file mode 100644
index 000000000..969a0f0ec
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hy.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ia.png b/perl-install/install/pixmaps/langs/lang-ia.png
new file mode 100644
index 000000000..ee4d1b2bd
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ia.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-id.png b/perl-install/install/pixmaps/langs/lang-id.png
new file mode 100644
index 000000000..a31b4f3ee
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-id.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ig.png b/perl-install/install/pixmaps/langs/lang-ig.png
new file mode 100644
index 000000000..304870ab9
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ig.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ik.png b/perl-install/install/pixmaps/langs/lang-ik.png
new file mode 100644
index 000000000..1fad276d8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ik.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-is.png b/perl-install/install/pixmaps/langs/lang-is.png
new file mode 100644
index 000000000..ea7aea4d2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-is.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-it.png b/perl-install/install/pixmaps/langs/lang-it.png
new file mode 100644
index 000000000..123c65155
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-it.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-iu.png b/perl-install/install/pixmaps/langs/lang-iu.png
new file mode 100644
index 000000000..eef7f3184
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-iu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ja.png b/perl-install/install/pixmaps/langs/lang-ja.png
new file mode 100644
index 000000000..7c521e108
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ja.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ka.png b/perl-install/install/pixmaps/langs/lang-ka.png
new file mode 100644
index 000000000..56157f8bc
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ka.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kk.png b/perl-install/install/pixmaps/langs/lang-kk.png
new file mode 100644
index 000000000..008c6182d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kl.png b/perl-install/install/pixmaps/langs/lang-kl.png
new file mode 100644
index 000000000..fc471261b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-km.png b/perl-install/install/pixmaps/langs/lang-km.png
new file mode 100644
index 000000000..20836b561
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-km.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kn.png b/perl-install/install/pixmaps/langs/lang-kn.png
new file mode 100644
index 000000000..6cf704799
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ko.png b/perl-install/install/pixmaps/langs/lang-ko.png
new file mode 100644
index 000000000..8dd6c5529
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ko.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ks.png b/perl-install/install/pixmaps/langs/lang-ks.png
new file mode 100644
index 000000000..edbe86c72
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ks.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ks@Arab.png b/perl-install/install/pixmaps/langs/lang-ks@Arab.png
new file mode 100644
index 000000000..c3eba40ca
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ks@Arab.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ku.png b/perl-install/install/pixmaps/langs/lang-ku.png
new file mode 100644
index 000000000..c776e1321
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ku.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-kw.png b/perl-install/install/pixmaps/langs/lang-kw.png
new file mode 100644
index 000000000..2e1fa3edf
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ky.png b/perl-install/install/pixmaps/langs/lang-ky.png
new file mode 100644
index 000000000..72924a206
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ky.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lb.png b/perl-install/install/pixmaps/langs/lang-lb.png
new file mode 100644
index 000000000..ba1b6c01e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lb.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lg.png b/perl-install/install/pixmaps/langs/lang-lg.png
new file mode 100644
index 000000000..2e67836e0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-li.png b/perl-install/install/pixmaps/langs/lang-li.png
new file mode 100644
index 000000000..77f36a985
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-li.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lo.png b/perl-install/install/pixmaps/langs/lang-lo.png
new file mode 100644
index 000000000..c8ac6c880
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lt.png b/perl-install/install/pixmaps/langs/lang-lt.png
new file mode 100644
index 000000000..9869002a2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ltg.png b/perl-install/install/pixmaps/langs/lang-ltg.png
new file mode 100644
index 000000000..2cd1c8227
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ltg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-lv.png b/perl-install/install/pixmaps/langs/lang-lv.png
new file mode 100644
index 000000000..b73a804bc
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mi.png b/perl-install/install/pixmaps/langs/lang-mi.png
new file mode 100644
index 000000000..1d0658497
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mk.png b/perl-install/install/pixmaps/langs/lang-mk.png
new file mode 100644
index 000000000..ef82b87d3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ml.png b/perl-install/install/pixmaps/langs/lang-ml.png
new file mode 100644
index 000000000..b1d933a1e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ml.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mn.png b/perl-install/install/pixmaps/langs/lang-mn.png
new file mode 100644
index 000000000..18af73e27
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mr.png b/perl-install/install/pixmaps/langs/lang-mr.png
new file mode 100644
index 000000000..8181f89bf
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ms.png b/perl-install/install/pixmaps/langs/lang-ms.png
new file mode 100644
index 000000000..2d40e300f
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ms.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mt.png b/perl-install/install/pixmaps/langs/lang-mt.png
new file mode 100644
index 000000000..c75d1413d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-my.png b/perl-install/install/pixmaps/langs/lang-my.png
new file mode 100644
index 000000000..4656ce350
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-my.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nb.png b/perl-install/install/pixmaps/langs/lang-nb.png
new file mode 100644
index 000000000..ebd4d42d3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nb.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nds.png b/perl-install/install/pixmaps/langs/lang-nds.png
new file mode 100644
index 000000000..39e0583c7
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nds.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ne.png b/perl-install/install/pixmaps/langs/lang-ne.png
new file mode 100644
index 000000000..695c8b8e2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ne.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nl.png b/perl-install/install/pixmaps/langs/lang-nl.png
new file mode 100644
index 000000000..014adbe98
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nn.png b/perl-install/install/pixmaps/langs/lang-nn.png
new file mode 100644
index 000000000..771d08a94
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-no.png b/perl-install/install/pixmaps/langs/lang-no.png
new file mode 100644
index 000000000..ebd4d42d3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-no.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nr.png b/perl-install/install/pixmaps/langs/lang-nr.png
new file mode 100644
index 000000000..82a53a3e8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nso.png b/perl-install/install/pixmaps/langs/lang-nso.png
new file mode 100644
index 000000000..e98becf85
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nso.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-oc.png b/perl-install/install/pixmaps/langs/lang-oc.png
new file mode 100644
index 000000000..f4efa6dd3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-oc.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pa.png b/perl-install/install/pixmaps/langs/lang-pa.png
new file mode 100644
index 000000000..c1945c3da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pa_IN.png b/perl-install/install/pixmaps/langs/lang-pa_IN.png
new file mode 100644
index 000000000..c1945c3da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pa_IN.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pl.png b/perl-install/install/pixmaps/langs/lang-pl.png
new file mode 100644
index 000000000..d525067b3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ps.png b/perl-install/install/pixmaps/langs/lang-ps.png
new file mode 100644
index 000000000..a4db7252c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ps.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pt.png b/perl-install/install/pixmaps/langs/lang-pt.png
new file mode 100644
index 000000000..60643675d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pt_BR.png b/perl-install/install/pixmaps/langs/lang-pt_BR.png
new file mode 100644
index 000000000..41c955b8e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pt_BR.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-qu.png b/perl-install/install/pixmaps/langs/lang-qu.png
new file mode 100644
index 000000000..53e233cdb
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-qu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ro.png b/perl-install/install/pixmaps/langs/lang-ro.png
new file mode 100644
index 000000000..0483ff00a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ro.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ru.png b/perl-install/install/pixmaps/langs/lang-ru.png
new file mode 100644
index 000000000..50bfb23d2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ru.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-rw.png b/perl-install/install/pixmaps/langs/lang-rw.png
new file mode 100644
index 000000000..1b34566f5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-rw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sc.png b/perl-install/install/pixmaps/langs/lang-sc.png
new file mode 100644
index 000000000..e4dda5f79
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sc.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-se.png b/perl-install/install/pixmaps/langs/lang-se.png
new file mode 100644
index 000000000..92b76282c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-se.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sh.png b/perl-install/install/pixmaps/langs/lang-sh.png
new file mode 100644
index 000000000..05fc8b034
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sh.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sk.png b/perl-install/install/pixmaps/langs/lang-sk.png
new file mode 100644
index 000000000..9e939c857
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sl.png b/perl-install/install/pixmaps/langs/lang-sl.png
new file mode 100644
index 000000000..fc5657a97
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-so.png b/perl-install/install/pixmaps/langs/lang-so.png
new file mode 100644
index 000000000..b7b235548
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-so.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sq.png b/perl-install/install/pixmaps/langs/lang-sq.png
new file mode 100644
index 000000000..f6c2d2f0e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sq.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sr.png b/perl-install/install/pixmaps/langs/lang-sr.png
new file mode 100644
index 000000000..5b822b402
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sr@Latn.png b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
new file mode 100644
index 000000000..05fc8b034
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ss.png b/perl-install/install/pixmaps/langs/lang-ss.png
new file mode 100644
index 000000000..ed1da073c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ss.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-st.png b/perl-install/install/pixmaps/langs/lang-st.png
new file mode 100644
index 000000000..3f4c3a022
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-st.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sv.png b/perl-install/install/pixmaps/langs/lang-sv.png
new file mode 100644
index 000000000..21822dbf8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sw.png b/perl-install/install/pixmaps/langs/lang-sw.png
new file mode 100644
index 000000000..690b07c0c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sw.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ta.png b/perl-install/install/pixmaps/langs/lang-ta.png
new file mode 100644
index 000000000..c603ea0de
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ta.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-te.png b/perl-install/install/pixmaps/langs/lang-te.png
new file mode 100644
index 000000000..a263d449d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-te.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tg.png b/perl-install/install/pixmaps/langs/lang-tg.png
new file mode 100644
index 000000000..f537f85ad
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-th.png b/perl-install/install/pixmaps/langs/lang-th.png
new file mode 100644
index 000000000..75c913c73
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-th.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tk.png b/perl-install/install/pixmaps/langs/lang-tk.png
new file mode 100644
index 000000000..d95c94774
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tn.png b/perl-install/install/pixmaps/langs/lang-tn.png
new file mode 100644
index 000000000..cf809136c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tr.png b/perl-install/install/pixmaps/langs/lang-tr.png
new file mode 100644
index 000000000..a6c266603
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ts.png b/perl-install/install/pixmaps/langs/lang-ts.png
new file mode 100644
index 000000000..cccb1f634
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ts.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tt.png b/perl-install/install/pixmaps/langs/lang-tt.png
new file mode 100644
index 000000000..f643f18cd
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png b/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png
new file mode 100644
index 000000000..5d8ab2669
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ug.png b/perl-install/install/pixmaps/langs/lang-ug.png
new file mode 100644
index 000000000..36033a501
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ug.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-uk.png b/perl-install/install/pixmaps/langs/lang-uk.png
new file mode 100644
index 000000000..cee670ee3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ur.png b/perl-install/install/pixmaps/langs/lang-ur.png
new file mode 100644
index 000000000..0a395fd04
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ur.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-uz.png b/perl-install/install/pixmaps/langs/lang-uz.png
new file mode 100644
index 000000000..d32d0ffea
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uz.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-uz@Cyrl.png b/perl-install/install/pixmaps/langs/lang-uz@Cyrl.png
new file mode 100644
index 000000000..d32d0ffea
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uz@Cyrl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-uz@Latn.png b/perl-install/install/pixmaps/langs/lang-uz@Latn.png
new file mode 100644
index 000000000..e9761e7d5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uz@Latn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ve.png b/perl-install/install/pixmaps/langs/lang-ve.png
new file mode 100644
index 000000000..ac0233033
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ve.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-vi.png b/perl-install/install/pixmaps/langs/lang-vi.png
new file mode 100644
index 000000000..eaa8fe477
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-vi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-wa.png b/perl-install/install/pixmaps/langs/lang-wa.png
new file mode 100644
index 000000000..176976de8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-wa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-xh.png b/perl-install/install/pixmaps/langs/lang-xh.png
new file mode 100644
index 000000000..d31040a18
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-xh.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-yi.png b/perl-install/install/pixmaps/langs/lang-yi.png
new file mode 100644
index 000000000..729b7e166
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-yi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-yo.png b/perl-install/install/pixmaps/langs/lang-yo.png
new file mode 100644
index 000000000..7b7bb634b
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-yo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-zh_CN.png b/perl-install/install/pixmaps/langs/lang-zh_CN.png
new file mode 100644
index 000000000..b8eff030a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-zh_CN.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-zh_TW.png b/perl-install/install/pixmaps/langs/lang-zh_TW.png
new file mode 100644
index 000000000..bbfdc8fe8
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-zh_TW.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-zu.png b/perl-install/install/pixmaps/langs/lang-zu.png
new file mode 100644
index 000000000..b44493b50
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-zu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/logo-mandriva.png b/perl-install/install/pixmaps/logo-mandriva.png
new file mode 100644
index 000000000..0d3938526
--- /dev/null
+++ b/perl-install/install/pixmaps/logo-mandriva.png
Binary files differ
diff --git a/perl-install/install/pixmaps/reload.png b/perl-install/install/pixmaps/reload.png
new file mode 100644
index 000000000..26d503283
--- /dev/null
+++ b/perl-install/install/pixmaps/reload.png
Binary files differ
diff --git a/perl-install/install/pixmaps/selected.png b/perl-install/install/pixmaps/selected.png
new file mode 100644
index 000000000..49b225b93
--- /dev/null
+++ b/perl-install/install/pixmaps/selected.png
Binary files differ
diff --git a/perl-install/install/pixmaps/semiselected.png b/perl-install/install/pixmaps/semiselected.png
new file mode 100644
index 000000000..c026805bf
--- /dev/null
+++ b/perl-install/install/pixmaps/semiselected.png
Binary files differ
diff --git a/perl-install/install/pixmaps/unselected.png b/perl-install/install/pixmaps/unselected.png
new file mode 100644
index 000000000..221acbceb
--- /dev/null
+++ b/perl-install/install/pixmaps/unselected.png
Binary files differ
diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm
new file mode 100644
index 000000000..9e19eee99
--- /dev/null
+++ b/perl-install/install/pkgs.pm
@@ -0,0 +1,1162 @@
+package install::pkgs; # $Id: pkgs.pm 150226 2007-04-02 07:25:49Z pixel $
+
+use strict;
+
+use URPM;
+use URPM::Resolve;
+use URPM::Signature;
+use common;
+use install::any;
+use install::media qw(getFile_ getAndSaveFile_ packageMedium);
+use run_program;
+use detect_devices;
+use log;
+use fs;
+use fs::loopback;
+use c;
+
+our %preferred = map { $_ => undef }
+ qw(libmesagl1 lib64mesagl1 grub nail
+ perl-base openjade ctags glibc glibc-devel curl sane-backends postfix
+ gcc gcc-cpp gcc-c++ proftpd vim-minimal db1 libxpm4 zlib1
+ libkdebase4 libkdepim2-ktnef-devel libkdepim2-korganizer libkdebase4-konsole libkdebase4-kmenuedit
+ libncurses5 harddrake cups free-kde-config);
+
+#- lower bound on the left ( aka 90 means [90-100[ )
+our %compssListDesc = (
+ 5 => N_("must have"),
+ 4 => N_("important"),
+ 3 => N_("very nice"),
+ 2 => N_("nice"),
+ 1 => N_("maybe"),
+);
+
+#- constant for small transaction.
+our $limitMinTrans = 13;
+
+
+sub cleanHeaders() {
+ rm_rf("$::prefix/tmp/headers") if -e "$::prefix/tmp/headers";
+}
+
+#- get all headers from an hdlist file.
+sub extractHeaders {
+ my ($pkgs, $media) = @_;
+ cleanHeaders();
+
+ foreach my $medium (@$media) {
+ $medium->{selected} or next;
+
+ my @l = grep { $_->id >= $medium->{start} && $_->id <= $medium->{end} } @$pkgs or next;
+ eval {
+ require packdrake;
+ my $packer = new packdrake(install::media::hdlist_on_disk($medium), quiet => 1);
+ $packer->extract_archive("$::prefix/tmp/headers", map { $_->header_filename } @l);
+ };
+ $@ and log::l("packdrake failed: $@");
+ }
+
+ foreach (@$pkgs) {
+ my $f = "$::prefix/tmp/headers/" . $_->header_filename;
+ $_->update_header($f) or log::l("unable to open header file $f"), next;
+ log::l("read header file $f");
+ }
+}
+
+#- TODO BEFORE TODO
+#- size and correction size functions for packages.
+my $B = 1.20873;
+my $C = 4.98663; #- does not take hdlist's into account as getAvailableSpace will do it.
+sub correctSize { $B * $_[0] + $C }
+sub invCorrectSize { ($_[0] - $C) / $B }
+
+sub selectedSize {
+ my ($packages) = @_;
+ my $size = 0;
+ my %skip;
+ #- take care of packages selected...
+ foreach (@{$packages->{depslist}}) {
+ if ($_->flag_selected) {
+ $size += $_->size;
+ #- if a package is obsoleted with the same name it should
+ #- have been selected, so a selected new package obsoletes
+ #- all the old package.
+ exists $skip{$_->name} and next; $skip{$_->name} = undef;
+ $size -= $packages->{sizes}{$_->name};
+ }
+ }
+ #- but remove size of package being obsoleted or removed.
+ foreach (keys %{$packages->{state}{rejected}}) {
+ my ($name) = /(.*)-[^\-]*-[^\-]*$/ or next;
+ exists $skip{$name} and next; $skip{$name} = undef;
+ $size -= $packages->{sizes}{$name};
+ }
+ $size;
+}
+
+sub size2time {
+ my ($x, $max) = @_;
+ my $A = 7e-07;
+ my $limit = min($max * 3 / 4, 9e8);
+ if ($x < $limit) {
+ $A * $x;
+ } else {
+ $x -= $limit;
+ my $B = 6e-16;
+ my $C = 15e-07;
+ $B * $x ** 2 + $C * $x + $A * $limit;
+ }
+}
+
+
+sub packagesProviding {
+ my ($packages, $name) = @_;
+ map { $packages->{depslist}[$_] } keys %{$packages->{provides}{$name} || {}};
+}
+
+#- search package with given name and compatible with current architecture.
+#- take the best one found (most up-to-date).
+sub packageByName {
+ my ($packages, $name) = @_;
+
+ my @l = grep { $_->is_arch_compat && $_->name eq $name } packagesProviding($packages, $name);
+
+ my $best;
+ foreach (@l) {
+ if ($best && $best != $_) {
+ $_->compare_pkg($best) > 0 and $best = $_;
+ } else {
+ $best = $_;
+ }
+ }
+ $best or log::l("unknown package `$name'");
+ $best;
+}
+
+sub bestKernelPackage {
+ my ($packages) = @_;
+
+ my @preferred_exts =
+ $::o->{match_all_hardware} ? (arch() =~ /x86_64/ ? '' : '-legacy') :
+ $::build_globetrotter ? '' :
+ detect_devices::is_xbox() ? '-xbox' :
+ detect_devices::is_i586() ? '-legacy' :
+ detect_devices::dmi_detect_memory() > 3.8 * 1024 ? '-entreprise' :
+ '';
+
+ my @kernels = grep { $_ } map { packageByName($packages, "kernel$_-latest") } @preferred_exts, '';
+
+ log::l("bestKernelPackage (" . join(':', @preferred_exts) . "): " . join(' ', map { $_->name } @kernels) . (@kernels > 1 ? ' (choosing the first)' : ''));
+
+ $kernels[0];
+}
+
+sub packagesToInstall {
+ my ($packages) = @_;
+ my @packages;
+ foreach (@{$packages->{mediums}}) {
+ $_->{selected} or next;
+ log::l("examining packagesToInstall of medium $_->{name}");
+ push @packages, grep { $_->flag_selected } install::media::packagesOfMedium($packages, $_);
+ }
+ log::l("found " . scalar(@packages) . " packages to install");
+ @packages;
+}
+
+sub packageRequest {
+ my ($packages, $pkg) = @_;
+
+ #- check if the same or better version is installed,
+ #- do not select in such case.
+ $pkg && ($pkg->flag_upgrade || !$pkg->flag_installed) or return;
+
+ #- check for medium selection, if the medium has not been
+ #- selected, the package cannot be selected.
+ packageMedium($packages, $pkg)->{selected} or return;
+
+ +{ $pkg->id => 1 };
+}
+
+sub packageCallbackChoices {
+ my ($urpm, $_db, $state, $choices) = @_;
+
+ if (my @l = packageCallbackChoices_($urpm, $choices)) {
+ @l;
+ } else {
+ log::l("packageCallbackChoices: default choice from ", join(",", map { $_->name } @$choices), " in ", join(",", map { $urpm->{depslist}[$_]->name } keys %{$state->{selected}}));
+ $choices->[0];
+ }
+}
+
+sub packageCallbackChoices_ {
+ my ($urpm, $choices) = @_;
+ if (my $prefer = find { $_->arch ne 'src' && exists $preferred{$_->name} } @$choices) {
+ log::l("packageCallbackChoices: prefered choice " . $prefer->name . " from ", join(",", map { $_->name } @$choices));
+ $prefer;
+ } elsif ($choices->[0]->name =~ /^kernel-(.*source-|.*-devel-)/) {
+ my @l = grep {
+ if ($_->name =~ /^kernel-.*source-stripped-(.*)/) {
+ my $version = quotemeta($1);
+ find {
+ $_->name =~ /-$version$/ && ($_->flag_installed || $_->flag_selected);
+ } packagesProviding($urpm, 'kernel');
+ } elsif ($_->name =~ /(kernel-.*)-devel-(.*)/) {
+ my $kernel = "$1-$2";
+ my $p = packageByName($urpm, $kernel);
+ $p && ($p->flag_installed || $p->flag_selected);
+ } elsif ($_->name =~ /^kernel-.*source-/) {
+ #- hopefully we don't have a media with kernel-source but not kernel-source-stripped nor kernel-.*-devel
+ 0;
+ } else {
+ log::l("unknown kernel-source package " . $_->fullname);
+ 0;
+ }
+ } @$choices;
+
+ log::l("packageCallbackChoices: kernel source chosen ", join(",", map { $_->name } @l), " in ", join(",", map { $_->name } @$choices));
+
+ @l;
+ } else {
+ grep {
+ #- or even if a package requires a specific locales which
+ #- is already selected.
+ find {
+ /locales-/ && do {
+ my $p = packageByName($urpm, $_);
+ $p && $p->flag_available;
+ };
+ } $_->requires_nosense;
+ } @$choices;
+ }
+}
+
+sub skip_packages {
+ my ($packages, $skipped_packages) = @_;
+ $packages->compute_flags($skipped_packages, skip => 1);
+}
+
+sub select_by_package_names {
+ my ($packages, $names, $b_base) = @_;
+
+ my @l;
+ foreach (@$names) {
+ my $p = packageByName($packages, $_) or next;
+ push @l, selectPackage($packages, $p, $b_base);
+ }
+ @l;
+}
+
+sub select_by_package_names_or_die {
+ my ($packages, $names, $b_base) = @_;
+
+ foreach (@$names) {
+ my $p = packageByName($packages, $_) or die "package $_ not found";
+ !$p->flag_installed && !$p->flag_selected or next;
+ selectPackage($packages, $p, $b_base) or die "package $_ can't be selected";
+ }
+}
+
+sub selectPackage {
+ my ($packages, $pkg, $b_base) = @_;
+
+ my $state = $packages->{state} ||= {};
+
+ $packages->{rpmdb} ||= rpmDbOpen();
+
+ my @l = $packages->resolve_requested($packages->{rpmdb}, $state, packageRequest($packages, $pkg) || {},
+ callback_choices => \&packageCallbackChoices);
+
+ if (!member($pkg, @l) && $state->{rejected}) {
+ log::l("ERROR: selecting " . $pkg->name . " failed");
+ require Data::Dumper;
+ log::l(Data::Dumper::Dumper($state->{rejected}));
+ }
+
+ if ($b_base) {
+ $_->set_flag_base foreach @l;
+ }
+ @l;
+}
+
+sub unselectPackage {
+ my ($packages, $pkg) = @_;
+
+ #- base packages are not unselectable,
+ #- and already unselected package are no more unselectable.
+ $pkg->flag_base and return;
+ $pkg->flag_selected or return;
+
+ my $state = $packages->{state} ||= {};
+ log::l("removing selection on package " . $pkg->fullname);
+ my @l = $packages->disable_selected($packages->{rpmdb}, $state, $pkg);
+ log::l(" removed selection on package " . $pkg->fullname . "gives " . join(',', map { scalar $_->fullname } @l));
+}
+
+sub unselectAllPackages {
+ my ($packages) = @_;
+ my %keep_selected;
+ log::l("unselecting all packages...");
+ foreach (@{$packages->{depslist}}) {
+ if ($_->flag_base || $_->flag_installed && $_->flag_selected) {
+ #- keep track of packages that should be kept selected.
+ $keep_selected{$_->id} = $_;
+ } else {
+ #- deselect all packages except base or packages that need to be upgraded.
+ $_->set_flag_required(0);
+ $_->set_flag_requested(0);
+ }
+ }
+ #- clean state, in order to start with a brand new set...
+ $packages->{state} = {};
+ $packages->resolve_requested($packages->{rpmdb}, $packages->{state}, \%keep_selected,
+ callback_choices => \&packageCallbackChoices);
+}
+
+sub empty_packages() {
+ my $packages = new URPM;
+
+ #- add additional fields used by DrakX.
+ @$packages{qw(count mediums)} = (0, []);
+
+ $packages;
+}
+
+sub read_rpmsrate {
+ my ($packages, $rpmsrate_flags_chosen, $file, $match_all_hardware) = @_;
+ require pkgs;
+ pkgs::read_rpmsrate($packages, $rpmsrate_flags_chosen, $file, $match_all_hardware);
+}
+
+sub readCompssUsers {
+ my ($file) = @_;
+
+ my $f = common::open_file($file) or log::l("can not find $file: $!"), return;
+ my ($compssUsers, $gtk_display_compssUsers) = eval join('', <$f>);
+ if ($@) {
+ log::l("ERROR: bad $file: $@");
+ } else {
+ log::l("compssUsers.pl got: ", join(', ', map { qq("$_->{path}|$_->{label}") } @$compssUsers));
+ }
+ ($compssUsers, $gtk_display_compssUsers);
+}
+
+sub saveCompssUsers {
+ my ($packages, $compssUsers) = @_;
+ my $flat;
+ foreach (@$compssUsers) {
+ my %fl = map { ("CAT_$_" => 1) } @{$_->{flags}};
+ $flat .= "$_->{label} [icon=xxx] [path=$_->{path}]\n";
+ foreach my $p (@{$packages->{depslist}}) {
+ my @flags = $p->rflags;
+ if ($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags) {
+ $flat .= sprintf "\t%d %s\n", $p->rate, $p->name;
+ }
+ }
+ }
+ my $urpmidir = install::media::urpmidir();
+ output "$urpmidir/compssUsers.flat", $flat;
+}
+
+sub setSelectedFromCompssList {
+ my ($packages, $rpmsrate_flags_chosen, $min_level, $max_size) = @_;
+ $rpmsrate_flags_chosen->{TRUE} = 1; #- ensure TRUE is set
+ my $nb = selectedSize($packages);
+ foreach my $p (sort { $b->rate <=> $a->rate } @{$packages->{depslist}}) {
+ my @flags = $p->rflags;
+ next if
+ !$p->rate || $p->rate < $min_level ||
+ any { !any { /^!(.*)/ ? !$rpmsrate_flags_chosen->{$1} : $rpmsrate_flags_chosen->{$_} } split('\|\|') } @flags;
+
+ #- determine the packages that will be selected when
+ #- selecting $p. the packages are not selected.
+ my $state = $packages->{state} ||= {};
+
+ my @l = $packages->resolve_requested($packages->{rpmdb}, $state, packageRequest($packages, $p) || {},
+ keep_unrequested_dependencies => 1,
+ callback_choices => \&packageCallbackChoices);
+
+ #- this enable an incremental total size.
+ my $old_nb = $nb;
+ foreach (@l) {
+ $nb += $_->size;
+ }
+ if ($max_size && $nb > $max_size) {
+ $nb = $old_nb;
+ $min_level = $p->rate;
+ $packages->disable_selected($packages->{rpmdb}, $state, @l);
+ last;
+ }
+ }
+ my @flags = map_each { if_($::b, $::a) } %$rpmsrate_flags_chosen;
+ log::l("setSelectedFromCompssList: reached size ", formatXiB($nb), ", up to indice $min_level (less than ", formatXiB($max_size), ") for flags ", join(' ', sort @flags));
+ log::l("setSelectedFromCompssList: ", join(" ", sort map { $_->name } grep { $_->flag_selected } @{$packages->{depslist}}));
+ $min_level;
+}
+
+#- useful to know the size it would take for a given min_level/max_size
+#- just save the selected packages, call setSelectedFromCompssList, and restore the selected packages
+sub saveSelected {
+ my ($packages) = @_;
+ my $state = delete $packages->{state};
+ my @l = @{$packages->{depslist}};
+ my @flags = map { ($_->flag_requested && 1) + ($_->flag_required && 2) + ($_->flag_upgrade && 4) } @l;
+ [ $packages, $state, \@l, \@flags ];
+}
+sub restoreSelected {
+ my ($packages, $state, $l, $flags) = @{$_[0]};
+ $packages->{state} = $state;
+ mapn { my ($pkg, $flag) = @_;
+ $pkg->set_flag_requested($flag & 1);
+ $pkg->set_flag_required($flag & 2);
+ $pkg->set_flag_upgrade($flag & 4);
+ } $l, $flags;
+}
+
+sub computeGroupSize {
+ my ($packages, $min_level) = @_;
+
+ sub inside {
+ my ($l1, $l2) = @_;
+ my $i = 0;
+ return if @$l1 > @$l2;
+ foreach (@$l1) {
+ my $c;
+ while ($c = $l2->[$i++] cmp $_) {
+ return if $c == 1 || $i > @$l2;
+ }
+ }
+ 1;
+ }
+
+ sub or_ify {
+ my ($first, @other) = @_;
+ my @l = split('\|\|', $first);
+ foreach (@other) {
+ @l = map {
+ my $n = $_;
+ map { "$_&&$n" } @l;
+ } split('\|\|');
+ }
+ @l;
+ }
+ my %or_ify_cache;
+ my $or_ify_cached = sub {
+ $or_ify_cache{$_[0]} ||= join("\t", or_ify(split("\t", $_[0])));
+ };
+ sub or_clean {
+ my ($flags) = @_;
+ my @l = split("\t", $flags);
+ @l = map { [ sort split('&&') ] } @l;
+ my @r;
+ B: while (@l) {
+ my $e = shift @l;
+ foreach (@r, @l) {
+ inside($_, $e) and next B;
+ }
+ push @r, $e;
+ }
+ join("\t", map { join('&&', @$_) } @r);
+ }
+ my (%group, %memo, $slowpart_counter);
+
+ log::l("install::pkgs::computeGroupSize");
+ my $time = time();
+
+ my %pkgs_with_same_rflags;
+ foreach (@{$packages->{depslist}}) {
+ next if !$_->rate || $_->rate < $min_level || $_->flag_available;
+ my $flags = join("\t", $_->rflags);
+ next if $flags eq 'FALSE';
+ push @{$pkgs_with_same_rflags{$flags}}, $_;
+ }
+
+ foreach my $raw_flags (keys %pkgs_with_same_rflags) {
+ my $flags = $or_ify_cached->($raw_flags);
+ my @pkgs = @{$pkgs_with_same_rflags{$raw_flags}};
+
+ #- determine the packages that will be selected when selecting $p.
+ #- make a fast selection (but potentially erroneous).
+ #- installed and upgrade flags must have been computed (see compute_installed_flags).
+ my %newSelection;
+
+ my @l2 = map { $_->id } @pkgs;
+ my $id;
+
+ while (defined($id = shift @l2)) {
+ exists $newSelection{$id} and next;
+ $newSelection{$id} = undef;
+
+ my $pkg = $packages->{depslist}[$id];
+ foreach ($pkg->requires_nosense) {
+ my @choices = keys %{$packages->{provides}{$_} || {}};
+ if (@choices <= 1) {
+ push @l2, @choices;
+ } elsif (! find { exists $newSelection{$_} } @choices) {
+ my ($candidate_id, $prefer_id);
+ foreach (@choices) {
+ ++$slowpart_counter;
+ my $ppkg = $packages->{depslist}[$_] or next;
+ $ppkg->flag_available and $prefer_id = $candidate_id = undef, last;
+ exists $preferred{$ppkg->name} and $prefer_id = $_;
+ $ppkg->name =~ /kernel-\d/ and $prefer_id ||= $_;
+ foreach my $l ($ppkg->requires_nosense) {
+ /locales-/ or next;
+ my $pppkg = packageByName($packages, $l) or next;
+ $pppkg->flag_available and $prefer_id ||= $_;
+ }
+ $candidate_id = $_;
+ }
+ if (defined $prefer_id || defined $candidate_id) {
+ push @l2, defined $prefer_id ? $prefer_id : $candidate_id;
+ }
+ }
+ }
+ }
+
+ foreach (keys %newSelection) {
+ my $p = $packages->{depslist}[$_] or next;
+ next if $p->flag_selected; #- always installed (accounted in system_size)
+ my $s = $group{$p->name} || $or_ify_cached->(join("\t", $p->rflags));
+ my $m = "$flags\t$s";
+ $group{$p->name} = ($memo{$m} ||= or_clean($m));
+ }
+ }
+ my (%sizes, %pkgs);
+ while (my ($k, $v) = each %group) {
+ my $pkg = packageByName($packages, $k) or next;
+ push @{$pkgs{$v}}, $k;
+ $sizes{$v} += $pkg->size - $packages->{sizes}{$pkg->name};
+ }
+ log::l("install::pkgs::computeGroupSize took: ", formatTimeRaw(time() - $time));
+ log::l(sprintf "%s %dMB %s", $_, $sizes{$_} / sqr(1024), join(',', @{$pkgs{$_}})) foreach keys %sizes;
+ \%sizes, \%pkgs;
+}
+
+
+sub openInstallLog() {
+ my $f = "$::prefix/root/drakx/install.log";
+ open(my $LOG, ">> $f") ? log::l("opened $f") : log::l("Failed to open $f. No install log will be kept."); #-#
+ CORE::select((CORE::select($LOG), $| = 1)[0]);
+ URPM::rpmErrorWriteTo(fileno $LOG);
+ $LOG;
+}
+
+sub rpmDbOpen {
+ my ($b_rebuild_needed) = @_;
+
+ clean_rpmdb_shared_regions();
+
+ if ($b_rebuild_needed) {
+ if (my $pid = fork()) {
+ waitpid $pid, 0;
+ $? & 0xff00 and die "rebuilding of rpm database failed";
+ } else {
+ log::l("rebuilding rpm database");
+ my $rebuilddb_dir = "$::prefix/var/lib/rpmrebuilddb.$$";
+ -d $rebuilddb_dir and log::l("removing stale directory $rebuilddb_dir"), rm_rf($rebuilddb_dir);
+
+ URPM::DB::rebuild($::prefix) or log::l("rebuilding of rpm database failed: " . URPM::rpmErrorString()), c::_exit(2);
+
+ c::_exit(0);
+ }
+ }
+
+ my $db;
+ if ($db = URPM::DB::open($::prefix)) {
+ log::l("opened rpm database for examining existing packages");
+ } else {
+ log::l("unable to open rpm database, using empty rpm db emulation");
+ $db = new URPM;
+ }
+
+ $db;
+}
+
+sub clean_rpmdb_shared_regions() {
+ unlink glob("$::prefix/var/lib/rpm/__db.*");
+}
+
+sub open_rpm_db_rw() {
+ clean_rpmdb_shared_regions();
+ my $db = URPM::DB::open($::prefix, 1);
+ $db and log::l("opened rpmdb for writing in $::prefix");
+ $db;
+}
+
+sub cleanOldRpmDb() {
+ my $failed;
+
+ foreach (qw(Basenames Conflictname Group Name Packages Providename Requirename Triggername)) {
+ -s "$::prefix/var/lib/rpm/$_" or $failed = 'failed';
+ }
+ #- rebuilding has been successfull, so remove old rpm database if any.
+ #- once we have checked the rpm4 db file are present and not null, in case
+ #- of doubt, avoid removing them...
+ unless ($failed) {
+ log::l("rebuilding rpm database completed successfully");
+ foreach (qw(conflictsindex.rpm fileindex.rpm groupindex.rpm nameindex.rpm packages.rpm
+ providesindex.rpm requiredby.rpm triggerindex.rpm)) {
+ -e "$::prefix/var/lib/rpm/$_" or next;
+ log::l("removing old rpm file $_");
+ rm_rf("$::prefix/var/lib/rpm/$_");
+ }
+ }
+}
+
+sub selectPackagesAlreadyInstalled {
+ my ($packages) = @_;
+
+ log::l("computing installed flags and size of installed packages");
+
+ $packages->compute_installed_flags($packages->{rpmdb});
+
+ my %sizes;
+ $packages->{rpmdb}->traverse(sub {
+ my ($p) = @_;
+ $sizes{$p->name} += $p->size;
+ });
+ $packages->{sizes} = \%sizes;
+}
+
+sub selectPackagesToUpgrade {
+ my ($packages, $o_medium) = @_;
+
+ log::l("selecting packages to upgrade");
+
+ my $state = $packages->{state} ||= {};
+ $state->{selected} = {};
+
+ my %selection;
+ $packages->request_packages_to_upgrade($packages->{rpmdb}, $state, \%selection,
+ requested => undef,
+ $o_medium ? (start => $o_medium->{start}, end => $o_medium->{end}) : (),
+ );
+ log::l("selected pkgs to upgrade: " . join(' ', map { $packages->{depslist}[$_]->name } keys %selection));
+
+ log::l("resolving dependencies...");
+ $packages->resolve_requested($packages->{rpmdb}, $state, \%selection,
+ callback_choices => \&packageCallbackChoices);
+ log::l("...done");
+ log::l("finally selected pkgs: ", join(" ", sort map { $_->name } grep { $_->flag_selected } @{$packages->{depslist}}));
+ if ($state->{rejected}) {
+ require Data::Dumper;
+ log::l(Data::Dumper::Dumper($state));
+ }
+}
+
+sub installTransactionClosure {
+ my ($packages, $id2pkg, $isUpgrade) = @_;
+
+ foreach (grep { !$_->{selected} } @{$packages->{mediums}}) {
+ foreach ($_->{start} .. $_->{end}) {
+ delete $id2pkg->{$_};
+ }
+ }
+
+ my @l = ikeys %$id2pkg;
+ my $medium;
+
+ #- search first usable medium (media are sorted).
+ foreach (@{$packages->{mediums}}) {
+ if ($l[0] <= $_->{end}) {
+ #- we have a candidate medium, it could be the right one containing
+ #- the first package of @l...
+ $l[0] >= $_->{start} and $medium = $_, last;
+ #- ... but it could be necessary to find the first
+ #- medium containing package of @l.
+ foreach my $id (@l) {
+ $id >= $_->{start} && $id <= $_->{end} and $medium = $_, last;
+ }
+ $medium and last;
+ }
+ }
+ $medium or return (); #- no more medium usable -> end of installation by returning empty list.
+
+ #- it is sure at least one package will be installed according to medium chosen.
+ {
+ my $pkg = $packages->{depslist}[$l[0]];
+ my $rpm = install::media::rel_rpm_file($medium, $pkg->filename);
+ if ($install::media::postinstall_rpms && -e "$install::media::postinstall_rpms/$rpm") {
+ #- very special case where the rpm has been copied on disk
+ } elsif (!install::media::change_phys_medium($medium->{phys_medium}, $rpm, $packages)) {
+ #- keep in mind the asked medium has been refused.
+ #- this means it is no longer selected.
+ #- (but do not unselect supplementary CDs.)
+ $medium->{selected} = 0;
+ }
+ }
+
+ my %closure;
+ foreach my $id (@l) {
+ my @l2 = $id;
+
+ if ($isUpgrade && $id < 20) {
+ #- HACK for upgrading to 2006.0: for the 20 first main packages, upgrade one by one
+ #- why? well:
+ #- * librpm is fucked up when ordering pkgs, pkg "setup" is removed before being installed.
+ #- the result is /etc/group.rpmsave and no /etc/group
+ #- * pkg locales requires basesystem, this is stupid, the result is a huge first transaction
+ #- and it doesn't even help /usr/bin/locale_install.sh since it's not a requires(post)
+ $closure{$id} = undef;
+ last;
+ }
+
+ while (defined($id = shift @l2)) {
+ exists $closure{$id} and next;
+ $closure{$id} = undef;
+
+ my $pkg = $packages->{depslist}[$id];
+ foreach ($pkg->requires_nosense) {
+ if (my $dep_id = find { $id2pkg->{$_} } keys %{$packages->{provides}{$_} || {}}) {
+ push @l2, $dep_id;
+ }
+ }
+ }
+
+ keys %closure >= $limitMinTrans and last;
+ }
+
+ map { delete $id2pkg->{$_} } grep { $id2pkg->{$_} } ikeys %closure;
+}
+
+sub install {
+ my ($isUpgrade, $toInstall, $packages, $callback) = @_;
+ my %packages;
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+ #- avoid potential problems with rpm db personality change
+ clean_rpmdb_shared_regions();
+
+ return if !@$toInstall;
+
+ #- for root loopback'ed /boot
+ my $loop_boot = fs::loopback::prepare_boot();
+
+ #- first stage to extract some important information
+ #- about the selected packages. This is used to select
+ #- one or many transactions.
+ my ($total, $nb);
+ foreach my $pkg (@$toInstall) {
+ $packages{$pkg->id} = $pkg;
+ $nb++;
+ $total += to_int($pkg->size); #- do not correct for upgrade!
+ }
+
+ log::l("install::pkgs::install $::prefix");
+ log::l("install::pkgs::install the following: ", join(" ", map { $_->name } values %packages));
+
+ URPM::read_config_files();
+ URPM::add_macro(join(' ', '__dbi_cdb', URPM::expand('%__dbi_cdb'), 'nofsync'));
+ my $LOG = openInstallLog();
+
+ #- do not modify/translate the message used with installCallback since
+ #- these are keys during progressing installation, or change in other
+ #- place (install::steps_gtk.pm,...).
+ $callback->($packages, user => undef, install => $nb, $total);
+
+ do {
+ my @transToInstall = installTransactionClosure($packages, \%packages, $isUpgrade);
+ $nb = values %packages;
+
+ #- added to exit typically after last media unselected.
+ if ($nb == 0 && scalar(@transToInstall) == 0) {
+ cleanHeaders();
+
+ fs::loopback::save_boot($loop_boot);
+ return;
+ }
+
+ #- extract headers for parent as they are used by callback.
+ extractHeaders(\@transToInstall, $packages->{mediums});
+
+ my ($retry, $retry_count);
+ while (@transToInstall) {
+ my $retry_pkg = $retry && $transToInstall[0];
+
+ if ($retry) {
+ log::l("retrying installing package " . $retry_pkg->fullname . " alone in a transaction ($retry_count)");
+ }
+ _install_raw($packages, [ $retry ? $retry_pkg : @transToInstall ],
+ $isUpgrade, $callback, $LOG, $retry_pkg);
+
+ @transToInstall = grep {
+ if ($_->flag_installed || !packageMedium($packages, $_)->{selected}) {
+ $_->free_header;
+ 0;
+ } else {
+ log::l("failed to install " . $_->fullname . " (will retry)") if !$retry;
+ 1;
+ }
+ } @transToInstall;
+
+ if (@transToInstall) {
+ if (!$retry || $retry_pkg != $transToInstall[0]) {
+ #- go to next
+ $retry_count = 1;
+ } elsif ($retry_pkg == $transToInstall[0] && $retry_count < 3) {
+ $retry_count++;
+ } else {
+ log::l("failed to install " . $retry_pkg->fullname);
+
+ my $medium = packageMedium($packages, $retry_pkg);
+ my $name = $retry_pkg->fullname;
+ my $rc = cdie("error installing package list: $name $medium->{name}");
+ if ($rc eq 'retry') {
+ $retry_count = 1;
+ } else {
+ if ($rc eq 'disable_media') {
+ $medium->{selected} = 0;
+ }
+ $retry_pkg->set_flag_requested(0);
+ $retry_pkg->set_flag_required(0);
+
+ #- dropping it
+ $retry_pkg->free_header;
+ shift @transToInstall;
+ $retry_count = 1;
+ }
+ }
+ $retry = 1;
+ }
+ }
+ cleanHeaders();
+ } while $nb > 0 && !$install::pkgs::cancel_install;
+
+ log::l("closing install.log file");
+ close $LOG;
+
+ cleanHeaders();
+ clean_rpmdb_shared_regions(); #- workaround librpm which is buggy when using librpm rooted and the just installed rooted library
+
+ fs::loopback::save_boot($loop_boot);
+}
+
+sub _install_raw {
+ my ($packages, $transToInstall, $isUpgrade, $callback, $LOG, $noscripts) = @_;
+
+ my $close = sub {
+ my ($pkg) = @_;
+ #- update flag associated to package.
+ $pkg->set_flag_installed(1);
+ $pkg->set_flag_upgrade(0);
+ #- update obsoleted entry.
+ my $rejected = $packages->{state}{rejected};
+ foreach (keys %$rejected) {
+ if (delete $rejected->{$_}{closure}{$pkg->fullname}) {
+ %{$rejected->{$_}{closure}} or delete $rejected->{$_};
+ }
+ }
+ };
+
+ my $db = open_rpm_db_rw() or die "error opening RPM database: ", URPM::rpmErrorString();
+ my $trans = $db->create_transaction($::prefix);
+
+ log::l("opened rpm database for transaction of " . int(@$transToInstall) . " packages (isUpgrade=$isUpgrade)");
+ foreach (@$transToInstall) {
+ $trans->add($_, update => $isUpgrade ? 1 : 0)
+ or log::l("add failed for " . $_->fullname);
+ }
+
+ my @checks = $trans->check; @checks and log::l("check failed : " . join("\n ", @checks));
+ $trans->order or die "error ordering package list: " . URPM::rpmErrorString();
+ $trans->set_script_fd(fileno $LOG);
+
+ log::l("rpm transactions start");
+ my $fd; #- since we return the "fileno", perl does not know we're still using it, and so closes it, and :-(
+ my @probs = $trans->run($packages, force => 1, nosize => 1,
+ if_($noscripts, noscripts => 1),
+ callback_open => sub {
+ my ($packages, $_type, $id) = @_;
+ &$callback;
+ my $pkg = defined $id && $packages->{depslist}[$id];
+ my $medium = packageMedium($packages, $pkg);
+ my $f = $pkg && install::media::rel_rpm_file($medium, $pkg->filename);
+ print $LOG "$f\n";
+ $fd = getFile_($medium->{phys_medium}, $f);
+ $fd ? fileno $fd : -1;
+ }, callback_close => sub {
+ my ($packages, $_type, $id) = @_;
+ &$callback;
+ my $pkg = defined $id && $packages->{depslist}[$id] or return;
+ my $check_installed;
+ $db->traverse_tag('name', [ $pkg->name ], sub {
+ my ($p) = @_;
+ $check_installed ||= $pkg->compare_pkg($p) == 0;
+ });
+ $check_installed or log::l($pkg->name . " not installed, " . URPM::rpmErrorString());
+ $check_installed and $close->($pkg);
+ }, callback_inst => $callback,
+ );
+ log::l("transactions done, now trying to close still opened fd");
+
+ @probs and die "installation of rpms failed:\n ", join("\n ", @probs);
+}
+
+sub upgrade_by_removing_pkgs {
+ my ($packages, $callback, $extension, $upgrade_name) = @_;
+
+ my $upgrade_data;
+ if ($upgrade_name) {
+ my @l = glob("$ENV{SHARE_PATH}/upgrade/$upgrade_name*");
+ @l == 0 and log::l("upgrade_by_removing_pkgs: no special upgrade data");
+ @l > 1 and log::l("upgrade_by_removing_pkgs: many special upgrade data (" . join(' ', @l) . ")");
+ $upgrade_data = $l[0];
+ }
+
+ log::l("upgrade_by_removing_pkgs (extension=$extension, upgrade_data=$upgrade_data)");
+
+ #- put the release file in /root/drakx so that we continue an upgrade even if the file has gone
+ my $f = common::release_file($::prefix);
+ if (dirname($f) eq '/etc') {
+ output_p("$::prefix/root/drakx/" . basename($f) . '.upgrading', cat_("$::prefix$f"));
+ }
+ my $busy_var_tmp = "$::prefix/var/tmp/ensure-rpm-does-not-remove-this-dir";
+ touch($busy_var_tmp);
+
+ if ($upgrade_data) {
+ foreach (glob("$upgrade_data/pre.*")) {
+ my $f = '/tmp/' . basename($_);
+ cp_af($_, "$::prefix$f");
+ run_program::rooted($::prefix, $f);
+ unlink "$::prefix$f";
+ }
+ }
+
+ my @was_installed = remove_pkgs_to_upgrade($packages, $callback, $extension);
+
+ {
+ my @restore_files = qw(/etc/passwd /etc/group /etc/ld.so.conf);
+ foreach (@restore_files) {
+ rename "$::prefix$_.rpmsave", "$::prefix$_";
+ }
+ install::any::create_minimal_files();
+ unlink $busy_var_tmp;
+ }
+
+ my %map = map {
+ chomp;
+ my ($name, @new) = split;
+ $name => \@new;
+ } $upgrade_data ? cat_("$upgrade_data/map") : ();
+
+ log::l("upgrade_by_removing_pkgs: map $upgrade_data/map gave " . (int keys %map) . " rules");
+
+ my $log;
+ my @to_install = uniq(map {
+ $log .= " $_=>" . join('+', @{$map{$_}}) if $map{$_};
+ $map{$_} ? @{$map{$_}} : $_;
+ } @was_installed);
+ log::l("upgrade_by_removing_pkgs special maps:$log");
+ log::l("upgrade_by_removing_pkgs: wanted packages: ", join(' ', sort @to_install));
+
+ @to_install;
+}
+
+sub removed_pkgs_to_upgrade_file() { "$::prefix/root/drakx/removed_pkgs_to_upgrade" }
+
+sub remove_pkgs_to_upgrade {
+ my ($packages, $callback, $extension) = @_;
+
+ my @to_remove;
+ my @was_installed;
+ {
+ $packages->{rpmdb} ||= rpmDbOpen();
+ $packages->{rpmdb}->traverse(sub {
+ my ($pkg) = @_;
+ if ($pkg->release =~ /$extension$/) {
+ push @was_installed, $pkg->name;
+ push @to_remove, scalar $pkg->fullname;
+ }
+ });
+ }
+ if (-e removed_pkgs_to_upgrade_file()) {
+ log::l("removed_pkgs_to_upgrade: using saved installed packages list ", removed_pkgs_to_upgrade_file());
+ @was_installed = chomp_(cat_(removed_pkgs_to_upgrade_file()));
+ } else {
+ log::l("removed_pkgs_to_upgrade: saving (old) installed packages in ", removed_pkgs_to_upgrade_file());
+ output_p(removed_pkgs_to_upgrade_file(), map { "$_\n" } @was_installed);
+ }
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+
+ remove(\@to_remove, $callback, noscripts => 1);
+
+ @was_installed;
+}
+
+sub remove_marked_ask_remove {
+ my ($packages, $callback) = @_;
+
+ my @to_remove = keys %{$packages->{state}{ask_remove}} or return;
+
+ delete $packages->{rpmdb}; #- make sure rpmdb is closed before.
+
+ #- we are not checking depends since it should come when
+ #- upgrading a system. although we may remove some functionalities ?
+
+ remove(\@to_remove, $callback, force => 1);
+
+ delete $packages->{state}{ask_remove}{$_} foreach @to_remove;
+}
+
+sub remove_raw {
+ my ($to_remove, $callback, %run_transaction_options) = @_;
+
+ log::l("removing: " . join(' ', @$to_remove));
+
+ URPM::read_config_files();
+ URPM::add_macro(URPM::expand('__dbi_cdb %__dbi_cdb nofsync'));
+
+ my $db = open_rpm_db_rw() or die "error opening RPM database: ", URPM::rpmErrorString();
+ my $trans = $db->create_transaction($::prefix);
+
+ #- stuff remove all packages that matches $p, not a problem since $p has name-version-release format.
+ $trans->remove($_) foreach @$to_remove;
+
+ $callback->($db, user => undef, remove => scalar @$to_remove);
+
+ $trans->run(undef, %run_transaction_options, callback_uninst => $callback);
+}
+sub remove {
+ my ($_to_remove, $_callback, %run_transaction_options) = @_;
+
+ my @pbs = &remove_raw;
+ if (@pbs && !$run_transaction_options{noscripts}) {
+ $run_transaction_options{noscripts} = 1;
+ @pbs = &remove_raw;
+ }
+ if (@pbs) {
+ die "removing of old rpms failed:\n ", join("\n ", @pbs);
+ }
+}
+
+sub selected_leaves {
+ my ($packages) = @_;
+ my $provides = $packages->{provides};
+
+ my @l = grep { $_->flag_requested || $_->flag_installed } @{$packages->{depslist}};
+
+ my %required_ids;
+ foreach my $pkg (@l) {
+ foreach my $req ($pkg->requires_nosense) {
+ my $h = $provides->{$req} or next;
+ my @provides = my ($provide) = keys %$h;
+ @provides == 1 or next;
+ if ($provide != (exists $required_ids{$pkg->id} ? $required_ids{$pkg->id} : $pkg->id)) {
+# log::l($packages->{depslist}[$provide]->name . " is not a leaf because required by " . $pkg->name . " (through require $req)");
+ #- $pkg requires $req, provided by $provide, so we can skip $provide
+ $required_ids{$provide} = $pkg->id;
+ }
+ }
+ }
+ [ map { $_->name } grep { ! exists $required_ids{$_->id} } @l ];
+}
+
+sub naughtyServers_list {
+ my ($quiet) = @_;
+
+ my @_old_81 = qw(
+freeswan
+);
+ my @_old_82 = qw(
+vnc-server
+postgresql-server
+);
+
+ my @_old_92 = qw(
+postfix ypbind bind ibod
+);
+
+ my @_removed_92 = qw(
+mcserv
+samba
+lpr
+);
+
+ my @_moved_to_contrib_92 = qw(
+boa
+LPRng
+wu-ftpd
+am-utils
+);
+
+ my @new_80 = qw(
+jabber
+am-utils
+boa
+cups
+drakxtools-http
+finger-server
+imap
+leafnode
+ntp
+openssh-server
+pidentd
+proftpd
+rwall
+squid
+webmin
+wu-ftpd
+);
+
+ my @new_81 = qw(
+ftp-server-krb5
+telnet-server-krb5
+ypserv
+);
+
+ my @new_82 = qw(
+LPRng
+inn
+netatalk
+nfs-utils
+rusers-server
+samba-swat
+tftp-server
+ucd-snmp
+);
+
+ my @new_92 = qw(
+clusternfs
+gkrellm-server
+mon
+net-snmp
+openldap-servers
+samba-server
+saned
+vsftpd
+);
+
+ my @new_2006 = qw(
+apache-conf
+bpalogin
+cfengine-cfservd
+freeradius
+mDNSResponder
+openslp
+pxe
+routed
+sendmail
+spamassassin-spamd
+);
+
+ my @not_warned = qw(
+lisa
+nfs-utils-clients
+portmap
+howl
+); # X server
+
+ (@new_80, @new_81, @new_82, @new_92, @new_2006, if_(!$quiet, @not_warned));
+}
+
+sub naughtyServers {
+ my ($packages) = @_;
+
+ grep {
+ my $p = packageByName($packages, $_);
+ $p && $p->flag_selected;
+ } naughtyServers_list('quiet');
+}
+
+1;
diff --git a/perl-install/install/share/advertising/ARKEIA_EN.pl b/perl-install/install/share/advertising/ARKEIA_EN.pl
new file mode 100644
index 000000000..86983ee52
--- /dev/null
+++ b/perl-install/install/share/advertising/ARKEIA_EN.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Arkeia")
diff --git a/perl-install/install/share/advertising/ARKEIA_EN.png b/perl-install/install/share/advertising/ARKEIA_EN.png
new file mode 100644
index 000000000..588310c48
--- /dev/null
+++ b/perl-install/install/share/advertising/ARKEIA_EN.png
Binary files differ
diff --git a/perl-install/install/share/advertising/ARKEIA_FR.pl b/perl-install/install/share/advertising/ARKEIA_FR.pl
new file mode 100644
index 000000000..86983ee52
--- /dev/null
+++ b/perl-install/install/share/advertising/ARKEIA_FR.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Arkeia")
diff --git a/perl-install/install/share/advertising/ARKEIA_FR.png b/perl-install/install/share/advertising/ARKEIA_FR.png
new file mode 100644
index 000000000..f852ff8c8
--- /dev/null
+++ b/perl-install/install/share/advertising/ARKEIA_FR.png
Binary files differ
diff --git a/perl-install/install/share/advertising/FLATOUT.pl b/perl-install/install/share/advertising/FLATOUT.pl
new file mode 100644
index 000000000..6aff37d8c
--- /dev/null
+++ b/perl-install/install/share/advertising/FLATOUT.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Flatout")
diff --git a/perl-install/install/share/advertising/FLATOUT.png b/perl-install/install/share/advertising/FLATOUT.png
new file mode 100644
index 000000000..f29f46f1e
--- /dev/null
+++ b/perl-install/install/share/advertising/FLATOUT.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM-GWENVIEW.pl b/perl-install/install/share/advertising/IM-GWENVIEW.pl
new file mode 100644
index 000000000..bd207a7ab
--- /dev/null
+++ b/perl-install/install/share/advertising/IM-GWENVIEW.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Gwenview")
diff --git a/perl-install/install/share/advertising/IM-GWENVIEW.png b/perl-install/install/share/advertising/IM-GWENVIEW.png
new file mode 100644
index 000000000..bc5df3d49
--- /dev/null
+++ b/perl-install/install/share/advertising/IM-GWENVIEW.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_3D.pl b/perl-install/install/share/advertising/IM_3D.pl
new file mode 100644
index 000000000..df890500b
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_3D.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("3D")
diff --git a/perl-install/install/share/advertising/IM_3D.png b/perl-install/install/share/advertising/IM_3D.png
new file mode 100644
index 000000000..87511250d
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_3D.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_CMSJOOMLA.pl b/perl-install/install/share/advertising/IM_CMSJOOMLA.pl
new file mode 100644
index 000000000..c3e04a993
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_CMSJOOMLA.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("CMS")
diff --git a/perl-install/install/share/advertising/IM_CMSJOOMLA.png b/perl-install/install/share/advertising/IM_CMSJOOMLA.png
new file mode 100644
index 000000000..626675e1e
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_CMSJOOMLA.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_CRM.pl b/perl-install/install/share/advertising/IM_CRM.pl
new file mode 100644
index 000000000..9f49a1d6d
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_CRM.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("CRM")
diff --git a/perl-install/install/share/advertising/IM_CRM.png b/perl-install/install/share/advertising/IM_CRM.png
new file mode 100644
index 000000000..0dee3e1bc
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_CRM.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_GAMME.pl b/perl-install/install/share/advertising/IM_GAMME.pl
new file mode 100644
index 000000000..7b8410016
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_GAMME.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("2007 product line")
diff --git a/perl-install/install/share/advertising/IM_GAMME.png b/perl-install/install/share/advertising/IM_GAMME.png
new file mode 100644
index 000000000..b6e894d91
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_GAMME.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_INVICTUS.pl b/perl-install/install/share/advertising/IM_INVICTUS.pl
new file mode 100644
index 000000000..40f1398f1
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_INVICTUS.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Invictus Firewall")
diff --git a/perl-install/install/share/advertising/IM_INVICTUS.png b/perl-install/install/share/advertising/IM_INVICTUS.png
new file mode 100644
index 000000000..3074732e8
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_INVICTUS.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_ONE.pl b/perl-install/install/share/advertising/IM_ONE.pl
new file mode 100644
index 000000000..4264bb405
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_ONE.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Discovery Live Mode")
diff --git a/perl-install/install/share/advertising/IM_ONE.png b/perl-install/install/share/advertising/IM_ONE.png
new file mode 100644
index 000000000..830ac953d
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_ONE.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_REGISTER.pl b/perl-install/install/share/advertising/IM_REGISTER.pl
new file mode 100644
index 000000000..5722bba0c
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_REGISTER.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("How to register")
diff --git a/perl-install/install/share/advertising/IM_REGISTER.png b/perl-install/install/share/advertising/IM_REGISTER.png
new file mode 100644
index 000000000..589fedda3
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_REGISTER.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_RPMDRAKE.pl b/perl-install/install/share/advertising/IM_RPMDRAKE.pl
new file mode 100644
index 000000000..1225056bd
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_RPMDRAKE.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Rpmdrake 2")
diff --git a/perl-install/install/share/advertising/IM_RPMDRAKE.png b/perl-install/install/share/advertising/IM_RPMDRAKE.png
new file mode 100644
index 000000000..b777fea59
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_RPMDRAKE.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_SERVICES.pl b/perl-install/install/share/advertising/IM_SERVICES.pl
new file mode 100644
index 000000000..ebdb3c0b0
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_SERVICES.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Mandriva Online Services")
diff --git a/perl-install/install/share/advertising/IM_SERVICES.png b/perl-install/install/share/advertising/IM_SERVICES.png
new file mode 100644
index 000000000..f9ef406c7
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_SERVICES.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_THEME.pl b/perl-install/install/share/advertising/IM_THEME.pl
new file mode 100644
index 000000000..dbf882bb0
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_THEME.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("New Theme")
diff --git a/perl-install/install/share/advertising/IM_THEME.png b/perl-install/install/share/advertising/IM_THEME.png
new file mode 100644
index 000000000..130c325aa
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_THEME.png
Binary files differ
diff --git a/perl-install/install/share/advertising/IM_web2.pl b/perl-install/install/share/advertising/IM_web2.pl
new file mode 100644
index 000000000..a857c2059
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_web2.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Web 2.0")
diff --git a/perl-install/install/share/advertising/IM_web2.png b/perl-install/install/share/advertising/IM_web2.png
new file mode 100644
index 000000000..7477cf255
--- /dev/null
+++ b/perl-install/install/share/advertising/IM_web2.png
Binary files differ
diff --git a/perl-install/install/share/advertising/Kaspersky.pl b/perl-install/install/share/advertising/Kaspersky.pl
new file mode 100644
index 000000000..d08b2e1d8
--- /dev/null
+++ b/perl-install/install/share/advertising/Kaspersky.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Kaspersky")
diff --git a/perl-install/install/share/advertising/Kaspersky.png b/perl-install/install/share/advertising/Kaspersky.png
new file mode 100644
index 000000000..dce68d661
--- /dev/null
+++ b/perl-install/install/share/advertising/Kaspersky.png
Binary files differ
diff --git a/perl-install/install/share/advertising/LinDVD.pl b/perl-install/install/share/advertising/LinDVD.pl
new file mode 100644
index 000000000..bb48b631b
--- /dev/null
+++ b/perl-install/install/share/advertising/LinDVD.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("LinDVD")
diff --git a/perl-install/install/share/advertising/LinDVD.png b/perl-install/install/share/advertising/LinDVD.png
new file mode 100644
index 000000000..b63cbf9f7
--- /dev/null
+++ b/perl-install/install/share/advertising/LinDVD.png
Binary files differ
diff --git a/perl-install/install/share/advertising/Makefile b/perl-install/install/share/advertising/Makefile
new file mode 100644
index 000000000..7a6ca2584
--- /dev/null
+++ b/perl-install/install/share/advertising/Makefile
@@ -0,0 +1,9 @@
+PRODUCT = dwd
+DESTDIR = $(EXTRA_INSTALL_DEST)/advertising
+
+install:
+ rm -rf $(DESTDIR)
+ install -d $(DESTDIR)
+ install -m755 `cat list-$(PRODUCT) | sed 's/png$$/pl/'` $(DESTDIR)
+ install -m644 `cat list-$(PRODUCT)` $(DESTDIR)
+ install -m644 list-$(PRODUCT) $(DESTDIR)/list
diff --git a/perl-install/install/share/advertising/README b/perl-install/install/share/advertising/README
new file mode 100644
index 000000000..58d63c2e3
--- /dev/null
+++ b/perl-install/install/share/advertising/README
@@ -0,0 +1,4 @@
+dis == Discovery
+dwd == Download
+ppp == PowerPackPlus
+pwp == PowerPack
diff --git a/perl-install/install/share/advertising/Skype.pl b/perl-install/install/share/advertising/Skype.pl
new file mode 100644
index 000000000..893bf2fc9
--- /dev/null
+++ b/perl-install/install/share/advertising/Skype.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Skype")
diff --git a/perl-install/install/share/advertising/Skype.png b/perl-install/install/share/advertising/Skype.png
new file mode 100644
index 000000000..5576ab6ea
--- /dev/null
+++ b/perl-install/install/share/advertising/Skype.png
Binary files differ
diff --git a/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pl b/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pl
new file mode 100644
index 000000000..88c69cced
--- /dev/null
+++ b/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("Transgaming/Cedega")
diff --git a/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.png b/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.png
new file mode 100644
index 000000000..c7a8c17ac
--- /dev/null
+++ b/perl-install/install/share/advertising/TRANSGAMING-CEDEGA.png
Binary files differ
diff --git a/perl-install/install/share/advertising/VPN.pl b/perl-install/install/share/advertising/VPN.pl
new file mode 100644
index 000000000..431e5d8c9
--- /dev/null
+++ b/perl-install/install/share/advertising/VPN.pl
@@ -0,0 +1,3 @@
+#!/usr/bin/perl
+
+$title = N("DrakVPN")
diff --git a/perl-install/install/share/advertising/VPN.png b/perl-install/install/share/advertising/VPN.png
new file mode 100644
index 000000000..73fe90a07
--- /dev/null
+++ b/perl-install/install/share/advertising/VPN.png
Binary files differ
diff --git a/perl-install/install/share/advertising/bitdefender.png b/perl-install/install/share/advertising/bitdefender.png
new file mode 100644
index 000000000..13c6d2082
--- /dev/null
+++ b/perl-install/install/share/advertising/bitdefender.png
Binary files differ
diff --git a/perl-install/install/share/advertising/list-dis b/perl-install/install/share/advertising/list-dis
new file mode 100644
index 000000000..3ca560e8d
--- /dev/null
+++ b/perl-install/install/share/advertising/list-dis
@@ -0,0 +1,14 @@
+LinDVD.png
+TRANSGAMING-CEDEGA.png
+FLATOUT.png
+Kaspersky.png
+Skype.png
+IM_ONE.png
+IM_3D.png
+IM_THEME.png
+IM-GWENVIEW.png
+IM_RPMDRAKE.png
+IM_web2.png
+IM_SERVICES.png
+IM_GAMME.png
+IM_REGISTER.png
diff --git a/perl-install/install/share/advertising/list-dwd b/perl-install/install/share/advertising/list-dwd
new file mode 100644
index 000000000..d6d6cbc9d
--- /dev/null
+++ b/perl-install/install/share/advertising/list-dwd
@@ -0,0 +1,14 @@
+LinDVD.png
+TRANSGAMING-CEDEGA.png
+FLATOUT.png
+Kaspersky.png
+Skype.png
+ARKEIA_EN.png
+IM_3D.png
+IM_THEME.png
+VPN.png
+IM_RPMDRAKE.png
+IM_web2.png
+IM_SERVICES.png
+IM_GAMME.png
+IM_REGISTER.png
diff --git a/perl-install/install/share/advertising/list-ppp b/perl-install/install/share/advertising/list-ppp
new file mode 100644
index 000000000..862cd4833
--- /dev/null
+++ b/perl-install/install/share/advertising/list-ppp
@@ -0,0 +1,13 @@
+bitdefender.png
+ARKEIA_EN.png
+VPN.png
+IM_INVICTUS.png
+IM_RPMDRAKE.png
+IM_CRM.png
+IM_CMSJOOMLA.png
+IM_web2.png
+IM_THEME.png
+IM_3D.png
+IM_SERVICES.png
+IM_GAMME.png
+IM_REGISTER.png
diff --git a/perl-install/install/share/advertising/list-pwp b/perl-install/install/share/advertising/list-pwp
new file mode 100644
index 000000000..d6d6cbc9d
--- /dev/null
+++ b/perl-install/install/share/advertising/list-pwp
@@ -0,0 +1,14 @@
+LinDVD.png
+TRANSGAMING-CEDEGA.png
+FLATOUT.png
+Kaspersky.png
+Skype.png
+ARKEIA_EN.png
+IM_3D.png
+IM_THEME.png
+VPN.png
+IM_RPMDRAKE.png
+IM_web2.png
+IM_SERVICES.png
+IM_GAMME.png
+IM_REGISTER.png
diff --git a/perl-install/install/share/aliases b/perl-install/install/share/aliases
new file mode 100644
index 000000000..9d8b0630b
--- /dev/null
+++ b/perl-install/install/share/aliases
@@ -0,0 +1,8 @@
+/bin/gunzip gzip
+/usr/bin/install2 ../lib/libDrakX/install/install2
+/usr/bin/commands ../lib/libDrakX/install/commands
+/usr/bin/runinstall2 install2
+/sbin/fsck.ext2 e2fsck
+/sbin/lsmod lsmod-25
+/sbin/rmmod rmmod-25
+/sbin/insmod insmod-25
diff --git a/perl-install/install/share/consolefonts/Cyr_a8x16 b/perl-install/install/share/consolefonts/Cyr_a8x16
new file mode 100644
index 000000000..a09ac03d8
--- /dev/null
+++ b/perl-install/install/share/consolefonts/Cyr_a8x16
Binary files differ
diff --git a/perl-install/install/share/consolefonts/lat0-sun16 b/perl-install/install/share/consolefonts/lat0-sun16
new file mode 100644
index 000000000..19e3d432e
--- /dev/null
+++ b/perl-install/install/share/consolefonts/lat0-sun16
Binary files differ
diff --git a/perl-install/install/share/consolefonts/lat2-sun16 b/perl-install/install/share/consolefonts/lat2-sun16
new file mode 100644
index 000000000..509e5def2
--- /dev/null
+++ b/perl-install/install/share/consolefonts/lat2-sun16
Binary files differ
diff --git a/perl-install/install/share/consolefonts/ruscii_8x16 b/perl-install/install/share/consolefonts/ruscii_8x16
new file mode 100644
index 000000000..b0513a9db
--- /dev/null
+++ b/perl-install/install/share/consolefonts/ruscii_8x16
Binary files differ
diff --git a/perl-install/install/share/fonts.tar.bz2 b/perl-install/install/share/fonts.tar.bz2
new file mode 100644
index 000000000..df08d4baf
--- /dev/null
+++ b/perl-install/install/share/fonts.tar.bz2
Binary files differ
diff --git a/perl-install/install/share/generate-xlocales b/perl-install/install/share/generate-xlocales
new file mode 100755
index 000000000..1bf60d549
--- /dev/null
+++ b/perl-install/install/share/generate-xlocales
@@ -0,0 +1,67 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 2006 Mandriva
+# Pablo Saraxtaga <pablo@mandriva.com>
+# Thierry Vignaud <tvignaud@mandriva.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+use strict;
+use lib qw(..); # for lang
+# perl_checker: use lib qw(/usr/lib/libDrakX/)
+use MDK::Common;
+use lang;
+
+my $prefix = $ARGV[0];
+
+my $dir = "$prefix/usr/share/X11/locale";
+mkdir_p($dir);
+
+output("$dir/locale.alias",
+qq(# automatically build list; only valid for install
+# since gtk+-2 is used, which uses unicode internally,
+# all locales to UTF-8 ones
+),
+ sort(uniq((map { "$_:\t\t\ten_US.UTF-8\n" } lang::list_langs()),
+ (map { "$_:\t\t\ten_US.UTF-8\n" } (@lang::locales)),
+ qq(zh_CN.gb2312:\t\t\ten_US.UTF-8
+zh_CN.GB2312:\t\t\ten_US.UTF-8
+zh_CN.Big5:\t\t\ten_US.UTF-8
+),
+ ),
+ ),
+ );
+
+output("$dir/locale.dir",
+ qq(# automatically build list ; only valid for install
+C/XLC_LOCALE: C
+en_US.UTF-8/XLC_LOCALE: UTF-8
+iso8859-1/XLC_LOCALE: ISO8859-1
+),
+ map { s/(.*_..)(\.[^@]*)*(\@.*)*$/${1}.UTF-8${3}/; "en_US.UTF-8/XLC_LOCALE: $_\n" } @lang::locales
+ );
+
+
+output("$dir/compose.dir",
+ qq(# list automatically build list ; only valid for install
+C/Compose: C
+en_US.UTF-8/Compose: UTF-8
+iso8859-1/Compose: ISO8859-1
+),
+ map {
+ s/(.*_..)(\.[^@]*)*(\@.*)*$/${1}.UTF-8${3}/;
+ "en_US.UTF-8/Compose: $_\n";
+ } @lang::locales
+ );
diff --git a/perl-install/install/share/keyboards.tar.bz2 b/perl-install/install/share/keyboards.tar.bz2
new file mode 100644
index 000000000..c9765dc60
--- /dev/null
+++ b/perl-install/install/share/keyboards.tar.bz2
Binary files differ
diff --git a/perl-install/install/share/keymaps.tar.bz2 b/perl-install/install/share/keymaps.tar.bz2
new file mode 100644
index 000000000..c2fd4db57
--- /dev/null
+++ b/perl-install/install/share/keymaps.tar.bz2
Binary files differ
diff --git a/perl-install/install/share/keymaps_generate b/perl-install/install/share/keymaps_generate
new file mode 100755
index 000000000..0265502c9
--- /dev/null
+++ b/perl-install/install/share/keymaps_generate
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+use lib "..";
+use keyboard;
+
+my $dir = "keymaps/usr/share/keymaps";
+system("rm -rf keymaps ; mkdir -p keymaps/usr/share/keymaps");
+
+foreach (keyboard::keyboards()) {
+ my $kmap = keyboard::keyboard2kmap($_);
+ if (system("./kmap2bkmap $kmap > $dir/$kmap.bkmap 2>/dev/null") != 0) {
+ warn "unknown kmap $kmap\n";
+ unlink "$dir/$kmap.bkmap";
+ }
+}
+
+system("tar cfj keymaps.tar.bz2 -C keymaps usr") == 0 or die;
+system("rm -rf keymaps");
diff --git a/perl-install/install/share/kmap2bkmap b/perl-install/install/share/kmap2bkmap
new file mode 100755
index 000000000..58505dda0
--- /dev/null
+++ b/perl-install/install/share/kmap2bkmap
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use lib "..";
+use c;
+
+my $KMAP_MAGIC = 0x8B39C07F;
+
+BEGIN { @ARGV == 1 or die "usage: kmap2bkmap <keymap>\n" }
+
+# load unicode keymap
+my $unimap = "$ARGV[0]" . ".uni";
+system("sudo loadkeys $unimap") == 0 or die;
+open F, "dumpkeys -n -f |";
+<F> =~ /^keymaps\s+(.*)/ or die;
+foreach (split ',', $1) {
+ my @l = /(\d+)-(\d+)/;
+ my ($i, $j) = @l ? @l : ($_,$_);
+ $keymaps[$_] = 1 foreach $i .. $j;
+}
+
+print pack("I", $KMAP_MAGIC);
+print map { pack "i", $keymaps[$_] || 0 } 0 .. c::MAX_NR_KEYMAPS()-1;
+
+foreach (<F>) {
+ s/\+0x/0x/g;
+ my ($keycode, $key, undef, @l) = split;
+ $keycode eq 'keycode' or next;
+ my $i = 0;
+ $L[$i++][$key] = hex $_ foreach @l;
+}
+close F or die "dumpkeys failed";
+
+foreach (@L) {
+ foreach my $i (0 .. c::NR_KEYS()-1) {
+ print pack "s", defined $_->[$i] ? $_->[$i] : 0x200;
+ }
+}
+
+exit 0;
diff --git a/perl-install/install/share/list.xml b/perl-install/install/share/list.xml
new file mode 100644
index 000000000..4d1b7950c
--- /dev/null
+++ b/perl-install/install/share/list.xml
@@ -0,0 +1,414 @@
+<list no-arch-libraries="on">
+
+<from expand="binary">
+ ash echo
+ cpio gzip bzip2
+ <if-not ARCH="ppc">
+ fdisk
+ rescuept
+ </if-not>
+ <if ARCH="ppc">
+ pdisk
+ </if>
+ insmod-25 modinfo-25 rmmod-25
+ losetup
+ lvm2 mdadm
+ mount umount
+
+ <mode copy="dereference">
+ vol_id <!-- needed by libDrakX -->
+ </mode>
+
+ badblocks
+ mkswap
+ mkfs.ext2 e2fsck tune2fs dumpe2fs resize2fs
+
+ mkfs.reiserfs
+ mkfs.xfs
+ resize_reiserfs
+ <if ARCH="i.86|x86_64|ia64">
+ mkdosfs
+ ntfsresize
+ dmraid
+ </if>
+ <if ARCH="i.86|x86_64">
+ mkfs.jfs fsck.jfs
+ </if>
+ quotacheck
+
+ consolechars kbd_mode
+ Xorg xmodmap xset
+ fb2png
+ perl
+ monitor-edid monitor-get-edid-using-vbe monitor-parse-edid monitor-get-edid
+
+ <filter subst="s!^echo!/bin/echo!">
+ unicode_start
+ </filter>
+
+ <if ARCH="i.86|x86_64|ia64">
+ dmidecode
+ </if>
+ <if ARCH="ia64">
+ efibootmgr
+ </if>
+
+ <if ARCH="ppc">
+ hattrib hcopy hcd
+ hformat hmount humount
+ </if>
+
+ <if set="DEBUG_INSTALL">
+ strace bash less ps top gdb
+ </if>
+</from>
+
+<from dir="/usr/LIB/xorg/modules">
+ libpcidata.so
+ drivers/fbdev_drv.so
+ input/wacom_drv.so
+ input/mouse_drv.so
+ input/keyboard_drv.so
+ linux/libfbdevhw.so
+ libfb.so
+ libshadow.so
+</from>
+
+<from dir="/usr/share/fonts/">
+ <to flatten="on">
+ misc/cursor.pcf.gz
+ TTF/bengali/MuktiNarrow.ttf
+ TTF/dejavu/DejaVuSans.ttf
+ TTF/dejavu/DejaVuSans-Bold.ttf
+ TTF/dejavu/DejaVuSans-BoldOblique.ttf
+ TTF/devanagari/raghu.ttf
+ TTF/gurmukhi/lohit_pa.ttf
+ TTF/thai/norasi_n.ttf
+ </to>
+</from>
+
+<from dir="/usr/share/locale">
+ <to dir="/usr/share/locale_special">
+ <from expand="glob">
+ */LC_MESSAGES/drakx-net.mo
+ */LC_MESSAGES/drakx-kbd-mouse-x11.mo
+ </from>
+ </to>
+</from>
+
+<from dir="/usr/share/X11/locale">
+ C
+ en_US.UTF-8
+ iso8859-1
+</from>
+
+<filter command="strip">
+<from dir="/LIB">
+ libnss_nis.so.2
+ libnss_files.so.2
+ libnss_dns.so.2
+ libresolv.so.2
+ ld-linux*.so.2
+</from>
+</filter>
+
+<from>
+ /etc/fonts/fonts.conf
+ /etc/protocols
+ /usr/LIB/xserver/SecurityPolicy
+ /etc/pango/ARCH/pango.modules
+ /usr/LIB/gtk-2.0/*/loaders/libpixbufloader-png.so
+ <!-- XPM loader is needed by Gtk2::Html2 on error -->
+ /usr/LIB/gtk-2.0/*/loaders/libpixbufloader-xpm.so
+ /usr/LIB/gtk-2.0/*/immodules/im-cedilla.so
+ /usr/LIB/gtk-2.0/*/engines/libia_ora.so
+
+ /usr/lib/libDrakX/keyboard.pm
+ /usr/lib/libDrakX/mouse.pm
+ /usr/lib/libDrakX/network
+ /usr/lib/libDrakX/Xconfig
+ /usr/lib/libDrakX/auto/xf86misc
+ /usr/lib/libDrakX/xf86misc
+ /usr/share/libDrakX/pixmaps
+ /usr/share/doc/installer-help/
+ /usr/lib/rpm/rpmrc
+ /usr/lib/rpm/macros
+ /usr/lib/rpm/mandriva/rpmrc
+ /usr/lib/rpm/mandriva/macros
+ /usr/share/pci.ids
+ /usr/share/locale/UTF-8
+ /usr/share/terminfo/l/linux
+ /bin/brltty
+
+ /sbin/pcmcia-socket-startup
+ /etc/pcmcia/config.opts
+
+ <from expand="glob">
+ <from spaces_in_filename="1">
+ /usr/share/themes/Ia Ora*/gtk-2.0/gtkrc
+ </from>
+ /etc/gtk-2.0/gdk-pixbuf.loaders.*
+ /etc/gtk-2.0/gtk.immodules.*
+ /etc/brltty/text.*.tbl
+ /etc/brltty/brltty-??.hlp
+ /lib/brltty/libbrlttyb??.so
+ </from>
+
+ <from expand="command">
+ perl -Mlang -I.. -le 'print foreach lang::console_font_files()'
+ </from>
+
+ <if set="DEBUG_INSTALL">
+ /etc/termcap
+ </if>
+</from>
+
+<from dir="/usr/share/ldetect-lst">
+ dmitable.gz pcitable.gz usbtable.gz
+ <filter command="gzip">
+ Cards+ MonitorsDB isdn.db
+ </filter>
+</from>
+
+<from dir="/usr/LIB/pango/*/modules">
+ pango-basic-fc.so
+ pango-arabic-fc.so
+ pango-hangul-fc.so
+ pango-hebrew-fc.so
+ pango-indic-fc.so
+ pango-thai-fc.so
+</from>
+
+<from dir="/usr/LIB/gconv">
+ BIG5.so
+ EUC-JP.so
+ libGB.so
+ libJIS.so
+ libKSC.so
+ EUC-KR.so
+ ISO8859-15.so
+ ISO8859-14.so
+ ISO8859-13.so
+ ISO8859-9E.so
+ ISO8859-9.so
+ ISO8859-7.so
+ ISO8859-5.so
+ ISO8859-3.so
+ ISO8859-2.so
+ ISO8859-1.so
+ KOI8-K.so
+ KOI8-U.so
+ KOI8-R.so
+ TIS-620.so
+ CP1251.so
+ GEORGIAN-PS.so
+ EUC-CN.so
+ gconv-modules
+</from>
+
+<filter subst="/^__END__/ and $_ = '', close ARGV">
+<from expand="main-perl">
+ AutoLoader.pm
+ Carp.pm
+ Carp/Heavy.pm
+ Exporter.pm
+ Exporter/Heavy.pm
+ FileHandle.pm
+ File/Basename.pm
+ File/Find.pm
+ File/Path.pm
+ File/Spec.pm
+ File/Spec/Unix.pm
+ File/Temp.pm
+ Getopt/Long.pm
+ PerlIO.pm
+ SelectSaver.pm
+ SelfLoader.pm
+ Symbol.pm
+ Time/Local.pm
+ IO/Socket/INET.pm
+ IO/Socket/UNIX.pm
+ base.pm
+ constant.pm
+ locale.pm
+ utf8.pm
+ utf8_heavy.pl
+ unicore/Exact.pl
+ unicore/Canonical.pl
+ unicore/PVA.pl
+ unicore/To/Lower.pl
+ unicore/To/Fold.pl
+ unicore/To/Upper.pl
+ unicore/lib/gc_sc/Word.pl
+ unicore/lib/gc_sc/Digit.pl
+ dumpvar.pl
+ warnings.pm
+ warnings/register.pm
+ ARCH-linux/File/Glob.pm
+ ARCH-linux/auto/File/Glob/Glob.so
+ ARCH-linux/Config.pm
+ ARCH-linux/Data/Dumper.pm
+ ARCH-linux/DynaLoader.pm
+ ARCH-linux/Errno.pm
+ ARCH-linux/Fcntl.pm
+ ARCH-linux/XSLoader.pm
+ ARCH-linux/auto/Fcntl/Fcntl.so
+ ARCH-linux/IO.pm
+ ARCH-linux/IO/File.pm
+ ARCH-linux/IO/Handle.pm
+ ARCH-linux/IO/Seekable.pm
+ ARCH-linux/IO/Select.pm
+ ARCH-linux/IO/Socket.pm
+ ARCH-linux/Socket.pm
+ ARCH-linux/_h2ph_pre.ph
+ ARCH-linux/asm/unistd.ph
+ <if ARCH="ia64">
+ ARCH-linux/asm-i386/unistd.ph
+ ARCH-linux/asm-x86_64/unistd.ph
+ ARCH-linux/asm/break.ph
+ </if>
+ <if ARCH="x86_64">
+ ARCH-linux/asm-i386/unistd.ph
+ ARCH-linux/asm-x86_64/unistd.ph
+ </if>
+ ARCH-linux/auto/Data/Dumper/Dumper.so
+ ARCH-linux/auto/IO/IO.so
+ ARCH-linux/auto/Socket/Socket.so
+ ARCH-linux/bits/syscall.ph
+ ARCH-linux/bits/wordsize.ph
+ ARCH-linux/sys/syscall.ph
+ ARCH-linux/syscall.ph
+ ARCH-linux/auto/DynaLoader/dl_findfile.al
+ ARCH-linux/lib.pm
+ ARCH-linux/re.pm
+ ARCH-linux/auto/POSIX/autosplit.ix
+ ARCH-linux/auto/POSIX/load_imports.al
+ ARCH-linux/auto/POSIX/POSIX.so
+ ARCH-linux/Cwd.pm
+ ARCH-linux/auto/Cwd/Cwd.so
+ ARCH-linux/POSIX.pm
+ ARCH-linux/Time/HiRes.pm
+ ARCH-linux/auto/Time/HiRes/HiRes.so
+ bytes.pm
+ integer.pm
+ overload.pm
+ strict.pm
+ vars.pm
+ Net/Cmd.pm
+ Net/Config.pm
+ Net/FTP.pm
+ Net/FTP/A.pm
+ Net/FTP/I.pm
+ Net/FTP/dataconn.pm
+ Net/Netrc.pm
+ Scalar/Util.pm
+ List/Util.pm
+ <if set="DEBUG_INSTALL">
+ perl5db.pl
+ Term/ReadLine.pm
+ </if>
+</from>
+
+<from expand="perl">
+ packdrake.pm
+ Config/IniFiles.pm
+ MDV/Packdrakeng.pm
+ MDV/Distribconf.pm
+ MDK/Common
+ MDK/Common.pm
+ String/ShellQuote.pm
+ ARCH-linux/Locale/gettext.pm
+ ARCH-linux/auto/Locale/gettext/gettext.so
+ ARCH-linux/File/FnMatch.pm
+ ARCH-linux/auto/File/FnMatch/FnMatch.so
+ ARCH-linux/Term/ReadKey.pm
+ ARCH-linux/auto/Term/ReadKey/ReadKey.so
+ ARCH-linux/URPM.pm
+ ARCH-linux/URPM/Build.pm
+ ARCH-linux/URPM/Resolve.pm
+ ARCH-linux/URPM/Signature.pm
+ ARCH-linux/auto/URPM/URPM.so
+ <if set="DEBUG_INSTALL">
+ ARCH-linux/Term/ReadLine/Gnu.pm
+ ARCH-linux/Term/ReadLine/Gnu/XS.pm
+ ARCH-linux/auto/Term/ReadLine/Gnu/Gnu.so
+ ARCH-linux/auto/Term/ReadLine/Gnu/XS/autosplit.ix
+ </if>
+</from>
+
+<from expand="rpm" matching="m!^/usr/lib/perl5! and !/\.pod$/">
+ perl-Gtk2
+ perl-Glib
+ perl-Gtk2-Html2
+ perl-Curses
+ perl-Curses-UI
+</from>
+</filter>
+
+<from dir="..">
+ <to dir="$(REP4PMS)">
+ <filter command="strip">
+ <from expand="command">
+ cd .. ; find auto -follow -name "*.so"
+ </from>
+ </filter>
+ </to>
+</from>
+
+<from dir="../../tools">
+ <to dir="/usr/bin" flatten="on">
+ serial_probe/serial_probe
+ xhost+
+
+ <mode on-error="ignore">
+ ARCH/busybox
+ </mode>
+ </to>
+</from>
+
+<from dir="share">
+ <from expand="tar">
+ fonts.tar.bz2
+ keyboards.tar.bz2
+ keymaps.tar.bz2
+ </from>
+
+ <to dir="/usr/share">
+ consolefonts symlinks
+ upgrade
+ </to>
+</from>
+
+<from dir="../pixmaps">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+</from>
+
+<from dir="../share">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+</from>
+
+<from dir="pixmaps">
+ <to dir="/usr/share">
+ <from expand="glob">
+ *.png
+ </from>
+ </to>
+</from>
+
+<from dir="pixmaps/langs">
+ <to dir="/usr/share/langs">
+ <from expand="command">
+ perl -I.. -Mlang -le 'print "lang-$_.png" foreach lang::list_langs()'
+ </from>
+ </to>
+</from>
+
+</list>
diff --git a/perl-install/install/share/po/DrakX.pot b/perl-install/install/share/po/DrakX.pot
new file mode 100644
index 000000000..03c94277b
--- /dev/null
+++ b/perl-install/install/share/po/DrakX.pot
@@ -0,0 +1,1490 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr ""
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr ""
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr ""
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr ""
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr ""
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr ""
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr ""
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr ""
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr ""
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr ""
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr ""
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr ""
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr ""
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr ""
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr ""
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr ""
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr ""
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr ""
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr ""
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr ""
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr ""
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr ""
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr ""
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr ""
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr ""
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr ""
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr ""
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr ""
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr ""
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr ""
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr ""
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr ""
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr ""
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr ""
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr ""
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr ""
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr ""
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr ""
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr ""
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr ""
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr ""
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
diff --git a/perl-install/install/share/po/Makefile b/perl-install/install/share/po/Makefile
new file mode 100644
index 000000000..2dc9ce1e1
--- /dev/null
+++ b/perl-install/install/share/po/Makefile
@@ -0,0 +1,36 @@
+NAME = DrakX
+LOCALEDIR = ${prefix}/share/locale
+PMSFILES = *.pm share/advertising/*.pl share/meta-task/compssUsers.pl*
+PMSFILES_HERE = $(wildcard $(PMSFILES:%=../../%))
+
+MAIN_PO_FILES = ../../../share/po/libDrakX.pot
+
+POFILES = $(wildcard *.po)
+MOFILES = $(POFILES:%.po=%.mo)
+LANGS = $(POFILES:%.po=%)
+
+default: $(MOFILES)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+merge: $(NAME).pot
+ for n in $(POFILES); do \
+ echo "Merging $$n"; \
+ msgmerge $$n $(NAME).pot > "$$n"t ; \
+ mv -f "$$n"t $$n ; \
+ done
+
+$(NAME).pot: $(PMSFILES_HERE)
+ cd ../.. ; perl_checker -q --generate-pot share/po/.$@ $(PMSFILES)
+ xgettext $(MAIN_PO_FILES:%=-x %) -o $@ .$@
+ rm -f .$@
+
+install: $(MOFILES)
+ for l in $(LANGS); do \
+ install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ done
+
+clean:
+ @rm -rf *.mo $(POFILES:%=%t)
diff --git a/perl-install/install/share/po/af.po b/perl-install/install/share/po/af.po
new file mode 100644
index 000000000..87a52f397
--- /dev/null
+++ b/perl-install/install/share/po/af.po
@@ -0,0 +1,1619 @@
+# translation of DrakX-af21-09.po to Afrikaans
+# translation of DrakX-af.po to Afrikaans
+# KTranslator Generated File
+# KTranslator Generated File
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Schalk W. Cronjé <schalkc@ntaba.co.za>, 2000.
+# Dirk van der Walt <mandrake@webmail.co.za>, 2003.
+# Dirk van der Walt <dirkvanderwalt@webmail.co.za>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-af\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-04-21 17:33+0200\n"
+"Last-Translator: Dirk van der Walt <dirkvanderwalt@webmail.co.za>\n"
+"Language-Team: Afrikaans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Beskik u oor nog?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CDROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Netwerk %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Netwerk %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Kontak Mandriva Linux se webwerf vir 'n lys van spieëlwebplekke...."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "Kontak Mandriva Linux se webwerf vir 'n lys van spieëlwebplekke...."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Kies 'n spieël waar die pakkette verkry kan word"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Gids"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kan nie %s op %s vind nie"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ondersoek pakette wat reeds geïnstalleer is..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Soek vir pakkette om op te gradeer..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"U het die volgende bediener(s) gekies: %s\n"
+"\n"
+"\n"
+"Hierdie bedieners is aktief by verstek. Sover bekend, het hulle nie enige\n"
+"sekuriteits-gevare nie. Daar mag wel mettertyd nuwe gevare gevind word.\n"
+"In so geval, moet u tot verseker dat u hulle so gou moontlik updateer.\n"
+"\n"
+"\n"
+"Verlang u nog steeds hierdie dienste?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Die volgende pakkette moet verwyder word om u rekenaar op te gradeer: %s\n"
+"\n"
+"\n"
+"Wil u werklik dat ons hulle verwyder?\n"
+
+#
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Die volgende pakkette geïnstalleer word:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "Ftp"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "PFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Netwerk"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Kies asseblief"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Lêer bestaan alreeds. Moet dit gebruik word?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Toegang verbied"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kan nie skermfoto's neem voor partisie skep nie"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skermfoto's sal na die installasie beskikbaar wees in %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Besig met installasie"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurasie"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "U moet ook %s formatteer"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Sekere hardeware op u rekenaar benodig geslote drywers.\n"
+"U kan inligting hieroorvind by %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Netwerk op pad op"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Netwerk op pad af"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Stuur lêers..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Bespeuring aan die gebeur"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "benodig"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "belangrik"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "baie oulik"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "oulik"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "moontlik"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Werkstasie"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kantoorwerkstasie"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kantoorprogramme: Woordverwerkers(OpenOffice.org Writer, Kword), spreistate "
+"(OpenOffice.org Calc, Kspread), PDF-sigprogramme, ens."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kantoorprogramme: Woordverwerkers( kword, abiword), spreistate (kspread, "
+"gnumeric), PDF-sigprogramme, ens."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Speletjiesrekenaar"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Vermaak: Arkade, Bordspel, Strategie ens."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastasie"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Klank- en videospelers/redigeerders"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetstasie"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Stel hulpprogramme om e-pos en netnuus te lees en te stuur (mutt, tin) en om "
+"ook die web deur te blaai."
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netwerkrekenaar (kliënt)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Kliëntprogramme vir 'n verkeidenheid protokolle insluitend SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nutsprogramme wat u rekenaarkonfigurasie vergemaklik"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsole Hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+"Redigeerders. teksverwerkers, instruksiedoppe, lêer-nutsprogramme, terminaal-"
+"programme"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Ontwikkeling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C en C++ ontwikkelingsprogrammateke, programme en insluitlêers"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasie"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Boeke en HOWTO's oor Linux en Vrye Sagteware"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Derdeparty ondersteuning van programme"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web-bediener"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Groep:"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-bediener"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Vuurmuur/Netwerkroteerder"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetpoort"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Lêer/_Nuut"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-pos-bediener"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Herstel vanaf CD"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-bediener"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinnaam en Netwerk-informasie-bediener (DNS/NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Drukkerbediener"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Samba-bediener"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Databasis"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL of MySQL databasisbediener"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "e-Pos"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-pos-bediener"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL of MySQL databasisbediener"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Netwerkrekenaar-bediener"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS, SMB, Instaan- , SSH (Bedieners)"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafiese Omgewing"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE Werkstasie"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Die K-werkskermomgewing (KDE), die basiese grafiese omgewing met 'n "
+"versameling bygaande hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-werkstasie"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"'n Grafiese omgewing met gebruikersvriendelike stel applikasies en "
+"werkskerm-hulpprogramme"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "'n Werkstasie"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ander Grafiese Werkskerms"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ens."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Nutsprogramme"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-bediener"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webkamera"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Terminal Server Konfigurasie"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Monitor van Netwerk"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Store</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Probleme met die konfigurasie van drukker \" %s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"'n Fout het plaasgevind en ek weet nie hoe om dit veilig te hanteer\n"
+"nie. Gaan op u eie risiko voort."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Sekere belangrike pakkette het nie korrek geïnstalleer nie.\n"
+"Óf die CDROM-aandrywer óf die CD is foutief.\n"
+"Toets die CD op 'n werkende Linux installasie met \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Gaan stap '%s' binne\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Installasie %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tussen elemente"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"U stelsel het min hulpbronne beskikbaar. U mag dalk probleme\n"
+"ondervind met die installering\n"
+"van Mandriva Linux. In so 'n geval probeer eerder die teksinstallasie.\n"
+"Daarvoor moet u\n"
+"'F1' druk wanneer u vanaf die CDROM herlaai en dan 'text' op die\n"
+"instruksielyn intik."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Kies Pakketgroepe"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuele pakket-seleksie"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totale grootte: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Foutiewe pakket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Weergawe: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Grootte: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Belangrikheid: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "U kan nie hierdie pakket selekteer/deselekteer nie"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "deur %s wat soek is"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "deur problematiese %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "probeer promosie van %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "om %s te kan behou"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"U kan nie hierdie pakket selekteer nie, omdat daar nie meer spasie "
+"beskikbaar is nie"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ons gaan die volgende pakette installeer"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Die volgende pakkette gaan verwyder word"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Hierdie is 'n verpligte pakket. Dit kan nie uitgehaal word nie."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "U kan nie heirdie pakket verwyder nie. Dis alreeds geïnstalleer"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "U kan nie hierdie pakket deselekteer nie. Dit moet opgradeer word."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Wys outogeselekteerde pakkette."
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installasie"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Pakketkeuse"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Pakketseleksie word opgedateer"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimale installasie"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Sagteware Beheer"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kies die pakkette wat u wil installeer"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Besig met installasie"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Geen Detail"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tyd oor "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Skatting"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakket"
+msgstr[1] "%d pakkette"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Opsomming"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigureer"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nie gekonfigureer nie"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "'n Fout het voorgekom"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Kies asseblief u sleutelborduitleg."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Hier is die volle lys van beskikbare lande"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installeer/Opgradeer"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Is hierdie 'n installasie of opgradering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Opgradeer %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Enkripsie-sleutel vir %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE word opgestel"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Geen beskikbare 1MB herlaaipartisie nie! Installasie sal voortgaan, maar u "
+"sal herlaaipartisie met DiskDrake moet skep indien u die stelsel wil "
+"herlaai."
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Geen beskikbare 1MB herlaaipartisie nie! Installasie sal voortgaan, maar u "
+"sal herlaaipartisie met DiskDrake moet skep indien u die stelsel wil "
+"herlaai."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Verander u CDROM!\n"
+"\n"
+"Sit asb. die CDROM getiteld \"%s\" in die aandrywer en druk OK. Indien u "
+"nie\n"
+"hieroor beskik nie, druk Kanselleer om installasies vanaf dié CDROM te vermy."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Soek vir beskikbare pakkette"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Kies asb. die laai of stoor pakketkeuse op die floppie.\n"
+"Die formaat is dieselfde as outoinstallasie-genereerde floppies."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Las"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Stoor"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Laai lêer"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Geselekteerde grootte is groter as beskikbare spasie."
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipe installasie"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"U het glad nie 'n groep pakkette gekies nie.\n"
+"Kies asseblief die tipe minimale installasie:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Met X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Met basiese dokumentasie (word aanbeveel!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Absolute minimale installasie (geen urpmi!)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alles"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Berei installasie voor"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installeer pakket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Daar was 'n fout met pakkette:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Gaan steeds voort?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Stoor pakketseleksie"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Daar was 'n fout met die installasie van die pakkette:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-installasiekonfigurasie"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"U het nou 'n geleentheid om opgedateerde pakkette af te laai.Hierdie "
+"pakkette is opgedateer na die distribusie vrygestel is.\n"
+"Hulle mag moontlike sekuriteits-probleme en goggas regstel.\n"
+"\n"
+"Sou u hulle wil aflaai, benodig u 'n werkende Internetkonneksie.\n"
+"\n"
+"Wil u dit nou installeer?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Spieël word gekontak vir die lys van pakkette..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Kon nie die spieëlwebplek %s kontak nie"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardeware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Klankkaart"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Beskik u oor 'n ISA klankkaart?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "Loop \"sndconfig\" na die installasie om u klankkaart te konfigureer"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Geen klankkaart opgespoor nie. Probeer \"harddrake\" na die installasie"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-kaart"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiese-koppelvlak"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Netwerk & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Instaan bedieners"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "gekonfigureer"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sekuriteitsvlak"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Vuurmuur"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ge-aktiveer"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ge-deaktiveer"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Selflaai"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s op %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "U het nog nie 'X' opgestel nie. Verlang u dit regtig?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Herlaaistelsel word voorberei..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Dit wil voorkom of u 'n 'OldWorld' of Onbekende\n"
+"rekenaar het, die yaboot herlaaistelsel sal nie hier werk nie.\n"
+"Ons sal voortgaan met die installasie, maar u sal\n"
+"BootX of 'n ander manier moet gedruik om u rekenaar te selflaai"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Wil u aboot gebruik?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Die 'aboot' installasie het gefaal. Wil u 'n installasie afwurg al\n"
+"word die eerste partisie vernietig?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Met hierdie sekuriteitsvlak word toegang na lêers op die Windows partisie "
+"vernou na slegs die administrateur"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sit 'n leë floppie in aandrywer %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Outoinstallasieskyf word geskep."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Bepaalde stappe is nie afgehandel nie.\n"
+"\n"
+"Wil u werklik nou eindig?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Geluk"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Herlaai"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Skep outoinstallasieskyf"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Die outomatiese installasie kan ten volle geoutomatiseer\n"
+"word, in daardie geval kan dit die hardeskyf oorskryf!!!\n"
+"(dit is vir die installasie op 'n ander rekenaar).\n"
+"\n"
+"U mag verkies om hierdie installasie elders te herhaal.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Herspeel"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Outomaties"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Stoor pakketseleksie"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Taal"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensie"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muis"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Hardeskyf-speuring."
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Sleutelbord"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sekuriteit"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisionering"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Besig met installasie"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Magtiging"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Gebruikers"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Netwerk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Herlaaistelsel"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Stel X op"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Opsomming"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dienste"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Verlaat"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakket, %d MB)"
+#~ msgstr[1] "(%d pakkette, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakkette"
+
+#~ msgid "Language"
+#~ msgstr "Taal"
+
+#~ msgid "License"
+#~ msgstr "Lisensie"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Kies installasieklas"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Skatting"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Kies pakkette om te installeer"
+
+#~ msgid "Users"
+#~ msgstr "Gebruikers"
+
+#~ msgid "Networking"
+#~ msgstr "Netwerk"
+
+#~ msgid "Configure X"
+#~ msgstr "Stel X op"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Kan nie die toegang tot die 'kernel'-modules vir hierdie 'kernel' kry "
+#~ "nie. ( lêer %s is soek). Dit beteken normaalweg dat u selflaaiskyf "
+#~ "verskil van die Installasie-media sin ( skep assebleif 'n nuwer disket)"
diff --git a/perl-install/install/share/po/am.po b/perl-install/install/share/po/am.po
new file mode 100644
index 000000000..9abbaa898
--- /dev/null
+++ b/perl-install/install/share/po/am.po
@@ -0,0 +1,1520 @@
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/am.php3
+# Copyright (C) 2004 Mandriva SA
+# Alemayehu Gemeda <alemayehu@gmx.at>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-06-01 03:36+0100\n"
+"Last-Translator: Alemayehu <alemayehu@gmx.at>\n"
+"Language-Team: Amharic <am-translate@geez.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "ሌላ አለ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "ሲዲ-ሮም"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "መረብ"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "መረብ"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "ዶሴ"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "መረጃ በ%s መጠቀሚያ ፕሮግራም ላይ"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "የሚከተሉት ጥቅሎች ሊወገዱ ነው"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "መረብ"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "እባክዎ ያለ ሰነድን ይምረጡ"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "ፋይሉ በፊትም ነበር። ልጠቀምበት?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "ፈቃድ አልተሰጠም"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "ፋይል ተጭኗል %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "በመትከል ላይ"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "ስየማ"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "መረቡን በማቀራረብ ላይ"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "መረቡን በማለያየት ላይ"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "የቅርብ ጊዜ ፋይሎች"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "የተሻሻለ ዊድጌት ፍጠር"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "አስፈላጊ"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "በጣም ጥሩ"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ጥሩ"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ምናልባት"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "እድገት"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "ማስረጃ"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "የመረብ ሰርቨር"
+
+#: share/meta-task/compssUsers.pl:85
+#, fuzzy, c-format
+msgid "Apache"
+msgstr "መተላለፊያ"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "የውይይት መድረክ"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "የሳምባ ተጠሪ"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "አዲስ ፋይል።"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "የመልዕክት ተጠሪ ሚስጢራዊ ቃል ያስፈልጋል"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "በዝርዝር ውስጥ ዶሴ ጨምር"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "የFTP ተጠሪ"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "የዘርፍ ስም ሰርቨር"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "የማተሚያ ሰርቨር"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "የሳምባ ሰርቨር"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "ዳታቤዝ"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "ፖስታ"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "ሰሌዳ"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "ፊሊፒንስ"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "ስለተጠሪ መረጃ"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "ዌብ-ካም"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "ቀዳሚ ተጠሪ ይጠቀም"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Name=መረብ"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>የMandriva Linux ባለሞያ</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "የባሕር-መዝገብ እሴት '%s' ወደ '%s' እንደገና መሰየም አልተቻለም።"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "የMandriva Linux ተከላ %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "የጥቅል ቡድን ምርጫ"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "የነጠላ ጥቅል ምርጫ"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "አጠቃላይ መጠን: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "ትክክል ያልሆነ ጥቅል"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "ዝርያ: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "መጠን: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "አስፈላጊነት: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "ይህን ጥቅል መምረጥ/አለመምረጥ አይችሉም"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ባለመገኘቱ ምክንያት"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s አጥጋቢ ባለመሆኑ ምክንያት"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%sን ለማስተዋወቅ በመሞከር ላይ"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%sን ለማቆየት"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "የሚከተሉት ጥቅሎች ሊተከሉ ነው"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "የሚከተሉት ጥቅሎች ሊወገዱ ነው"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "ይህንን ጥቅል መምረጥ አይችሉም። ቀደም ብሎ ተተክሏል።"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "ትከል"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "የጥቅል ምርጫ"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "የጥቅል ምርጫ በማሻሻል ላይ"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "አነስተኛ ተከላ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "ለመትከል የሚፈልጉትን ጥቅል ይምረጡ"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "በመትከል ላይ"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "ያለ ዝርዝሮች"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr " ይቀራል"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "በግምት"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d ጥቅሎች"
+msgstr[1] "%d ጥቅሎች"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "ማጠቃለያ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "ለውጥ"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "አልተስተካከለም"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "ስህተት ተፈጥሯል"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr ""
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr ""
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ትከል/አሳድግ"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "የ%s ሚስጢራዊ መገልበጫ ቁልፍ"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDEን በማስተካከል ላይ"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "ጫን"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "አስቀምጥ"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "1 ፋይል"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "የተከላው አይነት"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "በX"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "ሁሉንም"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "ተከላ በማዘጋጀት ላይ"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "የ%s ጥቅል በመትከል ላይ"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "ለማንኛውም ቀጥል?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "የጥቅሎችን ምርጫ አስቀምጥ"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "የ%s ጥቅል በመትከል ላይ"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-install configuration"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "አሻሻዎች"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "ከአንጸባራቂ %s ጋር መገናኘት አልተቻለም"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "ሀርድዌር"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "የድምፅ ካርድ"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "የISA ድምጽ ካርድ አለዎት?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "የቲቪ ካርድ"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "ንድፋዊ እይታ"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "መረብ እና ኢንተርኔት"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "ወኪሎች"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "ተስተካክሏል"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "የደህንነት ደረጃ"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "የእሳት ግድግዳ"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "መስራት ጀምሯል"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "መስራት አቁሟል"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "ጀምር"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s ላይ ነው"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "አስጀማሪ በማዘጋጀት ላይ..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, fuzzy, c-format
+msgid "Do you want to use aboot?"
+msgstr "ስራ-እቅዱን መሠረዝ ይፈልጋሉ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "እንኳን ደስ ያለዎ!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "እንደገና ጀምር"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr ""
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "የጥቅሎችን ምርጫ አስቀምጥ"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "ቋንቋ"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "መጠቆሚያ"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "መተየቢያ"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ደህንነት"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "በመትከል ላይ"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr ""
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ተጠቃሚዎች"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "መረብ"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "አስጀማሪያ"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Xን ሰይም"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ማጠቃለያ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "አገልግሎት"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "አሻሻዎች"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "ውጣ"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d ጥቅሎች"
+#~ msgstr[1] "%d ጥቅሎች"
+
+#~ msgid "%d packages"
+#~ msgstr "%d ጥቅሎች"
+
+#~ msgid "Language"
+#~ msgstr "ቋንቋ"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "በመትከል ላይ"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "በግምት"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "%d ጥቅሎች"
+
+#~ msgid "Users"
+#~ msgstr "ተጠቃሚዎች"
+
+#~ msgid "Networking"
+#~ msgstr "መረብ"
+
+#~ msgid "Configure X"
+#~ msgstr "Xን ሰይም"
diff --git a/perl-install/install/share/po/ar.po b/perl-install/install/share/po/ar.po
new file mode 100644
index 000000000..4890ed0bd
--- /dev/null
+++ b/perl-install/install/share/po/ar.po
@@ -0,0 +1,1623 @@
+# translation of DrakX.po to Arabic
+# Amr Fathy <amr10@menanet.net>, 2001.
+# Mohammed Gamal <f2c2001@yahoo.com>, 2002.
+# Youcef Rabah Rahal <rahal@arabeyes.org>, 2004.
+# Ossama M. Khayat <okhayat@yahoo.com>, 2004, 2005.
+# Munzir Taha <munzir@kacst.edu.sa>, 2004.
+# Abdulaziz Al-Arfaj <alarfaj@arabeyes.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-03-03 01:06+0300\n"
+"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
+"Language-Team: Arabic <support@arabeyes.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : "
+"3\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "هل لديك أوساط إضافيّة أخرى؟"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "القرص المدمج"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "الشبكة (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "الشبكة (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "عنوان URL للمرآة؟"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"جاري الإتصال بموقع ماندريبا لينكس للحصول على قائمة بالمرايا المتوفرة..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"جاري الإتصال بموقع ماندريبا لينكس للحصول على قائمة بالمرايا المتوفرة..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "اختيار مرآة سيتم من خلالها تنزيل الحزم"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "الدليل"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "لم يمكن العثور على ملف hdlist على هذه المرآة. تأكد من صحة الموقع."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "التعرف على الحزم المثبتة مسبقاً..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "البحث عن الحزم التي ستتم ترقيتها..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"لقد اخترت الخادمات التالية: %s\n"
+"\n"
+"\n"
+"هذه الخادمات مُنشّطة افتراضياً، و لا يوجد لهم مشاكل أمنية\n"
+"معروفة، و لكن قد تكتشف بعض المشاكل الجديدة. في هذه الحالة، تأكد من أن\n"
+"تقوم بالترقية في أقرب وقت ممكن.\n"
+"\n"
+"\n"
+"هل أنت متأكد أنك تريد تثبيت هذه الخادمات الآن؟\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"سيتم حذف هذه الحزم لكي تتم ترقية النظام: %s\n"
+"\n"
+"\n"
+"هل تريد حذف هذه الحزم فعلاً؟\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "تمّ تغيير أسماء القرص التّالي أو الأقراص التّالية:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (المسمّى %s سابقاً)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "الشبكة"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "الرجاء اختيار وسط"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "الملف موجود مسبقاً. هل تريد الكتابة عليه؟"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "غير مسموح لك بذلك"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "الوسط %s سيء"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "لا يمكنني عمل لقطات للشاشة قبل التجزئة"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ستكون لقطات الشاشة موجودة بعد التثبيت في %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "التثبيت"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "التهيئة"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "عليك أيضا تنسيق %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"بعض العتاد الموجود على جهازك يحتاج إلى مشغلات ``تجارية'' كي تعمل.\n"
+"يمكنك ايجاد مزيد من المعلومات عنها في: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "جاري تشغيل الشبكة"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "جاري اغلاق الشبكة"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "جاري ارسال الملفات..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "جاري النسخ"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "يجب أن يكون لديك"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "مهم"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "ظريف جداً"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ظريف"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ربما"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+# U+200F (RTL mark) has been inserted between "Dvorak" and "(US)", so
+# it displays on screen as "(US) Dvorak", following the same schema
+# as others "Dvorak (xxxx)" with xxx in Arabic that display as "(xxxx) Dvorak"
+# that way the entry is also listed together with the other "Dvorak" entries.
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "محطة عمل"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "محطّة عمل مكتبية"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"برامج مكتبية: معالجة الكلمات (OpenOffice.org Writer، Kword(، الجداول "
+"الحسابية (OpenOffice.org Calc، Kspread( ، برامج عرض pdf، الخ"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"برامج مكتبية: معالجة الكلمات (kword، abiword(، الجداول الحسابية (kspread، "
+"gnumeric) ، برامج عرض pdf، الخ"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "محطّة ألعاب"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "برامج التسلية: ألعاب فيديو، ألعاب لوحات، ألعاب استراتيجية، الخ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "محطة وسائط متعدّدة"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "برامج تحرير/تشغيل الفيديو و الصوت"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "محطّة إنترنت"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"مجموعة من الأدوات لقراءة و إرسال البريد و الأخبار (mutt، tin..( و لتصفح "
+"الإنترنت"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "جهاز شبكة (عميل)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "عملاء لبروتوكولات مختلفة مثل ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "أدوات لتسهيل إعداد جهازك"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "أدوات الطرفيّات"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "محررات نصوص، صَدَفات، أدوات ملفات، طرفيات"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "تطوير"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "برامج و مكتبات تطوير C و C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "التّوثيق"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "كتب ومذكرات Howto حول لينكس و البرامج الحرة"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "القاعدة القياسيّة للينكس (LSB). دعم تطبيقات الأطراف الثالثة"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "خادم الوب"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "برامج المجموعات"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "خادم Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "جدار ناري/موجِّه"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "بوابة الإنترنت"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "بريد/أخبار"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "خادم بريد Postfix، خادم أخبار Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "خادم مجلّدات"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "الخادم FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "خادم أسماء النّطاقات ومعلومات الشّبكة"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "خادم مشاركة الملفّات والطّابعات"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "خادم NFS، خادم Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "قواعد البيانات"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "خادم قواعد بيانات PostgreSQL و MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "وب/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache، Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "البريد"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "خادم البريد Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "خادم قواعد البيانات PostgreSQL أو MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "خادم شبكات"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "خادم NFS، خادم SMB، خادم بروكسي، خادم ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "بيئات رسومية"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "محطّة عمل كيدي"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"بيئة سطح مكتب كيدي، البيئة الرسومية الأساسية مع مجموعة من الأدوات المصاحبة"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "محطّة عمل جينوم"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"بيئة رسومية مع مجموعة من التطبيقات و أدوات سطح المكتب المناسبة للمستخدمين "
+"العاديين"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Plucker Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "أسطح مكتب رسومية أخرى"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm، Window Maker، Enlightenment، Fvwm، الخ"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "منافع"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "خادم SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "خادم التّهيئة البعيدة Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "منافع شبكة/مراقبة"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "أدوات مراقبة، محاسبة عمليّات، tcpdump، nmap، ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "مرشدو ماندريبا"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "مرشدو تهيئة الخادم"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"ظهر خطأ و لا أعرف كيف أتعامل معه بأسلوب جيد.\n"
+"تابع على مسؤوليتك."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"لم يتمّ تثبيت بعض الحزم المهمّة بشكل صحيح.\n"
+"إمّا أن يكون قارئ الأقراص معطوبا أو القرص.\n"
+"إفحص القرص المدمج على حاسب مثبت باستعمال \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "الانتقال للخطوة `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "تثبيت ماندريبا لينكس %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> بين العناصر"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"نظامك قليل الموارد. قد تقابل بعض المشاكل قي تثبيت\n"
+"ماندريبا لينكس. إذا حدث ذلك، يمكنك التثبيت في وضع نصي بدلاً من ذلك. لهذا "
+"الغرض،\n"
+"اضغط `F1' عند الإقلاع من القرص المدمج، و اكتب `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "اختيار مجموعات الحزم"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "اختيار مفرد للحزم"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "الحجم الإجمالي: %d / %d م.ب."
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "حزمة سيئة"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "النسخة:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "الحجم: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d ك.ب.\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "الأهمية:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "لا يمكنك اختيار/ازالة اختيار هذه الحزمة"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "بسبب غياب %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "بسبب عدم إرضاء %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "السعي إلى ترويج %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "من أجل حفظ %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "لا يمكنك اختيار هذه الحزمة لأنه لا يوجد مساحة كافية متبقية لتثبيتها"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "سيتم تثبيت الحزم التالية"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "سيتم حذف الحزم التالية"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "هذه الحزمة الزامية، لا يمكن عدم اختيارها"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "لا يمكن إزالة اختيار هذه الحزم. انها مثبتة مسبقاً"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "لا يمكنك إزالة اختيار هذه الحزمة. يجب ترقيتها"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "إظهار الحزم المختارة ألياً"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "تثبيت"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "تحميل/حفظ الاختيار"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "تحديث اختيار الحزم"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "تثبيت مصغّر"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "إدارة البرامج"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "اختر الحزم التي تريد تثبيتها"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "التثبيت"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "لا تفاصيل"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "الوقت المتبقي"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "الحساب التقريبي"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d حزم"
+msgstr[1] "%d حزم"
+msgstr[2] "%d حزم"
+msgstr[3] "%d حزم"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "ملخص"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "تهيئة"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "غير مهيّأ"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"تم العثور على وسط التثبيت التالي.\n"
+"إن كنت تريد تخطي بعضها، يمكنك إزالة اختيارها الآن."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"لديك الخيار بنسخ محتويات الأقراص المدمجة إلى قرصك الصلب قبل التثبيت.\n"
+"سيكمل التثبيت بعد ذلك من القرص الصلب وستبقى الحزم متوفرة حالما يتم تثبيت "
+"النظام بالكامل."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "نسخ الأقراص بالكامل"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "حدث خطأ"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "الرجاء اختيار لوحة المفاتيح."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "هذه هي القائمة الكاملة لكلّ لوحات المفاتيح المتوفّرة"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "تثبيت/ترقية"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "هل هذا تثبيت أم ترقية؟"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "ترقية %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "مفتاح التشفير لـ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "جاري تهيئة IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"ليس هناك مساحة حرّة لواحد ميجابات من bootstrap! سوف يستمرّ التّثبيت، لكن لإقلاع "
+"نظامك، سوف تحتاج لإنشاء تجزيء bootstrap في DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"تحتاج إلى إنشاء PPC PReP Boot bootstrap! ستكمل عملية التثبيت، ولكن لإقلاع "
+"نظامك، أنت بحاجة إلى إنشاء تجزيء bootstrap من خلال DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"غيّر القرص المدمج !\n"
+"من فضلك أدخل القرص المدمج المسّمى \"%s\" في الّسواقة واضغط على موافق عندما "
+"تنتهي.\n"
+"إن لم يكن القرص لديك، اضغط على إلغاء لتجّنب التثبيت من هذا القرص المدمج."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "العثور على الحزم المتوفرة..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"الرجاء اختيار حفظ أو تحميل اختياراتك للحزم.\n"
+"النسق مشابه لملفات التثبيت الآلي المولّدة."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "تحميل"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "حفظ"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "ملف سيء"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "الحجم المختار أكبر من المساحة المتوفرة"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "نوع التثبيت"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"لم تختر أي مجموعة من الحزم.\n"
+"الرجاء اختيار التثبيت المصغر الذي تريده:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "مع X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "مع وثائق المساعدة الأساسية (مفضّل)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "تثبيت مصغّر فعلاً (خصوصاً بدون urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "الكل"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "التحضير للتثبيت"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "جاري تثبيت الحزمة %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "كان هناك خطأ في ترتيب الحزم:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "هل تريد المتابعة على أي حال؟"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "حفظ اختيار الحزم"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "كان هناك خطأ في تثبيت الحزم:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "تهيئة ما بعد التثبيت"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "التحديثات"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"تستطيع الآن تنزيل الحزم المحدّثة. هذه الحزم\n"
+"تم تحديثها بعد اصدار التوزيعة. قد\n"
+"تحتوي على اصلاحات أمنية أو اصلاحات لعيوب برمجية.\n"
+"\n"
+"لتنزيل هذه الحزم، تحتاج إلى أن تكون لديك اتصال \n"
+"بالإنترنت.\n"
+"\n"
+"هل تريد تنزيل هذه التحديثات ؟"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "جاري الإتصال بالمرآة للحصول على قائمة بالحزم المتوفرة..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "تعذر الإتصال بالمرآة %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "العتاد"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "بطاقة الصوت"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "هل لديك بطاقة صوت ISA؟"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"شغّل \"alsaconf\" أو \"sndconfig\" بعد التّثبيت لتهيئة بطاقة الصّوت الخاصّة بك"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "لم يعثر على بطاقة الصوت. حاول تشغيل \"harddrake\" بعد التثبيت"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "بطاقة التلفاز"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "الواجهة الرسومية"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "الشبكة والإنترنت"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "البروكسيات"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "مُهيّء"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "مستوى الأمن"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "جدار ناري"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "مُنشّط"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "مُعطّل"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "الإقلاع"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s على %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "لم تقم بتهيئة خادم X. هل أنت متأكد أنك تريد ذلك؟"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "جاري تحضير محمّل الإقلاع..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"يبدو أن لديك ماكينة مجهولة أو من العالم القديم، ولن يعمل محمل الإقلاع yaboot "
+"مع نظامك. ستكمل عملية التثبيت، ولكنك بحاجة إلى استخدام BootX أو طريقة ما "
+"أخرى لإقلاع نظامك. مُعطى النواة لنظام الملفات الجذر هو: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "هل تريد استخدام aboot؟"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"خطأ أثناء تثبيت aboot، \n"
+"حاول الإجبار على التثبيت حتى و لو أدي ذلك لتدمير التجزيء الأول؟"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"في هذا المستوى الأمني، الوصول إلى الملفّات بتجزيء ويندوز سيكون مقصوراً على "
+"المدير."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "أدخل قرص مرن فارغ في السواقة %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "جاري إنشاء قرص التثبيت الآلي..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"بعض الخطوات لم يتم تكملتها.\n"
+"\n"
+"هل تريد الخروج الآن فعلاً؟"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "تهانينا"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "إعادة التشغيل"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "إنشاء قرص تثبيت آلي"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"التثبيت الآلي قد يتم بشكل تلقائي إذا أردت ذلك،\n"
+"في هذه الحالة سيستولي على كل القرص الصلب لديك!!\n"
+"(هذا بالنسبة للتثبيت على جهاز آخر).\n"
+"\n"
+"ربما تفضل إعادة عملية التثبيت.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "إعادة"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "آلي"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "حفظ اختيار الحزم"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "اللّغة"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "الرخصة"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "الماوس"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "اكتشاف القرص الصّلب"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "لوحة المفاتيح"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "الأمن"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "التجزئة"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "التثبيت"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "المواثقة"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "المستخدمون"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "الشبكات"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "محمّل الإقلاع"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "تهيئة X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ملخص"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "الخدمات"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "التحديثات"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "خروج"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d حزم"
+#~ msgstr[1] "%d حزم"
+#~ msgstr[2] "%d حزم"
+#~ msgstr[3] "%d حزم"
+
+#~ msgid "%d packages"
+#~ msgstr "%d حزم"
+
+#~ msgid "Language"
+#~ msgstr "اللّغة"
+
+#~ msgid "License"
+#~ msgstr "الرخصة"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "اختيار صنف التّثبيت"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "الحساب التقريبي"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "اختيار الحزم المطلوب تثبيتها"
+
+#~ msgid "Users"
+#~ msgstr "المستخدمون"
+
+#~ msgid "Networking"
+#~ msgstr "الشبكات"
+
+#~ msgid "Configure X"
+#~ msgstr "تهيئة X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "تعذر الوصول إلى وحدات النواة الخاصة بنواة النظام (الملف %s مفقود)، بشكل "
+#~ "عام يعني هذا أن قرص الإقلاع المرن ليس محدّثاً مع وسيط التثبيت (فضلاً قم "
+#~ "بإنشاء قرص اقلاع جديد)"
diff --git a/perl-install/install/share/po/az.po b/perl-install/install/share/po/az.po
new file mode 100644
index 000000000..d8ac4e8f3
--- /dev/null
+++ b/perl-install/install/share/po/az.po
@@ -0,0 +1,1612 @@
+# translation of DrakX-az.po to Azerbaijani
+# translation of DrakX-az.po to Azerbaijani Turkish
+# DrakX-az.po faylının Azərbaycan dilinə tərcüməsi
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Vasif Ismailoglu MD<azerb_linux@hotmail.com> , 2000-2001
+# Mətin Əmirov <metin@karegen.com>, 2001-2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-az\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-03-31 14:21+0200\n"
+"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Başqası var?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Şəbəkə %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Şəbəkə %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Mövcud əkslərin siyahısını almaq üçün Mandriva Linux səhifəsi ilə təmas "
+"qurulur..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mövcud əkslərin siyahısını almaq üçün Mandriva Linux səhifəsi ilə təmas "
+"qurulur..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Paketleri almaq üçün bir əks ünvanı seçin"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Qovluq"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "%s, %s üstündə tapıla bilmir"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Qurulu olan paketlər yoxlanır..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Güncəllənəcək paketlar tapılır"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Siz aşağıdakı vericiləri seçdiniz: %s\n"
+"\n"
+"\n"
+"Bu vericilər əsas olaraq fəal olur. Onların bilinən heç bir təhlükəsizlik\n"
+"problemləri yoxdur, ancaq bə'zi yeni xətalar tapıla bilər. Belə olsa, "
+"mümükün olan ən yaxın zamanda onları yeniləməlisiniz.\n"
+"\n"
+"\n"
+"Bu vericiləri həqiqətən də qurmaq istəyirsiniz?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Sisteminizin yenilənməsi üçün bu paketlər silinəcək: %s\n"
+"\n"
+"\n"
+"Bu paketləri həqiqətən də silmək istəyirsiniz?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Aşağıdakı paketlər qurulmalıdır:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Şəbəkə"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Xahiş edirik seçin"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fayl onsuz da mövcuddur. Üstünə yazım?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Səlahiyyət yoxdur"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "%s medyası əlavə edildi"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Bölmələmədən əvvəl görüntü alına bilməz"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekran görüntüləri qurulumdan sonra %s mövqeyində olacaqdır"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Qurulur"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Quraşdırma"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Eyni zamanda %s da şəkilləndirilməlidir"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Sisteminizdaki bə'zi avadanlıqlar işləməsi üçün düzgün sürücülərə ehtiyac "
+"duyar.\n"
+"Bunun haqqında %s də/a lazımi malumatları tapa bilərsiniz"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Şəbəkə fəallaşdırılır"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Şəbəkə dayandırılır"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Fayllar göndərilir..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Təsbit etmə fəaliyyətdədir"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "sınamağa dəyər"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "vacib"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "çox ə'la"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ə'la"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "bəlkə"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "İş Stansiyası"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Ofis İş Stansiyası"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"İdarə proqramları: kəlmə işləyənlər (OpenOffice.org Writer, Kword), "
+"hesablayıcılar və pdf göstəriciləri, vs."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"İdarə proqramları: kəlmə işləyənlər (kword, abiword), hesablayıcılar və pdf "
+"göstəriciləri, vs."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Oyun stansiyası"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Məzəli proqramlar: arkad, lövhə oyunları, strategiya, vs"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedya stansiyası"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Səs və video çalınması/düzəliş proqramları"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "İnternet stansiyası"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Elektronik məktub və xəbər oxuyucu vasitələr dəstəsi (pine, mutt, tin..) və "
+"Veb səyyahları"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Şəbəkə Kompüteri (alıcı)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH daxil bir çox protokolların alıcıları"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kompüter qurğularını asandlaşdıran vasitələr"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol Vasitələri"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorlar, rəflər, fayl vasitələri, terminallar"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "İnkişaf"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C və C++ inkişaf kitabxanaları, proqramları və daxil ediləcək fayllar"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Sənədlər"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linuks və sərbəst proqram tə'minatı haqqında Kitablar və Howtolar"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standartları Bazası. Üçüncü partiya tə'minat dəstəyi"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Veb Vericisi"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Qrup"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Vericisi"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Atəş Divarı/İstiqamətləndirici"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "İnternet keçidi"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Fayl/_Təze"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix poçt vericisi"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "CD'dən Geri Yüklə"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "NTP Verici"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domen Adı Vericisi"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Çapçı Vericisi"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Samba vericisi"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Mə'lumat Bazası"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ya da MySQL mə'lumat bazası vericisi"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Veb/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Poçt"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poçt vericisi"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ya da MySQL mə'lumat bazası vericisi"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Şəbəkə Kompüter vericisi"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS vericisi, SMB vericisi, Vəkil vericisi, SSH verici"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Qrafiki Mühit"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE iş stansiyası"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE, əsas qrafiki ara üz və yardımçi proqramlar kolleksiyası"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME iş stansiyası"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"İstifadəçi dostu proqram və masa üstü ilə bərabər qrafiki ara üz vasitələri"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Masa üstü"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Başqa qrafiki ara üzlər"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, vs."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Vasitələr"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Vericisi"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Veb kamerası"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Terminal Server Quraşdırılması"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Şəbəkə İzlənməsi"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Store</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "\"%s\" çapçısı quraşdırıla bilmədi!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Bir xəta oldu, yalnız necə düzəldiləcəyi bilinmir.\n"
+"Davam edin, riski sizə aitdir!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Bə'zi paketlər doğru olaraq qurulumu bitirmədi.\n"
+"Cdrom sürücünüz ya da cdromunuz düzgün işləmir.\n"
+"Əvvəldən Linuks qurulu bir sistemdə \"rpm -qpl media/main/*.rpm\"\n"
+"əmrini istifadə edərək Cd-Rom'u yoxlayın.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Başlanğıc addımı `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Qurulumu %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> irəli/geri"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Sizin sisteminizin qaynaqları çatışmır. Qurulum ərzində problem yaşaya "
+"bilərsiniz\n"
+"Bu baş verərsə mətn aracılığı ilə qurulumu sınamalısınız. Bunun üçün "
+"dəCDROMdan başlatdığınız zaman,\n"
+" 'F1'ə basın və 'text' yazaraq enter'ə basın."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paket Qruplarının Seçimi"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Fərdi paket seçimi"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ümumi böyüklük: %d / %d Mb"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Xətalı paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Buraxılış: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Böyüklük: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Əhəmiyyət:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Bu paketi seçə bilməzsiniz/sistemdən çıxarda bilməzsınız"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s əksik olduğuna görə"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s razı qalmadığına görə"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s irəliləndirməyə çalışılır"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s-i saxlamaq üçün"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Bu paketi seçə bilməzsiniz, çünki qurmaq üçün yer çatmır."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Aşağıdakı paketlər qurulacaq"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Aşağıdakı paketlər sistemdən silinəcəklər"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Bu lazımlı bir paketdir, sistemdən çıxardıla bilməz"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Bu paketi sistemdən çıxarda bilməzsınız. Artıq qurulmuşdur."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Bu paketi sistemdən çıxarda bilməzsiniz. Yenilənməlidir"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Avtomatik seçili paketləri göstər"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Qur"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Seçili olanı qeyd et"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Paket seçkiləri yenilənir"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal qurulum"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Proqram Tə'minatı İdarəsi"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Qurmaq istədiyiniz paketləri seçin"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Qurulur"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Təfsilatsız"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Qalan müddət"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Təxmini olaraq hesaplanır"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paket"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "İcmal"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Qur"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "quraşdırılmayıb"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Bir xəta oldu"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Xahiş edirik, klaviatura düzülüşünüzü seçin."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Bütün mövcud ölkələrinn siyahısı"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Qurulum/Yeniləmə"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu bir qurulum, yoxsa yeniləmədir?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s-i yenilə"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s üçün şifrələmə açarı"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "İDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "İDE qapıları qurulur"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"1 MB bootstrap üçün yer yoxdur! Qurulum davam edəcək, ancaq sisteminizi aça "
+"bilmək üçün DiskDrake'də bootstrap bölməsi yaratmalısınız."
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"1 MB bootstrap üçün yer yoxdur! Qurulum davam edəcək, ancaq sisteminizi aça "
+"bilmək üçün DiskDrake'də bootstrap bölməsi yaratmalısınız."
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"CD-ROM'u dəyişdirin!\n"
+"\n"
+"Xahiş edirik, \"%s\" adlı CD-ROM'u sürücünüzə yerləşdirin və Oldu düyməsinə "
+"basın.\n"
+"Əgər CD-ROM əlinizdə deyilsə, bu CD-Rom'dan qurmamaq üçün Ləğv Et düyməsinə "
+"basın."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mövcud olan paketlər axtarılır."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Xahiş edirik, paket seçkilərini disketə qeyd et/disketdən yüklə\n"
+"seçənəyini seçin."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Yüklə"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Qeyd Et"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Səhv fayl"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Seçili böyüklük var olandan daha böyükdür"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Qurulum növü"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Heç bir paket qrupunu seçmədiniz.\n"
+"Xahiş edirik, istədiyiniz ən kiçik qurulumu seçin:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X ilə"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Əsas sənədlərlə birlikdə (məsləhət edilən!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Həqiqətən minimal qurulum (xüsusilə urpmi olmasın)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Hamısı"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Qurulum hazırlanır"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi qurulur"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Paketləri istərkən xəta yarandı:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Yenə də davam edək?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Paket seçkilərini qeyd et"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Paketlər qurulurkən bir xəta oldu:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Qurulum sonrası qurğular"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Yeniləmələr"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"İndi siz yenilənmiş paketləri endirib qurma imkanına maliksiniz. Bu "
+"paketlər\n"
+"distribusiya buraxıldıqdan sonra yeniləniblər və təhlükəsizlik ya da xəya "
+"həllərini\n"
+"daxil edə bilərlər.\n"
+"\n"
+"Bu paketləri endirmək üçün fəal İnternet bağlantınız olmalıdır \n"
+"\n"
+"Yeniləmələri qurmaq istəyirsiniz ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Əks ünvanına bağlantı qurulur"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "%s əksi ilə rabitə qurula bilmir"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Avadanlıq"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Səs kartı"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Heç İSA səs kartınız var?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Qurulumdan sonra səs kartınızı qurğulamaq üçün \"sndconfig\" əmrini icra edin"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Səs kartı tapılmadı. Qurulumdan sonra \"harddrake\"ni işə salın"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kartı"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Qrafiki ara üz"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Şəbəkə və İnternet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Vəkil vericiləri"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "quraşdırılıb"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Təhlükəsizlik Səviyyəsi"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Atəş Divarı"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "fəal"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "qeyri-fəal"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Açılış"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s üstündə %1$s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Siz X-i quraşdırmadınız. Bundan əminsinizmi?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Açılış yükləyici hazırlanır"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Dünyadan kənar yerdən gələn ya da namə'lum\n"
+" sisteminiz var, yaboot açılış yükləyicisi sizin üçün işləməyəcək.\n"
+"Qurulum davam edəcək ancaq kompüterinizi aça bilmək üçün\n"
+" BootX ya da başqa vasitədən istifadə etməlisiniz"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot istifadə etmək istəyirsiniz?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"aboot qurulumunda xata, \n"
+"ilk disk bölməsini yox etsə belə yenə də qurulmasını istəyirsiniz?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s sürücüsünə boş bir disket yerləşdirin"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Avtomatik qurulum disketi hazırlanır"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Bə'zi bölmələr bitdi.\n"
+"\n"
+"Həqiqətən də çıxmaq istəyirsiniz?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Təbriklər"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Yenidən başlat"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Avtomatik qurulum disketi hazırla"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Avtomatik qurulum tamamilə avtomatikləşdirilə bilər,\n"
+"ancaq bu zaman o bütün sabit diskə əl qoyacaq!!!\n"
+"(bu başqa kompüterdə də sistemi qura bilmək üçündür).\n"
+"\n"
+"Gələcəkdə bu qurulumu təkrarlamaq istəyə bilərsiniz.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Təkrarla"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Avtomatlaşdırılmış"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Paket seçkilərini qeyd et"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Dil"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisenziya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Siçan"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Sabit disklərin aşkar edilməsi"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatura"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Təhlükəsizlik"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Bölmələndirmə"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Qurulur"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Tanıtma"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "İstifadəçilər"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Şəbəkə"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Açılış yükləyicisi"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X quraşdırılması"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "İcmal"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Xidmətlər"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Yeniləmələr"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Çıxış"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paket, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paket"
+
+#~ msgid "Language"
+#~ msgstr "Dil"
+
+#~ msgid "License"
+#~ msgstr "Lisenziya"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Qurulum sinifinin seçimi"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Təxmini olaraq hesaplanır"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Qurulacaq paketlərin seçimi"
+
+#~ msgid "Users"
+#~ msgstr "İstifadəçilər"
+
+#~ msgid "Networking"
+#~ msgstr "Şəbəkə"
+
+#~ msgid "Configure X"
+#~ msgstr "X quraşdırılması"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Çəyirdəyinizə uyğun gələn çəyirdək modullarına yetişilə bilmədi (%s faylı "
+#~ "əksikdir), bu çox vaxt açılış disketinizin Qurulum mediyası ilə "
+#~ "sinxronluq içində olmadığı mə'nasına gəlir (xahiş edirik, yeni disket "
+#~ "yaradın)."
diff --git a/perl-install/install/share/po/be.po b/perl-install/install/share/po/be.po
new file mode 100644
index 000000000..f50f9c852
--- /dev/null
+++ b/perl-install/install/share/po/be.po
@@ -0,0 +1,1556 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1999 Mandriva.
+# Alexander Bokovoy <ab@avilink.net>, 2000
+# Maryia Davidouskaia <maryia@scientist.com>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2000-09-24 12:30 +0100\n"
+"Last-Translator: Alexander Bokovoy <ab@avilink.net>\n"
+"Language-Team: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ці ёсць у вас іншы?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Сетка"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Сетка"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, fuzzy, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Сувязь з люрам для атрымання спісу даступных пакетаў"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "Сувязь з люрам для атрымання спісу даступных пакетаў"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Выбар люстра для атрымання пакетаў"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Каталёг"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Не знойздены праграмы\n"
+
+#: any.pm:376
+#, fuzzy, c-format
+msgid "Looking at packages already installed..."
+msgstr "Вы не можаце адмяніць вылучэнне гэтага пакету. Ён ужо ўсталяваны"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Пошук пакетаў для абнаўлення"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Наступныя пакеты будуць даданы да сістэмы"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "ФС"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Сетка"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Калі ласка выбярыце відарыс відэа"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл ужо йснуе. Перапісаць?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Адмоўлена ў доступе"
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "Bad NFS name"
+msgstr "Бяз назвы"
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "Загружаецца файл %s"
+
+#: any.pm:1294
+#, fuzzy, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Дадаць раздзел немагчыма"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Усталёўваем"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Канфігурацыя"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Пэўнае абсталяванне патрабуе камерцыйных драйвераў для працы.\n"
+"Часткова інфармацыю пра іх можна атрымаць тут: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Далучэнне да сеткі"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Адлучэнне ад сеткі"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Вызначэнне прыладаў..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Стварэньне меню ўжо запушчана"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "павінны мець"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важна"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "вельмі добра"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "добра"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "можа быць"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, fuzzy, c-format
+msgid "Workstation"
+msgstr "Канфігурацыя"
+
+#: share/meta-task/compssUsers.pl:25
+#, fuzzy, c-format
+msgid "Office Workstation"
+msgstr "Працоўныя мейсцы"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Офісныя праграмы: працэсары словаў (OpenOffice.org Writer, Kword), "
+"электроныя табліцы, аглядальнікі pdf-файлаў, і г.д."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Офісныя праграмы: працэсары словаў (kword, abiword), электроныя табліцы, "
+"аглядальнікі pdf-файлаў, і г.д."
+
+#: share/meta-task/compssUsers.pl:33
+#, fuzzy, c-format
+msgid "Game station"
+msgstr "Аўтэнтыфікацыя"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забаўляльныя праграмы: аркады, стратэгіі і г.д."
+
+#: share/meta-task/compssUsers.pl:37
+#, fuzzy, c-format
+msgid "Multimedia station"
+msgstr "Мульцімедыя"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Рэдактары і прайгравальнікі гуку і відэа"
+
+#: share/meta-task/compssUsers.pl:43
+#, fuzzy, c-format
+msgid "Internet station"
+msgstr "Інтэрнэт"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "Сеткавы прынтэр (TCP/Socket)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ці жадаеце пратэсціраваць настройкі?"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Кансольныя інструментальныя сродкі"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Рэдактары, абалонкі, тэрміналы"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Распрацоўка"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Бібліятэкі і праграмы для распрацоўкі на С і С++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Дакумэнтацыя"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "нігі і Howto па Linux і Free Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, fuzzy, c-format
+msgid "Web Server"
+msgstr "Сервак"
+
+#: share/meta-task/compssUsers.pl:85
+#, fuzzy, c-format
+msgid "Apache"
+msgstr "Шлях:"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Групы"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "NIS сэервер:"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, fuzzy, c-format
+msgid "Firewall/Router"
+msgstr "Рэстарт"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, fuzzy, c-format
+msgid "Internet gateway"
+msgstr "Інтэрнэт"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Файл/_Стварыць"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Каталог %s Так"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "NIS сэервер:"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Імя дамену"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер друку"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "X сэервер"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "База даньняў"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "Сеткавыя інтэрфэйсы"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, fuzzy, c-format
+msgid "Graphical Environment"
+msgstr "Абалонка"
+
+#: share/meta-task/compssUsers.pl:146
+#, fuzzy, c-format
+msgid "KDE Workstation"
+msgstr "Канфігурацыя"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment - асноўнае графічнае асяродзе з калекцыяй "
+"інструментальных сродкаў"
+
+#: share/meta-task/compssUsers.pl:151
+#, fuzzy, c-format
+msgid "GNOME Workstation"
+msgstr "Інфармацыя аб памяці"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графічнае асяродзе са зручным дзеля выкарыстання наборам прыкладанняў і "
+"інструментальных сродкаў"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Працоўны стол"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Іншыя графічныя Працоўныя сталы"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Карыснасьці"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "NIS сэервер:"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Прылады"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Сістэмнае адміністраваньне"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Канфігурацыя сеткі"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Цэнтар кіраваньня"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Немагчыма выдаліць \"%s\": %s."
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Узнікла памылка, якую не атрымліваецца карэктна апрацаваць,\n"
+"таму працягвайце на сваю рызыку."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Некаторыя важныя пакеты не былі ўсталяваны карэктна.\n"
+"Другі ваш cdrom дыск ці ваш cdrom маюць дэфекты.\n"
+"Праверце cdrom на вашым кампутары, выкарыстоўваючы\"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Пераход на крок ‛%s’\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Усталяванне Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> паміж элементамі"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"У Вашай сістэме маецца недахоп рэсурсаў, таму магчымы праблемы\n"
+"пры ўсталяванні Mandriva Linux. У гэтым выпадку паспрабуйце тэкставую\n"
+"праграму ўсталявання. Для гэтага націсніце ‛F1’ у час загрузкі, а потым\n"
+"набярыце ‛text’ і націсніце <ENTER>."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Выбар групы пакетаў"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Асабісты выбар пакетаў"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Агульны памер: %d / %d Мб"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Дрэнны пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Вэрсія: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Памер: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:317
+#, fuzzy, c-format
+msgid "Importance: "
+msgstr "важна"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Вы не можаце вылучаць і адмяняць вылучэнне гэтага пакету"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, fuzzy, c-format
+msgid "in order to keep %s"
+msgstr "Уласьцівасьці акна"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Вы не можаце выбраць гэты пакет, таму як не хапае месца для яго ўсталявання"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Наступныя пакеты будуць даданы да сістэмы"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Наступныя пакеты будуць выдалены"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Гэта абавязковы пакет, яго вылучэнне нельга адмяніць"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Вы не можаце адмяніць вылучэнне гэтага пакету. Ён ужо ўсталяваны"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Вы не можаце адмяніць вылучэнне гэтага пакету. Яго патрэбна абнавіць"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Усталёўка"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Перанесьці вылучэньне"
+
+#: steps_gtk.pm:406
+#, fuzzy, c-format
+msgid "Updating package selection"
+msgstr "Асабісты выбар пакетаў"
+
+#: steps_gtk.pm:411
+#, fuzzy, c-format
+msgid "Minimal install"
+msgstr "Ахоўнік экрану"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Выбар пакетаў для ўсталявання"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Усталёўваем"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Падрабязнасці"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Засталося часу "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Чакаецца"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакетаў"
+msgstr[1] "%d пакетаў"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Агульныя зьвесткі"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Настройка"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "Настроіць панэль"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Адбылася памылка"
+
+#: steps_interactive.pm:97
+#, fuzzy, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Калі ласка, абярыце тып клавіятуры."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr ""
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Усталёўваем"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Настройка IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Змяніце ваш Cd-Rom!\n"
+"\n"
+"Калі ласка, устаўце Cd-Rom, пазначаны \"%s\", у ваш дыскавод і націсніце Ок "
+"пасля.\n"
+"Калі вы не маеце яго, націсніце Адмяніць, каб адмяніць усталяванне з гэтага "
+"Cd."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Прагляд даступных пакетаў"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Загрузка"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Захаваць"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Загрузка файла"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Усё"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Падрыхтоўка ўсталяваньня"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Усталяванне пакету %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Атрымалася памылка ўпарадкавання пакетаў:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Усё роўна працягваць?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Асабісты выбар пакетаў"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Атрымалася памылка ўпарадкавання пакетаў:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Настройка пасля ўсталявання"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Сувязь з люрам для атрымання спісу даступных пакетаў"
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Немагчыма адчыніць файл %s\n"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Абсталяваньне"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, fuzzy, c-format
+msgid "Sound card"
+msgstr "Праграма гуказапісу"
+
+#: steps_interactive.pm:809
+#, fuzzy, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Ці ёсць у вас іншы?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "Запуск X пры старце сістэмы"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, fuzzy, c-format
+msgid "Network & Internet"
+msgstr "Сеткавы інтэрфейс"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Проксі"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "Настроіць панэль"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Узровень бясьпекі"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "выключаны"
+
+#: steps_interactive.pm:891
+#, fuzzy, c-format
+msgid "Boot"
+msgstr "Манітор"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, fuzzy, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Меню не было захавана. Ці сапраўды вы жадаеце выйсці?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Падрыхтоўка загрузчыка"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Вы жадаеце выкарыстоўваць aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Памылка ўсталявання aboot, \n"
+"спрабаваць усталёўваць, негледзячы на магчымасць парушэння першага разделу?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Устаўце дыскету ў дыскавод %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Стварэнне дыскеты для ўсталявання"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Некаторыя крокі не завершаны.\n"
+"Вы сапраўды жадаеце выйсці зараз?"
+
+#: steps_interactive.pm:1055
+#, fuzzy, c-format
+msgid "Congratulations"
+msgstr "Прыміце віншаванні!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Перазагрузка"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, fuzzy, c-format
+msgid "Generate auto install floppy"
+msgstr "Стварэнне дыскеты для ўсталявання"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, fuzzy, c-format
+msgid "Replay"
+msgstr "Граць"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Аўтаматычны"
+
+#: steps_interactive.pm:1073
+#, fuzzy, c-format
+msgid "Save packages selection"
+msgstr "Асабісты выбар пакетаў"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Выбар мовы"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мыш"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Вызначэнне жорсткага дыску"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавіятура"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Бясьпека"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Усталёўваем"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Аўтэнтыфікацыя"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Карыстальнікі"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr ""
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Настройка X Window"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Агульныя зьвесткі"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Сэрвісы"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Выход"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакетаў"
+#~ msgstr[1] "%d пакетаў"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакетаў"
+
+#~ msgid "Language"
+#~ msgstr "Выбар мовы"
+
+#, fuzzy
+#~ msgid "License"
+#~ msgstr "Ліхтэнштайн"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Клас усталявання"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Чакаецца"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Выбар пакетаў"
+
+#~ msgid "Users"
+#~ msgstr "Карыстальнікі"
+
+#, fuzzy
+#~ msgid "Networking"
+#~ msgstr "Сетка"
+
+#~ msgid "Configure X"
+#~ msgstr "Настройка X Window"
diff --git a/perl-install/install/share/po/bg.po b/perl-install/install/share/po/bg.po
new file mode 100644
index 000000000..cd146a47e
--- /dev/null
+++ b/perl-install/install/share/po/bg.po
@@ -0,0 +1,1612 @@
+# translation of DrakX-bg.po to Bulgarian
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000.
+# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003.
+# Boyan Ivanov <boyan17@bulgaria.com>, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-bg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:27+0200\n"
+"Last-Translator: Boyan Ivanov <boyan17@bulgaria.com>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Имате ли друг(и) ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Мрежа %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Мрежа %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Свързване с Mandriva Linux web сайт за получаване на списъка с налични "
+"огледални сървъри..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Свързване с Mandriva Linux web сайт за получаване на списъка с налични "
+"огледални сървъри..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Изберете огледален сървър,от който да получите пакетите"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Директория"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Не мога да намеря %s на %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Търси във вече инсталираните пакети..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Търся пакети за обновяване"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Избрали сте следния(те) сървър(и): %s\n"
+"\n"
+"\n"
+"Тези сървъри се активират по подразбиране. Те нямат известни проблеми със\n"
+"сигурността, но може да се намерят нови. В този случай, ще трябва да сте\n"
+"сигурни, че ще надграждате възможно най-бързо.\n"
+"\n"
+"\n"
+"Наистина ли искате да инсталирате тези сървъри ?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Следните пакети ще бъдат изтрити за да се позволи обновяване на системата: %"
+"s\n"
+"\n"
+"\n"
+"Действително ли искате да изтриете тези пакети?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следните пакети ще трябва да се инсталират:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Моля изберете"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файлът съществува. Да бъде ли презаписан?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Лисват права"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "добавен източник %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Не мога да направя моментна \"снимка\" преди разделянето на диска "
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Снимки ще бъдат налични след инсталиране в %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Инсталирам"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Настройка"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Вие трябва също да форматирате %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Част от хардуера на компютъра ви се нуждае от ``собствените си'' драйвери, "
+"за да работи.\n"
+"Можете да намерите повече информация за това на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Включвам мрежата"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Изключване на мрежата"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Изпращам файлове..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Откриване в прогрес"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "нужен"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важен"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "много добър"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "добър"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "става"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Работна станция"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Офисна работна станция"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Офис програми: word-процесори (OpenOffice.org Writer, Kword), таблици "
+"(OpenOffice.org Calc, Kspread), преглед на PDF, и т.н."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Офис програми: word-процесори (kword, abiword), таблици (kspread, gnumeric), "
+"преглед на PDF, и т.н."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Игрална станция"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркадни игри, игри на маса, стратегии и т.н."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мутимедийна станция"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пускане/поправяне на звук и видео"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Интернет станция"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Набор от инструменти за четене и изпращане на поща и новини (pine, mutt, "
+"tin..) и за обикаляне из Мрежата"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежов компютър (клиент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенти за различни протоколи включително SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Инструменти за улесняване настройката на компютъра ви"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Конзолни инструменти"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редактори, шелове, файлови инстрименти, терминали"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Разработка"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Библиотеки за разработка на C и C++, програми и include файлове"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документация"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и HOTWO-та за Linux и свободния софтуер"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web Сървър"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Групуер"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сървър"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Сървър, Firewall/Рутер"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Файл/_Нов"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix пощенски сървър"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Сървър с директории"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP сървър"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "FND/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име на домейн и Мрежов Информационен Сървър"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сървър на принтера"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Samba Сървър"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Сървър, Бази-данни"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL или MySQL сървър за бази-данни"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Сървър, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache и Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Е-поща"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix пощенски сървър"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL или MySQL сървър за бази-данни"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежов компютър, сървър"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS сървър, SMB сървър, Proxy сървър, SSH сървър"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графична среда"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE работна станция"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment, проста среда с колекция от придружаващи "
+"инструменти"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome работна станция"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графична среда с потребителски набор от приложения и desktop инструменти"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "настолен компютър"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графични desktop-и"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm и т.н."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Помощни програми"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сървър"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webmin Обслужване"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Конфигурация на Терминален Сървър в Mandriva Linux"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мониторинг на мрежата"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Контролен център на Mandriva Linux"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "ННеуспешна настройка на принтер \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Появи се грешка, но не знам как да се справя с нея деликатно.\n"
+"Можете да продължите на свой риск."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Някои важни пакети не се инсталираха както трябва.\n"
+"Или CDROM устройството ви или компакт диска ви е дефектен.\n"
+"Проверете компакт диска на инсталирания компютър използвайки \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Навлизам в етап `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Инсталация на Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> между елементите"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Вашата система е с малки ресурси. Може да имате проблеми с инсталирането\n"
+"на Mandriva Linux. Ако се появи проблем опитайте с текстовата инсалация. "
+"Зацелта,\n"
+"натиснете 'F1', когато стартирате от CDROM и въведете 'теьт'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Избор на група пакети"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Избиране на пакети един по един"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Обща големина: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Лош пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Версия: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Размер: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Важност:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Не можете да отбележете/деотбележете този пакет"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "липсва kdesu"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "поради неопределен %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Не можете да оставите пакета немаркиран, защото нямате място да го "
+"инсталирате"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Следните пакети ще бъдат инсталирани"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следните пакети ще бъдат премахнати"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Това е нужен пакет, не може да бъде немаркиран"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Не можете да оставите този пакет немаркиран. Той вече е инсталиран"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Не можете да изключите този пакет. Той трябва да бъде обновен"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Покажи автоматично отбелязаните пакети"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Инсталирай"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Избор на пакети"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Обновяване на избора на пакети"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Миминална инсталация"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Управление на софтуера"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изберете пакетите, които искате да инсталирате"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Инсталирам"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Без подробности"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Оставащо време "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Пресмятане"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакета"
+msgstr[1] "%d пакета"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Обобщение"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Настрока"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "не е конфигуриран"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Появи се грешка"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Моля, изберете подреждане на клавиатурата."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ето пълен списък на достръпните страни"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Инсталирай/Обнови"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Това нова инсталация ли е или обновяване ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Обновява %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ за криптиране на %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Настройка на IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Няма свободно място за 1 МБ стартиращо поле ! Инсталацията ще продължи, но, "
+"за да стартирате системата си, ще трябва да създадете стартиращо поле в "
+"DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Няма свободно място за 1 МБ стартиращо поле ! Инсталацията ще продължи, но, "
+"за да стартирате системата си, ще трябва да създадете стартиращо поле в "
+"DiskDrake"
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Сменете CD-ROM !\n"
+"\n"
+"Моля, сложете CD-ROM озаглавен \"%s\" в устройството и натиснете Ok, когато "
+"сте готови.\n"
+"Ако го нямате, натиснете Отмяна, за да избегнете инсталирането от този CD-"
+"ROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Търся налични пакети..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Може изберете зареждане или запис на избора на пакети на флопи.\n"
+"Форматът е същият като auto_install генерираните дискети."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Натовареност"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Запазва"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Зареждане на файл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Избраната големина е по-голяма от достъпното пространство"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Тип инсталация"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Вие не сте избрали никаква група от пакети.\n"
+"Моля, изберете минималната инсталация кояти искате:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "С X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "С базова документация (препоръчва се!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Наистина минимална инсталация (особенно без urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Всички"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Подготвям инсталацията"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Инсталиране на пакета %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Появи се грешка при поръчването на пакетите:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Да продължа ли все пак ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Запази избор на пакети"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Появи се грешка при инсталиране на пакетите:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "След инсталационна настройка"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Обновяване"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Свързване с огледалния сървър за получаване на списъка с пакетите"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Не мога да се свръжа с огледален сървър' %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Хардуер"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Звукова карта"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Имате ли ISA звукова карта?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Изпълнете \"sndconfig\" след инсталация за да конфигурирате вашата звукова "
+"карта"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Няма открита звукова карта. Опитайте \"harddrake\" след инсталацията"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV карта"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Графичен интерфайс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и интернет"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Профил "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "пренастройка"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Ниво на защита"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Защитна стена"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "активирано"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "изключен"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Зареждане"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Вие не сте конфигурирали X. Сигурни ли сте, че искате това?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Подготовка на bootloader"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Изглежда имате старовремска или неизвестна\n"
+"машина, на която yaboot няма да проработи.\n"
+"Инсталацията ще продължи, но ще трябва\n"
+"да иползвате BootX, за да стартирате машината си"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Искате ли да използвате aboot ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Грешка при инсталиране на aboot, \n"
+"да се опитам ли да продължа инсталацията дори, ако това унижтожи първия дял ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Сложете празна дискета в устройство %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Подготвям дискета с автоматична инсталация"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Някои етапи не са завършени.\n"
+"\n"
+"Наистина ли искате да излезете сега ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Поздравления"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Престартира"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Подготви дискета за автоматична инсталация"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Автоматичната инсталация може да бъде напълно автоматизирана,\n"
+"в такъв случай ще превземе твърдия ви диск !!!\n"
+"(това е за предназначено за инсталиране на друга машина).\n"
+"\n"
+"Може би искате да повторите инсталацията.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Повтори"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматизиран"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Запази избор на пакети"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Избор на език"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лиценз"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мишка"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Засичане на дисковете"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавиатура"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Сигурност"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Разделяне на дялове"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Инсталирам"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Идентификация"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Потребители"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Мрежа"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Настройка на Х"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Обобщение"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Услуги"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Обновяване"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Излез"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакета"
+#~ msgstr[1] "%d пакета"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакета"
+
+#~ msgid "Language"
+#~ msgstr "Избор на език"
+
+#~ msgid "License"
+#~ msgstr "Лиценз"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Избор на клас инсталация"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Пресмятане"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Пакети за инсталиране"
+
+#~ msgid "Users"
+#~ msgstr "Потребители"
+
+#~ msgid "Networking"
+#~ msgstr "Мрежа"
+
+#~ msgid "Configure X"
+#~ msgstr "Настройка на Х"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Нямам достъп да модулите на ядрото съответстващи на вашият (файл %s "
+#~ "липсва), това означава, че вашето флопи не е синхронизирано с "
+#~ "инсталационният носител (моля направете ново boot флопи)"
diff --git a/perl-install/install/share/po/bn.po b/perl-install/install/share/po/bn.po
new file mode 100644
index 000000000..aea594bfe
--- /dev/null
+++ b/perl-install/install/share/po/bn.po
@@ -0,0 +1,1618 @@
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Omi Azad <omi@altruists.org>, 2004.
+# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004.
+# Progga <progga@BengaLinux.Org>, 2004.
+# Jamil Ahmed <jamil@BengaLinux.Org>, 2004, 2005, 2007.
+# Samia <mailsamia2001@yahoo.com>, 2005.
+# Tisa Nafisa <tisa_nafisa@yahoo.com>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-02-19 00:44+0600\n"
+"Last-Translator: Tisa Nafisa <tisa_nafisa@yahoo.com>\n"
+"Language-Team: Bangla <mdk-translation@bengalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "আপনার কি আরও একটি সম্পুরক মাধ্যম আছে?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"নিচের মিডিয়াটি পাওয়া গেছে এবং ইনস্টল করার সময় ব্যবহার করা হবে: %s.\n"
+"\n"
+"\n"
+"আপনার কি কনফিগার করার জন্য কোনো সম্পুরক ইনস্টলেশন মিডিয়াম আছে?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "সিডি-রম"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "নেটওয়ার্ক (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "নেটওয়ার্ক (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "নেটওয়ার্ক (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "mirror এর ইউ-আর-এল?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "ইউআরএল অবশ্যই ftp:// অথবা http:// দিয়ে শুরু হবে"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "উপস্থিত মিররের তালিকার জন্য Mandriva Linux-এ সংযুক্ত করা হচ্ছে..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "উপস্থিত মিররের তালিকার জন্য Mandriva Linux-এ যোগাযোগ করতে ব্যর্থ হয়েছে..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "আপনি একটি মিরর পছন্দ করুন যেখান থেকে প্যাকেজগুলি নেবেন"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS সেটআপ"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "অনুগ্রহ করে আপনার NFS মিডিয়ার হোস্টনাম এবং ডিরেক্টরী প্রবেশ করান"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "হোস্টনাম পাওয়া যাচ্ছে না"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "ডিরেক্টরী অবশ্যই \"/\" দিয়ে শুরু হবে"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS মাউন্টের জন্য হোস্টনাম ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "ডিরেক্টরি"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "সম্পুরক"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "এই mirror এ কোন hdlist ফাইল পাওয়া যাচ্ছে না"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "যে সমস্থ প্যাকেজ ইনস্টল হয়ে আছে সেগুলি পর্যবেক্ষন করা হচ্ছে..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "আপগ্রেডের পূর্বে প্যাকেজ মুছে ফেলা হচ্ছে..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "আপগ্রেড করার জন্য প্যাকেজ খোঁজা হচ্ছে..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"আপনি নিম্মলিখিত সার্ভার(গুলো) বেছে নিয়েছেন: %s\n"
+"\n"
+"\n"
+"এই সার্ভারগুলো ডিফল্টভাবেই চালু করা থাকে। তাদের কোন নিরাপত্তা সমস্যা\n"
+"নেই, কিন্তু নতুন কিছুর ক্ষেত্রে তার প্রয়োজন আছে। সেক্ষেত্রে আপনি অবশ্যই সেগুলোকে\n"
+"যত তাড়াতাড়ি সম্ভব আপগ্রেড করার ক্ষেত্রে নিশ্চিত হোন।\n"
+"\n"
+"\n"
+"আপনি কি আসলেই এই সার্ভারগুলো ইনস্টল করতে চান?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"আপনার সিস্টেম আপগ্রেড করার ক্ষেত্রে নিম্নলিখিত প্যাকেজগুলো মুছে যাবে: %s\n"
+"\n"
+"\n"
+"আপনি কি আসলেই এই প্যাকেজগুলো মুছে ফেলতে চান?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "নিম্নলিখিত ডিস্কগুলো নামান্তর করা হয়েছে:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (পূর্বের নাম %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "এইচ-টি-টি-পি"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "এফ-টি-পি"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "নেটওয়ার্ক"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "অনুগ্রহ করে একটি মিডিয়া নির্বাচন করুন"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "এই ফাইলটি আগে থেকেই আছে। করব?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "অনুমতি প্রদান করা হয়নি"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "ত্রুটিপূর্ণ NFS নাম"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "অগ্রহণযোগ্য মিডিয়া %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "পার্টিশন করার আগে স্ক্রিনশট তৈরী করা যায়নি"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "%s -এ ইনস্টল করার পরে স্ক্রিনশট পাওয়া যাবে"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr " ইনস্টলেশন"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "কনফিগারেশন"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "আপনাকে অবশ্যই %s-ও ফরম্যাট করতে হবে"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"আপনার কম্পিউটারের কিছু হার্ডওয়্যার কাজ করার জন্য ``মালিকানার'' ড্রাইভার প্রয়োজন।\n"
+"আপনি তাদের সম্পর্কে এখান থেকে তথ্য নিতে পারবেন: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "নেটওয়ার্ককে চালু করা হচ্ছে"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "নেটওয়ার্ককে বন্ধ করা হচ্ছে"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s ফাইল ডাউনলোড করা হচ্ছে..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "ভবিষ্যতে ব্যবহারের জন্য ডিস্কে কিছু প্যাকেজ কপি করা হচ্ছে"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "কপি সম্পন্ন হচ্ছে"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "অবশ্যই থাকতে হবে"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "জরুরী"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "খুবই সুন্দর"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "সুন্দর"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "হয়তোবা"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "আরকেইয়া"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "ফ্ল্যাটআউট"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "থ্রিডি"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "সিএমএস"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "সিআরএম"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "২০০৭ পণ্য লাইন"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "ইনভিকটাস ফায়ারওয়াল"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "লাইভ মডিউল অনুসন্ধান"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "কিভাবে রেজিস্টার করবেন"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "আরপিএমড্র্যাক ২"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva অনলাইন সেবা"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "নতুন থীম"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "ওয়েব ২.০"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "ক্যসপারস্কাই"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "লিনডিভিডি"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "স্কাইপ"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "ওয়ার্কষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "অফিস ওয়ার্কষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"অফিস প্রোগ্রামসমূহ: ওয়ার্ডপ্রসেসর (OpenOffice.org Writer, Kword), স্প্রেডসিট "
+"(OpenOffice.org Calc, Kspread), PDF ফাইল প্রদর্শক ইত্যাদী"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"অফিস প্রোগ্রামসমূহ: ওয়ার্ডপ্রসেসর (kword, abiword), স্প্রেডসিট (kspread, gnumeric), "
+"PDF ফাইল প্রদর্শক ইত্যাদী"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "গেশ ষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "উদ্দীপনামূলক প্রোগ্রামসমূহ: আর্কেড, বোর্ড, স্ট্রেটেজি, ইত্যাদি"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "মাল্টিমিডিয়া ষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "সাউন্ড এবং ভিডিও দেখার/এডিট করার প্রোগ্রামসমূহ"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "ইন্টারনেট ষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"মেইল আদানপ্রদান, খবর পড়া এবং ওয়েব ব্রাউজিং (mutt, tin..) এর জন্য কিছু টুলের সেট"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "নেটওয়ার্ক কম্পিউটার (ক্লাইন্ট)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH সহ বিভিন্ন প্রোটকলের জন্য ক্লাইন্টসমূহ"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "আপনার কম্পিউটারের কনফিগারেশন সহজ করার জন্য কিছু টুল"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "কনসল টুল"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "এডিটর, শেল, ফাইল টুল, টার্মিনাল সমূহ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "ডেভলপমেন্ট"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C এবং C++ ডেভলপমেন্টের লাইব্রেরী, প্রগ্রাম এবং include ফাইলসমূহ"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "ডকুমেন্টেশন"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "লিনাক্স এবং ফ্রী সফটওয়ার সংক্রান্ত বই ও হাউটু (HOWTO)"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "লিনাক্সের সাধারণ আধার। তৃতীয়পক্ষ এপ্লিকেশন সমূহের সাপোর্ট"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "ওয়েব সার্ভার"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "এ্যপাচি"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "গ্রুপওয়্যার"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "কোলাব সার্ভার"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "ফায়ারওয়াল/রাউটার"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "ইন্টারনেট গেটওয়ে"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "মেইল/সংবাদ"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix মেইল সার্ভার, Inn সংবাদ সার্ভার"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "ডিরেক্টরি সার্ভার"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP সার্ভার"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "ডিএনএস/এনআইএস"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ডোমেইন নেম এবং নেটওয়ার্ক ইনফরমেশন সার্ভার"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ফাইল এবং প্রিন্টার শেয়ারিং সার্ভার"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS সার্ভার, Samba সার্ভার"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "ডেটাবেস"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL অথবা MySQL ডেটাবেস সার্ভার"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "ওয়েব/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "এ্যপাচি, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "মেইল"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix মেইল সার্ভার"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL অথবা MySQL ডেটাবেস সার্ভার"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "নেটওয়ার্ক কম্পিউটার সার্ভার"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS সার্ভার, SMB সার্ভার, Proxy সার্ভার, ssh সার্ভার"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "গ্রাফিকাল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE ওয়ার্কষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K ডেক্সটপ, কিছু সহযোগীমূলক টুলের সমন্বয়ে একটি সাধারণ গ্রাফিকাল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "গুহনোম ওয়ার্কষ্টেশন"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"ব্যবহারকারীর বন্ধুসূলভ কিছু এপ্লিকেশন এবং ডোক্সটপ টুলের সমন্বয়ে একটি গ্রাফিকাল পরিবেশ"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm ডেস্কটপ"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "অন্যান্য গ্রাফিকাল ডেক্সটপ"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, ইত্যাদি"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "ইউটিলিটিসমূহ"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH সার্ভিস"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "ওয়েবমিন"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "ওয়েবমিন দূরবর্তী কনফিগারেশন সার্ভার"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "নেটওয়ার্ক ইউটিলিটিসমূহ/পর্যবেক্ষণ"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "পর্যবেক্ষণ টুলসমূহ, হিসাবরক্ষণ প্রসেস করে, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva উইজার্ডসমূহ"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "সার্ভার কনফিগার করার জন্য উইজার্ডসমূহ"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"একটি ত্রুটি সম্পাদিত হয়েছে, কিন্তু আমি বুঝতে পারছিনা\n"
+"কিভাবে এটা সন্দরভাবে হ্যান্ডল করবো।\n"
+"আপনি নিজের ঝুঁকিতে অগ্রসর হতে পারেন।"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"কিছু গুরুত্বপূর্ণ প্যাকেজ সঠিকভাবে ইনস্টল হয়নি।\n"
+"হয় আপনার সিডিরম ড্রাইভ অথবা আপনার সিডিরম ত্রুটিপূর্ণ।\n"
+"কোন ইনস্টল কম্পিউটারে \"rpm -qpl media/main/*.rpm\" কমান্ডের মাধ্যমে সিডিরম "
+"পরীক্ষাকরুন\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' স্টেপে প্রবেশ করছি\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux ইনস্টলেশন %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "উপাদানগুলোর মধ্যে <Tab>/<Alt-Tab> "
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"আপনার সিস্টেমের রিসোর্স খুব কম। ম্যান্ড্রিব লিনাক্স ইনস্টল করার সময় আপনি সমস্যার "
+"মুখোমুখি\n"
+"হতে পারেন. যদি সেটা ঘটে, তাহলে আপনাকে এর পরিবর্তে টেক্স ইনস্টল করতে হবে। এর "
+"জন্য,\n"
+"যখন সিডিরম থেকে বুট হবে তখন `F1' চাপুন, তারপর `text' লিখুন।"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "প্যাকেজ গ্রুপ নির্বাচন"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "আলাদাভাবে প্যাকেজ নির্বাচন"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "মোট সাইজ: %d / %d এমবি"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "বাজে প্যাকেজ"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "ভার্সন:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "সাইজ:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "প্রাধান্য:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "আপনি এই প্যাকেজটি নির্বাচন/অ-নির্বাচন করতে পারবেন না"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s না থাকার কারনে"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s যথেষ্ট না হবার কারনে"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s প্রচারের চেষ্টা চলছে"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s রাখার কারণে"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"আপনি এই প্যাকেজটি নির্বাচন করতে পারবেননা যেহেতু এটা ইনস্টল করার জন্য যথেষ্ট জায়গা "
+"ফাঁকা নেই"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "এই প্যাকেজগুলি ইনস্টল হতে যাচ্ছে"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "এই প্যাকেজগুলি অপসরিত হতে যাচ্ছে"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "এটি একটি বাধ্যতামূলাক প্যাকেজ, এটি কোনভাবেই বাদ দেয়া যাবেনা"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+"আপনি এই প্যাকেজটির অ-নির্বাচন করতে পারবেন না, এটা আগে থেকেই ইনস্টল হয়ে আছে"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "আপনি এই প্যাকেজটি অ-নির্বাচন করতে পারবেন না। এটা অবশ্যই আপগ্রেড হতে হবে"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "সংয়-নির্বাচিত প্যাকেজগুলি দেখাও"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "ইনস্টল"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "নির্বাচনসমূহ লোড/সংরক্ষণ করো"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "প্যাকেজের নির্বাচন আপগ্রেড করা হচ্ছে"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "সর্বনিম্ন ইনস্টল"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "সফটওয়্যার ম্যানেজমেন্ট"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "আপনি যেই প্যাকেজগুলি ইনস্টল করতে চান তা পছন্দ করুন"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "ইনস্টলেশন"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "কোন বিস্তারিত ছাড়া"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "সময় বাকী আছে"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "নির্ধারণ চলছে"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d প্যাকেজ সমূহ"
+msgstr[1] "%d প্যাকেজ সমূহ"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "সারাংশ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "কনফিগার"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "কনফিগার করা হয়নি"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"নিম্নলিখিত ইনস্টলেশন মিডিয়া পাওয়া গেছে।\n"
+"যদি আপনি এগুলোর মধ্যকার কিছু এড়িয়ে যেতে চান, তাহলে এখন সেগুলোকে অনির্বাচিত করুন।"
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"ইনস্টলেশনের আগে আপ‌নি সিডির তথ্যসমূহ হার্ডডিস্কে কপি করতে পারেন।\n"
+" এরপর হার্ডডিস্ক থেকে ইনস্টলেশন চলতে থাকবে এবং সিস্টেম সম্পূর্ন ইনস্টলেশনের পরও "
+"প্যাকেজগুলো রয়ে যাবে।"
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD গুলো সম্পুর্ন কপি করো "
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "একটি ত্রুটি সম্পাদিত হয়েছে"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "অনুগ্রহ করে আপনার কীবোর্ড বিন্যাস পছন্দ করুন।"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "এখানে উপস্থিত সমস্ত কীবোর্ডের তালিকা রয়োছে"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ইনস্টল/আপগ্রড"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "এটা কি একটি ইনস্টলেশন না আপগ্রেড?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s আপগ্রড করো"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s -এর জন্য এনক্রিপশন কী"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE কনফিগারেশন চলছে"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"১ মেগাবাইটের bootstrap এর জন্য খালি জায়গা নেই! ইনস্টল অগ্রসর হবে, কিন্তু আপনার "
+"সিস্টেম বুট করার জন্য, আপনাকে DiskDrake থেকে bootstrap পার্টিশন তৈরী করতে হবে"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"আপনাকে একটি PPC PReP Boot বুটস্ট্র্যাপ তৈরী করতে হবে! ইনস্টলেশন অগ্রসর হবে, তবে "
+"আপনার সিস্টেম বুট করার জন্য, DiskDrake এর বুটস্ট্র্যাপ পার্টিশনটি প্রয়োজন"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"আপনার সিডিরম পরিবর্তন করুন!\n"
+"অনুগ্রহ করে \"%s\" লেখা সিডিরমটি আপনার ড্রাইভে প্রবেশ করান এবং যখন সেটা হয়ে যাবে "
+"ঠিক আছে চাপুন।\n"
+"যদি সেটা আপনার না থাকে, এই সিডিরম থেকে ইনস্টলেশন এড়িয়ে যেতে বাতিল চাপুন।"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "বরাদ্দকৃত প্যাকেজসমূহ খোঁজা হচ্ছে..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"ইনস্টলেশন অথবা সাম্প্রতিকীকরনের জন্য আপনার সিস্টেমে যথেষ্ট পরিমান জায়গা খালি নেই (%"
+"dএমবি > %dএমবি)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"অনুগ্রহ করে প্যাকেজ নির্বাচন লোড বা সংরক্ষণ বাছাই করুন।\n"
+"এই ফরম্যাটটি auto_install দ্বারা তৈরী ফাইলসমূহের মত।"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "চাপ"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "সংরক্ষণ"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "অগ্রহণযোগ্য ফাইল"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "উপস্থিত জায়গার চাইতে নির্বাচিত সাইজটি অনেক বড়"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "ইনস্টলের ধরণ"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"আপনি প্যাকেজের কোন গ্রুপ নির্বাচন করেননি।\n"
+"অনুগ্রহ করে আপনি যে ক্ষুদ্রাকৃতির ইনস্টলেশন চান তা পছন্দ করুন:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X-এর সাথে"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "সাধারন নির্দেশিকার সাথে (পরামর্শ দেয়া হচ্ছে!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "এক্কেবারেই ক্ষুদ্র ইনস্টলেশন (বিশেষ করে কোন urpmi ছাড়া)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "সকল"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "ইনস্টলেশনের প্রস্তুতি চলছে"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s প্যাকেজ সমূহ ইনস্টল করা হচ্ছে"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "প্যাকেজগুলো বিন্যস্ত করতে গিয়ে একটি ভুল ছিল:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "তবুও যাব?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "পুনরায় চেষ্টা করো"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "এই প্যাকেজটি এড়িয়ে যাও"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" মাধ্যমের সব প্যাকেজ এড়িয়ে যাও"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "মিডিয়া এবং প্যাকেজের নির্বাচন এ ফিরে যাও"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "%s প্যাকেজ ইনস্টল করতে সমস্যা হয়েছে।"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "ইনস্টলের পরের কনফিগারেশন"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "অনুগ্রহ করে নিশ্চিত করুন যে সাম্প্রতিক মডিউলগুলো %s ড্রাইভ এ আছে"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "আপডেট"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"আপনি এখন আপডেট প্যাকেজ ডাউনলোড করতে পারবেন। এই প্যাকেজগুলো\n"
+"এই ডিস্ট্রিবিউশন রিলিজ হবার পর আপডেট করতে পারেন। তারা নিরাপত্তা\n"
+"বা ত্রুটি নির্দিষ্ট ধারণ করতে পারে।\n"
+"\n"
+"এই প্যাকেজগুলো ডাউনলোড করতে, আপনার ইন্টারনেট সংযুক্তিতে কাজ করতে\n"
+"হবে।\n"
+"\n"
+"আপনি কি ইনস্টল আপডেট করতে চান?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "প্যাকেজের তালিকার জন্য মিররের সাথে সংযুক্ত করা হচ্ছে..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "%s মিররের সাথে সংযুক্ত হওয়া গেলনা"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "হার্ডওয়্যার"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "সাউন্ডকার্ড"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "আপনার কি একটি ISA সাউন্ড কার্ড আছে?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"ইনস্টল শেষ হবার পরে সাউন্ড কার্ড কনফিগার করার জন্য \"alsaconf\" অথবা \"sndconfig"
+"\" চালাও"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "কোন সাউন্ডকার্ড সনাক্ত হয়নি, ইনস্টলের পরে \"harddrake\" দিয়ে চেষ্টা করুন"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "টিভি কার্ড"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "গ্রাফিকাল ইন্টারফেস"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "নেটওয়ার্ট এবং ইন্টারনেট"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "প্রক্সিসমূহ"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "কনফিগার করা হয়েছে"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "সিকউরিটি লেভেল"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "ফায়ারওয়াল"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "সক্রিয় হয়েছে"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "অকার্যকর করা হয়েছে"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "বুট"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s -এ %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "আপনি X কনফিগার করেননি। আপনি কি নিশ্চিত এরকমটি চান?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Bootloader প্রস্তুত করা হচ্ছে..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"আপনার মেশিনটি মনে হচ্ছে একটি Oldworld বা অজানা মেশিন, yaboot বুটলোডারটি আপনার "
+"জন্য কাজ করবে না। ইনস্টল এগিয়ে যাবে, কিন্তু আপনার মেশিনকে বুট করার জন্য আপনাকে "
+"BootX বা অন্য কোন কিছু ব্যবহার করতে হবে। root fs এর জন্য কার্নেল প্রেরিত মান হবে: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "আপনি কি aboot ব্যবহার করতে চান?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Aboot ইনস্টলে ব্যর্থ হয়েছে,\n"
+"জোর করে ইনস্টলের চেষ্টা করবো যদিও সেটা প্রথম পার্টিশনকে নষ্ট করতে পারে?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"এই নিরাপত্তা লেভেলে, উইন্ডোজ পার্টিশনের ফাইলে প্রবেশ শুধুমাত্র অ্যাডমিনিস্ট্রেটরের আছে।"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s ড্রাইভে একটি ফাঁকা ফ্লপি ঢোকান"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "সয়ং ইনস্টল ফ্লপি তৈরী করা হচ্ছে..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"কিছু ধাপ সম্পূর্ন করা যায়নি।\n"
+"\n"
+"আপনি কি এখন বের হতে চান?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "স্বাগতম"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "রিবুট"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "সয়ংক্রিয় ইনস্টল ফ্লপি প্রস্তুত করো"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"যদি আপনি চান স্বয়ংক্রিয় ইনস্টল পুরোপুরি স্বয়ংক্রয়ভাবে হবে,\n"
+"সেক্ষেত্রে সেটা হার্ড ড্রাইভের কর্তৃত্বে!!\n"
+"(এর মানে হচ্ছে অন্য একটি বাক্সে ইনস্টল)।\n"
+"\n"
+"আপনি তার চেয়ে পুনরায় ইনস্টলেশন চালু করুন।\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "জবাব"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "সয়ংক্রিয়ভাবে"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "প্যাকেজের নির্বাচন সংরক্ষণ করে রাখো"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "ভাষা"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "লাইসেন্স"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "মাউস"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "হার্ড ড্রাইভ সনাক্ত"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "ইনস্টলেশনের শ্রেনী"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "কি-বোর্ড"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "সিকিউরিটি"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "পার্টিশন করা হচ্ছে"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "ফরম্যাট করা হচ্ছে"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "প্যাকেজ পছন্দ করা হচ্ছে"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ইনস্টলেশন"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "অনুমোদন"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ব্যবহারকারী"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "নেটওয়ার্ক করা"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "বুটলোডার"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X কনফিগার"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "সারাংশ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "সার্ভিস সমূহ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "আপডেট"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "বাহির"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d প্যাকেজ সমূহ"
+#~ msgstr[1] "%d প্যাকেজ সমূহ"
+
+#~ msgid "%d packages"
+#~ msgstr "%d প্যাকেজ সমূহ"
+
+#~ msgid "Language"
+#~ msgstr "ভাষা"
+
+#~ msgid "License"
+#~ msgstr "লাইসেন্স"
+
+#~ msgid "Installation class"
+#~ msgstr "ইনস্টলেশনের শ্রেনী"
+
+#~ msgid "Formatting"
+#~ msgstr "ফরম্যাট করা হচ্ছে"
+
+#~ msgid "Choosing packages"
+#~ msgstr "প্যাকেজ পছন্দ করা হচ্ছে"
+
+#~ msgid "Users"
+#~ msgstr "ব্যবহারকারী"
+
+#~ msgid "Networking"
+#~ msgstr "নেটওয়ার্ক করা"
+
+#~ msgid "Configure X"
+#~ msgstr "X কনফিগার"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "আপনার কার্ণেলের কার্ণেল মডিউলগুলোতে প্রবেশ করতে পারছে না (%s ফাইলটি হারিয়া "
+#~ "গেছে), এর স্বাভাবিক অর্থ হচ্ছে আপনার বুট ফ্লপি ইনস্টলেশন মিডিয়ামের সাথে sync এ "
+#~ "নেই (অনুগ্রহ করে একটি নতুন বুট ফ্লপি তৈরী করুন)"
diff --git a/perl-install/install/share/po/br.po b/perl-install/install/share/po/br.po
new file mode 100644
index 000000000..b56d509cd
--- /dev/null
+++ b/perl-install/install/share/po/br.po
@@ -0,0 +1,1562 @@
+# DrakX e Brezhoneg.
+# Copyright (C) 1999-2005 Mandriva
+# Thierry Vignaud <tvignaud@mandriva.com>, 1999-2005
+# Jañ-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>, 1999-2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 10.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-11-29 20:37+0100\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandriva.com>\n"
+"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1;plural=0\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hag ur vedia all hoc'h eus ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rouedad (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rouedad (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rouedad (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL ar melezour ?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Dao en deus an URL kregiñ gant ftp:// pe http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"O taremprediñ al lec'hienn Mandriva Linux evit kaout roll ar melezouroù "
+"hegerz ..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Sac'het en ur taremprediñ al lec'hienn Mandriva Linux evit kaout roll ar "
+"melezouroù hegerz "
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Dibabit ur melezour da dapout ar pakadoù diwarnañ"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Kefluniadur NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Roit anv ostiz ha renkell ho media NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Anv ostiz ar marc'hañ NFS ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Renkell"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "A-gresk"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne m'eus ket kavout ur roll pakadoù e-barzh ar melezour-mañ. Kit da wiriañ "
+"al lec'hiadur-mañ zo mad."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "O kavout pakadoù zo staliet eo ..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "O zilemel ar pakadoù a-raok bremanaat ..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "O kavout pakadoù da vremanaat ..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Ar pakadoù a-heul zo war-nes bezañ distaliet evit bremañaat ho reizhiad : %"
+"s\n"
+"\n"
+"\n"
+"Ha fellout a ra deoc'h da vat lemel anezho ?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Adenvelet e oa ar bladenn/pladennoù-mañ :"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (a vez graet %s dioutañ diaraok)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rouedad"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Dibabit ur vedia, mar plij"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Ar restr zo endeo. Rasklañ anezhañ ?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Aotre nac'het"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "N'eo ket un anv NFS mat"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "N'eo ket mat ar vedia %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "N'hellan ket sevel skrammpakeroù a-raok parzhañ"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skrammpakeroù a vo bet kavet goude staliañ e %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "O staliañ"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Kefluniadur"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Ret eo deoc'h furmadiñ %s ivez"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "O lañsañ ar rouedad"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "O tizenaouiñ ar rouedad"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Oc'h enkargañ ar restr %s ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Oc'h eilañ"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "a rankfec'h kaout"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "a-bouez"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "brav-tre"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "brav"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "marteze"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Moger tan Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Penaos enskrivañ ?"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Servijoù Mandriva enlinenn"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Giz nevez"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Post labour"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Post labour burevek"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmoù burev : skridtreterezhioù (OpenOffice.org Writer, Kword), "
+"logerioù (OpenOffice.org Calc, Kspread), gwelerien PDF, ..."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programmoù burev : skridtreterezhioù (kword, abiword), logerioù (kspread, "
+"gnumeric), gwelerien PDF, ..."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Arsav c'hoarioù"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Arsav liesvedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmoù evit seniñ/aozañ tonioù ha videoù"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Arsav internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Urzhiataer rouedad (kliant)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Pratikoù evit meur a gomennad (da skouer ssh)"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ostilhoù evit kefluniañ hoc'h urzhiataer dre aes"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Ostilhoù letrin"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Aozerien, shelloù, ostilhoù restr, termenelloù"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Diorren"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Teuliadur"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servijer Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Strollant"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servijer Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Moger tan/Henter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Dreuzell an Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Posteloù/keleier"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servijer posteloù Postfix, servijer keleier Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Levr-bloaz"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servijer FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servijer DNS ha NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servijer rennañ restroù ha moullerez"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servijer NFS, servijer Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Stlennvon"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servijer stlennvon PostgreSQL ha MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servijer postel Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servijer stlennvon PostgreSQL pe MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Servijer rouedad"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servijer NFS, servijer SMB, servijer proksi, servijer SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Endeo grafikel"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Post burevek KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "An Endro Burev K gant he ostilhoù"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Post burevek GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Burev IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Burevioù c'hrafek all"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Mavegoù"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servijer SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servijer Webmin ar gefluniadur a-bell"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Ostilhoù ar rouedad/diwall"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Skozelerien Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Skozelerien evit kefluniañ ar servijer"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Degouezhet ez eus ur fazi, hogen n'ouzon ket e verañ naet.\n"
+"Kendalc'hit war ho mar."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "O kregiñ gant al lankad `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Staliadur Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> etre elfennoù"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Diuzadenn strollad pakadoù"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Diuz pakadoù unan hag unan"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ment hollek : %d / %d Mo"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pakad siek"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Stumm : "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Ment : "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Talvoudegezh : "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "N'hellit ket diuz/andiuz ar pakad-mañ"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "peogwir %s zo manket"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "peogwir %s zo manket"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "evit mirout %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"N'hellit ket dibab ar pakad-mañ peogwir n'eus ket a-walc'h a egor evit "
+"staliañ anezhañ"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ staliet"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ lamet"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Hemañ zo ur pakad ret, n'hell ket bezañ andiuzet"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Staliet eo endo"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "N'hellit ket andiuz ar pakad-mañ. Ret eo dezhañ bezañ bremanaet"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Diskouez ar pakadoù a zo dibabet emgefrek"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Staliañ"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Kargañ/Enrollañ an dibab"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "O bremañaat diuzadenn ar pakadoù"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Staliadur bihan"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Merañ ar pakadoù"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Dibabit ar pakadoù a vennit staliañ"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "O staliañ"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Munudoù ebet"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Amzer a chom "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "O vrasjediñ"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakad"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Evit diverriñ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Kefluniañ"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "n'eo ket kefluniet"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Eilañ tout an CDoù"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ur fazi zo bet"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Dibabit reizhadur ho stokellaoueg mar plij."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Setu eo listenn leun ar stokellaoueg da gaout"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Staliañ/Bremanaat"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Hag ur staliadur pe ur bremanadur eo ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Bremanaat %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Alc'hwez enrinegadur evit %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Kefluniañ IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Kemmit ho Cd-Rom !\n"
+"\n"
+"Lakait el lenner ar Cd-Rom warnañ an diketenn « %s » mar plij ha gwaskit Mat "
+"eo da c'houde.\n"
+"Ma n'emañ ket ganeoc'h gwaskit Nullañ evit chom hep staliañ ar Cd-Rom-se."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "O klask ar pakadoù hegerz ..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Dibabit kargañ pe enrollañ choazh ar pakadoù mar plij.\n"
+"Ar furmad zo hini ar restroù auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Kargañ"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Enrollañ"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "N'eo ket mat ar restr"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Brasoc'h eo ment dibabet evit egor dieub"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Seurt ar staliadur"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"N'eus ket strollad pakadoù dibabet ebet.\n"
+"Dibabit ar staliañ vihanañ e fell deoc'h implij mar plij :"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Gant X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Gant un teuliadur bihan (kuzuliet !)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Staliadur bihan gwir (n'eus urpmi ebet)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "An holl"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "O prientiñ ar staliadur"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "O staliañ ar pakad %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ur fazi zo bet en ur rummañ pakadoù :"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kenderc'hel evelato ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Adklask"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Enrollañ diuzadenn an pakadoù"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Ur fazi zo bet en ur staliañ ar pakadoù :"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Kefluniadur goude staliañ"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Bremañaat"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Moien zo dit da bellkargañ ar pakadoù bremañaet. Bremañaet e oa ar\n"
+"pakadoù-mañ goude e oa echu an ingaladur. Gallout a ra kaout difazioù\n"
+"surentez pe difazioù bogoù.\n"
+"\n"
+"Red eo da gaout ur gevreadenn bev ouzh internet evit staliañ anezho.\n"
+"\n"
+"Mennout a rit staliañ anezho ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "O taremprediñ ar melezour evit kaout roll ar pakadoù hegerz ..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ne m'eus ket daremprediñ ar melezour %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Periantel"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Kartenn gwelet"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Hag ur gartenn gwelet ISA hoc'h eus ?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Seveniñ « alsaconf » pe « sndconfig » goude staliañ evit kefluniañ ho "
+"kartenn klevet"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"N'eus kartenn gwelet kavet ebet. Kargañ « harddrake » goude ar staliadur"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Kartenn pellwel"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Ketal kevregañ"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rouedad hag Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proksioù"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "kefluniet"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Live an surentez"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Moger tan"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "bevaatet"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "diweredekaet"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Lañsañ"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s war %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "N'eo ket kefluniet X. Ha fellout a ra deoc'h da vat ober an dra-mañ ?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "O prientiñ ar c'harger loc'hañ ..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Mennout a rit implijout aboot ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Fazi en ur staliañ aboot,\n"
+"klask rediañ ar staliadur zoken ma tistruj ar parzhadur kentañ ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Lakait ur bladennig gwerc'h el lenner %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "O krouiñ ur bladennig staliañ emgefreek ..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Lankadoù 'zo n'int ket peurc'hraet.\n"
+"\n"
+"Mennout a rit kuitaat da vat bremañ ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Brav"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Adlañsañ"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Krouiñ ur bladennig staliañ emgefreek"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Adseniñ"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Emgefreek"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Enrollañ diuzadenn an pakadoù"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Yezh"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Aotre"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Logodenn"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Dinoiñ ar bladenn galet"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Renkad ar staliadur"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Stokellaoueg"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Diogelroez"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "O parzhañ"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "O furmadiñ"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Choazh ar pakadoù"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "O staliañ"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Dilesadur"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Arveriaded"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rouedad"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Karger loc'hañ"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Kefluniañ X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Evit diverriñ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servijoù"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Bremañaat"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Kuitaat"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakad, %d Mo)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakad"
+
+#~ msgid "Language"
+#~ msgstr "Yezh"
+
+#~ msgid "License"
+#~ msgstr "Aotre"
+
+#~ msgid "Installation class"
+#~ msgstr "Renkad ar staliadur"
+
+#~ msgid "Formatting"
+#~ msgstr "O furmadiñ"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Choazh ar pakadoù"
+
+#~ msgid "Users"
+#~ msgstr "Arveriaded"
+
+#~ msgid "Networking"
+#~ msgstr "Rouedad"
+
+#~ msgid "Configure X"
+#~ msgstr "Kefluniañ X"
diff --git a/perl-install/install/share/po/bs.po b/perl-install/install/share/po/bs.po
new file mode 100644
index 000000000..89f9eef26
--- /dev/null
+++ b/perl-install/install/share/po/bs.po
@@ -0,0 +1,1632 @@
+# translation of bs.po to Bosnian
+# translation of DrakX-bs.po to Bosnian
+# translation of bs.po to Bosanski
+# translation of DrakX-bs.po to Bosanski
+# Copyright (C) 2001, 2003, 2004, 2005, 2006. Free Software Foundation, Inc.
+# Amila Akagić <bono@lugbih.org>, 06. 2001.
+# Vedran Ljubovic <vljubovic@smartnet.ba>, 2002, 2003, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-16 10:33+0200\n"
+"Last-Translator: Vedran Ljubovic <vljubovic@smartnet.ba>\n"
+"Language-Team: Bosnian <lokal@linux.org.ba>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Imate li neke dodatne medije?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Pronašao sam sljedeće medije koji će biti korišteni tokom instalacije: %s.\n"
+"\n"
+"\n"
+"Imate li još neke dodatne medije koje želite podesiti?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "sa CDROMa"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mreža (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Mreža (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL mirrora?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL mora počinjati sa ftp:// ili http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktiram Mandriva Linux web stranicu da bih saznao listu dostupnih "
+"mirrora..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Nisam uspio kontaktirati Mandriva Linux web stranicu radi liste dostupnih "
+"mirrora"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izaberite mirror sa kojeg će biti dobavljeni paketi"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Podešavanje NFS-a"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Molim unesite ime računara i direktorij vašeg NFS medija"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime računara sa NFS serverom?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktorij"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne mogu pronaći hdlist datoteku na ovom mirroru. Provjerite da li je "
+"lokacija ispravna."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tražim već instalirane pakete..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Uklanjam pakete prije unaprjeđenja..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Pronalazim pakete za unaprjeđenje..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Izabrali ste sljedeći server (servere): %s\n"
+"\n"
+"\n"
+"Serveri će se pokretati automatski prilikom starta računara. Oni nemaju "
+"nikakvih\n"
+"poznatih sigurnosnih propusta, ali možda će propusti biti otkriveni "
+"naknadno. Ako\n"
+"se to desi, morate ih ažurirati što prije bude moguće.\n"
+"\n"
+"\n"
+"Da li zaista želite instalirati ove servere?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Da bi se omogućilo unaprjeđenje vašeg sistema, biće uklonjeni sljedeći "
+"paketi: %s\n"
+"\n"
+"\n"
+"Želite li zaista deinstalirati ove pakete?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sljedeći diskovi su preimenovani:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ranije pod imenom %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Molim izaberite medij"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka već postoji. Želite li pisati preko nje?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Nemate dozvolu"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Neispravan NFS naziv"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Neispravan medij %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ne mogu napraviti snimak ekrana prije particioniranja"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Snimanje ekrana će biti dostupno nakon što instalirate u %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalacija"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Podešavanje"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Morate takođe formatirati i %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Neke od komponenti vašeg računara zahtijevaju \"vlasničke\" drajvere za "
+"rad.\n"
+"Možete naći više podataka o njima na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Pokrećem mrežu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zaustavljam mrežu"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Preuzimam datoteku %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiram neke pakete na disk radi buduće upotrebe"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje u toku"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "obavezno"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "vrlo fino"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "fino"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 linija proizvoda"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live režim"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kako se registrovati"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online usluge"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nova tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Uredska radna stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Uredski programi: obrada teksta (OpenOffice.org Write, KWord), tablični "
+"proračun (OpenOffice.org Calc, KSpread), PDF preglednici itd."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Uredski programi: obrada teksta (kword, abiword), tablični alati (kspread, "
+"gnumeric), pdf preglednici itd."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Stanica za igru"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkadne igre, stolne igre, strategije itd."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijalna stanica"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za pregled i editovanje zvuka i videa"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Skup alata za čitanje i slanje pošte i news-a (mutt, tin...) i pregledanje "
+"Weba"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežni računar (klijent)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti za razne protokole uključujući ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lakše podešavanje računara"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Alati za konzolu"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editori, shellovi, alati za datoteke, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Programiranje"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ biblioteke, programi i include datoteke"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige i howto-i na temu Linuxa i slobodnog softvera"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Podrška za programe trećih lica"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web server"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail server, Inn news server"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Imenički server"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serveri domenskih imena i mrežnih informacija"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server za dijeljenje datoteka i štampača"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Baze podataka"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server PostgreSQL ili MySQL baze podataka"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ili MySQL baza podataka"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, ssh server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafičko okruženje"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE radna stanica"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, osnovno grafičko okruženje sa izborom pratećih alata"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME radna stanica"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafička okolina sa skupom korisnički orjentisanih programa i alata za radnu "
+"površinu"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm okruženje"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ostale grafičke okoline"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm itd."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Alati"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin server za podešavanje sistema"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Mrežni alati i nadzor"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Alati za nadzor, praćenje procesa, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva čarobnjaci"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarobnjaci (wizardi) za podešavanje serverâ"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Došlo je do greške, ali ne znam kako da postupim u vezi toga.\n"
+"Nastavite na vlastiti rizik."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Neki bitni paketi nisu ispravno instalirani.\n"
+"Ili je neispravan vaš CD-ROM uređaj ili vaš CD-ROM medij.\n"
+"Možete provjerite medij na računaru sa instaliranim Mandriva Linuxom\n"
+"koristeći naredbu \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Prelazim na korak '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux instalacija %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Vašem sistemu ponestaje resursa. Možda imate neki problem sa instalacijom\n"
+"Mandriva Linuxa. Ako se ovo desi, možete pokušati tekstualnu instalaciju. Za "
+"ovo,\n"
+"pritisnite 'F1' prilikom pokretanja instalacije, zatim unesite riječ 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Izbor grupe paketa"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Izbor pojedinačnih paketa"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veličina: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Neispravan paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verzija: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Veličina: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Značaj: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ne možete izabrati/isključiti ovaj paket"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "zbog nedostajućeg %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog nezadovoljenog %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokušavam promovirati %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "kako biste zadržali %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Ne možete izabrati ovaj paket jer nema dovoljno prostora za njega"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Sljedeći paketi će biti instalirani"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Sljedeći paketi će biti uklonjeni"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ovo je obavezan paket, ne može biti isključen"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Ne možete isključiti ovaj paket. On je već instaliran"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ne možete isključiti ovaj paket. On mora biti unaprijeđen"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatski prikaži izabrane pakete"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalacija"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Učitajte ili snimite izbor paketa"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ažuriram spisak paketa"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacija"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programi"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izaberite pakete koje želite instalirati"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sakrij detalje"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Preostalo vremena "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Procjenjujem"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketa"
+msgstr[1] "%d paketa"
+msgstr[2] "%d paketa"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Ukratko"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Podesi"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nije podešeno"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Pronađeni su sljedeći instalacioni mediji.\n"
+"Ako želite preskočiti neke od njih, možete ih isključiti sada."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Imate mogućnost da kopirate sadržaj CDova na hard disk prije instalacije.\n"
+"Zatim će instalacija biti nastavljena sa hard diska, a paketi će ostati "
+"dostupni nakon što sistem bude instaliran."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiraj čitave CDove"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Došlo je do greške"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Molim izaberite raspored vaše tastature."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ovdje je puna lista svih dostupnih tastatura"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instaliraj/Unaprijedi"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Da li je ovo instalacija ili unaprjeđenje?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Unaprijedi %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ključ enkripcije za %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Podešavam IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nema dovoljno slobodnog prostora za 1 MB bootstrap! Instalacija će "
+"nastaviti, ali da biste pokrenuli vaš sistem morate kreirati bootstrap "
+"particiju u DiskDrake-u"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Trebate napraviti PPC PReP Boot bootstrap! Instalacija će nastaviti, ali da "
+"biste pokrenuli vaš sistem morate kreirati bootstrap particiju u DiskDrake-u"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Promijenite vaš CD-ROM!\n"
+"Molim ubacite CD označen sa \"%s\" u vaš CD-ROM uređaj i pritisnite \"U redu"
+"\" kad ste spremni.\n"
+"Ako ga nemate, pritisnite \"Odustani\" da preskočite instalaciju sa tog CD-"
+"ROMa."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim dostupne pakete..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Molim izaberite da li ćete učitati ili snimiti izbor paketa.\n"
+"Format je isti kao i diskete koje generiše auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Učitaj"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Snimi"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Neispravna datoteka"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izabrana veličina je veća od slobodnog prostora"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Vrsta instalacije"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Niste izabrali nijednu grupu paketa\n"
+"Molim izaberite vrstu minimalne instalacije koju želite:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Sa grafikom"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporučeno)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno minimalna instalacija (posebno bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Svi"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Došlo je do greške pri raspoređivanju paketa:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Da nastavim?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Pokušaj ponovo"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Spasi izbor paketa"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Došlo je do greške kod instaliranja paketa:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-instalacijsko podešavanje"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Molim provjerite da je medij za ažuriranje u uređaju %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ažuriranje"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Sada imate mogućnost da dobavite sa Interneta nove verzije paketa koji\n"
+"su izašli nakon što je distribucija objavljena. Među njima su sigurnosne "
+"zakrpe\n"
+"i ispravke bugova.\n"
+"\n"
+"Da biste izvršili download, potrebno je da podesite Internet konekciju.\n"
+"\n"
+"Da li želite instalirati ažurirane pakete ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontaktiram mirror da bih saznao listu dostupnih paketa..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ne mogu pristupiti mirroru %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvučna kartica"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Imate li ISA zvučnu karticu?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Pokrenite \"alsaconf\" ili \"sndconfig\" poslije instalacije kako biste "
+"podesili vašu zvučnu karticu"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nije otkrivena zvučna kartica. Probajte \"harddrake\" poslije instalacije"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kartica"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafički interfejs"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy-ji"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "podešeno"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sigurnosni nivo"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiviran"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "isključen"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Niste podesili X. Sigurno želite uraditi ovo?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pripremam bootloader..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Izgleda da imate OldWorld ili Unknown računar, yaboot bootloader neće raditi "
+"kod vas. Instalacija će se nastaviti, ali ćete morati koristiti BootX ili "
+"neki drugi način za bootanje vašeg računara. Argument kernela za root fs je: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Da li želite koristiti aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Greška u instaliranju aboota, \n"
+"da li da pokušam nasilnu instalaciju čak i ako to uništi prvu particiju?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Na ovom sigurnosnom nivou, pristup datotekama na Windows particijama je "
+"dozvoljen samo administratoru."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ubacite praznu disketu u jedinicu %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pravim auto instalacijsku disketu..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Neki koraci nisu dovršeni.\n"
+"\n"
+"Da li zaista želite izaći sada?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Čestitamo"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Restartuj"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Napravi autoinstalacijsku disketu"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Ova auto instalacija može biti potpuno automatizovana ako želite,\n"
+"u kojem slučaju će hard disk biti prebrisan\n"
+"(ovo je namjenjeno za instaliranje na drugi računar).\n"
+"\n"
+"Možda ćete radije željeti ponoviti instalaciju.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ponovi"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizovano"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Spasi izbor paketa"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Jezik"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenca"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Miš"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Prepoznavanje hard diska"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Klasa instalacije"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatura"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurnost"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particioniranje"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatiram"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Izbor paketa"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instaliram"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Metod autentikacije"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Korisnici"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Mreža"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Podešavanje X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ukratko"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servisi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ažuriranje"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izlaz"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paketa, %d MB)"
+#~ msgstr[1] "(%d paketa, %d MB)"
+#~ msgstr[2] "(%d paketa, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketa"
+
+#~ msgid "Language"
+#~ msgstr "Jezik"
+
+#~ msgid "License"
+#~ msgstr "Licenca"
+
+#~ msgid "Installation class"
+#~ msgstr "Klasa instalacije"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatiram"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Izbor paketa"
+
+#~ msgid "Users"
+#~ msgstr "Korisnici"
+
+#~ msgid "Networking"
+#~ msgstr "Mreža"
+
+#~ msgid "Configure X"
+#~ msgstr "Podešavanje X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ne mogu pristupiti kernelskim modulima koji odgovaraju vašem kernelu "
+#~ "(nedostaje datoteka %s), što obično znači da je vaša boot disketa "
+#~ "zastarjela u odnosu na instalacioni medij (napravite noviju boot disketu)"
diff --git a/perl-install/install/share/po/ca.po b/perl-install/install/share/po/ca.po
new file mode 100644
index 000000000..626f3437b
--- /dev/null
+++ b/perl-install/install/share/po/ca.po
@@ -0,0 +1,1632 @@
+# translation of ca.po to Catalan
+# translation of DrakX.po to Catalan
+# Copyright (C) 2000-2004, 2005 Free Software Foundation, Inc.
+# Softcatala, softcatala.org, 2000-2003
+# Albert Astals Cid <astals11@terra.es>, 2003-2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ca\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-09-13 23:24+0200\n"
+"Last-Translator: Albert Astals Cid <astals11@terra.es>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=n!=1;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Xarxa (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Xarxa (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Xarxa (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL de la rèplica?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"S'està contactant amb el servidor Mandriva Linux per obtenir la llista de "
+"rèpliques disponibles..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"S'està contactant amb el servidor Mandriva Linux per obtenir la llista de "
+"rèpliques disponibles..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Escolliu una rèplica des de la qual aconseguir els paquets"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directori"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "No s'ha pogut trobat el fitxer hdlist en aquest rèplica"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "S'estan cercant els paquets ja instal·lats..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "S'estan cercant els paquets a actualitzar"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Heu seleccionat el(s) servidor(s) següent(s): %s\n"
+"\n"
+"\n"
+"Aquests servidors estan activats per defecte. No tenen cap problema de "
+"seguretat\n"
+"conegut, però se'n podrien trobar de nous. Si fos així, caldrà que els "
+"actualitzeu\n"
+"tan aviat com sigui possible.\n"
+"\n"
+"\n"
+"Voleu realment instal·lar aquests servidors?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Se suprimiran els següents paquets per poder actualitzar el sistema: %s\n"
+"\n"
+"\n"
+"Voleu realment suprimir aquests paquets?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Xarxa"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Si us plau escolliu"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "El fitxer ja existeix. El voleu sobreescriure?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "S'ha denegat el permís"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nom NFS incorrecte"
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "s'ha afegit la font %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "No es poden fer captures de pantalla abans de fer les particions"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les captures estaran disponibles després d'instal·lar a %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "S'està instal·lant"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuració"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "També heu de formatar %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Part del maquinari del vostre ordinador necessita controladors\n"
+"\"registrats\" per poder funcionar. Podeu trobar-ne informació a: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "S'està activant la xarxa"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "S'està desactivant la xarxa"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "S'està descarregant el fitxer %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Còpia en procés"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "s'ha de tenir"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "molt bonic"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bonic"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "potser"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, fuzzy, c-format
+msgid "Invictus Firewall"
+msgstr "Tallafocs interactiu"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Estació de treball"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Estació de treball d'oficina"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programes d'ofimàtica: processadors de textos (OpenOffice.org Writer, "
+"Kword), fulls de càlcul (OpenOffice.org Calc, Kspread), visualitzadors pdf, "
+"etc."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programes d'ofimàtica: processadors de textos (kword, abiword), fulls de "
+"càlcul (kspread, gnumeric), visualitzadors pdf, etc."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Estació de jocs"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programes d'entreteniment: acció, jocs de taula, estratègia, etc."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Estació multimèdia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programes de reproducció/edició de so i vídeo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Estació d'Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunt d'eines per llegir i enviar correu i notícies (mutt, tin...) i per "
+"navegar pel Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordinador de xarxa (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients per a diferents protocols, incloent l'ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Eines per facilitar la configuració de l'ordinador"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Eines de consola"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editors, intèrprets d'ordres, eines de fitxer, terminals"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Desenvolupament"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteques de desenvolupament C i C++, programes i fitxers include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentació"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Llibres i Com es fa... sobre el Linux i el programari lliure"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Base Estàndard de Linux (LSB). Suport a aplicacions de tercers"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tallafoc/Encaminador"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Passarel·la a Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Correu/Notícies"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correu Postfix, Servidor de noticies Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de directori"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de Noms de Domini i d'Informació de la Xarxa (DNS/NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de compartició de fitxers i impressores"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, Servidor Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Base de dades"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servidor de bases de dades PostgreSQL i MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache i Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Correu"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correu Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servidor de bases de dades PostgreSQL o MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor d'ordinador de xarxa"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, Servidor SMB, Servidor Proxy, Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Entorn gràfic"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Estació de treball KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L'entorn d'escriptori K (KDE), l'entorn gràfic bàsic que inclou diverses "
+"eines"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estació de treball GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Entorn gràfic amb un conjunt d'aplicacions i eines d'escriptori fàcil "
+"d'utilitzar"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Escriptori IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Altres escriptoris gràfics"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitats"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitats de xarxa/Monitorització"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Auxiliars de Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Auxiliars per configurar el servidor"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"S'ha produït un error, però no sé com gestionar-lo correctament.\n"
+"Si continueu, és sota la vostra responsabilitat."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Alguns paquets importants no s'han instal·lat correctament.\n"
+"La vostra unitat de CD-ROM, o bé el CD-ROM, són defectuosos.\n"
+"Comproveu el CD-ROM en un ordinador instal·lat mitjançant \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "S'està entrant en el pas '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instal·lació del Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elements"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"El vostre sistema està baix de recursos; podeu tenir algun problema en\n"
+"instal·lar el Mandriva Linux. Si això passa, podeu provar d'instal·lar-lo "
+"en\n"
+"mode text. Per fer-ho, premeu 'F1' en arrencar des del CD-ROM i escriviu "
+"'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selecció del grup de paquets"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selecció individual de paquets"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mida total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Paquet incorrecte"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versió: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Mida:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importància:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "No podeu seleccionar/desseleccionar aquest paquet"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "degut a que falten %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "degut a %s no satisfetes"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "per tal de mantenir %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No podeu seleccionar aquest paquet perquè no queda prou espai per instal·lar-"
+"lo"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ara s'instal·laran els paquets següents"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ara s'eliminaran els paquets següents"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Aquest paquet és obligatori; no es pot desseleccionar"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "No podeu desseleccionar aquest paquet; ja està instal·lat"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "No podeu desseleccionar aquest paquet; s'ha d'actualitzar"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostra automàticament els paquets seleccionats"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instal·la"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carrega/Desa la selecció"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "S'està actualitzant la selecció de paquets"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instal·lació mínima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gestor de programari"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolliu els paquets que voleu instal·lar"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "S'està instal·lant"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sense detalls"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Temps restant "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "S'està estimant"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquet"
+msgstr[1] "%d paquets"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Resum"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configura"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "no configurat(da)"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copia els CDs sencers"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "S'ha produït un error"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Si us plau, seleccioneu la disposició del vostre teclat."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Aquesta és la llista completa de teclats disponibles"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instal·la/Actualitza"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Es tracta d'una instal·lació o d'una actualització?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualitza %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clau de xifratge per a %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "S'està configurant l'IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"No hi ha prou espai lliure per un 1MB de bootstrap! La instal·lació "
+"continuarà, però per iniciar el sistema necessitareu crear la partició de "
+"bootstrap amb el DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"No hi ha prou espai lliure per un 1MB de bootstrap! La instal·lació "
+"continuarà, però per iniciar el sistema necessitareu crear la partició de "
+"bootstrap amb el DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Canvieu el Cd-Rom!\n"
+"Si us plau, inseriu el CD-ROM etiquetat com \"%s\" a la unitat i després\n"
+"premeu D'acord.\n"
+"Si no el teniu, premeu Cancel·la per no fer la instal·lació des d'aquest Cd-"
+"Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "S'estan cercant els paquets disponibles..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Si us plau, carregueu o deseu la selecció de paquets en el disquet.\n"
+"El format és el mateix que en els disquets generats d'instal·lació "
+"automàtica."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Càrrega"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Desa"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Fitxer incorrecte"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "La mida seleccionada és superior a la disponible"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipus d'instal·lació"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"No heu seleccionat cap grup de paquets.\n"
+"Escolliu la instal·lació mínima que voleu:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Amb X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Amb la documentació bàsica (recomanat!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instal·lació realment mínima (especialment no urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tots"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "S'està preparant la instal·lació"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "S'està instal·lant el paquet %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "S'ha produït un error en ordenar els paquets:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Voleu seguir igualment?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Desa la selecció de paquets"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "S'ha produït un error en instal·lar els paquets:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuració posterior a la instal·lació"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Actualitzacions"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Ara teniu l'oportunitat de baixar paquets actualitzats. Aquests paquets\n"
+"han estat actualitzats després de la publicació de la distribució. Poden "
+"contenir\n"
+"actualitzacions de seguretat o correccions d'errors.\n"
+"\n"
+"Per baixar aquests paquets necessitareu tenir una connexió a Internet\n"
+"operativa.\n"
+"\n"
+"Voleu instal·lar les actualitzacions?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"S'està contactant amb la rèplica per obtenir la llista dels paquets "
+"disponibles..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "No es pot contactar amb la rèplica: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Maquinari"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Targeta de so"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Teniu una targeta de so ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Executeu \"alsacont\" després de la instal·lació per configurar la targeta "
+"de so"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"No s'ha detectat cap targeta de so. Proveu amb \"harddrake\" després de la "
+"instal·lació"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Targeta de TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfície gràfica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Xarxa i Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Intermediaris"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurat"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivell de seguretat:"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Tallafoc"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activat"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "inhabilita"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Arrencada"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s a %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No heu configurat X. Segur que ho voleu així?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "S'està preparant el carregador de l'arrencada..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Sembla que teniu un OldWorld o una màquina\n"
+"desconeguda; el carregador d'arrencada yaboot no us funcionarà.\n"
+"La instal·lació continuarà, però us caldrà utilitzar el BootX\n"
+"o algun altre mètode per arrencar l'ordinador"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Voleu utilitzar l'aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"S'ha produït un error en instal·lar l'aboot. \n"
+"Voleu intentar igualment la instal·lació encara que això destrueixi la "
+"primera partició?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"En quest nivell de seguretat, l'accés a les particions de Windows està "
+"restringit a l'administrador."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inseriu un disquet en blanc a la unitat %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "S'està creant el disquet d'instal·lació automàtica"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alguns passos no s'han completat.\n"
+"\n"
+"Segur que voleu sortir ara?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Felicitats"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reinicia"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Genera un disquet per a la instal·lació automàtica"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Si ho desitgeu, la instal·lació automàtica es pot\n"
+"automatitzar completament, però en aquest cas\n"
+"prendrà el control del disc dur!\n"
+"(Això està pensat per a la instal·lació en un altre ordinador.)\n"
+"\n"
+"Potser preferireu repetir la instal·lació.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Repeteix"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automàtica"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Desa la selecció de paquets"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Escolliu el vostre idioma"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Llicència"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ratolí"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecció del disc dur"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclat"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguretat"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionament"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "S'està instal·lant"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autenticació"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuaris"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Xarxa"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Carregador d'arrencada"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configura l'X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resum"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serveis"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualitzacions"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Surt"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paquet, %d MB)"
+#~ msgstr[1] "(%d paquets, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paquets"
+
+#~ msgid "Language"
+#~ msgstr "Escolliu el vostre idioma"
+
+#~ msgid "License"
+#~ msgstr "Llicència"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Tipus d'instal·lació"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "S'està estimant"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Paquets a instal·lar"
+
+#~ msgid "Users"
+#~ msgstr "Usuaris"
+
+#~ msgid "Networking"
+#~ msgstr "Xarxa"
+
+#~ msgid "Configure X"
+#~ msgstr "Configura l'X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "No es pot accedir als mòduls del nucli corresponents al vostre nucli (no "
+#~ "s'ha trobat el fitxer %s). Això generalment vol dir que el vostre disquet "
+#~ "d'arrencada no està sincronitzat amb el suport d'instal·lació (si us "
+#~ "plau, creeu un nou disquet d'arrencada)"
diff --git a/perl-install/install/share/po/cs.po b/perl-install/install/share/po/cs.po
new file mode 100644
index 000000000..d56ab3039
--- /dev/null
+++ b/perl-install/install/share/po/cs.po
@@ -0,0 +1,1587 @@
+# Translation of cs.po to Czech
+# Copyright (C) 1999,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Radek Vybiral <Radek.Vybiral@vsb.cz>, 2000, 2001-2003.
+# Michal Bukovjan <bukm@centrum.cz>, 2002-2003, 2004, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: cs\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-15 19:32+0100\n"
+"Last-Translator: Michal Bukovjan <bukm@centrum.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Máte ještě nějaká další doplňující zdroje?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Byly nalezeny a při instalaci budou použity následující zdroje: %s.\n"
+"\n"
+"\n"
+"Chcete nastavit ještě nějaké další doplňující instalační zdroje?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Síť (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Síť (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Síť (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL zrcadla?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL musí začínat na ftp:// nebo http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktuji web Mandriva Linux pro získání seznamu dostupných zrcadel..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Selhalo kontaktování webu Mandriva Linux pro získání seznamu dostupných "
+"zrcadel"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Zvolte si zrcadlo (mirror) pro stahování balíčků"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Nastavení NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Zadejte prosím název počítače a adresář vašeho zařízení NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Chybí název počítače"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Adresář musí začínat znakem \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Název počítače připojení NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Adresář"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatečný"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nelze nalézt soubor hdlist na tomto zrcadle. Ujistěte se, že umístění je "
+"správné."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Prohledávám již instalované balíčky..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstraňují se balíčky před aktualizací..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Vyhledávám balíčky pro aktualizaci..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Vybrali jste pro instalaci následující server(y): %s\n"
+"\n"
+"\n"
+"Tyto servery budou standardně aktivovány. Přestože není známý žádný\n"
+"bezpečnostní problém, mohou se přesto vyskytnout. Je proto důležité "
+"aktualizovat\n"
+"vždy, když je to potřeba.\n"
+"\n"
+"\n"
+"Chcete opravdu nainstalovat tyto servery?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Následující balíčky budou odebrány, aby bylo možné systém aktualizovat: %s\n"
+"\n"
+"\n"
+"Opravdu chcete odebrat tyto balíčky?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Následující disk(y) byly přejmenovány:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (předchozí název %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Síť"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Prosím vyberte zdroj"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Soubor již existuje. Přepsat?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Přístup odepřen"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Chybný název NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Chybný zdroj %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Nelze provést sejmutí obrazovky před rozdělením disků"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Sejmuté obrazovky budou dostupné po instalaci v adresáři %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalace"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Nastavení"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Musíte také naformátovat %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Některé části vašeho hardware potřebují pro svoji práci 'proprietární' "
+"ovladače.\n"
+"Další informace o těchto ovladačích můžete nalézt na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Startuji síť"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zastavuji síť"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Stahuji soubor %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopíruji některé balíčky na disky pro budoucí použití"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Probíhá kopírování"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "musíte mít"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "důležité"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "nejméně důležité"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "nedůležité"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "může se hodit"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Produktová linie 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery v živém režimu"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Jak se zaregistrovat"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Online služby Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nové téma"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Pracovní stanice"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kancelářská stanice"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programy pro kancelář: textové procesory (OpenOffice.org Writer, Kword), "
+"tabulkové procesory (OpenOffice.org Calc, Kspread), prohlížeče PDF a další"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programy pro kancelář: textové procesory (KWord, Abiword), tabulkové "
+"procesory (KSpread, Gnumeric), prohlížeče PDF a další"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Hry"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zábavné programy: deskové hry, strategie, atd."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediální stanice"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy pro přehrávání/editaci zvuku a videa"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetová stanice"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Soubor nástrojů pro čtení a posílaní el. pošty a příspěvků do diskusních "
+"skupin (mutt, tin..) a pro prohlížení Webu"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Síťový počítač (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti pro různé verze protokolu ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nástroje pro snadnou konfiguraci počítače"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolové nástroje"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editory, shelly, souborové nástroje, terminály"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Vývoj"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Knihovny pro vývoj v C a C++, programy a hlavičkové soubory"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentace"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knihy a Howto o Linuxu a Svobodném Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Standardní Báze Linuxu (LSB): Podpora aplikací jiných dodavatelů"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webový server"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetová brána"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Pošta/Diskusní skupiny"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Poštovní server Postfix, server diskusních skupin Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Server adresářových služeb"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server pro domény a síťové informace"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server pro sdílení souborů a tiskáren"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Databáze"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Databázové servery PostgreSQL a MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache a Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Poštovní server Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Databázové servery PostgreSQL nebo MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Síťový server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, SSH server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafické prostředí"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Pracovní stanice s KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, základní grafické prostředí s kolekcí doprovodných "
+"nástrojů"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Pracovní stanice s GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafické prostředí s uživatelsky přívětivým seskupením aplikací a pracovní "
+"plochou"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Další grafické desktopy"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm a další"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Užitečné nástroje"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server pro vzdálené nastavení Webminu"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Síťové nástroje/Sledování"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Nástroje pro sledování, evidenci procesů, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Průvodci Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Průvodci nastavením serverů"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Stala se chyba, ale nevím, jak jí správně interpretovat.\n"
+"Pokračujte na vlastní riziko."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Některé důležité balíčky nebyly správně nainstalované.\n"
+"Je možné, že je poškozen CD disk nebo CD-ROM mechanika.\n"
+"Zkontrolujete to použitím příkazu \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Začínám krok '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Instalace %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mezi prvky"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Váš systém má málo systémových prostředků. Při instalaci Mandriva Linuxu se\n"
+"můžete setkat s různými problémy. Pokud se tak stane, zkuste textovou\n"
+"verzi instalačního programu. Ta se spouští tak, že při startu\n"
+"z CD mechaniky stisknete 'F1' a poté napíšete 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Výběr skupiny balíčků"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Výběr jednotlivých balíčků"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Celková velikost: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Špatný balíček"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verze: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Velikost: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Důležitost: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Nemůžete vybrat/nevybrat tento balíček"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "protože chybí %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "díky nesplněné závislosti %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokus o postoupení %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "aby bylo zachováno %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nemůžete vybrat tento balíček, protože pro jeho instalaci není dost místa"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Budou instalovány tyto balíčky"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Budou odebrány tyto balíčky"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Toto je povinný balíček, nemůže být odstraněn"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Nemůžete odznačit tento balíček, je už nainstalovaný"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Tento balíček musí být aktualizován, nemůžete ho odznačit"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ukázat automaticky vybrané balíčky"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalovat"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Načíst/Uložit výběr"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Aktualizuji výběr balíčků"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimální instalace"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Správa software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vyberte si balíčky, které chcete nainstalovat"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instaluji"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Bez podrobností"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Zbývající čas "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Odhaduji"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d balíček"
+msgstr[1] "%d balíčky"
+msgstr[2] "%d balíčků"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Souhrn"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Nastavit"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nenastaveno"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Byla nalezeny následující instalační zdroje.\n"
+"Pokud chcete některé z nich vynechat, můžete je nyní odznačit."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Máte možnost před instalací zkopírovat obsah CD na pevný disk.\n"
+"Instalace pak bude pokračovat z pevného disku a balíčky zůstanou dostupné i "
+"poté, co je systém plně nainstalován."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopírovat celá CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Stala se chyba"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Vyberte si rozložení vaší klávesnice."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Zde je úplný seznam dostupných klávesnic"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalace/Aktualizace"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Jedná se o instalaci nebo aktualizaci?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualizace %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Šifrovací klíč pro %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Nastavuji IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Pro bootstrap není potřebné místo o velikosti 1MB! Instalace může "
+"pokračovat, ale pro spuštění systému musíte vytvořit bootstrap oddíl pomocí "
+"DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Je nutné vytvořit zavedení PPC PReP Boot! Instalace může pokračovat, ale pro "
+"zavedení systému musíte vytvořit zaváděcí oddíl pomocí DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Vyměňte prosím CD!\n"
+"Prosím vložte CD označené \"%s\" do mechaniky a stiskněte Ok.\n"
+"Pokud toto CD nemáte, stiskněte Zrušit a toto CD nebude nainstalováno."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hledám dostupné balíčky..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Váš systém nemá dostatek volného místa pro instalaci nebo aktualizaci (%dMB "
+"> %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vyberte si, zda chcete uložit nebo načíst výběr balíčků.\n"
+"Formát je stejný jako u souborů generovaných pomocí auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Načíst"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Uložit"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Chybný soubor"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Velikost vybraných balíčků je větší než místo na disku"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Typ instalace"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nevybrali jste žádnou skupinu balíčků.\n"
+"Vyberte si prosím alespoň minimální instalaci:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X prostředí"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Základní dokumentace (doporučeno!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Opravdu minimální instalace (speciálně bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Všechno"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Připravuji instalaci"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaluji balíček %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Stala se chyba při řazení balíčků:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Přesto pokračovat?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Zkusit znovu"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Vynechat tento balíček"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Vynechat všechny balíčky ze zdroje \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Vrátit se zpět k výběru zdrojů a balíčků"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Při instalaci balíčku %s nastala chyba."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Probíhá nastavování po instalaci"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Ujistěte se prosím, že se médium s aktualizovanými moduly nachází v jednotce "
+"%s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aktualizace"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Nyní máte možnost stáhnout aktualizované balíčky. Tyto balíčky byly\n"
+"uvolněny až po vydání distribuce. Mohou obsahovat bezpečnostní\n"
+"aktualizace nebo opravy chyb.\n"
+"\n"
+"Chcete-li získat tyto balíčky, musíte mít k dispozici funkční připojení\n"
+"k Internetu.\n"
+"\n"
+"Chcete nainstalovat aktualizace?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Stahuji seznam dostupných balíčků ze zrcadla..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nelze kontaktovat zrcadlo %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvuková karta"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Máte nějakou zvukovou kartu na ISA sběrnici?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Pro nastavení zvukové karty spusťte po instalaci \"alsaconf\" nebo "
+"\"sndconfig\""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nebyla nalezena zvuková karta. Zkuste spustit po instalaci \"harddrake\"."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV karta"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafické rozhraní"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Síť & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "nastaveno"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Úroveň zabezpečení"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivováno"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "vypnuto"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Spuštění"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Nemáte nastaveno prostředí X. Chcete jej skutečně ponechat nenastavené?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Připravuji zaváděcí program..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Zdá se, že máte počítač OldWorld nebo jiný, neznámý, na kterém nebude "
+"zavaděč Yaboot pracovat. Instalace bude pokračovat, ale budete potřebovat "
+"BootX nebo jiný nástroj pro zavedení systému. Parametr jádra pro kořenový "
+"souborový systém je: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Chcete použít aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Stala se chyba při instalaci aboot,\n"
+"mám se pokusit o instalaci i když to zruší první oddíl na disku?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"V této úrovní zabezpečení je přístup k souborům na oddíle s Windows omezena "
+"pouze na uživatele administrátor."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Vložte prázdnou disketu do %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Vytvářím disketu pro automatickou instalaci..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Některé kroky nebyly dokončeny.\n"
+"\n"
+"Chcete opravdu nyní skončit?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulujeme"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Restartovat"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Vytvořit disketu pro automatickou instalaci"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Instalace může být v případě potřeby plně automatická,\n"
+"ale použije se celý disk!!!\n"
+"(v případě instalace na druhý počítač)\n"
+"\n"
+"Takto lze jednoduše zopakovat instalaci.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Zopakovat"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automaticky"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Uložit výběr jednotlivých balíčků"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Jazyk"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Myš"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detekce pevných disků"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Třída instalace"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klávesnice"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bezpečnost"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Rozdělení disku"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formátování"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Výběr balíčků"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instaluji"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Ověření"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uživatelé"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Sítě"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Zaváděcí program"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Nastavení X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Souhrn"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Služby"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizace"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Konec"
diff --git a/perl-install/install/share/po/cy.po b/perl-install/install/share/po/cy.po
new file mode 100644
index 000000000..0b804bdce
--- /dev/null
+++ b/perl-install/install/share/po/cy.po
@@ -0,0 +1,1626 @@
+# translation of DrakX-cy.po to Cymraeg
+# Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+#
+# Rhoslyn Prys <rhoslyn.prys@ntlworld.com>, 2003,2004,2005.
+# Rhoslyn Prys <post@meddal.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: Mandriva Linux\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-28 12:37+0000\n"
+"Last-Translator: Rhoslyn Prys <post@meddal.com>\n"
+"Language-Team: Cymraeg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Welsh\n"
+"X-Poedit-Country: UNITED KINGDOM\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"Plural-Forms: nplurals=2; plural=(n == 2) ? 1 : 0;\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Oes gennych unrhyw gyfrwng atodol arall?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Mae'r cyfrwng yma wedi ei ganfod a byddant yn cael eu defnyddio gyda'r "
+"gosodiad nesaf: %s \n"
+"\n"
+"\n"
+"A oes gennych gyfrwng gosod ychwanegol i'w ffurfweddu?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rhwydwaith (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rhwydwaith (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rhwydwaith (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL y drych?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Rhaid i'r URL gychwyn gyda ftp:// neu http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Cysylltu â safle gwe Mandriva Linux i estyn y rhestr o ddrychau..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Methwyd cysylltu â safle gwe Mandriva Linux i estyn y rhestr o ddrychau"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Dewiswch ddrych lle mae modd estyn y pecynnau"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Ffurfweddiad NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Rhowch enw'r gwesteiwr a chyfeiriadur eich cyfrwng NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Enw gwesteiwr ar goll"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Rhaid i gyfeiriadur gychwyn gyda \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Enw gwesteiwr cosodiad NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Cyfeiriadur"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Atodol"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Methu canfod ffeil hdlist ar y drych. Gwnewch yn siwr fod y lleoliad yn "
+"gywir."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Edrych ar becynnau wedi eu gosod yn barod..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Tynnu pecynnau cyn diweddaru..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Canfod pecynnau i'w uwchraddio..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Rydych wedi dewis y gweinydd(wyr) canlynol: %s\n"
+"\n"
+"\n"
+"Mae'r gweinyddion canlynol yn cael eu cychwyn drwy ragosodiad. Does\n"
+"ganddynt unrhyw faterion diogelwch hysbys, ond mae'n bosibl i rai ddod i'r\n"
+"golwg. Os felly rhaid uwchraddio gynted ag y bo modd\n"
+"\n"
+"Ydych chi wir eisiau gosod y gweinyddion hyn?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Bydd y pecynnau canlynol yn cael eu tynnu i ganiatáu diweddaru eich system: %"
+"s\n"
+"\n"
+"\n"
+"Ydych chi am dynnu'r pecynnau hyn?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Mae'r disg(iau) hyn wedi eu hailenwi:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ei enw blaenorol oedd %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rhwydwaith"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Dewiswch gyfrwng"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Mae'r ffeil yn bodoli eisoes. Ysgrifennu drosti?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Mynediad wedi ei wrthod."
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Enw NFS gwael"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Cyfrwng drwg %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Meth creu lluniau o'r sgrin cyn rhannu"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Bydd lluniau o'r sgrin ar gael ar ôl gosod yn %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Gosod"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Ffurfweddiad"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Rhaid fformatio %s hefyd"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Mae peth caledwedd ar eich cyfrifiadur angen gyrwyr ``priodol'' i weithio.\n"
+"Mae rhywfaint o wybodaeth i'w gael amdanynt yn %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Cychwyn y rhwydwaith"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Cau'r rhwydwaith"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Llwytho ffeil %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copïo rhai pecynnau ar ddisg ar gyfer defnydd yn y dyfodol"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Copïo ar waith"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "rhaid cael"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "pwysig"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "hyfryd iawn"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "hyfryd"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "efallai"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Cynnyrch 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Mur Cadarn Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Modd Byw Discovery"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Sut i gofrestru"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Services"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Thema Newydd"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Man Gwaith"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Gweithfan Swyddfa"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Rhaglenni swyddfa: prosesydd geiriau (OpenOffice.org Writer, Kword), "
+"taenlenni (OpenOffice.org Calc, Kspread), ddarllenydd pdf, ag ati"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Rhaglenni swyddfa: prosesydd geiriau (Kword, abiword), taenlenni (kspread, "
+"gnumeric), ddarllenydd pdf, ag ati"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Man chwarae"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Rhaglenni difyrrwch: arcêd, gemau bwrdd, strategaeth, ag ati"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Man aml-gyfrwng"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Chwarae sain a fideo/rhaglenni golygu"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Man Rhyngrwyd"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Casgliad o offer i ddarllen ac anfon e-bost a newyddion (mutt, tin..) ac i "
+"bori'r We"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Cyfrifiadur Rhwydwaith (cleient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Cleientiaid ar gyfer protocolau amrywiol yn cynnwys ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Offer i wneud ffurfweddu'ch cyfrifiadur yn haws"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Offer y Consol"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Golygyddion, cregyn, offer ffeilio, terfynellau"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Datblygiad"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Llyfrgelloedd datblygiadol C a C++, rhaglenni a ffeiliau cynnwys"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dogfennaeth"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Llyfrau a Howto's ar Linux a Meddalwedd Rhydd"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Cefnogaeth i raglenni trydydd parti"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Gweinydd Gwe"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Grwpwar"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Gweinydd Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Mur Gwarchod/Llwybrydd"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Porth i'r rhyngrwyd"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-bost/Newyddion"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Gweinydd e-bost Postfix, gweinydd newyddion Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Cyfeiriadur Gweinydd"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Gweinydd FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Gweinydd Enw Parth a Gwybodaeth Rhwydwaith"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Gweinydd Ffeil a Rhannu Argraffydd"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Gweinydd NSF, gweinydd Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Cronfa Ddata"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Gweinydd cronfa data PostgreSQL neu MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Gwe/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-bost"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Gweinydd e-bost Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Gweinydd cronfa data PostgreSQL neu MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Gweinydd Cyfrifiadur Rhwydwaith"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Gweinydd NFS, gweinydd SMB, gweinydd dirprwyol, gweinydd ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Amgylchedd Graffig"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Man Gwaith KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"KDE - Amgylchedd Bwrdd gwaith K, yr amgylchedd graffig sylfaenol gyda "
+"chasgliad o offer"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Man Gwaith Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Amgylchedd graffig gyda chasgliad o raglenni ac offer bwrdd gwaith hawdd eu "
+"defnyddio."
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Bwrdd Gwaith IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Byrddau Gwaith Graffigol Eraill"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, ag ati"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Gwasanaethau"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Gweinydd SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Gweinydd Ffurfweddiad Pell Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Gwasanaethau Rhwydwaith/Monitro"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Offer monitro, cyfrifo prosesau, tcpdunp, nmap..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Dewiniaid Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "dewiniaid i ffurfweddu gweinydd"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Digwyddodd gwall ond wn i ddim sut i ddelio ag ef yn dwt.\n"
+"Mae'n beryglus i barhau."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Methodd rhai pecynnau pwysig a chael eu gosod yn gywir.\n"
+"Un ai mae eich disg CD-ROM neu eich CD-ROM yn wallus.\n"
+"Gwiriwch y CD-ROM ar gyfrifiadur wedi ei osod gan ddefnyddio \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Cychwyn cam '%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Gosodiad %s Mandriva Linux"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> rhwng elfennau"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Mae eich sytem yn brin o adnoddau. Efallai bod gennych broblem wrth osod\n"
+"Mandriva Linux. Os yw hynny'n digwydd, defnyddiwch y gosod testun yn lle\n"
+"hynny. I wneud hynny pwyswch 'F1' wrth gychwyn ar CDROM, ac yna teipio "
+"'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Dewis y Grŵp Pecyn"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Dewis pecynnau unigol."
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Cyfanswm maint: %d/%d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pecyn gwallus"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Fersiwn:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Maint:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Pwysigrwydd: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Does dim modd i chi ddewis/dad-ddewis y pecyn"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "oherwydd %s coll"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "oherwydd %s annigonol"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "ceisio hyrwyddo %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "er mwyn cadw %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Nid oes modd i chi ddewis y pecyn hwn - does dim lle ar ôl i'w osod"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Mae'r pecynnau canlynol i'w gosod"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Bydd y pecynnau canlynol yn cael eu tynnu"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Mae hwn yn becyn hanfodol, does dim modd ei ddad-ddewis"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Does dim mod dad-ddewis y pecyn, mae wedi ei osod yn barod"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Does dim mod dad-ddewis y pecyn hwn. Rhaid ei ddiweddaru"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Dangoswch y pecynnau dewis awtomatig"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Gosodiad"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Llwytho/Cadw'r dewis"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Diweddaru'r dewis pecynnau"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Gosodiad lleiaf"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Rheoli Meddalwedd"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Dewiswch y pecynnau hoffech chi eu gosod"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Gosod"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Dim manylion"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Amser yn weddill"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Amcangyfrif"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pecyn"
+msgstr[1] "%d pecyn"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Crynodeb"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Ffurfweddu"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "heb ffurfweddu"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Mae'r cyfrwng gosod canlynol wedi ei ganfod.\n"
+"Os hoffech hepgor rhai ohonynt, dad-ddewiswch nhw nawr."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Mae gennych y dewis i gopîo cynnwys y CD ar i'r disg caled cyn gosod "
+"Mandriva Linux.\n"
+"Bydd yna'n parhau o'r disg caled a bydd y pecynnau ar gael unwaith i'r "
+"system gael ei osod yn gyflawn."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copïo'r CDau cyfan"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Digwyddodd gwall"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Dewiswch gynllun eich bysellfwrdd."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Dyma restr lawn o'r bysellfyrddau sydd ar gael"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Gosod/Diweddaru"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Gosod neu ddiweddaru?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Diweddaru %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Allwedd amgryptio ar gyfer %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Ffurfweddu IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nid oes lle rhydd ar gyfer yr ymlwythwr 1MB! Bydd y gosodiad yn parhau, ond "
+"i gychwyn y system bydd rhaid i chi greu rhaniad ymlwythwr yn DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Bydd angen i chi greu llwythwr mwdwl PPC PReP Boot! Bydd y gosodiad yn "
+"parhau, ond i gychwyn y system bydd rhaid i chi greu rhaniad ymlwythwr yn "
+"DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Newidiwch eich CD-ROM\n"
+"\n"
+"Rhowch y CD-ROM \"%s\" yn eich gyrrwr a chlicio Iawn ar ôl gorffen\n"
+"Os nad yw gennych, cliciwch Dileu i osgoi gosod o'r CD-ROM hon."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Casglu'r pecynnau sydd ar gael..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Nid oes gan eich system ddigon o le ar gyfer gosod neu uwchraddio (%dMB > %"
+"dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Dewiswch lwytho neu gadw pecyn dewiswyd.\n"
+"Mae'r fformat yr un â ffeiliau cynhyrchwyd drwy auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Llwyth"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Gorffen"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ffeil drwg"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Mae'r maint a ddewiswyd yn fwy na'r lle ar gael"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Math o osodiad"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nid ydych wedi dewis unrhyw grwpiau o becynnau.\n"
+"Dewiswch y gosodiad lleiaf rydych ei eisiau"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Gyda X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Gyda dogfennaeth elfennol (argymhellir!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Gosodiad bychan iawn (yn arbennig dim urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Popeth"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Paratoi'r gosodiad"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Gosod pecyn %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Roedd gwall wrth drefnu pecynnau:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Mynd yn ein blaen beth bynnag?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Ceisio Eto"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Hepgor y pecyn"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hepgor pob pecyn o gyfrwng \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Mynd yn ôl at ddewis cyfrwng a phecyn"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Digwyddodd gwall wrth osod pecyn: %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ffurfweddiad ôl osod"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Gwnewch yn siŵr fod cyfrwng Diweddaru Modiwlau yng ngyrrwr %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Diweddaru"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Mae'n bosibl i chi llwytho i lawr y pecynnau diweddaraf sydd wedi eu\n"
+"ryddhau ers i'r dosbarthiad fod ar gael. Efallai bod gwallau a materion "
+"diogelwch wedi eu cywiro\n"
+"\n"
+"I lwytho'r pecynnau i lawr, bydd angen cyswllt gweithredol\n"
+"â'r Rhyngrwyd.\n"
+"\n"
+"Ydych chi am osod y diweddariadau?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Cysylltu â'r drych i estyn y rhestr o becynnau sydd ar gael..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Methu canfod drych: %s."
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Caledwedd"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Cerdyn sain"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "A oes gennych gerdyn sain ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Rhedwch \"alsaconf\" neu \"sndconfig\" wedi'r gosodiad i ffurfweddu eich "
+"cerdyn sain"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Heb ganfod cerdyn sain. Ceisiwch \"harddrake\" wedi'r gosodiad"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Cerdyn Teledu"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Rhyngwyneb graffigol"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rhwydwaith a'r Rhyngrwyd"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Dirprwyon"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "ffurfweddwyd"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Lefel Diogelwch"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Mur Cadarn"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "gweithredwyd"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "anablwyd"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Cychwyn"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s ar %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nid ydych wedi ffurfweddu X. Ydych chi'n siŵr eich bod am wneud hyn?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Paratoi cychwynnwr..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Mae'n ymddangos fod gennych beiriant OldWorld neu Anhysbys ac ni fydd "
+"cychwynnydd yaboot yn gweithio ar eich cyfer Bydd y gosodiad yn parhau ond "
+"bydd rhaid defnyddio BootX i gychwyn eich peiriant. Ymresymiad y cnewyllyn "
+"ar gyfer y gwraidd yw: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Ydych chi eisiau defnyddio aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Gwall gosod aboot, \n"
+"ceisiwch orfodi gosodiad hyd yn oed os yw hynny'n dinistrio'r rhaniad cyntaf?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ar y lefel diogelwch yma, mae mynedfa i ffeiliau yn rhaniad Windows wedi eu "
+"cyfyngu i'r Gweinyddwr."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Rhowch ddisg meddal yng ngyrrwr %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creu disg meddal awto gosod..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Nid yw rhai camau wedi eu cwblhau.\n"
+"\n"
+"Ydych chi wir eisiau gorffen?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Llongyfarchiadau"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Ailgychwyn"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Creu disg meddal awto gosod"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Mae modd awtomeiddio'r awto gosod, os hoffech\n"
+"chi, yn yr achos hwnnw bydd yn cymryd drosodd y\n"
+"disg caled!!\n"
+"(mae hyn ar gyfer gosod ar flwch arall).\n"
+"\n"
+"Efallai byddai'n well gennych ai osod y gosodiad.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ail chwarae"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Awtomeiddwyd"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Cadw'r dewis becynnau"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Iaith"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Trwydded"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Llygoden"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Canfod disg caled"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Dosbarth gosod"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Bysellfwrdd"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Diogelwch"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Creu rhaniadau"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Fformatio"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Dewis pecynnau"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Gosod"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Dilysu"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Defnyddwyr"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rhwydweithio"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cychwynnwr ar waith"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ffurfweddu X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Crynodeb"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Gwasanaethau"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Diweddaru"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Gadael"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pecyn, %d MB)"
+#~ msgstr[1] "(%d pecyn, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pecyn"
+
+#~ msgid "Language"
+#~ msgstr "Iaith"
+
+#~ msgid "License"
+#~ msgstr "Trwydded"
+
+#~ msgid "Installation class"
+#~ msgstr "Dosbarth gosod"
+
+#~ msgid "Formatting"
+#~ msgstr "Fformatio"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Dewis pecynnau"
+
+#~ msgid "Users"
+#~ msgstr "Defnyddwyr"
+
+#~ msgid "Networking"
+#~ msgstr "Rhwydweithio"
+
+#~ msgid "Configure X"
+#~ msgstr "Ffurfweddu X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Methu cael mynediad i modiwlau'r cnewyllyn sy'n cyfateb i'ch cnewyllyn "
+#~ "chi (mae ffeil %s ar goll), mae hyn yn golygu, fel arfer, nad yw eich "
+#~ "disg cychwyn yn cydweddu gyda'r cyfrwng Gosod (crëwch ddisg cychwyn "
+#~ "meddal newydd)"
diff --git a/perl-install/install/share/po/da.po b/perl-install/install/share/po/da.po
new file mode 100644
index 000000000..0148720cb
--- /dev/null
+++ b/perl-install/install/share/po/da.po
@@ -0,0 +1,1628 @@
+# translation of da.po to
+# translation of da1.po to Danish
+# translation of da.po to Danish
+# translation of DrakX-da.po to Danish
+# Copyright (C) 2000,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Troels Liebe Bentsen <tlb@iname.com> 2000.
+# Keld Simonsen <keld@dkuug.dk>, 2000-2003, 2004, 2005.
+# Keld Simonsen <keld@rap.dk>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: da\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-10-01 16:31+0200\n"
+"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
+"Language-Team: <da@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du andre supplerende medier?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"De følgende medier er fundet og vil blive brugt ved installeringen: %s.\n"
+"\n"
+"\n"
+"Har du et supplerende installationsmedium, der skal konfigureres?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Cd-rom"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netværk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netværk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netværk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL på spejlet?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL skal starte med ftp:// eller http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontakter Mandriva Linux netsted for at hente listen over tilgængelige spejle"
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mislykkedes med at kontakte Mandriva Linux netsted for at hente listen over "
+"tilgængelige spejle"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Vælg det spejl hvorfra pakkerne skal hentes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-opsætning"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Indtast værtsnavn og katalog for dit NFS-medie"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Værtsnavn på NFS-monteringen?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kan ikke finde hdlist-fil på dette spejl"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Leder efter pakker der allerede er installeret..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjerner pakker før opgradering..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Leder efter pakker som skal opgraderes"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Du har valgt følgende servere: %s\n"
+"\n"
+"\n"
+"Disse servere er aktiveret som standard. De har ingen kendte "
+"sikkerhedsproblemer, men nogen nye kan blive fundet. I så tilfælde skal du "
+"opgradere så snart som mulig.\n"
+"\n"
+"\n"
+"Ønsker du virkelig at installere disse servere?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"De følgende pakker vil blive fjernet for at kunne opdatere systemet: %s\n"
+"\n"
+"\n"
+"Ønsker du virkelig at fjerne disse pakker?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "De følgende diske blev omdøbt:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tidligere kaldet %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Netværk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Vælg et medie"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fil eksisterer allerede. Skal den overskrives?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Adgang nægtet"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Dårligt NFS-navn"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Dårligt medie %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kan ikke lave øjebliksbilleder før partitionering"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Øjebliksbilleder vil være tilgængelige efter installation i %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Du skal også formatere %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Noget maskinel på din maskine skal bruge ''proprietære'' drivere for at "
+"virke.\n"
+"Du kan finde information om dem hos: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bringer netværket op"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Lukker netværket ned"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Henter filen %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierer nogle pakker til disk til fremtidig brug"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering udføres"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "skal have"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "vigtigt"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "meget rart"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "rart"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "måske"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 produktlinje"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus brandmur"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live Mode"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Hvordan man registerer"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva-tjenester på nettet"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nyt tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontor-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontor-programmer: Tekstbehandling (OpenOffice.org, kword, abiword), "
+"regneark (OpenOffice.org, kspread, gnumeric), pdf-visere, o.lign."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kontor-programmer: Tekstbehandler (kword, abiword), regneark (kspread, "
+"gnumeric), pdf-visere, o.lign."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spillemaskine"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underholdnings-programmer: arkade, bræt, strategi, osv."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedie-station"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Lyd- og video-afspillere og redigeringsværktøjer"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet-station"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Værktøjssæt til at læse samt sende post og nyheder (mutt, tin..) , og til at "
+"browse på nettet"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netværksmaskine (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter for forskellige protokoller inklusiv ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Værktøjer til at lette indstillingen af din maskine"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolværktøjer"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redigeringsværktøjer, skaller, filværktøjer, terminaler"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Udvikling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C og C++ udviklingsbiblioteker, programmer, og include-filer."
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøger og vejledninger om Linux og Frit Programmel"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Understøttelse for tredjeparts-programmer"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Gruppeprogrammel"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brandmur/ruter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetadgang"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Post og nyheder"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix postserver, inn nyhedsserver"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogserver"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server for domænenavne (DNS) og netværksinformation (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og Printerdelings-server"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL og MySQL database-server"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache og Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix postserver"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL eller MySQL database-server"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Netværksmaskine server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-vært, SMB-vært, mellemvært (proxy), SSH-vært"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop -miljøet, det grundlæggende grafiske miljø, med en vifte af "
+"supplerende værktøjer."
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome-arbejdsstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Et grafisk miljø med brugervenlig samling af programmer og værktøjer"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske miljøer"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Nytteprogrammer"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin ekstern konfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nytteprogrammer og overvågning af netværk"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvågningsværktøjer, proceskontering, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva konfigurationsprogrammer"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Hjæpeprogrammer til at konfigurere server"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Der opstod en fejl, men jeg ved ikke hvordan den kan håndteres på en\n"
+"pæn måde.\n"
+"Fortsæt på eget ansvar!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Nogle vigtige pakker blev ikke installeret rigtigt.\n"
+"Enten er dit cdrom-drev eller din cdrom fejlbehæftet.\n"
+"Tjek cdrom'en på en færdiginstalleret maskine ved brug af \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Går til trin `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellem elementer"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Dit system har kun få resurser. Du kan få problemer med at installere\n"
+"Mandriva Linux. Hvis dette sker, kan du prøve en tekst-baseret installation "
+"i stedet\n"
+"Dette gøres ved at trykke 'F1' ved opstart fra cdrommen, og så skrive 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Valg af pakkegrupper"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelt pakkevalg"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total størrelse: %d / %d Mb"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Dårlig pakke"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Størrelse: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr " %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Vigtighed: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Du kan ikke vælge/fravælge denne pakke"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "grundet manglende %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "grundet uopfyldt %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "prøver at forfremme %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "for at beholde %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikke vælge denne pakke, da der ikke er nok plads tilbage til at "
+"installere den"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "De følgende pakker vil blive installeret"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "De følgende pakker vil blive afinstalleret"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dette er en nødvendig pakke, den kan ikke vælges fra"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Du kan ikke fravælge denne pakke. Den er allerede installeret"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Du kan ikke fravælge denne pakke. Den skal opgraderes"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatisk valgte pakker"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installér"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Indlæs eller gem markering"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Opdaterer pakkevalg"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installation"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr ""
+"Administration\n"
+"af programmer"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vælg pakker som skal installeres"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Ingen detaljer"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Resterende tid "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Beregnes"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakke"
+msgstr[1] "%d pakker"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Oversigt"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurér"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ikke konfigureret"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"De følgende installationsmedier er fundet.\n"
+"Hvis du ønsker at overspringe nogen af dem, kan du fravælge dem nu."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Du har mulighed for at kopiere indholdet af cd-erne over på disken før "
+"installation.\n"
+"Installationen vil så fortsætte fra disken og pakkerne vil forblive "
+"tilgængelige, når systemet er fuldt installeret."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiér hele cd'er"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Der er opstået en fejl"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Vælg dit tastaturlayout."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Her er den komplette liste over tilgængelige tastaturer"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installér/Opgradér"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er dette en nyinstallation eller en opgradering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Opgradér %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøgle for %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfigurerer IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Det er ikke plads for 1 MB bootstrap! Installationen vil fortsætte, men for "
+"at starte dit system op, skal du lave en bootstrap partition i DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Du skal lave en PPC PReP Boot bootstrap! Installationen vil fortsætte, men "
+"for at starte dit system op, skal du lave bootstrap-partitionen i DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Skift din cdrom!\n"
+"Indsæt cdrom'en med navnet \"%s\" i dit cdrom-drev og tryk på O.k., når det "
+"gjort.\n"
+"Hvis du ikke har den så tryk på Annullér for at undgå installation fra denne "
+"cd."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Leder efter tilgængelige pakker"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vælg indlæs eller gem pakkevalg på diskette.\n"
+"Formatet er det samme som for auto_install-genererede filer."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Belastning"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Gem"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Dårlig fil"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valgt størrelse er større end tilgængelig plads"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Installationstype"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikke valgt nogen gruppe af pakker.\n"
+"Vælg den minimale installation du ønsker"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med basal dokumentation (anbefalet!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Virkelig minimal installation (specielt ingen urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alt"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Forbereder installationen"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Der opstod en fejl ved sorteringen af pakkerne:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsæt alligevel?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Prøv igen"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gem pakke-valg"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Der opstod en fejl ved installeringen af pakkerne:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfiguration efter installation"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Forsikr dig venligst om at mediet med Opdateringsmodulerne er i drev %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Opdateringer"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Du har nu mulighed for at hente opdaterede pakker som er blevet opdateret\n"
+"efter distributionen blev gjort tilgængelig.\n"
+"\n"
+"Du vil få sikkerhedsrettelser eller fejlrettelser, men du skal have en\n"
+"internet-opkobling for at fortsætte.\n"
+"\n"
+"Ønsker du at installere opdateringerne?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontakter spejlet for at hente listen af tilgængelige pakker"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Kan ikke kontakte spejl: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Udstyr"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Har du et ISA-lydkort?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Kør \"alsaconf\" eller \"sndconfig\" efter installation for at konfigurere "
+"dit lydkort"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Intet lydkort genkendt. Prøv at køre \"harddrake\" efter installation"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-kort"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grænseflade"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Netværk og Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxyer "
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfigureret"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sikkerhedsniveau"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Brandmur"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiveret"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "deaktiveret"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Opstart"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikke konfigureret X. Er du sikker på at du virkelig ønsker dette?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Forbereder opstarter..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Det virker som om du har en OldWorld eller ukendt maskine, yaboot "
+"opstartsindlæseren vil ikke virke for dig. Installationen vil fortsætte, men "
+"du skal bruge BootX eller en anden måde til at starte din maskine. Kernens "
+"parameter for root-filsystemet er: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Ønsker du at bruge aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Fejl ved installation af aboot, \n"
+"forsøg at gennemtvinge installation selv om dette kan ødelægge den første "
+"partition?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"I dette er sikkerhedsniveau er adgang til Windows-partitionen forbeholdt "
+"administratoren."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Indsæt en tom diskette i drev %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Laver autoinstallations-diskette"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Nogen dele af installationen er ikke færdig\n"
+"\n"
+"Er du sikker på du ønsker du at lukke nu?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Tillykke"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Genstart"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Laver autoinstallations-diskette"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Autoinstallation kan ske fuldautomatisk hvis ønsket. I så tilfælde vil den "
+"overtage hele harddisken!! (dette er beregnet til at installere på en anden "
+"maskine).\n"
+"\n"
+"Du foretrækker måske at afspille installationen igen\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Afspil igen"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisk"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Gem pakke-valg"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Vælg sprog"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harddisk bestemmelse"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installations-klasse"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sikkerhed"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Opdeling af disk"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formaterer"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Vælger pakker"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerer"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Identifikation"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brugere"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Netværk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Systemopstarter"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurér X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Oversigt"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjenester"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Opdateringer"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Afslut"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakke, %d MB)"
+#~ msgstr[1] "(%d pakker, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakker"
+
+#~ msgid "Language"
+#~ msgstr "Vælg sprog"
+
+#~ msgid "License"
+#~ msgstr "Licens"
+
+#~ msgid "Installation class"
+#~ msgstr "Installations-klasse"
+
+#~ msgid "Formatting"
+#~ msgstr "Formaterer"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Vælger pakker"
+
+#~ msgid "Users"
+#~ msgstr "Brugere"
+
+#~ msgid "Networking"
+#~ msgstr "Netværk"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfigurér X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Kunne ikke få adgang til kernemoduler svarende til din kerne (fil %s "
+#~ "mangler), dette betyder normalt at din opstartsdiskette ikke stemmer "
+#~ "overens med installationsmediet (lav en nyere opstartsdiskette)"
diff --git a/perl-install/install/share/po/de.po b/perl-install/install/share/po/de.po
new file mode 100644
index 000000000..0c34b6d78
--- /dev/null
+++ b/perl-install/install/share/po/de.po
@@ -0,0 +1,1649 @@
+# translation of de.po to deutsch
+# Stefan Siegel <siegel@linux-mandrake.com>, 2000, 2001, 2002, 2003.
+# Sebastian Deutscher <sebastian_deutscher@web.de>, 2003,2004.
+# Gerhard Ortner <gerhard.ortner@aon.at>, 2003, 2004.
+# Roy Steuber <roysteuber@mittweida-net.de>, 2004.
+# Marcus Fischer <i18n@marcusfischer.com>, 2004.
+# Frank Köster <frank@dueppel13.de>, 2004, 2005.
+# Ronny Standtke <Ronny.Standtke@gmx.de>, 2003, 2004.
+# Ronny Standtke <Ronny.Standtke@gmx.net>, 2004, 2005.
+# Nicolas Bauer <webmaster@mandrakeusers.de>, 2005.
+# Frank Koester <frank@dueppel13.de>, 2005.
+# Nicolas Bauer <rastafarii@mandrivauer.de>, 2006, 2007.
+# german translation of the MandrivaInstaller.
+# Copyright (C) 2000-2003 Mandriva S.A.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-20 13:38+0100\n"
+"Last-Translator: Nicolas Bauer <rastafarii@mandrivauer.de>\n"
+"Language-Team: deutsch\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Haben Sie zusätzliche Medien?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Folgende Medien wurden gefunden und werden während der Installation "
+"verwendet: %s\n"
+"\n"
+"\n"
+"Haben Sie noch weitere Installationsmedienzum konfigurieren?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netzwerk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netzwerk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netzwerk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL der Spiegel?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Die URL muss mit ftp:// oder http:// beginnen"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktiere Mandriva Linux Web-Server, um eine Liste verfügbarer Pakete zu "
+"erhalten..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Kontaktieren Sie die Mandriva Linux Webseiten, um eine Liste verfügbaren "
+"Mirrors zu erhalten"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Bitte wählen Sie einen Mirror, von dem Sie die Pakete holen wollen."
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-Einrichtungsetup"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Bitte geben Sie den Rechnernamen und das Verzeichnis ihres NFS-Mediums ein"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Hostname fehlt"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Verzeichnis muss mit \"/\" beginnen"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Rechnername der NFS-Einbindung?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Verzeichnis"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Ergänzend"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kann die Datei hdlist nicht auf diesem Spiegel finden"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Suche nach bereits installierten Paketen ..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Entferne Pakete vor der Aktualisierung..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Finde die zu aktualisierenden Pakete ..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Sie haben die folgenden Server ausgewählt: %s\n"
+"\n"
+"\n"
+"Diese Server werden standardmäßig aktiviert. Sie haben keine bekannten\n"
+"Sicherheitsprobleme, jedoch könnten einige neue entdeckt werden. Stellen\n"
+"Sie deshalb sicher, dass Sie diese Pakete so zeitig wie möglich "
+"aktualisieren.\n"
+"\n"
+"\n"
+"Wollen Sie diese Server wirklich installieren?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Folgende Pakete werden entfernt, um das Aktualisieren Ihres Rechners zu "
+"ermöglichen: %s\n"
+"\n"
+"\n"
+"Wollen Sie diese Pakete wirklich entfernen?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Die folgenden Datenträger wurden umbenannt:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (vorher als %s bezeichnet)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Netzwerk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Bitte wählen Sie ein Medium"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Die Datei existiert bereits. Überschreiben?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Erlaubnis verweigert"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Falscher NFS-Name"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Mediumfehler %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Vor der Partitionierung kann ich keine Screenshots machen."
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Die Screenshots liegen nach der Installation unter „%s“"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Sie müssen auch %s formatieren."
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Einige Hardware-Komponenten Ihres Rechners benötigen „proprietäre“\n"
+"Treiber. Weitere Infos hierzu finden Sie unter: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Netzwerkverbindung herstellen"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Netzwerkverbindung trennen"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Lade Datei %s herunter..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Pakete auf die Festplatte speichern für die spätere Verwendung"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Dateien werden kopiert"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "unbedingt notwendig"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "wichtig"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "sehr angenehm"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "angenehm"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "eventuell"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 Produktlinie"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live Modus"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Wie registrieren?"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Dienst"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Neue Themen"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Arbeitsplatzrechner"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Büro-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office-Programme: Textverarbeitung (Openoffice.org Writer, KWord), "
+"Tabellenkalkulation (OpenOffice.org Calc, KSpread), PDF-Betrachter, usw."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Office-Programme: Textverarbeitung (KWord, Abiword), Tabellenkalkulation "
+"(KSpread, Gnumeric), PDF-Betrachter, usw."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spiele-Station"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Spiele: Arcade-, Brett-, Strategiespiele, usw."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia-Station"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programme, um Sound und Video abzuspielen und zu bearbeiten"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet-Station"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Programme um E-Mails und News zu lesen und zu versenden (pine, mutt, tin..) "
+"und um im Internet zu surfen"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netzwerk-Computer (Client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients für verschiedene Protokolle, u.a. SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Werkzeuge, die die Konfiguration Ihres Computers erleichtern"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolen-Werkzeuge"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoren, Shells, Dateiwerkzeuge, Konsolen"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Entwicklung"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C und C++ Entwicklungsbibliotheken, Programme und Include-Dateien"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bücher und HOWTOs zu GNU/Linux und Freier Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux-Standard-Base. Drittanbieterunterstützung"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-Server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall / Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-Gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-Mail/News"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix Mail-Server, Inn News-Server"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Verzeichnisdienst"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-Server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domänennamen- und Netzwerk-Informations-Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Datei- und Druckerserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-Server, Samba Server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Datenbank"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL und MySQL-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Email"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix Mail-Server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL oder MySQL-Datenbankserver"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Netzwerkrechner-Server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-Server, SMB-Server, Proxy-Server, SSH-Server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafische Arbeitsoberfläche"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Die K-Desktop-Umgebung, die Standard-Arbeitsfläche mit einer Sammlung "
+"zugehöriger Programme"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome-Arbeitsplatz"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Eine grafische Umgebung mit anwenderfreundlichen Anwendungen und Werkzeugen"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm-Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andere grafische Arbeitsflächen"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, usw."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Werkzeuge"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-Server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Fernkonfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netzwerkwerkzeuge/-überwachung"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Überwachungswerkzeuge, Prozessverwaltung, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva-Assistenten"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistenten zur Servereinrichtung"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Es trat ein Fehler auf. Ich weiß jedoch nicht, wie ich damit sinnvoll \n"
+"umgehen soll. Sie können fortfahren, jedoch auf eigenes Risiko!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Einige wichtige Pakete wurden nicht richtig installiert. \n"
+"Entweder ist Ihr CD-ROM-Laufwerk oder Ihre CD-ROM defekt. \n"
+"Testen Sie die CD-ROM auf einem Linux-Rechner mittels „rpm -qpl \n"
+"media/main/*.rpm“\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Beginn von Schritt „%s“\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux-Installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> zwischen den Elementen"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Ihr Rechner hat nicht genug Ressourcen. Vermutlich werden bei der \n"
+"Installation Probleme auftreten. In diesem Fall sollten Sie eine \n"
+"Text-Installation versuchen. Drücken Sie dafür <F1> während dem \n"
+"Installationsstart und geben Sie „text“ an der Eingabeaufforderung \n"
+"ein."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Auswahl der Paketgruppen"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelle Paketauswahl"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Gesamtgröße: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Ungültiges Paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Größe: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Wichtigkeit: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Sie können dieses Paket nicht auswählen/abwählen."
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s fehlt"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "Aufgrund unerfüllter %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "Versuche %s voranzutreiben"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "um %s beizubehalten"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Sie können dieses Paket nicht auswählen, da Sie nicht genug Plattenplatz "
+"haben."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Die folgenden Pakete werden installiert"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Die folgenden Pakete werden entfernt"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dieses Paket ist existenziell, sie können es nicht abwählen!"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es ist bereits installiert!"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+"Sie können dieses Paket nicht aus der Auswahl entfernen. \n"
+"Es muss aktualisiert werden!"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatisch markierte Pakete anzeigen"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installation"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Auswahl laden/speichern"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Erneuere Paket Auswahl"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal-Installation"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Software verwalten"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zu installierende Pakete auswählen"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installation wird durchgeführt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Keine Details"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Verbleibende Zeit "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Schätzung"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d Paket"
+msgstr[1] "%d Pakete"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurieren"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "Nicht eingerichtet"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Die folgenden Installationsmedien wurden gefunden.\n"
+"Wählen Sie die Medien ab, die Sie überspringen wollen."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Sie haben die Möglichkeit, den Inhalt der CDs vor der Installation auf "
+"Festplatte zu kopieren. Die Installation wird dann von Festplatte "
+"fortgeführt und die Softwarepakete bleiben verfügbar, nachdem das System "
+"fertig installiert ist."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiere die CDs"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ein Fehler ist aufgetreten"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Bitte wählen Sie Ihren Tastaturtyp."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Komplette Liste aller Tastaturlayouts"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installation/Aktualisierung"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Handelt es sich um eine Installation oder eine Aktualisierung?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualisiere %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Schlüssel für %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE konfigurieren"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Sie haben keinen Platz für die 1 MB große Start-Partition vorgesehen! Die "
+"Installation wird fortgesetzt, Sie müssen jedoch eine Start-Partition mit "
+"DiskDrake erstellen."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Sie müssen einen PPC PReP Boot Lader erzeugen! Die Installation wird "
+"fortgesetzt, Sie müssen jedoch eine Start-Partition mit DiskDrake erstellen."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Bitte wechseln Sie die CD!\n"
+"Bitte legen Sie die CD-ROM „%s“ in Ihr Laufwerk. Drücken Sie dann auf „OK“.\n"
+"Falls Sie sie nicht vorliegen haben, drücken Sie auf „Abbrechen“."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Suche nach vorhandenen Paketen..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Das System hat für die Installation oder das Update nicht genug freien "
+"Speicher (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Bitte wählen Sie, ob die Paketauswahl geladen oder\n"
+"gespeichert werden soll. Es handelt sich um das gleiche\n"
+"Format, wie die unter „auto_install“ erzeugten Disketten."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Last"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Speichern"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Datei fehlerhaft"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Gewünschte Größe übersteigt den verfügbaren Platz"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Installationstyp"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Sie haben keine Paketgruppe ausgewählt.\n"
+"Bitte wählen Sie die minimale Installation, die Sie wünschen."
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Mit X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Mit minimaler Dokumentation (Empfohlen)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Extrem minimale Installation (ohne „urpmi“)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alle"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Bereite Installation vor"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installiere Paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Bei der Anforderung folgender Pakete trat ein Fehler auf:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Wollen Sie trotzdem fortfahren?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Wiederholen"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Dieses Paket überspringen"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Überspringe alle Pakete von dem Medium \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Zurück zu den Medien und zur Paketauswahl"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Bei der Installation des Paketes%s trat ein Fehler auf."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Bereite weitere Konfiguration vor ..."
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Bitte stellen Sie sicher, dass sich das Update-Modul-Medium im Laufwerk %s "
+"befindet"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aktualisierungen"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Sie haben nun die Möglichkeit Pakete zu installieren, die seit Erscheinen\n"
+"der Distribution aktualisiert wurden. Es handelt sich um \n"
+"Sicherheitsaktualisierungen und Fehlerkorrekturen.\n"
+"\n"
+"Allerdings benötigen Sie dafür eine funktionierende Internetverbindung.\n"
+"\n"
+"Möchten Sie die Aktualisierungen vornehmen?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontaktiere Mirror, um eine Liste verfügbarer Pakete zu erhalten..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Mirror %s nicht erreichbar"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Soundkarte"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Verfügen Sie über eine ISA-Soundkarte?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Starten Sie „sndconfig“ oder „alsaconf“ nach der Installation, um Ihre "
+"Soundkarte einzurichten."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Es wurde keine Soundkarte gefunden. Versuchen Sie „harddrake“ nach der "
+"Installation."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-Karte"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafikumgebung"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Netzwerk & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfiguriert"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sicherheitsebene"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiviert"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "deaktiviert"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Start"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s auf %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Sie haben X nicht konfiguriert. Sind Sie sicher?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Bereite Bootloader vor ..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Sie scheinen einen „OldWorld“ oder unbekannten Rechner zu verwenden. Der "
+"Bootloader „yaboot“ wird daher leider nicht funktionieren. Die Installation "
+"wird fortgesetzt, sie werden jedoch „BootX“ oder etwas ähnliches verwenden "
+"müssen um Ihren Rechner zu starten. Der Kernelparameter für das Root-"
+"Dateisystem ist: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Möchten Sie „aboot“ verwenden?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Fehler bei der Installation von aboot. Soll ich die Installation \n"
+"mit Gewalt versuchen, auch wenn dies die Zerstörung der ersten \n"
+"Partition verursachen kann?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"In dieser Sicherheitseinstellung ist der Zugriff auf Datein der "
+"Windowspartition nur dem Administrator erlaubt"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Legen Sie eine leere Diskette in das %s ein."
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Erstelle eine Auto-Installationsdiskette"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Einige Schritte sind noch nicht komplett.\n"
+"\n"
+"Wollen Sie DrakX wirklich beenden?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Herzlichen Glückwunsch!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Neustart"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Erstellen einer Auto-Installationsdiskette"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Die automatische Installation kann, falls Sie wollen,\n"
+"vollautomatisch erfolgen. In diesem Fall wird die\n"
+"Festplatte vollständig durch DrakX rekonfiguriert\n"
+"(diese Möglichkeit ist für die Replikation auf anderen\n"
+"Rechnern gedacht).\n"
+"\n"
+"Vermutlich werden Sie es vorziehen, erneut eine normale\n"
+"Installation durchzuführen.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Erneut abspielen"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisiert"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Paketauswahl speichern"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Sprache auswählen"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lizenz"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Festplatten suchen"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installationsgruppe"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sicherheit"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionierung"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatieren"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakete auswählen"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installation wird durchgeführt"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Authentifizierung"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Benutzer"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Netzwerk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigurieren"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Zusammenfassung"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dienste"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualisierungen"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Verlassen"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d Paket, %d MB)"
+#~ msgstr[1] "(%d Pakete, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d Pakete"
+
+#~ msgid "Language"
+#~ msgstr "Sprache auswählen"
+
+#~ msgid "License"
+#~ msgstr "Lizenz"
+
+#~ msgid "Installation class"
+#~ msgstr "Installationsgruppe"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatieren"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakete auswählen"
+
+#~ msgid "Users"
+#~ msgstr "Benutzer"
+
+#~ msgid "Networking"
+#~ msgstr "Netzwerk"
+
+#~ msgid "Configure X"
+#~ msgstr "X konfigurieren"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ich kann die Kernel-Module, die zu diesem Kernel passen, nicht finden "
+#~ "(Datei %s fehlt). Das bedeutet normalerweise das Ihre Startdiskette nicht "
+#~ "mit dem Installationsmedium übereinstimmt (Bitte erstellen Sie eine neue "
+#~ "Startdiskette). "
diff --git a/perl-install/install/share/po/el.po b/perl-install/install/share/po/el.po
new file mode 100644
index 000000000..7d944148a
--- /dev/null
+++ b/perl-install/install/share/po/el.po
@@ -0,0 +1,1618 @@
+# translation of DrakX-el.po to Greek
+# Greek translation for drakfloppy.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Thanos Kyritsis <djart@hellug.gr>, 2001.
+# Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-el\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:28+0200\n"
+"Last-Translator: Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>\n"
+"Language-Team: Greek <nls@tux.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Έχετε άλλον;"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Δίκτυο %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Δίκτυο %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Σύνδεση με την τοποθεσία της Mandriva Linux για λήψη των διαθέσιμων τόπων "
+"λήψης..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Σύνδεση με την τοποθεσία της Mandriva Linux για λήψη των διαθέσιμων τόπων "
+"λήψης..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Επιλέξτε τόπο από τον οποίο θα γίνει η λήψη πακέτων"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Κατάλογος"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Δεν βρέθηκε το %s στο %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ψάχνω για ήδη εγκατεστημένα πακέτα..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Αναζήτηση πακέτων προς αναβάθμιση..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Έχετε επιλέξει τους παρακάτω διακομιστές(η): %s\n"
+"\n"
+"\n"
+"Αυτοί οι διακομιστές είναι εξ ορισμού ενεργεί. Δεν έχουν κάποιο γνωστό "
+"πρόβλημα\n"
+"ασφάλειας, αλλά μπορούν να βρεθούν νέα. Σε αυτή την περίπτωση βεβαιωθείτε "
+"ότι\n"
+"έχετε εγκαταστήσει την τελευταία έκδοση το συντομότερο.\n"
+"\n"
+"\n"
+"Είστε βέβαιοι για την εγκατάσταση αυτών των διακομιστών;\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Τα παρακάτω πακέτα θα αφαιρεθούν για να αναβαθμιστεί το σύστημά σας: %s\n"
+"\n"
+"\n"
+"Θέλετε πραγματικά να αφαιρέστε αυτά τα πακέτα;\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Τα παρακάτω πακέτα πρέπει να εγκατασταθούν:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Δίκτυο"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Παρακαλώ επιλέξτε"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Το αρχείο υπάρχει ήδη. Να ξαναγραφεί;"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Δεν δόθηκε άδεια"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "προστίθεται το μέσο %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Αδύνατη η λήψη στιγμιοτύπων πριν από την δημιουργία κατατμήσεων"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Τα στιγμιότυπα θα είναι διαθέσιμα μετά την εγκατάστασης στο %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Εγκατάσταση"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Ρύθμιση"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Πρέπει επίσης να μορφοποιήσετε το %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Ένα μέρος του υλικού σας χρειάζεται ``ιδιόκτητους'' οδηγούς για να "
+"λειτουργήσει.\n"
+"Μπορείτε να βρείτε σχετικές πληροφορίες στο: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Εκκίνηση δικτύου"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Διακοπή λειτουργίας δικτύου"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Αποστολή αρχείων..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Ανίχνευση σε εξέλιξη"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "πρέπει να υπάρχει"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "σημαντικό"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "πολύ καλό"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "καλό"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ίσως"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Σταθμός Εργασίας"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Σταθμός Εργασίας Γραφείου"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Εργαλεία γραφείου: Επεξεργαστές κειμένου(OpenOffice.org Writer, Kword), "
+"λογιστικά φύλλα (OpenOffice.org Calc, Kspread), αρχεία pdf κλπ"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Εργαλεία γραφείου: Επεξεργαστές κειμένου(kword, abiword), λογιστικά φύλλα "
+"(kspread, gnumeric), αρχεία pdf κλπ"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Σταθμός παιχνιδιών"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Διασκέδαση (παιχνίδια)"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Σταθμός πολυμέσων"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Προγράμματα αναπαραγωγής και διαχείρισης video και ήχου"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Σταθμός Διαδικτύου"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Εργαλεία για αποστολή και λήψη αλληλογραφίας και ειδήσεων (pine, mutt, "
+"tin...) και περιήγηση στο Διαδίκτυο"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Υπολογιστής Δικτύου (πελάτης)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Πελάτες για διαφορετικά πρωτόκολλα συμπεριλαμβανομένου του ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Εργαλεία για διευκόλυνση της ρύθμισης του υπολογιστή σας"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Εργαλεία Κονσόλας"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Επεξεργαστές κειμένου, κελύφη, εργαλεία αρχείων, τερματικά"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Ανάπτυξη"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Βιβλιοθήκες ανάπτυξης C και C++, προγράμματα και άλλα αρχεία"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Τεκμηρίωση"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Βιβλία και οδηγοί για το Linux και το Ελεύθερο Λογισμικό"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Υποστήριξη εφαρμογών τρίτων"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Εξυπηρετητής Ιστοσελίδων"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "oμάδα"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Εξυπηρετητής του Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Τοίχος Προστασίας/Δρομολογητής"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Πύλη Διαδικτύου"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Αρχείο/_Νέο"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Εξυπηρετητής ταχυδρομείου Postfix"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Επαναφορά από CD"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Διακομιστής FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Εξυπηρετητής Όνομα Τομέα και Πληροφοριών Δικτύου"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Εξυπηρετητής Εκτυπώσεων"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Εξυπηρετητής Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Βάση Δεδομένων"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Εξυπηρετητής βάσης δεδομένων PostgreSQL ή MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Ταχυδρομείο"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Εξυπηρετητής ταχυδρομείου Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Εξυπηρετητής βάσης δεδομένων PostgreSQL ή MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Εξυπηρετητής δικτύου"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+"εξυπηρετητής NFS, εξυπηρετητής SMB, εξυπηρετητής Proxy, εξυπηρετητής ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Γραφικό Περιβάλλον"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Σταθμός εργασίας KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Το περιβάλλον γραφείου KDE με μια συλλογή συνοδευτικών εργαλείων"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Σταθμός Εργασίας Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Γραφικό περιβάλλον με φιλικά εργαλεία και εφαρμογές"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Επιφάνεια εργασίας"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Άλλα γραφικά περιβάλλοντα"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, κλπ"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Εργαλεία"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Εξυπηρετητής SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Υπηρεσία Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Ρύθμιση του Διακομιστή Τερματικού Mandriva"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Παρακολούθηση Δικτύου"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Κέντρο Ελέγχου Mandriva Linux"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Απέτυχε η ρύθμιση του εκτυπωτή \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Προκλήθηκε ένα σφάλμα που δεν ξέρω πώς να το χειριστώ.\n"
+"Συνεχίστε με δική σας ευθύνη."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Μερικά σημαντικά πακέτα δεν εγκαταστάθηκαν σωστά.\n"
+"Ο οδηγός CD-ROM ή το CD-ROM είναι ελαττωματικό.\n"
+"Ελέγξτε το CD-ROM σε ένα άλλο σύστημα χρησιμοποιώντας την εντολή \"rpm -qpl "
+"media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Βήμα `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Εγκατάσταση Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> Αλλαγή πεδίου"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Το σύστημά σας δεν έχει αρκετούς πόρους. Μπορεί να αντιμετωπίσετε "
+"προβλήματα\n"
+"στην εγκατάσταση του Mandriva Linux. Εάν συμβεί αυτό, μπορείτε να δοκιμάσετε "
+"εγκατάσταση κειμένου.\n"
+"Πατήστε F1 κατά την εκκίνηση από CDROM, μετά γράψτε `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Επιλογή Ομάδων Πακέτων"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Επιλογή ξεχωριστών πακέτων"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Συνολικό μέγεθος: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Λάθος πακέτο"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Έκδοση: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Μέγεθος: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "Μέγεθος: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Σπουδαιότητα: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Δεν μπορείτε να επιλέξετε/αποεπιλέξετε αυτό το πακέτο"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "λόγω ελλείψεων %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "λόγω μη ικανοποίησης %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "προσπάθεια ενίσχυσης του %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "για να κρατηθεί το %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Δεν μπορείτε να επιλέξετε αυτό το πακέτο διότι δεν υπάρχει αρκετός χώρος"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Θα εγκατασταθούν τα παρακάτω πακέτα"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Θα αφαιρεθούν τα παρακάτω πακέτα "
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Αυτό είναι απαιτούμενο πακέτο, δεν μπορεί να αποεπιλεγεί"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Δεν μπορείτε να αποεπιλέξετε αυτό το πακέτο. Είναι ήδη εγκατεστημένο"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Δεν μπορείτε να αποεπιλέξετε αυτό το πακέτο. Πρέπει να αναβαθμιστεί"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Αυτόματη προβολή επιλεγμένων πακέτων"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Εγκατάσταση"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Αποθήκευση επιλογής"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ανανέωση επιλεγμένων πακέτων"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Ελάχιστη Εγκατάσταση"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Διαχείριση Λογισμικού"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Επιλέξτε τα πακέτα που θέλετε να εγκαταστήσετε"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Εγκατάσταση"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Χωρίς λεπτομέρειες"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Εναπομένων χρόνος "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Εκτίμηση"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d πακέτο"
+msgstr[1] "%d πακέτα"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Περίληψη"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Ρύθμιση"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "δεν ρυθμίστηκε"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Προκλήθηκε σφάλμα"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Παρακαλώ επιλέξτε την διάταξη πληκτρολογίου."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Αυτή είναι η πλήρης λίστα των διαθέσιμων χωρών"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Εγκατάσταση/Αναβάθμιση"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Πρόκειται για εγκατάσταση ή για αναβάθμιση;"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Αναβάθμιση %s"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Κλειδί κρυπτογράφησης"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Ρύθμιση IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Δεν υπάρχει ελεύθερος χώρος για 1MB bootstrap! Η εγκατάσταση θα συνεχιστεί, "
+"αλλά για να ξεκινήσετε το σύστημά σας, θα χρειαστεί να δημιουργήσετε μια "
+"κατάτμηση bootstrap με το DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Δεν υπάρχει ελεύθερος χώρος για 1MB bootstrap! Η εγκατάσταση θα συνεχιστεί, "
+"αλλά για να ξεκινήσετε το σύστημά σας, θα χρειαστεί να δημιουργήσετε μια "
+"κατάτμηση bootstrap με το DiskDrake"
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Αλλαγή Cd-Rom!\n"
+"\n"
+"Παρακαλώ εισάγετε το Cd-Rom με όνομα \"%s\" στον οδηγό σας και πατήστε "
+"Εντάξει.\n"
+"Εάν δεν το έχετε, πατήστε Ακύρωση για αποφυγή εγκατάστασης από αυτό το CdRom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ψάχνω για διαθέσιμα πακέτα..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Παρακαλώ επιλέξτε τη φόρτωση ή αποθήκευση των επιλογής πακέτων στη δισκέτα.\n"
+"Η μορφοποίηση είναι η ίδια με τις δισκέτες αυτόματης εγκατάστασης."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Φόρτος"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Αποθήκευση"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Φόρτωση αρχείου"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Το επιλεγμένο μέγεθος είναι μεγαλύτερο από το διαθέσιμο χώρο"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Τύπος εγκατάστασης"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Δεν έχετε επιλέξει ομάδα πακέτων.\n"
+"Παρακαλώ επιλέξτε την ελάχιστη εγκατάσταση που θέλετε:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Με Χ"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Με την βασική τεκμηρίωση (συνιστάται!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Πραγματικά ελάχιστη εγκατάσταση (ειδικά χωρίς urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Όλα"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Προετοιμασία εγκατάστασης"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Εγκατάσταση πακέτου %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Προκλήθηκε σφάλμα κατά την ταξινόμηση των πακέτων:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Να συνεχίσω;"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Αποθήκευση επιλογής πακέτων"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Προκλήθηκε σφάλμα κατά την εγκατάσταση των πακέτων:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ρυθμίσεις μετά την εγκατάσταση"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ενημερώσεις"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Τώρα έχετε τη δυνατότητα να εγκαταστήσετε πακέτα αναβάθμισης. Αυτά τα\n"
+"πακέτα έχουν αναβαθμιστεί μετά την έκδοση της διανομής. Μπορεί να περιέχουν\n"
+"διορθώσεις σφαλμάτων ή αναβαθμίσεις ασφάλειας.\n"
+"\n"
+"Για να κάνετε λήψη αυτών των πακέτων πρέπει να έχετε μια σύνδεση στο "
+"Διαδίκτυο\n"
+"που να λειτουργεί.\n"
+"\n"
+"Θέλετε να εγκαταστήσετε τις αναβαθμίσεις ;"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Σύνδεση με τον τόπο για την λήψη των διαθέσιμων πακέτων..."
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Αδυναμία fork: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Υλικό"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Κάρτα ήχου"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Έχετε κάρτα ήχου ISA;"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Εκτελέστε \"sndconfig\" μετά την εγκατάσταση για την ρύθμιση της κάρτας"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Δεν βρέθηκε κάρτα ήχου. Δοκιμάστε το \"harddrake\" μετά την εγκατάσταση"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Κάρτα TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Γραφικό περιβάλλον"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Δίκτυο & Διαδίκτυο"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Προφίλ "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "επαναρύθμιση"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Επίπεδο Ασφαλείας"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Τοίχος Προστασίας"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ενεργοποιημένο"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "απενεργοποιημένο"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Εκκίνηση"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s σε %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Δεν έχετε ρυθμίσει το Χ. Είστε βέβαιοι ότι θέλετε να το κάνετε;"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Προετοιμασία προγράμματος εκκίνησης..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Φαίνεται πως έχετε ένα Αρχαίο ή Άγνωστο\n"
+"μηχάνημα, ο yaboot bootloader δεν θα δουλέψει για σας.\n"
+"Η εγκατάσταση θα συνεχιστεί, αλλά\n"
+"θα χρειαστεί να χρησιμοποιήσετε το BootX για να ξεκινήσετε το μηχάνημά σας"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Θέλετε να χρησιμοποιήσετε το aboot;"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Σφάλμα κατά την εγκατάσταση του aboot, \n"
+"προσπάθεια βεβιασμένης εγκατάστασης, ακόμα και αν αυτό έχει σαν αποτέλεσμα "
+"την καταστροφή της πρώτης κατάτμησης;"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Εισάγετε άδεια δισκέτα στον οδηγό %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Δημιουργία δισκέτας αυτόματης εγκατάστασης..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Μερικά βήματα δεν ολοκληρώθηκαν.\n"
+"\n"
+"Θέλετε σίγουρα να εγκαταλείψετε τώρα;"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Συγχαρητήρια"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Επανεκκίνηση"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Δημιουργία δισκέτας αυτόματης εγκατάστασης"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Η αυτόματη εγκατάσταση μπορεί να είναι πλήρως αυτόματη,\n"
+"σε αυτήν την περίπτωση θα αναλάβει το σκληρό δίσκο!!\n"
+"(αυτό αναφέρεται για περιπτώσεις εγκατάστασης σε άλλο υπολογιστή).\n"
+"\n"
+"Μπορεί να προτιμάτε να επαναλάβετε την εγκατάσταση.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Επαναφόρτωση"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Αυτόματο"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Αποθήκευση επιλογής πακέτων"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Επιλέξτε γλώσσα"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Άδεια Χρήσης"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ποντίκι"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Εντοπισμός δίσκου"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Πληκτρολόγιο"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Ασφάλεια"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Καταμερισμός"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Εγκατάσταση"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Πιστοποίηση"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Χρήστες"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Δικτύωση"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Προγράμματος εκκίνησης"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ρύθμιση Χ"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Περίληψη"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Υπηρεσίες"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ενημερώσεις"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Έξοδος"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d πακέτο, %d MB)"
+#~ msgstr[1] "(%d πακέτα, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d πακέτα"
+
+#~ msgid "Language"
+#~ msgstr "Επιλέξτε γλώσσα"
+
+#~ msgid "License"
+#~ msgstr "Άδεια Χρήσης"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Επιλέξτε εγκατάσταση"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Εκτίμηση"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Επιλογή πακέτων"
+
+#~ msgid "Users"
+#~ msgstr "Χρήστες"
+
+#~ msgid "Networking"
+#~ msgstr "Δικτύωση"
+
+#~ msgid "Configure X"
+#~ msgstr "Ρύθμιση Χ"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Αδυναμία πρόσβασης των αρθρωμάτων που αντιστοιχούν στον πυρήνα σας (το "
+#~ "αρχείο %s λείπει), γενικά αυτό σημαίνει ότι η δισκέτα εκκίνησης δεν είναι "
+#~ "σε συγχρονισμό με το Μέσο εγκατάστασης ( παρακαλώ δημιουργήστε μια νέα "
+#~ "δισκέτα εκκίνησης)"
diff --git a/perl-install/install/share/po/eo.po b/perl-install/install/share/po/eo.po
new file mode 100644
index 000000000..fb0f57031
--- /dev/null
+++ b/perl-install/install/share/po/eo.po
@@ -0,0 +1,1569 @@
+# Esperanto drakbootdisk
+# Copyright (C) 2000, 2001 Mandriva
+# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2003-03-12 18:31-0400\n"
+"Last-Translator: Vilhelmo Lutermano <vlutermano@free.fr>\n"
+"Language-Team: esperanto <eo@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 0.9.6\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ĉu vi havas alian?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "KD-ROMo"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Reto (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Reto (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Reto (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Mi kontaktas la Mandriva Linuksan retpaĝon por havigi la liston de "
+"disponeblaj speguloj..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mi kontaktas la Mandriva Linuksan retpaĝon por havigi la liston de "
+"disponeblaj speguloj..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Elektu spegulon de kiu havigi la pakaĵojn"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Dosierujo"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ne povis malfermi %s por skribi: %s\n"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Rigardante jam instalitajn pakaĵojn..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Trovadas pakaĵojn por promocii"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "La sekvaj pakaĵoj estos instalataj"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Reto"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Bonvole elektu"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Dosiero jam ekzistas. Ĉu vi deziras uzi ĝin?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permeso rifuzita"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "aldonita datenportilo %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Mi ne povas fari ekranfotojn antaŭ ol fari subdiskojn"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekranfotoj haveblos post instalado en %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Instalanta"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurado"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Iuj aparatoj sur via komputilo bezonas \"proprietajn\" pelilojn por "
+"funkcii.\n"
+"Vi povas trovi iun informon pri ili ĉe: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Startado de la reto"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Haltas de la reto"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Konservu en dosiero"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Duobla surmetingo %s"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "havenda"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "grava(j)"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "tre agrabla(j)"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "agrabla(j)"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "elbe"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Laborstacio"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Oficeja laborstacio"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Ludstacio"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Plurmediaj stacio"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Interreta stacio"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Reta computilo (kliento)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ĉu vi deziras provi la konfiguraĵon?"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoliloj"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktiloj, ŝeloj, dosieriloj, terminaloj"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Programado"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C kaj C++ programadaj bibliotekoj, programoj kaj ĉapdosieroj"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaro"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Interret-servilo"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Grupa programaro"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Servilo"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Interreta kluzo"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Poŝto/Novaĵoj"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix poŝta servilo, Inn novaĵaj servilo"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Restaŭru de disketo"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Servilo"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domajn-nom-servilo"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Dosier- kaj printil-kundivida servilo"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS servilo, Samba servilo"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Datumbazoj"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "TTT/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Poŝto"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poŝta servilo"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Reta computilo (servilo)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE Laborstacio"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnoma Laborstacio"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Labortabulo"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Iloj"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH servilo"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webcam"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Interreta Konfigurado"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Reta Konfiguraĵo"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Konekti al la interreto"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Malsukcesis konfiguri la printilon \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Eraro okazis, sed mi ne scias kiel trakti ĝin bone.\n"
+"Daŭri je via propra risko."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Iuj gravaj pakaĵoj ne estis taŭge instalata.\n"
+"Aŭ via KDROM drajvo aŭ via KDROM disko estas difektita.\n"
+"Kontrolu la KDROM sur instalata komputilo per\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Eniras paŝon `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Linuks-Mandrejka Instalado %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tabo>/<Alt-Tabo> inter eroj"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Via sistemo havas malmulte da risurcoj. Eble vi havos problemojn pri\n"
+"instali Linuks-Mandrejkon. Se tio okazos, vi povos anstataŭ provi tekstan\n"
+"instaladon. Por ĉi tio, premu `F1' kiam vi startas de KDROM, kaj sekve\n"
+"tajpu `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Elektado de Pakaĵaj Grupoj"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Elektado de individuaj pakaĵoj"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tuta grandeco: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Malbona pakaĵo"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versio: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Grandeco: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "Grandeco: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Graveco: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Vi ne povas elektu/malelektu ĉi tiun pakaĵon"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "pro mankanta %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "pro neplenumita %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "mi provas disponigi %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "por konservi %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Vi ne povas elekti ĉi tiun pakaĵon ĉar ne estas sufiĉe da spaco por instali\n"
+"ĝin."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "La sekvaj pakaĵoj estos instalataj"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "La sekvaj pakaĵoj estos malinstalataj"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ĉi tiu estas deviga pakaĵo, vi ne povas malelekti ĝin"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Vi ne povas malelekti ĉi tiun pakaĵon. Ĝi estas jam instalita."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Vi ne povas malelekti ĉi tiun pakaĵon. Ĝi devus esti promociata."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Montru aŭtomate elektitajn pakaĵojn"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalu"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Elektado de Pakaĵoj"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ĝisdatigo de pakaĵ-elekto"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimuma instalado"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programar-mastrumilo"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Elektu la pakaĵojn kiuj vi deziras instali"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalanta"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Neniaj detaloj"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempo restanta "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Taksas"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakaĵo"
+msgstr[1] "%d pakaĵoj"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Resumo"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfiguru"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ne konfigurita"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Eraro okazis"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Bonvole elektu vian klavar-aranĝon."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Jen la kompleta listo de atingeblaj landoj"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalado/Ĝisdatigo"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ĉu tiu ĉi estas instalado aŭ ĝisdatigo?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ĝisdatigu %s"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "La pasvortoj ne egalas"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfiguras IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ne libera spaco por 1mb-startparto! La instalado daurigos, sed por startigi "
+"vian sistemon, vi devos krei la startpartan subdiskon en DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Ne libera spaco por 1mb-startparto! La instalado daurigos, sed por startigi "
+"vian sistemon, vi devos krei la startpartan subdiskon en DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Ŝanĝu vian KDROM!\n"
+"\n"
+"Bonvole, enŝovu la KDROM-on etikedatan \"%s\" en via drajvo kaj klaku \"Jes"
+"\"\n"
+"kiam vi finos.\n"
+"Se vi ne havas ĝin, klaku \"Nuligu\" por eviti la instaladon de ĉi tiu KDROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Serĉas haveblajn pakaĵojn"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Bonvole elektu ŝargu aŭ konservu pakaĵ-elekton sur disketo.\n"
+"La formato estas la sama kiel disketoj generitaj per auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Ŝargu"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Konservu"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Ŝargu dosieron"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Elektita grandeco estas pli ampleksa ol disponebla spaco"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Instaltipo"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vi ne elektis pakaĵgrupon.\n"
+"Bonvole elektu la minimuman instaladon kiun vi deziras:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Kun X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Kun baza dokumentaĵo (rekomendita!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Vere minimuma instalado (precipe ne urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Ĉiuj"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparas instaladon"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalanta pakaĵo %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Estis eraro ordigi pakaĵojn:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ĉu vi deziras daŭri tamen?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Konservu la pakaĵ-elekton"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Estis eraro dum instalado de pakaĵoj:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Post-instala konfigurado"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ĝisdatigoj"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Vi havas nun la eblecon deŝuti ĝisdatigitajn pakaĵojn. Tiuj pakaĵoj\n"
+"estas ĝisdatigitaj post eldonado de tiu ĉi eldono. Ili povas\n"
+"enteni sekureco- aŭ eraro-riparojn.\n"
+"\n"
+"Por deŝuti tiujn pakaĵojn, vi bezonas funkciantan Interret-\n"
+"konekton.\n"
+"\n"
+"Ĉu vi deziras instali tiujn ĝisdatigojn?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontaktu la spegulon por havigi la liston de havebla pakaĵoj"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ne povis kontakti spegulon %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Aparataro"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Sonkarto"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Ĉu vi havas ISA-sonkarton?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "Rulu \"sndconfig\" post instalado por konfiguri vian sonkarton"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Ne detektis sonkarto. Provu \"harddrake\" post instalado"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-karto"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafika interfaco"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Reto kaj Interreto"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Prokuraj Serviloj"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "rekonfiguru"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "sekurnivelo"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Fajromuro (Firewall)"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiva"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "malebligita"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Starto"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s sur %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Vi ne konfiguris X-on. Ĉu vi certas vere voli tion?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Preparas startŝargilon"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Ŝajne vi havas malnovegan aŭ nekonatan maŝinon,\n"
+"la yaboot-startilo ne funkcios por vi.\n"
+"La instalado daŭrigos, sed vi devos\n"
+"uzi BootX aŭ alian rimedon por startigi vian maŝinon"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Ĉu vi deziras uzi aboot-on?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Eraro daŭre mi instalis \"aboot\",\n"
+"Ĉu mi devus provi perforte instali eĉ se tio detruas la unuan subdiskon?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Enŝovu malplenan disketon en drajvo %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kreas aŭtoinstalan disketon"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Kelkaj paŝoj ne finiĝis.\n"
+"\n"
+"Ĉu vi vere volas ĉesi nun?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulojn"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Restarto"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Kreu aŭtoinstalan disketon"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Reludu"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Aŭtomata"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Konservu la pakaĵ-elekton"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Elektu vian lingvon"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenco"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muso"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detektado de fiksdisko(j)"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klavaro"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sekureco"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Subdiskigante"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalanta"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Aŭtentikigado"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uzuloj"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Retumado"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Startŝargilo"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguru X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumo"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servoj"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ĝisdatigoj"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Eliro"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakaĵoj"
+
+#~ msgid "Language"
+#~ msgstr "Elektu vian lingvon"
+
+#~ msgid "License"
+#~ msgstr "Licenco"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Elektu instalklason"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Taksas"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Elektu pakaĵojn"
+
+#~ msgid "Users"
+#~ msgstr "Uzuloj"
+
+#~ msgid "Networking"
+#~ msgstr "Retumado"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfiguru X"
diff --git a/perl-install/install/share/po/es.po b/perl-install/install/share/po/es.po
new file mode 100644
index 000000000..ceb98f7b2
--- /dev/null
+++ b/perl-install/install/share/po/es.po
@@ -0,0 +1,1642 @@
+# traducción de DrakX-es.po to Español
+# spanish translation of DrakX
+# Copyright (C) 2000, 2001,2002 Mandriva S.A.
+# Fabian Mandelbaum <fabman@mandriva.com>, 2000, 2001, 2002,2003, 2004.
+# Fabian Mandelbaum <fmandelbaum@hotmail.com>, 2003, 2004.
+# Pablo Saratxaga <pablo@mandriva.com>, 2004, 2006.
+# Jaime Crespo <505201@unizar.es>, 2004, 2005.
+# José Manuel Pérez <jmprodu@hotmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-es\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-04-24 11:46+0200\n"
+"Last-Translator: Pablo Saratxaga <pablo@mandriva.com>\n"
+"Language-Team: Español <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "¿Tiene algún otro soporte de instalación suplementario?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Los soportes siguients fueron detectados y se usarán durante la instalación: "
+"%s.\n"
+"\n"
+"\n"
+"¿Tiene algún soporte suplementario que configurar?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Red (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Red (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Red (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "¿URL del sitio réplica?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "El URL debe empezar con ftp:// o http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Contactando con el sitio web de Mandriva Linux para obtener la lista de las "
+"réplicas disponibles"
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"No se pudo conectar con el sitio web de Mandriva Linux para obtener la lista "
+"de las réplicas disponibles"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Elija un sitio de réplica del cual obtener los paquetes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configuración NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Entre el nombre de servidor y el directorio de su soporte NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Falta el nombre del servidor"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "El directorio debe empezar con \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "¿Nombre del servidor para el montaje NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directorio"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Suplementario"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "No puedo encontrar el archivo hdlist en este sitio réplica"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Buscando paquetes ya instalados..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Quitando paquetes antes de actualizar..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Encontrando los paquetes a actualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Ha seleccionado el/los siguientes servidores: %s\n"
+"\n"
+"\n"
+"Estos servidores se activan por defecto. No se les conocen problemas de\n"
+"seguridad, pero se pueden encontrar problemas nuevos. En ese caso, debe "
+"asegurarse de\n"
+"actualizarlos tan pronto como sea posible.\n"
+"\n"
+"\n"
+"¿Realmente desea instalar estos servidores?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Se quitarán los paquetes siguientes para permitir actualizar su sistema: %s\n"
+"\n"
+"\n"
+"¿Realmente desea quitar estos paquetes?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "El siguiente disco(s) fue renombrado:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (antes conocido como %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Red"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Por favor, elija un soporte"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "El archivo ya existe. ¿Desea sobreescribirlo?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nombre NFS incorrecto"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Soporte incorrecto %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "No se pueden realizar instantáneas de pantalla antes del particionado"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Luego de la instalación estarán disponibles las instantáneas de pantalla en %"
+"s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalación"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuración"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Tú también debes formatear %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Algún hardware de su computadora necesita controladores \"propietarios\" "
+"para funcionar.\n"
+"Puede encontrar información sobre ellos en: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Levantando la red"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Bajando la red"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Descargando el fichero %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copiando algunos paquetes en el disco para uso futuro"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Copiado en progreso"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "necesario"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "muy bueno"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bueno"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "quizás"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "línea de productos 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Cortafuegos Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Como registrarse"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nuevo tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Estación de trabajo"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Estación de trabajo de Oficina"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de Oficina: procesadores de texto (OpenOffice.org Writer, Kword), "
+"hojas de cálculo (OpenOffice.org Calc, Kspread), visualizadores PDF, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programas de Oficina: procesadores de palabras (kword, abiword), plantillas "
+"de cálculo (kspread, gnumeric), visualizadores PDF, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Estación de Juegos"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de entretenimiento: arcade, tableros, estrategia, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Estación Multimedios"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de reproducción/edición de sonido y vídeo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Estación Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de herramientas para leer y enviar correo y noticias (mutt, tin...) "
+"y para navegar por la Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computadora de Red (cliente)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para los distintos protocolos incluyendo a ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Herramientas para facilitar la configuración de su computadora"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Herramientas para la consola"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, shells, manipulación de archivos, terminales"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Desarrollo"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibliotecas de desarrollo C y C++, programas y archivos *.h"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentación"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libros y COMOs sobre Linux y Software Libre"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Soporte de aplicaciones de terceros"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servidor web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Aplicaciones para grupos"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Servidor, Cortafuegos/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasarela de acceso a Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Correo/Noticias"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correo Postfix, servidor de noticias Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de directorios"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de nombres de dominio y servidor de información de red"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de ficheros e impresión"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Servidor, Bases de Datos"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servidor de base de datos PostgreSQL y MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Servidor, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache y Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Correo"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correo Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servidor de base de datos PostgreSQL o MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Computadora servidor de red"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor proxy, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Entorno gráfico"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Estación de trabajo KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"El K Desktop Environment, el entorno gráfico básico con una colección de "
+"herramientas que lo acompañan"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estación de trabajo GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Entorno gráfico con un conjunto de herramientas de escritorio y aplicaciones "
+"amigables"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Escritorio IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Otros entornos gráficos"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de configuración remota Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilidades/monitorización de red"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Herramientas de monitorización, control de procesos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Asistentes de Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Asistentes para configurar servidor"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ocurrió un error y no se puede gestionar de forma adecuada.\n"
+"Continúe bajo su propio riesgo."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Algunos paquetes importantes no fueron instalados correctamente.\n"
+"Seguramente su lector de CD o su CD de instalación sean defectuosos.\n"
+"Compruebe el CD de instalación en un sistema ya existente con el comando:\n"
+" rpm -qpl media/main/*.rpm\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Entrando en la etapa '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalación %s de Mandriva Linux"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Su sistema tiene pocos recursos. Puede tener algún problema instalando\n"
+"Mandriva Linux. Si eso ocurre, puede intentar una instalación tipo texto.\n"
+"Para ello, presione 'F1' cuando arranque desde el CDROM, e introduzca 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selección de grupos de paquetes"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selección de paquetes individuales"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamaño total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Paquete incorrecto"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versión: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Tamaño: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importancia: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "No puede seleccionar/deseleccionar este paquete"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "debido a que falta %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "debido a que no se satisfizo %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "intentando promover a %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "para mantener %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No puede seleccionar este paquete porque no hay espacio suficiente para "
+"instalarlo"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Se van a instalar los siguientes paquetes"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Se van a quitar los siguientes paquetes"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Este es un paquete obligatorio, no puede desmarcarlo"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "No puede desmarcar este paquete. Ya está instalado"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "No puede desmarcar este paquete. Debe ser actualizado"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar los paquetes seleccionados automáticamente"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Cargar/Guardar selección"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizando la selección de paquetes"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalación mínima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Administración de software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Elija los paquetes que desea instalar"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sin detalles"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tiempo restante "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimando"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquete"
+msgstr[1] "%d paquetes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Resumen"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "no configurada"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Se han encontrado los siguientes soportes de instalación. Si quiere saltarse "
+"alguno de ellos, puede deseleccionarlos ahora."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Tiene la opción de copiar los contenidos de los CDs al disco duro antes de "
+"la instalación.\n"
+"Entonces continuará desde el disco duro y los paquetes estarán disponibles "
+"una vez que el sistema esté completamente instalado."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar los CDs por completo"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ocurrió un error"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Seleccione la distribución de su teclado."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Aquí tiene la lista completa de teclados disponibles"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalación/Actualización"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "¿Es una instalación o una actualización?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clave de cifrado para %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Configurando dispositivos IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"¡No hay 1MB de espacio para bootstrap! La instalación continuará, pero para "
+"arrancar su sistema, necesitará crear la partición bootstrap en DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"¡Necesita crear un bootstrap de arranque PReP PPC! La instalación continuará "
+"pero, para arrancar su sistema, necesitará crear la partición bootstrap en "
+"DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"¡Cambie su CD-ROM!\n"
+"\n"
+"Por favor, inserte CD-ROM etiquetado \"%s\" en la unidad y pulse Aceptar "
+"cuando lo haya hecho.\n"
+"Si no lo posee, pulse Cancelar para evitar la instalación desde este CD-ROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Buscando los paquetes disponibles..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Su sistema no tiene espacio libre suficiente para la instalación o "
+"actualización (%d MB > %d MB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Por favor, seleccione cargar o guardar la selección de paquetes.\n"
+"El formato es el mismo que el de los archivos generados con la instación "
+"automática."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Cargar"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Guardar"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Archivo incorrecto"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "El tamaño seleccionado es mayor que el disponible"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalación."
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"No ha seleccionado ningún grupo de paquetes\n"
+"Elija por favor la mínima instalación que quiera."
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Con documentación básica (¡recomendado!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalación mínima \"en serio\" (especialmente sin urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Todo"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando la instalación"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalando el paquete %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Hubo un error al ordenar los paquetes:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "¿Seguir adelante?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Reintentarlo"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Pasar este paquete"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Pasar todos los paquetes del soporte \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Volver a la selección de paquetes"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Hubo un error al instalar el paquetes %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuración posterior a la instalación"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Por favor, asegúrese de que el soporte de Actualización de Módulos está en "
+"la unidad %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Actualizaciones"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Ahora tiene la oportunidad de bajar paquetes actualizados. Estos paquetes\n"
+"se han actualizad después de que se publicó la distribución. Puede que los\n"
+"mismos contengan correcciones de bugs o de seguridad.\n"
+"\n"
+"Para descargar estos paquetes, necesitará tener una conexión con la\n"
+"Internet que esté funcionando.\n"
+"\n"
+"¿Desea instalar las actualizaciones?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Contactando con el sitio de réplica para obtener la lista de los paquetes "
+"disponibles..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "No se puede contactar al sitio de réplica %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Tarjeta de sonido"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "¿Tiene una tarjeta de sonido ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Use \"alsaconf\" o \"sndconfig\" luego de la instalación para configurar su "
+"tarjeta de sonido"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"No se detectó tarjeta de sonido. Pruebe \"harddrake\" luego de la instalación"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Tarjeta de TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaz gráfica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Redes e Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxis"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de seguridad"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Cortafuegos"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "deshabilitado"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Arranque"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s en %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No ha configurado a X ¿Está seguro que realmente desea esto?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Preparando el cargador de arranque"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Parece que tiene una máquina desconocida o \"Old World\",el gestor de "
+"arranque yaboot no funcionará en la misma.\n"
+"La instalación continuará, pero necesitará\n"
+"utilizar BootX o alguna otra manera para arrancar su máquina. El parámetro "
+"del kernel para el sistema de ficheros raíz es: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "¿Desea usar aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Ocurrió un error al instalar aboot, \n"
+"¿desea forzar la instalación incluso si ello implicara la destrucción de la "
+"primera partición?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"En este nivel de seguridad, el acceso a los archivos en la partición Windows "
+"está restringido sólo al administrador."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inserte un disquete en blanco en la unidad %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creando el disquete de instalación automática"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Algunas de las etapas no fueron completadas.\n"
+"\n"
+"¿Realmente desea salir ahora?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Felicidades"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Generar un disquete de instalación automática"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"La instalación automática puede automatizarse por completo si lo desea,\n"
+"¡¡en ese caso se adueñará del disco rígido!!\n"
+"(la intención de esto es instalarlo en otro ordenador).\n"
+"\n"
+"Puede preferir reproducir la instalación.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Reproducir"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizada"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Guardar la selección de paquetes"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Elija su idioma"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Ratón"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detección del disco rígido"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Clase de instalación"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguridad"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionando"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formateo"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Selección de paquetes"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalando"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentificación"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuarios"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Red"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cargador de arranque"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configuración de X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumen"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicios"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizaciones"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Salir"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paquete, %d MB)"
+#~ msgstr[1] "(%d paquetes, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paquetes"
+
+#~ msgid "Language"
+#~ msgstr "Elija su idioma"
+
+#~ msgid "License"
+#~ msgstr "Licencia"
+
+#~ msgid "Installation class"
+#~ msgstr "Clase de instalación"
+
+#~ msgid "Formatting"
+#~ msgstr "Formateo"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Selección de paquetes"
+
+#~ msgid "Users"
+#~ msgstr "Usuarios"
+
+#~ msgid "Networking"
+#~ msgstr "Red"
+
+#~ msgid "Configure X"
+#~ msgstr "Configuración de X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "No se puede acceder a los módulos del núcleo correspondientes a su núcleo "
+#~ "(no se encuentra el archivo %s), esto generalmente significa que su "
+#~ "disquete de arranque no contiene un núcleo de misma versión que el "
+#~ "soporte de instalación (haga un nuevo disquete de arranque por favor)"
diff --git a/perl-install/install/share/po/et.po b/perl-install/install/share/po/et.po
new file mode 100644
index 000000000..db3b40eac
--- /dev/null
+++ b/perl-install/install/share/po/et.po
@@ -0,0 +1,1615 @@
+# Translation of DrakX.po to Estonian.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Riho Kurg <rx@linux.ee>, 1999-2003.
+# Marek Laane <bald@starman.ee>, 2002-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-et\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-06 12:43+0200\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <et@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Kas Teil on veel paigaldusandmekandjaid?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Leiti järgmised andmekandjad, mida kasutatakse paigaldamisel: %s.\n"
+"\n"
+"\n"
+"Kas Teil on veel paigaldusandmekandjaid?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Võrk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Võrk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Võrk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Peegli URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL-i alguses peab seisma ftp:// või http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Mandriva Linuxi veebisaidilt saadaolevate peeglite nimekirja hankimine..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Ühenduse loomine Mandriva Linuxi veebisaidiga saadaolevate peeglite "
+"nimekirja hankimiseks ebaõnnestus"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Valige peegel, millelt lugeda pakettide nimekiri"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-i seadistamine"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Palun andke NFS-andmekandja masinanimi ja kataloog"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Masinanimi puudub"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Kataloogi alguses peab olema \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS-i andmekandja masinanimi?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Kataloog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Täiendav"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Tarkvara nimekirja sisaldava faili leidmine sellelt peeglilt ebaõnnestus. "
+"Kontrollige palun asukohta."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Juba paigaldatud pakettide tuvastamine..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Pakettide eemaldamine enne uuendamist..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Uuendatavate pakettide otsimine..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Olete valinud järgmise(d) serveri(d): %s\n"
+"\n"
+"\n"
+"Need serverid aktiveeritakse vaikimisi. Pole küll teada, et neil oleks\n"
+"turvaprobleeme, aga nende leidmine tulevikus pole sugugi välistatud.\n"
+"Kui peaks nii minema, kontrollige, et suudate uuenduse võimalikult\n"
+"ruttu hankida.\n"
+"\n"
+"\n"
+"Kas tõesti paigaldada need serverid?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Süsteemi uuendamiseks tuleb eemaldada järgmised paketid: %s\n"
+"\n"
+"\n"
+"Kas tõesti eemaldada need paketid?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Järgmistele ketastele anti uus nimi:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (varem oli %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Võrk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Palun valige andmekandja"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fail on juba olemas. Kas kirjutada see üle?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Ligipääs keelatud"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Vigane NFS-i nimi"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Vigane andmekandja %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ekraanipilte ei saa teha enne partitsioneerimist"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekraanipildid asuvad pärast paigaldamist asukohas %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Paigaldamine"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Seadistamine"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Vormindada tuleb ka %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Osa Teie riistvarast nõuab tarnijapoolseid draivereid.\n"
+"Infot nende kohta saate: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Võrgu aktiveerimine"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Võrgu seiskamine"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Faili %s allalaadimine..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Mõningate tarkvarapakettide kopeerimine kettale edasiseks kasutamiseks"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Käib kopeerimine..."
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "vajalik"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "tähtis"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "väga kena"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "kena"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "võib olla"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "Ruumiline töölaud"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 tooted"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictuse tulemüür"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kuidas registreerida"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online'i teenused"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Uus teema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Tööjaam"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontori-tööjaam"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontoritöö programmid: tekstitöötlus (OpenOffice.org Writer, KWord), "
+"tabelitöötlus (OpenOffice.org Calc, KSpread), PDF-failide näitajad jne"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kontoritöö programmid: tekstitöötlus (KWord, Abiword), tabelitöötlus "
+"(KSpread, Gnumeric), PDF-failide näitajad jne"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Mänguvahend"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Meelelahutus: põnevus-, laua-, strateegiamängud jne"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimeedia-tööjaam"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Heli ja video mängimine ja redigeerimine"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Interneti-tööjaam"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Valik rakendusi e-posti ja uudiste lugemiseks (mutt, tin...) ning veebi "
+"lehitsemiseks"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Võrguarvuti (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Mitme protokolli, sealhulgas ssh kliendid"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Tööriistad süsteemi lihtsamaks haldamiseks"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoolitööriistad"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktorid, shellid, terminalid, failihaldus"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Arendus"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ja C++ arendusteegid, rakendused ja päisefailid"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentatsioon"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Raamatud ja HOWTO-d Linuxi ja vabavara kohta"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Kolmandate tootjate rakenduste toetus"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Veebiserver"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Grupitöö"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolabi server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tulemüür/marsruuter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Uudistegrupid"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfixi e-posti server, Inn uudisteserver"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Kataloogiserver"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nimeserver ja võrguteabeserver"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Faili- ja printserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Andmebaasid"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL- ja MySQL-andmebaasiserver"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Veeb/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache ja Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfixi e-posti server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL- või MySQL-andmebaasiserver"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Võrguserver"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-, SMB-, SSH-server, puhverserver (proxy)"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graafiline keskkond"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE tööjaam"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K töölaua keskkond: graafiline töökeskkond ja palju rakendusi"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME tööjaam"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Graafiline töökeskkond koos kasutajasõbralike rakendustega"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWM töölaud"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Muud graafilised töölauad"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "WindowMaker, Enlightenment, Fvwm jt"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utiliidid"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin võrguseadistusserver"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Võrguutiliidid ja võrgu jälgimine"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Jälgimistööriistad, protsesside jälgimine, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva nõustajad"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Serverite seadistamise nõustajad"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Tekkis mingi viga, aga seda ei suuda programm ise klaarida.\n"
+"Jätkake omal vastutusel."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Mõned tähtsad paketid ei saanud korralikult paika.\n"
+"Teie CD-seade või CD on ilmselt vigane.\n"
+"Paketifaile CD-l saate kontrollida käsuga \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Järgmine samm: %s\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linuxi paigaldamine %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> liigub elementide vahel"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Teie süsteemil napib ressurse ja paigaldamine võib ebaõnnestuda.\n"
+"Kui nii juhtub, proovige palun tekstipõhist paigaldamist. Selleks\n"
+"vajutage CD-lt laadimisel F1 ja sisestage \"text\""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketigruppide valik"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Valik paketthaaval"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Suurus kokku: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Vigane pakett"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versioon: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Suurus: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Tähtsus: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Seda paketti ei saa valida/valimata jätta"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "puuduva %s tõttu"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "rahuldamata %s tõttu"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "püüan välja pakkuda %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "säilitamaks %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Seda paketti ei saa valida, sest paigaldamiseks napib kettaruumi"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Paigaldamiseks on valitud järgmised paketid"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Eemaldamiseks on valitud järgmised paketid"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "See pakett on kohustuslik"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "See pakett on juba paigaldatud"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Selle paketi peate valima, sest selle uuendamine on kohustuslik"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automaatselt valitud pakettide näitamine"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Paigaldus"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Valiku laadimine/salvestamine"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Paketivaliku uuendamine"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimaalne paigaldus"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Tarkvarahaldur"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Valige paketid, mida soovite paigaldada"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Paigaldamine"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Üksikasjadeta"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Aega jäänud "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Oletus"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakett"
+msgstr[1] "%d paketti"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Kokkuvõte"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Seadista"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "seadistamata"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Leiti järgmised paigaldusandmekandjad.\n"
+"Kui Te ei soovi mõnda neist kasutada, eemaldage need valikust."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Teil on võimalik kopeerida CD-de sisu enne paigaldamist kõvakettale.\n"
+"Seejärel jätkatakse paigaldamist kõvakettalt ning kogu tarkvara on seal "
+"kättesaadav ka pärast süsteemi paigaldamist."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopeeri kõik CD-d"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Tekkis mingi viga"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Palun valige klaviatuuriasetus."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "See on saadaolevate klaviatuuriasetuste täielik nimekiri"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Paigaldamine/Uuendamine"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Kas see on paigaldamine või uuendamine?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s uuendus"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s krüptovõti"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE seadistamine"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ruumi 1MB-se alglaadimisala loomiseks napib! Paigaldamine jätkub, kuid "
+"süsteemi alglaadimiseks tuleb Teil luua DiskDrake abil alglaadimisala."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Teil tuleb luua PPC PReP Boot alglaadimisala! Paigaldamine jätkub, kuid "
+"süsteemi alglaadimiseks tuleb Teil luua DiskDrake abil alglaadimisala."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Vahetage CD!\n"
+"\n"
+"Palun sisestage CD nimega \"%s\" CD-seadmesse ja klõpsake nupule \"Olgu\".\n"
+"Kui Teil sellist ei ole, klõpsake nupule \"Loobu\"."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Saadaolevate pakettide otsimine..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Teie süsteemis ei jagu ruumi paigaldamiseks ega uuendamiseks (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Valige palun paketivaliku laadimine või salvestamine.\n"
+"Vorming on sama, mis automaatpaigaldusega loodud failide puhul."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Laadi"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Salvesta"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Vigane fail"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valiku suurus ületab saadaolevat kettaruumi"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Paigaldamise tüüp"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Te ei valinud ühtegi paketigruppi.\n"
+"Palun valige meelepärane minimaalne paigaldus:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X'iga"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Baasdokumentatsiooniga (soovitatav!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Tõeliselt minimaalne (eriti just ilma urpmi-ta)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Kõik"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Paigaldamiseks valmistumine"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Paketi %s paigaldamine"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Pakettide tellimisel tekkis viga:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kas ikkagi jätkata?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Proovi uuesti"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Jäta pakett vahele"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Jäta kõik andmekandja \"%s\" paketid vahele"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Tagasi andmekandja ja paketivaliku juurde"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Paketi %s paigaldamisel tekkis viga."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Paigaldamisjärgne seadistamine"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Palun kontrollige, et uuenduste andmekandja on seadmes %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Uuendused"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Teil on nüüd võimalus alla laadida uuendatud pakette. Need on välja lastud\n"
+"pärast Mandriva Linuxi distributsiooni ilmumist ja võivad sisaldada vigade\n"
+"parandusi või turvauuendusi.\n"
+"\n"
+"Allalaadimiseks peab Teil olema töötav internetiühendus.\n"
+"\n"
+"Kas soovite uuendusi paigaldada?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Peeglilt pakettide nimekirja lugemine..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ühendust peegliga %s ei saadud"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Riistvara"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Helikaart"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Kas Teil on ISA helikaart?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Helikaardi seadistamiseks käivitage pärast paigaldamist \"alsaconf\" või "
+"\"sndconfig\""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Helikaarti ei leitud. Proovige see leida pärast paigaldamist \"harddrake\" "
+"abil"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kaart"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Graafiline kasutajaliides"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Kohtvõrk ja Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Puhverserverid"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "seadistatud"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Turvatase"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Tulemüür"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiveeritud"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "keelatud"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Alglaadimine"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s asukohas %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Te ei ole seadistanud X'i. Kas Te tõesti ei taha seda teha?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Alglaaduri ettevalmistamine..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Paistab, et Teil on OldWorld-i või hoopis tundmatu masin, igatahes alglaadur "
+"yaboot siin ei tööta. Paigaldamine küll jätkub, aga masina käivitamiseks "
+"tuleb Teil kasutada BootX'i või mingit muud nippi. Kerneli argument "
+"juurfailisüsteemi jaoks on root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Kas soovite kasutada aboot-i?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Viga aboot-i paigaldamisel, \n"
+"kas sundida peale, riskides esimese partitsiooni hävinguga?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Sellel turvatasemel pääseb Windowsi partitsioonil asuvatele failidele ligi "
+"ainult administraator."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Pange palun tühi diskett seadmesse %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kiirpaigaldusdisketi loomine..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Mõned sammud ei ole lõpule viidud.\n"
+"\n"
+"Kas soovite tõesti praegu lõpetada ja väljuda?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Õnnitleme!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Taaskäivitus"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Loo kiirpaigaldusdiskett"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Automaatne paigaldamine võib olla ka sedavõrd tegija,\n"
+"et kasutab ära kogu kõvaketta!\n"
+"\n"
+"Võite valida ka lihtsalt paigaldamise kordamise.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Kordamine"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automaatne"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Salvesta paketivalik"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Keel"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Litsents"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Hiir"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kõvaketta leidmine"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Paigaldamismeetod"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatuur"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Turvalisus"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Kõvaketta jagamine"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Vormindamine"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakettide valik"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Paigaldamine"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentimisviis"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Kasutajad"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Võrk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Alglaadur"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X'i seadistamine"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kokkuvõte"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Teenused"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uuendused"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Välju"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakett, %d MB)"
+#~ msgstr[1] "(%d paketti, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketti"
+
+#~ msgid "Language"
+#~ msgstr "Keel"
+
+#~ msgid "License"
+#~ msgstr "Litsents"
+
+#~ msgid "Installation class"
+#~ msgstr "Paigaldamismeetod"
+
+#~ msgid "Formatting"
+#~ msgstr "Vormindamine"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakettide valik"
+
+#~ msgid "Users"
+#~ msgstr "Kasutajad"
+
+#~ msgid "Networking"
+#~ msgstr "Võrk"
+
+#~ msgid "Configure X"
+#~ msgstr "X'i seadistamine"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ligipääs Teie kernelile vastavatele kerneli moodulitele ebaõnnestus "
+#~ "(puudub fail %s), mis enamasti tähendab, et Teie alglaadimisdiskett ei "
+#~ "ole sünkroonis paigaldus-andmekandjaga (palun looge uus "
+#~ "alglaadimisdiskett)"
diff --git a/perl-install/install/share/po/eu.po b/perl-install/install/share/po/eu.po
new file mode 100644
index 000000000..aa395d013
--- /dev/null
+++ b/perl-install/install/share/po/eu.po
@@ -0,0 +1,1625 @@
+# translation of DrakX-eu.po to EUSKARA
+# EUSKARA: Mandriva Linux translation.
+# Copyright (C) 2002,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# Iñigo Salvador Azurmendi <xalba@euskalnet.net>, 2001-2002,2003,2004, 2005, 2006.
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-eu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-08-08 09:57+0200\n"
+"Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n"
+"Language-Team: EUSKARA <itzulpena@euskalgnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Baduzu beste euskarri osagarririk?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Euskarri hauek aurkitu dira eta instalazio garaian erabiliko dira: %s. \n"
+"\n"
+"\n"
+"Badaukazu konfiguratu beharreko gainerako instalazio euskarririk?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sarea (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sarea (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sarea (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Ispiluaren URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Mandriva Linux web gunearekin konektatzen, ispilu erabilgarrien zerrenda "
+"lortzeko..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mandriva Linux web gunearekin konektatzen, ispilu erabilgarrien zerrenda "
+"lortzeko..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Aukeratu ispilu bat paketeak bertatik hartzeko"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS ezarpena"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Mesedez sartu zure NFS euskarriaren ostalari izena eta direktorioa"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS muntaiaren ostalari izena?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktorioa"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ezin aurkitu hdlist fitxategia ispilu honetan"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Instalatutako paketeak bilatzen..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Paketeak ezabatzen bertsioa hobetu aurretik..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Bertsio-berritzeko paketeak bilatzen..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Zerbitzari hau(ek) hautatu d(it)uzu: %s\n"
+"\n"
+"\n"
+"Zerbitzari horiek lehenespenez aktibatzen dira. Ez dute segurtasun-arazo \n"
+"ezagunik, baina berriren bat ager liteke. Horrelakorik gertatuz gero,\n"
+"bertsioa lehenbailehen berritu behar duzu.\n"
+"\n"
+"\n"
+"Ziur zaude zerbitzari hauek instalatu nahi dituzula?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Ondorengo paketeak kenduko dira sistemaren bertsioa berritzeko: %s\n"
+"\n"
+"\n"
+"Ziur zaude pakete hauek kendu nahi dituzula?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ondoko diskoa(k) berrizendatu egin d(ir)a:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (lehenago %s deitua)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Sarea"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Aukeratu euskarri bat mesedez"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fitxategia badago lehendik ere. Gainidatzi?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Baimena ukatuta"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS izen okerra"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "%s okerreko euskarria"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ezin da pantaila-argazkirik egin partizioak egin aurretik"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"%s(e)n instalazioa egindakoan pantaila-argazkiak erabilgarri egongo dira"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalaketa"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurazioa"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "%s ere formateatu behar duzu"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Zure ordenagailuko hardware batzuek kontrolatzaile ``jabeduna'' behar dute.\n"
+"Horiei buruzko informazioa hemen aurki dezakezu: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Sarea irekitzen"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Sarea ixten"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s fitxategiak jaisten..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiatzen ari da"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "ezinbestekoa"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "garrantzitsua"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "oso baliagarria"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "baliagarria"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "beharbada"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, fuzzy, c-format
+msgid "Invictus Firewall"
+msgstr "Suhesi interaktiboa"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, fuzzy, c-format
+msgid "New Theme"
+msgstr "Webmin gai berriak"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Lanpostua"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Bulegoko lanpostua"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Bulego programak: testu-prozetzaileak (OpenOffice.org Writer, Kword), "
+"kalkulu-orriak (OpenOffice.org Calc, Kspread), PDF ikustaileak, etab"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Bulego-lanetako programak: testu-prozesadoreak (kword, abiword), kalkulu-"
+"orriak (kspread, gnumeric), pdf ikustaileak, etab."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Jokoak"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Denbora-pasako programak: makina-jokoak, taula-jokoak, estrategiakoak, etab."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Soinua eta bideoa jotzeko/editatzeko programak"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Posta eta berri-taldeetako mezuak (mutt, tin...) irakurtzeko eta bidaltzeko "
+"eta Interneten nabigatzeko tresna-multzoa"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Sare-ordenagailua (bezeroa)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Hainbat protokolotako bezeroak, ssh-renak barne"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Zure ordenagailuaren konfigurazioa errazteko tresnak"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Kontsola-tresnak"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoreak, shell-ak, fitxategi-tresnak, terminalak"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Garapena"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C eta C++ garapen-liburutegiak, programak eta fitxategiak"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentazioa"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux eta Software libreari buruzko liburuak eta azalpenak"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Beste batzuek egindako aplikazioen euskarria"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Taldelanerako Aplikazioak"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Suebakia/Bideratzailea"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneteko atebidea"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Posta/Berriak"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta zerbitzaria, Inn berri zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Direktorio Zerbitzara"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinu Izen eta Sare Informazio Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fitxategi eta Inprimaketa Elkarbanatzeko Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS zerbitzaria, Samba zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Datu-basea"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL eta MySQL Datubase Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta-zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL edo MySQL datu-baseen zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Sare-zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS zerbitzaria, SMB zerbitzaria, Proxy zerbitzaria, ssh zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE lanpostua"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, hainbat tresna dituen oinarrizko ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME lanpostua"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Aplikazio-multzo eta mahaigaineko tresna lagungarri eta atseginak dituen "
+"ingurune grafikoa"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Idaztegia"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Beste mahaigain grafiko batzuk"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etab."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitateak"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Urruneko Konfigurazio Zerbitzaria"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Sare Utilitateak/Gainbegiraketa"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Gainbegiraketa tresnak, prozesuen kotabilitatea, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Morroiak"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Zerbitzaria konfiguratzeko morroiak"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Errore bat gertatu da, baina ez dakit behar bezala maneiatzen.\n"
+"Jarraitu zure ardurapean."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Pakete garrantzitsu batzuk ez dira behar bezala instalatu.\n"
+"Zure CD-ROM unitateak edo CD-ROMak akatsak ditu.\n"
+"Probatu CD-ROMa ordenagailu instalatu batean \"rpm -qpl media/main/*.rpm\" "
+"erabiliz.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s'. urratsean sartzen\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux %s instalazioa"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> elementuz aldatzeko"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Sistemak baliabide gutxi ditu. Arazoak izan ditzakezu Mandriva Linux \n"
+"instalatzeko. Horrela bada, testu-instalazioa egiten saia zaitezke. \n"
+"Horretarako, sakatu `F1' CD-ROMetik abiaraztean, eta idatzi `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakete-taldearen hautapena"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Pakete indibidualen hautapena"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Guztizko tamaina: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pakete txarra"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Bertsioa: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Tamaina: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Garrantzia: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ezin duzu pakete hau hautatu/desautatu"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s falta delako"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s bete gabe dagoelako"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s jaso nahian"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s gordetzeko"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Ezin duzu pakete hori hautatu: ez dago instalatzeko lekurik"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ondorengo pakete hauek instalatuko dira"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ondorengo pakete hauek kenduko dira"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Nahitaezko paketea da, ezin da desautatu"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Ezin duzu pakete hau desautatu. Dagoeneko instalatuta dago"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ezin duzu pakete hau desautatu. Bertsio-berritu egin behar da"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Erakutsi automatikoki hautatutako paketeak"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalatu"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Hautapena Zamatu/Gorde"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Pakete-hautapena eguneratzen"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Gutxieneko instalazioa"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Software kudeaketa"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Aukeratu instalatu nahi dituzun paketeak"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalatzen"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Xehetasunik ez"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Geratzen den denbora "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Kalkulatzen"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakete"
+msgstr[1] "%d pakete"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Laburpena"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfiguratu"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "konfiguratu gabe"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Ondorengo instalazio euskarriak aurkitu dira.\n"
+"Horietako batzuk erabiltzerik nahi ez baduzu, haututik kendu ditzakezu orain."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Instalazio aurretik CD-en edukia disko zurrunera kopiatzeko aukera daukazu.\n"
+"Disko zurrunetik jarraituko du orduan eta paketeak eskuragarri egongo dira "
+"sistema osorik instalatu ondoren."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiatu CD osoak"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Errore bat izan da"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Aukeratu zure teklatu-diseinua."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Hona hemen teklatu erabilgarri guztien zerrenda"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalazioa/Bertsio-berritzea"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Zer egin nahi duzu: instalazioa ala bertsio-berritzea?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s bertsio-berritu"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s(r)en enkriptatze-gakoa"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE konfiguratzen"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ez dago lekurik 1 MBeko bootstrap-a sortzeko! Instalazioak jarraituko du, "
+"baina sistema abiarazteko, bootstrap partizioa sortu beharko duzu DiskDrake-"
+"rekin"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"PPC PReP abiapen bootstrap bat sortu beharko duzu! Instalaketak aurrera "
+"jarraituko du, baino zure sistema abiarazteko, bootstrap partizioa sortu "
+"beharko duzu DiskDrake erabiliz"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Aldatu zure CD-ROMa!\n"
+"\n"
+"Mesedez, sartu \"%s\" etiketa duen CD-ROMa zure unitatean, ondoren, sakatu "
+"'Ados'.\n"
+"Ez badaukazu, sakatu 'Utzi' CD-ROM horretatik instalazioa egin ez dezan."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Pakete erabilgarriak bilatzen..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Mesedez aukeratu pakete aukeraketa zamatu edo gorde.\n"
+"Formatua instalazio automatikoarekin sortutako fitxategiaren berdina da."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Karga"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Gorde"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Okerreko fitxategia"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Hautatutako tamaina handiagoa da leku erabilgarria baino"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Instalazio-mota"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ez duzu talde edo paketerik hautatuta\n"
+"Nahi duzun gutxieneko instalazioa hautatu behar duzu:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Xrekin"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Oinarrizko dokumentazioarekin (gomendatua)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalazio minimo-minimoa (batez ere, urpmi gabe)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Denak"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Instalazioa prestatzen"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Errore bat izan da paketeak ordenatzean:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Jarraitu hala ere?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gorde pakete-hautapena"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Errore bat izan da paketeak instalatzean:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Instalazio-ondorengo konfigurazioa"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Mesedez egiaztatu Moduluak Eguneratzeko euskarria %s unitatean dagoela"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Eguneraketak"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Pakete eguneratuak deskarga ditzakezu orain. Pakete hauek\n"
+"eguneratu egin dira banaketaren ondoren. Beharbada\n"
+"segurtasun edo akatsen konponketak izango dituzte.\n"
+"\n"
+"Pakete hauek deskargatzeko, Interneteko konexioa izan behar\n"
+"duzu.\n"
+"\n"
+"Eguneratzeak instalatu nahi dituzu?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Ispiluarekin kontaktatzen pakete erabilgarrien zerrenda lortzeko..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ezin da %s ispiluarekin kontaktatu"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardwarea"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Soinu-txartela"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "ISA soinu-txartela duzu?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Instalazioa egindakoan, exekutatu \"alsaconf\" edo \"sndconfig\" soinu-"
+"txartela konfiguratzeko"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Ez da detektatu soinu-txartelik. Probatu \"harddrake\" instalazioa egin "
+"ondoren"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Telebista-txartela"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaze grafikoa"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Sarea eta Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy-ak"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfiguratuta"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Segurtasun-maila"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Suebakia"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktibatuta"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "desgaituta"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Abioa"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s - %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X ez duzu konfiguratu. Ziur zaude hori dela egin nahi duzuna?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Abioko kargatzailea prestatzen..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"OldWorld edo makina ezezagun bat daukazula dirudi, yaboot abiozamatzaileak "
+"ez du zurean lanegingo. Instalaketak aurrera jarraituko du, baino BootX edo "
+"abiatzeko beste bide bat erabili beharko duzu zure makina abiarazteko. Erro "
+"fitxategi sistemarentzako nukleo argumentua honakoa da: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot erabili nahi duzu?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Errorea aboot instalatzean, \n"
+"instalazioa egitera behartzen saiatu lehen partizioa suntsitzen badu ere?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Segurtasun-maila honetan, administratzaileak soilik du Windows partizioko "
+"fitxategiak atzitzeko eskubidea."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sartu diskete huts bat %s unitatean"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Auto-instalazioko disketea sortzen..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Urrats batzuk ez dira osatu.\n"
+"\n"
+"Ziur zaude orain irten nahi duzula?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Zorionak"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Berrabiarazi"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Sortu auto-instalazioko disketea"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Auto-instalazioa erabat automatiza daiteke nahi izanez gero,\n"
+"kasu horretan, disko zurrun osoa hartuko du!!\n"
+"(beste makina batean instalatzeko pentsatua da aukera hau).\n"
+"\n"
+"Beharbada nahiago izango duzu instalazioa errepikatzea.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Errepikatu"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizatua"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Gorde pakete-hautapena"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Hizkuntza"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lizentzia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sagua"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Disko zurrunen detekzioa"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instalaketa mota"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teklatua"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurtasuna"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizioa egiten"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Paketeak aukeratzen"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalatzen"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Egiaztatzea"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Erabiltzaileak"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Saregintza"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Abioko kargatzailea"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguratu X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Laburpena"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Zerbitzuak"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Eguneraketak"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Irten"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakete, %d MB)"
+#~ msgstr[1] "(%d pakete, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakete"
+
+#~ msgid "Language"
+#~ msgstr "Hizkuntza"
+
+#~ msgid "License"
+#~ msgstr "Lizentzia"
+
+#~ msgid "Installation class"
+#~ msgstr "Instalaketa mota"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Kalkulatzen"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Paketeak aukeratzen"
+
+#~ msgid "Users"
+#~ msgstr "Erabiltzaileak"
+
+#~ msgid "Networking"
+#~ msgstr "Saregintza"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfiguratu X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ezin dira zure nukleoari dagozkion nukleo-moduluak atzitu (%s fitxategia "
+#~ "ez dago); normalean horrek esan nahi du zure disketea ez dagoela "
+#~ "sinkronizatuta Instalazio-euskarrian (sortu abioko diskete berriagoa)"
diff --git a/perl-install/install/share/po/fa.po b/perl-install/install/share/po/fa.po
new file mode 100644
index 000000000..7cae67de5
--- /dev/null
+++ b/perl-install/install/share/po/fa.po
@@ -0,0 +1,1609 @@
+# translation of DrakX-fa.po to Persian
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Abbas Izad <abbasizad@hotmail.com>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fa\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-02-26 06:31+0100\n"
+"Last-Translator: Abbas Izad <abbasizad@hotmail.com>\n"
+"Language-Team: Persian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "آیا رسانه مکمل دیگری دارید؟"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "شبکه (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "شبکه (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "نشانی اینترنتی آینه؟"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"در حال تماس گرفتن با وب‌گاه لینوکس ماندریبا برای دریافت لیست پایگاه‌های "
+"آینه‌های موجود..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"در حال تماس گرفتن با وب‌گاه لینوکس ماندریبا برای دریافت لیست پایگاه‌های "
+"آینه‌های موجود..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "انتخاب آینه‌ای برای گرفتن بسته‌ها"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "شاخه"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "نمیتوان پرونده hdlist را بر این آینه پیدا کرد"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "بررسی بسته‌های از قبل نصب شده..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "یافتن بسته‌های برای ارتقاء..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"شما کارگزار(های) بدنبال آمده را انتخاب کرده‌اید: %s\n"
+"\n"
+"\n"
+"این کارگزارها در پیش‌فرض فعال شده‌اند. آنها هیچ اشکال امنیتی شناخته شده‌ای\n"
+"ندارند، ولی اشکالات جدید می‌توانند پیدا شوند. در آن صورت شما باید هر چه\n"
+"زودتر آنها را ارتقاء دهید.\n"
+"\n"
+"\n"
+"آیا واقعا می‌خواهید این کارگزارها را نصب کنید؟\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"بسته‌های بدنبال آمده برای ارتقاء سیستم شما برداشته خواهند شد: %s\n"
+"\n"
+"\n"
+"آیا واقعاً می‌خواهید این بسته‌ها را بردارید؟\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "دیسک(های) بدنبال تغییر نام داده شده‌اند:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (قبلا نامش %s بود("
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "شبکه"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "لطفاً رسانه‌ای را انتخاب کنید"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "پرونده از قبل وجود دارد. بازنویسی شود؟"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "اجازه داده نشد"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "رسانه بد %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "نمی‌توان قبل از قسمت‌بندی عکس‌صفحه گرفت"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "عکس‌صفحه‌ها بعد از نصب در %s در دسترس خواهند بود"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "نصب کردن"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "پیکربندی"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "باید %s را قالب‌بندی کنید"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"بعضی از سخت‌افزارهای بر روی رایانه‌ی شما برای کار کردن احتیاج به راه‌اندازهای "
+"اختصاصی دارند. یافتن اطلاعاتی درباره آنها در: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "بالا آوردن شبکه"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "پایین آوردن شبکه"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "فرستادن پرونده‌ها..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "کپی کردن در حال انجام است"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "باید داشت"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "مهم"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "خیلی خوب"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "خوب"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "شاید"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "ایستگاه‌کار"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "ایستگاه‌کار دفتری"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"برنامه های دفتری: واژه پردازان (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"برنامه‌های دفتری: واژه پردازها ((kword, abiword), برگ‌های حساب (kspread, "
+"gnumeric), نماگرهای pdf و غیره"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "ایستگاه بازی"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "برنامه‌های سرگرمی: آرکید، تخته‌ها، تاکتیکی، غیره"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "ایستگاه چندرسانه‌ای"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "برنامه‌های ویرایش/پخش ویدیو و صوت"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "ایستگاه اینترنت"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "مجموعه ابزار خواندن و ارسال پست و اخبار (mutt, tin..) و برای مرور وب"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "رایانه‌ی شبکه (کارگیر)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "کارگیرها برای پایان‌نامه‌های گوناگون از جمله ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ابزارهای برای آسان‌ کردن پیکربندی رایانه‌اتان"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "ابزارهای کنسول"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ویرایش‌گرها، پوسته‌ها، ابزار پرونده، پایانه‌ها"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "برنامه‌سازی"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "کتابخانه‌های برنامه‌سازی C و C++، برنامه‌ها و پرونده‌های شامل"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "نوشتار"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "کتاب‌ها و چگونگی‌ها در لینوکس و نرم‌افزار آزاد"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "پایه‌ی استاندارد لینوکس. حمایت برنامه‌های شخص سوم"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "کارگزار‌ وب"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "آپاچ"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "گروه افزار"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "کارگزار Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "دیوار‌آتش/مسیریاب"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "دروازه‌ی اینترنت"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "پست/اخبار"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "کارگزار پست Postfix، کارگزار اخبار Inn "
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "کارگزار شاخه"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "کارگزار FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "نام دامنه و کارگزار اطلاعات شبکه"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "کارگزاراشتراک چاپگر و پرونده"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "کارگزار NFS، کارگزار Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "بانک ‌اطلاعات"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "کارگزار پایگاه داده‌ی PostgreSQL و MySQL "
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "پست"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "کارگزار پست Postfix "
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "کارگزار بانک اطلاعاتی PostgreSQL یا MySQL "
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "کارگزار شبکه‌ی رایانه"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "کارگزار NFS , کارگزار SMB , کارگزار Proxy , کارگزار ssh "
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "محیط گرافیکی"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "ایستگاه‌کار KDE "
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "محیط رومیزی K، محیط گرافیکی پایه با مجموعه‌ای از ابزارهای ضمیمه"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "ایستگاه‌کار گنوم"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "محیط گرافیکی کاربر-دوستانه با مجموعه‌ای از برنامه‌ها و ابزارهای رومیزی"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "رومیزی Plucker"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "دیگر رومیزی‌های گرافیکی"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "وسایل"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "کارگزار‌ SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "کارگزار پیکربندی از راه دور Webmin "
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "پایشگری/وسایل شبکه"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ابزار پایشگری، پروسه های حسابداری، tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "جادوگران نرم افزار ماندریبا"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "جادوگران برای پیکربندی کارگزار"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"خطائی رخ داد، اما نمی‌دانم چگونه آن را بخوبی اداره کنم.\n"
+"با مسئولیت خودتان ادامه دهید."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"بعضی از بسته‌های مهم بدرستی نصب نشدند. \n"
+"یا گرداننده‌ی سی‌دی یا سی‌دی‌رم شما دارای اشکال می‌باشد.\n"
+"این سی‌دی را بر یک رایانه‌ی نصب شده با استفاده از \"rpm -qpl media/main/*.rpm"
+"\" بررسی کنید\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ورود به مرحله‌ی `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "نصب لینوکس ماندریبا %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> بین عناصر"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"سیستم شما منابع کمی دارد. ممکن است در نصب لینوکس ماندریبا با اشکال برخورد "
+"کنید. \n"
+"اگر این اتفاق رخ داد، می‌توانید نصب متنی را بجایش امتحان کنید. برای این کار، "
+"`F1' را \n"
+"هنگام آغازگری با سی‌دی فشار داده، سپس `text' وارد کنید."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "گزینش گروه بسته"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "انتخاب بسته‌ی تکی"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "اندازه‌ی کل: %d / %d مگابایت"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "بسته‌ی خراب"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "نسخه: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "اندازه: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d کیلوبایت\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "اهمیت: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "نمی‌توانید این بسته را انتخاب/غیر انتخاب کنید"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "بدلیل فقدان %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "بدلیل عدم ارضای %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "تلاش برای تبلیغ %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "بمنظور نگهداشتن %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"نمی‌توانید این بسته را انتخاب کنید چرا که فضای کافی برای نصب آن باقی نمانده "
+"است"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "بسته‌های بدنبال آمده نصب خواهند شد"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "بسته‌های بدنبال آمده برداشته خواهند شد"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "این بسته‌ای ضروری است، نمی‌تواند که گزیده نشود."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "نمی‌توانید این بسته را انتخاب نکنید. آن از قبل نصب شده است "
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "نمی‌توانید این بسته را انتخاب نکنید. این باید ارتقاء داده شود"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "نشان دادن خودکار بسته‌های انتخاب شده"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "نصب"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "بارگذاری/ذخیره انتخاب"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "بروزسازی مجموعه بسته"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "نصب حداقل"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "مدیریت نرم‌افزار"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "بسته‌هایی را که می‌خواهید نصب کنید انتخاب کنید"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "نصب کردن"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "بدون جزئیات"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "زمان باقیمانده "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "تخمین زدن"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "بسته‌های %d"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "خلاصه"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "پیکربندی"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "پیکربندی نشده است"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"رسانه نصب بدنبال آمده یافت شد.\n"
+"اگر میخواهید بعضی از آنها را نادیده بگیرید میتوانید آنها را اکنون نگزینید."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"شما میتوانید محتویات سی‌دی‌ها را قبل از نصب بر روی دیسک سخت کپی کنید.\n"
+"سپس آن از دیسک سخت ادامه یافته و بسته‌ها وقتی که سیستم کاملا نصب گردید در "
+"دسترس خواهند بود."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "کپی کردن تمام سی‌دی‌ها"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "خطائی رخ داد"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "لطفاً طرح صفحه‌کلید خود را انتخاب کنید."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "این لیست کامل صفحه‌کلیدهای در دسترس می‌باشد"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "نصب/ارتقاء"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "آیا این یک نصب است یا یک ارتقاء؟"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "ارتقاء دادن %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "کلید رمزی برای %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "پیکربندی IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"هیچ فضای آزادی برای ۱ مگابایت تسمه‌ی آغازگری ! نصب ادامه پیدا خواهد کرد، ولی "
+"باید قسمت‌بندی تسمه آغازگری را در DiskDrake ایجاد کنید"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"شما نیاز به ایجاد یک تسمه‌ی آغازگری PPC PReP دارید! نصب ادامه پیدا خواهد کرد، "
+"ولی باید قسمت‌بندی تسمه آغازگری را در DiskDrake ایجاد کنید"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"سی‌دی-رم خود را عوض کنید! \n"
+"لطفاً سی‌دی با برچسب \"%s\" را در دستگاه‌تان بگذارید و تأیید را بعد از انجام آن "
+"فشار دهید. \n"
+"اگر آن را ندارید، لغو را برای جلوگیری از نصب این سی‌دی-رم فشار دهید."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "جستجو برای بسته‌های موجود..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"لطفاً بارگذاری یا ذخیره‌ی مجموعه بسته را انتخاب کنید.\n"
+"قالب همانند پرونده‌های تولید شده‌ی نصب-خودکار است."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "بارگذاری"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "ذخیره"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "پرونده بد"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "اندازه‌های انتخاب شده بزرگ‌تر از فضای موجود است"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "نوع نصب"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"هیچ گروه از بسته‌ها را انتخاب نکرده‌اید.\n"
+"لطفاً حداقل نصبی را که می‌خواهید انتخاب کنید:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "با X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "با نوشتارهای پایه (سفارش می‌شود!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "حقیقتاً حداقل نصب (مخصوصاً بدون urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "همه"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "آماده کردن نصب"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "نصب کردن بسته‌ی %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "خطائی در مرتب کردن بسته‌ها رخ داد:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "ادامه به هر حال؟"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "ذخیره‌ی مجموعه بسته‌ها"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "خطائی هنگام نصب بسته‌ها وجود داشت:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "پیکربندی بعد از نصب"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "بروزسازی‌ها"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"اکنون می‌توانید بسته‌های بروزسازی شده را بارگیری کنید. این بسته‌ها \n"
+"بعد از پخش انتشار بروزسازی شده‌اند. آنها ممکن است دارای تعمیرات اشکال\n"
+"یا امنیت باشند.\n"
+"\n"
+"برای بارگیری این بسته‌ها، احتیاج به یک اتصال اینترنتی دارید.\n"
+"\n"
+"آیا می‌خواهید بروزسازی‌ها را نصب کنید؟"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "تماس گرفتن با آینه برای گرفتن لیست بسته‌های موجود..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "نمی‌توان با آینه %s تماس برقرار کرد"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "سخت‌افزار"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "کارت صوتی"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "آیا کارت صوتی ISA دارید؟"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"برای پیکربندی کارت صوتی خود بعد از نصب برنامه‌ی \"sndconfig\" یا \"alsaconf"
+"\" را اجرا کنید"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "هیچ کارت صوتی شناسایی نشد. \"harddrake\" را بعد از نصب امتحان کنید"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "کارت تلویزیون"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "واسط گرافیکی"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "شبکه و اینترنت"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "پراکسی‌ها"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "پیکربندی شده"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "سطح امنیتی"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "دیوارآتش"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "فعال شده"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "از کار افتاده"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "آغازگری"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s بر %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "شما ایکس را پیکربندی نکرده‌اید. آیا واقعاً مطمئنید که این را می‌خواهید؟"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "آماده کردن بارگذار آغازگر..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"بنظر میرسد که شما یک رایانه‌ی عهد عتیق یا ناشناس دارید، \n"
+"بارگزار آغازگر یابوت برای شما کار نخواهد کرد. \n"
+"این نصب ادامه پیدا خواهد کرد، ولی شما باید \n"
+"از BootX یا طریق دیگری برای آغازگری استفاده کنید. آرگومان هسته برای سیستم "
+"پرونده ریشه: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "آیا می‌خواهید از aboot استفاده کنید؟"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"خطا در نصب aboot, \n"
+"تلاش به اجبار نصب می‌کنید حتی اگر آن اولین قسمت‌بندی را خراب کند؟"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"در این سطح امنیتی، دستیابی به پرونده‌های قسمت‌بندی ویندوز محدود به مدیر است."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "یک دیسکچه‌ی خالی را در گرداننده‌ی %s داخل کنید"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ایجاد کردن دیسکچه‌ی نصب خودکار..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"بعضی از مراحل تکمیل نشده است.\n"
+"\n"
+"واقعاً می‌خواهید اکنون ترک کنید؟"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "تبریک می‌گوئیم!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "آغازگری مجدد"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "تولید دیسکچه‌ی نصب خودکار"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"اگر بخواهید نصب خودکار می‌تواند کاملا خودکار عمل کند، \n"
+"که در آن صورت گرداننده‌ی دیسک را در اختیار می‌گیرد!! \n"
+"(این برای نصب بر رایانه دیگری منظور شده است) \n"
+"\n"
+"ممکن است ترجیح دهید نصب را اجرای مجدد کنید.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "بازپخش"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "خودکار"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "ذخیره‌ی مجموعه بسته‌ها"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "زبان"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "مجوز"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "موشی"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "شناسایی گرداننده‌ی دیسک"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "صفحه‌کلید"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "امنیت"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "قسمت‌بندی"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "نصب کردن"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "تأیید هویت"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "کاربران"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "شبکه‌کاری"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "بارگذار آغازگر"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "پیکربندی ایکس"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "خلاصه"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "سرویس‌ها"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "بروزسازی‌ها"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "خروج"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(بسته‌های %d، %d مگابایت)"
+
+#~ msgid "%d packages"
+#~ msgstr "بسته‌های %d"
+
+#~ msgid "Language"
+#~ msgstr "زبان"
+
+#~ msgid "License"
+#~ msgstr "مجوز"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "انتخاب رده‌ی نصب"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "تخمین زدن"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "انتخاب بسته‌ها برای نصب کردن"
+
+#~ msgid "Users"
+#~ msgstr "کاربران"
+
+#~ msgid "Networking"
+#~ msgstr "شبکه‌کاری"
+
+#~ msgid "Configure X"
+#~ msgstr "پیکربندی ایکس"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "نمی‌توان به ماژول‌های هسته مربوط به هسته‌ی شما (پرونده %s وجود ندارد) "
+#~ "دستیابی یافت، این معمولاً بدین معنی است که دیسکچه‌ی آغازگرتان با رسانه‌ی نصب "
+#~ "هم‌گاهی ندارد (لطفاً دیسکچه‌ی آغازگری جدیدی ایجاد کنید)"
diff --git a/perl-install/install/share/po/fi.po b/perl-install/install/share/po/fi.po
new file mode 100644
index 000000000..7abc70e3c
--- /dev/null
+++ b/perl-install/install/share/po/fi.po
@@ -0,0 +1,1640 @@
+# DrakX-fi - Finnish Translation
+#
+# Copyright (C) 2002,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002 Mandriva
+#
+#
+# Matias Griese <mahagr@utu.fi>, 2001.
+# Taisto Kuikka <69319@batman.jypoly.fi>, 2003,2004.
+# Esa Linna <denzo@mbnet.fi>, 2004.
+# Thomas Backlund <tmb@mandrake.org>, 2002, 2003, 2004, 2005.
+# Thomas Backlund <tmb@mandriva.org>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fi - Mandriva 2007 Release\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-18 20:02+0300\n"
+"Last-Translator: Thomas Backlund <tmb@mandriva.org>\n"
+"Language-Team: Finnish <fi@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Onko sinulla muita asennuksen lisälevyä?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Seuraavat lähteet on löydetty ja käytetään asennuksen aikana: %s.\n"
+"\n"
+"\n"
+"Onlo sinulla lisää lähteitä jotta haluat määrittää?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Verkko (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Verkko (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Verkko (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Peilipalvelimen URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL pitää alkaa ftp:// tai http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Otetaan yhteys Mandriva Linuxin sivustolle peilipalvelinlistan saamiseksi..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Yhteydenotto Mandriva Linuxin sivustolle peilipalvelinlistan saamiseksi "
+"epäonnistui"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Valitse peilipalvelin josta paketit haetaan"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS Asetus"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Syötä NFS-palvelimesi nimi ja hakemistopolku"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS-liitoksen palvelimen nimi?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Kansio"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "En löydä hdlist tiedostoa tässä peilipalvelimessa."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Etsitään jo asennettuja paketteja..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Poistetaan paketteja ennen päivitystä..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Etsitään päivitettäviä paketteja..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Olet valinnut seuraavat palvelimet: %s\n"
+"\n"
+"\n"
+"Nämä palvelimet otetaan oletuksena käyttöön. Niissä ei ole tunnettuja \n"
+"turvallisuusaukkoja, mutta sellaisia voi löytyä ajan mittaan. Mikäli niin \n"
+"tapahtuu, sinun pitäisi päivittää kyseiset palvelimet niin nopeasti kuin \n"
+"suinkin mahdollista.\n"
+"\n"
+"\n"
+"Haluatko todella asentaa nämä palvelimet?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Seuraavat paketit poistetaan jotta järjestelmäsi voidaan päivittää:\n"
+"%s\n"
+"\n"
+"Haluatko varmasti poistaa nämä paketit?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Seuraava(t) levy(t) uudelleennimettiin:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (oli ennen nimetty %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Verkko"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Ole hyvä ja valitse media"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tiedosto jo olemassa. Korvaa?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Ei oikeuksia"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Virheellinen NFS-nimi"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Huono media %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kuvakaappauksia ei voida tehdä ennen osiointia"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Kuvakaappaukset löytyvät asennuksen jälkeen hakemistosta %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Asennus"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Asetustyökalut"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Sinun täytyy myös alustaa %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Jokin osa laitteistoasi tarvitsee laitteistovalmistajan ajurit toimiakseen\n"
+"kunnolla. Löydät lisätietoja edellä mainituista täältä: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Käynnistetään verkkoa"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ajetaan alas verkkoa"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Haetaan tiedosto %s ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopioin paketteja kovalevylle myöhempään käyttöön"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiointi käynnissä"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "pakollinen"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "tärkeä"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "erittäin hyvä"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "hyvä"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ehkä"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 tuotelinja"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Palomuuri"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live Tila"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Miten rekisteröityä"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Palvelut"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Uusi teema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Työasema"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Toimistotyöasema"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Toimisto-ohjelmistot: tekstinkäsittely (OpenOffice.org Writer, Kword), "
+"taulukkolaskenta (OpenOffice.org calc, Kspread), PDF-lukijat jne"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Toimisto-ohjelmistot: tekstinkäsittely (kword, abiword), taulukkolaskenta "
+"(kspread, gnumeric), pdf-lukijat jne"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Peliasema"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Viihdeohjelmat: tasohyppely, korttipelit, strategia jne"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediatyöasema"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Äänen sekä videon toisto- ja editointiohjelmat"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internettyöasema"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Valikoima työkaluja sähköpostin ja uutisryhmien lukemiseen (mutt, tin...) "
+"sekä Internetin selailuun"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Verkkopääte (asiakas)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Asiakasohjelmat eri protokollille (SSH jne)"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Työkalut, jotka helpottavat tietokoneesi asetusten muokkaamista"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Komentorivityökalut"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorit, komentotulkit, tiedostotyökalut, päätteet"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Kehitysympäristö"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ja C++ kehityskirjastot, ohjelmat ja include-tiedostot"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaatio"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Kirjoja ja ohjeita Linuxista sekä vapaan lähdekoodin ohjelmista"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+"Linux Standard Base (Linux Standardi Perusta)\n"
+" - Kolmannen osapuolen ohjelmistojen tuki"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "WWW-palvelin"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab palvelin"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Palomuuri / Reititin"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetin yhdyskäytävä"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Posti/Uutiset"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix sähköpostipalvelin, Inn uutispalvelin"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Hakemisto-palvelin"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-palvelin"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Verkkoalueen nimipalvelin (DNS) ja verkon informaatio-palvelin"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Tiedosto- ja Tulostuspalvelin"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-palvelin, Samba-palvelin"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Tietokanta"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ja MySQL tietokantapalvelin"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache WWW-palvelin ja Pro-ftpd FTP-palvelin"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Sähköposti"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix sähköpostipalvelin"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL tai MySQL tietokantapalvelin"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Verkkotietokone (palvelin)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-, SMB-, välitys- ja SSH-palvelin"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graafinen ympäristö"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-työasema"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K-työpöytäympäristö. Graafinen perusympäristö ja sen mukana tulevat työkalut"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-työasema"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Graafinen ympäristö käyttäjäystävällisellä sovelluksilla ja työkaluilla."
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Työpöytä"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Muut graafiset käyttöympäristöt"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, FVWM jne"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Työkalut"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-palvelin"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Etäasetuspalvelin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Verkkotyökalut/Valvonta"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Valvontatyökalut, prosessihallinta, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Velhoja"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Velhoja palvelimen asettamiseksi"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ilmeni virhe, eikä sitä ei voida käsitellä kunnolla.\n"
+"Jatka omalla vastuullasi."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Osa tärkeistä paketeista ei asentunut kunnolla.\n"
+"Joko CD-ROM-asemasi tai levy on viallinen.\n"
+"Tarkista CD-ROM Linux-koneessa komennolla \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Siirryn vaiheeseen `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux asennus %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> vaihtaa elementtiä"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Järjestelmäsi resurssit ovat lopussa. Voit kohdata ongelmia Mandriva "
+"Linuxia\n"
+"asentaessasi. Jos näin tapahtuu, voit kokeilla tekstipohjaista asennusta.\n"
+"Tehdäksesi niin paina `F1' kun käynnistät asennusohjelmaa CD-ROM:lta.\n"
+"Tämän jälkeen kirjoita `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakettiryhmien valinta"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Yksittäisten pakettien valinta"
+
+# mat
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Koko yhteensä: %d / %d Mt"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Viallinen paketti"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versio: "
+
+# mat
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Koko: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kt\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Tärkeys: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Et voi valita/poistaa tätä pakettia"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "puuttuvista %s johtuen"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "täyttämättömistä riippuvuuksista %s johtuen"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "yritetään asentaa %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "jotta %s voitaisiin säilyttää"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Et voi asentaa tätä pakettia, koska levyllä ei ole tarpeeksi tilaa sen "
+"asentamiseksi"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Seuraavat paketit asennetaan"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Seuraavat paketit poistetaan"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Tämä on pakollinen paketti, sitä ei voida poistaa valinnoista"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Et voi poistaa tämän paketin valintaa. Se on jo asennettu"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Et voi poistaa tämän paketin valintaa. Paketti pitää päivittää."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Näytä automaattisesti valitut paketit"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Asenna"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Lataa/Tallenna valinta"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Päivitän pakettien valintaa"
+
+# Asennuksen sivuvalikko
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimaalinen asennus"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Ohjelmistohallinta"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Valitse asennettavat paketit"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Asennetaan"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Ei yksityiskohtia"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Aikaa jäljellä "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Arvioidaan aikaa"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakettia"
+msgstr[1] "%d pakettia"
+
+# Asennuksen sivuvalikko
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Yhteenveto"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Aseta"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ei asetettu"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Seuraavar asennusmediat on löydetty.\n"
+"Jos haluat ohittaa joku niistä, voit poistaa niiden valinta nyt."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Sinulla on mahdollisuus kopioida CD-levyjen sisältö kovalevylle ennen "
+"asennusta.\n"
+"Asennus jatkaa sen jälkeen kovalevyltä ja paketit ovat käytettävissä myös "
+"asennuksen jälkeen."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopioi koko CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ilmeni virhe"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Valitse näppäimistösi asettelu."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Tässä on koko lista käytettävissä olevista näppäimistöistä"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Asenna/Päivitä"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Onko tämä asennus vai päivitys?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Päivitä %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Salausavain %s:lle"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Asetetaan IDE-levyä"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ei vapaata tilaa 1 Mt:n käynnistyslohkoa varten! Asennusta jatketaan, mutta "
+"käynnistääksesi järjestelmän sinun pitää luoda käynnistyslohko-osio "
+"DiskDrake:ssa."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Sinun pitää luoda PPC PReP Boot bootstrap! Asennusta jatketaan, mutta "
+"käynnistääksesi järjestelmän sinun pitää luoda käynnistyslohko-osio "
+"DiskDrake:ssa."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Vaihda CD-levyä!\n"
+"\n"
+"Aseta CD-levy nimeltä \"%s\" CD-asemaan ja valitse OK kun olet valmis.\n"
+"Jos sinulla ei ole levyä, valitse Peruuta välttääksesi asennukset tältä "
+"levyltä."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Etsitään saatavilla olevia paketteja..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lataa tai tallenna pakettien valinta.\n"
+"Muoto on sama kuin auto_install-toiminnon luomilla tiedostoilla."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Verkkokuorma"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Tallenna"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Huono tiedosto"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valittu koko on suurempi kuin käytettävissä oleva levytila"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Asennuksen tyyppi"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Et ole valinnut yhtäkään pakettiryhmää.\n"
+"Valitse haluamasi minimaalinen asennus"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X-palvelimella"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Perusdokumentaation kanssa (suositeltu!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Vähimmäisasennus (erityisesti ei urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Kaikki"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Valmistellaan asennusta"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Asennetaan pakettia: %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Tapahtui virhe järjestettäessä paketteja:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Jatka kuitenkin?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Tallenna pakettien valinta"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Tapahtui virhe asennettaessa paketteja:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Asennuksen jälkeiset toiminnot"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Varmista että Päivitetyt Moduulit media on asemassa %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Päivitykset"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Sinulla on nyt mahdollisuus hakea päivitetyt paketit. Nämä paketit\n"
+"on julkaistu tämän jakelun julkaisun jälkeen. Ne voivat sisältää\n"
+"tietoturva- tai virhekorjauksia.\n"
+"\n"
+"Hakeaksesi nämä paketit sinulla pitää olla toimiva Internetyhteys.\n"
+"\n"
+"Haluatko hakea ja asentaa päivitykset?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Yhdistetään peilipalvelimeen uusimman pakettilistan saamiseksi..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Yhteyttä peilipalvelimeen %s ei voitu muodostaa"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Laitteisto"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Äänikortti"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Onko sinulla ISA-väylään liitettävä äänikortti?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Suorita \"alsaconf\" tai \"sndconfig\" asennuksen jälkeen asettaaksesi "
+"äänikorttisi."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Yhtäkään äänikorttia ei löydetty. Kokeile \"harddrake\" asennuksen jälkeen"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-kortti"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Graafinen käyttöliittymä"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Verkko & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Välityspalvelimet"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "asetettu"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Turvataso"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Palomuuri"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivoitu"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ei käytössä"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Käynnistys"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s kohteessa %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Et ole asettanut X-palvelinta. Oletko varma että haluat tehdä tämän?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Valmistelen käyttöjärjestelmän lataajaa..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Sinulla on vanhanaikainen tai tuntematon tietokone, joten Yaboot "
+"käynnistyslataaja ei toimi koneessasi. Asennus jatkuu, mutta sinun täytyy "
+"käyttää BootX:ää koneesi käynnistämiseen. Ytimen paremetrit root "
+"tiedostojärjestelmälle on: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Haluatko käyttää aboot:a?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Virhe asennettaessa aboot:a,\n"
+"yritetäänkö pakkoasennusta vaikka se tuhoaa ensimmäisen osion?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Tällä turvatasolla pääsy Windows-osion tiedostoihin on rajoitettu "
+"ylläpitäjälle."
+
+# mat
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Aseta tyhjä levyke levykeasemaan %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Valmistellaan automaattiasennuslevykettä..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Joitain vaiheita ei ole saatettu loppuun.\n"
+"\n"
+"Haluatko todella lopettaa?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Onnittelut"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Käynnistä uudelleen"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Luo automaattinen asennuslevyke"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Automaattinen asennus voi olla täysin automatisoitu,\n"
+"jos niin halutaan. Siinä tapauksessa asennus täyttää\n"
+"koko kiintolevyn! (tarkoitettu toisen koneen asentamiseksi),\n"
+"\n"
+"Ehkä haluat mieluummin toistaa asennuksen.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Toista"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automaattinen"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Tallenna pakettien valinta"
+
+# Asennuksen sivuvalikko
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Kieli"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisenssi"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Hiiri"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kiintolevyjen tunnistus"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Asennusluokka"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Näppäimistö"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Tietoturva"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Osiointi"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Alustetaan"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakettien valitseminen"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Asennetaan"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Tunnistustapa"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Käyttäjät"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Verkko"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Käynnistyslataaja"
+
+# Asennuksen sivuvalikko
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Aseta X"
+
+# Asennuksen sivuvalikko
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Yhteenveto"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Palvelut"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Päivitykset"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Poistu"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakettia"
+#~ msgstr[1] "%d pakettia"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakettia"
+
+# Asennuksen sivuvalikko
+#~ msgid "Language"
+#~ msgstr "Kieli"
+
+#~ msgid "License"
+#~ msgstr "Lisenssi"
+
+#~ msgid "Installation class"
+#~ msgstr "Asennusluokka"
+
+#~ msgid "Formatting"
+#~ msgstr "Alustetaan"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakettien valitseminen"
+
+#~ msgid "Users"
+#~ msgstr "Käyttäjät"
+
+#~ msgid "Networking"
+#~ msgstr "Verkko"
+
+# Asennuksen sivuvalikko
+#~ msgid "Configure X"
+#~ msgstr "Aseta X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Käyttämääsi ydintä vastaavia ytimen moduuleja ei voida käyttää (tiedosto %"
+#~ "s puuttuu), tämä yleensä tarkoittaa että käynnistyslevykettäsi ei ole "
+#~ "tahdistettu asennusmedian kanssa (luo uudempi käynnistyslevyke)."
diff --git a/perl-install/install/share/po/fr.po b/perl-install/install/share/po/fr.po
new file mode 100644
index 000000000..dc1821ef7
--- /dev/null
+++ b/perl-install/install/share/po/fr.po
@@ -0,0 +1,1714 @@
+# translation of DrakX-fr.po to Français
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Mandriva
+#
+# Veuillez ne pas mettre à jour ce fichier à moins d'être
+# certain tant de vos traductions que de votre grammaire et
+# de votre orthographe. Ces dernières sont trop souvent
+# approximatives. Elles nécessitent alors des relectures et
+# des corrections qui n'ont d'autre conséquence que de faire
+# perdre du temps à tout le monde (à vous si votre travail est
+# imparfait et aux relecteurs qui doivent rechercher puis corriger
+# vos éventuelles fautes).
+#
+# VEUILLEZ RESPECTER LA TYPOGRAPHIE FRANÇAISE !
+# Les majuscules doivent être accentuées si besoin est. Respectez
+# les espaces nécessaires pour la ponctuation (espace après la virgule et
+# le point, espace insécables avant les points d'interrogation,
+# d'exclamation, les deux-points et le point virgule, espace aussi après
+# le point virgule).
+# N'enlevez pas l'espace qui suit un signe de ponctuation en fin de
+# phrase; vous devez respecter la version originale. Dans ce type de
+# cas, il est extrèmement probable que le programme va afficher
+# quelque chose d'autre à la fin. En enlevant l'espace, vous allez
+# accoller deux mots.
+#
+# ESPACES INSÉCABLES
+# Vous devez utiliser un espace insécable (c'est un espace qui ne peut
+# pas servir de rupture à la ligne) avant le point d'exclamation, le
+# point d'interrogation, le deux-points, le point virgules, et pour les
+# "quantités", entre le nombre et l'unité abbrégée (par exemple "10 g").
+# L'espace normal en ISO et UTF8 est le caractere 0x20 tandis que l'espace
+# insécable est le caractère 0xA0. Sous Emacs en utilisant le po mode
+# livré avec gettext >= 0.10.40-4mdk vous pouvez voir celui-ci avec un
+# fond de couleur spécial. Sous Vi celui-ci est normalement affiché
+# précédé du caractère pipe "|". Pour le taper sous la plupart des
+# éditeurs, vous pouvez utiliser la touche "Compose" puis en tapant
+# deux espaces. Si vous n'avez pas de touche compose, vous pouvez
+# donner cette fonction à la touche "Windows" droite de votre clavier
+# avec la commande suivante :
+# xmodmap -e 'keycode 116 = Multi_key'
+#
+# Les guillemets françaises sont « et » et non ". La guillemet ouvrante
+# « est suivie d'un espace insécable et la guillemet fermante » est
+# précédée du même type d'espace. Pour le taper, vous pouvez utiliser
+# la combinaison Compose < <, et Compose > > (ou alt-z et alt-x).
+#
+# Enfin, traduisez INTELLIGEMMENT et non mot à mot. Certaines traductions
+# n'ont aucun sens en français.
+#
+# MOTS À ÉVITER
+# - application. Ce terme n'étant pas compris par le grand public, il est
+# préférable de le remplacer par le mot "programme".
+#
+# Nous vous remercions de votre compréhension.
+#
+#
+#
+# Stéphane Teletchéa, 2005.
+# David BAUDENS <baudens@mandriva.com>, 1999-2004.
+# David ODIN <odin@mandriva.com>, 2000.
+# Pablo Saratxaga <pablo@mandriva.com>, 2001, 2005.
+# KAtiOS <katios@nolabel.net>, 2001.
+# Guillaume Cottenceau <gc@mandriva.com>, 2001-2002.
+# Thierry Vignaud <tvignaud@mandriva.com>, 2001-2004.
+# Christophe Combelles <ccomb@free.fr>, 2002,2003.
+# Adrien REZER <monsieurdidi@free.fr>, 2003.
+# RICHARD Nicolas <richardnicolas22@yahoo.fr>, 2004.
+# Lecureuil Nicolas <n1c0l4s.l3@wanadoo.fr>, 2004.
+# Teletchéa <steletch@free.fr>, 2004, 2005.
+# Christophe Berthelé <cpjc@free.fr>, 2005, 2006, 2007.
+# Didier Hérisson <didier.herisson@angstrom.uu.se>, 2005.
+# Nicolas Lécureuil <neoclust@mandriva.org>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-05 15:38+0100\n"
+"Last-Translator: Christophe Berthelé <cpjc@free.fr>\n"
+"Language-Team: Français <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2;plural=(n>1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Possédez-vous d'autres média supplémentaires ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Le média suivant a été trouvé et sera utilisé pendant l'installation : %s.\n"
+"\n"
+"\n"
+"Souhaitez-vous configurer un autre média d'installation ?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Réseau (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Réseau (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Réseau (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL du miroir ?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "L'URL doit commencer par ftp:// ou http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Connexion au site Web de Mandriva Linux pour obtenir la liste des serveurs "
+"miroirs disponibles..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Echec de la connexion au site web de Mandriva Linux pour obtenir la liste "
+"des miroirs disponibles"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Choisissez un serveur miroir d'où télécharger les paquetages"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configuration NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Veuillez entrer le nom de machine et le répertoire de votre média NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Le nom d'hôte manque"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Le répertoire doit commencer par « / »"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nom d'hôte du montage NFS ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Répertoire"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Supplémentaire"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne peut trouver le fichier de liste de paquets sur ce miroir. Vérifiez que "
+"l'emplacement est correct."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Recherche des paquetages déjà installés..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Suppression des paquetages avant la mise à jour ..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Recherche des paquetages à mettre à jour..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Vous avez sélectionné le(s) serveur(s) suivant(s) : %s\n"
+"\n"
+"\n"
+"Ces serveurs seront activés par défaut.\n"
+"Ils n'ont actuellement aucun problème de sécurité connu,\n"
+"mais si des vulnérabilités sont découvertes par la suite,\n"
+"vous devrez effectuer une mise à jour le plus rapidement possible.\n"
+"\n"
+"\n"
+"Confirmez-vous l'installation de ces serveurs ?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Les paquetages suivants seront désinstallés pour permettre la mise à jour : %"
+"s\n"
+"\n"
+"\n"
+"Souhaitez-vous réellement les désinstaller ?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Les disques suivants ont été renommés :"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (précédemment nommé %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Réseau"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Veuillez choisir un média"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Le fichier existe déjà. Voulez-vous l'écraser ?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permission refusée"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Mauvais nom NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Média %s incorrect"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Impossible de faire des captures d'écran avant le partitionnement"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les captures d'écran seront disponibles après l'installation dans %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuration"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Vous devez aussi formater %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Certains périphériques présents sur votre système nécessitent des\n"
+"pilotes « propriétaires » pour pouvoir fonctionner. Vous pouvez\n"
+"trouver plus d'informations les concernant ici : %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Démarrage de l'interface réseau..."
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Arrêt de l'interface réseau..."
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Téléchargement du fichier %s ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+"Copie de certains paquetages sur les disques pour une utilisation future"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Copie en cours"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "obligatoire"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "très utile"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "utile"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "éventuellement"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Ligne de produits 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Pare-feu Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Mode découverte sans installation (Live)"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Comment s'enregistrer"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Services"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nouveau thème"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Station de travail"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Poste bureautique"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmes pour la bureautique : traitements de texte (OpenOffice.org "
+"Writer, Kword), tableurs (OpenOffice.org Calc, Kspread), visualiseur pdf, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programmes pour la bureautique : traitements de texte (kword, abiword), "
+"tableurs (kspread, gnumeric), visualiseur pdf, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Jeux"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Programmes de divertissement : jeux d'arcade, de plateau, de stratégie, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimédia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmes pour jouer/éditer du son et de la vidéo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Ensemble d'outils pour lire et envoyer des courriers électroniques et des "
+"messages de forums (mutt, tin, ...), ainsi que pour naviguer sur Internet"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordinateur réseau (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients pour différents protocoles, dont ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Outils pour faciliter la configuration de votre ordinateur"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Utilitaires console"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Éditeurs, interpréteurs, outils fichiers, terminaux"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Développement"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Bibliothèques de développement C et C++, programmes et fichiers d'en-tête"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentation"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Livres et Howto's sur Linux et le Logiciel Libre"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "« Linux Standard Base ». Support des programmes tiers"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Serveur Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Serveur Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Pare Feu/Routeur"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Passerelle internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Courriel/Nouvelles"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serveur de courrier Postfix, serveur de nouvelles lnn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Serveur d'annuaire"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Serveur FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serveur de noms de domaine et d'information réseaux"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Serveur pour partage de fichiers et d'imprimantes"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Serveur NFS, Serveur Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Base de Données"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Serveurs de bases de données PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache et Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Courriel"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Serveur de courrier Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Serveurs de bases de données PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Serveur réseau"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Serveur NFS, serveur SMB, serveur Proxy (mandataire), serveur SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Environnement graphique"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Station de travail KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L'environnement graphique KDE (K Desktop Environment) avec sa collection "
+"d'outils"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Station de travail GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un environnement de bureau avec un ensemble de programmes et d'outils "
+"intuitifs"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Bureau IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Autres Environnements de Bureau"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitaires"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Serveur SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Serveur de configuration distante webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitaires réseau/Surveillance du réseau"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Outils de surveillance, gestion de processus, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Assistants Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistants pour configurer le serveur"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Une erreur est survenue et semble difficile à résoudre correctement.\n"
+"Vous pouvez continuer, mais à vos risques et périls."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Quelques paquetages importants n'ont pas été correctement installés. Il se\n"
+"peut que le lecteur de CD-ROM ou le CD-ROM lui-même soit défectueux. Vous\n"
+"pouvez vous assurer du bon état de ce dernier en exécutant la commande "
+"suivante\n"
+"sur un ordinateur fonctionnant correctement : « rpm -qpl media/main/*.rpm »\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Démarrage de l'étape « %s »\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Installation de Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre éléments"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Votre ordinateur possède peu de mémoire. Vous aurez peut-être quelques\n"
+"problèmes pour installer Mandriva Linux. Si cela se produit, vous pouvez\n"
+"essayer de procéder à une installation en mode texte. Pour cela, appuyez\n"
+"sur la touche « F1 » après l'amorçage sur CD-ROM puis entrez « text »."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Sélection des groupes de paquetages"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Sélection individuelle des paquetages"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Taille totale : %d / %d Mo"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Mauvais paquetage"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version : "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Taille : "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importance : "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Vous ne pouvez pas sélectionner/désélectionner ce paquetage"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "parce que %s manque"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "car %s n'est pas résolu"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "Tentative de promouvoir %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "afin de conserver %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Il n'y a pas assez de place pour installer ce paquetage"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Les paquetages suivants vont être installés"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Les paquetages suivants vont être désinstallés"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ce paquetage est nécessaire, vous ne pouvez pas le désélectionner"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Vous ne pouvez pas désélectionner ce paquetage. Il est déjà installé"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+"Vous ne pouvez pas désélectionner ce paquetage, il doit être mis à jour."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Montrer les paquetages sélectionnés automatiquement"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installation"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Charger/Sauvegarder la sélection"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Mise à jour de la sélection des paquetages"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Installation minimale"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gestion des paquetages"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Choisissez les paquetages que vous voulez installer"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installation"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Pas de détails"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Temps restant "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimation en cours"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquetage"
+msgstr[1] "%d paquetages"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Résumé"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurer"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "non configuré"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Les média d'installation suivants ont été trouvés.\n"
+"Si vous ne désirez pas utiliser certains d'entre eux, vous pouvez les "
+"désélectionner maintenant."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Vous avez la possibilité de copier le contenu des CDs sur le disque dur "
+"avant l'installation.\n"
+"Celle-ci s'effectuera alors à partir du disque dur et les paquetages "
+"resteront disponibles une fois le système installé."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copier entièrement les CDs"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Une erreur est survenue"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Veuillez choisir votre type de clavier."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Voici la liste complète des claviers disponibles"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installation/Mise à jour"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Désirez-vous faire une installation ou une mise à jour ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Mettre à jour %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clé de chiffrement pour %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Configuration IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Pas de place libre pour la partition d'amorçage (bootstrap) de 1 Mo."
+"L'installation va\n"
+"continuer, mais pour que votre système puisse démarrer, vous aurez besoin "
+"de\n"
+"créer la partition d'amorçage avec DiskDrake."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Pas de place libre pour la partition d'amorçage (PPC PReP Boot bootstrap) de "
+"1 Mo.L'installation va\n"
+"continuer, mais pour que votre système puisse démarrer, vous aurez besoin "
+"de\n"
+"créer la partition d'amorçage avec DiskDrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Changez de CD-ROM !\n"
+"Veuillez insérer le CD-ROM nommé « %s » dans votre lecteur puis cliquez sur "
+"« OK ».\n"
+"Si vous ne le possédez pas, cliquez sur « Annuler » afin de ne rien "
+"installer à partir de ce CD-ROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Recherche des paquetages disponibles..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Votre système n'a pas assez d'espace libre pour installer ou de mettre à "
+"jour (%dMo > %dMo)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Veuillez choisir entre le chargement ou la sauvegarde de la\n"
+"sélection des paquetages. Le format est le même que celui de l'installation "
+"automatisée (auto_install)."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Charger"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Mauvais fichier"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "La taille sélectionnée est plus importante que la place disponible"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Type d'installation"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vous n'avez sélectionné aucun groupe de paquetages.\n"
+"Veuillez choisir l'installation minimale désirée : "
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Avec X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Avec la documentation de base (recommandé !)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installation vraiment minimale (et en particulier pas d'urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tout"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Préparation de l'installation"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installation du paquetage %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Erreur lors du tri des paquetages :"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Souhaitez-vous tout de même continuer ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Ré-essayer"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Ignorer ce paquetage"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Ignorer tous les paquetages du média « %s »"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Retourner à la sélection du média et des paquetages"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Erreur lors de l'installation du paquetage %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuration post-installation"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Assurez vous que le média de mise à jour des modules est dans le lecteur %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Mises à jour"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Vous avez maintenant la possibilité de télécharger les mises à jour\n"
+"créées depuis la sortie de cette distribution. Il peut y avoir des "
+"correctifs de\n"
+"sécurité ou des résolutions d'anomalies.\n"
+"\n"
+"Vous devez avoir une connexion internet pour les télécharger.\n"
+"\n"
+"Souhaitez-vous installer les mises à jour ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Téléchargement de la liste des paquetages disponibles ..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Impossible d'accéder au miroir %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Matériel"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Carte son"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Possédez-vous une carte son ISA ?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Lancez « alsaconf » ou « sndconfig » après l'installation pour configurer la "
+"carte son"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Aucune carte son détectée. Essayez avec « harddrake » après l'installation"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Carte TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface graphique"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Réseau et Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configuré"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Niveau de sécurité"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Pare Feu"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activé"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "désactivé"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Partition de démarrage"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s sur %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Vous n'avez pas configuré le serveur d'affichage (X11). Êtes-vous sûr de ce "
+"que vous faites ?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Préparation du programme d'amorçage..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Il semble que votre machine ne soit pas dotée de l'architecture "
+"« NewWorld ».\n"
+"Le programme d'amorçage « yaboot » ne fonctionnera pas.\n"
+"L'installation va continuer, mais vous aurez besoin de « BootX » ou\n"
+"d'une autre méthode pour démarrer votre machine. Le paramètre pour la racine "
+"du noyau est : root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Désirez-vous utiliser « aboot » ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Une erreur est survenue lors de l'installation de « aboot ».\n"
+"Désirez-vous forcer l'installation au risque de détruire la\n"
+"première partition du disque ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"A ce niveau de sécurité, l'accès aux fichiers de la partition Windows sera "
+"restreint à l'administrateur."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insérez une disquette vierge dans le lecteur %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Création de la disquette d'auto-installation..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Certaines étapes ne sont pas terminées.\n"
+"\n"
+"Souhaitez-vous vraiment quitter maintenant ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Félicitations"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Redémarrage"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Créer une disquette d'auto-installation"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"L'auto-installation peut être complètement automatique si nécessaire,\n"
+"dans ce cas elle prend le contrôle du disque dur !!\n"
+"(prévu pour l'installation d'une autre machine).\n"
+"\n"
+"Vous pouvez préférer rejouer l'installation.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Rejouer"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisée"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Sauvegarder la sélection des paquetages"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Langue"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Souris"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Détection des disques durs"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe d'installation"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Clavier"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sécurité"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionnement"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formattage"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Choix des paquetages"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installation"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Authentification"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilisateurs"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Réseau"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Amorçage"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configuration de X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Résumé"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Services"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Mises à jour"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Quitter"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paquetage, %d Mo)"
+#~ msgstr[1] "(%d paquetages, %d Mo)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paquetages"
+
+#~ msgid "Language"
+#~ msgstr "Langue"
+
+#~ msgid "License"
+#~ msgstr "Licence"
+
+#~ msgid "Installation class"
+#~ msgstr "Classe d'installation"
+
+#~ msgid "Formatting"
+#~ msgstr "Formattage"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Choix des paquetages"
+
+#~ msgid "Users"
+#~ msgstr "Utilisateurs"
+
+#~ msgid "Networking"
+#~ msgstr "Réseau"
+
+#~ msgid "Configure X"
+#~ msgstr "Configuration de X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Impossible d'accéder aux modules correspondant à votre noyau (le fichier %"
+#~ "s est manquant), cela veut généralement dire que votre disquette "
+#~ "d'amorçage n'est plus à jour par rapport à votre périphérique "
+#~ "d'installation (veuillez créer une disquette d'amorçage plus récente)"
diff --git a/perl-install/install/share/po/fur.po b/perl-install/install/share/po/fur.po
new file mode 100644
index 000000000..9da494520
--- /dev/null
+++ b/perl-install/install/share/po/fur.po
@@ -0,0 +1,1500 @@
+# translation of DrakX.po to furlan
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Andrea Gracco <graccoandrea@tin.it>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-06-28 17:41+0200\n"
+"Last-Translator: Andrea Gracco <graccoandrea@tin.it>\n"
+"Language-Team: furlan <gft@freelists.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Rêt"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Rêt"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Cartele"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr ""
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr ""
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "HFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rêt"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Par plasè sielç"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr ""
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permès dineât"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "font zontade %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Instale"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configurazion"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr ""
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Instalazion in vore"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Svilup"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentazion"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Grop"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/File/_Gnûf"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Ferme Server"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "Server NTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambient Grafic"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Filipinis"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Viôt le Configurazion"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Expert</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Al è intravignût un fal, ma no sai ben cemût gjestîlu.\n"
+"Continue a to azard."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, fuzzy, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Centri di Control Mandriva Linux"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr ""
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr ""
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Dimension: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr ""
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Entitât: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "cause cal mancje %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "cause che %s no l'è sodisfat"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "ricercje dal miôr pachet %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "par tignî %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instale"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Selezion dal percors"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gjestôr Software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr ""
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr ""
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr ""
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "pachet no cognossût"
+msgstr[1] "pachet no cognossût"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr ""
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configure"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Al è intravignût un fal"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr ""
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr ""
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr ""
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, fuzzy, c-format
+msgid "Load"
+msgstr "Locâl"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Salve"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Salve il file"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Ducj"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr ""
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr ""
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Atualizazions"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr ""
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr ""
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr ""
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Schede TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rêt & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr ""
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivel di Sigurece"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "disabilitât"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Inviament"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr ""
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr ""
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Congratulazions"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Torne a inviâ"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr ""
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr ""
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr ""
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Surie"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiere"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurece"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr ""
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr ""
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utents"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rêt"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr ""
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizis"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atualizazions"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Jessì"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Instale atualizazions"
+
+#~ msgid "Users"
+#~ msgstr "Utents"
+
+#~ msgid "Networking"
+#~ msgstr "Rêt"
diff --git a/perl-install/install/share/po/ga.po b/perl-install/install/share/po/ga.po
new file mode 100644
index 000000000..e822404d3
--- /dev/null
+++ b/perl-install/install/share/po/ga.po
@@ -0,0 +1,1523 @@
+#
+# Alastair McKinstry <mckinstry@computer.org>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-09-12 18:04+0200\n"
+"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
+"Language-Team: Irish <ga@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "An bhfuil ceann eile agat?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Líonra (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Líonra (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Líonra (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Cumraigh NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Comhadlann"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Earráid ag oscailt %s do scríobh: %s"
+
+#: any.pm:376
+#, fuzzy, c-format
+msgid "Looking at packages already installed..."
+msgstr "Roghnaigh pacáistí ..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ag cúrdach pacáistí le húasgrádú..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Roghnaigh pacáistí ..."
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Líonra"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Roghnaight do theangam le do thoil."
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tá an comhad ann cheana. Forscríobh?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Cead diúltaithe"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "Tá comhad %s lódailte."
+
+#: any.pm:1294
+#, fuzzy, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ní féidir liom rann eile a cur isteach"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Suiteáil"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "cumraíocht"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Is gá %s a fhormáidiú freisin"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ag tosnú suas an ghréasán"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ag dúnadh síos an ghreasán"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Sabháil i gcomhad"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Pointe taca dublach %s"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "riachtanas"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "tábhachtach"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "an-dheas"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "deas"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "b'fhéidir"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Téama Nua"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Stáisiún Oibre"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Stáisiún Oibre"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Stáisiún Cluichí"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Stáisiún ilmheánach"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Stáisiún Idirlíon"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "Printéir Gréasán (lpd)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "An bhfuil tú ag iarraidh an cumraíocht a thrial?"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Uirlisí Consóil"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Forbairt"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Doiciméadú"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Freastalaí Lín"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Grúpearraí"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Freastalaí Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, fuzzy, c-format
+msgid "Internet gateway"
+msgstr "suimiúil"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Ríomhphost/Nuacht"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Freastalaí Printéir"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Freastalaí Eolaire"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Freastalaí FTP:"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS "
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ainm Fearannas"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Freastalaí Printéir"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Freastalaí NIS"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Bunachar Sonraí"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Greasan/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Post"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "Freastalaí Printéir"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "Cláréadan Gréasán"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Timpeallacht Ghrafach"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Stáisiún KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stáisiún Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Deasc"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Deasc Graphaicí Eile"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Uirlisí"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Freastalaí SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Seirbishí"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Cumraigh Idirlíon"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Cumraíocht Gréasánú"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Bainteach le hIdirlíon"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Cumraigh printéir"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ta earraid ann, níl a fhios agam conas é a cheartú.\n"
+"Lean ort, ar do phriacal féin."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Ag tosnú ar céim `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Suiteáil Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr ""
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Méid iomlán: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pacáiste mícheart"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Leagan: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Méid: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Tábhacht: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "kdesu ar iarraidh"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Feistiú"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#: steps_gtk.pm:406
+#, fuzzy, c-format
+msgid "Updating package selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#: steps_gtk.pm:411
+#, fuzzy, c-format
+msgid "Minimal install"
+msgstr "Eirigh as Feistiú"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Bainistíocht Bhogearraí"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr ""
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Ag Feistiú"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Sonraí"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Am fagtha "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Ag meastú"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacáistí"
+msgstr[1] "%d pacáistí"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Coimriú"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Cumraigh"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "Cumraigh"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Tharla earráid"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Roghnaigh leagan amach do mhéarchláir."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr ""
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Feistiúi/Uadgrádaigh"
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Feistigh nó uasgrádaigh ?"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Uasgrádaigh"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Ní mar a chéile na pasfhocail"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Ag cumraigh IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ag curdach do na pacáistí atá ar fáil..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Lód"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Sábháil"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Lódáil comhad"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, fuzzy, c-format
+msgid "Type of install"
+msgstr "Roghnaigh pacáistí a feistiú ..."
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Le X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Gach Rud"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Ag Ullmhaigh feistiú"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Ag feistiál pacáiste %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Lean ar aghaidh ar aon nós?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Atriail"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Ag feistiál pacáiste %s"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Cumraíocht Iar-feistú"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Leasuithe"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Teip ar glaoch `fork': %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Crua-earraí"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Carta Fuaim"
+
+#: steps_interactive.pm:809
+#, fuzzy, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "An bhfuil ceann eile agat?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Carta Telefís"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Comhéadan grafach"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Gréasán agus Idirlíon"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Ionadaithe"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "cumraithe"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Leibhéal Slándála"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Bac slándála"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "díchumasaithe"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Tosú"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s ar %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Ag Ullmhaigh ríomhchlar thosnaithe..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, fuzzy, c-format
+msgid "Do you want to use aboot?"
+msgstr "Céard a theastaíonn uait a dhéanamh?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Cur isteach diosca folamh sa dioscthiomant %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Comhghairdeas"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Atosaigh"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, fuzzy, c-format
+msgid "Generate auto install floppy"
+msgstr "Cruthaigh flapach bootáil"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Athlódaigh"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Uathoibríoch"
+
+#: steps_interactive.pm:1073
+#, fuzzy, c-format
+msgid "Save packages selection"
+msgstr "Roghnú Grúpa Pacáistí"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Roghnaigh do theanga"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Ceadúnas"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Luchóg"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr ""
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Eocharclár"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Slándáil"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formáidiú"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Ag Feistiú"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Deimniú"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Úsáideoirí"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Líonrú"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Clár dúisithe"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Cumraigh X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Coimriú"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Seirbishí"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Leasuithe"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Scoir"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pacáistí"
+#~ msgstr[1] "%d pacáistí"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pacáistí"
+
+#~ msgid "Language"
+#~ msgstr "Roghnaigh do theanga"
+
+#~ msgid "License"
+#~ msgstr "Ceadúnas"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Roghnaigh rang feistiú"
+
+#~ msgid "Formatting"
+#~ msgstr "Formáidiú"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Roghnaigh pacáistí ..."
+
+#~ msgid "Users"
+#~ msgstr "Úsáideoirí"
+
+#~ msgid "Networking"
+#~ msgstr "Líonrú"
+
+#~ msgid "Configure X"
+#~ msgstr "Cumraigh X"
diff --git a/perl-install/install/share/po/gl.po b/perl-install/install/share/po/gl.po
new file mode 100644
index 000000000..550e21777
--- /dev/null
+++ b/perl-install/install/share/po/gl.po
@@ -0,0 +1,1632 @@
+# translation of DrakX-gl.po to Galician
+# Jesús Bravo Álvarez (mdk) <jba@pobox.com>, 2001.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-gl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-10 00:29+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician <<gpul-traduccion@ceu.fi.udc.es>>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 1.9.1\n"
+"X-Poedit-Language: Gallegan\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ten soportes suplementarios adicionais?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Atopáronse os seguintes soportes e vanse usar durante a instalación: %s.\n"
+"\n"
+"\n"
+"Ten algún soporte de instalación suplementario para configurar?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Cal é o URL do sitio espello?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Contactando co sitio web de Mandriva Linux para obte-la lista de sitios "
+"espello dispoñibles..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Contactando co sitio web de Mandriva Linux para obte-la lista de sitios "
+"espello dispoñibles..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Escolla un sitio espello dende o que obte-los paquetes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configuración de NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Introduza o nome de máquina e o directorio do soporte NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Cal é o nome de máquina da montaxe NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directorio"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Non se puido atopar un ficheiro de lista de paquetes neste sitio espello.\n"
+"Asegúrese de que a localización é a correcta."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Buscando os paquetes que xa están instalados..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Eliminando paquetes antes de actualizar..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Buscando paquetes para actualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Seleccionou os seguintes servidores: %s\n"
+"\n"
+"\n"
+"Estes servidores están activados por defecto. Non teñen ningún problema de\n"
+"seguridade coñecido, pero pode ser que se lles atopen algúns. Nese caso,\n"
+"debe asegurarse de actualizar tan rápido como sexa posible.\n"
+"\n"
+"\n"
+"Desexa instalar estes servidores?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Vanse eliminar os seguintes paquetes para poder actualiza-lo seu sistema: %"
+"s\n"
+"\n"
+"\n"
+"Desexa eliminar estes paquetes?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Renomeáronse os seguintes discos:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (chamado anteriormente %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Escolla un soporte"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O ficheiro xa existe. ¿Desexa sobreescribilo?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS incorrecto"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "O soporte %s é incorrecto"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Non se pode captura-la pantalla antes de face-las particións"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Poderanse facer capturas de pantalla despois de instalar en %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalación"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuración"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Tamén debe formatar %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Algún hardware do seu ordenador necesita drivers ``propietarios''\n"
+"para funcionar. Pode atopar máis información sobre eles en: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Activando a rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Desactivando a rede"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Descargando o ficheiro %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Copiando"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "debe telo"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "moi bo"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bo"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "indiferente"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Cortalumes Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, fuzzy, c-format
+msgid "New Theme"
+msgstr "Novo tema para Webmin"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Estación de traballo"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Estación de Traballo de Oficina"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de oficina: procesadores de texto (OpenOffice.org Writer, Kword), "
+"follas de cálculo (OpenOffice.org Calc, Kspread), visualizadores de pdf, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programas de oficina: procesadores de texto (kword, abiword), follas de "
+"cálculo (kspread, gnumeric), visualizadores de pdf, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Estación de xogos"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de diversión: arcade, taboleiros, estratexia, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Estación multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de reproducción e edición de son e vídeo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Estación de Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conxunto de ferramentas para ler e enviar correo-e e novas (mutt, tin...) e "
+"para navegar pola Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ordenador de Rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos incluíndo ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilita-la configuración do ordenador"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de Consola"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, shells, ferramentas de ficheiro, terminais"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Desenvolvemento"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Bibliotecas de desenvolvemento de C e C++, programas e ficheiros include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentación"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libros e Howtos sobre Linux e o Software Libre"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Soporte para aplicacións de terceiros"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Cortalumes/Encamiñador"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasarela de Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Correo/Novas"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correo Postfix, servidor de novas Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de Directorio"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Servidor de Nomes de Dominio e Información de Rede"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de Compartimento de Impresoras e Ficheiros"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, servidor Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Bases de datos"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servidores de bases de datos PostgreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Correo-e"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correo Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servidores de bases de datos PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor de Redes de Ordenadores"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor Proxy, servidor ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente Gráfico"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Estación de Traballo KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"O Ambiente de Escritorio KDE, o ambiente gráfico básico cunha colección de "
+"ferramentas que o acompañan"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estación de Traballo GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un ambiente gráfico cun conxunto de aplicacións amigables e ferramentas de "
+"escritorio"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Escritorio IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros Escritorios Gráficos"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuración Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Monitorización/Utilidades de Rede"
+
+#: share/meta-task/compssUsers.pl:196
+#, fuzzy, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Ferramentas de monitorización, accounting de procesos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Asistentes de Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Asistentes para configurar o servidor"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ocorreu un erro, e o programa non sabe como manexalo de\n"
+"maneira limpa. Continúe baixo a súa propia responsabilidade."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Algúns paquetes importantes non se instalaron correctamente.\n"
+"A unidade de cdrom ou o cdrom están defectuosos.\n"
+"Comprobe o cdrom nun ordenador xa instalado usando\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Chegando ó paso '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalación de Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"O seu sistema ten poucos recursos. Pode que teña algún problema\n"
+"ó instalar Mandriva Linux. Se iso acontece, pode intenta-la instalación\n"
+"en modo texto. Para iso, prema 'F1' cando arrinque dende o CDROM,\n"
+"e escriba 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selección de Grupos de Paquetes"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selección individual de paquetes"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamaño total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Paquete erróneo"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versión: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Tamaño: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importancia: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Non pode seleccionar/deseleccionar este paquete"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "debido a que falta %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "debido a %s non satisfeitas"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, fuzzy, c-format
+msgid "in order to keep %s"
+msgstr "para manter %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Non pode seleccionar este paquete xa que non hai espacio dabondo para "
+"instalalo"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Vanse instala-los seguintes paquetes"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Vanse elimina-los seguintes paquetes"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Este é un paquete obrigatorio, non se pode deseleccionar"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Non pode deseleccionar este paquete. Xa está instalado"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Non pode deseleccionar este paquete. Ten que ser actualizado"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Amosa-los paquetes seleccionados automáticamente"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Cargar/Gardar a selección"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizando a selección de paquetes"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalación mínima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Xestión do Software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolla os paquetes que desexa instalar"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sen detalles"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempo restante "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimando"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paquete"
+msgstr[1] "%d paquetes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Resumo"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "non configurado"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Atopáronse os seguintes soportes de instalación.\n"
+"Se desexa saltar algún deles, pode deseleccionalo agora."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Ten a opción de copiar os contidos dos CDs ó disco duro antes da "
+"instalación.\n"
+"Esta continuará despois dende o disco duro e os paquetes permanecerán "
+"dispoñibles unha vez que o sistema xa estea instalado."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar CDs enteiros"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu un erro"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Escolla a disposición do seu teclado."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Esta é a lista completa dos teclados dispoñibles"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Actualizar"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "¿É unha instalación ou unha actualización?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clave de cifrado para %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Configurando IDE"
+
+#: steps_interactive.pm:221
+#, fuzzy, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Non hai espacio libre para 1MB de bootstrap! A instalación ha continuar, "
+"pero para arrincar o seu sistema, cómpre crear a partición bootstrap en "
+"DiskDrake."
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Cómpre crear a PPC PReP Boot bootstrap ! A "
+"instalación vai continuar, pero para arrincar o sistema, terá que a "
+"partición bootstrap con DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Cambie o CD-ROM!\n"
+"Insira o CD-ROM que teña a etiqueta \"%s\" na unidade e prema Aceptar.\n"
+"Se non o ten, prema Cancelar para omiti-la instalación deste CD-ROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Buscando os paquetes dispoñibles..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Elixa cargar ou gardar a selección de paquetes.\n"
+"O formato é o mesmo dos ficheiros xerados por auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Cargar"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Gardar"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ficheiro erróneo"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamaño seleccionado é maior có tamaño dispoñible"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalación"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Non seleccionou ningún grupo de paquetes.\n"
+"Seleccione a instalación mínima que desexa:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Ca documentación básica (¡recomendado!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Todas"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando a instalación"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Houbo un erro ó ordena-los paquetes:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "¿Continuar de tódolos xeitos?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Volver tentar"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Garda-la selección de paquetes"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Houbo un erro ó instala-los paquetes:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuración trala instalación"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Actualizacións"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Agora pode descargar paquetes actualizados. Estes paquetes\n"
+"actualizáronse despois de que saira a distribución. Poden conter\n"
+"solucións de erros ou de buratos na seguridade.\n"
+"\n"
+"Para descargar estes paquetes, cómpre ter unha conexión á Internet\n"
+"que funcione.\n"
+"\n"
+"Desexa instala-las actualizacións?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Contactando co sitio espello para obte-la lista dos paquetes dispoñibles..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Non se puido contactar co sitio espello %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Tarxeta de son"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Ten unha tarxeta de son ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Execute \"alsaconf\" ou \"sndconfig\" despois da instalación para configura-"
+"la tarxeta de son"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Non se detectou ningunha tarxeta de son. Execute \"harddrake\" trala "
+"instalación"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Tarxeta de TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface Gráfica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxys"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de Seguridade"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Cortalumes"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "desactivado"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Arrinque"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s en %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Non configurou as X. Está seguro de que desexa isto?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Preparando o cargador de arrinque..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Semella ser que ten unha máquina Descoñecida ou de Tempos Prehistóricos, e o "
+"cargador de arrinque yaboot non ha funcionar nela. A instalación vai "
+"continuar, pero ha ter que usar BootX ou algún outro recurso para arrincar a "
+"máquina. O argumento do kernel para o sistema de ficheiros raíz é: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Desexa usar aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Erro ó instalar aboot, \n"
+"desexa probar a forza-la instalación mesmo se iso destrúe a primeira "
+"partición?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Con este nivel de seguridade, o acceso ós ficheiros da partición Windows "
+"está restrinxido ó administrador."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira un disquete baleiro na unidade %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creando un disquete de instalación automática..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Non se completaron algúns dos pasos.\n"
+"\n"
+"Desexa saír agora?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Noraboa"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Xerar un disquete de instalación automática"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"A instalación automática pode estar moi automatizada\n"
+"se así se desexa, nese caso tomará o control do disco\n"
+"duro (isto está pensado para a instalación noutro equipo).\n"
+"\n"
+"Pode preferir reproducir outra vez a instalación.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Reproducir"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizada"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Garda-la selección de paquetes"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Lingua"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenza"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Rato"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detección de discos duros"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Clase de instalación"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguridade"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Facendo as particións"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Escollendo os paquetes"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalando"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autenticación"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuarios"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rede"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Cargador de Arrinque"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configura-las X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Resumo"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicios"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizacións"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paquete, %d MB)"
+#~ msgstr[1] "(%d paquetes, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paquetes"
+
+#~ msgid "Language"
+#~ msgstr "Lingua"
+
+#~ msgid "License"
+#~ msgstr "Licenza"
+
+#~ msgid "Installation class"
+#~ msgstr "Clase de instalación"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Estimando"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Escollendo os paquetes"
+
+#~ msgid "Users"
+#~ msgstr "Usuarios"
+
+#~ msgid "Networking"
+#~ msgstr "Rede"
+
+#~ msgid "Configure X"
+#~ msgstr "Configura-las X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Non se puido acceder ós módulos do kernel correspondentes ó seu kernel "
+#~ "(falta o ficheiro %s), isto xeralmente significa que o seu disquete de "
+#~ "arrinque non está sincronizado co soporte de Instalación (cree un novo "
+#~ "disquete de arrinque)"
diff --git a/perl-install/install/share/po/he.po b/perl-install/install/share/po/he.po
new file mode 100644
index 000000000..c10caee8f
--- /dev/null
+++ b/perl-install/install/share/po/he.po
@@ -0,0 +1,1612 @@
+# translation of he.po to Hebrew
+# Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+# This file is distributed under the GNU GPL license.
+#
+#
+# Ram Matityahu <linuxfun@email.com>, 2003.
+# nadav mavor <nadav@mavor.com>, 2003.
+# el-cuco <cuco3001@yahoo.com>, 2003.
+# Diego Iastrubni <iastrubn@actcom.co.il>, 2003.
+# dovix <dovix2003@yahoo.com>, 2004, 2005.
+# Itay Flikier <itayff@gmail.com>, 2005.
+# Dotan Kamber <kamberd@yahoo.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: he\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-30 02:29+0200\n"
+"Last-Translator: Dotan Kamber <kamberd@yahoo.com>\n"
+"Language-Team: Hebrew\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "האם יש לך תקליטורי התקנה נוספים?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"המקורות הבאים נמצאו ויעשה בהם שימוש במהלך ההתקנה: %s.\n"
+"\n"
+"\n"
+"האם יש לך מקורות נוספים להתקנה שברצונך להגדיר?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "תקליטור"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "רשת (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "רשת (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "רשת (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "כתובת URL של אתר המראה?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "על הכתובת להתחיל ב-//:ftp או ב-//:http"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "מתחבר לאתר מנדריבה לינוקס בכדי לקבל רשימה של אתרי מראה זמינים..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "כשל בחיבור לאתר מנדריבה לינוקס בכדי לקבל רשימה של אתרי מראה זמינים"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "עליך לבחור את אתר המראה ממנו יורדו החבילות"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "הגדרת NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "נא להזין את שם המארח ואת התיקיה בה נמצא מקור ה-NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "שם המארח חסר"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "על התיקיה להתחיל ב=\"/\""
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "שם המארח של עיגון ה-NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "ספרייה"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Supplementary"
+msgstr "תוספים"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"אין באפשרותי למצוא קובץ המכיל רשימת חבילות במקור זה. עלייך לוודא שהכתובת "
+"תקינה."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "מחפש חבילות שכבר מותקנות..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "מסיר חבילות לפני השדרוג..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "מאתר חבילות שיש לשדרג..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"בחירת החבילות כוללת את השרת(ים) הבא(ים): %s\n"
+"\n"
+"\n"
+"שרתים אלו יופעלו כברירת מחדל. יתכן שאין כרגע בעיות אבטחה ידועות,\n"
+" אך בעיות חדשות עלולות להתגלות מדי פעם. אנו ממליצים על שדרוג תקופתי\n"
+"של תוכנות אלו כדי להגן על המערכת.\n"
+"\n"
+"\n"
+"האם ברצונך להתקין שרתים אלו בשלב זה?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"החבילות הבאות יוסרו כדי לאפשר את עדכון המערכת: %s\n"
+"\n"
+"\n"
+"האם באמת ברצונך להסיר חבילות אלה?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "שמות הכוננ(ים) הבאים שונו:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (השם הקודם הוא %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "רשת"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "עליך לבחור מקור"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "הקובץ כבר קיים. לשכתב?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "הגישה נדחתה"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "שם NFS לא-תקין"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "המקור %s אינו תקין"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "אין אפשרות לשמור תמונות מסך לפני חלוקה למחיצות"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ניתן למצוא את תמונות המסך אחרי התקנה ב%s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "התקנה"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "הגדרות"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "חובה עליך לפרמט גם את %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"חלק מהחומרה במחשב שלך צריכה מנהלי התקן \"לא חופשיים\" כדי לפעול.\n"
+"אפשר למצוא מידע עליהם ב: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "מאתחל את שירותי הרשת"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "מוריד את שירותי הרשת"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "מוריד קובץ %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "מעתיק מספר חבילות על הכוננים לשימוש עתידי"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "מעתיק את התקליטור לכונן הקשיח"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "חייב להיות"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "חשוב"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "מומלץ מאוד"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "מומלץ"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "לא הכרחי"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "קו מוצרי 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "חומת האש Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "כיצד להרשם"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "שירותי מנדריבה המקוונים"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "ערכת נושא חדשה"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, fuzzy, c-format
+msgid "Kaspersky"
+msgstr "קספרסקי"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, fuzzy, c-format
+msgid "Skype"
+msgstr "סקייפ"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "תחנת עבודה"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "תחנת עבודה משרדית"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"תוכנות משרד: מעבדי תמלילים (כתבן אופן אופיס, Kword), גיליונות אלקטרונים "
+"(גיליון אופן אופיס, Kspread),מציגי pdf, ועוד"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"תוכנות משרד: מעבדי טקסט (kword, abiword), גיליונות אלקטרונים (kspread, "
+"gnumeric),מציגי pdf, ועוד"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "תחנת עבודה למשחקים"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "תוכנות לבידור: ארקייד, לוח, אסטרטגיה, ועוד"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "תחנת עבודה למולטימדיה"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "תוכנות להשמעה או עריכה של קול ווידאו"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "תחנת עבודה לאינטרנט"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"ערכת כלים לקריאה וכתיבת דוא\"ל וחדשות (pine, mutt, tin..) ולגלישה באינטרנט"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "מחשב רשת (לקוח)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "לקוחות לפרוטוקולים שונים כולל ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "כלי עזר לביצוע הגדרות המחשב שלך"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "כלי מסוף"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "עורכים, מעטפות, כלי קבצים, מסופים"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "פיתוח"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "ספריות פיתוח בC וC++, תוכנות וקבצי include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "מסמכים"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "ספרים ומדריכים לשימוש בלינוקס ותוכנה חופשית"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "תמיכה בתוכנות צד שלישי. Linux Standard Base"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "שרת איחסון אתרים"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "עבודה בקבוצה"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "שרת Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "חומת אש/נתב"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "הגנת המערכת בעת חיבור לאינטרנט"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "דואר/קבוצות דיון"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "שרת דואר Postfix, שרת קבוצות דיון Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "שרת ספרייה"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "שרת FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "שרת שמות מתחם ומידע רשת"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "שרת שיתוף קבצים ומדפסות"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "שרת NFS, שרת Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "מסדי נתונים"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "שרת מסד נתונים MySQL או PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "דואר"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "שרת דואר Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "שרת מסד נתונים MySQL או PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "שרת מחשב רשת"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "שרת NFS, שרת SMB, שרת Proxy, שרת ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "סביבה גרפית"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "סביבת העבודה KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "סביבת שולחן עבודה פופולרית וקלה לשימוש עם מגוון יישומים נלווים"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "סביבת העבודה GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "סביבת שולחן עבודה פופולרית וקלה לשימוש עם מגוון יישומים נלווים"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "שולחן עבודה IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "סביבות עבודה אחרות"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "סביבות עבודה קלילות כגון Window Maker, Enlightenment, Fvwm, ועוד"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "תוכנות שרות"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "שרת SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "שרת הגדרה תצורה מרחוק Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "כלי הגדרת וניטור רשת"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "כלי ניטור, בקרת תהליכים, tcpdump , nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "אשפי מנדריבה"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "אשפים להגדרת השרת שלך"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"חלה תקלה, אך איני יודע איך לפתור אותה.\n"
+"המשך הפעולה הינו באחריותך בלבד."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"מספר חבילות חשובות לא הותקנו כראוי.\n"
+"כנראה שיש בעיה בכונן התקליטורים או בתקליטור(י) ההתקנה. יש לבדוק\n"
+"את תקליטור(י) ההתקנה על מחשב מותקן בעזרת \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "נכנס לשלב `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "התקנת מנדריבה לינוקס %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> בין רכיבים"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"המערכת שלך בעלת משאבים נמוכים. במהלךהתקנת מנדריבה לינוקס עלולות להופיע\n"
+"בעיות. במקרה שכזה, ניתן להתקין בעזרת ממשק טקסטואלי. להתקנה טקסטואלית יש \n"
+"ללחוץ על מקש F1 כאשר מאתחלים מהתקליטור ולהכניס 'text' בשורת הפקודה."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "בחירת קבוצת חבילות לפי נושא"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "בחירת חבילות באופן פרטני"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "גודל כללי: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "חבילה פגומה"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "גרסה: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "גודל: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "חשיבות: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "אי אפשר לבחור/לבטל את החבילה הזו"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "בגלל שחסר %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "עקב תלות שלא מולאה %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "מנסה לקדם %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "בכדי לשמור %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "אי אפשר לבחור בחבילה זו מכיוון שלא נותר מספיק מקום פנוי להתקינה"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "החבילות הבאות עומדות להיות מותקנות"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "החבילות הבאות עומדות להיות מוסרות"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "זוהי חבילה בסיסית, אי אפשר לבטל את בחירתה"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "אין אפשרות לבטל חבילה זו מכיוון שהיא כבר מותקנת"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "לא ניתן לבטל את בחירת חבילה זו, חובה לשדרג אותה"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "הראה חבילות שנבחרו באופן אוטומטי"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "התקנה"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "טעינת/שמירת אזור נבחר"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "עדכון בחירת חבילות"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "התקנה מינימלית"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "תוכנות"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "עליך לבחור את החבילות שברצונך להתקין:"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "מתקין"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "ללא פרטים"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "זמן נותר "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "נותרו"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d חבילות"
+msgstr[1] "%d חבילות"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "סיכום ובדיקת הגדרות"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "הגדרות"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "לא מוגדר"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"מקורות התוכנה הבאים זמינים להתקנה.\n"
+"באפשרותך לדלג על חלק מהמקורות על ידי ביטול הסימונים המתאימים."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"ניתן להעתיק את תכולת התקליטורים לכונן הקשיח לפני תחילת ההתקנה.\n"
+"אם אפשרות זו מופעלת, ההתקנה תמשיך מהכונן הקשיח, וכל החבילות מתקליטורי ההתקנה "
+"יהיו זמינות אחרי סיום ההתקנה מהכונן הקשיח."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "העתקת תקליטורים שלמים"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "חלה שגיאה"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "בשלב זה עליך להגדיר את פריסת המקלדת שלך:"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "להלן הרשימה המלאה של המדפסות הזמינות"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "התקנה/עדכון"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "האם זו התקנה או שידרוג?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "שידרוג %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "מפתח הצפנה עבור %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "מגדיר IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"לא נמצא מקום פנוי עבור bootstrap בגודל 1MB! ההתקנה תמשיך, אבל בכדי לאתחל את "
+"המערכת שלך, יהיה עליך ליצור מחיצת bootstrap באופן ידני בעזרת DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"עליך ליצור PPC PReP Boot bootstrap! ההתקנה תמשיך, אבל בכדי לאתחל את המערכת "
+"יהיה עליך ליצור מחיצת bootstrap באופן ידני בעזרת DiskDrak "
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"יש להחליף תקליטור!\n"
+"\n"
+"עליך להכניס את התקליטור \"%s\" לכונן\n"
+"ולאחר מכן ללחוץ על כפתור \"אישור\". אם תקליטור זה אינו ברשותך,\n"
+"עליך ללחוץ על כפתור \"ביטול\" בכדי לדלג על התקנת חבילות אלו."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "מחפש חבילות זמינות..."
+
+#: steps_interactive.pm:349
+#, fuzzy, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr "למערכת שלך לא נותר די מקום להתקנה או שדרוג (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"עליך לבחור באם לטעון או לשמור את בחירת החבילות.\n"
+"מבנה הקובץ זהה לקובץ auto_install הנוצר באופן אוטומטי."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "הספק"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "שמור"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "קובץ לא-תקין"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "הגודל הנבחר גדול יותר מהמקום הזמין"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "סוג ההתקנה"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"לא נבחרה אף קבוצה של חבילות.\n"
+"נא לבחור את ההתקנה המינימלית שברצונך לבצע:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "עם סביבה גרפית (X)"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "עם מסמכים בסיסיים (מומלץ!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "התקנה מינימלית אמיתית (בייחוד לא urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "הכל"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "מכין את ההתקנה"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "מתקין חבילה %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "התרחשה שגיאה בסידור חבילות:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "האם להמשיך בכל מקרה?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "ניסיון נוסף"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "דלג על חבילה זו"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "דלג על כל החבילות ממקור \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "חזרה לבחירת מקורות וחבילות"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "חלה שגיאה בהתקנת החבילה %s"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "מבצע הגדרות לאחר-התקנה"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "נא לודא שהמקור לעידכונים בכונן %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "עדכונים"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"שלב זה מאפשר לך להוריד ולהתקין חבילות עדכון. חבילות אלה עודכנו לאחר שחרור "
+"ההפצה,\n"
+"ועשויות להכיל עדכוני אבטחה ו/או עדכוני תוכנה חשובים.\n"
+"\n"
+"להורדת חבילות אלה נדרש חיבור אינטרנט עובד. האם ברצונך לעדכן את המערכת בשלב "
+"זה ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "מתחבר לאתר המראה כדי לקבל את רשימת החבילות הזמינות..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "לא יכול להתחבר לאתר המראה %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "חומרה"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "כרטיס קול"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "האם יש לך כרטיס קול ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"עליך להריץ את \"alsaconf\" או \"sndconfig\" אחרי ההתקנה בכדי להגדיר את כרטיס "
+"הקול שלך"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "לא זוהו כרטיסי קול. יש לנסות את האשף \"harddrake\" לאחר ההתקנה"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "כרטיס טלוויזיה"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "ממשק גרפי"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "רשת ואינטרנט"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "שרתים מתווכים"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "מוגדר"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "סף האבטחה המבוקש:"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "חומת אש"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "פועל"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "מנותק"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "אתחול"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s על %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "לא הוגדר ממשק גרפי (X). האם אכן ברצונך לבחור אפשרות זו?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "מכין את מנהל האתחול..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"נראה כי יש לך מכונת OldWorld או מכונה לא מזוהה, טוען המערכת yaboot לא יעבוד "
+"במקרה זה. ההתקנה תמשך אבל יהיה עליך להשתמש ב-BootX או באמצעי אחר לאתחול "
+"המערכת. משנה גלעין המערכת למערכת קבצי השורש הוא: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "האם ברצונך להשתמש בaboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"שגיאה בהתקנת aboot,\n"
+"האם לנסות לאלץ את ההתקנה אפילו אם המחיצה הראשונה עלולה להיהרס?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "ברמת אבטחה זו, גישה לקבצים במחיצת החלונות תתאפשר רק למנהל המערכת."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "נא להכניס תקליטון ריק לכונן %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "יוצר תקליטון הפעלה אוטומטית..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"חלק מהשלבים לא הושלמו.\n"
+"\n"
+"האם באמת ברצונך לצאת עכשיו?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "ברכותינו!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "הפעלה מחדש"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "בניית תקליטון הפעלה אוטומטית"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"יש באפשרותך לבצע התקנות חוזרות באופן אוטומטי לחלוטין.\n"
+"במקרה זה יימחק כל תוכן הכונן הקשיח!!\n"
+"תכונה זו שימושית להתקנת המערכת על מספר רב של מחשבים.\n"
+"\n"
+"באם אינך רוצה במחיקת כל תוכן הכונן הקשיח יש לבחור במנגנון שחזור ההתקנה.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "שחזור התקנה"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "אוטומטי"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "שמירת בחירת החבילות"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "בחירת שפה"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "הסכם משתמש"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "עכבר"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "זיהוי כונן קשיח"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "סוג התקנה"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "מקלדת"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "הגדרות אבטחה"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "חלוקה למחיצות"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "מאתחל"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "בחירת חבילות"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "מתקין"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "אימות"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "משתמשים"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "עבודה ברשת"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "מנהל אתחול"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "הגדרת X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "סיכום ובדיקת הגדרות"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "שרותים"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "עדכונים"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "יציאה"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d חבילות"
+#~ msgstr[1] "%d חבילות"
+
+#~ msgid "%d packages"
+#~ msgstr "%d חבילות"
+
+#~ msgid "Language"
+#~ msgstr "בחירת שפה"
+
+#~ msgid "License"
+#~ msgstr "הסכם משתמש"
+
+#~ msgid "Installation class"
+#~ msgstr "סוג התקנה"
+
+#~ msgid "Formatting"
+#~ msgstr "מאתחל"
+
+#~ msgid "Choosing packages"
+#~ msgstr "בחירת חבילות"
+
+#~ msgid "Users"
+#~ msgstr "משתמשים"
+
+#~ msgid "Networking"
+#~ msgstr "עבודה ברשת"
+
+#~ msgid "Configure X"
+#~ msgstr "הגדרת X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "אין באפשרותי למצוא את מודולי הקרנל המתאימים לקרנל שלך (הקובץ %s חסר). "
+#~ "הסיבה לכך נובעת בדרך כלל מתקליטון אתחול שאינו מותאם למדיית ההתקנה (עליך "
+#~ "ליצור תקליטון אתחול חדש)"
diff --git a/perl-install/install/share/po/hi.po b/perl-install/install/share/po/hi.po
new file mode 100644
index 000000000..f1252e2db
--- /dev/null
+++ b/perl-install/install/share/po/hi.po
@@ -0,0 +1,1609 @@
+# translation of DrakX-hi.po to हिन्दी, भारत (Hindi, India)
+# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>, 2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-hi\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-04-04 21:54+0530\n"
+"Last-Translator: धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>\n"
+"Language-Team: हिन्दी (Hindi) <dysxhi@yahoo.co.in>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "कया आपके पास एक और है ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "सीडी-रॉम"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "%s नेटवर्क"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "%s नेटवर्क"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"उपलब्ध मिररों की सूची को प्राप्त करने के लिए मैनड्रिव लिनक्स वेब-स्थल से सम्पर्क किया जा "
+"रहा है..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"उपलब्ध मिररों की सूची को प्राप्त करने के लिए मैनड्रिव लिनक्स वेब-स्थल से सम्पर्क किया जा "
+"रहा है..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "एक मिरर का चयन करें जहाँ से पैकेजों को प्राप्त करना है"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "डिरेक्ट्री"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "%s को %s पर नहीं पाया जा सका"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "पहिले से संसाधित पैकेजों को देखा जा रहा है..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "उन्नयन के लिये पैकेजों को खोजा जा रहा है..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"आपने निम्नलिखित सर्वर(सर्वरो) का चयन किया है: %s\n"
+"\n"
+"\n"
+"इन सर्वरों को डिफ़ाल्ट के तौर पर सक्रिय किया जाता है । इनमें कोई ज्ञात सुरक्षा-संबंधी खामी "
+"नहीं है,\n"
+"परन्तु कुछ नये दोष मिल सकते है । ऐसी अवस्था में, अति शीघ्र-से-शीघ्र\n"
+"जितना सम्भव हो, आप उनन्यन कर लें।\n"
+"\n"
+"\n"
+"क्या आप वास्तव में इन सर्वरों को संसाधित करना चाहते है?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"आपके तंत्र को अपग्रेड करने के लिए निम्नलिखित पैकेजों को हटाना होगा: %s\n"
+"\n"
+"\n"
+"क्या वास्तव में इन पैकेजों को हटाना चाहते है?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "निम्नलिखित पैकेजों का संसाधन करना आवश्यक है:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "एचटीटीपी"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "एफटीपी"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "एनएफ़एस"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "नेटवर्क"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "कृपया चयन करें"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "फाईल पहले से है पुन बनाएँ"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "अनुमति नहीं है"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "%s माध्यम को जोड़ा गया"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "विभाजनीकरण के पूर्व स्क्रीन-चित्र-माला को नहीं लिया जा सकता है"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "%s में संसाधन के उपरान्त स्क्रीन चित्र-माला उपलब्ध होगी"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "संसाधन हो रहा है"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "संरचना"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "आपको %s को भी एकसार करना चाहिए"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"आपके कम्प्यूटर पर स्थित कुछ हार्डवेयरों कार्य करने के लिए ``स्वामिक'' चालकों की आवश्यकता है "
+"।\n"
+"आप इनके बारे में कुछ सूचना उपरोक्त पर पा सकते है: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "नेटवर्क को लाया जा रहा है"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "नेटवर्क को लाया जा रहा है"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "संचिकायें प्रेषित की जा रही..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "खोज जारी है"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "होना चाहिए"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "महत्वपूर्ण"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "बहुत अच्छा"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "बहुत अच्छा"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "हो सकता है"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "ग्वेनव्यू"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "ड्रैक वीपीएन"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "कार्यकेंद्र"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "ऑफ़िस कार्यकेन्द्र"
+
+#: share/meta-task/compssUsers.pl:27
+#, fuzzy, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ऑफ़िस के कार्यक्रम: शब्दसंसाधक (केवर्ड, आबीवर्ड), स्प्रेडशीट (केस्प्रेड, जीन्यूमेरिक), पीडीएफ़ "
+"अवलोक्क, इत्यादि"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"ऑफ़िस के कार्यक्रम: शब्दसंसाधक (केवर्ड, आबीवर्ड), स्प्रेडशीट (केस्प्रेड, जीन्यूमेरिक), पीडीएफ़ "
+"अवलोक्क, इत्यादि"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "खेल स्टेशन"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "मनोरंजक कार्यक्रम: आरकेड, बोर्ड, व्यूह-रचना, इत्यादि "
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "मल्टीमीडीया केन्द्र"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "ध्वनि और वीडीयो के खेलने वाले/संपादन करने वाले कार्यक्रम"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "इन्टरनेट केन्द्र"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"विपत्र और समाचारों को पढ़ने और भेजने के लिए (मट, टिन...) और वेब को ब्राउज़ करने के लिए "
+"औज़ारों का समूह"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "नेटवर्क कम्प्यूटर (ग्राहक)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "एस०एस०एच० को शामिल करते हुए विभिन्न प्रोटोकॉलों के लिए ग्राहक"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "आपके कम्प्यूटर की संरचना कार्य को सहज बनाने हेतु अनेक औजार"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "कन्सोल के औज़ार"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "अनेकों संपादक, कोश, संचिका औजार, टर्मिनल"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "विकास"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "सी और सी++ विकास लेखागार, कार्यक्रम और इन्क्लूड संचिकायें"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "प्रलेखन"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "लिनक्स और मुक्त सॉफ़्टवेयर पर किताबें और कैसे-करेंअस्तकें"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "एल०एस०बी०"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "लिनक्स मानकीकरण आधार ! त्रितीय पक्ष कार्यक्रमों को समर्थन"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "वेब सर्वर"
+
+#: share/meta-task/compssUsers.pl:85
+#, fuzzy, c-format
+msgid "Apache"
+msgstr "रास्ता"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "ग्रुपवेयर"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "कोलाब सर्वर"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "अग्नि-भीतिका/रूटर"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "इन्टरनेट गेटवे"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/संचिका (F)/नवीन (_N)"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "पोस्टफ़िक्स विपत्र सर्वर"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "निर्देशिका जिससे पुनःस्थापन करना है"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "एन०टी०पी० सर्वर"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "डीएनएस"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "डोमेन नाम सर्वर"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "प्रिंटर सर्वर"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "सॉबा सर्वर"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "डाटाबेस"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "पोस्टग्रीसीक्यूअल या माईसीक्यूअल डाटाबेस सर्वर"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "वेब/एफ़०टी०पी०"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "आपाचे, प्रो-एफ़०टी०पी०डी०"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "विपत्र"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "पोस्टफ़िक्स विपत्र सर्वर"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "पोस्टग्रीसीक्यूअल या माईसीक्यूअल डाटाबेस सर्वर"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "नेटवर्क कम्प्यूटर सर्वर"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "एन०एफ़०एस० सर्वर, एस०एम०बी० सर्वर, प्रोक्सी सर्वर, एस०एस०एच० सर्वर"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "सचित्र वातावरण"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "केडीई कार्यकेन्द्र"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "के डेस्कटाप वातावरण, मूलभूत सचित्र वातावरणसंलग्न औजारों के एक समूह के साथ"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "गनोम कार्यकेन्द्र"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"एक सचित्र वातावरण, उपयोगकर्ता-मित्रवत कार्यक्रमों के समुच्चय और डेस्कटाप औजारों के साथ"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "डेस्कटाप"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "अन्य सचित्र डेस्कटाप"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "आईसीडब्लूएम, विण्डो मेकर, एनलाइटमेन्ट, एफ़वीडब्लूएम, इत्यादि"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "यूटिलिटीज़"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "एसएसएच सर्वर"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "वेबकैम"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "टर्मिनल सर्वर संरचना"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "नेटवर्क मॉनीट्रिंग"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>मैनड्रिव स्टोर</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "\"%s\" प्रिंटर की संरचना में असफ़ल !"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"एक त्रुटि उत्पन्न हो गयी है, परन्तु मुझे ज्ञात नहीं है कि इसे भली-भांति किस प्रकार से ठीक "
+"किया जायें ।\n"
+"अपने जोखिम पर जारी रहें । "
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"कुछ महत्वपूर्ण पैकेज भलीभांति संसाधित नहीं हो पायें । \n"
+"या तो आपकी सीडीरॉम-ड्राइव या फ़िर आपकी सीडीरॉम खराब है ।\n"
+"एक संसाधित कम्प्यूटर पर \"rpm -qpl media/main/*.rpm\" निर्देश का उपयोग करके, "
+"सीडीरॉम की जाँच करें।\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' चरण में प्रवेश \n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "मैनड्रिव लिनक्स संसाधन %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> इकाईयों के मध्य "
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"आपका सिस्टम साधनों के अभाव से ग्रसित है । मैनड्रिव लिनक्स को संसाधित करने में, \n"
+"आपको कुछ समस्या हो सकती है । यदि ऐसा होता है, तो आप इसके बजाय एक पाठ-संसाधनको करके "
+"देख सकते है, ऐसा करने के लिए, \n"
+"सीडीरॉम से बूट होने के समय `F1' को दबायें, और फ़िर `text' को इन्टर करें ।"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "पैकेज समूह चयन"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "अलग-अलग पैकेजों का चयन"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "कुल आकार: %d / %d एम०बी०"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "निकृष्ट पैकेज"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "संस्मरण: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "आकार:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d केबी\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "महत्ता: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "आप इस पैकज को चयनित/अचयनित नहीं कर सकते है"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s विलुप्त होने के कारण"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "असन्तुष्ट %s के कारण"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s को प्रोत्साहित करने का प्रयास"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s को रखने के लिए"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "आप इस पैकज का चयन नहीं कर सकते है क्योंकि और अधिक स्थान संसाधन के लिए नहीं बचा है"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "निम्नलिखित पैकजों का संसाधन होने जा रहा है"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "निम्नलिखित पैकेजों को हटाया जाने वाला है"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "यह एक अति आवश्यक पैकेज है, इसे अचयनित नहीं किया जा सकता है"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "आप इस पैकेज को अचयनित नहीं कर सकते है । इसे पहिले से ही संसाधित किया जा चुका है"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "इस पैकज को अचयनित नहीं करा जा सकता है । इसे उन्नयन किया जाना चाहिए"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "स्वतः चयनित पैकेजों को दिखायें"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "संसाधन"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "पैकेज चयन"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "चयनित पैकेजों का उन्नयन किया जा रहा है"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "निम्नतम संसाधन"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "सॉफ़्टवेयर प्रबंधक"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "उन पैकेजों का चयन करें जिन्हें आप संसाधित करना चाहते है"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "संसाधन हो रहा है"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "कोई विवरण नहीं"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "शेष समय"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "अनुमान लगाया जा रहा है"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d पैकेज"
+msgstr[1] "%d पैकेज"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "सारांश"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "संरचना"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "संरचित नहीं"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "एक त्रुटि हो गयी है"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "कृपया अपने की-बोर्ड खाका का चयन करें ।"
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "यह है उपलब्ध देशों की सम्पूर्ण सूची"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "संसाधन/उन्नयन"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "यह एक संसाधन या एक उन्नयन है?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "उन्नयन %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s के लिए गूढ़लिखित कुँजी"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "आई०डी०ई०"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "आईडीई की संरचना की जा रही है"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"१ एमबी बूटस्ट्रैप के लिए कोई मुक्त स्थान नहीं ! संसाधन जारी रहेगा, परन्तु आपके तंत्र को बूट "
+"करने के लिए, आपको डिस्कड्रैक से एक बूटस्ट्रैप विभाजन का निर्माण करना होगा "
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"१ एमबी बूटस्ट्रैप के लिए कोई मुक्त स्थान नहीं ! संसाधन जारी रहेगा, परन्तु आपके तंत्र को बूट "
+"करने के लिए, आपको डिस्कड्रैक से एक बूटस्ट्रैप विभाजन का निर्माण करना होगा "
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"अपनी सीडी-रॉम को परिवर्तित करें !\n"
+"\n"
+"कृपया \"%s\" लेबिल वाली सीडी-रॉम को अपनी ड्राइव में डालें और डालने के उपरान्त ठीक को "
+"दबायें ठीक को दबायें ।\n"
+"यदि आपके पास यह नहीं है, तो इस सीडी-रॉम से संसाधन ना करने के लिए निरस्त को दबायें ।"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "उपलब्ध पैकेजों को खोज़ा जा रहा है..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"कृपया चयन करें कि फ़्लापी पर पैकेजों को अधिभारण या सुरक्षित किया जायें ।\n"
+"इसका प्रारूप स्वतः_संसाधन के लिए निर्मित फ़्लापियों की भांति होता है ।"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "लोड"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "सुरक्षित"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "फ़ाइल लोड करें"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "चयनित आकार उपलब्ध स्थान से ज्यादा है"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "संसाधन का प्रकार"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"आपने पैकेजों के किसी भी समूह का चयन नहीं किया है ।\n"
+"कृपया कम-से-कम जितना आप चाहते है उतने संसाधन का चयन करें:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "एक्स के साथ"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "आधार-भूत प्रलेखन के साथ (संस्तुति की जाती है !)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "वास्तविक निम्नत्तम संसाधन (विशेषकर कोई यू०आर०पी०एम०आई० नहीं)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "सभी"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "संसाधन का निर्माण किया जा रहा है"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s पैकेज का संसाधन हो रहा है"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "पैकेजों के आदेश देने में एक त्रुटि हो गयी है:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "कुछ भी हो जारी रहा जायें?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "पैकेजों के चयन को सुरक्षित करें"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "पैकेजों के संसाधन में एक त्रुटि हो गयी है:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "संसाधन-उपरान्त संरचना"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "उन्नयन"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"आपको अब अपडेट किये हुए पैकेजों को डॉउनलोड करने का अवसर है । इन पैकेजों को\n"
+"इस वितरण के विमोचन के उपरान्त अपडेट किया गया है । इनमें सुरक्षा या\n"
+"दोष-निवारण पैबंद हो सकते है । \n"
+"\n"
+"इन पैकेजों को डॉउनलोड करने हेतु, आपको एक कार्यशील इन्टरनेट संबंध की \n"
+"आवश्यकता होगी।\n"
+"\n"
+"क्या आप इन अपडेटों को संसाधित करना चाहते है ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "उपलब्ध पैकेजों की सूची प्राप्त करने के लिए मिरर से सम्पर्क स्थापित किया जा रहा है..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "%s मिरर प्रणाली से संबंध स्थापित करने में असमर्थ"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "हार्डवेयर"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "सांउड कार्ड"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "क्या आपके पास एक आई०एस०ऐ० सांउड कार्ड है?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "संसाधन के उपरान्त \"sndconfig\" को अपने साउण्ड कार्ड को संरचित करने के लिए चलायें"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"कोई साउण्ड कार्ड नहीं खोजा जा सका । संसाधन के उपरान्त \"harddrake\" को उपयोग करके देखें"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "टीवी कार्ड"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "सचित्र इन्टरफ़ेस"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "नेटवर्क और इन्टरनेट"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "प्रोक्सियां"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "संरचित"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "सुरक्षा स्तर"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "अग्नि-भीतिका"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "सक्रिय है"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "निष्क्रिय"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "बूट"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s पर %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "आपने एक्स को संरचित नहीं किया है । क्या आप वास्तव में ऐसा चाहते है?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "बूटलोडर को तैयार किया जा रहा है..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"आपके पास लगता है कि एक प्राचीन जगत की या अज्ञात मशीन है,\n"
+"याबूट बूटलोडर आपके लिए कार्य नहीं करेगा ।\n"
+"संसाधन जारी रहेगा, परन्तु आपको अपनी मशीन को बूट करने के लिए, \n"
+"बूट-एक्स या किसी अन्य साधन की आवश्यकता होगी"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "क्या आप ऐबूट का का उपयोग करना चाहते है?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"एक बूट को संसाधित करने में त्रुटि, \n"
+"संसाधन को बलपूर्वक करने का प्रयास करे, चाहे कि प्रथम विभाजन नष्ट हो जायें?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "इस सुरक्षा स्तर में, विण्डो विभाजन में संचिकाओं तक पहुँच सिर्फ़ प्रबंधक को हीप्राप्त है।"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s में एक खाली फ़्लापी डालें"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "स्वतः संसाधन फ़्लापी का निर्माण किया जा रहा है..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"कुछ चरण सम्पूर्ण नहीं हुए है । \n"
+"\n"
+"क्या आप वास्तव में बाहर निकलना चाहते है?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "बधाई हो"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "रीबूट"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "स्वतः संसाधान फ़्लापी का निर्माण किया जा रहा है"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"यदि आवश्यकता हो तो स्वतः संसाधन को पूर्णतया स्वचालित बनाया जा सकता है,\n"
+"ऐसी अवस्था में यह हार्ड ड्राइव पर पूर्ण अधिकार कर लेगा !!\n"
+"(यह समान संसाधन को अन्य मशीन पर संसाधित करने के लिए होता है)।\n"
+"\n"
+"आप हो सकता है कि संसाधन को रीप्ले करन चाहते हो।\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "पुनः चलाना"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "स्वचालित"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "पैकेजों के चयन को सुरक्षित करें"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "भाषा"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "प्रमाण-पत्र"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "माउस"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "हार्ड ड्राइव खोज"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "की-बोर्ड"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "सुरक्षा"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "विभाजनीकरण"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "संसाधन हो रहा है"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "प्रमाणीकरण"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "उपयोगकर्ताओ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "नेटवर्किंग"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "बूटलोडर"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "एक्स को संरचित करें"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "सारांश"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "सेवायें"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "उन्नयन"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "निकास"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d पैकेज"
+#~ msgstr[1] "%d पैकेज"
+
+#~ msgid "%d packages"
+#~ msgstr "%d पैकेज"
+
+#~ msgid "Language"
+#~ msgstr "भाषा"
+
+#~ msgid "License"
+#~ msgstr "प्रमाण-पत्र"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "संसाधन प्रकार का चयन करें"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "अनुमान लगाया जा रहा है"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "संसाधन करने हेतु पैकेजों का चयन करें"
+
+#~ msgid "Users"
+#~ msgstr "उपयोगकर्ताओ"
+
+#~ msgid "Networking"
+#~ msgstr "नेटवर्किंग"
+
+#~ msgid "Configure X"
+#~ msgstr "एक्स को संरचित करें"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "आपके कर्नल के अनुरूप कर्नल मॉडयूलो तक नहीं पहुँचा जा सकता है ( %s संचिका विलुप्त है),"
+#~ "इसका सामान्यता अर्थ है कि आपकी बूट फ़्लापी संसाधन माध्यम के साथ ताल-बद्व नहीं है(कृपया "
+#~ "एक और नयी बूट फ़्लापी का निर्माण करें)"
diff --git a/perl-install/install/share/po/hr.po b/perl-install/install/share/po/hr.po
new file mode 100644
index 000000000..30a704ce5
--- /dev/null
+++ b/perl-install/install/share/po/hr.po
@@ -0,0 +1,1612 @@
+# Translation of DrakX to Croatian
+# Copyright (C) Croatian team
+# Translators: Danijel Studen <dstuden@vuka.hr>,Denis Lackovic <delacko@fly.srk.fer.hr>,Jerko Škifić <skific@riteh.hr>,Ljubomir Božić <ljubo108@vip.hr>,Nikola Planinac <>,Robert Vuković <robi@surfer.hr>,Sasa Poznanovic <sasa.poznanovic@vuka.hr>,Vedran Vyroubal <vedran.vyroubal@inet.hr>,Vinko Prelac <vinko@buka.hr>,Vlatko Kosturjak <kost@linux.hr>,Zoran Jankovic <zoran.jankovic@inet.hr>,
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-01-04 21:25+CET\n"
+"Last-Translator: auto\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: TransDict server\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Da li imate još koji?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Mreža"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktiram Mandriva Linux web site za dobivanje popisa raspoloživih mirrora"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Kontaktiram Mandriva Linux web site za dobivanje popisa raspoloživih mirrora"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izaberite mirror sa kojeg želite skinuti pakete"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktorij"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ne mogu otvoriti %s: %s\n"
+
+#: any.pm:376
+#, fuzzy, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ne možete odznačiti ovaj paket budući da je već instaliran"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Tražim pakete koje mogu nadograditi"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, fuzzy, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Izabrali ste slijedeće poslužitelje: %s\n"
+"\n"
+"\n"
+"Ti poslužitelji biti će postavljeno aktivirani. Oni nemaju poznatih "
+"sigurnosnih\n"
+"propusta, ali neki novi mogu biti pronađeni. U tom slučaju, morate ga "
+"nadograditi\n"
+"što prije moguće.\n"
+"\n"
+"\n"
+"Da li zaista želite instalirati te poslužitelje?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Slijedeći paketi će biti instalirani"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "FS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Molim odaberite"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka već postoji. Da li da nju upotrijebim?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Pristup odbijen"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "dodan medij %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ne mogu napraviti screenshotove prije particioniranja"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Screenshotovi će biti raspoloživi poslije instalaciju u %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Instaliram"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Postavke"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Morate također formatirati %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Neki hardware na vašem računalu treba ``vlasničke'' upravljačke programe\n"
+"kako bi proradio. Možete naći više informaciju o tome na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Podižem mrežu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Onemogućujem mrežu"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Šaljem datoteke..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "detektiran na portu %s"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "potrebno"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "vrlo lijepo"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "lijepo"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Uredska radna stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Uredski programi: tekst procesori (OpenOffice.org Writer, Kword), tablični "
+"kalkulatori (OpenOffice.org Calc, Kspread), pdf preglednici, itd"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Uredski programi: tekst procesori (kword, abiword), tablični kalkulatori "
+"(kspread, gnumeric), pdf preglednici, itd"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Igračka radna stanica"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkade, ploče, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijska stanica"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Zvučni i video svirački/uređivački programi"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Pribor alata za čitanje i slanje mail-a i news-a (pine, mutt, tin..) i za "
+"pregled Web-a"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežno računalo (klijent)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti za razne protokole uključujući ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lako podešavanje vašeg računala"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolni Alati"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Uređivači, ljuske, datotečni alati, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Razvoj"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ razvojne biblioteke, programi i uključujuće datoteke"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige i Howto-i o Linux-u i slobodnom software-u"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Posljužitelj weba"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "NIS Poslužitelj"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Vatrozid/Ruter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Datoteka/_Nova"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail poslužitelj, Inn news poslužitelj"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Poslužitelj imenika"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "NTP Poslužitelj"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS "
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ime Domene i Mrežni Informacijki Poslužitelj (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Ispisni poslužitelj"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "NIS Poslužitelj"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Baza podataka"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ili MySQL poslužitelj baza"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache i Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix poslužitelj pošte"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ili MySQL poslužitelj baza"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni računalni poslužitelj"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS poslužitelj, SMB poslužitelj, Proxy poslužitelj, SSH poslužitelj"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafičko Okružje"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE radna stanica"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Radno Okružje, osnovno grafičko okružje sa kolekcijom pripadajućih alata"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome radna stanica"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafička okružja sa korisnički prijateljskim skupom aplikacija i alatima za "
+"radno okružje"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Radna površina"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Druga grafička radna okružja"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, itd"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Pomoćni programi"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "NIS Poslužitelj"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Servisi"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Prebaci postavke pisača"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Mrežne postavke"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Linux Kontrolni Centar"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Podešavam pisač \"%s\" ..."
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Dogodila se greška, ali neznam kako s njom lijepo rukovati.\n"
+"Nastavite dalje na vlastiti rizik."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Neki važni paketi nisu se instalirali pravilno.\n"
+"Ili je vaš cdrom pogon ili cd medij u defektu.\n"
+"Provjerite cdrom na instaliranom računalu koristeći \"rpm -qpl media/main/*."
+"rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Pokrećem korak `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux instalacija %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Vaš sustav je slab na resursima. Možete imati nekih problem prilikom\n"
+"instalacije Mandriva Linux-a. Ukoliko se to desi, možete probati tekstualnu\n"
+"instalaciju. Za to, pritisnite `F1' kada podižete CDROM, i unesite `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Odabir grupe paketa"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individualan odabir paketa"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veličina: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Loš paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Inačica: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Veličina: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "Veličina: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Značaj: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ne možete označiti/odznačiti ovaj paket"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "kdesu nedostaje"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog nezadovoljavajućeg %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "odabirem %s izabiranjem datoteka"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "kako bi se zadržalo %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ne možete označiti ovaj paket budući da nema dovoljno mjesta gdje ga se može "
+"instalirati"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Slijedeći paketi će biti instalirani"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Slijedeći paketi će biti uklonjeni"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Budući da je ovo obvezni paket ne možete ga odznačiti"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Ne možete odznačiti ovaj paket budući da je već instaliran"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ne možete odznačiti ovaj paket budući da ga treba nadograditi"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Prikaži automatski odabrane pakete"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instaliraj"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Premjesti označeno"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Dograđujem izbor paketa"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacija"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Upravitelj Softwareom"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Odaberite pakete koje želite instalirati"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Detalji"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Preostalo vrijeme"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Procjenjujem"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketa"
+msgstr[1] "%d paketa"
+msgstr[2] "%d paketa"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sažetak"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Podešavanje"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "ponovno postavi"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Pojavila se greška"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Molim, izaberite raspored tipkovnice."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ovdje je cijeli popis raspoloživih tipkovnica"
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Instaliraj/Nadogradi"
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Da li je ovo instalacija ili nadogradnja?"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Dogradnja"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Enkripcijski ključ"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Podešavam IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nema slobodnog mjesta za 1 MB bootstrap! Instalacija će nastaviti, ali za "
+"podizanje vašeg sustava, trebati ćete napraviti bootstrap particiju u "
+"DiskDrake-u"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Nema slobodnog mjesta za 1 MB bootstrap! Instalacija će nastaviti, ali za "
+"podizanje vašeg sustava, trebati ćete napraviti bootstrap particiju u "
+"DiskDrake-u"
+
+#: steps_interactive.pm:318
+#, fuzzy, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Promjenite vaš Cd-Rom!\n"
+"\n"
+"Ubacite Cd-Rom označen \"%s\" u vaš pogon i pritisnite U redu kada "
+"završite.\n"
+"Ukoliko ga nemate, pritisnite Odustani kako bi izbjegli instalaciju sa ovog "
+"Cd-Rom-a."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim dostupne pakete"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Molimo izaberite učitivanje ili spremanje izbora paketa na disketu.\n"
+"Format je isto kao auto_install napravljene diskete."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Učitaj"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Spremi"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Učitaj datoteku"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izabrana veličina je veća nego raspoloživ prostor"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tip instalacije"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Niste izabrali niti jednu grupu paketa\n"
+"Izaberite minimalnu instalaciju ako želite"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Sa X-ima"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporučeno!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno malena instalacija (posebice bez urpmia)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Sve"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Javila se greška prilikom sortiranja paketa:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Da ipak nastavim?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Spremi odabir paketa"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Pojavila se greška kod instalacije paketa:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Postava nakon instalacije"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Nadogradnje"
+
+#: steps_interactive.pm:639
+#, fuzzy, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Imate mogućnost skidanja (downloada) paketa za dogradnju koji su\n"
+"izašli poslije nego što je distribucija postala raspoloživa.\n"
+"\n"
+"Dobit ćete sigurnosne popravke i popravke od grešaka, ali za nastavak\n"
+"trebate imati podešenu Internet vezu.\n"
+"\n"
+"Da li želite instalirati dogradnju?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Spajam se na mirror kako bih pribavio popis dostupnih paketa"
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ne mogu napraviti fork: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Sklopovlje"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvučna kartica"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Da li imate ISA zvučnu karticu?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Pokrenite \"sndconfig\" poslije instalacije za podešavanje vaše zvučne "
+"kartice"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nije pronađena zvučna kartica. Probajte \"harddrake\" poslije instalacije"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kartica"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "X kod pokretanja sustava"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Profil: "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "ponovno postavi"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sigurnosna Razina"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Vatrozid"
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "Aktiviraj sada"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "onemogućeno"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Pokretani sustav"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pripremam bootloader"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Čini se da imate OldWorld ili Nepoznato\n"
+" računalo, yaboot bootloader neće moći raditi kod vas.\n"
+"Instalacija će nastaviti, ali ćete morati\n"
+" koristiti BootX da podignete vaše računalo"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Da li želite koristiti aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Greška prilikom instalacije aboot-a, \n"
+"probati nasilno instalirati iako to može uništiti prvu particiju?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Umetnite praznu disketu u pogon %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pravim auto instalacijsku disketu"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Niste završili sve korake.\n"
+"\n"
+"Želite li zaista završiti?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Čestitamo, pobijedili ste!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Ponovno pokretanje sustava"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Napravi auto instalacijsku disketu"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Auto instalacija može biti potpuno automatska ukoliko želite,\n"
+"u tom slučaju će preuzeti hard disk!!\n"
+"(ovo znači za instalaciju na drugo računalo).\n"
+"\n"
+"Možete preferirati da ponovite instalaciju.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ponovi"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatski"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Spremi odabir paketa"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Jezik"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenca"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Miš"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Otkrivanje hard diskova"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tipkovnica"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurnost"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particioniranje"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instaliram"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Provjera autentičnosti"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Korisnici"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Mreža"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Program za pokretanje sustava"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Podesi X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sažetak"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servisi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Nadogradnje"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izađi"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d paketa"
+#~ msgstr[1] "%d paketa"
+#~ msgstr[2] "%d paketa"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketa"
+
+#~ msgid "Language"
+#~ msgstr "Jezik"
+
+#~ msgid "License"
+#~ msgstr "Licenca"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Odaberite razred instalacije"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Procjenjujem"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Izabir instaliranih paketa"
+
+#~ msgid "Users"
+#~ msgstr "Korisnici"
+
+#~ msgid "Networking"
+#~ msgstr "Mreža"
+
+#~ msgid "Configure X"
+#~ msgstr "Podesi X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ne mogu pristupiti kernel modulima koji odgovaraju vašem kernelu "
+#~ "(datoteka %s nedostaje), ovo obično znači da vaša disketa za dizanje "
+#~ "sustava nije usklađena sainstalacijskim medijem (napravite noviju boot "
+#~ "disketu)"
diff --git a/perl-install/install/share/po/hu.po b/perl-install/install/share/po/hu.po
new file mode 100644
index 000000000..36ef5f7a5
--- /dev/null
+++ b/perl-install/install/share/po/hu.po
@@ -0,0 +1,1651 @@
+# translation of DrakX to Hungarian
+# Copyright (C) 2000-2001,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Emese Kovacs <emese@gnome.hu>, 2000-2001.
+# Arpad Biro <biro_arpad@yahoo.com>, 2000, 2003, 2004, 2005, 2006, 2007.
+# Tamas Szanto <tszanto@mol.hu>, 2001.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-hu\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-10 13:05+0100\n"
+"Last-Translator: Arpad Biro <biro_arpad@yahoo.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Van további kiegészítő adathordozója?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"A telepítő a következő adathordozókat találta - ezeket fogja használni a "
+"telepítéshez: %s.\n"
+"\n"
+"\n"
+"Van beállítandó kiegészítő telepítési adathordozója?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Hálózat (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Hálózat (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Hálózat (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "A tükörkiszolgáló címe?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Az URL-nek ftp:// vagy http:// előtaggal kell kezdődnie"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kapcsolódás a Mandriva Linux webkiszolgálójához; az elérhető "
+"tükörkiszolgálók listájának lekérdezése..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Nem sikerült lekérdezni az elérhető tükörkiszolgálók listáját a Mandriva "
+"Linux webkiszolgálójától"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Válasszon tükörkiszolgálót, ahonnan letölti a csomagokat"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-beállítás"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Adja meg az NFS-adathordozó gépnevét és könyvtárát"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Gépnév hiányzik"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "A könyvtárnak \"/\" jellel kell kezdődnie"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Az NFS-csatolás gépneve?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Könyvtár"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Kiegészítő"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "A tükörkiszolgálón nem található fejléclista"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "A már telepített csomagok vizsgálata..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Csomagok eltávolítása a frissítés előtt..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "A frissítendő csomagok keresése..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"A következő kiszolgálóprogramo(ka)t választotta ki: %s\n"
+"\n"
+"\n"
+"Ezek alapértelmezésben aktiválva lesznek. Nem tartozik hozzájuk ismert\n"
+"biztonsági probléma, de később ismertté válhatnak újak. Ha ez bekövetkezik,\n"
+"akkor frissítést kell végezni minél hamarabb.\n"
+"\n"
+"\n"
+"Biztosan telepíteni szeretné a kiszolgálóprogramo(ka)t?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"A rendszerfrissítés érdekében a következő csomagok el lesznek távolítva: %s\n"
+"\n"
+"\n"
+"Szeretné eltávolítani ezeket a csomagokat?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "A következő lemezek át lettek nevezve:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (korábbi név: %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Hálózat"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Válasszon egy adatforrást"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "A fájl már létezik. Felülírja?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Hozzáférés megtagadva"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Helytelen NFS-név"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "\"%s\": hibás adatforrás"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Partícionálás előtt nem készíthetők képernyőfelvételek"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "A képernyőfelvételek a telepítés után itt lesznek elérhetők: %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Telepítés"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Beállítás"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Meg kell formázni ezt is: %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"A gép bizonyos hardverelemei speciális meghajtóprogramot igényelnek.\n"
+"Ezekről itt található információ: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "A hálózatkezelés elindítása"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "A hálózatkezelés leállítása"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s fájl letöltése..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Bizonyos csomagok lemezre másolása későbbi használatra"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Másolás folyamatban"
+
+# The "Importance" ratings:
+# 5: "must have"
+# 4: "important"
+# 3: "very nice"
+# 2: "nice"
+# 1: "maybe"
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "nagyon fontos"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "fontos"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "erősen ajánlott"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ajánlott"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "opcionális"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007-es termékvonal"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus tűzfal"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery - telepítés nélküli mód"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "A regisztrálás módja"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online-szolgáltatások"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Új téma"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Munkaállomás"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Irodai munkaállomás"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Irodai programok: szövegszerkesztők (OpenOffice.org Writer, KWord), "
+"táblázatkezelők (OpenOffice.org Calc, KSpread), PDF-megjelenítők, ..."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Irodai programok: szövegszerkesztők (KWord, AbiWord), táblázatkezelők "
+"(KSpread, Gnumeric), PDF-nézegetők, ..."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Játékgép"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Játékprogramok: lövöldözős, táblás, stratégiai, ..."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimédiás munkaállomás"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Lejátszó- és szerkesztőprogramok hang- és videóanyagokhoz"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetes munkaállomás"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Eszközök levelezéshez, hírkezeléshez (mutt, tin, ...) és a web böngészéséhez"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Hálózati számítógép (kliens)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Kliensprogramok különféle protokollokhoz (például: ssh)"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Segédprogramok a számítógép beállításához"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Parancssori eszközök"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Szövegszerkesztők, parancsértelmezők, fájlkezelők, terminálprogramok"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Fejlesztés"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ fejlesztőkönyvtárak, programok és include-fájlok"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentáció"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Könyvek és HOGYAN-ok a Linuxról és a szabad szoftverekről"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Külső társaságok alkalmazásainak támogatása."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Csoportmunka-alkalmazás"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tűzfal/útválasztó (router)"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-átjáró"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Levelezés/hírek"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix email-kiszolgáló, Inn hírkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Címtárkiszolgáló"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS- és NIS-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fájl- és nyomtatómegosztási kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-kiszolgáló, Samba-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Adatbázis"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL és MySQL adatbázis-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Levelezés"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix email-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL vagy MySQL adatbázis-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Kiszolgáló hálózati számítógépekhez"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-, SMB-, proxy- és SSH-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafikus környezet"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-munkaállomás"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"A K Desktop Environment - az alapvető grafikus környezet - az ahhoz tartozó "
+"eszközökkel együtt"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-munkaállomás"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafikus környezet felhasználóbarát alkalmazásokkal és segédprogramokkal"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm-munkaasztal"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Más grafikus környezetek"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "WindowMaker, Enlightenment, Fvwm, ..."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Segédprogramok"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-kiszolgáló"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin kiszolgáló távoli beállításhoz"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Hálózati programok/hálózatfigyelés"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Figyelőeszközök, folyamatszámlázás, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva-varázslók"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Varázslók a kiszolgáló beállítására"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Hiba történt, de nem lett megfelelően lekezelve.\n"
+"Csak akkor lépjen tovább, ha biztos abban, hogy ez nem fog gondot okozni."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Néhány fontos csomag telepítése nem sikerült.\n"
+"Ez azt jelenti, hogy a CD-meghajtó vagy a CD hibás.\n"
+"A CD-t egy, már feltelepített gépen a következő\n"
+"parancs segítségével tesztelheti le:\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "A következő lépés: \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux-telepítés %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt+Tab> lépegetés"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"A rendszer gyenge erőforrásokkal rendelkezik. Előfordulhat, hogy problémái\n"
+"lesznek a Mandriva Linux telepítésével. Ha így történik, próbálkozzon\n"
+"szöveges módú telepítéssel: CD-ről való rendszerindítást követően nyomjon\n"
+"\"F1\"-et, majd írja be azt, hogy \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Csomag-csoportok kiválasztása"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Csomagok egyedi kiválasztása"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Összméret: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Hibás csomag"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verzió: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Méret: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Fontosság: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ez a csomag nem jelölhető ki illetve nem törölhető a kijelölése"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "\"%s\" hiánya miatt"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "\"%s\" igényei miatt"
+
+# Francois Pons:
+# This is a message saying that a package is removed (or unselected) because the
+# dependency resolution algorithm needed to remove (or unselect) it when it tried
+# to promote a provide (a package name or property) with a better version, but it
+# failed.
+# "promote": It is a term used to say promotion of a provides (promoting perl for
+# example, is trying to find the best package providing perl and select it).
+# "%s" stands for the property being promoted, generally a simple name.
+# This is not really a failure message but an informative message. It has nothing
+# to do with failure in the sense of the application unable to continue. Urpmi
+# continues by not selecting a package which was selected by a promotion (not
+# asked by the user directly but caused by a package which has been upgraded thus
+# breaking existing packages, the promotion concerns this).
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "a legalkalmasabb \"%s\" keresése"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "\"%s\" megtartása érdekében"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nem választhatja ki ezt a csomagot, mert nincs elég hely a merevlemezen."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "A telepítő a következő csomagokat fogja telepíteni:"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "A telepítő a következő csomagokat távolítja el:"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ez egy kötelező csomag, nem lehet megszüntetni a kijelölését"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Nem törölhető ennek a csomagnak a kijelölése, mert már telepítve van"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+"Nem törölheti ennek a csomagnak a kijelölését. Ez a csomag frissítendő."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatikusan kijelölt csomagok mutatása"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Telepítés"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Kijelölés betöltése/mentése"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "A csomagkiválasztás frissítése"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimális telepítés"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Szoftverkezelés"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Válassza ki a telepítendő csomagokat"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Telepítés"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Részletek nélkül"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Hátralevő idő "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Becslés..."
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d csomag"
+msgstr[1] "%d csomag"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Összefoglalás"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Beállítás"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nincs beállítva"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"A rendszer a következő telepítési adathordozókat találta.\n"
+"Ha szeretné kihagyni valamelyiket, távolítsa el annak kijelölését."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Lehetősége van arra, hogy a CD-k tartalmát lemásolja a merevlemezre a "
+"telepítés előtt.\n"
+"Ez esetben a telepítés a merevlemezről folytatódik, és annak végeztével a "
+"csomagok elérhetők maradnak."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Teljes CD-k másolása"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Hiba lépett fel"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Válasszon billentyűzetkiosztást."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Itt található az elérhető billentyűzetek listája"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Telepítés/frissítés"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Új telepítés vagy frissítés?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Frissítés: %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Titkosítási kulcs ehhez: %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE-beállítások"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nincs elég szabad hely az 1 MB-os betöltőprogramnak. A telepítés "
+"folytatható, de a rendszer indításához létre kell hozni egy rendszerindító "
+"partíciót a DiskDrake-kel."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Létre kell hozni egy PPC PReP rendszerindítót. A telepítés folytatódik, de a "
+"rendszer indításához létre kell hozni a rendszerindítási partíciót a "
+"DiskDrake-kel."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Cserélje ki a CD-t a meghajtóban.\n"
+"Tegye be a(z) \"%s\" feliratú lemezt, és nyomja meg az \"OK\" gombot.\n"
+"Ha nincs ilyen lemeze, akkor nyomja meg a \"Mégsem\" gombot, így erről a CD-"
+"ről nem történik telepítés."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "A rendelkezésre álló csomagok keresése..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"A rendszerben nincs elegendő szabad hely a telepítéshez illetve frissítéshez "
+"(%d MB > %d MB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Válasszon egy funkciót annak megfelelően, hogy betölteni kíván egy\n"
+"csomagkijelölést vagy a jelenlegi kijelölést szeretné elmenteni.\n"
+"A formátum ugyanaz, mint az automatikus telepítési fájloknál."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Terhelés"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Mentés"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Hibás fájl"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "A kijelölt összméret nagyobb, mint a rendelkezésre álló hely"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "A telepítés típusa"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Egyetlen csomagcsoportot sem jelölt ki.\n"
+"Válassza ki, milyen fajta minimális telepítést szeretne."
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X-szel együtt"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Alapvető dokumentációval (javasolt)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Valóban minimális telepítés (urpmi sincs)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Mind"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "A telepítés előkészítése"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s csomag telepítése"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Hiba történt a csomagok rendezésekor:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kívánja folytatni ettől függetlenül?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Újra"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Ezen csomag kihagyása"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "A(z) \"%s\" adathordozón levő összes csomag kihagyása"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Visszalépés az adathordozó- és csomagválasztáshoz"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Hiba történt a(z) %s csomag telepítésekor."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Telepítés utáni beállítások"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Tegye be a frissítési modulokat tartalmazó adathordozót a(z) \"%s\" "
+"meghajtóba"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Frissítések"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Lehetősége van arra, hogy letöltse a disztribúció kiadása után frissített\n"
+"csomagokat. Ez általában biztonsági javításokat és hibajavításokat jelent.\n"
+"\n"
+"A funkció használatához szükség van egy beállított internetkapcsolatra.\n"
+"\n"
+"Szeretné feltelepíteni a frissítéseket?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Kapcsolatfelvétel a tükörkiszolgálóval; az elérhető csomagok listájának "
+"letöltése..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nem sikerült kapcsolódni ehhez a tükörkiszolgálóhoz: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardver"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Hangkártya"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Van ISA hangkártyája?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"A hangkártya beállításához futtassa az \"alsaconf\" vagy az \"sndconfig\" "
+"programot a telepítés után."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"A telepítő nem talált hangkártyát. Futtassa a \"harddrake\" programot a "
+"telepítés után."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Tévékártya"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafikus felület"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Hálózat és internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxyk"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "beállítva"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Biztonsági szint"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Tűzfal"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiválva"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "kikapcsolva"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Rendszerindítás"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s ezen: %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Az X grafikus rendszert nem állította be. Biztosan megfelel így?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Rendszerbetöltő előkészítése..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"A gép típusa feltehetően OldWorld vagy ismeretlen, ezért a Yaboot "
+"rendszerindító program nem fog működni. A telepítés folytatódik, de a gép "
+"indításához BootX-re vagy egyéb módszerre lesz szükség. A gyökér-"
+"fájlrendszer kernelparamétere: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Szeretné az aboot-ot használni?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Hiba az aboot telepítésekor.\n"
+"Próbáljam újra a telepítést akkor is, ha ez esetleg tönkreteszi az első\n"
+"partíciót?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ezen a biztonsági szinten csak a rendszergazda érheti el a windowsos "
+"partíción levő fájlokat."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Tegyen egy üres floppyt a(z) \"%s\" meghajtóba"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Automatikus telepítőfloppy készítése..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"A telepítés nem teljes, mivel egyes lépések kimaradtak.\n"
+"\n"
+"Biztos, hogy ki akar lépni?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulálunk"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Újraindítás"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Automatikus telepítőfloppy készítése"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Az automatikus telepítés akár teljesen automatikus is lehet,\n"
+"ebben az esetben az egész merevlemez tartalmát módosíthatja.\n"
+"Elsősorban akkor ajánlott, ha másik gépre is telepíteni kívánja\n"
+"a rendszert.\n"
+"\n"
+"Lehetőség van a telepítés újrajátszására is.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Újrajátszás"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatikus"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Csomagösszeállítás mentése"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Nyelv"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenc"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Egér"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Merevlemez keresése"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Telepítési osztály"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Billentyűzet"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Biztonság"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partícionálás"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formázás"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Csomagok kiválasztása"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Telepítés"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Felhasználóazonosítás"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Felhasználók"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Hálózat"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Rendszerbetöltő"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Az X beállítása"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Összefoglalás"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Szolgáltatások"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Frissítések"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Kilépés"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d csomag, %d MB)"
+#~ msgstr[1] "(%d csomag, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d csomag"
+
+#~ msgid "Language"
+#~ msgstr "Nyelv"
+
+#~ msgid "License"
+#~ msgstr "Licenc"
+
+#~ msgid "Installation class"
+#~ msgstr "Telepítési osztály"
+
+#~ msgid "Formatting"
+#~ msgstr "Formázás"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Csomagok kiválasztása"
+
+#~ msgid "Users"
+#~ msgstr "Felhasználók"
+
+#~ msgid "Networking"
+#~ msgstr "Hálózat"
+
+#~ msgid "Configure X"
+#~ msgstr "Az X beállítása"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Nem érhetők el a megfelelő kernelmodulok (hiányzó fájl: %s). Ez általában "
+#~ "azt jelenti, hogy az indítólemez nincs összhangban a telepítési "
+#~ "médiummal. Készítsen egy újabb indítólemezt."
diff --git a/perl-install/install/share/po/id.po b/perl-install/install/share/po/id.po
new file mode 100644
index 000000000..44da535f2
--- /dev/null
+++ b/perl-install/install/share/po/id.po
@@ -0,0 +1,1628 @@
+# Instalator Grafis Mandriva Linux
+# Copyright (C) 1999 Mandriva
+# Budi Rachmanto <rac@mandrivalinux.org>, 2001-2003
+# Linux Indonesia <http://www.linux.or.id>, 1999-2001
+# Mohammad DAMT <mdamt@cdl2000.com>, 1999-2001
+# Andy <chandy@indo.net.id>, 1999
+# Kelana <nk@telkom.net>, 1999
+# Willy Sudiarto Raharjo <willysr@gmail.com>, 2004 - 2005.
+# Erwien Samantha <erwiensamantha@gmail.com>, 2005.
+# Bayu Artanto <bayuart@yahoo.com>, 2005.
+# Ahmad Ramadhana <ahmad_ramadhana@yahoo.com.sg>, 2005.
+# Firdaus <dausnux@gmail.com>, 2005.
+# Sofian <sofianhanafi@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-17 15:49+0700\n"
+"Last-Translator: Willy Sudiarto Raharjo <willysr@gmail.com>\n"
+"Language-Team: Indonesia <mdk-id@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.6\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Apakah Anda memiliki media tambahan lagi?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Media berikut ditemukan dan akan digunakan selama installasi: %s.\n"
+"\n"
+"\n"
+"Apakah Anda memiliki media installasi tambahan untuk dikonfigurasi?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Jaringan (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Jaringan (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Jaringan (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL dari mirror?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL harus diawali dengan ftp:// atau http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Menghubungi situs Mandriva Linux untuk mengambil daftar mirror..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Gagal menghubungi situs Mandriva Linux untuk mengambil daftar mirror yang "
+"tersedia"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Pilih mirror tempat Anda ingin mengambil paket"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Setup NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Harap masukkan nama host dan direktori dari media NFS Anda"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Nama host tidak ada"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktori harus dimulai dengan \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nama host dari mount NFS ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktori"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Tambahan"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Tidak dapat menemukan file daftar paket pada mirror ini. Pastikan lokasinya "
+"benar."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Mencari paket yang sudah terinstall..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Menghapus paket-paket sebelum upgrade..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Mencari paket untuk diupgrade..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Anda telah memilih server berikut: %s\n"
+"\n"
+"\n"
+"Server ini aktif secara default. Mereka tidak memiliki masalah keamanan,\n"
+"tetapi bisa saja ditemukan. Pada kasus tersebut, Anda harus memastikan\n"
+"untuk melakukan upgrade secepat mungkin.\n"
+"\n"
+"\n"
+"Apakah Anda hendak menginstall server ini?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Paket berikut akan dihapus agar sistem Anda dapat di-upgrade: %s\n"
+"\n"
+"\n"
+"Apakah Anda ingin menghapus paket tersebut?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Disk berikut telah diubah namanya:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (sebelumnya bernama %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "HFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Jaringan"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Silahkan pilih media"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "File sudah ada. Timpa file ini ?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Izin ditolak"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nama NFS yang salah"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Media rusak %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Tidak bisa membuat screenshot sebelum buat partisi"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Screenshot akan tersedia setelah installasi pada %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installasi"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurasi"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Anda juga harus memformat %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Beberapa perangkat keras pada komputer Anda memerlukan driver \n"
+"``proprietary'' agar bekerja. Anda bisa mencarinya pada : %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Mengaktifkan jaringan"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Menonaktifkan jaringan"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Mendownload file %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Menyalin beberapa paket pada disk untuk kebutuhan di masa depan"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Penyalinan sedang berjalan"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "harus ada"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "penting"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "amat bagus"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bagus"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "mungkin"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Jajaran produk 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Firewall Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Mode Discovery Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Bagaimana mendaftarkan diri"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Layanan Online Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Tema baru"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Workstation Kantor"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Program office: pengolah kata (OpenOffice.org Writer, Kword), spreadsheet "
+"(OpenOffice.org Calc, Kspread), viewer pdf, dll"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Program office: pengolah kata (kword, abiword), spreadsheet (kspread, "
+"gnumeric), viewer pdf, dll"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Komputer Game"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Program hiburan: arcade, papan, strategi, dll"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Komputer Multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Program untuk memainkan/mengedit suara dan video"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Komputer Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Kumpulan perkakas untuk membaca dan mengirimkan email dan berita (pine, "
+"mutt, tin..) dan untuk menjelajah Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Komputer Jaringan (klien)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klien untuk berbagai protokol, termasuk ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Perkakas untuk mempermudah konfigurasi komputer Anda."
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Perkakas konsol"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editor, shell, perkakas file, terminal"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Pengembangan"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Pustaka, program, dan file include untuk pengembangan C dan C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasi"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Buku dan Howto untuk Linux dan Free Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Dukungan aplikasi pihak ketiga"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/Berita"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server mail Postfix, server berita Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Server Direktori"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nama Domain dan Network Information Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server Sharing File dan Printer"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Basis Data"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server Basis Data PostgreSQL dan MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server mail Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server basis data PostgreSQL atau MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Komputer Server Jaringan"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "server NFS, SMB, Proxy, dan SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Mode Grafis"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Workstation KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, lingkungan grafis dasar dengan kumpulan perkakas yang "
+"menyertainya"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Workstation Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Lingkungan grafis dengan kumpulan aplikasi dan perkakas desktop yang ramah "
+"pengguna"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Desktop Grafis lainnya"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, dsb"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitas"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server Konfigurasi Remote Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitas Jaringan/Pengawasan"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Perkakas pengawasan, akuntasi proses, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Wizard Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Wizard untuk mengkonfigurasi server"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Terjadi kesalahan, tetapi tidak diketahui cara mengatasinya dengan baik.\n"
+"Lanjutkan dengan resiko ditanggung sendiri."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Beberapa paket penting tidak terinstall dengan benar.\n"
+"Mungkin drive cdrom atau cdromnya yang rusak.\n"
+"Periksa cdrom pada komputer yang sudah terinstal dengan\n"
+"perintah \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Memasuki langkah `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Installasi Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> antar elemen"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Sumber daya sistem Anda rendah. Anda akan mengalami kesulitan\n"
+"menginstall Mandriva Linux. Jika terjadi, Anda bisa mencoba\n"
+"installasi berbasis teks. Untuk melakukannya, tekan `F1' saat\n"
+"booting pada CDROM, lalu ketikkan `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pilihan Grup Paket"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Pilih paket individu"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukuran total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Paket rusak"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versi: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Ukuran: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Tingkat kepentingan: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Anda tidak bisa memilih/tidak memilih paket ini"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "karena %s hilang"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "karena %s tidak terpenuhi"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "mencoba mempromosikan %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "untuk menjaga %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Anda tidak bisa memilih paket ini karena tidak ada ruang kosong yang tersisa"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Paket berikut akan diinstal"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Paket berikut akan dihapus"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ini merupakan paket wajib, tidak bisa dibuang"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Anda tidak bisa tidak memilih paket ini. Ia sudah terinstall"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Anda tidak bisa tidak memilih paket. Paket harus diupgrade"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Tunjukkan paket yang sudah dipilih secara otomatis"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instal"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Pilihan Muat/Simpan"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Mengupdate pilihan paket"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Installasi minimal"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Manajemen Perangkat Lunak"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Pilih paket yang akan diinstal"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Menginstall"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Tanpa Detail"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Sisa waktu"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Memperkirakan"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paket"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Ringkasan"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurasikan"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "tidak dikonfigurasikan"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Media installasi berikut ditemukan. Jika Anda ingin\n"
+"melewati beberapa, Anda bisa tidak memilihnya sekarang."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Anda memiliki opsi untuk menyalin isi CD pada hard disk sebelum installasi. "
+"Proses akan dilanjutkan dari hard disk dan paket akantetap tersedia setelah "
+"sistem terinstall."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Salin seluruh CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Terjadi kesalahan"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Pilih layout keyboard Anda."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Berikut daftar keyboard yang tersedia"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instal/Upgrade"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Installasi atau upgrade?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Upgrade %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Kunci enkripsi untuk %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Mengkonfigurasi IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Tidak ada ruang 1MB untuk bootstrap! Installasi akan dilanjutkan, tetapi "
+"untuk boot sistem, Anda perlu membuat partisi bootstrap pada DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Anda harus membuat PPC PReP Boot bootstrap! Installasi akan dilanjutkan, "
+"tetapi untuk boot sistem, Anda perlu membuat partisi bootstrap pada DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Ganti Cd-Rom Anda!\n"
+"\n"
+"Masukkan Cd-Rom berlabel \"%s\" pada drive dan tekan Ok. Jika Anda tidak \n"
+"punya, tekan Batal untuk menghindari installasi dari Cd-Rom ini."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mencari paket yang tersedia..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Sistem Anda tidak memilih ruang kosong yang cukup untuk installasi atau "
+"upgrade (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Pilih muat atau simpan pilihan paket.\n"
+"Formatnya sama dengan file auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Beban"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Simpan"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "File rusak"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Ukuran terpilih melebihi ruang yang ada"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipe installasi"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Anda belum memilih grup paket.\n"
+"Pilih installasi minimal yang Anda inginkan:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Dengan X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Dengan dokumentasi dasar (disarankan!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installasi minimal sesungguhnya (khususnya tanpa urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Semua"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Mempersiapkan installasi"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Menginstall paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Terdapat kesalahan pengurutan paket:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Lanjutkan?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Ulang kembali"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Lewati paket ini"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Lewati semua paket-paket dari media \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Kembali pada media dan pemilihan paket"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Terdapat kesalahan penginstallan paket %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurasi pasca installasi"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Harap pastikan media Update Modul pada drive %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Update"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Anda kini memiliki kesempatan untuk mendownload paket update. Paket ini\n"
+"telah diupdate setelah distribusi dirilis. Paket mungkin berisi perbaikan\n"
+"keamanan atau kesalahan.\n"
+"\n"
+"Untuk mendownload paket, Anda perlu koneksi Internet.\n"
+"\n"
+"Apakah Anda ingin menginstall update?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Menghubungi mirror untuk mendapatkan daftar paket yang tersedia..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Tidak dapat menghubungi mirror %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Perangkat Keras"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Kartu suara"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Apakah Anda memiliki kartu suara ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Jalankan \"sndconfig\" atau \"sndconfig\" setelah installasi untuk "
+"mengkonfigurasi kartu suara Anda"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Tidak ada kartu suara yang terdeteksi. Coba \"harddrake\" setelah installasi"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Kartu TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Antarmuka grafis"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Jaringan & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy "
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "terkonfigurasi"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Tingkat Keamanan"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "telah diaktifkan"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "telah dinonaktifkan"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s pada %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Anda belum mengkonfigurasi X. Apakah Anda yakin?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Mempersiapkan bootloader..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Nampaknya Anda memiliki komputer kuno/tidak dikenal, bootloader yaboot tidak "
+"akan bekerja. Installasi akan dilanjutkan, tetapi Anda harus menggunakan "
+"BootX atau cara lain untuk boot komputer Anda. Argumen kernel untuk fs root "
+"adalah: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Apakah Anda ingin menggunakan aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Kesalahan menginstall aboot,\n"
+"paksakan installasi meskipun merusak partisi pertama?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Pada tingkat keamanan ini, akses pada file pada partisi Windows dibatasi "
+"hanya pada administrator."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Masukkan disket kosong pada drive %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Membuat disket installasi otomatis..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Beberapa langkah tidak selesai.\n"
+"\n"
+"Apakah Anda ingin keluar sekarang?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Selamat"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Boot Ulang"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Membuat disket installasi otomatis"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Installasi otomatis dapat dibuat otomatis penuh jika\n"
+"diinginkan, pada kasus ini akan mengambil hard disk!!\n"
+"(ini berarti untuk menginstall pada komputer lain).\n"
+"\n"
+"Anda mungkin memilih untuk mengulangi installasi.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ulang"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Otomatis"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Simpan pilihan paket"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Bahasa"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensi"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Deteksi hard disk"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Kelas installasi"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Keyboard"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Keamanan"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pembuatan partisi"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Memformat"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Memilih paket-paket"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Menginstall"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Otentikasi"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Pengguna"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Jaringan"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurasi X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ringkasan"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Layanan"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Update"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Keluar"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paket, %d MB)"
+#~ msgstr[1] "(%d paket, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paket"
+
+#~ msgid "Language"
+#~ msgstr "Bahasa"
+
+#~ msgid "License"
+#~ msgstr "Lisensi"
+
+#~ msgid "Installation class"
+#~ msgstr "Kelas installasi"
+
+#~ msgid "Formatting"
+#~ msgstr "Memformat"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Memilih paket-paket"
+
+#~ msgid "Users"
+#~ msgstr "Pengguna"
+
+#~ msgid "Networking"
+#~ msgstr "Jaringan"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfigurasi X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Tidak bisa mengakses modul kernel yang berhubungan dengan kernal Anda "
+#~ "(file %s hilang), ini biasanya berarti disket boot tidak sinkron dengan "
+#~ "media installasi (buatlah disket boot baru)"
diff --git a/perl-install/install/share/po/is.po b/perl-install/install/share/po/is.po
new file mode 100644
index 000000000..f871a6a3f
--- /dev/null
+++ b/perl-install/install/share/po/is.po
@@ -0,0 +1,1624 @@
+# Icelandic translation of DrakX.po
+# Translation file for Mandriva Linux graphic install, DrakX
+# Copyright (C) 1999,2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+#
+# Jóhann Þorvarðarson <johann.torvardarson@lais.is>, 1999-2000.
+# Þórarinn (Tony) R. Einarsson <thori@mindspring.com>, 1999-2000.
+# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2003, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-02-19 20:22+0000\n"
+"Last-Translator: Pjetur G. Hjaltason <pjetur@pjetur.net>\n"
+"Language-Team: Icelandic <kde-isl@molar.is>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hefur þú einhverja aðra aukamiðla?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Eftirfarandi miðlar hafa fundist og verða notaðir við uppsetningu: %s.\n"
+"\n"
+"\n"
+"Hefur þú einhverja aðra miðla sem þarf að stilla?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Geisladrif"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Net (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Net (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Net (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Vefslóð að spegli?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Slóð verður að byrja á ftp:// eða http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Hef samband við Mandriva Linux vefinn til að sækja lista yfir fáanlega "
+"spegla..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mistókst að tengjast við Mandriva Linux vefinn til að sækja lista yfir "
+"fáanlega spegla"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Veldu spegilvélina þaðan sem á að sækja pakkanna"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS uppsetning"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Sláðu inn vélarnafn og möppu sem inniheldur NFS miðil"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Vélarnafn vantar"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Möppunafn verður að byrja á \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vélarnafn á NFS tengipunkti?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Mappa"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Aukalegt"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Finn ekki pakkalista-skrá á þessum spegli. Athugaðu hvort staðsetningin sé "
+"rétt."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Athuga þegar uppsetta pakka..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjarlægi pakka áður en uppfærsla hefst..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Leita að pökkum til að uppfæra..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Þú hefur valið eftirfarandi miðlara: %s\n"
+"\n"
+"\n"
+"Þessir miðlarar eru ræstir sjálfkrafa við ræsingu kerfis. Þeir hafa ekki\n"
+"neinar þekktar öryggisvillur, en nýjar kunna að hafa fundist. Í því\n"
+"tilviki verður þú að uppfæra eins fljótt og hægt er.\n"
+"\n"
+"\n"
+"Vilt þú raunverulega setja upp þessa miðlara?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Eftirfarandi pakkar verða fjarlægðir til að uppfærsla takist eðlilega: %s\n"
+"\n"
+"\n"
+"Viltu í alvöru fjarlægja þessa pakka?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Eftirfarandi diskar voru endurnefndir:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (áður nefnt %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Net"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Veldu miðil"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Skráin er þegar til. Skrifa yfir hana?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Aðgangi hafnað"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Rangt NFS nafn"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Gallaður miðill %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Get ekki tekið skjámyndir fyrr en disksneiðar hafa verið skilgreindar"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjámyndir verða tiltækar eftir uppsetningu í %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Set inn"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Stillingar"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Þú verður einnig að forsníða %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Eitthvað af vélbúnaðinum í tölvunni þinni þarfnast rekla sem eru ``ekki'' "
+"opinn hugbúnaður.\n"
+"Þú finnur meiri upplýsingar um þá á: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Keyri upp netið"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Keyri niður netið"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Sæki skrá %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Afrita nokkra pakka á diska til notkunar síðar"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Afritun í gangi"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "verð að fá"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "áríðandi"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "mjög þægilegt"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "þægilegt"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "kannski"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "Þrívidd"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 vörur"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Ósigrandi eldveggur"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live Hamur"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Hvernig á að skrá"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Þjónusta"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nýtt þema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Vinnustöð"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Skrifstofu-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Skrifstofu forrit: ritvinnsla (OpenOffice.org Writer, Kword), töflureiknar "
+"(OpenOffice.org Calc, Kspread) pdf skoðarar, o.s.frv"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Skrifstofu forrit: ritvinnsla (kword, abiword), töflureiknar (kspread, "
+"gnumeric) pdf skoðarar, o.s.frv"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Leikja-(vinnu)stöð"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Leikjaforrit, skotleikir, borðleikir, herkænskuleikir og fleira"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Margmiðlunar-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Spila og breyta hljóðskrám og kvikmyndum"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet-vinnustöð"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Tól og tæki til að lesa og senda póst, fréttir (mutt,tin...) og til að "
+"flakka á vefnum"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netbiðlarar"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Biðlarar fyrir ýmsar samskiptareglur þ.m.t ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Tæki til að auðvelda uppsetningu tölvunnar"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Skjától"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Ritlar, skeljar, skráatól, skjáhermar"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Forritun"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C og C++ undirforritasöfn, forrit og lýsingaskrár"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Handbækur"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bækur og leiðbeiningar um Linux og frjálsan hugbúnað"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Stuðningur fyrir forrit þriðja aðila"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Vefmiðlari"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Hópvinnuforrit"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Miðlari"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Eldveggur/beinir"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet netgátt"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Póstur/Fréttir"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix póstþjónusta, Inn fréttaþjónusta"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Upplýsingaveita"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Miðlari"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nafnaþjónustur og net-upplýsingaveitur"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Skráa og prentmiðlari"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS miðlari, Samba miðlari"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Gagnagrunnar"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL og MySQL gagnagrunns-miðlarar"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Vefur/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Póstur"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix póstþjónusta"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL eða MySQL gagnagrunns-miðlarar"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Netþjónustur"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-þjónusta, SMB-þjónusta, Sel-þjónusta, ssh-þjónusta"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Myndrænt umhverfi"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE Vinnustöð"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE (K Desktop Environment). Gluggastjóri með safni hjálparforrita"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome vinnustöð"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Gluggastjóri með notendavænum forritum og skjáborðstólum"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Skjáborð"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Aðrir gluggastjórar"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, o.s.frv"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Tól"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Miðlari"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin, stillingar á fjartengdri tölvu um vef"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netforrit/Neteftirlit"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Eftirlitstól, vinna með notendur, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Ráðgjafar"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Ráðgjafar til að stilla miðlara"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Óþekkt villa kom upp sem ekki er hægt að meðhöndla.\n"
+"Haltu áfram á eigin ábyrgð."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Sumir mikilvægir pakkar voru ekki uppsettir eðlilega.\n"
+"Annaðhvort er geisladiskurinn eða drifið skemmt.\n"
+"Athugaðu geisladiskinn á uppsettri vél með skipuninni\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Byrja skref `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux uppsetning %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> milli skrefa"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Ef vélin þín er vanbúin að einhverju leyti þá getur þú átt\n"
+"í vandræðum með að setja upp Mandriva Linux.\n"
+"Ef svo er, þá gætir þú reynt að nota texta-uppsetningu.\n"
+"Til þess að gera það, ýttu á F1 þegar þú ræsir af\n"
+"geisladisknum og sláðu síðan inn `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Val á pakkahóp"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Val á einstökum pökkum"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Heildarstærð: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Skemmdur pakki"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Útgáfa: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Stærð: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Mikilvægi: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Þú getur ekki valið/af-valið þennan pakka"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "vegna þess að %s vantar"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "vegna þess að %s er ekki uppfyllt"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "reyni að hækka vægi %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "til þess að halda %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Þú getur ekki valið þennan pakka því það er ekki nægilegt pláss"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Eftirfarandi pakkar verða settir inn"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Eftirfarandi pakkar verða fjarlægðir"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Þessi pakki verður að vera uppsettur, þú getur ekki af-valið hann"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Þú getur ekki af-valið þennan pakka hann er þegar uppsettur"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Þú getur ekki af-valið þennan pakka, það verður að uppfæra hann"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Sýna sjálfvirkt valda pakka"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Innsetning"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Sækja/Vista val"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Uppfæri val á pökkum"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Lágmarks uppsetning"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Hugbúnaðarumsýsla"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Veldu pakkana sem þú vilt setja inn"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Set inn"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Engar upplýsingar"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tími eftir "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Áætla"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakki"
+msgstr[1] "%d pakkar"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Yfirlit"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Stilla"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ekki stillt"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Eftirfarandi uppsetningar-miðlar hafa fundist.\n"
+"Ef þú vilt sleppa einhverjum af þeim, þá getur þú af-valið þá núna."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Þú hefur val um að afrita innihald geisladiskanna á diskinn fyrir "
+"uppsetningu.\n"
+"Síðan mun uppsetning halda áfram frá disknum og pakkarnir verða til staðar "
+"þegar kerfið er að fullu uppsett."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Afrita alla geisladiska"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Villa kom upp"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Veldu lyklaborðs-uppsetningu."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Hér er tæmandi listi af tiltækum lyklaborðum"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Innsetning/Uppfærsla"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er þetta innsetning eða uppfærsla?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uppfæra %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Dulritunar-lykill fyrir %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Uppsetning IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ekki pláss fyrir 1MB ræsigeira! Uppsetning mun halda áfram, en til að ræsa "
+"kerfið þitt verður þú að búa til ræsi-disksneið með DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Þú þarft að búa til PPC PReP for-ræsingu! Uppsetningin mun halda áfram,en "
+"til að ræsa kerfið, þarft þú að búa til ræsi-disksneið með DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Skiftu um geisladisk!\n"
+"Settu inn geisladisk merktan \"%s\" í diskdrifið og ýttu á \"Í lagi\" þegar "
+"þú ert tilbúin(n).\n"
+"Ef þú hefur ekki diskinn, ýttu þá að \"Hætta við\" til að sleppa uppsetningu "
+"frá þessum diski."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Leita að tiltækum pökkum..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Það er ekki nóg laust pláss fyrir innsetningu eða uppfærslu á kerfinu þínu (%"
+"dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Veldu hvort eigi að sækja eða vista pakkaval.\n"
+"Sniðið er það sama og á auto_install skrám."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Sækja"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Vista"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Gölluð skrá"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valin stærð er stærri en tiltækt pláss"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tegund uppsetningar"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Þú hefur ekki valið neina pakkahópa.\n"
+"Veldu lágmarksuppsetningu sem þú vilt:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Með X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Með grunn-handbókum (mælt með!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Alger lágmarksuppsetning (ekkert urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Allt"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Undirbý innsetningu"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Set inn pakka %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Það kom upp villa við að raða pökkum:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Viltu samt halda áfram?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Reyna aftur"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Sleppa þessum pakka"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Sleppa ölum pökkum af miðli \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Fara til baka í val á miðlum og pökkum"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Það kom upp villa við innsetningu pakka %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Lokastillingar"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Sstaðfestu að Uppfærslu-miðill sé í drifi %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Uppfærslur"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Þú hefur nú möguleika á að sækja uppfærða pakka. Þessir pakkar\n"
+"hafa verið uppfærðir eftir að dreifingin var send úr húsi.\n"
+"Þeir kunna að innihalda villuleiðréttingar eða öryggisuppfærslur.\n"
+"\n"
+"Til að sækja þessa pakka þá verður þú að vera tengdur Internetinu.\n"
+"\n"
+"Viltu sækja uppfærslurnar?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Hef samband við vélina til að sækja lista yfir fáanlega pakka..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Get ekki tengst spegilvél %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Vélbúnaður"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Hljóðkort"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Er kannski ISA hljóðkort í vélinni?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Keyrðu \"alsaconf\" eða \"sndconfig\" eftir uppsetningu til að stilla "
+"hljóðkortið þitt"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Ekkert hljóðkort fannst. Reyndu að keyra \"harddrake\" eftir uppsetningu"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Sjónvarpskort"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Myndrænt viðmót"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Staðarnet og Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Sel"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "Uppsett"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Öryggisþrep"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Eldveggur"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "virkt"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "óvirkt"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Ræsing"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s á %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Þú hefur ekki sett upp X, ertu viss um að þú viljir þetta?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Set upp ræsistjórann..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Það lítur út fyrir að þú sért að nota OldWorld eða óþekkta vél, yaboot "
+"ræsiforritið mun ekki virka fyrir þig. Uppsetning mun halda áfram en þú "
+"verður að nota BootX eða aðrar leiðir til að ræsa vélina. kjarna-viðfangið "
+"fyrir rótarsneiðina er: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Viltu nota aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Villa við uppsetningu á aboot, \n"
+"reyna að þvinga uppsetningu, þó það eyðileggi fyrstu disksneiðina?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Í þessu öryggisþrepi er aðgangur að Windows disksneiðum takmarkaður við "
+"kerfisstjóra."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Settu tóman diskling í drif %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Bý til diskling fyrir sjálfvirka uppsetningu..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sum skref eru ennþá eftir.\n"
+"\n"
+"Viltu virkilega hætta núna?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Til hamingju"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Endurræsa"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Búa til diskling fyrir sjálfvirka uppsetningu"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Uppsetningu er hægt að hafa algerlega sjálfvirka,\n"
+"í því tilfelli tekur uppsetningin yfir diskinn!!\n"
+"(þetta er ætlað til uppsetningar á annari tölvu).\n"
+"\n"
+"Þú vilt kannski endurspila uppsetninguna\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Spila aftur"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Sjálfvirkt"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Vista val á pökkum"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Velja tungumál"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Notkunarskilmálar"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mús"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Leita að disk(um)"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Innsetningarflokkur"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Lyklaborð"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Öryggi"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Forsníða diska"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Forsníð"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Velja pakka"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Set inn"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Auðkenning"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Notendur"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Net"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Ræsistjóri"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Stilla X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Yfirlit"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Þjónustur"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uppfærslur"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Hætta"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakki, %d MB)"
+#~ msgstr[1] "(%d pakkar, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakkar"
+
+#~ msgid "Language"
+#~ msgstr "Velja tungumál"
+
+#~ msgid "License"
+#~ msgstr "Notkunarskilmálar"
+
+#~ msgid "Installation class"
+#~ msgstr "Innsetningarflokkur"
+
+#~ msgid "Formatting"
+#~ msgstr "Forsníð"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Velja pakka"
+
+#~ msgid "Users"
+#~ msgstr "Notendur"
+
+#~ msgid "Networking"
+#~ msgstr "Net"
+
+#~ msgid "Configure X"
+#~ msgstr "Stilla X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Finn ekki kjarna-rekla sem passa við kjarnann þinn (skrána %s vantar), "
+#~ "þetta þýðir venjulega að þú hefur ekki uppfært ræsi-disklinginn þegar þú "
+#~ "uppfærðir kerfið (búðu til nýjan ræsi-diskling)"
diff --git a/perl-install/install/share/po/it.po b/perl-install/install/share/po/it.po
new file mode 100644
index 000000000..371da2b04
--- /dev/null
+++ b/perl-install/install/share/po/it.po
@@ -0,0 +1,1635 @@
+# translation of DrakX-it.po to Italian
+# Copyright (C) 2000, 2001 Mandriva S.A.
+#
+# Paolo Lorenzin <pasusu@tin.it>, 2000.
+# Simone Riccio <s.riccio@aeb-informatica.it>, 2002.
+# Roberto Rosselli Del Turco <rosselli@ling.unipi.it>, 2001, 2002,2003.
+# Marco De Vitis <mdv@spin.it>, 2003.
+# Andrea Celli <a.celli@caltanet.it>, 2003, 2004, 2005, 2006, 2007.
+# Giuseppe Levi <giuseppe.levi@email.it>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-it\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-18 22:00+0100\n"
+"Last-Translator: Andrea Celli <a.celli@caltanet.it>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Hai delle altre fonti d'installazione?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Sono state individuate queste fonti che verranno utilizzate per "
+"l'installazione: %s.\n"
+"\n"
+"\n"
+"Disponi di altre fonti di installazione da configurare?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rete (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rete (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rete (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL del mirror?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "L'URL deve iniziare con ftp:// o http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Connessione al sito Mandriva Linux per ricevere l'elenco dei mirror "
+"disponibili..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Impossibile collegarsi al sito Mandriva Linux per ricevere l'elenco dei "
+"mirror disponibili"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Scegli un mirror da cui prelevare i pacchetti"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configurazione NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Immetti il nome dell'host e della directory che userai come supporto NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Manca il nome dell'host"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Una directory deve iniziare con \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nome dell'host da montare con NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Aggiuntivo"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Impossibile trovare su questo mirror il file con l'elenco dei pacchetti. "
+"Assicurati che l'indirizzo sia esatto."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ricerca dei pacchetti già installati..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Rimozione dei pacchetti prima di aggiornare..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ricerca dei pacchetti da aggiornare..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Sono stati selezionati i seguenti server: %s\n"
+"\n"
+"\n"
+"Questi server verranno attivati automaticamente. Non presentano\n"
+"problemi di sicurezza noti, ma potrebbero esserne scoperti in futuro.\n"
+"In tal caso, dovrai preoccuparti di aggiornarli al più presto.\n"
+"\n"
+"\n"
+"Vuoi davvero installare questi server?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Per permettere l'aggiornamento del sistema si devono rimuovere i seguenti "
+"pacchetti: %s\n"
+"\n"
+"\n"
+"Vuoi davvero rimuoverli?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Questi dischi hanno cambiato nome:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (che prima si chiamava %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rete"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Scegli un supporto"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Il file esiste già. Lo sovrascrivo?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS non valido"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Supporto non valido %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Impossibile fare degli screenshot prima del partizionamento"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Gli screenshot saranno disponibili in %s dopo l'installazione."
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installazione"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configurazione"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Devi formattare anche %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Parte dell'hardware del computer richiede driver \"proprietari\" per\n"
+"funzionare. Si possono trovare informazioni al riguardo presso: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Attivazione della rete..."
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Disattivazione della rete..."
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Scaricamento del file %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copia di alcuni pacchetti sui dischi per un'utilizzazione futura"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Copia in corso"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "obbligatorio"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "molto utile"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "utile"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "forse"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Linea di prodotti 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Firewall Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Prova senza installazione (live)"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Come registrarsi"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Servizi online di Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nuovo tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Postazione per lavoro da ufficio"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmi da ufficio: wordprocessor (OpenOffice.org Writer, Kword), fogli "
+"elettronici (OpenOffice.org Calc, Kspread), visualizzatori PDF, ecc."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programmi da ufficio: wordprocessor (kword, abiword), fogli elettronici "
+"(kspread, gnumeric), visualizzatori pdf, ecc."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Computer per giocare"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programmi di svago: arcade, da tavolo, di strategia, ecc."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Computer multimediale"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmi di riproduzione/modifica audio e video"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Postazione Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Gruppo di programmi per leggere e inviare posta e news (mutt, tin...) e per "
+"navigare il Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computer in rete (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Client per vari protocolli, incluso ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Strumenti per semplificare la configurazione del computer"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Programmi da riga di comando"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editor, shell, gestione file, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Sviluppo"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Librerie di sviluppo, programmi e file \"include\" per C e C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentazione"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libri e Howto su Linux e sul Software Libero"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Supporto per applicazioni di terze parti"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway per Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server di posta Postfix, server di news Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Directory Server"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server per Domain Name e Network Information"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server per la condivisione di file e stampanti"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server di database PostgreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache e Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server di posta Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server di database PostgreSQL o MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Server di rete"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, server SMB, server proxy, server SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente grafico"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Workstation grafica con KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Il K Desktop Environment, l'ambiente grafico di base integrato da una ricca "
+"collezione di strumenti"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Workstation grafica con GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Un ambiente grafico con un gruppo di applicazioni user-friendly e strumenti "
+"per il desktop"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Altri desktop grafici"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, ecc."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilità"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Server Webmin per la configurazione remota"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilità/Monitoraggio della rete"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Strumenti di monitoraggio, accounting dei processi, tcpdump, nmap,..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Procedure guidate Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistenti per configurare dei server"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Si è verificato un errore non gestibile automaticamente.\n"
+"Puoi continuare a tuo rischio e pericolo."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Alcuni pacchetti importanti non sono stati installati correttamente.\n"
+"Il lettore di cdrom o il cdrom sono danneggiati.\n"
+"Controlla il cdrom su un sistema già installato digitando\n"
+" \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Avvio della fase \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Installazione di Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> muove il cursore"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Il sistema ha risorse scarse. Potrebbero verificarsi problemi installando\n"
+"Mandriva Linux. In tal caso, puoi tentare un'installazione testuale. \n"
+"Per farlo, premi \"F1\" all'avvio da CDROM e poi digita \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selezione per gruppi di pacchetti"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selezione individuale dei pacchetti"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Dimensione totale: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pacchetto non valido"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versione: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Dimensione:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importanza: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Non puoi selezionare/deselezionare questo pacchetto"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "per la mancanza di %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "perché %s non è soddisfatto"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "Ricerca del miglior pacchetto per %s..."
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "per conservare %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Non puoi selezionare questo pacchetto. Non c'è spazio sufficiente per "
+"installarlo"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "I seguenti pacchetti stanno per essere installati"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "I seguenti pacchetti stanno per essere rimossi"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Questo è un pacchetto indispensabile, non può essere tolto"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Non si può deselezionare questo pacchetto. È già installato"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Non si può deselezionare questo pacchetto. Deve essere aggiornato"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostra i pacchetti selezionati automaticamente"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installa"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carica/salva selezione"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Aggiornamento scelta pacchetti"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Installazione minimale"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gestione software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Scegli i pacchetti che vuoi installare"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installazione"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Senza dettagli"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempo restante: "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Sto valutando"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacchetto"
+msgstr[1] "%d pacchetti"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Riepilogo"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configura"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "non configurata"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Sono state trovate queste fonti d'installazione.\n"
+"Se vuoi ignorarne qualcuna, la puoi deselezionare ora."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Prima dell'installazione, puoi copiare il contenuto dei CD sul disco fisso\n"
+"L'installazione continuerà dal disco fisso e i pacchetti resteranno "
+"disponibili anche quando il sistema sarà installato."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copia tutti i CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Si è verificato un errore"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Scegli la mappa della tastiera."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ecco la lista completa delle tastiere disponibili"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installazione/Aggiornamento"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "È un'installazione o un aggiornamento?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aggiornamento di %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Chiave di codifica per %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Sto configurando IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Non c'è spazio libero per un bootstrap di 1MB! L'installazione continua, ma "
+"per avviare il sistema dovrai creare la partizione di bootstrap con DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Devi creare una partizione di avvio \"PPC PReP\"! L'installazione continua, "
+"ma non potrai avviare il sistema, se prima non avrai creato la partizione di "
+"avvio con DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Occorre sostituire il Cd-Rom!\n"
+"Inserisci il Cd-Rom chiamato \"%s\" nel lettore e premi OK quando sei "
+"pronto.\n"
+"Se non lo hai, premi Annulla per saltare l'installazione da quel Cd-Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Sto cercando i pacchetti disponibili..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Sul sistema non è rimasto sufficiente spazio libero per l'installazione o "
+"l'aggiornamento (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Scegli se caricare o salvare la selezione di pacchetti.\n"
+"Il formato è lo stesso dei file generati con auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Carica"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Salva"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "File non valido"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Lo spazio richiesto è maggiore di quello disponibile"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipo di installazione"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nessun gruppo di pacchetti risulta selezionato .\n"
+"Scegli il tipo di installazione minima desiderato:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Con X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Con la documentazione essenziale (raccomandata!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installazione veramente minimale (in particolare niente urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tutti"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Sto preparando l'installazione"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installazione del pacchetto %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "C'è un errore nell'ordinamento dei pacchetti:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vado avanti comunque?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Riprova"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Salta questo pacchetto"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Salta tutti i pacchetti provenienti da \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Torna alla scelta dei pacchetti e delle fonti"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "C'è stato un errore nell'installazione del pacchetto %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configurazione post installazione"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Assicurati che gli \"Update Modules\" siano leggibili dal dispositivo %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aggiornamenti"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Adesso hai la possibilità di scaricare dei pacchetti aggiornati che sono\n"
+"stati modificati dopo l'uscita della distribuzione. Questi pacchetti "
+"possono\n"
+"contenere aggiornamenti di sicurezza o correzioni di errori.\n"
+"\n"
+"Per scaricare questi pacchetti serve una connessione a Internet attiva.\n"
+"\n"
+"Vuoi installare gli aggiornamenti?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Connessione al mirror per ricevere l'elenco dei pacchetti disponibili..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Non si riesce a contattare il mirror %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Scheda audio"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Hai una scheda audio ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Lancia \"alsaconf\" o \"sndconfig\" dopo l'installazione per configurare la "
+"scheda audio"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Non è stata rilevata nessuna scheda audio. Prova con \"harddrake\" dopo "
+"l'installazione."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Scheda TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaccia grafica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rete e Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurato"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Livello di sicurezza"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "attivato"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "disabilitato"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s in %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Non hai configurato X. Sei sicuro di non volerlo fare?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Preparazione del bootloader..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Apparentemente disponi di una macchina OldWorld o sconosciuta, il bootloader "
+"yaboot non andrà bene per te.L'installazione continuerà, ma dovrai usare "
+"BootX o qualche altro metodo per avviare il tuo computer. L'argomento da "
+"passare al kernel per il fs radice è: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Vuoi usare aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Errore installando aboot, \n"
+"vuoi forzare l'installazione anche se distruggerà la prima partizione?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"A questo livello di sicurezza, l'accesso ai file delle partizioni Windows è "
+"riservato all'amministratore."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Inserisci un floppy vuoto nell'unità %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sto creando il floppy di installazione automatica..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alcune fasi non sono completate.\n"
+"\n"
+"Vuoi veramente interrompere adesso?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Congratulazioni"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Riavvia"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Crea il floppy di installazione automatica"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Se vuoi, l'installazione automatica può essere del tutto automatizzata,\n"
+"ma in tal caso il programma partizionerà automaticamente il disco!!\n"
+"(questa opzione è pensata per l'installazione su un'altra macchina).\n"
+"\n"
+"Probabilmente preferisci ripetere l'installazione.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ripeti"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizzata"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Salva scelta pacchetti"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Lingua"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenza"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Rilevamento disco fisso"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe di installazione"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sicurezza"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizionamento"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formattazione"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Scelta dei pacchetti"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installazione"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autenticazione"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utenti"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rete"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurazione X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Riepilogo"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aggiornamenti"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Esci"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pacchetto, %d MB)"
+#~ msgstr[1] "(%d pacchetti, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pacchetti"
+
+#~ msgid "Language"
+#~ msgstr "Lingua"
+
+#~ msgid "License"
+#~ msgstr "Licenza"
+
+#~ msgid "Installation class"
+#~ msgstr "Classe di installazione"
+
+#~ msgid "Formatting"
+#~ msgstr "Formattazione"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Scelta dei pacchetti"
+
+#~ msgid "Users"
+#~ msgstr "Utenti"
+
+#~ msgid "Networking"
+#~ msgstr "Rete"
+
+#~ msgid "Configure X"
+#~ msgstr "Configurazione X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Non riesco ad accedere ai moduli del kernel corrispondenti al kernel "
+#~ "attuale(manca il file %s). Questo in genere significa che il dischetto di "
+#~ "boot non è recente quanto il supporto di installazione. Si consiglia di "
+#~ "creare un dischetto di boot aggiornato."
diff --git a/perl-install/install/share/po/ja.po b/perl-install/install/share/po/ja.po
new file mode 100644
index 000000000..73f53a66e
--- /dev/null
+++ b/perl-install/install/share/po/ja.po
@@ -0,0 +1,1617 @@
+# translation of DrakX.po to Japanese
+# Drakbootdisk Japanese translation
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000.
+# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2003, 2004.
+# Yukiko Bando <ybando@k6.dion.ne.jp>, 2004, 2005, 2006, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-ja\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-01 20:00+0900\n"
+"Last-Translator: Yukiko Bando <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "他に補助的なメディアがありますか?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"次のインストールメディアを検出しました: %s \n"
+"\n"
+"\n"
+"他に設定するメディアはありますか?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "ネットワーク (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "ネットワーク (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "ネットワーク (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "ミラーの URL"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL は ftp:// または http:// で始まらなければなりません"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Mandriva Linux のサイトに接続してミラーのリストを取得しています..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mandriva Linux ウェブサイトへの接続に失敗したため、利用可能なミラーのリストを"
+"取得できませんでした"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "パッケージを取得するミラーを選択"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS の設定"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS メディアのホスト名とディレクトリを入力してください"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "ホスト名がありません"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "ディレクトリは \"/\" で始まらなければなりません"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS マウントのホスト名"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "ディレクトリ"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "補助"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"パッケージリストのファイルが見つかりません。ミラーの場所が正しいか確認してく"
+"ださい。"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "インストール済みパッケージを探しています..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "アップグレードする前にパッケージを削除しています..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "更新するパッケージを探しています..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"以下のサーバを選択されました: %s\n"
+"\n"
+"\n"
+"これらのサーバはデフォルトで起動されます。現在、既知のセキュリティ問題\n"
+"はありませんが、新たに発見されるかもしれません。その場合は、できるだけ\n"
+"早急にアップグレードしてください。\n"
+"\n"
+"\n"
+"本当にこれらのサーバをインストールしますか?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"システムを更新するため以下のパッケージを削除します: %s\n"
+"\n"
+"\n"
+"これらのパッケージを削除してよろしいですか?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "次のディスクの名前は変更されました:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (変更前の名前は %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "ネットワーク"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "メディアを選んでください"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "ファイルが既に存在します。上書きしますか?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "アクセス許可がありません"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "不正な NFS 名"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "不正なメディア %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "パーティション設定が終わるまでスクリーンショットは撮れません"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"スクリーンショットは %s にあります。インストール後に利用可能になります。"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "インストール"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "設定"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "%s もフォーマットしてください"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"お使いのハードウェアの中にプロプラエタリ・ドライバが必要なものがあります。\n"
+"詳しくは以下をご参照ください: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ネットワークを確立"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ネットワークを切断"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "ファイル %s をダウンロード中..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "後で利用するためにパッケージをディスクにコピー"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "コピーしています"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "必須"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "重要"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "優秀"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "秀"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "可"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 製品ライン"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus ファイアウォール"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery ライブモード"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "製品登録"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online サービス"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "新しいテーマ"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "ワークステーション"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "オフィスワークステーション"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"オフィスソフト: ワープロ (OpenOffice.org Writer, Kword), 表計算 (OpenOffice."
+"org Calc, Kspread), PDF ビューアなど"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"オフィスソフト: ワープロ (kword,abiword), 表計算 (kspread,gnumeric), PDF "
+"ビューアなど"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "ゲームステーション"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "ゲームプログラム: アーケードゲーム, ボードゲーム, 戦略ゲームなど"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "マルチメディアステーション"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "サウンドと動画の再生/編集ソフト"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "インターネットステーション"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "メールとニュースの送受信用ツール (mutt,tin..) とウェブブラウズ用ツール"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "ネットワーク (クライアント)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh などの各種プロトコル用クライアント"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "コンピュータの設定を簡単にするツール"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "コンソールツール"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "エディタ, シェル, ファイル関連ツール, ターミナル"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "開発用"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ の開発ライブラリ, プログラム, include ファイル"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "ドキュメント"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux/フリーソフト関連の文書とHowto"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base, サードパーティのアプリケーションをサポート"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web サーバ"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "グループウェア"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolabサーバ"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "ファイアウォール/ルータ"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "インターネットゲートウェイ"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "メール/ニュース"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix メールサーバ, Inn ニュースサーバ"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "ディレクトリサーバ"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP サーバ"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ドメイン名/ネットワークインフォメーションサーバ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ファイル/プリンタ共有サーバ"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS サーバ/Samba サーバ"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "データベース"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL/MySQLデータベースサーバ"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "メール"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix メールサーバ"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL/MySQL データベースサーバ"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "ネットワークコンピュータサーバ"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS サーバ, SMB サーバ, プロキシサーバ, SSH サーバ"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "グラフィカル環境"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE ワークステーション"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE - さまざまなツールを含む定番グラフィカル環境"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME ワークステーション"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "使いやすいアプリケーションとデスクトップツールを含むグラフィカル環境"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm デスクトップ"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "その他のグラフィカルデスクトップ"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm など"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "ユーティリティ"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH サーバ"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin リモート設定サーバ"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ネットワークユーティリティ/モニタリング"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "モニタリングツール, プロセス管理, tcpdump, nmap..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva ウィザード"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "サーバ設定ウィザード"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"エラーが発生しました。しかし対処する方法がわかりません。\n"
+"自己責任で続けてください。"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"重要なパッケージがインストールされませんでした。\n"
+"CD-ROM ドライブか CD-ROM に問題があります。\n"
+"'rpm -qpl media/main/*.rpm' コマンドで CD-ROM をチェックしてください。\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s を開始\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux のインストール %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 項目間を移動"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"システムのリソースが十分でないため、Mandriva Linux のインストール中に\n"
+"問題が発生する可能性があります。その場合は次の要領でテキストモードによる\n"
+"インストールを試してみてください。\n"
+"CD-ROM から起動 -> F1 を押す -> 'text' と入力"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "パッケージグループを選択"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "パッケージを個別に選択"
+
+# Changed "total size" to "total", due to problem of available
+# space on screen.
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "合計: %d/%d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "不正なパッケージ"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "バージョン: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "サイズ: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "重要性: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "このパッケージの選択/非選択は変更できません"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s がないために"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s が依存を満たしていないために"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s をアップグレードするために"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s を維持するために"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"このパッケージは選択できません。インストールに必要な空き容量がありません。"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "以下のパッケージをインストールします"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "以下のパッケージを削除します"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "これは必須パッケージです。選択を解除することはできません。"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "このパッケージの選択は解除できません。既にインストールされています。"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "このパッケージの選択は解除できません。アップグレードが必要です。"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "自動的に選択されたパッケージを表示"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "インストール"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "選択を読み込む/保存する"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "パッケージの選択を更新"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "最小インストール"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "ソフトウェアの管理"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "インストールするパッケージを選んでください"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "インストール中"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "詳細なし"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "残り時間 "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "試算しています"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 個のパッケージ"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "まとめ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "設定"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "設定されていません"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"次のインストールメディアを検出しました。\n"
+"使用しないものがあればここで選択を解除してください。"
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"インストールする前に CD の内容をハードドライブにコピーすることも可能です。\n"
+"そうするとインストーラはハードドライブからインストールを続けます。コピーされ"
+"たパッケージはインストール完了後も利用できます。"
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD 全体をコピー"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "エラーが発生しました"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "キーボードの配列を選んでください"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "利用可能なすべてのキーボードのリスト"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "インストール/更新"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "インストールか更新を選んでください"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s を更新"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s の暗号鍵"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE を設定"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"1 MB のブートストラップ用の空き容量がありません。インストールを続けますが、シ"
+"ステムを起動するには、DiskDrake でブートストラップパーティションを作成する必"
+"要があります。"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"PPC PReP ブートストラップを作成する必要があります。インストールを続けますが、"
+"システムを起動するには、DiskDrake でブートストラップパーティションを作成する"
+"必要があります。"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"CD-ROM を交換してください。\n"
+"\"%s\" という CD-ROM をドライブに入れて「OK」を押してください。\n"
+"お持ちでない場合は「キャンセル」を押してください。"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "利用可能なパッケージを探しています..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"あなたのシステムにはインストールまたはアップグレードに必要な空き容量がありま"
+"せん (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"パッケージの選択を読み込むか保存するかを選んでください。\n"
+"形式は auto_install で生成されたファイルと同じです。"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "読み込む"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "保存する"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "不正なファイル"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "指定されたサイズが空き容量を超えています"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "インストールの種類"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"パッケージグループが選択されていません。\n"
+"インストールする最低限のものを選んでください:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X を使う"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "基本的なドキュメントを入れる (推奨)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "最小限のインストール (urpmi も含まれません)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "すべて"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "インストールの準備"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "パッケージ %s をインストール"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "パッケージを並べ替え中にエラーが発生:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "続けますか?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "再試行"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "このパッケージを飛ばす"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "メディア %s のすべてのパッケージを飛ばす"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "メディアとパッケージの選択に戻る"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "パッケージ %s のインストール中にエラーが発生しました。"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "インストール後の設定"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "更新モジュールメディアがドライブ %s に入っていることを確認してください"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "更新"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"更新されたパッケージをダウンロードすることができます。これらのパッケージは\n"
+"ディストリビューション公開後に更新されたものです。セキュリティ問題や不具合\n"
+"の修正が含まれています。\n"
+"\n"
+"パッケージのダウンロードにはインターネット接続が必要です。\n"
+"\n"
+"更新されたパッケージをインストールしますか?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "ミラーに接続して利用可能なパッケージのリストを取得しています..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "ミラー %s に接続できません"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "ハードウェア"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "サウンドカード"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "ISA サウンドカードをお使いですか?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"インストール後に alsaconf か sndconfig を実行してサウンドカードを設定してくだ"
+"さい。"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"サウンドカードが見つかりません。インストール後に harddrake で再度設定を試みて"
+"ください。"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "テレビカード"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "グラフィカルインターフェース"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "ネットワークとインターネット"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "プロキシ"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "設定済み"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "セキュリティレベル"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "ファイアウォール"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "有効"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "無効"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "起動"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s の %1$s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X が設定されていません。本当によろしいですか?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "ブートローダを準備中..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"OldWorld もしくは不明なアーキテクチャのマシンをお使いのようです。このマシンで"
+"は yaboot は動きません。インストールを続けますが、マシンを起動するには、"
+"BootX もしくは他の方法が必要です。'root fs' のカーネル引数は 'root=%s' です。"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot を使いますか?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"aboot をインストール中にエラーが発生しました。\n"
+"最初のパーティションを破壊しますが、強制的にインストールしますか?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"このセキュリティレベルでは、Windows パーティションのファイルへのアクセスが管"
+"理者のみに限定されます。"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "空のフロッピーをドライブ %s に入れてください"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "インストール自動化フロッピーを作成中..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"一部の設定が完了していません。\n"
+"\n"
+"本当に終了しますか?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "おめでとうございます"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "再起動"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "インストール自動化フロッピーを作成"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"「自動」はインストールを完全に自動化することができます。\n"
+"この場合ハードドライブの内容がすべて書き換えられます。\n"
+"(別のマシンにインストールするためのものです。)\n"
+"\n"
+"インストールの「再現」を利用されたほうがいいかもしれません。\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "再現"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "自動"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "パッケージの選択を保存する"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "言語を選択"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "ライセンス"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "マウス"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ハードドライブを検出"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "インストールクラス"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "キーボード"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "セキュリティ"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "パーティションの設定"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "フォーマット"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "パッケージの選択"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "インストール中"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "認証"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ユーザ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "ネットワーク"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ブートローダ"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X を設定"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "まとめ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "サービス"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "更新"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "終了"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d 個のパッケージ, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d 個のパッケージ"
+
+#~ msgid "Language"
+#~ msgstr "言語を選択"
+
+#~ msgid "License"
+#~ msgstr "ライセンス"
+
+#~ msgid "Installation class"
+#~ msgstr "インストールクラス"
+
+#~ msgid "Formatting"
+#~ msgstr "フォーマット"
+
+#~ msgid "Choosing packages"
+#~ msgstr "パッケージの選択"
+
+#~ msgid "Users"
+#~ msgstr "ユーザ"
+
+#~ msgid "Networking"
+#~ msgstr "ネットワーク"
+
+#~ msgid "Configure X"
+#~ msgstr "X を設定"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "カーネルに対応したカーネルモジュールにアクセスできません (ファイル %s があ"
+#~ "りません)。恐らく起動用フロッピーがインストールメディアに対応していませ"
+#~ "ん。新しい起動フロッピーを作成してください。"
diff --git a/perl-install/install/share/po/ko.po b/perl-install/install/share/po/ko.po
new file mode 100644
index 000000000..aebfd247a
--- /dev/null
+++ b/perl-install/install/share/po/ko.po
@@ -0,0 +1,1564 @@
+# Korean translation of drakbootdisk.
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Jaegeum Choe <baedaron@hananet.net>, 2001.
+#
+# changes asked by HP people -- pablo 2003-01-23
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2002-09-09 09:08+0900\n"
+"Last-Translator: Jaegeum Cze <baedaron@hanafos.com>\n"
+"Language-Team: Korean <beadaron@hanafos.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "또 다른것이 설치되어 있습니까?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "네트웍"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "네트웍"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "유효한 미러 목록을 받기 위해 맨드리바 리눅스 웹사이트에 접속 중..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "유효한 미러 목록을 받기 위해 맨드리바 리눅스 웹사이트에 접속 중..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "팩키지를 받을 미러 사이트를 선택해 주세요."
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "디렉토리"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "%s를 열 수 없습니다: %s\n"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "이미 설치된 팩키지 찾는 중..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "업그레이드할 팩키지를 검색중입니다."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, fuzzy, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"다음과 같은 서버들이 선택되었습니다: %s\n"
+"\n"
+"\n"
+"이 서버들은 기본적으로 활성화됩니다. 비록 아직까지 알려진 보안 문제는 없지"
+"만,\n"
+"새로운 문제점이 발견될 수도 있습니다. 그럴 경우에는 가능한 한 신속하게\n"
+"업그레이드해야 합니다.\n"
+"\n"
+"\n"
+"정말로 이 서버들을 설치합니까?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "다음 팩키지들이 설치될 것입니다."
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "네트웍"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "선택하세요"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "파일이 이미 존재합니다. 덮어쓸까요?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "권한이 없습니다."
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "파일 %s 읽어들임"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "파티션을 나누기 전에는 스크린샷을 만들 수 없습니다."
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "스크린샷은 설치후에 %s에 있습니다."
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "설치중"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "설정"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"「상업용」드라이버를 필요로하는 일부 하드웨어가 시스템상에 있습니다.\n"
+"자세한 정보는 다음을 참조하세요: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "네트웍 활성화 중..."
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "네트웍 해제 중..."
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "파일 전송 중 ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "검색 진행 중"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "필수 팩키지"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "중요한 팩키지"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "훌륭한 팩키지"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "좋은 팩키지"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "괜찮은 팩키지"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "워크스테이션"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "오피스 워크스테이션"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"오피스 프로그램들: 워드프로세서 (OpenOffice.org Writer, Kword), 스프레드쉬트 "
+"(OpenOffice.org Calc, Kspread), pdf 뷰어, 등등"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"오피스 프로그램들: 워드프로세서 (kword, abiword), 스프레드쉬트 (kspread,"
+"gnumeric), pdf 뷰어, 등등"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "게임 스테이션"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "장난감 프로그램: arcade, boards, strategy, 등등"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "멀티미디어 스테이션"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "사운드 및 비디오 연주/편집 프로그램"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "인터넷 스테이션"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "메일/뉴스를 일고 보내며 웹검색을 위한 도구모음(pine, mutt, tin...)"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "네트웍 컴퓨터 (클라이언트)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH 및 다른 프로토콜의 클라이언트"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "쉬운 컴퓨터 설정을 위한 도구"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "콘솔 도구"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "에디터, 쉘, 파일도구, 터미널"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "개발"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ 개발 라이브러리, 프로그램 및 헤더파일"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "문서"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "리눅스 및 자유 소프트웨어에 대한 서적과 Howto문서"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "리눅스 표준 기반. 외부 애플리케이션 지원"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "웹 서버"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "아파치와"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "그룹"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab 서버"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "방화벽/라우터"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "인터넷 게이트웨이"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/파일(F)/새로 만들기(_N)"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "포스트픽스 메일 서버"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "CD로부터 복구"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP 서버"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "도메인 네임 및 네트웍 정보 서버"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "프린터 서버"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "삼바 서비스"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "데이터베이스"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL 또는 MySQL 데이터베이스 서버"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "웹/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "아파치와 프로FTPD"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "메일"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "포스트픽스 메일 서버"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL 또는 MySQL 데이터베이스 서버"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "네트웍 컴퓨터 서버"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS 서버, 삼바 서버, 프락시 서버, SSH 서버"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE 워크스테이션"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K Desktop 환경, 여러가지 도구를 수반한 기본 그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 워크스테이션"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "사용자 친화적 프로그램과 데스크탑 도구를 가진 그래픽 환경"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "일터"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "기타 그래픽 데스크탑"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, 윈도우 메이커, 인라이튼먼트, Fvwm, 등등"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "유틸리티"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH 서비스"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "웹민 서비스"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "맨드리바 터미널 서버 설정"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "네트웍 환경 설정"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "맨드리바 제어 센터"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "프린터 「%s」 설정 중 ..."
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"오류가 발생했습니다. 그러나 적절히 처리할 수 없습니다.\n"
+"위헝을 감수할려면 계속하세요."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"일부 중요한 팩키지들이 올바르게 설치되지 않았습니다.\n"
+"CDROM 드라이브 또는 미디어가 손상되었습니다.\n"
+"이미 설치가 완료된 컴퓨터에서 「rpm -qpl media/main/*.rpm」명령으로 점검해 보"
+"세요.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s 단계로 넘어갑니다.\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "리눅스-맨드리바 설치 %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 항목간 이동"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"시스템의 자원이 부족합니다. 리눅스 맨드리바를 설치하는데 일부 문제가 발생할\n"
+"수도 있습니다. 만약 문제가 발생하면, 택스트 모드로 설치를 시도해 보세요.\n"
+"텍스트 모드로 설치하려면, CDROM으로 부팅후 「F1」을 누르고 「text」라고 입력"
+"하세요."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "팩키지 그룹 선택"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "개별 팩키지 선택"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "전체 크기: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "잘못된 팩키지"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "버전: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "크기: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "크기: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "중요도: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "이 팩키지를 선택/버림 할수 없습니다."
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "kdesu가 없음"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "디스크 공간이 부족하기 때문에 이 팩키지를 선택할 수 없습니다."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "다음 팩키지들이 설치될 것입니다."
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "다음 팩키지들이 제거될 것입니다."
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "이것은 필수적인 팩키지입니다. 반드시 선택되어야 합니다."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "이 팩키지를 선택해제할 수 없습니다. 이미 설치 되었습니다."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "이 팩키지를 선택해제할수 없습니다. 반드시 업그레이드되어야 합니다."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "자동으로 선택된 팩키지들 보이기"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "설치"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "선택 이동"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "선택된 팩키지 목록 업데이트 중"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "최소 설치"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "소프트웨어 관리"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "설치하고자 하는 팩키지를 선택하세요."
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "설치중"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "상세설명"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "남은 시간 "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "계산 중"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 팩키지"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "요약설명"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "설정"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "재설정"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "오류 발생"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "키보드 레이아웃 선택을 선택하세요."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "지원되는 키보드 목록이 여기에 있습니다."
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "설치/업데이트"
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "설치합니까 아니면 업데이트 합니까?"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "업그레이드"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "암호화 키"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE 설정중"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"1MB 부트스트랩 공간 부족! 설치는 계속할 수 있지만, 시스템을 부팅하기 위해서"
+"는 디스크드레이크에서 부트스트랩 파티션을 만들어야 합니다."
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"1MB 부트스트랩 공간 부족! 설치는 계속할 수 있지만, 시스템을 부팅하기 위해서"
+"는 디스크드레이크에서 부트스트랩 파티션을 만들어야 합니다."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"CDROM을 바꿔 주세요!\n"
+"\n"
+"「%s」라고 쓰여진 CDROM을 드라이브에 넣은 후, 「확인」을 눌러 주세요.\n"
+"만약 CDROM을 가지고 있지 않다면, 「취소」를 눌러 추가 설치를 취소하세요."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "유효한 팩키지를 찾고 있습니다."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"플로피에 팩키지 선택목록을 적재 또는 저장할지를 선택하세요.\n"
+"형식(포맷)은 자동설치 생성 플로피와 동일합니다."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "읽어들이기"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "저장"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "파일 읽기"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "선택된 용량이 사용할 수 있는 공간보다 큽니다."
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "모두"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "설치 준비중입니다"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s 팩키지 설치중"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "팩키지를 정렬하는 중 오류발생:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "계속 진행합니까?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "선택된 팩키지 목록 저장"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "다음 팩키지를 설치중 오류가 발생했습니다: "
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "설치전 환경설정"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "사용가능한 팩키지의 리스트를 미러 사이트에 접속해서 받습니다."
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "분기할 수 없습니다: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "하드웨어"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "사운드 카드"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "ISA 사운드 카드가 있습니까?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV 카드"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "시작시 바로 X 실행"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "네트웍과 인터넷"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "프로파일: "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "재설정"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "보안 등급"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "방화벽"
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "지금 활성화"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "금지"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "부트"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s (%s 컴퓨터)"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "부트 로더 준비중"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot를 사용하시겠습니까?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"aboot 설치 실패. \n"
+"첫번째 파티션을 훼손할지라도 강제 설치할까요?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s 드라이브에 빈 플로피 디스크를 넣으세요"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "자동 설치 플로피 디스크 생성 중"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"몇몇 단계가 완전히 끝나지 않았습니다.\n"
+"\n"
+"정말 지금 종료 하시겠습니까?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "축하합니다."
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "다시 시작"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "자동 설치 플로피 디스크 생성"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"자동 설치는 원한다면 완벽한 자동화가 가능합니다.\n"
+"이럴 경우, 하드 드라이브를 점유해 버립니다!\n"
+"(이것은 또 다른 컴퓨터에 동일하게 설치할 때를 위한 것입니다.)\n"
+"\n"
+"일반적으로 직접 설치하는 것이 좋습니다.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "재시도"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "자동"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "선택된 팩키지 목록 저장"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "언어 선택"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "라이센스"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "마우스"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "하드 디스크 선택"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "키보드"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "보안"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "구성중"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "설치중"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "사용자 인증"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "사용자들"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "네트워크"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X 설정"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "요약설명"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "서비스"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "종료"
+
+#~ msgid "%d packages"
+#~ msgstr "%d 팩키지"
+
+#~ msgid "Language"
+#~ msgstr "언어 선택"
+
+#~ msgid "License"
+#~ msgstr "라이센스"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "설치 클래스 선택"
+
+#~ msgid "Formatting"
+#~ msgstr "구성중"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "설치 팩키지 선택"
+
+#~ msgid "Users"
+#~ msgstr "사용자들"
+
+#~ msgid "Networking"
+#~ msgstr "네트워크"
+
+#~ msgid "Configure X"
+#~ msgstr "X 설정"
diff --git a/perl-install/install/share/po/ky.po b/perl-install/install/share/po/ky.po
new file mode 100644
index 000000000..f395ceb45
--- /dev/null
+++ b/perl-install/install/share/po/ky.po
@@ -0,0 +1,1560 @@
+# translation of DrakX-ky.po to Kyrgyz
+# Copyright (C) 2004,2003, 2005 Free Software Foundation, Inc.
+# Timur Jamakeev <ztimur@mail.ru>, 2003,2004.
+# Nurlan Borubaev <nurlan@tamga.info>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-ky\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-04-20 20:27+0500\n"
+"Last-Translator: Nurlan Borubaev <nurlan@tamga.info>\n"
+"Language-Team: Kyrgyz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Сизде кийинки кезектеги кошумча алып жүрүүчү барбы?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Желе (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Желе (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Күзгүсүнүн URL'и?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Пакеттерди алуучу күзгүнү тандаңыз"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Бул күзгүдө пакеттердин тизмеси атбылган жок. Жайгашуусунун тууралыгын "
+"текшериңиз."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Сиз төмөнкү серверлерди тандадыңыз: %s\n"
+"\n"
+"\n"
+"Бул серверлер алдынала жандандырылган болушат. Аларда кандайдыр бир "
+"белгилүү\n"
+"коопсуздук көйгөйлөрү жок, бирок алар табыла элек болушу да мүмкүн. Мындай\n"
+"учурда сиз аладрды мүмкүн болушунча тезирээк жаңылашыңыз керек.\n"
+"\n"
+"\n"
+"Сиз бул серверлерди орнотууну каалайсызбы?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Сиздин системага жаңылануу мүмкүнчүлүгүн берүү үчүн төмөнкү пакеттер\n"
+"алынып ташталат: %s\n"
+"\n"
+"\n"
+"Бул пакеттердин алынып ташталуусун каалайсызбы?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Төмөнкү диск(тер)дин аты өзгөртүлдү:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (мурунку аты %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Желе"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Алып жүрүүчүнү тандаңыз"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл алдагачан бар. Үстүнө кайра жазылсынбы?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Кирүү укугу четке кагылды"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "%s жараксыз алып жүрүүчү"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Бөлүмдөрдү жаратууга чейин скриншотторду түзүүгө болбойт"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Орнотуудан кийин скриншоттор %s ичинде болот"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Орнотуу"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Конфигурациялоо"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Сиз %s дагы форматташыңыз керек"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Тармак көтөрүлүүдө"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Тармак өчүрүлүүдө"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "%s файлын окуудагы ката"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Көчүрүү жүрүүдө"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Иш станциясы"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Офис станциясы"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Офис программалары: текст процессорлору (OpenOffice.org Writer, Kword), "
+"электрондук таблицалар (OpenOffice.org Calc, Kspread), pdf файлдарын көрүү "
+"программалары, ж.б."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Офис программалары: текст процессорлору (kword, abiword), электрондук "
+"таблицалар (kspread, gnumeric), pdf файлдарын көрүү программалары, ж.б."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Оюн станциясы"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Оюн-зоок программалары: аркада оюндары, тактай оюндары, стратегия оюндары, ж."
+"б."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедиа станциясы"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Үн жана видео ойнотуу/терүү программалары"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Интернет станциясы"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Почтаны жана жаңылыктарды (mutt, tin..) окууга жана жөнөтүүгө, жана вебде "
+"иштөөгө арналган куралдар тобу"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Тармак компьютери (клиент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Ар түрдүү протоколдор клиенттери, ssh да кошулган"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Компьютериңизди жеңил конфигурациялоо куралдары"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Консоль куралдары"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редакторлор, шелдер, файл куралдары, терминалдар"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Иштеп түзүү"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"C жана C++ иштеп чыгуу библиотекалары, программалар жана include файлдары"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документация"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux жана Free Software жөнүндөгү китептер жана HOWTOлар"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+"Linux стандарттык базасы. Үчүнчү тараптык иштеп чыгуучулардын тиркемелерин "
+"колдоо"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб-сервери"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab сервери"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файрволл/Маршруттагыч"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет дарбазасы"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Файл/_Жаңы"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix почта сервери"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Веб-сервери"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP сервери"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Домендик аттар системасы"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Samba сервери"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Берилиштер базасы"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL же MySQL берилиштер базасынын сервери"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Почта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix почта сервери"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL же MySQL берилиштер базасынын сервери"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Тармак сервери"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS сервери, SMB сервери, Proxy сервери, ssh сервери"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графикалык чөйрө"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE иш станциясы"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment - негизги графикалык чөйрө, кошумча куралдар "
+"коллекциясы менен"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME иш станциясы"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Колдонуучуга ыңгайлашкан тиркемелерин жана иш столунун кураларын камтыган "
+"графикалык чөйрө"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Виртуладык иш столдору"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Башка графикалык иш столдору"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ж.б."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH сервери"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Веб-камера"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Конфигурацияны текшерүү"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Тармак мониторинги"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Expert</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Кызматтарды конфигурациялоо"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Жаңылыштык орун алды, бирок мен аны кантип туура иштетүүнү билбейм.\n"
+"Мындан ары тобокелге салып өзүңүз улантыңыз."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' кадамына өтүү аракети\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux %s орнотуу"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> элементтер ортосунда"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Пакеттердин группасын тандоо"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Пакеттерди өз алдынча тандоо"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Жалпы көлөмү: %d / %d Мб"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Туура эмес пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Версиясы: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Көлөмү: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Маанилүүлүгү:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s жоктугунан"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s канаатанбагандыгынан"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s активдештирүү аракети"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s сактоо үчүн"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Бул пакетти белгилөөдөн алып салууга болбойт. Ал жаңыланышы керек"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Автоматтык түрдө тандалган пакеттерди көрсөтүү"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Орнотуу"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Тандалгандарды Жүктөө/Сактоо"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Пакеттерди тандоо жаңыланууда"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Минималдык орнотуу"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Пакеттерди башкаруу"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сиз орнотууну каалаган пакеттерди тандаңыз"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Орнотуу"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Кеңири маалыматсыз"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Калган убакыт"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Болжолдуу убакыт"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакет"
+msgstr[1] "%d пакет"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Жыйынтык"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Конфигурация"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "конфигурацияланбаган"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "CD дискти толугу менен көчүрүү"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Жаңылыштык орун алды"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Өзүңүздүн алиптакта картасын тандаңыз."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Мүмкүн болгон бардык өлкөлөр тизмеси"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Орнотуу/Жаңылоо"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Бул орнотуубу же жаңылообу?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s жаңылоо"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s үчүн шифрлөө ачкычы"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE конфигурацияланууда"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Мүмкүн болгон пакеттер изделүүдө..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Жүктөө"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Сактоо"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Туура эмес файл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X менен"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Бардыгы"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr ""
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Пакеттерди кабыл алууда ката пайда болду:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Буга карабай улантайынбы?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Тандалган пакеттерди сактоо"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Пакеттерди орнотууда ката пайда болду:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr ""
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Жаңылоолор"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr ""
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Техникалык жабдуу"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Добуш картасы"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr ""
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "ТВ-карта"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Тармак жана Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Проксилер"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr ""
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Коосуздук деңгээли"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "өчүк"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Жүктөө"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr ""
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr ""
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr ""
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Конфигурациялар"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Кайра жүктөө"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr ""
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Кайталоо"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматтык"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Тандалган пакеттерди сактоо"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Тил тандоо"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лицензия"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Чычкан"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Таш дискти аныктоо"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Алиптергич"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Коопсуздук"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Бөлүмдөргө бөлүү"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Орнотуу"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Аутентификация"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Колдонуучулар"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Тармактар"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Баштапкы жүктөгүч"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X конфигурациялоо"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Жыйынтык"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Кызматтар"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Жаңылоолор"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Чыгуу"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакет"
+#~ msgstr[1] "%d пакет"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакет"
+
+#~ msgid "Language"
+#~ msgstr "Тил тандоо"
+
+#~ msgid "License"
+#~ msgstr "Лицензия"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Орнотуу классын тандоо"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Болжолдуу убакыт"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Орнотуу үчүн пакеттерди тандаңыз"
+
+#~ msgid "Users"
+#~ msgstr "Колдонуучулар"
+
+#~ msgid "Networking"
+#~ msgstr "Тармактар"
+
+#~ msgid "Configure X"
+#~ msgstr "X конфигурациялоо"
diff --git a/perl-install/install/share/po/lt.po b/perl-install/install/share/po/lt.po
new file mode 100644
index 000000000..8a687f48d
--- /dev/null
+++ b/perl-install/install/share/po/lt.po
@@ -0,0 +1,1568 @@
+#
+# Mykolas Norvai-as <Myka@centras.lt>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2000-12-23 13:50+0200\n"
+"Last-Translator: Mykolas Norvai­as <Myka@centras.lt>\n"
+"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%"
+"100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Ar turi dar vieną?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Tinklo interfeisas"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Tinklo interfeisas"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, fuzzy, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Jungiamasi prie atvaizdžio (mirror), kad gautume prieinamų paketų sąrašą"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Jungiamasi prie atvaizdžio (mirror), kad gautume prieinamų paketų sąrašą"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Pasirink atvaizdį (mirror), iš kurio imti paketus"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Aplankas"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Adapteris %s: %s"
+
+#: any.pm:376
+#, fuzzy, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tu negali atžymėti šio paketo. Jis jau yra įdiegtas"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ieškoma atnaujintinų paketų"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Ruošiamasi įdiegti šiuos paketus"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Tinklas"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Pasirinkite kitą vardą."
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Jau yra tokia byla. Užrašyti ant jos?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Priėjimas draudžiamas"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, fuzzy, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Aš daugiau negaliu pridėti nė vieno skirsnio"
+
+#: any.pm:1301
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Tu gali pasirinkti kitas kalbas, kurios bus prieinamos po įdiegimo"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Įdiegiama"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Nustatymai"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Kad kai kurie tavo kompiuterio įrenginiai veiktų, jiems reikia\n"
+"taip vadinamų \"proprietary\" tvarkyklių. daugiau informacijos apie jas "
+"gali\n"
+"rasti čia: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Paleidžiamas tinklas"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Išjungiamas tinklas"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Išsaugoti į bylą"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "aptiktas prievade %s"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "turi turėti"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "svarbus"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "labai gerai"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "nuostabu"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "galbūt"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, fuzzy, c-format
+msgid "Workstation"
+msgstr "KDE darbo stotis"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Biuro darbo stotis"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biuro programos: tekstų redaktoriai (OpenOffice.org Writer, Kword), "
+"skaičiuoklės (OpenOffice.org Calc, Kspread), pdf peržiūros programos ir pan."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Biuro programos: tekstų redaktoriai (kword, abiword), skaičiuoklės (kspread, "
+"gnumeric), pdf peržiūros programos ir pan."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Žaidimų stotis"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+"Programos pasilinksminimui: lentos, strateginiai, kortų žaidimai ir pan."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedija stotis"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Garso ir vaizdo grojimo/redagavimo programos"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Interneto stotis"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Rinkinys įrankių skaityti ir siųsti paštą bei naujienas (pine, mutt, tin) ir "
+"naršyti žiniatinklį (WWW)"
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "Tinklo Kompiuteris, X klientas"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ar tu nori išbandyti nustatymus?"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolės įrankiai"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktoriai, shell'ai, bylų įrankiai, terminalai"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Programavimas"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C bei C++ kūrimo bibliotekos, programos ir include bylos"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knygos ir HOWTO apie Linux ir Free Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, fuzzy, c-format
+msgid "Web Server"
+msgstr "serveris"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Grupinis darbas"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveris"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Serveris, Firewall/Routeris"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, fuzzy, c-format
+msgid "Internet gateway"
+msgstr "Priėjimas prie Interneto"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Byla/_Nauja"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serveris, Duomenų bazių"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Atstatyti iš diskelio"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveris"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeno vardas"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Spausdinimo serveris"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "NIS serveris"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Serveris, Duomenų bazių"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Serveris, Tinklapių/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Paštas"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "Serveris, Duomenų bazių"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "Serveris, Tinklo Kompiuterio serveris"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE darbo stotis"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"The K Desktop Environment, pagrindinė grafinė aplinka su dideliu rinkiniu "
+"pritaikytų programų"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome darbo stotis"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafinė aplinka su vartotojui draugiškų programų ir darbalaukio įrankių "
+"rinkiniu"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Darbastalis"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Kiti grafiniai darbalaukiai"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "IceWM, Window Maker, Enlightenment, Fvwm ir pan."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Naudės"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "NIS serveris"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "įrenginys"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Interneto konfigūravimas"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Tinklo konfigūravimas"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Prisijungti prie interneto"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Nustatyti spausdintuvą"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Įvyko klaida, bet aš nežinau, kaip su ja gražiai susitvarkyti.\n"
+"Tęsk darbą savo paties rizika."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Kai kurie svarbūs paketai nebuvo tvarkingai įdiegti.\n"
+"Arba tavo CD-ROM kaupiklis, arba CD yra su trūkumais.\n"
+"Patikrink CD įdiegtame kompiuteryje, naudodamas \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Įeinama į žingsnį „%s“\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux įdiegimas %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tarp elementų"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Tavo sistemoje mažai resursų. Tu gali susidurti su bėdomis, įdiegdamas\n"
+"Mandriva Linux. Jei taip atsitiktų, gali pabandyti tekstinį diegimo būdą:\n"
+"Kai užsikrauna iš CDROM'o, paspausk `F1', o tada įvesk \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketų grupių pasirinkimas"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Atskirų paketų pasirinkimas"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Bendras dydis: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Blogas paketas"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versija: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Dydis: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "Dydis: %d KB\n"
+
+#: steps_gtk.pm:317
+#, fuzzy, c-format
+msgid "Importance: "
+msgstr "Svarba: %s\n"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Tu negali pažymėti/atžymėti šio paketo"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "nieko"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "dėl nepatenkinto %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "bandau paaukštinti %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s išlaikymui"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Tu negali pasirinkti šio paketo, kadangi nebėra pakankamai vietos jam įdiegti"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ruošiamasi įdiegti šiuos paketus"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ruošiamasi pašalinti šiuos paketus"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Tai yra privalomas paketas, jis negali būti atžymėtas"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Tu negali atžymėti šio paketo. Jis jau yra įdiegtas"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Tu negali atžymėti šio paketo. Jis privalo būti atnaujintas"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Įdiegti"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Išsaugoti pažymėjimą"
+
+#: steps_gtk.pm:406
+#, fuzzy, c-format
+msgid "Updating package selection"
+msgstr "Išsaugoti paketų pasirinkimą"
+
+#: steps_gtk.pm:411
+#, fuzzy, c-format
+msgid "Minimal install"
+msgstr "Išmesti"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programinės įrangos tvarkyklė"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Pasirink paketus, kuriuos tu nori įdiegti"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Įdiegiama"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Detalės"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Liko laiko "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Skaičiuojama"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketų"
+msgstr[1] "%d paketų"
+msgstr[2] "%d paketų"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Apibendrinimas"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Nustatyti"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "iš naujo nustatyti"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Įvyko klaida"
+
+#: steps_interactive.pm:97
+#, fuzzy, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Prašom pasirinkti klaviatūros išdėstymą."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Čia yra galimų klaviatūrų sąrašas"
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Įdiegti/Atnaujinti"
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ar tai įdiegimas, ar atnaujinimas?"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Atnaujinimas"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Slaptažodžiai nesutampa"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Nustatome IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Pakeisk CD!\n"
+"\n"
+"Prašom įkišti CD su užrašu „%s“ į kaupiklį, tada paspausk Gerai.\n"
+"Jei tu jo neturi, spausk Nutraukti, kad išvengtum įdiegimo iš šio CD."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ieškomi galimi paketai"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Įkelti"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Išsaugoti"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Įkelti bylą"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, fuzzy, c-format
+msgid "Type of install"
+msgstr "Pasirink paketą įdiegimui"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, fuzzy, c-format
+msgid "With X"
+msgstr "Palauk"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Visos"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Ruošiamas įdiegimas"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Įdiegiamas paketas %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Įvyko klaida, bandant sutvarkyti paketus:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vis tiek tęsti?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Išsaugoti paketų pasirinkimą"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Įvyko klaida, įdiegiant paketus:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigūracija po įdiegimo"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Atnaujinimai"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Jungiamasi prie atvaizdžio (mirror), kad gautume prieinamų paketų sąrašą"
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Uždrausti tinklą"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Geležis"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, fuzzy, c-format
+msgid "Sound card"
+msgstr "Standartinė"
+
+#: steps_interactive.pm:809
+#, fuzzy, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Ar turi dar vieną?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV plokštė"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "X paleidžiant"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Tinklas & Internetas"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Tarpinės stotys (proxies)"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "iš naujo nustatyti"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Saugumo lygis"
+
+#: steps_interactive.pm:876
+#, fuzzy, c-format
+msgid "Firewall"
+msgstr "Serveris, Firewall/Routeris"
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "Aktyvus"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "uždraustas"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Įkelties nustatymai"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s iš %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Ruošiama įkrovos tvarkyklė"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Ar nori naudoti aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Klaida įdiegiant aboot,\n"
+"bandyti įdiegti priverstinai, net jei tai sunaikintų pirmąjį skirsnį?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Įdėk tuščią diskelį į kaupiklį %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kuriamas automatinio įdiegimo diskelis"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Kai žingsniai buvo nebaigti.\n"
+"\n"
+"Ar tu nori išeiti dabar?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Sveikinimai"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Perkrauti"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Sukurti automatinio įdiegimo diskelį"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Automatinis įdiegimas reikalui esant gali būti pilnai\n"
+"automatizuotas. Tokiu atveju jis užims visą diską!!\n"
+"(turint omenyje įdiegimą į kitą dėžę).\n"
+"\n"
+"Jūs galbūt norėsite pakartoti įdiegimą.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Parodyti vėl"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatinis"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Išsaugoti paketų pasirinkimą"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Pasirink savo kalbą"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencija"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Pelė"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Kieto disko nustatymas"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatūra"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Saugumas"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Įdiegiama"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentikacija"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Vartotojai"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Tinklai"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Nustatyti X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Apibendrinimas"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Paslaugų nustatymai"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atnaujinimai"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Išeiti"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d paketų"
+#~ msgstr[1] "%d paketų"
+#~ msgstr[2] "%d paketų"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketų"
+
+#~ msgid "Language"
+#~ msgstr "Pasirink savo kalbą"
+
+#~ msgid "License"
+#~ msgstr "Licencija"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Parink įdiegimo klasę"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Skaičiuojama"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Pasirinkti paketus"
+
+#~ msgid "Users"
+#~ msgstr "Vartotojai"
+
+#~ msgid "Networking"
+#~ msgstr "Tinklai"
+
+#~ msgid "Configure X"
+#~ msgstr "Nustatyti X"
diff --git a/perl-install/install/share/po/ltg.po b/perl-install/install/share/po/ltg.po
new file mode 100644
index 000000000..484d7be4f
--- /dev/null
+++ b/perl-install/install/share/po/ltg.po
@@ -0,0 +1,1629 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-24 17:51+0200\n"
+"Last-Translator: Māris Laureckis <marlau@inbox.lv>\n"
+"Language-Team: Latgalian <linux@latgola.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Voi jiusim ir papyldus datu nesiejs?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Tyka atrosts sekojūšs datu nesiejs, kurs tiks lītuots instalacejis laikā: %"
+"s.\n"
+"\n"
+"\n"
+"Voi jiusim ir papyldus datu nesieji deļ uzstuodeišonys?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Teiklys (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Teiklys (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Teiklys (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Voi spūguļservera URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL juosasuoc ar ftp:// voi http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Pīsaslādzu Mandriva Linux teimekļam, lai sajimtu pīejamū spūguļserveru "
+"sarokstu..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Dasasliegšona Mandriva Linux teimekļam cīta naveiksmi, lai sajimtu pīejamū "
+"spūguļserveru sarokstu"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izavielejit spūguļserveri, nu kura jimt pakūtnis"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS uzstuodeišona"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Lyudzu, īvodit hosta vuordu i jiusu NFS datu nesieja katalogu"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Kaids ir NFS monteišonys hosta vuords?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalogs"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Iz ituo spūguļservera navar atrast pakūtņu saroksta failu. Puorbaudit, voi "
+"atsarūn pareizā vītā."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Mekleju jau īprīkš uzinstaleituos pakūtnis..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Teik nūdzāstys pakūtnis pyrms atjaunynuošonys..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Mekleju uzlobuojamuos pakūtnis"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Jius izavielēt sekojūšu(s) serveri(us): %s\n"
+"\n"
+"\n"
+"Itī serveri teik aktivizāti piec nūklusiejuma. Tim nav nikaidu zinomu "
+"drūšeibys\n"
+"tryukumu, bet jauni var tikt atrosti. Taidā gadīnī jiusim nūteikti tī "
+"juoatjaunynoj\n"
+"piec īspiejis uotruok.\n"
+"\n"
+"\n"
+"Voi tīšom gribit instalēt šūs serverus?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Sekuojūšys pakūtnis tiks nūjimtys, lai varātu uzlobuot jiusu sistemu: %s\n"
+"\n"
+"\n"
+"Voi teišom gribit nūjimt ituos pakūtnis?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sekojūši diski tika puorsaukti:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (īprīkš tika saukta kai %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Teiklys"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Lyudzu, izavielejit datu nesieju"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fails jau eksistej. Voi puorrakstēt pa viersu?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Pīeja līgta"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Naveiksmeigs NFS vuords"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Napareizs datu nesiejs %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Navar izveiduot ekrana attālus pyrms sadaļu izveidis"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekrana attāli byus pīejami piec instaleišonys %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalaceja"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguraceja"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Jiusim ir juoformatej ari %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Dažu jiusu datora aparaturys darbeibai napīcīšoī ``firmys'' draiveri.\n"
+"Papyldus informaceju par tim varit atrast ite: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Īdorbynoju teiklu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Atslādzu teiklu"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Teik šursyuteiti fail %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Teik kopātys dažys pakūtnis lītuošonai nuokūtnē"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Nūteik kopeišona"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "napīcīšoms"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "svareigs"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "ļūti vālams"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "vālams"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "varbyut"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 produktu lineja"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus guņsmyurs"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Dzeivaja reižimā"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kai pīsaregistrēt"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Tīšsaistis pakolpuojumi"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Jauna tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Dorba staceja"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Biroja dators"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biroja programmys: teksta procesori (OpenOffice.org Writer, Kword), "
+"izkluojlopys (OpenOffice.org Calc, Kspread), PDF skateituoji, u.c."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Biroja programmys: teksta procesori (kword, abiword), izkluojlopys (kspread, "
+"gnumeric), pdf skateituoji, u.c."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spēļu dators"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Izklaidis programmys: arkade, goldaspēlis, strategeja u.c."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedeju dators"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Skanis i video atskaņuošonys/redigeišonys programmys"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Interneta dators"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Reiku komplekts, lai laseitu i syuteitu postu voi jaunumus (mutt, tin..), i "
+"puorlyukuotu Puorstaipteiklu"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Teikla dators (klients)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti dažaidim protokolim, īskaitūt ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Reiki datora konfigureišonys atvīgluošonai"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsolis reiki"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktori, čaulys, failu reiki, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Izstruode"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ izstruodis bibliotekys, programmys i īkļautī faili"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentaceja"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Gruomotys i vaicuojumu par Linux i Breivū programmaturu"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linuks Standarta Bāze. Trešū izstruoduoju aplikaceju atbolsts"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Puorstaipteikla (Web) servers"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab servers"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Gunsmyurs/Maršrutizators"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneta vuorteja"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Posts/Jauns"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta servers, Inn ziņu servers"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogu Servers"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP servers"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS i NIS servers"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Failu un Printeru Kūplītuošonys servers"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS servers, Samba servers"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Datubāzis"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL i MySQL datubāžu servers"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Teimeklis/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Posts"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta servers"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL voi MySQL datubāžu servers"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Teikla datoru servers"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS servers, SMB servers, storpnīkservers (Proxy), ssh servers"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafiskuo vide"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE dorba staceja"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, golvonuo grafiskuo vide kūpā ar papyldus reiku "
+"kolekceju"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome dorba staceja"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafiskuo vide ar lītuotuojam draudzeigu programmu komplektu i dorba "
+"viersmys reikim"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Dorba viersma"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Cytys grafiskuos dorba viersmys"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm u.c."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitys"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH servers"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin attuolynuotuos konfiguracejis servers "
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Teikla utilitys/puorraudzeiba"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Puorraudzeibys reiki, procesu uzskaite, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva paleigi"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Servera konfiguracejis paleigi"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Nūtyka klaida, bet es nazynu, kai tū korekti apstruoduot.\n"
+"Turpynuot iz jiusu poša riska."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Dažys svareigys pakūtnis naizadeve pareizi instalēt.\n"
+"Ir būjuota jiusu kompaktdisku īkuorta voi instalacejis disks.\n"
+"Puorbaudit disku iz instaleituo datora, izmontojūt komandu \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Teik uzsuokts sūļs `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux instaleišona %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> puorīt"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Jiusu sistemai tryukst resursu. Mandriva Linux instaleišonys laikā var\n"
+"rastīs problemys. Ja tai nūteik, varit pamieginuot teksta režima "
+"instaleišonu. Lai tū izdareitu,\n"
+"nūspīdit`F1', kod nūteik īluode nu CDROM, tod īvodit `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakūtņu grupu izviele"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Atsevišku pakūtņu izviele"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kūpejais izmārs: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Slykta pakūtne"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verseja: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Izmārs: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Svareigums: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Jius varit izavielēt/atsateikt nu ituos pakūtnis"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "tryukuma dieļ %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "deļ naapmīrynuojuma %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "teik mieginuots aktivizēt %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "lai saglobuot %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Jius navarit izavielēt itū pakūtni, par tū ka napīteik vītys tuos "
+"instaleišonai"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Tiks instaleitys sekojūšys pakūtnis"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Tiks nūjimtys sekojūšys pakūtnis"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Itei ir obligata pakūtne, nu tuos navar atsateikt"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Jius navarit atsateikt nu ituos pakūtnis. Tei jau ir instaleita"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Jius navarit atsateikt nu ituos pakūtnis. Tū ir napīcīšoms uzlobuot"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Paruodeit automatiski izvālātuos pakūtnis"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalēt"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Īluodēt/Saglobuot izviele"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Teik atjaunynuota pakūtņu izviele"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimala instaleišona"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programmaturys puorvaļdeišona"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izavielejit pakūtnis, kū gribit instalēt"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Teik instaleits"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Nav detaļu"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Atlykušais laiks"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Aptuvenais nūviertiejums"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakūtnis"
+msgstr[1] "%d pakūtnis"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Kūpsavylkums"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurēt"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nav konfigurāts"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Atrosti sekojūši instalacejis datu nesieji.\n"
+"Ja jius gribit izlaist dažus nu tim, jius tagad varit nūjimt atzeimi nu tim."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Jiusim ir opceja, pyrms instalacejis nūkopēt kompaktdiska saturu uz cītu "
+"disku.\n"
+"Taidā veidā turpynuosīs nu cītuo diska un pakūtnis byus pīejamys cikom "
+"sistema tiks piļneibā uzinstaleita."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopēt vysu kompaktdisku"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Atkluota kliuda"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Lyudzu izavielejit jiusu klaviaturys izkuortuojumu."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ite ir pylns pīejamū klaviaturu saroksts"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalēt/Atjaunynuot"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Itei ir instaleišona voi atjaunynuošona?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Atjaunynuot %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Šifreišonys atslāga deļ %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Teik konfigurāts IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nav 1MB breivys vītys suokneišonys programmai! Instaleišona turpynuosīs, bet "
+"lai īluodātu sistemu, jiusim vajadzēs izveiduot suokneišonys programmys "
+"diska sadali programmā DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Jiusim vajadzēs izveiduot PPC PReP Boot suokneišonys programmu! Instaleišona "
+"turpynuosīs, bet lai īluodātu sistemu, jiusim vajadzēs izveiduot "
+"suokneišonys programmys diska sadali programmā DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Nūmainit jiusu kompaktdisku!\n"
+"\n"
+"Lyudzu īlicit īkuortā Cd-Rom \"%s\", kod tys ir izdareits, nūspūdit Labi\n"
+"Ja jiusim nav ituo diska, nūspīdit Atceļt, lai nainstaleitu nu ituo "
+"kompaktdiska."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mekleju pīejamuos pakūtnis"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lyudzu izavielejit īluodēt voi saglobuot pakūtņu izvieli.\n"
+"Formats ir taids pats, kai ar auto_install generātom failim."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Īluodēt"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Saglobuot"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Napareizs fails"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izvālātais apjūms ir leluoks nakai pīejamuo vīta"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Instalacejis tips"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Jius naizavielēt nivīnu pakūtņu grupu.\n"
+"Lyudzu, izavielejit minimalū instalaceju, kaidu jius gribit:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Ar X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Ar pamatdokumentaceju (īteicams!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Patīši minimala instalaceja (īpaši bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Vyss"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Sagataveju instaleišonu"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaleju pakūtni %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Pakūtņu kuortuošonys laikā atkluota kliuda:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Tūmār turpynuot?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Saglobuot pakūtņu izvieli"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Pakūtņu instaleišonys laikā atkluota kliuda:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Piecinstaleišonys konfigureišona"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Lyudzu, puorsalīcynojit ka Update Modules atsarū īkuortā %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Atjaunynuojumi"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Tagad jiusim ir īspieja šurpsyutēt atjaunynuotuos pakūtnis. Šuos pakūtnis "
+"tyka atjaunynuotys \n"
+"piec šuos distribucejis izlaišonys. Tuos var saturēt\n"
+"drūšeibys voi kliudu lobuojumus.\n"
+"\n"
+"Lai šursyuteitu šuos pakūtnis, jiusim juobyut Interneta \n"
+"savīnuojums.\n"
+"\n"
+"Voi jius gribit instalēt atjaunynuojumus?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Pīsaslādzu spūguļserveram, lai sajimtu pīejamū pakūtņu sarokstu"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Navar dasavīnuot pi spūguļservera %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Aparatura"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Skanis karte"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Vai jiusim ir ISA skanis karte?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Piec instaleišonys palaidit \"alsaconf\" voi \"sndconfig\", lai konfigurātu "
+"jiusu skanis karti"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Nav atrosta skanis karte. Piec instaleišonys izmieginit \"harddrake\""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV karte"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiskuo saskarne"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Teiklys & Internets"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Storpnīkserveri"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfigurāts"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Drūšeibys leimiņs"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Guņsmyurs"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivizāts"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "atslāgts"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Suoknēt"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s iz %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Jiusim nav nūkonfigurāts X servers. Voi jius asot puorlīcynuoti, ka jius tū "
+"gribit?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Sagataveju suokneituoju"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Izaver, ka jiusim ir vaca voi nazynomys izceļsmis dators, yaboot "
+"suokneituojs nastruoduos. Instaleišona turpynuosīs, bet jiusim byus "
+"juoizmontoj BootX voi kas cyts, lai īluodātu datoru. Kūdula arguments deļ "
+"root fs ir: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Voi gribit izmontuot aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Kliuda, instalejūt aboot, \n"
+"voi instalēt pīspīdu kuortā pat tod, ja tiks iznycynuota pyrmuo sadaļa?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Šymā drūšeibys leiminī, pīeeja Windows sadalis failim ir tikai "
+"administratoram."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Īlicit tukšu disketi īkuortā %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sagataveju auto instaleišonys disketi"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Daži sūli nav izpiļdeiti.\n"
+"\n"
+"Voi tīšom gribit izīt tagad?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Apsveicam"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Puorsuoknēt"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Sagatavēt auto instaleišonys disketi"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Ja gribit, automatiskuo instalaceja var byut piļneigi\n"
+"automatizāta, taidā gadīnī tei nūkopēs vysu cītū disku!!\n"
+"(tys ir dūmuots uzstuodēt uz cyta datora).\n"
+"\n"
+"Jius varbyut gribēsit atkuortuot instalaceju.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Atkuortuot"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisks"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Saglobuot pakūtņu izvieli"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Volūdys izviele"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "License"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Pele"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Cītuo diska nūteikšona"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instaleišonys klase"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klaviatura"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Drūšeiba"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Diska sadaleišona"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formateišona"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakūtņu izviele"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Teik instaleits"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentifikaceja"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Lītuotuoji"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Teikluošona"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Suokneituojs"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigureišona"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kūpsavylkums"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servisi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atjaunynuojumi"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izīt"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakūtnis"
+#~ msgstr[1] "%d pakūtnis"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakūtnis"
+
+#~ msgid "Language"
+#~ msgstr "Volūdys izviele"
+
+#~ msgid "License"
+#~ msgstr "License"
+
+#~ msgid "Installation class"
+#~ msgstr "Instaleišonys klase"
+
+#~ msgid "Formatting"
+#~ msgstr "Formateišona"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakūtņu izviele"
+
+#~ msgid "Users"
+#~ msgstr "Lītuotuoji"
+
+#~ msgid "Networking"
+#~ msgstr "Teikluošona"
+
+#~ msgid "Configure X"
+#~ msgstr "X konfigureišona"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Navar pīkliut kūdula moduļam, atbylstūšim jiusu kūdulam (fails %s nav "
+#~ "atrūnams), parosti tys nūzeimej, ka īluodis diskete nav sinhronizeita ar "
+#~ "instalacejis datu nesieju (lyudzu izveidojit jaunuoku īluodis disketi)"
diff --git a/perl-install/install/share/po/lv.po b/perl-install/install/share/po/lv.po
new file mode 100644
index 000000000..97be9faa3
--- /dev/null
+++ b/perl-install/install/share/po/lv.po
@@ -0,0 +1,1608 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2002-09-27 17:45+0200\n"
+"Last-Translator: Raivo Saars <spaiks@inbox.lv>\n"
+"Language-Team: Latvian <ll10nt@listes.murds.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
+"2);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Vai ir vēl kāds?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Tīkls"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Tīkls"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Pieslēdzos Mandriva Linux tīmeklim, lai saņemtu pieejamo spoguļserveru "
+"sarakstu sarakstu..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Pieslēdzos Mandriva Linux tīmeklim, lai saņemtu pieejamo spoguļserveru "
+"sarakstu sarakstu..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izvēlieties spoguļserveri, no kura ņemt pakotnes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalogs"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Nevar atrast %s uz %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Meklēju jau iepriekš uzinstalētās pakotnes..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Meklēju uzlabojamās pakotnes"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, fuzzy, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Jūs izvēlējāties sekojošu(s) serveri(us): %s\n"
+"\n"
+"\n"
+"Šie serveri tiek aktivizēti pēc noklusēšanas. Tiem nav nekādu zināmu "
+"drošības\n"
+"trūkumu, bet var tikt atrasti kādi jauni. Tādā gadījumā Jums noteikti tie "
+"jāuzlabo\n"
+"pēc iespējas ātrāk.\n"
+"\n"
+"\n"
+"Vai tiešām vēlaties instalēt šos serverus?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Sekojošas pakotnes tiks noņemtas, lai varētu uzlabot Jūsu sistēmu: %s\n"
+"\n"
+"\n"
+"Vai tiešām vēlaties noņemt šīs pakotnes?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Tiks instalētas sekojošas pakotnes"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Tīkls"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Lūdzu izvēlieties"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fails jau eksistē. Pārrakstīt?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Pieeja liegta"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "pievienoju datu nesēju %s."
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Nevar izveidot ekrāna attēlus pirms sadaļu izveides"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekrāna attēli būs pieejami pēc instalēšanas %s."
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Instalēju"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurācija"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Jums ir jāformatē arī %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Dažu jūsu datora dzelžu darbībai nepieciešami ``firmas'' draiveri.\n"
+"Papildus informāciju varat atrast šeit: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Iedarbinu tīklu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Atslēdzu tīklu"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Nosūtu failus..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Notiek noteikšana"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "nepieciešama"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "svarīga"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "ļoti derīga"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "derīga"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "varbūt"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Darbastacija"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Biroja dators"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Biroja programmas: teksta procesori (OpenOffice.org Writer, Kword), "
+"izklājlapas (OpenOffice.org Calc, Kspread), pdf skatītāji, u.c."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Biroja programmas: teksta procesori (kword, abiword), izklājlapas (kspread, "
+"gnumeric), pdf skatītāji, u.c."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spēļu dators"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Izklaides programmas: arkāde, galdiņspēles, stratēģija u.c."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimēdiju dators"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Skaņas un video atskaņošanas/rediģēšanas programmas"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Interneta dators"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Rīku komplekts, lai lasītu un sūtītu pastu vai jaunumus (pine, mutt, tin..) "
+"un pārlūkotu Tīmekli"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Tīkla dators (klients)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienti dažādiem protokoliem, ieskaitot ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Rīki datora konfigurēšanas atvieglošanai"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsoles rīki"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Redaktori, čaulas, failu rīki, termināļi"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Izstrāde"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C un C++ izstrādes bibliotēkas, programmas un include faili"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentācija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Grāmatas un Howto faili par Linux un Brīvo programmatūru"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web serveris"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "grupa"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveris"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Ugunsmūris/Maršrutizators"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Interneta vārteja"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Fails/_Jauns"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix pasta serveris"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Atjanot no CD"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveris"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domēna nosaukumu serveris"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Printera serveris"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Samba serveris"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Datubāzes"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL vai MySQL datubāzu serveris"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Tīmeklis/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Pasts"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "Postfix pasta serveris"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL vai MySQL datubāzu serveris"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Tīkla datoru serveris"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS serveris, SMB serveris, Proxy serveris, ssh serveris"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafiskā vide"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE darbastacija"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, galvenā grafiskā vide kopā ar papildus rīku kolekciju"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome darbastacija"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafiskā vide ar lietotājiem draudzīgu programmu komplektu un darbavirsmas "
+"rīkiem"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Darbavirsma"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Citas grafiskās darbavirsmas"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm u.c."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilites"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH serveris"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webmin serviss"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Mandriva termināļu servera konfigurācija"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Tīkla konfigurācija"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Linux kontroles centrs"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Konfigurēju printeri \"%s\"..."
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Atklāta kļūda, bet es nezinu, kā ar to pareizi apieties.\n"
+"Turpiniet, ja vēlaties riskēt."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Dažas svarīgas pakotnes neizdevās pareizi instalēt.\n"
+"Ir bojāta jūsu kompaktdisku iekārta vai instalācijas disks.\n"
+"Parbaudiet disku uz instalēta datora, izmantojot komandu \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Uzsāku soli `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux instalēšana %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pāriet"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Jūsu sistēmai trūkst resursu. Mandriva Linux instalēšanas laikā var\n"
+"rasties problēmas. Ja tā notiek, varat pamēģināt teksta instalēšanu.\n"
+"Lai to izdarītu, nospiediet`F1', ka notiek ielāde no CDROM, tad ievadiet\n"
+"`text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakotņu grupu izvēle"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Atsevišķu pakotņu izvēle"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kopējais izmērs: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Slikta pakotne"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versija: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Apjoms: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "Apjoms: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Svarīgums: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Jūs varat izvēlēties/atteikties no šīs pakotnes"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "trūkstošs kdesu"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Jūs nevarat izvēlēties šo pakotni, jo nepietiek vietas tās instalēšanai"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Tiks instalētas sekojošas pakotnes"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Tiks noņemtas sekojošas pakotnes"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Šī ir obligāta pakotne, no tās nevar atteikties"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Jūs nevarat atteikties no šīs pakotnes. Tā jau ir instalēta"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Jūs nevarat atteikties no šīs pakotnes. To ir nepieciešams uzlabot"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Parādīt automātiski izvēlētās pakotnes"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalēt"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Saglabāt iezīmēto"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Atjaunoju pakotņu izvēli"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimāla instalēšana"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Software Management"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izvēlieties pakotnes, ko vēlaties instalēt"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalēju"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Detaļas"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Atlikušais laiks"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Aprēķinu"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakotnes"
+msgstr[1] "%d pakotnes"
+msgstr[2] "%d pakotnes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Kopsavilkums"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurēt"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "pārkonfigurēt"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Atklāta kļūda"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Lūdzu izvēlieties jūsu tastatūras izkārtojumu."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Šeit ir pilns pieejamo tastatūru saraksts"
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Instalēt/Atjaunināt"
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Šī ir instalēšana vai atjaunināšana?"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Atjaunināt"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Šifrēšanas atslēga"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfigurēju IDE"
+
+#: steps_interactive.pm:221
+#, fuzzy, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nav 1MB brīvas vietas sāknēšanas programmai! Instalēšana turpināsies, bet "
+"lai ielādētu sistēmu, Jums būs nepieciešams izveidot sāknēšanas programmas "
+"disaka sadaļu programmā DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Nav 1MB brīvas vietas sāknēšanas programmai! Instalēšana turpināsies, bet "
+"lai ielādētu sistēmu, Jums būs nepieciešams izveidot sāknēšanas programmas "
+"disaka sadaļu programmā DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Nomainiet Cd-Rom!\n"
+"\n"
+"Lūdzu ielieciet iekārtā Cd-Rom \"%s\", kad tas ir izdarīts, nospiediet Labi\n"
+"Ja jums nav šī diska, nospiediet Atcelt, lai neinstalētu no šī Cd-Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Meklēju pieejamās pakotnes"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lūdzu izvēlieties ielādēt vai saglabāt pakotnes no/uz disketes.\n"
+"Formāts ir tāds pats, kā ar auto_install ģenerētām disketēm."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Ielādēt"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Saglabāt"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Ielādēt failu"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izvēlētais apjoms ir lielāks nekā pieejamā vieta"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Instalācijas tips"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Jūs neizvēlējāties nevienu pakotņu grupu.\n"
+"Lūdzu, izvēlieties minimālo instalāciju, kādu vēlaties:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Ar X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Ar pamatdokumentāciju (ieteicams!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Patiesi minimāla instalācija (īpaši bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Viss"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Sagatavoju instalēšanu"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalēju pakotni %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Pakotņu kārtošanas laikā atklāta kļūda:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Tomēr turpināt?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Saglabāt pakotņu izvēli"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Pakotņu instalēšanas laikā atklāta kļūda:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Pēcinstalēšanas konfigurēšana"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, fuzzy, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Jums ir iespēja lejuplādēt atjauninātas pakotnes. Šīs pakotnes tika "
+"izlaistas\n"
+"pēc distribūcijas izlaišanas. Tās var saturēt drošības vai kļūdu labojumus.\n"
+"\n"
+"Lai lejuplādētu šīs pakotnes, Jums jabūt darbojošamies Interneta "
+"savienojumam.\n"
+"\n"
+"Vai Jūs vēlaties instalēt jauninājumus?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Pieslēdzos spoguļserverim, lai saņemtu pieejamo pakotņu sarakstu"
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nevar atdalīt: %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Dzelži"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Skaņas karte"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Vai Jums ir ISA skaņas karte?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "Pēc instalēšanas palaidiet \"sndconfig\", lai konfigurētu skaņu karti"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Nav atrasta skaņu karte. Pēc instalēšanas izmēģiniet \"harddrake\""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV karte"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "X pēc startēšanas"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Tīkls & Internets"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Profils: "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "pārkonfigurēt"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Drošības Līmenis"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Ugunssiena"
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "aktivizēt"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "aizliegts"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Sāknēt"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s uz %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Sagatavoju sāknētāju"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Izskatās, ka Jums ir nezināmas izcelsmes dators,\n"
+"yaboot ielādētājs nedarbosies.\n"
+"Instalēšana turpināsies, bet Jums būs jāizmanto\n"
+"BootX, lai ielādētu datoru"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Kļūda, instalējot aboot, \n"
+"vai instalēt piespiedu kārtā pat tad, ja tiks iznīcināta pirmā sadaļa?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ielieciet tukšu disketi iekārtā %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Sagatavoju auto instalēšanas disketi"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Daži soļi nav izpildīti.\n"
+"\n"
+"Vai tiešām vēlaties iziet tūlīt?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Apsveicam"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Pārstartēt"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Sagatavot auto instalēšanas disketi"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Atkārtot"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automātisks"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Saglabāt pakotņu izvēli"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Valodas izvēle"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licence"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Pele"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Cietā diska noteikšana"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatūra"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Drošība"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalēju"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentifikācija"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Lietotāji"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Tīkli"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X konfigurēšana"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kopsavilkums"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servisi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Iziet"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakotnes"
+#~ msgstr[1] "%d pakotnes"
+#~ msgstr[2] "%d pakotnes"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakotnes"
+
+#~ msgid "Language"
+#~ msgstr "Valodas izvēle"
+
+#~ msgid "License"
+#~ msgstr "Licence"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Instalēšanas klases izvēle"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Aprēķinu"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Instalējamo pakotņu izvēle"
+
+#~ msgid "Users"
+#~ msgstr "Lietotāji"
+
+#~ msgid "Networking"
+#~ msgstr "Tīkli"
+
+#~ msgid "Configure X"
+#~ msgstr "X konfigurēšana"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Nevar piekļūt kodola moduļiem, atbilstošiem Jūsu kodolam (fails %s nav "
+#~ "atrodams), parasti tas nozīmē, ka ielādes diskete nav sinhronizēta ar "
+#~ "instalācijas datu nesēju (lūdzu izveidojiet jaunāku ielādes disketi)"
diff --git a/perl-install/install/share/po/mk.po b/perl-install/install/share/po/mk.po
new file mode 100644
index 000000000..a52d6b330
--- /dev/null
+++ b/perl-install/install/share/po/mk.po
@@ -0,0 +1,1635 @@
+# translation of DrakX-mk.po to Macedonian
+# Copyright (C) 2002,2003, 2004, 2006 Free Software Foundation, Inc.
+#
+# Danko Ilik <danko@mindless.com>, 2002,2003.
+# Vladimir Stefanov <vladoboss@mt.net.mk>, 2003.
+# Зоран Димовски <zoki@email.com>, 2003.
+# Danko Ilik <danko@on.net.mk>, 2003.
+# Зоран Димовски <decata@mt.net.mk>, 2004.
+# Zoran Dimovski <zoki.dimovski@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-mk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-24 20:39-0700\n"
+"Last-Translator: Zoran Dimovski <zoki.dimovski@gmail.com>\n"
+"Language-Team: Macedonian <mkde-l10n@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Дали имате уште додатни медиуми?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Пронајдени се следниве медиуми и ќе се користат во текот на инсталацијата: %"
+"s.\n"
+"\n"
+"\n"
+"Дали имате додатен инсталационен медиум за конфигурирање?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мрежа (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мрежа (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Мрежа (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL на огледалото?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL-то мора да започнува со „ftp://“ или „http://“"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Контактирање со веб сајтот на Мандрива Линукс за добивање на листата на "
+"огледала..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Не може да се воспостави врска веб страница на „Mandriva Linux“ за да се "
+"добие листата на достапни огледала"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Изберете огледало од кое да се преземат пакетите"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Поставување на „NFS“"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+"Ве молиме внесете го името на домаќинот и директориумот на вашиот „NFS“ "
+"медиум"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Име на домаќинот каде е монтиран „NFS“ ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Директориум"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Не мојажам да ја пронајдам hdlist датотеката на ова огледало"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Барање пакети што се веќе инсталирањен..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Отстранување на пакети поради надградување..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Барање пакети за надградба..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Сте ги избрале следниве сервери: %s\n"
+"\n"
+"Овие сервери се активираат автоматски. Тие немаат никакви познати стари\n"
+"сигурносни проблеми, но можно е да се појават нови. Во тој случај, треба да\n"
+"ги надградите пакетите што е можно побрзо.\n"
+"\n"
+"\n"
+"Дали навистина сакате да ги инсталирате овие сервери?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Следниве пакети ќе бидат отстранети за да се овозможи надградба на Вашиот\n"
+"систем: %s\n"
+"\n"
+"\n"
+"Дали навистина сакате да се избришат овие пакети?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следниве дискови се преименувани:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (претходно именувано како %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Ве молиме изберете медиум"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Датотеката веќе постои. Да се запише врз неа?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Недозволен пристап"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Лошо „NFS“ име"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Невалиден медиум %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Не можат да се прават снимки на екран пред партицирање"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Екранските снимки ќе бидат достапни по инсталацијата во %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Инсталација"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Конфигурација"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Мора да го форматирате и %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"На дел од хардверот на Вашиот компјутер му се потребни \"затворени\"\n"
+"(proprietary) драјвери за да работи. Некои информации за тоа можете\n"
+"да најдете на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Подигање на мрежата"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Спуштање на мрежата"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Снимање на датотека %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Копирање на некои пакети на дискот за понатамошна употреба"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Копирањето е во тек"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "мора да се има"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важно"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "одлично"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "убаво"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "можеби"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3Д"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "производна линија 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Несовладлив заштитен ѕид"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "`"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Како да се регистрирате"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "„Mandriva Online“ сервиси"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Нова тема"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Веб 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Работна станица"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Канцелариски"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Канцелариски програми: обработка на текст (OpenOffice.org Writer, Kword), "
+"табеларни пресметки (OpenOffice.org Calc, Kspread), прегледувачи на „PDF“ "
+"итн."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Канцелариски програми: обработка на текст (kword, abiword), табеларни "
+"пресметки (kspread, gnumeric), прегледувачи на „pdf“ итн."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Станица за игри"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркадни, на табла, стратегија, итн."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедијална станица"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пуштање и уредување на звук и видео"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Интернет станица"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Комплет алатки за читање и пракање е-пошта и вести (mutt, tin..) и "
+"прелистување на Интернет"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежен компјутер (клиент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенти за различни протоколи, вклучувајќи и „ssh“"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Алатки за лесно конфигурирање на вашиот компјутер"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Конзолски алатки"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Уредувачи, школки, алатки за датотеки, терминали"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Развој"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Развивачки датотеки за „C“ и „C++“, програми и „include“ датотеки"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документација"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и „Како да“ за „Linux“ и слободен софтвер"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "„Linux Standard Base“. Поддршка за апликации од други фирми"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб сервер"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Групи"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сервер"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Пошта/Вести"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "„Postfix“ сервер за пошта, „Inn“ сервер за вести"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Директориумски сервер"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "„FTP“ сервер"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име на доменот и сервер за мрежни информации"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер за споделување на датотеки и печатач"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "„NFS“ сервер, „Samba“ сервер"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "База на податоци"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "„PostgreSQL“ и „MySQL“ сервер за бази на податоци"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix сервер за пошта"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "„PostgreSQL“ или „MySQL“ сервер за бази на податоци"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежен компјутер-сервер"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "„NFS“ сервер, „SMB“ сервер, „Proxy“ сервер, „ssh“ сервер"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графичка околина"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "„KDE“ работна станица"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"„К“ работна околина, основната графичка околина со додатна колекција на "
+"придружни алатки"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "„GNOME“ работна станица"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графичка околина со кориснички пакет на алатки и алатки за работната површина"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "„IceWm“ работна површина"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графички работни околини"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, итн."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Помошни алатки"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сервер"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "„Webmin“"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "„Webmin“ оддалечен сервер за конфигурирање"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мрежни помошни алатки/надгледување"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Алатки за надгледување, раководење на процеси, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "„Mandriva“ волшебници"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Волшебници за конфигурирање на сервер"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Се случи грешка, но не знам како добро да се справам со неа.\n"
+"Продолжете на сопствен ризик."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Некои важни пакети не се инсталираа како што треба.\n"
+"Нешто не е во ред, или со Вашиот цедером или со цедеата.\n"
+"Проверете ги цедеата на инсталиран компјутер користејќи\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Премин на чекор \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Инсталација %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> помеѓу елементи"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Вашиот систем е слаб со ресурси. Може да Ви се појават проблеми\n"
+"при инсталирање. Ако тоа се случи, пробајте со текстуална инсталација.\n"
+"За тоа, притиснете \"F1\" кога ќе се подигне цедеромот, и потоа внесете\n"
+"\"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Групна селекција на пакети"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Подделна селекција на пакети"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Вкупна големина: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Лош пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Верзија:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Големина: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Важност: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Не можете да (не) го изберете овој пакет"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "поради недостасување на %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "поради незадоволување на %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "се обидувам да промовирам %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "за да се задржи %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Не можете да го изберете овој пакет, зашто нема доволно простор да се "
+"инсталира"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ќе бидат инсталирани следниве пакети"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следниве пакети ќе бидат отстранети"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ова е неопходен пакет, и не може да не се избере"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Не може да не го изберете овој пакет. Веќе е инсталиран"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+"Не можете да не го изберете овој пакет. Тој мора да се надгради (upgrade)"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Прикажи ги автоматски избраните пакети"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Инсталирај"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Вчитај/зачувај избор"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Освежување на изборот на пакети"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Минимална инсталација"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Менаџмент на софтвер"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изберете ги пакетите што сакате да се инсталираат"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Инсталирање"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Без детали"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Преостанато време "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Проценка"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакети"
+msgstr[1] "%d пакети"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Резиме"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Конфигурирај"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "не е конфигурирано"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Пронајдени се следниве инсталациски медиуми.\n"
+"Ако сакате да отстранете некои, можете сега да ги дештиклирате."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Имате опција да ја копирате содржината на CD-ата на дискот, пред самата "
+"инсталација.\n"
+"Потоа, инсталацијата ќе продолжи од хард дискот и пакетите ќе бидат достапни "
+"се додека системот е целосно инсталиран."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копирај ги сите CD-а"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Се случи грешка"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Изберете распоред на тастатура."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ова е целосна листа на достапни тастатури"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Инсталирај/Надогради"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Дали е ова инсталација или надградба?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Надгради %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Криптирачки клуч за %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Конфигурирање на IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Нема слободен простор за bootstrap од 1МБ! Инсталацијата ќе продолжи, но за "
+"да го подигнете Вашиот систем, ќе треба да креирате bootstrap партиција во "
+"DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Треба да креирате „PPC PReP Boot“ подигнување! Инсталацијата ќе продолжи, но "
+"за да го вклучите вашиот систем, ќе треба да креирате партиција за "
+"подигнување во „DiskDrake“"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Сменете го CD-то!\n"
+"\n"
+"Внесете го CD-то со наслов \"%s\" во вашиот уред и притиснете \"Во ред\".\n"
+"Ако го немате, притиснете \"Откажи\" за да не инсталирате од ова CD."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Барање достапни пакети..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Ве молиме изберете „вчитај“ или „зачувај“ го изборот на пакети\n"
+"Форматот е ист како за генерирани датотеки од „auto_install“."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Вчитај"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Зачувај"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Лоша датотека"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Избраната големина е поголема од слободниот простор"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Тип на инсталација"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Не сте избрале ниту една група пакети.\n"
+"Изберете ја минималната инсталација што ја сакате:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Со X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Со основна документација (препорачано!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Вистински минимална инсталација (без urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Сите"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Подготовка на инсталацијата"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Инсталирање на пакетот %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Се случи грешка во подредувањето на пакетите:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Да продолжиме?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Зачувување на селекцијата пакети"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Се случи грешка во инсталирањето на пакетите:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Пост-инсталациона конфигурација"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Ве молиме проверете дали медиумот со модулите за надградување е во уредот %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Надградби"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Имате можност да преземете надградени пакети. Овие пакети се издадени\n"
+"по издавањето на дистрибуцијата. Можно е да содржат поправки на\n"
+"грешки или безбедност.\n"
+"\n"
+"За преземање на овие пакети, потребно е да имате функционална Интернет\n"
+"врска.\n"
+"\n"
+"Дали сакате да ги инсталирате надградбите?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Контактирање со огледалото за добивање листа на достапни пакети..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Не можеше да контактира со другиот %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Хардвер(машински дел)"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Звучна картичка"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Дали имате ISA звучна картичка?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"По инсталацијата вклучете \"alsaconf\" или \"sndconfig\" за да ја "
+"конфигурирате звучаната картичка"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Не е детектирана звучна картичка. Обидете се со \"harddrake\" по "
+"инсталацијата"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "ТВ картичка"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Графички интерфејс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Прокси"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "конфигурирано"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Ниво на сигурност"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "активиран"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "оневозможено"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Подигање"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Се уште го ш конфигурирано Х. Дали навистина сакаш да го направиш ова?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Подговтвување на подигачот..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Изгледа дека имате стара или непозната машина, затоа „yaboot“ подигнувачот "
+"нема да работи. Инсталацијата ќе продолжи, но ќе треба да користите „BootX“ "
+"или некои други средства за подигнување на вашата машина. Аргументот на "
+"кернелот за „root fs“ е следниов: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Дали сакате да го користите aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Грешка при инсталирање aboot. \n"
+"Да се обидеме со сила, иако тоа може да ја уништи првата партиција?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Во ова безбедносно ниво, пристап до датотеките кои се наоѓаат на „Windows“ "
+"партицијата е дозволен само на администраторот."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Внесете празна дискета во %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Создавање дискета за авто-инсталација..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Некои чекори не се завршени.\n"
+"\n"
+"Дали навистина сакате сега да напуштите?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Честитки"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Рестартирај"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Генерирање дискета за авто-инсталација"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Автоматската инсталација може да биде целосно автоматска,\n"
+"но во тој случај таа ќе го преземе дискот!!\n"
+"(ова е наменето за инсталирање на друга машина).\n"
+"\n"
+"Можеби претпочитате да ја репризирате (replay) инсталацијата.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Реприза"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматска"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Зачувување на селекцијата пакети"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Јазик"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лиценца"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Глушец"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Детекција на хард дискот"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Класа на инсталација"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Тастатура"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Безбедност"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Партиционирање"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирање"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Избирање на пакети"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Инсталирање"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Автентикација"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Корисници"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Мрежа"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Подигач"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Конфигурирај Х"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Резиме"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Сервиси"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Надградби"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Излез"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакети"
+#~ msgstr[1] "%d пакети"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакети"
+
+#~ msgid "Language"
+#~ msgstr "Јазик"
+
+#~ msgid "License"
+#~ msgstr "Лиценца"
+
+#~ msgid "Installation class"
+#~ msgstr "Класа на инсталација"
+
+#~ msgid "Formatting"
+#~ msgstr "Форматирање"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Избирање на пакети"
+
+#~ msgid "Users"
+#~ msgstr "Корисници"
+
+#~ msgid "Networking"
+#~ msgstr "Мрежа"
+
+#~ msgid "Configure X"
+#~ msgstr "Конфигурирај Х"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Нема пристап до модулите на јадрото за Вашето јадро (датотеката %s "
+#~ "недостига). Ова обично значи дека Вашата boot-дискета не е синхронизирана "
+#~ "со инсталациониот медиум (креирајте понова boot-дискета)"
diff --git a/perl-install/install/share/po/mn.po b/perl-install/install/share/po/mn.po
new file mode 100644
index 000000000..51cf8a03d
--- /dev/null
+++ b/perl-install/install/share/po/mn.po
@@ -0,0 +1,1528 @@
+# translation of DrakX.po to Mongolian
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Khurelbaatar Lkhagavsuren <hujii247@yahoo.com>, 2003.
+# Khurelbaatar Lkhagvasuren <hujii247@yahoo.com>, 2003.
+# Sanlig Badral <Badral@openmn.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-01-02 00:35+0100\n"
+"Last-Translator: Sanlig Badral <Badral@openmn.org>\n"
+"Language-Team: Mongolian <openmn-core@lists.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Та ямар нэгэн %s гэсэн харагдалттай юу?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "КД-РОМ"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Сүлжээ"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Сүлжээ"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, fuzzy, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "сайт жигсаалт аас."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "сайт жигсаалт аас."
+
+#: any.pm:244
+#, fuzzy, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Сонгох"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Лавлах"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "%s: %s-ийг холбож чадахгүй: %s\n"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Дараах багцууд суулгагдах гэж байна"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "ТЭ"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Сүлжээ"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr ""
+"Нөөцлөх зөөврийн төхөөрөмжөө\n"
+"сонгоно уу."
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Хандалт нурлаа"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Хуваалт үүсгэхийн өмнө агшин дэлгэцүүдийг хийж чадахгүй"
+
+#: any.pm:1301
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ямх"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Суулгалт"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Тохиргоо"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr ""
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr ""
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Файлууд илгээж байна..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "ямх"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "маш аятайхан"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "аятайхан"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "магадгүй"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:25
+#, fuzzy, c-format
+msgid "Office Workstation"
+msgstr "Албан газар"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, fuzzy, c-format
+msgid "Game station"
+msgstr "Тоглоом"
+
+#: share/meta-task/compssUsers.pl:34
+#, fuzzy, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Зугаа цэнгэл"
+
+#: share/meta-task/compssUsers.pl:37
+#, fuzzy, c-format
+msgid "Multimedia station"
+msgstr "Мультимедиа"
+
+#: share/meta-task/compssUsers.pl:38
+#, fuzzy, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Дуу"
+
+#: share/meta-task/compssUsers.pl:43
+#, fuzzy, c-format
+msgid "Internet station"
+msgstr "Интернэт"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "аас"
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "Сүлжээ"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "аас"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, fuzzy, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Засварлагчууд"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Хөгжүүлэл"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, fuzzy, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C C"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Баримтжуулалт"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, fuzzy, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Стандарт"
+
+#: share/meta-task/compssUsers.pl:84
+#, fuzzy, c-format
+msgid "Web Server"
+msgstr "Вэб"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "бүлэг"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "Самба"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернэт гарц"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Файл/_Шинэ"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Мэйл"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Сэргээх Илгээгч"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Сервер"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Домэйн Нэрний Сервер"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Хэвлэгч"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Самба"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Өгөгдлийн сан"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Мэйл"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "Мэйл"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "Сүлжээ"
+
+#: share/meta-task/compssUsers.pl:138
+#, fuzzy, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Итгэмжилэгч"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:146
+#, fuzzy, c-format
+msgid "KDE Workstation"
+msgstr "KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, fuzzy, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Ажилын талбар аас"
+
+#: share/meta-task/compssUsers.pl:151
+#, fuzzy, c-format
+msgid "GNOME Workstation"
+msgstr "KDE"
+
+#: share/meta-task/compssUsers.pl:152
+#, fuzzy, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "аас"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Ширээний компьютер"
+
+#: share/meta-task/compssUsers.pl:159
+#, fuzzy, c-format
+msgid "Other Graphical Desktops"
+msgstr "Бусад"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Цонх"
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Филлипинни"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Вэб дуран"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Терминал Сервер"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Сүлжээ толидох"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Мандрива удирдлагын төв"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "\"%s\" хэвлэгч дээр хэвлэж байна"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: steps.pm:426
+#, fuzzy, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr "бол"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, fuzzy, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Мандрива удирдлагын төв"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, fuzzy, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr "бол Та вы текст текст."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, fuzzy, c-format
+msgid "Package Group Selection"
+msgstr "Пакет Групп"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Тусдаа дан багц сонгох"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, fuzzy, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Нийт хэмжээ"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Тааруухан багц"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Хувилбар: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Хэмжээ: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d КБ\n"
+
+#: steps_gtk.pm:317
+#, fuzzy, c-format
+msgid "Importance: "
+msgstr "Цонтууд импортлох"
+
+#: steps_gtk.pm:351
+#, fuzzy, c-format
+msgid "You can not select/unselect this package"
+msgstr "Та"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr ""
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, fuzzy, c-format
+msgid "trying to promote %s"
+msgstr "Юу ч үгүй"
+
+#: steps_gtk.pm:358
+#, fuzzy, c-format
+msgid "in order to keep %s"
+msgstr "ямх"
+
+#: steps_gtk.pm:363
+#, fuzzy, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Та бол зүүн"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Дараах багцууд суулгагдах гэж байна"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, fuzzy, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Та бол"
+
+#: steps_gtk.pm:396
+#, fuzzy, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Та"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Автоматаар сонгогдсон багцуудыг харуулах"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Суулга"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Пакет"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr ""
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr ""
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr ""
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сонгохыг хүсэж буй багцаа сонгоно уу"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Суулгалт"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Үгүй"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Үлдэж буй хугацаа"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr ""
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "Тааруухан багц"
+msgstr[1] "Тааруухан багц"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Дүгнэлт"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Тохируулах"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr ""
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr ""
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Та гарын байрлалаа сонгоно уу."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "бол бүрэн жигсаалт аас"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr ""
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr ""
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr ""
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE-г тохируулах"
+
+#: steps_interactive.pm:221
+#, fuzzy, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr "Үгүй вы ямх"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr "Үгүй вы ямх"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr "ачаалах бол."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Процессор ачаалж байна"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Хадгалах"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Файлыг ачаалах"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Сонгогдсон хэмжээ нь боломжтой зайнаас их байна"
+
+#: steps_interactive.pm:483
+#, fuzzy, c-format
+msgid "Type of install"
+msgstr "Төрөл аас"
+
+#: steps_interactive.pm:484
+#, fuzzy, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr "Та бүлэг аас вы:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, fuzzy, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "үгүй"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Бүгд"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Суулгалтын бэлтгэл"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, fuzzy, c-format
+msgid "Go on anyway?"
+msgstr "Очих?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Хадгалах"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Багцуудыг суулгахад алдаа гарлаа:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Суулгалтын тохируулгыг батал"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, fuzzy, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr "Та г вы Интернэт г вы?"
+
+#: steps_interactive.pm:660
+#, fuzzy, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "жигсаалт аас."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr ""
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Техник хангамж"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Дууны карт"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Та ISA дууны карттай юу?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "Ажиллуулах"
+
+#: steps_interactive.pm:813
+#, fuzzy, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Үгүй Reyna"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr ""
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr ""
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, fuzzy, c-format
+msgid "Network & Internet"
+msgstr "Сүлжээ"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Польш"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "Тохируулах"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Хамгаалалтын төвшин"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "хаалттай"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Эхлүүлэл"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s -д %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Та Х-г тохируулаагүй байна. Та үүнийг хийхдээ итгэлтэй байна уу?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr ""
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, fuzzy, c-format
+msgid "Do you want to use aboot?"
+msgstr "вы?"
+
+#: steps_interactive.pm:986
+#, fuzzy, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr "Алдаа?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, fuzzy, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Оруулах ямх"
+
+#: steps_interactive.pm:1034
+#, fuzzy, c-format
+msgid "Creating auto install floppy..."
+msgstr "Үүсгэж байна."
+
+#: steps_interactive.pm:1045
+#, fuzzy, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr "г вы?"
+
+#: steps_interactive.pm:1055
+#, fuzzy, c-format
+msgid "Congratulations"
+msgstr "Баяр хүргэе!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Дахин ачаал"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr ""
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, fuzzy, c-format
+msgid "Save packages selection"
+msgstr "Хадгалах"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Хэл"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr ""
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Хулгана"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Хатуу диск хөтлөгч танилт"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Гар"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Нууцлал"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Суулгалт"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Баталгаажуулалт"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Хэрэглэгчид"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Сүлжээ"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Дүгнэлт"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Үйлчилгээ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Гарах"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "Тааруухан багц"
+#~ msgstr[1] "Тааруухан багц"
+
+#~ msgid "Language"
+#~ msgstr "Хэл"
+
+#, fuzzy
+#~ msgid "License"
+#~ msgstr "Лиценз"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Суулгалтын ангилалыг сонгох"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Формат"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Сонгох"
+
+#~ msgid "Users"
+#~ msgstr "Хэрэглэгчид"
+
+#~ msgid "Networking"
+#~ msgstr "Сүлжээ"
+
+#, fuzzy
+#~ msgid "Configure X"
+#~ msgstr "Тохируулах"
diff --git a/perl-install/install/share/po/ms.po b/perl-install/install/share/po/ms.po
new file mode 100644
index 000000000..6bf11f780
--- /dev/null
+++ b/perl-install/install/share/po/ms.po
@@ -0,0 +1,1543 @@
+# DrakX Bahasa Melayu (Malay) (ms).
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-02-19 14:09+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Masukkan fail lain ke file semasa"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Tetapan HTTP"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Tetapan FTP"
+
+#: any.pm:173
+#, fuzzy, c-format
+msgid "Network (NFS)"
+msgstr "Imej NFS"
+
+#: any.pm:212
+#, fuzzy, c-format
+msgid "URL of the mirror?"
+msgstr "URL Autokonfigurasi:"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, fuzzy, c-format
+msgid "NFS setup"
+msgstr "Tetapan NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Titik lekapan NFS"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktori"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ralat pada baris %d: %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+
+#: any.pm:383
+#, fuzzy, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Ralat berlaku bila mencari pakej untuk dinaiktaraf."
+
+#: any.pm:426
+#, fuzzy, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Mencari pakej untuk dinaiktaraf..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, fuzzy, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr "default Masuk"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Peranti audio berikut telah dikesan."
+
+#: any.pm:1083
+#, fuzzy, c-format
+msgid "%s (previously named as %s)"
+msgstr "Format sebagai Swap?"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rangkaian"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Pilih jenis media"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fail Khas peranti telah wujud dalam gugusan"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Izin ditolak"
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "Bad NFS name"
+msgstr "Nama pelayan NFS:"
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "Pemeriksaan Media"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr ""
+
+#: any.pm:1301
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "dalam"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Memasang"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurasikan"
+
+#: install2.pm:165
+#, fuzzy, c-format
+msgid "You must also format %s"
+msgstr "Anda mesti masukkan direktori."
+
+#: interactive.pm:16
+#, fuzzy, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr "on"
+
+#: interactive.pm:22
+#, fuzzy, c-format
+msgid "Bringing up the network"
+msgstr "Menaikkan antaramuka $i: "
+
+#: interactive.pm:27
+#, fuzzy, c-format
+msgid "Bringing down the network"
+msgstr "Mematikan daemon palam rangkaian: "
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Menyalin Fail"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Segerak sedang berjalan"
+
+#: pkgs.pm:27
+#, fuzzy, c-format
+msgid "must have"
+msgstr "Mesti nyatakan nilai"
+
+#: pkgs.pm:28
+#, fuzzy, c-format
+msgid "important"
+msgstr "Nota penting:"
+
+#: pkgs.pm:29
+#, fuzzy, c-format
+msgid "very nice"
+msgstr "Sangat Tinggi"
+
+#: pkgs.pm:30
+#, fuzzy, c-format
+msgid "nice"
+msgstr "Bantuan yang mulia"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, fuzzy, c-format
+msgid "Invictus Firewall"
+msgstr "_Konfigurasikan Firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, fuzzy, c-format
+msgid "New Theme"
+msgstr "Tambah alamat baru..."
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "StesyenKerja"
+
+#: share/meta-task/compssUsers.pl:25
+#, fuzzy, c-format
+msgid "Office Workstation"
+msgstr "StesyenKerja Default"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, fuzzy, c-format
+msgid "Game station"
+msgstr "Permainan memori"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, fuzzy, c-format
+msgid "Multimedia station"
+msgstr "Menu multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, fuzzy, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Bunyi dan"
+
+#: share/meta-task/compssUsers.pl:43
+#, fuzzy, c-format
+msgid "Internet station"
+msgstr "Internet Bergrafik"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "dan dan dan"
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "Memulakan sm-client: "
+
+#: share/meta-task/compssUsers.pl:50
+#, fuzzy, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "protokol"
+
+#: share/meta-task/compssUsers.pl:55
+#, fuzzy, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ujian"
+
+#: share/meta-task/compssUsers.pl:59
+#, fuzzy, c-format
+msgid "Console Tools"
+msgstr "Alatan Pentadbiran"
+
+#: share/meta-task/compssUsers.pl:60
+#, fuzzy, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Penyunting fail"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Pembangunan"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, fuzzy, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Pustaka dan fail selitan untuk Oaf."
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasi"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, fuzzy, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "dan on dan Bebas"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, fuzzy, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Asas"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Pelayan Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "Pelayan Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, fuzzy, c-format
+msgid "Firewall/Router"
+msgstr "_Konfigurasikan Firewall"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, fuzzy, c-format
+msgid "Internet gateway"
+msgstr "Gateway Tidak Sah"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "Pelayan Berita"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Sistem InterNetNews (INN), pelayan berita Usenet."
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Pelayan Direktori"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Pelayan FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Name=Pelayan Fail Awam"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "(%ld)PELAYAN >>> %s"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Konfigurasi Pelayan Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Pangkalan Data"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mel"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "Pelayan Mel (SMTP)"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "Pelayan Rangkaian Lama"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, fuzzy, c-format
+msgid "Graphical Environment"
+msgstr "Pembolehubah Persekitaran"
+
+#: share/meta-task/compssUsers.pl:146
+#, fuzzy, c-format
+msgid "KDE Workstation"
+msgstr "StesyenKerja Default"
+
+#: share/meta-task/compssUsers.pl:147
+#, fuzzy, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Desktop Persekitaran asas"
+
+#: share/meta-task/compssUsers.pl:151
+#, fuzzy, c-format
+msgid "GNOME Workstation"
+msgstr "StesyenKerja Default"
+
+#: share/meta-task/compssUsers.pl:152
+#, fuzzy, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "A pengguna dan"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop Default:"
+
+#: share/meta-task/compssUsers.pl:159
+#, fuzzy, c-format
+msgid "Other Graphical Desktops"
+msgstr "Pada Semua Desktop"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utiliti"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "_Pelayan NIS:"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Alatan Tetapan Pelayan NFS"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Aplet pengawas rangkaian"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Wizard pelayan"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Sila tetapkan pelayan PXE"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ralat telah berlaku, tetapi saya tidak tahu bagaimana untuk mengawalnya "
+"dengan baik.\n"
+"Teruskan atas risiko anda."
+
+#: steps.pm:426
+#, fuzzy, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr "on"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, fuzzy, c-format
+msgid "Entering step `%s'\n"
+msgstr "Memasuki permulaan interaktif"
+
+#: steps_curses.pm:22
+#, fuzzy, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Arahan Pemasangan - Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, fuzzy, c-format
+msgid "Package Group Selection"
+msgstr "Pemilihan Kumpulan Pakej"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, fuzzy, c-format
+msgid "Individual package selection"
+msgstr "Pemilihan Pakej Satu Persatu"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, fuzzy, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Saiz dicadangkan (MB):"
+
+#: steps_gtk.pm:313
+#, fuzzy, c-format
+msgid "Bad package"
+msgstr "Pakej Hilang"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versi: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Saiz: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr ""
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr ""
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "kerana kehilangan %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "kerana ketidakpuasan %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "cuba untuk menaikkan %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "untuk menyimpan %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+
+#: steps_gtk.pm:366
+#, fuzzy, c-format
+msgid "The following packages are going to be installed"
+msgstr ""
+"Untuk memenuhi kebergantungan, %d pakej berikut perlu dipasang:\n"
+"%s\n"
+
+#: steps_gtk.pm:367
+#, fuzzy, c-format
+msgid "The following packages are going to be removed"
+msgstr ""
+"Untuk memenuhi kebergantungan, %d pakej berikut perlu dipasang:\n"
+"%s\n"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Pasang"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "/Simpan/Muat pra-tetap auto"
+
+#: steps_gtk.pm:406
+#, fuzzy, c-format
+msgid "Updating package selection"
+msgstr "Pemilihan Pakej Satu Persatu"
+
+#: steps_gtk.pm:411
+#, fuzzy, c-format
+msgid "Minimal install"
+msgstr "Tetingkap Pemasangan"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Pengurusan Perisian"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, fuzzy, c-format
+msgid "Choose the packages you want to install"
+msgstr "Dimana anda ingin pemuatbut ini dipasang?"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Memasang"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "Perincian bagi '%s'"
+
+#: steps_gtk.pm:483
+#, fuzzy, c-format
+msgid "Time remaining "
+msgstr "/Masa yang Tinggal"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr ""
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] " Pakej"
+msgstr[1] " Pakej"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Ringkasan"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Buat konfigurasi"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "Firewall tidak dikonfigurasikan."
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, fuzzy, c-format
+msgid "Copy whole CDs"
+msgstr "Tulis CD/DVD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ralat telah berlaku"
+
+#: steps_interactive.pm:97
+#, fuzzy, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Sila pilih jenis logmasuk anda:"
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "penuh"
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "Pemeriksaan Naiktaraf"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr ""
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Naiktaraf"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "Mencari pemasang %s ..."
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, fuzzy, c-format
+msgid "Configuring IDE"
+msgstr "Pengawal IDE"
+
+#: steps_interactive.pm:221
+#, fuzzy, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr "Tidak Install dalam"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr "Tidak Install dalam"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+
+#: steps_interactive.pm:340
+#, fuzzy, c-format
+msgid "Looking for available packages..."
+msgstr "Pakej Mozilla untuk platform x86"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr "on."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Muatan"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Simpan"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Menyalin Fail"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, fuzzy, c-format
+msgid "Type of install"
+msgstr "Tetingkap Pemasangan"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, fuzzy, c-format
+msgid "With X"
+msgstr "%s dengan %s"
+
+#: steps_interactive.pm:488
+#, fuzzy, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "asas"
+
+#: steps_interactive.pm:489
+#, fuzzy, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "tidak"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Semua"
+
+#: steps_interactive.pm:544
+#, fuzzy, c-format
+msgid "Preparing installation"
+msgstr "Jenis Pemasangan"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, fuzzy, c-format
+msgid "There was an error ordering packages:"
+msgstr ""
+"Tedapat ralat memasang pakej.\n"
+"\n"
+"Keluar."
+
+#: steps_interactive.pm:576
+#, fuzzy, c-format
+msgid "Go on anyway?"
+msgstr "%s %s pemasangan pada hos %s"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Pemilihan Pakej Satu Persatu"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr ""
+"Tedapat ralat memasang pakej.\n"
+"\n"
+"Keluar."
+
+#: steps_interactive.pm:604
+#, fuzzy, c-format
+msgid "Post-install configuration"
+msgstr "Melakukan konfigurasi pasca pemasangan"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Kemaskini"
+
+#: steps_interactive.pm:639
+#, fuzzy, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr "Internet?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Tidak boleh untuk akses ke CDROM"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Perkakasan"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, fuzzy, c-format
+msgid "Sound card"
+msgstr "Kad Bunyi"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr ""
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, fuzzy, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Tidak"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Kad TV"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "Konfigurasi (X) Antaramuka Grafikal"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rangkaian & Internet"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Tetapkan proksi"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "ditetapkan"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Tahap Keselamatan"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "dimatikan"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s pada %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, fuzzy, c-format
+msgid "Preparing bootloader..."
+msgstr "Memasang PemuatBoot..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Entah\n"
+"\n"
+
+#: steps_interactive.pm:983
+#, fuzzy, c-format
+msgid "Do you want to use aboot?"
+msgstr "Apa yang anda ingin lakukan sekarang?"
+
+#: steps_interactive.pm:986
+#, fuzzy, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr "Ralat?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, fuzzy, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "masukkan cakera liut kosong ke dalam pemacu cakera liut"
+
+#: steps_interactive.pm:1034
+#, fuzzy, c-format
+msgid "Creating auto install floppy..."
+msgstr "Janakan cakera liut Auto Pasang"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Tahniah"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Boot semula"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, fuzzy, c-format
+msgid "Generate auto install floppy"
+msgstr "Janakan cakera liut Auto Pasang"
+
+#: steps_interactive.pm:1065
+#, fuzzy, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr "on"
+
+#: steps_interactive.pm:1070
+#, fuzzy, c-format
+msgid "Replay"
+msgstr "Main semula Log"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr ""
+
+#: steps_interactive.pm:1073
+#, fuzzy, c-format
+msgid "Save packages selection"
+msgstr "Pemilihan Pakej Satu Persatu"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Bahasa"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lesen"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Tetikus"
+
+#: steps_list.pm:19
+#, fuzzy, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Partisyen Pemacu Keras:"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Papan Kekunci"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Keselamatan"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pempartisyenan"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Memasang"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Pengesahan"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Pengguna"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rangkaian"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr ""
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ringkasan"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Perkhidmatan"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Kemaskini"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Keluar"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] " Pakej"
+#~ msgstr[1] " Pakej"
+
+#~ msgid "Language"
+#~ msgstr "Bahasa"
+
+#~ msgid "License"
+#~ msgstr "Lesen"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Pilih protokol untuk pemasangan:"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Edit Partisyen"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "_Pasang pakej untuk memuaskan kebergantungan"
+
+#~ msgid "Users"
+#~ msgstr "Pengguna"
+
+#~ msgid "Networking"
+#~ msgstr "Rangkaian"
+
+#, fuzzy
+#~ msgid "Configure X"
+#~ msgstr "Konfigurasikan %s"
+
+#, fuzzy
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr "fail dalam dalam"
diff --git a/perl-install/install/share/po/mt.po b/perl-install/install/share/po/mt.po
new file mode 100644
index 000000000..e5900061c
--- /dev/null
+++ b/perl-install/install/share/po/mt.po
@@ -0,0 +1,1619 @@
+# translation of mt.po to Maltese
+# translation of DrakX-mt.po to Maltese
+# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc.
+# Ramon Casha <ramon.casha@linux.org.mt>, 2002,2003, 2004.
+# Ramon Casha <rcasha@waldonet.net.mt>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-10-04 18:45+0200\n"
+"Last-Translator: Ramon Casha <ramon.casha@linux.org.mt>\n"
+"Language-Team: Maltese <mt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Għandek iżjed sorsi supplimentari?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Network (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Network (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL tal-mera?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Qed nikkuntattja l-website ta' Mandriva Linux biex nikseb lista tal-mirja "
+"disponibbli"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Qed nikkuntattja l-website ta' Mandriva Linux biex nikseb lista tal-mirja "
+"disponibbli"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Agħżel mera minn fejn trid iġġib il-pakketti"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direttorju"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Ma nistax insib fajl hdlist fuq din il-mera"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Qed naqra l-pakketti diġà nstallati..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Qed insib pakketti x'naġġorna"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Int għażilt dan is-server/s: %s\n"
+"\n"
+"\n"
+"Dawn is-servers huma attivati impliċitament. M'għandhom ebda problemi ta'\n"
+"sigurtà magħrufa, imma jistgħu jinstabu ġodda minn żmien għal żmien. "
+"Għalhekk,\n"
+"importanti li żżommhom aġġornati.\n"
+"\n"
+"\n"
+"Żgur li trid tinstalla dawn is-servers?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Dawn il-pakketti se jitneħħew biex iħalluk taġġorna s-sistema: %s\n"
+"\n"
+"\n"
+"Żgur li trid tneħħi dawn il-pakketti?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "- %s tneħħa\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "PFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Network"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Jekk jogħġbok agħżel wieħed"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fajl diġà jeżisti. Tuża lilu?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permess miċħud"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "ġie miżjud is-sors %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ma nistax nieħu ritratti tal-iskrin qabel toħloq il-partizzjonijiet"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ir-ritratti jkunu disponibbli wara l-installazzjoni f' %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Qed ninstalla"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurazzjoni"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Trid ukoll tifformattja %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Xi apparat fil-kompjuter tiegħek jeħtieġ drajvers speċjali biex jaħdem.\n"
+"Tista' ssib iżjed informazzjoni dwarhom fuq: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Qed intella' n-network"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Qed inniżżel in-network"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Qed nibgħat fajls..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Għaddej l-għarfien"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "neċessarju"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importanti"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "tajjeb ħafna"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "tajjeb"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "forsi"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kompjuter tal-Uffiċċju"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programmi tal-uffiċċju: wordprocessors (OpenOffice.org Writer, Kword), "
+"spreadsheet (OpenOffice.org Calc, Kspread) eċċ"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programmi tal-uffiċċju: wordprocessors (kword, abiword), spreadsheet "
+"(kspread, gnumeric) eċċ"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Logħob"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programmi ta' divertiment: logħob tal-arcaDES, karti, strateġija eċċ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedja"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programmi għad-daqq u editjar ta' awdjo u video"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Sett għodda biex taqra u tibgħat imejl u \"news\", u biex tibbrawżja l-web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Kompjuter fuq network (klijent)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti għal protokolli differenti, eż. SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Għodda biex tiffaċilita l-konfigurazzjoni tal-kompjuter"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Għodda tal-konsol"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Edituri, shells, għodda tal-fajls, terminals"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Żviluppar"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Libreriji, programmi u fajls għal żviluppar C u C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentazzjoni"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Kotba u \"HOWTO\" dwar il-Linux u Softwer Ħieles"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Sapport ta' programmi ta' terzi partiti"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server tal-web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Grupp"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway tal-internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/File/_Ġdid"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server tal-imejl Postfix"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Direttorju minn fejn trid tirrestawra"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server tal-ismijiet tad-dominji"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server tal-printer"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server tad-database PostgreSQL jew MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Imejl"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server tal-imejl Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server tad-database PostgreSQL jew MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Kompjuter Server tan-Network"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servers NFS, SMB, Proxy, ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambjent Grafiku"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Stazzjon KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, l-interfaċċja grafika bażi, b'għażla ta' għodda "
+"jakkumpanjawha"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stazzjon GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Ambjent grafiku b' għażla ta' programmi u għodda faċli"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Desktops Grafiċi Oħrajn"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, eċċ"
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Filippini"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webcam"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Konfigurazzjoni tat-Terminal Server"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Monitoraġġ tan-network"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Prodotti Mandriva</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Ma stajtx nikkonfigura l-printer \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Inqalgħet problema, imma ma nafx kif nieħu ħsieba sew.\n"
+"Tista' tkompli b'riskju tiegħek"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Xi pakketti importanti ma ġewx installati sew.\n"
+"Jew id-drajv tas-CDROM, jew is-CD nnifisha huma difettużi.\n"
+"Tista' tiċċekkja s-CD fuq kompjuter diġà nstallat permezz tal-kmand \"rpm -"
+"qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Dieħel fil-pass \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Installazzjoni Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> bejn l-elementi"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Is-sistema hija nieqsa mir-riżorsi. Jista' jkollok problema biex tinstalla \n"
+"l-Mandriva Linux. Jekk jiġri dan, ipprova installazzjoni testwali. Għal "
+"dan,\n"
+"agħfas F1 meta titla' s-CD, imbagħad ittajpja \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Għażla ta' gruppi ta' pakketti"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Agħżel pakketti individwalment"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Daqs totali: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pakkett ħażin"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verżjoni: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Daqs: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importanza: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ma tistax tagħżel/tneħħi dan il-pakkett"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "minħabba %s nieqes"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "minħabba %s mhux sodisfatt"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "qed nipprova nippromwovi %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "sabiex inżomm %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ma tistax tagħżel dan il-pakkett għax ma fadalx biżżejjed spazju għalih"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Dawn huma l-pakketti li se jiġu nstallati"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Dawn huma l-pakketti li se jiġu mneħħija"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dan il-pakkett huwa kruċjali, ma jistax jitneħħa"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Ma tistax tneħħi l-għażla minn dan il-pakkett, diġà nstallat."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ma tistax tneħħi l-għażla minn dan il-pakkett. Irid jiġi aġġornat."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Uri l-pakketti magħżula awtomatikament"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installa"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Għażla ta' pakketti"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Qed naġġorna l-għażla ta' pakketti"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Installazzjoni minima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Maniġġjar ta' softwer"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Agħżel il-pakketti li trid tinstalla"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Qed ninstalla"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Ebda dettalji"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Ħin li fadal "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Qed nieħu stima"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakketti"
+msgstr[1] "%d pakketti"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sommarju"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Ikkonfigura"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "mhux konfigurat"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Dawn is-sorsi ta' installazzjoni instabu.\n"
+"Jekk trid taqbeż uħud minnhom, tista' tneħħi l-marka issa."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Inqalgħet problema"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Jekk jogħġbok agħżel tqassim tat-tastiera."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Din hi lista sħiħa tat-tastieri disponibbli"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installa/Aġġorna"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Din hija installazzjoni ġdida jew aġġornament?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aġġorna %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ċifrarju għal %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Qed nikkonfigura IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"M'hemmx spazju għal bootstrap ta' 1MB. L-installazzjoni se tkompli, imma "
+"biex tħaddem is-sistema trid toħloq partizzjoni bootstrap f' Diskdrake."
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"M'hemmx spazju għal bootstrap ta' 1MB. L-installazzjoni se tkompli, imma "
+"biex tħaddem is-sistema trid toħloq partizzjoni bootstrap f' Diskdrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Ibdel is-CD-ROM!\n"
+"\n"
+"Jekk jogħġbok daħħal id-diska mmarkata \"%s\" fid-drajv u agħfas Ok meta "
+"tlesti.\n"
+"Jekk m'għandekx din id-diska, agħfas \"Ikkanċella\" biex taqbeż il-pakketti "
+"li qegħdin fuqha."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Qed insib pakketti disponibbli"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Jekk jogħġbok agħżel \"ikteb\" jew \"aqra\" l-għażla tal-pakketti fuq\n"
+"flopi. Il-format huwa l-istess bħal diski flopi ġenerati bl-auto_install."
+
+#: steps_interactive.pm:387
+#, fuzzy, c-format
+msgid "Load"
+msgstr "XLoad"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Ikteb"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "fajl veru"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Id-daqs tal-għażla huwa ikbar mill-ispazju disponibbli"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tip ta' installazzjoni"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Għadek m'għażilt ebda grupp ta' pakketti\n"
+"Jekk jogħġbok agħżel installazzjoni minima li trid:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Bl-XWindows"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "B' dokumentazzjoni bażika (rakkomandat)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Installazzjoni verament minima (mingħajr urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Kollha"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Qed nipprepara l-installazzjoni"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Qed jinstalla il-pakkett %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Kien hemm problema fl-ordni tal-pakketti:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Trid tkompli xorta?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Ikteb l-għażla ta' pakketti"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Kien hemm problema fl-installazzjoni tal-pakketti:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurazzjoni ta' wara l-installazzjoni"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aġġornamenti"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Issa għandek l-opportunità li tniżżel pakketti aġġornati. Dawn ġew "
+"ippubblikati \n"
+"wara li din id-distribuzzjoni inħarġet. Jistgħu jinkludu tiswijiet ta' "
+"problemi jew \n"
+"sigurtà.\n"
+"\n"
+"Biex tniżżel dawn il-pakketti, jrid ikollok konnessjoni mal-internet qed "
+"taħdem.\n"
+"\n"
+"Trid tinstalla dawn l-aġġornamenti?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Qed nikkuntattja l-mera biex nikseb lista tal-pakketti disponibbli"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ma stajtx nikkuntattja l-mera %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Ħardwer"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Kard awdjo"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Għandek kard tal-awdjo ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Ħaddem \"alsaconf\" jew \"sndconfig\" wara l-installazzjoni biex "
+"tikkonfigura l-kard awdjo."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Ebda kard tal-awdjo ma nstabet. Ipprova ħaddem \"harddrake\" wara l-"
+"installazzjoni"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Kard TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaċċja grafika"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Network u internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfigurat"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Livell ta' sigurtà"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewallr"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "attivat"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "mitfi"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s fuq %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Għadek ma kkonfigurajtx X. Żgur trid hekk?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Qed nipprepara l-bootloader"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Jidher li għandek magna \"OldWorld\" jew mhux \n"
+"magħrufa. Il-bootloader \"yaboot\" m'hux se jaħdem fuqha. \n"
+"L-installazzjoni se tkompli, imma trid tuża BootX biex \n"
+"ittella' l-Linux."
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Trid tuża \"aboot\"?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Problema fl-installazzjoni ta' aboot.\n"
+"trid tipprova timponi l-installazzjoni anke jekk tħassar l-ewwel partizzjoni?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"F'dan il-livell ta' sigurtà, l-aċċess għall-fajls fuq il-partizzjoni tal-"
+"Windows huwa ristrett għall-amministratur."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Daħħal flopi vojta fid-drajv %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Qed jinħoloq flopi awto-installazzjoni"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Xi passi ma ġewx finalizzati.\n"
+"\n"
+"Trid toħroġ issa?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Prosit"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Irributja"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Oħloq flopi awto-installa"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"L-awto-installazzjoni tista' tkun totalment awtomatizzata\n"
+"jekk trid. F'dak il-każ tieħu l-ħard disk kollu!!\n"
+"(dan huwa ntenzjonat għal installazzjoni fuq kompjuter ġdid)\n"
+"\n"
+"Forsi tippreferi tuża \"replay\" tal-installazzjoni.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Replay"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Awtomatizzata"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Ikteb l-għażla ta' pakketti"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Agħżel il-lingwa"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Liċenzja"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maws"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Għarfien tal-ħard disk"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurtà"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partizzjonament"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Qed ninstalla"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Awtentikazzjoni"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Users"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Networking"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Ikkonfigura X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sommarju"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servizzi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aġġornamenti"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Oħroġ"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakketti"
+#~ msgstr[1] "%d pakketti"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakketti"
+
+#~ msgid "Language"
+#~ msgstr "Agħżel il-lingwa"
+
+#~ msgid "License"
+#~ msgstr "Liċenzja"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Agħżel klassi ta' installazzjoni"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Qed nieħu stima"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Agħżel pakketti biex tinstalla"
+
+#~ msgid "Users"
+#~ msgstr "Users"
+
+#~ msgid "Networking"
+#~ msgstr "Networking"
+
+#~ msgid "Configure X"
+#~ msgstr "Ikkonfigura X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ma nistax naċċessa moduli tal-kernel li jikkorrispondu għall-kernel (fajl "
+#~ "%s nieqes). Dan normalment ifisser li l-flopi mhuwiex sinkronizzat mal- "
+#~ "installazzjoni. Jekk jogħġbok oħloq flopi ġdida biex tistartja fuqha."
diff --git a/perl-install/install/share/po/nb.po b/perl-install/install/share/po/nb.po
new file mode 100644
index 000000000..73c7ca541
--- /dev/null
+++ b/perl-install/install/share/po/nb.po
@@ -0,0 +1,1639 @@
+# translation of DrakX-nb.po to
+# KTranslator Generated File
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999 Mandriva
+#
+# Terje Bjerkelia <terje@bjerkelia.com>, 1999-2000.
+# Andreas Bergstrøm <abergstr@halden.net>, 2000.
+# Kenneth Rørvik <kenneth@argon.no-ip.com>, 2003.
+# Per Øyvind Karlsen <peroyvind@sintrax.net>, 2003, 2004.
+# Keld Simonsen <keld@dkuug.dk>, 2004.
+# Per Øyvind Karlsen <peroyvind@mandrivalinux.org>, 2004, 2005.
+# Eskild Hustvedt <eskild@goldenfiles.com>, 2004.
+# Eskild Hustvedt <zerodogg@skolelinux.no>, 2004, 2005.
+# Per Øyvind Karlsen <pkarlsen@mandriva.com>, 2005, 2006.
+# Marius Laache <blakern_@hotmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-nb\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-02-20 02:13+0100\n"
+"Last-Translator: Marius Laache <blakern_@hotmail.com>\n"
+"Language-Team: <en@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du flere ekstra medier?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Følgende medier er funnet, og vil bli benyttet under installasjonen: %s.\n"
+"\n"
+"\n"
+"Har du flere installasjonsmedier å sette opp?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nettverk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nettverk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nettverk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Nettadresse til speilet?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL må starte med ftp:// eller http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontakter Mandriva Linux-nettstedet for å få listen over tilgjengelige "
+"speil..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Klarte ikke å kontakte Mandriva Linux-nettstedet for å få listen over "
+"tilgjengelige speil"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Velg et speil som pakkene kan hentes fra"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-oppsett"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Tast inn vertsnavn og katalog til ditt NFS-medie"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Vertsnavn mangler"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Mappenavnet må starte med \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vertsnavn til NFS-monteringen ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Ekstra"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Kan ikke finne pakkelistefil på dette speilet. Kontrollér at adressen er "
+"riktig."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ser på pakker som allerede er installert..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjerner pakker før oppgradering..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Finner pakker som skal oppgraderes..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Du har valgt følgende tjener(e): %s\n"
+"\n"
+"\n"
+"Disse tjenerene er aktivert som standard. De har ingen kjente sikkerhets\n"
+"problemer, men noen nye kan bli funnet. I så tilfelle må du oppgradere\n"
+"så snart som mulig.\n"
+"\n"
+"\n"
+"Ønsker du virkelig å installere disse tjenerene?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"De følgende pakkene vil bli fjernet for å tillate oppgradering av systemet "
+"ditt: %s\n"
+"\n"
+" \n"
+"Ønsker du å fjerne disse pakkene?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "De(n) følgende disken(e) fikk nytt navn:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tidligere kalt %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Nettverk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Velg et medie"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Filen eksisterer allerede. Overskriv?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Adgang nektet"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ugyldig NFS-navn"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Feil i medie %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Jeg kan ikke ta skjembilder før partisjonering."
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjermbilder vil være tilgjengelig etter installasjon i %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installasjon"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Oppsett"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Du må også formatere %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Noe maskinvare i maskinen din trenger «proprietære» drivere for å virke.\n"
+"Du kan finne noe informasjon om disse her: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Henter opp nettverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tar ned nettverket"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Laster ned fil %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiér noen pakker på disken for framtidig bruk"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering pågår"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "må ha"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "viktig"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "veldig bra"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bra"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "kanskje"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007-produktlinje"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Brannmur"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live-modus"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Hvordan registrere deg"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online-tjenester"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nytt tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontorarbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorstøtteprogrammer: tekstbehandlere (OpenOffice.org Writer, Kword), "
+"regneark (OpenOffice.org Calc, Kspread), PDF-framvisere, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kontorstøtteprogrammer: tekstbehandlere (kword, abiword), regneark (kspread, "
+"gnumeric), pdf-framvisere etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spillstasjon"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underholdningsprogrammer: arkade, brettspill, strategi, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastasjon"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Lyd- og videoavspilling/redigeringsprogrammer"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internettstasjon"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Sett med verktøy for å lese og sende e-post og njus (mutt, tin..) og til å "
+"surfe på nettet"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nettverksmaskin (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter for forskjellige protokoller inkludert ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktøy for å forenkle oppsettet av maskinen din"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktøy"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Tekstprogrammer, skall, filverktøy, terminaler"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Utvikling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C- og C++-utviklingsbibliotek, -programmer og include-filer"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasjon"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøker og Howto's om Linux og fri programvare"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Støtte for tredjeparts programvare"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web-tjener"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Gruppevare"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-tjener"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brannmur/ruter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internett-gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Njus"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-posttjener, Inn njustjener"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogtjener"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-tjener"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domenenavn- og nettverksinformasjons-tjener"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og Skriverdelingstjener"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-Tjener, Samba-tjener"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL- og MySQL-databasetjener"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-posttjener"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL eller MySQL-databasetjener"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Nettverksmaskintjener"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-tjener, SMB-tjener, Proxy-tjener, SSH-tjener"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, grunnleggende grafisk miljø med en samling av "
+"passende verktøy"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Et grafisk miljø med et brukervennlig sett av programmer og "
+"skrivebordsverktøy"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm-skrivebord"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske skrivebord"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Verktøy"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-tjener"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin Fjernadministrasjonstjener"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nettverks-verktøy/overvåkning"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvårkningsverktøy, prosessbokføring, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva-veivisere"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Veivisere til å sette opp tjener"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"En feil oppsto, men jeg vet ikke hvordan jeg skal håndtere dette på en pen "
+"måte.\n"
+"Fortsett på eget ansvar."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Noen viktige pakker ble ikke installert ordentlig.\n"
+"Det er noe galt enten med CD-romen eller CD-platen.\n"
+"Sjekk cd-platen på en installert maskin med «rpm -qpl media/main/*.rpm»\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Entrer trinn «%s»\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux-installasjon %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellom elementene"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Systemet ditt har lite ressurser. Du kan muligens oppleve noen problemer\n"
+"ved installering av Mandriva Linux. Hvis dette skjer kan du prøve "
+"installasjon i tekstmodus\n"
+"i stedet. Trykk «F1» ved oppstart av CD-ROM, skriv så «text»."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Valg pakkegruppe"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuelt pakkevalg"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total størrelse: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Ugyldig pakke"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versjon: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Størrelse: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Viktighet: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Du kan ikke velge (bort) denne pakken"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "pga. manglende %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "pga. utilfredsstilt %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "prøver å promotere %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "for å beholde %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikke velge denne pakken da det ikke er igjen nok plass til å "
+"installere den"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Følgende pakker vil bli installert"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Følgende pakker vil bli fjernet"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dette er en obligatorisk pakke, den kan ikke fjernes"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Du kan ikke fjerne denne pakken. Den er allerede installert"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Du kan ikke fjerne denne pakken. Den må oppgraderes"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatisk valgte pakker"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installer"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Last inn/lagre utvalg"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Oppdaterer pakkevalg"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installasjon"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programvarehåndtering"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Velg pakkene du ønsker å installere"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Ingen detaljer"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tid som gjenstår "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Beregner"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakker"
+msgstr[1] "%d pakker"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Oppsummering"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Sett opp"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ikke satt opp"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Følgende installasjonsmedia har blitt funnet.\n"
+"Hvis du vill hoppe over noen av de kan du velge de vekk nå."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Du har valget mellom å kopiere innholdet på CDene til harddisken før "
+"installasjon.\n"
+"Den vil da fortsette fra harddisken og pakkene vil forbli tilgjengelige når "
+"systemet er fullstendig installert."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiér hele CDer"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "En feil oppstod"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Velg ditt tastaturoppsett."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Her er den komplette lista over tilgjengelige tastatur"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installer/Oppgrader"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er dette en installasjon eller en oppgradering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Oppgrader %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøkkel for %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Setter opp IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Det er ikke plass for 1 MB bootstrap! Installasjonen vil fortsette, men for "
+"å boote systemet ditt, må du lage en bootstrap-partisjon i DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Du må lage en PPC PReP Boot bootstrap! Installasjonen vil fortsette, men for "
+"å kunne starte systemet ditt vil du måtte opprette en bootstrap-partisjon i "
+"DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Bytt CD!\n"
+"\n"
+"Sett inn CDen merket «%s» i stasjonen og trykk Ok når du er ferdig.\n"
+"Hvis du ikke har den, trykk Avbryt for å unngå installasjon fra denne CDen."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Søker etter tilgjengelige pakker"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Systemet har ikke nok gjenværende diskplass for installasjon eller "
+"oppgradering (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Velg lagre eller hent pakkevalg.\n"
+"Formatet er det samme som for auto_install-genererte filer."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Last inn"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Lagre"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ødelagt fil"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valgt størrelse er større enn tilgjengelig plass"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Type installasjon"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikke valgt noen pakkegrupper.\n"
+"Velg den minimale installasjonen du ønsker:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grunnleggende dokumentasjon (anbefalt!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Virkelig minimal installasjon (uten urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alle"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Forbereder installasjon"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerer pakke %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det var en feil ved endring av pakkenes rekkefølge:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsett uansett?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Prøv igjen"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Hopp over denne pakken"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hopp over alle pakker fra media \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gå tilbake til valg av media og pakker"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Feil under installering av pakke %s"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Oppsett etter installering"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Vennligst forsikre deg om at medie med oppdaterte moduler er i %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Oppdateringer"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Du har nå muligheten til å laste ned oppdaterte pakker. Dette er pakker som\n"
+"har blitt sluppet etter at distribusjonen ble sluppet. Dette kan være enten\n"
+"sikkerhetsoppdateringer eller feilrettelser.\n"
+"\n"
+"For å laste ned disse pakkene, så må du ha en fungerende "
+"internettoppkobling.\n"
+"\n"
+"Ønsker du å installere oppdateringene?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontakter speilet for å få en liste over tilgjengelige pakker..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Kan ikke kontakte speil %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Har du et ISA-lydkort?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Kjør «alsaconf» eller «sndconfig» etter installasjonen for å sette opp "
+"lydkortet ditt"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Lydkort ikke oppdaget. Prøv «harddrake» etter installasjonen"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-kort"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grensesnitt"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Nettverk & internett"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxyer"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "satt opp"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Sikkerhetsnivå"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Brannmur"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivert"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "deaktiver"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Oppstart"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikke satt opp det grafiske grensesnittet X. Er du sikker på at du "
+"ikke vil gjøre dette?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Klargjør oppstartslaster"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Det virker som du har en OldWorld eller ukjent maskin, yaboot-"
+"oppstartslasteren vil ikke virke for deg. Installasjonen vil fortsette, men "
+"du må bruke BootX eller andre måter for å starte din maskin. "
+"Kjerneargumentet for root-filsystemet er: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Ønsker du å bruke aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Feil ved installasjon av aboot, \n"
+"prøv å installer selv om det ødelegger den første partisjonen?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"I dette sikkerhetsnivået er tilgang til Windows-partisjonen forbeholdt "
+"administratoren."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sett inn en tom diskett i stasjon %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Oppretter diskett for autoinstallasjon..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Noen trinn er ikke fullført.\n"
+"\n"
+"Ønsker du virkelig å avslutte nå?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulerer"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Restart"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Oppretter diskett for autoinstallasjon"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Autoinstallasjonen kan være fullstendig automatisk\n"
+"hvis du ønsker det. Den vil da ta over harddisken!!\n"
+"(dette er for å installere på en annen maskin)\n"
+"\n"
+"Du kanskje ønsker å kjøre installasjonen om igjen.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Gjør igjen"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisert"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Lagre pakkevalg"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Språk"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Oppdaging av harddisk"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installasjonsklasse"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sikkerhet"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisjonering"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formaterer"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Velger pakker"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerer"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentisering"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brukere"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Nettverk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Oppstartslaster"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Sett opp X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Oppsummering"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjenester"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Oppdateringer"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avslutt"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakker, %d MB)"
+#~ msgstr[1] "(%d pakker, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakker"
+
+#~ msgid "Language"
+#~ msgstr "Språk"
+
+#~ msgid "License"
+#~ msgstr "Lisens"
+
+#~ msgid "Installation class"
+#~ msgstr "Installasjonsklasse"
+
+#~ msgid "Formatting"
+#~ msgstr "Formaterer"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Velger pakker"
+
+#~ msgid "Users"
+#~ msgstr "Brukere"
+
+#~ msgid "Networking"
+#~ msgstr "Nettverk"
+
+#~ msgid "Configure X"
+#~ msgstr "Sett opp X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Kan ikke få tilgang til kjernemoduler for din kjerne (fil %s mangler), "
+#~ "dette betyr vanligvis at oppstartsdisketten din ikke er i synk med "
+#~ "installasjonsmediumet (opprett en nyere diskett)"
diff --git a/perl-install/install/share/po/nl.po b/perl-install/install/share/po/nl.po
new file mode 100644
index 000000000..08f9005c7
--- /dev/null
+++ b/perl-install/install/share/po/nl.po
@@ -0,0 +1,1635 @@
+# translation of DrakX-nl.po to Nederlands
+# Dutch translation of DrakX.
+# Copyright (C) 2000, 2005 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Niels Gras <niels.gras@wanadoo.nl>, 2000.
+# Jeroen ten Berge <j.ten.berge@twinbit.nl>, 2002.
+# Reinout van Schouwen <reinout@cs.vu.nl>, 2002-2006.
+# Peter Bosch <peter.bosch@hccnet.nl>, 2002.
+# Rob Teng <mandrake.tips@free.fr>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-nl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-21 02:45+0200\n"
+"Last-Translator: Reinout van Schouwen <reinout@cs.vu.nl>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Heeft u nog aanvullende media?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"De volgende media zijn gevonden en zullen worden gebruikt tijdens de "
+"installatie: %s.\n"
+"\n"
+"\n"
+"Heeft u een aanvullend installatiemedium in te stellen?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Netwerk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Netwerk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Netwerk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL van de mirror?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL dient te starten met ftp:// of http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Bezig te verbinden met de Mandriva Linux-website om de lijst met beschikbare "
+"mirrors op te halen..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Het verbinden met de Mandriva Linux-website om de lijst met beschikbare "
+"mirrors op te halen is mislukt"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Kies een `mirror' om de pakketten van af te halen"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS configuratie"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Vul de hostnaam en map van uw NFS media in"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Hostnaam van de NFS mount?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Map"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kan hdlist-bestand op deze mirror niet vinden"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Inventarisatie van reeds geïnstalleerde pakketten..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Verwijderen van pakketten vóór opwaardering..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Zoeken naar pakketten om op te waarderen..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"U heeft de volgende server(s) geselecteerd: %s\n"
+"\n"
+"\n"
+"Deze servers worden standaard geactiveerd. Ze hebben geen bekende\n"
+"beveiligingsproblemen, maar het is mogelijk dat men nieuwe vindt.\n"
+"Zorg er in dat geval voor dat u zo spoedig mogelijk opwaardeert.\n"
+"\n"
+"\n"
+"Weet u zeker dat u deze servers wilt installeren?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"De volgende pakketten zullen verwijderd worden om uw systeem te kunnen "
+"opwaarderen: %s\n"
+"\n"
+"\n"
+"Weet u zeker dat u deze pakketten wilt verwijderen?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "De volgende schijf/schijven zijn hernoemd:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (heette voorheen %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Netwerk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Kies een medium"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Bestand bestaat reeds. Overschrijven?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Slechte NFS naam"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Ongeldig medium %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kan geen schermafdruk maken voor het partitioneren"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Schermafdrukken zullen beschikbaar zijn na installatie in %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installatie"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuratie"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "U dient tevens %s te formatteren"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Sommige hardware op uw computer heeft ''fabrikantsgebonden'' drivers \n"
+"nodig om te kunnen functioneren. U kunt informatie hierover vinden op: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bezig met opstarten van het netwerk"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Bezig met stoppen van het netwerk"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Bestand %s wordt gedownload..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiëren van enkele pakketten op diskettes voor toekomstig gebruik"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Bezig met kopiëren"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "must-have"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "belangrijk"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "heel leuk"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "leuk"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "misschien"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 productlijn"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery live-modus"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Hoe te registreren"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online-diensten"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nieuw thema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Werkstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kantoorwerkstation"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kantoorprogramma's: tekstverwerkers (OpenOffice.org Writer, Kword), "
+"rekenbladen (OpenOffice.org Calc, Kspread), PDF-lezers, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kantoorprogramma's: tekstverwerkers (kword, abiword), rekenbladen (kspread, "
+"gnumeric), PDF-lezers, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Game-station"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Amusementsprogramma's: arcade, bordspellen, strategie etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia-station"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Geluids- en video-afspeel- en bewerkingsprogramma's"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet-station"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Verzameling programma's om e-mail en usenet nieuws mee te lezen en te "
+"schrijven, en om het Web mee door te bladeren"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Netwerk-computer (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients voor verschillende protcollen waaronder ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Programma's om de configuratie van uw computer te vergemakkelijken"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Hulpprogramma's voor de opdrachtregel"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editors, shells, bestandsbeheer, terminals"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Ontwikkeling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C and C++ ontwikkelingsbibliotheken, programma's en include-bestanden"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentatie"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Boeken en Howto's over Linux en Vrije Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standaard-Basis. Ondersteuning voor toepassingen van derden."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webserver"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-mail/nieuws"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-mailserver, Inn newsserver"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Gidsserver"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domeinnaam- en Network Information Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Gedeelde bestands- en printerserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL en MySQL database-server"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix e-mailserver"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL of MySQL database-server"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Netwerk-computer server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, ssh server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafische omgeving"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE werkstation"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Het K Desktop Environment, de basis-grafische omgeving met een verzameling "
+"van bijbehorende programma's"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME werkstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Een grafische omgeving met gebruikersvriendelijke verzameling toepassingen "
+"en bureaublad-programma's"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andere grafische bureaubladen"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Hulpprogramma's"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-server voor configuratie op afstand"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Netwerk-hulpprogramma's/observatie"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Observatieprogramma's, bijhouden van processen, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva-wizards"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Wizards om server te configureren"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Er is een fout opgetreden waarvoor de juiste afhandeling onbekend is.\n"
+"Als u verdergaat, is dit op eigen risico."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Sommige belangrijke pakketen werden niet juist\n"
+"geïnstalleerd. Of uw CD-ROM-speler of uw CD-ROM is defect.\n"
+"Controleer de cdrom op een geïnstalleerde computer met\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Overgang naar stap `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux installatie %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> tussen elementen"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Uw systeem heeft weinig bronnen beschikbaar. U zou problemen kunnen\n"
+"ondervinden bij het installeren van Mandriva Linux. Als dit gebeurt,\n"
+"kunt u een tekstinstallatie proberen. Om dit te doen, drukt u op `F1'\n"
+"terwijl de CDROM opstart, en dan voert u `text' in."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakketgroep-selectie"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individuele pakketselectie"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totale grootte: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Onbruikbaar pakket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versie: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Grootte: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d kB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Belang: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "U kunt dit pakket niet (de)selecteren"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "ten gevolge van ontbrekende %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ten gevolge van onvoldane %s"
+
+# Wat wordt hier precies bedoeld?
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "proberen om %s te promoveren"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "om %s te kunnen behouden"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"U kunt dit pakket niet selecteren omdat er te weinig ruimte over is om het "
+"te installeren"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "De volgende pakketten zullen geïnstalleerd worden"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "De volgende pakketten zullen gedeïnstalleerd worden"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dit is een verplicht pakket, het kan niet gedeselecteerd worden"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "U kunt dit pakket niet deselecteren. Het is al geïnstalleerd."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "U kunt dit pakket niet deselecteren. Het moet opgewaardeerd worden."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatisch geselecteerde pakketten tonen"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installatie"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Selectie laden/opslaan"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Verversen van pakket-selectie"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimale installatie"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Softwarebeheer"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kies de pakketten die u wenst te installeren"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Bezig met installeren"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Geen details"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tijd over "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Schatting is gaande"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakketten"
+msgstr[1] "%d pakketten"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Overzicht"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configureren"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "niet geconfigureerd"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"De volgende installatiemedia zijn gevonden.\n"
+"Indien u sommige wilt overslaan, kunt u ze nu deselecteren."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"U heeft de mogelijkheid om de inhoud van de CD's naar de harde schijf te "
+"kopiëren vóór installatie.\n"
+"De installatie gaat dan door vanaf de harde schijf en de pakketten blijven "
+"beschikbaar zodra het systeem volledig geïnstalleerd is."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Hele cd's kopiëren"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Er is een fout opgetreden"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Kies uw toetsenbord-indeling."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Dit is de volledige lijst van beschikbare toetsenborden"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installatie/Opwaardering"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Is dit een installatie of een opwaardering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s opwaarderen"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Vercijferingssleutel voor %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE-Configuratie"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Er is geen vrije ruimte voor een \"bootstrap\" van 1MB! De installatie zal "
+"doorgaan, maar om uw systeem op te starten zult u de bootstrap partitie in "
+"DiskDrake moeten creëren."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"U dient een PPC PReP Boot bootstrap aan te maken! Installatie zal verder "
+"gaan, maar om uw systeem op te starten zult u de bootstrappartitie in "
+"DiskDrake moeten creëren."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Verwissel uw CD-ROM!\n"
+"\n"
+"Gelieve de CD-ROM met de naam \"%s\" in uw speler te plaatsen en op Ok te "
+"klikken wanneer u gereed bent.\n"
+"Als u deze CD niet heeft, klik dan Annuleren om verdere installatie vanaf "
+"deze CD te vermijden."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Bezig met zoeken naar beschikbare pakketten"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"U kunt kiezen of u de pakketselectie wilt laden of opslaan.\n"
+"Het formaat is dezelfde als de met auto_install gegenereerde bestanden."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Laden"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Opslaan"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ongeldig bestand"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "De geselecteerde grootte is meer dan de beschikbare ruimte"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Type installatie"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"U heeft geen enkele pakketgroep geselecteerd\n"
+"Gelieve de minimale installatie die u wenst te kiezen."
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Met X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Met basis-documentatie (aanbevolen!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Werkelijk minimale installatie (in het bijzonder geen urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alles"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Bezig met voorbereiden van installatie"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Bezig met installeren van pakket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Er is een fout opgetreden bij het sorteren van de pakketten:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Toch verdergaan?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Opnieuw"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Pakket-selectie opslaan"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Er is een fout opgetreden bij het installeren van de pakketten:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuratie na installatiestap"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Zorg ervoor dat de Update Modules-media zich in station %s bevindt"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Updates"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"U bent nu in de gelegenheid om bijgewerkte pakketten te downloaden.\n"
+"Deze pakketten zijn vernieuwd nadat de distributie werd uitgegeven.\n"
+"Ze kunnen beveiligings- of programmafoutreparaties bevatten.\n"
+"U heeft een werkende internetverbinding nodig om deze pakketten te \n"
+"downloaden.\n"
+"\n"
+"Wenst u de bijgewerkte pakketten te installeren?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Bezig met verbinden met de mirror om de lijst met beschikbare pakketten op "
+"te halen..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Verbinden met mirror %s is onmogelijk"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Apparatuur"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Geluidskaart"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Heeft u een ISA geluidskaart?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Voer \"alsaconf\" of \"sndconfig\" na de installatie uit om uw geluidskaart "
+"te configureren"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Geen geluidskaart bespeurd. Probeer \"harddrake\" na de installatie"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV-kaart"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafische interface"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Netwerk & internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy's"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "geconfigureerd"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Beveiligingsniveau"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "geactiveerd"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "uitgeschakeld"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Opstarten"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s op %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "U heeft X niet geconfigureerd. Weet u zeker dat u dit wilt?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Klaarmaken van opstartlader..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Het heeft er alle schijn van dat u een OldWorld- of Onbekende machine heeft. "
+"De yaboot opstartlader zal voor u niet werken. De installatie zal doorgaan, "
+"maar u zult BootX of een andere methode nodig hebben om uw machine op te "
+"starten. Het argument om aan de kernel mee te geven voor het root-"
+"bestandssysteem is: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Wenst u aboot te gebruiken?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Fout bij het installeren van aboot,\n"
+"toch proberen te installeren, zelfs als dat de eerste partitie vernietigt?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"In dit beveiligingsniveau wordt toegang tot de bestanden op de Windows-"
+"partitie voorbehouden aan de systeembeheerder."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Plaats een lege diskette in station %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Aanmaken van auto-installatiediskette..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sommige stappen zijn nog niet voltooid.\n"
+"\n"
+"Weet u zeker dat u op dit moment wilt afsluiten?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gefeliciteerd"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Herstarten"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Auto-installatiediskette aanmaken"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Desgewenst kan de auto-installatie volledig geautomatiseerd worden,\n"
+"in dat geval zal het de harde schijf overnemen!\n"
+"(Deze functie is bedoeld voor het installeren op een andere machine.)\n"
+"\n"
+"Wellicht geeft u de voorkeur aan het herhalen van de installatie.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Herhalen"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Geautomatiseerd"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Pakket-selectie opslaan"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Taal"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licentie"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Muis"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harde schijf-detectie"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installatieklasse"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Toetsenbord"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Beveiliging"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionering"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatteren"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakketten kiezen"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Bezig met installeren"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Aanmeldingscontrole"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Gebruikers"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Netwerktoepassingen"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Opstartlader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X configureren"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Overzicht"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Diensten"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Updates"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Afsluiten"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakketten, %d MB)"
+#~ msgstr[1] "(%d pakketten, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakketten"
+
+#~ msgid "Language"
+#~ msgstr "Taal"
+
+#~ msgid "License"
+#~ msgstr "Licentie"
+
+#~ msgid "Installation class"
+#~ msgstr "Installatieklasse"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatteren"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakketten kiezen"
+
+#~ msgid "Users"
+#~ msgstr "Gebruikers"
+
+#~ msgid "Networking"
+#~ msgstr "Netwerktoepassingen"
+
+#~ msgid "Configure X"
+#~ msgstr "X configureren"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Kan kernelmodules behorend bij uw kernel niet benaderen (bestand %s "
+#~ "ontbreekt), dit betekent normaal gesproken dat uw opstartdiskette niet "
+#~ "hetzelfde is als die van het installatie medium. (Maak een nieuwe boot "
+#~ "diskette)"
diff --git a/perl-install/install/share/po/nn.po b/perl-install/install/share/po/nn.po
new file mode 100644
index 000000000..57784d070
--- /dev/null
+++ b/perl-install/install/share/po/nn.po
@@ -0,0 +1,1622 @@
+# translation of DrakX.po to Norwegian Nynorsk
+# Translation of nn to Norwegian Nynorsk
+# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Karl Ove Hufthammer <karl@huftis.org>, 2004, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-08 19:05+0100\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du fleire medium?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Desse media vart funnen, og vert brukt under installeringa: %s.\n"
+"\n"
+"\n"
+"Har du fleire installasjonsmedium du ønskjer å setja opp?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nettverk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nettverk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nettverk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Adresse til spegelen?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Adresser må starta med «ftp://» eller «http://»."
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "Kontaktar Mandriva Linux-nettstaden for oversikt over speglar …"
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Klarte ikkje få kontakt med Mandriva Linux-nettstaden for å henta oversikt "
+"over tilgjengelege speglar."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Vel spegelen du vil installera pakkar frå"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS-oppsett"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Skriv inn vertsnamn og mappe til NFD-media"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Manglar vertsnam"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Mappa må begynna med «/»"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Vertsnamn til NFS-montering:"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Tillegg"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Finn ikkje pakkelistfila på denne spegelen. Sjå til at adressa er rett."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Ser på allereie installerte pakkar …"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Fjernar pakkar for oppgradering …"
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ser etter pakkar å oppgradera …"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Du har valt desse tenarane: %s\n"
+"\n"
+"\n"
+"Tenarane vert slått på som standard. Ingen av dei har nokon kjende "
+"tryggleikshol,\n"
+"men nye hol kan sjølvsagt bli oppdaga i framtida. Du må du i så fall "
+"oppgradera\n"
+"så snart som mogleg.\n"
+"\n"
+"\n"
+"Er du sikker på at du vil installera tenarane?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Desse pakkane vert fjerna for å kunna oppgradera systemet: %s\n"
+"\n"
+"\n"
+"Er du sikker på at du vil fjerna pakkane?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Desse diskane fekk nye namn:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "«%s» (tidlegare namn: «%s»)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Nettverk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Vel medium"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fila finst allereie. Vil du skriva over ho?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Nekta løyve"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Ugyldig NFS-namn"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Ugyldig medium: %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kan ikkje ta skjermbilete før partisjonering"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skjermbilete vert tilgjengelege i «%s» etter installeringa er ferdig"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installerering"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Oppsett"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Du må òg formatera «%s»"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Noko av maskinvaren treng godseigde drivarar for å fungera.\n"
+"Du finn meir informasjon om desse på: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Koplar til nettverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Koplar frå nettverket"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Lastar ned «%s» …"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierer nokre pakkar til harddisken for seinare bruk"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopierer filer"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "må ha"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "viktig"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "veldig kjekt å ha"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "kjekt å ha"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "kanskje"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007-produkta"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus brannmur"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live-modus"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Korleis registrera seg"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online-tenester"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nytt tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Arbeidstasjon"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontormaskin"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorprogramvare: Teksthandsamarar (OpenOffice.org Writer, Kword), rekneark "
+"(OpenOffice.org Calc, Kspread), PDF-viseprogram, med meir"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kontorprogramvare: Teksthandsamarar (KWord, AbiWord), rekneark (KSpread, "
+"gnumeric), PDF-viseprogram, med meir"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spelmaskin"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Moroprogram: Arkadespel, brettspel, strategispel, med meir"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediemaskin"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Program for vising og redigering av film"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internett-maskin"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Program for lesing og sending av e-post, deltaking i diskusjonsgrupper og "
+"surfing på Internett"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nettverksmaskin (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klientprogramvare for fleire protokollar, som ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktøy for enkelt oppsett av datamaskina"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktøy"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Skriveprogram, skal, filverktøy og terminalprogram."
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Utvikling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C og C++-utviklingsbibliotek, program og inkluderingsfiler"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Hjelpetekst"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Bøker og hjelpeoppskrifter for Linux og fri programvare"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base – støtte for tredjepartsprogram"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Vevtenar"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Gruppevare"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-tenar"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brannmur/rutar"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internett-portnar"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-post og diskusjonar"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix e-posttenar og Inn diskusjonstenar"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Katalogtenar"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-tenar"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domenenamn og nettverksinformasjonstenar."
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil- og skrivardeling-tenar"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-tenar, Samba-tenar"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL- og MySQL-databasetenar"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Vev/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix-e-posttenar"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL- eller MySQL-databasetenar"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Nettverkstenar"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-tenar, SMB-tenar, mellomtenar, ssh-tenar"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljø"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Skrivebordsmiljøet KDE, med ei samling tilhøyrande verktøy"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME-arbeidsstasjon"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Eit grafisk skrivebordsmiljø med brukarvenlege program og skrivebordsverktøy"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm-skrivebord"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andre grafiske skrivebord"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, med fleire"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Verktøy"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-tenar"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin-fjernoppsettenar"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nettverksverktøy og -overvaking"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Overvakingsverktøy, prosesshandsaming, tcpdump, nmap, med meir"
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva-vegvisarar"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Vegvisarar for tenaroppsett"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr "Det oppstod ein kritisk feil. Hald fram på eige ansvar."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Nokre viktige pakkar vart ikkje installerte skikkeleg.\n"
+"Enten er det CD-ROM-stasjonen eller CD-plata di som øydelagd.\n"
+"Kontroller CD-plata på ei anna maskin med kommandoen: rpm -qpl media/main/*."
+"rpm\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Køyrer steg «%s»\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux-installering %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "«Tab»/«Alt + Tab» mellom element"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Du har lite systemresursar, og kan få vanskar med å installera Mandriva "
+"Linux.\n"
+"Du kan då installera i tekstmodus i staden for. Trykk «F1» ved oppstart av\n"
+"CD-plata, og skriv «text» om du ønskjer dette."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pakkegruppeval"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Direkte pakkeval"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Totalstorleik: %d / %d MiB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Ugyldig pakke"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versjon: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Storleik: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KiB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Prioritet: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Du kan ikkje velja eller fjerna denne pakken"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "på grunn av manglande «%s»"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "då «%s» ikkje er tilfredsstilt"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "Prøver å prioritera «%s»"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "for å kunna behalda «%s»"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan ikkje velja denne pakken, då det ikkje er nok ledig plass til å "
+"installera han."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Desse pakkane vert installerte"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Desse pakkane vert fjerna"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Dette er ein obligatorisk pakke. Du kan ikkje velja han vekk."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Du kan ikkje velja vekk denne pakken, då han allereie er installert."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Kan ikkje velja vekk pakken. Han må oppgraderast."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Vis automatiske valde pakkar"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installer"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Opna/lagra utval"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Oppdaterer pakkeval"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installering"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programvarehandsaming"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Vel pakkane du ønskjer å installera"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installerer"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Skjul detaljar"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tid igjen"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimerer"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakke"
+msgstr[1] "%d pakkar"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Samandrag"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Set opp"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ikkje sett opp"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Fann desse installasjonsmedia.\n"
+"Om du ikkje ønskjer å bruka alle, kan du velja vekk dei du ikkje treng no."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Du kan velja å kopiera innhaldet på CD-ane til harddisken før "
+"installasjonen.\n"
+"Installasjonen vil då helda fram frå harddisken, og pakkane vil vera lett "
+"tilgjengeleg òg etter at systemet er installert og sett opp."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopier CD-ane"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Det oppstod ein feil"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Vel tastaturoppsett"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Her er heile lista over tastaturoppsett"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installer/oppgrader"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Er dette ei installering eller ei oppgradering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Oppgrader «%s»"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnøkkel for «%s»"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Set opp IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ikkje nok ledig plass for oppstartslastar på 1 MiB. Installasjonen held "
+"fram, men du må sjølv laga ein oppstartslastarpartisjon i DiskDrake."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Du må laga ein PPC PReP Boot-bootstrap. Installasjonen vil helda fram, men "
+"viss du vil starta systemet, må du først laga bootstrap-partisjonen i "
+"DiskDrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Byt installasjonsplate.\n"
+"\n"
+"Set inn plata merkt «%s» og trykk «OK».\n"
+"Trykk eventuelt «Avbryt» om du ikkje har denne plata."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Ser etter tilgjengelege pakkar …"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Maskina di har ikkje nok ledig plass for installering eller oppgradering (%d "
+"MB > %d MB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vel å lagra eller henta pakkeval.\n"
+"Formatet er likt det laga av «auto_install»."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Last"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Lagra"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ugyldig fil"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Valt storleik er større enn tilgjengeleg plass"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Installasjonstype"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har ikkje valt noko pakkegruppe.\n"
+"Vel kva type minimal installasjon du vil ha:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grunnleggjande hjelpetekstar (tilrådd)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Heilt minimal (òg utan urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alle"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Førebur installasjon"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerer pakken «%s»"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det oppstod ein feil ved sortering av pakkar:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vil du helda fram likevel?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Prøv på nytt"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Hopp over denne pakken"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hopp over alle pakkar frå mediet «%s»"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gå tilbake til medie- og pakkevalskjermen"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Det oppstod ein feil ved installering av pakken «%s»."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Oppsett etter installering"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Sjå til at oppdateringsmediet er i stasjon %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Oppdateringar"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Du kan no lasta ned oppdaterte pakkar. Desse pakkane vart oppdaterte\n"
+"etter at distribusjonen var ferdigstilt, og kan innehelda tryggleiks- eller\n"
+"andre feilfiksar.\n"
+"\n"
+"For å lasta ned pakkane må du ha eit nettsamband oppe.\n"
+"\n"
+"Ønskjer du å installera oppdateringane?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kontaktar spegel for oversikt over pakkar …"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Klarte ikkje kontakta spegelen «%s»"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Maskinvare"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Lydkort"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Har du eit ISA-lydkort?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Køyr «sndconfig» etter installasjonen er ferdig for å setja opp lydkortet."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Fann ingen lydkort. Køyr «harddrake» etter installasjonen er ferdig."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Fjernsynskort"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafisk grensesnitt"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Nettverk og Internett"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Mellomtenarar"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "oppsett"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Tryggleiksnivå"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Brannmur"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "påslått"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "avslått"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Oppstart"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Du har ikkje sett opp det grafiske grensesnittet. Er du sikker på at du "
+"ikkje vil ha det?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Førebur oppstartslastar …"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Oppstartslastaren yaboot vil ikkje fungera, då du har ei OldWorld- eller ei "
+"ukjend maskin. Installeringa vil helda fram, men du må bruka BootX eller ein "
+"annan måte å starta maskina di på. Kjerneargumentet for rotfilsystemet er: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Vil du bruka aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Feil ved installering av «aboot».\n"
+"Vil du prøva å tvinga gjennom installering, sjølv om det kan øydeleggja den "
+"første partisjonen?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Med dette tryggleiksnivået er det berre administratoren som får tilgang til "
+"filer på Windows-partisjonen."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Set inn ein tom diskett i stasjon «%s»"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Lagar diskett for automatisk installasjon …"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ikkje alle steg er gjennomførte.\n"
+"\n"
+"Er du sikker på at du vil avslutta?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulerer"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Start på nytt"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Lag diskett for automatisk installasjon"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Du kan heilautomatisera autoinstalleringa om du ønskjer. Denne vil då "
+"overskriva heile harddisken. (Dette er meint for installering på ei anna "
+"maskin.)\n"
+"\n"
+"Du kan òg velja å køyra gjennom installasjonen på nytt.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Spel av"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisert"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Lagra pakkeval"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Språk"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensvilkår"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Harddiskoppdaging"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installasjonsklasse"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatur"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Tryggleik"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partisjonering"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatering"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Pakkeval"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerer"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentisering"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Brukarar"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Nettverk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Oppstartslastar"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Set opp X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Samandrag"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tenester"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Oppdateringar"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avslutt"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pakkar – %d MB)"
+#~ msgstr[1] "(%d pakkar – %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakkar"
+
+#~ msgid "Language"
+#~ msgstr "Språk"
+
+#~ msgid "License"
+#~ msgstr "Lisensvilkår"
+
+#~ msgid "Installation class"
+#~ msgstr "Installasjonsklasse"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatering"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Pakkeval"
+
+#~ msgid "Users"
+#~ msgstr "Brukarar"
+
+#~ msgid "Networking"
+#~ msgstr "Nettverk"
+
+#~ msgid "Configure X"
+#~ msgstr "Set opp X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Får ikkje tilgang til kjernemodular som svarar til kjernen din (manglar "
+#~ "fila «%s»). Det kjem vanlegvis av at oppstartsdisketten er laga for ein "
+#~ "annan versjon enn installasjonsmediet. Du bør då laga ein ny, oppdatert "
+#~ "oppstartsdiskett."
diff --git a/perl-install/install/share/po/pa_IN.po b/perl-install/install/share/po/pa_IN.po
new file mode 100644
index 000000000..ca6270e1e
--- /dev/null
+++ b/perl-install/install/share/po/pa_IN.po
@@ -0,0 +1,1583 @@
+# translation of DrakX.po to Punjabi
+# translation of DrakX.po to Panjabi
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Kanwaljeet Singh Brar <kanwaljeetbrar@yahoo.co.in>, 2005.
+# Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-03-27 17:55+0530\n"
+"Last-Translator: Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>\n"
+"Language-Team: Punjabi <punlinux-i18n@lists.soruceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਅੱਗੇ ਅਨੁਪੂਰਕ ਮਾਧਿਅਮ ਹੈ?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "ਨੈੱਟਵਰਕ (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "ਨੈੱਟਵਰਕ (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "ਪ੍ਰਤਿਬਿੰਬ ਦਾ URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "ਉਪਲੱਬਧ ਪ੍ਰਤੀਬਿੰਬਾਂ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੈਬ ਸਾਈਟ ਨਾਲ ਸੰਪਰਕ ਜਾਰੀ ਹੈ..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "ਉਪਲੱਬਧ ਪ੍ਰਤੀਬਿੰਬਾਂ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੈਬ ਸਾਈਟ ਨਾਲ ਸੰਪਰਕ ਜਾਰੀ ਹੈ..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "ਪੈਕੇਜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਤੀਬਿੰਬ ਚੁਣੋ"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "ਡਾਇਰੈਕਟਰੀ"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "ਇਸ ਪ੍ਰਤੀਬਿੰਬ ਤੇ ਪੈਕੇਜ ਸੂਚੀ ਫਾਇਲ ਨਹੀਂ ਲੱਭ ਸਕੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਸਥਿਤੀ ਠੀਕ ਹੈ।"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ਪਹਿਲਾਂ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਸੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "ਨਵੀਨੀਕਰਨ ਲਈ ਪੈਕੇਜਾਂ ਦੀ ਖੋਜ..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"ਹੇਠਲੇ ਪੈਕੇਜ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨਵੀਨੀਕਰਨ ਲਈ ਹਟਾਏ ਜਾਣਗੇ: %s\n"
+"\n"
+"\n"
+"ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਇਹ ਪੈਕੇਜ ਹਟਾਉਣੇ ਚਾਹੁੰਦੇ ਹੋ?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "ਹੇਠਲੀਆਂ ਡਿਸਕਾਂ ਦੇ ਨਾਂ ਤਬਦੀਲ ਕੀਤੇ ਹਨ:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ਪਹਿਲਾਂ %s ਨਾਂ ਸੀ)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "FTP"
+msgstr "FPU"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "PFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "ਨੈੱਟਵਰਕ"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਬੈਕਅੱਪ ਲਈ ਮਾਧਿਅਮ ਚੁਣੋ।"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਮੌਜੂਦ ਹੈ, ਇਹ ਵਰਤੋ?"
+
+#: any.pm:1183
+#, fuzzy, c-format
+msgid "Permission denied"
+msgstr "ਅਧਿਕਾਰ"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "ਵਿਭਾਗੀਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਰਦਾ-ਤਸਵੀਰ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ਪਰਦਾ-ਤਸਵੀਰਾਂ %s ਵਿੱਚ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਉਪਲੱਬਧ ਹੋਣਗੀਆਂ"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "ਸੰਰਚਨਾ"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "ਤੁਹਾਨੂੰ %s ਵੀ ਫਾਰਮਿਟ ਕਰਨਾ ਜਰੂਰੀ ਹੈ"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਤੇ ਕੁਝ ਜੰਤਰ ਲਈ ਕੰਮ ਕਰਨ ਵਾਸਤੇ ``ਮਲਕੀਅਤ'' ਡਰਾਈਵਰ ਦੀ ਲੋੜ ਹੈ।\n"
+"ਤੁਸੀਂ ਇਹਨਾਂ ਬਾਰੇ ਕੁਝ ਜਾਣਕਾਰੀ ਇਸ ਤੇ ਲੱਭ ਸਕਦੇ ਹੋ: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ਨੈੱਟਵਰਕ ਚਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ਨੈੱਟਵਰਕ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "ਫਾਇਲਾਂ ਭੇਜ ਰਿਹਾ ਹੈ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "ਨਕਲ ਜਾਰੀ ਹੈ"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "ਜਰੂਰੀ"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "ਬਹੁਤ ਵਧੀਆ"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ਵਧੀਆ"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ਹੋ ਸਕਦਾ ਹੈ"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "ਦਫਤਰ ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"ਦਫਤਰੀ ਪ੍ਰੋਗਰਾਮ: ਅੱਖਰਕਾਰ (OpenOffice.org Writer, Kword), ਸਾਰਣੀਕਾਰ (OpenOffice."
+"org Calc, Kspread), PDF ਦਰਸ਼ਕ, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"ਦਫਤਰੀ ਪ੍ਰੋਗਰਾਮ: ਅੱਖਰਕਾਰ (kword, abiword), ਸਾਰਣੀਕਾਰ (kspread, gnumeric), pdf "
+"ਦਰਸ਼ਕ, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "ਖੇਡ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "ਮਨੋਰੰਜਨ ਪ੍ਰੋਗਰਾਮ: ਆਰਕੇਡ, ਬੋਰਡ, ਨੀਤੀ, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "ਮਲਟੀਮੀਡੀਆ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "ਸਾਊਂਡ ਅਤੇ ਵੀਡੀਓ ਚਲਾਉਣ/ਸੋਧਣ ਵਾਲੇ ਪ੍ਰੋਗਰਾਮ"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "ਇੰਟਰਨੈੱਟ ਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "ਪੱਤਰ ਅਤੇ ਖਬਰਾਂ ਪੜਨ ਅਤੇ ਭੇਜਣ ਲਈ (mutt, tin..) ਅਤੇ ਵੈਬ ਝਾਤੀ ਲਈ ਸੰਦਾਂ ਦਾ ਸਮੂਹ"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "ਨੈੱਟਵਰਕ ਕੰਪਿਊਟਰ (ਕਲਾਂਈਟ)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh ਸਮੇਤ ਵੱਖ-ਵੱਖ ਪਰੋਟੋਕਾਲਾਂ ਲਈ ਕਲਾਂਈਟ"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਦੀ ਸੰਰਚਨਾ ਸਾਫ ਕਰਨ ਲਈ ਸੰਦ"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "ਕੰਸੋਲ ਸੰਦ"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "ਸੰਪਾਦਕ, ਸ਼ੈੱਲ, ਫਾਇਲ ਸੰਦ, ਟਰਮੀਨਲ"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "ਵਿਕਾਸ"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ਅਤੇ C++ ਵਿਕਾਸ ਲਾਇਬ੍ਰੇਰੀਆਂ, ਪ੍ਰੋਗਰਾਮ ਅਤੇ ਸ਼ਾਮਿਲ ਫਾਇਲਾਂ"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "ਦਸਤਾਵੇਜ਼"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "ਲੀਨਕਸ ਅਤੇ ਮੁਕਤ ਸਾਫਟਵੇਅਰ ਉੱਪਰ ਕਿਤਾਬਾਂ ਅਤੇ Howto's"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "ਲੀਨਕਸ ਮਿਆਰੀ ਮੁੱਢ। ਤੀਜੀ ਪਾਰਟੀ ਕਾਰਜ ਸਹਿਯੋਗ"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "ਵੈਬ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "ਗਰੁੱਪਵੇਅਰ"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "ਫਾਇਲਵਾਲ/ਰਾਊਟਰ"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "ਇੰਟਰਨੈੱਟ ਗੇਟਵੇ"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "ਪੱਤਰ/ਖਬਰ"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix ਪੱਤਰ ਸਰਵਰ, Inn ਖਬਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "ਡਾਇਰੈਕਟਰੀ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ਡੋਮੇਨ ਨਾਂ ਅਤੇ ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ਫਾਇਲ ਅਤੇ ਪ੍ਰਿੰਟਰ ਸ਼ੇਅਰਿੰਗ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS ਸਰਵਰ, ਸਾਂਬਾ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "ਡਾਟਾਬੇਸ "
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ਅਤੇ MySQL ਡਾਟਾਬੇਸ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "ਵੈਬ/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "ਪੱਤਰ"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix ਪੱਤਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ਜਾਂ MySQL ਡਾਟਾਬੇਸ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "ਨੈੱਟਵਰਕ ਕੰਪਿਊਟਰ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS ਸਰਵਰ, SMB ਸਰਵਰ, ਪਰਾਕਸੀ ਸਰਵਰ, ssh ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "ਗਰਾਫੀਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "ਕੇ ਡੀ ਈ ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "ਕੇ ਵਿਹੜਾ ਵਾਤਾਵਰਨ, ਸਾਥੀ ਸੰਦਾਂ ਦੇ ਭੰਡਾਰ ਨਾਲ ਮੁੱਢਲਾ ਗਰਾਫਿਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "ਗਨੋਮ ਵਰਕਸਟੇਸ਼ਨ"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "ਉਪਭੋਗੀ-ਅਨੁਕੂਲ ਕਾਰਜ ਸਮੂਹ ਅਤੇ ਵਿਹੜਾ ਸੰਦਾਂ ਨਾਲ ਇੱਕ ਗਰਾਫੀਕਲ ਵਾਤਾਵਰਨ"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "ਵਿਹੜਾ"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "ਹੋਰ ਗਰਾਫੀਕਲ ਵਿਹੜੇ"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ਆਦਿ"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "ਸਹੂਲਤਾਂ"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin ਰਿਮੋਟ ਸੰਰਚਨਾ ਸਰਵਰ"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "ਨੈੱਟਵਰਕ ਸਹੂਲਤਾਂ/ਪ੍ਰਬੰਧਨ"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "ਪ੍ਰਬੰਧਨ ਸੰਦ, ਕਾਰਜ ਅਕਾਊਂਟਿੰਗ, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "ਮੈਂਡਰਿਵ-ਸਾਫਟ ਤਖਤੀ"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "ਸਰਵਰ ਸੰਰਚਨਾ ਲਈ ਤਖਤੀ"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"ਗਲਤੀ ਹੋਈ ਹੈ, ਪਰ ਮੈਂ ਨਹੀਂ ਜਾਣਦਾ ਕਿ ਇਸ ਦਾ ਕਿਸ ਤਰਾਂ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਹੈ।\n"
+"ਆਪਣੇ ਖਤਰੇ ਤੇ ਜਾਰੀ ਕਰੋ।"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"ਕੁਝ ਜਰੂਰੀ ਪੈਕੇਜ ਠੀਕ ਤਰਾਂ ਇੰਸਟਾਲ ਨਹੀਂ ਹੋਏ।\n"
+"ਜਾਂ ਤਾਂ ਤੁਹਾਡੀ cdrom ਡਰਾਈਵ ਜਾਂ cdrom ਖਰਾਬ ਹੈ।\n"
+"ਇੰਸਟਾਲ ਕੀਤੇ ਕੰਪਿਊਟਰ ਤੇ \"rpm -qpl media/main/*.rpm\" ਵਰਤ ਕੇ cdrom ਦੀ ਜਾਂਚ ਕਰੋ\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "ਪਗ਼ `%s' ਸ਼ੁਰੂ ਹੋ ਰਿਹਾ ਹੈ\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਇੰਸਟਾਲੇਸ਼ਨ %s "
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> ਇਕਾਈਆਂ ਵਿੱਚ "
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"ਤੁਹਾਡੇ ਸਿਸਟਮ ਤੇ ਸਰੋਤ ਘੱਟ ਹਨ। ਤੁਹਾਨੂੰ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਇੰਸਟਾਲ ਕਰਨ ਸਮੇਂ ਮੁਸ਼ਕਿਲ\n"
+"ਆ ਸਕਦੀ ਹੈ। ਜੇ ਅਜਿਹਾ ਹੋਇਆ, ਤੁਸੀਂ ਪਾਠ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਇਸ ਲਈ,\n"
+"`F1' ਦਬਾਓ ਜਦੋਂ CDROM ਤੋਂ ਬੂਟ ਕਰਦੇ ਹੋ, ਫਿਰ `ਪਾਠ' ਭਰੋ।"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "ਪੈਕੇਜ ਸਮੂਹ ਚੋਣ"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "ਵੱਖ-ਵੱਖ ਪੈਕੇਜ ਚੋਣ"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "ਕੁੱਲ ਅਕਾਰ: %d / %d ਮੈਬਾ"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "ਗਲਤ ਪੈਕੇਜ"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "ਵਰਜਨ:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "ਅਕਾਰ:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d ਕਿਬਾ\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "ਖਾਸੀਅਤ:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "ਤੁਸੀਂ ਇਹ ਪੈਕੇਜ ਚੁਣ/ਨਾ-ਚੁਣ ਨਹੀਂ ਸਕਦੇ"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s ਗੁੰਮ ਹੋਣ ਕਾਰਨ"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s ਲੋੜ ਪੂਰੀ ਨਾ ਹੋਣ ਕਰਕੇ"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "%s ਵਰਤੋਂ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s ਰੱਖਣ ਲਈ"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "ਤੁਸੀਂ ਇਹ ਪੈਕੇਜ ਨਹੀਂ ਚੁਣ ਸਕਦੇ ਕਿਉਂਕਿ ਇੱਥੇ ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਥਾਂ ਨਹੀਂ ਹੈ।"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਹਟਾਏ ਜਾ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "ਇਹ ਲਾਜ਼ਮੀ ਪੈਕੇਜ ਹੈ, ਇਸ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾਈ ਜਾ ਸਕਦੀ"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "ਤੁਸੀਂ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਹ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ।"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "ਤੁਸੀਂ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਸ ਦਾ ਨਵੀਨੀਕਰਨ ਜਰੂਰੀ ਹੈ।"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "ਚੁਣੇ ਪੈਕੇਜ ਸਵੈ ਹੀ ਵਿਖਾਓ"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "ਇੰਸਟਾਲ"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "ਪੈਕੇਜ ਚੋਣ"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "ਪੈਕੇਜ ਚੋਣ ਨਵੀਨੀਕਰਨ ਜਾਰੀ ਹੈ"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "ਸਾਫਟਵੇਅਰ ਪ੍ਰਬੰਧਨ"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚੁਣੋ"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "ਬਾਕੀ ਸਮਾਂ"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "ਅਨੁਮਾਨ ਜਾਰੀ ਹੈ"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d ਪੈਕੇਜ"
+msgstr[1] "%d ਪੈਕੇਜ"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "ਸਾਰ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "ਸੰਰਚਨਾ"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ਸੰਰਚਿਤ ਨਹੀਂ"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"ਹੇਠਲੇ ਇੰਸਟਾਲੇਸ਼ਨ ਮਾਧਿਅਨ ਲੱਭੇ ਹਨ।\n"
+"ਜੇ ਤੁਸੀਂ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਛੱਡਣੇ ਚਾਹੁੰਦੇ ਹੋ, ਤੁਸੀਂ ਹੁਣ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ।"
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"ਤੁਹਾਡੇ ਕੋਲ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ CDs ਦੇ ਸੰਖੇਪ ਹਾਰਡ ਡਰਾਈਵ ਤੇ ਨਕਲ ਕਰਨ ਦੀ ਚੋਣ ਹੈ।\n"
+"ਇਹ ਫਿਰ ਹਾਰਡ ਡਰਾਈਵ ਤੋਂ ਜਾਰੀ ਕਰੇਗਾ ਅਤੇ ਪੈਕੇਜ ਸਿਸਟਮ ਪੂਰੀ ਤਰਾਂ ਇੰਸਟਾਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਉਪਲੱਬਧ "
+"ਰਹਿਣਗੇ।"
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "ਪੂਰੀ CDs ਨਕਲ ਕਰੋ"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "ਇੱਕ ਗਲਤੀ ਆਈ ਹੈ"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਕੀਬੋਰਡ ਖਾਕਾ ਚੁਣੋ।"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "ਇੱਥੇ ਉਪਲੱਬਧ ਕੀਬੋਰਡਾਂ ਦੀ ਸੂਚੀ ਹੈ"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "ਇੰਸਟਾਲ/ਨਵੀਨੀਕਰਨ"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "ਕੀ ਇਹ ਇੰਸਟਾਲ ਜਾਂ ਨਵੀਨੀਕਰਨ ਹੈ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "ਨਵੀਨੀਕਰਨ %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s ਲਈ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE ਸੰਰਚਨਾ ਹੋ ਰਹੀ ਹੈ"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"1ਮੈਬਾ ਬੂਟਸਟਰੈਪ ਲਈ ਕੋਈ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ! ਇੰਸਟਾਲ ਜਾਰੀ ਰਹੇਗੀ, ਪਰ ਤੁਹਾਡਾ ਸਿਸਟਮ ਬੂਟ ਕਰਨ ਲਈ, "
+"ਤੁਹਾਨੂੰ DiskDrake ਵਿੱਚ ਬੂਟਸਟਰੈਪ ਭਾਗ ਬਣਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ।"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"PPC PReP Boot ਬੂਟਸਟਰੈਪ ਲਈ ਕੋਈ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ! ਇੰਸਟਾਲ ਜਾਰੀ ਰਹੇਗੀ, ਪਰ ਤੁਹਾਡਾ ਸਿਸਟਮ ਬੂਟ "
+"ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ DiskDrake ਵਿੱਚ ਬੂਟਸਟਰੈਪ ਭਾਗ ਬਣਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ।"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"ਆਪਣੀ Cd-Rom ਤਬਦੀਲ ਕਰੋ!\n"
+"ਕਿਰਪਾ ਕਰਕੇ \"%s\" ਲੇਬਲ ਵਾਲੀ Cd-Rom ਆਪਣੀ ਡਰਾਈਵ ਵਿੱਚ ਪਾਓ ਅਤੇ ਸਮਾਪਤੀ ਤੇ ਠੀਕ ਹੈ ਦਬਾਓ\n"
+"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਹ ਨਹੀਂ ਹੈ, ਇਸ Cd-Rom ਤੋਂ ਇੰਸਟਾਲੇਸ਼ਨ ਰੋਕਣ ਲਈ ਰੱਦ ਕਰੋ ਦਬਾਓ।"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"ਕਿਰਪਾ ਕਰਕੇ ਫਲਾਪੀ ਤੇ ਪੈਕੇਜ ਲੋਡ ਜਾਂ ਸੰਭਾਲ ਚੁਣੋ।\n"
+"ਫਾਰਮਿਟ ਫਲਾਪੀਆਂ ਦੁਆਰਾ ਬਣਾਏ auto_install ਵਾਂਗ ਹੈ।"
+
+#: steps_interactive.pm:387
+#, fuzzy, c-format
+msgid "Load"
+msgstr "ਪੋਲੈਂਡ"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "ਸੰਭਾਲੋ"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "ਅਸਲੀ ਫਾਇਲ"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "ਚੁਣਿਆ ਅਕਾਰ ਉਪਲੱਬਧ ਥਾਂ ਨਾਲੋਂ ਜਿਆਦਾ ਹੈ"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "ਇੰਸਟਾਲ ਦੀ ਕਿਸਮ"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"ਤੁਸੀਂ ਪੈਕੇਜਾਂ ਦਾ ਕੋਈ ਸਮੂਹ ਨਹੀਂ ਚੁਣਿਆ।\n"
+"ਕਿਰਪਾ ਕਰਕੇ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲੇਸ਼ਨ ਚੁਣੋ:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X ਨਾਲ"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "ਮੁੱਢਲੀ ਦਸਤਾਵੇਜ਼ੀ ਨਾਲ (ਸਿਫਾਰਸ਼ੀ)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "ਯਕੀਨਨ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ (ਖਾਸ ਤੌਰ ਤੇ urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "ਸਭ"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "ਇੰਸਟਾਲੇਸ਼ਨ ਤਿਆਰੀ ਹੋ ਰਹੀ ਹੈ"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੀ ਹੈ"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "ਪੈਕੇਜ ਕ੍ਰਮਬੱਧ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "ਕਿਸੇ ਤਰਾਂ ਜਾਰੀ ਰੱਖੋ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "ਪੈਕੇਜ ਚੋਣ ਸੰਭਾਲੋ"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "ਪੋਸਟ-ਇੰਸਟਾਲ ਸੰਰਚਨਾ"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "ਨਵਿਨੀਕਰਨ"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜਾਂ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ ਪ੍ਰਤੀਬਿੰਬ ਨਾਲ ਸੰਪਰਕ ਜਾਰੀ ਹੈ..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "ਪ੍ਰਤੀਬਿੰਬ %s ਨਾਲ ਸੰਪਰਕ ਲਈ ਅਸਮਰਥ"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "ਜੰਤਰ"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "ਸਾਊਂਡ ਕਾਰਡ"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ISA ਸਾਊਂਡ ਕਾਰਡ ਹੈ?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "ਆਪਣੀ ਸਾਊਂਡ ਕਾਰਡ ਸੰਰਚਨਾ ਲਈ ਇੰਸਟਾਲੇਸ਼ਨ ਮਗਰੋਂ \"alsaconf\" ਜਾਂ \"sndconfig\" ਚਲਾਓ"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "ਕੋਈ ਸਾਊਂਡ ਕਾਰਡ ਨਹੀਂ ਲੱਭਿਆ। ਇੰਸਟਾਲੇਸ਼ਨ ਮਗਰੋਂ \"harddrake\" ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV ਕਾਰਡ"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "ਗਰਾਫੀਕਲ ਇੰਟਰਫੇਸ"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "ਨੈੱਟਵਰਕ ਤੇ ਇੰਟਰਨੈੱਟ"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "ਪਰਾਕਸੀ"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "ਸੰਰਚਿਤ"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "ਸੁਰੱਖਿਆ ਪੱਧਰ"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "ਫਾਇਰਵਾਲ"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ਸਰਗਰਮ"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ਅਯੋਗ"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "ਬੂਟ"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s, %s ਉੱਪਰ"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "ਤੁਸੀਂ X ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਇਸ ਨੂੰ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "ਬੂਟ-ਲੋਡਰ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"ਤੁਹਾਡੇ ਕੋਲ ਓਲਡਵਰਡ ਜਾਂ ਅਣਪਛਾਤੀ ਮਸ਼ੀਨ ਲੱਗਦੀ ਹੈ, yaboot ਤੁਹਾਡੇ ਲਈ ਕੰਮ ਨਹੀਂ ਕਰੇਗਾ। ਇੰਸਟਾਲ "
+"ਜਾਰੀ ਰਹੇਗਾ, ਪਰ ਤੁਹਾਨੂੰ ਆਪਣੀ ਮਸ਼ੀਨ ਬੂਟ ਕਰਨ ਲਈ BootX ਜਾਂ ਹੋਰ ਢੰਗ ਵਰਤਣ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਰੂਟ "
+"ਫਾਇਲ ਸਿਸਟਮ ਲਈ ਕਰਨਲ ਆਰਗੂਮੈਂਟ ਹਨ: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "ਕੀ ਤੁਸੀਂ aboot ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"aboot ਇੰਸਟਾਲ ਕਰਨ ਵਿੱਚ ਗਲਤੀ, \n"
+"ਇੰਸਟਾਲੇਸ਼ਨ ਮਜਬੂਰ ਕਰੋ ਭਾਵੇਂ ਇਹ ਪਹਿਲਾ ਭਾਗ ਨਕਾਰਾ ਕਰਦਾ ਹੈ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "ਇਸ ਸੁਰੱਖਿਆ ਪੱਧਰ ਵਿੱਚ, Windows ਭਾਗ ਵਿਚਲੀ ਫਾਇਲਾਂ ਵਰਤਣ ਲਈ ਪ੍ਰਬੰਧਕ ਨੂੰ ਮਨਾਹੀ ਹੈ।"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ਡਰਾਈਵ %s ਵਿੱਚ ਖਾਲੀ ਫਲਾਪੀ ਪਾਓ"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "ਸਵੈ ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾ ਰਿਹਾ ਹੈ..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ਕੁਝ ਪਗ਼ ਮੁਕੰਮਲ ਨਹੀਂ ਕੀਤੇ।\n"
+"\n"
+"ਕੀ ਤੁਸੀਂ ਹੁਣ ਯਕੀਨਨ ਬਾਹਰ ਜਾਣਾ ਹੈ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "ਮੁਬਾਰਕਾਂ"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "ਮੁੜ-ਚਾਲੂ"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "ਸਵੈ ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾਓ"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"ਜੇ ਚਾਹੁੰਦੇ ਹੋ, ਸਵੈ ਇੰਸਟਾਲ ਪੂਰੀ ਤਰਾਂ ਸਵੈਚਾਲਤ ਹੋ ਸਕਦਾ ਹੈ\n"
+"ਇਸ ਮੁੱਦੇ ਵਿੱਚ ਇਹ ਹਾਰ ਡਰਾਈਵ ਤੇ ਅਧਿਕਾਰ ਲਵੇਗਾ!!\n"
+"(ਇਸ ਦਾ ਮਤਲਬ ਹੈ ਹੋਰ ਬਕਸੇ ਤੇ ਇੰਸਟਾਲੇਸ਼ਨ ਹੋਵੇਗੀ)।\n"
+"\n"
+"ਤੁਸੀਂ ਇੰਸਟਾਲੇਸ਼ਨ ਮੁੜ ਚਲਾਉਣ ਲਈ ਚੁਣ ਸਕਦੇ ਹੋ।\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "ਮੁੜ-ਚਲਾਓ"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "ਸਵੈਚਾਲਤ"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "ਪੈਕੇਜ ਚੋਣ ਸੰਭਾਲੋ"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "ਬੋਲੀ"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "ਲਾਈਸੈਂਸ"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "ਮਾਊਸ"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "ਹਾਰਡ ਡਰਾਈਵ ਖੋਜ"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "ਕੀ-ਬੋਰਡ"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ਸੁਰੱਖਿਆ"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "ਵਿਭਾਗੀਕਰਨ"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ਉਪਭੋਗੀ"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "ਨੈਟਵਰਕਿੰਗ"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ਬੂਟ-ਲੋਡਰ"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X ਸੰਰਚਨਾ"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "ਸਾਰ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "ਸੇਵਾਵਾਂ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "ਨਵਿਨੀਕਰਨ"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "ਬਾਹਰ"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d ਪੈਕੇਜ"
+#~ msgstr[1] "%d ਪੈਕੇਜ"
+
+#~ msgid "%d packages"
+#~ msgstr "%d ਪੈਕੇਜ"
+
+#~ msgid "Language"
+#~ msgstr "ਬੋਲੀ"
+
+#~ msgid "License"
+#~ msgstr "ਲਾਈਸੈਂਸ"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "ਇੰਸਟਾਲੇਸ਼ਨ ਸ਼੍ਰੇਣੀਆਂ ਚੁਣੋ"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "ਅਨੁਮਾਨ ਜਾਰੀ ਹੈ"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚੁਣੋ"
+
+#~ msgid "Users"
+#~ msgstr "ਉਪਭੋਗੀ"
+
+#~ msgid "Networking"
+#~ msgstr "ਨੈਟਵਰਕਿੰਗ"
+
+#~ msgid "Configure X"
+#~ msgstr "X ਸੰਰਚਨਾ"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "ਤੁਹਾਡੇ ਕਰਨਲ ਦੇ ਅਨੁਸਾਰੀ ਕਰਨਲ ਮੈਡਿਊਲਾਂ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਸਕਦਾ (ਫਾਇਲ %s ਗੁੰਮ ਹੈ), ਆਮ ਤੌਰ ਤੇ ਇਸ "
+#~ "ਦਾ ਮਤਲਬ ਹੈ ਤੁਹਾਡੀ ਬੂਟ ਫਲਾਪੀ ਇੰਸਟਾਲੇਸ਼ਨ ਮਾਧਿਅਮ ਨਾਲ ਸਮਕਾਲੀ ਨਹੀਂ ਹੈ (ਕਿਰਪਾ ਕਰਕੇ ਨਵੀਂ "
+#~ "ਬੂਟ ਫਲਾਪੀ ਬਣਾਓ)"
diff --git a/perl-install/install/share/po/pl.po b/perl-install/install/share/po/pl.po
new file mode 100644
index 000000000..73a0ef9e2
--- /dev/null
+++ b/perl-install/install/share/po/pl.po
@@ -0,0 +1,1596 @@
+# translation of DrakX.po to Polish
+# Polish translation file
+#
+# tomek, 2005.
+# Paweł Jabłoński <pj@linux-mandrake.com>, 2001,2002.
+# Arkadiusz Lipiec <arkadiusz.lipiec@gazeta.pl>, 2002-2004.
+# Tomasz Bednarski <bednarski@skrzynka.pl>, 2005.
+# Tomasz Bednarski <tomasz.bednarski@mandriva.pl>, 2005.
+# Maciej Walkowiak <m.walkowiak@computer.org>, 2005.
+# Tomasz Bednarski - Mandriva Poland <tomasz.bednarski@mandriva.pl>, 2006, 2007.
+# Tomasz Bednarski Mandriva Poland <tomasz.bednarski@mandriva.pl>, 2006.
+# Mandriva Poland <biuro@mandriva.pl>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-13 16:52+0100\n"
+"Last-Translator: Tomasz Bednarski - Mandriva Poland <tomasz."
+"bednarski@mandriva.pl>\n"
+"Language-Team: Polish <pl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%"
+"100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Czy posiadasz inne dodatkowe nośniki?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Znaleziono następujące nośniki, które zostaną wykorzystane podczas "
+"instalacji: %s.\n"
+"\n"
+"\n"
+"Czy chcesz skonfigurować dodatkowe nośniki instalacyjne?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sieć (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sieć (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sieć (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Adres URL dla serwera zwierciadlanego?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Adres URL musi zaczynać się od ftp:// lub http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Łączenie ze stroną Mandriva Linux w celu pobrania listy dostępnych "
+"serwerów..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Łączenie ze stroną Mandriva Linux w celu pobrania listy dostępnych serwerów"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Wybierz serwer lustrzany, z którego chcesz pobrać pakiety"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Konfiguracja NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Wprowadź nazwę komputera i katalog nośnika NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Brak nazwy hosta"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Oznaczenie katalogu musi się zaczynać od znaku \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nazwa komputera udostępniające udziały NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatkowe"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Nie można znaleźć listy pakietów na tym serwerze. Sprawdź poprawność "
+"lokalizacji."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Wyszukiwanie już zainstalowanych pakietów..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Usuwanie pakietów w celu wykonania aktualizacji..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Wyszukiwanie pakietów do uaktualnienia..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Wybrano następujące serwery: %s\n"
+"\n"
+"\n"
+"Będą one domyślnie uruchamiane. Nie zawierają one żadnych znanych błędów\n"
+"związanych z bezpieczeństwem, lecz błędy takie mogą zostać w przyszłości "
+"ujawnione.\n"
+"W takiej sytuacji należy dokonać jak najszybszego uaktualnienia.\n"
+"\n"
+"\n"
+"Czy na pewno chcesz zainstalować te serwery?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Aby umożliwić aktualizację systemu, usunięte będą następujące pakiety: %s\n"
+"\n"
+"\n"
+"Czy naprawdę chcesz usunąć te pakiety?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Zmieniono nazwy następujących dysków:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (wcześniejsza nazwa: %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Sieć"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Proszę wybrać nośnik"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Plik już istnieje. Nadpisać?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Dostęp zabroniony"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Niepoprawna nazwa NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Nieprawidłowy nośnik %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Nie można pobrać zrzutu ekranu przed partycjonowaniem"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Zrzuty ekranu będą dostępne po instalacji w %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalacja"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguracja"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Należy także sformatować %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Część sprzętu w Twoim komputerze wymaga \"firmowych\" sterowników.\n"
+"Więcej informacji na ten temat uzyskasz z %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Uruchamianie sieci"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Zatrzymywanie sieci"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Pobieranie pliku %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiowanie wybranych pakietów do późniejszego wykorzystania"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiowanie w toku"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "trzeba posiadać"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "ważny"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "bardzo fajny"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "fajny"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "taki sobie"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Linia produktów 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Firewall Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Tryb Discovery Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Jak się zarejestrować"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Usługi Mandriva Online "
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nowy temat "
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Stacja robocza"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Stacja biurowa"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programy biurowe: procesory tekstu (OpenOffice.org Writer, Kword), arkusze "
+"kalkulacyjne (OpenOffice.org, Kspread), przeglądarki pdf, itd."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programy biurowe: procesory tekstu (kword, abiword), arkusze kalkulacyjne "
+"(kspread, gnumeric), przeglądarki pdf, itd."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Stacja rozrywkowa (gry)"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programy rozrywkowe: gry przygodowe, planszowe, strategie, itd."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Stacja multimedialna"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy do odtwarzania/edycji dźwięku i obrazu"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Stacja internetowa"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Zestaw narzędzi do odczytu i przesyłania poczty i grup dyskusyjnych (mutt, "
+"tin...) oraz przeglądania sieci"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Komputer sieciowy (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Programy klienckie dla różnych protokołów włączając ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Narzędzia do łatwego zarządzania komputerem"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Narzędzia konsolowe"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Edytory, powłoki, narzędzia plikowe, terminale"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Programowanie"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteki programistyczne C i C++, programy i pliki nagłówkowe"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacja"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Książki i dokumenty HOWTO o Linuksie i Otwartym Oprogramowaniu"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Obsługa aplikacji firm trzecich"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Serwer WWW"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "System do pracy grupowej"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Serwer Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Zapora sieciowa/router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Bramka internetowa"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Poczta/wiadomości"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Serwer pocztowy Postfix, serwer grup Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Serwer katalogowy"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Serwer FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Serwer nazw domenowych i informacji sieciowych"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Serwer plików i współdzielenia drukarek"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Serwer NFS, serwer Samby"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Baza danych"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Serwer bazodanowy PostgreSQL i MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Poczta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Serwer pocztowy Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Serwer bazodanowy PostgreSQL i MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Serwer sieciowy"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Serwer NIS, serwer SMB, serwer pośrednika, serwer ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Środowisko graficzne"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Stacja KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Środowisko graficzne KDE, podstawowe środowisko graficzne ze zbiorem "
+"narzędzi towarzyszących"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stacja GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Środowisko graficzne z przyjaznym dla użytkownika zbiorem aplikacji i "
+"narzędzi graficznych"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Pulpit IceWM"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Inne środowiska graficzne"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, itd."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Narzędzia"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Serwer SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Serwer konfiguracji zdalnej Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Narzędzia sieciowe/monitorowanie"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Narzędzia do monitorowania, księgowania procesów, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Druidy Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Druidy do konfiguracji serwera"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Wystąpił jakiś błąd i nie wiadomo, jak poprawnie go obsłużyć.\n"
+"Kontynuuj na własną odpowiedzialność."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Pewne istotne pakiety nie zostały poprawnie zainstalowane.\n"
+"Prawdopodobnie uszkodzona jest płyta lub napęd CDROM.\n"
+"Sprawdź płytę w innym komputerze używając polecenia:\n"
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Przechodzę do kroku `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalacja Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pomiędzy elementami"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"System ma mało zasobów. Mogą wystąpić problemy z instalacją.\n"
+"Jeśli tak się dzieje, spróbuj instalacji w trybie tekstowym.\n"
+"Aby tak zrobić, naciśnij F1 podczas startu z CD i wpisz \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Wybór grup pakietów"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Samodzielny wybór pakietów"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Rozmiar: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Uszkodzony pakiet"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Wersja: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Rozmiar: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Ważność: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Nie można zmienić statusu tego pakietu"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "z powodu brakującego %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "na skutek niespełnienia %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "próba aktualizacji wersji %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "w celu utrzymania %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Nie możesz wybrać tego pakietu. Nie ma już miejsca, by go zainstalować"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Zostaną zainstalowane następujące pakiety"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Zostaną usunięte następujące pakiety"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ten pakiet jest wymagany, nie można go pominąć"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Nie można odznaczyć tego pakietu. Został już zainstalowany"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Nie można odznaczyć tego pakietu. Musi zostać zaktualizowany"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Pokaż automatycznie wybrane pakiety"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Zainstaluj"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Wczytanie/Zapis zaznaczenia"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Uaktualnianie listy wybranych pakietów"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna instalacja"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Zarządzanie oprogramowaniem"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Wybierz pakiety do zainstalowania"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalowanie"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Bez szczegółów"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Pozostały czas "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Szacowanie"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "pakiet"
+msgstr[1] "%d pakietów"
+msgstr[2] "%d pakietów"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Różne"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfiguruj"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nie skonfigurowano"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Znaleziono poniższe nośniki instalacyjne.\n"
+"Jeśli chcesz pominąć któreś z nich, możesz je teraz odznaczyć."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Istnieje możliwość skopiowania przed instalacją zawartości płyt CD na dysk "
+"twardy.\n"
+"Instalacja będzie kontynuowana z dysku twardego a skopiowane pakiety będą "
+"dostępne po zakończeniu instalacji."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Skopiuj wszystkie płyty CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Wystąpił błąd"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Wybierz układ klawiatury."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Oto pełna lista dostępnych klawiatur"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalacja/Uaktualnienie"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Czy to instalacja czy uaktualnienie?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uaktualnienie %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Klucz szyfrujący dla %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfiguracja IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Brak wolnej przestrzeni na 1MB bootstrap! Instalacja będzie kontynuowana,"
+"lecz aby uruchomić system, należy utworzyć partycję bootstrap za pomocą "
+"programu DiskDrake."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Konieczne jest utworzenie bootstrap PPC PReP!. Instalacja będzie "
+"kontynuowana, lecz aby uruchomić system, należy utworzyć partycję bootstrap "
+"w programie DiskDrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Zmień płytę CD!\n"
+"\n"
+"Włóż płytę \"%s\" do napędu i naciśnij Ok. Jeśli jej nie posiadasz, naciśnij "
+"Anuluj, aby pominąć instalację pakietów z tej płyty."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Wyszukiwanie dostępnych pakietów..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Za mało miejsca na dysku dla przeprowadzenia instalacji lub aktualizacji (%"
+"dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Wybierz odczyt lub zapis listy wybranych pakietów.\n"
+"Format jest identyczny z dyskiem automatycznej\n"
+"instalacji."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Wczytaj"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Zapisz"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Nieprawidłowy plik"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Wybrany rozmiar przekracza dostępne miejsce"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Typ instalacji"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nie wybrano żadnej grupy pakietów.\n"
+"Wybierz minimalną żądaną instalację:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Z X Window"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Z podstawową dokumentacją (zalecane!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Naprawdę minimalna instalacja (w szczególności bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Wszystkie"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Przygotowywanie instalacji"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalowanie pakietu %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Wystąpił błąd porządkowania pakietów:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Kontynuować?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Ponów próbę"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Pomiń ten pakiet"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Pomiń wszystkie pakiety z nośnika \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Wróć do wyboru nośników i pakietów"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Wystąpił błąd podczas instalowania pakietu %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfiguracja poinstalacyjna"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Upewnij się, że nośnik Update Modules znajduje się w napędzie %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aktualizacje"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Masz teraz możliwość pobrania zaktualizowanych pakietów, które\n"
+"zostały wydane po udostępnieniu dystrybucji. Mogą zawierać one poprawki\n"
+"poprawiające poziom bezpieczeństwa lub naprawiające błędy.\n"
+"\n"
+"Aby pobrać te pakiety, wymagane jest połączenie internetowe.\n"
+"\n"
+"Czy chcesz zainstalować uaktualnienia ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Łączenie z serwerem - pobieranie listy dostępnych pakietów..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nie można skontaktować się z serwerem zwierciadlanym %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Sprzęt"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Karta dźwiękowa"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Czy posiadasz kartę dźwiękową ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Uruchom \"alsaconf\" lub \"sndconfig\" po zakończeniu instalacji aby "
+"skonfigurować kartę dźwiękową"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Karta dźwiękowa nie została wykryta. Wypróbuj \"harddrake\" po zakończeniu "
+"instalacji"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Karta TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfejs graficzny"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Sieć i Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Serwery pośredniczące"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "skonfigurowano"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Poziom bezpieczeństwa"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Zapora sieciowa"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktywowano"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "wyłączono"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Uruchamianie"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nie masz skonfigurowanego systemu X Window. Czy na pewno chcesz tego?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Przygotowywanie programu rozruchowego..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Prawdopodobnie posiadasz przestarzały (OldWorld)lub też nieznany (Unknown) "
+"komputer. Program rozruchowy yaboot nie będzie działał. Instalacja będzie "
+"kontynuowana, lecz konieczne jest użycie programu BootX, aby uruchomić "
+"komputer. Argument jądra dla głównego systemu plików \"/\": root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Czy chcesz używać aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Błąd podczas instalowania aboot. \n"
+"Wymusić instalację, nawet gdyby groziło to zniszczeniem pierwszej partycji?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"W tym poziomie zabezpieczeń, dostęp do plików na partycji Windows jest "
+"ograniczony do administratora."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Włóż pustą dyskietkę do stacji %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Tworzenie dyskietki automatycznej instalacji..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Pewne etapy instalacji nie zostały zakończone\n"
+"\n"
+"Czy na pewno chcesz teraz zakończyć?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulacje"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Uruchom ponownie"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Tworzenie dyskietki automatycznej instalacji"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Jeśli zachodzi taka potrzeba, to automatyczna instalacja może być \n"
+"przeprowadzona w sposób automatyczny .\n"
+"Zajmie ona wówczas cały dysk,\n"
+"co ma znaczenie przy późniejszej instalacji na innym komputerze.\n"
+"\n"
+"Można zażyczyć sobie odtworzenia instalacji.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Powtórzona"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatyczna"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Zapisz listę wybranych pakietów"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Wybór języka"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencja"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mysz"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Wykrywanie dysków"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Rodzaj instalacji"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klawiatura"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bezpieczeństwo"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partycjonowanie"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatowanie"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Wybór pakietów"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalowanie"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Uwierzytelnianie"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Użytkownicy"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Sieć"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Program rozruchowy"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfiguracja X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Różne"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Usługi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizacje"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Wyjdź"
diff --git a/perl-install/install/share/po/pt.po b/perl-install/install/share/po/pt.po
new file mode 100644
index 000000000..a8beee45a
--- /dev/null
+++ b/perl-install/install/share/po/pt.po
@@ -0,0 +1,1646 @@
+# translation of pt.po to Português
+# translation of pt.po to
+#
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/pt.php3
+#
+# Copyright (C) 2000 Mandriva
+#
+# Fernando Moreira <fmoreira@netc.pt>, 1999.
+# Jorge Costa <Jorgercosta@netc.pt>, 2001.
+# José JORGE <jose.jorge@oreka.com>, 2002,2003.
+# Jose Jorge <jjorge@free.fr>, 2003, 2004, 2005.
+# Jose Carlos D. S. Saraiva <jose.d.s.saraiva@clix.pt>, 2004.
+# Zé <mmodem00@netvisao.pt>, 2004, 2005, 2006.
+# Américo José Melo <mmodem00@netvisao.pt>, 2004, 2005.
+# Ze <mmodem00@netvisao.pt>, 2004.
+# José Melo <mmodem00@gmail.com>, 2005.
+# José Melo <mmodme00@gmail.com>, 2005.
+# Jose JORGE <jjorge@free.fr>, 2005.
+# Zé <mmodem00@gmail.com>, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: pt\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-02-18 17:23+0000\n"
+"Last-Translator: Zé <mmodem00@gmail.com>\n"
+"Language-Team: Português <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Tem mais alguma média suplementar?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"A seguinte média foi encontrada e será usada durante a instalação: %s.\n"
+"\n"
+"\n"
+"Tem alguma média de instalação suplementar para configurar?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL do espelho?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "O URL deve começar por ftp:// ou http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"A contactar o sítio web Mandriva Linux para obter a lista de espelhos "
+"disponíveis..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Falha ao contactar o sítio web Mandriva Linux para obter a lista de espelhos "
+"disponíveis"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Escolha um espelho para transferir os pacotes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configuração NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Por favor indique o endereço e o directório da sua média NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Nome do endereço em falta"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "O directório deve começar por \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Endereço da montagem NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directório"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Suplementar"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Não é possível encontrar o ficheiro hdlist neste espelho. Certifique-se que "
+"a localização está correcta."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "A ver os pacotes já instalados..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "A remover pacotes antes de actualizar..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "A procurar pacotes para actualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Seleccionou o(s) seguinte(s) servidor(es): %s\n"
+"\n"
+"\n"
+"Estes servidores são activados por omissão. Não têm qualquer problema\n"
+"de segurança conhecido, mas podem ser encontrados alguns novos problemas.\n"
+"Nesse caso, deve actualizar o seu sistema assim que possível.\n"
+"\n"
+"\n"
+"Deseja realmente instalar estes servidores?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Os seguintes pacotes serão removidos para poder actualizar o seu sistema: %"
+"s\n"
+"\n"
+"\n"
+"Deseja realmente remover estes pacotes ?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Os seguintes discos foram renomeados:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (anteriormente conhecido por %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Por favor escolha uma média"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O ficheiro já existe. Deseja sobrepôr o ficheiro?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS inválido"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Média danificada %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Não é possível capturar imagens do ecrã antes de particionar"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As capturas de ecrã estarão disponíveis após instalar em %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalação"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuração"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Deve também formatar %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Algum material no seu computador precisa de controladores ``proprietários''\n"
+"para funcionar. Pode encontrar mais informações em: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "A ligar a rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "A desligar a rede"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "A transferir o ficheiro %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "A copiar alguns pacotes no disco para uso futuro"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Cópia em progresso"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "recomendado"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "muito bom"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bom"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "talvez"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "linha de produtos 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Firewall Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Modo Discovery Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Como registar"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Serviços Emlinha Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Novo Tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Estação de Trabalho"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Estação de Trabalho Office"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas Office: processadores de texto (OpenOffice.org Writer, Kword), "
+"folhas de cálculo (OpenOffice.org Calc, Kspread), visualizadores PDF, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programas office: processadores de texto (kword, abiword), folhas de cálculo "
+"(kspread, gnumeric), visualizadores pdf, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Estação de Jogo"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de divertimento: arcada, tabuleiros, estratégia, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Estação multimédia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Aplicações de reprodução/edição de som e vídeo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Estação internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de ferramentas para ler e enviar correio electrónico e news (pine, "
+"mutt, tin...) e para navegar na Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computador de Rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos incluindo ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilitar a configuração do seu computador"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de Consola"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+"Editores, Linha de Comandos (shell), ferramentas de ficheiros, terminais"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Desenvolvimento"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C e C++ bibliotecas de programação, programas e ficheiros 'include'"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentação"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Livros e Howto's sobre o Linux e Software Livre"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Base Padrão do Linux (LSB). Suporte a aplicações terceiras."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Correio/Noticias"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Servidor de correio electrónico Postfix , servidor de noticias In"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de Directório"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Nome do Domínio e Servidor de Informação da Rede"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de Partilhas de Ficheiros e Impressão"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, Servidor Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Base de Dados"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servidor de Base de Dados PostgreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Correio Electrónico"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de correio electrónico Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servidor de Base de Dados PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor/Computador de Rede"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor Proxy, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente Gráfico"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Estação de Trabalho KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"O Ecrâ de Trabalho K (KDE), o ambiente gráfico básico com uma colecção de "
+"ferramentas"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estação de Trabalho Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Um ambiente gráfico com um conjunto de aplicações amigáveis e ferramentas de "
+"ecrâ"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Ecrâ IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros Ambientes Gráficos"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilidades"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuração Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilidades da Rede/Monitarização"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Ferramentas de monitorização, contagem de processos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Assistentes Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistentes para configurar o servidor"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ocorreu um erro, mas não se sabe bem como o resolver.\n"
+"Continue a seu próprio risco."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Alguns pacotes importantes não foram devidamente instalados.\n"
+"O seu controlador de cdrom ou o seu cdrom está defeituoso.\n"
+"Verifique o cdrom num computador instalado usando \"rpm -qpl media/main/*.rpm"
+"\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "A entrar na etapa `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalação Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> entre elementos"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"O seu sistema é baixo em recursos. Pode ter algum problema ao instalar\n"
+"o Mandriva Linux. Se isso ocorrer, pode tentar uma instalação em modo "
+"texto.\n"
+"Para isso, prima `F1' quando arrancar do CDROM, e depois digite `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selecção do Grupo de Pacotes"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selecção individual de pacotes"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamanho total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pacote danificado"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versão: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Tamanho: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importância: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Não pode seleccionar/desseleccionar este pacote"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "devido a faltar %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "devido a %s insatisfeitas"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "a tentar promover %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "para manter %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Não pode seleccionar este pacote pois não existe espaço livre para o instalar"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Os seguintes pacotes irão ser instalados"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Os seguintes pacotes irão ser removidos"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Este é um pacote obrigatório, não pode ser desseleccionado"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Não pode desseleccionar este pacote. Já se encontra instalado"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Não pode desseleccionar este pacote. Tem que ser actualizado"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar pacotes seleccionados automaticamente"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carregar/Gravar selecção"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "A actualizar selecção de pacotes"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalação mínima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gestão de Software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolha os pacotes que deseja instalar"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "A instalar"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sem detalhes"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempo restante "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "A estimar"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacote"
+msgstr[1] "%d pacotes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sumário"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "não configurado"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"A seguinte média de instalação foi encontrada.\n"
+"Se quer evitar alguns deles, pode desmarcá-los agora."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Tem a opção de copiar o conteúdo dos CDs para o disco rígido antes da "
+"instalação.\n"
+"Irá continuar a partir do disco rígido e os pacotes irão permanecer "
+"disponíveis assim que o sistema estiver instalado."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar todos os CDs"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu um erro"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Por favor escolha o tipo de teclado."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Aqui está a lista completa dos teclados disponíveis"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Actualizar"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Isto é uma instalação ou uma actualização?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizar %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Senha de encriptação para %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "A configurar IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Sem espaço livre 1MB de arranque (bootstrap)! A instalação irá continuar, "
+"mas para arrancar o seu sistema, irá precisar de criar a partição de "
+"arranque (bootstrap) no DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Irá precisar de criar uma partição de arranque (bootstrap) PPC PReP! A "
+"instalação irá continuar, mas para arrancar o seu sistema, irá precisar de "
+"criar a partição de arranque (bootstrap) no DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Mude o seu Cd-Rom!\n"
+"Por favor insira o Cd-Rom chamado \"%s\" no seu dispositivo e prima Ok "
+"quando pronto.\n"
+"Se não o tiver, prima Cancelar para evitar a instalação deste Cd-Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "A procurar pacotes disponíveis..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"O seu sistema não tem espaço suficiente em disco para instalar ou actualizar "
+"(%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Por favor escolha carregar ou gravar uma selecção de pacotes.\n"
+"O formato é o mesmo como o dos ficheiros gerados por auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Ler"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Gravar"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Ficheiro danificado"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamanho seleccionado é maior que o espaço disponível"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalação"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Não escolheu qualquer grupo de pacotes.\n"
+"Por favor escolha o tipo de instalação mínima que deseja:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Com X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Com documentação dbásica (recomendado!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Verdadeira instalação mínima (especialmente sem urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tudo"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "A preparar instalação"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "A instalar o pacote %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ocorreu um erro ao ordenar os pacotes:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Continuar mesmo assim?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Tentar novamente"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Saltar este pacote"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Saltar todos os pacotes da média \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Voltar à média e selecção de pacotes"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Ocorreu um erro a instalar o pacote %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuração pós-instalação"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Por favor certifique-se que a média Módulos de Actualização está no "
+"dispositivo %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Actualizações"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Tem agora a possibilidade de transferir os pacotes de actualização.\n"
+"Estes pacotes foram actualizados depois da distribuição ter saído.\n"
+"Podem ter correcções de segurança ou de erros.\n"
+"\n"
+"Para transferir estes pacotes, irá precisar de uma conexão Internet activa.\n"
+"\n"
+"Deseja instalar as actualizações ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"A contactar o espelho para transferir a lista de pacotes disponíveis..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Não é possível contactar o espelho %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Material"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Placa de Som"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Tem alguma placa de som ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Execute \"alsaconf\" ou \"sndconfig\" depois da instalação para configurar a "
+"sua placa de som"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nenhuma placa de som detectada. Tente \"harddrake\" depois da instalação"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Placa TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface gráfico"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede e Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nível de Segurança"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activado"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "desactivado"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Arranque"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s em %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Não configurou o X. Tem certeza que realmente quer isto?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "A preparar o carregador de arranque..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Parece ter uma máquina do Século Passado ou Desconhecida, o carregador de "
+"arranque yaboot não irá funcionar para si. A instalação irá continuar, mas "
+"irá precisar de usar o BootX ou algum outro meio para arrancar a sua "
+"máquina. O argumento do kernel para root fs é: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Deseja usar o aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Erro ao instalar o aboot, \n"
+"tentar forçar a instalação mesmo que isso destrua a primeira partição?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Neste nível de segurança, o acesso aos ficheiros na partição do Windows é "
+"limitado ao administrador."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira uma disquete vazia no dispositivo %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "A criar disquete de auto-instalação..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alguns passos não estão completos.\n"
+"\n"
+"Deseja realmente sair agora?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Parabéns"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Gerar disquete de auto instalação"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"A auto instalação pode ser totalmente automatizada se\n"
+"quiser, nesse caso ela tomará conta do disco rígido!!\n"
+"(isto é feito para instalar outra máquina).\n"
+"\n"
+"Pode preferir repetir a instalação.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Repetir"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automática"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Gravar selecção de pacotes"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Linguagem"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licença"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Rato"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecção de discos rígidos"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe de instalação"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurança"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionar"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "A formatar"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "A escolher pacotes"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "A instalar"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autenticação"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilizadores"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rede"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Carregador de arranque"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurar X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sumário"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviços"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizações"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pacote, %d MB)"
+#~ msgstr[1] "(%d pacotes, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pacotes"
+
+#~ msgid "Language"
+#~ msgstr "Linguagem"
+
+#~ msgid "License"
+#~ msgstr "Licença"
+
+#~ msgid "Installation class"
+#~ msgstr "Classe de instalação"
+
+#~ msgid "Formatting"
+#~ msgstr "A formatar"
+
+#~ msgid "Choosing packages"
+#~ msgstr "A escolher pacotes"
+
+#~ msgid "Users"
+#~ msgstr "Utilizadores"
+
+#~ msgid "Networking"
+#~ msgstr "Rede"
+
+#~ msgid "Configure X"
+#~ msgstr "Configurar X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Não é possível aceder aos módulos que correspondem ao seu kernel (falta o "
+#~ "ficheiro %s), isto normalmente quer dizer que a sua disquete de arranque "
+#~ "não sincronizada com a média de instalação (por favor crie uma nova "
+#~ "disquete de arranque)"
diff --git a/perl-install/install/share/po/pt_BR.po b/perl-install/install/share/po/pt_BR.po
new file mode 100644
index 000000000..2a695bc1c
--- /dev/null
+++ b/perl-install/install/share/po/pt_BR.po
@@ -0,0 +1,1649 @@
+# translation of pt_BR.po to
+# translation of pt_BR.po to Brazilian Portuguese
+# translation of DrakX-pt_BR.po to Brazilian Portuguese
+# tradução de DrakX-pt_BR.po para Português do Brasil
+# DRAKX PT_BR PO FILE
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Lisiane Sztoltz Teixeira <lisiane@mandriva.com>
+# Andrei Bosco Bezerra Torres <andrei_bosco@yahoo.com.br>, 2000, 2003.
+# Bruno Dorfman Buys <brunobuys@zipmail.com.br>, 2002.
+# Tiago da Cruz Bezerra <tiagocruz18@uol.com.br>,2002 2003, 2004.
+# Ricardo de Castilho <cast_brasil@ig.com.br>, 2003.
+# Carlinhos Cecconi <carlinux@terra.com.br>, 2003, 2004.
+# Deivi Lopes Kuhn <deivikuhn@yahoo.com.br>, 2003, 2004.
+# Cristiano Otto Von Trompczynski <cris@mandriva.com>, 2005.
+# Arthur R. Mello <renato@conectiva.com.br>, 2005.
+# Arthur Renato Mello <renato@conectiva.com.br>, 2005.
+# Felipe Arruda <felipemiguel@gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pt_BR\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-14 09:54-0300\n"
+"Last-Translator: Felipe Arruda <felipemiguel@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <kde-i18n-pt_br@mail.kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Você tem alguma mídia suplementar adicional?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"A mídia a seguir foi encontrada e será usada durante a instalação: %s.\n"
+"\n"
+"\n"
+"Você deseja configurar alguma mídia suplementar?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rede (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rede (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rede (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL do servidor espelho (mirror)?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL deve começar com ftp:// ou http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Contatando o site da Mandriva Linux para pegar a lista de mirrors (espelhos) "
+"disponíveis..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Falha ao tentar obter a lista de mirrors disponíveis do site da Mandriva "
+"Linux"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Escolha um servidor espelho (mirror) de onde pegar os pacotes"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Configuração NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Por favor, entre o nome do servidor e o diretório da mídia NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Nome do servidor do ponto de montagem NFS"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Diretório"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Não foi possível encontrar o arquivo da lista de pacotes neste servidor "
+"(mirror). Verifique se a localização está correta."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Procurando por pacotes já instalados..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Removendo pacotes antes da atualização..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Procurando pacotes para atualizar..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Você selecionou o(s) seguinte(s) servidores(s): %s\n"
+"\n"
+"\n"
+"Estes servidores são ativados por padrão. Eles não possuem nenhuma falha\n"
+"de segurança conhecida, mas pode ocorrer de aparecer alguma nova. Neste\n"
+"caso, você deve atualizá-los o mais cedo possível.\n"
+"\n"
+"\n"
+"Você realmente quer instalar estes servidores?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Os seguintes pacotes serão removidos para permitir a atualização do seu\n"
+"sistema: %s\n"
+"\n"
+"\n"
+"Você realmente quer remover estes pacotes?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "O(s) seguinte(s) disco(s) foi renomeado:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (previamente nomeado como %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rede"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Por favor, escolha uma mídia"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "O arquivo já existe. Sobrescrevê-lo?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nome NFS inválido"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Mídia %s ruim"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Não foi possível capturar telas antes de particionar"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As telas estarão disponíveis depois da instalação em %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalação"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuração"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Você também deve formatar %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Algum hardware no seu computador precisa de drivers 'proprietários' \n"
+"para funcionar. Você pode encontrar informações sobre eles em: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ativando a rede"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Desativando a rede"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Baixando arquivo %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Copiando alguns pacotes em disco para uso posterior"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Cópia em progresso"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "precisa ter"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "muito bom"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "bom"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "talvez"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "linha de produtos 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Firewall Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery em Modo Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Como registrar"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Serviços Mandriva Online"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Novo Tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Estação de Trabalho"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Estação de Trabalho de Escritório"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programas de escritório: processadores de texto (OpenOffice.org Writer, "
+"Kword), tabelas (OpenOffice.org Calc, Kspread), visualizadores PDF, etc."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programas de escritório: processadores de texto (Kword, Abiword), tabelas "
+"(Kspread, Gnumeric), visualizadores PDF, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Estação de Jogos"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programas de entretenimento: arcade, tabuleiro, estratégia, etc."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Estação de Multimídia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programas de edição/reprodução de som e vídeo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Estação de Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Conjunto de ferramentas para ler e enviar mensagens e notícias (mutt, "
+"tin...) e para navegar na Web."
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Computador de rede (cliente)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clientes para diferentes protocolos, incluindo ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Ferramentas para facilitar a configuração do seu computador"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Ferramentas de Console"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editores, shells, ferramentas de arquivos, terminais"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Desenvolvimento"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibliotecas de desenvolvimento C e C++, programas e arquivos include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentação"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Livros e documentos Como Fazer sobre Linux e Software Livre"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base: suporte a aplicativos de terceiros"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Servidor Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Servidor Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Roteador"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-mail/Grupos de Notícias"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr ""
+"Servidor de e-mail Postfix, servidor de grupos de notícias (grupos de "
+"discussão) Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Servidor de Diretório"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Servidor FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+"Servidor de Nomes do Domínio (DNS) e Servidor de Informações de Rede (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Servidor de Compartilhamento de Impressoras e Arquivos"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Servidor NFS, Servidor Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Banco de dados"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Servidor de banco de dados PostgreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Servidor de e-mail Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Servidor de banco de dados PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Servidor de Rede"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Servidor NFS, servidor SMB, servidor Proxy, servidor SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambiente Gráfico"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Estação de Trabalho KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"O Ambiente de Trabalho K (ou K Desktop Environment), o ambiente gráfico "
+"básico acompanhado de uma coleção de ferramentas"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Estação de Trabalho GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Um ambiente gráfico com um conjunto de aplicativos e ferramentas amigáveis"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Ambiente de Trabalho IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Outros Ambientes Gráficos"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utilitários"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Servidor SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Servidor de Configuração Remota Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Utilitários de Rede/Monitoramento"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Ferramentas de monitoração, contabilização de processos, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Assistentes Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Assistentes para configurar o servidor"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Um erro ocorreu, mas não é possível tratá-lo.\n"
+"Continue por sua própria conta e risco."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Alguns pacotes importantes não foram instalados corretamente.\n"
+" O seu drive de CD-ROM ou o seu CD-ROM estão defeituosos.\n"
+" Verifique o CD-ROM em um computador instalado, usando \"rpm -qpl media/main/"
+"*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Entrando no passo `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalação do Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> move entre elementos"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Seu sistema está com poucos recursos. Você pode ter algum problema na\n"
+"instalação do Mandriva Linux. Se isso ocorrer, você pode tentar instalar "
+"usando o\n"
+"modo texto. Para isso, aperte 'F1' na tela de inicialização e escreva 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Seleção de Grupo de Pacotes"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Seleção individual de pacotes"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Tamanho total: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pacote defeituoso"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versão: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Tamanho:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importância:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Você não pode selecionar/desmarcar este pacote"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "devido a falta de %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "devido a %s não-satisfeito(a)"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "tentando promover %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "a fim de manter %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Você não pode selecionar esse pacote pois não existe espaço livre para "
+"instalá-lo"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Os seguintes pacotes serão instalados"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Os seguintes pacotes serão removidos"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Esse é um pacote obrigatório, e não pode ser desmarcado"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Você não pode desmarcar esse pacote. Ele já está instalado"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Você não pode desmarcar este pacote. Ele precisa ser atualizado"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrar automaticamente os pacotes selecionados"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalar"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Carregar/Salvar seleção"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Atualizando seleção de pacotes"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalação mínima"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Gerenciamento de Software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Escolha os pacotes que você quer instalar"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalando"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Sem detalhes"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempo restante "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimando"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacote"
+msgstr[1] "%d pacotes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sumário"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurar"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "não configurado"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"As seguintes mídias de instalação foram encontradas.\n"
+"Se você deseja ignorar alguma delas, você pode desmarcá-las agora."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Você pode copiar o conteúdo dos CDs para o seu disco rígido antes da "
+"instalação.\n"
+"A instalação irá continuar a partir do seu disco rígido e os pacotes "
+"continuarão disponíveis após a instalação ser finalizada."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copiar todos os CDs"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ocorreu um erro"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Por favor, escolha o layout do seu teclado."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Aqui está a lista completa dos teclados disponíveis"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalar/Atualizar"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Esta é uma instalação ou atualização?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Atualizar %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Chave de criptografia para %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Configurando IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Sem espaço livre para bootstrap de 1MB! A instalação continuará, mas para "
+"poder iniciar seu sistema você precisará criar uma partição bootstrap no "
+"DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Você precisará criar um PPC PReP Boot bootstrap! O instalador irá continuar, "
+"mas para iniciar seu sistema, você precisa criar uma partição bootstrap no "
+"DiskDrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Mude o seu CD-ROM\n"
+"\n"
+"Por favor, insira o CD-ROM chamado \"%s\" no seu drive e clique em Ok quando "
+"estiver pronto.\n"
+"Se você não o tiver em mãos, clique em Cancelar para evitar a instalação "
+"desse CD-ROM."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Procurando por pacotes disponíveis..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Por favor, escolha entre carregar ou salvar a seleção de pacotes. \n"
+"O formato é o mesmo que os arquivos gerados pelo auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Carregar"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Salvar"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Arquivo corrompido"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "O tamanho escolhido é maior que o espaço disponível"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipo de instalação"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Você não selecionou nenhum grupo de pacotes.\n"
+"Por favor, escolha a instalação mínima que deseja:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Com X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Com documentação básica (recomendado!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalação realmente mínima (especialmente sem o uprmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tudo"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Preparando a instalação"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Houve um erro durante a ordenação dos pacotes:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Continuar mesmo assim?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Tentar Novamente"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Salvar seleção de pacotes"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Houve um erro durante a instalação dos pacotes:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuração pós-instalação"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Por favor, certifique-se de que a mídia Atualizar Módulos está no drive %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Atualizações"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Agora você tem a oportunidade de baixar os pacotes atualizados. Estes "
+"pacotes\n"
+"foram atualizados após o lançamento de sua distribuição. Eles podem conter\n"
+"atualizações de segurança ou correções de falhas.\n"
+"\n"
+"Para baixar estes pacotes, você precisa ter uma conexão com a internet\n"
+"funcionando.\n"
+"\n"
+"Você deseja instalar estas atualizações?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Contatando o servidor espelho (mirror) para obter a lista de pacotes "
+"disponíveis..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Não foi possível conectar-se ao servidor %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Placa de som"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Você tem alguma placa de som ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Execute \"alsaconf\"ou \"sndconfig\" após a instalação para configurar sua "
+"placa de som"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nenhuma placa de som detectada. Tente o \"harddrake\" após a instalação"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Placa de TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interface gráfica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rede & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "configurado"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nível de Segurança"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ativado"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "desativado"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s em %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Você não configurou o sistema X. Você quer realmente deixar assim?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Preparando gerenciador de inicialização..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Você parece ter uma máquina muito antiga ou desconhecida, e o gerenciador de "
+"inicialização yaboot não funcionará para você. A instalação continuará, mas "
+"você precisará usar o BootX ou outros meios para inicializar sua máquina. O "
+"argumento do kernel para o sistema de arquivos raiz é: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Você quer usar o aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Erro ao instalar o aboot; \n"
+"tentar forçar a instalação, mesmo que isto destrua a primeira partição?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Neste nível de segurança, o acesso aos arquivos em partições Windows é "
+"restrita apenas para o administrador."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Insira um disquete vazio no drive %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Criando disquete de instalação automática..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Alguns passos não foram completados.\n"
+"\n"
+"Você realmente quer sair agora?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Parabéns"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reiniciar"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Criar disquete de instalação automática"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"A instalação automática pode ser totalmente automatizada, se\n"
+"você desejar, e neste caso, ela tomará conta do disco\n"
+"rígido!! (em vista da instalação em outra máquina).\n"
+"\n"
+"Você pode preferir repetir a instalação.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Repetir"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automático"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Salvar seleção de pacotes"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Idioma"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licença"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecção de discos rígidos"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Classe de instalação"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Teclado"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Segurança"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionamento"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatando"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Escolhendo pacotes"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalando"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autenticação"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Usuários"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rede"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Inicialização"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurar X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sumário"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviços"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Atualizações"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Sair"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pacote, %d MB)"
+#~ msgstr[1] "(%d pacotes, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pacote(s)"
+
+#~ msgid "Language"
+#~ msgstr "Idioma"
+
+#~ msgid "License"
+#~ msgstr "Licença"
+
+#~ msgid "Installation class"
+#~ msgstr "Classe de instalação"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatando"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Escolhendo pacotes"
+
+#~ msgid "Users"
+#~ msgstr "Usuários"
+
+#~ msgid "Networking"
+#~ msgstr "Rede"
+
+#~ msgid "Configure X"
+#~ msgstr "Configurar X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Não foi possível acessar os módulos do kernel correspondentes ao seu "
+#~ "kernel (o arquivo %s está faltando); isto significa geralmente que seu "
+#~ "disco de boot não está em sincronia com sua instalação (favor criar um "
+#~ "novo disco de boot)"
diff --git a/perl-install/install/share/po/ro.po b/perl-install/install/share/po/ro.po
new file mode 100644
index 000000000..059a055c5
--- /dev/null
+++ b/perl-install/install/share/po/ro.po
@@ -0,0 +1,1577 @@
+# Translation file of Mandriva Linux graphic install
+# Copyright (c) 2000 Mandriva
+# Florin Grad <florin@mandriva.com>, 1999-2000
+# Dragos Marian Barbu <dragosb@softhome.net>, 2000
+# Ovidiu Constantin <ovidiu.constantin@gmx.net>, 2002, 2003
+# Harald Ersch <harald@ersch.ro>,2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 7.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2003-09-11 18:11+0200\n"
+"Last-Translator: Ovidiu Constantin <ovidiu.constantin@gmx.net>\n"
+"Language-Team: Romanian Translators for Free Software <rtfs-project@lists."
+"sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3;plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
+"2:1))\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Aveţi o altă interfaţa?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Reţea %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Reţea %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Contactez situl Mandriva Linux pentru obţinerea listei oglinzilor "
+"disponibile..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Contactez situl Mandriva Linux pentru obţinerea listei oglinzilor "
+"disponibile..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Alegeţi o oglindă de la care să descărcaţi pachetele"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Director"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Nu găsesc %s pe %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Căutare pachetele instalate deja ..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Cautarea pachetelor de actualizat"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Următoarele pachete vor fi şterse pentru a permite actualizarea sistemului "
+"dvs: %s\n"
+"\n"
+"\n"
+"Chiar doriţi ştergerea acestor pachete?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Este necesară instalarea următoarelor pachetele: \n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "HFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Reţea"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Vă rog să alegeţi"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fişierul există deja. Îl suprascriu?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permisiune respinsă."
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "am adăugat mediul %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Nu pot captura ecranul înainte de partiţionare"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Capturile ecran vor fi disponibile după instalare în %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "În curs de instalare"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuraţie"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Trebuie de asemenea formatat(ă) %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Pornire reţea"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Oprire reţea"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Trimit fişierele..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Detecţia este în progres..."
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "trebuie avut"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "important"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "foarte simpatic"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "simpatic: "
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "poate"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Staţie de lucru"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Staţie de lucru de birou"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programe gen Office: procesoare de text (OpenOffice.org Writer, Kword), "
+"calcul tabelar (OpenOffice.org Calc, Kspread), vizualizatoare de fişiere pdf "
+"etc."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programe gen Office: procesoare de text (kword, abiword), calcul tabelar "
+"(kspread, gnumeric), vizualizatoare de fişiere pdf etc."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Staţie de lucru pt. jocuri"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programe de amuzament: arcade, boards, strategie etc."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Staţie de lucru multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programe de editare/redare pt. sunet şi video"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Staţie de lucru în Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Set de unelte pt. citire/trimitere poştă şi ştiri (pine, mutt, tin...) şi "
+"navigare pe Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Calculator în reţea (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clienţi pt. diverse protocoale, inclusiv ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Unelete pentru uşurarea configurării calculatorului dvs."
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Unelte consolă"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editoare, interpretoare, terminale, unelte fişiere"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Dezvoltare"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Biblioteci de dezvoltare C şi C++, programe şi fişiere include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentaţie"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Cărţi şi HowTo despre Linux şi programele libere"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Baza standard Linux. Sprijin pentru aplicaţii ale altora."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Grup"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Fişier/_Nou"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server de poştă Postfix"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Restaurează de pe CD"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server nume de domeniu (DNS) şi NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server de imprimantă"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server SAMBA"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Baze de date"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server de baze de date MySQL sau PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Poştă"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server de poştă Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server de baze de date MySQL sau PostgreSQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Server în reţea"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, SMB, Proxy, SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Mediu Grafic"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Staţie de lucru KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Mediul de birou K, mediul grafic de bază cu o colecţie de unelte asociate"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Staţie de lucru Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Un mediu grafic cu un set de aplicaţii prietenoase şi unelte de birou"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Ecran"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Alte desktopuri grafice"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Filipine"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webcam-uri"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Configurare Mandriva Linux Terminal Server"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Monitorizare reţea"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Centrul de control Mandriva Linux"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Nu am putut configura imprimanta \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"A apărut o eroare pe care nu ştiu să o interpretez în mod corect.\n"
+"Continuaţi pe riscul dumneavoastră."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Cîteva pachete importante nu s-au instalat corect.\n"
+"Sau aveţi o problemă cu perifericul de cdrom sau cu \n"
+"cdrom-ul propriu-zis. Folosiţi comanda \"rpm -qpl \n"
+"media/main/*.rpm\" pentru a verifica cdrom-ul pe un\n"
+"sistem instalat.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Începe etapa `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalare Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> între elemente"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Selectarea grupurilor de pachete"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Selectare individuală a pachetelor"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mărime totală: %d / %d MB "
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pachet defectuos"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versiune: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Mărime: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importanţă: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Nu puteţi selecta/deselecta acest pachet"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "datorită %s lipsă"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "datorită %s nesatisfăcute"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "încerc să promovez %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "pentru a păstra %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Nu aveţi destul spaţiu pentru a instala acest pachet"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Următoarele pachetele vor instalate"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Următoarele pachete vor fi şterse"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Acesta este un pachet indispensabil şi nu poate fi deselectat"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Nu puteţi deselecta acest pachet. E deja instalat"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Nu puteţi deselecta acest pachet. Trebuie acualizat."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Arată pachetele selectate automat"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalare"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Selectare pachete"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Actualizare pachete selectate"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalare minimă"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Administrare programe"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Alegeţi pachetele pe care doriţi să le instalaţi"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "În curs de instalare"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Fără detalii"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Timp rămas "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Estimare"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pachete"
+msgstr[1] "%d pachete"
+msgstr[2] "%d pachete"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sumar"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configurează"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "neconfigurat"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "A apărut o eroare"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Vă rog să alegeţi dispunerea tastaturii."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Aici este lista tuturor ţărilor disponibile"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalare/Actualizare"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Este vorba de o instalare sau de o actualizare ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Actualizare %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Cheia de criptare pentru %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Configuraţia IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Schimbaţi Cd-Rom-ul!\n"
+"\n"
+"Vă rog introduceţi Cd-Rom-ul etichetat \"%s\" şi apoi apăsaţi Ok.\n"
+"Dacă nu-l aveţi, apăsaţi Renunţă pentru a evita instalarea de pe acest Cd-"
+"Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Căutarea pachetelor disponibile"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Încărcare"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Salvează"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Încarcă un fişier"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tip instalare"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Cu X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalare cu adevărat minimă (în mod expres fără urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Toate"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pregătesc instalarea"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalarea pachetului %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "O eroare a apărut la ordonarea pachetelor:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Să continui totuşi?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Înregistrare selecţie pachete"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "A fost o eroare la instalarea pachetelor:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuraţie post-install"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Actualizări"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Contactez serverul oglindă pentru preluarea listei pachetelor disponibile..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nu pot executa serverul de oglindire %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Echipamente"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Placă de sunet"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Aveţi o placă de sunet ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nu am detectat nici o placă de sunet. Încercaţi \"harddrake\" după instalare"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Placă TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaţa grafică"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Reţea şi Internet"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Profiluri"
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "Reconfigurează"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivel de securitate"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "activat"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "dezactivat"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Demarare"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s pe %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pegătirea gestionalului de demaraj..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Vreţi să folosiţi aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Eroare la instalrea lui aboot,\n"
+"să încerc să forţaţi instalarea chiar dacă aceasta distruge prima partiţie ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Introduceţi o dischetă goală în perifericul %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Creez discheta de autoinstalare..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Câteva etape nu au fost terminate.\n"
+"\n"
+"Chiar vreţi să abandonaţi acum?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Felicitări"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Repornire sistem"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Generare dischetă de autoinstalare"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizat"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Înregistrare selecţie pachete"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Alegeţi limba"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenţă"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Maus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detecţia discului fix"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatură"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Securitate"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partiţionare"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "În curs de instalare"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentificare"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Utilizatori"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Reţea"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Gestionar de demarare"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Configurare X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sumar"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servicii"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Actualizări"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Ieşire"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pachete"
+#~ msgstr[1] "%d pachete"
+#~ msgstr[2] "%d pachete"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pachete"
+
+#~ msgid "Language"
+#~ msgstr "Alegeţi limba"
+
+#~ msgid "License"
+#~ msgstr "Licenţă"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Alegeţi tipul de instalare"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Estimare"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Alegeţi pachetele de instalat"
+
+#~ msgid "Users"
+#~ msgstr "Utilizatori"
+
+#~ msgid "Networking"
+#~ msgstr "Reţea"
+
+#~ msgid "Configure X"
+#~ msgstr "Configurare X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Nu pot accesa modulele corespunzătoare nucleului dvs. (fişierul %s "
+#~ "lipseşte), în general aceasta înseamnă că discheta de demaraj nu este "
+#~ "sincronizată cu mediul de instalare (vă rog creeaţi o nouă dischetă de "
+#~ "demaraj)"
diff --git a/perl-install/install/share/po/ru.po b/perl-install/install/share/po/ru.po
new file mode 100644
index 000000000..3e5e41c6a
--- /dev/null
+++ b/perl-install/install/share/po/ru.po
@@ -0,0 +1,1640 @@
+# Translation of DrakX.po to Russian
+# Copyright (C) 1999-2003 Mandriva
+#
+# Pavel Maryanov <acid_jack@ukr.net>, 2002,2003, 2005, 2006, 2007.
+# Alice Lafox <alice@lafox.com.ua>, 2003.
+# Alice Lafox <alice@lafox.net>, 2004, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-01-18 19:41+0200\n"
+"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+"Language-Team: Russian <ru@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Есть ли у вас следующий дополнительный носитель?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Был найден следующий носитель, который будет использован во время установки: "
+"%s.\n"
+"\n"
+"\n"
+"Если у вас вспомогательный носитель для настройки?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Сеть (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Сеть (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Сеть (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL зеркала?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL должен начинаться с ftp:// или http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Выполняется подключение к веб-сайту Mandriva Linux для получения списка "
+"доступных пакетов..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Не удалось подключиться к веб-сайту Mandriva Linux для получения списка "
+"доступных зеркал"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Выберите зеркало, с которого будут получены пакеты"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Настройка NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Укажите имя хоста и каталог носителя NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Не указано имя хоста"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Имя каталога должно начинаться с \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Имя хоста для монтирования NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Дополнительный"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Невозможно найти список пакетов для этого зеркала. Проверьте правильность "
+"адреса."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Выполняется поиск уже установленных пакетов..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Удаляются пакеты перед обновлением..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Выполняется поиск пакетов для обновления..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Вы выбрали следующие серверы: %s\n"
+"\n"
+"\n"
+"Эти серверы по умолчанию включены. У них отсутствуют какие-либо известные\n"
+"проблемы с безопасностью, но некоторые еще могли быть не найдены. В этом\n"
+"случае вы обязательно должны обновить их и как можно скорее.\n"
+"\n"
+"\n"
+"Вы действительно хотите установить эти серверы?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Следующие пакеты будут удалены, чтобы обеспечить возможность обновления\n"
+"вашей системы: %s\n"
+"\n"
+"\n"
+"Вы действительно хотите удалить эти пакеты?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следующие диски были переименованы:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ранее назывался %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Сеть"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Пожалуйста, выберите источник"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл уже существует. Переписать его?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Доступ запрещен"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Неудачное имя NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Неудачный источник %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Невозможно создать скриншоты перед разбивкой на разделы"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Скриншоты будут доступны после установки в %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Установка"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Настройка"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Вы также должны отформатировать %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Некоторым устройствам на вашем компьютере для нормальной работы требуются\n"
+"``родные'' драйверы.\n"
+"Вы можете найти различную информацию о них на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Поднимается сеть"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Опускается сеть"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Загрузка файла %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "На диск копируются некоторые пакеты для использования в будущем"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Идёт копирование"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "должно присутствовать"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важно"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "весьма желательно"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "желательно"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "может быть"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Продукты серии 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Файервол Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery в live-режиме"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Как зарегистрироваться"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Онлайновые службы Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Новая тема"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Рабочая станция"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Офисная рабочая станция"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Офисные программы: текстовые процессоры (OpenOffice.org Writer, Kword), "
+"электронные таблицы (OpenOffice.org Calc, Kspread), программы просмотра pdf "
+"и т.д."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Офисные программы: текстовые процессоры (kword, abiword), электронные "
+"таблицы (kspread, gnumeric), программы просмотра pdf и т.д."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Игровая станция"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Развлекательные программы: аркады, настольные игры, стратегии и т.д."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедиа станция"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Программы для проигрывания/редактирования звука и видео"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Станция Интернет"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Набор утилит для чтения и отправки почты и новостей (mutt, tin...) и веб-"
+"серфинга"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Сетевой компьютер (клиент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клиенты для различных протоколов, включая ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Утилиты для облегчения настройки вашего компьютера"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Утилиты для консоли"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редакторы, командные процессоры, файловые утилиты, терминалы"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Разработка"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Библиотеки разработки C и C++, программы и файлы include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документация"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книги и HowTo по Linux и свободном программном обеспечении"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Стандартная база Linux. Поддержка приложений третьих разработчиков"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб-сервер"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Сервер Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файервол/Маршрутизатор"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет-шлюз"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Почта/Новости"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Почтовый сервер Postfix, сервер новостей Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Сервер каталогов"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Сервер FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Сервер доменных имен и сервер информации о сети"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер совместного доступа к файлам и принтерам"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Сервер NFS, сервер Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "База данных"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Сервер баз данных PostgreSQL и MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Почта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Почтовый сервер Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Сервер баз данных PostgreSQL или MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Сервер сети"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-сервер, SMB-сервер, Proxy-сервер, ssh-сервер"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графическая среда"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Рабочая станция KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment - основная графическая среда с коллекцией "
+"сопроводительных утилит"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Рабочая станция Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графическая среда с удобным для пользователя набором приложений и утилит "
+"рабочего стола"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Рабочий стол IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Другие графические рабочие столы"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, и т.д."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Утилиты"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Сервер SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Сервер удаленной настройки Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Сетевые утилиты/Мониторинг"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Утилиты мониторинга, учет процессов, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Мастера настройки от Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Мастера для настройки сервера"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Произошла ошибка, но я не знаю, как ее корректно обработать.\n"
+"Продолжайте на свой собственный страх и риск."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Некоторые важные пакеты установились некорректно.\n"
+"Либо привод cdrom, либо компакт-диск поврежден.\n"
+"Проверьте диск, вставленный в компьютер, при помощи команды \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Осуществляется переход на этап `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Установка Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> между элементами"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"В системе не хвататает ресурсов. Могут возникнуть проблемы при\n"
+"установке Mandriva Linux. В этом случае можно попробовать\n"
+"установку в текстовом режиме. Для этого нажмите `F1' при загрузке с\n"
+"CDROM'а, а затем наберите 'text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Выбор группы пакетов"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Выбор отдельных пакетов"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Общий объем: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Плохой пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Версия:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Размер:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Важность: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Вы не можете выбрать/отменить_выбор этого пакета"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "из-за отсутствия %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "из-за неудовлетворенных %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "выполняется попытка активизировать %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "чтобы сохранить %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Вы не можете выбрать этот пакет, т.к. для его установки не хватает места"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Следующие пакеты будут установлены "
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следующие пакеты будут удалены "
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Это обязательный пакет, его выбор не может быть отменен"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Вы не можете отменить выбор этого пакета. Он уже установлен"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Вы не можете отменить выбор этого пакета. Он должен быть обновлен"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Показывать автоматически выбранные пакеты"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Установить"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Загрузить/Сохранить выбор"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Обновляется выбор пакетов"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Минимальная установка"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Управление программами"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Выберите пакеты, которые вы хотите установить"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Устанавливается"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Убрать подробности"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Оставшееся время "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Приблизительная оценка"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакетов"
+msgstr[1] "%d пакетов"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Сводка"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Настройка"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "не настроен"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Найдены следующие установочные источники.\n"
+"Если вы хотите пропустить некоторые из них, вы можете снять с них отметку "
+"сейчас."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"У вас есть опция для копирования содержимого компакт-диска на жесткий диск "
+"перед установкой.\n"
+"Таким образом установка продолжится с жесткого диска и пакеты останутся "
+"доступными после полной установки системы."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копировать cd-диски полностью"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Произошла ошибка"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Пожалуйста, выберите раскладку вашей клавиатуры."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Здесь представлен полный список имеющихся раскладок клавиатур"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Установка/Обновление"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Это установка или обновление?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Обновление %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ шифрования для %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Настраивается IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Недостаточно свободного места для 1МБ программы самозагрузки! Установка "
+"продолжится, но чтобы загрузить вашу систему, вам придется создать раздел "
+"начальной загрузки в DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Вам нужно будет создать PPC PReP Boot bootstrap! Установка продолжится, "
+"однако чтобы загрузить систему, вам прийдется создать раздел bootstrap в "
+"DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Смените компакт-диск!\n"
+"\n"
+"Пожалуйста, вставьте компакт-диск под названием \"%s\" в свой привод, а "
+"затем и нажмите ОК.\n"
+"Если у вас его нет, нажмите Отмена, чтобы отказаться от установки с этого "
+"компакт-диска."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Выполняется поиск доступных пакетов..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"В системе недостаточно свободного дискового пространства для установки или "
+"обновления (%dМБ > %dМБ)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Выберите загрузку или сохранение выбора пакетов.\n"
+"Формат такой же, как и у файлов, созданных auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Загрузить"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Сохранить"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Неправильный файл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Выбранный размер превышает доступное место"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Тип установки"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Вы не выбрали ни одной группы пакетов.\n"
+"Пожалуйста, выберите желаемую минимальную установку:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Вместе с Х"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "С основной документацией (рекомендуется!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Действительно минимальная установка (в особенности нет urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Все"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Подготовка к установке"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Устанавливается пакет %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Произошла ошибка при получении пакетов:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Всё равно продолжить?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Повторить"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Пропустить этот пакет"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Пропустить все пакеты из источника \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Вернуться к источнику и выбору пакетов"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "При установке пакета %s возникла ошибка."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Настройка после установки"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Проверьте наличие в устройстве %s источника 'Update Modules'"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Обновления"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Теперь у вас есть возможность скачать обновленные пакеты. Эти пакеты\n"
+"были обновлены после того, как был выпущен дистрибутив. Они могут\n"
+"содержать фиксы для безопасности или ошибок.\n"
+"\n"
+"Чтобы скачать эти пакеты, вам понадобится действующее подключение \n"
+"Интернету.\n"
+"\n"
+"Хотите установить эти обновления?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Выполняется подключение к зеркалу для получения списка доступных пакетов..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Невозможно соединиться с зеркалом %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Оборудование"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Звуковая карта"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Есть ли у вас звуковая карта ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Запустите \"alsaconf\" или \"sndconfig\" после установки, чтобы настроить "
+"вашу звуковую карту"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Звуковая карта не обнаружена. Попробуйте запустить \"harddrake\" после "
+"установки"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV карта"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Графический интерфейс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Сеть и Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Прокси"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "настроен"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Уровень безопасности"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "активировано"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "отключено"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Вы еще не настраивали Х. Вы уверены, что действительно хотите этого?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Подготавливается начальный загрузчик..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Похоже, что вы являетесь обладателем древней или неизвестной машины, "
+"начальный загрузчик yaboot не будет у вас работать. Установка продолжится, "
+"но вам понадобится использовать BootX или что-то другое для загрузки вашей "
+"машины. Аргумент ядра для root fs такой: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Вы хотите использовать aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Ошибка установки aboot, \n"
+"попытаться форсировать установку, даже если это разрушит первый раздел?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"На данном уровне безопасности доступ к файлам на разделе Windows разрешен "
+"только администратору. "
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Вставьте чистую дискету в дисковод %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Создается дискета автоматической установки..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Некоторые этапы не завершены.\n"
+"\n"
+"Вы действительно хотите сейчас выйти?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Поздравления"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Перезагрузка"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Создать дискету автоматической установки"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"При желании автоматическая установка может быть\n"
+"полностью автоматизирована, в этом случае она\n"
+"полностью скопирует жесткий диск!!\n"
+"(предназначается для установки на другой компьютер).\n"
+"\n"
+"Вы можете предпочесть повторить установку.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Повторить"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматический"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Сохранить выбор пакетов"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Выбор языка"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лицензия"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Мышь"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Определение жёсткого диска"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Тип установки"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавиатура"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Безопасность"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Разметка диска"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирование"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Выбор пакетов"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Устанавливается"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Аутентификация"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Пользователи"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Сеть"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Начальный загрузчик"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Настройка Х"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Сводка"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Службы"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Обновления"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Выход"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d пакетов, %d МБ)"
+#~ msgstr[1] "(%d пакетов, %d МБ)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакетов"
+
+#~ msgid "Language"
+#~ msgstr "Выбор языка"
+
+#~ msgid "License"
+#~ msgstr "Лицензия"
+
+#~ msgid "Installation class"
+#~ msgstr "Тип установки"
+
+#~ msgid "Formatting"
+#~ msgstr "Форматирование"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Выбор пакетов"
+
+#~ msgid "Users"
+#~ msgstr "Пользователи"
+
+#~ msgid "Networking"
+#~ msgstr "Сеть"
+
+#~ msgid "Configure X"
+#~ msgstr "Настройка Х"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Невозможно получить доступ к модулям ядра, соответствующим вашему ядру\n"
+#~ "(отсутствует файл %s), обычно это означает, что ваша загрузочная дискета\n"
+#~ "не синхронизирована с установочным накопителем (пожалуйста, создайте "
+#~ "более\n"
+#~ "новую загрузочную дискету)"
diff --git a/perl-install/install/share/po/sc.po b/perl-install/install/share/po/sc.po
new file mode 100644
index 000000000..7c1ed3664
--- /dev/null
+++ b/perl-install/install/share/po/sc.po
@@ -0,0 +1,1534 @@
+# translation of DrakX-sc.po to Sardu
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Antoni Pistis <antonio.pistis@virgilio.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-09-14 11:29+0100\n"
+"Last-Translator: Antoni Pistis <antonio.pistis@virgilio.it>\n"
+"Language-Team: Sardu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Arretza (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Arretza (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Arretza (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL de su sprigu?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Cuntatu su jassu web de Mandriva Linux po tenni sa lista de is sprigus..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Cuntatu su jassu web de Mandriva Linux po tenni sa lista de is sprigus..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr ""
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Assètiu NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Càstiu is pakitus jai aposentaus..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Srèxinu is pakitus ki dui funt po ajorronai..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Agatu is pakitus po ajorronai..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Apu arrenominau is discus ki sighint:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (innantis nominau %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Arretza"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Sçobera unu suportu, po praxeri"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Su file esistit jai. Nci scriu apitzus?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permissu dennegau"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr ""
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "No fait a fai fotografias innantis de pratzidurai"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "As a podi biri is fotografias apustis de s'aposentada in %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Seu aposentendi"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Assètiu"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Depis formatai %s puru"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"A cancu parti hardware serbint driver ``proprietàrius''po traballai.\n"
+"Podis agatai cancu sceda apitzus a: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Alluu s'arretza"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Studu s'arretza"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr ""
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Còpia in cursu"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr ""
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr ""
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr ""
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr ""
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr ""
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, fuzzy, c-format
+msgid "Invictus Firewall"
+msgstr "Interactive firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Adelantamentu"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documentadura"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Traballu in Grupu"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Gateway po Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Curreu/Noas"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server de curreu Postfix, server de noas Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Server de Directory"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server NFS, server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server po Database PostGreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Curreu"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server de curreu Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server po Database PostGreSQL e MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Ambienti Gràfigu"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE Workstation"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Atras scrianias gràfigas"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr ""
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Faddina. No sciu comenti ndi bessiri beni.\n"
+"Sighi a perìgulu tuu."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr ""
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Aposentadura de Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> intr''e elementus"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr ""
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Sçoberu pakitus unu a unu"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Mesura totali: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pakitu malu"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versioni: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Mesura: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Importu: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "No podis scerai/disiscerai custu pakitu"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "ca amancat %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ca no est satisfatu %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "provu a sçoberai %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "po podi apoderai %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"No podis sçoberai custu pakitu, ca no dui at spàtziu abasta po d'aposentai"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Megu a aposentai is pakitus ki sighint"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Megu a srexinai is pakitus ki sighint"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Custu est unu palitu necessàriu, no fait a du disiscerai"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "No fait a disiscerai custu pakitu. Est jai aposentau"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "No fait a disiscerai custu pakitu. Bolit ajorronau"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Amosta in automàtigu is pakitus sçoberaus"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Aposenta"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Càrriga/Sarva su sçoberu"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ajorronu su sçoberu de is pakitus"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Aposentadura minimali"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Maniju de is programas"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Sçobera is pakitus ki bolis aposentai"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Seu aposentendi"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr ""
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tempus ki abarrat "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Seu carculendi"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakitus"
+msgstr[1] "%d pakitus"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Arresùmini"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Assètia"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "no assetiau"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Còpia totu is CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Faddina"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Sçobera su skema de su tecrau."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Innoi sa lista de totu is tecraus a disposta"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Aposenta/Ajorrona"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Est una aposentadura o una ajorronadura?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ajorrona %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Crai de cuadura po %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Assètiu IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Càmbia su Cd-Rom!\n"
+"Intra su Cd-Rom etiketau \"%s\" in su ligidori e craca Ok candu as fatu.\n"
+"Ki no du tenis, craca Annudda po scampai s'aposentadura de custu Cd-Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr ""
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Càrriga"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Sarva"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "File malu"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipu de aposentadura"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Cun X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Totu"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Apariçu s'aposentadura"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Faddina in s'ordinadura de is pakitus:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Sigu comuncas?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Sarva su sçoberu de is pakitus"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Faddina in s'aposentadura de is pakitus:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Assètiu pusti-aposentadura"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ajorronus"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Cuntatu su sprigu po tenni sa lista de is pakitus a disposta..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "No potzu cuntatai su sprigu %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Skeda de Sonu"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Tenis una skeda de sonu ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Skeda TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaci Gràfiga"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Arretza & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "assetiau"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Arrasu de Siguresa"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "abivau"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "disabivau"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Alluidura"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s in %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "No as assetiau ancora X. Siguru ses ca bolis custu?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Apariçu su bootloader..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Bolis impreai aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Intra unu floppy sbuidu in su trastu %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr ""
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Cumprimentus"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Torra a allui"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Crea unu floppy de aposentadura automàtiga"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Faiddu torra"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatisau"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Sarva su sçoberu de is pakitus"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Lìngua"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Permissu"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sòrixi"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Controllu de su discu tostau"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tecrau"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Siguresa"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pratzimentu"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Seu aposentendi"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentigadura"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Umperadoris"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Arretza"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Assètia X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Arresùmini"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serbìtzius"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ajorronus"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Bessi"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakitus"
+#~ msgstr[1] "%d pakitus"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakitus"
+
+#~ msgid "Language"
+#~ msgstr "Lìngua"
+
+#~ msgid "License"
+#~ msgstr "Permissu"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Sçobera tipu de aposentadura"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Seu carculendi"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Sçobera pakitus de aposentai"
+
+#~ msgid "Users"
+#~ msgstr "Umperadoris"
+
+#~ msgid "Networking"
+#~ msgstr "Arretza"
+
+#~ msgid "Configure X"
+#~ msgstr "Assètia X"
diff --git a/perl-install/install/share/po/sk.po b/perl-install/install/share/po/sk.po
new file mode 100644
index 000000000..e7d1278d6
--- /dev/null
+++ b/perl-install/install/share/po/sk.po
@@ -0,0 +1,1618 @@
+# Jan Matis <damned@hq.alert.sk>, 2000.
+# Pavol Cvengros <orpheus@hq.alert.sk>, 2000.
+# Michal Holes <Michal@Holes.sk>, 2004,2005.
+# Tibor Pittich <Tibor.Pittich@phuture.sk>, 2002,2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-09-21 14:03+0100\n"
+"Last-Translator: Tibor Pittich <Tibor.Pittich@mandriva.org>\n"
+"Language-Team: <i18n@mandrake.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Máte ešte nejaké ďalšie doplňujúce médiá?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Sieť (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Sieť (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Sieť (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL zrkadliaceho servera"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Pripájam sa k web stránke Mandriva Linux pre stiahnutie zoznamu zrkadiel..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Pripájam sa k web stránke Mandriva Linux pre stiahnutie zoznamu zrkadiel..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Vyberte miror, z ktorého si chcete stiahnuť balíky"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Nastavenie NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Zadajte prosím meno hostiteľa a priečinok pre vaše NFS médium"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Meno hostiteľa pre NFS bod pripojenia ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Priečinok"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Nie je možné nájsť súbor hdlist na tomto zrkadliacom servery"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Hľadám balíky, ktoré sú už nainštalované..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstránenie balíkov pred aktualizáciou..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Hľadám balíky pre aktualizáciu..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Zvolili ste nasledujúcu službu/služby: %s\n"
+"\n"
+"\n"
+"Tieto služby sa spúšťajú implicitne. Momentálne nemajú žiadne známe "
+"bezpečnostné\n"
+"problémy, ale v budúcnosti nejaké môžu byť nájdené. V tom prípade musíte "
+"zabezpečiť\n"
+"upgrade čo najskôr.\n"
+"\n"
+"\n"
+"Naozaj si želáte inštalovať tieto služby?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Nasledovné balíky budú musieť byť odinštalované aby bolo možné vykonať "
+"upgrade vášho systému: %s\n"
+"\n"
+"\n"
+"Chcete naozaj tieto balíky odinštalovať?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Nasledovné disky boli premenované:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (predtým ako %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Sieť"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Vyberte si zdroj"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Súbor už existuje. Prepísať?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Prístup zamietnutý"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Nesprávne NFS meno"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Zlý zdroj %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Nemôžem spraviť kópie obrazovky pred rozdelením disku"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Kópie obrazovky budú po inštalácii dostupné v %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Inštalujem"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurácia"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Taktiež musíte naformátovať %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Niektorý hardvér vo vašom počítači potrebuje ``proprietárne'' ovládače.\n"
+"Informácie môžete nájsť na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Spúšťam prácu so sieťou"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ukončuje sa prácu so sieťou"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Sťahovanie súboru %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Prebieha kopírovanie"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "musíte mať"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "dôležité"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "veľmi zaujímavé"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "zaujímavé"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "možno.."
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, fuzzy, c-format
+msgid "Invictus Firewall"
+msgstr "Interaktívny firewall"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, fuzzy, c-format
+msgid "New Theme"
+msgstr "Nová téma pre webmin"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kancelárska stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kancelárske programy: editory (OpenOffice.org Writer, Kword), tabuľkové "
+"procesory (OpenOffice.org Calc, Kspread), pdf prehliadače, atď"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kancelárske programy: editory (kword, abiword), tabuľkové procesory "
+"(kspread, gnumeric), pdf prehliadače, atď"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Hracia stanica"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zábavne programy: stolové, stratégie, atď"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediálna stanica"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programy na prehrávanie/editovanie zvuku a videa"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetová stanica"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Nástroje na čítanie a posielanie emailov a news správ (mutt, tin..) a "
+"prehliadanie www"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Sieťovy počítač (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klientovia pre rôzne protokoly vrátane ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Nástroje na jednoduchú konfiguráciu vášho počítača"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolové nástroje"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editory, shelly, súborové nástroje, terminály"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Vývojárska"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C a C++ vývojove knižnice, programy a include súbory"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentácia"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knihy a návody pre Linux a iný voľný softvér"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Aplikačná podpora od tretej strany"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web server"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Brána k Internetu"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix poštový systém, Inn news server"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Adresárový server"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server doménových mien a sieťový informačný server (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Súborový a tlačový server"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Databázy"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Databázový server PostgreSQL a MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache a Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL, alebo MySQL databázový server"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Sieťový server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, SSH server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafické prostredie"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Enviroment, grafické prostredie s množstvom pribalených programov"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME pracovná stanica"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "Grafické rozhranie s aplikáciami a desktopovými nástrojmi"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Pracovná plocha IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Iné grafické prostredia"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, atď"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Utility"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Vzdialená konfigurácia servera pomocou Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Sieťové utility/Monitoring"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Monitorovacie nástroje, účtovanie procesov, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Sprievodcovia Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Sprievodcovia pre konfiguráciu servera"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Vyskytla sa chyba a neviem ju úplne vyriešiť.\n"
+"Pokračujte na vlastnú zodpovednosť."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Niektoré dôležité balíky neboli správne nainštalované.\n"
+"Je možné, že sú poškodené váš CD disk alebo mechanika.\n"
+"Skontrolujte to napríklad použitím \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Spúšťam krok %s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Inštalácia Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> medzi položkami"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Váš systém má nedostatok prostriedkov. Možno budete mať problémy s\n"
+"inštaláciou Mandriva Linux. Ak sa tak stane, skúste textovú inštaláciu. Pre "
+"jej\n"
+"spustenie stlačte `F1' po naštartovaní z CDROMky a zadajte `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Výber skupín balíkov"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Osobitná voľba balíkov"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Celková veľkosť: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Chybný balík"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verzia:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Veľkosť:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Dôležitosť:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Môžete označiť/odznačiť tento balík"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "kôli chýbajúcemu %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "z dôvodu neuspokojenia %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokus o povýšenie %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "v prípade zachovania %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nemôžete označiť tento balík pretože na jeho inštaláciu nie je dosť miesta."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Budú nainštalované nasledovné balíky"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Nasledujúce balíky budú odstránené"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Toto je jeden zo základných balíkov, nemôže byť odznačený"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Nemôžete odznačiť tento balík. Je už nainštalovaný"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Nemôžete odznačiť tento balík. Musíte pridať novú verziu"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Zobraziť automaticky zvolené balíky"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Inštalácia"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Načítať/Uložiť výber "
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Aktualizácia výberu balíkov"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimálna inštalácia"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Správa softvéru"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zvoľte balíky, ktoré si želáte nainštalovať"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Inštalujem"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Bez detailov"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Zvyšný čas "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Odhadujem"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d balíky"
+msgstr[1] "%d balíky"
+msgstr[2] "%d balíky"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Zhrnutie"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurovať"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nenakonfigurované"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Nasledovné inštalačné médiá boli nájdené.\n"
+"Ak nechcete niektoré z nich použiť, odznačte ich teraz."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Máte možnosť skopírovať obsah CD na pevný disk pred inštaláciou.\n"
+"Potom bude inštalácia pokračovať z pevného disku a balíky budú dostupné aj "
+"po kompletnej inštalácii."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopírovať kompletné CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Vyskytla sa chyba"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Prosím, zvoľte si typ vašej klávesnice."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Tu je úplný zoznam dostupných klávesníc"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Inštalácia/Aktualizácia"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Želáte si vykonať inštaláciu alebo aktualizáciu?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Aktualizácia %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Kryptovací kľúč pre %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfigurácia IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nie je dostatok miesta pre 1MB veľký bootstrap! Inštalácia môže pokračovať, "
+"ale pre spustenie systému musíte vytvoriť oddiel pomocou DiskDrake"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Je potrebné vytvoriť PPC PReP spúšťací bootstrap! Inštalácia bude "
+"pokračovať, ale pre spustenie systému musíte vytvoriť bootstrap oddiel "
+"pomocou DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Vymente vaše CD-ROM médium!\n"
+"\n"
+"Prosím, vložte CD-ROM nazvané \"%s\" do vašej mechaniky a kliknite na OK.\n"
+"Ak takýto CD disk nemáte, zvoľte Zrušiť pre zrušenie inštalácie z tohoto CD-"
+"ROM disku."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hľadajú sa dostupné balíky..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Vyberte si načítanie alebo uloženie výberu balíkov na disketu.\n"
+"Formát je rovnaký ako pre diskety generované automatickou\n"
+"inštaláciou."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Zaťaženie"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Uložiť"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Zlý súbor"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Zvolená veľkosť je väčšia ako dostupné miesto"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Typ inštalácie"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Nebola vybraná žiadna skupina balíkov\n"
+"Prosím, zvoľte si typ minimálnej inštalácie, ktorú si želáte vykonať:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "S X Window System"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "So základnou dokumentáciou (doporučené!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Naozaj minimálna inštalácia (bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Všetko"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripravuje sa inštalácia"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Inštaluje sa balík %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Chyba pri zoraďovaní zoznamu balíkov:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Napriek tomu pokračovať?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Uložiť výber balíkov"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Počas inštalácie balíkov sa vyskytla chyba:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Poinštalačná konfigurácia"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Presvečte sa prosím, že médium s aktualizovanými modulmi je v mechanike %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Aktualizácie"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Teraz máte možnosť stiahnuť si aktualizované verzie balíkov. Tieto balíky\n"
+"boli vydané až po uvoľnení distribúcie. Môžu obsahovať\n"
+"bezpečnostné alebo funkčné opravy.\n"
+"\n"
+"Pre získanie týchto balíkov je potrebné, aby ste mali fungujúce Internetové\n"
+"pripojenie.\n"
+"\n"
+"Želáte si nainštalovať aktualizácie balíčkov?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Pripájanie k zrkadliacemu serveru a získavanie zoznamu možných balíkov..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nebolo možné spojiť sa so zrkadliacim serverom %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardvér"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvuková karta"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Máte nejakú ISA zvukovú kartu?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Po inštalácii spustite \"alsaconf\" alebo \"sndconfig\" ak chcete nastaviť "
+"zvukovú kartu"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Zvuková karta nebola nájdená. Skúste \"harddrake\" po inštalácii"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV karta"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafické rozhranie"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Sieť a Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxy"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "nakonfigurované"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Úroveň bezpečnosti"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivované"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "zakázané"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Nemáte nakonfigurovaný X Window systém. Ste si istí, že to tak chcete?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pripravuje sa zavádzač..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Zdá sa, že máte OldWorld alebo iný neznámy počítač a yaboot zavádzač vám "
+"nebude fungovať. Inštalácia bude pokračovať, ale budete potrebovať použiť "
+"BootX pre štartovanie vášho počítača. Argument pre jadro s umiestnením "
+"koreňového súborového systému je: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Chcete použiť aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Chyba inštalácie aboot.\n"
+"Skúsiť silovú inštaláciu s možnosťou zničenia prvého oddielu?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Vrámci tejto bezpečnostnej úrovne je prístup k súborom na Windows oblasti "
+"umožnený iba pre administrátora."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Vložte čistú disketu do mechaniky %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Pripravuje sa autoinštalačná disketa..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Niektoré kroky nie sú dokončené.\n"
+"\n"
+"Naozaj chcete teraz skončiť?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulujeme"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Reštart"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Príprava auto inštalačnej diskety"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Automatická inštalácia môže byť plne automatizovaná\n"
+"v tom prípade však inštalácia zaberie celý pevný disk.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Zopakovať"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatická"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Uložiť výber balíkov"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Jazyk"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licencia"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Myš"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detekcia pevného disku"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klávesnica"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bezpečnosť"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Rozdelenie diskov"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Inštalujem"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentifikácia"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Používatelia"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Sieť"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Zavádzač"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurácia X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Zhrnutie"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Služby"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Aktualizácie"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Koniec"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d balíky"
+#~ msgstr[1] "%d balíky"
+#~ msgstr[2] "%d balíky"
+
+#~ msgid "%d packages"
+#~ msgstr "%d balíky"
+
+#~ msgid "Language"
+#~ msgstr "Jazyk"
+
+#~ msgid "License"
+#~ msgstr "Licencia"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Voľba triedy inštalácie"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Odhadujem"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Výber balíkov"
+
+#~ msgid "Users"
+#~ msgstr "Používatelia"
+
+#~ msgid "Networking"
+#~ msgstr "Sieť"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfigurácia X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Nie je možné načítať moduly pre vaše jadro (súbor %s chýba), toto sa "
+#~ "stáva hlavne vtedy, ak vaša disketa nie je vytvorená pre inštalačné "
+#~ "médium, ktoré používate (vytvorte si prosím novú štartovaciu disketu)"
diff --git a/perl-install/install/share/po/sl.po b/perl-install/install/share/po/sl.po
new file mode 100644
index 000000000..446bdf98d
--- /dev/null
+++ b/perl-install/install/share/po/sl.po
@@ -0,0 +1,1635 @@
+# translation of DrakX-sl.po to slovenščččina
+# Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# Matjaž Kaše <matjaz.kase@g-kabel.si>, 2004.
+# Aljoša Ločičnik <aljosa.locicnik@mandrakeprinas.org>, 2005.
+# Gregor Pirnaver <gregor.pirnaver@sdm-si.org>, 2002,2004,2005.
+# Jure Repinc <jlp@holodeck1.com>, 2005.
+# Matjaž Kaše <matjaz.kase@telemach.net>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-16 09:42+0200\n"
+"Last-Translator: Matjaž Kaše <matjaz.kase@telemach.net>\n"
+"Language-Team: slovenščččina <sl@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
+"n%100==4 ? 2 : 3);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Imate še kakšen dodatni vir za nameščanje?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Zaznan je bil vir ki bo uporabljen med namestitvijo: %s.\n"
+"\n"
+"\n"
+"Imate še kakšen dodaten vir ki ga je potrebno nastaviti?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Omrežje (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Omrežje (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Omrežje (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL zrcalnega strežnika?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL se mora začeti s ftp:// ali http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Vzpostavljanje povezave s spletno stranjo Mandriva Linux in pridobivanje "
+"seznama dosegljivih strežnikov...."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Vzpostavljanje povezave s spletno stranjo Mandriva Linux in pridobivanje "
+"seznama dosegljivih strežnikov je spodletelo."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izberite zrcalni strežnik, s katerega želite pridobiti popravke"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Namestitev prek NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Prosim, vnesite ime gostitelja in ime mape vašega vira NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime gostitelja vira NFS"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Mapa"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Na tem zrcalnem strežniku ne najdem seznama paketov. Prepričajte se, da je "
+"naslov pravi."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Pregledovanje že nameščenih paketov...."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Odstranjevanje paketov pred posodobitvijo ..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Iskanje paketov za posodobitev..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Izbrali ste naslednje strežnike:%s\n"
+"\n"
+"\n"
+"Navedeni strežniki se zaženejo samodejno. O tem, ali so ti strežniki varni,\n"
+" ni podatkov, zato vas želimo opozoriti, da jih čimprej posodobite,\n"
+"če izveste za njihove novejše različice.\n"
+"\n"
+"\n"
+"Ste prepričani, da želite namestiti navedene strežnike?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Da bi bilo mogoče posodobiti sistem, je treba odstraniti naslednje pakete: %"
+"s\n"
+"\n"
+"\n"
+"Naj odstranim navedene pakete?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Preimenovani so bili diski:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (prejšnje ime %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Omrežje"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Prosim, izberite vir"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka že obstaja. Jo prepišem?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Nimate dovoljenja"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Napačno ime NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Neustrezen vir %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Posnetkov zaslona ni mogoče zajeti, dokler disk ni razdeljen"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Posnetki zaslona bodo po namestitvi v %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Nameščanje "
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Nastavitev"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Formatirati morate tudi %s."
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Nekateri deli vaše strojne opreme potrebujejo za pravilno delovanje "
+"»lastniške« gonilnike.\n"
+"Nekaj informacij o tem dobite na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Vklapljanje omrežja"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Izklapljanje omrežja"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Prenos datoteke %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiranje nekaterih datotek na disk"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje poteka"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "nepogrešljivo"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "pomembno"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "zelo uporabno"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "uporabno"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "morda"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "Izdaje 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Požarni zid Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Živi način za Discovery"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kako se registrirati"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Spletne storitve Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nova tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Delovna postaja"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Pisarniška delovna postaja"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Pisarniški programi: urejanje besedila (OpenOffice.org Writer, Kword), "
+"preglednice (OpenOffice.org Calc, Kspread), pregledovalniki PDF, itd"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Pisarniški programi: urejanje besedila (kword, abiword), preglednice "
+"(kspread, gnumeric), pregledovalniki PDF, itd"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Igralna postaja"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programi za zabavo: arkade, deske, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Večpredstavnostna postaja"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za predvajanje in urejanje zvoka in videa"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetna postaja"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Zbirka orodij za branje in pošiljanje pošte in pošiljanje v novičarske "
+"skupine (mitt, tin ...) ter brskanje po spletu"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Omrežni računalnik (odjemalec)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Odjemalci za različne protokole, vključujoč SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Orodja za lažjo nastavitev računalnika"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolna orodja"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Urejevalniki, lupine, datotečna orodja, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Razvoj"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Razvojne knjižnice, programi in zaglavne datoteke za C in C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige in priročniki o Linuxu in prostem programju"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Standardna osnova Linuxa (LSB). Podpora programom tretjih oseb"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Internetni strežnik"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Program za skupinsko delo"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Strežnik Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Požarni zid/Usmerjevalnik"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internetni prehod (gateway)"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Pošta/Novičarske skupine"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Poštni strežnik postfix in novičarski strežnik Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Imeniški strežnik"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Strežnik FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Strežnik domen in omrežnih podatkov (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Strežnik za datoteke in tiskalnike v skupni rabi"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Strežnik NFS, strežnik Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Podatkovna baza"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Strežnik podatkovnih baz PostgreSQL in MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Splet/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Poštni strežnik Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Strežnik podatkovnih baz PostgreSQL in MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Strežnik omrežnega računalnika"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Strežnik NFS, strežnik SMB, posredniški strežnik, strežnik SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafično okolje"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Delovna postaja KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Namizno okolje KDE, osnovno okolje z zbirko pripadajočih orodij"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Delovna postaja GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafično okolje z uporabniku prijaznim naborom programov in namiznimi orodji"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Namizje IceWM"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Druga grafična namizja"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, FVWM ..."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Pripomočki"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Strežnik SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Strežnik Webmin za oddaljen dostop do nastavitev"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Omrežni pripomočki / Nadzorniki"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Nadzorna orodja, knjigovodstvo procesov, tcpdump, nmap ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandrivini čarovniki"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarovniki za nastavitev strežnikov"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Prišlo je do napake, ki je sistem na ustrezen način ne zna odpraviti.\n"
+"Nadaljujte na lastno odgovornost."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Nekateri pomembni paketi niso bili ustrezno nameščeni.\n"
+"Verjetno imate pokvarjeno zgoščenko ali CD-ROM.pogon. \n"
+"Na računalniku, na katerem je nameščen Linux, preverite zgoščenko\n"
+"z ukazom »rpm -qpl media/main/*.rpm«.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Pričetek s korakom '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Namestitev Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> med elementi"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Vaš sistem ni dovolj zmogljiv. Lahko, da boste imeli pri namestitvi\n"
+"Mandriva Linuxa težave. V tem primeru lahko poskusite z namestitvijo v "
+"besedilnem načinu. \n"
+"Po zagonu z zgoščenke pritisnite »F1« in vpišite »text«."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Izbira skupine paketov"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Izbira posamičnih paketov"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Celotna velikost: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Paket je pokvarjen"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Različica:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Velikost: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Pomembnost:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Tega paketa ne morete izbrati ali izločiti."
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "ker manjka %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zaradi nezadovoljstva %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "poizkušam uveljaviti %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "da bi obdržal %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Tega paketa ne morete izbrati, ker ni dovolj prostora, da bi ga lahko "
+"namestili."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Nameščeni bodo naslednji paketi:"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Odstranjeni bodo naslednji paketi:"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Tega paketa ni mogoče izločiti."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Tega paketa ne morete izločiti, ker je že nameščen."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Tega paketa ne morete izločiti, ker ga je treba posodobiti."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Pokaži samodejno izbrane pakete"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Namesti"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Naloži/shrani izbiro"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Posodabljanje izbora paketov"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalna namestitev"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Upravljanje programja"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izberite pakete, ki jih želite namestiti"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Nameščanje"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Brez podrobnosti"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Preostali čas "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Ocena"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketov"
+msgstr[1] "%d paketov"
+msgstr[2] "%d paketov"
+msgstr[3] "%d paketov"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Povzetek"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Nastavite"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "ni nastavljeno"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Na voljo so naslednji viri za namestitev:\n"
+"Če želite katerega izmed njih izločiti, to lahko storite sedaj."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Pred namestitvijo lahko vsebino zgoščenk prekopirate na trdi disk.\n"
+"V tem primeru bo namestitev potekala s trdega diska, paketi pa bodo ostali "
+"na voljo tudi po dokončani namestitvi."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Prekopiraj celotno vsebino zgoščenk"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Prišlo je do napake"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Izberite razpored tipkovnice"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Izbirate lahko med naslednjimi tipkovnicami:"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Namestitev/Posodobitev"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Želite izvesti novo namestitev ali posodobiti obstoječ sistem?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Posodobitev %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Šifrirni ključ za %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Nastavljanje IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ni prostora za zapis začetnega nalaganja (1MB). Namestitev se bo "
+"nadaljevala, vendar morate, da bi sistem po namestitvi lahko zagnali, s "
+"pomočjo orodja DiskDrake ustvariti razdelek za začetno nalaganje."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Ustvariti morate PPC PReP Boot bootstrap! Namestitev se bo nadaljevala, "
+"vendar boste morali za zagon sistema s pomočjo DiskDrake ustvariti bootstrap "
+"razdelek."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Zamenjajte zgoščenko!\n"
+"\n"
+"Prosim, vstavite zgoščenko z oznako »%s« v pogon in kliknite V redu\n"
+"Če zahtevane zgoščenke nimate, kliknite Prekliči, da jo bo namestitev obšla."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Iskanje dosegljivih paketov...."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Prosim, izberite nalaganje ali shranjevanje izbora paketov.\n"
+"Format je enak datotekam za samodejno namestitev."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Naloži"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Shrani"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Neustrezna datoteka"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Izbrana velikost presega prostor, ki je na razpolago."
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Način namestitve"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Izbrali niste nobene skupine paketov.\n"
+"Izbrati morate vsaj minimalno namestitev:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Z X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Z osnovno dokumentacijo (Priporočeno!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Zares najmanjša možna namestitev (še posebej brez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Vse"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripravljanje namestitve"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Med razvrščanjem paketov je prišlo do napake:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Želite kljub temu nadaljevati?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Poskusi znova"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Shrani izbiro paketov"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Med nameščanjem paketov je prišlo do napake:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Nastavitve po namestitvi"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Prosim, prepričajte se, da je medij »Posodobitev modulov« v pogonu %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Posodobitve"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Imate možnost, da s strežnika prenesete posodobljene pakete. Ti paketi\n"
+"so bili posodobljeni po izdaji distribucije. Vsebujejo varnostne popravke in "
+"popravke hroščev.\n"
+"\n"
+"Za namestitev teh paketov morate imeti vzpostavljeno internetno povezavo.\n"
+"\n"
+"Želite namestiti posodobitve? "
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Vzpostavljanje povezave z zrcalnim strežnikom in pridobivanje seznama "
+"dosegljivih paketov...."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Povezave z zrcalnim strežnikom %s ni mogoče vzpostaviti."
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Strojna oprema"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvočna kartica"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Imate zvočno kartico na ISA vodilu?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Po namestitvi zaženite »alsaconf« ali »sndconfig« za nastavitev zvočne "
+"kartice."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Ne zaznam zvočne kartice. Po namestitvi jo poskusite nastaviti s pomočjo "
+"»harddrake«."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kartica"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafična kartica"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Omrežje in internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Posredniški strežniki"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "Nastavljeno"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Raven varnosti"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Požarni zid"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "Aktivirano"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "Onemogočeno"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Zagon"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Niste nastavili strežnika X. Ali to zares želite?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pripravljanje zagonskega nalagalnika..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Na vašem računalniku zagonski nalagalnik yaboot ne bo deloval.\n"
+"Namestitev se bo nadaljevala, vendar boste morali\n"
+"računalnik zagnati s pomočjo BootX ali na drug ustrezen način. Nastavitev "
+"jedra za root datotečni sistem je:%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Želite uporabiti aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Napaka pri namestitvi aboot\n"
+"Želite nadaljevati z namestitvijo, čeprav bo s tem prvi razdelek uničen?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Na tej varnostni stopnji je dostop do datotek na prvem razdelku za Windows "
+"dovoljen samo korenskemu uporabniku."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Vstavite prazno disketo v pogon %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Ustvarjanje diskete za samodejno namestitev..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Nekateri koraki še niso dokončani.\n"
+"\n"
+"Res želite končati?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Čestitke"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Ponovni zagon"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Ustvari disketo za samodejno namestitev"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Lahko izberete povsem samodejno namestitev,\n"
+"vključno s spremembami na trdem disku!!\n"
+"(Takšen način je uporaben, če želite namestitev ponoviti na drugem "
+"računalniku.)\n"
+"\n"
+"Morda vam bolj ustreza ponovna namestitev.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ponovi"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Samodejno"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Shrani izbiro paketov"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Jezik"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenca"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Miška"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Prepoznavanje trdega diska"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Razred namestitve "
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tipkovnica"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Varnost"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Razdelitev diska"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatiranje"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Izbiranje paketov "
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Nameščanje"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Overjanje"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uporabniki"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Povezovanje"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Zagonski nalagalnik"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Nastavitev X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Povzetek"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Storitve"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Posodobitve"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izhod"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d paketov, %d MB)"
+#~ msgstr[1] "(%d paketov, %d MB)"
+#~ msgstr[2] "(%d paketov, %d MB)"
+#~ msgstr[3] "(%d paketov, %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketov"
+
+#~ msgid "Language"
+#~ msgstr "Jezik"
+
+#~ msgid "License"
+#~ msgstr "Licenca"
+
+#~ msgid "Installation class"
+#~ msgstr "Razred namestitve "
+
+#~ msgid "Formatting"
+#~ msgstr "Formatiranje"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Izbiranje paketov "
+
+#~ msgid "Users"
+#~ msgstr "Uporabniki"
+
+#~ msgid "Networking"
+#~ msgstr "Povezovanje"
+
+#~ msgid "Configure X"
+#~ msgstr "Nastavitev X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ne najdem modulov jedra, ki bi se ujemali z vašim jedrom. (Manjka "
+#~ "datoteka %s) To običajno pomeni, da vaša zagonska disketa ni usklajena z "
+#~ "virom namestitve. Prosimo, ustvarite novo zagonsko disketo."
diff --git a/perl-install/install/share/po/sq.po b/perl-install/install/share/po/sq.po
new file mode 100644
index 000000000..5d75954c8
--- /dev/null
+++ b/perl-install/install/share/po/sq.po
@@ -0,0 +1,1616 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Naim Daka <naim70@freesurf.ch>, 2002, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX for MDK 9.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Naim Daka <naim70@freesurf.ch>\n"
+"Language-Team: Albanian <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "A posedoni ndonjë tjetër?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Rrjeti %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Rrjeti %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Lidhje në sitin Mandriva Linux për të pranuar listën e lirë të pasqyreve..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Lidhje në sitin Mandriva Linux për të pranuar listën e lirë të pasqyreve..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Zgjedheni një pasqyre nga e cila do ti transferoni pakot"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Repertori"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Nuk mund ta gjejë %s në %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kërkimi i pakove veqse të instaluara..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Gjetja pakove azhurnuese..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Ju keni zgjedhur server(et) e radhitur: %s\n"
+"\n"
+"\n"
+"Këta server janë të aktivizuar me marrëveshje. Ata nuk kanë ndonji dalje\n"
+"të siguruar, mirëpo probleme të reja mund të paraqiten. Në ato momente\n"
+"ju duhet të jeni i sigurt që ti azhurnoni serverat tuja sa më shpejt.\n"
+"\n"
+"\n"
+"Me të vërtetë dëshironi t'instaloni këta server?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Pakot a radhitura do të zhduken pët të azhurnuar sistemin tuaj: %s\n"
+"\n"
+"\n"
+"Me të vërtetë dëshironi ti zhdukni?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Pakot e radhitura duhet të instalohen:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rrjeti"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Ju lutemi zgjedheni"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Skedarje është veqse prezente. Përdoreni atë?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Autorizim i pa pranuar"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "shtuarja e burimit %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "E pa mundur grabitja e ekranit (screenshots) para ndarjeve"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Grabitjet e ekranit (screenshots) janë të mundura mbas instalimit në %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Instalimi"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfigurimi"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Ju duhet njashtu ta formatoni %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Disa periferik prezent në sistemin tuaj u nevojiten pilotë ``pronari'' për\n"
+"të funksionuar si duhet. Ju mund të gjeni më shumë informacione përkatëse "
+"këtu: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Nisja e rrjetit (network)"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ndalja e rrjetit (network)"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Dërgimi i skedareve..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Zbulimi në vazhdim e sipër"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "duhet pa tjetër"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "me rëndësi"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "shumë mirë"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "i mirë"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ndoshta"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Stacion punues"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Stacioni Punues në Tryezë"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programe për tryezë: trajtues të teksteve (OpenOffice.org Writer, Kword), "
+"tablues (OpenOffice.org Calc, Kspread), çfaqës pdf, etj."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programe për tryezë: trajtues të teksteve (kword, abiword), tablues "
+"(kspread, gnumeric), çfaqës pdf, etj."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Stacion Lojërash"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programe ahengi: lojë arkade, lojë me stenda, strategji, etj"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Stacion Multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programe për lojëra/botime të zërit dhe videos"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Stacion Interneti"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Përgjithësia a veglave të leximit, dërgimit të letrave elektronike të "
+"lajmeve (pine, mutt, tin...) dhe për të lundruar në internet."
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Kompjuter Rrjeti (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klient për protokole të ndryshme me përfshirje në ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Vegla për të konfiguruar kompjuterin tuaj"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Vegla në konsolë"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Botues, interpretues, vegla skedaresh, terminale"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Zhvillimi"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Bibloteka ndërtuese e C dhe C++, programe dhe skedare me përfshirje"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacioni"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Libra dhe Howto's për Linux dhe Softver gratis"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Bazë Standarde e Linux. Përkrahë aplikacione të pjesës së tretë"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Server Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Grupi"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Server Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Murë-i-Zjarrtë/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Portë kaluese Interneti"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Skedare/_E Re"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Server i letrave (mail) Postfix"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Riparoje Nga CD"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Server FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Server i Emrit (DNS) dhe Server i Informacionit (NIS)"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Server Stampues"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "Server Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Bazë e të dhënave"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Server PostgreSQL apo MySQL i bazës së të dhënave"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Server i letrave (mail) Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Server PostgreSQL apo MySQL i bazës së të dhënave"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Server Kompjuter Rrjeti"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Server NFS, server SMB, server Proxy, server ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Mjedis Grafikë"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Stacioni punues KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Mjedisi i Tryezës K, dhe grafiku basic, i mjedisit me koleksionimin e veglave"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Stacioni punues Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Një mjedis grafikë me përdorues-miqësie, një përgjithësi e palikacioneve dhe "
+"vegla në tryezë"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Tryeza"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Mjedise të Tjera Grafike në Tryezë"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etj."
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Filipinet"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Server SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webcam"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Konfigurim i Serverit me Terminale Mandriva"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Vështrimi i Rrjetit (Network)"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Qendra Kontrolluese Mandriva Linux"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Dështim gjatë konfigurim të stampuesit %s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Një gabim është paraqitur, dhe me sa duket është vështir të zgjidhet.\n"
+"Ju mund të vazhdoni, mirëpo ju jeni përgjegjës për ndonji gabim eventual."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Disa pako me rëndësi nuk janë instalur në mënyrë korrekte.\n"
+"Është e mundur që cdrom-i apo lexuesi cdrom të jetë në defekt.\n"
+"Verifikoni cdrom-in në një kompjuter të instalur, duke shtypur urdhërin "
+"\"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Nisja e etapës `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Instalimi i Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab> para /<Alt-Tab> mbrapa"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Kompjuteri i juaj posedon sasi të vogël të memorisë. Ju mund të ndesheni me\n"
+"disa probleme gjatë instalimit të Mandriva Linux. Nëse kjo ndodhë, ju\n"
+"mund të vazhdoni në një instalim në modë teksti. Për këtë shtypni mbi\n"
+"`F1' kut të niseni me një nisje të udhëzuar në CDROM, dhe fytni urdhërin "
+"`text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Zgjedhni Grupet e Pakove"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Zgjedhni pakot individualisht"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Madhësia totale: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Pako jo e mirë"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versioni: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Madhësia: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Me rëndësi: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ju nuk mund ti zgjedhni/çzgjedhni këtë pako"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "ka arritur nga mungesa %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "ka arritur gjatë mosmarrëveshjes %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "tentim në gradimin e %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "në urdhër për ta mbajturë %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Nu nuk mund ta zgjidhni këtë pako, sepse nuk ka vend të mjaftueshëm për ta "
+"instaluar"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Pakot e radhitura do të instalohen"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Pakot e radhitura do të zhduken"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Kjo është një pako e nevojshme, dhe nuk mund çzgjedhet"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Ju nuk mund ta çzgjedhni këtë pako. Është e instaluar më parë"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ju nuk mund ti çzgjedhni këtë pako. Duhet të azhurnohet"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Paraqiti automatikisht pakot e zgjedhura"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instalim"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Zgjedhja e pakos"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Azhurnimi i pakove të zgjedhura"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Instalim minimal"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Menagjuesi Softver"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Zgjedhi pakot të cilat dëshironi t'instaloni"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instalimi"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Asnjë detaj"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Koha e mbetur"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Vlerësimi në sipër"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pakot"
+msgstr[1] "%d pakot"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Përmbledhje"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfiguroje"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "i pa konfiguruar"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Një gabim është paraqitur"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Ju lutemi zgjedheni tipin tastierës suaj"
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ja ku është lista komplete e shteteve në disponibilitet"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalo/Azhurno"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Është ky një instalim apo një azhurnim?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Azhurno %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Çelës i kriptuar për %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfigurimi i IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nuk ka hepësirë të lirë, për ndarjen me nisje të udhëzuar (bootstrap) me 1MB!"
+"Instalimi do të vazhdoj, ju duhet të krijoni një ndarje me nisje të udhëzuar"
+"(bootstrap) në DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Nuk ka hepësirë të lirë, për ndarjen me nisje të udhëzuar (bootstrap) me 1MB!"
+"Instalimi do të vazhdoj, ju duhet të krijoni një ndarje me nisje të udhëzuar"
+"(bootstrap) në DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Ndërrojeni Cd-Rom tuaj!\n"
+"\n"
+"Ju lutemi futni Cd-Rom e emruar \"%s\" në lexuesin tuaj dhe shtypni mbi Ok.\n"
+"Nëse ju nuk e posedoni, shtypni mbi kopsën Anulo që më në fund të mos "
+"instaloni asgjë nga ky Cd-Rom."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Hetim mbi pakot e lira..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Ju lutemi zgjedhni ngarkimin apo shpëtimin e pakos së zgjedhur në floppy "
+"disketë.\n"
+"Forma është e njëjtë sikur në disketë me tërheqje të instalimit automatikë."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Ngarko"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Shpëtoje"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Ngarko file"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Madhësia e zgjedhur është shumë më e gjatë se sa hapësira e lirë"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tipi i instalimit"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ju nuk e keni zgjedhur asnjë grup të pakove.\n"
+"Ju lutemi zgjedheni një instalim minimal të dëshiruar:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Me X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Me dokumentacion bazues (rekomanduar!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Instalim tejet minimal (në veçanti pa urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Gjitha"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pregatitje për instalim"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instalimi i pakove %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Një gabim është paraqitur gjatë radhitjes së pakove:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vazhdo pa marrë parasysh?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Regjistroi pakot e zgjedhura"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Një gabim është paraqitur gjatë instalimit të pakove:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Konfigurimi i postit-instalues"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Tani keni mundësin që ti shkarkoni azhurnimet e krijuara nga\n"
+"dalja e tyre në përdorim. Është e mundur që të ketë korigjime\n"
+"të sigurisë dhe rregullime të problemeve bug.\n"
+"\n"
+"Për ti transferuar pakot e shënuara, ju duhet të posedoni një lidhje \n"
+"me rrjetin internet.\n"
+"\n"
+"A dëshironi t'instaloni këto azhurnime ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Transferimi i listës së pasqyreve me pako të lira..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Nuk mundur të kontaktohet pasqyrja %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardver"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Kartelë zëri"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "A posedoni një kartelë zëri ISA?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Nise \"sndconfig\" mbasë instalimit për ta konfiguruar kartëlën e zërit"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Asnjë kartelë e zbuluar. Provo \"harddrake\" mbasë instalimit"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Kartelë TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Interfaci grafik"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rrjeti & Internet"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Profili "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "rikonfiguroje"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivel i Sigurisë"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Mur i Zjarrt"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktivizuar"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "i nxënë"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s mbi %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Ju nuk e keni konfiguruar serverin X. A jeni i sigurt, se e dëshironi këtë?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pregatitja e bootloader..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Me sa duket makina juaj posedon një arqitekturë të vjetër apo të pa\n"
+" njoftur, programi për nisje të udhëzuar yabbot nuk do të funksionoj.\n"
+"Dhe instalimi do të vazhdoj më tutje, mirëpo ju\n"
+" duhet të posedoni BootX që ta nisni sistemin tuaj"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "A dëshironi ta përdorni aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Gabim gjatë instalimit aboot, \n"
+"mundohu me instalim të forcuar, edhe pse ai do ta shkatërroj ndarjen e parë?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Futni një disketë të zbrazët në lexuesin e disketave %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Krijimi i një diskete auto instaluese..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Disa etapa nuk kanë përfunduar.\n"
+"\n"
+"A dëshironi me të vërtetë ti braktisni tani?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Urime"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Rinise (riboot)"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Krijo një disketë auto instaluese"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Auto instalimi mund të bëhet me instalim të automatizuar, nëse\n"
+"dëshironi, ai do të merë kontrolin mbi diskun tuaj të fort!!\n"
+"(është i përcaktuar për instalimin njodnjë makine tjetër).\n"
+"\n"
+"A dëshironi ta përsëritni instalimin.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Rilexo"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatizuar"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Regjistroi pakot e zgjedhura"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Zgjedheni gjuhën tuaj"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenca"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mini"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Zbulim i Diskut të Fortë (Hard drive)"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastiera"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Siguria"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Shpërndarja"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instalimi"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Vërtetësimi"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Përdoruesit"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Punimi i rrjetit"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurim i X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Përmbledhje"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Serviset"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Braktise"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d pakot"
+#~ msgstr[1] "%d pakot"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pakot"
+
+#~ msgid "Language"
+#~ msgstr "Zgjedheni gjuhën tuaj"
+
+#~ msgid "License"
+#~ msgstr "Licenca"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Zgjedhe klasën e instalimit"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Vlerësimi në sipër"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Zgjedhi pakot instaluese"
+
+#~ msgid "Users"
+#~ msgstr "Përdoruesit"
+
+#~ msgid "Networking"
+#~ msgstr "Punimi i rrjetit"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfigurim i X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Nuk mund të hyjë në modulet të cilat i përkasin bërthamës suaj (skedarja %"
+#~ "s mungon), kjo zakonisht do të thotë se disketa juaj me nisje të udhëzuar "
+#~ "nuk sinkronizohet, me burimin instalues (ju lutemi krijoni një disketë të "
+#~ "re)"
diff --git a/perl-install/install/share/po/sr.po b/perl-install/install/share/po/sr.po
new file mode 100644
index 000000000..1cc11134c
--- /dev/null
+++ b/perl-install/install/share/po/sr.po
@@ -0,0 +1,1630 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Toma Jankovic <tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Да ли имате још додатних медија?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Следећи медији су пронађени и биће корићени током инсталације: %s.\n"
+"\n"
+"\n"
+"Да ли имате додатних инсталационих медија које треба подесити?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мрежа (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мрежа (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Мрежа (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "УРЛ мирора?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "УРЛ мора почињати са ftp:// или http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Контактирајте Mandriva Linux web сајт да би добили листу доступних mirror-"
+"а..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Неуспешно успостављање везе са Mandriva Linux web сајт ради листе доступних "
+"mirror-а"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Изаберите mirror са ког ћете скинути пакете"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Подешавање NFS-а"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Унесите име домаћина-hostname и директоријум вашег NFS медија"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Недостаје име домаћина-hostname"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Директоријум мора почети са \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Име домаћина-hostname за монтирање NFS ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Директоријум"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Додатни"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Не могу пронађем листу пакета на овом мирору. проверите да ли локација "
+"исправна."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Тражим већ инсталиране пакете..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Уклањам старе пакете..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Тражим пакете за ажурирање..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Ви сте изабрали следеђе сервере: %s\n"
+"\n"
+"\n"
+"Ови сервери се активирају по основној поставци. Они немају познатих "
+"сигурносних\n"
+"недостатака, али се ипак могу појавити неки нови. Уколико се то деси, морате "
+"их ажурирати\n"
+"што је пре могуђе.\n"
+"\n"
+"\n"
+"Да ли заиста желите да инсталирате ове сервисе?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Следећи пакети ће бити уклоњени да би систем могао да се ажурира: %s\n"
+"\n"
+"\n"
+"Да ли заиста желите да уклоните ове пакете?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Следећи диск(ови) ће бити преименовани:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (раније са именом %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Мрежа"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Изаберите медиј"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Датотека већ постоји. Да ли препишем преко постојеће?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Приступ одбијен"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Погрешно NFS име"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Лош медиј %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Не могу да направим снимак пре партиционирања"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Снимци ће бити доступни након инсталације у %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Инсталација"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Конфигурација"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Морате и %s да форматирате"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Неке хардверске компоненте у вашем рачунару захтевају одговарајуће драјвере "
+"да би нормално функционисале.\n"
+"Информације о њима можете пронаћи на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Приступам мрежу"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Одступам од мреже"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Преузимам фајл %s ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Копирање неких поакета на дискове ради касније употребе"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Копирање у току"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "морате имати"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важно"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "веома лепо"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "лепо"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "можда"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "линија производа 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Заштитни зид Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Livе"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Како се регистровати"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online сервиси"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Нова тема"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Веб 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Касперски"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Радна станица"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Радна(Office) станица"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office програми: текст процесори (OpenOffice.org Writer, Kword), табеле "
+"(OpenOffice.org Calc, Kspread), pdf прегледници, итд"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Office програми: текст процесори (kword, abiword), табеле (kspread, "
+"gnumeric), pdf прегледници, итд"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Станица за игру"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Забавни програми: аркаде, иге на табли, стратегије, итд"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедијална станица"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Програми за пуштање звука и видеа"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Интернет станица"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Скуп алата за читање и слање ел.поште и вести (mutt, tin..) и за "
+"претраживање Интернета"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мрежни компјутер (клијент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клијенти за различите протоколе укључујући и ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Алати за лако конфигурисање компјутера"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Конзолни алати"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "едитори,шелови, алати за датотеке, терминали"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Развојна"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C и C++ развојне библиотеке, програми и пропратне датотеке"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документација"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Књиге и Како? (Howto's) за Linux и Бесплатни Софтвер"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Линуксова Стандардна База. Подршка за Third party апликаицје"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб Сервер"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Софтвер за групни рад"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Сервер"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Сервер, Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Ел.пошта/вести"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix сервер за ел.пошту,Inn сервер за вести "
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Сервер директоријума"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Сервер"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Име Домена и Мрежни Информациони Сервер"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Фајл Сервер и сервер за дељење штампача"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Сервер, Samba Сервер"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Сервер,Базе података"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL или MySQL сервер за базу података"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Сервер, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail сервер"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL или MySQL сервер за базу података"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Мрежни Сервер"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS сервер, SMB сервер, Proxy сервер, SSH сервер"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графичко Окружење"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE падна станица"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Десктоп окружење, основно графичко окружење са колекцијом пратећих алата"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome радна станица"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графичка окружења за сетом корисничк NFS server, SMB server, Proxy server, "
+"NFS server, SMB server, Proxy серверих апликација и десктопалата"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Десктоп"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Други графички десктопови"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr " Window Maker, Enlightenment, Fvwm, итд"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Алати"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Сервер"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin сервер за даљинску контролу"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мрежни алати/Мониторинг"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Алати за мониторинг, управљање процесима, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Чаробњаци"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Чаробњаци за подешавање сервера"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Грешка, али незнам како да је разрешим.\n"
+"Наставите на ваш ризик!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Неки важни пакети нису добро инсталирани.\n"
+"Ваш cdrom уређај или cd су неисправни.\n"
+"Проверите cdrom на инсталираном компјутеру користеће \"rpm -qpl media/main/*."
+"rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Покрећем корак `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Инсталација %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> између елемената"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Ваш систем има мањак снаге. Услед тога можете имати проблема при "
+"инсталацији\n"
+"Mandriva Linux. Уколико се они појаве, можете пробати текстуалну "
+"инсталацију. Да би то постигли,\n"
+"притисните `F1' при стартању са CDROM-а, а онда укуцајте `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Одабир група пакета"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Појединачно бирање пакета"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Укупна величина: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Лош пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Верзија: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Величина: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Важност: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Не можете селектовати/деселектовати овај пакет"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "због не постојања %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "због не задовољеног %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "покушавам да прикажем %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "да бих задржао %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Не можете селектовати овај пакет јер нема више слободног простора"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Следећи пакети треба да буду инсталирани"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Следећи пакети ће бити избрисани"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ово је обавезни пакет,и не може бити деселектован"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Можете деселектовати овај пакет јер је већ инсталиран"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Не можете деселектовати овај пакет.Он мора бити ажуриран"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Аутоматски прикажи изабране пакете"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Инсталирај"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Учитај/Сачувај избор"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ажурирање селекције пакета"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Минимално инсталирај"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Подешавање Софтвера"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Изабери пакете за инсталацију"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Инсталирам"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Без детаља"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Преостало време"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Процењујем"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакета"
+msgstr[1] "%d пакета"
+msgstr[2] "%d пакета"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Сажетак"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Подеси"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "није подешено"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Пронађени су следећи инсталациони медији.\n"
+"Уколико желите да прескочите неке од њих, деселектујте их сада."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Имате могућност да копирате садржај CD-ова на хард диск пре инсталације.\n"
+"Након тога ће инсталција наставити са хард диска а пакети ће остати доступни "
+"и када се заврши инсталација."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копирање целог CDа"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Хм,појавила се грешка"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Изаберите распоред тастатуре."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Овде је представљена цела листа доступних распореда за тастатуре"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Инсталација/Ажурирање"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Да ли је ово инсталација или ажурирање?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ажурирање %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Кључ за енкрипцију за %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Конфигурација IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Нема слободног простора за 1MB bootstrap! Инсталација ђе се наставити, али "
+"да би подигли вашсистем, морађете да креирате bootstrap партицију у "
+"DiskDrake-у"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Морате креирати PPC PReP bootstrap! Инсталација ђе се наставити, али да би "
+"подигли ваш систем, морађете да креирате bootstrap партицију у DiskDrake-у"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Промените ваш Cd-Rom!\n"
+"\n"
+"Убаците ваш CD означен са \"%s\" у погон и притисните \"У реду\" када сте "
+"спремни.\n"
+"Уколико га немате притисните Поништи."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Тражим пакете"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Ваш систем нема довољно слободног простора за инсталацију или ажурирање "
+"система (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Молим Вас да изаберете учитавање или снимање селекције пакета.\n"
+"Формат који се користи је исти као и код auto_install генерисаних фајлова."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Учитај"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Сачувај"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Лош фајл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Селектована величина је веђа од слободног простора"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Тип инсталације"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Нисте селектовали ниједну групу пакета.\n"
+"Изаберите минималну инсталацију коју желите:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Са X-овима"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Са основном документацијом (препорука!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Стварно минимална инсталација (посебно без urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Све"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Припремам инсталацију"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Инсталирам пакет %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Грешка у листи пакета:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Свеједно наставити даље ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Сачувај селекцију пакета"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Грешка при инсталацији пакета:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Постинсталациона конфигурација"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Проверите да ли се у уређају %s налази медиј за ажурирање модула"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ажурирање"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Сада имате могућност да download-ујете ажуриране пакете који су\n"
+"креирани након изласка дистрибуције.\n"
+"Они могу садржавати исправке грешака и сигурносних рупа\n"
+"\n"
+"Да би скинули ове пакете морате да имате подешену Интернет конекцију.\n"
+"\n"
+"да ли желите да инсталирате update-ове ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Кантактирајте mirror за листу могућих пакета"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Не могу да контактирам мирор %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Хардвер"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Звучна картица"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Да ли имате ISA звучну картицу?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Покрените \"alsaconf\" или \"sndconfig\" након иснталације да би подесили "
+"своју звучну картицу"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Није детектована звучна картица. Покрените \"harddrake\" након инсталације"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV катица"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Графички интерфејс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Мрежа и Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Проксији"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "подешено"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Ниво сигурности"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Заштитни зид (Firewall)"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "Активирано"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "онемогућено"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Стартање"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Нисте подесили X. Да ли сте сигурни да желите то?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Припремам стартер..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Пошто изгледа да имате старомодну или непознату машину, yaboot стартер неђе "
+"радити код вас.Инсталација ће бити настављена, али ћете морати да користите "
+"BootX или нешто друго да би подигли систем. Аргумент кернела заroot fs je: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Да ли желите да користите aboot ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Грешка при инсталацији aboot-а, \n"
+"Да ли да пробам да инсталирам чак ако то води уништењу прве партиције?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"У овом сугурносном нивоу приступ фајловима на Windows партицији је дозвољен "
+"само администраторима."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Убаците празну дискету у уређај %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Креирам ауто инсталациони флопи"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Неки кораци нису комплетирани.\n"
+"\n"
+"Да ли стварно желите да завршите ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Честитке"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Рестарт"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Креирај ауто инсталациону дискету"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Ауто инсталација може бити потпуно аутоматизована уколико желите,\n"
+"у том случају преузеће контролу над хард-диском!!\n"
+"(ово се односи на инсталацију на другој машини).\n"
+"\n"
+"Можда волите да поновите инсталацију.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Понављање"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Аутоматски"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Сачувај селекцију пакета"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Изаберите језик"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лиценца"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr ""
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Детекција хард диска"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Инсталациона класа"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr ""
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr ""
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматирање"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Избор пакета"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Инсталирам"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr ""
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Корисници"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Мрежа"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Конфигурисање X-а"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Сажетак"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr ""
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ажурирање"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr ""
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакета"
+#~ msgstr[1] "%d пакета"
+#~ msgstr[2] "%d пакета"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакета"
+
+#~ msgid "Language"
+#~ msgstr "Изаберите језик"
+
+#~ msgid "License"
+#~ msgstr "Лиценца"
+
+#~ msgid "Installation class"
+#~ msgstr "Инсталациона класа"
+
+#~ msgid "Formatting"
+#~ msgstr "Форматирање"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Избор пакета"
+
+#~ msgid "Users"
+#~ msgstr "Корисници"
+
+#~ msgid "Networking"
+#~ msgstr "Мрежа"
+
+#~ msgid "Configure X"
+#~ msgstr "Конфигурисање X-а"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Не могу да приступим кернел модулима који одговарају вашем кернелу (фајл %"
+#~ "s нмедостаје), што генерално значи да ваш boot floppy није синхронизаован "
+#~ "са Инсталационим медијом (креирајте новији boot floppy)"
diff --git a/perl-install/install/share/po/sr@Latn.po b/perl-install/install/share/po/sr@Latn.po
new file mode 100644
index 000000000..9699b0cf0
--- /dev/null
+++ b/perl-install/install/share/po/sr@Latn.po
@@ -0,0 +1,1630 @@
+# Cirilicni prevod drakbootdisk.po fajla.
+# Copyright (C) 1997-2003 MandrakeSERBIA.
+# Tomislav Jankovic <tomaja@net.yu>, 2000.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:33+0200\n"
+"Last-Translator: Toma Jankovic_<tomaja@net.yu>\n"
+"Language-Team: Serbian <i18n@mandrake.co.yu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Da li imate još dodatnih medija?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Sledeći mediji su pronađeni i biće korićeni tokom instalacije: %s.\n"
+"\n"
+"\n"
+"Da li imate dodatnih instalacionih medija koje treba podesiti?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mreža (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mreža (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Mreža (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL mirora?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL mora počinjati sa ftp:// ili http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktirajte Mandriva Linux web sajt da bi dobili listu dostupnih mirror-"
+"a..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Neuspešno uspostavljanje veze sa Mandriva Linux web sajt radi liste "
+"dostupnih mirror-a"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Izaberite mirror sa kog ćete skinuti pakete"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Podešavanje NFS-a"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Unesite ime domaćina-hostname i direktorijum vašeg NFS medija"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Nedostaje ime domaćina-hostname"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktorijum mora početi sa \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Ime domaćina-hostname za montiranje NFS ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktorijum"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Dodatni"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ne mogu pronađem listu paketa na ovom miroru. proverite da li lokacija "
+"ispravna."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Tražim već instalirane pakete..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Uklanjam stare pakete..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Tražim pakete za ažuriranje..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Vi ste izabrali sledeđe servere: %s\n"
+"\n"
+"\n"
+"Ovi serveri se aktiviraju po osnovnoj postavci. Oni nemaju poznatih "
+"sigurnosnih\n"
+"nedostataka, ali se ipak mogu pojaviti neki novi. Ukoliko se to desi, morate "
+"ih ažurirati\n"
+"što je pre moguđe.\n"
+"\n"
+"\n"
+"Da li zaista želite da instalirate ove servise?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Sledeći paketi će biti uklonjeni da bi sistem mogao da se ažurira: %s\n"
+"\n"
+"\n"
+"Da li zaista želite da uklonite ove pakete?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Sledeći disk(ovi) će biti preimenovani:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (ranije sa imenom %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Mreža"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Izaberite medij"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Datoteka već postoji. Da li prepišem preko postojeće?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Pristup odbijen"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Pogrešno NFS ime"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Loš medij %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Ne mogu da napravim snimak pre particioniranja"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Snimci će biti dostupni nakon instalacije u %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Instalacija"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguracija"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Morate i %s da formatirate"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Neke hardverske komponente u vašem računaru zahtevaju odgovarajuće drajvere "
+"da bi normalno funkcionisale.\n"
+"Informacije o njima možete pronaći na: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Pristupam mrežu"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Odstupam od mreže"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Preuzimam fajl %s ..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopiranje nekih poaketa na diskove radi kasnije upotrebe"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiranje u toku"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "morate imati"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "važno"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "veoma lepo"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "lepo"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "možda"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "linija proizvoda 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Zaštitni zid Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kako se registrovati"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online servisi"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nova tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Veb 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kasperski"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Radna stanica"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Radna(Office) stanica"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Office programi: tekst procesori (OpenOffice.org Writer, Kword), tabele "
+"(OpenOffice.org Calc, Kspread), pdf preglednici, itd"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Office programi: tekst procesori (kword, abiword), tabele (kspread, "
+"gnumeric), pdf preglednici, itd"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Stanica za igru"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Zabavni programi: arkade, ige na tabli, strategije, itd"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedijalna stanica"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programi za puštanje zvuka i videa"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet stanica"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Skup alata za čitanje i slanje el.pošte i vesti (mutt, tin..) i za "
+"pretraživanje Interneta"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Mrežni kompjuter (klijent)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klijenti za različite protokole uključujući i ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Alati za lako konfigurisanje kompjutera"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konzolni alati"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "editori,šelovi, alati za datoteke, terminali"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Razvojna"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C i C++ razvojne biblioteke, programi i propratne datoteke"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentacija"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Knjige i Kako? (Howto's) za Linux i Besplatni Softver"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux-ova Standardna Baza. Podrška za Third party aplikaicje"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Veb Server"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Softver za grupni rad"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Server, Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "El.pošta/vesti"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix server za el.poštu,Inn server za vesti "
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Server direktorijuma"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Ime Domena i Mrežni Informacioni Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fajl Server i server za deljenje štampača"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS Server, Samba Server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Server,Baze podataka"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ili MySQL server za bazu podataka"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Server, Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Pošta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ili MySQL server za bazu podataka"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Mrežni Server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, SSH server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafičko Okruženje"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE padna stanica"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop okruženje, osnovno grafičko okruženje sa kolekcijom pratećih alata"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome radna stanica"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafička okruženja za setom korisničk NFS server, SMB server, Proxy server, "
+"NFS server, SMB server, Proxy serverih aplikacija i desktopalata"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Drugi grafički desktopovi"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr " Window Maker, Enlightenment, Fvwm, itd"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Alati"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin server za daljinsku kontrolu"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Mrežni alati/Monitoring"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Alati za monitoring, upravljanje procesima, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Čarobnjaci"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Čarobnjaci za podešavanje servera"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Greška, ali neznam kako da je razrešim.\n"
+"Nastavite na vaš rizik!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Neki važni paketi nisu dobro instalirani.\n"
+"Vaš cdrom uređaj ili cd su neispravni.\n"
+"Proverite cdrom na instaliranom kompjuteru koristeće \"rpm -qpl media/main/*."
+"rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Pokrećem korak `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Instalacija %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> između elemenata"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Vaš sistem ima manjak snage. Usled toga možete imati problema pri "
+"instalaciji\n"
+"Mandriva Linux. Ukoliko se oni pojave, možete probati tekstualnu "
+"instalaciju. Da bi to postigli,\n"
+"pritisnite `F1' pri startanju sa CDROM-a, a onda ukucajte `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Odabir grupa paketa"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Pojedinačno biranje paketa"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Ukupna veličina: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Loš paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Verzija: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Veličina: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Važnost: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ne možete selektovati/deselektovati ovaj paket"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "zbog ne postojanja %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "zbog ne zadovoljenog %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "pokušavam da prikažem %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "da bih zadržao %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Ne možete selektovati ovaj paket jer nema više slobodnog prostora"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Sledeći paketi treba da budu instalirani"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Sledeći paketi će biti izbrisani"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ovo je obavezni paket,i ne može biti deselektovan"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Možete deselektovati ovaj paket jer je već instaliran"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Ne možete deselektovati ovaj paket.On mora biti ažuriran"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Automatski prikaži izabrane pakete"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Instaliraj"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Učitaj/Sačuvaj izbor"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ažuriranje selekcije paketa"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimalno instaliraj"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Podešavanje Softvera"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Izaberi pakete za instalaciju"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Instaliram"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Bez detalja"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Preostalo vreme"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Procenjujem"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketa"
+msgstr[1] "%d paketa"
+msgstr[2] "%d paketa"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sažetak"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Podesi"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nije podešeno"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Pronađeni su sledeći instalacioni mediji.\n"
+"Ukoliko želite da preskočite neke od njih, deselektujte ih sada."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Imate mogućnost da kopirate sadržaj CD-ova na hard disk pre instalacije.\n"
+"Nakon toga će instalcija nastaviti sa hard diska a paketi će ostati dostupni "
+"i kada se završi instalacija."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiranje celog CDa"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Hm,pojavila se greška"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Izaberite raspored tastature."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Ovde je predstavljena cela lista dostupnih rasporeda za tastature"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Instalacija/Ažuriranje"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Da li je ovo instalacija ili ažuriranje?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Ažuriranje %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ključ za enkripciju za %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfiguracija IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Nema slobodnog prostora za 1MB bootstrap! Instalacija đe se nastaviti, ali "
+"da bi podigli vašsistem, morađete da kreirate bootstrap particiju u "
+"DiskDrake-u"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Morate kreirati PPC PReP bootstrap! Instalacija đe se nastaviti, ali da bi "
+"podigli vaš sistem, morađete da kreirate bootstrap particiju u DiskDrake-u"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Promenite vaš Cd-Rom!\n"
+"\n"
+"Ubacite vaš CD označen sa \"%s\" u pogon i pritisnite \"U redu\" kada ste "
+"spremni.\n"
+"Ukoliko ga nemate pritisnite Poništi."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Tražim pakete"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Vaš sistem nema dovoljno slobodnog prostora za instalaciju ili ažuriranje "
+"sistema (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Molim Vas da izaberete učitavanje ili snimanje selekcije paketa.\n"
+"Format koji se koristi je isti kao i kod auto_install generisanih fajlova."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Učitaj"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Sačuvaj"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Loš fajl"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Selektovana veličina je veđa od slobodnog prostora"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Tip instalacije"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Niste selektovali nijednu grupu paketa.\n"
+"Izaberite minimalnu instalaciju koju želite:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Sa X-ovima"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Sa osnovnom dokumentacijom (preporuka!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Stvarno minimalna instalacija (posebno bez urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Sve"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Pripremam instalaciju"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Instaliram paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Greška u listi paketa:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Svejedno nastaviti dalje ?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Sačuvaj selekciju paketa"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Greška pri instalaciji paketa:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Postinstalaciona konfiguracija"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Proverite da li se u uređaju %s nalazi medij za ažuriranje modula"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Ažuriranje"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Sada imate mogućnost da download-ujete ažurirane pakete koji su\n"
+"kreirani nakon izlaska distribucije.\n"
+"Oni mogu sadržavati ispravke grešaka i sigurnosnih rupa\n"
+"\n"
+"Da bi skinuli ove pakete morate da imate podešenu Internet konekciju.\n"
+"\n"
+"da li želite da instalirate update-ove ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Kantaktirajte mirror za listu mogućih paketa"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ne mogu da kontaktiram miror %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardver"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Zvučna kartica"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Da li imate ISA zvučnu karticu?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Pokrenite \"alsaconf\" ili \"sndconfig\" nakon isntalacije da bi podesili "
+"svoju zvučnu karticu"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Nije detektovana zvučna kartica. Pokrenite \"harddrake\" nakon instalacije"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV katica"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafički interfejs"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Mreža i Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proksiji"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "podešeno"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Nivo sigurnosti"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Zaštitni zid (Firewall)"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "Aktivirano"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "onemogućeno"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Startanje"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s na %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Niste podesili X. Da li ste sigurni da želite to?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Pripremam starter..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Pošto izgleda da imate staromodnu ili nepoznatu mašinu, yaboot starter neđe "
+"raditi kod vas.Instalacija će biti nastavljena, ali ćete morati da koristite "
+"BootX ili nešto drugo da bi podigli sistem. Argument kernela zaroot fs je: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Da li želite da koristite aboot ?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Greška pri instalaciji aboot-a, \n"
+"Da li da probam da instaliram čak ako to vodi uništenju prve particije?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"U ovom sugurnosnom nivou pristup fajlovima na Windows particiji je dozvoljen "
+"samo administratorima."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Ubacite praznu disketu u uređaj %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Kreiram auto instalacioni flopi"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Neki koraci nisu kompletirani.\n"
+"\n"
+"Da li stvarno želite da završite ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Čestitke"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Restart"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Kreiraj auto instalacionu disketu"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Auto instalacija može biti potpuno automatizovana ukoliko želite,\n"
+"u tom slučaju preuzeće kontrolu nad hard-diskom!!\n"
+"(ovo se odnosi na instalaciju na drugoj mašini).\n"
+"\n"
+"Možda volite da ponovite instalaciju.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Ponavljanje"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatski"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Sačuvaj selekciju paketa"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Izaberite jezik"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licenca"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Miš"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Detekcija hard diska"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Instalaciona klasa"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tastatura"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Sigurnost"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Particionisanje"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatiranje"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Izbor paketa"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Instaliram"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentifikacija"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Korisnici"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Mreža"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Starter"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurisanje X-a"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sažetak"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Servisi"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Ažuriranje"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Izlaz"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d paketa"
+#~ msgstr[1] "%d paketa"
+#~ msgstr[2] "%d paketa"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paketa"
+
+#~ msgid "Language"
+#~ msgstr "Izaberite jezik"
+
+#~ msgid "License"
+#~ msgstr "Licenca"
+
+#~ msgid "Installation class"
+#~ msgstr "Instalaciona klasa"
+
+#~ msgid "Formatting"
+#~ msgstr "Formatiranje"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Izbor paketa"
+
+#~ msgid "Users"
+#~ msgstr "Korisnici"
+
+#~ msgid "Networking"
+#~ msgstr "Mreža"
+
+#~ msgid "Configure X"
+#~ msgstr "Konfigurisanje X-a"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Ne mogu da pristupim kernel modulima koji odgovaraju vašem kernelu (fajl %"
+#~ "s nmedostaje), što generalno znači da vaš boot floppy nije sinhronizaovan "
+#~ "sa Instalacionim medijom (kreirajte noviji boot floppy)"
diff --git a/perl-install/install/share/po/sv.po b/perl-install/install/share/po/sv.po
new file mode 100644
index 000000000..df398e1d6
--- /dev/null
+++ b/perl-install/install/share/po/sv.po
@@ -0,0 +1,1592 @@
+# translation of DrakX-sv.po to
+# DrakX-sv - Swedish Translation
+#
+# Copyright (C) 2000,2002,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+#
+# Kenneth Krekula, 2005.
+# Fuad Sabanovic <manijak@telia.com>, 2000.
+# Mattias Dahlberg <voz@home.se>, 2001, 2002.
+# Mattias Newzella <newzella@linux.nu>, 2001, 2002,2003.
+# Magnus Björklöf <bjorklof@nic.fi>, 2003.
+# Lars Westergren <lars.westergren@home.se>, 2003, 2004, 2005.
+# Thomas Backlund <tmb@mandriva.org>, 2004, 2005, 2006.
+# Kenneth Krekula <kenneth.krekula@kiruna.se>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-sv\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-18 12:05+0100\n"
+"Last-Translator: Kenneth Krekula <kenneth.krekula@kiruna.se>\n"
+"Language-Team: <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Har du fler tilläggs-installationskällor?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Följande medier har blivit hittade och kommer att användas under "
+"installationen: %s.\n"
+"\n"
+"\n"
+"Har du några tilläggs-medier du vill konfigurera?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Cd-rom"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Nätverk (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Nätverk (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Nätverk (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Spegelns URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL måste starta med ftp:// eller http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Kontaktar Mandriva Linux webbplats för att hämta listan över tillgängliga "
+"speglar..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Misslyckades kontakta Mandriva Linux webbplats för att hämta listan över "
+"tillgängliga speglar"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Välj en webbplats från vilken du vill hämta paketen"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS konfigurering"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Ange namn och katalog för ditt NFS medium"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Värdnamn saknas"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Katalogen måste börja med \"/\""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "Maskinnamn för NFS anslutning ?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Katalog"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Tillägg"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Kan inte hitta hdlist filen på denna spegel"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Söker efter paket som redan är installerade..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Tar bort paket före uppgradering..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Söker efter paket att uppdatera..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Du har valt följande server/servrar: %s\n"
+"\n"
+"\n"
+"Dessa servrar aktiveras som standard. De har inga kända säkerhetsproblem,\n"
+"men sådana kan upptäckas. Om så blir fallet måste du se till att uppdatera\n"
+"dem så snabbt som möjligt.\n"
+"\n"
+"\n"
+"Vill du verkligen installera dessa servrar?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Följande paket kommer att tas bort för att kunna uppdatera systemet: %s\n"
+"\n"
+"\n"
+"Vill du verkligen ta bort dessa paket?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Följande disk(ar) har döpts om:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (gamla namnet %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Nätverk"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Välj media"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Filen finns redan. Skriv över?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Åtkomst nekad"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Felaktigt NFS namn"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Oanvändbart media %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Kan inte ta skärmdumpar före partitionering"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Skärmdumpar kommer att finnas tillgängliga efter installationen i %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Installation"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Konfiguration"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Du måste också formatera %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"En del hårdvara i datorn behöver slutna drivrutiner för att\n"
+"fungera. Du kan hitta en del information om dem här: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Startar nätverket"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Stoppar nätverket"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Laddar ner filen %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Kopierar några paket till hårddisken för senare användning"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Kopiering pågår"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "nödvändigt"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "viktigt"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "väldigt trevligt"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "trevligt"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "tveksamt"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 produktlinje"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus Brandvägg"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live Läge"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Hur registrera dig"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online Tjänster"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Nytt Tema"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Arbetsstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Kontorsarbetsstation"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Kontorsprogram: ordbehandlare (OpenOffice.org Writer, Kword), kalkylprogram "
+"(OpenOffice.org Calc, Kspread), PDF-visare, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Kontorsprogram: ordbehandlare (Kword, Abiword), kalkylprogram (Kspread, "
+"Gnumeric), PDF-visare, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Spelstation"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Underhållande program: arkad, brädspel, strategi, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimediastation"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Redigerings- och uppspelningsprogram för video och ljud"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internetstation"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"En samling verktyg för att läsa och skicka e-post och nyheter (mutt, tin...) "
+"och för att utforska Internet"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Nätverksdator (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Klienter för olika protokoll inkluderande SSH"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Verktyg för att underlätta konfigurationen av datorn"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsollverktyg"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Editorer, skal, filverktyg, terminaler"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Utveckling"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Utvecklingsbibliotek, program och include-filer för C och C++"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Böcker och \"Howto's\" om Linux och fri mjukvara"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Stöd för tredjepartsprogram"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Webbserver"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab-server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Brandvägg/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet-gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "E-post/Nyheter"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "E-postservern Postfix, Nyhetsgruppservern Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Katalog-server"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP-server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domännamnserver och Nätverksinformationsserver"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fil och Skrivarserver"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS-server, Samba-server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Databas"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL- och MySQL-databasserver"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Webb/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "E-post"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "E-postservern Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL- eller MySQL-databasserver"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Nätverksserver"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS-server, SMB-server, Proxyserver, SSH-server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafisk miljö"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE-arbetsstation"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, den grundläggande grafiska miljön med en samling "
+"tillhörande verktyg"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Gnome-arbetsstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Grafisk miljö med en samling användarvänliga program och skrivbordsverktyg"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Skrivborsmiljö"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Andra grafiska skrivbordsmiljöer"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Verktyg"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH-server"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Fjärrkonfigurationsserver"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Nätverksverktyg/Övervakning"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Övervakningsverkty, processhantering, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva Guider"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Guider för att konfigurera servern"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Ett fel uppstod och jag vet inte hur det kan hanteras på ett\n"
+"bra sätt. Fortsätt på egen risk."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Några viktiga paket blev inte installerade ordentligt.\n"
+"Antingen är cd-enheten eller cd-skivan trasig.\n"
+"Du kan kontrollera cd-skivan på en redan installerad\n"
+"Mandriva Linux-dator med kommandot \"rpm -qpl media/main/*.rpm\".\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Påbörjar steg \"%s\"\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux installation %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> mellan element"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Systemet har ont om resurser. Du kan få problem med att installera\n"
+"Mandriva Linux. Om det blir problem kan du prova den textbaserade\n"
+"installationen istället. För att göra det tryck F1 när du startar\n"
+"från cd-skivan, skriv sedan \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Val av paketgrupper"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Välj enskilda paket"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Total storlek: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Ogiltigt paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Storlek: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Betydelsegrad: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Du kan inte välja/välja bort detta paket."
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "pga saknande %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "på grund av otillräckliga %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "försöker befordra %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "för att behålla %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Du kan inte välja detta paket eftersom det inte finns tillräckligt med "
+"utrymme."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Följande paket kommer att installeras"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Följande paket kommer att tas bort"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Detta är ett obligatoriskt paket som inte kan väljas bort."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Du kan inte välja bort detta paket. Det är redan installerat."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Du kan inte välja bort det här paketet. Det måste uppdateras."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Visa automatiskt valda paket"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Installera"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Ladda/Spara markering"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Uppdaterar paketval"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal installation"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Programhantering"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Välj paketen som du vill installera"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Installerar"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Inga detaljer"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Återstående tid "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Uppskattar"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paketet"
+msgstr[1] "%d paket"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Sammanfattning"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Konfigurera"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "Inte inställt"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Följande installationskällor har hittats.\n"
+"Du kan välja bort dom du inte önskar använda dig av."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Du har möjligheten att kopiera innehållet på CDn till hårddisk innan "
+"installationen.\n"
+"Installationen kommer att fortsätta från hårddisken och paketen kommer att "
+"fortsätta vara tillgängliga när systemet är färdiginstallerat."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Kopiera hela CD skivor"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Ett fel inträffade"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Välj tangentbordslayout."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Här är hela listan med tillgängliga tangentbord"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Installera/Uppdatera"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Är detta en installation eller en uppdatering?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Uppdatera %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Krypteringsnyckel för %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Konfigurerar IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Inget ledigt utrymme för 1MB bootstrap. Installationen fortsätter, men för "
+"att starta systemet måste du skapa en \"bootstrap\"-partition i Diskdrake."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Du måste skapa en PPC PRep Bootstrap. Installationen fortsätter, men för att "
+"starta systemet måste du skapa \"bootstrap\"-partitionen i Diskdrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Byt cd-skiva.\n"
+"\n"
+"Sätt in cd-skivan med namn \"%s\" och klicka på OK.\n"
+"Om du inte har den, klicka på Avbryt för att hoppa över\n"
+"den delen av installationen."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Söker efter tillgängliga paket..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Ditt system har inte tillräckligt med utrymme kvar för installation eller "
+"uppgradering (%dMB > %dMB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Välj ladda eller spara paketval.\n"
+"Formatet är detsamma som för auto_install-genererade filer."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Inläsning"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Spara"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Oanvändbar fil"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Vald storlek är större än tillgängligt utrymme."
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Installationstyp"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Du har inte valt några gruppaket.\n"
+"Välj den minimala installationen du vill ha:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Med X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Med grundläggande dokumentation (rekommenderas)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Minimal installation (ingen urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Alla"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Förbereder installation"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Installerar paket %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Det uppstod ett fel vid sortering av paket:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Fortsätta ändå?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Försök igen"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Hoppa över detta paket"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Hoppa över alla paket från mediet \"%s\""
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Gå tillbaka till media och paketval"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Det uppstod ett fel vid installation av paketet %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Bearbetar installerade paket"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Kontrollera att media för uppdateringsmoduler finns i enhet %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Uppdateringar"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Nu har du möjlighet att ladda hem programuppdateringar. Dessa\n"
+"paket har kommit ut efter att denna distribution släppts. De kan\n"
+"innehålla säkerhetsuppdateringar eller felrättningar.\n"
+"\n"
+"Du behöver en fungerande Internetanslutning för att kunna ladda ner dessa "
+"paket.\n"
+"\n"
+"Vill du installera uppdateringarna?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Kontaktar webbplatsen för att hämta en lista över tillgängliga paket..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Kan inte kontakta spegeln %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hårdvara"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Ljudkort"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Har du ett ISA-ljudkort?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Kör \"alsaconf\" eller \"sndconfig\" efter installationen för att "
+"konfigurera ljudkortet."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Inget ljudkort hittades. Prova \"harddrake\" efter installationen."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Tv-kort"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiskt gränssnitt"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Nätverk & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxyservrar"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "konfigurerad"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Säkerhetsnivå:"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Brandvägg"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "aktiverad"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "inaktiverad"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Starta"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s på %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Du har inte konfigurerat X. Är du säker på att du vill göra detta?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Förbereder starthanterare..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Du verkar ha en OldWorld eller okän maskin, yaboot-starthanteraren kommer "
+"inte att fungera Installationen fortsätter, men du behöver använda BootX "
+"eller något liknande för att starta datorn. Kernelargumentet för roten är "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Vill du använda aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Fel vid installationen av aboot.\n"
+"Vill du försöka ändå, fast det kan förstöra den första partitionen?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"På den här säkerhetsnivån är tillgång till Windowspartitionen förbehållen "
+"administratören."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Sätt in en tom diskett i diskettenhet %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Skapar automatisk installationsdiskett"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Några steg är inte slutförda.\n"
+"\n"
+"Vill du verkligen avbryta nu?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Gratulerar"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Starta om"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Genererar automatisk installationsdiskett"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Automatisk installation kan göras helt automatisk, om så önskas,\n"
+"vilket gör att den tar över hårddisken\n"
+"(syftet är att installera på en annan dator).\n"
+"\n"
+"Du kan tänkas vilja köra samma installation i repris.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Repris"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Automatiserad"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Spara paketval"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Välj språk"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licens"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mus"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Identifiering av hårddisk"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Installationsklass"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tangentbord"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Säkerhet"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Partitionering"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formaterar"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Väljer paket"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Installerar"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Autentisering"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Användare"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Nätverk"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Starthanterare"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Konfigurera X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Sammanfattning"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Tjänster"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Uppdateringar"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Avsluta"
diff --git a/perl-install/install/share/po/ta.po b/perl-install/install/share/po/ta.po
new file mode 100644
index 000000000..8e8851e6e
--- /dev/null
+++ b/perl-install/install/share/po/ta.po
@@ -0,0 +1,1589 @@
+# Drak X
+# Copyright (C) 2002 Mandriva
+#
+# NOTE: use UTF-8 only
+#
+# prabu <prabu_anand2000@yahoo.com>, 2002.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 1.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2002-09-06 00:35+0800\n"
+"Last-Translator: prabu anand <prabu_anand2000@yahoo.com>\n"
+"Language-Team: Tamil <tamilinix@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "மேலும் உள்ளனவா?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "சிடி இயக்கி"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "வலையமைப்பு %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "வலையமைப்பு %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "தற்ேபாதுள்ள இணைப் பதிப்புதளங்களை அறிய மாண்ட்ேரக் இணையதளம் தொடர்புகொள்ளப்படுகிறது"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "தற்ேபாதுள்ள இணைப் பதிப்புதளங்களை அறிய மாண்ட்ேரக் இணையதளம் தொடர்புகொள்ளப்படுகிறது"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "பொதிகளை எங்கிருந்து இறக்க விரும்புகிறீர்கள்"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "அடைவு"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "இதை திறக்க முடியவில்ைல%s: %s\n"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "ஏற்கனவே நிறுவப்பட்டுள்ள பொதிகள் பார்ைவயிடப்படுகின்றன"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "மேம்படுத்தப்பட வேண்டிய பொதிகள் அறியப்படுகின்றன"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"நீங்கள் கீழ்கானும் ேசவையகங்களை ேதர்வு செய்து உள்ளீர்கள்: %s\n"
+"\n"
+"\n"
+"இந்த ேசவையகங்கள் கொடாநிலையாக துவக்கப்படும். இவற்றில் இவை: \n"
+"வெளியிடப் பட்டபோது பாதுகாப்பு பிரச்சினை ஏதுமில்ைல. ஆனால் பின்னாளில்:\n"
+"கண்டுபிடிக்கப்படலாம்.\n"
+"அப்ேபாது அவற்றுக்கான மாற்றுப் பொதிகளை நிறுவவும்\n"
+"\n"
+"\n"
+"நிங்கள் நிச்சயம் இவற்ைற நிறுவ விரும்புகிறீர்களா?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "கிழ்கானும் பொதிகள் நிறுவுவதற்கு தேர்வுச் செய்யப்பட்டுள்ளது"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "வலையமைப்பு"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "தயவுசெய்து ேதர்ந்ெதடுக்கவும்"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "இந்த கோப்பு ஏற்கனவே உள்ளது. பயன்பாடுத்தி கொள்ளலாமா?"
+
+#: any.pm:1183
+#, fuzzy, c-format
+msgid "Permission denied"
+msgstr "அனுமதிகள்"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "கெட்ட தகவல்"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "வகிர்தல் முடிவதற்கு முன் திரைவேட்டு எடுக்க முடியாது"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "நிறுவி முடித்தவுடன் திரைவேட்டுகள் %s என்ற அடைவில் கிடைக்கும்"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "நிறுவப்படுகிறது"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "வடிவமைப்புகள்"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "நீங்கள் %s இதனையும் வடிவுட்ட வேண்டும்"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"உங்கள் கணினியில் உள்ள சில வன்ெபாருட்களின் இயக்க நிரலை\n"
+"நீங்கள் %s இங்கிருந்து எடுக்கலாம்"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "வலையமைப்பாக்கங்கள் ஏற்றப்படுகிறது"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "வலையமைப்பாக்கங்கள் முடக்கப்படுகிறது"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "கோப்புகளைக் கண்டுபிடி "
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "இன்னும் தேடுதல் நடைபெறுகிறது"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "நிச்சயம் இருக்க வேண்டியவை"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "முக்கியமானவை"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "மிக அழகானவை"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "அழகானவை"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "தேவைப்பட்டால்"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "gwen பார்வை"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "வேலைக்களம்"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "அலுவல் கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:27
+#, fuzzy, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr "அலுவல் கருவிகள்(விாிதாள், நிகழ்த்தி,வரைபடக் கருவிகள்)"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr "அலுவல் கருவிகள்(விாிதாள், நிகழ்த்தி,வரைபடக் கருவிகள்)"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "விளையாட்டுகள்"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "விளையாட்டுகள்"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "பல்லூடக கணினி"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "பல்லூடக இயக்கிகள்/உருவாக்க நிரல்கள்"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "இணையக் கணினி"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "நீங்கள் மின்னஞ்சல், மற்றும் இணையத்ைத மேலோட உதவுங்கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "வலையமைப்புக் கணினி(வேண்டி)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh முதலிய வலையமைப்புக் கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "உங்கள் கணினியை எளிதாக வடிவமைக்க உதவுங்கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "முனையக் கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "முனையம்,தொகுப்பாளர்கள், கோப்பு மேலாளர்கள் மற்றும் ஓடுகள்"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "உருவாக்கம்"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C மற்றும் C++ நூலக நிரல்கள்"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "உதவிநூல்"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "புத்தகங்கள் மற்றும் எப்படிச் செய்வது போன்ற உதவி நூல்"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "LSB- லினக்ஸ் தரக்கட்டுப்பாட்டுக்கு தேவையான நிரல்கள்."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "இணையத்தள சேவையகம்"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "கிரப்"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "கோலாப் சேவகன்"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "நெருப்புச்சுவர்/வழிப்படுத்தி"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "இணைய நுழைவாயில்"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/கோப்பு/_புதியது"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "மின்னஞ்சல் பரிமாறி"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "RAID இருந்து நீக்கு"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "NTP சேவையகம்"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS "
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "அச்சுப்ெபாறி சேவையகம்"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "ஒலிப் பரிமாறி"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "தரவுதளங்கள்"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL/MySQL தரவுத்தள பரிமாறிகள்"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "இணையதள/கோப்புப் பாிமாற்றம்"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "அப்பாச்சி, ftpd போன்ற பரிமாற்று நிரல்கள்"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "மின்னஞ்சல்"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "மின்னஞ்சல் பரிமாறி"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL/MySQL தரவுத்தள பரிமாறிகள்"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "வலையமைப்பக பரிமாறி"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS /சம்பா/பினாமி/ssh பரிமாறிகள்"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "வரைவியல்வழி சூழல்கள்"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Kசாளரமைப்பு பணிக்கணினி"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "Kசாளரமைப்பு- ஓர் பயன்படுத்துவதற்கு எளிதான வரைவியல்வழி மேலாளர்"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "குேனாம் பணிக்கணினி"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "ஓர் பயன்படுத்துவதற்கு எளிதான வரைவியல்வழி மேலாளர்"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "மேசைசெயலி"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "மற்ற வரைவியல்வழி மேலாளர்கள்"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "குேனாம், ஐஸ்விம் ஆகிய பயன்படுத்துவதற்கு எளிதான வரைவியல்வழி மேலாளர்கள்"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "உதவிக்கருவிகள்"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "சேவையகம்"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "வலைபடக் கருவி"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "பரிமாறி வடிவமைப்பு"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "வலையமைப்பாக்க வடிவமைப்பு "
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "மாண்ட்ேரக் கட்டுப்பட்டு மையம்"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "அச்சுப்ெபாறி \"%s\" வடிவமைப்பு ெவற்றியடையவில்ைல"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"பிழை நேர்ந்துள்ளது மன்னிக்கவும் எனக்கு என்ன செய்வதென்று தெரியவில்ைல\n"
+"தொடர்ந்து செல்வது உங்கள் பொறுப்பு"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"சில முக்கிய பொதிகள் நிறுவுவதில் பிழை நேர்ந்துள்ளது\n"
+"உங்கள் சிடி அல்லது சிடி இயக்கி பழுதடைந்து இருக்கலாம்.\n"
+"உங்கள் சிடியைச் சோதிக்க ஏற்கனவே இயங்குகின்ற கணினியில் \"rpm -qpl media/main/*.rpm என "
+"கட்டளையிடவும்\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "தற்ேபாது இந்த `%s நிலைக்கு செல்கிறோம்' \n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "மாண்ட்ேரக் லினக்ஸ் நிறுவல் %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr ""
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"உங்கள் கணினியில் வளங்கள் குறைவாக உள்ளதால்\n"
+"மாண்ட்ேரக் லினக்ஸ் நிறுவுவதில் பிழை ஏற்படலாம். நீங்கள் உரைவழி நிறுவலாம்,\n"
+"சிடியில் நிறுவ தொடங்கும் போது `F1' என அழுத்தி விட்டு, `text'. என அடிக்கவும்"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "பொதிகள் குழுத் தேர்வு"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "தனித்னி பொதியாக தேர்வுச் செய்"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "மெகா பைட்டில் மொத்த அளவு %d / %d"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "தவறான பொதி"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "வெளியீடு: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "அளவு: "
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "கிலோ பைட்டில் அளவு %d \n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "முக்கியத்துவம்: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "நீங்கள் இந்த பொதியை தேர்வு/நீக்க முடியாது"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "kdesu இல்ைல"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "இடமில்ைல என்பதால் நீங்கள் இந்த பொதியைத் தே`ர்வுச் செய்ய முடியாது"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "கிழ்கானும் பொதிகள் நிறுவுவதற்கு தேர்வுச் செய்யப்பட்டுள்ளது"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "கிழ்கானும் பொதிகள் நீக்கப்படுகிறது"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "இது கட்டாய பொதி. இதனை நீக்க முடியாது"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "இந்த பொதியை.நீக்க முடியாது. இது ஏற்கனவே நிறுவப்பட்டள்ளது"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "இந்த பொதியை.நீக்க முடியாது. இது நிகழ்நிலைப்படுத்த வேண்டிய பொதி"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "தானாக தேர்வுச் செய்யப்பட்டுள்ள பொதிகளைக் காட்டு"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "நிறுவு"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "பொதிகள் தேர்வு"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "பொதிகள் தேர்ைவ நிகழ்நிலைப் படுத்து"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "குறைந்தபட்ச நிறுவல்"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "நிரல் மேலாண்மை"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "நிறுவ வேண்டிய பொதிகளை தேர்வுச் செய்யுங்கள் "
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "நிறுவப்படுகிறது"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "விவரங்கள்"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "தேவைப்படும் நேரம்"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "கணக்கிடப்படுகிறது"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d பொதிகள்"
+msgstr[1] "%d பொதிகள்"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "உரை"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "வடிவமை"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "வடிவமைக்கப்படவில்ைல"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "பிழை நேர்ந்துள்ளது மன்னிக்கவும்"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "தயவுசெய்து உங்கள் விசைப்பலகை இட அமைவைத் தேர்வு செய்க "
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "உங்கள் பயன்பாட்டிற்கு உள்ள விசைப்பலகைகள் அனைத்தும் இங்கே கொடுக்கப்பட்டுள்ளன"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "நிறுவுதுல்/ேமம்படுத்தல்"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "இது நிறுவுதலா அல்லது ேமம்படுத்தலா?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr " %s ேமம்படுத்து"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "மறைக்குறியீட்டுச் சாவி"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE வடிவமைக்கப்படுகிறது..."
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"துவங்குநிரலை நிறுவ இடமில்ைல. நிறுவுதல் தொடரும். ஆனால் உங்கள் லினக்ஸ் இயக்க நிரலை துவக்க "
+"டிரேக்வட்ைட பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"துவங்குநிரலை நிறுவ இடமில்ைல. நிறுவுதல் தொடரும். ஆனால் உங்கள் லினக்ஸ் இயக்க நிரலை துவக்க "
+"டிரேக்வட்ைட பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"சிடியை மாற்றவும்\n"
+"\n"
+"தயவுசெய்து \"%s\" என பெயரிடப்பட்ட நிறுவல் சிடியை சிடிராமில் வைக்கவும். வைத்தவுடன் சரி "
+"என்ற பொத்தானை கிளிக் செய்யவும்\n"
+"இந்த சிடி இல்ைலயென்றால் நீக்கு என்ற பொத்தானை கிளிக் செய்தால் இந்த சிடியிலிருந்து நிறுவல் "
+"நின்றுவிடும்"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "இருக்கும் பொதிகள் பார்ைவயிடப்படுகின்றன"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"தயவுசெய்து உங்கள் பொதி தேர்ைவ ஒரு நெகிழ்வட்டில் சேமிக்கவும்.\n"
+"இவ்வாறு சேமிக்கும் முறை தானியங்கி-நிறுவலை ஒத்து இருக்கும்"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "ஏற்றி"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "சேமி"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "கோப்பை ஏற்று"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "நீங்கள் தேர்வு செய்துள்ள அளவு, இருக்குமிடத்ைத விட அதிகமாக உள்ளது"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "நிறுவல் முறை"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"நீங்கள் பொதி குழுக்கள் எதனையும் தேர்வு செய்யவில்ைல.\n"
+"தயவுசெய்து உங்களுக்கு தேவையானதை தேர்வு செய்யவும்"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X உடன் வரைவியல்வழியிடல பயன்படுத்த இது தேவை"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "உதவி நூல்களுடன் (குறைந்தபட்சம் இது தேவை!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "மிகச்சிறிய நிறுவல்(urpmi கூட கிடையாது)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "அனைத்து"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "நிறுவுதல் தொடங்குகிறது"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s பொதி நிறுவப்படுகிறது"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "பொதிகளை அடுக்குவதில் பிழை நேர்ந்துள்ளது"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "தொடர்ந்து செல்லலாமா?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "பொதித் தேர்ைவச் சேமி"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "பொதிகளை நிறுவுவதில் பிழை நேர்ந்துள்ளது"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "நிறுவியபின் சேய்ய வேண்டிய வடிவமைப்புகள்"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "புதுப்பித்தல்கள்"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"இந்த பொதிகள் உங்கள் இயக்க நிரல் வெளியிட்ட பின் வெளிவந்தவை\n"
+"இவை பொதுவாக பிழைகளை நீக்கவும், பாதுகாப்பு குறைபாடுகளை\n"
+"நீக்கவும் வெளியிடப்பட்டவை \n"
+"\n"
+"இவற்ைற நிறுவ உங்களுக்கு நல்ல இணையத்ெதாடர்பு தேவை\n"
+"\n"
+"இவற்ைற நிறுவ விருப்பமா ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "இணைப் பதிப்புதளங்களில் தற்ேபாதுள்ள பொதிகளை அறிய இணையதளம் தொடர்புகொள்ளப்படுகிறது"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr ""
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "வன்பொருள்"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "ஒலியட்ைட"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "உங்களிடம் ISA ஒலியட்ைட ஏதேனும் உள்ளனவா?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "\"sndconfig\" என்ற நிரல் மூலம் உங்கள் ஒலியட்ைடயை வடிவமைக்க முடியும்"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"ஒலியட்ைட ஏதும் கண்டுபிடிக்க முடியவில்ைல. டிரேக்வன்ெபாருள் மாயாவியை பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV அட்ைட"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "வரைவியல்வழி"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "வலையமைப்பும் இணையமும்"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "பயனர்குறிப்பு: "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "மறுவடிவமை"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "பாதுகாப்பு நிலை"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "நெருப்புச்சுவர்"
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "இப்போது துவக்கு"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "முடமாக்கப்பட்டுள்ளது"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "துவக்கம்"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s இல் %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "துவங்குநிரலை உருவாக்குகிறேன்..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr "தயவுசெய்து நிறுவுவதற்கு ஆங்கிலத்ைத பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "தயவுசெய்து நிறுவுவதற்கு ஆங்கிலத்ைத பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr "தயவுசெய்து நிறுவுவதற்கு ஆங்கிலத்ைத பயன்படுத்துங்கள்"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "வெற்று நெகிழ்வட்ைட %s இயக்கியில் உள்ளிடவும்"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "தானியங்கி நிறுவல்வட்ைட உருவாக்கவும்"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"சில செயல்கள் இன்னும் முடிக்கப்படவில்ைல\n"
+"\n"
+"நீங்கள் நிச்சயம் நிறுவுதலை விட்டு வெளியேற விரும்புகிறீர்களா?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "வாழ்த்துக்கள்"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "மறுெதாடக்கம்"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "தானியங்கி நிறுவல்வட்ைட உருவாக்கவும்"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"தானியங்கி நிறுவல்வட்டின் மூலம் நீங்கள் நிறுவலை ,\n"
+"முழுதும் தானாக நிறுவ வைக்கலாம்,\n"
+"இது இன்னும் பல கணினிகளில் இதே போல் நிறுவ,\n"
+"பயன்படலாம்,\n"
+",\n"
+"நீங்கள் மீண்டும் ஒருமுறை உங்கள் நிறுவலை மறு இயக்கம் செய்யலாம்,\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "மறு இயக்கம்"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "தானியங்கி"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "பொதித் தேர்ைவச் சேமி"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "உங்கள் மொழியைத் தேர்வுச் செய்க"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "அனுமதி"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "எலி"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "வன்தட்டு கண்டுபிடித்தல்"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "விசைப்பலகை"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "பாதுகாப்பு"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "வகிர் ெசய்தல்"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "நிறுவப்படுகிறது"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "நல்குாிமை"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "பயனர்கள்"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "வலையமைப்பு"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "துவங்குநிரல்"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X-ஐ வடிவமைக்கவும்"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "உரை"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "சேவைகள்"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "புதுப்பித்தல்கள்"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "வெளிச்ெசல்"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d பொதிகள்"
+#~ msgstr[1] "%d பொதிகள்"
+
+#~ msgid "%d packages"
+#~ msgstr "%d பொதிகள்"
+
+#~ msgid "Language"
+#~ msgstr "உங்கள் மொழியைத் தேர்வுச் செய்க"
+
+#~ msgid "License"
+#~ msgstr "அனுமதி"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "நிறுவல் வகையைத் தேர்வுச் செய்க"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "கணக்கிடப்படுகிறது"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "நிறுவ வேண்டிய பொதிகளை தேர்வுச் செய்யுங்கள்"
+
+#~ msgid "Users"
+#~ msgstr "பயனர்கள்"
+
+#~ msgid "Networking"
+#~ msgstr "வலையமைப்பு"
+
+#~ msgid "Configure X"
+#~ msgstr "X-ஐ வடிவமைக்கவும்"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "உங்கள் கருவிற்கு இணையான கூறுகளை காணமுடியவில்ைல (%s கோப்ேபா கானவில்ைல), இதற்கு "
+#~ "அர்த்தம் நீங்கள் தவறான நிறுவுதட்ைட பயன்படுத்துகிறீர்கள் (தயவுசெய்து புதிய நிறுவுதட்ைட "
+#~ "உருவாக்குங்கள்)"
diff --git a/perl-install/install/share/po/tg.po b/perl-install/install/share/po/tg.po
new file mode 100644
index 000000000..0b0f9f49e
--- /dev/null
+++ b/perl-install/install/share/po/tg.po
@@ -0,0 +1,1643 @@
+# translation of DrakX-tg.po to Tajik
+# translation of DrakX-tg.po to Тоҷикӣ
+# Copyright (C) 2001,2002,2003,2004, 2005 Free Software Foundation, Inc.
+# 2004, infoDev, a World Bank organization
+# 2004, Khujand Computer Technologies, Inc.
+# 2004, KCT1, NGO
+# 2005, Youth Opportunities, NGO
+# Abrorova Hiromon, 2004
+# Roger Kovacs <rkovacs@khujand.org>, 2003.
+# Dilshod Marupov <dma165@hotmail.com>, 2003, 2004.
+# Murod Marupov <abdullovich@khujand.org>, 2004.
+# Bahromhon Bobojonov <bahrambabajanov@hotmail.com>, 2004.
+# Victor Ibragimov <youth_opportunities@tajikngo.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tg\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-09-17 16:03+0500\n"
+"Last-Translator: Victor Ibragimov <youth_opportunities@tajikngo.org>\n"
+"Language-Team: Tajik\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Шумо боз дигар расонаи иловагиро доред?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Шабака (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Шабака (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Шабакаи (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL-и оина?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Барои ба даст даровардани рӯйхати қуттиҳои дастрас пайвастшавӣ ба Mandriva "
+"Linuxweb site ба роҳ монда шудааст..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Барои ба даст даровардани рӯйхати қуттиҳои дастрас пайвастшавӣ ба Mandriva "
+"Linuxweb site ба роҳ монда шудааст..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Оинаро интихоб намоед, ки аз он қуттиҳоро гирифта мешавад"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Танзими NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Феҳрист"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Пайдо кардани файли hdlist дар ин оина нашуда истодааст."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr ""
+"Ҷустуҷи бастаи барномаҳои аллакай коргузорӣ шуда иҷро шуда истодааст..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Ҷустуҷӯи қуттиҳо барои нав намудан иҷро мешавад..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Шумо хидматрасон(ҳо)и зеринро интихоб намудаед: %s\n"
+"\n"
+"\n"
+"Мувофиқи пешфарз ин хидматрасонҳо фаъол карда шудаанд. Онҳо ягон муаммоҳои\n"
+"маълуми бо бехатарӣ вобаста бударо надоранд, лекин муаммоҳои нав пайдо шуда\n"
+"метавонад. Дар ин ҳолат шумо бояд онҳоро бо қадри имкон ба таври фаврӣ нав\n"
+"намоед.\n"
+"\n"
+"\n"
+"Шумо дар ҳақиқат ин хидматрасонҳоро коргузорӣ карданӣ ҳастед?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Барои имконияти густариши системаи шумо бастаи барномаҳои зерин, хориҷ карда "
+"мешаванд: %s\n"
+"\n"
+"\n"
+"Дар ҳақиқат мехоҳед, ки ин бастаи барномаҳоро хориҷ кунед?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "- %s хориҷ карда шуд\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Шабака"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Илтимос интихоб кунед"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл аллакай вуҷуд дорад. Истифода барем?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Рухсат инкор шуд"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "миёнаи иловашуда %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Сохтани экранаксҳо пеш аз тақсимкунӣ номумкин"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "ЭкранАксҳо баъд аз коргузориш дар %s дастрас мешаванд"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Коргузорӣ шуда истодааст"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Батанзимдарорӣ"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Шумо бояд %s-ро шаклбандӣ намоед"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Якчанд сахтафзор дар компютери шумо барои кор кардан ба ронандаҳои ``худ'' "
+"мӯҳтоҷ аст.\n"
+"Шумо ахборотро оиди онҳо дар %s ёфта метавонед"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Шабака оварда мешавад"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Шабака фаромада истодааст"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Файлҳо фиристода шуда истодааст..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Муаяйнкунӣ дар раванди иҷроиш қарор дорад"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "бояд дошта бошад"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "ҳатмӣ"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "хеле хуб"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "хуб"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "мумкин аст"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "НамоишиGwen"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Истгоҳи корӣ"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Истгоҳи Кории Идораӣ"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Барномаҳои идорӣ: пардозандаҳои матнӣ (OpenOffice.org Writer, Kword), "
+"ҷадвалҳои густурда (OpenOffice.org Calc, Kspread), азназаргузарҳои PDF ва "
+"ғайра"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Барномаҳои идораӣ: пардозандаи матнӣ (kword, abiword), ҷадвалҳои густурда "
+"(kspread, gnumeric), pdf баррасҳо ва ғайра"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Истгоҳи бозӣ"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Барномаҳои шавқовар: аркадаҳо, бозиҳои рӯи мизӣ, стратегия ва ғайра"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Истгоҳи бисёрмуҳита"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Барномаҳо барои бозикунии/таҳрири овоз ва видео"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Истгоҳи Интернет"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Маҷмӯи асбобҳо барои хондан ва фиристодани пост ва ахборот (mutt, tin..) ва "
+"баррасии Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Компютери Шабакавӣ (мизоҷ)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Мизоҷон барои қарордодҳои гуногун, аз он ҷумла ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Асбобҳо барои осоннамоии танзими компютери шумо"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Асбобҳои Нозиргоҳ"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Муҳаррирон, пардозандаи фармонҳо, асбобҳои файлӣ, поёнаҳо"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Коркард"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Китобхонаи коркарди C ва C++, барномаҳо ва файлҳои дохилшаванда"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Санадсозӣ"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Китобҳо ва Чӣ тавр дар Linux ва Таъминоти Барномавии Озод"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Манбаи Низоммеъёри Linux. Пуштибонии замимаҳои коргардонони сеюм"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Хидматгори Веб"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Хидматрасони Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Фейрвол/Масиргузор"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Даричаи тадохули Интернет"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Пост/Ахборот"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Хидматрасони постии Postfix, Inn хидматрасони ахборотӣ"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Хидматрасони Феҳрист"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Хидматрасони FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Номи Доменӣ ва Хидматрасони Ахбороти Шабакавӣ"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Хидматрасони Истифодабарандаи Файл ва Чопгар"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Хидматрасони NFS, хидматрасони Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Манбаи маълумот"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ва MySQL Хидматрасони Манбаи Додаҳо"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Пост"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Хидматрасони пости Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Хидматрасони манбаи маълумоти PostgreSQL ё MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Хидматрасони Компютери Шабакавӣ"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS хидматрасон, SMB хидматрасон, Proxy хидматрасон, ssh хидматрасон"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Муҳити Графикӣ"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Истгоҳи кории KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Муҳити Мизи Корӣ, ин муҳити графикии асосӣ бо маҷмӯи асбобҳои ҳамроҳкунанда"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Истгоҳи кории Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Муҳити графикӣ бо маҷмӯи замимаҳо ва мизи кории бо корванд иртиботи дӯстона "
+"дошта"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Мизи Кории Ғалатёб"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Дигар Мизҳои Кории Графикӣ"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, ва ғайра"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Дастгоҳҳо"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Хидматгори SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Батанзимдарори Хидматрасони Дурдасти Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Дастгоҳҳои Шабака/Дидабонӣ"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Дидабонии асбобҳо, ҳисоботи ҷараёнҳо, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Устодҳои Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Устод барои танзимдарории хидматрасон"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Хатогие пайдо шуд, аммо ман намедонам, ки чӣ тавр онро дуруст кор карда "
+"бароям.\n"
+"Мувофиқи таваккали худ давом диҳед."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Баъзе бастаи барномаҳои муҳим дуруст коргузорӣ нашудаанд.\n"
+"Ё гардонандаи cdrom ё диски фишурда хароб гаштаанд.\n"
+"Диски дар компютер гузошташударо ба воситаи фармони \"rpm -qpl media/main/*."
+"rpm санҷед\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Гузориш ба қадами `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Коргузории Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> байни элементҳо"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Дар системи шумо захира кам аст. Ҳангоми коргузорӣ намудани Mandriva Linux "
+"шумо метавонед бо муаммоҳо дучор гардед. Агар ин рӯй диҳад, онгоҳ шумо "
+"метавонед коргузории матниро ба амал оред. Ҳангоми худборкунии CDROM ба`F1' "
+"ангушт занед ва сониян ба `text' дохил шавед."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Интихоби Гурӯҳи Қуттиҳо"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Интихоби қуттиҳои алоҳида"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Андозаи умумӣ: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Қуттии бад"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Нусха: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Ҳаҷм: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Ҳатмӣ: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Шумо интихоб/рад кардани ин бастаи барномаҳоро, карда наметавонед"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "мувофиқи мавҷуд набудани %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "аз сабаби %s-и қонеънагашта"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "барои пешравӣ кӯшиш намудан %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "Барои нигоҳ доштани %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Шумо ин қуттиро интихоб карда наметавонед, зеро барои кор гузоштани он ҷой "
+"кофӣнест"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Қуттиҳои зерин коргузорӣ хоҳад шуд"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Қуттиҳои навбатӣ бояд хориҷ гардад"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ин қуттии зарур мебошад, онро бекор карда намешавад"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr ""
+"Шумо интихоби ин бастаи барномаҳоро рад карда наметавонед. Он аллакай "
+"коргузорӣ шудааст"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Шумо интихоби ин қуттиро бекор карда наметавонед. он бояд нав гардад"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ба таври автоматӣ қуттиҳои интихобшударо нишон диҳед"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Коргузоштан"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Интихоби қуттӣ"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Интихоби қуттиҳо нав карда мешавад"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Коргузории хурдтарин"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Идоракунии Нармафзор"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Бастаи барномаҳоеро, ки коргузорӣ кардан мехоҳед, интихоб намоед"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Коргузорӣ шуда истодааст"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Тафсилот нест"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Вақти боқимонда "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Баҳодиҳии тахминӣ"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d қуттиҳо"
+msgstr[1] "%d қуттиҳо"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Ҷамбаст"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Танзим додан"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "танзимдода нашуда"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Расонаҳои коргузории зерин пайдо карда шудаанд.\n"
+"Агар баъзеи онҳоро партофтан хоҳед, онҳоро дар айни замон интихоб накарда "
+"метавонед."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Хатогӣ рух дод"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Лутфан, ороиши забонакро интихоб кунед."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Дар ин ҷо рӯйхати пурраи забонакҳои имконпазир дода шудааст"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Кор гузоштан/Афзоиш додан"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ин коргузорӣ аст ё навсозӣ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Афзоиш %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Дагмаи рамздошта барои %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE ба танзим дароварда мешавад"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Ҷои холӣ барои барномаи худборшавии 1МБ кофӣ нест! Коргузорӣ давом хоҳад "
+"кард, аммо барои худборшавии систем ба шумо лозим аст, то ки қисми "
+"худборшавии авваларо дар DiskDrake офаред"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Ба шумо лозим аст, ки худборшавии аввали PPC PReP Boot-ро офаред! Коргузорӣ "
+"давом хоҳад кард, аммо барои худборшавии систем ба шумо лозим аст, то ки "
+"қисми худборшавии авваларо дар DiskDrake офаред"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Диски Фишурдаи худро иваз кунед!\n"
+"\n"
+"Марҳамат карда Cd-Rom-и нишонааш \"%s\"-ро ба гардонандаи худ ҷойгир кунед "
+"ва баъд Ok-ро пахш кунед.\n"
+"Агар шумо онро надошта бошед, барои радкунии коргузорӣ аз ин Cd-Rom, Бекор "
+"карданро пахш кунед."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Қуттиҳои дастрасшаванда ҷустуҷӯ карда мешавад..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Лутфан интихоби кор андохтан ё нигоҳ доштанро дар дискет ба роҳ монед.\n"
+"Шаклбандӣ ҳамон хел аст ҳамчун дискетҳое ки бо auto_install офарида шудааст."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Боркунӣ"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Нигоҳ доштан"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Пурбокунии файлҳо"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Андозаи интихобшуда аз ҷои дастрасшуда зиёд аст"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Навъи коргузорӣ"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Шумо ягон гурӯҳи қуттиҳоро интихоб накардед.\n"
+"Лутфан, коргузории пастарини дилхоҳатонро интихоб намоед:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Бо X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Бо санадсозии асосӣ (маслиҳат дода мешавад!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Дар ҳақиқат коргузории хурдтарин (алалхусус ғайри urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Ҳама"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Коргузорӣ тайёр шуда истодааст"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr ""
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Ҳангоми ба даст даровардани қуттиҳо хатогие рӯй дод:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Ба ҳар ҳол давом диҳам?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Интихоби қуттиҳоро нигоҳ доштан"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Ҳангоми коргузории қуттиҳо хатогӣ пайдо гардид:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Баъд аз пайкарабандӣ коргузорӣ мегардад"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Нав кардан"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Акнун шумо имкон доред, то ки қуттиҳои навшударо фаровир намоед. Ин "
+"қуттиҳои\n"
+"мазкур баъди ба амал овардани тақсимот нав карда шуда буд. Онҳо метавонад\n"
+"собитҳоро барои бехатарӣ ё ин ки хатогиҳо дошта бошад.\n"
+"\n"
+"Барои ба амал овардани фаровир ба шумо лозим аст, то ки алоқаи ҳозираи "
+"интернетро\n"
+"истифода баред.\n"
+"\n"
+"Оё шумо хоҳиши коргузорӣ намудани ин навигариҳо ҳастед?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Пайвастшавӣ ба оина барои гирифтани рӯйхати қуттиҳои дастрас иҷро мешавад..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Имконияти пайвастшавӣ бо оинаи %s мавҷуд нест"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Сахтафзор"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Корти овоздор"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Шумо карти садои ISA доред?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Барои батанзимдарории корти овозии шумо баъди коргузорӣ \"alsaconf\" ё "
+"\"sndconfig\"-ро корандозӣ намоед"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Корти овозӣ муайян нагардид. \"harddrake\"-ро баъди коргузорӣ кӯшиш намоед"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV корт"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Интерфейси графикӣ"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Шабака ва Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Боваринок"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "танзимшуда"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Сатҳи Амният"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Фейрвол"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "фаъолшуда"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ғайрифаъол"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s дар %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Шумо X-ро ба танзим надаровардаед. Шумо дар ҳақиқат инро мехоҳед?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Корандози худборшави аввала тайёр мешавад..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Зоҳиран шумо World-и Кӯҳна ё мошинаи номаълумро доред, корандози худборшави "
+"yaboot барои шумо кор намекунад. Коргузорӣ давом хоҳад кард, вале шумо бояд "
+"BootX ё ин ки воситаҳои дигарро барои худборшавии мошини худ истифода баред. "
+"Нишонванди ҳаста барои решаи fs ин: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Мехоҳед, ки aboot-ро истифода баред?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Хатогии коргузории aboot, \n"
+"бо мақсади тезонидани коргузорӣ кӯшиш намудан, ҳатто агар ин қисми якумро "
+"нобуд созад?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Дар ин сатҳи бехатарӣ дастрасӣ ба файлҳо дар қисматҳои Windows таҳо ба "
+"идоракунанда иҷозат дода мешаванд."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Дискети холиро ба гардон дохил намоед %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Диски нарми худкоргузорӣ офарида шуда истодааст..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Якчанд марҳила ба итмом нарасидааст.\n"
+"\n"
+"Шумо дар ҳақиқат баромадан мехоҳед?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Табрикот"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Бозхудборшавӣ"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Дискети коргузории автоматиро офаридан"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Мувофиқи хоҳиш коргузории автоматӣ мумкин ба таври\n"
+"пурра автоматикона мешавад\n"
+"дар ин ҳолат он диски сахтро нусхабардорӣ хоҳад намуд!!\n"
+"(ба коргузорӣ намудан ба дигар компютер пешбинӣ шудааст).\n"
+"\n"
+"Мумкин, шумо коргузории такрориро афзалтар шуморед.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Такрор намудан"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматикунонида"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Интихоби қуттиҳоро нигоҳ доштан"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Забон"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лисензия"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Муш"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Муаяйн намудани ронандаи сахт"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Забонак"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Амният"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Ҷузъбандӣ"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Коргузорӣ шуда истодааст"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Аслшиносӣ"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Корвандҳо"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Шабака"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Корандози худборшав"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Танзими X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ҷамбаст"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Хидматрасонҳо"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Нав кардан"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Хуруҷ"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d қуттиҳо"
+#~ msgstr[1] "%d қуттиҳо"
+
+#~ msgid "%d packages"
+#~ msgstr "%d қуттиҳо"
+
+#~ msgid "Language"
+#~ msgstr "Забон"
+
+#~ msgid "License"
+#~ msgstr "Лисензия"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Интихоби синфи коргузорӣ"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Баҳодиҳии тахминӣ"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Барои коргузорӣ қуттиҳоро интихоб намоед"
+
+#~ msgid "Users"
+#~ msgstr "Корвандҳо"
+
+#~ msgid "Networking"
+#~ msgstr "Шабака"
+
+#~ msgid "Configure X"
+#~ msgstr "Танзими X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Иҷозат барои дастёбӣ ба модули ҳаста, ки ба ҳастаи шумо мутобиқат мекунад "
+#~ "(файли %s партофта шудааст), гирифта нашуда истодааст, одатан ин маънои "
+#~ "онро дорад, ки диски нарми худборшавии шумо бо миёнаи Коргузорӣ ҳамзамон "
+#~ "карда нашудааст (марҳамат карда диски нарми худборшавии навтар офаред)"
diff --git a/perl-install/install/share/po/th.po b/perl-install/install/share/po/th.po
new file mode 100644
index 000000000..e28af886f
--- /dev/null
+++ b/perl-install/install/share/po/th.po
@@ -0,0 +1,1542 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# Wachara Chinsettawong <wachara@yahoo.com>, 2001
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2001-09-10 14:24GMT+7\n"
+"Last-Translator: Wachara Chinsettawong <wachara@yahoo.com>\n"
+"Language-Team: Thai <th@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.5\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "คุณมีอันอื่นๆอีกหรือไม่?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "ซีดี-รอม"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Network interface"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Network interface"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, fuzzy, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "กำลังติดต่อกับมิลเรอร์ไซต์เพื่อหารายการของแพ็คเก็จที่มีให้"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "กำลังติดต่อกับมิลเรอร์ไซต์เพื่อหารายการของแพ็คเก็จที่มีให้"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "เลือกมิลเรอร์ไซต์ที่จะใช้ในการดาวน์โหลดแพ็คเก็จ"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "สารบัญ"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Adapter %s: %s"
+
+#: any.pm:376
+#, fuzzy, c-format
+msgid "Looking at packages already installed..."
+msgstr "คุณไม่สามารถไม่เลือกแพกเกจนี้เพราะมันได้ถูกติดตั้งไปแล้ว"
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "กำลังหาแพ็คเก็จที่จะทำการอัพเกรด"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "แพ็คเก็จเหล่านี้กำลังจะถูกติดตั้ง"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "ระบบเครือข่าย"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "กรุณาเลือก"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "ไฟล์มีอยู่แล้ว ต้องการใช้?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "สิทธิการทำงานถูกปฎิเสท"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "อุปกรณ์ที่ถูกเพิ่มเข้ามา %s"
+
+#: any.pm:1294
+#, fuzzy, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "โปรแกรมไม่สามารถเพิ่มพาร์ติชั่นได้อีก"
+
+#: any.pm:1301
+#, fuzzy, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "คุณสามารถเลือกภาษาอื่นซึ่งจะสามารถใช้ได้หลังติดตั้ง"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "กำลังติดตั้ง"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "ปรับแต่งค่า"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr ""
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"hardware บางชนิดต้องการ driver พิเศษ\n"
+"คุณสามารถหาข้อมูลได้จาก: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "ระบบเน็ตเวิร์กกำลังจะทำงาน"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "ระบบเน็ตเวิร์กกำลังจะหยุดทำงาน"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "บันทึกลงไฟล์"
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "ค้นหาเจอบน port %s"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "ต้องมี"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "สำคัญ"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "ดีมาก"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "ดี"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "อาจจะ"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr ""
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, fuzzy, c-format
+msgid "Workstation"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:33
+#, fuzzy, c-format
+msgid "Game station"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:37
+#, fuzzy, c-format
+msgid "Multimedia station"
+msgstr "Multimedia - เขียน CD "
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:43
+#, fuzzy, c-format
+msgid "Internet station"
+msgstr "การเชื่อมต่อกับ Internet แบบ sharing"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "เครื่องมือในการอ่านและส่ง mail และ news (pine, mutt, tin..) และท่องอินเตอร์เน็ต"
+
+#: share/meta-task/compssUsers.pl:49
+#, fuzzy, c-format
+msgid "Network Computer (client)"
+msgstr "เครื่องพิมพ์ในระบบ Network (Socket)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Clients for different protocols including ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "เครืองมือที่ช่วยในการปรับแต่งเครื่องชองคุณให้ง่ายขึ้น"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "พัฒนาซอฟท์แวร์ (Development)"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "คู่มือ"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, fuzzy, c-format
+msgid "Web Server"
+msgstr "เซิร์ฟเวอร์"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "เวิร์กกรุ๊ป (workgroup)"
+
+#: share/meta-task/compssUsers.pl:89
+#, fuzzy, c-format
+msgid "Kolab Server"
+msgstr "เซิร์ฟเวอร์ NIS"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, fuzzy, c-format
+msgid "Internet gateway"
+msgstr "การติดต่อ internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/ไฟล์/_ใหม่"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "ชื่อเซิร์ฟเวอร์ของพรินเตอร์"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "เรียกคืนจากแผ่นฟล้อปปี้"
+
+#: share/meta-task/compssUsers.pl:104
+#, fuzzy, c-format
+msgid "FTP Server"
+msgstr "เซิร์ฟเวอร์ NIS"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "ใช้ NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "ชื่อโดเมน"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "ชื่อเซิร์ฟเวอร์ของพรินเตอร์"
+
+#: share/meta-task/compssUsers.pl:113
+#, fuzzy, c-format
+msgid "NFS Server, Samba server"
+msgstr "เซิร์ฟเวอร์ NIS"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "ฐานข้อมูล"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "จดหมาย"
+
+#: share/meta-task/compssUsers.pl:126
+#, fuzzy, c-format
+msgid "Postfix mail server"
+msgstr "ชื่อเซิร์ฟเวอร์ของพรินเตอร์"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:137
+#, fuzzy, c-format
+msgid "Network Computer server"
+msgstr "เครื่องพิมพ์ในระบบ Network (Socket)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "การทำงานแบบกราฟฟิก"
+
+#: share/meta-task/compssUsers.pl:146
+#, fuzzy, c-format
+msgid "KDE Workstation"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:151
+#, fuzzy, c-format
+msgid "GNOME Workstation"
+msgstr "Workstation ที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "พื้นที่ทำงาน"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Graphical Desktops อื่นๆ"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "อรรถประโยชน์"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, fuzzy, c-format
+msgid "SSH Server"
+msgstr "เซิร์ฟเวอร์ NIS"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "อุปกรณ์"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "การคอนฟิก Internet"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "การคอนฟิกระบบเน็ตเวิร์ก"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "Control Center"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "การคอนฟิกเครื่องพิมพ์"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"มีความผิดพลาดเกิดขึ้น แต่โปรแกรมไม่สามารถแก้ไขได้\n"
+"หากทำงานต่ออาจเกิดความเสียหายได้"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"แพ็กเกจสำคัญบางอย่างไม่ได้ถูกติดตั้งอย่างเรียบร้อย\n"
+"cdrom หรือ cdrom drive ของคุณอาจมีการเสียหาย\n"
+"กรุณาตรวจสอบ cdrom ในเครื่องคอมพิวเตอร์ที่มีการติดตั้งแล้ว\n"
+"โดยใช้ \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "เข้าสู่ขั้นตอน `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "การติดตั้งลีนุกซ์-แมนเดรก %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> ระหว่างตัวเลือก"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"เครื่องของคุณมีทรัพยากรค่อนข้างต่ำคุณอาจมีปัญหาติดตั้ง \n"
+"Mandriva Linux ถ้าเป็นเช่นนั้น กรุณาทดลองติดตั้งแบบ text \n"
+"กรุณากด F1 ขณะ boot จาก cdrom แล้วพิมพ์ text"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "เลือกกลุ่มแพ็คเก็จ"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Individual package selection"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "ขนาดรวม: %d / %d MB "
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "แพ็คเก็จชำรุด"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "เวอร์ชัน:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "ขนาด:"
+
+#: steps_gtk.pm:316
+#, fuzzy, c-format
+msgid "%d KB\n"
+msgstr "ขนาด: %d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "ความสำคัญ:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "คุณไม่สามารถเลือก/ไม่เลือกแพกเกจนี้"
+
+#: steps_gtk.pm:355
+#, fuzzy, c-format
+msgid "due to missing %s"
+msgstr "ไม่มี kdesu "
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "คุณไม่สามารถเลือก package นี้เนื่องจากคุณมีพื้นที่ไม่เพียงพอ"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "แพ็คเก็จเหล่านี้กำลังจะถูกติดตั้ง"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "แพ็คเก็จเหล่านี้กำลังจะถูกลบ"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "นี่คือแพกเกจที่ต้องติดตั้ง ไม่สามารถไม่เลือก"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "คุณไม่สามารถไม่เลือกแพกเกจนี้เพราะมันได้ถูกติดตั้งไปแล้ว"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "คุณไม่สามารถไม่เลือกแพกเกจนี้ มันจำเป็นที่จะต้องถูก upgrade"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr ""
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "ติดตั้ง"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "เลือกกลุ่มแพ็คเก็จ"
+
+#: steps_gtk.pm:406
+#, fuzzy, c-format
+msgid "Updating package selection"
+msgstr "บันทึกกลุ่มแพ็คเก็จที่เลือก"
+
+#: steps_gtk.pm:411
+#, fuzzy, c-format
+msgid "Minimal install"
+msgstr "ออกจากการติดตั้ง"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "การบริหารโปรแกรม"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "เลือกแพ็คเก็จที่คุณต้องการติดตั้ง"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "กำลังติดตั้ง"
+
+#: steps_gtk.pm:468
+#, fuzzy, c-format
+msgid "No details"
+msgstr "รายละเอียด"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "เวลาที่เหลือ "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "การประเมิน"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "แพ็คเก็จ %d ชุด"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "รวมความ"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "การปรับแต่ง"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "not configured"
+msgstr "คอนฟิกใหม่"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "มีปัญหาเกิดขึ้น"
+
+#: steps_interactive.pm:97
+#, fuzzy, c-format
+msgid "Please choose your keyboard layout."
+msgstr "คุณต้องการเลือกคีย์บอร์ดเลย์เอ้าท์แบบใด "
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "ต่อไปนี้คือ keyboard ที่ใช้ได้"
+
+#: steps_interactive.pm:128
+#, fuzzy, c-format
+msgid "Install/Upgrade"
+msgstr "ติดตั้ง/อัพเกรด "
+
+#: steps_interactive.pm:129
+#, fuzzy, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "นี่เป็นการติดตั้งหรือการอัพเกรด"
+
+#: steps_interactive.pm:135
+#, fuzzy, c-format
+msgid "Upgrade %s"
+msgstr "Update"
+
+#: steps_interactive.pm:148
+#, fuzzy, c-format
+msgid "Encryption key for %s"
+msgstr "รหัสผ่านไม่เหมือนกัน"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "คอนฟิก IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"เปลี่ยน CD-ROM\n"
+"\n"
+"กรุณาใส่ CD-ROM \"%s\" และกด OK\n"
+"ถ้่าคุณไม่มี กรุณากด ยกเลิก (cancel) เพื่อหลีกเลี่ยงการติดตั้งจาก CD-ROM นี้"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "กำลังหาแพ็คเก็จที่มีอยู่"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "โหลด"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "บันทึก"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "เปิดแฟ้ม"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr ""
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr ""
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr ""
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr ""
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr ""
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "ทั้งหมด"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "กำลังเตรียมการติดตั้ง"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "กำลังติดตั้งแพ็คเก็จ %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "มีปัญหาการลำดับของแพ็คเก็จ:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "ทำงานต่อหรือไม่?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "บันทึกกลุ่มแพ็คเก็จที่เลือก"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "มีปัญหาการติดตั้งของแพ็คเก็จ:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "การคอนฟิกหลังการติดตั้ง"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr ""
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "กำลังติดต่อกับมิลเรอร์ไซต์เพื่อหารายการของแพ็คเก็จที่มีให้"
+
+#: steps_interactive.pm:666
+#, fuzzy, c-format
+msgid "Unable to contact mirror %s"
+msgstr "ไม่สามารถ forkได้.%s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "ฮาร์ดแวร์"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Sound card"
+
+#: steps_interactive.pm:809
+#, fuzzy, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "คุณมีอันอื่นๆอีกหรือไม่?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV card"
+
+#: steps_interactive.pm:833
+#, fuzzy, c-format
+msgid "Graphical interface"
+msgstr "ให้เป็นกราฟฟิคเมื่อเริ่มต้น"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "เน็ตเวิร์คกับอินเตอร์เน็ต"
+
+#: steps_interactive.pm:851
+#, fuzzy, c-format
+msgid "Proxies"
+msgstr "Profile: "
+
+#: steps_interactive.pm:852
+#, fuzzy, c-format
+msgid "configured"
+msgstr "คอนฟิกใหม่"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "ระดับความปลอดภัย"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr ""
+
+#: steps_interactive.pm:880
+#, fuzzy, c-format
+msgid "activated"
+msgstr "แอ็คทีฟ"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ไม่ใช้งาน"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "บู๊ต"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s บน %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "กำลังเตรียมบูตโหลดเดอร์"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "คุณต้องการใช้ aboot หรือไม่"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"การติดตั้ง aboot ล้มเหลว\n"
+"พยายามติดตั้งถึงแม้พาติชั่นแรกอาจจะเสียหาย?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "ให้ใส่แผ่นฟล้อปปี้ลงในไดรว์ %s "
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "กำลังเตรียมการติดตั้งลงบน floppy"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"ขั้นตอนบางขั้นตอนไม่สมบูรณ์\n"
+"\n"
+"คุณต้องการออกจากการติดตั้งจริงๆหรือไม่?"
+
+#: steps_interactive.pm:1055
+#, fuzzy, c-format
+msgid "Congratulations"
+msgstr "ขอแสดงความยินดี"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr ""
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "สร้างfloppyสำหรับการติดตั้งแบบออโตเมติก"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"การติดตั้งแบบออโตเมติกสามารถทำงานแบบเต็มรูปแบบหากต้องการ\n"
+"ในกรณีนั้นมันจะใช้ harddisk ทั้งหมด\n"
+"(มันเหมาะกับการติดตั้งบนเครื่องอื่น)\n"
+"คุณอาจอยากกลับไปเริ่มต้นติดตั้งใหม่\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "เรียกอีกครั้ง"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "อัตโนมัติ"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "บันทึกกลุ่มแพ็คเก็จที่เลือก"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "เลือกภาษาที่คุณใช้"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "สัญญาอนุญาต"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "การตรวจหาฮาร์ดไดรว์"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "คีย์บอร์ด"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "ระบบความป้องกัน"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr ""
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "กำลังติดตั้ง"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "การตรวจสอบสิทธิ์การใช้งาน"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "ผู้ใช้"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "ระบบเครือข่าย"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr ""
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "คอนฟิกระบบ X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "รวมความ"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "บริการ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr ""
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "เลิกทำงาน"
+
+#~ msgid "%d packages"
+#~ msgstr "แพ็คเก็จ %d ชุด"
+
+#~ msgid "Language"
+#~ msgstr "เลือกภาษาที่คุณใช้"
+
+#~ msgid "License"
+#~ msgstr "สัญญาอนุญาต"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "เลือกชุดการติดตั้ง"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "การประเมิน"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "เลือกแพ็คเก็จ"
+
+#~ msgid "Users"
+#~ msgstr "ผู้ใช้"
+
+#~ msgid "Networking"
+#~ msgstr "ระบบเครือข่าย"
+
+#~ msgid "Configure X"
+#~ msgstr "คอนฟิกระบบ X"
diff --git a/perl-install/install/share/po/tl.po b/perl-install/install/share/po/tl.po
new file mode 100644
index 000000000..626ad632f
--- /dev/null
+++ b/perl-install/install/share/po/tl.po
@@ -0,0 +1,1628 @@
+# translation of DrakX-tl.po to Filipino
+# translation of DrakX.po to Filipino
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Arys P. Deloso <arys@deloso.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:35+0200\n"
+"Last-Translator: Arys P. Deloso <arys@deloso.org>\n"
+"Language-Team: Filipino <salinpinoy@comitus.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Mayroon ba kayong isa pa?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Network %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Network %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Nakikipag-alam sa web site ng Mandriva Linux para makuha ang talaan ng mga "
+"available na mirror..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Nakikipag-alam sa web site ng Mandriva Linux para makuha ang talaan ng mga "
+"available na mirror..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Pumili ng mirror kung saan kukunin ang mga package"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Directory"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Hindi mahanap ang %s sa %s"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Naghahanap ng mga package na naka-install..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Naghahanap ng mga package na i-a-upgrade..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Pinili ninyo ang mga sumusunod na mga server: %s\n"
+"\n"
+"\n"
+"Bilang default, ang mga server ay papaganahin. Wala silang kilalang "
+"problema\n"
+"sa seguridad, pero ilang mga bago ay maaaring makita. Kung gayon, dapat\n"
+"ninyong tiyakin na mag-upgrade ng pinakamaagap.\n"
+"\n"
+"\n"
+"Gusto ninyo talagang i-install ang mga server na ito?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Ang mga sumusunod na mga package ay tatanggalin upang ma-upgrade ang inyong "
+"sistema: %s\n"
+"\n"
+"\n"
+"Gusto ninyo ba talagang tanggalin ang mga package na ito?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "- %s ay tinanggal\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr ""
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "FTP"
+msgstr "gFTP"
+
+#: any.pm:1140
+#, fuzzy, c-format
+msgid "NFS"
+msgstr "PFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Network"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Pumili ka"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Mayroon ng file. Gamitin ito?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Pahintulot ipinagkaila"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "idinagdag ang medium na %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Hindi makagawa ng mga screenshot bago mag-partisyon"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ang mga screenshot ay magiging available matapos ang install sa %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Nag-i-install"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Configuration"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Dapat ninyo ring i-format ang %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Ilang hardware sa inyong computer ay nangangailangan ng ``proprietary'' (may "
+"nagmamay-ari) na driver para gumana.\n"
+"Makakahanap kayo ng ilang inpormasyon tungkol sa kanila sa: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ginagawang \"up\" ang network"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ginagawang \"down\" ang network"
+
+#: media.pm:697 media.pm:706
+#, fuzzy, c-format
+msgid "Downloading file %s..."
+msgstr "Ipinapadala ang mga file..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Tumatakbo ang pagtitiktik"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "dapat magkaroon"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "importante"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "masyadong mainam"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "mainam"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "baka sakali"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Workstation"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Pang-opisina na Workstation"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Mga pang-opisinang program: mga wordprocessor (OpenOffice.org Writer, "
+"Kword), mga spreadsheet (OpenOffice.org Calc, Kspread), mga pdf viewer, etc"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Mga pang-opisinang program: mga wordprocessor (kword, abiword), mga "
+"spreadsheet (kspread, gnumeric), mga pdf viewer, etc"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Pang-laro na istasyon"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Mga nakakalibang na program: arcade, mga board game, strategy, etc"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Pang-multimedia na istasyon"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Mga program na pang-play/edit ng tunog, musika at video"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Pang-internet na istasyon"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Kumpol ng mga kagamitang pangbasa at pangsulat ng mail at news (mutt, tin..) "
+"at pang-browse ng Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Network Computer (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Mga client para sa iba't-ibang mga protocol kasama ang ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kagamitang pangpadali ng configuration ng inyong computer"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Kagamitang Pang-Console"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Mga editor, shell, file tool, terminal"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Paglinang (Development)"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "mga C at C++ development library, program at include file"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Dokumentasyon"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Mga Libro at Howto tungkol sa Linux at Free Software"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base. Suporta para sa mga third party application"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web Server"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Server"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Firewall/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet gateway"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/File/_Bago"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "Directory Kung Saan Kukunin ang Ibabalik"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP Server"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, fuzzy, c-format
+msgid "DNS/NIS"
+msgstr "DNS"
+
+#: share/meta-task/compssUsers.pl:109
+#, fuzzy, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Domain Name Server"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Printer Server"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS server, Samba server"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Database"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL o MySQL database server"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Mail"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix mail server"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL o MySQL database server"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Network Computer server"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS server, SMB server, Proxy server, ssh server"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Graphical na Kapaligiran"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE Workstation"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Ang K Desktop Environment, ang pinakabatayang graphical environment na may "
+"koleksyon ng mga kasabay na kagamitan"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Isang graphical environment na may kumpol ng mga user-friendly (madaling "
+"gamitin) na application at kagamitang pang-desktop"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ibang Mga Graphical Desktop"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, fuzzy, c-format
+msgid "Utilities"
+msgstr "Philippines"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Server"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "Webcam"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Configuration ng Terminal Server"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Pagmo-monitor ng Network"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Store</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "Nabigong i-configure ang printer na \"%s\"!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"May \"error\" na nangyari, pero hindi ko alam kung paano ayusin\n"
+"ng maganda. Mapanganib magpatuloy."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Ilang importanteng mga package ay hindi na-install ng maayos.\n"
+"May depekto ang inyong CD-ROM drive o ang inyong CD-ROM.\n"
+"Suriin ang CD-ROM sa naka-install nang computer gamit ang \"rpm -qpl media/"
+"main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Pumpasok sa hakbang na `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Pag-install ng Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> pagitan ng mga elemento"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Ang inyong sistema mababa sa kakayahan. Maaari kayong magkaproblema\n"
+"sa pag-install ng Mandriva Linux. Kung mangyari ito, maaari ninyong subukan\n"
+"ang \"text install\". Para dito, pindutin ang `F1' kapag nagbo-boot sa "
+"CDROM,\n"
+"at ipasok ang `text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Pagpili ng Pangkat ng mga Package"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Isa-isang pagpili ng package"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kabuuang laki: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Sirang package"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Version: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Laki: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Kahalagahan: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Maaari ninyong piliin/di-piliin ang package na ito"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "dahil sa nawawalang %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "dahil sa hindi na-satisfy na %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "sinusubukang i-promote ang %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "para maitago ang %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Hindi ninyo maaaring piliin ang package na ito dahil walang sapat na puwang"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ang mga sumusunod na package ay ii-install"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Ang mga sumusunod na package ay tatanggalin"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ito ay kinakailangang package, hindi ito maaring di-piliin"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Hindi ninyo maaaring di-piliin ang package na ito. Naka-install na ito"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr ""
+"Hindi ninyong maaaring di-piliin ang package na ito. Dapat i-upgrade ito"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Ipakita kaagad ang mga napiling package"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "I-install"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Pagpili ng package"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Ina-update ang pagpili ng package"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Maliitang install"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Pangangasiwa ng Software"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Piliin ang mga package na gusto ninyong i-install"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Nag-i-install"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Walang detalye"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Nalalabing oras "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Nagkukuro-kuro"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d mga package"
+msgstr[1] "%d mga package"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Kabuuan"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Configure"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "hindi na-configure"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "May \"error\" na nangyari"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Piliin ang inyong layout ng keyboard."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Narito ang buong talaan ng mga available na keyboard"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "I-install/I-upgrade"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Ito ba ay install o upgrade?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "I-pgrade ang %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Encryption key para sa %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Kino-configure ang IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Walang puwang para sa 1MB na bootstrap! Magpapatuloy ang install, pero para "
+"ma-boot ang inyong sistema, kailangan ninyong gumawa ng partisyon ng "
+"bootstrap sa DiskDrake"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Walang puwang para sa 1MB na bootstrap! Magpapatuloy ang install, pero para "
+"ma-boot ang inyong sistema, kailangan ninyong gumawa ng partisyon ng "
+"bootstrap sa DiskDrake"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Palitan ang inyong CD-ROM!\n"
+"\n"
+"Pakisuksok ang CD-ROM na may tatak na \"%s\" sa inyong drive at pindutin\n"
+"ang Ok pagkatapos. Kung wala kayo nito, pindutin ang Cancel para iwasang\n"
+"mag-install mula sa CD-ROM na ito."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Naghahanap ng mga available na package..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Pakipili ang i-load o i-save ang pagpili ng package sa floppy.\n"
+"Ang format ay katulad ng sa mga ginawang auto_install na floppy."
+
+#: steps_interactive.pm:387
+#, fuzzy, c-format
+msgid "Load"
+msgstr "XLoad"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "I-save"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "I-load ang mga file"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Ang piniling laki ay mas malaki sa available na puwang"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Uri ng install"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Wala pa kayong napiling pangkat ng mga package.\n"
+"Pakipili ang maliitang pag-i-install na gusto ninyo:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "May X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "May pinakabatayang dokumento (inirerekomenda!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Talagang maliitang install (walang urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Lahat"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Inihahanda ang pag-i-install"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Ini-install ang package na %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "May error sa pagsasaayos ng mga package:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Magpatuloy pa rin?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "I-save ang mga piniling package"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "May error sa pag-i-install ng mga package na:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Configuration matapos ang install"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Mga update"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Mayroon kayo ngayong pagkakataon na i-download ang mga na-update na "
+"package.\n"
+"Ang mga package na ito ay na-update matapos mailabas ang distribusyon. "
+"Maaari\n"
+"silang maglaman ng mga ayos sa seguridad at \"bug\".\n"
+"\n"
+"Para i-download ang mga package na ito, kakailanganin ninyong magkaroon ng\n"
+"gumaganang koneksyon sa Internet.\n"
+"\n"
+"Gusto ninyong i-install ang mga update ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Nakikipag-alam sa mirror para makuha nag talaan ng mga available na "
+"package..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Hindi nakayang makipag-alam sa mirror na %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Hardware"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Sound card"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Mayroon ba kayong ISA na sound card?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Patakbuhin ang \"alsaconf\" o \"sndconfig\" pagkatapos mag-install para i-"
+"configure ang iyong sound card"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Walang natiktikang sound card. Subukan ang \"harddrake\" pagkatapos mag-"
+"install"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV card"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Graphical interface"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Network & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Mga Proxy"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "na-configure"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Level ng Seguridad"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Firewall"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "na-activate"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "na-disable"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Boot"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s sa %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Hindi pa ninyo na-configure ang X. Sigurado kayong gusto ninyong gawin ito?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Inihahanda ang bootloader..."
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Mukhang mayroon kayong OldWorld (makaluma) o Hindi Kilalang\n"
+"makina, hindi gagana ang yaboot para sa inyo.\n"
+"Ang install ay magpapatuloy, ngunit kakailanganin ninyong\n"
+"gamitin ang BootX o ibang paraan para i-boot ang inyong makina"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Gusto ninyong gamiting ang aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"May error sa pag-install ng aboot,\n"
+"subukang ipilit ang pag-i-install kahit na sirain nito ang unang partisyon?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Sa level ng seguridad na ito, ang access sa mga file na nasa partisyon ng "
+"Windows ay limitado sa tagapangasiwa."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Magsuksok ng blangkong floppy sa drive %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Lumilikha ng auto install floppy..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ilang mga hakbang ay hindi natapos.\n"
+"\n"
+"Gusto ninyo ba talagang sumuko ngayon?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Maligayang bati"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "I-reboot"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Gumawa ng auto install floppy"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Ang auto install ay maaaring maging talagang\n"
+"automatic kung gugustuhin. Sa ganitong kaso\n"
+"hahawakan nito ang hard drive!! (Ito ay sinadya\n"
+"para sa pag-i-install sa ibang box o makina).\n"
+"\n"
+"Maaari ninyong naising i-replay ang pag-i-install.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Gawin ulit"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Na-automatic"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "I-save ang mga piniling package"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Wika"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisensiya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Mouse"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Pagtitiktik ng hard drive"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Keyboard"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Seguridad"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pagpartisyon"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Nag-i-install"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Authentication"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Users"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Pagne-Network"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Bootloader"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "I-configure ang X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Kabuuan"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Mga serbisyo"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Mga update"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Exit"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d mga package"
+#~ msgstr[1] "%d mga package"
+
+#~ msgid "%d packages"
+#~ msgstr "%d mga package"
+
+#~ msgid "Language"
+#~ msgstr "Wika"
+
+#~ msgid "License"
+#~ msgstr "Lisensiya"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Piliin ang klase ng pag-i-install"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Nagkukuro-kuro"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Piliin ang mga package na ii-install"
+
+#~ msgid "Users"
+#~ msgstr "Users"
+
+#~ msgid "Networking"
+#~ msgstr "Pagne-Network"
+
+#~ msgid "Configure X"
+#~ msgstr "I-configure ang X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Hindi mapasok ang mga \"kernel module\" na katapat ng inyong kernel (ang "
+#~ "file na %s ay nawawala), nangangahulugang hindi naka-sync ang inyong boot "
+#~ "floppy sa Installation medium (lumikha ng bagong boot floppy)"
diff --git a/perl-install/install/share/po/tr.po b/perl-install/install/share/po/tr.po
new file mode 100644
index 000000000..694fd02ae
--- /dev/null
+++ b/perl-install/install/share/po/tr.po
@@ -0,0 +1,1613 @@
+# translation of DrakX-tr.po to Turkish
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# ############################################
+#
+# Ömer Fadıl USTA <omer_fad@hotmail.com> , 1999-2003.
+# Tuncay YENİAY <tuncayyeniay@mynet.com>,2002.
+# Nazmi Savga <nsavga@doruk.net.tr>,2001.
+# Durmuş Celep <durmusc_tr@yahoo.com>,2002.
+# Erçin EKER <erc.caldera@gmx.net>, 2003.
+#
+# #############################################
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-tr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2004-09-15 13:35+0200\n"
+"Last-Translator: Ömer Fadıl USTA <omer_fad@hotmail.com>\n"
+"Language-Team: Turkish <tr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, fuzzy, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Başka var mı?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, fuzzy, c-format
+msgid "Network (HTTP)"
+msgstr "Ağ %s"
+
+#: any.pm:172
+#, fuzzy, c-format
+msgid "Network (FTP)"
+msgstr "Ağ %s"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr ""
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Yansı adreslerini almak için Mandriva Linux web sayfasına bağlantı kuruluyor"
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Yansı adreslerini almak için Mandriva Linux web sayfasına bağlantı kuruluyor"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Paketleri alacağınız bir yansı adresi seçiniz"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Dizin:"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, fuzzy, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "%s üzerinde %s bulunamadı"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kurulu paketler inceleniyor..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Güncellenecek paketler bulunuyor"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Bu sunucu/sunucuları seçmiştiniz: %s\n"
+"\n"
+"\n"
+"Bu sunucular öntanımlı olarak etkinleştirilecektir. Bilinen bir güvenlik\n"
+"açığı yoktur, ancak dağıtımdan sonra bazı açıklar bulunmuş olabilir.\n"
+"Bu durumda bu sunucuları mümkün olan en kısa sürede güncellemelisiniz.\n"
+"\n"
+"\n"
+"Bu sunucuları gerçekten kurmak istiyor musunuz?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Sisteminizi güncellemek için şu paketler kaldırılacak: %s\n"
+"\n"
+"\n"
+"Bu paketleri kaldırmak istiyor musunuz?\n"
+
+#: any.pm:1081
+#, fuzzy, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Bu paketlerinde kurulu olması gerekiyor:\n"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr ""
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Ağ"
+
+#: any.pm:1163
+#, fuzzy, c-format
+msgid "Please choose a media"
+msgstr "Lütfen seçin"
+
+#: any.pm:1179
+#, fuzzy, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Bu dosya zaten var. Üzerine yazılsın mı?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "İzin verilmedi"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, fuzzy, c-format
+msgid "Bad media %s"
+msgstr "%s ortamı eklendi"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Disk bölümlemesi yapılmadan ekran örnekleri alınamaz."
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Ekran örnekleri %s kurulduktan sonra mümkün olacak"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Kuruluyor"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Yapılandırma"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Ayrıca %s biçemlendirilmelidir"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Bilgisayarınızdaki bazı donanımlar çalışmak için \"özgün\" sürücüler\n"
+"gerektiriyor. Bunlar hakkında bilgi bulabileceğiniz adres: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Ağ bağlanıyor"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Ağ ayrılıyor"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s dosyası indiriliyor..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, fuzzy, c-format
+msgid "Copying in progress"
+msgstr "Algılama sürüyor"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "zorunlu"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "önemli"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "çok hoş"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "güzel"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "belki"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Ofis iş istasyonu"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Ofis programları: kelime işlemciler (OpenOffice.org Writer, Kword), "
+"OpenOffice.org Calc, Kspread, pdf göstericiler, vb.."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Ofis programları: kelime işlemciler (kword, abiword), kspread, gnumeric, pdf "
+"göstericiler, vb.."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Oyun Konsolu"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Eğlence programları: kart oyunları, taktik ve strateji, vb.."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Çoklu ortam konsolu"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Ses ve video çalma/düzenleme uygulamaları"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet konsolu"
+
+#: share/meta-task/compssUsers.pl:44
+#, fuzzy, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"E-posta alışverişi ve haber grubu istemci programları (pine, mutt, tin..) ve "
+"web istemcileri "
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Ağ Makinası (client)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "ssh içeren diğer ağ öğeleri için protokoller"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Sisteminizin ayarlarını düzenleyecek uygulama"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol Araçları"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Metin düzenleyiciler, kabuklar, dosya araçları, terminaller"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Geliştirme"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ve C++ geliştirme kütüphaneleri, programlar ve include dosyaları"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Belgeler"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Serbest Yazılım ve Linux üzerine Kitaplar ve Nasıl belgeleri"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standartları Temeli. Üçüncü parti uygulama desteği"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web Sunucu"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, fuzzy, c-format
+msgid "Groupware"
+msgstr "Grup"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab Sunucu"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Güvenlik Kalkanı/Router"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet ağ geçidi"
+
+#: share/meta-task/compssUsers.pl:96
+#, fuzzy, c-format
+msgid "Mail/News"
+msgstr "/Dosya/_Yeni"
+
+#: share/meta-task/compssUsers.pl:97
+#, fuzzy, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix posta sunucu"
+
+#: share/meta-task/compssUsers.pl:100
+#, fuzzy, c-format
+msgid "Directory Server"
+msgstr "CD'den Geri Al"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP sunucusu"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Alan adı ve Ağ Bilgileri Sunucusu"
+
+#: share/meta-task/compssUsers.pl:112
+#, fuzzy, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Yazdırma Sunucusu"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS sunucu, Samba sunucu"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Veritabanı"
+
+#: share/meta-task/compssUsers.pl:117
+#, fuzzy, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL veya MySQL veritabanı sunucusu"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache ve Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Posta"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix posta sunucu"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL veya MySQL veritabanı sunucusu"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Ağ Makinası sunucusu"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS sunucusu, SMB sunucusu, Vekil Sunucu, ssh Sunucu"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafik Ortamı"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE Masaüstü Ortamı, temel grafik ortamla birlikte birleşik araçlar"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME İş istasyonu"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Kullanıcı dostu uygulamalar ve masaüstü araçlarına sahip görsel bir ortam "
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Masaüstü"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Diğer Görsel Masaüstleri"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, etc"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Yardımcı araçlar"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH Sunucu"
+
+#: share/meta-task/compssUsers.pl:190
+#, fuzzy, c-format
+msgid "Webmin"
+msgstr "İnternet Kamerası"
+
+#: share/meta-task/compssUsers.pl:191
+#, fuzzy, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Mandriva Terminal Sunucu Yapılandırması"
+
+#: share/meta-task/compssUsers.pl:195
+#, fuzzy, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Ağ İzlemesi"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:200
+#, fuzzy, c-format
+msgid "Mandriva Wizards"
+msgstr "<b>Mandriva Store</b>"
+
+#: share/meta-task/compssUsers.pl:201
+#, fuzzy, c-format
+msgid "Wizards to configure server"
+msgstr "\"%s\" yazıcısını yapılandırılması başarısız!"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Bir hata oluştu, ancak sebebi saptanamadı.\n"
+"Devam edebilirsiniz, ama risk size ait!"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Bazı paketlerin kurulumu doğru olarak tamamlanmadı.\n"
+"CDROM sürücünüz sorunlu ya da CD'niz bozuk olabilir.\n"
+"Linux kurulu başka bir makinada \"rpm -qpl media/main/*.rpm\"\n"
+"komutuyla CD'nizi kontrol edebilirsiniz.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "`%s' adımına başlanıyor\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux Kurulum %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "gezinmek için <Tab>/<Alt-Tab>"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Sistem kaynaklarınız kısıtlı. Mandriva Linux'yi kurarken sorunlarınız\n"
+"olabilir. Bu durum oluşursa, metin tabanlı kurulumu deneyebilirsiniz.\n"
+"Bunun için CDROM'dan açtıktan sonra `F1'e basın, ve komut satırına\n"
+"`text' yazın."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paket Grubu Seçimi"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Tek tek paket seçimi"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Toplam boyut: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Hatalı paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Sürüm: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Boyut: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Önem: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Bu paket seçimlik değildir"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s paketinin kayıplığından"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "%s' den dolayı yetersiz"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr ""
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Yeterli yeriniz kalmadığından bu paketi seçemezsiniz"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Aşağıdaki paketler kurulacaktır"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Aşağıdaki paketler sistemden silinecektir"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Bu zorunlu bir pakettir, seçmemek olmaz"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Bu paketi seçimlerinizden çıkaramazsınız. Zaten kurulmuş."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Bu paketi seçimlerinizden çıkaramazsınız. Güncellenmek zorunda"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Kendiliğinden seçilen paketleri göster"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Kurulum"
+
+#: steps_gtk.pm:405
+#, fuzzy, c-format
+msgid "Load/Save selection"
+msgstr "Seçimi kaydet"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Paket seçimini güncellemesi"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "En ufak kurulum"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Yazılım Yöneticisi"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Kurmak istediğiniz paketleri seçin"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Kuruluyor"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Ayrıntısız"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Kalan süre "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Tahminen"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d paket"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Özet"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Yapılandır"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "yapılandırılmamış"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr ""
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Bir hata oluştu"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Lütfen klavye düzeninizi seçiniz."
+
+#: steps_interactive.pm:99
+#, fuzzy, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Mevcut tüm ülkelerin listesi"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Kurulum/Güncelleme"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu bir yükleme mi yoksa güncelleme mi ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s güncelle"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s için Parola"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE yapılandırması"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+" 1 MB lık önyükleme bölümünün oluşturulması için disk başlangıcında yeterli "
+"alan yok! Kurulum devam edecektir fakat açılış için DiskDrake'i kullanarak "
+"bir önyükleme disk bölümü oluşturmanız gerekecek"
+
+#: steps_interactive.pm:226
+#, fuzzy, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+" 1 MB lık önyükleme bölümünün oluşturulması için disk başlangıcında yeterli "
+"alan yok! Kurulum devam edecektir fakat açılış için DiskDrake'i kullanarak "
+"bir önyükleme disk bölümü oluşturmanız gerekecek"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Cd-Rom'u değiştirin!\n"
+"\n"
+"\"%s\" etiketli Cd-Rom'u sürücüye takın ve TAMAM'a basın.\n"
+"Eğer Cd-Rom elinizde yoksa bu Cd-Rom'dan kurmamak için VAZGEÇ'e basın."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mevcut paketler taranıyor"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, fuzzy, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Lütfen disketteki paket seçimini yükle veya kaydete tıklayınız.\n"
+"Otomatik kurulum disketleriyle aynı biçemde oluşturulacaktır."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Yük"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Kaydet"
+
+#: steps_interactive.pm:395
+#, fuzzy, c-format
+msgid "Bad file"
+msgstr "Dosya yükle"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Seçilen boyut boş disk alanından daha büyük"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Kurulum türü"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Seçilmiş bir paket grubu yok\n"
+"Lütfen isteğinize uyan ve en az yer kaplayacak kurulumu seçin:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X ile"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Temel belgeler olsun (önerilir!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Gerçekten en küçük kurulum (özellikle urpmi-siz)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Tümü"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Kurulum hazırlanıyor"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi kuruluyor"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Paketler düzenlenirken bir hata oluştu:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Yine de devam edilsin mi?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Paket seçimlerini Kaydet"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Paketler kurulurken bir hata oluştu:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Kurulum sonrası yapılandırma"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Güncellemeler"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Şu anda güncellenmiş paketleri indirme fırsatınız var. Bu paketler\n"
+"dağıtımın çıkış tarihinden sonra çıkan güncellemeleri içermektedir.\n"
+"Bu güncellemeler önemli hata düzeltmeleri ve güvenlik çözümleri\n"
+"içeriyor olabilir.\n"
+"\n"
+"[Güncelleme indirmenizi tavsiye ediyoruz]\n"
+"\n"
+"Bahsi geçen güncellemeleri indirebilmek için çalışan bir internet \n"
+"bağlantısına ihtiyacınız var.\n"
+"\n"
+"Güncellemeleri kurmak istiyor musunuz ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Güncelleme paketlerinin listesini almak için yansı adresine bağlantı "
+"kuruluyor"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "%s yansısı ile iletişim kurulamıyor"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Donanım"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Ses Kartı"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Bir ISA ses kartınız var mı?"
+
+#: steps_interactive.pm:811
+#, fuzzy, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Ses kartınızı yapılandırmak için kurulumdan sonra \"sndconfig\" aracını "
+"çalıştırın."
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Ses kartı bulunamadı. Kurulumdan sonra \"harddrake\" ile deneyin."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV kartı"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafiksel arabirim"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Ağ & İnternet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Vekil Sunucular"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "yapılandırıldı"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Güvenlik Seviyesi"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "AteşDuvarı"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "etkinleştirilmiş"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "pasifleştirilmiş"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Önyükleme"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s üstündeki %1$s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "X'i yapılandırmadınız. Bunu yapmak istediğinizden emin misiniz?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Önyükleyici hazırlanıyor"
+
+#: steps_interactive.pm:977
+#, fuzzy, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Çok eski ya da bilinmeyen bir makinaya sahipmişsiniz gibi görünüyor.\n"
+"Yaboot önyükleyicisi düzgün çalışmayacaktır.\n"
+"Kurulum devam edecek ama bu makinayı açmak için\n"
+"BootX veya benzeri araçlar kullanmak zorunda kalacaksınız."
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot uygulamasını kullanmak istiyor musunuz?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"aboot kurulumunda hata, \n"
+"ilk disk bölümünü yok etse bile yine de kurulmasını istiyor musunuz?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "%s sürücüsüne boş bir disket yerleştirin"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Otomatik kurulum disketi hazırlanıyor"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Bazı adımlar tamamlanmadı.\n"
+"\n"
+"Gerçekten çıkmak istiyormusunuz?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Tebrikler"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Yeniden başla"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Otomatik kurulum disketi oluştur"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Tam otomatik bir kurulum yapılabilir, ancak\n"
+"bu durumda sabit diskiniz tamamen ele geçirilebilir!!\n"
+"(Yani kurulum programı bütün diski kullanmaya kalkabilir).\n"
+"\n"
+"Etkileşimli bir kurulumu da tercih edebilirsiniz.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Etkileşimli"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Otomatik"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Paket seçimlerini Kaydet"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Kullanacağınız dili seçin"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Lisans"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Fare"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Sabit disk algılaması"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Klavye"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Güvenlik"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Bölümlendirme"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Kuruluyor"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Kimlik kanıtlama"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Kullanıcılar"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Ağ"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Önyükleyici"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X Yapılandırması"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Özet"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Hizmetler"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Güncellemeler"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Çıkış"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paket"
+
+#~ msgid "Language"
+#~ msgstr "Kullanacağınız dili seçin"
+
+#~ msgid "License"
+#~ msgstr "Lisans"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Kurulum sınıfını seçin"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Tahminen"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Kurulacak paketleri seçin"
+
+#~ msgid "Users"
+#~ msgstr "Kullanıcılar"
+
+#~ msgid "Networking"
+#~ msgstr "Ağ"
+
+#~ msgid "Configure X"
+#~ msgstr "X Yapılandırması"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Çekirdek değişikliği yüzünden bazı çekirdek modüllerine erişilemiyor.(%s "
+#~ "Dosyası eksik), bu genel olarak sistem açılış disketinizin sistemi "
+#~ "yüklediğiniz medya ile senkronize olmadığını gösterir.(Lütfen daha yeni "
+#~ "bir açılış disketi oluşturun)"
diff --git a/perl-install/install/share/po/uk.po b/perl-install/install/share/po/uk.po
new file mode 100644
index 000000000..09f24a05c
--- /dev/null
+++ b/perl-install/install/share/po/uk.po
@@ -0,0 +1,1636 @@
+# translation of DrakX-uk.po to ukrainian
+# translation of DrakX.po to ukrainian
+# $Id: uk.po 26602 2006-04-22 07:43:48Z fwang $
+# Copyright (C) 2000,2003, 2004, 2005 Free Software Foundation, Inc.
+# Dmytro Kovalov <kov@tokyo.email.ne.jp>, 2000.
+# Taras Boychuk <btr1@torba.com>, 2003, 2004.
+# Taras Boychuk <btr1@mail.ru>, 2004, 2003.
+# Taras Boychuk <btr1@ukrpost.net>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uk\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-03-01 01:29+0200\n"
+"Last-Translator: Taras Boychuk <btr1@ukrpost.net>\n"
+"Language-Team: ukrainian <uk@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Чи маєте Ви наступні додаткові носії?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Мережа (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Мережа (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Посилання на дзеркало?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Зв'язуюсь з веб-сайтом Mandriva Linux, щоб отримати список наявних джерел..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Зв'язуюсь з веб-сайтом Mandriva Linux, щоб отримати список наявних джерел..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Виберіть сервер, з якого звантажити пакунки"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Каталог"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Неможливо знайти перелік пакунків на цьому дзеркалі. Переконайтеся, чи "
+"правильне розташування."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Переглядається список вже встановлених пакунків..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Шукаю пакунки для поновлення..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Ви вибрали такі(ий) сервер(и): %s\n"
+"\n"
+"\n"
+"Ці сервери стандартно активізовані. Для них невідомі будь-які проблеми з\n"
+"безпекою, але деякі можуть бути виявлені. В такому випадку Ви повинні\n"
+"якомога швидше поновити версії цих серверів. \n"
+"\n"
+"\n"
+"Ви хочете дозволити встановлення цих серверів?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Наступні пакунки будуть вилучені, щоб забезпечити поновлення\n"
+"Вашої системи: %s\n"
+"\n"
+"\n"
+"Ви справді хочете вилучити ці пакунки?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Назву наступних дисків було змінено:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (попередня назва %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Мережа"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Будь ласка, виберіть носій"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл вже існує. Переписати?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Доступ заборонено"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Поганий носій %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Не можу робити знімки екрану перед розбиттям на розділи"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Знімки екрану стануть можливими після встановлення в %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Встановлюю"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Конфігурація"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Вам потрібно також відформатувати %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Деякі з апаратних засобів на Вашому комп'ютері вимагають драйверів\n"
+"фірм-виготовлювачів для того, щоб працювати вірно. \n"
+"\n"
+"Ви можете знайти потрібну інформацію про них на: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Вмикаю мережу"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Вимикаю мережу"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Звантажується файл %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Триває копіювання"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "повинен мати"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "важливий"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "дуже гарний"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "гарно"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "можливо"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Робоча станція"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Офісна робоча станція"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Програми для офісу: текстові процесори (OpenOffice.org Writer, Kword), "
+"електронні таблиці (OpenOffice.org Calc, Kspread), переглядачі файлів PDF, "
+"тощо"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Програми для офісу: текстові процесори (kword, abiword), бухгалтерські "
+"таблиці (kspread, gnumeric), переглядачі файлів pdf, тощо"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Ігрова станція"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Програми для розваг: ігри-перегони, ігри на дошці, стратегічні, тощо"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мультимедійна станція"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Звукові та відео програвачі та редактори"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Станція для Інтернету"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Набір засобів для читання та передавання електронної пошти та груп новин "
+"(pine, mutt, tin..), та для перегляду інформаційних тенет"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Мережевий Комп'ютер (клієнт)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Клієнти для різних протоколів (ssh включно)"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Засоби для полегшення конфіґурування Вашого комп'ютера"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Засоби для консолі"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Редактори, командні оболонки, файлові засоби та термінали"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Розробка"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Бібліотеки для програмування в C, C++, програми та файли include"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Документація"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Книжки та ЯК ЗРОБИТИ про Лінакс та вільне програмне забезпечення"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Стандартна база Лінакс. Підтримка програм сторонніх виробників"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб-сервер"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Групова робота"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Сервер Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Захисний шлюз/Маршрутизатор"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Інтернет-шлюз"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Пошта/Новини"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Поштовий сервер postfix, сервер новин Inn"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Сервер тек"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Сервер FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Сервер назв домена і мережевий інформаційний сервер"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Сервер доступу до файлів і друкарок"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Сервер NFS, сервер Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "База даних"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Сервери баз даних PostgreSQL і MySQL "
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Тенета/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Пошта"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Поштовий сервер postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Сервери баз даних PostgreSQL або MySQL "
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Мережевий комп'ютер (сервер)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Сервер NFS, сервер SMB, проксі-сервер, сервер ssh"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Графічне середовище"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Робоча станція KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"Робоче середовище K (KDE) - основне графічне середовище з набором допоміжних "
+"засобів"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Робоча станція Gnome"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Графічне середовище з дружнім інтерфейсом та програмами, засоби для стільниці"
+
+#: share/meta-task/compssUsers.pl:155
+#, fuzzy, c-format
+msgid "IceWm Desktop"
+msgstr "Стільниця Plucker"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Інші робочі середовища"
+
+#: share/meta-task/compssUsers.pl:160
+#, fuzzy, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Icewm, Window Maker, Enlightenment, Fvwm, тощо"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Інструменти"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Сервер SSH "
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Сервер віддаленого налаштування Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Мережеві інструменти/Слідкування за мережею"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Інструменти для слідкування, облік процесів, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Помічники Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Помічники для налаштування сервера"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Сталася помилка, але я не знаю, як її обробити.\n"
+"Продовжуйте на свій власний ризик."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Деякі важливі пакунки не вдалося вірно встановити. Ваш\n"
+"компакт-диск або привід дефектні. Перевірте компакт-диск\n"
+"командою \"rpm -qpl media/main/*.rpm\" \n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Починається крок `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Встановлення Мандріва лінакс %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> між елементами"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Ваша система має замало ресурсів. Ви можете мати проблеми з встановленням\n"
+"Мандріва лінакса. Якщо це станеться, Ви можете спробувати встановлення в\n"
+"текстовому режимі. Для цього під час завантаження з компакт-диску\n"
+"натисніть F1 і потім введіть \"text\"."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Вибір груп пакунків"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Індивідуальний вибір пакунків"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Загальний розмір: %d / %d Мб "
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Поганий пакунок"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Версія: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Розмір: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Важливість: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Ви не можете вибрати або відмінити вибір цього пакунка."
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "через відсутність %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "через незадоволеність %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "пробую активізувати %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "щоб залишити %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Ви не можете вибрати цей пакунок, бо для його встановлення не залишилося "
+"достатньо вільного місця."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Ці пакунки буде встановлено"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Наступні пакунки будуть вилучені"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Цей пакунок необхідний, його вибір відмінити не можна"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Вибір цього пакунка неможливо відмінити. Його вже встановлено."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Вибір цього пакунка неможливо відмінити. Він повинен бути поновлений."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Показувати автоматично вибрані пакунки"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Встановлення"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Завантажити/зберегти виділене"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Поновлення вибору пакунків"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Мінімальне встановлення"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Менеджер програм"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Виберіть пакунки, які Ви хочете встановити"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Встановлюю"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Загально"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Залишок часу "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Наближене обчислення"
+
+#: steps_gtk.pm:511
+#, fuzzy, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d пакунків"
+msgstr[1] "%d пакунків"
+msgstr[2] "%d пакунків"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Загалом"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Налаштувати"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "не налаштовано"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Було знайдено наступні носії встановлення.\n"
+"Якщо Ви не хочете використовувати деякі з них, відмініть їх вибір."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"У Вас є можливість перед початком встановлення скопіювати вміст компакт-"
+"дисків на твердий диск.\n"
+"Після цього встановлення продовжиться з твердого диску і пакунки залишаться "
+"доступними після повного встановлення системи."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Копіювати компакт-диски повністю."
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Сталася помилка"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Будь ласка, виберіть розкладку клавіатури."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Тут наведено повний список можливих мап клавіатури"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Встановити/Поновити"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Це встановлення чи поновлення?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Поновити %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Ключ шифрування для %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Налаштування IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Не вистачає вільного місця для 1МБ завантажувального блоку! Встановлення\n"
+"буде продовжуватись, але для завантаження своєї системи Вам потрібно\n"
+"буде створити DiskDrake'ом завантажувальний розділ"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Вам потрібно створити початковий завантажувач PPC PReP Boot! Встановлення "
+"буде продовжуватись, але для завантаження системи потрібно буде створити "
+"DiskDrake'ом завантажувальний розділ"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Змініть компакт-диск!\n"
+"Будь ласка, вставте компакт-диск, позначений \"%s\" у пристрій і\n"
+"натисніть Гаразд після цього.\n"
+"Якщо Ви не маєте такого диску, натисніть Скасувати, щоб не\n"
+"встановлювати з цього диску."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Шукаю наявні пакунки..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Будь ласка, виберіть, завантажити чи записати вибір пакунків.\n"
+"Формат такий самий, як файлів auto_install."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Завантаження"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Зберегти"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Поганий файл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Вибраний розмір більший за наявний простір"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Тип встановлення"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Ви не вказали жодної групи пакунків.\n"
+"Будь ласка, вкажіть мінімальне встановлення, яке Ви хочете:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Разом з Х"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "З основною документацією (рекомендується!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Насправді мінімальне встановлення (особливо немає urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Все"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Підготовка встановлення"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Встановлюється пакунок %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Сталася помилка під час сортування пакунків: "
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Все-таки продовжувати?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Зберегти вибір пакунків"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Сталася помилка під час встановлення пакунків: "
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Налаштування після встановлення"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Поновлення"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Зараз Ви маєте можливість звантажити поновлені пакунки. Ці пакунки\n"
+"було поновлено після виходу дистрибутиву. Вони можуть містити\n"
+"виправлення безпеки або помилок.\n"
+"\n"
+"Щоб звантажити ці пакунки, Вам потрібно мати працююче з'єднання з\n"
+"Інтернетом.\n"
+"\n"
+"Ви хочете встановити ці поновлення?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Зв'язуюсь з сервером, щоб прочитати список наявних пакунків..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Неможливо з'єднатися з дзеркалом %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Залізо"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Звукова плата"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Чи маєте Ви звукові карти ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Виконайте \"alsaconf\" або \"sndconfig\" після встановлення, щоб налаштувати "
+"звукову карту"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Звукових карт не виявлено. Спробуйте \"harddrake\" після встановлення"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Телевізійна плата"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Графічний інтерфейс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Мережа та Інтернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Проксі"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "налаштовано"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Рівень безпеки"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Захисний шлюз"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "увімкнено"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "відімкнено"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Завантажити"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s на %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Ви не сконфігурували X. Ви впевнені, що дійсно цього хочете?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Підготовлюю завантажувач..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Здається у Вас машина OldWorld чи Невідома. Завантажувач yaboot не буде "
+"працювати з цією машиною. Встановлення буде продовжуватись, але для "
+"завантаження, Вам потрібно використати BootX чи якийсь інший спосіб "
+"завантаження Вашої машини. Параметр ядра для коренефої файлової системи: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Чи Ви хочете використовувати aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Помилка при встановленні aboot,\n"
+"спробувати встановити примусово, навіть якщо це зруйнує перший розділ?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"На цьому рівні безпеки доступ до файлів на розділі Windows дозволений тільки "
+"адміністратору."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Вставте чисту дискету в дисковод %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Створення дискети для автоматичного встановлення..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Деякі кроки не завершені.\n"
+"\n"
+"Ви дійсно хочете припинити зараз?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Вітання"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Перезавантажити"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Створити дискету для автовстановлення"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Якщо потрібно, автовстановлення може бути повністю\n"
+"автоматизоване. В цьому випадку процес встановлення \n"
+"буде мати повний контроль над вашим диском!! (Застосовується\n"
+"для встановлення на інші комп'ютери)\n"
+"\n"
+"Можливо, Ви захочете повторити встановлення.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Повторити"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматизована"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Зберегти вибір пакунків"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Мова"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Ліцензія"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Миша"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Визначення твердого диску"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Клавіатура"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Безпека"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Розбиття на розділи"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Встановлюю"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Автентифікація"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Користувачі"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Робота в мережі"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Завантажувач"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Налаштувати X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Загалом"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Сервіси"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Поновлення"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Вийти"
+
+#, fuzzy
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "%d пакунків"
+#~ msgstr[1] "%d пакунків"
+#~ msgstr[2] "%d пакунків"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакунків"
+
+#~ msgid "Language"
+#~ msgstr "Мова"
+
+#~ msgid "License"
+#~ msgstr "Ліцензія"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Виберіть тип встановлення"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Наближене обчислення"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Виберіть пакунки для встановлення"
+
+#~ msgid "Users"
+#~ msgstr "Користувачі"
+
+#~ msgid "Networking"
+#~ msgstr "Робота в мережі"
+
+#~ msgid "Configure X"
+#~ msgstr "Налаштувати X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Неможливо отримати доступ до модулів ядра, що відповідають Вашому ядру\n"
+#~ "(немає файла %s), здебільшого це означає, що Ваша дискета для "
+#~ "завантаження\n"
+#~ "не синхронізована з інсталяційним носієм (будь ласка, створіть новішу\n"
+#~ "дискету для завантаження)"
diff --git a/perl-install/install/share/po/uz.po b/perl-install/install/share/po/uz.po
new file mode 100644
index 000000000..d0dc0e2f8
--- /dev/null
+++ b/perl-install/install/share/po/uz.po
@@ -0,0 +1,1550 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006, 2007.
+# Nurali Abdurahmonov <mavnur@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-05 23:13+0100\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Сизда қўшимча компакт-диск борми?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Ўрнатиш давомида қуйидаги манбадан фойдаланилади: %s.\n"
+"\n"
+"\n"
+"Мосланиши керак бўлган қўшимча ўрнатиш манбаси борми?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Компакт-диск"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Тармоқ (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Тармоқ (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Тармоқ (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Ойнанинг манзили (URL)"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Манзил ftp:// ёки http:// билан бошланиши керак"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Мавжуд бўлган ойналарнинг рўйхатини олиш учун Mandriva Linux сайти билан "
+"алоқа ўрнатилмоқда..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Мавжуд бўлган ойналарнинг рўйхатини олиш учун Mandriva Linux сайти билан "
+"алоқа ўрнатиб бўлмади"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Пакетларни олиш учун ойнани танланг"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS орқали ўрнатиш"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS тўпламининг компьютер номини ва директорияни киритинг"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Компьютернинг номи кўрсатилмаган"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Директория \"/\" белги билан бошлаши керак"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS серверининг хост номи"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Директория"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Қўшимча"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Ойнада пакетлар рўйхатини топиб бўлмади. Манзил (URL) тўғри "
+"кўрсатилганлигини текширинг."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Аллақачон ўрнатилган пакетлар қидирилмоқда..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Янгилашдан аввал пакетлар олиб ташланмоқда..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Янгилаш учун пакетлар қидирилмоқда..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Тизимни янгилаш учун қуйидаги пакетлар ўчирилади: %s\n"
+"\n"
+"\n"
+"Давом этишни истайсизми?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Қуйидаги диск(лар)нинг номи ўзгартирилди:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (олдинги номи %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Тармоқ"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Илтимос тўпламни танланг"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Файл аллақачон мавжуд. Уни алмаштиришни истайсизми?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Рухсат йўқ"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS номи нотўғри"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Нотўғри тўплам %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Скриншотларни дискни бўлишдан аввал олиб бўлмайди"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"Ўрнатиш тугаганидан кейин скриншотларни қуйидаги жойдан топиш мумкин: %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Ўрнатиш"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Мослаш"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Сиз %s'ни ҳам формат қилишингиз керак"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Компьютернинг баъзи асбоб-ускунаси эркин бўлмаган драйверни талаб қилади.\n"
+"Улар ҳақида баъзи маълумотни қуйидаги жойдан олса бўлади: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Тармоқ ишга туширилмоқда"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Тармоқ ўчирилмоқда"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s файли ёзиб олинмоқда..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Баъзи пакетлардан дискка нусха олинмоқда"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Нусха олиш давом этмоқда"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "бўлиши шарт"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "муҳим"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "жуда яхши"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "яхши"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "балки"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 маҳсулотлари"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online хизматлари"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Янги мавзу"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Иш станцияси"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Идора станцияси"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Идора учун дастурлар: матн процессорлари (OpenOffice.org Writer, Kword), "
+"электрон жадваллар (OpenOffice.org Calc, Kspread), PDF кўрувчилар ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Идора учун дастурлар: матн процессорлари (kword, abiword), электрон "
+"жадваллар (kspread, gnumeric), PDF кўрувчилар ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Ўйин станцияси"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Овунчоқ дастурлар: аркада, стол ўйинлари, стратегия ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Мултимедиа станцияси"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Аудио ва видеони ўйнаш/таҳрирлаш учун дастурлар"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Интернет станцияси"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Хат-хабар, янгиликларни ўқиш ва жўнатиш (mutt, tin..) ва Интернетда сайр "
+"қилиш учун воситалар тўплами"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Тармоқдаги компьютер (клиент)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Турли протоколлар, шу жумлада SSH, учун клиентлар"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Компьютерни мослашни енгилаштириш учун воситалар"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Консол воситалари"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Таҳрирчилар, консоллар, файл воситалари, терминаллар"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Тузиш"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C ва C++ тузиш кутубхоналари, воситалар ва хедер файллар"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Қўлланмалар"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux ва эркин дастурлар ҳақида китоблар ва Howto'лар"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Веб-сервери"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab сервери"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Файервол/Рутер"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Интернет гейтвэйи"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Хат-хабар/Янгиликлар"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix хат-хабар сервери, Inn янгиликлар сервери"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Директория сервери"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP сервери"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS ва NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Файл ва принтерни бўлишиш сервери"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS сервери, Samba сервери"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Маълумот базаси"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL ва MySQL маълумот базаси"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Хат-хабар"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix хат-хабар сервери"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL ёки MySQL маълумот базаси"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Тармоқдаги компьютер (сервер)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS сервери, SMB сервери, Proxy сервери, SSH сервери"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "График муҳит"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE станцияси"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE - воситалар тўплами билан бирга асосий график муҳит"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME станцияси"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Фойдаланувчилар учун қулай дастурлар ва иш столи воситаларидан иборат график "
+"муҳит"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm иш столи"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Бошқа график иш столлари"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, ва ҳоказо"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Воситалар"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH сервери"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin масофадан бошқариш сервери"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Тармоқ воситалари/Назорат қилиш"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Назорат қилиш воситалари, вазифалар ҳисоботчилари, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva ёрдамчилари"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Серверни мослаш учун ёрдамчилар"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Баъзи бир муҳим пакетлар тўғри ўрнатилмади.\n"
+"Сизнинг компакт-диск ускунангизда ёки компакт-дискингизда хато бор.\n"
+"Компакт-дискни ўрнатилган компьютерда \"rpm -qpl media/main/*.rpm\" буйруғи "
+"билан текшириб кўринг.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s босқичга ўтилмоқда\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux ОТни ўрнатиш %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> банддан-бандга"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Пакетларни гуруҳ бўйича танлаш"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Пакетларни биттама-битта танлаш"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Жами: %d / %d Мб"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Ёмон пакет"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Версияси: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Ҳажми: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Кб\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Муҳимлиги: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Бу пакетни танлолмайсиз/танлашни бекор қилолмайсиз"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s етишмагани учун"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s'ни қолдириш учун"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Бу пакетни танлолмайсиз, чунки уни ўрнатиш учун етарли жой мавжуд эмас."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Қуйидаги пакетлар ўрнатилади"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Қуйидаги пакетлар олиб ташланилади."
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Бу ўрнатилиши шарт бўлган пакет, уни танлашни бекор қилиб бўлмайди."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Бу пакетни танлашни бекор қилолмайсиз. У аллақачон ўрнатилган."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Бу пакетни танлашни бекор қилолмайсиз. У янгиланиши шарт."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Автоматик равишда танланган пакетларни кўрсатиш"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Ўрнатиш"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Танланганни юклаш/сақлаш"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Пакетлар танлови янгиланмоқда"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Минимал ўрнатиш"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Дастурлар бошқаруви"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Сиз ўрнатмоқчи бўлган пакетларни танланг"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Ўрнатилмоқда"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Тафсилотларсиз"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Қолган вақт "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Чамаланмоқда"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d-та пакет"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Ҳисобот"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Мослаш"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "мосланмаган"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Қуйидаги ўрнатиш манбалари аниқланди.\n"
+"Фақат танланган манбалар ўрнатиш учун ишлатилади."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Ўрнатишдан аввал компакт-дисклардаги пакетлардан компьютернинг дискига нусха "
+"олиш мумкин.\n"
+"Ўрнатиш тўлиқ тугагандан сўнг улар тизимга маълум бўлади."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Бутун дискдан нусха олиш"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Хато рўй берди"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Илтимос тугмалар тартибини танланг."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Мавжуд бўлган тугматагларнинг тўлиқ рўйхати"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Ўрнатиш/Янгилаш"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Бу ўрнатишми ёки янгилашми?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s'ни янгилаш"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s учун кодлаш калити"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE'ни мослаш"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Компакт-дискни алмаштиринг!\n"
+"\n"
+"Илтимос '%s' белгили компакт-дискни қўйинг ва \"Ок\" тугмасини босинг.\n"
+"Агар у сизда бўлмаса, бу компакт-дискдан ўрнатишни бекор қилиш учун \"Бекор "
+"қилиш\" тугмасини босинг."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Мавжуд бўлган пакетлар қидирилмоқда..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr "Тизимда ўрнатиш ёки янгилаш учун етарли жой қолмади (%d Мб > %d Мб)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Юклаш"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Сақлаш"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Нотўғри файл"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Танланган ҳажм мавжуд бўлган бўш жойдан катта"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Ўрнатишнинг тури"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Сиз ҳеч қандай пакетлар гуруҳини танламадингиз.\n"
+"Илтимос сиз истаган минимал ўрнатишни танланг:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X билан"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Асосий қўлланмалар билан (тавсия қилинади!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Ҳақиқий минимал ўрнатиш (хусусан urpmi'сиз)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Ҳаммаси"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Ўрнатишга тайёрланмоқда"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s пакети ўрнатилмоқда"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Қуйидаги пакетларни саралашда хато рўй берди:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Бунга қарамасдан давом этишни истайсизми?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Қайтадан уриниш"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Бу пакетга эътибор берилмасин"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" тўпламидан ҳамма пакетларга эътибор берилмасин"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Ўрнатиш манбаларни ва пакетларни танлашга қайтиш"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Қуйидаги пакетни ўрнатишда хато рўй берди: %s"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Ўрнатишдан кейин мослаш"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Янгиланишлар"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Мавжуд бўлган пакетларнинг рўйхатини олиш учун ойна билан алоқа "
+"ўрнатилмоқда..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Ойна (%s)билан алоқа ўрнатиб бўлмади."
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Асбоб-ускуналар"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Товуш карта"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Сизда ISA товуш картаси борми?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Ўрнатишдан кейин, товуш картангизни мослаш учун, \"sndconfig\" ёки \"alsaconf"
+"\" дастурини ишга туширинг"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Товуш картаси топилмади. Ўрнатишдан кейин \"harddrake\" дастурини синаб "
+"кўринг."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "ТВ карта"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "График интерфейс"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Тармоқ ва Интернет"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Проксилар"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "мосланган"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Хавфсизлик даражаси"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Файервол"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ишлаяпти"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "ўчирилган"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Тизимни юкланиши"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s'да"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Сиз X'ни мосламадингиз. Ростдан буни истайсизми?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "ОТ юклагичи тайёрланмоқда..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot дастуридан фойдаланишни истайсизми?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ушбу хавфсизлик даража қўлланилганда дискнинг Windows қисмидаги файлларга "
+"фақат администратор мурожаат қилиши мумкин."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Бўш дискетни %s ускунасига қўйинг"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Авто-ўрнатиш дискети яратилмоқда..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Баъзи ўрнатиш босқичлари бажарилмади.\n"
+"\n"
+"Ростдан чиқишни истайсизми?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Табриклаймиз!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Ўчириб-ёқиш"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Авто-ўрнатиш дискетни яратиш"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Қайтариш"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Автоматик"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Пакетлар танловини сақлаш"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Тил"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Лицензия"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Сичқонча"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Қаттиқ дискни аниқлаш"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Ўрнатиш синфи"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Тугматаг"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Хавфсизлик"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Дискни бўлиш"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Форматлаш"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Ўрнатилиши керак бўлган пакетларни танлаш"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Ўрнатилмоқда"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Тасдиқлаш"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Фойдаланувчилар"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Тармоқ"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "ОТ юклагичи"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X серверини мослаш"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Ҳисобот"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Хизматлар"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Янгиланишлар"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Чиқиш"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d-та пакет, %d Мб)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d пакет"
diff --git a/perl-install/install/share/po/uz@Latn.po b/perl-install/install/share/po/uz@Latn.po
new file mode 100644
index 000000000..e746873af
--- /dev/null
+++ b/perl-install/install/share/po/uz@Latn.po
@@ -0,0 +1,1553 @@
+# translation of DrakX-uz.po to Uzbek
+# Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003 Mandriva.
+#
+# Mashrab Kuvatov <kmashrab@uni-bremen.de>, 2003, 2004, 2006, 2007.
+# Nurali Abdurahmonov <mavnur@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-uz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2007-03-05 23:13+0100\n"
+"Last-Translator: Mashrab Kuvatov <kmashrab@uni-bremen.de>\n"
+"Language-Team: Uzbek <floss-uz-l10n@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Sizda qo'shimcha kompakt-disk bormi?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"O'rnatish davomida quyidagi manbadan foydalaniladi: %s.\n"
+"\n"
+"\n"
+"Moslanishi kerak bo'lgan qo'shimcha o'rnatish manbasi bormi?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Kompakt-disk"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Tarmoq (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Tarmoq (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Tarmoq (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Oynaning manzili (URL)"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Manzil ftp:// yoki http:// bilan boshlanishi kerak"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Mavjud bo'lgan oynalarning ro'yxatini olish uchun Mandriva Linux sayti bilan "
+"aloqa o'rnatilmoqda..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Mavjud bo'lgan oynalarning ro'yxatini olish uchun Mandriva Linux sayti bilan "
+"aloqa o'rnatib bo'lmadi"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Paketlarni olish uchun oynani tanlang"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS orqali o'rnatish"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "NFS to'plamining kompyuter nomini va direktoriyani kiriting"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "Kompyuterning nomi ko'rsatilmagan"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Direktoriya \"/\" belgi bilan boshlashi kerak"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS serverining xost nomi"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Direktoriya"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Qo'shimcha"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Oynada paketlar ro'yxatini topib bo'lmadi. Manzil (URL) to'g'ri "
+"ko'rsatilganligini tekshiring."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Allaqachon o'rnatilgan paketlar qidirilmoqda..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Yangilashdan avval paketlar olib tashlanmoqda..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Yangilash uchun paketlar qidirilmoqda..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Tizimni yangilash uchun quyidagi paketlar o'chiriladi: %s\n"
+"\n"
+"\n"
+"Davom etishni istaysizmi?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Quyidagi disk(lar)ning nomi o'zgartirildi:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (oldingi nomi %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Tarmoq"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Iltimos to'plamni tanlang"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Fayl allaqachon mavjud. Uni almashtirishni istaysizmi?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Ruxsat yo'q"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "NFS nomi noto'g'ri"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Noto'g'ri to'plam %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Skrinshotlarni diskni bo'lishdan avval olib bo'lmaydi"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr ""
+"O'rnatish tugaganidan keyin skrinshotlarni quyidagi joydan topish mumkin: %s"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "O'rnatish"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Moslash"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Siz %s'ni ham format qilishingiz kerak"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Kompyuterning ba'zi asbob-uskunasi erkin bo'lmagan drayverni talab qiladi.\n"
+"Ular haqida ba'zi ma'lumotni quyidagi joydan olsa bo'ladi: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Tarmoq ishga tushirilmoqda"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tarmoq o'chirilmoqda"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "%s fayli yozib olinmoqda..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Ba'zi paketlardan diskka nusxa olinmoqda"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Nusxa olish davom etmoqda"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "bo'lishi shart"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "muhim"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "juda yaxshi"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "yaxshi"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "balki"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 mahsulotlari"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online xizmatlari"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Yangi mavzu"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Ish stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Idora stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Idora uchun dasturlar: matn protsessorlari (OpenOffice.org Writer, Kword), "
+"elektron jadvallar (OpenOffice.org Calc, Kspread), PDF ko'ruvchilar va hokazo"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Idora uchun dasturlar: matn protsessorlari (kword, abiword), elektron "
+"jadvallar (kspread, gnumeric), PDF ko'ruvchilar va hokazo"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "O'yin stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Ovunchoq dasturlar: arkada, stol o'yinlari, strategiya va hokazo"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Multimedia stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Audio va videoni o'ynash/tahrirlash uchun dasturlar"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Xat-xabar, yangiliklarni o'qish va jo'natish (mutt, tin..) va Internetda "
+"sayr qilish uchun vositalar to'plami"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Tarmoqdagi kompyuter (klient)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Turli protokollar, shu jumlada SSH, uchun klientlar"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Kompyuterni moslashni yengilashtirish uchun vositalar"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Konsol vositalari"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Tahrirchilar, konsollar, fayl vositalari, terminallar"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Tuzish"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C va C++ tuzish kutubxonalari, vositalar va xeder fayllar"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Qo'llanmalar"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux va erkin dasturlar haqida kitoblar va Howto'lar"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr ""
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Veb-serveri"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab serveri"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Fayervol/Ruter"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet geytveyi"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Xat-xabar/Yangiliklar"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix xat-xabar serveri, Inn yangiliklar serveri"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Direktoriya serveri"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP serveri"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "DNS va NIS"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Fayl va printerni bo'lishish serveri"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS serveri, Samba serveri"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Ma'lumot bazasi"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL va MySQL ma'lumot bazasi"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache, Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Xat-xabar"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix xat-xabar serveri"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL yoki MySQL ma'lumot bazasi"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Tarmoqdagi kompyuter (server)"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS serveri, SMB serveri, Proxy serveri, SSH serveri"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Grafik muhit"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE - vositalar to'plami bilan birga asosiy grafik muhit"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME stantsiyasi"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Foydalanuvchilar uchun qulay dasturlar va ish stoli vositalaridan iborat "
+"grafik muhit"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm ish stoli"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Boshqa grafik ish stollari"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, va hokazo"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Vositalar"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH serveri"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin masofadan boshqarish serveri"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Tarmoq vositalari/Nazorat qilish"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr ""
+"Nazorat qilish vositalari, vazifalar hisobotchilari, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva yordamchilari"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Serverni moslash uchun yordamchilar"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Ba'zi bir muhim paketlar to'g'ri o'rnatilmadi.\n"
+"Sizning kompakt-disk uskunangizda yoki kompakt-diskingizda xato bor.\n"
+"Kompakt-diskni o'rnatilgan kompyuterda \"rpm -qpl media/main/*.rpm\" "
+"buyrug'i bilan tekshirib ko'ring.\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "%s bosqichga o'tilmoqda\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux OTni o'rnatish %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> banddan-bandga"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Paketlarni guruh bo'yicha tanlash"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Paketlarni bittama-bitta tanlash"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Jami: %d / %d Mb"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Yomon paket"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Versiyasi: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Hajmi: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Kb\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Muhimligi: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Bu paketni tanlolmaysiz/tanlashni bekor qilolmaysiz"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "%s yetishmagani uchun"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr ""
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr ""
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "%s'ni qoldirish uchun"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Bu paketni tanlolmaysiz, chunki uni o'rnatish uchun yetarli joy mavjud emas."
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Quyidagi paketlar o'rnatiladi"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Quyidagi paketlar olib tashlaniladi."
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr ""
+"Bu o'rnatilishi shart bo'lgan paket, uni tanlashni bekor qilib bo'lmaydi."
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Bu paketni tanlashni bekor qilolmaysiz. U allaqachon o'rnatilgan."
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Bu paketni tanlashni bekor qilolmaysiz. U yangilanishi shart."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Avtomatik ravishda tanlangan paketlarni ko'rsatish"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "O'rnatish"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Tanlanganni yuklash/saqlash"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Paketlar tanlovi yangilanmoqda"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Minimal o'rnatish"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Dasturlar boshqaruvi"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Siz o'rnatmoqchi bo'lgan paketlarni tanlang"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "O'rnatilmoqda"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Tafsilotlarsiz"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Qolgan vaqt "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Chamalanmoqda"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d-ta paket"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Hisobot"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Moslash"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "moslanmagan"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Quyidagi o'rnatish manbalari aniqlandi.\n"
+"Faqat tanlangan manbalar o'rnatish uchun ishlatiladi."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"O'rnatishdan avval kompakt-disklardagi paketlardan kompyuterning diskiga "
+"nusxa olish mumkin.\n"
+"O'rnatish to'liq tugagandan so'ng ular tizimga ma'lum bo'ladi."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Butun diskdan nusxa olish"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Xato ro'y berdi"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Iltimos tugmalar tartibini tanlang."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Mavjud bo'lgan tugmataglarning to'liq ro'yxati"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "O'rnatish/Yangilash"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Bu o'rnatishmi yoki yangilashmi?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "%s'ni yangilash"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s uchun kodlash kaliti"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "IDE'ni moslash"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Kompakt-diskni almashtiring!\n"
+"\n"
+"Iltimos '%s' belgili kompakt-diskni qo'ying va \"Ok\" tugmasini bosing.\n"
+"Agar u sizda bo'lmasa, bu kompakt-diskdan o'rnatishni bekor qilish uchun "
+"\"Bekor qilish\" tugmasini bosing."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Mavjud bo'lgan paketlar qidirilmoqda..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"Tizimda o'rnatish yoki yangilash uchun yetarli joy qolmadi (%d Mb > %d Mb)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Yuklash"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Saqlash"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Noto'g'ri fayl"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Tanlangan hajm mavjud bo'lgan bo'sh joydan katta"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "O'rnatishning turi"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Siz hech qanday paketlar guruhini tanlamadingiz.\n"
+"Iltimos siz istagan minimal o'rnatishni tanlang:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "X bilan"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Asosiy qo'llanmalar bilan (tavsiya qilinadi!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Haqiqiy minimal o'rnatish (xususan urpmi'siz)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Hammasi"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "O'rnatishga tayyorlanmoqda"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "%s paketi o'rnatilmoqda"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Quyidagi paketlarni saralashda xato ro'y berdi:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Bunga qaramasdan davom etishni istaysizmi?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Qaytadan urinish"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Bu paketga e'tibor berilmasin"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "\"%s\" to'plamidan hamma paketlarga e'tibor berilmasin"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "O'rnatish manbalarni va paketlarni tanlashga qaytish"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Quyidagi paketni o'rnatishda xato ro'y berdi: %s"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "O'rnatishdan keyin moslash"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Yangilanishlar"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr ""
+"Mavjud bo'lgan paketlarning ro'yxatini olish uchun oyna bilan aloqa "
+"o'rnatilmoqda..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Oyna (%s)bilan aloqa o'rnatib bo'lmadi."
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Asbob-uskunalar"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Tovush karta"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Sizda ISA tovush kartasi bormi?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"O'rnatishdan keyin, tovush kartangizni moslash uchun, \"sndconfig\" yoki "
+"\"alsaconf\" dasturini ishga tushiring"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Tovush kartasi topilmadi. O'rnatishdan keyin \"harddrake\" dasturini sinab "
+"ko'ring."
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "TV karta"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Grafik interfeys"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Tarmoq va Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proksilar"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "moslangan"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Xavfsizlik darajasi"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Fayervol"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "ishlayapti"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "o'chirilgan"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Tizimni yuklanishi"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s %s'da"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Siz X'ni moslamadingiz. Rostdan buni istaysizmi?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "OT yuklagichi tayyorlanmoqda..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "aboot dasturidan foydalanishni istaysizmi?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Ushbu xavfsizlik daraja qo'llanilganda diskning Windows qismidagi fayllarga "
+"faqat administrator murojaat qilishi mumkin."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Bo'sh disketni %s uskunasiga qo'ying"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Avto-o'rnatish disketi yaratilmoqda..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Ba'zi o'rnatish bosqichlari bajarilmadi.\n"
+"\n"
+"Rostdan chiqishni istaysizmi?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Tabriklaymiz!"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "O'chirib-yoqish"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Avto-o'rnatish disketni yaratish"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Qaytarish"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Avtomatik"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Paketlar tanlovini saqlash"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Til"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Litsenziya"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sichqoncha"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Qattiq diskni aniqlash"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "O'rnatish sinfi"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Tugmatag"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Xavfsizlik"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Diskni bo'lish"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Formatlash"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "O'rnatilishi kerak bo'lgan paketlarni tanlash"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "O'rnatilmoqda"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Tasdiqlash"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Foydalanuvchilar"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Tarmoq"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "OT yuklagichi"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "X serverini moslash"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Hisobot"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Xizmatlar"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Yangilanishlar"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Chiqish"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d-ta paket, %d Mb)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d paket"
diff --git a/perl-install/install/share/po/vi.po b/perl-install/install/share/po/vi.po
new file mode 100644
index 000000000..9b112e7b4
--- /dev/null
+++ b/perl-install/install/share/po/vi.po
@@ -0,0 +1,1608 @@
+# translation of DrakX-vi.po to
+# Vietnamese Translation for DrakX module.
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Trinh Minh Thanh <tmthanh@yahoo.com> 2001-2005.
+# Larry Nguyen <larry@vnlinux.org> 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-vi version\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-06-02 21:17+0700\n"
+"Last-Translator: Larry Nguyen <larry@vnlinux.org>\n"
+"Language-Team: <gnomevi-list@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Bạn còn phương tiện nào khác không?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Mạng (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Mạng (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr ""
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "URL của mirror?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr ""
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Đang kết nối với website của Mandriva Linux để lấy danh sách các mirrors "
+"hiệncó..."
+
+#: any.pm:234
+#, fuzzy, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Đang kết nối với website của Mandriva Linux để lấy danh sách các mirrors "
+"hiệncó..."
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Chọn một mirror để tải các gói về"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr ""
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr ""
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr ""
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Thư mục"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "Không thể tìm tập tin hdlist trên mirror này"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Kiểm tra các gói đã được cài đặt..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr ""
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Đang tìm các gói để nâng cấp"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Bạn đã chọn các máy chủ sau đây: %s\n"
+"\n"
+"\n"
+"Các máy chủ này sẽ được kích hoạt theo mặc định. Hiện giờ chưa có bất kỳ\n"
+"lỗi bảo mật nào được phát hiện, nhưng cũng có thể đã tìm ra một vài lỗi "
+"mới.\n"
+"Trong trường hợp đó, bạn phải nâng cấp càng sớm càng tốt.\n"
+"\n"
+"\n"
+"Bạn có thật sự muốn cài đặt các máy chủ này không?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Các gói tin sau đây sẽ được gỡ bỏ để cho phép nâng cấp hệ thống: %s\n"
+"\n"
+"\n"
+"Bạn có thật sự muốn gỡ bỏ các gói tin này không?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Đã đổi tên (các) đĩa sau:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (tên cũ là %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Mạng"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Hãy chọn phương tiện"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Tập tin tồn tại. Có ghi đè nó không?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Quyền hạn bị từ chối"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr ""
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Phương tiện hỏng %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Không thể tạo ảnh đĩa trước khi phân vùng"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Sẽ có ảnh chụp sau quá trình cài đặt trong %s"
+
+#: gtk.pm:136
+#, fuzzy, c-format
+msgid "Installation"
+msgstr "Đang cài đặt"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Cấu hình"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Cũng phải định dạng %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Một số phần cứng của máy tính cần các driver ``có bản quyền'' để hoạt động.\n"
+"Bạn có thể tìm thông tin về chúng tại: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Bật chức năng mạng"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Tắt chức năng mạng"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Đang tải về tập tin %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr ""
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Đang sao chép"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "phải có"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "quan trọng"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "rất tuyệt"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "tuyệt"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "có thể là"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr ""
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr ""
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr ""
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr ""
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr ""
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr ""
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr ""
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr ""
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr ""
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr ""
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr ""
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr ""
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr ""
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr ""
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr ""
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr ""
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr ""
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Máy trạm"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Văn phòng"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Các chương trình văn phòng: wordprocessors (OpenOffice.org Writer, Kword), "
+"spreadsheets (OpenOffice.org Calc, Kspread), chương trình xem PDF, v.v..."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Các chương trình văn phòng: wordprocessors (kword, abiword), spreadsheets "
+"(kspread, gnumeric), pdf viewers, v.v..."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Trò chơi"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Các chương trình giải trí: arcade, boards, strategy, v.v..."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Đa phương tiện"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Các chương trình chơi Audio-Video/soạn thảo"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "Bộ công cụ đọc gửi thư tín và tin tức (mutt, tin..) và để duyệt Web"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Máy tính mạng (khách)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Máy khách cho các giao thức khác bao gồm ssh"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Công cụ xoá cấu hình máy tính của bạn"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Các công cụ console"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Các trình soạn thảo, các tiện ích tập tin, các thiết bị đầu cuối"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Phát triển"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr ""
+"Các thư viện phát triển C và C++, các chương trình và các tập tin đi kèm"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Tài liệu"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Các sách, how-to cho Linux và phần mềm miễn phí"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Cơ Sở Về Chuẩn Linux (LSB). Hỗ trợ ứng dụng cho hãng thứ ba."
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Máy chủ Web"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Groupware"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Máy chủ Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Tường lửa/Định tuyến"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Cổng kết nối Internet"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Mail/News"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix mail server, Inn news server"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Máy chủ thư mục"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Máy chủ FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Máy chủ thông tin mạng và tên miền"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Máy chủ chia sẻ máy in và tập tin"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Máy chủ Samba, NFS"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Cơ sở dữ liệu"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Máy chủ cơ sở dữ liệu PostgreSQL và MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache và Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Thư"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Máy chủ thư Postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL hay MySQL máy chủ cơ sở dữ liệu"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Máy chủ mạng"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Máy chủ NFS, SMB, SSH, ủy nhiệm"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Môi trường đồ hoạ"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"K Desktop Environment, một môi trường đồ họa với một sưu tập tiện ích đi kèm"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME Workstation"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Môi trường đồ họa thân thiện cho các ứng dụng và các tiện ích màn hình nền"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWm Desktop"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Các màn hình nền đồ hoạ khác"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, v.v..."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Tiện ích"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Máy chủ SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Cấu hình máy chủ từ xa Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Giám sát và công cụ mạng"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Các công cụ theo dõi, quản lý tiến trình, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Đồ thuật Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Đồ thuật cấu hình máy chủ"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Có lỗi xảy ra, không rõ cách giải quyết thích hợp.\n"
+"Tiếp tục với rủi ro."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Một số gói đã không được cài đặt đúng đắn.\n"
+"Có thể do ổ đĩa cdrom hoặc đĩa cdrom của bạn bị lỗi.\n"
+"Kiểm tra cdrom trên máy tính bằng \"rpm -qpl media/main/*.rpm\"\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Bắt đầu bước `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Cài đặt Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> giữa các phần tử"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Hệ thống của bạn có cấu hình thấp. Bạn có thể gặp một số trục trặc khi\n"
+"cài đặt Mandriva Linux. Nếu xảy ra lỗi, bạn có thể thay thế bằng kiểu cài "
+"đặt trong\n"
+"chế độ văn bản bằng cách nhấn phím `F1' khi khởi động từ CDROM, rồi nhập "
+"`text'."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Nhóm gói tin được chọn"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Chọn các gói riêng"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Kích thước toàn bộ: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Gói hỏng"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Phiên bản:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Kích thước:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Quan trọng:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Bạn không thể chọn/bỏ chọn gói này"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "vì thiếu %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "vì không thỏa mãn %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "thử xúc tiến %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "để giữ %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "Bạn không thể chọn gói này vì không còn đủ không gian để cài đặt"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Các gói sau đây sẽ được cài đặt"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Các gói sau đây sẽ được gỡ bỏ"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Bắt buộc cài đặt gói này, không thể bỏ chọn nó"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Bạn không thể bỏ chọn gói này. Nó được cài đặt rồi"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Bạn không thể không chọn gói này. Nó phải được nâng cấp."
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Tự động hiển thị các gói đã được chọn"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Cài đặt"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Nạp/Lưu lựa chọn"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Đang cập nhật sự lựa chọn các gói"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Cài đặt tối thiểu"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Quản Lý Phần Mềm"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Chọn các gói bạn muốn cài đặt "
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Đang cài đặt"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Không có thông tin"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Thời gian còn lại"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Đang ước lượng"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d các gói"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Tóm tắt"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Cấu hình"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "chưa được cấu hình"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Phát hiện thấy phương tiện cài đặt sau đây.\n"
+"Nếu không dùng, hãy bỏ chọn chúng."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Bạn có thể copy nội dung của các CD lên đĩa cứng trước khi thực hiện cài "
+"đặt.\n"
+"Sau đó tiếp tục tiến hành cài đặt từ đĩa cứng và các gói vẫn sẵn dùng ngay "
+"sau khi cài đặt xong hệ thống."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Sao chép toàn bộ CD"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Lỗi xảy ra"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Hãy chọn tổ chức bàn phím."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Đây là danh sách đầy đủ các bàn phím hiện có "
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Cài đặt/Nâng cấp"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "Thực hiện việc cài đặt hay nâng cấp ?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Nâng cấp %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Khóa mã hóa cho %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Đang cấu hình IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"Không còn không gian trống 1MB cho bootstrap! Vẫn tiếp tục cài đặt, nhưng để "
+"khởi động hệ thống, bạn cần tạo phân vùng bootstrap trong DiskDrake."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Bạn cần tạo PPC PReP Boot bootstrap! Vẫn tiếp tục cài đặt, nhưng để khởi "
+"động hệ thống, bạn cần tạo phân vùng bootstrap trong DiskDrake."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Đổi đĩa CD!\n"
+"\n"
+"Hãy nạp đĩa CD có nhãn \"%s\" vào ổ đĩa rồi nhấn OK.\n"
+"Nếu bạn không có, nhấn Bỏ qua để không chạy cài đặt từ đĩa này."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Đang tìm các gói hiện có"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Hãy chọn nạp hoặc lưu lựa chọn gói tin.\n"
+"Định dạng giống các tập tin auto_install được tạo."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Tải"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Lưu"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Tập tin lỗi"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Kích thước được chọn lớn hơn không gian hiện có"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Kiểu cài đặt"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Bạn đã không chọn bất kỳ một nhóm gói tin nào\n"
+"Hãy chọn việc cài đặt tối thiểu mà bạn muốn"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Với X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Với tài liệu cơ bản (khuyến nghị!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Cài đặt thật tối thiểu (đặc biệt là không có urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Toàn bộ"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Chuẩn bị cài đặt"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Đang cài đặt gói %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Lỗi khi đang xử lý các gói:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Vẫn cứ tiếp tục?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr ""
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "Lưu lựa chọn các gói"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "Lỗi khi đang cài đặt các gói:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Cấu hình sau khi cài đặt"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "Hãy đảm bảo là phương tiện Update Modules có trong drive %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Cập nhật"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Bây giờ bạn có thể tải xuống các gói cập nhật. Những gói này được cập nhật\n"
+"sau khi phát hành phân phối Mandriva Linux này. Chúng có thể\n"
+"là cập nhật sửa lỗi hay cập nhật bảo mật.\n"
+"\n"
+"Để tải về những gói này, bạn cần có một kết nối Internet hoạt động.\n"
+"\n"
+"Bạn có muốn cài đặt các gói cập nhật không ?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Đang kết nối với mirror để lấy danh sách các gói hiện có"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Không thể kết nối được với mirror %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Phần cứng"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Card âm thanh"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Bạn có card âm thanh ISA không ?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Chạy lệnh \"alsaconf\" hoặc \"sndconfig\" sau khi cài đặt để cấu hìnhcard âm "
+"thanh"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr ""
+"Không phát hiện được card âm thanh nào. Hãy thử \"harddrake\" sau khi cài đặt"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Card TV"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Giao diện đồ họa"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Mạng & Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Proxies"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "đã cấu hình"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Mức Bảo Mật"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Tường lửa"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "Đã kích hoạt"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "Đã tắt"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Khởi động"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s trên %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "Chưa đặt cấu hình cho X. Bạn có chắc là muốn như vậy không ?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Đang chuẩn bị trình khởi động"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"Bạn có máy tính đã quá cũ hoặc không được biết đến, trình khởi động yaboot "
+"sẽ không làm việc. Vẫn tiếp tục cài đặt, nhưng bạn sẽ cần sử dụng BootX hoặc "
+"phương tiện khác để khởi động máy tính. Đối số của kernel cho root fs là: "
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Bạn có muốn sử dụng aboot không?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Lỗi khi cài đặt aboot, \n"
+"Cố gắng cài đặt kể cả khi nó có thể phá hỏng phân vùng đầu tiên?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Với mức bảo mật này, chỉ người quản trị mới có quyền truy cậpvào các tập tin "
+"trong phân vùng Windows."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Nạp một đĩa mềm trắng vào ổ %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Đang tạo đĩa mềm cài đặt tự động"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Một số bước chưa được hoàn thành.\n"
+"\n"
+"Bạn thực sự muốn thoát ra bây giờ?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Chúc mừng"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Khởi động lại"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Tạo đĩa mềm cài đặt tự động"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"Cài đặt tự động có thể hoàn toàn tự động nếu\n"
+"muốn, trong trường hợp này nó sẽ tiếp nối ổ cứng!!\n"
+"(Nghĩa là tiến hành cài đặt lên một ổ khác).\n"
+"\n"
+"Có thể bạn thích diễn lại quá trình cài đặt.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Diễn lại"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Tự động"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Lưu lựa chọn các gói"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Chọn ngôn ngữ"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Giấy phép"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Chuột"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Dò tìm đĩa cứng"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr ""
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Bàn phím"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Bảo mật"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Phân vùng đĩa"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr ""
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr ""
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Đang cài đặt"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Xác nhận"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Người dùng"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Chạy mạng"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Trình nạp khởi động"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Cấu hình X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Tóm tắt"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Dịch vụ"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Cập nhật"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Thoát ra"
+
+#~ msgid "%d packages"
+#~ msgstr "%d các gói"
+
+#~ msgid "Language"
+#~ msgstr "Chọn ngôn ngữ"
+
+#~ msgid "License"
+#~ msgstr "Giấy phép"
+
+#, fuzzy
+#~ msgid "Installation class"
+#~ msgstr "Chọn kiểu cài đặt"
+
+#, fuzzy
+#~ msgid "Formatting"
+#~ msgstr "Đang ước lượng"
+
+#, fuzzy
+#~ msgid "Choosing packages"
+#~ msgstr "Chọn các gói cài đặt"
+
+#~ msgid "Users"
+#~ msgstr "Người dùng"
+
+#~ msgid "Networking"
+#~ msgstr "Chạy mạng"
+
+#~ msgid "Configure X"
+#~ msgstr "Cấu hình X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Không thể truy cập các mô-đun kernel tương ứng với kernel của bạn (thiếu "
+#~ "tập tin %s), thường là do đĩa mềm khởi động không đồng bộ với các phương "
+#~ "tiện cài đặt (hãy tạo một đĩa mềm khởi động mới hơn)"
diff --git a/perl-install/install/share/po/wa.po b/perl-install/install/share/po/wa.po
new file mode 100644
index 000000000..fb74b1f70
--- /dev/null
+++ b/perl-install/install/share/po/wa.po
@@ -0,0 +1,1642 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Pablo Saratxaga <pablo@mandriva.com>, 2000,2002,2003,2004,2006.
+# Lorint Hendschel <lorinthendschel@skynet.be>, 2002.
+# Lucyin Mahin <lucyin@walon.org>, 2002,2003,2005.
+# Pablo Saratxaga <pablo@walon.org>, 2003,2004,2005,2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2005-02-24 21:42+0100\n"
+"Last-Translator: Pablo Saratxaga <pablo@walon.org>\n"
+"Language-Team: Walloon <linux-wa@walon.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "Avoz vs co ds ôtes sopoirts?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"Les sopoirts shuvants ont stî trovés eyet vont esse eployîs tins "
+"d' l' astalaedje: %s\n"
+"\n"
+"\n"
+"Avoz vs cor on sopoirt d' astalaedje a-z apontyî?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "Plake lazer"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "Rantoele (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "Rantoele (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "Rantoele (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "Hårdêye do muroe?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "Li hårdêye doet cmincî avou «ftp://» ou «http://»"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr ""
+"Dj' atôtche li waibe da Mandriva Linux po-z aveur li djivêye des muroes k' i "
+"gn a"
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr ""
+"Dji n' a savou atôtchî l' waibe da Mandriva Linux po-z aveur li djivêye des "
+"muroes k' i gn a"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "Tchoezixhoz on muroe po nd aberweter des pacaedjes foû"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "Apontiaedje NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "Tapez l' no d' lodjoe eyet l' ridant di vosse sopoirt NFS"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "I manke li no d' lodjoe"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "Li ridant doet cmincî avou «/»"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "No d' lodjoe do montaedje NFS?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "Ridant"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "Di rawete"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr ""
+"Dji n' sai trover l' djivêye di fitchîs so ç' muroe ci. Acertinez vs ki "
+"l' eplaeçmint est corek."
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "Dji cwir après les pacaedjes ki sont ddja astalés..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "Dji oistêye des pacaedjes divant d' fé l' metaedje a djoû..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "Dji cwir après les pacaedjes a mete a djoû"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"Vos avoz tchoezi le(s) sierveu(s) shuvant(s): %s\n"
+"\n"
+"\n"
+"Ces sierveus sront activés a l' enondaedje di l' éndjole. I n' ont nén\n"
+"di problinme di såvrité cnoxhou, mins i s' pôreut k' onk soeye trové el "
+"futeur.\n"
+"Dins ç' cas, vos dvroz a tot côp mete a djoû li pacaedje po esse a houte\n"
+"des problinmes.\n"
+"\n"
+"\n"
+"Voloz vs vormint astaler ces sierveus?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"Les pacaedjes shuvants vont esse oistés, po pleur mete a djoû vosse "
+"sistinme:\n"
+" %s\n"
+"\n"
+"Voloz vs vormint oister ces pacaedjes la?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "Les plakes shuvantes ont candjî d' no:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (lomêye divant %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "Rantoele"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "Tchoezixhoz on sopoirt s' i vs plait"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "Li fitchî egzistêye dedja. El voloz vs sipotchî?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "Permission rfuzêye"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "Måva no NFS"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "Måva sopoirt %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "Dji n' pou nén fé des waitroûlêyes divant l' pårtixhaedje"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "Les waitroûlêyes seront metowes el ridant %s après l' astalaedje"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "Astalaedje"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "Apontiaedje"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "Vos dvoz abwesner eto %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"Vos avoz di l' éndjolreye k' a mezåjhe di mineus «prôpietaire» po roter\n"
+"Vos trovroz di l' informåcion so zels so: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "Metant li rantoele en alaedje"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "Dj' arestêye li rantoele"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "Aberwetaedje do fitchî %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "Dji copeye sacwants pacaedjes sol deure plake po pus tård"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "Dji copeye..."
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "k' i fåt d' tote foice aveur"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "ki vént bén a pont"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "mo plaijhi a-z aveur"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "plaijhi a-z aveur"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "ki vénreut co bén a pont"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "ligne di prodûts 2007"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Côpe feu Invictus"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Môde «Discovery Live»"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "Kimint s' edjîstrer"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Siervices so les fyis di Mandriva"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "Novea tinme"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "Posse éndjolrece"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "Posse di buro"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"Programes di buro: aspougneus di tecse (OpenOffice.org Writer, Kword), "
+"tåvleus (OpenOffice.org Calc, Kspread), håyneus pdf, evnd."
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"Programes di buro: aspougneus di tecse (kword, abiword), tåvleus (kspread, "
+"gnumeric), håyneus pdf, evnd."
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "Posse di djeus"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "Programes pasmints d' tins: årcåde, plateas, stratedjeye, evnd."
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "Posse multimedia"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "Programes po vey/schoûter/candjî des sons et videyos"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Posse pol rantoele daegnrece"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr ""
+"Eshonna d' usteyes po lére et evoyî des messaedjes (pine, mutt, tin...) et "
+"po naivyî so les pådjes waibe"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "Copiutrece rantoele (cliyint)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "Cliyints po les protocoles k' i gn a (ssh avou)"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "Usteyes po vos aveur pus åjhey d' apontyî vosse copiutrece"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Usteyes pol conzôle"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "Aspougneus, shells, usteyes po fitchîs, terminås"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "Programaedje"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "Livreyes di programaedje C et C++, programes et fitchîs *.h"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "Documintåcion"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Lives et Howtos so GNU/Linux et les libes programes"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Li «Linux Standard Base». Sopoirt po les programes tîces"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Sierveu waibe"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "Ovraedje e groupe"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Sierveu Kolab"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "Côpe feu/Routeu"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Pasrele pol rantoele daegnrece"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "Emilaedje/Copinreyes"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Sierveu d' emilaedje postfix, sierveu d' copinreyes INN"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "Sierveu d' botins"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "Sierveu FTP"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "Sierveu di nos d' dominne eyet d' informåcion rantoele"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "Sierveu di pårtaedje di fitchîs eyet di scrireces"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "Sierveu NFS, sierveu Samba"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "Sierveu, båzes di dnêyes"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "Sierveu båze di dnêyes PostgreSQL eyet MySQL"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Sierveu, Waibe/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache eyet Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "Emilaedje"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Sierveu d' emilaedje postfix"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "Sierveu båze di dnêyes PostgreSQL ou MySQL"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "Copiutrece sierveu sol rantoele"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "Sierveu NFS, sierveu SMB, sierveu procsi, sierveu SSH"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "Evironmint grafike"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "Posse éndjolrece KDE"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr ""
+"L' evironmint di scribanne KDE, l' evironmint grafike di båze, avou ene "
+"ramexhnêye d' usteyes ki vnèt avou"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "Posse éndjolrece GNOME"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr ""
+"Èn evironmint grafike avou on hopea di programes amiståves et d' usteyes pol "
+"sicribanne"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "Sicribanne IceWm"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "Ôtes sicribannes grafikes"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker, Enlightenment, Fvwm, evnd."
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "Usteyes"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "Sierveu SSH"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Sierveu d' apontiaedje då lon Webmin"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "Usteyes rantoele/Corwaitaedje"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "Usteyes di corwaitaedje, contaedje des process, tcpdump, nmap, ..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Macreas Mandriva"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "Macreas po-z apontyî on sierveu"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"Åk n' a nén stî, et dji n' sai cmint m' saetchî l' cou foû des\n"
+"strons. Si vos continouwez, vos dvroz tirer vosse plan tot seu."
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"Sacwants consecants pacaedjes n' ont nén stî astalés comifåt.\n"
+"Motoit vosse lijheu di plakes lazer, oudonbén vosse plake lazer, ont\n"
+"des rujhes.\n"
+"Verifyîz vosse plake lazer sor ene copiutrece ddja astalêye, avou\n"
+"l' comande «rpm -qpl media/main/*.rpm»\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "Intrant e l' etape '%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Astalåcion di Mandriva Linux %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> candjî elemints"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"Vosse sistinme a po di rsources. Vos pôrîz aveur des rujhes po\n"
+"l' astalåcion di Mandriva Linux. Si çoula arive, vos ploz sayî ene\n"
+"astalåcion e môde tecse. Po çoula, tchoûkîz sol tape «F1» a l' enondaedje\n"
+"et poy tapez «text»."
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "Tchoezi les groupes di pacaedjes"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "Tchoezi tchaeke pacaedje sepårumint"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "Grandeu å totå: %d / %d Mo"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "Måva pacaedje"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "Modêye: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "Grandeu: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d Ko\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "Impôrtance: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "Vos n' poloz nén tchoezi/distchoezi ci pacaedje chal"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "cåze di %s ki manke"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "cåze di %s ki n' est nén satisfyî"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "dji saye di promouvwer %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "po wårder %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr ""
+"Vos n' poloz tchoezi ci pacaedje chal ca n' a nén del plaece assez ki po "
+"l' astaler"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "Les pacaedjes ki shuvèt vont esse astalés"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "Les pacaedjes ki shuvèt vont esse disastalés"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "Ci pacaedje est obligatwere, vos n' poloz nén li distchoezi"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "Vos n' poloz nén distchoezi ci pacaedje chal. Il est ddja astalé"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "Vos n' poloz nén distchoezi ci pacaedje chal. I l' fåt mete a djoû"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "Mostrer les pacaedjes tchoezis otomaticmint"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "Astalaedje"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "Tcherdjî/schaper li tchuze des pacaedjes"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "Metaedje a djoû del tchuze des pacaedjes"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "Astalåcion minimåle"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "Manaedjaedje di programes"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "Tchoezixhoz les pacaedjes k' vos voloz astaler"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "Astalant"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "Po vey les rclames"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "Tins ki dmeure "
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "Dj' asteme"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d pacaedje"
+msgstr[1] "%d pacaedjes"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "Rascourti éndjolreye"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "Apontyî"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "nén apontyî"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"Les sopoirts d' astalaedje shuvants ont stî trovés.\n"
+"Si vos vloz passer houte di sacwants d' zels, vos les ploz asteure "
+"distchoezi."
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"Vos ploz copyî l' contnou des plakes lazer so vosse deure plake divant "
+"d' ataker l' astalaedje.\n"
+"L' astalaedje si frè-st adon a pårti del deure plake, eyet les pacaedjes "
+"vont dmorer disponibes on côp ki l' sistinme serè astalé."
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "Copyî les plakes lazer en etir"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "Dj' aroke so ene sacwè"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "Tchoezixhoz li sôre di vosse taprece."
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "Vochal li djivêye di totes les tapreces k' on pout tchoezi"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "Astaler/Mete a djoû"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "C' est ene astalåcion ou on metaedje a djoû?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "Metaedje a djoû di %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "Clé d' ecriptaedje po %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "Apontiant les éndjins IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"I gn a pont del plaece po on secteu d' enondaedje di 1 Mo! L' astalåcion "
+"continouwrè, mins i vos fårè fé li pårticion d' enondaedje avou DiskDrake po "
+"poleur enonder vosse sistinme."
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"Vos dvoz ahiver on secteu d' enondaedje PPC PReP! L' astalåcion continouwrè, "
+"mins i vos fårè fé li pårticion d' enondaedje avou DiskDrake po poleur "
+"enonder vosse sistinme."
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"Candjîz vosse CDROM!\n"
+"\n"
+"Metoz li CDROM lomé «%s» dvins l' lijheu, s' i vs plait;\n"
+"et clitchîz so «'l est bon» on côp ki c' est fwait.\n"
+"Si vos n' l' avoz nén, clitchîz so «Rinoncî» po rinoncî a astaler a pårti\n"
+"di ci CDROM chal."
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "Dji cwir après les pacaedjes k' i gn a"
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+"I gn a pus del plaece assez so vosse sistinme po-z astaler ou mete a djoû (%"
+"dMo > %dMo)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"Tchoezixhoz si vos vloz tcherdjî ou schaper li tchuze des pacaedjes.\n"
+"Li cogne est l' minme ki po les fitchîs fwaits po l' oto-astalaedje."
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "Tcherdjî"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "Schaper"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "Måva fitchî"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "Li grandeu tchoezeye est pus grande kel plaece ki dmeure"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "Sôre d' astalaedje"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"Vos n' avoz tchoezi nou groupe di pacaedjes\n"
+"Tchoezixhoz li sôre d' astalåcion minimom ki vos vloz"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "Avou X11"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "Avou li documintåcion di båze (ricomandé!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "Astalåcion vormint minimom (i gn a nén di urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "Totafwait"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "Dj' aprestêye l' astalaedje"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "Dj' astale li pacaedje %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "Åk n' a nén stî come dj' arindjive les pacaedjes:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "Dji continouwe tot l' minme?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "Rissayî"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "Passer houte di ç' pacaedje ci"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "Passer houte di tos les pacaedjes do sopoirt «%s»"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "Rivni al tchuze des pacaedjes et des sopoirts"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "Åk n' a nén stî come dj' astaléve li pacaedje %s."
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "Apontiaedje di post-astalåcion"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr ""
+"Acertinez vs ki l' sopoirt di metaedje a djoû des modules est dins l' lijheu "
+"%s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "Metaedjes a djoû"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"Vos avoz l' possibilité d' aberweter les pacaedjes k' on stî metous\n"
+"a djoû dispoy li fijhaedje del distribucion.\n"
+"I pôrént coridjî des bugs ou des problinmes di såvrité.\n"
+"\n"
+"Po ls aberweter, vos dvoz aveur on raloyaedje al daegntoele ki rote.\n"
+"\n"
+"Voloz vs astaler les pacaedjes metous a djoû?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "Dj' atôche li muroe po-z aveur li djivêye des pacaedjes"
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "Dji n' a savou m' raloyî å muroe %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "Éndjolreye"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "Cåte son"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "Avoz vs ene cåte son ISA?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr ""
+"Enondez «alsaconf» ou «sndconfig» après l' astalåcion po-z apontyî vosse "
+"cåte son"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "Nole cåte son di detectêye. Sayîz «harddrake» après l' astalåcion"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "Cåte tévé"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "Eterface grafike"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "Rantoele locåle & daegnrece"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "Procsis"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "apontyî"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "Livea di såvrité"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "Côpe feu"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "metou en alaedje"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "dismetou"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "Enondaedje"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%s so %s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr ""
+"Vos n' avoz nén apontyî X11 (li sistinme di håynaedje grafike).\n"
+"Estoz vs seur di voleur çoula?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "Dj' aprestêye l' enondrece"
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"I shonne ki voste éndjole est pår trop viye oudonbén k' ele nén cnoxhowe; "
+"adon l' enondrece yaboot ni rotrè nén por vos. L' astalaedje va continouwer, "
+"mins vos dvroz eployî BootX ou ôte tchoi po-z enonder voste éndjole. "
+"L' årgumint a passer å nawea pol pårticion raecene est: root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "Voloz vs eployî aboot?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"Åk n' a nén stî tot astalant aboot, \n"
+"voloz vs ki dji saye di foirci l' astalåcion, minme si çoula pout\n"
+"distrure li prumire pårticion?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr ""
+"Dins ç' livea di såvrité chal, l' accès åzès fitchîs des pårticions Windows "
+"n' est possibe ki po l' manaedjeu di l' éndjole."
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "Metoz ene blanke plakete divins li lijheu %s"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "Dji fé li plakete d' enondaedje otomatike"
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"Sacwantès etapes n' ont nén stî fwaites,\n"
+"\n"
+"Voloz vs vormint cwiter asteure?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "Complumints"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "Renonder l' éndjole"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "Fé li plakete d' astalaedje otomatike"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"L' astalaedje pout esse totafwait otomatike si vos vloz,\n"
+"dins ci cas i va abwesner totafwait li deure plake!!\n"
+"(dj' ô bén c' est po-z astaler sor ene nouve éndjole).\n"
+"\n"
+"Motoit ki vos vloz rifé l' astalåcion.\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "Rifé"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "Otomatike"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "Schaper li tchuze des pacaedjes"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "Lingaedje"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "Licince"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "Sori"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "Trover les deurès plakes"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "Li classe d' astalåcion"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "Taprece"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "Såvrité"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "Pårtixhaedje"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "Abwesnaedje"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "Tchoezi les pacaedjes"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "Astalant"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "Otintifiaedje"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "Uzeus"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "Rantoele"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "Enondrece"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "Apontyî X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "Rascourti éndjolreye"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "Siervices"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "Metaedjes a djoû"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "Moussî foû"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d pacaedje, %d Mo)"
+#~ msgstr[1] "(%d pacaedjes, %d Mo)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d pacaedjes"
+
+#~ msgid "Language"
+#~ msgstr "Lingaedje"
+
+#~ msgid "License"
+#~ msgstr "Licince"
+
+#~ msgid "Installation class"
+#~ msgstr "Li classe d' astalåcion"
+
+#~ msgid "Formatting"
+#~ msgstr "Abwesnaedje"
+
+#~ msgid "Choosing packages"
+#~ msgstr "Tchoezi les pacaedjes"
+
+#~ msgid "Users"
+#~ msgstr "Uzeus"
+
+#~ msgid "Networking"
+#~ msgstr "Rantoele"
+
+#~ msgid "Configure X"
+#~ msgstr "Apontyî X"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "Dji n' sai vey les modules po vosse nawea (i gn a pont d' fitchî %s), "
+#~ "çoula vout probåblumint dire ki vosse plakete d' enondaedje n' a nén stî "
+#~ "fwait pol sopoirt d' astalaedje ki vos vloz eployî. Vos dvrîz fé ene "
+#~ "nouve plakete, a pårti des imådjes ki vnèt avou li modêye di Mandriva "
+#~ "Linux ki vos vloz astaler"
diff --git a/perl-install/install/share/po/zh_CN.po b/perl-install/install/share/po/zh_CN.po
new file mode 100644
index 000000000..180b1eb7e
--- /dev/null
+++ b/perl-install/install/share/po/zh_CN.po
@@ -0,0 +1,1552 @@
+# drakx messages in Simplified Chinese
+# Danny Zeng <danny@zeng.com.cn>, 2000, 2002
+# Jesse Kuang <kjx@mandriva.com>, 2002
+# Shiyu Tang <shiyutang@netscape.net>, 2003, 2004
+# Funda Wang <fundawang@linux.net.cn>, 2002, 2003, 2004, 2005
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 2007\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-08-25 18:54+0800\n"
+"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
+"Language-Team: Mandriva Linux i18n Team <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "您有其它赠品介质吗?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"找到了下列介质,并且在安装时会使用:%s。\n"
+"\n"
+"\n"
+"您是否想要配置赠品安装介质?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "网络 (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "网络 (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "网络 (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "镜像的 URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL 必须以 ftp:// 或 http:// 开始"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "正在连接 Mandriva Linux 网站获得可用镜像的列表..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "连接 Mandriva Linux 网站以获得可用镜像的列表失败"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "选择一个镜像网站来取得软件包"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "NFS 设置"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "请输入您 NFS 介质的主机名和目录"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr "缺少主机名"
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr "目录必须以“/”开头"
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS 挂载的主机名?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "目录"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr "赠品"
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "无法在此镜像上找到软件包列表文件。请确定位置正确。"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "正在查找已经安装过的软件包..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "正在删除由于更新所致的软件包..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "正在寻找可升级的程序..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"您选择了以下服务器: %s\n"
+"\n"
+"\n"
+"这些服务器默认会被激活。它们没有已知的安全问题, 但可能发现新问题。如果那样, "
+"您一定要立即升级。\n"
+"\n"
+"\n"
+"您真要安装这些服务器吗?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"为了升级您的系统, 将要删除下列的软件包: %s\n"
+"\n"
+"\n"
+"您确定要删除这些软件包吗?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "下列盘片已重命名:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s(以前的名称为 %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "网络"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "请选择介质"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "文件已经存在。覆盖吗?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "没有权限"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "无效的 NFS 名称"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "无效的介质 %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "无法在分区完成之前进行屏幕捕捉"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "安装完成后, 所有的屏幕抓图都会保存到 %s 之中"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "安装"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "配置"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "您还必须格式化 %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"您系统中的部分硬件需要“私有”的驱动程序才能工作。\n"
+"有关它们的情况, 请您查看: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "正在启动网络"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "正在禁用网络"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "正在下载文件 %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "正在将软件包复制到磁盘中以备后用"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "复制进行中"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "必须拥有"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "非常重要"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "比较重要"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "一般"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "或许有用"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 产品线"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "防火城"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live 模式"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "如何注册"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva 在线服务"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "全新主题"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "卡巴斯基"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "工作站"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "办公工作站"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"办公程序: 字处理(OpenOffice.org Writer、Kword), 电子表格(OpenOffice.org "
+"Calc、Kspread)、PDF 阅读器等"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"办公程序: 字处理(kword、abiword), 电子表格(kspread、gnumeric)、pdf 阅读器等"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "游戏机"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "游戏程序: 街机、棋盘、战略等等"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "多媒体工作站"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "声音和视频播放/编辑程序"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "Internet 工作站"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "一组工具, 用于收发电子邮件及新闻组(mutt, tin..), 浏览网站"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "网络计算机(客户端)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "SSH 等不同协议客户端"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "简化计算机配置的工具"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "控制台工具"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "编辑器, shell, 文件工具, 终端"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "开发"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C 和 C++ 开发库, 程序及头文件"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "文档"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "有关 Linux 和自由软件的书籍和指南"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "Linux Standard Base。第三方应用程序支持"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "Web 服务器"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "群件"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab 服务器"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "防火墙/路由器"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "Internet 网关"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "邮件/新闻"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix 邮件服务器、Inn 新闻服务器"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "目录服务器"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP 服务器"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "域名和网络信息服务器"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "文件和打印机共享服务器"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS 服务器、Samba 服务器"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "数据库"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL 和 MySQL 数据库服务"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache 和 Pro-ftpd"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "邮件"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix 邮件服务器"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL 或 MySQL 数据库服务"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "网络计算机服务器"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS 服务器, SMB 服务器, 代理服务器, SSH 服务器"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "图形环境"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE 工作站"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "KDE 桌面环境, 基本的图形环境和一组配套的工具"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 工作站"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "配备了用户友善的应用程序与桌面工具的图形环境"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWM 桌面"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "其它图形桌面"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker、Enlightenment、Fvwm 等"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "工具"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH 服务器"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin 远程配置服务器"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "网络工具/监视"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "监视工具、进程统计、tcpdump、nmap……"
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva 向导"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "服务器配置向导"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"发生错误, 可是我不知道该怎样处理才好。\n"
+"继续下去会怎样就看您的运气了。"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"一些重要软件包没有正确的安装。\n"
+"您的光盘或者驱动器可能有缺陷。\n"
+"请在一台安装好的电脑上检查光盘, 命令是“rpm -qpl media/main/*.rpm”\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "进入步骤“%s”\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux 安装 %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 可在元素间切换"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"您系统的资源过低。您在安装 Mandriva Linux 的过程中可能遇到问题。\n"
+"如果您真的遇到问题的话,可以试试文本安装。要进入文本安装,请在启动时按“F1”,"
+"然后输入“text”。"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "程序组选择"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "选择单个软件包"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "总共大小: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "有错的软件包"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "版本: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "大小: "
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "重要程度: "
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "您不能改变这个软件包的选定"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "由于缺少 %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "由于不满足的 %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "尝试推广 %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "为了保留 %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "您不可以选择这个软件包。没有足够空间安装它。"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "即将安装下列软件包"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "即将卸载下列软件包"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "这个软件包是必需的, 不能取消选定"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "您不可以取消选择这个软件包。它已经安装过了"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "您不能不选择这个软件包。它必须升级"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "自动显示选中的软件包"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "安装"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "装入/保存选择"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "更新软件包选择"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "最小安装"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "软件管理"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "选择您想要安装的软件包"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "安装"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "无细节"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "剩余时间"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "正在估计"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 个软件包"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "摘要"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "配置"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "未配置"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"找到了下列安装介质。\n"
+"如果您想要跳过其中一些, 请不要选中。"
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"您可以选择在安装之前将光盘的全部内容复制到硬盘中。\n"
+"然后,安装将会从硬盘继续进行。当系统安装完成后,软件包仍然保留,以供日后添加"
+"软件使用。"
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "复制整张光盘"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "发生了一个错误"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "请选择您使用的键盘布局。"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "在此列出了可用的全部键盘"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "安装/升级"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "现在要新装还是升级?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "升级 %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "%s 的加密密钥"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "配置 IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"无法创建启动空间(1MB)!安装将继续, 但如需启动系统, 您可用“Drak 磁盘管理”创建"
+"启动分区"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"您需要创建一个 PPC PReP 启动空间!安装将继续, 但如需启动系统, 您可用“Drak 磁"
+"盘管理”创建启动分区"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"请换另一片光盘!\n"
+"\n"
+"请在驱动器中插入标有“%s”的光盘, 然后单击“确定”。\n"
+"如果您没有这张光盘, 请单击“取消”, 放弃安装这张光盘上的软件。"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "正在寻找可安装的程序..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr "系统的剩余空间不足以完成安装或升级(%d MB > %d MB)"
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"请选择装入或保存软件包选择息。\n"
+"格式与自动安装生成的文件一样。"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "装入"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "保存"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "文件有错"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "您选择的超过可用空间"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "安装类型"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr "您没有选择任何的组件, 请选择最小安装:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "安装 X"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "安装基础文档(建议!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "真正最小安装(注意没有 urpmi 包管理工具)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "全部"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "正在准备安装"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "正在安装软件包 %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "排列软件包时出错: "
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "真的要继续?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "重试"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr "跳过此软件包"
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr "通过介质“%s”中的全部软件包"
+
+#: steps_interactive.pm:583
+#, c-format
+msgid "Go back to media and packages selection"
+msgstr "返回介质和软件包选择"
+
+#: steps_interactive.pm:586
+#, c-format
+msgid "There was an error installing package %s."
+msgstr "安装软件包 %s 时出错。"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "安装后的配置"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "请确定更新模块介质位于驱动器 %s"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "更新"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"您现在有机会下载软件更新包。更新软件包是在发行版发布之后发布的。它们可能包含"
+"对一些安全问题或故障的修改。\n"
+"\n"
+"要下载这些软件包, 您的网络连接必须已经配置好并且可以使用。\n"
+"\n"
+"您是否要安装升级包?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "正在连接镜像网站以取得可供安装的软件包的列表..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "无法连接镜像 %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "硬件"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "声卡"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "您有 ISA 声卡吗?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "安装之后运行“alsaconf”或“sndconfig”来配置您的声卡"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "没有检测到声卡。请在安装之后尝试“Drak 硬件配置”。"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "电视卡"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "图形界面"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "网络和 Internet"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "代理服务器"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "已配置"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "安全级别"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "防火墙"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "已激活"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "已禁用"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "启动"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "位于 %2$s 上的 %1$s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "您还没有配置过 X。您真的想要这样吗?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "正在准备引导程序..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"看来您用的是老掉牙或不认识的机器, yaboot 启动引导程序无法为您工作。安装将继"
+"续, 不过您需要使用 BootX 或其它方式启动您的机器。根文件系统的内核参数是:"
+"root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "您要使用 aboot 吗?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"安装 aboot 时出错, \n"
+"强迫安装会毁坏第一个分区, 要继续吗?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "在此安全级别中, 只有管理员才能访问 Windows 分区中的文件。"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "请在驱动器 %s 中插入一张空白软盘"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "正在创建自动安装软盘..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"某些步骤没有完成。\n"
+"\n"
+"您真的要现在退出吗?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "恭喜"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "重新启动"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "生成自动安装软盘"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"如果需要的话, 自动安装可以完全自动执行。\n"
+"但此时, 安装程序将会接管硬盘!!\n"
+"(只对在另外的计算机上安装而言)。\n"
+"\n"
+"您可能愿意重现安装过程。\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "重现"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "自动"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "保存软件包选择"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "语言"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "许可"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "鼠标"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "硬盘检测"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "安装类别"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "键盘"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "安全"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "分区"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "格式化"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "选择软件包"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "安装"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "身份验证"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "用户"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "联网"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "引导程序"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "配置 X"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "摘要"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "服务"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "更新"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "退出"
diff --git a/perl-install/install/share/po/zh_TW.po b/perl-install/install/share/po/zh_TW.po
new file mode 100644
index 000000000..e7c17f605
--- /dev/null
+++ b/perl-install/install/share/po/zh_TW.po
@@ -0,0 +1,1609 @@
+# translation of zh_TW.po to 正體中文
+# translation of zh_TW.po to Chinese Traditional
+# translation of DrakX-zh_TW.po to Chinese Traditional
+# drakbootdisk messages in Traditional Chinese
+# Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+# Platin <platin@cle.linux.org.tw> , 2000
+# Kenduest Lee <kenduest@i18n.linux.org.tw> , 2002
+# Danny Zeng <danny@zeng.com.cn>, 2000.
+# Joe Man <trmetal@yahoo.com.hk>, 2001.
+# Chong Sein Yeo <csyeo@hal-pc.org>, 2003.
+# Hilbert <freehil@yahoo.com>, 2003, 2004.
+# Hilbert <h@mandrake.org>, 2004.
+# hilbert <h@mandrake.org>, 2004.
+# Shiva Huang <blueshiva@giga.net.tw>, 2005.
+# Shiva Huang <shivahuang@gmail.com>, 2005, 2006
+# You-Cheng Hsieh <yochenhsieh@xuite.net>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:07+0100\n"
+"PO-Revision-Date: 2006-09-14 09:46+0800\n"
+"Last-Translator: Shiva Huang <shivahuang@gmail.com>\n"
+"Language-Team: Traditional Chinese <zh@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+"X-Poedit-Language: Chinese\n"
+"X-Poedit-Country: TAIWAN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:159
+#, c-format
+msgid "Do you have further supplementary media?"
+msgstr "您還有其他的補充媒介嗎?"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:162
+#, c-format
+msgid ""
+"The following media have been found and will be used during install: %s.\n"
+"\n"
+"\n"
+"Do you have a supplementary installation medium to configure?"
+msgstr ""
+"已經找到下列媒介,它們將會在安裝過程中使用到:%s。\n"
+"\n"
+"\n"
+"您有其他的安裝媒介需要設定嗎?"
+
+#: any.pm:170
+#, c-format
+msgid "CD-ROM"
+msgstr "CD-ROM"
+
+#: any.pm:171
+#, c-format
+msgid "Network (HTTP)"
+msgstr "網路 (HTTP)"
+
+#: any.pm:172
+#, c-format
+msgid "Network (FTP)"
+msgstr "網路 (FTP)"
+
+#: any.pm:173
+#, c-format
+msgid "Network (NFS)"
+msgstr "網路 (NFS)"
+
+#: any.pm:212
+#, c-format
+msgid "URL of the mirror?"
+msgstr "映像站的 URL?"
+
+#: any.pm:218
+#, c-format
+msgid "URL must start with ftp:// or http://"
+msgstr "URL 開頭必須是 ftp:// 或 http://"
+
+#: any.pm:229
+#, c-format
+msgid ""
+"Contacting Mandriva Linux web site to get the list of available mirrors..."
+msgstr "正在連結到 Mandriva Linux 網站查詢可用的映射站台..."
+
+#: any.pm:234
+#, c-format
+msgid ""
+"Failed contacting Mandriva Linux web site to get the list of available "
+"mirrors"
+msgstr "無法連結到 Mandriva Linux 網站取得可用的映射站台"
+
+#: any.pm:244
+#, c-format
+msgid "Choose a mirror from which to get the packages"
+msgstr "選取要用來抓取程式套件檔的 FTP 映射站台"
+
+#: any.pm:274
+#, c-format
+msgid "NFS setup"
+msgstr "設定 NFS"
+
+#: any.pm:275
+#, c-format
+msgid "Please enter the hostname and directory of your NFS media"
+msgstr "請輸入您的 NFS 媒介的主機和目錄名稱"
+
+#: any.pm:279
+#, c-format
+msgid "Hostname missing"
+msgstr ""
+
+#: any.pm:280
+#, c-format
+msgid "Directory must begin with \"/\""
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Hostname of the NFS mount ?"
+msgstr "NFS 掛載點的主機名稱?"
+
+#: any.pm:285
+#, c-format
+msgid "Directory"
+msgstr "目錄"
+
+#: any.pm:307
+#, c-format
+msgid "Supplementary"
+msgstr ""
+
+#: any.pm:342
+#, c-format
+msgid ""
+"Can't find a package list file on this mirror. Make sure the location is "
+"correct."
+msgstr "無法在這個映像站上找到套件列表檔。請確定位址是正確的。"
+
+#: any.pm:376
+#, c-format
+msgid "Looking at packages already installed..."
+msgstr "正在查看已經安裝過的套件..."
+
+#: any.pm:383
+#, c-format
+msgid "Removing packages prior to upgrade..."
+msgstr "移除套件以更新..."
+
+#: any.pm:426
+#, c-format
+msgid "Finding packages to upgrade..."
+msgstr "正在搜尋要升級的套件..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:636
+#, c-format
+msgid ""
+"You have selected the following server(s): %s\n"
+"\n"
+"\n"
+"These servers are activated by default. They do not have any known security\n"
+"issues, but some new ones could be found. In that case, you must make sure\n"
+"to upgrade as soon as possible.\n"
+"\n"
+"\n"
+"Do you really want to install these servers?\n"
+msgstr ""
+"您已經選擇了下面的伺服器:%s\n"
+"\n"
+"\n"
+"這些伺服器安裝好後預設是啟用的。他們沒有任何已知的安全性問題,\n"
+"但是某些新的安全性問題或許會被發現。在這種情況下,請您一定要儘快更新。\n"
+"\n"
+"\n"
+"您確定真的要安裝這些伺服器嗎?\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: any.pm:659
+#, c-format
+msgid ""
+"The following packages will be removed to allow upgrading your system: %s\n"
+"\n"
+"\n"
+"Do you really want to remove these packages?\n"
+msgstr ""
+"下列套件將被移除以升級您的系統:%s\n"
+"\n"
+"\n"
+"您確定要移除這些套件嗎?\n"
+
+#: any.pm:1081
+#, c-format
+msgid "The following disk(s) were renamed:"
+msgstr "下列磁碟已經改名:"
+
+#: any.pm:1083
+#, c-format
+msgid "%s (previously named as %s)"
+msgstr "%s (原本為 %s)"
+
+#: any.pm:1140
+#, c-format
+msgid "HTTP"
+msgstr "HTTP"
+
+#: any.pm:1140
+#, c-format
+msgid "FTP"
+msgstr "FTP"
+
+#: any.pm:1140
+#, c-format
+msgid "NFS"
+msgstr "NFS"
+
+#: any.pm:1159 steps_interactive.pm:840
+#, c-format
+msgid "Network"
+msgstr "網路"
+
+#: any.pm:1163
+#, c-format
+msgid "Please choose a media"
+msgstr "請選擇一個媒介"
+
+#: any.pm:1179
+#, c-format
+msgid "File already exists. Overwrite it?"
+msgstr "檔案已經存在了。要覆蓋它嗎?"
+
+#: any.pm:1183
+#, c-format
+msgid "Permission denied"
+msgstr "權限不足"
+
+#: any.pm:1231
+#, c-format
+msgid "Bad NFS name"
+msgstr "錯誤的 NFS 名稱"
+
+#: any.pm:1252
+#, c-format
+msgid "Bad media %s"
+msgstr "損壞的媒介 %s"
+
+#: any.pm:1294
+#, c-format
+msgid "Can not make screenshots before partitioning"
+msgstr "在尚未進行分割前無法提供畫面捕捉功能"
+
+#: any.pm:1301
+#, c-format
+msgid "Screenshots will be available after install in %s"
+msgstr "在安裝後您可以於 %s 取得螢幕截圖"
+
+#: gtk.pm:136
+#, c-format
+msgid "Installation"
+msgstr "安裝"
+
+#: gtk.pm:139 share/meta-task/compssUsers.pl:54
+#, c-format
+msgid "Configuration"
+msgstr "組態設定"
+
+#: install2.pm:165
+#, c-format
+msgid "You must also format %s"
+msgstr "您也必須要格式化 %s"
+
+#: interactive.pm:16
+#, c-format
+msgid ""
+"Some hardware on your computer needs ``proprietary'' drivers to work.\n"
+"You can find some information about them at: %s"
+msgstr ""
+"某些在您電腦上的硬體需要 \"專有版權\" 的驅動程式以便於能夠工作。\n"
+"您可以在這裡找到一些相關的資訊: %s"
+
+#: interactive.pm:22
+#, c-format
+msgid "Bringing up the network"
+msgstr "啟動網路"
+
+#: interactive.pm:27
+#, c-format
+msgid "Bringing down the network"
+msgstr "關閉網路"
+
+#: media.pm:697 media.pm:706
+#, c-format
+msgid "Downloading file %s..."
+msgstr "正在下載檔案 %s..."
+
+#: media.pm:798
+#, c-format
+msgid "Copying some packages on disks for future use"
+msgstr "正在複製一些程式套件到磁碟以供稍後使用"
+
+#: media.pm:851
+#, c-format
+msgid "Copying in progress"
+msgstr "複製進行中"
+
+#: pkgs.pm:27
+#, c-format
+msgid "must have"
+msgstr "必備的"
+
+#: pkgs.pm:28
+#, c-format
+msgid "important"
+msgstr "重要的"
+
+#: pkgs.pm:29
+#, c-format
+msgid "very nice"
+msgstr "極好的"
+
+#: pkgs.pm:30
+#, c-format
+msgid "nice"
+msgstr "好的"
+
+#: pkgs.pm:31
+#, c-format
+msgid "maybe"
+msgstr "或許"
+
+#: share/advertising/ARKEIA_EN.pl:3 share/advertising/ARKEIA_FR.pl:3
+#, c-format
+msgid "Arkeia"
+msgstr "Arkeia"
+
+#: share/advertising/FLATOUT.pl:3
+#, c-format
+msgid "Flatout"
+msgstr "Flatout"
+
+#: share/advertising/IM-GWENVIEW.pl:3
+#, c-format
+msgid "Gwenview"
+msgstr "Gwenview"
+
+#: share/advertising/IM_3D.pl:3
+#, c-format
+msgid "3D"
+msgstr "3D"
+
+#: share/advertising/IM_CMSJOOMLA.pl:3
+#, c-format
+msgid "CMS"
+msgstr "CMS"
+
+#: share/advertising/IM_CRM.pl:3
+#, c-format
+msgid "CRM"
+msgstr "CRM"
+
+#: share/advertising/IM_GAMME.pl:3
+#, c-format
+msgid "2007 product line"
+msgstr "2007 產品線"
+
+#: share/advertising/IM_INVICTUS.pl:3
+#, c-format
+msgid "Invictus Firewall"
+msgstr "Invictus 防火牆"
+
+#: share/advertising/IM_ONE.pl:3
+#, c-format
+msgid "Discovery Live Mode"
+msgstr "Discovery Live 模式"
+
+#: share/advertising/IM_REGISTER.pl:3
+#, c-format
+msgid "How to register"
+msgstr "如何註冊"
+
+#: share/advertising/IM_RPMDRAKE.pl:3
+#, c-format
+msgid "Rpmdrake 2"
+msgstr "Rpmdrake 2"
+
+#: share/advertising/IM_SERVICES.pl:3
+#, c-format
+msgid "Mandriva Online Services"
+msgstr "Mandriva Online 服務"
+
+#: share/advertising/IM_THEME.pl:3
+#, c-format
+msgid "New Theme"
+msgstr "新的佈景主題"
+
+#: share/advertising/IM_web2.pl:3
+#, c-format
+msgid "Web 2.0"
+msgstr "Web 2.0"
+
+#: share/advertising/Kaspersky.pl:3
+#, c-format
+msgid "Kaspersky"
+msgstr "Kaspersky"
+
+#: share/advertising/LinDVD.pl:3
+#, c-format
+msgid "LinDVD"
+msgstr "LinDVD"
+
+#: share/advertising/Skype.pl:3
+#, c-format
+msgid "Skype"
+msgstr "Skype"
+
+#: share/advertising/TRANSGAMING-CEDEGA.pl:3
+#, c-format
+msgid "Transgaming/Cedega"
+msgstr "Transgaming/Cedega"
+
+#: share/advertising/VPN.pl:3
+#, c-format
+msgid "DrakVPN"
+msgstr "DrakVPN"
+
+#: share/meta-task/compssUsers.pl:23
+#, c-format
+msgid "Workstation"
+msgstr "工作站"
+
+#: share/meta-task/compssUsers.pl:25
+#, c-format
+msgid "Office Workstation"
+msgstr "辦公軟體平台"
+
+#: share/meta-task/compssUsers.pl:27
+#, c-format
+msgid ""
+"Office programs: wordprocessors (OpenOffice.org Writer, Kword), spreadsheets "
+"(OpenOffice.org Calc, Kspread), PDF viewers, etc"
+msgstr ""
+"辦公軟體:文書處理軟體 (OpenOffice.org Writer、Kword)、試算表 (OpenOffice."
+"org Calc、Kspread)、PDF 檢視器等等"
+
+#: share/meta-task/compssUsers.pl:28
+#, c-format
+msgid ""
+"Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
+"gnumeric), pdf viewers, etc"
+msgstr ""
+"辦公軟體:文書處理軟體 (kword、abiword)、試算表 (kspread、gnumeric)、PDF 檢視"
+"器等等"
+
+#: share/meta-task/compssUsers.pl:33
+#, c-format
+msgid "Game station"
+msgstr "遊戲平台"
+
+#: share/meta-task/compssUsers.pl:34
+#, c-format
+msgid "Amusement programs: arcade, boards, strategy, etc"
+msgstr "娛樂的一些程式:紙牌、益智、動作、策略等"
+
+#: share/meta-task/compssUsers.pl:37
+#, c-format
+msgid "Multimedia station"
+msgstr "多媒體平台"
+
+#: share/meta-task/compssUsers.pl:38
+#, c-format
+msgid "Sound and video playing/editing programs"
+msgstr "音效以及影像撥放編輯程式"
+
+#: share/meta-task/compssUsers.pl:43
+#, c-format
+msgid "Internet station"
+msgstr "網際網路平台"
+
+#: share/meta-task/compssUsers.pl:44
+#, c-format
+msgid ""
+"Set of tools to read and send mail and news (mutt, tin..) and to browse the "
+"Web"
+msgstr "包含讀信、寄信和閱讀新聞群組 (mutt、tin ..) 以及網路瀏覽的工具"
+
+#: share/meta-task/compssUsers.pl:49
+#, c-format
+msgid "Network Computer (client)"
+msgstr "網路電腦 (客戶端)"
+
+#: share/meta-task/compssUsers.pl:50
+#, c-format
+msgid "Clients for different protocols including ssh"
+msgstr "包含 ssh 等其他不同通訊協定的用戶端程式"
+
+#: share/meta-task/compssUsers.pl:55
+#, c-format
+msgid "Tools to ease the configuration of your computer"
+msgstr "讓您方便設定您系統的工具"
+
+#: share/meta-task/compssUsers.pl:59
+#, c-format
+msgid "Console Tools"
+msgstr "Console 工具"
+
+#: share/meta-task/compssUsers.pl:60
+#, c-format
+msgid "Editors, shells, file tools, terminals"
+msgstr "編輯器、shell、檔案工具、終端機"
+
+#: share/meta-task/compssUsers.pl:64 share/meta-task/compssUsers.pl:166
+#: share/meta-task/compssUsers.pl:168
+#, c-format
+msgid "Development"
+msgstr "程式開發"
+
+#: share/meta-task/compssUsers.pl:65 share/meta-task/compssUsers.pl:169
+#, c-format
+msgid "C and C++ development libraries, programs and include files"
+msgstr "C/C++ 發展環境,包含編譯器、程式庫與及一些引入檔"
+
+#: share/meta-task/compssUsers.pl:69 share/meta-task/compssUsers.pl:173
+#, c-format
+msgid "Documentation"
+msgstr "文件檔案"
+
+#: share/meta-task/compssUsers.pl:70 share/meta-task/compssUsers.pl:174
+#, c-format
+msgid "Books and Howto's on Linux and Free Software"
+msgstr "Linux 系統與自由軟體的書籍、HOWTO 文件"
+
+#: share/meta-task/compssUsers.pl:74 share/meta-task/compssUsers.pl:177
+#, c-format
+msgid "LSB"
+msgstr "LSB"
+
+#: share/meta-task/compssUsers.pl:75 share/meta-task/compssUsers.pl:178
+#, c-format
+msgid "Linux Standard Base. Third party applications support"
+msgstr "LSB 的支援,包含第三類協力廠商軟體支援"
+
+#: share/meta-task/compssUsers.pl:84
+#, c-format
+msgid "Web Server"
+msgstr "網頁伺服器 (Web)"
+
+#: share/meta-task/compssUsers.pl:85
+#, c-format
+msgid "Apache"
+msgstr "Apache"
+
+#: share/meta-task/compssUsers.pl:88
+#, c-format
+msgid "Groupware"
+msgstr "群組軟體"
+
+#: share/meta-task/compssUsers.pl:89
+#, c-format
+msgid "Kolab Server"
+msgstr "Kolab 伺服器"
+
+#: share/meta-task/compssUsers.pl:92 share/meta-task/compssUsers.pl:133
+#, c-format
+msgid "Firewall/Router"
+msgstr "防火牆/路由器"
+
+#: share/meta-task/compssUsers.pl:93 share/meta-task/compssUsers.pl:134
+#, c-format
+msgid "Internet gateway"
+msgstr "網際網路閘道器"
+
+#: share/meta-task/compssUsers.pl:96
+#, c-format
+msgid "Mail/News"
+msgstr "郵件/新聞"
+
+#: share/meta-task/compssUsers.pl:97
+#, c-format
+msgid "Postfix mail server, Inn news server"
+msgstr "Postfix 郵件伺服器,Inn 新聞伺服器"
+
+#: share/meta-task/compssUsers.pl:100
+#, c-format
+msgid "Directory Server"
+msgstr "目錄伺服器"
+
+#: share/meta-task/compssUsers.pl:104
+#, c-format
+msgid "FTP Server"
+msgstr "FTP 伺服器"
+
+#: share/meta-task/compssUsers.pl:105
+#, c-format
+msgid "ProFTPd"
+msgstr "ProFTPd"
+
+#: share/meta-task/compssUsers.pl:108
+#, c-format
+msgid "DNS/NIS"
+msgstr "DNS/NIS"
+
+#: share/meta-task/compssUsers.pl:109
+#, c-format
+msgid "Domain Name and Network Information Server"
+msgstr "網域名稱與網路資訊伺服器"
+
+#: share/meta-task/compssUsers.pl:112
+#, c-format
+msgid "File and Printer Sharing Server"
+msgstr "檔案與列印分享伺服器"
+
+#: share/meta-task/compssUsers.pl:113
+#, c-format
+msgid "NFS Server, Samba server"
+msgstr "NFS 伺服器、Samba 伺服器"
+
+#: share/meta-task/compssUsers.pl:116 share/meta-task/compssUsers.pl:129
+#, c-format
+msgid "Database"
+msgstr "資料庫軟體"
+
+#: share/meta-task/compssUsers.pl:117
+#, c-format
+msgid "PostgreSQL and MySQL Database Server"
+msgstr "PostgreSQL 與 MySQL 資料庫伺服器"
+
+#: share/meta-task/compssUsers.pl:121
+#, c-format
+msgid "Web/FTP"
+msgstr "Web/FTP"
+
+#: share/meta-task/compssUsers.pl:122
+#, c-format
+msgid "Apache, Pro-ftpd"
+msgstr "Apache、ProFTPD"
+
+#: share/meta-task/compssUsers.pl:125
+#, c-format
+msgid "Mail"
+msgstr "電子郵件"
+
+#: share/meta-task/compssUsers.pl:126
+#, c-format
+msgid "Postfix mail server"
+msgstr "Postfix 郵件伺服器"
+
+#: share/meta-task/compssUsers.pl:130
+#, c-format
+msgid "PostgreSQL or MySQL database server"
+msgstr "PostgreSQL、MySQL 資料庫"
+
+#: share/meta-task/compssUsers.pl:137
+#, c-format
+msgid "Network Computer server"
+msgstr "網路伺服器"
+
+#: share/meta-task/compssUsers.pl:138
+#, c-format
+msgid "NFS server, SMB server, Proxy server, ssh server"
+msgstr "NFS 伺服器、SMB 伺服器、Proxy 伺服器、SSH 伺服器"
+
+#: share/meta-task/compssUsers.pl:144
+#, c-format
+msgid "Graphical Environment"
+msgstr "圖形環境"
+
+#: share/meta-task/compssUsers.pl:146
+#, c-format
+msgid "KDE Workstation"
+msgstr "KDE 工作站"
+
+#: share/meta-task/compssUsers.pl:147
+#, c-format
+msgid ""
+"The K Desktop Environment, the basic graphical environment with a collection "
+"of accompanying tools"
+msgstr "K 桌面環境,包含許多好用的圖型介面工具程式"
+
+#: share/meta-task/compssUsers.pl:151
+#, c-format
+msgid "GNOME Workstation"
+msgstr "GNOME 工作站"
+
+#: share/meta-task/compssUsers.pl:152
+#, c-format
+msgid ""
+"A graphical environment with user-friendly set of applications and desktop "
+"tools"
+msgstr "包含友善的應用程式、桌面軟體的圖型化使用環境"
+
+#: share/meta-task/compssUsers.pl:155
+#, c-format
+msgid "IceWm Desktop"
+msgstr "IceWM 桌面"
+
+#: share/meta-task/compssUsers.pl:159
+#, c-format
+msgid "Other Graphical Desktops"
+msgstr "其他圖型桌面軟體"
+
+#: share/meta-task/compssUsers.pl:160
+#, c-format
+msgid "Window Maker, Enlightenment, Fvwm, etc"
+msgstr "Window Maker、Enlightenment、Fvwm 等"
+
+#: share/meta-task/compssUsers.pl:183
+#, c-format
+msgid "Utilities"
+msgstr "工具軟體"
+
+#: share/meta-task/compssUsers.pl:185 share/meta-task/compssUsers.pl:186
+#, c-format
+msgid "SSH Server"
+msgstr "SSH 伺服主機"
+
+#: share/meta-task/compssUsers.pl:190
+#, c-format
+msgid "Webmin"
+msgstr "Webmin"
+
+#: share/meta-task/compssUsers.pl:191
+#, c-format
+msgid "Webmin Remote Configuration Server"
+msgstr "Webmin 遠端設定伺服器"
+
+#: share/meta-task/compssUsers.pl:195
+#, c-format
+msgid "Network Utilities/Monitoring"
+msgstr "網路工具/監控"
+
+#: share/meta-task/compssUsers.pl:196
+#, c-format
+msgid "Monitoring tools, processes accounting, tcpdump, nmap, ..."
+msgstr "監控工具、程序管理、tcpdump、nmap..."
+
+#: share/meta-task/compssUsers.pl:200
+#, c-format
+msgid "Mandriva Wizards"
+msgstr "Mandriva 精靈"
+
+#: share/meta-task/compssUsers.pl:201
+#, c-format
+msgid "Wizards to configure server"
+msgstr "用來設定伺服器的精靈"
+
+#: steps.pm:85
+#, c-format
+msgid ""
+"An error occurred, but I do not know how to handle it nicely.\n"
+"Continue at your own risk."
+msgstr ""
+"發生了一個錯誤,但我不知道該如何妥善處置它。\n"
+"要繼續安裝工作的話請小心。"
+
+#: steps.pm:426
+#, c-format
+msgid ""
+"Some important packages did not get installed properly.\n"
+"Either your cdrom drive or your cdrom is defective.\n"
+"Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm"
+"\"\n"
+msgstr ""
+"有某些重要的套件沒有被適當地安裝。\n"
+"可能是您的光碟機或者是光碟片有缺陷。\n"
+"請將光碟放在一個已經安裝好的電腦上使用 \"rpm -qpl media/main/*.rpm\" 來檢查\n"
+
+#: steps_auto_install.pm:71 steps_stdio.pm:27
+#, c-format
+msgid "Entering step `%s'\n"
+msgstr "進入步驟 `%s'\n"
+
+#: steps_curses.pm:22
+#, c-format
+msgid "Mandriva Linux Installation %s"
+msgstr "Mandriva Linux 安裝程式 %s"
+
+#: steps_curses.pm:32
+#, c-format
+msgid "<Tab>/<Alt-Tab> between elements"
+msgstr "<Tab>/<Alt-Tab> 在元件間移動"
+
+#: steps_gtk.pm:195
+#, c-format
+msgid ""
+"Your system is low on resources. You may have some problem installing\n"
+"Mandriva Linux. If that occurs, you can try a text install instead. For "
+"this,\n"
+"press `F1' when booting on CDROM, then enter `text'."
+msgstr ""
+"您的系統資源太少,可能會在安裝 Mandriva Linux 過程中遇到問題。\n"
+"若是真的發生問題,您或許可以改用文字模式的安裝方式來取代。\n"
+"要如此作的話,請在光碟開機時按下 `F1',然後輸入 `text'。"
+
+#: steps_gtk.pm:225 steps_interactive.pm:511
+#, c-format
+msgid "Package Group Selection"
+msgstr "套件群組選擇"
+
+#: steps_gtk.pm:246 steps_interactive.pm:529
+#, c-format
+msgid "Individual package selection"
+msgstr "選取單一套件"
+
+#: steps_gtk.pm:268 steps_interactive.pm:454
+#, c-format
+msgid "Total size: %d / %d MB"
+msgstr "總共大小: %d / %d MB"
+
+#: steps_gtk.pm:313
+#, c-format
+msgid "Bad package"
+msgstr "壞掉的套件"
+
+#: steps_gtk.pm:315
+#, c-format
+msgid "Version: "
+msgstr "版本:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "Size: "
+msgstr "大小:"
+
+#: steps_gtk.pm:316
+#, c-format
+msgid "%d KB\n"
+msgstr "%d KB\n"
+
+#: steps_gtk.pm:317
+#, c-format
+msgid "Importance: "
+msgstr "重要性:"
+
+#: steps_gtk.pm:351
+#, c-format
+msgid "You can not select/unselect this package"
+msgstr "您不可以選擇/取消選擇這個套件"
+
+#: steps_gtk.pm:355
+#, c-format
+msgid "due to missing %s"
+msgstr "因為遺失 %s"
+
+#: steps_gtk.pm:356
+#, c-format
+msgid "due to unsatisfied %s"
+msgstr "由於沒有滿足 %s"
+
+#: steps_gtk.pm:357
+#, c-format
+msgid "trying to promote %s"
+msgstr "正在嘗試促進 %s"
+
+#: steps_gtk.pm:358
+#, c-format
+msgid "in order to keep %s"
+msgstr "為了要保留 %s"
+
+#: steps_gtk.pm:363
+#, c-format
+msgid ""
+"You can not select this package as there is not enough space left to install "
+"it"
+msgstr "您不可以選取這個套件,因為剩餘的空間不足以安裝它。"
+
+#: steps_gtk.pm:366
+#, c-format
+msgid "The following packages are going to be installed"
+msgstr "下列的套件將會被安裝上"
+
+#: steps_gtk.pm:367
+#, c-format
+msgid "The following packages are going to be removed"
+msgstr "下列的套件將會被移除"
+
+#: steps_gtk.pm:392
+#, c-format
+msgid "This is a mandatory package, it can not be unselected"
+msgstr "這是一個必要的套件,您不能不選取它"
+
+#: steps_gtk.pm:394
+#, c-format
+msgid "You can not unselect this package. It is already installed"
+msgstr "您不能不選這個套件。它已經被安裝上了。"
+
+#: steps_gtk.pm:396
+#, c-format
+msgid "You can not unselect this package. It must be upgraded"
+msgstr "您不能不選這個套件,它一定要更新才行。"
+
+#: steps_gtk.pm:400
+#, c-format
+msgid "Show automatically selected packages"
+msgstr "顯示自動被選取的套件"
+
+#: steps_gtk.pm:402 steps_interactive.pm:133
+#, c-format
+msgid "Install"
+msgstr "安裝"
+
+#: steps_gtk.pm:405
+#, c-format
+msgid "Load/Save selection"
+msgstr "載入/儲存選取"
+
+#: steps_gtk.pm:406
+#, c-format
+msgid "Updating package selection"
+msgstr "正在更新套件的選擇"
+
+#: steps_gtk.pm:411
+#, c-format
+msgid "Minimal install"
+msgstr "最小安裝"
+
+#: steps_gtk.pm:425
+#, c-format
+msgid "Software Management"
+msgstr "軟體套件管理"
+
+#: steps_gtk.pm:425 steps_interactive.pm:373
+#, c-format
+msgid "Choose the packages you want to install"
+msgstr "選擇您想要安裝的套件"
+
+#: steps_gtk.pm:442 steps_interactive.pm:543
+#, c-format
+msgid "Installing"
+msgstr "正在安裝"
+
+#: steps_gtk.pm:468
+#, c-format
+msgid "No details"
+msgstr "沒有詳細資訊"
+
+#: steps_gtk.pm:483
+#, c-format
+msgid "Time remaining "
+msgstr "剩餘時間"
+
+#: steps_gtk.pm:484
+#, c-format
+msgid "Estimating"
+msgstr "正在估計"
+
+#: steps_gtk.pm:511
+#, c-format
+msgid "%d package"
+msgid_plural "%d packages"
+msgstr[0] "%d 個套件"
+
+#: steps_gtk.pm:557 steps_interactive.pm:729
+#, c-format
+msgid "Summary"
+msgstr "總結"
+
+#: steps_gtk.pm:570
+#, c-format
+msgid "Configure"
+msgstr "設定"
+
+#: steps_gtk.pm:580 steps_interactive.pm:725 steps_interactive.pm:852
+#, c-format
+msgid "not configured"
+msgstr "未被設定"
+
+#: steps_gtk.pm:612 steps_interactive.pm:268
+#, c-format
+msgid ""
+"The following installation media have been found.\n"
+"If you want to skip some of them, you can unselect them now."
+msgstr ""
+"已經找到下列的安裝媒介。\n"
+"如果您想略過它們,您現在可以將它們取消選取。"
+
+#: steps_gtk.pm:621 steps_interactive.pm:274
+#, c-format
+msgid ""
+"You have the option to copy the contents of the CDs onto the hard drive "
+"before installation.\n"
+"It will then continue from the hard drive and the packages will remain "
+"available once the system is fully installed."
+msgstr ""
+"您可以選擇在安裝前將光碟的內容複製到硬碟。稍候將會由硬碟繼續安裝,並且這些套"
+"件\n"
+"在安裝完畢之後仍然可以繼續使用。"
+
+#: steps_gtk.pm:623 steps_interactive.pm:276
+#, c-format
+msgid "Copy whole CDs"
+msgstr "複製整張光碟"
+
+#: steps_interactive.pm:38
+#, c-format
+msgid "An error occurred"
+msgstr "發生一個錯誤"
+
+#: steps_interactive.pm:97
+#, c-format
+msgid "Please choose your keyboard layout."
+msgstr "請選取鍵盤排列的樣式。"
+
+#: steps_interactive.pm:99
+#, c-format
+msgid "Here is the full list of available keyboards"
+msgstr "以下是所有可用的的鍵盤"
+
+#: steps_interactive.pm:128
+#, c-format
+msgid "Install/Upgrade"
+msgstr "安裝/升級"
+
+#: steps_interactive.pm:129
+#, c-format
+msgid "Is this an install or an upgrade?"
+msgstr "這是安裝或是升級?"
+
+#: steps_interactive.pm:135
+#, c-format
+msgid "Upgrade %s"
+msgstr "升級 %s"
+
+#: steps_interactive.pm:148
+#, c-format
+msgid "Encryption key for %s"
+msgstr "加密金鑰於 %s"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "IDE"
+msgstr "IDE"
+
+#: steps_interactive.pm:184
+#, c-format
+msgid "Configuring IDE"
+msgstr "正在設定 IDE"
+
+#: steps_interactive.pm:221
+#, c-format
+msgid ""
+"No free space for 1MB bootstrap! Install will continue, but to boot your "
+"system, you'll need to create the bootstrap partition in DiskDrake"
+msgstr ""
+"沒有足夠的可用空間安裝 bootstrap!安裝還是會繼續,但是您必須在 DiskDrake\n"
+"中建立 bootstrap 分割來啟動您的系統"
+
+#: steps_interactive.pm:226
+#, c-format
+msgid ""
+"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
+"to boot your system, you'll need to create the bootstrap partition in "
+"DiskDrake"
+msgstr ""
+"您需要建立一個 PPC PReP 開機 bootstrap!安裝還是會繼續,但是您必須在 "
+"DiskDrake 中建立 bootstrap 分割來啟動您的系統"
+
+#: steps_interactive.pm:318
+#, c-format
+msgid ""
+"Change your Cd-Rom!\n"
+"Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when "
+"done.\n"
+"If you do not have it, press Cancel to avoid installation from this Cd-Rom."
+msgstr ""
+"更換光碟片!\n"
+"請插入標示為 \"%s\" 的光碟於您的光碟機中,完成後請按下確定。\n"
+"若是您沒有這片光碟,請點選取消以略過這一片光碟的安裝。"
+
+#: steps_interactive.pm:340
+#, c-format
+msgid "Looking for available packages..."
+msgstr "正在搜尋可以用的套件..."
+
+#: steps_interactive.pm:349
+#, c-format
+msgid ""
+"Your system does not have enough space left for installation or upgrade (%"
+"dMB > %dMB)"
+msgstr ""
+
+#: steps_interactive.pm:385
+#, c-format
+msgid ""
+"Please choose load or save package selection.\n"
+"The format is the same as auto_install generated files."
+msgstr ""
+"請選擇要載入或者儲存套件選擇到磁片上。\n"
+"它使用與自動安裝所產生的磁片相同的格式。"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Load"
+msgstr "載入"
+
+#: steps_interactive.pm:387
+#, c-format
+msgid "Save"
+msgstr "儲存"
+
+#: steps_interactive.pm:395
+#, c-format
+msgid "Bad file"
+msgstr "損壞的檔案"
+
+#: steps_interactive.pm:468
+#, c-format
+msgid "Selected size is larger than available space"
+msgstr "所選取的大小超過可用的空間"
+
+#: steps_interactive.pm:483
+#, c-format
+msgid "Type of install"
+msgstr "安裝類型"
+
+#: steps_interactive.pm:484
+#, c-format
+msgid ""
+"You have not selected any group of packages.\n"
+"Please choose the minimal installation you want:"
+msgstr ""
+"您並未選取任何套件群組。\n"
+"請選擇您想要的最小安裝:"
+
+#: steps_interactive.pm:487
+#, c-format
+msgid "With X"
+msgstr "包含 X 環境"
+
+#: steps_interactive.pm:488
+#, c-format
+msgid "With basic documentation (recommended!)"
+msgstr "包含基本的說明文件 (建議的!)"
+
+#: steps_interactive.pm:489
+#, c-format
+msgid "Truly minimal install (especially no urpmi)"
+msgstr "真正最小安裝 (尤其無 urpmi)"
+
+#: steps_interactive.pm:528
+#, c-format
+msgid "All"
+msgstr "全部"
+
+#: steps_interactive.pm:544
+#, c-format
+msgid "Preparing installation"
+msgstr "正在準備安裝"
+
+#: steps_interactive.pm:552
+#, c-format
+msgid "Installing package %s"
+msgstr "正在安裝套件 %s"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "There was an error ordering packages:"
+msgstr "排列套件時發生錯誤:"
+
+#: steps_interactive.pm:576
+#, c-format
+msgid "Go on anyway?"
+msgstr "無論如何都要繼續嗎?"
+
+#: steps_interactive.pm:580
+#, c-format
+msgid "Retry"
+msgstr "重試"
+
+#: steps_interactive.pm:581
+#, c-format
+msgid "Skip this package"
+msgstr ""
+
+#: steps_interactive.pm:582
+#, c-format
+msgid "Skip all packages from medium \"%s\""
+msgstr ""
+
+#: steps_interactive.pm:583
+#, fuzzy, c-format
+msgid "Go back to media and packages selection"
+msgstr "儲存套件選擇"
+
+#: steps_interactive.pm:586
+#, fuzzy, c-format
+msgid "There was an error installing package %s."
+msgstr "安裝套件時發生錯誤:"
+
+#: steps_interactive.pm:604
+#, c-format
+msgid "Post-install configuration"
+msgstr "安裝後的設定"
+
+#: steps_interactive.pm:611
+#, c-format
+msgid "Please ensure the Update Modules media is in drive %s"
+msgstr "請確定更新模組媒介位於磁碟機 %s 中"
+
+#: steps_interactive.pm:638
+#, c-format
+msgid "Updates"
+msgstr "更新"
+
+#: steps_interactive.pm:639
+#, c-format
+msgid ""
+"You now have the opportunity to download updated packages. These packages\n"
+"have been updated after the distribution was released. They may\n"
+"contain security or bug fixes.\n"
+"\n"
+"To download these packages, you will need to have a working Internet \n"
+"connection.\n"
+"\n"
+"Do you want to install the updates?"
+msgstr ""
+"您現在有機會下載更新套件。這些套件在發行版釋放之後已經被更新過了。\n"
+"他們或許有安全性或臭蟲修正。\n"
+"\n"
+"要下載這些套件,您需要有正常運作的網際網路連線。\n"
+"\n"
+"您想要安裝更新嗎?"
+
+#: steps_interactive.pm:660
+#, c-format
+msgid "Contacting the mirror to get the list of available packages..."
+msgstr "聯繫映射站台以取得可用的程式套件列表..."
+
+#: steps_interactive.pm:666
+#, c-format
+msgid "Unable to contact mirror %s"
+msgstr "無法聯繫映射站台 %s"
+
+#: steps_interactive.pm:788 steps_interactive.pm:805 steps_interactive.pm:821
+#: steps_interactive.pm:832
+#, c-format
+msgid "Hardware"
+msgstr "硬體"
+
+#: steps_interactive.pm:789 steps_interactive.pm:806
+#, c-format
+msgid "Sound card"
+msgstr "音效卡"
+
+#: steps_interactive.pm:809
+#, c-format
+msgid "Do you have an ISA sound card?"
+msgstr "您有 ISA 音效卡嗎?"
+
+#: steps_interactive.pm:811
+#, c-format
+msgid ""
+"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
+"card"
+msgstr "請在安裝完畢後,執行 \"alsaconf\" 或 \"sndconfig\" 來設定您的音效卡"
+
+#: steps_interactive.pm:813
+#, c-format
+msgid "No sound card detected. Try \"harddrake\" after installation"
+msgstr "沒偵測到任何音效卡。請在安裝後嘗試 \"harddrake\" 進行設定"
+
+#: steps_interactive.pm:822
+#, c-format
+msgid "TV card"
+msgstr "電視卡"
+
+#: steps_interactive.pm:833
+#, c-format
+msgid "Graphical interface"
+msgstr "圖形介面"
+
+#: steps_interactive.pm:839 steps_interactive.pm:850
+#, c-format
+msgid "Network & Internet"
+msgstr "網路與網際網路"
+
+#: steps_interactive.pm:851
+#, c-format
+msgid "Proxies"
+msgstr "代理伺服器"
+
+#: steps_interactive.pm:852
+#, c-format
+msgid "configured"
+msgstr "已設定"
+
+#: steps_interactive.pm:862
+#, c-format
+msgid "Security Level"
+msgstr "安全層級"
+
+#: steps_interactive.pm:876
+#, c-format
+msgid "Firewall"
+msgstr "防火牆"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "activated"
+msgstr "已啟用"
+
+#: steps_interactive.pm:880
+#, c-format
+msgid "disabled"
+msgstr "已停用"
+
+#: steps_interactive.pm:891
+#, c-format
+msgid "Boot"
+msgstr "開機"
+
+#. -PO: example: lilo-graphic on /dev/hda1
+#: steps_interactive.pm:895
+#, c-format
+msgid "%s on %s"
+msgstr "%2$s 上的 %1$s"
+
+#: steps_interactive.pm:921
+#, c-format
+msgid "You have not configured X. Are you sure you really want this?"
+msgstr "您尚未設定 X。您確定您真的要這樣做?"
+
+#: steps_interactive.pm:967
+#, c-format
+msgid "Preparing bootloader..."
+msgstr "正在準備開機載入程式..."
+
+#: steps_interactive.pm:977
+#, c-format
+msgid ""
+"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
+"will not work for you. The install will continue, but you'll need to use "
+"BootX or some other means to boot your machine. The kernel argument for the "
+"root fs is: root=%s"
+msgstr ""
+"您的系統似乎有 OldWorld 或者是其他不認識的機器,\n"
+"這將會導致 yaboot 開機載入器無法正常運作。\n"
+"安裝還是會繼續下去,不過您將需要使用 bootX 或某些其他方法來啟動您的機器。"
+"root fs 的核心參數是:root=%s"
+
+#: steps_interactive.pm:983
+#, c-format
+msgid "Do you want to use aboot?"
+msgstr "您要使用 aboot 嗎?"
+
+#: steps_interactive.pm:986
+#, c-format
+msgid ""
+"Error installing aboot, \n"
+"try to force installation even if that destroys the first partition?"
+msgstr ""
+"安裝 aboot 時發生錯誤,\n"
+"您要冒著可能毀損第一個分割區的危險強制安裝嗎?"
+
+#: steps_interactive.pm:1003
+#, c-format
+msgid ""
+"In this security level, access to the files in the Windows partition is "
+"restricted to the administrator."
+msgstr "在這個安全層級中,只有管理者能夠存取位於 Windows 分割區的檔案。"
+
+#: steps_interactive.pm:1032
+#, c-format
+msgid "Insert a blank floppy in drive %s"
+msgstr "請在 %s 中插入一片空白磁片"
+
+#: steps_interactive.pm:1034
+#, c-format
+msgid "Creating auto install floppy..."
+msgstr "正在製作自動安裝磁片..."
+
+#: steps_interactive.pm:1045
+#, c-format
+msgid ""
+"Some steps are not completed.\n"
+"\n"
+"Do you really want to quit now?"
+msgstr ""
+"還有些步驟沒有完成。\n"
+"\n"
+"您確定要結束安裝程式?"
+
+#: steps_interactive.pm:1055
+#, c-format
+msgid "Congratulations"
+msgstr "恭喜"
+
+#: steps_interactive.pm:1059
+#, c-format
+msgid "Reboot"
+msgstr "重新開機"
+
+#: steps_interactive.pm:1063 steps_interactive.pm:1064
+#, c-format
+msgid "Generate auto install floppy"
+msgstr "製作自動安裝磁片"
+
+#: steps_interactive.pm:1065
+#, c-format
+msgid ""
+"The auto install can be fully automated if wanted,\n"
+"in that case it will take over the hard drive!!\n"
+"(this is meant for installing on another box).\n"
+"\n"
+"You may prefer to replay the installation.\n"
+msgstr ""
+"需要的話,自動安裝可以完全自動化的安裝系統,在這種\n"
+"情況下它將接管硬碟!\n"
+"(這是設計來安裝於另一台機器上的)。\n"
+"\n"
+"您可以重演安裝過程。\n"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Replay"
+msgstr "重播"
+
+#: steps_interactive.pm:1070
+#, c-format
+msgid "Automated"
+msgstr "自動化"
+
+#: steps_interactive.pm:1073
+#, c-format
+msgid "Save packages selection"
+msgstr "儲存套件選擇"
+
+#. -PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+#: steps_list.pm:16
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Language"
+msgstr "語言"
+
+#: steps_list.pm:17
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"License"
+msgstr "授權"
+
+#: steps_list.pm:18
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Mouse"
+msgstr "滑鼠"
+
+#: steps_list.pm:19
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Hard drive detection"
+msgstr "硬碟偵測"
+
+#: steps_list.pm:20
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installation class"
+msgstr "安裝類別"
+
+#: steps_list.pm:21
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Keyboard"
+msgstr "鍵盤"
+
+#: steps_list.pm:22
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Security"
+msgstr "安全性"
+
+#: steps_list.pm:23
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Partitioning"
+msgstr "分割磁區"
+
+#: steps_list.pm:24
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Formatting"
+msgstr "正在格式化"
+
+#: steps_list.pm:25
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Choosing packages"
+msgstr "選取程式套件"
+
+#: steps_list.pm:26
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Installing"
+msgstr "正在安裝"
+
+#: steps_list.pm:27
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Authentication"
+msgstr "認證方式"
+
+#: steps_list.pm:28
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Users"
+msgstr "使用者"
+
+#: steps_list.pm:29
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Networking"
+msgstr "網路"
+
+#: steps_list.pm:30
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Bootloader"
+msgstr "開機載入器"
+
+#: steps_list.pm:31
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Configure X"
+msgstr "設定 X 環境"
+
+#: steps_list.pm:32
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Summary"
+msgstr "總結"
+
+#: steps_list.pm:33
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Services"
+msgstr "服務"
+
+#: steps_list.pm:34
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Updates"
+msgstr "更新"
+
+#: steps_list.pm:35
+#, c-format
+msgid ""
+"_: Keep these entry short\n"
+"Exit"
+msgstr "離開"
+
+#~ msgid "(%d package, %d MB)"
+#~ msgid_plural "(%d packages, %d MB)"
+#~ msgstr[0] "(%d 個套件,共 %d MB)"
+
+#~ msgid "%d packages"
+#~ msgstr "%d 個套件"
+
+#~ msgid "Language"
+#~ msgstr "語言"
+
+#~ msgid "License"
+#~ msgstr "授權"
+
+#~ msgid "Installation class"
+#~ msgstr "安裝類別"
+
+#~ msgid "Formatting"
+#~ msgstr "正在格式化"
+
+#~ msgid "Choosing packages"
+#~ msgstr "選取程式套件"
+
+#~ msgid "Users"
+#~ msgstr "使用者"
+
+#~ msgid "Networking"
+#~ msgstr "網路"
+
+#~ msgid "Configure X"
+#~ msgstr "設定 X 環境"
+
+#~ msgid ""
+#~ "Can not access kernel modules corresponding to your kernel (file %s is "
+#~ "missing), this generally means your boot floppy in not in sync with the "
+#~ "Installation medium (please create a newer boot floppy)"
+#~ msgstr ""
+#~ "無法存取對應您的核心的核心模組 (檔案 %s 遺失),這一般表示您的開機軟片不同"
+#~ "步於\n"
+#~ "安裝媒介 (請建立一個更新的開機磁片)"
diff --git a/perl-install/install/share/symlinks b/perl-install/install/share/symlinks
new file mode 100644
index 000000000..07f969a06
--- /dev/null
+++ b/perl-install/install/share/symlinks
@@ -0,0 +1,11 @@
+/sbin
+/bin
+/etc/protocols
+/etc/services
+/etc/group
+/etc/passwd
+/etc/termcap
+/lib
+/lib64
+/usr
+/tmp /var/run
diff --git a/perl-install/install/share/themes-blue.rc b/perl-install/install/share/themes-blue.rc
new file mode 100644
index 000000000..e8cac9521
--- /dev/null
+++ b/perl-install/install/share/themes-blue.rc
@@ -0,0 +1,65 @@
+style "any"
+{
+ base[NORMAL] = { 0, 0, 0.67 }
+ bg[NORMAL] = { 0, 0, 0.67 }
+ bg[INSENSITIVE] = { 0, 0, 0.67 }
+ base[INSENSITIVE]={ 0, 0, 0.67 }
+ bg[ACTIVE] = { 0, 0.67, 1.0 }
+ bg[PRELIGHT] = { 0, 0, 1.0 }
+
+ GtkTreeView::even_row_color = { 0, 0, 0.67 }
+ GtkTreeView::odd_row_color = { 0, 0, 0.67 }
+
+ text[NORMAL] = { 1.0, 1.0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+ fg[INSENSITIVE] = { 0.0, 0.0, 0.0 }
+ text[INSENSITIVE]={ 1.0, 1.0, 1.0 }
+ fg[ACTIVE] = { 1.0, 1.0, 1.0 }
+ fg[PRELIGHT] = { 1.0, 1.0, 1.0 }
+
+ bg[SELECTED] = { 1.0, 1.0, 1.0 }
+ fg[SELECTED] = { 0, 0, 1.0 }
+}
+
+style "entry"
+{
+ base[NORMAL] = { 0, 1.0, 1.0 }
+ base[ACTIVE] = { 0, 1.0, 1.0 }
+ fg[NORMAL] = { 0.67, 0, 0.67 }
+}
+
+style "notebook"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ bg[ACTIVE] = { 0, 0, 0.67 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+}
+
+style "button" = "any"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 1.0 }
+ bg[PRELIGHT] = { 0, 0, 1.0 }
+ fg[PRELIGHT] = { 0, 1.0, 1.0 }
+}
+
+style "background"
+{
+ bg[NORMAL] = { 0, 0.67, 0.99 }
+ bg[PRELIGHT] = { 0, 0, 0.67 }
+}
+
+style "steps"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ fg[NORMAL] = { 1.0, 1.0, 0 }
+}
+
+widget_class "*" style "any"
+widget_class "*GtkSpin*" style "entry"
+widget_class "*GtkEntry*" style "entry"
+widget_class "*Gtk*List*" style "entry"
+widget_class "*GtkCTree*" style "entry"
+widget_class "*GtkNotebook*" style "notebook"
+widget "*GtkButton*" style "button"
+widget "*background*" style "background"
diff --git a/perl-install/install/share/themes-galaxy.rc b/perl-install/install/share/themes-galaxy.rc
new file mode 100644
index 000000000..391f1bb7f
--- /dev/null
+++ b/perl-install/install/share/themes-galaxy.rc
@@ -0,0 +1,30 @@
+gtk-button-images=0
+
+style "white-on-blue"
+{
+ base[NORMAL] = { 0.28, 0.38, 0.66 }
+ bg[NORMAL] = "#004594"
+
+ text[NORMAL] = "#FFFFFF"
+ fg[NORMAL] = "#FFFFFF"
+}
+
+style "step-categories"
+{
+ fg[NORMAL] = "#CADEFA"
+}
+style "banner"
+{
+ fg[NORMAL] = "#21449C"
+}
+
+style "background"
+{
+ bg[NORMAL] = "#004594"
+}
+
+widget "*Steps*" style "white-on-blue"
+widget "*Step-categories*" style "step-categories"
+widget "*logo*" style "white-on-blue"
+widget "*background*" style "background"
+widget "*Banner*" style "banner"
diff --git a/perl-install/install/share/upgrade/conectiva.10/map b/perl-install/install/share/upgrade/conectiva.10/map
new file mode 100644
index 000000000..aa6ff15da
--- /dev/null
+++ b/perl-install/install/share/upgrade/conectiva.10/map
@@ -0,0 +1,3355 @@
+3270-common x3270
+3270-doc
+KRegExpEditor-doc-es kde-i18n-es
+WSoundPrefs
+aalib libaa1 aalib-progs
+aalib-devel libaa1-devel
+abiword abiword
+abiword-clipart
+abiword-plugins-impexp
+abiword-plugins-tools
+acid acid
+acl acl
+acpid acpid
+adns adns
+adodb ADOdb adodb
+aide aide
+aktion-doc-es kde-i18n-es
+alsa-driver sound-scripts
+alsa-driver-devel glibc-devel
+alsa-lib-devel libalsa2-devel
+alsa-lib-devel-static libalsa2-static-devel
+alsa-oss-devel libalsa-oss0-devel
+alsa-oss-devel-static libalsa-oss0-devel
+alsa-server
+alsa-tools cspctl sbiload ac3dec sscape_ctl as10k1 vxloader sb16_csp emu10k1-tools envy24control
+alsa-utils alsa-utils
+alsaconf sndconfig alsa-utils
+alternatives update-alternatives
+amanda amanda-server libamanda0
+amanda-client amanda-client
+amanda-devel libamanda0-devel
+amanda-doc
+amanda-server amanda-client amanda-server
+amarok amarok
+amarok-doc amarok
+amarok-i18n-es amarok
+amarok-i18n-pt_BR amarok
+amavisd-new amavisd-new
+amor kdetoys
+amor-doc kdetoys
+amor-doc-es kde-i18n-es
+anacron anacron
+anjuta anjuta2 anjuta
+anjuta-i18n-es anjuta2 anjuta
+anjuta-i18n-pt_BR anjuta2 anjuta
+anjuta-rpmbuilder
+anjuta-rpmbuilder-i18n-es
+anjuta-rpmbuilder-i18n-pt_BR
+anonftp anonftp
+apache apache-base apache-conf
+apache-devel libapr-util0-devel libapr0-devel apache-devel
+apache-doc
+apache-htpasswd
+apmd apmd
+apmd-devel libapm1-devel
+apt urpmi
+apt-cdrom-registry
+apt-data-cnc
+apt-i18n-es_ES apt
+apt-i18n-pt_BR apt
+apt-static
+ark kdeutils-ark libkdeutils1-ark
+ark-doc kdeutils-ark
+ark-doc-es kde-i18n-es
+arping iputils
+arpwatch arpwatch
+arts arts
+arts-common-libs libarts1
+arts-devel libarts1 libarts1-devel
+artsbuilder kdemultimedia-common libkdemultimedia1-common
+artsbuilder-doc kdemultimedia-common
+artsbuilder-doc-es kde-i18n-es
+artsbuilder-doc-pt_BR kde-i18n-pt_BR
+artscontrol kdemultimedia-common
+ash ash
+aspell aspell
+aspell-dicts
+aspell-dicts-en_ca
+aspell-dicts-en_gb
+aspell-dicts-en_us
+aspell-dicts-es
+aspell-dicts-pt_br
+aspell-dicts-pt_pt
+at at
+at-i18n-pt_BR
+at-spi libat-spi0 at-spi
+at-spi-devel libat-spi0-devel
+atk libatk1.0_0
+atk-devel libatk1.0_0-devel
+atk-doc
+atk-i18n-es libatk1.0_0
+atk-i18n-pt_BR libatk1.0_0
+atlantik libkdegames1 kdegames
+atlantik-addons kdeaddons-atlantik
+atlantik-doc kdegames
+atlantik-doc-es kde-i18n-es
+attr attr
+audacity audacity
+audacity-i18n-es audacity
+audiofile libaudiofile0 audiofile
+audiofile-devel libaudiofile0-devel
+audiofile-doc
+audiofile-progs audiofile
+aumix aumix
+aumix-X11
+aumix-common aumix
+aumix-common-i18n-es aumix
+aumix-common-i18n-pt_BR aumix
+aumix-console
+aumix-minimal aumix
+authconfig
+authconfig-gtk
+authconfig-i18n-es
+authconfig-i18n-pt_BR
+autoconf autoconf2.5
+autofs autofs
+autofs-ldap autofs
+automake automake1.7
+automake-doc
+avifile-bin avifile-samples avifile-player kdetv
+avifile-devel libavifile0.7-devel
+awesfx awesfx
+barnyard
+basesystem basesystem msec
+bash setup bash
+bash-doc bash-doc
+bash_completion
+bc bc
+bin86 dev86
+bind bind
+bind-devel bind-devel
+bind-doc
+bind-libs
+bind-utils bind-utils
+binutils binutils
+binutils-i18n-es
+binutils-i18n-pt_BR
+bison bison
+bison-i18n-es bison
+bison-i18n-pt_BR bison
+bitchx BitchX
+bitchx-doc
+bitchx-help BitchX
+bittorrent bittorrent
+bittorrent-common BitTornado bittorrent
+bittorrent-gui-client bittorrent-gui BitTornado
+bittorrent-server BitTornado bittorrent
+bittorrent-text-client BitTornado bittorrent
+blender blender
+blender-examples
+blender-manual
+blt blt libblt2
+blt-demo
+blt-doc
+bluefish bluefish
+bluefish-i18n-es bluefish
+bluefish-i18n-pt_BR bluefish
+bluez-libs-devel libbluez1-devel
+bm bm
+bogofilter bogofilter
+bogofilter-doc
+bonnie++ bonnie++
+bonobo libbonobo2 bonobo libefs1
+bonobo-devel bonobo libefs1-devel libbonobo2-devel
+bonobo-i18n-es bonobo
+bonobo-i18n-pt_BR bonobo
+bootp
+bootsplash bootsplash
+bug-buddy bug-buddy
+bug-buddy-i18n-es bug-buddy
+bug-buddy-i18n-pt_BR bug-buddy
+busybox busybox
+byacc byacc
+bzip2 bzip2
+bzip2-doc
+c2050 printer-filters
+c2070 printer-filters
+c3270 c3270
+cacti cacti
+cbq shapecfg
+ccache ccache
+cdbakeoven cdbakeoven
+cdbakeoven-i18n-es
+cdbakeoven-i18n-pt_BR
+cdda2wav cdrecord-cdda2wav
+cdp cdp
+cdparanoia cdparanoia
+cdrdao cdrdao
+cdrecord cdrecord
+cdrtools cdrecord mkisofs cdrecord-isotools
+cdrtools-devel star-devel cdrecord-devel
+cervisia libkdesdk1-cervisia kdesdk-cervisia kdesdk
+cervisia-doc-pt_BR kde-i18n-pt_BR
+cflow
+chkconfig chkconfig
+chkconfig-i18n-es chkconfig
+chkconfig-i18n-es_ES
+chkconfig-i18n-pt_BR chkconfig
+chkfontpath chkfontpath
+chkrootkit chkrootkit
+cjet printer-filters
+clamav clamd clamav
+clamav-database clamav-db
+cnc-adslconf
+cnc-personal-firewall
+compat-libecpg1
+conectivaoffice-i18n-pt_BR OpenOffice.org-l10n-pt_BR OpenOffice.org-help-pt_BR
+conectivaoffice-i18n-es_ES OpenOffice.org-l10n-es OpenOffice.org-help-es
+conectivaoffice-i18n-en_US OpenOffice.org-l10n-en OpenOffice.org-help-en
+conectivaoffice OpenOffice.org
+conectiva-gnome-icon
+conectiva-gnome-theme
+conectiva-icons
+conectiva-kdeprefs kdebase-progs kdemultimedia-kscd kdelibs-common kdeutils-klaptop kdebase-kdm-config-file kdebase-common qt3-common kdebase-konsole
+conectiva-release
+conectiva-wallpapers
+console-tools libconsole0 util-linux console-tools
+console-tools-devel console-tools libconsole0-devel
+console-tools-doc
+console-tools-fonts console-tools
+console-tools-fonts-arabic console-tools
+console-tools-fonts-cyrilic console-tools
+console-tools-fonts-greek console-tools
+console-tools-fonts-hebrew console-tools
+console-tools-keymaps console-tools
+console-tools-keymaps-amiga
+console-tools-keymaps-atari
+console-tools-keymaps-mac
+console-tools-keymaps-sun
+console-tools-unicode console-tools
+control-center2 libgnome-window-settings1 gnome-control-center
+control-center2-devel gnome-control-center libgnome-window-settings1-devel
+control-center2-i18n-es gnome-control-center
+control-center2-i18n-pt_BR gnome-control-center
+coreutils coreutils
+coreutils-doc coreutils-doc
+coreutils-i18n-es coreutils
+coreutils-i18n-pt_BR coreutils
+countryselect
+countryselect-i18n-pt_BR
+cpio cpio
+cpio-i18n-pt_BR
+cracklib libcrack2
+cracklib-devel libcrack2-devel
+cracklib-dicts cracklib-dicts
+cracklib-doc
+cracklib-utils cracklib-dicts
+crontabs setup crontabs
+cryptplug cryptplug
+cscope cscope
+ctags ctags
+cups cups-common cups printer-utils
+cups-alignmargins printer-utils
+cups-devel libcups2-devel
+cups-doc
+cups-foomatic
+cups-libs libcups2
+cups-netatalk cups
+cups-netware cups
+cups-ppd cups
+cups-serial cups-serial
+curl curl
+cvs cvs
+cvs-chroot
+cvs-doc
+cvsweb cvsweb
+cyclom2x-tools
+cyrus-imapd cyrus-imapd-utils cyrus-imapd
+cyrus-imapd-devel cyrus-imapd-devel
+cyrus-imapd-devel-static cyrus-imapd-devel
+cyrus-imapd-doc
+db4
+db4-devel
+db4-utils db42-utils
+db4.2 libdb4.2
+db4.2-devel libdb4.2-devel
+db4.2-devel-static
+db4.2-doc
+db4.2-utils
+ddclient ddclient
+ddd ddd
+ddd-doc
+ddd-manual-html
+ddd-manual-pdf
+desktop-file-utils desktop-file-utils
+dev
+dev-base
+device-mapper dmsetup
+dhcp dhcp-client dhcp-relay dhcp-server
+dhcp-doc
+dhcpcd dhcp-client
+dia dia
+dia-i18n-es dia
+dia-i18n-pt_BR dia
+dialog cdialog
+dialog-i18n-es
+dialog-i18n-pt_BR
+dietlibc-devel dietlibc-devel
+diffutils diffutils
+diffutils-i18n-es diffutils
+digikam-plugins digikam kipi-plugins
+digikam-plugins-i18n-es
+diskcheck
+disktype
+dmidecode dmidecode
+doc-licenses
+docbook-dtd30-sgml docbook-dtd30-sgml
+docbook-dtd31-sgml docbook-dtd31-sgml
+docbook-dtd41-sgml docbook-dtd41-sgml
+docbook-dtd412-xml docbook-dtd412-xml
+docbook-style-dsssl docbook-style-dsssl
+docbook-style-dsssl-doc docbook-style-dsssl-doc
+docbook-style-xsl docbook-style-xsl
+docbook-style-xsl-doc docbook-style-xsl-doc
+docbook-utils docbook-utils
+docbook-utils-pdf docbook-utils-pdf
+dos2unix dos2unix
+dosemu dosemu dosemu-freedos
+dosemu-dexe
+dosemu-tools dosemu
+dosfstools dosfstools
+doxygen doxygen
+doxygen-manual
+doxygen-wizard doxygen
+drbd-utils
+drbd-utils-heartbeat
+drbd-utils-i18n-pt_BR
+drv_z42 printer-filters
+drv_z42-tool printer-utils
+dsniff dsniff
+dsniff-webspy dsniff-webspy
+dump dump
+duplicity
+dvd+rw-tools dvd+rw-tools
+dvdauthor dvdauthor
+dvdrecord
+dvdrtools
+e2fsprogs libext2fs2 e2fsprogs
+e2fsprogs-devel libext2fs2-devel
+e2fsprogs-i18n-es e2fsprogs
+eclipse
+eclipse-gnome-plugin
+eclipse-mozilla-plugin
+ed ed
+ee ee
+ee-i18n-es ee
+ee-i18n-pt_BR ee
+efax efax
+eject eject
+electricfence libefence0 ElectricFence
+elfutils elfutils
+elfutils-devel libelfutils1-devel
+elfutils-libelf libelfutils1
+elvis-tiny
+em8300 em8300
+em8300-gui-utils em8300
+emacs python emacs-el gettext emacs emacs-php-mode
+emacs-el python rpm-mandriva-setup gettext emacs-el emacs-php-mode
+emacs-leim emacs-leim
+enchant enchant
+enscript enscript
+eog eog
+eog-i18n-es eog
+eog-i18n-pt_BR eog
+epiphany epiphany
+epiphany-devel epiphany-devel
+epiphany-extensions epiphany-extensions
+epiphany-extensions-i18n-es
+epiphany-extensions-i18n-pt_BR
+epiphany-i18n-es epiphany
+epiphany-i18n-pt_BR epiphany
+epsutil
+escputil gutenprint-escputil
+esound libesound0 esound
+esound-devel libesound0-devel
+etcskel bash etcskel
+etherape etherape
+etherape-i18n-es etherape
+etherboot etherboot
+etherboot-doc
+ethereal ethereal
+ethereal-common libethereal0 ethereal
+ethereal-gtk ethereal
+ethereal-utils ethereal-tools
+ethtool ethtool
+ettercap ettercap-ng
+evolution evolution
+evolution-devel evolution-devel
+evolution-i18n-es
+evolution-i18n-pt_BR
+expat libexpat0 expat
+expat-devel libexpat0-devel
+expat-devel-static libexpat0-devel
+expat-doc
+expat-examples
+expect expect
+expect-devel expect
+ext2ed ext2ed
+eyesapplet kdetoys
+fake fake
+fam
+faq
+fbset fbset
+fetchmail fetchmail
+fetchmail-doc
+fetchmail-i18n-es fetchmail
+fetchmail-i18n-pt_BR fetchmail
+fetchmailconf fetchmailconf
+ffmpeg ffmpeg
+ffmpeg-doc
+fftw libfftw2
+fftw-devel libfftw2-devel
+fifteenapplet kdetoys
+file libmagic1 file
+file-roller file-roller
+file-roller-i18n-es file-roller
+file-roller-i18n-pt_BR file-roller
+filesystem filesystem
+fileutils
+findutils findutils
+findutils-i18n-es findutils
+findutils-i18n-pt_BR findutils
+finger finger
+finger-server finger-server
+firstboot
+flashkard
+flashkard-doc
+flashkard-doc-es kde-i18n-es
+flex flex
+flex-i18n-es
+flex-i18n-pt_BR
+fontconfig fontconfig
+fontconfig-doc
+fonts-100dpi xorg-x11-100dpi-fonts
+fonts-100dpi-extra xorg-x11-100dpi-fonts
+fonts-75dpi xorg-x11-75dpi-fonts
+fonts-75dpi-extra xorg-x11-75dpi-fonts
+fonts-cyrillic xorg-x11-cyrillic-fonts
+fonts-misc xorg-x11-xfs xorg-x11
+fonts-speedo xorg-x11
+fonts-ttf-esstix
+fonts-ttf-luxi xorg-x11
+fonts-ttf-vera xorg-x11
+fonts-type1 xorg-x11
+foo2zjs foomatic-db printer-filters
+foo2zjs-ppds
+foomatic-db foomatic-db
+foomatic-db-engine foomatic-db-engine
+foomatic-db-hpijs foomatic-db-hpijs
+foomatic-filters foomatic-filters
+foomatic-gui
+fortune-mod fortune-mod
+fortune-pt_BR
+fping fping
+freetds libfreetds0
+freetds-devel libfreetds0-devel
+freetds-doc
+freetds-unixodbc libfreetds0-unixodbc
+freetype freetype
+freetype-devel freetype-devel
+freetype-doc
+freetype-i18n-es freetype
+freetype-utils freetype2-tools
+freetype2 libfreetype6
+freetype2-devel libfreetype6-devel
+freetype2-doc
+frozen-bubble frozen-bubble
+ftp ftp-client-krb5
+ftp-i18n-pt_BR
+funcoeszz
+fwhois
+g++ gcc3.3-c++ gcc2.96-c++ gcc-c++
+g-wrap g-wrap libg-wrap1
+g-wrap-devel libg-wrap1-devel libg-wrap1 g-wrap
+g77 gcc-g77
+gail libgail17 gail
+gail-devel libgail17-devel
+gail-doc libgail17-devel
+gail-i18n-es gail
+gail-i18n-pt_BR gail
+gaim gaim-tcl gaim-perl gaim
+gaim-i18n-es gaim
+gaim-i18n-pt_BR gaim
+gal2-devel libgal2.0_6-devel
+gated
+gawk gawk
+gawk-doc gawk-doc
+gawk-i18n-es gawk
+gawk-i18n-pt_BR gawk
+gcalctool gcalctool
+gcalctool-i18n-es gcalctool
+gcalctool-i18n-pt_BR gcalctool
+gcc cross-ppc-gcc-cpp cross-ppc64-gcc-cpp gcc-cpp gcc2.96-cpp gcc gcc3.3-cpp
+gcj kaffe gcj-tools libgcj6-devel
+gconf libGConf1 GConf
+gconf-devel libGConf1-devel
+gconf-editor gconf-editor
+gconf-editor-i18n-es gconf-editor
+gconf-editor-i18n-pt_BR gconf-editor
+gconf2 libGConf2_4 GConf2
+gconf2-devel libGConf2_4-devel
+gconf2-doc libGConf2_4-devel
+gconf2-i18n-es GConf2
+gconf2-i18n-pt_BR GConf2
+gdam gdam-client gdam-server gdam-clients-gui libgdam-common0 libgdam-model0 libgdam-server0 gdam-common
+gdam-alsa-plugins gdam-alsa-plugin
+gdam-client libgdam-common0 libgdam-client0 gdam-clients-gui gdam-client gdam-common
+gdam-devel libgdam-client0 libgdam0-devel libgdam-model0 libgdam-server0 libgdam-common0
+gdam-xmms-plugins gdam-xmms-plugin
+gdb gdb
+gdk-pixbuf libgdk-pixbuf2 gdk-pixbuf-loaders libgdk-pixbuf-xlib2 libgdk-pixbuf-gnomecanvas1
+gdk-pixbuf-devel libgdk-pixbuf2-devel
+gdk-pixbuf-doc libgdk-pixbuf2-devel
+gdm gdm-Xnest gdm
+gdm-i18n-es
+gdm-i18n-pt_BR
+gedit gedit
+gedit-devel gedit-devel
+gedit-i18n-es
+gedit-i18n-pt_BR
+genhdlist rpmtools
+genromfs genromfs
+gettext gettext-base gettext
+gettext-devel gettext gettext-devel
+gettext-doc
+gettext-extras
+gettext-i18n-es gettext-base
+gettext-i18n-pt_BR gettext-base
+getty_ps
+gftp gftp
+gftp-i18n-es gftp
+gftp-i18n-pt_BR gftp
+ggv ggv
+ggv-i18n-es ggv
+ggv-i18n-pt_BR ggv
+ghostscript ghostscript
+ghostscript-doc
+ghostscript-fonts ghostscript-fonts
+ghostscript-module-X11
+ghostscript-resource
+gimp gimp libgimp2.0_0 gutenprint-gimp2 gimp-python
+gimp-devel libgimp2.0-devel
+gimp-doc
+gimp-help gimp-help-2
+gimp-i18n-es
+gimp-i18n-pt_BR
+gimp-print
+gimp-print-cups gutenprint-cups
+gimp-print-cups-cs
+gimp-print-cups-da
+gimp-print-cups-de
+gimp-print-cups-el
+gimp-print-cups-en
+gimp-print-cups-en_GB
+gimp-print-cups-es
+gimp-print-cups-fr
+gimp-print-cups-ja
+gimp-print-cups-nl
+gimp-print-cups-no
+gimp-print-cups-pl
+gimp-print-cups-pt
+gimp-print-cups-sk
+gimp-print-cups-sv
+gimp-print-doc
+gimp-print-foomatic
+gimp-python gimp2_0-python gimp-python
+gkrellm gkrellm-server gkrellm
+gkrellm-devel gkrellm-devel
+gkrellm-fan
+gkrellm-i18n-es gkrellm
+gkrellm-skins
+gkrellm-snmp
+gkrellm-volume
+gkrellm-weather wmWeather gkrellm-plugins
+gkrellm-xmms
+glade2 glade2
+glade2-i18n-es glade2
+glade2-i18n-pt_BR glade2
+glib libglib1.2
+glib-devel libglib1.2-devel
+glib-devel-static libglib1.2-devel
+glib-doc
+glib2 libglib2.0_0
+glib2-devel glib-gettextize libglib2.0_0-devel
+glib2-doc libglib2.0_0-devel
+glib2-i18n-es libglib2.0_0
+glib2-i18n-pt_BR libglib2.0_0
+glibc glibc
+glibc-base glibc glibc-i18ndata nscd
+glibc-charmaps-extras glibc-i18ndata
+glibc-devel glibc-devel
+glibc-devel-debug
+glibc-devel-static glibc-static-devel glibc-devel
+glibc-doc glibc-doc
+glibc-gconvdata glibc
+glibc-i18n-en_US glibc-i18ndata
+glibc-i18n-es
+glibc-i18n-es_ES glibc-i18ndata
+glibc-i18n-pt_BR glibc-i18ndata
+glibc-iconv glibc
+glibc-locales-extras
+gmp libgmp3 libgmpmp3
+gmp-devel libgmp3-devel libgmpmp3-devel
+gnokii gnokii-xgnokii gnokii
+gnokii-devel libgnokii2-devel
+gnokii-x11 gnokii-xgnokii
+gnome-applets gnome-applets
+gnome-applets-devel gnome-applets
+gnome-applets-i18n-es gnome-applets
+gnome-applets-i18n-pt_BR gnome-applets
+gnome-common gnome-common
+gnome-desktop libgnome-desktop-2_2 gnome-desktop
+gnome-desktop-devel libgnome-desktop-2_2-devel
+gnome-desktop-i18n-es gnome-desktop
+gnome-desktop-i18n-pt_BR gnome-desktop
+gnome-games gnome-games
+gnome-games-blackjack gnome-games
+gnome-games-common
+gnome-games-common-i18n-es gnome-games
+gnome-games-common-i18n-pt_BR gnome-games
+gnome-games-devel
+gnome-games-freecell gnome-games
+gnome-games-glines gnome-games-extra-data gnome-games
+gnome-games-gnect gnome-games
+gnome-games-gnibbles gnome-games
+gnome-games-gnobots2 gnome-games-extra-data gnome-games
+gnome-games-gnome-stones gnome-games
+gnome-games-gnometris gnome-games gnome-games-extra-data
+gnome-games-gnomine gnome-games
+gnome-games-gnotravex gnome-games
+gnome-games-gnotski gnome-games
+gnome-games-gtali gnome-games
+gnome-games-iagno gnome-games-extra-data gnome-games
+gnome-games-mahjongg gnome-games-extra-data gnome-games
+gnome-games-same-gnome gnome-games
+gnome-games-sol-games gnome-games
+gnome-games-xxgata gnome-games
+gnome-icon-theme gnome-icon-theme
+gnome-keyring gnome-keyring
+gnome-keyring-devel libgnome-keyring0-devel
+gnome-keyring-i18n-es gnome-keyring
+gnome-keyring-i18n-pt_BR gnome-keyring
+gnome-libs libgnome32 gnome-libs libgnomeui2
+gnome-libs-devel libgnome32-devel
+gnome-libs-i18n-es gnome-libs
+gnome-libs-i18n-pt_BR gnome-libs
+gnome-mag gnome-mag
+gnome-mag-devel libgnome-mag2-devel
+gnome-mag-i18n-es gnome-mag
+gnome-mag-i18n-pt_BR gnome-mag
+gnome-media libcddb-slave2_0 gnome-media
+gnome-media-devel gnome-media libcddb-slave2_0-devel
+gnome-media-i18n-es gnome-media
+gnome-media-i18n-pt_BR gnome-media
+gnome-mime-data gnome-mime-data
+gnome-mime-data-i18n-es gnome-mime-data
+gnome-mime-data-i18n-pt_BR gnome-mime-data
+gnome-netstatus gnome-netstatus
+gnome-netstatus-i18n-es gnome-netstatus
+gnome-netstatus-i18n-pt_BR gnome-netstatus
+gnome-panel libpanel-applet-2_0 gnome-utils gnome-panel
+gnome-panel-devel libpanel-applet-2_0-devel
+gnome-panel-doc libpanel-applet-2_0-devel
+gnome-panel-i18n-es gnome-panel
+gnome-panel-i18n-pt_BR gnome-panel
+gnome-pilot libgnome-pilot2 gnome-pilot
+gnome-pilot-devel libgnome-pilot2-devel
+gnome-pilot-i18n-es gnome-pilot
+gnome-pilot-i18n-pt_BR gnome-pilot
+gnome-print libgnomeprint15 gnome-print
+gnome-print-devel libgnomeprint15-devel
+gnome-print-i18n-es gnome-print
+gnome-print-i18n-pt_BR gnome-print
+gnome-python2 gnome-python-extras gnome-python
+gnome-python2-applet
+gnome-python2-bonobo
+gnome-python2-canvas
+gnome-python2-gconf
+gnome-python2-gnomeprint
+gnome-python2-gnomevfs
+gnome-python2-gtkhtml2
+gnome-python2-nautilus
+gnome-session gnome-session
+gnome-session-i18n-es gnome-session
+gnome-session-i18n-pt_BR gnome-session
+gnome-spell gnome-spell
+gnome-spell-i18n-es
+gnome-spell-i18n-pt_BR
+gnome-system-monitor gnome-system-monitor
+gnome-system-monitor-i18n-es gnome-system-monitor
+gnome-system-monitor-i18n-pt_BR gnome-system-monitor
+gnome-terminal gnome-terminal
+gnome-terminal-i18n-es gnome-terminal
+gnome-terminal-i18n-pt_BR gnome-terminal
+gnome-themes gtk-engines2 gtk-engines gnome-themes
+gnome-utils gnome-utils
+gnome-utils-i18n-es gnome-utils
+gnome-utils-i18n-pt_BR gnome-utils
+gnome-vfs2 drakconf gnome-vfs2 drakwizard
+gnome-vfs2-doc libgnome-vfs2_0-devel
+gnome-vfs2-i18n-es gnome-vfs2
+gnome-vfs2-i18n-pt_BR gnome-vfs2
+gnome2-industrial-theme ximian-artwork gtk-engines2
+gnome2-industrial-theme-gtk+ ximian-artwork
+gnome2-industrial-theme-gtk+2 gtk-engines2
+gnome2-user-docs gnome-user-docs
+gnomemeeting gnomemeeting
+gnucash libgnucash0 gnucash
+gnucash-devel libgnucash0-devel
+gnucash-doc gnucash
+gnucash-help gnucash
+gnucash-i18n-es gnucash
+gnucash-i18n-pt_BR gnucash
+gnuchess gnuchess
+gnumeric gnumeric
+gnumeric-i18n-es gnumeric
+gnumeric-i18n-pt_BR gnumeric
+gnupg gnupg
+gnupg-doc
+gnupg-i18n-es gnupg
+gnupg-i18n-pt_BR gnupg
+gnupg-keyserver-plugins
+gnuplot gnuplot
+gnuplot-demo
+gnuplot-doc
+gob2 gob2
+gok gok
+gok-i18n-es gok
+gok-i18n-pt_BR gok
+gpart gpart
+gpdf gpdf
+gpdf-i18n-es gpdf
+gpdf-i18n-pt_BR gpdf
+gphoto2 gphoto2
+gphoto2-i18n-es gphoto2
+gphoto2-i18n-pt_BR gphoto2
+gpm gpm
+gpm-devel libgpm1-devel
+gpm-emacs gpm
+gprolog gprolog
+gprolog-doc
+gprolog-examples
+gq gq
+gqview gqview
+gqview-i18n-es gqview
+gqview-i18n-pt_BR gqview
+graphviz libgraphviz7 graphviz libgraphviztcl7
+graphviz-devel libgraphviztcl7-devel libgraphviz7-devel
+graphviz-doc
+graphviz-examples libgraphviztcl7-devel
+grep grep
+grep-i18n-es grep
+grep-i18n-pt_BR grep
+grip grip
+grip-i18n-es grip
+grip-i18n-pt_BR grip
+groff groff-perl groff groff-for-man
+groff-doc
+groff-extras groff-perl
+groff-gxditview groff-gxditview
+grub grub
+gst-plugins gstreamer-jpeg gstreamer-esound gstreamer-visualisation gstreamer-sndfile gstreamer-audiofile gstreamer-mpeg gstreamer-festival gstreamer-gdkpixbuf gstreamer-plugins gstreamer-GConf gstreamer-quicktime gstreamer-avi gstreamer-x11 gstreamer-asf gstreamer-vorbis gstreamer-a52dec gstreamer-v4l2 libgstreamer-plugins0.8 gstreamer-qcam gstreamer-audio-formats gstreamer-gnomevfs gstreamer-musicbrainz gstreamer-ladspa libgstgconf0.8
+gst-plugins-aalib gstreamer-aalib
+gst-plugins-alsa gstreamer-alsa
+gst-plugins-arts gstreamer-arts gstreamer-artsd
+gst-plugins-cdparanoia gstreamer-cdparanoia
+gst-plugins-colorspace gstreamer-colorspace
+gst-plugins-devel libgstreamer-plugins0.8-devel
+gst-plugins-dv gstreamer-dv
+gst-plugins-dvdread gstreamer-libdvdread
+gst-plugins-dxr3 gstreamer-dxr3
+gst-plugins-fame
+gst-plugins-flac gstreamer-flac
+gst-plugins-gsm gstreamer-gsm
+gst-plugins-jack gstreamer-jack
+gst-plugins-lame
+gst-plugins-mad gstreamer-mad
+gst-plugins-mikmod gstreamer-mikmod
+gst-plugins-mjpegtools
+gst-plugins-raw1394 gstreamer-raw1394
+gst-plugins-sdl gstreamer-SDL
+gst-plugins-shout
+gst-plugins-vorbis gstreamer-vorbis
+gst-plugins-wincodec
+gstreamer libgstreamer0.8 gstreamer-tools
+gstreamer-devel libgstreamer0.8-devel
+gstreamer-tools gstreamer-tools
+gtk+ libgtk+1.2
+gtk+-devel libgtk+1.2-devel
+gtk+-i18n-es libgtk+1.2
+gtk+-i18n-pt_BR libgtk+1.2
+gtk+2 libgtk+-x11-2.0_0 gtk+2.0 libgtk+2.0_0 libgdk_pixbuf2.0_0
+gtk+2-devel libgdk_pixbuf2.0_0-devel libgtk+2.0_0-devel
+gtk+2-doc libgdk_pixbuf2.0_0-devel libgtk+2.0_0-devel
+gtk+2-i18n-es gtk+2.0
+gtk+2-i18n-pt_BR gtk+2.0
+gtk-doc gtk-doc
+gtk-engines gtk-engines
+gtk2-engines libgtk+2.0_0 gtk-engines gtk-engines2
+gtkam gtkam
+gtkam-i18n-es gtkam
+gtkam-i18n-pt_BR gtkam
+gtkhtml gtkhtml
+gtkhtml-devel libgtkhtml1.1_3-devel
+gtkhtml-i18n-es
+gtkhtml-i18n-pt_BR
+gtkhtml30-devel libgtkhtml-3.0_4-devel
+gtklp gtklp
+gtklp-i18n-en gtklp
+gtklp-i18n-es gtklp
+gtklp-i18n-pt_BR gtklp
+gtknw
+gtksamba
+gucharmap gucharmap
+gucharmap-devel libgucharmap4-devel
+gucharmap-i18n-es gucharmap
+gucharmap-i18n-pt_BR gucharmap
+guile-devel libguile12-devel
+guile16 guile
+guppi16 Guppi
+gv gv
+gv-doc
+gwenview libgwenview1 gwenview
+gwenview-i18n-es gwenview
+gwenview-i18n-pt_BR gwenview
+gzip gzip
+gzip-i18n-pt_BR
+hdparm hdparm
+heartbeat libheartbeat0 heartbeat libheartbeat-pils0
+heartbeat-ldirectord ldirectord heartbeat-ldirectord heartbeat
+heartbeat-pils libheartbeat-pils0-devel heartbeat-pils libheartbeat-pils0
+heartbeat-stonith libheartbeat-stonith0-devel heartbeat-stonith libheartbeat-stonith0
+hexedit hexedit
+hfsutils hfsutils
+hfsutils-devel cdrecord-devel hfsutils-devel
+hicolor-icon-theme hicolor-icon-theme
+horde horde
+hotkeys hotkeys
+hotplug initscripts hotplug
+howto
+howto-html
+hpijs hplip-hpijs
+hpijs-ppd hplip-hpijs-ppds
+hpoj hpoj
+hpoj-x11 xojpanel
+htdig htdig-web htdig
+htdig-doc
+hwdata pcmcia-cs
+hwinfo harddrake
+hwinfo-devel
+hylafax hylafax-server hylafax-client hylafax mgetty-sendfax
+icecast icecast
+ices ices
+icmpinfo
+ide-smart ide-smart
+ident2
+ijs-devel libijs1-devel
+ikons-icon-theme kdeartwork
+imagemagick ImageMagick
+imagemagick-doc ImageMagick-doc
+imap imap
+imlib2 libimlib2_1
+imlib2-devel libimlib2_1-devel
+imlib2-filters
+imlib2-loader_argb
+imlib2-loader_bmp
+imlib2-loader_gif
+imlib2-loader_jpeg
+imlib2-loader_png
+imlib2-loader_pnm
+imlib2-loader_tga
+imlib2-loader_tiff
+imlib2-loader_xpm
+imp
+imp-i18n-en_US
+imp-i18n-es_ES
+imp-i18n-pt_BR
+indent indent
+indent-i18n-pt_BR indent
+indexhtml indexhtml
+inetd
+info info-install info
+initscripts initscripts
+initscripts-i18n-es initscripts
+initscripts-i18n-pt_BR initscripts
+inn inews noffle inn
+inn-devel inn-devel
+intltool intltool
+iproute2 iproute2
+iproute2-doc iproute2-doc
+ipsec-tools ipsec-tools
+iptables iptables
+iptraf iptraf
+iptraf-doc
+iputils iputils
+ipvsadm ipvsadm
+ipxripd
+ipxutils ipxutils
+ipxutils-i18n-pt_BR
+irda-utils irda-utils
+isapnptools isapnptools
+isapnptools-doc
+isdn4k-utils isdn-light isdn4k-utils-isdnlog isdn4k-utils ibod libisdn4k-utils2 isdn4k-utils-vbox
+isdn4net isdn-light isdn4net
+itcl itcl
+itcl-devel
+itcl-iwidgets-demos
+itcl-iwidgets2.2.0-demos itcl
+jack jackit-example-clients libjack0 jack jackit
+jack-client-samples jackit-example-clients
+jack-devel libjack0-devel
+jack-doc
+jadetex jadetex
+jadetex-doc
+jawmail
+jawmail-i18n-en_US
+jawmail-i18n-es_ES
+jfsutils jfsprogs
+joystick joystick
+jpackage-utils jpackage-utils
+jpgraph jpgraph JpGraph
+jpgraph-doc JpGraph-doc jpgraph-doc
+juk kdemultimedia-juk
+juk-doc kdemultimedia-juk
+jwhois whois
+jwhois-i18n-es
+jwhois-i18n-pt_BR
+k3b k3b
+k3b-doc
+k3b-i18n-es k3b
+k3b-i18n-pt_BR k3b
+kaboodle kdemultimedia-kaboodle
+kaboodle-doc kdemultimedia-kaboodle
+kaboodle-doc-es kde-i18n-es
+kaddressbook kdepim-common libkdepim2-kaddressbook kdepim-kaddressbook kdepim-kontact
+kaddressbook-addons kdeaddons
+kaddressbook-doc kdepim-kaddressbook
+kaddressbook-doc-es kde-i18n-es
+kaffeine kmplayer kaffeine
+kaffeine-doc kaffeine
+kaffeine-i18n-es kaffeine
+kaffeine-i18n-pt_BR kaffeine
+kalarm kdepim-common kdepim-korganizer
+kalarm-doc kdepim-korganizer
+kalarm-doc-es kde-i18n-es
+kallers
+kallers-i18n-es
+kallers-i18n-pt_BR
+kalzium kdeedu
+kalzium-doc kdeedu
+kalzium-doc-es kde-i18n-es
+kamera kdegraphics-common
+kamera-doc kdegraphics-common
+kamera-doc-es kde-i18n-es
+kandy kdepim-common kdepim-kpilot
+kandy-doc kdepim-kpilot
+kandy-doc-es kde-i18n-es
+kappfinder kdebase-progs kdebase-common
+kapptemplate kdesdk
+karbon libkoffice2-karbon koffice-karbon koffice-progs
+karbon-i18n-es koffice-i18n-es
+karbon-i18n-pt_BR koffice-l10n-pt_BR
+karm kdepim-common kdepim-karm
+karm-doc kdepim-karm
+karm-doc-es kde-i18n-es
+kasteroids kdegames
+kasteroids-doc kdegames
+kasteroids-doc-es kde-i18n-es
+kasteroids-doc-pt_BR kde-i18n-pt_BR
+kate libkdebase4 kdebase-progs libkdebase4-kate kdebase-kate kdebase-common
+kate-addons kdeaddons libkdeaddons1
+kate-doc-es kde-i18n-es
+kate-doc-pt_BR kde-i18n-pt_BR
+kate-plugins-doc-es kde-i18n-es
+kate-plugins-doc-pt_BR kde-i18n-pt_BR
+katomic kdegames
+katomic-doc kdegames
+katomic-doc-es kde-i18n-es
+katomic-doc-pt_BR kde-i18n-pt_BR
+kaudiocreator kdemultimedia-kaudiocreator
+kbabel libkdesdk1-kbabel kdesdk-kbabel kdesdk
+kbabel-doc-es kde-i18n-es
+kbabel-doc-pt_BR kde-i18n-pt_BR
+kbackgammon kdegames
+kbackgammon-doc kdegames
+kbackgammon-doc-es kde-i18n-es
+kbattleship kdegames
+kbattleship-doc-es kde-i18n-es
+kbattleship-doc-pt_BR kde-i18n-pt_BR
+kbdconfig
+kbdconfig-i18n-es
+kbdconfig-i18n-pt_BR
+kblackbox kdegames
+kblackbox-doc kdegames
+kblackbox-doc-es kde-i18n-es
+kbounce kdegames
+kbounce-doc kdegames
+kbounce-doc-es kde-i18n-es
+kbounce-doc-pt_BR kde-i18n-pt_BR
+kbruch kdeedu
+kbruch-doc kdeedu
+kbugbuster kdesdk
+kbugbuster-doc-es kde-i18n-es
+kbugbuster-doc-pt_BR kde-i18n-pt_BR
+kcachegrind kdesdk-kcachegrind
+kcachegrind-doc kdesdk-kcachegrind
+kcachegrind-doc-pt_BR kde-i18n-pt_BR
+kcalc libkdeutils1-kcalc kdeutils-kcalc
+kcalc-doc kdeutils-kcalc
+kcalc-doc-es kde-i18n-es
+kcharselect kdeutils-common libkdeutils1-common kdeutils-kcharselect
+kcharselect-doc kdeutils-kcharselect
+kcharselect-doc-es kde-i18n-es
+kchart koffice-progs libkoffice2-kspread koffice-kspread
+kchart-doc koffice-kspread
+kchart-docs-es koffice-i18n-es
+kchart-i18n-es koffice-i18n-es
+kchart-i18n-pt_BR koffice-l10n-pt_BR
+kchat
+kchat-i18n-es
+kchat-i18n-pt_BR
+kclcontrol
+kclcontrol-devel
+kclcontrol-i18n-pt_BR
+kclcontrol-plugin-kdeservices
+kclcontrol-plugin-webmin
+kcmlinuz kdeadmin-linuz
+kcoloredit kdegraphics-kpaint
+kcoloredit-doc kdegraphics-kpaint
+kcoloredit-doc-es kde-i18n-es
+kconfigeditor kconfigeditor
+kcontrol libkdecore4 lisa libkdebase4 kdelibs-common kdebase-kcontrol-nsplugins kdebase-kcontrol-data kdebase-common kdebase-progs kdebase-konsole
+kcontrol-doc kdebase-konsole kdebase-kcontrol-data kdebase-common
+kcontrol-doc-es kde-i18n-es
+kcontrol-doc-pt_BR kde-i18n-pt_BR
+kcpuload kcpuload
+kcpuload-doc kcpuload
+kcpuload-i18n-es
+kcpuload-i18n-pt_BR
+kcron kdeadmin
+kcron-doc kdeadmin
+kcron-doc-es kde-i18n-es
+kdat kdeadmin
+kdat-doc kdeadmin
+kdat-doc-es kde-i18n-es
+kdbg kdbg
+kdbg-doc kdbg
+kde-base-icons kdepim-common kdebase-common kdelibs-common hicolor-icon-theme
+kde-carddecks kdegames
+kde-common kdebase-kdeprintfax kdegraphics-common libkdebase4 kdebase-kdm kdebase-common kdebase-progs kdepim-common
+kde-common-doc kdebase-common
+kde-i18n-common-i18n-es kde-i18n-es
+kde-i18n-common-i18n-pt_BR kde-i18n-pt_BR
+kde-i18n-doc-common-es kde-i18n-es
+kde-i18n-doc-common-pt_BR kde-i18n-pt_BR
+kde-i18n-es kde-i18n-es
+kde-i18n-pt_BR kde-i18n-pt_BR
+kde-lilo-config kdeadmin-lilo
+kdeaccessibility kdeaccessibility
+kdeaccessibility-doc
+kdeaccessibility-i18n-es kde-i18n-es
+kdeaccessibility-i18n-pt_BR kde-i18n-pt_BR
+kdeaddons libkdeaddons1 kdeaddons
+kdeaddons-i18n-es kde-i18n-es
+kdeaddons-i18n-pt_BR kde-i18n-pt_BR
+kdeadmin kdeadmin
+kdeadmin-doc
+kdeadmin-i18n-es kde-i18n-es
+kdeadmin-i18n-pt_BR kde-i18n-pt_BR
+kdeartwork kdeartwork
+kdeartwork-i18n-es kde-i18n-es
+kdeartwork-i18n-pt_BR kde-i18n-pt_BR
+kdeartwork-sounds kdeartwork
+kdeartwork-wallpapers kdeartwork
+kdeautorun kdebase-common
+kdebase kdebase
+kdebase-common kdelibs-common kdebase-common lisa
+kdebase-core libkdebase4 kdebase-progs kdebase-common
+kdebase-devel libkdebase4-kate-devel libkdebase4 libkdebase4-kate
+kdebase-doc
+kdebase-i18n-es kde-i18n-es
+kdebase-i18n-pt_BR kde-i18n-pt_BR
+kdebase-nsplugins kdebase-kcontrol-nsplugins kdebase-nsplugins kdebase-common
+kdebase-sounds kdebase-common
+kdebase-themes kdebase-common
+kdebase-wallpapers kdebase-common
+kdebluetooth libkdebluetooth0 kdebluetooth
+kdebluetooth-devel libkdebluetooth0-devel
+kdebluetooth-doc
+kdebugdialog-doc-es kde-i18n-es
+kdebugdialog-doc-pt_BR kde-i18n-pt_BR
+kdeclassic-icon-theme kdeartwork-kde-classic
+kdeedu kdebase-common kdeedu
+kdeedu-devel libkdeedu1-devel libkdeedu1
+kdeedu-doc
+kdeedu-i18n-es kde-i18n-es
+kdeedu-i18n-pt_BR kde-i18n-pt_BR
+kdeextragear-1
+kdeextragear-1-devel
+kdeextragear-1-doc
+kdeextragear-2
+kdeextragear-2-doc
+kdeextragear-3
+kdeextragear-3-doc
+kdeextragear-common-i18n-es
+kdeextragear-common-i18n-pt_BR
+kdegames kdegames
+kdegames-common libkdegames1 kdegames
+kdegames-devel libkdegames1-devel libkdegames1
+kdegames-doc
+kdegames-i18n-es kde-i18n-es
+kdegames-i18n-pt_BR kde-i18n-pt_BR
+kdegraphics kdegraphics
+kdegraphics-common kdegraphics-common
+kdegraphics-devel libkdegraphics0-common-devel libkdegraphics0-kooka-devel libkdegraphics0-ksvg-devel
+kdegraphics-doc
+kdegraphics-i18n-es kde-i18n-es
+kdegraphics-i18n-pt_BR kde-i18n-pt_BR
+kdelibs-artsinterface kdelibs-common libkdecore4
+kdelibs-docbook kdelibs-common
+kdelibs-i18n-es kde-i18n-es
+kdelibs-i18n-pt_BR kde-i18n-pt_BR
+kdelibs3 kdelibs-common
+kdelibs3-devel libkdecore4-devel
+kdelibs3-devel-static
+kdelirc libkdeutils1-common kdeutils-common
+kdelirc-doc kdeutils-common
+kdemultimedia kdemultimedia
+kdemultimedia-common libkdemultimedia1-common libkdemultimedia1-noatun kdemultimedia-kaudiocreator kdemultimedia-common kdemultimedia-noatun
+kdemultimedia-devel libkdemultimedia1-common libkdemultimedia1-kscd-devel libkdemultimedia1-common-devel libkdemultimedia1-noatun-devel
+kdemultimedia-doc
+kdemultimedia-i18n-es kde-i18n-es
+kdemultimedia-i18n-pt_BR kde-i18n-pt_BR
+kdenetwork kdenetwork
+kdenetwork-common kdenetwork-kopete libkdenetwork2-common kdenetwork-common kdenetwork-knewsticker
+kdenetwork-devel libkdenetwork2-common-devel
+kdenetwork-doc
+kdenetwork-i18n-es kde-i18n-es
+kdenetwork-i18n-pt_BR kde-i18n-pt_BR
+kdepalettes
+kdepasswd kdebase-progs kdebase-common
+kdepim kdepim
+kdepim-common kdepim-kaddressbook kdepim-kpilot kdepim-common
+kdepim-devel libkdecore4-devel libkdepim2-common-devel libkdepim2-kontact-devel libkdepim2-kmail libkdepim2-korganizer-devel libkdepim2-kmail-devel libkdepim2-kaddressbook-devel libkdepim2-ktnef-devel libkdepim2-kpilot-devel
+kdepim-doc
+kdepim-i18n-es koffice-i18n-es kde-i18n-es
+kdepim-i18n-pt_BR koffice-l10n-pt_BR kde-i18n-pt_BR
+kdeprint-doc-es kde-i18n-es
+kdeprint-doc-pt_BR kde-i18n-pt_BR
+kdesdk kdesdk
+kdesdk-common kdesdk
+kdesdk-devel libkdesdk1-devel libkdesdk1-cervisia-devel libkdesdk1-kbabel-devel
+kdesdk-i18n-es kde-i18n-es
+kdesdk-i18n-pt_BR kde-i18n-pt_BR
+kdesdk-scripts kdesdk
+kdesktop kdebase-progs libkdebase4 kdebase-common
+kdessh kdeutils-kdessh
+kdesu-doc-es kde-i18n-es
+kdesu-doc-pt_BR kde-i18n-pt_BR
+kdetheme-b3 kdelibs-common
+kdetheme-dotnet kdeartwork
+kdetheme-highcolor libkdecore4 kdelibs-common
+kdetheme-light kdelibs-common libkdecore4
+kdetheme-marble
+kdetheme-plastik kdelibs-common libkdecore4
+kdetheme-qt kdelibs-common
+kdetheme-riscos kdelibs-common
+kdetheme-system
+kdetoys kdetoys
+kdetoys-devel libkdetoys1-devel
+kdetoys-doc
+kdetoys-i18n-es kde-i18n-es
+kdetoys-i18n-pt_BR kde-i18n-pt_BR
+kdetv libkdevideo1 kdetv avifile-samples
+kdetv-i18n-es kdetv
+kdeutils kdeutils
+kdeutils-devel libkdeutils1-common-devel libkdeutils1-ksim-devel
+kdeutils-doc
+kdeutils-i18n-es kde-i18n-es
+kdeutils-i18n-pt_BR kde-i18n-pt_BR
+kdevelop kdevelop
+kdevelop-doc kdevelop
+kdf kdeutils-kdf
+kdf-doc kdeutils-kdf
+kdf-doc-es kde-i18n-es
+kdict kdenetwork-kdict
+kdict-doc kdenetwork-kdict
+kdiff3 kdiff3
+kdiff3-doc kdiff3
+kdiff3-i18n-es kdiff3
+kdiff3-i18n-pt_BR kdiff3
+kdm kdebase-kdm libkdebase4 kdebase-kdm-config-file kdebase-common
+kdm-doc kdebase-common
+kdm-doc-es kde-i18n-es
+kdm-doc-pt_BR kde-i18n-pt_BR
+kdvi kdegraphics-kdvi
+kdvi-doc kdegraphics-kdvi
+kdvi-doc-es kde-i18n-es
+kedit libkdeutils1-kedit kdeutils-kedit
+kedit-doc kdeutils-kedit
+kedit-doc-es kde-i18n-es
+keduca kdeedu
+keduca-doc kdeedu
+keduca-doc-es kde-i18n-es
+keduca-doc-pt_BR kde-i18n-pt_BR
+kenolaba kdegames
+kenolaba-doc kdegames
+kenolaba-doc-es kde-i18n-es
+kernel-pcmcia-cs pcmcia-cs-x11 pcmcia-cs
+kernel-postinstall
+kernel26
+kernel26-doc
+kernel26-enterprise
+kernel26-enterprise-module-madwifi
+kernel26-enterprise-module-nvidia
+kernel26-highmem
+kernel26-highmem-module-madwifi
+kernel26-highmem-module-nvidia
+kernel26-highmem-smp
+kernel26-highmem-smp-module-madwifi
+kernel26-highmem-smp-module-nvidia
+kernel26-module-madwifi
+kernel26-module-nvidia
+kernel26-smp
+kernel26-smp-module-madwifi
+kernel26-smp-module-nvidia
+kernel26-source
+kernel26-uml
+kernel26-uml-smp
+keurocalc keurocalc
+keurocalc-doc keurocalc
+keurocalc-i18n-es
+keurocalc-i18n-pt_BR
+keychain keychain
+kfax kdegraphics-kfax
+kfind libkdebase4 kdebase-progs kdebase-common
+kfind-doc kdebase-common
+kfind-doc-es kde-i18n-es
+kfish
+kfish-i18n-es
+kfish-i18n-pt_BR
+kfloppy kdeutils-kfloppy
+kfloppy-doc kdeutils-kfloppy
+kfloppy-doc-es kde-i18n-es
+kformula koffice-kformula libkoffice2-progs koffice-progs libkoffice2-kformula
+kformula-doc koffice-kformula
+kformula-docs-es koffice-i18n-es
+kformula-i18n-es koffice-i18n-es
+kformula-i18n-pt_BR koffice-l10n-pt_BR
+kfouleggs kdegames
+kfouleggs-doc kdegames
+kgamma kdegraphics-common
+kgamma-doc kdegraphics-common
+kgamma-doc-es kde-i18n-es
+kget kdenetwork-kget
+kget-doc kdenetwork-kget
+kghostview kdegraphics-kghostview libkdegraphics0-kghostview
+kghostview-doc kdegraphics-kghostview
+kghostview-doc-es kde-i18n-es
+kgoldrunner kdegames
+kgoldrunner-doc kdegames
+kgpg kdeutils-kgpg
+kgpg-doc kdeutils-kgpg
+kgpgcertmanager
+kgpgcertmanager-doc
+kgpgcertmanager-doc-es kde-i18n-es
+khangman kdeedu kde-i18n-pt_BR kde-i18n-es
+khangman-doc kdeedu
+khangman-doc-es kde-i18n-es
+khelpcenter kdebase-common kdebase-progs libkdebase4
+khelpcenter-doc kdebase-common
+khelpcenter-doc-es kde-i18n-es
+khelpcenter-doc-pt_BR kde-i18n-pt_BR
+khexedit kdeutils-khexedit
+khexedit-doc kdeutils-khexedit
+khexedit-doc-es kde-i18n-es
+kicker kdebase-common kdebase-progs libkdebase4
+kicker-addons kdeaddons libkdeaddons1
+kicker-applets-doc-es kde-i18n-es
+kicker-applets-doc-pt_BR kde-i18n-pt_BR
+kicker-doc kdebase-common
+kicker-doc-es kde-i18n-es
+kicker-doc-pt_BR kde-i18n-pt_BR
+kiconedit kdegraphics-kiconedit
+kiconedit-doc kdegraphics-kiconedit
+kiconedit-doc-es kde-i18n-es
+kids-icon-theme kdeartwork
+kig libkdeedu1 kdeedu
+kig-doc kdeedu
+kile kile
+kile-doc kile
+kile-i18n-es kile kile-i18n-es
+kile-i18n-pt_BR kile kile-i18n-pt_BR
+kimdaba kimdaba
+kimdaba-doc kimdaba
+kimdaba-i18n-es kimdaba
+kimdaba-i18n-pt_BR kimdaba
+kinfocenter-doc-es kde-i18n-es
+kinfocenter-doc-pt_BR kde-i18n-pt_BR
+kio-audiocd kdemultimedia-common
+kio-lanbrowsing lisa
+kio-lanbrowsing-doc lisa
+kio-smb libkdebase4 kdebase-common
+kio-smb-doc kdebase-common
+kio-thumbnail kdegraphics-common libkdebase4 kdebase-common
+kiosktool kiosktool
+kiosktool-i18n-es kiosktool
+kioslave-doc-es kde-i18n-es
+kioslave-doc-pt_BR kde-i18n-pt_BR
+kipi-plugins kipi-plugins
+kiten kdeedu
+kiten-doc kdeedu
+kiten-doc-es kde-i18n-es
+kivio libkoffice2-kivio koffice-kivio koffice-progs
+kivio-doc koffice-kivio
+kivio-docs-es koffice-i18n-es
+kivio-docs-pt_BR koffice-l10n-pt_BR
+kivio-i18n-es koffice-i18n-es
+kivio-i18n-pt_BR koffice-l10n-pt_BR
+kjots kdeutils-kjots
+kjots-doc kdeutils-kjots
+kjots-doc-es kde-i18n-es
+kjumpingcube kdegames
+kjumpingcube-doc kdegames
+kjumpingcube-doc-es kde-i18n-es
+klaptopdaemon kdeutils-klaptop libkdeutils1-klaptop
+klaptopdaemon-doc kdeutils-common kdeutils-klaptop
+klettres kde-i18n-sk kde-i18n-da kde-i18n-cs kdeedu
+klettres-doc kdeedu
+klettres-doc-es kde-i18n-es
+klicker
+klicker-i18n-es
+klickety kdegames
+klickety-doc kdegames
+klickety-doc-es kde-i18n-es
+klines kdegames
+klines-doc kdegames
+klines-doc-es kde-i18n-es
+klipper kdebase-progs libkdebase4 kdebase-common
+klipper-doc kdebase-common
+klipper-doc-es kde-i18n-es
+kmag kdeaccessibility
+kmag-doc kdeaccessibility
+kmahjongg kdegames
+kmail libkdepim2-kmail kdepim-kmail kdepim-kontact
+kmail-doc kdepim-kmail
+kmail-doc-es kde-i18n-es
+kmailcvt kdepim-kmail
+kmathtool-doc-es kde-i18n-es
+kmenuconfig
+kmenuconfig-i18n-pt_BR
+kmenuedit kdebase-kmenuedit libkdebase4-kmenuedit
+kmenuedit-doc kdebase-kmenuedit
+kmenuedit-doc-es kde-i18n-es
+kmessedwords kdeedu
+kmessedwords-doc kdeedu
+kmessedwords-doc-es kde-i18n-es
+kmid libkdemultimedia1-common kdemultimedia-kmidi kdemultimedia-kmid
+kmid-doc kdemultimedia-kmid
+kmid-doc-es kde-i18n-es
+kmilo libkdeutils1-klaptop kdeutils-klaptop
+kmines kdegames
+kmines-doc kdegames
+kmines-doc-es kde-i18n-es
+kmix kdemultimedia-kmix libkdemultimedia1-kmix
+kmix-doc kdemultimedia-kmix
+kmix-doc-es kde-i18n-es
+kmoon kdetoys
+kmoon-doc kdetoys
+kmousetool kdeaccessibility
+kmousetool-doc kdeaccessibility
+kmouth kdeaccessibility
+kmouth-doc kdeaccessibility
+kmouth-doc-es kde-i18n-es
+kmplayer kdelibs-common kmplayer
+kmplayer-doc
+kmplayer-i18n-es
+kmplayer-i18n-pt_BR
+kmplot kdeedu
+kmplot-doc kdeedu
+kmplot-doc-es kde-i18n-es
+kmrml libkdegraphics0-mrmlsearch kdegraphics-mrmlsearch
+kmyfirewall libkmyfirewall0 kmyfirewall
+kmyfirewall-doc kmyfirewall
+kmyfirewall-i18n-es
+kmyfirewall-i18n-pt_BR
+knetload knetload
+knetload-doc
+knetload-i18n-es knetload
+knetload-i18n-pt_BR knetload
+knetworkconf knetworkconf
+knetworkconf-i18n-es
+knetworkconf-i18n-pt_BR
+knewsticker libkdenetwork2-knewsticker kdenetwork-knewsticker kdenetwork-common
+knewsticker-addons kdeaddons
+knewsticker-doc kdenetwork-knewsticker
+knode libkdepim2-knode kdepim-kontact kdepim-knode
+knode-doc kdepim-knode
+knode-doc-es kde-i18n-es
+knotes kdepim-knotes kdepim-kpilot kdepim-kontact
+knotes-doc kdepim-knotes
+knotes-doc-es kde-i18n-es
+kodo kdetoys
+kodo-doc kdetoys
+kodo-doc-es kde-i18n-es
+koffice koffice
+koffice-common koffice-progs libkoffice2-progs koffice-koshell libkoffice2-kword libkoffice2-kspread
+koffice-common-doc koffice-koshell koffice-progs
+koffice-common-i18n-es koffice-i18n-es
+koffice-common-i18n-pt_BR koffice-l10n-pt_BR
+koffice-devel libkoffice2-progs-devel libkoffice2-kword-devel libkoffice2-kugar-devel libkoffice2-kspread-devel
+koffice-doc
+koffice-docs-common-es
+koffice-docs-common-pt_BR
+koffice-docs-es koffice-i18n-es
+koffice-i18n-es koffice-i18n-es
+koffice-i18n-pt_BR koffice-l10n-pt_BR
+koffice-templates koffice-kspread koffice-kword koffice-kugar koffice-kpresenter
+kolf kdegames libkdegames1
+kolf-doc kdegames
+kommander libkdewebdev0-kommander kdewebdev-kommander
+kompare libkdesdk1-devel libkdesdk1 kdesdk
+kompare-doc-es kde-i18n-es
+kompare-doc-pt_BR kde-i18n-pt_BR
+konq-plugins-doc-es kde-i18n-es
+konq-plugins-doc-pt_BR kde-i18n-pt_BR
+konqueror libkdebase4 kdebase-progs kdebase-common kdenetwork-common
+konqueror-addons kdeaddons-atlantik libkdeaddons1-konqimagegallery kdelibs-common kdeaddons kdeaddons-konqimagegallery libkdeaddons1
+konqueror-doc kdebase-common
+konqueror-doc-es kde-i18n-es
+konquest kdegames
+konquest-doc kdegames
+konquest-doc-es kde-i18n-es
+konsole kdebase-common libkdebase4 kdebase-progs kdebase-konsole libkdebase4-konsole
+konsole-doc kdebase-konsole
+konsole-doc-es kde-i18n-es
+konsolekalendar kdepim-common kdepim-korganizer
+konsolekalendar-doc kdepim-korganizer
+konsolekalendar-doc-es kde-i18n-es
+kontact libkdepim2-kontact kdepim-kontact
+kontact-addons kdepim-kontact
+kontact-doc kdepim-kontact
+kontact-doc-es kde-i18n-es
+konversation konversation
+konversation-doc konversation
+konversation-i18n-es konversation
+konversation-i18n-pt_BR konversation
+kooka kdegraphics-common libkdegraphics0-kooka kdegraphics-kooka
+kooka-doc kdegraphics-kooka
+kooka-doc-es kde-i18n-es
+kopete libkdenetwork2-kopete kdenetwork-kopete
+kopete-doc kdenetwork-common kdenetwork-kopete
+kopete-doc-es kde-i18n-es
+kopete-nowlistening kdenetwork-kopete
+korganizer kdepim-korganizer kdelibs-common kdepim-kaddressbook kdepim-kontact libkdepim2-korganizer kdepim-common
+korganizer-doc kdepim-korganizer
+korganizer-doc-es kde-i18n-es
+korn kdepim-korn
+korn-doc kdepim-korn
+korn-doc-es kde-i18n-es
+koshell-docs-es koffice-i18n-es
+kpackage kdeadmin kdeadmin-kpackage libkdeadmin1
+kpackage-doc kdeadmin-kpackage
+kpackage-doc-es kde-i18n-es
+kpager-doc-es kde-i18n-es
+kpaint
+kpaint-doc
+kpaint-doc-es kde-i18n-es
+kpat kdegames
+kpat-doc kdegames
+kpdf kdegraphics-kpdf
+kpdf-doc kdegraphics-kpdf
+kpercentage kdeedu
+kpercentage-doc kdeedu
+kpercentage-doc-es kde-i18n-es
+kpf kdenetwork-common libkdenetwork2-common
+kpf-doc kdenetwork-common
+kpf-doc-es kde-i18n-es
+kpilot kdepim-common kdepim-kpilot libkdepim2-kpilot
+kpilot-doc kdepim-kpilot
+kpilot-doc-es kde-i18n-es
+kpoker kdegames
+kpoker-doc kdegames
+kpoker-doc-es kde-i18n-es
+kpovmodeler libkdegraphics0-kpovmodeler kdegraphics-kpovmodeler
+kpovmodeler-doc kdegraphics-kpovmodeler
+kpovmodeler-doc-es kde-i18n-es
+kppp kdenetwork-kppp kdenetwork-kppp-provider
+kppp-doc kdenetwork-kppp
+kppp-doc-es kde-i18n-es
+kppp-doc-pt_BR kde-i18n-pt_BR
+kpresenter libkoffice2-kpresenter koffice-kpresenter koffice-progs
+kpresenter-doc koffice-kpresenter
+kpresenter-docs-es koffice-i18n-es
+kpresenter-docs-pt_BR koffice-l10n-pt_BR
+kpresenter-i18n-es koffice-i18n-es
+kpresenter-i18n-pt_BR koffice-l10n-pt_BR
+krandr libkdebase4 kdebase-progs kdebase-common
+krb5 libkrb53
+krb5-apps-clients krb5-workstation
+krb5-apps-servers krb5-workstation
+krb5-client krb5-workstation openafs krb5-server
+krb5-devel krb5-workstation libkrb53-devel krb5-server
+krb5-devel-static
+krb5-doc
+krb5-server krb5-workstation krb5-server
+krdc kdenetwork-kopete kdenetwork-krfb
+krdc-doc kdenetwork-krfb
+kreatecd
+kreatecd-doc
+kreatecd-i18n-es
+kreatecd-i18n-pt_BR
+krec libkdemultimedia1-krec kdemultimedia-krec
+krec-doc kdemultimedia-krec
+kregexpeditor libkdeutils1-common kdeutils-common
+kreversi kdegames
+kreversi-doc kdegames
+kreversi-doc-es kde-i18n-es
+krfb kdenetwork-krfb
+krfb-doc kdenetwork-krfb
+kruler kdegraphics-kruler
+kruler-doc kdegraphics-kruler
+kruler-doc-es kde-i18n-es
+ksame kdegames
+ksame-doc kdegames
+ksame-doc-es kde-i18n-es
+kscd kdemultimedia-kscd
+kscd-doc kdemultimedia-kscd
+kscd-doc-es kde-i18n-es
+kscreensaver kdebase-common kdebase-progs
+kscreensavers kdeartwork-screensaver-gl kdeartwork
+kscreensavers-opengl kdeartwork
+kscreensavers-xscreensaver kdeartwork-screensaver-gl kdeartwork
+kscreensavers-xscreensaver-opengl kdeartwork kdeartwork-screensaver-gl
+kshisen kdegames
+kshisen-doc kdegames
+kshisen-doc-es kde-i18n-es
+ksim libkdeutils1-ksim libkdeutils1-ksim-devel kdeutils-ksim
+ksim-doc-es kde-i18n-es
+ksirc libkdenetwork2-ksirc kdenetwork-ksirc
+ksirc-doc kdenetwork-ksirc
+ksirtet kdegames
+ksirtet-doc kdegames
+ksirtet-doc-es kde-i18n-es
+ksmiletris kdegames
+ksmssend
+ksmssend-i18n-es
+ksmssend-i18n-pt_BR
+ksnake kdegames
+ksnake-doc kdegames
+ksnake-doc-es kde-i18n-es
+ksnapshot kdegraphics-ksnapshot
+ksnapshot-doc kdegraphics-ksnapshot
+ksnapshot-doc-es kde-i18n-es
+ksokoban kdegames
+ksokoban-doc kdegames
+kspaceduel kdegames
+kspaceduel-doc kdegames
+kspell-doc-es kde-i18n-es
+kspread libkoffice2-kspread koffice-kspread koffice-progs
+kspread-doc koffice-kspread
+kspread-docs-es koffice-i18n-es
+kspread-i18n-es koffice-i18n-es
+kspread-i18n-pt_BR koffice-l10n-pt_BR
+kspy libkdesdk1-devel libkdesdk1
+kstars indilib kdeedu
+kstars-doc kdeedu
+kstars-doc-es kde-i18n-es
+kstars-doc-pt_BR kde-i18n-pt_BR
+ksvg libkdegraphics0-ksvg kdegraphics-ksvg
+ksymoops ksymoops
+ksync kdepim-kpilot libkdepim2-common
+ksysguard libkdebase4 kdebase-progs kdebase-common
+ksysguard-daemon kdebase-progs
+ksysguard-doc kdebase-common
+ksysguard-doc-es kde-i18n-es
+ksysv kdeadmin-ksysv
+ksysv-doc kdeadmin-ksysv
+ksysv-doc-es kde-i18n-es
+ktalkd kdenetwork-ktalk
+ktalkd-doc kdenetwork-ktalk
+kteatime kdetoys
+kteatime-doc kdetoys
+kteatime-doc-es kde-i18n-es
+ktimer kdeutils-ktimer
+ktimer-doc kdeutils-ktimer
+ktimer-doc-es kde-i18n-es
+ktip kdebase-progs kdebase-common
+ktnef libkdepim2-ktnef kdepim-ktnef
+ktouch kdeedu
+ktouch-doc kdeedu
+ktouch-doc-es kde-i18n-es
+ktron kdegames
+ktron-doc kdegames
+ktuberling kdegames
+ktuberling-doc kdegames
+ktuberling-doc-es kde-i18n-es
+ktux kdetoys
+kudzu
+kudzu-devel
+kudzu-i18n-es
+kudzu-i18n-pt_BR
+kugar libkoffice2-kugar koffice-progs koffice-kugar
+kugar-doc koffice-kugar
+kugar-docs-es koffice-i18n-es
+kugar-docs-pt_BR koffice-l10n-pt_BR
+kugar-i18n-es koffice-i18n-es
+kugar-i18n-pt_BR koffice-l10n-pt_BR
+kuickshow libkdegraphics0-kuickshow kdegraphics-kuickshow
+kuickshow-doc-es kde-i18n-es
+kuiviewer kdesdk
+kuser kdeadmin
+kuser-doc kdeadmin
+kuser-doc-es kde-i18n-es
+kverbos kdeedu
+kverbos-doc kdeedu
+kverbos-doc-es kde-i18n-es
+kview kdegraphics-common kdegraphics-kview libkdegraphics0-kview kdegraphics-ksvg
+kview-doc kdegraphics-kview
+kview-doc-es kde-i18n-es
+kvoctrain kdeedu
+kvoctrain-doc kdeedu
+kvoctrain-doc-es kde-i18n-es
+kwallet-doc kdeutils-kwalletmanager
+kwallet-doc-es kde-i18n-es
+kwalletmanager kdeutils-kwalletmanager
+kweather libkdetoys1-kweather kdetoys-kweather
+kweather-doc kdetoys-kweather
+kweather-doc-es kde-i18n-es
+kwifimanager libkdenetwork2-kwifimanager kdenetwork-kwifimanager
+kwifimanager-doc-es kde-i18n-es
+kwin kdebase-common kdebase-progs libkdebase4
+kwin-cde kdeartwork
+kwin-glow kdeartwork
+kwin-icewm kdeartwork
+kwin-kde1 kdeartwork
+kwin-kstep kdeartwork
+kwin-openlook kdeartwork
+kwin-plastik libkdebase4 kdebase-common
+kwin-system kdeartwork
+kwin4 kdegames
+kwin4-doc kdegames
+kwin4-doc-es kde-i18n-es
+kword libkoffice2-kword koffice-kword koffice-progs
+kword-doc koffice-kword
+kword-docs-es koffice-i18n-es
+kword-docs-pt_BR koffice-l10n-pt_BR
+kword-i18n-es koffice-i18n-es
+kword-i18n-pt_BR koffice-l10n-pt_BR
+kworldclock kdetoys
+kworldclock-doc kdetoys
+kworldclock-doc-es kde-i18n-es
+kworldclock-themes kdeartwork
+kwuftpd-doc-es kde-i18n-es
+kxconfig-doc-es kde-i18n-es
+kxkb kdebase-progs libkdebase4 kdebase-common
+kxkb-doc kdebase-common
+kxsldbg kdewebdev
+kxsldbg-doc kdewebdev
+kynaptic
+kynaptic-i18n-pt_BR
+ladspa ladspa
+lam sweep libmpich21-devel libmpich1-devel mpic++ mpif77 libkdesdk1-devel mpich lam-devel mpich2 mpi2f77 mpi2cc lam-runtime mpicc
+lam-doc lam-doc
+lam-examples
+lame
+lame-doc
+latex2html latex2html
+lcms liblcms1
+lcms-devel liblcms1-devel
+ldconfig ldconfig
+leafnode leafnode
+less less
+lexmark-foomatic-kit
+lexmark2070 printer-filters
+lexmark7000linux printer-filters
+lha lha
+libacl-devel libacl1-devel
+libacl1 libacl1
+libadns-devel libadns1-devel
+libadns1 libadns1
+libalsa2 libalsa-data libalsa2
+libalsatoss0 libalsa-oss0
+libao-devel libao2-devel
+libao-doc
+libao2 libao2
+libaoss0 libalsa-oss0 aoss
+libapr-devel libapr0-devel libapr-util0-devel
+libapr-devel-static libapr-util0-devel libapr0-devel
+libapr0 libapr-util0 libapr0
+libapt-pkg-devel libapt-pkg0-devel
+libapt-pkg2
+libart-devel libart_lgpl2-devel
+libart2 libart_lgpl2
+libaspell-devel libaspell15-devel
+libaspell15 libaspell15
+libattr-devel libattr1-devel
+libattr1 libattr1
+libavc1394-devel libavc1394_0-devel
+libavc1394_0 libavc1394_0-testools libavc1394_0
+libavifile0 libaviplayavcodec0.7 libavifile0.7
+libbeecrypt-devel libbeecrypt6-devel
+libbeecrypt6 libbeecrypt6
+libbluetooth1
+libbonobo libbonobo2_0 libbonobo
+libbonobo-devel libbonobo2_0-devel libbonobo
+libbonobo-doc
+libbonobo-i18n-es libbonobo
+libbonobo-i18n-pt_BR libbonobo
+libbonoboui libbonoboui2_0 libbonoboui
+libbonoboui-devel libbonoboui libbonoboui2_0-devel
+libbonoboui-i18n-es libbonoboui
+libbonoboui-i18n-pt_BR libbonoboui
+libbz2 libbzip2_1
+libbz2-devel libbzip2_1-devel
+libcap
+libcap-devel libcap1-devel
+libcap1 libcap1
+libcdda-devel libcdda0-devel
+libcdda0 libcdda0
+libclamav-devel libclamav1-devel
+libclamav1 libclamav1
+libconectiva-devel
+libconectiva1
+libcroco-devel libcroco2-devel
+libcroco2 libcroco libcroco2
+libcurl-devel libcurl3-devel
+libcurl2 curl
+libdevmapper-devel libdevmapper1.01-devel
+libdevmapper1.00
+libdigikam0 libdigikam0
+libdm-devel libdm0-devel
+libdm0 libdm0
+libdockapp
+libdockapp-devel
+libdockapp-devel-static
+libdps-progs xorg-x11
+libdps1 libxorg-x11
+libdv libdv-apps
+libdv-devel libdv4-static-devel libdv4-devel
+libdvdread-devel libdvdread3-devel
+libdvdread2
+libdvdread3 libdvdread3
+libdxr3-devel libdxr3_0-devel
+libdxr3_0 libdxr3_0
+libecpg4
+libeel-devel libeel2_2-devel
+libeel2 libeel2_2
+libeel2-i18n-es eel
+libeel2-i18n-pt_BR eel
+libenchant-devel libenchant1-devel
+libenchant0 libenchant1
+libewm
+libewm-devel
+libexif-devel libexif12-devel
+libexif-doc
+libexif9
+libexif9-i18n-es libexif12
+libf2c0 libf2c0
+libfaad2
+libfaad2-devel
+libfaad2-doc
+libfaad2-utils
+libfam-devel libgamin-1_0-devel
+libfam0 libgamin-1_0
+libfame-devel
+libfame0
+libffmpeg-devel libpostproc0-devel libffmpeg0-devel
+libffmpeg0 ffmpeg libpostproc0 libffmpeg0
+libflac++2
+libflac-devel liboggflac++2-devel libflac++5-devel libflac7-devel liboggflac3-devel
+libflac4 flac
+libfontconfig-devel libfontconfig1-devel
+libfontconfig1 fontconfig libfontconfig1
+libfribidi-devel libfribidi0-devel
+libfribidi0 fribidi libfribidi0
+libftgl-demo
+libftgl-devel libftgl0-devel
+libftgl-doc
+libftgl0 libftgl0
+libgaim-remote-devel libgaim-remote0-devel
+libgaim-remote0 libgaim-remote0
+libgal-devel libgal23-devel
+libgal0 libgal2.0_6 gal2.0
+libgal0-i18n-es gal2.0
+libgal0-i18n-pt_BR gal2.0
+libgal21
+libgal21-i18n-es
+libgal21-i18n-pt_BR
+libgcc
+libgcc-i18n-es
+libgcj-devel
+libgcj4 libgcj6
+libgcrypt1
+libgd-devel libgd2-devel
+libgd-doc
+libgd-progs gd-utils
+libgd1
+libgd2 libgd2
+libgdbm-devel libgdbm3-devel
+libgdbm-devel-static libgdbm3-devel
+libgdbm3 libgdbm3
+libghttp-devel libghttp1-devel
+libghttp1 libghttp1
+libgimpprint1
+libgimpprint1-devel
+libgl-mesa-devel
+libgl-progs xorg-x11
+libgl-xfree86-devel
+libgl1-mesa
+libgl1-nvidia
+libgl1-xfree86 xorg-x11-server
+libglade libglade-bonobo0 libglade-gnome0 libglade0
+libglade-devel libglade0-devel
+libglade2 libglade2.0_0
+libglade2-devel libglade2.0_0-devel
+libglade2-doc libglade2.0_0-devel
+libglide2 Glide_V3 Glide_V2
+libglide2-devel Glide_V3-devel Glide_V2-devel
+libglide3 Glide_V3 Glide_V3-DRI Glide_V2 Glide_V5
+libglide3-devel Glide_V3-DRI-devel Glide_V3-devel Glide_V5-devel Glide_V2-devel
+libglu-mesa-devel
+libglu1-mesa
+libglu1-xfree86
+libglut-devel
+libglut3
+libgmcop1 libarts1
+libgnet-devel libgnet-1.1_0-devel
+libgnet-doc
+libgnet1.1 libgnet-1.1_0
+libgnome libgnome2_0 libgnome2
+libgnome-devel libgnome2_0-devel
+libgnome-doc libgnome2_0-devel
+libgnome-i18n-es libgnome2
+libgnome-i18n-pt_BR libgnome2
+libgnome-keyring0 libgnome-keyring0
+libgnome-vfs2 libgnome-vfs2_0
+libgnome-vfs2-devel libgnome-vfs2_0-devel
+libgnomecanvas libgnomecanvas2_0
+libgnomecanvas-devel libgnomecanvas2_0-devel
+libgnomecanvas-doc
+libgnomecanvas-i18n-es libgnomecanvas2_0
+libgnomecanvas-i18n-pt_BR libgnomecanvas2_0
+libgnomeprint libgnomeprint2-2_0 libgnomeprint
+libgnomeprint-devel libgnomeprint2-2_0-devel
+libgnomeprint-i18n-es libgnomeprint
+libgnomeprint-i18n-pt_BR libgnomeprint
+libgnomeprintui libgnomeprintui2-2_0
+libgnomeprintui-devel libgnomeprintui2-2_0-devel
+libgnomeprintui-i18n-es libgnomeprintui2-2_0
+libgnomeprintui-i18n-pt_BR libgnomeprintui2-2_0
+libgnomeui libgnomeui2 libgnomeui2_0 gnome-libs
+libgnomeui-devel libgnomeui2_0-devel
+libgnomeui-doc libgnomeui2_0-devel
+libgnomeui-i18n-es libgnomeui2
+libgnomeui-i18n-pt_BR libgnomeui2
+libgpgme-devel libgpgme03_6-devel libgpgme11-devel
+libgpgme-doc
+libgpgme6 libgpgme03_6
+libgphoto2 libgphoto2 libgphoto-hotplug
+libgphoto2-devel libgphoto2-devel
+libgphoto2-doc
+libgphoto2-i18n-es libgphoto2
+libgphoto2-i18n-pt_BR libgphoto2
+libgr
+libgr-progs netpbm
+libgsf libgsf-1_1
+libgsf-devel libgsf-1_1-devel
+libgsf-gnome libgsf-1_1
+libgsf-gnome-devel libgsf-1_1-devel
+libgsl-devel gsl-progs libgsl0-devel
+libgsl0 libgsl0
+libgsm-devel libgsm1-devel
+libgsm-progs gsm
+libgsm1 libgsm1
+libgtkhtml2 libgtkhtml2_0
+libgtkhtml2-devel libgtkhtml2_0-devel
+libgtkhtml20 libgtkhtml1.1_3
+libgtkhtml30 libgtkhtml-3.0_4 gtkhtml3.0
+libgtkhtml30-i18n-es gtkhtml3.0
+libgtkhtml30-i18n-pt_BR gtkhtml3.0
+libgtksourceview-devel libgtksourceview-1.0_0-devel
+libgtksourceview1.0 libgtksourceview-1.0_0 gtksourceview
+libgtksourceview1.0-i18n-es gtksourceview
+libgtksourceview1.0-i18n-pt_BR gtksourceview
+libgtkxmhtml libgtkxmhtml1
+libgtkxmhtml-devel libgnome32-devel
+libgtop2 libgtop2
+libgtop2-devel libgtop2.0_5-devel
+libgtop2-i18n-es libgtop2
+libgtop2-i18n-pt_BR libgtop2
+libgucharmap4 libgucharmap4
+libguile12 libguile12
+libguppi-devel Guppi libguppi16-devel
+libguppi16 libguppi16
+libhermes-devel libhermes1-devel
+libhermes1 libhermes1
+libhpojip0 hpoj libhpojip0
+libhpojip0-devel libhpojip0-devel
+libid3-devel libid3_3.8_3-devel
+libid3_0 id3lib libid3_0
+libidl libIDL2_0
+libidl-devel libIDL2_0-devel
+libidn-devel libidn11-devel
+libidn11 libidn11
+libimap-devel imap-devel
+libimap-devel-static
+libimap4
+libimlib-devel libimlib1-devel
+libimlib1 imlib libimlib1
+libimlib1-cfgeditor imlib-cfgeditor
+libipsec0 libipsec0
+libipsec0-devel libipsec0-devel
+libiw27 libiw28
+libiw27-devel libiw28-devel
+libjasper-common jasper
+libjasper-devel libjasper1.701_1-devel
+libjasper1 libjasper1.701_1
+libjpeg-devel libjpeg62-devel
+libjpeg62 jpeg-progs libjpeg62
+libkabinterfaces1 libkdepim2-kaddressbook
+libkcal2 kdepim-common libkdepim2-common
+libkcddb1 libkdemultimedia1-common kdemultimedia-kscd
+libkdeeducore0 libkdeedu1
+libkdeeduplot1 libkdeedu1
+libkdeeduui1 libkdeedu1
+libkdenetwork2
+libkdepim1 libkdepim2-common
+libkdgantt0
+libkgantt0 kdepim-korganizer libkdepim2-common
+libkipi-devel libkipi0 libkipi0-devel
+libkipi0 libkipi0
+libkmultipage0 libkdegraphics0-common
+libknewstuff1 kdelibs-common libkdecore4
+libkonfig-devel
+libkonfig0
+libkonq4 libkdebase4
+libkpimexchange1 libkdepim2-common
+libkpinterfaces1 libkdepim2-kontact
+libksba0
+libksieve0 kdepim-common libkdepim2-common
+liblm_sensors3 liblm_sensors3
+libltdl-devel libltdl3-devel
+libltdl3 libltdl3
+libmad-devel libid3tag0-devel libmad0-devel
+libmad0 libid3tag0 libmad0
+libmagic-devel libmagic1-devel
+libmagick++-devel libMagick8.0.2-devel
+libmagick++5.5.7
+libmagick-devel libMagick8.0.2-devel
+libmagick5.5.7
+libmetacity-devel libmetacity-private0-devel
+libmikmod-devel libmikmod2-devel
+libmikmod2 libmikmod2
+libmimelib1 libkdepim2-common
+libmjpegtools-devel libmjpegtools1.6-devel
+libmjpegtools0 libmjpegtools1.6
+libmng-devel libmng1-devel
+libmng1 libmng1
+libmp3lame-devel
+libmp3lame0
+libmusicbrainz-devel libmusicbrainz4-devel
+libmusicbrainz4 libmusicbrainz4
+libmysqlclient-devel libmysql14-devel
+libmysqlclient12 libmysql12
+libncftp2
+libncftp2-devel
+libneon-devel
+libneon-devel-static
+libneon-doc
+libneon24
+libnet libnet
+libnet-devel libnet2-devel libnet libnet1.1-devel libnet1.0-devel
+libnetpbm9
+libnetpbm9-devel libshhopt1-devel libnetpbm10-devel
+libnewt-cnc1
+libnewt-cnc1-devel
+libnewt51 libnewt0.51
+libnids
+libnids-devel libnids1-devel
+libnspr-devel libnspr4-devel
+libnspr4 libnspr4
+libnss-devel libnss3-devel
+libnss3 libnss3
+libntfs-devel libntfs5-devel
+libntfs-gnomevfs-devel libntfs5-devel ntfsprogs-gnomevfs
+libntfs-gnomevfs1 ntfsprogs-gnomevfs
+libntfs5 libntfs5
+libobjc libobjc1
+libogg-devel libogg0-devel
+libogg-doc
+libogg0 libogg0
+liboggflac++0
+liboggflac1
+libole2 libole20
+libole2-devel libole20-devel
+libopenal-devel libopenal0-devel
+libopenal0 libopenal0
+libopenh323_1 libopenh323_1
+libopenh323_1-devel libopenh323_1-devel
+libopenobex-devel libopenobex1.0-devel
+libopenobex1 libopenobex1.0
+libopensc-devel libopensc0-devel
+libopensc0 pam_opensc libopensc0 opensc
+libpcap libpcap0
+libpcap-devel libpcap0-devel
+libperl5.8
+libpgtypes1
+libplanner-devel libplanner-1_0-devel
+libplanner1 libplanner-1_0
+libplot-devel libplotutils2-devel
+libplot4 libplotutils2
+libplotter-devel
+libplotter4
+libpng-devel libpng3-devel
+libpng-doc
+libpng3 libpng3
+libpq3
+libproplist-devel libPropList0-devel
+libproplist0 libPropList0
+libptal0 libptal0
+libptal0-devel libptal0-devel
+libqavm0 libavifile0.7
+libqtmcop1 libarts1
+libraw1394 libraw1394-utils
+libraw1394-devel libraw1394_8-devel
+librpm4.2
+librrd-devel librrdtool2-devel
+librrd0
+librsvg2 librsvg2_2 librsvg
+librsvg2-devel librsvg2_2-devel
+librsync rdiff librsync1
+librsync-devel librsync1-devel
+libsamplerate-devel libsamplerate0-devel
+libsamplerate-doc
+libsamplerate0 libsamplerate-progs libsamplerate0
+libsane-hpoj1 libsane-hpoj1
+libsane1 libsane1
+libsane1-i18n-es sane-backends
+libsdl-devel libSDL1.2-devel
+libsdl-image-devel libSDL_image1.2-devel
+libsdl-image1.2 libSDL_image1.2
+libsdl-mixer-devel libSDL_mixer1.2-devel
+libsdl-mixer1.2 libSDL_mixer1.2 SDL_mixer-player
+libsdl-net-devel libSDL_net1.2-devel
+libsdl-net1.2 libSDL_net1.2
+libsdl-ttf-devel libSDL_ttf2.0-devel
+libsdl-ttf-test libSDL_ttf2.0-test
+libsdl-ttf2.0 libSDL_ttf2.0
+libsdl1.2 libSDL1.2
+libsdp2
+libshout libshout3
+libshout-devel libshout3-devel
+libslang-devel libslang1-devel
+libslang-devel-static libslang1-devel
+libslang1 libslang1
+libslp-devel libopenslp1-devel
+libslp1 libopenslp1
+libsmbclient-devel libsmbclient0-devel
+libsmbclient0 libsmbclient0
+libsmpeg-devel libsmpeg0.4-devel
+libsmpeg-progs smpeg-player
+libsmpeg0.4 libsmpeg0.4
+libsndfile-devel libsndfile1-devel
+libsndfile-utils libsndfile-progs
+libsndfile1 libsndfile-progs libsndfile1
+libsoup
+libsoup-devel
+libstdc++-devel libstdc++2.10-devel
+libstdc++2.10 libstdc++2.10
+libstdc++5.0 libstdc++5
+libstdc++5.0-devel
+libtaglib-devel libtaglib0 libtaglib0-devel
+libtaglib1 libtaglib0
+libtiff-devel libtiff3-devel
+libtiff-progs libtiff-progs
+libtiff3 libtiff3
+libtool libtool
+libtool-doc
+libucd-snmp-devel
+libucd-snmp4
+libungif-devel libungif4-devel
+libungif-doc
+libungif-progs libungif-progs
+libungif4 libungif4
+libusb-devel libusb0.1_4-devel
+libusb4
+libuser libuser
+libuser-devel libuser1-devel
+libuser-i18n-es libuser
+libuser1 libuser libuser1
+libuser1-ldap libuser
+libuser1-python
+libvorbis-devel libvorbis0-devel
+libvorbis-doc
+libvorbis3 libvorbis0 libvorbisenc2 libvorbisfile3
+libwings-devel
+libwmf-devel libwmf0.2_7-devel
+libwmf-doc
+libwmf-gtk
+libwmf-tools libwmf
+libwmf7 libwmf0.2_7
+libwnck-devel libwnck-1_16-devel
+libwnck1
+libworkman6 kdemultimedia-kscd
+libwrap-devel tcp_wrappers-devel
+libwraster
+libwraster-devel
+libwv2-devel libwv2_1 libwv2_1-devel
+libwv2_1 libwv2_1
+libwv7
+libwvstreams
+libwvstreams-devel libwvstreams3.74-devel
+libwxgtk2-2.4 libwxgtk2.4
+libwxgtk2-2.4-i18n-es
+libwxgtk2-devel libwxgtk2.4-devel
+libwxgtk2-doc
+libwxgtk2-examples
+libwxgtk2-gl libwxgtkgl2.4
+libxaw3d-devel libXaw3d7-devel
+libxaw3d6
+libxaw6 libxorg-x11
+libxaw7 libxorg-x11
+libxforms-devel
+libxforms0.89
+libxft-devel libxorg-x11-devel
+libxft2
+libxklavier libxklavier-data
+libxklavier-devel libxklavier10-devel
+libxmi-devel
+libxmi1
+libxml libxml1
+libxml-devel libxml1-devel
+libxml-doc
+libxml2 libxml2-utils libxml2
+libxml2-devel libxml2-devel
+libxml2-doc
+libxml2-python libxml2-python
+libxmltok w3c-libwww
+libxmltok-devel w3c-libwww-devel
+libxosd-devel libxosd2-devel
+libxosd-xmms xmms-xosd beep-media-player-xosd
+libxosd2 xosd-tools libxosd2
+libxslt-devel libxslt1-devel
+libxslt-doc
+libxslt1 libxslt1 libxslt-proc
+libxvid-devel
+libxvid3
+libyafcore0 libkdemultimedia1-common
+libyafxplayer0 libkdemultimedia1-common
+libz-devel zlib1-devel
+libz-devel-static zlib1-devel
+libz1 zlib1
+libzvt libzvt2.0_0
+libzvt-devel libzvt2.0_0-devel
+licq licq
+licq-common licq
+licq-console licq-console
+licq-devel licq licq-kde licq-rms licq-devel licq-console
+licq-gtk
+licq-kde licq-kde
+licq-qt licq
+licq-qt-i18n
+licq-rms licq-rms
+lilo lilo
+lilo-doc lilo-doc
+linc ORBit2 liblinc1
+linc-devel liblinc1-devel
+linc-doc liblinc1-devel
+linuxconf linuxconf-lang-pt linuxconf-util linuxconf linuxconf-lang-es
+linuxconf-accountbatch linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-amandaconf linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-aptconf linuxconf
+linuxconf-cnc_rbc udhcpc
+linuxconf-devel linuxconf-devel
+linuxconf-dhcpd linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-dialout linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-dnsconf linuxconf linuxconf-lang-es linuxconf-lang-pt
+linuxconf-fetchmailconf linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-firewall linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-fsbrowser
+linuxconf-grubconf linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-gurus linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-inetdconf linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-inittab linuxconf
+linuxconf-ircdconf linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-isapnpconf linuxconf linuxconf-lang-es linuxconf-lang-pt
+linuxconf-kbdconf linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-kernelconf linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-lib linuxconf-lib
+linuxconf-libmodules
+linuxconf-liloconf linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-mailconf linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-managerpm linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-marsconf linuxconf linuxconf-lang-es linuxconf-lang-pt
+linuxconf-mgettyconf linuxconf
+linuxconf-modemconf linuxconf
+linuxconf-motd linuxconf
+linuxconf-mouseconf linuxconf
+linuxconf-mrtg linuxconf
+linuxconf-netadm linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-nfsconf linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-nisconf linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-opensshd linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-pamconf linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-postfixconf linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-pppdialin linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-pslaveconf linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-pythonmod linuxconf
+linuxconf-radiusconf linuxconf linuxconf-lang-es linuxconf-lang-pt
+linuxconf-rarp linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-redhatppp linuxconf-lang-pt linuxconf linuxconf-lang-es
+linuxconf-report linuxconf
+linuxconf-samba linuxconf linuxconf-lang-es linuxconf-lang-pt
+linuxconf-shellmod linuxconf linuxconf-lang-es linuxconf-util linuxconf-lang-pt
+linuxconf-squid linuxconf
+linuxconf-status linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-syslogconf linuxconf
+linuxconf-treemenu linuxconf
+linuxconf-updatemon linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-usermenu linuxconf linuxconf-lang-pt linuxconf-lang-es
+linuxconf-usersbygroup linuxconf-lang-pt linuxconf-lang-es linuxconf
+linuxconf-uucp linuxconf
+linuxconf-vregistry linuxconf
+linuxconf-wuftpd linuxconf
+linuxconf-xkbdconf linuxconf linuxconf-lang-es linuxconf-lang-pt
+lisa-doc-es kde-i18n-es
+lm1100 printer-filters printer-utils
+lm_sensors lm_sensors
+lm_sensors-devel liblm_sensors3-devel
+lm_sensors-doc
+lm_sensors-sensord lm_sensors
+lm_sensors-tellerstats
+locolor-icon-theme kdeartwork
+logcheck logcheck
+logrotate logrotate
+logwatch logwatch
+losetup losetup
+lout lout
+lout-doc lout-doc
+lpstyl printer-filters
+lrzsz lrzsz
+lskat kdegames
+lskat-doc kdegames
+lskat-doc-es kde-i18n-es
+lslk lslk
+lsof lsof
+lsof-doc
+ltrace ltrace
+lua
+lua-devel liblua5-devel
+lvm-base
+lvm-iop10
+lvm-iop6
+lvm2 lvm2
+lwp liblwp2
+lwp-devel liblwp2-devel
+lxcontrol printer-utils
+lynx lynx
+lynx-doc
+lynx-i18n-es
+lynx-i18n-pt_BR lynx
+lyx lyx
+lz11 printer-filters
+m4 m4
+macromedia-flash-plugin
+macutils macutils
+magicdev gnome-volume-manager
+magicdev-i18n-es
+magicdev-i18n-pt_BR
+mailcap mailcap
+mailman mailman
+mailman-clamav
+mailman-i18n-es mailman
+mailman-i18n-pt_BR mailman
+mailx mailx
+make make
+make-i18n-es
+make-i18n-pt_BR
+makedev makedev
+man man
+man-i18n-en
+man-i18n-es
+man-i18n-pt_BR
+man-pages man-pages
+man-pages-devel
+man-pages-i18n-es
+man-pages-i18n-pt_BR
+mars-nwe
+mawk mawk
+mc mc
+mc-i18n-es mc
+mc-i18n-pt_BR mc
+mcrypt libmcrypt mcrypt libmcrypt4
+mcrypt-devel libmcrypt4-devel
+mcserv
+megami-doc-es kde-i18n-es
+memtest86
+mesa-doc
+metacity libmetacity-private0 metacity
+metacity-i18n-es metacity
+metacity-i18n-pt_BR metacity
+metaconf metaconf
+mgetty mgetty-sendfax mgetty
+mgetty-doc
+mgetty-sendfax hylafax-client mgetty-sendfax
+mgetty-viewfax mgetty-viewfax
+mgetty-voice mgetty-sendfax mgetty-voice
+mhash libmhash2
+mhash-devel libmhash2-devel
+mhash-doc
+mi
+mi-slides
+mi_buildtools
+migrationtools-common openldap-migration
+migrationtools-offline openldap-migration
+migrationtools-online openldap-migration
+mikmod mikmod
+mingetty mingetty
+mingetty-i18n-pt_BR
+minicom minicom
+minicom-i18n-es minicom
+minicom-i18n-pt_BR minicom
+miniperl
+mirror mirror
+mjpegtools mjpegtools
+mkbootdisk mkbootdisk
+mkfontpkg
+mkinitrd mkinitrd
+mkisofs mkisofs
+mknbi mkinitrd-net
+mktemp mktemp
+mkxauth mkxauth
+ml85p printer-filters
+mnogosearch emboss mnogosearch
+mnogosearch-devel libmnogosearch3.2-devel
+mod_auth_ldap
+mod_auth_pam mod_auth_pam
+mod_auth_pgsql
+mod_dav
+mod_perl apache-mod_perl
+mod_perl-devel mod_perl-devel
+mod_perl-doc
+mod_python
+mod_python-doc
+module-init-tools modutils module-init-tools
+modutils modutils
+mon mon
+mount util-linux mount
+mountapp mountapp
+mouseconfig
+mouseconfig-i18n-es
+mouseconfig-i18n-pt_BR
+mozilla mozilla
+mozilla-base mozilla libnss3
+mozilla-devel mozilla-devel
+mozilla-dom-inspector mozilla-dom-inspector
+mozilla-extension-diggler
+mozilla-irc mozilla-irc
+mozilla-js-debugger mozilla-js-debugger
+mozilla-mail mozilla-mail
+mozilla-psm
+mozplugger mozplugger
+mp3c mp3c
+mpage mpage
+mpeglib libkdemultimedia1-common kdemultimedia-common
+mpg321 mpg123 mpg321
+mplayer mencoder mplayer-gui mplayer
+mplayer-doc
+mplayer-skins mplayer-gui mplayer-skins
+mrtg mrtg
+mrtg-doc
+mrtg-extras
+mtools mtools
+mtools-doc
+mtools-floppyd mtools
+mtools-i18n-pt_BR
+mtr mtr
+mtr-gtk mtr-gtk
+mutt mutt
+mutt-doc
+mutt-help
+mutt-i18n-es mutt
+mutt-i18n-pt_BR mutt
+mutt-ldap
+myfirewallcontrol
+myfirewallcontrol-doc
+myfirewallcontrol-i18n-pt_BR
+mysql MySQL-client MySQL-common
+mysql-bench MySQL-bench
+mysql-client MySQL-client
+mysql-doc
+nagios nagios
+nagios-cgi nagios nagios-www
+nagios-devel nagios-devel
+nagios-nsca
+nagios-plugins nagios-plugins
+nagios-plugins-extras nagios-plugins
+nasm nasm
+nasm-doc nasm-doc
+nautilus libnautilus2 nautilus
+nautilus-cd-burner nautilus-cd-burner
+nautilus-cd-burner-i18n-es nautilus-cd-burner
+nautilus-cd-burner-i18n-pt_BR nautilus-cd-burner
+nautilus-devel libnautilus2-devel
+nautilus-extras nautilus
+nautilus-i18n-es nautilus
+nautilus-i18n-pt_BR nautilus
+nautilus-media
+nautilus-media-i18n-es
+nautilus-media-i18n-pt_BR
+nautilus-suggested nautilus
+nc nc
+ncftp ncftp
+ncompress ncompress
+ncpfs libncpfs2.3 ncpfs
+ncpfs-libs libncpfs2.3
+ncpfs-libs-devel libncpfs2.3-devel
+ncurses libncurses5 ncurses-extraterms ncurses
+ncurses-devel libncurses5-devel
+ncurses-doc
+ncurses-i18n-pt_BR
+ncurses-term ncurses-extraterms
+ncurses4
+nedit nedit
+net-snmp net-snmp net-snmp-trapd net-snmp-mibs
+net-snmp-devel libnet-snmp5-devel
+net-snmp-doc
+net-snmp-utils net-snmp-utils
+net-tools net-tools
+net-tools-i18n-pt_BR net-tools
+netatalk netatalk
+netatalk-devel netatalk-devel
+netconfig pump
+netpbm netpbm
+newpg gnupg2
+newt newt
+newt-devel libnewt0.51-devel
+nfs-server
+nfs-utils nfs-utils nfs-utils-clients
+nmap nmap
+nmap-doc
+nmap-frontend nmap-frontend
+noatun kdemultimedia-noatun libkdemultimedia1-noatun kdemultimedia-common
+noatun-addons libkdeaddons1-noatun kdeaddons-noatun
+noatun-doc kdemultimedia-noatun
+noatun-doc-es kde-i18n-es
+normalize normalize
+nscd nscd
+nss_ldap nss_ldap
+ntfsprogs ntfsprogs
+ntop ntop
+ntp ntp-client ntp openntpd
+ntp-doc
+ntsysv ntsysv
+numlock numlock
+oaf liboaf0 oaf
+oaf-devel liboaf0-devel oaf
+oaf-i18n-es oaf
+oaf-i18n-pt_BR oaf
+objc
+octave octave
+octave-devel
+octave-doc octave-doc
+oggificator
+oki4linux printer-filters
+omni
+omni-brother
+omni-canon
+omni-cups
+omni-epson
+omni-foomatic
+omni-hp
+omni-ibm
+omni-ks
+omni-kyocera
+omni-lib
+omni-oki
+omni-panasonic
+omni-star
+openjade OpenSP openjade libopenjade0 libosp0
+openjade-devel libosp0-devel libOpenSP3-devel libopenjade0-devel
+openjade-doc
+openldap openldap
+openldap-client openldap-clients
+openldap-devel libldap2.2_7-devel
+openldap-doc openldap-doc
+openldap-server openldap-servers
+openmotif lesstif-clients
+openmotif-demos
+openmotif-devel lesstif-clients lesstif-devel
+openmotif-mwm lesstif-mwm
+openoffice.org OpenOffice.org-l10n-es OpenOffice.org OpenOffice.org-l10n-pt_BR
+openoffice.org-i18n-en_US OpenOffice.org-help-en OpenOffice.org OpenOffice.org-l10n-en
+openoffice.org-i18n-es_ES OpenOffice.org-help-es OpenOffice.org-l10n-es
+openoffice.org-i18n-pt_BR OpenOffice.org-help-pt_BR OpenOffice.org-l10n-pt_BR OpenOffice.org-l10n-en
+openoffice.org-libs OpenOffice.org-libs
+openslp openslp
+openslp-doc
+openssh openssh
+openssh-askpass openssh-askpass
+openssh-askpass-gnome openssh-askpass-gnome
+openssh-clients openssh openssh-clients
+openssh-server openssh-server
+openssl-devel libopenssl0.9.7-devel
+openssl-devel-static libopenssl0.9.7-static-devel
+openssl-doc
+openssl-progs openssl
+openssl0.9.7 libopenssl0.9.7
+orbit1 ORBit libORBit0
+orbit1-devel libORBit0-devel
+orbit2 libORBit2_0 ORBit2
+orbit2-devel ORBit2 libORBit2_0-devel
+pam pam
+pam-devel libpam0-devel
+pam-doc pam-doc
+pam-extra libpam0
+pam_krb5 pam_krb5
+pam_ldap pam_ldap
+pam_mount pam_mount
+pam_smb pam_smb
+pam_smb_passwd
+pan pan
+pan-i18n-es pan
+pan-i18n-pt_BR pan
+pango libpango1.0_0-modules pango libpango1.0_0
+pango-devel libpango1.0_0-devel
+pango-doc pango
+parted16 parted
+parted16-devel libparted1.6-devel
+parted16-i18n-es parted
+parted16-i18n-pt_BR parted
+partimage partimage
+passwd passwd
+patch patch
+pax pax
+pbm2l2030 printer-filters
+pbm2lwxl printer-filters
+pciutils pciutils
+pciutils-devel pciutils-devel
+pcl3-cups
+pcre libpcre0 pcre
+pcre-devel libpcre0-devel
+pcsc-lite pcsc-lite
+pcsc-lite-devel pcsc-lite-devel
+pdksh pdksh
+pear-date php-pear-Date
+pear-hcemd5
+pear-log php-pear-Log php-pear
+pear-mail-mime php-pear
+pentaxpj printer-filters
+perguntas_e_respostas
+perl perl
+perl-archive-tar perl-Archive-Tar
+perl-archive-zip perl-Archive-Zip
+perl-authen-sasl perl-Authen-SASL
+perl-base perl-base
+perl-compress-zlib perl-Compress-Zlib
+perl-convert-asn1 perl-Convert-ASN1
+perl-convert-ber perl-Convert-BER
+perl-convert-tnef perl-Convert-TNEF
+perl-convert-uulib perl-Convert-UUlib
+perl-crypt-ssleay perl-Crypt-SSLeay
+perl-date-calc perl-Date-Calc
+perl-datemanip perl-DateManip
+perl-dbd-pg perl-DBD-Pg
+perl-dbi perl-DBI-proxy perl-DBI
+perl-devel perl-devel
+perl-digest-hmac perl-Digest-HMAC
+perl-digest-nilsimsa perl-Digest-Nilsimsa
+perl-digest-sha1 perl-Digest-SHA1
+perl-doc perl-doc
+perl-file-tail perl-File-Tail
+perl-html-parser perl-HTML-Parser
+perl-html-tagset perl-HTML-Tagset
+perl-http-ghttp
+perl-imagemagick
+perl-io-socket-ssl perl-IO-Socket-SSL
+perl-io-stringy perl-IO-stringy
+perl-ldap perl-ldap
+perl-libwww-perl perl-libwww-perl
+perl-libxml-enno perl-libxml-enno
+perl-libxml-perl perl-libxml-perl
+perl-mailtools perl-MailTools
+perl-mime-tools perl-MIME-tools
+perl-mime-tools-doc
+perl-modules
+perl-mon perl-Mon
+perl-msql-mysql-modules
+perl-net-daemon perl-Net-Daemon
+perl-net-dns perl-Net-DNS
+perl-net-ping
+perl-net-server perl-Net-Server
+perl-net-ssleay
+perl-parse-yapp perl-Parse-Yapp
+perl-period perl-Period
+perl-plrpc perl-PlRPC
+perl-postgresql
+perl-sdl perl-SDL
+perl-sgmlspm perl-SGMLSpm
+perl-suidperl perl-suid
+perl-timedate perl-TimeDate
+perl-unix-syslog perl-Unix-Syslog
+perl-uri perl-URI
+perl-utils perl perl-doc
+perl-xml-parser perl-XML-Parser
+perl-xml-sax perl-XML-SAX
+pflogsumm pflogsumm
+php-net-socket php-pear
+php4 php-ini php-cli php-pear
+php4-dba
+php4-devel php432-devel
+php4-doc
+php4-imap
+php4-ldap
+php4-mcrypt
+php4-mhash
+php4-mnogosearch
+php4-mssql
+php4-mysql
+php4-odbc
+php4-pgsql
+php4-snmp
+php4-sybase
+php4-sybase-ct
+phpgroupware phpgroupware
+pidentd pidentd
+pilot-link libpisync0 libpisock8 libpisock++0 pilot-link
+pilot-link-devel libpisock8-devel
+pinentry-curses pinentry
+pinentry-gtk pinentry-gtk
+pinentry-info
+pinentry-qt pinentry-qt
+pinfo pinfo
+ping iputils
+pkgconfig pkgconfig
+planner planner-database planner
+planner-i18n-es planner
+planner-i18n-pt_BR planner
+plotutils plotutils
+pnm2ppa printer-filters
+popt libpopt0
+popt-devel libpopt0-devel
+popt-devel-static libpopt0-devel
+popt-doc
+portaudio libportaudio0
+portaudio-devel libportaudio0-devel
+portmap portmap
+portmap-static
+portslave
+poster printer-utils
+postfix postfix
+postfix-doc
+postgresql postgresql-server postgresql
+postgresql-clients postgresql
+postgresql-contrib postgresql-contrib
+postgresql-devel libpq4-devel libecpg5-devel postgresql-devel
+postgresql-doc
+postgresql-odbc
+postgresql-pgaccess pgaccess
+postgresql-tcl libpgtcl2 postgresql-tcl
+postgresql-test postgresql-test
+ppmtomd printer-filters
+ppmtotbmp
+ppp ppp
+ppp-devel ppp-devel
+privoxy privoxy
+procinfo procinfo
+procmail procmail
+procps procps
+proftpd proftpd
+proftpd-doc
+psacct psacct
+psgml emacs-psgml
+psmisc psmisc
+psmisc-i18n-en psmisc
+psutils psutils
+pump pump
+pump-devel pump-devel
+pump-i18n-es pump
+pump-i18n-pt_BR pump
+pup printer-utils
+pwdb pwdb-conf
+pwdb-devel libpwdb0-devel
+pwdb-doc
+pwlib libpwlib1
+pwlib-devel libpwlib1-devel
+py2pdf
+pychecker pychecker
+pygame pygame
+pygame-devel
+pygame-doc pygame-doc
+pyorbit2
+pyorbit2-devel pyorbit-devel
+pysol pysol-cardsets pysol
+pysol-cardsets pysol-cardsets
+python python-base python
+python-MySQLdb
+python-MySQLdb-doc
+python-adns
+python-beecrypt
+python-biggles
+python-clientcookie
+python-clientform
+python-dateutil
+python-devel
+python-doc
+python-freeze
+python-gtk python-gtk
+python-gtk+2
+python-gtk+2-devel pygtk2.0-devel
+python-gtk+2-examples
+python-gtk+2-libglade
+python-idle tkinter
+python-imaging python-imaging
+python-imaging-devel python-imaging-devel
+python-kudzu
+python-ldap python-ldap
+python-libglade
+python-matplotlib
+python-mx
+python-newt
+python-ninz
+python-numeric python-numeric
+python-numeric-devel python-numeric-devel
+python-numeric-doc
+python-postgresql
+python-qt PyQt PyQt-devel
+python-qt-doc
+python-qt-examples
+python-reportlab python-reportlab
+python-reportlab-doc
+python-reportlab-docco
+python-reportlab-platypus
+python-reportlab-test
+python-rpm
+python-sip sip
+python-spread
+python-sqlite python-sqlite
+python-subversion python-svn
+python-tkinter
+python-wxgtk2 wxPythonGTK
+python-wxgtk2-examples
+pythonlib pythonlib
+pythonpoint
+pyxf86config
+qcad qcad
+qcad-doc
+qscintilla
+qscintilla-devel libqscintilla5-devel
+qt3 qt3-common libqt3
+qt3-assistant-lib
+qt3-database-plugin-mysql
+qt3-database-plugin-odbc
+qt3-database-plugin-pgsql
+qt3-designer libqt3-devel
+qt3-designer-lib libqt3
+qt3-devel libqt3-devel
+qt3-doc libqt3-devel libqt3
+qt3-examples
+qt3-linguist libqt3-devel
+qt3-tutorial
+quanta libkdewebdev0-kfilereplace kdewebdev-kfilereplace kdewebdev
+quanta-devel
+quanta-doc kdewebdev
+quanta-doc-pt_BR kde-i18n-pt_BR
+quanta-reference-css
+quanta-reference-html
+quanta-reference-javascript
+quanta-reference-php
+quota quota
+radiusd-cistron freeradius radiusd-cistron
+raidtools raidtools
+rarpd rarpd
+razor-agents perl-Razor-Agent
+rcs rcs
+rcs-doc
+rdate rdate
+rdesktop rdesktop
+rdist rdist
+readline
+readline-devel libreadline5-devel
+redir redir
+reiserfs-utils reiserfsprogs
+rfb rfb
+rhpl
+rhpl-i18n-es
+rhpl-i18n-pt_BR
+rhythmbox rhythmbox
+rhythmbox-i18n-es rhythmbox
+rhythmbox-i18n-pt_BR rhythmbox
+rman
+rmt rmt
+rootfiles rootfiles
+routed routed
+rp-pppoe rp-pppoe-gui rp-pppoe
+rp-pppoe-gui rp-pppoe-gui
+rp-pppoe-server rp-pppoe
+rplay
+rplay-devel
+rpm rpm
+rpm-build rpm-build
+rpm-devel librpm4.4-devel
+rpm-doc
+rpm-i18n-es
+rpm-i18n-es_ES
+rpm-i18n-pt_BR
+rpm2cpio rpm
+rrdtool rrdtool
+rrdtool-doc
+rsh rsh
+rsh-server rsh-server
+rstart xorg-x11
+rsync rsync
+rusers rusers
+rusers-server rusers-server
+rwall rwall
+rwho rwho
+sablotron libsablotron0 sablotron
+sablotron-devel libsablotron0-devel
+sablotron-doc
+samba-clients smbget samba-common
+samba-common samba-swat samba-common samba-server
+samba-doc samba-doc
+samba-server samba-common samba-server tdb-utils
+samba-swat samba-doc samba-swat
+samba-testprogs
+samba-vfs samba-server
+samba-vscan-clamav samba-vscan-clamav
+samba-vscan-fprot
+samba-vscan-fsecure
+samba-vscan-kaspersky
+samba-vscan-mks
+samba-vscan-oav
+samba-vscan-sophos
+samba-vscan-trend
+samba-winbind samba-winbind samba-server nss_wins
+sane sane-backends
+sane-devel libsane1-devel
+sane-doc
+sane-frontends sane-frontends
+sane-server
+sash sash
+sasl2 libsasl2
+sasl2-devel libsasl2-devel
+sasl2-devel-static libsasl2-devel
+sasl2-doc
+sasl2-plug-anonymous libsasl2-plug-anonymous
+sasl2-plug-crammd5 libsasl2-plug-crammd5
+sasl2-plug-digestmd5 libsasl2-plug-digestmd5
+sasl2-plug-gssapi libsasl2-plug-gssapi
+sasl2-plug-login libsasl2-plug-login
+sasl2-plug-ntlm libsasl2-plug-ntlm
+sasl2-plug-otp libsasl2-plug-otp
+sasl2-plug-plain libsasl2-plug-plain
+sasl2-plug-sasldb libsasl2-plug-sasldb
+sasl2-programs cyrus-sasl
+schedutils
+screem screem
+screem-i18n-es screem
+screem-i18n-pt_BR screem
+screen ncurses ncurses-extraterms screen
+scribus libscribus0 scribus
+scribus-devel libscribus0-devel
+scribus-doc scribus
+scrollkeeper libscrollkeeper0 scrollkeeper
+scrollkeeper-i18n-es scrollkeeper
+scrollkeeper-i18n-pt_BR scrollkeeper
+sdcc sdcc
+sdcc-doc sdcc
+secpolicy kdeadmin
+sed sed
+sed-i18n-es sed
+sed-i18n-pt_BR sed
+sendmail sendmail
+sendmail-cf sendmail-cf
+sendmail-doc sendmail-doc
+setserial setserial
+setup lsb setup
+sg3_utils sg3_utils
+sg_map
+sginfo
+sgml-common openjade sgml-common
+sgml-tools linuxdoc-tools
+sgml-tools-doc
+shadow-utils shadow-utils
+shadow-utils-doc
+shadow-utils-i18n-pt_BR
+shared-mime-info shared-mime-info
+sharutils sharutils
+shout
+showimg showimg
+showimg-doc showimg
+showimg-i18n-es showimg
+showimg-i18n-pt_BR showimg
+slang-doc slang-doc
+slib
+slick-icon-theme kdeartwork
+sliplogin
+slocate slocate
+slocate-i18n-pt_BR
+slrn slrn
+slrn-i18n-es slrn
+slrn-pull slrn-pull
+smartmontools smartmontools
+smbldap-tools smbldap-tools
+snort snort
+sodipodi sodipodi
+sodipodi-i18n-es sodipodi
+sodipodi-i18n-pt_BR sodipodi
+sox sox
+sox-devel sox-devel
+spamassassin spamassassin-spamd spamassassin spamassassin-spamc
+spamassassin-doc
+speak_freely
+speak_freely-gui
+spread
+spread-devel
+sqlite libsqlite0 sqlite-tools
+sqlite-devel libsqlite0-devel
+squid squid
+squid-auth squid
+squid-extra-templates
+squirm
+startup-notification libstartup-notification-1_0
+startup-notification-devel libstartup-notification-1_0-devel
+statserial statserial
+strace strace
+stunnel stunnel
+stunnel-doc
+subversion subversion subversion-repos libsvn_ra_local1_0 libsvn_repos1_0 libsvn_diff1_0 libsvn_client1_0 libsvn_subr1_0 libsvn_ra_dav1_0 libsvn_ra_svn1_0 libsvn_delta1_0
+subversion-devel python-svn-devel libsubversion1_0-devel
+subversion-doc subversion-doc
+subversion-server subversion-server
+sudo sudo
+sudo-doc
+sun-java2
+sun-jre
+sun-jre-java-odbc
+sun-jre-java-plugin
+swatch swatch
+swig swig
+swig-devel swig-devel
+sxid
+sylpheed sylpheed2 sylpheed-claws sylpheed-claws2 sylpheed
+sylpheed-doc sylpheed sylpheed2
+sylpheed-i18n-es sylpheed sylpheed2
+sylpheed-i18n-pt_BR sylpheed sylpheed2
+symlinks symlinks
+synaptic rpmdrake
+synaptic-i18n-es
+synaptic-i18n-pt_BR
+sysklogd sysklogd
+syslinux syslinux
+system-config-soundcard
+sysvinit dpkg lsb SysVinit
+sysvinit-devel
+sysvinit-doc
+t1lib t1lib-config
+t1lib-devel libt1lib5-devel
+t1lib-fonts
+t1lib-progs libt1lib1-progs t1lib-progs
+talk talk
+talk-server talk-server
+tar tar
+tar-i18n-es tar
+tar-i18n-pt_BR tar
+task-alsa
+task-alsa-devel
+task-base
+task-c++-devel
+task-c-devel
+task-cd_recording-base
+task-config-tools
+task-core
+task-debug
+task-desktop-common
+task-docbook-sgml
+task-docbook-xml
+task-foomatic
+task-ghostscript
+task-gimp-print
+task-gimp-print-cups
+task-gnome gnome-volume-manager
+task-gnome-devel
+task-gnome-minimal gnome-volume-manager
+task-gnomeutils
+task-gst-plugins
+task-ha
+task-kde gnome-volume-manager
+task-kde-base-devel
+task-kde-enterprise
+task-kde-i18n-es
+task-kde-i18n-pt_BR
+task-kde-minimal gnome-volume-manager
+task-kde-standard gnome-volume-manager
+task-kernel-compiling
+task-mail-server
+task-mi-stage2
+task-nautilus
+task-network-base
+task-omni
+task-printer-canon
+task-printer-epson
+task-printer-hp
+task-printer-lexmark
+task-printer-misc
+task-printer-okidata
+task-printer-server
+task-printers
+task-profile-devel
+task-profile-emailserver
+task-profile-enterprise
+task-profile-firewallserver
+task-profile-gnome
+task-profile-minimal
+task-profile-notebook
+task-profile-sambaserver
+task-profile-standard
+task-profile-webserver
+task-python-devel
+task-webmin-desktop drakconf
+task-windowmaker
+task-x-window-system desktop-common-data
+tcl tcl
+tcl-devel tcl
+tcllib tcllib
+tclx tclx
+tclx-devel tclx
+tclx-helpfiles tclx
+tcpd tcp_wrappers
+tcpdump tcpdump
+tcptrace
+tcsh rootfiles setup tcsh
+tcsh-doc
+technical-icon-theme
+telnet telnet-client-krb5 telnet
+telnet-server
+tetex tetex texi2html tetex-context tetex-mfwin tetex-dvipdfm tetex-dvips tetex-xdvi tetex-texi2html texinfo tetex-doc
+tetex-afm tetex-afm
+tetex-devel tetex-devel
+tetex-doc tetex-doc
+tetex-dvilj tetex-latex tetex-dvilj
+tetex-dvips tetex tetex-latex tetex-dvips
+tetex-latex tetex-context tetex-latex
+tetex-xdvi tetex-xdvi
+tethereal tethereal
+texinfo info texinfo
+texinfo-doc
+tftp-hpa tftp-server tftp
+thesaurus-docs-es koffice-i18n-es
+tightvnc tightvnc
+tightvnc-doc tightvnc-doc
+tightvnc-java tightvnc
+tightvnc-server tightvnc-server
+time time
+timeconfig timeconfig
+timeconfig-i18n-es timeconfig
+timeconfig-i18n-es_ES
+timeconfig-i18n-pt_BR timeconfig
+timezone glibc timezone
+tk tk
+tk-demos
+tk-devel tk
+tmpwatch tmpwatch
+totem totem-common totem
+totem-i18n-es totem-common
+totem-i18n-pt_BR totem-common
+traceroute traceroute
+trafshow
+transcode
+transcode-doc
+transfig transfig
+tree tree
+ttf-uddiuddi
+ttf2pt1 lcdf-typetools t1utils
+ttmkfdir freetype-tools
+tux_aqfh tux_aqfh
+tuxracer wherever-racer tuxracer
+tvtime tvtime
+twiki
+twm xorg-x11
+txt2regex txt2regex
+txt2regex-i18n-pt_BR txt2regex
+txt2tags
+type1-freefonts
+udev udev
+umb-scheme umb-scheme
+umbrello kdesdk kdesdk-umbrello
+umbrello-doc-es kde-i18n-es
+umbrello-doc-pt_BR kde-i18n-pt_BR
+uml-net-tools
+unarj
+unix2dos unix2dos
+unixodbc libunixODBC1 unixODBC
+unixodbc-MiniSQL libunixODBC1
+unixodbc-MySQL libmyodbc1-devel libunixODBC1
+unixodbc-devel libmyodbc1-devel libunixODBC1-devel
+unixodbc-doc
+unixodbc-easysoft libunixODBC1
+unixodbc-freetds libunixODBC1
+unixodbc-kde libunixODBC1-qt unixODBC-gui-qt
+unixodbc-nn libunixODBC1
+unixodbc-openlinks libunixODBC1
+unixodbc-oracle libunixODBC1
+unixodbc-postgres libunixODBC1
+unixodbc-progs unixODBC
+unixodbc-sapdb libunixODBC1
+unixodbc-txt libunixODBC1
+unrar
+unzip unzip
+urlview urlview
+usb-mount hotplug
+usbutils usbutils
+usermode usermode-consoleonly usermode
+usermode-gtk usermode
+usermode-i18n-es usermode-consoleonly
+usermode-i18n-pt_BR usermode-consoleonly
+utempter utempter
+util-linux shadow-utils util-linux
+util-linux-i18n-es util-linux
+util-linux-i18n-pt_BR util-linux
+uucp uucp
+uucp-cu uucp
+uucp-doc
+uudeview uudeview
+uw-imap-doc
+uw-imap-server imap
+uw-pop-server imap
+valgrind valgrind
+valgrind-doc valgrind
+vcdimager vcdimager
+vera
+verynice
+vim-X11 vim-common vim-X11
+vim-common vim-common
+vim-enhanced vim-enhanced
+vim-help
+vim-minimal vim-minimal
+vim-syntax
+vimpart libkdeaddons1-devel libkdeaddons1 kdeaddons
+viralator
+vixie-cron vixie-cron
+vixie-cron-i18n-pt_BR
+vlock vlock
+vorbis-tools vorbis-tools
+vsftpd vsftpd
+vte libvte4 vte
+vte-devel libvte4-devel
+vte-i18n-es vte
+vte-i18n-pt_BR vte
+vtun vtun
+w3c-libwww w3c-libwww
+w3c-libwww-apps w3c-libwww-apps
+w3c-libwww-devel w3c-libwww-devel
+webalizer webalizer
+webalizer-doc
+weblint
+webmin-base webmin
+webmin-desktop webmin
+webmin-server webmin
+webmin-theme-conectiva
+webmin-theme-lynx
+webxref
+wget wget
+wget-i18n-es wget
+wget-i18n-pt_BR wget
+which which
+wine wine wine-utils
+wine-devel libwine1-devel
+wine-doc
+wireless-tools wireless-tools
+wmaker WindowMaker
+wmaker-doc
+wmaker-i18n-es WindowMaker
+wmaker-themes wmaker-themes
+wmakerconf
+wmcalclock
+wmifs wmii
+wmmixer
+wmmon
+words words
+wserv BitchX
+wsoundserver
+wsoundserver-data
+wsoundserver-devel
+wu-ftpd wu-ftpd
+wv wv
+wv-devel libwv-1.0_2-devel libwv-1.0_0-devel
+wvdial wvdial
+x3270 x3270
+xauth xorg-x11-xauth
+xawtv xawtv-control fbtv xawtv-misc xawtv xawtv-common motv
+xawtv-misc xawtv-misc
+xawtv-radio radio
+xawtv-streamer streamer
+xawtv-ttv ttv
+xawtv-webcam xawtv-web
+xchat xchat
+xchat-base xchat-perl xchat-tcl xchat-python xchat
+xchat-base-i18n-es xchat
+xchat-base-i18n-es_ES
+xchat-base-i18n-pt_BR xchat
+xchat-text xchat
+xclass xclass-icons
+xclass-devel libxclass0-devel
+xdialog Xdialog
+xdialog-i18n-es Xdialog
+xdialog-i18n-pt_BR Xdialog
+xdm xorg-x11 xinitrc
+xdosemu xdosemu
+xemacs xemacs-extras gnuserv xemacs
+xfig xfig
+xfig-doc xfig
+xfree86
+xfree86-bench xorg-x11
+xfree86-common xorg-x11 groff-gxditview libxorg-x11 xpat2 xdu
+xfree86-config xorg-x11
+xfree86-devel xorg-x11 libxorg-x11-devel libxpm4-devel
+xfree86-devel-static libxorg-x11-devel libxorg-x11-static-devel libxpm4-devel
+xfree86-doc xorg-x11
+xfree86-driver-apm xorg-x11-server xorg-x11
+xfree86-driver-ark xorg-x11-server
+xfree86-driver-ati xorg-x11-server xorg-x11
+xfree86-driver-ati-dri xorg-x11-server
+xfree86-driver-chips xorg-x11 xorg-x11-server
+xfree86-driver-cirrus xorg-x11-server
+xfree86-driver-cyrix xorg-x11 xorg-x11-server
+xfree86-driver-fbdev xorg-x11-server
+xfree86-driver-glide
+xfree86-driver-glint xorg-x11-server
+xfree86-driver-i128 xorg-x11-server xorg-x11
+xfree86-driver-i740 xorg-x11-server xorg-x11
+xfree86-driver-i810 xorg-x11 xorg-x11-server
+xfree86-driver-i810-dri libxorg-x11 xorg-x11-server
+xfree86-driver-mga xorg-x11-server
+xfree86-driver-mga-dri xorg-x11-server
+xfree86-driver-neomagic xorg-x11-server
+xfree86-driver-nsc xorg-x11-server
+xfree86-driver-nv xorg-x11-server
+xfree86-driver-nvidia
+xfree86-driver-rendition xorg-x11 xorg-x11-server
+xfree86-driver-s3 xorg-x11-server
+xfree86-driver-s3virge xorg-x11 xorg-x11-server
+xfree86-driver-savage xorg-x11-server
+xfree86-driver-siliconmotion xorg-x11-server
+xfree86-driver-sis xorg-x11 xorg-x11-server
+xfree86-driver-sis-dri xorg-x11-server
+xfree86-driver-synaptics synaptics
+xfree86-driver-tdfx xorg-x11-server
+xfree86-driver-tdfx-dri xorg-x11-glide-module
+xfree86-driver-tga xorg-x11-server xorg-x11
+xfree86-driver-trident xorg-x11-server
+xfree86-driver-tseng xorg-x11-server
+xfree86-driver-vesa xorg-x11-server
+xfree86-driver-vga xorg-x11-server
+xfree86-driver-via xorg-x11-server
+xfree86-driver-vmware xorg-x11-server
+xfree86-icons
+xfree86-libs
+xfree86-libs-common libxpm4 libxorg-x11
+xfree86-manpages
+xfree86-minimal
+xfree86-misc-locales xorg-x11
+xfree86-modules-afb xorg-x11-server
+xfree86-modules-cfb xorg-x11-server
+xfree86-modules-codeconv
+xfree86-modules-extended-input xorg-x11-server
+xfree86-modules-fb xorg-x11-server
+xfree86-modules-fb-lowcolor xorg-x11-server
+xfree86-modules-fb-multi-depths xorg-x11-server
+xfree86-modules-freetype
+xfree86-modules-xaa xorg-x11-server
+xfree86-modules-xtt
+xfree86-progs X11R6-contrib xterm xorg-x11
+xfree86-proxy xorg-x11
+xfree86-server
+xfree86-server-common xorg-x11 xorg-x11-server XFree86-server-common
+xfree86-xfs xorg-x11 xorg-x11-xfs
+xfree86-xkb libxorg-x11 xorg-x11
+xfree86-xnest xorg-x11-Xnest
+xfree86-xprt xorg-x11-Xprt
+xfree86-xvfb xorg-x11-Xvfb
+xfsdump xfsdump
+xfsdump-i18n-pt_BR
+xfsprogs libxfs1 xfsprogs
+xfsprogs-devel libxfs1-devel
+ximian-connector ximian-connector
+ximian-connector-devel
+ximian-connector-doc
+xine
+xine-lib libxine1 xine-plugins
+xine-lib-alsa
+xine-lib-arts
+xine-lib-devel libxine1-devel
+xine-lib-dxr3
+xine-lib-esd
+xine-lib-gnome_vfs
+xine-lib-i18n-es xine-plugins
+xine-lib-i18n-pt_BR xine-plugins
+xine-lib-oggvorbis
+xine-lib-oss
+xine-lib-w32dll
+xine-lib-xv
+xine-ui xine-ui-fb xine-ui
+xine-ui-i18n-es xine-ui
+xine-ui-i18n-pt_BR xine-ui
+xine-ui-skins xine-skins
+xinetd xinetd-simple-services xinetd
+xinetd-devel
+xlockmore xlockmore
+xml-common sgml-common
+xmms xmms-alsa libxmms1 xmms xmms-diskwriter
+xmms-arts xmms-arts
+xmms-crossfade xmms-crossfade
+xmms-devel libxmms1-devel
+xmms-esd xmms-esd
+xmms-flac flac-xmms
+xmms-gl xmms-mesa
+xmms-i18n-en xmms
+xmms-i18n-es xmms
+xmms-i18n-pt_BR xmms
+xmms-mikmod xmms-mikmod
+xmms-normalize normalize xmms-normalize
+xmms-oss xmms
+xmms-skins xmms-skins
+xmms-volume-normalizer xmms-normalize
+xmms-vorbis xmms
+xpdf xpdf
+xpdf-progs xpdf
+xscreensaver xscreensaver
+xscreensaver-gl xscreensaver-gl
+xscreensaver-i18n-es xscreensaver
+xscreensaver-i18n-pt_BR xscreensaver
+xscripts xinitrc xorg-x11
+xscripts-i18n-pt_BR
+xterm xorg-x11 xterm
+xtux xtux
+xvattr xvattr
+xwpe
+xwpe-X11
+xwpick xwpick
+yafray
+yelp yelp
+yelp-i18n-es yelp
+yelp-i18n-pt_BR yelp
+yp-tools yp-tools
+ypbind-mt ypbind
+ypserv ypserv
+zebra quagga
+zenity zenity
+zenity-i18n-es zenity
+zenity-i18n-pt_BR zenity
+zip zip
+zisofs-tools zisofs-tools
diff --git a/perl-install/install/share/upgrade/conectiva.10/pre.keep-kde-profile b/perl-install/install/share/upgrade/conectiva.10/pre.keep-kde-profile
new file mode 100755
index 000000000..26aff73d7
--- /dev/null
+++ b/perl-install/install/share/upgrade/conectiva.10/pre.keep-kde-profile
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+mkdir -p /usr/share/apps/konqueror/profiles
+for i in Conectiva cnccontrol conectiva-smb filemanagement-conectiva; do
+ cp -f /usr/lib/kde3/share/apps/konqueror/profiles/$i /usr/share/apps/konqueror/profiles
+done
diff --git a/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh b/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh
new file mode 100755
index 000000000..b735d2bbe
--- /dev/null
+++ b/perl-install/install/share/upgrade/conectiva.10/pre.merge-groups.sh
@@ -0,0 +1,87 @@
+#!/bin/bash
+#
+# cnc2mdv /etc/group file merger
+#
+# What it does:
+#
+# - Adds three new groups:
+# - Check if these groups or its gids already exists;
+# - Remove root from the wheel group.
+#
+
+destfile=${destfile:-/etc/group}
+backupfile=${destfile}.cnc2mdv
+
+# these are the new groups that are introduced by Mandriva
+groups=( usb 43 tape 21 nogroup 65534 )
+
+# error codes
+group_already_exists_=8
+group_already_exists=9
+gid_not_unique=4
+
+sort_groups_by_gid()
+{
+ sort -nt: +2 -3 -o $destfile $destfile #wow
+
+ return 0
+}
+
+
+add_new_groups()
+{
+ for (( i=0; i < ${#groups[@]}; i += 2)); do
+ n=$[$i+1]
+ gid=${groups[$n]}
+ gname=${groups[$i]}
+
+ errors=yes
+ while [ $errors = "yes" ]; do
+ groupadd -g $gid $gname
+ case $? in
+ 0)
+ # ok, no errors, group really added
+ errors=no
+ ;;
+
+ $group_already_exists | $group_already_exists_ )
+ # ok, no problem at all
+ errors=no
+ ;;
+
+ $gid_not_unique)
+ # bleh, increment gid and try again
+ # hum, but if ... 65534?
+ gid=$[$gid+1]
+ ;;
+
+ *)
+ echo "unexpected error during groupadd ($?)"
+ return 1;
+ ;;
+ esac
+ done # while errors
+ done # for
+
+ return 0
+}
+
+
+remove_root_from_wheel()
+{
+ sed -i 's/\(wheel:[^:]*:[^:]*:\)root,*\(.*\)/\1\2/' ${destfile}
+
+ return 0
+}
+
+
+main()
+{
+ add_new_groups &&
+ sort_groups_by_gid &&
+ remove_root_from_wheel
+}
+
+main
+
+# vim:ts=4:sw=4:ai
diff --git a/perl-install/install/share/upgrade/conectiva.10/pre.remove-conflicting-files.sh b/perl-install/install/share/upgrade/conectiva.10/pre.remove-conflicting-files.sh
new file mode 100755
index 000000000..3db2fee4f
--- /dev/null
+++ b/perl-install/install/share/upgrade/conectiva.10/pre.remove-conflicting-files.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+rm -f /usr/share/apps/kdm
diff --git a/perl-install/install/steps.pm b/perl-install/install/steps.pm
new file mode 100644
index 000000000..48f4319c3
--- /dev/null
+++ b/perl-install/install/steps.pm
@@ -0,0 +1,961 @@
+package install::steps; # $Id: steps.pm 149880 2007-03-29 15:08:27Z blino $
+
+use diagnostics;
+use strict;
+use vars qw(@filesToSaveForUpgrade @filesNewerToUseAfterUpgrade);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use install::any 'addToBeDone';
+use partition_table;
+use detect_devices;
+use fs::any;
+use fs::type;
+use fs::partitioning;
+use modules;
+use run_program;
+use lang;
+use keyboard;
+use fsedit;
+use do_pkgs;
+use install::pkgs;
+use any;
+use log;
+
+our @ISA = qw(do_pkgs);
+
+@filesToSaveForUpgrade = qw(
+/etc/ld.so.conf /etc/fstab /etc/hosts /etc/conf.modules /etc/modules.conf
+);
+
+@filesNewerToUseAfterUpgrade = qw(
+/etc/profile
+);
+
+#-######################################################################################
+#- OO Stuff
+#-######################################################################################
+sub new($$) {
+ my ($type, $o) = @_;
+
+ bless $o, ref($type) || $type;
+ return $o;
+}
+
+sub charsetChanged {
+ my ($_o) = @_;
+}
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub enteringStep {
+ my ($_o, $step) = @_;
+ log::l("starting step `$step'");
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ log::l("step `$step' finished");
+
+ if (-d "$::prefix/root/drakx") {
+ eval { cp_af("/tmp/ddebug.log", "$::prefix/root/drakx") };
+ output(install::any::auto_inst_file(), install::any::g_auto_install(1));
+ }
+
+ foreach my $s (@{$o->{orderedSteps}}) {
+ #- the reachability property must be recomputed each time to take
+ #- into account failed step.
+ next if $o->{steps}{$s}{done} && !$o->{steps}{$s}{redoable};
+
+ my $reachable = 1;
+ if (my $needs = $o->{steps}{$s}{needs}) {
+ my @l = ref($needs) ? @$needs : $needs;
+ $reachable = min(map { $o->{steps}{$_}{done} || 0 } @l);
+ }
+ $o->{steps}{$s}{reachable} = 1 if $reachable;
+ }
+ $o->{steps}{$step}{reachable} = $o->{steps}{$step}{redoable};
+
+ while (my $f = shift @{$o->{steps}{$step}{toBeDone} || []}) {
+ eval { &$f() };
+ if (my $err = $@) {
+ $o->ask_warn(N("Error"), [
+N("An error occurred, but I do not know how to handle it nicely.
+Continue at your own risk."), formatError($err) || $err ]);
+ }
+ }
+}
+
+sub errorInStep {
+ my ($_o, $err) = @_;
+ print "error :(\n";
+ print "$err\n\n";
+ c::_exit(1);
+}
+sub kill_action {}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+#------------------------------------------------------------------------------
+sub selectLanguage {
+ my ($o) = @_;
+
+ #- for auto_install compatibility with old $o->{lang}
+ $o->{locale} = lang::system_locales_to_ourlocale($o->{lang}, $o->{lang}) if $o->{lang};
+ $o->{locale}{langs} ||= { $o->{locale}{lang} => 1 };
+
+ if (!exists $o->{locale}{country}) {
+ lang::lang_changed($o->{locale});
+ }
+
+ add2hash_($o->{locale}, { utf8 => lang::utf8_should_be_needed($o->{locale}) });
+ lang::set($o->{locale}, !$o->isa('interactive::gtk'));
+
+ log::l("selectLanguage: pack_langs: ", lang::pack_langs($o->{locale}{langs}), " utf8-flag: ", to_bool($o->{locale}{utf8}));
+
+ #- for auto_install compatibility with old $o->{keyboard} containing directly $o->{keyboard}{KEYBOARD}
+ $o->{keyboard} = { KEYBOARD => $o->{keyboard} } if $o->{keyboard} && !ref($o->{keyboard});
+
+ if (!$o->{keyboard} || $o->{keyboard}{unsafe}) {
+ $o->{keyboard} = keyboard::default($o->{locale});
+ $o->{keyboard}{unsafe} = 1;
+ keyboard::setup_install($o->{keyboard});
+ }
+
+ $o->charsetChanged;
+
+ addToBeDone {
+ lang::write_langs($o->{locale}{langs});
+ } 'formatPartitions';
+ addToBeDone {
+ lang::write_and_install($o->{locale}, $o->do_pkgs);
+ } 'installPackages';
+}
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($o) = @_;
+ keyboard::setup_install($o->{keyboard});
+
+ addToBeDone {
+ keyboard::write($o->{keyboard});
+ } 'installPackages' if !$o->{isUpgrade} || !$o->{keyboard}{unsafe};
+
+ if ($o->{raw_X}) {
+ require Xconfig::default;
+ Xconfig::default::config_keyboard($o->{raw_X}, $o->{keyboard});
+ $o->{raw_X}->write;
+ }
+}
+#------------------------------------------------------------------------------
+sub acceptLicense {}
+
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($o) = @_;
+ install::any::configure_pcmcia($o);
+ modules::load(modules::category2modules('disk/cdrom'));
+ modules::load_category($o->{modules_conf}, 'bus/firewire');
+ modules::load_category($o->{modules_conf}, 'disk/ide|scsi|hardware_raid|sata|firewire');
+
+ install::any::getHds($o);
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($o) = @_;
+
+ if ($o->{partitioning}{use_existing_root} || $o->{isUpgrade}) {
+ # either one root is defined (and all is ok), or we take the first one we find
+ my $p = fs::get::root_($o->{fstab}) || (first(install::any::find_root_parts($o->{fstab}, $::prefix)) || die)->{part};
+ $o->{migrate_device_names} = install::any::use_root_part($o->{all_hds}, $p);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisksBefore {
+ my ($o) = @_;
+ eval {
+ eval { fs::mount::umount("$::prefix/sys") };
+ eval { fs::mount::umount("$::prefix/proc/bus/usb") };
+ eval { fs::mount::umount("$::prefix/proc") };
+ eval { fs::mount::umount_all($o->{fstab}) };
+ eval { sleep 1; fs::mount::umount_all($o->{fstab}) } if $@; #- HACK
+ } if $o->{fstab} && !$::testing;
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisksAfter {
+ my ($o) = @_;
+
+ fs::any::write_hds($o->{all_hds}, $o->{fstab}, !$o->{isUpgrade}, sub { $o->rebootNeeded }, $o);
+
+ if ($::local_install) {
+ my $p = fs::get::mntpoint2part($::prefix, [ fs::read_fstab('', '/proc/mounts') ]);
+ my $part = find { fs::get::is_same_hd($p, $_) } @{$o->{fstab}};
+ $part ||= $o->{fstab}[0];
+ $part->{mntpoint} = '/';
+ $part->{isMounted} = 1;
+ }
+
+ fs::any::check_hds_boot_and_root($o->{all_hds}, $o->{fstab});
+
+ if ($o->{partitioning}{use_existing_root}) {
+ #- ensure those partitions are mounted so that they are not proposed in choosePartitionsToFormat
+ fs::mount::part($_) foreach sort { $a->{mntpoint} cmp $b->{mntpoint} }
+ grep { $_->{mntpoint} && maybeFormatted($_) } @{$o->{fstab}};
+ }
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($o) = @_;
+
+ if ($o->{partitioning}{auto_allocate}) {
+ catch_cdie { fsedit::auto_allocate($o->{all_hds}, $o->{partitions}) } sub { 1 };
+ }
+}
+
+#------------------------------------------------------------------------------
+
+sub rebootNeeded($) {
+ my ($_o) = @_;
+ log::l("Rebooting...");
+ c::_exit(0);
+}
+
+sub choosePartitionsToFormat {
+ my ($o) = @_;
+ fs::partitioning::guess_partitions_to_format($o->{fstab});
+}
+
+sub formatMountPartitions {
+ my ($o) = @_;
+ fs::format::formatMount_all($o->{all_hds}, $o->{fstab}, undef);
+}
+
+#------------------------------------------------------------------------------
+sub setPackages {
+ my ($o) = @_;
+
+ install::any::setPackages($o);
+}
+
+sub ask_deselect_media__copy_on_disk {
+ my (undef, $_hdlists, $_copy_rpms_on_disk) = @_;
+ 0;
+}
+
+sub ask_change_cd {
+ my (undef, $phys_m, $_o_rel_file) = @_;
+ log::l("change to medium " . install::media::phys_medium_to_string($phys_m) . " refused (it can't be done automatically)");
+ 0;
+}
+
+sub selectSupplMedia { '' }
+
+sub choosePackages {
+ my ($o) = @_;
+
+ #- now for upgrade, package that must be upgraded are
+ #- selected first, after is used the same scheme as install.
+
+ #- make sure we kept some space left for available else the system may
+ #- not be able to start (xfs at least).
+ my $available = install::any::getAvailableSpace($o);
+ my $availableCorrected = install::pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
+ log::l(sprintf "available size %s (corrected %s)", formatXiB($available), formatXiB($availableCorrected));
+
+ add2hash_($o, { compssListLevel => 5 }) if !$::auto_install;
+
+ #- !! destroying user selection of packages (they may have done individual selection before)
+ exists $o->{compssListLevel}
+ and install::pkgs::setSelectedFromCompssList($o->{packages}, $o->{rpmsrate_flags_chosen}, $o->{compssListLevel}, $availableCorrected);
+
+ $availableCorrected;
+}
+
+sub upgrading_redhat() {
+ #- remove weird config files that bother Xconfig::* too much
+ unlink "$::prefix/etc/X11/XF86Config";
+ unlink "$::prefix/etc/X11/XF86Config-4";
+
+ sub prefering_mdk {
+ my ($lpkg, $rpkg_ver, $c) = @_;
+ my $lpkg_ver = $lpkg->version . '-' . $lpkg->release;
+ log::l($lpkg->name . ' ' . ': prefering ' . ($c == 1 ? "$lpkg_ver over $rpkg_ver" : "$rpkg_ver over $lpkg_ver"));
+ }
+
+ my $old_compare_pkg = \&URPM::Package::compare_pkg;
+ undef *URPM::Package::compare_pkg;
+ *URPM::Package::compare_pkg = sub {
+ my ($lpkg, $rpkg) = @_;
+ my $c = ($lpkg->release =~ /mdk$/ ? 1 : 0) - ($rpkg->release =~ /mdk$/ ? 1 : 0);
+ if ($c) {
+ prefering_mdk($lpkg, $rpkg->version . '-' . $rpkg->release, $c);
+ $c;
+ } else {
+ &$old_compare_pkg;
+ }
+ };
+
+ my $old_compare = \&URPM::Package::compare;
+ undef *URPM::Package::compare;
+ *URPM::Package::compare = sub {
+ my ($lpkg, $rpkg_ver) = @_;
+ my $c = ($lpkg->release =~ /mdk$/ ? 1 : 0) - ($rpkg_ver =~ /mdk$/ ? 1 : 0);
+ if ($c) {
+ prefering_mdk($lpkg, $rpkg_ver, $c);
+ return $c;
+ }
+ &$old_compare;
+ };
+}
+
+sub beforeInstallPackages {
+ my ($o) = @_;
+
+ read_bootloader_config($o);
+
+ if ($o->{isUpgrade}) {
+ $o->{modules_conf}->merge_into(modules::any_conf->read);
+ }
+
+ #- save these files in case of upgrade failure.
+ if ($o->{isUpgrade}) {
+ foreach (@filesToSaveForUpgrade) {
+ unlink "$::prefix/$_.mdkgisave";
+ if (-e "$::prefix/$_") {
+ eval { cp_af("$::prefix/$_", "$::prefix/$_.mdkgisave") };
+ }
+ }
+ foreach (@filesNewerToUseAfterUpgrade) {
+ unlink "$::prefix/$_.rpmnew";
+ }
+ }
+
+ #- mainly for upgrading redhat packages, but it can help other
+ my @should_not_be_dirs = qw(/usr/share/locale/zh_TW/LC_TIME /usr/include/GL);
+ my @should_be_dirs = qw(/etc/X11/xkb);
+ my @to_remove = (
+ (grep { !-l $_ && -d $_ } map { "$::prefix$_" } @should_not_be_dirs),
+ (grep { -l $_ || !-d $_ && -e $_ } map { "$::prefix$_" } @should_be_dirs),
+ );
+ rm_rf(@to_remove);
+
+ if ($o->{isUpgrade} eq 'redhat') {
+ upgrading_redhat();
+ }
+
+ if ($o->{isUpgrade} =~ /redhat|conectiva/) {
+ #- to ensure supermount is removed for cds
+ fs::mount_options::set_all_default($o->{all_hds}, %$o, lang::fs_options($o->{locale}));
+ }
+
+
+ #- some packages need such files for proper installation.
+ install::any::write_fstab($o);
+
+ require network::network;
+ network::network::add2hosts("localhost", "127.0.0.1");
+
+ log::l("setting excludedocs to $o->{excludedocs}");
+ substInFile { s/%_excludedocs.*//; $_ .= "%_excludedocs yes\n" if eof && $o->{excludedocs} } "$::prefix/etc/rpm/macros";
+
+ #- add oem theme if the files exists.
+ mkdir_p("$::prefix/usr/share");
+ install::media::getAndSaveFile_($o->{stage2_phys_medium}, "install/oem-theme.rpm", "$::prefix/usr/share/oem-theme.rpm");
+
+ system("sh", "-c", $o->{preInstallNonRooted}) if $o->{preInstallNonRooted};
+}
+
+#- returns number of packages installed, 0 if none were selected.
+sub pkg_install {
+ my ($o, @l) = @_;
+ log::l("selecting packages " . join(" ", @l));
+
+ install::pkgs::select_by_package_names($o->{packages}, \@l);
+
+ my @toInstall = install::pkgs::packagesToInstall($o->{packages});
+ if (@toInstall) {
+ log::l("installing packages");
+ $o->installPackages;
+ } else {
+ log::l("all packages selected are already installed, nothing to do");
+ 0;
+ }
+}
+
+sub installCallback {
+# my (undef, $msg, @para) = @_;
+# log::l("$msg: " . join(',', @para));
+}
+
+sub installPackages { #- complete REWORK, TODO and TOCHECK!
+ my ($o) = @_;
+ my $packages = $o->{packages};
+
+ install::pkgs::remove_marked_ask_remove($packages, \&installCallback);
+
+ #- small transaction will be built based on this selection and depslist.
+ my @toInstall = install::pkgs::packagesToInstall($packages);
+
+ my $time = time();
+ {
+ local $ENV{DURING_INSTALL} = 1;
+ local $ENV{TMPDIR} = '/tmp';
+ local $ENV{TMP} = '/tmp';
+ install::pkgs::install($o->{isUpgrade}, \@toInstall, $packages, \&installCallback);
+ }
+ any::writeandclean_ldsoconf($::prefix);
+
+ run_program::rooted_or_die($::prefix, 'ldconfig');
+
+ log::l("Install took: ", formatTimeRaw(time() - $time));
+ install::media::log_sizes();
+ scalar(@toInstall); #- return number of packages installed.
+}
+
+sub afterInstallPackages($) {
+ my ($o) = @_;
+
+ read_bootloader_config($o) if $o->{isUpgrade} && is_empty_hash_ref($o->{bootloader});
+
+ die N("Some important packages did not get installed properly.
+Either your cdrom drive or your cdrom is defective.
+Check the cdrom on an installed computer using \"rpm -qpl media/main/*.rpm\"
+") if any { m|read failed: Input/output error| } cat_("$::prefix/root/drakx/install.log");
+
+ if (arch() !~ /^sparc/) { #- TODO restore it as may be needed for sparc
+ -x "$::prefix/usr/bin/dumpkeys" or $::testing or die
+"Some important packages did not get installed properly.
+
+Please switch to console 2 (using ctrl-alt-f2)
+and look at the log file /tmp/ddebug.log
+
+Consoles 1,3,4,7 may also contain interesting information";
+ }
+
+ #- why not? cuz weather is nice today :-) [pixel]
+ common::sync(); common::sync();
+
+ #- generate /etc/lvmtab needed for rc.sysinit
+ run_program::rooted($::prefix, 'lvm2', 'vgscan') if -e '/etc/lvmtab';
+
+ require harddrake::autoconf;
+ #- configure PCMCIA services if needed.
+ harddrake::autoconf::pcmcia($o->{pcmcia});
+ #- configure CPU frequency modules
+ harddrake::autoconf::cpufreq();
+
+ #- for mandrake_firstime
+ touch "$::prefix/var/lock/TMP_1ST";
+
+ any::config_dvd($::prefix);
+ any::config_mtools($::prefix);
+
+ #- make sure wins is disabled in /etc/nsswitch.conf
+ #- else if eth0 is not existing, glibc segfaults.
+ substInFile { s/\s*wins// if /^\s*hosts\s*:/ } "$::prefix/etc/nsswitch.conf";
+
+ #- make sure some services have been enabled (or a catastrophic restart will occur).
+ #- these are normally base package post install scripts or important services to start.
+ run_program::rooted($::prefix, "chkconfig", "--add", $_) foreach
+ qw(netfs network rawdevices sound kheader keytable syslog crond portmap);
+
+ if ($o->{mouse}{device} =~ /ttyS/) {
+ log::l("disabling gpm for serial mice (does not get along nicely with X)");
+ run_program::rooted($::prefix, "chkconfig", "--del", "gpm");
+ }
+
+ #- install urpmi before as rpmdb will be opened, this will cause problem with update-menus.
+ $o->install_urpmi;
+
+ #- update menu scheme before calling update menus if desktop mode.
+ if ($o->{meta_class} eq 'desktop') {
+ run_program::rooted($::prefix, "touch", "/etc/menu/do-not-create-menu-link");
+ run_program::rooted($::prefix, "touch", "/etc/menu/enable_simplified");
+ } elsif (!$o->{isUpgrade}) {
+ run_program::rooted($::prefix, "touch", "/etc/menu/do-not-create-menu-link");
+ }
+
+ if ($o->{pcmcia}) {
+ substInFile { s/.*(TaskBarShowAPMStatus).*/$1=1/ } "$::prefix/usr/lib/X11/icewm/preferences";
+ eval { cp_af("$::prefix/usr/share/applnk/System/kapm.kdelnk",
+ "$::prefix/etc/skel/Desktop/Autostart/kapm.kdelnk") };
+ }
+
+ if ($o->{brltty}) {
+ output("$::prefix/etc/brltty.conf", <<EOF);
+braille-driver $o->{brltty}{driver}
+braille-device $o->{brltty}{device}
+text-table $o->{brltty}{table}
+EOF
+ }
+
+
+ install::any::disable_user_view() if $o->{security} >= 3 || $o->{authentication}{NIS};
+ run_program::rooted($::prefix, "kdeDesktopCleanup");
+
+ #- move some file after an upgrade that may be seriously annoying.
+ #- and rename saved files to .mdkgiorig.
+ if ($o->{isUpgrade}) {
+ my $pkg = install::pkgs::packageByName($o->{packages}, 'rpm');
+ $pkg && ($pkg->flag_selected || $pkg->flag_installed) && $pkg->compare(">= 4.0") and install::pkgs::cleanOldRpmDb();
+
+ log::l("moving previous desktop files that have been updated to Trash of each user");
+ install::any::kdemove_desktop_file($::prefix);
+
+ foreach (@filesToSaveForUpgrade) {
+ renamef("$::prefix/$_.mdkgisave", "$::prefix/$_.mdkgiorig")
+ if -e "$::prefix$_.mdkgisave";
+ }
+
+ foreach (@filesNewerToUseAfterUpgrade) {
+ if (-e "$::prefix/$_.rpmnew" && -e "$::prefix/$_") {
+ renamef("$::prefix/$_", "$::prefix/$_.mdkgiorig");
+ renamef("$::prefix/$_.rpmnew", "$::prefix/$_");
+ }
+ }
+ }
+
+ renamef(install::pkgs::removed_pkgs_to_upgrade_file(), install::pkgs::removed_pkgs_to_upgrade_file() . '.done');
+ unlink(glob("$::prefix/root/drakx/*.upgrading"));
+
+ if ($o->{upgrade_by_removing_pkgs_matching}) {
+ if (cat_("$::prefix/etc/inittab.rpmsave") =~ /^id:5:initdefault:\s*$/m) {
+ $o->{X}{xdm} = 1;
+ require Xconfig::various;
+ Xconfig::various::runlevel(5);
+ }
+ }
+
+ any::fix_broken_alternatives($o->{isUpgrade} eq 'redhat');
+
+ #- update theme directly from a package (simplest).
+ if (-s "$::prefix/usr/share/oem-theme.rpm") {
+ run_program::rooted($::prefix, "rpm", "-U", "/usr/share/oem-theme.rpm");
+ unlink "/usr/share/oem-theme.rpm";
+ }
+
+ #- call update-menus at the end of package installation
+ push @{$o->{waitpids}}, run_program::raw({ root => $::prefix, detach => 1 }, "update-menus", "-n");
+
+ $o->install_hardware_packages;
+
+ if ($o->{updatemodules}) {
+ $o->updatemodules($ENV{THIRDPARTY_DEVICE}, $ENV{THIRDPARTY_DIR});
+ }
+}
+
+sub install_urpmi {
+ my ($o) = @_;
+
+ my $pkg = install::pkgs::packageByName($o->{packages}, 'urpmi');
+ if ($pkg && ($pkg->flag_selected || $pkg->flag_installed)
+ #- this is a workaround. if many urpmi packages are found in the
+ #- provides of all media, packagesProviding() might return the wrong
+ #- one. This probably needs to be fixed in URPM
+ || run_program::rooted_get_stdout($::prefix, '/bin/rpm', '-q', 'urpmi') =~ /urpmi/
+ ) {
+ install::media::install_urpmi($o->{method}, $o->{packages});
+ install::pkgs::saveCompssUsers($o->{packages}, $o->{compssUsers});
+ } else {
+ log::l("skipping install_urpmi, urpmi not installed");
+ }
+}
+
+sub install_hardware_packages {
+ my ($o) = @_;
+ if ($o->{match_all_hardware}) {
+ my @l;
+
+ require Xconfig::card;
+ require Xconfig::proprietary;
+ my $cards = Xconfig::card::readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
+ my @drivers = uniq(map { exists $_->{Driver2} ? Xconfig::proprietary::pkg_name_for_Driver2($_) : () } values %$cards);
+ push @l, map { $_, @{$o->do_pkgs->check_kernel_module_packages($_) || []} } @drivers;
+
+ require network::connection;
+ require network::thirdparty;
+ foreach my $type (network::connection->get_types) {
+ $type->can('get_thirdparty_settings') or next;
+ foreach my $settings (@{$type->get_thirdparty_settings || []}) {
+ foreach (@network::thirdparty::thirdparty_types) {
+ my @packages = network::thirdparty::get_required_packages($_, $settings);
+ push @l, network::thirdparty::get_available_packages($_, $o, @packages);
+ }
+ }
+ }
+
+ $o->do_pkgs->install(@l) if @l;
+ }
+}
+
+sub updatemodules {
+ my ($_o, $dev, $rel_dir) = @_;
+ return if $::testing;
+
+ $dev = devices::make($dev) or log::l("updatemodules: bad device $dev"), return;
+
+ my $mount_dir = '/updatemodules';
+ find {
+ eval { fs::mount::mount($dev, $mount_dir, $_, 0); 1 };
+ } 'ext2', 'vfat' or log::l("updatemodules: can't mount $dev"), return;
+
+ my $dir = "$mount_dir$rel_dir";
+ foreach my $kernel_version (all("$::prefix/lib/modules")) {
+ log::l("examining updated modules for kernel $kernel_version");
+ -d "$dir/$kernel_version" or next;
+ log::l("found updatable modules");
+ run_program::run("cd $dir/$kernel_version ; find -type f | cpio -pdu $::prefix/lib/modules/$kernel_version");
+ run_program::rooted($::prefix, 'depmod', '-a', '-F', "/boot/System.map-$kernel_version", $kernel_version);
+ }
+
+ my $category;
+ foreach (cat_("$dir/to_load")) {
+ chomp;
+ if (/^#/) {
+ ($category) = $1 if /\[list_modules: (.*?)\]/;
+ } elsif ($category) {
+ log::l("adding $_ to $category\n");
+ my $r = \%list_modules::l;
+ $r = $r->{$_} foreach split('/', $category);
+ push @$r, $_;
+
+ $category = '';
+ }
+ }
+
+ fs::mount::umount($mount_dir);
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse($) {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($o) = @_;
+ require network::network;
+ network::network::configure_network($o->{net}, $o, $o->{modules_conf});
+ configure_firewall($o) if !$o->{isUpgrade};
+
+ #- only a http proxy can be used by stage1
+ #- the method is http even for ftp connections through a http proxy
+ #- use this http proxy for both http and ftp connections
+ if ($o->{method} eq "http" && $ENV{PROXY}) {
+ my $proxy = "http://$ENV{PROXY}" . ($ENV{PROXYPORT} && ":$ENV{PROXYPORT}");
+ add2hash($o->{miscellaneous} ||= {}, {
+ http_proxy => $proxy,
+ ftp_proxy => $proxy,
+ });
+ network::network::proxy_configure($o->{miscellaneous});
+ }
+}
+
+sub configure_firewall {
+ my ($o) = @_;
+
+ #- set up a firewall if ports have been specified or if the security level is high enough
+ $o->{firewall_ports} ||= '' if $o->{security} >= 3 && !exists $o->{firewall_ports};
+
+ if (defined $o->{firewall_ports}) {
+ require network::drakfirewall;
+ $o->{firewall_ports} ||= ''; #- don't open any port by default
+ network::drakfirewall::set_ports($o->do_pkgs, 0, $o->{firewall_ports}, 'log_net_drop');
+ network::drakfirewall::set_ifw($o->do_pkgs, 1, [ 'psd' ], '');
+ }
+}
+
+#------------------------------------------------------------------------------
+sub installUpdates {
+ my ($o) = @_;
+ my $u = $o->{updates} or return;
+ $u->{url} or return;
+
+ upNetwork($o);
+ require mirror;
+
+ my $phys_medium = install::media::url2mounted_phys_medium($o, $u->{url} . '/media/main/updates');
+
+ my $update_medium = { name => "Updates for Mandriva Linux " . $o->{product_id}{version}, update => 1 };
+ install::media::get_standalone_medium($o, $phys_medium, $o->{packages}, $update_medium);
+
+ $o->pkg_install(@{$u->{packages} || []});
+
+ #- re-install urpmi with update security medium.
+ install_urpmi($o);
+}
+
+sub summaryBefore {}
+
+sub summary {
+ my ($o) = @_;
+ configureTimezone($o);
+}
+
+sub summaryAfter {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub configureTimezone {
+ my ($o) = @_;
+ install::any::preConfigureTimezone($o);
+
+ $o->pkg_install('ntp') if $o->{timezone}{ntp};
+
+ require timezone;
+ timezone::write($o->{timezone});
+}
+
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($o) = @_;
+ if ($o->{services}) {
+ require services;
+ services::doit($o, $o->{services});
+ }
+}
+
+#------------------------------------------------------------------------------
+sub setRootPassword {
+ my ($o) = @_;
+ $o->{superuser} ||= {};
+ require authentication;
+ authentication::set_root_passwd($o->{superuser}, $o->{authentication});
+ install::any::set_authentication($o);
+}
+
+#------------------------------------------------------------------------------
+
+sub addUser {
+ my ($o) = @_;
+ my $users = $o->{users} ||= [];
+
+ if ($::prefix) {
+ #- getpwnam, getgrnam, getgrid works
+ symlinkf("$::prefix/etc/passwd", '/etc/passwd');
+ symlinkf("$::prefix/etc/group", '/etc/group');
+ }
+
+ any::add_users($users, $o->{authentication});
+
+ if ($o->{autologin}) {
+ $o->{desktop} ||= first(any::sessions());
+ $o->pkg_install("autologin") if !member($o->{desktop}, 'KDE', 'GNOME');
+ }
+ any::set_autologin($o->do_pkgs, $o->{autologin}, $o->{desktop});
+
+ install::any::disable_user_view() if @$users == ();
+}
+
+#------------------------------------------------------------------------------
+sub read_bootloader_config {
+ my ($o) = @_;
+
+ require bootloader;
+ eval { add2hash($o->{bootloader} ||= {}, bootloader::read($o->{all_hds})) };
+ $@ && $o->{isUpgrade} and log::l("read_bootloader_config failed: $@");
+
+ $o->{bootloader}{bootUnsafe} = 0 if $o->{bootloader}{boot}; #- when upgrading, do not ask where to install the bootloader (mbr vs boot partition)
+}
+
+sub setupBootloaderBefore {
+ my ($o) = @_;
+ any::setupBootloaderBefore($o->do_pkgs, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{keyboard},
+ $o->{allowFB}, $o->{vga}, $o->{meta_class} ne 'server');
+}
+
+sub setupBootloader {
+ my ($o) = @_;
+
+ any::install_acpi_pkgs($o->do_pkgs, $o->{bootloader});
+
+ require bootloader;
+ bootloader::install($o->{bootloader}, $o->{all_hds});
+}
+
+#------------------------------------------------------------------------------
+sub configureXBefore {
+ my ($o) = @_;
+
+ #- keep this here if the package has to be updated.
+ $o->pkg_install("task-x11");
+}
+sub configureX {
+ my ($o) = @_;
+ configureXBefore($o);
+
+ require Xconfig::default;
+ $o->{raw_X} = Xconfig::default::configure($o->do_pkgs, $o->{keyboard}, $o->{mouse});
+
+ require Xconfig::main;
+ Xconfig::main::configure_everything_auto_install($o->{raw_X}, $o->do_pkgs, $o->{X}, install::any::X_options_from_o($o));
+ configureXAfter($o);
+}
+sub configureXAfter {
+ my ($_o) = @_;
+}
+
+#------------------------------------------------------------------------------
+sub miscellaneousBefore {
+ my ($o) = @_;
+
+ require security::level;
+ require security::various;
+ $o->{security} ||= security::level::get();
+ $o->{security_user} ||= security::various::config_security_user($::prefix);
+ $o->{libsafe} ||= security::various::config_libsafe($::prefix);
+
+ log::l("security $o->{security}");
+}
+sub miscellaneous {
+ my ($_o) = @_;
+ #- keep some given parameters
+ #-TODO
+}
+sub miscellaneousAfter {
+ my ($o) = @_;
+ add2hash_ $o, { useSupermount => $o->{security} < 4 ? 'magicdev' : 0 };
+
+ $ENV{SECURE_LEVEL} = $o->{security}; #- deprecated with chkconfig 1.3.4-2mdk, uses /etc/sysconfig/msec
+
+ addToBeDone {
+ addVarsInSh("$::prefix/etc/sysconfig/system", { META_CLASS => $o->{meta_class} });
+ substInFile { s/KEYBOARD_AT_BOOT=.*/KEYBOARD_AT_BOOT=yes/ } "$::prefix/etc/sysconfig/usb" if detect_devices::usbKeyboards();
+
+ eval { install::any::set_security($o) };
+
+ } 'installPackages';
+}
+
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($o) = @_;
+
+ install::any::deploy_server_notify($o) if exists $o->{deploy_server};
+
+ #- mainly for auto_install's
+ #- do not use run_program::xxx because it does not leave stdin/stdout unchanged
+ system("bash", "-c", $o->{postInstallNonRooted}) if $o->{postInstallNonRooted};
+ system("chroot", $::prefix, "bash", "-c", $o->{postInstall}) if $o->{postInstall};
+
+ eval {
+ my $report = '/root/drakx/report.bug';
+ unlink "$::prefix$report", "$::prefix$report.gz";
+ output "$::prefix$report", install::any::report_bug();
+ run_program::rooted($::prefix, 'gzip', $report);
+ };
+ eval { install::any::getAndSaveAutoInstallFloppies($o, 1) } if arch() !~ /^ppc/;
+ eval { output "$::prefix/root/drakx/README", "This directory contains several installation-related files,
+mostly log files (very useful if you ever report a bug!).
+
+Beware that some Mandriva Linux tools rely on the contents of some
+of these files... so remove any file from here at your own
+risk!
+" };
+ #- wait for remaining processes.
+ foreach (@{$o->{waitpids}}) {
+ waitpid $_, 0;
+ log::l("pid $_ returned $?");
+ }
+ install::media::umount_media($o->{packages});
+ install::media::openCdromTray(install::media::first_medium($o->{packages})->{phys_medium}{device}) if !detect_devices::is_xbox() && $o->{method} eq 'cdrom';
+ install::media::log_sizes();
+}
+
+#------------------------------------------------------------------------------
+sub hasNetwork {
+ my ($o) = @_;
+ $o->{net}{type} && $o->{net}{network}{NETWORKING} ne 'no' and return 1;
+ log::l("no network seems to be configured for internet ($o->{net}{type},$o->{net}{network}{NETWORKING})");
+ 0;
+}
+
+sub network_is_cheap {
+ my ($o) = @_;
+ member($o->{net}{type}, qw(adsl lan cable));
+}
+
+sub start_network_interface {
+ my ($o) = @_;
+ require network::tools;
+ network::tools::start_net_interface($o->{net}, 0);
+}
+
+sub stop_network_interface {
+ my ($o) = @_;
+ require network::tools;
+ network::tools::stop_net_interface($o->{net}, 0);
+}
+
+#------------------------------------------------------------------------------
+sub upNetwork {
+ my ($o, $b_pppAvoided) = @_;
+
+ install::any::is_network_install($o) || $::local_install and return 1;
+ $o->{modules_conf}->write;
+ if (! -e "/etc/resolv.conf") {
+ #- symlink resolv.conf in install root too so that updates and suppl media can be added
+ symlink "$::prefix/etc/resolv.conf", "/etc/resolv.conf";
+ }
+ if (hasNetwork($o)) {
+ if (network_is_cheap($o)) {
+ log::l("starting network ($o->{net}{type})");
+ start_network_interface($o);
+ return 1;
+ } elsif (!$b_pppAvoided) {
+ log::l("starting network (ppp: $o->{net}{type})");
+ eval { modules::load(qw(serial ppp bsd_comp ppp_deflate)) };
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/syslog", "start");
+ start_network_interface($o);
+ return 1;
+ } else {
+ log::l(qq(not starting network (b/c ppp avoided and type is "$o->{net}{type})"));
+ }
+ }
+ $::testing;
+}
+
+#------------------------------------------------------------------------------
+sub downNetwork {
+ my ($o, $costlyOnly) = @_;
+
+ install::any::is_network_install($o) || $::local_install and return 1;
+ $o->{modules_conf}->write;
+ if (hasNetwork($o)) {
+ if (!$costlyOnly) {
+ stop_network_interface($o);
+ return 1;
+ } elsif (!network_is_cheap($o)) {
+ stop_network_interface($o);
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/syslog", "stop");
+ eval { modules::unload(qw(ppp_deflate bsd_comp ppp serial)) };
+ return 1;
+ }
+ }
+ $::testing;
+}
+
+#------------------------------------------------------------------------------
+sub cleanIfFailedUpgrade($) {
+ my ($o) = @_;
+
+ #- if an upgrade has failed, there should be .mdkgisave files around.
+ if ($o->{isUpgrade}) {
+ foreach (@filesToSaveForUpgrade) {
+ if (-e "$::prefix/$_" && -e "$::prefix/$_.mdkgisave") {
+ rename "$::prefix/$_", "$::prefix/$_.mdkginew"; #- keep new files around in case !
+ rename "$::prefix/$_.mdkgisave", "$::prefix/$_";
+ }
+ }
+ }
+}
+
+
+1;
diff --git a/perl-install/install/steps_auto_install.pm b/perl-install/install/steps_auto_install.pm
new file mode 100644
index 000000000..5f738a0ad
--- /dev/null
+++ b/perl-install/install/steps_auto_install.pm
@@ -0,0 +1,138 @@
+package install::steps_auto_install; # $Id: steps_auto_install.pm 133980 2007-03-06 18:00:08Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA $graphical @graphical_steps);
+
+@ISA = qw(install::steps);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use install::steps;
+use install::steps_gtk;
+
+sub new {
+ my ($type, $o) = @_;
+
+ # Handle legacy options
+ $o->{interactive} ||= 'gtk' if $graphical || !is_empty_array_ref($o->{interactiveSteps});
+ push @{$o->{interactiveSteps}}, qw(installPackages configureNetwork), @graphical_steps, if_(!$o->{autoExitInstall}, 'exitInstall');
+
+ if ($o->{interactive}) {
+ require "install/steps_$o->{interactive}.pm";
+
+ @ISA = ('install::steps_' . $o->{interactive}, @ISA);
+
+ foreach my $f (@{$o->{orderedSteps}}) {
+ $o->{steps}{$f}{auto} = 1 if !member($f, @{$o->{interactiveSteps}});
+ }
+
+ goto &{$install::{'steps_' . $o->{interactive} . '::'}{new}};
+ } else {
+ @ISA = ('install::steps_auto_install_non_interactive', @ISA);
+ (bless {}, ref($type) || $type)->install::steps::new($o);
+ }
+}
+
+sub exitInstall {
+ my ($o, $alldone) = @_;
+
+ if ($o->{interactive}) {
+ $o->SUPER::exitInstall($alldone);
+ } else {
+ install::steps::exitInstall($o);
+ return if $o->{autoExitInstall};
+ print "\a";
+ print "Auto installation complete\n";
+ print "Press <Enter>" , $::local_install ? '' : " to reboot", "\n";
+ <STDIN>;
+ }
+}
+
+
+#-######################################################################################
+#- install::steps_auto_install_non_interactive package
+#-######################################################################################
+package install::steps_auto_install_non_interactive;
+
+use install::steps;
+use lang;
+use modules;
+use common;
+use log;
+
+my $iocharset;
+
+sub enteringStep {
+ my ($o, $step) = @_;
+
+ my ($s, $t) = (N_("Entering step `%s'\n"), common::remove_translate_context($o->{steps}{$step}{text}));
+ my $txt;
+ if ($iocharset && !$::local_install) {
+ $txt = sprintf(translate($s), translate($t));
+ $txt = Locale::gettext::iconv($txt, "utf-8", $iocharset);
+ } else {
+ $txt = sprintf($s, $t);
+ }
+ print $txt;
+
+ $o->install::steps::enteringStep($step);
+}
+
+sub rebootNeeded {
+ my ($o) = @_;
+ errorInStep($o, <<EOF);
+While partitioning, the partition table re-read failed, needing a reboot
+This is plain wrong for an auto_install
+EOF
+}
+
+sub ask_warn {
+ my ($_o, $_title, $message) = @_;
+ log::l(join(" ", deref_array($message)) . ' ' . backtrace());
+}
+
+sub wait_message {
+ my ($_o, $_title, $_message) = @_;
+}
+sub wait_message_with_progress_bar {
+ my ($_o, $_title) = @_;
+ undef, sub {};
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+
+ my ($name, $_sfm, $acm) = lang::l2console_font($o->{locale}, 1);
+ my %fs_options = lang::fs_options($o->{locale});
+ $iocharset = $name && $acm && $fs_options{iocharset} ne 'utf8' ? $fs_options{iocharset} : '';
+}
+
+sub errorInStep {
+ my ($_o, $err) = @_;
+ print "error :(\n";
+ print "$err\n\n";
+ print "switch to console f2 for a shell\n";
+ print "Press <Enter> to reboot\n";
+
+ my $answer = <STDIN>;
+ if ($answer =~ /restart/i) {
+ log::l("restarting install");
+ c::_exit(0x35);
+ }
+ c::_exit(1);
+}
+
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+sub installPackages {
+ my ($o, $packages) = @_;
+ catch_cdie { $o->install::steps::installPackages($packages) } sub { print formatError($@), "\n"; 1 };
+}
+
+1;
diff --git a/perl-install/install/steps_curses.pm b/perl-install/install/steps_curses.pm
new file mode 100644
index 000000000..6eca67170
--- /dev/null
+++ b/perl-install/install/steps_curses.pm
@@ -0,0 +1,68 @@
+package install::steps_curses; # $Id: steps_curses.pm 71721 2006-10-23 11:43:45Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::curses);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::steps_interactive;
+use interactive::curses;
+use install::any;
+use devices;
+use lang;
+use common;
+
+my $banner;
+sub banner {
+ my ($cui, $step) = @_;
+ my $text = N("Mandriva Linux Installation %s", $step);
+ $banner ||= do {
+ my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => 0, '-height' => 1);
+ $win->add(undef, 'Label');
+ };
+ $banner->text($text);
+}
+
+sub help_line {
+ my ($cui) = @_;
+ my $text = N("<Tab>/<Alt-Tab> between elements");
+ my $win = $cui->add(undef, 'Window', '-x' => 1, '-y' => -1, '-height' => 1);
+ $win->add(undef, 'Label', '-text' => $text);
+}
+
+sub new {
+ my ($type, $o) = @_;
+
+ add2hash($o, interactive::curses->new);
+
+ #- unset DISPLAY so that code testing wether DISPLAY is set can know we don't have or use X
+ delete $ENV{DISPLAY};
+
+ banner($o->{cui}, '');
+ help_line($o->{cui});
+
+ (bless {}, ref($type) || $type)->SUPER::new($o);
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+ $o->SUPER::enteringStep($step);
+ banner($o->{cui}, translate($o->{steps}{$step}{text}));
+}
+
+sub exitInstall {
+ &install::steps_interactive::exitInstall;
+ interactive::curses::end();
+}
+
+1;
+
diff --git a/perl-install/install/steps_gtk.pm b/perl-install/install/steps_gtk.pm
new file mode 100644
index 000000000..23fa2e5fe
--- /dev/null
+++ b/perl-install/install/steps_gtk.pm
@@ -0,0 +1,637 @@
+package install::steps_gtk; # $Id: steps_gtk.pm 138130 2007-03-08 14:58:23Z pablo $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::gtk);
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use install::pkgs;
+use install::steps_interactive;
+use interactive::gtk;
+use xf86misc::main;
+use common;
+use mygtk2;
+use ugtk2 qw(:helpers :wrappers :create);
+use devices;
+use modules;
+use install::gtk;
+use install::any;
+use mouse;
+use install::help::help;
+use log;
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub new($$) {
+ my ($type, $o) = @_;
+
+ $ENV{DISPLAY} ||= $o->{display} || ":0";
+ my $wanted_DISPLAY = $::testing && -x '/usr/bin/Xnest' ? ':9' : $ENV{DISPLAY};
+
+ if (!$::local_install &&
+ ($::testing ? $ENV{DISPLAY} ne $wanted_DISPLAY : $ENV{DISPLAY} =~ /^:\d/)) { #- is the display local or distant?
+ my $f = "/tmp/Xconf";
+ if (!$::testing) {
+ devices::make("/dev/kbd");
+ }
+ my $launchX = sub {
+ my ($server, $Driver) = @_;
+
+ mkdir '/var/log' if !-d '/var/log';
+
+ my @options = $wanted_DISPLAY;
+ if ($server eq 'Xnest') {
+ push @options, '-ac', '-geometry', $o->{vga} || ($o->{vga16} ? '640x480' : '800x600');
+ } elsif ($::globetrotter || !$::move) {
+ install::gtk::createXconf($f, @{$o->{mouse}}{'Protocol', 'device'}, $o->{mouse}{wacom}[0], $Driver);
+
+ push @options, if_(!$::globetrotter, '-kb'), '-allowMouseOpenFail', '-xf86config', $f if arch() !~ /^sparc/;
+ push @options, 'tty7', '-s', '240';
+
+ #- old weird servers: Xsun
+ push @options, '-fp', '/usr/share/fonts:unscaled' if $server =~ /Xsun/;
+ }
+
+ if (!fork()) {
+ c::setsid();
+ exec $server, @options or c::_exit(1);
+ }
+
+ #- wait for the server to start
+ foreach (1..5) {
+ sleep 1;
+ last if fuzzy_pidofs(qr/\b$server\b/);
+ log::l("$server still not running, trying again");
+ }
+ my $nb;
+ foreach (1..60) {
+ log::l("waiting for the server to start ($_ $nb)");
+ log::l("Server died"), return 0 if !fuzzy_pidofs(qr/\b$server\b/);
+ $nb++ if xf86misc::main::Xtest($wanted_DISPLAY);
+ if ($nb > 2) { #- one succeeded test is not enough :-(
+ log::l("AFAIK X server is up");
+ return 1;
+ }
+ sleep 1;
+ }
+ log::l("Timeout!!");
+ 0;
+ };
+ my @servers = qw(Driver:fbdev); #-)
+ if ($::testing) {
+ @servers = 'Xnest';
+ } elsif (arch() eq "alpha") {
+ require Xconfig::card;
+ my ($card) = Xconfig::card::probe();
+ Xconfig::card::add_to_card__using_Cards($card, $card->{type}) if $card && $card->{type};
+ @servers = $card->{server} || "TGA";
+ #-@servers = qw(SVGA 3DLabs TGA)
+ } elsif (arch() =~ /^sparc/) {
+ local $_ = cat_("/proc/fb");
+ if (/Mach64/) {
+ @servers = qw(Mach64);
+ } elsif (/Permedia2/) {
+ @servers = qw(3DLabs);
+ } else {
+ @servers = qw(Xsun24);
+ }
+ } elsif (arch() =~ /ia64/) {
+ require Xconfig::card;
+ my ($card) = Xconfig::card::probe();
+ @servers = map { if_($_, "Driver:$_") } $card && $card->{Driver}, 'fbdev';
+ }
+
+ if (($::move || $::globetrotter) && !$::testing) {
+ require move;
+ require run_program;
+ move::automatic_xconf($o);
+ run_program::run('/sbin/service', 'xfs', 'start');
+ @servers = $::globetrotter ? qw(Driver:fbdev) : qw(X_move);
+ }
+
+ foreach (@servers) {
+ log::l("Trying with server $_");
+ my ($prog, $Driver) = /Driver:(.*)/ ? ('Xorg', $1) : /Xsun|Xnest|^X_move$/ ? $_ : "XF86_$_";
+ if (/FB/i) {
+ !$o->{vga16} && $o->{allowFB} or next;
+
+ $o->{allowFB} = &$launchX($prog, $Driver) #- keep in mind FB is used.
+ and goto OK;
+ } else {
+ $o->{vga16} = 1 if /VGA16/;
+ &$launchX($prog, $Driver) and goto OK;
+ }
+ $::move and print("can not launch graphical mode :(\n"), c::_exit(1);
+ }
+ return undef;
+ }
+ OK:
+ $ENV{DISPLAY} = $wanted_DISPLAY;
+ require detect_devices;
+ if (detect_devices::is_xbox()) {
+ modules::load('xpad');
+ run_program::run('xset', 'm', '1/8', '1');
+ }
+ install::gtk::init_gtk($o);
+ install::gtk::init_sizes($o);
+ install::gtk::install_theme($o);
+ install::gtk::create_logo_window($o);
+ install::gtk::create_steps_window($o);
+
+ $ugtk2::grab = 1;
+
+ $o = (bless {}, ref($type) || $type)->SUPER::new($o);
+ $o->interactive::gtk::new;
+ $o;
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+
+ printf "Entering step `%s'\n", common::remove_translate_context($o->{steps}{$step}{text});
+ $o->SUPER::enteringStep($step);
+ install::gtk::update_steps_position($o);
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ $o->SUPER::leavingStep($step);
+}
+
+
+sub charsetChanged {
+ my ($o) = @_;
+ Gtk2->set_locale;
+ install::gtk::load_font($o);
+ install::gtk::create_steps_window($o);
+}
+
+
+sub interactive_help_has_id {
+ my ($_o, $id) = @_;
+ exists $install::help::help::{$id};
+}
+
+sub interactive_help_get_id {
+ my ($_o, @l) = @_;
+ @l = map {
+ join("\n\n", map { s/\n/ /mg; $_ } split("\n\n", translate($install::help::help::{$_}->())));
+ } grep { exists $install::help::help::{$_} } @l;
+ join("\n\n\n", @l);
+}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+sub selectLanguage {
+ my ($o) = @_;
+ $o->SUPER::selectLanguage;
+
+ $o->ask_warn('',
+formatAlaTeX(N("Your system is low on resources. You may have some problem installing
+Mandriva Linux. If that occurs, you can try a text install instead. For this,
+press `F1' when booting on CDROM, then enter `text'."))) if availableRamMB() < 70; # 70MB
+
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($o, $force) = @_;
+ my %old = %{$o->{mouse}};
+ $o->SUPER::selectMouse($force) or return;
+ my $mouse = $o->{mouse};
+ $mouse->{type} eq 'none' ||
+ $old{type} eq $mouse->{type} &&
+ $old{name} eq $mouse->{name} &&
+ $old{device} eq $mouse->{device} and return;
+
+ while (1) {
+ my $x_protocol_changed = mouse::change_mouse_live($mouse, \%old);
+ mouse::test_mouse_install($mouse, $x_protocol_changed) and return;
+
+ %old = %$mouse;
+ $o->SUPER::selectMouse;
+ $mouse = $o->{mouse};
+ }
+}
+
+sub reallyChooseGroups {
+ my ($o, $size_to_display, $individual, $_compssUsers) = @_;
+
+ my $w = ugtk2->new(N("Package Group Selection"), icon => 'banner-sys');
+ my $w_size = gtknew('Label', text => &$size_to_display);
+
+ my $entry = sub {
+ my ($e) = @_;
+
+ gtknew('CheckButton',
+ text => translate($e->{label}),
+ tip => translate($e->{descr}),
+ active_ref => \$e->{selected},
+ toggled => sub {
+ gtkset($w_size, text => &$size_to_display);
+ });
+ };
+ #- when restarting this step, it might be necessary to reload the compssUsers.pl (bug 11558). kludgy.
+ if (!ref $o->{gtk_display_compssUsers}) { install::any::load_rate_files($o) }
+ ugtk2::gtkadd($w->{window},
+ gtknew('VBox', children => [
+ 1, $o->{gtk_display_compssUsers}->($entry),
+ 1, '',
+ 0, if_($individual,
+ gtknew('CheckButton', text => N("Individual package selection"), active_ref => $individual),
+ ),
+ 0, gtknew('HBox', children_loose => [
+ gtknew('Button', text => N("Help"), clicked => $o->interactive_help_sub_display_id('choosePackages')),
+ $w_size,
+ gtknew('Button', text => N("Next"), clicked => sub { Gtk2->main_quit }),
+ ]),
+ ]),
+ );
+ $w->main;
+ 1;
+}
+
+sub choosePackagesTree {
+ my ($o, $packages, $o_limit_medium) = @_;
+
+ my $available = install::any::getAvailableSpace($o);
+ my $availableCorrected = install::pkgs::invCorrectSize($available / sqr(1024)) * sqr(1024);
+
+ my $common;
+ $common = { get_status => sub {
+ my $size = install::pkgs::selectedSize($packages);
+ N("Total size: %d / %d MB", install::pkgs::correctSize($size / sqr(1024)), $available / sqr(1024));
+ },
+ node_state => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return;
+ install::pkgs::packageMedium($packages, $p)->{selected} or return;
+ $p->arch eq 'src' and return;
+ $p->flag_base and return 'base';
+ $p->flag_installed && !$p->flag_upgrade and return 'installed';
+ $p->flag_selected and return 'selected';
+ return 'unselected';
+ },
+ build_tree => sub {
+ my ($add_node, $flat) = @_;
+ if ($flat) {
+ foreach (sort map { $_->name }
+ grep { !$o_limit_medium || install::pkgs::packageMedium($packages, $_) == $o_limit_medium }
+ grep { $_ && $_->arch ne 'src' }
+ @{$packages->{depslist}}) {
+ $add_node->($_, undef);
+ }
+ } else {
+ foreach my $root (@{$o->{compssUsers}}) {
+ my (@firstchoice, @others);
+ my %fl = map { ("CAT_$_" => 1) } @{$root->{flags}};
+ foreach my $p (@{$packages->{depslist}}) {
+ !$o_limit_medium || install::pkgs::packageMedium($packages, $p) == $o_limit_medium or next;
+ my @flags = $p->rflags;
+ next if !($p->rate && any { any { !/^!/ && $fl{$_} } split('\|\|') } @flags);
+ $p->rate >= 3 ?
+ push(@firstchoice, $p->name) :
+ push(@others, $p->name);
+ }
+ my $root2 = translate($root->{path}) . '|' . translate($root->{label});
+ $add_node->($_, $root2) foreach sort @firstchoice;
+ $add_node->($_, $root2 . '|' . N("Other")) foreach sort @others;
+ }
+ }
+ },
+ get_info => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return '';
+ install::pkgs::extractHeaders([$p], $packages->{mediums});
+
+ my $imp = translate($install::pkgs::compssListDesc{$p->flag_base ? 5 : $p->rate});
+
+ my $tag = { 'foreground' => 'royalblue3' };
+ $@ ? N("Bad package") :
+ [ [ N("Name: "), $tag ], [ $p->name . "\n" ],
+ [ N("Version: "), $tag ], [ $p->version . '-' . $p->release . "\n" ],
+ [ N("Size: "), $tag ], [ N("%d KB\n", $p->size / 1024) ],
+ if_($imp, [ N("Importance: "), $tag ], [ "$imp\n" ]),
+ [ "\n" ], [ formatLines($p->description) ] ];
+ },
+ toggle_nodes => sub {
+ my $set_state = shift @_;
+ my $isSelection = 0;
+ my %l = map { my $p = install::pkgs::packageByName($packages, $_);
+ $isSelection ||= !$p->flag_selected;
+ $p->id => 1 } @_;
+ my $state = $packages->{state} ||= {};
+ $packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
+ my @l = $isSelection ? $packages->resolve_requested($packages->{rpmdb}, $state, \%l,
+ callback_choices => \&install::pkgs::packageCallbackChoices) :
+ $packages->disable_selected($packages->{rpmdb}, $state,
+ map { $packages->{depslist}[$_] } keys %l);
+ my $size = install::pkgs::selectedSize($packages);
+ my $error;
+
+ if (!@l) {
+ #- no package can be selected or unselected.
+ my @ask_unselect = grep { $state->{rejected}{$_}{backtrack} &&
+ exists $l{$packages->search($_, strict_fullname => 1)->id} }
+ keys %{$state->{rejected} || {}};
+ #- extend to closure (to given more detailed and not absurd reason).
+ my %ask_unselect;
+ while (@ask_unselect > keys %ask_unselect) {
+ @ask_unselect{@ask_unselect} = ();
+ foreach (keys %ask_unselect) {
+ foreach (keys %{$state->{rejected}{$_}{backtrack}{closure} || {}}) {
+ next if exists $ask_unselect{$_};
+ push @ask_unselect, $_;
+ }
+ }
+ }
+ $error = [ N("You can not select/unselect this package"),
+ formatList(20, map { my $rb = $state->{rejected}{$_}{backtrack};
+ my @froms = keys %{$rb->{closure} || {}};
+ my @unsatisfied = @{$rb->{unsatisfied} || []};
+ my $s = join ", ", ((map { N("due to missing %s", $_) } @froms),
+ (map { N("due to unsatisfied %s", $_) } @unsatisfied),
+ $rb->{promote} && !$rb->{keep} ? N("trying to promote %s", join(", ", @{$rb->{promote}})) : @{[]},
+ $rb->{keep} ? N("in order to keep %s", join(", ", @{$rb->{keep}})) : @{[]},
+ );
+ $_ . ($s ? " ($s)" : '');
+ } sort @ask_unselect) ];
+ } elsif (install::pkgs::correctSize($size / sqr(1024)) > $available / sqr(1024)) {
+ $error = N("You can not select this package as there is not enough space left to install it");
+ } elsif (@l > @_ && $common->{state}{auto_deps}) {
+ $o->ask_okcancel(N("Confirmation"), [ $isSelection ?
+ N("The following packages are going to be installed") :
+ N("The following packages are going to be removed"),
+ formatList(20, sort(map { $_->name } @l)) ], 1) or $error = ''; #- defined
+ }
+ if (defined $error) {
+ $o->ask_warn('', $error) if $error;
+ #- disable selection (or unselection).
+ $packages->{rpmdb} ||= install::pkgs::rpmDbOpen(); #- WORKAROUND
+ $isSelection ? $packages->disable_selected($packages->{rpmdb}, $state, @l) :
+ $packages->resolve_requested($packages->{rpmdb}, $state, { map { $_->id => 1 } @l });
+ } else {
+ #- keep the changes, update visible state.
+ foreach (@l) {
+ $set_state->($_->name, $_->flag_selected ? 'selected' : 'unselected');
+ }
+ }
+ },
+ grep_allowed_to_toggle => sub {
+ grep { my $p = install::pkgs::packageByName($packages, $_); $p && !$p->flag_base } @_;
+ },
+ grep_unselected => sub {
+ grep { !install::pkgs::packageByName($packages, $_)->flag_selected } @_;
+ },
+ check_interactive_to_toggle => sub {
+ my $p = install::pkgs::packageByName($packages, $_[0]) or return;
+ if ($p->flag_base) {
+ $o->ask_warn('', N("This is a mandatory package, it can not be unselected"));
+ } elsif ($p->flag_installed && !$p->flag_upgrade) {
+ $o->ask_warn('', N("You can not unselect this package. It is already installed"));
+ } elsif ($p->flag_selected && $p->flag_installed) {
+ $o->ask_warn('', N("You can not unselect this package. It must be upgraded"));
+ } else { return 1 }
+ return;
+ },
+ auto_deps => N("Show automatically selected packages"),
+ interactive_help_id => 'choosePackagesTree',
+ ok => N("Install"),
+ cancel => N("Previous"),
+ icons => [ { icon => 'floppy',
+ help => N("Load/Save selection"),
+ wait_message => N("Updating package selection"),
+ code => sub { $o->loadSavePackagesOnFloppy($packages); 1 },
+ },
+ if_(0,
+ { icon => 'feather',
+ help => N("Minimal install"),
+ code => sub {
+
+ install::any::unselectMostPackages($o);
+ install::pkgs::setSelectedFromCompssList($packages, { SYSTEM => 1 }, 4, $availableCorrected);
+ 1;
+ } }),
+ ],
+ state => {
+ auto_deps => 1,
+ flat => $o_limit_medium,
+ },
+ };
+
+ $o->ask_browse_tree_info(N("Software Management"), N("Choose the packages you want to install"), $common);
+}
+
+#------------------------------------------------------------------------------
+sub beforeInstallPackages {
+ my ($o) = @_;
+ $o->SUPER::beforeInstallPackages;
+ install::any::copy_advertising($o);
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($o, $packages) = @_;
+
+ my ($current_total_size, $last_size, $nb, $total_size, $last_dtime, $_trans_progress_total);
+
+ local $::noborderWhenEmbedded = 1;
+ my $w = ugtk2->new(N("Installing"), icon => 'banner-sys');
+ my $show_advertising if 0;
+
+ my $pkg_log_widget = gtknew('TextView', editable => 0);
+ my ($advertising_image, $change_time, $i);
+ my $advertize = sub {
+ my ($update) = @_;
+
+ @install::any::advertising_images && $show_advertising && $update or return;
+
+ $change_time = time();
+ my $f = $install::any::advertising_images[$i++ % @install::any::advertising_images];
+ log::l("advertising $f");
+ gtkval_modify(\$advertising_image, $f);
+
+ if (my $banner = $w->{window}{banner}) {
+ my ($title);
+ my $pl = $f; $pl =~ s/\.png$/.pl/;
+ eval(cat_($pl)) if -e $pl;
+ $banner->{text} = $title;
+ Gtk2::Banner::set_pixmap($banner);
+ }
+ };
+
+ my $cancel = gtknew('Button', text => N("Cancel"), clicked => sub { $install::pkgs::cancel_install = 1 });
+ my $details = gtknew('Button', text_ref => \$show_advertising,
+ format => sub { $show_advertising ? N("Details") : N("No details") },
+ clicked => sub {
+ gtkval_modify(\$show_advertising, !$show_advertising);
+ $pkg_log_widget->{to_bottom}->('force');
+ });
+
+ ugtk2::gtkadd($w->{window}, my $box = gtknew('VBox', children_tight => [
+ gtknew('Image_using_pixmap', file_ref => \$advertising_image, show_ref => \$show_advertising),
+ ]));
+
+ $box->pack_end(gtkshow(gtknew('VBox', border_width => 7, spacing => 3, children_loose => [
+ gtknew('ScrolledWindow', child => $pkg_log_widget,
+ hide_ref => \$show_advertising, height => 250, to_bottom => 1),
+ gtknew('ProgressBar', fraction_ref => \ (my $pkg_progress), hide_ref => \$show_advertising),
+ gtknew('Table', children => [ [
+ N("Time remaining "),
+ gtknew('Label', text_ref => \ (my $msg_time_remaining = N("Estimating"))),
+ ] ]),
+ gtknew('HBox', children => [
+ 1, gtknew('VBox', children_centered => [ gtknew('ProgressBar', fraction_ref => \ (my $progress_total), height => 25) ]),
+ 0, gtknew('HButtonBox', children_loose => [ $cancel, $details ]),
+ ]),
+ ])), 0, 1, 0);
+
+ #- for the hide_ref & show_ref to work, we must set $show_advertising after packing
+ gtkval_modify(\$show_advertising,
+ defined $show_advertising ? $show_advertising : to_bool(@install::any::advertising_images));
+
+ $details->hide if !@install::any::advertising_images;
+ $w->sync;
+ foreach ($cancel, $details) {
+ gtkset_mousecursor_normal($_->window);
+ }
+
+ $advertize->(0);
+
+ local *install::steps::installCallback = sub {
+ my ($packages, $type, $id, $subtype, $amount, $total) = @_;
+ if ($type eq 'user' && $subtype eq 'install') {
+ #- $amount and $total are used to return number of package and total size.
+ $nb = $amount;
+ $total_size = $total; $current_total_size = 0;
+ $o->{install_start_time} = time();
+ mygtk2::gtkadd($pkg_log_widget, text => P("%d package", "%d packages", $nb, $nb));
+ $w->flush;
+ } elsif ($type eq 'open') {
+ gtkval_modify(\$pkg_progress, 0);
+ my $p = $packages->{depslist}[$id];
+ mygtk2::gtkadd($pkg_log_widget, text => sprintf("\n%s: %s", $p->name, (split /\n/, $p->summary)[0] || ''));
+ $current_total_size += $last_size;
+ $last_size = $p->size;
+ $advertize->(1) if $show_advertising && $total_size > 20_000_000 && time() - $change_time > 20;
+ $w->flush;
+ } elsif ($type eq 'inst' && $subtype eq 'progress') {
+ gtkval_modify(\$pkg_progress, $total ? $amount / $total : 0);
+
+ my $dtime = time() - $o->{install_start_time};
+ my $ratio =
+ $total_size == 0 ? 0 :
+ install::pkgs::size2time($current_total_size + $amount, $total_size) / install::pkgs::size2time($total_size, $total_size);
+ $ratio >= 1 and $ratio = 1;
+ my $total_time = $ratio ? $dtime / $ratio : time();
+
+ gtkval_modify(\$progress_total, $ratio);
+ if ($dtime != $last_dtime && $current_total_size > 80_000_000) {
+ gtkval_modify(\$msg_time_remaining, formatTime(10 * round(max($total_time - $dtime, 0) / 10) + 10));
+ $last_dtime = $dtime;
+ }
+ $w->flush;
+ }
+ };
+ my $install_result;
+ catch_cdie { $install_result = $o->install::steps::installPackages($packages) }
+ sub {
+ my $rc = install::steps_interactive::installPackages__handle_error($o, $_[0]);
+ $rc or $w->destroy;
+ $rc;
+ };
+ if ($install::pkgs::cancel_install) {
+ $install::pkgs::cancel_install = 0;
+ die 'already displayed';
+ }
+ $w->destroy;
+ $install_result;
+}
+
+sub summary_prompt {
+ my ($o, $l, $check_complete) = @_;
+
+ my $w = ugtk2->new(N("Summary"), icon => 'banner-summary');
+
+ my $set_entry_labels;
+ my @table;
+ my $group;
+ foreach my $e (@$l) {
+ if ($group ne $e->{group}) {
+ $group = $e->{group};
+ push @table, [ gtknew('HBox', children_tight => [ $group ]), '' ];
+ }
+ $e->{widget} = gtknew('WrappedLabel', width => $::real_windowwidth * 0.72);
+
+ push @table, [], [ gtknew('HBox', spacing => 30, children_tight => [ '', $e->{widget} ]),
+ gtknew('Button', text => N("Configure"), clicked => sub {
+ $w->{rwindow}->hide;
+ $e->{clicked}();
+ $w->{rwindow}->show;
+ $set_entry_labels->();
+ }) ];
+ }
+
+ $set_entry_labels = sub {
+ foreach (@$l) {
+ my $t = $_->{val}() || '<span foreground="red">' . N("not configured") . '</span>';
+ $t =~ s/&/&amp;/g;
+ gtkset($_->{widget}, text_markup => $_->{label} . ' - ' . $t);
+ }
+ };
+ $set_entry_labels->();
+
+ my $help_sub = $o->interactive_help_sub_display_id('summary');
+
+ ugtk2::gtkadd($w->{window},
+ gtknew('VBox', spacing => 5, children => [
+ 1, gtknew('ScrolledWindow', child => gtknew('Table', mcc => 1, children => \@table)),
+ 0, $w->create_okcancel(undef, '', '', if_($help_sub, [ N("Help"), $help_sub, 1 ]))
+ ]));
+
+ $w->main($check_complete);
+}
+
+#- group by CD
+sub ask_deselect_media__copy_on_disk {
+ my ($_o, $hdlists, $o_copy_rpms_on_disk) = @_;
+
+ my @names = uniq(map { $_->{name} } @$hdlists);
+ my %selection = map { $_ => 1 } @names;
+
+ if (@names > 1 || $o_copy_rpms_on_disk) {
+ my $w = ugtk2->new("");
+ $w->sync;
+ ugtk2::gtkadd(
+ $w->{window},
+ gtkpack(
+ Gtk2::VBox->new(0, 5),
+ Gtk2::WrappedLabel->new(formatAlaTeX(N("The following installation media have been found.
+If you want to skip some of them, you can unselect them now."))),
+ (map {
+ my $b = gtknew('CheckButton', text => $_, active_ref => \$selection{$_});
+ $b->set_sensitive(0) if $_ eq $names[0];
+ $b;
+ } @names),
+ gtknew('HSeparator'),
+ if_($o_copy_rpms_on_disk,
+ Gtk2::WrappedLabel->new(formatAlaTeX(N("You have the option to copy the contents of the CDs onto the hard drive before installation.
+It will then continue from the hard drive and the packages will remain available once the system is fully installed."))),
+ gtknew('CheckButton', text => N("Copy whole CDs"), active_ref => $o_copy_rpms_on_disk),
+ gtknew('HSeparator'),
+ ),
+ gtknew('HBox', children_tight => [
+ gtknew('Button', text => N("Next"), clicked => sub { Gtk2->main_quit }),
+ ]),
+ ),
+ );
+ $w->main;
+ }
+ $_->{selected} = $selection{$_->{name}} foreach @$hdlists;
+ log::l("keeping media " . join ',', map { $_->{rpmsdir} } grep { $_->{selected} } @$hdlists);
+}
+
+1;
diff --git a/perl-install/install/steps_interactive.pm b/perl-install/install/steps_interactive.pm
new file mode 100644
index 000000000..6262675ac
--- /dev/null
+++ b/perl-install/install/steps_interactive.pm
@@ -0,0 +1,1083 @@
+package install::steps_interactive; # $Id: steps_interactive.pm 148070 2007-03-22 17:08:48Z pixel $
+
+
+use strict;
+
+our @ISA = qw(install::steps);
+
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use partition_table;
+use fs::type;
+use fs::partitioning;
+use fs::partitioning_wizard;
+use install::steps;
+use install::interactive;
+use install::any;
+use messages;
+use detect_devices;
+use run_program;
+use devices;
+use fsedit;
+use mouse;
+use modules;
+use modules::interactive;
+use lang;
+use keyboard;
+use any;
+use log;
+
+#-######################################################################################
+#- In/Out Steps Functions
+#-######################################################################################
+sub errorInStep {
+ my ($o, $err) = @_;
+ $o->ask_warn(N("Error"), [ N("An error occurred"), formatError($err) ]);
+}
+
+sub kill_action {
+ my ($o) = @_;
+ $o->kill;
+}
+
+#-######################################################################################
+#- Steps Functions
+#-######################################################################################
+#------------------------------------------------------------------------------
+
+sub acceptLicense {
+ my ($o) = @_;
+ any::acceptLicense($o);
+}
+
+sub selectLanguage {
+ my ($o) = @_;
+
+ any::selectLanguage_install($o, $o->{locale});
+ install::steps::selectLanguage($o);
+
+ if ($o->isa('interactive::gtk')) {
+ $o->ask_warn('', formatAlaTeX(
+"If you see this message it is because you chose a language for
+which DrakX does not include a translation yet; however the fact
+that it is listed means there is some support for it anyway.
+
+That is, once GNU/Linux will be installed, you will be able to at
+least read and write in that language; and possibly more (various
+fonts, spell checkers, various programs translated etc. that
+varies from language to language).")) if $o->{locale}{lang} !~ /^en/ && !lang::load_mo();
+ } else {
+ #- no need to have this in po since it is never translated
+ $o->ask_warn('', "The characters of your language can not be displayed in console,
+so the messages will be displayed in english during installation") if $ENV{LANGUAGE} eq 'C';
+ }
+}
+
+#------------------------------------------------------------------------------
+sub selectKeyboard {
+ my ($o, $clicked) = @_;
+
+ my $from_usb = keyboard::from_usb();
+ my $l = keyboard::lang2keyboards(lang::langs($o->{locale}{langs}));
+
+ if ($clicked || !($from_usb || @$l && $l->[0][1] >= 90) || listlength(lang::langs($o->{locale}{langs})) > 1) {
+ add2hash($o->{keyboard}, $from_usb);
+ my @best = uniq($from_usb ? $from_usb->{KEYBOARD} : (), map { $_->[0] } @$l);
+ @best = () if @best == 1;
+
+ my $format = sub { translate(keyboard::KEYBOARD2text($_[0])) };
+ my $other;
+ my $ext_keyboard = my $KEYBOARD = $o->{keyboard}{KEYBOARD};
+ $o->ask_from_(
+ { title => N("Keyboard"),
+ icon => 'banner-languages',
+ messages => N("Please choose your keyboard layout."),
+ interactive_help_id => 'selectKeyboard',
+ advanced_messages => N("Here is the full list of available keyboards"),
+ advanced_label => N("More"),
+ },
+ [ if_(@best, { val => \$KEYBOARD, type => 'list', format => $format, sort => 1,
+ list => [ @best ], changed => sub { $other = 0 } }),
+ { val => \$ext_keyboard, type => 'list', format => $format, changed => sub { $other = 1 },
+ list => [ difference2([ keyboard::KEYBOARDs() ], \@best) ], advanced => @best > 1 }
+ ]);
+ $o->{keyboard}{KEYBOARD} = !@best || $other ? $ext_keyboard : $KEYBOARD;
+ delete $o->{keyboard}{unsafe};
+ }
+ keyboard::group_toggle_choose($o, $o->{keyboard}) or goto &selectKeyboard;
+ install::steps::selectKeyboard($o);
+}
+
+#------------------------------------------------------------------------------
+sub selectInstallClass {
+ my ($o) = @_;
+
+ if (my @l = install::any::find_root_parts($o->{fstab}, $::prefix)) {
+ log::l("proposing to upgrade partitions " . join(" ", map { $_->{part} && $_->{part}{device} } @l));
+
+ my @releases = uniq(map { $_->{release} } @l);
+ if (@releases != @l) {
+ #- same release name so adding the device to differentiate them:
+ $_->{release} .= " ($_->{part}{device})" foreach @l;
+ }
+
+ my $p;
+ $o->ask_from_({ title => N("Install/Upgrade"),
+ messages => N("Is this an install or an upgrade?"),
+ interactive_help_id => 'selectInstallClass',
+ },
+ [ { val => \$p,
+ list => [ @l, N_("Install") ],
+ type => 'list',
+ format => sub { ref($_[0]) ? N("Upgrade %s", $_[0]{release}) : translate($_[0]) }
+ } ]);
+ if (ref $p) {
+ if ($p->{part}) {
+ log::l("choosing to upgrade partition $p->{part}{device}");
+ $o->{migrate_device_names} = install::any::use_root_part($o->{all_hds}, $p->{part}, $o);
+ }
+
+ #- handle encrypted partitions (esp. /home)
+ foreach (grep { $_->{mntpoint} } @{$o->{fstab}}) {
+ my ($options, $_unknown) = fs::mount_options::unpack($_);
+ $options->{encrypted} or next;
+ $o->ask_from_({ focus_first => 1 },
+ [ { label => N("Encryption key for %s", $_->{mntpoint}),
+ hidden => 1, val => \$_->{encrypt_key} } ]);
+ }
+
+ $o->{isUpgrade} = (find { $p->{release_file} =~ /$_/ } 'mandriva', 'mandrake', 'conectiva', 'redhat') || 'unknown';
+ $o->{upgrade_by_removing_pkgs_matching} ||= {
+ conectiva => 'cl',
+ redhat => '.', #- everything!
+ }->{$o->{isUpgrade}};
+ log::l("upgrading $o->{isUpgrade} distribution" . ($o->{upgrade_by_removing_pkgs_matching} ? " (upgrade_by_removing_pkgs_matching $o->{upgrade_by_removing_pkgs_matching})" : ''));
+ }
+ }
+}
+
+#------------------------------------------------------------------------------
+sub selectMouse {
+ my ($o, $force) = @_;
+
+ $force || $o->{mouse}{unsafe} or return;
+
+ mouse::select($o, $o->{mouse}) or return;
+
+ if ($o->{mouse}{device} eq "input/mice") {
+ modules::interactive::load_category($o, $o->{modules_conf}, 'bus/usb', 1, 0);
+ eval {
+ devices::make("usbmouse");
+ modules::load(qw(usbhid mousedev usbmouse));
+ };
+ }
+}
+#------------------------------------------------------------------------------
+sub setupSCSI {
+ my ($o) = @_;
+
+ install::any::configure_pcmcia($o);
+ {
+ my $_w = $o->wait_message(N("IDE"), N("Configuring IDE"));
+ modules::load(modules::category2modules('disk/cdrom'));
+ }
+ modules::interactive::load_category($o, $o->{modules_conf}, 'bus/firewire', 1);
+
+ my $have_non_scsi = detect_devices::hds(); #- at_least_one scsi device if we have no disks
+ modules::interactive::load_category($o, $o->{modules_conf}, 'disk/card_reader|ide|scsi|hardware_raid|sata|firewire', 1, !$have_non_scsi);
+ modules::interactive::load_category($o, $o->{modules_conf}, 'disk/card_reader|ide|scsi|hardware_raid|sata|firewire') if !detect_devices::hds(); #- we really want a disk!
+
+ install::interactive::tellAboutProprietaryModules($o);
+
+ install::any::getHds($o, $o);
+}
+
+#------------------------------------------------------------------------------
+sub doPartitionDisks {
+ my ($o) = @_;
+
+ if (arch() =~ /ppc/) {
+ my $generation = detect_devices::get_mac_generation();
+ if ($generation =~ /NewWorld/) {
+ #- mac partition table
+ if (defined $partition_table::mac::bootstrap_part) {
+ #- do not do anything if we've got the bootstrap setup
+ #- otherwise, go ahead and create one somewhere in the drive free space
+ } else {
+ my $freepart = $partition_table::mac::freepart;
+ if ($freepart && $freepart->{size} >= 1) {
+ log::l("creating bootstrap partition on drive /dev/$freepart->{hd}{device}, block $freepart->{start}");
+ $partition_table::mac::bootstrap_part = $freepart->{part};
+ log::l("bootstrap now at $partition_table::mac::bootstrap_part");
+ my $p = { start => $freepart->{start}, size => 1 << 11, mntpoint => '' };
+ fs::type::set_pt_type($p, 0x401);
+ fsedit::add($freepart->{hd}, $p, $o->{all_hds}, { force => 1, primaryOrExtended => 'Primary' });
+ $partition_table::mac::new_bootstrap = 1;
+
+ } else {
+ $o->ask_warn('', N("No free space for 1MB bootstrap! Install will continue, but to boot your system, you'll need to create the bootstrap partition in DiskDrake"));
+ }
+ }
+ } elsif ($generation =~ /IBM/) {
+ #- dos partition table
+ $o->ask_warn('', N("You'll need to create a PPC PReP Boot bootstrap! Install will continue, but to boot your system, you'll need to create the bootstrap partition in DiskDrake"));
+ }
+ }
+
+ if (!$o->{isUpgrade}) {
+ fs::partitioning_wizard::main($o, $o->{all_hds}, $o->{fstab}, $o->{manualFstab}, $o->{partitions}, $o->{partitioning}, $::local_install);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub rebootNeeded {
+ my ($o) = @_;
+ fs::partitioning_wizard::warn_reboot_needed($o);
+ install::steps::rebootNeeded($o);
+}
+
+#------------------------------------------------------------------------------
+sub choosePartitionsToFormat {
+ my ($o) = @_;
+ fs::partitioning::choose_partitions_to_format($o, $o->{fstab});
+}
+
+sub formatMountPartitions {
+ my ($o, $_fstab) = @_;
+ fs::partitioning::format_mount_partitions($o, $o->{all_hds}, $o->{fstab});
+}
+
+#------------------------------------------------------------------------------
+sub setPackages {
+ my ($o) = @_;
+ install::any::setPackages($o);
+}
+
+#- group by CD
+sub ask_deselect_media__copy_on_disk {
+ my ($o, $hdlists, $o_copy_rpms_on_disk) = @_;
+
+ log::l("ask_deselect_media__copy_on_disk");
+
+ my @names = uniq(map { $_->{name} } @$hdlists);
+ my %selection = map { $_ => 1 } @names;
+
+ $o->ask_from_({ messages => formatAlaTeX(N("The following installation media have been found.
+If you want to skip some of them, you can unselect them now.")) },
+ [ (map { { type => 'bool', text => $_, val => \$selection{$_},
+ if_($_ eq $names[0], disabled => sub { 1 }),
+ } } @names),
+ if_($o_copy_rpms_on_disk,
+ { type => 'label', val => \(formatAlaTeX(N("You have the option to copy the contents of the CDs onto the hard drive before installation.
+It will then continue from the hard drive and the packages will remain available once the system is fully installed."))) },
+ { type => 'bool', text => N("Copy whole CDs"), val => $o_copy_rpms_on_disk },
+ ),
+ ]);
+ $_->{selected} = $selection{$_->{name}} foreach @$hdlists;
+ log::l("keeping media " . join ',', map { $_->{rpmsdir} } grep { $_->{selected} } @$hdlists);
+}
+
+sub while_suspending_time {
+ my ($o, $f) = @_;
+
+ my $time = time();
+
+ my $r = $f->();
+
+ #- add the elapsed time (otherwise the predicted time will be rubbish)
+ $o->{install_start_time} += time() - $time;
+
+ $r;
+}
+
+# nb: $file can be a directory
+sub ask_change_cd {
+ my ($o, $phys_m, $o_rel_file) = @_;
+
+ while_suspending_time($o, sub { ask_change_cd_($o, $phys_m, $o_rel_file) });
+}
+
+sub ask_change_cd_ {
+ my ($o, $phys_m, $o_rel_file) = @_;
+
+ local $| = 1; print "\a";
+
+ if ($phys_m->{name} =~ /commercial/i) {
+ $o->{useless_thing_accepted2} ||=
+ $o->ask_from_list_('', formatAlaTeX(messages::com_license()),
+ [ N_("Accept"), N_("Refuse") ], "Accept") eq "Accept" or return;
+ }
+
+ foreach (1 .. 32) {
+ install::media::umount_phys_medium($phys_m);
+ install::media::openCdromTray($phys_m->{device});
+
+ $o->ask_okcancel('', N("Change your Cd-Rom!
+Please insert the Cd-Rom labelled \"%s\" in your drive and press Ok when done.
+If you do not have it, press Cancel to avoid installation from this Cd-Rom.", $phys_m->{name}), 1) or return;
+
+ fs::mount::part($phys_m);
+
+ #- it can be a directory, so don't use -f
+ !$o_rel_file || -e install::media::path($phys_m, $o_rel_file) and return 1;
+
+ log::l("file " . install::media::path($phys_m, $o_rel_file) . " not found");
+ }
+ undef;
+}
+
+sub selectSupplMedia {
+ my ($o) = @_;
+ install::any::selectSupplMedia($o);
+}
+#------------------------------------------------------------------------------
+sub choosePackages {
+ my ($o) = @_;
+
+ my $w = $o->wait_message('', N("Looking for available packages..."));
+ my $availableC = &install::steps::choosePackages;
+ my $individual;
+
+ require install::pkgs;
+
+ my $min_size = install::pkgs::selectedSize($o->{packages});
+ undef $w;
+ if ($min_size >= $availableC) {
+ my $msg = N("Your system does not have enough space left for installation or upgrade (%dMB > %dMB)",
+ $min_size / sqr(1024), $availableC / sqr(1024));
+ log::l($msg);
+ $o->ask_warn('', $msg);
+ install::steps::rebootNeeded($o);
+ }
+
+ my $min_mark = 4;
+
+ chooseGroups:
+ $o->chooseGroups($o->{packages}, $o->{compssUsers}, $min_mark, \$individual) if !$o->{isUpgrade} && $o->{meta_class} ne 'desktop';
+
+ ($o->{packages_}{ind}) =
+ install::pkgs::setSelectedFromCompssList($o->{packages}, $o->{rpmsrate_flags_chosen}, $min_mark, $availableC);
+
+ $o->choosePackagesTree($o->{packages}) or goto chooseGroups if $individual;
+
+ install::any::warnAboutRemovedPackages($o, $o->{packages});
+ install::any::warnAboutNaughtyServers($o) or goto chooseGroups if !$o->{isUpgrade} && $o->{meta_class} ne 'firewall';
+}
+
+sub choosePackagesTree {
+ my ($o, $packages, $o_limit_to_medium) = @_;
+
+ $o->ask_many_from_list('', N("Choose the packages you want to install"),
+ {
+ list => [ grep { !$o_limit_to_medium || install::pkgs::packageMedium($packages, $_) == $o_limit_to_medium }
+ @{$packages->{depslist}} ],
+ value => \&URPM::Package::flag_selected,
+ label => \&URPM::Package::name,
+ sort => 1,
+ });
+}
+sub loadSavePackagesOnFloppy {
+ my ($o, $packages) = @_;
+ $o->ask_from('',
+N("Please choose load or save package selection.
+The format is the same as auto_install generated files."),
+ [ { val => \ (my $choice), list => [ N_("Load"), N_("Save") ], format => \&translate, type => 'list' } ]) or return;
+
+ if ($choice eq 'Load') {
+ while (1) {
+ log::l("load package selection");
+ my ($_h, $fh) = install::any::media_browser($o, '', 'package_list.pl') or return;
+ my $O = eval { install::any::loadO(undef, $fh) };
+ if ($@) {
+ $o->ask_okcancel('', N("Bad file")) or return;
+ } else {
+ install::any::unselectMostPackages($o);
+ install::pkgs::select_by_package_names($packages, $O->{default_packages} || []);
+ return 1;
+ }
+ }
+ } else {
+ log::l("save package selection");
+ install::any::g_default_packages($o);
+ }
+}
+sub chooseGroups {
+ my ($o, $packages, $compssUsers, $min_level, $individual) = @_;
+
+ #- for all groups available, determine package which belongs to each one.
+ #- this will enable getting the size of each groups more quickly due to
+ #- limitation of current implementation.
+ #- use an empty state for each one (no flag update should be propagated).
+
+ my $b = install::pkgs::saveSelected($packages);
+ install::any::unselectMostPackages($o);
+ install::pkgs::setSelectedFromCompssList($packages, { CAT_SYSTEM => 1 }, $min_level, 0);
+ my $system_size = install::pkgs::selectedSize($packages);
+ my ($sizes, $pkgs) = install::pkgs::computeGroupSize($packages, $min_level);
+ install::pkgs::restoreSelected($b);
+ log::l("system_size: $system_size");
+
+ my %stable_flags = grep_each { $::b } %{$o->{rpmsrate_flags_chosen}};
+ delete $stable_flags{"CAT_$_"} foreach map { @{$_->{flags}} } @{$o->{compssUsers}};
+
+ my $compute_size = sub {
+ my %pkgs;
+ my %flags = %stable_flags; @flags{@_} = ();
+ my $total_size;
+ A: while (my ($k, $size) = each %$sizes) {
+ Or: foreach (split "\t", $k) {
+ foreach (split "&&") {
+ exists $flags{$_} or next Or;
+ }
+ $total_size += $size;
+ $pkgs{$_} = 1 foreach @{$pkgs->{$k}};
+ next A;
+ }
+ }
+ log::l("computed size $total_size (flags " . join(' ', keys %flags) . ")");
+ log::l("chooseGroups: ", join(" ", sort keys %pkgs));
+
+ int $total_size;
+ };
+
+ my ($size, $unselect_all);
+ my $available_size = install::any::getAvailableSpace($o) / sqr(1024);
+ my $size_to_display = sub {
+ my $lsize = $system_size + $compute_size->(map { "CAT_$_" } map { @{$_->{flags}} } grep { $_->{selected} } @$compssUsers);
+
+ #- if a profile is deselected, deselect everything (easier than deselecting the profile packages)
+ $unselect_all ||= $size > $lsize;
+ $size = $lsize;
+ N("Total size: %d / %d MB", install::pkgs::correctSize($size / sqr(1024)), $available_size);
+ };
+
+ while (1) {
+ if ($available_size < 200) {
+ # too small to choose anything. Defaulting to no group chosen
+ $_->{selected} = 0 foreach @$compssUsers;
+ last;
+ }
+
+ $o->reallyChooseGroups($size_to_display, $individual, $compssUsers) or return;
+
+ last if $::testing || install::pkgs::correctSize($size / sqr(1024)) < $available_size || every { !$_->{selected} } @$compssUsers;
+
+ $o->ask_warn('', N("Selected size is larger than available space"));
+ }
+ install::any::set_rpmsrate_category_flags($o, $compssUsers);
+
+ log::l("compssUsersChoice selected: ", join(', ', map { qq("$_->{path}|$_->{label}") } grep { $_->{selected} } @$compssUsers));
+
+ #- do not try to deselect package (by default no groups are selected).
+ if (!$o->{isUpgrade}) {
+ install::any::unselectMostPackages($o) if $unselect_all;
+ }
+ #- if no group have been chosen, ask for using base system only, or no X, or normal.
+ if (!$o->{isUpgrade} && !any { $_->{selected} } @$compssUsers) {
+ my $docs = !$o->{excludedocs};
+ my $minimal;
+
+ $o->ask_from(N("Type of install"),
+ N("You have not selected any group of packages.
+Please choose the minimal installation you want:"),
+ [
+ { val => \$o->{rpmsrate_flags_chosen}{CAT_X}, type => 'bool', text => N("With X"), disabled => sub { $minimal } },
+ { val => \$docs, type => 'bool', text => N("With basic documentation (recommended!)"), disabled => sub { $minimal } },
+ { val => \$minimal, type => 'bool', text => N("Truly minimal install (especially no urpmi)") },
+ ],
+ ) or return &chooseGroups;
+
+ if ($minimal) {
+ $o->{rpmsrate_flags_chosen}{CAT_X} = $docs = 0;
+ $o->{rpmsrate_flags_chosen}{CAT_SYSTEM} = 0;
+ }
+ $o->{excludedocs} = !$docs;
+ $o->{rpmsrate_flags_chosen}{CAT_MINIMAL_DOCS} = $docs;
+
+ install::any::unselectMostPackages($o);
+ }
+ 1;
+}
+
+sub reallyChooseGroups {
+ my ($o, $size_to_display, $individual, $compssUsers) = @_;
+
+ my $size_text = &$size_to_display;
+
+ my ($path, $all);
+ $o->ask_from_({ messages => N("Package Group Selection"),
+ interactive_help_id => 'choosePackages',
+ }, [
+ { val => \$size_text, type => 'label' }, {},
+ (map {
+ my $old = $path;
+ $path = $_->{path};
+ if_($old ne $path, { val => translate($path) }),
+ {
+ val => \$_->{selected},
+ type => 'bool',
+ disabled => sub { $all },
+ text => translate($_->{label}),
+ help => translate($_->{descr}),
+ changed => sub { $size_text = &$size_to_display },
+ };
+ } @$compssUsers),
+ if_($o->{meta_class} eq 'desktop', { text => N("All"), val => \$all, type => 'bool' }),
+ if_($individual, { text => N("Individual package selection"), val => $individual, advanced => 1, type => 'bool' }),
+ ]);
+
+ if ($all) {
+ $_->{selected} = 1 foreach @$compssUsers;
+ }
+ 1;
+}
+
+#------------------------------------------------------------------------------
+sub installPackages {
+ my ($o, $packages) = @_;
+ my ($current, $total) = (0, 0);
+
+ my ($_w, $wait_message) = $o->wait_message_with_progress_bar(N("Installing"));
+ $wait_message->(N("Preparing installation"), 0, 100); #- beware, interactive::curses::wait_message_with_progress_bar need to create the Dialog::Progress here because in installCallback we are chrooted
+
+ local *install::steps::installCallback = sub {
+ my ($packages, $type, $id, $subtype, $_amount, $total_) = @_;
+ if ($type eq 'user' && $subtype eq 'install') {
+ $total = $total_;
+ } elsif ($type eq 'inst' && $subtype eq 'start') {
+ my $p = $packages->{depslist}[$id];
+ $wait_message->(N("Installing package %s", $p->name), $current, $total);
+ $current += $p->size;
+ }
+ };
+
+ my $install_result;
+ catch_cdie { $install_result = $o->install::steps::installPackages($packages) }
+ sub { installPackages__handle_error($o, $_[0]) };
+
+ if ($install::pkgs::cancel_install) {
+ $install::pkgs::cancel_install = 0;
+ die "setstep choosePackages\n";
+ }
+ $install_result;
+}
+
+sub installPackages__handle_error {
+ my ($o, $err_ref) = @_;
+
+ log::l("catch_cdie: $$err_ref");
+ my $time = time();
+ my $go_on;
+ if ($$err_ref =~ /^error ordering package list: (.*)/) {
+ $go_on = $o->ask_yesorno('', [
+ N("There was an error ordering packages:"), $1, N("Go on anyway?") ], 1);
+ } elsif ($$err_ref =~ /^error installing package list: (\S+)\s*(.*)/) {
+ my ($pkg_name, $medium_name) = ($1, $2);
+ my @choices = (
+ [ 'retry', N("Retry") ],
+ [ 'skip_one', N("Skip this package") ],
+ [ 'disable_media', N("Skip all packages from medium \"%s\"", $medium_name) ],
+ [ '', N("Go back to media and packages selection") ],
+ );
+ my $choice;
+ $o->ask_from_({ messages => N("There was an error installing package %s.", $pkg_name) },
+ [ { val => \$choice, type => 'list', list => \@choices, format => sub { $_[0][1] } } ]);
+ $go_on = $choice->[0];
+ }
+ if ($go_on) {
+ #- add the elapsed time (otherwise the predicted time will be rubbish)
+ $o->{install_start_time} += time() - $time;
+ $go_on;
+ } else {
+ $o->{askmedia} = 1;
+ $$err_ref = "already displayed";
+ 0;
+ }
+}
+
+
+sub afterInstallPackages($) {
+ my ($o) = @_;
+ my $_w = $o->wait_message('', N("Post-install configuration"));
+ $o->SUPER::afterInstallPackages;
+}
+
+sub updatemodules {
+ my ($o, $dev, $rel_dir) = @_;
+
+ $o->ask_okcancel('', N("Please ensure the Update Modules media is in drive %s", $dev), 1) or return;
+ $o->SUPER::updatemodules($dev, $rel_dir);
+}
+
+#------------------------------------------------------------------------------
+sub configureNetwork {
+ my ($o) = @_;
+ if ($o->{meta_class} eq 'firewall') {
+ require network::netconnect;
+ network::netconnect::real_main($o->{net}, $o, $o->{modules_conf});
+ } else {
+ #- don't overwrite configuration in a network install
+ if (!install::any::is_network_install($o)) {
+ require network::network;
+ network::network::easy_dhcp($o->{net}, $o->{modules_conf});
+ }
+ $o->SUPER::configureNetwork;
+ }
+}
+
+#------------------------------------------------------------------------------
+sub installUpdates {
+ my ($o) = @_;
+ my $u = $o->{updates} ||= {};
+
+ $o->hasNetwork or return;
+
+ $o->ask_yesorno_({ title => N("Updates"), icon => 'banner-update', messages => formatAlaTeX(
+N("You now have the opportunity to download updated packages. These packages
+have been updated after the distribution was released. They may
+contain security or bug fixes.
+
+To download these packages, you will need to have a working Internet
+connection.
+
+Do you want to install the updates?")),
+ interactive_help_id => 'installUpdates',
+ }) or return;
+
+ #- bring all interface up for installing updates packages.
+ install::interactive::upNetwork($o);
+
+ #- update medium available and working.
+ my $update_medium;
+ do {
+ $u->{url} = install::any::ask_mirror($o, 'updates', $u->{url}) or goto &installUpdates;
+ my $phys_medium = install::media::url2mounted_phys_medium($o, $u->{url} . '/media/main/updates');
+
+ eval {
+ my $_w = $o->wait_message('', N("Contacting the mirror to get the list of available packages..."));
+ $update_medium = { name => "Updates for Mandriva Linux " . $o->{product_id}{version}, update => 1 };
+ install::media::get_standalone_medium($o, $phys_medium, $o->{packages}, $update_medium);
+ };
+ if ($@) {
+ undef $update_medium;
+ $o->ask_warn('', N("Unable to contact mirror %s", $u->{mirror}));
+ }
+ } until $update_medium;
+
+ if ($update_medium) {
+ if ($o->choosePackagesTree($o->{packages}, $update_medium)) {
+ $o->{isUpgrade} = 1; #- now force upgrade mode, else update will be installed instead of upgraded.
+ $o->pkg_install;
+ } else {
+ #- make sure to not try to install the packages (which are automatically selected by getPackage above).
+ #- this is possible by deselecting the medium (which can be re-selected above).
+ $update_medium->{selected} = 0;
+ goto &installUpdates;
+ }
+ #- update urpmi even, because there is an hdlist available and everything is good,
+ #- this will allow user to update the medium but update his machine later.
+ install::steps::install_urpmi($o);
+ }
+
+ #- not downing network, even ppp. We don't care much since it is the end of install :)
+}
+
+
+#------------------------------------------------------------------------------
+sub configureTimezone {
+ my ($o, $clicked) = @_;
+
+ any::configure_timezone($o, $o->{timezone}, $clicked) or return;
+
+ install::steps::configureTimezone($o);
+ 1;
+}
+
+#------------------------------------------------------------------------------
+sub configureServices {
+ my ($o, $clicked) = @_;
+ require services;
+ $o->{services} = services::ask($o) if $clicked;
+ install::steps::configureServices($o);
+}
+
+
+sub summaryBefore {
+ my ($o) = @_;
+
+ install::any::preConfigureTimezone($o);
+ #- get back network configuration.
+ require network::network;
+ eval {
+ network::network::read_net_conf($o->{net});
+ };
+ log::l("summaryBefore: network configuration: ", formatError($@)) if $@;
+}
+
+sub summary_prompt {
+ my ($o, $l, $check_complete) = @_;
+
+ foreach (@$l) {
+ my $val = $_->{val};
+ ($_->{format}, $_->{val}) = (sub { $val->() || N("not configured") }, '');
+ }
+
+ $o->ask_from_({
+ messages => N("Summary"),
+ interactive_help_id => 'summary',
+ cancel => '',
+ callbacks => { complete => sub { !$check_complete->() } },
+ }, $l);
+}
+
+sub summary {
+ my ($o) = @_;
+
+ my @l;
+
+ push @l, {
+ group => N("System"),
+ label => N("Keyboard"),
+ val => sub { $o->{keyboard} && translate(keyboard::keyboard2text($o->{keyboard})) },
+ clicked => sub { $o->selectKeyboard(1) },
+ };
+
+ my $timezone_manually_set;
+ push @l, {
+ group => N("System"),
+ label => N("Country / Region"),
+ val => sub { lang::c2name($o->{locale}{country}) },
+ clicked => sub {
+ any::selectCountry($o, $o->{locale}) or return;
+
+ my $pkg_locale = lang::locale_to_main_locale(lang::getlocale_for_country($o->{locale}{lang}, $o->{locale}{country}));
+ my @pkgs = install::pkgs::packagesProviding($o->{packages}, "locales-$pkg_locale");
+ $o->pkg_install(map { $_->name } @pkgs) if @pkgs;
+
+ lang::write_and_install($o->{locale}, $o->do_pkgs);
+ if (!$timezone_manually_set) {
+ delete $o->{timezone};
+ install::any::preConfigureTimezone($o); #- now we can precise the timezone thanks to the country
+ }
+ },
+ };
+ push @l, {
+ group => N("System"),
+ label => N("Timezone"),
+ val => sub { $o->{timezone}{timezone} },
+ clicked => sub { $timezone_manually_set = $o->configureTimezone(1) || $timezone_manually_set },
+ };
+
+ push @l, {
+ group => N("System"),
+ label => N("Mouse"),
+ val => sub { translate($o->{mouse}{type}) . ' ' . translate($o->{mouse}{name}) },
+ clicked => sub { selectMouse($o, 1); mouse::write($o->do_pkgs, $o->{mouse}) },
+ };
+
+
+ my @sound_cards = detect_devices::getSoundDevices();
+
+ my $sound_index = 0;
+ foreach my $device (@sound_cards) {
+ $device->{sound_slot_index} = $sound_index;
+ push @l, {
+ group => N("Hardware"),
+ label => N("Sound card"),
+ val => sub {
+ $device->{driver} && modules::module2description($device->{driver}) || $device->{description};
+ },
+ clicked => sub {
+ require harddrake::sound;
+ harddrake::sound::config($o, $o->{modules_conf}, $device);
+ },
+ };
+ $sound_index++;
+ }
+
+ if (!@sound_cards && ($o->{rpmsrate_flags_chosen}{CAT_GAMES} || $o->{rpmsrate_flags_chosen}{CAT_AUDIO})) {
+ #- if no sound card are detected AND the user selected things needing a sound card,
+ #- propose a special case for ISA cards
+ push @l, {
+ group => N("Hardware"),
+ label => N("Sound card"),
+ val => sub {},
+ clicked => sub {
+ if ($o->ask_yesorno('', N("Do you have an ISA sound card?"))) {
+ $o->do_pkgs->install(qw(alsa-utils sndconfig aoss));
+ $o->ask_warn('', N("Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound card"));
+ } else {
+ $o->ask_warn('', N("No sound card detected. Try \"harddrake\" after installation"));
+ }
+ },
+ };
+ }
+
+ foreach my $tv (detect_devices::getTVcards()) {
+ push @l, {
+ group => N("Hardware"),
+ label => N("TV card"),
+ val => sub { $tv->{description} },
+ clicked => sub {
+ require harddrake::v4l;
+ harddrake::v4l::config($o, $o->{modules_conf}, $tv->{driver});
+ }
+ };
+ }
+
+ push @l, {
+ group => N("Hardware"),
+ label => N("Graphical interface"),
+ val => sub { $o->{raw_X} ? Xconfig::various::to_string($o->{raw_X}) : '' },
+ clicked => sub { configureX($o, 'expert') },
+ };
+
+ push @l, {
+ group => N("Network & Internet"),
+ label => N("Network"),
+ val => sub { $o->{net}{type} },
+ clicked => sub {
+ require network::netconnect;
+ network::netconnect::real_main($o->{net}, $o, $o->{modules_conf});
+ },
+ };
+
+ $o->{miscellaneous} ||= {};
+ push @l, {
+ group => N("Network & Internet"),
+ label => N("Proxies"),
+ val => sub { $o->{miscellaneous}{http_proxy} || $o->{miscellaneous}{ftp_proxy} ? N("configured") : N("not configured") },
+ clicked => sub {
+ require network::network;
+ network::network::miscellaneous_choose($o, $o->{miscellaneous});
+ network::network::proxy_configure($o->{miscellaneous}) if !$::testing;
+ },
+ };
+
+ push @l, {
+ group => N("Security"),
+ label => N("Security Level"),
+ val => sub {
+ require security::level;
+ security::level::to_string($o->{security});
+ },
+ clicked => sub {
+ require security::level;
+ security::level::level_choose($o, \$o->{security}, \$o->{libsafe}, \$o->{security_user})
+ and install::any::set_security($o);
+ },
+ };
+
+ push @l, {
+ group => N("Security"),
+ label => N("Firewall"),
+ val => sub {
+ require network::shorewall;
+ my $shorewall = network::shorewall::read();
+ $shorewall && !$shorewall->{disabled} ? N("activated") : N("disabled");
+ },
+ clicked => sub {
+ require network::drakfirewall;
+ if (my @rc = network::drakfirewall::main($o, $o->{security} <= 3)) {
+ $o->{firewall_ports} = !$rc[0] && $rc[1];
+ }
+ },
+ } if detect_devices::get_net_interfaces();
+
+ push @l, {
+ group => N("Boot"),
+ label => N("Bootloader"),
+ val => sub {
+ #-PO: example: lilo-graphic on /dev/hda1
+ N("%s on %s", $o->{bootloader}{method}, $o->{bootloader}{boot});
+ },
+ clicked => sub {
+ any::setupBootloader($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
+ any::installBootloader($o, $o->{bootloader}, $o->{all_hds});
+ },
+ };
+
+ push @l, {
+ group => N("System"),
+ label => N("Services"),
+ val => sub {
+ require services;
+ my ($l, $activated) = services::services();
+ N("Services: %d activated for %d registered", int(@$activated), int(@$l));
+ },
+ clicked => sub {
+ require services;
+ $o->{services} = services::ask($o) and services::doit($o, $o->{services});
+ },
+ };
+
+ my $check_complete = sub {
+ require install::pkgs;
+ my $p = install::pkgs::packageByName($o->{packages}, 'task-x11');
+ $o->{raw_X} || !$::testing && $p && !$p->flag_installed ||
+ $o->ask_yesorno('', N("You have not configured X. Are you sure you really want this?"));
+ };
+
+ $o->summary_prompt(\@l, $check_complete);
+
+ install::steps::configureTimezone($o) if !$timezone_manually_set; #- do not forget it.
+}
+
+#------------------------------------------------------------------------------
+sub setRootPassword {
+ my ($o, $clicked) = @_;
+ my $sup = $o->{superuser} ||= {};
+ $sup->{password2} ||= $sup->{password} ||= "";
+
+ if ($o->{security} >= 1 || $clicked) {
+ require authentication;
+ authentication::ask_root_password_and_authentication($o, $o->{net}, $sup, $o->{authentication} ||= {}, $o->{meta_class}, $o->{security});
+ }
+ install::steps::setRootPassword($o);
+}
+
+#------------------------------------------------------------------------------
+#-addUser
+#------------------------------------------------------------------------------
+sub addUser {
+ my ($o, $clicked) = @_;
+ $o->{users} ||= [];
+
+ if ($o->{security} < 1) {
+ push @{$o->{users}}, { password => 'mandrake', realname => 'default', icon => 'automagic' }
+ if !member('mandrake', map { $_->{name} } @{$o->{users}});
+ }
+ if ($o->{security} >= 1 || $clicked) {
+ my @suggested_names = @{$o->{users}} ? () : grep { !/^\./ && $_ ne 'lost+found' && -d "$::prefix/home/$_" } all("$::prefix/home");
+ any::ask_users($o, $o->{users}, $o->{security}, \@suggested_names);
+ }
+ add2hash($o, any::get_autologin());
+ any::autologin($o, $o);
+ any::set_autologin($o->do_pkgs, $o->{autologin}, $o->{desktop}) if $::globetrotter;
+
+ install::steps::addUser($o);
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloaderBefore {
+ my ($o) = @_;
+ my $_w = $o->wait_message('', N("Preparing bootloader..."));
+ $o->SUPER::setupBootloaderBefore;
+}
+
+#------------------------------------------------------------------------------
+sub setupBootloader {
+ my ($o) = @_;
+ if (arch() =~ /ppc/) {
+ if (detect_devices::get_mac_generation() !~ /NewWorld/ &&
+ detect_devices::get_mac_model() !~ /IBM/) {
+ $o->ask_warn('', N("You appear to have an OldWorld or Unknown machine, the yaboot bootloader will not work for you. The install will continue, but you'll need to use BootX or some other means to boot your machine. The kernel argument for the root fs is: root=%s", '/dev/' . fs::get::root_($o->{fstab})->{device}));
+ log::l("OldWorld or Unknown Machine - no yaboot setup");
+ return;
+ }
+ }
+ if (arch() =~ /^alpha/) {
+ $o->ask_yesorno('', N("Do you want to use aboot?"), 1) or return;
+ catch_cdie { $o->SUPER::setupBootloader } sub {
+ $o->ask_yesorno('',
+N("Error installing aboot,
+try to force installation even if that destroys the first partition?"));
+ };
+ } else {
+ any::setupBootloader_simple($o, $o->{bootloader}, $o->{all_hds}, $o->{fstab}, $o->{security}) or return;
+ any::installBootloader($o, $o->{bootloader}, $o->{all_hds}) or die "already displayed";
+ }
+}
+
+sub miscellaneous {
+ my ($o, $_clicked) = @_;
+
+ if ($o->{meta_class} ne 'desktop' && $o->{meta_class} ne 'firewall' && !$o->{isUpgrade}) {
+ require security::level;
+ security::level::level_choose($o, \$o->{security}, \$o->{libsafe}, \$o->{security_user});
+
+ if ($o->{security} > 2 && find { $_->{fs_type} eq 'vfat' } @{$o->{fstab}}) {
+ $o->ask_okcancel('', N("In this security level, access to the files in the Windows partition is restricted to the administrator."))
+ or goto &miscellaneous;
+ }
+ }
+
+ install::steps::miscellaneous($o);
+}
+
+#------------------------------------------------------------------------------
+sub configureX {
+ my ($o, $expert) = @_;
+
+ install::steps::configureXBefore($o);
+ symlink "$::prefix/etc/gtk", "/etc/gtk";
+
+ require Xconfig::main;
+ my ($raw_X) = Xconfig::main::configure_everything_or_configure_chooser($o, install::any::X_options_from_o($o), !$expert, $o->{keyboard}, $o->{mouse});
+ if ($raw_X) {
+ $o->{raw_X} = $raw_X;
+ install::steps::configureXAfter($o);
+ }
+}
+
+#------------------------------------------------------------------------------
+sub generateAutoInstFloppy {
+ my ($o, $replay) = @_;
+ my $img = install::any::getAndSaveAutoInstallFloppies($o, $replay) or return;
+
+ my $floppy = detect_devices::floppy();
+ $o->ask_okcancel('', N("Insert a blank floppy in drive %s", $floppy), 1) or return;
+
+ my $_w = $o->wait_message('', N("Creating auto install floppy..."));
+ require install::commands;
+ install::commands::dd("if=$img", 'of=' . devices::make($floppy));
+ common::sync();
+}
+
+#------------------------------------------------------------------------------
+sub exitInstall {
+ my ($o, $alldone) = @_;
+
+ return $o->{step} = '' if !$alldone && !$o->ask_yesorno(N("Warning"),
+N("Some steps are not completed.
+
+Do you really want to quit now?"), 0);
+
+ install::steps::exitInstall($o);
+
+ $o->exit unless $alldone;
+
+ $o->ask_from_no_check(
+ {
+ title => N("Congratulations"),
+ icon => 'banner-exit',
+ messages => formatAlaTeX(messages::install_completed()),
+ interactive_help_id => 'exitInstall',
+ ok => $::local_install ? N("Quit") : N("Reboot"),
+ },
+ [
+ if_(arch() !~ /^ppc/,
+ { val => \ (my $_t1 = N("Generate auto install floppy")), clicked => sub {
+ my $t = $o->ask_from_list_(N("Generate auto install floppy"),
+N("The auto install can be fully automated if wanted,
+in that case it will take over the hard drive!!
+(this is meant for installing on another box).
+
+You may prefer to replay the installation.
+"), [ N_("Replay"), N_("Automated") ]);
+ $t and $o->generateAutoInstFloppy($t eq 'Replay');
+ }, advanced => 1 }),
+ { val => \ (my $_t2 = N("Save packages selection")), clicked => sub { install::any::g_default_packages($o) }, advanced => 1 },
+ ]
+ ) if $alldone;
+}
+
+
+#-######################################################################################
+#- Misc Steps Functions
+#-######################################################################################
+
+1;
diff --git a/perl-install/install/steps_list.pm b/perl-install/install/steps_list.pm
new file mode 100644
index 000000000..c298233be
--- /dev/null
+++ b/perl-install/install/steps_list.pm
@@ -0,0 +1,49 @@
+package install::steps_list;
+
+use strict;
+use vars qw(%installSteps @orderedInstallSteps);
+use common;
+
+#-######################################################################################
+#- Steps table
+#-######################################################################################
+{
+ my @installStepsFields = qw(text redoable onError hidden needs);
+ #entered reachable toBeDone next done;
+ my @installSteps = (
+ selectLanguage => [
+ #-PO: please keep the following messages very short: they must fit in the left list of the installer!!!
+ N_("_: Keep these entry short\nLanguage"), 1, 1, '', '' ],
+ acceptLicense => [ N_("_: Keep these entry short\nLicense"), 1, -1, '', '' ],
+ selectMouse => [ N_("_: Keep these entry short\nMouse"), 1, 1, '1', '' ],
+ setupSCSI => [ N_("_: Keep these entry short\nHard drive detection"), 1, 0, '1', '' ],
+ selectInstallClass => [ N_("_: Keep these entry short\nInstallation class"), 1, 1, '1', '' ],
+ selectKeyboard => [ N_("_: Keep these entry short\nKeyboard"), 1, 1, '1' ],
+ miscellaneous => [ N_("_: Keep these entry short\nSecurity"), 1, 1, '', '' ],
+ doPartitionDisks => [ N_("_: Keep these entry short\nPartitioning"), 1, 0, '', "selectInstallClass" ],
+ formatPartitions => [ N_("_: Keep these entry short\nFormatting"), 1, -1, '1', "doPartitionDisks" ],
+ choosePackages => [ N_("_: Keep these entry short\nChoosing packages"), 1, -2, '1', "formatPartitions" ],
+ installPackages => [ N_("_: Keep these entry short\nInstalling"), 1, -1, '', ["formatPartitions", "selectInstallClass"] ],
+ setRootPassword => [ N_("_: Keep these entry short\nAuthentication"), 1, 1, '', "installPackages" ],
+ addUser => [ N_("_: Keep these entry short\nUsers"), 1, 1, '', "installPackages" ],
+ configureNetwork => [ N_("_: Keep these entry short\nNetworking"), 1, 1, '1', "formatPartitions" ],
+ setupBootloader => [ N_("_: Keep these entry short\nBootloader"), 1, 0, '', "installPackages" ],
+ configureX => [ N_("_: Keep these entry short\nConfigure X"), 1, 1, '1', ["formatPartitions", "setupBootloader"] ],
+ summary => [ N_("_: Keep these entry short\nSummary"), 1, 0, '', "installPackages" ],
+ configureServices => [ N_("_: Keep these entry short\nServices"), 1, 1, '1', "installPackages" ],
+ installUpdates => [ N_("_: Keep these entry short\nUpdates"), 1, 1, '', ["installPackages", "configureNetwork", "summary"] ],
+ exitInstall => [ N_("_: Keep these entry short\nExit"), 0, 0, '', '' ],
+);
+ for (my $i = 0; $i < @installSteps; $i += 2) {
+ my %h; @h{@installStepsFields} = @{ $installSteps[$i + 1] };
+ $h{entered} = 0;
+ $h{onError} = $installSteps[$i + 2 * $h{onError}];
+ $h{reachable} = !$h{needs};
+ $installSteps{$installSteps[$i]} = \%h;
+ push @orderedInstallSteps, $installSteps[$i];
+ }
+ $installSteps{first} = $installSteps[0];
+}
+
+
+1;
diff --git a/perl-install/install/steps_stdio.pm b/perl-install/install/steps_stdio.pm
new file mode 100644
index 000000000..de79d85b4
--- /dev/null
+++ b/perl-install/install/steps_stdio.pm
@@ -0,0 +1,36 @@
+package install::steps_stdio; # $Id: steps_stdio.pm 26761 2006-04-28 15:47:50Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(install::steps_interactive interactive::stdio);
+
+use common;
+use interactive::stdio;
+use install::steps_interactive;
+use lang;
+
+sub new($$) {
+ my ($type, $o) = @_;
+
+ (bless {}, ref($type) || $type)->SUPER::new($o);
+}
+
+sub charsetChanged {
+ my ($o) = @_;
+ lang::load_console_font($o->{locale});
+}
+
+sub enteringStep {
+ my ($o, $step) = @_;
+ print N("Entering step `%s'\n", translate($o->{steps}{$step}{text}));
+ $o->SUPER::enteringStep($step);
+}
+sub leavingStep {
+ my ($o, $step) = @_;
+ $o->SUPER::leavingStep($step);
+ print "--------\n";
+}
+
+1;
diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm
new file mode 100644
index 000000000..17d327d95
--- /dev/null
+++ b/perl-install/interactive.pm
@@ -0,0 +1,643 @@
+package interactive; # $Id: interactive.pm 109258 2007-01-15 17:10:33Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use do_pkgs;
+
+#- minimal example using interactive:
+#
+#- > use lib qw(/usr/lib/libDrakX);
+#- > use interactive;
+#- > my $in = interactive->vnew;
+#- > $in->ask_okcancel('title', 'question');
+#- > $in->exit;
+
+#- ask_from_ takes global options ($common):
+#- title => window title
+#- messages => message displayed in the upper part of the window
+#- ok => force the name of the "Ok"/"Next" button
+#- cancel => force the name of the "Cancel"/"Previous" button
+#- focus_cancel => force focus on the "Cancel" button
+#- focus_first => (deprecated) force focus on the first entry
+#- ok_disabled => function returning wether {ok} should be disabled (grayed)
+#- validate => function called when {ok} is pressed. If it returns false, the first entry is focused, otherwise it quits
+#- advanced => (deprecated) function called when the "advanced" expander is toggled
+#- advanced_messages => (deprecated) message displayed when "Advanced" is pressed
+#- advanced_label => (deprecated) force the name of the "Advanced" button
+#- advanced_label_close => (deprecated) force the name of the "Basic" button
+#- advanced_state => (deprecated) if set to 1, force the "Advanced" part of the dialog to be opened initially
+#- callbacks => (deprecated) functions called when something happen: complete advanced ok_disabled
+
+#- ask_from_ takes a list of entries with fields:
+#- val => reference to the value
+#- label => description
+#- title => a boolean: whether the label should be displayed as a title (see GNOME's HIG)
+#- icon => icon to put before the description
+#- help => tooltip
+#- advanced => (deprecated) wether it is shown in by default or only in advanced mode
+#- focus_out => function called when the entry is focused out
+#- changed => function called when the entry is modified
+#- validate => function called when "Ok" is pressed. If it returns false, this entry is focused, otherwise it quits
+#- disabled => function returning wether it should be disabled (grayed)
+#- focus => function returning wether it should be focused
+#- gtk => gtk preferences
+#- type =>
+#- button => (with clicked or clicked_may_quit)
+#- (type defaults to button if clicked or clicked_may_quit is there)
+#- (val need not be a reference) (if clicked_may_quit return true, it's as if "Ok" was pressed)
+#- label => (val need not be a reference) (type defaults to label if val is not a reference)
+#- bool (with "text" or "image" (which overrides text) giving an image filename)
+#- range (with min, max, SpinButton)
+#- combo (with list, not_edit, format)
+#- list (with list, icon2f (aka icon), separator (aka tree), format (aka pre_format function),
+#- help can be a hash or a function,
+#- tree_expanded boolean telling wether the tree should be wide open by default
+#- quit_if_double_click boolean
+#- allow_empty_list disables the special cases for 0 and 1 element lists
+#- image2f is a subroutine which takes a value of the list as parameter, and returns image_file_name
+#- entry (the default) (with hidden)
+#- expander (with text, expanded, message, children(a list of sub entries))
+#
+#- heritate from this class and you'll get all made interactivity for same steps.
+#- for this you need to provide
+#- - ask_from_listW(o, title, messages, arrayref, default) returns one string of arrayref
+#-
+#- where
+#- - o is the object
+#- - title is a string
+#- - messages is an refarray of strings
+#- - default is an optional string (default is in arrayref)
+#- - arrayref is an arrayref of strings
+#- - arrayref2 contains booleans telling the default state,
+#-
+#- ask_from_list and ask_from_list_ are wrappers around ask_from_biglist and ask_from_smalllist
+#-
+#- ask_from_list_ just translate arrayref before calling ask_from_list and untranslate the result
+#-
+#- ask_from_listW should handle differently small lists and big ones.
+#-
+
+
+#-######################################################################################
+#- OO Stuff
+#-######################################################################################
+our @ISA = qw(do_pkgs);
+
+sub new($) {
+ my ($type) = @_;
+
+ bless {}, ref($type) || $type;
+}
+
+sub vnew {
+ my ($_type, $o_su, $o_icon) = @_;
+ my $su = $o_su eq "su";
+ if ($ENV{INTERACTIVE_HTTP}) {
+ require interactive::http;
+ return interactive::http->new;
+ }
+ require c;
+ if ($su) {
+ $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
+ $su = '' if $::testing || $ENV{TESTING};
+ }
+ require_root_capability() if $su;
+ if (check_for_xserver()) {
+ eval { require interactive::gtk };
+ if (!$@) {
+ my $o = interactive::gtk->new;
+ if ($o_icon && $o_icon ne 'default' && !$::isWizard) { $o->{icon} = $o_icon } else { undef $o->{icon} }
+ return $o;
+ } elsif ($::testing) {
+ die;
+ }
+ }
+
+ require interactive::curses;
+ interactive::curses->new;
+}
+
+sub ok { N_("Ok") }
+sub cancel { N_("Cancel") }
+
+sub markup_parse {
+ my ($s) = @_;
+ my @l;
+ my @attrs;
+
+ while ($s) {
+ if ($s =~ s!^<(\w+)(\s+[^>]*?)?>!!s) {
+ push @attrs, [ $1, $2 ];
+ } elsif ($s =~ s!^</(\w+)>!!) {
+ my $previous = pop @attrs;
+ $previous->[0] eq $1 or return;
+ } elsif ($s =~ s!^(&(amp|lt|gt);)!!) {
+ push @l, [ $1, @attrs ];
+ } elsif ($s =~ s!^([^<>&]+)!!s) {
+ push @l, [ $1, @attrs ];
+ } else {
+ return;
+ }
+ }
+ markup_simplify(\@l);
+ \@l;
+}
+
+sub markup_simplify {
+ my ($l) = @_;
+ foreach (@$l) {
+ my ($s, @attrs) = @$_;
+ my %attrs = map {
+ my ($tag, $attrs) = @$_;
+ my $long = { b => { weight => "bold" },
+ i => { style => "italic" },
+ big => { size => 'larger' },
+ }->{$tag};
+ $long ? %$long : map { /^(.*?)=['"]?(.*?)['"]?$/ } split(' ', $attrs);
+ } @attrs;
+
+ $s = +{ '&amp;' => '&', '&lt;' => '<', '&gt;' => '>' }->{$s} || $s;
+
+ @$_ = ($s, if_(%attrs, \%attrs));
+ }
+}
+
+sub markup_remove {
+ my ($s) = @_;
+ if (my $l = markup_parse($s)) {
+ join('', map { $_->[0] } @$l);
+ } else {
+ $s;
+ }
+}
+
+#- drop markup as fallback
+sub adapt_markup {
+ my ($_o, $s) = @_;
+ markup_remove($s);
+}
+
+sub enter_console {}
+sub leave_console {}
+sub suspend {}
+sub resume {}
+sub end {}
+sub exit {
+ if ($::isStandalone) {
+ require standalone;
+ standalone::exit($_[0]);
+ } else {
+ exit($_[0]);
+ }
+}
+
+
+#-######################################################################################
+#- Interactive functions
+#-######################################################################################
+sub ask_warn {
+ my ($o, $title, $message, $o_icon) = @_;
+ ask_warn_($o, { title => $title, messages => $message, icon => $o_icon });
+}
+sub ask_yesorno {
+ my ($o, $title, $message, $b_def) = @_;
+ ask_yesorno_($o, { title => $title, messages => $message }, $b_def);
+}
+sub ask_okcancel {
+ my ($o, $title, $message, $b_def, $o_icon) = @_;
+ ask_okcancel_($o, { title => $title, messages => $message, icon => $o_icon }, $b_def);
+}
+
+sub ask_warn_ {
+ my ($o, $common) = @_;
+ ask_from_listf_raw_no_check($o, $common, \&translate, [ $o->ok ]);
+}
+
+sub ask_yesorno_ {
+ my ($o, $common, $b_def) = @_;
+ $common->{cancel} = '';
+ ask_from_listf_raw($o, $common, \&translate, [ N_("Yes"), N_("No") ], $b_def ? "Yes" : "No") eq "Yes";
+}
+
+sub ask_okcancel_ {
+ my ($o, $common, $b_def) = @_;
+
+ if ($::isWizard) {
+ $common->{focus_cancel} = !$b_def;
+ ask_from_no_check($o, $common, []);
+ } else {
+ ask_from_listf_raw($o, $common, \&translate, [ $o->ok, $o->cancel ], $b_def ? $o->ok : $o->cancel) eq $o->ok;
+ }
+}
+
+sub ask_filename {
+ my ($o, $common) = @_;
+ $common->{want_a_dir} = 0;
+ $o->ask_fileW($common);
+}
+
+sub ask_directory {
+ my ($o, $common) = @_;
+ $common->{want_a_dir} = 1;
+ $o->ask_fileW($common);
+}
+
+#- predecated
+sub ask_file {
+ my ($o, $title, $o_dir) = @_;
+ $o->ask_fileW({ title => $title, want_a_dir => 0, directory => $o_dir });
+}
+
+sub ask_fileW {
+ my ($o, $common) = @_;
+ $o->ask_from_entry($common->{title}, $common->{message} || N("Choose a file"));
+}
+
+sub ask_from_list {
+ my ($o, $title, $message, $l, $o_def) = @_;
+ ask_from_listf($o, $title, $message, undef, $l, $o_def);
+}
+
+sub ask_from_list_ {
+ my ($o, $title, $message, $l, $o_def) = @_;
+ ask_from_listf($o, $title, $message, \&translate, $l, $o_def);
+}
+
+sub ask_from_listf_ {
+ my ($o, $title, $message, $f, $l, $o_def) = @_;
+ ask_from_listf($o, $title, $message, sub { translate($f->(@_)) }, $l, $o_def);
+}
+sub ask_from_listf {
+ my ($o, $title, $message, $f, $l, $o_def) = @_;
+ ask_from_listf_raw($o, { title => $title, messages => $message }, $f, $l, $o_def);
+}
+sub ask_from_listf_raw {
+ my ($_o, $_common, $_f, $l, $_o_def) = @_;
+ @$l == 0 and die "ask_from_list: empty list\n" . backtrace();
+ @$l == 1 and return $l->[0];
+ goto &ask_from_listf_raw_no_check;
+}
+
+sub ask_from_listf_raw_no_check {
+ my ($o, $common, $f, $l, $o_def) = @_;
+
+ if (@$l <= ($::isWizard ? 1 : 2)) {
+ my ($ok, $cancel) = map { $_ && may_apply($f, $_) } @$l;
+ if (length "$ok$cancel" < 70) {
+ my $ret = eval {
+ put_in_hash($common, { ok => $ok,
+ if_($cancel, cancel => $cancel, focus_cancel => $o_def eq $l->[1]) });
+ ask_from_no_check($o, $common, []) ? $l->[0] : $l->[1];
+ };
+ die if $@ && $@ !~ /^wizcancel/;
+ return $@ ? undef : $ret;
+ }
+ }
+ ask_from_no_check($o, $common, [ { val => \$o_def, type => 'list', list => $l, format => $f } ]) && $o_def;
+}
+
+sub ask_from_treelist {
+ my ($o, $title, $message, $separator, $l, $o_def) = @_;
+ ask_from_treelistf($o, $title, $message, $separator, undef, $l, $o_def);
+}
+sub ask_from_treelist_ {
+ my ($o, $title, $message, $separator, $l, $o_def) = @_;
+ my $transl = sub { join '|', map { translate($_) } split(quotemeta($separator), $_[0]) };
+ ask_from_treelistf($o, $title, $message, $separator, $transl, $l, $o_def);
+}
+sub ask_from_treelistf {
+ my ($o, $title, $message, $separator, $f, $l, $o_def) = @_;
+ ask_from($o, $title, $message, [ { val => \$o_def, separator => $separator, list => $l, format => $f, sort => 1 } ]) or return;
+ $o_def;
+}
+
+sub ask_many_from_list {
+ my ($o, $title, $message, @l) = @_;
+ @l = grep { @{$_->{list}} } @l or return '';
+ foreach my $h (@l) {
+ $h->{e}{$_} = {
+ text => may_apply($h->{label}, $_),
+ val => $h->{val} ? $h->{val}->($_) : do {
+ my $i =
+ $h->{value} ? $h->{value}->($_) :
+ $h->{values} ? member($_, @{$h->{values}}) : 0;
+ \$i;
+ },
+ type => 'bool',
+ help => may_apply($h->{help}, $_, ''),
+ icon => may_apply($h->{icon2f}, $_, ''),
+ } foreach @{$h->{list}};
+ if ($h->{sort}) {
+ $h->{list} = [ sort { $h->{e}{$a}{text} cmp $h->{e}{$b}{text} } @{$h->{list}} ];
+ }
+ }
+ $o->ask_from($title, $message, [ map { my $h = $_; map { $h->{e}{$_} } @{$h->{list}} } @l ]) or return;
+
+ @l = map {
+ my $h = $_;
+ [ grep { ${$h->{e}{$_}{val}} } @{$h->{list}} ];
+ } @l;
+ wantarray() ? @l : $l[0];
+}
+
+sub ask_from_entry {
+ my ($o, $title, $message, %callback) = @_;
+ first(ask_from_entries($o, $title, $message, [''], %callback));
+}
+sub ask_from_entries {
+ my ($o, $title, $message, $l, %callback) = @_;
+
+ my @l = map { my $i = ''; { label => $_, val => \$i } } @$l;
+
+ $o->ask_from_({ title => $title, messages => $message, %callback,
+ focus_first => 1 }, \@l) or return;
+ map { ${$_->{val}} } @l;
+}
+
+sub ask_from__add_modify_remove {
+ my ($o, $title, $message, $l, %callback) = @_;
+ die "ask_from__add_modify_remove only handles one item" if @$l != 1;
+
+ $callback{$_} or internal_error("missing callback $_") foreach qw(Add Modify Remove);
+
+ if ($o->can('ask_from__add_modify_removeW')) {
+ $o->ask_from__add_modify_removeW($title, $message, $l, %callback);
+ } else {
+ my $e = $l->[0];
+ my $chosen_element;
+ put_in_hash($e, { allow_empty_list => 1, val => \$chosen_element, type => 'list' });
+
+ while (1) {
+ my $continue;
+ my @l = (@$l,
+ map { my $s = $_; { val => translate($_), clicked_may_quit => sub {
+ my $r = $callback{$s}->($chosen_element);
+ defined $r or return;
+ $continue = 1;
+ } } }
+ N_("Add"), if_(@{$e->{list}} > 0, N_("Modify"), N_("Remove")));
+ $o->ask_from_({ title => $title, messages => $message, %callback }, \@l) or return;
+ return 1 if !$continue;
+ }
+ }
+}
+
+
+#- can get a hash of callback: validate
+#- moreove if you pass a hash with a field list -> combo
+#- if you pass a hash with a field hidden -> emulate stty -echo
+sub ask_from {
+ my ($o, $title, $message, $l, %callback) = @_;
+ ask_from_($o, { title => $title, messages => $message, %callback }, $l);
+}
+
+
+sub _normalize_entry {
+ my ($o, $e) = @_;
+
+ if (my $li = $e->{list}) {
+ ref($e->{val}) =~ /SCALAR|REF/ or internal_error($e->{val} ? "field {val} must be a reference (it is $e->{val})" : "field {val} is mandatory"); #-#
+ if ($e->{sort} || @$li > 10 && !exists $e->{sort}) {
+ my @l2 = map { may_apply($e->{format}, $_) } @$li;
+ my @places = sort { $l2[$a] cmp $l2[$b] } 0 .. $#l2;
+ $e->{list} = $li = [ map { $li->[$_] } @places ];
+ }
+ $e->{type} = 'iconlist' if $e->{icon2f};
+ $e->{type} = 'treelist' if $e->{separator} && $e->{type} ne 'combo';
+ add2hash_($e, { not_edit => 1 });
+ $e->{type} ||= 'combo';
+
+ if (!$e->{not_edit}) {
+ die q(when using "not_edit" you must use strings, not a data structure) if ref(${$e->{val}}) || any { ref $_ } @$li;
+ }
+ if ($e->{type} ne 'combo' || $e->{not_edit}) {
+ ${$e->{val}} = $li->[0] if !member(may_apply($e->{format}, ${$e->{val}}), map { may_apply($e->{format}, $_) } @$li);
+ }
+ } elsif ($e->{type} eq 'range') {
+ $e->{min} <= $e->{max} or die "bad range min $e->{min} > max $e->{max} (called from " . join(':', caller()) . ")";
+ ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
+ } elsif ($e->{type} eq 'button' || $e->{clicked} || $e->{clicked_may_quit}) {
+ $e->{type} = 'button';
+ $e->{clicked_may_quit} ||= $e->{clicked} ? sub { $e->{clicked}(); 0 } : sub {};
+ $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
+ } elsif (!$e->{type} && !$e->{val}) {
+ $e->{type} = 'only_label';
+ $e->{val} = \ (my $_v = $o->adapt_markup(delete $e->{label}));
+ } elsif ($e->{type} eq 'label' || !ref($e->{val})) {
+ $e->{type} = 'label';
+ $e->{val} = \ (my $_v = $e->{val}) if !ref($e->{val});
+ } elsif ($e->{type} eq 'expander') {
+ _normalize_entries($o, $e->{children});
+ } else {
+ $e->{type} ||= 'entry';
+ }
+ $e->{label} = $o->adapt_markup($e->{label}) if $e->{label};
+}
+
+sub _normalize_entries {
+ my ($o, $l) = @_;
+
+ ref($l) eq 'ARRAY' or internal_error('ask_from_normalize');
+
+ _normalize_entry($o, $_) foreach @$l;
+
+ #- do not display empty lists and one element lists
+ @$l = grep {
+ if ($_->{list} && $_->{not_edit} && !$_->{allow_empty_list}) {
+ if (!@{$_->{list}}) {
+ eval {
+ require 'log.pm'; #- "require log" causes some pb, perl thinking that "log" is the log() function
+ log::l("ask_from_normalize: empty list for $_->{label}\n" . backtrace());
+ };
+ }
+ @{$_->{list}} > 1;
+ } else {
+ 1;
+ }
+ } @$l;
+}
+
+sub ask_from_normalize {
+ my ($o, $common, $l) = @_;
+
+ _normalize_entries($o, $l);
+
+ $l->[0]{focus} = sub { 1 } if $common->{focus_first};
+
+ if (!$common->{title} && $::isStandalone) {
+ ($common->{title} = $0) =~ s|.*/||;
+ }
+ $common->{interactive_help} ||= $o->{interactive_help};
+ $common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
+ $common->{advanced_label} ||= N("Advanced");
+ $common->{advanced_label_close} and log::l("advanced_label_close is not used anymore");
+ $common->{$_} = $common->{$_} ? [ map { $o->adapt_markup($_) } deref($common->{$_}) ] : []
+ foreach qw(messages advanced_messages);
+
+ if ($common->{callbacks}) {
+ $common->{callbacks}{changed} and internal_error(q(global "changed" callback is not handled anymore, use a per-entry changed callback));
+ $common->{callbacks}{focus_out} and internal_error(q(global "focus_out" callback is not handled anymore, use a per-entry focus_out callback));
+ add2hash($common, delete $common->{callbacks});
+ }
+ if (my $complete = delete $common->{complete}) {
+ $common->{validate} = sub { !first($complete->()) };
+ }
+ add2hash_($common, { validate => sub { 1 } });
+}
+
+sub migrate_advanced {
+ my ($common, $l) = @_;
+ my ($l1, $l2) = partition { !$_->{advanced} } @$l;
+ my $advanced_message = join("\n", @{$common->{advanced_messages}});
+ [ @$l1, if_(@$l2, { type => 'expander',
+ if_($advanced_message, message => $advanced_message),
+ text => $common->{advanced_label},
+ expanded => $common->{advanced_state},
+ children => $l2,
+ }) ];
+}
+
+sub ask_from_ {
+ my ($o, $common, $l) = @_;
+ ask_from_normalize($o, $common, $l);
+ @$l or return 1;
+ $common->{cancel} = '' if !defined wantarray();
+ ask_from_real($o, $common, $l);
+}
+sub ask_from_no_check {
+ my ($o, $common, $l) = @_;
+ ask_from_normalize($o, $common, $l);
+ $common->{cancel} = '' if !defined wantarray();
+ my $l_ = migrate_advanced($common, $l);
+ $o->ask_fromW($common, $l_);
+}
+sub ask_from_real {
+ my ($o, $common, $l) = @_;
+ my $l_ = migrate_advanced($common, $l);
+ my $v = $o->ask_fromW($common, $l_);
+
+ foreach my $e (@$l) {
+ if ($e->{type} eq 'range') {
+ ${$e->{val}} = max($e->{min}, min(${$e->{val}}, $e->{max}));
+ }
+ }
+
+ %$common = ();
+ $v;
+}
+
+
+sub ask_browse_tree_info {
+ my ($o, $title, $message, $common) = @_;
+ $common->{interactive_help} ||= $common->{interactive_help_id} && $o->interactive_help_sub_get_id($common->{interactive_help_id});
+ add2hash_($common, { ok => $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok"),
+ cancel => $::isWizard ? N("Previous") : N("Cancel") });
+ add2hash_($common, { title => $title, message => $message });
+ add2hash_($common, { grep_allowed_to_toggle => sub { @_ },
+ grep_unselected => sub { grep { $common->{node_state}($_) eq 'unselected' } @_ },
+ check_interactive_to_toggle => sub { 1 },
+ toggle_nodes => sub {
+ my ($set_state, @nodes) = @_;
+ my $new_state = !$common->{grep_unselected}($nodes[0]) ? 'selected' : 'unselected';
+ $set_state->($_, $new_state) foreach @nodes;
+ },
+ });
+ $o->ask_browse_tree_info_refW($common);
+}
+sub ask_browse_tree_info_refW { #- default definition, do not use with too many items (memory consuming)
+ my ($o, $common) = @_;
+ my ($l, $v, $h) = ([], [], {});
+ $common->{build_tree}(sub {
+ my ($node) = $common->{grep_allowed_to_toggle}(@_);
+ if (my $state = $node && $common->{node_state}($node)) {
+ push @$l, $node;
+ $state eq 'selected' and push @$v, $node;
+ $h->{$node} = $state eq 'selected';
+ }
+ }, 'flat');
+ add2hash_($common, { list => $l, #- TODO interactivity of toggle is missing
+ values => $v,
+ help => sub { $common->{get_info}($_[0]) },
+ });
+ my ($new_v) = $o->ask_many_from_list($common->{title}, $common->{message}, $common) or return;
+ $common->{toggle_nodes}(sub {}, grep { ! delete $h->{$_} } @$new_v);
+ $common->{toggle_nodes}(sub {}, grep { $h->{$_} } keys %$h);
+ 1;
+}
+
+sub wait_message {
+ my ($o, $title, $message, $b_temp) = @_;
+
+ my $w = $o->wait_messageW($title, N("Please wait"), $message);
+ push @tempory::objects, $w if $b_temp;
+ my $b = before_leaving { $o->wait_message_endW($w) };
+
+ #- enable access through set
+ MDK::Common::Func::add_f4before_leaving(sub { $o->wait_message_nextW($_[1], $w) }, $b, 'set');
+ $b;
+}
+
+
+sub wait_message_with_progress_bar {
+ my ($in, $o_title) = @_;
+
+ my $w = $in->wait_message($o_title, '');
+ my $last_msg;
+ $w, sub {
+ my ($msg, $current, $total) = @_;
+ if ($msg) {
+ $w->set($last_msg = $msg);
+ }
+ if ($total) {
+ $w or internal_error('You must first give some text to display');
+ $w->set(join("\n", $last_msg, "$current / $total"));
+ }
+ };
+}
+
+sub kill() {}
+
+
+
+sub helper_separator_tree_to_tree {
+ my ($separator, $list, $formatted_list) = @_;
+ my $sep = quotemeta $separator;
+ my $tree = {};
+
+ each_index {
+ my @l = split $sep;
+ my $leaf = pop @l;
+ my $node = $tree;
+ foreach (@l) {
+ $node = $node->{$_} ||= do {
+ my $r = {};
+ push @{$node->{_order_}}, $_;
+ $r;
+ };
+ }
+ push @{$node->{_leaves_}}, [ $leaf, $list->[$::i] ];
+ ();
+ } @$formatted_list;
+
+ $tree;
+}
+
+
+sub interactive_help_sub_get_id {
+ my ($o, $id) = @_;
+ eval { $o->interactive_help_has_id($id) }
+ && sub { $o->interactive_help_get_id($id) };
+}
+
+sub interactive_help_sub_display_id {
+ my ($o, $id) = @_;
+ eval { $o->interactive_help_has_id($id) }
+ && sub { $o->ask_warn(N("Help"), $o->interactive_help_get_id($id)) };
+}
+
+1;
diff --git a/perl-install/interactive/curses.pm b/perl-install/interactive/curses.pm
new file mode 100644
index 000000000..3c1b68935
--- /dev/null
+++ b/perl-install/interactive/curses.pm
@@ -0,0 +1,591 @@
+# implementer tree
+
+# to debug, use something like
+# PERLDB_OPTS=TTY=`tty` LC_ALL=fr_FR.UTF-8 xterm -geometry 80x25 -e sh -c 'DISPLAY= perl -d t.pl'
+
+package interactive::curses; # $Id: curses.pm 148460 2007-03-23 11:34:24Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(interactive);
+
+use interactive;
+use common;
+use log;
+use Curses::UI;
+
+my $SAVEERR;
+my $stderr_file = "/tmp/curses-stderr.$$";
+my $padleft = 1;
+my $padright = 1;
+my $indent = 1;
+my $cui;
+
+sub new {
+ my ($class) = @_;
+ if ($::isInstall && !$::local_install) {
+ system('unicode_start'); #- do not use run_program, we must do it on current console
+ }
+ open $SAVEERR, ">&STDERR";
+ open STDERR, ">", common::secured_file($stderr_file);
+
+ $cui ||= Curses::UI->new('-color_support' => 1);
+ bless { cui => $cui }, $class;
+}
+
+sub enter_console { &suspend }
+sub leave_console { &end }
+sub suspend { Curses::UI->leave_curses }
+sub resume { Curses::UI->reset_curses }
+sub end { &suspend; print $SAVEERR $_ foreach cat_($stderr_file); unlink $stderr_file }
+sub exit { end(); CORE::exit($_[1] || 0) }
+END { end() }
+
+sub _messages {
+ my ($width, @messages) = @_;
+ warp_text(join("\n", @messages), $width);
+}
+
+sub _enable_disable {
+ my ($w, $disabled) = @_;
+
+ if ($disabled ? $w->{'-is-disabled'} : !$w->{'-is-disabled'}) {
+ return;
+ }
+ $w->{'-is-disabled'} = $disabled;
+
+ if ($disabled) {
+ add2hash_($w, { '-was-focusable' => $w->focusable, '-was-fg' => $w->{'-fg'}, '-was-bfg' => $w->{'-bfg'} });
+ $w->focusable(0);
+ $w->{'-fg'} = $w->{'-bfg'} = 'blue';
+ } else {
+ $w->focusable($w->{'-was-focusable'});
+ $w->{'-fg'} = $w->{'-was-fg'};
+ $w->{'-bfg'} = $w->{'-was-bfg'};
+ }
+ $w->intellidraw;
+}
+
+sub filter_widget {
+ my ($e) = @_;
+
+ if ($e->{title} || $e->{type} eq 'expander') {
+ $e->{no_indent} = 1;
+ }
+
+ $e->{type} = 'list' if $e->{type} =~ /iconlist|treelist/;
+
+ #- combo does not allow modifications
+ $e->{type} = 'entry' if $e->{type} eq 'combo' && !$e->{not_edit};
+
+ $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
+
+ $e->{default_curses} ||= delete $e->{curses};
+}
+sub filter_widgets {
+ my ($l) = @_;
+
+ filter_widget($_) foreach @$l;
+
+ map {
+ if (@$_ > 1) {
+ my $e = { type => 'checkboxes', label => $_->[0]{label}, val => \ (my $_ignored),
+ list => [ map { $_->{text} } @$_ ], children => $_ };
+ filter_widget($e);
+ $e;
+ } else {
+ @$_;
+ }
+ } common::group_by { !$_[0]{disabled} &&
+ $_[0]{type} eq 'bool' && $_[1]{type} eq 'bool'
+ && !$_[1]{label} } @$l;
+}
+
+
+sub heights {
+ my ($best, @fallbacks) = @_;
+ join(',', $best, grep { $_ < $best } @fallbacks);
+}
+
+sub entry_height {
+ my ($e) = @_;
+ to_int(max($e->{curses}{'-height'}, $e->{label_height} || 0));
+}
+
+sub compute_label_size {
+ my ($e, $available_width, $o_fixed_width) = @_;
+
+ $e->{label} or return;
+
+ my @text = _messages(min(80, $o_fixed_width || $available_width), $e->{label});
+ $e->{label_text_wrapped} = join("\n", @text);
+ $e->{label_height} = int(@text);
+ $e->{label_width} = $o_fixed_width || max(map { length } @text);
+}
+sub compute_label_sizes {
+ my ($cui, $wanted_widgets) = @_;
+
+ my $available_width = $cui->{'-width'} - 4;
+
+ foreach (@$wanted_widgets) {
+ compute_label_size($_, $available_width);
+ }
+}
+
+sub compute_size {
+ my ($e, $previous_e, $available_width, $o_labels_width) = @_;
+
+ {
+ my %c = %{$e->{default_curses} || {}};
+ $e->{curses} = \%c;
+ }
+ #- if $o_labels_width is given, it will be used
+ compute_label_size($e, $available_width, $o_labels_width);
+ $e->{curses}{'-x'} ||=
+ $previous_e && $previous_e->{same_line} ? 1 + $previous_e->{curses}{'-x'} + $previous_e->{curses}{'-width'} :
+ $e->{no_indent} ? $padleft :
+ $padleft + $indent + ($e->{label_width} ? $e->{label_width} + 1 : 0);
+
+ my $width_avail = $available_width - $e->{curses}{'-x'};
+
+ if ($e->{type} eq 'bool') {
+ my $indent = length("[X] ");
+ my @text = _messages($width_avail - $indent, $e->{text} || '');
+ $e->{curses}{'-height'} ||= heights(int(@text), 4);
+ $e->{curses}{'-width'} ||= max(map { length } @text) + $indent + 1;
+ $e->{curses}{'-label'} = join("\n", @text);
+ } elsif ($e->{type} eq 'combo') {
+ $e->{curses}{'-height'} ||= 1;
+ $e->{curses}{'-width'} ||= max(map { length } @{$e->{formatted_list}}) + 3;
+ } elsif ($e->{type} eq 'checkboxes') {
+ $e->{curses}{'-height'} ||= heights(map { $_ + 2 } int(@{$e->{formatted_list}}), 10, 4);
+ $e->{curses}{'-width'} ||= max(map { length } @{$e->{formatted_list}}) + 7;
+ } elsif ($e->{type} =~ /list/) {
+ $e->{curses}{'-height'} ||= heights(map { $_ + 2 } int(@{$e->{formatted_list}}), 5, 4);
+ $e->{curses}{'-width'} ||= max(map { length } @{$e->{formatted_list}}) + 3;
+ } elsif ($e->{type} eq 'button') {
+ my $s = sprintf('< %s >', may_apply($e->{format}, ${$e->{val}}));
+ $e->{curses}{'-width'} ||= length($s);
+ } elsif ($e->{type} eq 'expander') {
+ $e->{curses}{'-width'} ||= length("<+> $e->{text}");
+ } elsif ($e->{type} eq 'text' || $e->{type} eq 'label' || $e->{type} eq 'only_label') {
+ my @text = _messages(min(80, $width_avail - 1), ${$e->{val}}); #- -1 because of the scrollbar
+ $e->{curses}{'-focusable'} = 0;
+ $e->{curses}{'-height'} ||= heights(int(@text), 10, 4);
+ $e->{curses}{'-width'} ||= 1 + max(map { length } @text);
+ } else {
+ $e->{curses}{'-width'} ||= 20;
+ }
+ $e->{curses}{'-height'} ||= 1;
+
+}
+
+sub compute_sizes {
+ my ($cui, $wanted_widgets, $o_labels_width, $b_first_time) = @_;
+
+ my ($available_width, $available_height) = ($cui->{'-width'} - 2, $cui->{'-height'} - 2);
+
+ my $previous;
+ foreach (@$wanted_widgets) {
+ compute_size($_, $previous, $available_width, $o_labels_width);
+ $previous = $_;
+ }
+
+ my $width = max(map { $_->{curses}{'-x'} + $_->{curses}{'-width'} } @$wanted_widgets);
+ if ($width > $available_width) {
+ log::l("oops, could not fit... (width $width > $available_width)\n");
+ if ($o_labels_width && $b_first_time) {
+ log::l("retrying without aligning entries");
+ return compute_sizes($cui, $wanted_widgets);
+ } elsif (!$o_labels_width) {
+ my $width_no_labels = 4 + max(map { $_->{label} ? $_->{curses}{'-width'} : 0 } @$wanted_widgets);
+ if ($width_no_labels < $available_width) {
+ #- trying to force a smaller labels width
+ log::l("retrying forcing a smaller size for labels ($available_width - $width_no_labels)");
+ return compute_sizes($cui, $wanted_widgets, $available_width - $width_no_labels);
+ } else {
+ log::l("going on even if labels are too wide ($width_no_labels >= $available_width");
+ }
+ } else {
+ log::l("going on even if labels can't fit forced to $o_labels_width ($width < $available_width)");
+ }
+ }
+ my $height;
+ my $i = @$wanted_widgets;
+ retry: while (1) {
+ $height = sum(map { entry_height($_) } grep { !$_->{same_line} } @$wanted_widgets) + 1;
+ $height > $available_height or last;
+ while ($i--) {
+ if ($wanted_widgets->[$i]{curses}{'-height'} =~ s/\d+,//) {
+#- warn "retring after modifying $wanted_widgets->[$i]{type}\n";
+ if ($wanted_widgets->[$i]{type} eq 'text') {
+ $wanted_widgets->[$i]{curses}{'-vscrollbar'} = 1;
+ $wanted_widgets->[$i]{curses}{'-focusable'} = 1;
+ }
+ goto retry;
+ }
+ }
+ log::l("oops, could not fit... (height $height > $available_height)\n");
+ if ($o_labels_width) {
+ log::l("retrying without aligning entries");
+ compute_sizes($cui, $wanted_widgets);
+ } else {
+ #- hum, we need to use expander to split things
+ my $nb;
+ my $height = 5; #- room from buttons and expander
+ foreach (@$wanted_widgets) {
+ $height += to_int($_->{curses}{'-height'}) if !$_->{same_line};
+ $height <= $available_height or die "too_many $nb\n";
+ $nb++;
+ }
+ internal_error("should have died");
+ }
+ }
+
+ +{
+ '-x' => int(($available_width - $width) / 2 - 1),
+ '-y' => int(($available_height - $height) / 2 - 1),
+ '-width' => $width + 2,
+ '-height' => $height + 2,
+ };
+}
+
+sub compute_buttons {
+ my ($common, $validate) = @_;
+
+ my %buttons = (ok => $common->{ok}, cancel => $common->{cancel});
+ if (!defined $buttons{cancel} && !defined $buttons{ok}) {
+ $buttons{cancel} = $::isWizard && !$::Wizard_no_previous ? N("Previous") : N("Cancel");
+# $need_to_die = 1 if !($::isWizard && !$::Wizard_no_previous);
+ }
+ $buttons{ok} ||= $::isWizard ? ($::Wizard_finished ? N("Finish") : N("Next")) : N("Ok");
+
+ my @button_names = grep { $buttons{$_} } 'ok', 'cancel';
+ @button_names = reverse(@button_names) if $::isWizard;
+
+ my $same_line = @button_names;
+
+ my %buttons_e = map {
+ my $name = $_;
+ my $label = "< $buttons{$name} >";
+
+ $name =>
+ { type => 'button', val => \$buttons{$name}, same_line => --$same_line, no_indent => 1,
+ default_curses => { '-height' => 1, '-width' => length($label) },
+ clicked_may_quit => $name eq 'ok' ? $validate : sub { '0 but true' },
+ };
+ } @button_names;
+
+ $buttons_e{$common->{focus_cancel} ? 'cancel' : 'ok'}{focus} = sub { 1 };
+ $buttons_e{ok}{disabled} = $common->{ok_disabled} if $common->{ok_disabled};
+
+ map { $buttons_e{$_} } @button_names;
+}
+
+sub create_widget {
+ my ($cui, $win, $e, $y, $changed, $focus_out) = @_;
+
+ my $onchange = sub {
+ my ($f) = @_;
+ sub {
+ ${$e->{val}} = $f->();
+ $changed->() if $changed;
+ };
+ };
+
+ #- take the best remaining proposed height
+ $e->{curses}{'-height'} = to_int($e->{curses}{'-height'});
+
+ my %options = ('-y' => $y, %{$e->{curses}});
+
+ if ($e->{label}) {
+ $e->{label_w} = $win->add(undef,
+ $e->{label_height} <= 1 ? 'Label' :
+ ('TextViewer',
+ '-width' => $e->{label_width},
+ '-focusable' => 0,
+ '-height' => $e->{label_height}),
+ '-text' => $e->{label_text_wrapped},
+ '-y' => $options{'-y'}, '-x' => $padleft + 1,
+ );
+ }
+
+ if (!$e->{same_line}) {
+ delete $options{'-width'};
+ $options{'-padright'} = $padright;
+ }
+ $options{'-onblur'} = $focus_out if $focus_out;
+
+ my ($w, $set);
+ if ($e->{type} eq 'bool') {
+ $w = $win->add(
+ undef, 'Checkbox',
+ '-checked' => ${$e->{val}},
+ '-onchange' => $onchange->(sub { $w->get }),
+ %options);
+ $set = sub { my $meth = $_[0] ? 'check' : 'uncheck'; $w->$meth; $w->intellidraw };
+ } elsif ($e->{type} eq 'expander') {
+ my $toggle_s = '<+> ';
+ $e->{label_w} = $win->add(undef, 'Label', '-bold' => 1, '-text' => $toggle_s, %options);
+ $options{'-x'} += length($toggle_s);
+ $w = $win->add(undef, 'Buttonbox', '-buttons' => [ {
+ '-label' => $e->{text},
+ '-onpress' => sub {
+ my $common = { ok => "Close", cancel => '', messages => [ if_($e->{message}, $e->{message}) ] };
+ ask_fromW_($cui, $common, $e->{children});
+ },
+ } ], %options);
+ } elsif ($e->{type} eq 'button') {
+ my $clicked_may_quit = delete $options{clicked_may_quit};
+ $w = $win->add(undef, 'Buttonbox', '-buttons' => [ {
+ '-onpress' => $clicked_may_quit || sub { 1 },
+ } ], %options);
+ $w->set_binding('focus-up', Curses::KEY_LEFT());
+ $w->set_binding('focus-down', Curses::KEY_RIGHT());
+ $set = sub { $w->set_label(0, sprintf('< %s >', may_apply($e->{format}, $_[0]))) };
+ } elsif ($e->{type} eq 'list' || $e->{type} eq 'combo') {
+ $w = $win->add(undef, $e->{type} eq 'combo' ? 'Popupmenu' : 'Listbox',
+ '-values' => $e->{formatted_list},
+ '-onchange' => $onchange->(sub { $e->{list}[$w->id] }),
+ if_($e->{type} eq 'list',
+ '-vscrollbar' => 1,
+ '-onselchange' => sub {
+ #- we don't want selection AND active, so ensuring they are the same
+ $w->id == $w->get_active_id or $w->set_selection($w->get_active_id);
+ }),
+ %options);
+ $set = sub {
+ my ($val) = @_;
+ my $s = may_apply($e->{format}, $val);
+ eval {
+ my $id = find_index { $s eq $_ } @{$e->{formatted_list}};
+ $w->set_selection($id);
+ if ($w->can('set_active_id')) {
+ $w->set_active_id($id);
+ $w->intellidraw;
+ }
+ };
+ };
+ } elsif ($e->{type} eq 'checkboxes') {
+ my @selection;
+ $w = $win->add(undef, 'Listbox',
+ '-values' => $e->{formatted_list},
+ '-vscrollbar' => 1,
+ '-multi' => 1,
+ '-onselchange' => sub {
+ my @new = $w->id;
+ my %ids = (
+ (map { $_ => 1 } difference2(\@new, \@selection)),
+ (map { $_ => 0 } difference2(\@selection, \@new)),
+ );
+ foreach (keys %ids) {
+ my $sub_e = $e->{children}[$_];
+ ${$sub_e->{val}} = $ids{$_};
+ $changed->() if $changed;
+ }
+ },
+ %options);
+ $set = sub {
+ @selection = map_index { if_(${$_->{val}}, $::i) } @{$e->{children}};
+ $w->set_selection(@selection);
+ };
+ } elsif ($e->{type} eq 'only_label' && $e->{curses}{'-height'} == 1) {
+ $w = $win->add(undef, 'Label', '-text' => ${$e->{val}},
+ if_($e->{title}, '-bold' => 1),
+ %options);
+ } elsif ($e->{type} eq 'label' && $e->{curses}{'-height'} == 1) {
+ $w = $win->add(undef, 'Label', %options);
+ $set = sub { $w->text($_[0] || '') };
+ } elsif ($e->{type} eq 'label' || $e->{type} eq 'only_label' || $e->{type} eq 'text') {
+ $w = $win->add(undef, 'TextViewer', %options);
+ $set = sub {
+ my ($text) = @_;
+ my $width = $w->{'-sw'} - ($w->{'-vscrollbar'} ? 1 : 0);
+ $w->text(join("\n", _messages($width, $text)));
+ };
+ } else {
+ $w = $win->add(undef, $e->{hidden} ? 'PasswordEntry' : 'TextEntry',
+ '-sbborder' => 1,
+ '-text' => '',
+ '-onchange' => $onchange->(sub { $w->text }),
+ %options);
+ $set = sub { $w->text($_[0] || '') };
+ }
+
+ $e->{w} = $w;
+ $e->{set} = $set || sub {};
+}
+
+sub create_widgets {
+ my ($cui, $win, $l) = @_;
+
+ my $ignore; #-to handle recursivity
+ my $set_all = sub {
+ $ignore = 1;
+ foreach my $e (@$l) {
+ $e->{set}->(${$e->{val}});
+ my $disabled = $e->{disabled} && $e->{disabled}();
+ _enable_disable($e->{w}, $disabled);
+ _enable_disable($e->{label_w}, $disabled) if $e->{label_w};
+ }
+ $ignore = 0;
+ };
+ my $sub_update = sub {
+ my ($f) = @_;
+ sub {
+ return if $ignore;
+ $f->() if $f;
+ $set_all->();
+ };
+ };
+
+ my $to_focus;
+ my $y = 1;
+ foreach (@$l) {
+ my $e = $_;
+
+ $e->{curses}{clicked_may_quit} = sub {
+ if (my $v = $e->{clicked_may_quit}()) {
+ die "exit_mainloop $v";
+ }
+ $set_all->();
+ } if $e->{clicked_may_quit};
+
+ create_widget($cui, $win, $e, $y, $sub_update->($e->{changed}), $sub_update->($e->{focus_out}));
+ $to_focus ||= $e if $e->{focus} && $e->{focus}->();
+ $y += entry_height($e) if !$e->{same_line};
+ }
+
+ ($to_focus || $l->[-1])->{w}->focus;
+
+ $set_all->();
+
+ $set_all;
+}
+
+sub all_entries {
+ my ($l) = @_;
+ map { $_, if_($_->{children}, @{$_->{children}}) } @$l;
+}
+
+sub ask_fromW {
+ my ($o, $common, $l) = @_;
+ ask_fromW_($o->{cui}, $common, $l);
+}
+
+sub ask_fromW_ {
+ my ($cui, $common, $l) = @_;
+
+ $l = [ filter_widgets($l) ];
+
+ my $set_all;
+ my $validate = sub {
+ my @all = all_entries($l);
+ my $e = find { $_->{validate} && !$_->{validate}->() } @all;
+ $e ||= $common->{validate} && !$common->{validate}() && $all[0];
+ if ($e) {
+ $set_all->();
+ $e->{w}->focus if $e->{w}; #- widget may not exist if it is inside an expander
+ }
+ !$e;
+ };
+
+ my @wanted_widgets = (
+ if_(@{$common->{messages}}, { type => 'text', val => \(join("\n", @{$common->{messages}}, ' ')) }),
+ @$l,
+ { type => 'label', val => \ (my $_ignore) },
+ compute_buttons($common, $validate),
+ );
+
+ compute_label_sizes($cui, $l);
+ my $labels_width = max(map { $_->{label_width} } @$l);
+ my $window_size;
+ eval { $window_size = compute_sizes($cui, \@wanted_widgets, $labels_width, 'first_time') } or do {
+ my ($nb) = $@ =~ /^too_many (\d+)$/ or die;
+ $nb -= 1; #- remove {messages}
+ $nb != @$l or internal_error("dead-loop detected");
+
+ my @l = (
+ (@$l)[0 .. $nb - 1],
+ { type => 'expander', text => N("More"), children => [ (@$l)[$nb .. $#$l] ] },
+ );
+ return ask_fromW_($cui, $common, \@l);
+ };
+
+ my $win = $cui->add(undef, 'Window',
+ %$window_size,
+ '-border' => 1,
+ '-bfg' => 'blue', '-tfg' => 'yellow', '-tbg' => 'blue', '-titlereverse' => 0,
+ '-focusable' => 1,
+ if_($common->{title}, '-title' => $common->{title}),
+ );
+
+ $set_all = create_widgets($cui, $win, \@wanted_widgets);
+
+ $win->set_binding(\&exit, "\cC");
+ $win->set_binding(sub { suspend(); kill 19, $$ }, "\cZ");
+
+ $cui->focus($win, 1);
+ eval { $win->modalfocus };
+
+ my $err = $@;
+ $cui->delete_object($win);
+ $cui->draw;
+
+ my ($v) = $err =~ /^exit_mainloop (\S*)/ or die $err;
+
+ $v eq '0 but true' ? 0 : $v;
+}
+
+
+sub wait_messageW {
+ my ($o, $title, $message, $message_modifiable) = @_;
+
+ my $w = { title => $title, message_header => $message };
+ wait_message_nextW($o, $message_modifiable, $w);
+ $w;
+}
+
+sub wait_message_nextW {
+ my ($o, $message, $w) = @_;
+
+ wait_message_endW($o, $w) if $w->{w};
+ my $msg = join("\n", _messages($o->{cui}{'-width'}, $w->{message_header} . "\n" . $message));
+ $w->{w} = $o->{cui}->add(undef, 'Dialog::Status', '-title' => $w->{title}, '-message' => $msg);
+ $w->{w}->draw;
+}
+sub wait_message_endW {
+ my ($o, $w) = @_;
+ $o->{cui}->delete_object($w->{w});
+ $o->{cui}->draw;
+}
+
+sub wait_message_with_progress_bar {
+ my ($o, $o_title) = @_;
+
+ my $w = {};
+ my $b = before_leaving { $o->wait_message_endW($w) };
+ $b, sub {
+ my ($msg, $current, $total) = @_;
+ if (!$w->{w} || $w->{total} != $total) {
+ $o->{cui}->delete_object($w->{w}) if $w->{w};
+
+ $w->{w} = $o->{cui}->add(undef,
+ $total ? ('Dialog::Progress', '-max' => $total) : 'Dialog::Status',
+ if_($o_title, '-title' => $o_title),
+ '-message' => $msg || $w->{msg});
+ $w->{total} = $total;
+ $w->{msg} = $msg;
+ } elsif ($msg) {
+ $w->{w}->message($msg);
+ }
+ if ($current) {
+ $w->{w}->pos($current);
+ }
+ $o->{cui}->draw;
+ };
+}
+
+1;
diff --git a/perl-install/interactive/gtk.pm b/perl-install/interactive/gtk.pm
new file mode 100644
index 000000000..0f14beef2
--- /dev/null
+++ b/perl-install/interactive/gtk.pm
@@ -0,0 +1,881 @@
+package interactive::gtk; # $Id: gtk.pm 148078 2007-03-22 17:35:52Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(interactive);
+
+use interactive;
+use common;
+use mygtk2;
+use ugtk2 qw(:helpers :wrappers :create);
+use Gtk2::Gdk::Keysyms;
+
+my $forgetTime = 1000; #- in milli-seconds
+
+sub new {
+ my $w = &interactive::new;
+ ($w->{windowwidth}, $w->{windowheight}) = gtkroot()->get_size if !$::isInstall;
+ $w;
+}
+sub enter_console { my ($o) = @_; $o->{suspended} = common::setVirtual(1) }
+sub leave_console { my ($o) = @_; common::setVirtual(delete $o->{suspended}) }
+sub adapt_markup {
+ #- nothing needed, the default markup is gtk2's
+ my ($_o, $s) = @_; return $s;
+}
+
+sub exit { ugtk2::exit(@_) }
+
+sub ask_fileW {
+ my ($in, $common) = @_;
+
+ my $w = ugtk2::create_file_selector(%$common);
+
+ my $file;
+ $w->main(sub {
+ $file = $w->{chooser}->get_filename;
+ my $err = ugtk2::file_selected_check($common->{save}, $common->{want_a_dir}, $file);
+ $err and $in->ask_warn('', $err);
+ !$err;
+ }) && $file;
+}
+
+sub create_boxradio {
+ my ($e, $onchange_f, $double_click) = @_;
+
+ my $boxradio = gtkpack2__(Gtk2::VBox->new(0, 0),
+ my @radios = gtkradio('', @{$e->{formatted_list}}));
+ my $tips = Gtk2::Tooltips->new;
+ mapn {
+ my ($txt, $w) = @_;
+ $w->signal_connect(button_press_event => $double_click) if $double_click;
+
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ $w->signal_connect(clicked => sub {
+ ${$e->{val}} ne $txt or return;
+ $onchange_f->(sub { $txt });
+ });
+ if ($e->{help}) {
+ gtkset_tip($tips, $w,
+ ref($e->{help}) eq 'HASH' ? $e->{help}{$txt} :
+ ref($e->{help}) eq 'CODE' ? $e->{help}($txt) : $e->{help});
+ }
+ } $e->{list}, \@radios;
+
+ $boxradio, sub {
+ my ($v, $full_struct) = @_;
+ mapn {
+ $_[0]->set_active($_[1] eq $v);
+ $full_struct->{focus_w} = $_[0] if $_[1] eq $v;
+ } \@radios, $e->{list};
+ }, $radios[0];
+}
+
+sub create_treeview_list {
+ my ($e, $onchange_f, $double_click) = @_;
+ my $curr;
+
+ my $list = Gtk2::ListStore->new("Glib::String");
+ my $list_tv = Gtk2::TreeView->new_with_model($list);
+ $list_tv->set_headers_visible(0);
+ $list_tv->get_selection->set_mode('browse');
+ my $textcolumn = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 0);
+ $list_tv->append_column($textcolumn);
+
+ my $select = sub {
+ my ($path) = @_;
+ $list_tv->set_cursor($path, undef, 0);
+ Glib::Timeout->add(100, sub { $list_tv->scroll_to_cell($path, undef, 1, 0.5, 0); 0 });
+ };
+
+ my ($starting_word, $start_reg) = ('', '^');
+ my $timeout;
+ $list_tv->set_enable_search(0);
+ $list_tv->signal_connect(key_press_event => sub {
+ my ($_w, $event) = @_;
+ my $c = chr($event->keyval & 0xff);
+
+ Glib::Source->remove($timeout) if $timeout; $timeout = '';
+
+ if ($event->keyval >= 0x100) {
+ $e->{may_go_to_next}(), return 1 if member($event->keyval, ($Gtk2::Gdk::Keysyms{Return}, $Gtk2::Gdk::Keysyms{KP_Enter}));
+ $starting_word = '' if !member($event->keyval, ($Gtk2::Gdk::Keysyms{Control_L}, $Gtk2::Gdk::Keysyms{Control_R}));
+ } else {
+ if (member('control-mask', @{$event->state})) {
+ $c eq 's' or return 1;
+ $start_reg and $start_reg = '', return 1;
+ $curr++;
+ } else {
+ $e->{may_go_to_next}(), return 1 if $c eq ' ';
+
+ $curr++ if $starting_word eq '' || $starting_word eq $c;
+ $starting_word .= $c unless $starting_word eq $c;
+ }
+ my @l = @{$e->{formatted_list}};
+ my $word = quotemeta $starting_word;
+ my $j; for ($j = 0; $j < @l; $j++) {
+ $l[($j + $curr) % @l] =~ /$start_reg$word/i and last;
+ }
+ if ($j == @l) {
+ $starting_word = '';
+ } else {
+ $select->(Gtk2::TreePath->new_from_string(($j + $curr) % @l));
+ }
+
+ $timeout = Glib::Timeout->add($forgetTime, sub { $timeout = $starting_word = ''; 0 });
+ }
+ 0;
+ });
+ $list_tv->show;
+
+ $list->append_set([ 0 => $_ ]) foreach @{$e->{formatted_list}};
+
+ $list_tv->get_selection->signal_connect(changed => sub {
+ my ($model, $iter) = $_[0]->get_selected;
+ $model && $iter or return;
+ $onchange_f->(sub {
+ my $row = $model->get_path_str($iter);
+ $e->{list}[$curr = $row];
+ });
+ });
+ $list_tv->signal_connect(button_press_event => $double_click) if $double_click;
+
+ $list_tv, sub {
+ my ($v) = @_;
+ eval {
+ my $nb = find_index { $_ eq $v } @{$e->{list}};
+ my ($old_path) = $list_tv->get_cursor;
+ if (!$old_path || $nb != $old_path->to_string) {
+ $select->(Gtk2::TreePath->new_from_string($nb));
+ }
+ undef $old_path if $old_path;
+ };
+ };
+}
+
+sub __create_tree_model {
+ my ($e) = @_;
+
+ my $sep = quotemeta $e->{separator};
+ my $tree_model = Gtk2::TreeStore->new("Glib::String", if_($e->{image2f}, "Gtk2::Gdk::Pixbuf"));
+
+ my $build_value = sub {
+ my ($v) = @_;
+ my $type = 0;
+ if ($e->{image2f}) {
+ my $image = $e->{image2f}->($_[0]);
+ ($type, $v) = (1, gtkcreate_pixbuf($image)) if $image;
+ }
+ [ $type => $v ];
+ };
+
+ my (%wtree, $parent);
+ $parent = sub {
+ if (my $w = $wtree{"$_[0]$e->{separator}"}) { return $w }
+ my $s = '';
+ foreach (split $sep, $_[0]) {
+ $wtree{"$s$_$e->{separator}"} ||=
+ $tree_model->append_set($s ? $parent->($s) : undef, $build_value->($_));
+ $s .= "$_$e->{separator}";
+ }
+ $wtree{$s};
+ };
+
+ $tree_model->{path_str_list} = [ map {
+ my ($root, $leaf) = /(.*)$sep(.+)/ ? ($1, $2) : ('', $_);
+ my $iter = $tree_model->append_set($parent->($root), $build_value->($leaf));
+
+ $tree_model->get_path_str($iter);
+ } @{$e->{formatted_list}} ];
+
+ undef $_ foreach values %wtree;
+ undef %wtree;
+
+ $tree_model;
+}
+
+sub create_treeview_tree {
+ my ($e, $onchange_f, $double_click) = @_;
+
+ my $tree_model = __create_tree_model($e);
+ my $tree = Gtk2::TreeView->new_with_model($tree_model);
+ $tree->get_selection->set_mode('browse');
+ {
+ my $col = Gtk2::TreeViewColumn->new;
+ $col->pack_start(my $texrender = Gtk2::CellRendererText->new, 0);
+ $col->add_attribute($texrender, text => 0);
+ if ($e->{image2f}) {
+ $col->pack_start(my $pixrender = Gtk2::CellRendererPixbuf->new, 0);
+ $col->add_attribute($pixrender, pixbuf => 1);
+ }
+ $tree->append_column($col);
+ }
+ $tree->set_headers_visible(0);
+
+ my $select = sub {
+ my ($path_str) = @_;
+ my $path = Gtk2::TreePath->new_from_string($path_str);
+ $tree->expand_to_path($path);
+ $tree->set_cursor($path, undef, 0);
+ gtkflush(); #- workaround gtk2 bug not honouring centering on the given row if node was closed
+ $tree->scroll_to_cell($path, undef, 1, 0.5, 0);
+ };
+
+ my $curr = $tree_model->get_iter_first; #- default value
+ $tree->expand_all if $e->{tree_expanded};
+
+ my $selected_via_click;
+
+ $tree->get_selection->signal_connect(changed => sub {
+ my ($model, $iter) = $_[0]->get_selected;
+ $model && $iter or return;
+ undef $curr if ref $curr;
+ my $path = $tree_model->get_path($curr = $iter);
+ if (!$tree_model->iter_has_child($iter)) {
+ $onchange_f->(sub {
+ my $path_str = $path->to_string;
+ my $i = find_index { $path_str eq $_ } @{$tree_model->{path_str_list}};
+ $e->{list}[$i];
+ });
+ } else {
+ $tree->expand_row($path, 0) if $selected_via_click;
+ }
+ });
+ my ($starting_word, $start_reg) = ('', "^");
+ my $timeout;
+
+ my $toggle = sub {
+ if ($tree_model->iter_has_child($curr)) {
+ $tree->toggle_expansion($tree_model->get_path($curr), 0);
+
+ } else {
+ &{$e->{may_go_to_next}};
+ }
+ };
+
+ $tree->set_enable_search(0);
+ $tree->signal_connect(key_press_event => sub {
+ my ($_w, $event) = @_;
+ $selected_via_click = 0;
+ my $c = chr($event->keyval & 0xff);
+ $curr or return 0;
+ Glib::Source->remove($timeout) if $timeout; $timeout = '';
+
+ if ($event->keyval >= 0x100) {
+ &$toggle and return 1 if member($event->keyval, ($Gtk2::Gdk::Keysyms{Return}, $Gtk2::Gdk::Keysyms{KP_Enter}));
+ $starting_word = '' if !member($event->keyval, ($Gtk2::Gdk::Keysyms{Control_L}, $Gtk2::Gdk::Keysyms{Control_R}));
+ } else {
+ my $next;
+ if (member('control-mask', @{$event->state})) {
+ $c eq "s" or return 1;
+ $start_reg and $start_reg = '', return 0;
+ $next = 1;
+ } else {
+ &$toggle and return 1 if $c eq ' ';
+ $next = 1 if $starting_word eq '' || $starting_word eq $c;
+ $starting_word .= $c unless $starting_word eq $c;
+ }
+ my $word = quotemeta $starting_word;
+ my ($after, $best);
+
+ my $sep = quotemeta $e->{separator};
+ my $currpath = $tree_model->get_path_str($curr);
+ mapn {
+ my ($path_str, $v) = @_;
+ $next &&= !$after;
+ $after ||= $path_str eq $currpath;
+ $v =~ s/.*$sep//;
+ if ($v =~ /$start_reg$word/i) {
+ if ($after && !$next) {
+ ($best, $after) = ($path_str, 0);
+ } else {
+ $best ||= $path_str;
+ }
+ }
+ } $tree_model->{path_str_list}, $e->{formatted_list};
+
+ if (defined $best) {
+ $select->($best);
+ } else {
+ $starting_word = '';
+ }
+
+ $timeout = Glib::Timeout->add($forgetTime, sub { $timeout = $starting_word = ''; 0 });
+ }
+ 0;
+ });
+ $tree->signal_connect(button_press_event => sub {
+ $selected_via_click = 1;
+ &$double_click if $curr && !$tree_model->iter_has_child($curr) && $double_click;
+ });
+
+ $tree, sub {
+ my $v = may_apply($e->{format}, $_[0]);
+ eval {
+ my $i = find_index { $v eq $_ } @{$e->{formatted_list}};
+
+ my ($model, $iter) = $tree->get_selection->get_selected;
+
+ my $new_path_str = $tree_model->{path_str_list}[$i];
+ my $old_path_str = $model && $tree_model->get_path_str($iter);
+
+ $select->($new_path_str) if $new_path_str ne $old_path_str;
+ undef $iter if ref $iter;
+ };
+ };
+}
+
+#- $actions is a ref list of $action
+#- $action is a { kind => $kind, action => sub { ... }, button => Gtk2::Button->new(...) }
+#- where $kind is one of '', 'modify', 'remove', 'add'
+sub add_modify_remove_action {
+ my ($button, $buttons, $e, $treelist) = @_;
+
+ if (member($button->{kind}, 'modify', 'remove')) {
+ @{$e->{list}} or return;
+ }
+ my $r = $button->{action}->(${$e->{val}});
+ defined $r or return;
+
+ if ($button->{kind} eq 'add') {
+ ${$e->{val}} = $r;
+ } elsif ($button->{kind} eq 'remove') {
+ ${$e->{val}} = $e->{list}[0];
+ }
+ ugtk2::gtk_set_treelist($treelist, [ map { may_apply($e->{format}, $_) } @{$e->{list}} ]);
+
+ add_modify_remove_sensitive($buttons, $e);
+ 1;
+}
+
+sub create_widget {
+ my ($o, $e, $onchange_f, $update, $ignore_ref) = @_;
+
+ my $onchange = sub {
+ my ($f) = @_;
+ sub { $onchange_f->($f, @_) };
+ };
+
+ my ($w, $real_w, $focus_w, $set);
+ if ($e->{type} eq 'iconlist') {
+ $w = Gtk2::Button->new;
+ $set = sub {
+ gtkdestroy($e->{icon});
+ my $f = $e->{icon2f}->($_[0]);
+ $e->{icon} = -e $f ?
+ gtkcreate_img($f) :
+ Gtk2::WrappedLabel->new(may_apply($e->{format}, $_[0]));
+ $w->add(gtkshow($e->{icon}));
+ };
+ $w->signal_connect(clicked => sub {
+ $onchange_f->(sub { next_val_in_array(${$e->{val}}, $e->{list}) });
+ $set->(${$e->{val}});
+ });
+ $real_w = gtkpack_(Gtk2::HBox->new(0,10), 1, Gtk2::HBox->new(0,0), 0, $w, 1, Gtk2::HBox->new(0,0));
+ } elsif ($e->{type} eq 'bool') {
+ if ($e->{image}) {
+ $w = ugtk2::gtkadd(Gtk2::CheckButton->new, gtkshow(gtkcreate_img($e->{image})));
+ } else {
+ #- warn "\"text\" member should have been used instead of \"label\" one at:\n", common::backtrace(), "\n" if $e->{label} && !$e->{text};
+ $w = Gtk2::CheckButton->new_with_label($e->{text});
+ }
+ $w->signal_connect(clicked => $onchange->(sub { $w->get_active }));
+ $set = sub { $w->set_active($_[0]) };
+ } elsif ($e->{type} eq 'only_label') {
+ $w = $e->{title} ?
+ gtknew('Title2', label => escape_text_for_TextView_markup_format(${$e->{val}})) :
+ gtknew('Label_Left', line_wrap => 1, text_markup => ${$e->{val}});
+ } elsif ($e->{type} eq 'label') {
+ $w = gtknew('WrappedLabel', text_markup => ${$e->{val}});
+ $set = sub { $w->set($_[0]) };
+ } elsif ($e->{type} eq 'empty') {
+ $w = gtknew('HBox', height => $e->{height});
+ } elsif ($e->{type} eq 'button') {
+ $w = Gtk2::Button->new_with_label('');
+ $w->signal_connect(clicked => $e->{clicked_may_quit_cooked});
+ $set = sub { $w->child->set_label(may_apply($e->{format}, $_[0])) };
+ } elsif ($e->{type} eq 'range') {
+ my $adj = Gtk2::Adjustment->new(${$e->{val}}, $e->{min}, $e->{max} + ($e->{SpinButton} ? 0 : 1), 1, ($e->{max} - $e->{min}) / 10, 1);
+ $w = $e->{SpinButton} ? Gtk2::SpinButton->new($adj, 10, 0) : Gtk2::HScale->new($adj);
+ $w->set_size_request($e->{SpinButton} ? 100 : 200, -1);
+ $w->set_digits(0);
+ $adj->signal_connect(value_changed => $onchange->(sub { $adj->get_value }));
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ $set = sub { $adj->set_value($_[0]) };
+ } elsif ($e->{type} eq 'expander') {
+ $e->{grow} = 'fill';
+ my $children = [ if_($e->{message}, { type => 'only_label', no_indent => 1, val => \$e->{message} }), @{$e->{children}} ];
+ my $box = create_widgets_block($o, $children, $update, $ignore_ref);
+ $w = gtknew('Expander', text => $e->{text}, child => $box);
+ } elsif ($e->{type} =~ /list/) {
+
+ $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ];
+
+ if (my $actions = $e->{add_modify_remove}) {
+ my @buttons = map {
+ { kind => lc $_, action => $actions->{$_}, button => Gtk2::Button->new(translate($_)) };
+ } N_("Add"), N_("Modify"), N_("Remove");
+ my $modify = find { $_->{kind} eq 'modify' } @buttons;
+
+ my $do_action = sub {
+ my ($button) = @_;
+ add_modify_remove_action($button, \@buttons, $e, $w) and $update->();
+ };
+
+ ($w, $set, $focus_w) = create_treeview_list($e, $onchange_f,
+ sub { $do_action->($modify) if $_[1]->type =~ /^2/ });
+
+ foreach my $button (@buttons) {
+ $button->{button}->signal_connect(clicked => sub { $do_action->($button) });
+ }
+ add_modify_remove_sensitive(\@buttons, $e);
+
+ $real_w = gtkpack_(Gtk2::HBox->new(0,0),
+ 1, create_scrolled_window($w),
+ 0, gtkpack__(Gtk2::VBox->new(0,0), map { $_->{button} } @buttons));
+ $e->{grow} = 'expand';
+ } else {
+ my $use_boxradio = exists $e->{gtk}{use_boxradio} ? $e->{gtk}{use_boxradio} : @{$e->{list}} <= 8;
+
+ if ($e->{help} || $use_boxradio && $e->{type} ne 'treelist') {
+ #- used only when needed, as key bindings are dropped by List (ListStore does not seems to accepts Tooltips).
+ ($w, $set, $focus_w) = create_boxradio($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ } elsif ($e->{type} eq 'treelist') {
+ ($w, $set) = create_treeview_tree($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ } else {
+ ($w, $set, $focus_w) = create_treeview_list($e, $onchange_f, $e->{quit_if_double_click_cooked});
+ }
+ if (@{$e->{list}} > 10 || $e->{gtk}{use_scrolling}) {
+ $real_w = create_scrolled_window($w);
+ $e->{grow} = 'expand';
+ }
+ }
+ } else {
+ if ($e->{type} eq "combo") {
+ my $model;
+
+ my @formatted_list = map { may_apply($e->{format}, $_) } @{$e->{list}};
+ $e->{formatted_list} = \@formatted_list;
+
+ my @l = sort { $b <=> $a } map { length } @formatted_list;
+ my $width = $l[@l / 16]; # take the third octile (think quartile)
+
+ if (!$e->{separator}) {
+ if ($e->{not_edit} && $width < 160) { #- ComboBoxes do not have an horizontal scroll-bar. This can cause havoc for long strings (eg: diskdrake Create dialog box in expert mode)
+ $w = Gtk2::ComboBox->new_text;
+ $w->set_wrap_width($e->{gtk}{wrap_width}) if exists $e->{gtk}{wrap_width};
+ } else {
+ $w = Gtk2::Combo->new;
+ $w->set_use_arrows_always(1);
+ $w->entry->set_editable(!$e->{not_edit});
+ $w->disable_activate;
+ }
+ $w->set_popdown_strings(@formatted_list);
+ $w->set_text(ref($e->{val}) ? may_apply($e->{format}, ${$e->{val}}) : $formatted_list[0]) if $w->isa('Gtk2::ComboBox');
+ } else {
+ $model = __create_tree_model($e);
+ $w = Gtk2::ComboBox->new_with_model($model);
+
+ $w->pack_start(my $texrender = Gtk2::CellRendererText->new, 0);
+ $w->add_attribute($texrender, text => 0);
+ if ($e->{image2f}) {
+ $w->pack_start(my $pixrender = Gtk2::CellRendererPixbuf->new, 0);
+ $w->add_attribute($pixrender, pixbuf => 1);
+ }
+ }
+ ($real_w, $w) = ($w, $w->entry);
+
+ my $get = sub {
+ my $i = $model ? do {
+ my $s = $model->get_string_from_iter($w->get_active_iter);
+ eval { find_index { $s eq $_ } @{$model->{path_str_list}} };
+ } : do {
+ my $s = $w->get_text;
+ eval { find_index { $s eq $_ } @formatted_list };
+ };
+ defined $i ? $e->{list}[$i] : $w->get_text;
+ };
+ if ($real_w->isa('Gtk2::Combo')) {
+ #- FIXME workaround gtk suckiness (set_text generates two 'change' signals, one when removing the whole, one for inserting the replacement..)
+ my $idle;
+ $w->signal_connect(changed => sub {
+ return if $$ignore_ref;
+ $idle ||= Glib::Idle->add(sub { undef $idle; $onchange_f->($get); 0 });
+ });
+ } else {
+ $w->signal_connect(changed => $onchange->($get));
+ }
+
+ $set = sub {
+ my $s = may_apply($e->{format}, $_[0]);
+ if ($model) {
+ eval {
+ my $i = find_index { $s eq $_ } @{$e->{formatted_list}};
+ my $path_str = $model->{path_str_list}[$i];
+ $w->set_active_iter($model->get_iter_from_string($path_str));
+ };
+ } else {
+ $w->set_text($s) if $s ne $w->get_text && $_[0] ne $w->get_text;
+ }
+ };
+ } else {
+ $w = Gtk2::Entry->new;
+ $w->signal_connect(changed => $onchange->(sub { $w->get_text }));
+ $w->signal_connect(focus_in_event => sub { $w->select_region(0, -1) });
+ $w->signal_connect(focus_out_event => sub { $w->select_region(0, 0) });
+ $set = sub { $w->set_text($_[0]) if $_[0] ne $w->get_text };
+ if ($e->{type} eq 'file') {
+ my $button = gtksignal_connect(Gtk2::Button->new_from_stock('gtk-open'), clicked => sub {
+ my $file = $o->ask_filename({ title => $e->{label} });
+ $set->($file) if $file;
+ });
+ $real_w = gtkpack_(Gtk2::HBox->new(0,0), 1, $w, 0, $button);
+ }
+ }
+ $w->signal_connect(key_press_event => $e->{may_go_to_next});
+ $w->set_visibility(0) if $e->{hidden};
+ }
+
+ if (my $focus_out = $e->{focus_out}) {
+ $w->signal_connect(focus_out_event => sub { $update->($focus_out) });
+ }
+ $real_w ||= $w;
+
+ $e->{w} = $w;
+ $e->{real_w} = $real_w;
+ $e->{focus_w} = $focus_w || $w if $e->{type} ne 'empty';
+ $e->{set} = $set || sub {};
+}
+
+sub all_entries {
+ my ($l) = @_;
+ map { $_, if_($_->{children}, @{$_->{children}}) } @$l;
+}
+
+sub all_focusable_entries {
+ my ($l) = @_;
+ map { $_->{type} eq 'expander'
+ ? ($_->{w}->get_expanded ? all_focusable_entries($_->{children}) : ())
+ : $_;
+ } grep { $_->{focus_w} } @$l;
+}
+
+sub create_widgets_block {
+ my ($o, $l, $update, $ignore_ref) = @_;
+
+ my $label_sizegrp = Gtk2::SizeGroup->new('horizontal');
+
+ @$l = map_index {
+ if ($::i && ($_->{type} eq 'expander' || $_->{title})) {
+ ({ type => 'empty', height => 4 }, $_);
+ } else {
+ $_;
+ }
+ } @$l;
+
+ foreach my $e (@$l) {
+ my $onchange_f = sub {
+ my ($f, @para) = @_;
+ return if $$ignore_ref;
+ ${$e->{val}} = $f->(@para);
+ $update->($e->{changed});
+ };
+
+ create_widget($o, $e, $onchange_f, $update, $ignore_ref);
+
+ my $label_w;
+ if ($e->{label} || !$e->{no_indent}) {
+ $label_w = gtknew('Label_Left', text_markup => $e->{label} || '',
+ size_group => $label_sizegrp, alignment => [ 0, 0.5 ]);
+ }
+
+ $e->{real_w} = gtkpack_(Gtk2::HBox->new,
+ if_($e->{icon}, 0, eval { gtkcreate_img($e->{icon}) }),
+ if_($label_w, 0, $label_w),
+ (1, $e->{real_w}),
+ );
+ }
+ gtknew('VBox', children => [ map { $_->{grow} || 0, $_->{real_w} } @$l ]);
+}
+
+sub create_widgets {
+ my ($o, $common, $mainw, $l) = @_;
+
+ my $ignore = 0; #-to handle recursivity
+ my $set_all = sub {
+ $ignore = 1;
+ my @all = all_entries($l);
+ $_->{set}->(${$_->{val}}, $_) foreach @all; #- nb: the parameter "$_" is needed for create_boxradio
+ $_->{disabled} and $_->{real_w}->set_sensitive(!$_->{disabled}()) foreach @all;
+ $mainw->{ok}->set_sensitive(!$common->{ok_disabled}()) if $common->{ok_disabled};
+ $ignore = 0;
+ };
+ my $update = sub {
+ my ($f) = @_;
+ return if $ignore;
+ $f->() if $f;
+ $set_all->();
+ };
+
+ my $ok_clicked = sub {
+ !$mainw->{ok} || $mainw->{ok}->get_property('sensitive') or return;
+ $mainw->{retval} = 1;
+ Gtk2->main_quit;
+ };
+
+ my @all = all_entries($l);
+ foreach (@all) {
+ my $e = $_; #- for closures
+
+ if (@all == 1 || $e->{quit_if_double_click}) {
+ #- i'm the only one, double click means accepting
+ $e->{quit_if_double_click_cooked} = sub { $_[1]->type =~ /^2/ && $ok_clicked->() };
+ }
+
+ if ($e->{clicked_may_quit}) {
+ $e->{clicked_may_quit_cooked} = sub {
+ $mainw->{rwindow}->hide;
+ if (my $v = $e->{clicked_may_quit}()) {
+ $mainw->{retval} = $v;
+ Gtk2->main_quit;
+ }
+ $mainw->{rwindow}->show;
+ $update->();
+ };
+ }
+
+ $e->{may_go_to_next} = sub {
+ my (undef, $event) = @_;
+ if (!$event || ($event->keyval & 0x7f) == 0xd) {
+ my @current_all = all_focusable_entries($l);
+ my $ind = eval { find_index { $_ == $e } @current_all };
+ if (my $e_ = $current_all[$ind+1]) {
+ $e_->{focus_w}->grab_focus;
+ } else {
+ @current_all == 1 ? $ok_clicked->() : $mainw->{ok}->grab_focus;
+ }
+ 1; #- prevent an action on the just grabbed focus
+ } else {
+ 0;
+ }
+ };
+ }
+
+ my $box = create_widgets_block($o, $l, $update, \$ignore);
+
+ my $tooltips = Gtk2::Tooltips->new;
+ foreach my $e (@all) {
+ $tooltips->set_tip($e->{w}, $e->{help}) if $e->{help} && !ref($e->{help});
+ }
+
+ $box, $set_all;
+}
+
+sub add_modify_remove_sensitive {
+ my ($buttons, $e) = @_;
+ $_->{button}->set_sensitive(@{$e->{list}} != ()) foreach
+ grep { member($_->{kind}, 'modify', 'remove') } @$buttons;
+}
+
+sub filter_widgets {
+ my ($l) = @_;
+
+ foreach my $e (all_entries($l)) {
+ $e->{no_indent} = 1 if member($e->{type}, 'list', 'treelist', 'expander', 'bool', 'only_label');
+ }
+}
+
+my $help_path = "/usr/share/doc/installer-help";
+
+sub load_from_uri {
+ my ($document, $url) = @_;
+ $url = "$help_path/$url" if $url !~ m!^/!;
+ my $str = scalar(cat_($url));
+ c::set_tagged_utf8($str);
+ $document->clear;
+ $document->open_stream("text/html");
+ $document->write_stream($str);
+}
+
+sub ask_fromW {
+ my ($o, $common, $l) = @_;
+
+ filter_widgets($l);
+
+ my $mainw = ugtk2->new($common->{title}, %$o, modal => 1, if__($::main_window, transient => $::main_window, modal => 1),
+ if_($common->{icon}, icon => $common->{icon}), banner_title => $common->{banner_title},
+ );
+
+ my ($box, $set_all) = create_widgets($o, $common, $mainw, $l);
+
+ $mainw->{box_allow_grow} = 1;
+ my $pack = create_box_with_title($mainw, @{$common->{messages}});
+ mygtk2::set_main_window_size($mainw->{rwindow}) if $mainw->{pop_it} && !$common->{auto_window_size} && (@$l || $mainw->{box_size} == 200);
+
+ my @more_buttons = (
+ if_($common->{interactive_help},
+ [ N("Help"), sub {
+ if (my $file = find { -e $_ } map { "$help_path/${_}.html" }
+ map {
+ my $id = $_;
+ require lang;
+ map { "$_/$id" } (split ':', lang::getLANGUAGE($o->{locale}{lang}));
+ } $common->{interactive_help_id}
+ ) {
+ require Gtk2::Html2;
+ my $view = Gtk2::Html2::View->new;
+ my $document = Gtk2::Html2::Document->new;
+ $document->signal_connect(request_url => sub {
+ my ($_document, $url, $stream) = @_;
+ $stream->write(join('', cat_("$help_path/$url")));
+ $stream->close;
+ });
+ $document->signal_connect('link-clicked' => \&load_from_uri);
+ $view->set_document($document);
+
+ load_from_uri($document, $file);
+
+ my $w = ugtk2->new(N("Help"), transient => $mainw->{real_window}, modal => 1);
+ gtkadd($w->{rwindow},
+ gtkpack_(Gtk2::VBox->new,
+ 1, create_scrolled_window(gtkset_border_width($view, 5),
+ [ 'never', 'automatic' ],
+ ),
+ 0, gtkpack(create_hbox('edge'),
+ gtknew('Button', text => N("Close"), clicked => sub { Gtk2->main_quit })
+ ),
+ ),
+ );
+ # make parent visible still visible:
+ local ($::real_windowwidth, $::real_windowheight) = ($::real_windowwidth - 50, $::real_windowheight - 50);
+ mygtk2::set_main_window_size($w->{rwindow});
+ $w->{real_window}->grab_focus;
+ $w->{real_window}->show_all;
+ $w->main;
+ return;
+ }
+ my $message = $common->{interactive_help}->() or return;
+ $o->ask_warn(N("Help"), $message);
+ }, 1 ]),
+ if_($common->{more_buttons}, @{$common->{more_buttons}}),
+ );
+ my $buttons_pack = ($common->{ok} || !exists $common->{ok}) && $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', @more_buttons);
+
+ gtkpack_($pack, 1, gtknew('ScrolledWindow', shadow_type => 'none', child => $box)) if @$l;
+
+ if ($buttons_pack) {
+ $pack->pack_end(gtkshow($buttons_pack), 0, 0, 0);
+ }
+ ugtk2::gtkadd($mainw->{window}, $pack);
+ $set_all->();
+
+ my $entry_to_focus = find { $_->{focus} && $_->{focus}() } @$l;
+ my $widget_to_focus = $entry_to_focus ? $entry_to_focus->{focus_w} :
+ $common->{focus_cancel} ? $mainw->{cancel} :
+ @$l && (!$mainw->{ok} || @$l == 1 && member(ref($l->[0]{focus_w}), "Gtk2::TreeView", "Gtk2::RadioButton")) ?
+ $l->[0]{focus_w} :
+ $mainw->{ok};
+ $widget_to_focus->grab_focus if $widget_to_focus;
+
+ my $validate = sub {
+ my @all = all_entries($l);
+ my $e = find { $_->{validate} && !$_->{validate}->() } @all;
+ $e ||= $common->{validate} && !$common->{validate}() && $all[0];
+ if ($e) {
+ $set_all->();
+ $e->{focus_w}->grab_focus;
+ }
+ !$e;
+ };
+
+ $mainw->main($validate);
+}
+
+
+sub ask_browse_tree_info_refW {
+ my ($o, $common) = @_;
+ add2hash($common, { wait_message => sub { $o->wait_message(@_) } });
+ ugtk2::ask_browse_tree_info($common);
+}
+
+
+sub ask_from__add_modify_removeW {
+ my ($o, $title, $message, $l, %callback) = @_;
+
+ my $e = $l->[0];
+ my $chosen_element;
+ put_in_hash($e, { allow_empty_list => 1, gtk => { use_boxradio => 0 }, sort => 0,
+ val => \$chosen_element, type => 'list', add_modify_remove => \%callback });
+
+ $o->ask_from($title, $message, $l, %callback);
+}
+
+sub wait_messageW {
+ my ($o, $title, $message, $message_modifiable) = @_;
+
+ my $to_modify = Gtk2::Label->new(scalar warp_text(ref $message_modifiable ? '' : $message_modifiable));
+
+ my $Window = gtknew('MagicWindow',
+ title => $title,
+ pop_it => !$::isInstall,
+ modal => 1,
+ no_Window_Manager => exists $o->{no_Window_Manager} ? $o->{no_Window_Manager} : !$::isStandalone,
+ if__($::main_window, transient_for => $::main_window),
+ child => gtknew('VBox', padding => 4, border_width => 10, children => [
+ 0, Gtk2::Label->new(scalar warp_text($message)),
+ 1, $to_modify,
+ if_(ref($message_modifiable), 0, $message_modifiable),
+ ]),
+ );
+ $Window->signal_connect(expose_event => sub { $Window->{displayed} = 1; 0 });
+ $Window->{wait_messageW} = $to_modify;
+ mygtk2::sync($Window) while !$Window->{displayed};
+ $Window;
+}
+sub wait_message_nextW {
+ my ($_o, $message, $Window) = @_;
+ return if $message eq $Window->{wait_messageW}->get_text; #- needed otherwise no expose_event :(
+ $Window->{displayed} = 0;
+ $Window->{wait_messageW}->set($message);
+ mygtk2::sync($Window) while !$Window->{displayed};
+}
+sub wait_message_endW {
+ my ($_o, $Window) = @_;
+ mygtk2::may_destroy($Window);
+ mygtk2::flush();
+}
+
+sub wait_message_with_progress_bar {
+ my ($in, $o_title) = @_;
+
+ my $progress = Gtk2::ProgressBar->new;
+ my $w = $in->wait_message($o_title, $progress);
+ my $displayed;
+ $progress->signal_connect(expose_event => sub { $displayed = 1; 0 });
+ $w, sub {
+ my ($msg, $current, $total) = @_;
+ if ($msg) {
+ $w->set($msg);
+ }
+
+ if ($total) {
+ $progress or internal_error('You must first give some text to display');
+ $progress->set_fraction($current / $total);
+ $progress->show;
+ $displayed = 0;
+ mygtk2::flush() while !$displayed;
+ } else {
+ $progress->hide if !$total;
+ }
+ };
+}
+
+sub kill {
+ my ($_o) = @_;
+ $_->destroy foreach $::WizardTable ? $::WizardTable->get_children : (), @tempory::objects;
+ @tempory::objects = ();
+}
+
+1;
diff --git a/perl-install/interactive/http.pm b/perl-install/interactive/http.pm
new file mode 100644
index 000000000..401b83d5b
--- /dev/null
+++ b/perl-install/interactive/http.pm
@@ -0,0 +1,164 @@
+package interactive::http; # $Id: http.pm 72441 2006-10-24 15:15:57Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(interactive);
+
+use CGI;
+use interactive;
+use common;
+use log;
+
+my $script_name = $ENV{INTERACTIVE_HTTP};
+my $no_header;
+my $pipe_r = "/tmp/interactive_http_r";
+my $pipe_w = "/tmp/interactive_http_w";
+
+sub open_stdout() {
+ open STDOUT, ">$pipe_w" or die;
+ $| = 1;
+ print CGI::header();
+ $no_header = 1;
+}
+
+# cont_stdout must be called after open_stdout and before the first print
+sub cont_stdout {
+ my ($o_title) = @_;
+ print CGI::start_html('-title' => $o_title) if $no_header;
+ $no_header = 0;
+}
+
+sub new_uid() {
+ my ($s, $ms) = gettimeofday();
+ $s * 256 + $ms % 256;
+}
+
+sub new {
+ open_stdout();
+ bless {}, $_[0];
+}
+
+sub end {
+ -e $pipe_r or return; # do not run this twice
+ my $q = CGI->new;
+ cont_stdout("Exit");
+ print "It's done, thanks for playing", $q->end_html;
+ close STDOUT;
+ unlink $pipe_r, $pipe_w;
+}
+sub exit { end(); exit($_[1]) }
+END { end() }
+
+sub ask_fromW {
+ my ($o, $common, $l, $_l2) = @_;
+
+ redisplay:
+ my $uid = new_uid();
+ my $q = CGI->new;
+ $q->param(state => 'next_step');
+ $q->param(uid => $uid);
+ cont_stdout($common->{title});
+
+# print $q->img({ -src => "/icons/$o->{icon}" }) if $o->{icon};
+ print @{$common->{messages}};
+ print $q->start_form('-name' => 'form', '-action' => $script_name, '-method' => 'post');
+
+ print "<table>\n";
+
+ each_index {
+ my $e = $_;
+
+ print "<tr><td>$e->{label}</td><td>\n";
+
+ $e->{type} = 'list' if $e->{type} =~ /(icon|tree)list/;
+
+ #- combo does not exist, fallback to a sensible default
+ $e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
+
+ if ($e->{type} eq 'bool') {
+ print $q->checkbox('-name' => "w$::i", '-checked' => ${$e->{val}} && 'on', '-label' => $e->{text} || " ");
+ } elsif ($e->{type} eq 'button') {
+ print "nobuttonyet";
+ } elsif ($e->{type} =~ /list/) {
+ my %t;
+ $t{$_} = may_apply($e->{format}, $_) foreach @{$e->{list}};
+
+ print $q->scrolling_list('-name' => "w$::i",
+ '-values' => $e->{list},
+ '-default' => [ ${$e->{val}} ],
+ '-size' => 5, '-multiple' => '', '-labels' => \%t);
+ } else {
+ print $e->{hidden} ?
+ $q->password_field('-name' => "w$::i", '-default' => ${$e->{val}}) :
+ $q->textfield('-name' => "w$::i", '-default' => ${$e->{val}});
+ }
+
+ print "</td></tr>\n";
+ } @$l;
+
+ print "</table>\n";
+ print $q->p;
+ print $q->submit('-name' => 'ok_submit', '-value' => $common->{ok} || N("Ok"));
+ print $q->submit('-name' => 'cancel_submit', '-value' => $common->{cancel} || N("Cancel")) if $common->{cancel} || !exists $common->{ok};
+ print $q->hidden('state'), $q->hidden('uid');
+ print $q->end_form, $q->end_html;
+
+ close STDOUT; # page terminated
+
+ while (1) {
+ open(my $F, "<$pipe_r") or die;
+ $q = CGI->new($F);
+ $q->param('force_exit_dead_prog') and $o->exit;
+ last if $q->param('uid') == $uid;
+
+ open_stdout(); # re-open for writing
+ cont_stdout(N("Error"));
+ print $q->h1(N("Error")), $q->p("Sorry, you can not go back");
+ goto redisplay;
+ }
+ each_index {
+ my $e = $_;
+ my $v = $q->param("w$::i");
+ if ($e->{type} eq 'bool') {
+ $v = $v eq 'on';
+ }
+ ${$e->{val}} = $v;
+ } @$l;
+
+ open_stdout(); # re-open for writing
+ $q->param('ok_submit');
+}
+
+sub p {
+ print "\n" . CGI::br($_) foreach @_;
+}
+
+sub wait_messageW {
+ my ($_o, $_title, $message, $message_modifiable) = @_;
+ cont_stdout();
+ print "\n" . CGI::p();
+ p($message, $message_modifiable);
+}
+
+sub wait_message_nextW {
+ my ($_o, $message, $_w) = @_;
+ p($message);
+}
+sub wait_message_endW {
+ my ($_o, $_w) = @_;
+ p(N("Done"));
+ print "\n" . CGI::p();
+}
+
+sub ok {
+ N("Ok");
+}
+
+sub cancel {
+ N("Cancel");
+}
+
+
+1;
diff --git a/perl-install/interactive/stdio.pm b/perl-install/interactive/stdio.pm
new file mode 100644
index 000000000..76f79d64b
--- /dev/null
+++ b/perl-install/interactive/stdio.pm
@@ -0,0 +1,173 @@
+package interactive::stdio; # $Id: stdio.pm 118207 2007-02-08 18:40:47Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(interactive);
+
+use interactive;
+use common;
+
+$| = 1;
+
+sub readln() {
+ my $l = <STDIN>;
+ chomp $l;
+ $l;
+}
+
+sub check_it {
+ my ($i, $n) = @_;
+ $i =~ /^\s*\d+\s*$/ && 1 <= $i && $i <= $n;
+}
+
+sub good_choice {
+ my ($def_s, $max) = @_;
+ my $i;
+ do {
+ defined $i and print N("Bad choice, try again\n");
+ print N("Your choice? (default %s) ", $def_s);
+ $i = readln();
+ } until !$i || check_it($i, $max);
+ $i;
+}
+
+sub ask_fromW {
+ my ($_o, $common, $l, $_l2) = @_;
+
+ add2hash_($common, { ok => N("Ok"), cancel => N("Cancel") }) if !exists $common->{ok};
+
+ask_fromW_begin:
+
+ my $already_entries = 0;
+ my $predo_widget = sub {
+ my ($e) = @_;
+
+ $e->{type} = 'list' if $e->{type} =~ /(icon|tree)list/;
+ #- combo does not exist, fallback to a sensible default
+ $e->{type} = $e->{not_edit} ? 'list' : 'entry' if $e->{type} eq 'combo';
+
+ if ($e->{type} eq 'entry') {
+ my $t = "\t$e->{label} $e->{text}\n";
+ if ($already_entries) {
+ length($already_entries) > 1 and print N("Entries you'll have to fill:\n%s", $already_entries);
+ $already_entries = 1;
+ print $t;
+ } else {
+ $already_entries = $t;
+ }
+ }
+ };
+
+ my @labels;
+ my $format_label = sub { my ($e) = @_; return sprintf("`%s' %s %s\n", ${$e->{val}}, $e->{label}, $e->{text}) };
+ my $do_widget = sub {
+ my ($e, $ind) = @_;
+
+ if ($e->{type} eq 'bool') {
+ print "$e->{text} $e->{label}\n";
+ print N("Your choice? (0/1, default `%s') ", ${$e->{val}} || '0');
+ my $i = readln();
+ if ($i) {
+ to_bool($i) != to_bool(${$e->{val}}) and $common->{changed}->($ind);
+ ${$e->{val}} = $i;
+ }
+ } elsif ($e->{type} =~ /list/) {
+ $e->{text} || $e->{label} and print "=> $e->{label} $e->{text}\n";
+ my $n = 0; my $size = 0;
+ foreach (@{$e->{list}}) {
+ $n++;
+ my $t = "$n: " . may_apply($e->{format}, $_) . "\t";
+ if ($size + length($t) >= 80) {
+ print "\n";
+ $size = 0;
+ }
+ print $t;
+ $size += length($t);
+ }
+ print "\n";
+ my $i = good_choice(may_apply($e->{format}, ${$e->{val}}), $n);
+ print "Setting to <", $i ? ${$e->{list}}[$i-1] : ${$e->{val}}, ">\n";
+ $i and ${$e->{val}} = ${$e->{list}}[$i-1], $common->{changed}->($ind);
+ } elsif ($e->{type} eq 'button') {
+ print N("Button `%s': %s", $e->{label}, may_apply($e->{format}, ${$e->{val}})), " $e->{text}\n";
+ print N("Do you want to click on this button?");
+ my $i = readln();
+ $i && $i !~ /^n/i and $e->{clicked_may_quit}(), $common->{changed}->($ind);
+ } elsif ($e->{type} eq 'label') {
+ my $t = $format_label->($e);
+ push @labels, $t;
+ print $t;
+ } elsif ($e->{type} eq 'entry') {
+ print "$e->{label} $e->{text}\n";
+ print N("Your choice? (default `%s'%s) ", ${$e->{val}}, ${$e->{val}} ? N(" enter `void' for void entry") : '');
+ my $i = readln();
+ ${$e->{val}} = $i || ${$e->{val}};
+ ${$e->{val}} = '' if ${$e->{val}} eq 'void';
+ print "Setting to <", ${$e->{val}}, ">\n";
+ $i and $common->{changed}->($ind);
+ } else {
+ printf "UNSUPPORTED WIDGET TYPE (type <%s> label <%s> text <%s> val <%s>\n", $e->{type}, $e->{label}, $e->{text}, ${$e->{val}};
+ }
+ };
+
+ print "* ";
+ $common->{title} and print "$common->{title}\n";
+ print(map { "$_\n" } @{$common->{messages}});
+
+ $predo_widget->($_) foreach @$l;
+ if (listlength(@$l) > 30) {
+ my $ll = listlength(@$l);
+ print N("=> There are many things to choose from (%s).\n", $ll);
+ask_fromW_handle_verylonglist:
+ print
+N("Please choose the first number of the 10-range you wish to edit,
+or just hit Enter to proceed.
+Your choice? ");
+ my $i = readln();
+ if (check_it($i, $ll)) {
+ each_index { $do_widget->($_, $::i) } grep_index { $::i >= $i-1 && $::i < $i+9 } @$l;
+ goto ask_fromW_handle_verylonglist;
+ }
+ } else {
+ each_index { $do_widget->($_, $::i) } @$l;
+ }
+
+ my $lab;
+ each_index { $labels[$::i] && (($lab = $format_label->($_)) ne $labels[$::i]) and print N("=> Notice, a label changed:\n%s", $lab) }
+ grep { $_->{type} eq 'label' } @$l;
+
+ my $i;
+ if (listlength(@$l) != 1 || $common->{ok} ne N("Ok") || $common->{cancel} ne N("Cancel")) {
+ print "[1] ", $common->{ok} || N("Ok");
+ $common->{cancel} and print " [2] $common->{cancel}";
+ @$l and print " [9] ", N("Re-submit");
+ print "\n";
+ do {
+ defined $i and print N("Bad choice, try again\n");
+ print N("Your choice? (default %s) ", $common->{focus_cancel} ? $common->{cancel} : $common->{ok});
+ $i = readln() || ($common->{focus_cancel} ? "2" : "1");
+ } until check_it($i, 9);
+ $i == 9 and goto ask_fromW_begin;
+ } else {
+ $i = 1;
+ }
+ if ($i == 1 && !$common->{validate}()) {
+ goto ask_fromW_begin;
+ }
+ return $i != 2;
+}
+
+sub wait_messageW {
+ my ($_o, $_title, $message, $message_modifiable) = @_;
+ print join "\n", $message, $message_modifiable;
+}
+sub wait_message_nextW {
+ my $m = join "\n", $_[1];
+ print "\r$m", ' ' x (60 - length $m);
+}
+sub wait_message_endW { print "\nDone\n" }
+
+1;
+
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
new file mode 100644
index 000000000..8376bbd73
--- /dev/null
+++ b/perl-install/lang.pm
@@ -0,0 +1,1374 @@
+package lang; # $Id: lang.pm 147309 2007-03-21 14:42:41Z blino $
+
+use diagnostics;
+use strict;
+use common;
+use utf8;
+use log;
+
+#- key: lang name (locale name for some (~5) special cases needing
+#- extra distinctions)
+#- [0]: lang name in english
+#- [1]: transliterated locale name in the locale name (used for sorting)
+#- [2]: default locale name to use for that language if there is not
+#- an existing locale for the combination language+country choosen
+#- [3]: geographic groups that this language belongs to (for displaying
+#- in the menu grouped in smaller lists), 1=Europe, 2=Asia, 3=Africa,
+#- 4=Oceania&Pacific, 5=America (if you wonder, it's the order
+#- used in the olympic flag)
+#- [4]: special value for LANGUAGE variable (if different of the default
+#- of 'll_CC:ll_DD:ll' (ll_CC: locale (if exist) resulting of the
+#- combination of chosen lang (ll) and country (CC), ll_DD: the
+#- default locale shown here (field [2]) and ll: the language (the key))
+our %langs = (
+'af' => [ 'Afrikaans', 'Afrikaans', 'af_ZA', ' 3 ', 'iso-8859-1' ],
+'am' => [ 'Amharic', 'ZZ emarNa', 'am_ET', ' 3 ', 'utf_ethi' ],
+'ar' => [ 'Arabic', 'AA Arabic', 'ar_EG', ' 23 ', 'utf_ar' ],
+'as' => [ 'Assamese', 'ZZ Assamese', 'as_IN', ' 2 ', 'utf_beng' ],
+'az' => [ 'Azeri (Latin)', 'Azerbaycanca', 'az_AZ', ' 2 ', 'utf_az' ],
+'be' => [ 'Belarussian', 'Belaruskaya', 'be_BY', '1 ', 'utf_cyr1' ],
+'ber' => [ 'Berber', 'ZZ Tamazight', 'ber_MA', ' 3 ', 'utf_tfng', 'ber_MA:ber:fr' ],
+'bg' => [ 'Bulgarian', 'Blgarski', 'bg_BG', '1 ', 'cp1251' ],
+'bn' => [ 'Bengali', 'ZZ Bengali', 'bn_BD', ' 2 ', 'utf_beng' ],
+#- bo_CN not yet done, using dz_BT locale instead
+'bo' => [ 'Tibetan', 'ZZ Bod skad', 'dz_BT', ' 2 ', 'utf_tibt', 'bo' ],
+'br' => [ 'Breton', 'Brezhoneg', 'br_FR', '1 ', 'iso-8859-15', 'br:fr_FR:fr' ],
+'bs' => [ 'Bosnian', 'Bosanski', 'bs_BA', '1 ', 'iso-8859-2' ],
+'ca' => [ 'Catalan', 'Catala', 'ca_ES', '1 ', 'iso-8859-15', 'ca:es_ES:es' ],
+'ca@valencian' => [ 'Catalan (Valencian)', 'Catala (Valencia)', 'ca_ES', '1 ', 'iso-8859-15', 'ca_ES@valencian:ca@valencian:ca:es_ES:es' ],
+'cs' => [ 'Czech', 'Cestina', 'cs_CZ', '1 ', 'iso-8859-2' ],
+'cy' => [ 'Welsh', 'Cymraeg', 'cy_GB', '1 ', 'utf_lat8', 'cy:en_GB:en' ],
+'da' => [ 'Danish', 'Dansk', 'da_DK', '1 ', 'iso-8859-15' ],
+'de' => [ 'German', 'Deutsch', 'de_DE', '1 ', 'iso-8859-15' ],
+'dz' => [ 'Buthanese', 'ZZ Dzhonka', 'dz_BT', ' 2 ', 'utf_tibt' ],
+'el' => [ 'Greek', 'Ellynika', 'el_GR', '1 ', 'iso-8859-7' ],
+'en_AU' => [ 'English (Australia)', 'English (AU)', 'en_AU', ' 4 ', 'iso-8859-1', 'en_AU:en_GB:en' ],
+'en_CA' => [ 'English (Canada)', 'English (Canada)', 'en_CA', ' 5', 'iso-8859-15', 'en_CA:en_GB:en' ],
+'en_GB' => [ 'English', 'English', 'en_GB', '123 5', 'iso-8859-15' ],
+'en_IE' => [ 'English (Ireland)', 'English (Ireland)', 'en_IE', '1 ', 'iso-8859-15', 'en_IE:en_GB:en' ],
+'en_NZ' => [ 'English (New-Zealand)', 'English (NZ)', 'en_NZ', ' 4 ', 'iso-8859-1', 'en_NZ:en_AU:en_GB:en' ],
+'en_US' => [ 'English (American)', 'English (American)', 'en_US', ' 5', 'C' ],
+'eo' => [ 'Esperanto', 'Esperanto', 'eo_XX', '12345', 'unicode' ],
+'es' => [ 'Spanish', 'Espanol', 'es_ES', '1 3 5', 'iso-8859-15' ],
+'et' => [ 'Estonian', 'Eesti', 'et_EE', '1 ', 'iso-8859-15' ],
+'eu' => [ 'Euskara (Basque)', 'Euskara', 'eu_ES', '1 ', 'utf_lat1' ],
+'fa' => [ 'Farsi (Iranian)', 'AA Farsi', 'fa_IR', ' 2 ', 'utf_ar' ],
+'fi' => [ 'Finnish (Suomi)', 'Suomi', 'fi_FI', '1 ', 'iso-8859-15' ],
+#- 'tl' in priority position for now, as 'fil' is not much used.
+#- Monolingual window managers will not see the menus otherwise
+'fil' => [ 'Filipino', 'Filipino', 'fil_PH', ' 2 ', 'utf_lat1', 'tl:fil' ],
+'fo' => [ 'Faroese', 'Foroyskt', 'fo_FO', '1 ', 'utf_lat1' ],
+'fr' => [ 'French', 'Francais', 'fr_FR', '1 345', 'iso-8859-15' ],
+'fur' => [ 'Furlan', 'Furlan', 'fur_IT', '1 ', 'utf_lat1', 'fur:it_IT:it' ],
+'fy' => [ 'Frisian', 'Frysk', 'fy_NL', '1 ', 'utf_lat1' ],
+'ga' => [ 'Gaelic (Irish)', 'Gaeilge', 'ga_IE', '1 ', 'utf_lat1', 'ga:en_IE:en_GB:en' ],
+#'gd' => [ 'Gaelic (Scottish)', 'Gaidhlig', 'gd_GB', '1 ', 'utf_lat8', 'gd:en_GB:en' ],
+'gl' => [ 'Galician', 'Galego', 'gl_ES', '1 ', 'iso-8859-15', 'gl:es_ES:es:pt:pt_BR' ],
+#- gn_PY not yet done, using es_PY locale instead
+'gn' => [ 'Guarani', 'Avane-e', 'es_PY', ' 5', 'utf_lat1', 'gn:es_PY:es' ],
+'gu' => [ 'Gujarati', 'ZZ Gujarati', 'gu_IN', ' 2 ', 'unicode' ],
+#'gv' => [ 'Gaelic (Manx)', 'Gaelg', 'gv_GB', '1 ', 'utf_lat8', 'gv:en_GB:en' ],
+'ha' => [ 'Hausa', 'Hausa', 'ha_NG', ' 3 ', 'utf_yo', 'ha:en_NG' ],
+'he' => [ 'Hebrew', 'AA Ivrit', 'he_IL', ' 2 ', 'utf_he' ],
+'hi' => [ 'Hindi', 'ZZ Hindi', 'hi_IN', ' 2 ', 'utf_deva' ],
+'hr' => [ 'Croatian', 'Hrvatski', 'hr_HR', '1 ', 'iso-8859-2' ],
+'hu' => [ 'Hungarian', 'Magyar', 'hu_HU', '1 ', 'iso-8859-2' ],
+'hy' => [ 'Armenian', 'ZZ Armenian', 'hy_AM', ' 2 ', 'utf_armn' ],
+# locale not done yet
+#'ia' => [ 'Interlingua', 'Interlingua', 'ia_XX', '1 5', 'utf_lat1' ],
+'id' => [ 'Indonesian', 'Bahasa Indonesia', 'id_ID', ' 2 ', 'utf_lat1' ],
+'ig' => [ 'Igbo', 'Igbo', 'ig_NG', ' 3 ', 'utf_yo', 'ig:en_NG' ],
+'is' => [ 'Icelandic', 'Islenska', 'is_IS', '1 ', 'iso-8859-15' ],
+'it' => [ 'Italian', 'Italiano', 'it_IT', '1 ', 'iso-8859-15' ],
+'iu' => [ 'Inuktitut', 'ZZ Inuktitut', 'iu_CA', ' 5', 'utf_iu' ],
+'ja' => [ 'Japanese', 'ZZ Nihongo', 'ja_JP', ' 2 ', 'jisx0208' ],
+'ka' => [ 'Georgian', 'ZZ Georgian', 'ka_GE', ' 2 ', 'utf_geor' ],
+'kk' => [ 'Kazakh', 'Kazak', 'kk_KZ', ' 2 ', 'utf_cyr2' ],
+'kl' => [ 'Greenlandic (inuit)', 'Kalaallisut', 'kl_GL', ' 5', 'utf_lat1' ],
+'km' => [ 'Khmer', 'ZZ Khmer', 'km_KH', ' 2 ', 'utf_khmr' ],
+'kn' => [ 'Kannada', 'ZZ Kannada', 'kn_IN', ' 2 ', 'utf_knda' ],
+'ko' => [ 'Korean', 'ZZ Korea', 'ko_KR', ' 2 ', 'ksc5601' ],
+'ku' => [ 'Kurdish', 'Kurdi', 'ku_TR', ' 2 ', 'utf_lat5' ],
+#-'kw' => [ 'Cornish', 'Kernewek', 'kw_GB', '1 ', 'utf_lat8', 'kw:en_GB:en' ],
+'ky' => [ 'Kyrgyz', 'Kyrgyz', 'ky_KG', ' 2 ', 'utf_cyr2' ],
+#- lb_LU not yet done, using de_LU locale instead
+'lb' => [ 'Luxembourgish', 'Letzebuergesch', 'de_LU', '1 ', 'utf_lat1', 'lb:de_LU' ],
+'li' => [ 'Limbourgish', 'Limburgs', 'li_NL', '1 ', 'utf_lat1' ],
+'lo' => [ 'Laotian', 'Laotian', 'lo_LA', ' 2 ', 'utf_laoo' ],
+'lt' => [ 'Lithuanian', 'Lietuviskai', 'lt_LT', '1 ', 'iso-8859-13' ],
+#- ltg_LV locale not done yet, using lv_LV for now
+#- "ltg" is not a standard lang code, ISO-639 code was refused;
+#- LTG_LV should be used instead (uppercase is for non-standard
+#- langcodes, as defined by locale naming standard
+'ltg' => [ 'Latgalian', 'Latgalisu', 'lv_LV', '1 ', 'utf_lat7', 'ltg:LTG:lv' ],
+#'lu' => [ 'Luganda', 'Luganda', 'lg_UG', ' 3 ', 'utf_lat1' ],
+'lv' => [ 'Latvian', 'Latviesu', 'lv_LV', '1 ', 'iso-8859-13' ],
+'mi' => [ 'Maori', 'Maori', 'mi_NZ', ' 4 ', 'utf_lat7' ],
+'mk' => [ 'Macedonian', 'Makedonski', 'mk_MK', '1 ', 'utf_cyr1' ],
+'ml' => [ 'Malayalam', 'ZZ Malayalam', 'ml_IN', ' 2 ', 'utf_mlym' ],
+'mn' => [ 'Mongolian', 'Mongol', 'mn_MN', ' 2 ', 'utf_cyr2' ],
+'mr' => [ 'Marathi', 'ZZ Marathi', 'mr_IN', ' 2 ', 'utf_deva' ],
+'ms' => [ 'Malay', 'Bahasa Melayu', 'ms_MY', ' 2 ', 'utf_lat1' ],
+'mt' => [ 'Maltese', 'Maltin', 'mt_MT', '1 3 ', 'unicode' ],
+#- "my_MM" not yet done, using "en_US" for now
+'my' => [ 'Burmese', 'ZZ Bamaca', 'en_US', ' 2 ', 'utf_mymr', 'my_MM:my' ],
+'nb' => [ 'Norwegian Bokmaal', 'Norsk, Bokmal', 'nb_NO', '1 ', 'iso-8859-15', 'nb:no' ],
+'nds' => [ 'Low Saxon', 'Platduutsch', 'nds_DE', '1 ', 'utf_lat1', 'nds_DE:nds' ],
+'ne' => [ 'Nepali', 'ZZ Nepali', 'ne_NP', ' 2 ', 'utf_deva' ],
+'nl' => [ 'Dutch', 'Nederlands', 'nl_NL', '1 ', 'iso-8859-15' ],
+'nn' => [ 'Norwegian Nynorsk', 'Norsk, Nynorsk', 'nn_NO', '1 ', 'iso-8859-15', 'nn:no@nynorsk:no_NY:no:nb' ],
+'nr' => [ 'Ndebele', 'IsiNdebele', 'nr_ZA', ' 3 ', 'utf_lat1', 'nr:en_ZA' ],
+'nso' => [ 'Northern Sotho', 'Sesotho sa Leboa', 'nso_ZA', ' 3 ', 'utf_lat1', 'st:nso:en_ZA' ],
+'oc' => [ 'Occitan', 'Occitan', 'oc_FR', '1 ', 'utf_lat1', 'oc:fr_FR:fr' ],
+'pa_IN' => [ 'Punjabi (gurmukhi)', 'ZZ Punjabi', 'pa_IN', ' 2 ', 'utf_guru' ],
+'pl' => [ 'Polish', 'Polski', 'pl_PL', '1 ', 'iso-8859-2' ],
+'pt' => [ 'Portuguese', 'Portugues', 'pt_PT', '1 3 ', 'iso-8859-15', 'pt_PT:pt:pt_BR' ],
+'pt_BR' => [ 'Portuguese Brazil', 'Portugues do Brasil', 'pt_BR', ' 5', 'iso-8859-1', 'pt_BR:pt_PT:pt' ],
+#- qu_PE not yet done, using es_PE locale instead
+'qu' => [ 'Quichua', 'Runa Simi', 'es_PE', ' 5', 'utf_lat1', 'qu:es_PE:es' ],
+'ro' => [ 'Romanian', 'Romana', 'ro_RO', '1 ', 'iso-8859-2' ],
+'ru' => [ 'Russian', 'Russkij', 'ru_RU', '12 ', 'koi8-u' ],
+'rw' => [ 'Kinyarwanda', 'Kinyarwanda', 'rw_RW', ' 3 ', 'utf_lat1', 'rw' ],
+'sc' => [ 'Sardinian', 'Sardu', 'sc_IT', '1 ', 'utf_lat1', 'sc:it_IT:it' ],
+'se' => [ 'Saami', 'Samegiella', 'se_NO', '1 ', 'unicode' ],
+'sk' => [ 'Slovak', 'Slovencina', 'sk_SK', '1 ', 'iso-8859-2' ],
+'sl' => [ 'Slovenian', 'Slovenscina', 'sl_SI', '1 ', 'iso-8859-2' ],
+'so' => [ 'Somali', 'Soomaali', 'so_SO', ' 3 ', 'utf_lat1' ],
+'sq' => [ 'Albanian', 'Shqip', 'sq_AL', '1 ', 'iso-8859-1' ],
+'sr' => [ 'Serbian Cyrillic', 'Srpska', 'sr_CS', '1 ', 'utf_cyr1', 'sp:sr' ],
+#- "sh" comes first, because otherwise, due to the way glibc does language
+#- fallback, if "sr@Latn" is not there but a "sr" (whichs uses cyrillic)
+#- is there, "sh" will never be used.
+'sr@Latn' => [ 'Serbian Latin', 'Srpska', 'sr_CS', '1 ', 'unicode', 'sh:sr@Latn' ],
+'ss' => [ 'Swati', 'SiSwati', 'ss_ZA', ' 3 ', 'utf_lat1', 'ss:en_ZA' ],
+'st' => [ 'Sotho', 'Sesotho', 'st_ZA', ' 3 ', 'utf_lat1', 'st:nso:en_ZA' ],
+'sv' => [ 'Swedish', 'Svenska', 'sv_SE', '1 ', 'iso-8859-15' ],
+'ta' => [ 'Tamil', 'ZZ Tamil', 'ta_IN', ' 2 ', 'utf_taml' ],
+'te' => [ 'Telugu', 'ZZ Telugu', 'te_IN', ' 2 ', 'unicode' ],
+'tg' => [ 'Tajik', 'Tojiki', 'tg_TJ', ' 2 ', 'utf_cyr2' ],
+'th' => [ 'Thai', 'ZZ Thai', 'th_TH', ' 2 ', 'tis620' ],
+'tk' => [ 'Turkmen', 'Turkmence', 'tk_TM', ' 2 ', 'utf_az' ],
+'tn' => [ 'Tswana', 'Setswana', 'tn_ZA', ' 3 ', 'utf_lat1', 'tn:en_ZA' ],
+'tr' => [ 'Turkish', 'Turkce', 'tr_TR', '12 ', 'iso-8859-9' ],
+'ts' => [ 'Tsonga', 'Xitsonga', 'ts_ZA', ' 3 ', 'utf_lat1', 'ts:en_ZA' ],
+'tt' => [ 'Tatar', 'Tatarca', 'tt_RU', ' 2 ', 'utf_lat5' ],
+'ug' => [ 'Uyghur', 'AA Uyghur', 'ug_CN', ' 2 ', 'utf_ar', 'ug' ],
+'uk' => [ 'Ukrainian', 'Ukrayinska', 'uk_UA', '1 ', 'koi8-u' ],
+'ur' => [ 'Urdu', 'AA Urdu', 'ur_PK', ' 2 ', 'utf_ar' ],
+'uz@Latn' => [ 'Uzbek (latin)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz@Latn:uz' ],
+'uz' => [ 'Uzbek (cyrillic)', 'Ozbekcha', 'uz_UZ', ' 2 ', 'utf_cyr2', 'uz@Cyrl:uz' ],
+'ve' => [ 'Venda', 'Tshivenda', 've_ZA', ' 3 ', 'utf_lat1', 've:ven:en_ZA' ],
+'vi' => [ 'Vietnamese', 'Tieng Viet', 'vi_VN', ' 2 ', 'utf_vi' ],
+'wa' => [ 'Walon', 'Walon', 'wa_BE', '1 ', 'utf_lat1', 'wa:fr_BE:fr' ],
+#- locale "wen_DE" not done yet, using "de_DE" instead
+#- wen disabled until we have a perl-install/pixmaps/langs/lang-wen.png for it
+#'wen' => [ 'Sorbian', 'Sorbian', 'de_DE', '1 ', 'utf_lat1', 'wen' ],
+'xh' => [ 'Xhosa', 'IsiXhosa', 'xh_ZA', ' 3 ', 'utf_lat1', 'xh:en_ZA' ],
+'yi' => [ 'Yiddish', 'AA Yidish', 'yi_US', '1 ', 'utf_he' ],
+'yo' => [ 'Yoruba', 'Yoruba', 'yo_NG', ' 3 ', 'utf_yo', 'yo:en_NG' ],
+'zh_CN' => [ 'Chinese Simplified', 'ZZ ZhongWen', 'zh_CN', ' 2 ', 'gb2312', 'zh_CN.GBK:zh_CN.GB2312:zh_CN:zh' ],
+'zh_TW' => [ 'Chinese Traditional', 'ZZ ZhongWen', 'zh_TW', ' 2 ', 'Big5', 'zh_TW.Big5:zh_TW:zh_HK:zh' ],
+'zu' => [ 'Zulu', 'IsiZulu', 'zu_ZA', ' 3 ', 'utf_lat1', 'xh:en_ZA' ],
+);
+sub l2name { exists $langs{$_[0]} && $langs{$_[0]}[0] }
+sub l2transliterated { exists $langs{$_[0]} && $langs{$_[0]}[1] }
+sub l2locale { exists $langs{$_[0]} && $langs{$_[0]}[2] }
+sub l2location {
+ my ($lang) = @_;
+ my %geo = (1 => 'Europe', 2 => 'Asia', 3 => 'Africa', 4 => 'Oceania/Pacific', 5 => 'America');
+ map { $geo{$_} } grep { $langs{$lang} && $langs{$lang}[3] =~ $_ } 1..5;
+}
+sub l2charset { exists $langs{$_[0]} && $langs{$_[0]}[4] }
+sub l2language { exists $langs{$_[0]} && $langs{$_[0]}[5] }
+sub list_langs {
+ my (%options) = @_;
+ my @l = keys %langs;
+ $options{exclude_non_installed} ? grep { -e "/usr/share/locale/" . l2locale($_) . "/LC_CTYPE" } @l : @l;
+}
+
+sub text_direction_rtl() {
+#-PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#-PO: or as "default:RTL", depending if your language is written from
+#-PO: left to right, or from right to left; any other string is wrong.
+ N("default:LTR") eq "default:RTL";
+}
+
+
+#- key: country name (that should be YY in xx_YY locale)
+#- [0]: country name in natural language
+#- [1]: default locale for that country
+#- [2]: geographic groups that this country belongs to (for displaying
+#- in the menu grouped in smaller lists), 1=Europe, 2=Asia, 3=Africa,
+#- 4=Oceania&Pacific, 5=America (if you wonder, it's the order
+#- used in the olympic flag)
+#-
+#- Note: for countries for which a glibc locale do not exist (yet) I tried to
+#- put a locale that makes sense; and a '#' at the end of the line to show
+#- the locale is not the "correct" one. 'en_US' is used when no good choice
+#- is available.
+my %countries = (
+'AD' => [ N_("Andorra"), 'ca_AD', '1' ],
+'AE' => [ N_("United Arab Emirates"), 'ar_AE', '2' ],
+'AF' => [ N_("Afghanistan"), 'en_US', '2' ], #
+'AG' => [ N_("Antigua and Barbuda"), 'en_US', '5' ], #
+'AI' => [ N_("Anguilla"), 'en_US', '5' ], #
+'AL' => [ N_("Albania"), 'sq_AL', '1' ],
+'AM' => [ N_("Armenia"), 'hy_AM', '2' ],
+'AN' => [ N_("Netherlands Antilles"), 'en_US', '5' ], #
+'AO' => [ N_("Angola"), 'pt_PT', '3' ], #
+'AQ' => [ N_("Antarctica"), 'en_US', '4' ], #
+'AR' => [ N_("Argentina"), 'es_AR', '5' ],
+'AS' => [ N_("American Samoa"), 'en_US', '4' ], #
+'AT' => [ N_("Austria"), 'de_AT', '1' ],
+'AU' => [ N_("Australia"), 'en_AU', '4' ],
+'AW' => [ N_("Aruba"), 'en_US', '5' ], #
+'AZ' => [ N_("Azerbaijan"), 'az_AZ', '1' ],
+'BA' => [ N_("Bosnia and Herzegovina"), 'bs_BA', '1' ],
+'BB' => [ N_("Barbados"), 'en_US', '5' ], #
+'BD' => [ N_("Bangladesh"), 'bn_BD', '2' ],
+'BE' => [ N_("Belgium"), 'fr_BE', '1' ],
+'BF' => [ N_("Burkina Faso"), 'en_US', '3' ], #
+'BG' => [ N_("Bulgaria"), 'bg_BG', '1' ],
+'BH' => [ N_("Bahrain"), 'ar_BH', '2' ],
+'BI' => [ N_("Burundi"), 'en_US', '3' ], #
+'BJ' => [ N_("Benin"), 'fr_FR', '3' ], #
+'BM' => [ N_("Bermuda"), 'en_US', '5' ], #
+'BN' => [ N_("Brunei Darussalam"), 'ar_EG', '2' ], #
+'BO' => [ N_("Bolivia"), 'es_BO', '5' ],
+'BR' => [ N_("Brazil"), 'pt_BR', '5' ],
+'BS' => [ N_("Bahamas"), 'en_US', '5' ], #
+'BT' => [ N_("Bhutan"), 'dz_BT', '2' ],
+'BV' => [ N_("Bouvet Island"), 'en_US', '3' ], #
+'BW' => [ N_("Botswana"), 'en_BW', '3' ],
+'BY' => [ N_("Belarus"), 'be_BY', '1' ],
+'BZ' => [ N_("Belize"), 'en_US', '5' ], #
+'CA' => [ N_("Canada"), 'en_CA', '5' ],
+'CC' => [ N_("Cocos (Keeling) Islands"), 'en_US', '4' ], #
+'CD' => [ N_("Congo (Kinshasa)"), 'fr_FR', '3' ], #
+'CF' => [ N_("Central African Republic"), 'fr_FR', '3' ], #
+'CG' => [ N_("Congo (Brazzaville)"), 'fr_FR', '3' ], #
+'CH' => [ N_("Switzerland"), 'de_CH', '1' ],
+'CI' => [ N_("Cote d'Ivoire"), 'fr_FR', '3' ], #
+'CK' => [ N_("Cook Islands"), 'en_US', '4' ], #
+'CL' => [ N_("Chile"), 'es_CL', '5' ],
+'CM' => [ N_("Cameroon"), 'fr_FR', '3' ], #
+'CN' => [ N_("China"), 'zh_CN', '2' ],
+'CO' => [ N_("Colombia"), 'es_CO', '5' ],
+'CR' => [ N_("Costa Rica"), 'es_CR', '5' ],
+'CS' => [ N_("Serbia & Montenegro"), 'sr_CS', '1' ],
+'CU' => [ N_("Cuba"), 'es_DO', '5' ], #
+'CV' => [ N_("Cape Verde"), 'pt_PT', '3' ], #
+'CX' => [ N_("Christmas Island"), 'en_US', '4' ], #
+'CY' => [ N_("Cyprus"), 'el_CY', '1' ],
+'CZ' => [ N_("Czech Republic"), 'cs_CZ', '2' ],
+'DE' => [ N_("Germany"), 'de_DE', '1' ],
+'DJ' => [ N_("Djibouti"), 'en_US', '3' ], #
+'DK' => [ N_("Denmark"), 'da_DK', '1' ],
+'DM' => [ N_("Dominica"), 'en_US', '5' ], #
+'DO' => [ N_("Dominican Republic"), 'es_DO', '5' ],
+'DZ' => [ N_("Algeria"), 'ar_DZ', '3' ],
+'EC' => [ N_("Ecuador"), 'es_EC', '5' ],
+'EE' => [ N_("Estonia"), 'et_EE', '1' ],
+'EG' => [ N_("Egypt"), 'ar_EG', '3' ],
+'EH' => [ N_("Western Sahara"), 'ar_MA', '3' ], #
+'ER' => [ N_("Eritrea"), 'ti_ER', '3' ],
+'ES' => [ N_("Spain"), 'es_ES', '1' ],
+'ET' => [ N_("Ethiopia"), 'am_ET', '3' ],
+'FI' => [ N_("Finland"), 'fi_FI', '1' ],
+'FJ' => [ N_("Fiji"), 'en_US', '4' ], #
+'FK' => [ N_("Falkland Islands (Malvinas)"), 'en_GB', '5' ], #
+'FM' => [ N_("Micronesia"), 'en_US', '4' ], #
+'FO' => [ N_("Faroe Islands"), 'fo_FO', '1' ],
+'FR' => [ N_("France"), 'fr_FR', '1' ],
+'GA' => [ N_("Gabon"), 'fr_FR', '3' ], #
+'GB' => [ N_("United Kingdom"), 'en_GB', '1' ],
+'GD' => [ N_("Grenada"), 'en_US', '5' ], #
+'GE' => [ N_("Georgia"), 'ka_GE', '2' ],
+'GF' => [ N_("French Guiana"), 'fr_FR', '5' ], #
+'GH' => [ N_("Ghana"), 'en_GB', '3' ], #
+'GI' => [ N_("Gibraltar"), 'en_GB', '1' ], #
+'GL' => [ N_("Greenland"), 'kl_GL', '5' ],
+'GM' => [ N_("Gambia"), 'en_US', '3' ], #
+'GN' => [ N_("Guinea"), 'en_US', '3' ], #
+'GP' => [ N_("Guadeloupe"), 'fr_FR', '5' ], #
+'GQ' => [ N_("Equatorial Guinea"), 'en_US', '3' ], #
+'GR' => [ N_("Greece"), 'el_GR', '1' ],
+'GS' => [ N_("South Georgia and the South Sandwich Islands"), 'en_US', '4' ], #
+'GT' => [ N_("Guatemala"), 'es_GT', '5' ],
+'GU' => [ N_("Guam"), 'en_US', '4' ], #
+'GW' => [ N_("Guinea-Bissau"), 'pt_PT', '3' ], #
+'GY' => [ N_("Guyana"), 'en_US', '5' ], #
+'HK' => [ N_("Hong Kong SAR (China)"), 'zh_HK', '2' ],
+'HM' => [ N_("Heard and McDonald Islands"), 'en_US', '4' ], #
+'HN' => [ N_("Honduras"), 'es_HN', '5' ],
+'HR' => [ N_("Croatia"), 'hr_HR', '1' ],
+'HT' => [ N_("Haiti"), 'fr_FR', '5' ], #
+'HU' => [ N_("Hungary"), 'hu_HU', '1' ],
+'ID' => [ N_("Indonesia"), 'id_ID', '2' ],
+'IE' => [ N_("Ireland"), 'en_IE', '1' ],
+'IL' => [ N_("Israel"), 'he_IL', '2' ],
+'IN' => [ N_("India"), 'hi_IN', '2' ],
+'IO' => [ N_("British Indian Ocean Territory"), 'en_GB', '2' ], #
+'IQ' => [ N_("Iraq"), 'ar_IQ', '2' ],
+'IR' => [ N_("Iran"), 'fa_IR', '2' ],
+'IS' => [ N_("Iceland"), 'is_IS', '1' ],
+'IT' => [ N_("Italy"), 'it_IT', '1' ],
+'JM' => [ N_("Jamaica"), 'en_US', '5' ], #
+'JO' => [ N_("Jordan"), 'ar_JO', '2' ],
+'JP' => [ N_("Japan"), 'ja_JP', '2' ],
+'KE' => [ N_("Kenya"), 'en_ZW', '3' ], #
+'KG' => [ N_("Kyrgyzstan"), 'ky_KG', '2' ],
+'KH' => [ N_("Cambodia"), 'km_KH', '2' ],
+'KI' => [ N_("Kiribati"), 'en_US', '3' ], #
+'KM' => [ N_("Comoros"), 'en_US', '2' ], #
+'KN' => [ N_("Saint Kitts and Nevis"), 'en_US', '5' ], #
+'KP' => [ N_("Korea (North)"), 'ko_KR', '2' ], #
+'KR' => [ N_("Korea"), 'ko_KR', '2' ],
+'KW' => [ N_("Kuwait"), 'ar_KW', '2' ],
+'KY' => [ N_("Cayman Islands"), 'en_US', '5' ], #
+'KZ' => [ N_("Kazakhstan"), 'kk_KZ', '2' ],
+'LA' => [ N_("Laos"), 'lo_LA', '2' ],
+'LB' => [ N_("Lebanon"), 'ar_LB', '2' ],
+'LC' => [ N_("Saint Lucia"), 'en_US', '5' ], #
+'LI' => [ N_("Liechtenstein"), 'de_CH', '1' ], #
+'LK' => [ N_("Sri Lanka"), 'si_LK', '2' ],
+'LR' => [ N_("Liberia"), 'en_US', '3' ], #
+'LS' => [ N_("Lesotho"), 'en_BW', '3' ], #
+'LT' => [ N_("Lithuania"), 'lt_LT', '1' ],
+'LU' => [ N_("Luxembourg"), 'de_LU', '1' ], # lb_LU
+'LV' => [ N_("Latvia"), 'lv_LV', '1' ],
+'LY' => [ N_("Libya"), 'ar_LY', '3' ],
+'MA' => [ N_("Morocco"), 'ar_MA', '3' ],
+'MC' => [ N_("Monaco"), 'fr_FR', '1' ], #
+'MD' => [ N_("Moldova"), 'ro_RO', '1' ], #
+'MG' => [ N_("Madagascar"), 'mg_MG', '3' ],
+'MH' => [ N_("Marshall Islands"), 'en_US', '4' ], #
+'MK' => [ N_("Macedonia"), 'mk_MK', '1' ],
+'ML' => [ N_("Mali"), 'en_US', '3' ], #
+'MM' => [ N_("Myanmar"), 'en_US', '2' ], # my_MM
+'MN' => [ N_("Mongolia"), 'mn_MN', '2' ],
+'MP' => [ N_("Northern Mariana Islands"), 'en_US', '2' ], #
+'MQ' => [ N_("Martinique"), 'fr_FR', '5' ], #
+'MR' => [ N_("Mauritania"), 'en_US', '3' ], #
+'MS' => [ N_("Montserrat"), 'en_US', '5' ], #
+'MT' => [ N_("Malta"), 'mt_MT', '1' ],
+'MU' => [ N_("Mauritius"), 'en_US', '3' ], #
+'MV' => [ N_("Maldives"), 'en_US', '4' ], #
+'MW' => [ N_("Malawi"), 'en_US', '3' ], #
+'MX' => [ N_("Mexico"), 'es_MX', '5' ],
+'MY' => [ N_("Malaysia"), 'ms_MY', '2' ],
+'MZ' => [ N_("Mozambique"), 'pt_PT', '3' ], #
+'NA' => [ N_("Namibia"), 'en_US', '3' ], #
+'NC' => [ N_("New Caledonia"), 'fr_FR', '4' ], #
+'NE' => [ N_("Niger"), 'en_US', '3' ], #
+'NF' => [ N_("Norfolk Island"), 'en_GB', '4' ], #
+'NG' => [ N_("Nigeria"), 'en_NG', '3' ],
+'NI' => [ N_("Nicaragua"), 'es_NI', '5' ],
+'NL' => [ N_("Netherlands"), 'nl_NL', '1' ],
+'NO' => [ N_("Norway"), 'nb_NO', '1' ],
+'NP' => [ N_("Nepal"), 'ne_NP', '2' ],
+'NR' => [ N_("Nauru"), 'en_US', '4' ], #
+'NU' => [ N_("Niue"), 'en_US', '4' ], #
+'NZ' => [ N_("New Zealand"), 'en_NZ', '4' ],
+'OM' => [ N_("Oman"), 'ar_OM', '2' ],
+'PA' => [ N_("Panama"), 'es_PA', '5' ],
+'PE' => [ N_("Peru"), 'es_PE', '5' ],
+'PF' => [ N_("French Polynesia"), 'fr_FR', '4' ], #
+'PG' => [ N_("Papua New Guinea"), 'en_NZ', '4' ], #
+'PH' => [ N_("Philippines"), 'fil_PH', '2' ],
+'PK' => [ N_("Pakistan"), 'ur_PK', '2' ],
+'PL' => [ N_("Poland"), 'pl_PL', '1' ],
+'PM' => [ N_("Saint Pierre and Miquelon"), 'fr_CA', '5' ], #
+'PN' => [ N_("Pitcairn"), 'en_US', '4' ], #
+'PR' => [ N_("Puerto Rico"), 'es_PR', '5' ],
+'PS' => [ N_("Palestine"), 'ar_JO', '2' ], #
+'PT' => [ N_("Portugal"), 'pt_PT', '1' ],
+'PY' => [ N_("Paraguay"), 'es_PY', '5' ],
+'PW' => [ N_("Palau"), 'en_US', '2' ], #
+'QA' => [ N_("Qatar"), 'ar_QA', '2' ],
+'RE' => [ N_("Reunion"), 'fr_FR', '2' ], #
+'RO' => [ N_("Romania"), 'ro_RO', '1' ],
+'RU' => [ N_("Russia"), 'ru_RU', '1' ],
+'RW' => [ N_("Rwanda"), 'rw_RW', '3' ],
+'SA' => [ N_("Saudi Arabia"), 'ar_SA', '2' ],
+'SB' => [ N_("Solomon Islands"), 'en_US', '4' ], #
+'SC' => [ N_("Seychelles"), 'en_US', '4' ], #
+'SD' => [ N_("Sudan"), 'ar_SD', '5' ],
+'SE' => [ N_("Sweden"), 'sv_SE', '1' ],
+'SG' => [ N_("Singapore"), 'en_SG', '2' ],
+'SH' => [ N_("Saint Helena"), 'en_GB', '5' ], #
+'SI' => [ N_("Slovenia"), 'sl_SI', '1' ],
+'SJ' => [ N_("Svalbard and Jan Mayen Islands"), 'en_US', '1' ], #
+'SK' => [ N_("Slovakia"), 'sk_SK', '1' ],
+'SL' => [ N_("Sierra Leone"), 'en_US', '3' ], #
+'SM' => [ N_("San Marino"), 'it_IT', '1' ], #
+'SN' => [ N_("Senegal"), 'fr_FR', '3' ], #
+'SO' => [ N_("Somalia"), 'so_SO', '3' ],
+'SR' => [ N_("Suriname"), 'nl_NL', '5' ], #
+'ST' => [ N_("Sao Tome and Principe"), 'en_US', '5' ], #
+'SV' => [ N_("El Salvador"), 'es_SV', '5' ],
+'SY' => [ N_("Syria"), 'ar_SY', '2' ],
+'SZ' => [ N_("Swaziland"), 'en_BW', '3' ], #
+'TC' => [ N_("Turks and Caicos Islands"), 'en_US', '5' ], #
+'TD' => [ N_("Chad"), 'en_US', '3' ], #
+'TF' => [ N_("French Southern Territories"), 'fr_FR', '4' ], #
+'TG' => [ N_("Togo"), 'fr_FR', '3' ], #
+'TH' => [ N_("Thailand"), 'th_TH', '2' ],
+'TJ' => [ N_("Tajikistan"), 'tg_TJ', '2' ],
+'TK' => [ N_("Tokelau"), 'en_US', '4' ], #
+'TL' => [ N_("East Timor"), 'pt_PT', '4' ], #
+'TM' => [ N_("Turkmenistan"), 'tk_TM', '2' ],
+'TN' => [ N_("Tunisia"), 'ar_TN', '5' ],
+'TO' => [ N_("Tonga"), 'en_US', '3' ], #
+'TR' => [ N_("Turkey"), 'tr_TR', '2' ],
+'TT' => [ N_("Trinidad and Tobago"), 'en_US', '5' ], #
+'TV' => [ N_("Tuvalu"), 'en_US', '4' ], #
+'TW' => [ N_("Taiwan"), 'zh_TW', '2' ],
+'TZ' => [ N_("Tanzania"), 'en_US', '3' ], #
+'UA' => [ N_("Ukraine"), 'uk_UA', '1' ],
+'UG' => [ N_("Uganda"), 'lg_UG', '3' ],
+'UM' => [ N_("United States Minor Outlying Islands"), 'en_US', '5' ], #
+'US' => [ N_("United States"), 'en_US', '5' ],
+'UY' => [ N_("Uruguay"), 'es_UY', '5' ],
+'UZ' => [ N_("Uzbekistan"), 'uz_UZ', '2' ],
+'VA' => [ N_("Vatican"), 'it_IT', '1' ], #
+'VC' => [ N_("Saint Vincent and the Grenadines"), 'en_US', '5' ],
+'VE' => [ N_("Venezuela"), 'es_VE', '5' ],
+'VG' => [ N_("Virgin Islands (British)"), 'en_GB', '5' ], #
+'VI' => [ N_("Virgin Islands (U.S.)"), 'en_US', '5' ], #
+'VN' => [ N_("Vietnam"), 'vi_VN', '2' ],
+'VU' => [ N_("Vanuatu"), 'en_US', '4' ], #
+'WF' => [ N_("Wallis and Futuna"), 'fr_FR', '4' ], #
+'WS' => [ N_("Samoa"), 'en_US', '4' ], #
+'YE' => [ N_("Yemen"), 'ar_YE', '2' ],
+'YT' => [ N_("Mayotte"), 'fr_FR', '3' ], #
+'ZA' => [ N_("South Africa"), 'en_ZA', '5' ],
+'ZM' => [ N_("Zambia"), 'en_US', '3' ], #
+'ZW' => [ N_("Zimbabwe"), 'en_ZW', '5' ],
+);
+sub c2name { exists $countries{$_[0]} && translate($countries{$_[0]}[0]) }
+sub c2locale { exists $countries{$_[0]} && $countries{$_[0]}[1] }
+sub list_countries {
+ my (%options) = @_;
+ my @l = keys %countries;
+ $options{exclude_non_installed} ? grep { -e "/usr/share/locale/" . c2locale($_) . "/LC_CTYPE" } @l : @l;
+}
+
+#- this list is built with the following command on the compile cluster:
+#- rpm -qpl /cooker/RPMS/locales-* | grep LC_CTYPE | grep '\.UTF-8' | cut -d'/' -f5 | sed 's/.UTF-8//' | sort | tr '\n' ' ' ; echo
+our @locales = qw(aa_DJ aa_ER aa_ER@saaho aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE as_IN az_AZ be_BY ber_DZ ber_MA bg_BG bn_BD bn_IN br_FR bs_BA byn_ER ca_AD ca_ES ca_FR ca_IT cs_CZ cy_GB da_DK de_AT de_BE de_CH de_DE de_LU dz_BT el_CY el_GR en_AU en_BE en_BW en_CA en_DK en_GB en_HK en_IE en_IN en_NG en_NZ en_PH en_SG en_US en_ZA en_ZW eo_XX es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE eu_ES fa_IR fi_FI fil_PH fo_FO fr_BE fr_CA fr_CH fr_FR fr_LU fur_IT fy_DE fy_NL ga_IE gd_GB gez_ER gez_ER@abegede gez_ET gez_ET@abegede gl_ES gu_IN gv_GB ha_NG he_IL hi_IN hr_HR hsb_DE hu_HU hy_AM id_ID ig_NG ik_CA is_IS it_CH it_IT iu_CA ja_JP ka_GE kk_KZ kl_GL km_KH kn_IN ko_KR ku_TR kw_GB ky_KG lg_UG li_BE li_NL lo_LA lt_LT lv_LV mg_MG mi_NZ mk_MK ml_IN mn_MN mr_IN ms_MY mt_MT nb_NO nds_DE nds_DE@traditional nds_NL ne_NP nl_BE nl_NL nn_NO no_NO nr_ZA nso_ZA oc_FR om_ET om_KE pa_IN pa_PK ph_PH pl_PL pt_BR pt_PT ro_RO ru_RU ru_UA rw_RW sc_IT se_NO sh_YU sid_ET si_LK sk_SK sl_SI so_DJ so_ET so_KE so_SO sq_AL sr_CS sr_CS@Latn sr_YU sr_YU@Latn ss_ZA st_ZA sv_FI sv_SE sw_XX ta_IN te_IN tg_TJ th_TH ti_ER ti_ET tig_ER tk_TM tl_PH tn_ZA tr_CY tr_TR ts_ZA tt_RU ug_CN uk_UA ur_PK uz_UZ uz_UZ@Cyrl uz_UZ@Latn ve_ZA vi_VN wa_BE wal_ET xh_ZA yi_US yo_NG zh_CN zh_HK zh_SG zh_TW zu_ZA);
+
+sub standard_locale {
+ my ($lang, $country, $prefer_lang) = @_;
+ member("${lang}_${country}", @locales) and return "${lang}_${country}";
+ $prefer_lang && member($lang, @locales) and return $lang;
+ my $main_locale = locale_to_main_locale($lang);
+ if ($main_locale ne $lang) {
+ standard_locale($main_locale, $country, $prefer_lang);
+ }
+ '';
+}
+
+sub fix_variant {
+ my ($locale) = @_;
+ #- uz@Cyrl_UZ -> uz_UZ@Cyrl
+ $locale =~ s/(.*)(\@\w+)(_.*)/$1$3$2/;
+ $locale;
+}
+
+sub analyse_locale_name {
+ my ($locale) = @_;
+ $locale =~ /^(.*?) (?:_(.*?))? (?:\.(.*?))? (?:\@(.*?))? $/x &&
+ { main => $1, country => $2, charset => $3, variant => $4 };
+}
+
+sub locale_to_main_locale {
+ my ($locale) = @_;
+ lc(analyse_locale_name($locale)->{main});
+}
+
+sub getlocale_for_lang {
+ my ($lang, $country, $o_utf8) = @_;
+ fix_variant((standard_locale($lang, $country, 'prefer_lang') || l2locale($lang)) . ($o_utf8 ? '.UTF-8' : ''));
+}
+
+sub getlocale_for_country {
+ my ($lang, $country, $o_utf8) = @_;
+ fix_variant((standard_locale($lang, $country, '') || c2locale($country)) . ($o_utf8 ? '.UTF-8' : ''));
+}
+
+sub getLANGUAGE {
+ my ($lang, $o_country, $o_utf8) = @_;
+ l2language($lang) || join(':', uniq(getlocale_for_lang($lang, $o_country, $o_utf8),
+ $lang,
+ locale_to_main_locale($lang)));
+}
+
+#-------------------------------------------------------------
+#
+# IM configuration hash tables
+#
+# in order to configure an IM, one has to:
+# - put generic configuration in %IM_config
+
+
+# This set generic IM fields.
+my @IM_i18n_fields = (
+ 'XMODIFIERS',
+#- is the environnement variable used by the X11 XIM protocol
+#- it is of the form XIMODIFIERS="@im=foo"
+ 'XIM',
+#- is used by some programs, it usually is the like XIMODIFIERS
+#- with the "@im=" part stripped
+ 'GTK_IM_MODULE',
+#- the module to use for Gtk programs ("xim" to use an X11
+#- XIM server; or a a native gtk module if exists)
+ 'XIM_PROGRAM',
+#- the XIM program to run (usually the same as XIM value, but
+#- in some cases different, particularly if parameters are needed;
+ 'QT_IM_MODULE',
+#- the module to use for Qt programs ("xim" to use an X11
+#- XIM server; or a Qt plugin if exists)
+);
+
+# keep the 'packages' field in sync with share/rpmsrate:
+my %IM_config =
+ (
+ ami => {
+ XIM => 'Ami',
+ #- NOTE: there are several possible versions of ami, for the different
+ #- desktops (kde, gnome, etc). So XIM_PROGRAM is not defined; it will
+ #- be the xinitrc script, XIM section, that will choose the right one
+ #- XIM_PROGRAM => 'ami',
+ XMODIFIERS => '@im=Ami',
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ },
+ chinput => {
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ XIM => 'chinput',
+ XMODIFIERS => '@im=Chinput',
+ XIM_PROGRAM => {
+ 'zh_CN' => 'chinput -gb',
+ 'en_SG' => 'chinput -gb',
+ 'zh_HK' => 'chinput -big5',
+ 'zh_TW' => 'chinput -big5',
+ },
+ packages => { generic => 'miniChinput' },
+ },
+ fcitx => {
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ XIM => 'fcitx',
+ XIM_PROGRAM => 'fcitx',
+ XMODIFIERS => '@im=fcitx',
+ },
+ gcin => {
+ GTK_IM_MODULE => 'gcin',
+ QT_IM_MODULE => 'gcin',
+ XIM => 'gcin',
+ XIM_PROGRAM => 'gcin',
+ XMODIFIERS => '@im=gcin',
+ },
+ iiimf => {
+ GTK_IM_MODULE => 'iiim',
+ QT_IM_MODULE => 'iiim',
+ XIM => 'iiimx',
+ XIM_PROGRAM => 'iiimx',
+ XMODIFIERS => '@im=iiimx',
+ packages => {
+ generic => 'iiimf-engines-unit',
+ am => 'iiimf-engines-unit',
+ ja => 'iiimf-engines-canna',
+ ko => 'iiimf-engines-sun-korea',
+ zh => 'iiimf-engines-sun-chinese',
+ },
+ },
+ 'im-ja' => {
+ GTK_IM_MODULE => 'im-ja',
+ QT_IM_MODULE => 'xim',
+ XIM => 'im-ja-xim-server',
+ XIM_PROGRAM => 'im-ja-xim-server',
+ XMODIFIERS => '@im=im-ja-xim-server',
+ },
+
+ kinput2 => {
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ XIM => 'kinput2',
+ XIM_PROGRAM => 'kinput2',
+ XMODIFIERS => '@im=kinput2',
+ packages => { generic => 'kinput2-wnn' },
+ },
+ nabi => {
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ XIM => 'nabi',
+ XIM_PROGRAM => 'nabi',
+ XMODIFIERS => '@im=nabi',
+ },
+
+ oxim => {
+ GTK_IM_MODULE => 'oxim',
+ QT_IM_MODULE => 'oxim',
+ XIM => 'oxim',
+ XIM_PROGRAM => 'oxim',
+ XMODIFIERS => '@im=oxim', # '@im=SCIM' is broken for now
+ packages => { generic => 'oxim' },
+ },
+ 'scim+(default)' => {
+ GTK_IM_MODULE => 'scim',
+ QT_IM_MODULE => 'scim',
+ XIM_PROGRAM => 'scim -d',
+ XMODIFIERS => '@im=SCIM',
+ default_for_lang => 'am ja ko vi zh_CN zh_TW',
+ packages => {
+ generic => 'scim scim-m17n scim-tables',
+ am => 'scim scim-tables ',
+ ja => 'scim-anthy scim-input-pad scim-tomoe',
+ ko => 'scim-hangul',
+ vi => 'scim-m17n',
+ zh => 'scim-pinyin scim-tables scim-chewing',
+ },
+ },
+
+ (map {
+ ("scim+$_" => {
+ GTK_IM_MODULE => 'scim',
+ QT_IM_MODULE => 'scim',
+ XIM_PROGRAM => 'scim -d',
+ XMODIFIERS => '@im=SCIM',
+ packages => { generic => "scim-$_" },
+ });
+ } qw(anthy canna ccinput fcitx m17n prime pinyin skk uim)), # enable to select extra SCIM combinations
+
+ skim => {
+ GTK_IM_MODULE => 'scim',
+ QT_IM_MODULE => 'scim',
+ XIM_PROGRAM => 'skim -d',
+ XMODIFIERS => '@im=SCIM',
+ },
+ uim => {
+ GTK_IM_MODULE => 'uim',
+ QT_IM_MODULE => 'uim',
+ XIM => 'uim',
+ XIM_PROGRAM => 'uim-xim',
+ XMODIFIERS => '@im=uim',
+ packages => { generic => 'uim-gtk uim' },
+ },
+ xcin => {
+ XIM => 'xcin',
+ XIM_PROGRAM => 'xcin',
+ XMODIFIERS => '@im=xcin-zh_TW',
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ },
+ 'x-unikey' => {
+ GTK_IM_MODULE => 'xim',
+ QT_IM_MODULE => 'xim',
+ XMODIFIERS => '@im=unikey',
+ },
+);
+
+sub get_ims() { keys %IM_config }
+
+
+
+#-------------------------------------------------------------
+#
+# Locale configuration regarding encoding/IM
+
+#- ENC is used by some versions or rxvt
+my %locale2ENC = (
+ 'ja' => 'eucj',
+ 'ko' => 'kr',
+ 'zh_CN' => 'gb',
+ # zh_SG zh_HK were reported as missing by make check:
+ 'zh_HK' => 'big5',
+ 'zh_SG' => 'gb',
+ 'zh_TW' => 'big5',
+ );
+
+my %IM_locale_specific_config = (
+ #-XFree86 has an internal XIM for Thai that enables syntax checking etc.
+ #-'Passthroug' is no check at all, 'BasicCheck' accepts bad sequences
+ #-and convert them to right ones, 'Strict' refuses bad sequences
+ 'th' => {
+ XIM_PROGRAM => '/bin/true', #- it's an internal module
+ XMODIFIERS => '"@im=BasicCheck"',
+ },
+ );
+
+
+sub get_default_im {
+ my ($lang) = @_;
+ find {
+ member($lang, split(' ', $IM_config{$_}{default_for_lang}));
+ } keys %IM_config;
+}
+
+sub IM2packages {
+ my ($locale) = @_;
+ if ($locale->{IM}) {
+ my $per_lang = $IM_config{$locale->{IM}}{packages} || {};
+ my $lang = analyse_locale_name($locale->{lang})->{main};
+ split(' ', $per_lang->{$lang} || $per_lang->{generic} || $locale->{IM});
+ } else { () }
+}
+
+#- [0]: console font name
+#- [1]: sfm map for console font (if needed)
+#- [2]: acm file for console font (none if utf8)
+#- [3]: iocharset param for mount (utf8 if utf8)
+#- [4]: codepage parameter for mount (none if utf8)
+my %charsets = (
+#- chinese needs special console driver for text mode
+"Big5" => [ undef, undef, undef, "big5", "950" ],
+"gb2312" => [ undef, undef, undef, "gb2312", "936" ],
+"gbk" => [ undef, undef, undef, "gb2312", "936" ],
+"C" => [ "lat0-16", undef, "iso15", "iso8859-1", "850" ],
+"iso-8859-1" => [ "lat1-16", undef, "iso01", "iso8859-1", "850" ],
+"iso-8859-2" => [ "lat2-sun16", undef, "iso02", "iso8859-2", "852" ],
+"iso-8859-5" => [ "UniCyr_8x16", undef, "iso05", "iso8859-5", "866" ],
+"iso-8859-7" => [ "iso07.f16", undef, "iso07", "iso8859-7", "869" ],
+"iso-8859-9" => [ "lat5u-16", undef, "iso09", "iso8859-9", "857" ],
+"iso-8859-13" => [ "tlat7", undef, "iso13", "iso8859-13", "775" ],
+"iso-8859-15" => [ "lat0-16", undef, "iso15", "iso8859-15", "850" ],
+#- japanese needs special console driver for text mode [kon2]
+"jisx0208" => [ undef, undef, "trivial.trans", "euc-jp", "932" ],
+"koi8-r" => [ "UniCyr_8x16", undef, "koi8-r", "koi8-r", "866" ],
+"koi8-u" => [ "UniCyr_8x16", undef, "koi8-u", "koi8-u", "866" ],
+"cp1251" => [ "UniCyr_8x16", undef, "cp1251", "cp1251", "866" ],
+#- korean needs special console driver for text mode
+"ksc5601" => [ undef, undef, undef, "euc-kr", "949" ],
+#- I have no console font for Thai...
+"tis620" => [ undef, undef, "trivial.trans", "tis-620", "874" ],
+# UTF-8 encodings here; they differ in the console font mainly.
+"utf_ar" => [ "iso06.f16", undef, undef, "utf8", undef ],
+"utf_armn" => [ "arm8", undef, undef, "utf8", undef ],
+"utf_az" => [ "tiso09e", undef, undef, "utf8", undef ],
+"utf_beng" => [ undef, undef, undef, "utf8", undef ],
+"utf_cyr1" => [ "UniCyr_8x16", undef, undef, "utf8", undef ],
+"utf_cyr2" => [ "koi8-k", undef, undef, "utf8", undef ],
+"utf_deva" => [ undef, undef, undef, "utf8", undef ],
+"utf_ethi" => [ "Agafari-16", undef, undef, "utf8", undef ],
+"utf_geor" => [ "t_geors", undef, undef, "utf8", undef ],
+"utf_guru" => [ undef, undef, undef, "utf8", undef ],
+"utf_he" => [ "iso08.f16", undef, undef, "utf8", undef ],
+"utf_iu" => [ undef, undef, undef, "utf8", undef ],
+"utf_khmr" => [ undef, undef, undef, "utf8", undef ],
+"utf_knda" => [ undef, undef, undef, "utf8", undef ],
+"utf_laoo" => [ undef, undef, undef, "utf8", undef ],
+"utf_lat1" => [ "lat0-16", undef, undef, "utf8", undef ],
+"utf_lat5" => [ "lat5u-16", undef, undef, "utf8", undef ],
+"utf_lat7" => [ "tlat7", undef, undef, "utf8", undef ],
+"utf_lat8" => [ "iso14.f16", undef, undef, "utf8", undef ],
+"utf_mlym" => [ undef, undef, undef, "utf8", undef ],
+"utf_mymr" => [ undef, undef, undef, "utf8", undef ],
+"utf_taml" => [ "tamil", undef, undef, "utf8", undef ],
+# console font still to do
+"utf_tfng" => [ undef, undef, undef, "utf8", undef ],
+"utf_tibt" => [ undef, undef, undef, "utf8", undef ],
+"utf_vi" => [ "tcvn8x16", undef, undef, "utf8", undef ],
+"utf_yo" => [ undef, undef, undef, "utf8", undef ],
+# default for utf-8 encodings
+"unicode" => [ "LatArCyrHeb-16", undef, undef, "utf8", undef ],
+);
+
+#- for special cases not handled magically
+my %charset2kde_charset = (
+ gb2312 => 'gb2312.1980-0',
+ gbk => 'gb2312.1980-0',
+ jisx0208 => 'jisx0208.1983-0',
+ ksc5601 => 'ksc5601.1987-0',
+ Big5 => 'big5-0',
+ cp1251 => 'microsoft-cp1251',
+ utf8 => 'iso10646-1',
+ tis620 => 'tis620-0',
+);
+
+#- -------------------
+
+sub l2console_font {
+ my ($locale, $during_install) = @_;
+ my $c = $charsets{l2charset($locale->{lang}) || return} or return;
+ my ($name, $sfm, $acm) = @$c;
+ undef $acm if $locale->{utf8} && !$during_install;
+ ($name, $sfm, $acm);
+}
+
+sub get_kde_lang {
+ my ($locale, $o_default) = @_;
+
+ #- get it using
+ #- echo C $(rpm -qp --qf "%{name}\n" /RPMS/kde-i18n-* | sed 's/kde-i18n-//')
+ my @valid_kde_langs = qw(C
+af ar az be bg bn br bs ca cs cy da de el en_GB eo es et eu fa fi fo fr ga gl he hi hr hsb hu id is it ja ko ku lo lt lv mi mk mn ms mt nb nds nl nn nso oc pa pl pt pt_BR ro ru se sk sl sr ss sv ta tg th tr uk uz ven vi wa wen xh zh_CN zh_TW zu);
+ my %valid_kde_langs; @valid_kde_langs{@valid_kde_langs} = ();
+
+ my $valid_lang = sub {
+ my ($lang) = @_;
+ #- fast & dirty solution to ensure bad entries do not happen
+ my %fixlangs = (en => 'C', en_US => 'C',
+ en_AU => 'en_GB', en_CA => 'en_GB',
+ en_IE => 'en_GB', en_NZ => 'en_GB',
+ pa_IN => 'pa',
+ 'sr@Latn' => 'sr',
+ ve => 'ven',
+ zh_CN => 'zh_CN', zh_SG => 'zh_CN',
+ zh_TW => 'zh_TW', zh_HK => 'zh_TW');
+ exists $fixlangs{$lang} ? $fixlangs{$lang} :
+ exists $valid_kde_langs{$lang} ? $lang :
+ exists $valid_kde_langs{locale_to_main_locale($lang)} ? locale_to_main_locale($lang) : '';
+ };
+
+ my $r;
+ $r ||= $valid_lang->($locale->{lang});
+ $r ||= find { $valid_lang->($_) } split(':', getlocale_for_lang($locale->{lang}, $locale->{country}));
+ $r || $o_default || 'C';
+}
+
+sub charset2kde_charset {
+ my ($charset, $o_default) = @_;
+ my $iocharset = ($charsets{$charset} || [])->[3];
+
+ my @valid_kde_charsets = qw(big5-0 gb2312.1980-0 iso10646-1 iso8859-1 iso8859-4 iso8859-6 iso8859-8 iso8859-13 iso8859-14 iso8859-15 iso8859-2 iso8859-3 iso8859-5 iso8859-7 iso8859-9 koi8-r koi8-u ksc5601.1987-0 jisx0208.1983-0 microsoft-cp1251 tis620-0);
+ my %valid_kde_charsets; @valid_kde_charsets{@valid_kde_charsets} = ();
+
+ my $valid_charset = sub {
+ my ($charset) = @_;
+ #- fast & dirty solution to ensure bad entries do not happen
+ exists $valid_kde_charsets{$charset} && $charset;
+ };
+
+ my $r;
+ $r ||= $valid_charset->($charset2kde_charset{$charset});
+ $r ||= $valid_charset->($charset2kde_charset{$iocharset});
+ $r ||= $valid_charset->($iocharset);
+ $r || $o_default || 'iso10646-1';
+}
+
+#- font+size for different charsets; the field [0] is the default,
+#- others are overrridens for fixed(1), toolbar(2), menu(3) and taskbar(4)
+my %charset2kde_font = (
+ 'C' => [ "Sans,10", "Monospace,10" ],
+ 'iso-8859-1' => [ "Sans,10", "Monospace,10" ],
+ 'iso-8859-2' => [ "Sans,10", "Monospace,10" ],
+ 'iso-8859-7' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'iso-8859-9' => [ "Sans,10", "Monospace,10" ],
+ 'iso-8859-13' => [ "Sans,10", "Monospace,10" ],
+ 'iso-8859-15' => [ "Sans,10", "Monospace,10" ],
+ 'jisx0208' => [ "UmePlus P Gothic,12", "UmePlus Gothic,12" ],
+ 'ksc5601' => [ "Baekmuk Gulim,12" ],
+ 'gb2312' => [ "Sans,10", "Monospace,10" ],
+ 'Big5' => [ "Sans,10", "Monospace,10" ],
+ 'tis620' => [ "Norasi,16", "Norasi,15" ],
+ 'koi8-u' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_ar' => [ "DejaVu Sans,11", "Courier New,13" ],
+ 'utf_az' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_he' => [ "DejaVu Sans,10", "FreeMono,10" ],
+#-'utf_iu' => [ "????,14", ],
+ 'utf_vi' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
+ 'utf_yo' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
+ #- script based
+ 'utf_armn' => [ "DejaVu Sans,11", "FreeMono,11" ],
+ 'utf_cyr2' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_beng' => [ "Mukti Narrow,13", "Mitra Mono,13", "Mukti Narrow,12" ],
+ 'utf_deva' => [ "Raghindi,12", ],
+ 'utf_ethi' => [ "GF Zemen Unicode,13" ],
+ 'utf_guru' => [ "Lohit Punjab,14", ],
+#-'utf_khmr' => [ "????,14", ],
+ 'utf_knda' => [ "Sampige,14", ],
+ 'utf_lat1' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat5' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat7' => [ "Sans,10", "Monospace,10" ],
+ 'utf_lat8' => [ "DejaVu Sans,10", "FreeMono,10" ],
+ 'utf_mlym' => [ "malayalam,12", ],
+#-'utf_mymr' => [ "????,14", ],
+ 'utf_taml' => [ "TSCu_Paranar,14", "Tsc_avarangalfxd,14", "TSCu_Paranar,13", ],
+ 'utf_tfng' => [ "Hapax Berbère,12", ],
+ 'utf_tibt' => [ "Tibetan Machine Uni,14", ],
+ #- the following should be changed to better defaults when better fonts
+ #- get available
+ 'utf_geor' => [ "ClearlyU,13" ],
+ 'utf_laoo' => [ "DejaVu Sans,11", "ClearlyU,13" ],
+ 'default' => [ "DejaVu Sans,12", "FreeMono,11", "DejaVu Sans,11" ],
+);
+
+sub charset2kde_font {
+ my ($charset, $type) = @_;
+
+ my $font = $charset2kde_font{$charset} || $charset2kde_font{default};
+ my $r = $font->[$type] || $font->[0];
+
+ #- the format is "font-name,size,-1,5,0,0,0,0,0,0" I have no idea of the
+ #- meaning of that "5"...
+ "$r,-1,5,0,0,0,0,0,0";
+}
+
+# this define pango name fonts (like "NimbusSans L") depending
+# on the "charset" defined by language array. This allows to selecting
+# an appropriate font for each language for the installer only.
+my %charset2pango_font = (
+ 'utf_geor' => "Sans 14",
+ 'utf_taml' => "TSCu_Paranar 14",
+ 'jisx0208' => "Sans 14",
+ 'utf_ar' => "Sans 15",
+ 'tis620' => "Norasi 20",
+ 'default' => "DejaVu Sans 12"
+);
+
+sub charset2pango_font {
+ my ($charset) = @_;
+
+ $charset2pango_font{exists $charset2pango_font{$charset} ? $charset : 'default'};
+}
+
+sub l2pango_font {
+ my ($lang) = @_;
+
+ my $charset = l2charset($lang) or log::l("no charset found for lang $lang!"), return;
+ my $font = charset2pango_font($charset);
+ log::l("lang:$lang charset:$charset font:$font sfm:$charsets{$charset}[0]");
+
+ return $font;
+}
+
+sub set {
+ my ($locale, $b_translate_for_console) = @_;
+
+ put_in_hash(\%ENV, i18n_env($locale));
+
+ if ($::move) {
+ } elsif (!$::isInstall) {
+ bindtextdomain();
+ } else {
+ $ENV{LC_NUMERIC} = 'C'; #- otherwise eval "1.5" returns 1 in fr_FR
+
+ if ($b_translate_for_console && $locale->{lang} =~ /^(ko|ja|zh|th)/) {
+ log::l("not translating in console");
+ $ENV{LANGUAGE} = 'C';
+ }
+ load_mo();
+ }
+}
+
+sub langs {
+ my ($l) = @_;
+ $l->{all} ? list_langs() : grep { $l->{$_} } keys %$l;
+}
+
+sub langsLANGUAGE {
+ my ($l, $o_c) = @_;
+ uniq(map { split ':', getLANGUAGE($_, $o_c) } langs($l));
+}
+
+sub utf8_should_be_needed {
+ my ($_locale) = @_;
+ 1;
+}
+
+sub pack_langs {
+ my ($l) = @_;
+ my $s = $l->{all} ? 'all' : join ':', uniq(map { getLANGUAGE($_) } langs($l));
+ $s;
+}
+
+sub system_locales_to_ourlocale {
+ my ($locale_lang, $locale_country) = @_;
+ my $locale = {};
+ my $h = analyse_locale_name($locale_lang);
+ my $locale_lang_no_encoding = join('_', $h->{main}, if_($h->{country}, $h->{country}));
+ $locale->{lang} = member($locale_lang_no_encoding, list_langs()) ?
+ $locale_lang_no_encoding : #- special lang's such as en_US pt_BR
+ $h->{main};
+ $locale->{lang} .= '@' . $h->{variant} if $h->{variant};
+ $locale->{country} = analyse_locale_name($locale_country)->{country};
+ $locale->{utf8} = $h->{charset} && $h->{charset} eq 'UTF-8';
+ #- safe fallbacks
+ $locale->{lang} ||= 'en_US';
+ $locale->{country} ||= 'US';
+ $locale;
+}
+
+sub lang_changed {
+ my ($locale) = @_;
+ my $h = analyse_locale_name(l2locale($locale->{lang}));
+ $locale->{country} = $h->{country} if $h->{country};
+
+ $locale->{IM} = get_default_im($locale->{lang});
+}
+
+sub read {
+ my ($b_user_only) = @_;
+ my ($f1, $f2) = ("$::prefix$ENV{HOME}/.i18n", "$::prefix/etc/sysconfig/i18n");
+ my %h = getVarsFromSh($b_user_only && -e $f1 ? $f1 : $f2);
+ my $locale = system_locales_to_ourlocale($h{LC_MESSAGES} || 'en_US', $h{LC_MONETARY} || 'en_US');
+
+ if (find { $h{$_} } @IM_i18n_fields) {
+ my @l = grep { !/^scim/ || /\(default\)/ } keys %IM_config;
+ foreach my $field ('XMODIFIERS', 'XIM_PROGRAM') {
+ $h{$field} or next;
+ my @m = grep { $h{$field} eq $IM_config{$_}{$field} } @l or last;
+ @l = @m;
+ }
+ $locale->{IM} = $l[0] if @l;
+ }
+ $locale;
+}
+
+sub write_langs {
+ my ($langs) = @_;
+ my $s = pack_langs($langs);
+ symlink "$::prefix/etc/rpm", "/etc/rpm" if $::prefix;
+ require URPM;
+ URPM::add_macro("_install_langs $s");
+ substInFile { s/%_install_langs.*//; $_ .= "%_install_langs $s\n" if eof && $s } "$::prefix/etc/rpm/macros";
+}
+
+sub i18n_env {
+ my ($locale) = @_;
+
+ my $locale_lang = getlocale_for_lang($locale->{lang}, $locale->{country}, $locale->{utf8});
+ my $locale_country = getlocale_for_country($locale->{lang}, $locale->{country}, $locale->{utf8});
+
+ my $h = {
+ XKB_IN_USE => '',
+ (map { $_ => $locale_lang } qw(LANG LC_COLLATE LC_CTYPE LC_MESSAGES LC_TIME)),
+ LANGUAGE => getLANGUAGE($locale->{lang}, $locale->{country}, $locale->{utf8}),
+ (map { $_ => $locale_country } qw(LC_NUMERIC LC_MONETARY LC_ADDRESS LC_MEASUREMENT LC_NAME LC_PAPER LC_IDENTIFICATION LC_TELEPHONE))
+ };
+
+ log::l("i18n_env: lang:$locale->{lang} country:$locale->{country} locale|lang:$locale_lang locale|country:$locale_country LANGUAGE:$h->{LANGUAGE}");
+
+ $h;
+}
+
+sub write_and_install {
+ my ($locale, $do_pkgs, $b_user_only, $b_dont_touch_kde_files) = @_;
+
+ my @packages = IM2packages($locale);
+ if (@packages && !$b_user_only) {
+ log::explanations("Installing IM packages: ", join(', ', @packages));
+ $do_pkgs->ensure_are_installed(\@packages, 1);
+ }
+ &write($locale, $b_user_only, $b_dont_touch_kde_files);
+}
+
+sub write {
+ my ($locale, $b_user_only, $b_dont_touch_kde_files) = @_;
+
+ $locale && $locale->{lang} or return;
+
+ my $h = i18n_env($locale);
+
+ my ($name, $sfm, $acm) = l2console_font($locale, 0);
+ if ($name && !$b_user_only) {
+ my $p = "$::prefix/usr/lib/kbd";
+ if ($name) {
+ eval {
+ log::explanations(qq(Set system font to "$name"));
+ my $font = "$p/consolefonts/$name.psf";
+ $font .= ".gz" if ! -e $font;
+ cp_af($font, "$::prefix/etc/sysconfig/console/consolefonts");
+ add2hash $h, { SYSFONT => $name };
+ };
+ $@ and log::explanations("missing console font $name");
+ }
+ if ($sfm) {
+ eval {
+ log::explanations(qq(Set screen font map (Unicode mapping table) to "$name"));
+ cp_af(glob_("$p/consoletrans/$sfm*"), "$::prefix/etc/sysconfig/console/consoletrans");
+ add2hash $h, { UNIMAP => $sfm };
+ };
+ $@ and log::explanations("missing console unimap file $sfm");
+ }
+ if ($acm) {
+ eval {
+ log::explanations(qq(Set application-charset map (Unicode mapping table) to "$name"));
+ cp_af(glob_("$p/consoletrans/$acm*"), "$::prefix/etc/sysconfig/console/consoletrans");
+ add2hash $h, { SYSFONTACM => $acm };
+ };
+ $@ and log::explanations("missing console acm file $acm");
+ }
+
+ }
+
+ add2hash($h, $IM_locale_specific_config{$locale->{lang}});
+ $h->{ENC} = $locale2ENC{$locale->{lang}};
+ $h->{ENC} = 'utf8' if $h->{ENC} && $locale->{utf8};
+
+ if ($locale->{IM}) {
+ log::explanations(qq(Configuring "$locale->{IM}" IM));
+ foreach (@IM_i18n_fields) {
+ $h->{$_} = $IM_config{$locale->{IM}}{$_};
+ }
+ # $h->{QT_IM_MODULE} = $h->{GTK_IM_MODULE};
+
+ if (ref $h->{XIM_PROGRAM}) {
+ $h->{XIM_PROGRAM} =
+ $h->{XIM_PROGRAM}{$locale->{lang}} ||
+ $h->{XIM_PROGRAM}{getlocale_for_country($locale->{lang}, $locale->{country})};
+ }
+ }
+
+ #- deactivate translations on console for most CJK, RTL and complex languages
+ if (member($locale->{lang}, qw(ar bn fa he hi ja kn ko pa_IN ug ur yi zh_TW zh_CN))) {
+ #- CONSOLE_NOT_LOCALIZED if defined to yes, disables translations on console
+ #- it is needed for languages not supported by the linux console
+ log::explanations(qq(Disabling translation on console since "$locale->{lang}" is not supported by the console));
+ add2hash($h, { CONSOLE_NOT_LOCALIZED => 'yes' });
+ }
+
+ my $file = $b_user_only ? "$ENV{HOME}/.i18n" : '/etc/sysconfig/i18n';
+ log::explanations(qq(Setting l10n configuration in "$file"));
+ setVarsInSh($::prefix . $file, $h);
+
+ configure_hal($locale) if !$b_user_only;
+
+ run_program::rooted($::prefix, 'grub-gfxmenu', '--quiet', '--lang', $locale->{lang});
+
+ my $charset = l2charset($locale->{lang});
+ my $qtglobals = $b_user_only ? "$ENV{HOME}/.qt/qtrc" : "$::prefix/etc/qtrc";
+ update_gnomekderc($qtglobals, General => (
+ font => charset2kde_font($charset, 0),
+ ));
+
+ eval {
+ my %dir_defaults = read_gnomekderc("$::prefix/etc/kderc", 'Directories-default');
+ my $confdir = $::prefix . ($b_user_only ? "$ENV{HOME}/.kde" : first(split(',', $dir_defaults{prefixes})) || "/etc/kde") . '/share/config';
+
+ -d $confdir or die 'not configuring kde config files since it is not installed/used';
+
+ configure_kdeglobals($locale, $confdir);
+
+ my %qt_xim = (zh => 'Over The Spot', ko => 'On The Spot', ja => 'On The Spot');
+ if ($b_user_only && (my $qt_xim = $qt_xim{locale_to_main_locale($locale->{lang})})) {
+ log::explanations(qq(Setting XIM input style to "$qt_xim"));
+ update_gnomekderc("$ENV{HOME}/.qt/qtrc", General => (XIMInputStyle => $qt_xim));
+ }
+
+ if (!$b_user_only) {
+ my $kde_charset = charset2kde_charset(l2charset($locale->{lang}));
+ my $welcome = common::to_utf8(N("Welcome to %s", '%n'));
+ log::explanations(qq(Configuring KDM/MdkKDM));
+ substInFile {
+ s/^(GreetString)=.*/$1=$welcome/;
+ s/^(Language)=.*/$1=$locale->{lang}/;
+ if (!member($kde_charset, 'iso8859-1', 'iso8859-15')) {
+ #- do not keep the default for those
+ my $font_list = $charset2kde_font{l2charset($locale->{lang})} || $charset2kde_font{default};
+ my $font_small = $font_list->[0];
+ my $font_huge = $font_small;
+ $font_huge =~ s/(.*?),\d+/$1,24/;
+ s/^(StdFont)=.*/$1=$font_small,5,$kde_charset,50,0/;
+ s/^(FailFont)=.*/$1=$font_small,5,$kde_charset,75,0/;
+ s/^(GreetFont)=.*/$1=$font_huge,5,$kde_charset,50,0/;
+ }
+ } "$::prefix/etc/kde/kdm/kdmrc";
+ }
+
+ } if !$b_dont_touch_kde_files;
+}
+
+sub configure_hal {
+ my ($locale) = @_;
+ my $option = sub {
+ my ($cat, $val) = @_;
+ qq(\t\t<merge key="$cat.policy.mount_option.$val" type="bool">true</merge>);
+ };
+ my %options = (fs_options($locale), utf8 => 1);
+ my %known_options = (
+ auto => [ 'iocharset', 'codepage' ],
+ vfat => [ 'iocharset', 'codepage' ],
+ msdos => [ 'iocharset', 'codepage' ],
+ ntfs => [ 'iocharset', 'utf8' ],
+ cdrom => [ 'iocharset', 'codepage', 'utf8' ],
+ );
+ my $options = sub {
+ my ($cat, $name) = @_;
+ join("\n", map {
+ $option->($cat, $_ eq 'utf8' ? $_ : "$_=$options{$_}");
+ } grep { $options{$_} } @{$known_options{$name}});
+ };
+ my $options_per_fs = join('', map {
+ my $s = $options->('volume', $_);
+ $s && sprintf(<<'EOF', $_, $s);
+ <match key="volume.fstype" string="%s">
+%s
+ </match>
+EOF
+ } 'auto', 'vfat', 'msdos', 'ntfs');
+
+ output_p("$::prefix/usr/share/hal/fdi/30osvendor/locale-policy.fdi",
+ sprintf(<<'EOF', $options_per_fs, $options->('storage', 'cdrom')));
+<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
+
+<deviceinfo version="0.2">
+
+ <device>
+ <match key="block.is_volume" bool="true">
+ <match key="volume.fsusage" string="filesystem">
+
+%s
+ </match>
+ </match>
+
+ <match key="storage.drive_type" string="cdrom">
+%s
+ </match>
+ </device>
+
+</deviceinfo>
+EOF
+}
+
+sub configure_kdeglobals {
+ my ($locale, $confdir) = @_;
+ my $kdeglobals = "$confdir/kdeglobals";
+
+ my $charset = l2charset($locale->{lang});
+ my $kde_charset = charset2kde_charset($charset);
+
+ mkdir_p($confdir);
+
+ my $lang = get_kde_lang($locale);
+ log::explanations("Configuring KDE regarding charset ($kde_charset), language ($lang) and country ($locale->{country})");
+ update_gnomekderc($kdeglobals, Locale => (
+ Charset => $kde_charset,
+ Country => lc($locale->{country}),
+ Language => getLANGUAGE($locale->{lang}, $locale->{country}, $locale->{utf8}),
+ ));
+
+ log::explanations("Configuring KDE regarding fonts");
+ update_gnomekderc($kdeglobals, WM => (
+ activeFont => charset2kde_font($charset,0),
+ ));
+ update_gnomekderc($kdeglobals, General => (
+ fixed => charset2kde_font($charset, 1),
+ font => charset2kde_font($charset, 0),
+ menuFont => charset2kde_font($charset, 3),
+ taskbarFont => charset2kde_font($charset, 4),
+ toolBarFont => charset2kde_font($charset, 2),
+ ));
+ update_gnomekderc("$confdir/konquerorrc", FMSettings => (
+ StandardFont => charset2kde_font($charset, 0),
+ ));
+ update_gnomekderc("$confdir/kdesktoprc", FMSettings => (
+ StandardFont => charset2kde_font($charset, 0),
+ ));
+}
+
+sub bindtextdomain() {
+ #- if $::prefix is set, search for libDrakX.mo in locale_special
+ #- NB: not using $::isInstall to make it work more easily at install and standalone
+ my $localedir = "$ENV{SHARE_PATH}/locale" . ($::prefix ? "_special" : '');
+
+ c::init_setlocale();
+ foreach (@::textdomains, 'libDrakX') {
+ Locale::gettext::bind_textdomain_codeset($_, 'UTF-8');
+ Locale::gettext::bindtextdomain($_, $localedir);
+ }
+
+ $localedir;
+}
+
+sub load_mo {
+ my ($o_lang) = @_;
+
+ my $localedir = bindtextdomain();
+ my $suffix = 'LC_MESSAGES/libDrakX.mo';
+
+ $o_lang ||= $ENV{LANGUAGE} || $ENV{LC_ALL} || $ENV{LC_MESSAGES} || $ENV{LANG};
+
+ my @possible_langs = map { { name => $_, mofile => "$localedir/$_/$suffix" } } split ':', $o_lang;
+
+ -s $_->{mofile} and return $_->{name} foreach @possible_langs;
+
+ '';
+}
+
+
+#- used in share/list.xml during "make get_needed_files"
+sub console_font_files() {
+ map { -e $_ ? $_ : "$_.gz" }
+ (map { "/usr/lib/kbd/consolefonts/$_.psf" } uniq grep { $_ } map { $_->[0] } values %charsets),
+ (map { -e $_ ? $_ : "$_.sfm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep { $_ } map { $_->[1] } values %charsets),
+ (map { -e $_ ? $_ : "$_.acm" } map { "/usr/lib/kbd/consoletrans/$_" } uniq grep { $_ } map { $_->[2] } values %charsets);
+}
+
+sub load_console_font {
+ my ($locale) = @_;
+ return if $::local_install;
+
+ my ($name, $sfm, $acm) = l2console_font($locale, 1);
+
+ require run_program;
+ run_program::run('consolechars', '-v', '-f', $name || 'lat0-16',
+ if_($sfm, '-u', $sfm), if_($acm, '-m', $acm));
+}
+
+sub fs_options {
+ my ($locale) = @_;
+ if ($locale->{utf8}) {
+ (iocharset => 'utf8', codepage => undef);
+ } else {
+ my $c = $charsets{l2charset($locale->{lang}) || return} or return;
+ my ($iocharset, $codepage) = @$c[3..4];
+ (iocharset => $iocharset, codepage => $codepage);
+ }
+}
+
+sub check() {
+ $^W = 0;
+ my ($warnings, $errors) = (0, 0);
+ my $warn = sub {
+ my ($msg, $b_is_error) = @_;
+ if ($b_is_error) {
+ print STDERR "\tErrors:\n" if !$errors++;
+ } else {
+ print STDERR "\tWarnings:\n" if !$warnings++;
+ }
+ print STDERR "$msg\n";
+ };
+ my $err = sub { $warn->($_[0], 'error') };
+
+ my @wanted_charsets = uniq map { l2charset($_) } list_langs();
+ $warn->("unused charset $_ (given in \%charsets, but not used in \%langs)") foreach difference2([ keys %charsets ], \@wanted_charsets);
+
+ $warn->("unused entry $_ in \%xim") foreach grep { !/UTF-8/ } difference2([ keys %IM_locale_specific_config ], [ map { l2locale($_) } list_langs() ]);
+
+ #- consolefonts are checked during build via console_font_files()
+
+ if (my @l = difference2([ 'default', keys %charsets ], [ keys %charset2kde_font ])) {
+ $warn->("no kde font for charset " . join(" ", @l));
+ }
+
+ if (my @l = grep { get_kde_lang({ lang => $_, country => 'US' }, 'err') eq 'err' } list_langs()) {
+ $warn->("no KDE lang for langs " . join(" ", @l));
+ }
+ if (my @l = grep { charset2kde_charset($_, 'err') eq 'err' } keys %charsets) {
+ $warn->("no KDE charset for charsets " . join(" ", @l));
+ }
+
+ $warn->("no country corresponding to default locale $_->[1] of lang $_->[0]")
+ foreach grep { $_->[1] =~ /.._(..)/ && !exists $countries{$1} } map { [ $_, l2locale($_) ] } list_langs();
+
+ $err->("invalid charset $_ ($_ does not exist in \%charsets)") foreach difference2(\@wanted_charsets, [ keys %charsets ]);
+ $err->("invalid charset $_ in \%charset2kde_font ($_ does not exist in \%charsets)") foreach difference2([ keys %charset2kde_font ], [ 'default', keys %charsets ]);
+
+ $err->("default locale $_->[1] of lang $_->[0] is not listed in \@locales")
+ foreach grep { !member($_->[1], @locales) } map { [ $_, l2locale($_) ] } list_langs();
+
+ $err->("lang image for lang $_->[0] is missing (file $_->[1])")
+ foreach grep { !(-e $_->[1]) } map { [ $_, "install/pixmaps/langs/lang-$_.png" ] } list_langs();
+
+ $err->("default locale $_->[1] of country $_->[0] is not listed in \@locales")
+ foreach grep { !member($_->[1], @locales) } map { [ $_, c2locale($_) ] } list_countries();
+
+
+ exit($errors ? 1 : 0);
+}
+
+1;
diff --git a/perl-install/list_modules.pm b/perl-install/list_modules.pm
new file mode 120000
index 000000000..ef195bcfe
--- /dev/null
+++ b/perl-install/list_modules.pm
@@ -0,0 +1 @@
+../kernel/list_modules.pm \ No newline at end of file
diff --git a/perl-install/log.pm b/perl-install/log.pm
new file mode 100644
index 000000000..4834fda32
--- /dev/null
+++ b/perl-install/log.pm
@@ -0,0 +1,55 @@
+package log; # $Id: log.pm 76930 2006-11-06 13:10:10Z pixel $
+
+use diagnostics;
+use strict;
+
+use c;
+
+my ($LOG, $LOG2);
+
+
+sub l {
+ if ($::testing) {
+ print STDERR @_, "\n";
+ } elsif ($::isInstall) {
+ if (!$LOG) {
+ open $LOG, '>>', '/tmp/ddebug.log';
+ open $LOG2, '>', '/dev/tty3' if !$::local_install;
+ select((select($LOG), $| = 1)[0]);
+ select((select($LOG2), $| = 1)[0]) if !$::local_install;
+ }
+ print $LOG "* ", @_, "\n";
+ print $LOG2 "* ", @_, "\n" if $LOG2;
+ } elsif ($::isStandalone) {
+ #- openlog was done in standalone.pm
+
+ c::syslog(c::LOG_WARNING(), join("", @_));
+ } else {
+ print STDERR @_, "\n";
+ }
+}
+
+sub openLog {
+ my ($file) = @_;
+ open $LOG, "> $file";
+ select((select($LOG), $| = 1)[0]);
+}
+
+sub closeLog() {
+ if ($LOG) {
+ close $LOG;
+ close $LOG2 if $LOG2;
+ } elsif ($::isStandalone) {
+ c::closelog();
+ }
+}
+
+sub explanations {
+ if ($::isStandalone) {
+ c::syslog(c::LOG_INFO()|c::LOG_LOCAL1(), "@_");
+ } else {
+ l(@_);
+ }
+}
+
+1;
diff --git a/perl-install/lvm.pm b/perl-install/lvm.pm
new file mode 100644
index 000000000..525063555
--- /dev/null
+++ b/perl-install/lvm.pm
@@ -0,0 +1,194 @@
+package lvm; # $Id: lvm.pm 24628 2005-09-22 13:56:01Z prigaux $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use modules;
+use devices;
+use fs::type;
+use run_program;
+
+#- for partition_table_xxx emulation
+sub new {
+ my ($class, $name) = @_;
+ $name =~ s/\W/_/g;
+ $name = substr($name, 0, 63); # max length must be < NAME_LEN / 2 where NAME_LEN is 128
+ bless { disks => [], VG_name => $name }, $class;
+}
+sub hasExtended { 0 }
+sub adjustStart {}
+sub adjustEnd {}
+sub write {}
+sub cylinder_size {
+ my ($hd) = @_;
+ $hd->{extent_size};
+}
+
+init() or log::l("lvm::init failed");
+
+sub init() {
+ devices::init_device_mapper();
+ if ($::isInstall) {
+ run_program::run('lvm2', 'vgscan');
+ run_program::run('lvm2', 'vgchange', '-a', 'y');
+ }
+ 1;
+}
+
+sub lvm_cmd {
+ if (my $r = run_program::run('lvm2', @_)) {
+ $r;
+ } else {
+ $? >> 8 == 98 or return;
+
+ #- sometimes, it needs running vgscan again, doing so:
+ run_program::run('lvm2', 'vgscan');
+ run_program::run('lvm2', @_);
+ }
+}
+sub lvm_cmd_or_die {
+ my ($prog, @para) = @_;
+ lvm_cmd($prog, @para) or die "$prog failed\n";
+}
+
+sub check {
+ my ($in) = @_;
+
+ $in->do_pkgs->ensure_binary_is_installed('lvm2', 'lvm2') or return;
+ init();
+ 1;
+}
+
+sub get_pv_field {
+ my ($pv, $field) = @_;
+ my $dev = expand_symlinks(devices::make($pv->{device}));
+ run_program::get_stdout('lvm2', 'pvs', '--noheadings', '--nosuffix', '-o', $field, $dev);
+}
+sub pv_physical_extents {
+ my ($pv) = @_;
+ split(' ', lvm::get_pv_field($pv, 'pv_pe_alloc_count,pv_pe_count'));
+}
+sub pv_to_vg {
+ my ($pv) = @_;
+ get_pv_field($pv, 'vg_name') =~ /(\S+)/ && $1;
+}
+
+sub pv_move {
+ my ($pv) = @_;
+ my $dev = expand_symlinks(devices::make($pv->{device}));
+ lvm_cmd('pvmove', '-v', $dev) or die N("Moving used physical extents to other physical volumes failed");
+}
+
+sub update_size {
+ my ($lvm) = @_;
+ $lvm->{extent_size} = to_int(run_program::get_stdout('lvm2', 'vgs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'vg_extent_size', $lvm->{VG_name}));
+ $lvm->{totalsectors} = to_int(run_program::get_stdout('lvm2', 'vgs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'vg_size', $lvm->{VG_name}));
+}
+
+sub get_lv_size {
+ my ($lvm_device) = @_;
+ to_int(run_program::get_stdout('lvm2', 'lvs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'lv_size', "/dev/$lvm_device"));
+}
+
+sub lv_to_pvs {
+ my ($lv) = @_;
+ map { m!(\S+)\(! } run_program::get_stdout('lvm2', 'lvs', '--noheadings', '-o', 'devices', "/dev/$lv->{device}");
+}
+sub lv_nb_pvs {
+ my ($lv) = @_;
+ listlength(lv_to_pvs($lv));
+}
+
+sub get_lvs {
+ my ($lvm) = @_;
+ my @l = run_program::get_stdout('lvm2', 'lvs', '--noheadings', '--nosuffix', '--units', 's', '-o', 'lv_name', $lvm->{VG_name}) =~ /(\S+)/g;
+ $lvm->{primary}{normal} =
+ [
+ map {
+ my $device = "$lvm->{VG_name}/$_";
+ my $fs_type = -e "/dev/$device" && fs::type::fs_type_from_magic({ device => $device });
+
+ { device => $device,
+ lv_name => $_,
+ rootDevice => $lvm->{VG_name},
+ fs_type => $fs_type || 'ext2',
+ size => get_lv_size($device) };
+ } @l
+ ];
+}
+
+sub vg_add {
+ my ($part) = @_;
+ my $dev = expand_symlinks(devices::make($part->{device}));
+ lvm_cmd_or_die('pvcreate', '-y', '-ff', $dev);
+ my $prog = lvm_cmd('vgs', $part->{lvm}) ? 'vgextend' : 'vgcreate';
+ lvm_cmd_or_die($prog, $part->{lvm}, $dev);
+}
+
+sub vg_reduce {
+ my ($lvm_vg, $part_pv) = @_;
+
+ lvm_cmd('vgreduce', $lvm_vg->{VG_name}, devices::make($part_pv->{device})) or die N("Physical volume %s is still in use", $part_pv->{device});
+ @{$lvm_vg->{disks}} = difference2($lvm_vg->{disks}, [ $part_pv ]);
+ update_size($lvm_vg);
+ delete $part_pv->{lvm};
+ set_isFormatted($part_pv, 0);
+}
+
+sub vg_destroy {
+ my ($lvm) = @_;
+
+ is_empty_array_ref($lvm->{primary}{normal}) or die N("Remove the logical volumes first\n");
+ lvm_cmd('vgchange', '-a', 'n', $lvm->{VG_name});
+ lvm_cmd_or_die('vgremove', $lvm->{VG_name});
+ foreach (@{$lvm->{disks}}) {
+ lvm_cmd_or_die('pvremove', devices::make($_->{device}));
+ delete $_->{lvm};
+ set_isFormatted($_, 0);
+ }
+}
+
+sub lv_delete {
+ my ($lvm, $lv) = @_;
+
+ lvm_cmd_or_die('lvremove', '-f', "/dev/$lv->{device}");
+
+ my $list = $lvm->{primary}{normal};
+ @$list = grep { $_ != $lv } @$list;
+}
+
+sub suggest_lv_name {
+ my ($lvm, $lv) = @_;
+ my $list = $lvm->{primary}{normal} ||= [];
+ $lv->{lv_name} ||= 1 + max(map { if_($_->{device} =~ /(\d+)$/, $1) } @$list);
+}
+
+sub lv_create {
+ my ($lvm, $lv) = @_;
+ suggest_lv_name($lvm, $lv);
+ $lv->{device} = "$lvm->{VG_name}/$lv->{lv_name}";
+ lvm_cmd_or_die('lvcreate', '--size', int($lv->{size} / 2) . 'k', '-n', $lv->{lv_name}, $lvm->{VG_name});
+
+ if ($lv->{mntpoint} eq '/boot' && lv_nb_pvs($lv) > 1) {
+ lvm_cmd_or_die('lvremove', '-f', "/dev/$lv->{device}");
+ die N("The bootloader can't handle /boot on multiple physical volumes");
+ }
+
+ $lv->{size} = get_lv_size($lv->{device}); #- the created size is smaller than asked size
+ set_isFormatted($lv, 0);
+ my $list = $lvm->{primary}{normal} ||= [];
+ push @$list, $lv;
+}
+
+sub lv_resize {
+ my ($lv, $oldsize) = @_;
+ lvm_cmd_or_die($oldsize > $lv->{size} ? ('lvreduce', '-f') : 'lvextend',
+ '--size', int($lv->{size} / 2) . 'k', "/dev/$lv->{device}");
+ $lv->{size} = get_lv_size($lv->{device}); #- the resized partition may not be the exact asked size
+}
+
+1;
diff --git a/perl-install/messages.pm b/perl-install/messages.pm
new file mode 100644
index 000000000..fdd390974
--- /dev/null
+++ b/perl-install/messages.pm
@@ -0,0 +1,147 @@
+package messages; # $Id: messages.pm 61576 2006-09-15 13:16:53Z tv $
+
+use diagnostics;
+use strict;
+
+use common;
+
+sub main_license() {
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+N("Introduction
+
+The operating system and the different components available in the Mandriva Linux distribution
+shall be called the \"Software Products\" hereafter. The Software Products include, but are not
+restricted to, the set of programs, methods, rules and documentation related to the operating
+system and the different components of the Mandriva Linux distribution.
+
+
+1. License Agreement
+
+Please read this document carefully. This document is a license agreement between you and
+Mandriva S.A. which applies to the Software Products.
+By installing, duplicating or using the Software Products in any manner, you explicitly
+accept and fully agree to conform to the terms and conditions of this License.
+If you disagree with any portion of the License, you are not allowed to install, duplicate or use
+the Software Products.
+Any attempt to install, duplicate or use the Software Products in a manner which does not comply
+with the terms and conditions of this License is void and will terminate your rights under this
+License. Upon termination of the License, you must immediately destroy all copies of the
+Software Products.
+
+
+2. Limited Warranty
+
+The Software Products and attached documentation are provided \"as is\", with no warranty, to the
+extent permitted by law.
+Mandriva S.A. will, in no circumstances and to the extent permitted by law, be liable for any special,
+incidental, direct or indirect damages whatsoever (including without limitation damages for loss of
+business, interruption of business, financial loss, legal fees and penalties resulting from a court
+judgment, or any other consequential loss) arising out of the use or inability to use the Software
+Products, even if Mandriva S.A. has been advised of the possibility or occurrence of such
+damages.
+
+LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES
+
+To the extent permitted by law, Mandriva S.A. or its distributors will, in no circumstances, be
+liable for any special, incidental, direct or indirect damages whatsoever (including without
+limitation damages for loss of business, interruption of business, financial loss, legal fees
+and penalties resulting from a court judgment, or any other consequential loss) arising out
+of the possession and use of software components or arising out of downloading software components
+from one of Mandriva Linux sites which are prohibited or restricted in some countries by local laws.
+This limited liability applies to, but is not restricted to, the strong cryptography components
+included in the Software Products.
+
+
+3. The GPL License and Related Licenses
+
+The Software Products consist of components created by different persons or entities. Most
+of these components are governed under the terms and conditions of the GNU General Public
+Licence, hereafter called \"GPL\", or of similar licenses. Most of these licenses allow you to use,
+duplicate, adapt or redistribute the components which they cover. Please read carefully the terms
+and conditions of the license agreement for each component before using any component. Any question
+on a component license should be addressed to the component author and not to Mandriva.
+The programs developed by Mandriva S.A. are governed by the GPL License. Documentation written
+by Mandriva S.A. is governed by a specific license. Please refer to the documentation for
+further details.
+
+
+4. Intellectual Property Rights
+
+All rights to the components of the Software Products belong to their respective authors and are
+protected by intellectual property and copyright laws applicable to software programs.
+Mandriva S.A. reserves its rights to modify or adapt the Software Products, as a whole or in
+parts, by all means and for all purposes.
+\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of Mandriva S.A.
+
+
+5. Governing Laws
+
+If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this
+portion is excluded from this contract. You remain bound by the other applicable sections of the
+agreement.
+The terms and conditions of this License are governed by the Laws of France.
+All disputes on the terms of this license will preferably be settled out of court. As a last
+resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.
+For any question on this document, please contact Mandriva S.A.
+");
+}
+
+sub warning_about_patents() {
+N("Warning: Free Software may not necessarily be patent free, and some Free
+Software included may be covered by patents in your country. For example, the
+MP3 decoders included may require a licence for further usage (see
+http://www.mp3licensing.com for more details). If you are unsure if a patent
+may be applicable to you, check your local laws.");
+}
+sub com_license() {
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+N("
+Warning
+
+Please read carefully the terms below. If you disagree with any
+portion, you are not allowed to install the next CD media. Press 'Refuse'
+to continue the installation without using these media.
+
+
+Some components contained in the next CD media are not governed
+by the GPL License or similar agreements. Each such component is then
+governed by the terms and conditions of its own specific license.
+Please read carefully and comply with such specific licenses before
+you use or redistribute the said components.
+Such licenses will in general prevent the transfer, duplication
+(except for backup purposes), redistribution, reverse engineering,
+de-assembly, de-compilation or modification of the component.
+Any breach of agreement will immediately terminate your rights under
+the specific license. Unless the specific license terms grant you such
+rights, you usually cannot install the programs on more than one
+system, or adapt it to be used on a network. In doubt, please contact
+directly the distributor or editor of the component.
+Transfer to third parties or copying of such components including the
+documentation is usually forbidden.
+
+
+All rights to the components of the next CD media belong to their
+respective authors and are protected by intellectual property and
+copyright laws applicable to software programs.
+");
+}
+
+sub install_completed() {
+#-PO: keep the double empty lines between sections, this is formatted a la LaTeX
+N("Congratulations, installation is complete.
+Remove the boot media and press Enter to reboot.
+
+
+For information on fixes which are available for this release of Mandriva Linux,
+consult the Errata available from:
+
+
+%s
+
+
+Information on configuring your system is available in the post
+install chapter of the Official Mandriva Linux User's Guide.",
+'http://www.mandriva.com/en/security/advisories');
+}
+
+1;
diff --git a/perl-install/mirror.pm b/perl-install/mirror.pm
new file mode 100644
index 000000000..f50d660b9
--- /dev/null
+++ b/perl-install/mirror.pm
@@ -0,0 +1,125 @@
+package mirror; # $Id: mirror.pm 147930 2007-03-22 13:00:42Z tv $
+
+use diagnostics;
+use strict;
+
+use common;
+use log;
+
+my %land2tzs = (
+ N_("Australia") => [ 'Australia/Sydney' ],
+ N_("Austria") => [ 'Europe/Vienna', 'Europe/Brussels', 'Europe/Berlin' ],
+ N_("Belgium") => [ 'Europe/Brussels', 'Europe/Paris', 'Europe/Berlin' ],
+ N_("Brazil") => [ 'Brazil/East' ],
+ N_("Canada") => [ 'Canada/Atlantic', 'Canada/Eastern' ],
+ N_("Costa Rica") => [ 'America/Costa_Rica' ],
+ N_("Czech Republic") => [ 'Europe/Prague', 'Europe/Berlin' ],
+ N_("Denmark") => [ 'Europe/Copenhagen', 'Europe/Berlin' ],
+ N_("Estonia") => [ 'Europe/Tallinn', 'Europe/Helsinki' ],
+ N_("Finland") => [ 'Europe/Helsinki', 'Europe/Tallinn' ],
+ N_("France") => [ 'Europe/Paris', 'Europe/Brussels', 'Europe/Berlin' ],
+ N_("Germany") => [ 'Europe/Berlin', 'Europe/Prague' ],
+ N_("Greece") => [ 'Europe/Athens', 'Europe/Prague' ],
+ N_("Hungary") => [ 'Europe/Budapest' ],
+ N_("Ireland") => [ 'Europe/Dublin', 'Europe/London' ],
+ N_("Israel") => [ 'Asia/Tel_Aviv' ],
+ N_("Italy") => [ 'Europe/Rome', 'Europe/Brussels', 'Europe/Paris' ],
+ N_("Japan") => [ 'Asia/Tokyo', 'Asia/Seoul' ],
+ N_("Netherlands") => [ 'Europe/Amsterdam', 'Europe/Brussels', 'Europe/Berlin' ],
+ N_("New Zealand") => [ 'Pacific/Auckland' ],
+ N_("Norway") => [ 'Europe/Oslo', 'Europe/Stockholm' ],
+ N_("Poland") => [ 'Europe/Warsaw' ],
+ N_("Portugal") => [ 'Europe/Lisbon', 'Europe/Madrid' ],
+ N_("Russia") => [ 'Europe/Moscow', ],
+ N_("Slovakia") => [ 'Europe/Bratislava' ],
+ N_("South Africa") => [ 'Africa/Johannesburg' ],
+ N_("Spain") => [ 'Europe/Madrid', 'Europe/Lisbon' ],
+ N_("Sweden") => [ 'Europe/Stockholm', 'Europe/Oslo' ],
+ N_("Switzerland") => [ 'Europe/Zurich', 'Europe/Berlin', 'Europe/Brussels' ],
+ N_("Taiwan") => [ 'Asia/Taipei', 'Asia/Seoul' ],
+ N_("Thailand") => [ 'Asia/Bangkok', 'Asia/Seoul' ],
+ N_("United States") => [ 'America/New_York', 'Canada/Atlantic', 'Asia/Tokyo', 'Australia/Sydney', 'Europe/Paris' ],
+ );
+
+sub mirror2text {
+ my ($mirror) = @_;
+ translate($mirror->{country}) . '|' . $mirror->{host} . ($mirror->{method} ? " ($mirror->{method})" : '');
+}
+
+my $downloader;
+sub register_downloader {
+ my ($func) = @_;
+ $downloader = $func;
+}
+
+sub mirrors_raw {
+ my ($product_id, $o_arch) = @_;
+
+ #- contact the following URL to retrieve the list of mirrors.
+ #- http://wiki.mandriva.com/en/Product_id
+ my $type = lc($product_id->{type}); $type =~ s/\s//g;
+ local $product_id->{arch} = $o_arch if $o_arch;
+ my $list = "http://api.mandriva.com/mirrors/$type.$product_id->{version}.$product_id->{arch}.list";
+ log::explanations("trying mirror list from $list");
+ my @lines;
+ if ($::isInstall) {
+ require install::http;
+ my $f = install::http::getFile($list) or die "mirror list not found";
+ local $SIG{ALRM} = sub { die "timeout" };
+ alarm 60;
+ log::l("using mirror list $list");
+ push @lines, $_ while <$f>;
+ install::http::close();
+ alarm 0;
+ } else {
+ if (ref($downloader)) {
+ @lines = $downloader->($list);
+ @lines or die "mirror list not found";
+ } else {
+ die "Missing download callback";
+ }
+ }
+ map { common::parse_LDAP_namespace_structure(chomp_($_)) } @lines;
+}
+
+sub list {
+ my ($product_id, $type, $o_arch) = @_;
+
+ our @mirrors_raw;
+ my $prev_arch if 0;
+ undef @mirrors_raw if $prev_arch ne $o_arch;
+ $prev_arch = $o_arch || arch();
+ if (!@mirrors_raw) {
+ @mirrors_raw = eval { mirrors_raw($product_id, $o_arch) };
+ if (my $err = $@) {
+ log::explanations("failed to download mirror list");
+ die $err;
+ }
+ @mirrors_raw or log::explanations("empty mirror list"), return;
+ }
+
+ my @mirrors = grep {
+ ($_->{method}, $_->{host}, $_->{dir}) = $_->{url} =~ m!^(ftp|http)://(.*?)(/.*)!;
+ $_->{method} && ($type eq 'all' || $_->{type} eq $type);
+ } @mirrors_raw or log::explanations("no mirrors of type $type"), return;
+
+ @mirrors && \@mirrors;
+}
+
+sub nearest {
+ my ($timezone, $mirrors) = @_;
+
+ my (@country, @zone);
+ foreach my $mirror (@$mirrors) {
+ my @tzs = @{$land2tzs{$mirror->{country}} || []};
+ eval { push @{$country[find_index { $_ eq $timezone } @tzs]}, $mirror };
+ eval { push @{$zone[find_index { ((split '/')[0] eq (split '/', $timezone)[0]) } @tzs]}, $mirror };
+ }
+ my @l = @country ? @country : @zone;
+ shift @l while !$l[0] && @l;
+
+ my @possible = @l ? ((@{$l[0]}) x 2, @{$l[1] || []}) : @$mirrors;
+ $possible[rand @possible];
+}
+
+1;
diff --git a/perl-install/modalias.pm b/perl-install/modalias.pm
new file mode 100644
index 000000000..3ff863e30
--- /dev/null
+++ b/perl-install/modalias.pm
@@ -0,0 +1,84 @@
+package modalias;
+
+# TODO:
+# - be faster (Elapsed time: lspcidrake.pl ~ 0.28s instead of 0.12s for old lspcidrake
+
+use strict;
+use MDK::Common;
+use c;
+
+my @config_groups = (
+ [
+ "/lib/module-init-tools/modprobe.default",
+ "/etc/modprobe.conf",
+ "/etc/modprobe.d",
+ ],
+ [
+ "/lib/modules/" . c::kernel_version() . "/modules.alias",
+ ],
+);
+my @classes = qw(ide ieee1394 input pci pcmcia pnp serio usb);
+my @alias_groups;
+
+sub alias_to_ids {
+ my ($alias) = @_;
+ my ($vendor, $device);
+ # returns (vendor, device)
+ if (($vendor, $device) = $alias =~ /:v([0-9A-F]{4})[dp]([0-9A-F]{4})/) {
+ return ($vendor, $device);
+ } elsif (($vendor, $device) = $alias =~ /:v0{4}([0-9A-F]{4})[dp]0{4}([0-9A-F]{4})/) {
+ return ($vendor, $device);
+ }
+}
+
+sub parse_path {
+ my ($group, $path) = @_;
+ if (-d $path) {
+ parse_path($group, "$path/$_") foreach all($path);
+ } elsif (-f $path) {
+ foreach (cat_($path)) {
+ if (my ($alias, $class, $module) = /^\s*alias\s+(([^:]+):\S+)\s+(\S+)$/) {
+ my ($vendor, $device) = alias_to_ids($alias);
+ if (member($class, @classes)) {
+ if ($vendor) {
+ $group->{$class} ||= {};
+ $group->{$class}{$vendor} ||= {};
+ $group->{$class}{$vendor}{$device} ||= [];
+ push @{$group->{$class}{$vendor}{$device}}, $alias, $module;
+ } else {
+ push @{$group->{$class}{other}}, $alias, $module;
+ }
+ }
+ }
+ }
+ }
+}
+
+sub get_alias_groups() {
+ @alias_groups = map {
+ my $group = {};
+ parse_path($group, $_) foreach @$_;
+ $group;
+ } @config_groups unless @alias_groups;
+ @alias_groups;
+}
+
+sub get_modules {
+ my ($modalias) = @_;
+ my ($class) = $modalias =~ /^([^:]+):\S+$/;
+ my ($vendor, $device) = alias_to_ids($modalias);
+ $class && member($class, @classes) or return;
+
+ require File::FnMatch;
+ foreach my $group (get_alias_groups()) {
+ my @aliases;
+ foreach my $subgroup ($group->{$class}{$vendor}{$device}, $group->{$class}{other}) {
+ foreach (group_by2(@$subgroup)) {
+ File::FnMatch::fnmatch($_->[0], $modalias) and push @aliases, $_->[1];
+ }
+ }
+ return uniq(@aliases) if @aliases;
+ }
+}
+
+1;
diff --git a/perl-install/modules.pm b/perl-install/modules.pm
new file mode 100644
index 000000000..6ba7b3ee2
--- /dev/null
+++ b/perl-install/modules.pm
@@ -0,0 +1,323 @@
+package modules; # $Id: modules.pm 147165 2007-03-21 11:42:01Z tv $
+
+use strict;
+
+use common;
+use detect_devices;
+use run_program;
+use log;
+use list_modules;
+use modules::any_conf;
+
+sub modules_descriptions() {
+ my $f = '/lib/modules/' . c::kernel_version() . '/modules.description';
+ -e $f or $f = '/modules/modules.description';
+ map { /(\S+)\s+(.*)/ } cat_($f);
+}
+
+sub module2description { +{ modules_descriptions() }->{$_[0]} }
+
+sub category2modules_and_description {
+ my ($categories) = @_;
+ my %modules_descriptions = modules_descriptions();
+ map { $_ => $modules_descriptions{$_} } category2modules($categories);
+}
+
+my %mappings_24_26 = (
+ "usb-ohci" => "ohci-hcd",
+ "usb-uhci" => "uhci-hcd",
+ "uhci" => "uhci-hcd",
+ "printer" => "usblp",
+ "bcm4400" => "b44",
+ "3c559" => "3c359",
+ "3c90x" => "3c59x",
+ "dc395x_trm" => "dc395x",
+);
+my %mappings_26_24 = reverse %mappings_24_26;
+$mappings_26_24{'uhci-hcd'} = 'usb-uhci';
+
+sub mapping_24_26 {
+ my ($modname) = @_;
+ $mappings_24_26{$modname} || $modname;
+}
+sub mapping_26_24 {
+ my ($modname) = @_;
+ $mappings_26_24{$modname} || $modname;
+}
+
+sub cond_mapping_24_26 {
+ my ($modname) = @_;
+ $mappings_24_26{$modname} || $modname;
+}
+
+sub module_is_available {
+ my ($module) = @_;
+ find { m!/\Q$module\E\.k?o! } cat_($::prefix . '/lib/modules/' . c::kernel_version() . '/modules.dep');
+}
+
+#-###############################################################################
+#- module loading
+#-###############################################################################
+# handles dependencies
+sub load_raw {
+ my ($l, $h_options) = @_;
+ if ($::testing || $::local_install) {
+ log::l("i would load module $_ ($h_options->{$_})") foreach @$l;
+ } elsif ($::isInstall && !$::move) {
+ load_raw_install($l, $h_options);
+ } else {
+ run_program::run('/sbin/modprobe', $_, split(' ', $h_options->{$_}))
+ or !run_program::run('/sbin/modprobe', '-n', $_) #- ignore missing modules
+ or die "insmod'ing module $_ failed" foreach @$l;
+ }
+ if (any { /^(mousedev|printer)$/ } @$l) {
+ sleep 2;
+ } elsif (member('usb-storage', @$l)) {
+ #- usb-storage is only modprobed when we know there is some scsi devices
+ #- so trying hard to wait for devices to be detected
+ my $retry = 10;
+ sleep 1; #- TOREMOVE for compatibility with previous behaviour: wait at least 2 seconds
+ while ($retry--) {
+ sleep 1;
+ last if all('/sys/bus/scsi/devices');
+ log::l("waiting for usb-storage devices to appear (retry = $retry)");
+ }
+ }
+}
+sub load_with_options {
+ my ($l, $h_options) = @_;
+
+ my @l = map {
+ dependencies_closure(cond_mapping_24_26($_));
+ } @$l;
+
+ @l = remove_loaded_modules(@l) or return;
+
+ load_raw(\@l, $h_options);
+}
+sub load {
+ my (@l) = @_;
+ load_with_options(\@l, {});
+}
+
+# eg: load_and_configure($modules_conf, 'vfat', 'reiserfs', [ ne2k => 'io=0xXXX', 'dma=5' ])
+sub load_and_configure {
+ my ($conf, $module, $o_options) = @_;
+
+ my @l = remove_loaded_modules(dependencies_closure(cond_mapping_24_26($module)));
+ load_raw(\@l, { $module => $o_options });
+
+ if (member($module, 'imm', 'ppa')
+ && ! -d "/proc/sys/dev/parport/parport0/devices/$module") {
+ log::l("$module loaded but is not useful, removing");
+ unload($module);
+ return;
+ }
+
+ $conf->set_options($module, $o_options) if $o_options;
+
+ when_load($conf, $module);
+}
+
+sub unload {
+ if ($::testing) {
+ log::l("rmmod $_") foreach @_;
+ } else {
+ run_program::run("rmmod", $_) foreach @_;
+ }
+}
+
+sub load_category {
+ my ($conf, $category, $o_wait_message) = @_;
+
+ my @try_modules = (
+ if_($category =~ /scsi/,
+ if_(detect_devices::usbStorage(), 'usb-storage'),
+ ),
+ arch() =~ /ppc/ ? (
+ if_($category =~ /scsi/,
+ if_(detect_devices::has_mesh(), 'mesh'),
+ if_(detect_devices::has_53c94(), 'mac53c94'),
+ ),
+ if_($category =~ /net/, 'bmac', 'gmac', 'mace', 'airport'),
+ ) : (),
+ );
+ my @l = (
+ (map {
+ my $other = { ahci => 'ata_piix', ata_piix => 'ahci' }->{$_->{driver}};
+ $_->{try} = 1 if $other;
+ ($_, if_($other, { %$_, driver => $other }));
+ } detect_devices::probe_category($category)),
+ (map { { driver => $_, description => $_, try => 1 } } @try_modules),
+ );
+
+ foreach (@l) {
+ $o_wait_message->($_->{description}, $_->{driver}) if $o_wait_message;
+ eval { load_and_configure($conf, $_->{driver}, $_->{options}) };
+ $_->{error} = $@;
+
+ $_->{try} = 1 if member($_->{driver}, 'hptraid', 'ohci1394'); #- do not warn when this fails
+ }
+ eval { load_and_configure($conf, 'ide-generic') } if $category eq 'disk/ide';
+ grep { !($_->{error} && $_->{try}) } @l;
+}
+
+sub load_parallel_zip {
+ my ($conf) = @_;
+
+ arch() !~ /ppc/ or return;
+
+ eval { load('parport_pc') };
+ grep {
+ eval { load_and_configure($conf, $_); 1 };
+ } 'imm', 'ppa';
+}
+
+#-###############################################################################
+#- modules.conf functions
+#-###############################################################################
+sub write_preload_conf {
+ my ($conf) = @_;
+ my @l;
+ my $is_laptop = detect_devices::isLaptop();
+ my $manufacturer = detect_devices::dmidecode_category('System')->{Manufacturer};
+ push @l, 'scsi_hostadapter' if $conf->get_probeall('scsi_hostadapter');
+ push @l, detect_devices::probe_name('Module');
+ push @l, 'nvram' if $is_laptop;
+ push @l, map { $_->{driver} } detect_devices::probe_category($_) foreach qw(multimedia/dvb multimedia/tv various/agpgart various/laptop input/joystick various/crypto disk/card_reader);
+ push @l, 'padlock' if cat_("/proc/cpuinfo") =~ /rng_en/;
+ push @l, 'evdev' if any { $_->{Synaptics} || $_->{ALPS} || $_->{HWHEEL} } detect_devices::getInputDevices();
+ push @l, 'asus_acpi' if $is_laptop && $manufacturer =~ m/^ASUS/;
+ push @l, 'ibm_acpi' if $is_laptop && member($manufacturer, qw(IBM LENOVO));
+ push @l, 'hdaps' if $is_laptop && $manufacturer eq 'LENOVO';
+ append_to_modules_loaded_at_startup("$::prefix/etc/modprobe.preload", @l);
+}
+
+sub append_to_modules_loaded_at_startup_for_all_kernels {
+ append_to_modules_loaded_at_startup($_, @_) foreach "$::prefix/etc/modprobe.preload";
+}
+
+sub append_to_modules_loaded_at_startup {
+ my ($file, @l) = @_;
+ my $l = join '|', map { '^\s*' . $_ . '\s*$' } @l;
+ log::l("to put in $file ", join(", ", @l));
+
+ substInFile {
+ $_ = '' if $l && /$l/;
+ $_ .= join '', map { "$_\n" } @l if eof;
+ } $file;
+}
+
+sub set_preload_modules {
+ my ($service, @modules) = @_;
+ my $preload_file = "$::prefix/etc/modprobe.preload.d/$service";
+ if (@modules) {
+ output_p($preload_file, join("\n", @modules, ''));
+ } else {
+ unlink($preload_file);
+ }
+ eval { load(@modules) } if @modules && !$::isInstall;
+}
+
+
+#-###############################################################################
+#- internal functions
+#-###############################################################################
+sub loaded_modules() {
+ map { /(\S+)/ } cat_("/proc/modules");
+}
+sub remove_loaded_modules {
+ my (@l) = @_;
+ difference2([ uniq(@l) ], [ map { my $s = $_; $s =~ s/_/-/g; $s, $_ } loaded_modules() ]);
+}
+
+sub read_already_loaded {
+ my ($conf) = @_;
+ when_load($conf, $_) foreach reverse loaded_modules();
+}
+
+sub name2file {
+ my ($name) = @_;
+ "$name.ko";
+}
+
+sub when_load {
+ my ($conf, $name) = @_;
+
+ if (my $category = module2category($name)) {
+ when_load_category($conf, $name, $category);
+ }
+
+ if (my $above = $conf->get_above($name)) {
+ load($above); #- eg: for snd-pcm-oss set by set_sound_slot()
+ }
+}
+
+sub when_load_category {
+ my ($conf, $name, $category) = @_;
+
+ if ($category =~ m,disk/(ide|scsi|hardware_raid|sata|usb|firewire),) {
+ $conf->add_probeall('scsi_hostadapter', $name);
+ eval { load('sd_mod') } if $category ne 'disk/ide';
+ } elsif ($category eq 'bus/usb') {
+ $conf->add_probeall('usb-interface', $name);
+ -f '/proc/bus/usb/devices' or eval {
+ require fs::mount; fs::mount::usbfs('');
+ #- ensure keyboard is working, the kernel must do the job the BIOS was doing
+ sleep 4;
+ load("usbkbd", "keybdev") if detect_devices::usbKeyboards();
+ };
+ } elsif ($category eq 'bus/firewire') {
+ $conf->set_alias('ieee1394-controller', $name);
+ } elsif ($category =~ /sound/) {
+ my $sound_alias = find { /^sound-slot-[0-9]+$/ && $conf->get_alias($_) eq $name } $conf->modules;
+ $sound_alias ||= 'sound-slot-0';
+ $conf->set_sound_slot($sound_alias, $name);
+ } elsif ($category =~ m!disk/card_reader!) {
+ $conf->set_above($name, 'tifm_sd') if $name =~ /tifm_7xx1/;
+ $conf->set_above($name, 'mmc_block');
+ }
+}
+
+#-###############################################################################
+#- isInstall functions
+#-###############################################################################
+sub extract_modules {
+ my ($dir, @modules) = @_;
+ map {
+ my $f = name2file($_);
+ if (-e "/modules/$f.gz") {
+ system("gzip -dc /modules/$f.gz > $dir/$f") == 0
+ or unlink "$dir/$f";
+ }
+ "$dir/$f";
+ } @modules;
+}
+
+sub load_raw_install {
+ my ($l, $options) = @_;
+
+ extract_modules('/tmp', @$l);
+ my @failed = grep {
+ my $m = '/tmp/' . name2file($_);
+ if (-e $m) {
+ my $stdout;
+ my $rc = run_program::run('insmod', '2>', \$stdout, $m, split(' ', $options->{$_}));
+ log::l(chomp_($stdout)) if $stdout;
+ if ($rc) {
+ unlink $m;
+ '';
+ } elsif ($m !~ /pata/) { # FIXME: remove me once cooker is reopened
+ 'error';
+ }
+ } else {
+ log::l("missing module $_");
+ 'error';
+ }
+ } @$l;
+
+ die "insmod'ing module " . join(", ", @failed) . " failed" if @failed;
+
+}
+
+1;
diff --git a/perl-install/modules/any_conf.pm b/perl-install/modules/any_conf.pm
new file mode 100644
index 000000000..aaf52c458
--- /dev/null
+++ b/perl-install/modules/any_conf.pm
@@ -0,0 +1,221 @@
+package modules::any_conf; # $Id: any_conf.pm 27169 2006-05-12 14:23:51Z pixel $
+
+use log;
+use common;
+
+
+sub vnew {
+ require modules::modprobe_conf;
+ modules::modprobe_conf->new;
+}
+
+
+sub new {
+ my ($type) = @_;
+ bless {}, ref($type) || $type;
+}
+
+sub modules {
+ my ($conf) = @_;
+ keys %$conf;
+}
+
+sub get_alias {
+ my ($conf, $alias) = @_;
+ $conf->{$alias}{alias};
+}
+sub get_options {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+ $conf->{$module}{options};
+}
+sub set_options {
+ my ($conf, $module, $new_option) = @_;
+ $module = $conf->mapping($module);
+ log::explanations(qq(set option "$new_option" for module "$module"));
+ $conf->{$module}{options} = $new_option;
+}
+sub get_parameters {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+ map { if_(/(.*)=(.*)/, $1 => $2) } split(' ', $conf->get_options($module));
+}
+
+sub get_probeall {
+ my ($conf, $alias) = @_;
+ $conf->{$alias}{probeall};
+}
+sub _set_probeall {
+ my ($conf, $alias, $modules) = @_;
+ $conf->{$alias}{probeall} = $modules;
+ log::explanations("setting probeall $alias to $modules");
+}
+sub add_probeall {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ my $modules = join(' ', uniq(split(' ', $conf->{$alias}{probeall}), $module));
+ _set_probeall($conf, $alias, $modules);
+}
+sub remove_probeall {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ my $modules = join(' ', grep { $_ ne $module } split(' ', $conf->{$alias}{probeall}));
+ _set_probeall($conf, $alias, $modules);
+}
+
+sub set_alias {
+ my ($conf, $alias, $module) = @_;
+ $module =~ /ignore/ and return;
+ $module = $conf->mapping($module);
+ /\Q$alias/ && $conf->{$_}{alias} && $conf->{$_}{alias} eq $module and return $_ foreach keys %$conf;
+ log::explanations("adding alias $alias to $module");
+ $conf->{$alias}{alias} = $module;
+ $alias;
+}
+
+
+sub remove_alias {
+ my ($conf, $name) = @_;
+ log::explanations(qq(removing alias "$name"));
+ $conf->remove_alias_regexp("^$name\$");
+}
+
+sub remove_alias_regexp {
+ my ($conf, $aliased) = @_;
+ log::explanations(qq(removing all aliases that match "$aliased"));
+ foreach (keys %$conf) {
+ delete $conf->{$_}{alias} if /$aliased/;
+ }
+}
+
+sub remove_alias_regexp_byname {
+ my ($conf, $name) = @_;
+ log::explanations(qq(removing all aliases which names match "$name"));
+ foreach (keys %$conf) {
+ delete $conf->{$_} if /$name/;
+ }
+}
+
+sub remove_module {
+ my ($conf, $module) = @_;
+ return if !$module;
+ $module = $conf->mapping($module);
+ foreach my $file ("$::prefix/etc/modules", "$::prefix/etc/modprobe.preload") {
+ substInFile {
+ undef $_ if /^$module/;
+ } $file;
+ }
+
+ $conf->remove_alias($module);
+ log::explanations("removing module $module");
+ delete $conf->{$module};
+ 0;
+}
+
+sub set_sound_slot {
+ my ($conf, $alias, $module) = @_;
+ $module = $conf->mapping($module);
+ if (my $old = $conf->get_alias($alias)) {
+ $conf->set_above($old, undef);
+ }
+ $conf->set_alias($alias, $module);
+ $conf->set_above($module, 'snd-pcm-oss') if $module =~ /^snd-/;
+}
+
+
+sub read {
+ my (undef, $o_file) = @_;
+
+ my $conf = vnew();
+ $conf->read($o_file);
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || $::prefix . $conf->file;
+
+ my %written;
+
+ #- Substitute new config (if config has changed)
+ substInFile {
+ my ($type, $module, $val) = split(' ', chomp_($_), 3);
+ if ($type eq 'post-install' && $module eq 'supermount') {
+ #- remove the post-install supermount stuff.
+ $_ = '';
+ } elsif (member($type, $conf->handled_fields)) {
+ my $new_val = $conf->{$module}{$type};
+ if (!$new_val) {
+ $_ = '';
+ } elsif ($new_val ne $val) {
+ $_ = "$type $module $new_val\n";
+ }
+ }
+ $written{$module}{$type} = 1;
+ } $file;
+
+ my $to_add;
+ while (my ($module, $h) = each %$conf) {
+ while (my ($type, $v) = each %$h) {
+ if ($v && !$written{$module}{$type}) {
+ $to_add .= "$type $module $v\n";
+ }
+ }
+ }
+ append_to_file($file, $to_add);
+
+ modules::write_preload_conf($conf);
+}
+
+sub merge_into {
+ my ($conf, $conf2) = @_;
+
+ if (ref($conf) eq ref($conf2)) {
+ log::l("merging " . ref($conf));
+ add2hash($conf, $conf2);
+ } else {
+ log::l("not merging modules_conf " . ref($conf2) . " into " . ref($conf));
+ }
+}
+
+################################################################################
+sub read_handled {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || $::prefix . $conf->file;
+ my $raw_conf = read_raw($file);
+
+ foreach my $module (keys %$raw_conf) {
+ my $raw = $raw_conf->{$module};
+ my $keep = $conf->{$module} = {};
+ foreach ($conf->handled_fields) {
+ $keep->{$_} = $raw->{$_} if $raw->{$_};
+ }
+ }
+
+ $conf;
+}
+
+sub read_raw {
+ my ($file) = @_;
+ my %c;
+
+ foreach (cat_($file)) {
+ next if /^\s*#/;
+ s/#.*$//;
+ s/\s+$//;
+
+ # Fix upgrade from ALSA < 0.9.0:
+ s/\b(snd-card-)/snd-/g;
+ # Fix upgrade for unified VIA driver:
+ s/\b(snd-via686|snd-via8233)\b/snd-via82xx/g;
+
+ my ($type, $module, $val) = split(' ', $_, 3) or next;
+
+ $c{$module}{$type} = $val;
+ }
+
+ #- NB: not copying alias options to the module anymore, hopefully not useful :)
+
+ \%c;
+}
+
+1;
diff --git a/perl-install/modules/interactive.pm b/perl-install/modules/interactive.pm
new file mode 100644
index 000000000..04de1f635
--- /dev/null
+++ b/perl-install/modules/interactive.pm
@@ -0,0 +1,163 @@
+package modules::interactive; # $Id: interactive.pm 27387 2006-05-15 13:33:52Z pixel $
+
+use modules;
+use common;
+
+sub config_window {
+ my ($in, $data) = @_;
+ require modules;
+ my $modules_conf = modules::any_conf->read;
+ my %conf = $modules_conf->get_parameters($data->{driver});
+ require modules::parameters;
+ my @l;
+ foreach (modules::parameters::parameters($data->{driver})) {
+ my ($name, $description) = @$_;
+ push @l, { label => $name, help => $description,
+ val => \$conf{$name}, allow_empty_list => 1 };
+ }
+ if (!@l) {
+ $in->ask_warn(N("Error"), N("This driver has no configuration parameter!"));
+ return;
+ }
+ if ($in->ask_from(N("Module configuration"), N("You can configure each parameter of the module here."), \@l)) {
+ my $options = join(' ', map { if_($conf{$_}, "$_=$conf{$_}") } keys %conf);
+ if ($options) {
+ $modules_conf->set_options($data->{driver}, $options);
+ $modules_conf->write;
+ }
+ }
+}
+
+sub load_category {
+ my ($in, $modules_conf, $category, $b_auto, $b_at_least_one) = @_;
+
+ my @l;
+ {
+ my $w;
+ my $wait_message = sub { undef $w; $w = wait_load_module($in, $category, @_) };
+ @l = modules::load_category($modules_conf, $category, $wait_message);
+ undef $w; #- help perl_checker
+ }
+ if (my @err = grep { $_ } map { $_->{error} } @l) {
+ my $return = $in->ask_warn('', join("\n", @err));
+ $in->exit(1) if !defined($return);
+ }
+ return @l if $b_auto && (@l || !$b_at_least_one);
+
+ @l = map { $_->{description} } @l;
+
+ if ($b_at_least_one && !@l) {
+ @l = load_category__prompt($in, $modules_conf, $category) or return;
+ }
+
+ load_category__prompt_for_more($in, $modules_conf, $category, @l);
+}
+
+sub load_category__prompt_for_more {
+ my ($in, $modules_conf, $category, @l) = @_;
+
+ (my $msg_type = $category) =~ s/\|.*//;
+
+ while (1) {
+ my $msg = @l ?
+ [ N("Found %s interfaces", join(", ", map { qq("$_") } @l)),
+ N("Do you have another one?") ] :
+ N("Do you have any %s interfaces?", $msg_type);
+
+ my $r = 'No';
+ $in->ask_from_({ messages => $msg,
+ if_($category =~ m!disk/.*(ide|sata|scsi|hardware_raid|usb|firewire)!, interactive_help_id => 'setupSCSI'),
+ },
+ [ { list => [ N_("Yes"), N_("No"), N_("See hardware info") ], val => \$r, type => 'list', format => \&translate } ]);
+ if ($r eq "No") { return @l }
+ if ($r eq "Yes") {
+ push @l, load_category__prompt($in, $modules_conf, $category) || next;
+ } else {
+ $in->ask_warn('', join("\n", detect_devices::stringlist()));
+ }
+ }
+}
+
+my %category2text = (
+ 'bus/usb' => N_("Installing driver for USB controller"),
+ 'bus/firewire' => N_("Installing driver for firewire controller %s"),
+ 'disk/ide|scsi|hardware_raid|sata|firewire' => N_("Installing driver for hard drive controller %s"),
+ list_modules::ethernet_categories() => N_("Installing driver for ethernet controller %s"),
+);
+
+sub wait_load_module {
+ my ($in, $category, $text, $_module) = @_;
+ my $msg = do {
+ if (my $t = $category2text{$category}) {
+ sprintf(translate($t), $text);
+ } else {
+ #-PO: the first %s is the card type (scsi, network, sound,...)
+ #-PO: the second is the vendor+model name
+ N("Installing driver for %s card %s", $category, $text);
+ }
+ };
+ $in->wait_message('', $msg);
+}
+
+sub load_module__ask_options {
+ my ($in, $module_descr, $parameters) = @_;
+
+ #- deep copying
+ my @parameters = map { [ @$_[0, 1] ] } @$parameters;
+
+ if (@parameters) {
+ $in->ask_from('',
+ N("You may now provide options to module %s.\nNote that any address should be entered with the prefix 0x like '0x123'", $module_descr),
+ [ map { { label => $_->[0], help => $_->[1], val => \$_->[2] } } @parameters ],
+ ) or return;
+ join(' ', map { if_($_->[2], "$_->[0]=$_->[2]") } @parameters);
+ } else {
+ my $s = $in->ask_from_entry('',
+N("You may now provide options to module %s.
+Options are in format ``name=value name2=value2 ...''.
+For instance, ``io=0x300 irq=7''", $module_descr), N("Module options:")) or return;
+ $s;
+ }
+}
+
+sub load_category__prompt {
+ my ($in, $modules_conf, $category) = @_;
+
+ (my $msg_type = $category) =~ s/\|.*//;
+
+ my %available_modules = map_each { my $dsc = $::b; $dsc =~ s/\s+/ /g; $::a => $dsc ? "$::a ($dsc)" : $::a } modules::category2modules_and_description($category);
+ my $module = $in->ask_from_listf('',
+#-PO: the %s is the driver type (scsi, network, sound,...)
+ N("Which %s driver should I try?", $msg_type),
+ sub { $available_modules{$_[0]} },
+ [ keys %available_modules ]) or return;
+ my $module_descr = $available_modules{$module};
+
+ my $options;
+ require modules::parameters;
+ my @parameters = modules::parameters::parameters($module);
+ if (@parameters && $in->ask_from_list_('',
+formatAlaTeX(N("In some cases, the %s driver needs to have extra information to work
+properly, although it normally works fine without them. Would you like to specify
+extra options for it or allow the driver to probe your machine for the
+information it needs? Occasionally, probing will hang a computer, but it should
+not cause any damage.", $module_descr)), [ N_("Autoprobe"), N_("Specify options") ], 'Autoprobe') ne 'Autoprobe') {
+ $options = load_module__ask_options($in, $module_descr, \@parameters) or return;
+ }
+ while (1) {
+ eval {
+ my $_w = wait_load_module($in, $category, $module_descr, $module);
+ log::l("user asked for loading module $module (type $category, desc $module_descr)");
+ modules::load_and_configure($modules_conf, $module, $options);
+ };
+ return $module_descr if !$@;
+
+ $in->ask_yesorno('',
+N("Loading module %s failed.
+Do you want to try again with other parameters?", $module_descr), 1) or return;
+
+ $options = load_module__ask_options($in, $module_descr, \@parameters) or return;
+ }
+}
+
+1;
diff --git a/perl-install/modules/modprobe_conf.pm b/perl-install/modules/modprobe_conf.pm
new file mode 100644
index 000000000..8a55c4149
--- /dev/null
+++ b/perl-install/modules/modprobe_conf.pm
@@ -0,0 +1,163 @@
+package modules::modprobe_conf; # $Id: modprobe_conf.pm 19538 2004-09-07 07:07:52Z prigaux $
+
+use log;
+use common;
+
+our @ISA = qw(modules::any_conf);
+
+
+sub file { '/etc/modprobe.conf' }
+sub handled_fields { qw(alias options install remove) }
+
+sub mapping {
+ my ($_conf, @modules) = @_;
+ my @l = map { modules::mapping_24_26($_) } @modules;
+ wantarray() ? @l : $l[0];
+}
+
+sub get_above {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+
+ my (undef, $after) = parse_non_virtual($module, $conf->{$module}{install}) or return;
+ my ($l, $_other_cmds) = partition_modprobes($after);
+ join(' ', @$l);
+}
+sub set_above {
+ my ($conf, $module, $o_modules) = @_;
+ $module = $conf->mapping($module);
+ my @modules = $conf->mapping(split(' ', $o_modules || ''));
+
+ { #- first add to "install" command
+ my ($before, $after) = parse_non_virtual($module, $conf->{$module}{install});
+ my ($_previous_modules, $other_cmds) = partition_modprobes($after || '');
+ $after = join('; ', @$other_cmds, map { "/sbin/modprobe $_" } @modules);
+ $conf->{$module}{install} = unparse_non_virtual($module, '--ignore-install', $before, $after);
+ }
+ { #- then to "remove" command
+ my ($before, $after) = parse_non_virtual($module, $conf->{$module}{remove});
+ my ($_previous_modules, $other_cmds) = partition_modprobes($before || '');
+ $before = join('; ', @$other_cmds, map { "/sbin/modprobe -r $_" } @modules);
+ $conf->{$module}{remove} = unparse_non_virtual($module, '-r --ignore-remove', $before, $after);
+ }
+}
+
+sub create_from_old() {
+ #- use module-init-tools script
+ run_program::rooted($::prefix, "/sbin/generate-modprobe.conf", ">", file());
+}
+
+sub read {
+ my ($type, $o_file) = @_;
+
+ my $file = $o_file || do {
+ my $f = $::prefix . file();
+ if (!-e $f && -e "$::prefix/etc/modules.conf") {
+ create_from_old();
+ }
+ $f;
+ };
+
+ my $conf = modules::any_conf::read_handled($type, $file);
+
+ extract_probeall_field($conf);
+
+ $conf;
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+
+ remove_probeall_field($conf);
+
+ my $_b = before_leaving { extract_probeall_field($conf) };
+
+ modules::any_conf::write($conf, $o_file);
+}
+
+
+
+################################################################################
+sub remove_braces {
+ my ($s) = @_;
+ $s =~ s/^\s*\{\s*(.*)\s*;\s*\}\s*$/$1/;
+ $s;
+}
+
+sub parse_non_virtual {
+ my ($module, $s) = @_;
+ my ($before, $options, $after) =
+ $s =~ m!^(?:(.*);)?
+ \s*(?:/sbin/)?modprobe\s+(-\S+\s+)*\Q$module\E
+ \s*(?:&&\s*(.*))?$!x
+ or return;
+ $options =~ /--ignore-(install|remove)\b/ or return;
+
+ ($before, $after) = map { remove_braces($_ || '') } $before, $after;
+ $after =~ s!\s*;\s*/bin/true$!!;
+
+ $before, $after;
+}
+
+sub unparse_non_virtual {
+ my ($module, $mode, $before, $after) = @_;
+ ($before ? "$before; " : '')
+ . "/sbin/modprobe --first-time $mode $module"
+ . ($after ? " && { $after; /bin/true; }" : '');
+}
+
+sub partition_modprobes {
+ my ($s) = @_;
+
+ my (@modprobes, @other_cmds);
+ my @l = split(/\s*;\s*/, $s);
+ foreach (@l) {
+ if (m!^(?:/sbin/)?modprobe\s+(?:-r\s+)?(\S+)$!) {
+ push @modprobes, $1;
+ } else {
+ push @other_cmds, $1;
+ }
+ }
+ \@modprobes, \@other_cmds;
+}
+
+sub parse_for_probeall {
+ my ($module, $s) = @_;
+
+ parse_non_virtual($module, $s) and return;
+ if ($s =~ /[{&|]/) {
+ log::l("weird install line in modprobe.conf for $module: $s");
+ return;
+ }
+ $s ne '/bin/true' or return; #- we have "alias $module off" here
+
+ $s =~ s!\s*;\s*/bin/true$!!;
+
+ my ($l, $other_cmds) = partition_modprobes($s);
+
+ @$other_cmds ? undef : $l;
+}
+
+sub extract_probeall_field {
+ my ($conf) = @_;
+
+ foreach my $module (keys %$conf) {
+ $conf->{$module}{install} or next;
+ my $l = parse_for_probeall($module, $conf->{$module}{install}) or next;
+
+ $conf->{$module}{probeall} = join(' ', @$l);
+ delete $conf->{$module}{install};
+ }
+}
+
+sub remove_probeall_field {
+ my ($conf) = @_;
+
+ foreach my $module (keys %$conf) {
+ my $modules = delete $conf->{$module}{probeall} or next;
+
+ $conf->{$module}{install} = join('; ', (map { "/sbin/modprobe $_" } split(' ', $modules)), '/bin/true');
+ }
+}
+
+1;
diff --git a/perl-install/modules/modules_conf.pm b/perl-install/modules/modules_conf.pm
new file mode 100644
index 000000000..576efe2be
--- /dev/null
+++ b/perl-install/modules/modules_conf.pm
@@ -0,0 +1,70 @@
+package modules::modules_conf; # $Id: modules_conf.pm 19538 2004-09-07 07:07:52Z prigaux $
+
+use log;
+use common;
+
+our @ISA = qw(modules::any_conf);
+
+
+sub file { '/etc/modules.conf' }
+sub handled_fields { qw(alias above options probeall) }
+
+sub mapping {
+ my ($_conf, @modules) = @_;
+ my @l = map { modules::mapping_26_24($_) } @modules;
+ wantarray() ? @l : $l[0];
+}
+
+sub get_above {
+ my ($conf, $module) = @_;
+ $module = $conf->mapping($module);
+
+ $conf->{$module} && $conf->{$module}{above};
+}
+sub set_above {
+ my ($conf, $module, $o_modules) = @_;
+ $module = $conf->mapping($module);
+
+ if ($o_modules) {
+ my $modules = join(' ', $conf->mapping(split(' ', $o_modules)));
+ $conf->{$module}{above} = $modules;
+ } else {
+ delete $conf->{$module}{above};
+ }
+}
+
+sub read {
+ my ($type, $o_file) = @_;
+
+ my $conf = modules::any_conf::read_handled($type, $o_file);
+
+ #- convert old aliases to new probeall
+ foreach my $name ('scsi_hostadapter', 'usb-interface') {
+ my @old_aliases =
+ map { $_->[0] } sort { $a->[1] <=> $b->[1] }
+ map { if_(/^$name(\d*)/ && $conf->{$_}{alias}, [ $_, $1 || 0 ]) } keys %$conf;
+ foreach my $alias (@old_aliases) {
+ $conf->add_probeall($name, delete $conf->{$alias}{alias});
+ }
+ }
+
+ $conf;
+}
+
+sub write {
+ my ($conf, $o_file) = @_;
+ my $file = $o_file || do {
+ my $f = $::prefix . file();
+ rename "$::prefix/etc/conf.modules", $f; #- make the switch to new name if needed
+ $f;
+ };
+
+ modules::any_conf::write($conf, $file);
+
+ if ($::isInstall) {
+ require modules::modprobe_conf;
+ modules::modprobe_conf::create_from_old();
+ }
+}
+
+1;
diff --git a/perl-install/modules/parameters.pm b/perl-install/modules/parameters.pm
new file mode 100644
index 000000000..4b6305bec
--- /dev/null
+++ b/perl-install/modules/parameters.pm
@@ -0,0 +1,27 @@
+package modules::parameters; # $Id: parameters.pm 27168 2006-05-12 14:23:03Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use modules;
+
+
+sub parameters {
+ my ($module) = @_;
+
+ if (!$::isStandalone && !$::testing) {
+ ($module) = modules::extract_modules('/tmp', $module);
+ }
+
+ map {
+ chomp;
+ (my $name, $_) = /(\w+):(.*)/s or warn "modules::parameters::parameters($module): unknown line\n";
+ [ $name, $_ ];
+ } common::join_lines(run_program::get_stdout('modinfo', '-p', $module));
+}
+
+1;
diff --git a/perl-install/mygtk2.pm b/perl-install/mygtk2.pm
new file mode 100644
index 000000000..c8c1d544a
--- /dev/null
+++ b/perl-install/mygtk2.pm
@@ -0,0 +1,1137 @@
+package mygtk2;
+
+use diagnostics;
+use strict;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(gtknew gtkset gtkadd gtkval_register gtkval_modify);
+
+use c;
+use log;
+use common;
+
+use Gtk2;
+use Gtk2::Gdk::Keysyms;
+
+unless ($::no_ugtk_init) {
+ !check_for_xserver() and print("Cannot be run in console mode.\n"), c::_exit(0);
+ $::one_message_has_been_translated and warn("N() was called from $::one_message_has_been_translated BEFORE gtk2 initialisation, replace it with a N_() AND a translate() later.\n"), c::_exit(1);
+
+ Gtk2->init;
+ Locale::gettext::bind_textdomain_codeset($_, 'UTF8') foreach 'libDrakX', if_(!$::isInstall, 'libDrakX-standalone'), @::textdomains;
+}
+Gtk2->croak_execeptions if (!$::no_ugtk_init || $::isInstall) && 0.95 < $Gtk2::VERSION;
+
+
+
+sub gtknew {
+ my $class = shift;
+ if (@_ % 2 != 0) {
+ internal_error("gtknew $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtknew $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+ _gtk(undef, $class, 'gtknew', \%opts);
+}
+
+sub gtkset {
+ my $w = shift;
+ my $class = ref($w);
+ if (@_ % 2 != 0) {
+ internal_error("gtkset $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtkset $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+
+ $class =~ s/^(Gtk2|Gtk2::Gdk|mygtk2)::// or internal_error("gtkset unknown class $class");
+
+ _gtk($w, $class, 'gtkset', \%opts);
+}
+
+sub gtkadd {
+ my $w = shift;
+ my $class = ref($w);
+ if (@_ % 2 != 0) {
+ internal_error("gtkadd $class: bad options @_");
+ }
+ if (my $r = find { ref $_->[0] } group_by2(@_)) {
+ internal_error("gtkadd $class: $r should be a string in @_");
+ }
+ my %opts = @_;
+ $class =~ s/^(Gtk2|Gtk2::Gdk|mygtk2)::// or internal_error("gtkadd unknown class $class");
+
+ _gtk($w, $class, 'gtkadd', \%opts);
+}
+
+
+my %refs;
+
+sub gtkval_register {
+ my ($w, $ref, $sub) = @_;
+ push @{$w->{_ref}}, $ref;
+ $w->signal_connect(destroy => sub {
+ @{$refs{$ref}} = grep { $_->[1] != $w } @{$refs{$ref}};
+ delete $refs{$ref} if !@{$refs{$ref}};
+ });
+ push @{$refs{$ref}}, [ $sub, $w ];
+}
+sub gtkval_modify {
+ my ($ref, $val, @to_skip) = @_;
+ my $prev = '' . $ref;
+ $$ref = $val;
+ if ($prev ne '' . $ref) {
+ internal_error();
+ }
+ foreach (@{$refs{$ref} || []}) {
+ my ($f, @para) = @$_;
+ $f->(@para) if !member($f, @to_skip);
+ }
+}
+
+my $global_tooltips;
+
+sub _gtk {
+ my ($w, $class, $action, $opts) = @_;
+
+ if (my $f = $mygtk2::{"_gtk__$class"}) {
+ $w = $f->($w, $opts, $class, $action);
+ } else {
+ internal_error("$action $class: unknown class");
+ }
+
+ $w->set_size_request(delete $opts->{width} || -1, delete $opts->{height} || -1) if exists $opts->{width} || exists $opts->{height};
+ if (my $position = delete $opts->{position}) {
+ $w->move($position->[0], $position->[1]);
+ }
+ $w->set_name(delete $opts->{widget_name}) if exists $opts->{widget_name};
+ $w->can_focus(delete $opts->{can_focus}) if exists $opts->{can_focus};
+ $w->can_default(delete $opts->{can_default}) if exists $opts->{can_default};
+ $w->grab_focus if delete $opts->{grab_focus};
+ $w->set_padding(@{delete $opts->{padding}}) if exists $opts->{padding};
+ $w->set_sensitive(delete $opts->{sensitive}) if exists $opts->{sensitive};
+ (delete $opts->{size_group})->add_widget($w) if $opts->{size_group};
+ if (my $tip = delete $opts->{tip}) {
+ $global_tooltips ||= Gtk2::Tooltips->new;
+ $global_tooltips->set_tip($w, $tip);
+ }
+
+ #- WARNING: hide_ref and show_ref are not effective until you gtkval_modify the ref
+ if (my $hide_ref = delete $opts->{hide_ref}) {
+ gtkval_register($w, $hide_ref, sub { $$hide_ref ? $w->hide : $w->show });
+ } elsif (my $show_ref = delete $opts->{show_ref}) {
+ gtkval_register($w, $show_ref, sub { $$show_ref ? $w->show : $w->hide });
+ }
+
+ if (%$opts && !$opts->{allow_unknown_options}) {
+ internal_error("$action $class: unknown option(s) " . join(', ', keys %$opts));
+ }
+ $w;
+}
+
+
+sub _gtk__Button { &_gtk_any_Button }
+sub _gtk__ToggleButton { &_gtk_any_Button }
+sub _gtk__CheckButton { &_gtk_any_Button }
+sub _gtk__RadioButton { &_gtk_any_Button }
+sub _gtk_any_Button {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ my @radio_options;
+ if ($class eq 'RadioButton') {
+ @radio_options = delete $opts->{group};
+ }
+ $w = $opts->{image} || $opts->{child} ? "Gtk2::$class"->new :
+ delete $opts->{mnemonic} ? "Gtk2::$class"->new_with_mnemonic(@radio_options, delete $opts->{text} || '') :
+ $opts->{text} ? "Gtk2::$class"->new_with_label(@radio_options, delete $opts->{text} || '') :
+ "Gtk2::$class"->new(@radio_options);
+
+ $w->{format} = delete $opts->{format} if exists $opts->{format};
+ }
+
+ if (my $widget = delete $opts->{image} || delete $opts->{child}) {
+ $w->add($widget);
+ $widget->show;
+ }
+ $w->set_relief(delete $opts->{relief}) if exists $opts->{relief};
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub {
+ eval { $w->set_label(may_apply($w->{format}, $$text_ref)) };
+ };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ } elsif (exists $opts->{text}) {
+ $w->set_label(delete $opts->{text});
+ }
+
+ if ($class eq 'Button') {
+ $w->signal_connect(clicked => delete $opts->{clicked}) if exists $opts->{clicked};
+ } else {
+ if (my $active_ref = delete $opts->{active_ref}) {
+ my $set = sub { $w->set_active($$active_ref) };
+ $w->signal_connect(toggled => sub {
+ gtkval_modify($active_ref, $w->get_active, $set);
+ });
+ gtkval_register($w, $active_ref, $set);
+ gtkval_register($w, $active_ref, delete $opts->{toggled}) if exists $opts->{toggled};
+ $set->();
+ } else {
+ $w->set_active(delete $opts->{active}) if exists $opts->{active};
+ $w->signal_connect(toggled => delete $opts->{toggled}) if exists $opts->{toggled};
+ }
+ }
+ $w;
+}
+
+sub _gtk__CheckMenuItem {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ add2hash_($opts, { mnemonic => 1 });
+
+ $w = $opts->{image} || !exists $opts->{text} ? "Gtk2::$class"->new :
+ delete $opts->{mnemonic} ? "Gtk2::$class"->new_with_label(delete $opts->{text}) :
+ "Gtk2::$class"->new_with_mnemonic(delete $opts->{text});
+ }
+
+ $w->set_active(delete $opts->{active}) if exists $opts->{active};
+ $w->signal_connect(toggled => delete $opts->{toggled}) if exists $opts->{toggled};
+ $w;
+}
+
+sub _gtk___SpinButton {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $opts->{adjustment} ||= do {
+ add2hash_($opts, { step_increment => 1, page_increment => 5, page_size => 1, value => delete $opts->{lower} });
+ Gtk2::Adjustment->new(delete $opts->{value}, delete $opts->{lower}, delete $opts->{upper}, delete $opts->{step_increment}, delete $opts->{page_increment}, delete $opts->{page_size});
+ };
+ $w = Gtk2::SpinButton->new(delete $opts->{adjustment}, delete $opts->{climb_rate} || 0, delete $opts->{digits} || 0);
+ }
+
+ $w->signal_connect(value_changed => delete $opts->{value_changed}) if exists $opts->{value_changed};
+ $w;
+}
+
+sub _gtk__HScale {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $opts->{adjustment} ||= do {
+ add2hash_($opts, { step_increment => 1, page_increment => 5, page_size => 1, value => delete $opts->{lower} });
+ Gtk2::Adjustment->new(delete $opts->{value}, delete $opts->{lower}, (delete $opts->{upper}) + 1, delete $opts->{step_increment}, delete $opts->{page_increment}, delete $opts->{page_size});
+ };
+ $w = Gtk2::HScale->new(delete $opts->{adjustment});
+ }
+
+ $w->signal_connect(value_changed => delete $opts->{value_changed}) if exists $opts->{value_changed};
+ $w;
+}
+
+sub _gtk__ProgressBar {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::ProgressBar->new;
+ }
+
+ if (my $fraction_ref = delete $opts->{fraction_ref}) {
+ my $set = sub { $w->set_fraction($$fraction_ref) };
+ gtkval_register($w, $fraction_ref, $set);
+ $set->();
+ } elsif (exists $opts->{fraction}) {
+ $w->set_fraction(delete $opts->{fraction});
+ }
+
+ $w;
+}
+
+sub _gtk__VSeparator { &_gtk_any_simple }
+sub _gtk__HSeparator { &_gtk_any_simple }
+sub _gtk__Calendar { &_gtk_any_simple }
+
+sub _gtk__DrawingArea {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::DrawingArea->new;
+ }
+ $w->signal_connect(expose_event => delete $opts->{expose_event}) if exists $opts->{expose_event};
+ $w;
+}
+
+sub _gtk__Pixbuf {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ my $name = delete $opts->{file} or internal_error("missing file");
+ my $file = _find_imgfile($name) or internal_error("can not find image $name");
+ $w = Gtk2::Gdk::Pixbuf->new_from_file($file);
+ }
+ $w;
+}
+
+# Image_using_pixmap is rendered using DITHER_MAX which is much better on 16bpp displays
+sub _gtk__Image_using_pixmap { &_gtk__Image }
+sub _gtk__Image {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Image->new;
+ $w->{format} = delete $opts->{format} if exists $opts->{format};
+
+ $w->{set_from_file} = $class =~ /using_pixmap/ ? sub {
+ my ($w, $file) = @_;
+ my $pixmap = mygtk2::pixmap_from_pixbuf($w, gtknew('Pixbuf', file => $file));
+ $w->set_from_pixmap($pixmap, undef);
+ } : sub {
+ my ($w, $file) = @_;
+ $w->set_from_file($file);
+ };
+ }
+
+ if (my $name = delete $opts->{file}) {
+ my $file = _find_imgfile(may_apply($w->{format}, $name)) or internal_error("can not find image $name");
+ $w->{set_from_file}->($w, $file);
+ } elsif (my $file_ref = delete $opts->{file_ref}) {
+ my $set = sub {
+ my $file = _find_imgfile(may_apply($w->{format}, $$file_ref)) or internal_error("can not find image $$file_ref");
+ $w->{set_from_file}->($w, $file);
+ };
+ gtkval_register($w, $file_ref, $set);
+ $set->() if $$file_ref;
+ }
+ $w;
+}
+
+sub _gtk__WrappedLabel {
+ my ($w, $opts) = @_;
+
+ $opts->{line_wrap} = 1;
+ _gtk__Label($w, $opts);
+}
+
+sub _gtk__Label_Left {
+ my ($w, $opts) = @_;
+ $opts->{alignment} ||= [ 0, 0 ];
+ $opts->{padding} = [ 20, 0 ];
+ _gtk__Label($w, $opts);
+}
+
+sub _gtk__Label {
+ my ($w, $opts) = @_;
+
+ if ($w) {
+ $w->set_text(delete $opts->{text}) if exists $opts->{text};
+ } else {
+ $w = exists $opts->{text} ? Gtk2::Label->new(delete $opts->{text}) : Gtk2::Label->new;
+ $w->set_justify(delete $opts->{justify}) if exists $opts->{justify};
+ $w->set_line_wrap(delete $opts->{line_wrap}) if exists $opts->{line_wrap};
+ $w->set_alignment(@{delete $opts->{alignment}}) if exists $opts->{alignment};
+ $w->modify_font(Gtk2::Pango::FontDescription->from_string(delete $opts->{font})) if exists $opts->{font};
+ }
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub { $w->set_text($$text_ref) };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ }
+
+ if (my $t = delete $opts->{text_markup}) {
+ $w->set_markup($t);
+ if ($w->get_text eq '') {
+ log::l("invalid markup in $t. not using the markup");
+ $w->set_text($t);
+ }
+ }
+ $w;
+}
+
+sub title1_to_markup {
+ my ($label) = @_;
+ '<b><big>' . $label . '</big></b>';
+}
+
+sub _gtk__Title1 {
+ my ($w, $opts) = @_;
+ $opts ||= {};
+ $opts->{text_markup} = '<b><big>' . delete($opts->{label}) . '</big></b>';
+ _gtk__Label($w, $opts);
+}
+
+sub _gtk__Title2 {
+ my ($w, $opts) = @_;
+ $opts ||= {};
+ $opts->{alignment} = [ 0, 0 ];
+ _gtk__Title1($w, $opts);
+}
+
+sub _gtk__Entry {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Entry->new;
+ $w->set_editable(delete $opts->{editable}) if exists $opts->{editable};
+ }
+
+ $w->set_text(delete $opts->{text}) if exists $opts->{text};
+ $w->signal_connect(key_press_event => delete $opts->{key_press_event}) if exists $opts->{key_press_event};
+
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub { $w->set_text($$text_ref) };
+ gtkval_register($w, $text_ref, $set);
+ $set->();
+ }
+
+ $w;
+}
+
+sub _gtk__TextView {
+ my ($w, $opts, $_class, $action) = @_;
+
+ if (!$w) {
+ $w = Gtk2::TextView->new;
+ $w->set_editable(delete $opts->{editable}) if exists $opts->{editable};
+ $w->set_wrap_mode(delete $opts->{wrap_mode}) if exists $opts->{wrap_mode};
+ $w->set_cursor_visible(delete $opts->{cursor_visible}) if exists $opts->{cursor_visible};
+ }
+
+ _text_insert($w, delete $opts->{text}, append => $action eq 'gtkadd') if exists $opts->{text};
+ $w;
+}
+
+sub _gtk__ComboBox {
+ my ($w, $opts, $_class, $action) = @_;
+
+ if (!$w) {
+ $w = Gtk2::ComboBox->new_text;
+ $w->{format} = delete $opts->{format} if exists $opts->{format};
+
+ }
+ my $set_list = sub {
+ $w->{formatted_list} = $w->{format} ? [ map { $w->{format}($_) } @{$w->{list}} ] : $w->{list};
+ $w->get_model->clear;
+ $w->{strings} = $w->{formatted_list}; # used by Gtk2::ComboBox wrappers such as get_text() in ugtk2
+ $w->append_text($_) foreach @{$w->{formatted_list}};
+ };
+ if (my $list_ref = delete $opts->{list_ref}) {
+ !$opts->{list} or internal_error("both list and list_ref");
+ my $set = sub {
+ $w->{list} = $$list_ref;
+ $set_list->();
+ };
+ gtkval_register($w, $list_ref, $set);
+ $set->();
+ } elsif (exists $opts->{list}) {
+ $w->{list} = delete $opts->{list};
+ $set_list->();
+ }
+
+ if ($action eq 'gtknew') {
+ if (my $text_ref = delete $opts->{text_ref}) {
+ my $set = sub {
+ my $val = may_apply($w->{format}, $$text_ref);
+ eval { $w->set_active(find_index { $_ eq $val } @{$w->{formatted_list}}) };
+ };
+ $w->signal_connect(changed => sub {
+ gtkval_modify($text_ref, $w->{list}[$w->get_active], $set);
+ });
+ gtkval_register($w, $text_ref, $set);
+ gtkval_register($w, $text_ref, delete $opts->{changed}) if exists $opts->{changed};
+ $set->();
+ } else {
+ my $val = delete $opts->{text};
+ eval { $w->set_active(find_index { $_ eq $val } @{$w->{formatted_list}}) } if defined $val;
+ $w->signal_connect(changed => delete $opts->{changed}) if exists $opts->{changed};
+ }
+ }
+ $w;
+}
+
+sub _gtk__ScrolledWindow {
+ my ($w, $opts, $_class, $action) = @_;
+
+ if (!$w) {
+ $w = Gtk2::ScrolledWindow->new(undef, undef);
+ $w->set_policy(delete $opts->{h_policy} || 'automatic', delete $opts->{v_policy} || 'automatic');
+ }
+
+ my $faked_w = $w;
+
+ if (my $child = delete $opts->{child}) {
+ if (member(ref($child), qw(Gtk2::Layout Gtk2::Html2::View Gtk2::SimpleList Gtk2::SourceView::View Gtk2::Text Gtk2::TextView Gtk2::TreeView))) {
+ $w->add($child);
+ } else {
+ $w->add_with_viewport($child);
+ }
+ $child->set_focus_vadjustment($w->get_vadjustment) if $child->can('set_focus_vadjustment');
+ $child->set_left_margin(6) if ref($child) =~ /Gtk2::TextView/;
+ $child->show;
+
+ $w->child->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type};
+
+ if (ref($child) eq 'Gtk2::TextView' && delete $opts->{to_bottom}) {
+ $child->{to_bottom} = _allow_scroll_TextView_to_bottom($w, $child);
+ }
+
+ if ($action eq 'gtknew' && ref($child) =~ /Gtk2::TextView|Gtk2::TreeView/) {
+ $faked_w = gtknew('Frame', shadow_type => 'in', child => $w);
+ }
+ }
+ $faked_w;
+}
+
+sub _gtk__Frame {
+ my ($w, $opts) = @_;
+
+ if ($w) {
+ $w->set_label(delete $opts->{text}) if exists $opts->{text};
+ } else {
+ $w = Gtk2::Frame->new(delete $opts->{text});
+ $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width};
+ $w->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type};
+ }
+
+ if (my $child = delete $opts->{child}) {
+ $w->add($child);
+ $child->show;
+ }
+ $w;
+}
+
+sub _gtk__Expander {
+ my ($w, $opts) = @_;
+
+ if ($w) {
+ $w->set_label(delete $opts->{text}) if exists $opts->{text};
+ } else {
+ $w = Gtk2::Expander->new(delete $opts->{text});
+ }
+
+ $w->signal_connect(activate => delete $opts->{activate}) if exists $opts->{activate};
+
+ if (my $child = delete $opts->{child}) {
+ $w->add($child);
+ $child->show;
+ }
+ $w;
+}
+
+sub _gtk__Window { &_gtk_any_Window }
+sub _gtk__Dialog { &_gtk_any_Window }
+sub _gtk__Plug { &_gtk_any_Window }
+sub _gtk_any_Window {
+ my ($w, $opts, $class) = @_;
+
+ if (!$w) {
+ if ($class eq 'Window') {
+ $w = "Gtk2::$class"->new(delete $opts->{type} || 'toplevel');
+ } elsif ($class eq 'Plug') {
+ $opts->{socket_id} or internal_error("can not create a Plug without a socket_id");
+ $w = "Gtk2::$class"->new(delete $opts->{socket_id});
+ } else {
+ $w = "Gtk2::$class"->new;
+ }
+
+ $w->set_modal(1) if exists $opts->{transient_for};
+ $w->set_modal(delete $opts->{modal}) if exists $opts->{modal};
+ $w->set_transient_for(delete $opts->{transient_for}) if exists $opts->{transient_for};
+ $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width};
+ $w->set_shadow_type(delete $opts->{shadow_type}) if exists $opts->{shadow_type};
+ $w->set_position(delete $opts->{position_policy}) if exists $opts->{position_policy};
+ $w->set_default_size(delete $opts->{default_width} || -1, delete $opts->{default_height} || -1) if exists $opts->{default_width} || exists $opts->{default_height};
+ my $icon_no_error = $opts->{icon_no_error};
+ if (my $name = delete $opts->{icon} || delete $opts->{icon_no_error}) {
+ if (my $f = _find_imgfile($name)) {
+ $w->set_icon(gtknew('Pixbuf', file => $f));
+ } elsif (!$icon_no_error) {
+ internal_error("can not find $name");
+ }
+ }
+ }
+ $w->set_title(delete $opts->{title}) if exists $opts->{title};
+
+ if (my $child = delete $opts->{child}) {
+ $w->add($child);
+ $child->show;
+ }
+ $w;
+}
+
+sub _gtk__MagicWindow {
+ my ($w, $opts) = @_;
+
+ my $pop_it = delete $opts->{pop_it} || !$::isWizard && !$::isEmbedded || $::WizardTable && do {
+ #- do not take into account the wizard banner
+ any { !$_->isa('Gtk2::DrawingArea') && $_->visible } $::WizardTable->get_children;
+ };
+
+ my $sub_child = delete $opts->{child} or internal_error("missing child");
+ my $provided_banner = delete $opts->{banner};
+
+ if ($pop_it) {
+ $sub_child = gtknew('VBox', children_tight => [ $provided_banner ]) if $provided_banner;
+ $opts->{child} = $::isInstall ?
+ gtknew('Frame', shadow_type => 'out',
+ child => gtknew('Frame', shadow_type => 'none', border_width => 3, child => $sub_child)) :
+ $sub_child;
+
+ $w = _create_Window($opts);
+ } else {
+ if (!$::WizardWindow) {
+
+ my $banner;
+ if (!$::isEmbedded && !$::isInstall && $::Wizard_title) {
+ if (_find_imgfile($opts->{icon_no_error})) {
+ $banner = Gtk2::Banner->new($opts->{icon_no_error}, $::Wizard_title);
+ } else {
+ log::l("ERROR: missing wizard banner $opts->{icon_no_error}");
+ }
+ }
+ $::WizardTable = gtknew('VBox', if_($banner, children_tight => [ $banner ]));
+
+ if ($::isEmbedded) {
+ add2hash($opts, {
+ socket_id => $::XID,
+ child => $::WizardTable,
+ });
+ delete $opts->{no_Window_Manager};
+ $::Plug = $::WizardWindow = _gtk(undef, 'Plug', 'gtknew', $opts);
+ sync($::WizardWindow);
+ } else {
+ add2hash($opts, {
+ child => gtknew('Frame', shadow_type => 'out', child => $::WizardTable),
+ });
+ $::WizardWindow = _create_Window($opts);
+ }
+ } else {
+ %$opts = ();
+ }
+
+ set_main_window_size($::WizardWindow);
+
+ $w = $::WizardWindow;
+
+ gtkadd($::WizardTable, children_tight => [ $provided_banner ]) if $provided_banner;
+ gtkadd($::WizardTable, children_loose => [ $sub_child ]);
+ }
+ bless {
+ real_window => $w,
+ child => $sub_child, pop_it => $pop_it,
+ if_($provided_banner, banner => $provided_banner),
+ }, 'mygtk2::MagicWindow';
+}
+
+# A standard About dialog. Used with:
+# my $w = gtknew('AboutDialog', ...);
+# $w->show_all;
+# $w->run;
+sub _gtk__AboutDialog {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::AboutDialog->new;
+ $w->signal_connect(response => sub { $_[0]->destroy });
+ $w->set_name(delete $opts->{name}) if exists $opts->{name};
+ $w->set_version(delete $opts->{version}) if exists $opts->{version};
+ $w->set_icon(gtknew('Pixbuf', file => delete $opts->{icon})) if exists $opts->{icon};
+ $w->set_logo(gtknew('Pixbuf', file => delete $opts->{logo})) if exists $opts->{logo};
+ $w->set_copyright(delete $opts->{copyright}) if exists $opts->{copyright};
+ $w->set_url_hook(sub {
+ my (undef, $url) = @_;
+ run_program::raw({ detach => 1 }, 'www-browser', $url);
+ });
+ $w->set_email_hook(sub {
+ my (undef, $url) = @_;
+ run_program::raw({ detach => 1 }, 'www-browser', $url);
+ });
+
+ if (my $url = delete $opts->{website}) {
+ $url =~ s/^https:/http:/; # Gtk2::About doesn't like "https://..." like URLs
+ $w->set_website($url);
+ }
+ $w->set_license(delete $opts->{license}) if exists $opts->{license};
+ $w->set_wrap_license(delete $opts->{wrap_license}) if exists $opts->{wrap_license};
+ $w->set_comments(delete $opts->{comments}) if exists $opts->{comments};
+ $w->set_website_label(delete $opts->{website_label}) if exists $opts->{website_label};
+ $w->set_authors(delete $opts->{authors}) if exists $opts->{authors};
+ $w->set_documenters(delete $opts->{documenters}) if exists $opts->{documenters};
+ $w->set_translator_credits(delete $opts->{translator_credits}) if exists $opts->{translator_credits};
+ $w->set_artists(delete $opts->{artists}) if exists $opts->{artists};
+ $w->set_modal(delete $opts->{modal}) if exists $opts->{modal};
+ $w->set_transient_for(delete $opts->{transient_for}) if exists $opts->{transient_for};
+ $w->set_position(delete $opts->{position_policy}) if exists $opts->{position_policy};
+ }
+ $w;
+}
+
+sub _gtk__FileSelection {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::FileSelection->new(delete $opts->{title} || '');
+ gtkset($w->ok_button, %{delete $opts->{ok_button}}) if exists $opts->{ok_button};
+ gtkset($w->cancel_button, %{delete $opts->{cancel_button}}) if exists $opts->{cancel_button};
+ }
+ $w;
+}
+
+sub _gtk__FileChooser {
+ my ($w, $opts) = @_;
+
+ #- no nice way to have a {file_ref} on a FileChooser since selection_changed only works for browsing, not file/folder creation
+
+ if (!$w) {
+ my $action = delete $opts->{action} || internal_error("missing action for FileChooser");
+ $w = Gtk2::FileChooserWidget->new($action);
+
+ my $file = $opts->{file} && delete $opts->{file};
+
+ if (my $dir = delete $opts->{directory} || $file && dirname($file)) {
+ $w->set_current_folder($dir);
+ }
+ if ($file) {
+ if ($action =~ /save|create/) {
+ $w->set_current_name(basename($file));
+ } else {
+ $w->set_filename($file);
+ }
+ }
+ }
+ $w;
+}
+
+sub _gtk__VPaned { &_gtk_any_Paned }
+sub _gtk__HPaned { &_gtk_any_Paned }
+sub _gtk_any_Paned {
+ my ($w, $opts, $class, $action) = @_;
+
+ if (!$w) {
+ $w = "Gtk2::$class"->new;
+ $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width};
+ } elsif ($action eq 'gtkset') {
+ $_->destroy foreach $w->get_children;
+ }
+
+ foreach my $opt (qw(resize1 shrink1 resize2 shrink2)) {
+ $opts->{$opt} = 1 if !defined $opts->{$opt};
+ }
+ $w->pack1(delete $opts->{child1}, delete $opts->{resize1}, delete $opts->{shrink1});
+ $w->pack2(delete $opts->{child2}, delete $opts->{resize2}, delete $opts->{shrink2});
+ $w;
+}
+
+sub _gtk__VBox { &_gtk_any_Box }
+sub _gtk__HBox { &_gtk_any_Box }
+sub _gtk_any_Box {
+ my ($w, $opts, $class, $action) = @_;
+
+ if (!$w) {
+ $w = "Gtk2::$class"->new(0,0);
+ $w->set_homogeneous(delete $opts->{homogenous}) if exists $opts->{homogenous};
+ $w->set_spacing(delete $opts->{spacing}) if exists $opts->{spacing};
+ $w->set_border_width(delete $opts->{border_width}) if exists $opts->{border_width};
+ } elsif ($action eq 'gtkset') {
+ $_->destroy foreach $w->get_children;
+ }
+
+ _gtknew_handle_children($w, $opts);
+ $w;
+}
+
+sub _gtk__VButtonBox { &_gtk_any_ButtonBox }
+sub _gtk__HButtonBox { &_gtk_any_ButtonBox }
+sub _gtk_any_ButtonBox {
+ my ($w, $opts, $class, $action) = @_;
+
+ if (!$w) {
+ $w = "Gtk2::$class"->new;
+ $w->set_layout(delete $opts->{layout} || 'spread');
+ } elsif ($action eq 'gtkset') {
+ $_->destroy foreach $w->get_children;
+ }
+
+ _gtknew_handle_children($w, $opts);
+ $w;
+}
+
+sub _gtk__Notebook {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ $w = Gtk2::Notebook->new;
+ $w->set_property('show-tabs', delete $opts->{show_tabs}) if exists $opts->{show_tabs};
+ $w->set_property('show-border', delete $opts->{show_border}) if exists $opts->{show_border};
+ }
+
+ if (exists $opts->{children}) {
+ foreach (group_by2(@{delete $opts->{children}})) {
+ my ($title, $page) = @$_;
+ $w->append_page($page, $title);
+ $page->show;
+ $title->show;
+ }
+ }
+ $w;
+}
+
+sub _gtk__Table {
+ my ($w, $opts) = @_;
+
+ if (!$w) {
+ add2hash_($opts, { xpadding => 5, ypadding => 0, border_width => $::isInstall ? 3 : 10 });
+
+ $w = Gtk2::Table->new(0, 0, delete $opts->{homogeneous} || 0);
+ $w->set_col_spacings(delete $opts->{col_spacings} || 0);
+ $w->set_row_spacings(delete $opts->{row_spacings} || 0);
+ $w->set_border_width(delete $opts->{border_width});
+ $w->{$_} = delete $opts->{$_} foreach 'xpadding', 'ypadding', 'mcc';
+ }
+
+ each_index {
+ my ($i, $l) = ($::i, $_);
+ each_index {
+ my $j = $::i;
+ if ($_) {
+ ref $_ or $_ = Gtk2::WrappedLabel->new($_);
+ $j != $#$l && !$w->{mcc} ?
+ $w->attach($_, $j, $j + 1, $i, $i + 1,
+ 'fill', 'fill', $w->{xpadding}, $w->{ypadding}) :
+ $w->attach($_, $j, $j + 1, $i, $i + 1,
+ ['expand', 'fill'], ref($_) eq 'Gtk2::ScrolledWindow' || $_->get_data('must_grow') ? ['expand', 'fill'] : [], 0, 0);
+ $_->show;
+ }
+ } @$l;
+ } @{delete $opts->{children} || []};
+
+ $w;
+}
+
+sub _gtk_any_simple {
+ my ($w, $_opts, $class) = @_;
+
+ $w ||= "Gtk2::$class"->new;
+}
+
+sub _gtknew_handle_children {
+ my ($w, $opts) = @_;
+
+ my @child = exists $opts->{children_tight} ? map { [ 0, $_ ] } @{delete $opts->{children_tight}} :
+ exists $opts->{children_loose} ? map { [ 1, $_ ] } @{delete $opts->{children_loose}} :
+ exists $opts->{children} ? group_by2(@{delete $opts->{children}}) :
+ exists $opts->{children_centered} ?
+ ([ 1, gtknew('VBox') ], (map { [ 0, $_ ] } @{delete $opts->{children_centered}}), [ 1, gtknew('VBox') ]) :
+ ();
+
+ my $padding = delete $opts->{padding};
+
+ foreach (@child) {
+ my ($fill, $child) = @$_;
+ $fill eq '0' || $fill eq '1' || $fill eq 'fill' || $fill eq 'expand' or internal_error("odd {children} parameter must be 0 or 1 (got $fill)");
+ ref $child or $child = Gtk2::WrappedLabel->new($child);
+ my $expand = $fill && $fill ne 'fill' ? 1 : 0;
+ $w->pack_start($child, $expand, $fill, $padding || 0);
+ $child->show;
+ }
+}
+
+#- this magic function redirects method calls:
+#- * default is to redirect them to the {child}
+#- * if the {child} doesn't handle the method, we try with the {real_window}
+#- (eg : add_accel_group set_position set_default_size
+#- * a few methods are handled specially
+my %for_real_window = map { $_ => 1 } qw(show_all size_request);
+sub mygtk2::MagicWindow::AUTOLOAD {
+ my ($w, @args) = @_;
+
+ my ($meth) = $mygtk2::MagicWindow::AUTOLOAD =~ /mygtk2::MagicWindow::(.*)/;
+
+ my ($s1, @s2) = $meth eq 'show'
+ ? ('real_window', 'banner', 'child') :
+ $meth eq 'destroy' || $meth eq 'hide' ?
+ ($w->{pop_it} ? 'real_window' : ('child', 'banner')) :
+ $meth eq 'get' && $args[0] eq 'window-position' ||
+ $for_real_window{$meth} ||
+ !$w->{child}->can($meth)
+ ? 'real_window'
+ : 'child';
+
+#- warn "mygtk2::MagicWindow::$meth", first($w =~ /HASH(.*)/), " on $s1 @s2 (@args)\n";
+
+ $w->{$_} && $w->{$_}->$meth(@args) foreach @s2;
+ $w->{$s1}->$meth(@args);
+}
+
+sub _create_Window {
+ my ($opts) = @_;
+
+ my $no_Window_Manager = exists $opts->{no_Window_Manager} ? delete $opts->{no_Window_Manager} : !$::isStandalone;
+
+ add2hash($opts, {
+ if_(!$::isInstall && !$::isWizard, border_width => 5),
+
+ #- policy: during install, we need a special code to handle the weird centering, see below
+ position_policy => $::isInstall ? 'none' : $no_Window_Manager ? 'center-always' : 'center-on-parent',
+
+ if_($::isInstall, position => [
+ $::rootwidth - ($::o->{windowwidth} + $::real_windowwidth) / 2,
+ $::logoheight + ($::o->{windowheight} - $::real_windowheight) / 2,
+ ]),
+ });
+ my $w = _gtk(undef, 'Window', 'gtknew', $opts);
+
+ #- when the window is closed using the window manager "X" button (or alt-f4)
+ $w->signal_connect(delete_event => sub {
+ if ($::isWizard) {
+ $w->destroy;
+ die 'wizcancel';
+ } else {
+ Gtk2->main_quit;
+ }
+ });
+
+ if ($no_Window_Manager) {
+ _force_keyboard_focus($w);
+ }
+
+ if ($::isInstall) {
+ require install::gtk; #- for perl_checker
+ install::gtk::handle_unsafe_mouse($::o, $w);
+ $w->signal_connect(key_press_event => \&install::gtk::special_shortcuts);
+
+ #- force center at a weird position, this can't be handled by position_policy
+ #- because center-on-parent is a window manager hint, and we don't have a WM
+ my ($wi, $he);
+ $w->signal_connect(size_allocate => sub {
+ my (undef, $event) = @_;
+ my @w_size = $event->values;
+ return if $w_size[2] == $wi && $w_size[3] == $he; #BUG
+ (undef, undef, $wi, $he) = @w_size;
+
+ $w->move(max(0, $::rootwidth - ($::o->{windowwidth} + $wi) / 2),
+ max(0, $::logoheight + ($::o->{windowheight} - $he) / 2));
+ });
+ #- without this, the focus is broken during install, though this is not needed during X test, why??
+ $w->show;
+ }
+
+ $w;
+}
+
+my $current_window;
+sub _force_keyboard_focus {
+ my ($w) = @_;
+
+ sub _XSetInputFocus {
+ my ($w) = @_;
+ if ($current_window == $w) {
+ $w->window->XSetInputFocus;
+ }
+ 0;
+ }
+
+ #- force keyboard focus instead of mouse focus
+ my $previous_current_window = $current_window;
+ $current_window = $w;
+ $w->signal_connect(expose_event => \&_XSetInputFocus);
+ $w->signal_connect(destroy => sub { $current_window = $previous_current_window });
+}
+
+sub _find_imgfile {
+ my ($name) = @_;
+
+ if ($name =~ m|/| && -f $name) {
+ $name;
+ } else {
+ foreach my $path (_icon_paths()) {
+ foreach ('', '.png', '.xpm') {
+ my $file = "$path/$name$_";
+ -f $file and return $file;
+ }
+ }
+ }
+}
+
+# _text_insert() can be used with any of choose one of theses styles:
+# - no tags:
+# _text_insert($textview, "My text..");
+# - anonymous tags:
+# _text_insert($textview, [ [ 'first text', { 'foreground' => 'blue', 'background' => 'green', ... } ],
+# [ 'second text' ],
+# [ 'third', { 'font' => 'Serif 15', ... } ],
+# ... ]);
+# - named tags:
+# $textview->{tags} = {
+# 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
+# 'big_font' => { 'font' => 'Serif 35', ... },
+# }
+# _text_insert($textview, [ [ 'first text', 'blue_green' ],
+# [ 'second', 'big_font' ],
+# ... ]);
+# - mixed anonymous and named tags:
+# $textview->{tags} = {
+# 'blue_green' => { 'foreground' => 'blue', 'background' => 'green', ... },
+# 'big_font' => { 'font' => 'Serif 35', ... },
+# }
+# _text_insert($textview, [ [ 'first text', 'blue_green' ],
+# [ 'second text' ],
+# [ 'third', 'big_font' ],
+# [ 'fourth', { 'font' => 'Serif 15', ... } ],
+# ... ]);
+sub _text_insert {
+ my ($textview, $t, %opts) = @_;
+ my $buffer = $textview->get_buffer;
+ $buffer->{tags} ||= {};
+ $buffer->{gtk_tags} ||= {};
+ my $gtk_tags = $buffer->{gtk_tags};
+ my $tags = $buffer->{tags};
+ if (ref($t) eq 'ARRAY') {
+ if (!$opts{append}) {
+ $buffer->set_text('');
+ $textview->{anchors} = [];
+ }
+ foreach my $token (@$t) {
+ my ($item, $tag) = @$token;
+ my $iter1 = $buffer->get_end_iter;
+ if ($item =~ /^Gtk2::Gdk::Pixbuf/) {
+ $buffer->insert_pixbuf($iter1, $item);
+ next;
+ }
+ if ($item =~ /^Gtk2::/) {
+ my $anchor = $buffer->create_child_anchor($iter1);
+ $textview->add_child_at_anchor($item, $anchor);
+ $textview->{anchors} ||= [];
+ push @{$textview->{anchors}}, $anchor;
+ next;
+ }
+ if ($tag) {
+ if (ref($tag)) {
+ # use anonymous tags
+ $buffer->insert_with_tags($iter1, $item, $buffer->create_tag(undef, %$tag));
+ } else {
+ # fast text insertion:
+ # since in some contexts (eg: localedrake, rpmdrake), we use quite a lot of identical tags,
+ # it's much more efficient and less memory pressure to use named tags
+ $gtk_tags->{$tag} ||= $buffer->create_tag($tag, %{$tags->{$token->[1]}});
+ $buffer->insert_with_tags($iter1, $item, $gtk_tags->{$tag});
+ }
+ } else {
+ $buffer->insert($iter1, $item);
+ }
+ }
+ } else {
+ if ($opts{append}) {
+ $buffer->insert($buffer->get_end_iter, $t);
+ } else {
+ $textview->{anchors} = [];
+ $buffer->set_text($t);
+ }
+ }
+ $textview->{to_bottom}->() if $textview->{to_bottom};
+
+ #- the following line is needed to move the cursor to the beginning, so that if the
+ #- textview has a scrollbar, it will not scroll to the bottom when focusing (#3633)
+ $buffer->place_cursor($buffer->get_start_iter);
+ $textview->set_wrap_mode($opts{wrap_mode} || 'word');
+ $textview->set_editable($opts{editable} || 0);
+ $textview->set_cursor_visible($opts{visible} || 0);
+ $textview;
+}
+
+sub _allow_scroll_TextView_to_bottom {
+ my ($scrolledWindow, $textView) = @_;
+
+ $textView->get_buffer->create_mark('end', $textView->get_buffer->get_end_iter, 0);
+ sub {
+ my ($o_force) = @_;
+ my $adjustment = $scrolledWindow->get_vadjustment;
+ if ($o_force || $adjustment->page_size + $adjustment->value == $adjustment->upper) {
+ flush(); #- one must flush before scrolling to end, otherwise the text just added *may* not be taken into account correctly, and so it doesn't really scroll to end
+ $textView->scroll_to_mark($textView->get_buffer->get_mark('end'), 0, 1, 0, 1);
+ }
+ };
+}
+
+sub set_main_window_size {
+ my ($window) = @_;
+ my ($width, $height) = $::isInstall ? ($::real_windowwidth, $::real_windowheight) : $::isWizard ? (540, 360) : (600, 400);
+ $window->set_size_request($width, $height);
+}
+
+my @icon_paths;
+sub add_icon_path { push @icon_paths, @_ }
+sub _icon_paths() {
+ (@icon_paths, (exists $ENV{SHARE_PATH} ? ($ENV{SHARE_PATH}, "$ENV{SHARE_PATH}/icons", "$ENV{SHARE_PATH}/libDrakX/pixmaps") : ()),
+ "/usr/lib/libDrakX/icons", "pixmaps", 'data/icons', 'standalone/icons', '/usr/share/rpmdrake/icons');
+}
+
+sub main {
+ my ($window, $o_verif) = @_;
+ my $destroyed;
+ $window->signal_connect(destroy => sub { $destroyed = 1 });
+ $window->show;
+ do { Gtk2->main } while (!$destroyed && $o_verif && !$o_verif->());
+ may_destroy($window);
+ flush();
+}
+
+sub sync {
+ my ($window) = @_;
+ $window->show;
+ flush();
+}
+
+sub flush() {
+ Gtk2->main_iteration while Gtk2->events_pending;
+}
+
+sub may_destroy {
+ my ($w) = @_;
+ $w->destroy if $w;
+}
+
+sub root_window() {
+ my $root if 0;
+ $root ||= Gtk2::Gdk->get_default_root_window;
+}
+
+sub rgb2color {
+ my ($r, $g, $b) = @_;
+ my $color = Gtk2::Gdk::Color->new($r, $g, $b);
+ root_window()->get_colormap->rgb_find_color($color);
+ $color;
+}
+
+sub set_root_window_background {
+ my ($r, $g, $b) = @_;
+ my $root = root_window();
+ my $gc = Gtk2::Gdk::GC->new($root);
+ my $color = rgb2color($r, $g, $b);
+ $gc->set_rgb_fg_color($color);
+ set_root_window_background_with_gc($gc);
+}
+
+sub set_root_window_background_with_gc {
+ my ($gc) = @_;
+ my $root = root_window();
+ my ($w, $h) = $root->get_size;
+ $root->set_background($gc->get_values->{foreground});
+ $root->draw_rectangle($gc, 1, 0, 0, $w, $h);
+}
+
+sub pixmap_from_pixbuf {
+ my ($widget, $pixbuf) = @_;
+ my $window = $widget->window or internal_error("you can't use this function if the widget is not realised");
+ my ($width, $height) = ($pixbuf->get_width, $pixbuf->get_height);
+ my $pixmap = Gtk2::Gdk::Pixmap->new($window, $width, $height, $window->get_depth);
+ $pixbuf->render_to_drawable($pixmap, $widget->style->fg_gc('normal'), 0, 0, 0, 0, $width, $height, 'max', 0, 0);
+ $pixmap;
+}
+
+1;
diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm
new file mode 100644
index 000000000..06d1c3387
--- /dev/null
+++ b/perl-install/partition_table.pm
@@ -0,0 +1,629 @@
+package partition_table; # $Id: partition_table.pm 61593 2006-09-15 14:51:21Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+use fs::type;
+use partition_table::raw;
+use detect_devices;
+use log;
+
+our @fields2save = qw(primary extended totalsectors isDirty will_tell_kernel);
+
+
+sub hd2minimal_part {
+ my ($hd) = @_;
+ {
+ rootDevice => $hd->{device},
+ if_($hd->{usb_media_type}, is_removable => 1),
+ };
+}
+
+#- works for both hard drives and partitions ;p
+sub description {
+ my ($hd) = @_;
+ my $win = $hd->{device_windobe};
+
+ sprintf "%s%s (%s)",
+ $hd->{device},
+ $win && " [$win:]",
+ join(', ',
+ grep { $_ }
+ formatXiB($hd->{totalsectors} || $hd->{size}, 512),
+ $hd->{info}, $hd->{mntpoint}, $hd->{fs_type});
+}
+
+sub adjustStartAndEnd {
+ my ($hd, $part) = @_;
+
+ $hd->adjustStart($part);
+ $hd->adjustEnd($part);
+}
+
+sub verifyNotOverlap {
+ my ($a, $b) = @_;
+ $a->{start} + $a->{size} <= $b->{start} || $b->{start} + $b->{size} <= $a->{start};
+}
+sub verifyInside {
+ my ($a, $b) = @_;
+ $b->{start} <= $a->{start} && $a->{start} + $a->{size} <= $b->{start} + $b->{size};
+}
+
+sub verifyParts_ {
+ foreach my $i (@_) {
+ foreach (@_) {
+ next if !$i || !$_ || $i == $_ || isWholedisk($i) || isExtended($i); #- avoid testing twice for simplicity :-)
+ if (isWholedisk($_)) {
+ verifyInside($i, $_) or
+ cdie sprintf("partition sector #$i->{start} (%s) is not inside whole disk (%s)!",
+ formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
+ } elsif (isExtended($_)) {
+ verifyNotOverlap($i, $_) or
+ log::l(sprintf("warning partition sector #$i->{start} (%s) is overlapping with extended partition!",
+ formatXiB($i->{size}, 512))); #- only warning for this one is acceptable
+ } else {
+ verifyNotOverlap($i, $_) or
+ cdie sprintf("partitions sector #$i->{start} (%s) and sector #$_->{start} (%s) are overlapping!",
+ formatXiB($i->{size}, 512), formatXiB($_->{size}, 512));
+ }
+ }
+ }
+}
+sub verifyParts {
+ my ($hd) = @_;
+ verifyParts_(get_normal_parts($hd));
+}
+sub verifyPrimary {
+ my ($pt) = @_;
+ $_->{start} > 0 || arch() =~ /^sparc/ || die "partition must NOT start at sector 0" foreach @{$pt->{normal}};
+ verifyParts_(@{$pt->{normal}}, $pt->{extended});
+}
+
+sub compute_device_name {
+ my ($part, $hd) = @_;
+ $part->{device} = $hd->{prefix} . $part->{part_number};
+}
+
+sub assign_device_numbers {
+ my ($hd) = @_;
+
+ my $i = 1;
+ my $start = 1;
+
+ #- on PPC we need to assign device numbers to the holes too - big FUN!
+ #- not if it's an IBM machine using a DOS partition table though
+ if (arch() =~ /ppc/ && detect_devices::get_mac_model() !~ /^IBM/) {
+ #- first sort the normal parts
+ $hd->{primary}{normal} = [ sort { $a->{start} <=> $b->{start} } @{$hd->{primary}{normal}} ];
+
+ #- now loop through them, assigning partition numbers - reserve one for the holes
+ foreach (@{$hd->{primary}{normal}}) {
+ if ($_->{start} > $start) {
+ log::l("PPC: found a hole on $hd->{prefix} before $_->{start}, skipping device...");
+ $i++;
+ }
+ $_->{part_number} = $i;
+ compute_device_name($_, $hd);
+ $start = $_->{start} + $_->{size};
+ $i++;
+ }
+ } else {
+ foreach (@{$hd->{primary}{raw}}) {
+ $_->{part_number} = $i;
+ compute_device_name($_, $hd);
+ $i++;
+ }
+ foreach (map { $_->{normal} } @{$hd->{extended} || []}) {
+ my $dev = $hd->{prefix} . $i;
+ my $renumbered = $_->{device} && $dev ne $_->{device};
+ if ($renumbered) {
+ require fs::mount;
+ eval { fs::mount::umount_part($_) }; #- at least try to umount it
+ will_tell_kernel($hd, del => $_, 'delay_del');
+ push @{$hd->{partitionsRenumbered}}, [ $_->{device}, $dev ];
+ }
+ $_->{part_number} = $i;
+ compute_device_name($_, $hd);
+ if ($renumbered) {
+ will_tell_kernel($hd, add => $_, 'delay_add');
+ }
+ $i++;
+ }
+ }
+
+ #- try to figure what the windobe drive letter could be!
+ #
+ #- first verify there's at least one primary dos partition, otherwise it
+ #- means it is a secondary disk and all will be false :(
+ #-
+ my ($c, @others) = grep { isFat_or_NTFS($_) } @{$hd->{primary}{normal}};
+
+ $i = ord 'C';
+ $c->{device_windobe} = chr($i++) if $c;
+ $_->{device_windobe} = chr($i++) foreach grep { isFat_or_NTFS($_) } map { $_->{normal} } @{$hd->{extended}};
+ $_->{device_windobe} = chr($i++) foreach @others;
+}
+
+sub remove_empty_extended {
+ my ($hd) = @_;
+ my $last = $hd->{primary}{extended} or return;
+ @{$hd->{extended}} = grep {
+ if ($_->{normal}) {
+ $last = $_;
+ } else {
+ %{$last->{extended}} = $_->{extended} ? %{$_->{extended}} : ();
+ }
+ $_->{normal};
+ } @{$hd->{extended}};
+ adjust_main_extended($hd);
+}
+
+sub adjust_main_extended {
+ my ($hd) = @_;
+
+ if (!is_empty_array_ref $hd->{extended}) {
+ my ($l, @l) = @{$hd->{extended}};
+
+ # the first is a special case, must recompute its real size
+ my $start = round_down($l->{normal}{start} - 1, $hd->{geom}{sectors});
+ my $end = $l->{normal}{start} + $l->{normal}{size};
+ my $only_linux = 1; my $has_win_lba = 0;
+ foreach (map { $_->{normal} } $l, @l) {
+ $start = min($start, $_->{start});
+ $end = max($end, $_->{start} + $_->{size});
+ $only_linux &&= isTrueLocalFS($_) || isSwap($_);
+ $has_win_lba ||= $_->{pt_type} == 0xc || $_->{pt_type} == 0xe;
+ }
+ $l->{start} = $hd->{primary}{extended}{start} = $start;
+ $l->{size} = $hd->{primary}{extended}{size} = $end - $start;
+ }
+ if (!@{$hd->{extended} || []} && $hd->{primary}{extended}) {
+ will_tell_kernel($hd, del => $hd->{primary}{extended});
+ %{$hd->{primary}{extended}} = (); #- modify the raw entry
+ delete $hd->{primary}{extended};
+ }
+ verifyParts($hd); #- verify everything is all right
+}
+
+sub adjust_local_extended {
+ my ($hd, $part) = @_;
+
+ my $extended = find { $_->{normal} == $part } @{$hd->{extended} || []} or return;
+ $extended->{size} = $part->{size} + $part->{start} - $extended->{start};
+
+ #- must write it there too because values are not shared
+ my $prev = find { $_->{extended}{start} == $extended->{start} } @{$hd->{extended} || []} or return;
+ $prev->{extended}{size} = $part->{size} + $part->{start} - $prev->{extended}{start};
+}
+
+sub get_normal_parts {
+ my ($hd) = @_;
+
+ @{$hd->{primary}{normal} || []}, map { $_->{normal} } @{$hd->{extended} || []};
+}
+
+sub get_normal_parts_and_holes {
+ my ($hd) = @_;
+ my ($start, $last) = ($hd->first_usable_sector, $hd->last_usable_sector);
+
+ ref($hd) or print("get_normal_parts_and_holes: bad hd" . backtrace(), "\n");
+
+ my $minimal_hole = put_in_hash({ pt_type => 0 }, hd2minimal_part($hd));
+
+ my @l = map {
+ my $current = $start;
+ $start = $_->{start} + $_->{size};
+ my $hole = { start => $current, size => $_->{start} - $current, %$minimal_hole };
+ put_in_hash($hole, hd2minimal_part($hd));
+ $hole, $_;
+ } sort { $a->{start} <=> $b->{start} } grep { !isWholedisk($_) } get_normal_parts($hd);
+
+ push @l, { start => $start, size => $last - $start, %$minimal_hole };
+ grep { !isEmpty($_) || $_->{size} >= $hd->cylinder_size } @l;
+}
+
+sub read_one($$) {
+ my ($hd, $sector) = @_;
+ my ($pt, $info);
+
+ #- it can be safely considered that the first sector is used to probe the partition table
+ #- but other sectors (typically for extended partition ones) have to match this type!
+ if (!$sector) {
+ my @parttype = (
+ if_(arch() =~ /^ia64/, 'gpt'),
+ arch() =~ /^sparc/ ? ('sun', 'bsd') : ('dos', 'bsd', 'sun', 'mac'),
+ );
+ foreach ('empty', @parttype, 'unknown') {
+ /unknown/ and die "unknown partition table format on disk " . $hd->{file};
+ eval {
+ # perl_checker: require partition_table::bsd
+ # perl_checker: require partition_table::dos
+ # perl_checker: require partition_table::empty
+ # perl_checker: require partition_table::gpt
+ # perl_checker: require partition_table::mac
+ # perl_checker: require partition_table::sun
+ require "partition_table/$_.pm";
+ bless $hd, "partition_table::$_";
+ ($pt, $info) = $hd->read($sector);
+ log::l("found a $_ partition table on $hd->{file} at sector $sector");
+ };
+ $@ or last;
+ }
+ } else {
+ #- keep current blessed object for that, this means it is neccessary to read sector 0 before.
+ ($pt, $info) = $hd->read($sector);
+ }
+
+ my @extended = $hd->hasExtended ? grep { isExtended($_) } @$pt : ();
+ my @normal = grep { $_->{size} && !isEmpty($_) && !isExtended($_) } @$pt;
+ my $nb_special_empty = int(grep { $_->{size} && isEmpty($_) } @$pt);
+
+ @extended > 1 and die "more than one extended partition";
+
+ put_in_hash($_, hd2minimal_part($hd)) foreach @normal, @extended;
+ { raw => $pt, extended => $extended[0], normal => \@normal, info => $info, nb_special_empty => $nb_special_empty };
+}
+
+sub read {
+ my ($hd) = @_;
+ my $pt = read_one($hd, 0) or return 0;
+ $hd->{primary} = $pt;
+ undef $hd->{extended};
+ verifyPrimary($pt);
+ eval {
+ my $need_removing_empty_extended;
+ if ($pt->{extended}) {
+ read_extended($hd, $pt->{extended}, \$need_removing_empty_extended) or return 0;
+ }
+ if ($need_removing_empty_extended) {
+ #- special case when hda5 is empty, it must be skipped
+ #- (windows XP generates such partition tables)
+ remove_empty_extended($hd); #- includes adjust_main_extended
+ }
+
+ };
+ die "extended partition: $@" if $@;
+
+ assign_device_numbers($hd);
+ remove_empty_extended($hd);
+
+ $hd->set_best_geometry_for_the_partition_table;
+ 1;
+}
+
+sub read_extended {
+ my ($hd, $extended, $need_removing_empty_extended) = @_;
+
+ my $pt = read_one($hd, $extended->{start}) or return 0;
+ $pt = { %$extended, %$pt };
+
+ push @{$hd->{extended}}, $pt;
+ @{$hd->{extended}} > 100 and die "oops, seems like we're looping here :( (or you have more than 100 extended partitions!)";
+
+ if (@{$pt->{normal}} == 0) {
+ $$need_removing_empty_extended = 1;
+ delete $pt->{normal};
+ print "need_removing_empty_extended\n";
+ } elsif (@{$pt->{normal}} > 1) {
+ die "more than one normal partition in extended partition";
+ } else {
+ $pt->{normal} = $pt->{normal}[0];
+ #- in case of extended partitions, the start sector is local to the partition or to the first extended_part!
+ $pt->{normal}{start} += $pt->{start};
+
+ #- the following verification can broke an existing partition table that is
+ #- correctly read by fdisk or cfdisk. maybe the extended partition can be
+ #- recomputed to get correct size.
+ if (!verifyInside($pt->{normal}, $extended)) {
+ $extended->{size} = $pt->{normal}{start} + $pt->{normal}{size};
+ verifyInside($pt->{normal}, $extended) or die "partition $pt->{normal}{device} is not inside its extended partition";
+ }
+ }
+
+ if ($pt->{extended}) {
+ $pt->{extended}{start} += $hd->{primary}{extended}{start};
+ return read_extended($hd, $pt->{extended}, $need_removing_empty_extended);
+ } else {
+ 1;
+ }
+}
+
+sub will_tell_kernel {
+ my ($hd, $action, $o_part, $o_delay) = @_;
+
+ if ($action eq 'resize') {
+ will_tell_kernel($hd, del => $o_part);
+ will_tell_kernel($hd, add => $o_part);
+ } else {
+ my $part_number;
+ if ($o_part) {
+ ($part_number) = $o_part->{device} =~ /(\d+)$/ or
+ #- do not die, it occurs when we zero_MBR_and_dirty a raw_lvm_PV
+ log::l("ERROR: will_tell_kernel bad device " . description($o_part)), return;
+ }
+
+ my @para =
+ $action eq 'force_reboot' ? () :
+ $action eq 'add' ? ($part_number, $o_part->{start}, $o_part->{size}) :
+ $action eq 'del' ? $part_number :
+ internal_error("unknown action $action");
+
+ push @{$hd->{'will_tell_kernel' . ($o_delay || '')} ||= []}, [ $action, @para ];
+ }
+ if (!$o_delay) {
+ foreach my $delay ('delay_del', 'delay_add') {
+ my $l = delete $hd->{"will_tell_kernel$delay"} or next;
+ push @{$hd->{will_tell_kernel} ||= []}, @$l;
+ }
+ }
+ $hd->{isDirty} = 1;
+}
+
+sub tell_kernel {
+ my ($hd, $tell_kernel) = @_;
+
+ my $F = partition_table::raw::openit($hd);
+
+ my $force_reboot = any { $_->[0] eq 'force_reboot' } @$tell_kernel;
+ if (!$force_reboot) {
+ foreach (@$tell_kernel) {
+ my ($action, $part_number, $o_start, $o_size) = @$_;
+
+ if ($action eq 'add') {
+ $force_reboot ||= !c::add_partition(fileno $F, $part_number, $o_start, $o_size);
+ } elsif ($action eq 'del') {
+ $force_reboot ||= !c::del_partition(fileno $F, $part_number);
+ }
+ log::l("tell kernel $action ($hd->{device} $part_number $o_start $o_size) force_reboot=$force_reboot rebootNeeded=$hd->{rebootNeeded}");
+ }
+ }
+ if ($force_reboot) {
+ my @magic_parts = grep { $_->{isMounted} && $_->{real_mntpoint} } get_normal_parts($hd);
+ foreach (@magic_parts) {
+ syscall_('umount', $_->{real_mntpoint}) or log::l(N("error unmounting %s: %s", $_->{real_mntpoint}, $!));
+ }
+ $hd->{rebootNeeded} = !ioctl($F, c::BLKRRPART(), 0);
+ log::l("tell kernel force_reboot ($hd->{device}), rebootNeeded=$hd->{rebootNeeded}");
+
+ foreach (@magic_parts) {
+ syscall_('mount', $_->{real_mntpoint}, $_->{fs_type}, c::MS_MGC_VAL()) or log::l(N("mount failed: ") . $!);
+ }
+ }
+}
+
+# write the partition table
+sub write {
+ my ($hd) = @_;
+ $hd->{isDirty} or return;
+ $hd->{readonly} and internal_error("a read-only partition table should not be dirty ($hd->{device})!");
+
+ #- set first primary partition active if no primary partitions are marked as active.
+ if (my @l = @{$hd->{primary}{raw}}) {
+ foreach (@l) {
+ $_->{local_start} = $_->{start};
+ $_->{active} ||= 0;
+ }
+ $l[0]{active} = 0x80 if !any { $_->{active} } @l;
+ }
+
+ #- last chance for verification, this make sure if an error is detected,
+ #- it will never be writed back on partition table.
+ verifyParts($hd);
+
+ $hd->write(0, $hd->{primary}{raw}, $hd->{primary}{info}) or die "writing of partition table failed";
+
+ #- should be fixed but a extended exist with no real extended partition, that blanks mbr!
+ if (arch() !~ /^sparc/) {
+ foreach (@{$hd->{extended}}) {
+ # in case of extended partitions, the start sector must be local to the partition
+ $_->{normal}{local_start} = $_->{normal}{start} - $_->{start};
+ $_->{extended} and $_->{extended}{local_start} = $_->{extended}{start} - $hd->{primary}{extended}{start};
+
+ $hd->write($_->{start}, $_->{raw}) or die "writing of partition table failed";
+ }
+ }
+ $hd->{isDirty} = 0;
+ $hd->{hasBeenDirty} = 1; #- used in undo (to know if undo should believe isDirty or not)
+
+ if (my $tell_kernel = delete $hd->{will_tell_kernel}) {
+ if (fs::type::is_dmraid($hd)) {
+ fs::dmraid::call_dmraid('-an');
+ fs::dmraid::call_dmraid('-ay');
+ } else {
+ tell_kernel($hd, $tell_kernel);
+ }
+ }
+}
+
+sub active {
+ my ($hd, $part) = @_;
+
+ $_->{active} = 0 foreach @{$hd->{primary}{normal}};
+ $part->{active} = 0x80;
+ $hd->{isDirty} = 1;
+}
+
+
+# remove a normal partition from hard drive hd
+sub remove {
+ my ($hd, $part) = @_;
+ my $i;
+
+ #- first search it in the primary partitions
+ $i = 0; foreach (@{$hd->{primary}{normal}}) {
+ if ($_ eq $part) {
+ will_tell_kernel($hd, del => $_);
+
+ splice(@{$hd->{primary}{normal}}, $i, 1);
+ %$_ = (); #- blank it
+
+ $hd->raw_removed($hd->{primary}{raw});
+ return 1;
+ }
+ $i++;
+ }
+
+ my ($first, $second, $third) = map { $_->{normal} } @{$hd->{extended} || []};
+ if ($third && $first eq $part) {
+ die "Can not handle removing hda5 when hda6 is not the second partition" if $second->{start} > $third->{start};
+ }
+
+ #- otherwise search it in extended partitions
+ foreach (@{$hd->{extended} || []}) {
+ $_->{normal} eq $part or next;
+
+ delete $_->{normal}; #- remove it
+ remove_empty_extended($hd);
+ assign_device_numbers($hd);
+
+ will_tell_kernel($hd, del => $part);
+ return 1;
+ }
+ 0;
+}
+
+# create of partition at starting at `start', of size `size' and of type `pt_type' (nice comment, uh?)
+sub add_primary {
+ my ($hd, $part) = @_;
+
+ {
+ local $hd->{primary}{normal}; #- save it to fake an addition of $part, that way add_primary do not modify $hd if it fails
+ push @{$hd->{primary}{normal}}, $part;
+ adjust_main_extended($hd); #- verify
+ $hd->raw_add($hd->{primary}{raw}, $part);
+ }
+ push @{$hd->{primary}{normal}}, $part; #- really do it
+}
+
+sub add_extended {
+ arch() =~ /^sparc|ppc/ and die N("Extended partition not supported on this platform");
+
+ my ($hd, $part, $extended_type) = @_;
+ $extended_type =~ s/Extended_?//;
+
+ my $e = $hd->{primary}{extended};
+
+ if ($e && !verifyInside($part, $e)) {
+ #-die "sorry, can not add outside the main extended partition" unless $::unsafe;
+ my $end = $e->{start} + $e->{size};
+ my $start = min($e->{start}, $part->{start});
+ $end = max($end, $part->{start} + $part->{size}) - $start;
+
+ { #- faking a resizing of the main extended partition to test for problems
+ local $e->{start} = $start;
+ local $e->{size} = $end - $start;
+ eval { verifyPrimary($hd->{primary}) };
+ $@ and die
+N("You have a hole in your partition table but I can not use it.
+The only solution is to move your primary partitions to have the hole next to the extended partitions.");
+ }
+ }
+
+ if ($e && $part->{start} < $e->{start}) {
+ my $l = first(@{$hd->{extended}});
+
+ #- the first is a special case, must recompute its real size
+ $l->{start} = round_down($l->{normal}{start} - 1, $hd->cylinder_size);
+ $l->{size} = $l->{normal}{start} + $l->{normal}{size} - $l->{start};
+ my $ext = { %$l };
+ unshift @{$hd->{extended}}, { pt_type => 5, raw => [ $part, $ext, {}, {} ], normal => $part, extended => $ext };
+ #- size will be autocalculated :)
+ } else {
+ my ($ext, $ext_size) = is_empty_array_ref($hd->{extended}) ?
+ ($hd->{primary}, -1) : #- -1 size will be computed by adjust_main_extended
+ (top(@{$hd->{extended}}), $part->{size});
+ my %ext = (pt_type => $extended_type || 5, start => $part->{start}, size => $ext_size);
+
+ $hd->raw_add($ext->{raw}, \%ext);
+ $ext->{extended} = \%ext;
+ push @{$hd->{extended}}, { %ext, raw => [ $part, {}, {}, {} ], normal => $part };
+ }
+ $part->{start}++; $part->{size}--; #- let it start after the extended partition sector
+ adjustStartAndEnd($hd, $part);
+
+ adjust_main_extended($hd);
+}
+
+sub add {
+ my ($hd, $part, $b_primaryOrExtended, $b_forceNoAdjust) = @_;
+
+ get_normal_parts($hd) >= ($hd->{device} =~ /^rd/ ? 7 : $hd->{device} =~ /^(sd|ida|cciss|ataraid)/ ? 15 : 63) and cdie "maximum number of partitions handled by linux reached";
+
+ set_isFormatted($part, 0);
+ put_in_hash($part, hd2minimal_part($hd));
+ $part->{start} ||= 1 if arch() !~ /^sparc/; #- starting at sector 0 is not allowed
+ adjustStartAndEnd($hd, $part) unless $b_forceNoAdjust;
+
+ my $nb_primaries = $hd->{device} =~ /^rd/ ? 3 : 1;
+
+ if (arch() =~ /^sparc|ppc/ ||
+ $b_primaryOrExtended eq 'Primary' ||
+ $b_primaryOrExtended !~ /Extended/ && @{$hd->{primary}{normal} || []} < $nb_primaries) {
+ eval { add_primary($hd, $part) };
+ goto success if !$@;
+ }
+ if ($hd->hasExtended) {
+ eval { add_extended($hd, $part, $b_primaryOrExtended) };
+ goto success if !$@;
+ }
+ {
+ add_primary($hd, $part);
+ }
+ success:
+ assign_device_numbers($hd);
+ will_tell_kernel($hd, add => $part);
+}
+
+# search for the next partition
+sub next {
+ my ($hd, $part) = @_;
+
+ first(
+ sort { $a->{start} <=> $b->{start} }
+ grep { $_->{start} >= $part->{start} + $part->{size} }
+ get_normal_parts($hd)
+ );
+}
+sub next_start {
+ my ($hd, $part) = @_;
+ my $next = &next($hd, $part);
+ $next ? $next->{start} : $hd->{totalsectors};
+}
+
+sub load {
+ my ($hd, $file, $b_force) = @_;
+
+ my $F = ref $file ? $file : common::open_file($file) || die N("Error reading file %s", $file);
+
+ my $h;
+ {
+ local $/ = "\0";
+ eval <$F>;
+ }
+ $@ and die N("Restoring from file %s failed: %s", $file, $@);
+
+ ref($h) eq 'ARRAY' or die N("Bad backup file");
+
+ my %h; @h{@fields2save} = @$h;
+
+ $h{totalsectors} == $hd->{totalsectors} or $b_force or cdie "bad totalsectors";
+
+ #- unsure we do not modify totalsectors
+ local $hd->{totalsectors};
+
+ @$hd{@fields2save} = @$h;
+
+ delete @$_{qw(isMounted isFormatted notFormatted toFormat toFormatUnsure)} foreach get_normal_parts($hd);
+ will_tell_kernel($hd, 'force_reboot'); #- just like undo, do not force write_partitions so that user can see the new partition table but can still discard it
+}
+
+sub save {
+ my ($hd, $file) = @_;
+ my @h = @$hd{@fields2save};
+ require Data::Dumper;
+ eval { output($file, Data::Dumper->Dump([\@h], ['$h']), "\0") }
+ or die N("Error writing to file %s", $file);
+}
+
+1;
diff --git a/perl-install/partition_table/bsd.pm b/perl-install/partition_table/bsd.pm
new file mode 100644
index 000000000..06adab8cb
--- /dev/null
+++ b/perl-install/partition_table/bsd.pm
@@ -0,0 +1,147 @@
+package partition_table::bsd; # $Id: bsd.pm 18538 2004-07-27 10:31:34Z prigaux $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use partition_table::raw;
+use partition_table;
+use c;
+
+#- very bad and rough handling :(
+my %pt_typeToDos = (
+ 8 => 0x83,
+ 1 => 0x82,
+);
+my %pt_typeFromDos = reverse %pt_typeToDos;
+
+my ($main_format, $main_fields) = list2kv(
+ I => 'magic',
+ S => 'type',
+ S => 'subtype',
+ a16 => 'typename',
+ a16 => 'packname',
+ I => 'secsize',
+ I => 'nsectors',
+ I => 'ntracks',
+ I => 'ncylinders',
+ I => 'secpercyl',
+ I => 'secprtunit',
+ S => 'sparespertrack',
+ S => 'sparespercyl',
+ I => 'acylinders',
+ S => 'rpm',
+ S => 'interleave',
+ S => 'trackskew',
+ S => 'cylskew',
+ I => 'headswitch',
+ I => 'trkseek',
+ I => 'flags',
+ a20 => 'drivedata',
+ a20 => 'spare',
+ I => 'magic2',
+ S => 'checksum',
+ S => 'npartitions',
+ I => 'bbsize',
+ I => 'sbsize',
+ a128 => 'partitions',
+ a236 => 'blank',
+);
+$main_format = join '', @$main_format;
+
+my @fields = qw(size start fsize pt_type frag cpg);
+my $format = "I I I C C S";
+my $magic = 0x82564557;
+my $nb_primary = 8;
+my $offset = 0x40;
+
+sub read($$) {
+ my ($hd, $sector) = @_;
+ my $tmp;
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ c::lseek_sector(fileno($F), $sector, $offset) or die "reading of partition in sector $sector failed";
+
+ sysread $F, $tmp, psizeof($main_format) or die "error while reading partition table in sector $sector";
+ my %info; @info{@$main_fields} = unpack $main_format, $tmp;
+
+ #- TODO verify checksum
+
+ my $size = psizeof($format);
+ my @pt = map {
+ my %h; @h{@fields} = unpack $format, $_;
+ fs::type::set_pt_type(\%h, $pt_typeToDos{$h{pt_type}} || $h{pt_type});
+ \%h;
+ } $info{partitions} =~ /(.{$size})/g;
+
+ #- check magic number
+ $info{magic} == $magic or die "bad magic number on disk $hd->{device}";
+ $info{magic2} == $magic or die "bad magic number on disk $hd->{device}";
+
+ [ @pt ], \%info;
+}
+
+# write the partition table (and extended ones)
+# for each entry, it uses fields: start, size, pt_type, active
+sub write($$$;$) {
+ my ($hd, $sector, $pt, $info) = @_;
+
+ #- handle testing for writing partition table on file only!
+ my $F;
+ if ($::testing) {
+ my $file = "/tmp/partition_table_$hd->{device}";
+ open $F, ">$file" or die "error opening test file $file";
+ } else {
+ $F = partition_table::raw::openit($hd, 2) or die "error opening device $hd->{device} for writing";
+ c::lseek_sector(fileno($F), $sector, $offset) or return 0;
+ }
+
+ #- TODO compute checksum
+
+ $info->{npartitions} = $nb_primary; #- is it ok?
+
+ @$pt == $nb_primary or die "partition table does not have $nb_primary entries";
+ $info->{partitions} = join '', map {
+ local $_->{pt_type} = $pt_typeFromDos{$_->{pt_type}} || $_->{pt_type};
+ pack $format, @$_{@fields};
+ } @$pt;
+
+ syswrite $F, pack($main_format, @$info{@$main_fields}), psizeof($main_format) or return 0;
+ 1;
+}
+
+sub info {
+ my ($hd) = @_;
+ my $dtype_scsi = 4; #- taken from fdisk, removed unused one,
+ my $dtype_ST506 = 6; #- see fdisk for more
+
+ {
+ magic => $magic,
+ magic2 => $magic,
+ dtype => $hd->{device} =~ /^sd/ ? $dtype_scsi : $dtype_ST506,
+ secsize => $common::SECTORSIZE,
+ ncylinders => $hd->{geom}{cylinders},
+ secpercyl => $hd->cylinder_size,
+ secprtunit => $hd->{geom}{totalsectors},
+ rpm => 3600,
+ interleave => 1,
+ trackskew => 0,
+ cylskew => 0,
+ headswitch => 0,
+ trkseek => 0,
+ bbsize => 8192, #- size of boot area, with label
+ sbsize => 8192, #- max size of fs superblock
+ };
+}
+
+sub clear_raw {
+ my ($hd) = @_;
+ { raw => [ ({}) x $nb_primary ], info => info($hd) };
+}
+
+sub first_usable_sector { 2048 }
+
+1;
diff --git a/perl-install/partition_table/dos.pm b/perl-install/partition_table/dos.pm
new file mode 100644
index 000000000..1d57b4186
--- /dev/null
+++ b/perl-install/partition_table/dos.pm
@@ -0,0 +1,251 @@
+package partition_table::dos; # $Id: dos.pm 26280 2006-04-05 13:00:42Z pixel $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use partition_table::raw;
+use partition_table;
+use fs::type;
+use c;
+
+my @fields = qw(active start_head start_sec start_cyl pt_type end_head end_sec end_cyl start size);
+my $format = "C8 V2";
+my $magic = "\x55\xAA";
+my $nb_primary = 4;
+
+my $offset = $common::SECTORSIZE - length($magic) - $nb_primary * common::psizeof($format);
+
+sub hasExtended { 1 }
+
+sub geometry_to_string {
+ my ($geom) = @_;
+ "$geom->{cylinders}/$geom->{heads}/$geom->{sectors}";
+}
+
+sub last_usable_sector {
+ my ($hd) = @_;
+ #- do not use totalsectors, see gi/docs/Partition-ends-after-end-of-disk.txt for more
+ $hd->{geom}{sectors} * $hd->{geom}{heads} * $hd->{geom}{cylinders};
+}
+
+sub get_rawCHS {
+ my ($part) = @_;
+
+ exists $part->{start_cyl} or internal_error("get_rawCHS $part->{device}");
+
+ [ $part->{start_cyl}, $part->{start_head}, $part->{start_sec} ],
+ [ $part->{end_cyl}, $part->{end_head}, $part->{end_sec} ];
+}
+sub set_rawCHS {
+ my ($part, $raw_chs_start, $raw_chs_end) = @_;
+ ($part->{start_cyl}, $part->{start_head}, $part->{start_sec}) = @$raw_chs_start;
+ ($part->{end_cyl}, $part->{end_head}, $part->{end_sec}) = @$raw_chs_end;
+}
+
+sub compute_CHS {
+ my ($hd, $part) = @_;
+ my ($chs_start, $chs_end) = CHS_from_part_linear($hd->{geom}, $part);
+ set_rawCHS($part, $chs_start ? CHS2rawCHS($hd->{geom}, $chs_start) : [0,0,0],
+ $chs_end ? CHS2rawCHS($hd->{geom}, $chs_end) : [0,0,0]);
+}
+
+sub CHS_from_part_rawCHS {
+ my ($part) = @_;
+
+ $part->{start} || $part->{pt_type} or return;
+
+ my ($raw_chs_start, $raw_chs_end) = get_rawCHS($part);
+ rawCHS2CHS($raw_chs_start), rawCHS2CHS($raw_chs_end);
+}
+
+sub CHS_from_part_linear {
+ my ($geom, $part) = @_;
+
+ $part->{start} || $part->{pt_type} or return;
+
+ sector2CHS($geom, $part->{start}), sector2CHS($geom, $part->{start} + $part->{size} - 1);
+}
+
+sub rawCHS2CHS {
+ my ($chs) = @_;
+ my ($c, $h, $s) = @$chs;
+ [ $c | (($s & 0xc0) << 2), $h, ($s & 0x3f) - 1 ];
+}
+
+sub CHS2rawCHS {
+ my ($geom, $chs) = @_;
+ my ($c, $h, $s) = @$chs;
+ if ($c > 1023) {
+ #- no way to have a #cylinder >= 1024
+ $c = 1023;
+ $h = $geom->{heads} - 1;
+ $s = $geom->{sectors} - 1;
+ }
+ [ $c & 0xff, $h, ($s + 1) | (($c >> 2) & 0xc0) ];
+}
+
+# returns (cylinder, head, sector)
+sub sector2CHS {
+ my ($geom, $start) = @_;
+ my ($s, $h);
+ ($start, $s) = divide($start, $geom->{sectors});
+ ($start, $h) = divide($start, $geom->{heads});
+ [ $start, $h, $s ];
+}
+
+sub is_geometry_valid_for_the_partition_table {
+ my ($hd, $geom, $no_log) = @_;
+
+ every {
+ my ($chs_start_v1, $chs_end_v1) = map { join(',', @$_) } CHS_from_part_rawCHS($_) or next;
+ my ($chs_start_v2, $chs_end_v2) = map { join(',', @$_) } map { [ min($_->[0], 1023), $_->[1], $_->[2] ] } CHS_from_part_linear($geom, $_);
+ if (!$no_log) {
+ $chs_start_v1 eq $chs_start_v2 or log::l("is_geometry_valid_for_the_partition_table failed for ($_->{device}, $_->{start}): $chs_start_v1 vs $chs_start_v2 with geometry " . geometry_to_string($geom));
+ $chs_end_v1 eq $chs_end_v2 or log::l("is_geometry_valid_for_the_partition_table failed for ($_->{device}, " . ($_->{start} + $_->{size} - 1) . "): $chs_end_v1 vs $chs_end_v2 with geometry " . geometry_to_string($geom));
+ }
+ $chs_start_v1 eq $chs_start_v2 && $chs_end_v1 eq $chs_end_v2;
+ } @{$hd->{primary}{normal} || []};
+}
+
+#- from parted, thanks!
+my @valid_nb_sectors = (63, 61, 48, 32, 16);
+my @valid_nb_heads = (255, 240, 192, 128, 96, 64, 61, 32, 17, 16);
+
+sub guess_geometry_from_partition_table {
+ my ($hd) = @_;
+
+ my @chss = map { CHS_from_part_rawCHS($_) } @{$hd->{primary}{normal} || []} or return { empty => 1 };
+ my ($nb_heads, $nb_sectors) = (max(map { $_->[1] } @chss) + 1, max(map { $_->[2] } @chss) + 1);
+ my $geom = { sectors => $nb_sectors, heads => $nb_heads };
+ partition_table::raw::compute_nb_cylinders($geom, $hd->{totalsectors});
+ log::l("guess_geometry_from_partition_table $hd->{device}: " . geometry_to_string($geom));
+
+ member($geom->{sectors}, @valid_nb_sectors) or return { invalid => 1 };
+ $geom;
+}
+
+sub geometry_from_edd {
+ my ($hd, $edd_dir) = @_;
+
+ my $sectors = cat_("$edd_dir/legacy_sectors_per_track") or return;
+ my $heads = cat_("$edd_dir/legacy_max_head") or return;
+
+ my $geom = { sectors => 0 + $sectors, heads => 1 + $heads, from_edd => 1 };
+ is_geometry_valid_for_the_partition_table($hd, $geom, 0) or return;
+ partition_table::raw::compute_nb_cylinders($geom, $hd->{totalsectors});
+
+ log::l("geometry_from_edd $hd->{device} $hd->{volume_id}: " . geometry_to_string($geom));
+
+ $geom;
+}
+
+
+sub try_every_geometry {
+ my ($hd) = @_;
+
+ my $geom = {};
+ foreach (@valid_nb_sectors) {
+ $geom->{sectors} = $_;
+ foreach (@valid_nb_heads) {
+ $geom->{heads} = $_;
+ if (is_geometry_valid_for_the_partition_table($hd, $geom, 1)) {
+ partition_table::raw::compute_nb_cylinders($geom, $hd->{totalsectors});
+ log::l("try_every_geometry $hd->{device}: found " . geometry_to_string($geom));
+ return $geom;
+ }
+ }
+ }
+ log::l("$hd->{device}: argh! no geometry exists for this partition table");
+ undef;
+}
+
+sub set_best_geometry_for_the_partition_table {
+ my ($hd) = @_;
+
+ my $guessed_geom = guess_geometry_from_partition_table($hd);
+ if ($guessed_geom->{empty}) {
+ log::l("$hd->{device}: would need looking at BIOS info to find out geometry") if !$hd->{geom}{from_edd};
+ return;
+ }
+ my $default_ok = is_geometry_valid_for_the_partition_table($hd, $hd->{geom}, 0);
+ if ($guessed_geom->{invalid}) {
+ log::l("$hd->{device}: no valid geometry guessed from partition table");
+ $default_ok and return;
+ $guessed_geom = try_every_geometry($hd) or return;
+ }
+
+ if ($guessed_geom->{heads} == $hd->{geom}{heads} && $guessed_geom->{sectors} == $hd->{geom}{sectors}) {
+ # cool!
+ } else {
+ my $guessed_ok = is_geometry_valid_for_the_partition_table($hd, $guessed_geom, 0);
+ if ($default_ok && $guessed_ok) {
+ #- oh my!?
+ log::l("$hd->{device}: both guessed and default are valid??? " . geometry_to_string($hd->{geom}) . " vs " . geometry_to_string($guessed_geom));
+ } elsif ($default_ok) {
+ log::l("$hd->{device}: keeping default geometry " . geometry_to_string($hd->{geom}));
+ } elsif ($guessed_ok) {
+ log::l("$hd->{device}: using guessed geometry " . geometry_to_string($guessed_geom) . " instead of " . geometry_to_string($hd->{geom}));
+ put_in_hash($hd->{geom}, $guessed_geom);
+ } else {
+ log::l("$hd->{device}: argh! no valid geometry found");
+ }
+ }
+}
+
+sub read {
+ my ($hd, $sector) = @_;
+ my $tmp;
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ c::lseek_sector(fileno($F), $sector, $offset) or die "reading of partition in sector $sector failed";
+
+ my @pt = map {
+ sysread $F, $tmp, psizeof($format) or die "error while reading partition table in sector $sector";
+ my %h;
+ @h{@fields} = unpack $format, $tmp;
+ fs::type::set_pt_type(\%h, $h{pt_type});
+ \%h;
+ } (1..$nb_primary);
+
+ #- check magic number
+ sysread $F, $tmp, length $magic or die "error reading magic number on disk $hd->{device}";
+ $tmp eq $magic or die "bad magic number on disk $hd->{device}";
+
+ [ @pt ];
+}
+
+# write the partition table (and extended ones)
+# for each entry, it uses fields: start, size, pt_type, active
+sub write {
+ my ($hd, $sector, $pt) = @_;
+
+ log::l("partition::dos::write $hd->{device}");
+
+ #- handle testing for writing partition table on file only!
+ my $F;
+ if ($::testing) {
+ my $file = "/tmp/partition_table_$hd->{device}";
+ open $F, ">$file" or die "error opening test file $file";
+ } else {
+ $F = partition_table::raw::openit($hd, 2) or die "error opening device $hd->{device} for writing";
+ c::lseek_sector(fileno($F), $sector, $offset) or return 0;
+ }
+
+ @$pt == $nb_primary or die "partition table does not have $nb_primary entries";
+ foreach (@$pt) {
+ compute_CHS($hd, $_);
+ local $_->{start} = $_->{local_start} || 0;
+ $_->{active} ||= 0; $_->{pt_type} ||= 0; $_->{size} ||= 0; #- for no warning
+ syswrite $F, pack($format, @$_{@fields}), psizeof($format) or return 0;
+ }
+ syswrite $F, $magic, length $magic or return 0;
+ 1;
+}
+
+sub clear_raw { { raw => [ ({}) x $nb_primary ] } }
+
+1;
diff --git a/perl-install/partition_table/empty.pm b/perl-install/partition_table/empty.pm
new file mode 100644
index 000000000..4671ad002
--- /dev/null
+++ b/perl-install/partition_table/empty.pm
@@ -0,0 +1,36 @@
+package partition_table::empty; # $Id: empty.pm 21672 2005-03-15 11:19:43Z prigaux $
+
+#- this is a mainly dummy partition table. If we find it's empty, we just call -
+#- zero_MBR which will take care of bless'ing us to the partition table type best
+#- suited
+
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use partition_table::raw;
+use partition_table;
+use c;
+
+
+sub read($$) {
+ my ($hd, $sector) = @_;
+ my $tmp;
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ c::lseek_sector(fileno($F), $sector, 0) or die "reading of partition in sector $sector failed";
+
+ #- check magic number
+ sysread $F, $tmp, 1024 or die "error reading magic number on disk $hd->{device}";
+ $tmp eq substr($tmp, 0, 1) x 1024 or die "bad magic number on disk $hd->{device}";
+
+ partition_table::raw::zero_MBR($hd);
+
+ $hd->{primary}{raw}, $hd->{primary}{info};
+}
+
+1;
diff --git a/perl-install/partition_table/gpt.pm b/perl-install/partition_table/gpt.pm
new file mode 100644
index 000000000..7172676c0
--- /dev/null
+++ b/perl-install/partition_table/gpt.pm
@@ -0,0 +1,264 @@
+package partition_table::gpt; # $Id: gpt.pm 22981 2005-06-10 04:56:14Z prigaux $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use partition_table::raw;
+use partition_table::dos;
+use partition_table;
+use fs::type;
+use c;
+
+my %gpt_types = (
+ 0x00 => "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 0x82 => "\x6d\xfd\x57\x06\xab\xa4\xc4\x43\x84\xe5\x09\x33\xc8\x4b\x4f\x4f",
+ 0x83 => "\xA2\xA0\xD0\xEB\xE5\xB9\x33\x44\x87\xC0\x68\xB6\xB7\x26\x99\xC7",
+ 0x8e => "\x79\xd3\xd6\xe6\x07\xf5\xc2\x44\xa2\x3c\x23\x8f\x2a\x3d\xf9\x28",
+ 0xfd => "\x0f\x88\x9d\xa1\xfc\x05\x3b\x4d\xa0\x06\x74\x3f\x0f\x84\x91\x1e",
+ 0xef => "\x28\x73\x2A\xC1\x1F\xF8\xd2\x11\xBA\x4B\x00\xA0\xC9\x3E\xC9\x3B",
+ # legacy_partition_table => "\x41\xEE\x4D\x02\xE7\x33\xd3\x11\x9D\x69\x00\x08\xC7\x81\xF3\x9F"
+ # PARTITION_MSFT_RESERVED_GUID "\x16\xE3\xC9\xE3\x5C\x0B\xB8\x4D\x81\x7D\xF9\x2D\xF0\x02\x15\xAE"
+ #PARTITION_RESERVED_GUID "\x39\x33\xa6\x8d\x07\x00\xc0\x60\xc4\x36\x08\x3a\xc8\x23\x09\x08"
+);
+
+my $current_revision = 0x00010200;
+my ($main_format, $main_fields) = list2kv(
+ a8 => 'magic',
+ V => 'revision',
+ V => 'headerSize',
+ V => 'headerCRC32',
+ a4 => 'blank1',
+ Q => 'myLBA',
+ Q => 'alternateLBA',
+ Q => 'firstUsableLBA',
+ Q => 'lastUsableLBA',
+ a16 => 'guid',
+ Q => 'partitionEntriesLBA',
+ V => 'nbPartitions',
+ V => 'partitionEntrySize',
+ V => 'partitionEntriesCRC32',
+);
+
+my ($partitionEntry_format, $partitionEntry_fields) = list2kv(
+ a16 => 'gpt_type',
+ a16 => 'guid',
+ Q => 'start',
+ Q => 'ending',
+ a8 => 'efi_attributes',
+ a72 => 'name',
+);
+
+my ($guid_format, $guid_fields) = list2kv(
+ N => 'time_low',
+ n => 'time_mid',
+ n => 'time_hi_and_version',
+ n => 'clock_seq',
+ a6 => 'node',
+);
+
+$_ = join('', @$_) foreach $main_format, $partitionEntry_format, $guid_format;
+
+my $magic = "EFI PART";
+
+sub generate_guid() {
+ my $tmp;
+ open(my $F, devices::make("random")) or die "Could not open /dev/random for GUID generation";
+ read $F, $tmp, psizeof($guid_format);
+
+ my %guid; @guid{@$guid_fields} = unpack $guid_format, $tmp;
+ $guid{clock_seq} = ($guid{clock_seq} & 0x3fff) | 0x8000;
+ $guid{time_hi_and_version} = ($guid{time_hi_and_version} & 0x0fff) | 0x4000;
+ pack($guid_format, @guid{@$guid_fields});
+}
+
+sub crc32 {
+ my ($buffer) = @_;
+
+ my $crc = 0xFFFFFFFF;
+ foreach (unpack "C*", $buffer) {
+ my $subcrc = ($crc ^ $_) & 0xFF;
+ for (my $j = 8; $j > 0; $j--) {
+ my $b = $subcrc & 1;
+ $subcrc = ($subcrc >> 1) & 0x7FFFFFFF;
+ $subcrc = $subcrc ^ 0xEDB88320 if $b;
+ }
+ $crc = ($crc >> 8) ^ $subcrc;
+ }
+ $crc ^ 0xFFFFFFFF;
+}
+
+sub compute_headerCRC32 {
+ my ($info) = @_;
+ local $info->{headerCRC32} = 0;
+ crc32(pack($main_format, @$info{@$main_fields}));
+}
+
+sub read_header {
+ my ($sector, $F) = @_;
+ my $tmp;
+
+ c::lseek_sector(fileno($F), $sector, 0) or die "reading of partition in sector $sector failed";
+
+ sysread $F, $tmp, psizeof($main_format) or die "error while reading partition table in sector $sector";
+ my %info; @info{@$main_fields} = unpack $main_format, $tmp;
+
+ $info{magic} eq $magic or die "bad magic number";
+ $info{myLBA} == $sector or die "myLBA is not the same";
+ $info{headerSize} == psizeof($main_format) or die "bad partition table header size";
+ $info{partitionEntrySize} == psizeof($partitionEntry_format) or die "bad partitionEntrySize";
+ $info{revision} <= $current_revision or log::l("oops, this is a new GPT revision ($info{revision} > $current_revision)");
+
+ $info{headerCRC32} == compute_headerCRC32(\%info) or die "bad partition table checksum";
+ \%info;
+}
+
+sub read_partitionEntries {
+ my ($info, $F) = @_;
+ my $tmp;
+
+ c::lseek_sector(fileno($F), $info->{partitionEntriesLBA}, 0) or die "can not seek to sector partitionEntriesLBA";
+ sysread $F, $tmp, psizeof($partitionEntry_format) * $info->{nbPartitions} or die "error while reading partition table in sector $info->{partitionEntriesLBA}";
+ $info->{partitionEntriesCRC32} == crc32($tmp) or die "bad partition entries checksum";
+
+ c::lseek_sector(fileno($F), $info->{partitionEntriesLBA}, 0) or die "can not seek to sector partitionEntriesLBA";
+ my %gpt_types_rev = reverse %gpt_types;
+ my @pt =
+ map {
+ sysread $F, $tmp, psizeof($partitionEntry_format) or die "error while reading partition table in sector $info->{partitionEntriesLBA}";
+ my %h; @h{@$partitionEntry_fields} = unpack $partitionEntry_format, $tmp;
+ $h{size} = $h{ending} - $h{start} + 1;
+ my $pt_type = $gpt_types_rev{$h{gpt_type}};
+ fs::type::set_pt_type(\%h, defined $pt_type ? $pt_type : 0x100);
+ \%h;
+ } (1 .. $info->{nbPartitions});
+ \@pt;
+}
+
+sub read {
+ my ($hd, $sector) = @_;
+
+ my $l = partition_table::dos::read($hd, $sector);
+ my @l = grep { $_->{size} && $_->{pt_type} && !partition_table::isExtended($_) } @$l;
+ @l == 1 or die "bad PMBR";
+ $l[0]{pt_type} == 0xee or die "bad PMBR";
+ my $myLBA = $l[0]{start};
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ my $info1 = eval { read_header($myLBA, $F) };
+ my $info2 = eval { read_header($info1->{alternateLBA} || $l[0]{start} + $l[0]{size} - 1, $F) }; #- what about using $hd->{totalsectors} ???
+ my $info = $info1 || { %$info2, myLBA => $info2->{alternateLBA}, alternateLBA => $info2->{myLBA}, partitionEntriesLBA => $info2->{alternateLBA} + 1 } or die;
+ my $pt = $info1 && $info2 ?
+ eval { $info1 && read_partitionEntries($info1, $F) } || read_partitionEntries($info2, $F) :
+ read_partitionEntries($info, $F);
+ $hd->raw_removed($pt);
+
+ $pt, $info;
+}
+
+# write the partition table (and extended ones)
+# for each entry, it uses fields: start, size, pt_type, active
+sub write {
+ my ($hd, $sector, $pt, $info) = @_;
+
+ foreach (@$pt) {
+ $_->{ending} = $_->{start} + $_->{size} - 1;
+ $_->{guid} ||= generate_guid();
+ $_->{gpt_type} = $gpt_types{$_->{pt_type}} || $_->{gpt_type} || $gpt_types{0x83};
+ }
+ my $partitionEntries = join('', map {
+ pack($partitionEntry_format, @$_{@$partitionEntry_fields});
+ } (@$pt, ({}) x ($info->{nbPartitions} - @$pt)));
+
+ $info->{partitionEntriesCRC32} = crc32($partitionEntries);
+ $info->{headerCRC32} = compute_headerCRC32($info);
+
+ my $info2 = { %$info,
+ myLBA => $info->{alternateLBA}, alternateLBA => $info->{myLBA},
+ partitionEntriesLBA => $info->{alternateLBA} - psizeof($partitionEntry_format) * $info->{nbPartitions} / 512,
+ };
+ $info2->{headerCRC32} = compute_headerCRC32($info2);
+
+ {
+ # write the PMBR
+ my $pmbr = partition_table::dos::clear_raw();
+ $pmbr->{raw}[0] = { pt_type => 0xee, local_start => $info->{myLBA}, size => $info->{alternateLBA} - $info->{myLBA} + 1 };
+ partition_table::dos::write($hd, $sector, $pmbr->{raw});
+ }
+
+ my $F = partition_table::raw::openit($hd, 2) or die "error opening device $hd->{device} for writing";
+
+ c::lseek_sector(fileno($F), $info->{myLBA}, 0) or return 0;
+ #- pad with 0's
+ syswrite $F, pack($main_format, @$info{@$main_fields}) . "\0" x 512, 512 or return 0;
+
+ c::lseek_sector(fileno($F), $info->{alternateLBA}, 0) or return 0;
+ #- pad with 0's
+ syswrite $F, pack($main_format, @$info2{@$main_fields}) . "\0" x 512, 512 or return 0;
+
+ c::lseek_sector(fileno($F), $info->{partitionEntriesLBA}, 0) or return 0;
+ syswrite $F, $partitionEntries or return 0;
+
+ c::lseek_sector(fileno($F), $info2->{partitionEntriesLBA}, 0) or return 0;
+ syswrite $F, $partitionEntries or return 0;
+
+ common::sync();
+ 1;
+}
+
+sub raw_removed {
+ my ($_hd, $raw) = @_;
+ @$raw = grep { $_->{size} && $_->{pt_type} } @$raw;
+}
+sub can_raw_add {
+ my ($hd) = @_;
+ @{$hd->{primary}{raw}} < $hd->{primary}{info}{nbPartitions};
+}
+sub raw_add {
+ my ($hd, $raw, $part) = @_;
+ $hd->can_raw_add or die "raw_add: partition table already full";
+ push @$raw, $part;
+}
+
+sub adjustStart {}
+sub adjustEnd {}
+
+sub first_usable_sector {
+ my ($hd) = @_;
+ $hd->{primary}{info}{firstUsableLBA};
+}
+sub last_usable_sector {
+ my ($hd) = @_;
+ $hd->{primary}{info}{lastUsableLBA} + 1;
+}
+
+sub info {
+ my ($hd) = @_;
+ my $nb_sect = 32;
+
+ #- build a default suitable partition table,
+ #- checksum will be built when writing on disk.
+ {
+ magic => $magic,
+ revision => $current_revision,
+ headerSize => psizeof($main_format),
+ myLBA => 1,
+ alternateLBA => $hd->{totalsectors} - 1,
+ firstUsableLBA => $nb_sect + 2,
+ lastUsableLBA => $hd->{totalsectors} - $nb_sect - 2,
+ guid => generate_guid(),
+ partitionEntriesLBA => 2,
+ nbPartitions => $nb_sect * 512 / psizeof($partitionEntry_format),
+ partitionEntrySize => psizeof($partitionEntry_format),
+ };
+}
+
+sub clear_raw {
+ my ($hd) = @_;
+ { raw => [], info => info($hd) };
+}
+
+1;
diff --git a/perl-install/partition_table/mac.pm b/perl-install/partition_table/mac.pm
new file mode 100644
index 000000000..4e952e62e
--- /dev/null
+++ b/perl-install/partition_table/mac.pm
@@ -0,0 +1,393 @@
+package partition_table::mac; # $Id: mac.pm 27386 2006-05-15 13:31:30Z pixel $
+
+use diagnostics;
+#use strict; - fixed other PPC code to comply, but program bails on empty partition table - sbenedict
+use vars qw(@ISA $freepart $bootstrap_part $macos_part $new_bootstrap);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use fs::type;
+use partition_table::raw;
+use partition_table;
+use c;
+
+my %_typeToDos = (
+ "Apple_partition_map" => 0x401,
+ "Apple_Bootstrap" => 0x401,
+ "Apple_Driver43" => 0x401,
+ "Apple_Driver_IOKit" => 0x401,
+ "Apple_Patches" => 0x401,
+ "Apple_HFS" => 0x402,
+ "Apple_UNIX_SVR2" => 0x83,
+ "Apple_UNIX_SVR2" => 0x183,
+ "Apple_UNIX_SVR2" => 0x283,
+ "Apple_UNIX_SVR2" => 0x383,
+ "Apple_UNIX_SVR2" => 0x483,
+ "Apple_Free" => 0x0,
+);
+
+
+my ($bz_format, $bz_fields) = list2kv(
+ n => 'bzSig',
+ n => 'bzBlkSize',
+ N => 'bzBlkCnt',
+ n => 'bzDevType',
+ n => 'bzDevID',
+ N => 'bzReserved',
+ n => 'bzDrvrCnt',
+);
+$bz_format = join '', @$bz_format;
+
+
+my ($dd_format, $dd_fields) = list2kv(
+ N => 'ddBlock',
+ n => 'ddSize',
+ n => 'ddType',
+);
+$dd_format = join '', @$dd_format;
+
+
+my ($p_format, $p_fields) = list2kv(
+ n => 'pSig',
+ n => 'pSigPad',
+ N => 'pMapEntry',
+ N => 'pPBlockStart',
+ N => 'pPBlocks',
+
+ a32 => 'pName',
+ a32 => 'pType',
+
+ N => 'pLBlockStart',
+ N => 'pLBlocks',
+ N => 'pFlags',
+ N => 'pBootBlock',
+ N => 'pBootBytes',
+
+ N => 'pAddrs1',
+ N => 'pAddrs2',
+ N => 'pAddrs3',
+ N => 'pAddrs4',
+ N => 'pChecksum',
+
+ a16 => 'pProcID',
+ a128 => 'pBootArgs',
+ a248 => 'pReserved',
+);
+$p_format = join '', @$p_format;
+
+my $magic = 0x4552;
+my $pmagic = 0x504D;
+
+sub first_usable_sector { 1 }
+
+sub adjustStart($$) {
+ my ($hd, $part) = @_;
+ my $end = $part->{start} + $part->{size};
+ my $partmap_end = $hd->{primary}{raw}[0]{size};
+
+ if ($part->{start} <= $partmap_end) {
+ $part->{start} = $partmap_end + 1;
+ $part->{size} = $end - $part->{start};
+ }
+}
+
+sub adjustEnd($$) {
+ my ($_hd, $_part) = @_;
+}
+
+sub read($$) {
+ my ($hd, $sector) = @_;
+ my $tmp;
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ c::lseek_sector(fileno($F), $sector, 0) or die "reading of partition in sector $sector failed";
+
+ sysread $F, $tmp, psizeof($bz_format) or die "error while reading bz (Block Zero) in sector $sector";
+ my %info; @info{@$bz_fields} = unpack $bz_format, $tmp;
+
+ foreach (1 .. $info{bzDrvrCnt}) {
+ sysread $F, $tmp, psizeof($dd_format) or die "error while reading driver data in sector $sector";
+ my %dd; @dd{@$dd_fields} = unpack $dd_format, $tmp;
+ push @{$info{ddMap}}, \%dd;
+ }
+
+ #- check magic number
+ $info{bzSig} == $magic or die "bad magic number on disk $hd->{device}";
+
+ my $numparts;
+ c::lseek_sector(fileno($F), $sector, 516) or die "reading of partition in sector $sector failed";
+ sysread $F, $tmp, 4 or die "error while reading partition info in sector $sector";
+ $numparts = unpack "N", $tmp;
+
+ my $partmapsize;
+ c::lseek_sector(fileno($F), $sector, 524) or die "reading of partition in sector $sector failed";
+ sysread $F, $tmp, 4 or die "error while reading partition info in sector $sector";
+ $partmapsize = ((unpack "N", $tmp) * $info{bzBlkSize}) / psizeof($p_format);
+
+ c::lseek_sector(fileno($F), $sector, 512) or die "reading of partition in sector $sector failed";
+
+ my @pt;
+ for (my $i = 0; $i < $partmapsize; $i++) {
+ my $part;
+ sysread $F, $part, psizeof($p_format) or die "error while reading partition info in sector $sector";
+
+ push @pt, map {
+ my %h; @h{@$p_fields} = unpack $p_format, $part;
+ if ($i < $numparts && $h{pSig} eq $pmagic) {
+
+ $h{size} = ($h{pPBlocks} * $info{bzBlkSize}) / 512;
+ $h{start} = ($h{pPBlockStart} * $info{bzBlkSize}) / 512;
+
+ if ($h{pType} =~ /^Apple_UNIX_SVR2/i) {
+ $h{fs_type} = $h{pName} =~ /swap/i ? 'swap' : 'ext2';
+ } elsif ($h{pType} =~ /^Apple_Free/i) {
+ #- need to locate a 1MB partition to setup a bootstrap on
+ if ($freepart && $freepart->{size} >= 1) {
+ #- already found a suitable partition
+ } else {
+ $freepart = { start => $h{start}, size => $h{size}/2048, hd => $hd, part => "/dev/$hd->{device}" . ($i+1) };
+ log::l("free apple partition found on drive /dev/$freepart->{hd}{device}, block $freepart->{start}, size $freepart->{size}");
+ }
+ $h{pt_type} = 0x0;
+ $h{pName} = 'Extra';
+ } elsif ($h{pType} =~ /^Apple_HFS/i) {
+ fs::type::set_pt_type(\%h, 0x402);
+ if (defined $macos_part) {
+ #- swag at identifying MacOS - 1st HFS partition
+ } else {
+ $macos_part = "/dev/" . $hd->{device} . ($i+1);
+ log::l("found MacOS at partition $macos_part");
+ }
+ } elsif ($h{pType} =~ /^Apple_Partition_Map/i) {
+ $h{pt_type} = 0x401;
+ $h{isMap} = 1;
+ } elsif ($h{pType} =~ /^Apple_Bootstrap/i) {
+ $h{pt_type} = 0x401;
+ $h{isBoot} = 1;
+ if (defined $bootstrap_part) {
+ #found a bootstrap already - use it, but log the find
+ log::l("found another apple bootstrap at partition /dev/$hd->{device}" . ($i+1));
+ } else {
+ $bootstrap_part = "/dev/" . $hd->{device} . ($i+1);
+ log::l("found apple bootstrap at partition $bootstrap_part");
+ }
+ } else {
+ $h{pt_type} = 0x401;
+ $h{isDriver} = 1;
+ }
+
+ # Let's see if this partition is a driver.
+ foreach (@{$info{ddMap}}) {
+ $_->{ddBlock} == $h{pPBlockStart} and $h{isDriver} = 1;
+ }
+
+ }
+ \%h;
+ } [ $part ];
+ }
+
+ [ @pt ], \%info;
+}
+
+sub write($$$;$) {
+ my ($hd, $sector, $pt, $info) = @_;
+
+ #- handle testing for writing partition table on file only!
+ my $F;
+ if ($::testing) {
+ my $file = "/tmp/partition_table_$hd->{device}";
+ open $F, ">$file" or die "error opening test file $file";
+ } else {
+ $F = partition_table::raw::openit($hd, 2) or die "error opening device $hd->{device} for writing";
+ c::lseek_sector(fileno($F), $sector, 0) or return 0;
+ }
+
+ # Find the partition map.
+ my @partstowrite;
+ my $part = $pt->[0];
+ defined $part->{isMap} or die "the first partition is not the partition map";
+ push @partstowrite, $part;
+
+ # Now go thru the partitions, sort and fill gaps.
+ my $last;
+ while ($part) {
+ $last = $part;
+ $part = &partition_table::next($hd, $part);
+ $part or last;
+
+ if ($last->{start} + $last->{size} < $part->{start}) {
+ #There is a gap between partitions. Fill it and move on.
+ push @partstowrite, {
+ pt_type => 0x0,
+ start => $last->{start} + $last->{size},
+ size => $part->{start} - ($last->{start} + $last->{size}),
+ };
+ }
+ push @partstowrite, $part;
+ }
+
+ # now, fill a gap at the end if there is one.
+ if ($last->{start} + $last->{size} < $hd->{totalsectors}) {
+ push @partstowrite, {
+ pt_type => 0x0,
+ start => $last->{start} + $last->{size},
+ size => $hd->{totalsectors} - ($last->{start} + $last->{size}),
+ };
+ }
+
+ # Since we did not create any new drivers, let's try and match up our driver records with out partitons and see if any are missing.
+ $info->{bzDrvrCnt} = 0;
+ my @ddstowrite;
+ foreach my $dd (@{$info->{ddMap}}) {
+ foreach (@partstowrite) {
+ if ($dd->{ddBlock} == $_->{pPBlockStart}) {
+ push @ddstowrite, $dd;
+ $info->{bzDrvrCnt}++;
+ last;
+ }
+ }
+ }
+
+ # Now let's write our first block.
+ syswrite $F, pack($bz_format, @$info{@$bz_fields}), psizeof($bz_format) or return 0;
+
+ # ...and now the driver information.
+ foreach (@ddstowrite) {
+ syswrite $F, pack($dd_format, @$_{@$dd_fields}), psizeof($dd_format) or return 0;
+ }
+ # zero the rest of the data in the first block.
+ foreach (1 .. (494 - ((@ddstowrite) * 8))) {
+ syswrite $F, "\0", 1 or return 0;
+ }
+ #c::lseek_sector(fileno($F), $sector, 512) or return 0;
+ # Now, we iterate thru the partstowrite and write them.
+ foreach (@partstowrite) {
+ if (!defined $_->{pSig}) {
+ # The values we need to write to disk are not defined. Let's make them up.
+ $_->{pSig} = $pmagic;
+ $_->{pSigPad} = 0;
+ $_->{pPBlockStart} = ($_->{start} * 512) / $info->{bzBlkSize};
+ $_->{pPBlocks} = ($_->{size} * 512) / $info->{bzBlkSize};
+ $_->{pLBlockStart} = 0;
+ $_->{pLBlocks} = $_->{pPBlocks};
+ $_->{pBootBlock} = 0;
+ $_->{pBootBytes} = 0;
+ $_->{pAddrs1} = 0;
+ $_->{pAddrs2} = 0;
+ $_->{pAddrs3} = 0;
+ $_->{pAddrs4} = 0;
+ $_->{pChecksum} = 0;
+ $_->{pProcID} = "\0";
+ $_->{pBootArgs} = "\0";
+ $_->{pReserved} = "\0";
+
+ if ($_->{pt_type} == 0x402) {
+ $_->{pType} = "Apple_HFS";
+ $_->{pName} = "MacOS";
+ $_->{pFlags} = 0x4000037F;
+ } elsif ($_->{pt_type} == 0x401 && $_->{start} == 1) {
+ $_->{pType} = "Apple_Partition_Map";
+ $_->{pName} = "Apple";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{pt_type} == 0x401) {
+ $_->{pType} = "Apple_Bootstrap";
+ $_->{pName} = "bootstrap";
+ $_->{pFlags} = 0x33;
+ $_->{isBoot} = 1;
+ log::l("writing a bootstrap at /dev/$_->{device}");
+ $new_bootstrap = 1 if !(defined $bootstrap_part);
+ $bootstrap_part = "/dev/" . $_->{device};
+ } elsif (isSwap($_)) {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "swap";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{fs_type} eq 'ext2') {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "Linux Native";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{fs_type} eq 'reiserfs') {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "Linux ReiserFS";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{fs_type} eq 'xfs') {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "Linux XFS";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{fs_type} eq 'jfs') {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "Linux JFS";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{fs_type} eq 'ext3') {
+ $_->{pType} = "Apple_UNIX_SVR2";
+ $_->{pName} = "Linux ext3";
+ $_->{pFlags} = 0x33;
+ } elsif ($_->{pt_type} == 0x0) {
+ $_->{pType} = "Apple_Free";
+ $_->{pName} = "Extra";
+ $_->{pFlags} = 0x31;
+ }
+ }
+ $_->{pMapEntry} = @partstowrite;
+ syswrite $F, pack($p_format, @$_{@$p_fields}), psizeof($p_format) or return 0;
+ }
+
+ common::sync();
+
+ 1;
+}
+
+sub info {
+ my ($hd) = @_;
+
+ # - Build the first block of the drive.
+
+ my $info = {
+ bzSig => $magic,
+ bzBlkSize => 512,
+ bzBlkCnt => $hd->{totalsectors},
+ bzDevType => 0,
+ bzDevID => 0,
+ bzReserved => 0,
+ bzDrvrCnt => 0,
+ };
+
+ $info;
+}
+
+sub clear_raw {
+ my ($hd) = @_;
+ my @oldraw = @{$hd->{primary}{raw}};
+ my $pt = { raw => [ ({}) x 63 ], info => info($hd) };
+
+ #- handle special case for partition 1 which is the partition map.
+ $pt->{raw}[0] = {
+ pt_type => 0x401,
+ start => 1,
+ size => 63,
+ isMap => 1,
+ };
+# $pt->{raw}[1] = {
+# pt_type => 0x0,
+# start => 64,
+# size => $hd->{totalsectors} - 64,
+# isMap => 0,
+# };
+ push @{$pt->{normal}}, $pt->{raw}[0];
+# push @{$pt->{normal}}, $pt->{raw}[1];
+
+ #- Recover any Apple Drivers, if any.
+ my $i = 1;
+ foreach (@oldraw) {
+ if (defined $_->{isDriver}) {
+ $pt->{raw}[$i] = $_;
+ push @{$pt->{normal}}, $pt->{raw}[$i];
+ $i++;
+ }
+ }
+ @{$pt->{info}{ddMap}} = @{$hd->{primary}{info}{ddMap}};
+
+ $pt;
+}
+
+1;
diff --git a/perl-install/partition_table/raw.pm b/perl-install/partition_table/raw.pm
new file mode 100644
index 000000000..a999a267b
--- /dev/null
+++ b/perl-install/partition_table/raw.pm
@@ -0,0 +1,269 @@
+package partition_table::raw; # $Id: raw.pm 105478 2007-01-08 09:03:25Z pixel $
+
+use diagnostics;
+use strict;
+
+use common;
+use devices;
+use detect_devices;
+use log;
+use c;
+
+my @MBR_signatures = (
+if_(arch() =~ /ppc/,
+ (map { [ 'yaboot', 0, "PM", 0x200 * $_ + 0x10, "bootstrap\0" ] } 0 .. 61), #- "PM" is a Partition Map
+ [ 'yaboot', 0x400, "BD", 0x424, "\011bootstrap" ], #- "BD" is a HFS filesystem
+),
+ [ 'empty', 0, "\0\0\0\0" ],
+ [ 'grub', 0, "\xEBG", 0x17d, "stage1 \0" ],
+ [ 'grub', 0, "\xEBH", 0x17e, "stage1 \0" ],
+ [ 'grub', 0, "\xEBH", 0x18a, "stage1 \0" ],
+ sub { my ($F) = @_;
+ #- standard grub has no good magic (Mandriva's grub is patched to have "GRUB" at offset 6)
+ #- so scanning a range of possible places where grub can have its string
+ #- 0x176 found on Conectiva 10
+ my ($min, $max, $magic) = (0x176, 0x181, "GRUB \0");
+ my $tmp;
+ sysseek($F, 0, 0) && sysread($F, $tmp, $max + length($magic)) or return;
+ substr($tmp, 0, 2) eq "\xEBH" or return;
+ index($tmp, $magic, $min) >= 0 && "grub";
+ },
+ [ 'lilo', 0x2, "LILO" ],
+ [ 'lilo', 0x6, "LILO" ],
+ [ 'lilo', 0x6 + 0x40, "LILO" ], #- when relocated in lilo's bsect_update(), variable "space" on paragraph boundary gives 0x40
+ [ 'grub', 0x6, "GRUB" ],
+ [ 'osbs', 0x2, "OSBS" ], #- http://www.prz.tu-berlin.de/~wolf/os-bs.html
+ [ 'pqmagic', 0xef, "PQV" ],
+ [ 'BootStar', 0x130, "BootStar:" ],
+ [ 'DocsBoot', 0x148, 'DocsBoot' ],
+ [ 'system_commander', 0x1ad, "SYSCMNDRSYS" ],
+ [ 'Be Os', 0x24, 'Boot Manager' ],
+ [ 'os2', 0, "\xFA\xB8\x30\x00", 0xfA, "OS/2" ],
+ [ 'TimO', 0, 'IBM Thinkpad hibernation partition' ],
+ [ 'dos', 0xa0, "\x25\x03\x4E\x02\xCD\x13" ],
+ [ 'dos', 0xa0, "\x00\xB4\x08\xCD\x13\x72" ], #- nt2k's
+ [ 'dos', 0x60, "\xBB\x00\x7C\xB8\x01\x02\x57\xCD\x13\x5F\x73\x0C\x33\xC0\xCD\x13" ], #- nt's
+ [ 'dos', 0x70, "\x0C\x33\xC0\xCD\x13\x4F\x75\xED\xBE\xA3" ],
+ [ 'freebsd', 0xC0, "\x00\x30\xE4\xCD\x16\xCD\x19\xBB\x07\x00\xB4" ],
+ [ 'freebsd', 0x160, "\x6A\x10\x89\xE6\x48\x80\xCC\x40\xCD\x13" ],
+ [ 'dummy', 0xAC, "\x0E\xB3\x07\x56\xCD\x10\x5E\xEB" ], #- caldera?
+ [ 'ranish', 0x100, "\x6A\x10\xB4\x42\x8B\xF4\xCD\x13\x8B\xE5\x73" ],
+ [ 'os2', 0x1c2, "\x0A" ],
+ [ 'Acronis', 0, "\xE8\x12\x01" ],
+);
+
+sub typeOfMBR($) { typeFromMagic(devices::make($_[0]), @MBR_signatures) }
+sub typeOfMBR_($) { typeFromMagic($_[0], @MBR_signatures) }
+
+sub hasExtended { 0 }
+sub set_best_geometry_for_the_partition_table {}
+
+sub cylinder_size($) {
+ my ($hd) = @_;
+ $hd->{geom}{sectors} * $hd->{geom}{heads};
+}
+sub first_usable_sector { 1 }
+sub last_usable_sector {
+ my ($hd) = @_;
+ $hd->{totalsectors};
+}
+
+#- default method for starting a partition, only head size or twice
+#- is allowed for starting a partition after a cylinder boundarie.
+sub adjustStart($$) {
+ my ($hd, $part) = @_;
+ my $end = $part->{start} + $part->{size};
+
+ $part->{start} = round_up($part->{start},
+ $part->{start} % cylinder_size($hd) < 2 * $hd->{geom}{sectors} ?
+ $hd->{geom}{sectors} : cylinder_size($hd));
+ $part->{size} = $end - $part->{start};
+ $part->{size} > 0 or die "adjustStart get a too small partition to handle correctly";
+}
+#- adjusting end to match a cylinder boundary, two methods are used and must
+#- match at the end, else something is wrong and nothing will be done on
+#- partition table.
+#- $end2 is computed by removing 2 (or only 1 if only 2 heads on drive) groups
+#- of sectors, this is necessary to handle extended partition where logical
+#- partition start after 1 (or 2 accepted) groups of sectors (typically 63).
+#- $end is floating (is not on cylinder boudary) so we have to choice a good
+#- candidate, $end1 or $end2 should always be good except $end1 for small
+#- partition size.
+sub adjustEnd($$) {
+ my ($hd, $part) = @_;
+ my $end = $part->{start} + $part->{size};
+ $end > $hd->{geom}{cylinders} * cylinder_size($hd) && $end <= $hd->{totalsectors} and return;
+ my $end1 = round_down($end, cylinder_size($hd));
+ my $end2 = round_up($end - ($hd->{geom}{heads} > 2 ? 2 : 1) * $hd->{geom}{sectors}, cylinder_size($hd));
+ $end2 <= $hd->{geom}{cylinders} * cylinder_size($hd) or die "adjustEnd go beyond end of device geometry ($end2 > $hd->{totalsectors})";
+ $part->{size} = ($end1 - $part->{start} > cylinder_size($hd) ? $end1 : $end2) - $part->{start};
+ $part->{size} > 0 or internal_error("adjustEnd get a too small partition to handle correctly");
+}
+
+sub compute_nb_cylinders {
+ my ($geom, $totalsectors) = @_;
+ if ($geom->{heads} && $geom->{sectors}) {
+ $geom->{cylinders} = int $totalsectors / $geom->{heads} / $geom->{sectors};
+ }
+}
+
+sub keep_non_duplicates {
+ my %l;
+ $l{$_->[0]}++ foreach @_;
+ map { @$_ } grep { $l{$_->[0]} == 1 } @_;
+}
+
+sub get_geometries {
+ my (@hds) = @_;
+
+ @hds = grep {
+ if (my $h = get_geometry($_->{file})) {
+ add2hash_($_, $h);
+ 1;
+ } else {
+ log::l("An error occurred while getting the geometry of block device $_->{file}: $!");
+ 0;
+ }
+ } @hds;
+
+ my %id2hd = keep_non_duplicates(map {
+ my $F = openit($_) or log::l("failed to open device $_->{device}");
+ my $tmp;
+ if ($F && c::lseek_sector(fileno($F), 0, 0x1b8) && sysread($F, $tmp, 4)) {
+ [ sprintf('0x%08x', unpack('V', $tmp)), $_ ];
+ } else {
+ ();
+ }
+ } @hds);
+
+
+ my %id2edd = keep_non_duplicates(map { [ chomp_(cat_("$_/mbr_signature")), $_ ] } glob("/sys/firmware/edd/int13_dev*"));
+
+ log::l("id2hd: " . join(' ', map_each { "$::a=>$::b->{device}" } %id2hd));
+ log::l("id2edd: " . join(' ', map_each { "$::a=>$::b" } %id2edd));
+
+ foreach my $id (keys %id2hd) {
+ my $hd = $id2hd{$id};
+ $hd->{volume_id} = $id;
+
+ if (my $edd_dir = $id2edd{$id}) {
+ $hd->{bios_from_edd} = $1 if $edd_dir =~ /int13_dev(.*)/;
+
+ require partition_table::dos;
+ my $geom = partition_table::dos::geometry_from_edd($hd, $edd_dir);
+ $hd->{geom} = $geom if $geom;
+ }
+ }
+
+ @hds;
+}
+
+sub get_geometry {
+ my ($dev) = @_;
+ sysopen(my $F, $dev, 0) or return;
+
+ my $total = c::total_sectors(fileno $F);
+
+ my $g = "";
+ my %geom;
+ if (ioctl($F, c::HDIO_GETGEO(), $g)) {
+ @geom{qw(heads sectors cylinders start)} = unpack "CCSL", $g;
+ log::l("HDIO_GETGEO on $dev succeeded: heads=$geom{heads} sectors=$geom{sectors} cylinders=$geom{cylinders} start=$geom{start}");
+ $geom{totalcylinders} = $geom{cylinders};
+
+ #- $geom{cylinders} is no good (only a ushort, that means less than 2^16 => at best 512MB)
+ if ($total) {
+ compute_nb_cylinders(\%geom, $total);
+ } else {
+ $total = $geom{heads} * $geom{sectors} * $geom{cylinders};
+ }
+ }
+
+ { totalsectors => $total, if_($geom{heads}, geom => \%geom) };
+}
+
+sub openit {
+ my ($hd, $o_mode) = @_;
+ my $F; sysopen($F, $hd->{file}, $o_mode || 0) && $F;
+}
+
+sub raw_removed {
+ my ($_hd, $_raw) = @_;
+}
+sub can_raw_add {
+ my ($hd) = @_;
+ $_->{size} || $_->{pt_type} or return 1 foreach @{$hd->{primary}{raw}};
+ 0;
+}
+sub raw_add {
+ my ($_hd, $raw, $part) = @_;
+
+ foreach (@$raw) {
+ $_->{size} || $_->{pt_type} and next;
+ $_ = $part;
+ return;
+ }
+ die "raw_add: partition table already full";
+}
+
+sub default_type {
+ my $type = arch() =~ /ia64/ ? 'gpt' : arch() eq "alpha" ? "bsd" : arch() =~ /^sparc/ ? "sun" : arch() eq "ppc" ? "mac" : "dos";
+ #- override standard mac type on PPC for IBM machines to dos
+ $type = "dos" if arch() =~ /ppc/ && detect_devices::get_mac_model() =~ /^IBM/;
+ require "partition_table/$type.pm";
+ "partition_table::$type";
+}
+
+sub zero_MBR {
+ my ($hd) = @_;
+ #- force the standard partition type for the architecture
+ bless $hd, default_type();
+ $hd->{primary} = $hd->clear_raw;
+ delete $hd->{extended};
+ if (detect_devices::is_xbox()) {
+ my $part = { start => 1, size => 15632048, pt_type => 0x0bf, isFormatted => 1 };
+ partition_table::dos::compute_CHS($hd, $part);
+ $hd->{primary}{raw}[0] = $part;
+ }
+}
+
+sub zero_MBR_and_dirty {
+ my ($hd) = @_;
+ my @parts = (partition_table::get_normal_parts($hd), if_($hd->{primary}{extended}, $hd->{primary}{extended}));
+ partition_table::will_tell_kernel($hd, del => $_) foreach @parts;
+ zero_MBR($hd);
+}
+
+#- ugly stuff needed mainly for Western Digital IDE drives
+#- try writing what we've just read, yells if it fails
+#- testing on last sector of head #0 (unused in 99% cases)
+#-
+#- return false if the device can not be written to (especially for Smartmedia)
+sub test_for_bad_drives {
+ my ($hd) = @_;
+
+ log::l("test_for_bad_drives($hd->{file})");
+ my $sector = $hd->{geom} ? $hd->{geom}{sectors} - 1 : 0;
+
+ sub error { die "$_[0] error: $_[1]" }
+
+ my $F = openit($hd, $::testing ? 0 : 2) or error(openit($hd) ? 'write' : 'read', "can not open device");
+
+ my $seek = sub {
+ c::lseek_sector(fileno($F), $sector, 0) or error('read', "seeking to sector $sector failed");
+ };
+ my $tmp;
+
+ &$seek; sysread $F, $tmp, $SECTORSIZE or error('read', "can not even read ($!)");
+ return if $hd->{readonly} || $::testing;
+ &$seek; syswrite $F, $tmp or error('write', "can not even write ($!)");
+
+ my $tmp2;
+ &$seek; sysread $F, $tmp2, $SECTORSIZE or die "test_for_bad_drives: can not even read again ($!)";
+ $tmp eq $tmp2 or die
+N("Something bad is happening on your drive.
+A test to check the integrity of data has failed.
+It means writing anything on the disk will end up with random, corrupted data.");
+}
+
+1;
diff --git a/perl-install/partition_table/sun.pm b/perl-install/partition_table/sun.pm
new file mode 100644
index 000000000..1c5558876
--- /dev/null
+++ b/perl-install/partition_table/sun.pm
@@ -0,0 +1,202 @@
+package partition_table::sun; # $Id: sun.pm 18538 2004-07-27 10:31:34Z prigaux $
+
+use diagnostics;
+use strict;
+use vars qw(@ISA);
+
+@ISA = qw(partition_table::raw);
+
+use common;
+use partition_table::raw;
+use partition_table;
+use fs::type;
+use c;
+
+my ($main_format, $main_fields) = list2kv(
+ a128 => 'info',
+ a14 => 'spare0',
+ a32 => 'infos',
+ a246 => 'spare1',
+ n => 'rspeed',
+ n => 'pcylcount',
+ n => 'sparecyl',
+ a4 => 'spare2',
+ n => 'ilfact',
+ n => 'ncyl',
+ n => 'nacyl',
+ n => 'ntrks',
+ n => 'nsect',
+ a4 => 'spare3',
+ a64 => 'partitions',
+ n => 'magic',
+ n => 'csum',
+);
+$main_format = join '', @$main_format;
+
+my ($fields1, $fields2) = ([ qw(pt_type flags) ], [ qw(start_cylinder size) ]);
+my ($format1, $format2) = ("xCxC", "N2");
+my $magic = 0xDABE;
+my $nb_primary = 8;
+my $offset = 0;
+
+sub adjustStart($$) {
+ my ($hd, $part) = @_;
+ my $end = $part->{start} + $part->{size};
+
+ #- since partition must always start on cylinders boundaries on sparc,
+ #- note that if start sector is on the first cylinder, it is adjusted
+ #- to 0 and it is valid, cylinder 0 bug is from bad define for sparc
+ #- compilation of mke2fs combined with a blind kernel...
+ $part->{start} = round_down($part->{start}, $hd->cylinder_size);
+ $part->{size} = $end - $part->{start};
+ $part->{size} = $hd->cylinder_size if $part->{size} <= 0;
+}
+sub adjustEnd($$) {
+ my ($hd, $part) = @_;
+ my $end = $part->{start} + $part->{size};
+ my $end2 = round_up($end, $hd->cylinder_size);
+ $end2 = $hd->{geom}{cylinders} * $hd->cylinder_size if $end2 > $hd->{geom}{cylinders} * $hd->cylinder_size;
+ $part->{size} = $end2 - $part->{start};
+}
+
+#- compute crc checksum used for Sun Label partition, expect
+#- $tmp to be the 512 bytes buffer to be read/written to MBR.
+sub compute_crc($) {
+ my ($tmp) = @_;
+ my @l2b = unpack "n256", $tmp;
+ my $crc = 0;
+
+ $crc ^= $_ foreach @l2b;
+
+ $crc;
+}
+
+sub read($$) {
+ my ($hd, $sector) = @_;
+ my $tmp;
+
+ my $F = partition_table::raw::openit($hd) or die "failed to open device";
+ c::lseek_sector(fileno($F), $sector, $offset) or die "reading of partition in sector $sector failed";
+
+ sysread $F, $tmp, psizeof($main_format) or die "error while reading partition table in sector $sector";
+ my %info; @info{@$main_fields} = unpack $main_format, $tmp;
+
+ #- check magic number
+ $info{magic} == $magic or die "bad magic number on disk $hd->{device}";
+
+ #- check crc, csum contains the crc so result should be 0.
+ compute_crc($tmp) == 0 or die "bad checksum";
+
+ @{$hd->{geom}}{qw(cylinders heads sectors)} = @info{qw(ncyl ntrks nsect)};
+
+ my @pt;
+ my @infos_up = unpack $format1 x $nb_primary, $info{infos};
+ my @partitions_up = unpack $format2 x $nb_primary, $info{partitions};
+ foreach (0..$nb_primary-1) {
+ my $h = { flag => $infos_up[1 + 2 * $_],
+ start_cylinder => $partitions_up[2 * $_], size => $partitions_up[1 + 2 * $_] };
+ fs::type::set_pt_type($h, $infos_up[2 * $_]);
+ $h->{start} = $sector + $h->{start_cylinder} * $hd->cylinder_size;
+ $h->{pt_type} && $h->{size} or $h->{$_} = 0 foreach keys %$h;
+ push @pt, $h;
+ }
+
+#- this code is completely broken by null char inside strings, it gets completely crazy :-)
+# my @pt = mapn {
+# my %h;
+# @h{@$fields1} = unpack $format1, $_[0];
+# @h{@$fields2} = unpack $format2, $_[1];
+# $h{start} = $sector + $h{start_cylinder} * $hd->cylinder_size();
+# $h{pt_type} && $h{size} or $h{$_} = 0 foreach keys %h;
+# \%h;
+# } [ grep { $_ } split /(.{$size1})/o, $info{infos} ], [ grep { $_ } split /(.{$size2})/o, $info{partitions} ];
+
+ [ @pt ], \%info;
+}
+
+# write the partition table (and extended ones)
+# for each entry, it uses fields: start, size, pt_type, active
+sub write($$$;$) {
+ my ($hd, $sector, $pt, $info) = @_;
+# my ($csize, $wdsize) = (0, 0);
+
+ #- handle testing for writing partition table on file only!
+ my $F;
+ if ($::testing) {
+ my $file = "/tmp/partition_table_$hd->{device}";
+ open $F, ">$file" or die "error opening test file $file";
+ } else {
+ $F = partition_table::raw::openit($hd, 2) or die "error opening device $hd->{device} for writing";
+ c::lseek_sector(fileno($F), $sector, $offset) or return 0;
+ }
+
+ ($info->{infos}, $info->{partitions}) = map { join '', @$_ } list2kv map {
+ $_->{start} % $hd->cylinder_size == 0 or die "partition not at beginning of cylinder";
+# $csize += $_->{size} if $_->{pt_type} != 5;
+# $wdsize += $_->{size} if $_->{pt_type} == 5;
+ $_->{flags} |= 0x10 if $_->{mntpoint} eq '/';
+ $_->{flags} |= 0x01 if !isSwap($_);
+ local $_->{start_cylinder} = $_->{start} / $hd->cylinder_size - $sector;
+ pack($format1, @$_{@$fields1}), pack($format2, @$_{@$fields2});
+ } @$pt;
+# $csize == $wdsize or die "partitions are not using whole disk space";
+
+ #- compute the checksum by building the buffer to write and call compute_crc.
+ #- set csum to 0 so compute_crc will give the right csum value.
+ $info->{csum} = 0;
+ $info->{csum} = compute_crc(pack($main_format, @$info{@$main_fields}));
+
+ syswrite $F, pack($main_format, @$info{@$main_fields}), psizeof($main_format) or return 0;
+
+ common::sync();
+
+ 1;
+}
+
+sub info {
+ my ($hd) = @_;
+
+ #- take care of reduction of the number of cylinders, avoid loop of reduction!
+ unless ($hd->{geom}{totalcylinders} > $hd->{geom}{cylinders}) {
+ $hd->{geom}{totalcylinders} = $hd->{geom}{cylinders};
+ $hd->{geom}{cylinders} -= 2;
+
+ #- rebuild some constants according to number of cylinders.
+ $hd->{totalsectors} = $hd->{geom}{heads} * $hd->{geom}{sectors} * $hd->{geom}{cylinders};
+ }
+
+ #- build a default suitable partition table,
+ #- checksum will be built when writing on disk.
+ #- note third partition is ALWAYS of type Whole disk.
+ my $info = {
+ info => "DiskDrake partition table",
+ rspeed => 5400,
+ pcylcount => $hd->{geom}{totalcylinders},
+ sparecyl => 0,
+ ilfact => 1,
+ ncyl => $hd->{geom}{cylinders},
+ nacyl => $hd->{geom}{totalcylinders} - $hd->{geom}{cylinders},
+ ntrks => $hd->{geom}{heads},
+ nsect => $hd->{geom}{sectors},
+ magic => $magic,
+ };
+
+ $info;
+}
+
+sub clear_raw {
+ my ($hd) = @_;
+ my $pt = { raw => [ ({}) x $nb_primary ], info => info($hd) };
+
+ #- handle special case for partition 2 which is whole disk.
+ $pt->{raw}[2] = {
+ pt_type => 5, #- the whole disk type.
+ flags => 0,
+ start_cylinder => 0,
+ size => $hd->{geom}{cylinders} * $hd->cylinder_size,
+ };
+
+ $pt;
+}
+
+1;
diff --git a/perl-install/pixmaps/X.png b/perl-install/pixmaps/X.png
new file mode 100644
index 000000000..251e6d29a
--- /dev/null
+++ b/perl-install/pixmaps/X.png
Binary files differ
diff --git a/perl-install/pixmaps/cups_config.png b/perl-install/pixmaps/cups_config.png
new file mode 100644
index 000000000..a8409abd0
--- /dev/null
+++ b/perl-install/pixmaps/cups_config.png
Binary files differ
diff --git a/perl-install/pixmaps/default.png b/perl-install/pixmaps/default.png
new file mode 100644
index 000000000..c96abec09
--- /dev/null
+++ b/perl-install/pixmaps/default.png
Binary files differ
diff --git a/perl-install/pixmaps/eth_card_mini.png b/perl-install/pixmaps/eth_card_mini.png
new file mode 100644
index 000000000..44f516168
--- /dev/null
+++ b/perl-install/pixmaps/eth_card_mini.png
Binary files differ
diff --git a/perl-install/pixmaps/help.png b/perl-install/pixmaps/help.png
new file mode 100644
index 000000000..aee3f0556
--- /dev/null
+++ b/perl-install/pixmaps/help.png
Binary files differ
diff --git a/perl-install/pixmaps/nosplash_thumb.png b/perl-install/pixmaps/nosplash_thumb.png
new file mode 100644
index 000000000..9fb25693d
--- /dev/null
+++ b/perl-install/pixmaps/nosplash_thumb.png
Binary files differ
diff --git a/perl-install/pixmaps/quit.png b/perl-install/pixmaps/quit.png
new file mode 100644
index 000000000..7e4e1e1d5
--- /dev/null
+++ b/perl-install/pixmaps/quit.png
Binary files differ
diff --git a/perl-install/pixmaps/redhat-config-users.png b/perl-install/pixmaps/redhat-config-users.png
new file mode 100644
index 000000000..09d075da5
--- /dev/null
+++ b/perl-install/pixmaps/redhat-config-users.png
Binary files differ
diff --git a/perl-install/pixmaps/refresh.png b/perl-install/pixmaps/refresh.png
new file mode 100644
index 000000000..d34b58088
--- /dev/null
+++ b/perl-install/pixmaps/refresh.png
Binary files differ
diff --git a/perl-install/pixmaps/selected.png b/perl-install/pixmaps/selected.png
new file mode 100644
index 000000000..49b225b93
--- /dev/null
+++ b/perl-install/pixmaps/selected.png
Binary files differ
diff --git a/perl-install/pixmaps/steps_done.png b/perl-install/pixmaps/steps_done.png
new file mode 100644
index 000000000..a4d3467f5
--- /dev/null
+++ b/perl-install/pixmaps/steps_done.png
Binary files differ
diff --git a/perl-install/pixmaps/steps_off.png b/perl-install/pixmaps/steps_off.png
new file mode 100644
index 000000000..66d4235a9
--- /dev/null
+++ b/perl-install/pixmaps/steps_off.png
Binary files differ
diff --git a/perl-install/pixmaps/steps_on.png b/perl-install/pixmaps/steps_on.png
new file mode 100644
index 000000000..21872e396
--- /dev/null
+++ b/perl-install/pixmaps/steps_on.png
Binary files differ
diff --git a/perl-install/pixmaps/unselected.png b/perl-install/pixmaps/unselected.png
new file mode 100644
index 000000000..689a4eb01
--- /dev/null
+++ b/perl-install/pixmaps/unselected.png
Binary files differ
diff --git a/perl-install/pixmaps/warning.png b/perl-install/pixmaps/warning.png
new file mode 100644
index 000000000..c2da47819
--- /dev/null
+++ b/perl-install/pixmaps/warning.png
Binary files differ
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
new file mode 100644
index 000000000..9b9654db9
--- /dev/null
+++ b/perl-install/pkgs.pm
@@ -0,0 +1,143 @@
+package pkgs; # $Id: pkgs.pm 61999 2006-09-18 16:41:40Z tv $
+
+use strict;
+
+use common;
+use run_program;
+use detect_devices;
+use log;
+
+
+sub read_rpmsrate_raw {
+ my ($file) = @_;
+ my $line_nb = 0;
+ my $fatal_error;
+ my (%flags, %rates, @need_to_copy);
+ my (@l);
+ local $_;
+ foreach (cat_($file)) {
+ $line_nb++;
+ /\t/ and die "tabulations not allowed at line $line_nb\n";
+ s/#.*//; # comments
+
+ my ($indent, $data) = /(\s*)(.*)/;
+ next if !$data; # skip empty lines
+
+ @l = grep { $_->[0] < length $indent } @l;
+
+ my @m = @l ? @{$l[-1][1]} : ();
+ my ($t, $flag, @l2);
+ while ($data =~
+ /^((
+ [1-5]
+ |
+ (?: (?: !\s*)? [0-9A-Z_]+(?:".*?")?)
+ (?: \s*\|\|\s* (?: !\s*)? [0-9A-Z_]+(?:".*?")?)*
+ )
+ (?:\s+|$)
+ )(.*)/x) { #@")) {
+ ($t, $flag, $data) = ($1,$2,$3);
+ while ($flag =~ s,^\s*(("[^"]*"|[^"\s]*)*)\s+,$1,) {}
+ push @m, $flag;
+ push @l2, [ length $indent, [ @m ] ];
+ $indent .= $t;
+ }
+ if ($data) {
+ # has packages on same line
+ my ($rates, $flags) = partition { /^\d$/ } @m;
+ my ($rate) = @$rates or die sprintf qq(missing rate for "%s" at line %d (flags are %s)\n), $data, $line_nb, join('&&', @m);
+ foreach my $name (split ' ', $data) {
+ if (uc($name) eq $name) {
+ log::l("$name is parsed as a package name, not as a flag");
+ }
+ if (member('INSTALL', @$flags)) {
+ push @need_to_copy, $name if !member('NOCOPY', @$flags);
+ next; #- do not need to put INSTALL flag for a package.
+ }
+ if (member('PRINTER', @$flags)) {
+ push @need_to_copy, $name;
+ }
+ my @new_flags = @$flags;
+ if (my $previous = $flags{$name}) {
+ my @common = intersection($flags, $previous);
+ my @diff1 = difference2($flags, \@common);
+ my @diff2 = difference2($previous, \@common);
+ if (!@diff1 || !@diff2) {
+ @new_flags = @common;
+ } elsif (@diff1 == 1 && @diff2 == 1) {
+ @new_flags = (@common, join('||', $diff1[0], $diff2[0]));
+ } else {
+ log::l("can not handle complicate flags for packages appearing twice ($name)");
+ $fatal_error++;
+ }
+ log::l("package $name appearing twice with different rates ($rate != " . $rates{$name} . ")") if $rate != $rates{$name};
+ }
+ $rates{$name} = $rate;
+ $flags{$name} = \@new_flags;
+ }
+ push @l, @l2;
+ } else {
+ push @l, [ $l2[0][0], $l2[-1][1] ];
+ }
+ }
+ $fatal_error and die "$fatal_error fatal errors in rpmsrate";
+ \%rates, \%flags, \@need_to_copy;
+}
+
+sub read_rpmsrate {
+ my ($packages, $rpmsrate_flags_chosen, $file, $match_all_hardware) = @_;
+
+ my ($rates, $flags, $need_to_copy) = read_rpmsrate_raw($file);
+
+ my ($TYPEs, @probeall);
+ if (!$match_all_hardware) {
+ $TYPEs = detect_devices::matching_types();
+ @probeall = detect_devices::probeall();
+ }
+
+ foreach (keys %$flags) {
+ my @flags = @{$flags->{$_}};
+ my $p;
+ if ($::isInstall) {
+ $p = install::pkgs::packageByName($packages, $_) or next;
+ if (my @l = map { if_(/locales-(.*)/, qq(LOCALES"$1")) } $p->requires_nosense) {
+ if (@l > 1) {
+ log::l("ERROR: package $_ is requiring many locales") if $_ ne 'lsb';
+ } else {
+ push @flags, @l;
+ }
+ }
+ }
+
+ @flags = map {
+ my ($user_flags, $known_flags) = partition { /^!?CAT_/ } split('\|\|', $_);
+ my $ok = find {
+ my $inv = s/^!//;
+ return 0 if $::isStandalone && $inv;
+ if (my ($p) = /^HW"(.*)"/) {
+ $match_all_hardware ? 1 : ($inv xor find { $_->{description} =~ /$p/i } @probeall);
+ } elsif (($p) = /^DRIVER"(.*)"/) {
+ $match_all_hardware ? 1 : ($inv xor find { $_->{driver} =~ /$p/i } @probeall);
+ } elsif (($p) = /^TYPE"(.*)"/) {
+ $match_all_hardware ? 1 : ($inv xor $TYPEs->{$p});
+ } elsif (($p) = /^HW_CAT"(.*)"/) {
+ $match_all_hardware ? 1 : ($inv xor detect_devices::probe_category($p));
+ } else {
+ $inv xor $rpmsrate_flags_chosen->{$_};
+ }
+ } @$known_flags;
+ $ok ? 'TRUE' : @$user_flags ? join('||', @$user_flags) : 'FALSE';
+ } @flags;
+
+ if ($::isInstall) {
+ $p->set_rate($rates->{$_});
+ $p->set_rflags(member('FALSE', @flags) ? 'FALSE' : @flags);
+ } elsif ($::isStandalone) {
+ $flags->{$_} = \@flags;
+ }
+ }
+ push @{$packages->{needToCopy} ||= []}, @$need_to_copy if ref($packages);
+ return ($rates, $flags) if $::isStandalone;
+}
+
+1;
diff --git a/perl-install/raid.pm b/perl-install/raid.pm
new file mode 100644
index 000000000..ac1387f40
--- /dev/null
+++ b/perl-install/raid.pm
@@ -0,0 +1,274 @@
+package raid; # $Id: raid.pm 57737 2006-08-23 16:18:37Z pixel $
+
+use diagnostics;
+use strict;
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+use common;
+use fs::type;
+use fs::get;
+use run_program;
+use devices;
+use modules;
+
+sub max_nb() { 31 }
+
+sub check_prog {
+ my ($in) = @_;
+ $::isInstall || $in->do_pkgs->ensure_binary_is_installed('mdadm', 'mdadm');
+}
+
+sub new {
+ my ($raids, %opts) = @_;
+ my $md_part = { %opts };
+ add2hash_($md_part, { 'chunk-size' => '64', disks => [],
+ fs_type => 'ext3',
+ device => first(free_mds($raids)),
+ notFormatted => 1, level => 1 });
+ push @$raids, $md_part;
+ foreach (@{$md_part->{disks}}) {
+ $_->{raid} = $md_part->{device};
+ fs::type::set_pt_type($_, 0xfd);
+ delete $_->{mntpoint};
+ }
+ update($md_part);
+ $md_part;
+}
+
+sub add {
+ my ($md_part, $part) = @_;
+ $md_part->{isMounted} and die N("Can not add a partition to _formatted_ RAID %s", $md_part->{device});
+ inactivate_and_dirty($md_part);
+ set_isFormatted($part, 0);
+ $part->{raid} = $md_part->{device};
+ delete $part->{mntpoint};
+ push @{$md_part->{disks}}, $part;
+ update($md_part);
+}
+
+sub delete {
+ my ($raids, $md_part) = @_;
+ inactivate_and_dirty($md_part);
+ delete $_->{raid} foreach @{$md_part->{disks}};
+ @$raids = grep { $_ != $md_part } @$raids;
+}
+
+sub change_device {
+ my ($md_part, $new_device) = @_;
+ if ($new_device ne $md_part->{device}) {
+ inactivate_and_dirty($md_part);
+ $md_part->{device} = $new_device;
+ $_->{raid} = $new_device foreach @{$md_part->{disks}};
+ }
+}
+
+sub removeDisk {
+ my ($raids, $part) = @_;
+ my $md_part = fs::get::device2part($part->{raid}, $raids);
+ inactivate_and_dirty($md_part);
+ fs::type::set_isFormatted($part, 0);
+ delete $part->{raid};
+ my $disks = $md_part->{disks};
+ @$disks = grep { $_ != $part } @$disks;
+ if (@$disks) {
+ update($md_part);
+ } else {
+ @$raids = grep { $_ != $md_part } @$raids;
+ }
+}
+
+sub updateSize {
+ my ($part) = @_;
+ local $_ = $part->{level};
+ my @l = map { $_->{size} } @{$part->{disks}};
+
+ $part->{size} = do {
+ if (/0|linear/) { sum @l }
+ elsif (/1/) { min @l }
+ elsif (/4|5/) { min(@l) * (@l - 1) }
+ elsif (/6/) { min(@l) * (@l - 2) }
+ };
+}
+
+sub module {
+ my ($part) = @_;
+ my $mod = $part->{level};
+
+ $mod = 5 if $mod eq "4";
+ $mod = "raid$mod" if $mod =~ /^\d+$/;
+ $mod;
+}
+
+
+sub update {
+ updateSize($_) foreach @_;
+}
+
+sub make {
+ my ($raids, $part) = @_;
+
+ return if is_active($part->{device});
+
+ inactivate_and_dirty($part);
+
+ isRAID($_) and make($raids, $_) foreach @{$part->{disks}};
+ eval { modules::load(module($part)) };
+
+ whereis_binary('mdadm') or die 'mdadm not installed';
+
+ my $dev = devices::make($part->{device});
+ my $nb = @{$part->{disks}};
+
+ run_program::run_or_die('mdadm', '--create', '--run', $dev,
+ if_($nb == 1, '--force'),
+ '--chunk=' . $part->{'chunk-size'},
+ "--level=$part->{level}",
+ "--raid-devices=$nb",
+ map { devices::make($_->{device}) } @{$part->{disks}});
+
+ if (my $raw_part = get_md_info($dev)) {
+ $part->{UUID} = $raw_part->{UUID};
+ }
+ write_conf($raids) if $::isStandalone;
+}
+
+sub format_part {
+ my ($raids, $part) = @_;
+ $part->{isFormatted} and return;
+
+ make($raids, $part);
+ fs::format::part_raw($part, undef);
+ set_isFormatted($_, 1) foreach @{$part->{disks}};
+}
+
+sub verify {
+ my ($raids) = @_;
+ foreach (@$raids) {
+ my $nb = $_->{level} =~ /6/ ? 4 : $_->{level} =~ /4|5/ ? 3 : 2;
+ @{$_->{disks}} >= $nb or die N("Not enough partitions for RAID level %d\n", $_->{level});
+ }
+}
+
+sub inactivate_and_dirty {
+ my ($part) = @_;
+ run_program::run('mdadm', '--stop', devices::make($part->{device}));
+ set_isFormatted($part, 0);
+}
+
+sub active_mds() {
+ map { if_(/^(md\d+)\s*:\s*active/, $1) } cat_("/proc/mdstat");
+}
+sub inactive_mds() {
+ map { if_(/^(md\d+)\s*:\s*inactive/, $1) } cat_("/proc/mdstat");
+}
+
+sub free_mds {
+ my ($raids) = @_;
+ difference2([ map { "md$_" } 0 .. max_nb() ], [ map { $_->{device} } @$raids ]);
+}
+
+sub detect_during_install {
+ my (@parts) = @_;
+ detect_during_install_once(@parts);
+ detect_during_install_once(@parts) if active_mds(); #- try again to detect RAID 10
+
+ foreach (inactive_mds()) {
+ log::l("$_ is an inactive md, we stop it to ensure it doesn't busy devices");
+ run_program::run('mdadm', '--stop', devices::make($_));
+ }
+}
+
+sub detect_during_install_once {
+ my (@parts) = @_;
+ devices::make("md$_") foreach 0 .. max_nb();
+ output('/etc/mdadm.conf', join(' ', 'DEVICE',
+ (map { "/dev/$_" } active_mds()),
+ map { devices::make($_->{device}) } @parts), "\n");
+ run_program::run('mdadm', '>>', '/etc/mdadm.conf', '--examine', '--scan');
+
+ foreach (@{parse_mdadm_conf(scalar cat_('/etc/mdadm.conf'))->{ARRAY}}) {
+ eval { modules::load($_->{level}) };
+ }
+ run_program::run('mdadm', '--assemble', '--scan');
+}
+
+sub get_existing {
+ my @parts = @_;
+ my $raids = [];
+ foreach my $md (active_mds()) {
+ my $raw_part = get_md_info(devices::make($md)) or next;
+
+ $raw_part->{level} =~ s/raid//; #- { linear | raid0 | raid1 | raid5 | raid6 } -> { linear | 0 | 1 | 5 | 6 }
+
+ my @mdparts =
+ map {
+ if (my $part = fs::get::device2part($_, [ @parts, @$raids ])) {
+ $part;
+ } else {
+ log::l("ERROR: unknown raw raid device $_");
+ ();
+ }
+ } split(',', $raw_part->{devices});
+
+ my $md_part = new($raids, device => $md, UUID => $raw_part->{UUID}, level => $raw_part->{level}, disks => \@mdparts);
+
+ my $type = fs::type::type_subpart_from_magic($md_part);
+ if ($type) {
+ put_in_hash($md_part, $type);
+ } else {
+ fs::type::set_fs_type($md_part, 'ext3');
+ }
+ my $fs_type = $type && $type->{fs_type};
+ fs::type::set_isFormatted($md_part, to_bool($fs_type));
+
+ log::l("RAID: found $md (raid $md_part->{level}) type $fs_type with parts $raw_part->{devices}");
+ }
+ $raids;
+}
+
+sub is_active {
+ my ($dev) = @_;
+ member($dev, active_mds());
+}
+
+sub write_conf {
+ my ($raids) = @_;
+
+ @$raids or return;
+
+ my @devices = uniq(map { devices::make($_->{device}) } map { @{$_->{disks}} } @$raids);
+
+ output("$::prefix/etc/mdadm.conf",
+ join(' ', 'DEVICE', @devices) . "\n",
+ map { "ARRAY " . devices::make($_->{device}) . " UUID=$_->{UUID} auto=yes\n" } @$raids);
+}
+
+sub get_md_info {
+ my ($dev) = @_;
+ my $conf = parse_mdadm_conf(scalar run_program::get_stdout('mdadm', '--detail', '--brief', '-v', $dev));
+
+ @{$conf->{ARRAY}} or return;
+ @{$conf->{ARRAY}} == 1 or internal_error("too many answers");
+ $conf->{ARRAY}[0];
+}
+
+sub parse_mdadm_conf {
+ my ($s) = @_;
+ my %conf = (DEVICE => [], ARRAY => []);
+ $s =~ s!^\s*#.*!!gm; #- remove comments
+ $s =~ s!\n(\s)!$1!g; #- join lines starting with a space
+ foreach (split("\n", $s)) {
+ if (/^DEVICE\s+(.*)/) {
+ push @{$conf{DEVICE}}, split(' ', $1);
+ } elsif (my ($md, $md_conf) = /^ARRAY\s+(\S+)\s*(.*)/) {
+ my %md_conf = map { if_(/(.*)=(.*)/, $1 => $2) } split(' ', $md_conf);
+ $md_conf{device} = $md;
+ push @{$conf{ARRAY}}, \%md_conf;
+ }
+ }
+ \%conf;
+}
+
+1;
diff --git a/perl-install/resize_fat/Makefile b/perl-install/resize_fat/Makefile
new file mode 100644
index 000000000..9078b361a
--- /dev/null
+++ b/perl-install/resize_fat/Makefile
@@ -0,0 +1,10 @@
+.PHONY: clean
+
+c_rewritten: %: %.xs
+ test -e Makefile_c || perl Makefile.PL
+ $(MAKE) -f Makefile_c LD_RUN_PATH= || $(MAKE) -f Makefile_c LD_RUN_PATH=
+ rm -f ../auto/resize_fat ; ln -s ../resize_fat/blib/arch/auto ../auto/resize_fat
+
+clean:
+ test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
+ rm -f *~ *.o
diff --git a/perl-install/resize_fat/Makefile.PL b/perl-install/resize_fat/Makefile.PL
new file mode 100644
index 000000000..712f4e395
--- /dev/null
+++ b/perl-install/resize_fat/Makefile.PL
@@ -0,0 +1,13 @@
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+
+WriteMakefile(
+ 'MAKEFILE' => 'Makefile_c',
+ 'NAME' => 'c_rewritten',
+ 'OPTIMIZE' => '-Os',
+ 'VERSION_FROM' => 'c_rewritten.pm', # finds $VERSION
+ 'LIBS' => '', # e.g., '-lm'
+ 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'
+ 'INC' => '', # e.g., '-I/usr/include/other'
+);
diff --git a/perl-install/resize_fat/README b/perl-install/resize_fat/README
new file mode 100644
index 000000000..12b64dea9
--- /dev/null
+++ b/perl-install/resize_fat/README
@@ -0,0 +1,8 @@
+TODO:
+
+resize_fat::fat::update($fs) should be called before doing undoable things
+(before the sync in construct_dir_tree)
+
+BUGS:
+no known bugs :)
+if you found one, please mail pixel@mandrakesoft.com !!
diff --git a/perl-install/resize_fat/any.pm b/perl-install/resize_fat/any.pm
new file mode 100644
index 000000000..1bf3f5b36
--- /dev/null
+++ b/perl-install/resize_fat/any.pm
@@ -0,0 +1,122 @@
+package resize_fat::any; # $Id: any.pm 22227 2005-04-13 15:36:36Z prigaux $
+
+use diagnostics;
+use strict;
+use vars qw($FREE $FILE $DIRECTORY $UNMOVEABLE);
+
+use common;
+use resize_fat::fat;
+use resize_fat::directory;
+use resize_fat::dir_entry;
+use resize_fat::c_rewritten;
+
+
+$FREE = 0;
+$FILE = 1;
+$DIRECTORY = 2;
+$UNMOVEABLE = 8;
+
+
+1;
+
+
+#- returns the number of clusters for a given filesystem type
+sub min_cluster_count($) {
+ my ($fs) = @_;
+ (1 << ${{ FAT16 => 12, FAT32 => 12 }}{$fs->{fs_type}}) - 12;
+}
+sub max_cluster_count($) {
+ my ($fs) = @_;
+ (1 << ${{ FAT16 => 16, FAT32 => 28 }}{$fs->{fs_type}}) - 11;
+}
+
+
+
+#- patch to get the function last_used that return the last used cluster of a fs.
+sub last_used($) {
+ my ($fs) = @_;
+
+ #- count in negative so absolute value count back to 2.
+ foreach (-($fs->{nb_clusters}+1)..-2) { return -$_ if resize_fat::c_rewritten::flag(-$_) }
+ die "any: empty FAT table of $fs->{nb_clusters} clusters";
+}
+#- patch to get the function last_unmoveable that return the last unmoveable cluster of a fs.
+sub last_unmoveable($) {
+ my ($fs) = @_;
+
+ #- count in negative so absolute value count back to 2.
+ foreach (-($fs->{nb_clusters}+1)..-2) { return -$_ if 0x8 & resize_fat::c_rewritten::flag(-$_) }
+
+ #- Oh at this point there are no unmoveable blocks!
+ 2;
+}
+
+#- calculates the minimum size of a partition, in physical sectors
+sub min_size($) {
+ my ($fs) = @_;
+ my $count = $fs->{clusters}{count};
+
+ #- directories are both in `used' and `dirs', so are counted twice
+ #- It's done on purpose since we're moving all directories. So at the worse
+ #- moment, 2 directories are there, but that way nothing wrong can happen :)
+ my $min_cluster_count = max(2 + $count->{used} + $count->{bad} + $count->{dirs}, min_cluster_count($fs));
+ $min_cluster_count = max($min_cluster_count, last_unmoveable($fs));
+
+ my $size = $min_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
+ divide($fs->{cluster_offset}, $SECTORSIZE) +
+ 64*1024*1024 / $SECTORSIZE; #- help with such more sectors (ie 64Mb).
+
+ #- help zindozs again with 512Mb+ at least else partition is ignored.
+ if ($resize_fat::isFAT32) {
+ $size = max($size, 524*1024*1024 / $SECTORSIZE);
+ }
+ $size;
+
+}
+#- calculates the maximum size of a partition, in physical sectors
+sub max_size($) {
+ my ($fs) = @_;
+
+ my $max_cluster_count = min($fs->{nb_fat_entries} - 2, max_cluster_count($fs));
+
+ $max_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
+ divide($fs->{cluster_offset}, $SECTORSIZE);
+}
+#- calculates used size in order to avoid modifying anything.
+sub used_size($) {
+ my ($fs) = @_;
+
+ my $used_cluster_count = max(last_used($fs), min_cluster_count($fs));
+
+ $used_cluster_count * divide($fs->{cluster_size}, $SECTORSIZE) +
+ divide($fs->{cluster_offset}, $SECTORSIZE);
+}
+
+#- fills in fat_flag_map in c_rewritten.
+#- Each FAT entry is flagged as either FREE, FILE or DIRECTORY.
+sub flag_clusters {
+ my ($fs) = @_;
+ my ($cluster, $curr_dir_name, $entry, $type, $nb_dirs);
+
+ my $f = sub {
+ ($curr_dir_name, $entry) = @_;
+ $cluster = resize_fat::dir_entry::get_cluster($entry);
+
+ if (resize_fat::dir_entry::is_file($entry)) {
+ $type = $FILE;
+ $type |= $UNMOVEABLE if resize_fat::dir_entry::is_unmoveable($entry);
+ } elsif (resize_fat::dir_entry::is_directory($entry)) {
+ $type = $DIRECTORY;
+ } else { return }
+
+ my $nb = resize_fat::c_rewritten::checkFat($cluster, $type, "$curr_dir_name/$entry->{name}");
+ $nb_dirs += $nb if $type == $DIRECTORY;
+ 0;
+ };
+
+ #- this must call allocate_fat_flag that zeroes the buffer allocated.
+ resize_fat::c_rewritten::allocate_fat_flag($fs->{nb_clusters} + 2);
+
+ resize_fat::directory::traverse_all($fs, $f);
+ $fs->{clusters}{count}{dirs} = $nb_dirs;
+}
diff --git a/perl-install/resize_fat/boot_sector.pm b/perl-install/resize_fat/boot_sector.pm
new file mode 100644
index 000000000..5fa948e96
--- /dev/null
+++ b/perl-install/resize_fat/boot_sector.pm
@@ -0,0 +1,110 @@
+package resize_fat::boot_sector; # $Id: boot_sector.pm 20589 2004-12-13 15:56:00Z tvignaud $
+
+use diagnostics;
+use strict;
+
+use common;
+use resize_fat::io;
+use resize_fat::any;
+use resize_fat::directory;
+
+
+#- Oops, this will be unresizable on big-endian machine. trapped by signature.
+my $format = "a3 a8 S C S C S S C S S S I I I S S I S S a458 S";
+my @fields = (
+ 'boot_jump', #- boot strap short or near jump
+ 'system_id', #- Name - can be used to special case partition manager volumes
+ 'sector_size', #- bytes per logical sector
+ 'cluster_size_in_sectors', #- sectors/cluster
+ 'nb_reserved', #- reserved sectors
+ 'nb_fats', #- number of FATs
+ 'nb_root_dir_entries', #- number of root directory entries
+ 'small_nb_sectors', #- number of sectors: big_nb_sectors supersedes
+ 'media', #- media code
+ 'fat16_fat_length', #- sectors/FAT for FAT12/16
+ 'sectors_per_track',
+ 'nb_heads',
+ 'nb_hidden', #- (unused)
+ 'big_nb_sectors', #- number of sectors (if small_nb_sectors == 0)
+
+#- FAT32-only entries
+ 'fat32_fat_length', #- size of FAT in sectors
+ 'fat32_flags', #- bit8: fat mirroring,
+ #- low4: active fat
+ 'fat32_version', #- minor * 256 + major
+ 'fat32_root_dir_cluster',
+ 'info_offset_in_sectors',
+ 'fat32_backup_sector',
+
+#- Common again...
+ 'boot_code', #- Boot code (or message)
+ 'boot_sign', #- 0xAA55
+);
+
+1;
+
+
+#- trimfs_init_boot_sector() - reads in the boot sector - gets important info out
+#- of boot sector, and puts in main structure - performs sanity checks - returns 1
+#- on success, 0 on failureparameters: filesystem an empty structure to fill.
+sub read($) {
+ my ($fs) = @_;
+
+ my $boot = eval { resize_fat::io::read($fs, 0, $SECTORSIZE) }; $@ and die "reading boot sector failed on device $fs->{fs_name}";
+ @$fs{@fields} = unpack $format, $boot;
+
+ $fs->{nb_sectors} = $fs->{small_nb_sectors} || $fs->{big_nb_sectors};
+ $fs->{cluster_size} = $fs->{cluster_size_in_sectors} * $fs->{sector_size};
+
+ $fs->{boot_sign} == 0xAA55 or die "Invalid signature for a MS-based filesystem.\n";
+ $fs->{nb_sectors} < 32 and die "Too few sectors for viable file system\n";
+ $fs->{nb_fats} == 2 or cdie "Weird number of FATs: $fs->{nb_fats}, not 2.\n";
+ $fs->{sector_size} == 512 or cdie "Strange sector_size != 512\n";
+
+ if ($fs->{fat16_fat_length}) {
+ #- asserting FAT16, will be verified later on
+ $resize_fat::isFAT32 = 0;
+ $fs->{fs_type} = 'FAT16';
+ $fs->{fs_type_size} = 16;
+ $fs->{fat_length} = $fs->{fat16_fat_length};
+ $resize_fat::bad_cluster_value = 0xfff7; #- 2**16 - 1
+ } else {
+ $resize_fat::isFAT32 = 1;
+ $fs->{fs_type} = 'FAT32';
+ $fs->{fs_type_size} = 32;
+ $fs->{fat_length} = $fs->{fat32_fat_length};
+
+ $fs->{nb_root_dir_entries} = 0;
+ $fs->{info_offset} = $fs->{info_offset_in_sectors} * $fs->{sector_size};
+ $resize_fat::bad_cluster_value = 0x0ffffff7;
+ }
+
+ $fs->{fat_offset} = $fs->{nb_reserved} * $fs->{sector_size};
+ $fs->{fat_size} = $fs->{fat_length} * $fs->{sector_size};
+ $fs->{root_dir_offset} = $fs->{fat_offset} + $fs->{fat_size} * $fs->{nb_fats};
+ $fs->{root_dir_size} = $fs->{nb_root_dir_entries} * resize_fat::directory::entry_size();
+ $fs->{cluster_offset} = $fs->{root_dir_offset} + $fs->{root_dir_size} - 2 * $fs->{cluster_size};
+
+ $fs->{nb_fat_entries} = divide($fs->{fat_size}, $fs->{fs_type_size} / 8);
+
+ #- - 2 because clusters 0 & 1 does not exist
+ $fs->{nb_clusters} = divide($fs->{nb_sectors} * $fs->{sector_size} - $fs->{cluster_offset}, $fs->{cluster_size}) - 2;
+
+ $fs->{dir_entries_per_cluster} = divide($fs->{cluster_size}, psizeof($format));
+
+#- $fs->{nb_clusters} >= resize_fat::any::min_cluster_count($fs) or die "error: not enough sectors for a $fs->{fs_type}\n";
+ $fs->{nb_clusters} < resize_fat::any::max_cluster_count($fs) or die "error: too many sectors for a $fs->{fs_type}\n";
+}
+
+sub write($) {
+ my ($fs) = @_;
+ my $boot = pack($format, @$fs{@fields});
+
+ eval { resize_fat::io::write($fs, 0, $SECTORSIZE, $boot) }; $@ and die "writing the boot sector failed on device $fs->{fs_name}";
+
+ if ($resize_fat::isFAT32) {
+ #- write backup
+ eval { resize_fat::io::write($fs, $fs->{fat32_backup_sector} * $SECTORSIZE, $SECTORSIZE, $boot) };
+ $@ and die "writing the backup boot sector (#$fs->{fat32_backup_sector}) failed on device $fs->{fs_name}";
+ }
+}
diff --git a/perl-install/resize_fat/c_rewritten.pm b/perl-install/resize_fat/c_rewritten.pm
new file mode 100644
index 000000000..1ad5a608a
--- /dev/null
+++ b/perl-install/resize_fat/c_rewritten.pm
@@ -0,0 +1,14 @@
+package resize_fat::c_rewritten; # $Id: c_rewritten.pm 11071 2002-11-28 12:47:16Z prigaux $
+
+use strict;
+
+require DynaLoader;
+
+our @ISA = qw(DynaLoader Exporter);
+our $VERSION = '0.01';
+our @EXPORT_OK = qw(next set_next);
+
+resize_fat::c_rewritten->bootstrap($VERSION);
+
+1;
+
diff --git a/perl-install/resize_fat/c_rewritten.xs b/perl-install/resize_fat/c_rewritten.xs
new file mode 100644
index 000000000..2bca483c0
--- /dev/null
+++ b/perl-install/resize_fat/c_rewritten.xs
@@ -0,0 +1,265 @@
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+/* set by scan_fat, used by next */
+short *fat = NULL;
+char *fat_flag_map = NULL;
+unsigned int *fat_remap = NULL;
+int fat_remap_size;
+int type_size, nb_clusters, bad_cluster_value;
+
+void free_all() {
+#define FREE(p) if (p) free(p), p = NULL;
+ FREE(fat);
+ FREE(fat_flag_map);
+ FREE(fat_remap);
+#undef FREE
+}
+
+unsigned int next(unsigned int cluster) {
+ short *p = fat + type_size * cluster;
+ if (!fat) {
+ free_all();
+ croak("fat::next: trying to use null pointer");
+ }
+ if (cluster >= nb_clusters + 2) {
+ free_all();
+ croak("fat::next: cluster %d outside filesystem", cluster);
+ }
+ return type_size == 1 ? *p : *((unsigned int *) p);
+}
+
+void set_next(unsigned int cluster, unsigned int val) {
+ short *p = fat + type_size * cluster;
+ if (!fat) {
+ free_all();
+ croak("fat::set_next: trying to use null pointer");
+ }
+ if (cluster >= nb_clusters + 2) {
+ free_all();
+ croak("fat::set_next: cluster %d outside filesystem", cluster);
+ }
+ if (type_size == 1)
+ *p = val;
+ else
+ *((unsigned int *) p) = val;
+}
+
+MODULE = resize_fat::c_rewritten PACKAGE = resize_fat::c_rewritten
+
+PROTOTYPES: DISABLE
+
+
+void
+read_fat(fd, offset, size, magic)
+ int fd
+ int offset
+ int size
+ unsigned char magic
+ PPCODE:
+{
+ fat = (short *) malloc(size);
+ if (!fat) {
+ free_all();
+ croak("read_fat: not enough memory");
+ }
+ if (lseek(fd, offset, SEEK_SET) != offset ||
+ read(fd, fat, size) != size) {
+ free_all();
+ croak("read_fat: reading FAT failed");
+ }
+ if (magic != *(unsigned char *) fat) {
+ free_all();
+ croak("read_fat: FAT has invalid signature");
+ }
+}
+
+void
+write_fat(fd, size)
+ int fd
+ int size
+ PPCODE:
+{
+ if (write(fd, fat, size) != size) {
+ free_all();
+ croak("write_fat: write failed");
+ }
+}
+
+void
+free_all()
+ PPCODE:
+ free_all();
+
+void
+scan_fat(nb_clusters_, type_size_)
+ int nb_clusters_
+ int type_size_
+ PPCODE:
+{
+ unsigned int v;
+ int free = 0, bad = 0, used = 0;
+ short *p;
+
+ type_size = type_size_; nb_clusters = nb_clusters_;
+ bad_cluster_value = type_size == 32 ? 0x0ffffff7 : 0xfff7;
+
+ if (type_size % 16) {
+ free_all();
+ croak("scan_fat: unable to handle FAT%d", type_size);
+ }
+ type_size /= 16;
+
+ for (p = fat + 2 * type_size; p < fat + type_size * (nb_clusters + 2); p += type_size) {
+ v = type_size == 1 ? *p : *((unsigned int *) p);
+
+ if (v == 0) free++;
+ else if (v == bad_cluster_value) bad++;
+ }
+ used = nb_clusters - free - bad;
+ EXTEND(SP, 3);
+ PUSHs(sv_2mortal(newSViv(free)));
+ PUSHs(sv_2mortal(newSViv(bad)));
+ PUSHs(sv_2mortal(newSViv(used)));
+}
+
+unsigned int
+next(unused, cluster)
+ void *unused
+ unsigned int cluster
+ CODE:
+ RETVAL = next(cluster);
+ OUTPUT:
+ RETVAL
+
+void
+set_next(unused, cluster, val)
+ void *unused
+ unsigned int cluster
+ unsigned int val
+ CODE:
+ set_next(cluster, val);
+
+void
+allocate_fat_flag(size)
+ int size
+ CODE:
+ fat_flag_map = calloc(size, 1);
+ if (!fat_flag_map) {
+ free_all();
+ croak("allocate_fat_flag: not enough memory");
+ }
+
+int
+checkFat(cluster, type, name)
+ unsigned int cluster
+ int type
+ char *name
+ CODE:
+ int nb = 0;
+
+ if (!fat_flag_map) {
+ free_all();
+ croak("Bad FAT: trying to use null pointer");
+ }
+ for (; cluster < bad_cluster_value; cluster = next(cluster)) {
+ if (cluster == 0) {
+ free_all();
+ croak("Bad FAT: unterminated chain for %s\n", name);
+ }
+ if (cluster >= nb_clusters + 2) {
+ free_all();
+ croak("Bad FAT: chain outside filesystem for %s\n", name);
+ }
+ if (fat_flag_map[cluster]) {
+ free_all();
+ croak("Bad FAT: cluster %d is cross-linked for %s\n", cluster, name);
+ }
+ fat_flag_map[cluster] = type;
+ nb++;
+ }
+ RETVAL = nb;
+ OUTPUT:
+ RETVAL
+
+unsigned int
+flag(cluster)
+ unsigned int cluster
+ CODE:
+ if (!fat_flag_map) {
+ free_all();
+ croak("Bad FAT: trying to use null pointer");
+ }
+ if (cluster >= nb_clusters + 2) {
+ free_all();
+ croak("Bad FAT: going outside filesystem");
+ }
+ RETVAL = fat_flag_map[cluster];
+ OUTPUT:
+ RETVAL
+
+void
+set_flag(cluster, flag)
+ unsigned int cluster
+ int flag
+ CODE:
+ if (!fat_flag_map) {
+ free_all();
+ croak("Bad FAT: trying to use null pointer");
+ }
+ if (cluster >= nb_clusters + 2) {
+ free_all();
+ croak("Bad FAT: going outside filesystem");
+ }
+ fat_flag_map[cluster] = flag;
+
+void
+allocate_fat_remap(size)
+ int size
+ CODE:
+ fat_remap_size = size;
+ fat_remap = (unsigned int *) calloc(size, sizeof(unsigned int *));
+ if (!fat_remap) {
+ free_all();
+ croak("allocate_fat_remap: not enough memory");
+ }
+
+unsigned int
+fat_remap(cluster)
+ unsigned int cluster
+ CODE:
+ if (!fat_remap) {
+ free_all();
+ croak("fat_remap: trying to use null pointer");
+ }
+ if (cluster >= bad_cluster_value) {
+ RETVAL = cluster; /* special cases */
+ } else {
+ if (cluster >= fat_remap_size) {
+ free_all();
+ croak("fat_remap: cluster %d >= %d in fat_remap", cluster, fat_remap_size);
+ }
+ RETVAL = fat_remap[cluster];
+ }
+ OUTPUT:
+ RETVAL
+
+void
+set_fat_remap(cluster, val)
+ unsigned int cluster
+ unsigned int val
+ CODE:
+ if (!fat_remap) {
+ free_all();
+ croak("set_fat_remap: trying to use null pointer");
+ }
+ if (cluster >= fat_remap_size) {
+ free_all();
+ croak("set_fat_remap: cluster %d >= %d in set_fat_remap", cluster, fat_remap_size);
+ }
+ if (val < bad_cluster_value && val >= fat_remap_size) {
+ free_all();
+ croak("set_fat_remap: remapping cluster %d to cluster %d >= %d in set_fat_remap", cluster, val, fat_remap_size);
+ }
+ fat_remap[cluster] = val;
diff --git a/perl-install/resize_fat/dir_entry.pm b/perl-install/resize_fat/dir_entry.pm
new file mode 100644
index 000000000..a69cc8088
--- /dev/null
+++ b/perl-install/resize_fat/dir_entry.pm
@@ -0,0 +1,77 @@
+package resize_fat::dir_entry; # $Id: dir_entry.pm 15672 2004-01-05 13:45:42Z prigaux $
+
+use diagnostics;
+use strict;
+
+
+my $DELETED_FLAG = 0xe5;
+
+my $_READ_ONLY_ATTR = 0x01;
+my $HIDDEN_ATTR = 0x02;
+my $SYSTEM_ATTR = 0x04;
+my $VOLUME_LABEL_ATTR = 0x08;
+my $VFAT_ATTR = 0x0f;
+my $DIRECTORY_ATTR = 0x10;
+
+1;
+
+sub get_cluster($) {
+ my ($entry) = @_;
+ $entry->{first_cluster} + ($resize_fat::isFAT32 ? $entry->{first_cluster_high} * (1 << 16) : 0);
+}
+sub set_cluster($$) {
+ my ($entry, $val) = @_;
+ $entry->{first_cluster} = $val & ((1 << 16) - 1);
+ $entry->{first_cluster_high} = $val >> 16 if $resize_fat::isFAT32;
+}
+
+sub is_unmoveable($) {
+ my ($entry) = @_;
+ $entry->{attributes} & $HIDDEN_ATTR || $entry->{attributes} & $SYSTEM_ATTR;
+}
+
+sub is_directory($) {
+ my ($entry) = @_;
+ $entry->{attributes} & $DIRECTORY_ATTR && $entry->{name} !~ /^\.\.? / && !is_special_entry($entry);
+}
+
+sub is_volume($) {
+ my ($entry) = @_;
+ !is_special_entry($entry) && $entry->{attributes} & $VOLUME_LABEL_ATTR;
+}
+
+sub is_file($) {
+ my ($entry) = @_;
+ !is_special_entry($entry) && !is_directory($entry) && !is_volume($entry) && $entry->{length};
+}
+
+
+sub is_special_entry($) {
+ my ($entry) = @_;
+ my ($c) = unpack "C", $entry->{name};
+
+ #- skip empty slots, deleted files, and 0xF6?? (taken from kernel)
+ $c == 0 || $c == $DELETED_FLAG || $c == 0xF6 and return 1;
+
+ $entry->{attributes} == $VFAT_ATTR and return 1;
+ 0;
+}
+
+
+#- return true if entry has been modified
+#- curr_dir_name is added to contains current directory name, "" for root.
+sub remap {
+ my ($_curr_dir_name, $entry) = @_;
+
+ is_special_entry($entry) and return;
+
+ my $cluster = get_cluster($entry);
+ my $new_cluster = resize_fat::c_rewritten::fat_remap($cluster);
+
+ #-print "remapping cluster ", get_cluster($entry), " to $new_cluster";
+
+ $new_cluster == $cluster and return; #- no need to modify
+
+ set_cluster($entry, $new_cluster);
+ 1;
+}
diff --git a/perl-install/resize_fat/directory.pm b/perl-install/resize_fat/directory.pm
new file mode 100644
index 000000000..a552bcd56
--- /dev/null
+++ b/perl-install/resize_fat/directory.pm
@@ -0,0 +1,79 @@
+package resize_fat::directory; # $Id: directory.pm 13115 2003-04-24 19:00:12Z prigaux $
+
+use diagnostics;
+use strict;
+
+use common;
+use resize_fat::dir_entry;
+use resize_fat::io;
+
+
+my $format = "a8 a3 C C C S7 I";
+my @fields = (
+ 'name',
+ 'extension',
+ 'attributes',
+ 'is_upper_case_name',
+ 'creation_time_low', #- milliseconds
+ 'creation_time_high',
+ 'creation_date',
+ 'access_date',
+ 'first_cluster_high', #- for FAT32
+ 'time',
+ 'date',
+ 'first_cluster',
+ 'length',
+);
+my $psizeof_format = psizeof($format);
+
+1;
+
+sub entry_size() { $psizeof_format }
+
+#- call `f' for each entry of the directory
+#- if f return true, then modification in the entry are taken back
+sub traverse($$$) {
+ my ($directory, $curr_dir_name, $f) = @_;
+
+ for (my $i = 0;; $i++) {
+ my $raw = \substr($directory, $i * $psizeof_format, $psizeof_format);
+
+ #- empty entry means end of directory
+ $$raw =~ /^\0*$/ and return $directory;
+
+ my $entry; @$entry{@fields} = unpack $format, $$raw;
+
+ &$f($curr_dir_name, $entry)
+ and $$raw = pack $format, @$entry{@fields};
+ }
+ $directory;
+}
+
+sub traverse_all($$) {
+ my ($fs, $f) = @_;
+
+ my $traverse_all; $traverse_all = sub {
+ my ($curr_dir_name, $entry) = @_;
+
+ &$f($curr_dir_name, $entry);
+
+ resize_fat::dir_entry::is_directory($entry)
+ and traverse(resize_fat::io::read_file($fs, resize_fat::dir_entry::get_cluster($entry)), "$curr_dir_name/$entry->{name}", $traverse_all);
+
+ undef; #- no need to write back (cf traverse)
+ };
+
+ my $directory = $resize_fat::isFAT32 ?
+ resize_fat::io::read_file($fs, $fs->{fat32_root_dir_cluster}) :
+ resize_fat::io::read($fs, $fs->{root_dir_offset}, $fs->{root_dir_size});
+ traverse($directory, "", $traverse_all);
+ undef $traverse_all; #- circular reference is no good for perl's poor GC :(
+}
+
+
+#- function used by construct_dir_tree to translate the `cluster' fields in each
+#- directory entry
+sub remap($$) {
+ my ($_fs, $directory) = @_;
+ traverse($directory, "", \&resize_fat::dir_entry::remap);
+}
diff --git a/perl-install/resize_fat/fat.pm b/perl-install/resize_fat/fat.pm
new file mode 100644
index 000000000..e4207516a
--- /dev/null
+++ b/perl-install/resize_fat/fat.pm
@@ -0,0 +1,135 @@
+package resize_fat::fat; # $Id: fat.pm 20589 2004-12-13 15:56:00Z tvignaud $
+
+use diagnostics;
+use strict;
+
+use resize_fat::any;
+use resize_fat::io;
+use resize_fat::c_rewritten qw(next set_next);
+
+sub read($) {
+ my ($fs) = @_;
+
+ resize_fat::c_rewritten::read_fat(fileno $fs->{fd}, $fs->{fat_offset}, $fs->{fat_size}, $fs->{media});
+
+ @{$fs->{clusters}{count}}{qw(free bad used)} =
+ resize_fat::c_rewritten::scan_fat($fs->{nb_clusters}, $fs->{fs_type_size});
+}
+
+sub write($) {
+ my ($fs) = @_;
+
+ sysseek $fs->{fd}, $fs->{fat_offset}, 0 or die "write_fat: seek failed";
+ foreach (1..$fs->{nb_fats}) {
+ resize_fat::c_rewritten::write_fat(fileno $fs->{fd}, $fs->{fat_size});
+ }
+}
+
+
+
+#- allocates where all the clusters will be moved to. Clusters before cut_point
+#- remain in the same position, however cluster that are part of a directory are
+#- moved regardless (this is a mechanism to prevent data loss) (cut_point is the
+#- first cluster that will not occur in the new fs)
+sub allocate_remap {
+ my ($fs, $cut_point) = @_;
+ my ($cluster, $new_cluster);
+ my $remap = sub { resize_fat::c_rewritten::set_fat_remap($cluster, $new_cluster) };
+ my $get_new = sub {
+ $new_cluster = get_free($fs);
+ 0 < $new_cluster && $new_cluster < $cut_point or die "no free clusters";
+ set_eof($fs, $new_cluster); #- mark as used
+ #-log::ld("resize_fat: [$cluster,", &next($fs, $cluster), "...]->$new_cluster...");
+ };
+
+ #- this must call allocate_fat_remap that zeroes the buffer allocated.
+ resize_fat::c_rewritten::allocate_fat_remap($fs->{nb_clusters} + 2);
+
+ $fs->{last_free_cluster} = 2;
+ for ($cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
+ if ($cluster < $cut_point) {
+ if (resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::DIRECTORY) {
+ &$get_new();
+ } else {
+ $new_cluster = $cluster;
+ }
+ &$remap();
+ } elsif (!is_empty(&next($fs, $cluster))) {
+ &$get_new();
+ &$remap();
+ }
+ }
+}
+
+
+#- updates the fat for the resized filesystem
+sub update {
+ my ($fs) = @_;
+
+ for (my $cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
+ if (resize_fat::c_rewritten::flag($cluster)) {
+ my $old_next = &next($fs, $cluster);
+ my $new = resize_fat::c_rewritten::fat_remap($cluster);
+ my $new_next = resize_fat::c_rewritten::fat_remap($old_next);
+
+ set_available($fs, $cluster);
+
+ is_eof($old_next) ?
+ set_eof($fs, $new) :
+ set_next($fs, $new, $new_next);
+ }
+ }
+}
+
+
+sub endianness16($) { (($_[0] & 0xff) << 8) + ($_[0] >> 8) }
+sub endianness($$) {
+ my ($val, $nb_bits) = @_;
+ my $r = 0;
+ for (; $nb_bits > 0; $nb_bits -= 8) {
+ $r = $r << 8;
+ $r += $val & 0xff;
+ $val = $val >> 8;
+ }
+ $nb_bits < 0 and die "error: endianness only handle numbers divisible by 8";
+ $r;
+}
+
+
+
+sub get_free($) {
+ my ($fs) = @_;
+ for (my $i = 0; $i < $fs->{nb_clusters}; $i++) {
+ my $cluster = ($i + $fs->{last_free_cluster} - 2) % $fs->{nb_clusters} + 2;
+ is_available(&next($fs, $cluster)) and return $fs->{last_free_cluster} = $cluster;
+ }
+ die "no free clusters";
+}
+
+#- returns true if <cluster> represents an EOF marker
+sub is_eof($) {
+ my ($cluster) = @_;
+ $cluster >= $resize_fat::bad_cluster_value;
+}
+sub set_eof($$) {
+ my ($fs, $cluster) = @_;
+ set_next($fs, $cluster, $resize_fat::bad_cluster_value + 1);
+}
+
+#- returns true if <cluster> is empty. Note that this includes bad clusters.
+sub is_empty($) {
+ my ($cluster) = @_;
+ $cluster == 0 || $cluster == $resize_fat::bad_cluster_value;
+}
+
+#- returns true if <cluster> is available.
+sub is_available($) {
+ my ($cluster) = @_;
+ $cluster == 0;
+}
+sub set_available($$) {
+ my ($fs, $cluster) = @_;
+ set_next($fs, $cluster, 0);
+}
+
+1;
diff --git a/perl-install/resize_fat/info_sector.pm b/perl-install/resize_fat/info_sector.pm
new file mode 100644
index 000000000..274b4acb6
--- /dev/null
+++ b/perl-install/resize_fat/info_sector.pm
@@ -0,0 +1,37 @@
+package resize_fat::info_sector; # $Id: info_sector.pm 9557 2002-07-31 22:40:00Z prigaux $
+
+use diagnostics;
+use strict;
+
+use common;
+use resize_fat::io;
+
+#- Oops, this will be unresizable on big-endian machine. trapped by signature.
+my $format = "a484 I I I a16";
+my @fields = (
+ 'unused',
+ 'signature', #- should be 0x61417272
+ 'free_clusters', #- -1 for unknown
+ 'next_cluster', #- most recently allocated cluster
+ 'unused2',
+);
+
+1;
+
+
+sub read($) {
+ my ($fs) = @_;
+ my $info = resize_fat::io::read($fs, $fs->{info_offset}, psizeof($format));
+ @{$fs->{info_sector}}{@fields} = unpack $format, $info;
+ $fs->{info_sector}{signature} == 0x61417272 or die "Invalid information sector signature\n";
+}
+
+sub write($) {
+ my ($fs) = @_;
+ $fs->{info_sector}{free_clusters} = $fs->{clusters}{count}{free};
+ $fs->{info_sector}{next_cluster} = 2;
+
+ my $info = pack $format, @{$fs->{info_sector}}{@fields};
+
+ resize_fat::io::write($fs, $fs->{info_offset}, psizeof($format), $info);
+}
diff --git a/perl-install/resize_fat/io.pm b/perl-install/resize_fat/io.pm
new file mode 100644
index 000000000..eae0decff
--- /dev/null
+++ b/perl-install/resize_fat/io.pm
@@ -0,0 +1,58 @@
+package resize_fat::io; # $Id: io.pm 18950 2004-08-12 04:20:25Z prigaux $
+
+use diagnostics;
+use strict;
+
+use resize_fat::fat;
+use c;
+
+1;
+
+
+sub read($$$) {
+ my ($fs, $pos, $size) = @_;
+ my $buf = "\0" x $size;
+ sysseek $fs->{fd}, $pos, 0 or die "seeking to byte #$pos failed on device $fs->{fs_name}";
+ sysread $fs->{fd}, $buf, $size or die "reading at byte #$pos failed on device $fs->{fs_name}";
+ $buf;
+}
+sub write($$$$) {
+ my ($fs, $pos, $_size, $buf) = @_;
+ sysseek $fs->{fd}, $pos, 0 or die "seeking to byte #$pos failed on device $fs->{fs_name}";
+ syswrite $fs->{fd}, $buf or die "writing at byte #$pos failed on device $fs->{fs_name}";
+}
+
+sub read_cluster($$) {
+ my ($fs, $cluster) = @_;
+ my $buf;
+ my $pos = $fs->{cluster_offset} / 512 + $cluster * ($fs->{cluster_size} / 512);
+
+ c::lseek_sector(fileno $fs->{fd}, $pos, 0) or die "seeking to sector #$pos failed on device $fs->{fs_name}";
+ sysread $fs->{fd}, $buf, $fs->{cluster_size} or die "reading at sector #$pos failed on device $fs->{fs_name}";
+ $buf;
+}
+sub write_cluster($$$) {
+ my ($fs, $cluster, $buf) = @_;
+ my $pos = $fs->{cluster_offset} / 512 + $cluster * ($fs->{cluster_size} / 512);
+
+ c::lseek_sector(fileno $fs->{fd}, $pos, 0) or die "seeking to sector #$pos failed on device $fs->{fs_name}";
+ syswrite $fs->{fd}, $buf or die "writing at sector #$pos failed on device $fs->{fs_name}";
+}
+
+sub read_file($$) {
+ my ($fs, $cluster) = @_;
+ my $buf = '';
+
+ for (; !resize_fat::fat::is_eof($cluster); $cluster = resize_fat::fat::next($fs, $cluster)) {
+ $cluster == 0 and die "Bad FAT: unterminated chain\n";
+ $buf .= read_cluster($fs, $cluster);
+ }
+ $buf;
+}
+
+sub open {
+ my ($fs) = @_;
+
+ sysopen $fs->{fd}, $fs->{fs_name}, 2 or
+ sysopen $fs->{fd}, $fs->{fs_name}, 0 or die "error opening device $fs->{fs_name} for writing\n";
+}
diff --git a/perl-install/resize_fat/main.pm b/perl-install/resize_fat/main.pm
new file mode 100644
index 000000000..cbcbcd7aa
--- /dev/null
+++ b/perl-install/resize_fat/main.pm
@@ -0,0 +1,166 @@
+package resize_fat::main; # $Id: main.pm 22987 2005-06-10 07:52:38Z prigaux $
+
+# This is mainly a perl rewrite of the work of Andrew Clausen (libresize)
+
+use diagnostics;
+use strict;
+
+use log;
+use common;
+use resize_fat::boot_sector;
+use resize_fat::info_sector;
+use resize_fat::directory;
+use resize_fat::io;
+use resize_fat::fat;
+use resize_fat::any;
+
+
+1;
+
+#- - reads in the boot sector/partition info., and tries to make some sense of it
+sub new($$$) {
+ my ($type, $device, $fs_name) = @_;
+ my $fs = { device => $device, fs_name => $fs_name };
+
+ eval {
+ resize_fat::io::open($fs);
+ resize_fat::boot_sector::read($fs);
+ $resize_fat::isFAT32 and eval { resize_fat::info_sector::read($fs) };
+ resize_fat::fat::read($fs);
+ resize_fat::any::flag_clusters($fs);
+ };
+ if ($@) {
+ close $fs->{fd};
+ die;
+ }
+ bless $fs, $type;
+}
+
+sub DESTROY {
+ my ($fs) = @_;
+ close $fs->{fd};
+ resize_fat::c_rewritten::free_all();
+}
+
+#- copy all clusters >= <start_cluster> to a new place on the partition, less
+#- than <start_cluster>. Only copies files, not directories.
+#- (use of buffer needed because the seeks slow like hell the hard drive)
+sub copy_clusters {
+ my ($fs, $cluster) = @_;
+ my @buffer;
+ my $flush = sub {
+ while (@buffer) {
+ my $cluster = shift @buffer;
+ resize_fat::io::write_cluster($fs, $cluster, shift @buffer);
+ }
+ };
+ for (; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
+ resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::FILE or next;
+ push @buffer,
+ resize_fat::c_rewritten::fat_remap($cluster),
+ resize_fat::io::read_cluster($fs, $cluster);
+ @buffer > 50 and &$flush();
+ }
+ &$flush();
+}
+
+#- Constructs the new directory tree to match the new file locations.
+sub construct_dir_tree {
+ my ($fs) = @_;
+
+ if ($resize_fat::isFAT32) {
+ #- fat32's root must remain in the first 64k clusters
+ #- so do not set it as DIRECTORY, it will be specially handled
+ resize_fat::c_rewritten::set_flag($fs->{fat32_root_dir_cluster}, $resize_fat::any::FREE);
+ }
+
+ for (my $cluster = 2; $cluster < $fs->{nb_clusters} + 2; $cluster++) {
+ resize_fat::c_rewritten::flag($cluster) == $resize_fat::any::DIRECTORY or next;
+
+ resize_fat::io::write_cluster($fs,
+ resize_fat::c_rewritten::fat_remap($cluster),
+ resize_fat::directory::remap($fs, resize_fat::io::read_cluster($fs, $cluster)));
+ }
+
+ MDK::Common::System::sync();
+
+ #- until now, only free clusters have been written. it's a null operation if we stop here.
+ #- it means no corruption :)
+ #
+ #- now we must be as fast as possible!
+
+ #- remapping non movable root directory
+ if ($resize_fat::isFAT32) {
+ my $cluster = $fs->{fat32_root_dir_cluster};
+
+ resize_fat::io::write_cluster($fs,
+ resize_fat::c_rewritten::fat_remap($cluster),
+ resize_fat::directory::remap($fs, resize_fat::io::read_cluster($fs, $cluster)));
+ } else {
+ resize_fat::io::write($fs, $fs->{root_dir_offset}, $fs->{root_dir_size},
+ resize_fat::directory::remap($fs, resize_fat::io::read($fs, $fs->{root_dir_offset}, $fs->{root_dir_size})));
+ }
+}
+
+sub min_size($) { &resize_fat::any::min_size }
+sub max_size($) { &resize_fat::any::max_size }
+sub used_size($) { &resize_fat::any::used_size }
+
+#- resize
+#- - size is in sectors
+#- - checks boundaries before starting
+#- - copies all data beyond new_cluster_count behind the frontier
+sub resize {
+ my ($fs, $size) = @_;
+
+ my ($min, $max) = (min_size($fs), max_size($fs));
+
+ $size += $min if $size =~ /^\+/;
+
+ $size >= $min or die "Minimum filesystem size is $min sectors";
+ $size <= $max or die "Maximum filesystem size is $max sectors";
+
+ log::l("resize_fat: Partition size will be " . (($size * $SECTORSIZE) >> 20) . "Mb (well exactly ${size} sectors)");
+
+ my $new_data_size = $size * $SECTORSIZE - $fs->{cluster_offset};
+ my $new_nb_clusters = divide($new_data_size, $fs->{cluster_size});
+ my $used_size = used_size($fs);
+
+ log::l("resize_fat: Break point for moving files is " . (($used_size * $SECTORSIZE) >> 20) . " Mb ($used_size sectors)");
+ if ($size < $used_size) {
+ log::l("resize_fat: Allocating new clusters");
+ resize_fat::fat::allocate_remap($fs, $new_nb_clusters);
+
+ log::l("resize_fat: Copying files");
+ copy_clusters($fs, $new_nb_clusters);
+
+ log::l("resize_fat: Copying directories");
+ construct_dir_tree($fs);
+
+ log::l("Writing new FAT...");
+ resize_fat::fat::update($fs);
+ resize_fat::fat::write($fs);
+ } else {
+ log::l("resize_fat: Nothing need to be moved");
+ }
+
+ $fs->{nb_sectors} = $size;
+ $fs->{nb_clusters} = $new_nb_clusters;
+ $fs->{clusters}{count}{free} =
+ $fs->{nb_clusters} - $fs->{clusters}{count}{used} - $fs->{clusters}{count}{bad} - 2;
+
+ $fs->{system_id} = 'was here!';
+ $fs->{small_nb_sectors} = 0;
+ $fs->{big_nb_sectors} = $size;
+
+ log::l("resize_fat: Writing new boot sector...");
+
+ resize_fat::boot_sector::write($fs);
+
+ $resize_fat::isFAT32 and eval { resize_fat::info_sector::write($fs) }; #- does not matter if this fails - its pretty useless!
+
+ MDK::Common::System::sync();
+ close $fs->{fd};
+ log::l("resize_fat: done");
+}
+
diff --git a/perl-install/run_program.pm b/perl-install/run_program.pm
new file mode 100644
index 000000000..8d99f5451
--- /dev/null
+++ b/perl-install/run_program.pm
@@ -0,0 +1,171 @@
+package run_program; # $Id: run_program.pm 144815 2007-03-16 11:27:04Z tv $
+
+use diagnostics;
+use strict;
+use c;
+
+use MDK::Common;
+use log;
+
+1;
+
+sub run_or_die {
+ my ($name, @args) = @_;
+ run($name, @args) or die "$name failed\n";
+}
+sub rooted_or_die {
+ my ($root, $name, @args) = @_;
+ rooted($root, $name, @args) or die "$name failed\n";
+}
+
+sub get_stdout {
+ my ($name, @args) = @_;
+ my @r;
+ run($name, '>', \@r, @args) or return;
+ wantarray() ? @r : join('', @r);
+}
+sub rooted_get_stdout {
+ my ($root, $name, @args) = @_;
+ my @r;
+ rooted($root, $name, '>', \@r, @args) or return;
+ wantarray() ? @r : join('', @r);
+}
+
+sub run { raw({}, @_) }
+
+sub rooted {
+ my ($root, $name, @args) = @_;
+ raw({ root => $root }, $name, @args);
+}
+
+sub raw {
+ my ($options, $name, @args) = @_;
+ my $root = $options->{root} || '';
+ my $real_name = ref($name) ? $name->[0] : $name;
+
+ my ($stdout_raw, $stdout_mode, $stderr_raw, $stderr_mode);
+ ($stdout_mode, $stdout_raw, @args) = @args if $args[0] =~ /^>>?$/;
+ ($stderr_mode, $stderr_raw, @args) = @args if $args[0] =~ /^2>>?$/;
+
+ my $args = $options->{sensitive_arguments} ? '<hidden arguments>' : join(' ', @args);
+ log::explanations("running: $real_name $args" . ($root ? " with root $root" : ""));
+
+ return if $root && $<;
+
+ $root ? ($root .= '/') : ($root = '');
+
+ my $tmpdir = sub {
+ my $dir = $< != 0 ? "$ENV{HOME}/tmp" : -d '/root' ? '/root/tmp' : '/tmp';
+ -d $dir or mkdir($dir, 0700);
+ $dir;
+ };
+ my $stdout = $stdout_raw && (ref($stdout_raw) ? $tmpdir->() . "/.drakx-stdout.$$" : "$root$stdout_raw");
+ my $stderr = $stderr_raw && (ref($stderr_raw) ? $tmpdir->() . "/.drakx-stderr.$$" : "$root$stderr_raw");
+
+ #- checking if binary exist to avoid clobbering stdout file
+ my $rname = $real_name =~ /(.*?)[\s\|]/ ? $1 : $real_name;
+ if (! ($rname =~ m!^/!
+ ? -x "$root$rname" || $root && -l "$root$rname" #- handle non-relative symlink which can be broken when non-rooted
+ : whereis_binary($rname, $root))) {
+ log::l("program not found: $real_name");
+ return;
+ }
+
+ if (my $pid = fork()) {
+ if ($options->{detach}) {
+ $pid;
+ } else {
+ my $ok;
+ add2hash_($options, { timeout => 10 * 60 });
+ eval {
+ local $SIG{ALRM} = sub { die "ALARM" };
+ my $remaining = $options->{timeout} && $options->{timeout} ne 'never' && alarm($options->{timeout});
+ waitpid $pid, 0;
+ $ok = $? == -1 || ($? >> 8) == 0;
+ alarm $remaining;
+ };
+ if ($@) {
+ log::l("ERROR: killing runaway process (process=$real_name, pid=$pid, args=@args, error=$@)");
+ kill 9, $pid;
+ return;
+ }
+
+ if ($stdout_raw && ref($stdout_raw)) {
+ if (ref($stdout_raw) eq 'ARRAY') {
+ @$stdout_raw = cat_($stdout);
+ } else {
+ $$stdout_raw = cat_($stdout);
+ }
+ unlink $stdout;
+ }
+ if ($stderr_raw && ref($stderr_raw)) {
+ if (ref($stderr_raw) eq 'ARRAY') {
+ @$stderr_raw = cat_($stderr);
+ } else {
+ $$stderr_raw = cat_($stderr);
+ }
+ unlink $stderr;
+ }
+ $ok;
+ }
+ } else {
+ sub die_exit {
+ log::l($_[0]);
+ c::_exit(128);
+ }
+ if ($stderr && $stderr eq 'STDERR') {
+ } elsif ($stderr) {
+ $stderr_mode =~ s/2//;
+ open STDERR, "$stderr_mode $stderr" or die_exit("run_program can not output in $stderr (mode `$stderr_mode')");
+ } elsif ($::isInstall) {
+ open STDERR, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die_exit("run_program can not log, give me access to /tmp/ddebug.log");
+ }
+ if ($stdout && $stdout eq 'STDOUT') {
+ } elsif ($stdout) {
+ open STDOUT, "$stdout_mode $stdout" or die_exit("run_program can not output in $stdout (mode `$stdout_mode')");
+ } elsif ($::isInstall) {
+ open STDOUT, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die_exit("run_program can not log, give me access to /tmp/ddebug.log");
+ }
+
+ $root and chroot $root;
+ chdir($options->{chdir} || "/");
+
+ my $ok = ref $name ? do {
+ exec { $name->[0] } $name->[1], @args;
+ } : do {
+ exec $name, @args;
+ };
+ if (!$ok) {
+ die_exit("exec of $real_name failed: $!");
+ }
+ }
+
+}
+
+# run in background a sub that give back data through STDOUT a la run_program::get_stdout but w/ arbitrary perl code instead of external program
+package bg_command;
+
+sub new {
+ my ($class, $sub) = @_;
+ my $o = bless {}, $class;
+ if ($o->{pid} = open(my $fd, "-|")) {
+ $o->{fd} = $fd;
+ $o;
+ } else {
+ $sub->();
+ c::_exit(0);
+ }
+}
+
+sub DESTROY {
+ my ($o) = @_;
+ close $o->{fd} or warn "kid exited $?";
+ waitpid $o->{pid}, 0;
+}
+
+1;
+
+#- Local Variables:
+#- mode:cperl
+#- tab-width:8
+#- End:
diff --git a/perl-install/scanner.pm b/perl-install/scanner.pm
new file mode 100755
index 000000000..f8d42bbd3
--- /dev/null
+++ b/perl-install/scanner.pm
@@ -0,0 +1,627 @@
+package scanner;
+# scanner.pm $Id: scanner.pm 56317 2006-08-16 11:24:20Z tv $
+# Yves Duret <yduret at mandriva.com>
+# Till Kamppeter <till at mandriva.com>
+# Copyright (C) 2001-2004 Mandriva
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# pbs/TODO:
+# - scsi mis-configuration (should work better now)
+# - with 2 scanners same manufacturer -> will overwrite previous conf -> only 1 conf !! (should work now)
+# - lp: see printerdrake
+# - install: prefix --> done (partially)
+
+use common;
+use detect_devices;
+use log;
+use handle_configs;
+
+my $sanedir = "$::prefix/etc/sane.d";
+my $scannerDBdir = "$::prefix$ENV{SHARE_PATH}/ldetect-lst";
+our $scannerDB = readScannerDB("$scannerDBdir/ScannerDB");
+
+sub confScanner {
+ my ($model, $port, $vendor, $product, $firmware) = @_;
+ $port ||= "$::prefix/dev/scanner";
+ my $a = $scannerDB->{$model}{server};
+ #print "file:[$a]\t[$model]\t[$port]\n| ", (join "\n| ", @{$scannerDB->{$model}{lines}}),"\n";
+ my @driverconf = cat_("$sanedir/$a.conf");
+ my @configlines = @{$scannerDB->{$model}{lines}};
+ foreach my $line (@configlines) {
+ $line =~ s/\$DEVICE/$port/g if $port;
+ next if $line =~ /\$DEVICE/;
+ $line =~ s/\$VENDOR/$vendor/g if $vendor;
+ next if $line =~ /\$VENDOR/;
+ $line =~ s/\$PRODUCT/$product/g if $product;
+ next if $line =~ /\$PRODUCT/;
+ $line =~ s/\$FIRMWARE/$firmware/g if $firmware;
+ next if $line =~ /\$FIRMWARE/;
+ my $linetype;
+ if ($line =~ /^(\S*)LINE\s+(.*?)$/) {
+ $linetype = $1;
+ $line = $2;
+ }
+ next if !$line;
+ if (!$linetype ||
+ ($linetype eq "USB" && ($port =~ /usb/i || $vendor)) ||
+ ($linetype eq "PARPORT" && !$vendor &&
+ $port =~ /(parport|pt_drv|parallel)/i) ||
+ ($linetype eq "SCSI" && !$vendor &&
+ $port =~ m!(/sg|scsi|/scanner)!i)) {
+ handle_configs::set_directive(\@driverconf, $line, 1);
+ } elsif ($linetype eq "FIRMWARE" && $firmware) {
+ handle_configs::set_directive(\@driverconf, $line, 0);
+ }
+ }
+ output("$sanedir/$a.conf", @driverconf);
+ add2dll($a);
+}
+
+sub add2dll {
+ return if member($_[0], chomp_(cat_("$sanedir/dll.conf")));
+ my @dllconf = cat_("$sanedir/dll.conf");
+ handle_configs::add_directive(\@dllconf, $_[0]);
+ output("$sanedir/dll.conf", @dllconf);
+}
+
+sub setfirmware {
+ my ($backend, $firmwareline) = @_;
+ my @driverconf = cat_("$sanedir/$backend.conf");
+ handle_configs::set_directive(\@driverconf, $firmwareline, 0);
+ output("$sanedir/$backend.conf", @driverconf);
+}
+
+sub installfirmware {
+ # Install the firmware file in /usr/share/sane/firmware
+ my ($firmware, $backend) = @_;
+ return "" if !$firmware;
+ # Install firmware
+ run_program::rooted($::prefix, "mkdir", "-p",
+ "/usr/share/sane/firmware") || do {
+ $in->ask_warn(N("Error"),
+ N("Could not create directory /usr/share/sane/firmware!"));
+ return "";
+ };
+ # Link /usr/share/sane/firmware to /usr/share/sane/<backend name> as
+ # some backends ignore the supplied absolute path to the firmware file
+ # and always search their own directory
+ if ($backend) {
+ run_program::rooted($::prefix, "ln", "-sf",
+ "/usr/share/sane/firmware",
+ "/usr/share/sane/$backend") || do {
+ $in->ask_warn(N("Error"),
+ N("Could not create link /usr/share/sane/%s!", $backend));
+ return "";
+ };
+ }
+ run_program::rooted($::prefix, "cp", "-f", "$firmware",
+ "/usr/share/sane/firmware") || do {
+ $in->ask_warn(N("Error"),
+ N("Could not copy firmware file %s to /usr/share/sane/firmware!", $firmware));
+ return "";
+ };
+ $firmware =~ s!^(.*)(/[^/]+)$!/usr/share/sane/firmware$2!;
+ run_program::rooted($::prefix, "chmod", "644",
+ $firmware) || do {
+ $in->ask_warn(N("Error"),
+ N("Could not set permissions of firmware file %s!", $firmware));
+ return "";
+ };
+ return $firmware;
+}
+
+sub configured() {
+ my @res;
+ my $parportscannerfound = 0;
+ # Run "scanimage -L", to find the scanners which are already working
+ local *LIST;
+ open LIST, "LC_ALL=C scanimage -L |";
+ while (my $line = <LIST>) {
+ if ($line =~ /^\s*device\s*`([^`']+)'\s+is\s+a\s+(\S.*)$/) {
+ # Extract port and description
+ my $port = $1;
+ my $description = $2;
+ # Remove duplicate scanners appearing through saned and the
+ # "net" backend
+ next if $port =~ /^net:(localhost|127.0.0.1):/;
+ # Is the scanner hooked to a parallel or serial port?
+ if ($port =~ /(parport|pt_drv|parallel|ttys)/i) {
+ $parportscannerfound = 1;
+ }
+ # Determine which SANE backend the scanner in question uses
+ $port =~ /^([^:]+):/;
+ my $backend = $1;
+ # Does the scanner need a firmware file
+ my $firmwareline = firmwareline($backend);
+ # Store collected data
+ push @res, {
+ port => $port,
+ val => {
+ DESCRIPTION => $description,
+ ($backend ? (BACKEND => $backend) : ()),
+ ($firmwareline ?
+ (FIRMWARELINE => $firmwareline) : ()),
+ }
+ };
+ }
+ }
+ close LIST;
+ # We have a parallel port scanner, make it working for non-root users
+ nonroot_access_for_parport($parportscannerfound);
+ return @res;
+}
+
+sub nonroot_access_for_parport {
+
+ # This function configures a non-root access for parallel port
+ # scanners by running saned as root, exporting the scanner to
+ # localhost and letting the user's frontend use the "net" backend
+ # to access the scanner through the loopback network device.
+
+ # See also
+ # http://www.linuxprinting.org/download/digitalimage/Scanning-as-Normal-User-on-Wierd-Scanner-Mini-HOWTO.txt
+
+ # Desired state of this facility: 1: Enable, 0: Disable
+ my ($enable) = @_;
+ # Is saned running?
+ my $sanedrunning = services::starts_on_boot("saned");
+ # Is the "net" SANE backend active
+ my $netbackendactive = grep { /^\s*net\s*$/ }
+ cat_("/etc/sane.d/dll.conf");
+ # Set this to 1 to tell the caller that the list of locally available
+ # scanners has changed (Here if the SANE client configuration has
+ # changed)
+ my $changed = 0;
+ my $importschanged = 0;
+ if ($enable) {
+ # Enable non-root access
+
+ # Install/start saned
+ if (!$sanedrunning) {
+ # Make sure saned and xinetd is installed and
+ # running
+ if (!files_exist('/usr/sbin/xinetd',
+ '/usr/sbin/saned')) {
+ if (!$in->do_pkgs->install('xinetd', 'saned')) {
+ $in->ask_warn(N("Scannerdrake"),
+ N("Could not install the packages needed to share your scanner(s).") . " " .
+ N("Your scanner(s) will not be available for non-root users."));
+ }
+ return 0;
+ }
+ }
+
+ # Modify /etc/xinetd.d/saned to let saned run as root
+ my @sanedxinetdconf = cat_("/etc/xinetd.d/saned");
+ s/(user\s*=\s*).*$/$1root/ foreach @sanedxinetdconf;
+ s/(group\s*=\s*).*$/$1root/ foreach @sanedxinetdconf;
+ output("/etc/xinetd.d/saned", @sanedxinetdconf);
+
+ # Read list of hosts to where to export the local scanners
+ my @exports = cat_("/etc/sane.d/saned.conf");
+ # Read list of hosts from where to import scanners
+ my @imports = cat_("/etc/sane.d/net.conf");
+ # Add "localhost" to the machines which saned exports
+ handle_configs::set_directive(\@exports, "localhost")
+ if !member("localhost\n", @exports);
+ # Add "localhost" to the machines which "net" imports
+ handle_configs::set_directive(\@imports, "localhost")
+ if !member("localhost\n", @imports);
+ # Write /etc/sane.d/saned.conf
+ output("/etc/sane.d/saned.conf", @exports);
+ # Write /etc/sane.d/net.conf
+ output("/etc/sane.d/net.conf", @imports);
+
+ # Make sure that the "net" backend is active
+ scanner::add2dll("net");
+
+ # (Re)start saned and make sure that it gets started on
+ # every boot
+ services::start_service_on_boot("saned");
+ services::start_service_on_boot("xinetd");
+ services::restart("xinetd");
+
+ } else {
+ # Disable non-root access
+
+ if (-r "/etc/xinetd.d/saned") {
+ # Modify /etc/xinetd.d/saned to let saned run as saned
+ my @sanedxinetdconf = cat_("/etc/xinetd.d/saned");
+ s/(user\s*=\s*).*$/$1saned/ foreach @sanedxinetdconf;
+ s/(group\s*=\s*).*$/$1saned/ foreach @sanedxinetdconf;
+ output("/etc/xinetd.d/saned", @sanedxinetdconf);
+ # Restart xinetd
+ services::restart("xinetd") if $sanedrunning;
+ }
+ }
+
+ return 1;
+}
+
+sub detect {
+ my @configured = @_;
+ my @res;
+ # Run "sane-find-scanner", this also detects USB scanners which only
+ # work with libusb.
+
+ my @devices = detect_devices::probeall();
+
+ local *DETECT;
+ open DETECT, "LC_ALL=C sane-find-scanner -q |";
+ while (my $line = <DETECT>) {
+ my ($vendorid, $productid, $make, $model, $description, $port, $driver);
+ if ($line =~ /^\s*found\s+USB\s+scanner/i) {
+ # Found an USB scanner
+ if ($line =~ /vendor=(0x[0-9a-f]+)[^0-9a-f\[]+[^\[]*\[([^\[\]]+)\].*prod(|uct)=(0x[0-9a-f]+)[^0-9a-f\[]+[^\[]*\[([^\[\]]+)\]/) {
+ # Scanner connected via libusb
+ $vendorid = $1;
+ $make = $2;
+ $productid = $4;
+ $model = $5;
+ $description = "$make|$model";
+ } elsif ($line =~ /vendor=(0x[0-9a-f]+)[^0-9a-f]+.*prod(|uct)=(0x[0-9a-f]+)[^0-9a-f]+/) {
+ # Scanner connected via scanner.o kernel module
+ $vendorid = $1;
+ $productid = $3;
+ }
+ if ($vendorid && $productid) {
+ my ($vendor) = ($vendorid =~ /0x([0-9a-f]+)/);
+ my ($id) = ($productid =~ /0x([0-9a-f]+)/);
+ my ($device) = grep { sprintf("%04x", $_->{vendor}) eq $vendor && sprintf("%04x", $_->{id}) eq $id } @devices;
+
+ if ($device) {
+ $driver = $device->{driver};
+ } else {
+ #warn "Failed to lookup $vendorid and $productid!\n";
+ }
+
+ # We have vendor and product ID, look up the scanner in
+ # the usbtable
+ foreach my $entry (cat_("$scannerDBdir/usbtable")) {
+ if ($entry =~
+ /^\s*$vendorid\s+$productid\s+.*\"([^\"]+)\"\s*$/) {
+ $description = $1;
+ $description =~ s/Seiko\s+Epson/Epson/i;
+ if ($description =~ /^([^\|]+)\|(.*)$/) {
+ $make = $1;
+ $model = $2;
+ }
+ last;
+ }
+ }
+ }
+ } elsif ($line =~ /^\s*found\s+SCSI/i) {
+ # SCSI scanner
+ if ($line =~ /\"([^\"\s]+)\s+([^\"]+?)\s+([^\"\s]+)\"/) {
+ $make = $1;
+ $model = $2;
+ $description = "$make|$model";
+ }
+ } else {
+ # Comment line in output of "sane-find-scanner"
+ next;
+ }
+ # The Alcatel Speed Touch internet scanner is not supported by
+ # SANE
+ next if $description =~ /Alcatel.*Speed.*Touch|Camera|ISDN|ADSL/i;
+ # Extract port
+ $port = $1 if $line =~ /\s+(\S+)\s*$/;
+ # Check for duplicate (scanner.o/libusb)
+ if ($port =~ /^libusb/) {
+ my $duplicate = 0;
+ foreach (@res) {
+ if ($_->{val}{vendor} eq $vendorid &&
+ $_->{val}{id} eq $productid &&
+ $_->{port} =~ /dev.*usb.*scanner/ &&
+ !defined($_->{port2})) {
+ # Duplicate entry found, merge the entries
+ $_->{port2} = $port;
+ $_->{val}{MANUFACTURER} ||= $make;
+ $_->{val}{MODEL} ||= $model;
+ $_->{val}{DESCRIPTION} ||= $description;
+ $duplicate = 1;
+ last;
+ }
+ }
+ next if $duplicate;
+ }
+ # Store collected data
+ push @res, {
+ port => $port,
+ val => {
+ CLASS => 'SCANNER',
+ MODEL => $model,
+ MANUFACTURER => $make,
+ DESCRIPTION => $description,
+ id => $productid,
+ vendor => $vendorid,
+ driver => $driver,
+ }
+ };
+ }
+ close DETECT;
+ if (@configured) {
+ # Remove scanners which are already working
+ foreach my $d (@res) {
+ my $searchport1 =
+ handle_configs::searchstr(resolve_symlinks($d->{port}));
+ my $searchport2 =
+ handle_configs::searchstr(resolve_symlinks($d->{port2}));
+ foreach my $c (@configured) {
+ my $currentport = resolve_symlinks($c->{port});
+ if ($currentport =~ /$searchport1$/ ||
+ $searchport2 && $currentport =~ /$searchport2$/) {
+ $d->{configured} = 1;
+ last;
+ }
+ }
+ }
+ @res = grep { ! $_->{configured} } @res;
+ }
+ # blacklist device that have a driver b/c of buggy sane-find-scanner:
+ return grep { member($_->{val}{driver}, qw(scanner unknown)) } @res;
+}
+
+sub resolve_symlinks {
+
+ # Check if a given file (either the pure filename or in a SANE device
+ # string as "<prefix>:<file>") is a symlink, if so expand the link.
+ # If the new file name is a link, expand again, until finding the
+ # physical file.
+ my ($file) = @_;
+ my $prefix = "";
+ if ($file =~ m!^([^/]*)(/.*)$!) {
+ $prefix = $1;
+ $file = $2;
+ } else {
+ return $file;
+ }
+ while (1) {
+ my $ls = `ls -l $file 2> /dev/null`;
+ if ($ls =~ m!\s($file)\s*\->\s*(\S+)\s*$!) {
+ my $target = $2;
+ if ($target !~ m!^/! && $file =~ m!^(.*)/[^/]+$!) {
+ $target = "$1/$target";
+ }
+ $file = $target;
+ } else {
+ last;
+ }
+ }
+ return $prefix . $file;
+}
+
+sub get_usb_ids_for_port {
+ my ($port) = @_;
+ local *DETECT;
+ if ($port =~ /^\s*libusb:(\d+):(\d+)\s*$/) {
+ # Use "lsusb" to find the USB IDs
+ open DETECT, "LC_ALL=C lsusb -s $1:$2 |";
+ while (my $line = <DETECT>) {
+ if ($line =~ /ID\s+([0-9a-f]+):(0x[0-9a-f]+)($|\s+)/) {
+ # Scanner connected via scanner.o kernel module
+ return "0x$1", "0x$2";
+ last;
+ }
+ }
+ } else {
+ # Run "sane-find-scanner" on the port
+ open DETECT, "LC_ALL=C sane-find-scanner -q $port |";
+ while (my $line = <DETECT>) {
+ if ($line =~ /^\s*found\s+USB\s+scanner/i) {
+ if ($line =~ /vendor=(0x[0-9a-f]+)[^0-9a-f]+.*prod(|uct)=(0x[0-9a-f]+)[^0-9a-f]+/) {
+ # Scanner connected via scanner.o kernel module
+ return $1, $3;
+ }
+ }
+ }
+ }
+}
+
+sub readconfiglinetemplates {
+ # Read templates for configuration file lines
+ my %configlines;
+ my $backend;
+ foreach my $line (cat_("$scannerDBdir/scannerconfigs")) {
+ chomp $line;
+ if ($line =~ /^\s*SERVER\s+(\S+)\s*$/) {
+ $backend = $1;
+ } elsif ($backend) {
+ push @{$configlines{$backend}}, $line;
+ }
+ }
+ return \%configlines;
+}
+
+sub firmwareline {
+ # Determine whether the given SANE backend supports a firmware file
+ # and return the line needed in the config file
+ my ($backend) = @_;
+ # Read templates for configuration file lines
+ my %configlines = %{readconfiglinetemplates()};
+ # Does the backend support a line for the firmware?
+ my @firmwarelines = (grep { s/^FIRMWARELINE // } @{$configlines{$backend}});
+ return join("\n", @firmwarelines);
+}
+
+sub readScannerDB {
+ my ($file) = @_;
+ my ($card, %cards);
+
+ my $F = common::openFileMaybeCompressed($file);
+
+ my ($lineno, $cmd, $val) = 0;
+ my $fs = {
+ LINE => sub { push @{$card->{lines}}, "LINE $val" },
+ SCSILINE => sub { push @{$card->{lines}}, "SCSILINE $val" },
+ USBLINE => sub { push @{$card->{lines}}, "USBLINE $val" },
+ PARPORTLINE => sub { push @{$card->{lines}}, "PARPORTLINE $val" },
+ FIRMWARELINE => sub { push @{$card->{lines}}, "FIRMWARELINE $val" },
+ NAME => sub {
+ #$cards{$card->{type}} = $card if ($card and !$card->{flags}{unsupported});
+ $cards{$card->{type}} = $card if $card;
+ $val =~ s/Seiko\s+Epson/Epson/i;
+ $card = { type => $val };
+ },
+ SEE => sub {
+ $val =~ s/Seiko\s+Epson/Epson/i;
+ my $c = $cards{$val} or die "Error in database, invalid reference $val at line $lineno";
+
+ push @{$card->{lines}}, @{$c->{lines} || []};
+ add2hash($card->{flags}, $c->{flags});
+ add2hash($card, $c);
+ },
+ ASK => sub { $card->{ask} = $val },
+ SERVER => sub { $card->{server} = $val },
+ DRIVER => sub { $card->{driver} = $val },
+ KERNEL => sub { push(@{$card->{kernel}}, $val) },
+ SCSIKERNEL => sub { push(@{$card->{scsikernel}}, $val) },
+ USBKERNEL => sub { push(@{$card->{usbkernel}}, $val) },
+ PARPORTKERNEL => sub { push(@{$card->{parportkernel}}, $val) },
+ UNSUPPORTED => sub { $card->{flags}{unsupported} = 1 },
+ MANUAL => sub { $card->{flags}{manual} = 1 },
+ MANUALREQUIRED => sub { $card->{flags}{manual} = 2 },
+ COMMENT => sub {},
+ };
+
+ local $_;
+ while (<$F>) { $lineno++;
+ s/\s+$//;
+ /^#/ and next;
+ /^$/ and next;
+ /^END/ and do { $cards{$card->{type}} = $card if $card; last };
+ ($cmd, $val) = /(\S+)\s*(.*)/ or next; #log::l("bad line $lineno ($_)"), next;
+ my $f = $fs->{$cmd};
+ $f ? $f->() : log::l("unknown line $lineno ($_)");
+ }
+ \%cards;
+}
+
+sub updateScannerDBfromUsbtable() {
+ substInFile { s/^END// } "ScannerDB";
+ my $to_add = "# generated from usbtable by scannerdrake\n";
+ foreach (cat_("$ENV{SHARE_PATH}/ldetect-lst/usbtable")) {
+ my ($vendor_id, $product_id, $mod, $name) = chomp_(split /\s/,$_,4);
+ next if $mod ne '"scanner"';
+ $name =~ s/\"(.*)\"$/$1/;
+ if (member($name, keys %$scanner::scannerDB)) {
+ print "#[$name] already in ScannerDB!\n";
+ next;
+ }
+ $to_add .= "NAME $name\nDRIVER USB\nCOMMENT usb $vendor_id $product_id\nUNSUPPORTED\n\n";
+ }
+ $to_add .= "END\n";
+
+ append_to_file("ScannerDB", $to_add);
+}
+
+sub updateScannerDBfromSane {
+ my ($sanesrcdir) = @_;
+ substInFile { s/^END// } "ScannerDB";
+
+ my $to_add = "# generated from Sane by scannerdrake\n";
+ # for compat with our usbtable
+ my $sane2DB = {
+ "Acer" => "Acer Peripherals Inc.",
+ "AGFA" => "AGFA-Gevaert NV",
+ "Agfa" => "AGFA-Gevaert NV",
+ "Epson" => "Epson Corp.",
+ "Fujitsu Computer Products of America" => "Fujitsu",
+ "HP" => sub { $_[0] =~ s/HP\s/Hewlett-Packard|/; $_[0] =~ s/HP4200/Hewlett-Packard|ScanJet 4200C/; $_[0] },
+ "Hewlett-Packard" => sub { $_[0] =~ s/HP 3200 C/Hewlett-Packard|ScanJet 3200C/ or $_[0] = "Hewlett-Packard|$_[0]"; $_[0] },
+ "Hewlett Packard" => "Hewlett-Packard",
+ "Kodak" => "Kodak Co.",
+ "Mustek" => "Mustek Systems Inc.",
+ "NEC" => "NEC Systems",
+ "Nikon" => "Nikon Corp.",
+ "Plustek" => "Plustek, Inc.",
+ "Primax" => "Primax Electronics",
+ "Siemens" => "Siemens Information and Communication Products",
+ "Trust" => "Trust Technologies",
+ "UMAX" => "Umax",
+ "Vobis/Highscreen" => "Vobis",
+ };
+
+ # Read templates for configuration file lines
+ my %configlines = %{readconfiglinetemplates()};
+
+ foreach my $ff (glob_("$sanesrcdir/doc/descriptions/*.desc"), glob_("$sanesrcdir/doc/descriptions-external/*.desc"), "UNSUPPORTED") {
+ my $f = $ff;
+ # unsupported.desc must be treated separately, as the list of
+ # unsupported scanners in SANE is out of date.
+ next if $f =~ /unsupported.desc$/;
+ # Treat unsupported.desc in the end
+ $f = "$sanesrcdir/doc/descriptions/unsupported.desc" if
+ ($f eq "UNSUPPORTED");
+ my $F = common::openFileMaybeCompressed($f);
+ $to_add .= "\n# from $f";
+ my ($lineno, $cmd, $val) = 0;
+ my ($name, $intf, $comment, $mfg, $backend);
+ my $fs = {
+ backend => sub { $backend = $val },
+ mfg => sub { $mfg = $val; $name = undef },#bug when a new mfg comes. should called $fs->{ $name }(); but ??
+ model => sub {
+ unless ($name) { $name = $val; return }
+ $name = member($mfg, keys %$sane2DB) ?
+ ref($sane2DB->{$mfg}) ? $sane2DB->{$mfg}($name) : "$sane2DB->{ $mfg }|$name" : "$mfg|$name";
+ # When adding the unsupported scanner models, check
+ # whether the model is not already supported. To
+ # compare the names ignore upper/lower case.
+ my $searchname = quotemeta($name);
+ if (($backend =~ /unsupported/i) &&
+ ($to_add =~ /^NAME $searchname$/im)) {
+ $to_add .= "# $name already supported!\n";
+ } else {
+ # SANE bug: "snapscan" calls itself "SnapScan"
+ $backend =~ s/SnapScan/snapscan/g;
+ $to_add .= "\nNAME $name\nSERVER $backend\nDRIVER $intf\n";
+ # Go through the configuration lines of
+ # this backend and add what is needed for the
+ # interfaces of this scanner
+ foreach my $line (@{$configlines{$backend}}) {
+ my $i = $1 if $line =~ /^\s*(\S*?)LINE/;
+ if (!$i || $i eq "FIRMWARE" ||
+ $intf =~ /$i/i) {
+ $to_add .= "$line\n";
+ }
+ }
+ if ($backend =~
+ /(unsupported|mustek_pp|gphoto2)/i) {
+ $to_add .= "UNSUPPORTED\n";
+ }
+ $to_add .= "COMMENT $comment\n" if $comment;
+ $comment = undef;
+ }
+ $name = $val;
+ },
+ interface => sub { $intf = $val },
+ comment => sub { $comment = $val },
+ };
+ local $_;
+ while (<$F>) { $lineno++;
+ s/\s+$//;
+ /^;/ and next;
+ ($cmd, $val) = /:(\S+)\s*\"([^;]*)\"/ or next; #log::l("bad line $lineno ($_)"), next;
+ my $f = $fs->{$cmd};
+ $f ? $f->() : log::l("unknown line $lineno ($_)");
+ }
+ $fs->{model}(); # the last one
+ }
+ $to_add .= "\nEND\n";
+ append_to_file("ScannerDB", $to_add);
+}
+
+1; #
diff --git a/perl-install/security/help.pm b/perl-install/security/help.pm
new file mode 100644
index 000000000..c69f26c95
--- /dev/null
+++ b/perl-install/security/help.pm
@@ -0,0 +1,139 @@
+package security::help;
+# This help was forked from msec internal function descriptions
+# They were then reworked in order to be targeted for end users, not msec developpers
+
+
+use strict;
+use common;
+
+our %help = (
+
+'accept_bogus_error_responses' => N("Accept/Refuse bogus IPv4 error messages."),
+
+'accept_broadcasted_icmp_echo' => N("Accept/Refuse broadcasted icmp echo."),
+
+'accept_icmp_echo' => N("Accept/Refuse icmp echo."),
+
+'allow_autologin' => N("Allow/Forbid autologin."),
+
+'allow_issues' =>
+ #-PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+ N("If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.
+
+If set to NONE, no issues are allowed.
+
+Else only /etc/issue is allowed."),
+
+'allow_reboot' => N("Allow/Forbid reboot by the console user."),
+
+'allow_remote_root_login' => N("Allow/Forbid remote root login."),
+
+'allow_root_login' => N("Allow/Forbid direct root login."),
+
+'allow_user_list' => N("Allow/Forbid the list of users on the system on display managers (kdm and gdm)."),
+
+'allow_xauth_from_root' => N("Allow/forbid to export display when
+passing from the root account to the other users.
+
+See pam_xauth(8) for more details.'"),
+
+'allow_x_connections' => N("Allow/Forbid X connections:
+
+- ALL (all connections are allowed),
+
+- LOCAL (only connection from local machine),
+
+- NONE (no connection)."),
+
+'allow_xserver_to_listen' => N("The argument specifies if clients are authorized to connect
+to the X server from the network on the tcp port 6000 or not."),
+
+'authorize_services' =>
+ #-PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+ N("Authorize:
+
+- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if set to \"ALL\",
+
+- only local ones if set to \"LOCAL\"
+
+- none if set to \"NONE\".
+
+To authorize the services you need, use /etc/hosts.allow (see hosts.allow(5))."),
+
+'create_server_link' => N("If SERVER_LEVEL (or SECURE_LEVEL if absent)
+is greater than 3 in /etc/security/msec/security.conf, creates the
+symlink /etc/security/msec/server to point to
+/etc/security/msec/server.<SERVER_LEVEL>.
+
+The /etc/security/msec/server is used by chkconfig --add to decide to
+add a service if it is present in the file during the installation of
+packages."),
+
+'enable_at_crontab' => N("Enable/Disable crontab and at for users.
+
+Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)
+and crontab(1))."),
+
+'enable_console_log' => N("Enable/Disable syslog reports to console 12"),
+
+'enable_dns_spoofing_protection' => N("Enable/Disable name resolution spoofing protection. If
+\"%s\" is true, also reports to syslog.", N("Security Alerts:")),
+
+'enable_ip_spoofing_protection' => N("Enable/Disable IP spoofing protection."),
+
+'enable_libsafe' => N("Enable/Disable libsafe if libsafe is found on the system."),
+
+'enable_log_strange_packets' => N("Enable/Disable the logging of IPv4 strange packets."),
+
+'enable_msec_cron' => N("Enable/Disable msec hourly security check."),
+
+'enable_pam_wheel_for_su' => N("Enable su only from members of the wheel group. If set to no, allows su from any user."),
+
+'enable_password' => N("Use password to authenticate users."),
+
+'enable_promisc_check' => N("Activate/Disable ethernet cards promiscuity check."),
+
+'enable_security_check' => N("Activate/Disable daily security check."),
+
+'enable_sulogin' => N("Enable/Disable sulogin(8) in single user level."),
+
+'no_password_aging_for' => N("Add the name as an exception to the handling of password aging by msec."),
+
+'password_aging' => N("Set password aging to \"max\" days and delay to change to \"inactive\"."),
+
+'password_history' => N("Set the password history length to prevent password reuse."),
+
+'password_length' => N("Set the password minimum length and minimum number of digit and minimum number of capitalized letters."),
+
+'set_root_umask' => N("Set the root umask."),
+CHECK_OPEN_PORT => N("if set to yes, check open ports."),
+CHECK_PASSWD => N("if set to yes, check for:
+
+- empty passwords,
+
+- no password in /etc/shadow
+
+- for users with the 0 id other than root."),
+CHECK_PERMS => N("if set to yes, check permissions of files in the users' home."),
+CHECK_PROMISC => N("if set to yes, check if the network devices are in promiscuous mode."),
+CHECK_SECURITY => N("if set to yes, run the daily security checks."),
+CHECK_SGID => N("if set to yes, check additions/removals of sgid files."),
+CHECK_SHADOW => N("if set to yes, check empty password in /etc/shadow."),
+CHECK_SUID_MD5 => N("if set to yes, verify checksum of the suid/sgid files."),
+CHECK_SUID_ROOT => N("if set to yes, check additions/removals of suid root files."),
+CHECK_UNOWNED => N("if set to yes, report unowned files."),
+CHECK_WRITABLE => N("if set to yes, check files/directories writable by everybody."),
+CHKROOTKIT_CHECK => N("if set to yes, run chkrootkit checks."),
+MAIL_USER => N("if set, send the mail report to this email address else send it to root."),
+MAIL_WARN => N("if set to yes, report check result by mail."),
+MAIL_EMPTY_CONTENT => N("Do not send mails if there's nothing to warn about"),
+RPM_CHECK => N("if set to yes, run some checks against the rpm database."),
+SYSLOG_WARN => N("if set to yes, report check result to syslog."),
+TTY_WARN => N("if set to yes, reports check result to tty."),
+
+'set_shell_history_size' => N("Set shell commands history size. A value of -1 means unlimited."),
+
+'set_shell_timeout' => N("Set the shell timeout. A value of zero means no timeout.") . "\n\n" . N("Timeout unit is second"),
+
+'set_user_umask' => N("Set the user umask."),
+);
diff --git a/perl-install/security/l10n.pm b/perl-install/security/l10n.pm
new file mode 100644
index 000000000..355f1fff1
--- /dev/null
+++ b/perl-install/security/l10n.pm
@@ -0,0 +1,66 @@
+package security::l10n;
+# This help was build from stripped from python description of msec functions
+# soft/msec/share/libmsec.py
+#
+# It's used in draksec option labels
+
+use common;
+
+sub fields() {
+ return (
+ 'accept_bogus_error_responses' => N("Accept bogus IPv4 error messages"),
+ 'accept_broadcasted_icmp_echo' => N("Accept broadcasted icmp echo"),
+ 'accept_icmp_echo' => N("Accept icmp echo"),
+ 'allow_autologin' => N("Autologin"),
+ 'allow_issues' => N("/etc/issue* exist"),
+ 'allow_reboot' => N("Reboot by the console user"),
+ 'allow_remote_root_login' => N("Allow remote root login"),
+ 'allow_root_login' => N("Direct root login"),
+ 'allow_user_list' => N("List users on display managers (kdm and gdm)"),
+ 'allow_xauth_from_root' => N("Export display when passing from root to the other users"),
+ 'allow_x_connections' => N("Allow X Window connections"),
+ 'allow_xserver_to_listen' => N("Authorize TCP connections to X Window"),
+ 'authorize_services' => N("Authorize all services controlled by tcp_wrappers"),
+ 'create_server_link' => N("Chkconfig obey msec rules"),
+ 'enable_at_crontab' => N("Enable \"crontab\" and \"at\" for users"),
+ 'enable_console_log' => N("Syslog reports to console 12"),
+ 'enable_dns_spoofing_protection' => N("Name resolution spoofing protection"),
+ 'enable_ip_spoofing_protection' => N("Enable IP spoofing protection"),
+ 'enable_libsafe' => N("Enable libsafe if libsafe is found on the system"),
+ 'enable_log_strange_packets' => N("Enable the logging of IPv4 strange packets"),
+ 'enable_msec_cron' => N("Enable msec hourly security check"),
+ 'enable_pam_wheel_for_su' => N("Enable su only from the wheel group members"),
+ 'enable_password' => N("Use password to authenticate users"),
+ 'enable_promisc_check' => N("Ethernet cards promiscuity check"),
+ 'enable_security_check' => N("Daily security check"),
+ 'enable_sulogin' => N("Sulogin(8) in single user level"),
+ 'no_password_aging_for' => N("No password aging for"),
+ 'password_aging' => N("Set password expiration and account inactivation delays"),
+ 'password_history' => N("Password history length"),
+ 'password_length' => N("Password minimum length and number of digits and upcase letters"),
+ 'set_root_umask' => N("Root umask"),
+ 'set_shell_history_size' => N("Shell history size"),
+ 'set_shell_timeout' => N("Shell timeout"),
+ 'set_user_umask' => N("User umask"),
+ CHECK_OPEN_PORT => N("Check open ports"),
+ CHECK_PASSWD => N("Check for unsecured accounts"),
+ CHECK_PERMS => N("Check permissions of files in the users' home"),
+ CHECK_PROMISC => N("Check if the network devices are in promiscuous mode"),
+ CHECK_SECURITY => N("Run the daily security checks"),
+ CHECK_SGID => N("Check additions/removals of sgid files"),
+ CHECK_SHADOW => N("Check empty password in /etc/shadow"),
+ CHECK_SUID_MD5 => N("Verify checksum of the suid/sgid files"),
+ CHECK_SUID_ROOT => N("Check additions/removals of suid root files"),
+ CHECK_UNOWNED => N("Report unowned files"),
+ CHECK_WRITABLE => N("Check files/directories writable by everybody"),
+ CHKROOTKIT_CHECK => N("Run chkrootkit checks"),
+ MAIL_EMPTY_CONTENT => N("Do not send empty mail reports"),
+ MAIL_USER => N("If set, send the mail report to this email address else send it to root"),
+ MAIL_WARN => N("Report check result by mail"),
+ RPM_CHECK => N("Run some checks against the rpm database"),
+ SYSLOG_WARN => N("Report check result to syslog"),
+ TTY_WARN => N("Reports check result to tty"),
+ );
+}
+
+1;
diff --git a/perl-install/security/level.pm b/perl-install/security/level.pm
new file mode 100644
index 000000000..0c05eb1e4
--- /dev/null
+++ b/perl-install/security/level.pm
@@ -0,0 +1,71 @@
+package security::level;
+
+use strict;
+use common;
+use run_program;
+
+
+sub level_list() {
+ (
+ 0 => N("Welcome To Crackers"),
+ 1 => N("Poor"),
+ 2 => N("Standard"),
+ 3 => N("High"),
+ 4 => N("Higher"),
+ 5 => N("Paranoid"),
+ );
+}
+
+sub to_string { +{ level_list() }->{$_[0]} }
+sub from_string { +{ reverse level_list() }->{$_[0]} || 2 }
+
+sub get_string() { to_string(get() || 2) }
+sub get_common_list() { map { to_string($_) } (1, 2, 3, 4, 5) }
+
+sub get() {
+ cat_("$::prefix/etc/profile") =~ /export SECURE_LEVEL=(\d+)/ && $1 || #- 8.0 msec
+ cat_("$::prefix/etc/profile.d/msec.sh") =~ /export SECURE_LEVEL=(\d+)/ && $1 || #- 8.1 msec
+ ${{ getVarsFromSh("$::prefix/etc/sysconfig/msec") }}{SECURE_LEVEL} || #- 8.2 msec
+ $ENV{SECURE_LEVEL} || 3;
+}
+
+sub set {
+ my ($security) = @_;
+ run_program::rooted($::prefix, 'msec', '-o', 'run_commands=0', '-o', 'log=stderr', $security || 3);
+}
+
+sub level_choose {
+ my ($in, $security, $libsafe, $email) = @_;
+
+ my %help = (
+ 0 => N("This level is to be used with care. It makes your system more easy to use,
+but very sensitive. It must not be used for a machine connected to others
+or to the Internet. There is no password access."),
+ 1 => N("Passwords are now enabled, but use as a networked computer is still not recommended."),
+ 2 => N("This is the standard security recommended for a computer that will be used to connect to the Internet as a client."),
+ 3 => N("There are already some restrictions, and more automatic checks are run every night."),
+ 4 => N("With this security level, the use of this system as a server becomes possible.
+The security is now high enough to use the system as a server which can accept
+connections from many clients. Note: if your machine is only a client on the Internet, you should choose a lower level."),
+ 5 => N("This is similar to the previous level, but the system is entirely closed and security features are at their maximum."),
+ );
+
+ my @l = 2 .. 5;
+
+ $in->ask_from_({ title => $::isInstall ? N("Security") : N("DrakSec Basic Options"),
+ icon => 'banner-security',
+ messages => N("Please choose the desired security level") . "\n\n" .
+ join('', map { to_string($_) . ": " . formatAlaTeX($help{$_}) . "\n\n" } @l),
+ interactive_help_id => 'miscellaneous',
+ }, [
+ { label => N("Security level"), val => $security, list => \@l, format => \&to_string },
+ if_($in->do_pkgs->is_installed('libsafe') && arch() =~ /^i.86/,
+ { label => N("Use libsafe for servers"), val => $libsafe, type => 'bool', text =>
+ N("A library which defends against buffer overflow and format string attacks.") }),
+ { label => N("Security Administrator (login or email)"), val => $email, },
+ ],
+ );
+}
+
+
+1;
diff --git a/perl-install/security/msec.pm b/perl-install/security/msec.pm
new file mode 100644
index 000000000..4258653ef
--- /dev/null
+++ b/perl-install/security/msec.pm
@@ -0,0 +1,187 @@
+package security::msec;
+
+use strict;
+use MDK::Common;
+
+
+#-------------------------------------------------------------
+# msec options managment methods
+
+
+#-------------------------------------------------------------
+# option defaults
+
+sub load_defaults {
+ my ($msec, $category) = @_;
+ my $separator = $msec->{$category}{def_separator};
+ map {
+ my ($opt, $val) = split(/$separator/, $_, 2);
+ chop $val;
+ if_($opt ne 'set_security_conf', $opt => $val);
+ } cat_($msec->{$category}{defaults_file}), if_($category eq "checks", 'MAIL_USER');
+}
+
+
+# get_XXX_default(function) -
+# return the default of the function|check passed in argument.
+
+sub get_check_default {
+ my ($msec, $check) = @_;
+ $msec->{checks}{default}{$check};
+}
+
+sub get_function_default {
+ my ($msec, $function) = @_;
+ $msec->{functions}{default}{$function};
+}
+
+
+
+#-------------------------------------------------------------
+# option values
+
+sub load_values {
+ my ($msec, $category) = @_;
+ my $separator = $msec->{$category}{val_separator};
+ map {
+ my ($opt, $val) = split /$separator/;
+ chop $val;
+ $val =~ s/[()]//g;
+ chop $opt if $separator eq '\('; # $opt =~ s/ //g if $separator eq '\(';
+ if_(defined($val), $opt => $val);
+ } cat_($msec->{$category}{values_file});
+}
+
+
+# get_XXX_value(check|function) -
+# return the value of the function|check passed in argument.
+# If no value is set, return "default".
+
+sub get_function_value {
+ my ($msec, $function) = @_;
+ exists $msec->{functions}{value}{$function} ? $msec->{functions}{value}{$function} : "default";
+}
+
+sub get_check_value {
+ my ($msec, $check) = @_;
+ $msec->{checks}{value}{$check} || "default";
+}
+
+
+
+#-------------------------------------------------------------
+# get list of check|functions
+
+# list_(functions|checks) -
+# return a list of functions|checks handled by level.local|security.conf
+
+sub raw_checks_list {
+ my ($msec) = @_;
+ keys %{$msec->{checks}{default}};
+}
+
+sub list_checks {
+ my ($msec) = @_;
+ difference2([ $msec->raw_checks_list ], [ qw(MAIL_WARN MAIL_USER) ]);
+}
+
+sub list_functions {
+ my ($msec, $category) = @_;
+
+ ## TODO handle 3 last functions here so they can be removed from this list
+ my @ignore_list = qw(indirect commit_changes closelog error initlog log set_secure_level
+ set_security_conf set_server_level print_changes get_translation create_server_link);
+
+ my %options = (
+ 'network' => [qw(accept_bogus_error_responses accept_broadcasted_icmp_echo accept_icmp_echo
+ enable_dns_spoofing_protection enable_ip_spoofing_protection
+ enable_log_strange_packets enable_promisc_check no_password_aging_for)],
+ 'system' => [qw(allow_autologin allow_issues allow_reboot allow_remote_root_login
+ allow_root_login allow_user_list allow_xauth_from_root allow_x_connections allow_xserver_to_listen
+ authorize_services enable_at_crontab enable_console_log
+ enable_msec_cron enable_pam_wheel_for_su enable_password enable_security_check
+ enable_sulogin password_aging password_history password_length set_root_umask
+ set_shell_history_size set_shell_timeout set_user_umask)]);
+
+ # get all function names; filter out those which are in the ignore
+ # list, return what lefts.
+ grep { !member($_, @ignore_list) && member($_, @{$options{$category}}) } keys %{$msec->{functions}{default}};
+}
+
+
+#-------------------------------------------------------------
+# set back checks|functions values
+
+sub set_function {
+ my ($msec, $function, $value) = @_;
+ $msec->{functions}{value}{$function} = $value;
+}
+
+sub set_check {
+ my ($msec, $check, $value) = @_;
+ $msec->{checks}{value}{$check} = $value;
+}
+
+
+#-------------------------------------------------------------
+# apply configuration
+
+# config_(check|function)(check|function, value) -
+# Apply the configuration to 'prefix'/etc/security/msec/security.conf||/etc/security/msec/level.local
+
+sub apply_functions {
+ my ($msec) = @_;
+ my @list = sort($msec->list_functions('system'), $msec->list_functions('network'));
+ touch($msec->{functions}{values_file}) if !-e $msec->{functions}{values_file};
+ substInFile {
+ foreach my $function (@list) { s/^$function.*\n// }
+ if (eof) {
+ $_ .= join("\n", if_(!$_, ''), (map {
+ my $value = $msec->get_function_value($_);
+ if_($value ne 'default', "$_ ($value)");
+ } @list), "");
+ }
+ } $msec->{functions}{values_file};
+}
+
+sub apply_checks {
+ my ($msec) = @_;
+ my @list = sort $msec->raw_checks_list;
+ setVarsInSh($msec->{checks}{values_file},
+ {
+ map {
+ my $value = $msec->get_check_value($_);
+ if_($value ne 'default', $_ => $value);
+ } @list
+ }
+ );
+}
+
+sub reload {
+ my ($msec) = @_;
+ require security::level;
+ my $num_level = security::level::get();
+ $msec->{functions}{defaults_file} = "$::prefix/usr/share/msec/level.$num_level";
+ $msec->{functions}{default} = { $msec->load_defaults('functions') };
+}
+
+sub new {
+ my ($type) = @_;
+ my $msec = bless {}, $type;
+
+ $msec->{functions}{values_file} = "$::prefix/etc/security/msec/level.local";
+ $msec->{checks}{values_file} = "$::prefix/etc/security/msec/security.conf";
+ $msec->{checks}{defaults_file} = "$::prefix/var/lib/msec/security.conf";
+ $msec->{checks}{val_separator} = '=';
+ $msec->{functions}{val_separator} = '\(';
+ $msec->{checks}{def_separator} = '=';
+ $msec->{functions}{def_separator} = ' ';
+ $msec->reload;
+
+ $msec->{checks}{default} = { $msec->load_defaults('checks') };
+ $msec->{functions}{value} = { $msec->load_values('functions') };
+ $msec->{checks}{value} = { $msec->load_values('checks') };
+ $msec;
+}
+
+1;
diff --git a/perl-install/security/various.pm b/perl-install/security/various.pm
new file mode 100644
index 000000000..0dfa21772
--- /dev/null
+++ b/perl-install/security/various.pm
@@ -0,0 +1,30 @@
+package security::various; # $Id: various.pm 22709 2005-05-27 05:37:24Z prigaux $
+
+use diagnostics;
+use strict;
+
+use common;
+
+sub config_libsafe {
+ my $setting = @_ > 1;
+ my ($prefix, $libsafe) = @_;
+ if ($setting) {
+ addVarsInSh("$prefix/etc/sysconfig/system", { LIBSAFE => bool2yesno($libsafe) });
+ } else {
+ my %t = getVarsFromSh("$prefix/etc/sysconfig/system");
+ text2bool($t{LIBSAFE});
+ }
+}
+
+sub config_security_user {
+ my $setting = @_ > 1;
+ my ($prefix, $sec_user) = @_;
+ if ($setting) {
+ addVarsInSh("$prefix/etc/security/msec/security.conf", { MAIL_USER => $sec_user });
+ } else {
+ my %t = getVarsFromSh("$prefix/etc/security/msec/security.conf");
+ $t{MAIL_USER};
+ }
+}
+
+1;
diff --git a/perl-install/services.pm b/perl-install/services.pm
new file mode 100644
index 000000000..b38d3584a
--- /dev/null
+++ b/perl-install/services.pm
@@ -0,0 +1,398 @@
+package services; # $Id: services.pm 61487 2006-09-14 17:00:33Z tv $
+
+
+
+
+#-######################################################################################
+#- misc imports
+#-######################################################################################
+
+use strict;
+use common;
+use run_program;
+
+use common;
+use run_program;
+
+sub description {
+ my %services = (
+alsa => N_("Launch the ALSA (Advanced Linux Sound Architecture) sound system"),
+anacron => N_("Anacron is a periodic command scheduler."),
+apmd => N_("apmd is used for monitoring battery status and logging it via syslog.
+It can also be used for shutting down the machine when the battery is low."),
+atd => N_("Runs commands scheduled by the at command at the time specified when
+at was run, and runs batch commands when the load average is low enough."),
+crond => N_("cron is a standard UNIX program that runs user-specified programs
+at periodic scheduled times. vixie cron adds a number of features to the basic
+UNIX cron, including better security and more powerful configuration options."),
+fam => N_("FAM is a file monitoring daemon. It is used to get reports when files change.
+It is used by GNOME and KDE"),
+gpm => N_("GPM adds mouse support to text-based Linux applications such the
+Midnight Commander. It also allows mouse-based console cut-and-paste operations,
+and includes support for pop-up menus on the console."),
+harddrake => N_("HardDrake runs a hardware probe, and optionally configures
+new/changed hardware."),
+httpd => N_("Apache is a World Wide Web server. It is used to serve HTML files and CGI."),
+inet => N_("The internet superserver daemon (commonly called inetd) starts a
+variety of other internet services as needed. It is responsible for starting
+many services, including telnet, ftp, rsh, and rlogin. Disabling inetd disables
+all of the services it is responsible for."),
+ipchains => N_("Launch packet filtering for Linux kernel 2.2 series, to set
+up a firewall to protect your machine from network attacks."),
+keytable => N_("This package loads the selected keyboard map as set in
+/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.
+You should leave this enabled for most machines."),
+kheader => N_("Automatic regeneration of kernel header in /boot for
+/usr/include/linux/{autoconf,version}.h"),
+kudzu => N_("Automatic detection and configuration of hardware at boot."),
+linuxconf => N_("Linuxconf will sometimes arrange to perform various tasks
+at boot-time to maintain the system configuration."),
+lpd => N_("lpd is the print daemon required for lpr to work properly. It is
+basically a server that arbitrates print jobs to printer(s)."),
+lvs => N_("Linux Virtual Server, used to build a high-performance and highly
+available server."),
+named => N_("named (BIND) is a Domain Name Server (DNS) that is used to resolve host names to IP addresses."),
+netfs => N_("Mounts and unmounts all Network File System (NFS), SMB (Lan
+Manager/Windows), and NCP (NetWare) mount points."),
+network => N_("Activates/Deactivates all network interfaces configured to start
+at boot time."),
+nfs => N_("NFS is a popular protocol for file sharing across TCP/IP networks.
+This service provides NFS server functionality, which is configured via the
+/etc/exports file."),
+nfslock => N_("NFS is a popular protocol for file sharing across TCP/IP
+networks. This service provides NFS file locking functionality."),
+numlock => N_("Automatically switch on numlock key locker under console
+and Xorg at boot."),
+oki4daemon => N_("Support the OKI 4w and compatible winprinters."),
+pcmcia => N_("PCMCIA support is usually to support things like ethernet and
+modems in laptops. It will not get started unless configured so it is safe to have
+it installed on machines that do not need it."),
+portmap => N_("The portmapper manages RPC connections, which are used by
+protocols such as NFS and NIS. The portmap server must be running on machines
+which act as servers for protocols which make use of the RPC mechanism."),
+postfix => N_("Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another."),
+random => N_("Saves and restores system entropy pool for higher quality random
+number generation."),
+rawdevices => N_("Assign raw devices to block devices (such as hard drive
+partitions), for the use of applications such as Oracle or DVD players"),
+routed => N_("The routed daemon allows for automatic IP router table updated via
+the RIP protocol. While RIP is widely used on small networks, more complex
+routing protocols are needed for complex networks."),
+rstatd => N_("The rstat protocol allows users on a network to retrieve
+performance metrics for any machine on that network."),
+rusersd => N_("The rusers protocol allows users on a network to identify who is
+logged in on other responding machines."),
+rwhod => N_("The rwho protocol lets remote users get a list of all of the users
+logged into a machine running the rwho daemon (similar to finger)."),
+sound => N_("Launch the sound system on your machine"),
+syslog => N_("Syslog is the facility by which many daemons use to log messages
+to various system log files. It is a good idea to always run syslog."),
+usb => N_("Load the drivers for your usb devices."),
+xfs => N_("Starts the X Font Server (this is mandatory for Xorg to run)."),
+ );
+ my ($name) = @_;
+ my $s = $services{$name};
+ if ($s) {
+ $s = translate($s);
+ } else {
+ my $file = find { -e $_ } map { "$::prefix$_/$name" } '/etc/rc.d/init.d', '/etc/init.d', '/etc/xinetd.d';
+ $s = cat_($file);
+ $s =~ s/\\\s*\n#\s*//mg;
+ $s =
+ $s =~ /^#\s+(?:Short-)?[dD]escription:\s+(.*?)^(?:[^#]|# {0,2}\S)/sm ? $1 :
+ $s =~ /^#\s*(.*?)^[^#]/sm ? $1 : '';
+
+ $s =~ s/#\s*//mg;
+ }
+ $s =~ s/\n/ /gm; $s =~ s/\s+$//;
+ $s;
+}
+
+sub ask_ {
+ my ($in) = @_;
+ my %root_services = (
+ N("Printing") => [ qw(cups cupslpd lpr lpd oki4daemon hpoj cups-lpd) ],
+ N("Internet") => [ qw(httpd boa tux roxen ftp pftp tftp proftpd wu-ftpd pure-ftpdipsec proftpd-xinetd
+ ipchains iptables ipvsadm isdn4linux ibod jabber jabber-icq adsl squid
+ portsentry prelude nessusd junkbuster radvd cddbp ippl iptoip jail.init) ],
+ N("File sharing") => [ qw(nfs nfslock smb nettalk netfs mcserv autofs amd
+ venus.init auth2.init codasrv.init update.init swat) ],
+ N("System") => [ qw(usb usbd pcmcia irda xinetd inetd kudzu harddrake apmd sound network xfs
+ alsa functions halt kheader killall mandrake_everytime mandrake_firstime
+ random rawdevices single keytable syslog crond medusa-init portmap acon
+ anacron atd gpm psacct wine acpid numlock jserver sensors mosix bpowerd bpowerfail
+ fcron powertweak.init ups syslog-ng cvs apcupsd) ],
+ N("Remote Administration") => [ qw(sshd telnetd telnet rsh rlogin rexec webmin cfd heartbeat ldirectord
+ iplog mon vncserver netsaint olympusd drakxtools_http) ],
+# N("Network Client") => [ qw(ypbind nscd arpwatch fetchmail dnrd_rc diald rsync) ],
+# N("Network Server") => [ qw(named bootparamd ntpd xntpd chronyd postfix sendmail
+# imap imaps ipop2 ipop3 pop3s routed yppasswdd ypserv ldap dhcpd dhcrelay
+# hylafax innd identd rstatd rusersd rwalld rwhod gated
+# kadmin kprop krb524 krb5kdc krb5server hldsld bayonne sockd dhsd gnu-pop3d
+# gdips pptpd.conf vrrpd crossfire bnetd pvmd ircd sympa finger ntalk talk) ],
+ N("Database Server") => [ qw(mysql postgresql) ],
+ );
+ my %services_root;
+ foreach my $root (keys %root_services) {
+ $services_root{$_} = $root foreach @{$root_services{$root}};
+ }
+ my ($l, $on_services) = services();
+ my %services;
+ $services{$_} = 0 foreach @{$l || []};
+ $services{$_} = 1 foreach @{$on_services || []};
+
+ $in->ask_browse_tree_info(N("Services"), N("Choose which services should be automatically started at boot time"),
+ {
+ node_state => sub { $services{$_[0]} ? 'selected' : 'unselected' },
+ build_tree => sub {
+ my ($add_node, $flat) = @_;
+ $add_node->($_, !$flat && ($services_root{$_} || N("Other")))
+ foreach sort keys %services;
+ },
+ grep_unselected => sub { grep { !$services{$_} } @_ },
+ toggle_nodes => sub {
+ my ($set_state, @nodes) = @_;
+ my $new_state = !$services{$nodes[0]};
+ foreach (@nodes) {
+ $set_state->($_, $new_state ? 'selected' : 'unselected');
+ $services{$_} = $new_state;
+ }
+ },
+ get_status => sub {
+ N("Services: %d activated for %d registered",
+ scalar(grep { $_ } values %services),
+ scalar(values %services));
+ },
+ get_info => sub { formatLines(description($_[0])) },
+ interactive_help_id => 'configureServices',
+ }) or return $l, $on_services; #- no change on cancel.
+ [ grep { $services{$_} } @$l ];
+}
+
+sub ask_standalone_gtk {
+ my ($_in) = @_;
+ my ($l, $on_services) = services();
+ my @xinetd_services = map { $_->[0] } @{(services_raw())[1]};
+
+ require ugtk2;
+ ugtk2->import(qw(:wrappers :create));
+
+ my $W = ugtk2->new(N("Services"));
+ my ($x, $y, $w_popup);
+ my $nopop = sub { $w_popup and $w_popup->destroy; undef $w_popup };
+ my $display = sub {
+ my ($text) = @_;
+ $nopop->();
+ gtkshow(gtkadd($w_popup = Gtk2::Window->new('popup'),
+ gtksignal_connect(gtkadd(Gtk2::EventBox->new,
+ gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'etched_out'),
+ gtkset_justify(Gtk2::Label->new($text), 'left'))),
+ button_press_event => sub { $nopop->() }
+ )))->move($x, $y) if $text;
+ };
+ my $update_service = sub {
+ my ($service, $label) = @_;
+ my $started = -e "/var/lock/subsys/$service";
+ $label->set_label($started ? N("running") : N("stopped"));
+ };
+ my $b = Gtk2::EventBox->new;
+ $b->set_events('pointer_motion_mask');
+ gtkadd($W->{window}, gtkadd($b, gtkpack_($W->create_box_with_title,
+ 0, mygtk2::gtknew('Title1', label => N("Services and daemons")),
+ 1, gtkset_size_request(create_scrolled_window(create_packtable({ col_spacings => 10, row_spacings => 3 },
+ map {
+ my $service = $_;
+ my $is_xinetd_service = member($service, @xinetd_services);
+ my $infos = warp_text(description($_), 40);
+ $infos ||= N("No additional information\nabout this service, sorry.");
+ my $label = gtkset_justify(Gtk2::Label->new, 'left');
+ $update_service->($service, $label) if !$is_xinetd_service;
+ [ gtkpack__(Gtk2::HBox->new(0,0), $_),
+ gtkpack__(Gtk2::HBox->new(0,0), $label),
+ gtkpack__(Gtk2::HBox->new(0,0), gtksignal_connect(Gtk2::Button->new(N("Info")), clicked => sub { $display->($infos) })),
+
+ gtkpack__(Gtk2::HBox->new(0,0), gtkset_active(gtksignal_connect(
+ Gtk2::CheckButton->new($is_xinetd_service ? N("Start when requested") : N("On boot")),
+ clicked => sub { if ($_[0]->get_active) {
+ push @$on_services, $service if !member($service, @$on_services);
+ } else {
+ @$on_services = grep { $_ ne $service } @$on_services;
+ } }), member($service, @$on_services))),
+ map {
+ my $a = $_;
+ gtkpack__(Gtk2::HBox->new(0,0), gtksignal_connect(Gtk2::Button->new(translate($a)),
+ clicked => sub {
+ my $action = $a eq "Start" ? 'restart' : 'stop';
+ log::explanations(qq(GP_LANG="UTF-8" service $service $action));
+ # as we need the output in UTF-8, force it
+ local $_ = `GP_LANG="UTF-8" service $service $action 2>&1`; s/\033\[[^mG]*[mG]//g;
+ c::set_tagged_utf8($_);
+ $update_service->($service, $label);
+ $display->($_);
+ })) if !$is_xinetd_service;
+ } (N_("Start"), N_("Stop"))
+ ];
+ }
+ @$l), [ $::isEmbedded ? 'automatic' : 'never', 'automatic' ]), -1, $::isEmbedded ? -1 : 400),
+ 0, gtkpack(gtkset_border_width(Gtk2::HBox->new(0,0),5), $W->create_okcancel)
+ ))
+ );
+ $b->signal_connect(motion_notify_event => sub { my ($w, $e) = @_;
+ my ($ox, $oy) = $w->window->get_origin;
+ $x = $e->x+$ox; $y = $e->y+$oy });
+ $b->signal_connect(button_press_event => sub { $nopop->() });
+ $::isEmbedded and gtkflush();
+ $W->main or return;
+ $on_services;
+}
+
+sub ask {
+ my ($in) = @_;
+ !$::isInstall && $in->isa('interactive::gtk') ? &ask_standalone_gtk : &ask_;
+}
+
+sub doit {
+ my ($in, $on_services) = @_;
+ my ($l, $was_on_services) = services();
+
+ foreach (@$l) {
+ my $before = member($_, @$was_on_services);
+ my $after = member($_, @$on_services);
+ if ($before != $after) {
+ my $script = "/etc/rc.d/init.d/$_";
+ run_program::rooted($::prefix, "chkconfig", $after ? "--add" : "--del", $_);
+ if ($after && cat_("$::prefix$script") =~ /^#\s+chkconfig:\s+-/m) {
+ run_program::rooted($::prefix, "chkconfig", "--level", "35", $_, "on");
+ }
+ if (!$after && !$::isInstall && !$in->isa('interactive::gtk')) {
+ #- only done after install AND when not using the gtk frontend (since it allows one to start/stop services)
+ #- this allows to skip stopping service "dm"
+ run_program::rooted($::prefix, $script, "stop");
+ }
+ }
+ }
+}
+
+sub services_raw() {
+ local $ENV{LANGUAGE} = 'C';
+ my (@services, @xinetd_services);
+ foreach (run_program::rooted_get_stdout($::prefix, '/sbin/chkconfig', '--list')) {
+ if (my ($xinetd_name, $on_off) = m!^\t(\S+):\s*(on|off)!) {
+ push @xinetd_services, [ $xinetd_name, $on_off eq 'on' ];
+ } elsif (my ($name, $l) = m!^(\S+)\s+(0:(on|off).*)!) {
+ push @services, [ $name, [ $l =~ /(\d+):on/g ] ];
+ }
+ }
+ \@services, \@xinetd_services;
+}
+
+#- returns:
+#--- the listref of installed services
+#--- the listref of "on" services
+sub services() {
+ my ($services, $xinetd_services) = services_raw();
+ my @l = @$xinetd_services;
+ if ($::isInstall) {
+ push @l, map { [ $_->[0], @{$_->[1]} > 0 ] } @$services;
+ } else {
+ my $runlevel = (split " ", `/sbin/runlevel`)[1];
+ push @l, map { [ $_->[0], member($runlevel, @{$_->[1]}) ] } @$services;
+ }
+ @l = sort { $a->[0] cmp $b->[0] } @l;
+ [ map { $_->[0] } @l ], [ map { $_->[0] } grep { $_->[1] } @l ];
+}
+
+
+
+
+
+
+# the following functions are mostly by printer related modules
+
+sub service_exists {
+ my ($service) = @_;
+ -x "$::prefix/etc/rc.d/init.d/$service";
+}
+
+sub restart ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "restart");
+}
+
+sub restart_or_start ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ is_service_running($service) ?
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "restart") :
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "start");
+}
+
+sub start ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "start");
+}
+
+sub start_not_running_service ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ is_service_running($service) || run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "start");
+}
+
+sub stop ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", "stop");
+}
+
+sub is_service_running ($) {
+ my ($service) = @_;
+ # Exit silently if the service is not installed
+ service_exists($service) or return 1;
+ run_program::rooted($::prefix, "/etc/rc.d/init.d/$service", '>', '/dev/null', '2>', '/dev/null', "status");
+}
+
+sub starts_on_boot {
+ my ($service) = @_;
+ my (undef, $on_services) = services();
+ member($service, @$on_services);
+}
+
+sub start_service_on_boot ($) {
+ my ($service) = @_;
+ run_program::rooted($::prefix, "/sbin/chkconfig", "--add", $service);
+}
+
+sub do_not_start_service_on_boot ($) {
+ my ($service) = @_;
+ run_program::rooted($::prefix, "/sbin/chkconfig", "--del", $service);
+}
+
+sub enable {
+ my ($service, $o_dont_apply) = @_;
+ start_service_on_boot($service);
+ restart_or_start($service) unless $o_dont_apply;
+}
+
+sub disable {
+ my ($service, $o_dont_apply) = @_;
+ do_not_start_service_on_boot($service);
+ stop($service) unless $o_dont_apply;
+}
+
+sub set_status {
+ my ($service, $enable, $o_dont_apply) = @_;
+ if ($enable) {
+ enable($service, $o_dont_apply);
+ } else {
+ disable($service, $o_dont_apply);
+ }
+}
+
+1;
diff --git a/perl-install/share/base.png b/perl-install/share/base.png
new file mode 100644
index 000000000..c74fec0ff
--- /dev/null
+++ b/perl-install/share/base.png
Binary files differ
diff --git a/perl-install/share/diskdrake.rc b/perl-install/share/diskdrake.rc
new file mode 100644
index 000000000..dfd58c5c8
--- /dev/null
+++ b/perl-install/share/diskdrake.rc
@@ -0,0 +1,51 @@
+style "font"
+{
+ fontset = "-*-*-medium-r-normal-*-8-*-*-*-*-*-iso8859-1,*-r-*"
+ xthickness = 1
+ ythickness = 1
+}
+
+style "red" = "font"
+{
+ bg[NORMAL] = { 1.0, 0, 0 }
+ bg[ACTIVE] = { 0.9, 0, 0 }
+ bg[PRELIGHT] = { 0.9, 0, 0 }
+}
+style "darkred" = "font"
+{
+ bg[NORMAL] = { 0.7, 0, 0 }
+ bg[ACTIVE] = { 0.6, 0, 0 }
+ bg[PRELIGHT] = { 0.6, 0, 0 }
+}
+style "green" = "font"
+{
+ bg[NORMAL] = { 0, 1.0, 0 }
+ bg[ACTIVE] = { 0, 0.9, 0 }
+ bg[PRELIGHT] = { 0, 0.9, 0 }
+ fg[NORMAL] = { 0, 0, 0 }
+}
+style "blue" = "font"
+{
+ bg[NORMAL] = { 0, 0, 1.0 }
+ bg[ACTIVE] = { 0, 0, 0.9 }
+ bg[PRELIGHT] = { 0, 0, 0.9 }
+}
+style "white" = "font"
+{
+ bg[NORMAL] = { 1.0, 1.0, 1.0 }
+ bg[ACTIVE] = { 0.9, 0.9, 0.9 }
+ bg[PRELIGHT] = { 0.9, 0.9, 0.9 }
+ fg[NORMAL] = { 0, 0, 0 }
+}
+
+widget "*Linux*" style "red"
+widget "*Ext2*" style "red"
+widget "*Journalised FS*" style "darkred"
+widget "*Linux swap*" style "green"
+widget "*Swap*" style "green"
+widget "*FAT*" style "blue"
+widget "*Windows*" style "blue"
+widget "*SunOS*" style "blue"
+widget "*NTFS*" style "blue"
+widget "*Empty*" style "white"
+widget "*Other*" style "font"
diff --git a/perl-install/share/floppy.png b/perl-install/share/floppy.png
new file mode 100644
index 000000000..2265e6ec6
--- /dev/null
+++ b/perl-install/share/floppy.png
Binary files differ
diff --git a/perl-install/share/ftin.png b/perl-install/share/ftin.png
new file mode 100644
index 000000000..3cec3c194
--- /dev/null
+++ b/perl-install/share/ftin.png
Binary files differ
diff --git a/perl-install/share/ftout.png b/perl-install/share/ftout.png
new file mode 100644
index 000000000..d821716eb
--- /dev/null
+++ b/perl-install/share/ftout.png
Binary files differ
diff --git a/perl-install/share/help.png b/perl-install/share/help.png
new file mode 100644
index 000000000..ddebe33ad
--- /dev/null
+++ b/perl-install/share/help.png
Binary files differ
diff --git a/perl-install/share/installed.png b/perl-install/share/installed.png
new file mode 100644
index 000000000..10a032fd0
--- /dev/null
+++ b/perl-install/share/installed.png
Binary files differ
diff --git a/perl-install/share/po/Makefile b/perl-install/share/po/Makefile
new file mode 100644
index 000000000..10944f5d6
--- /dev/null
+++ b/perl-install/share/po/Makefile
@@ -0,0 +1,55 @@
+include ../../Makefile.config
+
+NAME = libDrakX
+PMSFILES = $(filter-out install/% standalone/%, $(ALLPMS))
+PMSFILES_HERE = $(wildcard $(PMSFILES:%=../../%))
+
+POFILES = $(wildcard *.po)
+MOFILES = $(POFILES:%.po=%.mo)
+LANGS = $(POFILES:%.po=%)
+
+LOCALEDIR=$(DATADIR)/locale
+
+
+all: $(MOFILES)
+
+%.mo: %.po
+ msgfmt -o $@ $<
+
+merge: $(NAME).pot
+ for n in $(POFILES); do \
+ echo "Merging $$n"; \
+ msgmerge -C $$n $$n $(NAME).pot > "$$n"t ; \
+ mv -f "$$n"t $$n ; \
+ done
+
+$(NAME).pot: $(PMSFILES_HERE)
+ cd ../.. ; perl_checker -q --generate-pot share/po/$@ $(PMSFILES)
+
+install: $(MOFILES)
+ for l in $(LANGS); do \
+ $(SUDO) install -d $(LOCALEDIR)/$$l/LC_MESSAGES; \
+ $(SUDO) install -m 644 $$l.mo $(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).mo; \
+ done
+
+clean:
+ @rm -rf *.mo $(POFILES:%=%t)
+
+verif:
+ perl -ne '/^\s*#/ or $$i += my @l = /\b__?\(/g; END { print "$$i\n" }' $(PMSFILES_HERE)
+ perl -ne '$$i += my @l = /\.c:/g; END { print "$$i\n" }' DrakX.pot
+
+verif2:
+# perl -I ../.. -Mcommon -e 'foreach (qw($(PMSFILES))) { printf "package foo%d;\n", ++$$i; print common::cat_($$_) }' | perl -ne 'print if !/use (diagnostics|vars|strict)/' | OUTFILE=tmp.pm perl -I. -I../.. -Mb_dump_strings >/dev/null 2>/dev/null
+ perl -pe 's|$$|\\n\\|' tmp.pm > tmp.pm_.c
+ xgettext --keyword=_ -o tmp.po tmp.pm_.c
+ msgmerge DrakX.pot tmp.po > tmp.pot
+ grep "^msgid" tmp.pot | sort > tmp.pot.light
+ grep "^msgid" DrakX.pot | sort | diff - tmp.pot.light | grep "^>" || true
+
+
+# for i in *.po; do echo -n "$i "; msgfmt -v $i 2>&1; done | perl -e 'print map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, (split)[1] ] } <>'
+
+
+%: %.sh
+ # fake built-in
diff --git a/perl-install/share/po/af.po b/perl-install/share/po/af.po
new file mode 100644
index 000000000..a134b76d6
--- /dev/null
+++ b/perl-install/share/po/af.po
@@ -0,0 +1,6633 @@
+# translation of DrakX-af21-09.po to Afrikaans
+# translation of DrakX-af.po to Afrikaans
+# KTranslator Generated File
+# KTranslator Generated File
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Schalk W. Cronjé <schalkc@ntaba.co.za>, 2000.
+# Dirk van der Walt <mandrake@webmail.co.za>, 2003.
+# Dirk van der Walt <dirkvanderwalt@webmail.co.za>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-af\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-04-21 17:33+0200\n"
+"Last-Translator: Dirk van der Walt <dirkvanderwalt@webmail.co.za>\n"
+"Language-Team: Afrikaans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Wag asb."
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Besig met installasie van herlaaistelsel"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Installasie van herlaaiprogram het gefaal a.g.v. hierdie fout: "
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"U mag moontlik u 'Open Firmware' selflaai-toestel verander om\n"
+" die herlaaistelsel te aktiveer. Indien u nie die herlaaistelsel-porteks \n"
+" tydens seklflaai sien nie, hou die \"Command-Option-O-F\" in\n"
+" gedurende selflaai en tik die volgende in:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+"Tik daarna 'shut-down' in\n"
+"U behoort die herlaaistelsel-porteks met die volgende selflaai te sien."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"U het verkies om die herlaaistelsel op 'n partisie\n"
+"te installeer. Hiermee impliseer u dat u alreeds 'n herlaaistelsel op\n"
+"die hardeskyf waarmee u selflaai het (bv 'System Commander').\n"
+"\n"
+"Vanaf watter hardeyskyf geskied die selflaai?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Eerste sektor van skyf (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Eerste sektor van die 'root'-partisie"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Op Disket"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Mis hierdie stap"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub installasie"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Waar wil u die herlaaistelsel installeer"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Herlaaistylkonfigurasie"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Herlaaistelsel hoofopsies"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Herlaaistelsel"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Herlaaistelsel om te gebruik"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Herlaaitoestel"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Wagperiode voor verstekstelsel gelaai word"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Bekragtig ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Bekragtig ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Bekragtig ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Wagwoord"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Die wagwoorde stem nie ooreen nie."
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Probeer asb. weer"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "U kan nie 'n lêerstelsel met enkripsie vir hegpunt %s gebruik nie."
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Wagwoord (weer)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Beperk instruksielyn-opsies"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "beperk"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Opsie ``Beperk instruksielynopsies'' kan nie sonder wagwoord gebruikword nie"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Maak /tmp skoon met elke herlaai"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Presiese RAM grootte indien nodig (%d MB bespeur)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Gee die geheuegrootte in MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Beginboodskap"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware Delay"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Tydsbeperking vir stelselkernlaai"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Laat CD-herlaai toe?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Laat OF-herlaai toe?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Verstek bedryfstelsel?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Beeld"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "'Root'"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Aanlas"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Videomodus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Netwerkkoppelvlak"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Naam"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Verstek"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Geen video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Leë etiket word nie toegelaat nie"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "U moet 'n kernel-beeld spesifiseer"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "U moet 'n 'root-partisie spesifiseer"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Hierdie etiket is alreeds in gebruik"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Watter tipe inskrywing wil u byvoeg?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Ander bedryfstelsel (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Ander bedryfstelsel (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Ander bedryfstelsel (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hier is die huidige inskrywings\n"
+"U kan byvoeg or verwyder soos nodig."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "toegang na X-programme"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "toegang tot rpm-nutsprogramme"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "laat \"su\" toe"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "toegang tot administratiewe-lêers"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "toegang na netwerk-nutsprogramme"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "toegang na kompilasie-gereedskap"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s alreeds bygevoeg)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Gee asb. 'n gebruikerskode"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Die gebruikernaam mag alleenlik uit kleinletter, nommers, '-' en '_' bestaan"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Hierdie naam is te lank"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Hierdie genruikerskode bestaan alreeds"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Gebruiker ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Groep ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Opsie %s moet 'n nommer wees!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Voeg gebruiker by"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Tik 'n gebruiker in\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Klaar"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Aanvaar gebruiker"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Regte naam"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Aanteken naam"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Dop"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Outo-inteken"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Ek kan u rekenaar so opstel om een gebruiker outomaties in te teken."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Wil u hierdie funksie gebruik?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Kies die verstek gebruiker:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Kies die vensterbestuurder om te loop:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lisensieooreenkoms"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Verlaat"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Vrystelling: "
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Aanvaar"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Weier"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Kies asb. 'n taal om te gebruik."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "selfdoen"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "U kan ander tale selekteer wat na installasie beskikbaar sal wees."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle tale"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land / Omgewing"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Kies asseblief u land."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Hier is die volle lys van beskikbare lande"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Ander poorte"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Gevorderd"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Netwerkmetode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Geen"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Geen deling"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Laat alle gebruikers toe"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Aangepaste"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Wil u graag dat gebruikers van hulle lêergidse kan deel?\n"
+"Deur dit toe te laat, kan gebruikers bloot op \"Share\" in konqueror en "
+"nautilus klik.\n"
+"\n"
+"\"Aangepaste\" laat toe vir per-gebruiker verstellings.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "U kan uitvoer deur NFS of SMB te gebruik. Kies watter u wil gebruik."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Loods userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Sluit af"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Die per-gebruiker saamdeel-fasiliteit gebruik die groep \"fileshare\".\n"
+"U kan van 'userdrake' gebruik maak om gebruikers by heirdie\n"
+"groep te voeg."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Teken uit en gebruik dan Ctrl-Alt-Backspace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "U moet afteken en weer inteken alvorens veranderinge bekragtig word"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tydsone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Wat is u tydsone?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Hardewareklok gestel vir GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Hardewareklok gestel vir GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-bediener"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Outo-tydsinkronisasie met NTP"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Plaaslike lêer"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernetkaart"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows-domein"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Herstel alle rugsteune"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Herstel alle rugsteune"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Plaaslike lêer :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-domein:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Herstel alle rugsteune"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Herstel alle rugsteune"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP-magtiging"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Basis-dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-bediener"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "eenvoudig"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "Ssl"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Magtigings-metode"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domein"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Bediener"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Databasis"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Benodig wagwoord"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS-magtiging"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-domein"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-bediener"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Om hierdie te laat werk met 'n W2K PDC, moet u die volgende doen: As admin "
+"voer die volgende opdrag uit, 'C:\\>net localgroup \"Pre-Windows 2000 "
+"Compatibla Acces\" everyone' en herlaai die bediener.\n"
+"U moet ook die gebruikernaam/wagwoord van die 'Domain Admin' hê om hierdie "
+"masjien aan te sluit by die Windows(TM)-domein.\n"
+"Indien die netwerk nog nie opgestel is nie, sal Drakx poog om by die domein "
+"aan te sluit, as die netwerk reg is.\n"
+"Sou dit nie werk nie, kan u later 'smbpasswd -j DOMEIN -U GEBRUIKER%%"
+"WAGWOORD' op die instruksielyn as die supergebruiker intik. Die Windows(tm) "
+"Domein, en Admin gebruiker/wagwoord moet gebruik word.\n"
+"Die opdrag 'wbinfo -t' sal u 'authentication secrets' ondersoek."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Magtiging deur Windows-domein"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domein-administrarteur se naam"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domein-administrarteur se Wagwoord"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Magtiging"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Kies 'root' se wagwoord"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Magtigings-metode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Geen wagwoord"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Hierdie wagwoord is te eenvoudig. (moet ten minste %d karakters bevat)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Kan nie uitsaai sonder 'n NIS-domein nie"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welkom by die bedryfstelselkeuseprogram!\n"
+"\n"
+"Kies u bedryfstelsel uit die bogelyste opsies of wag\n"
+"vir die verstekopsie.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO met tekskieskaart"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nie genoeg spasie in /boot nie"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "U kan nie die herlaaistelsel op 'n %s partisie installeer nie\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"U herlaaistelsel se konfigurasie moet opgedateer word omdat 'n partisie se "
+"nommer verander het"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Die herlaaistelsel kan nie korrek geïnstalleer word nie. U moet in redding-"
+"modus laai, kies dan \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Her-installeer herlaaistelsel"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minute"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuut"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekondes"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"'WebDAV' is 'n protokol wat u in staat stel om 'n web-bediener se lêergids\n"
+"(e) plaaslik te kan heg. (dit is nou indien die web-bediener opgestel\n"
+"is as 'n WebDAV-bediener). Indien u 'n 'WebDAV' hegpunt\n"
+"wil heg, kies \"Nuwe\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nuwe"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Ontheg"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Heg"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Hegpunt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opsies"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fout"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Voorsien asseblief die WebDAV-bediener se URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Die URL moet begin met http:// or https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Bediener: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Hegpunt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opsies: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partisionering"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lees noukeurig!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Rugsteun u data eers asb."
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Verlaat"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Gaan voort"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Indien u beplan om 'aboot' te gebruik, los spasie aan die begin\n"
+"van die skyf. (2048 sektors is genoeg)."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hulp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Kies aksie"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"U het een massiewe Microsoft Windows partisie. \n"
+"Ek stel voor u verstel eers die grootte van dié partisie\n"
+"(kliek daarop en kliek dan op \"Verstel Grootte\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Kliek asb. op 'n partisie"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detail"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Geen hardeskywe kon gevind word nie"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Gejoernaliseerde FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Ruilarea"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Ander"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Leeg"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Lêerstelsel-tipes:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Waarskuwing"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Hierdie partisie se grootte kan nie verstel word nie"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Gebruik ``Ontheg'' eerste"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Gebruik ``%s'' instede."
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipe"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Kies 'n ander partisie"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Kies 'n partisie"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Herroep"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Skakel oor na normale gebruiksvlak"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Skakel oor na kundige gebruiksvlak"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Konfigurasie"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Wil u in elk geval voortgaan?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Verlaat, maar moenie iets stoor nie"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Wil u verlaat, sonder om die partisietabel op te dateer?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Wil u die /etc/fstab veranderinge stoor?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "U moet herlaai om die partisielys-veranderinge te aktiveer"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Verwyder almal"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Outo-allokeer"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Meer Keuses"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Hardeskyfinligting"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle primêre partisies is gebruik"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ek kan nie meer partisies byvoeg nie"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Om meer partisies te verkry, verwyder asb. een om 'n ektensiepartisiete kan "
+"skep"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Skryf partisielys"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Herstel partisielys"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Reddingspartisielys"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Herlaai partisietabel"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Outoheg van verwyderbare media"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Kies lêer"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Die rugsteunpartisielys se grootte verskil\n"
+"Wil u voortgaan?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Probeer die partisielys red"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Gedetaileerde inligting"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Verstel Grootte"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatteer"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Voeg by RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Voeg by LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Uitwis"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Verwyder uit RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Verwyder uit LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Verander RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Gebruik vir teruglus"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Skep"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Skep 'n nuwe partisie"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Begin-sektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Grootte in MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Lêerstelsel-tipe: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Voorkeure: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Logiese-volumenaam "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"U kan nie 'n nuwe partisie skep nie\n"
+"(aangsien u die maksimum aantal primêre partisies bereik het).\n"
+"Verwyder eerstens 'n primêre partisie en skep dan 'n sekondêre partisie."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Verwyder die terugluslêer?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Alle data om hierdie partisie %s sal uitgewis word na verandering van die \n"
+"partisietipe"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Verander partisietipe"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Watter lêerstelsel verlang u?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Oorskakeling van ext2 na ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Naam"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Waar wil u terugluslêer %s heg?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Waar wil u toestel %s heg?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Kan nie hegpunt ontset nie, omdat hierdie partisie vir teruglus\n"
+"gebruik word. Verwyder eers die teruglus."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Waar wil u toestel %s heg?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Grootteverandering"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT lêerstelselgrense word bereken"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Hierdie partisie se grootte kan nie verstel word nie"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Alle data om hierdie partisie moet gerugsteun word."
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Alle data op partisie %s sal uitgewis word met die grootteverandering"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Kies die nuwe grootte"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nuwe grootte in MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Om Data-integriteit te verseker nadat u die partisie(s)\n"
+"verklien het,sal daar toetste op u lêerstelsel(s) gedoen word,\n"
+"volgende keer as Windows™ selflaai"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Kies 'n bestaande RAID om by toe te voeg"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nuut"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Kies 'n bestaande LVM om by toe te voeg"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM naam?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Hierdie partisie kan nie vir teruglus gebruik word nie."
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Teruglus"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Teruglus lêernaam:"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Voorsien 'n lêernaam"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Lêer word alreeds deur 'n ander teruglus gebruik,kies 'n ander een"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Lêer bestaan alreeds. Moet dit gebruik word?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Hegopsies:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Verskeie"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "toestel"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "vlak"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "blokgrootte"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Wees versigtig: hierdie is 'n gevaarlike operasie"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Watter soort partisie?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "U sal moet herlaai voor die veranderinge geaktiveer kan word"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Die partisielys op skyf %s gaan opdateer word!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Alle data om partisie %s sal uitgewis word met formatering."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Toets vir foutiewe areas?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Verskuif lêers na nuwe partisie toe"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Versteek lêers"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Verskuif lêers na nuwe partisie toe"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopieer %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Verwyder %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partisie %s staan bekens as %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Toestel: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-skyfletter: %s ('n raaiskoot)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipe:"
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Naam: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Begin: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Grootte: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektore"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silinder %d na silinder %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Geformateer\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nie geformatter\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Geheg\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Teruglus lêer(s):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Verstekpartisie vir herlaai\n"
+" (vir MS_DOS doeleinDES, nie LILO s'n nie)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Vlak %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Blokgrootte %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-skywe %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Teruglus lêernaam: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Dis hoogs waarskynlik dat hierdie partisie 'n\n"
+"drywerpartisie is en verkieslik alleen gelos\n"
+"moet word.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Hierdie spesiale herlaaipartisie\n"
+"is om u stelsel te duolaai.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Lees-alleen"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Grootte: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrie: %s silinders, %s koppe, %s sektore\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info:"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-skywe %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipe Partisielys: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "op bus %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Enkripsie-sleutel van lêerstelsel"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Kies 'n enkripsie-sleutel vir u lêerstelsel"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Hierdie enkripsie-sleutel is te eenvoudig. (moet ten minste %d karakters "
+"bevat.)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Die enkripsie-sleutels stem nie ooreen nie."
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Enkripsie-sleutel"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Enkripsie-sleutel (nogmaals)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Enkripsie-algoritme"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Verander tipe"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Kanselleer"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Kan nie met gebruikernaam %s inteken nie (werkeerde wagwoord?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Benodig Domein-magtiging"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Watter gebruiker"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Nog een"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Voorsien asseblief u gebruikernaam, wagwoord en domeinnaam vir toegang tot\n"
+" hierdie rekenaar."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Gebruikernaam"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Soek bedieners"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Deursoek netnuus-bedieners"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Die pakket %s moet geïnstalleer word. Wil u dit installeer?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Installeer pakket %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Verpligte pakket %s ontbreek"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Die volgende pakkette geïnstalleer word:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installeer pakkette..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Verwyder pakkette..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"'n Fout het voorgekom - geen geldige toestelle om die nuwe lêerstelsels op "
+"te skep, is gevind nie. Deursoek asb. die hardeware vir die oorsaak."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "U moet oor 'n FAT partisie wat as /boot/efi geheg is, beskik"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Partisie %s word formateer"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Lêer %s word geskep en formatteer"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ek weet nie om %s as tipe %s te formateer nie"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatering ban %s het gefaal"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Sirkulêre heg %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Heg partisie %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "heg van partisie %s in lêergids %s het gefaal"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Toets %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "fout met onthegting van %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Aktiveer 'swap'-partisie %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "U kan nie 'n lêerstelsel met enkripsie vir hegpunt %s gebruik nie."
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Moet nie 'inode'-toegangstye op hierdie lêerstelsel opdateer nie\n"
+"(bv. maak die toegang na die nuus-spoel vinniger, wat weer die\n"
+"nuus-bediener vinniger maak)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kan slegs afsonderlik geheg word (- op sy eie - , \n"
+"die '-a' opsie sal hiedie lêerstelsel nie laat heg nie)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Moet nie teenwoordige karakter- of blok-toestelle op die lêerstelsel "
+"vertolk\n"
+"nie."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Moet nie die uitvoer van programme vanaf die gehegde\n"
+"lêerstelsel toelaat nie. Hierdie opsie kan handig wees indien 'n bediener\n"
+"lêerstelsels het, wie se programme nie op linux uitgevoer kan word nie."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Heg die lêerstelsel as lees-alleen."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Alle I/O na die lêerstelsel moet sinkronies wees."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Verleen skryf-toegang aan gewone gebruikers"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Verleen slegs lees-toegang aan gewone gebruikers"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Duplikaat hegpunt %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "geen beskikbare partisies"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Deursoek partisies vir hegpunte"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Kies die hegpunte"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Kies die partisies om te formatteer"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Probleme met die ondersoek van lêerstelsel %s. Wil u die foute herstel? "
+"( neem kennis dat dit dataverlies kan meebring)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nie genoeg ruilarea om die installasie te voltooi. Voeg asb. by."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"U moet 'n wortelpartisie definieer.\n"
+"Skep 'n partisie of kliek op 'n bestaande een.\n"
+"Kies dan Hegpunt en stel dit dan '/'."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"U het nie 'n ruilpartisie nie\n"
+"\n"
+"Wil u steeds voortgaan?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Gebruik beskikbare spasie"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Tekort aan oop spasie vir die nuwe partisies"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Gebruik bestaande partisies"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Daar is geen bestaande partisies om te gebruik nie"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Gebruik vir die Microsoft Windows®-partisie vir teruglus"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Watter partisie wil u vir Linux4Win gebruik?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Kies die groottes"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "'root'-partisiegrootte in MB:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Ruilpartisiegrootte in MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Daar is geen FAT partisies om as teruglus (nie genoeg spasie nie) te gebruik "
+"nie"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Gebruik die beskikbare spasie op die Windows-partisie"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Watter partisie se grootte wil u verander?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Die FAT-verstellingsprogram kan nie u partisie hanteer nie.\n"
+"Fout: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Bereken die grootte van die Microsoft Windows®partisie"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr "U Windows-partisie is te gefragmenteer. Loop eers 'defrag' asb."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"WAARSKUWING\n"
+"\n"
+"\n"
+"DrakX gaan nou u Microsoft Windows®-partisie vestel.\n"
+"\n"
+"\n"
+"WEES VERSIGTIG: Hierdie aksie kan gevaarlik wees. Indien nog nie, moet u tog "
+"\"chkdsk c:\" loop vanaf die instruksielyn in Windows. (let daarop die "
+"grafiese \"scandisk\" is nie voldoende nie - GEBRUIK \"chkdsk\"!) U kan ook "
+"gerus \"defrag\" daarna loop, en u data rugsteun Begin dan weer hierdie "
+"installasie.\n"
+"\n"
+"\n"
+"Andersins, klik op %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Volgende"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Watter grootte wil u vir Microsoft Windows® behou? partisie %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Grootte"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Microsoft Windows®lêerstelselgrense word bereken"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT-grootteverandering het gefaal: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Daar is geen FAT partisies om te verander nie(nie genoeg spasie nie)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Verwyder Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Wis hele skyf"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "U het meer as een hardeskyf, waar wil u Linux installeer?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Alle bestaande partisies en data sal uitgewis word op skyf %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Gespesialiseerde skyfpartisionering"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Gebruik fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"U het nou partisie %s partisioneer.\n"
+"Wanneer u klaar is, stoor u veranderinge met 'w'."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ek kon geen plek vir installasie vind nie."
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Die DrakX partisioneringsassistent het die volgende oplossings:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partisionering het misluk: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "U kan nie JFS vir partisies kleiner as 16MB gebruik nie"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "U kan nie ReiserFS vir partisies kleiner as 32MB gebruik nie"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "met '/usr'"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "bediener"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ek kan nie u partisielys van toesels %s lees nie, dit is te korrup.\n"
+"Ek sal die nodige partisies skoonmaak, maar alle data sal vernietig word.\n"
+"Die ander opsie is om DrakX te belet om die partisielys te verander.\n"
+"(fout is %s)\n"
+"\n"
+"Will u al die partisies verwyder?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Hegpunte moet met 'n / begin"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Hegpunte kan slegs alfa-numeriese karakters bevat"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Daar is alreeds 'n partisie met hegpunt %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"U het 'n sagteware RAID-partisie as wortel (/).\n"
+"Geen herlaaistelsel sal dit kan hanteer sonder 'n /boot partisie nie.\n"
+"Onthou om 'n /boot by te voeg."
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "U kan nie LVM logiese volume vir hegpunt %s gebruik nie."
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"U het 'n sagteware RAID-partisie as wortel (/).\n"
+"Geen herlaaistelsel sal dit kan hanteer sonder 'n /boot partisie nie.\n"
+"Onthou om 'n /boot by te voeg."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Hierdie lêergids moet altyd in die wortellêerstelsel bly"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr "U benodig 'n ware lêerstelsel (ext2, reiserfs) vir hierdie hegpunt\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "U kan nie 'n lêerstelsel met enkripsie vir hegpunt %s gebruik nie."
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nie genoeg spasie vir outo-toekenning beskikbaar nie"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Niks om te doen nie"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disket"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Skyf"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD-skrywers"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Magnetiese band"
+
+#: harddrake/data.pm:138
+#, fuzzy, c-format
+msgid "AGP controllers"
+msgstr "USB beheerders"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokaart"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kaart"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Ander MultiMedia-toestelle"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Klankkaart"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webkamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Verwerkers"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN toestelle"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernetkaart"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL toestelle"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Geheue"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Drukker"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Stuurstok"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-beheerders"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-beheerders"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA beheerders"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model kaart:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-beheerders"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-beheerders"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-beheerders"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB beheerders"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "USB-drukker"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-beheerders"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Brûe en stelselbeheerders"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Sleutelbord"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Muis"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "CUPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skandeerder"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Onbekend/Ander"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Wag asb... Konfigurasie word toegpas"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Geen alternatiewe drywer"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Daar is geen OSS/ALSA alternatief vir u klankkaart (%s) wat huidiglik \"%s\" "
+"gebruik"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Klankkonfigurasie"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Hier kan u 'n alternatiewe drywer vir u klankkaart kies ( OSS of ALSA)"
+"klankkaart (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"U kaart gebruik tans die %s\"%s\" drywer ( die kaart se verstek drywer is \"%"
+"s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) was die eerste klank-API. Dit is onafhanklikvan die "
+"bedryfstelsel (dus is dit beskikbaar op meeste UNIX(tm) stelselsdit is 'n "
+"vreeslik basiese API.\n"
+"Drywers vir OSS is ook vreeslik omslagtig\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) het 'n modulêre argitektuur wat\n"
+"'n wye verskeidenheid ISA, USB en PCI kaarte ondersteun.\n"
+"\n"
+"Die API is ook heelwat hoër as die van OSS.\n"
+"\n"
+"On alsa te gebruik, kan u:\n"
+"- die ou versoenbare OSS-api gebruik\n"
+"- die nuwe ALSA-api gebruik. Dit het heelwat gevorderde\n"
+"glanspunte het, maar moet die ALSA programmateek gebruik\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Drywer:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Probleemoplossing"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Die ou \"%s\" drywer is op 'n swartlys.\n"
+"\n"
+"Dit is geraporteer dat die die kernel 'oops' as dit aflaai.\n"
+"\n"
+"Die nuwe \"%s\" drywer sal met die volgende selflaai gebruik word."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Geen oopbron drywer"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Daar is geen gratis drywer vir u klankkaart (%s) nie, daar is wel 'n "
+"gepatenteerde een by \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Geen drywer bekend"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+"Daar is geen drywer, sover ons weet, beskikbaar vir klankkaart (%s) nie"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Onbekende drywer"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Fout: Die \"%s\" drywer vir u klankkaart in nie gelys nie"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Klank foutopsporing"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Probeer gerus hierdie metode om u klank aan die gang te kry:\n"
+"(vanaf die instruksielyn)\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\"sal vir u aandui watter verstek drywer u\n"
+"kaart gebruik\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" sal aan u vertoon watter drywer\n"
+"tans gebruik word\n"
+"\n"
+"- \"/sbin/lsmod\" sal u toelaat om te sien of die kaart se module (drywer)\n"
+"reeds gelaai is of nie.\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" en \"/sbin/chkconfig --list alsa\" sal\n"
+"aandui indien 'sound' en 'alsa' dienste loop in init vlak 3\n"
+"\n"
+"- \"aumix -q\" sal vir u aandui of die klank swygend is of nie \n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" sal aandui watter program die klankkaart\n"
+"gebruik.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Laat ek enige drywer kies"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Kies 'n eiemagtige drywer"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Indien u seker is dat u die regte drywer vir u kaart ken\n"
+"kies dan dit uit die lys.\n"
+"\n"
+"Die \"%s\" klankkaart gebruik tans die \"%s\" drywer "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Gebruik outospeuring"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Onbekend|Generies"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Onbekend|CPH05X (bt878) [baie vervaardigers]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Onbekend|CPH06X (bt878) [baie vervaardigers]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Die GNU/Linux se bttv module outospeur gewoonlik al die TV-kaart se "
+"parameters korrek.\n"
+"Indien dit nie gebeur het nie, kan u die korrekte instemmer en kaart tipe "
+"hier opstel. Kies bloot die parameters wat benodig word."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model kaart:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipe instemmer"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nee"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Kies 'n lêer"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Voeg by"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Verander"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Verwyder"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Voltooi"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Vorige"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Swak keuse, probeer weer\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "U keuse? (verstek %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Velde wat u moet invul:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "U keuse? (0/1, verstek %s) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Knoppie: %s: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Wil u op hierdie knoppie klik?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "U keuse? (verstek '%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " noem 'n leë inskrywing 'void'"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Daar is heelwat dinge om van te kies (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Kies asseblief die eerste getal van die 10-reeks wat u wil redigeer,\n"
+"of gebruik bloot [Enter] om voort te gaan.\n"
+"U keuse?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Aandag, 'n etiket het verander:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Dien weer in"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Verenigde Arabiese Emirate"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua and Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanië"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenië"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentinië"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "American Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Oostenryk"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australië"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnië en Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "België"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaars"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasilië"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Eiland"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos-eilande"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Sentrale-Afrika Republiek"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Switserland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook Eilande"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kameroen"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombië"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Christmas Island"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Ciprus"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tsjeggiese Republiek"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Duitsland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Denemarke"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikaanse Republiek"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algerië"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonië"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Westelike Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanje"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Ethiopië"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland Islands (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroe Eilande"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankryk"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gaboen"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Verenigde Koninkryk"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Frans-Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinee"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekwatoriale Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Griekeland"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "South Georgia and the South Sandwich Islands"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard en McDonald Eilande"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroasië"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haïti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hongarye"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesië"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ierland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indië"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "British Indian Ocean Territory"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Ysland"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italië"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanië"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts and Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Noord)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Koeweit"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman Eilande"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberië"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litaue"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letland"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libië"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Eilande"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Masedonië"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolië"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Noordelike Mariana Eilande"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanië"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawië"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Maleisië"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambiek"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibië"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nieu-Caledonië"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Eiland"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigerië"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nederlands"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noorweë"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Neu-Seeland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Fraanse Polinesië"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippyne"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pole"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre en Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Hereniging"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Roemenië"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saoedi-Arabië"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon Eilande"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelle"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Swede"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapoer"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenië"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard en Jan Mayen Eilande"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakye"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senekal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalië"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome and Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirië"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks en Caicos Eilande"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tsjad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "French Southern Territories"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "East Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisië"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkye"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad en Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanië"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Oekraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Verenigde State se Kliener Omliggende Eilande"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Verenigde State"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatican"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent en die Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virgin Eilande (Brits)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Eilande (VSA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Viëtnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis en Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Suid-Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambië"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Welkom by %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Verwyder eers die logiese volumes\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Waarskuwing: Oopbronsagteware is nie noodwendig vry van patente nie.\n"
+"Sommige van die sagteware hier ingesluit mag dalk gedek wees deur\n"
+"patente in die land waar u woon.\n"
+"Die MP3-dekodeerders wat hier ingesluit word, benodig moonlik 'n\n"
+"lisensie om wettiglik gebruik te kan word.(http://www.mp3licensing.com)\n"
+"Indien u onseker is oor 'n patent, raadpleeg die plaaslike wette.\n"
+"( Wees daarom bly jy woon nie in die VSA nie! )"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Geluk, installasie is afgehandel.\n"
+"Verwyder die herlaaimedium en druk 'enter' om te herlaai.\n"
+"\n"
+"\n"
+"Vir inligting oor hierdie vrystelling van Mandriva Linux,\n"
+"bekyk die errata beskikbaar op\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Inligting oor stelskonfigurasie is beskikbaar in die postinstallasie-\n"
+"hoofstuk in die Offisiële Mandriva Linux Gebruikersgids."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "CUPS-drukkerkonfigurasie"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Konfigurasie van module"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "U kan elke parameter van die module hier konfigureer"
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Het %s koppelvlakke gevind"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Beskik u oor nog?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Het u enige %s koppelvlakke?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Sien hardeware inligting"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Drywer vir %s kaart %s in installasieproses"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Drywer vir %s kaart %s in installasieproses"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Drywer vir %s kaart %s in installasieproses"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Drywer vir %s kaart %s in installasieproses"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Drywer vir %s kaart %s in installasieproses"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"U kan nou opsies vir module %s voorsien.\n"
+"Let daarop dat enige adresse voorafgegaan moet word deur 0x (bv '0x123')"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"U kan nou die opsies voorsien vir module %s.\n"
+"Opsies is in die formaat ``naam=waarde naam2=waarde2 ...''.\n"
+"Bv. ``io=0x300 irq-7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Module opsies:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Watter %s drywer moet ek probeer?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"In sekere gevalle sal die %s drywer ekstra inligting benodig, alhoewel in\n"
+"meeste gevalle dit nie nodig is nie. Wil u ekstra opsies voorsien of moet\n"
+"rekenaar self daarvoor aftas. In uitsonderlike gevalle mag die rekenaar\n"
+"vries, maar sal nie skade veroorsaak nie."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Aftas"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Spesifieer opsies"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Laai van module %s het gefaal.\n"
+"Wil u ander parameters probeer?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "heg het gefaal: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Ekstensiepartisie word nie op hierdie platform ondersteun nie"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"U het 'n gat die partisietabel maar ek kan dit nie gebruik nie.\n"
+"Die enigste oplossing is om die primêre partisie te skuif sodat die gat\n"
+"langs die ekstensie partisies is"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fout met die lees van lêer %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Herstel van léer %s het gefaal: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Korrupte rugsteunlêer"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Fout met die skryf van %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Iets vrots gebeur op u hardeskyf.\n"
+"'n Data-integriteitstoets het misluk.\n"
+"Dit beteken dat enigiets wat na u hardeskyf geskryf word as gemors sal "
+"eindig."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kan nie 'n partisie by geformatteerde RAID md%d byvoeg nie"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nie genoeg partisies vir RAID vlak %d nie\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Kon nie gids /usr/share/sane/firmware skep nie!"
+
+#: scanner.pm:106
+#, fuzzy, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Kon nie gids /usr/share/sane/firmware skep nie!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Kon nie firmware-lêer %s na /usr/share/sane/firmware kopieer nie!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Kon nie die permisies van die firmware-lêer %s stel nie."
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Kon nie die pakkete installeer om u skandeerder(s) te deel nie."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "U skandeerder(s) sal NIE vir normale gebruikers beskikbaar wees NIE. "
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Aanvaar/Weier snert IPv4-foutboodskappe."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Aanvaar/Weier uitgesaaide icmp-ego's"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Aanvaar/Weier icmp-ego's."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Laat toe/Verbied outo-inteken."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Laat toe/Verbied herbegin deur 'n konsole-gebruiker."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Laat toe/Verbied 'root' deur die netwerk in te teken."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Laat toe/Weier vir 'root' om direk in te teken."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Laat toe/Verbied die vertoon van gebruikername op vertoonbestuurders\n"
+" (display managers, bv. kdm en gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Laat toe/Verbied X-konneksies:\n"
+"\n"
+"- ALMAL ( alle konneksies word toegelaat),\n"
+"\n"
+"- PLAASLIK (slegs vanaf die plaaslike rekenaar),\n"
+"\n"
+"- GEEN (geen konneksie)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Hierdie argument spesifiseer indien kliënte gemagtig is om aan die\n"
+"X-bediener te koppel via die netwerk (tcp poort 6000) of nie."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Versper/Ontsper 'crantab' en 'at' vir gebruikers.\n"
+"\n"
+"Plaas toegelete gebruikers in /etc/cron.allow en /etc/at.allow\n"
+"(verwys na man at(1) en crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Ontsper/Versper 'syslog' verslae na konsole 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Versper/Ontsper flous-naamresolusie-beskerming. Indien\n"
+" \"%s\" gekies is, sal dit aangeteken word\n"
+" in die staaflêers."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Sekuriteits-waarskuwings:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Ontsper/Versper \"IP spoofing\" beskerming."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Versper/Ontsper 'libsafe' indien 'libsafe' teenwoordig is."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Versper/Ontsper aanteken van vreemde IPv4-pakkies in staaflêer."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Versper/Ontsper msec se uurlikse toets."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"'su'-funksie slegs vir lede van die \"wheel\"-groep of vir enige gebruiker."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Geldigverklaring deur wagwoorde"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktiveer/Versper ethernetkaarte 'promoscuity' toets."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktiveer/Versper daaglikese sekuriteits-toets."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Versper/Ontsper sulogin(8) in enkel-gebruiker modus"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Voeg die naam by as 'n uitsondering tot wagwoordveroudering deur msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Verstel wagwoord-veroudering no \"max\" dae en versuim om\n"
+"te verander na \"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Stel die wagwoord-geskiedenis se lente om hergebruik te voorkom"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Stel die wagwoord se minimum lengte, minimum aantal syfers en die minimum "
+"hoofletters."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Kies 'root' se 'umask'."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "indien ja gekies is, ondersoek die oop poorte."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"indien ja gekies is, toets vir:\n"
+"\n"
+"-leë wagwoorde,\n"
+"\n"
+"-geen wagwoord in /etc/shadow\n"
+"\n"
+"-vir gebuikers buiten 'root' wie se UID '0' is."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"indien ja gekies is, ondersoek lêer-vergunningsvlakke in gebuiker se tuisgids"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"indien ja gekies is, kyk of netwerk-toestelle in 'promiscuous'-modus is."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "indien ja gekies is, loop daaglikse sekuriteitstoetse."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "indien ja gekies is, ondersoek byvoeg/verwydering van sgid-lêers."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "indien ja gekies is, kyk vir leë wagwoorde in '/etc/shadow'"
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"indien ja gekies is, ondersoek die toetssom (checksum) van suid/sgid lêers"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "indien ja gekies is, let na byvoeg/verwydering van 'suid root' lêers."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "indie ja gekies is, verklik lêers sonder eienaars."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"indien ja gekies is, soek vir lêers/lêergidse waarna enige iemand kan skryf."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "indien ja gekies is, doen 'chkrootkit'-toetse."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Indien gespesifiseer, stuur die e-pos verslag na hierdie adres, so nie,\n"
+"stuur na 'root'"
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "indien ja gekies is, stuur toetsreslutate via e-pos."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Moet nie e-pos stuur indien daar niks is om oor te waarsku nie"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "indien ja gekies is, doen 'n paar toetse teen die rpm-databasis."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "indien ja gekies is, skryf deursoek-resultate na staaflêer."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "indien ja gekies is, skryf toetsresultate na tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Stel instruksiedop se geskiedenisgrootte. '-1' beteken oneindig groot."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Voorsien die tydsbeperking van die dop. Indien geen, maak dit Zero"
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Uittel se eenheid is in sekondes"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Stel die 'umask'"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Aanvaar snert IPv4 foutboodskappe"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Aanvaar uitgesaaide icmp-ego's"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Aanvaar icmp-ego's"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* bestaan reeds"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Herbegin deur die konsole se gebruiker"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Laat eksterne 'root'-inteken toe"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direkte 'root' inteken"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Wys gebruikers op vertoonbestuurders (kdm en gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Laat X Window konneksies toe"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Magtig TCP konneksies na 'X Window'"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Magtig al die dienste wat tcp_wrappers beheer"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "'Chkconfig' volg 'msec' se reëls"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Aktiveer \"crontab en \"at\" vir gebruikers"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "'syslog' verslae na konsole 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Flous-naamresolusie-beskerming"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Ontsper flous-naamresolusie-beskerming"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Ontsper 'libsafe' indien 'libsafe' teenwoordig is."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Ontsper aanteken van vreemde IPv4-pakkies in staaflêer."
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Aktiveer msec se uurlikse ondersoek"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Aktiveer 'su' slegs vir die 'wheel'-groep se lede OF vir enige gebruiker"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Geldigverklaring deur wagwoorde"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Ethernetkaarte 'promoscuity' toets"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Daaglikse sekuriteits-toets"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "'Sulogin(8)' in enkel-gebruikervlak"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Geen wagwoordveroudering vir"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Spesifseer intervalle van wagwoord-verval en de-aktivering van rekeninge"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Lengte van wagwoord-geskiedenis"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Wagwoord se minimum lente en die aantal syfers en hoofletters"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "'root' se umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Instruksiedop se geskiendenis-gootte"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Tydsbeperking vir dop"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Gebruiker se 'umask'"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Toets oop poorte"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Toets vir nie-veilige rekeninge"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Ondersoek lêer-verunningsvlakke in gebruiker se tuisgids"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "kyk of netwerk-toestelle in 'promiscuous'-modus is"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Loop die daaglikse sekuriteits-toetse"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Ondersoek die byvoeg/verwydering van sgid-lêers"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Kyk vir leë wagwoorde in '/etc/shadow'"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Ondersoek die toetssom (checksum) van suid/sgid lêers"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Ondersoek die byvoeg/verwydering van suid 'root'-lêers"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Raporteer eienaarlose-lêers"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Soek vir lêers/lêergidse waarna enige iemand kan skryf."
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Loop 'chkrootkit' toetste"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Indien gespesifiseer, stuur die e-pos verslag na hierdie adres, so nie,\n"
+"stuur na 'root'"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Stuur toets-reslutate via e-pos"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Doen 'n paar toetse teen die rpm-databasis"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Skryf toetsreslutate na 'n staaflêer"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Stuur toets-resultate na tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Krakers Welkom"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Lig"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standaard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Hoog"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Hoër"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoïes"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Hierdie vlak moet met sorg gebruik word. Dit maak 'n stelsel baie maklik\n"
+"om te gebruik, maar is baie sensitief. Dit moet nie gebruik vir 'n rekenaar\n"
+"wat aan ander rekenaars of die internet gekoppel is nie. Daar is geen\n"
+"wagwoord toegang nie."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Wagwoorde is nou ontsper, maar die gebruik as 'n netwerk-rekenaar word nie "
+"aanbeveel nie."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Hierdie is die standaard sekuriteitsvlak wat aanbeveel word vir rekenaars\n"
+"wat aan die internet as 'n kliënt konnekteer."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr "Daar is reeds beperkings, en outomatise toetse word snags gedoen."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Met hierdie sekuriteitsvlak kan u stelsel as 'n bediener gebruik word.\n"
+"Die sekuriteit is goed genoeg sodat die rekenaar konneksies van kliënte\n"
+"af kan aanvaar.\n"
+"Aandag: Indien u masjien bloot 'n kliënt op die Internet is, kan u 'n laer\n"
+"vlak kies."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Hierdie is soortgelyk aan die vorige vlak, maar die stelsel is totaal "
+"geslote en sekuriteit is op sy maksimum."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sekuriteit"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec Basiese Opsies"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Kies die verlangde sekuriteitsvlak"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Sekuriteitsvlak"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Gebruik libsafe vir bedieners"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"'n Programmateek wat beskerm teen buffer-vloede en formaat-string aanvalle."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Sekuriteits-administrateur (gebruiker of e-pos)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Loop die ALSA (Gevorderde Linux Klankargitektuur) klankstelsel"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron is skeduleerder vir periodiese instruksies."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Die apmd monitor die sterkte van u battery en skryf terugvoer na u\n"
+"staaflêers.\n"
+"Dit kan ook ingespan word om die rekenaar af te skakeel, sodra die battery\n"
+"pap word."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Loop instruksies deur 'at' geskeduleer op die tyd deur 'at'\n"
+"gespesifiseer.\n"
+"Loop ook instruksiebondels wanneer die stelsellas laag genoeg is."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron is die standaard UNIX program om gebruikergespesifiseerde programme\n"
+"op periodies geskeduleerde tye te loop. vixie cron voeg addisionele\n"
+" funksionaliteit\n"
+"by die standaard UNIX cron, insluitende beter sekuriteit en 'n kragtiger\n"
+"konfigurasie."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"\"FAM\" is 'n montor daemon wat verslag lewer sodra lêers verander.\n"
+"Word deur GNOME en KDE gebruik"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM verleen muisvermoëns aan teksgebaseerde Linuxapplikasies soos\n"
+"Midnight Commander. Dit laat muisgebaseerde knip-en-plak aksies op die\n"
+"konsole toe asook opspringkieskaarte."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake tas die hardeware af, en konfigureer\n"
+"nuwe/veranderde hardeware."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache is 'n WWW-bediener.\n"
+"Dit kan HTML-lêers uitstuur en CGI's hanteer"
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Die internet-superbedienerdiensprogram (gewoonlik inetd genoem) laai 'n\n"
+"verskeidenheid internetdienste soos nodig. Dit is gewoonlik verantwoordelik "
+"vir\n"
+"telnet, ftp, rsh en rlogin. As inetd gesper word, sper dit ook die dienste "
+"waarvoor\n"
+"inetd verantwoordelik is."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Loods die filter van pakkies vir die 'Linux 2.2 kernel'-reeks, om 'n\n"
+"vuurmuur op te stel, wat u rekenaar beskerm teen aanvalle oor die netwerk."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Hierdie pakket laai die sleutelbordkaart soos dit in\n"
+"/etc/sysconfig/keyboard\n"
+"opgestel is. Dit kan vernader word met die kbdconfig nutsprogram.\n"
+"U moet dit op meeste rekenaars ongesper laat."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Outospeuring en hardewarekonfigurasie met herlaaityd."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf sal soms verskillende take verrig tydens die selflaai,\n"
+"om so die stelsel se konfigurasie te onderhou."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd is die drukkerdiensprogram en is nodig vir lpr om te funksioneer.\n"
+"Dit is 'n diens wat drukstukke na drukkers toe reguleer."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"'Linux Virtual Server', word gebruik om 'n hoë werkverrigting\n"
+"en beskikbare bediener te verkry."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) is die domeinnaamdiens (DNS) wat gebruik word om\n"
+"rekenaarname na IP-adresse toe om te skakel."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Heg en ontheg alle netwerklêerstels (NFS), SMB (Lan Manger/Windows)\n"
+"en NCP (Netware) hegpunte."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktiveer/Deaktiveer all netwerkkoppelvlakke wat opgestel is om by\n"
+"herlaaityf te begin."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS is 'n populêre protokol vir lêerdeling oor TCP/IP netwerke.\n"
+"Hierdie diens voorsien NFS-bedienerfunksionaliteit. Dit word via\n"
+"die /etc/exports lêer opgestel."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS is 'n populêre protokol vir lêerdeling oor TCP/IP netwerke.\n"
+"Hierdie diens voorsien die NFS-lêersluitfunksionaliteit."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Aktiveer outomaties die numslot-sleutel vir die aantekentolk en\n"
+"'Xorg' tydens selflaai."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Ondersteun die OKI-4W en aanpasbare WIN-drukkers"
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA is gewoonlik nodig om ondersteuning te verleen aan\n"
+"toestelle soos ethernet en modems in skootrekenaars. Dit sal nie\n"
+"gelaai word, behalwe as dit konfigureer is nie en dit is derhalwe\n"
+"veilig om op rekenaars te hê wat dit nie nodig het nie."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper bestuur RPC-konneksies wat deur protokolle soos NFS en NIS\n"
+"gebruik word. Portmap moet loop op rekenaars wat as bedieners vir hierdie\n"
+"protokolle, en ander protokolle wat die RPC meganisme gebruik, dien."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix is 'n e-posoordragagent (MTA). Dit is die program wat e-pos\n"
+"van een bediener na 'n ander oordra."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Stoor en herstel die stelsel-entropie-poel vir hoë kwaliteit,\n"
+"lukraak-nommergenerasie."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Ken rou-toestelle aan blok-toestelle toe ( soos bv. hardeskyf\n"
+"partisies), vir programme soos Oracle en DVD-spelers"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Die 'routed' diensprogram hanteer outomatiese IP-roeteer-tabel-opdatering\n"
+"via die RIP protokol. Alhoewel RIP baie gebruik word in klein netwerke, is\n"
+"meer komplekse protokolle nodig vir komplekser netwerke."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Die 'rstat' protokol laat gebruikers op 'n netwerk toe om\n"
+"werksverrigting-inligting oor enige rekenaar op die\n"
+"netwerk te onttrek."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Die 'rusers' protokol laat netwerkgebruikers toe om te bepaal wie\n"
+"aangeteken is op ander samewerkende rekenaars."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Die 'rwho' protokol laat eksterne gebruikers toe om te sien wie\n"
+"ingeteken is op 'n rkeneaar wat die 'rwho' diensprogram loop. (Amper soos "
+"'finger')."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Laai die klankstelsel op u rekenaar"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog is die fasiliteit wat baie diensprogramme gebruik om boodskappe\n"
+"te log na 'n verskeidenheid loglêers. Dit is altyd goed om syslog te loop."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Laai die drywers vir u USB-toestelle"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Laai die X-fontbediener (dis nodig vir Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Drukwerk"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Lêerdeling"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Stelsel"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Eksterne-administrasie"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Databasis-bediener"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Dienste"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Kies watter dienste moet outomaties begin met herlaaityd."
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Dienste: %d ge-aktiveer vir %d geregistreer"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "aktief"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "onaktief"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Dienste en deamone"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Jammer, geen ekstra inligting\n"
+"rakende hierdie diens nie."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Begin sodra gevra word"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "met herlaai"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Begin"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPSIES] [PROGRAMNAAM]\n"
+"\n"
+"OPSIES:\n"
+" --help - vertoon hierdie hulp boodskap.\n"
+" --report - program behoort een van die Mandriva nutsprogramme te "
+"wees\n"
+" --incedent - program behoort een van die Mandriva nutsprogramme te "
+"wees"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[sleutelbord]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Gebruik: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Voeg bediener by"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asie"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Noord-Amerika"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Masedonië"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Suid-Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Russian Federation"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Is dit korrek?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "bestands-kieser"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Tuisgids nie beskikbaar nie."
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Nie 'n gids nie"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Nee soos lêer"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Maak boom oop"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Maak boom toe"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Skakel tussen plat- en groepsortering"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s is nie geïnstalleer nie\n"
+"Klik \"Volgende\" om te installeer of \"Kanseleer\" om te stop"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installasie het gefaal!"
+
+#~ msgid "Icon"
+#~ msgstr "Ikoon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Aantal ontvang-buffers:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "aantal ontvang-buffers vir nmap se vangs"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL verstelling:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Ondersteunig vir Radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "laat radio ondersteuning toe"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/am.po b/perl-install/share/po/am.po
new file mode 100644
index 000000000..c5ce5581e
--- /dev/null
+++ b/perl-install/share/po/am.po
@@ -0,0 +1,6095 @@
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/am.php3
+# Copyright (C) 2004 Mandriva SA
+# Alemayehu Gemeda <alemayehu@gmx.at>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-06-01 03:36+0100\n"
+"Last-Translator: Alemayehu <alemayehu@gmx.at>\n"
+"Language-Team: Amharic <am-translate@geez.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "እባክዎ ይጠብቁ"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "የአስጀማሪ ተከላ በመከናወን ላይ"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr ""
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr ""
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "ፍሎፒ ላይ"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "ዝለል"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "የLILO/grub ተከላ"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "አስጀማሪውን የት መትከል ይፈልጋሉ?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "የአጀማመር ዘይቤ ምርጫ"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "የአስጀማሪ ዋና ምርጫዎች"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "አስጀማሪያ"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "ጥቅም ላይ የሚውለው አስጀማሪ"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "የመጀመሪያ መሳሪያ"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr ""
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI አስቻል"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ACPI አስቻል"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ACPI አስቻል"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "ሚስጢራዊ ቃል"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "ሚስጢራዊ ቃላቱ አይመሳሰሉም"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "እባክዎ እንደገና ይሞክሩ"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "ሚስጢራዊ ቃል (እንደገና)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "የትእዛዝ መስመር ምርጫዎችን ወስን"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ወስን"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "በየጅማሬው /tmpን አጽዳ"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr ""
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "መልዕክት አስጀምር"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "የFirmware አዘግይ ክፈት"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "ከዲሲ ማስጀመር አስችል?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr ""
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "ቀዳሚ OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "ምስል"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr ""
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "የቪዲዮ አሰራር ዘዴ"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr ""
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "የተጠቃሚው እይታ"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "መለያ"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "ቀዳሚ"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr ""
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr ""
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr ""
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr ""
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr ""
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "ሊኑክስ"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "ሌሎች የመጠቀሚያ ዜዴዎች (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "ሌሎች የመጠቀሚያ ዜዴዎች (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "ሌሎች የመጠቀሚያ ዜዴዎች (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "የX ፕሮግራሞች ማሳያ"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "ፍቀድ \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s በፊት ተጨምሯል)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "እባክዎ የተጠቃሚ ስም ይስጡ"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "የተጠቃሚ ስሙ በጣም ረጅም ነው"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "ይህ የተጠቃሚ ስም በፊትም ነበር"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "የተጠቃሚ መለያ ቁጥር"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "የብድን መለያ ቁጥር"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "(%f በሰነድ-ስም ይተካል፤ %l በመስመር ቁጥር)"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "ተጠቃሚ ጨምር"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"የተጠቃሚ ስም ያስገቡ\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "ጨርሷል"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "ተጠቃሚ ተቀበል"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "እውነተኛ ስም"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Name=ዝምብለህ ይግባ"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "ሼል"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr ""
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "ይህንን ሁኔታ መጠቀም ይፈልጋሉ?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "ቀዳሚ ተጠቃሚ ይምረጡ:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr ""
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr ""
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "ውጣ"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "ተቀበል"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "አትቀበል"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "እባክዎ መጠቀሚያ ቋንቋ ይምረጡ።"
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "የመመሪያ ገጾች"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "ሁሉንም ቋንቋዎች"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "ሀገር / አካባቢ"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "እባክዎ ሀገሮን ይምረጡ።"
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "እዚህ ያሉት ሀገሮች ሙሉ ዝርዝር ይገኛል"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "ሌላ ምርጫዎች"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "ጠላቂ"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "የX ዘገባ የማስትገባት ዘዴ"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "ምንም"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "መጋራት የለም"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "ለሁሉም ተጠቃሚዎች ፍቀድ"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "ምርጫ"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "userdrake አስጀምር"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "ዝጋ"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "የሰአት ክልል"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "የሰአት ክልሎት የትኛው ነው?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "ለሀርድዌር ሰአት GMT ተመርጧል"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "ለሀርድዌር ሰአት GMT ተመርጧል"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP ሰርቨር"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, fuzzy, c-format
+msgid "Local file"
+msgstr "የቅርብ ፋይሎች"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "የWindows ዶሜን"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "አኃዞች (ከክፍተት ጋር)"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "አኃዞች (ከክፍተት ጋር)"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "የቅርብ ፋይሎች:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "የWindows ዶሜን:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "አኃዞች (ከክፍተት ጋር)"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "አኃዞች (ከክፍተት ጋር)"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr ""
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "የLDAP ሰርቨር"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "ቀላል"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr ""
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr ""
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "የX ዘገባ የማስትገባት ዘዴ"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "ዶሜን"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "ሰርቨር"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "ዳታቤዝ"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "ሚስጥር-ቃል ያስፈልጋል"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr ""
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "የNIS ዶሜን"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "የNIS ሰርቨር"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "የWindows ዶሜን ትክክለኝነቱን ማረጋጥ"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr ""
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "የዶሜን አስተዳዳሪ ሚስጢራዊ ቃል"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr ""
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "የroot ሚስጢራዊ ቃል ይምረጡ"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "የX ዘገባ የማስትገባት ዘዴ"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "ሚስጢራዊ ቃል የለም"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO ከጽሁፍ መዘርዝር ጋር"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "በ/boot ውስጥ በቂ ቦታ የለም"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr ""
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "አስጀማሪውን እንደገና ይትከሉ"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d ደቂቃዎች"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 ደቂቃ"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d ሴኮንዶች"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "አዲስ"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr ""
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr ""
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr ""
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "ምርጫዎች"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "ስህተት"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "እባክዎ የWebDAV ሰርቨር URL ያስገቡ"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URLሉ በhttp:// ወይም በhttps:// መጀመር አለበት"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "ሰርቨር:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr ""
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "ምርጫዎች: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "በጥንቃቄ ያንብቡ!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "ውጣ"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "ቀጥል"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "እርዳታ"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "ተግባር ይምረጡ"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "እባክዎ ክፋዩ ላይ ይጫኑ"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "ዝርዝሮች"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "ቋሚ ዲስኮችን አልተገኙም"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "ያልታወቀ"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "ሌላ"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "ባዶ"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "የፋይል ሲስተም አይነቶች:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "ማስጠንቀቂያ"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "ይዚህ ክፋይ መጠነ ተስተካካይ አይደለም"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "በመጀመሪያ “Unmount”ን ይጠቀሙ"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "በዚህ ፈንታ “%s”ን ይጠቀሙ"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "አይነት"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "ሌላ ክፋይ ይምረጡ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "ክፋይ ይምረጡ"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "ወደ ነበረበት መልስ"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "ስየማ"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "ለማንኛውም ቀጥል?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "ሳታስቀምጥ ውጣ"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr ""
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr ""
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "ሁሉንም ሰርዝ"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "በራስ-ገዝ አመልካች"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "ተጨማሪ"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "የቋሚ ዲስክ መረጃ"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr ""
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr ""
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "የክፋይ ሠንጠረዡን አስቀምጥ"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "የክፋይ ሠንጠረዡ ወደ ነበረበት መልስ"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "የክፋይ ሠንጠረዡን አድን"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "የክፋይ ሠንጠረዡን እንደገና ጫን"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "ፋይል ይምረጡ"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "ዝርዝር መረጃ"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "መጠን አስተካክል"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "ፎርማት"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "ወደ RAID ጨምር"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "ወደ LVM ጨምር"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "አጥፋ"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "ከRAID አስወግድ"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "ከLVM አስወግድ"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID ለውጥ"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "ዞሮ ለመመለስ ተጠቃም"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "ፍጠር"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "አዲስ ክፋይ ፍጠር"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "ሴክተር ጀምር፦"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "መጠን በMB:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "የፋይል ሲስተም አይነት: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "ምርጫ: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "የጉልሃዊ ይዞታ ስም"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "የዞሮ መመለሻ ፋይሉ ይወገድ?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "የክፋይ ዓይነት ለውጥ"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "የትኛውን የፋይል ሲስተም ይፈልጋሉ?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "መለያ"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%sን የት መትከል ይፈልጋሉ?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "መጠን በማስተካከል ላይ"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr ""
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "ይዚህ ክፋይ መጠነ ተስተካካይ አይደለም"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "አዲሱን መጠን ይምረጡ"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "አዲስ መጠን በMB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr ""
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "አዲስ"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr ""
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "የLVM ስም?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "የዞሮ መመለሻ ፋይል ስም: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "የፋይል ስም ይስጡ"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "ፋይሉ በፊትም ነበር። ልጠቀምበት?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "የተከላ ምርጫዎች"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "መሳሪያ"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "ደረጃ"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "የፊደል ቅርጽ መጠን፦"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "ይጠንቀቁ: ይህ አሰራር አደገኛ ነው።"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "ምን አይነት አከፋፈል?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr ""
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, fuzzy, c-format
+msgid "Check bad blocks?"
+msgstr "ተመልከት ይህንን"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "ወደ አዲሱ ክፋይ ፋይሎችን አንቀሳቅስ"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "ፋይሎች ደብቅ"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%sን በመገልበጥ ላይ"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%sን በማስወገድ ላይ"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "%s ከአሁን በኋላ %s በመባል ይታወቃል"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "መሳሪያ: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "አይነት: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "ስም: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "ጀምር፦ ሴክተር %sን\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "መጠን: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ""
+
+#: diskdrake/interactive.pm:1253
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "CD ወደ"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "አልተስተካከለም\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1258
+#, fuzzy, c-format
+msgid "RAID %s\n"
+msgstr "URI፦"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"ዞሮ መመለሻ ፋይል(ሎች):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "ደረጃ %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "የፊደል ቅርጽ መጠን፦"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "ዞሮ መመለሻ ፋይል ስም: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "ለንባብ ብቻ"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "መጠን፦ %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "መረጃ: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "የክፋይ ጠረጴዛ ዓይነት: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "በጣቢያ %d ID %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "የፋይል-ሲስተም ሚስጢራዊ ግልበጣ ቁልፍ"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr ""
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "የሚስጢራዊ ግልበጣ ቁልፍ"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "የሚስጢራዊ ግልበጣ ቁልፍ (እንደገና)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr ""
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "አይነት ለውጥ"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "ተወው"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "የተጠቃሚው የአጠቃቀም ደረጃ ያስፈልጋል"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "የትኛው የተጠቃሚ ስም"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "ሌላ"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "የተጠቃሚ ስም"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "ሰርቨሮችን ፈልግ"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "አዲስ ሰርቨሮችን ፈልግ"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "ጥቅል %s ይፈለጋል። መትከል ይፈልጋሉ?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "ምርጫዎችን ማስቀመጥ አልተቻለም"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr ""
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "ጥቅሎችን በመትከል ላይ..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "ጥቅሎችን በማስወገድ ላይ..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "ክፋይ %sን በማስተካከል ላይ"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "ፋይል %sን በመፍጠር እና በማስተካከል ላይ"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr ""
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s %sን ማስተካከል አልተሳካም"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr ""
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr ""
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%sን በማጣራት ላይ"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%sን የመንቀል ስህተት: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "የስዋፕ ክፋይ %sን በማስቻል ላይ"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "ለተራ ተጠቃሚዎች የመጻፍ ፈቃድ ስጥ"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "ለተራ ተጠቃሚዎች የንባብ ፈቃድ ብቻ ስጥ"
+
+#: fs/mount_point.pm:80
+#, fuzzy, c-format
+msgid "Duplicate mount point %s"
+msgstr "እያንዳንዱን የተመረጠውን አርዕስተ ጉዳይ አባዙ"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "ምንም ክፋይ አልተገኘም"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, fuzzy, c-format
+msgid "Choose the mount points"
+msgstr "የመመልከቻውን ቀለም ይምረጡ"
+
+#: fs/partitioning.pm:46
+#, fuzzy, c-format
+msgid "Choose the partitions you want to format"
+msgstr "እባክዎ ለማሳየት የሚፈልጉትን ተጠቃሽ-መረጃ ይምረጡ:"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "ነጻ ቦታ ተጠቀም"
+
+#: fs/partitioning_wizard.pm:82
+#, fuzzy, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "ወደ አዲሱ ክፋይ ፋይሎችን አንቀሳቅስ"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "የነበሩትን ክፋዮች ተጠቀም"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "%sን የት መትከል ይፈልጋሉ?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "መጠኖቹን ይምረጡ"
+
+#: fs/partitioning_wizard.pm:105
+#, fuzzy, c-format
+msgid "Root partition size in MB: "
+msgstr "አዲስ መጠን በMB: "
+
+#: fs/partitioning_wizard.pm:106
+#, fuzzy, c-format
+msgid "Swap partition size in MB: "
+msgstr "አዲስ መጠን በMB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "ምን ማድረግ ይፈልጋሉ?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "የሚቀጥለው"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "የMicrosoft Windows® ክፋይ መጠን በማስተካከል ላይ"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "መጠን"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "የMicrosoft Windows® ክፋይ መጠን በማስተካከል ላይ"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "የFATን መጠን መለወጥ አልተሳካም: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Microsoft Windows®ን አስወግድ"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "ዲስኩን እንዳለ ደምስስ"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "የተለመደውን ዲስክ አከፋፈል"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdiskን ተጠቀም"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "የመትከያ ቦታ ማግኘት አልቻልኩም"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "መከፋፈል አልተሳካም: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "ከ/usr ጋር"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "ሰርቨር"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr ""
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr ""
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "የሚሰራ ነገር የለም"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "ፍሎፒ"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "ዚፕ"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "ዲስክ"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "ሲዲ-ሮም"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "ዲሲ/ዲቪዲ አቃጣይ ፕሮግራሞች"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "ዲቪዲ-ሮም"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "ቴፕ"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "የAGP ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "የቪዲዮ ካርድ"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "የቲቪ ካርድ"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "ሌሎች የመገናኛ ብዙሃን መሳሪያዎች"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "የድምጽ ካርድ"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "ዌብ-ካም"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "የISDN ማመጣጠኛዎች"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "የኢተርኔት ካርድ"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "ሞደም"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "የADSL ማመጣጠኛዎች"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "ማስታወሻ"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "ማተሚያ"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "ጆይ ስቲክ"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "የSATA ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "የRAID ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "የካርድ ሞዴል፦"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "የFirewire ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "የPCMCIA ተቆጣጣዊዎች"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "የSCSI ተቆጣጣዊዎች"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "የUSB ተቆጣጣቂዎች"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "የUSB ፖርቶች"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "የSMBus ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "ድልድዮች እና ሲስተም ተቆጣጣሪዎች"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "መተየቢያ"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "መጠቆሚያ"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr ""
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "ያልታወቀ/ሌሎች"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "ሲፒዩ #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "እባክዎ ይጠብቁ... ምርጫውን በስራ ላይ አያዋለ ነው"
+
+#: harddrake/sound.pm:232
+#, fuzzy, c-format
+msgid "No alternative driver"
+msgstr "ምንም "
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "የድምጽ ምርጫ"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr ""
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, fuzzy, c-format
+msgid "No open source driver"
+msgstr "ስለ የነፃው ሶፍትዌር መረጃ አሳይ"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, fuzzy, c-format
+msgid "No known driver"
+msgstr "(ስለ ቃላት አጻጻፍ አስተያየት የለም)"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "ያልታወቀ የሆሄያት ኮድ፦ "
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, fuzzy, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "የነሲብ URLን አታስችል"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "በራስ-ገዝ ፈልጎ አግኝ"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "ያልታወቀ|አጠቃላይ"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "የካርድ ሞዴል፦"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "የፋይሉ ዓይነት"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "እሺ"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "አዎ"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "አይ"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "ፋይል ይምረጡ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "ጨምር"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "ለውጥ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "አስወግድ"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "ጨርስ"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "የቀድሞው"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "የማይመች ምርጫ፣ እንደገና ይሞክሩ\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "ምርጫዎ? (የቀድሞ %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "ምርጫዎ? (0/1፣ የቀድሞ `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "ቁልፍ `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "እዚህ ቁልፍ ላይ መጫን ይፈልጋሉ?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "ምርጫዎ? (የቀድሞ `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> ማሳሰቢያ፣ ስያሜ ተቀይሯል:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "እንደገና ውሰድ"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "አንዶራ"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "የተባበሩት አረብ ኤምሬትስ"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "አፍጋኒስታን"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "አንቲጉዋ እና ባርቡዳ"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "አንጉኢላ"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "አልባኒያ"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "አርሜኒያ"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "ኔዘርላንድስ አንቲልስ"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "አንጐላ"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "አንታርክቲካ"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "አርጀንቲና"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "የአሜሪካ ሳሞአ"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "ኦስትሪያ"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "አውስትሬሊያ"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "አሩባ"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "አዘርባጃን"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "ቦስኒያ እና ሄርዞጎቪኒያ"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "ባርቤዶስ"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "ባንግላዲሽ"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "ቤልጄም"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "ቡርኪና ፋሶ"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "ቡልጌሪያ"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "ባህሬን"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "ብሩንዲ"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "ቤኒን"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "ቤርሙዳ"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "ብሩኒ ዳሩሳላም"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "ቦሊቪያ"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "ብራዚል"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "ባሃማስ"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "ቡህታን"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "የቦውቬት ደሴት"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "ቦትስዋና"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "ቤላሩስ"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "ቤሊዘ"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "ካናዳ"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "ኮኮስ (ኬሊንግ) ደሴቶች"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "የኮንጐ ዲሞክራሲያዊ ሪፑብሊክ"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "የመካከለኛው አፍሪካ ሪፐብሊክ"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "የኮንጐ ዲሞክራሲያዊ ሪፑብሊክ"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "ስዊዘርላንድ"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "ኮት ዲቯር"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "ኩክ ደሴቶች"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "ቺሊ"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "ካሜሩን"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "ቻይና"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "ኮሎምቢያ"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "ኮስታሪካ"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "ሰርቢያ እና ሞንትኔግሮ"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "ኩባ"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "ኬፕ ቬርዴ"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "የገና ደሴቶች"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "ሳይፕረስ"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "ቼክ ሪፑብሊክ"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "ጀርመን"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "ጂቡቲ"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "ዴንማርክ"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "ዶሚኒካ"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "ዶሚኒክ ሪፑብሊክ"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "አልጄሪያ"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "ኢኳዶር"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "ኤስቶኒያ"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "ግብጽ"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "ምዕራባዊ ሳህራ"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "ኤርትራ"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "ስፔን"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "ኢትዮጵያ"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "ፊንላንድ"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "ፊጂ አይላንድ"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "ማርሻላዊ (የማርሻል አይላንድ)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "ሚክሮኔዢያ"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "ካይማን ደሴቶች"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "ፈረንሳይ"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "ጋቦን"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "እንግሊዝ"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "ግሬናዳ"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "ጆርጂያ"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "የፈረንሳይ ጉዊአና"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "ጋና"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "ጊብራልታር"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "ግሪንላንድ"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "ጋምቢያ"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "ጊኒ"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "ጉዋደሉፕ"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "ኢኳቶሪያል ጊኒ"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "ግሪክ"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "ደቡብ ጆርጂያ እና የደቡብ ሳንድዊች ደሴቶች"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "ጉዋቲማላ"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "ጉዋም"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "ጊኒ-ቢሳዎ"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "ጉያና"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "ቻይንኛ (የሆንግ ኮንግ)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "የቱርኮችና የካኢኮስ ደሴቶች"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "ሆንዱራስ"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "ክሮኤሽያ"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "ሀይቲ*"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "ሀንጋሪ"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "ኢንዶኔዢያ"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "አየርላንድ"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "እስራኤል"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "ህንድ"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "የብሪታኒያ ህንድ ውቂያኖስ ግዛት"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "ኢራቅ"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "ኢራን"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "አይስላንድ"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "ጣሊያን"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "ጃማይካ"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "ጆርዳን"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "ጃፓን"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "ኬንያ"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "ኪርጂክስታን"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "ካምቦዲያ"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "ኪሪባቲ"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "ኮሞሮስ"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "ቅዱስ ኪትስ እና ኔቪስ"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "ኮሪያ (ሰሜን)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "ኮሪያ ሪፐብሊክ"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "ክዌት"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "ካይማን ደሴቶች"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "ካዛኪስታን"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "ላኦስ"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "ሊባኖስ"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "ሴንት ሉቺያ"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "ሊችተንስታይን"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "ሲሪላንካ"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "ላይቤሪያ"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "ሌሶቶ"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "ሊቱዌኒያ"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "ሉክሰምበርግ"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "ላትቪያ"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "ሊቢያ"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "ሞሮኮ"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "ሞናኮ"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "ሞልዶቫ"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "ማዳጋስካር"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "ማርሻል አይላንድ"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "ማከዶኒያ"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "ማሊ"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "ማያንማር"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "ሞንጎሊያ"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "የሰሜናዊ ማሪያና ደሴቶች"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "ማርቲኒክ"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "ሞሪቴኒያ"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "ሞንትሴራት"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "ማልታ"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "ማሩሸስ"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "ማልዲቭስ"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "ማላዊ"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "ሜክሲኮ"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "ማሌዢያ"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "ሞዛምቢክ"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "ናሚቢያ"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "ኒው ካሌዶኒያ"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "ኒጀር"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "ኖርፎልክ ደሴት"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "ናይጄሪያ"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "ኒካራጓ"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "ኔዘርላንድ"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "ኖርዌይ"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "ኔፓል"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "ናኡሩ"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "ኒኡይ"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "ኒው ዚላንድ"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "ኦማን"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "ፓናማ"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "ፔሩ"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "የፈረንሳይ ፖሊኔዢያ"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "ፓፑዋ ኒው ጊኒ"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "ፊሊፒንስ"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "ፓኪስታን"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "ፖላንድ"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "ቅዱስ ፒዬር እና ሚኩኤሎን"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "ፒትካኢርን"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "ፖርታ ሪኮ"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "ፓለስታይን"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "ፖርቱጋል"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "ፓራጓይ"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "ፓላው"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "ኳታር"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "ሪዩኒየን ደሴት"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "ሮሜኒያ"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "ራሺያ"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "ሩዋንዳ"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "ሳውድአረቢያ"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "ሰሎሞን ደሴት"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "ሲሼልስ"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "ሱዳን"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "ስዊድን"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "ሲንጋፖር"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "ሴንት ሄለና"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "ስሎቬኒያ"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "ስቫልባርድ እና ጃን ሜይን ደሴቶች"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "ስሎቫኪያ"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "ሴራሊዮን"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "ሳን ማሪኖ"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "ሴኔጋል"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "ሱማሌ"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "ሱሪናም"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "ሳኦ ቶሜ እና ፕሪንሲፔ"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "ኤል ሳልቫዶር"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "ሲሪያ"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "ሱዋዚላንድ"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "የቱርኮችና የካኢኮስ ደሴቶች"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "ቻድ"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "የፈረንሳይ ደቡባዊ ግዛቶች"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "ቶጐ"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "ታይላንድ"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "ታጃኪስታን"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "ቶክላው"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "ምስራቅ ቲሞር"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "ቱርክሜኒስታን"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "ቱኒዚያ"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "ቶንጋ"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "ቱርክ"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "ትሪኒዳድ እና ቶባጎ"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "ቱቫሉ"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "ታይዋን"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "ታንዛኒያ"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "ዩክሬን"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "ዩጋንዳ"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "የአሜሪካ ጥቃቅን ውጫዊ ደሴቶች"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "አሜሪካ"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "ኡራጓይ"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "ዩዝበኪስታን"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "ቫቲካን ከተማ"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "ቅዱስ ቪንሴንት እና ግሬናዲንስ"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "ቬንዙዌላ"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "የእንግሊዝ ድንግል ደሴቶች"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "የእንግሊዝ ድንግል ደሴቶች"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "ቬትናም"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "ቫኑአቱ"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "ዋሊስ እና ፉቱና ደሴቶች"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "የአሜሪካ ሳሞአ"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "የመን"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "ሜይኦቴ"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "ደቡብ አፍሪካ"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "ዛምቢያ"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "ዚምቧቤ"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "ወደ %s እንኳን ደህና መጡ"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "ተስተካክሎ የተቀመጠውን ባዕድ መነሻ ጥቀስ"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "የአቃጅ ምርጫ"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, fuzzy, c-format
+msgid "Found %s interfaces"
+msgstr "አልተገኘም"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "ሌላ አልዎት?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "ማንኛውም %s እይታዎች አልዎት?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "የሃርድዌር መረጃ ይመልከቱ"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr ""
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr ""
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr ""
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr ""
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr ""
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "የአቃጅ ምርጫዎች:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "ራስ-ገዥ ሞካሪ"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "ምርጫዎችን ይግለጹ"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+
+#: partition_table.pm:390
+#, fuzzy, c-format
+msgid "mount failed: "
+msgstr "%s አልተገኘም"
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr ""
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%sን በማንበብ ላይ ስህተት ተፈጥሯል"
+
+#: partition_table.pm:604
+#, fuzzy, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "ከ &pot ሰነድ አሻሽል"
+
+#: partition_table.pm:606
+#, fuzzy, c-format
+msgid "Bad backup file"
+msgstr "ጥሩው የፋይል ዓይነት"
+
+#: partition_table.pm:626
+#, fuzzy, c-format
+msgid "Error writing to file %s"
+msgstr "ስህተት፦ የታቀደው ፋይል '%s'ን መክፈት አልተቻለም\n"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, fuzzy, c-format
+msgid "Allow/Forbid autologin."
+msgstr "የተለመደውን ቱልባሮች ፍቀድ"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "የደህንነት ደረጃ፦"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "የገጽ &ቅንጅት"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "የአቢወርድ ቋንቋ፦"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, fuzzy, c-format
+msgid "Accept icmp echo"
+msgstr "አስተያየት የተሰጠበትን ለውጥ ተቀበል"
+
+#: security/l10n.pm:15
+#, fuzzy, c-format
+msgid "/etc/issue* exist"
+msgstr "%s ሰነድ የለም"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr ""
+
+#: security/l10n.pm:18
+#, fuzzy, c-format
+msgid "Direct root login"
+msgstr "የሚፈነጠቅ መመልከቻ ሲጀምር _አሳይ"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "ይህንን መስኮት አተልቀው"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr ""
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, fuzzy, c-format
+msgid "Daily security check"
+msgstr "ተመልከት ይህንን"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr ""
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "የታሪክ መስኮት ክፈት"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "የRoot የሚስጢር ቃል ፦"
+
+#: security/l10n.pm:42
+#, fuzzy, c-format
+msgid "Shell history size"
+msgstr "አውቶማቲክ የአምድ መጠን"
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "የሼል ውጤት"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "የተጠቃሚ ስም"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "ስለ &Open Source"
+
+#: security/l10n.pm:46
+#, fuzzy, c-format
+msgid "Check for unsecured accounts"
+msgstr "ሰነዱን ከተሳሳተ የቃላት አጻጻፍ አጣሩ"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, fuzzy, c-format
+msgid "Report unowned files"
+msgstr "ሁሉንም የምስል ፋይሎች"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, fuzzy, c-format
+msgid "Run chkrootkit checks"
+msgstr "በተርሚናሉ ውስጥ &አስኪድ"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, fuzzy, c-format
+msgid "Welcome To Crackers"
+msgstr "እንደገና የሚሰራ ምንም የለም።"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "መደበኛ"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "ከፍ ያለ"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr ""
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "ደህንነት"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "ባለሁለት አቅጣጫ ምርጫዎች"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr ""
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "የደህንነት ደረጃ፦"
+
+#: security/level.pm:63
+#, fuzzy, c-format
+msgid "Use libsafe for servers"
+msgstr "ለህብሩ የglyph ቅርጽ አወጣት ተጠቀም"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "በማተም ላይ"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "ኢንተርኔት"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "ሰነድ መጋራት"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "ሲስተም"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr ""
+
+#: services.pm:133
+#, fuzzy, c-format
+msgid "Database Server"
+msgstr "ስለተጠሪ መረጃ"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "አገልግሎት"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "በሥራ ላይ"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr ""
+
+#: services.pm:201
+#, fuzzy, c-format
+msgid "Services and daemons"
+msgstr "የገጽ አናት እና የገጽ ግርጌ"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "መረጃ"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "በተጠየቀ ጊዜ ጀምር"
+
+#: services.pm:215
+#, fuzzy, c-format
+msgid "On boot"
+msgstr "የተመሠረተው፦"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "ጀምር"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "አቁም"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[መተየቢያ]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "ተጠሪ ጨምር"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "ደቡብ አፍሪካ"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "ኦስትሪያ"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "ደቡብ አፍሪካ"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "ማከዶኒያ"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "ደቡብ አፍሪካ"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "ሆንግ ኮንግ"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "ራሺያ"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "ዩጎዝላቪያ"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "ይህ ትክክል ነው?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "የፋይል ምልክት"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "የቤት ዶሴ አልተገኘም።"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "ዶሴ አይደለም"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "ፋይሉ `%s'ን የለም\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr ""
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr ""
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr ""
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, fuzzy, c-format
+msgid "Installation failed"
+msgstr "%s አልተገኘም"
+
+#~ msgid "Icon"
+#~ msgstr "ምልክት"
+
+#, fuzzy
+#~ msgid "Number of capture buffers:"
+#~ msgstr "የአምዶቹን ቍጥር ለውጥ"
+
+#~ msgid "PLL setting:"
+#~ msgstr "የPLL ምርጫ"
+
+#~ msgid "Radio support:"
+#~ msgstr "የሬዲዮ ድጋፍ"
+
+#~ msgid "enable radio support"
+#~ msgstr "የሬዲዮ ድጋፍ አስቻል"
diff --git a/perl-install/share/po/ar.po b/perl-install/share/po/ar.po
new file mode 100644
index 000000000..1ca0f49df
--- /dev/null
+++ b/perl-install/share/po/ar.po
@@ -0,0 +1,6692 @@
+# translation of DrakX.po to Arabic
+# Amr Fathy <amr10@menanet.net>, 2001.
+# Mohammed Gamal <f2c2001@yahoo.com>, 2002.
+# Youcef Rabah Rahal <rahal@arabeyes.org>, 2004.
+# Ossama M. Khayat <okhayat@yahoo.com>, 2004, 2005.
+# Munzir Taha <munzir@kacst.edu.sa>, 2004.
+# Abdulaziz Al-Arfaj <alarfaj@arabeyes.org>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-03-03 01:06+0300\n"
+"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
+"Language-Team: Arabic <support@arabeyes.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : n>=3 && n<=10 ? 2 : "
+"3\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "الرجاء الانتظار"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "محمل الإقلاع قيد التثبيت"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"يريد LILO تعيين رقم هويّة كتلة للقرص %s. على اي حال، فإن\n"
+"تغيير رقم هويّة الكتلة لقرص إقلاع ويندوز NT، 2000، أو XP هو خطأ جسيم.\n"
+"هذا التحذير لا ينطبق على أقراص بيانات ويندوز 95 أو 98 أو NT.\n"
+"\n"
+"أتريد تعيين رقم هويّة كتلة جديد؟"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "فشل تثبيت محمّل الإقلاع. حدث الخطأ التالي:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"قد تحتاج إلى تغيير جهاز إقلاع Open Firmware كي تُمكّن مُحمّل الإقلاع. إن لم يكن "
+"مُلقّن محمّل الإقلاع يظهر\n"
+"عند إعادة التشغيل، ابق ضاغطاً على Command-Option-O-F عند إعادة التتشغيل "
+"وأدخل:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" ثم اكتب: shut-down\n"
+"بعد إقلاع النظام التالي يجب أن ترى مُلقّن محمّل الإقلاع."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"لقد قررت تثبيت محمّل الإقلاع على تجزيء.\n"
+"هذا يعني أنه لديك محمّل إقلاع على القرص الذي تستخدمه للإقلاع (مثال: System "
+"Commander).\n"
+"\n"
+"على أي قرص تقوم بالإقلاع؟"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "القطاع الأول من القرص (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "القطاع الأول من التجزيء الجذري"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "على قرص مرن"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "تخطّي"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "تثبيت LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "أين تريد تثبيت محمّل الإقلاع؟"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "تهيئة أسلوب الإقلاع"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "خيارات محمّل الإقلاع الرئيسية"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "محمّل الإقلاع"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "محمّل الإقلاع المُستخدم"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "جهاز الإقلاع"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "توقيت ما قبل إقلاع الصورة الافتراضية"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "تمكين ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "تمكين ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "تمكين ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "كلمة المرور"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "كلمات المرور غير متطابقة"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "الرجاء المحاولة مجدداً"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "لا يمكنك استخدام نظام ملفات مرمّز لمكان التركيب %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "كلمة المرور (مجدداً)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "تشديد خيارات سطر الأوامر"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "تشديد"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "خيار ``تشديد خيارات سطر الأوامر`` لا ينفع دون كلمة مرور"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "تنظيف /tmp عند كل إقلاع"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "حجم الذاكرة الدقيق عند الحاجة (عثر على %d م.ب.)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "اكتب حجم الذاكرة بالميغابايت"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "رسالة Init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "تأخير Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "الوقت الأقصى لإقلاع النواة"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "تمكين الإقلاع من القرص المدمج؟"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "تمكين إقلاع OF؟"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "نظام التشغيل الافتراضي؟"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "صورة"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "الجذر"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "إلحاق"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "وضعية الفيديو"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "سجلّ إعداد الشبكة "
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "تسمية"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "افتراضي"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "لا فيديو"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "لا يُسمح بالتسميات الفارغة"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "يجب تحديد صورة النواة"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "يجب تحديد تجزيء جذر"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "هذه التسمية مستخدمة مسبقا"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "ما نوع المدخل المُراد إضافته؟"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "لينكس"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "نظام تشغيل آخر (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "نظام تشغيل آخر (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "نظام تشغيل آخر (ويندوز...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"هذه هي المدخلات المختلفة في قائمة الإقلاع حتى الآن.\n"
+"يمكنك إضافة مدخلات أخرى أو تغيير الموجودة."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "الوصول إلى برامج X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "الوصول إلى أدوات rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "السماح بـ\"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "الوصول إلى ملفات الإدارة"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "الوصول إلى أدوات الشبكة"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "الوصول إلى أدوات التجميع"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(تمت إضافة %s مسبقا)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "الرجاء إعطاء اسم مستخدم"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "اسم المستخدم يجب أن يحتوي فقط على الحروف الصغيرة، والأرقام، و`-' و `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "اسم المستخدم طويل جداً"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "اسم المستخدم مُضاف مسبقا"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "هوية المستخدم"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "هوية المجموعة"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "الخيار %s يجب أن يكون رقماً!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "إضافة مستخدم"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"إدخال مستخدم\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "تم"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "قبول المستخدم"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "الاسم الحقيقي"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "اسم الدخول"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "الصدفة"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "تسجيل دخول آلي"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "يمكن إعداد جهازك لتسجيل الدخول آلياً لمستخدم معين."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "هل تريد استخدام هذه الميزة؟"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "اختيار المستخدم الافتراضي:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "اختيار مدير النوافذ الذي سيتم تشغيله:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "اتفاقية الترخيص"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "خروج"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "ملاحظات الإصدار"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "قبول"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "رفض"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "الرجاء اختيار لغة لاستخدامها."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "خيار اللغة"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"يدعم ماندريبا لينكس العديد من اللّغات. اختر\n"
+"اللّغات التي تريد تثبيتها. ستكون هذه متوفرةً عند\n"
+"اكتمال التثبيت و إعادة تشغيل نظامك."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "كل اللغات"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "الدولة / الإقليم"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "الرجاء اختيار الدولة."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "هذه قائمة كاملة بكل الدول المتوفرة"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "دول أخرى"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "متقدم"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "طريقة الإدخال:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "لاشيء"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "لا مشاركة"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "السماح لكل المستخدمين"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "مخصّص"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"هل تريد السماح للمستخدمين بمشاركة بعض الأدلة الخاصة بهم؟\n"
+"السماح بذلك سيسمح للمستخدمين بأن يضغطوا زر المشاركة في Konqueror و "
+"nautilus.\n"
+"\n"
+"\"مخصص\" يسمح لك بعمل إعدادات خاص لكل مستخدم.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr "NFS: نظام تقسيم ملفّات يونكس التّقليدي، بدعم أقلّ على ماك و ويندوز."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: نظام تقسيم ملفّات مستعمل من قبل ويندوز، ماك OS X و العديد من أنظمة لينكس "
+"الحديثة."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "يمكنك التّصدير باستعمال NFS أو SMB. الرجاء اختيار أيّهما تريد استعماله."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "تشغيل userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "إغلاق"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"المشاركة لكل مستخدم تستخدم المجموعة \"fileshare\".\n"
+"يمكنك أن تستخدم userdrake لإضافة مستخدم في هذه المجموعة."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "يرجى تسجيل الخروج ثم استخدام Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "تحتاج أن تقوم بالخروج والعودة مجدّداً حتى يسري مفعول التّغييرات"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "المنطقة الزمنية"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "ما هي منطقتك الزمنية؟"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "ساعة الجهاز مضبوطة على توقيت غرينتش"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "ساعة الجهاز مضبوطة على توقيت غرينتش"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "خادم NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "تزامن وقت آلي (باستخدام NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "ملفّ محلي"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "بطاقة ذكيّة"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "نطاق ويندوز"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory مع SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory مع Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "ملفّ محلّي:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"استخدام local لكل المواثقة والمعلومات التي يخبرها المستخدم في ملف local"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"يطلب من حاسبك استعمال LDAP للبعض من أو لجميع المواثقة. يقوم LDAP بتوحيد "
+"البعض من أنواع المعلومات داخل منظّمتك."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"يسمح لك بتشغيل مجموعة من الحاسبات في نفس خدمة معلومات الشّبكة (NIS) بكلمة "
+"مرور و ملفّ مجموعة مشتركين."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "نطاق ويندوز:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"يسمح Winbind للنّظام بجلب المعلومات و مواثقة المستخدمين في نطاق لويندوز."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory مع SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory مع Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "تحقق LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "خادم LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "بسيط"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "النّسق الأمني (SASL/Kerberos("
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "مواثقة Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "النطاق"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "خادم"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "قاعدة بيانات مستخدمي LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "استخدام Anonymous BIND"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "مسموح لمستخدم LDAP بتصفّح Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "كلمة مرور المستخدم"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "مواثقة NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "نطاق NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "خادم NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"كي يعمل هذا من أجل متحكّم نطاق أوّليّ PDC لويندوز 2000، سوف يكون على المدير على "
+"الأرجح أن ينفّذ: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone /add وأن يعيد تشغيل الخادم.\n"
+"سوف تحتاج أيضاً إلى اسم المستخدم/كلمة السّر لمدير النطاق لتضُمّ الجهاز إلى نطاق "
+"ويندوز.\n"
+"إن لم يكن التّشبيك مُمكّناً بعد، سيحاول DrakX أن ينضمّ إلى النطاق بعد خطوة إعداد "
+"الشّبكة.\n"
+"إن فشلت هذه الخطوة لسبب ما ولم يعمل مواثقة النطاق، نفّذ 'smbpasswd -j DOMAIN -"
+"U USER%%PASSWORD' باستخدام نطاق ويندوز، واسم مستخدم/كلمة سرّ المدير، بعد "
+"إقلاع النّظام.\n"
+"سيختبر الأمر 'wbinfo -t' ما إذا كانت أسرار مواثقتك جيّدة."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "نطاق مواثقة ويندوز"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "اسم المستخدم لمدير النطاق"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "كلمة المرور لمدير النطاق"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "المواثقة"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "ضع كلمة مرور المستخدم الجذر"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "طريقة المواثقة"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "بدون كلمة مرور"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "كلمة المرو هذه قصيرة جداً (يجب أن تكون %d رموز على الأقل)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "لم يمكن استخدام البثّ دون اسم نظام NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO مع قائمة نصية"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "لا توجد مساحة كافية في /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "يمكنك تثبيت محمّل الإقلاع على التجزيء %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr "تهيئة محمّل الإقلاع يجب أن يحدّث لأنّ التجزيء تمّ إعادة ترقيمه"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"لا يمكن تثبيت محمّل الإقلاع بشكل صحيح. يجب أن تقوم بإقلاع الإنقاذ وتختار \"%s"
+"\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "إعادة تثبيت مُحمِّل الإقلاع"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "ك.ب."
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "ك.ب."
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "م.ب."
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "غ.ب."
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "ت.ب."
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d دقائق"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "دقيقة واحدة"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d ثوان"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV هو برتوكول يسمج لك بتحميل دليل في خادم الوب بشكل\n"
+"محلي، و معاملته كنظام ملفات محلي (يجب أن يكون خادم الوب معدّ\n"
+"كخادم WebDAV). إذا كنت تريد إضافة نقاط تحميل\n"
+"WebDAV، اختر \"جديد\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "جديد"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "فكّ"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "تركيب"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "مكان التركيب"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "خيارات"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "خطأ"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "الرجاء إدخال عنوان خادم WebDav"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "العنوان يجب أن يبدأ بـ http:// أو https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "الخادم: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "مكان التركيب:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "الخيارات: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "التجزئة"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "اقرأ جيدا!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "رجاء نسخ بياناتك احتياطيّاً أولاً"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "خروج"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "استمرار"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"إن كنت تريد استخدام aboot، فلا تنْسَ أن تترك مساحة فارغة (يكفي 2048 قِطاع)\n"
+"في بداية القُرص"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "مساعدة"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "اختيار عمل"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"لديك تجزيء ميكروسوفت ويندوز واحد كبير.\n"
+"أقترح أن تغيّر حجم هذا التجزيء\n"
+"(اضغط عليه ثم اختر \"تغيير الحجم\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "الرجاء الضغط على تجزيء"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "تفاصيل"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "تعذّر العثور على أقراص صلبة"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "مجهول"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "ويندوز"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "أخرى"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "فارغ"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "أنواع أنظمة الملفات:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "تحذير"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "هذا التجزيء غير قابل لتغيير الحجم"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "استخدام ``الفكّ'' أولا"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "استخدام ``%s'' بدلا من ذلك"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "النوع"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "اختيار تجزيء آخر"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "اختيار تجزيء"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "تراجع"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "الانتقال إلى الوضع العادي"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "الانتقال إلى وضعية الخبير"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "التهيئة"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "استمرار على أي حال؟"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "الخروج بدون حفظ"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "هل تريد الخروج بدون كتابة جدول التجزئة؟"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "هل تريد حفظ تعديلات /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "تحتاج إلى إعادة التثبيت لتفعيل التعديلات على جدول التجزئة"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"يفضّل أن تنسّق التّجزيء %s.\n"
+"إن لم تفعل فلن يسجّل أي مُدخل لنقطة التّركيب %s في fstab.\n"
+"هل تريد الخروج على أي حال؟"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "مسح الكل"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "تحديد آلي"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "المزيد"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "معلومات القرص الصلب"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "كل التجزيئات الرئيسية مستخدمة"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "لا يمكن إضافة أي تجزيئات أخرى"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "للحصول على تجزيئات أكثر، يرجى إلغاء تجزيء كي تتمكن من عمل تجزيء ممتد"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "حفظ جدول التجزئة"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "استعادة جدول التجزئة"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "إنقاذ جدول التجزئة"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "إعادة تحميل جدول التجزئة"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "التركيب الآلي للوسائط القابلة للإزالة"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "اختيار ملف"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"جدول التجزئة المحفوظ ليس بنفس الحجم\n"
+"لا زلت تريد الاستمرار؟"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "جاري محاولة إنقاذ جدول التجزئة"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "معلومات مفصّلة"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "تغيير الحجم"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "تنسيق"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "إضافة إلى RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "إضافة إلى LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "حذف"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "ازالة من RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "ازالة من LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "تعديل RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "استخدام لـloopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "إنشاء"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "إنشاء تجزيء جديد"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "قطاع البداية: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "الحجم بالميغابايت: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "نوع نظام المفات: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "التفضيل: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "اسم الكتلة المنطقيّة"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"لا يمكنك إنشاء تحزيء جديد\n"
+"(لأنك وصلت إلى العدد الأقصى من التجزيئات الأساسية).\n"
+"أولاً احذف تجزيء أساسياً و قم بإنشاء تجزيء ممتد."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "هل تريد إزالة ملف loopback؟"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "بعد تغيير نوع التجزيء %s، فإنك ستسخر كل البيانات على هذا التجزيء"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "تغيير نوع التجزيء"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "أي نظام ملفات تريد؟"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "جاري التغيير من ext2 إلى ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "تسمية"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "أين تريد تركيب ملف loopback %s؟"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "أين تريد تركيب الجهاز %s؟"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"تعذّر فكّ مكان التركيب نظرا لأن هذه التجزيء مستخدم لـloop back.\n"
+"قم بإزالة الـloopback أولا"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "أين تريد تركيب الجهاز %s؟"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "تغيير الحجم"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "حساب روابط نظام ملفات FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "هذا التجزيء غير قابل لتغيير الحجم"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "كل البيانات على هذ التجزيء يجب حفظها احتياطيا"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "بعد تغيير حجم التجزيء %s، فإن كل البيانات على هذه التجزيء ستفقد"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "اختيار الحجم الجديد"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "الحجم الجديد بالميغابايت: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"للتأكد من صحة البيانات بعد إعادة تحجيم التجزيئات، \n"
+"سيتم الدقيق على نظام الملفات عند التشغيل القادم لويندوز(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "اختيار RAID موجود للإضافة إليه"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "جديد"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "اختيار LVM، موجود للإضافة إليه"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "اسم LVM؟"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "هذه التجزيء لا يمكن استخدامه لـloopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "اسم ملف Loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "إعطاء اسم ملف"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "هذا الملف مستخدم من loopback أخرى، اختر ملفا آخر"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "الملف موجود مسبقا، هل تريد استخدامه؟"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "خيارات التركيب"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "متنوعة"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "جهاز"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "المستوى"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "حجم القطعة الكبيرة بالكيلوبايت (KiB)"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "كن حذرا: هذه العملية خطيرة"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "أي نوع من التجزئة؟"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "ستحتاج إلى إعادة التشغيل قبل أن يتم تفعيل التعديلات"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "جدول التجزئة للقرص %s سيتم كتابته إلى القرص!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "بعد تنسيق التجزيء %s، فإن كل البيانات الموجودة على هذا التجزيء ستفقد"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "تحقق من الكتل السيئة؟"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "نقل الملفات إلى تجزيء جديد"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "تخبئة الملفات"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "جاري نقل الملفات إلى التجزيء الجديد"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "جاري نسخ %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "جاري ازالة %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "التجزبء %s معروف الآن بالإسم %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "تجزيئات تم إعادة ترقيمها:"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "الجهاز: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "علامة المجلّد: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "حرف سواقة دوس: %s (مجرد تخمين)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "النوع: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "الاسم: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "البداية: قطاع %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "الحجم: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr "، %s قطاع"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "الاسطوانة %d إلى %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "مُنسّق\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "غير مُنسّق\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "محمل\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"ملفـ(ات) Loopback\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"التجزيء الذي يتم إقلاعه افتراضيا\n"
+" (لـ MS-DOS و ليس لـ lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "المستوى %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "حجم القطعة الكبيرة %d كيلوبايت (KiB)\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "أقراص RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "اسم ملف Loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"على الأرجح، هذا التجزيء هو\n"
+"تجزيء Driver. عليك\n"
+"تركه لوحده.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"تجزيء الإقلاع\n"
+"هذا هو\n"
+"للإقلاع المزدوج في نظامك.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "للقراءة فقط"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "الحجم: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "الهندسة: %s اسطوانة، %s رأس، %s قطاع\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "معلومات: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "أقراص LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "نوع جدول التجزئة: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "على القناة %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "مفتاح تشفير نظام الملفات"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "اختيار مفتاح تشفير نظام الملفات"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "مفتاح التشفير هذا بسيط جدا (يجب أن يكون %d حرفا على الأقل)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "مفاتيح التشفير غير متطابقة"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "مفتاح التشفير"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "مفتاح التشفير (مرة أخرى)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "خوارزمية التّشفير"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "تغيير النوع"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "إلغاء"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "تعذر الدخول باستخدام اسم المستخدم %s (كلمة مرور سيئة؟)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "مواثقة النطاق مطلوبة"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "أي اسم مستخدم"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "آخَر"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"الرجاء إدخال اسم المستخدم، كلمة المرور و النطاق الخاص بك للدخول إلى هذا "
+"المضيف."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "اسم المستخدم"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "بحث في أجهزة الخادم"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "البحث عن خادمات جديدة"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "الحزمة %s يجب أن تُثبت. هل تريد تثبيتها؟"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "تعذر تثبيت حزمة %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "الحزمة الضرورية %s مفقودة"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "يجب تثبيت الحزم التالية:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "جاري تركيب الحزم..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "حذف الحزم..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"لقد ظهر خطأ - لم يعثر على أجهزة صالحة يمكن إنشاء أنظمة ملفات جديدة عليها. "
+"تأكد من العتاد الخاص بك لمعرفة سبب هذه المشكلة"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "لديك تجزيء FAT تم تحميلها على /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "جاري تنسيق التجزيء %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "جاري إنشاء وتنسيق الملف %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "لا أعرف كيف أنسّق %s في النوع %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s تنسيق %s قد فشل"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "تركيبات حلقيّة %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "تركيب التجزيء %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "فشل تركيب التجزيء %s في الدليل %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "جاري التأكد من %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "خطأ في فكّ %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "جاري تمكين تجزيء التبديل %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "لا يمكنك استخدام نظام ملفات مرمّز لمكان التركيب %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"عدم تحديث أوقات الوصول إلى inode على نظام الملفّات هذا\n"
+"(مثلا، من أجل وصول أسرع إلى مخزن الأخبار لتسرّع خادمات الأخبار)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"يمكن تجهيزه فقط بشكل بيّن (أي،\n"
+"أن الخيار -a سوف لن يجعل نظام الملفّات يُجهّز)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "عدم ترجمة الأجهزة الحرفيّة أو الكتليّة الخاصّة على نظام الملفّات."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"عدم السماح بتنفيذ أي برامج مُجمّعة على نظام الملفّات المُجهّز.\n"
+"قد يكون هذا الخيار مفيداً لخادم عليه أنظمة ملفّات\n"
+"تحتوي على برامج مُجمّعة لبُنيات غير بُنيتها."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"عدم السماح لبتّات تحديد مُعرّف المستخدم أو تحديد مُعرّف المجموعة\n"
+"أن تُفعّل. (يبدو هذا آمناً، إلا أنه في الحقيقة غير آمن إن كان\n"
+"suidperl(1) مثبتاً لديك.("
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "تجهيز نظام الملفّات بوضع القراءة فقط."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "كل الدّخل/الخرج إلى نظام الملفّات يجب أن يحدث تزامنيّاً."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "إعطاء إمكانية الكتابة لعامة المستخدمين"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "أعط صلاحية الكتابة لعامة المستخدمين"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "نقطة تركيب مكررّة %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "لا يوجد تجزيء"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "جاري عمل مسح للتجزئات لإيجاد أماكن التركيب"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "اختيار أماكن التركيب"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "اختيار التجزيئات التي تريد تنسيقها"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"تعذر التأكد من صحة نظام المفات %s. هل تريد تصحيح الأخطاء (كن حذراً، يمكن أن "
+"تخسر بيانات)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "لا توجد مساحة تبديل كافية للقيام بالتثبيت، الرجاء زيادة مساحة التبديل"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"يجب أن تكون لديك تجزيء جذرية.\n"
+"لهذا الغرض انشئ تجزيء (أو اضغط على تجزيء موجودة).\n"
+"ثم اختر ``مكان التركيب'' و اجعله `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"ليست لديك تجزيء تبديل.\n"
+"\n"
+"هل تريد المتابعة على أي حال؟"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "استخدام المساحة الفارغة"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "لا توجد مساحة فارغة لعمل التجزيئات الجديدة"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "استخدم التجزيئات الموجودة"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "لا يوجد تجزيء لاستخدامه"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "استخدم تجزيء ويندوز كـloopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "أي تجزيء تريد استخدامه من أجل Linux4Win"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "اختيار الأحجام"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "حجم التجزيء الجذري بالميغابايت:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "حجم تجزيء التبديل بالميغابايت:"
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "لا يوجد تجزيء FAT لاستخدامه كـloopback )أو لا توجد مساحة كافية متبقية)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "استخدام المساحة الفارغة على تجزيء ويندوز"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "أي تجزيء تريد تغيير حجمه؟"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"لم تتمكن أداة تغيير حجم FAT من التعامل مع تجزيئك، \n"
+"ظهر الخطأ التالي: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "جاري حساب مساحة تجزيء ويندوز"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"تجزيء ويندوز الخاصّ بك كثير التجزّئات. رجاء أعد تشغيل جهازك إلى ويندوز، شغّل "
+"أداة ``defrag''، ثمّ أعد بدْء تثبيت ماندريبا لينكس."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"تحذير!\n"
+"\n"
+"DrakX سيقوم الآن بتغيير حجم تجزيء ويندوز.\n"
+"\n"
+"\n"
+"كن حذراً: هذه العملية خطرة. فإذا لم تكن فعلت ذلك، يجب عليك أولاً الخروج من "
+"التثبيت، ثم تشغيل \"scandisk c:\" من سطر الأوامر في ويندوز (احذر، تشغيل "
+"البرنامج الرّسومي \"scandisk\" غير كافي، تأكّد من استخدام \"chkdsk\" في سطر "
+"الأوامر!)، اختياريّاً شغّل defrag، ثمّ أعد بدء التثبيت. يجب عليك كذلك عمل نسخة "
+"احتياطية من بياناتك. \n"
+"\n"
+"\n"
+"عندما تكون متأكداً، اضغط %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "التالي"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "ما حجم المساحة التي تريد إبقائها لويندوز على التجزيء %s؟"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "الحجم"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "تغيير حجم تجزيء ويندوز"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "فشل تغيير حجم FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "لا توجد تجزيء FAT قابل لتغيير حجمها (أو لا توجد مساحة كافية متبقية)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "حذف ويندوز(TM)"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "مسح كل القرص"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "لديك أكثر من قرص صلب، في أيهم تريد تثبيت لينكس؟"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "كل التجزيئات و بياناتها ستضيع من على السواقة %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "تجزئة قرص مخصصة"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "استخدام fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"يمكنك الآن تجزئة %s.\n"
+"عندما تنتهي لا تنس الحفظ باستخدام `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "لا يمكنني العثور على مساحة فارغة للتثبيت"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "عثر معالج التجزئة في DrakX على الحلول التالية:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "فشلت التجزئة: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "لا يمكنك استخدام JFS للتجزئات أصغر من 16 ميغابايت"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "لا يمكنك استخدام ReiserFS للتجزئات أصغر من 32 ميغابايت"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "مع /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "خادم"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"لا يمكنني قراءة جدول التجزئة للجهاز %s، يبدو أنه فاسد: (\n"
+"يمكنني أن أحاول المتابعة بإزالة التجزيئات السيئة (ستضيع كل البيانات!).\n"
+"الحل الآخر هو أن تمنع DrakX من تعديل جدول التجزئة.\n"
+"(الخطأ هو %s)\n"
+"\n"
+"هل أنت موافق على خسارة كل التجزيئات؟\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "يجب أن تبدأ أماكن التركيب بالعلامة /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "أماكن التركيب يجب أن تحتوي فقط على الحروف و/أو الآرقام"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "هناك تجزيء مع مكان التركيب %s مسبقاً\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"لقد اخترت تجزئة RAID برمجية كتجزيء جذري (/).\n"
+"لا يستطيع أي محمّل إقلاع التعامل مع ذلك بدون تجزيء /boot.\n"
+"الرجاء التأكد من إضافة تجزيء /boot"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "لا يمكنك استخدام كتلة LVM المنطقيّة لمكان التركيب %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"لقد اخترت تجزيء كتلة منطقيّة LVM كدليل جزر (/).\n"
+"لا يستطيع محمّل الإقلاع التعامل مع ذلك بدون تجزيء /boot.\n"
+"الرجاء التأكّد من أن تضيف تجزيء /boot"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "هذا الدليل يجب أن يكون في نظام الملفات الجذري"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"تحتاج إلى نظام ملفات حقيقي (ext2/ext3، resierfs، xfs، أو jfs) لمكان التركيب "
+"هذه\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "لا يمكنك استخدام نظام ملفات مرمّز لمكان التركيب %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "لا توجد مساحة كافية للتحديد الآلي"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "لا شيء لعمله"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "القرص المرن"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "القرص الصّلب"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "القرص المدمج"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "أجهزة نسخ CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "شريط"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "متحكمات AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "بطاقة الفيديو"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "بطاقة التلفاز"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "أجهزة وسائط متعددة أخرى"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "بطاقة الصوت"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "كاميرات الوب"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "المُعالجات"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "مكيّفات ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "بطاقة Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "المودم"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "مكيّفات ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "الذاكرة"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "طابعة"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "عصا الألعاب"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "متحكّمات SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "متحكّمات RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "متحكمات (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "نوع البطاقة"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "متحكمات Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "متحكمات PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "متحكمات SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "متحكمات USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "منافذ USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "متحكّمات SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "الجسور ومتحكمات النظام"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "لوحة المفاتيح"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "الماوس"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "مُزوّد الطاقة الغير منقطعة (UPS)"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "الماسح الضوئي"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "غير معروف/أخرى"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "يرجى الإنتظار... جاري تطبيق التهيئة"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "لا مشغل بديل"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr "لا يوجد مشغل بديل (ALSA أو OSS) لبطاقة الصوت (%s) التي تستخدم \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "إعدادات الصوت"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr "يمكنك هنا اختيار مشغل بديل (ALSA أو OSS) لبطاقة الصوت (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"بطاقتك تستخدم المُشغّل %s\"%s\" حالياً (المُشغّل الحالي لبطاقتك هو \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"نظام الصّوت المفتوح (OSS) كان أو واجهة تطبيق للصّوت. إنه واجهة تطبيق للصّوت لا "
+"تعتمد نظام تشغيل معيّن (إنه متوفّر على معظم أنظم يونكس(tm)) إلّا أنّه واجهة "
+"تطبيق بسيطة ومحدودة.\n"
+"ماذا بعد، مُشغّلات OSS كلّها تعيد اختراع الإطار.\n"
+"\n"
+"بناء صوت لينكس المتقدّم (ALSA) هو بناء وحديّ والذي\n"
+"يدعم مجموعة كبيرة من بطاقات ISA، USB وPCI.\n"
+"\n"
+"كما أنه يوفّر واجهة تطبيق أعلى من OSS.\n"
+"\n"
+"لاستخدام alsa، يمكن إمّا استخدام:\n"
+"- التّوافق القديم مع واجهة تطبيق OSS\n"
+"- واجهة تطبيق ALSA الجديدة والتي توفّر العديد من الميزات المحسّنة إلّا أنّها "
+"تتطلّب مكتبة ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "المُشغّل:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "حل المشاكل"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"وضع مشغل \"%s\" القديم على القائمة السوداء.\n"
+"\n"
+"أُفيد أنّه يتسبّب في بعض الحالات بانهيار في النواة عند ازالة التركيب.\n"
+"\n"
+"مشغل \"%s\" الجديد سيتم استخدامه عند تشغيل الجهاز في المرة القادمة."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "لا يوجد مشغل مفتوح المصدر"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"لا يوجد مشغل مفتوح المصدر لبطاقة الصوت (%s)، لكن هناك مشغل تجاري في \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "لا يوجد مشغل معروف"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "لا يوجد مشغل معروف لبطاقة الصوت (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "مشغل غير معروف"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "خطأ: مشغل \"%s\" لبطاقة الصوت الخاصة بك غير موجود في القائمة"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "حل مشاكل الصوت"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"الاختبار الكلاسيكي لعلّة الصوت هو تشغيل الأوامر التّالية:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" سيخبرك باسم مشغّل الذي تستخدمه بطاقتك "
+"الصّوتيّة بشكل افتراضي\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" سيخبرك باسم مشغّل\n"
+"المستخدم حاليّاً\n"
+"\n"
+"- \"/sbin/lsmod\" سيمكّنك من التحقّق من أن وحدته (مشغّل) هي\n"
+"مُحمّلة أم لا\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" و \"/sbin/chkconfig --list alsa\" سوف\n"
+"يخبرك إن كانت خدمات الصّوت وalsa مُهيّئة للعمل على\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" سيخبرك ما إذا كان الصّوت مكتوماً أم لا\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" سيخبرك عن أيّ برنامج يستخدم بطاقة الصّوت.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "اسمح لي أن أختار مشغل"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "جاري اختيار مشغل عام"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"إذا كنت تعتقد فعلاً أنك تعرف ما هو المُشغّل الصحيح لبطاقتك\n"
+"يمكنك اختياره من القائمة أعلاه.\n"
+"\n"
+"المُشغّل الحالي لبطاقة الصوت \"%s\" الخاصة بك هو \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "تحقق آلي"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "غير معروف|عام"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "غير معروف|CPH05X (bt878) [مصنعون كثيرون]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "غير معروف|CPH06X (bt878) [مصنعون كثيرون]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"لأغلب بطاقات التلفاز الحديثة، وحدة bttv لنواة لينكس يمكنها التحقق آلياً من "
+"المعاملات الصحيحة.\n"
+"إذا تم التعرف على البطاقة بشكل خاطئ، يمكنك إدخال التونر و نوع البطاقة الصحيح "
+"هنا. فقط اختر المعاملات المناسبة لبطاقة الشاشة."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "نوع البطاقة"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "نوع الموالف:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "موافق"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "نعم"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "لا"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "اختيار ملف"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "إضافة"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "تعديل"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "حذف"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "انتهاء"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "السابق "
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "اختيار سيئ، حاول مرة أخرى\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "ما هو اختيارك؟ (الافتراضي %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"مُدخلات يجب تعبئتها:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "ما هو اختيارك؟ (0/1، افتراضي `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "الزرّ `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "هل تريد الضغط على هذا الزرّ؟"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "ما هو اختيارك؟ (الافتراضي `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " أدخل `void' للمُدخل الفارغ"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> هناك العديد من الأشياء للاختيار منها(%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"الرجاء اختيار الرقم الأول من 10 والذي تود تعديله،\n"
+"أو اضغط على زر الإدخال للاستمرار.\n"
+"ما هو اختيارك؟"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> لاحظ، تغيرت التسمية:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "إعادة تسليم"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:RTL"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "أندورا"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "الإمارات العربية المتحدة"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "أفغانستان"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "أنتيغوا و باربودا"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "أنغويلا"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "ألبانيا"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "أرمينيا"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "أنتيل هولندا"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "أنغولا"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "القطب الجنوبي"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "الأرجنتين "
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "ساموا الأمريكية"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "النمسا"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "أوستراليا"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "أروبا"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "أذربيجان"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "البوسنة و الهرسك"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "باربادوس"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "بنغلاديش"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "بلجيكا"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "بوركينافاسو"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "بلغاريا"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "البحرين"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "بوروندي"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "بنين"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "برمودا"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "سلطنة بروناي"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "بوليفيا"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "البرازيل"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "جزر الباهاما"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "بوتان"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "جزيرة بوفيه"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "بوتسوانا"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "روسيا البيضاء"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "بيليز"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "كندا"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "جزر الكوكوس"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "الكونغو كينشاسا"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "جمهورية وسط أفريقية"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "الكونغو برازافيل"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "السويسرية"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "كوت ديفوار"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "جزر الكوك"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "تشيلي"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "الكاميرون"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "الصين"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "كولومبيا"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "كوستاريكا"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "صربيا و الجبل الأسود"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "كوبا"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "كيب فيردي"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "جزر الكريسماس"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "قبرص"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "جمهورية التشيك"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "ألمانيا"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "جيبوتي"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "الدنمارك"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "دومينيكا"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "جمهورية الدومينيكان"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "الجزائر"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "الإكوادور"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "استونيا"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "مصر"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "الصحراء الغربية"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "اريتريا"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "أسبانيا"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "اثيوبيا"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "فنلندا"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "فيجي"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "جزر فوكلاند"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "ميكرونيزيا"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "جزر الفيرو"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "فرنسا"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "الغابون"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "المملكة المتحدة"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "عرينادا"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "جورجيا"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "غويانا الفرنسية"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "غانا"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "جبل طارق"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "غرينلاند"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "غامبيا"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "غينيا"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "غواديلوب"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "غينيا الإستوائية"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "اليونان"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "جوجيا الجنوبية و جزر ساندويتش الجنوبية"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "غواتيمالا"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "غوام"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "غينيا-بيساو"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "غويانا"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "هونغ كونغ سار (الصين)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "جزر هيرد و ماكدونالد"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "هندوراس"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "كرواتيا"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "هايتي"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "المجر"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "اندونيسيا"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "أيرلندا"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "اسرائيل"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "الهند"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "منطقة جزر المحيط الهادي البريطانية"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "العراق"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "ايران"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "آيسلندا"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "إيطاليا"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "جامايكا"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "الأردن"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "اليابان"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "كينيا"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "قيرغيزستان"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "كمبوديا"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "كيريباتي"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "جزر القمر"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "سانت كيتس و نيفيس"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "كوريا الشمالية"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "كوريا"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "الكويت"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "جزر كايمان"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "كازاخستان"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "لاوس"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "لبنان"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "سانت لوسيا"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "ليشتنشتاين"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "سريلانكا"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "ليبريا"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "ليسوتو"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "ليتوانيا"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "لوكسمبورغ"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "لاتفيا"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "ليبيا"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "المغرب"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "موناكو"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "مولدوفا"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "مدغشقر"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "جزر مارشال"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "مقدونيا"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "مالي"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "ميانمار"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "منغوليا"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "جزر ماريانا الشمالية"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "مارتينيك"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "موريتانيا"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "مونتسيرات"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "مالطة"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "موريشيوس"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "جزر المالديف"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "مالاوي"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "المكسيك"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "ماليزيا"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "موزمبيق"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "ناميبيا"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "نيوكاليدونيا"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "النيجر"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "جزيرة نورفولك"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "نيجيريا"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "نيكاراغوا"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "هولندا"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "النرويج"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "نيبال"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "ناورو"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "نيوي"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "نيوزيلندا"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "عمان"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "بنما"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "بيرو"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "بولينيسيا الفرنسية"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "بابوا غينيا الجديدة"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "الفيليبين"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "باكستان"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "بولندا"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "سانت بيير و ميكيلون"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "بيتكايرن"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "بورتوريكو"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "فلسطين"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "البرتغال"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "البارجواي"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "بالاو"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "قطر"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "ريونيون"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "رومانيا"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "روسيا"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "رواندا"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "السعودية"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "جزر سليمان"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "جزر سيشل"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "السودان"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "السويد"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "سنغافورة"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "سانت هيلانة"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "سلوفينيا"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "جزر سفالبارد و جان ماين"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "سلوفاكيا"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "سيراليون"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "سان مارينو"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "السنغال"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "الصومال"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "سورينام"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "ساو تومي و البرينسيب"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "السلفادور"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "سورية"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "سوازيلاند"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "جزر الترك و الكايكوس"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "تشاد"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "مناطق جنوب فرنسا"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "توجو"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "تايلاند"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "طاجكستان"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "توكلاو"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "تيمور الشرقية"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "تركمانستان"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "تونس"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "تونجو"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "تركيا"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "ترينياد و توباجو"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "توفالو"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "تايوان"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "تنزانيا"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "أوكرانيا"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "أوغندا"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "جزر الولايات المتحدة"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "الولايات المتحدة"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "أوروغواي"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "أوزبكستان"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "الفاتيكان"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "سانت فينسنت و الغرينادين"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "فينزويلا"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "الجزر العذراء (بريطانيا)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "الجزر العذراء (الولايات المتحدة)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "فييتنام"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "فاناتو"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "واليس و فوتونا"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "ساموا"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "اليمن"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "مايوت"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "جنوب أفريقيا "
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "زامبيا"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "زيمبابوي"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "أهلا في %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "حذف الكتل المنطقية أولاً\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"مقدّمة\n"
+"\n"
+"سيشار إلى نظام التّشغيل ومختلف المكوّنات المتوفّرة في توزيعة ماندريبا لينكس \n"
+" بـ \"المنتجات البرمجيّة\" من هنا وفيما يلي. المنتجات البرمجيّة تحتوي ولكنّها "
+"لا تنحصر في مجموعة البرامج والمناهج والقواعد والوثائق المتعلّقة بنظام "
+"التّشغيل \n"
+"والمكوّنات المختلفة لتوزيعة ماندريبا لينكس.\n"
+"\n"
+"\n"
+"1. اتّفاقيّة التّرخيص\n"
+"\n"
+"يرجى قراءة هذه الوثيقة بتمعّن. هذه الوثيقة هي اتّفاقيّة ترخيص بينك أنت "
+"وماندريبا ش.م. وتطبّق على المنتجات البرمجيّة.\n"
+"تثبيتك أو نسخك أواستعمالك لهذه البرامج بأي شكلٍ من الأشكال يعدّ \n"
+"قبولاً صريحاً وموافقةً كاملةً على الالتزام ببنود وشروط هذه الرّخصة. \n"
+"إن كنت لا توافق على أي جزءٍ من الرّخصة فلا يسمح لك بتثبيت أو نسخ أو استعمال "
+"المنتجات البرمجيّة. أي محاولةٍ لتثبيت أو نسخ أو استعمال المنتجات البرمجيّة بشكلٍ "
+"لا يمتثل \n"
+"لبنود وشروط هذه الرّخصة هي لاغيةٌ وستنهي حقوقك بموجب هذه الرّخصة. \n"
+"بمجرّد انتهاء هذه الرّخصة يتوجّب عليك وعلى الفور محق كافّة النّسخ \n"
+"من المنتجات البرمجيّة.\n"
+"\n"
+"\n"
+"2. محدوديّة الضّمان\n"
+"\n"
+"توفّر المنتجات البرمجيّة والوثائق المرفقة \"كما هي\"، دون أيّ ضمان، ضمن أقصى \n"
+"حدٍّ يسمح به القانون.\n"
+"ماندريبا ش.م. لن تكون مسؤولةً قانونيّاً مهما كانت الظّروف عن أيّة \n"
+"أضرارٍ خاصّةٍ أو عرضيّة أو مباشرةٍ أو غير مباشرة (شاملةً ولكن غير محصورةٍ بأيّة "
+"أضرارٍ ناجمةٍ عن خسارةٍ \n"
+"في الأعمال أو عن انقطاعٍ للأعمال أو عن خسارةٍ ماليّة أو عن رسومٍ قانونيّة أو عن "
+"أيّة عقوباتٍ نتيجة \n"
+"أحكامٍ قضائيّة، أو عن أيّة خسارةٍ أخرى تنجم) نتيجة استعمال أو عدم القدرة على "
+"استعمال المنتجات البرمجيّة حتّى وإن كانت ماندريبا ش.م. على درايةٍ باحتمال وقوع "
+"أضرارٍ \n"
+"كتلك المذكورة.\n"
+"\n"
+"محدوديّة المسؤوليّة المتعلّقة بامتلاك أو استعمال البرمجيّات المحظورة في بعض "
+"الدّول\n"
+"\n"
+"ضمن أقصى حدّ يسمح به القانون لن تكون ماندريبا ش.م. مسؤولةً أو أيٍّ من موزّعيها "
+"مسؤولين قانونيّاً \n"
+"عن أيّة أضرارٍ خاصّةٍ أو عرضيّة أو مباشرةٍ أو غير مباشرة (شاملةً ولكن غير محصورةٍ "
+"بأيّة أضرارٍ ناجمةٍ عن خسارةٍ \n"
+"في الأعمال أو عن انقطاعٍ للأعمال أو عن خسارةٍ ماليّة أو عن رسومٍ قانونيّة أو عن "
+"أيّة عقوباتٍ نتيجة \n"
+"أحكامٍ قضائيّة، أو عن أيّة خسارةٍ أخرى تنجم) ناتجةٍ عن \n"
+"امتلاك أو استعمال مكوّناتٍ برمجيّة أو ناتجةٍ عن تنزيل مكوّناتٍ \n"
+"برمجيّة من أحد مواقع ماندريبا لينكس و كانت تلك المكوّنات البرمجيّة محظورة أو "
+"محدودةً في بعض الدّول بقوانين محلّيّة.\n"
+"محدوديّة المسؤوليّة هذه تنطبق على مكوّنات التّشفير المنيع \n"
+"المرفقة مع المنتجات البرمجيّة ولكن لا تنحصر بها.\n"
+"\n"
+"\n"
+"3. رخصة GPL والرّخص ذات الصّلة\n"
+"\n"
+"المكوّنات البرمجيّة تتألّف من مكوّناتٍ منشأةٍ من قبل عدّة أشخاصٍ أو جهات. في "
+"معظمها \n"
+"هذه المكوّنات خاضعةٌ لبنود وشروط \n"
+"رخصة جنو العامّة، المشار إليها بـ\"GPL\" من هنا وفيما يلي، أو لبنود وشروط رخصٍ "
+"شبيهة. معظم هذه الرّخص تخوّلك أن تستعمل \n"
+"أو تنسخ أو تكيّف أو تعيد توزيع المكوّنات الخاضعة لها. يرجى قراءة بنود وشروط \n"
+"اتّفاقيّة ترخيص كل مكوّن قبل استعمال أي مكوّن. أيّة أسئلة \n"
+"عن رخصة أي مكوّن يجب أن تطرح على مؤلّف المكوّن وليس على ماندريبا.\n"
+"البرامج المطوّرة من قبل ماندريبا ش.م. خاضعة لرخصة GPL. الوثائق المكتوبة من "
+"قبل \n"
+"ماندريبا ش.م. تخضع لرخصةٍ محدّدة. يرجى الرّجوع للوثائق لمزيدٍ \n"
+"من التّفاصيل.\n"
+"\n"
+"\n"
+"4. حقوق الملكيّة الفكريّة\n"
+"\n"
+"كل الحقوق في مكوّنات المنتجات البرمجيّة هي لمؤلّفيها المعنيّين وتحميها \n"
+"قوانين الملكيّة الفكريّة وحقوق النّشر المنطبقة على البرمجيّات.\n"
+"تحتفظ ماندريبا ش.م. بحقّها في تعديل أو تكييف المنتجات البرمجيّة، بحذافيرها \n"
+"أو أجزاء معيّنة منها، بشتّى الطّرق ولسائر الأغراض.\n"
+"\"Mandriva\" و \"Mandriva Linux\" والشّعارات المتعلّقة هي علاماتٌ تجاريّة "
+"لماندريبا ش.م. \n"
+"\n"
+"\n"
+"5. القوانين الحاكمة \n"
+"\n"
+"في حال تجميد أي جزءٍ من هذه الاتّفاقيّة أو اعتباره غير قانونيٍّ أو غير منطبق بحكمٍ "
+"قضائي فإن ذلا الجز يعدء \n"
+"مستثناً من هذا العقد.س تبقى أنت مقيّداً بالأجزاء الأخرى المنطبقة \n"
+"من هذه الاتّفاقيّة.\n"
+"إن بنود وشروط هذه الرّخصة هي خاضعة لقوانين فرنسا.\n"
+"سيفضّل أن تسوّى كافّة الاختصامات المتعلّقة ببنود هذه الرّخصة خارج حكم القضاء. كحلٍّ "
+"أخير \n"
+"سيحوّل الاختصام إلى محاكم القضاء ذات العلاقة في باريس - فرنسا.\n"
+"في حال وجود أي أسئلةٍ عن هذه الوثيقة، يرجى الاتّصال بماندريبا ش.م. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"تحذير: البرامج الحرّة ليس من الضّروري أن تكون خالية من براءة الاختراع، وبعد "
+"البرامج الحرّة\n"
+"المشمولة قد تكون محميّة ببراءة اختراع مسجّلة في بلدك. مثلاً، MP3 decoders "
+"المشمولة قد تتطلّب رخصة لاستخدامها )انظر\n"
+"http://www.mp3licensing.com للمزيد من التّفاصيل(. إن لم تكن متأكّداً إن كانت \n"
+"براءة الاختراع\n"
+"قد تنطبق عليك، تحقّق من القوانين المحليّة لبلدك."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"تحذير\n"
+"\n"
+"فضلاً اقرأ الشروط أدناه. إذا كنت لا توافق على أي\n"
+"جزء، لن يسمح لك بتثبيت وسيط القرص المدمج التالي. اضغط 'رفض' \n"
+"لمتابعة التثبيت بدون هذه الوسائط.\n"
+"\n"
+"\n"
+"بعض المكونات الموجودة في وسيط القرص المدمج التالي غير محكومة\n"
+"بموجب ترخبص GPL أو الاتفاقيات المماثلة. كل مكون من تلك محكوم\n"
+"بموجب بنود و شروط الترخيص الخاص به تحديداً. \n"
+"فضلاً اقرأ باهتمام و أن تستجيب لهذه التراخيص قبل أن \n"
+"تستخدم أو تعيد توزيع هذه المكونات. \n"
+"مثل هذه التراخيص بشكل عام قد تمنع نقل أو نسخ (باستثناء النسخ الاحتياطي)\n"
+"أو إعادة توزيع أو ممارسة الهندسة العكسية أو فك تركيب أو فك تجميع أو تعديل\n"
+"المكون.\n"
+"أي انتهاك للاتفاقية سيتسبب في انهاء حقوقك تحت الترخيص\n"
+"المحدد بشكل فوري. الا إذا كان الترخيص يعطيك مثل هذه الحقوق.\n"
+"عادة لا يسمح لك بتثبيت هذه البرامج على أكثر من نظام واحد\n"
+"أو تعديله لكي يتم استخدامه على شبكة. في حال شكك فضلاً \n"
+"اتصل بشكل مباشر مع موزع أو مؤلف هذا المكون.\n"
+"النقل إلى طرف ثالث أو نسخ هذه المكونات بما فيه \n"
+"وثائق المساعدة ممنوع عادةً.\n"
+"\n"
+"\n"
+"جميع الحقوق الخاصة بالمكونات الموجودة في وسيط القرص \n"
+"المدمج التالي مملوكة لأصحابها و محمية بموجب قوانين الملكية \n"
+"الفكرية المنطبقة على البرمجيات.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"تهانينا، التثبيت قد انتهى.\n"
+"أزل وسيط الإقلاع و اضغط زر الإدخال لإعادة التشغيل.\n"
+"\n"
+"\n"
+"لمعلومات حول الإصلاحات المتوفرة لهذا الإصدار من ماندريبا لينكس،\n"
+"استشر صفحة تصحيح الأخطاء المتوفرة من:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"المعلومات حول تهيئة النظام متوفرة في فصل\n"
+"ما بعد التثبيت في دليل مستخدم ماندريبا الرسمي."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "تهيئة مُشغّل الـUPS"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "تهيئة الوحدة"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "يمكنك تهيئة كل معامل للوحدة هنا."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "عثر على %s واجهة"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "هل عندك واحدة أخرى؟"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "هل لديك أي واجهات %s؟"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "عرض معلومات العتاد"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "جاري تثبيت مشغل لمتحكّم USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "جاري تثبيت مشغل لمتحكّم firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "جاري تثبيت مشغل لمتحكّم القرص الصّلب %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "جاري تثبيت مشغل لمتحكّم إيثرنت %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "جاري تثبيت مشغل %s للبطاقة %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"يمكنك الآن إعطاء الخيارات للوحدة %s.\n"
+"لاحظ أن أي عنوان يجب إدخاله مسبوقاً بـ 0x مثل '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"يمكنك الآن إعطاء الخيارات للوحدة %s.\n"
+"الخيارات في هيئة ``name=value name2=value2 ...'' \n"
+"مثلا، ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "خيارات الوحدة:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "أي مشغل %s يجب أن استخدمه؟"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"في بعض الأحيان يحتاج مشغل %s معلومات اضافية لكي يعمل\n"
+"بشكل صحيح، الا أنه يمكنه العمل جيدا بدونها. هل تريد تحديد\n"
+"خيارات اضافية له أو تسمح للمشغل بالتحقق في جهازك\n"
+"عن المعلومات التي سيحتاجها؟ في بعض الأحيان، قد يتسبب التحقق في تعليق الجهاز، "
+"لكن\n"
+"لا يجب أن يتسبب ذلك في أي مشاكل."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "جسّ آلي"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "حدد الخيارات"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"فشل تحميل الوحدة %s.\n"
+"هل تريد المحاولة ثانية بمعاملات أخرى؟"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "فشل التركيب: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "التجزيئات الممتدة غير مدعومة على هذه البيئة"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"توجد مساحة فارغة في جدول التجزئة لديك لكني لا أستطيع استخدامها.\n"
+"الحل الوحيد هو أن تنقل التجزيئات الأساسية لتحصل على المساحة بين التجزيئات "
+"الممتدة."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "خطأ في قراءة الملف %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "فشلت الإستعادة من الملف %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "ملف نسخ احتياطي سيئ"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "خطأ أثناء الكتابة إلى الملف %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"هناك شئ سيئ يحصل للقرص. \n"
+"لقد فشل اختبار للتأكد من صحة البيانات. \n"
+"هذا يعني أن كتابة أي شئ على هذا القرص سينتهي ببيانات عشوائية و فاسدة."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "لا أستطيع إضافة تجزيء للـRAID _المنسّق_ %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "التجزيئات ليست كافية لمستوى RAID %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "تعذر إنشاء الدّليل /usr/share/sane/firmware !"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "تعذر إنشاء الوصلة /usr/share/sane/%s !"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "لم يمكن نسخ ملف firmware %s إلى /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "لم يمكن تحديد صلاحيات ملف firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "لم يمكن تثبيت الحزم المطلوبة لمشاركة الماسحات الضّوئيّة."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "لن تكون ماسحاتك الضّوئيّة متوفّرة للمستخدمين غير الجذر."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "قبول/رفض رسائل أخطاء IPv4 الزّائفة."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "قبول/رفض صدى بثّ icmp"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "قبول/رفض صدى icmp"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "سماح/منع الدخول التلقائي"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"تحديد \"الكل\"، يسمح بوجود /etc/issue و /etc/issue.net.\n"
+"\n"
+"تحديد لا شيء، لن يسمح بأيّ مسائل.\n"
+"\n"
+"وإلا يسمح فقط بوجود /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "سماح/منع إعادة التّشغيل بواسطة مستخدم الشّاشة الطّرفيّة."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "سماح/منع دخول المستخدم الجذر من بعيد."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "سماح/منع دخول المسخدم root المباشر."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "سماح/منع سرد أسماء المستخدمين على النّظام في مُدراء العرض (kdm وgdm(."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"سماح/منع تصدير العرض عند\n"
+"المرور من حساب المستخدم الجذر إلى المستخدمين الآخرين.\n"
+"\n"
+"راجع pam_xauth(8) للمزيد من التّفاصيل."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"سماح/منع اتّصالات X:\n"
+"\n"
+"- ALL (كل الاتّصالات مسموحة),\n"
+"\n"
+"- LOCAL (فقط الاتّصالات من الجهاز المحلّي),\n"
+"\n"
+"- NONE (لا اتصال)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"يصف المُعطى إن كان العملاء مُخوّلين للاتّصال\n"
+"إلى خادم X من الشّبكة عبر منفذ tcp 6000 أم لا."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"تمكين الصلاحية:\n"
+"\n"
+"- لكل الخدمات التي يتم التحكم بها عن طريق tcp_wrappers (انظر صقحة دليل hosts."
+"deny(5) )إذا تم التعيين إلى \"ALL\"،\n"
+"\n"
+"- الملفات المحلية فقط إذا تم التعيين إلى \"LOCAL\"\n"
+"\n"
+"- لا شئ إذا تم التعيين إلى \"NONE\".\n"
+"\n"
+"لتمكين صالحية الخدمات التي تريدها، استخدم ملف /etc/hosts.allow (انظر hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"إذا كان SERVER_LEVEL (أو SECURE_LEVEL في حال عدم وجود الأول)\n"
+"أكبر من 3 في /etc/security/msec/security.conf، و ينشئ\n"
+"الاختصار /etc/security/msec/server لتشير\n"
+"إلى /etc/security/msec/sever.<SERVER_LEVEL>.\n"
+"\n"
+"ملف /etc/security/msec/server يتم استخدامه عن طريق أمر chkconfig --add "
+"لتقرير إضافة خدمة إذا كانت موجودة في في الملف أثناء تثبيت\n"
+"الحزم."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"تمكين/تعطيل crontab و at للمستخدمين.\n"
+"\n"
+"ضع المستخدمين المُخوّلين في /etc/cron.allow و /etc/at.allow (راجع man at(1)\n"
+"و crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "تمكين/تعطيل تقارير syslog إلى الشّاشة الطّرفيّة 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"تمكين/تعطيل الحماية من خداع ترجمة الاسم. إن\n"
+"كان \"%s\" مُحدّداً، يرسل تقريراً إلى syslog أيضاً."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "تنبيهات أمنية:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "تمكين/تعطيل حماية IP spoofing"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "تمكين/تعطيل libsafe إن كان موجوداً على النّظام."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "تمكين/تعطيل تسجيل رزم IPv4 الغريبة."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "تمكين/تعطيل اختبارات msec الأمنية كل ساعة"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"تمكين استخدام su من قبل أعضاء مجموعة العجل أو السّماح باستخدام su من قبل أي "
+"مستخدم."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "استخدم كلمة المرور لمواثقة المستخدمين."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "تنشيط/تعطيل التحقّق من وضع عدم شرعيّة بطاقات ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "تمكين/تعطيل التحقّق اليومي من الأمن."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "تمكين/تعطيل sulogin(8) في مستوى المستخدم الفردي."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "إضافة الاسم كاستثناء للتعامل مع تحديد عمر كلمة المرور بواسطة msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"تحديد عمر كلمة المرور على \"الأقصى\" أيّاماً وتأخير التغيير إلى \"غير فعّال\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "تحديد طول تاريخ كلمة المرور لمنع إعادة استخدامها."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr "تحديد طول كلمة المرور الأدنى وأقل عدد أرقام وأقل عدد أحرف استهلاليّة."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "تعيين umask الخاص بالمستخدم الجذر"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "إن كانت القيمة نعم، التحقق من المنافذ المفتوحة."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"إن كانت القيمة نعم، تحقق من :\n"
+"\n"
+"- كلمات المرور الفارغة،\n"
+"\n"
+"- عدم وجود كلمة مرور في /etc/shadow\n"
+"\n"
+"- وجود مستخدمين برقم معرف 0 غير المستخدم الجذر."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "إن كان القيمة نعم، التحقق من أذون الملفّات في أدلّة المستخدمين المنزلية."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "إن كانت القيمة نعم، التحقق إن كانت أجهزة الشبكة في وضع promiscuous."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "إن كانت القيمة نعم، تشغيل تحقيق الأمن اليومي."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "إن كانت القيمة نعم، التحقق من إضافة/إزالة ملفات sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "إن كانت القيمة نعم، التحقق من كلمات المرور الفارغة في /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "إن كانت القيمة نعم، التحقق من checksum لملفات suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "إن كانت القيمة نعم، التحقق من إضافة/إزالة ملفات suid للجذر."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "إن كانت القيمة نعم، عمل تقرير بالملفات الغير مملوكة."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "إن كانت القيمة نعم، التحقق من الملفّات/الأدلة القابلة الكتابة للجميع."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "إن كانت القيمة نعم، تشغيل تحقيقات chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"إن كانت معيّنة، إرسال تقرير البريد إلى عنوان البريد الالكتروني هذا وإلا "
+"إرسالها إلى الجذر."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "إن كانت القيمة نعم، تقرير نتيجة التحقيق بالبريد."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "عدم إرسال رسائل إن لم يكن هناك شيء للتحذير عنه"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "إن كانت القيمة نعم، تشغيل بعض التحقيقات حول قاعدة بيانات rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "إن كانت القيمة نعم، تقرير نتيجة التحقيق إلى syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "إن كانت القيمة نعم، تقرير نتيجة التحقيق إلى tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "تحديد حجم تاريخ أوامر الصّدفة. القيمة -1 تعني غير محدود."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "تحديد وقت انتهاء الصّدفة. القيم صفر تعني لا وقت انتهاء."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "وحدة وقت الخروج هي الثّانية"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "تحديد umask الخاص بالمستخدم."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "قبول رسائل خطأ IPv4 الوهمية"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "قبول broadcasted icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "قبول صدى icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* موجودة"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "إعادة الإقلاع بطرفية المستخدم"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "السماح بدخول المستخدم الجذر من بعيد"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "دخول المستخدم الجذر مباشر"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "سرد أسماء المستخدمين على مُدراء العرض (kdm وgdm("
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "تصدير العرض عند المرور من المستخدم الجذر إلى المستخدمين الآخرين"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "السماح باتّصالات نافذة X"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "تخويل اتصالات TCP إلى نافذة X"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "تخويل كلّ الخدمات التي يتحكّم بها tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "يُطيع chkconfig أحكام msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "تمكين \"crontab\" و \"at\" للمستخدمين"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "يرسل syslog التّقارير إلى الشّاشة الطرفيّة 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "الحماية من خداع حلّ الاسم"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "تمكين الحماية من خداع IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "تمكين libsafe إن كان موجوداً على النّظام"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "تمكين تسجيل حزم IPv4 الغريبة"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "تمكين اختبارات msec الأمنية كل ساعة"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "تمكين استخدام su من قبل أعضاء مجموعة العجل أو لأيّ مستخدم"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "استخدم كلمة المرور للمصادقة على المستخدمين"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "التحقّق من عدم شرعيّة بطاقات ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "مراقبة أمنية يومية"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) في مستوى المستخدم الوحيد"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "بدون تحديد عُمْر لكلمة المرور لـ"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "تحديد انتهاء صلاحية كلمة المرور وتأخيرات عدم النّشاط"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "سجلّ طول كلمة المرور"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "طول كلمة المرور الأدنى وعدد الأرقام والحروف الاستهلاليّة"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "umask الخاص بالمستخدم الجذر"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "حجم سجلّ shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "انتهاء وقت shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "umask للمستخدم"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "تحقّق من المنافذ المفتوحة"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "تحقّق من الحسابات الغير مؤمّنة"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "تحقّق من صلاحيات الملفّات في دليل منزل المستخدمين"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "تحقّق إن كانت أجهزة الشّبكة في وضع غير شرعيّ"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "تشغيل الاختبارات الأمنية اليومية"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "تحقق من اضافات/حذف ملفات sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "تحقق من وجود كلمة مرور فارغة في /etc/shadow."
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "تحقّق من checksum للملفّات suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "تحقّق من الإضافات/الإزالات لملفّات suid الجذريّة"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "قم بتقرير الملفات الغير مملوكة"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "تحقّق من الملفّات/الأدلّة التي يمكن الكتابة عليها بواسطة الكلّ"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "تشغيل اختبارات chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"عند التعيين، أرسل التقرير بالبريد إلى هذا العنوان أو قم بإرساله إلى المستخدم "
+"الجذر"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "أرسل تقرير نتيجة الفحص بالبريد"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "أجرِ بعض الفحوصات على قاعدة بيانات rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "أرسل تقرير بنتيجة الاختبار إلى syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "يقوم بتقرير نتيجة الاختبار إلى الطرفية"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "مرحبا بالمخترقين"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "فقير"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "قياسي"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "مرتفع"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "أكثر ارتفاعاً"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "مذعور"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"يجب استخدام هذا المستوى الأمني بحذر. فهو يجعل نظامك أسهل في الإستخدام،\n"
+"لكن يكون حساساً جداً. لذا لا يجب استخدامه لماكينة متصلة بماكينات أخرى\n"
+"أو إلى الإنترنت. لا يوجد دخول بكلمة المرور."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr "كلمات المرور ممكّنة الآن، لكن الاستخدام كحاسب في شبكة يزال غير مفضّل."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"هذا هو المستوى الأمني القياسي للحاسب الذي سيستخدم للإتصال بالإنترنت كعميل."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"توجد بعض القيود، كما يتم تشغيل برامج للتأكد من النظام أوتوماتيكياً كل ليلة."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"بهذا المستوى الأمني، يكون استخدام هذا النظام كخادم يصبح ممكناً.\n"
+"المستوى الأمني عالٍ بشكل كافي لاستخدام هذا النظام كخادم يستطيع قبول\n"
+"اتصالات من عملاء كثيرين. ملحوظة: إذا كانت ماكينتك مجرد عميل على الإنترنت "
+"فالأجدر بك اختيار مستوى أمني أقل."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"هذا مماثل للمستوى السابق، و لكن النظام مغلق كلياً و المزايا الأمني على حدها "
+"الأقصى."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "الأمن"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "خيارات DrakSec الأساسية"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "الرجاء اختيار مستوى الأمن الذي تريده"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "مستوى الأمن"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "استخدام libsafe للخادمات"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "مكتبة تحمي من هجمات buffer overflow و format string"
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "مدير النظام (اسم الدخول أو البريد الألكتروني)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "تشغيل نظام الصوت ALSA (بناء صوت لينكس المتقدّم)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron أداة لتشغيل الأوامر في أوقات محددة."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"تُستخدم apmd لمراقبة حالة البطارية و تسجيلها عن طريق syslog.\n"
+"يمكن كذلك استخدامها لإغلاق الجهاز عند ضعف البطارية."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"تتشغيل الأوامر المُجدولة عن طريق أمر at عند الوقت المحدد\n"
+"لتشغيل at، و تقوم بتشغيل الأوامر الدقعية عندما يكون متوسط الحِمْل قليلاَ."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron هو برنامج يونكس القياسي لتشغيل البرامج المحددة من قبل المستخدم\n"
+"عند أدوقات محددة دورياً. vixie cron يضيف عدداً من المزايا إلى يونكس\n"
+"cron الأساسي، بما فيها حماية أمنية أفضل، و خيارات تهيئة أقوى."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM هي خدمة مراقبة الملفّات. إنها تستخدم للحصول على تقارير عن تغيّر الملفّات.\n"
+"إنّها تستخدم من قبل جينوم وكيدي"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"يقوم GPM بإضافة دعم الماوس لتطبيقات لينكس في الوضع النصي مثل\n"
+"Midnight Commander. إضافة إلى ذلك فإنه يسمح بعمليات القص و اللصق في سطر "
+"الأوامر،\n"
+"كما يتضمن دعم القوائم المختصرة في سطر الأوامر."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake يقوم بالتحقق من العتاد، و يقوم بتهيئة العتاد\n"
+"الجديد/المتغير بشكل اختياري."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache هو خادم وب. و يُستخدم لخدمة ملفات HTML و CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"مراقب الإنترنت الأساسي (يسمى عادةً بـ inetd) يبدأ\n"
+"مجموعة من خدمات الإنترنت الأخرى عند الحاجة. انه مسؤول عن بدء\n"
+"العديد من الخدمات، بما فيها telnet، ftp، rsh، و rlogin. تعطيل inetd سيعطل\n"
+"كل الخدمات المذكورة."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"شغّل تصفية الرّزم لنواة لينكس من السّلسلة 2.2 كي تُعدّ جداراً ناريّاً لحماية ماكينتك "
+"من هجمات الشّبكة."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"هذه الحزمة تقوم بتحميل خريطة لوحة المفاتيح المختارة كما\n"
+"تم تعيينها في /etc/sysconfig/keyboard. يمكن اختيار لوخة المفاتيح باستخدام "
+"أداة kbdconfig.\n"
+"يجب تركها ممكّنة في أغلب الأجهزة."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"إعادة توليد آلية لترويسة النواة في دليل /boot لـ\n"
+"/usr/include/linux/{autoconf،version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "تحقق و تهيئة آلية للعتاد عند الإقلاع."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf يقوم في بعض الأحيان بالترتيب لعمل بعض الأعمال\n"
+"عند الإقلاع للمحافظة على إعدادات النظام."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd هو مراقب الطباعة الذي يحتاجه أمر lpr للعمل بشل صحيح. أساساً\n"
+"هو خادم يوصل وظائف الطباعة إلى الطابعات."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"خادم لينكس الوهمي، يستخدم لعمل خادم عالي الأداء\n"
+"و يعتمد عليه."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) هو خادم أسماء نطاق (DNS) و الذي يستخدم لمعرفة أسماء المضيفات أو "
+"عناوين IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"تقوم بتركيب وفكّ كل أماكن تركيب أنظمة ملفات الشبكة (NFS) و SMB (Lan\n"
+"Manager/ويندوز)، و NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"تقوم بتنشيط/تثبيط كل واجهات الشبكة المهيئة كي تبدأ\n"
+"عند بدء الإقلاع."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS بروتوكول شائع لمشاركة الملفات على شبكات TCP/IP.\n"
+"هذه الخدمة توفر وظائف NFS للأجهزة الخادمة، و التي يتم تهيئتها عن طريق\n"
+"ملف /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS بروتوكول شائع لمشاركة الملفات على شبكات\n"
+"TCP/IP. هذه الخدمة تسمح لك بالتحكم بالملفات عن طريق NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"حوّل آليا إلى قافل المفاتيح numlock فيي سطر الأوامر\n"
+"وXorge عند الإقلاع."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "دعم طابعات OKI 4w و الطابعات المتوافقة."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"دعم PCMCIA مهم لدعم أشياء مثل بطاقات الإيثرنت و\n"
+"المودمات على الأجهزة الدفترية. لن يتم بدء هذه الخدمة الا عند تهيئتها لذا فلا "
+"مسكلة عند تشغيله\n"
+"على الأجهزة التي لا تحتاجه."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"يقوم portmapper بإدارة اتصالات RPC، و التي تستخدم عن طريق\n"
+"بروتوكولات مثل NFS و NIS. خادم portmap من اللازم أن يعمل على الأجهزة\n"
+"التي تعمل كخادمات تستخدم البروتوكولات التي تستفيد من آلية عمل RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix هو عميل لنقل البريد، أي البرنامج الذي ينقل البريد من جهاز إلى آخر."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"لحفظ واستعادة entropy pool للنظام لجودة أعلى\n"
+"لتوليد الأرقام العشوائيّة."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"تعيين الأجهزة الخام إلى أجهزة كتلية (مثل تجزيئات\n"
+"الأقراص الصلبة)، للاستخدام في تطبيقات مثل Oracle أو مشغلات DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"مراقب routed يسمح بتحديث جدول موجّه IP الآلي (IP router table) عن طريق\n"
+"بروتوكول RIP. بينما يستخدم RIP على الشبكات الصغيرة، تحتاج الشبكات الأكبر\n"
+"إلى بروتوكولات توجيه معقدة أكثر."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"بروتوكول rstat يسمح للمستخدمين على الشبكة بجلب\n"
+"احصائيات أداء أي جهاز على هذه الشبكة."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"بروتوكول rusers يسمح للمستخدمين على الشبكة أن يتعرفوا على من\n"
+"سجل الدخول إلى الأجهزة المستجيبة الأخرى."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"بروتوكول rwho يسمح للمستخدمين البعيدين بالحصول على قائمة بكل المستخدمين\n"
+"الذين سجلوا الدخول إلى جهاز يشغّل عفريت rwho (مماثل لـ finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "تشغيل نظام الصوت على جهازك"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog هي الوسيلة التي تستخدمها العديد من المراقبات لتسجيل الرسائل\n"
+"إلى ملفات سجلات عديدة. انها فكرة جيدة أن تقوم دائماً بتشغيل syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "تحميل مشغلات أجهزة USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "يبدأ خادم خطوط X (هذا واجب لكي يعمل Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "الطباعة"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "الإنترنت"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "مشاركة الملفات"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "النظام"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "الإدارة عن بعد"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "خادم قواعد بيانات"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "الخدمات"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "اختر أي خدمات تريدها أن تبدأ آلياً عند التثبيت"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "الخدمات: %d منشّطة لـ %d مسجلة"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "تعمل"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "متوقفة"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "الخدمات والعفاريت"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"عفواً، لا توجد معلومات\n"
+"اضافية حول هذه الحزمة."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "المعلومات"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "تشغيل عند الطّلب"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "عند الإقلاع"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "تشغيل"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "إيقاف"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+" هذا البرنامج هو برنامج حر؛ يمكنك إعادة توزيعة و/أو تعديله\n"
+" تحت بنود رخصة GNU العمومية الشاملة (GPL) كما نُشِرت عن طريق\n"
+" جمعية البرمجيات الحرة؛ إما اإصدار الثاني من الترخيص أو\n"
+" أي نسخة تالية (حسب اختيارك).\n"
+"\n"
+" هذا البرنامج يُوزَّع على أمل أن يكون مفيدا،\n"
+" لكن دون أي ضمان’؛ حتى بدون الضمانة المفهومة\n"
+" للإتجار أو المناسبة لغرض معين. انظر\n"
+" رخصة GNU العمومية الشاملة للتفاصيل.\n"
+"\n"
+" يجب أن تكون قد تسلمت نسخة من ترخيص GNU العمومية الشاملة\n"
+" مع البرنامج؛ في حالة عدم تسلم الرخصة راسل جمعية البرمجيات الحرة على العنوان "
+"التالي\n"
+" Free Software Foundation, Inc.، 51 Franklin Street, Fifth Floor، Boston، MA "
+"02110-1301،\n"
+" USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"تطبيق النسخ الاحتياطي والاسترجاع\n"
+"\n"
+"--default : حفظ الأدلة الافتراضية.\n"
+"--debug : إظهار كل رسائل إزالة العلل..\n"
+"--show-conf : قائمة الملفات أو الأدلة لنسخها احتياطياً.\n"
+"--config-info : شرح خيارات ملف التهيئة (لغير مستخدمي X).\n"
+"--daemon : استخدام تهيئة العفريت. \n"
+"--help : إظهار هذه الرسالة.\n"
+"--version : إظهار رقم النسخة.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"الخيارات:\n"
+" --boot - تمكين تهيئة محمّل الإقلاع\n"
+" --splash - تمكين تهيئة سمة الإقلاع\n"
+"الوضع الافتراضي: عرض تهيئة ميزة الدّخول التّلقائي"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - إطبع رسالة المساعدة هذه.\n"
+" --report - يجب أن يكون البرنامج واحداً من أدوات ماندريبا لينكس\n"
+" --incident - يجب أن يكون البرنامج واحداً من أدوات ماندريبا لينكس"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - معالج \"إضافة واجهة شبكة\"\n"
+" --del - معالج \"حذف واجهة شبكة\"\n"
+" --skip-wizard - أدر الاتّصالات\n"
+" --internet - هيّئ الإنترنت\n"
+" --wizard - مشابهة للخيار --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"تطبيق استيراد ومراقبة الخطوط\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : استيراد من كل تجزيئات ويندوز المتوفرة.\n"
+"--xls_fonts : إظهار جميع الخطوط الموجودة مسبقاً من xls\n"
+"--install : قبول أي ملف خط وأي دليل.\n"
+"--uninstall : إزالة أية خطوط أو أدلة خطوط.\n"
+"--replace : استبدال كل الخطوط الموجودة.\n"
+"--application : 0 لغير التطبيقات.\n"
+" : 1 كل التطبيقات المتوفرة المدعومة.\n"
+" : name_of_application مثال staroffice \n"
+" : و gs لبرنامج ghostscript لهذا فقط."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"مُهيّء خادم ماندريبا لينكس الطّرفي\n"
+"--enable : تمكين MTS\n"
+"--disable : تعطيل MTS\n"
+"--start : تشغيل MTS\n"
+"--stop : إيقاف MTS\n"
+"--adduser : أضف مستخدم نظام موجود إلى MTS (يتطلّب اسم مستخدم)\n"
+"--deluser : احذف مستخدم نظام موجود من MTS (يتطلّباسم مستخدم)\n"
+"--addclient : أضف ماكينة عميل إلى MTS (يتطلّب عنوان MAC، IP، واسم صورة "
+"nbi)\n"
+"--delclient : احذف ماكينة عميل من MTS (يتطلّب عنوان MAC، IP، واسم صورة "
+"nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[keyboard]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"تطبيق اتّصال ومراقبة الشّبكة والإنترنت\n"
+"\n"
+"--defaultintf interface : إظهار هذه الواجهة بشكل افتراضي\n"
+"--connect : اتّصل بالإنترنت إن لم تكن متّصلاً مسبقاً\n"
+"--disconnect : اقطع اتّصال الانترنت إن كنت متّصلاً مسبقاً\n"
+"--force : تستخدم مع وصل/فصل الاتّصال: أجبر وصل/قطع الاتّصال.\n"
+"--status : يُرجع 1 إن كنت متّصلاً أو صفر في خلاف ذلك، ثمّ يخرج.\n"
+"--quiet : لا تكن تفاعليّاً. لاستخدامها مع وصل/قطع الاتّصال."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation لا تسأل سؤال التّأكيد فيوضع Mandriva Update\n"
+" --no-verify-rpm لا تتحقّق من توقيعات الحزم\n"
+" --changelog-first عرض سجلّ التّغييرات قبل سرد الملفّات في نافذة الوصف\n"
+" --merge-all-rpmnew اقترح دمج كلّ ملفّات .rpmnew/.rpmsave المعثور عليها"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"الاستخدام: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "إضافة خادم"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "جنوب أفريقيا "
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "النمسا"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "جنوب أفريقيا "
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "أوقيانيا"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "جنوب أفريقيا "
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "هونج كونج"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "روسيا الإتحادية"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "يوغوسلافيا"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "هل هذا صحيح؟"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "لم يتم اختيار أي ملف"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "لقد اخترت ملفاً، وليس دليلاً"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "لقد اخترت دليلاً، وليس ملفاً"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "لا دليل كذلك"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "لا ملف كذلك"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "توسيع الشّجرة"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "ضمّ الفروع"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "تبديل بين فرز السّرد أو المجموعة"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s غير مثبت\n"
+"اضغط \"التالي\" للتثبيت أو \"إلغاء\" للخروج"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "فشل التّثبيت"
+
+#~ msgid "Icon"
+#~ msgstr "أيقونة"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "عدد مخازن اللّقطات:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "عدد مخازن اللّقطات للقطات mmap'ed"
+
+#~ msgid "PLL setting:"
+#~ msgstr "إعداد PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "دعم الراديو:"
+
+#~ msgid "enable radio support"
+#~ msgstr "تمكين دعم الراديو"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/az.po b/perl-install/share/po/az.po
new file mode 100644
index 000000000..7baad6e99
--- /dev/null
+++ b/perl-install/share/po/az.po
@@ -0,0 +1,6750 @@
+# translation of DrakX-az.po to Azerbaijani
+# translation of DrakX-az.po to Azerbaijani Turkish
+# DrakX-az.po faylının Azərbaycan dilinə tərcüməsi
+# Copyright (C) 2000,2003, 2004 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Vasif Ismailoglu MD<azerb_linux@hotmail.com> , 2000-2001
+# Mətin Əmirov <metin@karegen.com>, 2001-2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-az\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-03-31 14:21+0200\n"
+"Last-Translator: Mətin Əmirov <metin@karegen.com>\n"
+"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Xahiş edirik, gözləyin"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Açılış yükləyicisi qurulumu fəaliyyətdədir"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Açılış yükləyicisi qurulumu iflas etdi. Xəta:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Siz Open Firmware açılış avadanlığınızı açılış yükləyicisini\n"
+"fəallaşdırmaq üçün dəyişdirməli ola bilərsiniz. Command-Option-O-F "
+"düymələrini\n"
+" yenidən başlarkən basın və bunları girin:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Sonra da bunları yazın: shut-down\n"
+"Bir sonrakı başlanğıcda açılış yükləyicisi sətirini görməlisiniz."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Açılış yükləyicisini bir bölmə üstünə qurma qərarı verdiniz.\n"
+"Bu o deməkdir ki sizin onsuzda bir açılış yükləyiciniz var. (mis: System "
+"Commander).\n"
+"\n"
+"Hansı sürücü üstündən açılış edirsiniz?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Diskin ilk sektoru (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Kök bolməsinin ilk sektoru"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Disketə"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Keç"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub Qurulumu"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Sistem yükləyicisini hara qurmaq istəyirsiniz?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Açılış Tərzi Quraşdırılması"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Sistem yükləyicisinin ana seçimləri"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Açılış yükləyicisi"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "İstifadə ediləcək Açılış idarəcisi"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Açılış avadanlığı"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Açılışda gecikmə müddəti"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI-ni Fəallaşdır"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ACPI-ni Fəallaşdır"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ACPI-ni Fəallaşdır"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Şifrə"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Şifrələr uyğun gəlmir"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Xahiş edirik, təkrar sınayın"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"%s bağlama nöqtəsi üçün şifrələnmiş fayl sistemi istifadə edə bilməzsiniz"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Şifrə (təkrar)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Əmr sətiri seçimlərini məhdudlaşdır"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "məhdudlaşdır"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"``Əmr sətiri seçimlərini məhdudlaşdır`` seçimi şifrəsiz bir işə yaramaz"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "/tmp-i hər açılışda təmizlə"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ümumi yaddaş miqdarı (%d MB tapıldı)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Yaddaş miqdarını MB cinsindən verin"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init İsmarışı"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Açıq Firmware Gecikməsi"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Çəyirdək Açılış Vaxt Dolması"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD Açılışı Fəallaşdırılsın?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF Açılışı Fəallaşdırılsın?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Əsas ƏS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Əks"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Kök"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Sonuna əlavə et"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video modu"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Şəbəkə profili"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etiket"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Ön Qurğulu"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Boş etiket qəbul edilmir"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Çəyirdək əksini bildirməlisiniz"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Kök bölməsini bildirməlisiniz"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Bu etiket onsuzda istifadə edilib"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Nə cür bir giriş əlavə etmək istəyirsiniz?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linuks"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Digər sistemlər (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Digər ƏS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Digər ƏS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Buradakı bir birindən fərqli seçimlərə yenilərini əlavə edə bilər,\n"
+"ya da mövcud olanları dəyişdirə bilərsiniz."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X proqramlarına yetişmə icazəsi"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "rpm vasitələrinə yetişmə"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" icazəsi ver"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "idarəvi fayllara yetişmə"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "şəbəkə vasitələrinə yetişmə"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "dərləmə vasitələrinə yetişmə"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s artıq əlavə edilmişdir)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Xahiş edirik, bir istifadəçi adı alın"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"İstifadəçi adında sadacə kiçik hərflər, rəqəmlər, `-' və `_' xarakterləri "
+"ola bilər"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "İstifadəçi adı çox uzundur"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Bu istifadəçi adı onsuzda əlavə edilib"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "İstifadəçi ID'si"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Qrup ID'si"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "%s seçimi rəqəm olmalıdır!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "İstifadəçini əlavə et"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Bir istifadəçi daxil edin\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Qurtardı"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "İstifadəçini qəbul et"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Həqiqi ad"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Giriş adı"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Qabıq"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Avtomatik Giriş"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Kompüteriniz istifadəçinin avtomatik giriş etməsi üçün qurğulana bilər."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Bu xüsusiyyəti istifadə etmək istəyirsiniz?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Əsas istifadəçini seçin:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "İşlətmək istədiyiniz pəncərə idarəçisini seçin:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lisenziya razılığı"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Çıx"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Buraxılış:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Qəbul Et"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Rədd Et"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Xahiş edirik, istifadə ediləcək dili seçin."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Dil seçkisi"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux müxtəlif dilləri dəstəkləyir. Qurmaq istədiyiniz\n"
+"dilləri seçin. Onlar qurulum tamamlanandan və sistem yenidən\n"
+"başlayandan sonra istifadəyə hazır olacaqlar."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Bütün dillər"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Ölkə / Bölgə"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Xahiş edirik, ölkənizi seçin."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Bütün mövcud ölkələrinn siyahısı"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Diqər Ölkələr"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Ətraflı"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Giriş yöntəmi:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Heç biri"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Bölüşmə yoxdur"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Bütün istifadəçilərə icazə ver"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Xüsusi"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"İstifadəçilərə onların bə'zi qovluqlarını bölüşmə icazəsi vermək "
+"istəyirsiniz?\n"
+"Buna icazə versəniz, istifadəçilər konqueror və nautilus'dakı \"Bölüş\"\n"
+"menyusundan qovluqlarını bölüşdürə bilərlər.\n"
+"\n"
+"\"Xüsusi\" seçənəyi, hər istifadəçiyə fərqli icazə vermək üçün istifadə "
+"edilir.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"NFS ya da SMB işlədərək ixrac edə bilərsiniz. Xahiş edirik, işlətmək "
+"istədiyinizi seçin."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Userdrake-ni başlat"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Bağla"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"İstifadəçi başına bölüşmə \"fileshare\" qrupunu istifadə edir. \n"
+"Bu qrupa istifadəçiləri əlavə etmək üçün userdrake'dən istifadə edə "
+"bilərsiniz. "
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Lütfen çıxın və Ctrl-Alt-BackSpace düymələrinə basın"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Dəyişikliklərin fəal olması üçün hesabdan çıxış edib, yenidən girməlisiniz."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Vaxt Zolağı"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Vaxt zolağınız hansıdır?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Avadanlıq saatı GMT'yə görə quruludur"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Avadanlıq saatı GMT'yə görə quruludur"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Verici"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Avtomatik vaxt sinxronizasiyası (NTP vasitəsiylə)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Yerli fayl"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows Domeni"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Bütün ehtiyat nüsxələri geri yüklə"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Bütün ehtiyat nüsxələri geri yüklə"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Yerli fayllar:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows Domeni:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Bütün ehtiyat nüsxələri geri yüklə"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Bütün ehtiyat nüsxələri geri yüklə"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Tanıtma LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Əsas dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP Vericisi"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "bəsit"
+
+#: authentication.pm:112
+#, fuzzy, c-format
+msgid "TLS"
+msgstr "LSB"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Tanıtma yöntəmi"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domen"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Verici"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Mə'lumat Bazası"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Şifrə lazımdır"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Səlahiyyətləndirmə NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS sahəsi"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS Verici"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"W2K PDC üçün bunun işləməsi üçün, idarəçi C:\\>net localgroup \"Pre-Windows "
+"2000 Compatible Access\" everyone /əmrini verib vericini yenidən "
+"başlatmalıdır.\n"
+"Onun, eyni zamanda sistemi Windows(TM) domeninə calamaq üçün Domen "
+"İdarəçisinin istifadəçi adı/şifrəsinə ehtiyacı olacaq.\n"
+"Əgər şəbəkə hələ quraşdırılmayıbsa DrakX şəbəkəni quraşdırdıqdan sonra "
+"domenə calama üçün cəhd edəcək.\n"
+"Əgər bu qurğu ya da domen səlahiyyətləndirilməsi işləməzsə, sistemin yenidən "
+"başladılmasından sonra Windows(tm) Domeninizi və İdarəçi istifadəçi adı/"
+"şifrəsini işlədərək'smbpasswd -j DOMEN -U İSTİFADƏÇİ%%ŞİFRƏ' əmrini icra "
+"edin.\n"
+"'wbinfo -t' əmri səlahiyyət sirrlərinin düzgün olub olmamasını yoxlayacaq."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows Domen Səlahiyyətləndirilməsi"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domen İdarəçisinin İstifadəçi Adı"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domen İdarəçi Şifrəsi"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Tanıtma"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Ali istifadəçi şifrəsini tə'yin et"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Tanıtma yöntəmi"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Şifrə olmasın"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Bu şifrə çox qısadır (ən az %d hərf böyüklüyündə olmalıdır)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "NIS domeni olmayan translasiya işlədilə bilməz"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "Mətn menyulu LILO"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot içində lazımi yer yoxdur"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Sistem yükləyicisini %s bölməsinə qura bilməzsiniz\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Sistem Yükləyicisini Yenidən Qur"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d dəqiqə"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 dəqiqə"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d saniyə"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV, bir vericinin cərgəsini yerli bir qovluğa bağlamanıza və ona yerli\n"
+"fayl sistemi kimi rəftar etməyə imkan tanıyan protokoldur (verici WebDAV\n"
+"olaraq quraşdırılmalıdır). İndi WebDAV bağlama nöqtələri əlavə etmək\n"
+"üçün, \"Yeni\" düyməsinə basın."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Yeni"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Ayır"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Bağla"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Bağlama nöqtəsi"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Seçimlər"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Xəta"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Xahiş edirik, WebDAV vericisi URL-ni daxil edin"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL http:// ya da https:// ilə başlamalıdır"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Verici:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Bağlama nöqtəsi: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Seçimlər: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Bölmələndirmə"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Diqqətlə oxuyun!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Əvvəlcə datanızın yedəyini alın"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Çıxış"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Davam et"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Aboot istifadə etmək istəyirsinizsə, boş disk sahəsi (2048 sektor "
+"kifayətdir.)\n"
+"buraxmağı unutmayın."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Yardım"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Gedişatı seçin"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Tək bir böyük Microsoft Windows disk bölməniz var.\n"
+"Əvvəlcə bu disk bölməsinin böyüklüyünü dəyişdirməyi\n"
+"məsləhət edirik. (Bölməni seçib, \"Böyüklüyü\n"
+"Dəyişdir\" düyməsinə tıqlayın)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Xahiş edirik, bir bölmə üstünə tıqlayın"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Ətraflı"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Sabit disk(lər) tapıla bilmədi"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Namə'lum"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Dəyiş-toqquş"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Digər"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Boş"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Fayl sistemi növü:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Xəbərdarlıq"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Bu bölmə ölçüləndirilə bilməz"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Əvvəlcə ``Ayır'-ı işlət"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Yerinə ``%s'' işlət"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Növ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Başqa bölmə seçin"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Bölmə seçin"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Geri al"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Normal moda keç"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Mütəxəssis moduna keç"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Quraşdırma"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Davam edilsin?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Qeyd etmədən Çıx"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Bölmə cədvəli qeyd edilmədən çıxılsın?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Dəyişikliklər /etc/fstab faylına qeyd edilsin?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Bölmə cəvəlindəki dəyişikliklərin tətbiq edilməsi üçün kompüterinizi yenidən "
+"başlatmalısınız."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Hamısını təmizlə"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Avtomatik ayır"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Daha Çox Seçim"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Sabit disk mə'lumatı"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Bütün birinci bölmələr istifadədədir"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Artıq bölmə əlavə edilə bilməz"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "Artıq bölmə yaratmaq üçün, bir bölməni silib uzadılmış bölmə yaradın"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Bölmə cədvəlini qeyd et"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Bölmə cədvəlini geri al"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Bölmə cədvəlini qurtar"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Bölmə cədvəlini yenidən yüklə"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Sökülə bilən avadanlıqların avtomatik bağlanması"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Fayl seç"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Ehtiyat bölmə cədvəli eyni böyüklüyə sahib deyil\n"
+"Davam etmək istəyirsiniz?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Bölmə cədvəli qurtarılmaya cəhd edilir"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Ətraflı mə'lumatı"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Böyüklüyünü Dəyişdir"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Şəkilləndir"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAIDə əlavə et"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVMə əlavə et"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Sil"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAİD'dən ayır"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVMdən ayır"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAIDi dəyişdir"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Loopback üçün istifadə et"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Yarat"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Yeni bölmə yarat"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Başlanğıç sektoru: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "MB cinsindən böyüklük: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Fayl sistemi növü: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Seçim: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Məntiqi həcm adı"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Yeni bölmə yarada bilməzsiniz\n"
+"(ona görə ki siz maksimal birinci bölmə ədədinə yetişdiniz).\n"
+"Əvvəlcə birinci bölməni silib, ondan sonra genişləndirilmiş bölmə yaradın."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Loopback faylı silinsin?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"%s bölməsinin növünü dəyişdirdikdən sonra, bu bölmədəki bütün mə'lumatlar "
+"itiriləcək"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Bölmə növünü Dəyişdir"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Hansı dili istəyirsiniz?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2'dən ext3'ə keçilir"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Etiket"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "%s loopback faylını haraya bağlamaq istəyirsiniz?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "%s avadanlığını haraya bağlamaq istəyirsiniz?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Bu disk bölməsi loopback üçün istifadə edildiyinə görə bağlanma nöqtəsindən "
+"ayrıla bilinmir.\n"
+"Əvvəlcə loopback-i silin."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%s avadanlığını hara bağlamaq istəyirsiniz?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Ölçüləndirilir"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Fat fayl sistemi ucları hesaplanır"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Bu bölmə ölçüləndirilə bilməz"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Bu bölmədəki bütün mə'lumatların ehtiyat nüsxələri alınmalıdır"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"%s bölməsinin ölçüləndirildikdən sonra bu bölmədəki bütün mə'lumatlar itəcək"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Yeni böyüklüyü seçin"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "MB cinsindən yeni böyüklük: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Bölmə(lər)in böyüklüyünün dəyişdirilməsindən sonra mə'lumat \n"
+"bütövlüyünü qorumaq üçün fayl sistemi yoxlamaları bir sonrakı\n"
+"Windows(TM) açılışınızda işə salınacaq."
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Əlavə etmək üçün mövcud bir RAİD seçin"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "yeni"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Əlavə etmək üçün mövcud bir LVM seçin"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM adı?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Bu disk bölməsi loopback üçün işlədilə bilməz"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback fayl adı: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Fayl adı verin"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fayl başqa bir loopback tərəfindən istifadədədir, başqasını seçin"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fayl onsuz da mövcuddur. İşlədilsin?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Bağlama seçimləri"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Müxtəlif"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "avadanlıq"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "səviyyə"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "parça böyüklüyü"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Diqqətlı olun: bu əməliyyat təhlükəlidir."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Hansı növ bölmələndirmə?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Yeni qurğuların fəallaşmağı üçün sistemi yenidən başlatmalısınız"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s sürücüsünün bölmə cədvəli diskə yazılacaq!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"%s bölməsi şəkilləndirildikdən sonra bu bölmədəki bütün mə'lumatlar itəcək."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Xətalı bloklar sınansınmı?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Faylları yeni bölməyə daşı"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Faylları gizlət"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Fayllar yeni bölməyə daşınır"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s köçürülür"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s silinir"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "%s bölməsi indi %s olaraq bilinir"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Avadanlıq: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS sürücü hərfi: %s (bir təxmindir)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Növ: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Ad: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Başlanğıc: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Böyüklüyü: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektor"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silindr %d'dən silindr %d'yə\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Şəkilləndirilmiş\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Şəkilləndirilməmiş\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Bağlı\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAİD %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback fayl(lar)ı:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Əsas olaraq açılan bölmə\n"
+" (MS-DOS açılışı üçün, lilo üçün deyil)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Səviyyə %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Parça böyüklüyü %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAİD-diskləri %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback faylı adı: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Bu bölmə Sürücü bölməsidir.\n"
+"Bunu elə beləcə buraxın.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Bu, sisteminizin ikili açılışı üçün\n"
+"xüsusi Bootstrap bölməsidir.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Sırf oxuna bilən"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Böyüklük: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometriyası: %s silindr, %s baş, %s sektor\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Mə'lumat: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskləri %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Bölmə cədvəli növü: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "%d kanalında, %d id'li\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Fayl sistemi şifrələmə açarı"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Fayl sistemi şifrələmə açarınızı seçin"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Bu şifrələmə açarı çox sadədir (ən az %d hərf böyüklüyündə olmalıdır)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Şifrələmə açarları uyğun gəlmir"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Şifrələmə açarı"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Şifrələrmə açarı (təkrar)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Şifrələmə alqorifması"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Növünü dəyişdir"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Ləğv Et"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "%s istifadəçi adı ilə giriş edilə bilmir (şifrəniz səhvdir?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domen Səlahiyyətləndirməsi Məcburidir"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Hansı istifadəçi adı"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Başqa birisi"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Xahiş edirik, bu qovşağa yetişə bilmək üçün istifadəçi adını, şifrəni və "
+"domen adını girin."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "İstifadəçi adı"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Vericiləri axtar"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Yeni vericiləri axtar"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s paketi qurulmalıdır. Qurmaq istəyirsiniz?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Xorg paketi qurula bilmir: %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Vacib olan %s paketi əksikdir"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Aşağıdakı paketlər qurulmalıdır:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Paketlər qurulur..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Paketlər silinir..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Bir xəta oldu. Yeni fayl sisteminin yaradılacağı hökmlü bir sürücü "
+"tapılmadı. Bu problemin qaynağı üçün avadanlığınızı yoxlayın"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "/boot/efi ünvanına bağlanmış FAT bölməniz olmalıdır"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s bölməsi şəkilləndirilir"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s faylı yaradılır və şəkilləndirilir"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "%s-i necə şəkilləndirəcəyimi bilmirəm (Növ: %s)"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s şəkilləndirilməsində %s bölmə xətası"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Dairəvi bağlama %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "%s bölməsi bağlanır"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "%s bolməsini %s cərgəsinə bağlama bacarılmadı"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s yoxlanır"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s ayrılırkən xəta oldu: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "%s dəyiş-toqquş sahəsi fəallaşdırılır"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"%s bağlama nöqtəsi üçün şifrələnmiş fayl sistemi istifadə edə bilməzsiniz"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Bu fayl sistemi üstündəki inode yetişmə vaxtlarını yeniləmə\n"
+"(mis,xəbərlər vericisini tezləşdirmək üçün)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Yalnız dəqiq olaraq bağlana bilər (mis.,\n"
+" -a seçimi fayl sisteminin bağlanmasına səbəb olmayacaq)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Fayl sistemi üstündə hərfləri çevirmə və xüsusi avadanlıqları bloklama."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Bağlı fayl sistemi üstündəki ikili faylların icra edilməsinə icazə vermə\n"
+"Bu, öz me'marisi xaricindəki fayl sistemləri üçün icra edilə bilən faylları "
+"daxil\n"
+"edən bir verici üçün faydalı ola bilər."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"set-user-identifierya da set-group-identifier fəaliyyətlərinə\n"
+"icazə vermə. (Bu e'tibarlı görsənir, yalnız sisteminizdə suidperl(1)\n"
+"quruludursa təhlükəli ola bilər.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Fayl sistemini ancaq oxuna bilən şəkildə bağla."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Fayl sisteminə bütün G/Ç'lar sinxron olaraq yerinə gətirilməlidir."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Sıravi istifadəçilərə yazma səlahiyyəti ver"
+
+#: fs/mount_options.pm:149
+#, fuzzy, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Sıravi istifadəçilərə yazma səlahiyyəti ver"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "%s bağlama nöqtəsini ikiləşdir"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Uyğun bölmə mövcud deyil"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Bölmələr bağlama nöqtələri üçün yoxlanır"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Bağlama nöqtələrini seçin"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Şəkilləndirmək istədiyiniz bölmələrini seçin"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"%s fayl sisteminin yoxlanması bacarılmadı. Xətaları düzəltmək istəyirsiniz? "
+"(diqqətli olun, mə'lumatları itirə bilərsiniz)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Qurulumu bitirmək üçün lazımi sahə yoxdur, xahiş edirik, əlavə edin"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Bir kök bölməsi yaratmalısınız.\n"
+"Bunun üçün istər mövcud bir disk bölümü üzərinə tıqlayın, \n"
+"ya da yeni birini başdan yaradın. Sonra \"Bağlama \n"
+"Nöqtəsi\"gedişatını seçin va buranı '/' olaraq dəyişdirin."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Dəyiş-toqquş sahəniz yoxdur\n"
+"Davam edilsin?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Boş sahəni istifadə et"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Yeni bölmələr ayırmaq üçün kifayət qədər boş yer yoxdur"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Mövcud bölmələri işlət"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "İstifadə ediləcək mövcud bölmə yoxdur"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Loopback üçün Microsoft Windows® bölməsini işlət"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Linux4Win-i qurmaq üçün hansı disk bölməsini istifadə edəcəksiniz?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Böyüklükləri seçin"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Kök bölməsi böyüklüyü (Mb): "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Dəyiş-toqquş sahəsi böyüklüyü (Mb): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "Loopback üçün FAT bölməsi yoxdur (ya da lazımi yer yoxdur)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Windows bölməsindəki boş sahəni işlət"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Hansı bölmə ölçüləndirilsin?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT ölçüləndiricimiz sizin bölməniziri işlədə bilmir,\n"
+"bu xəta oldu: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Microsoft Windows® bölməsin böyüklüyü hesablanır"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows® bölümünüz çox dağınıqdır. Daxiş edirik, əvvəlcə "
+"kompüterinizi Microsoft Windows® ilə açın, ''defrag'' vasitəsini işlədin, "
+"sonra Mandriva Linux qurulumunu yenidən başladın."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"XƏBƏRDARLIQ!\n"
+"\n"
+" DrakX indi Windows disk bölmənizin böyüklüyünü dəyişdirəcək.\n"
+"\n"
+"\n"
+"Diqqətli olun, bu təhlükəli ola bilər. Hələ də etmədinizsə qurulumdan çıxın "
+"və Windows altında scandisk (lazım gələrsə defrag da) proqramını icra edin. "
+"Eyni zamanda mə'lumatlarınızın da ehtiyat nüsxəsini alın. Ardından quruluma "
+"davam edin.\n"
+"\n"
+"\n"
+"Hazır olanda, %s düyməsinə basın."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Sonrakı"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Microsoft Windows® üçün hansı böyüklüyü saxlamaq istəyirsiniz %s bölməsi?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Böyüklük"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Microsoft Windows® bölməsi ölçüləndirilir"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT ölçüləndirilməsi bacarılmadı: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Ölçüləndiriləcək FAT bölməsi mövcud deyil (ya da lazımi yer yoxdur)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Microsoft Windows®'u Sil"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Bütün diski sil"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Sizin birdən çox diskiniz var, linux qurmaq üçün hansını istifadə "
+"edəcəksiniz?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s sürüsündəki mövcud bütün bölmələr və onlardakı mə'lumatitiriləcək"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Xüsusi disk bölmələndirməsi"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Fdisk istifadə et"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"İndi %s sabit diskinizi bölmələndirə bilərsiniz\n"
+"İşinizi bitirdiyinizdə `w' ilə qeyd etməyi unutmayın"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Artıq bölmə əlavə edilə bilməz"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX bölmələndirmə sehirbazı bu çıxış yollarını tapdı:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Bölmələndirmə bacarılmadı: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "16MB'dan kiçik disk bölmələrində JFS istifadə edə bilməzsiniz"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "32MB'dən kiçik disk bölmələrində ReiserFS istifadə edə bilməzsiniz"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr ilə"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "verici"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"%s avadanlığının bölmə cədvəli oxuna bilmir, dəyəsən biraz xarab olub.\n"
+"Xarab olmuş bolmələr düzəldilməyə cəhd ediləcək, ancaq bütün mə'lumatlar\n"
+"itəcək. Başqa bir yol isə DrakX'ə bölmə cədvəllərini yoxlama icazəsi "
+"verməməkdir.\n"
+"(xəta %s)\n"
+"\n"
+"Bütün bölmələri itirmək işinizə gəlir?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Bağlama nöqtələri / ilə başlamalıdır"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Bağlama nöqtələri ancaq alfanumerik hərf daxil edə bilər"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Onsuz da bağlama nöqtəsi %s olan bölmə mövcuddur\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Bir proqram tə'minatlı RAİD bölməsini kök cərgəsi (/) olaraq tə'yin\n"
+"etdiniz. /boot bölməsi olmadan heç bir açılış yükləyicisi bunu aça bilməz.\n"
+"Xahiş edirik, /boot bölməsini əlavə etməyi unutmayın"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "%s bağlama nöqtəsi üçün LVM Məntiqi Həcmini istifadə edə bilməzsiniz"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Bir proqram tə'minatlı RAİD bölməsini kök cərgəsi (/) olaraq tə'yin\n"
+"etdiniz. /boot bölməsi olmadan heç bir açılış yükləyicisi bunu aça bilməz.\n"
+"Xahiş edirik, /boot bölməsini əlavə etməyi unutmayın"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Bu qovluq kök fayl sistemi içərisində olmalıdır"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Bu bağlama nöqtəsi üçün həqiqi bir fayl sisteminə (ext2/ext3, reiserfs, xfs, "
+"ya da jfs)ehtiyacınız var\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"%s bağlama nöqtəsi üçün şifrələnmiş fayl sistemi istifadə edə bilməzsiniz"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Avtomatik yerləşdirmə üçün kifayət qədər boş sahə yoxdur"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ediləcək heçnə yoxdur"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disket"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD yazıcılar"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Kaset"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP idarəçiləri"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Video kartı"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Televiziya kartı"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Digər Multimediya avadanlıqları"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Səs kartı"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Veb kamerası"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "İşlədicilər"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN adapterləri"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Eternet Kartı"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL adapterləri"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Yaddaş"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Çapçı"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Oyun Çubuğu"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA idarəçiləri"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAİD idarəçiləri"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)İDE/ATA idarəçiləri"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kart modeli:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire idarəçiləri"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCİA idarəçiləri"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSİ idarəçiləri"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB idarəçiləri"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "USB çapçı"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus idarəçiləri"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Körpülər və sistem idarəçiləri"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klaviatura"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Siçan"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Darayıcı"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Na'məlum/Digərləri"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Xahiş edirik, gözləyin... Qurğular tətbiq edilir"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Alternativ sürücü yoxdur"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Hazırda \"%2$s\" işlədən %1$s səs kartınız üçün bilinən başqa OSS/ALSA "
+"sürücü mövcud deyil"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Səs quraşdırılması"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Burada siz (%s) səs kartınız üçün alternativ sürücü (ya OSS ya da ALSA) seçə "
+"bilərsiniz."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Səs kartınız hazırda %s\"%s\" sürücüsünü işlədir (kartınızın əsas sürücüsü "
+"\"%s\"dir)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) ilk səs API'si idi. Bu, ƏS'dən müstəqil səs "
+"API'sidirvə bütün UNIX(tm) sistemlərdə mövcuddur. Yalnız, bu çox bəsit "
+"vəməhdudlaşdırılmış API'dir.\n"
+"Dahası, OSS sürücülərinin hamısı təkəri yenidən kəşf edir.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) geniş silsilə İSA, USB və PCİ "
+"kartlarını dəstəkləyən modullaşdırılmış me'maridir.\n"
+"\n"
+"O, eyni zamanda OSS'dən daha qüvvətli API təşkil edir.\n"
+"\n"
+"Alsanı işlətmək üçün bunlardan biri ola bilər:\n"
+"- köhnə OSS API'si\n"
+"- yeni ALSA API'si.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Sürücü:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Problem həlli"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Köhnə \"%s\" sürücüsü artıq qara siyahıdadır.\n"
+"\n"
+"O çəyirdəyin açılması sırasında xətalar yaradır.\n"
+"\n"
+"Növbəti açılışda ancaq \"%s\" sürücüsü istifadə ediləcək."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Açıq mənbəli sürücü yoxdur"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"(%s) səs kartınız üçün pulsuz sürücü mövcud deyil, ancaq \"%s\" ünvanında "
+"lazım olan sürücünü tapa bilərsiniz."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Bilinən sürücü yoxdur"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Sizin (%s) səs kartınız üçün sürücü mövcud deyil"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Namə'lum sürücü"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Xəta: Səs kartınız üçün \"%s\" sürücüsü siyahıda yoxdur"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Səs problemini həll et"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klasik xəta səs sınaqı aşağıdakı əmrləri icra edir:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" səs kartınızın əsas olaraq hansı\n"
+"sürücünü işlətdiyini bildirir\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" hazırda işlədilən sürücünü\n"
+"bildirir\n"
+"\n"
+"- \"/sbin/lsmod\" modulun (sürücünün) yüklü olub olmadığını yoxlamaq\n"
+"üçün sizə imkan verir\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" və \"/sbin/chkconfig --list alsa\" səs "
+"və\n"
+"alsa xidmətlərinin initsəviyyəsi3'də işə salınıb salınmayacağını bildirir\n"
+"\n"
+"- \"aumix -q\" səs həcminin bağlı (mute) olub olmadığını bildirir\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" hansı proqramın səs kartını işlətdiyini "
+"bildirir.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "İstədiyim sürücünü seçməyə icazə ver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Səbəbsiz bir sürücü seçilir"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Kartınız üçün hansı sürücünün uyğun gəldiyini dəqiq bilirsinizsə yuxarıdakı\n"
+"siyahıdan birisini seçə bilərsiniz.\n"
+"\n"
+"\"%s\" səs kartınız üçün hazırkı sürücü \"%s\"dir"
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Avtomatik təsbit et"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Namə'lum|Ümumi"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Namə'lum|CPH05X (bt878) [çox satıcı]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Namə'lum|CPH06X (bt878) [çox satıcılı]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Müasir televiziya kartlarının bir çoxu üçün, GNU/Linuks çəyirdəyinin bttv "
+"modulu düzgün parametrləri avtomatik tapır.\n"
+"Əgər kartınız tapıla bilməsə, buradan düzgün kart növünü seçə bilərsiniz. "
+"Lazım olanda televiziya kartınızın parametrlərini seçin."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kart modeli:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tuner növü:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Oldu"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Bəli"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Xeyir"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Fayl seç"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Əlavə et"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Təkmilləşdir"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Sil"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Qurtar"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Əvvəlki"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Xətalı seçim, yenidən sınayın\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Seçiminiz? (əsası %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Doldurmaq məcburiyyətində olacağınız girişlər:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Seçkiniz? (0/1, əsas `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Düymə `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Bu düyməyə basmaq istəyirsiniz?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Seçiminiz? (əsas `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " enter `void' void giriçi üçün"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Arasından seçiləcək həddindən artıq çox şey var (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Xahiş edirik, 10-aralığının düzəltmək istədiyiniz ilk rəqəmini seçin,\n"
+"ya da davam etmək üçün Enter düyməsinə basın.\n"
+"Seçiminiz? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Diqqət edin, etiket dəyişdi:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Yenidən göndər"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Birləşmiş Ərəb Əmirlikləri"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Əfqanıstan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antiq və Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anquilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albaniya"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Ermənistan"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Holland Antilləri"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Anqola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikan Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Avstriya"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Avstraliya"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azərbaycan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosniya və Herzoqovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Banqladeş"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belçika"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bolqarıstan"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahreyn"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Bruney Darüssəlam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Boliviya"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Braziliya"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamalar"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Buvet Adası"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botsvana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarusiya"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Beliz"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos Adası"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Konqo (Kinşasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Mərkəzi Afrika Respublikası"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "İsveçrə"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Kot Divuar"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kuku Adaları"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Çili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Çin"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbiya"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbiya və Qaradağ"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Keyp Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Kristmas Adası"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipr"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Çex Respublikası"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Almanya"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Cibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danimarka"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominik"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikan Respublikası"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Əlcəzair"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estoniya"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Misir"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Qərbi Saxara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritre"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "İspaniya"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Efiopiya"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandiya"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fici"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Fokland Adaları (Malvin)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikroneziya"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faro Adaları"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Fransa"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Qabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Birləşmiş Krallıq"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Qrenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gürcüstan"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Fransız Gvineyası"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Qana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Qrinland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Qambiya"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Qvineya"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Quadelup"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorial Qvineya"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Yunanıstan"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Cənubi Georgiya və Cənubi Sandviç Adası"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Qvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Quam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Qvineya Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Quyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Çin (Honq Konq)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Hird Adası və Mkdonald Adaları"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Xırvatıstan"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Macarıstan"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "İndoneziya"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "İrlandiya"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "İsrail"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Hindistan"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britaniya Hind Okeanı Sahəsi"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "İrak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "İran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "İslandiya"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "İtaliya"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Yamayka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "İordaniya"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Yaponiya"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Qırğızıstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodiya"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komor"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Müqəddəs Kit və Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Koreya (Şimal)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Koreya"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuveyt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kayman Adaları"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Qazaxstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Livan"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lixtenşteyn"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Şri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberiya"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lyuksemburq"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latviya"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Liviya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Mərakeş"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madaqaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marşal Adaları"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedoniya"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Monqolustan"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Şimali Marian Adaları"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martiniq"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mavritaniya"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurit"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldiv"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malavi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malayziya"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambiq"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibiya"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Yeni Kaledoniya"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Adaları"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeriya"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaraqua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Hollandiya"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegiya"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niu"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Yeni Zellandiya"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Fransız Poloneziyası"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Yeni Qvineya"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippin"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polşa"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Müqəddəs Pyer və Migelion"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitkairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Porto Riko"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Filistin"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portuqaliya"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraqvay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reyunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Ruminıya"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusiya"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Səudiyyə Ərəbistan"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon Adaları"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seyşel"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "İsveç"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Sinqapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Müqəddəs Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Sloveniya"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard və Jan Mayen Adaları"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakiya"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Siera Lione"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Seneqal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somali"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome və Prinsip"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siriya"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Türk və Kaykos Adaları"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Çad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Cənubi Fransız Sahələri"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Toqo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tayland"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tacikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelo"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Şərqi Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Türkmənistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunis"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonqa"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Türkiyə"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad və Tobaqo"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tayvan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzaniya"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrayna"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uqanda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Birləşmiş Ştatlar yanı Kiçik Adalar"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Birləşmiş Ştatlar"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruqvay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Özbəkistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Müqəddəs Vinsent və Qrenadin"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venesuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virgin Adaları (Britaniya)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Adaları (ABŞ)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vyetnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Vallis və Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yəmən"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayot"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Cənubi Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambiya"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabve"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s Sisteminə Xoş Gəldiniz"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Əvvəlcə məntiqi həcmləri sil\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Giriş\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. Lisenziya Müqaviləsi\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Hüdudlu Zəmanət\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. GPL və Əlaqədar Lisenziyalar\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. İntelektual Sahiblik Hüquqları\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Hökümət Qanunları \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Diqqət: Sərbəst Tə'minat daima patentsiz ola bilməz və daxil edilən bə'zi\n"
+"sərbəst tə'minat ölkənizdə patentlər tərəfindən qoruna bilər. Misal üçün,\n"
+"daxil edilən MP3 dekoderinin irəli istifadəsi üçün lisenziya lazım ola "
+"bilər.\n"
+"Əgər patentlərin sizə ait olub olmadığını bilmirsinizsə yerli qanunlarınızı\n"
+"gözdən keçirin."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a şəbəkə. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Təbrik edirik, qurulum başa çatdı.\n"
+"Cdrom və disketi çıxartdıqtan sonra Enter'ə basaraq kompüterinizi\n"
+"yenidən başladın.\n"
+"\n"
+"\n"
+"Mandriva Linux'in bu buraxılışındakı yamaqlar haqqında \n"
+"mə'lumat almaq üçün bu ünvana baxın: \n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Sisteminizin qurğuları haqqında daha geniş mə'lumatı Rəsmi\n"
+"Mandriva Linux İstifadəçi Kitabcığının qurulum sonrası bölməsində\n"
+"tapa bilərsiniz."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "CUPS çapçı qurğuları"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Modul quraşdırması"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Burada, modulun hər bir parametrini quraşdıra bilərsiniz."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s ara üz tapıldı"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Başqası var?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "%s ara üzünüz var?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Avadanlıq mə'lumatına bax"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "%s kartı üçün sürücü %s qurulur"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "%s kartı üçün sürücü %s qurulur"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "%s kartı üçün sürücü %s qurulur"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "%s kartı üçün sürücü %s qurulur"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s kartı üçün sürücü %s qurulur"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Siz indi %s moduluna seçimlə ötürə bilərsiniz.\n"
+"Qeyd edin ki bütün ünvanlar 0x şəkilçisi ilə daxil edilməlidir, mis: '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"İstəsəniz indi %s modulunun parametrlərini göstərə bilərsiniz.\n"
+"Parametrlər``ad=qiymət ad2=qiymət2...'' şəklində olmalıdır.\n"
+"Məsələn ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modul seçimləri:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Hansı %s sürücüsü sınansın?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Bəzi hallarda, %s sürücü düzgün işləməsi üçün əlavə mə'lumat istəyə bilər.\n"
+"Sürücüler üçün əlavə bir xüsusiyyət göstərmək mi istəyərsiniz, yoxsa\n"
+"sürücülərin lazımi mə'lumatlar üçün avadalığı tanımasını mı istəyərsiniz? \n"
+"Bə'zən tanımlama kompüterinizi dondura bilər amma donduğu üçün\n"
+"kompüterinizə heç bir şey olmaz."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Avtomatik yoxla"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Seçimləri müəyyən et"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"%s modulunun yüklənməsi iflas etdi.\n"
+"Yenidən başqa bir parametr ilə sınamaq istəyirsiniz?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "bağlama bacarılmadı: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Bu platformda genişlədilmiş bölmələr dəstəklənmir"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Bölmə cədvəlinizdə bir boşluq var, amma o da işlədilə bilmir.\n"
+"Bu boşluğu, genişlədilmiş bölmənin yanına daşımaq üçünbirinci bölmənizi "
+"daşımalısınız."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s faylı oxunurkan xəta oldu"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "%s faylından geri yükləmə xətası: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Xətalı ehtiyat faylı"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "%s faylına yazma xətası"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Sürücünüzdə bə'zi pis şeylər baş verir.\n"
+"Mə'lumatın bütövlüyünün yoxlanması bacarılmadı. \n"
+"Bu o demekdir ki diskə yazılan hər şey təsadüfi və pozulmuş olacaq."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Disk bölməsi, _formatted_ RAİD md%d'ə əlavə edilə bilmədi"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "%d səviyyə RAİD üçün çatmayan sayda disk bölməsi\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "/usr/share/sane/firmware cərgəsi yaradıla bilmədi!"
+
+#: scanner.pm:106
+#, fuzzy, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "/usr/share/sane/firmware cərgəsi yaradıla bilmədi!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "%s firmware faylı /usr/share/sane/firmware mövqeyinə köçürülə bilmədi!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "%s firmware faylı üçün lazımi səlahiyyətlər müəyyən edilə bilmədi!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Darayıcı(ları)nızı bölüşdürmək üçün lazım olan paket(lər) qurula bilmədi."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Darayıcı(ları)nız ali istifadəçi olmayanlar üçün mövcud olmayacaqdır."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Səhv IPv4 xəta ismarışlarını qəbul et/etmə"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Translasiya edilən icmp echo'sunu Qəbul Et/Rədd Et"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "icmp əks sədasını qəbul/rədd et."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Avtomatik girişə icazə ver/vermə."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"\"ALL\" seçilidirsə, /etc/issue və /etc/issue.net mövcudiyyətinə icazə "
+"veriləcək.\n"
+"\n"
+"NONE seçilidirsə, heç birinə icazə verilməyəcək.\n"
+"\n"
+"Əks halda isə yalnız /etc/issue üçün icazə veriləcək."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Konsol istifadəçisinə yenidən başlatma icazəsi ver/vermə"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Ali istifadəçinin uzaqdan girişinə icazə ver/vermə"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Birbaşa ali istifadəçinin girişinə icazə ver/vermə"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Sistemdəki ekran idarəçilərində (gdm və kdm) istifadəçilərin siyahısının "
+"göstərilməsinə icazə Ver/Vermə."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X bağlantılarına icazə Ver/Vermə:\n"
+"\n"
+"- HAMISI (bütün bağlantılara icazə ver),\n"
+"\n"
+"- YERLİ (yalnız yerli kompüterdən gələn bağlantıya icazə ver),\n"
+"\n"
+"- HEÇBİRİ (heç bir bağlantıya icazə vermə)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Bu arqument alıcıların X vericisinə 6000cı qapıdan bağlanma\n"
+"icazələrinin olub olmamasını müəyyən edir."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Səlahiyyətləndirmə:\n"
+"\n"
+"- əgər \"ALL\" seçilidirsə, tcp_wrapper'lər tərəfindən idarə edilən bütün "
+"xidmətlər (baxın hosts.deny(5) man səhifəsi)\n"
+"\n"
+"- əgər \"LOCAL\" seçilidirsə,yalnız yerlilər\n"
+"\n"
+"- əgər \"NONE\" seçilidirsə, heç biri.\n"
+"\n"
+"Xidmətləri səlahiyyətləndirmək üçün, /etc/hosts.allow faylını işlədin (baxın "
+"hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Əgər SERVER_LEVEL (yada SECURE_LEVEL əksikdirsə)\n"
+"/etc/security/msec/security.conf içində 3'dən böyükdürsə,\n"
+"/etc/security/msec/server.<SERVER_LEVEL> ünvanına gedən.\n"
+"/etc/security/msec/server simvolik körpüsünü yaradar.\n"
+"\n"
+"/etc/security/msec/server, chkconfig --add tərəfindən\n"
+"paketlərin qurulması sırasında əgər mövcuddursa faylın içinə\n"
+"xidmət əlavə etmək üçün istifadə edilir."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"crontab və at'ı istifadəçilər üçün fəal/qeyri fəal et.\n"
+"\n"
+"İcazə verilən istifadəçiləri /etc/cron.allow və /etc/at.allow (baxın man at"
+"(1)\n"
+"və crontab(1)) içinə daxil edin."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+"12 konsola sysloq raportlarının göndərilməsini Fəallaşdır/Qeyri-fəallaşdır"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Ad həlledilirliyi gizləmə qorumasını fəallaşdırr/qeyri-fəallaşdır.\n"
+"Əgər \"%s\" seçilidirsə, eyni zamanda syslog'a da raport ediləcək."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Təhlükəsizlik Xəbərdarlıqları:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "IP qizləmə qorumasını Fəallaşdır/Qeyri-fəallaşdır."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Sistemdə libsafe tapılsa, libsafe Fəal/Qeyri-Fəal edilsin."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Qəribə IPv4 paketlərininm qeyd edilməsini Fəallaşdır/Qeyri-fəallaşdır"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Saat başı msec təhlükəsizlik yoxlamasını Fəallaşdır/Qeyri-fəallaşdır"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr "su xassəsini yalnız wheel qrupu üzvlərinə ya da hərkəsə açıq edilməsi."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "İstifadəçiləri səlahiyyətləndirmək üçün şifrə işlət."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Eternet kartlarının nizamsızlıq yoxlamasını Fəallaşdır/Qeyri-Fəallaşdır."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Günlük təhlükəsizlik yoxlamasını Fəallaşdır/Qeyri-fəallaşdır"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Tək istifadəçi səviyyəsində sulogin(8)-i fəallaşdır/qeyri-fəallaşdır."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"msec tərəfindən şifrə vaxtının keçirilməsinə istisna olaraq ad əlavə et."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Şifrə vaxtının keçməsini \"maks\" gün et və \"qeyri-fəal\" vəziyyətə "
+"dəyişməyi gecikdir."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Şifrələrin yenidən istifadə edilməsinin qabağını almaq üçün şifrə keçmişi "
+"uzunluğunu müəyyən edin."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Şifrənin minimal uzunluğunu, minimal rəqəm və minimal böyük hərf miqdarını "
+"seçin."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Ali istifadəçi umask'ını seç."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "əgər bəli seçilidirsə, açıq qapıları yoxla."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"əgər bəli seçilidirsə, bunları yoxla :\n"
+"\n"
+"- boş şifrələri,\n"
+"\n"
+"- /etc/shadow içində şifrə olmamasını\n"
+"\n"
+"- ali istifadəçi xaricindəki id'si 0 olan başqa istifadəçiləri."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"əgər seçilidirsə, istifadəçilərin ev cərgələrindəki faylların "
+"səlahiyyətlərini yoxla."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"əgər bəli seçilidirsə, şəbəkə avadanlıqlarının nizamsız modda olduğunu yoxla."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "əgər bəli seçilidirsə, günlük təhlükəsizlik yoxlamalarını icra et"
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"Əgər bəli seçilidirsə, sgid fayllarının əlavələrini/silinəcəklərini yoxla."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "əgər bəli seçilidirsə, /etc/shadow'dakı boş şifrəni yoxla."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "əgər bəli seçilidirsə, suid/sgid fayllarının checksum'ını yoxla."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"əgər bəli seçilidirsə, suid ali istifadəçi fayllarının əlavələrini/"
+"silinənlərini yoxla."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "əgər bəli seçilidirsə, yiyələnməmiş faylları raport et"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"Əgər bəli seçilidirsə, hərkəs tərəfindən yazıla bilən fayl/cərgələri yoxla."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Əgər bəli seçilidirsə, chkrootkit yoxlamalarını icra et."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "seçilidirsə, raportu bu ünvana yolla, əks halda raportu root'a yolla."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "əgər bəli seçilidirsə, yoxlama nəticələrini poçtla göndər."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Xəbərdarlıq edəcək məsələ yoxdursa poçt göndərmə"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+"Əgər bəli seçilidirsə, rpm mə'lumat bazasına qarşı bir neçə sınaq işə sal."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "əgər bəli seçilidirsə, yoxlama nəticələrini syslog'a raport et."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "əgər bəli seçilidirsə, yoxlama nəticəsini tty'yə raportlayır."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Qabıq əmrlərinin keçmiş böyüklüyünü müəyyən et. -1 qiyməti sonsuz mə'nasına "
+"gəlir."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Qabıq vaxt dolmasını seç. Sıfır qiyməti vaxt dolması yoxdur deməkdir."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Vaxt dolması vahidi saniyədir"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "İstifadəçi umask'ını seç."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Xətalı IPv4 xəta ismarışlarını qəbul et"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Translasiya edilən icmp echo'nu qəbul et"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "icmp əks sədasını qəbul et"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* mövcuddur"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Konsol sitifadəçisi tərəfindən yenidən başlatma"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Uzaq ali istifadəçi girişinə icazə ver"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Birbaşa ali istifadəçi girişi"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Ekran idarəçilərində (kdm və gdm) istifadəçiləri göstər"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window bağlantılarına icazə ver"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "TCP bağlantılarını X Window'a səlahiyyətləndir"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "tcp_wrapper'lər tərəfindən idarə edilən bütün xidmətlərə icazə ver"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig msec qaydalarına qulaq assın"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "İstifadəçilər üçün \"crontab\" və \"at\"i fəallaşdır"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Sysloq 12 konsola raport göndərir"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Ad həlledilirliyini gizlətmə qoruması"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "IP gizləmə qorumasını fəallaşdır"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Sistemdə libsafe tapılsa, libsafe fəal edilsin"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Qəribə IPv4 paketlərininm qeyd edilməsini fəallaşdır"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "msec saat başı təhlükəsizlik yoxlamasını fəallaşdır"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "su xassəsini yalnız wheel qrupu üzvlərinə ya da hərkəsə açıq et"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "İstifadəçiləri səlahiyyətləndirmək üçün şifrə işlət"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Eternet kartlarının promiscuity yoxlaması"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Günlük təhlükəsizlik yoxlaması"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Tək istifadəçi səviyyəsində Sulogin(8)"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Bunlar üçün şifrə vaxtının keçməsi olmasın"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Şifrə vaxtının keçişini və hesab qeyri-fəallaşdırma gecikmələrini müəyyən et"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Şifrə keçmişi uzunluğu"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Şifrənin minimal uzunluğu, rəqəm və böyük hərf miqdarı"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Ali istifadəçi umask'ı"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Qabıq keçmişi böyüklüyü"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Qabıq vaxt dolması"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "İstifadəçi umask'ı"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Açıq qapıları yoxla"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Təhlükəli hesabları yoxla"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "İstifadəçilərin ev cərgələrindəki faylların səlahiyyətlərini yoxla"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Şəbəkə avadanlıqlarının nizamsız modda olub olmadığını yoxla"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Günlük təhlükəsizlik yoxlamalarını icra et"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "sgid fayllarının əlavələrini/silinəcəklərini yoxla"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "/etc/shadow'dakı boş şifrəni yoxla"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "suid/sgid fayllarının checksum'ını yoxla"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "suid ali istifadəçi fayllarının əlavələrini/silinənlərini yoxla"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Yiyələnməmiş faylları raport et"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Hərkəs tərəfindən yazıla bilən fayl/cərgələri yoxla"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "chkrootkit yoxlamalarını icra et"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr "Seçilibsə, poçtu bu ünvana göndər, edilməyibsə ali istifadəçiyə göndər"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Yoxlama nəticəsini poçt ilə raport et"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "rpm mə'lumat bazasına qarşı bir neçə sınaq işə sal"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Yoxlama nəticəsini syslog'a raport et"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Yoxlama nəticəsini tty'yə raportla"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Krakerlərə xoşgəlmişsiniz"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Zəif"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standart"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Yüksək"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Daha Yüksək"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Bu səviyyə RAİD-i diqqətli istifadənizi tövsiyə edirik. Sisteminiz daha "
+"asand\n"
+"işlədiləcək, ancaq xətalara qarşı da həssaiyyəti də artacaqdır. İnternetə \n"
+"bağlı isəniz bunu tövsiyə etmirik. Şifrə ilə girilir."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Şifrələr fəallaşdırıldı, yenə də bir şəbəkə üstündə istifadə edilməməsi "
+"tövsiyə edilir."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Bu, İnternetə bağlı olan bir kompüter üçün standart və məsləhət edilən bir "
+"təhlükəsizlik səviyyəsidir."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Onsuzda bə'zi məhdudiyyətləriniz mövcuddur, və hər gecə daha çox avtomatik "
+"yoxlamalar edilir."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Bu təhlükəsizlik səviyyəsiylə sistemin bir verici olaraq istifadəsi "
+"mümkündür.\n"
+"Təhlükəsizlik, birdən çox alıcının bağlanmasına icazə verəcək şəkildə "
+"artırılmışdır. \n"
+"Qeyd: əgər sisteminiz İnternet üstündə sadə bir alıcıdırsa, daha aşağı olan "
+"səviyyəni seçin."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Bu, daha əvvəlki səviyyəyə bənzərdir, ancaq sistem tamamilə bağlıdır və "
+"təhlükəsizlik xüsusiyyətləri ən üst səviyyədədir."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Təhlükəsizlik"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec Əsas Seçimləri"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Xahiş edirik, uyğun təhlükəsizlik səviyyəsini seçin"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Təhlükəsizlik səviyyəsi"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Vericilər üçün libsafe işlət"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "Buffer overflow və format string hücumlarına qarşı qoruyan kitabxana."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Təhlükəsizlik İdarəçisi (giriş ya da ePoçt)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "ALSA səs sistemini (Advanced Linux Sound Architecture) başlat"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anakron, periodik əmr zamanlayıcısı"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd batareya vəziyyətini izləmək və syslog vasitəsiylə bunun qeydini tutmaq "
+"üçün istifadə edilir.\n"
+"Ayrıca batareya azalanda sistemi söndürmək üçün də istifadə edilir."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"at əmri, zamanlanan əmrləri işləmələri lazım gələn vaxtda işlədir.\n"
+"Sistem yükü lazımi qədər alçaq olduğunda yığma əmrləri işlədilir."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron, istifadəçilərə xüsusi əmrləri periodik olaraq işə sala bilən\n"
+"standart bir UNIX proqramıdır. vixie cron, standart cron'a əlavə edilmiş bir "
+"çox\n"
+"yeni xüsusiyyət daxildir."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM, Midnight Commander kimi mətn əsaslı tə'minatlara siçan dəstəyi əlavə "
+"edər.\n"
+"Ayrıca konsolda siçanla kəsmə və yapışdırma əməliyyatlarına da imkan verər.\n"
+"Konsolda pop-up menyu dəstəyi verər."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake avadanlıq sınağı aparır və istəyə görə yeni/dəyişdirilmiş "
+"avadanlıqları quraşdırır."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache bir World Wide Web vericisidir. HTML faylları və CGI verilməsi üçün "
+"istifadə edilir."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet superserver daemon (qısaca inetd ) bir çox \n"
+"başqa internet xidmətcisini lazım gəldiyi zaman işa salır. İçində telnet, "
+"ftp, rsh və rlogin kimi proqramın olduğu xidmətləri işə salmaqla məs'uldur.\n"
+"inetd-ni sistemden çıxarmaq, onun məs'ul olduğu bütün xidmətləri\n"
+"rədd etmək mə'nasını daşıyır."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Linuks 2.2 seriyası çəyirdəklərində atəş divarı\n"
+"qurmaq üçün paket süzülməsini başlat."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Bu paket /etc/sysconfig/keyboard'dakı seçili klaviatura düzülüşünü yüklər.\n"
+"Hansı klaviatura düzülüşü istifadə ediləcəyi kbdconfig ilə seçilir.\n"
+"Bu, çoxu kompüterdə fəal buraxılmalıdır."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"/usr/include/linux/{autoconf,version}.h üçün \n"
+"/boot cərgəsində avtomatik çəyirdək başlığının yaradılması"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Texniki avadanlığın açılışda avtomatik təsbiti və qurulması."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf sistem qurğularınızı idarə edən proqramları,\n"
+"müxtəlif vəzifələri açılışda icra edər."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd, lpr-nin düzgün olaraq işləməsi üçün lazımi çapçıi vasitəsidir.\n"
+"lpd əsasən, çap vəzifələrini idarə edən və onları çapçıya göndərən vericidir."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, yüksək qabiliyyətli vericilər qurmaq üçün işlədilir."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) verici adlarını IP ünvanlarına çevirənDomen Adı Vericisidir "
+"(DNS)."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Bütün Şəbəkə Fayl Sistemlərini (NFS), SMB (Lan Manager/Windows), və \n"
+"NCP (NetWare) bağlama nöqtələrini bağlar və ayırır."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Açılış sırasında başlamaq üçün qurulmuş bütün şəbəkə axtar üzlərini "
+"fəallaşdırır ya da bağlayır."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS TCP/IP şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir "
+"protokoldur.\n"
+"Bu xidmət, /etc/exports faylında qurğuları olan NFS vericisinin\n"
+"istifadəsinə imkan verər."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS TCP/IP şəbəkələrində fayl bölüşülməsi üçün istifadə edilən məşhur bir \n"
+"protokoldur. Bu xidmət NFS fayl qıfılı istifadəsinə imkan verər."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Açılışda Xorg və konsolda numlock düyməsini\n"
+"avtomatik olaraq aç."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "OKI 4w və uyğun winprinter'ləri dəstəklə."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCİA dəstəyi, laptoplarda eternet və modem kimi avadanlıqların "
+"dəstəklənməsinə imkan verər.\n"
+"Qurulmadığı vaxtda açılışda işləməz, işləməsinə ehtiyac olmayan\n"
+"kompüterlərdə qurulu olması problem yaratmaz."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper, NFS ve NIS kimi protokollar tərəfindən istifadə edilən RPC \n"
+"bağlantılarını təşkilatlandırır. Portmap vericisi RPC mexanizmini işlədən\n"
+"protokollarla xidmət edən kompüterlərdə qurulmalıdır və işlədilməlidir."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Posfix, elektronik məktubların bir kompüterdən digərinə yollayan \n"
+"Məktub Yollama Vasitəsidir (Mail Transport Agent)."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Yüksək keyfiyyət təsadüfi rəqəm istehsal edən sistem entropi hovuzunun \n"
+"saxlanması və yenidən köhnə halına gətirilməsinə imkan verər."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Oracle ya da DVD çalğıcılar kimi tə'minatların istifadəsi üçün xam\n"
+"avadanlıqları blok avadanlıqlara tə'yin et (sabit disk bölmələrikimi)"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed vasitəsi avtomatik IP router cədvəlinin RIP protokolu tərəfindən\n"
+"yenilənməsinə imkan verər. RIP əsasən kiçik şəbəkələrdə istifadə edilir, "
+"daha böyük\n"
+"şəbəkələrdə daha qarışıq routing protokollarına ehtiyacı vardır."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokolu bir şəbəkədəkı istifadəçilərin o şəbəkədəkı hər hansı bir\n"
+"kompüter haqqındakı qabiliyyət ölçüləri ala bilmələrinə imkan verər."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers protokolu bir şəbəkədəkı istifadəçilərin o şəbəkədəkı kompüterlərdə\n"
+"işləyən istifadəçiləri görməsinə imkan verər."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho protokolu, uzaq istifadəçilərin, rwho vasitəsi işlədən bir kompüterdə\n"
+"olan bütün istifadəçiləri görmələrina imkan verər."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Kompüterinizdəki səs sistemini başladır"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog, bir çox vasitənin ismarıclarını müxtəlif sistem qeydlərində\n"
+"tutmalarına imkan verər. Syslog'un hər zaman işləməsi\n"
+"yaxşı fikirdir."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "USB avadanlığınız üçün sürücüləri yükləyin."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "X Font Vericisini başlat (Bu, Xorg icrası üçün məcburidir)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Çap"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "İnternet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fayl bölüşməsi"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistem"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Uzaqdan İdarə"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Mə'lumat Bazası Vericisi"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Xidmətlər"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Açılışda avtomatik olaraq başlayacaq xidmətləri seçin"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Xidmətlər: %d fəal, %d qeydli"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "fəaliyyətdədir"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "dayandırılıb"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Xidmətlər və vasitələr"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Bu xidmət haqqında təəsüf ki\n"
+"əlavə mə'lumat yoxdur."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Mə'lumat"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "İstəniləndə başlat"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Açılışda"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Başlat"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Dayandır"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : əsas cərgələri qeyd et.\n"
+"--debug : bütün xəta ayırma ismarışlarını göstər.\n"
+"--show-conf : eht. nüsxəsi alınacaq fayl və cərgələrin siyahısı.\n"
+"--config-info : quraşdırma faylı seçimlərini başa sal (X istifadəçisi "
+"olmayanlar üçün).\n"
+"--daemon : demon quraşdırmasını işlət. \n"
+"--help : bu ismarışı göstər.\n"
+"--version : buraxılış nömrəsini göstər.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[SEÇİMLƏR] [PROQRAM_ADI]\n"
+"\n"
+"SEÇİMLƏR:\n"
+" --help - bu yardım ismarışını göstər.\n"
+" --report - proqram Mandriva Linux vasitələrindən biri olmalıdır\n"
+" --incident - proqram Mandriva Linux vasitələrindən biri olmalıdır"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"Yazı növü idxalı və izlənməsi tə'minat \n"
+"--windows_import : bütün mövcud windows bölmələrindən idxal et.\n"
+"--xls_fonts : xls'dən osuzda mövcud olan bütün yazı növlərini göstər\n"
+"--strong : yazı növünün güclü yoxlanması.\n"
+"--install : bütün yazı növü fayl və cərqələrini qəbul et.\n"
+"--uninstall : hər hansı bir yazı növü ya da yazı növü cərqəsini sil.\n"
+"--replace : mövcuddursa yazı növünü üstündən əvəz et\n"
+"--application : 0 heç bir tə'minat.\n"
+" : 1 mövcud olan bütün tə'minatlar dəstəklənir.\n"
+" : tə'minatın_adı staroffice üçün so kimi \n"
+" : və ghostscript üçün gs kimi."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[SEÇİMLƏR]...\n"
+"Mandriva Terminal Vericisi Quraşdırıcısı\n"
+"--enable : MTS'ni fəallaşdır\n"
+"--disable : MTS'ni qeyri-fəallaşdır\n"
+"--start : MTS'ni başlat\n"
+"--stop : MTS'ni dayandır\n"
+"--adduser : MTS'yə mövcud olan istifadəçi əlavə et (istifadəçi adı "
+"istənəcək)\n"
+"--deluser : MTS'dən mövcud olan istifadəçini sil (istifadəçi adı "
+"istənəcək)\n"
+"--addclient : MTS'yə alıcı sistem əlavə et (MAC ünvanı, IP, nbi əks adı "
+"istənəcək)\n"
+"--delclient : MTS'dən alıcı sistemi sil (MAC ünvanı, IP, nbi əks adı "
+"istənəcək)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[klaviatura]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+"[--file=faylım] [--word=kəlməm] [--explain=ifadəliqayda] [--xəbərdarlıq]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[SEÇİMLƏR]\n"
+"Şəbəkə və İnternet bağlantı və izləmə tə'minatı\n"
+"\n"
+"--defaultintf interface : əsas olaraq bu ara üzü göstər\n"
+"--connect : hələ bağlı deyilsə internetə bağlan\n"
+"--disconnect : hazırda internetə bağlıdırsa bağlantını kəs\n"
+"--force : (dis)connect ilə işlədilir : bağlanmağa/kəsməyə zorla.\n"
+"--status : bağlananda 1, əks halda 0 cavabı verir, sonra çıxır.\n"
+"--quiet : interaktiv olma. (dis)connect ilə işlədilmək üçün."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[SEÇİM]...\n"
+" --no-confirmation Mandriva Update modundabirinci təsdiqləmə sualını "
+"soruşma\n"
+" --no-verify-rpm paket imzalarını yoxlama\n"
+" --changelog-first izahat pəncərəsində fayl siyahısından əvvəl "
+"changelog'u göstər\n"
+" --merge-all-rpmnew tapılan bütün .rpmnew/.rpmsave fayllarını "
+"birləşdirməyi təklif et"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [hərşey]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake həllerilirlik"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"İstifadə qaydası: %s [--auto] [--beginner] [--expert] [-h|--help] [--"
+"noauto] [--testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Verici əlavə et"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Cənubi Afrika"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Avstriya"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Cənubi Afrika"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Makedoniya"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Cənubi Afrika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Honq Konq"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rusiya Federasiyası"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslaviya"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Bu düzdür?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "fayl seçicisi"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Bir qovluq deyil, bir faylı bildirmək məcburiyyətindəsən .\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr ""
+"'/' adları sadəcə bir qovluq ola bilər, qətiyyan'iyyen bir açar ola bilməz"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Belə cərgə yoxdur!"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Belə bir fayl yoxdur : `%s'\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Ağacı Aç"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Ağacı Bağla"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Otaq və grup sıralaması arasında gəz"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s qurulu deyil\n"
+"Qurmaq üçün \"Sonrakı\" ya da çıxmaq üçün \"Ləğv Et\" düyməsinə basın."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Qurulum bacarılmadı"
+
+#~ msgid "Icon"
+#~ msgstr "Timsal"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Yaxalama bufferlərinin ədədi:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap'lanmış yaxalama üçün yaxalama buferlərinin miqdarı"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL qurğusu:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radio dəstəyi:"
+
+#~ msgid "enable radio support"
+#~ msgstr "radio dəstəyini fəallaşdır"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/be.po b/perl-install/share/po/be.po
new file mode 100644
index 000000000..e273a550d
--- /dev/null
+++ b/perl-install/share/po/be.po
@@ -0,0 +1,6211 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 1999 Mandriva.
+# Alexander Bokovoy <ab@avilink.net>, 2000
+# Maryia Davidouskaia <maryia@scientist.com>, 2000
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2000-09-24 12:30 +0100\n"
+"Last-Translator: Alexander Bokovoy <ab@avilink.net>\n"
+"Language-Team: be\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Калі ласка, пачакайце"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Усталяванне загрузчыку"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Працэс усталявання загрузчыка не атрымаўся. Узнікла наступная памылка:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Першы сектар прылады (MBR)"
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "Першы сектар загрузачнага раздзелу"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "Захаванне на дыскету"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Прапусціць"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Усталяванне LILO/GRUB"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Куды вы жадаеце ўсталяваць пачатковы загрузчык?"
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Boot Style Configuration"
+msgstr "Настройка IDE"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Галоўныя опцыі пачатковага загрузчыку"
+
+#: any.pm:299
+#, fuzzy, c-format
+msgid "Bootloader"
+msgstr "Усталяванне загрузчыку"
+
+#: any.pm:300 any.pm:331
+#, fuzzy, c-format
+msgid "Bootloader to use"
+msgstr "Галоўныя опцыі пачатковага загрузчыку"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Загрузачная прылада"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Затрымка перад загрузкай вобразу па дамаўленню"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr ""
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Сервер друку"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr ""
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Пароль"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Паролі не супадаюць"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Паспрабуйце яшчэ раз"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Вы не можаце разбіваць на разделы, памер якіх меней за 32 Мб"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Паўтарыце пароль"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Абмежаванне опцыяў каманднага радка"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "абмежаванне"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Опцыя ‟Абмежаванне опцыяў каманднага радку“ не выкарыстоўваецца без пароля"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Ачышчаць /tmp пры кожнай загрузцы"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Пазначце дакладны памер RAM (знойдзена %d Мб)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Пазначце памер RAM у Мб"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, fuzzy, c-format
+msgid "Enable CD Boot?"
+msgstr "Дазволіць 6dB павышэнне + цяжкае лімітаванне"
+
+#: any.pm:337
+#, fuzzy, c-format
+msgid "Enable OF Boot?"
+msgstr "Дазволіць 6dB павышэнне + цяжкае лімітаванне"
+
+#: any.pm:338
+#, fuzzy, c-format
+msgid "Default OS?"
+msgstr "Па дамаўленню"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Вобраз"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Далучыць"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Відэа-рэжым"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Сеткавы інтэрфейс"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Метка"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Па дамаўленню"
+
+#: any.pm:432
+#, fuzzy, c-format
+msgid "NoVideo"
+msgstr "Відэа"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Пустая метка не дазваляецца"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr ""
+
+#: any.pm:444
+#, fuzzy, c-format
+msgid "You must specify a root partition"
+msgstr "Першы сектар загрузачнага раздзелу"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Гэтая метка ўжо выкарыстоўваецца"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Які тып пункта жадаеце дадаць?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Іншая АС (SunOS,...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Іншая АС (MacOS,...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Іншая АС (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"У меню маюцца наступныя пункты.\n"
+"Вы можаце дадаць яшчэ, альбо змяніць існуючыя."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr ""
+
+#: any.pm:643
+#, fuzzy, c-format
+msgid "access to administrative files"
+msgstr "Выкарыстоўваць настройкі сыстэмнага адміністратара"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, fuzzy, c-format
+msgid "access to compilation tools"
+msgstr "Канфігурацыя сістэмных сэрвісаў"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(ужо дададзена %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Калі ласка, увядзіце імя карыстальніку"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Імя карыстальніку павінна змяшчаць літары толькі на ніжнім рэгістры, \n"
+"лічбы, ‛-’ і ‛_’"
+
+#: any.pm:659
+#, fuzzy, c-format
+msgid "The user name is too long"
+msgstr "Імя занадта доўгае"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Гэта імя карыстальніку ўжо дададзена"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID карыстальніка"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID групы"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "UIN павінен утрымліваць толькі лічбы.\n"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Дадаць карыстальніка"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Увядзіце імя карыстальніку\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Зроблена"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Прыняць карыстальніка"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Уласнае імя"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Гульня ў косьці"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Абалонка:"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Аўтаматычны ўваход у сістэму"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Зачыніць гэтую тэчку"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Абярыце асноўнага карыстальніка:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Абярыце мэнэджар вокнаў:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Ліцэнзійная дамова"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Выхад"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Калі ласка, пачакайце"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Прыняць"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Адказаць"
+
+#: any.pm:795 any.pm:863
+#, fuzzy, c-format
+msgid "Please choose a language to use."
+msgstr "калі ласка, пазначце тып вашай мышы."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Выбар мовы"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Вы можаце абраць іншыя мовы, якія будуць даступны пасля ўсталявання"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, fuzzy, c-format
+msgid "All languages"
+msgstr "Выбар мовы"
+
+#: any.pm:918
+#, fuzzy, c-format
+msgid "Country / Region"
+msgstr "Краіна - рэгіён і мова"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "калі ласка, пазначце тып вашай мышы."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr ""
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Парты вываду:"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Адмысловае"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Нічога"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "No sharing"
+msgstr "Нічога"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "Allow all users"
+msgstr "Дадаць карыстальніка"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Па выбару"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr ""
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Зачыніць"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Калі ласка, выйдзіце, а потым скарыстайце Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, fuzzy, c-format
+msgid "Timezone"
+msgstr "Тэма"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Які ваш часавы пояс?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Ваш сістэмны гадзіннік усталяваны на GMT?"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Ваш сістэмны гадзіннік усталяваны на GMT?"
+
+#: any.pm:1234
+#, fuzzy, c-format
+msgid "NTP Server"
+msgstr "NIS сэервер:"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Лякальны файл"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr ""
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr ""
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, fuzzy, c-format
+msgid "Windows Domain"
+msgstr "Уласьцівасьці акна"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Загрузіць файл(ы):"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr ":"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr ":"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, fuzzy, c-format
+msgid "Windows Domain:"
+msgstr "Уласьцівасьці акна:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, fuzzy, c-format
+msgid "Authentication LDAP"
+msgstr "Аўтэнтыфікацыя"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, fuzzy, c-format
+msgid "LDAP Server"
+msgstr "Сервак"
+
+#: authentication.pm:111 fsedit.pm:23
+#, fuzzy, c-format
+msgid "simple"
+msgstr "Тэма"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Аўтэнтыфікацыя"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Маёнтак"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Сервак"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "База даньняў дыскаў"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Настроіць паролі"
+
+#: authentication.pm:140
+#, fuzzy, c-format
+msgid "Authentication NIS"
+msgstr "Аўтэнтыфікацыя"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS Domain"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS сэервер:"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Windows Domain"
+msgstr "Аўтэнтыфікацыя"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Імя дамену"
+
+#: authentication.pm:165
+#, fuzzy, c-format
+msgid "Domain Admin Password"
+msgstr "Яшчэ раз пароль:"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Аўтэнтыфікацыя"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Пароль для root"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Аўтэнтыфікацыя"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Няма паролю"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Гэты пароль занадта просты (яго даўжыня павінна быць не меней за %d літараў)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Немагчыма выкарыстоўваць broadcast без дамена NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr ""
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "Не хапае дыскавай прасторы ў /boot"
+
+#: bootloader.pm:1679
+#, fuzzy, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Куды вы жадаеце ўсталяваць пачатковы загрузчык?"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Усталяванне загрузчыку"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "кб"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "кб"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Мб"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Гб"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr ""
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d хвілін"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 хвіліна"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d секундаў"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Новы"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Разманціраваць"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Манціраванне"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Кропка манціравання"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Опцыі"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Памылка"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr ""
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Паслужнік: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Пункт манціравання:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Опцыі: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, fuzzy, c-format
+msgid "Partitioning"
+msgstr "Прынтэр"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Чытайце ўважліва!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Па-першае, зрабіце рэзервовую копію вашых дадзеных"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Выход"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Працягнуць"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Калі вы плануеце выкарыстоўваць boot вобласць, тады размясціце яе\n"
+" не далей за 2048 сектароў ад пачатку дыска"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Дапамога"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Абярыце дзеянне"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Націсніце на раздзел"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Падрабязнасці"
+
+#: diskdrake/hd_gtk.pm:265
+#, fuzzy, c-format
+msgid "No hard drives found"
+msgstr "Вызначэнне жорсткага дыску"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Невядома"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Вокны"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Іншыя"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Пуста"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Тыпы файлавых сістэмаў:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Увага!"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Памеры якога раздзела вы жадаеце змяніць?"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Спачатку зрабіце ‟Unmount”"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Выкарыстоўвайце ‟%s” замест"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Тып"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose another partition"
+msgstr "Стварэнне новага раздзелу"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose a partition"
+msgstr "Абярыце дзеянне"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Адкат"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Звычайны рэжым"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Рэжым эксперту"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Падцьверджаньне"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Сапраўды працягваць?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Выйсці без захавання"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Выйсці без запісу табліцы раздзелаў"
+
+#: diskdrake/interactive.pm:279
+#, fuzzy, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ці жадаеце пратэсціраваць настройкі?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Каб мадыфікацыя табліцы раздзелаў здейснілася, патрэбна перазагрузка."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Ачысціць усё"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Размеркаваць аўтаматычна"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, fuzzy, c-format
+msgid "More"
+msgstr "Перанос"
+
+#: diskdrake/interactive.pm:311
+#, fuzzy, c-format
+msgid "Hard drive information"
+msgstr "Канфігурацыя сістэмных сэрвісаў"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Усе першасныя раздзелы выкарыстаны"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Дадаць раздзел немагчыма"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Каб зрабіць больш разделаў, выдаліце адзін і стварыце пашыраны раздзел "
+"(extended)"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, fuzzy, c-format
+msgid "Save partition table"
+msgstr "Дадатковая табліца раздзелаў"
+
+#: diskdrake/interactive.pm:363
+#, fuzzy, c-format
+msgid "Restore partition table"
+msgstr "Дадатковая табліца раздзелаў"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Дадатковая табліца раздзелаў"
+
+#: diskdrake/interactive.pm:366
+#, fuzzy, c-format
+msgid "Reload partition table"
+msgstr "Дадатковая табліца раздзелаў"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Абярыце файл"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Табліца размяшчэння рэзервовага дыску мае іншы памер\n"
+"Працягваць далей?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Паспрабуем выратаваць табліцу раздзелаў"
+
+#: diskdrake/interactive.pm:428
+#, fuzzy, c-format
+msgid "Detailed information"
+msgstr "Інфармацыя аб DMA"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Змяненне памераў"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Фарматаванне"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Дадаць да RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Дадаць да LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Знішчыць"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Выдаліць з RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Выдаліць з LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Змяніць RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Выкарыстоўваць для віртуальнай файлавай сістэмы"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Стварыць"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Стварэнне новага раздзелу"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Пачатковы сектар:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Памер у Мб:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Тып файлавай сістэмы:"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Параметры: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Гульня ў косьці"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, fuzzy, c-format
+msgid "Remove the loopback file?"
+msgstr "/Выдаліць дохлыя файлы"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Усе дадзеныя ў раздзеле %s будуць страчаны пасля змены яго тыпу"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Змяніць тып раздзелу"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, fuzzy, c-format
+msgid "Which filesystem do you want?"
+msgstr "Які тып пункта жадаеце дадаць?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Метка"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Куды вы жадаеце манціраваць прыладу %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Куды вы жадаеце манціраваць прыладу %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Нельга ўсталяваць пункт манціравання, таму што раздел выкарыстоўваецца для\n"
+"віртуальнай файлавай сістэмы.\n"
+"Спачатку выдаліце віртуальную сістэму"
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Куды вы жадаеце манціраваць прыладу %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Змяненне памераў"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Падлік межаў файлавай сістэмы FAT"
+
+#: diskdrake/interactive.pm:751
+#, fuzzy, c-format
+msgid "This partition is not resizeable"
+msgstr "Памеры якога раздзела вы жадаеце змяніць?"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Усе дадзеныя ў гэтым раздзеле павінны быць зархіваваныя"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Усе дадзеныя ў раздзеле %s будуць страчаны"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Выбар новых памераў"
+
+#: diskdrake/interactive.pm:766
+#, fuzzy, c-format
+msgid "New size in MB: "
+msgstr "Памер у Мб:"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Абярыце існуючы RAID для дадання"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "новы"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Выбярыце існуючы LVM для дабаўлення"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr ""
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Гэты раздзел не можа быць выкарыстаны пад віртуальную файлавую сістэму"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Віртуальная файлавая сістэма (loopback)"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Імя віртуальнага раздзелу"
+
+#: diskdrake/interactive.pm:941
+#, fuzzy, c-format
+msgid "Give a file name"
+msgstr "Уласнае імя"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Файл ужо існуе. Выкарыстаць яго?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, fuzzy, c-format
+msgid "Mount options"
+msgstr "Опцыі модулю:"
+
+#: diskdrake/interactive.pm:984
+#, fuzzy, c-format
+msgid "Various"
+msgstr "прылада"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "прылада"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "узровень"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "памер блоку"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Будзьце уважлівы. Гэтую аперацыю нельга адмяніць"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Каб змяненні ўступілі ў дзеянне, необходна перазагрузіцца"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Табліца размяшчэння прылады %s будзе запісана на дыск!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Усе дадзеные ў раздзеле %s будуць страчаны пасля фарматавання"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Праверыць на наяўнасць дрэнных блокаў?"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Move files to the new partition"
+msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Hide files"
+msgstr "Загрузіць файл(ы)"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, fuzzy, c-format
+msgid "Moving files to the new partition"
+msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+
+#: diskdrake/interactive.pm:1192
+#, fuzzy, c-format
+msgid "Copying %s"
+msgstr "Копія:"
+
+#: diskdrake/interactive.pm:1196
+#, fuzzy, c-format
+msgid "Removing %s"
+msgstr "Памеры экрану: %s\n"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Прылада:"
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Літара для DOS-дыску: %s (наўгад)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Тып: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Імя: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Пачатак: сектар %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Памер: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s сектараў"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Фарматаванне\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Не адфарматавана\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Заманціравана\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, fuzzy, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr "Імя файлу віртуальнай файлавай сістэмы: %s"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Загрузачны раздзел па дамаўленню\n"
+" (для загрузкі MS-DOS, а не для lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Узровень %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Памер фрагменту %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-дыскі %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Імя файлу віртуальнай файлавай сістэмы: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Толькі для чытаньня"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Памер: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Геаметрыя: %s цыліндраў, %s галовак, %s сектараў\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Інфармацыя: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-дыскі %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Тып табліцы раздзелаў: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Тыпы файлавых сістэмаў:"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Гэты пароль занадта просты (яго даўжыня павінна быць не меней за %d літараў)"
+
+#: diskdrake/interactive.pm:1348
+#, fuzzy, c-format
+msgid "The encryption keys do not match"
+msgstr "Паролі не супадаюць"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr ""
+
+#: diskdrake/removable.pm:46
+#, fuzzy, c-format
+msgid "Change type"
+msgstr "Змяніць тып раздзелу"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Адмена"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Аўтэнтыфікацыя"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Which username"
+msgstr "Імя карыстальніку:"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Another one"
+msgstr "Мэнэджэр файлаў"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Карыстальнік"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, fuzzy, c-format
+msgid "Search servers"
+msgstr "Адшукаць файлы на дыску"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr ""
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Зьмяненьні не былі захаваныя. Ці жадаеце працягнуць?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr ""
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Наступныя пакеты будуць даданы да сістэмы"
+
+#: do_pkgs.pm:209
+#, fuzzy, c-format
+msgid "Installing packages..."
+msgstr "Усталяванне пакету %s"
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Прагляд даступных пакетаў"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Памылка: для стварэння новых файлавых сістэмаў не знайдзены адпаведныя \n"
+"прылады. Праверце абсталяванне для пошуку імавернай прычыны."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Фарматаванне раздзелу %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Стварэнне і фарматаванне файла %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Не ведаю як адфарматаваць %s з тыпам %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s памылка фарматавання %s"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Манціраванне дыску %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "Фарматаванне раздзелу %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, fuzzy, c-format
+msgid "Checking %s"
+msgstr "Праверка правапісу"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "памылка разманціравання %s: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Фарматаванне раздзелу %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Дубляванне пункту манціравання %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "няма даступных раздзелаў"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Абярыце пункты манціравання"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Выбар раздзелаў для фарматавання"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Не хапае месца ў буферы падкачкі (swap) для ўсталявання, павялічце яго."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Вы павінны мець каранёвы раздзел.\n"
+"Для гэтага стварыце раздзел (альбо адзначце ўжо існуючы).\n"
+"Потым абярыце ‟Кропка манціравання” і ўстанавіце яе ў ‛/’"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Няма раздзела swap.\n"
+"\n"
+"Усё адно працягваць?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Выкарыстоўваць незанятую прастору"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Выкарыстоўваць існуючы раздзел"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Няма існуючых раздзелаў, якія можна выкарыстаць"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+"Выкарыстоўваць раздзел Microsoft Windows® для віртуальнай файлавай сістэмы"
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Памеры якога раздзела вы жадаеце змяніць?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Выбар памераў"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Каранёвы раздзел ў Мб: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Памер swap раздзелу ў Мб:"
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Выкарыстоўваць незанятую прастору на раздзеле Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Памеры якога раздзела вы жадаеце змяніць?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"У праграмы змены памераў раздзела FAT не атрымалася\n"
+"апрацаваць Ваш раздзел, памылка: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Выкарыстоўваць незанятую прастору на раздзеле Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Ваш раздзел з Microsoft Windows® занадта фрагментаваны. \n"
+"Рэкамендуем спачатку запусціць праграму ‟defrag”"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Далей"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Якую прастору захаваць для Microsoft Windows®? раздзел %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Памер"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Вылічэнне межаў файлавай сістэмы Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Аўтазмяненне памераў не атрымалася для раздзелу FAT %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Выдаліць Windows™"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Сцёрці дадзеныя на ўсім дыску"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "На які з маючыхся жорсткіх дыскаў Вы жадаеце ўсталяваць Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Усе існуючыя раздзелы на дыску %s і дадзеныя на іх будуць страчаны"
+
+#: fs/partitioning_wizard.pm:217
+#, fuzzy, c-format
+msgid "Custom disk partitioning"
+msgstr "Вылічэнне межаў файлавай сістэмы Windows"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Выкарыстоўваць fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Вы можаце цяпер разбіць ваш дыск %s\n"
+"Па заканчэнні не забудзьцеся захаваць змяненні, скарыстаўшы ‛w’"
+
+#: fs/partitioning_wizard.pm:266
+#, fuzzy, c-format
+msgid "I can not find any room for installing"
+msgstr "Дадаць раздзел немагчыма"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Майстар падрыхтоўкі раздзелаў DrakX знайшоў наступныя варыянты:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Падрыхтоўка разделаў не ўдалася: %s"
+
+#: fs/type.pm:366
+#, fuzzy, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Вы не можаце разбіваць на разделы, памер якіх меней за 32 Мб"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Вы не можаце разбіваць на разделы, памер якіх меней за 32 Мб"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "сэервер"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Пункт манціравання павінен пачынацца з /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Ужо ёсць раздзел з пунктам манціравання %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Гэты каталог павінен знаходзіцца ўнутры каранёвай файлавай сістэмы"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+
+#: fsedit.pm:493
+#, fuzzy, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Не хапае прасторы для стварэння новых раздзелаў"
+
+#: fsedit.pm:495
+#, fuzzy, c-format
+msgid "Nothing to do"
+msgstr "Нічога"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Гнуткі дыск"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr ""
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Жорскі дыск"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr ""
+
+#: harddrake/data.pm:107
+#, fuzzy, c-format
+msgid "CD/DVD burners"
+msgstr "CDDB сервакі"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr ""
+
+#: harddrake/data.pm:127
+#, fuzzy, c-format
+msgid "Tape"
+msgstr "Тып"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "Відэа"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr ""
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Мульцімедыя"
+
+#: harddrake/data.pm:183
+#, fuzzy, c-format
+msgid "Soundcard"
+msgstr "Гук"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, fuzzy, c-format
+msgid "Processors"
+msgstr "Працэсар"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr ""
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, fuzzy, c-format
+msgid "Ethernetcard"
+msgstr "Іншае"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Мадэм"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Памяць"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Прынтэр"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Джойсьцік"
+
+#: harddrake/data.pm:357
+#, fuzzy, c-format
+msgid "SATA controllers"
+msgstr "Кіраванне"
+
+#: harddrake/data.pm:366
+#, fuzzy, c-format
+msgid "RAID controllers"
+msgstr "Кіраванне"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Рэжым прайгравання"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, fuzzy, c-format
+msgid "PCMCIA controllers"
+msgstr "Кіраванне"
+
+#: harddrake/data.pm:422
+#, fuzzy, c-format
+msgid "SCSI controllers"
+msgstr "Кіраванне"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "USB прылады"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Клавіятура"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Мыш"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "HFS"
+
+#: harddrake/data.pm:514
+#, fuzzy, c-format
+msgid "Scanner"
+msgstr "Прайгравальнік дыскаў"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr ""
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, fuzzy, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Праверка параметраў настройкі"
+
+#: harddrake/sound.pm:232
+#, fuzzy, c-format
+msgid "No alternative driver"
+msgstr "Выкарыстаць альтэрнатыўную прыладу"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, fuzzy, c-format
+msgid "Sound configuration"
+msgstr "Настройка драйверу Sun"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, fuzzy, c-format
+msgid "Driver:"
+msgstr "Прылада %d"
+
+#: harddrake/sound.pm:271
+#, fuzzy, c-format
+msgid "Trouble shooting"
+msgstr "Настройкі мышы"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "Невядомая гукавая карта"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, fuzzy, c-format
+msgid "Auto-detect"
+msgstr "Аўтаматычнае вызначэнне"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, fuzzy, c-format
+msgid "Unknown|Generic"
+msgstr "Агульны"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, fuzzy, c-format
+msgid "Card model:"
+msgstr "Рэжым прайгравання"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Тып мышы: %s\n"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ок"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Так"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Не"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Выбар файла"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Дадаць"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Зьмяненьне"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Выдаліць"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Скончыць"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "прылада"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Дрэнны выбар, паспрабуйце яшче\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Ваш выбар? (змоўчанне %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Ваш выбар? (змоўчанне %s) "
+
+#: interactive/stdio.pm:94
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Клявіша %d:"
+
+#: interactive/stdio.pm:95
+#, fuzzy, c-format
+msgid "Do you want to click on this button?"
+msgstr "Вы жадаеце выкарыстоўваць aboot?"
+
+#: interactive/stdio.pm:104
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Ваш выбар? (змоўчанне %s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Андора"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Злучаныя Арабскія Эміраты"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Афганістан"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Анцігуа і Барбуда"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Ангулла"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Альбанія"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Арменія"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Нідэрлянская Анцілія"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Ангола"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Антарктыка"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Аргенціна"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Амэрыканскае Самоа"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Аўстрыя"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Аўстралія"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Аруба"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Азарбаджан"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Босьнія й Герцэгавіна"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Барбадос"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Бангладэш"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Бельгія"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Буркіна Хвасо"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Баўгарыя"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Бахрэйн"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Бурундзі"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Бенін"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Бермуды"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Брунэі Дурасалям"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Балівія"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Бразылія"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Багамы"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Бутан"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Выспа Боўвіт"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Батсвана"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Беларусь"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Беліз"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Канада"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Какосавыя выспы"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Цэнтральная Афрыканская Рэспубліка"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Щвэйцарыя"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Котэ дэ Інворэ"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Выспы Кука"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Чылі"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Камэрун"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Кітай"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Калюмбія"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Коста-Рыка"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Сэрбія і Чарнагорыя"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Куба"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Капа Вэрдэ"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Выспа Расства"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Кіпар"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Чэская Рэспубліка"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Нямецкі"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Джыботу"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Данія"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Дамініка"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Дамініканская Рэспубліка"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Альджыр"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Эквадор"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Курляндыя"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Эгіпэт"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Заходняя Сахара"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Эрытрыя"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Гішпанія"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Эпіопія"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Фінляндыя"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Хвіджі"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Фалклендскія астравы (Мальвіны)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Мікранэзыян"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Выспы Фаро"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Францыя"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Габон"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Злучанае Каралеўства"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Грэнада"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Грузыя"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Француская Гвіяна"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Гана"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Гібралтар"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Грынляндыя"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Гамбія"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Гвінея"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Гвадэлупа"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Экватарыяльная Гвінэя"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Грэцыя"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Гватэмала"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Гуам"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Гвінэя-Бісаў"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Гайяна"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr ""
+
+#: lang.pm:302
+#, fuzzy, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Выспы Паўночнае Мар'яны"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Гандурас"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Харватыя"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Гаіці"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Вугоршчына"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Інданэзыя"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ірляндыя"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Габрэйшчына"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Індыя"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Брытанская тэрыторыя Індыйскага акіяна"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ірак"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Іран"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Ісьляндыя"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Італія"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Ямайка"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Іярданія"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Японія"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Кенія"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Кыргізтан"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Камбоджа"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Кірыбаці"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Камарас"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Паўночная Карэя"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Карэя"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Кувэйт"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Кайманавыя выспы"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Казахстан"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Лаос"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Лібанон"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Санта Лючыя"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Ліхтэнштайн"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Шры Ланка"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Лібэрыя"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Лісота"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Жамойція"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Люксембург"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Лівонія"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Лібія"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Марока"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Манака"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Малдова"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Мадагаскар"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Маршалавы выспы"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Македонія"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Малі"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Маянмар"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Манголія"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Выспы Паўночнае Мар'яны"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Марцінік"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Маўрытанія"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Мансэрат"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Мальта"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Марыціўс"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Мальды"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Маляві"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Мэксыка"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Малазыя"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Мазамбік"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Намібія"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Новая Калядонія"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Нігер"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Норфалскія выспы"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Нігерыя"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Нікарагуа"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Нідэрлянды"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Нарвэгія"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Нэпал"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Наўру"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Ню"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Новая Зэляндыя"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Аман"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Панама"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Перу"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Француская Палінэзыя"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Папуа Новая Гвінэя"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Хвіліпіны"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Пакістан"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Польшча"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Сэн-П'ер і Мікелон"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Паткаірн"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Пуэрта Рыка"
+
+#: lang.pm:384
+#, fuzzy, c-format
+msgid "Palestine"
+msgstr "Панэль"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Партугалія"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Парагвай"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Палаў"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Катар"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Перааб'яднаньне"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Румынія"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Расея"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Руанда"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Савудаўская Арабія"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Саламонавы выспы"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Сейшэлы"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Судан"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Швэцыя"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Сынгапур"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Востраў Сьвятой Алены"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Славенія"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr ""
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Словакія"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "С'ера Ліонэ"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Сан Марына"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Сенегал"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Самалі"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Сарынам"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Саа Тамэ й Прынсыпэ"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Эль Сальвадор"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Сырыя"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Швазіланд"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Выспы Таркс і Кайкас"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Чад"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Паўднёвыя Францускія Тэрыторыі"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Тога"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Тайланд"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Такжыкістан"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Такелаў"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Усходні Тымор"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Туркменістан"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Тунісія"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Тонга"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Турцыя"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Трынідад і Табага"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Тувалю"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Тайвань"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Танзаныя"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Украіна"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Уганда"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Няістотна блізкія да Злучаных штатаў выспы"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Злучаныя Штаты"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Уругвай"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Узбэкістан"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "Латвійская:"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Венэсуэла"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr ""
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Уэтнам"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Ванааці"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Ўоліс і Футуна"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Самоа"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Йемен"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Майотэ"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Паўднёвая Афрыка"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Замбія"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Зімбабве"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Сардэчна запрашаем у %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Настройка драйверу Sun"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Настройка IDE"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Тут Вы можаце настроіць зьнешні выгляд панэлі"
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Знойдзены %s інтэрфейсы"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Ці ёсць у вас іншы?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Ці ёсць у вас %s інтэрфейс?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Гл. апісанне абсталявання"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Усталяванне драйверу для %s карты %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Усталяванне драйверу для %s карты %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Усталяванне драйверу для %s карты %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Усталяванне драйверу для %s карты %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Усталяванне драйверу для %s карты %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Вы не можаце задаць опцыі модулю %s.\n"
+"Опцыі - у фармаце ‟імя=значэнне імя2=значэнне2 ...”.\n"
+"Напрыклад, ‟io=0x300 irq=7”"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Опцыі модулю:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Які драйвер %s паспрабаваць?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"У некаторых выпадках %s драйверу патрэбна некаторая дадатковая інфармацыя,\n"
+"але звычайна гэта не патрабуецца. Ці не жадаеце вы задаць для яго\n"
+"дадатковыя опцыі, ці дазволіце драйверу пратэсціраваць машыну\n"
+"ў пошуках неабходнай інфармацыі? Магчыма, тэсціраванне прывядзе\n"
+"да спынення камп'ютэру, але яно нічога не сапсуе."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Аўтапошук"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Пазначце параметры"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Загрузка модулю %s не прайшла.\n"
+"Жадаеце паспрабаваць з іншымі параметрамі?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "памылка манціравання: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Пашыраны раздзел не падтрымліваецца гэтай платформай"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Вы маеце дзірку ў табліцы радзелаў, але я не маю магчымасці яе скарыстаць.\n"
+"Адзіны выхад у тым, каб перамясціць першасныя раздзелы так, каб дзірка ішла\n"
+"адразу за пашыраным (extended) раздзелам"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Памылка чытання файлу %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Аднаўленне з файла %s не атрымалася: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Дрэнны файл рэзервовай копіі"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Памылка запісу ў файл %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Не атрымліваецца дадаць раздзел на _адфармаціраваны_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Недастаткова раздзелаў для RAID узроўня %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Бясьпека"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Пароль для root"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr ""
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr ""
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Уласьцівасьці акна"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Настройка службаў"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, fuzzy, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Дазволіць засцярогу ад абразання"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Няма паролю"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Настроіць паролі"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Пароль для root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Карыстальнікі"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr ""
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Сардэчна запрашаем у Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Зусім слабы"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Стандартны"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Высокі"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Высокі"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Паранаідальны"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Гэты узровень неабходна выкарыстоўваць з асцярогай. Сістэма будзе прасцей\n"
+"у карыстанні, але і больш чутнай: гэты узровень бяспекі нельга "
+"выкарыстоўваць\n"
+"на машынах, якія далучаны да сеткі ці да Інтернет. Уваход не абаронены "
+"паролем."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Пароль зараз уключаны, але выкарыстанне камп'ютэру ў якасці сеткавага\n"
+"таксама не рэкамендавана."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Бясьпека"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Пазначце параметры"
+
+#: security/level.pm:57
+#, fuzzy, c-format
+msgid "Please choose the desired security level"
+msgstr "калі ласка, пазначце тып вашай мышы."
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "Бясьпека"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr ""
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, перыядычны камандны планавальнік."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"ampd выкарыстоўваецца для адслежвання статусу батарэі і вядзення "
+"статыстыкі.\n"
+"Яго можна выкарыстоўваць для выключэння машыны пры нізкім зарадзе батарэі."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Каманды, якія выконваюцца, фіксуюцца па камандзе і часе яе выканання\n"
+"і выконваюцца групы каманд, калі загрузка памяці ніжэй дастатковай."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron - стандартная UNIX праграма, якая выконвае праграмы карыстальніка\n"
+"праз пазначаныя перыяды часу. Vixie cron дадае рад дапаўненняў да "
+"стандартнага\n"
+"UNIX cron, уключаючы лепшы ўзровень бяспекі і моцныя канфігурацыйныя опцыі."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM дадае падтрымку мышы да праграмаў, якія працуюць у тэкставым рэжыме,\n"
+"такіх як Midnight Commander. Гэта дазваляе выкарыстоўваць мыш пры "
+"капіраванні і ўстаўцы,\n"
+"і ўключае падтрымку ўсплываючых (pop-up) меню ў тэкставым рэжыме."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache - гэта World Wide Web сэервер. Ён выкарыстоўзваеца для абслугоўвання\n"
+"HTML файлаў і CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Інтэрнэт суперсэервер-дэман (завецца inetd) запускае пры старце \n"
+"колькасць розных інтэрнэт службаў, якія неабходны. Яго можна выкарыстоўваць "
+"для пуску\n"
+"шматлікіх службаў, уключаючы telnet, ftp, rsh і rlogin. Блакуючы inetd, "
+"блакуем\n"
+"усе службы, за якія ён адказвае."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Гэты пакет загружае абраную раскладку клавіятуры як набор з\n"
+"/etc/sysconfig/keyboard. Ёна можа быць абрана таксама з дапамогай "
+"kbdconfig.\n"
+"Вы можаце зрабіць даступнай яе для шматлікіх машынаў."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd - гэты дэман друку, патрэбны для карэктнай працы lpr. Гэта\n"
+"сэервер, які кіруе працай прынтэру(аў)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Манціраваць і разманціраваць усе сеткавыя файлавыя сістэмы (NFS),\n"
+" SMB (Lan Manager/Windows) і NCP (Netware) пункты манціравання."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Актывізаваць/дэактывізаваць усе сеткавыя інтэрфейсы, сканфігураваныя для\n"
+"старту пры загрузцы сістэмы."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS - гэта вядомы пратакол для доступу да файлаў праз TCP/IP сеткі.\n"
+"Гэтая служба забяспечваецца NFS сэерверам, які канфігурыруеца праз\n"
+"/etc/exports файл."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS - гэта вядомы пратакол для доступу да файлаў праз TCP/IP\n"
+"сеткі. Гэтая служба ўплывае на наяўнасць сувязі паміж NFS файламі."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Падтрымка PCMCIA - гэта звычайна падтрымка такіх рэчаў, як Ethernet і\n"
+"мадэмы ў наўтбуках. Вам няма неабходнасці канфігураваць іх, калі на вашай\n"
+"машыне іх няма, ці яна не наўтбук."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper (аглядальнік партоў) кіруе RPC злучэннямі, якія звычайна\n"
+"выкарыстоўваюцца такімі пратаколамі як NFS і NIS. Portmap сэервер павінен "
+"выконвацца\n"
+"на машынах якія працуюць як сэерверы для пратаколаў, якія скарыстоўваюць RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Захаваць і аднавіць сістэмны энтрапійны пул для высокай якасці\n"
+"генерацыі выпадковых лікаў."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Дэман маршрутызацыі дазваляе дынамічным табліцам IP маршрутызацыі\n"
+"аднаўляцца праз RIP пратакол. RIP выкарыстоўваецца ў малых сетках, больш\n"
+"складаныя пратаколы маршрутызацыі - у вялікіх сетках."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Пратакол rstat дазваляе карыстальнікам сеткі атрымліваць\n"
+"памеры нагрузкі для кожнай машыны сеткі."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Пратакол rusers дазваляе карыстальнікам сеткі вызначаць, хто\n"
+"ўвайшоў і працуе на машынах ў сетцы."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Пратакол rwho дае магчымасць карыстальнікам атрымаць спіс ўсіх\n"
+"карыстальнікаў, увайшоўшых на машыну, выканаў rwho дэман (падобны на finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog - гэта сродак, з дапамогай якога многія дэманы запісваюць "
+"паведамленні\n"
+"ў розныя файлы статыстыкі. Гэта вельмі добра для агляду працы розных службаў."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Друкаваньне"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Інтэрнэт"
+
+#: services.pm:118
+#, fuzzy, c-format
+msgid "File sharing"
+msgstr "Мэнэджэр файлаў"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Сістэма"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Сістэмнае адміністраваньне"
+
+#: services.pm:133
+#, fuzzy, c-format
+msgid "Database Server"
+msgstr "Праграма гуказапісу"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Сэрвісы"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Абярыце, якія сервісы запускаць аўтаматычна пры загрузцы"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, fuzzy, c-format
+msgid "running"
+msgstr "Увага!"
+
+#: services.pm:196
+#, fuzzy, c-format
+msgid "stopped"
+msgstr "Далучыць"
+
+#: services.pm:201
+#, fuzzy, c-format
+msgid "Services and daemons"
+msgstr "Мэнэджэр сэрвісаў"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Інфармацыя"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, fuzzy, c-format
+msgid "On boot"
+msgstr "Yaboot"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "У пачатак"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Спыніць"
+
+#: standalone.pm:24
+#, fuzzy, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Пашырэнне ESounD\n"
+"\n"
+" Гэта прога - бясплатнае праграмнае забяспячэнне; вы можыце распаўсюджываць "
+"і/альбо мадыфікаваць яго\n"
+"у адпаведнасці з ліцэнзыяй GNU, якая была надрукавана\n"
+"Арганізацыяй бясплатнага праграмнага забеспячэння, вы можыце карыстацца "
+"версыяй 2 ліцэнзыі альбо\n"
+"(па вашаму жаданню) ці якой іншай пазнейшай версыяй.\n"
+"\n"
+"Гэта прога распаўсюджываецца з надзеяй, што камусці яна будзе карысна,\n"
+"але БЯЗЬ УСЯЛЯКІХ ГАРАНТЫЙ нават гарантый якія маюцца на ўвазе пры\n"
+"ПРАЦАЗДОЛЬНАСЦІ альбо ПРЫГОДНАСЦІ ДА ЯКОЙСЦІ МЭТЫ. Калі ласка,\n"
+"за падрабязнасцямі глянце на GNU ліцэнзыю.\n"
+"\n"
+"А копію ліцэнзыі вы павінны былі атрымаць\n"
+"разам зь гэтай прогай; калі не, дык напішыце пра гэта па адрасу (дашлем)\n"
+"Free Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-"
+"1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Клавіятура"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Дадаць карыстальніка"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Паўднёвая Афрыка"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Аўстрыя"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Паўднёвая Афрыка"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Акіянія"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Паўднёвая Афрыка"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Сян Ган"
+
+#: timezone.pm:237
+#, fuzzy, c-format
+msgid "Russian Federation"
+msgstr "Рускі (фанетычны)"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Югаславія"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Гэта дакладна?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "абіральнік файла"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Няма такога файла ці тэчкі"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Назва \"/\" можа быць толькі каталёгам, а ня ключом"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Ня тэчка"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Няма гэткага ключа '%s'\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Разгарнуць дрэва"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Згарнуць дрэва"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Пераключэнне паміж упарадкаваннем па групе і асобках"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, fuzzy, c-format
+msgid "Installation failed"
+msgstr "Усталяванне SILO"
+
+#~ msgid "Icon"
+#~ msgstr "Піктаграма"
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "Настройкі шрыфтоў"
diff --git a/perl-install/share/po/bg.po b/perl-install/share/po/bg.po
new file mode 100644
index 000000000..432946ef7
--- /dev/null
+++ b/perl-install/share/po/bg.po
@@ -0,0 +1,6514 @@
+# translation of DrakX-bg.po to Bulgarian
+# Copyright (C) 2000,2003 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Bozhan Boiadzhiev <bozhan@plov.omega.bg>, 2000.
+# Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>, 2003.
+# Boyan Ivanov <boyan17@bulgaria.com>, 2003.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-bg\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-09-15 13:27+0200\n"
+"Last-Translator: Boyan Ivanov <boyan17@bulgaria.com>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Моля изчакайте"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Инсталация на Bootloader"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Инсталацията на bootloader провалена. Появи се следната грешка:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Може би се нуждаете да промените Open Firmware стартовото устройство,\n"
+" за да пуснете зареждащата програма. Ако не виждате подсказката и при\n"
+" рестартиране, задръжте Command-Option-O-F при рестартиране и въведете:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" След което напишете: shut-down\n"
+"При следващото рестартиране би трябвало да видете подсказката."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Избахте да инсталирате bootloader на дял\n"
+"Това предполага,че вече имате bootloader на диска(например: System "
+"Commander).\n"
+"\n"
+"От кой диск зареждате ?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Първият сектор от драйва (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Първи сектор от стартиращия се дял"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Запазва на дискета"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Прескача"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub инсталация"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Къде искате да инсталирате bootloader-а?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Настройка на начина на стартиране"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Опции на зареждащата програма"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Използвана зареждащата програма"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Стартиращо устройство"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Забавяне преди стартирането на подразбиращият образ"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Стартиране от CD "
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Стартиране от CD "
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Стартиране от CD "
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Парола"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Паролите не съвпадат"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Моля, опитайте отново"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"Вие не може да използвате криптирана файлова система за точка на монтиране %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Парола (отново)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Ограничи опциите, задавани от командния ред"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ограничи"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Опцията ``Ограничи опциите от командния ред'' е безполезна без парола"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Почистване на /tmp при всяко зареждане"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Точен размер на RAM-паметта, ако е необходимо (намерени %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Дава размера RAM-памет в Mb"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Стартово съобщение"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Изчакване на Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Изчакване за стартиране на ядрото"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Стартиране от CD ?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Стартиране от OF ?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "ОС по подразбиране ?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Образ"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Главен"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Допълване"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Видео режим"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Нов профил..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Етикет"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "По подразбиране"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Без графика"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Празен етикет не е разрешен"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Трябва да зададете обаза на ядрото"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Трябва да зададете кореновият дял"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Този етикет вече се използва"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Какъв тип информация искате да прибавите"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Друга ОС (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Друга ОС (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Друга ОС (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Това са различните записи.\n"
+"Можете да добавите още или да промените съществуващите."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "достъп до X програми"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "достъп до rpm инструменти"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "позволява \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "достъп до файлове за администриране"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "достъп до мрежови инструменти"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "достъп до инструменти за компилация"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(вече прибавих %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Моля, задайте потребителско име"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Потребителското име може да включва само малки букви, номера, `-' и `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Това име е твърде дълго"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Това потребителско име вече е добавено"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Потребителски номер"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Номер на група"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Настройката %s трябва да е число !"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Добави потребител"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Въведете потребител\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Готово"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Приеми потребител"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Истинско име"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Потебителско име"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Шел"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Автоматично влиза"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Мога да настроя компютъра ви за влизане в системата автоматично като някой "
+"потребител."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Искате ли да използвате тази особеност?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Изберете подразбиращ се потребител :"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Изберете мениджър на прозорци за стартиране:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Лицензионен договор"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Изход"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Версия:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Приеми"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Откажи"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Моля, изберете език за използване."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "ръчно"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux може да подържа много езици. Изберете\n"
+"езиците които искате ад инсталирате. Те ще бъдат налични след\n"
+"като завърши инсталацията и вие престартирате системата."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Избор на език"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Страна / Регион"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Моля, изберете вашата страна."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ето пълен списък на достръпните страни"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Други портовете"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Напредничав"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Мрежов метод:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Без"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Не поделя"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Позволява на потребители"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Клиентска"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Искате ли да позволите на потребители да поделят техните директории?\n"
+"Разрешаването на това ще позволи на потребителите просто да цъкнат на "
+"\"Поделя\" в konqueror или nautilus.\n"
+"\n"
+"\"Клиентска\" позволява за потребител настройка.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Вие може да експортирате като използвате NFS или SMB. Моля, изберете какво "
+"искате да използвате."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Стартира userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Затвори"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Споделянето на потребителски директории използва група \"fileshare\".\n"
+"Може да използвате userdrake,за да добавите потребител към тази група."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Моля излезте от сесията и използвайте Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Часова зона"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Коя е времевата ви зона ?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Хадруерният ви часовник е настроен по GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Хадруерният ви часовник е настроен по GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP сървър"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Автоматична синхронизация на времето (използва NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Локален файл"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernet карта"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows домейн"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Локални файлове:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows домейн:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP ауторизация"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Базов dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP сървър"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "прост"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "идентификация"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Домейн"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Сървър"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Сървър, Бази-данни"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Изисква парола"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS идентификация"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS домейн"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS сървър"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Идентификация на Windows Домейн"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Име на администратор на домейн"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Парола за администратор на домейн"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Идентификация"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Въведете парола за root"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "идентификация"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Без парола"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Паролата е прекалено проста (трябва да бъде дълга поне %d символа)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Не можете да използвате broadcast без NIS домейн"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO с текстово меню"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "няма достатъчно място за /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Не можете да инсталирате bootloader на дяла %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Инсталиране на bootloader"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "КБ"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "КБ"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "МБ"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "ГБ"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "ТБ"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d минути"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 минута"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d секунди"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Нов"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Демонтирай"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Монтирай"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Място на монтиране"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Опции"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Грешка"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Моля въведете WebDAV сървър URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL трябва да започва с http:// или https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Сървър: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Място на монтиране: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Опции: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Разделяне на дялове"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Прочетете внимателно !"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Първо създайте backup на своите данни"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Излез"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Нататък"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ако смятате да използвате aboot, оставете свободно пространство (2048 "
+"сектора\n"
+"са достатъчни) в началото на диска"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Помощ"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Изберете действие"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Имате един голям FAT дял\n"
+"(по принцип се ползват от Microsoft Dos/Windows).\n"
+"Предлагам първо да промените големината на този дял\n"
+"(щракнете върху него, а след това щракнете върху \"Промени големината\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Моля, цъкнете на дяла"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Подробности"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Не е намерен твърд диск"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Неизвестен"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Журнална FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Друга"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Празен"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Видове файлова система:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Предупреждение"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Големината на дяла не може да бъде променена"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Първо използвайте 'Демонтиране'"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Вместо това използвайте ``%s''"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Вид"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Изберете друг дял"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Изберете дял"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Върни"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Премини в Нормален режим"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Премини в Експертен режим"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Настройка"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Продължение въпреки всичко ?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Изход без запис"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Изход, без да запис на таблицата на дяловете ?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Искате ли да запазите промените в /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Налага се ра рестартирате, преди модификациите да предизвикат ефект"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Изчисти всичко"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Автоматично създаване"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Още"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Информацията за твърдия диск"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Всички първични дялове се използват"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Не мога да добавя повече дялове"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Ако искате още дялове, моля изтрийте един, за да можете да създадете един "
+"разширен дял"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Запази таблицата с дяловете"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Възстанови таблицата с дяловете"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Спасяване таблицата с дяловете"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Презареди таблицата с дяловете"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Автоматично монтиране на сменяем носител"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Изберете файл"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Резервната таблица на дяловете не е със същата големина\n"
+"Да продължа ли все пак ?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Опитвам се да спася таблицата на дяловете"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Подробна информация"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Промени големината"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Форматирай"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Прибави към RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Прибави към LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Изтрий"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Премахни от RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Премахни от LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Модифицирай RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Използвай за loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Създай"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Създай нов дял"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Начален сектор: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Големина в MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Вид файлова система: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Предпочитание: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Име на logical volume"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Да премахна ли loopback файла ?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"След промяна на типа на дяла %s, всички данни върху него ще бъдат загубени"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Промяна типа на дяла"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Коя файлова система искате ?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Преход от ext2 към ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Етикет"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Къде искате да монтирате loopback-файла %s ?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Къде искате да монтирате устройство %s ?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Не мога да махна точката на монтиране, тъй като дялът се използва за "
+"loopback.\n"
+"Първо махнете loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Къде искате да монтирате устройство %s ?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Промяна на големината"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Изчислявам границите на fat файловата система"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Големината на дяла не може да бъде променена"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Всички данни на този дял трябва да бъдат архивирани"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"След промяна големината на дяла %s, данните върху него ще бъдат загубени"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Изберете нова големина"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Нова големина в MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Изберете съществуващ RAID за прибавяне"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "нов"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Изберете съществуващ LVM за прибавяне"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM име ?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Този дял не може да бъде използван за loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Име на loopback файла: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Дайте име на файл"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Файлът вече се използва то друг loopback, изберете друг файл."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Файлът вече съшествува. Да го използвам ли ?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Опции за mount:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Различни"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "устройство"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "ниво"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "големина на парчето"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Внимание: тази операция е опасна"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Какъв тип разделяне на дялове ?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Трябва да рестартирате, преди промените да влязат в сила"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Таблицата на дяловете на устройство %s ще бъде записана върху диска !"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "След форматиране на дяла %s, всички данни върху него ще бъдат загубени"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Проверка за лоши сектори ?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Премести файловете на нов дял"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Скрий файловете"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Премести файловете на нов дял"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Копиране на %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Изтриване на %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "дял %s сега е известен като %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Устройство: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Буква на устройството под DOS: %s (просто предположение)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Вид: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Име: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Начало: сектор %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Размер: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s сектора"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "От цилиндър %d до цилиндър %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Форматиран\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Неформатиран\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Монтиран\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback файл(ове):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Дял, който се стартира по подразбиране\n"
+" (за MS-DOS boot, не за lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Ниво %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Размер на парчето %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-дискове %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Име на loopback файла: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Вероятно е този дял да е\n"
+"Драйвер-дял, може би трябва\n"
+"трябва да го оставите.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Тази специална стартираща\n"
+"ивица на дяла е за двойно\n"
+"стартиране на системата ви.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Само за четене"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Размер: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Геометрия: %s цилиндри, %s глави, %s сектори\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Информация: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-дискове %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Тип на таблицата с дялове: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "на канал %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Криптиращ ключ за файлова система"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Избор на криптиращ ключ за еашата файлова система"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Криптиращ ключ е прекалено прост (трябва да бъде дълга поне %d символа)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Ключовете за криптиране не съвпадат"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Ключ за криптиране"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Ключ за криптиране (отново)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "идентификация"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Промяни типа"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Отказ"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Не мога да вляза като използвам име %s (грешна парола?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Изисква Идентификация за Домейн"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Кое потребителско име"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Друго"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Моля, въведете вашето име, парола и име на домейн за достъп до този хост."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Потребителско име"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Търси сървъри"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Търси нови сървъри"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+"Пакет %s трябва да бъде инсталиран\n"
+"Искате да го инсталирате?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Инсталиране на пакета %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Задължителният пакет %s липсва"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Следните пакети ще трябва да се инсталират:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Инсталиране на пакети ..."
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Изтриване на %s ..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Появи се грешка - не са открити валидни устройства, върху които да бъдат "
+"създадени нови файлови системи. Моля проверете твърдия си диск си за "
+"причината за този проблем"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Трябва да имате FAT дял монтиран в /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Форматиране на дял %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Създаване и форматиране на файл %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "не знам как да форматирам %s в тип %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s форматиране от %s провалено"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "\"Омагьосан кръг\" от монтирания: %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Форматира дял %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "монтирането на дял %s в директория %s пропадна"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Проверка на %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "грешка при демонтиране на %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Разрешава swap дял %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"Вие не може да използвате криптирана файлова система за точка на монтиране %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Дублирай точката на монтиране %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "няма дялове на разположение"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Претърсване на дяловете за намиране на точки на монтиране"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Изберете места за монтиране"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Изберете дяловете, които искате да форматирате"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Неуспешна проверка на файлва система %s. Искате ли да оправите грешките? "
+"(бъдете внимателни, може да загубите данни)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Няма достатъчно swap за приключване на инсталацията, моля добавете малко"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Трябва да имате root-дял.\n"
+"Затова създайте дял (или цъкнете на съществуващ).\n"
+"Тогава изберете действие ``Място на монтиране'' и го сложете `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Нямате swap-дял\n"
+"\n"
+"Да продължа ли все пак ?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Използвай свободното място"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Няма достатъчно място за създаване на нов дял"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Изпозване на съществуващ дял"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Няма дял, който мога да използвам"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Използвай за Microsoft Windows® дялът за loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Кой дял искате да използвате за Linux4Win ?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Изберете големините"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Големина на root-дяла в MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Големина на swap-дяла в MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Няма FAT дялове за използване като loopback (или няма достатъчно място на "
+"диска)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Използвай свободното място на Windows дяла"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Кой дял желаете да промените?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Не възможност за работа с вашия FAT дял, \n"
+"поради получената грешка: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Изчислява свободното място на Microsoft Windows® дял"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Вашият Microsoft Windows® дял е много фрагментиран, моля първо стартирайте "
+"''defrag''"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ВНИМАНИЕ!\n"
+"\n"
+" DrakX трябва да прераздели Вашия Windows дял.\n"
+"\n"
+"\n"
+"Бъдете внимателни: тази операция е опасна. Ако още не сте го направили, "
+"трябва първо да пуснете scandisk (и евентуално да използвате defrag) под "
+"Windows върху този дял, тогава повторете инсталациаята. Би било добре да "
+"направите архив на данните си.\n"
+"\n"
+"\n"
+"Когато сте сигурни, натиснете %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Следващ"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Колко искате да оставите за windows? дял %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Размер"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Изчислявам границите на Microsoft Windows® файловата система"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Неуспешно преразделяне на FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Няма FAT дялове за смяна на големината (или няма достаъчно място)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Премахни Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Изтрий целия диск"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "имате повече от един твърди дискове, кой да използвам за инсталацията?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "ВСИЧКИ съществуващи дялове и данните върху тях на %s ще бъдат загубени"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Клиентско разделяне на диска"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Използвай fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Сега можете да разделите %s.\n"
+"Когато сте готови, не забравяйте да запишете използвайки `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Не мога да намеря никакво място за инсталация"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Помощникът за разделине на дялове на DrakX намери следните решения:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Неуспешно разделяне на: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Не можете да използвате JFS за дял по-малък от 16 МБ"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Не можете да инсталиране ReiserFS на дял по-малък от 32 МБ"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "с /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "сървър"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Не мога да разчета таблицата на дяловете на устройство %s, прекалено е "
+"повредена за мен :(\n"
+"Мога да се опитам да изчистя лошите дялове (ВСИЧКИ ДАННИ ще бъдат "
+"загубени!).\n"
+"Друго решение е да забраните на DrakX поправя таблицата с дялове.\n"
+"(грешката е %s)\n"
+"\n"
+"Съгласни ли сте да загубите всички дялове?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Точките на монтиране трябва да започват с /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Точките за монтиране трябва да съдържат само букви и цифри"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Вече има дял монтиран на това място %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Маркирали сте софтуерен RAID дял като root (/).\n"
+"Няма зареждаща програма, която да може да се справи с него без /boot дял.\n"
+"Така че добавете /boot дял"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Не можете да използвате LVM тип за място на монтиране %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Маркирали сте софтуерен RAID дял като root (/).\n"
+"Няма зареждаща програма, която да може да се справи с него без /boot дял.\n"
+"Така че добавете /boot дял"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Тази директория трябва да остане в рамките на root файловата система."
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Нуждаете се от истинска файлова система (ext2, reiserfs,xfs, или jfs) за "
+"тази точка на монтиране\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Вие не може да използвате криптирана файлова система за точка на монтиране %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Няма достатъчно място за автоматично разпределяне"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Няма нищо за правене"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Флопи"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip устройство"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Диск"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD записващо"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Лента"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP контролери"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Видео карта"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV карта"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Друга мултимедийни устройства"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Звукова карта"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Процесори"
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "ISDN карта"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet карта"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Модем"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Памет"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Принтер"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Джойстик"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA контролери"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID контролери"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA контролери"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Модел на карта:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire контролери"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA контролери"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI контролери"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB контролери"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr ", USB принтер"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus контролери"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Бриджове и системни контролери"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Клавиатура"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Мишка"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Скенер"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Неизвестни/Други"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Моля, почакайте ... Прилагане на настройките"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Няма алтернативен драйвер"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Няма известнен OSS/ALSA алтернативен драйвер за вашата звукова карта (%s) "
+"която в момента използва \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Настройка за звук"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Тук може да изберете алтернативен драйвер (OSS или ALSA) за вашата звукова "
+"карта (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Вашата карта в момента използва %s\"%s\" драйвер (подразбиращ драйвер за "
+"картата ви е \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Драйвер: "
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Няма свободен драйвер за вашата звукова карта (%s), но има собствени драйвер "
+"на \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Няма известен драйвер"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Няма драйвер за вашата звукова карта (%s)"
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "Неизвестен драйвер"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Грешка: \"%s\" драйвер за вашата карта е инсталиран"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Затруднения при звук"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Нека избера драйвер"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Избор на случаен драйвер"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ако мислите , че знаете кой точно драйвер е за вашата карта\n"
+"вие може да го изберете от горният списък.\n"
+"\n"
+"Текущо използваният драйвер за вашата \"%s\" звукова карта е \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Автоматично засичане"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Неизвестен|Общ"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Неизвестен|CPH05X (bt878) [много производители]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Неизвестен|CPH06X (bt878) [много производители]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Модел на карта:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Тип на тунер:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Да"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Не"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Изберете файл"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Добавя"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Модифицира"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Премахва"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Завърши"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Предишен"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Лош избор, опитайте отново\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Вашият избор ? (по подразбиране е %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Записите които вие ще трябва да запълните:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Вашият избор ? (по подразбиране е `%s')"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Бутон `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Искате ли да цъкнете на този бутон?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Вашият избор ? (по подразбиране е `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Има много неща за избор от (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> забележка, променен етикет:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Андора"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Обединени Арабски Емирства"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Афганистан"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Антигуа и Барбуда"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Ангила"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Албания"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Армения"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Холандски Антили"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Ангола"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Антарктика"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Аржентина"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Американска Самоа"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Австрия"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Австралия"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Аруба"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Азербайджан"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Босна и Херцеговина"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Барбадос"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Бангладеш"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Белгия"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Буркина Фасо"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "България"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Бахрейн"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Бурунди"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Бенин"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Бермуда"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Бруней"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Боливия"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Бразилия"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Бахами"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Бутан"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Остров Бувет"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Ботсвана"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Беларус"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Белиз"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Канада"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Кокосови Острови"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Конго (Киншаса)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Централноафриканска Република"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Конго (Бразивил)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Швейцария"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Кот д'ивоар"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Острови Кук"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Чили"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Камерун"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Китай"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Колумбия"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Коста Рика"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Сърбия и Черна Гора"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Куба"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Капо Верде"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Коледни Острови"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Кипър"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Чешка Република"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Германия"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Джибути"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Дания"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Доминика"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Доминиканска Република"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Алжир"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Еквадор"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Естония"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Египет"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Западна Сахара"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Еритрея"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Испания"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Етиопия"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Финландия"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Фиджи"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Фолклендски Острови (Малвини)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Микронезия"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Острови Фаро"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Франция"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Габон"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Англия"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Гренада"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Грузия"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Френска Гвиана"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Гана"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Гибралтар"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Гренландия"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Гамбия"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Гвинея"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Гваделупа"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Екваториална Гвинея"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Гърция"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Южни Сандвичеви Острови и Южна Джорджия"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Гватемала"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Гуам"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Гвинея-Бисау"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Гияна"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Хонг Конг"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Хърд и МакДоналд Острови"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Хондурас"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Хърватия"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Хаити"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Унгария"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Индонезия"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ирландия"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Израел"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Индия"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Английски територии в Индийския океан"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ирак"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Иран"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Исландия"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Италия"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Ямайка"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Йордания"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Япония"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Кения"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Киргизтан"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Камбоджа"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Кирибати"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Комори"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Свети Китс и Невис"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Корея (Северна)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Корея"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Кувейт"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Кайманови Острови"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Казахстан"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Лаос"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Ливан"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Санта Лучия"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Лихтенщайн"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Шри Ланка"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Либерия"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Лесото"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Литва"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Люксембург"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Латвия"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Либия"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Мароко"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Монако"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Молдова"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Мадагаскар"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Маршалови Острови"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Македония"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Мали"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Мианмар"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Монголия"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Северни Марианови Острови"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Мартиника"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Мавритания"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Монсерат"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Малта"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Мавриций"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Малдиви"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Малави"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Мексико"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Малайзия"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Мозамбик"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Намибия"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Нова Каледония"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Нигер"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Норфолк Остров"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Нигерия"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Никарагуа"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Холандия"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Норвегия"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Непал"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Науру"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Нию"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Нова Зеландия"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Оман"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Панама"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Перу"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Френска Полинезия"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Папуа Нова Гвинея"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Филипини"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Пакистан"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Полша"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Свети Пиер и Микелон"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Питкеърн"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Пуерто Рико"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Палестина"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Португалия"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Парагвай"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Палау"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Катар"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Риюниън"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Румъния"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Русия"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Руанда"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Саудитска Арабия"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Соломонови Острови"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Сейшели"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Судан"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Швеция"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Сингапур"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Света Елена"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Словения"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Свалбард и Ян Майен Острови"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Словакия"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Сиера Леоне"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Сан Марино"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Сенегал"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Сомалия"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Суринам"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Сао Томе и Принсипи"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Ел Салвадор"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Сирия"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Свазиленд"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Тюрк и Кайкос Острови"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Чад"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Франция Южни Територии"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Того"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Тайланд"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Таджикистан"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Токелау"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Източен Тимор"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Туркменистан"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Тунис"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Тонга"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Турция"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Тринидад и Тобаго"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Тувалу"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Тайван"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Танзания"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Украйна"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Уганда"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Малки Острови по крайбрежието на САЩ"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "САЩ"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Уругвай"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Узбекистан"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Ватикана"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Свети Винсент и Гренадин"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Венецуела"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Вирджински Острови (Британски)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Вирджински Острови (САЩ)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Виетнам"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Вануату"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Уолис и Футуна Острови"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Самоа"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Йемен"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Майот"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Южна Африка"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Замбия"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Зимбабве"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Добре дошли в %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Първо премахни логичните дялово\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Въведение\n"
+"\n"
+"Операционната система и различните компоненти достъпни в Mandriva Linux "
+"дистрибуцията по-долу ще се\n"
+"наричат \"Софтуерен Продукти\". Софтуерните Продукти включват, но не се "
+"ограничават само до, набора\n"
+"програми, методи, правила и документация отнасяща се до операционната "
+"система и различните\n"
+"компоненти на Mandriva Linux дистрибуцията.\n"
+"\n"
+"\n"
+"1. Лицензионен договор\n"
+"\n"
+"Моля, прочетете внимателно този документ. Този документ е лицензионен "
+"договор между вас и\n"
+"Mandriva S.A., който се отнася до Софтуерния Продукт. Чрез инсталирането, "
+"копирането\n"
+"или използването на Софтуерния Продукт по какъвто и да е начин вие изрично "
+"приемате и\n"
+"напълно се съгласявате да спазвате сроковете и условията на този Лиценз.\n"
+"Ако не се съгласявате с някоя част на Лиценза, нямате право да инсталирате, "
+"копирате или\n"
+"използвате Софтуерния Продукт. Опитите да се инсталира, копира или използва "
+"Софтуерния Продукт\n"
+"несъобразно със сроковете и условията на този Лиценз се забраняват и такива "
+"прекратяват правата\n"
+"ви по този Лиценз. При прекратяване на Лиценза, трябва незабавно да "
+"унижтожите всички\n"
+"копия на Софтуерния лиценз.\n"
+"\n"
+"\n"
+"2. Ограничена гаранция\n"
+"\n"
+"Софтуерните Продукти и приложената документация се предоставят \"такива "
+"каквито са\", без гаранция,\n"
+"в рамките на разрешеното от закона.\n"
+"Mandriva S.A., при никакви обстоятелства и в рамките на закона, не е "
+"отговорна за каквито да e\n"
+"умишлени, случайни, преки или косвени щети (включително загуба на данни за "
+"работа, прекратяване на,\n"
+"работа, финансови загуби, законни данъци и наказания в резултат на съдебно "
+"решение или каквато и да е\n"
+"друга произлизащи от това загуби) произтичащи от употребата или от "
+"невъзможността да се употреби\n"
+"Софтуерния Продукт, даже ако Mandriva S.A. да е известила за възможността "
+"или случването на такава загуба.\n"
+"\n"
+"ОГРАНИЧЕНА ОТГОВОРНОСТ СВЪРЗАНА С ПРИТЕЖАВАНЕТО ИЛИ ИЗПОЛЗВАНЕТО НА ЗАБРАНЕН "
+"СОФТУЕР В НЯКОИ СТРАНИ\n"
+"\n"
+"В рамките на закона, Mandriva S.A. и нейните дистрибутори няма при никакви "
+"условия да бъдат\n"
+"отговорни за каквито и да било умишлени, случайни, преки или косвени щети "
+"(включително загуба на данни\n"
+"за работа, прекратяване на, работа, финансови загуби, законни данъци и "
+"наказания в резултат на\n"
+"съдебно решение или каквато и да е друга произлизащи от това загуби) "
+"произтичащи от притежаването\n"
+"и употребата на софтуерни компоненти и от изтеглянето на софтуерни "
+"компоненти от сайтовете на Mandriva Linux,\n"
+"които са забранени в някои страни от местното законодателство.\n"
+"Тази ограничена отговорност се отнася до, но не само за, мощните "
+"криптографски компоненти включени\n"
+"в Софтуерния Продукт.\n"
+"\n"
+"\n"
+"3. GPL Лиценза и придружаващи лицензи\n"
+"\n"
+"Софтуерният Продукт се състои от компоненти създадени от различни хора или "
+"организации. Повечето от\n"
+"тези компоненти се управляват от сроковете и условията на GNU Общия Публичен "
+"Лиценз, оттук нататък наричан\n"
+"\"GPL\", или подобни нему лицензи. Повечето от тези лицензи ви позволяват да "
+"използвате, копирате, или\n"
+"редистрибутирате компонентите, които те покриват. Моля, прочетете внимателно "
+"сроковете и условията на\n"
+"лицензионния договор на всеки компонент преди да го използвате. Всякакви "
+"въпроси относно лиценза\n"
+"на компонентите би трябвало да бъдат насочени към съответния им автор, а не "
+"към Mandriva.\n"
+"Програмите разработени от Mandriva S.A. се управляват от GPL Лиценза. "
+"Документацията написана\n"
+"от Mandriva S.A. се управлява от специален лиценз. Моля, погледнете "
+"документацията за\n"
+"повече информация.\n"
+"\n"
+"\n"
+"4. Права за Интелектуална Собственост\n"
+"\n"
+"Всички права към компонентите на Софтуерния Продукт принадлежат на "
+"съответните им автори и са\n"
+"защитени от законите за интелектуалната собственост и за копиране прилагани "
+"за софтуерните програми.\n"
+"Mandriva S.A. запазва правото си да модифицира и пригодява Софтуерния "
+"Продукт, като цяло или на\n"
+"части, по всякакъв начин и с всякакви цели.\n"
+"\"Mandriva\", \"Mandriva Linux\" и свързаните логота са запазена марка на "
+"Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Управляващи Закони\n"
+"\n"
+"Ако някоя част от този договор се води забранена, нелегална или неприложима "
+"според решение на съд,\n"
+"тази част се изключва от договора. Вие оставате ограничени от останалите "
+"приложими секции на договора.\n"
+"Сроковете и условията на този Лиценз се управляват от Законите на Франция.\n"
+"Всички спорове по условията на този лиценз би било добре да се отнесат до "
+"съда. Като крайна мярка,\n"
+"споровете ще бъдат отнасяни до подходящия правни съдилища на Париж - "
+"Франция.\n"
+"За всякакви въпроси по този документ, моля, свържете се с Mandriva S.A.\n"
+"\n"
+"ЗАБЕЛЕЖКА: Това е български приблизителен превод на документа, което "
+"означава, че той\n"
+"вероятно не е достатъчно точен. Като по-достоверен източник ползвайте "
+"неговия оригинал на\n"
+"английски.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Внимание\n"
+"\n"
+"Моля, прочетете условията по-долу. Ако не сте съгласни с някое от тях,\n"
+"не можете да продължите инсталацията на следващия CD носител. Натиснете\n"
+"'Откажи', за да продължите инсталацията без тези носители.\n"
+"\n"
+"\n"
+"Някои компоненти съдържащи се в следващия CD носител не са разпространяват\n"
+"под GPL Лиценза или подобен такъв. Всеки такъв компонент е под условията\n"
+"и положенията на специфичния му лиценз. Моля, прочетете внимателно и изцяло\n"
+"тези специфични лицензи преди да използвате или разпространявате "
+"споменатите\n"
+"компоненти.\n"
+"Такива лицензи по принцип предотвратява преноса, копирането (освен с цел\n"
+"съхранение), разпространяването, обратния инженеринг, деасемблирането\n"
+"декомпилацията или модификацията на компонентите.\n"
+"Всяко нарушаване на спогодбата незабавно преустановява правата ви по\n"
+"специфичния лиценз. Освен ако специфичния лиценз ви дава такива права,\n"
+"обикновено не можете да инсталирате програмите на повече от една система\n"
+"или да ги пригаждате за използване в мрежа. Ако не сте сигурни, моля\n"
+"свържете се с дистрибуция или редактора на компонена.\n"
+"Прехвърлянето на трети лица или копирането на всяка компонента, включително\n"
+"на документацията, обикновено са забранени.\n"
+"\n"
+"\n"
+"Всички права на компонентите от следващия CD носител принадлежат на\n"
+"съответните им автори и са защитени като интелектуална собственост от\n"
+"законите за авторски права приложими за софтуерните програми.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Поздравления, инсталацията е преключена.\n"
+"Премахнете стартовото устройство и натисене Enter за да рестартирайте.\n"
+"\n"
+"\n"
+"За информация относно поправки, на тази версия на Mandriva Linux,\n"
+"се консултирайте с Errata, на адрес : \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Информация за настройване на системата ви можете да намерите в\n"
+"слединсталационната глава от Official Mandriva Linux User's Guide."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Настройка на CUPS принтер"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Настройка на модул"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Вие може да конфигурирате всеки параметър на модулът тук."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Намерени са %s интерфейси"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Имате ли друг(и) ?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Имате ли някакъв %s интерфейс?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Виж хардуерната информация"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Инсталиране на драйвер за %s платка %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Инсталиране на драйвер за %s платка %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Инсталиране на драйвер за %s платка %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Инсталиране на драйвер за %s платка %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Инсталиране на драйвер за %s платка %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Сега можете да подадете опциите му до модула %s.\n"
+"Опциите са във формат ``име=стойност име2=стойност2 ...''.\n"
+"Например: ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Опции на модула:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Кой %s драйвер да пробвам ?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"В някои случаи, %s драйверът се нуждае от допълнителна информация, за\n"
+"да работи коректно, въпреки че нормално работи и без нея. Желаете ли "
+"даподадете\n"
+"допълнителни опции за него или да разрешите на драйвера да потърси "
+"информацията\n"
+"от която се нуждае ? По принцип това може да забие компютъра ви, но няма да "
+"го повреди."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Автоматично засичане"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Задай опции"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Зареждането на модула %s не успя.\n"
+"Искате ли да опитате отново с други параметри ?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "монтирането не успя: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Разширени дялове не се поддържат на тази платформа"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Имате празнина в таблицата с дяловете, но не мога да я използвам.\n"
+"Единственият начин е да преместите главните си дялове, за да имате празно "
+"място след extended-дяловете"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Грешка при четенето на файла %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Възстановяването от файла %s не успя: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Лош backup-файл"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Грешка при запис във файла %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Нещо лошо става с устройството ви.\n"
+"Теста за целост на данните пропадна.\n"
+"Това значи, че писането на каквото и било по диска ще превръща\n"
+"произволно в боклук"
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Не мога да прибавя дял към _форматиран_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Няма достатъчно дялове за RAID ниво %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Скенердрейк"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Позволява/Забранява съобщения за IPv4 грешки."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Позволява/Забранява broadcasted icmp echo."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Позволява/Забранява icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Позволява/Забранява автоматично влизане."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Позволява/Забранява престартиране от потребител на конзола."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Позволява/Забранява отдалечено влизане на root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Позволява/Забранява директно влизане на root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Предупреждения за защита:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Разрешава/Забранява защитата от IP spoofing."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Разрешава/Забранява ежечасова проверка на сигурността"
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Разрешава/Забранява ежедневна проверка за защита"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Задава паролата минималната дължина на паролата, минимален брой цифри и "
+"минимален брой главни букви."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Установяване на root umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "ако е зададено да, проверява отворените портове"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"ако е включено,проверява :\n"
+"\n"
+"- за празни пароли,\n"
+"\n"
+"- дали няма пароли в /etc/shadow\n"
+"- за потребители различни от root"
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "ако е включено,проверява добавянето/премахването на suid root файлове"
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"ако е задаено да, проверява файловете/директориите достъпни за писане от "
+"всеки."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "ако е задаено да, изпраща по пощата съобщение за резултата."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "ако е задаено да, изпраща резултата от проверката на tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Установяване на потребителска umask"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Приема съобщения за IPv4 грешки."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Приема broadcast-нато icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Позволява отдалечено влизане на root."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Позволява X Window връзки"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig спазва msec правилата"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Използва парола за разпознаване на потребителите"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Без остаряване на паролата за"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Дължина на \"историята\" на паролите"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Шел време за достъп"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Потребителска маска"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Проверява отворените портове"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Пуска ежедневна проверка за сигурност"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Проверява файловете/директориите достъпни за писане от всеки."
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr "Ако е включено, праща отчет на този е-адрес,иначе праща на root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "изпраща съобщение за резултата по е-пощата."
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Изпраща резултатра от проверката към syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Изпраща резултата от проверката на tty."
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Добре дошли при Cracker-ите"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Лошо"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Стандартна"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Високо"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "По-високо"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Параноично"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Това ниво се използва с внимание. Това кара системата ви по-лесна за\n"
+"употреба, но е по-чувствително: не трябва да бъде използвана на машини\n"
+"свързани с други или по Интернет. Няма достъп с пароли."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Паролата сега е включена, но използването като мрежов компютър не е "
+"препоръчително."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Това е стандартната сигурност препоръчителна за компютър, който ще бъде "
+"използван да се свързва към Интернет като клиент."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Вече има някой ограничения, и повече автоматични проверки ще се изпълняват "
+"всяка вечер."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"С това ниво на сигурност, ползването на системата като сървър става "
+"възможно.\n"
+"Сигурността сега е достатъчно голяма да се използва системата като\n"
+"сървър приемащ връзки от много клиенти. "
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Подобно на предишното ниво, но системата е напълно затворена.\n"
+"Нивото на сигурност е на максимума си."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Сигурност"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Основни опции на DrakSec "
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Моля, изберете ниво на сигурност"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Ниво на сигурност"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Използвайте libsafe за сървъри"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Библиотека, която осигурява защита от атаки с препълване на буфер и форматни "
+"стрингове."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Администратор по сигурността (логин или Ел.поща)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Пусни ALSA (Advanced Linux Sound Architecture) звуковата система"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacrton - периодично изпълняване на команди по разписание."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd се използва за наблюдение на батерията и записвайки статуса чрез\n"
+"syslog. Може също да се използва за спиране на машината, когато батерията е "
+"изтощена."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Пуска команди по разписание във време определено от командата at и пуска\n"
+"набор от други, когато натовареността спадне достатъчно."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron е стандартна UNIX програма, която периодично пуска определени програми\n"
+"по разписание. vixie cron добавя множество преимущества над тези на простия\n"
+"UNIX cron, включително по-добра сигурност и мощни настройващи опции."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM добавя поддръжка на мишка в текстово-базираните Linux приложения като\n"
+"Midnight Commander. Също така позволява базираните на мишка конзоли\n"
+"режи-и-лепи операции, и включва поддръжка на изкачащи менюта на козолата."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake прави проби на хардуера, и евентуално настройва\n"
+"нов/променен хардуер."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache е World Wide Web (WWW) сървър. Той служи да обработва на HTML "
+"файлове\n"
+"и CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet superserver daemon (често наричан inetd) пуска различни други\n"
+"Интернет услуги. Той отговаря за пускането на много услуги от рода на\n"
+"telnet, ftp, rsh и rlogin. Изключването на inetd изключва всички услуги,\n"
+"за които отговаря."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Включи филтрирането на пакети за Linux ядра серия 2.2, за\n"
+"настрока на защитната стена, s cel защитава на машината ви от\n"
+"мрежови атаки."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Този пакет зарежда маркираната клавиатурна наредба в /etc/sysconfig/"
+"keyboard.\n"
+"Тя може да бъде избрана с инструмента kbdconfig. Трябва да оставите "
+"товавключено за повечето машини."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Автоматично регенериране на header-ите на ядрото, в /boot за\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Автоматично засичане и настройка на хардуера при стартиране."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf понякога урежда извършването на различни задачи\n"
+"при стартиране за поддръжка на системната настройка."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd е демона за печат необходим на lpr да работи нормално. Той просто е\n"
+"сървър, който определя работите за печат на принтер(а/ите)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server се използва за изграждане на високопроизводителен\n"
+"и добре достъпен сървър."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) е Domain Name Server (DNS), който се използва да превърне\n"
+"името на хоста до IP адрес."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Монтира и демонтира всякакви Network File System (NFS), SMB (LAN\n"
+"Manager/Windows), и NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Активира/деактивира всички мрежови интерфейси, настроени да се пускат\n"
+"при стартиране на машината."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS е популярен протокол за обмен на файлове по TCP/IP мрежи.\n"
+"Тази услуга осигурява функционалността на NFS сървъра, който се настройва\n"
+"чрез файла /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS е популярен протокол за обмен на файлове по TCP/IP мрежи.\n"
+"Тази услуга осигурява функционалността на заключването на NFS файловете."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Автоматично включване на numlock клавиша под конзола и\n"
+"Xorg при стартиране."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Поддръжка на OKI 4w и съвместими win-принтери."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA поддържката обикновенно поддържа неща като ethernet и модеми в\n"
+"laptop-и. Това няма да се стартира преди да бъде настроен, така че е\n"
+"по-добре да я имате инсталирана на машини, които не се нуждаят от нея."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper се справя с RPC връзки, които се използват от протоколи като\n"
+"NFS и NIS. portmap сървъра трябва да е пуснат на машини, които работят като\n"
+"сървър за протоколи, които се нуждаят да използват RPC механизъм."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix е Main Transport Agent (MTA), който е програма която пренася\n"
+"поща от машина на машина."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Запазва и възстановята потока на системна ентропия за по-голямо качество\n"
+"на произволно генериране на числа."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Свържи чисти драйвери с блокови устройства (като дялове\n"
+"на твърдия диск), за употребата от приложения като Oracle или DVD плеъри"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"touted демона позволява таблица за IP рутиране автоматично обновявана чрез\n"
+"RIP протокола. Докато RIP е широко използвана за малки мрежи, за по-сложни\n"
+"протоколи за рутиране са нужни за сложни мрежи. "
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat протокола позволява на мрежовите потребители да извличат\n"
+"параметрите на възможностите за всяка машина на мрежата."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers протокола позволява на мрежовите потребители да проверяват кой е\n"
+"влязъл на друга отговарящата машина."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho протокола позволява на отдалечени потребители да се сдобият със списък\n"
+"на всички потребители влезли на машина с работещ rwho демон (подобен на "
+"finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Пуснкане звуковата система на машината ви"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog е програма която много демони използват да запазват съобщения в\n"
+"различни системни файлове (логове). Добре е постоянно да я имате работеща."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Зареждане драйвери за вашите USB устройства."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Стартира X Font Server (това е задължително, за да тръгне Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Печатане"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Интернет"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Поделяне на файлове"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Система"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Отдалечена администрация"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Сървър Бази-данни"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Услуги"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Избира услугите, които трябва да се пуснат при пускане на машината"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Услуги: %d активирани от %d регистрирани"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "стартиране"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "спряна"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Услуиги и демони"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Няма допълнителна информация\n"
+"за тази услуга, съжелявам."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Информация"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "При зареждане"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Старт"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Стоп"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[клавиатура]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Използване: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Добавяне на сървър"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Общи"
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Южна Африка"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Австрия"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Южна Африка"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Океания"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Южна Африка"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Хонг Конг"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Руска Федерация"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Югославия"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Всичко правилно ли е ?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "избор на файл"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Трябва да изберете файл, а не директория.\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Името \"/\" може да е само папка, а не ключ"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Не е директория"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Не съществува файл \"%s\"\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Разшири дървото"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Изчисти дървото"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Превключване между нормално и сортиране по групи"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s не е инсталирано\n"
+"Натиснете \"Нататък\",за да инсталирате или \"Отказ\" за изход"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Инсталацията провалена"
+
+#~ msgid "Icon"
+#~ msgstr "Икона"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL настройки:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Подръжка на радио:"
+
+#~ msgid "enable radio support"
+#~ msgstr "разрешава подръжка на радио"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/bn.po b/perl-install/share/po/bn.po
new file mode 100644
index 000000000..eded7444d
--- /dev/null
+++ b/perl-install/share/po/bn.po
@@ -0,0 +1,6702 @@
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Omi Azad <omi@altruists.org>, 2004.
+# Khandakar Mujahidul Islam <suzan@BengaLinux.Org>, 2004.
+# Progga <progga@BengaLinux.Org>, 2004.
+# Jamil Ahmed <jamil@BengaLinux.Org>, 2004, 2005.
+# Samia <mailsamia2001@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX HEAD\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-03-19 23:18+0600\n"
+"Last-Translator: Samia <mailsamia2001@yahoo.com>\n"
+"Language-Team: Bangla <mdk-translation@bengalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "অনুগ্রহ করে অপেক্ষা করুন"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "বুট লোডার ইনস্টল করা হচ্ছে"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO %s ড্রাইভে একটি নতুন ভলিউম আই-ডি দিতে চায়। যাই হোক, উইন্ডোজ এন-টি,\n"
+"২০০০, অথবা এক্স-পি'র বুট ডিস্কের ভলিউম আই-ডি পরিবর্তনে এগুলো একটি দুর্ভাগ্যজনক "
+"উইন্ডোজ সমস্যা।\n"
+"নতুন একটি ভলিউম আই-ডি দেয়া হবে?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Bootloader ইনষ্টলেশন ব্যর্থ হয়েছে। এ সমস্ত ত্রুটি ঘটেছে:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"বুট-লোডার সক্রিয় করার আপনাকে আপনার ওপেন ফার্মওয়্যার বুট-যন্ত্র পরিবর্তন\n"
+" করতে হতে পারে। যদি রিবুট করার পর কোন বুটলোডার প্রম্প্‌ট না দেখেন, তাহলে\n"
+" রিবুটের কমান্ড অপশনে যান এবং টাইপ করুন: setenv boot-device %s,\\\\:tbxi\n"
+" তারপর টাইপ করুন: shut-down\n"
+"পরবর্তীতে বুট হওয়ার সময় বুটলোডার প্রম্প্‌ট দেখতে পাওয়া উচিত।"
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"আপনি একটি পার্টিশনে বুটলোডার ইনস্টল করার সিন্ধান্ত নিয়েছেন।\n"
+"আপনাকে জানানো যাচ্ছে যে যেই হার্ড ড্রাইভ থেকে বুট করেন সেটাতে আগে থেকেই বুটলোডার "
+"আছে\n"
+"(যেমন: সিস্টেম কমান্ডার)।\n"
+"\n"
+"আপনি কোন ড্রাইভ থেকে বুট করছেন?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "ড্রাইভের প্রথম সেক্টর (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "রুট পার্টিশনের প্রথম সেক্টর"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "ফ্লপি তে"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "উপেক্ষা"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub ইনস্টলেশন"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "আপনি bootloader টি কোথায় ইনস্টল করতে চান?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "বুটের ধরণ কনফিগারেশন"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "বুটলোডারের আসল অপশনসমুহ"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "বুটলোডার"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "ব্যবহারের জন্য বুটলোডার"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "বুট ডিভাইস"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "স্বাভাবিক ইমেজ লোড করার আগে দেরী করো"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI এনেবল করো"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ACPI এনেবল করো"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ACPI এনেবল করো"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "পাসওয়ার্ড"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "পাসওয়ার্ডটি মিলছে না"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "অনুগ্রহ করে আবার চেষ্ট করুন"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "আপনি %s মাউন্ট পয়েন্টের জন্য একটি এনক্রিপটেড ফাইল ব্যবহার করতে পারবেন"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "পাসওয়ার্ড (পুনরায়)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "কমান্ডলইন অপশনে বাঁধা দাও"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "বাঁধা দাও"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "``নিয়ন্ত্রিত কমান্ড লাইন অপশন'' অপশনটি পাসওয়ার্ড ছাড়া ব্যবহার করা যাবে না"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "প্রতি বুটে /tmp পরিষ্কার করো"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "যদি প্রয়োজন হয় যথাযথ RAM লাগবে (পাওয়া গেছে %d RAM)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "মেগাবাইটে র‌্যমের সাইজ প্রদান করুন"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init বার্তা"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "বিলম্বিত ওপেন ফার্মওয়্যার"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "কার্নাল বুটের সময় অতিক্রান্ত হয়েছে"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "সিডি বুট সক্রিয় করা হবে?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF বুট সক্রিয় করা হবে?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "স্বাভাবিক অবস্থায় ব্যবহৃত OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "ইমেজ"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "যুক্ত"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "ভিডিওর ধরণ"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "নেটওয়ার্ক প্রোফাইল"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "শিরোনাম"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "স্বাভাবিক"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "কোন ভিডিও নেই"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "খালি শিরোনাম গ্রহণযোগ্য নয়"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "আপনাকে অবশ্যই একটি কার্নালের ইমেজ নির্ধারণ করে দিতে হবে"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "আপনাকে অবশ্যই একটি রুট পার্টিশন নির্ধারণ করে দিতে হবে"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "এই শিরোনামটি আগেই ব্যবহার হয়েছে"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "আপনি কি ধরণের এন্ট্রি যোগ করতে চান?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "লিনাক্স"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "অন্যান্য OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "অন্যান্য OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "অন্যান্য OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"এপর্যন্ত আপনার বুটমেনুর এন্ট্রিগুলি এখানে।\n"
+"আপনি অন্যান্য এন্ট্রি তৈরী করতে পারেন অথবা আগের এন্ট্রিগুলি পরিবর্তন করতে পারেন।"
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X প্রোগ্রামসমূহে প্রবেশাধিকার"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "RPM টুলে প্রবেশাধিকার"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" গ্রহন করো"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "এডমিনিষ্ট্রেশন সংক্রান্ত ফাইলে প্রবেশাধিকার"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "নেটওয়ার্ক টুলে প্রবেশাধিকার"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "compilation টুলে প্রবেশাধিকার"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s আগেই যোগ করা হয়েছে)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "অনুগ্রহ করে একটি উইজার নেম দিন"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "ইউজারনেমে অবশ্যই ছোটহাতের অক্ষর, নম্বর \"-\" এবং \"_\" থাকতে হবে"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "ইউজারনেমটি অনেক বড়"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "এই ইউজারনেমটি এর আগেই যোগ করা হয়েছে"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ব্যবহারকারীর ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "দলের ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "অপশন %s-কে অবশ্যই একটি সংখ্যা হতে হবে!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "ইউজার যোগ করো"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"একটি ইউজার প্রবেশ করান\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "হয়েছে"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "ইউজার গ্রহন করো"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "আসল নাম"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "লগ-ইন নাম"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "শেল"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "সয়ংক্রিয় লগ-ইন"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"আমি আপনার কম্পিউটারকে সয়ংক্রিয়ভাবে একটি ইউজারকে লগইন করার জন্য সেট করতে পারি।"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "এই সুবিধাটি কি আপনি ব্যবহার করতে চান?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "স্বাভাবিক ব্যবহারকারীকে পছন্দ করুন:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "রান করার জন্য উইন্ডো ম্যানেজারকে পছন্দ করুন:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "লাইসেন্স এগ্রিমেন্ট"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "বাহির"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "সংস্করণ মন্তব্য"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "গ্রহণ"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "অস্বীকার"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "ব্যবহার করার জন্য একটি ভাষা পছন্দ করুন"
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "পছন্দনীয় ভাষা"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux বাভিন্ন ভাষা সমর্থন করে।\n"
+"আপনি যেই ভাষাটি ইনস্টল করতে চান তা পছন্দ করুন।\n"
+"ইনস্টল শেষে রি-স্টার্ট করার পরে সেই ভাষাগুলি উপলব্ধ হবে।"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "সমস্থ ভাষা"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "দেশ / স্থান"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "অনুগ্রহ করে তোমার দেশ পছন্দ করো।"
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "উপলব্ধ সমস্থ দেশের নাম এখানে রয়েছে"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "অন্যান্য দেশসমুহ"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "উন্নত"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "ইনপুট মাধ্যম:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "একটিও না"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "শেয়ারিং নেই"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "সব ব্যবহারকারীদের গ্রহণ করো"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "ব্যবস্থা"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr "আপনি কি ব্যবহারকারীদের কিছু ডিরেক্টরি শেয়ার করতে দিতে চান?\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: ঐতিহ্যগত ইউনিক্স ফাইল শেয়ারিং সিস্টেম, যা ম্যাক এবং উইন্ডোজে স্বল্প সমর্থিত।"
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: উইন্ডোজ, ম্যাক ও-এস এক্স এবং অনেক আধুনিক লিনাক্স সিস্টেম কর্তৃক ব্যবহৃত ফাইল "
+"শেয়ারিং সিস্টেম।"
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"আপনি NFS বা SMB ব্যবহার করে ফাইল পাঠাতে পারেন। যেটি আপনি ব্যবহার করতে চান "
+"অনুগ্রহ করে নির্বাচন করুন।"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "userdrake শুরু করো"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "বন্ধ"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"প্রত্যেক ব্যবহারকারী গ্রুপের \"ফাইল ভাগাভাগি\" ভাগাভাগি করতে পারেন। \n"
+"এই গ্রুপে একজণ ব্যবহারকারী যোগ করতে আপনি userdrake ব্যবহার করতে পারেন।"
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "অনুগ্রহপূর্বক লগ-আউট করুন ও তারপর Ctrl-Alt-BackSpace চাপুন"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "পরিবর্তন কার্যকর করার পূর্বে আপনাকে লগ-আউট করে তারপর পুণরায় লগ-ইন করতে হবে"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "টাইমজোন"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "আপনার টাইমজোন কি?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "হার্ডওয়্যারে ঘড়ি GMT-এ সেট করা"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "হার্ডওয়্যারে ঘড়ি GMT-এ সেট করা"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP সার্ভার"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "সয়ংক্রিয়ভাবে সময় মেলাও (NTP ব্যবহার করে)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "লোকাল ফাইল"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+# সাম
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "স্মার্ট কার্ড"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "উইন্ডোজ ডোমেইন"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "SFU যুক্ত সক্রিয় ডিরেক্টরি"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "WinBind যুক্ত সক্রিয় ডিরেক্টরি"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "লোকাল ফাইল:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"লোকাল ফাইলে থাকা ব্যবহারকারীর সকল বিশ্বাসযোগ্যতা ও তথ্যের জন্য লোকাল ব্যবহার করুন"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"কিছু অথবা সব নির্ভরযোগ্যতার আপনার কম্পিউটারকে LDAP ব্যবহার করতে বলুন। LDAP আপনার "
+"অর্গানাইজেশনের বিভিন্ন ধরনের তথ্যকে আরও সুদৃড় করে"
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"সার্বজনীন পাসওয়ার্ড ও গ্রুপ ফাইলসহ আপনি কম্পিউটারের একটি গ্রুপকে একই নেটওয়ার্ক তথ্য "
+"সার্ভিস ডোমেইনে চলার অনুমতি দেবে।"
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "উইন্ডোজ ডোমেইন:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"উইনবাইন্ড আপনার সিস্টেমকে একটি উইন্ডোজ ডোমেইনের তথ্য ও নির্ভরযোগ্য ব্যবহারকারীদের "
+"পুনরুদ্ধারের অনুমতি দেবে।"
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "SFU যুক্ত সচল ডিরেক্টরি:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Winbind যুক্ত সচল ডিরেক্টরি:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP অনুমোদন"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP বেইজ dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP সার্ভার"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "সাধারণ"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "এসএসএল"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "নিরাপত্তা লে-আউট (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "নির্ভরযোগ্য সচল ডিরেক্টরি"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "ডোমেইন"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "সার্ভার"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP ব্যবহারকারীদের ডাটাবেজ"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Anonymous বাইন্ড ব্যবহার করুন "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP ব্যবহারকারী সচল ডিরেক্টরি ব্রাউজ করার অনুমতি দিয়েছে"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "ব্যবহারকারীর পাসওয়ার্ড"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS অনুমোদন"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS ডোমেইন"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS সার্ভার"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"এটার জন্য W2K PDC কাজ করতে, আপনার সম্ভবত admin চালু করার প্রয়োজন হবে: C:\\>net "
+"localgroup \"Pre-Windows 2000 Compatible Access\" সবাইকে /যুক্ত করতে এবং "
+"সার্ভার রিবুট করতে হবে।\n"
+"উইন্ডোজ(TM) ডোমেইনে যুক্ত হওয়ার জন্য আপনাকে ডোমেইন অ্যাডমিনের ব্যবহারকারীনাম/"
+"পাসওয়ার্ডও দিতে হবে।\n"
+"যদি নেটওয়ার্কিং এরই মধ্যে চালু না হয়ে থাকে, তাহলে নেটওয়ার্ক সেটআপ করার পর Drakx "
+"ডোমেইনে যুক্ত হতেচেষ্টা করবে।\n"
+"যদি কোন কারণে এইসেটআপ ব্যর্থ হয় এবং ডোমেইন অনুমোদন কাজ না করে, তাহলে আপনার "
+"উইন্ডোজ(TM) ডোমেইনব্যবহার করতে 'smbpasswd -j DOMAIN -U USER%%PASSWORD' চালান, "
+"এবং সিস্টেম বুট হবার পরঅ্যাডমিন ব্যবহারকারীনাম/পাসওয়ার্ড দিন।\n"
+"'wbinfo -t' কমান্ডটি আপনার অনুমোদিত গোপনীয়তা ভাল কিনা পরীক্ষা করে দেখবে।"
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "অনুমোদিত উইন্ডোজ ডোমেইন"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "ডোমেইন অ্যাডমিনের ব্যবহারকারীনাম"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "ডোমেইন অ্যাডমিনের পাসওয়ার্ড"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "অনুমোদন"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "আ্যাডমিনিস্ট্রেটর (root) পাসওয়ার্ড সেট করুন"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "নির্ভরযোগ্য নিয়ম"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "পাসওয়ার্ড ছাড়া"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "এই পাসওয়ার্ডটি খুবই ছোট (এটা অবশ্যই %d অক্ষরের হতে হবে)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "কোন NIS ডোমেইন ছাড়া ব্রডকাষ্ট ব্যবহার করা যাবেনা"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "টেক্সট মেনুর সাথে LILO"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot -এ বেশী জায়গা নেই"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "আপনি %s পার্টিশনে বুটলোডার ইনস্টল করতে পারবেননা\n"
+
+# renumber = রি-নাম্বার লিখলাম। আসলটা আমি জানিনা
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"পার্টিশন রি-নাম্বার করার কারনে আপনার বুটলোডারের কনফিগারেশন অবশ্যই আপডেট করতে হবে"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"বুটলোডার সঠিকভাবে ইনস্টল হতে পারবেনা। আপনাকে rescue বুট করতে হবে এবং \"%s\" "
+"পছন্দ করতে হবে"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "বুট লোডার রি-ইনস্টল করো"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "কেবি"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "কেবি"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "এমবি"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "জিবি"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "টিবি"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d মিনিট"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "১ মিনিট"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d সেকেন্ড"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV একটি প্রোটোকল যা আপনাকে স্থানীয়ভাবে একটি ওয়েব সার্ভারের ডিরেক্টরি মাউন্ট "
+"করার অনুমতি\n"
+"দেয়, এবং এটাকে একটি স্থানীয় ফাইলসিস্টেম হিসেবে মনে করুন(সরবরাহকৃত ওয়েব সার্ভারটি "
+"WebDAV সার্ভার\n"
+"হিসেবে কন্‌ফিগার করা)। যদি আপনি WebDAV মাউন্ট পয়েন্ত যুক্ত করতে চান, তবে \"নতুন\" "
+"বেছে নিন।"
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "নতুন"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "আন-মাউন্ট"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "মাউন্ট"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "মাউন্ট পয়েন্ট"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "অপশন"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "ত্রুটি"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "অনুগ্রহ করে WebDAV সার্ভারের URL প্রবেশ করান"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL অবশ্যই http:// অথবা https:// দিয়ে শুরু করতে হবে"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "সার্ভার:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "মাউন্ট পয়েন্ট:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "অপশন: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "পার্টিশন করা হচ্ছে"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "সতর্কতার সাথে পড়ো!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "অনুগ্রহ করে প্রথমে আপনার ডাটার একটি ব্যাকআপ করে নিন"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "বাহির"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "অগ্রসর"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"আপনি যদি aboot ব্যবহার করার পরিকল্পনা করে থাকেন, তাহলে ডিষ্কের শুরুতে সাবধানতার "
+"সাথে খালি\n"
+"জায়গা ছেড়ে দিন (২০৪৮ সেক্টরই যথেষ্ট)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "সাহায্য"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "কার্য পছন্দ করুন"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"আপনার একটি বড় মাইক্রসফ্ট উইন্ডোজ পার্টিশন আছে।\n"
+"সেটাকে আগে রি-সাইজ করার জন্য আমি পরামর্শ দিচ্ছি\n"
+"(সেটাকে আগে ক্লিক করুন এবং পরে \"Resize\"-এ ক্লিক করুন)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "অনুগ্রহ করে একটি পার্টিশনে ক্লিক করুন"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "বিস্তারিত"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "কোন হার্ড ড্রাইভ পাওয়া যায়নি"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "অজানা"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "FS জার্নালাইজ করা হয়েছে"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "সোয়াপ"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "উইন্ডোজ"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "অন্যান্য"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "শূণ্য"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "ফাইল সিস্টেমের ধরণ:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "নোটিশ"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "এই পার্টিশনটি রি-সাইজ করার মত না"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "প্রথমে ``Unmount'' ব্যবহার করুন"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "পরিবর্তে ``%s'' ব্যবহার করুন"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "ধরণ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "অন্য একটি পার্টিশন পছন্দ করুন"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "একটি পার্টিশন পছন্দ করুন"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "পূর্বাবস্থা"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "সাধারণ মোডে বদল করো"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "দক্ষ মোডে বদল করো"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "কনফিগারেশন"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "অগ্রসর হবে?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "সংরক্ষণ ছাড়াই বের হও"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "কোন পার্টিশন টেবিল না লিখেই বের হয়ে যাব?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "আপনি /etc/fstab -এর পরিবর্তন সেভ করতে চান?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "পার্টিশন টেবিলের পরিবর্তনগুলি কার্যকর করবার জন্য আপনাকে রা-ষ্টার্ট করতে হবে"
+
+# সাম
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"পার্টিশন %s ফরম্যাট করা প্রয়োজন।\n"
+"অন্যথা fstab এ মাউন্ট পয়েন্ট %s এর কোন এন্ট্রি লেখা হবে না।\n"
+"তবুও বের হয়ে যাব কি?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "সব বন্ধ করো"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "সয়ংক্রিয়ভাবে সাজানো"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "আরও"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "হার্ড ড্রাইভের তথ্য"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "সমস্থ প্রাইমারী পার্টিশনসমূহ ব্যবহৃত হচ্ছে"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "আমি আর পার্টিশন যোগ করতে পারবনা"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"আরও পার্টিশন পাওয়ার জন্য, অনুগ্রহ করে একটি মুছে ফেলুন যাতে করে এক্সটেনডেড পার্টিশন "
+"তৈরী করা যায়"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "পার্টিশন টেবিল সংরক্ষিত করো"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "পার্টিশন টেবিল রিষ্টোর করো"
+
+# ;)
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "পার্টিশন টেবিলকে বাঁচাও"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "পার্টিশন টেবিলকে পুনরায় লোড করো"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "রিমুভেবল মিডিয়া সয়ংক্রিয়ভাবে মাউন্ট করা হচ্ছে"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "ফাইল সিলেক্ট করো"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"ব্যাকআপ পার্টিশন সমান সাইজের ছিলনা\n"
+"এখনো এগুবো?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "পার্টিশন টেবিল বাঁচানো হচ্ছে"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "বিস্তারিত তথ্য"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "আকার পরিবর্তন"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "ফরম্যাট"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID-তে যোগ করো"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVM-এ যোগ করো"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "মুছে ফেলো"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAID থেকে মুছে ফেলো"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM থেকে মুছে ফেলো"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID পরিবর্তন করো"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "loopback-এর জন্য ব্যবহার করো"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "তৈরী করো"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "একটি নতুন পার্টিশন তৈরী করো"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "শুরুর সেক্টর:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "মেগাবাইটে সাইজ:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "ফাইলসিস্টেমের ধরণ:"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "পছন্দ"
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "লজিকাল ভলিউমের নাম"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"আপনি কোন নতুন পার্টিশন তৈরী করতে পারবেন না\n"
+"(যেহেতু আপনি সর্বোচ্চ প্রাইমারী পার্টিশনের সীমায় পৌছে গিয়েছেন)।\n"
+"প্রথমে আপনাকে একটি প্রাইমারী পার্টিশন অপসরন করতে হবে এবং তারপরে এক্সটেনডেড "
+"পার্টিশন তৈরী করতে হবে।"
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "লুকআপ ফাইল রিমুভ করবো?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "%s পার্টিশনের ধরণ পরিবর্তনের পরে সেটার সমস্থ ডাটা হারিয়ে যাবে"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "পার্টিশনের ধরণ পরিবর্তন করো"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "আপনি কোন ফাইলসিস্টেম চান?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2 থেকে ext3-তে পরিবর্তিত হচ্ছে"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "শিরোনাম"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "আপনি %s লুপব্যাক ফাইলকে কোথায় মাউন্ট করতে চান ?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "আপনি %s ডিভাইসকে কোথায় মাউন্ট করতে চান?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"এই পার্টিশনটি লুপব্যাকের জন্য ব্যবহৃত হওয়ার কারনে মাউন্টপয়েন্ট আনসেট করা যাবেনা।\n"
+" আগে লুপব্যাক রিমুভ করুন"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "আপনি কোথায় মাউন্ট করতে চান %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "আকার পরিবর্তন করা হচ্ছে"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT ফাইল সিস্টেমের সীমা (Bound) হিসেব করা হচ্ছে"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "এই পার্টিশনটি রি-সাইজ করার মত না"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "এই পার্টিশনের সমস্থ ডাটা ব্যাকআপ করা উচিত্‍‌"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "%s পার্টিশন রি-সাইজ করার পরে, এই পার্টিশনের সমস্থ ডাটা হারিয়ে যাবে"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "নতুন সাইজটি পছন্দ করুন"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "মেগাবাইটে নতুন সাইজ:"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"পার্টিশনের পুনরাকৃতির পর ডাটার সম্পূর্ণতা নিশ্চিত করার জন্য, \n"
+"উইন্ডোজে(TM) আপনার পরবর্তী বুটে ফাইলসিস্টেম পরীক্ষা চলবে"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "যোগ করার জন্য উপস্থিত একটি RAID পছন্দ করুন"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "নতুন"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "যোগ করার জন্য উপস্থিত একটি LVM পছন্দ করুন"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-এর নাম?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "লুপব্যাকের জন্য এই পার্টিশনটি ব্যবহার করা যাবেনা"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback ফাইলের নাম: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "একটি ফাইলের নাম দিন"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "ফাইলটি আগে থেকেই অন্য একটি লুপব্যাকে ব্যবহৃত হচ্ছে, আরেকটি পছন্দ করুন"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "ফাইল আগে থেকেই আছে, ব্যবহার করব?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "মাউন্ট অপসন"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "বিভিন্ন"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "ডিভাইস"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "লেভেল"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "কিলোবাইট এ chunk সাইজ"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "খুবই সাবধান: এই কাজটি ঝুঁকিপূর্ন।"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "কি ধরণের পার্টিশন হবে?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "পরিবর্তনগুলি অবস্থান নেবার জন্য আপনাকে রি-ষ্টার্ট করতে হবে"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s ড্রাইভের পার্টিশন টেবিল ডিস্কে লিখতে যাচ্ছি!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "পার্টিশন %s -কে ফরমেট করার পরে এই পার্টিশনের সমস্থ ডাটা হারিয়ে যাবে"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "খারাপ ব্লক চেক করব?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "ফাইলগুলিক একটি নতুন পার্টিশনে সরিয়ে ফেলো"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "ফাইল লুকানো হোক"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "ফাইলগুলিকে একটু নতুন পার্টিশনে নিয়ে যাওয়া হচ্ছে"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s কপি করা হচ্ছে"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s মুছে ফেলা হচ্ছে"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "পার্টিশন %s-কে এখন %s নামে জানা যাবে"
+
+# সাম: renumber = পুনর্বিন্যাস?
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "পার্টিশনগুলো পুনঃসংখ্যান করা হয়েছে: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "ডিভাইস:"
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "ভলিউম লেবেল:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS ড্রাইভ লেটার: %s (শুধুমাত্র একটি অনুমান)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "ধরণ:"
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "নাম:"
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "শুরু: সেক্টর %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "সাইজ: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s সেক্টরসমূহ"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "সিলিন্ডার %d থেকে %d পর্যন্ত\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "ফরমেট করা হয়েছে\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "ফরমেট করা হয়নি\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "মাউন্ট করা হয়েছে\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"লুপব্যাক ফাইল(গুলি):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"পার্টিশন সাধারণভাবে বুট হয়েছে\n"
+" (MS-DOS বুটের জনে, lilo-র জন্য নয়)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "লেভেল %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "চাঙ্ক সাইজ %d কিলোবাইট\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-ডিস্কসমূহ %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "লুপব্যাক ফাইলের নাম: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"কারণগুলো হতে পারে, এটি একটি\n"
+"ড্রাইভার পার্টিশন। আপনার উচিত হবে\n"
+"এটাকে এটা ছেড়ে দেয়া।\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"এই বিশেষ বুটস্ট্র্যাপ\n"
+"পার্টিশন হচ্ছে আপনার\n"
+"সিস্টেমের ডুয়াল-বুটিং এর জন্য।\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "শুধুমাত্র পড়া যাবে"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "সাইজ: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "জ্যামিতি: %s-গুলি সিলিন্ডার, %s-গুলি হেড, %s-গুলি সেক্টর\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "তথ্য:"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-ডিস্কসমূহ %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "পার্টিশন টেবিলের ধরণ: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "%d চ্যানেলে %d আইডিতে\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "ফাইল সিস্টেমের এনক্রিপশন কী"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "আপনার ফাইল সিস্টেমের এনক্রিপশন কী পছন্দ করুন"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "এই এনক্রিপশন কী টি খুবই সাধারণ (অবশ্যই %d অক্ষর বড় হতে হবে)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "এনক্রিপশন কীগুলি মিলছেনা"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "এনক্রিপশন কী"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "এনক্রিপশন কী (পুনরায়)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Encryption অ্যালগোরিদম"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "ধরণ বদল করো"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "বাতিল"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "ইউজারনেম %s ব্যবহার করে লগইন করা গেলোনা (নষ্ট পাসওয়ার্ড?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "ডোমেইন অনুমোদন প্রয়োজন"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "কোন্‌ ব্যবহারকারীনাম"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "অন্য একটি"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"হোস্টকে ব্যবহার করার জন্য আপনার ব্যবহারকারীনাম, পাসওয়ার্ড এবং ডোমেইনের নাম প্রবেশ "
+"করান।"
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "ব্যবহারকারীনাম"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "সার্ভার খোজো"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "নতুন সার্ভারের খোজ করো"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s প্যাকেজগুলি ইনস্টল করা প্রয়োজন। আপনি কি ইনস্টল করতে চান?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "%s প্যাকেজটি ইনস্টল করা যায় নি!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "%s আবশ্যিক প্যাকেজ নেই"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "নিম্নোক্ত প্যাকেজসমূহ ইনস্টল করা প্রয়োজন:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "প্যাকেজসমূহ ইনস্টল করা হচ্ছে..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "প্যাকেজসমূহ অপসরণ করা হচ্ছে..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"একটি ভুল হয়ে গেছে - কোন সঠিক যন্ত্র পাওয়া যায়নি যেখানে নতুন ফাইল সিস্টেম তৈরি করা "
+"হবে। অনুগ্রহ করে এই সমস্যার কারণের জন্য আপনার হার্ডওয়্যার পরীক্ষা করুন"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "আপনার /boot/efi -এ অবশ্যই একটি FAT পার্টিশন থাকতে হবে"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s পার্টিশন ফরম্যাট করা হচ্ছে"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s ফাইল তৈরী এবং ফরম্যাট করা হচ্ছে"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "আমার জানা নেই পার্টিশন %s-কে কিভাবে %s ধরণে ফরম্যাট করতে হয়"
+
+# এটাও উল্টে যাবে মানে করতে গেলে। কারন মানেটা দাঁড়াবে <দ্বিতীয় %s কে প্রথম %s ফরম্যাট করা ব্যার্থ হয়েছে>
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s কে %s ফরম্যাট করতে ব্যর্থ হয়েছে"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "সার্কুলার মাউন্টস %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "%s পার্টিশন মাউন্ট করা হচ্ছে"
+
+# এখানে কি করতে হবে? দুটোই %s কিন্তু মানেটা হবে : %s ডিরেক্টরিতে %s পার্টিশন মাউন্ট করা সম্ভব হলোনা।
+# দেখবেন কি করা যাবে...
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "%2$s ডিরেক্টরিতে %1$s পার্টিশন মাউন্ট করা ব্যর্থ হয়েছে"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s পরীক্ষা করা হচ্ছে"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s আনমাউন্টে সমস্যা: %s"
+
+# এনেবল লিখলাম। মানেটা মাথায় আসছেনা
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "%s সোয়াপ পার্টিশন সক্রিয় করো"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "আপনি %s মাউন্ট পয়েন্টের জন্য একটি এনক্রিপটেড ফাইল ব্যবহার করতে পারবেন"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+# #msgstr "%2$s কে %1$s ফরম্যাট করা ব্যর্থ হয়েছে"
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"এই ফাইল সিস্টেমে inode প্রবেশ সময় আপডেট করবেন না\n"
+"(যেমন,নিউজ সার্ভার দ্রুত করতে নিউজ স্পুলে দ্রুত প্রবেশ)।"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"শুধুমাত্র স্পষ্টভাবে মাউন্ট করতে পারে (যেমন,\n"
+")(-a অপশন ফাইল সিস্টেম মাউন্ট করতে দেবে না)।"
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "কোন চিহ্ন বা বিশেষ ব্লক যন্ত্রকে ফাইল সিস্টেমে ব্যাখ্যা করবেন না।"
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"মাউন্টকৃত ফাইল সিস্টেমে কোন বাইনারি এক্সিকিউট করার অনুমতি দেবেন না।\n"
+"এই অপশন সেই সার্ভারের জন্য ব্যবহৃত হতে পারে যেখানে সে তার নিজের চেয়ে\n"
+"অন্যান্য আর্কিটেকচারের বাইনারিগুলো বেশি ধারণ করে।"
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"allow set-user-identifier বা set-group-identifier বিটগুলোকে কোন প্রভাব নেয়ার\n"
+"অনুমতি দেবেন না। (এটা যদিও নিরাপদ দেখাচ্ছে, কিন্তু অনিরাপদ হতে পারে যদি আপনার "
+"suidperl(1))\n"
+"ইনস্টল করা থাকে।)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "ফাইল সিস্টেমকে শুধু পড়ার জন্য মাউন্ট করো।"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "সকল I/O ফাইল সিস্টেম যুগপত্‍ভাবে হওয়া উচিত।"
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "সাধারণ ব্যবহারকারীদের লেখার ক্ষমতা দিন"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "সাধারণ ব্যবহারকারীদের শুধু পড়ার ক্ষমতা দিন"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "%s নকল মাউন্ট পয়েন্ট"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "কোন পার্টিশন বরাদ্দ নেই"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "মাউন্ট পয়েন্ট খোঁজার জন্য পার্টিশনগুলি স্কেন করা হচ্ছে"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "মাউন্ট পয়েন্টগুলি পছন্দ করুন"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "ফরমেট করার জন্য পার্টিশনটি পছন্দ করুন"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"%s ফাইল সিস্টেম পরীক্ষা করতে ব্যার্থ হয়েছে। আপনি কি এই ত্রুটিগুলি সারাতে চান? (মনে "
+"রাখবেন যে আপনি ডাটা হারাতে পারেন)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "ইনস্টলেশন সম্পূর্ন হবার জন্য যথেষ্ট swap জায়গা নেই, অনুগ্রহ করে কিছু যোগ করুন"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"আপনার অবশ্যই একটি root পার্টিশন থাকতে হবে।\n"
+"সেকারণে, একটি পার্টিশন তৈরি করুন (অথবা ইতিমধ্যেই তৈরি একটিতে ক্লিক করুন)।\n"
+"তারপর ``Mount point'' বেছে নিন এবং সেটাকে `/' তে সেট করুন"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"আপনার কোন swap পার্টিশন নেই\n"
+"\n"
+"তবুও আগাবো?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "শুণ্য স্থান ব্যবহার করো"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "নতুন পার্টিশন তৈরী করার জন্য যথেষ্ট পরিমান খালি জায়গা নেই"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "আগের পার্টিশনগুলি ব্যবহার করো"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "ব্যবহারের জন্য এখানে উপস্থিত কোন পার্টিশন নেই"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "লুপ ব্যাকের জন্য উইন্ডোজের পার্টিশন ব্যবহার করো"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Linux4Win-এর জন্য আপনি কোন পার্টিশন ব্যবহার করতে চান?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "সাইজ পছন্দ করো"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "মেগাবাইটে রুট পার্টিশনের সাইজ:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "মেগাবাইটে সোয়াপ পার্টিশনের সাইজ:"
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "লুপব্যাকে ব্যবহারের জন্য কেন FAT পার্টিশন নেই (অথবা পর্যাপ্ত জায়গা নেই)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "উইন্ডোজ পার্টিশনের খালি জায়গা ব্যবহার করে"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "আপনি কোন পার্টিশন রি-সাইজ করতে চান?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT আকার পরিবর্তক আপনার পার্টিশন হস্তক্ষেপ করতে পারেনি, \n"
+"নিম্নের এই সমস্যাগুলো হয়েছে: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "আপনার উইন্ডোজের পার্টিশনের সাইজ হিসেব করা হচ্ছে"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"আপনার উইন্ডোজের পার্টিশনটি প্রচন্ড অসম। অনুগ্রহ করে আপনার কম্পিউটারটি উইন্ডোজে রি-বুট "
+"করে, ``defrag'' ইউটিলিটি চালান, পরে রি-ষ্টার্ট করে আবার মেনড্রক ইনস্টলেশন চালান।"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"সতর্ক বানী!\n"
+"\n"
+"DrakX এখন আপনার উইন্ডোজের পার্টিশন আকার পরিবর্তন করবে।\n"
+"\n"
+"\n"
+"খুবই সাবধান: এই কার্যক্রমটি বিপদজ্জনক। আপনি যদি এরকম আগে করে না থাকেন, তাহলে "
+"আপনাকে ইনস্টলেশন থেকে বের হয়ে, উইন্ডোজের কমান্ডপ্রমপ্ট থেকে \"chkdsk c:\" চালাতে "
+"হবে (লক্ষ্য রাখবেন, \"scandisk\"-এর মত গ্রাফিক্যাল প্রোগ্রামগুলি যথেষ্ট নয়, আপনাকে "
+"অবশ্যই কমান্ডপ্রমপ্ট থেকে \"chkdsk\" চালাতে হবে), ঐচ্ছিকভাবে defrag চালাতে পরেন, "
+"পরে ইনস্টলেশন পুনরায় শুরু করবেন। আপনকে আপনার ডাটা ব্যাকআপ করা উচিত্‍‌।\n"
+"\n"
+"\n"
+"নিশ্চিত্‍‌ হলে %s চাপুন।"
+
+# পরবর্তি
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "পরবর্তী"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "আপনি কোথায় উইন্ডোজের জন্য কোন সাইজটি রাখতে চান পার্টিশনসমূহ %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "মাপ"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "উইন্ডোজ পার্টিশন আকার পরিবর্তন করা হচ্ছে"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT আকার পরিবর্তন ব্যর্থ হয়েছে: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"রি-সাইজ করার জন্য কোন FAT পার্টিশন নেই (অথবা যথেষ্ট পারিমান ফাঁকা জায়গা নেই)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "উইন্ডোজ(TM) মুছে ফেলো"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "সম্পূর্ণ ডিস্ক মুছে ফেলো"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "আপনার একের অধিক হার্ড ড্রাইভ আছে, আপনি কোনটাতে লিনাক্স ইনস্টল করতে চান?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s ড্রাইভে উপস্থিত সমস্থ ডাটা এবং পার্টিশন নষ্ট হয়ে যাবে"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "হাতে হাতে ডিস্ক পার্টিশন"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdisk ব্যবহার করো"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"এখন আপনি %s-কে পার্টিশন করতে পারেন।\n"
+"যখন হয়ে যাবে, তখন `w' চেপে সেভ করতে ভূলবেননা"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "আমি ইনস্টল করার জন্য কোন জায়গা পাচ্ছিনা"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX পার্টিশন সহায়ক এই সমস্থ সমাধান পেয়েছে:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "পার্টিশনে ব্যার্থ: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "১৬ মেগাবাইটের চাইতে ছোট পার্টিশনে আপনি JFS ব্যবহার করতে পারবেন না"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "৩২ মেগাবাইটের চাইতে ছোট পার্টিশনে আপনি ReiserFS ব্যবহার করতে পারবেন না"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr -এর সাথে"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "সার্ভার"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"আমি %s যন্ত্রের পার্টিশন টেবিল পড়তে পাচ্ছি না, এটা আমার জন্য খুবই কলুষিত :(\n"
+"আমি এর উপর দিয়ে কাজ করতে, নষ্ট পার্টশন মুছে ফেলতে চেষ্টা করব(সব ডাটা হারিয়ে "
+"যাবে!)।\n"
+"অন্য সমাধান হচ্ছে Drakx কে পার্টিশন টেবিল পরিবর্তন করার অনুমতি না দেয়া।\n"
+"(ভুল হচ্ছে %s)\n"
+"\n"
+"আপনি কি সব পার্টিশন হারাতে রাজি?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "মাউন্ট পয়েন্টগুলি অবশ্যই / দিয়ে শুরু হতে হবে"
+
+# * = alphanumerical = বাংলাটা মনে পড়ছেনা
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "মাউন্ট পয়েন্টগুলিতে শুধু * অক্ষর থাকবে"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "এই পার্টিশনটি আগে থেকেই %s মাউন্টপয়েন্ট নামে আছে\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"আপনি একটি সফ্টওয়্যার RAID পার্টিশনকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
+"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
+"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "আপনি LVM লজিকাল ভলিউমকে %s মাউন্ট পয়েন্ট হিসেবে ব্যবহার করতে পারবেননা"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"আপনি একটি সফ্টওয়্যার LVM লজিকাল ভলিউমকে রুট (/) হিসেবে নির্বাচন করেছেন।\n"
+"/boot পার্টিশন ছাড়া কোন বুটলোডার এটা হেন্ডেল করতে পারবেনা।\n"
+"অনুগ্রহ করে অবশ্যই একটি /boot পার্টিশন যোগ করুন"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "root ফাইল সিস্টেমের মধ্যে এই ডিরেক্টরি থাকা উচিত"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"এই মাউন্ট পয়েন্টের জন্য আপনার একটি সঠিক ফাইল সিস্টেম (ext2/ext3, reiserfs, xfs, "
+"বা jfs) প্রয়োজন\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "আপনি %s মাউন্ট পয়েন্টের জন্য একটি এনক্রিপটেড ফাইল ব্যবহার করতে পারবেন"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "স্বয়ংক্রিয়-বন্টনের জন্য কোন খালি জায়গা নেই"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "কিছু করার নাই"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "ফ্লপি"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "জিপ"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "ডিস্ক"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "সিডিরম"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "সিডি/ডিভিডি রাইটিং সফ্টওয়্যার"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "ডিভিডি-রোম"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "টেপ"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP কন্ট্রোলার সমূহ"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "ভিডিওকার্ড"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "টিভিকার্ড"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "অন্যান্য মাল্টিমিডিয়া ডিভাইস সমূহ"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "সাউন্ডকার্ড"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "ওয়েব ক্যামেরা"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "প্রসেসর"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN এডোপ্টার সমূহ"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "ইথারনেটকার্ড"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "মডেম"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL এডোপ্টার সমূহ"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "মেমরি"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "প্রিন্টার"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "জয়ষ্টিক"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "কার্ড মডেল:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "ইউএসবি কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "ইউএসবি পোর্টসমূহ"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus কন্ট্রলারসমূহ"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "ব্রীজ এবং সিস্টেম কন্ট্রোলার সমূহ"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "কি-বোর্ড"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "মাউস"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "স্কেনার"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "অজানা/অন্যান্য"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "সিপিউ #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "অনুগ্রহ করে অপেক্ষা করুন.... কনফিগারেশন প্রস্তাব করা হচ্ছে"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "কোন বিকল্প ড্রাইভার নেই"
+
+# বিকল্প
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"আপনার সাউন্ড কার্ড (%s) যা আপনি বর্তমানে ব্যবহার \"%s\" করছেন তার জন্য পরিচিত অন্য "
+"কোন OSS/ALSA কোন ড্রাইভার নেই"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "সাউন্ড কনফিগারেশন"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"এখানে আপনি আপনার সাউন্ড কার্ডের (%s) জন্য বিকল্প ড্রাইভার (হয় OSS অথবা ALSA) পছন্দ "
+"করতে পারেন।"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"আপনি বর্তমানে %s\"%s\" ড্রাইভার ব্যবহার করছেন (আপনার সাউন্ড কার্ডের স্বাভাবিক "
+"ড্রাইভার \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) ছিল প্রথম সাউন্ড API. এটা হচ্ছে একটি ওএস স্বাধীন সাউন্ড "
+"API (এটা বেশিরভাগ UNIX(tm) সিস্টেমে পাওয়া যায়) কিন্তু এটা খুব সাধারণ এবং "
+"স্বল্পসংখ্যক API.\n"
+"নতুন আর কি, OSS ড্রাইভার সব চাকা নতুন করে তৈরি করে।\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) হচ্ছে একটি নিয়ন্ত্রিত আর্কিটেকচার যা\n"
+"ISA, ইউএসবি এবং PCI cards এর একটি বড় সীমা সমর্থন করে।\n"
+"\n"
+"এটা OSS এর চেয়ে বেশি API প্রদান করে\n"
+"\n"
+"alsa ব্যবহার করতে, একজন ব্যবহার করতে পারে:\n"
+"- পুরাতন সমর্থিত OSS api\n"
+"- নতুন ALSA api যা অনেক সুবিধা প্রদান করে কিন্তু ALSA লাইব্রেরী কতৃক ব্যবহৃত।\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "ড্রাইভার"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "ট্রাবল শুটিং"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"পুরাতন \"%s\" ড্রাইভার কালো তালিকা ভুক্ত।\n"
+"\n"
+"এটি কার্ণেল আনলোড করার সময় oops কে রিপোর্ট করে।\n"
+"\n"
+"নতুন \"%s\" শুধুমাত্র পরবর্তী বুটস্ট্র্যাপে ব্যবহৃত হবে।"
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "কোন ওপেন সোর্স ড্রাইভার নেই"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"আপনার সাউন্ড কার্ডের (%s) জন্য কোন ফ্রী ড্রাইভার নেই, কিন্তু একটি অংশিদারী ড্রাইভার "
+"\"%s\"-এ আছে।"
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "কোন পরিচিত ড্রাইভার নেই"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "আপনার সাউন্ড কার্ড (%s)-এর জন্য কোন পরিচিত ড্রাইভার নেই"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "অপরিচিত ড্রাইভার"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "ভুল: আপনার সাউন্ড কার্ডের \"%s\" ড্রাইভারটি তালিকায় নেই"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "সাউন্ড ট্রাবল শুটিং"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"ক্লাসিক বাগ সাউন্ড পরীক্ষক নিম্নলিখিত কমান্ডগুলো চালু করে:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" ডিফল্টভাবে আপনার কার্ড যেই ড্রাইভার \n"
+"ব্যবহার করছে তা আপনাকে বলবে\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" আপনার বর্তমানে ব্যবহৃত \n"
+"ড্রাইভারের কথা বলবে\n"
+"\n"
+"- \"/sbin/lsmod\" যদি এর মডিউল (ড্রাইভার) লোড হয় বা না হয় তবে সে ব্যাপারে "
+"পরীক্ষা \n"
+"করতে আপনাকে সক্রিয় করে তুলবে\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" এবং \"/sbin/chkconfig --list alsa\" যদি\n"
+"সাউন্ড এবং alsa সার্ভিসগুলো initlevel 3 তে চলার জন্য কন্‌ফিগার করা থাকে তাহলে \n"
+"আপনাকে বলবে\n"
+"\n"
+"- \"aumix -q\" যদি সাউন্ড বন্ধ থাকে বা না থাকে তাহলে আপনাকে বলবে\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" কোন প্রোগ্রাম সাউন্ড কার্ড ব্যবহার করছে সেটা বলবে\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "আমাকে যেকোন ড্রাইভার নিতে দাও"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "ইচ্ছেমত ড্রাইভার পছন্দ"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"আপনি যদি মনে করেন যে কোন ড্রাইভার আপনার কার্ডের জন্য ঠিক হবে\n"
+"তাহলে উপরের লিষ্ট থেকে আপনি একটি পছন্দ করে নিতে পারেন।\n"
+"\n"
+"আপনার \"%s\"-এর বর্তমান ড্রাইভার \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "সয়ং-সনাক্ত"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "অজানা|সাধারণ"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "অজানা|CPH05X (bt878) [প্রচুর প্রস্তুতকারক]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "অজানা|CPH06X (bt878) [প্রচুর প্রস্তুতকারক]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"বেশিরভাগ আধুনিক টিভি কার্ডের ক্ষেত্রেই GNU/Linux -এর bttv মডিউল সঠিক প্যারামিটার "
+"সয়ং সনাক্ত করে।\n"
+"যদি আপনার কার্ড সনাক্ত না হয়, আপনি জোর করে এই কার্ডের জন্য সঠিক টিউনার এবং "
+"কার্ডের ধরণ এখানে জোর করে দিতে পারেন। যদি প্রয়োজন হয় তাহলে শুধু আপনার কার্ডের "
+"প্যারামিটার নির্বাচন করুন।"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "কার্ড মডেল:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "টিউনারের ধরণ:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "ঠিক আছে"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "হ্যাঁ"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "না"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "একটি ফাইল পছন্দ করুন"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "যোগ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "পরিবর্তন"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "মুছে ফেলো"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "সমাপ্ত"
+
+# আগে
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "পূর্ববর্তী"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "বাজে পছন্দ, আবার চেষ্টা করুন\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "আপনার পছন্দ? (সাধারনত %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"এই এন্ট্রিগুলি আপনাকে পূরণ করতে হবে:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Your choice? (0/1, সাধারনত `%s')"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "বাটন `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "আপনি কি এই বাটনে ক্লিক করতে চান?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "আপনার পছন্দ? (সাধারনত `%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " সঠিক এন্ট্রর জন্য `void' প্রবেশ করুন"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> (%s)-থেকে পছন্দ করার অনেক কিছু আছে।\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"সম্পাদিত করতে চান আপনার পছন্দের এমন ১০-রেজ্ঞের প্রথম সংখ্যাটিকে অনুগ্রহ করে আপনি "
+"বেছে নিন,\n"
+"অথবা শুধুমাত্র চালিয়ে যাও'তে হিট করুন।\n"
+"আপনার পছন্দ? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> নোটিশ, একটি নাম পরিবর্তিত হয়েছে:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "পুনরায়-পেশ"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "এনডোররা"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "সংযুক্ত আরব আমিরাত"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "আফগানিস্তান"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "আংটিগুয়া এবং বারবুদা"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "অ্যাংগুইল্লিয়া"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "আলবেনিয়া"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "আরমেনিয়া"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "নেদারল্যান্ড এ্যন্টিল্লিস"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "অ্যাংগোলা"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "এন্টার্কটিকা"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "আর্জেন্টিনা"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "আমেরিকান সামোয়া"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "অষ্ট্রিয়া"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "অষ্ট্রেলিয়া"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "অরুবা"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "আজেরবাঈজান"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "বসনিয়া এবং হার্জোগোভিনা"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "বার্বাডোস"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "বাংলাদেশ"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "বেলজিয়াম"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "বুর্কিনা ফাসো"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "বুলগেরিয়া"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "বাহরাইন"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "বুরুন্ডি"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "বেনিন"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "বার্মুডা"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "ব্রুনেই দারুসসালাম"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "বলিভিয়া"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "ব্রাজিল"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "বাহামা"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "ভূটান"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "বৌভেট দীপসমূহ"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "বত্‌সওয়ানা"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "বেলারুস"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "বেলিজে"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "কানাডা"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "কোকোস (কেলিং) দীপসমূহ"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "কঙ্গো (কিংশাসা)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "মধ্য আফ্রিকান গণপ্রজাতন্ত্র"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "কঙ্গো (ব্রাজ্জাভিল্লে)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "সুইজারল্যান্ড"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "কোট ডি'লভোরে"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "কুক দীপপুঞ্জ"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "চিলি"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "ক্যামেরুন"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "চীন"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "কলম্বিয়া"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "কোষ্টা রিকা"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "সারবিয়া এবং মোনটেংগ্র"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "কিউবা"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "কেপ ভার্দে"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "ক্রিসমাস দীপপুঞ্জ"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "সাইপ্রাস"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "চেক রিপাবলিক"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "জার্মানী"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "ডজিবুতি"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "ডেনমার্ক"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "ডোমিনিকা"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "গণপ্রজাতন্ত্রী ডোমিনিকা"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "আলজেরিয়া"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "ইকুয়েডর"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "এস্তোনিয়া"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "মিশর"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "পশ্চিম সাহারা"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "এরিট্রিয়া"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "স্পেন"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "ইথিওপিয়া"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "ফিনল্যান্ড"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "ফুজি"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "ফোকল্যান্ড দীপপুঞ্জ (মালভিনাস)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "মাক্রোনেশিয়া"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "ফারোয় দীপপুঞ্জ"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "ফ্রান্স"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "গ্যাবোন"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "যুক্তরাজ্য"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "গ্রেনেডা"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "জর্জিয়া"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "ফ্রেঞ্জ গায়ানা"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "ঘানা"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "জিব্রাল্টার"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "গ্রীণল্যান্ড"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "জাম্বিয়া"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "গিনি"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "গুয়াদেলুপে"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "ইকুয়েটরিয়াল গিনি"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "গ্রীস"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "দক্ষিন জর্জিয়া এবং দক্ষিন স্যান্ডউইচ্‌ দীপপুঞ্জ"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "গুয়াতেমালা"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "গুয়াম"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "গিনি-বিসাউ"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "গায়ানা"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "হংকং (চীন)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "হার্ড এবং ম্যাকডোনাল্ড দীপপুঞ্জ"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "হন্ডুরাস"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "ক্রোয়েশিয়া"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "হাইতি"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "হাঙ্গেরী"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "ইন্দোনেশিয়া"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "আয়ারল্যান্ড"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "ইসরাঈল"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "ভারত"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "ব্রিটিশ ভারতীয় মহাসাগর সমরাজ্য"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "ইরাক"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "ইরান"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "আইসল্যান্ড"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "ইতালী"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "জামাইকা"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "জর্ডান"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "জাপান"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "কেনিয়া"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "কিরগিজস্তান"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "কম্বোডিয়া"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "কিরিবাতি"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "কমোরোস"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "সেন্ট কিট্টস্‌ এবং নেভিস্‌"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "কোরিয়া (উত্তর)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "কোরিয়া"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "কুয়েত"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "কেম্যান দীপপুঞ্জ"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "কাজাকিস্তান"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "লাওস্‌"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "লেবানন"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "সেইন্ট লুইস"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "লিয়েচ্‌টেনস্তেইন"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "শ্রীলঙ্কা"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "লাইবেরিয়া"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "লেসথো"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "লিথুয়েনিয়া"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "লুক্সেমবার্গ"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "লাটভিয়া"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "লিবিয়া"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "মরক্কো"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "মোনাকো"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "মলডোভা"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "মাদাগাস্‌কার"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "মার্শাল দীপপুঞ্জ"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "ম্যাসিডোনিয়া"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "মালি"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "মিয়ানমার"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "মঙ্গোলীয়া"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "উত্তর মারিয়ানা দীপপুঞ্জ"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "মির্টিনিক্‌"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "মৌরিতানিয়া"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "মন্টসেরাত"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "মাল্টা"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "মরিসাস"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "মালদ্বীপ"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "মালাউ"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "মেক্সিকো"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "মালয়েশিয়া"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "মোজাম্বিক"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "নামিবিয়া"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "নিউ ক্যালেডোনিয়া"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "নাইজার"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "নরফোক দীপপুঞ্জ"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "নাইজেরিয়া"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "নাইসারাগুয়া"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "নেদারল্যান্ড"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "নরওয়ে"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "নেপাল"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "নাউরু"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "নিউও"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "নিউজিল্যান্ড"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "ওমান"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "পানামা"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "পেরু"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "ফ্রেঞ্জ পলিনেশিয়া"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "পাপুয়া নিউগিনি"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "ফিলিপাইন"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "পাকিস্তান"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "পোল্যান্ড"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "সেন্ট পিয়েরে এবং মুকুলন"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "পিটকাইরন"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "পুয়ের্তোরিকো"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "প্যালেস্টাইন"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "পর্তুগাল"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "পারাগুয়ে"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "পালাউ"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "কাতার"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "রিইউনিয়ন"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "রোমানিয়া"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "রাশিয়া"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "রুয়ান্ডা"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "সৌদী আরব"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "সলোমন দীপপুঞ্জ"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "সেইছিল্লেস"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "সুদান"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "সুইডেন"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "সিঙ্গাপুর"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "সেন্ট হেলেনা"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "স্লোভেনিয়া"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "স্ভালবার্দ এবং জান মায়ান দীপপুঞ্জ"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "স্লোভাকিয়া"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "সিয়েররা লেওয়ান"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "সান মেরিনো"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "সেনেগাল"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "সোমালিয়া"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "সুরিনাম"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "সাও টোমি এবং প্রিন্সিপে"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "এই সাল্ভাদোর"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "সিরিয়া"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "সুইজারল্যান্ড"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "টার্ক এবং কাইকোস দীপপুঞ্জ"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "চাদ"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "দক্ষিন ফ্রান্স সাম্রাজ্য"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "টোগো"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "থাইল্যান্ড"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "তাজিকিস্তান"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "তোকেলাউ"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "পূর্ব তিমুর"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "তুর্কমেনিস্তান"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "তানিসিয়া"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "টঙ্গো"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "তুর্কি"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "ট্রিনিদাদ এবং টোবাগো"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "টুভালু"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "তাইওয়ান"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "তানজানিয়া"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "আকরাইসন"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "উগান্ডা"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "যুক্ত রাষ্ট্রের বাহিরের দীপপুঞ্জ"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "যুক্তরাষ্ট্র"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "উরুগুয়ে"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "উজবেকিস্তান"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "ভ্যাটিক্যান"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "সেন্ট ভিনসেন্ট এবং গ্রানাডা"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "ভেনিজুয়েলা"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "ভার্জিন দীপপুঞ্জ (ব্রিটিশ)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "ভার্জিন দীপপুঞ্জ (ইউ.এস)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "ভিয়েতনাম"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "ভানাতু"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "ওয়েলস্ এবং ফুটুনা"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "সামোয়া"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "ইয়েমান"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "মায়োত্তে"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "দক্ষিন আফ্রিকা"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "জাম্বিয়া"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "জিম্বাবুয়ে"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s -এ আপনাকে স্বাগতম"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "প্রথমে লজিকাল ভলিউম সরিয়ে ফেলুন\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"সাবধান: বিনামূল্যের সফ্‌টওয়্যার পেটেন্‌ট মুক্ত হওয়ার প্রয়োজন নেই, এবং কিছু বিনামূল্যের\n"
+"সফ্‌টওয়্যার আপনার দেশ কর্তৃক পেটেন্‌টকৃত হতে পারে। উদাহরণস্বরুপ, অতিরিক্ত ব্যবহারের\n"
+"জন্য MP3 decoder একটি লাইসেন্স যুক্ত থাকে (বিস্তারিত জানার জন্য দেখুন\n"
+"http://www.mp3licensing.com । আপনি যদি অনিশ্চিত হোন যদি এর যেকোন\n"
+"একটি আপনার জন্যও প্রযোজ্য হতে পারে, আপনার স্থানীয় আইন পরীক্ষা করুন।"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"অভিনন্দন, ইনস্টলেশন পুরোপুরিভাবে হয়ে গেছে।\n"
+"দ্নবুট মিডিয়া সরিয়ে ফেলুন, এবং পুনরায় চালু করার জন্য return চাপুন।\n"
+"\n"
+"\n"
+"এই সংস্করণের ম্যান্ড্রিব লিনাক্সের তথ্য এখানে পাওয়া যাচ্ছে,\n"
+"কোন প্রকার সমস্যার সমাধান এখানে পাওয়া যাচ্ছে:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"আপনার সিস্টেম কন্‌ফিগার করার তথ্য অফিসিয়াল ম্যান্ড্রিব লিনাক্স ব্যবহারকারীর গাইডের\n"
+"ইনস্টল হবার পরের অধ্যায়ে পাওয়া যাবে।"
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "ইউ-পি-এস ড্রাইভার কন্‌ফিগারেশন"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "মডিউল কনফিগারেশন"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "আপনি এখানে প্রত্যেক মডিউলের প্যারামিটার কন্‌ফিগার করতে পারেন।"
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s ইন্টারফেসসমূহ পাওয়া গিয়েছে"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "আপনার কি আরও একটি আছে?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "আপনার কি কোন %s ইন্টারফেস আছে?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "হার্ডওয়্যারের তথ্য দেখুন"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "ইউএসবি কন্ট্রোলারের জন্য ড্রাইভার ইনস্টল করা হচ্ছে"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "ফায়ারওয়ার কন্ট্রোলার %s এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "হার্ড ড্রাইভ কন্ট্রোলার %s এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "ইথার্নেট কন্ট্রোলার %s এর জন্য ড্রাইভার ইনস্টল করা হচ্ছে"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s, %s কার্ডের জন্য ড্রাইভার ইনস্টল করা হচ্ছে"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"আপনি এখন হয়তো %s মডিউলের জন্য অপশন প্রদান করবেন\n"
+"লক্ষ্য রাখবেন যাতেকরে প্রবেশ করানো ঠিকানাগুলি 0x প্রিফিক্স দিয়ে হয়, যেমন '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"আপনি এখন %s মডিউলের অপশন পেতে পারেন।\n"
+"অপশনের ফরম্যাট হচ্ছে ``name=value name2=value2 ...''।\n"
+"এই মুহূর্তে, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "মডিউলের অপশন সমূহ:"
+
+# -PO: the %s is the driver type (scsi, network, sound,...)
+# -PO: the %s is the driver type (scsi, network, sound,...)
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "আমি কোন %s ড্রাইভার চেষ্টা করব?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"কোন কোন ক্ষেত্রে, ঠিকমত কাজ করার %s ড্রাইভারের কিছু অতিরিক্ত তথ্য প্রয়োজন, যদিও "
+"এটা \n"
+"স্বাভাবিকভাবে ওগুলো ছাড়াই ভাল কাজ করে। আপনি কি এর জন্য অতিরিক্ত অপশন বেছে "
+"নিতেচান অথবা আপনার\n"
+"মেশিনের প্রয়োজনীয় তথ্য আপনার ড্রাইভার দিয়ে ঠিক করে নিতে চান?\n"
+"সাময়িকভাবে, এটি আপনার কম্পিউটারকে হ্যাং করবে, কিন্তু এটা কোন কিছু নষ্ট করবে না।"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "স্বয়ংক্রিয় পরীক্ষা"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "অপশনসমূহ বর্ননা করুন"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"%s মডিউল লোড করতে ব্যর্থ।\n"
+"আপনি কি অন্য প্যারামিটার দিয়ে আবার চেষ্টা করতে চান?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "মাউন্ট হয়নি:"
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "এই প্লাটফর্মে এক্সটেনডেড পার্টিশন সাপোর্ট করেনা"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"আপনার পার্টিশন টেবিলে একটি ত্রুটি আছে কিন্তু তা আমি ব্যবহার করতে পারছি না।\n"
+"একমাত্র সমাধান হচ্ছে আপনার প্রাইমারি পার্টিশনের ত্রুটিকে Extended পার্টিশনে সরিয়ে "
+"নেয়া। "
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s ফাইল পড়াতে ত্রুটি"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "%s ফাইল থেকে পুনরায় সংরক্ষণ করতে ব্যর্থ হয়েছে: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "নষ্ট ব্যাকআপ ফাইল"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "%s ফাইলে লিখতে সমস্যা হয়েছে"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"আপনার ড্রাইভে কোন সমস্যা ঘটেছে। \n"
+"ডাটা পরীক্ষা করার টেস্ট করতে গিয়ে ব্যর্থ হয়েছে। \n"
+"এর মানে হচ্ছে ডিস্কে কোন কিছু লিখতে গেলে তা বিভিন্ন রকম, সমস্যাযুক্ত ডাটায়গিয়ে শেষ "
+"হয়।"
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "_ফরম্যাটকৃত_ রেইড %s-এ পার্টিশন যোগ করা যাচ্ছে না"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "রেইড স্তর %d-এর জন্য পর্যাপ্ত সংখ্যক পার্টিশন নেই\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "/usr/share/sane/firmware ডিরেক্টরিটি তৈরি করা যায় নি!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "/usr/share/sane/%s লিঙ্কটি তৈরি করা যায় নি!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"ফার্মওয়ার ফাইল %s-কে /usr/share/sane/firmware ডিরেক্টরিতে কপি করা যায় নি!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "ফার্মওয়ার ফাইল %s-এর অনুমতি নির্দিষ্ট করা যায় নি!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "স্ক্যানার-ড্রেক"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "আপনার স্ক্যানার(সমূহ) শেয়ার করার জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করা যায় নি।"
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "আপনার স্ক্যানার(সমূহ) রুট ব্যতীত অপর ব্যবহারকারীগণ ব্যবহার করতে পারবে না।"
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "ভূয়া IPv4 বার্তা গ্রহণে সম্মতি/অসম্মতি জানাও।"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "ব্রডকাস্ট আই.সি.এম.পি. ইকো গ্রহণে সম্মতি/অসম্মতি জানাও।"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "আই.সি.এম.পি. ইকো গ্রহণে সম্মতি/অসম্মতি জানাও।"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "স্বয়ংক্রিয় লগ-ইন অনুমোদন/নিষিদ্ধ করো"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"এটির মান \"ALL\" হলে /etc/issue ও /etc/issue.net উভয়কেই অবস্থান করতে দেওয়া "
+"হয়।\n"
+"\n"
+"আর এটির মান NONE হলে কোনটিকেই রাখা হয় না।\n"
+"\n"
+"অন্যথায় শুধুমাত্র /etc/issue-কেই রাখা হয়।"
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "কনসোল ব্যবহারকারী কর্তৃক রিবুট অনুমোদন/নিষিদ্ধ করো।"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "দূরবর্তী কম্পিউটার থেকে রুট অ্যাকাউন্টে লগ-ইন অনুমোদন/নিষিদ্ধ করো।"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "সরাসরি রুট অ্যাকাউন্টে লগ-ইন অনুমোদন/নিষিদ্ধ করো।"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"ডিসপ্লে ব্যবস্থাপকে ব্যবহারকারীদের তালিকা প্রদর্শন অনুমোদন/নিষিদ্ধ করো (কে.ডি.এম. "
+"এবং জি.ডি.এম.)।"
+
+# সাম
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"রুট অ্যাকাউন্ট থেকে ব্যবহারকারী বদলানোর সময় ডিসপ্লে এক্সপোর্ট করা অনুমোদন/নিষিদ্ধ "
+"করো। pam_xauth(8) তে বিস্তারিত দেখুন।'"
+
+# সাম
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X সংযোগ অনুমোদন/নিষিদ্ধ করো:\n"
+"\n"
+"- সব (সব সংযোগ অনুমোদিত),\n"
+"\n"
+"- স্থানীয় (শুধুমাত্র স্থানীয় মেশিন থেকে সংযোগ),\n"
+"\n"
+"- একটিও না (কোন সংযোগ অনুমোদিত নয়)।"
+
+# sam: argument = আর্গুমেন্ট?
+# argument
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"এই প্রেরিত মান নির্দেশ করে ক্লায়েন্টগুলো নেটওয়ার্ক থেকে tcp পোর্ট ৬০০০ দিয়ে X "
+"সার্ভারে সংযুক্ত হতে অনুমদিত কিনা।"
+
+# সাম
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"অনুমোদন করো:\n"
+"\n"
+"- tcp_wrappers কর্তৃক নিয়ন্ত্রিত সকল সার্ভিস (hosts.deny(5) man page দেখুন) যদি "
+"\"ALL\" সেট করা থাকে,\n"
+"\n"
+"- শুধু স্থানীয় যদি \"LOCAL\" সেট করা থাকে,\n"
+"\n"
+"- কোনটি নয় যদি \"NONE\" সেট করা থাকে।\n"
+"\n"
+"আপনার প্রয়োজনীয় সার্ভিসগুলোকে অনুমোদন করতে, /etc/hosts.allow ব্যবহার করুন (hosts."
+"allow(5) দেখুন)।"
+
+# সাম: incomplete
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"/etc/security/msec/security.conf এ SERVER_LEVEL\n"
+"(বা SECURE_LEVEL, যদি অনুপস্থিত থাকে) যদি ৩ এর বেশী হয়, তবে\n"
+"/etc/security/msec/server এ নির্দেশ করার জন্য\n"
+"symlink /etc/security/msec/server তৈরী করে।<SERVER_LEVEL>.\n"
+"\n"
+"chkconfig --add, /etc/security/msec/serve টি ব্যবহার করে প্যাকেজ\n"
+"ইনস্টলেশনের সময় ফাইলে অবস্থিত সার্ভিস যোগ করার ব্যপারে\n"
+"সিদ্ধান্ত নেয়।"
+
+# সাম
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"ব্যবহারকারীদের জন্য crontab এবং at সক্রিয়/নিষ্ক্রিয় করো।\n"
+"\n"
+"অনুমোদিত ব্যবহারকারীদের /etc/cron.allow এবং /etc/at.allow এ রাখো (man at(1)\n"
+"ও crontab(1) দেখুন)।"
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "কনসোল ১২ তে syslog রিপোর্ট সক্রিয়/নিষ্ক্রিয় করো"
+
+# সাম: name resolution = নাম বিশ্লেষন?
+# 'name resolution' is translated in various ways in this file.
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"নাম বিশ্লেষন স্পুফিং প্রতিরক্ষা ব্যবস্থা সক্রিয়/নিষ্ক্রিয় করো। যদি\n"
+"\"%s\" সত্য হয়, তবে syslog এও রিপোর্ট করো।"
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "নিরাপত্তা সতর্কতা:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "আই.পি. স্পুফিং প্রতিরক্ষা ব্যবস্থা সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "সিস্টেমে libsafe পাওয়া গেলে তা সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "IPv4-এর সন্দেহজনক প্যাকেট সম্পর্কে লগ লেখা সক্রিয়/নিষ্ক্রিয় করো।"
+
+# FIXME
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "msec-এর ঘন্টা প্রতি নিরাপত্তা পরীক্ষা সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"শুধুমাত্র wheel গ্রুপের ব্যবহারকারীদের জন্য অথবা যে কোন ব্যবহারকারীর জন্য su সক্রিয় "
+"করো।"
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "ব্যবহারকারীর পরিচয় প্রমাণের জন্য পাসওয়ার্ড ব্যবহার করো।"
+
+# FIXME
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "ইথারনেট কার্ডের বহুরূপী পরীক্ষা সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "দৈনিক নিরাপত্তা পরীক্ষা সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "একক ব্যবহারের ক্ষেত্রে (Single user level) sulogin(8) সক্রিয়/নিষ্ক্রিয় করো।"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"msec কর্তৃক পাসওয়ার্ড পুরনো হয়ে যাওয়ার যে পরীক্ষা, তা থেকে এই নামকে বাদ দাও।"
+
+# সাম: not sure about the word বয়:বৃদ্ধি
+# aging
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "পাসওয়ার্ড বয়স \"max\" এবং পরিবর্তনে বিলম্ব \"inactive\" এ সেট করো।"
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"পাসওয়ার্ডের পুনঃব্যবহার রোধকল্পে পাসওয়ার্ডের ইতিহাস-তালিকার দৈর্ঘ্য নির্দিষ্ট করো।"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"পাসওয়ার্ডের সর্বনিম্ন দৈর্ঘ্য এবং পাসওয়ার্ডে ধারনকৃত সর্বনিম্ন সংখ্যক অঙ্ক এবং বড়হাতের "
+"অক্ষর সংখ্যা নির্দিষ্ট করো।"
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "রুট-এর umask নির্দিষ্ট করো।"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "এটির মান হ্যাঁ হলে, উন্মুক্ত পোর্টসমূহ পরীক্ষা করো।"
+
+# sam: yes = হ্যাঁ?
+# at many palces 'yes' is kept 'yes'
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"যদি হ্যাঁ সেট করা থাকে, পরীক্ষা কর:\n"
+"\n"
+"- পাসওয়ার্ড ফাঁকা কিনা,\n"
+"\n"
+"- /etc/shadow তে পাসওয়ার্ড অনুপস্থিত কিনা\n"
+"\n"
+"- root ছাড়া কারো id ০ কিনা।"
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"এটির মান হ্যাঁ হলে, ব্যবহারকারীর ব্যক্তিগত ফোল্ডারের ফাইলসমূহের অনুমতি পরীক্ষা করে।"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"এটির মান হ্যাঁ হলে, নেটওয়ার্ক ডিভাইসগুলো প্রমিসকাস (Promiscuous) মোডে আছে কিনা তা "
+"পরীক্ষা করে।"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "এটির মান হ্যাঁ হলে, দৈনিক নিরাপত্তা পরীক্ষা চালাও।"
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "এটির মান হ্যাঁ হলে, sgid ফাইলের অন্তর্ভুক্তি/অপসারণ পরীক্ষা করো।"
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+"এটির মান হ্যাঁ হলে, /etc/shadow ফাইলে ফাঁকা পাসওয়ার্ড আছে কিনা তা পরীক্ষা করো।"
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "এটির মান হ্যাঁ হলে, suid/sgid ফাইলের চেকসাম (Checksum) পরীক্ষা করো।"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "এটির মান হ্যাঁ হলে, suid রুট ফাইলসমূহের অন্তর্ভুক্তি/অপসারণ পরীক্ষা করো।"
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "এটির মান হ্যাঁ হলে, কোন মালিকানাবিহীন ফাইল থাকলে তা জানাও।"
+
+# FIXME: অর্থ বুঝতেসিনা ;-(
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "এটির মান হ্যাঁ হলে, সকলের পরিবর্তনযোগ্য ফাইল/ডিরেক্টরি পরীক্ষা করো"
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "এটির মান হ্যাঁ হলে, chkrootkit-এর সাহায্যে পরীক্ষা চালাও।"
+
+# FIXME
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"এটিতে টিক দেওয়া থাকলে মেইল সংক্রান্ত রিপোর্ট এই ই-মেইল ঠিকানায় অথবা রুট-এর নিকট "
+"প্রেরণ করা হয়।"
+
+# সাম
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "যদি হ্যাঁ সেট করা থাকে, পরীক্ষার ফলাফল মেইল করে দাও।"
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "কোন বিষয়ে সতর্ক করার না থাকলে মেইল প্রেরণ করবে না"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "এটির মান হ্যাঁ হলে, আর.পি.এম. ডেটাবেসের ওপর কিছু পরীক্ষা চালাও।"
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "এটির মান হ্যাঁ হলে পরীক্ষার ফলাফল syslog-এ প্রেরণ করে।"
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "এটির মান হ্যাঁ হলে পরীক্ষার ফলাফল tty-এ প্রেরণ করে।"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"শেল কমান্ডের ইতিহাস-তালিকার (History) আকার নির্দিষ্ট করো। এর মান -১ হওয়ার অর্থ "
+"তালিকার কোন নির্দিষ্ট আকার নেই।"
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "শেল টাইম-আউট নির্দিষ্ট করো। এর মান ০ হওয়ার অর্থ কোন টাইম-আউট নেই।"
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "টাইম-আউটের একক হল সেকেন্ড"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "ব্যবহারকারীর umask নির্দিষ্ট করো।"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "ভূয়া IPv4 সমস্যাসূচক বার্তা অনুমোদন করো"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "ব্রডকাস্ট আই.সি.এম.পি. ইকো অনুমোদন করো"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "আই.সি.এম.পি. ইকো অনুমোদন করো"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* বিদ্যমান"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "কনসোল ব্যবহারকারী কর্তৃক রিবুট"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "দূরবর্তী কম্পিউটার থেকে রুট অ্যাকাউন্টে লগ-ইন করা অনুমোদন করো"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "সরাসরি রুট অ্যাকাউন্টে লগ-ইন"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+"ডিসপ্লে ব্যবস্থাপকে (কে.ডি.এম. ও জি.ডি.এম.) ব্যবহারকারীদের তালিকা প্রদর্শন করো"
+
+# সাম: Export =?
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "root থেকে অন্য ব্যবহারকারীতে বদলানোর সময় ডিসপ্লে এক্সপোর্ট করো"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "এক্স উইন্ডো সংযোগ অনুমোদন করো"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "এক্স উইন্ডোর সাথে টি.সি.পি. সংযোগ অনুমোদন করো"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "tcp_wrappers কর্তৃক নিয়ন্ত্রিত সকল সার্ভিস অনুমোদন করো"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig, msec-এর নিয়মাবলী মেনে চলে"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "ব্যবহারকারীদের জন্য \"crontab\" ও \"at\" সক্রিয় করো"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog ১২ নং কনসোলে বার্তা পাঠায়"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "নেইম রেজলুশন স্পুফিং প্রতিরক্ষা"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "আই.পি. স্পুফিং প্রতিরক্ষা ব্যবস্থা সক্রিয় করো"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "সিস্টেমে libsafe থাকলে তাকে সক্রিয় করো"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "IPv4-এর সন্দেহজনক প্যাকেট সম্পর্কে লগ রাখার ব্যবস্থা সক্রিয় করো"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "প্রতিঘন্টায় msec নিরাপত্তা পরীক্ষা সক্রিয় করো"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"শুধুমাত্র wheel গ্রুপের সদস্যদের জন্য অথবা সকল ব্যবহারকারীর জন্য su ব্যবহারের সুযোগ "
+"সক্রিয় করো"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "ব্যবহারকারীর পরিচয় পরীক্ষার জন্য পাসওয়ার্ড ব্যবহার করো"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "ইথারনেট কার্ডের বহুরূপীতা (Promiscuity) পরীক্ষা"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "দৈনিক নিরাপত্তা পরীক্ষা"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "একক ব্যবহারের ক্ষেত্রে sulogin(8)"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "এটির জণ্য পাসওয়ার্ডের বয়স বৃদ্ধি ঘটবে না"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "পাসওয়ার্ড বাতিলকরণ ও অ্যাকাউন্ট নিষ্ক্রিয়করণের সময়সীমা নির্দিষ্ট করুন"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "পুরনো পাসওয়ার্ডের তালিকার দৈর্ঘ্য"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "পাসওয়ার্ডের সর্বনিম্ন দৈর্ঘ্য ও এতে অবস্থিত অঙ্ক ও বড় হাতের অক্ষরের সংখ্যা"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "রুট-এর umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "শেল চালিত পুরনো কমান্ডের তালিকার আকার"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "শেল টাইম-আউট"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "ব্যবহারকারীর umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "উন্মুক্ত পোর্ট আছে কিনা পরীক্ষা করো"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "অনিরাপদ অ্যাকাউন্ট আছে কিনা পরীক্ষা করো"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "ব্যবহারকারীর ব্যক্তিগত ডিরেক্টরিতে অবস্থিত ফাইলের অনুমতি পরীক্ষা করো"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "নেটওয়ার্ক ডিভাইসসমূহ প্রমিসকাস (Pormiscuous) মোডে আছে কিনা তা পরীক্ষা করো"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "দৈনিক নিরাপত্তা পরীক্ষা চালাও"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "sgid ফাইলের অন্তর্ভুক্তি/অপসারণ পরীক্ষা করো"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "/etc/shadow ফাইলে ফাঁকা পাসওয়ার্ডের উপস্থিতি পরীক্ষা করো"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "suid/sgid ফাইলের চেকসাম (Checksum) পরীক্ষা করো"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "suid রুট ফাইলের অন্তর্ভুক্তি/অপসারণ পরীক্ষা করো"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "মালিকানাবিহীন ফাইলের উপস্থিতি জানাও"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "সকলের পরিবর্তনযোগ্য ফাইল/ডিরেক্টরি আছে কিনা তা পরীক্ষা করো"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "chkrootkit পরীক্ষা চালাও"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"এটিতে টিকে দেওয়া থাকলে, এই ই-মেইল ঠিকানায় অথবা রুট-এর নিকট মেইলের মাধ্যমে "
+"রিপোর্ট প্রেরণ করো"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "মেইলের সাহায্যে পরীক্ষার ফলাফল জানাও"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "আর.পি.এম. ডেটাবেসের ওপর কিছু পরীক্ষা চালাও"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "syslog-কে পরীক্ষার ফলাফল জানাও"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "tty-এ পরীক্ষার ফলাফল লিখো"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "ক্র্যাকারগণকে স্বাগতম"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "অপর্যাপ্ত"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "সাধারণ"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "উন্নত"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "অধিকতর উন্নত"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "মাত্রাতিরিক্ত"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"এই স্তরকে সতর্কতার সাথে ব্যবহার করতে হবে। এটি সিস্টেমের ব্যবহার সহজ করে তুললেও, "
+"সিস্টেমের নিরাপত্তা\n"
+"হ্রাস করে। ইন্টারনেটে বা অন্যান্য কম্পিউটারের সাথে যুক্ত সিস্টেমে এই স্তরে নিরাপত্তা "
+"ব্যবহার করা উচিত্‍ নয়।\n"
+"এক্ষেত্রে কোন পাসওয়ার্ড ব্যবহার করা হয় না।"
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"পাসওয়ার্ড ব্যবস্থা এখন সক্রিয় হলেও, কম্পিউটারটিকে নেটওয়ার্কের সাথে যুক্ত না করার "
+"পরামর্শই দেওয়া যাচ্ছে।"
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"যে সব কম্পিউটার ক্লায়েন্ট হিসেবে ইন্টারনেটের সাথে যুক্ত হয়, তাদের সাধারণ নিরাপত্তার "
+"জন্য এই স্তরের নিরাপত্তা গ্রহণের পরামর্শ দেওয়া যাচ্ছে।"
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"ইতিমধ্যেই কিছু সীমাবদ্ধতা আরোপ করা হয়েছে, এবং প্রতিরাতে স্বয়ংক্রিয়ভাবে আরো কিছু "
+"পরীক্ষা চালানো হবে।"
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"এই স্তরের নিরাপত্তা গ্রহণের মাধ্যমে সিস্টেমটিকে সার্ভার হিসেবে ব্যবহার করা নিরাপদ "
+"হয়ে ওঠেছে।\n"
+"যে পরিমাণ নিরাপত্তা ব্যবস্থা গ্রহণ করা হয়েছে তাতে সিস্টেমটি নিরাপদেই সার্ভার "
+"হিসেবে অসংখ্য ক্লায়েন্টের\n"
+"সাথে সংযোগ স্থাপন করতে পারবে। বিশেষ দ্রষ্টব্য: যদি আপনার সিস্টেমটি ইন্টারনেটের "
+"সাথে শুধুই\n"
+"ক্লায়েন্ট হিসেবে যুক্ত হয়, তবে আরো নিম্ন স্তরের নিরাপত্তা বেছে নিন।"
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"এটি পূর্বতন স্তরের মতই, তবে সিস্টেমটি এখন সম্পূর্ণ রুদ্ধ এবং সর্বোচ্চ নিরাপত্তা স্তরে "
+"রয়েছে।"
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "সিকিউরিটি"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "ড্রেকসেক-এর প্রাথমিক অপশন"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "অনুগ্রহপূর্বক আকাঙ্খিত নিরাপত্তা মাত্রা বেছে নিন"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "নিরাপত্তা স্তর"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "সার্ভারের জন্য libsafe ব্যবহার করো"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "একটি লাইব্রেরি, যা বাফার ওভারফ্লো ও ফরমেট স্ট্রিং আক্রমণ প্রতিরোধ করে।"
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "নিরাপত্তা বিষয়ক অ্যাডমিনিস্ট্রেটর (লগ-ইন বা ই-মেইল)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "ALSA (Advanced Linux Sound Architecture) সাউন্ড সিস্টেম চালু করো"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "অ্যানাক্রোন একটি পর্যায়ক্রমিক কমান্ড শিডিউলার (Scheduler) ।"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"ব্যাটারির অবস্থা পর্যবেক্ষণ এবং পর্যবেক্ষণলব্ধ তথ্য syslog ব্যবহার করে সংরক্ষণ করার "
+"জন্য apmd ব্যবহার করা হয়।\n"
+"এছাড়া ব্যাটারির চার্জ কমে গেলে কম্পিউটার বন্ধ করার কাজেও এটি ব্যবহার করা যায়।"
+
+# সাম: batch = ?
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"at কমান্ড দিয়ে শিডিউলকৃত কমান্ডগুলো নির্ধারিত সময়ে চালাবে, এবং যখন গড় চাপ\n"
+"যথেষ্ট কম থাকে, তখন batch কমান্ডগুলো চালাবে।"
+
+# সাম
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron একটি আদর্শ UNIX প্রোগ্রাম যা কিনা ব্যবহারকারী‌-নির্দশিত প্রোগ্রামসমূহ নিয়মিত\n"
+"ও নির্ধারিত সময়ে চালনা করে। vixie cron, মৌলিক UNIX cron এর সাথে আরও কিছু\n"
+"বৈশিষ্ট যোগ করে, যেমন উন্নত নিরাপত্তা ও শক্তিশালী কনফিগারেশন অপশনসমূহ।"
+
+# সাম
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM একটি ফাইল পর্যবেক্ষণ daemon। এটি ফাইলে কোন পরিবর্তন হলে তার রিপোর্ট পেতে "
+"ব্যবহৃত হয়।\n"
+"GNOME এবং KDE এটি ব্যবহার করে থাকে"
+
+# সাম
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM, Midnight Commander এর মত টেক্সট‌-নির্ভর Linux অ্যাপলিকেশনসমূহে\n"
+"মাউস সাপোর্ট যোগ করে। এটি দিয়ে মাউস-নির্ভর কনসোল কাটো-ও-সাঁটো অপারেশন সম্ভব হয় "
+"এবং এটি কনসোলে\n"
+" পপ-আপ মেনুও সমর্থন করে।"
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"হার্ডড্রেক একটি হার্ডওয়ার সনাক্তকারক চালায়\n"
+"এবং কখনো কখনো নতুন/পরিবর্তিত হার্ডওয়ার কনফিগার করে।"
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"অ্যাপাচি একটি ওয়ার্ল্ড ওয়াইড ওয়েব সার্ভার। এটি এইচ.টি.এম.এল. ফাইল ও সি.জি.আই. "
+"পরিবেশনে ব্যবহৃত হয়।"
+
+# সাম
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"ইন্টারনেট সুপারসার্ভার daemon (সাধারণত বলা হয় inetd) প্রয়োজন অনুযায়ী\n"
+"বিভিন্ন ইন্টারনেট সার্ভিস শুরু করে। এটির অধীনে অনেক সার্ভিস চালু হয়,\n"
+"যেমন telnet, ftp, rsh, এবং rlogin। inetd নিষ্ক্রিয় করলে এটির অধীনে থাকা\n"
+"সব সার্ভিস বন্ধ হয়ে যাবে।"
+
+# সাম
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"লিনাক্স কার্নেল ২.২ এর জন্য প্যাকেট শোধন শুরু করুন, যা কিনা\n"
+"একটি ফায়ারওয়াল সেটআপ করে আপনার মেশিনকে নেটওয়ার্কের আক্রমন থেকে রক্ষা করবে।"
+
+# সাম
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"এই প্যাকেজটি /etc/sysconfig/keyboard এ সেট করা নির্বাচিত কীবোর্ড\n"
+"ম্যাপটি লোড করে। kbdconfig ইউটিলিটি ব্যবহার করে এটি নির্বাচন করা যেতে পারে।\n"
+"বেশিরভাগ মেশিনের জন্য আপনার এটি সক্রিয় রাখা উচিত।"
+
+# সাম: সিওর না।
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"/boot এ /usr/include/linux/{autoconf,version}.h এর জন্য\n"
+"কার্নেল হেডারের স্বয়ংক্রিয় পুনর্সম্পাদন"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "বুট হওয়ার সময় স্বয়ংক্রিয়ভাবে হার্ডওয়ার সনাক্তকরণ ও কনফিগারেশন।"
+
+# সাম
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf, বুটের সময় বিভিন্ন কাজের আয়োজন করে যাতে সিস্টেম\n"
+"কনফিগারেশন ঠিক থাকে।"
+
+# সাম
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd একটি প্রিন্ট daemon এবং lpr সঠিকভাবে কাজ করার জন্য প্রয়োজন। এটি মুলত\n"
+"একটি সার্ভার যা কিনা প্রিন্টিং এর কাজগুলো প্রিন্টারগুলোর মাঝে সঠিকভাবে বিতরণ করে।"
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"লিনাক্স ভার্চুয়াল সার্ভার উচ্চ কার্যসম্পন্ন এবং উচ্চ সুবিধা সম্পন্ন সার্ভার তৈরীতে\n"
+"ব্যবহৃত হয়।"
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) একটি ডোমেইন নাম সার্ভার (ডি.এন.এস.) যা হোস্ট-নাম থেকে আইপি ঠিকানা "
+"সমাধানে ব্যবহৃত হয়।"
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"সকল নেটওয়ার্ক ফাইল সিস্টেম (এন.এফ.এস.), এস.এম.বি. (ল্যান ব্যবস্থাপক/উইন্ডোজ),\n"
+"এবং এন.পি.সি. (নেটওয়ার) মাউন্ট অবস্থানকে মাউন্ট ও আনমাউন্ট করে।"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"বুট হওয়ার সময় যে সব নেটওয়ার্ক ইন্টারফেস চালু করা হয়\n"
+"তাদের সকলকে সক্রিয়/নিষ্ক্রিয় করে।"
+
+# সাম
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS, TCP/IP নেটওয়ার্ক এর উপর ফাইল শেয়ার করার একটি জনপ্রিয় প্রোটকল।\n"
+"এই সার্ভিসটি NFS সার্ভারকে কর্মক্ষম করে, যা কিনা /etc/exports ফাইল দিয়ে\n"
+"কনফিগার করা হয়।"
+
+# সাম: functionality
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS, TCP/IP নেটওয়ার্ক এর উপর ফাইল শেয়ার করার একটি জনপ্রিয় প্রোটকল।\n"
+"এই সার্ভিসটি NFS ফাইল লকিং বৈশিষ্ট কর্মক্ষম করে।"
+
+# সাম
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"বুট এর সময়, console এবং Xorg এর অধীনে স্বয়ংক্রিয়ভাবে\n"
+"numlock কী লকার সক্রিয় করো।"
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "OKI 4w ও তার সাথে সংগতিপূর্ণ উইনপ্রিন্টার সমর্থন করে।"
+
+# সাম:
+# things = ডিভাইস?
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA সাপোর্ট সাধারণত ইথারনেট এবং ল্যাপটপের মোডেম জাতীয়\n"
+"ডিভাইস সমর্থন করে। এটি কনফিগার করা ছাড়া সক্রিয় হয় না, অতএব যেসব মেশিনে প্রয়োজন "
+"নেই\n"
+"সেখানেও এটি ইনস্টল করা যেতে পারে।"
+
+# সাম
+# portmap
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper টি RPC সংযোগ ব্যবস্থাপনায় নিয়োজিত, যটি NFS ও NIS এর\n"
+"মত প্রোটকলগুলোব্যবহার করে থাকে। যেসব মেশিন RPC পদ্ধতি ব্যবহার করে এমন প্রোটকলের\n"
+"সার্ভার হিসেবে কাজ করে, সেসব মেশিনে portmap সার্ভারটি চালু থাকতে হবে।"
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"পোস্টফিক্স একটি মেইল ট্রান্সপোর্ট এজেন্ট, এটি এমন একটি প্রোগ্রাম যা এক কম্পিউটার থেকে "
+"অন্য কম্পিউটারে মেইল স্থানান্তর করে।"
+
+# সাম
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"উন্নততর অনিয়মিত সংখ্যা উত্‍পাদনের জন্য সিস্টেম এনট্রোপি পুল সংরক্ষণ\n"
+"ও পুনরুদ্ধার করে। "
+
+# সাম
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Oracle বা DVD প্লেয়ার অ্যাপ্লিকেশন ব্যবহার করার জন্য, raw ডিভাইসগুলোকে ব্লক ডিভাইস"
+"(যেমন হার্ড ড্রাইভ পার্টিশনসমূহ) হিসেবে নির্দিষ্ট করে দিন।"
+
+# সাম
+# routed translated as রাউটেড
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"রাউটেড daemon টি স্বয়ংক্রিয় IP রাউটার টেবিল, RIP প্রোটকল দ্বারা আপডেট করতে "
+"সাহায্য করে। যদিও RIP প্রোটকল ছোট নেটওয়ার্কের জন্য বহুল ব্যবহৃত, জটিল নেটওয়ার্কের "
+"জন্য আরও জটিল রাউটিং প্রোটকল প্রয়োজন।"
+
+# সাম
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat প্রোটোকলটি নেটওয়ার্ক ব্যবহারকারীদের ঐ নেটওয়ার্কে অবস্থিত\n"
+" যেকোন মেশিনের কার্যক্ষমতা সম্পর্কীয় পরিমাপকগুলো পেতে সাহায্য করে। "
+
+# সাম
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers প্রোটকলটি নেটওয়ার্ক ব্যবহারকারীদের অন্যান্য সংযুক্ত মেশিনের\n"
+"লগকৃত ব্যবহারকারীদের সনাক্ত করতে সাহায্য করে।"
+
+# সাম
+# প্রোটকল
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho প্রোটোকলটি রিমোট ব্যবহারকারীদেরকে, rwho daemon (finger এর মত) চালাচ্ছে এমন "
+"মেশিনে লগইন করা ব্যবহারকারীদের একটি তালিকা দেয়।"
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "আপনার কম্পিউটারের সাউন্ড সিস্টেম চালু করে"
+
+# সাম
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog ব্যবহার করে daemon সমূহ বিভিন্ন সিস্টেম লগ ফাইলে লগ বার্তা\n"
+"লিখে থাকে। অতএব, সবসময় Syslog চালিয়ে রাখা ভালো।"
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "ইউ.এস.বি. ডিভাইসের ড্রাইভার লোড করে।"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "এক্স ফন্ট সার্ভার চালু করে (Xorg চালানোর জন্য এটি বাধ্যতামূলক)।"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "প্রিন্টিং"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "ইন্টারনেট"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "ফাইল শেয়ারকরণ"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "সি"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "দূর-নিয়ন্ত্রিত অ্যাডমিনিস্ট্রেশন"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "ডেটাবেস সার্ভার"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "সার্ভিস সমূহ"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "বুট হওয়ার সময় যে সব সার্ভিস স্বয়ংক্রিয়ভাবে চালু হবে তাদের বেছে নিন"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "সার্ভিস সমূহ: %d সক্রিয় হয়েছে %d রেজিষ্টারের জন্য"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "চলন্ত"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "স্থগিত"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "সার্ভিসসমূহ এবং ড্যেমনসমূহ"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"দুঃখিত, এই সার্ভিসটি সম্পর্কে\n"
+"অতিরিক্ত আর কোন তথ্য নেই।"
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "তথ্য"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "অনুরোধের ভিত্তিতে সচল করো"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "বুট করার সময় চালু করো"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "আরম্ভ"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "বন্ধ"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"এটি একটি ফ্রী সফটওয়ার; ফ্রী সফটওয়ার ফাউন্ডেশন কর্তৃক প্রকাশিত জী-এন-ইউ জেনারেল "
+"পাবলিক লাইসেন্স-এর ২য় বা পরবর্তী\n"
+"কোন সংস্করণের (এটি আপনার ইচ্ছাধীন) শর্তাবলী অনুসরণ করে একে আপনি পুনঃবিতরণ এবং/"
+"অথবা পরিবর্তন করতে পারবেন।\n"
+"\n"
+"প্রোগ্রামটি এই আশায় বিতরণ করা হচ্ছে যে, এটি আপনার উপকারে আসবে, যদিও এ ব্যাপারে "
+"কোন নিশ্চয়তা প্রদান করা হচ্ছে না;\n"
+"এমনকি ক্রয়-বিক্রয় বা কোন বিশেষ কাজের ক্ষেত্রে প্রোগ্রামটির উপযুক্ততার ব্যাপারেও কোন "
+"নিশ্চয়তা প্রদান করা হচ্ছে না।\n"
+"বিস্তারিত জানার জন্য জী-এন-ইউ জেনারেল পাবলিক লাইসেন্স দেখুন।\n"
+"\n"
+"এই প্রোগ্রামের সাথে গনিউ জেনারেল পাবলিক লাইসেন্সের একটি প্রতিলিপি আপনার পাওয়ার "
+"কথা; কোন কারণে যদি তা না পেয়ে থাকেন, তবে এই ঠিকানায় লিখুন - Free Software "
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+# সাম
+# পুনরুদ্ধার
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"ব্যাকআপ ও পুনরুদ্ধার অ্যাপ্লিকেশন\n"
+"\n"
+"--default : ডিফল্ট ডিরেক্টরি সংরক্ষণ করো।\n"
+"--debug : সব ডিবাগ বার্তা দেখাও।\n"
+"--show-conf : সংরক্ষণ করতে হবে এমন ডিরেক্টরির তালিকা।\n"
+"--config-info : কনফিগারেশন ফাইল অপশনসমূহ ব্যখ্যা কর (যারা X ব্যবহারকারী "
+"নয়)।\n"
+"--daemon : daemon কনফিগারেশন ব্যবহার কর।\n"
+"--help : এই ম্যাসেজটি দেখাও।\n"
+"--version : ভার্সান নাম্বার দেখাও।\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"অপশনসমূহ:\n"
+" --boot - বুট লোডার কন্‌ফিগারে সক্রিয়\n"
+" --splash - বুট থিম কন্‌ফিগারে সক্রিয়\n"
+"ডিফল্ট মোড: স্বয়ংক্রিয়ভাবে কন্‌ফিগার হতে বলার মোড"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[অপশনসমূহ] [প্রোগ্রামের নাম]\n"
+"\n"
+"অপশনসমূহ:\n"
+" --help - এই সহায়ক বার্তা ছাপাও\n"
+" --report - প্রোগ্রামটিকে কোন একটি ম্যান্ড্রিব লিনাক্স টুল হওয়া উচিত\n"
+" --incident - প্রোগ্রামটিকে কোন একটি ম্যান্ড্রিব লিনাক্স টুল হওয়া উচিত"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"একটি নেটওয়ার্ক ইন্টারফেস যুক্ত করো\" উইজার্ড\n"
+" --del - \"একটি নেটওয়ার্ক ইন্টারফেস মেছে ফেলো\" উইজার্ড\n"
+" --skip-wizard - সংযুক্তি ম্যানেজ করো\n"
+" --internet - ইন্টারনেট কন্‌ফিগার করো\n"
+" --wizard - --add এর মতো"
+
+# সাম:
+# and gs for ghostscript for only this one...
+# did not translate "for only this one"...
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"ফন্ট ইমপোর্ট ও মনিটরিং অ্যাপ্লিকেশন\n"
+"\n"
+"অপশন:\n"
+"--windows_import : সব বিদ্যমান উইন্ডোজ পার্টিশন থেকে ইমপোর্ট করো।\n"
+"--xls_fonts : xls থেকে যেসব ফন্ট আছে সেগুলো দেখাও\n"
+"--install : যেকোন ফন্ট ফাইল বা ডিরেক্টরি গ্রহন করো।\n"
+"--uninstall : যেকোন ফন্ট ফাইল বা ডিরেক্টরি আনইনস্টল করো।\n"
+"--replace : যদি আগেই থেকে থাকে তবে সেই ফন্টগুলো প্রতিস্থাপন করো\n"
+"--application : ০ কোন অ্যাপ্লিকেশন নয়।\n"
+" : ১ সব অ্যাপ্লিকেশন সমর্থন করো।\n"
+" : name_of_application staroffice এর জন্য so \n"
+" : এবং ghostscript এর জন্য gs।"
+
+# সাম
+# Mandriva Linux Terminal
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Linux টার্মিনাল সার্ভার কনফিগারকারী\n"
+"--enable :MTS সক্রিয় করো\n"
+"--disable : MTS নিষ্ক্রিয় করো\n"
+"--start : MTS চালু করো\n"
+"--stop : MTS বন্ধ করো\n"
+"--adduser : MTS এ একটি ইতিমধ্যে তৈরী সিস্টেম ব্যবহারকারী যোগ করো "
+"(username প্রয়োজন)\n"
+"--deluser : MTS থেকে একটি ইতিমধ্যে তৈরী সিস্টেম ব্যবহারকারী বাদ দাও "
+"(username প্রয়োজন)\n"
+"--addclient : MTS এ একটি ক্লায়েন্ট মেশিন যোগ কর (MAC অ্যাড্রেস, IP, nbi "
+"ইমেজ নাম প্রয়োজন)\n"
+"--delclient : MTS থেকে একটি ক্লায়েন্ট মেশিন বাদ দাও (MAC অ্যাড্রেস, IP, nbi "
+"ইমেজ নাম প্রয়োজন)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[কি-বোর্ড]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+# সাম
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"নেটওয়ার্ক ও ইন্টারনেট সংযোগ ও মনিটরিং অ্যাপ্লিকেশন\n"
+"\n"
+"--defaultintf interface : এই ইন্টারফেসটি ডিফল্ট ইন্টারফেস হিসেবে দেখাও\n"
+"--connect : ইন্টারনেট সংযুক্তি না থাকলে সংযুক্ত করো\n"
+"--disconnect : সংযুক্ত হয়ে থাকলে সংযোগ বিচ্ছিন্ন করো\n"
+"--force : (dis)connect এর সাথে ব্যবহৃত হয় : সংযুক্ত/বিচ্ছিন্ন হতে বাধ্য করো।\n"
+"--status : সংযুক্ত হলে ১ ও বিচ্ছিন্ন হলে ০ পাঠায়, তারপর বের হয়ে যায়।\n"
+"--quiet : ব্যবহারকারীর সাথে তথ্য আদান-প্রদান করো না। (dis)connect এর সাথে "
+"ব্যবহার করার জন্য।"
+
+# সাম
+# verify
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation Mandriva Update মোডে প্রথম নিশ্চিতকরন প্রশ্ন জিজ্ঞাসা "
+"করো না\n"
+" --no-verify-rpm প্যাকেজ স্বাক্ষর নিরীক্ষা করো না\n"
+" --changelog-first বর্ণনা উইন্ডোতে filelist এর আগে changelog দোখাও\n"
+" --merge-all-rpmnew প্রাপ্ত সকল .rpmnew/.rpmsave ফাইলগুলো একীভূতকরণের "
+"পরামর্শ দাও"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [সকলকিছু]\n"
+" XFdrake [--noauto] মনিটর\n"
+" XFdrake রেজ্যুলুশন"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"ব্যবহার: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "সার্ভার যোগ করো"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "দক্ষিন আফ্রিকা"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "অষ্ট্রিয়া"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "দক্ষিন আফ্রিকা"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "ম্যাসিডোনিয়া"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "দক্ষিন আফ্রিকা"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "হং কং"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "রুশ ফেডারেশন"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "যুগোস্লাভিয়া"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "এটা কি সঠিক?"
+
+# সাম
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "কোন ফাইল বেছে নেয়া হয়নি"
+
+# সাম
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "আপনি একটি ফাইল নির্বাচন করেছেন, ডিরেক্টরি নয়"
+
+# সাম
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "আপনি একটি ডিরেক্টরি নির্বাচন করেছেন, ফাইল নয়"
+
+# সাম
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "এই নামে কোন ডিরেক্টরি নেই"
+
+# সাম
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "এই নামে কোন ফাইল নেই"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "ট্রী প্রসারিত করো"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "ট্রী সংকীর্ন করো"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "ফ্ল্যাট এবং গ্রুপের শ্রেণীর মধ্যে পরিবর্তন করো"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s ইনস্টল হয়নি\n"
+"ইনস্টল করার জন্য \"পরবর্তি\" অথবা বাতিল করতে \"বাতিল\" ক্লিক করুন"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "ইনস্টলেশন ব্যর্থ হয়েছে"
+
+#~ msgid "Icon"
+#~ msgstr "আইকন"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "ক্যাপচার বাফারের সংখ্যা:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap'ed ক্যাপচারের জন্য ক্যাপচার বাফারের সংখ্যা"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL সেটিং:"
+
+#~ msgid "Radio support:"
+#~ msgstr "রেডিও সাপোর্ট:"
+
+#~ msgid "enable radio support"
+#~ msgstr "রেডিও সাপোর্ট সক্রিয় করো"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/br.po b/perl-install/share/po/br.po
new file mode 100644
index 000000000..6f028a56f
--- /dev/null
+++ b/perl-install/share/po/br.po
@@ -0,0 +1,6301 @@
+# DrakX e Brezhoneg.
+# Copyright (C) 1999-2005 Mandriva
+# Thierry Vignaud <tvignaud@mandriva.com>, 1999-2007
+# Jañ-Mai Drapier <jan-mai.drapier@mail.dotcom.fr>, 1999-2000
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 10.2\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-02-01 00:52+0100\n"
+"Last-Translator: Thierry Vignaud <tvignaud@mandriva.com>\n"
+"Language-Team: Brezhoneg <ofisk@wanadoo.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1;plural=0\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Gortozit mar plij"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "O staliañ ar c'harger loc'hañ"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Staliadur ar c'harger loc'hañ zo sac'het. Degouezhet eo ar fazi a heul :"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Rann gentañ ar bladenn (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Rann gentañ ar parzhadur kentañ"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "War bladennig"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Tremen e-biou"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Staliadur LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Pelec'h e mennit staliañ ar c'harger loc'hañ ?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Kefluniadur giz al loc'hañ"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Dibarzhoù pennañ ar c'harger loc'hañ"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Karger loc'hañ"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Karger loc'hañ da implijout"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Trobarzhell loc'hañ"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Dibarzhoù pennañ"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Gedvezh kent loc'hañ ar skeudenn dre ziouer"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Bevaat ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Bevaat APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Bevaat APIC lec'hel"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Tremenger"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "An tremegerioù ne glot ket"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Klaskit adarre mar plij"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Gellout a rit implij ur ger tremen gant %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Tremenger (adarre)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Strishaat dibarzhoù al linenn urzhiañ"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "strishaat"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Didalvout eo « Strishaat dibarzhoù al linenn urzhiañ » hep tremenger"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Skarañ /tmp bep ma loc'her"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Spisait ment ar memor bev diouzh ret (kavet %d Mo)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Roit ment ar memor vev e Mo"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr ""
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr ""
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "RK dre ziouer ?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Skeudenn"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Gwrizienn"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Ouzhpennañ en diwezh"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mod video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profil rouedad"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Skridennad"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Dre ziouer"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "N'eo ket video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Berzet eo ar skridennadoù goullo"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Ret eo deoc'h kaout ur skeudenn kalon"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Ret eo deoc'h kaout ur parzhadur gwrizienn"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "En implij eo ar skridennad-se endeo"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Pe seurt enmont a vennit ouzhpennañ ?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Reizhiadoù all (SunOS ...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Reizhiadoù all (MacOS ...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Reizhiadoù all (Windows ...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Setu da heul an enmontoù liesseurt.\n"
+"Gallout a rit ouzhpennañ lod pe gemmañ a re a zo."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "Aotreañ « su »"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(ouzhpennet %s endeo)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Roit un anv arveriad mar plij"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"An anv arveriad a zle bezañ ennañ lizherennoù munut, sifroù, `-' ha `_' "
+"hepken"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Re hir eo an anv arveriad-se"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "En implij eo an anv arveriad-se endeo"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID an arveriad"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID ar strollad"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "red eo da bezañ un niver %s"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Ouzhpennañ un arveriad"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Skrivit un arveriad\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Graet"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Aotren an arveriad"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Anv gwirion"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Anv ereañ"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Emereañ"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Kefluniañ ho urzhiataer evit lañsañ X ent emgefreek gant un arveriad a "
+"c'hellañ."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Implij an arc'hwel-mañ"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Dibabit an arveriad dre ziouer :"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Dibabit ar merour prenestrer da seveniñ :"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Emglev an aotre"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Kuitaat"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Cheñchamentoù"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Plijout a ra din"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ne blij ket din"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Dibabit ar yezh da implijout, mar plij."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Dibab ho yezh"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Gallout a rit dibab yezhoù all hag a vo hegerz goude staliañ"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Meur a yezh"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Kodadur kozh (n'eo ket UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "An holl yezhoù"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Bro / Rannvro"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Dibabit hor bro, mar plij."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Setu eo listenn leun ar broioù holl"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Broioù all"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Barek"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Hentenn enkas :"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Hini ebet"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "N'eo ket lodañ"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Aotreiñ pep arveriad"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personelañ"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Lañsañ userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Serriñ"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Dizereit mar plij ha neuze implijit Ctrl-Alt-WarGil"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Takad-eur"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Pe seurt a vo ho takad-eur ?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Kefluniadur an deizid, an eurier hag an amzer"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Peseurt hini zo an amzer gwelloc'h ?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (war UTC eo lakaet ho eurier periantel)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (war GMT eo lakaet ho eurier periantel)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Servijer NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Restr lec'hel"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Card"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Domani Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory gant SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory gant Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Restr lec'hel :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP :"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS :"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Domani Windows :"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory gant SFU :"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory gant Winbind :"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Dilesadur LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Servijer LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "eeun"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "reizhadur ar surantez (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr ""
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domani"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servijer"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Stlennvon an arveriaded LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Tremenger evit an arveriad"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Dilesadur NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Domani NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Servijer NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Dilesadur Domani Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Anv merour an domani"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Tremenger merour an domani"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Dilesadur"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Termeniñ tremenger ar merour (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Hentenn dilesadur"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Tremenger ebet"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Re eeun eo an tremenger-se (%d arouezenn zo ret d'an nebeutañ)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "N'hellañ ket implijout ar skignañ hep domani NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Degemer mat en dibaber reizhiad oberia !\n"
+"\n"
+"Dibabit an dibaber reizhiad pe\n"
+"gortozit \n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO gant meuziad skrid"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB gant meuziad grafek"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB gant meuziad skrid"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "n'eus ket a-walc'h egor e /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Ne mennit ket staliañ ar c'harger loc'hañ war ur parzhadur %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Red eo da vremañat kefluniadur ho karger loc'hañ peogwir e oa cheñchet niver "
+"ar parzhiadurioù"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"N'hell ket bet staliet ar c'harger loc'hañ. Dao eo deoc'h loc'hañ gant ar "
+"bladenn skoazell ha dibab « %s »"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Staliañ ar c'harger loc'hañ c'hoazh"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "O"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "Ko"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Mo"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Go"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "To"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d munutennoù"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 munutenn"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d eilenn"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "mankout a ra an urzhiad %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nevez"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Divarc'hañ"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Marc'hañ"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Poent marc'hañ"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Dibarzhoù"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fazi"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Skrivit URL ar servijer WebDAV mar plij"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Ezhom en deus an URL da gregiñ gant http:// pe https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servijer : "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Poent marc'hañ : "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Dibarzhoù : %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "O parzhañ"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lennit aketus !"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Gwarezit ho roadoù da gentañ mar plij"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Kuitaat"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Kenderc'hel"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"M'emaoc'h e soñj implijout aboot, taolit evezh leuskel un egor dieub (2048 "
+"rann\n"
+"zo a-walc'h) e deroù ar bladenn"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Skoazell"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Dibabit un obererezh"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Unan barzhadur Microsoft Dos/Windows bras hoc'h eus.\n"
+"Aliañ a ran ouzoc'h adventañ ar parzhadur-se\n"
+"(klikit warni, da c'houde klikit ouzh \"Adventañ\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Klikit ouzh ur parzhadur mar plij"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Munudoù"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "N'eo ket pladenn ebet"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Anavez"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "RR gant ur levr-bourzh"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Disloañ"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "All"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Goullo"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Seurt ar reizhiadoù restroù :"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Ho evezh"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Goullo eo ar barzhadur-se c'hoazh"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Implijit « Divarc'hañ » da gentañ"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Grit kentoc'h gant « %s »"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Seurt"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Dibabit ur parzhadur all"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Dibabit ur parzhadur"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Dizober"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Tremen er mod boas"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Tremen er mod mailh"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Kadarnadur"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Kenderc'hel evelato ?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Kuitaat hep enrollañ"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Kuitaat hep skrivañ an daolenn barzhañ ?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Mennout a rit skrivañ kemmoù /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Ret eo deoc'h adloc'hañ evit ma talvezo kemmoù an daolenn barzhañ"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Skarañ an holl"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Ac'hubiñ ent emgefreek"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Mui"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Titouroù ar bladenn"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Ac'hubet eo an holl barzhadurioù kentañ renk"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "N'hellan ouzpennañ parzhadur ebet ken"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Evit kaout muioc'h a barzhadurioù, lamit unan evit ma c'hellot krouiñ ur "
+"parzhadur astennet mar plij"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "N'eus Supermount ebet"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount evit CDROMoù hepken"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Skrivañ an daolenn barzhañ"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Adaozañ an daolenn barzhañ"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Taolenn barzhañ saveteerezh"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Adkargañ an daolenn barzhañ"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Emvarc'hañ ar skoroù lem/laka"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Dibabit ar restr"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"N'eo ket heñvel ment an daolenn barzhañ gwarezet\n"
+"Kenderc'hel memestra ?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "O klask assevel an daolenn barzhañ"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Titouroù gant munudoù"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Adventañ"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Furmadiñ"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Ouzhpennañ da RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Ouzhpennañ da LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Dilemel"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Lemel diwar RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Lemel diwar LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Kemmañ RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Implij da saveteiñ"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Krouiñ"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Krouiñ ur parzhadur nevez"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Rann kregiñ : "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Ment e Mo : "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Seurt ar reizhiad restroù : "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Dibarzh : "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Anv al levrenn poellek "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Lemel ar restr saveteiñ ?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Goude kemmañ seurt ar parzhadur %s, holl roadoù ar parzhadur-se a vo kollet"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Kemmañ seurt ar parzhadur"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Pe seurt reizhiad restroù a vennit ?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Gwintañ eus ext2 da ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Pe anv levrenn ?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Skridennad :"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Pelec'h e mennit marc'hañ ar restr saveteiñ %s ?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Pelec'h e mennit marc'hañ an drobarzhell %s ?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"N'hellan ket dizober ar poent marc'hañ dre m'eo implijet ar parzhadur-se\n"
+"evit saveteiñ. Lamit ar saveteiñ da gentañ"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Pelec'h e mennit marc'hañ an %s ?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Oc'h adventañ"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "O jediñ bevennoù ar reizhiad restroù FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "N'hellan ket adventañ ar parzhadur-se"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Mat e vije gwareziñ holl roadoù ar parzhadur-se"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Goude adventañ ar parzhadur %s e vo kollet holl roadoù ar parzhadur-se"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Dibabit ar ment nevez"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ment nevez e Mo : "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Ment izelañ : %s Mo"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Ment uhelañ : %s Mo"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Dibabit da be RAID ouzhpennañ"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nevez"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Dibabit da be LVM ouzhpennañ"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Anv LVM ?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Implijet eo al levrenn fizikel %s c'hoazh.\n"
+"Mennout a rit dilec'hiañ al levrennioù fizikel implijet deus al levrenn-mañ "
+"war unan all ?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "O fiñval al levrennioù fizikel"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "N'heller ket implijout ar parzhadur-mañ evit saveteiñ"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Saveteiñ"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Anv ar restr saveteiñ : "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Roit ur anv restr"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Restr implijet gant ur saveteiñ all endeo, dibabit unan all"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Ar restr zo endeo. E implijout ?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Dibarzhoù marc'hañ"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "A bep sort"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "trobarzhell"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "live"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "ment diaoz (KiO)"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Bezit war evezh : arvarus eo an obererezh-mañ."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Peseurt eo ar parzhadur ?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Ret e vo deoc'h adloc'hañ a-raok ma talvezo ar c'hemm"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "War-nes bezañ skrivet war bladenn eo taolenn barzhañ an ardivink %s !"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Goude furmadiñ ar parzhadur %s, holl roadoù ar parzhadur-se a vo kollet"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Gwiriañ ar bloc'hoù siek ?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Dilec'hiañ retroù er parzhadur nevez"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Kuzhat ar restroù"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "O tilec'hiañ retroù er parzhadur nevez"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Adskrivañ %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Lemel %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "ar parzhadur %s 'zo %s bremañ"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Kemmet eo niverennoù ar parzhadurioù : "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Trobarzhell : "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Anv al levrenn : "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Lizher ar bladenn DOS : %s (diwar varteze hepken)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Seurt : "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Anv : "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "O kregiñ : rann %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Ment : %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s rann"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Kranenn %d da %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Niver a levrennioù poellek : %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Furmadet\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "N'eo ket furmadet\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Marc'het\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Restr(où) saveteiñ :\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Parzhadur loc'het dre ziouer\n"
+" (evit loc'hañ MS-DOS, ket evit lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Live %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Ment diaoz %d KiO\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Pladennoù RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Anv ar restr saveteiñ : %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Lenn-hepken"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Ment : %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Mentoniezh : %s kranenn, %s penn, %s rann\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Titouroù : "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Pladennoù LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Seurt taolenn barzhañ : %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "war kanol %d Nn %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Alc'hwez enrinegadur ar reizhiad restroù"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Dibab hoc'h alc'hwez enrinegadur ar reizhiad restroù"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Re eeun eo an alc'hwez enrinegadur-se (%d arouezenn zo ret d'an nebeutañ)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "An alc'hwezoù enrinegadur ne glot ket"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Alc'hwez enrinegadur"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Alc'hwez enrinegadur (adarre)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritm enrinegadur"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Kemmañ seurt"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Nullañ"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+"N'hellan ket ereañ gant an anv arveriad %s (n'eo ket mat an tremenger ?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Peseurt anv"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Unan all"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "Roit ho anv arveriad, ho tremenger hag ho anv domain evit an ostiz-se"
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Anv arveriad"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Klask servijerioù"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Klask servijerioù nevez"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Ar pakad %s zo war-nes bezañ staliet. Mennout a rit staliañ anezhañ ?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "N'eo ket evit staliañ ar pakad %s !"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Mankout a ra ar pakad ret %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Ar pakadoù a-heul zo war-nes bezañ staliet :\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "O staliañ pakadoù ..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Lemel pakadoù ..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"C'hoarvezet ez eus ur fazi - n'eus bet kavet trobarzhell reizh ebet a-benn "
+"krouiñ reizhiadoù restroù nevez warni. Gwiriit abeg ar gudenn-mañ en ho "
+"ardivinkaj mar plij "
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Ret eo deoc'h kaout ur parzhadur FAT marc'het war /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "O furmadiñ ar parzhadur %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "O krouiñ hag o furmadiñ ar restr saveteiñ %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "N'ouzon ket penaos furmadiñ %s er seurt %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "furmadiñ ar seurt %s eus %s zo sac'het"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Marc'hañ kelc'hiek %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "O zivarc'hañ ar parzhadur %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "sac'het eo mac'hañ ar barzhadur %s er renkell %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "O wiriañ %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "fazi en ur zivarc'hañ %s : %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Bevañ ar barzhadur disloañ %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Implijit ur reizhiad restroù enrineget"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Mountañ ar reizhiad restroù en el lenn-hepken."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Moaein zo da varc'hañ ar reiziad restroù gant un arveriad."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Poent marc'hañ doubl %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Parzhadur ebet"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "O klask ar parzhadurioù evit kavout poentoù marc'hañ"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Dibabit ar poentoù marc'hañ"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Dibabit ar parzhadurioù da furmadiñ"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"N'eus ket a-walc'h a zisloañ evit peurstaliañ, kreskit anezhañ mar plij"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Ret eo deoc'h kaout ur parzhadur gwrizienn.\n"
+"Evit se, krouit ur parzhadur (pe glikit ouzh unan a zo c'hoazh).\n"
+"Da c'houde dibabit an ober « Poent marc'hañ » ha lakait anezhañ da `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"N'eus parzhadur disloañ ebet.\n"
+"\n"
+"Fellout a ra deoc'h mont war raok evelato ?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Implij an egor dieub"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "N'eus ket a-walc'h egor dieub evit parzhadurioù nevez"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Implijit ar parzhaduroù a zo dija"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "N'eus parzhadur da implij ebet"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Implij ar barzhadur Microsoft Windows® evit saveteiñ"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Pe barzhadur a vennit implijout evit lakaat Linux4Win ?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Dibabit ar mentoù"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Ment ar barzhadur kentañ e Mo : "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Ment ar barzhadur disloañ e Mo : "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"N'eus ket ur barzhadur FAT evit saveteiñ (n'eus ket a-walc'h egor dieub)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Implijit an egor dieub war ar barzhadur Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Pe seurt parzhadur a vennit furmadiñ ?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"N'eus ket moaien d'adenvañ ho parzhadur gant an adventer FAT,\n"
+"degouezhet ez eus ar fazi a-heul : %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "O jediñ ment ar barzhadur Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"HO EVEZH !\n"
+"\n"
+"\n"
+"Ezhomm en deus DrakX adventañ ho parzhadur Windows bremañ.\n"
+"\n"
+"\n"
+"Bezit war evezh : arvarus eo an obererezh-se. Ma n'hoc'h eus ket graet "
+"c'hoazh, gwelloc'h e vije deoc'h seveniñ da gentañ scandisk (ha diouzh ret "
+"seveniñ defrag) war arparzhadur-se, ha gwareziñ ho roadoù.\n"
+"\n"
+"\n"
+"Pa vezit sur, gwaskit « %s »"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "A heul"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Da beseurt rann e mennit dilec'hiañ ?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Ment"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Oc'h adventañ ar barzhadur Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Fazi en un adventañ ar barzhadur FAT : %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "N'eus ket ur barzhadur FAT d'adventañ (n'eus ket a-walc'h egor dieub)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Lemel Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Chetañ hag implij an holl planedenn"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Meur a bladenn oc'h eus. Pehini oc'h eus c'hoant da implij evit staliñ "
+"Linux ?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Ar parzhadurioù HOLL o vezañ hag e vo kollet holl roadoù war ar bladenn %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Parzhaduroù diouzoc'h"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Implijit fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Gallout a rit bremañ parzhañ ho pladenn galet %s.\n"
+"Pa 'z eo graet, na zisoñjit ket enrollañ dre implijout `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "N'hellan ket kavout plas da staliañ"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Kinnig eo deoc'h gant ar skoazeller parzhadur DrakX :"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Fazi en ur parzhañ : %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "N'hellit ket implij JFS evit ar parzhadurioù bihanioc'h evel 16Mo"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "N'hellit ket implij ReiserFS evit ar parzhadurioù bihanioc'h evel 32Mo"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "gant /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servijer"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"N'hellañ ket lenn an taolenn barzhañ an drobarzhell %s, re vrein eo "
+"evidon :\n"
+"(\n"
+"Klask a rin kenderc'hel en ur ziverkañ ar parzhadurioù siek (Kollet e vo "
+"HOLL ROADOÙ ar bladenn-se).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(%s eo ar fazi)\n"
+"\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Poentoù marc'hañ a rank kregiñ gant /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Bez' ez eus ur parzhadur e boent marc'hañ %s endeo\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Choizh o'ch eus oc'h implij RAID evit gwrizienn (/).\n"
+"N'eus ket moaien da loc'hañ hep ur barzhadur /boot.\n"
+"Bezit sur oc'h eus ouzhpennet ur barzhadur /boot"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Ne mennit ket implij al levrenn poellek LVM evit ar poent marc'hañ %s "
+"peogwir e vez implijet meur a levrenn fizikel gantañ"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Choizh o'ch eus oc'h implij LVM evit gwrizienn (/).\n"
+"N'eus ket moaien da loc'hañ gant /boot war meur a levrenn fizikel.\n"
+"Mat vije deoc'h krouiñ ur barzhadur loc'hañ da gentañ"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Red eo d'ar renkell-mañ da vezañ er reizhiad restroù gwrizienn"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Red eo da implij ur gwir reizhiad restroù (ext2/ext3, reiserfs, xfs, pe jfs) "
+"evit ar poent marc'hañ-mañ\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"N'hell ket bet implijet ur reizhiad restroù enrineget evit ar poent marc'hañ "
+"%s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Netra d'ober"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Pladennig"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Pladenn"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Engraverioù CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bandenn"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Kartennoù AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Kartenn video"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Kartenn DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Kartenn skinwel"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Trobarzhelloù liesvedia all"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Kartenn son"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webkam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Kewerierioù"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Kartennoù ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Trobarzhelloù kwelet USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Kartennoù radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Kartennoù rouedad ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Kartennoù rouedad WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Trobarzhelloù Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Kartenn rouedad"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Kartennoù ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memor"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Moullerez"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Kartennoù lanker-c'hoari"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Lanker-c'hoari"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Kartennoù SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Kartennoù RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Kartennoù (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, fuzzy, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Trobarzhelloù kwelet USB"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Gobari ar gartenn :"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Kartennoù Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Kartennoù PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Kartennoù SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Kartennoù USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Porzhioù USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Kartennoù SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Pontoù ha kontrolleroù ar reizhiad"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Stokellaoueg"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablezenn ha skramm stekiñ"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Logodenn"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Eiltreser"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Anavez/All"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "kewerier # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Gortozit mar plij, o lakaat ar c'hefluniadur"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "N'eus sturier all ebet"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"N'eus sturier all (OSS pe ALSA) evit ho kartenn gwelet (%s). Implij eo ar "
+"sturier « %s » ganti."
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Kefluniadur gwelet"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Amañ e c'hellit dibab ur sturier all (OSS pe ALSA) evit ho kartenn kwelet (%"
+"s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Implij a ra ho kartenn kwelet ar sturier %s « %s » bremañ (ar sturier a-"
+"ziouer zo « %s » eviti)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Sturier :"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Defaziañ"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "N'eo ket ur mollad dieub"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Mollad anavez"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "N'eus sturier ebet evit ho kartenn gwelet (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Mollad anavez"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Fazi : n'eo ket rollet ar sturier « %s » evit ho kartenn gwelet"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Defaziañ un diaster klevet"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Choazh ur sturier"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Choazh ur sturier dre ziouer"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Dinoiñ dre ardivink"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Anavez|Rummel"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Anavez|CPH05X (bt878) [gwerzherioù niverus]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Anavez|CPH06X (bt878) [gwerzherioù niverus]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Gobari ar gartenn :"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Seurt an tuner :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Mat eo"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ya"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "N'eo ket"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Dibabit ur restr"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Ouzhpennañ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Kemmañ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Dilemel"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Disoc'h"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Diaraog"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Dibab fall, klaskit adarre\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Ho tibab ? (%s dre ziouer) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Bouetadurioù e vo red dit da leuniañ :\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Ho tibab ? (0/1, « %s » dre ziouer) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Nozel « %s » : %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Mennout a rit klikit ouzh an nozel-se ?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Ho tibab ? (« %s » %s dre ziouer) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, fuzzy, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr "Ho tibab ?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Ho evezh, kemmet e oa ur skridennad :\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Adkas"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Stadoù-Unanet Arabeg"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigwa ha Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albani"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armeni"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antilh an Izelvroioù"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartik"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Arc'hantin"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa amerikanek"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Aostria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australi"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbeidjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosni hag Herzigovi"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbad"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladaech"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Beljik"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgari"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Barein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermud"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Darussalam Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivi"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butañ"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Enez Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarusi"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Beliz"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Inizi Koko (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Republik centrafricaine"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suis"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Aod an Olifant"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Inizi Kook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kameroun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Sina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolombi"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbi & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Penn Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Inizi Nedeleg"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Chipr"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Republik Tchek"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Alamagn"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominik"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Republik Dominikan"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Aljeri"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Kehider"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estoni"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Ejipt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara occidental"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritre"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spagn"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopi"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Inizi Falklandi (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesi"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Enez Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Gall"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Rouantelezh Unanet"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenad"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Jeorji"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Gwiana gallek"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gwana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Jibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Griñland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambi"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gine"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gwadeloup"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guine équatoriale"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Gres"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Inizi Jorjia Su ha Sandwitch Su"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gwatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Gwam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gine-Biso"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gwiana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Sina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Inizi Heard ha McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroati"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hongri"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezi"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Iwerzhon"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indez"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Douar morveur India saozneg"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Bro ar Skorn"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itali"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaik"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordani"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japon"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodj"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Sant Kitts ha Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Kore (Norzh)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Kore"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kowaet"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Inizi Kaeman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Liban"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santez Luci"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituani"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libi"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marok"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavi"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Inizi Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongoli"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Inizi Mariana norzh"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinik"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Maouritani"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malt"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauris"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Inizi Maldiv"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malezia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibi"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Kaledoni-nevez"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Nijer"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Enez Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nijeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikwaraga"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Izelvroioù"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvej"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Naurueg"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Zeland Nevez"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peroù"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinezi galleg"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papouazi Gine Nevez"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipin"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pologn"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sant Per ha Mikelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Porto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestin"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragwae"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palo"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Kwatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Enez ar Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Roumani"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusi"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabi Saudiet"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Inizi Salaun"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Sechell"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sondan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sweden"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapour"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sant Lena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Sloveni"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Inizi Svalbard ha Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovaki"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Siera Leoñ"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somali"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome ha Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Ar Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siri"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Inizi Turks ha Kaikos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tchad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Broioù su ar Vro-C'hall"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailhland"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelo"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor reter"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunizi"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Inizi Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turki"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad ha Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taeihlwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzani"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukren"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Ouganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Inizi bihan an Stadoù Unanet"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Amerika"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Ourougwae"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Ouzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sant Visant ha Grenadin"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Inizi Virgin (RU)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Iniz Gwerc'hez"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis ha Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Inizi Samoe"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Ihlemeñ"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayot"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sua-Africa"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambi"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Degemer e %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Sac'het eo dilec'hiañ al levrennioù fizikel implijet war re all"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Implijet eo al levrenn fizikel %s c'hoazh"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Lemel al levrennioù poellek da gentañ\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "N'eus ket moaien da loc'hañ gant /boot war meur a levrenn fizikel"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gourc'hemennoù, peurc'hraet eo ar staliadur.\n"
+"Lamit ar bladenn loc'hañ ha gwaskit enkas evit adloc'hañ.\n"
+"\n"
+"\n"
+"Evit titouroù war palastroù hegerz evit stumm-mañ Mandriva Linux,\n"
+"sellit ouzh an Errata war : \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Titouroù war gefluniañ ho reizhiad zo hegerz e rannbennad Goude\n"
+"Staliañ Sturier ofisiel an Arveriad Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "N'eus rannbennad kefluniadur ebet evit ar sturier-mañ !"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Kefluniañ ar mollad"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Moien zo dit kefluniañ pep dibarzh ar mollad amañ."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Kavet etrefas %s"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Hag un all hoc'h eus ?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Hag un etrefas %s bennak zo ganeoc'h ?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Gwelet titouroù periantel"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "O staliañ ur sturier evit ar kontroller USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "O staliañ ur sturier evit ar kontroller firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "O staliañ ur sturier evit kontroller ar pladennoù %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "O staliañ ur sturier evit ar kontroller erthernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "O staliañ ur sturier evit kartenn %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Bremañ e c'hellit pourvezañ e zibarzhoù d'ar mollad %s.\n"
+"Diouzh ar furmad « anv=talvoud anv2=talvoud2... » eo an dibaboù.\n"
+"Da skouer, « io=0x300 irq=7 »"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Dibarzhoù ar mollad :"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Pe sturier %s a zlefen amprouiñ ?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"E degouezhoù 'zo, ar sturier %s en deus ezhomm titouroù ouzhpenn evit mont\n"
+"en-dro reizh, daoust ma da en-dro mat hepto peurvuiañ. Ha mennout a rit "
+"spisaat\n"
+"dibaboù ouzphenn evitañ, pe aotren d'ar sturier amprouiñ ho penvek evit\n"
+"an titouroù en deus ezhomm ? A-wechoù, amprouiñ a c'hell sac'hañ un "
+"urzhiataer,\n"
+"hogen ne raio reuz ebet."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Embrouiñ"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Spisait dibarzhoù"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Kargañ ar mollad %s zo sac'het.\n"
+"Mennout a rit klask adarre gant arventennoù all ?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "marc'hañ sac'het : "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Ne m'eus ket implij ar parzhadurioù astennet gant ar reizhiad-mañ"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Un toull zo en ho taolenn barzhañ hogen n'hellan ket e implijout.\n"
+"Fiñval ar parzhadurioù kentañ derez evit ma vo an toull stok ouzh ar "
+"parzhadurioù astennet eo an diskoulm"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fazi en ur lenn ar restr %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Assevel adalek ar restr %s sac'het %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Restr gwareziñ siek"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Fazi en ur skrivañ er restr %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "N'hellan ket ouzhpennañ ur parzhadur da RAID %s _furmadet_"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "N'eus ket a-walc'h a barzhadurioù evit RAID live %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "N'hellan ket krouiñ ar renkell /usr/share/sane/firmware !"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "N'hellan ket krouiñ al liamm /usr/share/sane/%s !"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"N'hellan ket eilañ ar restr meriant %s e-barzh /usr/share/sane/firmware !"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "N'hell ket bet lakaet aotreoù ar meriant %s !"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "N'eo ket evit staliañ evit ranañ hoc'h eiltreser."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Bevaat/Marvaat emereañ."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Bevaat/Marvaat adloc'hañ gant arveriad al letrin."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Bevaat/Marvaat ereañ a-bell gant root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Bevaat/Marvaat dazont root war-eeun."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Posteloù surantez :"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Lakaat an umask gwrizienn."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "gwiriekaat ar porzhioù digor pa vez bev."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Lakaat umask an arveriad."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "Bez eus /etc/issue* endeo"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Bevaat ereañ a-bell gant root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Bevaat ar c'hevreadennoù X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Implij a ra chkconfig reolennoù msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Bevaat « crontab » hag « at » evit an arveriaded"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Ne vez ket kabac'het an tremenger"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Hirder istorig an tremegerioù"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Umask root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Ment istorig ar shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Amzer-hont ar shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Umask an arveriad"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Gwiriekaat ar porzhioù digor"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Gwiriekaat checksum ar restroù SUID/SGID"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Bezit deuet mat, preizherien"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Paour"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Skouer"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Uhel"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Uheloc'h"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Ankeniet"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ret eo implijout al live-mañ gant evezh. Ober a ra d'ho reizhiad bezañ\n"
+"aesoc'h da implijout, hogen kizidig-tre : arabat e implj evit un ardivink\n"
+"kevreet ouzh lod all pe ouzh ar genrouedad. N'eus ket a haeziñ dre dremenger."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Gweredekaet eo bremañ an tremenger, hogen dierbedet eo c'hoazh an implij en "
+"ur rouedad"
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Setu al live surentez standard a vez erbedet evit un urzhiataer a vo "
+"implijet evit kevreañ evel kliant ouzh ar Genrouedad."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Gant al live surentez-mañ e teu posupl implijout ar reizhiad-mañ evel ur "
+"servijer.\n"
+"Uhel a-walc'h eo bremañ ar surentez evit implijout ar reizhiad evel ur "
+"servijer\n"
+"o tigemer kevreadennoù a-berzh kliantoù niverus. Notenn : ma vez ur c'hliant "
+"kenrouedad hepken, neuze e vefe moarvat gwelloc'h deoc'h dibab ul live "
+"izeloc'h."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Kemer a reomp arc'hweloù al live diaraok, hogen bremañ eo peurserret ar "
+"reizhiad hag an arc'hweloù surentez zo en o muiañ."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Diogelroez"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Dibarzhoù DrakSec diazeg"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Dibabit al live surentez c'hoantet"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Live surentez"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Implijit libsafe evit ar servijerien"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Merour surantez (anv ereañ pe chomlec'h postel)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Lañsañ ar reizhiad kwelek ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, ur steuñvaer urzhiadoù mareadek."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"servijout a ra apmd evit evezhiañ stad an daspugner hag he enrollañ dre "
+"syslog.\n"
+"Gallout a ra ivez servijout da lazhañ an ardivink pa vez izel an daspugner."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Seveniñ an urzhiadoù steuñvaet gant an urzhiad at d'ar pred laket pa 'z eo\n"
+"bet sevenet at, ha seveniñ urzhiadoù dre lod pa 'z eo izel a-walc'h ar garg."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Ur goulev standard UNIX eo cron evit seveniñ goulevioù diouzh c'hoant an\n"
+"arveriaded da goulzoù mareadek steuñvaet. vixie cron a ouzhpenn kalzig a "
+"arc'hweloù\n"
+"d'ar cron UNIX diazez, en o zouez surentez ha dibarzhoù kefluniañ gwelloc'h."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM a zegas implij al logodenn d'an arloadoù Linux mod-skrid evel\n"
+"Midnight Commander. Reiñ a ra tu da seveniñ obererezhoù troc'hañ-ha-pegañ,\n"
+"ha skor evit meuziadoù kemperzhel war al letrin."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Ur servijer evit ar Gwiad Bedel eo Apache. Implijet e vez evit servijañ\n"
+"restroù HTML ha CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"An diaoul gourservijer kenrouedad (anvet inetd ordinal) a loc'h ur\n"
+"bochad a servijoù kenrouedad all diouzh an ezhomm. E karg loc'hañ meur a "
+"servijoù\n"
+"eo, en o zouez telnet, ftp, rsh, and rlogin. Dizoberiañ inetd a zizoberia\n"
+"an holl servijoù m'eo eñ atebek warno."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ar pakad-mañ a garg ar stokellaoueg diuzet evel termenet e\n"
+"/etc/sysconfig/keyboard. Dre ar maveg kbdconfig e c'hell bezañ diuzet\n"
+"kement-se. Gwell deoc'h leuskel se gweredekaet war darn vuiañ an ardivinkoù."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"An diaoul moullañ ret evit ma dafez en-ro reizh lpr eo lpd. Dre vras\n"
+"ez eo ur servijer a vera dleadoù moullañ evir ar voullerez(ed)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) zo ur Servijer Anvioù Domani (DNS) a zo implijet evit amdreiñ "
+"anvioù ostiz e chomlec'hioù IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Evit marc'hañ ha divarc'hañ poentoù marc'hañ an holl Reizhiadoù Restroù\n"
+"Rouedad (NFS), SMB (Lan Manager/Windows) ha NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Oberia/Dizoberia an holl etrefasoù rouedad kefluniet da lañsañ\n"
+"da vare al loc'hañ."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS zo ur c'homenad brudet evit rannañ restroù dre rouedadoù TCP/IP.\n"
+"Ar servij-mañ a bourvez arc'hweloù ur servijer NFS, a vez kefluniaet dre ar\n"
+"restr /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS zo ur c'homenad brudet evit rannañ restroù dre rouedadoù\n"
+"TCP/IP. Ar servij-mañ a bourvez un arc'hwel morailhañ restroù NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Skorañ PCMCIA a zegas an tu da implijonut traoù evel ethernet ha modemoù\n"
+"e urzhiataeroù hezoug. Ne vo ket kroget hep bezañ bet kefluniet, rak-se eo "
+"diarvar\n"
+"e staliañ war ardivinkoù n'o deus ket ezhomm anezhañ."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Ar c'hartenner porzhioù a vera kevreadennoù RPC, a zo implijet gant\n"
+"komenadoù evel NFS ha NIS. Ar servijer kartenn-porzhioù a rankfe mont en-"
+"dro\n"
+"war ardivinkoù anezho servijerien komenadoù a implij ar reizhiad RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Ur Gwazour Treuzdougen Postel eo Postfix, a zo ar goulev a zilech posteloù "
+"etre un ardivink hag un all."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Enroll hag assav poul dizurzh ar reizhiad evit genel niveroù\n"
+"dargouezhek gant gwelloc'h perzhded."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"An diaoul routed a ro an tu da vremanaat ent emgefreek an taolenn henchañ\n"
+"IP dre ar c'homenad RIP. Tra ma vez implijet aliesig RIP war rouedadoù "
+"bihan,\n"
+"ezhomm zo komenadoù henchañ kemplezhoc'h evit rouedadoù rouestlet."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Ar c'homenad rstat a ro tu da implijerien ur rouedad da zastum\n"
+"muzulioù barregezh diwar ne vern pe ardivink er rouedad-se."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Ar c'homenad rusers a ro tu da implijerien ur rouedad da anavezout piv\n"
+"zo kevreet ouzh ardivinkoù all a respont."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Ar c'homenad rwho a bourchas da implijerien a-bell roll an holl arveriaded a "
+"zo\n"
+"kevreet ouzh un ardivink ma da en-dro warnañ an diaoul rwhod (heñvel ouzh "
+"finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Lañsañ ar reizhiad kwelek ouzh hoc'h urzhiataer"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog zo ur gwazerezh ma enroll drezañ an diaouled niverus o c'hemennadoù\n"
+"e kerzhlevrioù liesseurt ar reizhiad. Ur mennozh mat eo seveniñ ingal syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Kargañ sturieroù evit ho trobarzhelloù USB."
+
+# Enaou ha dizenaou ar servijer Fontoù X da vare al loc'hañ hag al lazhañ
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Loc'hañ ar servijer fontoù X (red eo d'ober evel-se evit implijout Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "War voulañ"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Kenrouedad"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Rannañ restroù"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Reizhiad"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Mererezh a-bell"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Servijer ar stlennvon"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servijoù"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Dibabit pe servijoù a zlefe bezañ lañset ent emgefreek pa loc'her"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servijoù : %d bev diwar %d enskrivet"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "o seveniñ"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "plaenaozet"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servijoù ha diaouloù"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Titouroù"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Loc'hañ pa vez red"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "En ur loc'hañ"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Loc'hañ"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Plaenaozañ"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[stokellaoueg]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=marestr] [--word=mager] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"arveriadur : %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"\"\n"
+"\"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Pep servijer"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Hollek"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Amerika norzh"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oseania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Amerika Su"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Kevread russiek"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yougoslavi"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Ha reizh eo ?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "N'eus restr dibabet ebet"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Dibabet 'teus ur restr. N'eo ket ur renkell"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Dibabet 'teus ur renkell. N'eo ket ur restr"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Hevelep renkell ebet"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Hevelep restr ebet"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Astenn ar wezenn"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Plegañ ar wezenn"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Gwintañ etre kompez ha rummet dre strollad"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"N'eo ket staliadet %s\n"
+"Klikit ouzh « A heul » evit staliañ pe ouzh « Nullañ » evit guitaat"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Sac'het eo ar staliadur"
+
+#~ msgid "Icon"
+#~ msgstr "Arlun"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Kefluniadur ar PLL :"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr "[--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/bs.po b/perl-install/share/po/bs.po
new file mode 100644
index 000000000..c8b6e5a09
--- /dev/null
+++ b/perl-install/share/po/bs.po
@@ -0,0 +1,6821 @@
+# translation of bs.po to Bosnian
+# translation of libDrakX-bs.po to Bosnian
+# translation of bs.po to Bosanski
+# translation of DrakX-bs.po to Bosanski
+# Copyright (C) 2001, 2003, 2004, 2005, 2006. Free Software Foundation, Inc.
+# Amila Akagić <bono@lugbih.org>, 06. 2001.
+# Vedran Ljubovic <vljubovic@smartnet.ba>, 2002, 2003, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bs\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-09-13 19:15+0200\n"
+"Last-Translator: Vedran Ljubovic <vljubovic@smartnet.ba>\n"
+"Language-Team: Bosnian <lokal@linux.org.ba>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Molim sačekajte"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Instalacija bootloadera u toku"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO će sada pridružiti novi Volume ID disku %s. Promjena Volume ID\n"
+"na startnom disku za Windows NT, 2000 ili XP sisteme je fatalna\n"
+"greška.\n"
+"Ovo upozorenje se ne odnosi na Windows 95 ili 98, te na NT diskove sa "
+"podacima.\n"
+"\n"
+"Da li da podesim novi ID volumena?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Instalacija bootloadera nije uspjela. Došlo je do sljedeće greške:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Možda ćete trebati promijeniti vaš Open Firmware boot uređaj\n"
+" da biste aktivirali bootloader. Ako ne vidite upit bootloadera\n"
+" prilikom bootanja, držite Command-Option-O-F prilikom boota\n"
+" i unesite:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Zatim kucajte: shut-down\n"
+"Prilikom idućeg boota biste trebali vidjeti upit bootloadera."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Odlučili ste da na particiju instalirate bootloader.\n"
+"Ovo podrazumijeva da već imate bootloader na hard disku sa kojeg bootate "
+"(npr: System Commander).\n"
+"\n"
+"Sa kojeg diska vršite boot?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Prvi sektor diska (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Prvi sektor root particije"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Na disketi"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Preskoči"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub instalacija"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Gdje želite smjestiti bootloader?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Konfiguracija stila boota"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Glavne opcije bootloadera"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Bootloader koji ćete koristiti"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Boot uređaj"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Glavne opcije"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Pauza prije pokretanja izabrane opcije"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Uključi ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Uključi APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Uključi Local APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Šifra"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Šifre se ne poklapaju"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Molim pokušajte ponovo"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Ne možete koristiti šifrovani datotečni sistem za tačku montiranja %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Šifra (ponovo)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Ograniči opcije komandne linije"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ograniči"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Opcija ``Ograniči opcije komandne linije'' je beskorisna bez šifre"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Očisti /tmp prilikom svakog starta"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Precizna veličina RAMa ako je potrebno (pronađeno %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Navedite veličinu rama u MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init poruka"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Čekanje na Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Vrijeme za boot kernela"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Omogući boot sa CDa?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Omogući boot sa OFa?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Podrazumjevani OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Image"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Append"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen append"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video režim"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Mrežni profil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Oznaka"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Default"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Prazna oznaka nije dozvoljena"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Morate navesti image kernela"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Morate navesti root particiju"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Ova oznaka je već u upotrebi"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Koju vrstu opcije želite dodati?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Ostali OSi (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Ostali OSi (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Ostali OSi (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Ovo su trenutne opcije u vašem boot meniju.\n"
+"Možete dodati nove ili promijeniti postojeće."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "pristup X programima"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "pristup rpm alatima"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "dozvoli \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "pristup administrativnim datotekama"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "pristup mrežnim alatima"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "pristup alatima za kompajliranje"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(već dodan %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Molim navedite korisničko ime"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Korisničko ime smije sadržati samo mala slova, brojeve, `-' i `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Korisničko ime je predugačko"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Ovo korisničko ime je već dodano"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Korisnički ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Grupni ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "Opcija %s mora biti broj"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s mora biti veće od 500. Svejedno prihvati?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Dodaj korisnika"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Unesite korisnika\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Gotovo"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Prihvati korisnika"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Pravo ime"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Korisničko ime"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Autologin"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Mogu podesiti vaš računar da automatski prijavi jednog korisnika."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Koristi ovu mogućnost"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Izaberite default korisnika:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Izaberite window manager koji će se pokretati:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licencni ugovor"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Izlaz"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Napomene izdanja"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Prihvatam"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ne prihvatam"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Molim izaberite jezik koji ćete koristiti."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Izbor jezika"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux podržava više jezika. Izaberite jezike koje\n"
+"želite instalirati. Oni će biti dostupni kada se završi vaša\n"
+"instalacija i restartujete vaš sistem."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Višejezična podrška"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Kompatibilnost sa starim (ne-UTF8) kodiranjem"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Svi jezici"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Država / Oblast"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Molim izaberite vašu državu."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ovdje je puna lista svih dostupnih država"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Ostale države"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Više opcija"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Metod unosa:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ništa"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Bez dijeljenja"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Dozvoli svim korisnicima"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Vlastito"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Želite li dozvoliti korisnicima da dijele (share) neke od njihovih "
+"direktorija?\n"
+"Ako uključite ovu opciju, korisnici će moći jednostavno kliknuti na opciju "
+"\"Share\" u\n"
+"Konqueroru ili Nautilusu.\n"
+"\n"
+"\"Izaberi korisnike\" vam omogućuje da podesite ovu opciju zasebno za svakog "
+"korisnika.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: tradicionalni Unix sistem za dijeljenje datoteka, koji ima slabiju "
+"podršku na Macintoshu i Windowsu."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: sistem za dijeljenje datoteka koji koristi Windows, Mac OS X i većina "
+"modernih Linux sistema."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Možete eksportovati koristeći NFS ili Sambu. Molim izaberite sistem koji "
+"želite koristiti."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Pokreni userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Zatvori"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Dijeljenje na nivou korisnika koristi grupu \"fileshare\". \n"
+"Možete dodavati korisnike u ovu grupu pomoću userdrake-a."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Molim izvršite logout i zatim koristitite Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Trebate se odjaviti i ponovo prijaviti na sistem kako bi izmjene stupile na "
+"snagu"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Vremenska zona"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Koja je vaša vremenska zona?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Postavke datuma, sata i vremenske zone"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Koje je vrijeme tačnije?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (hardverski sat podešen na UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (hardverski sat podešen na lokalno vrijeme)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatska sinhronizacija vremena (koristeći NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokalna datoteka"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Card"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows domena"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory sa SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory sa Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokalna datoteka:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Koristite \"lokalno\" za provjeru identiteta i informacije o korisnicima u "
+"lokalnoj datoteci"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Govori vašem računaru da koristi LDAP za neke ili sve provjere identiteta. "
+"LDAP je sistem koji objedinjuje određene vrste informacija u vašoj "
+"organizaciji."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Omogućuje vam da pokrećete grupu računara u istoj Network Information "
+"Service domeni sa zajedničkim datotekama šifara i grupa."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows domena:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind omogućuje dobavljanje informacija o korisnicima i provjeru "
+"identiteta putem Windows domene."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory sa SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Sa Kerberosom i LDAPom za autenticiranje na Active Directory server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory sa Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind omogućuje sistemu da potvrđuje korisnike putem Windows Active "
+"Directory servera."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autentikacijski LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP Server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "jednostavno"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "sloj sigurnosti (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Provjera identiteta kroz Aktivni imenik (Active Directory)"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domena"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP baza korisnika"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Koristi anonimni BIND "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP korisnik kojem je dozvoljeno pregledanje Aktivnog imenika"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Šifra za korisnika"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Provjera identiteta putem NISa"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domen"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Da bi ovo radilo sa W2K PDCom, vjerovatno će biti potrebno da admin izvrši:\n"
+" C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add\n"
+"i restartuje server. Takođe će vam trebati korisničko ime i šifra "
+"administratora domena da biste pridružili računar Windows(tm) domenu.\n"
+"Ako mreža još nije aktivirana, DrakX će pokušati pristupanje domenu tek "
+"nakon što prođete kroz korak podešavanja mreže.\n"
+"Ako ovo podešavanje iz nekog razloga ne uspije i prijava na domen ne bude "
+"izvršena, izvršite naredbu 'smbpasswd -j DOMAIN -U USER%%PASSWORD' koristeći "
+"vašu Windows(tm) domenu, kao i administratorovo korisničko ime i šifru nakon "
+"pokretanja sistema.\n"
+"Naredba 'wbinfo -t' će provjeriti da li su vaši podaci ispravni."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autentikacijska Windows domena"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory Realm "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Korisničko ime domenskog administratora"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Administratorska šifra domena"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Metod autentikacije"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Podesite administratorsku (root) šifru"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Authentication method"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Bez šifre"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Ova šifra je previše jednostavna (mora biti duga najmanje %d karaktera)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Ne mogu koristiti broadcast bez NIS domene"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Dobro dosli u izbornik operativnog sistema!\n"
+"\n"
+"Izaberite operativni sistem na listi iznad ili\n"
+"sacekajte da se pokrene podrazumjevani OS.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO sa tekstualnim menijem"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB sa grafičkim menijem"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB sa tekstualnim menijem"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nema dovoljno prostora u /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Ne možete instalirati bootloader na %s particiju\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Konfiguracija vašeg bootloadera mora biti ažurirana pošto su particije "
+"renumerisane"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Ne mogu ispravno instalirati bootloader. Morate pokrenuti \"rescue\" sistem "
+"i izabrati \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Reinstalacija bootloadera"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuta"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuta"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundi"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "naredba %s nedostaje"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV je protokol koji vam omogućuje da direktorij web servera\n"
+"montirate lokalno i da ga tretirate kao lokalni direktorij (pod uslovom da\n"
+"je web server podešen kao WebDAV server). Ako želite dodati WebDAV\n"
+"tačke montiranja, izaberite \"Novi\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Novi"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Demontiraj"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montiraj"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Tačka montiranja"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcije"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Greška"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Molim unesite URL WebDAV servera"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL mora počinjati sa http:// ili https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Tačka montiranja: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcije: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Particioniranje"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Pročitajte pažljivo!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Predlažemo da najprije napravite backup vaših podataka"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Izlaz"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Nastavak"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ako planirate koristiti aboot, budite pažljivi i ostavite slobodnog prostora "
+"(2048 sektora je dovoljno)\n"
+"na početku diska"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Pomoć"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Izaberi akciju"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Imate jednu veliku Microsoft Windows particiju.\n"
+"Predlažem da najprije promijenite veličinu te particije\n"
+"(kliknite na nju, zatim na \"Promijeni veličinu\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Kliknite na particiju"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalji"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Nije pronađen nijedan hard disk"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Nepoznat"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Ostalo"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Prazno"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipovi file sistema:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Upozorenje"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Ova particija je već prazna"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Najprije koristite \"Demontiraj\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Koristi \"%s\" umjesto toga"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Vrsta"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Izaberi drugu particiju"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Izaberi particiju"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Poništi"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Prebaci u normalni mod"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Prebaci u ekspertni mod"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Potvrda"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Svejedno nastavljate?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Izlaz bez spašavanja"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Izlazite bez pisanja tabele particija?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Želite li spasiti izmjene u /etc/fstab ?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Moraćete rebootati da bi izmjene tabele particija stupile na snagu"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Trebali biste formatirati particiju %s.\n"
+"U suprotnom tačka montiranja %s neće biti zapisana u fstab.\n"
+"Da svejedno izađem?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Obriši sve"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Auto alokacija"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Još"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informacije o hard disku"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Sve primarne particije su u upotrebi"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ne mogu dodati više particija"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Da biste imali još particija, molim pobrišite jednu kako bi se mogla "
+"kreirati extended particija"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Bez supermounta"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount osim za CD-ROM uređaje"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Snimi tabelu particija"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Vrati tabelu particija"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Spasi tabelu particija"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Ponovo učitaj tabelu particija"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automatsko montiranje izmjenjivih medija"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Izaberite datoteku"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Backup tabela particija nema istu veličinu\n"
+"Da svejedno nastavim?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Pokušavam da spasim tabelu particija"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detaljne informacije"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Smanji"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatiraj"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Dodaj na RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Dodaj na LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Obriši"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Ukloni sa RAIDa"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Ukloni sa LVMa"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modificiraj RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Koristi za loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Kreiraj"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Napravi novu particiju"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Početni sektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Veličina u MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tip datotečnog sistema: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preference: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Naziv logičkog volumena "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Ne možete napraviti novu particiju\n"
+"(pošto ste dosegli maksimalan broj primarnih particija).\n"
+"Najprije uklonite primarnu particiju i napravite extended (proširenu) "
+"particiju."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Ukloniti loopback datoteku?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon promjene tipa particije %s, svi podaci na toj particiji će biti "
+"izgubljeni"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Izmjena tipa particije"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Koji datotečni sistem želite?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Prebacujem sa ext2 na ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Naziv za disk/particiju"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Naziv:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Gdje želite montirati loopback datoteku %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Gdje želite montirati uređaj %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ne mogu izmjeniti tačku montiranja jer se ova particija koristi za "
+"loopback.\n"
+"Najprije uklonite loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Gdje želite montirati uređaj %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Mijenjam veličinu"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Izračunavam granice FAT filesistema"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ovoj particiji ne možete mijenjati veličinu"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Svi podaci na ovoj particiji bi trebali biti backupovani"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon promjene veličine particije %s, svi podaci na njoj će biti izgubljeni"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Izaberite novu veličinu"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nova veličina u MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimalna veličina: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maksimalna veličina: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Da bi se osigurao integritet podataka nakon promjene veličine, \n"
+"prilikom idućeg pokretanja Windows(TM) biće izvršena provjera datotečnog "
+"sistema"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Izaberite postojeći RAID na koji ćete dodati"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "novi"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Izaberite postojeći LVM na koji ćete dodati"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Naziv LVMa?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Fizički volumen %s se još uvijek koristi.\n"
+"Želite li premjestiti korištene fizičke extents sa ovog volumena na druge "
+"volumene?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Pomjeram fizičke extents"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Ova particija se ne može koristiti za loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Naziv loopback datoteke: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Dajte naziv datoteke"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Datoteku već koristi drugi loopback, izaberite neku drugu"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Datoteka već postoji. Želite li je koristiti?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opcije montiranja"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Razno"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "uređaj"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivo"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "veličina chunka u KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Budite oprezni: ova operacija je opasna."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Koju vrstu particioniranja?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Biće potrebno da rebootate prije nego što izmjene mogu stupiti na snagu"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Tabela particija za uređaj %s će biti zapisana na disk!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon formatiranja particije %s, svi podaci na toj particiji će biti "
+"izgubljeni"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Provjeri loše blokove?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Prebaci datoteke na novu particiju"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Sakrij datoteke"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Direktorij %s već sadrži podatke\n"
+"(%s)\n"
+"\n"
+"Možete izabrati da premjestite datoteke u particiju koja će biti montirana "
+"na to mjesto ili da ih ostavite gdje jesu (u kojem slučaju će oni biti "
+"sakriveni sadržajem montirane particije)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Premještam datoteke na novu particiju"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopiram %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Uklanjam %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "particija %s je od sada poznata kao %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Oznake particija su promijenjene: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Uređaj: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Naziv volumena: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS slovo uređaja: %s (pretpostavka)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Vrsta: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Ime: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Početak: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Veličina: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektora"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cilindar %d do %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Broj logičkih extents: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatirana\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nije formatirana\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montirana\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback datoteka(e):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Particija na kojoj se nalazi sistem\n"
+" (za MS-DOS/Windows)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivo %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Veličina chunka %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-diskovi %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Naziv loopback datoteke: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Postoji mogućnost da je ova\n"
+"particija Driver particija. Vjerovatno\n"
+"biste je trebali ostaviti na miru.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Ova posebna Bootstrap\n"
+"particija je za\n"
+"višestruki boot vašeg sistema.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Samo za čitanje"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Veličina: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrija: %s cilindara, %s glava, %s sektora\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskovi %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tip tabele particija: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "na kanalu %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Ključ za kodiranje datotečnog sistema"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Izaberite vaš ključ za kodiranje datotečnog sistema"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Ovaj ključ enkripcije je previše jednostavan (mora imati najmanje %d "
+"karaktera)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Ključevi enkripcije se ne poklapaju"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Ključ enkripcije"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Ključ enkripcije (još jednom)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritam enkripcije"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Promijeni tip"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Odustani"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ne mogu se prijaviti koristeći korisničko ime %s (pogrešna šifa?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Potrebna je autentikacija na domeni"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Koje korisničko ime"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Još jedan"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Molim unesite vaše korisničko ime, šifru i domen da biste pristupili ovom "
+"računaru."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Korisničko ime"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Traži servere"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Traži nove servere"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Paket %s treba biti instaliran. Da li ga želite instalirati?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Ne mogu instalirati paket %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Nedostaje obavezan paket %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Sljedeći paketi trebaju biti instalirani:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instaliram pakete..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Uklanjam pakete..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Došlo je do greške - nije pronađen nijedan ispravan uređaj na kojem se mogu "
+"kreirati novi file sistemi. Molim provjerite vaš hardware i pronađite uzrok "
+"greške"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Morate imati FAT particiju montiranu na /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatiram particiju %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Kreiram i formatiram datoteku %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ne znam kako formatirati %s kao tip %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatiranje %s nije uspjelo"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Kružno montiranje %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Montiram particiju %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "montiranje particije %s u direktoriju %s nije uspjelo"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Provjeravam %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "greška u demontiranju %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Uključujem swap particiju %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Koristi šifrovani datotečni sistem"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Aktiviraj praćenje grupnih kvota na disku i eventualnu primjenu ograničenja"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ne ažuriraj vrijeme pristupa inode-u na ovom sistemu\n"
+"(npr. radi bržeg pristupa spool-u na news serverima)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Može se montirati samo eksplicitno (tj.,\n"
+"opcija -a neće montirati i ovaj sistem)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Nemoj interpretirati karakter ili blok uređaje na datotečnom sistemu."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ne dozvoli izvršenje binarnih datoteka na montiranom\n"
+"datotečnom sistemu. Ova opcija bi mogla biti korisna za server\n"
+"koji ima datotečne sisteme koji sadrže programe za druge arhitekture."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ne dozvoli bitima set-user-identifier i set-group-identifier\n"
+"da stupe na snagu. (Ovo se čini kao sigurno, ali je ustvari prilično\n"
+"nesigurno ako ste instalirali suidperl(1).)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Montiraj datotečni sistem samo za čitanje."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Sav U/I na datotečni sistem se treba izvršavati sinhrono."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Dozvoli svakom korisniku da (de)montira datotečni sistem."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Dozvoli običnom korisniku da montira datotečni sistem."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Aktiviraj praćenje korisničkih kvota na disku i eventualnu primjenu "
+"ograničenja"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Podrži \"user.\" proširene atribute"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Daj dozvolu za pisanje običnim korisnicima"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Daj dozvolu za čitanje običnim korisnicima"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Dvostruka tačka montiranja %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nema dostupnih particija"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Pretražujem particije da nađem tačke montiranja"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Izaberite tačke montiranja"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Izaberite particije koje želite formatirati"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Nisam uspio provjeriti datotečni sistem %s. Želite li popraviti greške? "
+"(pažnja, možete izgubiti podatke)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nemam dovoljno swap prostora da dovršim instalaciju, molim dodajte još"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Morate imati root particiju.\n"
+"Za ovo, napravite jednu particiju (ili kliknite na neku od postojećih).\n"
+"Zatim izaberite opciju \"Tačka montiranja\" i unesite vrijednost \"/\""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Nemate nijednu swap particiju\n"
+"\n"
+"Da li da nastavim?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Koristi slobodan prostor"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nema dovoljno slobodnog prostora za pravljenje novih particija"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Koristi postojeću particiju"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nemate nijednu postojeću particiju za upotrebu"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Koristi Microsoft Windows® particiju za loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Koju particiju želite koristiti za Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Izaberite veličine"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Veličina root particije u MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Veličina swap particije u MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Ne postoji nijedna FAT particija za upotrebu kao loopback (ili nije ostalo "
+"dovoljno prostora)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Koristi slobodan prostor na Microsoft Windows® particiji"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kojoj particiji želite promijeniti veličinu?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT resizer ne može izmijeniti vašu particiju, \n"
+"došlo je do sljedeće greške: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Izračunavam veličinu Microsoft Windows® particije"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Vaša Microsoft Windows® particija je previše fragmentirana. Molim "
+"restartujte vaš računar pod Microsoft Windows®, pokrenite program \"defrag\","
+"zatim ponovo pokrenite Mandriva Linux instalaciju."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"UPOZORENJE!\n"
+"\n"
+" DrakX će sada promijeniti veličinu vaše Microsoft Windows® particije.\n"
+"\n"
+"\n"
+"Budite pažljivi, ova operacija je opasna. Ako to već niste uradili, najprije "
+"napustite instalaciju, izvršite naredbu \"chkdsk c:\" iz Command Prompt-a "
+"pod Windowsom (obratite pažnju da izvršavanje grafičkog programa \"scandisk"
+"\" nije dovoljno, trebate koristiti \"chkdsk\" u komandnom upitu!), "
+"opcionalno pokrenite \"defrag\", zatim ponovo pokrenite instalaciju. Također "
+"biste trebali spasiti sve podatke.\n"
+"\n"
+"\n"
+"Kada ste sigurni, kliknite na \"%s\"."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Dalje"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Koju veličinu želite da sačuvate za Microsoft Windows® na particiji %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Veličina"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Smanjujem Microsoft Windows® particiju"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Smanjivanje FAT particije nije uspjelo: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Ne postoji nijedna FAT particija za promjenu veličine (ili nije ostalo "
+"dovoljno prostora)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Ukloni Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Pobriši čitav disk"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Imate više od jednog hard diska. Na koji od njih želite instalirati Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"SVE postojeće particije i podaci na njima će biti izgubljeni na disku %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Ručno particioniranje diska"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Koristi fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Sada možete particionirati %s.\n"
+"Kada završite, ne zaboravite spasiti naredbom 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ne mogu naći dovoljno prostora za instalaciju"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX Particioni čarobnjak je našao sljedeća rješenja:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Particioniranje nije uspjelo: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Ne možete koristiti JFS za particije manje od 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Ne možete koristiti ReiserFS za particije manje od 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "sa /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "BIOS softverski RAID je pronađen na diskovima %s. Da ga aktiviram?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ne mogu pročitati tabelu particija na uređaju %s, previše je oštećena za "
+"mene :(\n"
+"Mogu pokušati da pobrišem loše particije (SVI PODACI će biti izgubljeni!).\n"
+"Drugo rješenje je da onemogućim DrakX da mijenja tabelu particija.\n"
+"(greška je %s)\n"
+"\n"
+"Slažete li se sa gubitkom svih particija?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Tačke montiranja moraju počinjati sa /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Tačka montiranja se treba sastojati samo od brojeva i slova"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Već postoji particija sa tačkom montiranja %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Izabrali ste softversku RAID particiju kao root (/).\n"
+"Nijedan bootloader nije u mogućnosti da rukuje sa ovim bez /boot particije.\n"
+"Molim kasnije dodajte /boot particiju"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Ne možete koristiti LVM logički volumen za tačku montiranja %s pošto on "
+"obuhvata fizičke volumene"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Izabrali ste LVM logički volumen kao root (/).\n"
+"Nijedan bootloader nije u mogućnosti da rukuje sa ovim ako se taj volumen "
+"prostire preko više fizičkih volumena.\n"
+"Trebali biste najprije napraviti /boot particiju"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Ovaj direktorij treba ostati unutar korijenskog file sistema"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Potreban vam je pravi file sistem (ext2/ext3, reiserfs, xfs ili jfs) za ovu "
+"tačku montiranja\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Ne možete koristiti šifrovani datotečni sistem za tačku montiranja %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nema dovoljno prostora za auto-alokaciju"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nemam šta da radim"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disketa"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD pržilica"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Traka"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP kontroleri"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Video kartica"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB kartica"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV kartica"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Drugi multimedijalni uređaj"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Zvučna kartica"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Web kamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Procesori"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN adapteri"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB zvučni uređaji"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radio kartice"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM mrežne kartice"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN mrežne kartice"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth uređaji"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet kartica"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL adapteri"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memorija"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Štampač"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Game port kontroleri"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA kontroleri"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID kontroleri"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA kontroleri"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB uređaji za smještaj podataka"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model kartice:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire kontroleri"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA kontroleri"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI kontroleri"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB kontroleri"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB portovi"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus kontroleri"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Mostovi (bridges) i sistemski kontroleri"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatura"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet i ekran osjetljiv na dodir"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Miš"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skener"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Nepoznat/Ostali"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Molim sačekajte... Primjenjujem konfiguraciju"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Nema alternativnog drajvera"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Nema nijedan poznat OSS/ALSA alternativni drajver za vašu zvučnu karticu (%"
+"s) koja trenutno koristi \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Podešavanje zvuka"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Ovdje možete izabrati alternativni drajver (ili OSS ili ALSA) za vašu zvučnu "
+"karticu (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Vaša kartica trenutno koristi %s \"%s\" drajver (uobičajeni drajver za vašu "
+"karticu je \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) je bio prvi API za zvuk. To je API neovisan od "
+"operativnog sistema (dostupan je na većini UNIX(tm) sistema), ali je vrlo "
+"elementaran i ograničen.\n"
+"Pored toga, svi OSS drajveri ponovo izmišljaju točak.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) je modularizovana arhitektura koja\n"
+"podržava prilično velik broj ISA, USB i PCI kartica.\n"
+"\n"
+"Ona takođe pruža mnogo viši API nego OSS.\n"
+"\n"
+"Da biste koristili ALSA, možete koristiti:\n"
+"- stari API kompatibilan sa OSSom\n"
+"- novi ALSA API koji pruža mnoge napredne mogućnosti, ali zahtijeva upotrebu "
+"ALSA biblioteke.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Drajver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Kako ukloniti problem?"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Stari \"%s\" drajver je na crnoj listi.\n"
+"\n"
+"Prijavljeno je da ovaj drajver prilikom deinstalacije izaziva oops kernela.\n"
+"\n"
+"Stoga će novi drajver \"%s\" biti korišten tek nakon idućeg pokretanja "
+"sistema."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Nema open source drajver"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Nema slobodnih drajvera za vašu zvučnu karticu (%s), ali postoji vlasnički "
+"drajver na \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nema nijedan poznat drajver"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Nema poznatih drajvera za vašu zvučnu karticu (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Nepoznat drajver"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Greška: Drajver \"%s\" za vašu zvučnu karticu nije na listi"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Rješavanje problema sa zvukom"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klasični način utvrđivanja bugova u zvučnom sistemu je izvršavanje\n"
+"sljedećih naredbi:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" će vam reći koji drajver inače koristi\n"
+"vaša kartica\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" će vam reći koji drajver je\n"
+"trenutno u upotrebi\n"
+"\n"
+"- sa \"/sbin/lsmod\" možete provjeriti da li je modul (drajver) učitan\n"
+"ili ne\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" i \"/sbin/chkconfig --list alsa\" vam\n"
+"govore da li su servisi sound i alsa podešeni da se pokreću na\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" će vam reći da li je zvuk utišan (muted) ili ne\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" vam govori koji program koristi zvučnu "
+"karticu.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Dozvoli da sam odaberem drajver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Slobodan izbor drajvera"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ako stvarno mislite da znate koji drajver je odgovarajući za vašu karticu\n"
+"možete odabrati jedan sa gornje liste.\n"
+"\n"
+"Trenutni drajver za vašu \"%s\" zvučnu karticu je \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Auto prepoznavanje"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Nepoznat|Opšti"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Nepoznat|CPH05X (bt878) [razni proizvođači]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Nepoznat|CPH06X (bt878) [razni proizvođači]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Za većinu modernih TV kartica, bttv modul Linux kernela automatski "
+"prepoznaje odgovarajuće parametre.\n"
+"Ako je vaša kartica pogrešno prepoznata, ovdje možete prisiliti odgovarajući "
+"tip tunera i kartice. Samo izaberite parametre vaše TV karte."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model kartice:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Vrsta tunera:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "U redu"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Da"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ne"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Izaberi datoteku"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Dodaj"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Izmijeni"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Pobriši"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Kraj"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Nazad"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Pogrešan izbor, pokušajte ponovo\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Vaš izbor? (podrazumjevano %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Stavke koje morate popuniti:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Vaš izbor? (0/1, podrazumjevano %s)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Dugme '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Da li želite kliknuti na ovo dugme?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Vaš izbor? (podrazumjevano '%s' %s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " unesite `void' za prazan unos"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Postoji mnogo stvari od kojih možete izabrati (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Molim unesite prvi broj od deset koji želite izmjeniti,\n"
+"ili samo pritisnite Enter za nastavak.\n"
+"Vaš izbor?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Primjetite, natpis je promijenjen:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Ponovo pošalji"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Ujedinjeni Arapski Emirati"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua i Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanija"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenija"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nizozemski Antili"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktik"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Američka Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austrija"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australija"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbejdžan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosna i Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladeš"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgija"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bugarska"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Bruneji"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivija"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahami"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Ostrvo Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Bocvana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bjelorusija"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosova ostrva"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centralnoafrička Republika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Švicarska"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Obala Slonovače"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook ostrva"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Čile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbija"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kostarika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Srbija i Crna Gora"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Zelenortska ostrva"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Uskršnje ostrvo"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipar"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Češka"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Njemačka"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Džibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danska"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikanska Republika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžir"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonija"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipat"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Zapadna Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritreja"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Španija"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopija"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finska"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidži"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandsko otočje"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Farska ostrva"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francuska"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Ujedinjeno Kraljevstvo"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruzija"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Francuska Gvajana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambija"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvineja"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadalupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorijalna Gvineja"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grčka"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "South Georgia i South Sandwich ostrva"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvineja Bisau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gvajana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Kina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard ostrvo i McDonaldova ostrva"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Hrvatska"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Mađarska"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezija"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irska"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indija"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britansko-Indijska morska teritorija"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italija"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamajka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenija"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambođa"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komori"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts and Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Koreja (Sjeverna)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Koreja"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvajt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kajmanska ostrva"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazahstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Liban"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lihtenštajn"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Šri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberija"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litvanija"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvija"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libija"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Maršalova ostrva"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonija"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolija"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Sjeverna Marijanska ostrva"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinik"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanija"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauricijus"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivi"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malavi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malezija"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibija"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nova Kaledonija"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk ostrvo"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigerija"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragva"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nizozemska"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norveška"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Novi Zeland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Francuska Polinezija"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Nova Gvineja"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipini"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Poljska"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre and Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Portoriko"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvaj"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumunija"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusija"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudijska Arabija"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomonska ostrva"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Sejšelska ostrva"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Švedska"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenija"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard and Jan Mayen ostrva"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovačka"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalija"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome i Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirija"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilend"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks i Caicos ostrva"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Francuske Južne Teritorije"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tajland"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Istočni Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunis"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turska"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad i Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tajvan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanija"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrajina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "United States Minor Outlying Islands"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "SAD"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvaj"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent and the Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venecuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Djevičanska ostrva (Britanska)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Djevičanska ostrva (SAD)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vijetnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis i Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Južna Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambija"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabve"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Dobro došli u %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Premještanje fizičkih extents na druge fizičke volumene nije uspjela"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Fizički volumen %s se još uvijek koristi"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Najprije ukloni logičke volumene\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Bootloader ne može rukovati /boot particijom na više fizičkih volumena"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Budući da prevodilac ovog teksta nije u mogućnosti da osigura pravnu\n"
+"provjeru prevedenog teksta, tekst licence je ostavljen u originalnom\n"
+"(engleskom) obliku.\n"
+"\n"
+"\n"
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Upozorenje: Slobodan softver ne mora obavezno biti slobodan od patenata\n"
+"i neki elementi slobodnog softvera mogu biti obuhvaćeni patentima u vašoj\n"
+"zemlji. Npr. MP3 dekoderi koji su uključeni možda zahtijevaju licencu za "
+"daljnje\n"
+"korištenje (za više detalja, pogledajte http://www.mp3licensing.com). Ako "
+"niste\n"
+"sigurni da li se patent odnosi na vas, provjerite vaše lokalne zakone."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Pažnja\n"
+"\n"
+"Molim pročitajte pažljivo uslove licence ispod. Ako se ne slažete sa bilo\n"
+"kojim dijelom, nije vam dozvoljeno da instalirate naredne CD medije. "
+"Pritisnite\n"
+"dugme 'Ne prihvatam' da biste nastavili sa instalacijom bez korištenja ovih "
+"medija.\n"
+"Budući da prevodilac ovog teksta nije u mogućnosti da osigura pravnu\n"
+"provjeru prevedenog teksta, tekst je ostavljen u originalnom (engleskom)\n"
+"obliku.\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Čestitamo, instalacija je završena.\n"
+"Uklonite boot medij i pritisnite Enter da restartujete računar.\n"
+"\n"
+"\n"
+"Za informacije o ispravkama koje su dostupne za ovu verziju Mandriva "
+"Linuxa,\n"
+"pogledajte Errata koja je dostupna na:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informacije o podešavanju vašeg sistema su dostupne u poglavlju\n"
+"\"Nakon instalacije\" vašeg zvaničnog Mandriva Linux Priručnika za upotrebu."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Ovaj drajver nema podesivih parametara!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Podešavanje modula"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Ovdje možete podesiti svaki parametar modula."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Pronađeno %s interfejsa"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Imate li neki drugi?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Imate li ijedan %s interfejs?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Pogledaj hardware info"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instaliram drajver za USB kontroler"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instaliram drajver za firewire kontroler %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instaliram drajver za hard disk kontroler %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instaliram drajver za Ethernet kontroler %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instaliram drajver za %s karticu %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Sada možete navesti opcije za modul %s.\n"
+"Obratite pažnju da adrese trebate unositi sa prefiksom 0x kao npr. '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Sada možete navesti opcije za modul %s. Opcije su u formatu ``ime=vrijednost "
+"ime2=vrijednost2 ...''.\n"
+"Na primjer, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opcije modula"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Koji %s drajver ću pokušati?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"U nekim slučajevima, %s drajver treba imati dodatne informacije za\n"
+"ispravan rad, iako on obično radi dobro i bez njih. Želite li navesti neke\n"
+"ekstra opcije za njega ili dozvoliti drajveru da ispita vaš računar za sve\n"
+"informacije koje mu trebaju? Povremeno, ispitivanje može zaglaviti računar,\n"
+"ali ne bi trebalo izazvati nikakvu štetu."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Ispitivanje"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Navedi opcije"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Učitavanje modula %s nije uspjelo.\n"
+"Želite li probati opet sa drugim parametrima?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "montiranje nije uspjelo: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Extended particije nisu podržane na ovoj platformi"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Imate rupu u vašoj tabeli particija, ali je ja ne mogu upotrijebiti.\n"
+"Jedino rješenje je da pomjerite vaše primarne particije, kako bi se rupa "
+"našla pored extended particija"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Greška u čitanju datoteke %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Povratak iz datoteke %s nije uspio: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Loša backup datoteka"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Greška u pisanju datoteke: %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Nešto loše se dešava na vašem disku. \n"
+"Test integriteta podataka nije uspio. \n"
+"To znači će da pisanje bilo čega na disk rezultirati smećem."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ne mogu dodati particiju na _formatiran_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nema dovoljno particija za RAID nivo %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Ne mogu napraviti direktorij /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Ne mogu napraviti link /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Ne mogu kopirati firmware datoteku %s u /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Ne mogu postaviti privilegije firmware datoteke %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Ne mogu instalirati pakete koji su potrebni za dijeljenje skenera."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Vaši skeneri neće biti dostupni neprivilegovanim korisnicima."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Prihvati/odbij neispravne IPv4 poruke o grešci."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Dozvoli/zabrani broadcast-ovani ICMP eho."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Prihvati/odbij ICMP eho."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Dozvoli/zabrani autologin."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Ako je postavljeno \"SVE\", dozvoljeno je postojanje /etc/issue i /etc/issue."
+"net.\n"
+"\n"
+"Ako je postavljeno na NIŠTA, datoteke nisu dozvoljene.\n"
+"\n"
+"Inače, dozvoljen je samo /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Dozvoli/zabrani restartovanje računara iz konzole."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Dozvoli/zabrani prijavu kao root sa udaljenog računara"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Dozvoli/zabrani direktan root login."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Dozvoli/zabrani listu korisnika sistema na display manager-ima (kdm i gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Dozvoli/zabrani izvoz ekrana kada\n"
+"proslijeđujete sa root računa drugim korisnicima.\n"
+"\n"
+"Pogledajte pam_xauth(8) za više detalja.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Dozvoli/zabrani X konekcije:\n"
+"\n"
+"- SVE (sve konekcije su dozvoljene),\n"
+"\n"
+"- LOKAL (samo konekcije sa lokalne mašine),\n"
+"\n"
+"- NIŠTA (nisu dozvoljene konekcije)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Ovaj argument određuje da li su klijenti autorizovani za\n"
+"povezivanje na X server putem mreže na TCP portu 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorizuj:\n"
+"\n"
+"- sve servise koje kontrolišu tcp_wrapperi (vidi hosts.deny(5) man "
+"stranicu), ako je podešeno na \"SVE\",\n"
+"\n"
+"- samo lokalne servise, ako je podešeno na \"LOKAL\",\n"
+"\n"
+"- nijedan, ako je podešeno na \"NIŠTA\".\n"
+"\n"
+"Da biste autorizovali servise koji su vam potrebni, koristite /etc/hosts."
+"allow (vidi hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Ako je SERVER_LEVEL (ili, ako ovaj ne postoji, SECURE_LEVEL)\n"
+"veći od 3 u /etc/security/msec/security.conf, pravi simbolički link\n"
+"/etc/security/msec/server koji pokazuje na /etc/security/msec/server."
+"<SERVER_LEVEL>.\n"
+"/etc/security/msec/server koristi chkconfig --add da odluči da li\n"
+"da doda servis ako je prisutan u datoteci tokom instalacije paketa."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Uključi/isključi crontab i at za korisnike.\n"
+"\n"
+"Stavi korisnicima kojima je to dozvoljeno u /etc/cron.allow i /etc/at.allow "
+"(vidi man stranice at(1) i crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Uključi/isključi syslog izvještaje na konzoli 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Uključi/isključi zaštitu od lažiranja rezolviranja imena. Ako\n"
+"je aktivna opcija \"%s\", takođe prijavljuje u syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Sigurnosna upozorenja:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Uključi/isključi zaštitu od lažiranja IP adrese."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Uključi/isključi libsafe ako je libsafe pronađen na sistemu."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Uključi/isključi logiranje čudnih IPv4 paketa."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Uključi/isključi msec provjeru svakog sata."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Omogući su samo članovima wheel grupe. Ako je opcija isključena, su je "
+"dozvoljen svim korisnicima."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Koristi šifru za provjeru autentičnosti korisnika."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktiviraj/isključi provjeru promiskuitetnog moda Ethernet kartica."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktiviraj/isključi dnevnu sigurnosnu provjeru."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Uključi/isključi sulogin(8) na jednokorisničkom nivou."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Dodaj ime kao izuzetak od upravljanja starenjem šifara putem msec-a."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Podesi starenje šifre na \"max\" dana, a pauzu izmjene na \"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Podesi dužinu historije šifara kojom se sprječava ponovno korištenje šifara."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Podesite minimalnu dužinu šifre, minimalan broj cifara i minimalan broj "
+"velikih slova."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Postavlja root-ov umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "ako je postavljeno na da, provjerava otvorene portove."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"ako je postavljeno na da, provjerava:\n"
+"\n"
+"- prazne šifre,\n"
+"\n"
+"- nedostatak šifre u /etc/shadow\n"
+"\n"
+"- korisnike sa id-om 0 koji nisu root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"ako je postavljeno na da, provjerava privilegije datoteka u korisničkom home-"
+"u."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"ako je postavljeno na da, provjerava da li su mrežni uređaji u "
+"promiskuitetnom modu."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "ako je postavljeno na da, izvršava dnevne sigurnosne provjere."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "ako je postavljeno na da, provjerava dodavanje/brisanje sgid datoteka."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "ako je postavljeno na da, provjerava prazne šifre u /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "ako je postavljeno na da, provjerava checksum suid/sgid datoteka."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"ako je postavljeno na da, provjerava dodavanje/brisanje suid root datoteka."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "ako je postavljeno na da, prijavljuje datoteke bez vlasnika."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"ako je postavljeno na da, provjerava datoteke/direktorije koje svako može "
+"pisati."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "ako je postavljeno na da, izvršava chkrootkit provjere."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"ako je uključeno, šalje mail izvještaj na ovu email adresu, inače ga šalje "
+"root-u."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "ako je postavljeno na da, prijavljuje rezultate provjere mailom."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ne šalji mailove ako nema razloga za upozorenja"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "ako je postavljeno na da, izvršava neke provjere rpm baze podataka."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "ako je postavljeno na da, prijavljuje rezultate provjere u syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "ako je postavljeno na da, prijavljuje rezultate provjere na tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Podesi veličinu historije naredbi shella. Vrijednost -1 znači neograničeno."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Postavlja istek vremena shella. Vrijednost nula znači bez isteka vremena."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Jedinica za vrijeme je sekunda"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Podešava korisnički umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Prihvati neispravne IPv4 poruke o grešci"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Prihvati broadcast ICMP eho"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Prihvati ICMP eho"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* postoji"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Restartovanje za korisnika na konzoli"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Dozvoli prijavu kao root putem mreže"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direktna root prijava"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Izlistaj korisnike na display manager-ima (kdm i gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Izvoz ekrana kada prosljeđujete sa roota na druge korisnike"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Dozvoli X Window konekcije"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorizuj TCP konekcije na X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorizuj sve servise koje kontrolišu tcp_wrapperi"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig poštuje msec pravila"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Omogući korisnicima da koriste \"crontab\" i \"at\""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog izvještaji na konzoli 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Zaštita od lažiranja rezolucije imena"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Uključi zaštitu od lažiranja IP adrese"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Uključi libsafe ako libsafe postoji na vašem sistemu"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Uključi logovanje čudnih IPv4 paketa"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Uključi msec provjeru svakog sata"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Omogući su samo za članove wheel grupe"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Koristi šifru da provjeriš autentičnost korisnika"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Provjera promiskuitetnog režima Ethernet kartica"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dnevna sigurnosna provjera"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) na jednokorisničkom nivou"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Bez starenja šifre za"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Izaberite istek šifre i pauze prije deaktivacije računa"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Dužina historije šifara"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minimalna dužina šifre i broj cifara i velikih slova"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Veličina historije shell-a"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Istek vremena shella"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Korisnički umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Provjeri otvorene portove"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Provjeri neupotrijebljene račune"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Provjeri privilegije datoteka u korisničkom home-u."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Provjeri da li su mrežni uređaji u promiskuitetnom modu"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Izvršavaj dnevne sigurnosne provjere"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Provjeri dodavanje/brisanje sgid datoteka"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Provjeri prazne šifre u /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Provjeri checksum suid/sgid datoteka"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Provjeri dodavanje/brisanje suid root datoteka"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Prijavi datoteke bez vlasnika"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Provjeri datoteke/direktorije koje svako može pisati"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Izvrši chkrootkit provjere"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Ne šalji prazne e-mail izvještaje"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Ako je uključeno, šalje e-mail izvještaj na ovu email adresu, inače ga šalje "
+"root-u"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Prijavi rezultate provjere mailom"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Izvrši neke provjere rpm baze podataka"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Prijavi rezultate provjere u syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Prijavi rezultate provjere na tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Dobrodošli u Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Loš"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Visok"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Viši"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoičan"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ovaj nivo treba koristiti pažljivo. On čini vaš sistem lakšim za upotrebu,\n"
+"ali vrlo osjetljivim: ne smije biti korišten za računar koji je spojen na\n"
+"druge ili na Internet. Nema pristupa šifrom."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Šifra je sada aktivirana, ali korištenje za mrežni računar još nije "
+"preporučeno."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ovo je standardna sigurnost koja je preporučena za računar koji će biti "
+"korišten za spajanje na Internet kao klijent."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Već postoje određena ograničenja, a više automatskih provjera se pokreće "
+"svaku noć."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Sa ovim sigurnosnim nivoom, postaje moguće koristiti ovaj sistem kao "
+"server.\n"
+"Sigurnost je sada dovoljno visoka za upotrebu sistema kao servera koji "
+"prima\n"
+"konekcije sa mnogo klijenata. Napomena: ako je vaš računar samo klijent na "
+"Internetu, možda je bolje da izaberete niži nivo."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Baziran na prethodnom nivou, ali sada je sistem potpuno zatvoren.\n"
+"Sigurnosne osobine na maksimumu."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sigurnost"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec osnovne opcije"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Molim izaberite nivo sigurnosti"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Nivo sigurnosti"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Koristi libsafe za servere"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Biblioteka koja brani od napada \"buffer overflow\" i \"format string\"."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Sigurnosni administrator (login ili email)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Pokreće ALSA zvučni sistem (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron je periodični izvršitelj programa."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Apmd se koristi za nadgledanje statusa baterija i njegovo bilježenje preko\n"
+"sysloga. Takođe se može koristiti za gašenje računara kada su baterije pri "
+"kraju."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Izvršava naredbe zakazane putem at komande u zadato vrijeme,\n"
+"te pokreće programe u pozadini kada je računar neopterećen."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Cron je standardan UNIX program koji periodično pokreće programe koje\n"
+"zada korisnik. Vixie cron dodaje veći broj mogućnosti osnovnom\n"
+"UNIX cronu, uključujući bolju sigurnost i moćnije opcije za podešavanje."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM je demon koji nadzire datoteke. Pomoću njega programi znaju ako se neka "
+"datoteka promijeni.\n"
+"FAM koriste GNOME i KDE grafičke okoline."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM dodaje podršku za miša tekstualnim programima kao što je\n"
+"Midnight Commander. On također omogućuje konzolne isjeci/umetni operacije\n"
+"pomoću miša i uključuje podršku za pop-up menije na konzoli."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake ispituje hardware i eventualno podešava novi ili\n"
+"izmjenjeni hardware."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache je World Wide Web server. Koristi se za posluživanje HTML\n"
+"datoteka i CGI skripti."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet superserver (obično nazvan inetd) pokreće razne druge Internet\n"
+"servise po potrebi. Odgovoran je za pokretanje mnogih servisa, kao što su\n"
+"telnet, ftp, rsh i rlogin. Isključivanje inetd-a isključuje sve servise za "
+"koje je\n"
+"on nadležan."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Pokreće filtriranje paketa za Linux kernele serije 2.2 kako\n"
+"bi se aktivirao firewall i zaštitio vaš računar od mrežnih napada."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ovaj paket učitava izabranu mapu tastature kao što je podešeno u\n"
+"/etc/sysconfig/keyboard, što se može podesiti korištenjem kbdconfig\n"
+"programa. Ovaj servis biste trebali ostaviti uključenim na većini računara."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatsko regenerisanje kernel zaglavlja u /boot za\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatsko prepoznavanje i podešavanje hardware-a tokom boota."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf će ponekad obaviti raznolike zadatke tokom boota\n"
+"kako bi se održala sistemska konfiguracija."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd je demon za štampu koji je potreban da bi lpr sistem štampe radio "
+"ispravno.\n"
+"To je u osnovi server koji dodjeljuje zadatke štampe štampaču/ima."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtuelni Server, koristi se za izgradnju servera visokih performansi\n"
+"i dostupnosti (clusteri servera)."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) je Domain Name Server (DNS) koji se koristi za određivanje IP "
+"adrese iz imena računara."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Montira i demontira sve Network File System (NFS), SMB (Lan\n"
+"Manager/Windows) i NCP (NetWare) tačke montiranja."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivira/deaktivira sve mrežne interfejse koji su konfigurisani\n"
+"za pokretanje tokom boota."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS je popularan protokol za dijeljenje datoteka preko TCP/IP mreža.\n"
+"Ovaj servis omogućuje funkcionalnost NFS servera, kojeg podešavate\n"
+"putem /etc/exports datoteke."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS je popularan protokol za dijeljenje datoteka preko TCP/IP mreža.\n"
+"Ovaj servis omogućuje NFS funkcionalnost zaključavanja datoteka."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Automatski uključuje numlock pod konzolom i grafičkim okruženjem\n"
+"prilikom boota."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Podrška za OKI 4w i kompatibilne 'winprinter' štampače."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA podrška služi za ispravan rad uređaja kao što su mrežne\n"
+"kartice i modemi, priključenih na PCMCIA port (obično na laptopima).\n"
+"Neće se pokrenuti sve dok nije ispravno konfigurisan, tako da je\n"
+"sigurno imati ga instaliranog i na računarima kojima nije potreban."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper upravlja RPC konekcijama, koje koriste protokoli kao što\n"
+"su NFS i NIS. Portmap server mora raditi na računarima koje služe kao\n"
+"serveri za protokole koji koriste RPC mehanizam."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix je Mail Transport Agent, tj. program koji šalje poštu sa jednog "
+"računara na drugi."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Snima i učitava sistemski spremnik entropije za veću kvalitetu\n"
+"generisanja slučajnih brojeva."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Dodjeljuje raw uređaje blokovskim uređajima (kao što su\n"
+"particije hard diska), za potrebu programa kao što je Oracle ili DVD playeri"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed demon omogućuje da se automatska IP tabela rutiranja podešava\n"
+"preko RIP protokola. Mada se RIP često koristi na malim mrežama, "
+"kompleksniji\n"
+"protokoli rutiranja su potrebni za složene mreže."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Rstat protokol omogućava korisnicima na mreži da dobave\n"
+"mjeru performansi za svaki računar na toj mreži"
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Rusers protokol omogućava korisnicima na mreži da identificiraju\n"
+"ko je prijavljen na ostalim računarima."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Rwho protokol omogućava udaljenim korisnicima da dobiju listu svih\n"
+"korisnika prijavljenih na računar na kojem radi rwho demon (slično fingeru)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Pokreće zvučni sistem na vašem računaru"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog je sistem pomoću kojeg mnogi servisi zapisuju poruke\n"
+"u razne sistemske dnevnike (logove). Pametno je uvijek imati pokrenuti "
+"syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Pokreće drajvere za vaše USB uređaje."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Pokreće X Font Server (ovo je nužno da bi Xorg radio)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Štampa"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Dijeljenje datoteka"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistem"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Udaljena administracija"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Server baze podataka"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servisi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Izaberite koji servisi se trebaju pokretati automatski prilikom boota"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servisi: %d aktiviran za %d registrovan"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "aktivan"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "zaustavljen"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servisi i demoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nema dodatnih informacija\n"
+"o ovom servisu, žalim."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Pokreni po potrebi"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Prilikom boota"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Program za backup and restore\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIJE:\n"
+" --boot - omogućuje podešavanje boot loadera\n"
+" --splash - omogućuje podešavanje boot teme\n"
+"podrazumijevano: podešavanje autologin mogućnosti"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPCIJE:\n"
+" --help - ispisuje ovu pomoć.\n"
+" --report - program treba biti neki od Mandriva Linux alata\n"
+" --incident - program treba biti neki od Mandriva Linux alata"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - čarobnjak \"dodaj mrežni interfejs\"\n"
+" --del - čarobnjak \"obriši mrežni interfejs\"\n"
+" --skip-wizard - upravljanje konekcijama\n"
+" --internet - podesi internet\n"
+" --wizard - isto što i --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Program za uvoz i nadzor fontova \n"
+"\n"
+"OPCIJE:\n"
+"--windows_import : uvezi sa dostupnih windows particija.\n"
+"--xls_fonts : prikaži sve postojeće fontove koje prijavljuje xls\n"
+"--install : instaliraj bilo koji font ili direktorij.\n"
+"--uninstall : deinstaliraj bilo koji font ili direktorij.\n"
+"--replace : zamijeni font ako vec postoji\n"
+"--application : 0 bez programa.\n"
+" : 1 podrška za sve poznate programe.\n"
+" : ime_programa npr. so za staroffice \n"
+" : i gs za ghostscript za samo taj program."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Podešavanje Mandriva Linux Terminal Servera\n"
+"--enable : omogući MTS\n"
+"--disable : onemogući MTS\n"
+"--start : pokreni MTS\n"
+"--stop : zaustavi MTS\n"
+"--adduser : dodaj postojećeg sistemskog korisnika MTSu (potrebno je "
+"korisničko ime)\n"
+"--deluser : obriši postojećeg sistemskog korisnika sa MTSa (potrebno "
+"je korisničko ime)\n"
+"--addclient : dodaj klijentski računar MTSu (potrebna je MAC adresa, "
+"IP, nbi image ime)\n"
+"--delclient : obriši klijentski računar sa MTSa (potrebna je MAC "
+"adresa, IP, nbi image ime)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[tastatura]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=mojfajl] [--word=mojarijec] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Program za povezivanje na mrežu/Internet i nadzor veze\n"
+"\n"
+"--defaultintf interface : podesi podrazumijevani interfejs\n"
+"--connect : spoji se na Inernet, ako nisi već spojen\n"
+"--disconnect : prekini vezu s Internetom, ako si spojen\n"
+"--force : koristi se sa (dis)connect : prinudi operaciju.\n"
+"--status : vraća 1 ako je spojen, u suprotnom 0.\n"
+"--quiet : bez interaktivnosti. Koristi se sa (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation ne postavljaj prvo pitanje u Mandriva Update modu\n"
+" --no-verify-rpm ne provjeravaj potpise paketa\n"
+" --changelog-first prikaži changelog prije filelist u opisnom prozoru\n"
+" --merge-all-rpmnew predloži merge svih pronađenih .rpmnew/.rpmsave "
+"datoteka"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake rezolucija"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Upotreba: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Svi serveri"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globalno"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Azija"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Evropa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Sjeverna Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Okeanija"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Južna Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Ruska Federacija"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavija"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Da li je ovo ispravno?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Nije izabrana datoteka"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Izabrali ste datoteku, a ne direktorij"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Izabrali ste direktorij, a ne datoteku"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Nema tog direktorija"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Nema te datoteke"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Proširi stablo"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Smanji stablo"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Ravno / složeno po grupama"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s nije instaliran\n"
+"Kliknite na \"Dalje\" da ga instalirate ili \"Odustani\" za izlaz"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalacija nije uspjela"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Broj capture buffera:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "broj capture buffera za mmap-ovani capture"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL postavka:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Podrška za radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "uključi radio podršku"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/ca.po b/perl-install/share/po/ca.po
new file mode 100644
index 000000000..30d58c097
--- /dev/null
+++ b/perl-install/share/po/ca.po
@@ -0,0 +1,6814 @@
+# translation of ca.po to Catalan
+# translation of DrakX.po to Catalan
+# Copyright (C) 2000-2004, 2005 Free Software Foundation, Inc.
+# Softcatala, softcatala.org, 2000-2003
+# Albert Astals Cid <astals11@terra.es>, 2003-2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ca\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-09-13 23:24+0200\n"
+"Last-Translator: Albert Astals Cid <astals11@terra.es>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Espereu si us plau"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Instal·lació del carregador de l'arrencada en curs"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Ha fallat la instal·lació del carregador de l'arrencada. S'ha produït "
+"l'error següent:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Potser us caldrà canviar el dispositiu d'arrencada Open Firmware per\n"
+"habilitar el carregador de l'arrencada. Si no veieu l'indicador del\n"
+"carregador de l'arrencada en tornar a arrencar, premeu\n"
+"Command-Option-O-F en tornar a arrencar i introduïu:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Després, escriviu: shut-down\n"
+"En l'arrencada següent heu de veure l'indicador del carregador de "
+"l'arrencada."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Heu decidit instal·lar el gestor de l'arrencada en una partició.\n"
+"Això implica que ja teniu un gestor d'arrencada en el disc des del qual "
+"arrenqueu (p.ex.: System Commander).\n"
+"\n"
+"En quina unitat arrenqueu?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Primer sector de la unitat (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Primer sector de la partició de root"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "En el disquet"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Omet"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Instal·lació del LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "On voleu instal·lar el carregador de l'arrencada?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configuració del tipus d'arrencada"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opcions principals del carregador de l'arrencada"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Carregador d'arrencada"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Carregador de l'arrencada a utilitzar"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dispositiu d'arrencada"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Demora abans d'arrencar la imatge predeterminada"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Habilita l'ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Habilita l'ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Habilita l'ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Contrasenya"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Les contrasenyes no coincideixen"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Si us plau, torneu-ho a intentar"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"No podeu utilitzar un sistema d'arxius xifrat per al punt de muntatge %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Contrasenya (un altre cop)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Limita les opcions de la línia d'ordres"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "limita"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"L'opció \"Limita les opcions de la línia d'ordres\" no té cap utilitat sense "
+"una contrasenya"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Buida /tmp en cada arrencada"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Mida exacta de la RAM, si cal (s'han trobat %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Introduïu la mida de la RAM en MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Missatge d'inicialització"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Demora per al firmware obert"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Temps màxim d'arrencada del nucli"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Voleu habilitar l'arrencada des de CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Voleu habilitar l'arrencada des d'OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "SO per defecte?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imatge"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Arrel"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Afegeix"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mode de vídeo"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Perfil de xarxa"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etiqueta"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Predeterminat"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "No es permet una etiqueta buida"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Heu d'especificar una imatge del nucli"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Heu d'especificar una partició arrel"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Aquesta etiqueta ja està en ús"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Quin tipus d'entrada voleu afegir?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Un altre SO (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Un altre SO (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Un altre SO (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Aquestes són les diferents entrades en el menú d'arrencada.\n"
+"Podeu afegir-ne més o canviar-ne les existents."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "accés a programes X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "accés a les eines rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permet \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "accés a fitxers administratius"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "accés a les eines de xarxa"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "accés a les eines de compilació"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(ja s'ha afegit %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Si us plau, introduïu un nom d'usuari"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"El nom d'usuari només pot contenir lletres en minúscula, números, '-' i '_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "El nom d'usuari és massa llarg"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Aquest nom d'usuari ja s'ha afegit"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID d'usuari"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID de grup"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s ha de ser un número"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s hauria de ser superior a 500. Continuar tot i això?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Afegeix un usuari"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Introduïu un usuari\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Fet"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Accepta l'usuari"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nom real"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nom d'accés"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Entrada automàtica"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Puc configurar el vostre ordinador de manera que entri automàticament amb un "
+"nom d'usuari."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Utilitza aquesta característica"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Escolliu l'usuari per defecte:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Escolliu el gestor de finestres per executar:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Acord de llicència"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Surt"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Accepta"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Rebutja"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Si us plau, trieu un idioma per utilitzar."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Tria d'idioma"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux pot utilitzar múltiples idiomes. Seleccioneu\n"
+"els llenguatges que vulgueu instal·lar. Estaran disponibles\n"
+"quan reinicieu el sistema, després que la instal·lació s'hagi completat."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Tots els idiomes"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "País / Regió"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Si us plau, seleccioneu el vostre país."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Aquesta és la llista completa de països"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Altres països"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avançat"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Mètode d'entrada:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Cap"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "No es comparteix"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permet tots els usuaris"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalitzada"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Voleu permetre als usuaris compartir alguns dels seus directoris?\n"
+"Fer això permetrà al usuaris fer un simple clic a \"Comparteix\" en el "
+"konqueror i el nautilus.\n"
+"\n"
+"\"Personalitzat\" permet configurar cada usuari per separat.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: el sistema de compartició de fitxers tradicional de Unix, amb menys "
+"suport a Mac i Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: un sistema de compartició de fitxers usat per Windows, Mac OS X i "
+"bastants sistemes Linux moderns."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Podeu exportar utilitzant NFS o SMB. Seleccioneu quin voleu utilitzar."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Executa userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Tanca"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"La compartició per usuari utilitza el grup \"fileshare\".\n"
+"Podeu utilitzar userdrake per a afegir un usuari a aquest grup."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Si us plau, sortiu i utilitzeu Ctrl-Alt-tecla de retrocés"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Heu de sortir i tornar a entrar per tal que els canvis tinguin efecte"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Fus horari"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "En quina zona horària us trobeu?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "El rellotge del vostre ordinador està regulat per GMT"
+
+#
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "El rellotge del vostre ordinador està regulat per GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Servidor NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sincronització automàtica de la hora (usant NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Fitxer local"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Card"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Domini de Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory amb SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory amb Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Fitxer local:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"El vostre ordinador usarà LDAP per alguna o totes les autenticacions. LDAP "
+"consolida certs tipus d0informació dintre de les organitzacions."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Domini de Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory amb SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory amb Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autenticació LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Servidor LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "senzill"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr ""
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domini"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servidor"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Base de dades LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr ""
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autenticació NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Domini del NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Servidor NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Per tal que funcioni en un W2K PDC, segurament haureu de fer que "
+"l'administrador executi C:\\>net localgroup \"Accés compatible amb versions "
+"anteriors a Windows 2000\" everyone /add\" i que reiniciï el servidor.\n"
+"També necessitareu el nom d'usuari i la contrasenya d'un administrador del "
+"domini per poder connectar la màquina al domini de Windows(TM).\n"
+"Si la xarxa encara no està habilitada, DrakX provarà de connectar-se al "
+"domini després del pas de configuració de la xarxa.\n"
+"Si aquesta configuració fallés per algun motiu i l'autenticació no "
+"funcionés, executeu 'smbpasswd -j DOMINI -U USUARI%%CONTRASENYA' passant com "
+"a paràmetres el domini Windows en qüestió i el nom d'usuari i la contrasenya "
+"de l'administrador, després que arrenqui el sistema.\n"
+"L'ordre 'wbinfo -t' comprovarà si els secrets d'autenticació són bons."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autenticació en el domini de Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nom d'usuari de l'administrador del domini"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Contrasenya de l'administrador del domini"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autenticació"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Estableix la contrasenya de l'administrador (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Mètode d'autenticació"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Sense contrasenya"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Aquesta contrasenya és massa curta (ha de tenir com a mínim %d caràcters)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "No es pot utilitzar la difusió sense un domini NIS"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Benvingut al selector de sistema operatiu!\n"
+"\n"
+"Trieu un sistema operatiu de la llista superior, o espereu\n"
+"per arrencar en el sistema operatiu predeterminat.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO amb menú de text"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB amb menú gràfic"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB amb menú de text"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "no hi ha prou espai a /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "No podeu instal·lar el carregador de l'arrencada a una partició %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"La configuració del vostre carregador d'arrencada s'ha d'actualitzar ja que "
+"la partició ha estat renumerada"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"El carregador d'arrencada no s'ha pogut instal·lar correctament. Heu "
+"d'arrencar amb l'opció de rescat i escollir \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Reinstal·la el carregador de l'arrencada"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuts"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minut"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d segons"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV és un protocol que permet muntar un directori d'un servidor web\n"
+"localment, i tractar-lo com si fos un sistema de fitxers local (amb el "
+"benentès\n"
+"que el servidor web està configurat com a servidor WebDAV). Si voleu afegir\n"
+"punts de muntatge WebDAV, seleccioneu \"Nou\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nou"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Desmunta"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Munta"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Punt de muntatge"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcions"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Error"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Si us plau introduïu l'URL del servidor WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "L'URL ha de començar per http:// o https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servidor: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Punt de muntatge: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcions: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Particionament"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Llegiu-ho atentament!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Si us plau, feu primer una còpia de seguretat de les vostres dades"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Surt"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continua"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Si penseu utilitzar aboot, assegureu-vos de deixar espai lliure (amb 2048\n"
+"sectors n'hi ha prou) al començament del disc"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Ajuda"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Trieu una acció"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Teniu una partició de Microsoft Windows gran\n"
+"Suggereixo que primer en canvieu la mida\n"
+"(feu-hi clic i després feu clic a \"Canvia la mida\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Si us plau, feu clic a una partició "
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalls"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "No s'ha trobat cap disc dur!"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Desconegut"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Intercanvi"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Altres"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Buit"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipus de sistema de fitxers:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Advertència"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "No es pot canviar la mida d'aquesta partició"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Utilitzeu primer \"Unmount\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Utilitzeu \"%s\" al seu lloc"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipus"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Trieu una altra partició"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Trieu una partició"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Desfés"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Canvia al mode normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Canvia al mode expert"
+
+#
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Configuració"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Voleu continuar igualment?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Surt sense desar"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Voleu sortir sense escriure la taula de particions?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Voleu desar les modificacions a /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Us caldrà tornar a arrencar per tal que les modificacions de la taula de "
+"particions tinguin efecte"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Buida-ho tot"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Assigna automàticament"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Més"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informació del disc dur"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "S'utilitzen totes les particions primàries"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "No es pot afegir cap més partició"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Si voleu tenir més particions, suprimiu-ne una per poder crear una partició "
+"ampliada"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Sense supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount excepte pels CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Escriu la taula de particions"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaura la taula de particions"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recupera la taula de particions"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Torna a carregar la taula de particions"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Muntatge automàtic dels dispositius extraïbles"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Seleccioneu el fitxer"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"La còpia de seguretat de la taula de particions no té la mateixa mida\n"
+"Voleu continuar igualment?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "S'està intentant recuperar la taula de particions"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informació detallada"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Canvia la mida"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formata"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Afegeix al RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Afegeix a l'LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Suprimeix"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Elimina del RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Elimina de l'LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifica el RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Utilitza per a loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Crea"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Crea una nova partició"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sector d'inici: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Mida en MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tipus de sistema de fitxers: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferència: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nom del volum lògic"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"No podeu crear una nova partició\n"
+"(perquè heu arribat al màxim nombre de particions primàries).\n"
+"Esborreu primer una partició primària i creeu una partició ampliada."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Voleu suprimir el fitxer de loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Després de canviar el tipus de la partició %s, se'n perdran totes les dades"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Canvia el tipus de partició"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Quin sistema de fitxers voleu?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "S'està canviant de ext2 a ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Etiqueta"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "On voleu muntar el fitxer de loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "On voleu muntar el dispositiu %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"No es pot anul·lar el punt de muntatge, perquè aquesta partició\n"
+"s'utilitza per al loopback. Elimineu primer el loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "On voleu muntar %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "S'està canviant la mida"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "S'estan calculant els límits del sistema de fitxers de la FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "No es pot canviar la mida d'aquesta partició"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Cal fer una còpia de seguretat de totes les dades d'aquesta partició"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Després de canviar la mida de la partició %s, se'n perdran totes les dades"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Escolliu la nova mida"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nova mida en MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Per assegurar la integritat de les dades després de canviar la mida de la o "
+"les particions,\n"
+"les comprovacions del sistema de fitxers es realitzaran el proper cop que "
+"arrenqueu en Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Escolliu un RAID existent al qual afegir-ho"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nou"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Escolliu un LVM existent al qual afegir-ho"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Nom LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Aquesta partició no es pot utilitzar per al loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nom del fitxer de loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Proporcioneu un nom de fitxer"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Un altre loopback ja està utilitzant el fitxer, escolliu-ne un altre"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "El fitxer ja existeix. El voleu utilitzar?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opcions de muntatge"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Diversos"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "dispositiu"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivell"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "mida del fragment en KB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Aneu amb compte: aquesta operació és perillosa."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Quin tipus de particionament voleu?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Us caldrà tornar a arrencar per tal que les modificacions tinguin efecte"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "La taula de particions de la unitat %s s'escriurà al disc!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Després de formatar la partició %s, se'n perdran totes les dades"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Voleu comprovar els blocs incorrectes?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Mou els fitxers a la nova partició"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Fitxers ocults"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "S'estan movent els fitxers a la nova partició"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "S'està copiant %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "S'està esborrant %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "la partició %s ara és %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Dispositiu: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Etiqueta del volum: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Lletra d'unitat de DOS: %s (només és una suposició)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipus: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nom: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Inici: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Mida: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sectors"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cilindre %d a %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatat\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Sense formatar\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Muntat\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Fitxer(s) de loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partició arrencada per defecte\n"
+" (per a l'arrencada de l'MS-DOS, no per a LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivell %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Mida del fragment %d KB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Discs RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nom del fitxer de loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"És possible que aquesta partició sigui\n"
+"una partició de programes de control. Potser\n"
+"és millor que no la toqueu.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Aquesta partició especial\n"
+"Bootstrap és per arrencar\n"
+"el vostre sistema en dual.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Només lectura"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Mida: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometria: %s cilindres, %s capçals, %s sectors\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informació: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Discs LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipus de taula de particions: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "al canal %d amb id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Clau de xifratge del sistema de fitxers: "
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Escolliu la clau de xifratge del sistema de fitxers"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Aquesta clau de xifratge és massa senzilla (ha de tenir com a mínim %d "
+"caràcters)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Les claus de xifratge no coincideixen"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Clau de xifratge"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Clau de xifratge (un altre cop)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritme de xifrat"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Canvia el tipus"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+"No es pot entrar amb el nom d'usuari %s (potser la contrasenya és "
+"incorrecta?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Cal l'autenticació de domini"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Quin nom d'usuari?"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Un altre"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Introduïu el vostre nom d'usuari, la contrasenya i el nom de domini per "
+"accedir a aquesta màquina."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nom d'usuari"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Cerca servidors"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Cerca nous servidors"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Cal instal·lar el paquet %s. Voleu instal·lar-lo?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "No es pot instal·lar el paquet %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "El paquet %s necessari falta"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Cal instal·lar els paquets següents:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "S'estan instal·lant els paquets..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "S'estan eliminant els paquets..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"S'ha produït un error: no s'han trobat dispositius vàlids on crear nous "
+"sistemes de fitxers. Si us plau, comproveu el vostre maquinari per trobar el "
+"problema"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Heu de tenir una partició FAT muntada en /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "S'està formatant la partició %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "S'està creant i formatant el fitxer %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "No sé com formatar %s amb el tipus %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatació de %s ha fallat"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Muntatges circulars %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "S'està muntant la partició %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "El muntatge de la partició %s en el directori %s ha fallat"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "S'està comprovant %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "s'ha produït un error en desmuntar %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "S'està habilitant la partició d'intercanvi %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Usa un sistema de fitxers xifrat"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"No actualitzeu els temps d'accés a inode en aquest sistema de fitxers (p.ex. "
+"per a un accés\n"
+"més ràpid a l'\"spool\" de grups de discussió per accelerar els servidor de "
+"grups de discussió)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Només es pot muntar explícitament (p. ex.,\n"
+"l'opció -a no farà que el sistema de fitxers es munti)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"No interpretis el dispositius especials de caràcter o bloc en el sistema de "
+"fitxers."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"No permetis que s'executi cap binari en el sistema de fitxers\n"
+"muntat. Aquesta opció pot ser útil per a un servidor que tingui\n"
+"sistemes de fitxers amb binaris d'arquitectures diferents a la pròpia."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"No permetis que els bits defineix-identificador-usuari o\n"
+"defineix-identificador-grup tinguin efecte (sembla segur,\n"
+"però de fet és força insegur si es té el suidperl(1) instal·lat)."
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Munta el sistema de fitxers només de lectura."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Totes les E/S del sistema de fitxers s'han de fer sincronitzadament."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Dona accés d'escriptura a usuaris normal"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Dona accés només d'escriptura als usuaris normal"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Duplica el punt de muntatge %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "No hi ha particions disponibles"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "S'estan explorant les particions per trobar els punts de muntatge"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Escolliu els punts de muntatge"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Escolliu les particions que voleu formatar"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"És impossible de comprovar el sistema de fitxers %s. Voleu reparar els "
+"errors? (Vigileu, podríeu perdre dades.)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"No hi ha prou espai d'intercanvi per completar la instal·lació; si us plau, "
+"afegiu-ne"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Heu de tenir una partició arrel.\n"
+"Per fer-ho, creeu una partició (o feu clic a una d'existent).\n"
+"Després, trieu l'acció \"Punt de muntatge\" i doneu-li el valor '/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"No teniu cap partició d'intercanvi.\n"
+"\n"
+"Voleu continuar igualment?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Utilitza l'espai lliure"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "No hi ha prou espai lliure per assignar noves particions"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Utilitza les particions existents"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "No hi ha cap partició que es pugui utilitzar"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Utilitza la partició Microsoft Windows® per al loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Quina partició voleu utilitzar per al Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Escolliu les mides"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Mida de la partició arrel en MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Mida de la partició d'intercanvi en MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"No hi ha cap partició FAT per utilitzar com a loopback (o no queda prou "
+"espai)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Utilitza l'espai lliure de la partició de Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "A quina partició voleu canviar-li la mida?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"El redimensionador de la FAT no pot gestionar la vostra partició. \n"
+"S'ha produït l'error següent: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "S'està calculant la mida de la partició de Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"La partició de Microsoft Windows® està massa fragmentada. Si us plau, "
+"reinicieu l'ordinador sota Microsoft Windows® i executeu l'eina \"defrag\". "
+"Llavors, torneu a començar la instal·lació del Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ATENCIÓ!\n"
+"\n"
+"\n"
+"Tot seguit, DrakX canviarà la mida de la vostra partició de Windows.\n"
+"\n"
+"\n"
+"Aneu amb compte: aquesta operació és perillosa. Si encara no ho heu fet, "
+"sortiu de la instal·lació, executeu \"chkdsk c:\" a la línia de comandes "
+"sota Windows (atenció el programa gràfic \"scandisk\" no és suficient, "
+"assegura't d'usar \"chkdsk\" en una línia de comandes), opcionalment "
+"executeu defrag, despréstorneu a començar la instal·lació. També haurieu de "
+"fer una còpia de seguretat de les vostres dades.\n"
+"\n"
+"\n"
+"Quan estigueu segur, premeu %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Següent"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Quina mida voleu deixar per a la partició de Microsoft Windows® partició %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Mida"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "S'està redimensionant la partició de Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Ha fallat el redimensionament de la FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"No hi ha cap partició FAT a la qual canviar la mida (o no queda prou espai)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Elimina el Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Esborra tot el disc"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Teniu més d'un disc dur; en quin voleu instal·lar el Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Es perdran TOTES les particions, i les dades que contenen, de la unitat %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Particionament personalitzat de disc"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Utilitza l'fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Ara podeu fer les particions a %s.\n"
+"Quan acabeu, no oblideu desar-les utilitzant 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "No es pot trobar espai per a la instal·lació"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+"L'auxiliar de particionament del DrakX ha trobat les solucions següents:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Ha fallat el particionament: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "No podeu utilitzar el JFS per a particions inferiors a 16 MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "No podeu utilitzar el ReiserFS per a particions inferiors a 32 MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "amb /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servidor"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"No es pot llegir la taula de particions del dispositiu %s, està massa "
+"malmesa :(\n"
+"Es pot mirar de continuar, suprimint les particions incorrectes (es perdran "
+"TOTES LES DADES!).\n"
+"L'altra solució és impedir al DrakX que modifiqui la taula de particions.\n"
+"(l'error és %s)\n"
+"\n"
+"Esteu d'acord en perdre totes les particions?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Els punts de muntatge han de començar amb una /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Els punts de muntatge només poden contenir caràcters alfanumèrics"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Ja hi ha una partició amb el punt de muntatge %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Heu seleccionat una partició RAID de programari com a arrel (/).\n"
+"Això no ho pot gestionar cap carregador d'arrencada sense una partició /"
+"boot.\n"
+"Si us plau, assegureu-vos d'afegir una partició /boot"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "No podeu utilitzar un volum lògic LVM per al punt de muntatge %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Heu seleccionat un volum lògic LVM com a arrel (/).\n"
+"El carregador d'arrencada no ho pot gestionar sense una partició /boot.\n"
+"Si us plau, assegureu-vos d'afegir una partició /boot"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Aquest directori s'ha de mantenir dins del sistema de fitxers arrel"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Necessiteu un sistema de fitxers real (ext2/ext3, reiserfs, xfs o jfs) per a "
+"aquest punt de muntatge\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"No podeu utilitzar un sistema d'arxius xifrat per al punt de muntatge %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "No hi ha prou espai per a l'assignació automàtica"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Res a fer"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disquet"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disc"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Gravadors de CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Cinta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Controladors AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Targeta de vídeo"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Targeta DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Targeta de TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Altres sispositius multimèdia"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Targeta de so"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processadors"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Adaptadors XDSI"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Dispositius de so USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Targetes de ràdio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Targetes de xarxa ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Targetes de xarxa WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Dispositius Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Targeta Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Mòdem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Adaptadors ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memòria"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Impressora"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Ports de controladors per jocs"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Palanca de jocs"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Controladors SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Controladors RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Controladors (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, fuzzy, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Dispositius de so USB"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model de la targeta:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Controladors Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Controladors PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Controladors SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Controladors USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Ports USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Controladors SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Ponts i controladors del sistema"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Teclat"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Ratolí"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "SAI"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Escàner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Desconegut/Altres"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "CPU #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Espereu si us plau... s'està aplicant la configuració"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "No hi ha cap controlador alternatiu"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"No hi ha cap controlador OSS/ALSA alternatiu conegut per a la vostra targeta "
+"de so (%s), que actualment fa servir \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Configuració de so"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Aquí podeu seleccionar un controlador alternatiu (tant OSS com ALSA) per ala "
+"targeta de so (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"La vostra targeta fa servir actualment el controlador %s \"%s\" (el "
+"controlador per defecte per a aquesta targeta és \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"L'OSS (Sistema de So Obert) va ser la primera API de so. És una API "
+"independent del sistema operatiu (disponible en molts sistemes UNIX(tm)) "
+"però és molt bàsica i limitada.\n"
+"Encara més, tots els controladors OSS reinventen la roda.\n"
+"\n"
+"L'ALSA (Arquitectura Avançada de So per a Linux) és una arquitectura modular "
+"que\n"
+"funciona amb una àmplia varietat de targetes ISA, USB i PCI.\n"
+"\n"
+"També proporciona una API molt més funcional que la d'OSS.\n"
+"\n"
+"Per utilitzar alsa, es pot triar entre:\n"
+"- l'antiga API compatible d'OSS\n"
+"- la nova API d'ALSA que proporciona moltes característiques millorades però "
+"que necessita fer servir la llibreria ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Controlador:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Resolució de problemes"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"L'antic controlador \"%s\" ha estat desaprovat.\n"
+"\n"
+"S'ha vist que causa problemes al nucli en descarregar-se.\n"
+"\n"
+"El nou controlador \"%s\" només s'usarà en la següent arrencada."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "No hi ha cap programa de control de codi obert"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"No hi ha cap programa de control gratuït per a la vostra targeta de so (%s), "
+"però n'hi ha un de propietat a \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "No hi ha cap controlador conegut"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "No hi ha cap controlador conegut per a la vostra targeta de so (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Controlador desconegut"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+"Error: el programa de control \"%s\" per a la vostra targeta de so no és a "
+"la llista"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Resolució de problemes amb el so"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"El comprovador de sons d'error clàssic pot executar les ordres següents:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" us dirà el programa de control que la\n"
+"vostra targeta utilitza per defecte\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" us dirà el programa de control\n"
+"que està utilitzant actualment\n"
+"\n"
+"- \"/sbin/lsmod\" us permetrà comprovar si el seu mòdul (programa de\n"
+"control) està carregat o no\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" i \"/sbin/chkconfig --list alsa\" us\n"
+"diran si els serveis de so i alsa estan configurats per executar-se en\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" us dirà si el so està silenciat o no\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" us dirà quin programa utilitza la targeta de "
+"so.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Deixa'm agafar qualsevol programa de control"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Selecció d'un programa de control arbitrari"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Si esteu segur de saber quin és el programa de control correcte per a la\n"
+"vostra targeta, en podeu seleccionar un de la llista superior.\n"
+"\n"
+"El programa de control actual per a la vostra targeta \"%s\" és \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Detecció automàtica"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Desconegut|Genèric"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Desconegut|CPH05X (bt878) [molts venedors]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Desconegut|CPH06X (bt878) [molts venedors]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Per a les targetes de TV més modernes, el mòdul bttv del nucli GNU/Linux "
+"detecta automàticament els paràmetres correctes.\n"
+"Si la vostra targeta no és detectada, podeu forçar el tipus de sintonitzador "
+"i de targeta aquí. Simplement seleccioneu els paràmetres necessaris per a la "
+"vostra targeta de TV"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model de la targeta:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipus de sintonitzador:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "D'acord"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Sí"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "No"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Trieu un fitxer"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Afegeix"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifica"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Elimina"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Fi"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Anterior"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Elecció incorrecta, torneu-ho a intentar\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Quina és la vostra elecció? (predeterminat %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Entrades que heu d'emplenar:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Quina és la vostra elecció? (0/1, predeterminat '%s')"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Botó '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Voleu fer clic en aquest botó?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Quina és la vostra elecció? (predeterminat '%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " entreu 'void' per entrada buida"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Hi ha moltes coses per escollir de (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Si us plau, escolliu el primer número del rang 10 que voleu editar,\n"
+"o premeu Retorn per continuar.\n"
+"Què trieu? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Avís, una etiqueta ha canviat:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Torna a enviar"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Unió dels Emirats Àrabs"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua i Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albània"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armènia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antilles Holandeses"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antàrtida"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Americana"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Àustria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Austràlia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaitjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bòsnia i Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Bèlgica"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgària"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benín"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolívia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahames"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Illa Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorrússia"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canadà"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Illes Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "República Centrefricana"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suïssa"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Costa d'Ivori"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Illes Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Xile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Xina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colòmbia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Sèrbia i Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cap Verd"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Illa Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Xipre"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "República Txeca"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Alemanya"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dinamarca"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "República Dominicana"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algèria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Equador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estònia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sàhara Occidental"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Espanya"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiòpia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlàndia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Illes Malvines (Falkland)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronèsia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Illes Fèroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "França"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Regne Unit"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Geòrgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guaiana Francesa"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlàndia"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gàmbia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadalupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea Equatorial"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grècia"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Illes Geòrgia del Sud i Sandwich del Sud"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Xina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Illa Heard i Illes McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondures"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croàcia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haití"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hongria"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonèsia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Índia"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territori Britànic de l'Oceà Índic"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islàndia"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itàlia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordània"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japó"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirguizistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comores"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Christopher i Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corea (Nord)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Illes Caiman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Líban"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libèria"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituània"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letònia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Líbia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marroc"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Mònaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldàvia"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Illes Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedònia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongòlia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Illes Marianes del Nord"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinica"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritània"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurici"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mèxic"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malàisia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Moçambic"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namíbia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nova Caledònia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Níger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Illa Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigèria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Països Baixos"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noruega"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nova Zelanda"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panamà"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perú"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinèsia francesa"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Nova Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipines"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polònia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre i Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguai"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rússia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Aràbia Saudita"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Illes Salomó"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Suècia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Eslovènia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Illes Svalbard i Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Eslovàquia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somàlia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome i Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Síria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swazilàndia"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Illes Turks i Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Txad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Territoris francesos del Sud"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailàndia"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Oriental"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunísia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turquia"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinitat i Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzània"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ucraïna"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Illes Perifèriques Menors dels EUA"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Estats Units"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguai"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vaticà"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent i les Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Veneçuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Illes Verge Britàniques"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Illes Verge Americanes"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis i Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Iemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sud-àfrica"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zàmbia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Benvingut a %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "El volum físic %s encara està en ús"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Elimineu primer els volums lògics\n"
+
+#: lvm.pm:178
+#, fuzzy, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"El carregador d'arrencada no funciona amb /boot a diferents volums físics."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introducció\n"
+"\n"
+"D'ara endavant, hom es referirà al sistema operatiu i als diferents\n"
+"components disponibles en la distribució Mandriva Linux com als\n"
+"\"Productes de programari\". Els Productes de programari inclouen,\n"
+"però no estan restringits a, el conjunt de programes, mètoDES, regles\n"
+"i documentació relativa al sistema operatiu i els diferents\n"
+"components de la distribució Mandriva Linux.\n"
+"\n"
+"\n"
+"1. Acord de llicència\n"
+"\n"
+"Si us plau, llegiu atentament aquest document. Aquest document és un\n"
+"acord de llicència entre la vostra persona i Mandriva S.A., que\n"
+"s'aplica als Productes de programari. Pel fet d'instal·lar, duplicar\n"
+"o utilitzar els Productes de programari en qualsevol forma esteu\n"
+"acceptant explícitament, i expressant el vostre acord a avenir-vos a\n"
+"les clàusules i condicions d'aquesta Llicència. Si no esteu d'acord\n"
+"amb qualsevol part de la Llicència, no esteu autoritzat a instal·lar,\n"
+"duplicar o utilitzar els Productes de programari. Qualsevol intent\n"
+"d'instal·lar, duplicar o utilitzar els Productes de programari en una\n"
+"forma que no s'adapti a les clàusules i condicions d'aquesta\n"
+"Llicència, és nul i finalitzarà els vostres drets sobre la mateixa.\n"
+"En finalitzar-se la Llicència, heu de destruir immediatament totes\n"
+"les còpies dels Productes de programari.\n"
+"\n"
+"\n"
+"2. Garantia limitada\n"
+"\n"
+"Els Productes de programari i documentació adjunta es subministren\n"
+"\"tal com són\", sense cap garantia, fins al punt permés per la llei.\n"
+"Mandriva S.A. no serà, sota cap circumstància, i fins al punt\n"
+"permés per la llei, responsable de cap dany especial, incidental ni\n"
+"directe (incloent, sense limitar-se a, els danys per pèrdua de\n"
+"negocis, interrupció de negocis, pèrdues financeres, multes i costes\n"
+"judicials, o qualsevol altre dany que resultin d'un judici, o\n"
+"qualsevol altre pèrdua d'importància) que resulti de l'ús o de la\n"
+"impossibilitat d'utilitzar els Productes de programari, fins i tot si\n"
+"Mandriva S.A. ha estat avisat de la possibilitat que\n"
+"s'esdevinguin aquests danys.\n"
+"\n"
+"RESPONSABILITAT LIMITADA RELATIVA A LA POSSESSIÓ O UTILITZACIÓ DE PROGRAMARI "
+"PROHIBIT EN ALGUNS PAÏSOS\n"
+"\n"
+"Fins al punt permés per la llei, Mandriva S.A. o els seus\n"
+"distribuïdors no seran, sota cap circumstància, responsables de cap\n"
+"dany especial, incidental ni directe (incloent, sense limitar-se a,\n"
+"els danys per pèrdua de negocis, interrupció de negocis, pèrdues\n"
+"financeres, multes i costes judicials, o qualsevol altre dany que\n"
+"resultin d'un judici, o qualsevol altre pèrdua d'importància) que\n"
+"resulti de la possessió i utilització dels components de programari o\n"
+"de la seva descàrrega des d'un dels llocs de Mandriva Linux, que\n"
+"estiguin prohibides o restringides en alguns països per les lleis\n"
+"locals. Aquesta responsabilitat limitada s'aplica, però no hi està\n"
+"restringida, als potents components criptogràfics inclosos als\n"
+"Productes de programari.\n"
+"\n"
+"\n"
+"3. la llicència GPL i llicències relacionades\n"
+"\n"
+"Els Productes de programari consisteixen en components creats per\n"
+"diferents persones o entitats. La majoria d'aquests components es\n"
+"regeixen per les clàusules i condicions de la Llicència General\n"
+"Pública de GNU, a la qual d'ara endavant hom s'hi referirà com a\n"
+"\"GPL\", o de llicències similars. la majoria d'aquestes llicències\n"
+"us permeten duplicar, adaptar o redistribuir els components que\n"
+"cobreixen. Si us plau, llegiu atentament les clàusules i condicions\n"
+"de l'acord de llicència de cada component abans d'utilitzar-lo.\n"
+"Qualsevol pregunta sobre la llicència d'un component s'ha d'adreçar\n"
+"al seu autor i no a Mandriva.\n"
+"Els programes desenvolupats per Mandriva S.A. es regeixen per la\n"
+"llicència GPL.La documentació escrita per Mandriva S.A. està regida per una\n"
+"llicència específica; consulteu la documentació per a més\n"
+"informació.\n"
+"\n"
+"\n"
+"4. Drets sobre la propietat intel·lectual\n"
+"\n"
+"Tots els drets sobre els components dels Productes de programari\n"
+"pertanyen als seus autors respectius i estan protegits per les lleis\n"
+"de propietat intel·lectual i de copyright aplicables als programes\n"
+"informàtics.\n"
+"Mandriva S.A. es reserva els drets de modificar o adaptar els\n"
+"Productes de programari, totalment o parcialment, per tots els\n"
+"mitjans i amb totes les finalitats.\n"
+"\"Mandriva\", \"Mandriva Linux\" i els logotips associats son marques\n"
+"registrades de Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Lleis rectores \n"
+"\n"
+"Si qualsevol part d'aquest acord és declarat nul, il·legal o\n"
+"inaplicable per un tribunal, aquesta part s'exclourà del contracte.\n"
+"Seguiu obligat, però, per les altres seccions aplicables de\n"
+"l'acord.\n"
+"Les clàusules i condicions d'aquesta Llicència es regeixen per les\n"
+"lleis de França.\n"
+"Tots els litigis sobre les clàusules d'aquesta llicència es dirimiran\n"
+"preferiblement fora dels tribunals. Com a últim recurs, el litigi es\n"
+"portarà als tribunals competents de París, França.\n"
+"Per a qualsevol tema relacionat amb aquest document, poseu-vos en\n"
+"contacte amb Mandriva S.A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Avís: El programari lliure no està necessàriament lliure de patents, alguns "
+"dels programes\n"
+"lliures inclosos poden estar coberts per patents al teu país. Per exemple, "
+"els\n"
+"decodificadors MP3 inclosos poden necessitar una llicència per poder ser "
+"usats (consulteu\n"
+"http://www.mp3licensing.com per més detalls). Si no esteu segur si una "
+"patent és aplicable\n"
+"consulteu les lleis locals."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Avís\n"
+"\n"
+"Si us plau, llegiu atentament les clàusules següents. Si no esteu\n"
+"d'acord amb qualsevol d'elles, no esteu autoritzat a instal·lar\n"
+"els CD següents. Premeu 'Rebutja' per continuar la instal·lació\n"
+"sense utilitzar aquests CD.\n"
+"\n"
+"\n"
+"Alguns dels components que s'inclouen en aquest CD no estan\n"
+"regits per la llicència GPL o acords semblants. Cadascun d'aquests\n"
+"components es regeix per les clàusules i condicions de la seva\n"
+"pròpia llicència específica. Si us plau, llegiu atentament i\n"
+"accepteu aquestes llicències específiques abans d'utilitzar o\n"
+"redistribuir els components esmentats. En general, aquestes\n"
+"llicències impedeixen la transferència, duplicació (excepte amb\n"
+"la finalitat de fer-ne còpies de seguretat), redistribució,\n"
+"enginyeria inversa, desassemblatge, decompilació o modificació del\n"
+"component. Qualsevol violació de l'acord finalitzarà immediatament\n"
+"els vostres drets sobre la llicència específica. Tret que la\n"
+"llicència específica us en garanteixi els drets, normalment no\n"
+"podreu instal·lar els programes en més d'un sistema, ni adaptar-lo\n"
+"per utilitzar-lo en una xarxa. En cas de dubte, poseu-vos en\n"
+"contacte directament amb el distribuïdor o editor del component.\n"
+"La transferència a terceres parts i la còpia d'aquests components,\n"
+"incloent la documentació, estan en general prohibides.\n"
+"\n"
+"\n"
+"Tots els drets sobre els components del CD següent pertanyen als\n"
+"seus autors respectius i estan protegits per les lleis de\n"
+"propietat intel·lectual i de copyright aplicables als programes\n"
+"informàtics.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Felicitats! La instal·lació ha acabat.\n"
+"Traieu el suport d'arrencada i premeu Retorn per tornar a arrencar.\n"
+"\n"
+"\n"
+"Trobareu la solució als problemes coneguts d'aquesta versió del\n"
+"Mandriva Linux a la fe d'errates que hi ha a \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"La informació sobre com configurar el vostre sistema està disponible a\n"
+"l'últim capítol d'instal·lació de la Guia Oficial de l'Usuari del\n"
+"Mandriva Linux."
+
+#
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Configuració del controlador del SAI"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Configuració dels mòduls"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Ara podeu configurar cada paràmetre del mòdul."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "S'han trobat interfícies %s"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "En teniu una altra?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Teniu alguna interfície %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Mira la informació del maquinari"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "S'està instal·lant el controlador pel controlador USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "S'està instal·lant el controlador pel controlador firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "S'està instal·lant el controlador pel controlador de disc dur %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "S'està instal·lant el controlador pel controlador ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "S'està instal·lant el controlador per a la targeta de %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Ara podeu subministrar les opcions per al mòdul %s.\n"
+"Tingueu en compte que qualsevol adreça s'ha de prefixar amb 0x, com '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Ara podeu proporcionar les opcions per al mòdul %s.\n"
+"Les opcions estan en el format \"nom=valor nom2=valor2 ...\".\n"
+"Per exemple, \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opcions del mòdul:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Quin controlador de %s he de provar?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"En alguns casos, el controlador de %s necessita informació addicional\n"
+"per funcionar correctament, tot i que normalment funciona bé sense ella.\n"
+"Voleu especificar opcions addicionals o deixar que el controlador\n"
+"cerqui al vostre ordinador la informació que necessita? Aquesta recerca\n"
+"podria penjar l'ordinador, però això no causaria cap dany."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Exploració automàtica"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Especifica les opcions"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Ha fallat la càrrega del mòdul %s.\n"
+"Voleu tornar-ho a intentar amb altres paràmetres?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "ha fallat el muntatge: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Aquesta plataforma no suporta particions ampliades"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Hi ha un forat a la vostra taula de particions, però no puc utilitzar-lo.\n"
+"L'única solució és moure les particions primàries per fer que el forat quedi "
+"contigu a les particions ampliades"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "S'ha produït un error en llegir el fitxer %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Ha fallat la restauració des del fitxer %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Fitxer de còpia de seguretat incorrecte"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "S'ha produït un error en escriure al fitxer %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Alguna cosa no va bé en la vostra unitat. \n"
+"Ha fallat una comprovació de la integritat de les dades. \n"
+"Això vol dir que qualsevol cosa que s'escrigui al disc acabarà amb dates "
+"aleatòries i malmeses."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "No es pot afegir una partició al RAID _formatat_ %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "No hi ha prou particions per al nivell RAID %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "No s'ha pogut crear el directori /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "No s'ha pogut crear l'enllaç /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"No s'ha pogut copiar el fitxer de firmware %s a /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "No s'han pogut establir els permissos del fitxer de firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"No s'ha pogut instal·lar els paquets necessaris per compartir els vostres "
+"escàner(s)."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Els vostre(s) escànner(s) no estaran disponibles per a usuaris no "
+"privilegiats."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Accepta/Rebutja els missatges d'error IPv4 falsos."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Accepta/Refusa l'eco icmp broadcast."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Accepta/Rebutja l'eco icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Permet/Impedeix l'entrada automàtica."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Si s'estableix a \"ALL\" permet que /etc/issue i /etc/issue.net existeixin.\n"
+"\n"
+"Si s'estableix a \"NONE\" no espermet cap\n"
+"\n"
+"Altrament només es permet /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Permet/Impedeix tornar a arrencar per l'usuari de la consola."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Permet/Impedeix l'entrada de root remota."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Permet/Impedeix l'entrada directa de root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Permet/Impedeix la llista d'usuaris del sistema en els gestors de pantalla "
+"(kdm i gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Permet/Impedeix connexions X:\n"
+"\n"
+"- ALL (es permeten totes les connexions),\n"
+"\n"
+"- LOCAL (només connexió des de la màquina local),\n"
+"\n"
+"- NONE (cap connexió)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"L'argument indica si els clients estan autoritzar a connectar\n"
+"al servidor X des de la xarxa en el port tcp 6000 o no."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autoritza:\n"
+"\n"
+"- tots els serveis controlats per tcp_wrappers (vegeu hosts.deny(5)) si "
+"s'estableix a \"ALL\",\n"
+"\n"
+"- només els fitxers locals si s'estabeix a \"LOCAL\"\n"
+"\n"
+"- cap si s'estableix a \"NONE\".\n"
+"\n"
+"Per autoritzar els serveis que us calguin, utilitzeu /etc/hosts.allow\n"
+"(vegeu hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Si SERVER_LEVEL (o SECURE_LEVEL si no hi és) és més gran que 3\n"
+"a /etc/security/msec/security.conf, crea l'enllaç simbòlic /etc/security/"
+"msec/server\n"
+"per apuntar a /etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+" El /etc/security/msec/server és utilitzat per chkconfig --add per decidir\n"
+"afegir un servei si és present al fitxer durant la instal·lació dels paquets."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Habilita/Inhabilita crontab i at per als usuaris.\n"
+"\n"
+"Posa els usuaris autoritzats a /etc/cron.allow i /etc/at.allow\n"
+"(vegeu man at(1) i crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Habilita/Deshabilita la protecció contra falsejament de resolució de noms. "
+"Si\n"
+"\"%s\" és cert, informa també al registre del sistema."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Alarmes de seguretat:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Habilita/Inhabilita la protecció contra falsejament de la IP."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Habilita/Inhabilita el libsafe si és que es troba al sistema."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Habilita/Inhabilita el registre de paquets IPv4 estranys."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Habilita/Inhabilita la comprovació de seguretat msec horària."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"S'està habilitant su només per a membres del grup wheel o permet su des de "
+"qualsevol usuari."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Utilitza una contrasenya per autenticar usuaris."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Activa/Inhabilita la comprovació de promiscuïtat de les targetes Ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Activa/Inhabilita la comprovació diària de seguretat."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Habilita/Deshabilita sulogin(8) en nivell monousuari."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Afegiu el nom com a excepció al maneig, per part de l'msec, de l'antiguitat "
+"de contrasenyes."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Definiu l'antiguitat de la contrasenya a \"max\" dies i temps en canviar a "
+"\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Defineix la llargària de l'historial de contrasenyes per prevenir la "
+"reutilització de contrasenyes."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Defineix la llargada mínima de la contrasenya i el nombre mínim de xifres i "
+"de lletres en majúscules."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Defineix umask de root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "si és \"sí\", comprova els ports oberts"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"si és \"sí\", comprova :\n"
+"\n"
+" - les contrasenyes buiDES, \n"
+"\n"
+" - les que no hi són a /etc/shadow\n"
+"\n"
+" - usuaris amb l'identificador 0 que no sigui root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "si és \"sí\", comprova els permisos dels fitxers a casa dels usuaris"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"si és \"sí\", comprova si els dispositius de xarxa són en mode promiscu."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "si és \"sí\", executa les comprovacions diàries de seguretat."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "si és \"sí\", comprova les addicions/supressions dels fitxers sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "si és \"sí\", comprova la contrasenya buida a /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "si és \"sí\", comprova la suma de control dels fitxers suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "si és \"sí\", comprova addicions/eliminacions dels fitxers arrel suid."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "si és \"sí\", informa dels fitxers sense propietari"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "si és \"sí\", comprova els fitxers/directoris que tothom pot escriure."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "si és \"sí\", executa les comprovacions chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"si es defineix, envia l'informe de correu a aquesta adreça electrònica; si "
+"no, envia'l al root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "si és \"sí\", l'informa comprova el resultat per correu."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "No enviïs correus si no hi ha res del que avisar"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+"si és \"sí\", executa determinades comprovacions de la base de dades rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+"si és \"sí\", informa del resultat de la comprovació al registre del sistema."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "si és \"sí\", informa dels resultats de la comprovació a tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Defineix la mida de l'historial d'ordres de l'intèrpret d'ordres. El valor -"
+"1 indica il·limitada."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Defineix el temps màxim d'espera per a l'intèrpret d'ordres. El valor zero "
+"indica 'sense temps màxim'."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "La unitat del temps d'espera és el segon"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Defineix la umask de l'usuari."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Accepta els missatges d'error IPv4 falsos."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Accepta l'eco icmp broadcast"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Accepta echo icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* existeix"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Permet l'entrada de root remota"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Entrada directa com a superusuari"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Llista els usuaris en el sistema en gestors de pantalla (kdm i gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Permet connexions X Windows"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autoritza connexions TCP a les X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autoritza tots els serveis control·lats per tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig obeeix les regles msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Habilita \"crontab\" i \"at\" pels usuaris"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Habilita la protecció contra falsejament de la IP."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Habilita/Inhabilita el libsafe si és que es troba al sistema."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Habilita el registre de paquets IPv4 estranys"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Habilita la comprovació de seguretat msec horària"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Habilita su només per a membres del grup wheel o per qualsevol usuari"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Utilitza una contrasenya per autenticar usuaris."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Comprovació de promiscuïtat de les targetes Ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Comprovació de seguretat diària"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) en nivell monousuari"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Sense envelliment de contrasenya per"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Longitud de la història de contrasenyes"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Longitud mínima de la contrasenya i el nombre de dígits i lletres en "
+"majúscules"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Umask de root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Mida de la història de l'intèrpret de comandes"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Temps màxim d'espera per a l'intèrpret d'ordres"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Umask d'usuari"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Comprova els ports oberts"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Comprova els permisos dels fitxers al home dels usuaris"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Comprova si els dispositius de xarxa són en mode promiscu"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Executa les comprovacions diàries de seguretat"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Comprova les addicions/supressions dels fitxers sgid."
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Comprova la contrasenya buida a /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Comprova la suma de control dels fitxers suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Comprova addicions/eliminacions de fitxers suid root."
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Informa dels fitxers sense propietari"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Comprova els fitxers/directoris que tothom pot escriure"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Executa les comprovacions chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"si es defineix, envia l'informe de correu a aquesta adreça electrònica; si "
+"no, envia'l al root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Informa el resultat de la comprovació per correu"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Executa determinades comprovacions de la base de dades rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Informa del resultat de la comprovació al registre del sistema"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Informa dels resultats de la comprovació a tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Benvinguda als crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Pobre"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Estàndard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Alt"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Més Alt"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoic"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Aquest nivell s'ha d'utilitzar amb cura. Fa el vostre sistema molt més "
+"fàcil\n"
+"d'utilitzar, però també molt sensible: no s'ha d'utilitzar en un ordinador\n"
+"connectat a d'altres o a Internet. No cal contrasenya per accedir-hi."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Ara, la contrasenya està habilitada, però l'ús com a ordinador de xarxa "
+"segueix sense ser recomanable."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Aquesta és la seguretat estàndard recomanada per a un ordinador que "
+"s'utilitzarà per connectar-se a Internet com a client. Ara hi ha "
+"comprovacions de seguretat."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Hi ha ja algunes restriccions, i a la nit es fan més comprovacions "
+"automàtiques."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Amb aquest nivell de seguretat, la utilització d'aquest sistema com a "
+"servidor esdevé possible.\n"
+"La seguretat és ara prou alta com per utilitzar el sistema com a servidor\n"
+"que accepti connexions de molts clients. Nota: si la vostra màquina és només "
+"un client d'Internet, seria millor escollir un nivell més baix."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Aquest és similar al nivell anterior, però el sistema està completament "
+"tancat i les característiques de seguretat estan al màxim."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Seguretat"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opcions bàsiques del DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Escolliu el nivell de seguretat desitjat"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Nivell de seguretat"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Empra libsafe per als servidors"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Una llibreria que defensa contra els atacs de 'buffer overflow' i de 'format "
+"string'."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Administrador de seguretat (login o email)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Executa el sistema de so ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, un programador d'ordres periòdiques."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"L'apmd s'utilitza per monitoritzar l'estat de la bateria i registrar-lo "
+"mitjançant el registre del sistema (syslog).\n"
+"També es pot utilitzar per apagar l'ordinador quan queda poca bateria."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Executa les ordres programades per l'ordre 'at' a l'hora que es va\n"
+"especificar en executar 'at', i executa les ordres automàtiques quan la\n"
+"mitjana de càrrega és prou baixa."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"El cron és un programa UNIX estàndard que executa programes determinats\n"
+"per l'usuari en hores programades. El vixie cron afegeix un cert nombre de\n"
+"característiques al cron bàsic, incloent seguretat millorada i opcions\n"
+"de configuració més potents."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM és un dimoni de monitorització de fitxers. És usat per tenir informes "
+"quan els fitxers canvien\n"
+"És usat a GNOME i KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"El GPM afegeix suport de ratolí a aplicacions Linux basades en text, com ara "
+"el Midnight Commander. També permet operacions de tallar i enganxar amb el "
+"ratolí, i inclou suport de menús desplegables a la consola."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"El HardDrake fa una prova del maquinari, i opcionalment configura\n"
+"el maquinari nou/canviat."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"L'Apache és un servidor de World Wide Web. S'utilitza per servir fitxers\n"
+"HTML i CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"El dimoni superservidor d'Internet (conegut normalment com 'inetd') inicia\n"
+"altres serveis d'Internet a mesura que es van necessitant. És el "
+"responsable\n"
+"d'iniciar molts serveis, incloent el telnet, l'ftp, l'rsh i l'rlogin. Si\n"
+"s'inhabilita l'inetd, s'inhabiliten tots els serveis de què és responsable."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Executa el filtratge de paquets per als nuclis Linux 2.2, per instal·lar\n"
+"un tallafocs que protegeixi el vostre ordinador d'atacs des de la xarxa."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Aquest paquet carrega el mapa de teclat seleccionat segons s'ha definit\n"
+"a /etc/sysconfig/keyboard. Es pot seleccionar mitjançant la utilitat\n"
+"kbdconfig.\n"
+"Per a la majoria d'ordinadors, s'ha de deixar habilitat."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Regeneració automàtica del capçal de nucli a /boot per\n"
+"/usr/include/linux/{autoconf,versió}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+"Detecció i configuració automàtica de maquinari en iniciar l'ordinador."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"De vegaDES, el Linuxconf determinarà que s'han de fer algunes tasques\n"
+"en iniciar l'ordinador per mantenir la configuració del sistema."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"L'lpd és el dimoni d'impressió necessari perquè l'lpr funcioni\n"
+"correctament. Bàsicament, es tracta d'un servidor que assigna les\n"
+"tasques d'impressió a la(es) impressora(es)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"El Servidor Virtual de Linux (LVS) s'usa per construir un servidor de \n"
+"gran capacitat i robustesa."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) és un servidor de noms de domini (DNS) que s'utilitza per "
+"convertir noms d'ordinadors centrals en adreces IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Munta i desmunta tots els punts de muntatge dels sistemes de fitxers\n"
+"de xarxa (NFS), SMB (gestor de xarxes d'àrea local/Windows) i NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Activa/Desactiva totes les interfícies de xarxa configurades per\n"
+"iniciar-se durant l'arrencada."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"L'NFS és un protocol popular de compartició de fitxers en xarxes TCP/IP.\n"
+"Aquest servei proporciona la funcionalitat del servidor NFS, que es\n"
+"configura mitjançant el fitxer /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"L'NFS és un protocol popular de compartició de fitxers en xarxes TCP/IP\n"
+"Aquest servei proporciona la funcionalitat de blocatge de fitxer NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Engega automàticament a l'arrencada la tecla de fixació del \n"
+"teclat numèric a la consola i sota Xorg."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Funciona amb OKI 4w i winprinters compatibles."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"El suport PCMCIA serveix normalment per funcionar amb coses com ara "
+"l'ethernet\n"
+"i els mòdems en portàtils. No s'iniciarà tret que es configuri, de manera\n"
+"que no hi ha problema per instal·lar-lo en ordinadors que no el necessiten."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"El mapador de ports (portmapper) gestiona les connexions RPC, que s'usen "
+"per\n"
+"protocols com ara l'NFS i el NIS. El servidor portmap s'ha d'estar\n"
+"executant en ordinadors que actuen com a servidors per a protocols que\n"
+"utilitzen el mecanisme RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"El Postfix és un Agent de Transport de Correu, que és el programa que passa "
+"el correu d'un ordinador a un altre."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Desa i recupera el generador d'entropia del sistema per a\n"
+"la generació de nombres aleatoris d'una qualitat més alta."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Assigna els dispositius en cru a dispositius de blocs (com ara les "
+"particions de\n"
+"disc dur), perquè siguin utilitzats per aplicacions com ara Oracle o "
+"reproductors DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"El dimoni 'routed' permet que la taula d'encaminadors IP automàtics\n"
+"s'actualitzi mitjançant el protocol RIP. Mentre que el RIP s'utilitza\n"
+"àmpliament en xarxes petites, les xarxes complexes necessiten protocols\n"
+"d'encaminament més complexos."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"El protocol rstat permet que els usuaris d'una xarxa recuperin\n"
+"mesures de rendiment de qualsevol ordinador de la mateixa."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"El protocol rusers permet que els usuaris d'una xarxa identifiquin\n"
+"qui està connectat en altres ordinadors de la mateixa."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"El protocol rwho permet que els usuaris remots obtinguin una llista\n"
+"de tots els usuaris que estan connectats a un ordinador que està\n"
+"executant el dimoni rwho (similar al finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Executa el sistema de so en el vostre ordinador"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"El syslog és el sistema que utilitzen molts dimonis per registrar\n"
+"missatges en diversos fitxers de registre del sistema. És aconsellable\n"
+"executar-lo sempre."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Carrega els controladors per a dispositius USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Inicia l'X Font Server (això és necessari perquè l'Xorg funcioni)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Impressió"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Compartició de fitxers"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Administració remota"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Servidor de base de dades"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Serveis"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Escolliu els serveis que s'han d'iniciar automàticament durant l'arrencada"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Serveis: %d activats per %d registrats"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "s'està executant"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "aturat"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Serveis i dimonis"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Malauradament no hi ha més informació\n"
+"sobre aquest servei."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informació"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Inicia quan el demanin"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "En arrencar"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Inicia"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Atura"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Aquest programa és programari lliure; el podeu redistribuir i/o modificar\n"
+"sota els termes de la Llicència General Pública de GNU tal com l'ha\n"
+"publicada la Free Software Foundation, ja sigui la versió 2 com (a elecció\n"
+"vostra) qualsevol versió posterior.\n"
+"\n"
+"Aquest programa és distribueix amb l'esperança que serà útil, però\n"
+"SENSE CAP GARANTIA; sense ni tant sols la garantia implícita de\n"
+"MERCANTIBILITAT o ADEQUACIÓ A UNA FINALITAT DETERMINADA.\n"
+"En trobareu més detalls a la Llicència General Pública de GNU.\n"
+"\n"
+"Heu d'haver rebut una còpia de la Llicència General Pública de GNU\n"
+"amb aquest programa; si no és així, escriviu a la Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"EUA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Aplicació per fer i recuperar còpies de seguretat\n"
+"\n"
+"--default : desa els directoris per defecte.\n"
+"--debug : mostra tots els missatges de depuració.\n"
+"--show-conf : llista de fitxers o directoris dels quals\n"
+" s'ha de fer la còpia de seguretat.\n"
+"--config-info : explica les opcions del fitxer de\n"
+" configuració (per a no-usuaris d'X).\n"
+"--daemon : utilitza la configuració del dimoni. \n"
+"--help : mostra aquest missatge.\n"
+"--version : mostra el número de versió.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIONS:\n"
+" --boot - habilita la configuració del carregador d'arrencada\n"
+" --splash - habilita la configuració del tema d'arrencada\n"
+"mode per defecte: ofereix la configuració de l'entrada automàtica"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPCIONS] [NOM_DEL_PROGRAMA]\n"
+"\n"
+"OPCIONS:\n"
+" --help - imprimeix aquest missatge d'ajuda.\n"
+" --report - el programa ha de ser una de les eines de Mandriva "
+"Linux\n"
+" --incident - el programa ha de ser una de les eines de Mandriva "
+"Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Aplicació d'importació de tipus de lletra i de monitorització\n"
+"\n"
+"OPCIONS:\n"
+"--windows_import : importa des de totes les particions de Windows "
+"disponibles.\n"
+"--xls_fonts : mostra tots els tipus de lletra que ja són a l'xls\n"
+"--install : accepta qualsevol fitxer de tipus de lletra i qualsevol "
+"directori.\n"
+"--uninstall : desinstal·la qualsevol tipus de lletra o qualsevol "
+"directori de tipus de lletra.\n"
+"--replace : reemplaça qualsevol tipus de lletra si ja existeix\n"
+"--application : 0 cap aplicació.\n"
+" : 1 totes les aplicacions compatibles disponibles.\n"
+" : nom_de_l'aplicació, com ara so per a l'StarOffice \n"
+" : i gs per al ghostscript per utilitzar només aquesta."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPCIONS]...\n"
+"Configurador del servidor de terminal de Mandriva Linux (MTS)\n"
+"--enable : habilita l'MTS\n"
+"--disable : inhabilita l'MTS\n"
+"--start : inicia l'MTS\n"
+"--stop : atura l'MTS\n"
+"--adduser : afegeix a l'MTS un usuari existent al sistema (cal un nom "
+"d'usuari)\n"
+"--deluser : suprimeix de l'MTS un usuari existent al sistema (cal un "
+"nom d'usuari)\n"
+"--addclient : afegeix a l'MTS una màquina client (cal una adreça MAC, "
+"IP, nom d'imatge nbi)\n"
+"--delclient : suprimeix de l'MTS una màquina client (cal una adreça "
+"MAC, IP, nom d'imatge nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[teclat]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPCIONS]\n"
+"Aplicació de connexió a xarxes i Internet i de monitorització\n"
+"\n"
+"--defaultintf interface : per defecte, mostra aquesta interfície\n"
+"--connect : connecta a Internet si no ho està ja\n"
+"--disconnect : desconnecta d'Internet si està connectat\n"
+"--force : utilitzat amb (dis)connect : imposa la (des)connexió.\n"
+"--status : torna 1 si està connectat, 0 si no, i després surt.\n"
+"--quiet : no siguis interactiu. Per utilitzar amb (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPCIÓ]...\n"
+" --no-confirmation no facis la primera pregunta de confirmació en el "
+"mode Mandriva Update\n"
+" --no-verify-rpm no comprovis les signatures dels paquets\n"
+" --changelog-first mostra el registre de canvis abans de la llista de "
+"fitxers en la finestra de descripció\n"
+" --merge-all-rpmnew proposa fusionar tots els fitxers .rpmnew/.rpmsave "
+"trobats"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolució"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Sintaxi: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Afegeix un servidor"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Àfrica"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Àsia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Amèrica del nord"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Macedònia"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Amèrica del sud"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rússia"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Iugoslàvia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Això és correcte?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Cap fitxer escollit"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Heu escollit un fitxer, no un directori"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Heu escollit un directori, no un fitxer"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "No és un directori"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "No hi ha fitxer"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Expandeix l'arbre"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Redueix l'arbre"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Commuta entre pla i ordenat per grups"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s no està instal·lat\n"
+"Feu clic a \"Següent\" per instal·lar-lo o a \"Cancel·la\" per sortir"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "La instal·lació ha fallat"
+
+#~ msgid "Icon"
+#~ msgstr "Icona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Nombre de memòries intermèdies de captura:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "nombre de memòries intermèdies per a captures amb MMAP"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Configuració del PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Permet l'ús de la ràdio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "habilita l'ús de la ràdio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/cs.po b/perl-install/share/po/cs.po
new file mode 100644
index 000000000..ce29db520
--- /dev/null
+++ b/perl-install/share/po/cs.po
@@ -0,0 +1,6761 @@
+# Translation of cs.po to Czech
+# Copyright (C) 1999,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Radek Vybiral <Radek.Vybiral@vsb.cz>, 2000, 2001-2003.
+# Michal Bukovjan <bukm@centrum.cz>, 2002-2003, 2004, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: cs\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-15 19:36+0100\n"
+"Last-Translator: Michal Bukovjan <bukm@centrum.cz>\n"
+"Language-Team: Czech <cs@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Prosím počkejte"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Probíhá instalace zaváděcího programu"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO se chystá přiřadit zařízení %s nové ID svazku (Volume ID). Změna\n"
+"ID svazku zaváděcího disku je pokládána operačními systémy Windows NT,\n"
+"2000, nebo XP za fatální chybu.\n"
+"Toto varování se nevztahuje na operační systémy Windows 95 a 98 nebo\n"
+"na datové disky Windows NT.\n"
+"\n"
+"Přiřadit nové ID svazku?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Instalace zaváděcího programu neuspěla. Stala se tato chyba:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Můžete potřebovat změnit startovací zařízení pro Open Firmware\n"
+" pro aktivaci spouštěcího programu. Pokud nevidíte po spuštění prompt,\n"
+" stiskněte při startu Command-Option-O-F a zadejte:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Potom zadejte: shut-down\n"
+"Při dalším spuštění už uvidíte prompt."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Rozhodli jste se nainstalovat zavaděč systému na oddíl.\n"
+"To znamená, že již zavaděč na disku, ze kterého spouštíte systém nějaký je "
+"(např. System Commander).\n"
+"\n"
+"Ze kterého disku spouštíte systém?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "První sektor disku (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "První sektor kořenového oddílu"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Na disketu"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Přeskočit"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Instalace LILO/Grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kam chcete nainstalovat zaváděcí program?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Nastavení stylu zavádění"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Základní nastavení zaváděcího programu"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Zaváděcí program"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Zaváděcí program"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Startovací zařízení"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Hlavní volby"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Prodleva před zavedením výchozího obrazu"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Povolit ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Povolit APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Povolit lokální APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Heslo"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Hesla nejsou shodná"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Zkuste to znovu, prosím"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Nelze použít heslo s %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Heslo (podruhé)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Omezení nastavení z příkazové řádky"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "omezení"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Volba ''Omezení nastavení z příkazové řádky'' je bezpředmětné bez hesla"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Vyčistit adresář /tmp při každém startu"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Pokud je třeba, upřesněte velikost paměti (nalezeno %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Zadejte velikost paměti v MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Úvodní zpráva"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Prodleva pro firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Prodleva při spuštění"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Povolit spuštění z CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Povolit zavaděč OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Výchozí OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Obraz(image)"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Kořenový(root)"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Připojit"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Připojit Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video režim"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Síťový profil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Značka"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Výchozí"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Bez Videa"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Prázdná značka není povolena"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Musíte zadat soubor s jádrem"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Musíte zadat kořenový oddíl"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Tato značka se již používá"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Jaký typ záznamu chcete přidat?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Jiný systém (SunOs...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Jiný systém (MacOs...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Jiný systém (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Zde jsou záznamy z vašeho zaváděcího menu.\n"
+"Můžete přidat další nebo změnit stávající."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "přístup k programům v X prostředí"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "přístup k rpm nástrojům"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "povolit \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "přístup k administrativním souborům"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "přístup k síťovým nástrojům"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "přístup k nástrojům pro kompilaci"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(už byl přidán %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Prosím zadejte uživatelské jméno"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Uživatelské jméno může obsahovat pouze malá písmena, čísla, '-' a '_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Toto uživatelské jméno je příliš dlouhé"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Toto uživatelské jméno už bylo přidáno"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID uživatele"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID skupiny"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s musí být číslo"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s by mělo být vyšší než 500. Přesto použít?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Přidat uživatele"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Zadejte uživatele\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Hotovo"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Vytvořit uživatele"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Skutečné jméno"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Přihlašovací jméno"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatické přihlášení"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Můžu nastavit váš počítač tak, aby automaticky přihlásil vybraného uživatele."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Použít tuto vlastnost"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Zvolte standardního uživatele:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Vyberte si, který správce oken má být spouštěn:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Souhlas s licencí"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Konec"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Poznámky k vydání"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Přijmout"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Odmítnout"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Prosím zvolte si jazyk, který chcete používat."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Výběr jazyka"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux podporuje více jazyků. Můžete si zvolit další jazyky,\n"
+"které budou dostupné po instalaci a následném restartu systému."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Více jazyků"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Stará (ne UTF-8) kódování pro kompatibilitu"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Všechny jazyky"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Země"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Vyberte si prosím svoji zem."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Zde je kompletní seznam dostupných zemí"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Jiné země"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Rozšíření"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Vstupní metoda:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Žádné"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Nesdílet"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Povolit všem uživatelům"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Vlastní"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Chcete povolit uživatelům, aby si mohli sdílet adresáře ve svém domovském "
+"adresáři?\n"
+"Pokud to povolíte, uživatelům stačí pouze klepnout na \"Sdílet\" v "
+"aplikacích Konqueror a Nautilus.\n"
+"\n"
+"Lze také provést \"Vlastní\" povolení pro jednotlivé uživatele.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: tradiční systém pro sdílení souborů v prostředí Unix, s menší podporou "
+"operačních systémů Mac a Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: systém pro sdílení souborů používaný ve Windows, MacOS X a mnohými "
+"moderními Linuxovými systémy."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Nyní lze provést export přes protokol NFS nebo SMB. Vyberte prosím, který "
+"chcete použít."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Spustit UserDrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Zavřít"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Sdílení mezi uživateli používá skupinu \"fileshare\". \n"
+"Uživatele lze do této skupiny přidat pomocí nástroje UserDrake."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Prosím odhlaste se a pak stiskněte Ctrl-Alt-Backspace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Aby se změna projevila, je nutné se odhlásit a opět přihlásit"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Časová zóna"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Jaké je vaše časové pásmo?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Nastavení data, hodin a časové zóny"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Jaké vedení času je nejvhodnější?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (hardwarové hodiny nastaveny na UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (hardwarové hodiny nastaveny na místní čas)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatická synchronizace času (pomocí NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokální soubor"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Čipová karta"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Doména Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory s SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory s Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokální soubor:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Všechno ověřování a ukládání informací o uživateli budou probíhat na "
+"lokálním souboru"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Některé nebo veškeré ověřování bude používat LDAP. LDAP sdružuje některé "
+"informace uvnitř vaší organizace."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Umožňuje provozovat skupinu počítačů ve stejné doméně NIS (Network "
+"Information Service) se společným heslem a skupinami."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Doména Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind umožňuje systému získávat informace a ověřovat uživatele v doméně "
+"Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory s SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Zahrnuje Kerberos a LDAP pro ověřování na serveru s Active Directory"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory s Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind umožňuje systému ověřovat uživatele na serveru s Windows Active "
+"Directory."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Ověření pomocí LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "Základní dn pro LDAP"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "jednoduchý"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "bezpečnostní schéma (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Ověření pomocí Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Doména"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Databáze uživatelů LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Použít anonymní BIND "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Uživatelé z databáze LDAP, kteří mohou prohlížet Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Heslo pro uživatele"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Ověření pomocí NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS Doména"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS Server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Aby toto správně pracovalo se serverem W2K PDC, bude muset správce serveru "
+"spustit: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone / add a restartovat server.\n"
+"Budete také potřebovat uživatelské jméno a heslo Správce Domény, abyste "
+"mohli připojit počítač do domény Windows(TM).\n"
+"Jestliže ještě není povolena síť, aplikace DrakX se pokusí připojit k doméně "
+"po fázi nastavení sítě.\n"
+"Pakliže toto nastavení z jakéhokoli důvodu selže, a ověření na PDC nebude "
+"pracovat správně, spusťte po naběhnutí systému 'smbpasswd -j DOMAIN -U USER%%"
+"PASSWORD' (použijte svou doménu Windows(TM) a uživatelské jméno a heslo "
+"Správce domény).\n"
+"Příkaz 'wbinfo -t' otestuje, zda-li vaše tajné informace pro ověření jsou "
+"správné."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Doména Windows pro ověření"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Oblast Active Directory "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Uživatelské jméno Správce domény"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Heslo Správce domény"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Ověření"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Heslo správce (uživatele root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Autentizační metoda"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Bez hesla"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Toto heslo je příliš jednoduché (musí být alespoň %d znaků dlouhé)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Nelze použít všesměrové vysílání bez NIS domény"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Vita vas program pro vyber operacniho systemu!\n"
+"\n"
+"Vyberte si ze seznamu operacnich systemu nize nebo\n"
+"vyckejte na automaticke zavedeni.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO s textovým menu"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB s grafickým menu"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB s textovým menu"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "není dost místa v adresáři /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Zaváděcí program nelze nainstalovat na oddíl %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Nastavení vašeho zavaděče musí být aktualizováno, protože se změnilo pořadí "
+"oddílů na disku"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Zavaděč nelze korektně nainstalovat. Musíte použít rescue režim a vybrat \"%s"
+"\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Znovu instalovat zaváděcí program"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "kB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minut(y)"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuta"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekund"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "chybí příkaz %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV je protokol, který umožňuje připojit webový adresář jako lokální, "
+"který\n"
+"se potom tváří jako lokální souborový systém (takový webový server musí "
+"být)\n"
+"nastaven jako WebDAV server). Pokud chcete přidat WebDAV připojení, vyberte\n"
+"položku \"Nový\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nový"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Odpojit"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Připojit"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Přípojný bod"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Volby"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Chyba"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Zadejte prosím URL serveru WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL musí začínat znaky http:// nebo https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Adresář připojení (mount point): "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Volby: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Rozdělení disku"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Čtěte pozorně!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Zálohujte si nejdřív svá data, prosím"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Konec"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Pokračovat"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Jestliže chcete používat aboot, musíte nechat volné místo na začátku disku\n"
+"(2048 sektorů stačí)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Nápověda"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Volba akce"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Máte jeden veliký oddíl\n"
+"(většinou používaný Microsoft Windows).\n"
+"Doporučuji vám nejprve zmenšit tento oddíl\n"
+"(klepněte na něj a potom na \"Změnit velikost\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Prosím klepněte na oddíl"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detaily"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Nenalezeny žádné pevné disky"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Neznámý"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Žurnálovací FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Odkládací (swap)"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOs"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Další"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Prázdný"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Souborové systémy:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Varování"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Tento oddíl je již prázdný"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Nejprve použijte ''Odpojit''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Místo toho použijte ''%s''"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Změnit typ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Vybrat jiný oddíl"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Vyberte oddíl"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Zpět"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Přepnout se do módu 'normální'"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Přepnout se do režimu 'expert'"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Potvrzení"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Přesto chcete pokračovat?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Konec bez uložení"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Chcete skončit bez zapsání do tabulky oddílů?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Chcete uložit úpravy souboru /etc/fstab?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Aby se projevily změny v tabulce oddílů, musíte restartovat počítač"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Měli byste naformátovat oddíl %s.\n"
+"Jinak nebude do tabulky fstab zapsána položka pro přípojný bod %s.\n"
+"Chcete přesto skončit?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Vše smazat"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automaticky rozmístit"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Více"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informace o pevném disku"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Všechny primární oddíly (partitions) jsou používány"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Nemůžu přidat žádný další oddíl"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Abyste mohli mít více oddílů, musíte smazat jeden existující a na jeho "
+"místě\n"
+"vytvořit rozšířený (extended) oddíl"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Bez supermountu"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount vyjma jednotek CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Uložit tabulku oddílů"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Obnovit tabulku oddílů"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Záchrana tabulky oddílů"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Znovu načíst tabulku oddílů"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automatické připojování pro vyjímatelná média"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Zvolit soubor"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Záložní tabulka oddílů nemá stejnou velikost\n"
+"Chcete přesto pokračovat?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Pokouším se obnovit tabulku oddílů"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Podrobné informace"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Změnit velikost"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formátovat"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Přidat do RAIDu"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Přidat do LVMu"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Smazat"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Odebrat z RAIDu"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Odebrat z LVMu"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Změnit RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Použít loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Vytvořit"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Vytvořit nový oddíl"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Počáteční sektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Velikost v MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Souborový systém: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Nastavení: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Název logického svazku "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Nemůžete vytvořit nový oddíl\n"
+"(protože jste již dosáhli maximálního počtu primárních oddílů).\n"
+"Nejprve odstraňte některý primární oddíl a vytvořte oddíl rozšířený."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Odstranit soubor loopbacku?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Tím, že změníte typ oddílu %s, přijdete o všechna jeho data"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Změnit typ oddílu"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Který souborový systém chcete použít?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Přepínám z ext2 na ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Které návěští svazku?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Návěští:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kam chcete připojit loopback soubor %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kam chcete připojit zařízení %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Nemůžu smazat přípojný bod, protože tento oddíl je používán pro loopback.\n"
+"Odstraňte nejprve loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kam chcete připojit %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Měním velikost"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Počítám hranice souborového systému fat"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Na tomto diskovém oddílu nelze měnit velikost"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Všechna data z tohoto oddílu by měla být zálohována"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Když změníte velikost oddílu %s, ztratíte tím všechna jeho data"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Zvolte novou velikost"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nová velikost v MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimální velikost: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maximální velikost: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Pro zachování integrity po provedené změně velikosti oddílu(ů) bude při\n"
+"dalším spuštění systému Windows provedena kontrola souborového systému."
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Zvolte existující RAID pro přidání"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nový"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Zvolte existující LVM pro přidání"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Název pro LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Fyzický svazek %s se stále používá.\n"
+"Chcete přesunout používané fyzické oblasti na tomto svazku do jiných svazků?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Přesunuji fyzické oblasti"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Tento oddíl nemůže být použit pro loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Název souboru loopbacku:"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Zadejte název souboru"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Soubor už je používán jiným loopbackem, zvolte si jiný"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Soubor už existuje. Mám ho použít?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Volby pro připojení"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Další"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "zařízení"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "úroveň"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "velikost bloku v kB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Buďte opatrní: tato akce je nebezpečná."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Jaký typ diskového oddílu?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Aby se změny uplatnily budete muset restartovat počítač"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Bude zapsána nová tabulka oddílů na disku %s!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Když naformátujete oddíl %s, ztratíte tím všechna jeho data"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Otestovat na vadné stopy?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Přesunout soubory na nový diskový oddíl"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Schovat soubory"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Adresář %s již obsahuje data\n"
+"(%s)\n"
+"\n"
+"Můžete buď přesunout soubory na oddíl, který zde bude připojen, nebo je "
+"nechat tam, kde jsou (a tak je překryjete obsahem připojeného oddílu)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Přesunuji soubory na nový diskový oddíl"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopíruji %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Odstraňuji %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "oddíl %s je nyní rozpoznán jako %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Oddíly byly přečíslovány: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Zařízení: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Název svazku: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Písmeno v DOSu: %s (jenom odhad)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Typ: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Jméno: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Začátek: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Velikost: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektorů"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Od cylindru %d do cylindru %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Počet logických oblastí: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Naformátovaný\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nenaformátovaný\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Připojený\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback soubor(y): \n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Standardní startovací oddíl\n"
+" (pro MS-DOS, ne pro LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Úroveň %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Velikost bloku (chunk) %d kB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID disky %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback soubor: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Tento oddíl je oddíl\n"
+"s ovladači, je lepší\n"
+"no nechat neporušený.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Tento speciální Bootstrap\n"
+"oddíl je pro spuštění\n"
+"dalšího systému.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Prázdné místo na %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Pouze pro čtení"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Velikost: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrie: %s cylindrů, %s hlav, %s sektorů\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informace: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM disky %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Typ tabulky oddílů: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "na kanále %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Klíč pro šifrovaný souborový systém"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Vyberte si šifrovací klíč pro souborový systém"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Tento šifrovací klíč je příliš jednoduchý (musí být alespoň %d znaků dlouhý)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Šifrovací klíče se neshodují"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Šifrovací klíč"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Šifrovací klíč (znovu)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Šifrovací algoritmus"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Změnit typ"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Zrušit"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Nelze se přihlásit pod uživatelským jménem %s (chybné heslo?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Vyžadováno ověření Domény"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Které uživatelské jméno"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Další"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Prosím zadejte své uživatelské jméno, heslo a název domény, pod kterými "
+"chcete přistupovat k tomuto počítači."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Uživatelské jméno"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Vyhledat servery"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Vyhledat nové servery"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Balíček %s musí být nainstalován. Chcete ho nainstalovat?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Nelze nainstalovat balíček %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Chybí potřebný balíček %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Je potřeba nainstalovat tyto balíčky:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instaluji balíčky..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Odstraňuji balíčky..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Stala se chyba - nebylo nalezeno žádné zařízení, na kterém by se daly "
+"vytvořit nové souborové systémy. Zkontrolujte prosím hardware"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Musíte mít FAT oddíl připojený na /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formátuji oddíl %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Vytvářím a formátuji soubor %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "nevím jak naformátovat %s na typ %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formátování %s skončilo chybou"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Propletené přípojné body %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Připojuji oddíl %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "připojení oddílu %s v adresáři %s selhalo"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Kontroluji %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "chyba odpojování %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Aktivuji odkládací oddíl %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Použít šifrovaný souborový systém"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Počítat skupinové kvóty na disku a volitelně vynucovat omezení"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Neaktualizovat čas přístupu pro tento souborový systém\n"
+"(např. pro rychlejší přístup k frontě zpráv při provozování diskusního "
+"serveru)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Lze připojit pouze explicitně (tj. volba -a\n"
+"způsobí, že souborový systém nebude připojen)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Neinterpretovat speciální znaková či bloková zařízení na souborovém systému."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Nepovolit spouštění jakýchkoliv binárních souborů na připojeném\n"
+"souborovém systému. Tato volba je užitečná v případě, že na serveru\n"
+"je souborový systém, který obsahuje binární aplikace pro jinou architekturu\n"
+"než je vlastní systém serveru."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Nepovolit vliv bitů set-user-identifier nebo set-group-identifier.\n"
+"(Není to nebezpečné, ale v případě, že máte instalovaný suidperl(1) to\n"
+"potenciálně nebezpečné být může.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Připojit souborový systém pouze pro čtení."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Všechny vstupně/výstupní operace budou prováděny synchronně."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Povolit připojení a odpojení souborového systému každému uživateli."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Povolit obyčejnému uživateli připojit souborový systém."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Počítat uživatelské kvóty na disku a volitelně vynucovat omezení"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Podporovat rozšířené atributy \"user.\""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Umožnit zápis běžným uživatelům"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Umožnit běžným uživatelům pouze čtení"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Zdvojený přípojný bod %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nejsou dostupné žádné diskové oddíly"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Hledám oddíly, které lze připojit"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Zvolte si přípojné body"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Zvolte diskové oddíly, které chcete naformátovat"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Selhala kontrola souborového systému %s. Chcete opravit chyby? (pozor, může "
+"dojít ke ztrátě dat)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Není dostatek odkládacího prostoru k instalaci, prosím přidejte nějaký"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Musíte mít kořenový oddíl.\n"
+"K jeho vytvoření musíte zvolit jeden existující oddíl\n"
+"(nebo vytvořit nový), zvolit 'Přípojný bod'\n"
+"a nastavit ho na '/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Nemáte odkládací oddíl.\n"
+"\n"
+"Chcete přesto pokračovat?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Použít volné místo"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Není dostatek místa pro vytvoření nových diskových oddílů"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Použít existující oddíly"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Není zde žádný existující oddíl k použití"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Použít oddíl Microsoft Windows® jako loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Který diskový oddíl chcete použít pro Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Zvolte velikosti"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Velikost kořenového oddílu v MB:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Velikost odkládacího oddílu v MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nejsou zde žádné FAT oddíly, které by bylo možné použít pro loopback (nebo "
+"není dostatek místa)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Použít volné místo na oddílu Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Na kterém oddílu chcete změnit velikost?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Změnu velikost FAT není možné provést, \n"
+"vyskytla se následující chyba: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Počítám volné místo na oddílu Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Váš diskový oddíl s Microsoft Windows® je příliš fragmentovaný. Restartujte "
+"počítač do systému Microsoft Windows®, použijte program 'defrag' a potom "
+"spusťte opět instalaci Mandriva Linuxu."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"VAROVÁNÍ!\n"
+"\n"
+"\n"
+"DrakX nyní musí zmenšit oddíl s Microsoft Windows®.\n"
+"\n"
+"\n"
+"Buďte opatrní: tato operace je nebezpečná. Pokud jste tak již neučinili, "
+"měli byste nejprve ukončit instalaci, spustit \"chkdsk c:\" z příkazové "
+"řádky (spuštění programu \"scandisk\" nestačí, použijte příkaz \"chkdsk\"!), "
+"popřípadě i defrag a potom instalaci spustit znovu. Také byste si měli data "
+"zálohovat.\n"
+"\n"
+"\n"
+"Až si budete jistí, že chcete pokračovat, stiskněte %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Další"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Jakou velikost oddílu chcete nechat pro Microsoft Windows® na diskovém "
+"oddílu %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Velikost"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Měním velikost oddílu s Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Změna FAT oddílu neuspěla: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Nejsou zde žádné FAT oddíly, které by bylo možné změnit (nebo není dostatek "
+"místa)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Odstranit Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Smazat a použít celý disk"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Máte více než jeden pevný disk, na který chcete instalovat Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "VŠECHNY diskové oddíly a data na disku %s budou zrušeny"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Vlastní rozdělení disku"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Použít fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Nyní můžete rozdělit váš pevný disk %s.\n"
+"Až skončíte, nezapomeňte uložit změny pomocí 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Nemůžu najít žádné volné místo pro instalaci"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Průvodce oddíly DrakX našel následující řešení rozdělení disku:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Vytváření diskových oddílů selhalo: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Nemůžete použít JFS pro oddíl menší než 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Nemůžete použít ReiserFS pro oddíl menší než 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "s /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Na discích %s byl nalezen softwarový RAID řízený BIOSem. Aktivovat?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Nemůžu přečíst vaši tabulku oddílů zařízení %s, je pro mě příliš porušená :"
+"(\n"
+"Můžu se pokusit pokračovat v čištění špatných oddílů (VŠECHNA\n"
+"DATA budou ztracena!). Jiná možnost je zakázat DrakX měnit tabulku\n"
+"oddílů (chyba je %s)\n"
+"\n"
+"Souhlasíte s tím, že přijdete o všechny oddíly?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Přípojné body (mount points) musí začínat '/'"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Název přípojného bodu může obsahovat pouze písmena a číslice"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Oddíl s přípojným bodem %s už existuje\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Zvolili jste softwarový RAID oddíl jako kořenový oddíl (/).\n"
+"S tím se není schopný vypořádat žádný zaváděcí program bez použití oddílu\n"
+"/boot. Ujistěte se prosím, že jste tento oddíl přidali"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Pro přípojný bod %s nemůžete použít Logický svazek LVM, jelikož spadá do "
+"více fyzických svazků"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Vybrali jste Logický svazek LVM jako kořenový adresář (/).\n"
+"Zavaděč s takovým svazkem neumí pracovat, pokud zasahuje do více fyzických "
+"svazků.\n"
+"Měli byste vytvořit nejprve oddíl /boot"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Tento adresář musí kromě kořenového souborového systému zůstat"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Pro tento přípojný bod potřebujete opravdový souborový systém (ext2/ext3, "
+"reiserFS, XFS nebo JFS)\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Nelze použít kryptovaný souborový systém na připojený bod %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Pro automatické rozdělení disku není dostatek místa"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nic nedělat"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disketa"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Pevný disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD vypalovačky"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Páska"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP řadiče"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Grafická karta"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB karta"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV karta"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Další multimediální zařízení"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Zvuková karta"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webová kamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Procesory"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Adaptéry ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Zvuková zařízení USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Rádio karty"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Síťové karty ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Síťové karty WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Zařízení Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernetová karta"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Adaptéry ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Paměť"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Tiskárna"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Game port řadiče"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA řadiče"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID řadiče"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA řadiče"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Úložná zařízení USB"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Čtečky karet"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire řadiče"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA řadiče"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI řadiče"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB řadiče"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB porty"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus řadiče"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Systémové řadiče a můstky"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klávesnice"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet a dotyková obrazovka"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Myš"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skener"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Neznámý/Jiný"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Čekejte prosím... Aktivuji konfiguraci"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Bez alternativního ovladače"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Pro vaši zvukovou kartu (%s), která nyní používá ovladač \"%s\", není žádný "
+"známý OSS/ALSA alternativní ovladač."
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Nastavení zvuku"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Zde si pro vaši zvukovou (%s) kartu můžete vybrat alternativní ovladač (buď "
+"OSS nebo ALSA)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Vaše karta nyní používá ovladač %s\"%s\" (výchozí ovladač pro vaši kartu je "
+"\"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) bylo první API pro zvuk. Toto API je nezávislé na OS "
+"(je dostupné na více unixových systémech), ale má pouze základní funkce a "
+"omezené API.\n"
+"A co více, všechny OSS ovladače \"vynalézají znovu kolo\".\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) je modulární architektura, která "
+"která podporuje daleko více ISA, USB a PCI karet.\n"
+"\n"
+"Také poskytuje daleko lepší API než OSS.\n"
+"\n"
+"Pokud chcete použít ovladače ALSA, můžete použít dva režimy:\n"
+"- starší režim kompatibility s OSS API\n"
+"- nové ALSA API, které poskytuje daleko více možností, ale vyžaduje použít "
+"knihovnu ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Ovladač:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Řešení problémů"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Starší ovladač \"%s\" je na černé listině.\n"
+"\n"
+"Bylo u něj zjištěno, že při odebrání způsobí pád jádra.\n"
+"\n"
+"Při dalším spuštění bude použit pouze nový ovladač \"%s\" "
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Není dostupný žádný open source ovladač"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Pro vaši zvukovou kartu (%s) není žádný vhodný volně použitelný ovladač, ale "
+"existuje alternativní proprietární ovladač na \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nebyl rozpoznán žádný ovladač"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Pro vaši zvukovou kartu (%s) není žádný známý ovladač"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Neznámý ovladač"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Chyba: Ovladač \"%s\" pro vaši zvukovou kartu není na seznamu"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Řešení problémů se zvukem"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klasický postup při řešení problémů se zvukem je pomocí těchto příkazů:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" vám řekne, jaký ovladač je výchozí pro\n"
+"danou zvukovou kartu\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" vám řekne, který ovladač se nyní\n"
+"používá\n"
+"\n"
+"- \"/sbin/lsmod\" provede kontrolu toho, zda modul (ovladač) je nahrán nebo "
+"ne\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" a \"/sbin/chkconfig --list alsa\" vám "
+"sdělí\n"
+"zda je pro initlevel nastaveny služby alsa a sound\n"
+"\n"
+"- \"aumix -q\" vám řekne, zda je zvuk ztlumen nebo ne\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" vám řekne, který program používá zvukovou "
+"kartu.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Umožnit výběr ovladače"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Výběr libovolného ovladače"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Pokud skutečně víte, který ovladač je ten správný pro vaši kartu,\n"
+"můžete ho vybrat ze seznamu.\n"
+"\n"
+"Aktuální ovladač pro vaši zvukovou kartu \"%s\" je \"%s\"."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Autodetekce"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Neznámá|Obecná"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Neznámá|CPH05X (bt878) [více dodavatelů]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Neznámá|CPH06X (bt878) [více dodavatelů]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Modul bttv jádra operačního systému GNU/Linux nalezne správné parametry "
+"automaticky pro většinu moderních TV karet.\n"
+"Je-li vaše karta špatně detekována, lze zde ručně nastavit správný typ karty "
+"a tuneru. Pokud je to potřeba, vyberte také parametry vaší TV karty."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model karty:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Typ tuneru:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ano"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ne"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Vyberte soubor"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Přidat"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Změnit"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Odebrat"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Ukončit"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Zpět"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Špatná volba, zkuste to znovu\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Vaše volba? (výchozí %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Položky, které je potřeba vyplnit:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Vaše volba? (0/1, výchozí '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Tlačítko '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Chcete klepnout na toto tlačítko? "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Vaše volba? (výchozí '%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " zadejte 'void' pokud chcete prázdný vstup"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Je zde více voleb, ze kterých je možné si vybrat (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Vyberte si prosím první číslo z výběru, které chcete editovat,\n"
+"nebo stiskněte Enter pro pokračování.\n"
+"Vaše volba? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Oznamuji změnu návěští:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Znovu odeslat"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Spojené Arabské Emiráty"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghánistán"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua a Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albánie"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Arménie"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nizozemské Antily"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktida"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Americká Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Rakousko"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Austrálie"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Ázerbajdžán"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosna a Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladéš"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgie"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulharsko"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrajn"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermudy"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolívie"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazílie"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamy"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhútán"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Island"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bělorusko"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosové ostrovy (Keeling Islands)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centrální africká republika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Švýcarsko"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cookovy ostrovy"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Čína"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbie"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Srbsko & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Vánoční ostrov"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kypr"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Česká republika"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Německo"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Džibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dánsko"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikánská republika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžírsko"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvádor"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonsko"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Západní Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Španělsko"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopie"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finsko"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidži"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandy (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronésie"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroe Islands"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francie"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Velká Británie"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgie"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Francouzská Guinea"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grónsko"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambie"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Rovníková Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Řecko"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Jižní Georgie a ostrovy South Sandwich"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Čína (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard a McDonaldovy ostrovy"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Chorvatsko"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Maďarsko"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonésie"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irsko"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indie"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britské teritorium Indického moře"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irák"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Írán"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itálie"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamajka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordán"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japonsko"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Keňa"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstán"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts a Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Severní)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvajt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kajmanské ostrovy"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazachstán"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Svatá Lucie"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lichtenštejnsko"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Srí Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libérie"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lucembursko"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Lotyšsko"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libye"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldava"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Islands"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonie"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolsko"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Northern Mariana Islands"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauretánie"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maledivy"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malajsie"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibie"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nová Kaledonie"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolské ostrovy"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigérie"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nizozemí"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norsko"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepál"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nový Zéland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omán"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Francouzská Polynésie"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Nová Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipíny"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pákistán"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polsko"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre a Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugalsko"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumunsko"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusko"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudská Arábie"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon Islands"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychely"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudán"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Švédsko"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Svatá Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovinsko"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard a ostrovy Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovensko"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somálsko"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome a Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sýrie"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazijsko"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks a Caicos Islands"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Francouzská jižní teritoria"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thajsko"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistán"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Východní Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistán"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisko"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turecko"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad a Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanie"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrajina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Spojené státy (Minor Outlying Islands)"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Spojené státy americké"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistán"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikán"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent a Grenadiny"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Panenské ostrovy (britské)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Panenské ostrovy (U.S.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis a Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Jižní Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambie"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Vítá vás %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Přesunutí používaných fyzických oblastí na jiné svazky selhalo"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Fyzický svazek %s se stále používá"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Odeberte nejdříve logické disky\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Zavaděč neumí pracovat s adresářem /boot na více fyzických svazcích"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Úvod\n"
+"\n"
+"Operační systém a různé části dostupné v distribuci Mandriva Linux jsou "
+"nazývány \"Softwarové produkty\" (\"Software Products\"). Softwarové "
+"produkty zahrnují, ale nejsou omezeny, na programy, metody, pravidla a "
+"dokumentaci, vztahující se k operačnímu systému a dalším komponentám "
+"distribuce Mandriva Linux.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Varování: Svobodný Software nemusí být vždy nezávislý na patentech\n"
+"a některý Svobodný Software může být ve vaší zemi chráněn patentem.\n"
+"Například zahrnuté dekodéry pro MP3 mohou vyžadovat licenci pro další\n"
+"použití (více detailů najdete na http://www.mp3licensing.com). Pokud si\n"
+"nejste jisti, zda se na vás nevztahuje některý patent, prostudujte si\n"
+"vaše místně příslušné právní normy."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Varování\n"
+"\n"
+"Přečtěte si prosím pozorně následující termíny. Pokud s nimi nesouhlasíte,\n"
+"nejste oprávněn pokračovat v instalaci následujícím CD. Stiskněte\n"
+"\"Odmítnout\" pro pokračování v instalaci bez tohoto média.\n"
+"\n"
+"\n"
+"Některé programy na dalším CD médiu nejsou šířeny podle licence GPL či\n"
+"podobné. Každý z těchto programů je šířen podle vlastní licence a podmínek.\n"
+"Čtete pozorně tyto licence a podmínky před tím, než začnete daný software\n"
+"používat nebo šířit.\n"
+"Některé licence zakazují přenášení, vytváření duplikátů (mimo záložní "
+"kopii),\n"
+"další šíření, dekompilaci, reverzní engineering nebo modifikaci komponent.\n"
+"Každé porušení podmínek okamžitě přerušuje vaše práva podle dané licence.\n"
+"I když dané licence dávají nějaká práva, není dovoleno instalovat daný\n"
+"program na více systémů, přizpůsobovat ho provozu na síti. V případě\n"
+"pochybností kontaktujte distributora nebo výrobce daného programu.\n"
+"Přenechání práv třetím osobám nebo kopírování části komponent či\n"
+"dokumentace je také zakázáno.\n"
+"\n"
+"\n"
+"Všechna práva na programy na dalším CD médiu patří jejím právoplatným\n"
+"vlastníkům podle autorského zákona.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gratulujeme vám, instalace je dokončena.\n"
+"Vyjměte zaváděcí média a stiskněte Return pro restart.\n"
+"\n"
+"\n"
+"Informace o opravách pro tuto verzi systému Mandriva Linux lze\n"
+"nalézt na stránce Errata dostupné na:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informace o nastavení systému po instalaci jsou dostupné\n"
+"v příslušné kapitole oficiální uživatelské příručky pro Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Tento ovladač nemá žádné parametry pro nastavení!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Nastavení modulu"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Zde můžete nastavit každý z parametrů modulu."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Našel jsem %s rozhraní"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Máte ještě nějaké jiné?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Máte nějaké %s rozhraní?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Ukázat informace o hardware"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instaluji ovladač pro řadič USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instaluji ovladač pro řadič Firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instaluji ovladač pro řadič pevného disku %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instaluji ovladač pro síťovou kartu (Ethernet) %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instaluji ovladač pro %s kartu %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Nyní lze zadat volby pro modul %s.\n"
+"Pozn.: každá adresa by měla být ve tvaru 0x např. '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Nyní můžete poskytnout modulu %s další parametry.\n"
+"Volby se zadávají ve tvaru ''název=hodnota název2=hodnota2 ...''.\n"
+"Například, ''io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Volby modulu:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Který %s ovladač mám zkusit?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"V některých případech potřebuje ovladač %s pro svoji správnou funkci další\n"
+"informace, přestože normálně funguje i bez nich. Chtěli byste zadat\n"
+"nějaké doplňující možnosti, nebo raději necháte ovladač samostatně "
+"prozkoumat\n"
+"hardware vašeho počítače, aby získal informace které potřebuje? Zkoumání\n"
+"hardware může ve výjimečných případech způsobit zamrznutí počítače, ale "
+"nemělo\n"
+"by v žádném případě způsobit jiné škody."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatické prozkoumání"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Zadejte možnosti"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Spuštění modulu %s selhalo.\n"
+"Chcete to zkusit s jinými parametry?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "chyba připojování: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Rozšířené diskové oddíly nejsou na tomto systému podporovány"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Ve tabulce diskových oddílů je mezera, ale nemohu ji použít.\n"
+"Jediné řešení je přesunout primární oddíly tak, abyste měli mezeru vedle\n"
+"rozšířených oddílů."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Chyba při čtení souboru %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Obnova ze souboru %s neuspěla: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Špatný záložní soubor"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Chyba při zapisování do souboru %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"S pevným diskem se stalo něco špatného. \n"
+"Test na integritu dat selhal. \n"
+"To znamená, že zápis na tento disk může skončit nepředvídaně a poškodit data."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Nemůžu přidat oddíl do _naformátovaného_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Není dostatek oddílů pro RAID úrovně %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Nelze vytvořit adresář /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Nelze vytvořit odkaz /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Nelze zkopírovat soubor s firmware %s do /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Nelze nastavit práva na soubor s firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Nelze nainstalovat balíčky potřebné pro sdílené skeneru(ů)."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Váš skener(y) nebude přístupný jiným uživatelům než root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Akceptuje/odmítne nekorektní chybové zprávy protokolu IPv4."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Akceptuje/odmítne všesměrové icmp echo."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Přijímá/odmítá icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Povolí/zakáže automatické přihlášení."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Pokud je nastaveno \"OBA\", je povolena existence soubor /etc/issue\n"
+"a /etc/issue.net.\n"
+"\n"
+"Pokud je nastaveno \"ŽÁDNÝ\", není povolen žádný soubor issue.\n"
+"\n"
+"Jinak je povolena existence pouze souboru /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Povolí/zakáže reboot z konzole provedené uživatelem."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Povolí vzdálené přihlášení uživatele root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Povolí/zakáže přímé přihlášení uživatele root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "Povolí/zakáže výpis uživatelů ve správcích přihlášení (kdm nebo gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Povolí/zakáže export obrazovky při\n"
+"přechodu z účtu root na jiné uživatele.\n"
+"\n"
+"Více podrobností viz pam_xauth(8)."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Povolí/zakáže spojení na X server:\n"
+"\n"
+"- VŠECHNY (všechna spojení jsou povolena),\n"
+"\n"
+" LOKÁLNÍ (je povoleno pouze lokální spojení),\n"
+"\n"
+"- ŽÁDNÉ (není povoleno žádné spojení)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argument udává, zda je klient oprávněn se připojit k X serveru\n"
+"na tcp port 6000 nebo ne."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorizace:\n"
+"\n"
+"- pokud je nastaveno \"VŠECHNY\", jsou všechny služby kontrolovány pomocí "
+"tcp_wrapper (více hosts.deny(5)) .\n"
+"\n"
+"- pokud je nastaveno \"LOKÁLNÍ\", autorizuje pouze lokální, \n"
+"\n"
+"- pokud je nastaveno \"ŽÁDNÉ\", neautorizuje žádné.\n"
+"\n"
+"Pokud potřebujete autorizovat službu, použijte soubor /etc/host.allow (Více "
+"najdete v man hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Pokud je SERVER_LEVEL (nebo SECURE_LEVEL chybí) v souboru\n"
+"/etc/security/msec/security.conf větší než 3, vytvoří se symbolický odkaz\n"
+"/etc/security/msec/server na /etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server je použit programem chkconfig --add pro přidání\n"
+"služby během instalace balíčků."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Povolí/zakáže příkaz crontab a at pro uživatele.\n"
+"\n"
+"Vyjmenovaní uživatelé se zapíšou do /etc/cron.allow a /etc/at.allow\n"
+"(více man at(1) a crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Povolí/zakáže report syslogu zobrazovat na konzoli č. 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Povolí/zakáže ochranu před spoofingem jmenných služeb. Pokud\n"
+"je nastaveno \"%s\", vypíše report do syslogu."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Bezpečnostní varování:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Povolí/zakáže ochranu před IP spoofingem."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Povolí/zakáže použití knihovny libsafe, pokud je na systému nalezena."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Povolí/zakáže zaznamenávání podivných IPv4 paketů."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Povolí/zakáže bezpečnostní kontrolu pravidelně každou hodinu."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Povoluje su pouze členům skupiny wheel. Pokud je nastaveno na ne, povoluje "
+"su každému uživateli."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Použije heslo pro autentizaci uživatelů."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Povolí/zakáže kontrolu na nastavení promiskuitního režimu síťového rozhraní."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Povolí/zakáže provádění denních bezpečnostních kontrol."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Povolí/zakáže sulogin(8) v jednouživatelském režimu."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Přidá jméno k výjimkám, které se nekontrolují na dobu platnosti pomocí msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "Nastaví dobu platnosti hesla na \"max\" dnů a prodlevu mezi změnami."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Nastavuje délku historie pro použitá hesla."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Nastaví minimální délku hesla, minimální počet číslic a velkých písmen v "
+"hesle."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Nastavuje umask pro uživatele root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "pokud je nastaveno, provádí se kontrola na otevřené porty."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"pokud je nastaveno, kontroluje se:\n"
+"\n"
+" - zda není heslo prázdné,\n"
+"\n"
+"- zda v /etc/shadow nějaké heslo je\n"
+"\n"
+"- zda existují uživatelé, kteří mají id 0 kromě uživatele root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"pokud je nastaveno, kontrolu práva souborů v domovském adresáři uživatele"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"pokud je nastaveno, kontroluje, zda je síťové rozhraní v promiskuitním režimu"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "pokud je nastaveno, spouští každý den bezpečnostní kontrolu."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "pokud je nastaveno, provádí se kontrola přidané/odebrané sgid soubory."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "pokud je nastaveno, kontroluje prázdná hesla v /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "pokud je nastaveno, ověřuje kontrolní součet pro suid/sgid soubory."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"pokud je nastaveno, kontroluje přidávání/odebírání souborů se suid root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "pokud je nastaveno, vypisuje soubory bez vlastníka."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"pokud je nastaveno, kontroluje, které soubory/adresáře jsou zapisovatelné "
+"pro všechny."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "pokud je nastaveno, provádí kontrolu na chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"pokud je nastaveno, odesílá report na daný email nebo přímo uživateli root"
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "pokud je nastaveno, odesílá výsledek kontroly mailem."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Neposílat mail, pokud není nic, před čím je nutné varovat"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "pokud je nastaveno, spouští kontrolu rpm databáze."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "pokud je nastaveno, posílá výstup kontroly do syslogu."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "pokud je nastaveno, posílá výsledek kontroly na tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Nastaví velikost historie pro příkazy. Hodnota -1 znamená neomezená."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Nastaví čas vypršení pro shell. Nulová hodnota znamená žádný čas."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Čas pro vypršení je v sekundách"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Nastaví uživatelskou masku."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Akceptovat nekorektní chybové zprávy protokolu IPv4"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Akceptovat všesměrové icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Přijímat icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "soubor /etc/issue* existuje"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Restart systému provedený uživatelem z konzole"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Povolit vzdálené přihlášení uživatele root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Přímé přihlášení uživatele root"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Povolit výpis uživatelů ve správcích přihlášení (kdm nebo gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Export obrazovky při přechodu z účtu root na jiné uživatele"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Povolit připojení na X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorizovat TCP spojení do X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Kontrolovat přístup všech služeb pomocí tcp_wrapperu"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Kontrolovat pravidla pro msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Povolit příkazy \"crontab\" a \"at\" pro uživatele"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Report syslogu zobrazovat na konzole č. 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Ochrana před zahlcením dotazy na doménová jména"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Povolit ochranu před IP spoofingem"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Povolit použití knihovny libsafe, pokud je na systému nalezena"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Povolit zaznamenávání podivných IPv4 paketů"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Povolit bezpečnostní kontrolu pravidelně každou hodinu"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Povolit su pouze členům skupiny wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Použije heslo pro autentizaci uživatelů"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+"Povolí/zakáže kontrolu na nastavení promiskuitního režimu síťového rozhraní."
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Denní bezpečnostní kontrola"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Povolí/zakáže sulogin(8) v jednouživatelském režimu."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Bez hesla pro"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Nastavit expiraci hesla a prodlevu před deaktivací uživatelského účtu"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Délka historie hesel"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minimální délka hesla a počet číslic a velkých písmen"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Hodnota umask pro uživatele root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Velikost historie pro shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Čas vypršení pro shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Umask pro uživatele"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Kontrolovat otevřené porty"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Kontrola na nezabezpečené účty"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Kontrolovat práva souborů v domovském adresáři uživatele"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Kontrolovat, zda je síťové rozhraní v promiskuitním režimu"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Spustit každý den bezpečnostní kontrolu"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Kontrola přidaných/odebraných sgid souborů."
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Kontrolovat prázdná hesla v /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Ověřovat kontrolní součet pro suid/sgid soubory"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Kontrolovat přidávání/odebírání souborů se suid root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Vypsat soubory bez vlastníka."
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Kontrolovat, které soubory/adresáře jsou zapisovatelné pro všechny"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Provést kontrolu pomocí chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Neposílat emailem prázdná hlášení"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Pokud je nastaveno, odesílá report na daný email nebo přímo uživateli root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Odeslat výsledek kontroly mailem"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Spustit kontrolu rpm databáze"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Poslat výstup kontroly do syslogu"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Poslat výsledek kontroly na tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Dveře dokořán"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Slabá"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standardní"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Vyšší"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Vysoká"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoidní"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Tato úroveň musí být použita s rozmyslem. Sice můžete snadněji používat "
+"svůj\n"
+"systém, ale na druhou stranu je velmi citlivý: Nesmí být použit pro\n"
+"počítač připojený k Internetu. Pro přihlášení není zapotřebí žádné heslo."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Hesla jsou nyní aktivní, ale stále nedoporučuji použít tento počítač na síti."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Toto je standardní úroveň zabezpečení pro počítač, který je používán jako "
+"klient pro připojení k internetu."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Existují zde některá omezení a každou noc jsou spuštěny automatické testy."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"S touto bezpečnostní úrovní je možné používat systém jako server.\n"
+"Bezpečnost je nyní dostatečně vysoká, aby bylo možné používat systém jako "
+"server, ke kterému\n"
+"je možné připojit mnoho klientů. Poznámka: pokud je počítač používán pouze "
+"jako klient pro připojení k Internetu, je lepší zvolit nižší úroveň."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Tato úroveň má vlastnosti předchozí úrovně, ale systém je úplně uzavřen.\n"
+"Zabezpečení je nastaveno na maximum."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Bezpečnost"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Základní volby programu DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Vyberte prosím požadovanou úroveň zabezpečení"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Úroveň zabezpečení"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Použít libsafe pro servery"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Knihovna, které zabraňuje útokům proti přetečení bufferu nebo proti špatnému "
+"formátování řetězců."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Administrátor bezpečnosti (přihlašovací jméno nebo email)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Spustit zvukový systém ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron - spouští opakující se akce"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd je používán pro sledování stavu baterie a zaznamenávání přes syslog.\n"
+"Může také být použit pro vypnutí počítače při vybité baterii."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Spouští příkazy naplánované příkazem na určitý čas příkazem 'at'.\n"
+"Také spouští příkazy při nízkém vytížení systému."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron je standardní Unixový program který spouští uživatelem zadané programy\n"
+"v předem definovaných intervalech. vixie cron má navíc mnoho vlastností,\n"
+"včetně vyšší bezpečnosti a více možností nastavení."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM je démon pro sledování souborů. Používá se ke zjištění, zda byl soubor "
+"změněn.\n"
+"Používá jej prostředí GNOME a KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM přidává do textových programů podporu myši (např pro Midnight "
+"Commander).\n"
+"Může také v konzoli provádět operace 'vyjmi' a 'vlož' a ovládat pop-up menu."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake testuje hardware a umožňuje nový/změněný\n"
+"hardware nastavit"
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache je WWW server. Je používán k poskytování HTML a CGI souborů."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internetový superserver démon (nazývaný inetd) spouští mnoho ostatních\n"
+"internetových služeb, tak jak jsou zapotřebí. Odpovídá za start např.\n"
+"telnetu, ftp, rsh a rlogin. Pokud vypnete inetd, vypnete tím i ostatní\n"
+"služby které spouští."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Spustit paketový filtr pro jádra řady 2.2, který chrání počítač\n"
+"proti útokům ze sítě."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Tento balíček nahraje zvolenou mapu klávesnice definovanou\n"
+"v /etc/sysconfig/keyboard. Tu lze vybrat pomocí nástroje kbdconfig.\n"
+"Pro většinu počítačů byste ji měli nechat zapnutou."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatická generace hlavičky jádra v adresáři /boot\n"
+"pro soubory /usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatická detekce a konfigurace hardware při spuštění."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"LinuxConf provádí různé úkoly při spuštění systému\n"
+"nutné pro správu systémové konfigurace."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd je tiskový démon, bez kterého nebude fungovat lpr (program pro tisk).\n"
+"Je to server, který posílá tištěné dokumenty jednotlivým tiskárnám."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server používaný pro sestavení vysoce výkonného\n"
+"a dostupného serveru."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) je doménový (DNS) server, který překládá hostitelská jména na "
+"IP adresy."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Připojuje a odpojuje všechny síťové (NFS), SMB (Lan/Windows) a Netware "
+"(NCP)\n"
+"přípojné body (mount points)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivuje či deaktivuje všechna síťová rozhraní, která se mají nastavit při\n"
+"startu systému."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS je oblíbený protokol pro sdílení souborů přes sítě TCP/IP.\n"
+"Tato služba poskytuje NFS server, jehož nastavení je v /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS je oblíbený protokol pro sdílení souborů přes sítě TCP/IP.\n"
+"Tato služba poskytuje možnost uzamykání souborů na NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Automaticky nastaví podporu numerické klávesnice v konzoli\n"
+"a v Xorg při startu."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Podpora pro OKI 4w a kompatibilní wintiskárny."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Podpora PCMCIA většinou znamená podporu zařízení jako síťové karty a\n"
+"modemy v laptopech. Nespustí se pokud ji přímo nenastavíte, ale není "
+"problém\n"
+"jí mít nainstalovanou i na počítačích, které ji nepotřebují."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper spravuje RPC spojení, která jsou používána protokoly jako NFS\n"
+"a NIS. Portmap server musí být spuštěn na počítačích, které fungují jako\n"
+"servery pro protokoly, které používají mechanismus RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr "Postfix je program pro doručování pošty z jednoho počítače na jiný."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Ukládá a obnovuje 'stav entropie' na počítači, což je používáno pro\n"
+"kvalitnější generaci náhodných čísel."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Přiřazuje přímá zařízení blokovým (například diskové oddíly)\n"
+"pro aplikace jako je Oracle nebo DVD přehrávač"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Démon routed umožňuje automaticky obnovovat směrovací tabulku (router "
+"table)\n"
+"pro IP adresy. K tomu používá protokol RIP. Zatímco RIP je běžně používán\n"
+"v malých sítích, pro složitější sítě je zapotřebí složitější protokoly."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Protokol rstat umožňuje uživatelům sítě sledovat vytížení jednotlivých\n"
+"strojů připojených k síti."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokol rusers umožňuje uživatelům sítě zjistit kdo je přihlášen na\n"
+"jiném počítači."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokol rwho umožňuje vzdáleným uživatelům získat seznam\n"
+"všech uživatelů přihlášených na počítači s démonem rwho (je to podobné\n"
+"službě finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Spustit zvukový systém při startu"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog je program pomocí něhož zaznamenává mnoho démonů správy do "
+"systémových\n"
+"log souborů. Je dobré mít spuštěný syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Nahrát ovladače pro usb zařízení."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Startuje X Font Server (to je nezbytné pro běh Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Tisk"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Sdílení souborů"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Systém"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Vzdálená administrace"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Databázové servery"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Služby"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Zvolte si, které služby by měly být automaticky spuštěny při startu"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Služby: aktivováno %d z %d registrovaných"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "spuštěno"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "zastaveno"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Služby a démoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nejsou žádné další\n"
+"informace o službě, promiňte."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informace"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Spustit na žádost"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Při spuštění"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Tento program je svobodný software; můžete ho šířit a/nebo modifikovat\n"
+"podle specifikace GNU General Public Licence, která byla publikována\n"
+"Free Software Foundation; buď verze 2, nebo (podle volby) pozdější verze.\n"
+"\n"
+"Tento program je distribuován s nadějí, že bude užitečný,\n"
+"ale BEZ JAKÝCHKOLIV ZÁRUK; BEZ NÁROKU NA PROFIT. Více detailů naleznete\n"
+"v licenci GNU General Public Licence.\n"
+"\n"
+"Kopii GNU General Public Licence můžete obdržet buď s tímto programem\n"
+"nebo si o ní můžete napsat na adresu Free Software Foundation, Inc.,\n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Záloha a obnova aplikace\n"
+"\n"
+"--default : uloží výchozí adresáře.\n"
+"--debug : zobrazí všechny ladící hlášky.\n"
+"--show-conf : vypíše seznam souborů a adresářů pro zálohu.\n"
+"--config-info : vysvětlí volby pro konfigurační soubory (pro non-X "
+"uživatele).\n"
+"--daemon : use daemon configuration. \n"
+"--help : zobrazí tuto zprávu.\n"
+"--version : zobrazí číslo verze.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"VOLBY:\n"
+" --boot - povolí nastavení zavaděče systému\n"
+" --splash - povolí nastavení vzhledu pro zavaděč systému\n"
+"výchozí režim: nabídne nastavení vlastností pro automatické přihlášení"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[VOLBY] [NAZEV_PROGRAMU]\n"
+"\n"
+"[VOLBY]:\n"
+" --help - vypíše tuto nápovědu.\n"
+" --report - program může být libovolný Mandriva Linux nástroj\n"
+" --incident - program může být libovolný Mandriva Linux nástroj"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - průvodce \"přidáním síťového rozhraní\"\n"
+" --del - proůvodce \"odebráním síťového rozhraní\"\n"
+" --skip-wizard - vlastní zpráva připojení\n"
+" --internet - nastaví internet\n"
+" --wizard - stejné jako volba --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Import fontů a monitoring aplikací\n"
+"\n"
+"[VOLBY]:\n"
+"--windows_import : provede import ze všech dostupných oddílů s Windows.\n"
+"--xls_fonts : zobrazí všechny fonty, které již z xls existují\n"
+"--install : akceptuje libovolný font z libovolného adresáře.\n"
+"--uninstall : odinstaluje libovolný font nebo libovolný adresář s "
+"fonty.\n"
+"--replace : nahradí již existující fonty\n"
+"--application : 0 žádná aplikace.\n"
+" : 1 všechny dostupné podporované aplikace.\n"
+" : nazev_aplikace jako např. so pro staroffice \n"
+" : a gs pro ghostscript."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[VOLBY]\n"
+"Nastavení pro Mandriva Linux Terminal Server (MTS)\n"
+"--enable : povolí MTS\n"
+"--disable : zakáže MTS\n"
+"--start : spustí MTS\n"
+"--stop : ukončí MTS\n"
+"--adduser : přidá existujícího uživatele do MTS (vyžaduje jméno "
+"uživatele)\n"
+"--deluser : odebere existujícího uživatele z MTS (vyžaduje jméno "
+"uživatele)\n"
+"--addclient : přidá klienta do MTS (vyžaduje MAC adresu, IP, název nbi "
+"obrazu)\n"
+"--delclient : odebere klienta z MTS (vyžaduje MAC address, IP, název "
+"nbi obrazu)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[klávesnice]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[VOLBY]\n"
+"Síť a připojení k Internetu a sledování aplikací\n"
+"\n"
+"--defaultintf interface: zobrazí vždy toto rozhraní\n"
+"--connect : pokud není připojeno, provede připojení k internetu\n"
+"--disconnect : pokud je připojeno, provede odpojení od internetu\n"
+"--force : používá se s (při)odpojením : vynutí (při)odpojení.\n"
+"--status : vrátí 1 pokud je připojeno, jinak vrací 0 a skončí.\n"
+"--quiet : tichý režim. Používá se při (při)odpojování."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[VOLBY]...\n"
+" -no-confirmation nepotvrzuje první otázku v režimu Mandriva Update\n"
+" --no-verify-rpm neprovádí ověření podpisu u balíčků\n"
+" --changelog-first v okně s popisem nejdříve zobrazí changelog před "
+"seznamem souborů\n"
+" --merge-all-rpmnew navrhne spojit všechny nalezené soubory .rpmnew/."
+"rpmsave"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [všechno]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Použití: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Všechny servery"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globální"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asie"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Evropa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Severní Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceánie"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Jižní Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Ruská federace"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslávie"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Je to správně?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Nezvolen žádný soubor"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Vybrali jste soubor, ne adresář"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Vybrali jste adresář, ne soubor"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Adresář neexistuje"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Soubor neexistuje"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Rozbalit větev"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sbalit větev"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Přepnutí mezi abecedním a skupinovým řazením"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s není instalováno\n"
+"Klikněte na \"Další\" chcete-li provést instalaci nebo \"Zrušit\", pokud "
+"nechcete."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalace selhala"
diff --git a/perl-install/share/po/cy.po b/perl-install/share/po/cy.po
new file mode 100644
index 000000000..7c1d337fb
--- /dev/null
+++ b/perl-install/share/po/cy.po
@@ -0,0 +1,6793 @@
+# translation of DrakX-cy.po to Cymraeg
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Rhoslyn Prys <rhoslyn.prys@ntlworld.com>, 2003,2004,2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Mandriva DrakX.cy\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-01-14 17:31-0000\n"
+"Last-Translator: Rhoslyn Prys <post@meddal.com>\n"
+"Language-Team: Cymraeg <post@meddal.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Welsh\n"
+"X-Poedit-Country: UNITED KINGDOM\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Arhoswch"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Wrthi'n gosod cychwynnwr"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"Mae LILO eisiau neilltuo enw Cyfrol newydd i yrrwr %s. Er hynny, mae newid\n"
+"enw Cyfrol disg cychwyn Windows NT, 2000, neu XP yn wall angheuol.\n"
+"Nid yw'r rhybudd hwn yn cynnwys 95, 98, neu i ddisgiau data NT.\n"
+"\n"
+"Neilltuo enw Cyfrol newydd?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Methodd gosod cychwynnwr. Digwyddodd y gwall canlynol:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Efallai bydd angen i chi newid eich dyfais cychwyn Open Firmware\n"
+" i alluogi'r cychwynnwr. Os nad ydych yn gweld anogwr y\n"
+" cychwynnwr wrth ail gychwyn, gwasgwch Command-Option-O-F wrth ail\n"
+" gychwyn a theipiwch: setenv boot-device %s,\\\\:tbxi\n"
+" Yna teipiwch: shut-down\n"
+"Wrth gychwyn eto dylech weld anogwr y cychwynnwr."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Rydych wedi penderfynu gosod y cychwynnwr ar raniad.\n"
+"Mae hyn yn awgrymu bod gennych gychwynnwr ar ddisg caled eisoes: (ee System "
+"Commander).\n"
+"\n"
+"Gyda pha ddisg ydych chi'n cychwyn?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Adran gyntaf o'r disg (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Adran gyntaf o'r rhaniad gwraidd"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Ar Ddisg Meddal"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Hepgor"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Gosodiad LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Lle rydych chi eisiau gosod y cychwynnwr?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Ffurfweddu'r Math o Gychwyn"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Prif ddewisiadau Bootloader"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Cychwynnwr ar waith"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Bootloader ar waith"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dyfais cychwyn"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Prif ddewisiadau"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Oedi cyn cychwyn y ddelwedd rhagosodedig"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Galluogi ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Galluogi APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Galluogi APIC Lleol"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Cyfrinair"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Nid yw'r cyfrineiriau'n cyd-fynd"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Ceisiwch eto"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Nid oes modd defnyddio cyfrinair gyda %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Cyfrinair (eto)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Cyfyngu dewisiadau llinell orchymyn"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "cyfyngu"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Dewis Nid yw 'cyfyngu dewisiadau llinell orchymyn' o werth heb gyfrinair"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Glanhau /tmp bob tro fyddwch yn cychwyn"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Union faint o RAM os oes angen (canfod %dMB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Rhowch faint RAM mewn MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Neges Init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Agor Oedi Cadarnwedd"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Goramser cychwyn y cnewyllyn"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Galluogi cychwyn o CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Galluogi Cychwyn OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "System Weithredu Rhagosodedig?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Delwedd"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Gwraidd"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Atodi"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Atodiad Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Modd fideo"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Proffil rhwydwaith"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Label"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Rhagosodedig"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Nid yw label wag yn cael ei chaniatáu"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Rhaid enwi delwedd cnewyllyn"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Rhaid pennu rhaniad gwraidd"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Mae'r label hwn yn cael ei ddefnyddio eisoes"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Pa fath o gofnod ydych chi eisiau ei ychwanegu?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Systemau Gweithredu eraill (SunOS..)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Systemau Gweithredu Eraill (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Systemau Gweithredu Eraill (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Dyma'r cofnodion gwahanol ar eich dewislen cychwyn hyd yma.\n"
+"Mae modd i chi ychwanegu rhagor neu newid y rhai presennol."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "mynediad i raglenni X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "mynediad i offer rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "caniatáu \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "mynediad i ffeiliau gweinyddol"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "mynediad i offer rhwydwaith"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "mynediad i offer crynhoad"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(wedi ychwanegu %s yn barod)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Rhowch enw defnyddiwr"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Rhaid i'r enw defnyddiwr gynnwys dim ond llythrennau bach, rhifau, '-' a '_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Mae'r enw defnyddiwr yn rhy hir"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Mae'r enw defnyddiwr wedi ei ychwanegu yn barod"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Enw Defnyddiwr"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Enw Grŵp"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "Rhaid i %s fod yn rhif!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "Dylai %s fod dros 500. Parhau beth bynnag?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Ychwanegu defnyddiwr"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Rhowch enw defnyddiwr\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Gorffen"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Derbyn defnyddiwr"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Enw cywir"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Enw mewngofnodi"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Cragen"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Awto mewngofnodi"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Mewngofnodi'n awtomatig ar gyfer un defnyddiwr."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Defnyddiwch y nodwedd"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Dewis y defnyddiwr rhagosodedig:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Dewiswch y rheolwr ffenestr i redeg:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Cytundeb trwyddedu"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Gadael"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Nodiadau Ryddhau"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Derbyn"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Gwrthod"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Dewiswch iaith i'w defnyddio."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Dewis iaith"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Gallwch ddewis ieithoedd eraill fydd ar gael ar ôl gosod. Dewiswch\n"
+"pa iaith yr hoffech ei osod. Byddant ar gael pan fydd eich gosodiad\n"
+"wedi ei gwblhau a phan fyddwch yn ailgychwyn eich system."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Amlieithog"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Hen Amgodiad (nid utf-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Pob iaith"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Gwlad / Ardal"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Dewiswch eich gwlad."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Dyma restr lawn o'r gwledydd sydd ar gael"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Gwledydd eraill"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Uwch"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Dull mewnbwn:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Dim"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Peidio rhannu"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Caniatáu pob defnyddiwr"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Arddull"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Hoffech chi ganiatáu i rai defnyddwyr rannu eu cyfeiriaduron?\n"
+"Bydd caniatáu hyn yn gadael i ddefnyddwyr glicio ar \"Rhannu\" yn konqueror "
+"a nautilus.\n"
+"\n"
+"\"Addasu\" caniatáu cyfran i'r defnyddwyr.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: system rhannu ffeiliau traddodiadol Unix, sydd â llai o gefnogaeth ar "
+"Mac a Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: system rhannu ffeiliau sy'n cael ei ddefnyddio yn Windows, Mac OSX a "
+"nifer o systemau Linux diweddar."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Gallwch allforio gan ddefnyddio NFS neu SMB. Pa un hoffech chi ei ddefnyddio?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Cychwyn userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Cau"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Mae'r rhannu yn ôl defnyddiwr yn defnyddio grŵp \"rhannu ffeiliau\" .\n"
+"Mae modd defnyddio userdrake i ychwanegu defnyddiwr i'r grŵp. "
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Allgofnodwch ac yna defnyddiwch Ctrl Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Rhaid allgofnodi ac i mewn eto i newidiadau ddigwydd."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Cylchfa amser"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Pa un yw eich parth amser?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Gosodiadau Dyddiadm Cloc a Chylchedd Amser"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Beth yw'r amser gorau?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (cloc caledwedd wedi ei osod i UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (cloc caledwedd wedi ei osod i'r amser lleol)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Gweinydd NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Cydweddi amser awtomatig (defnyddio NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Ffeil leol"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Cerdyn clyfar"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Parth Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Cyfeiriadur byw gyda SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Cyfeiriadur Byw gyda Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Ffeil leol:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "Defnyddio lleol ar gyfer pob dilysiad a gwybodaeth mewn ffeil leol"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Dweud wrth eich cyfrifiadur i ddefnyddio LDAP ar gyfer rhai neu'r holl "
+"ddilysiad. Mae LDAP yn crynhoi mathau arbennig o wybodaeth o fewn eich corff."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Caniatáu i chi redeg grŵp o gyfrifiaduron yn yr un parth Gwasanaeth "
+"Gwybodaeth Rhwydwaith gyda chyfrinair cyffredin a ffeil grŵp."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Parth Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Mae Winbind yn caniatáu i'r system estyn gwybodaeth a dilysu defnyddwyr mewn "
+"parth Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Cyfeiriadur Byw gyda SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Gyda Kerberos a LDAP ar gyfer dilysiad yn y Gweinydd Cyfeiriadur Byw"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Cyfeiriadur Byw gyda Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Mae Winbind yn caniatáu i'r system ddilysu defnyddwyr mewn Gweinydd "
+"Cyfeiriadur Byw Windows"
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Dilysu LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "Sail dn LDAP"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Gweinydd LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "syml"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "trefn diogelwch (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Cyfeiriadur Byw Dilysu"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Parth"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Gweinydd"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Cronfa ddata defnyddwyr LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Defnydd BIND anhysbys"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Defnyddiwr LDAP â chaniatâd i bori'r Cyfeiriadur Gweithredol"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Cyfrinair ar gyfer defnyddwyr"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Dilysu LDAP"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Parth NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Gweinydd NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"I hyn weithio gyda 2WK PDC, bydd angen i chi gael y gweinyddwr i redeg C:"
+"\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add ac "
+"ailgychwyn y gweinydd. Bydd angen hefyd yr enw defnyddiwr/cyfrinair "
+"Gweinyddiaeth Parth i uno'r peiriant â pharth Windows (NM).\n"
+"Os nad yw'r rhwydwaith wedi ei alluogi eto, bydd DrakX yn ceisio ymuno â'r "
+"parth ar ôl y cam o gychwyn y rhwydwaith.\n"
+"Os bydd y cam hwn yn methu am ryw reswm ac nid yw dilysiad yn gweithio, "
+"rhedwch 'smbpasswd -j DOMAIN -U USER%%PASSWORD' gan ddefnyddio eich Parth "
+"Windows(NM), a'ch Enw Defnyddiwr Gweinyddol/Cyfrinair ar ôl cychwyn eich "
+"system.\n"
+"Bydd y gorchymyn 'wbinfo -t' yn gwirio a yw eich cyfrinachau dilysu'n addas."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Dilysu Parth Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Cylch Cyfeiriadur Byw"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Enw Defnyddiwr Gweinyddiaeth Parth"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Cyfrinair Gweinyddol y Parth"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Dilysu"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Gosod cyfrinair gweinyddwr (root"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Dull dilysu"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Dim cyfrinair"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Mae'r cyfrinair yn rhy syml ( rhaid iddo fod o leiaf %d nod o hyd)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Methu defnyddio darlledu heb barth NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Croeso i'r dewis o systemau gweithredu! \n"
+"\n"
+"Dewiswch system weithredu o'r rhestr uchod neu\n"
+"aros am y cychwyn rhagosodedig\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO gyda dewislen testun"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB gyda dewislen raffigol"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB gyda dewislen testun"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "dim digon o le yn /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Nid oes modd gosod y cychwynnwr ar raniad %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Rhaid i ffurfweddiad eich cychwynnwr gael ei ddiweddaru am i'r rhaniadau "
+"gael eu hail rifo."
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Methu gosod eich cychwynnwr yn iawn, Rhaid defnyddio achub cychwyn a dewis "
+"\"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Ail osod Cychwynnwr"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d munud"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 munud"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d eiliad"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "gorchymyn %s ar goll"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"Protocol yw WebDAV sy'n eich caniatáu i chi osod gweinydd gwe'n lleol\n"
+"a'i drin fel system ffeilio leol ( ar yr amod bod y gweinydd lleol wedi ei\n"
+"ffurfweddi fel gweinydd WebDAV). Os hoffech ychwanegu pwyntiau\n"
+"gosod WebDAV, dewiswch \"Newydd\""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Newydd"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Dadosod"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Gosod"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Pwynt gosod"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Dewisiadau"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Gwall"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Rhowch URL gweinydd WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Rhaid i'r URL gychwyn gyda http:// neu https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Gweinydd:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Pwynt gosod:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Dewisiadau: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Creu rhaniadau"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Darllenwch yn ofalus!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Gwnewch gopi wrth gefn o'ch data yn gyntaf"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Gadael"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Parhau"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Os ydych yn bwriadu defnyddio aboot, gofalwch adael lle gwag (2048 sector yn "
+"ddigon)\n"
+"ar ddechrau'r ddisg."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Cymorth"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Dewiswch weithred"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Mae gennych un rhaniad Microsoft Windows mawr\n"
+"Awgrymir eich bod yn newid maint y rhaniad\n"
+"(cliciwch arno, ac yna clicio \"Newid maint\"]"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Cliciwch ar raniad"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Manylion"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Heb ganfod gyrwyr caled"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Anhysbys"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "FS jwrnaleiddiwyd"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Arall"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Gwag"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Mathau o system ffeiliau:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Rhybudd"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Mae'r rhaniad eisoes yn wag"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Defnyddiwch \"Dadosod\" yn gyntaf"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Defnyddiwch \"%s\" yn lle hynny"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Math"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Dewiswch raniad arall"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Dewiswch raniad"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Dadwneud"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Arbenigwr > Cyffredinol"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Cyffredinol > Arbenigwr"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Gwiriad"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Parhau beth bynnag?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Gorffen heb gadw"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Gorffen heb ysgrifennu'r tabl rhaniadau?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ydych eisiau cadw newidiadau /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Bydd angen i chi ail gychwyn cyn i'r newidiadau yn eich tabl rhaniad ddigwydd"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Dylech fformatio rhaniad %s.\n"
+"Fel arall ni fydd mynediad i bwynt gosod %s yn cael ei ysgrifennu yn fstab.\n"
+"Gadael beth bynnag?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Clirio i gyd"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Awto ddynodi"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Rhagor"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Gwybodaeth am y ddisg galed"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Mae pob rhaniad cynradd wedi ei ddefnyddio"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Does dim modd ychwanegu rhaniadau ychwanegol"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "I gael mwy o raniadau, dilëwch un i greu rhaniad estynedig"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Dim uwchosod"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Uwchosod"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Uwchosod heblaw am yrrwyr CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Cadw'r tabl rhaniad"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Adfer y tabl rhaniad"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Achub y tabl rhaniadau"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Ail-lwytho'r tabl rhaniad"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Cyfrwng symudadwy'n awto-osod"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Dewiswch ffeil"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Nid yw'r tabl rhaniad wrth gefn yr un maint\n"
+"Parhau?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Yn ceisio achub y tabl rhaniadau"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Gwybodaeth fanwl"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Newid maint"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Fformatio"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Ychwanegu i RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Ychwanegu i LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Dileu"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Tynnu o RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Tynnu o LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Newid RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Defnyddiwch ar gyfer cylchol"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Creu"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Creu rhaniad newydd"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sector dechreuol: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Maint mewn MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Math o system ffeilio"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Dewis"
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Enw cyfrol resymegol"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Nid oes modd i chi greu rhaniad newydd\n"
+"(gan eich bod wedi cyrraedd y nifer uchaf o raniadau cynradd).\n"
+"Diddymwch raniad cynradd a chreu rhaniad estynedig."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Tynnu'r ffeil gylchol?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Wedi newid math raniad %s, bydd yr holl ddata ar y rhaniad yn cael ei golli"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Newid math y rhaniad"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Pa fath o system ffeil ydych chi eisiau?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Newid o ext2 i ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Pa label cyfrol?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Label:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Lle'r hoffech chi osod y ffeil gylchol %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Lle'r ydych am osod dyfais %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Methu dadsetio'r pwynt gosod gan fod y rhaniad yn cael ei ddefnyddio ar "
+"gyfer cylch-ôl\n"
+"Tynnu'r cylch-ôl yn gyntaf"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Lle'r ydych am osod %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Newid maint"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Cyfrifo ffiniau system ffeiliau FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Nid oes modd newid maint y rhaniad"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Dylai'r holl ddata ar y rhaniad gael ei gadw wrth gefn"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Ar ôl newid maint rhaniad %s, bydd yr holl ddata ar y rhaniad yma yn cael ei "
+"golli"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Dewiswch y maint newydd"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Maint mewn MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Lleiafswm maint: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Uchawfswm maint : %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"I sicrhau cywirdeb data'r rhaniad ar ôl ail-feintioli’r rhaniad(au), bydd \n"
+"gwiriadau'r system ffeiliau'n cael eu gwneud wrth i chi ail gychwyn Windows "
+"(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Dewis RAID presennol i ychwanegu ato"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "newydd"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Dewis LVM presennol i ychwanegu ato"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Enw LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Mae cyfrol %s dan mewn defnydd.\n"
+"Ydych chi am symud ystentiau ffisegol a ddefnyddiwyd o'r gyfrol i gyfrol "
+"arall?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Symud ystent corfforol"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Nid oes modd defnyddio'r rhaniad ar gyfer cylchol"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Cylch-ôl"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Enw ffeil gylchol"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Rhowch enw ffeil"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Mae'r ffeil yn cael ei ddefnyddio eisoes gam cylchol arall, dewiswch un arall"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Mae'r ffeil yn bodoli eisoes. Defnyddiwch hwn?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Dewisiadau gosod"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Amrywiol"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "dyfais"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "lefel"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "Maint darn yn KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Byddwch ofalus: mae'r weithred hon yn beryglus."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Pa fath o raniad ?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Mi fydd angen i chi ailgychwyn cyn i'r newidiadau ddod i rym"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Mae tabl rhaniad disg %s yn mynd i gael ei ysgrifennu i'r ddisg!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Wedi fformatio rhaniad %s, bydd yr holl ddata ar y rhaniad yn cael ei golli"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Gwirio blociau gwallus?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Symud ffeiliau i'r rhaniad newydd"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Cuddio ffeiliau"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Mae cyfeiriadur %s eisoes yn cynnwys data\n"
+"(%s)\n"
+"\n"
+"Gallwch un ai ddewis i symud y ffeiliau i'r rhaniad fydd wedi ei osod yno "
+"neu eu gadael lle y maent (sy'n golygu eu cuddio gan gynnwys y rhaniad hwnnw)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Symud ffeiliau i'r rhaniad newydd"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Copïo %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Tynnu %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "Mae rhaniad %s yn cael ei alw'n %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Mae'r rhaniadau wedi eu hail-rifo"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Dyfais: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Label y gyfrol:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Llythyren disg DOS: %s (dim ond dyfalu)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Math: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Enw : "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Dechrau: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Maint: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sector"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silindr %d i silindr %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Nifer clystyrau rhesymegol: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Wedi ei fformatio\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Heb ei fformatio\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Gosodwyd\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Ffeil(iau) Cylch-ôl:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Cychwyn y rhaniad fel rhagosodwyd\n"
+" (ar gyfer cychwyn MS-DOS, nid ar gyfer lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Lefel %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Maint darn %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Disg RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Enw ffeil gylchol: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Mwy na thebyg rhaniad Gyrrwr\n"
+"yw'r rhaniad hwn. Gwell gadael\n"
+"llonydd iddo.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Mae'r rhaniad Bootstrap\n"
+"hwn ar gyfer cychwyniad\n"
+"dwbl eich system\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Darllen yn unig"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Maint: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometreg: %s silindr, %s pen, %s sector\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Gwybodaeth:"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Disg LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tabl rhaniad math: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "ar sianel %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Allwedd amgryptio system ffeil : "
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Dewiswch eich allwedd amgryptio system ffeiliau"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Mae'r allwedd amgryptio'n rhy syml (mae'n rhaid bod o leiaf %d nod o hyd)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Nid yw'r allweddi amgryptio'n cyd-fynd"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Allwedd amgryptio"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Allwedd amgryptio (eto)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algorithm amgryptio"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Newid y math"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Diddymu"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+"Methu mewngofnodi gan ddefnyddio enw defnyddiwr %s (cyfrinair anghywir?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Angen Dilysu Parth"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Pa enw defnyddiwr"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Un arall"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Rhowch eich enw defnyddiwr, cyfrinair ac enw parth i gael mynediad i'r "
+"gwesteiwr."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Enw defnyddiwr"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Chwiliwch am weinyddion"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Chwiliwch weinyddion newydd"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Rhaid i becyn %s gael ei osod. Ydych chi am ei osod?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Methu gosod pecyn %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Mae pecyn gorfodol %s ar goll"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Mae'r pecynnau canlynol angen eu gosod:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Gosod pecynnau..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Tynnu pecyn..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Digwyddodd gwall - heb ganfod unrhyw ddyfeisiau dilys er mwyn creu system "
+"ffeil arnynt. Gwiriwch eich caledwedd am reswm dros y gwall."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Rhaid cael rhaniad FAT wedi ei fowntio yn /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Yn fformatio rhaniad %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Creu a fformatio ffeil %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Nid wyf yn gwybod sut i fformatio %s ym math %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "methodd fformatio %s o %s"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Gosodiadau cylch %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Yn fformatio rhaniad %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "methodd gosod rhaniad %s yng nghyfeiriadur %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Gwirio %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "gwall dadosod %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Galluogi rhaniad cyfnewid %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Defnyddiwch system ffeil amgryptiedig"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Galluogi cyfrifo cwota disg grŵp a dewis gorfodi terfynau"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Peidiwch ddiweddaru amser mynediad inode ar y system ffeiliau\n"
+"(e.e. ar gyfer mynediad cynt ar y cylch newyddion i gyflymu gweinyddion "
+"newyddion)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Dim ond ei osod yn benodol (h.y.,\n"
+"bydd y dewis -a yn achosi i'r system gael ei osod)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Peidio dehongli nod neu rwystro dyfeisiadau arbennig ar y system ffeil."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Peidio caniatáu gweithrediad unrhyw dueddiad ar system ffeil wedi ei\n"
+"gosod. Gall y dewis fod yn ddefnyddiol ar gyfer gweinydd sydd ganddo\n"
+"systemau ffeiliau yn cynnwys tueddiad fel pensaernïaeth wahanol i'w un ei "
+"hun."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Peidio gadael i didau enw-defnyddiwr-set neu enw-grwp-set\n"
+"i gymryd effaith. (Mae i weld yn ddiogel on mae braidd yn anniogel os\n"
+"yw uidperl(1) wedi ei osod.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Gosodwch y system ffeiliau fel darllen yn unig."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Dylai pob I/O i'r system ffeil gael ei wneud yn gydamserol."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Caniatáu pob defnyddiwr i osod a dadosod y system ffeiliau."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Caniatáu i ddefnyddiwr cyffredin osod system ffeil."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Galluogi defnyddiwr i gyfrifo cwota disg ac o ddewis gorfodi terfynau."
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Cefnogaeth \"defnyddiwr.\" priodweddau pellach"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Rhoi mynediad ysgrifennu i ddefnyddwyr cyffredin"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Rhoi mynediad darllen yn unig i ddefnyddwyr cyffredin"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Pwynt mowntio dyblyg %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Dim rhaniad ar gael"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Sganio rhaniadau i ganfod pwyntiau mowntio"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Dewiswch bwyntiau mowntio"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Dewiswch y rhaniadau rydych am eu fformatio"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Methu gwirio system ffeil %s. Hoffech chi gywiro'r gwallau? (gofal, mae modd "
+"colli data)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Dim digon o le cyfnewid i gyflawni'r gosod, ychwanegwch"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Rhaid cael rhainiad root.\n"
+"Ar gyfer gwneud hyn , crëwch raniad (neu cliciwch ar un cyfredol).\n"
+"Yna dewiswch weithred ``Pwynt mowntio'' a'i osod i `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Nid oes gennych raniad cyfnewid.\n"
+"\n"
+"Parhau beth bynnag?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Defnyddiwch le rhydd"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nid oes digon o le ar gyfer dynodi rhaniadau newydd"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Defnyddio'r rhaniadau presennol"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nid oes rhaniad presennol ar gael"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Defnyddiwch raniad Microsoft Windows® ar gyfer cylch ôl."
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Pa raniad hoffech ei ddefnyddio ar gyfer Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Dewis maint"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Maint rhaniad root mewn MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Maint rhaniad cyfnewid mewn MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nid oes rhaniad FAT i'w ddefnyddio ar gyfer cylch ôl (dim digon o le ar ôl)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Defnyddio lle rhydd ar raniad Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Pa raniad hoffech newid ei faint?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Nid yw'r rhaglen newid maint FAT yn gallu trin eich rhaniad,\n"
+"digwyddodd y gwall canlynol: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Mesur maint rhaniad Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Mae eich rhaniad Microsoft Windows® yn rhy ddarniog. Ailgychwynnwch eich "
+"cyfrifiadur yn Microsoft Windows®, a rhedeg y rhaglen `defrag'', yna "
+"ailgychwyn gosod Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"RHYBUDD!\n"
+"\n"
+"\n"
+"Bydd maint eich rhaniad Microsoft Windows® yn cael ei newid.\n"
+"\n"
+"\n"
+"Byddwch ofalus: mae'r weithred hon yn beryglus. Os nad ydych wedi gwneud "
+"hynny eisoes, rhaid gadael y gosod, rhedeg \"chkdsk c:\" o'r Llinell "
+"Orchymyn yn Microsoft Windows® (rhybudd: nid yw rhedeg y rhaglen \"scandisk"
+"\" yn ddigon, gwnewch yn siŵr eich bod yn defnyddio \"chkdsk\" mewn Llinell "
+"Orchymyn!), neu rhedwch defrag, yna ailgychwyn gosod. Dylech hefyd wneud "
+"copi wrth gefn o'ch data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Nesaf"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Pa faint o le ydych am ei gadw ar gyfer Microsoft Windows® ar rhaniad %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Maint"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Newid maint rhaniad Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Methodd newid maint FAT %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Nid oes rhaint FAT i newid ei faint (neu does dim digon o le)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Tynnu Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Dileu a defnyddio'r ddisg gyfan"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Mae gennych fwy nag un disg caled, ar ba un hoffech osod linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Bydd POB rhaniad presennol a'u data'n cael eu colli ar yrrwr %si"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Rhannu disg arbenigol"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Defnyddiwch fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Gallwch nawr rannu %s.\n"
+"Ar ôl gorffen, peidiwch anghofio ei gadw dan ddefnyddio 'w'."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Nid oes lle ar gyfer gosod"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Mae dewin rhannu DrakX wedi canfod yr atebion canlynol:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Methodd creu'r rhaniad: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Does dim modd defnyddio JFS ar raniadau llai na 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Does dim modd defnyddio ReiserFS ar gyfer rhaniadau llai na 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "gyda /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "Gweinydd"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Mae meddalwedd BIOS RAID wedi ei ganfod ar ddisgiau %s. Gweithredu?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Nid wyf yn gallu darllen tabl rhaniad %s, mae'n rhy lygredig. :(\n"
+"Mae modd i mi fynd ymlaen i ddiystyru rhaniadau gwael (Bydd yr\n"
+"HOLL DDATA'n cael ei golli!). Yr ateb arall yw peidio gadael i\n"
+"DrakX newid y tabl rhaniad. (y gwall yw %s)\n"
+"\n"
+"Ydych chi'n cytuno i golli'r holl raniadau?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Rhaid i bwyntiau gosod gynnwys / arweiniol"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Dylai enw'r pwyntiau gosod gynnwys llythrennau a rhifau'n unig"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Mae yna eisoes raniad gyda phwynt gosod %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Rydych wedi dewis meddalwedd rhannu RAID fel gwraidd (/)\n"
+"Nid oes cychwynnwr yn gallu trin hwn heb raniad /boot\n"
+"Cofiwch ychwanegu rhaniad /boot"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Does dim modd defnyddio Cyfrol Resymegol LVM ar gyfer pwynt gosod %s am ei "
+"fod ar draws cyfrolau ffisegol."
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Rydych wedi dewis Cyfrol Resymegol LVM fel gwraidd (/)\n"
+"Nid oes cychwynnwr yn gallu trin hwn pan yw ar draws cyfrolau ffisegol.\n"
+"Cofiwch ychwanegu rhaniad /boot yn gyntaf"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Dylai'r cyfeiriadur aros o fewn y system ffeilio gwraidd"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Mae angen gwir system ffeilio (ext2, reiserfs, xfs, neu jfs)) ar gyfer y "
+"pwynt gosod\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Nid oes modd defnyddio Cyfrol Resymegol LVM ar gyfer pwynt gosod %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nid oes digon o le ar gyfer awto ddynodi"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Dim i'w wneud"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disg Meddal"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disg"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Llosgwyr CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Tâp"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Rheolyddion AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Cerdyn fideo"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Cerdyn DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Cerdyn Teledu"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Dyfeisiau aml-gyfrwng eraill"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Cerdyn sain"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Camera Gwe"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prosesyddion"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Addaswyr ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Dyfeisiau sain USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Cardiau radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Cardiau rhwydwaith ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Cardiau rhwydwaith WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Dyfeisiau Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Cerdyn Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Addaswyr ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Cof"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Argraffydd"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Rheolyddion porth gemau"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Ffon hud"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Rheolyddion SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Rheolyddion RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Rheolyddion (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Dyfeisiau Storio Crynswth USB"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model cerdyn:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Rheolyddion firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Rheolyddion PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Rheolyddion SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Rheolyddion USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Pyrth USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Rheolyddion SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Rheolyddion pontydd a system"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Bysellfwrdd"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tabled a sgrin cyffwrdd"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Llygoden"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Sganiwr"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Anhysbys/Eraill"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Arhoswch...Gosod y ffurfweddiad"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Dim gyrwyr eraill"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Nid oes gyrrwr OSS/ALSA arall hysbys ar gyfer eich cerdyn sain (%s) sy'n "
+"defnyddio \"%s\" ar hyn o bryd"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Ffurfweddiad sain"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Yma gallwch ddewis gyrrwr arall (un ai OSS neu ALSA) ar gyfer eich cerdyn "
+"sain (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Mae eich cerdyn yn defnyddio'r gyrrwr %s\"%s\" ar hyn o bryd ( y gyrrwr "
+"arferol ar ei gyfer yw \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) oedd yr API sain gyntaf. Mae'n API sail annibynnol o "
+"systemau gweithredu ( mae ar gael ar gyfer y rhan fwyaf o systemau unices) "
+"on mae'n API elfennol iawn a chyfyng.\n"
+"Mae gyrwyr OSS hefyd yn ail ddyfeisio'r hyn sy'n bod eisoes.\n"
+"\n"
+"Mae ALSA (Advanced Linux Sound Architecture) yn bensaernïaeth fodiwlaidd "
+"sy'n \n"
+"cynnal ystod eang o gardiau ISA, USB a PCI.\n"
+"\n"
+"Mae hefyd yn darparu API llawer uwch na OSS.\n"
+"\n"
+"I ddefnyddio alsa, mae modd defnyddio un ai:\n"
+"- hen api OSS cydweddus\n"
+"- api ALSA newydd sy'n darparu llawer o nodweddion gell ond sydd angen "
+"defnyddio llyfrgell ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Gyrrwr:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Datrys problemau"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Mae'r hen yrrwr \"%s\" wedi ei wahardd.\n"
+"\n"
+"Mae'n effeithio'n andwyol ar y cnewyllyn\n"
+"\n"
+"Bydd y gyrrwr \"%s|\"'n cael ei ddefnyddio ar y cychwyn"
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Dim gyrrwr cod agored"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Nid oes gyrrwr rhydd ar gyfer eich cerdyn sain (%s) ond mae gyrrwr "
+"perchnogol yn \"%s\" ."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Dim gyrrwr hysbys"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Nid oes gyrrwr hysbys ar gyfer eich cerdyn sain (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Gyrrwr anhysbys"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Gwall. Nid yw gyrrwr \"%s\" wedi ei restru"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Datrys problemau sain"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Prawf gwall sain - rhedeg y gorchmynion canlynol:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" pa yrwyr i'w defnyddio\n"
+"drwy ragosodiad\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" pa yrwyr mae'n defnyddio\n"
+"- \"/sbin/fuser -v /dev/dsp\" pa raglen sy'n defnyddio'r cerdyn sain.\n"
+"ar hyn o bryd\n"
+"\n"
+"- \"/sbin/lsmod\" gwirio os yw ei yrrwr wedi ei lwytho\n"
+"a'i peidio\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" a \"/sbin/chkconfig --list alsa\" dangos\n"
+"os yw sain a gwasanaethau alsa services sydd wedi eu ffurfweddu yn rhedeg\n"
+"ar initlevel 3\n"
+"\n"
+"- \"aumix -q\" a yw'r sain wedi ei ddistewi a'i peidio\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" pa rhaglen sy'n defnyddio'r cerdyn sain.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Dewis gyrrwr fy hun"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Dewis gyrrwr ar hap"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Os ydych yn siŵr eich bod yn gwybod pa yrrwr sydd angen ar gyfer eich\n"
+"cerdyn yna dewiswch un o'r rhestr uchod\n"
+"\n"
+"Y gyrrwr presennol ar gyfer eich cerdyn \"%s\" yw \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Awtoganfod"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Anhysbys|Generig"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Anhysbys|CPH05X (bt878) [nifer o werthwyr]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Anhysbys|CPH06X (bt878) [nifer o werthwyr]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Ar gyfer y rhelyw o gardiau Teledu diweddar, mae modiwl bttv cnewyllyn GNU/"
+"Linux yn awto ganfod y paramedrau cywir.\n"
+"Os yw'ch cerdyn yn cael ei ganfod ar gam, mae modd gorfodi'r mathau cywir o "
+"gerdyn a rheolydd. Dewiswch baramedrau eich cerdyn teledu os oes raid"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model cerdyn:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Math o diwniwr:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Iawn"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Iawn"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Na"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Dewis ffeil"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Ychwanegu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Newid"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Tynnu"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Gorffen"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Blaenorol"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Dewis gwael, ceisiwch eto\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Eich dewis? (rhagosodedig %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Gwybodaeth i'w gyflwyno:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Eich dewis? (0/1, rhagosodedig %s)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Botwm '%s'.%s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Ydych chi eisiau clicio ar y botwm hwn?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Eich dewis? (rhagosodedig `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "rhowch 'gwag' am gofnod gwag"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Mae yna lawer i ddewis o (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Dewiswch y rhif cyntaf o'r amrediad 10 rydych am ei olygu,\n"
+"neu bwyswch Enter i barhau.\n"
+"Eich dewis?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=>Hysbysiad, mae label wedi newid:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Ail-gyflwyno"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "United Arab Emirates"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua a Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarctica"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Yr Ariannin"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "American Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Awstria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Awstralia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia ac Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Gwlad Belg"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bwlgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Ynys Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Ynysoedd Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Gweriniaeth Canol Affrica"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Y Swistir"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Ynysoedd Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Cameroon"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Tsieina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia a Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Ciwba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Ynys Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cyprus"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Gweriniaeth Tsiec"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Yr Almaen"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Denmarc"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominican Republic"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Yr Aifft"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Western Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Sbaen"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Ethiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Y Ffindir"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Ffiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Ynysoedd y Falkland (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Ynysoedd Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Ffrainc"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Y Deyrnas Unedig"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "French Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Greenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Equatorial Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Groeg"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "De Georgia ac Ynysoedd De Sandwich"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Tsiena (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard a McDonald Islands"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hwngari"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Iwerddon"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "British Indian Ocean Territory"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irac"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Ynys yr Iâ"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Yr Eidal"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Yr Iorddonen"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Siapan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts a Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corea (Gogledd)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman Islands"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanus"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lithuania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latfia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Morocco"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Ynysoedd Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Ynysoedd Gogledd Mariana"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mecsico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Caledonia Newydd"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Ynys Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Yr Iseldiroedd"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norwy"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Seland Newydd"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Periw"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polynesia Ffrengig"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Philippines"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pacistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Gwlad Pwyl"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre a Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portiwgal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rwmania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rwsia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Arabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Ynysoedd Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Swdan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sweden"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Ynysoedd Svalbard a Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slofacia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome a Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Ynysoedd Turks a Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "French Southern Territories"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Gwlad Thail"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Dwyrain Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Twrci"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad a Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Wcráin"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "United States Minor Outlying Islands"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Yr Unol Daleithiau"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Fatican"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent a'r Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virgin Islands (British)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Islands (U.S.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Fietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis a Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "De Affrica"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Croeso i %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Methodd symud ystentiau ffisegol i gyfrolau ffisegol eraill"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Cyfrol ffisegol %s yn dal i gael ei defnyddio"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Tynnu'r cyfrolau rhesymegol yn gyntaf\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Nid yw'r cychwynnydd yn gallu trin /boot ar gyfrolau ffisegol niferus"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Cyflwyniad\n"
+"\n"
+"Bydd y system weithredu a'r cydrannau gwahanol sydd o fewn dosbarthiad "
+"Mandriva Linux yn\n"
+"cael eu galw yn \"Gynnyrch Meddalwedd\" o hyn ymlaen. Mae'r Cynnyrch "
+"Meddalwedd yn\n"
+"cynnwys, ond heb eu cyfyngu, i'r casgliad o raglenni , dulliau, rheolau a "
+"dogfennau mewn\n"
+"perthynas â'r system weithredu a chydrannau gwahanol ddosbarthiad Mandriva "
+"Linux.\n"
+"\n"
+"\n"
+"1. Cytundeb Trwyddedu\n"
+"\n"
+"Darllenwch y ddogfen hon yn ofalus. Mae'r ddogfen hon yn gytundeb trwyddedu "
+"rhyngoch\n"
+"chi â Mandriva S.A,. sy'n berthnasol i'r Cynnyrch Meddalwedd.\n"
+"\n"
+"Wrth osod, dyblygu neu ddefnyddio'r Cynnyrch Meddalwedd mewn unrhyw fodd, "
+"rydych yn\n"
+"amlwg yn derbyn ac yn llawn cytuno i gadw at delerau ac amodau'r Drwydded "
+"hon.\n"
+"Os ydych yn anghytuno ag unrhyw ran o'r cytundeb, ni chewch ganiatâd i osod, "
+"dyblygu\n"
+"neu ddefnyddio'r Cynnyrch Meddalwedd.\n"
+"Bydd unrhyw ymgais i osod, dyblygu neu ddefnyddio'r Cynnyrch Meddalwedd mewn "
+"modd\n"
+"\n"
+"nad yw'n cyd-fynd â thelerau ac amodau'r Drwydded yn ddi-rym a bydd yn "
+"terfynu eich\n"
+"hawliau o dan y Drwydded hon. Ar ddiwedd y Drwydded, rhaid i chi "
+"ddinistrio'n syth pob\n"
+"copi o'r Cynnyrch Meddalwedd.\n"
+"\n"
+"\n"
+"2. Gwarant Gyfyngedig\n"
+"\n"
+"Mae'r Cynnyrch Meddalwedd a'r ddogfennaeth gysylltiedig yn cael eu darparu "
+"\"fel ag y maent\",\n"
+"heb ddim gwarant,\n"
+"hyd y mae'r gyfraith yn caniatáu.\n"
+"Ni fydd Mandriva S.A. yn gyfrifol, o dan unrhyw amgylchiad, a chyhyd ag y "
+"bydd y gyfraith yn\n"
+"caniatáu, am unrhyw iawn o gwbl,\n"
+"arbennig, damweiniol, uniongyrchol neu anuniongyrchol (gan gynnwys heb "
+"gyfyngu ar iawndal\n"
+"am golli busnes, tarfu ar fusnes, colled ariannol, costau cyfreithiol, a "
+"chosb o ganlyniad i achos llys,\n"
+"neu unrhyw golled o ganlyniad) yn codi o'r defnydd neu'r anallu i "
+"ddefnyddio'r Cynnyrch Meddalwedd,\n"
+"hyd yn oed os yw Mandriva wedi eu cynghori o'r posibilrwydd o'r fath iawn.\n"
+"\n"
+"CYFRIFOLDEB CYFYNGEDIG YN GYSYLLTIEDIG GYDA'R MEDDIANT NEU'R DEFNYDD O "
+"FEDDALWEDD\n"
+" GWAHARDDEDIG MEWN RHAI GWLEDYDD\n"
+"\n"
+"Ni fydd Mandriva S.A. yn gyfrifol, o dan unrhyw amgylchiad, a chyhyd y bydd "
+"y gyfraith yn caniatáu,\n"
+"i fod yn atebol am unrhyw iawn o gwbl, arbennig, damweiniol, uniongyrchol "
+"neu anuniongyrchol (gan gynnwys\n"
+"heb gyfyngu ar iawndal am golli busnes, tarfu ar fusnes, colled ariannol, "
+"costau cyfreithiol, a chosb o ganlyniad\n"
+"i achos llys, neu unrhyw golled o ganlyniad) yn codi o lwytho i lawr "
+"cydrannau meddalwedd o un o safleoedd\n"
+" Mandriva Linux, sydd wedi eu gwahardd neu eu hatal mewn rhai gwledydd gan "
+"gyfreithiau lleol. Mae'r\n"
+"cyfrifoldeb cyfyngedig hwn yn perthyn i , ond heb ei gyfyngu i'r, cydrannau "
+"cryptograffiaeth cryf sy'n cael\n"
+"eu cynnwys o fewn y Cynnyrch Meddalwedd.\n"
+"\n"
+"\n"
+"3. Trwydded GPL a Thrwyddedau Cysylltiedig\n"
+"\n"
+"Mae'r Cynnyrch Meddalwedd yn cynnwys cydrannau sydd wedi eu creu gan "
+"bersonau a endidau gwahanol.\n"
+"Mae'r rhan fwyaf o'r cydrannau hyn yn cael eu llywodraethu gan dermau ac "
+"amodau Trwydded Gyhoeddus\n"
+"Cyffredinol (General Public Licence (GPL)), GNU, fydd yn cael ei gyfeirio "
+"ato o hyn ymlaen fel \"GPL\", neu\n"
+"drwyddedau cyffelyb. Mae'r rhan fwyaf o'r trwyddedau'n caniatáu i chi "
+"ddefnyddio, dyblygu, addasu neu\n"
+" ailddosbarthu'r cydrannau maent yn eu cynnwys. Darllenwch delerau ac amodau "
+"trwydded pob cydran cyn\n"
+"eu defnyddio. Dylai pob cwestiwn am drwydded cydran gael ei ofyn i awdur y "
+"gydran ac nid i Mandriva.\n"
+"Mae'r rhaglenni a ddatblygwyd gan Mandriva yn cael eu llywodraethu o dan "
+"Drwydded GLP. Mae'r dogfennau\n"
+" ysgrifennwyd gan Mandriva S.A. yn cael eu llywodraethu gan drwydded "
+"benodol. Darllenwch y dogfennau\n"
+"am fwy o fanylion.\n"
+"\n"
+"\n"
+"4. Hawliau Eiddo Deallusol\n"
+"\n"
+"Mae pob hawl cydrannau'r Cynnyrch Meddalwedd yn perthyn i'w hawduron "
+"perthnasol ac wedi eu hamddiffyn\n"
+"gan gyfreithiau eiddo deallusol a hawlfraint sy'n berthnasol i raglenni "
+"meddalwedd. Mae Mandriva yn cadw\n"
+"ei hawl i newid neu addasu ei Gynnyrch Meddalwedd, yn rhannol neu yn gyfan, "
+"drwy unrhyw ddull ac ar gyfer\n"
+"unrhyw bwrpas.\n"
+"Mae \"Mandriva\", \"Mandriva Linux\" a'r logos cysylltiedig yn nodau "
+"masnachol sy'n perthyn i Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Cyfreithiau Llywodraethol\n"
+"\n"
+"Os bydd unrhyw ran o'r cytundeb hwn yn cael ei ddal yn ddi-rym, "
+"anghyfreithlon neu amherthnasol gan\n"
+"benderfyniad llys, bydd y rhan yma'n cael ei dynnu o'r cytundeb hwn. Byddwch "
+"yn parhau i fod yn rhwymedig\n"
+"i adrannau cymwys o'r cytundeb.\n"
+"Mae telerau ac amodau'r Drwydded hon yn cael eu llywodraethu gan Gyfreithiau "
+"Ffrainc. Mae'n ddymunol y\n"
+"bydd pob anghytundeb ar amodau'r drwydded yn cael eu datrys y tu allan i'r "
+"llys. Fel cam olaf, bydd yr anghytundeb yn cael ei drosglwyddo i'r Llysoedd "
+"Barn, Paris - Ffrainc. Am unrhyw gwestiwn ynghylch y ddogfen hon cysylltwch "
+"â Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Rhybudd: Mae'n bosibl nad yw Meddalwedd Rhad yn rhydd o batent, ac mae\n"
+"peth Meddalwedd Rhad wedi ei gyfyngu â phatent yn eich gwlad, e.e. gall\n"
+"amgodwyr MP3 fod angen trwydded ar gyfer defnydd pellach\n"
+"(gw. http://www.mp3licensing.com am wybodaeth bellach. Os nad ydych yn\n"
+"siŵr os yw'r patent yn berthnasol i chi, gwiriwch eich cyfreithiau lleol."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+" Rhybudd\n"
+"\n"
+"Darllenwch yr amodau isod yn ofalus. Os ydych yn anghytuno gydag unrhyw\n"
+" ddarn, nid oes caniatâd i chi osod y cyfrwng CD nesaf. Pwyswch 'Gwrthod' i\n"
+" barhau'r gosodiad heb ddefnyddio'r cyfryngau hyn.\n"
+"\n"
+"Nid yw rhai cydrannau ar y CDau canlynol yn cael eu rheoli gan Drwydded GPL\n"
+" neu gytundebau tebyg. Mae'r cydrannau hynny'n cael eu rheoli gan dermau ac\n"
+" amodau ei drwydded benodol ei hun. Darllenwch yn ofalus a chadwch at y\n"
+" trwyddedau penodol cyn defnyddio neu ddosbarthu'r cydrannau hynny.\n"
+"\n"
+"Mae'r trwyddedau hynny'n atal yn gyffredinol, drosglwyddiad, dyblygu (ar "
+"wahan i\n"
+" bwrpas cadw wrth gefn), dosbarthu, cildroi peirianyddol, dadcydosod,\n"
+" dad-grynhoi neu newid y cydrannau. Bydd unrhyw dorri ar yr amodau hyn yn\n"
+"terfynu eich hawl o dan y drwydded benodol. Oni bai ei fod yn rhoi'r hawl i "
+"chi,\n"
+"nid oes modd i chi osod y rhaglenni ar fwy nag un system na'i addasu ar "
+"gyfer\n"
+" defnydd ar rwydwaith. Os oes amheuaeth, cysylltwch yn uniongyrchol â\n"
+"dosbarthwr neu olygydd y cydrannau hynny.\n"
+"Mae trosglwyddo i drydydd parti neu gopïo'r cydrannau hynny gan gynnwys y\n"
+" ddogfennaeth, wedi ei wahardd fel rheol\n"
+"\n"
+"Mae pob hawl i gydrannau'r cyfrwng CD nesaf yn perthyn i' hawduron "
+"perthnasol\n"
+" ac maent wedi eu hamddiffyn drwy gyfreithiau eiddo deallusol a hawlfraint "
+"sy'n\n"
+" berthynol i raglenni meddalwedd.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Llongyfarchiadau, mae'r gosod wedi ei gwblhau.\n"
+"Tynnwch y cyfrwng cychwyn a chlicio Ailgychwyn.\n"
+"\n"
+"\n"
+"Am wybodaeth am gywiriadau sydd ar gael ar gyfer y rhyddhad hwn o Mandriva "
+"Linux,\n"
+"cysylltwch â'r atodiad, sydd i'w gael yn:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Mae gwybodaeth ar ffurfweddu eich system ar gael ym mhenawdau ôl osod\n"
+"yr Official Mandriva Linux User's Guide."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Nid oes gan y gyrrwr baramedrau ffurfweddiad!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Ffurfweddiad modiwl"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Mae modd i chi ffurfweddu pob paramedr o'r modiwl yma."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Wedi canfod rhyngwynebau %s"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Oes gennych un arall?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Oes gennych unrhyw ryngwyneb %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Gweler gwybodaeth am galedwedd"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Gosod gyrrwr gyfer rheolwr USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Gosod gyrrwr gyfer rheolwr firewire %s "
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Gosod gyrrwr gyfer rheolwr disg caled %s "
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Gosod gyrrwr gyfer rheolwr ethernet %s "
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Gosod gyrrwr %s ar gyfer cerdyn %s "
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Gallwch ddarparu ddewisiadau i fodiwl %s.\n"
+"Sylwer: wrth greu unrhyw gyfeiriad bydd angen defnyddio rhagddodiad 0x, e.e. "
+"'0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Gallwch nawr ei ddewis i fodiwl. %s.\n"
+"Mae'r dewisiadau yn fformat ``name=value name2=value2 ...''.\n"
+"e.e, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Dewisiadau modiwl:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Pa yrrwr %s ddylwn drio?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Mewn rhai achosion, mae gyrrwr %s angen gwybodaeth ychwanegol i weithio'n\n"
+"gywir, er fel rheol mae'n gweithio'n iawn hebddo. Hoffech chi enwi'r "
+"dewisiadau\n"
+"ychwanegol ar ei gyfer neu adael i'r gyrrwr archwilio'r peiriant am y "
+"wybodaeth mae\n"
+"ei angen? Weithiau bydd yr archwilio'n atal y peiriant, ond ni ddylai achosi "
+"unrhyw\n"
+"ddifrod."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Awtoholi"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Enwi dewisiadau"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Methodd llwytho modiwl %s\n"
+"Hoffech chi drio eto gyda pharamedrau eraill?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "maethodd y gosodiad"
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Nid yw'r rhaniad estynedig yn cael ei gynnal ar y platfform hwn"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Mae gennych dwll yn nhabl eich rhaniad ond nid wyf yn gallu ei ddefnyddio\n"
+"Yr unig ateb yw i symud eich rhaniadau cynradd fel bo'r twll nesaf at y "
+"rhaniadau estynedig "
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Gwall wrth ddarllen ffeil %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Methodd adfer o ffeil %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Ffeil wrth gefn gwallus"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Gwall wrth ysgrifennu i ffeil %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Mae rhywbeth gwael yn digwydd ar eich disg.\n"
+"Mae prawf i fesur ei gyfanrwydd wedi methu. \n"
+"Nid oes gwerth ysgrifennu i'r ddisg"
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Methu ychwanegu rhaniad to_formatted_RAID%s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Dim digon o raniadau ar gyfer RAID lefel %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Methu creu cyfeiriadur /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Methu creu cyswllt /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Methu copïo ffeil cadarnwedd %s i /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Methu gosod caniatâd ffeiliau cadarnwedd %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Methu gosod y pecyn sydd ei angen i rannu eich sganiwr(wyr)."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Ni fydd eich sganiwr(wyr) ar gael ar gyfer defnyddwyr anwraidd."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Caniatáu/Gwrthod negeseuon gwall IPv4 ffug."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Caniatáu/Gwrthod darlledu atsain icmp."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Caniatáu/Gwrthod atsain icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Caniatáu/Gwrthod awto mewngofnodi."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Os yw \"ALL\"yn caniatáu /etc/issue a /etc/issue.net i fodoli.\n"
+"\n"
+"Os yw \\fIarg\\fP = NONE\n"
+"\n"
+"Dim materion heblaw caniatáu /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Caniatáu/Gwrthod ailgychwyn cyfrifiadur gan ddefnyddiwr y consol."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Caniatáu/Gwrthod mewngofnodi gwraidd pell."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Caniatáu/Gwrthod mewngofnodi gwraidd uniongyrchol."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Caniatáu/Gwrthod rhestr defnyddwyr ar y system ar reolwyr dangos (kdm and "
+"gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Caniatáu/gwrthod allforio dangosiad\n"
+"wrth basio o gyfrif root i ddefnyddiwr arall.\n"
+"\n"
+"Gw. am_xauth(8) a, ragor o fanylion.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Caniatáu/Gwrthod cysylltiadau X.:\n"
+"\n"
+"- ALL (caniatáu pob cysylltiad),\n"
+"\n"
+"- LOCAL (dim ond cysylltiadau lleol)\n"
+"- NONE (dim cysylltiadau)"
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Mae'r ymresymiad yn pennu os oes gan y defnyddiwr ganiatâd i gysylltu\n"
+"gyda'r gweinydd X porth tcp 6000 neu beidio."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Ymresymiadau: (arg)\n"
+"\n"
+"- pob gwasanaeth sy'n cael ei reoli gan tcp_wrappers (gw. hosts.deny(5) man "
+"page) os wedi ei osod i \"ALL\",\n"
+"\n"
+"\n"
+" Dim ond rhai lleol os wedi eu gosod i \"LOCAL\"\n"
+"\n"
+"- dim os wedi eu gosodi i NONE. I ganiatáu'r gwasanaethau sydd eu hangen, "
+"defnyddiwch /etc/hosts.allow (gw. hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Os yw SERVER_LEVEL (neu SECURE_LEVEL os yn absennol)\n"
+"yn fwy na 3 yn /etc/security/msec/security.conf, creu'r symlink /etc/\n"
+"security/msec/server i bwyntio at /etc/security/msec/server.\n"
+"<SERVER_LEVEL>. \n"
+"Mae /etc/security/msec/server yn cael ei ddefnyddio gan chkconfig --add\n"
+"at i benderfynu ychwanegu gwasanaeth os yw ar gael yn y\n"
+"ffeil wrth osod y pecynnau"
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Galluogi/Analluogi crontab ac at ar gyfer defnyddwyr.\n"
+"\n"
+" Rhoi defnyddwyr â chaniatâd yn /etc/cron.allow a /etc/at.allow\n"
+" (gw. man yn(1) a crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Galluogi/Analluogi adroddiadau Salig i gonsol 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Galluogi/Analluogi amddiffyn spwffio datrys enw. Os yw\n"
+"\"%s\" yn wir, adrodd i syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Rhybuddion Diogelwch:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Galluogi/Analluogi amddiffyn sbwlio IP."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Galluogi/Analluogi libsafe os yw ar y system."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Galluogi/Analluogi mewngofnodi pecynnau anarferol IPv4."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Galluogi/Analluogi gwiriad diogelwch msec bob awr."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Galluogi su gan aelodau'r grŵp olwyn yn unig. Os wedi ei osod i na, caniatáu "
+"su o unrhyw ddefnyddiwr."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Defnyddio cyfrinair i wirio defnyddwyr."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Galluogi/Analluogi gwiriad cymysgaredd cardiau ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Galluogi/Analluogi gwiriad diogelwch dyddiol."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Galluogi/Analluogi sulogin(8) mewn defnydd defnyddiwr unigol."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Ychwanegu'r enw fel eithriad i drin cyfrinair yn erbyn msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Gosod cyfrinair yn erbyn \"max\" dyddiau ac oedi i newid i \"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Gosod hyd hanes cyfrinair i rwystro ail ddefnyddio'r cyfrinair."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Gosod lleiafswm hyd gyfrinair a lleiafswm digidau a lleiafswm llythrennau "
+"mawr."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Gosod gwraidd umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "os wedi ei osod i iawn, gwirio pyrth agored."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"os wedi ei osod i iawn, gwirio am:\n"
+"\n"
+"- gyfrinair gwag\n"
+"\n"
+"- dim cyfrinair yn /etc/shadow\n"
+"\n"
+"- defnyddwyr eraill gydag enw 0 ar wahân i wraidd."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"os wedi ei osod i iawn, gwirio caniatâd ffeiliau yng nghartref y defnyddiwr."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"os wedi ei osod i iawn, gwirio os yw'r dyfeisiau rhwydwaith mewn modd cymysg"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "os wedi ei osod i iawn, rhedeg y gwiriadau diogelwch dyddiol."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "os wedi ei osod i iawn, gwirio ychwanegiadau/tynnu ffeiliau sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "os wedi ei osod i iawn, gwirio cyfrinair gwag y /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "os wedi ei osod i iawn, gwirio checksum y ffeiliau suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"os wedi ei osod i iawn, , gwirio ychwanegu/tynnu ffeiliau gwraidd suid."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "os wedi ei osod i iawn, adrodd ar ffeiliau heb berchennog."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"os wedi ei osod i iawn, gwirio ffeiliau/cyfeiriaduron ysgrifennadwy gan bawb."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "os wedi ei osod i iawn, gwirio gyda chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"os wedi ei osod, anfon yr adroddiad e-bost i'r cyfeiriad e-bost neu ei anfon "
+"i'r gwraidd."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "os wedi ei osod i iawn, adrodd y gwirio drwy e-bost."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Peidio anfon e-byst os nad oes dim i rybuddio amdano"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "os wedi ei osod i iawn, gwirio yn erbyn y gronfa ddata rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "os wedi ei osod i iawn, adrodd y gwirio i syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "os wedi ei osod i iawn, adrodd adroddiadau gwirio i tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Gosod maint hanes gorchymyn cragen. Gwerth -1 yn golygu diderfyn."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Gosod amser allan y gragen. Gwerth sero'n golygu dim amser allan."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Enwi enw'r ail uned."
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Gosod umasg y defnyddiwr."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Derbyn negeseuon gwall IPv4 ffug."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Derbyn darllediad atsain icmp"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Derbyn atsain icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* yn bodoli"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Tarfu ar y broses gan y defnyddiwr"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Caniatáu mewngofnodi gwraidd pell"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Mewngofnodi gwraidd uniongyrchol"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Rhestru defnyddwyr ar reolwyr dangos (kdm and gdm)."
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Allforio dangosiad wrth basio o root i ddefnyddwyr eraill"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Caniatáu cysylltiadau XWindows"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Caniatáu cysylltiad TCP i XWindows"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Awdurdodi pob gwasanaeth wedi ei reoli gan tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig yn ufudd i reolau msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Galluogi \"crontab\" a \"at\" ar gyfer defnyddwyr"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Adroddiad syslog i gonsol 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Amddiffyniad ffugio cydraniad enw"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Galluogi amddiffyn sbwlio IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Galluogi/Analluogi libsafe os yw ar y system."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Galluogi mewngofnodi pecynnau anarferol IPv4."
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Galluogi/Analluogi gwiriad diogelwch msec bob awr."
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Galluogi su o aelodau grŵp olwyn yn unig."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Defnyddio cyfrinair i wirio defnyddiwr."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Gwiriad cymysgaredd cardiau ethernet."
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Gwiriad diogelwch dyddiol"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8 ar lefel defnyddiwr unigol."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Dim cyfrinair eto ar gyfer"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Gosod terfyn cyfrinair ac oediad anactifiad cyfrif"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Hyd gyfrinair hanes"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Hyd byrraf cyfrinair a'r nifer o rifau a llythrennau mawr"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "umask gwraidd"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Maint hanes cragen"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Goramser cragen"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Masc defnyddwyr"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Gwirio pyrth agored"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Gwiriwch am gyfrifon anniogel."
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Gwirio caniatâd ffeiliau yng nghartref y defnyddiwr."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Gwirio os yw'r dyfeisiau rhwydwaith mewn modd cymysgaredd"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Rhedeg y gwiriadau diogelwch dyddiol."
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Gwirio ychwanegiadau/tynnu ffeiliau sgid."
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Gwiriwch gyfrinair gwag y /etc/shadow."
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Gwirio checksum y ffeiliau suid/sgid."
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Gwirio ychwanegu/tynnu ffeiliau gwraidd suid."
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Adrodd ar ffeiliau heb berchennog."
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Gwirio ffeiliau/cyfeiriaduron ysgrifennadwy gan bawb."
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Rhedeg gwirio gyda chkrootkit."
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Peidiwch anfon adroddiadau e-bost gwag"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Os wedi ei osod, anfon yr adroddiad e-bost i'r cyfeiriad e-bost neu ei anfon "
+"i'r gwraidd."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Adrodd y gwirio drwy e-bost"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Gwirio yn erbyn y gronfa ddata rpm."
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Adrodd y gwirio i syslog."
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Adrodd adroddiadau gwirio i tty."
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Croeso i Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Gwael"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Safonol"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Uchel"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Uwch"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoia"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Rhaid defnyddio'r lefel hwn gyda gofal. Mae'n gwneud eich system yn haws ei\n"
+"ddefnyddio ond mae'n sensitif iawn: rhaid peidio defnyddio'r peiriant i'w\n"
+"gysylltu ag eraill nag i'r Rhyngrwyd. Does dim cysylltiad drwy gyfrinair."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Mae'r cyfrinair wedi ei alluogi, ond ni argymhellir ei ddefnyddio fel "
+"cyfrifiadur rhwydwaith."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dyma'r safon sy'n cael ei argymell ar gyfer diogelwch cyfrifiadur fydd yn "
+"cael ei gysylltu â'r Rhyngrwyd fel cleient."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Mae rhai cyfyngiadau, ac mae rhagor o wiriadau awtomatig yn cael eu rhedeg "
+"bob nos"
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Gyda'r lefel diogelwch hwn, mae defnydd y system fel gweinydd yn bosibl.\n"
+"Mae diogelwch yn ddigon uchel i ddefnyddio'r system fel gweinydd sy'n "
+"derbyn\n"
+"cysylltiad gan amryw o gleientiaid. Sylwer: os mae i gleient yn unig yw eich "
+"peiriant ar y Rhyngrwyd, yna mae'n well i chi ddewis lefel is."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Wedi ei seilio ar y lefel flaenorol, ond mae'r system yn hollol gaeedig ac "
+"mae nodweddion diogelwch ar eu uchaf."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Diogelwch"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Dewisiadau Sylfaenol DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Dewiswch lefel diogelwch"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Lefel diogelwch"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Defnyddiwch libsafe ar gyfer gweinyddion"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Llyfrgell sy'n diogelu rhag gorlif byffer ac ymosodiadau llinellau fformatio."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Gweinyddwr Diogelwch (mewngofnodi neu e-bost)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Cychwynnwch system sain ALSA (Pensaernïaeth Sain Linux Uwch)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron trefnydd gorchymyn cyfnodol."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Mae apmd yn cael ei ddefnyddio i fonitro statws y batri a mewngofnodi drwy\n"
+"syslog. Mae modd ei ddefnyddio i gau'r peiriant pan mae'r batri'n isel."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Mae'n rhedeg gorchmynion wedi eu trefnu gan y gorchymyn at ar amser wedi \n"
+"ei bennu pan oedd at yn rhedeg, gan redeg gorchmynion swp pan fydd \n"
+"cyfartaledd y llwyth yn ddigon isel."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Mae cron yn rhaglen safonol yn UNIX sy'n rhedeg rhaglenni sydd wedi eu \n"
+"pennu gan y defnyddiwr ar adegau penodol. Mae vixie cron yn ychwanegu \n"
+"nifer o ychwanegiadau i'r UNIX cron sylfaenol, yn cynnwys gwell diogelwch \n"
+"a dewisiadau ffurfweddu mwy pwerus."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"Mae FAM yn ddaemon monitro ffeiliau. Mae'n cael ei ddefnyddio i adrodd pan "
+"fo ffeiliau'n newid.\n"
+"Mae'n cael ei ddefnyddio gan GNOME a KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"Mae GPM yn ychwanegu cefnogaeth ar gyfer llygoden i raglenni testun Linux \n"
+"megis, Midnight Commander. Mae hefyd yn caniatáu gweithrediadau torri a \n"
+"gludo consol llygoden, gan gynnwys cefnogaeth ar gyfer bryslenni yn y "
+"consol. "
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"Mae HardDrake yn rhedeg archwiliwr caledwedd, a gall yn ôl \n"
+"eich dewis, ffurfweddu caledwedd newydd neu sydd wedi newid."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Mae Apache yn weinydd y We Fyd Eang. Mae'n cael ei ddefnyddio i wasanaethu "
+"ffeiliau HTML a CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Mae daemon uwchwasanaethwr rhyngrwyd (inetd) yn cychwyn nifer\n"
+"o wasanaethau rhyngrwyd eraill, yn ôl y galw. Mae'n gyfrifol am gychwyn\n"
+"nifer o wasanaethau, gan gynnwys telnet, ftp, rsh a rlogin. Mae analluogi \n"
+"inetd yn analluogi'r holl wasanaethau mae'n gyfrifol amdanynt."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Cychwyn hidlydd pecynnau ar gyfer cnewyllyn cyfres Linux 2.2 \n"
+"i greu mur gwarchod i amddiffyn eich peiriant rhag ymosodiadau \n"
+"o'r rhwydwaith."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Mae'r pecyn hwn yn llwytho'r map bysellfwrdd rydych wedi \n"
+"ei ddewis fel yn /etc/sysconfig/keyboard. Mae modd dewis \n"
+"hwn wrth ddefnyddio'r rhaglen wasanaethu kbdconfig. \n"
+"Dylech adael hwn wedi ei alluogi ar gyfer y rhan fwyaf o beiriannau."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Ail-greu awtomatig pennawd y cnewyllyn yn /boot ar\n"
+"gyfer /usr/include/linux{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Canfod a ffurfweddu awtomatig caledwedd wrth gychwyn y cyfrifiadur."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr "Bydd Linuxconf yn trefnu ar adegau i gyflawni amrywiol"
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Mae lpd yn ddaemon argraffu sy'n angenrheidiol i lpr weithio\n"
+"Mae'n weinydd sy'n cyflafareddu gwaith argraffu i\n"
+"argraffydd (ion)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Mae Gweinydd Rhith Linux yn cael ei ddefnyddio i adeiladu \n"
+"gweinyddion cyflym a chyraeddadwy."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"mae'r enwyd (BIND) yn Wasanaethwr Enw Parth (DNS) sy'n cael ei ddefnyddio i "
+"gydrannu enwau gwestai i'r cyfeiriadau IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Yn gosod a dadosod pob System Ffeil y Rhwydwaith (NFS), SMB\n"
+"(Rheolwr Rhwydwaith/Windows), a phwyntiau gosod NCP (NetWare) ."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Cychwyn/Gorffen pob rhyngwyneb rhwydwaith sydd wedi eu \n"
+"ffurfweddu i gychwyn wrth gychwyn y peiriant."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"Mae NFS yn brotocol poblogaidd ar gyfer rhannu ffeiliau ar draws "
+"rhwydweithiau TCP/IP.\n"
+"Mae'r gwasanaeth yn darparu ffwythiannaeth gweinydd NFS, sy;n cael ei "
+"ffurfweddu\n"
+"drwy'r ffeil /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"Mae NFS yn brotocol poblogaidd ar gyfer rhannu ffeiliau \n"
+"ar draws rhwydweithiau TCP/IP. Mae'r gwasanaeth hwn \n"
+"yn darparu'r gallu i gloi ffeiliau NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Cychwyn clo allweddell numlock yn awtomatig yn consol \n"
+"ac Xorg wrth gychwyn y peiriant."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Cynnal OKI 4w ac argraffyddion Windows cyffelyb."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Mae cynhaliaeth PCMICA fel rheol ar gyfer cynnal pethau fel \n"
+"ethernet a modem mewn gliniadur. Ni fydd yn cychwyn heb ei \n"
+"ffurfweddu i wneud hynny, felly mae'n ddiogel ei gael ar beiriannau \n"
+"sydd ddim ei angen."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Mae'r mapiwr porth (portmapper) yn rheoli cysylltiadau RPC, \n"
+"sy'n cael eu defnyddio gan brotocolau fel NFS a NIS. Rhaid i weinydd "
+"porthmap\n"
+"redeg ar beiriannau sy'n gweithredu fel gweinyddion ar gyfer protocolau "
+"sy'n\n"
+"gwneud defnydd o fecanwaith RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Mae Postfix yn Asiant Cludo E-bost (MTA), sef rhaglen sy'n symud e-bost o un "
+"peiriant i'r llall."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Bydd yn cadw ac adfer system pwll entropi ar gyfer cynhyrchu rhif \n"
+"hap o ansawdd uchel."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Dynodi dyfeisiau bras i ddyfeisiau bloc (megis dig caled rhaniadau), \n"
+"ar gyfer defnydd rhaglenni megis Oracle neu chwaraewyr DVD."
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Mae'r daemon llwybrydd yn caniatáu i'r tabl llwybrydd IP awtomatig \n"
+"ddiweddaru drwy gyfrwng y protocol RIP. Tra bo RIP'n cael ei \n"
+"ddefnyddio'n eang ar rwydweithiau bach, mae angen protocolau \n"
+"llwybrydd mwy cymhleth ar gyfer rhwydweithiau cymhleth."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Mae'r protocol rstat yn caniatáu i ddefnyddwyr rhwydwaith \n"
+"i adennill metric perfformaid unrhyw beiriant ar y rhwydwaith."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Mae protocol ruser yn caniatáu i ddefnyddwyr ar rwydwaith i adnabod\n"
+"pwy arall sydd wedi mewngofnodi ar beiriannau eraill sy'n ymateb."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Mae'r protocol rwho'n caniatáu i ddefnyddwyr pell gael rhestr o'r \n"
+"holl ddefnyddwyr sydd wedi mewngofnodi ar beiriant sy'n rhedeg \n"
+"daemon rwho (yn debyg i fysedd)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Cychwyn y system sain ar eich peiriant"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog yw'r modd mae llawer o daemonau'n defnyddio i gofnodi \n"
+"negeseuon i ffeiliau cofnod systemau. mae'n syniad da io rhedeg \n"
+"syslog bob tro."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Llwytho'r gyrwyr ar gyfer eich dyfeisiau usb."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Yn cychwyn Gweinydd Ffont X (mae hyn yn orfodol i Xorg i redeg).."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Argraffu"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Rhyngrwyd"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Rhannu Ffeiliau"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "System"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Gweinyddu Pell"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Gweinydd Cronfa Ddata"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Gwasanaethau"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Dewiswch ba wasanaethau ddylai gael eu cychwyn yn awtomatig wrth gychwyn y "
+"cyfrifiadur"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Gwasanaethau: %d wedi eu cychwyn ar gyfer %d wedi eu cofrestru"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "rhedeg"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "ataliwyd"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Gwasanaethau a daemonau"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr "Dim gwybodaeth ychwanegol am y gwasanaeth hwn."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Gwybodaeth"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Cychwyn yn ôl y gofyn"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Cychwyn"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Cychwyn"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Aros"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Mae'r rhaglen hon yn feddalwedd rhydd; gallwch ei ailddosbarthu\n"
+"a/neu ei newid o dan amodau Trwydded Gyhoeddus Gyffredinol GNU\n"
+"fel sydd wedi ei gyhoeddi gan y Free Software Foundation; un ai fersiwn\n"
+"2 neu (yn ôl eich dewis) unrhyw fersiwn diweddarach.\n"
+"\n"
+" Mae'r rhaglen yn cael ei ddosbarthu yn y gobaith y bydd yn ddefnyddiol,\n"
+" ond HEB UNRHYW WARANT; heb hyd yn oed awgrym o warant o\n"
+" FASNACHEIDDRWYDD nag ADDASRWYDD AR GYFER PWRPAS\n"
+" PENODOL. Gweler Trwydded Gyhoeddus Gyffredinol GNU am fwy o\n"
+" wybodaeth.\n"
+"\n"
+" Dylech fod wedi derbyn copi o Drwydded Gyhoeddus Gyffredinol GNU\n"
+" gyda'r rhaglen; os nad, ysgrifennwch at:\n"
+" Free Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-"
+"1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - galluogi i ffurfweddu'r cychwynnwr\n"
+" --splash - galluogi i ffurfweddu thema cychwyn\n"
+"Modd rhag.:cynnig ffurfweddu nodwedd awto fewngofnodi"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[DEWISIADAU] [PROGRAM_NAME]\n"
+"\n"
+"DEWISIADAU:\n"
+" --help - argraffu'r neges cymorth.\n"
+" --report - dylai'r rhaglen fod yn un o offer Mandriva Linux\n"
+" --incident - ylai'r rhaglen fod yn un o offer Mandriva Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - Dewin \"ychwanegu rhyngwyneb rhwydwaith\" \n"
+" --del - Dewin \"dileu rhyngwyneb rhwydwaith\" \n"
+" --skip-wizard - rheoli cysylltiadau\n"
+" --internet - ffurfweddu'r rhyngrwyd\n"
+" --wizard - fel --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Rhaglen mewnforio a monitro ffontiau\n"
+"\n"
+"DEWISIADAU:\n"
+"--windows_import : mewnforio o bob rhaniad Windows.\n"
+"--xls_fonts : dangos pob ffont sy'n bodoli o xls\n"
+"--install : derbyn unrhyw ffeil ffont ac unrhyw gyfeiriadur.\n"
+"--uninstall : dadosod unrhyw ffont neu gyfeiriadur ffont.\n"
+"--replace : amnewid pob ffont os yw'n bod\n"
+"--application : 0 dim rhaglen.\n"
+" : 1 pob rhaglen ar gael yn cael ei gynnal.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"Ffurfweddwr Gweinydd Terfynell Mandriva Linux\n"
+"--enable : galluogi MTS\n"
+"--disable : analluogi MTS\n"
+"--start : cychwyn MTS\n"
+"--stop : atal MTS\n"
+"--adduser : ychwanegu defnyddiwr system bresennol i MTS (angen enw "
+"defnyddiwr)\n"
+"--deluser : dileu defnyddiwr system bresennol o MTS (angen enw "
+"defnyddiwr)\n"
+"--addclient : ychwanegu peiriant cleient i MTS (angen cyfeiriad MAC, "
+"IP, enw delwedd nbi)\n"
+"--delclient : dileu peiriant cleient i MTS (angen cyfeiriad MAC, IP, "
+"enw delwedd nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[bysellfwrdd]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Rhaglen Cyswllt a Monitro'r Rhwydwaith a'r Rhyngrwyd\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[DEWIS]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" cydraniad XFdrake"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Defnydd: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Pob gweinydd"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Eang"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Affrica"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Ewrop"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Gogledd America"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "De America"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Cong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Cyfundeb Rwsia"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Iwgoslafia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Ydi hyn yn gywir?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Heb ddewis ffeil"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Rydych wedi dewis ffeil, nid cyfeiriadur"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Rydych wedi dewis cyfeiriadur, nid ffeil"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Dim cyfeiriadur o'r fath ar gael"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Dim ffeil o'r fath ar gael"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Estyn y goeden"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Cau'r goeden"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Newid rhwng gwastad a'r grŵp wedi ei ddidoli"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"Nid yw %s wedi ei osod\n"
+"Cliciwch \"Nesaf\" i osod neu \"Diddymu\" i adael"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Methodd y gosod"
+
+#~ msgid "Icon"
+#~ msgstr "Eicon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Nifer o fyfferau cipio:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "nifer o fyfferau cipio ar gyfer cipio mmap"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Gosodiad PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Cynnal radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "galluogi cynnal radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/da.po b/perl-install/share/po/da.po
new file mode 100644
index 000000000..5839fdad1
--- /dev/null
+++ b/perl-install/share/po/da.po
@@ -0,0 +1,6762 @@
+# translation of da1.po to
+# translation of da.po to
+# translation of da1.po to Danish
+# translation of da.po to Danish
+# translation of DrakX-da.po to Danish
+# Copyright (C) 2000,2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Troels Liebe Bentsen <tlb@iname.com> 2000.
+# Keld Simonsen <keld@dkuug.dk>, 2000-2003, 2004, 2005.
+# Keld Simonsen <keld@rap.dk>, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: da1\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-10-01 15:51+0200\n"
+"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
+"Language-Team: <da@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Vent venligst"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installation af systemopstarteren er i gang"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO ønsker at tildele en ny Volumen-ID til drev %s. Ændring af\n"
+"Volumen-ID på en Windows NT, 2000 eller XP opstartsdisk er dog en fatal "
+"Windows fejl.\n"
+"Denne advarsel gælder ikke for Windows 95 eller 98, eller for NT-datadiske.\n"
+"\n"
+"Tildel en ny Volumen-ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Installation af opstarter mislykkedes. Den følgende fejl opstod:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Du behøver måske at ændre din Åben Firmware opstartsenhed for at slå "
+"systemstarteren til. Hvis du ikke ser systemstarter-beskeden ved genstart, "
+"så hold Command-Option-O-F nede og indtast:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Skriv så: shut-down\n"
+"Ved næste opstart burde du se systemstarteren."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Du besluttede at installere opstartsindlæseren på en partition.\n"
+"Dette indikerer at du allerede har en opstartsindlæser på disken som du "
+"starter op fra (fx System Commander).\n"
+"\n"
+"Hvilket drev starter du op fra?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Første sektor på disken (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Første sektor af rodpartitionen"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "På diskette"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Spring over"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub-installering"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Hvor vil du placere opstartsprogrammet?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Konfiguration af opstartsudseende"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Systemopstarterens hovedindstillinger"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Systemopstarter"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Systemopstarter der skal bruges"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Opstartsenhed"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Hovedvalg"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Ventetid før opstart af forvalgt styresystem"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Aktivér ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Aktivér APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Aktivér lokal APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Adgangskode"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Adgangskoderne stemmer ikke overens"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Prøv igen"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Du kan ikke bruge et krypteret filsystem for monteringspunkt %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Adgangskode (igen)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Begræns kommandolinie-indstillinger"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "begræns"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Indstillingen ``Begræns kommandolinie-indstillinger'' er intet værd uden\n"
+"en adgangskode"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Rens /tmp ved hver systemopstart"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Præcis RAM-mængde, hvis påkrævet (fandt %d Mb)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Angiv RAM-størrelse i Mb"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init-besked"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Åben firmwareforsinkelse"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Ventetid før kerneopstart"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Skal det være muligt at starte fra CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Skal det være muligt at starte fra OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Forvalgt styresystem?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Billede"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Rod"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Vedhæft"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen-tilføjning"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Videoindstilling"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Netværksprofil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Mærkat"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standard"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Ingen video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tom mærkat er ikke tilladt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Du skal angive en kerne-fil"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Du skal angive en root-partition"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Denne mærkat er allerede brugt"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Hvilken type ønsker du at tilføje"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Andet styresystem (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Andet styresystem (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Andet styresystem (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Her er følgende typer indgange.\n"
+"Du kan tilføje flere eller ændre de eksisterende."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "adgang til X-programmer"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "adgang til rpm-værktøjer"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "tillad \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "adgang til administrative filer"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "adgang til netværksværktøjer"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "adgang til oversættelsesværktøjer"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(har allerede tilføjet %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Indtast et brugernavn"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Brugernavnet må kun indeholde små bogstaver, tal, `-' og `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Dette brugernavn er for langt"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Dette brugernavn eksisterer allerede"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Bruger-id"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Gruppe-id"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s skal være et tal"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s burde være over 500. Acceptér alligevel?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Tilføj bruger"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Indtast en bruger\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Færdig"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Acceptér bruger"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Rigtige navn"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Logindnavn"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Skal"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Autologin"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Jeg kan sætte din maskine op til automatisk at logge en bestemt bruger på."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Brug denne facilitet"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Vælg den forvalgte bruger:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Vælg den vindueshåndtering du ønsker at benytte:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licensaftale"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Afslut"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Udgivelsesnoter"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Acceptér"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Nægt"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Vælg det sprog, der skal bruges."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Sprogvalg"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Du kan vælge andre sprog der vil være tilgængelige efter installationen"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Flere sprog"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Gammel kompatibilitetskoding (ikke UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle sprog"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land / Region"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Vælg dit land."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Her er den komplette liste over tilgængelige lande"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Andre lande"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avanceret"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Indtastningsmetode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ingen"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ingen fildeling"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Tillad alle brugere"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Tilpasset"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Ønsker du at tillade brugere at eksportere nogle kataloger i deres "
+"hjemmekatalog?\n"
+"Tilladelse af dette vil sætte brugere i stand til simpelthen at klikke på "
+"'Fildeling' i konqueror og nautilus.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: det traditionlle Unix fildelingssystem, med mindre funktionalitet på "
+"Mac og Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: et fildelingssystem brugt på Windows, Mac OS X og mange moderne Linux-"
+"systemer."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Du kan eksportere med NFS eller SMB. Hvilken vil du bruge"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Start userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Luk"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Deling per bruger bruger gruppen 'fileshare'. \n"
+"Du kan bruge userdrake til at tilføje en bruger til denne gruppe."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Log ud og tryk herefter på Ctrl-Alt-Bak"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Du skal logge ud og ind igen for at ændringerne skal gælde"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tidszone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Hvad er din tidszone?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Dato-, klokke- og tidszoneopsætning"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Hvad er den bedste tid?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (Maskin-ur sat til UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (Maskin-ur sat til lokal tid)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatisk tidssynkronisering (ved hjælp af NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokal fil"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart-kort"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows Domain"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory med SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory med Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokal fil:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Brug lokal for al autentificering og information, som bruger angiver i lokal "
+"fil"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Fortæller din maskine at den skal bruge LDAP til nogen eller al "
+"autentifikation. LDAP sammenfatter bestemte informationstyper i din "
+"organization."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Giver dig mulighed for at køre en gruppe af maskiner i det samme Network "
+"Information Service-domæne med en fælles adgangskode- og gruppe-fil."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows Domain:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind lader systemet få information og autentificere brugere i et Windows-"
+"domæne."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory med SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Med Kerberos og Ldap for autentifikation i Active Directory Server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory med WInbind"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind lader systemet autentificere brugere i Windows Active Directory "
+"Server."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autentificering LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP grundlæggende dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simpel"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "sikkerhedsopsætning (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentifikation for Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domæne"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP-brugerdatabase"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Brug anonym BIND "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP-bruger som har tilladelse til at kigge i Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Adgangskode for bruger"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autentificering NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-domæne"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"For at dette kan virke på en W2K PDC skal du nok have administratoren til at "
+"køre: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add og genstarte serveren.\n"
+"Du skal også have et brugernavn og en adgangskode for at maskinen kan "
+"tilsluttes Windows(TM)-domænet.\n"
+"Hvis netværket ikke er aktiveret vil Drakx prøve at slutte til domænet efter "
+"trinnet med opsætning af netværk.\n"
+"Skulle denne opsætning fejle af nogen årsag, og domæneautentifikation ikke "
+"virke, så kør 'smbpasswd -j DOMAIN -U USER%%PASSWORD' med dit Windows(tm) "
+"domæne og administrators brugernavn/adgangskode, efter genstart af "
+"systemet.\n"
+"Kommandoen 'wbinfo -t' vil afprøve om dine hemmelige autentifikationsdata er "
+"i orden."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autentifikations Windowsdomæne"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory-område"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Brugernavn for domæneadministrator"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Adgangskode for domæneadministrator"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Identifikation"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Sæt administrator (root) adgangskode"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Autentifikationsmetode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Ingen adgangskode"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Denne adgangskode er for nemt at gætte (det skal mindst være på %d tegn)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Kan ikke bruge rundkastning uden noget NIS-domæne"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Velkommen til styresystems-vaelgeren!\n"
+"\n"
+"Vaelg et styresystem i den ovenstaaende liste eller\n"
+"vent paa at starte standard-systemet.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO med tekstmenu"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB med grafisk menu"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB med tekstmenu"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "Ikke nok plads i /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Du kan ikke installere opstartsindlæseren på en %s-partition\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Din opstartsindlæserkonfiguration behøver at opdateres da rækkefølgen på "
+"dine partitioner er blevet ændret"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Opstartsindlæseren kan ikke blive installeret korrekt. Du skal lave "
+"nødopstart og vælge \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Geninstallér systemopstarter"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "Kb"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Mb"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Gb"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "Tb"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutter"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minut"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekunder"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "kommando %s mangler"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV er en protokol som lader dig montere en webserver katalog lokalt\n"
+"og behandle det som et lokalt filsystem (givet at webserveren er "
+"konfigureret\n"
+"som en WebDAV-server). Hvis du ønsker at tilføje WebDAV-monteringspunkter,\n"
+"så vælg \"Ny\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Ny"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Afmontér"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montér"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Monteringssti"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Valg"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fejl"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Indtast LRL for WebDAV-serveren"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL'en skal begynde med http:// eller https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Monteringssti: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Valg: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Opdeling af disk"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Læs omhyggeligt!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Lav gerne en sikkerhedkopi af dine data først"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Afslut"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Fortsæt"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Hvis du planlægger at bruge Yaboot, skal du huske at efterlade fri plads på\n"
+"begyndelsen af disken (2048 sektorer skulle være nok)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hjælp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Vælg handling"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Du har én stor Microsoft Windows partition.\n"
+"Jeg foreslår at du først ændrer størrelsen på partitionen\n"
+"(klik på den, og klik herefter på \"Størrelsesændring\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Klik på en partition"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detaljer"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Ingen diskdrev fundet"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Ukendt"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journaliserende FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Andet"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tom"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Filsystems-typer:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Advarsel"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Denne partition er allerede tom"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Benyt ``Afmontér'' først"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Benyt ``%s'' i stedet"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Type"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Vælg en ny partition"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Vælg en partition"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Fortryd"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Ekspert -> Normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Normal -> Ekspert"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Bekræftelse"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Fortsæt alligevel?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Afslut uden at gemme"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Afslut uden at skrive partitionstabellen?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ønsker du at gemme /etc/fstab-ændringerne?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Du skal genstarte for at aktivere ændringerne i partitionstabellen"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Du bør formatere partition %s.\n"
+"Ellers vil der ikke blive skrevet noget indgangspunkt for monteringspunktet %"
+"s i fstab.\n"
+"Afslut alligevel?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Slet alt"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Allokér automatisk"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Mere"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Drev-information"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle primære partitioner er brugt"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Kan ikke tilføje flere partitioner"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"For at du kan få flere partitioner, skal du slette én, så der kan oprettes "
+"en udvidet partition"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Ingen supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount undtagen for CDROM drev"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Gem partitionstabel"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Genskaber partitionstabel"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Redder partitionstabel"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Genindlæs partitionstabel"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automontering af flytbare medier"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Vælg fil"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Kopien af partitionstabellen har ikke samme størrelse\n"
+"Fortsæt alligevel?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Forsøger at redde partitionstabellen"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detaljeret information"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Størrelsesændring"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatér"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Tilføj til RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Tilføj til LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Slet"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Fjern fra RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Fjern fra LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Ændr RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Loopback anvendelse"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Opret"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Opret en ny partition"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Startsektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Størrelse i Mb: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Filsystemstype: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Præference: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Logisk arkivnavn "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Du kan ikke oprette en ny partition\n"
+"(fordi du er oppe på det maksimale antal primære partitioner)\n"
+"Fjern først en primær partition og opret en udvidet partition."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Fjern loopback-filen?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Efter type-ændring af partition %s vil alle data på denne partition gå tabt"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Skift partitionstype"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Hvilket filsystem ønsker du at bruge?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Skifter fra ext2 til ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Hvilken volumen-etiket?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Mærkat:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Hvor ønsker du at montere loopback-filen %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Hvor ønsker du at montere partitionen %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Kan ikke fjerne monteringssti, da denne partition bliver brugt til "
+"loopback.\n"
+"Fjern loopback først"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Hvor ønsker du at montere %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Ændrer størrelsen"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Udregner FAT-filsystemets grænser"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Størrelsen på denne partition kan ikke ændres"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Det bør laves en backup af alle data på denne partition"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Efter ændring af størrelsen af partition %s vil alle data på denne partition "
+"gå tabt"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Vælg den nye størrelse"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ny størrelse i Mb: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimumsstørrelse: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maksimumsstørrelse: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"For at sikre dataintegritet efter ændring af størrelse på partitioner \n"
+"vil filsystemtjek blive kørt ved din næste opstart af Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Vælg en eksisterende RAID som skal udvides"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ny"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Vælg en eksisterende LVM som skal udvides"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-navn?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Fysisk volumen %s er fortsat i brug.\n"
+"Ønsker du at flytte brugte fysiske områder på dette volumen til andre "
+"volumener?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Flytter fysiske områder"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Denne partition kan ikke bruges til loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback-filnavn: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Giv et filnavn"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Filen er allerede brugt af en anden loopback, vælg en anden fil"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Filen findes allerede. Skal den bruges?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Modulindstillinger"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Diverse"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "enhed"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "niveau"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "fragmentstørrelse i KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Vær forsigtig: denne operation er farlig."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Hvilken slags partitionering?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Du skal genstarte maskinen for at aktivere ændringerne"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partitionstabellen for disk %s vil nu blive skrevet på disken!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Efter formatering af partitionen %s vil alle data på denne partition gå tabt"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Led efter beskadigede blokke?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Flyt filer til den nye partition"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Skjul filer"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Katalog %s indeholder allerede data\n"
+"(%s)\n"
+"\n"
+"Du kan enten vælge at flytte filerne over på partitionen som vil blive "
+"monteret der eller lade filerne blive der hvor de er (hvilket bevirker at de "
+"bliver skjult af indholdet på den monterede partition)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Flytter filer til den nye partition"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopierer %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Fjerner %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partition %s er nu kendt som %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partitioner er blevet omnummererede: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Enhed: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Etikette for drev: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-drevbogstav: %s (bare et gæt)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Type: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Navn: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Start: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Størrelse: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektorer"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cylinder %d til %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Antal logiske områder: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formateret\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ikke formateret\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Monteret\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-fil(er):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partition som opstartes som standard\n"
+" (gælder kun MS-DOS-opstart, ikke LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Niveau %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Fragmentstørrelse %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-diske %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback-filnavn: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Denne partition er nok\n"
+"en driver-partition. Du skal\n"
+"nok bare lade den være.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Denne specielle Bootstrap-\n"
+"partition er for at\n"
+"dual-boote dit system.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Skrivebeskyttet"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Størrelse: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Opbygning: %s cylindre, %s hoveder, %s sektorer\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diske %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partitionstabel-type: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "på kanal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Krypteringsnøgle for filsystem"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Vælg din krypteringsnøgle for filsystemet"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Denne krypteringsnøgle er for nem at gætte (skal mindst være på %d tegn)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Krypteringsnøglerne stemmer ikke overens"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Krypteringsnøgle"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Krypteringsnøgle (igen)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Krypteringsalgoritme"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Skift type"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Annullér"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Kan ikke logge ind med brugernavn %s (forkert adgangskode?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domænegodkendelse påkrævet"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Hvilket brugernavn"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "En anden"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Indtast venligst dit brugernavn, din adgangskode og dit domænenavn for at få "
+"adgang til denne vært."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Brugernavn"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Søg efter servere"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Søg efter nye servere"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Pakken %s skal være installeret. Ønsker du at installere den?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Kunne ikke installerer pakken %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Krævet pakke %s mangler"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "De følgende pakker behøver at blive installeret\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installerer pakker..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Fjerner pakker..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Der er opstået en fejl - der kunne ikke findes nogen gyldige enheder, hvor "
+"der kan oprettes nye filsystemer. Undersøg din maskine for at finde årsagen "
+"til problemet"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Du skal have en FAT-partition monteret under /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formaterer partition %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Opretter og formaterer fil %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ved ikke hvordan man formaterer %s som type %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatering af %s mislykkedes"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Cirkulære monteringer %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Monterer partition %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "montering af partition %s i katalog %s mislykkedes"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Tjekker %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "fejl ved afmontering af %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Formaterer swap-partition %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Brug et krypteret filsystem"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Aktivér kontering af gruppediskkvota, og indfør eventuelt grænser"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Opdatér ikke inode tilgangstider på dette filsystem\n"
+"(fx for hurtigere adgang på nyhedskøen for at gøre nyhedsservere hurtigere)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kan kun monteres eksplicit (dvs.,\n"
+"'-a' tilvalget vil ikke bevirke, at filsystemet monteres)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Fortolk ikke tegn- eller blok-specialenheder på filsystemet."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Tillad ikke udførelse af nogen som helst binære på det monterede \n"
+"filsystem. Denne mulighed kan være nyttig for en server som har \n"
+"filsystemer med binære for andre arkitekturer end dets egen."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Tillad ikke set-user-identifier eller set-group-identifier bit at tage "
+"effekt. \n"
+"(Dette ser sikkert ud, men er faktisk ret usikkert hvis du har suidperl(1) "
+"installeret)."
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Montér filsystem skrivebeskyttet"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Al I/O til filsystemet bør gøres synkront."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Tillad alle brugere at montere og afmontere filsystemet."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Tillad en almindelig bruger at montere filsystemet."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Aktivér kontering af gruppediskkvota, og indfør eventuelt grænser"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Understøt 'bruger.'-udvidede attributter"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Giv skriveadgang til almindelige brugere"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Giv skriveadgang til almindelige brugere"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Duplikér monterings-sti %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "ingen ledige partitioner"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Skanner partitioner for at finde monteringspunkter"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Vælg monterings-stierne"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Vælg partitioner der skal formateres"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Kontrol af filsystem %s mislykkedes. Ønsker du at reparere fejlene (bemærk, "
+"du kan miste data)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Ikke nok swap-plads til at gennemføre installationen, tilføj mere"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Du skal have en rod partition. For at få dette, lav en ny partition (eller "
+"vælg en eksisterende).\n"
+"Vælg så kommandoen \"Monterings-sti\" og sæt den til `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Du har ingen Swap partition\n"
+"\n"
+"Fortsæt alligevel?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Brug fri plads"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ikke nok fri plads til at tildele nye partitioner"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Brug eksisterende partition"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Der er ingen eksisterende partition der kan bruges"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Brug Microsoft Windows® partitionen til Loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Hvilken partition vil du benytte som Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Vælg størrelserne"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Rod-partitions størrelse i Mb: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap-partitions størrelse i Mb: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Der er ingen FAT-partitioner at bruge som loopback (eller ikke nok plads "
+"tilbage)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Brug den frie plads på Windows-partitionen"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Hvilken partition ønsker du at ændre størrelse på?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Programmet til at ændre størrelse på FAT kan ikke behandle din partition, \n"
+"den følgende fejl opstod: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Beregner størrelsen på Microsoft Windows®-partitionen"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Din Microsoft Windows® partition er for fragmenteret, kør 'defrag' først"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ADVARSEL!\n"
+"\n"
+"\n"
+"DrakX vil nu ændre størrelsen på din Windows-partition.\n"
+"\n"
+"Vær forsigtig: denne operation er farlig. Hvis du ikke allerede har gjort "
+"det, bør du først gå ud af denne installation, køre 'chkdsk c:' fra en "
+"kommandolinje under Windows (bemærk, det er ikke nok at køre det grafiske "
+"program 'scandisk', vær sikker på at køre 'chkdsk' i en kommandolinje!) og "
+"eventuelt defrag) og så genstarte installationen. Du bør også tage en "
+"sikkerhedskopi af dine data.\n"
+"\n"
+"\n"
+"Tryk på %s, hvis du er helt sikker."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Næste"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Hvilken størrelse ønsker du at at beholde Microsoft Windows® på partition %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Størrelse"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Udregner Microsoft Windows®-filsystemets grænser"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT størrelsesændring mislykkedes: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Der er ingen FAT-partitioner at ændre størrelse på (eller ikke nok plads "
+"tilbage)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Fjern Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Slet hele disken og brug den"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Du har mere end et diskdrev, hvilken ønsker du at installere Linux på?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Alle eksisterende partitioner og deres data vil gå tabt på drev %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Brugerdefineret disk-opdeling"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Brug fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Du kan nu partitionere %s.\n"
+"Når du er færdig, så husk at gemme med 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Kan ikke finde plads til installering"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX partitionerings-vejlederen fandt de følgende løsninger:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partitionering mislykkedes: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Du kan ikke bruge JFS på partitioner mindre end 16Mb"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Du kan ikke bruge ReiserFS på partitioner mindre end 32Mb"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "med /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "BIOS-programmel RAID opdaget på diskene %s. Skal det aktiveres?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Jeg kan ikke læse partitionstabellen for enhed %s, den er for ødelagt for "
+"mig :( Jeg kan forsøge fortsat at udblanke dårlige partitioner (ALLE DATA "
+"vil gå tabt!). Den anden mulighed er at forbyde DrakX at ændre "
+"partitionstabellen. (fejlen er %s)\n"
+"\n"
+"Er du indforstået med at ødelægge alle partitionerne?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Monteringsstier skal begynde med /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Monteringspunkter bør kun indeholde bogstaver og tal"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Der findes allerede en partition med monterings-sti %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Du har valgt en programmeret RAID-partition som rod (/).\n"
+"Ingen systemopstarter kan håndtere dette uden en /boot partition.\n"
+"Vær sikker på at tilføje en /boot partition"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Du kan ikke bruge LVM Logisk Volumen for monteringspunkt %s da det "
+"indeholder fysiske volumener"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Du har valgt LVM Logisk Volumenet som root-partition (/).\n"
+"Opstartsindlæseren er ikke i stand til at håndtere dette når volumet "
+"omfatter fysiske volumener.\n"
+"Du bør oprette en /boot-partition først"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Dette katalog bør ligge på rod-filsystemet"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Du skal have et rigtigt filsystem (ext2/ext3, reiserfs, xfs eller jfs) til "
+"dette monteringspunkt\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Du kan ikke bruge et krypteret filsystem for monteringspunkt %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ikke nok fri plads til at tildele nye partitioner automatisk"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ingenting at lave"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskette"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "cd-rom"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD-brændere"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bånd"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-kontrolkort"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokort"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kort"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kort"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Andre multimedie-enheder"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Lydkort"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processorer"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-kort"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-lydenheder"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radiokort"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM-netværkskort"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN-netværkskort"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth-enheder"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet-kort"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-kort"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Hukommelse"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printer"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Spilport-kontrollere"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-kontrolkort"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-kontrolkort"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA kontrolkort"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-lagerenheder"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kortmodel:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-kontrolkort"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-kontrolkort"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-kontrolkort"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-kontrolkort"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB porte"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-kontrollers"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Broer og system-kontrolkort"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet og touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mus"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Ukendt|andre"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu-nummer "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Vent venligst... Sætter konfigurationen i anvendelse"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Intet alternativ drivprogram"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Der findes intet kendt alternativt OSS/ALSA-drivprogram for lydkortet (%s) "
+"som i øjeblikket bruger '%s'"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Lyd-konfiguration"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Her kan du vælge et alternativ drivprogram (enten OSS eller ALSA) for "
+"lydkortet (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Dit kort bruger i øjeblikket %s\"%s\"-driveren (normal driver for dit kort "
+"er \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) var den første lyd-API. Det er en OS-uafhængig lyd-"
+"API (den er tilgængelig på de fleste Unix(tm)-systemer), men den er en meget "
+"basal og begrænset API.\n"
+"Ydermere genopfandt alle OSS-drivere hjulet.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) er en modulær arkitektur som\n"
+"understøtter en ganske lang række ISA-, USB- og PCI-kort.\n"
+"\n"
+"Den tilbyder også en meget højere API end OSS.\n"
+"\n"
+"For at bruge ALSA kan man enten bruge:\n"
+"- den gamle OSS-kompatibilitetes-api\n"
+"- den nye ALSA API som tilbyder mange forbedrede faciliteter men som kræver "
+"brug af ALSA-biblioteket.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Drivprogram:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Problemløsning"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Den gamle \"%s\"-driver er sortlistet.\n"
+"\n"
+"Den er blevet rapporteret at lave fejl i kernen ved afslutningen.\n"
+"\n"
+"Den nye \"%s\"-driver vil først blive brugt ved næste systemopstart."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ingen open source driverrutine"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Der findes ingen fri driver for lydkortet (%s) men der er en leverandørejet "
+"driver på '%s'"
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Ingen kendt driverrutine"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Der findes intet kendt drivprogram for lydkortet (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Ukendt drivprogram"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Drivprogrammet %s for lydkortet er ikke listet"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Problemløsning omkring lyd"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Den klassiske metode for at fejlsøge lydopsætningten er at køre følgende\n"
+"kommandoer:\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" vil vise hvilken driver lydkortet bruger \n"
+"som standard\n"
+"- \"grep sound-slot /etc/modprobe.conf\" vil vise hvilken driver som er i "
+"brug\n"
+"\n"
+"- \"/sbin/lsmod\" lader dig se om denne driver er indlæst\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" og \"/sbin/chkconfig --list alsa\" vil\n"
+"vise om disse tjenester er sat op til at startes.\n"
+"\n"
+"- \"aumix -q\" vil vise om lyden er slukket ned eller ikke\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" vil vise hvilke programmer som bruger "
+"lydkortet\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Lad mig vælge hvilkensomhelst driver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Vælger en vilkårlig driver"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Hvis du virkelig mener du véd hvilken driver der er den rette til dit kort "
+"kan du vælge én fra listen ovenfor.\n"
+"\n"
+"Den aktuelle driver for dit %s-lydkort er \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automatisk detektion"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Ukendt|generisk"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Ukendt|CPH05X (bt878) [mange leverandører]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Ukendt|CPH06X (bt878) [mange leverandører]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"For de fleste moderne tv-kort vil bttv-modulet fra GNU/Linux-kernen blot "
+"automatisk finde de rette parametre.\n"
+"Hvis dit kort ikke findes korrekt, kan du gennemtvinge den rette tuner og "
+"korttyper her. Bare vælg dit tv-korts parametre om nødvendigt"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kortmodel:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tuner-type:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "O.k."
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nej"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Vælg en fil"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Tilføj"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Ændr"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Fjern"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Afslut"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Forrige"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Dårligt valg, prøv igen\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Dit valg? (standard %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Indgange som du skal udfylde:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Dit valg? (0/1, standard '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Knap '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Ønsker du at klikke på denne knap?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Dit valg? (standard '%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " indtast 'void' for tom indgang"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Der er mange ting at vælge imellem (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Vælg det første tal i 10-området som du ønsker at redigere,\n"
+"Eller tryk retur for at fortsætte.\n"
+"Dit valg? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Bemærk, en etikette ændredes:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Indsend igen"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Forenede Arabiske Emirater"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua og Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanien"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenien"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Hollandske Antiller"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktis"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikansk Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Østrig"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australien"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Aserbajdsjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnien-Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgien"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarien"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasilien"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet-øen"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Hviderusland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosøerne"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centralafrikanske Republik"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Schweiz"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Elfenbenskysten"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cooks øer"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Cameroun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Columbia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbien & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kap Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Juleøerne"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cypern"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tjekkiet"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Tyskland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikanske Republik"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algeriet"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypten"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Vestlig Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanien"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopien"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandsøerne (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesien"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Færøerne"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankrig"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Storbritannien"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgien"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Fransk Guinea"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grønland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ækvatorialguinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grækenland"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Syd-Georgia og Syd-Sandwich-øerne"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Kina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard- og McDonald-øerne"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatien"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungarn"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesien"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indien"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "British Indian Ocean Territory"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italien"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgisistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comorerne"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts og Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Nord)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Caymanøerne"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Lagos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sankt Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litauen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letland"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libyen"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshalløerne"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonien"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongoliet"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Nordmarianerne"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauretanien"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldiverne"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mocambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Ny Caledonien"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Øen"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norge"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Fransk Polynesien"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Ny Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippinerne"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polen"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sankt Pierre og Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palæstina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumænien"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi-Arabien"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomonøerne"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellerne"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sverige"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sankt Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenien"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard og Jan Mayen øerne"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakiet"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "São Tomé og Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syrien"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks- og Caicosøerne"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tchad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franske sydlige territorier"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadzjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Østtimor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunesien"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Tyrkiet"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad og Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Fjerne, mindre øer, USA"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "U.S.A."
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikansk"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sankt Vincent og Grenadinerne"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Jomfruøerne (britiske)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Jomfruøerne (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis og Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sydafrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Velkommen til %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Flytning af brugte fysiske områder til andre fysiske volumener lykkedes ikke"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Fysisk volumen %s er stadig i brug"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Fjern de logiske delarkiver først\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Opstartsindlæseren kan ikke håndtere /boot på flere fysiske volumer"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introduktion\n"
+"\n"
+"Operativsystemet og de forskellige komponenter tilgængelige i Mandriva Linux "
+"distributionen vil herefter blive kaldt \"programmelprodukter\". "
+"Programmelprodukterne inkluderer, men er ikke begrænset til: samlingen af "
+"værktøjer, metoder, regler og dokumentation relateret til operativsystemet "
+"og de forskellige komponenter i Mandriva Linux-distributionen.\n"
+"\n"
+"\n"
+"1. Licensaftale\n"
+"\n"
+"Læs venligst dette dokument omhyggeligt. Dette dokument er en licensaftale "
+"mellem dig og Mandriva S.A., som gælder til disse programmelprodukter. Ved "
+"at installere, kopiere eller bruge disse programmelprodukter accepterer du "
+"udtrykkeligt og fuldt ud at følge denne licensaftale med dens betingelser og "
+"regler. Hvis du er uenig i nogensomhelst del af denne licens, har du ikke "
+"lovtil at installere, kopiere eller bruge disse programmelprodukter. Hvilket "
+"som helst forsøg på at installere, kopiere eller bruge disse "
+"programmelprodukter på en måde som ikke er i overensstemmelse med "
+"betingelserne og reglerne i denne licens er ugyldig og vil ophæve dine "
+"rettighedder under denne licens. Ved ophævelse af licensen skal du med det "
+"samme ødelægge alle kopier af programmelprodukterne.\n"
+"\n"
+"\n"
+"2. Begrænset garanti\n"
+"\n"
+"Programmelprodukterne og tilhørende dokumentation leveres \"som de er\", "
+"uden nogen form for garanti, i den udstrækning lov tillader. Mandriva S.A. "
+"vil under ingen omstændigheder efter hvad loven foreskriver være ansvarlig "
+"for specielle, tilfældige, direkte eller indirekte tab af nogen art "
+"(inkluderende uden begrænsninger, skader ved tab af forretning, "
+"forstyrrelser af forretning, finansielle tab, advokatbistand, erstatninger "
+"som resultat af en retssag eller nogen anden form for følgetab) opstået "
+"under brugen eller mangel på samme af disse programmelprodukter, selv hvis "
+"Mandriva S.A. er blevet gjort opmærksom på muligheden for eller "
+"indtræffelsen af sådanne skader.\n"
+"\n"
+"BEGRÆNSET ANSVAR MED HENSYN TIL REGLER OM BESIDDELSE ELLER BRUG AF FORBUDT "
+"PROGRAMMEL I VISSE LANDE\n"
+"\n"
+"I den udstrækning som loven tillader vil Mandriva S.A. eller deres "
+"distributører under ingen omstændigheder være ansvarlig for specielle, "
+"tilfældige, direkte eller indirekte tab af nogen art (inklusive uden "
+"begrænsninger skader ved tab af forretning, forstyrrelser af forretning, "
+"finansielle tab, advokatbistand, erstatninger som resultat af en retssag "
+"eller nogen anden form for tab) opstået ved besiddelse eller brug af "
+"programmelkomponenter eller opstået ved hentning af programmelkomponenter "
+"fra et af Mandriva Linux-webstederne som er forbudt eller begrænset i visse "
+"lande ved lokal lov. Dette begrænsede ansvar gælder, men er ikke begrænset "
+"til, de stærke krypteringskomponenter inkluderet i programmelprodukterne.\n"
+"\n"
+"\n"
+"3. GPL-licensen og relaterede licenser\n"
+"\n"
+"Programmelprodukterne består af komponenter lavet af forskellige personer "
+"eller enheder. De fleste af disse komponenter bliver reguleret efter "
+"vilkårene og aftalerne i GNU General Public License, herefter kaldet \"GPL"
+"\", eller lignende licenser. De fleste af disse licenser tillader dig at "
+"bruge, kopiere, tilpasse eller videredistribuere komponenterne, de dækker. "
+"Læs venligst vilkårene og betingelserne i licensaftalen for hver komponent "
+"omhyggeligt før du bruger den. Alle spørgsmål angående en komponent bedes "
+"adresseret til komponentens forfatter og ikke til Mandriva. Programmerne "
+"udviklet af Mandriva S.A. bliver reguleret efter GPL-licensen. "
+"Dokumentationen skrevet af Mandriva S.A. bliver reguleret efter en specifik "
+"licens. Referér venligst til dokumentationen for yderligere detaljer.\n"
+"\n"
+"\n"
+"4. Intellektuelle rettigheder\n"
+"\n"
+"Alle rettigheder til komponenterne i programmelproduktet tilhører deres "
+"respektive forfattere, og er beskyttet af intellektuelle rettigheds- og "
+"ophavsretslove, gældende for programmel. Mandriva S.A. forbeholder sine "
+"rettigheder til at ændre eller tilpasse programmelprodukterne, helt eller "
+"delvist, med alle midler og til alle formål. \"Mandriva\", \"Mandriva Linux"
+"\" samt de tilhørende logoer er varemærker for Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Styrende love\n"
+"\n"
+"Hvis dele af denne aftale bliver kendt ugyldig, ulovlig eller ubrugelig ved "
+"en domstolsafgørelse, vil disse dele blive ekskluderet fra denne kontrakt. "
+"Du vil forblive bundet af de andre gældende dele af aftalen. Vilkårene og "
+"aftalerne i denne licens er reguleret under fransk lov. Alle uenigheder "
+"vedrørende vilkårene i denne licens vil fortrinsvist blive løst udenfor "
+"domstolene. Som en sidste udvej vil uenighederne blive håndteret ved den "
+"rette domstol i Paris, Frankrig. Ved spørgsmål omkring dette dokument, "
+"kontakt venligst Mandriva S.A. \n"
+
+# Mangler
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Advarsel: Frit programmel er ikke nødvendigvis fri for patenter, og noget af "
+"det inkluderede frie programmel er muligvis dækket af patenter i dit land. "
+"For eksempel kan de inkluderede MP3-dekoder kræve en licens til yderligere "
+"brug (se http://www.mp3licensing.com for flere detaljer) Hvis du er usikker "
+"om et patent kan vedrøre dig, så tjek din lokale lovgivning."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Advarsel\n"
+"\n"
+"Læs venligst betingelserne nedenfor omhyggeligt. Hvis du ikke er enig i alt "
+"der står, må du ikke installere indholdet af CD-en. Tryk på 'Nægt' for at "
+"fortsætte installationen uden disse cdrommer.\n"
+"\n"
+"\n"
+"Visse komponenter på den næste CD er ikke omfattet af GPL-licensen eller "
+"andre lignende licenser. Hver enkelt komponent er derfor omfattet af de "
+"betingelser der er beskrevet i dets egen licens. Læs derfor venligst "
+"betingelserne omhyggeligt og følg de opstillede betingelser når du bruger og/"
+"eller videredistribuerer komponenterne. Sådanne licenser forhindrer normalt "
+"kopiering (sikkerhedskopiering undtaget), videredistribuering, at folk "
+"skiller programmet ad, eller ændrer i komponenterne. Ethvert brud på "
+"licensen vil øjeblikkeligt fratage dig rettighederne beskrevet i den "
+"specifikke licens. Medmindre licensen giver dig lov hertil, vil det normalt "
+"ikke være tilladt at installere programmet på mere end én maskine, eller "
+"bruge det på et netværk. Hvis du er i tvivl, så kontakt venligst producenten "
+"af komponenten direkte. Overdragelse til tredjemand eller kopiering af "
+"sådanne komponenter inklusive dokumentationen er normalt forbudt.\n"
+"\n"
+"\n"
+"Alle rettigheder til komponenterne på CD-en tilhører deres respektive "
+"skabere og er beskyttet af Lov om Ophavsret.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Tillykke, installationen er færdig.\n"
+"Fjern boot-mediet og tryk retur for at genstarte.\n"
+"\n"
+"\n"
+"For information om rettelser til denne udgivelse af Mandriva Linux, se "
+"Errata på:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information om konfigurering af dit system kan du finde i kapitlet om efter-"
+"installation i den Officielle Mandriva Linux Brugervejledning."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Denne driver har ingen konfigurationsparameter!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Konfiguration af moduler"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Du kan konfigurere hver parameter for modulet her."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Fandt %s grænsesnit"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Har du én til?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Har du nogen %s grænsesnit?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Se info for maskinel"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installerer driver for USB-kort"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installerer driver for firewire-kort %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installerer driver for disk-styreenhed %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installerer driver for ethernet-styreenhed %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installerer driver for %s kort %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Du kan nu angive parametre til modul %s.\n"
+"Bemærk at alle adresser bør indtastes med foranstillet 0x, fx '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Du kan nu sætte parametre til modulet %s.\n"
+"Parametrene er i formatet ``navn=værdi navn2=værdi2 ...''.\n"
+"F.eks., ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulindstillinger:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Hvilken %s driver skal jeg prøve?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"I nogen tilfælde behøver %s driveren at have ekstra information for at "
+"virke\n"
+"ordentligt, selv om den normalt virker fint uden. Ønsker du at angive "
+"ekstra\n"
+"parametre for den eller tillade driveren at sondere din maskine for\n"
+"den information den behøver? Af og til vil sondering stoppe maskinen, men "
+"burde\n"
+"ikke forårsage nogen skader."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatisk sondering"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Specificér parametre"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Indlæsning af modul %s mislykkedes.\n"
+"Ønsker du at prøve igen med andre parametre?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "montering mislykkedes: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Udvidet partition ikke understøttet på denne platform"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Du har plads tilovers i din partitionstabel, men jeg kan ikke udnytte den.\n"
+"Den eneste løsning er at flytte dine primære partitioner, således at\n"
+"\"hullet\" bliver placeret ved siden af de udvidede partitioner."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fejl ved læsning af filen %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Genskabning fra fil %s mislykkedes: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Fejl i sikkerhedskopien"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Fejl ved skrivning til fil %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Noget slemt sker på dit drev. \n"
+"En test for at tjekke integriteten af data er mislykkedes. \n"
+"Dette betyder at alt på disken vil ende som tilfældige beskadigede data."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kan ikke tilføje en partition til _formatéret_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ikke nok partitioner til at benytte RAID level %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Kunne ikke oprette kataloget /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Kunne ikke oprette lænken /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Kunne ikke kopiere firmware-fil %s til /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Kunne ikke sætte tilladelser på firmwarefil %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Skannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Kunne ikke installere de nødvendige pakker til deling af dine skannere."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Dinne skannere vil ikke være tilgængelige for brugere, der ikke er root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Acceptér/afvis falske IPv4-fejlmeddelelser."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Acceptér/afvis rundkastet icmp echo."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Acceptér/afvis icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Tillad/forbyd autologind."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Hvis sat til 'ALL' tillades /etc/issue og /etc/issue.net at eksistere.\n"
+"\n"
+"Hvis sat til 'NONE' er ingen issue-fil tilladt.\n"
+"\n"
+"Ellers er kun /etc/issue tilladt."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Tillad/forbyd genstart via konsolbruger."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Tillad/forbyd ekstern root-logind."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Tillad/forbyd direkte root-logind."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Tillad/forbyd listen af brugere på systemet på skærmhåndteringer (kdm og "
+"gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Tillad eller forbyd eksportering af skærm ved\n"
+"overgang fra 'root'-kontoen til de andre brugere.\n"
+"\n"
+"Se pam_xauth(8) for flere detaljer.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Tillad/forbyd X-forbindelser.\n"
+"\n"
+"- ALL (alle forbindelser er tilladt),\n"
+"\n"
+"- LOCAL (kun forbindelse fra lokal maskine),\n"
+"\n"
+"- NONE (ingen forbindelse)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argumentet angiver om klienter er autoriseret til at koble op til X-serveren "
+"på tcp-port 6000 eller ej."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorisér:\n"
+"\n"
+"- alle tjenester kontrolleret af tcp_wrappers (se hosts.deny(5)) man-siden "
+"hvis sat til 'ALL',\n"
+"\n"
+"- Kun de lokale hvis sat til 'LOCAL',\n"
+"\n"
+"- ingen hvis sat til 'NONE'.\n"
+"\n"
+"For at autorisere de tjenester du behøver, brug /etc/hosts.allow (se hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Hvis SERVER_LEVEL (eller SECURE_LEVEL hvis fraværende) er større end 3\n"
+"i /etc/security/msec/security.conf, oprettes symlænken /etc/security/msec/"
+"server\n"
+"til at pege på /etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"Serveren /etc/security/msec/ bruges af 'chkconfig --add' til at bestemme\n"
+"om en tjeneste skal tilføjes hvis den er til stede i filen under "
+"installationen af pakker."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Aktivér/deaktivér 'crontab' og 'at' for brugere.\n"
+"\n"
+"Put tilladte brugere i /etc/cron.allow og /etc/at.allow\n"
+"(se man at(1) og crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Aktivér/deaktivér syslog-rapporter til konsol 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Aktivér/deaktivér beskyttelse mod spoofning af navneopslag. Hvis\n"
+"'%s' er sand rapporteres også til syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Sikkerhedspåmindelser:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Aktivér/deaktivér beskyttlse mod IP-spoofing."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Aktivér/deaktivér libsafe hvis libsafe findes på systemet."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Aktivér/deaktivér logning af mærkelige IPv4-pakker."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Aktivér/deaktivér msec timevise sikkerhedskontrol."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Aktivér 'su' kun fra medlemmer af wheel-gruppen, eller hvis sat til 'nej' så "
+"tillades 'su' fra enhver bruger."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Brug adgangskode til at autentificere brugere."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktivér/deaktivér åbenhedstjek på ethernetkort."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktivér/deaktivér daglig sikkerhedskontrol."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Aktivér/deaktivér sulogin(8) på enkeltbrugerniveau."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Tilføj navn som en undtagelse for håndteringen af adgangskodeforældelse af "
+"msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Sæt adgangskodeforældelse til 'max' dage, og forsinkelse for ændring til "
+"'inactive'."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Sæt længden på adgangskodehistorik for at forhindre genbrug af adgangskoder."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Sæt mindste længde for adgangskoder, mindste antal cifre og mindste antal "
+"store bogstaver "
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Sæt umask for root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "hvis sat til ja, så tjek åbne porte."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"hvis sat til ja, så tjek for:\n"
+"\n"
+"- tomme adgangskoder,\n"
+"\n"
+"- ingen adgangskode i /etc/shadow\n"
+"\n"
+"- for andre brugere end root med id = 0."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"hvis sat til ja, så tjek rettigheder på filer i brugernes hjemmekataloger."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"hvis sat til ja, så tjek om netværksgrænsesnittene er fuldstændigt åbne."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "hvis sat til ja, så kør de daglige sikkerhedskontroller."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "hvis sat til ja, så tjek tilføjelser og fjernelser af sgid-filer."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "hvis sat til ja, så tjek for tomme adgangskoder i /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "hvis sat til ja, så efterprøv tjeksummer på suid/sgid-filer."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "hvis sat til ja, så tjek tilføjelser og fjernelser af suid root-filer."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "hvis sat til ja, så rapportér filer der ikke er ejede af nogen."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "hvis sat til ja, så kontrollér filer og kataloger skrivbare for alle."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "hvis sat til ja, så kør chkrootkit-kontroller."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"hvis sat, så send postrapporter til denne postadresse, ellers send dem til "
+"root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "hvis sat til ja, så rapportér kontrolresultat per epost."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Send ikke epost med mindre der er noget at advare om"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "hvis sat til ja, så kør nogle tjek på rpm-databasen."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "hvis sat til ja, så rapportér kontrolresultat til syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "hvis sat til ja, så rapportér kontrolresultat på tty-en."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Sæt historiklængden for kommandoskallen. En værdi på -1 betyder ubegrænset."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Sæt skallens tidsudløb. En værdi på nul betyder intet tidsudløb."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Enhed for tidsafbrud er sekunder"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Sæt brugerens umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Acceptér falske IPv4-fejlmeddelelser."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Acceptér rundkastet icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Acceptér icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* eksisterer"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Genstart af konsolbrugeren"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Tillad ekstern root-logind."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direkte logind som root"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "List brugere på skærmhåndteringer (kdm og gdm)."
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Eksportér skærm ved overgang fra 'root' til de andre brugere"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Tillad X Window-forbindelser"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorisér TCP-forbindelse til X Windows"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorisér alle tjenester styret af tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig følger msec regler"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Aktivér 'crontab' og 'at' for brugere"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog rapporterer til konsol 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Beskyttelse mod falske navneoplysninger"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Aktivér beskyttelse mod IP-spoofing."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Aktivér/deaktivér libsafe hvis libsafe findes på systemet"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Aktivér logning af mærkelige IPv4-pakker."
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Aktivér/deaktivér msec timevise sikkerhedskontrol"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Aktivér 'su' kun fra medlemmer af wheel-gruppen"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Brug adgangskode til at autentificere brugere."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Aktivér/deaktivér åbenhedstjek på ethernetkort."
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dagligt sikkerhedstjek"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) på enkeltbrugerniveau"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Ingen ældning af adgangskode for"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Sæt udløbstid for adgangskoder og forsinkelsestider for deaktivering af konti"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Længde af historik for adgangskode"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Mindste længde for adgangskode og antal af cifre og store bogstaver"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Umask for root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Størrelse af historik i skallen"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Udløbstid for skál"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Brugers umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Tjek åbne porte"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Tjek for usikrede konti"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Tjek rettigheder på filer i brugernes hjemmekataloger."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Tjek om netværksgrænsesnittene er fuldstændigt åbne."
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Kør de daglige sikkerhedskontroller"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Tjek tilføjelser og fjernelser af sgid-filer."
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Tjek for tomme adgangskoder i /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Efterprøv tjeksummer på suid/sgid-filer"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Tjek tilføjelser og fjernelser af suid root-filer"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Rapportér filer der ikke er ejede af nogen."
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Kontrollér filer og kataloger skrivbare for alle."
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Kør chkrootkit-kontroller"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Send ikke tomme e-postrapporter"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"hvis sat, så send postrapporter til denne postadresse, ellers send dem til "
+"root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Rapportér kontrolresultat per epost."
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Kør nogle tjek på rpm-databasen"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Rapportér kontrolresultat til syslog."
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Rapportér kontrolresultat på tty-en."
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Velkommen til Crackere"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Ringe"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Høj"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Højere"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Dette niveau skal bruges med omtanke. Det gør dit system nemmere at bruge, "
+"men er meget sårbart: det må ikke bruges til en maskine der er i et netværk "
+"eller har forbindelse til Internettet. Der er ikke nogen kontrol af "
+"adgangskoder."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Kontrol af adgangskode er nu aktiveret, men brug som netværksmaskine er "
+"stadig ikke anbefalet."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dette er standard sikkerheds-anbefalingen for en maskine\n"
+" med forbindelse til Internettet som klient. "
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Der er allerede nogle begrænsninger, og flere automatiske kontroller bliver "
+"kørt hver nat."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Med dette sikkerhedsniveau kan brug som server komme på tale.\n"
+"Sikkerheden er nu høj nok til at systemet kan bruges som server som tillader "
+"forbindelser fra mange klienter. Bemærk: hvis din maskine kun er en klient "
+"på internettet bør du hellere vælge et lavere niveau."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Baseret på det foregående niveau, men systemet er nu helt lukket.\n"
+"Sikkerhedsfaciliteterne er nu på deres højeste niveau."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sikkerhed"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Basale valgmuligheder for DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Vælg det ønskede sikkerhedniveau"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Sikkerhedsniveau"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Brug libsafe for servere"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Et bibliotek som beskytter mod angreb via bufferoverløb og formatstrenge."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Sikkerhedsadministrator (brugernavne eller e-post)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Start ALSA (Advanced Linux Sound Architecture) lydsystemet"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron en periodisk kommando planlægger"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd bruges til at overvåge batteristatus og skrive log til syslog.\n"
+"Den kan også bruges til at lukke maskinen når batteriet er på lav."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Kører planlagte kommandoer med 'at' kommandoen på tiden specificeret da 'at' "
+"blev kørt, og kører batch kommandoer når den gennemsnitlige systembelastning "
+"er lav nok"
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron er et standard UNIX program der kører bruger-specifikke programmer på "
+"planlagte tidspunkter. Vixie cron tilføjer en del forbedringer til den "
+"basale UNIX cron, inklusive bedre sikkerhed og stærkere "
+"konfigurationsmuligheder."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM er en filovervågnings-dæmon. Den bruges til at rapportere når filer er "
+"blevet ændret.\n"
+"Den bruges af Gnome og KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM tilføjer muse-support til tekst-baserede Linux applikationer såsom "
+"Midnight Commander. Den tillader muse-baseret kopiér-og-sætind operationer "
+"på konsollen og inkluderer support for pop-op-menuer i konsollen."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake kører en søgning efter maskinel, og kan konfigurere nyt/ændret "
+"maskinel."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache er en webserver. Den bruges til at betjene HTML-filer og CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet superserver-dæmonen (kaldet inetd) starter forskellige internet-"
+"tjenester efter behov. Den er ansvarlig for at starte tjenester som telnet, "
+"ftp, rsh og rlogin. Hvis inetd deaktiveres, deaktiveres alle de tjenester, "
+"den er ansvarlig for."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Start pakkefiltrering for Linux kerne 2.2 serien for at opsætte en brandmur "
+"til at beskytte din maskine mod netværksangreb."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Denne pakke indlæser den valgte tastatur-tabel, som valgt i /etc/sysconfig/"
+"keyboard. Dette kan vælges i kbdconfig programmet. Dette bør være slået til "
+"på de fleste maskiner."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatisk regenerering af kernehoved i /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "automatisk opdagelse og konfigurering af maskinel ved opstart."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf vil nogen gange arrangere udførelse af forskellige opgaver ved "
+"opstart for at vedligeholde systemkonfigurationen."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd er printer-dæmonen som er nødvendig for at lpr virker.\n"
+"Den er basalt en server der håndterer udskrifts-opgaver."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtuel Server, brugt til at bygge en server med høj ydelse og\n"
+"tilgængelighed."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) er en domæne-navneserver (DNS) der bruges til opslag af IP-"
+"adresser for værtsnavne."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monterer og afmonterer alle netværks filsystemer (NFS), SMB (LanManager/"
+"Windows) og NCP (NetWare) monterings-stier"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktiverer/deaktiverer alle netværks-kort som er konfigureret\n"
+"til at starte ved opstart"
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS er en populær protokol til fildeling over TCP/IP netværk.\n"
+"Denne tjeneste giver NFS-serverfunktionalitet, som konfigureres gennem /etc/"
+"exports filen"
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS er en populær protokol til fildeling over TCP/IP\n"
+"netværk. Denne service giver NFS fillåsnings funktionalitet"
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Aktiverer automatisk numlock-tast i konsol og Xorg ved\n"
+"opstart."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Støtter OKI 4w og kompatible winprintere."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA understøttelse er normalt til at understøtte ting som ethernet og "
+"modemer på bærbare. Den vil ikke blive startet medmindre den er "
+"konfigureret, så det er sikkert at have den installeret på maskiner der ikke "
+"har behov for den."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper håndterer RPC tilslutninger, som bliver brugt af protokoller som "
+"NFS og NIS. Portmap serveren skal køre på maskiner som bruger protokoller "
+"der udnytter RPC mekanismen"
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix er en transport-agent for post, som bruges af programmer der flytter "
+"post fra en maskine til en anden."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Gemmer og henter systemets entropipøl for en højre kvalitet\n"
+"ved generering af tilfældige tal."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Tilordn rå enheder til blokenheder (som harddisk-\n"
+"partitioner) til brug af applikationer som Oracle eller DVD-afspillere"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed dæmonen giver mulighed for automatisk IP rutetabel opdatering via RIP "
+"protokollen. RIP kan bruges til små netværk, men når det kommer til mere "
+"komplekse netværk er der behov for en mere kompleks protokol."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokollen tillader brugere på et netværk at hente systeminformation "
+"fra enhver maskine på dette netværk."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers protokollen tillader brugere på et netværk a identificere\n"
+"hvem der er logget på andre maskiner"
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho protokollen tillader eksterne brugere at hente en liste over alle "
+"brugere der er logget ind på en maskine, der kører rwho dæmonen (minder om "
+"finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Start lydsystemet på din maskine"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog er en facilitet som mange dæmoner bruger til log beskeder\n"
+"Det er en god idé altid at køre syslog"
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Indlæs driverne for dine usb-enheder."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Starter X-font serveren (dette er obligatorisk for at Xorg skal køre)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Printning"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fildeling"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "System"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Ekstern administration"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Databaseserver"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Tjenester"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Vælg hvilke tjenester der skal startes automatisk ved opstart"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Tjenester: %d aktiverede for %d registrerede"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "kører"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "stoppet"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Tjenester og dæmoner"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Beklager, der er ingen ekstra\n"
+"information om denne tjeneste."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Start når der bedes om det"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Ved opstart"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Dette program er gratis programmel; du kan redistribuere det og/eller ændre\n"
+"det i henhold til betingelserne i GNU General Public License, som publiceret "
+"af\n"
+"Free Software Foundation; enten version 2, eller enhver senere udgave\n"
+"af licensen.\n"
+"\n"
+"Dette program er udgivet i håb om at det vil være anvendeligt, men\n"
+"UDEN NOGEN FORM FOR GARANTI; heller ikke garanti om\n"
+"SALGBARHED eller EGNETHED TIL ET BESTEMT FORMÅL. Se GNU\n"
+"General Public License for flere detaljer.\n"
+"\n"
+"Du skulle have modtaget en kopi af GNU General Public License\n"
+"sammen med dette program; hvis ikke, skriv til Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n"
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Sikkerhedskopierings- og genskabelses-program\n"
+"\n"
+"--default : gem standardkataloger.\n"
+"--debug : vís alle fejlsøgningsbeskeder.\n"
+"--show-conf : liste af filer eller kataloger at "
+"sikkerhedskopiere.\n"
+"--config-info : forklar konfigurationsfilens muligheder (for non-X "
+"brugere).\n"
+"--daemon : brug dæmon-konfiguration. \n"
+"--help : vís denne besked.\n"
+"--version : vís versionsnummer.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"MULIGHEDER:\n"
+" --boot - aktivér for at konfigurere opstartsindlæser\n"
+" --splash - aktivér for at konfigurere opstartstema\n"
+"standard-tilstand: tilbyd at konfigurere autologin-facilitet"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[VALGMULIGHEDER] [PROGRAM-NAVN]\n"
+"\n"
+"VALGMULIGHEDER:\n"
+" --help - udskriv denne hjælpebesked.\n"
+" --report - program bær være én af Mandriva Linux' værktøjer\n"
+" --incident - program bær være én af Mandriva Linux' værktøjer"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"tilføj et netværksgrænsesnit\"-hjælper\n"
+" --del - \"slet et netværksgrænsesnit\"-hjælper\n"
+" --skip-wizard - håndtér opkoblinger\n"
+" --internet - konfigurér internet\n"
+" --wizard - det samme som --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Skrifttype-import og overvågningsapplikation\n"
+"\n"
+"--windows_import : importér fra alle tilgængelige windowspartitioner.\n"
+"--xls_fonts : vis alle skrifttyper som allerede eksisterer fra xls\n"
+"--install : installér alle skrifttyper og kataloger.\n"
+"--uninstall : afinstallér alle skrifttyper og kataloger.\n"
+"--replace : erstat skrifttyper som eksisterer fra før\n"
+"--application : 0 ingen applikation.\n"
+" : 1 alle tilgængelige understøttede applikationer.\n"
+" : applikationsnavn, som \"so\" for staroffice \n"
+" : og 'gs' for ghostscript - kun for denne."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Linux TerminalServer konfigureringsprogram\n"
+"--enable : aktivér MTS\n"
+"--disable : deaktivér MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : tilføj en eksisterende systembruger til MTS (kræver "
+"brugernavn)\n"
+"--deluser : slet en eksisterende systembruger fa MTS (kræver "
+"brugernavn)\n"
+"--addclient : tilføj en klientmaskine til MTS (kræver MAC-adresse, IP, "
+"nbi aftryksnavn)\n"
+"--delclient : tilføj en klientmaskine til MTS (kræver MAC-adresse, IP, "
+"nbi aftryksnavn)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[tastatur]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=minfil] [--word=mitord] [--explain=regudtryk] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[VALGMULIGHEDER]\n"
+"Program til netværks- & Internet forbindelse og overvågning\n"
+"\n"
+"--defaultintf grænseflade : vís denne grænseflade som standard\n"
+"--connect : kobl op til internettet hvis ikke allerede opkoblet\n"
+"--disconnect : kobl fra internettet hvis allerede opkoblet\n"
+"--force : brugt med (dis)connect : gennemtving (dis)connect.\n"
+"--status : returnerer 1 hvis opkoblet, ellers 0; afslut derefter.\n"
+"--quiet : vær ikke interaktiv. Bruges med (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation spørg ikke det første bekræftelsesspørgsmål i "
+"Mandriva Update-tilstand\n"
+" --no-verify-rpm efterprøv ikke pakke-signaturer\n"
+" --changelog-first vís changelog før filliste i beskrivelsesvinduet\n"
+" --merge-all-rpmnew foreslå at flette alle .rpmnew/.rpmsave filer fundet"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=enhed] [--update-sane=sane_kilde_kat] [--update-"
+"usbtable] [--dynamic=enhed]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] skærm\n"
+" XFdrake opløsning"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Brug: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Alle servere"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globalt"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asien"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Nordamerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanien"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Sydamerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Russiske føderation"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavien"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Er dette korrekt?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Ingen fil valgt"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Du har valgt en fil, ikke et katalog"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Du har valgt et katalog, ikke en fil"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Ikke noget katalog"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Ikke nogen fil"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Udvid træ"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sammenfold træ"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Skift mellem flad og gruppesorteret"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s er ikke installeret\n"
+"Klik \"Næste\" for at installere eller \"Fortryd\" for at afslutte"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installation mislykkedes"
+
+#~ msgid "Icon"
+#~ msgstr "Ikon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Antal fangningsbuffere:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "Antal fangningsbuffere for mmap-fangning"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL-opsætning:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radio-understøttelse:"
+
+#~ msgid "enable radio support"
+#~ msgstr "aktivér radio-understøttelse"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/de.po b/perl-install/share/po/de.po
new file mode 100644
index 000000000..b1c2442da
--- /dev/null
+++ b/perl-install/share/po/de.po
@@ -0,0 +1,6890 @@
+# translation of de.po to deutsch
+# translation of de.po to
+# german translation of the MandrivaInstaller.
+# Copyright (C) 2000-2003 Mandriva S.A.
+#
+#
+# Stefan Siegel <siegel@linux-mandrake.com>, 2000, 2001, 2002, 2003.
+# Sebastian Deutscher <sebastian.deutscher@web.de>, 2003,2004,2006.
+# Gerhard Ortner <gerhard.ortner@aon.at>, 2003, 2004.
+# Roy Steuber <roysteuber@mittweida-net.de>, 2004.
+# Marcus Fischer <i18n@marcusfischer.com>, 2004.
+# Frank Köster <frank@dueppel13.de>, 2004, 2005.
+# Ronny Standtke <Ronny.Standtke@gmx.de>, 2003, 2004.
+# Ronny Standtke <Ronny.Standtke@gmx.net>, 2004, 2005.
+# Nicolas Bauer <webmaster@mandrakeusers.de>, 2005, 2006.
+# Frank Koester <frank@dueppel13.de>, 2005.Frank Koester <frank@dueppel13.de>, 2006.
+# Nicolas Bauer <rastafarii@mandrivauer.de>, 2006, 2007.
+# Nicolas Bauer <rastafarii@mandrivauser.de>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: de\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-07 17:27+0100\n"
+"Last-Translator: Nicolas Bauer <rastafarii@mandrivauser.de>\n"
+"Language-Team: deutsch\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Bitte warten"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installation des Bootloaders ..."
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO möchte dem Laufwerk %s eine neue Datenträger-ID zuweisen. Jedoch ist\n"
+"das Ändern der Datenträger-ID einer Windows NT, 2000, oder XP Startplatte\n"
+"ein fataler Windows-Fehler.\n"
+"Dies trifft nicht für Windows 95, 98, oder NT Datenplatten zu.\n"
+"\n"
+"Neue Datenträger-ID zuweisen?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Die Installation des Betriebssytemstarters schlug fehl. Folgender Fehler "
+"trat auf:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Sie müssen Ihr Open-Firmware-Boot-Gerät anpassen, dass es den \n"
+"Betriebssytemstarter erkennt. Falls Sie beim Neustart nicht die \n"
+"Eingabeaufforderung des Betriebssytemstarters sehen, drücken Sie \n"
+"Strg-Option-O-F und geben Sie folgendes ein:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+"Tippen Sie dann: shut-down\n"
+"Beim darauffolgenden Neustart sollte Sie die Eingabeaufforderung sehen."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Sie haben sich entschieden, Ihren Bootloader auf eine Partition\n"
+"zu installieren. Das impliziert, dass Sie einen anderen Bootloader im Master-"
+"Boot-Record haben (etwa System Commander).\n"
+"\n"
+"Von welchem Laufwerk wollen Sie booten?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Erster Sektor der Platte (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Erster Sektor der Root-Partition"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Auf Diskette"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Überspringen"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/Grub-Installation"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Wo soll der Bootloader installiert werden?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Konfiguration der Boot-Einstellungen"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Haupt-Optionen des Bootloaders"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Zu verwendender Bootloader"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Boot-Gerät"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Haupt Optionen"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Wartezeit vor dem Starten des Betriebssystems"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI aktivieren"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "APIC aktivieren"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Lokales APIC aktivieren"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Passwort"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Die Passwörter stimmen nicht überein"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Bitte versuchen Sie es erneut"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Sie können kein Passwort welches %s enthält verwenden"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Passwort (erneut)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Gebrauch der Kommandozeilen-Parameter einschränken"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "einschränken"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Die Option „Gebrauch der Kommandozeilen-Parameter einschränken“ ist ohne \n"
+"Angabe eines Passwortes wirkungslos."
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr " „/tmp“ bei jedem Systemstart säubern"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Genaue RAM-Größe, falls nötig (%d MB gefunden)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Geben Sie die RAM-Größe in MB an"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init-Nachricht"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open-Firmware-Verzögerung"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kernel-Start-Wartezeit"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Booten von CD erlauben?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Open-Firmware-Start erlauben?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Standard-OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Abbild"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Übergeben"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen hinzufügen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video-Modus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Init-RamDisk"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Netzwerk Profil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Bezeichnung"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standard"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Leere Einträge sind nicht erlaubt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Sie müssen ein Kernel-Image angeben"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Sie müssen die Root-Partition festlegen"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Dieser Eintrag existiert bereits"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Welche Art Eintrag wollen Sie hinzufügen?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Anderes OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Anderes OS (MacOS ...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Anderes OS (Windows ...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hier sind die verschiedenen Einträge.\n"
+"Sie können weitere hinzufügen oder existierende ändern."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "Zugriff auf X-Programme"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "Zugriff auf RPM-Werkzeuge"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "„su“ erlauben"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "Zugriff auf Verwaltungsdateien"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "Zugriff auf Netzwerk-Werkzeuge"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "Zugriff auf Compilier-Werkzeuge"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s wurde bereits hinzugefügt)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Bitte geben Sie einen Benutzernamen an"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Der Benutzername sollte nur aus Kleinbuchstaben, Ziffern, \n"
+"„-“ und „_“ bestehen"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Dieser Benutzername ist zu lang"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Dieser Benutzername existiert bereits"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Benutzer ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Gruppen ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s muss eine Zahl sein"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s sollte größer als 500 sein. Trotzdem akzeptieren?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Benutzer hinzufügen"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Benutzer einrichten\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Fertig"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Benutzer akzeptieren"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Vollständiger Name"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Benutzername"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatisch anmelden"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Ich kann Ihren Computer so einrichten, dass ein Benutzer automatisch "
+"angemeldet wird."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Diese Möglichkeit nutzen"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Wählen Sie den Standard-Nutzer:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Wählen Sie den Window-Manager, den Sie verwenden wollen:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lizenzvereinbarung"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Verlassen"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Versionshinweise"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Akzeptieren"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ablehnen"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Bitte wählen Sie die zu verwendende Sprache."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Sprachauswahl"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux unterstützt verschiedene Sprachen. Wählen\n"
+"Sie die Sprachen, die Sie installieren wollen.Diese stehen Ihnen zur\n"
+"Verfügung, nachdem die Installation fertig ist und Sie einen Neustart\n"
+"durchgeführt haben."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Mehrere Sprachen"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Alte (nicht UTF-8) Kodierung"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle Sprachen"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Staat / Region"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Bitte wählen Sie Ihren Staat."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Hier ist die komplette Liste aller Staaten"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Andere Länder"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Fortgeschritten"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Einagbe-Methode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Keine"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Keine Freigaben"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Allen Benutzern erlauben"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Benutzerdefiniert"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Wollen Sie Benutzern erlaubern, Verzeichnisse freizugeben?\n"
+"Wenn Sie das erlauben, können die Anwender Verzeichnisse in Konqueror oder "
+"Nautilus im Kontextmenü des entsprechenden Verzeichnisses freigeben.\n"
+"\n"
+"Mit „Benutzerdefiniert“ können Sie eine Einstellung pro Benutzer vornehmen.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: das traditionelle Unix-Dateisystem für Freigaben im Netz, mit weniger "
+"Unterstützung für Mac und Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: ein Dateisystem für Freigaben im Netz von Windows, Mac OS X und vielen "
+"modernen Linux-Systemen verwendet"
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Sie können die Dateien mittels SMB oder NFS anbieten. Welche Variante wollen "
+"Sie?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "UserDrake starten"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Schließen"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Die Freigaben zwischen Benutzern regelt die Gruppe „fileshare“. \n"
+"Sie können UserDrake verwenden, um Benutzer in diese Gruppe aufzunehmen."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Bitte melden Sie sich ab und drücken Sie Ctrl-Alt-Rücktaste"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Sie müssen sich abmelden und wieder anmelden, damit die Änderungen wirksam "
+"werden"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Zeitzone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Wählen Sie Ihre Zeitzone"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Datum, Zeit und Zeitzonen Einstellungen"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Was ist die beste Zeit?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (Hardware Uhr gestellt auf GMT)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (Hardware Uhr gestellt auf Ortszeit)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-Server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatische Zeit-Synchronisation (durch NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokale Datei"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Chipkarte"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows-Domäne"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory mit SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory mit Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokale Datei:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Verwende lokal für alle Authentifizierungen und Informationen in lokalen "
+"Dateien"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Richtet Ihren Rechner so ein, dass er LDAP für die Authentifizierung."
+"verwendet. LDAP führt bestimmte Informationen innerhalb Ihrer Organisation "
+"zusammen."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Erlaubt es Ihnen, eine Gruppe von Rechnern in der gleichen NIS-Domäne mit "
+"einer gemeinsamen Passwort- und Gruppendatei laufen zu lassen."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-Domäne:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind ermöglicht dem System, aus einer Windows-Domäne Informationen "
+"abzufragen und Nutzer zu authentifizieren."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory mit SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Mit Kerberos und LDAP zur Authentifizierung gegen einen Active Directory "
+"Server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory mit Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind ermöglicht dem System, Benutzer gegen einen Windows Active Directory "
+"Server zu authentifizieren."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP-Authentifizierung"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP-Basis-Domäne"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-Server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "Einfach"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "Sicherheitstyp (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Authentifizierungsmethode für Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domäne"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP Benutzer-Datenbank"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "anonymes BIND verwenden"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP-Benutzer darf das Active Directory einsehen"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Benutzerpasswort"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS-Authentifizierung"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-Domäne"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-Server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Damit dies mit einem Windows 2000-Domänen-Controller funktioniert, muss der "
+"Administrator wahrscheinlich folgendes ausführen: „C:\\>net localgroup \"Pre-"
+"Windows 2000 Compatible Access\" everyone /add“. Anschließend muss der "
+"Server neu gestartet werden.\n"
+"Damit Sie Ihren Mandriva Linux-Rechner zur Windows™-Domäne hinzufügen "
+"können, benötigen Sie noch Benutzername und Passwort eines Domänen-"
+"Administrators.\n"
+"Sollte das Netzwerk noch nicht aktiv sein, wird DrakX nach der "
+"Netzwerkkonfiguration versuchen, sich in die Domäne zu integrieren.\n"
+"Sollte dies schief gehen, und die Domänenauthentifizierung funktioniert "
+"nicht, verwenden Sie nach der Installation von Mandriva Linux folgenden "
+"Befehl: „smbpasswd -j DOMÄNE -U BENUTZER%%PASSWORT“, wobei „DOMÄNE“ die "
+"Windows™-Domäne ist, „BENUTZER“ und „PASSWORT“ der Benutzername und das "
+"Passwort des Domänen-Administrators.\n"
+"Mit „wbinfo -t“ können Sie anschließend testen, ob die Anmeldung erfolgreich "
+"war."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows-Domänen-Authentifizierung"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory Realm "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Name des Domänen-Administrators"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Passwort des Domänen-Administrators"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Authentifizierung"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Administratorpasswort setzen"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Authentifizierungsmethode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Kein Passwort"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Dieses Passwort ist zu einfach (es muss mindestens %d Zeichen lang sein)!"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+"Ich kann kein Broadcast machen,\n"
+"da keine NIS-Domäne angegeben wurde."
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Willkommen zum Bootloader!\n"
+"\n"
+"Markieren Sie in obiger Liste ein Betriebssystem\n"
+"oder warten Sie auf das Starten des Standard-OS.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO mit Textmenü"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB mit grafischem Menü"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB mit Textmenü"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "Sie haben nicht genug Platz in „/boot“"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr ""
+"Sie können den Bootloader\n"
+"nicht auf einer %s Partition installieren!\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Ihere Bootloaderkonfiguration muss geändert werden, da sich Ihre "
+"Partitionsnummerierung geändert hat"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Das Startabbild konnte nicht korrekt installiert werden. Rettungsmodus "
+"starten und „%s“ wählen."
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "BS-Starter neu installieren"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d Minuten"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 Minute"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d Sekunden"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "Kommando %s fehlt"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV ist ein Protokoll, dass es Ihnen erlaubt, Webserver-Verzeichnisse\n"
+"einzuhängen, sodass Sie diese wie bei lokalen Dateisystemen verwenden\n"
+"können (sofern der Webserver als WebDAV-Server eingerichtet wurde). \n"
+"Falls Sie Einhängepunkte für WebDAV hinzufügen wollen, wählen Sie\n"
+"„Neu“."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Neu"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Aushängen"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Einhängen"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Einhängepunkt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Optionen"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fehler"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Bitte geben Sie die WebDAV-Server-URL an"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Die URL muss mit „http://“ oder „https://“ beginnen!"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Einhängepunkt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Optionen: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partitionierung"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lesen Sie bitte aufmerksam!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Bitte machen Sie erst eine Sicherheitskopie Ihrer Daten!"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Verlassen"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Fortfahren"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Wenn Sie „aboot“ verwenden wollen, müssen Sie ausreichend Platz am Anfang \n"
+"der Platte lassen (2048 Sektoren reichen aus)."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hilfe"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Wählen Sie eine Aktion"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Sie haben nur eine große FAT-Partition \n"
+"(diese enthält häufig nur Microsoft DOS/Windows).\n"
+"Ich rate Ihnen, diese Partition erst zu verkleinern\n"
+"(Wählen Sie sie an und drücken Sie dann „Größe ändern“)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Bitte klicken Sie auf eine Partition"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Details"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Keine Festplatten gefunden"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalisierendes FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Andere"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Leer"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Dateisystemtypen:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Warnung"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Diese Partition ist leer"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Verwenden Sie erst „Aushängen“"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Stattdessen „%s“ verwenden"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Typ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Wählen Sie eine andere Partition"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Wählen Sie eine Partition"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Rückgängig"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "In den Normal-Modus wechseln"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "In den Experten-Modus wechseln"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Bestätigung"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Wollen Sie trotzdem fortfahren?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Beenden ohne speichern"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Beenden ohne die Partitionstabelle zu speichern?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Möchten Sie die vorgenommenen Änderungen in „/etc/fstab“ speichern?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Sie müssen Ihren Rechner neu starten, um die Änderungen \n"
+"der Partitionstabelle wirksam werden zu lassen."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Sie sollten die Partition %s formatieren.\n"
+"Sonst wird kein Eintrag für den Mount-Punkt %s in fstab geschrieben.\n"
+"Trotzdem verlassen?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Alles löschen"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automatisches Erstellen"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Mehr"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Festplatten-Informationen"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle Primärpartitionen sind in Gebrauch"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ich kann keinen weiteren Partitionen hinzufügen"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Um mehr Partitionen einrichten zu können, müssen Sie zunächst eine Partition "
+"löschen und anschließend eine erweiterte Partition erzeugen."
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Kein Supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount außer für CDROM Laufwerke"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Partitionstabelle schreiben"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Partitionstabelle wiederherstellen"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Partitionstabelle retten"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Partitionstabelle neu laden"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Wechselmedien automatisch einhängen"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Datei auswählen"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Die gesicherte Partitionstabelle hat nicht dieselbe Größe.\n"
+"Soll trotzdem fortgefahren werden?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Ich versuche, die Partitionstabelle zu retten"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Ausführliche Informationen"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Größe ändern"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatieren"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Zum RAID hinzufügen"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Zum LVM hinzufügen"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Löschen"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Aus dem RAID löschen"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Aus dem LVM löschen"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID modifizieren"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Als Loopback verwenden"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Erzeugen"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Eine neue Partition erzeugen"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Anfangssektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Größe in MB:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Dateisystemtyp: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Einstellung: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Name für logisches Laufwerk"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Sie können keine weiteren Partitionen anlegen (da Sie die maximale \n"
+"Anzahl primärer Partitionen erstellt haben). Bitte löschen Sie \n"
+"eine primäre Partition und legen Sie stattdessen eine erweiterte \n"
+"Partition an."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Die Loopback-Datei entfernen?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Nach Änderung des Partitionstyps von %s, werden sämtliche Daten darauf "
+"gelöscht."
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Partitionstyp ändern"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Welches Dateisystem wollen Sie verwenden?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Konvertiere ext2 zu ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Welche Datenträgerbezeichnung?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Bezeichnung:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Wo wollen Sie die Loopback-Datei %s einhängen?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Wo wollen Sie das Gerät %s einhängen?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ich kann diesen Einhängepunkt nicht zurücksetzen, da diese Partition als \n"
+"Loopback verwendet wird. Bitte entfernen Sie erst diesen Loopback."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Wo wollen Sie „%s“ einhängen?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Berechne die Größe neu"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Errechne die Grenzen des FAT-Dateisystems"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Die Größe dieser Partition ist nicht änderbar"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Sie sollten alle Daten dieser Partition sichern"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Durch Veränderung der Partitionsgröße von %s, gehen sämtliche Daten darauf "
+"verloren."
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Wählen Sie die neue Größe"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Neue Größe in MB:"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimale Größe: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maximale Größe: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Um nach der Größenänderung der Partition(en) die Datenintegrität\n"
+"zu gewährleisten, wird Windows™ beim nächsten Hochfahren eine\n"
+"Dateisystemprüfung durchführen."
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Wählen Sie einen vorhandenen RAID"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "neu"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Wählen Sie einen vorhandenen LVM"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-Name?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Der Datenträger %s wird noch verwendet.\n"
+"Möchten Sie verwendete physische Erweiterungen auf diesem Datenträger auf "
+"andere Datenträger verschieben?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Physische Erweiterungen verschieben"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Diese Partition kann nicht als Loopback verwendet werden"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Name der Loopback-Datei: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Dateinamen angeben"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Diese Datei wird bereits von einer anderen Loopback-Verknüpfung verwendet, "
+"wählen Sie eine andere Datei."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Datei existiert bereits. Soll ich sie verwenden?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Einhänge-Optionen"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Verschiedene"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "Gerät"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "Ebene"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "Blockgröße in KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Vorsicht:!! Diese Aktion ist gefährlich."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Welcher Partitionstyp?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Sie müssen Ihren Rechner neu starten, damit die Veränderungen wirksam werden."
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Die Partitionstabelle der Platte „%s“ wird gespeichert!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Nach Formatieren der Partition %s, werden sämtliche Daten darauf gelöscht."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Soll ich nach defekten Blöcken suchen?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Dateien auf die neue Partition verschieben"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Dateien verstecken"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Verzeichnis %s enthält Daten\n"
+"(%s)\n"
+"\n"
+"Sie haben die Wahl, die Daten in die neue Partition zu kopieren oder sie an "
+"dem Ort zu belassen. (Was zur Folge hat, dass sie durch die Partition "
+"verdeckt werden)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Verschiebe Dateien auf die neue Partition"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopiere %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Entferne %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "die Partition %s heißt nun %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Die Partitionen wurden neu nummeriert:"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Gerät: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Datenträger-Bezeichnung: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS Laufwerksbuchstabe: %s (vermutlich?)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Typ:"
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Name: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Anfang: Sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Größe: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s Sektoren"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Zylinder %d bis %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Anzahl logischer Erweiterungen: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatiert\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nicht formatiert\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Eingehängt\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-Datei(en):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partition wird standardmäßig geladen\n"
+" (für MS-DOS-Boot, nicht jedoch für LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Ebene %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Blockgröße %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-Platten %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Dateiname des Loopbacks: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Es handelt sich mit großer\n"
+"Wahrscheinlichkeit um eine\n"
+"Treiber-Partition. Sie sollten\n"
+"sie daher besser unverändert\n"
+"lassen.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Diese spezielle Start-Partition\n"
+"ist für die Verwendung mehrerer\n"
+"Betriebssysteme auf dem selben\n"
+"Rechner.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Freier Speicher auf %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Nur lesbar"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Größe: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrie: %s Zylinder, %s Köpfe, %s Sektoren\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-Platten %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partitionstabellentyp: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "auf Kanal %d ID %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Dateisystem-Schlüssel"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Wählen Sie Ihren Dateisystem-Schlüssel (Passwort)"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Dieses Passwort ist zu einfach (es muss mindestens %d Zeichen lang sein)!"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Die Passwörter stimmen nicht überein"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Schlüssel"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Schlüssel (erneut)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Verschlüsselungsalgorythmus"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Typ ändern"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ich kann mich unter „%s“ nicht anmelden! Stimmt das Passwort?"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domänen-Authentifizierung nötig"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Welchen Benutzernamen"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Anderer"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "Bitte geben Sie Benutzername, Passwort und Domäne des Rechners an."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Benutzername"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Server suchen"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Neue Server suchen"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Das Paket %s muss installiert sein. Soll ich es installieren?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Konnte das Paket %s nicht installieren!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Das zwingend benötigte Paket „%s“ fehlt."
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Die folgenden Pakete müssen installiert werden:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Pakete werden installiert..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Pakete werden entfernt..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Ein Fehler ist aufgetreten - kein gültiges Gerät wurde gefunden auf dem das "
+"Dateisystem erstellt werden kann. Bitte überprüfen Sie die Hardware auf "
+"Grund diesen Fehlers."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "/boot/efi muss eine FAT Partition sein"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatiere Partition „%s“"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Erzeugen und Formatieren der Datei %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr ""
+"Ich bin nicht in der Lage, %s mit einem Dateisystem vom Typ %s zu "
+"formatieren."
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatieren von %s schlug fehl"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Schleife bem Einbinden %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Partition „%s“ einhängen"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "Das Einhängen der Partition %s in das Verzeichnis %s schlug fehl."
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s wird überprüft"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "Fehler beim Aushängen von %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Swap-Partition „%s“ aktivieren"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Ein verschlüsseltes Dateisystem verwenden"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Gruppen-Platten-Quota entsprechend aktivieren und wahlweise Grenzwerte "
+"durchsetzen"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Inode-Zugriffszeiten auf diesem System nicht aktualisieren\n"
+"(z.B. für schnellere Zugriffe auf den News-Spool um News-Server zu "
+"beschleunigen)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kann nur explizit eingehängt werden (so wird\n"
+"etwa das Dateisystem nicht bei „-a“ eingehängt)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Interpretiere keine zeichen- oder speziellen blockorientierten Geräte auf "
+"dem Dateisystem."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Verbiete die Ausführung jeglicher Binärdateien auf dem ein-\n"
+"gehängten Dateisystem. Diese Option ist nützlich für Server mit Datei-\n"
+"systemen, auf denen sich Binärdateien fremder Architekturen befinden. "
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Verhindere die Wirkung von gesetzen Benutzer- oder Gruppen-Identifier-\n"
+"Bits. (Dies scheint sicher, ist aber in faktisch unsicherer falls Sie\n"
+"suidperl(1) installiert haben.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Das Dateisystem read only einhängen/mounten"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Alle I/O-Operationen am Dateisystem sollten parallel gemacht werden."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Jedem Benutzer das Ein- und Aushängen des Dateisystems erlauben."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Normalen Benutzern das Einhängen des Dateisystems erlauben."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Nutzer-Platten-Quota aktivieren und wahlweise Grenzwerte durchsetzen"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Unterstütze\"Benutzer.\" erweiterte Eigenschaften"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Schreib Zugriff für den normalen Benutzer"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Schreib-Zugriff für den normalen Benutzer"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Einhängepunkt %s duplizieren"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Keine Partitionerfügbar"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Suche Partitionen um den Einhängepunkt zu finden"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Wählen Sie den Einhängepunkt"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Wählen Sie die Partition die Sie formatieren wollen"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Fehler beim Checken des %s Dateisystem. Wollen Sie die Fehler beheben? "
+"(Beachte. Sie können Daten verliehren)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Nicht genug swap Speicher um die Installation auszuführen, bitte fügen Sie "
+"mehr swap Speicher hinzu"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Sie brauchen eine root Partition.\n"
+"Erstellen Sie eine (oder Kicken Sie auf eine bestehende).\n"
+"Wählen Sie dann den ``Einhängepunkt'' Knopf und wählen Sie `/' aus"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Sie haben keine swap Partition.\n"
+"\n"
+"Wollen Sie fortfahren?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Verwende freien Platz"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nicht genug freier Platz, um die neue Partition hinzuzufügen"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Bestehende Partitionen"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Es gibt keine existierende Partition, die ich verwenden kann."
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Verwende die Microsoft Windows® Partition als Loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Welche Partition wollen Sie für Linux4Win verwenden?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Wählen Sie die Größe"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Root Partitions Größe in MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap Partitions Größe in MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Es gibt keine FAT Partition die als Loopback verwendet werden kann (oder "
+"nicht genügen Speicher vorhanden)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Verwende Sie den freien Platz auf der Microsoft Windows® Partition"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Bei welcher Partition wollen Sie die Größe ändern?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Das Werkzeug zum Verändern der FAT-Partitionsgröße kann mit der \n"
+"Partition nicht arbeiten. Folgender Fehler trat auf:%s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Berechne die Größe der Microsoft Windows®-Partition"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Ihr Microsoft Windows® Partition ist zu fragmentiert. Bitte starten Sie "
+"ihren Computer mit Microsoft Windows®, starten Sie das ``Defragmentierungs'' "
+"Tool, dann starten Sie die Mandriva Linux Installation neu."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"WARNUNG!\n"
+"\n"
+"\n"
+"DrakX wird nun die Größe Ihrer Windows-Partition verändern.\n"
+"\n"
+"\n"
+"Seien Sie vorsichtig: Diese Aktion ist gefährlich. Falls Sie es noch nicht "
+"getan haben, sollten Sie nun die Installation abbrechen, um „chkdsk c:“ von "
+"einem DOS Prompt unter Windows auf die Partition anzuwenden (Achtung:"
+"scandisk unter der grafischen Windows Oberfläche reicht nicht aus, bitte "
+"„chkdsk“ in einem DOS Prompt ausführen!)Defragmentieren. Anschließend können "
+"Sie die Installation erneut starten.\n"
+"Sie sollten natürlich generell Sicherheitskopien Ihrer Daten angelegt\n"
+"haben.\n"
+"\n"
+"\n"
+"Falls dies der Fall ist, können Sie mit %s fortfahren."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Weiter"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Wieviel Platz benötigen sie noch für Microsoft Windows® auf Partition %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Größe"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Größe der Microsoft Windows®-Partition wird geändert"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT-Größenanpassung schlug fehl: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Sie haben keine FAT-Partition, deren Größe ich anpassen kann\n"
+"(möglicherweise haben Sie auch einfach nur nicht mehr genügend\n"
+"freien Speicher)."
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Entferne Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Komplette Platte löschen und freien Platz benutzen"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Sie haben mehr als eine Festplatte.\n"
+"Auf welche soll GNU/Linux installiert werden?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"SÄMTLICHE existierende Partitionen samt der darauf befindlichen Daten \n"
+"auf Laufwerk %s gehen dabei verloren"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Benutzerdefinierte Partitionierung"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Verwende fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Sie können nun %s partitionieren.\n"
+"Vergessen Sie nicht die Einstellungen mittels ‚w‘ zu speichern, \n"
+"sobald Sie fertig sind."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ich kann kein Platz zum Installieren finden"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Der DrakX-Partitionierungsassistent fand folgende Lösung:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partitionierunsgfehler: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+"Sie können JFS nicht für Partitionen verwenden, die kleiner als 16MB sind!"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+"Sie können ReiserFS nicht für Partitionen verwenden, die kleiner als 32MB "
+"sind!"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "mit „/usr“"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "Server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "BIOS Software RAID wurde auf Festplatte %s gefunden. Aktivieren?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ich kann die Partitionstabelle von „%s“ nicht lesen. Sie scheint \n"
+"fehlerhaft zu sein :-(\n"
+"Ich kann fortfahren, indem ich die fehlerhaften Partitionen lösche \n"
+"(dabei gehen ALLE darauf vorhandenen DATEN VERLOREN!). Alternativ können \n"
+"Sie mir jedoch auch verbieten, die Partitionstabelle zu verändern.\n"
+"(Folgender Fehler trat auf: „%s“).\n"
+"\n"
+"Sind Sie einverstanden, dass ich die problematischen Partitionen lösche?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Einhängepunkte müssen mit einem / beginnen."
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+"Einhängepunkte sollten nur Buchstaben, Ziffern und den Unterstrich "
+"unterhalten"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Es gibt bereits eine Partition, mit dem Einhängepunkt %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Sie haben eine Software-RAID-Partition als Wurzelverzeichnis (/)"
+"ausgewählt. \n"
+"Zur Zeit kann kein Bootloader damit ohne Verwendung einer \n"
+"„/boot“-Partition arbeiten. Stellen Sie sicher, dass Sie eine solche \n"
+"Partition erstellen."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Sie können eine logische LVM-Partition nicht als Einhängepunkt %s verwenden, "
+"da er sich über mehrere physische Datenträger erstreckt"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Sie haben eine logische LVM-Partition als Dateisystemwurzel (/) ausgewählt.\n"
+"Der Bootloader beherrscht dies nicht, wenn die Partition sich über mehrere "
+"physische Datenträger erstreckt.\n"
+"Sie sollten zuerst eine Partition „/boot“ anlegen"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Dieses Verzeichnis muss innerhalb des Wurzelverzeichnisses bleiben"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Sie benötigen ein echtes GNU/Linux-Dateisystem (ext2/ext3, reiserfs, xfs "
+"oder jfs) für diesen Einhängepunkt.\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Sie können kein verschlüsseltes Medium für den Einhängepunkt %s verwenden."
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+"Nicht genug freier Platz, damit ich selbst eine Partition anlegen kann."
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nichts zu tun."
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskettenlaufwerke"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "ZIP"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Festplatten"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD-Brenner"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bandlaufwerke"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-Controller"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokarten"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-Karte"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-Karten"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Andere Multimedia-Geräte"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Soundkarten"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prozessoren"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN Karten"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-Sound-Geräte"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radiokarten"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM-Netzwerkkarten"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN-Netzwerkkarten"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth-Geräte"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Netzwerkkarten"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL Adapter"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Speicher"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Drucker"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Gameport-Controller"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-Controller"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-Controller"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-Controller"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-Massenspeicher-Geräte"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kartenlesegerät"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-Controller"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-Controller"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-Controller"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-Controller"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-Ports"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-Controller"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Brücken und System-Controller"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet und Touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Maus"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "USV"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Unbekannt/Andere"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "CPU #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Einen Moment ... Ich richte die Konfiguration ein"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Kein alternativer Treiber"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Es existiert kein alternativer OSS/ALSA-Treiber für Ihre Soundkarte (%s), "
+"die momentan „%s“ verwendet."
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Sound-Konfiguration"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Hier können Sie einen alternativen Treiber (entweder OSS oder ALSA) für Ihre "
+"Soundkarte (%s) auswählen"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Ihre Karte verwendet momentan den %s „%s“ Treiber (Voreinstellung für Ihre "
+"Karte ist „%s“)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) war das erste Sound-API. Es handelt sich um eine "
+"betriebssystemunabhängige API (verfügbar auf den meisten UNIX™-Systemen), "
+"aber es ist nur sehr einfach und beschränkt in den Fähigkeiten.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) ist eine modularisierte "
+"Architektur, die \n"
+"eine große Anzahl an ISA-, USB und PCI-Karten unterstützt.\n"
+"Sie stellt außerdem eine wesentlich mächtigere API zur Verfügung als OSS\n"
+"Um ALSA zu nutzen können Sie:\n"
+"- die alte OSS-Kompatibilitäts-API\n"
+"- die neue ALSA-API mit den erweiterten Möglichkeiten. Diese verlangt "
+"allerdings das Nutzen der ALSA-Bilbliotheken.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Treiber:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Fehlerbehandlung"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Der alte „%s“ Treiber steht auf einer Schwarzen Liste.\n"
+"\n"
+"Der Treiber soll Fehlfunktionen verursachen.\n"
+"\n"
+"Der neue „%s“ Treiber steht nach einem Neustart zur Verfügung."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Kein OpenSource-Treiber"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Es existiert kein freier Treiber für Ihre Soundkarte (%s), aber es gibt "
+"einen proprietären Treiber unter „%s“."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Kein bekannter Treiber"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Es gibt keinen bekannten Treiber für Ihre Soundkarte (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Unbekannter Treiber"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Fehler: Es gibt keinen bekannten Treiber für Ihre Soundkarte (%s)"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Sound-Fehlerbehandlung"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Der klassische Test, um Fehler im Sound-System zu finden:\n"
+"\n"
+"\n"
+"- „lspcidrake -v | fgrep AUDIO“ verrät Ihnen, welcher Treiber Ihre "
+"Soundkarte \n"
+" standardmäßig verwendet.\n"
+"\n"
+"- „/sbin/chkconfig --list sound“ und „/sbin/chkconfig --list alsa“ verraten\n"
+" Ihnen, ob die Sound- und ALSA-Dienste konfiguriert sind, um im\n"
+" Initlevel 3 zu laufen.\n"
+"\n"
+"- „/sbin/fuser -v /dev/dsp“ verrät das Programm, das die Soundkarte "
+"benutzt.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Lassen Sie mich irgendeinen Treiber auswählen"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Ich wähle einen willkürlichen Treiber"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Wenn Sie wirklich wissen, welcher Treiber der Richtige für Ihre Karte ist,\n"
+"wählen Sie einen aus der Liste aus.\n"
+"\n"
+"Der gerade verwendete Treiber für Ihre „%s“ Soundkarte ist „%s“ "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Autoerkennung"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Unbekannt|Generisch"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Unbekannt|CPH05X (bt878) [Zahlreiche Hersteller]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Unbekannt|CPH06X (bt878) [Zahlreiche Hersteller]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Für die meisten modernen TV-Karten erkennt das bttv-Modul des Linux-Kernels "
+"automatisch die richtigen Parameter.\n"
+"Falls Ihre Karte falsch erkannt wird, können Sie Tuner- und Kartentyp hier "
+"einstellen. Geben Sie einfach die benötigten Parameter an."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kartentyp:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tunertyp:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nein"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Wählen Sie eine Datei"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Ändern"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Entfernen"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Assistent beenden"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Zurück"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Schlechte Wahl, bitte versuchen Sie es noch einmal\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Ihre Wahl? (Standard ‚%s‘) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Angaben, die Sie machen müssen:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Ihre Wahl? (0/1, Standard ‚%s‘) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Schaltfläche „%s“: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Möchten Sie diese Schaltfläche betätigen?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Ihre Wahl? (Standard „%s“ %s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "Geben Sie „void“ für einen leeren Eintrag an"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Es gibt zahlreiche Auswahlmöglichkeiten von (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Bitte wählen Sie die Nummer aus dem Bereich, die Sie bearbeiten wollen,\n"
+"oder betägen Sie die Eingabetaste um fortzufahren. Ihre Wahl? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Anmerkung: Ein Eintrag wurde geändert:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Erneut verschicken"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Vereinigte arabische Emirate"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua und Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanien"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenien"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Niederländische Antillen"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktis"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentinien"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Österreich"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australien"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Aserbaidschan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnien-Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesch"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgien"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarien"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei "
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivien"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasilien"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet-Insel"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Weißrussland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Cocos (Keeling) Inseln"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Zentralafrikanische Republik"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Schweiz"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Elfenbeinküste"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook-Inseln"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbien"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbien & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kap Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Osterinsel"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Zypern"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tschechische Republik"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Deutschland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dänemark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominikanische Republik"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikanische Republik"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algerien"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Ägypten"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Westsahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanien"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Äthiopien"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finnland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidschi"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland Inseln"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesien"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faröische Inseln"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankreich"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabun"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Großbritannien"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgien"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Französisch-Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grönland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gouadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Äquatorial-Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Griechenland"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "South Georgia und die South Sandwich Islands"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard Island und McDonald Island"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatien"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungarn"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesien"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indien"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britisches Territorium im Indischen Ozean"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italien"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanien"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgisistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodscha"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoren"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "St. Kitts und Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Nordkorea"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman-Inseln"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kasachstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "St. Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litauen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Litauen"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Lybien"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldawien"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Inseln"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Mazedonien"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Burma"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolei"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Nördliche Mariannen-Inseln"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauretanien"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Malediven"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Neukaledonien"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkinsel"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Niederlande"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norwegen"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Neuseeland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Französisch Polinesien"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua-Neuguinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Philippinen"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polen"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "St. Pierre und Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palästina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Quatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumänien"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Arabien"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon-Inseln"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellen"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Schweden"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sankt Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slowenien"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard and Jan Mayen Islands (Norwegen)"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slowakei"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome und Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syrien"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks und Caicos Inseln"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tschad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "French Southern Territories"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadschikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau (Neuseeland)"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Ost Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunesien"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Türkei"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad und Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tansania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "United States Minor Outlying Islands"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Vereinigte Staaten von Amerika"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Usbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "St. Vincent und die Grenadinen"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Jungferninseln (britisch)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Jungfern-Inseln (U.S.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis und Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte (Frankreich)"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Südafrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Sambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Simbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Willkommen zu %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Das Verschieben der verwendeten physischen Erweiterungen auf andere "
+"physische Datenträger ist fehlgeschlagen"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Der physische datenträger %s wird noch verwendet"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Entfernen Sie erst die Logischen Medien\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"Der Bootloader beherrscht „/boot“ nicht auf mehreren physischen Datenträgern"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Bei dieser Übersetzung handelt es sich um eine inoffizielle Übersetzung\n"
+"der Mandriva Linux-Lizenz in die deutsche Sprache. Sie ist keine\n"
+"rechtsverbindliche Darstellung der Lizenzbedingungen der Software in\n"
+"dieser Distribution - nur der ursprüngliche französische Text der\n"
+"Mandriva Linux-Lizenz ist rechtsverbindlich. Wir hoffen aber, dass diese\n"
+"Übersetzung den deutschsprechenden Benutzern das Verständnis dieser\n"
+"Lizenz erleichtert.\n"
+"\n"
+"\n"
+"Einführung\n"
+"\n"
+"Das Betriebssystem und die anderen Komponenten, die in Mandriva Linux\n"
+"enthalten sind, werden hier „Software-Produkte“ genannt. Die\n"
+"Software-Produkte umfassen, aber sind nicht beschränkt auf, die\n"
+"Gesamtheit der Programme, Methoden, Regeln, und Dokumentation, welche\n"
+"zum Betriebssystem und den anderen Komponenten der Mandriva Linux\n"
+"Distribution gehören.\n"
+"\n"
+"\n"
+"1. Lizenzabkommen\n"
+"\n"
+"Bitte lesen Sie dieses Dokument sorgfältig. Dieses Dokument ist ein\n"
+"Lizenzabkommen zwischen Ihnen und Mandriva S. A. welches sich auf\n"
+"die Software-Produkte bezieht.\n"
+"Durch Installation, Duplizierung oder Benutzung der Software-Produkte in\n"
+"irgendeiner Art und Weise erklären Sie sich mit den Bedingungen dieser\n"
+"Lizenz einverstanden.\n"
+"Wenn Sie mit irgendeinem Punkt dieser Lizenz nicht einverstanden sind,\n"
+"ist es Ihnen nicht erlaubt, die Software-Produkte zu installieren,\n"
+"duplizieren oder zu benutzen.\n"
+"Mit jedem Versuch, die Software-Produkte in einer Art und Weise zu\n"
+"benutzen, die nicht den Bedingungen dieser Lizenz entspricht, verlieren\n"
+"Sie die Ihnen mit dieser Lizenz eingeräumten Rechte. In diesem Fall\n"
+"haben Sie unverzüglich alle Kopien der Software-Produkte zu vernichten.\n"
+"\n"
+"\n"
+"2. Eingeschränkte Garantie\n"
+"\n"
+"Die Software-Produkte und die beigefügte Dokumentation werden dem\n"
+"Benutzer lediglich zur Verfügung gestellt, es wird keinerlei Garantie\n"
+"gegeben soweit es gesetzlich zulässig ist.\n"
+"Mandriva S. A. haftet unter keinen Umständen, soweit gesetzlich\n"
+"zulässig, für direkte oder indirekte Schäden irgendwelcher Art,\n"
+"(inklusive uneingeschränkten Schäden aufgrund Verlust von\n"
+"Geschäftsbeziehungen, Unterbrechung von Geschäftsvorgängen,\n"
+"finanziellen Verlust, Gebühren oder Strafen aufgrund gerichtlicher\n"
+"Entscheide, oder jegliche Folgeschäden) die aufgrund der Benutzung oder\n"
+"der Unmöglichkeit der Benutzung der Software-Produkte entstehen, auch\n"
+"wenn Mandriva S. A. über die Möglichkeit und das Auftreten\n"
+"derartiger Schäden unterrichtet wurde.\n"
+"\n"
+"\n"
+"EINGESCHRÄNKTE VERANTWORTLICHKEIT BEZOGEN AUF DEN BESITZ UND DIE\n"
+"BENUTZUNG VON SOFTWARE, DIE IN EINIGEN LÄNDERN VERBOTEN IST.\n"
+"\n"
+"\n"
+"Soweit gesetzlich zulässig, haften Mandriva S. A. und deren\n"
+"Vertreiber unter keinen Umständen für direkte oder indirekte Schäden\n"
+"irgendwelcher Art, (inklusive uneingeschränkten Schäden aufgrund Verlust\n"
+"von Geschäftsbeziehungen, Unterbrechung von Geschäftsvorgängen,\n"
+"finanziellen Verlust, Gebühren oder Strafen aufgrund gerichtlicher\n"
+"Entscheide, oder jegliche Folgeschäden) die aufgrund des Besitzes und\n"
+"der Benutzung von Software-Komponenten oder aufgrund des Ladens von\n"
+"Software-Komponenten von den Internet-Servern von Mandriva S. A.,\n"
+"deren Besitz und Benutzung in einigen Ländern aufgrund lokaler Gesetze\n"
+"nicht gestattet ist, entstehen.\n"
+"Diese Einschränkung der Verantwortlichkeit bezieht sich auch, aber nicht\n"
+"nur, auf die Komponenten für starke Kryptografie enthalten in den\n"
+"Software-Produkten.\n"
+"\n"
+"\n"
+"3. Die GPL und verwandte Lizenzen\n"
+"\n"
+"Die Software-Produkte bestehen aus Komponenten, die von verschiedenen\n"
+"Personen und Einrichtungen erstellt wurden. Die meisten Komponenten\n"
+"unterliegen den Bedingungen der GNU General Public License, im folgenden\n"
+"„GPL“ genannt, oder ähnlichen Lizenzen. Die meisten dieser Lizenzen\n"
+"erlauben es, die Komponenten, die diesen Lizenzen unterliegen, zu\n"
+"benutzen, zu duplizieren, anzupassen, und weiterzugeben. Bitte lesen sie\n"
+"sorgfältig die Bedingungen der Lizenzabkommen von jeder Komponente,\n"
+"bevor Sie sie benutzen. Jegliche Frage zur Lizenz einer Komponente ist an\n"
+"den Autor der Komponente und nicht an Mandriva S. A. zu richten. Die\n"
+"von Mandriva S. A. erstellten Programme unterliegen der GPL.\n"
+"Von Mandriva S. A. geschriebene Dokumentation unterliegt einer\n"
+"spezifischen Lizenz. Bitte lesen Sie die Dokumentation für weitere\n"
+"Details.\n"
+"\n"
+"\n"
+"4. Geistiges Eigentum\n"
+"\n"
+"Alle Rechte an den Komponenten der Software-Produkte liegen bei den\n"
+"entsprechenden Autoren und sind durch die Urheberrechtsgesetze für\n"
+"Softwareprodukte geschützt.\n"
+"Mandriva S. A. behält sich das Recht vor, die Software-Produkte zu\n"
+"modifizieren und anzupassen.\n"
+"„Mandriva“, „Mandriva Linux“ und entsprechende Logos sind eingetragene\n"
+"Warenzeichen der Mandriva S. A..\n"
+"\n"
+"\n"
+"5. Gesetzliche Bestimmungen\n"
+"\n"
+"Wenn irgendein Teil dieses Lizenzabkommens durch einen Gerichtsentscheid\n"
+"für ungültig, illegal oder inakzeptabel erklärt wird, wird dieser Teil\n"
+"aus dem Abkommen ausgeschlossen. Sie bleiben weiterhin an die anderen,\n"
+"anwendbaren Teile gebunden.\n"
+"Die Bedingungen dieses Lizenzabkommens unterliegen den Gesetzen von\n"
+"Frankreich. Alle Unstimmigkeiten bezüglich der Bedingungen dieser Lizenz\n"
+"werden vorzugsweise außergerichtlich beigelegt. Letztes Mittel ist das\n"
+"zuständige Gericht in Paris, Frankreich.\n"
+"Zu jeglicher Frage zu diesem Dokument kontaktieren Sie bitte\n"
+"Mandriva S. A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Warnung: Freie Software ist nicht notwendigerweise patentfrei, und einige\n"
+"der beigefügten Software könnte durch ein Patent geschützt sein in Ihrem "
+"Land.\n"
+"Zum Beispiel verlangen die beigefügten MP3-Decoder eine Lizenz für weiter-\n"
+"gehende Nutzung (siehe dazu: http://www.mp3licensing.com). Falls Sie "
+"unsicher \n"
+"sind ob ein Patent sie betrifft prüfen Sie die Gesetze Ihres Landes."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Achtung\n"
+"\n"
+"Bitte lesen Sie die nachfolgenden Ausführungen sorgfältig. Wenn Sie mit\n"
+"irgendeinem Teil nicht einverstanden sind, dürfen Sie nicht den Inhalt\n"
+"der folgenden CDs installieren. Klicken Sie auf „Zurückweisen“, um die\n"
+"Installation ohne Verwendung dieser CDs fortzusetzen.\n"
+"\n"
+"\n"
+"Einige Komponenten auf den nachfolgenden CDs unterliegen nicht der GPL\n"
+"oder ähnlichen Lizenzabkommen. Jede dieser Komponenten unterliegt dann\n"
+"den Bedingungen ihrer eigenen spezifischen Lizenz.\n"
+"Bitte lesen Sie diese Lizenzen sorgfältig und nur wenn Sie mit ihnen\n"
+"einverstanden sind, dürfen Sie die entsprechenden Produkte entsprechend\n"
+"ihrer Lizenz benutzen und weitergeben.\n"
+"Solche Lizenzen verbieten im allgemeinen das Transferieren, Duplizieren\n"
+"(außer für Sicherheitskopien), Weitergeben, Decompilieren, Disassamblen\n"
+"oder Verändern der Komponente.\n"
+"Jeder Bruch des Lizenzabkommens beendet sofort die Ihnen im Rahmen der\n"
+"Lizenz eingeräumten Rechte. Wenn die jeweilige Lizenz Ihnen nicht\n"
+"entsprechende Rechte einräumt, dürfen Sie die Programme nicht auf mehr\n"
+"als einem System installieren oder zur Benutzung in einem Netzwerk\n"
+"einrichten. Im Zweifelsfall kontaktieren Sie bitte den Vertreiber oder\n"
+"Herausgeber der jeweiligen Komponente.\n"
+"Transfer an Dritte oder Kopieren solcher Komponenten inklusive ihrer\n"
+"Dokumentation ist normalerweise verboten.\n"
+"\n"
+"\n"
+"Alle Rechte an den Komponenten der nachfolgenden CDs liegen bei den\n"
+"jeweiligen Autoren und sind durch die Urheberrechtsgesetze für\n"
+"Softwareprodukte geschützt.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Herzlichen Glückwunsch, die Installation ist abgeschlossen.\n"
+"Entfernen Sie die Startmedien (CD-ROMs / Disketten) und drücken Sie die "
+"Eingabetaste zum Neustart Ihres Rechners.\n"
+"\n"
+"Für Informationen zu Sicherheitsaktualisierungen dieser Version von Mandriva "
+"Linux informieren Sie sich bitte unter \n"
+"\n"
+"%s\n"
+"\n"
+"Wie Sie Ihr System warten können, erfahren Sie im Kapitel „Nach der "
+"Installation“ im offiziellen Benutzerhandbuch von Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Dieser Treiber hat keine Konfigurations-Parameter!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Modul-Konfiguration"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Sie können alle Modulparamerter hier einstellen."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Schnittstelle(n) %s gefunden"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Verfügen Sie über weitere?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Verfügen Sie über %s Schnittstellen?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Hardware-Informationen anzeigen"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installiere den Treiber für den USB-Controller"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installiere den Treiber für den Firewire-Controller %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installiere den Treiber für den Festplatten-Controller %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installiere den Treiber für den Ethernet-Controller %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installiere den Treiber für die %s Karte %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Sie können nun die Optionen für Modul %s angeben.\n"
+"Denken Sie daran, dass Adressen mit „0x“ beginnen müssen, etwa „0x300“"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Sie müssen nun die Optionen für Modul %s angeben.\n"
+"Optionen haben die Form „name=wert name2=wert2“.\n"
+"Beispielsweise: „io=0x300 irq=7“"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modul-Optionen:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Welchen %s-Treiber soll ich versuchen?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"In einigen Fällen benötigt der „%s“ Treiber zusätzliche Informationen,\n"
+"um korrekt zu funktionieren, meistens sollte er jedoch auch ohne \n"
+"funktionieren. Wollen Sie solche Informationen angeben oder es dem Treiber "
+"überlassen, nach geeigneten Parametern zu suchen? (Das Austesten durch den "
+"Treiber kann in seltenen Fällen zum „Hängenbleiben“ des Rechners führen, was "
+"jedoch keine Hardwareschäden nach sich ziehen sollte.)"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatische Erkennung"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Optionen angeben"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Laden von Modul %s schlug fehl.\n"
+"Wollen Sie es erneut mit anderen Parametern versuchen?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "Fehler beim Einhängen: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Diese Rechnerarchitektur kennt keine erweiterten Partitionen"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Sie haben einen unbenutzten Bereich in Ihrer Partitionstabelle, \n"
+"den ich nicht ansprechen kann. Die einzige Lösung ist, dass Sie \n"
+"Ihre primären Partitionen so verschieben, dass der Bereich direkt \n"
+"neben der erweiterten Partition zu liegen kommt."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fehler beim Lesen der Datei %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Restaurieren aus der Datei %s schlug fehl: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Fehlerhafte Datensicherungs-Datei"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Fehler beim Schreiben in Datei %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Mit Ihrer Platte stimmt etwas nicht!\n"
+"Der vorgenommene Integritätstest schlug fehl.\n"
+"Das bedeutet, dass jeder Schreibvorgang auf der Platte zu zufälligen oder "
+"beschädigten Daten führen wird."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kann keine Partition zu dem _formatierten_ RAID %s hinzufügen"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nicht genügend Partitionen für RAID-Level %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Konnte Verzeichnis /usr/share/sane/firmware nicht erstellen!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Konnte Verknüpfung /usr/share/sane/%s nicht erstellen!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Ich konnte die Firmware Datei %s nicht auf /usr/share/sane/firmware kopieren!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Konnte keine Zulassung setzen für die Firmware-Datei %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "ScannerDrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Konnte die notwendigen Programme zum Freigeben Ihrer Scanner nicht "
+"installieren."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Ihr(e) Scanner wird nur für Benutzer Root verfügbar sein"
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "IPv4 Scheinfehlermeldungen akteptieren/ablehnen."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Das ICMP-Echo akzeptieren/ablehnen."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Das ICMP-Echo akzeptieren/ablehnen."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Das automatische Anmelden eines Benutzers erlauben/verbieten."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Beim Setzen von „Alle“ sind /etc/issue und /etc/issue.net erlaubt.\n"
+"\n"
+"Beim Setzen von „Keine“ werden keine Probleme erlaubt.\n"
+"\n"
+"Andernfalls wird nur /etc/issue erlaubt."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+"Den Neustart des Rechners durch den Konsolen Benutzer erlauben/verbieten."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Erlaube/Verbiete Root Login von entferntem Rechner "
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Erlaube/Verbiete direkte Root Anmeldung"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Erlaube/Verbiete die Liste der Benutzer dieses Rechner im Displaymanager "
+"(kdm und gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Erlaube/Verbiete die Freigabe der Anzeige,\n"
+"wenn von root zu einem anderen Nutzer gewechselt wird.\n"
+"\n"
+"Siehe pam_xauth(8) für Details.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Erlaube/Verbiete X-Verbindungen: \n"
+"\n"
+"- ALLE (alle Verbindungen sind erlaubt),\n"
+"\n"
+"- LOKAL (mir Verbindungen vom lokalen Rechner),\n"
+"\n"
+"- KEINE (keine Verbindungen)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Dieses Argument gibt an, ob Clients authorisiert sind, den X-Server\n"
+"vom Netzwerk auf TCP-Port 6000 zu konnektieren oder nicht."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Authorisieren:\n"
+"\n"
+"- Alle Dienste, die durch TCP-Wrapper (siehe die hosts.deny(5) Manpage) "
+"kontrolliert werden falls „ALLE“ gesetzt wird,\n"
+"\n"
+"- nur lokale Dienste, wenn „LOKAL“ gesetzt wird,\n"
+"\n"
+"- keine Dienste, wenn „KEINE“ gesetzt wird.\n"
+"\n"
+"Um einen Dienst zu authorisieren, benutzen Sie bitte die Datei /etc/hosts."
+"allow (siehe die hosts.allow(5) Manpage). "
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Wenn SERVER_LEVEL (oder SECURE_LEVEL wenn nicht vorhanden)\n"
+"in /etc/security/msec/security.conf größer als 3 ist, wird der Symlink\n"
+"/etc/security/msec/server zu /etc/security/msec/server.<SERVER_LEVEL>\n"
+"erstellt.\n"
+"Die Datei /etc/security/msec/server wird von „chkconfig --add“ verwendet,\n"
+"um zu entscheiden, ob ein Dienst hinzugefügt wird, wenn er in der Datei\n"
+"während der Installation des Programmes vorhanden ist."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Aktiviere/Deaktiviere crontab und at für Benutzer.\n"
+"\n"
+"Speichert erlaubte Benutzer in /etc/cron.allow und /etc/at.allow (siehe man "
+"at(1)\n"
+"und crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "System-Protokoll-Berichte auf Konsole 12 aktivieren/deaktivieren"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Aktiviere/Deaktiviere den Schutz vor Namensauflösungs-Manipulation. Wenn\n"
+"„%s“ gewählt ist wird auch an das Systemprotokoll berichtet."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Sicherheitswarnungen:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Aktiviere/Deaktiviere IP Spoofing Schutz"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+"Aktiviere/Deaktiviere libsafe wenn libsafe auf dem System gefunden wird."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Aktiviere/Deaktiviere das Protokollieren merkwürdiger IPv4-Pakete."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Stündliche Sicherheitschecks aktivieren/deaktivieren."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Aktiviere su nur für Mitglieder der Gruppe „wheel“ oder erlaube su für jeden "
+"Benutzer."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Benutzer müssen sich mit einem Passwort authentifizieren."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktiviere/Deaktiviere die Vermischtheitsprüfung für Netzwerkkarten."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Tägliche Sicherheitschecks aktivieren/deaktivieren.."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Erlaube/Verbiete sulogin(8) im Single User Level"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Fügt den Namen als eine Ausnahme an die Behandlung für die Passwort-Alterung "
+"von msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Setze Passwort-Alterung auf „maximal“ Tage um die Alterung abzuschalten."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Setzt die Passwort-Historie-Dauer um der Wiederverwendung von Passwörtern "
+"vorzubeugen."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Setzt die minimale Passwort-Länge sowie minimale Anzahl von Ziffern und "
+"Großbuchstaben."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Setzen der Root Umask"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Auf „Ja“ gestellt, werden offene Ports kontrolliert."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Falls „Ja“, kontrolliere:\n"
+"\n"
+"- leere Passwörter,\n"
+"\n"
+"- fehlende Passwörter in „/etc/shadow“,\n"
+"\n"
+"- Kennzeichen außer „root“ mit ID 0."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Prüfe die Berechtigungen der Dateien in den Heimatverzeichnissen der "
+"Benutzer, wenn „Ja“ gesetzt ist."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"Wenn auf „Ja“ gezetzt, überprüfe ob die Netzwerk Geräte im gemischten Modus "
+"sind"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Wenn auf „Ja“ gesetzt, werden täglich Sicherheitschecks durchgeführt."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Prüfe Änderungen an den sgid-Dateien, wenn „Ja“ gesetzt ist."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Wenn auf „Ja“ gesetzt, prüfe auf leere Passwörter in /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"Wenn auf „Ja“ gesetzt, kontrolliere die Prüfsumme der suid/sgid Dateien"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"Wenn auf „Ja“ gesetzt, Suche von Veränderungen bei „suid root“ Dateien."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Wenn auf „Ja“ gesetzt, werden Dateien ohne Eigentümer gemeldet."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"Wenn auf Ja gesetzt, überprüfe Dateien/Verzeichnisse die für alle schreibbar "
+"sind."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Wenn auf „Ja“ gesetzt, starte chkrootkit Überprüfung"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Wenn ausgefüllt, wird E-Mail an diese Adresse geschickt, sonst an „root“."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "Falls markiert, Ergebnis per E-Mail zustellen."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Sende keine Emails, wenn vor nichts zu warnen ist."
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Prüfe die RPM-Datenbank, wenn „Ja“ gesetzt ist."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "Wenn auf „Ja“ gesetzt, werden Prüfergebnisse an syslog schicken"
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Wenn auf „Ja“ gesetzt, werden Prüfergebnisse nach tty gesendet."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Setzt die Größe des Kommandozeilenarchivs. Der Wert „-1“ steht für "
+"unbegrenzt."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Setzen des Shell-Timeouts. Der Wert Null bedeutet kein Timeout."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Auszeit-Dauer in Sekunden"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Setzen der Benutzerzugriffsmaske."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Akzeptiere gefälschte IPv4 Fehlermeldungen"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Broadcast-ICMP-Echo akzeptieren"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Akzeptiere ICMP Echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* existiert"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Neustart durch den Konsolen Benutzer"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Remote-Root-Login erlauben"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direkte Root Anmeldung"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Benutzer in den Display-Managern auflisten (kdm und gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Anzeige exportieren wenn von root zu anderen Benutzern gewechselt wird"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window Verbindungen erlauben"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Erlaube TCP Verbindungen zum X Windows System"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorisiere all Dienste, die von TCP-Wrappern kontolliert werden"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig folgt msec-Regeln"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Aktiviere „crontab“ und „at“ für Benutzer"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog berichtet auf Konsole 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Aktivier Schutz gegen Namenauflösung"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Aktiviere Schutz gegen IP Spoofing"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Libsafe aktivieren, falls auf dem System gefunden"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Aktiviere das Protokollieren von seltsamen IPv4 Packeten"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Aktiviere msec stündlichen Sicherheits Check"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Erlaube su nur für Mitglieder der Wheel-Gruppe"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Benutzer müssen sich mit Passwort authentifizieren."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Ethernet-Karten Offenheits Überprüfung"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Täglicher Sicherheitscheck"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) im Einzelplatznutzer Ebene"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Kein Passwort Ablaufdatum für"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Setze Passwort Ablauf und Nutzerkonto Abschalt Verzögerung"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Passwort Verlaufslänge"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minimale Passwortlänge und die Anzahl der Ziffern und Buchstaben"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Anzal gespeicherter Kommandozeilenaufrufe"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Zeitüberschreitung der Shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "User umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Prüfe offene Ports"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Prüfe auf ungesicherte Benutzerkonten"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+"Überprüfe Dateiberechtigungen in den persönlichen Verzeichnissen (/home)"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Überprüfe, ob sich die Netwerkgeräte in einem offenen Modus befinden"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Tägliche Sicherheitschecks durchführen"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Überprüfe das Hinzufügen/Entfernen von „sgid“ Dateien"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Prüfe auf leere Passwörter in /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Verifiziere die Prüfsumme der „suid/sgid“ Dateien"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Überprüfe das Hinzufügen/Entfernen von „suid“ Dateien"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Dateien ohne Eigentümer melden"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Überprüfe Dateien/Verzeichnisse die schreibbar für alle sind"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Starte chkrootkit Überprüfung"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Keine leeren E-Mail-Berichte senden"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Wenn ausgefüllt, wird E-Mail an diese Adresse geschickt, sonst an „root“."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Ergebnis per E-Mail bekanntgeben"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Überprüfe die rpm Datenbank"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Ergebnis in SysLog speichern"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Sendet Prüfbericht an tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Cracker-Spielplatz"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Schwach"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Hoch"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Höher"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Diese Ebene ist mit Vorsicht zu verwenden. Zwar macht sie Ihr System \n"
+"einfacher handhabbar, aber auch leichter angreifbar: In dieser Form darf \n"
+"der Rechner nicht als Netzwerkrechner (LAN oder Modem) verwendet werden, \n"
+"da Angreifer mangels Passwort an Ihre Daten gelangen können!"
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Passwortabfragen sind nun eingeschaltet, aber die Verwendung als \n"
+"Netzwerkrechner kann hier nicht empfohlen werden."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Das ist die Standard-Sicherheitsebene für Rechner, mit Internetzugang \n"
+"als Client."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Es gibt bereits mehr Restriktionen und jede Nacht werden automatische "
+"Sicherheitstests durchgeführt."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Mit dieser Sicherheitsebene wird es möglich, das System als einen \n"
+"Server zu verwenden.\n"
+"Die Sicherheit ist nun ausreichend hoch, um das System als Server \n"
+"einzusetzen, der einer Vielzahl von Clients einen Verbindungsaufbau \n"
+"erlaubt. Es sei hier angemerkt, dass Ihr Rechner, wenn Sie nur als \n"
+"Client ins Internet gehen, besser eine niedrigere Sicherheitsebene \n"
+"verwenden sollte."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Diese Ebene bietet die selbe Funktionalität, wie die vorherige. Jedoch ist \n"
+"das System nun komplett geschlossen. Es ist die höchste Sicherheitsebene."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sicherheit"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec-Grundeinstellungen"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Wählen Sie die gewünschte Sicherheitsebene"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Sicherheitsebene"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "„libsafe“ bei Servern verwenden"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "Eine Bibliothek, die gegen sog. „buffer overflow“-Angriffe schützt."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Sicherheitsadministrator (Benutzername oder E-Mail)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Startet das ALSA (Advanced Linux Sound Architecture) Sound-System"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+"Mit dem Dienst anacron können cron-Prozesse auch zu anderen als den \n"
+"vorgegebenen Zeiten gestartet werden. Dies ist vor Allem dann \n"
+"sinnvoll, wenn Ihr Rechner nicht rund um die Uhr läuft, da sonst \n"
+"Prozesse, die etwa zwischen Mitternacht und 6:00 Uhr gestartet \n"
+"werden sollten, nie ausgeführt würden."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Der APM-Dienst (apmd) wird von Laptops verwendet, um den Ladestatus \n"
+"der Batterie durch den Syslog-Dienst erfassen zu lassen. Mit seiner \n"
+"Hilfe kann man den Computer auch rechtzeitig herunterfahren lassen, \n"
+"bevor die Batterien leer sind."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Dieser Dienst startet Applikationen der at-Warteschlange wenn der \n"
+"dafür vorgesehene Zeitpunkt erreicht ist. Lässt die Systemauslastung \n"
+"es zu, werden sog. Batch-Anwendungen gestartet."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Der Befehl cron wird unter UNIX/Linux dazu verwendet, Benutzerprogramme \n"
+"zu vordefinierten regelmäßigen Zeiten abzuarbeiten. \n"
+"Der Dienst vixie cron erweitert dieses Konzept um weitere Funktionen, etwa \n"
+"ein verbessertes Sicherheitskonzept und einfachere Konfiguration."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM ist ein Datei-Monitor-Dienst. Er wird benutzt um anzuzeigen, \n"
+"wenn sich Dateien ändern.\n"
+"FAM wird von GNOME und KDE genutzt."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"Der GPM-Dienst stellt Ihnen eine Mausunterstützung in textbasierten Linux-\n"
+"Programmen, wie dem Midnight Commander, zur Verfügung. Es erlaubt\n"
+"auch mausbasierte Ausschneiden-und-Einfügen-Operationen auf der\n"
+"Konsole und unterstützt Pop-Up-Menüs auf der Konsole."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake führt Hardwaretests durch, und konfiguriert (falls nötig) \n"
+"neue/geänderte Hardware."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache ist ein World-Wide-Web-Server. Mit seiner Hilfe können Sie \n"
+"HTML-Dateien über HTTP publizieren. Der Server ist CGI-fähig."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Der Internet Superserver-Dienst (inetd) startet je nach Bedarf \n"
+"etliche andere Internet-Dienste, so etwa telnet, ftp, rsh oder \n"
+"rlogin. Dies jedoch nur, wenn die entsprechenden Dienste in der \n"
+"Datei „/etc/inetd.conf“ freigeschaltet sind. \n"
+"Schalten Sie diesen Dienst ab, können Sie auf keine der von inetd \n"
+"verwalteten Dienste mehr zugreifen."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Startet Paketfilterung für Linux 2.2-Kernel, um Ihren Rechner \n"
+"durch eine Firewall vor Angriffen aus dem Netz zu schützen."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Dieser Dienst lädt die Tastaturbelegung, die in der Datei \n"
+"„/etc/sysconfig/keyboard“ angegeben ist. Mittels „kbdconfig“ \n"
+"können Sie diese Einstellung ändern. Schalten Sie diesen Dienst ab, \n"
+"müssen Sie ab dem nächsten Systemstart mit der amerikanischen \n"
+"Tastatur vorlieb nehmen."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatische Neuerstellung der Kernel-Header in /boot für\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+"Automatische Erkennung und Konfiguration neuer Hardware während des \n"
+"Systemstarts."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf versucht beim Systemstart einige Verwaltungsaufgaben \n"
+"auszuführen."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Der Dienst lpd ist der Drucker-Server Ihres Rechners. Wenn Sie \n"
+"diesen Dienst abschalten werden Druckaufträge nicht mehr abgearbeitet.\n"
+"Hauptaufgabe von lpd ist es, Druckaufträge an den jeweiligen \n"
+"zuständigen Drucker (dieser kann auch einen anderen Rechner hängen) \n"
+"zu senden."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Der Linux Virtual Server kann verwendet werden, um ein \n"
+"hochperformanten Hochverfügbarkeitsserver aufzusetzen."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"Der Dienst named (BIND) stellt ihnen einen Server zur Verfügung, \n"
+"mit dessen Hilfe Rechnernamen in IP-Adressen umgesetzt werden. \n"
+"Ein solcher Dienst wird „Domain Name Server“ (DNS) genannt. \n"
+"Falls Sie nur einen Rechner besitzen, mit dem Sie per Modem/ISDN ins \n"
+"Netz gehen, benötigen Sie diesen Dienst nicht."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Dieser Dienst ist verantwortlich dafür, dass alle Netzwerk-Dateisysteme \n"
+"(NFS) beim Systemstart eingehängt werden, etwa SMB (Lan Manager/Windows) \n"
+"und NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Dieser Dienst aktiviert Netzwerkgeräte (etwa Netzwerkkarten), die \n"
+"so konfiguriert wurden, dass sie ab dem Systemstart zur Verfügung \n"
+"stehen sollen."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS ist ein geläufiges Protokoll in TCP/IP Netzwerken um Dateien \n"
+"durch verschiedene Rechner gemeinsam nutzen zu können\n"
+" (File sharing). \n"
+"Dieser Dienst stellt Ihnen einen solchen Server zur Verfügung. \n"
+"Konfiguriert wird er in der Datei „/etc/exports“."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS ist ein geläufiges Protokoll in TCP/IP-Netzwerken um Dateien \n"
+"durch verschiedene Rechner gemeinsam nutzen zu können. \n"
+"Der Dienst nfslock stellt Ihnen hierfür Sperr-Mechanismen zur \n"
+"Verfügung, damit eine Datei nicht durch mehrere Personen \n"
+"gleichzeitig verändert werden kann."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Schaltet beim Betriebssystemstart automatisch die „Num“-Taste für \n"
+"die virtuellen Konsolen und Xorg ein."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Unterstützung für den OKI 4w und kompatible WinDrucker."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA wird normalerweise in Laptops verwendet, um Ethernet-Karten \n"
+"oder Modems verwenden zu können. Dieser Dienst wird nur gestartet, \n"
+"wenn Sie ihn vorher konfiguriert haben. Daher schadet es nicht, \n"
+"wenn Sie ihn auf Rechnern aktivieren, auf denen er nutzlos ist."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Mittels portmapper werden RPC-Verbindungen verwaltet, die etwa von \n"
+"den Protokollen NFS und NIS verwendet werden. Auf Rechnern, die \n"
+"solche Server (RPC-basierte) beherbergen, muss dieser Dienst \n"
+"aktiviert sein."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix ist ein E-Mail-Transport-Dienst. Mit seiner Hilfe werden \n"
+"E-Mails zwischen verschiedenen Rechnern ausgetauscht."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Dieser Dienst speichert beim Herunterfahren des Rechners den Zustand \n"
+"des Zufallszahlengenerators, um ihn beim nächsten Systemstart \n"
+"wieder zu restaurieren. Die Qualität erzeugter Zufallszahlen \n"
+"wird dadurch verbessert."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Weist Roh-Geräten ein blockorientiertes Gerät (etwa eine\n"
+"Festplattenpartition) zu. Dies wird für Anwendungen wie\n"
+"etwa ORACLE-Datenbankem oder DVD-Playern benötigt"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Der Dienst routed ermöglicht ein automatisches Aktualisieren der \n"
+"IP-Routing-Tabellen mittels RIP-Protokoll. Zwar wird RIP in kleinen \n"
+"Netzwerken verwendet, jedoch wird für komplexere Netzwerke ein \n"
+"anderer Dienst benötigt."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Der Dienst rstat ermöglicht es Anwendern anderer Rechner des \n"
+"Netzwerks Preformance-Daten dieses Rechners zu erhalten."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Der Dienst rusers ermöglicht es Anwendern anderer Rechner \n"
+"herauszubekommen, welche Benutzer auf diesem Rechner \n"
+"gerade angemeldet sind."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Der Dienst rwho erlaubt es Benutzern entfernter Rechner eine Liste\n"
+"momentan angemeldeter Benutzer übermittelt zu bekommen \n"
+"(ähnlich wie finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Starten des Sound-Systems Ihres Rechners"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Mittels Syslog versuchen zahlreiche Dienste Verlaufsprotokolle \n"
+"in vorgesehene Dateien zu sichern. Es ist sinnvoll Syslog immer \n"
+"aktiviert zu haben."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Lädt die Treiber für Ihre USB-Geräte."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Dieser Dienst startet den X-Font-Server. Er ist notwendig, \n"
+"damit Xorg gestartet werden kann!"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Drucken"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Gemeinsamer Dateizugriff"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "System"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Fernwartung"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Datenbankserver"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Dienste"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Wählen Sie, welche Dienste\n"
+"automatisch beim Systemstart\n"
+"aktiviert werden sollen"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Dienste: %d aktiviert von %d registrierten"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "aktiv"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "gestoppt"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Dienste und Dämonen"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Es existieren leider keine\n"
+"weiteren Informationen zu\n"
+"diesem Dienst."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Starten wenn verlangt"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Beim Systemstart"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stopp"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Archivierungs- und Restaurierungs-Programm\n"
+"\n"
+"--default - Speichern der Standardverzeichnisse.\n"
+"--debug - Ausgabe aller Debug-Informationen.\n"
+"--show-conf - Liste der zu archivierenden Dateien/Verzeichnisse.\n"
+"--config-info - Erklärung der Konfigurationsdatei-Parameter (für nicht-X "
+"Anwender).\n"
+"--daemon - Verwende die Dienst-Konfiguration. \n"
+"--help - Ausgabe dieses Hilfetextes.\n"
+"--version - Ausgabe der Versionsnummer.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"Optionen:\n"
+" --boot - ermöglicht die Konfiguration des Bootloaders\n"
+" --splash - ermöglicht die Konfiguration des Boot-Designs\n"
+"Standard-Modus: Bietet die Konfiguration des AutoLogin-Features an"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONEN] [PROGRAMMNAME]\n"
+"\n"
+"OPTIONEN:\n"
+" --help - Asgabe dieses Hilfetextes.\n"
+" --report - Name eines Mandriva Linux-Werkzeuges.\n"
+" --incident - Name eines Mandriva Linux-Werkzeuges."
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"Netzwerkschnittstelle hinzufügen\"-Assistent\n"
+" --del - \"Netzwerkschnittstelle entfernen\"-Assistent\n"
+" --skip-wizard - Verwaltet Verbindungen\n"
+" --internet - Internetzugang einrichten\n"
+" --wizard - wie --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Schriftarten-Import und Programmüberwachung\n"
+"\n"
+"OPTIONEN:\n"
+"--windows_import : import von allen verfügbaren Windowspartitionen.\n"
+"--xls_fonts : zeige alle Schriftarten, die schon von xls existieren\n"
+"--install : akzeptiere alle Schriftartendateien und alle "
+"Verzeichnisse.\n"
+"--uninstall : deinstalliere alle Schriftartendateien und alle "
+"Verzeichnisse.\n"
+"--replace : ersetze alle Schriftarten, wenn sie schon existieren\n"
+"--application : 0 keine Anwendung.\n"
+" : 1 alle verfügbaren Anwendungen unterstützt.\n"
+" : name_der_anwendung, wie so für Staroffice \n"
+" : und gs für ghostscript für nur dieses."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONEN]...\n"
+"Mandriva Terminal-Server-Konfigurator\n"
+"--enable : MTS einschalten\n"
+"--disable : MTS ausschalten\n"
+"--start : MTS starten\n"
+"--stop : MTS anhalten\n"
+"--adduser : einen existierenden Systemnutzer zu MTS hinzufügen "
+"(benötigt Nutzernamen)\n"
+"--deluser : einen existierenden Systemnutzer von MTS löschen "
+"(benötigt Nutzernamen)\n"
+"--addclient : einen Client zu MTS hinzufügen (benötigt MAC Adresse, IP, "
+"Name des NBI-Abbildes)\n"
+"--delclient : einen Client von MTS löschen (benötigt MAC Adresse, IP, "
+"Name des NBI-Abbildes)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[Tastatur]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=datei] [--word=word] [--explain=ausdruck] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Anwendung zur Verbindung und Überwachung von Netzwerk und Internet\n"
+"\n"
+"--defaultintf interface : zeige diese Schnittstelle als Voreinstellung\n"
+"--connect : verbinde mit dem Internet wenn nicht schon verbunden\n"
+"--disconnect : trenne vom Internet wenn verbunden\n"
+"--force : bei (dis)connect : erzwinge Verbinden/Trennen.\n"
+"--status : gibt 1 zurück wenn verbunden sonst 0, beendet sich danach.\n"
+"--quiet : nicht interaktiv. benutzt mit (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation keine Fragen im Mandriva Update-Modus stellen\n"
+" --no-verify-rpm Paketsignaturen nicht überprüfen\n"
+" --changelog-first Änderungsprotokoll vor Dateiliste anzeigen\n"
+" --merge-all-rpmnew Zusammenlegen aller .rpmnew/.rpmsave-Dateien "
+"vorschlagen"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Verwendung: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Alle Server"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asien"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europe"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Nordamerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Ozeanien"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Südamerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Russland"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslawien"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Ist dies richtig?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Keine Datei ausgewählt"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Sie haben eine Datei ausgewählt, kein Verzeichnis"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Sie haben ein Verzeichnis ausgewählt, keine Datei"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Das Verzeichnis existiert nicht"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Die Datei existiert nicht"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Baum erweitern"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Baum verkleinern"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Umschalten zwischen unsortiert und gruppiert"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s ist nicht installiert\n"
+"Wählen Sie „Weiter“ für die Installation, oder „Abbrechen“ zum Beenden."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Die Installation schlug fehl!"
diff --git a/perl-install/share/po/el.po b/perl-install/share/po/el.po
new file mode 100644
index 000000000..6cf573035
--- /dev/null
+++ b/perl-install/share/po/el.po
@@ -0,0 +1,6681 @@
+# translation of DrakX-el.po to Greek
+# Greek translation for drakfloppy.
+# Copyright (C) 2001,2003 Free Software Foundation, Inc.
+# Thanos Kyritsis <djart@hellug.gr>, 2001.
+# Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-el\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-09-15 13:28+0200\n"
+"Last-Translator: Νίκος Νύκταρης (Nick Niktaris) <niktarin@yahoo.com>\n"
+"Language-Team: Greek <nls@tux.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Παρακαλώ περιμένετε"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Πρόγραμμα εκκίνησης"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Η εγκατάσταση του προγράμματος εκκίνησης απέτυχε. Προκλήθηκε το ακόλουθο "
+"σφάλμα:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Μπορεί να χρειαστεί να αλλάξετε την Open Firmware boot-συσκευή ώστε να\n"
+" ενεργοποιήσετε το πρόγραμμα εκκίνησης. Αν στην επανεκκίνηση δεν δείτε την "
+"προτροπή του πρόγραμμα εκκίνησης,\n"
+"πατήστε το Command-Option-O-F κατά την επανεκκίνηση και εισάγετε:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Μετά γράψτε: shut-down\n"
+"Στην επόμενη εκκίνηση θα πρέπει να δείτε την προτροπή του προγράμματος "
+"εκκίνησης ."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Επιλέξατε να εγκαταστήσετε το πρόγραμμα εκκίνησης σε μια κατάτμηση.\n"
+"Εννοείτε ότι έχετε ήδη εγκατάσταση ένα άλλο πρόγραμμα εκκίνησης στον σκληρό "
+"σας δίσκο (π.χ. System Commander).\n"
+"\n"
+"Από ποιόν δίσκο ξεκινάτε;"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Πρώτος τομέας του δίσκου (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Πρώτος τομέας της κατάτμησης εκκίνησης"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Στην Δισκέτα"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Παράλειψη"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Εγκατάσταση LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Πού θέλετε να εγκαταστήσετε το πρόγραμμα εκκίνησης;"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Ρύθμιση Τύπου Εκκίνησης"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Βασικές επιλογές προγράμματος εκκίνησης"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Προγράμματος εκκίνησης"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Χρήση προγράμματος εκκίνησης"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Συσκευή εκκίνησης"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Καθυστέρηση πριν την εκκίνηση"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Ενεργοποίηση ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Ενεργοποίηση ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Ενεργοποίηση ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Κωδικός Πρόσβασης"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Οι κωδικοί πρόσβασης είναι ανόμοιοι"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Παρακαλώ προσπαθήστε ξανά"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"Δεν μπορείτε να χρησιμοποιήσετε κρυπτογραφημένο σύστημα αρχείων για "
+"προσάρτηση %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Κωδικός Πρόσβασης (ξανά)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Απαγόρευση επιλογών γραμμής εντολής"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "απαγόρευση"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Η επιλογή ``Απαγόρευση επιλογών γραμμής εντολής'' είναι άχρηστη χωρίς κωδικό "
+"πρόσβασης"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Καθαρισμός /tmp σε κάθε εκκίνηση"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ακριβής ποσότητας μνήμης αν χρειάζεται (εντοπίστηκαν %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Εισάγετε μέγεθος μνήμης σε MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Μήνυμα Init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Άνοιγμα Καθυστέρησης Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Τέλος Χρόνου Εκκίνησης Πυρήνα"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Ενεργοποίηση εκκίνησης από CD;"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Ενεργοποίηση OF εκκίνησης;"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Εξ ορισμού λειτουργικό;"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Εικόνα"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Προσάρτηση"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Ανάλυση οθόνης"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Νέο Προφίλ..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Ετικέτα"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Προεπιλεγμένο"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "ΧωρίςVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Δεν επιτρέπεται άδεια ετικέτα"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Πρέπει να ορίσετε μια εικόνα πυρήνα"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Πρέπει να ορίσετε μια κατάτμηση root"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Αυτή η ετικέτα χρησιμοποιείται ήδη"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Τι τύπου επιλογή θέλετε να προσθέσετε;"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Άλλο λειτουργικό (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Άλλο λειτουργικό (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Άλλο λειτουργικό (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Υπάρχουν οι ακόλουθες επιλογές.\n"
+"Μπορείτε να προσθέσετε κι άλλες ή να αλλάξετε τις υπάρχουσες."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "πρόσβαση σε προγράμματα Χ"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "πρόσβαση σε εργαλεία rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "δυνατότητα \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "πρόσβαση σε διαχειριστικά αρχεία"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "πρόσβαση σε εργαλεία δικτύου"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(το %s έχει ήδη προστεθεί)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Παρακαλώ εισάγετε όνομα χρήστη"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Το κωδικό όνομα μπορεί να περιέχει μόνο πεζά γράμματα, αριθμούς, `-' και `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Αυτό το όνομα χρήστη είναι πολύ μακρύ"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Αυτό το όνομα χρήστη υπάρχει ήδη"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID Χρήστη"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID Ομάδας"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Η επιλογή %s πρέπει να είναι αριθμός!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Προσθήκη χρήστη"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Εισάγετε χρήστη\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Ολοκληρώθηκε"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Αποδοχή χρήστη"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Πραγματικό όνομα"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Όνομα Τομέα"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Φλοιός (shell)"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Αυτόματη σύνδεση"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Μπορώ να ρυθμίσω το σύστημά σας έτσι ώστε να συνδέει αυτόματα έναν χρήστη."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Θέλετε να χρησιμοποιήσετε αυτή τη λειτουργία;"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Επιλέξτε τον προεπιλεγμένο χρήστη:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Επιλέξτε τον διαχειριστή παραθύρων που θέλετε να χρησιμοποιήσετε:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Άδεια χρήσης"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Έξοδος"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Έκδοση:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Αποδοχή"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Άρνηση"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Παρακαλώ επιλέξτε τη γλώσσα."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "χειροκίνητα"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Το Mandriva Linux υποστηρίζει πολλαπλές γλώσσες.Επιλέξτε \n"
+"τις άλλες γλώσσες που θα είναι διαθέσιμες μετά το πέρας της \n"
+"εγκατάστασης και την επανεκκίνηση του συστήματός σας."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Όλες οι γλώσσες"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Χώρα"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Παρακαλώ επιλέξτε την χώρα σας."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Αυτή είναι η πλήρης λίστα των διαθέσιμων χωρών"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Άλλες θύρες"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Για Προχωρημένους"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Μέθοδος δικτύου:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Κανένας"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Χωρίς κοινή χρήση"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Επιτρέπεται για όλους τους χρήστες"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Προσαρμοσμένο"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Θέλετε να επιτρέψετε στους χρήστες να έχουν κοινόχρηστους καταλόγους;\n"
+"Αν ναι τότε οι χρήστες θα μπορούν απλά να κάνουν κλικ στο \"Κοινόχρηστο\" "
+"στον konqueror και το nautilus.\n"
+"\n"
+"Το \"Προσαρμοσμένο\" επιτρέπει την ανά χρήστη ρύθμιση.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Μπορείτε να γίνει εξαγωγή με την χρήση NFS ή SMB. Παρακαλώ επιλέξτε ποίο "
+"θέλετε."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Εκκίνηση userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Κλείσιμο"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Το κοινόχρηστο ανά χρήστη κάνει χρήση της ομάδας \"fileshare\". \n"
+"Μπορείτε να την προσθέσετε στον κάθε χρήστη σε αυτή την ομάδα με το "
+"userdrake."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Παρακαλώ αποσυνδεθείτε και μετά πατήστε Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Ωρολογιακή Ζώνη"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Ποια είναι η ζώνη ώρας;"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Το ρολόι του υπολογιστή σας είναι ρυθμισμένο σε GMT (ώρα Γκρίνουιτς)"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Το ρολόι του υπολογιστή σας είναι ρυθμισμένο σε GMT (ώρα Γκρίνουιτς)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Εξυπηρετητής NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Αυτόματος συγχρονισμός ώρας (χρήση NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Τοπικό αρχείο"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Κάρτα Ethernet"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Τομέας Windows "
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Επαναφορά όλων των αντιγράφων ασφαλείας"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Επαναφορά όλων των αντιγράφων ασφαλείας"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Τοπικά αρχεία:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Τομέας Windows :"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Επαναφορά όλων των αντιγράφων ασφαλείας"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Επαναφορά όλων των αντιγράφων ασφαλείας"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Πιστοποίηση LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Εξυπηρετητής LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "απλό"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Πιστοποίηση"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Τομέας"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Εξυπηρετητής"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Βάση Δεδομένων"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Απαιτείται κωδικός πρόσβασης"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Πιστοποίηση NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Τομέας NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Εξυπηρετητής NIS"
+
+#: authentication.pm:147
+#, fuzzy, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Τομέας Windows εξυπηρετητής\n"
+" Τομέας Τομέας Windows \n"
+"\n"
+" Τομέας Windows Τομέας Όνομα χρήστη Κωδικός Πρόσβασης\n"
+"."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Πιστοποίηση Τομέα Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Όνομα Χρήστη Διαχειριστή Τομέα"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Κωδικός Πρόσβασης Διαχειριστή Τομέα"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Πιστοποίηση"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Κωδικός πρόσβασης root"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Πιστοποίηση"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Χωρίς κωδικό πρόσβασης"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Αυτός ο κωδικός πρόσβασης είναι πολύ απλός (πρέπει να έχει τουλάχιστον %d "
+"χαρακτήρες)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Δεν μπορώ να χρησιμοποιήσω broadcast χωρίς τομέα NIS"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, fuzzy, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"KALOS HRTHATE STON EPILOGEA LEITOURGIKOU SYSTHMATOS %s!\n"
+"\n"
+"EPILEXTE LEITORGIKO SYSTHMA APO TON PARAPANO KATALOGO \n"
+"H PERIMENETE %d DEUTEROLEPTA GIA THN AYTOMATH EPILOGH.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO με μενού κειμένου"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "δεν υπάρχει αρκετός χώρος στο /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Δεν μπορείτε να εγκαταστήσετε το πρόγραμμα εκκίνησης σε κατάτμηση %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Πρόγραμμα εκκίνησης"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d λεπτά"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 λεπτό"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d δευτερόλεπτα"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, fuzzy, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"εξυπηρετητής\n"
+" εξυπηρετητής\n"
+" εξυπηρετητής\n"
+" Νέο."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Νέο"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Αποσύνδεση"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Σύνδεση"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Σημείο σύνδεσης"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Επιλογές"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Σφάλμα"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Παρακαλώ εισάγετε την διεύθυνση του εξυπηρετητή WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Η διεύθυνση πρέπει να ξεκινά με http:// ή https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Εξυπηρετητής:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Σημείο σύνδεσης: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Επιλογές: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Καταμερισμός"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Διαβάστε προσεκτικά!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Παρακαλώ κάντε πρώτα ένα αντίγραφο ασφαλείας των δεδομένων σας"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Έξοδος"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Συνέχεια"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Εάν σκοπεύετε να χρησιμοποιήσετε το aboot, προσέξτε να αφήσετε ελεύθερο χώρο "
+"(2048 τομείς είναι αρκετοί)\n"
+"στην αρχή του δίσκου"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Βοήθεια"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Επιλέξτε πράξη"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Έχετε μια μεγάλη κατάτμηση των Microsoft Windows \n"
+"Προτείνω πρώτα να αλλάξετε το μέγεθός της\n"
+"(Κάντε κλικ επάνω της και επιλέξτε \"Αλλαγή Μεγέθους\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Παρακαλώ κάντε κλικ σε μια κατάτμηση"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Λεπτομέρειες"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Δεν βρέθηκαν δίσκοι!"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Άγνωστο"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows "
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Άλλο"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Άδειο"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Τύποι συστήματος αρχείων:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Προσοχή"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Αυτή η κατάτμηση δεν μπορεί ν' αλλάξει μέγεθος."
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Κάντε πρώτα ``Αποσύνδεση''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Χρησιμοποιήστε ``%s'' στη θέση του"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Τύπος"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Επιλέξτε άλλη κατάτμηση"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Επιλέξτε κατάτμηση"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Αναίρεση"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Αλλαγή σε κανονικό τρόπο λειτουργίας"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Αλλαγή σε προχωρημένο τρόπο λειτουργίας"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Ρύθμιση"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Να συνεχίσω;"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Έξοδος χωρίς αποθήκευση"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Έξοδος χωρίς αποθήκευση του πίνακα κατατμήσεων;"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Θέλετε να αποθηκεύσετε τις αλλαγές του /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Απαιτείται επανεκκίνηση για να ενεργοποιηθούν οι αλλαγές στον πίνακα "
+"κατατμήσεων"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Καθαρισμός όλων"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Αυτόματη κατανομή"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Άλλα"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Πληροφορίες σκληρού δίσκου"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Όλες οι πρωτεύουσες κατατμήσεις είναι σε χρήση"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Δεν μπορώ να προσθέσω κατατμήσεις"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Για να προσθέσετε κατατμήσεις, παρακαλώ διαγράψτε μία έτσι ώστε να είναι "
+"δυνατή η προσθήκη εκτεταμένης κατάτμησης"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Αποθήκευση πίνακα κατατμήσεων"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Επαναφορά πίνακα κατατμήσεων"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Πίνακας κατατμήσεων διάσωσης"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Ανανέωση πίνακα κατατμήσεων"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Αυτόματη σύνδεση αποσπώμενων μονάδων"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Επιλέξτε αρχείο"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Ο εφεδρικός πίνακας κατατμήσεων έχει διαφορετικό μέγεθος\n"
+"Να συνεχίσω;"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Προσπάθεια διάσωσης πίνακα κατατμήσεων"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Λεπτομερείς πληροφορίες"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Αλλαγή μεγέθους"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Μορφοποίηση"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Προσθήκη στο RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Προσθήκη στο LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Διαγραφή"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Αφαίρεση από το RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Αφαίρεση από το LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Τροποποίηση RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Χρήση για loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Δημιουργία"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Δημιουργία νέας κατάτμησης"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Αρχικός τομέας: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Μέγεθος σε MB"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Τύπος συστήματος αρχείων: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Προτίμηση: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Τοπική μέτρηση"
+
+#: diskdrake/interactive.pm:547
+#, fuzzy, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"νέο\n"
+" πρωτεύουσα\n"
+" πρωτεύουσα."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Να αφαιρεθεί το αρχείο loopback;"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Μετά την αλλαγή τύπου στην κατάτμηση %s, όλα τα δεδομένα σε αυτήν την "
+"κατάτμηση θα χαθούν"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Αλλαγή τύπου κατάτμησης"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Ποιο σύστημα αρχείων προτιμάτε;"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Αλλαγή από ext2 σε ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Ετικέτα"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Πού θέλετε να συνδέσετε το αρχείο loopback %s;"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Πού θέλετε να συνδέσετε την συσκευή %s;"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Δεν μπορώ να αφαιρέσω το σημείο σύνδεσης καθώς αυτή η κατάτμηση "
+"χρησιμοποιείται\n"
+"για loopback. Αφαιρέστε πρώτα το loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Πού θέλετε να συνδέσετε το %s;"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Αλλαγή μεγέθους"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Υπολογισμός FAT filesystem bounds"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Αυτή η κατάτμηση δεν μπορεί ν' αλλάξει μέγεθος."
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"Πρέπει να γίνει αντίγραφο ασφαλείας όλων των δεδομένων σε αυτή την κατάτμηση"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Μετά την αλλαγή μεγέθους στην κατάτμηση %s, όλα τα δεδομένα σε αυτήν την "
+"κατάτμηση θα χαθούν"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Επιλέξτε το νέο μέγεθος"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Νέο μέγεθος σε MB:"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Επιλέξτε ένα υπάρχον RAID στο οποίο θα γίνει η προσθήκη"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "νέο"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Επιλέξτε ένα υπάρχον LVM στο οποίο θα γίνει η προσθήκη"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "όνομα LVM;"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Αυτή η κατάτμηση δεν μπορεί να χρησιμοποιηθεί για loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Όνομα αρχείου loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Δώστε ένα όνομα αρχείου"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Το αρχείο χρησιμοποιείται ήδη από άλλο loopback, επιλέξτε ένα άλλο"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Το αρχείο υπάρχει ήδη. Να το χρησιμοποιήσω;"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Επιλογές σύνδεσης"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Διάφορα"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "συσκευή"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "επίπεδο"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "μέγεθος chunk"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Προσοχή: Αυτή η διαδικασία είναι επικίνδυνη."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Τι τύπος κατάτμησης;"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Απαιτείται επανεκκίνηση για να εφαρμοστούν οι αλλαγές"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Ο πίνακας κατατμήσεων του δίσκου %s θα αποθηκευτεί στον δίσκο!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Μετά την μορφοποίηση της κατάτμησης %s, όλα τα δεδομένα σε αυτήν την "
+"κατάτμηση θα χαθούν"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Έλεγχος για χαλασμένα τμήματα;"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Μετακίνηση αρχείων στην νέα κατάτμηση"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Απόκρυψη αρχείων"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Μετακίνηση αρχείων στην νέα κατάτμηση"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Αντιγραφή %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Αφαίρεση %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "Η κατάτμηση %s είναι τώρα γνωστή ως %s "
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Συσκευή: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Πιθανό DOS γράμμα δίσκου: %s \n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Τύπος: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Όνομα: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Αρχή: τομέας %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Μέγεθος: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s τομείς"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Κύλινδρος από %d έως %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Μορφοποιημένος\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Αμορφοποίητος\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Συνδεδεμένος\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Αρχείο (α) loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Κατάτμηση εκκίνησης εξ ορισμού\n"
+" (από MS-DOS, όχι από lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Επίπεδο %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Μέγεθος chunk %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Δίσκοι RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Όνομα αρχείου loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"\n"
+" Οδηγός\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Αυτή είναι ειδική Bootstrap\n"
+"κατάτμηση για\n"
+"dual-booting το σύστημά σας.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Μόνο για ανάγνωση"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Μέγεθος: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Γεωμετρία: %s κύλινδροι, %s κεφαλές, %s τομείς\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Πληροφορίες: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Δίσκοι LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Τύπος πίνακα κατατμήσεων: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "στο κανάλι %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Κλειδί κρυπτογράφησης συστήματος αρχείων"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Επιλέξτε το κλειδί κρυπτογράφησης του συστήματος αρχείων"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Αυτός ο κωδικός πρόσβασης είναι πολύ απλός (πρέπει να έχει τουλάχιστον %d "
+"χαρακτήρες)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Τα κλειδιά κρυπτογράφησης είναι ανόμοια"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Κλειδί κρυπτογράφησης"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Κλειδί κρυπτογράφησης (ξανά)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Πιστοποίηση"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Αλλαγή τύπου"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Άκυρο"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Αδυναμία προσπέλασης με το όνομα χρήστη %s (λάθος κωδικός)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Απαιτείται Πιστοποίηση Τομέα"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Ποίο όνομα χρήστη"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Και άλλο"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Παρακαλώ εισάγετε το όνομα χρήστη τον κωδικό πρόσβασης και το όνομα τομέα "
+"για τη σύνδεση στον host."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Όνομα χρήστη"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Αναζήτηση διακομιστών"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Αναζήτηση διακομιστών"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Το πακέτο %s πρέπει να αναβαθμιστεί. Θέλετε να το εγκαταστήσετε;"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Εγκατάσταση πακέτου %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Ένα απαραίτητο αρχείο (το %s ) δεν υπάρχει"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Τα παρακάτω πακέτα πρέπει να εγκατασταθούν:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Εγκατάσταση πακέτων..."
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Αφαιρείται ο %s..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Προκλήθηκε σφάλμα - δεν βρέθηκαν συσκευές στις οποίες να είναι δυνατή η "
+"δημιουργία νέων συστημάτων αρχείων. Παρακαλώ ελέγξτε το υλικό σας για την "
+"αιτία αυτού του προβλήματος"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Πρέπει να έχετε μια κατάτμηση FAT mounted στο /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Μορφοποίηση κατάτμησης %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Δημιουργία και μορφοποίηση αρχείου %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "δεν ξέρω πώς να μορφοποιήσω το %s σε τύπο %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s μορφοποίηση του %s απέτυχε"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Κυκλικές συνδέσεις %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Προσάρτηση κατάτμησης %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "η σύνδεση της κατάτμησης %s στον κατάλογο %s απέτυχε"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Έλεγχος %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "σφάλμα κατά την αποσύνδεση του %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Ενεργοποίηση κατάτμησης swap %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"Δεν μπορείτε να χρησιμοποιήσετε κρυπτογραφημένο σύστημα αρχείων για "
+"προσάρτηση %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Διπλό σημείο σύνδεσης %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "δεν υπάρχουν διαθέσιμες κατατμήσεις"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Ανάλυση κατατμήσεων για προσδιορισμό σημείων σύνδεσης."
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Επιλέξτε σημεία σύνδεσης"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Επιλέξτε κατατμήσεις προς μορφοποίηση"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Απέτυχε ο έλεγχος του συστήματος αρχείων %s. Θέλετε να επισκευάσετε τα "
+"σφάλματα; (προσοχή, μπορεί να χάσετε δεδομένα)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Δεν υπάρχει αρκετός χώρος swap για την ολοκλήρωση της εγκατάστασης, παρακαλώ "
+"προσθέστε"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Πρέπει να έχετε μια βασική κατάτμηση.\n"
+"Δημιουργήστε ή επιλέξτε μια κατάτμηση.\n"
+"Μετά ορίστε ως σημείο σύνδεσης το `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Δεν έχετε ορίσει κατάτμηση swap\n"
+"\n"
+"Να συνεχίσω;"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Χρήση ελεύθερου χώρου"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Δεν υπάρχει αρκετός ελεύθερος χώρος για δημιουργία νέων κατατμήσεων"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Χρήση υπαρχουσών κατατμήσεων"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Δεν υπάρχουν κατατμήσεις προς χρήση"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Χρήση κατάτμησης Microsoft Windows® για loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Ποια κατάτμηση θέλετε να χρησιμοποιήσετε για το Linux4Win;"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Επιλέξτε τα μεγέθη"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Μέγεθος βασικής κατάτμησης συστήματος σε MB:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Μέγεθος κατάτμησης swap σε MB"
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Δεν υπάρχει κατάτμηση FAT για χρήση ως loopback (ή δεν υπάρχει αρκετός χώρος)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Χρήση του ελεύθερου χώρου στην κατάτμηση των Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Σε τι τύπο κατάτμησης θέλετε να αλλάξετε μέγεθος;"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Δεν μπορώ να αλλάξω μέγεθος στην κατάτμηση FAT, \n"
+"προκλήθηκε το παρακάτω λάθος: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Υπολογίζεται το μέγεθος της κατάτμησης των Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Η κατάτμηση των Microsoft Windows® είναι πολύ κατακερματισμένη, παρακαλώ "
+"τρέξτε πρώτα το ``defrag'' μέσα από τα Microsoft Windows® και ξεκινήστε ξανά "
+"την εγκατάσταση του Mandriva Linux "
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ΠΡΟΣΟΧΗ!\n"
+"\n"
+"\n"
+"Το DrakX πρέπει τώρα να αλλάξει το μέγεθος της κατάτμησης των Windows.\n"
+"\n"
+"\n"
+"Η διαδικασία αυτή εμπεριέχει κινδύνους. Εάν δεν το έχετε κάνει ήδη, βγείτε "
+"από την εγκατάσταση ελέγξετε την κατάτμηση με το scandisk μέσα από τα "
+"Windows και κατά περίπτωση την αποκατακερμάτιση (defragment). Μετά "
+"ξεκινήστε ξανά την εγκατάσταση. Μετά θα πρέπει να κρατήσετε αντίγραφο "
+"ασφαλείας των δεδομένων σας.\n"
+"\n"
+"\n"
+"Εάν είστε σίγουροι, πατήστε %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Επόμενο"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Τι χώρο θέλετε να κρατήσετε για τα windows στο κατάτμηση %s;"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Μέγεθος"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Γίνεται αλλαγή τις κατάτμησης των Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Αλλαγή μεγέθους FAT απέτυχε: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Δεν υπάρχει κατάμτηση FAT για αλλαγή μεγέθους (ή δεν υπάρχει αρκετός χώρος)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Αφαίρεση Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Διαγραφή ολόκληρου του δίσκου"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Έχετε περισσότερους από έναν δίσκους, σε ποιόν θέλετε να εγκαταστήσετε το "
+"Linux;"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Όλες οι υπάρχουσες κατατμήσεις και τα δεδομένα τους στον δίσκο %s θα χαθούν"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Προσαρμοσμένες κατατμήσεις δίσκου"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Χρήση fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Μπορείτε τώρα να κατατμήσετε τον δίσκο %s\n"
+"Όταν τελειώσετε, μην ξεχάσετε να αποθηκεύσετε πατώντας `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Δεν μπορώ να βρω αρκετό χώρο για εγκατάσταση"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Ο Οδηγός Κατάτμησης DrakX βρήκε τις παρακάτω λύσεις:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Η κατάτμηση απέτυχε: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+"Δεν μπορείτε να χρησιμοποιήσετε το JFS για κατατμήσεις μικρότερες από 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+"Δεν μπορείτε να χρησιμοποιήσετε το ReiserFS για κατατμήσεις μικρότερες από "
+"32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "με /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "εξυπηρετητής"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Δεν μπορώ να διαβάσω τον πίνακα κατατμήσεων της συσκευής %s,, είναι πολύ\n"
+"κατεστραμμένος :( Θα προσπαθήσω να συνεχίσω αφαιρώντας τις λανθασμένες \n"
+"κατατμήσεις (ΟΛΑ ΤΑ ΔΕΔΟΜΕΝΑ θα χαθούν!). Η άλλη επιλογή σας είναι να\n"
+"μην επιτρέψετε στο DrakX να αγγίξει τον πίνακα κατατμήσεων. \n"
+"Το σφάλμα είναι: %s\n"
+"\n"
+"Συμφωνείτε να διαγραφούν όλες οι κατατμήσεις;\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Το σημείο σύνδεσης πρέπει να ξεκινάει με /"
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+"Το όνομα του εκτυπωτή πρέπει να περιέχει μόνο γράμματα, αριθμούς και τον "
+"χαρακτήρα underscore"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Υπάρχει ήδη κατάτμηση με σημείο σύνδεσης %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"\n"
+" Όχι\n"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Δεν μπορείτε να χρησιμοποιήσετε μια κατάτμηση LVM για προσάρτηση %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"\n"
+" Όχι\n"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+"Αυτός ο κατάλογος πρέπει να παραμείνει στο ριζικό σύστημα αρχείων (root)"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Χρειάζεστε ένα πραγματικό σύστημα αρχείων (ext2/ext3, reiserfs, xfs, or jfs) "
+"για αυτό το σημείο σύνδεσης\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Δεν μπορείτε να χρησιμοποιήσετε κρυπτογραφημένο σύστημα αρχείων για "
+"προσάρτηση %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+"Δεν υπάρχει αρκετός ελεύθερος χώρος για την αυτόματη δημιουργία νέων "
+"κατατμήσεων"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Καμία ενέργεια προς εκτέλεση"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Δισκέτα"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Δίσκος"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Συσκευές εγγραφής CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Ταινία"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Ελεγκτές AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Κάρτα οθόνης"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Κάρτα TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Άλλα συσκευές Πολυμέσων"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Κάρτα ήχου"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Επεξεργαστές"
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Εσωτερική κάρτα ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Κάρτα Δικτύου Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Μόντεμ"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Μνήμη"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Εκτυπωτής"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Ελεγκτές SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Ελεγκτές RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "ελεγκτές (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Μοντέλο κάρτας:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Ελεγκτές Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "ελεγκτές PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "ελεγκτές SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Ελεγκτές USB"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr ", εκτυπωτής USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Ελεγκτές SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Πληκτρολόγιο"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Ποντίκι"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Σαρωτής"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Άγνωστο/Άλλο"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "επεξεργαστής # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Παρακαλώ περιμένετε... Εφαρμογή ρυθμίσεων"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Κανένας εναλλακτικός οδηγός"
+
+#: harddrake/sound.pm:233
+#, fuzzy, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Δεν υπάρχει γνωστός εναλλακτικός οδηγός OSS/ALSA για την κάρτα ήχου σας (%s)"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Ρύθμιση ήχου"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Εδώ μπορείτε να επιλέξετε έναν εναλλακτικό οδηγό (OSS ή ALSA) για την κάρτα "
+"ήχου σας (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+" εξ' ορισμού"
+
+#: harddrake/sound.pm:248
+#, fuzzy, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"Σύστημα\n"
+" Τι\n"
+"\n"
+" Για Προχωρημένους Linux\n"
+" PCI\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" νέο"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Οδηγός:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Επίλυση προβλημάτων"
+
+#: harddrake/sound.pm:279
+#, fuzzy, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+" νέο."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Κανένας οδηγός ανοιχτού κώδικα"
+
+#: harddrake/sound.pm:288
+#, fuzzy, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Δεν υπάρχει γνωστός εναλλακτικός οδηγός OSS/ALSA για την κάρτα ήχου σας (%s)"
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Κανένας γνωστός οδηγός"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Δεν υπάρχει κάποιος γνωστός οδηγός για την κάρτα ήχου σας (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Άγνωστος οδηγός"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Σφάλμα: Ο οδηγός \"%s\" της κάρτας ήχου σας δεν υπάρχει στη λίστα"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Επίλυση προβλημάτων Ήχου"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, fuzzy, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" ενεργοποίηση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Θα διαλέξω εγώ οδηγό"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Αυτόματη ανίχνευση"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Άγνωστο|Γενικό"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Άγνωστο|CPH05X (bt878) [πολλοί κατασκευαστές]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Άγνωστο|CPH06X (bt878) [πολλοί κατασκευαστές]"
+
+#: harddrake/v4l.pm:474
+#, fuzzy, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Linux\n"
+" μετά βίας."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Μοντέλο κάρτας:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr ""
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Εντάξει"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ναι"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Όχι"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Επιλέξτε ένα αρχείο"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Προσθήκη"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Τροποποίηση"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Αφαίρεσης"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Τέλος"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Προηγούμενο"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Κακή επιλογή, ξαναδοκιμάστε\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Η επιλογή σας; (εξ ορισμού %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Πεδία που θα πρέπει να συμπληρώσετε:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Η επιλογή σας; (0/1, εξ ορισμού %s)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Πλήκτρο `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Θέλετε να κάνετε κλικ σε αυτό το κουμπί;"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Η επιλογή σας; (εξ ορισμού `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "εισάγετε την λέξη `void' για κενή εισαγωγή"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Υπάρχουν πολλά πράγματα από τα οποία μπορείτε να επιλέξετε (%s).\n"
+
+#: interactive/stdio.pm:125
+#, fuzzy, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"επεξεργασία\n"
+"\n"
+" "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Σημ.:μια ετικέτα άλλαξε:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Εισάγετε ξανά"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Ανδόρα"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Ηνωμένα Αραβικά Εμιράτα"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Αφγανιστάν"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Αντίγκουα και Μπαρμπούντα"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Αγκίλα"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Αλβανία"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Αρμενία"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Ολλανδικές Αντίλλες"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Αγκόλα"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Ανταρκτική"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Αργεντινή"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Αμερικανική Σαμόα"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Αυστρία"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Αυστραλία"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Αρούμπα"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Αζερμπαϊτζάν"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Βοσνία-Ερζεγοβίνη"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Μπαρμπάντος"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Μπανγκλαντές"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Βέλγιο"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Μπουρκίνα Φάσο"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Βουλγαρία"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Μπαχρέιν"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Μπουρούντι"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Μπενίν"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Βερμούδες"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Μπρουνέι Νταρουσαλάμ"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Βολιβία"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Βραζιλία"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Μπαχάμες"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Μπουτάν"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Νήσος Μπουβέ"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Μποτσουάνα"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Λευκορωσία"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Μπελίζ"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Καναδάς"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Νήσοι Κόκος (Κήλινγκ)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Δημοκρατία Κεντρικής Αφρικής"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Ελβετία"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Ακτή Ελεφαντοστού"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Νήσοι Κουκ"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Χιλή"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Καμερούν"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Κίνα"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Κολομβία"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Κόστα Ρίκα"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Σερβία & Μαυροβούνιο"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Κούβα"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Πράσινο Ακρωτήριο"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Νήσοι Χριστουγέννων"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Κύπρος"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Τσέχικη Δημοκρατία"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Γερμανία"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Τζιμπουτί"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Δανία"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Ντομίνικα"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Δομινικανή Δημοκρατία"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Αλγερία"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ισημερινός"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Εσθονία"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Αίγυπτος"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Δυτική Σαχάρα"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Ερυθραία"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Ισπανία"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Αιθιοπία"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Φινλανδία"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Φίτζι"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Νήσοι Φώκλαντ (Μαλβίνες)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Μικρονησία"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Νήσοι Φερόες"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Γαλλία"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Γκαμπόν"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Ηνωμένο Βασίλειο"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Γρενάδα"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Γεωργία"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Γαλλική Γουιάνα"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Γκάνα"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Γιβραλτάρ"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Γροιλανδία"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Γκάμπια"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Γουινέα"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Γουαδελούπη"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ισημερινή Γουϊνέα"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Ελλάδα"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Νότια Γεωργία και Νότια Νησιά Σάντουιτς"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Γουατεμάλα"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Γκουάμ"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Γουϊνέα-Μπισάου"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Γουιάνα"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Χονγκ Κονγκ"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Νησί Χερντ και Νήσοι ΜακΝτόναλντ"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Ονδούρα"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Κροατία"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Αϊτή"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ουγγαρία"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Ινδονησία"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ιρλανδία"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Ισραήλ"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Ινδία"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Βρετανικά Εδάφη Ινδικού Ωκεανού"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ιράκ"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Ιράν"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Ισλανδία"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Ιταλία"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Τζαμάικα"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Ιορδανία"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Ιαπωνία"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Κένυα"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Κιργιστάν"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Καμπότζη"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Κιριμπάτι"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Κομόρες"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Σαιντ Κιτς και Νέβις"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Κορέα (Βόρεια)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Κορέα"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Κουβέιτ"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Νήσοι Κέυμαν"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Καζακστάν"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Λάος"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Λίβανος"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Άγιος Λουκάς"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Λιχτενστάιν"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Σρι Λάνκα"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Λιβερία"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Λεσότο"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Λιθουανία"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Λουξεμβούργο"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Λεττονία"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Λιβύη"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Μαρόκο"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Μονακό"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Μολδαβία"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Μαδαγασκάρη"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Νήσοι Μάρσαλ"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Μάλι"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Μιανμάρ"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Μογγολία"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Νήσοι Βορείων Μαριάννων"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Μαρτινίκα"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Μαυριτανία"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Μονσεράτ"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Μάλτα"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Μαυρίκιος"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Μαλδίβες"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Μαλάουι"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Μεξικό"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Μαλαισία"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Μοζαμβίκη"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Ναμίμπια"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Νέα Καληδονία"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Νίγηρας"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Νήσοι Νόρφολκ"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Νιγηρία"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Νικαράγουα"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Ολλανδία"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Νορβηγία"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Νεπάλ"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Ναούρου"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Νίουε"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Νέα Ζηλανδία"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Ομάν"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Παναμάς"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Περού"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Γαλλική Πολυνησία"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Παπούα-Νέα Γουϊνέα"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Φιλιππίνες"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Πακιστάν"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Πολωνία"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Σαιντ Πιερ και Μικελόν"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Νήσοι Πίτκαιρν"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Πουέρτο Ρίκο"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Παλαιστίνη"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Πορτογαλία"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Παραγουάη"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Παλάου"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Κατάρ"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Ρεουνιόν"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Ρουμανία"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Ρωσία"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ρουάντα"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Σαουδική Αραβία"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Νήσοι Σολομώντος"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Σεϋχέλλες"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Σουδάν"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Σουηδία"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Σιγγαπούρη"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Νήσος Αγίας Ελένης"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Σλοβενία"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Νήσοι Σβάλμπαρντ και Γιαν Μάγιεν"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Σλοβακία"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Σιέρρα Λεόνε"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Άγιος Μαρίνος"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Σενεγάλη"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Σομαλία"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Σουρινάμ"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Σάο Τόμε και Πρίντσιπε"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Ελ Σαλβαδόρ"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Συρία"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Σουαζιλάνδη"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Νήσοι Τούρκς και Καΐκος"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Τσαντ"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Γαλλικές Νότιες Περιοχές"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Τόγκο"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Ταϊλάνδη"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Τατζικιστάν"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Τοκελάου"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Ανατολικό Τιμόρ"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Τουρκμενιστάν"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Τυνησία"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Τόγκα"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Τουρκία"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Τρινιντάντ και Τομπάγκο"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Τουβαλού"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Ταϊβάν"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Τανζανία"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ουκρανία"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Ουγκάντα"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Μικρά απομονωμένα νησιά Ηνωμένων Πολιτειών"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Η.Π.Α."
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Ουρουγουάη"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Ουζμπεκιστάν"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "Λετονικό"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Άγιος Βικέντιος και Γρεναντίνες"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Βενεζουέλα"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Παρθένοι Νήσοι(Βρετανικές)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Παρθένοι Νήσοι(Αμερικανικές)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Βιετνάμ"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Βανουάτου"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Νήσοι Γουάλις και Φουτούνα"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Σαμόα"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Υεμένη"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Μαγιότ"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Νότιος Αφρική"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Ζάμπια"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Ζιμπάμπουε"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Καλώς ορίσατε στο %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Αφαιρέστε πρώτα τις λογικές μονάδες\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+" Άδεια\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άδεια\n"
+" Άδεια\n"
+"\n"
+"\n"
+" Άδεια\n"
+" Άδεια Άδεια\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άδεια\n"
+"\n"
+"\n"
+" Γενικά\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άδεια Τεκμηρίωση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Θύρα\n"
+"\n"
+" Όλα\n"
+"\n"
+"\n"
+"\n"
+" Linux\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άδεια Γαλλία\n"
+" Όλα\n"
+" Γαλλία\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+" Προσοχή\n"
+"\n"
+"\n"
+" Άρνηση\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Άδεια\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Μεταφορά\n"
+"\n"
+"\n"
+"\n"
+" Όλα\n"
+"\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Συγχαρητήρια, η εγκατάσταση ολοκληρώθηκε.\n"
+"Αφαιρέστε την δισκέτα ή το CD εκκίνησης και πατήστε return για "
+"επανεκκίνηση.\n"
+"\n"
+"\n"
+"Για πληροφορίες σχετικά με διορθώσεις αυτής της έκδοσης του Mandriva Linux,\n"
+"συμβουλευτείτε την σελίδα: \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Πληροφορίες σχετικά με τις ρυθμίσεις του συστήματός σας υπάρχουν στο "
+"σχετικό\n"
+"κεφάλαιο του επίσημου οδηγού χρήσης του Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Ρυθμίσεις κοινής χρήσης εκτυπωτών CUPS"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Χειροκίνητη ρύθμιση"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Εδώ μπορείτε να ρυθμίσετε τις παραμέτρους του αρθρώματος."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Βρέθηκαν %s προσαρμογείς"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Έχετε άλλον;"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Έχετε κάποιον προσαρμογέα %s;"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Προβολή πληροφοριών υλικού"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Εγκατάσταση οδηγού για %s κάρτα %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Εγκατάσταση οδηγού για %s κάρτα %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Εγκατάσταση οδηγού για %s κάρτα %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Εγκατάσταση οδηγού για %s κάρτα %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Εγκατάσταση οδηγού για %s κάρτα %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Μπορείτε τώρα να δώσετε τις παραμέτρους για το άρθρωμα %s.\n"
+"Σημειώστε ότι κάθε διεύθυνση πρέπει να εισάγεται με το πρόθεμα 0x όπως "
+"'0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Μπορείτε τώρα να δώσετε τις παραμέτρους για το άρθρωμα %s.\n"
+"Οι παράμετροι έχουν την μορφή ``όνομα=τιμή όνομα2=τιμή2 ...''.\n"
+"Για παράδειγμα, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Επιλογές αρθρώματος:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Ποιόν οδηγό %s να δοκιμάσω;"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Σε μερικές περιπτώσεις, ο οδηγός %s χρειάζεται επιπλέον παραμέτρους για\n"
+"να λειτουργήσει σωστά, παρ' όλο που συνήθως λειτουργεί και χωρίς αυτές.\n"
+"Θα θέλατε να δώσετε επιπλέον επιλογές ή να αφήσετε τον οδηγό να εξετάσει\n"
+"το υλικό σας για τις παραμέτρους που χρειάζεται; Η εξέταση αυτή ίσως\n"
+"προκαλέσει πάγωμα του συστήματος, αλλά δεν θα προκαλέσει βλάβη."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Αυτόματη εξέταση"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Προσδιορισμός παραμέτρων"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Η φόρτωση του αρθρώματος %s απέτυχε.\n"
+"Θέλετε να δοκιμάσετε ξανά με διαφορετικές παραμέτρους;"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "σύνδεση απέτυχε: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Η εκτεταμένη κατάτμηση δεν υποστηρίζεται σε αυτόν τον τύπο συστήματος"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Υπάρχει ένα κενό στον πίνακα κατατμήσεων μα δεν μπορώ να το χρησιμοποιήσω.\n"
+"Η μοναδική λύση είναι να μετακινήσετε τις πρωτεύουσες κατατμήσεις σας έτσι "
+"ώστε το κενό να βρεθεί δίπλα στην εκτεταμένη κατάτμηση"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Σφάλμα κατά την ανάγνωση του αρχείου %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Η επαναφορά από το αρχείο %s απέτυχε: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Κατεστραμμένο εφεδρικό αρχείο"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Σφάλμα εγγραφής στο αρχείο %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Κάτι κακό συμβαίνει στο δίσκο σας. \n"
+"Ένα τεστ ελέγχου της ακεραιότητας των δεδομένων απέτυχε. \n"
+"Αυτό σημαίνει πως η οποιαδήποτε εγγραφή στο δίσκο θα καταλήξει σαν τυχαία "
+"σκουπίδια."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Δεν μπορώ να προσθέσω κατάτμηση στο _μορφοποιημένο_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Δεν υπάρχουν αρκετές κατατμήσεις για RAID επιπέδου %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, fuzzy, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+"\n"
+"\n"
+" Αποδοχή Άρνηση."
+
+#: security/help.pm:13
+#, fuzzy, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+"\n"
+"\n"
+" Αποδοχή Άρνηση."
+
+#: security/help.pm:15
+#, fuzzy, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+"\n"
+"\n"
+" Αποδοχή Άρνηση."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, fuzzy, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+"\n"
+"\n"
+" χρήστης."
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Όλα τα απομακρυσμένα μηχανήματα"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Όλα τα απομακρυσμένα μηχανήματα"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, fuzzy, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"\n"
+"\n"
+" Ολοκληρώθηκε\n"
+"\n"
+"."
+
+#: security/help.pm:48
+#, fuzzy, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, fuzzy, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"\n"
+"\n"
+"\n"
+" κανένα\n"
+"."
+
+#: security/help.pm:63
+#, fuzzy, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"\n"
+"\n"
+"\n"
+" εξυπηρετητής\n"
+" εξυπηρετητής<SERVER_LEVEL> εξυπηρετητής\n"
+"\n"
+"."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Ειδοποιήσεις Ασφαλείας:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, fuzzy, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+"\n"
+"\n"
+" ωριαία."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"\n"
+"\n"
+" Ομάδα εργασίας: χρήστης."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, fuzzy, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+"\n"
+"\n"
+" καθημερινά."
+
+#: security/help.pm:98
+#, fuzzy, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+"\n"
+"\n"
+" χρήστης επίπεδο."
+
+#: security/help.pm:100
+#, fuzzy, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"\n"
+"\n"
+" Προσθήκη."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Κωδικός Root"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "αν οριστεί ναι, έλεγχος για ανοιχτές θύρες."
+
+#: security/help.pm:110
+#, fuzzy, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"αν οριστεί ναι, έλεγχος για κενούς κωδικούς πρόσβασης, για κανέναν κωδικό "
+"πρόσβασης στο /etc/shadow και για χρήστες με id 0 εκτός από τον root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"αν οριστεί ναι, έλεγχος δικαιωμάτων των αρχείων στον αρχικό κατάλογο χρήστη."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"αν οριστεί ναι, έλεγχος των συσκευών δικτύου για αδιάκριτη κατάσταση "
+"λειτουργίας."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "αν οριστεί ναι, εκτέλεση ελέγχων ασφαλείας καθημερινά."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "αν οριστεί ναι, έλεγχος για προσθήκη/αφαίρεση αρχείων sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "αν οριστεί ναι, έλεγχος κενών κωδικών πρόσβασης στο /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "αν οριστεί ναι, επαλήθευση checksum για τα αρχεία suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "αν οριστεί ναι, έλεγχος για προθέσεις/αφαιρέσεις αρχείων suid root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "αν οριστεί ναι, αναφορά άγνωστων αρχείων."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "αν οριστεί ναι, έλεγχος των αρχείων/καταλόγων για εγγραφή από όλους."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "αν οριστεί ναι, εκτέλεση ελέγχων chkrootkit"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"αν ναι, αποστολή της αναφοράς ταχυδρομείου σε αυτήν την διεύθυνση ή αλλιώς "
+"στον root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου μέσω ταχυδρομείου."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "αν οριστεί ναι, έλεγχος της βάσης δεδομένων rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου στο syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου στο tty"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr ""
+"\n"
+"\n"
+" χρήστης."
+
+#: security/l10n.pm:11
+#, fuzzy, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+"\n"
+"\n"
+" Αποδοχή Άρνηση."
+
+#: security/l10n.pm:12
+#, fuzzy, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+"\n"
+"\n"
+" Αποδοχή Άρνηση."
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "Όλα τα απομακρυσμένα μηχανήματα"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Σύνδεση Winmodem"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Ρύθμιση υπηρεσιών"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, fuzzy, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+"\n"
+"\n"
+" ωριαία."
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"\n"
+"\n"
+" Ομάδα εργασίας: χρήστης."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, fuzzy, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+"\n"
+"\n"
+" χρήστης επίπεδο."
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Χωρίς κωδικό πρόσβασης"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Ο κωδικός πρόσβασης είναι πολύ απλός"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Κωδικός Root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "Τέλος Χρόνου Εκκίνησης Πυρήνα"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Χρήστες"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "ανιχνεύθηκε στην πόρτα %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, fuzzy, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+"αν οριστεί ναι, έλεγχος δικαιωμάτων των αρχείων στον αρχικό κατάλογο χρήστη."
+
+#: security/l10n.pm:48
+#, fuzzy, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+"αν οριστεί ναι, έλεγχος των συσκευών δικτύου για αδιάκριτη κατάσταση "
+"λειτουργίας."
+
+#: security/l10n.pm:49
+#, fuzzy, c-format
+msgid "Run the daily security checks"
+msgstr "αν οριστεί ναι, εκτέλεση ελέγχων ασφαλείας καθημερινά."
+
+#: security/l10n.pm:50
+#, fuzzy, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "αν οριστεί ναι, έλεγχος για προσθήκη/αφαίρεση αρχείων sgid."
+
+#: security/l10n.pm:51
+#, fuzzy, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "αν οριστεί ναι, έλεγχος κενών κωδικών πρόσβασης στο /etc/shadow."
+
+#: security/l10n.pm:52
+#, fuzzy, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "αν οριστεί ναι, επαλήθευση checksum για τα αρχεία suid/sgid."
+
+#: security/l10n.pm:53
+#, fuzzy, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "αν οριστεί ναι, έλεγχος για προθέσεις/αφαιρέσεις αρχείων suid root."
+
+#: security/l10n.pm:54
+#, fuzzy, c-format
+msgid "Report unowned files"
+msgstr "αν οριστεί ναι, αναφορά άγνωστων αρχείων."
+
+#: security/l10n.pm:55
+#, fuzzy, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "αν οριστεί ναι, έλεγχος των αρχείων/καταλόγων για εγγραφή από όλους."
+
+#: security/l10n.pm:56
+#, fuzzy, c-format
+msgid "Run chkrootkit checks"
+msgstr "αν οριστεί ναι, εκτέλεση ελέγχων chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, fuzzy, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"αν ναι, αποστολή της αναφοράς ταχυδρομείου σε αυτήν την διεύθυνση ή αλλιώς "
+"στον root."
+
+#: security/l10n.pm:59
+#, fuzzy, c-format
+msgid "Report check result by mail"
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου μέσω ταχυδρομείου."
+
+#: security/l10n.pm:60
+#, fuzzy, c-format
+msgid "Run some checks against the rpm database"
+msgstr "αν οριστεί ναι, έλεγχος της βάσης δεδομένων rpm."
+
+#: security/l10n.pm:61
+#, fuzzy, c-format
+msgid "Report check result to syslog"
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου στο syslog."
+
+#: security/l10n.pm:62
+#, fuzzy, c-format
+msgid "Reports check result to tty"
+msgstr "αν οριστεί ναι, αποτέλεσμα αναφοράς ελέγχου στο tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Καλώς ορίσατε στους Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Φτωχό"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Τυπικό"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Υψηλό"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Υψηλότερο"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Παρανοϊκό"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Αυτό το επίπεδο πρέπει να χρησιμοποιηθεί με προσοχή. Κάνει το σύστημά σας\n"
+"πιο εύχρηστο, αλλά πολύ ευαίσθητο. Δεν πρέπει να χρησιμοποιηθεί σε σύστημα\n"
+"συνδεδεμένο στο Διαδίκτυο ή LAN. Δεν υπάρχουν κωδικοί πρόσβασης."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Τώρα υπάρχουν κωδικοί πρόσβασης, αλλά η χρήση του συστήματος σε δίκτυο ακόμα "
+"δεν συνίσταται."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Αυτό είναι το συνηθισμένο επίπεδο ασφαλείας για ένα σύστημα που θα συνδεθεί "
+"ως πελάτης στο Διαδίκτυο."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Υπάρχουν ήδη κάποιοι περιορισμοί, και περισσότεροι έλεγχοι εκτελούνται κάθε "
+"βράδυ."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Με αυτό το επίπεδο ασφαλείας είναι δυνατή η χρήση του συστήματος στο ως "
+"εξυπηρετητή.\n"
+"Η ασφάλεια είναι αρκετά υψηλή ώστε να δέχεται ταυτόχρονες συνδέσεις από "
+"πολλούς πελάτες.\n"
+"Σημ: Αν το μηχάνημα είναι μόνο για την χρήση ως πελάτη στο Διαδίκτυο τότε "
+"καλύτερα να επιλέξετε χαμηλότερο επίπεδο ασφάλειας"
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Η ασφάλεια είναι ίδια του προηγούμενου επιπέδου, με το σύστημα τελείως "
+"κλειστό. Η ασφάλεια είναι στο μέγιστο δυνατό."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Ασφάλεια"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Βασικές Επιλογές DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Επιλέξτε το επιθυμητό επίπεδο ασφαλείας"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Επίπεδο ασφαλείας"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Χρήση libsafe για διακομιστές"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Διαχειριστής Ασφαλείας (προσπέλαση ή ταχυδρομείο)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Εκκίνηση του ALSA (Advanced Linux Sound Architecture) συστήματος ήχου"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, ένα πρόγραμμα περιοδικής εκτέλεσης εντολών."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Το apmd παρακολουθεί και καταγράφει την κατάσταση της μπαταρίας.\n"
+"Μπορεί επίσης να χρησιμοποιηθεί για το αυτόματο κλείσιμο του συστήματος σε \n"
+"περίπτωση χαμηλής φόρτισης της μπαταρίας."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Εκτελεί εντολές προγραμματισμένες από την εντολή at και δέσμες εντολών\n"
+"όταν ο φόρτος του συστήματος είναι αρκετά χαμηλός."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Το cron είναι μια βασική υπηρεσία UNIX που τρέχει εντολές καθορισμένες από \n"
+"τον χρήστη σε τακτά χρονικά διαστήματα. Το vixie cron προσθέτει έναν "
+"αριθμό \n"
+"επιπλέον δυνατοτήτων που περιλαμβάνουν καλύτερη ασφάλεια και πιο ισχυρές "
+"ρυθμίσεις."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"Το GPM προσθέτει υποστήριξη ποντικιού σε εφαρμογές βασισμένες σε κονσόλα\n"
+"κειμένου και επιτρέπει λειτουργίες αποκοπής και επικόλλησης με χρήση \n"
+"ποντικιού στην κονσόλα, καθώς και υποστήριξη αναδυομένων μενού."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"Το HardDrake τρέχει μια ανίχνευση υλικού και προαιρετικά ρυθμίζει\n"
+"το νέο/αλλαγμένο υλικό."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Ο Apache είναι ένας εξυπηρετητής WWW. Μπορεί να εξυπηρετήσει αρχεία\n"
+"HTML και CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Η υπηρεσία υπερεξυπηρετητή Διαδικτύου (inetd) ξεκινάει μια ποικιλία\n"
+"άλλων υπηρεσιών διαδικτύου όποτε χρειάζονται. Είναι υπεύθυνη για την \n"
+"εκκίνηση πολλών υπηρεσιών, όπως telnet, ftp, rsh και rlogin. Η "
+"απενεργοποίηση\n"
+"αυτής της υπηρεσίας απενεργοποιηθεί επίσης και τις υπηρεσίες για τις οποίες\n"
+"είναι υπεύθυνη."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Εκκίνηση πακέτου φίλτρου για τον πυρήνα Linux της σειράς 2.2, για την "
+"ρύθμιση\n"
+"ενός Τοίχους Προστασίας που θα προστατεύει το μηχάνημά σας από δικτυακές "
+"επιθέσεις."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Αυτό το πακέτο φορτώνει την επιλεγμένη διάταξη πληκτρολογίου που έχει \n"
+"επιλεγεί στο /etc/sysconfig/keyboard. Αυτό μπορεί να ρυθμιστεί με την \n"
+"χρήση του εργαλείου kbdconfig. Πρέπει σχεδόν πάντα να είναι ενεργοποιημένο."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Αυτόματη παραγωγή της επικεφαλίδας του πυρήνα στο /boot για το\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+"Αυτόματη ανίχνευση και ρύθμιση συσκευών κατά την εκκίνηση του συστήματος."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Το Linuxconf καμιά φορά κάνει διάφορες εργασίες\n"
+"κατά την εκκίνηση του συστήματος για να διατηρήσει τη ρύθμιση του συστήματος."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Το lpd είναι η υπηρεσία εκτυπώσεων που απαιτείται για να λειτουργεί \n"
+"η εντολή lpd. Είναι βασικά ένας εξυπηρετητής που προωθεί τα αρχεία \n"
+"στους εκτυπωτές."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, χρησιμοποιείται για να δημιουργήσει έναν υψηλής\n"
+"απόδοσης και διαθεσιμότητας εξυπηρετητή."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"Ο named (BIND) είναι ένας Εξυπηρετητής Ονόματος Τομέα (DNS) που "
+"χρησιμοποιείται\n"
+"για να μετατρέπει ονόματα σε διευθύνσεις IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Συνδέει και αποσυνδέει όλα τα δικτυακά συστήματα αρχείων (NFS), SMB (Lan\n"
+"Manager/Windows), και NCP (NetWare) "
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Ενεργοποιεί/απενεργοποιεί όλα τα υποσυστήματα δικτύου που έχουν \n"
+"ρυθμιστεί να ξεκινούν κατά την εκκίνηση."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"Το NFS είναι ένα δημοφιλές πρωτόκολλο για τον διαμοιρασμό αρχείων σε \n"
+"δίκτυα TCP/IP. Αυτή η υπηρεσία προσφέρει λειτουργίες εξυπηρετητή, ο \n"
+"οποίος ρυθμίζεται από το αρχείο /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"Το NFS είναι ένα δημοφιλές πρωτόκολλο για τον διαμοιρασμό αρχείων σε \n"
+"δίκτυα TCP/IP. Αυτή η υπηρεσία προσφέρει λειτουργίες κλειδώματος αρχείων."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Αυτόματη ενεργοποίηση του numlock πλήκτρου στην κονσόλα\n"
+"και το Xorg κατά την εκκίνηση του συστήματος."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Υποστήριξη των OKI 4w και συμβατών winprinters."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Η υποστήριξη PCMCIA προσφέρει υποστήριξη για κάρτες δικτύου, μόντεμ κλπ \n"
+"συνήθως σε συστήματα laptop. Δεν θα εκκινήσει εκτός αν αυτό ζητηθεί από "
+"τον \n"
+"χρήστη, οπότε είναι ασφαλές να εγκατασταθεί σε συστήματα που δεν το "
+"χρειάζονται."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Ο portmapper διαχειρίζεται συνδέσεις RPC, οι οποίες χρησιμοποιούνται\n"
+"από πρωτόκολλα όπως το NFS και το NIS. Πρέπει να είναι ενεργοποιημένο σε \n"
+"συστήματα που δρουν ως εξυπηρετητές τέτοιων πρωτοκόλλων."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Το postfix είναι ένα πρόγραμμα μεταφοράς αλληλογραφίας, το \n"
+"πρόγραμμα που φροντίζει για την μεταφορά αλληλογραφίας από το \n"
+"ένα σύστημα στο άλλο."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Αποθηκεύει και επαναφέρει την πηγή εντροπίας του συστήματος για \n"
+"την δημιουργία καλύτερης ποιότητας τυχαίων αριθμών."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Ορισμός raw συσκευών ως block συσκευών (όπως κατατμήσεις σκληρών\n"
+"δίσκων), για τη χρήση τους από εφαρμογές όπως η Oracle ή συσκευές DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Η υπηρεσία routed επιτρέπει την αυτόματη ενημέρωση του πίνακα δρομολόγησης \n"
+"IP μέσω του πρωτοκόλλου RIP. Παρ' όλο που το RIP είναι ευρέως διαδεδομένο "
+"σε \n"
+"μικρά δίκτυα, μεγαλύτερα δίκτυα απαιτούν περιπλοκότερα πρωτόκολλα."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Το πρωτόκολλο rstat επιτρέπει στους χρήστες ενός δικτύου την\n"
+"συλλογή μετρήσεων επιδόσεων για οποιοδήποτε σύστημα σε αυτό \n"
+"το δίκτυο."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Το πρωτόκολλο rusers επιτρέπει στους χρήστες ενός δικτύου να \n"
+"προσδιορίσουν τους συνδεδεμένους χρήστες άλλων συστημάτων."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Το πρωτόκολλο rwho επιτρέπει σε απομακρυσμένους χρήστες να δουν έναν \n"
+"κατάλογο των χρηστών του συστήματος (παρόμοιο με το finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Εκκίνηση του συστήματος ήχου στο μηχάνημά σας"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Το Syslog είναι η υπηρεσία που χρησιμοποιούν πολλές άλλες υπηρεσίες \n"
+"για να κάνουν εγγραφές στα αρχεία παρακολούθησης συστήματος (log files)\n"
+"Συνίσταται η συνεχής λειτουργία αυτής της υπηρεσίας."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Φόρτωση των οδηγών για τις usb συσκευές σας."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Ξεκινάει την υπηρεσία εξυπηρετητή γραμματοσειρών X (αυτό είναι απαραίτητο "
+"για να εκτελεστεί το Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Εκτύπωση"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Διαδίκτυο"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Κοινόχρηστα αρχεία"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Σύστημα"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Απομακρυσμένη διαχείριση"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Εξυπηρετητής Βάσης Δεδομένων"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Υπηρεσίες"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Επιλέξτε τις υπηρεσίες που θα ξεκινούν αυτόματα κατά την εκκίνηση"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Υπηρεσίες: %d ενεργοποιημένες για %d εγγεγραμμένες"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "εκτελείται"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "δεν εκτελείται"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Υπηρεσίες και δαίμονες"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Χωρίς επιπλέον πληροφορίες\n"
+"για αυτή την υπηρεσία."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Πληροφορίες"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Στην εκκίνηση"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Εκκίνηση"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Τερματισμός"
+
+#: standalone.pm:24
+#, fuzzy, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"\n"
+" Γενικά Άδεια\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" Γενικά Άδεια\n"
+"\n"
+" ληφθέντα Γενικά Άδεια\n"
+"\n"
+
+#: standalone.pm:43
+#, fuzzy, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"εξ' ορισμού\n"
+" Επαναφορά\n"
+"\n"
+" εξ' ορισμού εξ' ορισμού\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+" κανένα\n"
+"\n"
+"\n"
+"."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"\n"
+" Εξυπηρετητής\n"
+" ενεργοποίηση ενεργοποίηση\n"
+" απενεργοποίηση απενεργοποίηση\n"
+"\n"
+"\n"
+" χρήστης\n"
+" Διαγραφή χρήστης\n"
+"\n"
+" Διαγραφή"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[πληκτρολόγιο]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"\n"
+" Δίκτυο Διαδίκτυο\n"
+"\n"
+" εξ' ορισμού\n"
+"\n"
+"\n"
+" μετά βίας μετά βίας\n"
+"\n"
+"."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Χρήση: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Προσθήκη εξυπηρετητή"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Νότιος Αφρική"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Αυστρία"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Νότιος Αφρική"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Νότιος Αφρική"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Χονγκ Κονγκ"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Ρωσική Ομοσπονδία"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Γιουγκοσλαβία"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Σωστό;"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "επιλογέας αρχείου"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Πρέπει να καθορίσετε αρχείο, όχι κατάλογο.\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Το όνομα '/' μπορεί να είναι μόνο κατάλογος, όχι ένα κλειδί"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Δεν είναι κατάλογος"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Δεν υπάρχει αρχείο `%s'\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Ανάπτυξη δέντρου"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Σύμπτυξη δέντρου"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Εναλλαγή μεταξύ επίπεδης και ομαδικής ταξινόμησης"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"Το %s δεν είναι εγκατεστημένο επιλέξτε \"Επόμενο\" για εγκατάσταση η \"Άκυρο"
+"\" για έξοδο"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Η εγκατάσταση απέτυχε"
+
+#~ msgid "Icon"
+#~ msgstr "Εικονίδιο"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Ρυθμίσεις PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Υποστήριξη ραδιοφώνου:"
+
+#~ msgid "enable radio support"
+#~ msgstr "ενεργοποίηση ραδιοφώνου"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/eo.po b/perl-install/share/po/eo.po
new file mode 100644
index 000000000..7f0ea9e3c
--- /dev/null
+++ b/perl-install/share/po/eo.po
@@ -0,0 +1,6440 @@
+# Esperanto drakbootdisk
+# Copyright (C) 2000, 2001 Mandriva
+# D. Dale Gulledge <dsplat@rochester.rr.com>, 2000.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2003-03-12 18:31-0400\n"
+"Last-Translator: Vilhelmo Lutermano <vlutermano@free.fr>\n"
+"Language-Team: esperanto <eo@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.9.6\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Bonvole atendu"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Startŝargila instalado"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Instalado de startŝargilo malsukcesis. La sekvanta eraro okazis:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Vi decidis instali la startilon en subdiskon.\n"
+"Tio implicas ke vi jam havas startilon sur la fiskdisko kiun vi startigas "
+"(ekz-e: System Commander).\n"
+"\n"
+"En kiu drajvo vi startigas?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Unu sektoro de drajvo (ĈefStartRikordo)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Unua sektoro de radika subdisko"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Sur disketo"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Ellasu"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub Instalado"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kie vi deziras instali la startŝargilon?"
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Boot Style Configuration"
+msgstr "Post-instala konfigurado"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Startŝargilo ĉefaj opcioj"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Startŝargilo"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Startŝargilo por uzi"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Starta aparato"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Prokrastoperiodo antaŭ starti defaŭltan sistemon"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Ebligu ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Ebligu ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Ebligu ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Pasvorto"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "La pasvortoj ne egalas"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Bonvole provu denove"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Vi ne povas uzi kriptan dosiersistemon por surmetingo %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Pasvorto (denove)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Limigu komandliniajn opciojn"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "limigu"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Opcio ``Limigu komandliniajn opciojn'' ne estas utila sen pasvorto"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Purigu /tmp dum ĉiuj startadoj"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Preciza kvanto de memoro se bezonata (trovis %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Donu kvanton de memoro en MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Ĉu ebligi CD Boot?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Ĉu ebligi OF Boot?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Defaŭlta Mastruma Sistemo?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Kerna bildo"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Radiko"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Alfiksu"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Grafika reĝimo"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Nova profilo..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etikedo"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Defaŭlta"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Malplena etikedo ne estas permesata"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Vi devas decidi pri kerno-bildo"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Vi devas difini radikan (root) subdiskon"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Ĉi tiu etikedo estas jam uzata"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kiun specon de enskribo vi deziras aldoni"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linukso"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Alia Mastruma Sistemo (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Alia Mastruma Sistemo (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Alia Mastruma Sistemo (Vindozo...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Jen la diversaj enskriboj.\n"
+"Vi povas aldoni pli aŭ ŝanĝi la ekzistantajn."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "aliro al X-programoj"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "aliro al rpm-iloj"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permesu \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "aliro al administraj dosieroj"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "aliro al retiloj"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "aliro al kompililoj"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(jam aldonis %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Bonvole donu salutnomon"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Salutnomo devas enhavi nur minusklojn, ciferojn, `-' kaj `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Ĉi tiu salutnomo estas tro longa"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Ĉi tiu salutnomo estas jam aldonita"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Uzula ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Grupa ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr ""
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Aldonu uzanto"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Enigu uzanton\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Finata"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Akceptu uzanto"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Vera nomo"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Domajna nomo"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Ŝelo"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Aŭtomata-enregistrado"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Mi povas konfiguri vian komputilon por aŭtomate enirigi unu uzulon"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Ĉu vi deziras uzi tiun funkcion?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Elektu la defaŭltan uzulon:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Elektu la fenestro-administrilon por lanĉi:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licenca kontrakto"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Ĉesu"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Bonvole atendu"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Akceptu"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Malakceptu"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Bonvole elektu lingvon por uzi."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Mianmaro"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Vi povas elektu aliajn lingvojn kiujn estos uzeblaj malantaŭ la instalado"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Ĉiuj lingvoj"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Lando"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Bonvole elektu vian landon."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Jen la kompleta listo de atingeblaj landoj"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Aliaj pordoj"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Progresinta"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Neniom"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ne kundivido"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permesu ĉiujn uzulojn"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Akomodata"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Ĉu vi ŝatus permesi al uzuloj kundividi iujn el siaj dosierujoj?\n"
+"Permesi tion ebligos al uzuloj simple klaki sur \"Share\" respektive "
+"\"Kundividu\"\n"
+"en Konkeranto kaj nautilus.\n"
+"\n"
+"\"Custum\" ebligas per-uzulan.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Vi povas eksporti uzante NFS aŭ SMB. Bonvole elektu kiun vi ŝatus uzi."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Lanĉu userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Malfermu"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+"Bonvole adiaŭu kaj sekve uzu Kontrol-Alt-Retropaŝo (Ctrl-Alt-Backspace)."
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Horzono"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "kio estas vian horzonon?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Aparata horloĝo estas ĝustigita laŭ GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Aparata horloĝo estas ĝustigita laŭ GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Servilo"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Auxtomata hor-sinkronizado (uzante NTP) "
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokala dosiero"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Vindozo Domajno"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokala dosiero :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Vindozo Domajno:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Aŭtentikiga LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP Servilo"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simpla"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Aŭtentikigado"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domajno"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servilo"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Datumbazoj"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Pasvorto"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Aŭtentikiga NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS Domajno"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS Servilo"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Aŭtentikigado Vondoza Domajno"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Uzulnomo de la Domajna administranto"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Aŭtentikigado"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Difinu pasvorton de root"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Aŭtentikigado"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Neniu pasvorto"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Ĉi tiu pasvorto ests tro simpla (ĝi devas esti almenaŭ %d signoj longa)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Bonvenon al mastruma sistema elektilo!\n"
+"\n"
+"Elektu mastruman sistemon de la supra listo aux\n"
+"atendu por defauxlta starto.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr ""
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "mankas sufiĉe da spaco en /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Vi ne povas instali la startŝargilon en %s-subdiskon\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Instalu restart-ŝargilon"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutoj"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundoj"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV estas protokolo kiu ebligas al vi kroĉi interretservilan dosierujon\n"
+"loke, kaj trakti ĝin kvazaŭ lokan dosiersistemon (kondiĉe ke la retservilo "
+"estu\n"
+"konfigurita kiel WebDAV-servilo). Se vi deziras aldoni WebDAF-kroĉpunktojn,\n"
+"elektu \"New\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nova"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Malmuntu"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Muntu"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Surmetingo"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcioj"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Eraro"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Bonvole entajpu la servilan URL de la WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "La URL devas komenci per http:// aŭ https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servilo:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Surmetingo: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcioj: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Subdiskigante"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Legu zorge"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Bonvolu fari rezervan kopion de via dateno antaŭe"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Eliro"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Ĉu mi devus daŭri?"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Se vi intencas uzi \"aboot\", zorgu lasi liberan spacon (2048 sektoroj "
+"sufiĉas)\n"
+"ĉe la komenco de la disko"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Helpo"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Elektu agon"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Vi havas unu grandan Microsoft-Vindozan subdiskon.\n"
+"Mi proponas ke vi unue regrandecigu tiun subdiskon\n"
+"(klaku sur ĝin, kaj poste klaku sur \"Regrandecigu\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Bonvolu klaki sur subdiskon"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detaloj"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Neniaj durdiskoj trovitaj"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Nekonata"
+
+# this entry must not be too long, or the window gets tooooo wiiiiiide
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Interŝanĝa"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Vindozo"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Alia"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Malplena"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Specoj de dosiersistemoj:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Averto"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Ĉi tiu subdisko ne estas regrandecigebla"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Uzu ``Malmuntu'' antaŭe"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Uzu ``%s'' anstataŭe"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipo"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Elektu alian subdiskon"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Elektu subdiskon"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Malfaru"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Ŝanĝu al Normala reĝimo"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Ŝanĝu al Spertula reĝimo"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Konfigurado"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Ĉu mi devus daŭri malgraŭe?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Ĉu eliru sen konservi"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Ĉu eliru sen skribi la subdisktabelon?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ĉu vi deziras konservi la modifojn en /etc/fstab?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Vi bezonas restarti por la ŝanĝoj al la subdisktabelo efektivigi"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Forviŝu ĉion"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Aŭtomate disponigu"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Plu"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informoj pri fiksdisko(j)"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Ĉiuj el la subdiskoj estas uzata"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Mi ne povas aldoni plu da subdiskoj"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Por havi plu da subdiskoj, bonvole forigu unu por povi krei etendigitan\n"
+"subdiskon"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Konservu la subdiskotabelon"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaŭru subdiskotabelon"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Sava subdiskotabelo"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Reŝargu subdiskotabelon"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Aŭtomata kroĉado de demeteblaj aparatoj"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Elektu dosieron"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"La rezerva subdisktabelo ne estas la sama grandeco\n"
+"Ĉu daŭras tamen?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Provas savi subdisktabelon"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detala informo"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Regrandecigu"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatu"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Aldonu al RAID (Redundanca Aro de Malmultekostaj Diskoj)"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Aldonu al LVM (Redundanca Aro de Malmultekostaj Diskoj)"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Forigu"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Forigu de RAID (Redundanca Aro de Malmultekostaj Diskoj)"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Forigu de LVM (Redundanca Aro de Malmultekostaj Diskoj)"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Ŝanĝu RAID (Redundanca Aro de Malmultekostaj Diskoj)"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Uzu por retrokonektado"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Kreu"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Kreu novan subdiskon"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Komenca sektoro: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Grandeco en MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Speco de dosiersistemo: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Prefero: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Lokaj dosieroj"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Vi ne povas krei novan subdiskon\n"
+"(ĉar vi atingis la maksimuman nombron da primaraj subdiskoj).\n"
+"Unue forigu primaran subdiskon kaj kreu etenditan subdiskon."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Ĉu forigu la retrokonektan dosieron?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Post vi ŝanĝas la specon de subdisko %s, ĉiuj datenoj en ĉi tiu subdisko "
+"estos\n"
+"perdata"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Ŝanĝu subdiskspecon"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Kiun dosierosistemo vi deziras uzi?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Ŝaltas de ext2 al ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Etikedo"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kie vi deziras kroĉi retrokonektan dosieron %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kie vi deziras munti aparato %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ne povas malfiksi surmetingon ĉar ĉi tiu subdisko estas uzata por\n"
+"retrokonektado. Unue forigu la retrokonektadon."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kie vi deziras kroĉi aparaton %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Regrandecigas"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Kalkulas FAT dosiersistemajn limojn"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ĉi tiu subdisko ne estas regrandecigebla"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Ĉiuj datenoj en ĉi tiu subdisko devus esti rezervata"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Post vi regrandecigas subdiskon %s, ĉiuj datenoj en ĉi tiu subdisko estos\n"
+"perdata"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Elektu la novan grandecon"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nova grandeco en MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Elektu ekzistantan RAID por aldoni"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nova"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr ""
+"Elektu ekzistantan RAID (Redundanca Aro de Malmultekostaj Diskoj) por\n"
+"aldoni al"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-nomo?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Vi ne povas uzi ĉi tiun subdiskon por retrokonektado"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Retrokonektado"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Retrokonekta dosieronomo: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Donu dosiernomon"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Dosiero jam uzata de alia retrokonektado, elektu alian"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Dosiero jam ekzistas. Ĉu vi deziras uzi ĝin?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Kroĉ-opcioj"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Diversaj"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "aparato"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivelo"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "grandeco de pecoj"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Zorgu: ĉi tiu operacio estas danĝera."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kiun specon de subdiskado?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Vi bezonos restarti antaŭ ol la ŝanĝo povas efektiviĝi"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "La subdisktabelo de drajvo %s estos skribata al disko!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Post vi formatas la subdiskon %s, ĉiuj datenoj en ĉi tiu subdisko estos\n"
+"perdata"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Ĉu kontrolas malbonajn blokojn?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Movu dosierojn al la nova subdisko"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Kaŝu dosierojn"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Mi movas dosierojn al la nova subdisko"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopianta %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Mi forigas %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "subdisko %s estas nun konata kiel %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Aparato: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-a diskingolitero: %s (nur konjekto)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Speco: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nomo: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Komenco: sektoro %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Grandeco: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektoroj"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "cilindro %d ĝis cilindro %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatita\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ne formatita\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Muntita\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID (Redundanca Aro de Malmultekostaj Diskoj) %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Retrokonekta(j) dosiero(j):\n"
+"...%s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Subdisko startata defaŭlte\n"
+" (por MS-DOS starto, ne por \"lilo\")\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivelo %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Grandeco de pecoj %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-aj (Redundanca Aro de Malmultekostaj Diskoj) diskoj %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Retrokonekta dosieronomo: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Povas esti, ke tiu ĉi subdisko estas\n"
+"pelila subdisko. Prefere\n"
+"lasu ĝin sola.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Nur-lege"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Grandeco: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrio: %s cilindroj, %s kapoj, %s sektoroj\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informo: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-aj (Redundanca Aro de Malmultekostaj Diskoj) diskoj %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Subdiskotabelospeco: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "ĉe kanalo %d identigaĵo %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Speco de dosiersistemo: "
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Ĉi tiu pasvorto ests tro simpla (ĝi devas esti almenaŭ %d signoj longa)"
+
+#: diskdrake/interactive.pm:1348
+#, fuzzy, c-format
+msgid "The encryption keys do not match"
+msgstr "La pasvortoj ne egalas"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Ĉifroŝlosilo:"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Aŭtentikigado"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Ŝanĝu specon"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Nuligu"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ne povas akcepti uzante uzulnomon %s (ĉu malĝusta pasvorto?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Aŭtentikigado de domajno postulata"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Kiu salutnomo"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Iu alia"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Bonvole tajpu vian uzulnomon, pasvorton kaj domajn-nomon por aliri al tiu "
+"gastiganto."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Uzulnomo"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Serĉu servilojn"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Serĉu servilojn"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Ĉi tiu pakaĵo %s devas esti instalita. Ĉu vi deziras instali ĝin?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Instalanta pakaĵo %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "La sekvaj pakaĵoj estos instalataj"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instalanta pakaĵojn..."
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Distingivo: %s\n"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Eraro okazis - neniuj validaj aparatoj estis trovata sur kiuj vi povas krei "
+"novajn dosiersistemojn. Bonvolu kontroli vian ekipaĵon por la kaŭzo de ĉi "
+"tiu problemo."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Vi devas havi FAT-subdiskon en /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatas subdiskon %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Kreas kaj formatas dosieron %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "ne scias kiel formati %s kiel speco %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatado de %s malsukcesis"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Cirklaj surmetingoj %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Enkroĉas subdiskon %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Kontrolanta %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "eraro dum malmunti %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Ebligas swap-subdiskon %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Vi ne povas uzi kriptan dosiersistemon por surmetingo %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Duobla surmetingo %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "neniuj haveblaj subdiskoj"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Leganta subdiskojn por trovi kroĉpunktojn"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Elektu surmetingojn"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Elektu la subdiskoj kiuj vi deziras formati"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Mi malsukcesis kontroli la dosiersistemon %s. Ĉu vi deziras ripari la "
+"erarojn? (atentu, vi povas perdi datenojn)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nesufiĉa interŝanĝospaco por plenumi instalado, bonvolu aldoni iom"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Vi devas havi radikan subdiskon.\n"
+"Por ĉi tiu, kreu subdiskon (aŭ klaku estantan).\n"
+"Sekve elektu la agon \"Surmetingo\" kaj faru ĝin '/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Vi ne havas interŝanĝan subdiskon\n"
+"\n"
+"Ĉu vi deziras daŭri tamen?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Uzu liberan spacon"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Mankas sufiĉan da libera spaco por disponigi novajn subdiskojn"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Uzu ekzistantajn subdiskojn"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Ne ekzistas subdiskojn por uzi"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Uzu la Vindoza subdiskon por retrokonektado"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Kiun subdiskon vi deziras uzi por Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Elektu la grandecojn"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Radikosubdiska grandeco en MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Interŝanĝa subdiska grandeco en MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Ne ekzistas FAT-a subdiskoj por regrandecigi\n"
+"aŭ uzi kiel retrokonektaj subdiskoj (aŭ ne estas sufiĉa da spaco)spaco)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Uzu la liberan spacon sur la Vindoza subdisko"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kiun subdiskon vi deziras regrandecigi?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"La regrandecigilo por la FAT (Dosiero-Atingo-Tablo) ne povas trakti\n"
+"vian subdiskon, la sekvanta eraro okazis: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Kalkulante la liberan spacon sur la Vindoza subdisko"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Via Vindoza subdisko estas tro fragmentigata, bonvole uzu ``defrag'' antaŭe"
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"AVERTO!\n"
+"\n"
+"\n"
+"DrakX nun regrandecigos vian Vindozan subdiskon.\n"
+"\n"
+"\n"
+"Zorgu: ĉi tiu operacio estas danĝera. Se vi ne jam faris ĝin, vi prefere "
+"antaŭe eliru el la instalado, uzu \"scandisk\" sub Vindozo (kaj laŭvole rulu "
+"\"defrag\"), kaj sekve relanĉu la instaladon. Vi prefere faru ankaŭ rezervan "
+"kopion de via datenoj.\n"
+"\n"
+"\n"
+"Kiam vi estos certa, klaku \"%s\"."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Sekvanta"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kiun grandecon vi deziras teni por Vindozo subdisko: %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Grandeco"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Kalkulas Vindozajn dosiersistemajn limojn"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Regrandeciĝo de FAT malsukcesis: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Ne ekzistas FAT-a subdisko por regrandecigi\n"
+"(aŭ ne estas sufiĉe da spaco)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Forigu Vindozon"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Forviŝu la tutan diskon"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Vi havas pli ol unu fiksdisko, sur kiu vi deziras instali Linukson?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Ĉiuj ekzistantaj subdiskoj kaj iliaj datenoj estos perdata sur drajvo %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "subdiskigo"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Uzu fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Nun vi povas dispartigi %s.\n"
+"Kiam vi finiĝos, ne forgesu savi kun `w'."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Mi ne trovas spacon por instali"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "La Dispartigsorĉilo de DrakX trovis ĉi tiujn solvojn:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Dispartigado malsukcesis: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Vi ne povas uzi JFS por subdisko pli malgranda ol 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Vi ne povas uzi ReiserFS por subdisko pli malgranda ol 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "kun /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servilo"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Mi ne povas legi vian subdisktabelon de aparato %s, ĝi estas tro difektita "
+"por mi :(\n"
+"Mi povas provi daŭri per blankigi difektitajn subdiskojn (ĈIOM DA DATUMO\n"
+"pereos!). La alia solvo estas malpermesi al DrakX ŝanĝi la subdisktabelon.\n"
+"(la eraro estas %s)\n"
+"\n"
+"Ĉu vi konsentas perdi ĉiujn subdiskojn?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Surmetingoj devas komenci kun antaŭa /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Surmetingoj devas enteni nur alfanumerajn signojn"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Jam estas subdisko kun surmetingo ĉe %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Vi elektis softvaran RAID-an subdiskon por la radika dosiersistemo (/).\n"
+"Neniu startŝargilo povas trakti tion sen /boot subdisko.\n"
+"Bonvole zorgu aldoni /boot subdiskon."
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Vi ne povas uzi LVM-logikan subdiskon por kroĉpunkto %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Vi elektis softvaran RAID-an subdiskon por la radika dosiersistemo (/).\n"
+"Neniu startŝargilo povas trakti tion sen /boot subdisko.\n"
+"Bonvole zorgu aldoni /boot subdiskon."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Ĉi tiu dosierujo devus resti interne de la radika dosierosistemo (/)"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Vi bezonas veran dosiersistemon (ext2, reiserfs, xfs aŭ jfs) por tiu "
+"surmetingo\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Vi ne povas uzi kriptan dosiersistemon por surmetingo %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ne sufiĉe da libera spaco por aŭtomate disponigi novajn subdiskojn"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr ""
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disketo"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disko"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "KDROMO"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "KD/DVD-skribiloj"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bendo"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-kontroliloj"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videocard"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Tvcard"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Alia bildson-aparatoj"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Sonorokarto"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Procesiloj"
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Interna ISDN-karto"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet-karto"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modemo"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memoro"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printilo"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Ludbastono"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-kontroliloj"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-kontroliloj"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-kontroliloj"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model de la karto:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-kontroliloj"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-kontroliloj"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-kontroliloj"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-kontroliloj"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr ", USB-printilo"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-kontroliloj"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Pont- kaj sistem-kontroliloj"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klavaro"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Muso"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "HFS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "skanilo"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Nekonata/Aliaj"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Bonvole atendu... Mi aplikas la konfiguraĵon"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Son-konfigurado"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Via karto nun uzas la %s\"%s\"-pelilon (defaŭlta plelilo por via karto estas "
+"\"%s\")"
+
+#: harddrake/sound.pm:248
+#, fuzzy, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System - Libera Sonsistemo) estis la nuna son-API. Ĝi estas "
+"son-API "
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Pelilo:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Nenia liberfonta pelilo"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Ne ekzistas libera pelilo por via sonkarto (%s), sed ekzistas proprieta "
+"pelilo ĉe \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nenia konata pelilo"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Ne ekzistas konata pelilo por via sonkarto (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Nekonata pelilo"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Eraro: La \"%s\"-pelilo por via sonkarto ne estas listigita"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Lasu min kapti ajnan pelilon"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Se vi vere pensas ke vi scias kiu pelilo ests la ĝusta por via karto,\n"
+"vi povas elekti ĝin el la supra listo.\n"
+"\n"
+"La nuna pelilo por via \"%s\"-sonkarto estas \"%s\"."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Memdetekta"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Nekonata|Genera"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model de la karto:"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Ŝanĝu subdiskspecon"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Jeso"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Jes"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ne"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Elektu dosieron"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Aldonu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Ŝanĝu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Forigu"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Finu"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Antaŭa"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Malbona elektaĵo, provu denove\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Via elektaĵo? (defaŭlo estas %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Via elekto? (0/1, defaŭlo '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Butono '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Ĉu vi deziras alklaki tiun butonon?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Via elekto? (defaŭlto '%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andoro"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Unuiĝintaj Arabaj Emirlandoj"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistano"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigvo-Barbudo"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angilo"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanio"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenio"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nederlandaj Antiloj"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angolo"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktio"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentino"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerika Samoo"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Aŭstrio"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Auxstralio"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Arubo"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbajĝano"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnio-Hercegovino"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbado"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladeŝo"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgio"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkino"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgario"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Barejno"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundo"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benino"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermudo"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunejo Darusalamo"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivio"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazilo"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamoj"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butano"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Buvet-Insulo"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Bocvano"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarusio"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belizio"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanado"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos-Insuloj (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinŝaso)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centrafrika Respubliko"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazavilo)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Svislando"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Ebur-Bordo"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kuk-Insularo"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Ĉilio"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kameruno"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Ĉinio"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolombio"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kostariko"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbujo kaj Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kubo"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kabo-Verdo"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Kristnask-Insulo"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipro"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "la Ĉeĥa Respubliko"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Germanio"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Ĝibutio"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danlando"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominiko"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Domingo"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alĝerio"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvadoro"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonio"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipto"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Okcidenta Saharo"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritreo"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Hispanujo"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopio"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finnlando"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiĝio"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandaj Insuloj (Malvinoj)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronezio"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroaj Insuloj"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francio"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabono"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Unuiĝinta Regno"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenado"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Kartvelujo"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Franca Gujano"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ganao"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Ĝibraltaro"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlando"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambio"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvineo"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadelupo"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatora Gvineo"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grekio"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Sud-Georgio kaj la Sudaj Sandviĉaj Insuloj"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemalo"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Gvamo"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvineo-Bisaŭo"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gujano"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hongkongo"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard- kaj McDonald-Insuloj"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduro"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatio"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haitio"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungario"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezio"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlando"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israelo"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Hindio"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Brita Teritorio de Hindia Oceano"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irako"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irano"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islando"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italio"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamajko"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanio"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japanio"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenjo"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizistano"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kamboĝo"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribato"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoroj"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Sent-Kristofo kaj Neviso"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Koreio (Norda)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Koreio"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvajto"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kajmana Insularo"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazaĥstano"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laoso"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libano"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sent-Lucio"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liĥtenŝtejno"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanko"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberio"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litovio"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburgo"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvio"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libio"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldovio"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskaro"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Insuloj Marŝalaj"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonio"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Malio"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mianmaro"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolio"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Insuloj Marianaj Nordaj"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martiniko"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Maŭrlando"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserato"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malto"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maŭricio"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivoj"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malavio"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksikio"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malajzio"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambiko"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibio"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nov-Kaledonio"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niĝero"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkaj Insuloj"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Niĝerio"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragvo"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nederlando"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegio"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepalo"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauro"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nov-Zelando"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omano"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panamo"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peruo"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Franca Polinezio"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papuo-Nov-Gvineo"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinoj"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistano"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pollando"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sanpetro-kaj-Mikelono"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitkarna Insulo"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Porto-Riko"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestino"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugalujo"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvajo"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palaŭo"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Kataro"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunio"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumanujo"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusio"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruando"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saŭda Arabujo"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomon-Insuloj"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Sejŝeloj"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudano"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svedio"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapuro"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sankt-Heleno"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenujo"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Spicbergo kaj Jan-Majen-Insuloj"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakujo"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Siera-Leono"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San-Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegalio"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalujo"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinamo"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao-Tomeo kaj Principeo"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Salvadoro"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirio"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilando"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks kaj Caicos Insuloj"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Ĉado"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "francaj sudaj teritorioj"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tajlando"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Taĝikistano"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Orienta Timoro"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistano"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunizio"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tongo"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkujo"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidado kaj Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalo"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tajvano"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanio"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrajno"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Ugando"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "usonaj malgrandaj eksteraj insuloj"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Usono"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvajo"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistano"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikano"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sent-Vincento kaj la Grenadinoj"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuelo"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Insuloj Virgaj (Britaj)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Insuloj Virgaj (Usonaj)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vjetnamio"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatuo"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "valis-kaj-futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoo"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemeno"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "majota"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sud-Afriko"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambio"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabvo"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Bonvenon al %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Forigu la logikajn spacojn unue\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Enkonduko\n"
+"\n"
+"La mastrum-sistemo kaj la diversaj komponantoj atingeblaj en la Mandriva "
+"Linuks-eldono\n"
+"estu en la sekvo nomataj la \"softvarproduktoj\". La softvarproduktoj "
+"inkluzivigas la tutaĵon de programoj, metodoj, reguloj kaj dokumentado "
+"koncerne la mastruman sistemon,\n"
+"kaj la diversajnf komponantojn de la Mandriva Linuks-eldono, sed\n"
+"ne estas limigitaj al ili.\n"
+"\n"
+"\n"
+"1. Licenckonsento \n"
+"Bonvole legu tiun ĉi dokumenton zorge. Tiu ĉi dokumento estas licenckonsento "
+"inter vi kaj\n"
+"Mandriva S.A. kiu aplikiĝas al la softvarproduktoj.\n"
+"Per instalado, duobligado aŭ uzado de la softvarproduktoj en ajna maniero, "
+"vi eksplicite\n"
+"akceptas kaj plene konsentas agi konforme al la teksto kaj kondiĉoj de tiu "
+"ĉi licenco.\n"
+"Se vi malsamopinias kun iu ajn parto de la licenco, vi ne rajtas instali, "
+"duobligi aŭ uzi\n"
+"la softvarproduktojn.\n"
+"Iu ajn provo instali, duobligi aŭ uzi la softvarproduktojn en maniero kiu ne "
+"kongruas kun la teksto kaj kondiĉoj de tiu ĉi licenco estas\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Averto\n"
+"Bonvolu zorge legi la suban tekston. Se vi malsamopinias kun iu\n"
+"parto, vi ne rajtas instali la venontan KD-enhavon. Premu 'Rifuzas'\n"
+"por daŭrigi la instaladon sen uzi tiun KD-enhavon.\n"
+"\n"
+"\n"
+"Iuj komponantoj entenataj en la venonta KD ne estas regataj\n"
+"de la GPL-licenco aŭ similaj interkonsentoj. Ĉiu tia komponanto estas\n"
+"tiam regata de la teksto kaj kondiĉoj de ĝia propra specifa licenco.\n"
+"Bonvolu zorge legi tiajn specifajn licencojn kaj agi laŭ ili antaŭ\n"
+"ol uzi aŭ redisdoni la nomitajn komponantojn.\n"
+"Tiaj licencoj ĝenerale malhelpas transdonon, duobligon\n"
+"(escepte por savkopioj), redistribuadon, 'reverse engineering',\n"
+"malmuntadon, malkompiladon aŭ modifadon de la komponento.\n"
+"Ĉia rompo de la konsento tuj ĉesigos viajn rajtojn sub\n"
+"la respektiva licenco. Escepte se la specifa licenco donas al vi tiajn\n"
+"rajtojn, vi kutime ne povas instali la programojn sur pli ol unu\n"
+"sistemo, aŭ adapti ĝin por uzi ĝin en reto. En duba kazo bonvole kontaktu\n"
+"rekte la disdoninton aŭ la eldoninton de la komponanto.\n"
+"Transdonado al triaj partoj aŭ kopiado de tiaj komponantoj inkluzive de la \n"
+"dokumentaĵo normale estas malpermesita.\n"
+"\n"
+"\n"
+"Ĉiuj rajtoj pri la komponantoj de la venonta KD apartenas al ties\n"
+"respektivaj aŭtoroj kaj estas protektataj de leĝoj pri intelekta propraĵo "
+"kaj\n"
+"kopirajto aplikeblaj al softvaraj programoj.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Interreta Konfigurado"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Interreta Konfigurado"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Trovis %s interfacojn"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Ĉu vi havas alian?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Ĉu vi havas iun %s interfacon?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Vidu hardvaran informon"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instalas pelilon por %s karto %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instalas pelilon por %s karto %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instalas pelilon por %s karto %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instalas pelilon por %s karto %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instalas pelilon por %s karto %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Nun vi povas provizi ĝiajn opciojn al modulo %s.\n"
+"Opcioj estas en la formo ``nomo=valoro nomo2=valoro2 ...''.\n"
+"Ekzemple, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulaj opcioj:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Kiun %s pelilon devus mi provi?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Iuokaze, la %s pelilo bezonas havi aldonan informon por ĝuste funkcii,\n"
+"kvankam ĝi normale funkcias bone sen la informo. Ĉu vi deziras specifi\n"
+"aldonajn opciojn por ĝi aŭ permesi al la pelilo esplori vian komputilon\n"
+"por la informo ĝi bezonas? Kelkfoje, esplori svenas komputilon, sed\n"
+"ĝi ne devus kaŭzi difekton."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Aŭtomate esploru"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Specifu opciojn"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Ŝargado de modulo %s malsukcesis.\n"
+"Ĉu vi deziras trovi denove kun aliaj parametroj?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "muntado malsukcesis: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Ĉi tiu platformo ne subtenas etendatajn subdiskojn"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Vi havas truon en via subdisktabelo sed mi ne povas uzi ĝin.\n"
+"La sola solvo estas movi viajn ĉefajn subdiskojn por situigi la truon\n"
+"apud la etendataj subdiskoj."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Eraro legante dosiero %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Restaŭris el dosiero %s malsukcesis: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Malbona rezerva dosiero"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Eraro skribante al dosiero %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Io malbona okazas en via drajvo.\n"
+"Testo pri la integreco de datenoj malsukcesis.\n"
+"Tio signifas ke skribado al la disko finiĝos per difektitaj datenoj."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ne povas aldoni subdiskon al _formatita_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ne estas sufiĉaj subdiskoj por RAID nivelo %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Elektu grafikan karton"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Malproksima printilo"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Malproksima printilo"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Elektas sekurnivelon"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Root-pasvorto"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Salutnomo"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "Malproksima printilo"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Winmodem-konekto"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Konfiguru servojn"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Neniu pasvorto"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Ĉi tiu pasvorto estas tro simpla"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Root-pasvorto"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Salutnomo"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "detektita en pordo %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Bonvenon Al Rompistoj"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Malbona"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Laŭnorma"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Alta"
+
+#: security/level.pm:14
+#, fuzzy, c-format
+msgid "Higher"
+msgstr "Alta"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoja"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"vi devus uzi ĉi tiun nivelon zorge. Ĝi faras vian komputilon pli facila\n"
+"por uzi, sed delikatega: vi devus neniam uzi ĝi surrete.\n"
+"Ĝi ne havas pasvortojn."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Pasvortoj nun estas ebligataj, sed uzado kiel reta komputilo estas ankoraŭ\n"
+"ne rekomendita."
+
+#: security/level.pm:45
+#, fuzzy, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ĉi tiu estas la normala sekureco rekomendata por komputilo kiu estos uzata\n"
+"por konekti al la Interreto kiel kliento. Nun estas sekurecaj kontroloj."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, fuzzy, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Kun ĉi tiu sekurnivelo, uzado de ĉi tiu komputilo kiel servilo ebliĝas.\n"
+"La sekureco nun estas sufiĉe alta por uzi la sistemon kiel servilo kiu\n"
+"akceptas konektojn de multaj klientoj."
+
+#: security/level.pm:50
+#, fuzzy, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Ni uzas aspektojn de la kvara nivelo, sed nun la komputilo estas tute\n"
+"malfermita. Sekurecaj aspektoj estas ĉe iliaj maksimumoj."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sekureco"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opcioj"
+
+#: security/level.pm:57
+#, fuzzy, c-format
+msgid "Please choose the desired security level"
+msgstr "Elektu sekurnivelon?"
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "Elektas sekurnivelon"
+
+#: security/level.pm:63
+#, fuzzy, c-format
+msgid "Use libsafe for servers"
+msgstr "Elektu opciojn por servilo"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"Lanĉu la ALSA (Advanced Linux Sound Architecture - Avancita Linuksa Son-"
+"Arkitekturo)-sonsistemon"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, perioda ordonvicigilo."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd estas uzata por monitori la bateriostaton kaj registri ĝin en la\n"
+"sistemlogdosiero (syslog). Vi ankaŭ povas uzi ĝin por halti la komputilon\n"
+"kiam la baterioŝargo estas malgranda."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Lanĉas ordonojn vicigitajn per la 'at' ordono je la horo specifita kiam\n"
+"'at' estis uzata, kaj lanĉas baĉajn ordonojn kiam la ŝargmezo estas\n"
+"sufiĉe malgranda."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron estas norma Uniksa programo kiu lanĉas programojn kiujn la uzulo\n"
+"specifas je periodaj tempoj. vixie cron aldonas kelkajn trajtojn al la\n"
+"baza Uniksa cron, inkluzive de pli bona sekureco kaj pli fortaj\n"
+"konfiguraj opcioj."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM aldonas subtenon por musoj al teksta-reĝimaj Linuksaj aplikoj ekzemple\n"
+"la 'Midnight Commander' (Meznokta Estro). Ankaŭ ĝi permesas uzi la muson\n"
+"por transpoŝigi ĉe la konzolo (Sen X Fenestroj)."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake rulas aparato-provon, kaj laŭopcie konfiguras\n"
+"novan/ŝanĝitan aparataron."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache estas Tut-Tera Teksaĵa servilo. Ĝi liveras HTML-ajn dosierojn\n"
+"kaj CGI (komunakluza interfaco)."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"La interreta superservila demono (kutime nomata inetd) lanĉas sortimenton\n"
+"da aliaj interretaj servoj laŭbezone. Ĝi respondas por la lanĉo de multaj\n"
+"servoj, inkluzive de telnet, ftp, rsh, kaj rlogin. Se vi malŝaltas inetd,\n"
+"ve malŝaltas ĉiujn el la servoj por kiuj ĝi respondas."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Lanĉu pakaĵfiltradon por Linuksa kerno 2.2-serioj, por konfiguri\n"
+"brulmuron por protekti vian maŝinon kotraŭ elretaj atakoj."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ĉi tiu pakaĵo ŝargas la elektitan klavarmapon laŭ /etc/sysconfig/keyboard.\n"
+"Vi povas elekti ĉi tion per la kbdconfig utilprogramo. Vi lasus ĉi tion\n"
+"ebligatan por la plejmulto da sistemoj."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Auxtomata regenerado de kernokapoj en /boot por\n"
+"/usr/include/linux/{autoconf, version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Auxtomata detektado kaj konfigurado de aparataro dum starto."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf aranĝos kelkfoje por fari diversajn taskojn\n"
+"dum starto por daŭrigi la sistem-konfiguraĵon."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd estas la printvica dajmono bezonata por lpr taŭge funkcii. Ĝi estas\n"
+"baze servilo kiu arbitracias printajn taskojn al printilo(j)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linuksa Virtuala servilo, uzata por starigi kapablegan kaj\n"
+"bonege atingeblan servilon."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) estas Domajna NomServilo (DNS) kiun vi uzas por trovi\n"
+"poŝtejojn de IP adresoj."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Muntas kaj malmuntas ĉiujn RetDosierSistemajn (NFS), SMB (Lan\n"
+"Manager/Vindozaj), kaj NCP (NetWare) surmetingojn."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Ŝaltas/Malŝaltas ĉiujn retajn interfacojn konfiguratajn por lanĉi\n"
+"dum sistemstartado."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS estas populara protokolo por dosierdistribuado tra TCP/IP retoj.\n"
+"Ĉi tiu servo provizas NFS dosierŝlosado, kiun vi konfiguras per la\n"
+"/etc/exports dosiero."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS estas populara protokolo por dosierdistribuado tra TCP/IP retoj.\n"
+"Ĉi tiu servo provizas NFS dosierŝlosado."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Subteno de OKI 4w kaj kongruaj winpresiloj."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA subteno kutime estas subteno de aĵo kiel ethernet kaj modemoj en\n"
+"tekkomputiloj. Ĝi ne estos lanĉata krom se vi konfiguras ĝi por ke ĝi\n"
+"estu sendanĝera ĉe komputiloj kiuj ne bezonas ĝin."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"La pordmapilo direktas RPC konektojn, kiujn protokoloj kiel NFS kaj NIS "
+"uzas.\n"
+"La pordmapservilo devas esti uzata ĉe komputiloj kiuj agas kiel serviloj\n"
+"por protokoloj kiuj uzas la RPC mekanismon."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix estas PoŝtTransportPerilo, kiu estas la programo kiu movas\n"
+"retpoŝton de unu komputilo al alia."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Savas kaj restaŭras sisteman entropikomunaĵon por pli altkvalita\n"
+"generado de aleatoraj nombroj."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"La routed dajmono permesas aŭtomatan ĝisdatigon de la IP enkursigila tabelo\n"
+"per la RIP protokolo. Kvankam RIP estas vaste uzata je malgrandaj retoj,\n"
+"pli malsimplaj enkursigaj protokoloj estas bezonataj por malsimplaj retoj."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"La rstat protokolo permesas al uzuloj sur reto ekstrakti metrikojn\n"
+"pri la rapideco de iu ajn komputilo sur tiu reto."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"La ruser protokolo permesas al uzuloj sur reto identigi kiujn estas\n"
+"konektataj ĉe aliaj respondantaj komputiloj."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"La rwho protokolo permesas al uzuloj havigi liston de ĉiuj el la uzuloj\n"
+"konektataj ĉe komputilo kiu estas uzanta la rwho dajmono (simila al finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Lanĉu la sonsistemon en via maŝino"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog (sistemlogilo) estas la rimedo per kiu multaj dajmonoj registras\n"
+"mesaĝojn al diversaj sistemlogdosieroj. Ĝi estas bona ideo ĉiam uzi\n"
+"syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Ŝargu la pelilojn por via usb-aparatoj."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Startigas la X tiparan servilon (tio estas ... ."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Presante"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Interreto"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Dosier-kundivido"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistemo"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Malproksima administrado"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Datumbaz-servilo"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servoj"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Elektu kiuj servoj estu aŭtomate startigotaj dum starto"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "ruliĝante"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "haltigita"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servoj kaj demonoj"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Ne pli da informo\n"
+"pri tiu servo, bedaŭrinde."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informo"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Startante"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Startu"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Haltu"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Tiu ĉi programo estas libera softvaro; vi povas redisdoni ĝin kaj/aŭ modifi\n"
+"ĝin sub la termoj de la GNU-Ĝeneralpublika Licenco kiel publikigita de\n"
+"la Libera Programar Fondaĵo (Free Software Foundation); aŭ versio 2, aŭ\n"
+"laŭ via opcio) pli posta versio.\n"
+"\n"
+"Tiu ĉi programo estas disdonata kun la espero ke ĝi estu utila,\n"
+"sed SEN IA GARANTIO; eĉ sen garantio pri MERKATOTAUXGECO aŭ\n"
+"TAUXGECO POR APARTA CELO. Vidu la\n"
+"GNU Ĝeneralpublikan Licencon pri pli da detaloj.\n"
+"\n"
+"Vi devus esti ricevinta kopion de la GNU Ĝeneralpublika Licenco\n"
+"kun tiu ĉi programo; se ne, skribu al la Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Savkopi- kaj Restaŭro-akplikaĵo\n"
+"\n"
+"--default : savu defaŭltajn dosierujojn.\n"
+"--debug : montru ĉiujn ripar-mesaĝojn (debug).\n"
+"--show-conf : listo de dosieroj aŭ dosierujoj savendaj.\n"
+"--config-info : klarigu la opciojn de konfigurado-dosieroj (por ne-X-"
+"uzuloj).\n"
+"--daemon : uzu demonan konfiguradon. \n"
+"--help : montru tiun ĉi mesaĝon.\n"
+"--version : montru la versi-numeron.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPCIOJ] [PROGRAM_NOMO]\n"
+"\n"
+"OPCIOJ:\n"
+" --help - montru tiun help-mesaĝon.\n"
+" --report - programo estu iu de Mandriva Linux iloj\n"
+" --incident - programo estu iu de Mandriva Linux iloj"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"Litertipar-Import-kaj afiŝ- aplikaĵo \n"
+"--windows_import : importu de ĉiuj atingeblaj vindozaj subdiskoj.\n"
+"--xls_fonts : montru ĉiujn litertiparojn jam ekzistantajn de xls\n"
+"--strong : forta kontrolado de litertiparo.\n"
+"--install : akceptu ĉian litertipar-dosieron kaj ĉian dosierujon.\n"
+"--uninstall : malinstalu ĉian litertiparon kaj ĉian litertiparan "
+"dosierujon.\n"
+"--replace : anstataŭigu ĉian litertiparon se jam ekzistas\n"
+"--application : 0 nenia aplikaĵo.\n"
+" : 1 ĉiuj haveblaj aplikaĵoj subtenataj.\n"
+" : name_of_application aŭ iel tiel por staroffice \n"
+" : kaj gs por ghostscript nur por tiu ĉi."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPCIOJ]...\n"
+"Konfigurilo de Mandriva-Terminal-Servilo\n"
+"--enable : ebligu MTS\n"
+"--disable : malebligu MTS\n"
+"--start : startigu MTS\n"
+"--stop : haltigu MTS\n"
+"--adduser : aldonu ekzistantan sistem-uzulon al MTS (postulas "
+"uzulnomon)\n"
+"--deluser : forigu ekzistantan sistem-uzulon de MTS (postulas "
+"uzulnomon)\n"
+"--addclient : aldonu kliento-maŝinon al MTS (postulas MAC-adreson, IP, "
+"nbi image-nomon)\n"
+"--delclient : forigu kliento-maŝinon de MTS (postulas MAC-adreson, IP, "
+"nbi image nomon)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[klavaro]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPCIOJ]\n"
+"Reto & Interret-konektad kaj afiŝad-aplikaĵo\n"
+"\n"
+"--defaultintf interface : montras tiun interfacon defaŭlte\n"
+"--connect : konektas kun interreto se ne jam konektite\n"
+"--disconnect : malkonektas de interreto se jam konektite\n"
+"--force : uzata kun (dis)connect : trudas (mal-)konektadon.\n"
+"--status : montras 1 se konektite, alie 0, poste eliras.\n"
+"--quiet : ne estu interaktiva. Uzata kun (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPCIO]...\n"
+" --no-confirmation ne postulu unue konfirmadon en Mandriva Update "
+"mode\n"
+" --no-verify-rpm ne kontrolu la pakaĵ-subskribojn\n"
+" --changelog-first afiŝu changelog antaŭ dosierliston en la priskribo-"
+"fenestro\n"
+" --merge-all-rpmnew proponu mergi ĉiujn trovitajn .rpmnew/.rpmsave -"
+"dosierojn"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [ĉio]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Uzado: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Aldonu uzanto"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Sud-Afriko"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Aŭstrio"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Sud-Afriko"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanio"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Sud-Afriko"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hongkongo"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rusujo"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavio"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Ĉu tio ĉi pravas?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "dosier-elektilo"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Hejmdosierujo ne estas alirebla."
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Ne estas dosierujo"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Ne ekzistas tia dosiero"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Etendu Arbon"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Maletendu Arbon"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Ŝanĝu inter ebena kaj ordigita je grupoj"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalado malsukcesis"
+
+#~ msgid "Icon"
+#~ msgstr "Piktogramo"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL-konfiguraĵo:"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/es.po b/perl-install/share/po/es.po
new file mode 100644
index 000000000..42a30daa5
--- /dev/null
+++ b/perl-install/share/po/es.po
@@ -0,0 +1,6866 @@
+# traducción de DrakX-es.po to Español
+# spanish translation of DrakX
+# Copyright (C) 2000, 2001,2002 Mandriva S.A.
+# Fabian Mandelbaum <fabman@mandriva.com>, 2000, 2001, 2002,2003, 2004, 2006.
+# Pablo Saratxaga <pablo@mandriva.com>, 2004, 2006.
+# Jaime Crespo <505201@unizar.es>, 2004, 2005.
+# José Manuel Pérez <jmprodu@hotmail.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-es\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-09-06 21:07-0400\n"
+"Last-Translator: Fabian Mandelbaum <fabman@mandriva.com>\n"
+"Language-Team: Español <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Espere, por favor"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Instalación del cargador de arranque en progreso"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO desea asignar un nuevo ID de Volumen a la unidad %s. Sin embargo,\n"
+"cambiar el ID de Volumen de un disco de arranque de Windows NT, 2000,\n"
+"o XP es un error fatal de Windows.\n"
+"Esta advertencia no se aplica a Windows 95 o 98, o a discos de datos de NT.\n"
+"\n"
+"¿Asignar un nuevo ID de Volumen?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Falló la instalación del cargador de arranque. Ocurrió el siguiente error:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Puede necesitar cambiar el dispositivo de arranque de Open Firmware para\n"
+" activar el cargador de arranque. Si no ve el prompt del cargador de\n"
+" arranque al reiniciar, mantenga presionado Command-Option-O-F al\n"
+" reiniciar e introduzca:\n"
+" setenv boot-device %s, \\\\:tbxi\n"
+" Luego escriba: shut-down\n"
+"La próxima vez que arranque debería ver el prompt del cargador de arranque."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Decidió instalar el cargador de arranque en una partición.\n"
+"Esto implica que ya tiene un cargador de arranque en el disco desde el que "
+"arranca (ej.: System Commander).\n"
+"\n"
+"¿Desde qué disco arranca?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Primer sector del disco (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Primer sector de la partición raíz"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "En disquete"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Omitir"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Instalación de LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "¿Dónde quiere instalar el cargador de arranque?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configuración del estilo de arranque"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opciones principales del cargador de arranque"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Cargador de arranque"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Cargador de arranque a usar"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dispositivo de arranque"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Opciones principales"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Demora antes de arrancar la imagen predeterminada"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Habilitar ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Habilitar APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Habilitar APIC local"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Contraseña"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Las contraseñas no coinciden"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Vuelva a intentarlo, por favor"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "No puede usar una contraseña con %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Contraseña (de nuevo)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Restringir las opciones de la línea de comandos"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "restringir"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"La opción \"Restringir las opciones de la línea de comandos\"\n"
+"no tiene sentido sin contraseña"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Limpiar /tmp en cada inicio del equipo"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Precise el tamaño de la RAM si es necesario (se encontraron %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Proporcione el tamaño de la RAM en MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Mensaje de inicio"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Demora de Open firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Tiempo de espera de arranque del núcleo"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "¿Habilitar el arranque desde CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "¿Habilitar el arranque de OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "¿SO predeterminado?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imagen"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Raíz"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Añadir"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Añadir Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Modo de vídeo"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Perfil de red"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etiqueta"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Por defecto"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Sin vídeo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "No se admite una etiqueta vacía"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Debe especificar una imagen del núcleo"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Debe especificar una partición raíz"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Esta etiqueta ya está en uso"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "¿Qué tipo de entrada desea añadir?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Otro SO (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Otro SO (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Otro SO (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Aquí están las diferentes entradas.\n"
+"Puede añadir otras o cambiar las que ya existen."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "acceso a programas X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "acceso a herramientas rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permitir \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "acceso a archivos administrativos"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "acceso a herramientas de red"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "acceso a herramientas de compilación"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s ya fue añadido)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Introduzca el nombre de usuario"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"El nombre de usuario (login) sólo debe contener letras, números, `-' y `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "El nombre de usuario es muy largo"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Este nombre de usuario ya fue añadido"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID de usuario"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID de grupo"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "¡%s debe ser un número!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s debería ser superior a 500. ¿Aceptarlo igual?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Añadir un usuario"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Introduzca un usuario\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Hecho"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Aceptar el usuario"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nombre y apellidos"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nombre de conexión"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Conexión automática"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Puedo configurar su computadora para que entre automáticamente con un "
+"usuario."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Utilizar esa característica"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Elija el usuario predeterminado:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Elija el gestor de ventanas a ejecutar:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Acuerdo de licencia"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Salir"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Notas de versión:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Aceptar"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Rechazar"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Por favor, elija el idioma a usar."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Selección del idioma"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux puede soportar múltiples idiomas. Seleccione\n"
+"los que desea instalar. Los mismos estarán disponibles cuando\n"
+"su instalación esté completa y Usted reinicie su sistema."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Multi-idiomas"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Codificación (no UTF-8) para compatibilidad antigua"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Todos los idiomas"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "País / Región"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Seleccione su país, por favor."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Aquí tiene la lista completa de países disponibles"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Otros países"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avanzada"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Método de entrada:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ninguno"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "No compartir"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permitir a todos los usuarios"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalizada"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"¿Desea permitir a los usuarios exportar algunos directorios personales?\n"
+"Si lo hace, los usuarios podrán simplemente hacer clic sobre \"Compartir\" "
+"en Konqueror y Nautilus.\n"
+"\n"
+"\"Personalizada\" permite una granularidad por usuario.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: sistema tradicional Unix para compartir archivos, con menos soporte en "
+"Mac y Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: sistema para compartir archivos usado por Windows, Mac OS X y muchos "
+"sistemas Linux modernos."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Puede exportar usando NFS o SMB. Por favor, elija el que desea utilizar."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Lanzar UserDrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Cerrar"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Los recursos compartidos por usuario utilizan el grupo \"fileshare\". \n"
+"Puede utilizar UserDrake para añadir un usuario a este grupo."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Por favor salga de la sesión y luego pulse Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Debe desconectarse y volver a conectarse para que los cambios tengan efecto"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Huso horario"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "¿Cuál es su huso horario?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Configuración de la fecha, hora y huso horario"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "¿Cuál es la mejor hora?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (reloj interno puesto en hora UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (reloj interno puesto en hora local)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Servidor NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sincronización automática de hora (usando NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Archivo local"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Tarjeta inteligente (Smart Card)"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Dominio Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory con SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory con Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Archivo local:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Usar local para toda autenticación y la información que el usuario brinda en "
+"archivo local"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Le dice a la computadora que use LDAP para alguna o toda la autenticación. "
+"LDAP consolida ciertos tipos de información dentro de su organización."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Le permite correr un grupo de computadoras en el mismo dominio NIS con "
+"archivos comunes de grupo y contraseñas."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Dominio Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind permite que el sistema obtenga información y autentique a los "
+"usuarios en un dominio Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory con SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Con Kerberos y LDAP para autenticación en servidor Active Directory"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory con Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind permite que el sistema autentique a los usuarios en un servidor "
+"Windows Active Directory"
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autentificación LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Servidor LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simple"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "esquema de seguridad (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autenticación Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Dominio"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servidor"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Base de datos de usuarios LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Usar BIND anónimo"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Usuario LDAP que puede examinar el Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Contraseña para el usuario"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autentificación NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Dominio NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Servidor NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Para que esto funcione con un PDC de W2K, probablemente necesite que el "
+"administrador ejecute: C:\\>net localgroup \"Pre-Windows 2000 Compatible "
+"Access\" everyone /add y vuelva a iniciar el servidor.\n"
+"También necesitará el nombre de usuario/contraseña de un Administrador de "
+"Dominio para unir la máquina al dominio Windows(TM).\n"
+"Si todavía no está habilitada la red, DrakX intentará unirse al dominio "
+"luego de la etapa de configuración de red.\n"
+"Si esta configuración falla por algún motivo y no funciona la autenticación "
+"PDC, ejecute 'smbpasswd -j DOMINIO -U USUARIO%%CONTRASEÑA' utilizando su "
+"Dominio Windows(TM), y Nombre de usuario/Contraseña de Administrador, luego "
+"del arranque del sistema.\n"
+"El comando 'wbinfo -t' probará si sus secretos de autenticación son buenos."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Dominio de Autenticación de Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Reino Active Directory"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nombre de usuario del Administrador del Dominio"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Contraseña del Administrador del Dominio"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentificación"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Introduzca contraseña de administrador (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Método de autenticación"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Sin contraseña"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Esta contraseña es demasiado simple\n"
+"(tiene que tener por lo menos una longitud de %d caracteres)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "No se puede usar difusión sin un dominio NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Bienvenido al selector de SO de arranque!\n"
+"\n"
+"Elija un sistema operativo de la lista de arriba o espere\n"
+"a que arranque el sistema predeterminado.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO con menú de texto"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB con menú gráfico"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB con menú de texto"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "no hay espacio suficiente en /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "No puede instalar el cargador de arranque en una partición %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Se debe actualizar la configuración de su cargador de arranque debido a que "
+"cambió el número de la partición"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"No se puede instalar correctamente el cargador de arranque. Debe arrancar "
+"con rescate y elegir \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Volver a instalar cargador de arranque"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutos"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d segundos"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "falta el comando %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV es un protocolo que le permite montar localmente un directorio de un\n"
+"servidor web, y tratarlo como un sistema de archivos local (siempre y "
+"cuando\n"
+"el servidor web está configurado como servidor WebDAV). Si desea añadir\n"
+"puntos de montaje WebDAV, seleccione \"Nuevo\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nuevo"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Desmontar"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montar"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Punto de montaje"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opciones"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Error"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Por favor, ingrese la URL del servidor WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "La URL debería empezar con http:// o https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servidor: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Punto de montaje: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opciones: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Particionando"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "¡Lea con cuidado!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Por favor, haga primero una copia de seguridad de sus datos"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Salir"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continuar"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Si piensa usar aboot, no olvide dejar espacio libre (2048 sectores es\n"
+"suficiente) al principio del disco"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Ayuda"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Elija una acción"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Tiene una partición Microsoft Windows de gran tamaño.\n"
+"Le sugiero que primero cambie el tamaño de la misma\n"
+"(para eso haga clic sobre ella, y luego sobre \"Redimensionar\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Por favor, haga clic sobre una partición"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalles"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "¡No se encontraron discos rígidos!"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Desconocido"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "S. de a. transaccional"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Intercambio"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Otros"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Vacío"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipos de sistemas de archivos:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Advertencia"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Esta partición ya está vacía"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Use \"Desmontar\" primero"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Use \"%s\" en su lugar"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipo"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Elija otra partición"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Elija una partición"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Deshacer"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Cambiar al modo normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Cambiar al modo experto"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Confirmación"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "¿Seguir adelante?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Salir sin grabar"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "¿Salir del programa sin grabar la tabla de particiones?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "¿Desea guardar las modificaciones en /etc/fstab?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Necesita reiniciar el equipo para que se efectúe la modificación de la tabla "
+"de particiones"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Debe formatear las particiones %s.\n"
+"Si no, no se escribirá ninguna entrada en fstab para el punto de montaje %"
+"s.\n"
+"¿Salir de todas formas?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Borrar todas"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Asignación automática"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Más"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Información del disco rígido"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Todas las particiones primarias están usadas"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "No se pueden agregar más particiones"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Por favor, para tener más particiones borre alguna para poder crear una "
+"partición extendida"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Sin supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount excepto para las unidades de CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Guardar la tabla de particiones"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaurar la tabla de particiones"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Rescatar la tabla de particiones"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Volver a cargar la tabla de particiones"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Montaje automático de soportes extraíbles"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Elija un archivo"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"La tabla de particiones de respaldo no tiene\n"
+"el mismo tamaño. ¿Desea continuar de todas formas?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Tratando de rescatar la tabla de particiones"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Información detallada"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Redimensionar"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatear"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Añadir al RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Añadir al LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Borrar"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Quitar del RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Quitar del LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modificar el RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Usar para loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Crear"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Crear una partición nueva"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sector de comienzo: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Tamaño en MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tipo de sistema de. archivos: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferencia: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nombre del volumen lógico"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"No puede crear una partición nueva\n"
+"(debido a que alcanzó la cantidad máxima de particiones primarias).\n"
+"Primero debe quitar una partición primaria y crear una partición extendida."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "¿Borrar el archivo de loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Se perderán todos los datos de la partición %s después de cambiar su tipo"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Cambiar el tipo de partición"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "¿Qué sistema de archivos desea?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Cambiando de ext2 a ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "¿Cual etiqueta de volumen?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Etiqueta:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "¿Dónde desea montar el archivo de loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "¿Dónde desea montar el dispositivo %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"No se puede deseleccionar el punto de montaje ya que esta partición\n"
+"se usa para un montaje en loopback.\n"
+"Quite el montaje de loopback primero"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "¿Dónde desea montar a %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Cambiando tamaño"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Calculando los límites del sistema de archivos FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "No se puede cambiar el tamaño a esta partición"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"Debería hacer una copia de seguridad de todos los datos de esta partición"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Se perderán todos los datos de la partición %s tras cambiar su tamaño"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Eligiendo el tamaño nuevo"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Tamaño nuevo en MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Tamaño mínimo: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Tamaño máximo: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Para asegurar la integridad de los datos luego de cambiar el tamaño a\n"
+"las particiones, se pueden ejecutar verificaciones de los sist. de archivos\n"
+"la próxima vez que arranque en Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Elegir un RAID existente al que añadir"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nuevo"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Elegir un LVM existente al que añadir"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "¿nombre de LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"El volúmen físico %s todavía está en uso.\n"
+"¿Desea mover el espacio físico usado en este volumen a otros volúmenes?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Moviendo el espacio físico"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Esta partición no puede usarse para el loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nombre del archivo de loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Indique el nombre de un archivo"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "El archivo ya lo utiliza otro dispositivo loopback, seleccione otro"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "El archivo ya existe. ¿Desea usarlo?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opciones de montaje"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Varios"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "dispositivo"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivel"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "tamaño de bloque en KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Cuidado: esta operación es peligrosa."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "¿Qué tipo de particionamiento?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Necesita reiniciar el equipo para que la modificación tenga efecto"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "¡Se escribirá al disco la tabla de particiones de la unidad %s!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Se perderán todos los datos de la partición %s después de formatearla"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "¿Verificar el disco en busca de bloques malos?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Mover los archivos a la nueva partición"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Ocultar archivos"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"El directorio %s ya contiene datos\n"
+"(%s)\n"
+"\n"
+"Puede elegir mover los archivos a la partición que se montará allí o "
+"dejarlos donde están (lo cual hará que los mismos queden ocultos por los "
+"contenidos de la partición montada)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Moviendo los archivos a la nueva partición"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Copiando %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Borrando %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "la partición %s ahora se conoce como %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Las particiones han sido renumeradas: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Dispositivo: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Etiqueta de volumen: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Letra DOS: %s (simplemente una adivinanza)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipo: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nombre: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Comienzo: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Tamaño: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sectores"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cilindros %d a %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Número de extensiones lógicas: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formateado\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "No formateado\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montado\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Archivo(s) de loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partición predeterminada de arranque\n"
+" (para arranque de MS-DOS, no para lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivel %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Tamaño de bloque %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Discos-RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nombre del archivo de loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Es probable que esta partición sea\n"
+"una partición de Controlador, probablemente\n"
+"debería dejarla como está.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Esta partición especial de Bootstrap\n"
+"es para el arranque\n"
+"dual de su sistema.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Espacio vacío en %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Sólo lectura"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Tamaño: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometría: %s cilindros, %s cabezas, %s sectores\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Discos-LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipo de la tabla de particiones: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "en el canal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Clave de cifrado del sistema de archivos"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Elija la clave de cifrado de su sistema de archivos"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Esta clave de cifrado es demasiado simple\n"
+"(tiene que tener por lo menos una longitud de %d caracteres)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Las claves de cifrado no coinciden"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Clave de cifrado"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Clave de cifrado (otra vez)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritmo de cifrado"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Cambiar tipo"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+"No se puede conectar utilizando el nombre de usuario %s (¿contraseña "
+"incorrecta?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Se necesita autenticación de dominio"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Qué nombre de usuario"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Otro"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Por favor, ingrese su nombre de usuario, contraseña y nombre de dominio para "
+"acceder a este host."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nombre de usuario"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Buscar servidores"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Buscar servidores nuevos"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Se necesita instalar el paquete %s. ¿Quiere instalarlo?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "¡No se pudo instalar el paquete %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Falta el paquete obligatorio %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Se deben instalar los siguientes paquetes:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instalando paquetes..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Quitando paquetes..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Ocurrió un error - no se encontró ningún dispositivo válido para crear los "
+"nuevos sistemas de archivos. Por favor, verifique su equipo para saber la "
+"razón de este fallo"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Debe tener una partición FAT montada en /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formateando la partición %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Creando y formateando el archivo %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "No sé cómo formatear %s en el tipo %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formateo de %s falló"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Montajes circulares %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Montando la partición %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "falló el montaje de la partición %s en el directorio %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Verificando %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "error desmontando %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Habilitando la partición swap %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Usar un sistema de archivos cifrado"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Permitir la contabilidad de las cuotas del disco y opcionalmente, forzar "
+"límites"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"No actualizar los tiempos de acceso al inodo en este sistema de archivos\n"
+"(ej: para un acceso más rápido al spool de noticias en un servidor de "
+"noticias)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Sólo se puede montar explícitamente (es decir,\n"
+"la opción -a no causará que se monte el sistema de archivos)"
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"No interpretar dispositivos especiales de bloque o carácter en el sistema de "
+"archivos."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"No permitir la ejecución de binarios en el sistema de archivos montado.\n"
+"Esta opción puede ser útil para un servidor que tiene sistemas de archivos\n"
+"que contienen binaros para arquitecturas distintas a la propia."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"No permitir que tengan efecto el ajuste de los bits set-user-id o set-group-"
+"id\n"
+"(Esto parece seguro, pero de hecho es bastante inseguro si tiene\n"
+"suidperl(1) instalado)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Montar el sistema de archivos como sólo de lectura."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+"Toda la E/S del sistema de archivos debería hacerse de manera sincrónica."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Permitir a cada usuario montar y desmontar el sistema de archivos."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Permitir a un usuario común montar el sistema de archivos."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Permitir la contabilidad de las cuotas de disco para los usuarios, y "
+"opcionalmente forzar límites"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Soportar atributos extendidos \"user.\""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Dar acceso de escritura a usuarios regulares"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Dar acceso sólo de lectura a usuarios regulares"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Punto de montaje %s duplicado"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "no hay particiones disponibles"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Rastreando las particiones para encontrar los puntos de montaje"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Seleccione los puntos de montaje"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Elija las particiones que desea formatear"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Falló la verificación del sistema de archivos %s. ¿Desea reparar los "
+"errores? (cuidado, puede perder datos)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Espacio de intercambio insuficiente para completar la instalación, añada un "
+"poco más"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Debe tener una partición raíz.\n"
+"Para ello, cree una partición (o haga clic sobre una que ya existe).\n"
+"Luego elija la acción \"Punto de montaje\" y defínalo como '/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"No dispone de una partición de intercambio\n"
+"\n"
+"¿Desea continuar de todas formas?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Usar el espacio libre"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "No hay espacio libre suficiente para asignar las particiones nuevas"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Usar la partición existente"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "No hay ninguna partición existente para usar"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Usar la partición de Microsoft Windows® para loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "¿Qué partición desea usar para Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Elija los tamaños"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Tamaño de la partición raíz en MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Tamaño de la partición de intercambio en MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"No hay particiones FAT para usar como loopback (o no queda espacio "
+"suficiente)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usar el espacio libre de la partición Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "¿A qué partición desea cambiarle el tamaño?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"El redimensionador de tamaño de la FAT no puede gestionar su partición, \n"
+"ocurrió el error siguiente: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Calculando el espacio de la partición Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Su partición Microsoft Windows® está muy fragmentada, por favor primero "
+"ejecute \"defrag\""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"¡ADVERTENCIA!\n"
+"\n"
+"\n"
+"Ahora DrakX cambiará el tamaño de su partición Windows.\n"
+"\n"
+"\n"
+"Proceda con cuidado: esta operación es peligrosa. Si aún no lo hizo, primero "
+"debería salir de la instalación, ejecutar \"chkdsk c:\" desde una Línea de "
+"Comandos bajo Windows (atención, ejecutar el programa gráfico \"scandisk\" "
+"no es suficiente, ¡asegúrese de usar \"chkdsk\" en una Línea de Comandos!), "
+"ejecutar \"defrag\" opcionalmente, y luego volver a iniciar la instalación. "
+"También debería hacer una copia de seguridad de sus datos.\n"
+"\n"
+"\n"
+"Cuando esté seguro, pulse sobre %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Siguiente"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"¿Qué tamaño desea conservar para Microsoft Windows® en la partición %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Tamaño"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Cambiando tamaño a partición Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Falló el redimensionado de la FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"No hay particiones FAT para redimensionar (o no queda espacio suficiente)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Quitar Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Borrar y usar el disco entero"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Tiene más de un disco rígido, ¿sobre cuál desea instalar Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Se perderán TODAS las particiones y sus datos en la unidad %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Particionamiento de disco personalizado"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Usar fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Ahora puede particionar %s.\n"
+"Cuando haya terminado, no se olvide de guardar usando 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "No se puede encontrar nada de espacio para instalar"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+"El asistente de particionamiento de DrakX encontró las siguientes soluciones:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Falló el particionamiento: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "No se puede usar JFS para particiones menores de 32MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "No se puede usar ReiserFS para particiones menores de 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "con /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servidor"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+"Se detectó RAID por software para los discos %s en el BIOS ¿Desea activarlo?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"No se puede leer la tabla de particiones de %s, está demasiado corrupta :(\n"
+"Se puede seguir, borrando las particiones malas (¡perderá TODOS LOS "
+"DATOS!).\n"
+"La otra solución es no permitir que DrakX modifique la tabla de "
+"particiones.\n"
+"(el error es %s)\n"
+"\n"
+"¿Está de acuerdo en perder todas las particiones?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Los puntos de montaje deben comenzar con una /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Los puntos de montaje deberían contener sólo caracteres alfanuméricos"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Ya existe una partición con el punto de montaje %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Eligió una partición RAID en software como partición raíz (/).\n"
+"Ningún cargador de arranque es capaz de manejar esto sin una partición /"
+"boot.\n"
+"Por favor, asegúrese de añadir una partición /boot."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"No puede usar un Volumen Lógico LVM para el punto de montaje %s ya que cubre "
+"varios volúmenes físicos"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Seleccionó un volumen lógico LVM como raíz (/).\n"
+"El cargador de arranque no puede manejar esto cuando el volume lógico se "
+"extiende sobre varios volúmenes físicos.\n"
+"Debería crear una partición /boot primero"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Este directorio debería permanecer dentro del sistema de archivos raíz"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Necesita un sistema de archivos verdadero (ext2/ext3, reiserfs, xfs o jfs) "
+"para este punto de montaje\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"No puede usar un sistema de archivos cifrado para el punto de montaje %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "No hay espacio libre suficiente para la asignación automática"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nada para hacer"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disquete"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disco"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Grabadoras de CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Cinta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Controladoras AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Tarjeta de vídeo"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Tarjeta DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Tarjeta de TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Otros dispositivos multimedios"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Tarjeta de sonido"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Cámara web"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Procesadores"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Adaptadores RDSI"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Dispositivos de sonido USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Tarjetas de radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Tarjetas de red ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Tarjetas de red WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Dispositivos Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Tarjeta Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Módem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Adaptadores ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memoria"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Impresora"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Controladores de juegos"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Controladoras SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Controladoras RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Controladores (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Dispositivos de almacenamiento USB"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Lectores de tarjetas"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Controladores Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Controladores PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Controladores SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Controladores USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Puertos USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Controladores SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Puentes y controladores del sistema"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tableta y touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Ratón"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Escáner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Desconocido/Otros"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Espere, por favor... Aplicando la configuración"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "No hay controlador alternativo"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"No hay controlador alternativo OSS/ALSA conocido para su tarjeta de sonido (%"
+"s) que en este momento usa \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Configuración de sonido"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Aquí puede seleccionar un controlador alternativo (OSS o ALSA) para su "
+"tarjeta de sonido (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Actualmente su tarjeta usa el controlador %s\"%s\" (el controlador predet. "
+"para su tarjeta es \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) fue el primer API de sonido. Es un API de sonido "
+"independiente del sistema operativo (está disponible en la mayoría de los "
+"sistemas UNIX(tm)) pero es un API muy básico y limitado.\n"
+"Es más, todos los controladores OSS reinventan la rueda.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) es una arquitectura modular que\n"
+"soporta un amplio rango de tarjetas ISA, USB y PCI.\n"
+"\n"
+"También brinda un API de más alto nivel que OSS.\n"
+"\n"
+"Para utilizar ALSA, uno puede utilizar:\n"
+"- el API antiguo de compatibilidad OSS\n"
+"- el API nuevo de ALSA que brinda muchas características mejoradas pero "
+"necesita del uso de la biblioteca ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Controlador:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Solución de problemas"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"El controlador antiguo \"%s\" está en la lista negra.\n"
+"\n"
+"Ha sido reportado como problemático para el núcleo al descargarlo.\n"
+"\n"
+"El controlador nuevo \"%s\" sólo se utilizará en el próximo arranque."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "No hay controlador de código libre"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"No hay controlador libre para su tarjeta de sonido (%s), pero hay uno "
+"propietario en \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "No hay controlador conocido"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "No hay un controlador conocido para su tarjeta de sonido (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Controlador desconocido"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Error: el controlador \"%s\" para su tarjeta de sonido no está listado"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Solución de problemas de sonido"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"El probador de sonido clásico va a ejecutar los comandos siguientes:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" le dirá qué controlador predet. usa su\n"
+"tarjeta de sonido\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\n"
+"\" le dirá qué controlador usa la misma\n"
+"en este momento\n"
+"\n"
+"- \"/sbin/lsmod\" le permitirá verificar si su módulo (controlador) está\n"
+"cargado o no\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" y \"/sbin/chkconfig --list alsa\" le "
+"dirá\n"
+"si los servicios alsa y sonido están configurados para correr en el nivel\n"
+"de ejecución 3\n"
+"\n"
+"- \"aumix -q\" le dirá si el volumen del sonido está mudo o no\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" le dirá qué programa utiliza la tarjeta de "
+"sonido.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Permitirme elegir cualquier controlador"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Eligiendo un controlador arbitrario"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Si realmente cree que sabe qué controlador es el adecuado para su tarjeta\n"
+"puede elegir uno en la lista de arriba.\n"
+"\n"
+"El controlador corriente para su tarjeta de sonido \"%s\" es \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Detección automática"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Desconocido|Genérico"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Desconocido|CPH05X (bt878) [muchos fabricantes]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Desconocido|CPH06X (bt878) [muchos fabricantes]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"El módulo bttv del núcleo GNU/Linux simplemente detecta automáticamente los "
+"parámetros correctos para la mayoría de las tarjetas de TV modernas.\n"
+"Si no se detecta correctamente la suya, aquí puede forzar los tipos de "
+"tarjeta y sintonizador adecuados. Simplemente seleccione los parámetros de "
+"su tarjeta de TV si lo necesita."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Modelo de la tarjeta :"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipo de sintonizador :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Aceptar"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Sí"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "No"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Elija un archivo"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Agregar"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modificar"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Quitar"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Finalizar"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Anterior"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Elección incorrecta, inténtelo de nuevo\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "¿Su elección? (por defecto %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Entradas que tendrá que rellenar:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "¿Su elección? (0/1, por defecto '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Botón `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "¿Desea pulsar este botón?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "¿Su elección? (por defecto %s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "ingrese `void' para una entrada vacía"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Hay muchas cosas para seleccionar (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Por favor, seleccione el primer número del rango de 10 que desee\n"
+"editar, o pulse Intro para continuar.\n"
+"¿Su elección?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Aviso, una etiqueta cambió:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Reenviar"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emiratos Árabes Unidos"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistán"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua y Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antillas Holandesas"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antártica"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Americana"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbayán"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Bélgica"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benín"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bután"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Isla Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorrusia"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belice"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canadá"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Islas Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "República Centroafricana"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suiza"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Costa de Marfil"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Islas Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camerún"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cabo Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Isla Navidad"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Chipre"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "República Checa"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Alemania"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dinamarca"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "República Dominicana"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Argelia"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipto"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Oeste"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "España"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopía"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Islas Malvinas"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Islas Feroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francia"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabón"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Reino Unido"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Granada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guayana Francesa"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlandia"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadalupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea Ecuatorial"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grecia"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Islas Georgia del Sur y Sandwich del Sur"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Islas Heard y McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croacia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haití"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungría"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territorio Británico del Océano Índico"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irán"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandia"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japón"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirguizistán"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Camboya"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comores"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts y Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corea (del Norte)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Islas Caimán"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazajstán"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Líbano"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Lucía"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburgo"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letonia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marruecos"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Mónaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavia"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Islas Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Islas Marianas del Norte"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinica"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Monserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauricio"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivas"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "México"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malasia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nueva Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Níger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Isla Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holanda"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noruega"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nueva Zelanda"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omán"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panamá"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perú"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinesia Francesa"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papúa Nueva Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinas"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistán"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre y Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunión"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumanía"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabia Saudí"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Islas Salomón"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudán"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Suecia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Eslovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Islas Svalbard e Islas Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Eslovaquia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leona"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Santo Tomé y Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swazilandia"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Islas Turks y Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Territorios Franceses del Sur"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailandia"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistán"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Oriental"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistán"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunicia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turquía"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad y Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwán"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ucrania"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Islas Circundantes Menores de los Estados Unidos"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Estados Unidos"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistán"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vaticano"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "San Vicente y las Granadinas"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Islas Vírgenes (Británicas)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Islas Vírgenes (EE.UU.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis y Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sudáfrica"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbaue"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Bienvenido a %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Falló el movimiento de espacio físico a otros volúmenes físicos"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "El volumen físico %s todavía está en uso"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Quite los volúmenes lógicos primero\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"El cargador de arranque no puede manejar /boot en múltiples volúmenes físicos"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"EL PRESENTE TEXTO ES UNA TRADUCCIÓN A PROPÓSITO EXCLUSIVAMENTE\n"
+"INFORMATIVO DE LOS TÉRMINOS DE LA LICENCIA DE MANDRAKELINUX. EN\n"
+"NINGÚN CASO LA PRESENTE TRADUCCIÓN TIENE VALOR LEGAL SIENDO OFICIAL\n"
+"EXCLUSIVAMENTE LA VERSIÓN EN FRANCÉS DE LA LICENCIA DE MANDRAKELINUX.\n"
+"No obstante, esperamos que esta traducción ayudará a los que hablan\n"
+"castellano a entenderla mejor.\n"
+"\n"
+"\n"
+"Introducción\n"
+"\n"
+"El sistema operativo y los diferentes componentes disponibles en\n"
+"la distribución Mandriva Linux se denominarán \"Productos Software\"\n"
+"en adelante.\n"
+"Los Productos Software incluyen, pero no están restringidos a,\n"
+"el conjunto de programas, métodos, reglas y documentación\n"
+"relativas al sistema operativo y a los diferentes componentes de la\n"
+"distribución Mandriva Linux.\n"
+"\n"
+"\n"
+"1. Acuerdo de Licencia\n"
+"\n"
+"Por favor, lea con cuidado este documento. El mismo constituye un\n"
+"contrato de licencia entre Usted y Mandriva S.A. que se aplica\n"
+" a los Productos Software.\n"
+"El hecho de instalar, duplicar o usar los Productos Software de\n"
+"cualquier manera, indica que acepta explícitamente, y está de acuerdo\n"
+"con, los términos y condiciones de esta Licencia.\n"
+"Si no está de acuerdo con cualquier porción de esta Licencia, no está\n"
+"autorizado a instalar, duplicar o usar de manera alguna\n"
+"los Productos Software.\n"
+"Cualquier intento de instalar, duplicar o usar los Productos Software\n"
+"en una manera tal que no cumpla con los términos y condiciones\n"
+"de esta Licencia es nulo y terminará sus derechos bajo esta\n"
+"Licencia. En caso de anulación de la Licencia, Usted deberá destruir\n"
+"de inmediato todas las copias de los Productos Software.\n"
+"\n"
+"\n"
+"2. Garantía limitada\n"
+"\n"
+"Los Productos Software y la documentación que los acompaña se\n"
+"proporcionan \"tal cual\", sin garantía alguna hasta donde lo permita la "
+"ley.\n"
+"Mandriva S.A. no se responsabilizará, bajo circunstancia alguna,\n"
+"y hasta donde lo permita la ley, por cualquier daño directo o indirecto,\n"
+"especial o accesorio, de cualquier naturaleza (incluyendo\n"
+"sin limitación daños por pérdidas de beneficios, interrupción de\n"
+"actividad, pérdidas financieras,\n"
+"costas legales y penalidades resultantes de un juicio en la corte,\n"
+" o cualquier pérdida consecuente)\n"
+"que resulte del uso o de la incapacidad de uso de los\n"
+"Productos Software, incluso si Mandriva S.A. hubiera sido informada\n"
+"de la posibilidad de ocurrencia de tales daños.\n"
+"\n"
+"ADVERTENCIA EN CUANTO A LA POSESIÓN O USO DE PROGRAMAS PROHIBIDOS\n"
+"EN CIERTOS PAÍSES\n"
+"\n"
+"Dentro de lo que permita la ley, Mandriva S.A. ni sus proveedores\n"
+"podrán ser responsabilizados en circunstancia alguna por un perjuicio\n"
+"especial, directo, indirecto o accesorio, de cualquier naturaleza\n"
+"(incluyendo sin limitación daños por pérdidas de beneficio, interrupción\n"
+"de actividad, pérdidas financieras, costas legales y penalidades "
+"resultantes\n"
+"de un juicio en la corte, o cualquier pérdida consecuente) como\n"
+"consecuencia de la posesión y el uso de los componentes software\n"
+"o como consecuencia de la descarga de los componentes\n"
+"software desde alguno de los sitios Mandriva Linux, los cuales están\n"
+"prohibidos o restringidos en algunos países por las leyes locales.\n"
+"Esta responsabilidad limitada se aplica, pero no esta limitada, a los\n"
+"componentes de criptografía fuerte incluídos en los Productos Software.\n"
+"\n"
+"\n"
+"3. Licencia GPL y relacionadas\n"
+"\n"
+"Los Productos Software están constituidos por componentes creados\n"
+"por personas o entidades diferentes.\n"
+"La mayoría se distribuyen bajo los términos de la Licencia Pública General "
+"GNU\n"
+"(denominada a partir de ahora \"GPL\"), u otras licencias similares.\n"
+"La mayoría de estas licencias le permiten copiar, adaptar o redistribuir "
+"los\n"
+"componentes de los programas que cubren. Por favor lea y acepte los\n"
+"términos y condiciones de las licencias que acompañan a cada uno de\n"
+"ellos antes de usarlos. Toda pregunta relativa a la licencia de un\n"
+"componente se debe dirigir al autor (o su representante) de dicho\n"
+"componente, y no a Mandriva. Los programas desarrollados\n"
+"por Mandriva están sometidos a la licencia GPL. La documentación\n"
+"escrita por Mandriva está sometida a una licencia especifica.\n"
+"Por favor, consulte la documentación para obtener más detalles.\n"
+"\n"
+"\n"
+"4. Derechos de propiedad intelectual\n"
+"\n"
+"Todos los derechos de los componentes de los Productos Software\n"
+"pertenecen a sus autores respectivos y están protegidos por la ley\n"
+"de propiedad intelectual y de copyright aplicables a los programas\n"
+"de software.\n"
+"Mandriva S.A. se reserva el derecho de modificar o adaptar los\n"
+"Productos Software, como un todo o en parte, por todos los medios\n"
+"y para cualquier propósito.\n"
+"\"Mandriva\", \"Mandriva Linux\" y los logos asociados están registrados\n"
+"por Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Disposiciones diversas\n"
+" \n"
+"Si cualquier disposición de este contrato fuera declarada\n"
+"nula, ilegal o inaplicable por un tribunal competente, esta\n"
+"disposición se excluye del presente contrato. Usted permanecerá\n"
+"sometido a las otras disposiciones aplicables del acuerdo.\n"
+"Los términos y condiciones de esta Licencia están regidos por las\n"
+"Leyes de Francia.\n"
+"Toda disputa relativa a los términos de esta licencia será\n"
+"resuelta, preferentemente, por vía judicial. Como último recurso,\n"
+"la disputa será tramitada en la Corte de Ley correspondiente de\n"
+"París, Francia.\n"
+"Para cualquier pregunta relacionada con este documento, por favor,\n"
+"póngase en contacto con Mandriva S.A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Atención: El software libre (Free Software) puede no ser estar "
+"necesariamente\n"
+"libre de patentes, y alguno software libre incluido puede estar cubierto "
+"por\n"
+"patentes en su país. Por ejemplo, los decodificadores MP3 incluídos pueden\n"
+"necesitar una licencia para uso adicional (vea http://www.mp3licensing.com\n"
+"para más detalles). Si no está seguro si una patente puede o no aplicarse\n"
+"a Usted, por favor consulte las leyes locales."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Importante\n"
+"\n"
+"Haga el favor de leer cuidadosamente el presente documento. En caso de "
+"desacuerdo\n"
+"con el presente documento, no está autorizado a instalar los demás\n"
+"CD. En este caso seleccione 'Rechazar' para seguir la instalación sin\n"
+"estos CD.\n"
+"\n"
+"\n"
+"Algunos componentes de software contenidos en los siguientes CD no\n"
+"están sometidos a las licencias GPL o similares que permitan la copia,\n"
+"adaptación o redistribución. Cada uno de los componentes de software\n"
+"esta distribuido bajo los términos y condiciones de un acuerdo de\n"
+"licencia propio. Por favor, dirájase a éste y acéptelo antes de instalarlo,\n"
+"usarlo o redistribuirlo. Generalmente, estas licencias no autorizan la\n"
+"copia (salvo las destinadas a copias de seguridad), la distribución, "
+"descompilación,\n"
+"desensamblado, ingeniería inversa, reconstitución de la lógica del\n"
+"programa y/o modificación, salvo en la medida y para las necesidades\n"
+"autorizadas por las leyes vigentes. Toda violación de la licencia\n"
+"vigente implica generalmente la caducidad de está, sin perjuicio a\n"
+"todos los demás derechos o acciones dirigidos en contra de Ud. Salvo si\n"
+"el acuerdo de licencia lo autoriza, no puede instalar estos programas\n"
+"en más de una máquina, ni adaptarlos para un uso en red. Si fuese\n"
+"necesario, contacte con el distribuidor de cada programa para\n"
+"obtener licencias adicionales. La distribución a terceros de copias de\n"
+"los programas o de la documentación que lo acompaña generalmente\n"
+"suele estar prohibida.\n"
+"\n"
+"\n"
+"Todos los derechos, títulos e intereses de esos programas son la\n"
+"propiedad exclusiva de sus autores respectivos y están protegidos por el\n"
+"derecho de la propiedad intelectual y otras leyes aplicables al derecho\n"
+"del software.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Felicidades, la instalación está completa.\n"
+"Extraiga el soporte de arranque y presione Intro para reiniciar.\n"
+"\n"
+"\n"
+"Para obtener información sobre correcciones disponibles para esta versión\n"
+"de Mandriva Linux, consulte el archivo de erratas disponible en\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Hay información disponible sobre cómo configurar su sistema en el capítulo "
+"de\n"
+"configuración tras la instalación de la Guía del Usuario de Mandriva Linux "
+"oficial."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "¡Este controlador no tiene parámetros de configuración!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Configuración del módulo"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Aquí puede configurar cada parámetro del módulo."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Interfaces encontradas: %s"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "¿Tiene alguna otra?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "¿Tiene alguna interfaz %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Ver información sobre el hardware"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instalando controlador para el USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instalando controlador para el firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instalando controlador para la unidad de disco duro %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instalando controlador para la tarjeta ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instalando controlador para la tarjeta %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Ahora puede proporcionar las opciones al módulo %s.\n"
+"Note que cualquier dirección debe ingresarse con el prefijo 0x, ej.: '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Aquí deben ir las diferentes opciones para el módulo %s.\n"
+"Las opciones son de la forma \"nombre=valor nombre2=valor2 ...\".\n"
+"Por ejemplo, \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opciones de los módulos:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "¿Qué controlador de %s debo probar?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"En algunos casos, el controlador de %s necesita información extra\n"
+"para funcionar correctamente, aunque normalmente funcione sin ella.\n"
+"¿Desea especificar información extra para el controlador o dejar que el "
+"mismo\n"
+"pruebe su equipo y encuentre la información que necesita? A veces,\n"
+"el probar el equipo puede provocar que éste se cuelgue, pero no debería\n"
+"causar ningún daño."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Autodetección"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Especificar las opciones"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Error al cargar el módulo %s.\n"
+"¿Desea intentarlo de nuevo con otros parámetros?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "mount falló: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "La partición extendida no está disponible en esta plataforma"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Tiene un hueco en la tabla de particiones, pero no se puede usar.\n"
+"La única solución es desplazar sus particiones primarias para que el hueco "
+"esté después de las particiones extendidas"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Error al leer el archivo %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Falló la restauración a partir del archivo %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Archivo de respaldo incorrecto"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Error al escribir en el archivo %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Está ocurriendo algo malo en su unidad. \n"
+"Ha fallado una prueba para verificar la integridad de los datos. \n"
+"Esto significa que escribir cualquier cosa en el disco terminará produciendo "
+"datos aleatorios, corruptos."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "No se puede añadir una partición al RAID %s_ya formateado_"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "No hay suficientes particiones para un RAID de nivel %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "¡No se pudo crear directorio /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "¡No se pudo crear vínculo /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"¡No se pudo copiar el archivo de firmware %s a /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "¡No se pudo ajustar permisos en el archivo de firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"No se pueden instalar los paquetes necesarios para compartir sus escáneres."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Sus escáneres no estarán disponibles para los usuarios no-root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Aceptar/Rechazar mensajes de error IPv4 simulados."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Aceptar/Rechazar eco ICMP difundido."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Aceptar/Rechazar eco ICMP."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Permitir/Prohibir conexión automática."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Si \"TODO\" permitir que existan /etc/issue y /etc/issue.net. Si \"NINGUNO\" "
+"no se permiten \"issues\".\n"
+"\n"
+"De lo contrario sólo se permite /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Permitir/Prohibir reinicio por parte del usuario de la consola."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Permitir/Prohibir conexión remota de root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Permitir/Prohibir conexión directa de root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Permitir/Prohibir la lista de usuarios del sistema en administradores de "
+"conexión (kdm y gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Permitir/prohibir exportar pantalla cuando\n"
+"se pasa de la cuenta root a las otras cuentas.\n"
+"\n"
+"Consulte pam_xauth(8) para más detalles.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Permitir/Prohibir conexiones X:\n"
+"\n"
+"- TODO (permitir todas las conexiones),\n"
+"\n"
+"- LOCAL (sólo conexiones desde la máquina local),\n"
+"\n"
+"- NINGUNO (ninguna conexión)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"El argumento especifica si los clientes están autorizados a conectar\n"
+"al servidor X en el puerto TCP 6000 o no."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorizar:\n"
+"\n"
+"- todos los servicios controlados por tcp_wrappers (ver hosts.deny(5)) si se "
+"configura en \"TODO\",\n"
+"\n"
+"- sólo los locales si se configura en \"LOCAL\"\n"
+"\n"
+"- ninguno si se configura en \"NINGUNO\".\n"
+"\n"
+"Para autorizar los servicios que necesita, use /etc/hosts.allow (ver hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Si SERVER_LEVEL (o SECURE_LEVEL si no está)\n"
+"es mayor que 3 en /etc/security/msec/security.conf, crea el\n"
+"symlink /etc/security/msec/server para que apunte a\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"chkconfig --add utiliza a /etc/security/msec/server para decidir\n"
+"añadir un servicio si está presente en el archivo\n"
+"durante la instalación de paquetes."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Habilitar/deshabilitar crontab y at para usuarios.\n"
+"\n"
+"Poner los permitidos en /etc/cron y /etc/at.allow\n"
+"(ver man at(1) y crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Habilitar/Deshabilitar reporte de syslog en la consola 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Habilitar/deshabilitar protección de engaño de resolución de nombres. Si\n"
+"\"%s\" es verdadero, también reportar a syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Alertas de seguridad:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Habilitar/Deshabilitar protección contra engaño de IP."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Habilitar/Deshabilitar libsafe si es que se encuentra en el sistema."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Habilitar/Deshabilitar registro de paquetes IPv4 extraños."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Habilitar/Deshabilitar verificación horaria de seguridad de msec."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Permitir su sólo a miembros del grupo wheel. Si es No, permite hacer su a "
+"cualquier usuario."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Usar contraseña para autenticar usuarios."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Activar/desactivar verificaciones de promiscuidad de tarjetas Ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Activar/desactivar verificaciones diarias de seguridad."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Habilitar/Deshabilitar sulogin(8) en nivel de usuario único."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Añadir el nombre como una excepción al manejo de edad de contraseñas por "
+"msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Configurar edad de contraseñas en \"max\" días y demorar el cambio a "
+"\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Configurar la longitud de la historia de contraseñas para prevenir "
+"reutilización de contraseñas."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Configurar la longitud mínima de contraseña y la cantidad mínima de dígitos "
+"y cantidad mínima de letras mayúsculas."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Configurar la umask de root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "si se pone en sí, verificar puertos abiertos."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"si se pone en sí, verificar:\n"
+"\n"
+"- contraseña vacía,\n"
+"\n"
+"- sin contraseña en /etc/shadow\n"
+"\n"
+"- por usuarios con el id 0 que no sean root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"si se pone en sí, verificar permisos de archivos en dirs. personales de "
+"usuarios."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"si se pone en sí, verificar si los dispositivos de red están en modo "
+"promiscuo."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "si se pone en sí, ejecutar las verificaciones de seguridad diarias."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "si se pone en sí, verificar adiciones/remociones de archivos sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "si se pone en sí, verificar contraseña vacía en /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "si se pone en sí, verificar suma de los archivos suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"si se pone en sí, verificar adiciones/remociones de archivos suid root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "si se pone en sí, reportar archivos sin dueño."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"si se pone en sí, verificar archivos/directorios que todos pueden escribir."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "si se pone en sí, ejecutar verificaciones chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"si está activo, enviar el correo de reporte a esta dirección, caso contrario "
+"a root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "si se pone en sí, reportar resultado de verificación por correo-e."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "No enviar correo si no hay advertencias"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+"si se pone en sí, correr algunas pruebas contra la base de datos de rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "si se pone en sí, reportar resultado de verificación en syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "si se pone en sí, reportar resultados de verificación en tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Ajustar el tamaño de la historia de comandos. Un valor de -1 significa "
+"ilimitada."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Ajustar el timeout del shell. Un valor de cero significa sin timeout."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "La unidad del tiempo de espera es el segundo"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Configurar la umask de usuario."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Aceptar mensajes de error IPv4 simulados"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Aceptar eco ICMP difundido"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Aceptar eco ICMP"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue*.exist"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "El usuario puede reiniciar desde la consola"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Permitir conexión remota de root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Conexión directa de root"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Listar usuarios del sistema en administradores de conexión (kdm y gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Exportar pantalla cuando se pasa de root a otras cuentas"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Permitir conexiones X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorizar conexiones TCP desde X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorizar todos los servicios controlados por tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig obedece las reglas de msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Habilitar \"crontab\" y \"at\" para los usuarios"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog reporta en la consola 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Protección contra engaño de resolución de nombres"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Habilitar protección contra engaño de IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Habilitar libsafe si es que se encuentra en el sistema"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Habilitar registro de paquetes IPv4 extraños"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Habilitar verificación horaria de seguridad de msec"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Permitir su sólo a miembros del grupo wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Usar contraseña para autenticar usuarios"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Verificaciones de promiscuidad de tarjetas Ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Verificación diaria de seguridad"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) en nivel de usuario único"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Sin edad de contraseñas para"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Ajustar expiración de contraseñas y demoras de desactivación de cuentas"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Longitud de historia de contraseñas"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Longitud mínima y cantidad de dígitos y letras mayúsculas para contraseñas"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Máscara de root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Tamaño de historia del shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Tiempo de espera del shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Máscara de usuario"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Verificar puertos abiertos"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Verificar cuentas no seguras"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Verificar permisos de archivos en dirs. personales de usuarios"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Verificar si los dispositivos de red están en modo promiscuo"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Ejecutar verificaciones de seguridad diarias"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Verificar adiciones/remociones de archivos sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Comprobar contraseña vacía en /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Verificar suma de los archivos suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Verificar adiciones/remociones de archivos suid root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Reportar archivos sin dueño"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Verificar archivos/directorios que todos pueden escribir"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Ejecutar verificaciones chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "No enviar por correo electrónico los reportes vacíos"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Si está activo, enviar el correo de reporte a esta dirección, caso contrario "
+"a root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Reportar resultado de verificación por correo-e"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Correr algunas pruebas contra la base de datos de rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Reportar resultado de verificación en syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Reportar resultados de verificación en tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Bienvenidos, crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Pobre"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Estándar"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Alta"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Más alta"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoica"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Este nivel se debe usar con mucho cuidado. Hace su sistema más simple de\n"
+"usar, pero también mucho más vulnerable: no debe usarse para una máquina\n"
+"conectada en red con otras o a Internet. No hay contraseñas de acceso."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Las contraseñas están activadas, pero tampoco se recomienda usar este\n"
+"nivel para un ordenador conectado a una red."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Éste es el nivel de seguridad estándar recomendado para una máquina que se\n"
+"utilizará para conectarse a la Internet como cliente."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Ya hay algunas restricciones, y todas las noches se corren más "
+"verificaciones automáticas."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Con este nivel de seguridad, es posible utilizar el sistema como un "
+"servidor.\n"
+"La seguridad es lo suficientemente alta como para usar el sistema como un\n"
+"servidor que acepte conexiones de múltiples clientes. Nota: si su máquina "
+"sólo es un cliente en la Internet, mejor debería elegir un nivel inferior."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Basado en el nivel anterior, pero el sistema está completamente cerrado.\n"
+"Las características de seguridad están al máximo."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Seguridad"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opciones básicas de DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Por favor, elija el nivel de seguridad deseado"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Nivel de seguridad"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Utilizar libsafe para los servidores"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Una biblioteca que le defiende ante ataques de desbordamiento de búfer y "
+"ataques con cadenas de formato."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Administrador de la seguridad (login o correo electrónico)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"Lanzar el sistema de sonido ALSA (Arquitectura avanzada de sonido de Linux)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, un planificador de comandos periódicos."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd se usa para monitorizar el estado de las baterías y enviar esa\n"
+"información a syslogd. También puede usarse para apagar el equipo cuando\n"
+"la batería está casi descargada."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Ejecuta los comandos programados por el comando at en el momento\n"
+"especificado al lanzar at, y ejecuta comandos por lotes (batch) cuando\n"
+"la carga promedio del sistema es suficientemente baja."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron es un programa UNIX estándar que ejecuta programas especificados por\n"
+"el usuario periódicamente. El cron de Vixie añade varias funcionalidades al "
+"cron de Unix \n"
+"básico, incluyendo una mayor seguridad y opciones de configuración más "
+"potentes."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM es un demonio de monitoreo de archivos. Se usa para obtener reportes "
+"cuando cambian los archivos.\n"
+"Lo utilizan GNOME y KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM añade soporte del ratón para los programas Linux en modo texto, como\n"
+"el Midnight Commander. También permite operaciones de cortar-y-pegar con\n"
+"el ratón en la consola, e incluye soporte para menús emergentes en la "
+"consola."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake lanza una prueba del hardware, y opcionalmente configura\n"
+"el hardware nuevo/cambiado."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache es un servidor de páginas web. Se usa para servir archivos HTML y "
+"programas CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"El demonio para el superservidor de Internet (normalmente llamado inetd) "
+"inicia\n"
+"una variedad de servicios adicionales de internet según sea necesario.\n"
+"Es el responsable de iniciar varios servicios, incluyendo telnet, ftp, rsh\n"
+"y rlogin. Al desactivar inetd, se desactivan todos los servicios que "
+"dependen de él."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Lanza el filtrado de paquetes para los núcleos de Linux de la serie 2.2,\n"
+"para configurar un cortafuegos que protege a su máquina de los ataques de la "
+"red."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Este paquete carga la definición de teclado que se indica en\n"
+"/etc/sysconfig/keyboard. Puede ser configurado con el programa kbdconfig.\n"
+"Debe dejarse activo en la mayoría de las máquinas."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Regeneración automática de la cabecera del núcleo en /boot para\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Detección y configuración automática del hardware al arrancar."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf a veces realizará varias tareas al arrancar para\n"
+"mantener la configuración del sistema."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd es el demonio de impresión, necesario para que lpr funcione\n"
+"correctamente. Básicamente, es un servidor que coloca las tareas de\n"
+"impresión en las colas de impresión adecuadas para cada impresora."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"El servidor virtual de Linux (LVS) se usa para construir servidores de alto\n"
+"rendimiento y alta disponibilidad."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) es un servidor de nombres de dominio (DNS) usado para convertir "
+"los nombres de máquinas en direcciones IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monta y desmonta todos los puntos de montaje de sistemas de archivos\n"
+"compartidos por medio de la red; como NFS (Network File System),\n"
+"SMB (Lan Manager/Windows) y NCP (Netware)"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Activa/desactiva todas las interfaces de red configuradas para iniciarse\n"
+"en el arranque del sistema."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS es un protocolo muy popular para compartir archivos en redes TCP/IP.\n"
+"Este servicio proporciona la funcionalidad de servidor NFS, que se "
+"configura\n"
+"a través del archivo /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS es un protocolo muy popular para compartir archivos en redes TCP/IP.\n"
+"Este servicio proporciona la funcionalidad de bloqueo de archivos por NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Activar el bloqueo numérico automáticamente bajo la consola y\n"
+"Xorg al arrancar."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Admitir las win-impresoras OKI 4w y compatibles."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"El soporte PCMCIA se usa por lo general para admitir cosas como tarjetas\n"
+"de red o módems en ordenadores portátiles. No se iniciará salvo que\n"
+"esté configurado, por lo que no es un problema tenerlo instalado\n"
+"en máquinas que no lo necesiten."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"El portmapper gestiona las conexiones RPC; que usan protocolos como\n"
+"NFS y NIS. El servidor portmap se debe estar ejecutando en los sistemas que "
+"actúan\n"
+"como servidores para protocolos que usan el mecanismo RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix es un agente de transporte de correo (MTA), es decir el programa "
+"encargado de enviar el correo electrónico de una máquina a otra."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Guarda y recupera el mecanismo de entropía del sistema; usado para la\n"
+"generación de números aleatorios de gran calidad."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Asignar dispositivos 'crudos' a dispositivos de bloque (como las particiones "
+"de los discos), para usar aplicaciones como Oracle o reproductores DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"El demonio routed permite actualizar automáticamente las tablas de "
+"enrutamiento IP\n"
+"gracias al protocolo RIP. Mientras que RIP se usa bastante en redes "
+"pequeñas,\n"
+"para redes más complejas, se necesitan protocolos de enrutamiento más "
+"complejos."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"El protocolo rstat permite a los usuarios de una red recoger\n"
+"información sobre el rendimiento de cualquier máquina de dicha red."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"El protocolo rusers permite que los usuarios de una red identifiquen\n"
+"quien está conectado en otras máquinas que respondan."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"El protocolo rwho permite que los usuarios remotos obtengan una lista\n"
+"de todos los usuarios conectados a una máquina que ejecuta el demonio rwho\n"
+"(similar al finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Lanza el sistema de sonido en su máquina"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog es el servicio a través del que varios demonios van a enviar\n"
+"sus mensajes de registro, que syslog va a redirigir a varios archivos\n"
+"de registro(log). Es una buena idea ejecutar siempre syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Carga los controladores para sus dispositivos USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Inicia el servidor de tipografías X11 (obligatorio para correr Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Imprimiendo"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Compartir archivos"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Administración remota"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Servidor de base de datos"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servicios"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Seleccione qué servicios se deben iniciar automáticamente al arrancar"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servicios: %d activados de %d registrados"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "corriendo"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "parado"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servicios y demonios"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"No hay información adicional para\n"
+"este servicio. Disculpe."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Información"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Comenzar cuando se pida"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Al iniciar"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Iniciar"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Parar"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+" Este programa es software libre; puede redistribuirlo y/o modificarlo\n"
+" bajo los términos de la Licencia Pública General GNU publicada por la\n"
+" Free Software Foundation; ya sea la versión 2, o (a su opción) cualquier\n"
+" versión posterior.\n"
+"\n"
+" Este programa se distribuye con la esperanza que será útil, pero\n"
+" SIN GARANTÍA ALGUNA; incluso sin la garantía implícita de COMERCIABILIDAD\n"
+" o ADECUABILIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la\n"
+" Licencia Pública General GNU para más detalles.\n"
+"\n"
+" Debería haber recibido una copia de la Licencia Pública General GNU\n"
+" junto con este programa; de no ser así, escriba a la Free Software\n"
+" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Aplicación de respaldo y restauración\n"
+"\n"
+"--default : guarda directorios predeterminados.\n"
+"--debug : mostrar todos los mensajes de depuración.\n"
+"--show-conf : lista los archivos o directorios a respaldar.\n"
+"--config-info : explica las opciones de configuración (para usuarios "
+"no-X)\n"
+"--daemon : usa la configuración de demonio. \n"
+"--help : muestra este mensaje.\n"
+"--version : muestra el número de versión.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIONES:\n"
+" --boot - permitir configurar el cargador de arranque\n"
+" --splash - permitir configurar el tema de arranque\n"
+"modo predeterminado: ofrecer la configuración de la característica de "
+"conexión automática."
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPCIONES] [NOMBRE_PROGRAMA]\n"
+"\n"
+"OPCIONES:\n"
+" --help - imprime este mensaje de ayuda.\n"
+" --report - programa debería ser una herramienta Mandriva Linux\n"
+" --incident - programa debería ser una herramienta Mandriva Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - asistente \"añadir una interfaz de red\"\n"
+" --del - asistente \"quitar una interfaz de red\"\n"
+" --skip-wizard - administrar conexiones\n"
+" --internet - configurar la Internet\n"
+" --wizard - igual que --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Aplicación de importación y monitoreo de tipografías\n"
+"\n"
+"OPCIONES:\n"
+"--windows_import : importar desde todas las particiones Windows "
+"disponibles.\n"
+"--xls_fonts : mostrar todas las tipografías que ya existen en xls\n"
+"--strong : verificación fuerte de las tipografías.\n"
+"--install : aceptar cualquier tipografía o directorio de "
+"tipografías.\n"
+"--uninstall : desinstalar cualquier tipografía o directorio de tipog.\n"
+"--replace : reemplazar las tipografías si ya existen.\n"
+"--application : 0 ninguna aplicación.\n"
+" : 1 todas las aplicaciones soportadas disponibles.\n"
+" : nombre_de_aplicación como por ej. so para staroffice\n"
+" y gs para ghostscript."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPCIONES]...\n"
+"Configurador del Servidor de Terminales de Mandriva Linux\n"
+"--enable : habilitar MTS\n"
+"--disable : deshabilitar MTS\n"
+"--start : iniciar MTS\n"
+"--stop : detener MTS\n"
+"--adduser : añadir usuario existente a MTS (necesita "
+"nombre_de_usuario)\n"
+"--deluser : quitar usuario existente de MTS (necesita "
+"nombre_de_usuario)\n"
+"--addclient : añadir máquina cliente a MTS (necesita dirección MAC, IP, "
+"nombre imagen nbi)\n"
+"--delclient : quitar máquina cliente de MTS (necesita dirección MAC, "
+"IP, nombre imagen nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[teclado]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=miarchivo] [--word=mipalabra] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPCIONES]\n"
+"Aplicación de monitoreo y conexión de Internet y redes\n"
+"\n"
+"--defaultintf interfaz : mostrar esta interfaz por defecto\n"
+"--connect : conectar a la Internet si no está conectado\n"
+"--disconnect : desconectar de la Internet si está conectado\n"
+"--force : utilizado con (dis)connect: forzar (des)conexión.\n"
+"--status : devuelve 1 si está conectado, 0 en caso "
+"contrario.\n"
+"--quiet : no ser interactivo. A utilizar con (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPCIÓN]...\n"
+" --no-confirmation no pedir confirmación en modo Mandriva Update\n"
+" --no-verify-rpm no verificar firmas de los paquetes\n"
+" --changelog-first mostrar changelog antes de lista de archivos en "
+"ventana de descripción\n"
+" --merge-all-rpmnew proponer mezclar todos los archivos .rpmnew/.rpmsave "
+"encontrados"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=disp.] [--update-sane=dir_fuente_sane] [--update-"
+"usbtable] [--dynamic=disp.]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolución"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Uso: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] "
+"[-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Todos los servidores"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "África"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "América del Norte"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanía"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "América del Sur"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federación Rusa"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "¿Es correcto?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "No se ha especificado ningún archivo"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Ha especificado un archivo, no un directorio"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Ha especificado un directorio, no un archivo"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "No existe ese directorio"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "No existe ese archivo"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Expandir el árbol"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Contraer el árbol"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Cambiar entre vista plana y ordenada por grupos"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s no está instalado\n"
+"Haga clic sobre \"Siguiente\" para instalarlo o sobre \"Cancelar\" para salir"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Falló la instalación"
+
+#~ msgid "Icon"
+#~ msgstr "Icono"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Cantidad de búferes de captura :"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "Cantidad de búferes de captura para la captura con mmap"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Configuración del PLL :"
+
+#~ msgid "Radio support:"
+#~ msgstr "Soporte para radio :"
+
+#~ msgid "enable radio support"
+#~ msgstr "habilitar el soporte para radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr "[--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/et.po b/perl-install/share/po/et.po
new file mode 100644
index 000000000..fa4927d77
--- /dev/null
+++ b/perl-install/share/po/et.po
@@ -0,0 +1,6771 @@
+# Translation of DrakX.po to Estonian.
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Riho Kurg <rx@linux.ee>, 1999-2003.
+# Marek Laane <bald@starman.ee>, 2002-2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-et\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-21 13:53+0200\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <et@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Palun oodake"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Paigaldatakse alglaadurit..."
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LiLo soovib anda kettale %s uut ID-d. Samas toob Windows NT,\n"
+"2000 või XP alglaadimisketta ID muutmine kaasa saatusliku\n"
+"Windowsi vea.\n"
+"See hoiatus ei käi Windows 95, 98 ega NT andmeketaste kohta.\n"
+"\n"
+"Kas anda kettale uus ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Alglaaduri paigaldamine ebaõnnestus. Tekkis järgmine viga:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Alglaaduri võimaldamiseks tuleb Teil muuta oma Open Firmware\n"
+" alglaadimisseadet. Hoidke taaskäivituse ajal all klahve\n"
+" Command-Option-O-F ja kirjutage:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Seejärel kirjutage: shut-down\n"
+"Järgmisel käivitusel peaksite nägema alglaaduri käsurida."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Otsustasite paigaldada alglaaduri partitsioonile.\n"
+"See eeldab, et Teil on juba alglaadur kõvakettal, millelt Te alglaadimise "
+"sooritate (nt System Commander).\n"
+"\n"
+"Milliselt kettalt Te alglaadimise teete?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Ketta algusesse (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Juurpartitsiooni algusesse"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Disketil"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Jäta vahele"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LiLo/grub paigaldamine"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kuhu soovite alglaaduri paigaldada?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Alglaaduri stiil"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Alglaaduri põhiseadistused"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Alglaadur"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Eelistatav alglaadur"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Alglaadimisseade"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Põhivalikud"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Ooteaeg alglaadimisel"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI lubamine"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "APIC lubamine"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Kohaliku APIC lubamine"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Parool"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Paroolid ei klapi"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Palun proovige veel"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Te ei saa %s korral kasutada parooli"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Parool (uuesti)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Piiratakse käsurea võtmeid"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "piiratud"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Võtit \"Piiratakse käsurea võtmeid\" ei saa kasutada parooli sisestamata"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "/tmp puhastatakse igal käivitumisel"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Vajadusel täpsustage mälu suurust (leitud %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Anna mälu suurus megabaitides"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Initsialiseerimisteade"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware viivitus"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Ajapiirang kerneli laadimisel"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD-lt laadimine lubatud?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF laadimine lubatud?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Vaikimisi OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Laadefail"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Juurpartitsioon"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Lisaargumendid"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen'i lisaargument"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Ekraanilahutus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Võrguprofiil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Nimi"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Vaikimisi"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Nimi ei tohi puududa"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Teil peab olema kerneli laadepilt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Teil peab olema juurpartitsioon"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Selline nimi on juba kasutusel"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Millist kirjet soovite lisada?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Muu OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Muu OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Muu OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Praegu on kasutusel sellised kirjed.\n"
+"Te võite neid lisada ning olemasolevaid muuta."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "ligipääs X'i rakendustele"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "ligipääs rpm-tööriistadele"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" lubamine"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "ligipääs administreerimisfailidele"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "ligipääs võrgutööriistadele"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "ligipääs kompileerimistööriistadele"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(juba lisatud %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Palun andke kasutajanimi"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Kasutajanimi tohib sisaldada ainult väikesi tähti, numbreid ning märke \"-\" "
+"ja \"_\""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "See kasutajanimi on liiga pikk"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "See kasutajanimi on juba lisatud"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Kasutaja ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Grupi ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s peab olema arv"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s peab olema suurem kui 500. Kas ikkagi lisada?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Lisa kasutaja"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Kasutaja lisamine\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Tehtud"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Lisa kasutaja"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Pärisnimi"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Kasutajatunnus"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automaatne sisselogimine"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Teie arvutis saab määrata kasutaja, kel on lubatud automaatselt sisse logida."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Selle võimaluse lubamine"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Valige kasutaja:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Valige käivitatav aknahaldur:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lõppkasutaja litsentsileping"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Välju"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Info väljalaske kohta"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Nõustun"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Keeldun"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Valige palun kasutatav keel."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Keelevalik"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux toetab paljusid keeli. Valige keeled, mida\n"
+"soovite paigaldada. Kui paigaldamine on lõpetatud ja Te teete\n"
+"süsteemile taaskäivituse, saate neid kasutada."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Palju keeli"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Varasemaga ühilduv kodeering (mitte-UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Kõik keeled"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Riik / Piirkond"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Palun valige oma riik."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "See on kõigi riikide täielik nimekiri"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Muud riigid"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Edasijõudnud"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Sisestusmeetod:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Puudub"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Jagamiseta"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Lubatud kõigile kasutajatele"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Kohandatud"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Kas lubada kasutajatel jagada mõningaid oma katalooge?\n"
+"Lubamine võimaldab kasutajal seda teha lihtsalt klõpsuga sildil \"Jaga\" "
+"Konqueroris ja Nautiluses.\n"
+"\n"
+"\"Kohandatud\" lubab määrata seda kasutajate kaupa.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: UNIX-i traditsiooniline failijagamissüsteem, mida Mac ja Windows eriti "
+"ei toeta."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: failijagamissüsteem, mida toetavad Windows, Mac OS X ja enamik moodsaid "
+"Linuxi süsteeme."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Eksportida saab NFS või SMB abil. Palun valige, kumba kasutada."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Userdrake käivitamine"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Sulge"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Kasutaja kaupa jagamise lubamine rakendab gruppi \"fileshare\". \n"
+"Sellesse gruppi kasutajate lisamiseks saab tarvitada userdraket."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Palun väljuge ja vajutage siis Ctrl+Alt+BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Muudatuste rakendamiseks tuleb end uuesti sisse logida"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Ajavöönd"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Millises ajavöötmes asute?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Kuupäeva, kellaaja ja ajavööndi seadistamine"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Milline on korrektne aeg?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (arvuti sisekell on seatud GMT ajale)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (arvuti sisekell on seatud kohalikule ajale)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Aja automaatne sünkroniseerimine (NTP abil)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Kohalik fail"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Kiipkaart"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windowsi domeen"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory + SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory + Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Kohalik fail:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "Kohaliku faili kasutamine autentimiseks ja kasutaja info hankimiseks."
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Paneb arvuti vähemalt osaliselt kasutama autentimiseks LDAP-i. LDAP sisaldab "
+"reeglina teatud laadi organisatsioonisisest infot."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Võimaldab rühmal arvutitel töötada samas võrguinfoteenuse (NIS) domeenis "
+"ühise parooli- ja grupifailiga."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windowsi domeen:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind võimaldab süsteemil hankida infot ja autentida kasutajaid Windowsi "
+"domeenis."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory + SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Kerberose ja LDAP-iga autentimiseks Active Directory serveris "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory + Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind võimaldab süsteemil autentida kasutajaid Windowsi Active Directory "
+"serveris."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP autentimine"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP-i baas-DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "lihtne"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "turvavorm (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Active Directory autentimine"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domeen"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP kasutajate andmebaas"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Anonüümse BIND kasutamine "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP kasutajal on lubatud Active Directory sirvimine"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Kasutaja parool"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS autentimine"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domeen"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Et see töötaks W2K primaarse domeenikontrolleri (PDC) puhul, on Teil vaja "
+"administraatori privileege, et käivitada serveris käsk \"C:\\>net "
+"localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add\" ja teha "
+"sellele alglaadimine.\n"
+"Samuti on Teil vaja domeeni administraatori kasutajanime/parooli, et "
+"ühendada see masin Windows(TM) domeeniga.\n"
+"Kui võrguühendus ei ole veel seadistatud, üritab DrakX domeeniga ühenduse "
+"luua pärast võrgu seadistamist.\n"
+"Kui midagi peaks ebaõnnestuma ja domeeni autentimine ei tööta, andke pärast "
+"alglaadimist käsureal korraldus \"smbpasswd -j DOMEEN -U KASUTAJA%%PAROOL\", "
+"kus DOMEEN on Teie Windows(TM) domeen ja KASUTAJA%%PAROOL on domeeni "
+"administraator parooliga.\n"
+"Käsk \"wbinfo -t\" võimaldab kontrollida, kas domeeni autentimisfraasid on "
+"õiged."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windowsi domeeni autentimine"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory võrk "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domeeni administraatori kasutajatunnus"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domeeni administraatori parool"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentimisviis"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Administraatori (root) parool"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Autentimisviis"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Parool puudub"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Parool on liiga lühike (peaks olema vähemalt %d tähemärki)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Üldlevi kasutamine on ilma NIS domeenita võimatu"
+
+# NOTE: this message will be displayed at boot time; that is# only the ascii charset will be available on most machines# so use only 7bit for this message (and do transliteration or# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Tere tulemast! Arvuti hakkab end laadima!\n"
+"\n"
+"Valige nimekirjast eelistatav OS\n"
+"ehk oodake, kuni laetakse vaikimisi valitu.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LiLo tekstirežiimis"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB graafilises režiimis"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB tekstirežiimis"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot on liiga täis"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Alglaadurit ei ole võimalik paigaldada partitsioonile %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr "Alglaaduri seadistust tuleb uuendada, sest partitsioon on ümber seatud"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Alglaadurit ei ole võimalik korrektselt paigaldada. Teil tuleb ette võtta "
+"alglaadimine päästerežiimis (rescue) ja valida \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Alglaaduri taaspaigaldamine"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutit"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minut"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundit"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "käsk %s puudub"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV on protokoll, mis võimaldab haakida veebiserveri kataloogi\n"
+"kohalikult ning käsitleda seda kui kohalikku failisüsteemi (eeldusel, et\n"
+"veebiserver on seadistatud WebDAV-serverina). Kui soovite lisada\n"
+"WebDAVi haakepunkte, klõpsake nupule \"Uus\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Uus"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Lahuta"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Haagi"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Haakepunkt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Eelistused"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Viga"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Palun sisestage WebDAV-serveri URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL peab algama kas http:// või https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Haakepunkt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Eelistused: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Kõvaketta jagamine"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lugege hoolega!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Palun tehke oma andmetest kõigepealt varukoopia"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Välju"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Jätka"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Kui soovite kasutada aboot-i, jätke palun ketta algusesse vähemalt 2048 \n"
+"sektorit vaba ruumi"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Abi"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Valige tegevus"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Teil on üks suur FAT partitsioon\n"
+"(tavaliselt kasutab sellist MS DOS/Windows)\n"
+"Soovitame Teil esmalt selle suurust muuta\n"
+"(klõpsake ja siis valige \"Muuda\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Palun valige partitsioon"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Üksikasjad"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Kõvakettaid ei leitud"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Tundmatu"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Kirjendatud FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Saaleala"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Muu"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tühi"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Failisüsteemi tüübid: "
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Hoiatus"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "See partitsioon on juba tühi"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Kasutage enne \"Lahuta\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Kasutage pigem \"%s\""
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tüüp"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Valige muu partitsioon"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Valige partitsioon"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Tagasi"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Lülitu tavarežiimi"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Lülitu ekspertrežiimi"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Kinnitus"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Kas ikkagi jätkata?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Välju ilma salvestamata"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Kas väljuda partitsioonitabelit salvestamata?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Kas salvestada /etc/fstab muudatused"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Partitsioonitabeli säilitamiseks vajate alglaadimist"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Teil tuleks vormindada partitsioon %s.\n"
+"Vastasel juhul ei kirjutata fstab-i haakepunktile %s üldse kirjet.\n"
+"Kas sellele vaatamata väljuda?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Kustuta kõik"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automaatne jagamine"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Veel..."
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Kõvaketta info"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Kõik primaarsed partitsioonid on kasutusel"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Partitsioone ei saa enam lisada"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Et saada rohkem partitsioone, kustutage palun üks, et luua laiendatud "
+"partitsioon"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Automaatne haakimine puudub"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Automaatne haakimine"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Automaatne haakimine (v.a. CD-seadmed)"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Salvesta partitsioonitabel"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Taasta partitsioonitabel"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Päästa partitsioonitabel"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Laadi partitsioonitabel uuesti"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Eemaldatava andmekandja automaatne haakimine"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Valige fail"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Tabeli varukoopia ei ole sama suurusega\n"
+"Kas ikkagi jätkata?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Proovin päästa partitsioonitabelit"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Üksikasjalik info"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Muuda suurust"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Vorminda"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Lisa RAIDi"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Lisa LVMi"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Kustuta"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Eemalda RAIDist"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Eemalda LVMist"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifitseeri RAIDi"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Kasuta loopback-ina"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Tekita"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Loo uus partitsioon"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Algsektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Suurus (MB): "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Failisüsteemi tüüp: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Eelistus: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Loogilise ketta nimi "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Uut partitsiooni ei saa luua\n"
+"(sest primaarseid partitsioone on juba maksimaalne arv).\n"
+"Eemaldage kõigepealt mõni primaarne partitsioon ja \n"
+"tekitage laiendatud partitsioon."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Kas eemaldada loopback-fail?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Partitsiooni %s tüübi muutmisel hävivad kõik seal olnud andmed"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Muuda partitsiooni tüüpi"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Millist failisüsteemi soovite kasutada?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Ext2 vahetamine ext3 vastu"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Milline köitenimi?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Nimi:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kuhu soovite haakida loopback-faili %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kuhu soovite haakida seadme %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Seda haakepunkti ei saa eemaldada, sest partitsioon on kasutusel\n"
+"loopback'ina. Eemaldage esmalt loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kuhu soovite haakida %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Muudetakse suurust"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Arvutatakse FAT-failisüsteemi piire"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "See partitsioon ei ole muudetav"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Selle partitsiooni andmetest võiks olla varukoopia"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Partitsiooni %s suuruse muutmisel hävivad sellel kõik andmed"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Valige uus suurus"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Uus suurus (MB): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Min. suurus: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maks. suurus: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Andmete terviklikkuse tagamiseks pärast partitsiooni(de) suuruse muutmist \n"
+"kontrollitakse järgmisel Windows(TM) alglaadimisel failisüsteemi"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Valige olemasolev RAID, millele lisada"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "uus"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Valige olemasolev LVM, millele lisada"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM nimi?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Füüsiline ketas %s on veel kasutusel.\n"
+"Kas soovite liigutada selle ketta füüsilise osad teistele ketastele?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Füüsiliste osade liigutamine"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Seda partitsiooni ei saa loopback-ina kasutada"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback faili nimi:"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Failinimi"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "See fail on juba loopback-ina kasutusel, valige mõni muu"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fail on juba olemas. Kas kasutada seda?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Haakimise valikud"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Mitmesugust"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "seade"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "tase"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "ühiku suurus (KiB)"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Vaadake ette: see võib olla ohtlik."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Mis tüüpi partitsioonid teete?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Muudatuste rakendamiseks vajate alglaadimist"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Ketta %s partitsioonitabel salvestatakse!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Partitsiooni %s vormindamisel hävivad sellel kõik andmed"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Plokkide kontroll?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Liiguta failid uuele partitsioonile"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Failide peitmine"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Kataloog %s sisaldab juba andmeid\n"
+"(%s)\n"
+"\n"
+"Te võite liigutada failid partitsioonile, mis haagitakse seal, või jätta nad "
+"sinna, kus nad on (mille tulemusel haagitud partitsiooni sisu varjab need)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Failide liigutamine uuele partitsioonile"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s kopeerimine"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s eemaldamine"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partitsioon %s kannab nüüd nime %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partitsioone on muudetud: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Seade: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Kettatähis: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS kettatähis: %s (arvatavasti)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tüüp: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nimi: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Algus: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Suurus: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektorit"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silindrid %d kuni %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Loogiliste partitsioonide arv: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Vormindatud\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Vormindamata\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Haagitud\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-fail(id):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partitsioonilt toimub alglaadimine\n"
+" (MS-DOS-i, mitte LiLo jaoks)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Tase %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Ühiku suurus %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-kettad %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback faili nimi: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Võimalik, et on tegemist\n"
+"juhtpartitsiooniga, parem oleks\n"
+"seda mitte puutuda.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"See on eriline, alglaadimisel\n"
+"kasutatav partitsioon, mis\n"
+"võimaldab mitme operatsioonisüsteemi\n"
+"laadimist.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Vaba ruum %s peal (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Ainult lugemisõigusega"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Suurus: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geomeetria: %s silindrit, %s pead, %s sektorit\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-kettad %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partitsioonitabeli tüüp: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "kanalil %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Failisüsteemi krüptovõti"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Valige failisüsteemi krüptovõti"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "See krüptovõti on liiga lihtne (peaks olema vähemalt %d märki)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Krüptovõtmed ei klapi"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Krüptovõti"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Krüptovõti (uuesti)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Krüptoalgoritm"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Muuda tüüpi"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Loobu"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Sisselogimine kasutajanimega %s ebaõnnestus (vale parool?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Nõutav on domeeni autentimine"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Milline kasutajanimi"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Veel üks"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Palun sisestage selle masina kasutamiseks oma kasutajanimi, parool ja "
+"domeeni nimi."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Kasutajanimi"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Serverite otsing"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Uute serverite otsing"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Pakett %s tuleks kindlasti paigaldada. Kas soovite seda teha?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Ei õnnestunud paigaldada %s paketti!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Puudub kohustuslik pakett %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Paigaldada tuleb järgmised paketid:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Pakettide paigaldamine..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Pakettide eemaldamine..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Tekkis viga: failisüsteemi loomiseks ei leitud ühtki seadet. Palun "
+"kontrollige oma riistvara."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Teil peab olema FAT-partitsioon haagitud asukohas /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Partitsiooni %s vormindamine"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Faili %s loomine ja vormindamine"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ei oska seadet %s vormindada tüüpi %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s vormindamine seadmel %s ebaõnnestus"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Ringühendus %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Partitsiooni %s haakimine"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "partitsiooni %s haakimine kataloogis %s ebaõnnestus"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s kontrollimine"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "viga %s lahutamisel: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Vormindan saaleala %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Krüptitud failisüsteemi kasutamine"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Ketta grupikvootide arvestuse ja võimalusel limiitide kehtestamise lubamine"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Inode juurdepääsu kordi sellel failisüsteemil ei värskendata\n"
+"(nt. kiiremaks juurdepääsuks uudistepuhvrile uudisteserveri kiirendamiseks)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Haagitakse ainult otsesel märkimisel\n"
+"(s.t. võti -a ei haagi failisüsteemi)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Failisüsteemis ei interpreteerita märgi- või blokieriseadmeid."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ei lubata ühegi binaarfaili käivitamist haagitud failisüsteemis.\n"
+"See on kasulik serveritel, mille failisüsteemides on süsteemist\n"
+"erineva arhitektuuriga binaarfaile."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ei lubata toimida bittidel set-user-identifier või set-group-identifier\n"
+"(see võib tunduda turvaline, aga tegelikult ei ole, eriti kui on\n"
+"paigaldatud suidperl(1).)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Failisüsteem haagitakse ainult lugemisõigusega."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Kogu failisüsteemi I/O sooritatakse sünkroonselt."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Igal kasutajal lubatakse failisüsteemi haakida ja lahti ühendada."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Tavalisel kasutajal lubatakse failisüsteemi haakida."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Ketta kasutajakvootide arvestuse ja võimalusel limiitide kehtestamise "
+"lubamine"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "\"user.\" laiendatud atribuutide toetus"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Kirjutamisõiguse andmine tavakasutajale"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Lugemisõiguse andmine tavakasutajale"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Haakepunkt %s on määratud topelt"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Partitsioone ei leitud"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Partitsioonidelt haakepunktide otsimine"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Valige haakepunktid"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Valige partitsioonid, mida soovite vormindada"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Failisüsteemi %s kontroll ebaõnnestus. Kas soovite vigu parandada? "
+"(Ettevaatust, võite kaotada andmed!)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Saaleala on paigaldamiseks liiga väike, palun suurendage seda"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Teil peab olema juurpartitsioon.\n"
+"Selleks looge uus partitsioon (või valige üks olemasolevatest).\n"
+"Siis valige tegevus \"Haakepunkt\" ja määrake see kui \"/\""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Saaleala ei ole määratud.\n"
+"\n"
+"Kas ikkagi jätkata?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Vaba ruumi kasutamine"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ei ole piisavalt ruumi uute partitsioonide jaoks"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Olemasolevate partitsioonide kasutamine"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Kasutatavat partitsiooni ei leitud"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Microsoft Windows® partitsiooni kasutamine loopback'ina"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Millisele partitsioonile soovite paigaldada Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Valige suurused"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Juurpartitsiooni suurus (MB): "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Saaleala suurus (MB): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Sobivat FAT-partitsiooni loopback'ina kasutamiseks ei leitud (ei ole "
+"piisavalt ruumi)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Vaba ruumi kasutamine Microsoft Windows® partitsioonil"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Millist partitsiooni soovite muuta?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT-partitsiooni suurust ei õnnestunud muuta, \n"
+"ilmnes selline viga: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Vaba ruumi arvutamine Microsoft Windows® partitsioonil"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Teie Microsoft Windows® partitsioon on fragmenteerunud. Palun tehke arvutile "
+"uus alglaadimine, käivitage Microsoft Windows® ja seejärel utiliit \"defrag"
+"\" ning tulge siis Mandriva Linuxi paigaldamise juurde tagasi."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"HOIATUS!\n"
+"\n"
+"\n"
+"DrakX hakkab Teie Microsoft Windows® partitsiooni suurust muutma.\n"
+"\n"
+"\n"
+"Olge ettevaatlik: see operatsioon võib olla ohtlik Teie failidele. Palun "
+"käivitage enne seda, kui asute paigaldamise juurde, Microsoft Windows® "
+"käsurealt \"chkdsk c:\" (arvestage, et graafilisest rakendusest \"scandisk\" "
+"ei piisa, seepärast kasutage kindlasti käsurealt käivitatavat \"chkdsk\"!). "
+"Lisaks sellele defragmenteerige ketas ja alles siis asuge taas paigaldamise "
+"kallale. Kasulik oleks juba Windowsis ka oma andmetest tagavarakoopia teha.\n"
+"\n"
+"\n"
+"Kui olete oma otsuses kindel, klõpsake nupule \"%s\"."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Edasi"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kui palju ruumi jätta Microsoft Windows® jaoks partitsioonil %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Suurus"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Arvutatakse Microsoft Windows® failisüsteemi piire"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT-i suuruse muutmine ebaõnnestus: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Sobivat FAT-partitsiooni ei leitud (ei ole piisavalt ruumi)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Microsoft Windows® eemaldamine"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Kogu ketta tühjendamine ja kasutamine"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Teil on rohkem kui üks kõvaketas, millisele neist paigaldate Linuxi?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Kettal %s hävivad KÕIK partitsioonid ja andmed"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Ketta jagamine oma tahtmist mööda"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Fdisk'i kasutamine"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Nüüd saate jagada %s kõvaketta\n"
+"Kui olete valmis, salvestage käsuga \"w\""
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Paigaldamiseks ei ole üldse ruumi"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX kettajagamise nõustaja leidis sellised lahendused:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Ketta jagamine ebaõnnestus: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "JFS ei ole kasutatav alla 16MB partitsioonidel"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "ReiserFS ei ole kasutatav alla 32MB partitsioonidel"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "koos /usr-ga"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Ketastel %s tuvastati BIOS-e tarkvaraline RAID. Kas aktiveerida see?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Partitsioonitabel seadmel %s on loetamatu, liiga rikutud DrakX'i jaoks :(\n"
+"Proovin loetamatud kirjed puhastada, kuid ANDMED NEIL HÄVIVAD.\n"
+"Teine võimalus on keelata DrakX'il partitsioonitabeli muutmine.\n"
+"(Viga oli selline: %s)\n"
+"\n"
+"Kas olete nõus kõigi partitsioonide kaotamisega?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Haakepunktid peavad algama kaldkriipsuga (/)"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Haakepunkti nimi tohib sisaldada vaid tähti ja numbreid"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Haakepunktile %s on juba partitsioon määratud\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Olete valinud juurpartitsiooniks (/) tarkvaralise RAID-i.\n"
+"Ilma /boot-partitsioonita ei ole võimalik sellist süsteemi laadida.\n"
+"Lisage kindlasti /boot-partitsioon!"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"LVM loogilist ketast ei saa kasutada haakepunkti %s jaoks, sest see ketas "
+"hõlmab mitut füüsilist ketast"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Valisite juurpartitsiooniks (/) LVM loogilise ketta.\n"
+"Alglaadur ei suuda seda käsitleda, kui ketas hõlmab mitut füüsilist ketast.\n"
+"Kõigepealt tuleks luua partitsioon /boot"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "See kataloog peab jääma kokku juurfailisüsteemiga"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"See haakepunkt vajab tõelist (ext2/ext3, reiserfs, xfs või jfs) "
+"failisüsteemi\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Te ei saa haakepunkti %s jaoks kasutada krüptitud failisüsteemi"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ei ole piisavalt ruumi automaatpaigutuseks"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Pole midagi teha"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskett"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Ketas"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-lugeja"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD-kirjutid"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-lugeja"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Lint"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP kontrollerid"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Graafikakaart"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kaart"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kaart"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Muud multimeediaseadmed"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Helikaart"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Veebikaamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Protsessorid"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-kaardid"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-heliseadmed"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Raadiokaardid"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM-võrgukaardid"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN-võrgukaardid"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetoothi seadmed"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Võrgukaart"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-kaardid"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Mälu"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printer"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Mängupordi kontrollerid"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Juhtkang"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA kontrollerid"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID kontrollerid"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA kontrollerid"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-salvestusseadmed"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kaardilugejad"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "FireWire kontrollerid"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA kontrollerid"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI kontrollerid"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB kontrollerid"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB pordid"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus kontrollerid"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Sillad ja kontrollerid"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klaviatuur"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tahvelarvuti ja puuteekraan"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Hiir"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skänner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Tundmatu/Muu"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Palun oodake... Rakendan seadistusi"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Alternatiivne fraiver puudub"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Pole teada ühtegi alternatiivset OSS/ALSA draiverit Teie helikaardile (%s), "
+"millel praegu on kasutusel \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Heliseadistused"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Siin saate valida alternatiivse draiveri (OSS või ALSA) oma helikaardile (%"
+"s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Teie helikaart kasutab praegu %s\"%s\" draiverit (selle kaardi vaikedraiver "
+"on \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) oli esimene heli-API. See on op-süsteemist sõltumatu "
+"heli-API (saadaval enamiku UNIX-süsteemide tarbeks), kuid samas väga "
+"elementaarne ja piiratud.\n"
+"Ja pealegi kipuvad OSS-draiverid kogu aeg jalgratast uuesti leiutama.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) kujutab endast moodulistatud\n"
+"arhitektuuri, mis toetab päris suurt hulka ISA-, USB- ja PCI-kaarte.\n"
+"\n"
+"See pakub ka palju arenenumat API-t kui OSS.\n"
+"\n"
+"Alsa kasutamiseks võib tarvitada:\n"
+" -vana ühilduvat OSS API-t\n"
+"- uut ALSA API-t, mis pakub hulga täiustatud võimalusi, kuid nõuab ALSA "
+"teegi kasutamist.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Draiver: "
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Probleemi otsimine"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Vana \"%s\" draiver on mustas nimekirjas.\n"
+"\n"
+"On teatatud, et see tekitab mahalaadimisel kernelile jama.\n"
+"\n"
+"Uut \"%s\" draiverit kasutatakse järgmisel alglaadimisel."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Vabavara-draiver puudub"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Pole teada ühtegi vabavara-draiverit Teie helikaardile (%s), kuid on olemas "
+"tootja draiver, mille asukoht on \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Draiverit ei õnnestunud tuvastada"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Teie helikaardile (%s) ei õnnestunud tuvastada draiverit"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Tundmatu draiver"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Viga: helikaardi draiverit \"%s\" ei ole nimekirjas"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Heliprobleemide lahendamine"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klassikaline võimalus Teie arvuti heliprobleeme kindlaks teha on käivitada "
+"järgmised käsud:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" näitab, millist draiverit Teie\n"
+"helikaart vaikimisi kasutab\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" näitab, millist draiverit\n"
+"praegu kasutatakse\n"
+"\n"
+"- \"/sbin/lsmod\" näitab, kas vastav moodul (draiver) on hetkel laetud\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" ja \"/sbin/chkconfig --list alsa\"\n"
+"näitavad, kas teenused \"sound\" ja \"alsa\" käivituvad.\n"
+"\n"
+"- \"aumix -q\" näitab, kas heli pole mitte summutatud (M - mute)\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" näitab, milline programm hetkel\n"
+"helikaarti kasutab.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Suvalise draiveri valimine"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Suvalise draiveri valimine"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Kui Te tõesti arvate, et teate, milline draiver Teie helikaardile\n"
+"tegelikult sobib, võite valida selle ülaltoodud nimekirjast.\n"
+"\n"
+"Teie praegune helikaart \"%s\" kasutab draiverit \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automaattuvastus"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Tundmatu|Tavaline"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Tundmatu|CPH05X (bt878) [paljud tootjad]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Tundmatu|CPH06X (bt878) [paljud tootjad]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Enamiku moodsate TV-kaartide puhul tuvastab GNU/Linuxi kerneli bttv-moodul "
+"automaatselt õiged parameetrid.\n"
+"Kui kaart siiski valesti tuvastati, võite siin määrata õige tuuneri ja "
+"kaardi tüübi. Valige vajadusel korral sobivad TV-kaardi parameetrid."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kaardi mudel:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tuuneri tüüp:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Olgu"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Jah"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ei"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Valige fail"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Lisa"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Muuda"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Eemalda"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Lõpeta"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Eelmine"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Halb valik, proovige palun uuesti\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Teie valik? (vaikimisi %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Teil tuleb täita kirjed:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Teie valik? (0/1, vaikimisi \"%s\")"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Nupp \"%s\": %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Kas soovite sellel nupul klõpsata?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Teie valik? (vaikimisi \"%s\"%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " kirjutage tühja kirje puhul \"void\""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Nüüd on Teil mitmeid valikuid (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Valige palun esimene number kümnesest vahemikust, mida soovite\n"
+"muuta, või vajutage Enter jätkamiseks.\n"
+"Ja Teie valik on? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Pange tähele, et nimi on muutunud:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Uuestisaatmine"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Araabia Ühendemiraadid"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua ja Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albaania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armeenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Hollandi Antillid"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Ameerika Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Austraalia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Aserbaidžaan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia ja Hertsegoviina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgia"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Boliivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasiilia"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahama saared"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet' saar"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Valgevene"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kookosesaared"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Kesk-Aafrika Vabariik"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Šveits"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cooki saared"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Tšiili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Hiina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia ja Tšernogooria"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cabo Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Jõulusaar"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Küpros"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tšehhi"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Saksamaa"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Taani"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikaani Vabariik"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžeeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Eesti"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egiptus"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Lääne-Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Hispaania"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etioopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Soome"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidži"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandi saared (Malviinid)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikroneesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Fääri saared"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Prantsusmaa"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Suurbritannia"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruusia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Prantsuse Guajaana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Gröönimaa"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatoriaal-Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Kreeka"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Lõuna-Georgia ja Lõuna-Sandwichi saared"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hiina (Hongkong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard ja McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Horvaatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungari"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indoneesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Iirimaa"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Iisrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Briti India ookeani ala"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iraan"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itaalia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordaania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Jaapan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Keenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kõrgõzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoorid"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts ja Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Põhja-Korea"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuveit"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kaimanisaared"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kasahstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Liibanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libeeria"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Leedu"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Läti"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Liibüa"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshalli saared"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedoonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongoolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Põhja-Mariaani saared"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritaania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldiivid"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mehhiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaisia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambiik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namiibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Uus-Kaledoonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolki saar"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norra"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Uus-Meremaa"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omaan"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peruu"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Prantsuse Polüneesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Paapua Uus-Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipiinid"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Poola"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre ja Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestiina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Belau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumeenia"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Venemaa"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Araabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Saalomoni saared"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seišellid"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudaan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Rootsi"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Sloveenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard ja Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakkia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somaalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tomé ja Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Süüria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svaasimaa"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks ja Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tšaad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Prantsuse Lõunaalad"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tai"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Ida-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Türkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tuneesia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Türgi"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad ja Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tansaania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Ühendriikide hajasaared"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "USA"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Usbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent ja Grenadiinid"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Neitsisaared (Briti)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Neitsisaared (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis ja Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jeemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Lõuna-Aafrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Sambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "See ongi %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Füüsiliste osade liigutamine teistele füüsilistele ketastele ebaõnnestus"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Füüsiline ketas %s on veel kasutusel"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Eemaldage esmalt loogilised kettad\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"Alglaadur ei suuda käsitleda mitmel füüsilisel kettal paiknevat "
+"partitsiooni /boot"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Järgnev lõppkasutaja litsents on eksimuste vältimiseks originaalkeeles!\n"
+"\n"
+"\n"
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Hoiatus\n"
+"\n"
+"Palun lugege hoolega järgnevat teksti. Kui Te ei ole nõus kõigi "
+"alljärgnevate\n"
+"väidetega, on paigaldamine järgmise CD pealt keelatud. Klõpsake nupule "
+"\"Keeldun\",\n"
+"et jätkata paigaldamist ilma selle CD-ta.\n"
+"\n"
+"\n"
+"Mõned komponendid järgmisel CD-l ei ole kaitstud Üldise Avaliku Litsentsi\n"
+"või muude sarnaste litsentsidega, vaid kasutavad omaenda erilisi\n"
+"litsentsivorme. Seepärast lugege sellised litsentsid hoolega läbi ja\n"
+"tutvuge nende tingimustega, enne kui hakata neid komponente kasutama\n"
+"või levitama.\n"
+"Üldiselt kipuvad sellised litsentsid keelama komponendi kopeerimise,\n"
+"duplitseerimise (välja arvatud varundamise sihil), edastamise, muutmise\n"
+"või edasiarendamise.\n"
+"Litsentsilepingu tingimuste rikkumine lõpetab otsekohe kõik Teie õigused,\n"
+"mis kaasnesid litsentsiga nõustumisel. Kui mõni konkreetne litsentsi\n"
+"punkt Teile selliseid õigusi ei anna, ei või Te enamasti paigaldada "
+"rakendust\n"
+"enam kui ühte süsteemi ega muuta seda võrgutöö huvides. Kui Te ei ole\n"
+"tingimustes kindel, võtke ühendust komponendi levitaja või arendajaga.\n"
+"Üldjuhul on selliste komponentide, sealhulgas dokumentatsiooni, edastamine\n"
+"kolmandale poolele või kopeerimine keelatud.\n"
+"\n"
+"\n"
+"Kõigi järgmisel CD-l paiknevate komponentide õigused kuuluvad vastavalt\n"
+"nende autorile ning on kaitstud tarkvara puhul kehtivate intellektuaalse\n"
+"omandi ja autoriõiguse seadustega.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Õnnitleme, paigaldamine on edukalt lõpetatud.\n"
+"Võtke palun välja diskett ja/või CD ja vajutage Enter alglaadimiseks.\n"
+"\n"
+"\n"
+"Informatsiooni selle distributsiooni paranduste kohta (Errata) saab\n"
+"Mandriva Linuxi koduleheküljelt:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Abi süsteemi edasiseks seadistamiseks saab eelkõige\n"
+"Mandriva Linuxi kasutaja käsiraamatust."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Sellel draiveril puuduvad seadistatavad parameetrid!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Mooduli seadistamine"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Siin saab seadistada mooduli kõiki parameetreid."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Leiti %s liidest"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "On Teil veel kaarte?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Kas Teil on ikka mõni %s liides?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Info riistvara kohta"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "USB-kontrolleri draiveri paigaldamine"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "FireWire-kontrolleri %s draiveri paigaldamine"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Kõvakettakontrolleri %s draiveri paigaldamine"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Ethernet-kontrolleri %s draiveri paigaldamine"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s draiveri paigaldamine kaardile %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Nüüd võite moodulile %s parameetrid määrata.\n"
+"Pange tähele, et aadress tuleb sisestada prefiksiga 0x, nt \"0x123\""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Nüüd võite moodulile %s parameetreid määrata.\n"
+"Parameetrid on vormingus \"nimi=väärtus nimi2=väärtus2 ...\".\n"
+"Näiteks: \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Mooduli parameetrid:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Millist %s draiverit peaks proovima?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Mõnel juhul vajab %s draiver tööks lisainformatsiooni, kuigi tavaliselt saab "
+"ka ilma hakkama.\n"
+"Kas soovite eraldi parameetreid määrata või lasta draiveril ise Teie "
+"arvutist vajalik info hankida?\n"
+"Võib juhtuda, et see viib arvuti segadusse, kuid ei tohiks mingit jäävat "
+"kahju teha."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automaatne otsing"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Parameetrite määramine"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Mooduli %s laadimine ei õnnestunud.\n"
+"Kas soovite proovida parameetreid muuta?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "haakimine ebaõnnestus: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Sellel platvormil ei saa laiendatud partitsiooni luua"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Partitsioonitabelis on miskipärast tühi koht, aga see ei ole kasutatav.\n"
+"Ainuke lahendus on nihutada primaarset partitsiooni, et \"auk\" satuks "
+"laiendatud partitsioonide kõrvale."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Viga faili %s lugemisel"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Taastamine failist %s ebaõnnestus: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Kõlbmatu varukoopia"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Viga faili %s kirjutamisel"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Teie kõvakettal juhtub imelikke asju. \n"
+"Andmete terviklikkuse kontroll ebaõnnestus. \n"
+"See tähendab, et kettale kirjutamisel tekivad jamad."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Juba _vormindatud_ RAID-ile %s ei saa partitsiooni lisada"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ei ole piisavalt partitsioone RAID-%d jaoks\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Ei õnnestunud luua kataloogi /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Ei õnnestunud luua viita /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Ei õnnestunud kopeerida püsivarafaili %s asukohta /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Ei õnnestunud seada õigusi püsivarafailile %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Pakettide paigaldamine, mis on vajalikud Teie skänneri(te) jagamiseks, ei "
+"õnnestunud."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Teie skänner(id) ei ole tavakasutajale kättesaadavad."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "IPv4 võltsveateadete lubamine/keelamine"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Üldlevi icmp echo aktsepteerimine/tagasilükkamine"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Icmp echo aktsepteerimine/tagasilükkamine"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Automaatse sisselogimise lubamine/keelamine"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Kui on \"KÕIK\", on lubatud nii /etc/issue kui /etc/issue.net.\n"
+"\n"
+"Kui on \"PUUDUB\", ei ole kumbki lubatud.\n"
+"\n"
+"Muidu on lubatud ainult /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Konsooli kasutajale taaskäivituse lubamine/keelamine"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Administraatori võrgust sisselogimise lubamine/keelamine"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Administraatori vahetu sisselogimise lubamine/keelamine"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "Kasutajate nimekirja lubamine/keelamine kuvahalduritel (kdm ja gdm)"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Kuva ekspordi lubamine/keelamine\n"
+"administraatori kontolt muude kasutajate kontole üle minnes.\n"
+"\n"
+"Vaadake täpsemalt pam_xauth(8)."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X'i ühenduste lubamine/keelamine:\n"
+"\n"
+"- KÕIK (kõik ühendused on lubatud),\n"
+"\n"
+"- KOHALIK (ainult kohalikud ühendused),\n"
+"\n"
+"- PUUDUB (ühendusi ei lubata)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argument määrab, kas klientidel on õigus võtta ühendust\n"
+"X-serveriga tcp pordis 6000 või mitte."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autoriseeritakse:\n"
+"\n"
+"- kõik teenused, mida kontrollib tcp_wrappers (vt hosts.deny (5)), kui on "
+"\"KÕIK\",\n"
+"\n"
+"- ainult kohalikud, kui on \"KOHALIK\",\n"
+"\n"
+"- mitte ühtegi teenust, kui on \"PUUDUB\".\n"
+"\n"
+"Vajalike teenuste autoriseerimiseks kasutage faili /etc/hosts.allow (vt. "
+"hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Kui SERVER_LEVEL (või selle puudumisel SECURE_LEVEL) failis \n"
+"/etc/security/msec/security.conf on suurem kui 3, loob sümbolviida \n"
+"/etc/security/msec/server, mis osutab failile \n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server on fail, mida chkconfig --add kasutab\n"
+"otsustamaks, kas lisada teenus või mitte, kui see on pakettide\n"
+"paigaldamise ajal failis olemas."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Crontab ja at lubamine/keelamine kasutajatele.\n"
+"\n"
+"Lubatud kasutajad kirjutatakse failidesse /etc/cron.allow ja /etc/at.allow "
+"(vt man at(1) ja crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Syslog-i teadete konsoolile 12 saatmise lubamine/keelamine"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Nimelahenduse võltsimiskaitse lubamine/keelamine. Kui\n"
+"\"%s\" on tõene, saadetakse ka raport syslog-i."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Turvahoiatused:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "IP võltsimiskaitse lubamine/keelamine"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Libsafe lubamine/keelamine, kui see süsteemist leitakse"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Ipv4 veidrate pakettide logimise lubamine/keelamine"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Msec igatunnise turvakontrolli lubamine/keelamine"
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"su lubamine ainult grupi wheel liikmetele. Kui on 'ei', on su lubatud igale "
+"kasutajale."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Parooli kasutamine kasutajate autentimiseks"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Võrgukaardi mitte-eelisoleku kontrolli lubamine/keelamine"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Igapäevase turvakontrolli lubamine/keelamine"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "sulogin(8) lubamine/keelamine üksikkasutaja tasemel"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Nimi lisatakse erandite hulka, kui msec uurib paroolide aegumist"
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Määrab parooli aeguma \"maks.\" n päeva pärast ning viivituse enne muutmist "
+"\"mittekehtivaks\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Paroolipuhvri suuruse määramine vältimaks selle taaskasutamist"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Määrab parooli minimaalse pikkuse ning numbrite ja suurtähtede minimaalse "
+"hulga"
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Administraatori umask-i määramine"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Kui on \"jah\", kontrollitakse avatud porte."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Kui on \"jah\", kontrollitakse:\n"
+"\n"
+"- tühja parooli,\n"
+"\n"
+"- parooli puudumist /etc/shadow-s\n"
+"\n"
+"- kasutajaid ID-ga 0, kes pole administraatorid."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Kui on \"jah\", kontrollitakse failide loabitte kasutajate kodukataloogis."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"Kui on \"jah\", kontrollitakse, kas võrguseadmed on mitte-eelisrežiimis."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Kui on \"jah\", lubatakse igapäevane turvakontroll."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Kui on \"jah\", kontrollitakse sgid failide lisamist/eemaldamist."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Kui on \"jah\", kontrollitakse tühja parooli /etc/shadow-s."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "Kui on \"jah\", kontrollitakse suid/sgid failide checksum-i."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "Kui on \"jah\", kontrollitakse suid root failide lisamist/eemaldamist."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Kui on \"jah\", teatatakse omanikuta failidest."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "Kui on \"jah\", kontrollitakse kõigi kirjutatavaid faile/katalooge."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Kui on \"jah\", käivitatakse chkrootkit kontroll."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Kui on lubatud, saadab e-postiga raporti sellele aadressile, muidu "
+"administraatorile."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "Kui on \"jah\", antakse kontrolli tulemustest teada e-postitsi."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "E-kirja ei saadeta, kui hoiatusi pole"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Kui on \"jah\", kontrollitakse veidi rpm andmebaasi."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "Kui on \"jah\", saadetakse kontrolli tulemused syslog-i."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Kui on \"jah\", saadetakse kontrolli tulemused tty-sse."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Shellikäskude puhvri suuruse määramine. -1 tähendab piiramatu."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Shelli aegumise määramine. Null tähendab aegumise puudumist."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Aegumisühikuks on sekundid"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Kasutaja umask-i määramine"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "IPv4 võltsveateadete lubamine"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Üldlevi icmp echo lubamine"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Icmp echo lubamine"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* on olemas"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Taaskäivituse lubamine konsooli kasutajale"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Administraatori võrgust sisselogimise lubamine"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Administraatori otsesisselogimine"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Kasutajate nimekirja lubamine kuvahalduritel (kdm ja gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Kuva eksport administraatorilt muule kasutajale üle minnes"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window ühenduste lubamine"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "X Window TCP ühenduste autentimine"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Kõigi teenuste aktsepteerimine, mida kontrollib tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig allumine msec-i reeglitele"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "\"Crontab\" ja \"at\" lubamine kasutajatele"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog-i teated saadetakse konsoolile 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Nimelahenduse võltsimiskaitse"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "IP võltsimiskaitse lubamine"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Libsafe lubamine, kui see süsteemist leitakse"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Ipv4 veidrate pakettide logimise lubamine"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Msec igatunnise turvakontrolli lubamine"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Su lubamine ainult grupi wheel liikmetele"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Parooli kasutamine kasutajate autentimiseks"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Võrgukaardi mitte-eelisoleku kontroll"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Igapäevane turvakontroll"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) üksikkasutaja tasemel"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Parool ei aegu"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Parooli aegumise ja konto tühistamise viivituse määramine"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Paroolipuhvri suurus"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Parooli miinimumpikkus ning numbrite ja suurtähtede hulk"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Administraatori umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Shelli puhvri suurus"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Shelli aegumine"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Kasutaja umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Avatud portide kontroll"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Ebaturvaliste kontode kontroll"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Failide loabittide kontroll kasutajate kodukataloogis"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Võrguseadmete mitte-eelisrežiimis oleku kontroll"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Igapäevase turvakontrolli lubamine"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Sgid-failide lisamise/eemaldamise kontroll"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Tühja parooli kontroll /etc/shadow-s"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Suid/sgid failide kontrollsumma kontroll"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Suid root failide lisamise/eemaldamise kontroll"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Omanikuta failidest teatamine"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Kõigi kirjutatavate failide/kataloogide kontroll"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Chkrootkit kontrolli lubamine"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Tühje raporteid e-postiga ei saadeta"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Kui on lubatud, saadab e-postiga raporti sellele aadressile, muidu "
+"administraatorile."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Kontrolli tulemustest teatatakse e-postiga"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Rpm andmebaasi mõningane kontroll"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Kontrolli tulemused saadetakse syslog-i"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Kontrolli tulemused saadetakse tty-sse"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Tere tulemast, kräkkerid"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Vähene"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standardne"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Kõrge"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Veel kõrgem"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoiline"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"See tase muudab küll süsteemi lihtsalt kasutatavaks, kuid väga\n"
+"haavatavaks: ligipääsupiirangute puudumise tõttu ei peaks arvutit\n"
+"ühendama ei teiste arvutitega ega ka mitte Internetti."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Paroolid on nüüd kasutusel, kuid võrku ühendamine ei ole siiski soovitav."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"See on sobilik turvatase arvutile, mis ühendatakse Internetti kui klient."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Mõned piirangud on juba peal ja igal ööl kontrollitakse automaatselt mitmeid "
+"turvalisuse aspekte."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Sellel turvatasemel võib süsteemi kasutada Internetis ka serverina.\n"
+"Turvalisus on nüüd piisavalt kõrge, et töötades serverina võib masin\n"
+"vastu võtta ka palju kliente. Märkus: kui Teie masin kasutab Internetti\n"
+"ainult kliendina, võiks valida madalama taseme."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"See sarnaneb eelmisele tasemele, ainult et süsteem on täiesti suletud ja "
+"turvalisus maksimaalne."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Turvalisus"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSeci põhiseadistused"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Palun valige sobiv turvatase"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Turvatase"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Serveritel kasutatakse libsafe'i"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Teek, mis kaitseb puhvri ületäite ja vormingustringide rünnakute vastu."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Turvaadministraator (kasutajatunnus või e-posti aadress)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Helisüsteemi ALSA (Advanced Linux Sound Architecture) käivitamine"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+"Anacron käivitab programme perioodiliselt analoogiliselt cron-ile.\n"
+"Kasutage seda juhul, kui Teie arvuti ei tööta 24h."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Apmd on kasutusel põhiliselt sülearvutites akude täituvuse jälgimiseks.\n"
+"Samuti suudab see aku tühjenemisel süsteemi viisakalt seisata."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Laseb käivitada ühekordseid käske etteantud ajal või ootab süsteemi\n"
+"koormuse laskumist käsu käivitamiseks piisavale tasemele."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Cron on UNIX-süsteemide standardvahend kasutaja programmide perioodiliseks\n"
+"käivitamiseks. Vixie cron sisaldab lisaks veel turvalisust ja kasutus-\n"
+"mugavust tõstvaid omadusi. Soovitatav süsteemile, mis töötab 24h."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM on failide jälgimise deemon. Seda kasutatakse raporteerimiseks failide "
+"muutmisel.\n"
+"Seda kasutab nii GNOME kui KDE."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM annab võimaluse kasutada hiirt ka tekstikonsoolil. Lisaks\n"
+"tavalisele lõikamisele/asetamisele saab kasutada ka menüüsüsteeme."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake kontrollib riistvara ja lisavõimalusena ka seadistab\n"
+"uue või muudetud riistvara."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache on maailma juhtiv veebiserveri programm.\n"
+"Tõenäoliselt ka võimsaim."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Interneti \"superserver\" nimega inetd laseb käivituda mitmetel\n"
+"võrguteenustel, nagu telnet, ftp, rsh, rlogin jne. Inetdi keelamine\n"
+"keelab ka kõik teenused, mida see haldab."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Käivitab paketifiltri Linuxi kerneliseeriale 2.2 ning loob\n"
+"tulemüüri, mis kaitseb Teie masinat rünnakute eest Internetist."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"See pakett laeb süsteemi käivitumisel klaviatuuripaigutuse vastavalt\n"
+"failis /etc/sysconfig/keyboard kirjeldatule. Vähe on juhtumeid, kus\n"
+"seda teenust vaja ei läheks."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Kerneli päise automaatne regenereerimine partitsioonil /boot\n"
+"/usr/include/linux/{autoconf,version}.h jaoks"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Riistvara automaatne tuvastamine ja seadistamine alglaadimisel."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf sooritab mõnikord alglaadimise ajal mitmesuguseid\n"
+"asju süsteemi seadistuse säilitamiseks."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Lpd on trükideemon, ilma selleta ei ole võimalik trükkida.\n"
+"Põhimõtteliselt on see server, mis saadab töö printeri(te)le."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linuxi virtuaalserver, mis on mõeldud veatult töötavaks ja igati\n"
+"kättesaadavaks serveriks."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) on kasutusel nimeserverites, mis teenindavad DNS hierarhiat, "
+"tõlkimaks nimesid IP-aadressideks."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Haagib ja lahutab kõiki võrgufailisüsteeme\n"
+"(nii NFS, SMB kui ka NCP)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr "Aktiveerib süsteemi alglaadimisel kõik vajalikud võrguliidesed."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS on UNIX-i keskkonna standardne failijaotusprotokoll.\n"
+"See täidab NFS serveri funktsioone ja seadistatakse failis /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS on UNIX-i keskkonna standardne failijaotusprotokoll.\n"
+"See programm täidab NFS failide lukustamise funktsioone.\n"
+"Vajalik serverites."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "Lülitab automaatselt alglaadimise ajal sisse NumLock-i."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Toetab OKI 4w ja sellega ühilduvaid winprintereid."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA tugi on tavaliselt vajalik sülearvutitele võrgu- ja\n"
+"modemiliideste lisamiseks."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper haldab RPC ühendusi, mida kasutavad NFS ja NIS.\n"
+"Neil serveritel on see hädavajalik."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix on e-posti transpordiagent, see tähendab rakendus,\n"
+"mis toimetab e-kirju ühest masinast teise."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Salvestab ja taastab juhuarvude genereerimiseks vajaliku\n"
+"süsteemse entroopiasalve."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Toorseadmete seostamine plokkseadmetega\n"
+"(näiteks kõvaketta partitsioonid)\n"
+"selliste rakenduste, nagu Oracle või DVD mängijad tarbeks"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed on RIP deemon, mis vahetab selle protokolli alusel\n"
+"marsruutimisinfot. Kui Teil on RIP kasutusel, on vajalik ka routed."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Protokoll rstat laseb üle võrgu saada informatsiooni\n"
+"süsteemi töö kohta. Ettevaatust!"
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokoll rusers laseb üle võrgu saada informatsiooni\n"
+"süsteemi kasutajate kohta. Ettevaatust!"
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokoll rwho laseb üle võrgu saada informatsiooni\n"
+"süsteemi kasutajate kohta. Ettevaatust!"
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Käivitab helisüsteemi"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr "Syslog-i kaudu toimub süsteemis toimiva logimine. Vajalik!"
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Laeb draiverid USB-seadmete tarbeks."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Käivitab X fondiserveri, ilma milleta X lihtsalt ei lähe käima."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Trükkimine"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Failide jagamine"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Süsteem"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Võrguhaldus"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Andmebaasi server"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Teenused"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Valige, millised teenused tuleks alglaadimisel käivitada"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Teenused: %d aktiveeritud, kokku %d"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "töötab"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "peatatud"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Teenused ja deemonid"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Selle teenuse kohta\n"
+"ei oska lisainfot anda."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Vajaduse korral"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Alglaadimisel"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Käivita"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Peata"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Käesolev rakendus on vaba tarkvara. Te võite seda edasi levitada\n"
+"ja/või muuta vastavalt GNU Üldise Avaliku Litsentsi tingimustele, nagu\n"
+"need on avaldanud Vaba Tarkvara Fond; kas Litsentsi versioon number 2\n"
+"või (vastavalt Teie valikule) ükskõik milline hilisem versioon.\n"
+"\n"
+"Seda rakendust levitatakse lootuses, et see on kasulik, kuid\n"
+"ILMA IGASUGUSE GARANTIITA; isegi KESKMISE/TAVALISE\n"
+"KVALITEEDI GARANTIITA või SOBIVUSELE TEATUD KINDLAKS\n"
+"EESMÄRGIKS. Üksikasjade suhtes vaadake GNU Üldist Avalikku Litsentsi.\n"
+"\n"
+"Te peaks olema saanud GNU Üldise Avaliku Litsentsi koopia koos selle\n"
+"rakendusega; kui ei, siis võtke ühendust Vaba Tarkvara Fondiga aadressil:\n"
+"Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA "
+"02110-1301, USA\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Varundamis- ja taastamisrakendus\n"
+"\n"
+"--default : salvestab vaikekataloogid.\n"
+"--debug : näitab kõiki silumisteateid.\n"
+"--show-conf : varundatavate failide või kataloogide nimekiri.\n"
+"--config-info : selgitab seadistustefaili võtmeid (X'i "
+"mittekasutajaile).\n"
+"--daemon : kasutab deemoni seadistusi.\n"
+"--help : näitab käesolevat abiteadet.\n"
+"--version : näitab versiooni nime.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"VÕTMED:\n"
+" --boot - alglaadija seadistamise lubamine\n"
+" --splash - alglaadimisteema seadistamise lubamine\n"
+"vaikerežiim: pakutakse võimalust seadistada automaatset sisselogimist"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[VÕTMED] [RAKENDUSE_NIMI]\n"
+"\n"
+"VÕTMED:\n"
+" --help - näitab käesolevat abiteadet.\n"
+" -report - rakendus peab olema üks Mandriva Linuxi tööriistadest\n"
+" -incident - rakendus peab olema üks Mandriva Linuxi tööriistadest"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"võrguliidese lisamise\" nõustaja\n"
+" --del - \"võrguliidese eemaldamise\" nõustaja\n"
+" --skip-wizard - ühenduste haldamine\n"
+" --internet - Internetiühenduse seadistamine\n"
+" --wizard - nagu --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Fontide importimise ja jälgimise rakendus\n"
+"\n"
+"--windows_import : impordib kõigilt saadaolevailt windowsi "
+"partitsioonidelt.\n"
+"--xls_fonts : näitab kõiki fonte, mis on juba saadud xls-ist.\n"
+"--strong : fontide tugev verifitseerimine.\n"
+"--install : paigaldab iga fondifaili ja kataloogi.\n"
+"--uninstall : eemaldab iga fondi või fondikataloogi.\n"
+"--replace : asendab kõik fondid, kui on juba olemas.\n"
+"--application : 0 mitte ükski rakendus.\n"
+" : 1 iga toetatud ja saadaolev rakendus.\n"
+" : rakenduse_nimi, näiteks so StarOffice'i \n"
+" : ja gs GhostScripti puhul."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[VÕTMED]...\n"
+"Mandriva Linuxi terminaliserveri seadistaja\n"
+"--enable : lubab MTSi\n"
+"--disable : keelab MTSi\n"
+"--start : käivitab MTSi\n"
+"--stop : peatab MTSi\n"
+"--adduser : lisab olemasoleva kasutaja MTSile (nõutav on "
+"kasutajanimi)\n"
+"--deluser : kustutab olemasoleva kasutaja MTSist (nõutav on "
+"kasutajanimi)\n"
+"--addclient : lisab kliendimasina MTSile (nõutav on MAC-aadress, IP, "
+"nbi laadepildi nimi)\n"
+"--delclient : kustutab kliendimasina MTSist (nõutav on MAC-aadress, IP, "
+"nbi laadepildi nimi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[klaviatuur]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+"[--file=minufail] [--word=minusõna] [--explain=regulaaravaldis] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[VÕTMED]\n"
+"Kohtvõrgu ja Interneti ühenduse ja jälgimise rakendus\n"
+"\n"
+"--defaultintf liides : näidab antud liidest vaikimisi\n"
+"--connect : ühendab Internetiga, kui ei ole veel ühendust\n"
+"--disconnect : lahutab Internetist, kui on juba ühendus\n"
+"--force : koos võtmega (dis)connect sunnib ühendama/lahutama\n"
+"--status : vastuseks 1, kui on ühendatud, muul juhul 0 ja väljumine.\n"
+"--quiet : lülitab välja interaktiivsuse. Koos võtmega (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[VÕTI]...\n"
+" --no-confirmation ei küsita esimest kinnitust Mandriva Update "
+"režiimis\n"
+" -no-verify-rpm pakettide signatuure ei kontrollita\n"
+" --changelog-first näitab kirjelduse aknas enne failinimekirja "
+"muudatuste logi\n"
+" -merge-all-rpmnew proovib liita kõik leitud failid .rpmnew/.rpmsave"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=seade] [--update-sane=sane_baaskataloog] [--update-"
+"usbtable] [--dynamic=seade]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [kõik]\n"
+" XFDrake [--noauto] monitor\n"
+" XFDrake ekraanilahutus"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Kasutamine: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version]"
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Kõik serverid"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globaalne"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Aafrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Aasia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Euroopa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Põhja-Ameerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Okeaania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Lõuna-Ameerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hongkong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Venemaa Föderatsioon"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslaavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Kas see on sobiv?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Ühtegi faili pole valitud"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Valisite faili, mitte kataloogi"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Valisite kataloogi, mitte faili"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Sellist kataloogi pole"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Sellist faili pole"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Ava puu"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sulge puu"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Sorteeritud või sorteerimata"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s ei ole paigaldatud\n"
+"Klõpsake paigaldamiseks \"Edasi\" või väljumiseks \"Loobu\""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Paigaldamine ebaõnnestus!"
+
+#~ msgid "Icon"
+#~ msgstr "Ikoon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Hõivepuhvrite arv:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "hõivatavate puhvrite arv mmap-i jaoks"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Raadiotugi:"
+
+#~ msgid "enable radio support"
+#~ msgstr "raadiotoe lubamine"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/eu.po b/perl-install/share/po/eu.po
new file mode 100644
index 000000000..a650125a9
--- /dev/null
+++ b/perl-install/share/po/eu.po
@@ -0,0 +1,6817 @@
+# translation of eu.po to EUSKARA
+# translation of DrakX-eu.po to EUSKARA
+# translation of DrakX-eu.po to basque
+# EUSKARA: Mandriva Linux translation.
+# Copyright (C) 2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Iñigo Salvador Azurmendi <xalba@euskalnet.net>, 2001-2002,2003,2004, 2005.
+# Hizkuntza Politikarako Sailburuordetza <hizpol@ej-gv.es>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-eu\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-12-31 14:02+0100\n"
+"Last-Translator: Iñigo Salvador Azurmendi <xalba@euskalnet.net>\n"
+"Language-Team: EUSKARA <itzulpena@euskalgnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Itxaron"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Abioko kargatzailearen instalazioa egiten ari da"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO-k Bolumen ID berria ezarri nahi dio %s unitateari. Hala ere, Windown "
+"Nt,\n"
+"2000, edo XP-ren abiapen diskoen Bolumen ID aldaketak Windows-en erabateko "
+"akatsa eragiten du.\n"
+"Oharpen honek ez die Windows 95 edo 98, edo NT datu diskoei eragiten.\n"
+"\n"
+"Bolumen ID berria ezarri nahi duzu?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Abioko kargatzailea instalatzeak huts egin du. Errore hau gertatu da:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Baliteke Open Firmware abioko gailua aldatu behar izatea\n"
+" abioko kargatzailea gaitzeko. Berrabiaraztean abioko kargatzailearen \n"
+" gonbita ez baduzu ikusten, eduki sakatuta Command-Option-O-F abiaraztean\n"
+" eta sartu:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Gero, idatzi: shut-down\n"
+"Hurrengo abiaraztean abioko kargatzailearen gonbita ikusi beharko zenuke."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Partizio batean abioko kargatzailea instalatzea erabaki duzu.\n"
+"Horrek esan nahi du baduzula abioko kargatzaile bat abioko unitatean (adib.: "
+"System Commander).\n"
+"\n"
+"Zein da zure abioko unitatea?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Unitateko lehen sektorea (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Erroko partizioko lehen sektorea"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Disketean"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Saltatu"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub instalazioa"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Non instalatu nahi duzu abioko kargatzailea?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Abioko estilo-konfigurazioa"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Abioko kargatzailearen aukera nagusiak"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Abioko kargatzailea"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Erabili beharreko abioko kargatzailea"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Abioko gailua"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Imajina lehenetsia abiarazi arteko denbora"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Gaitu ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Gaitu ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Gaitu ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Pasahitza"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Pasahitzak ez datoz bat"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Saiatu berriro"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Ezin da fitxategi-sistema enkriptatua erabili %s muntatze-punturako"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Pasahitza (berriro)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Murriztu komando-lerroko aukerak"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "murriztu"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"``Murriztu komando-lerroko aukerak'' aukera ezin da erabili pasahitzik gabe"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Garbitu /tmp abiatzen den bakoitzean"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Zehaztu RAM tamaina behar izanez gero (%d MB aurkitu dira)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Eman ram-tamaina MBtan"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Hasierako mezua"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware-ren atzerapena"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Nukleoaren abioaren denbora-muga"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Gaitu CDtik abiaraztea?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Gaitu OF abiaraztea?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "SE lehenetsia?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imajina"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Erroa"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Erantsi"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Bideo modua"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Sare profila"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etiketa"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Lehenetsia"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "BideorikEz"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Ez da etiketa hutsik onartzen"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Nukleo-imajina bat zehaztu behar duzu"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Erroko partizio bat zehaztu behar duzu"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Etiketa hau jadanik erabili da"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Zer sarrera-mota gehitu nahi duzu?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Beste SE bat (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Beste SE bat (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Beste SE bat (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hona hemen abioko menuko orain arteko sarrerak.\n"
+"Sarrera gehgiago sor ditzakezu, edo lehendik daudenak aldatu."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X programen atzipena"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "rpm tresnen atzipena"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "onartu \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "administrazio-fitxategien atzipena"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "sare-tresnen atzipena"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "konpilazio-tresnen atzipena"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s jadanik gehituta)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Eman erabiltzaile-izen bat"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Erabiltzaile-izenak minuskulaz idatzitako letrak, zenbakiak, `-' eta `_' "
+"soilik izan ditzake"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Erabiltzaile-izena luzeegia da"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Erabiltzaile-izen hau gehituta dago jadanik"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Erabiltzaile ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Talde ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s zenbakia izan behar da"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s 500 gainetik egon behar luke. Onartu hala ere?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Gehitu erabiltzailea"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Sartu erabiltzaile bat\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Eginda"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Onartu erabiltzailea"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Benetako izena"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Saioa hasteko izena"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatikoki hasi saioa"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Ordenagailua konfigura dezaket automatikoki erabiltzaile bat sartzeko."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Ezaugarri hau erabili"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Aukeratu erabiltzaile lehenetsia:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Aukeratu exekutatu beharreko leiho-kudeatzailea:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lizentzia-kontratua"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Irten"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Askapen Oharrak"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Onartu"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ezetsi"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Aukeratu erabiltzeko hizkuntza bat."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Hizkuntza aukera"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux-ek hainbat hizkuntza onar ditzake. Hautatu\n"
+"instalatu nahi dituzun hizkuntzak. Instalazioa osatzean eta\n"
+"sistema berrabiaraztean, erabilgarri egongo dira."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Hizkuntza anitz"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Hizkuntza guztiak"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Estatua/Eskualdea"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Aukeratu zure herrialdea edo estatua."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Hona hemen herrialde erabilgarri guztien zerrenda"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Beste Herrialde batzuk"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Aurreratua"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Sarrera metodoa:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Bat ere ez"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ez partekatu"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Eman baimena erabiltzaile guztiei"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Pertsonalizatua"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Erabiltzaileei direktorio batzuk partekatzeko baimena eman nahi diezu? \n"
+"Baimena ematen badiezu, erabiltzaileek besterik gabe \"Share\"n klik egin "
+"ahal izango dute konqueror-en eta nautilus-en.\n"
+"\n"
+"\"Custom\"ek erabiltzaileen araberako banaketa egiteko aukera ematen du.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: usadioz Unixen fitxategiak elkarbanatzeko sistema, Mac eta Windowsen "
+"euskarri gutxiago duena."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: fitxategiak elkarbanatzeko sistema, Windows, Mac OS X eta gaur egungo "
+"hainbat Linux sistemek erabiltzen dutena."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "NFS edo SMB-rekin esporta dezakezu. Hautatu zein erabili nahi duzun."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Abiarazi userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Itxi"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Erabiltzaileen araberako partekatzeak \"fileshare\" \n"
+"taldea erabiltzen du. \n"
+"Userdrake erabil dezakezu talde honetan erabiltzaileak gehitzeko."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Amaitu saioa eta, ondoren, sakatu Ktrl-Alt-Atzera"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Saioa amaitu eta berriro hasi behar duzu aldaketek eragina izan dezaten"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Ordu-zona"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Zein da zure ordu-zona?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Hardwarearen ordua GMTn ezarria"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Hardwarearen ordua GMTn ezarria"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Zerbitzaria"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Ordu-sinkronizazio automatikoa (NTP erabiliz)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Bertako fitxategia"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Txartela"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows domeinua"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Direktorio Aktiboa SFU-rekin"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Direktorio Aktiboa Windbind-rekin"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Bertako fitxategia:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Erabili bertakoa erabiltzaileak bertako fitxategian ematen duen egiaztapen "
+"eta informazio guztientzako"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Zure konputagailuari egiaztatze batzu edo guztietarako LDAP erabiltzeko "
+"esaten dio. LDAP-ek zure erakunde barruan zenbait informazio mota bateratu "
+"egiten ditu."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Konputagailu talde bat Sareko Informazio Zerbitzu domeinu berdinean "
+"ibiltzeko aukera ematen dizu pasahitz eta talde fitxategi amankomunarekin."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows domeinua:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind-ek sistemari Windows domeinu batetik informazioa eskuratu eta "
+"erabiltzaileak egiaztatzeko gaitasuna ematen dio."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Direktorio Aktiboa SFU-rekin:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Kerberos eta Ldap-ekin erabiltzaileak egiaztatzeko Direktorio Aktibodun "
+"Zerbitzari batean"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Direktorio Aktiboa Windbind-ekin:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind-ek sistemari erabiltzaileak Windows Direktorio Aktibodun Zerbitzari "
+"batean egiaztatzeko aukera ematen dio."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP egiaztatzea"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP basea dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP zerbitzaria"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "sinplea"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "segurtasun eskema (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Direktorio Aktiboko Egiaztatzea"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domeinua"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Zerbitzaria"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP erabiltzaileen datubasea"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Erabili BIND anonimoa"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Direktorio Aktiboa arakatzeko baimena duen LDAP erabiltzailea"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Erabiltzailearentzako pasahitza"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS Egiaztatzea"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domeinua"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS zerbitzaria"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"W2K PDC batekin funtziona dezan, seguru asko administratzaileak exekutatu "
+"beharko du: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone /add eta zerbitzaria berrabiarazi.\n"
+"Makina Windows(TM) domeinura sartzeko ere Domeinu Administratzailearen "
+"erabiltzaile-izena/pasahitza beharko dituzu.\n"
+"Sarea oraindik gaitu gabe badago, DrakX domeinuan sartzen saiatuko da, sarea "
+"konfiguratzeko urratsaren ondoren.\n"
+"Urrats horrek huts egiten badu eta domeinu-egiaztatzeak ez badu "
+"funtzionatzen, exekutatu 'smbpasswd -j DOMAIN -U USER%%PASSWORD' zure Windows"
+"(tm) Domeinua eta Admin erabiltzaile-izena/pasahitza erabiliz, sistema "
+"kargatu ondoren.\n"
+"'wbinfo -t' komandoak zure egiaztatze-sekretuak behar bezalakoak diren "
+"egiaztatuko du."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows Domeinuko Egiaztatzea"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Direktorio Aktiboaren Eremua "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domeinu-administratzailearen erabiltzaile-izena"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domeinu-administratzailearen pasahitza"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Egiaztatzea"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Ezarri administratzaile (root) pasahitza"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Egiaztatze-metodoa"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Pasahitzik ez"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Pasahitz hau laburregia da (gutxienez %d karaktere izan behar ditu)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Ezin da difusioa erabili NIS domeinurik gabe"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Ongi etorri sistema eragilearen aukeratzailera!\n"
+"\n"
+"Hautatu sistema eragile bat goiko zerrendan, edo\n"
+"itxaron lehenespenez berrabiarazi arte.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO testu-menuarekin"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB menu grafikoarekin"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB testu menuarekin"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "ez dago nahikoa leku /boot-en"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Abioko kargatzailea ezin da instalatu %s partizio batean\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Abioko kargatzailearen konfigurazioa eguneratu egin behar da, partizioa "
+"berriro zenbakitu delako"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Abioko kargatzailea ezin da behar bezala instalatu. Berrabiarazi "
+"berreskuratzea, eta hautatu \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Berriro instalatu abioko kargatzailea"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutu"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "minutu bat"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d segundo"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV, web zerbitzari baten direktorio bat bertan muntatu eta bertako\n"
+"fitxategi-sitemakoa balitz bezala erabiltzeko aukera ematen dizun protokolo\n"
+"bat da (web zerbitzaria WebDAV zerbitzari gisa konfiguratuta badago).\n"
+"WebDAV muntaia-puntuak eransteko, hautatu \"Berria\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Berria"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Desmuntatu"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Muntatu"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Muntatze-puntua"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Aukerak"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Errorea"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Sartu WebDAV zerbitzariaren URLa"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URLak honela hasi behar du: http:// edo https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Zerbitzaria: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Muntatze-puntua: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Aukerak: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partizioa egiten"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Irakurri arretaz!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Egin zure datuen babeskopia lehendabizi"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Irten"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Jarraitu"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"aboot erabiltzeko asmoa baduzu, utzi lekua (2048 sektore nahikoa dira)\n"
+"diskoaren hasieran"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Laguntza"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Aukeratu ekintza"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"MicroSoft Windows-en partizio handi bat daukazu.\n"
+"Lehendabizi partizio horren tamaina aldatzea gomendatzen dizut\n"
+"(egin klik partizioaren gainean, eta sakatu \"Tamainaz aldatu\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Egin klik partizio batean"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Xehetasunak"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Ez da disko zurrunik aurkitu"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Ezezaguna"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Bestelakoak"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Hutsik"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Fitxategi-sistemen motak:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Kontuz"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Partizio honi ezin zaio tamaina aldatu"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Erabili ``Desmuntatu'' lehendabizi"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Erabili ``%s'' horren ordez"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Mota"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Aukeratu beste partizio bat"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Aukeratu partizio bat"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Desegin"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Aldatu modu normalera"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Aldatu aditu-modura"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Sare lokalaren konfigurazioa (LAN)"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Jarraitu hala ere?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Irten gorde gabe"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Partizio-taula idatzi gabe irten?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "/etc/fstab aldaketak gorde nahi dituzu?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Berrabiarazi egin behar duzu partizio-taulako aldaketek eragina izateko"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"%s partizioa formateatu behar zenuke.\n"
+"Gainerantzean ez da %s muntaia puntuarentzat sarrerarik idatziko fstab-en.\n"
+"Irten hala ere?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Garbitu dena"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Auto-esleitu"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Gehiago"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Disko zurrunaren informazioa"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Lehen mailako partizio guztiak erabilita daude"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ezin dut partizio gehiago gehitu"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Partizio gehiago edukitzeko, ezabatu horietako bat partizio hedatu bat sortu "
+"ahal izateko"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Supermount gabe"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount CDROM unitateentzako ezik"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Gorde partizio-taula"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Leheneratu partizio-taula"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Berreskuratu partizio-taula"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Birkargatu partizio-taula"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Euskarri aldagarrien automuntatzea"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Hautatu fitxategia"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Babeskopiako partizio-taulak ez du tamaina bera\n"
+"Jarraitu hala ere?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Partizio-taula berreskuratzen saiatzen"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informazio xehea"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Aldatu tamaina"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formateatu"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Gehitu RAIDi"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Gehitu LVMri"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Ezabatu"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Kendu RAIDetik"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Kendu LVMtik"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Aldatu RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Erabili atzera-begiztarako"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Sortu"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Sortu partizio berria"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Hasierako sektorea: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Tamaina MBtan: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Fitxategi-sistemaren mota: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Hobespena: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Bolumen logikoaren izena "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Ezin duzu partizio berririk sortu\n"
+"(lehen mailako partizioen gehienezko kopurura heldu zara).\n"
+"Aurrena kendu lehen mailako partizio bat, eta sortu partizio hedatu bat."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Atzera-begiztako fitxategia kendu?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"%s partizio-mota aldatu ondoren, partizioko datu guztiak galdu egingo dira"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Aldatu partizio mota"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Zein fitxategi-sistema nahi duzu?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2-tik ext3-ra aldatzen"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Bolumenarentzako zein etiketa?"
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Etiketa"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Non muntatu nahi duzu %s atzera-begiztako fitxategia?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Non muntatu nahi duzu %s gailua?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ezin da muntatze-puntuaren ezarpena kendu, partizio hau atzera-begiztarako\n"
+"erabiltzen delako. Kendu atzera-begizta lehendabizi"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Non muntatu nahi duzu %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Tamaina aldatzen"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT fitxategi-sistemaren mugak kalkulatzen"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Partizio honi ezin zaio tamaina aldatu"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Partizio honetako datu guztien babeskopia egitea komeni da"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"%s partizioa tamainaz aldatu ondoren, partizioko datu guztiak galduko dira"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Aukeratu tamaina berria"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Tamaina berria MBtan: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Partizioen tamaina aldatu ondoren datuen osotasuna ziurtatzeko, \n"
+"fitxategi-sistemaren probak exekutatuko dira Windows(TM) hurrengo\n"
+"aldiz abiaraztean."
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Aukeratu lehendik dagoen RAID bat gehitzeko"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "berria"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Aukeratu lehendik dagoen LVM bat gehitzeko"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM izena?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"%s bolumen fisikoa erabiltzen ari da.\n"
+"Bolumen honetan erabilitako luzapen fisikoak beste bolumen batzuetara mugitu "
+"nahi dituzu?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Luzapen fisikoak mugitzen"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Partizio hau ezin da atzera-begiztarako erabili"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Atzera-begizta"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Atzera-begiztako fitxategi-izena: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Eman fitxategi-izen bat"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Fitxategi hau beste atzera-begizta batek erabiltzen du, aukeratu beste bat"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fitxategia badago lehendik ere. Erabili?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Muntatze-aukerak"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Hainbat"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "gailua"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "maila"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "zatiaren neurria KiB-etan"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Kontuz ibili: eragiketa hau arriskutsua da."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Nolako partizioa?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Berrabiarazi egin beharko duzu aldaketek eragina izan dezaten"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s unitateko partizio-taula diskoan idaztera doa!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"%s partizioa formateatu ondoren, partizioko datu guztiak galdu egingo dira"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Bloke txarrak egiaztatu?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Eraman fitxategiak partizio berrira"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Ezkutatu fitxategiak"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Fitxategiak partizio berrira eramaten"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s kopiatzen"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s kentzen"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "%s partizioa %s da orain"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partizioak berriro zenbakitu dira: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Gailua: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Bolumenaren etiketa: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS unitate-letra: %s (uste hutsa)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Mota: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Izena: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Hasiera: %s sektorea\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Tamaina: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektore"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "%d zilindrotik %d zilindrora\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Luzapen logiko kopurua: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formateatua\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Formateatu gabe\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Muntatuta\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Atzera-begiztako fitxategia(k):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Lehenespenez abiarazteko partizioa\n"
+" (MS-DOS abiorako, ez lilo-rako)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "%s maila\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Zatiaren neurria %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "%s RAID-diskoak\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Atzera-begiztako fitxategi-izena: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Partizio hau kontrolatzaileen\n"
+"partizioa izan daiteke. Hobe duzu\n"
+"bere horretan uztea.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Bootstrap partizio berezi hau\n"
+"sistemaren abio bikoitza\n"
+"egiteko da.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Irakurtzeko soilik"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Tamaina: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometria: %s zilindro, %s buru, %s sektore\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informazioa: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "%s LVM-diskoak\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partizio-taularen mota: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "- kanala: %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Fitxategi-sistema enkriptatzeko gakoa"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Aukeratu fitxategi-sistema enkriptatzeko gakoa"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Enkriptatze-gako hau sinpleegia da (gutxienez %d karaktere izan behar ditu)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Enkriptatze-gakoak ez datoz bat"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Enkriptatze-gakoa"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Enkriptatze-gakoa (berriro)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Enkriptatze-algoritmoa"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Aldatu mota"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Utzi"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ezin da saioa hasi %s erabiltzaile-izenarekin (pasahitz okerra?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domeinu Egiaztatzea behar da"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Zein erabiltzaile-izen"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Beste bat"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Idatzi ostalarian sartzeko erabiltzaile-izena, pasahitza eta domeinu-izena."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Erabiltzaile-izena"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Bilatu zerbitzarietan"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Bilatu zerbitzari berriak"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s paketea instalatu egin behar da. Instalatu nahi duzu?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Ezin izan da %s paketea instalatu!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Derrigorrezko %s paketea falta da"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Ondorengo paketeak instalatu behar dituzu:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Paketeak instalatzen..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Paketeak kentzen..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Errorea gertatu da - ez da fitxategi-sistema berriak sortzeko gailu "
+"baliozkorik aurkitu. Aztertu zure hardwarea arazo honen arrazoia bilatzeko"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "FAT partizio bat eduki behar duzu /boot/efi-n muntatuta"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s partizioa formateatzen"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s fitxategia sortzen eta formateatzen"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ez dakit nola formateatu %s %s motan"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%2$s(r)i %1$s formatua emateak huts egin du"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "%s muntaketa zirkularrak\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "%s partizioa muntatzen"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "%s partizioa %s direktorioan muntatzeak huts egin du"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s egiaztatzen"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "errorea %s desmuntatzean: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "%s swap partizioa gaitzen"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Erabili zifratutako fitxategi sistema"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Gaitu taldeko disko kuota kontabilitatea eta aukera bezala mugak betearazi"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ez eguneratu inodoen atzipen-orduak fitxategi-sistema honetan\n"
+"(adib.: berri-taldeen spool-a bizkorrago atzituz berri-zerbitzaria arinago "
+"ibil dadin)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Esplizituki muntatu behar da (hau da,\n"
+"-a aukerak ez du muntatuko fitxategi-sistema)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Ez interpretatu karaktere- edo bloke-gailu berezirik fitxategi-sisteman."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ez eman bitarrak exekutatzeko baimenik muntatutako\n"
+"fitxategi-sisteman. Aukera hau egokia da berea ez den arkiteturaren bateko\n"
+"fitxategi bitarrak dituen zerbitzari baterako."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ez utzi set-user-identifier edo set-group-identifier bitei\n"
+"eragina izaten. (Segurua ematen du, baina suidperl(1) instalatuta \n"
+"badaukazu, ez da batere segurua.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Irakurtzeko soilik muntatu fitxategi-sistema."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Fitxategi-sistemako S/I guztiak sinkronizatuta egin behar dira."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Erabiltzaile arrunt bati fitxategi-sistema muntatzeko gaitasuna eman."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Gaitu erabiltzaile disko kuota kontabilitatea, eta aukera bezala mugak "
+"betearazi"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Eman idazteko baimena erabiltzaile arruntei"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Eman soilik irakurtzeko baimena erabiltzaile arruntei"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Bikoiztu %s muntatze-puntua"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Ez dago partizio erabilgarririk"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Partizioak eskaneatzen muntatze-puntuak aurkitzeko"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Aukeratu muntatze-puntuak"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Aukeratu formateatu nahi dituzun partizioak"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Huts egin du %s fitxategi-sistema egiaztatzean. Erroreak konpondu nahi "
+"dituzu? (kontuz ibili, datuak gal ditzakezu)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Ez dago nahikoa swap instalazioa burutzeko, gehitu egin beharko duzu"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Erroko partizioa eduki behar duzu.\n"
+"Horretarako, sortu partizio bat (edo egin klik lehendik dagoen batean).\n"
+"Gero aukeratu ``Muntatze-puntua'' ekintza eta ezarri `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Ez duzu swap partiziorik.\n"
+"\n"
+"Jarraitu hala ere?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Erabili leku librea"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ez dago partizio berriak esleitzeko adina leku"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Lehendik dauden partizioak erabili"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Ez dago erabiltzeko moduko partiziorik"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Erabili Microsoft Windows® partizioa atzera-begiztarako"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Zein partizio erabili nahi duzu Linux4Win-erako?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Aukeratu tamainak"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Erroko partizioaren tamaina MBtan: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap partizioaren tamaina MBtan: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Ez dago FAT partiziorik atzera-begizta gisa erabiltzeko (edo ez dago nahikoa "
+"leku)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Erabili Windows-en partizioko leku librea"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Zein partiziori aldatu nahi diozu tamaina?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT tamaina-aldatzaileak ezin du zure partizioa maneiatu, \n"
+"errore hau gertatu da: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Microsoft Windows®-en partizioaren tamaina kalkulatzen"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ABISUA!\n"
+"\n"
+"\n"
+"DrakX-k Windows-en partizioaren tamaina aldatuko du orain.\n"
+"\n"
+"\n"
+"Kontuz ibili: eragiketa hau arriskutsua da. Oraindik halakorik ez baduzu "
+"egin, aurrena instalaziotik irten beharko zenuke, \"chkdsk c:\" exekutatu "
+"Windows-eko komando-gonbitetik (kontuan izan \"scandisk\" programa grafikoa "
+"exekutatzea ez dela nahikoa, \"chkdsk\" exekutatu behar duzula komando-"
+"gonbitetik!), nahi baduzu defrag ere exekuta dezakezu, eta ondoren "
+"instalazioa berriro hasi. Datuen babeskopia ere egin beharko zenuke.\n"
+"\n"
+"\n"
+"Ziur bazaude, sakatu '%s'."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Hurrengoa"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Zein tamaina utzi nahi duzu Microsoft Windows®-entzat %s partizioan?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Tamaina"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Microsoft Windows® partizioaren tamaina aldatzen"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT tamaina aldatzeak huts egin du: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Ez dago FAT partiziorik tamainaz aldatzeko (edo ez dago nahikoa leku)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Kendu Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Ezabatu eta erabili disko osoa"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Disko zurrun bat baino gehiago duzu, zeinetan instalatuko duzu linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s unitatean dauden partizio eta datu GUZTIAK galdu egingo dira"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Disko-partizio pertsonalizatua"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Erabili fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Orain egin dezakezu %s partizioa.\n"
+"Egin ondoren, ez ahaztu `w' erabiliz gordetzea"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ezin dut instalatzeko lekurik aurkitu"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX Partizio-morroiak irtenbide hauek aurkitu ditu:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partizioak huts egin du: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Ezin da JFS erabili 16MB baino gutxiagoko partizioetarako"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Ezin da ReiserFS erabili 32MB baino gutxiagoko partizioetarako"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr-rekin"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "zerbitzaria"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ezin dut zure %s gailuko partizio-taula irakurri, hondatuegia dago:(\n"
+"jarraitzen saia naiteke, partizio txarrak ezabatuz (DATU GUZTIAK galduko "
+"dira!).\n"
+"Beste irtenbidea DrakX-ri partizio-taula aldatzeko baimenik ez ematea da.\n"
+"(errorea %s da)\n"
+"\n"
+"Ados zaude partizio guztiak galtzearekin?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Muntatze-puntuek / batez hasi behar dute"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Muntatze-puntuek karaktere alfanumerikoak bakarrik izan ditzakete"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Jadanik badago %s muntatze-puntua duen partizio bat\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Softwareko RAID partizio bat hautatu duzu erro gisa (/).\n"
+"Ez dago abioko kargatzailerik hori /boot partiziorik gabe erabil "
+"dezakeenik.\n"
+"Beraz, kontuan izan /boot partizioa gehitu behar duzula"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Softwareko RAID partizio bat hautatu duzu erro gisa (/).\n"
+"Ez dago abioko kargatzailerik hori /boot partiziorik gabe erabil "
+"dezakeenik.\n"
+"Beraz, kontuan izan /boot partizioa gehitu behar duzula"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Direktorio honek erroko fitxategi-sisteman egon behar du"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Egiazko fitxategi-sistema (ext2/ext3, reiserfs, xfs, edo jfs) behar duzu "
+"muntatze-puntu honetarako\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Ezin da fitxategi-sistema enkriptatua erabili %s muntatze-punturako"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ez dago nahikoa leku libre auto-esleitzeko"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ez dago zer eginik"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disketea"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Diskoa"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROMa"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD grabagailuak"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROMa"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Zinta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP kontroladoreak"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Bideo-txartela"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB txartela"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Telebista-txartela"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Multimediako beste gailu batzuk"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Soinu-txartela"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Web kamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prozesadoreak"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN moldagailuak"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB soinu gailuak"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Irrati txartelak"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM sare txartelak"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN sare txartelak"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth gailuak"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet txartela"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modema"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL moldagailuak"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memoria"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Inprimagailua"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Joku ataka kontrolatzaileak"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Kontrol-palanka"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA kontroladoreak"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID kontroladoreak"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA kontroladoreak"
+
+#: harddrake/data.pm:386
+#, fuzzy, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB soinu gailuak"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Txartel-modeloa:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire kontroladoreak"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA kontroladoreak"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI kontroladoreak"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB kontroladoreak"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB portuak"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus kontroladoreak"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Zubiak eta sistema-kontroladoreak"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Teklatua"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tabletak eta ukipen-pantailak"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Sagua"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Eskanerra"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Ezezaguna/Beste batzuk"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "PUZ zk. "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Itxaron... Konfigurazioa aplikatzen"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Beste kontrolatzailerik ez"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Soinu-txartel horrentzat (%s) une honetan ez dago \"%s\" erabiltzen duen "
+"beste OSS/ALSA kontrolatzailerik"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Soinu-konfigurazioa"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Beste kontrolatzaile bat hauta dezakezu (OSS edo ALSA) (%s) soinu-"
+"txartelarentzat."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Zure txartelak %s\"%s\" kontrolatzailea darabil orain (txartelaren "
+"kontrolatzaile lehenetsia \"%s\" da)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) lehenengo soinu APIa izan zen. Ez da SEari lotutako "
+"soinu APIa (UNIX sistema gehienetan erabil daiteke), baina oso oinarrizkoa "
+"eta mugatua da.\n"
+"Gainera, OSS kontrolatzaile guztiek \"gurpila asmatu\" behar izaten dute.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) arkitektura modularizatua da, eta\n"
+"ISA, USB eta PCI txartel asko onartzen ditu.\n"
+"\n"
+"Halaber, OSSk baino askoz maila hobeko APIa eskaintzen du.\n"
+"\n"
+"Alsa erabiltzeko, hauek erabil ditzakezu:\n"
+"- OSS api zaharreko bateragarritasuna\n"
+"- ALSA api berria, hobetutako eginbide asko dituena, baina ALSA liburutegia "
+"erabiltzea eskatzen duena.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Kontrolatzailea:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Arazoak konpontzea"
+
+# unloading : deskargatu ???? zama????
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"\"%s\" kontrolatzaile zaharra zerrenda beltzean dago.\n"
+"\n"
+"Deskargatzean nukleoa trabatzen duela jakinarazi dute.\n"
+"\n"
+"\"%s\" kontrolatzaile berria ez da erabiliko makina berriz abiarazi arte."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Iturburu irekiko kontrolatzailerik ez"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Ez dago kontrolatzaile librerik zure soinu txartelarentzat (%s), baina "
+"badago kontrolatzaile jabedun bat \"%s\"(e)n."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Kontrolatzaile ezagunik ez"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Ez dago soinu txartelarentzako (%s) kontrolatzaile ezagunik"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Kontrolatzaile ezezaguna"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Errorea: Soinu-txartelaren \"%s\" kontrolatzailea ez dago zerrendan"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Soinu-arazoak konpontzea"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Soinu-probatzaileak ondorengo komandoak exekutatzen ditu:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" : zure txartelaren kontrolatzaile \n"
+"lehenetsia zein den adierazten du\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" : unean zein kontrolatzaile\n"
+"darabilen adierazten du\n"
+"\n"
+"- \"/sbin/lsmod\" : bere modulua (kontrolatzailea) kargatuta dagoen ala\n"
+"ez begiratzeko aukera emango dizu\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" eta \"/sbin/chkconfig --list alsa\" :\n"
+"soinu- eta alsa-zerbitzuak 3. mailan (initlevel 3) exekutatzeko \n"
+"konfiguratuta dauden adierazten du\n"
+"\n"
+"- \"aumix -q\" : soinuaren bolumena mutututa dagoen edo ez adierazten du\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" : soinu-txartela erabiltzen duten programak\n"
+"adierazten ditu.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Edozein kontrolatzaile hartuko dut"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Kontrolatzaile arbitrario bat aukeratzen"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ziur bazaude badakizula zure txartelari zein kontrolatzaile dagokion, \n"
+"goiko zerrendan hauta dezakezu.\n"
+"\n"
+"Zure \"%s\" soinu-txartelaren uneko kontrolatzailea \"%s\" da"
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Autodetektatu"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Ezezaguna|generikoa"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Ezezaguna|CPH05X (bt878) [hornitzaile asko]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Ezezaguna|CPH06X (bt878) [hornitzaile asko]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Telebista-txartel gehienetan GNU/Linux nukleoaren bttv moduluak automatikoki "
+"detektatzen ditu parametroak.\n"
+"Zure txartela gaizki detektatzen bada, hemen adieraz ditzakezu "
+"sintonizadore- eta txartel-mota egokiak. Behar izanez gero, hautatu zure "
+"telebista-txartelaren parametroak."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Txartel-modeloa:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Sintonizadore-mota:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ados"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Bai"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ez"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Aukeratu fitxategi bat"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Gehitu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Aldatu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Kendu"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Amaitu"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Aurrekoa"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Aukera okerra, saiatu berriro\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Zure aukera? (%s lehenetsia) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Zuk bete beharreko sarrerak:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Zure aukera? (0/1, lehenetsia `%s' da) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "`%s' botoia: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Botoi honetan klik egin nahi duzu?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Zure aukera? (lehenetsia: `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " idatzi `void' sarrera hutsik uzteko"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Gauza asko dituzu aukeran (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Aukeratu editatu nahi duzun 10eko multzoko lehen zenbakia,\n"
+"edo sakatu Sartu, jarraitzeko.\n"
+"Zure aukera? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Kontuz, etiketa bat aldatu da:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Berriro bidali"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Arabiar Emirerri Batuak"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua eta Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antilla herbeheretarrak"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa amerikarra"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgika"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamak"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet uhartea"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorrusia"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Cocos Keeling uharteak"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Afrika Erdiko Errepublika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suitza"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Boli Kosta"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook uharteak"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Txile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Txina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolonbia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia eta Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cabo Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Christmas uhartea"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Zipre"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Txekiar Errepublika"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Alemania"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danimarka"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikar Errepublika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Aljeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipto"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Mendebaldeko Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Espainia"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland uharteak (Malvinak)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroe uharteak"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frantzia"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Erresuma Batua"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guyana frantsesa"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlandia"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Ginea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadalupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekuatore Ginea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grezia"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Ginea Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Txina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard eta McDonald uharteak"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroazia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungaria"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Indiako Ozeanoko Britainiar Lurraldea"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandia"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japonia"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kanbodia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoroak"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts eta Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Iparraldekoa)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kaiman uharteak"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libano"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Luzia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxenburgo"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letonia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavia"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall uharteak"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Mazedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Birmania"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Iparraldeko Mariana uharteak"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinika"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurizio"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivak"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozanbike"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Kaledonia Berria"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk uhartea"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Herbehereak"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegia"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Zeelanda Berria"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinesia frantsesa"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Ginea Berria"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinak"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint-Pierre eta Mikelune"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguai"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Errumania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Errusia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Arabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomon uharteak"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelleak"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Suedia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Eslovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard eta Jan Mayen uharteak"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Eslovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leona"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome eta Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swazilandia"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turk eta Caico uharteak"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Txad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Hegoaldeko lurralde frantsesak"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailandia"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Ekialdeko Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkia"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad eta Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Estatu Batuetako kanpoaldeko uharte txikiak"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Estatu Batuak"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguai"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikanoa"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent eta Grenadinak"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Birjina uharteak (britainiarrak)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Birjina uharteak (amerikarrak)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis eta Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Hegoafrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbawe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Ongi etorri %s(e)ra"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Erabilitako luzapen fisikoak beste bolumen fisiko batzuetara mugitzeko "
+"saioak huts egin du"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "%s bolumen fisikoa oraindik erabilia izaten ari da"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Kendu bolumen logikoak lehendabizi\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Abio-zamatzaileak ezin du /boot bolumen fisiko anitzetan maneiatu"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Sarrera\n"
+"\n"
+"Mandriva Linux banaketako sistema eragileari eta erabilgarri dauden osagaiei"
+"\"Software-produktuak\"\n"
+"deituko zaie aurrerantzean. Software-produktuetan sartzen dira, besteak \n"
+"beste, Mandriva Linux banaketako sistema eragileari eta osagaiei "
+"dagozkienprogramak, \n"
+"metodoak, arauak eta dokumentazioa.\n"
+"\n"
+"\n"
+"1. Lizentzia-kontratua\n"
+"\n"
+"Irakurri arretaz dokumentu hau. Software produktuei buruz zuk eta Mandriva S."
+"A.k adostutako lizentzia-kontratu bat da.\n"
+"\n"
+"Software-produktuak instalatu, bikoiztu edo era batean edo bestean erabiliz, "
+"esplizituki \n"
+"onartzen dituzu eta erabateko adostasuna adierazten diezu Lizentzia honen "
+"baldintzei. \n"
+"Lizentziaren zatiren batekin ados ez bazaude, ez duzu baimenik izango "
+"Software-produktuak instalatu, \n"
+"bikoiztu edo erabiltzeko. \n"
+"Software-produktuak Lizentzia honekin bat ez datorren moduan instalatu,"
+"bikoiztu edo erabiltzeko \n"
+"saio oro deuseza izango da eta Lizentziari dagozkion eskubideak amaitu "
+"egingo \n"
+"dira. Lizentzia amaitzean, Software-produktuen kopia guztiak berehala "
+"suntsitu \n"
+"behar dituzu.\n"
+"\n"
+"\n"
+"2. Garantia mugatua\n"
+"\n"
+"Software-produktuak eta erantsitako dokumentuak \"dauden-daudenean\"ematen "
+"dira, bermerik gabe, \n"
+"legeak onartzen duen neurrian.\n"
+"Mandriva S.A.k ez du, ezein kasutan eta legeak onartzen duen neurrian "
+"erantzukizunik izango,\n"
+"Software-produktuen erabileraren edo erabiltzeko ezgaitasunaren ondorioz "
+"sortutako kalte berezi, ustekabeko \n"
+"zuzeneko edo zeharkakoengatik (lana galtzea, lana etetea, finantza-galera, "
+"epai baten ondorioz ordaindu \n"
+"beharreko kuotak eta zigorrak edo beste edozein ondoriozko galera barne, "
+"mugarik gabe), \n"
+"Mandriva S.A. jakinaren gainean egon arren halako kalteak gerta \n"
+"litezkeela.\n"
+"\n"
+"HERRIALDE BATZUETAN SOFTWARE DEBEKATUA EDUKITZEARI EDO ERABILTZEARI "
+"LOTUTAKOERANTZUKIZUN MUGATUA\n"
+"\n"
+"Legeak onartzen duen neurrian, Mandriva S.Ak. edo bere banatzaileek, ez "
+"dute, ezein kasutan, \n"
+"erantzukizunik izango herrialde batzuetan, bertako legeek debekatutako edo "
+"mugatutako software-osagaiak edo\n"
+"Mandriva Linux-en guneetatik deskargatutako software-osagaiak eduki eta "
+"erabiltzearen ondorioz \n"
+"sortutako kalte berezi ustekabeko, zuzeneko edo zeharkakoengatik (lana "
+"galtzea, lana etetea \n"
+"finantza-galera, epai baten ondorioz ordaindu beharreko kuotak eta zigorrak "
+"edo beste edozein \n"
+"ondoriozko galera barne, mugarik gabe).\n"
+"Erantzukizun mugatu hau Software-produktuetan sartzen diren kriptografia "
+"handiko osagaiei aplikatzen \n"
+"zaie, baina ez da horietara mugatzen.\n"
+"\n"
+"\n"
+"3. GPL Lizentzia eta Lizentzia erlazionatuak\n"
+"\n"
+"Software-produktuak hainbat pertsonak edo erakundek sortutako osagaiak "
+"dira. Osagai \n"
+"horietako gehienak aurrerantzean \"GPL\" deituko diogun GNU Lizentzia "
+"Publiko Orokorraren\n"
+"edo antzeko lizentzien baldintzek eraenduak dira. Lizentziahorietako "
+"gehienek, \n"
+"beren osagaiak bikoizteko, egokitzeko edo birbanatzeko aukera ematen dute. "
+"Osagai bat erabili aurretik, irakurri \n"
+"arretaz osagai horren lizentzia-kontratuko baldintzak. Osagaiaren "
+"lizentziari \n"
+"buruzko galdera oro osagaiaren egileari egin beharko zaio, eta ez Mandriva-"
+"i.\n"
+"Mandriva S.A.k garatutako programak GPL Lizentziak eaenduak dira. Mandriva S."
+"A.k\n"
+"idatzitako dokumentazioa lizentzia zehatz baten araberakoa da. Xehetasun "
+"gehiago nahi izanez gero \n"
+"jo dokumentaziora.\n"
+"\n"
+"\n"
+"4. Jabetza intelektualaren eskubideak\n"
+"\n"
+"Software-produktuen osagaiei dagozkien eskubide guztiak haien egileenak dira "
+"eta software-programei \n"
+"aplikatzen zaizkien jabetza intelektualaren eta copyriht-aren legeen babesa "
+"dute.\n"
+"Mandriva S.A.k eskubidea du Software-produktuak bere osotasunean edo zatika "
+"aldatzeko, \n"
+"edozein bide erabiliz eta helburu guztietarako.\n"
+"\"Mandriva\", \"Mandriva Linux\" eta asoziatutako logotipoak Mandriva S.A."
+"ren marka erregistratuak dira. \n"
+"\n"
+"\n"
+"5. Lege eraentzaileak \n"
+"\n"
+"Kontratu honen edozein zati epai batek deuseztzat, legez kanpokotzat edo "
+"aplikaezintzat jotzen badu, \n"
+"zati hori kendu egingo da kontratutik. Kontratuaren gainerako atal "
+"aplikagarriek ezarritakoa \n"
+"bete beharko duzu.\n"
+"Lizentzia honetako baldintzak Frantziako legeek eraenduak dira.\n"
+"Lizentzia honetako baldintzei buruzko gatazka guztiak epaitegietatik kanpo "
+"konpontzea hobesten da. Azken baliabide gisa, \n"
+"Parisko edo Frantziako epaitegietara eramango da gatazka.\n"
+"Dokumentu honi buruzko edozein zalantza argitzeko, jarri harremanetan\n"
+"Mandriva S.A.rekin. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Abisua: Software librea agian ez da patenterik gabea izango, eta eskaintzen\n"
+"den zenbait Software libre patentez babestuta egongo dira zure estatuan. "
+"Adibidez:\n"
+"MP3 deskodetzaileek agian lizentzia beharko dute beste erabilera "
+"batzuetarako\n"
+"(xehetasun gehiagorako, ikus http://www.mp3licensing.com ). Zure kasuan "
+"patente \n"
+"bat aplika daitekeen zalantzak badituzu, aztertu zure tokiko legeak."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Abisua\n"
+"\n"
+"Irakurri arretaz ondorengo baldintzak. Zerbaitekin ados ez bazaude,\n"
+"ez duzu hurrengo CDa instalatzeko baimenik. Sakatu 'Ezetsi' \n"
+"instalazioa euskarri horiek erabili gabe jarraitzeko.\n"
+"\n"
+"\n"
+"Hurrengo CDko osagai batzuk ez dira GPL Lizentziaren edo\n"
+"antzeko akordioen araberakoak. Osagai horietako bakoitza\n"
+"bere lizentzia zehatzaren baldintzen araberakoa da. \n"
+"Irakurri arretaz lizentzia horiek eta bete bertako baldintzak osagai \n"
+"horiek erabili edo birbanatu aurretik. \n"
+"Lizentzia horiek oro har osagaia transferitzea, bikoiztea (babeskopiak\n"
+"egiteko izan ezik), birbanatzea, ingeniaritza alderantzikatzea, \n"
+"desmihiztatzea, deskonpilatzea edo aldatzea eragotziko dute. \n"
+"Kontratua ez betetzeak lizentzia zehatzak ematen dituen eskubide guztiak \n"
+"kentzea ekarriko du berehala. Baldin eta lizentzia zehatzaren baldintzek "
+"eskubidea ematen\n"
+"ez badizute, normalki ezin izango dituzu programak sistema batean baino\n"
+"gehiagotan instalatu, edo sarean erabiltzeko egokitu. Zalantzarik baduzu, "
+"jarri harremanetan\n"
+"osagaiaren banatzailearekin edo editorearekin zuzenean. \n"
+"Osagai horiek hirugarrenei transferitzea edo kopiatzea, dokumentazioa\n"
+"barne, debekatuta egoten da normalki.\n"
+"\n"
+"\n"
+"Hurrengo CDko osagaiei dagozkien eskubide guztiak haien egileenak \n"
+"dira eta software-programei aplikatzen zaizkien jabetza \n"
+"intelektualaren eta copyright-aren legeek babesten dituzte.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Zorionak, instalazioa burutu da.\n"
+"Atera abioko diskoa eta sakatu itzulera-tekla berrabiarazteko.\n"
+"\n"
+"\n"
+"Mandriva Linux-en bertsio honetarako erabilgarri dauden konponbideen \n"
+"informaziorako, kontsultatu Erratak helbide honetan:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Zure sistema konfiguratzeko informazioa Mandriva Linux-en Erabiltzailearen\n"
+"Gida Ofizialeko instalatu ondorengo azalpenei buruzko kapituluan duzu."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Gidari honek ez dauka konfigurazio parametrorik!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Modulu-konfigurazioa"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Moduluaren parametro bakoitza konfigura dezakezu hemen."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s interfaze aurkitu dira"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Baduzu besterik?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Ba duzu %s interfazerik?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Ikus hardwarearen informazioa"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "USB kontrolatzailearentzako gidaria instalatzen"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "%s firewire kontrolatzailearentzako gidaria instalatzen"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "%s disko zurrun kontrolatzailearentzako gidaria instalatzen"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "%s ethernet kontrolatzailearentzako gidaria instalatzen"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%2$s %1$s txartelaren kontrolatzailea instalatzen"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Orain %s moduluaren aukerak eman behar dituzu.\n"
+"Ohartu helbidearen aurretik 0x aurrizkia jarri behar dela, adib. '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Orain %s moduluaren aukerak eman behar dituzu.\n"
+"Aukerak ``izena=balioa izena2=balioa2 ...'' formatuan ematen dira.\n"
+"Adibidez, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulu-aukerak:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Zein %s kontrolatzaile probatu behar dut?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Batzuetan, %s kontrolatzaileak informazio gehiago behar izaten du egoki \n"
+"funtzionatzeko, nahiz eta normalki hori gabe ongi funtzionatzen duen. \n"
+"Aukera osagarriak zehaztu nahi dituzu, edo kontrolatzaileari zure makina \n"
+"probatzen utzi nahi diozu behar duen informazioa bilatzeko? Batzuetan, "
+"probak\n"
+"ordenagailua blokeatuko du, baina horrek ez luke kalterik egin beharko."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Autoproba"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Zehaztu aukerak"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Huts egin du %s modulua kargatzean.\n"
+"Beste parametro batzuekin saiatu nahi duzu berriro?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "muntatzeak huts egin du: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Partizio hedaturik ez da onartzen plataforma honetan"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Hutsune bat duzu partizio-taulan baina ezin dut erabili.\n"
+"Irtenbide bakarra lehen mailako partizioak mugitzea da, hutsunea partizio "
+"hedatuen ondoan gera dadin."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Errorea %s fitxategia irakurtzean"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Huts egin du %s fitxategitik leheneratzean: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Babeskopia txarra"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Errorea %s fitxategian idaztean"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Okerren bat gertatzen ari da zure unitatean. \n"
+"Datuen osotasuna egiaztatzeko probak huts egin du. \n"
+"Horrek esan nahi du, diskoan ezer idazten bada, hondatutako datuak sortuko "
+"direla ausaz."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ezin zaio partizio bat gehitu %s RAIDari (formateatuta dago)"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ez dago nahikoa partizio %d mailako RAIDerako\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Ezin izan da /usr/share/sane/firmware direktorioa sortu!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Ezin izan da /usr/share/sane/%s esteka sortu!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Ezin izan da %s firmware-fitxategia kopiatu /usr/share/sane/firmware-ra!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Ezin izan dira %s firmware-fitxategiaren baimenak ezarri!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Ezin dira instalatu eskanerrak partekatzeko behar diren paketeak."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Zure eskanerrak ez dira erabilgarri egongo root-a ez diren "
+"erabiltzaileentzat."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Onartu/Ezetsi IPv4 errore-mezu simulatuak"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Onartu/Ezetsi difusioz bidalitako icmp oihartzuna."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Onartu/Ezetsi icmp oihartzuna."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Baimendu/Debekatu saio-hasiera automatikoa"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"\"GUZTIAK\" ezartzen bada, /etc/issue eta /etc/issue.net izan daitezke.\n"
+"\n"
+"\"BAT ERE EZ\" ezartzen bada, ez da \"issue\"rik onartzen.\n"
+"\n"
+"Bestela, /etc/issue bakarrik onartzen da."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Onartu/Debekatu kontsola-erabiltzaileak sistema berrabiaraztea."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Onartu/Debekatu urrunetik root gisa saioa hastea."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Onartu/Debekatu zuzenean root gisa saioa hastea."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Onartu/Debekatu sistemako erabiltzaileen zerrenda bistaratze-kudeatzaileetan "
+"(kdm eta gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Baimendu/galarazi bistaratzea esportatzea\n"
+"root kontutik beste erabiltzaile batzuetara pasatzerakoan.\n"
+"\n"
+"Begiratu pam_xauth(8) xehetasun gehiago jasotzeko. "
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Baimendu/Debekatu X konexioak:\n"
+"\n"
+"- GUZTIAK (konexio guztiak baimenduta),\n"
+"\n"
+"- LOKALA (konexio lokala bakarrik) ,\n"
+"\n"
+"- BAT ERE EZ (bat ere konexiorik ez)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Bezeroak 6000 tcp atakako X zerbitzarira konektatzeko baimenduta dauden\n"
+"ala ez zehazten du argumentuak."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Baimendu:\n"
+"\n"
+"- tcp_wrappers-ek kontrolatutako zerbitzu guztiak (ikus hosts.deny(5) "
+"eskuliburuko orrialdea) \"ALL\" ezarrita badago,\n"
+"\n"
+"- lokalak bakarrik \"LOCAL\" ezarrita badago\n"
+"\n"
+"- bat ere ez \"NONE\" ezarrita badago.\n"
+"\n"
+"Behar dituzun zerbitzuak baimentzeko, eraili /etc/hosts.allow (ikus hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"SERVER_LEVEL (edo, ez badago, SECURE_LEVEL bestela)\n"
+"3 baino handiagoa bada /etc/security/msec/security.conf-en,\n"
+"symlink /etc/security/msec/server sortzen du\n"
+"/etc/security/msec/server seinalatzeko.<SERVER_LEVEL> .\n"
+"\n"
+"chkconfig --add aginduak erabiltzen du /etc/security/msec/server \n"
+"paketeak instalatzen ari denean zerbitzu bat fitxategian badago, \n"
+"gehitu behar den ala ez erabakitzeko."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Gaitu/Desgaitu crontab eta at erabiltzaileentzat.\n"
+"\n"
+"Ipini baimendutako erabiltzaileak /etc/cron.allow eta /etc/at.allow-en\n"
+"(ikus at(1) eta crontab(1) eskuliburuko orrialdeak)."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Gaitu/Desgaitu 12. kontsolara egiten diren syslog-en berri-emateak"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Gaitu/Desgaitu izen-ebazpenaren iruzurren kontrako babesa. \n"
+"\"%s\" ezarrita badago, syslog-era ere bidaltzen da berri-ematea."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Segurtasun-abisuak:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Gaitu/Desgaitu IP iruzurren kontrako babesa."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Gaitu/Desgaitu libsafe, sisteman aurkitzen bada."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Gaitu/Desgaitu IPv4 pakete arraroak egunkarian erregistratzea"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Gaitu/Desgaitu msec ordueroko segurtasun-egiaztapena."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr " Gaitu su wheel taldeko kideentzat edo edozein erabiltzailerentzat."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Erabili pasahitza erabiltzaileak autentifikatzeko."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktibatu/Desgaitu ethernet txartelen nahasgarritasunaren egiaztapena."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktibatu/Desgaitu eguneroko segurtasun-egiaztapena."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Gaitu/Desgaitu sulogin (8) erabiltzaile bakarraren mailan."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Gehitu izena msec bidezko pasahitzen zahartzea maneiatzeko salbuespen gisa."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Ezarri pasahitzaren zahartzea \"max\" egunean eta \"inactive\" uzteko epea."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Pasahitzak berriro ez erabiltzeko pasahitzen historiaren luzera ezarri."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Ezarri pasahitzaren gutxieneko luzera, gutxieneko digitu-kopurua eta "
+"gutxieneko maiuskula-kopurua."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Ezarri root-aren \"umask\"."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "'Bai' ezarrita badago, irekitako atakak egiaztatzen ditu."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"'Bai' jartzen badu, hauek egiaztatuko ditu:\n"
+"\n"
+"- pasahitz hutsak,\n"
+"\n"
+"- /etc/shadow-en pasahitzik ez dutenak\n"
+"\n"
+"- 0 id-a duten erabiltzaileak (root ez direnak)."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"'Bai' ezarrita badago, erabiltzaileen fitxategi pertsonalen baimenak "
+"egiaztatzen ditu."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"'Bai' ezarrita badago, sareko gailuak modu nahasian dauden egiaztatzen du."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "'Bai' ezarrita badago, eguneroko segurtasun-egiaztapenak egiten ditu."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"'Bai' ezarrita badago, sgid fitxategien gehitzeak/kentzeak egiaztatzen ditu."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+"'Bai' ezarrita badago, /etc/shadow-eko pasahitz hutsak egiaztatzen ditu."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"'Bai' ezarrita badago, suid/sgid fitxategien kontroleko batura egiaztatzen "
+"du."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"'Bai' ezarrita badago, suid fitxategien gehitzeak/kentzeak egiaztatzen ditu."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "'Bai' ezarrita badago, jaberik ez duten fitxategien berri ematen du."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"'Bai' ezarrita badago, edonork idatz ditzakeen fitxategiak/direktorioak "
+"egiaztatzen ditu."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "'Bai' ezarrita badago, chkrootkit egiaztapenak egiten ditu."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"ezarrita badago, berri emateko mezua helbide elektroniko honetara edo root-"
+"era bidaltzen du."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+"'Bai' ezartzen bada, egiaztapenaren emaitza posta elektronikoz bidaltzen du."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ez bidali mezurik, abisatzeko ezer ez badago"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "'Bai' ezarrita badago, hainbat egiaztapen egiten ditu rpm datu-basean."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "'Bai' ezarrita badago, egiaztapenaren emaitza syslog-era bidaltzen du."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "'Bai' ezarrita badago, egiaztapenaren emaitza tty-ra bidaltzen du."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Ezarri shell komandoen historiaren tamaina. -1 balioak mugarik ez dagoela "
+"esan nahi du."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Ezarri shell-aren denbora-muga. Zero balioak esan nahi du ez dagoela denbora-"
+"mugarik."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Denbora-mugaren unitatea segundoa da"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Ezarri root-aren \"umask\"."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Onartu IPv4 errore-mezu simulatuak"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Onartu difusioz bidalitako icmp oihartzuna"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Onartu icmp oihartzuna"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* badago"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Erabiltzaileak berrabiaraz dezake kontsolatik"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Onartu urrunetik root gisa saioa hastea"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "root-aren zuzeneko saio-hastea"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Erabiltzaileen zerrenda bistaratze-kudeatzaileetan (kdm eta gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Esportatu bistaratzea root-etik beste erabiltzaileetara pasatzean"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Onartu X Window konexioak"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Baimendu TCP konexioak X Window-en"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Baimendu tcp_wrappers-ek kontrolatutako zerbitzu guztiak"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig-ek msec-en arauei obeditzen die"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Gaitu \"crontab\" eta \"at\" erabiltzaileentzat"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "12. kontsolara egiten diren syslog-en berri-emateak"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Izen-ebazpenaren iruzurren babesa"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Gaitu IP iruzurren kontrako babesa"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Gaitu libsafe, sisteman aurkitzen bada."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Gaitu IPv4 pakete arraroak egunkarian erregistratzea"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Gaitu msec ordueroko segurtasun-egiaztapena."
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Gaitu su wheel taldeko kideentzat edo edozein erabiltzailerentzat"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Erabili pasahitza erabiltzaileak autentifikatzeko"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Ethernet txartelen nahasgarritasunaren egiaztapena"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Eguneroko segurtasun-egiaztapena"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) erabiltzaile bakarreko mailan"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Pasahitzaren zahartzerik ez honentzat:"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Ezarri pasahitza iraungitzeko eta kontua desaktibatzeko epea"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Pasahitzaren historiaren luzera"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Pasahitzen gutxieneko luzera eta zifra- eta maiuskula-kopurua"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root-aren maskara"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Shell historiaren tamaina"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Shell-aren denbora-muga"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Erabiltzaile-maskara"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Egiaztatu irekitako atakak"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Begiratu segurtasunik gabeko konturik dagoen"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Egiaztatu erabiltzaileen fitxategi pertsonalen baimenak"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Egiaztatu sareko gailuak modu nahasian dauden"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Exekutatu eguneroko segurtasun-egiaztapenak"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Egiaztatu sgid fitxategien gehitzeak/kentzeak"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Egiaztatu pasahitz hutsak /etc/shadow-en"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Egiaztatu suid/sgid fitxategien kontroleko batura"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Egiaztatu suid fitxategien gehitzeak/kentzeak"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Eman jaberik ez duten fitxategien berri"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Egiaztatu edonork idazteko erabil ditzakeen fitxategiak/direktorioak"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Exekutatu chkrootkit egiaztapenak"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Ezartzen bada, bidali txosten-mezua helbide elektroniko honetara, bestela "
+"bidali root-ari"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Bidali egiaztapenaren emaitza postaz"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Egin egiaztapen batzuk rpm datu-basean"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Erregistratu egiaztapenaren emaitza syslog-en"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Egiaztapenaren emaitza tty-ra bidaltzen du"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Ongi etorri Crackers-era"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Txikia"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Estandarra"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Handia"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Handiagoa"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoidea"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Maila hau kontuz erabili behar da. Sistema erabilerrazago egiten du,\n"
+"baina oso erraz erasotzekoa. Ez da erabili behar beste ordenagailu \n"
+"batzuekin edo Internetekin konektatuta dauden makinetan. Ez dago pasahitzik."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Pasahitzak gaituta daude orain, baina sareko ordenagailu gisa erabiltzea ez "
+"da komeni oraindik."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Hau da Internetera bezero gisa konektatzeko erabiliko diren "
+"ordenagailuentzat gomendatzen den segurtasun estandarra."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Murriztapen batzuk daude, eta egiaztapen automatiko gehiago egiten dira "
+"gauero."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Segurtasun-maila honekin, sistema hau erabil liteke zerbitzari gisa.\n"
+"Segurtasun hau nahikoa da sistema bezero askoren konexioak onartzen dituen \n"
+"zerbitzari gisa erabili ahal izateko. Oharra: zure makina Interneteko bezero "
+"soila bada, hobe duzu maila apalagoa."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Aurreko mailaren antzekoa da, baina sistema erabat ixten du eta segurtasun-"
+"maila ahalik eta handiena da."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Segurtasuna"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec-en Oinarrizko Aukerak"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Aukeratu segurtasun-maila"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Segurtasun-maila"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Erabili libsafe zerbitzarietarako"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Buffer-gainezkatzeen eta formatu-kateen erasoen aurka defendatzen duen "
+"liburutegi bat."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+"Segurtasun Administratzailea (erabiltzaile-izena edo helbide elektronikoa)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Abiarazi ALSA (Advanced Linux Sound Architecture) soinu-sistema"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron komando periodikoen antolatzailea da."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd bateriaren egoera kontrolatzeko eta syslog-en bidez jasotzeko \n"
+"erabiltzen da. Bateria gutxi dagoenean makina itzaltzeko ere erabil daiteke."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"at komandoaren bidez programatutako komandoak exekutatzen ditu at \n"
+"exekutatzean zehaztutako orduan, eta batch komandoak exekutatzen ditu \n"
+"batez besteko karga nahikoa baxua denean."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron UNIX programa estandar bat da, erabiltzaileak zehaztutako programak\n"
+"programatutako orduan exekutatzen dituena. vixie cron-ek hainbat eginbide \n"
+"gehitzen dizkio oinarrizko UNIX cron-i, hala nola segurtasun hobea eta "
+"konfigurazio-aukera ahaltsuagoak."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM fitxategi-monitoretzako daemon bat da. Fitxategiak aldatzean berri "
+"emateko erabiltzen da.\n"
+"GNOMEn eta KDEn erabilia da"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPMk saguaren euskarria gehitzen die Midnight Commander bezalako\n"
+"testuan oinarritutako Linux aplikazioei. Halaber kontsolan saguaren bidez \n"
+"ebaki eta itsasteko aukera ematen du eta laster-menuen euskarria eransten du."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake-k hardware-proba bat exekutatzen du eta nahi izanez \n"
+"gero hardware berria/aldatua konfiguratzen du."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache World Wide Web-eko zerbitzari bat da. HTML fitxategiak eta CGI \n"
+"zerbitzatzeko erabiltzen da."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Interneteko superzerbitzariaren daemon-ak (normalki inetd deitua) beste\n"
+"hainbat Internet-zerbitzu abiarazten ditu, behar izan ahala. Zerbitzu asko "
+"abiarazten \n"
+"ditu, hala nola telnet, ftp, rsh, eta rlogin. inetd desgaitzen bada,bere \n"
+"ardurapeko zerbitzu guztiak desgaitzen dira."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Abiarazi Linux-nukleoen 2.2 serieko pakete-iragaztea, zure \n"
+"makina sareko erasoetatik babesteko suebaki bat ezartzeko."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Pakete honek hautatutako teklatu-mapa kargatzen du /etc/sysconfig/keyboard\n"
+"fitxategian ezarritakoaren arabera. kbdconfig utilitatearen bidez \n"
+"hauta daiteke. Makina gehienetan gaituta edukitzea komeni izaten da."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Nukleoaren goiburuaren birsortze automatikoa /boot-en\n"
+"honentzat: /usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Hardwarea automatikoki detektatu eta konfiguratzea abioan."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf-ek batzuetan hainbat ataza egiten ditu abioan\n"
+"sistemaren konfigurazioa mantentzeko."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd inprimaketako daemon-a beharrezkoa da lpr-k ondo funtziona dezan.\n"
+"Inprimatze-lanak inprimagailu(eta)ra banatzen dituen zerbitzaria da."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux-en Zerbitzari Birtuala, performantzia handiko zerbitzari oso\n"
+"erabilgarria eraikitzeko erabiltzen da."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) domeinu-izenen zerbitzari (DNS) bat da, ostalari-izenak ebatzi "
+"eta IP helbide bihurtzeko erabiltzen dena."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Network File System (NFS), SMB (Lan Manager/Windows), eta NCP \n"
+"(NetWare) muntatze-puntu guztiak muntatu eta desmuntatzen ditu."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Abioan hasteko konfiguratuta dauden sare-interfaze guztiak\n"
+"aktibatzen/desaktibatzen ditu."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS protokolo ezagun bat da, TCP/IP sareetan fitxategiak partekatzeko.\n"
+"Zerbitzu honek NFS zerbitzariaren funtzionaltasuna (/etc/exports \n"
+"fitxategian konfiguratua) eskaintzen du."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"TCP/IP sareetan fitxategiak partekatzeko protokolo ezagun \n"
+"bat da NFS. Zerbitzu honek NFS fitxategiak blokeatzeko funtzionalitatea \n"
+"eskaintzen du."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Abioan automatikoki aktibatu BlokZenb tekla (zenbakiak\n"
+"blokeatzekoa) kontsolan eta Xorg-n."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Onartu OKI 4w eta winprinter bateragarriak."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA euskarria eramangarrietan ethernet eta modemak eta \n"
+"horrelakoak onartzeko izaten da normalki. Ez da abiaraziko konfiguratuta \n"
+"egon ezean, beraz, lasai eduki daiteke instalatuta premiarik izan ez arren."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Ataka-mapatzaileak RPC konexioak kudeatzen ditu. Konexio horiek\n"
+"NFS eta NIS moduko protokoloek erabiltzen dituzte. RPC mekanismoa "
+"erabiltzen \n"
+"duten protokoloen zerbitzari gisa jokatzen duten makinetan aktibatu behar "
+"da\n"
+"ataka-maparen zerbitzaria."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix posta garraiatzeko agentea da (Mail Transport Agent - MTA), hau da, "
+"posta elektronikoa makina batetik bestera eramaten duen programa."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Sistemaren entropia gorde eta leheneratzen du ausazko zenbakiak\n"
+"hobeto sortzeko."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Esleitu gailu \"gordinak\" (raw devices) blokeko gailuei \n"
+"(disko zurruneko partizioak adib.), Oracle bezalako aplikazioentzat\n"
+"edo DVD erreproduzigailuentzat"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed daemon-arekin IP bideratze-taula automatikoki egunera daiteke,\n"
+"RIP protokoloaren bidez. RIP asko erabiltzen da sare txikietan, baina\n"
+"bideratze-protokolo konplexuagoak behar dira sare konplexuetan."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokoloari esker, sareko erabiltzaileek sare horretako \n"
+"edozein makinaren performantzia nolakoa den jakin dezakete."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers protokoloak sare bateko erabiltzaileei beste makina batzuetan\n"
+"nor sartzen den identifikatzeko aukera ematen die."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho protokoloak rwho daemon-a duen makina batean sartuta dauden \n"
+"erabiltzaile guztien zerrenda eman diezaieke urruneko erabiltzaileei \n"
+"(finger-en antzekoa)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Abiarazi makinako soinu-sistema"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Daemon askok erabiltzen dute syslog sistemako egunkari-fitxategietan\n"
+"mezuak sartzeko. Komeni izaten da syslog beti exekutatzea."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Kargatu USB gailuen kontrolatzaileak."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "X letra-tipoen zerbitzaria abiarazten du (Xorg-k nahitaez behar du)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Inprimatzea"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fitxategi-partekatzea"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Urruneko administrazioa"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Datu-baseen zerbitzaria"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Zerbitzuak"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Aukeratu zein zerbitzu abiarazi behar diren automatikoki abioan"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Zerbitzuak: %d aktibatuta / %d erregistratuta"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "martxan"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "geldituta"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Zerbitzuak eta daemon-ak"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Ez dago zerbitzu honi buruzko\n"
+"informazio gehiago."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informazioa"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Eskatutakoan hasi"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Abioan"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Hasi"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Gelditu"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Programa hau software librea da; birbana eta/edo alda dezakezu Free\n"
+"Software Foundation-ek argitaratutako GNU Lizentzia Publiko Orokorraren\n"
+"2. bertsioan, edo (nahiago baduzu) bertsio berriago batean, jasotako\n"
+"baldintzak betez gero.\n"
+"\n"
+"Programa hau erabilgarria izango delakoan banatzen da, baina INOLAKO\n"
+"BERMERIK GABE; era berean, ez da bermatzen beraren EGOKITASUNA\n"
+"MERKATURATZEKO edo HELBURU PARTIKULARRETARAKO ERABILTZEKO. Argibide \n"
+"gehiago nahi izanez gero, ikus GNU Lizentzia Publiko Orokorra.\n"
+"\n"
+"Programa honekin batera GNU Lizentzia Publiko Orokorraren kopia bat\n"
+"ere jaso beharko zenuke; horrela ez bada, idatzi helbide honetara: \n"
+"Free Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
+"Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Babeskopiak egiteko eta leheneratzeko aplikazioa\n"
+"\n"
+"--default : gorde direktorio lehenetsiak.\n"
+"--debug : erakutsi arazketa-mezu guztiak.\n"
+"--show-conf : babeskopia egiteko fitxategien edo direktorioen "
+"zerrenda.\n"
+"--config-info : azaldu konfigurazio-fitxategiaren aukerak (X "
+"erabiltzen ez dutenentzat).\n"
+"--daemon : erabili daemon-konfigurazioa. \n"
+"--help : erakutsi mezu hau.\n"
+"--bertsioa : erakutsi bertsio-zenbakia.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"AUKERAK:\n"
+" --boot - gaitu abioko kargatzailea konfiguratzea\n"
+" --splash - gaitu abioko gaia konfiguratzea\n"
+"modu lehenetsia: eskaini saioa automatikoki hasteko eginbidea konfiguratzea"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[AUKERAK] [PROGRAMA_IZENA]\n"
+"\n"
+"AUKERAK:\n"
+" --help - laguntza-mezu hau inprimatzen du.\n"
+" --report - programak Mandriva Linux-en tresnetako bat izan behar "
+"du\n"
+" --incident - programak Mandriva Linux-en tresnetako bat izan behar "
+"du"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"sare-interfaze bat gehitzeko\" morroia\n"
+" --del - \"sare-interfaze bat ezabatzeko\" morroia\n"
+" --skip-wizard - maneiatu konexioak\n"
+" --internet - konfiguratuinternet\n"
+" --wizard - --add bezala"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Letra-tipoak inportatzeko eta monitorizatzeko aplikazioa\n"
+"\n"
+"AUKERAK:\n"
+"--windows_import : inportatu windows partizio erabilgarri guztietatik.\n"
+"--xls_fonts : erakutsi xls-erako dauden letra tipo guztiak \n"
+"--install : onartu letra-tipoen edozein fitxategi eta direktorio.\n"
+"--uninstall : desinstalatu letra-tipoen edozein fitxategi eta \n"
+" direktorio.\n"
+"--replace : ordeztu lehendik dauden letra-tipo guztiak\n"
+"--application : 0 aplikaziorik ez.\n"
+" : 1 aplikazio erabilgarri guztiak onartuta.\n"
+" : name_of_application Staroffice-rako gisa \n"
+" : and gs ghostscript-erako horretarako bakarrik."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[AUKERAK]...\n"
+"Mandriva Terminal Zerbitzariaren (MTS) konfiguratzailea\n"
+"--enable : gaitu MTS\n"
+"--disable : ezgaitu MTS\n"
+"--start : abiarazi MTS\n"
+"--stop : gelditu MTS\n"
+"--adduser : erantsi existiten den sistema erabiltzaile bat MTS-ra"
+"(erabiltzaile-izena behar da)\n"
+"--deluser : ezabatu existitzen den sistema erabiltzaile bat MTS-tik "
+"(erabiltzaile-izena behar da)\n"
+"--addclient : erantsi bezero makina bat MTS-ra (MAC helbidea, IP, nbi "
+"irudi izena behar dira)\n"
+"--delclient : ezabatu bezero makina bat MTS-tik (MAC helbidea, IP, nbi "
+"irudi izena behar dira)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[teklatua]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[AUKERAK]\n"
+"Sarera eta Internetera konektatzeko eta konexioa kontrolatzeko aplikazioa\n"
+"\n"
+"--defaultintf interface : bistaratu interfaze hau lehenespenez\n"
+"--connect : konektatu Internetera, konektatu gabe badago\n"
+"--disconnect : deskonektatu Internetetik, konektatuta badago\n"
+"--force : (dis)connect-ekin erabiltzen da : (des)konektatzera behartzen du.\n"
+"--status : konektatuta badago, 1 ematen du; bestela, 0. Ondoren irten.\n"
+"--quiet : interaktiboa ez izateko. (dis)connect-ekin erabiltzen da."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation ez eskatu berrespenik Mandriva Update moduan\n"
+" --no-verify-rpm ez egiaztatu paketeen sinadurak\n"
+" --changelog-first bistaratu changelog fitxategi-zerrendaren aurretik "
+"azalpenen leihoan\n"
+" --merge-all-rpmnew proposatu aurkitzen diren .rpmnew/.rpmsave "
+"fitxategi guztiak fusionatzea"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Erabilera: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Gehitu zerbitzaria"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Hegoafrika"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Austria"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Hegoafrika"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Mazedonia"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Hegoafrika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Errusiar Federakundea"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Zuzena da?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Ez da fitxategirik hautatu"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Fitxategi bat hautatu duzu, ez direktorio bat"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Direktorio bat hautatu duzu, ez fitxategi bat"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Ez dago horrelako direktoriorik"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Ez dago horrelako fitxategirik"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Zabaldu zuhaitza"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Tolestu zuhaitza"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Txandakatu alfabetikoaren eta taldeka ordenatuaren artean"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s ez dago instalatuta\n"
+"Sakatu \"Hurrengoa\" instalatzeko, edo \"Utzi\" irteteko"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalazioak huts egin du"
+
+#~ msgid "Icon"
+#~ msgstr "Ikonoa"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Kaptura-bufferren kopurua:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap kapturentzako kaptura-bufferren kopurua"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL ezarpena:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Irrati-euskarria:"
+
+#~ msgid "enable radio support"
+#~ msgstr "gaitu irrati-euskarria"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/fa.po b/perl-install/share/po/fa.po
new file mode 100644
index 000000000..925dd3cc9
--- /dev/null
+++ b/perl-install/share/po/fa.po
@@ -0,0 +1,6743 @@
+# translation of DrakX-fa.po to Persian
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Abbas Izad <abbasizad@hotmail.com>, 2003, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fa\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-02-26 06:31+0100\n"
+"Last-Translator: Abbas Izad <abbasizad@hotmail.com>\n"
+"Language-Team: Persian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "لطفاً صبر کنید"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "نصب بارگذارآغازگر در پیشروی است"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"برنامه LILO میخواهد که شناسه‌ی جدید حجمی را به گرداننده‌ی %s بگذارد. هرچند "
+"که\n"
+"تغییر شناسه‌ی حجم دیسک آغازگری یک ویندوز NT، ۲۰۰۰ یا XP خطای مهلک ویندوز است\n"
+"این احتیاط درباره دیسکهای داده‌ای ویندوز ۹۵ یا ۹۸ یا NT اعمال نمیشود.\n"
+"\n"
+"شناسه‌ی جدید حجم گذارده شود؟ "
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "نصب بارگذار آغازگر شکست خورد. خطای بدنبال آمده رخ داد:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"ممکن است احتیاج به تغییر Firmware بازمتن دستگاه-آغازگری خود \n"
+"برای بکار انداختن بارگذار آغازگر داشته باشید. اگر شما اعلان بارگذار آغازگر "
+"را در \n"
+"آغازگری مجدد مشاهده نکردید، گزینه-دستور-O-F را نگه داشته و دستور زیر را وارد "
+"کنید: \n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" سپس تایپ کنید: shut-down\n"
+"در آغازگری بعدی بایستی اعلان بارگذار آغازگر را مشاهده کنید."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"شما تصمیم بر نصب بارگذارآغازگر بر روی یک قسمت‌بندی دارید. \n"
+"این بدین معنی است که شما از قبل بارگذارآغازگری بر روی دیسکی که آغازگر است "
+"دارید(مثل: فرمانده‌ی سیستم). \n"
+"\n"
+"شما از روی کدام دستگاه آغازگری می‌کنید؟"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "اولین بند گرداننده (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "اولین بند قسمت‌بندی ریشه"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "بر دیسکچه"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "پرش"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "نصب LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "کجا می‌خواهید بارگذارآغازگر را نصب کنید؟"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "پیکربندی سبک آغازگری"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "گزینه‌های اصلی بارگذارآغازگری"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "بارگذار آغازگر"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "بارگذارآغازگری برای استفاده"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "دستگاه آغازگری"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "تأخیر قبل از آغازگری تصویر پیش‌فرض"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "بکار انداختن ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "بکار انداختن ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "بکار انداختن ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "گذرواژه"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "گذرواژه‌ها مطابقت نمی‌کنند"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "لطفاً دوباره امتحان کنید"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"نمی‌توانید از سیستم پرونده‌ی رمزگذاری شده برای نقطه سوارسازی %s استفاده کنید"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "گذرواژه (دوباره)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "محدودیت گزینه‌های خط فرمان"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "محدودیت"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "گزینه‌ی ``محدودیت گزینه‌های خط فرمان'' بدون یک گذرواژه بی‌فایده است"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "پاک کردن شاخه‌ی /tmp در هر آغازگری"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "اندازه‌ی دقیق حافظه اگر لازم باشد (%d مگابایت یافت شد)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "اندازه‌ی حافظه موقت را در مگابایت بدهید"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "پیغام init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "تأخیر Firmware متن باز"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "مدت انتظار آغازگری هسته"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "بکار انداختن آغازگری سی‌دی؟"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "بکار انداختن آغازگری OF؟"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "سیستم‌عامل پیش‌فرض؟"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "تصویر"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "ریشه"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "پیوست به انتها"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "حالت ویدیوئی"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "نمایه‌ی شبکه"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "برچسب"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "پیش‌فرض"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "بدون‌ ویدیو"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "برچسب خالی اجازه داده نمی‌شود"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "تصویر هسته‌ایی را باید مشخص کنید"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "قسمت‌بندی ریشه‌ایی را باید مشخص کنید"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "این جدول از قبل مورد استفاده است"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "چه نوع از ورودیی را می‌خواهید اضافه کنید؟"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "لینوکس"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "سیستم عامل دیگر (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "سیستم عامل دیگر (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "سیستم عامل دیگر (ویندوز...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"اینها فعلاً ورودی‌های منوی آغازگری شما هستند.\n"
+"می‌توانید ورودی‌های بیشتری را ایجاد کرده یا ورودی‌های موجود را تغییر دهید."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "دستیابی به برنامه‌های X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "دستیابی به ابزارهای rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "اجازه دادن به \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "دستیابی به پرونده‌های مدیریت"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "دستیابی به ابزارهای شبکه"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "دستیابی به ابزارهای کمپایل کردن"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s از قبل اضافه شده است)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "لطفاً نام کاربریی را بدهید"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "نام کاربر باید فقط دارای حروف کوچک، `-' و `_' باشد"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "نام کاربر بسیار طولانی است"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "این نام کاربر از قبل اضافه شده است"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "شناسه‌ی کاربر"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "شناسه‌ی گروه"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "گزینه‌ی %s باید یک عدد باشد!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "افزودن کاربر"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"کاربری را وارد کنید\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "انجام شد"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "پذیرش کاربر"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "نام واقعی"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "نام ثبت‌ورود"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "پوسته"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "ثبت‌ورود خودکار"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "می‌توانم رایانه‌اتان را برای ثبت‌ورود خودکار یک کاربر برپاسازی کنم."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "آیا می‌خواهید از این قابلیت استفاده کنید؟"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "انتخاب کردن کاربر پیش‌فرض:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "انتخاب کردن مدیر پنجره‌ی برای اجرا:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "توافق‌نامه‌ی مجوز"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "ترک"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "یادداشتهای پخش"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "پذیرش"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "امتناع"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "لطفاً زبان برای استفاده را انتخاب کنید."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "گزینش زبان"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"لینوکس مان‌درایک می‌تواند از چندین زبان پشتیبانی کند. زبانی \n"
+"را که می‌خواهید نصب کنید انتخاب نمایید. آنها وقتی نصب شما تکمیل \n"
+"شود و شما سیستم خود را راه‌اندازی مجدد کنید قابل دسترسی می‌باشند."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "همه‌ی زبان‌ها"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "کشور / منطقه"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "لطفاً کشور خود را انتخاب کنید."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "این لیست کامل کشورهای در دسترس می‌باشد"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "کشورهای دیگر"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "پیشرفته"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "روش درونداد:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "هيچکدام"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "بدون اشتراک"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "اجازه دادن به تمام کاربرها"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "سفارشی"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"آیا می‌خواهید به کاربرها اجازه‌ی اشتراک شاخه‌هایشان را بدهید؟\n"
+"با اجازه دادن این مورد کاربرها براحتی اجازه خواهند داشت که بر \"اشتراک\" در "
+"konqueror و nautilus کلیک کنند.\n"
+"\n"
+"\"سفارشی\" اجازه‌ی هر-کاربر تکی را می‌دهد.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: سیستم سنتی اشتراک پرونده یونیکس، با پشتیبانی کمتر بر Mac و ویندوز."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: سیستم اشتراک پرونده که بوسیله ویندوز، Mac OS X و بسیاری از سیستم‌‌های "
+"مدرن لینوکس استفاده می‌گردد."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"می‌توانید با استفاده از NFS یا SMB صادر کنید. لطفاً آن را که می‌خواهید استفاده "
+"کنید را انتخاب کنید."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "راه‌اندازی userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "بستن"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"اشتراک هر-کاربر از گروه \"fileshare\" استفاده می‌کند. \n"
+"برای افزودن کاربری به این گروه می‌توانید از userdrake استفاده کنید."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "لطفا خارج شوید سپس از Ctrl-Alt-BackSpace استفاده کنید"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "باید ثبت خروج کرده و باز برگردید برای اینکه تغییرات تأثیر کنند"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "زمان منطقه‌ای"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "منطقه‌ی زمانی شما کدام است؟"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "گذاردن ساعت سخت‌افزار به GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "گذاردن ساعت سخت‌افزار به GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "کارگزار NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "هم‌گاه‌سازی خودکار زمان (با استفاده از NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "پرونده محلی"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "کارت هوشمند"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "دامنه‌ی ویندوز"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "شاخه‌ی فعال با SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "شاخه‌ی فعال با Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "پرونده محلی:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"استفاده محلی برای همه تأیید هویتها و اطلاعات کاربری که در پرونده‌ی محلی گفته "
+"میشود"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"به رایانه‌ی شما میگوید که از LDAP برای بعضی یا همه تأیید هویت‌‌ها استفاده کند. "
+"LDAP انواع مشخصی از اطلاعات را در سازمان‌تان همپیوندی می‌دهد."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"به شما اجازه میدهد تا گروهی از رایانه‌ها را در یک دامنه سرویس اطلاعات شبکه با "
+"گذرواژه یکسان و پرونده‌ی گروه اجرا کنید."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "دامنه‌ی ویندوز:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"برنامه Winbind به سیستم اجازه میدهد تا اطلاعات را دریافت کرده و کاربران در "
+"یک دامنه‌ی ویندوز را تأیید هویت کند."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "شاخه‌ی فعال با SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "شاخه‌ی فعال با Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "تأیید هویت LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "کارگزار LDAP "
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "ساده"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "طرح امنیت (SASL/Kerberos("
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "تأیید هویت شاخه‌ی فعال"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "دامنه"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "کارگزار"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "پایگاه داده کاربران LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "استفاده‌ی گمنام BIND "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "کاربران LDAP اجازه دارند که شاخه‌ی فعال را مرور کنند"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "گذرواژه برای کاربر"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "تأیید هویت NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "دامنه‌ی NIS "
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "کارگزار NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"برای اینکه این برای یک W2K PDC کار کند، شما احتمالاً احتیاج به اجرای مدیری C:"
+"\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add و "
+"آغازگری مجدد کارگزار دارید.\n"
+"همچنین به نام کاربر/گذرواژه‌ی مدیر دامنه برای پیوند دادن ماشین به دامنه‌ی "
+"ویندوز نیاز دارید.\n"
+"اگر شبکه‌کاری هنوز بکار نیافتاده است، برنامه Drakx اقدام به اتصال دامنه بعد "
+"از مرحله‌ی برپاسازی خواهد کرد.\n"
+"اگر این برپاسازی بهر دلیلی شکست خورد و تأیید هویت دامنه کار نکرد، فرمان "
+"'smbpasswd -j DOMAIN -U USER%%PASSWORD' را با استفاده از دامنه‌ی ویندوز و "
+"نام‌کاربر/گذرواژه‌ی مدیر بعد از آغازگری سیستم اجرا کنید.\n"
+"فرمان 'wbinfo -t' رازهای تأیید هویت را برای درست بودن آنها آزمایش خواهد کرد."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "تأیید هویت دامنه‌ی ویندوز"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "نام کاربر مدیر دامنه"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "گذرواژه‌ی مدیریت دامنه"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "تأیید هویت"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "تعیین گذرواژه‌ی مدیر"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "روش تأیید هویت"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "بدون گذرواژه"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "این گذرواژه خیلی کوتاه است (باید حداقل %d نویسه‌ای باشد)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "نمی‌توان از پخش همگانی بدون دامنه‌ی NIS استفاده کرد"
+
+# this text MUST be in ASCII! it has to be rewritten in ascii-transliteration
+# of Farsi (or left in english)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO با منوی متنی"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "فضای کافی در شاخه‌ی /boot وجود ندارد"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "نمی‌توانید بارگذارآغازگر را بر یک قسمت‌بندی %s نصب کنید\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"پیکربندی بارگذار آغازگر باید بروزسازی شود برای اینکه قسمت‌بندی شماره‌گذاری "
+"مجدد گردیده است"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"بارگذار آغازگر نمی‌تواند بدرستی نصب گردد. شما باید با گزینه‌ی نجات آغازگری "
+"کرده و \"%s\" را انتخاب کنید"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "نصب-مجدد بارگذار آغازگر"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "کیلو‌بایت"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "کیلو‌بایت"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "مگابایت"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "گیگابایت"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "ترابایت"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d دقیقه"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "۱ دقیقه"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d ثانیه"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"پایان نامه‌ی WebDAV به شما اجازه‌ی سوار کردن یک شاخه‌ی کارگزار اینترنت را بطور\n"
+"محلی می‌دهد، و با آن مانند یک پرونده سیستم محلی رفتار می‌کند (در صورتی که "
+"کارگزار\n"
+"وب مانند یک کارگزار WebDAV پیکربندی شده باشد). اگر شما مایل به افزودن نقاط "
+"سوار\n"
+" WebDAV هستید، \"جدید\" را انتخاب کنید."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "جدید"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "پیاده کردن"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "سوار کردن"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "نقطه‌ی سوارکردن"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "گزینه‌ها"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "خطا"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "لطفاً آدرس اینترنتی کارگزار WebDAV را وارد کنید"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "نشانی اینترنتی باید با http:// یا https:// شروع گردد"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "کارگزار‌: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "نقطه‌ی سوارسازی: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "گزینه‌ها: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "قسمت‌بندی"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "بدقت بخوانید!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "لطفاً نخست ذخیره‌ی پشتیبانی از داده‌های خود تهیه کنید"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "خروج"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "ادامه"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"اگر شما قصد استفاده از aboot را دارید، دقت کنید که یک فضای خالی در ابتدای \n"
+"دیسک (۲۰۴۸ بند کافی است) باقی بگذارید"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "راهنما"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "انتخاب کنش"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"شما یک قسمت‌بندی بزرگ ویندوز مایکروسافت دارید. \n"
+"پیشنهاد می‌کنم اندازه‌ی آن قسمت‌بندی را نخست تغییر دهید \n"
+"(بر آن کلیک کرده، سپس بر \"تغییر اندازه\" کلیک کنید)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "لطفاً بر یک قسمت‌بندی کلیک کنید"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "جزئیات"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "هیچ دیسک سختی یافت نشد"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "نامعلوم"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "حافظه‌ی مبادله"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "ویندوز"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "دیگری"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "خالی"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "انواع سیستم‌های پرونده:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "هشدار"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "این قسمت‌بندی قابل تغییراندازه نیست"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "نخست از ``Unmount'' استفاده کنید"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "استفاده از ``%s'' بجایش"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "نوع"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "انتخاب یک قسمت‌بندی دیگر"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "انتخاب یک قسمت‌بندی"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "بازگرد"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "تعویض به حالت عادی"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "تعویض به حالت کارشناسی"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "پیکربندی"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "در هر حال ادامه می‌دهید؟"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "ترک کردن بدون ذخیره کردن"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "ترک کردن بدون نوشتن جدول قسمت‌بندی؟"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "آیا می خواهید پیرایشگری‌های /etc/fstab را ذخیره کنید؟"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "برای تأثیر یافتن پیرایشگری جدول قسمت‌بندی احتیاج به آغازگری مجدد دارید"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"شما باید قسمت‌بندی %s را قالب‌بندی کنید.\n"
+"در غیر این صورت هیچ ورودی برای نقطه سوارسازی %s در fstb نوشته نخواهد شد.\n"
+"با این حال ترک می‌کنید؟"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "پاک کردن همه"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "جایابی خودکار"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "بیشتر"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "اطلاعات دیسک سخت"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "تمام قسمت‌بندی‌های اولیه استفاده شده‌اند"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "نمی‌توانم قسمت‌بندی بیشتری را اضافه کنم"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"برای داشتن قسمت‌بندی‌های بیشتر، لطفاً یکی از آنها را برای ایجاد قسمت‌بندی مضاعف "
+"حذف کنید"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "ذخیره کردن جدول قسمت‌بندی"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "بازسازی جدول قسمت‌بندی"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "نجات جدول قسمت‌بندی"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "بارگذاری مجدد جدول قسمت‌بندی"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "سوارسازی خودکار رسانه‌ی قابل انتقال"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "انتخاب پرونده"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"ذخیره‌ی پشتیبان جدول قسمت‌بندی با اصل جدول هم‌اندازه نیست\n"
+"با این حال ادامه می‌دهید؟"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "تلاش برای نجات جدول قسمت‌بندی"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "اطلاعات مفصل"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "تغییر اندازه"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "قالب"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "افزودن به RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "افزودن به LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "حذف کردن"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "برداشتن از RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "برداشتن از LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "پیرایشگری RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "استفاده برای loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "ایجاد کردن"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "ایجاد قسمت‌بندی جدیدی"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "بند شروع:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "اندازه در مگابایت: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "نوع سیستم پرونده: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "ترجیح: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "نام حجم منطقی "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"نمی‌توانید قسمت‌بندی جدیدی را ایجاد کنید\n"
+"(چون حداکثر تعداد قسمت‌بندیهای اولیه بدست آمده است). \n"
+"ابتدا قسمت‌بندی اولیه‌ای را برداشته و سپس یک قسمت‌بندی مضاعف ایجاد کنید."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "آیا پرونده‌ی loopback برداشته شود؟"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"بعد از تغییر نوع قسمت‌بندی %s، تمام داده‌ها بر این قسمت‌بندی از دست خواهند رفت"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "تغییر دادن نوع قسمت‌بندی"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "چه سیستم پرونده‌ای را‌ می‌خواهید؟"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "تعویض از ext2 به ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "برچسب"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "در کجا می‌خواهید پرونده‌ی loopback %s را سوار کنید؟"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "در کجا می خواهید دستگاه %s را سوار کنید؟"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"نمی‌توان نقطه‌ی سوارسازی را برداشت چرا که این قسمت‌بندی برای loop back استفاده "
+"می‌گردد.\n"
+"ابتدا loopback را بردارید"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "در کجا می‌خواهید %s را سوار کنید؟"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "تغییر اندازه"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "حساب کردن حدود سیستم پرونده‌ی FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "این قسمت‌بندی قابل تغییراندازه نیست"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "تمام داده‌ها بر این قسمت‌بندی باید ذخیره‌ی پشتیبان شوند"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"بعد از تغییراندازه‌ی قسمت‌بندی %s، تمام داده‌های روی این قسمت‌بندی از دست خواهند "
+"رفت"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "انتخاب اندازه‌ی جدید"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "اندازه‌ی جدید به مگابایت: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"برای اطمینان از صحت داده‌ها بعد از تغییراندازه‌ی قسمت‌بندی(ها)، \n"
+"در آغازگری بعدی بدرون ویندوز کنترل سیستم‌پرونده اجرا خواهد شد"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "انتخاب یک RAID موجود برای اضافه کردن به آن"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "جدید"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "انتخاب یک LVM موجود برای اضافه کردن به آن"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "نام LVM؟"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "این قسمت‌بندی نمی‌تواند برای loopback استفاده گردد"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "نام پرونده‌ی Loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "نام پرونده‌ای را بدهید"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"پرونده از قبل توسط loopback دیگری مورد استفاده است، یکی دیگر را انتخاب کنید"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "پرونده از قبل وجود دارد. از آن استفاده شود؟"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "گزینه‌های سوارسازی"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "گوناگون"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "دستگاه"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "سطح"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "اندازه‌ی تکه در کیلوبایت"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "دقت کنید: این عملیات خطرناک است."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "چه نوعی از قسمت‌بندی؟"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "احتیاج به آغازگری مجدد دارید تا پیرایشگری بتواند مؤثر واقع گردد"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "جدول قسمت‌بندی دستگاه %s به روی دیسک نوشته خواهد شد!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"بعد از قالب‌بندی قسمت‌بندی %s، تمام داده‌های روی این قسمت‌بندی از دست خواهند رفت"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "بررسی کردن بلوک‌های خراب؟"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "انتقال پرونده‌ها به قسمت‌بندی جدید"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "پنهان کردن پرونده‌ها"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "انتقال پرونده‌ها به قسمت‌بندی جدید"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "کپی کردن %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "برداشتن %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "قسمت‌بندی %s اکنون مانند %s شناخته می‌شود"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "قسمت‌بندیها شماره‌گذاری مجدد شده‌اند: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "دستگاه: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "برچسب حجم: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "نویسه‌ی دستگاه DOS : %s (حدس)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "نوع: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "نام: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "شروع: بند %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "اندازه: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s بندها"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "سیلندر %d به %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "قالب‌بندی شده\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "قالب‌بندی نشده\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "سوار شده\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"پرونده(های) loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"قسمت‌بندی آغاز شده بوسیله‌ی پیش‌فرض\n"
+" (برای آغازگری MS-DOS ، نه برای lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "سطح %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "اندازه‌ی تکه %d کیلوبایت\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "دیسک‌های-RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "نام پرونده Loopback: %s "
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"ممکن است این قسمت‌بندی, \n"
+"قسمت‌بندی یک دستگاه باشد. شما باید\n"
+"آن را بحال خود بگذارید.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"این قسمت‌بندی Bootstrap \n"
+"مخصوص برای أغازگری دوگانه‌ی\n"
+"سیستم شما می‌باشد.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "فقط‌-خواندن"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "اندازه: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "هندسه: %s سیلندر‌ها، %s سرها، %s بندها\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "اطلاعات: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-disks %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "نوع جدول قسمت‌بندی: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "روی کانال %d شناسه %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "کلید رمزگذاری سیستم پرونده"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "کلید رمزگذاری سیستم پرونده خود را انتخاب کنید"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "این کلید رمز خیلی ساده است ( باید حداقل %d نویسه طولانی باشد)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "کلیدهای رمزی مطابقت نمی‌کنند"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "کلید رمزی"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "کلید رمزی (دوباره)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "الگوریتم رمزگذاری"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "تغییر نوع"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "لغو"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "نمی‌توان با استفاده از نام کاربر %s ثبت‌ورود کرد (گذرواژه‌ی بد؟)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "تأیید هویت دامنه لازم است"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "کدام نام‌کاربر"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "یکی دیگر"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"لطفاً نام‌کاربری، گذرواژه و نام دامنه‌ی خود را برای دستیابی به این میزبان وارد "
+"کنید."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "نام‌کاربر"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "جستجوی کارگزارها"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "جستجوی کارگزارهای جدید"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "بسته‌ی %s لازم است نصب شود. آیا می‌خواهید آن را نصب کنید؟"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "بسته‌ی %s نتوانست نصب گردد!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "بسته‌ی ضروری %s حضور ندارد"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "بسته‌های بدنبال آمده لازم است نصب شوند:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "نصب بسته‌ها..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "حذف بسته‌ها..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"خطائی رخ داد - هیچ دستگاه معتبری یافت نشد که بر آن سیستم‌های پرونده ایجاد "
+"گردد. لطفاً سخت‌افزار خود را برای یافتن علت این اشکال بررسی کنید."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "شما باید یک قسمت‌بندی FAT سوار شده در /boot/efi داشته باشید"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "قالب‌بندی قسمت‌بندی %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "ایجاد و قالب‌بندی پرونده %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "نمی‌دانم چگونه %s را با نوع %s قالب‌بندی کنم"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s قالب‌بندی %s ناموفق بود"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "سوارسازی دایره‌ای %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "سوار کردن قسمت‌بندی %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "سوار کردن قسمت‌بندی %s در شاخه‌ی %s شکست خورد"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "بررسی %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "خطا در پیاده کردن %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "بکار انداختن قسمت‌بندی حافظه‌ی مبادله %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"نمی‌توانید از سیستم پرونده‌ی رمزگذاری شده برای نقطه سوارسازی %s استفاده کنید"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"زمان دستیابی inode در این سیستم پرونده بروزسازی نگردد\n"
+"(برای دستیابی سریع‌تر بر spool اخبار و سرعت دادن به کارگزاران اخبار)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"فقط می‌تواند بطور صریح سوار گردد (\n"
+"گزینه -a باعث سوار شدن سیستم پرونده‌ای نخواهد شد)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "نویسه‌ یا دستگاه‌های مخصوص بلوک روی سیستم پرونده‌ای تعبیر نشوند."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"اجازه‌ی اجرای هر دوگانی بر سیستم پرونده‌ی سوارشده داده نشود.\n"
+"این گزینه ممکن است برای کارگزاری که دارای سیستم پرونده‌ی حاوی دوگانی‌هایی "
+"برای\n"
+"ساختاری غیر از ساختار خود است مفید باشد."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"عدم اجازه‌ی تأثیرپذیری بیت‌های set-user-identifier یا set-group-identifier\n"
+" (این بنظر امن می‌رسد، ولی در حقیقت اگر شما suidperl(1) را نصب \n"
+"کرده‌اید ناامن است )"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "سوار کردن سیستم پرونده بطور فقط-خواندن."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "همه‌ی I/O به سیستم پرونده بایستی بطور هم‌گاه انجام گیرد."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "دادن حق نگارش به کاربران عادی"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "دادن حق خواندن به کاربران عادی"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "تکثیر نقطه‌ی سوارسازی %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "هیچ قسمت‌بندی وجود ندارد"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "پویش قسمت‌بندی‌ها برای یافتن نقاط سوارسازی"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "انتخاب کردن نقاط سوارسازی"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "قسمت‌بندیی را که می‌خواهید قالب‌بندی کنید انتخاب کنید"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"شکست در بررسی سیستم پرونده‌ی %s. می‌خواهید خطاها را تعمیر کنید؟ (توجه کنید، "
+"شما می‌توانید اطلاعات خود را از دست بدهید)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"فضای کافی حافظه‌ی مبادله برای تکمیل نصب وجود ندارد، لطفاً مقداری اضافه کنید"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"باید یک قسمت‌بندی ریشه داشته باشید.\n"
+"برای این کار،یک قسمت‌بندی ایجاد کنید (یا روی یک قسمت‌بندی موجود کلیک کنید).\n"
+"سپس ``نقطه‌ی سوارسازی'' را انتخاب کرده و آن را به `/' تغییر دهید"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"شما قسمت‌بندی حافظه‌ی مبادله را ندارید.\n"
+"\n"
+"در هر حال ادامه می‌دهید؟"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "استفاده از فضای آزاد"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "فضای آزاد کافی برای جای دادن قسمت‌بندهای جدید وجود ندارد"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "استفاده از قسمت‌بندی‌های موجود"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "قسمت‌بندیی برای استفاده وجود ندارد"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "استفاده از قسمت‌بندی ویندوز برای loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "از کدام قسمت‌بندی می‌خواهید برای Linux4Win استفاده کنید؟"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "انتخاب اندازه‌ها"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "اندازه‌ی قسمت‌بندی ریشه به مگابایت: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "اندازه‌ی قسمت‌بندی حافظه‌ی مبادله در مگابایت: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"هیچ قسمت‌بندی FAT برای استفاده مانند loopback وجود ندارد (یا فضای کافی باقی "
+"نمانده است)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "استفاده از فضای آزاد بر قسمت‌بندی ویندوز"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "کدام قسمت‌بندی را می‌خواهید تغییر اندازه دهید؟"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"برنامه‌ی FAT resizer نمی‌تواند قسمت‌بندی شما را اداره کند، \n"
+"خطای بدنبال آمده رخ داد: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "حساب کردن اندازه‌ی قسمت‌بندی ویندوز"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"قسمت‌بندی ویندوز شما خیلی درهم ریخته است. لطفا رایانه‌ی خود را با ویندوز "
+"آغازگری مجدد کرده، برنامه‌ی نظم بخشی ``defrag'' را اجرا کرده و سپس نصبلینوکس "
+"ماندریبا را دوباره راه‌اندازی کنید."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"هشدار!\n"
+"\n"
+"\n"
+"برنامه درایک‌ایکس اکنون قسمت‌بندی ویندوز شما را تغییر اندازه می‌دهد.\n"
+"\n"
+"\n"
+"دقت کنید: این عملیات خطرناکی است. اگر قبلًا این کار را نکرده‌اید، باید نخست از "
+"نصب خارج شده، برنامه‌ی \"chkdsk c:\" را از یک اعلان فرمان در ویندوز اجرا کرده "
+"(توجه داشته باشید که اجرای برنامه‌ی گرافیکی \"scandisk\"کافی نیست، مطمئن شوید "
+"که از \"chkdsk\" در یک اعلان فرمان استفاده می‌کنید), بد نیست که برنامه‌ی "
+"defrag را نیز اجرا کنید، سپس نصب را راه‌اندازی مجدد کنید. شما باید داده‌های "
+"خود را ذخیره پشتیبانی کنید.\n"
+"\n"
+"\n"
+"وقتی مطمئن شدید، %s را فشار دهید."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "بعدی"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "چه اندازه‌ای را می‌خواهید برای ویندوز نگهدارید قسمت‌بندی %s؟"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "اندازه"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "تغییر اندازه‌ی قسمت‌بندی ویندوز"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "تغییر اندازه FAT شکست خورد: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"هیچ قسمت‌بندی FAT برای تغییر اندازه وجود ندارد (یا فضای کافی آزاد باقی نمانده)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "برداشتن Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "تمام دیسک پاک شود"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"شما بیش از یک دستگاه دیسک دارید، بر کدامیک از آنها می‌خواهید لینوکس را نصب "
+"کنید؟"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "همه‌ی قسمت‌بندی‌ها و داده‌های آنها بر دستگاه %s از دست خواهند رفت"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "قسمت‌بندی اختصاصی دیسک"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "استفاده از fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"اکنون می‌توانید %s را قسمت‌بندی کنید.\n"
+"وقتی آن را انجام دادید، فراموش نکنید که آن را با `w' ذخیره کنید"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "نمی‌توانم هیچ فضائی را برای نصب پیدا کنم"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "جادوگر قسمت‌بندی درایک‌ایکس راه حل‌های بدنبال آمده را یافت:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "قسمت‌بندی ناموفق بود: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "نمی‌توانید از JFS برای قسمت‌بندی‌های کوچکتر از ۱۶ مگابایت استفاده کنید"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+"نمی‌توانید از ReiserFS برای قسمت‌بندی‌های کوچکتر از ۳۲ مگابایت استفاده کنید"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "با /کاربر"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "کارگزار"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"نمیتوانم جدول قسمت‌بندی دستگاه %s را بخوانم، بیش از حد من خراب شده است: \n"
+"می‌توانم با پاک کردن قسمت‌های بد (تمام داده‌ها از دست خواهد رفت) سعی کنم ادامه "
+"دهم.\n"
+" راه حل دیگر این است که به DrakX اجازه‌ی تغییر جدول قسمت‌بندی را ندهم. \n"
+"(خطا %s می‌باشد) \n"
+"\n"
+"آیا موافق به از دست دادن تمام قسمت‌بندی‌ها می‌باشید؟\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "نقاط سوارسازی باید با یک / شروع شوند"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "نقاط سوارسازی فقط باید حاوی نویسه‌های الفبا باشند"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "قسمت‌بندیی با نقطه‌ی سوارسازی %s از قبل وجود دارد\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"شما قسمت‌بندی RAID نرم‌افزاری را مانند ریشه (/) انتخاب کرده‌اید. \n"
+"هیچ بارگزار آغازگری قادر به اداره‌ی این بدون یک قسمت‌بندی /boot نمی‌باشد. \n"
+"لطفا یک قسمت‌بندی /boot را اضافه کنید"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "نمی‌توانید از یک حجم منطقی LVM برای نقطه سوارسازی %s استفاده کنید"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"شما حجم منطقی LVM را مانند ریشه (/) انتخاب کرده‌اید. \n"
+"هیچ بارگزار آغازگری قادر به اداره‌ی این بدون یک قسمت‌بندی /boot نمی‌باشد. \n"
+"لطفا مطمئن شوید که یک قسمت‌بندی /boot را اضافه کرده‌اید"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "این شاخه باید درون سیستم پرونده‌ی ریشه باقی بماند"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"شما به یک سیستم پرونده‌ی واقعی (ext2/ext3, reiserfs, xfs, یا jfs) برای این "
+"نقطه سوارسازی احتیاج دارید\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"نمی‌توانید از سیستم پرونده‌ی رمزگذاری شده برای نقطه سوارسازی %s استفاده کنید"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "فضای آزاد کافی برای جاسازی-خودکار وجود ندارد"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "کاری برای انجام نیست"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "دیسکچه"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "زیپ"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "دیسک"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "سی‌دی‌رم"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "نگارشگرهای سی‌دی/دی‌وی‌دی"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "دی‌وی‌دی-رم"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "نوار"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "کنترل‌گر‌های AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "کارت ویدیو"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "کارت‌تلویزیون"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "دیگر دستگاه‌های چندرسانه‌ای"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "کارت صوت"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "دوربین وب"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "پردازنده‌ها"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "سازوارگرهای ISDN "
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "کارت ایثرنت"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "مودم"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "سازوارگرهای ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "حافظه"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "چاپگر"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "کنترل‌گر‌های SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "کنترل‌گر‌های RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "کنترل‌گر‌های (E)IDE/ATA "
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "مدل کارت:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "کنترل‌گر‌های Firewire "
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "کنترل‌گر‌های PCMCIA "
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "کنترل‌گر‌های SCSI "
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "کنترل‌گر‌های USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "درگاه‌های USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "کنترل‌گر‌های SMBus "
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "پل‌ها وکنترل‌گر‌های سیستم"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "صفحه‌کلید"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "موشی"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "پویشگر"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "ناشناس/دیگران"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "لطفاً صبر کنید... در حال بکار بستن پیکربندی"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "هیچ راه‌انداز دیگر"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"هیچ راه‌انداز شناخته شده‌‌ی OSS/ALSA دیگری برای کارت صوتی شما (%s) که در حال "
+"حاضر از \"%s\" استفاده می‌کند وجود ندارد"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "پیکربندی صوت"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"در اینجا می‌توانید راه‌انداز دیگری را (OSS یا ALSA) برای کارت صوتی خود (%s) "
+"انتخاب کنید."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"کارت شما در حال حاضر از راه‌انداز %s\"%s\" استفاده می‌کند (راه‌انداز پیش‌فرض "
+"برای کارت شما \"%s\" است)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"برنامه OSS (سیستم صوتی آزاد) اولین API صوتی بود. آن یک API صوتی غیر وابسته "
+"به سیستم عامل است (در بیشتر سیستم‌های یونیکس موجود است) ولی آن یک API خیلی "
+"ساده و محدود است.\n"
+" دیگر اینکه همه‌ی راه‌انداز‌های OSS چرخ را دوباره اختراع می‌کنند.\n"
+"\n"
+"برنامه ALSA (ساختار صوتی پیشرفته لینوکس) یک معماری تشکیل شده از بخش‌ها را "
+"دارا است که \n"
+"از یک گستره‌ی وسیعی از کارت‌های PCI ،USB و ISA پشتیبانی می‌کند.\n"
+"\n"
+"آن همچنین یک API بالاتری از OSS عرضه می‌کند.\n"
+"\n"
+"برای استفاده از alsa, شما می‌توانید یکی از دو روش زیر را انتخاب نمایید:\n"
+"- روش قدیمی همخوان با OSS api \n"
+"- ALSA api جدید که قابلیت‌های بهینه شده‌ی بسیاری را عرضه می‌دارد ولی با لزوم "
+"استفاده از کتابخانه ALSA .\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "راه‌انداز:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "مشکل گشایی"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"راه‌انداز قدیمی \"%s\" در لیست سیاه است.\n"
+"\n"
+"این برای برداشتن از هسته گزارش شده است.\n"
+"\n"
+"راه‌انداز جدید \"%s\" فقط در bootstrap بعدی استفاده خواهد شد."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "هیچ راه‌انداز منبع آزاد"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"هیچ راه‌انداز آزاد برای کارت صوتی شما (%s) وجود ندارد، اما یک راه‌انداز تجاری "
+"در \"%s\" وجود دارد."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "هیچ راه‌انداز آشنایی"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "راه‌انداز شناخته شده‌ای برای کارت صوت (%s) شما وجود ندارد"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "راه‌انداز ناشناس"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "خطا: راه‌انداز \"%s\" برای کارت صوتی شما در لیست وجود ندارد"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "اشکال‌زدایی صوت"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"آزمایش‌گر اشکال صوت کلاسیک فرمان‌های بدنبال آمده را برای اجرا دارد:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" به شما می‌گوید که کارت شما از چه راه‌اندازی\n"
+"توسط پیش‌فرض استفاده می‌کند.\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" به شما می‌گوید از چه راه‌اندازی در\n"
+"حال حاضر استفاده می‌شود\n"
+"\n"
+"- \"/sbin/lsmod\" شما را برای بررسی این که آیا راه‌انداز بارگذاری شده یا نه\n"
+"قادر می‌سازد\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" و \"/sbin/chkconfig --list alsa\" به \n"
+"شما می‌گوید که آیا صوت و سرویس‌های alsa برای اجرا در initlevel 3 \n"
+"پیکربندی شده‌اند\n"
+"\n"
+"- \"aumix -q\" به شما می‌کوید که آیا حجم صدا خاموش است یا نه\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" به شما می‌گوید کدام برنامه از کارت صوت استفاده "
+"می‌کند.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "اجازه بده تا هر راه‌اندازی را انتخاب کنم"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "انتخاب یک راه‌انداز دلخواه"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"اگر شما واقعاً می‌دانید که کدام راه‌انداز برای کارت شما درست است\n"
+"می‌توانید یکی را در لیست بالا انتخاب کنید. \n"
+"\n"
+"راه‌انداز کنونی کارت صوتی \"%s\" شما \"%s\" است"
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "کشف-خودکار"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "ناشناس|عمومی"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "ناشناس|CPH05X (bt878) [فروشنده‌های متعدد]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "CPH06X (bt878) ناشناس [فروشنده‌های متعدد]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"برای بیشتر کارت‌های تلویزیون، بخش bttv در هسته‌ی لینوکس/GNU پارامترهای درست را "
+"بطور خودکارشناسائی می‌کند.\n"
+"اگر کارت شما اشتباهی شناسائی شد، می‌توانید انواع درست کارت و میزان کننده را "
+"در اینجا اجباری کنید. فقط پارامترهای کارت خود را در صورت لزوم انتخاب کنید."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "مدل کارت:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "نوع گیرنده:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "تأیید"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "بله"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "نه"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "انتخاب پرونده‌ای"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "افزودن"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "تغییر"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "برداشتن"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "پایان"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "پیشین"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "انتخاب بد، دوباره امتحان کنید\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "انتخاب شما؟ (پیش‌فرض %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"ورودی‌هایی که باید پر کنید: \n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "انتخاب شما؟ (0/1, پیش‌فرض `%s')"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "دکمه‌ی `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "آیا می‌خواهید بر این دکمه کلیک کنید؟"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "انتخاب شما؟ (پیش‌فرض `%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " برای ورودی `void' لطفاً void را وارد کنید"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> چیزهای زیادی برای انتخاب از (%s) وجود دارند.\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"لطفاً اولین شماره از ۱۰-گستره را که می‌خواهید ویرایش کنید انتخاب کنید،\n"
+"یا برای ادامه فقط دکمه‌ی ورود را فشار دهید.\n"
+"انتخاب شما؟ "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> توجه, برچسبی تغییر کرد:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "ارسال-مجدد"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:RTL"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "آندورا"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "امارات متحده‌ی عربی"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "افغانستان"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "انتیگوا و باربودا"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "آنگیلا"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "آلبانی"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "ارمنستان"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "هلند انتیلز"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "آنگولا"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "ان‌تارک‌تیکا"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "آرژانتین"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "ساموای آمریکا"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "اطریش"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "استرالیا"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "آروبا"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "آذربایجان"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "بوسنی هرسه‌گوینا"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "باربادوس"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "بنگلادش"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "بلژیک"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "بورکینا فاسو"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "بلغارستان"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "بحرین"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "بوروندی"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "بنین"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "برمودا"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "برونای داروسلام"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "بولیوی"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "برزیل"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "باهاما"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "بوتان"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "جزیره بووت"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "بوتسوانا"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "بلاروس"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "بلایز"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "کانادا"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "جزایر کوکوس (کیلینگ)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "کونگو (کین‌شاسا)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "جمهوری مرکزی آفریقا"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "کونگو (برازاویله)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "سوئیس"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "کوته د'آی‌وری"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "جزایر کوک"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "شیلی"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "کامرون"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "چین"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "کلمبیا"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "کوستا ریکا"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "صربستان و مونته‌نگرو"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "کوبا"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "کیپ ورده"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "جزایر کریسمس"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "قبرس"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "جمهوری چک"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "آلمان"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "جیبوتی"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "دانمارک"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "دومینیک"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "جمهوری دومینیک"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "الجزایر"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "اکوآدور"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "استونی"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "مصر"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "صحرای غربی"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "اریتره"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "اسپانیا"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "اتیوپی"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "فنلاند"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "فیجی"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "جزایر فالک‌لند (مالویناس)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "میکرونه‌سیا"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "جزایر فارئو"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "فرانسه"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "گابن"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "بریتانیا"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "گرانادا"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "گرجستان"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "گینه‌ی فرانسوی"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "غنا"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "جیبرالتا"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "گرین‌لند"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "گامبیا"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "گینه"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "گوادلوپ"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "گینه‌ی استوایی"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "یونان"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "جزایر جورجیو و ساندیویچ جنوبی"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "گواتمالا"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "گوام"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "گینه-بیساو"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "گویانا"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "چین (هنگ‌ کنگ)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "جزایر هرد و مک‌دونالد "
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "هوندوراس"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "کروآسی"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "هایی‌تی"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "مجارستان"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "اندونزی"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "ایرلند"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "اسرائیل"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "هند"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "منطقه‌ی بریتانیایی اقیانوس هند"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "عراق"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "ایران"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "آیس‌لند"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "ایتالیا"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "جامائیکا"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "اردن"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "ژاپن"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "کنیا"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "قرقیزستان"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "کامبوج"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "کیریباتی"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "کوموروس"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "سنت کیتز و نویز"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "کره (شمال)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "کره"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "کویت"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "جزایر کی‌من"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "قزاقستان"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "لائوس"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "لبنان"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "سنت لوشیا"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "لیختن‌اشتاین"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "سریلانکا"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "لیبریا"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "لوسوتو"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "لیت‌وانی"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "لوکزامبورگ"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "لاتویا"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "لیبی"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "مراکش"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "موناکو"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "مولدووا"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "ماداگاسکار"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "جزایر مارشال"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "مقدونیه"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "مالی"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "موانمار"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "مغولستان"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "جزایر ماریان شمالی"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "مارتینیک"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "موریتانیا"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "مونت‌سرات"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "مالتا"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "ماریسی"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "مالدیوز"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "مالاوی"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "مکزیک"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "مالزی"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "موزامبیک"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "نامیبیا"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "کله‌دونیای جدید"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "نیجر"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "جزایر نورفولک"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "نیجریه"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "نیکاراگوئه"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "هلند"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "نروژ"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "نپال"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "ناورو"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "نی‌وه"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "زلاندنو"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "عمان"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "پاناما"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "پرو"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "پولی‌نسیای فرانسوی"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "گینه‌ی جدید پاپائو "
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "فیلیپین"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "پاکستان"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "لهستان"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "سنت پی‌یر و میگوئل"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "پیت‌کایرن"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "پورتو ریکو"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "فلسطین"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "پرتغال"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "پاراگوئه"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "پالاو"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "قطر"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "اتحاد مجدد"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "رومانی"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "روسیه"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "روآندا"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "عربستان سعودی"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "جزایر سولومون"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "سیشلز"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "سودان"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "سوئد"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "سنگاپور"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "سنت هلن"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "اسلوونی"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "سوآل‌بارد و جان ماین"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "اسلواکی"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "سیه‌رآ ليونه"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "سن مارینو"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "سنگال"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "سومالی"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "سورینام"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "سايو توم و پرینسیپ"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "ال‌سالوادور"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "سوریه"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "سوازیلند"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "جزایر ترک‌ها و کایکو‌ها"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "چاد"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "مناطق جنوبی فرانسوی"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "توگو"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "تایلند"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "تاجیکستان"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "توکل‌آو"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "تیمور شرقی"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "ترکمنستان"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "تونس"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "تونگا"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "ترکیه"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "ترینیداد و توباگو"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "تووالو"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "چینی (تایوان)"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "تانزانیا"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "اوکراین"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "اوگاندا"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "جزایر متفرقه کوچک ایالات متحده"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "ایالات متحده"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "اروگوئه"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "ازبکستان"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "واتیکان"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "سنت وینسنت و گرنادینز"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "ونزوئلا"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "جزایر ویرجین (بریتانیایی)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "جزایر ویرجین (آمریکا)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "ویتنام"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "وانوآتو"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "والیس و فوتونا"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "ساموآ"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "یمن"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "مایوت‌ته"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "آفریقای جنوبی"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "زامبیا"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "زیمبابوه"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "به %s خوش آمدید"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "نخست حجم‌های منطقی برداشته شوند\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"معرفی\n"
+"\n"
+"سیستم عامل و اجزای دیگر موجود در پخش لینوکس ماندریبا از این به بعد\n"
+" \"محصولات نرم‌افزاری\" خوانده خواهند شد. محصولات نرم‌افزاری شامل\n"
+"یک مجموعه از نرم‌افزار‌ها، روش‌ها، قواعد و نوشتارهای مربوط به سیستم عامل\n"
+"و اجزای مختلف پخش لینوکس ماندریبا می‌باشد.\n"
+"\n"
+"\n"
+"۱. توافق‌نامه‌ی مجوز\n"
+"\n"
+"لطفاً این نوشتار را با دقت بخوانید. این نوشتار یک توافق‌نامه‌ی مجوز بین شما و \n"
+"شرکت Mandriva S.A می‌باشد که شامل محصولات نرم‌افزاری می‌شود.\n"
+"با نصب کردن، تکثیر یا استفاده از محصولات نرم‌افزاری به هر طریق، شما شروط\n"
+"این مجوز را صریحاُ پذیرفته و قبول کرده‌اید. اگر موافق با هر قسمت از مجوز "
+"نیستید،\n"
+"اجازه‌ی نصب، تکثیر‌ یا استفاده از محصولات نرم‌افزاری را ندارید.\n"
+"هر تلاشی برای نصب، تکثیر یا استفاده از محصولات نرم‌افزاری به طوری\n"
+"که با شروط این مجوز تطابق نداشته باشد هیچ ‌شده و به امتیازات شما در\n"
+"این مجوز پایان می‌بخشد. با باطل شدن مجوز، باید بیدرنگ تمام کپی‌های\n"
+"محصولات نرم‌افزاری را نابود کنید.\n"
+"\n"
+"\n"
+"۲. ضمانت محدود\n"
+"\n"
+"محصولات نرم‌افزاری و نوشتار همراه بطور \"همینطوری\"، بدون هیچ ضمانتی\n"
+"و تا جایی که قانون اجازه می‌دهد، عرضه شده‌اند.\n"
+"شرکت Mandriva S.A. در هیچ شرایطی و تا جایی که قانون اجازه می‌دهد،\n"
+"مسئول هر اتفاق مخصوص، هر خرابی مستقیم یا غیر مستقیم (شامل خرابی‌های نامحدود\n"
+"برای از دست دادن شغل، اشکالات شغلی، ضرر مالی و جریمه‌های از طرف یک دادگاه\n"
+"یا هر ضرر متعاقب دیگر) در پی‌ استفاده یا ناتوانی در استفاده از محصولات "
+"نرم‌افزاری،\n"
+"حتی اگر Mandriva S.A.از احتمال یا پیش‌آمد چنین خرابی‌هایی مطلع شده باشد\n"
+"نخواهد بود.\n"
+"\n"
+"مسئولیت محدود مربوط به داشتن یا استفاده از نرم‌افزار ممنوعه در بعضی از "
+"کشورها\n"
+"\n"
+"شرکت Mandriva S.A. یا توزیع کنندگان آن در هیچ شرایطی و تا جایی که قانون "
+"اجازه می‌دهد،\n"
+"مسئول هر اتفاق مخصوص، هر خرابی مستقیم یا غیر مستقیم (شامل خرابی‌های نامحدود\n"
+"برای از دست دادن شغل، اشکالات شغلی، ضرر مالی و جریمه‌های از طرف یک دادگاه\n"
+"یا هر ضرر متعاقب دیگر) برای داشتن و استفاده یا بارگیری محصولات نرم‌افزاری از "
+"یکی \n"
+"از پایگاه‌های لینوکس ماندریبا که در بعضی از کشورها بوسیله قانون محلی ممنوع یا "
+"محدود می‌باشند \n"
+"نخواهد بود. این مسئولیت محدود برای اجزای رمزگذاری قوی، ولی نه تنها آنها، که "
+"در\n"
+"محصولات نرم‌افزاری وجود دارند می‌باشد.\n"
+"\n"
+"\n"
+"۳. مجوز GPL و مجوزهای مربوطه\n"
+"\n"
+"محصولات نرم‌افزاری حاوی برنامه‌های ساخته شده توسط اشخاص و واحدهای گوناگون "
+"می‌باشند.\n"
+"بیشتر این برنامه‌ها تحت شروط مجوز عادی عمومی GNU، از این به بعد به \"GPL\" "
+"خوانده\n"
+"خواهد شد، یا مجوز‌های مشابه اداره می‌شوند. بیشتر این مجوز‌ها به شما اجازه‌ی "
+"استفاده، \n"
+"تکثیر، سازگار کردن یا انتشار مجدد نرم‌افزار پوشش دهنده‌ی خود را می‌دهند. لطفاً "
+"شروط \n"
+"این توافق‌نامه‌های نرم‌افزار را قبل از استفاده از آنها با دقت بخوانید. سؤالات "
+"مربوط به مجوز \n"
+"نرم‌افزار بایستی به نویسنده‌ی آن نرم‌افزار ونه به ماندریبا فرستاده شوند. "
+"برنامه‌های تهیه شده بوسیله \n"
+"ماندریبا توسط مجوز GPL اداره می‌شوند. نوشتارهای نوشته شده توسط Mandriva S.A. "
+"تحت \n"
+"مجوز مخصوص اداره می‌شوند. لطفاً به این نوشتارها برای توضیحات بیشتر مراجعه "
+"کنید.\n"
+"\n"
+"\n"
+"۴. حقوق مالکیت نبوغی\n"
+"تمام حقوق برنامه‌های محصولات نرم‌افزاری به نویسندگان هر یک از آنها تعلق داشته "
+"و بوسیله \n"
+"مالکیت نبوغی و قوانین حق امتیاز برنامه‌های نرم‌افزاری حفاظت می‌شوند. \n"
+"شرکت Mandriva S.A.حقوق امتیازی خود را برای تغییر یا وفق دادن محصولات "
+"نرم‌افزاری \n"
+"بطور کامل یا قسمت‌هایی از آنها، در هر صورت و برای هر منظور محفوظ می‌دارد. \n"
+"\"Mandriva\", \"Mandriva Linux\" و علائم مربوطه آرم‌های بازرگانی Mandriva S."
+"A. می باشند.\n"
+"\n"
+"\n"
+"۵. اجرای قوانین \n"
+"\n"
+"اگر هر قسمت از این توافق‌نامه توسط حکم دادگاهی نادیده، غیرقانونی یا غیر قابل "
+"اجرا تشخیص داده شود، \n"
+"این قسمت از این قرارداد حذف می‌گردد. شما در قسمت‌های دیگر قابل اجرای قرارداد "
+"مسئول باقی\n"
+"خواهید ماند.\n"
+"شروط این مجوز توسط قوانین کشور فرانسه تصویب و اجرا می‌شوند. \n"
+"هر اختلافی در شروط این مجوز ترجیحاً توسط دادگاه حل خواهد گردید. در آخرین \n"
+"مرحله، اختلاف به دادسرای قانون پاریس - فرانسه ارجاع داده خواهد شد. \n"
+"برای هر سؤالی درباره این نوشتار لطفاً با Mandriva S.A. تماس بگیرید.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"هشدار: نرم‌افزار آزاد ممکن است بدون patent نباشد، و بعضی از نرم‌افزارهای ضمیمه "
+"ممکن است در کشور شما زیر پوشش patent قرار داشته باشند. برای مثال، رمزگشاهای "
+"ام‌پی‌۳ ضمیمه ممکن است بر ای استفاده احتیاج به مجوز داشته باشد (برای جزئیات به "
+"پایگاه http://www.mp3licensing.com مراجعه کنید). اگر در این باره مطمئن "
+"نیستید به قوانین محل اقامت خود مراجعه کنید."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"هشدار\n"
+"\n"
+"لطفا شرایط زیر را با دقت بخوانید. اگر شما با هر قسمت آن مخالف هستید،\n"
+"اجازه ندارید رسانه سی دی بعدی را نصب کنید. 'امتناع' را برای ادامه‌ی \n"
+"نصب بدون استفاده از این رسانه‌ها فشار دهید.\n"
+"\n"
+"\n"
+"بعضی از عناصر بر روی رسانه سی‌دی بعدی توسط مجوز GPL یا \n"
+"توافق‌نامه‌های شبیه اداره نمی‌شوند. هر یک از این عنصرها بوسیله شرایط\n"
+"اجازه نامه‌ی خود اداره می‌شوند. لطفاً چنین مجوز‌های مخصوص را قبل \n"
+"از استفاده یا پخش مجدد آن برنامه‌ها به دقت خوانده و آنها را متابعت کنید.\n"
+"چنین مجوز‌هایی به طور عمومی از انتقال، تکثیر (بجز برای ذخیره رزرو)، \n"
+"پخش مجدد، رمزشکنی، بازسازی معکوس، تالیف مجدد یا تغییرات در عناصر آنها\n"
+"جلوگیری می‌کنند. هر قصور از قرارداد بیدرنگ امتیازات شما را در آن \n"
+"مجوز مخصوص پایان می‌دهد. مگر شرایط مجوز مخصوص \n"
+"به شما چنین اجازه‌ای دهد، معمولًا نمی‌توانید برنامه‌ها را بر بیش از یک \n"
+"سیستم، یا برای یک شبکه استفاده کنید. در صورت تردید لطفاً با ناشر\n"
+"یا ویرایشگر آن برنامه مستقیماً تماس بگیرید.\n"
+"انتقال به شخص سوم یا رونوشت از آنها و نوشتار آنها نیز معمولاً ممنوع می‌باشد.\n"
+"\n"
+"\n"
+"تمام حقوق برنامه‌های بر روی رسانه‌ی سی‌دی بعدی به نویسندگان آنها تعلق \n"
+"داشته و توسط مالکیت نبوغی و قوانین حق امتیاز قابل اجرای برنامه‌های\n"
+"نرم‌افزاری حفاظت می‌شوند.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"تبریک میگوییم، نصب تکمیل شده است.\n"
+"رسانه‌ی آغازگر را برداشته و برگشت را برای آغازگری مجدد فشار دهید.\n"
+"\n"
+"\n"
+"برای اطلاعات درباره تعمیرات موجود برای این انتشار لینوکس مان‌درایک\n"
+"با Errata مشورت کنید:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"اطلاعات درباره‌ی پیکربندی سیستم‌تان در فصل بعد از نصب راهنمای کاربر لینوکس \n"
+"ماندریبا رسمی موجود است."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "پیکربندی راه‌انداز UPS"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "پیکربندی بخش"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "می‌توانید هر پارامتر بخش را در اینجا پیکربندی کنید."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "واسط‌های %s یافت شد"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "یکی دیگر دارید؟"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "آیا هیچ واسط‌های %s دارید؟"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "اطلاعات سخت‌افزار را ببینید"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "در حال نصب راه‌انداز برای کنترل‌گر USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "در حال نصب راه‌انداز برای کنترل‌گر دیوارآتش %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "در حال نصب راه‌انداز برای کنترل‌گر دیسک %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "در حال نصب راه‌انداز برای کنترل‌گر ابثرنت %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "نصب راه‌انداز برای %s کارت %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"اکنون ممکن است گزینه‌ها را به بخش %s ارائه کنید. \n"
+"توجه کنید که هر نشانی باید با پیشوند 0x مانند '0x123' وارد شود"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"اکنون ممکن است گزینه‌ها را به بخش %s ارائه کنید.\n"
+"گزینه‌ها به شکل ``name=value name2=value2 ...'' هستند.\n"
+"برای مثال, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "گزینه‌های بخش:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "کدام راه‌انداز %s را باید امتحان کنم؟"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"در بعضی موارد، راه‌انداز %s نیاز به اطلاعات بیشتری برای درست کار کردن دارد، \n"
+"هرچند که معمولاً بدون آنها نیز بخوبی کار می‌کند. آیا می‌خواهید گزینه‌های \n"
+"بیشتری را مشخص کنید یا به راه‌انداز اجازه می‌دهید تا ماشین شما را برای "
+"اطلاعات \n"
+"مورد نیاز خود بگردد؟ بعضی وقتها، این جستجو باعث ایست رایانه خواهد شد، ولی \n"
+"آن نبایستی باعث هیچ خرابی گردد."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "وارسی خودکار"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "مشخص کردن گزینه‌ها"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"بارگذاری بخش %s شکست خورد.\n"
+"آیا می‌خواهید با پارامترهای دیگری دوباره امتحان کنید؟"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "سوارسازی شکست خورد: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "قسمت‌بندی مضاعف بر این پایگاه حمایت نمی‌شود"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"سوراخی در جدول قسمت‌بندی وجود دارد ولی نمی‌توانم از آن استفاده کنم. تنها راه "
+"حل، انتقال قسمت‌بندی‌های اولیه‌ی شما بنحوی است که آن سوراخ نزدیک به قسمت‌بندی‌های "
+"مضاعف قرار داده شود."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "خطا در خواندن پرونده‌ی %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "بازسازی از پرونده‌ی %s شکست خورد: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "پرونده‌ی پشتیبان خراب"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "خطا هنگام نوشتن در پرونده‌ی %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"اتفاق بدی در حال رخ دادن بر روی دستگاهتان است.\n"
+"آزمایشی برای بررسی بی‌عیب بودن داده‌ها شکست خورد. \n"
+"این بدین معنی است که هر چه بر روی دیسک بنویسید اطلاعات شانسی و خراب خواهد شد."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "نمیتوان قسمت‌بندی را به _formatted_ RAID %s اضافه کرد"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "قسمت‌بندی‌های کافی برای سطح RAID %d وجود ندارد\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "شاخه‌ی /usr/share/sane/firmware نتوانست ایجاد گردد!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "شاخه‌ی /usr/share/sane/%s نتوانست ایجاد گردد!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "پرونده‌ی ثابت‌افزار %s نتوانست به /usr/share/sane/firmware کپی گردد!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "اجازه‌های پرونده‌ی ثابت‌افزار %s نتوانست گذارده شوند!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "پویشگردرایک"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "نمی‌توان بسته‌های لازم را برای اشتراک پویشگر(های) شما نصب کرد."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "پویشگر(های) شما برای کاربرهای غیر-مدیر در دسترس نخواهد بود."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "پذیرش/امتناع پیغام‌های خطای bogus IPv4."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "پذیریش/امتناع پخش همگانی انعکاس icmp ."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "پذیرش/امتناع پژواک icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "اجازه/امتناع ثبت‌ورود خودکار."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"اگر \"همه\" تعیین شده است، /etc/issue و /etc/issue.net اجازه دارد وجود داشته "
+"باشد.\n"
+"\n"
+"اگر هیچ تعیین شده، هیچ برآمدهایی مجاز نیستند.\n"
+"\n"
+"بجز فقط /etc/issue که مجاز است."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "اجازه/امتناع آغازگری مجدد توسط کاربر کنسول."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "اجازه/امتناع ثبت‌ورود از راه دور مدیر."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "اجازه/امتناع ثبت‌ورود مستقیم مدیر."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "اجازه/امتناع لیست کاربران بر روی سیستم در مدیران نمایش (kdm and gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"اجازه/امتناع صدور نمایش هنگامیکه\n"
+"از حساب مدیر به کاربران دیگر عبور داده میشود.\n"
+"\n"
+"برای جزئیات بیشتر به pam_xauth(۸) مراجعه کنید."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"اجازه/امتناع اتصالات X:\n"
+"\n"
+"- همه (همه‌ی اتصالات مجاز هستند),\n"
+"\n"
+"- محلی (فقط اتصال از ماشین محلی)\n"
+"\n"
+"- هیچ (هیچ اتصال)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"این آرگومان مشخص می‌کند که آیا کارگیرها برای اتصال به کارگزار X \n"
+"بر درگاه ۶۰۰۰ tcp مجازند یا نه."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"اجازه دادن:\n"
+"\n"
+"- همه‌ی سرویس‌های کنترل شده بوسیله tcp_wrappers (صفحات دستورالعمل hosts.deny "
+"(5) را ببینید) اگر به \"همه\" گذارده شده است,\n"
+"\n"
+"- فقط سرویس‌های محلی اگر به \"محلی\" گذارده شده\n"
+" \n"
+" - هیچکدام اگر به \"هیچ\" گذارده شده\n"
+"\n"
+"برای اجازه به سرویس‌هایی که احتیاج دارید، از /etc/hosts.allow استفاده کنید "
+"((hosts.allow(5)را مشاهده کنید)."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"اگر SERVER_LEVEL (یا SECURE_LEVEL اگر غایب باشد)\n"
+" بزرگتر است از ۳ در /etc/security/msec/security.conf، \n"
+"یک پیوند نمادی /etc/security/msec/server ایجاد کرده که\n"
+"به /etc/security/msec/server اشاره می‌کند.<SERVER_LEVEL>.\n"
+"\n"
+"این /etc/security/msec/server بوسیله‌ی chkconfig --add برای\n"
+"تصمیم به افزودن یک سرویس اگر آن در پرونده هنگام نصب\n"
+"بسته حاضر باشد استفاده می‌شود."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"بکار اندازی/از کار اندازی crontab و at برای کاربران.\n"
+"\n"
+"کاربرهای مجاز را در /etc/cron.allow و /etc/at.allow بگذارید. \n"
+"(دستورالعمل at(1) و crontab(1) را مطالعه کنید)."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "بکار اندازی/از کار اندازی گزارش‌های syslog به کنسول ۱۲"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"بکار اندازی/از کار اندازی حفاظت spoofing نام یابی.\n"
+"اگر \"%s\" درست باشد, به syslog هم گزارش ‌شود."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "هشدارهای امنیتی:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "بکار اندازی/از کار اندازی حفاظت IP spoofing."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "بکار اندازی/از کار اندازی libsafe اگر libsafe در سیستم یافت شود."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "بکار اندازی/از کار اندازی ثبت پاکت‌های عجیب IPv4."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "بکار اندازی/از کار اندازی بررسی امنیتی ساعتی msec."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr "بکار انداختن su فقط برای اعضای گروه چرخ یا اجازه su برای هر کاربر."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "برای تأیید هویت کاربران از گذرواژه استفاده شود."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "فعال/غیرفعال‌سازی بررسی بی‌نظم کارت‌های شبکه."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "فعال/غیر فعال کردن بررسی امنیت روزانه."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "بکار اندازی/از کار اندازی sulogin(8) در سطح کاربر تکی."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "نام را مثل یک استثنا برای اداره‌ی عمر گذرواژه بوسیله msec اضافه کنید."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"گذاردن عمر گذرواژه به \"حداکثر\" روزها و تاخیر برای تغییر به \"غیرفعال\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "گذاردن مدت تاریخ گذرواژه برای جلوگیری از استفاده‌ی مجدد گذرواژه."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr "گذاردن حداقل طول و حداقل تعداد ارقام و حداقل تعداد حروف بزرگ گذرواژه."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "گذاردن umask مدیر."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "اگر به بله گذارده شده، درگاه‌های باز را بررسی کنید."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"اگر به بله گذارده شده، بررسی شود:\n"
+"\n"
+"- گذرواژه‌های خالی،\n"
+"\n"
+"- هیچ گذرواژه در /etc/shadow\n"
+"\n"
+"- برای کاربران با شناسه صفر غیر از مدیر."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"اگر به بله گذارده شده، اجازه‌های پرونده‌ها را در خانه‌ی کاربران بررسی کنید."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"اگر به بله گذاشته شده، بررسی کنید که آیا دستگاه‌های شبکه در حالت بی‌قاعده "
+"هستند."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "اگر به بله گذاشته شده، بررسی امنیتی روزانه را اجرا کنید."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "اگر به بله گذاشته شده، افزودن/برداشتن پرونده‌های sgid را بررسی کنید."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+"اگر به بله گذاشته شده، گذرواژه‌ی خالی در پرونده /etc/shadow را بررسی کنید."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"اگر به بله گذاشته شده، درستی checksum پرونده‌های suid/sgid را تصدیق کنید."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"اگر به بله گذاشته شده، افزودن/برداشتن امتیازات پرونده‌های مدیریت را بررسی "
+"کنید."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "اگر به بله گذاشته شده، پرونده‌های بدون صاحب گزارش شود."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"اگر به بله گذاشته شده، پرونده‌ها/شاخه‌های قابل نگارش بوسیله‌ی هر که را بررسی "
+"کنید."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "اگر به بله گذاشته شده، بررسی‌های chkrootkit را اجرا کنید."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "اگر گذاشته شده، گزارش پستی را به این نشانی وگرنه به مدیر بفرستید."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "اگر به بله گذاشته شده، نتیجه‌ی بررسی را بوسیله‌ی پست گزارش دهید."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "اگر چیزی برای هشدار دادن وجود ندارد پست نفرستید"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "اگر به بله گذاشته شده، بعضی بررسی‌ها بر بانک اطلاعات rpm اجرا می‌شود."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "اگر به بله گذاشته شده، نتیجه کنترل به syslog گزارش شود."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "اگر به بله گذاشته شده، نتایج بررسی به tty گزارش می‌شود."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "تعیین اندازه‌ی تاریخ فرمان‌های پوسته. یک ارزش ۱- به معنی نامحدود می‌باشد."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "تعیین مدت تاخیر پوسته. صفر بمعنی هیچ تاخیر."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "واحد زمان وقفه ثانیه است"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "تعیین umask کاربر."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "پذیرش پیغام‌های خطای bogus IPv4"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "پذیرش پخش همگانی انعکاس icmp"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "پذیرش پژواک icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* وجود دارد"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "آغازگری مجدد توسط کاربر کنسول"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "اجازه‌ی ثبت‌ورود از راه دور مدیر"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "ثبت‌ورود مستقیم مدیر"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "فهرست کاربران بر مدیران نمایش (kdm and gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "صدور نمایش هنگامیکه از مدیر به کاربران دیگر عبور داده میشود"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "اجازه‌ی اتصالات پنجره‌ی ایکس"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "اجازه‌ی اتصالات TCP پنجره‌ی ایکس"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "اجازه دادن به تمام سرویس‌های کنترل شده توسط tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "اطاعت Chkconfig از قواعد msec "
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "بکار انداختن \"crontab\" و \"at\" برای کاربران"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "گزارش‌های Syslog به کنسول ۱۲"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "حفاظت از spoofing نام‌یابی"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "بکاراندازی حفاظت IP spoofing"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "بکار انداختن libsafe اگر libsafe در سیستم یافت شود"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "بکار انداختن ثبت پاکت‌های عجیب IPv4"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "بکار انداختن بررسی ساعتی امنیت msec"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "بکار انداختن su فقط برای اعضای گروه چرخ یا برای هر کاربر"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "استفاده از گذرواژه برای تأیید هویت کاربران"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "بررسی بی‌نظم کارت‌های شبکه"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "بررسی روزانه‌ی امنیت"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "sulogin(8) در سطح کاربر تکی"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "هیچ عمر گذرواژه برای‌"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "گذاردن تاریخ اعتبار گذرواژه و تأخیرهای غیرفعالی حساب"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "طول تاریخچه‌ی گذرواژه"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "حداقل طول و تعداد نویسه و حروف بزرگ گذرواژه"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "umask مدیر"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "اندازه‌ی تاریخچه‌ی پوسته"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "مدت تاخیر پوسته"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "umask کاربران"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "بررسی درگاه‌های باز"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "بررسی حساب‌های غیر امن"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "اجازه‌های پرونده‌ها را در آغازه‌ی کاربران بررسی کنید"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "بررسی کنید که آیا دستگاه‌های شبکه در حالت بی قاعده هستند"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "اجرای بررسی روزانه‌ی امنیت"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "بررسی افزودن/برداشتن پرونده‌های sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "بررسی گذرواژه‌ی خالی در پرونده‌ی /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "تصدیق checksum برای پرونده‌های suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "بررسی افزودن/برداشتن suid پرونده‌های ریشه"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "گزارش پرونده‌های بی‌صاحب"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "بررسی پرونده‌ها/شاخه‌های قابل نگارش بوسیله‌ی هرکس"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "اجرای بررسی‌های chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr "اگر گذارده شده، گزارش پستی را به این نشانی وگرنه به مدیر بفرستید"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "گزارش نتیجه‌ی بررسی بوسیله‌ی پست"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "اجرای چندین بررسی بر بانک اطلاعات rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "گزارش نتیجه‌ی بررسی به syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "گزارش نتایج بررسی به tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "به رمزشکن‌ها خوش آمدید"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "ضعیف"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "استاندارد"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "بالا"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "بالاتر"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "خیالاتی"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"این سطح با دقت استفاده شود. این سیستم شما را برای استفاده‌ی آسان ولی خیلی \n"
+"حساس می‌سازد. آن نباید برای یک ماشین که به دیگر ماشین‌ها یا به اینترنت \n"
+"وصل است استفاده گردد. هیچ دسترسی به گذرواژه وجود ندارد."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"گذرواژه‌ها اکنون بکار افتاده‌اند، ولی هنوز استفاده مانند رایانه‌ی شبکه سفارش "
+"نمی‌شود."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"این امنیت استاندارد سفارش شده برای رایانه‌ای است که برای اتصال با اینترنت "
+"مانند یک کارگیر استفاده می‌گردد."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"مقداری محدودیت از قبل وجود دارد، و بررسی‌های خودکار بیشتری هر شب اجرا می‌شود."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"با این سطح امنیتی، استفاده از این سیستم مانند یک کارگزار ممکن می‌شود. \n"
+"امنیت به اندازه‌ی کافی بالا است که بتوان از این سیستم مانند یک کارگزار که\n"
+"بتواند اتصالات بسیاری را از کارگیرها بپذیرد استفاده کرد. توجه: اگر "
+"رایانه‌اتان فقط کارگیری در اینترنت است، باید سطح پایین‌تری را انتخاب کنید."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"این شبیه مرحله‌ی پیشین است، اما سیستم کاملا بسته بوده و موارد امنیتی در "
+"بالاترین حد خود می‌باشند."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "امنیت"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "گزینه‌های پایه‌ی DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "لطفاً سطح امنیتی مورد نظر را انتخاب کنید"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "سطح امنیت"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "استفاده از libsafe برای کارگزارها"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"یک کتابخانه که در مقابل لبریزی صف داده‌ها و حمله‌های رشته‌ی قالب‌بندی دفاع می‌کند."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "مدیر امنیتی (ثبت‌ورود یا پست الکترونیکی)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "راه‌اندازی سیستم صوتی ALSA (ساختار پیشرفته صوتی لینوکس) "
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron یک برنامه‌ریز فرمانی دوره‌ای است."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"شبح apmd برای مراقبت از وضعیت باتری و ثبت آن از طریق syslog استفاده می‌شود.\n"
+"همچنین می‌توان از آن برای خاموش کردن رایانه وقتی باتری ضعیف شده است استفاده "
+"گردد."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"فرمان‌های زمان‌بندی شده را بوسیله‌ی فرمان at در زمان مشخص شده وقتی at\n"
+"اجرا شود، و فرمان‌های دسته‌ای را وقتی میانگین بارگذاری کم باشد اجرا می‌کند."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron یک برنامه‌ی استاندارد یونیکس است که برنامه‌های مشخص-کاربری را در اوقات\n"
+"زمان‌بندی شده‌ی متناوب اجرا می‌کند. vixie cron تعدادی از قابلیت‌ها را به cron "
+"پایه‌ی یونیکس\n"
+"شامل امنیت بهتر و گزینه‌های قدرتمندتر پیکربندی اضافه می‌کند."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM شبح پایشگری پرونده است. آن برای دریافت گزارش‌های تغییرات پرونده استفاده "
+"می‌گردد.\n"
+"آن بوسیله‌ی گنوم و کدئی استفاده می‌شود"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"برنامه GPM پشتیبانی موشی را به برنامه‌های متنی لینوکس مانند Midnight "
+"Commander \n"
+"اضافه می‌کند. آن همچنین اجازه‌ی عملیات برش-چسباندن را در کنسول‌های بر \n"
+"اساس-موشی را داده و پشتیبانی منو‌های واشو را شامل می‌گردد."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"برنامه‌ی HardDrake یک حس‌گری سخت‌افزار را اجرا می‌کند، و بطور \n"
+"اختیاری سخت‌افزار جدید/تغییر کرده را پیکربندی می‌کند."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"آپاچی یک کارگزار تارنمای پهناور گیتی است. آن برای عرضه‌ی پرونده‌های HTML و CGI "
+"استفاده می‌شود."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"شبح کارگزار اینترنت (معروف به inetd ) سرویس‌های گوناگون اینترنت \n"
+"مورد نیاز دیگر را راه‌اندازی می‌کند. آن مسئول راه‌اندازی سرویس‌های\n"
+"بسیاری از قبیل telnet, ftp, rsh, و rlogin می‌باشد. از کار انداختن inetd \n"
+"باعث از کار افتادن تمام این سرویس‌ها می‌گردد."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"راه‌اندازی فیلتر پاکت برای نسخ هسته‌ی لینوکس ۲٬۲، برای \n"
+"برپا کردن دیوارآتشی برای حفاظت ماشین شما از حملات شبکه"
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"این بسته نقشه‌ی صفحه‌کلید انتخاب شده‌ایی را که در /etc/sysconfig/keyboard \n"
+"گذاشته شده بارگذاری می‌کند. این می‌تواند با استفاده از ابزار kbdconfig انتخاب "
+"گردد.\n"
+"شما باید این را برای بیشتر ماشین‌ها بکار افتاده باقی بگذارید."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"تولید مجدد خودکار سرآیند هسته در شاخه‌ی /boot برای \n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "شناسایی و پیکربندی خودکار سخت‌افزار در آغازگری."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"برنامه‌ی Linuxconf بعضی مواقع کارهایی را در زمان-آغازگری \n"
+"برای نگهداری از پیکربندی سیستم انجام خواهد ‌داد."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd یک شبح چاپ لازم برای کار کرد مناسب lpr است. آن کارگزاری\n"
+"است که کارهای چاپ را به چاپگر(ها) فیصل می‌دهد."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"کارگزار مجازی لینوکس، برای ساختن کارگزاری توانا و همیشه در \n"
+"دسترس استفاده می‌شود."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) یک کارگزار نام دامنه Domain Name Server (DNS) می‌باشد که برای "
+"بازیافتن نام میزبان‌ها به نشانی‌های اینترنتی استفاده می‌شود."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"سوار و پیاده کردن همه‌ی نقاط سوارسازی سیستم پرونده‌ی شبکه (NFS), SMB (مدیر\n"
+"شبکه محلی/Windows), و NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"فعال/غیرفعال سازی تمام واسط‌های شبکه که برای شروع در زمان آغازگری \n"
+"پیکربندی شده‌اند."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"پایان‌نامه‌ی NFS برای اشتراک پرونده در طول شبکه‌های TCP/IP است.\n"
+"این سرویس عمل کرد کارگزار NFS را عرضه کرده، که از طریق پرونده‌ی /etc/exports\n"
+"پیکربندی می‌شود."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS یک پایان نامه معروف برای اشتراک پرونده در‌ شبکه TCP/IP\n"
+"می‌باشد. این سرویس توانایی قفل کردن پرونده NFS را عرضه می‌دارد."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"روشن کردن خودکار کلید قفل اعداد، numlock، در کنسول و Xorg \n"
+"هنگام آغازگری."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "حمایت OKI 4w وwinprinters همخوان."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"حمایت PCMCIA معمولاً برای حمایت چیزهایی مانند کارت شبکه و مودم \n"
+"در رایانه همراه می‌باشد. آن تا پیکربندی نگردد راه‌اندازی نخواهد شد بنابرین\n"
+"نصب آن بر ماشین‌هایی که به آن احتیاج ندارند امن است."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"برنامه portmapper اتصالات RPC را مدیریت می‌کند، که بوسیله پایان‌نامه‌هایی\n"
+"نظیر NFS و NIS استفاده می‌شود. کارگزار portmap باید بر روی ماشین‌هایی\n"
+"که مانند کارگزارهایی با پایان‌نامه‌هایی که از روش RPC استفاده می‌کنند اجرا گردد."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"برنامه Postfix مامور انتقال پست می‌باشد، که برنامه‌ای است که پست را از یک "
+"ماشین به ماشین دیگر منتقل می‌کند."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"ذخیره‌سازی و بازسازی entropy pool سیستم برای تولید اعداد شانسی با کیفیت "
+"بالاتر."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"واگذاری دستگاه‌های خام به دستگاه‌های بلوک (مانند قسمت‌بندی‌های دیسک‌سخت)، برای "
+"استفاده از برنامه‌هایی مانند Oracle یا DVD players"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"شبح routed اجازه‌ی بروزسازی جدول مسیریاب آی‌پی خودکار از طریق پایان‌نامه RIP "
+"را\n"
+"می‌دهد. در حالی که RIP بطور گسترده در شبکه‌های کوچک استفاده می‌شود، برای\n"
+"شبکه‌های پیچیده پایان‌نامه‌های مسیریابی پیچیده‌تری لازم است."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"پایان‌نامه rstat به کاربران روی یک شبکه اجازه می‌دهد که اندازه‌ی اجرایی هر یک "
+"از ماشین‌های بر آن شبکه را دریافت کنند."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"پایان‌نامه rusers به کاربران یک شبکه اجازه می‌دهد که کسانی را که در \n"
+"ماشین‌های دیگر آن شبکه هستند شناسایی کنند."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"پایان‌نامه‌ی rwho به کاربران از راه دور اجازه گرفتن لیستی از کاربرانی که در یک "
+"ماشین که شبح rwho را اجرا می‌کند می‌دهد (شبیه به finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "راه‌اندازی سیستم صوتی بر ماشین شما"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog وسیله‌ای است که بسیاری از شبح‌ها برای ثبت پیغام‌ها به پرونده‌های \n"
+"ثبت سیستم استفاده می‌کنند. این فکر خوبی است که همیشه syslog را اجرا کرد."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "بارگذاری راه‌اندازها برای دستگاه‌های usb شما."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "راه‌اندازی کارگزار قلم ایکس (این برای اجرای Xorg اجباری است)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "چاپ"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "اینترنت"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "اشتراک پرونده"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "سیستم"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "مدیریت از راه دور"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "کارگزار‌ بانک اطلاعات"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "سرویس‌ها"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "انتخاب سرویس‌هایی که باید بطور خودکار در زمان آغازگری راه‌اندازی شوند"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "سرویس‌ها: %d فعال شده برای %d ثبت شده"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "در حال اجرا است"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "متوقف شد."
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "سرویس‌ها و شبح‌ها"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"هیچ اطلاعات بیشتری\n"
+"درباره‌ی این سرویس، متأسفم."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "اطلاعات"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "شروع در صورت تقاضا"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "در آغازگری"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "شروع"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "ایست"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"این برنامه نرم‌افزار آزاد است; شما می‌توانید آن را پخش مجدد و/یا تغییر دهید،\n"
+"البته تحت شرایط GNU General Public License که توسط \n"
+"the Free Software Foundation; یا نسخه ۲ ٬یا (به دلخواه شما)\n"
+"هر نسخه‌ی بعدی..\n"
+"\n"
+"این برنامه به امید مفید بودن پخش شده است,\n"
+"ولی بدون ضمانت؛ حتی بدون ضمانت تجاری یا \n"
+"شایستگی برای منظور خاصی. برای تشریحات بیشتر \n"
+"به GNU General Public License مراجعه نمایید.\n"
+"\n"
+"شما باید یک کپی از GNU General Public License\n"
+"را همراه این برنامه دریافت کرده باشید؛ اگر نه، نامه‌ای بنویسید به Free "
+"Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"برنامه ذخیره پشتیبان و بازسازی\n"
+"\n"
+"--default : ذخیره شاخه‌های پیش‌فرض.\n"
+"--debug : نشان دادن تمام پیغام‌های اشکال‌زدایی.\n"
+"--show-conf : فهرست پرونده‌ها و شاخه‌ها برای ذخیره.\n"
+"--config-info : تشریح گزینه‌های پرونده تنظیم (برای کاربران بدون-X ).\n"
+"--daemon : استفاده از شبح تنظیم. \n"
+"--help : نمایش این پیغام .\n"
+"--version : نمایش شماره نسخه.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"گزینه‌ها:\n"
+" --boot - قادر ساختن پیکربندی بارگذار آغازگر\n"
+" --splash - قادر ساختن پیکربندی طرح آغازگری\n"
+"حالت پیش‌فرض: پیکربندی قابلیت ثبت‌ورود خودکار را عرضه می‌دارد"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[گزینه‌ها] [نام_برنامه]\n"
+"\n"
+"گزینه‌ها:\n"
+" --راهنما - این پیغام راهنما چاپ شود.\n"
+" --گزارش - برنامه باید یکی از ابزار ماندریبا باشد\n"
+" --مرحله - برنامه باید یکی از ابزار ماندریبا باشد"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - جادوگر \"افزودن واسط شبکه\"\n"
+" --del - جادوگر \"حذف واسط شبکه\"\n"
+" --skip-wizard - سازمان‌دهی اتصالات\n"
+" --internet - پیکربندی اینترنت\n"
+" --wizard - مانند --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"برنامه‌ی پایشگری و واردات قلم نگارش \n"
+"\n"
+"گزینه‌ها:\n"
+"--واردات_ویندوز : واردات از تمام قسمت‌بندی‌های موجود ویندوز.\n"
+"--قلم‌هاـxls : همه قلم‌هایی که از قبل از xls وجود دارد را نشان می‌دهد\n"
+"--نصب : پذیرش هر پرونده‌ی قلم و هر شاخه‌ای.\n"
+"--نصب‌برداری : نصب‌برداری هر قلمی یا شاخه‌ی قلم.\n"
+"--جایگزینی : جایگزینی همه قلم‌هایی که قبلاً وجود دارند\n"
+"--برنامه : صفر هیچ برنامه.\n"
+" : 1 همه برنامه‌های موجود حمایت شده.\n"
+" : نام_برنامه مانند so برای staroffice \n"
+" : و gs برای ghostscript فقط برای این یکی."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[گزینه‌ها]...\n"
+"پیکربند کارگزار پایانه‌ی ماندریبا\n"
+"--فعال : فعال MTS\n"
+"--غیرفعال : غیرفعال MTS\n"
+"--شروع : شروع MTS\n"
+"--ایست : ایست MTS\n"
+"--adduser : افزودن یک کاربر موجود به MTS (نام کاربر لازم است)\n"
+"--deluser : حذف یک کاربر موجود از MTS (نام کاربر لازم است)\n"
+"--addclient : افزودن یک ماشین کارگیر به MTS (احتیاج به MAC address, "
+"IP, nbi image name دارد)\n"
+"--delclient : حذف یک ماشین کارگیر از MTS (احتیاج به MAC address, IP, "
+"nbi image name دارد)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[صفحه‌کلید]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[گزینه‌ها]\n"
+"برنامه‌ی پایشگری و اتصال شبکه & اینترنت\n"
+"\n"
+"--واسط پیش‌فرض : این واسط را بوسیله پیش‌فرض نشان می‌دهد\n"
+"--اتصال : اتصال به اینترنت اگر قبلاً اتصالی وجود ندارد\n"
+"--قطع اتصال : قطع اتصال از اینترنت اگر قبلاً اتصال وجود دارد\n"
+"--اجبار : با استفاده از (قطع)اتصال : اجبار (قطع)اتصال.\n"
+"--وضعیت : اگر اتصال برقرار است ۱ وگرنه ۰ برگشت داده شده، سپس خارج "
+"شود.\n"
+"--ساکت : بدون تداخل با کاربر. با (قطع)اتصال استفاده شود."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[گزینه]...\n"
+" --بدون-تأیید اولین تایید در حالت بروزسازی مان‌درایک سوال "
+"نشود\n"
+" --بدون-تصدیق-rpm امضاهای بسته‌ها تصدیق نشوند\n"
+" --ثبت‌تغییرات-اول نمایش تغییر ثبت پیش از لیست پرونده در پنجره‌ی "
+"تشریحی \n"
+" --پیوست-همه-rpmnew تقاضا برای پیوست همه پرونده‌های .rpmnew/.rpmsave یافت "
+"شده"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [همه چیز]\n"
+" XFdrake [--noauto] نمایشگر\n"
+" XFdrake تفکیک‌پذیری"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"طرز استفاده: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "افزودن کارگزار"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "آفریقای جنوبی"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "اطریش"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "آفریقای جنوبی"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "اقیانوسیه"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "آفریقای جنوبی"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "هنگ‌ کنگ"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "فدراسیون روسیه"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "یوگوسلاوی"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "آیا این درست است؟"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "هیچ پرونده‌ای انتخاب نشده است"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "شما پرونده‌ای را انتخاب کرده‌اید، نه یک شاخه را"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "شما یک شاخه را انتخاب کرده‌اید، نه یک پرونده را"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "چنین شاخه‌ای نیست"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "چنین پرونده‌ای نیست"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "گستردن درخت"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "فرو ریختن درخت"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "تعویض بین ترتیب گروهی و ساده"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s نصب نشده است\n"
+"بر \"بعدی\" برای نصب کردن یا بر \"لغو\" برای لغو کردن کلیک کنید"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "نصب شکست خورد"
+
+#~ msgid "Icon"
+#~ msgstr "شمایل"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "تعداد میانگیرهای عکاسی:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "تعداد میانگیرهای عکس‌گیری برای mmap عکس‌گیری شده"
+
+#~ msgid "PLL setting:"
+#~ msgstr "تنظیم PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "پشتیبانی رادیو:"
+
+#~ msgid "enable radio support"
+#~ msgstr "بکار انداختن پشتیبانی رادیو"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/fi.po b/perl-install/share/po/fi.po
new file mode 100644
index 000000000..6460ed015
--- /dev/null
+++ b/perl-install/share/po/fi.po
@@ -0,0 +1,6949 @@
+# DrakX-fi - Finnish Translation
+#
+# Copyright (C) 2002,2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2002 Mandriva
+# Matias Griese <mahagr@utu.fi>, 2001.
+# Taisto Kuikka <69319@batman.jypoly.fi>, 2003,2004.
+# Esa Linna <denzo@mbnet.fi>, 2004.
+# Thomas Backlund <tmb@mandrake.org>, 2002, 2003, 2004, 2005.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fi - LE2005 Release\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-04-03 20:59+0300\n"
+"Last-Translator: Thomas Backlund <tmb@mandrake.org>\n"
+"Language-Team: Finnish <fi@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Odota hetki"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Käyttöjärjestelmän lataajan asennus käynnissä"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO haluaa määrittää uuden Volyymi IDn asemalle %s. Huomaa, että\n"
+"muutettu Volyymi ID on vakava virhe Windows NT, 2000 tai XP\n"
+"käynnistylevylle.\n"
+"Tämä huomautus ei koske Windows 95 tai 98, tai NT Datalevyille.\n"
+"\n"
+"Määritetäänkö uusi Volyymi ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Käynnistyslataajan asennus epäonnistui. Seuraava virhe tapahtui:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Sinun pitää ehkä muuttaa Open Firmware -käynnistyslaitetta\n"
+"aktivoidaksesi käynnistyslataajan. Jos et näe käynnistyslataajaa\n"
+"käynnistäessäsi konettasi uudelleen, Paina Command-Option-O-F\n"
+"käynnistyksen yhteydessä ja kirjoita:\n"
+"setenv boot-device %s,\\\\:tbxi\n"
+"kirjoita sitten: shut-down\n"
+"Seuraavalla käynnistyskerralla sinun pitäisi nähdä käynnistyslataajan\n"
+"komentokehote."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Päätit asentaa käynnistyslataajan osiolle.\n"
+"Tämä viittaa siihen että sinulla on jo käynnistyslataaja\n"
+"käynnistyskiintolevylläsi (esim. System Commander).\n"
+"\n"
+"Mikä on sinun käynnistyskiintolevysi?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Levyn ensimmäinen sektori (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Ensimmäinen sektori juuriosiolla"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Levykkeellä"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Ohita"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub asennus"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Minne haluat asentaa käyttöjärjestelmän lataajan?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Käynnistystavan asetukset"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Käyttöjärjestelmän lataajan pääasetukset"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Käynnistyslataaja"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Käytettävä käynnistyslataaja"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Käynnistyslaite"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Viive ennen oletusjärjestelmän käynnistystä"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Ota ACPI käyttöön"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Ota ACPI käyttöön"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Ota ACPI käyttöön"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Salasana"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Salasanat poikkeavat toisistaan"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Yritä uudelleen"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Et voi käyttää salattua tiedostojärjestelmää liitospisteelle %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Salasana (uudelleen)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Rajoita komentorivioptioita"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "rajoita"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Asetus ``Rajoita komentorivioptioita'' ei ole hyödyllinen ilman salasanaa"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Tyhjennä /tmp jokaisella käynnistyskerralla"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Tarkka muistin koko, jos tarpeen (löydettiin %d Mt)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Anna muistin koko megatavuina (Mt)"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Käynnistysviesti"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Vapaa Firmware -viive"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Ytimen käynnistysviive"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Mahdollista CD-käynnistys?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Mahdollista OF-käynnistys?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Oletuskäyttöjärjestelmä?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Kuva"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Juuri"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Lisää"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Näyttötila"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Verkkoprofiili"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Nimike"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Oletus"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Ei näyttöä"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tyhjää nimikettä ei sallita"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Sinun täytyy määritellä ydin"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Sinun täytyy määritellä juuriosio"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Nimike on jo käytössä"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Minkä tyyppisen tietueen haluat lisätä?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Muu käyttöjärjestelmä (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Muu käyttöjärjestelmä (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Muu käyttöjärjestelmä (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Tässä ovat tämänhetkiset käynnistysvalikon tietueet.\n"
+"Voit lisätä uusia tai muuttaa olemassa olevia."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "oikeudet X-ohjelmiin"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "oikeudet RPM-työkaluihin"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "salli \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "oikeudet ylläpidollisiin tiedostoihin"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "oikeudet verkkotyökaluihin"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "oikeudet ohjelmointityökaluihin"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(lisätty jo: %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Anna käyttäjätunnus"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Käyttäjätunnus saa sisältää vain pieniä kirjaimia, numeroita, `-' ja `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Käyttäjätunnus on liian pitkä"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Käyttäjätunnus on jo lisätty"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Käyttäjä-ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Ryhmä-ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Valitsimen %s pitää olla luku!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Lisää käyttäjä"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Lisää käyttäjä\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Valmis"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Hyväksy käyttäjä"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Oikea nimi"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Käyttäjätunnus"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Komentotulkki"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automaattinen kirjautuminen"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Yksi käyttäjä voidaan asettaa kirjautumaan sisään automaattisesti "
+"tietokoneellesi."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Haluatko käyttää tätä ominaisuutta?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Valitse oletuskäyttäjä:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Valitse käytettävä ikkunointijärjestelmä:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Käyttöoikeussopimus"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Lopeta"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Julkaisutiedote"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Hyväksy"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Kieltäydy"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Valitse käytettävä kieli."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Kielivalinta"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux tukee useita kieliä. Valitse kielet jotka\n"
+"haluat asentaa. Ne ovat käytettävissä asennuksen jälkeen\n"
+"kun olet käynnistänyt koneesi uudelleen."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+# Asennuksen sivuvalikko
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Kaikki kielet"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Maa / alue"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Valitse maa jossa olet."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Tässä on koko lista käytettävissä olevista maista"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Muut maat"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Lisäasetukset"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Syöttömenetelmä:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ei mitään"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ei jaettu"
+
+# Asennuksen sivuvalikko
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Salli kaikille käyttäjille"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Mukautettu"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Haluatko sallia käyttäjien jakaa joitakin omia hakemistojaan?\n"
+"Sallimalla tämän käyttäjien tarvitsee vain painaa \"Jakaminen\"\n"
+"Konquerorissa tai Nautiluksessa\n"
+"\n"
+"\"Mukautettu\" sallii käyttäjäkohtaiset oikeudet.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: Unix-tiedostonjakojärjestelmä, jota Mac ja Windows tukevat huonosti."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: tiedostonjakojärjestelmä, jota käyttävät Windows, Mac OS X ja monet "
+"Linux-järjestelmät."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Voit jakaa sekä NFS:llä että Samballa. Valitse kumpaa haluat käyttää."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Käynnistä Userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Sulje"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Käyttäjäkohtainen jako käyttää ryhmää \"fileshare\".\n"
+"Voit käyttää Userdrakea lisätäksesi käyttäjiä tähän ryhmään."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Kirjaudu ulos ja käytä sen jälkeen Ctrl-Alt-Askelpalautin"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Sinun pitää kirjautua ulos ja takaisin sisään jotta muutokset tulevat "
+"voimaan."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Aikavyöhyke"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Mikä on järjestelmäsi aikavyöhyke?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Laitteistokello asetettu GMT-aikaan"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Laitteistokello asetettu GMT-aikaan"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-palvelin"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automaattinen kellon synkronointi (käyttäen NTP:tä)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Paikallinen tiedosto"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Älykortti"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows verkkoalue"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Aktiivihakemisto SFU:lla"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Aktiivihakemisto Winbind:llä"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Paikallinen tiedosto:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Käytä paikallista tunnistusta ja käyttäjien antamia paikallisia tietoja."
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Koneesi käyttää LDAP:a joihinkin tai kaikkiin tunnistuksiin. LDAP keskittää "
+"tietyntyyppiset tiedot organisaation sisällä."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Salli samaan Network Information Service -verkkoalueeseen kuuluvien "
+"tietokoneiden käyttää yhteistä salasana- ja ryhmätiedostoa."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-verkkoalue:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind sallii järjestelmän noutaa tiedot ja tunnistaa käyttäjät Windows-"
+"verkkoalueella."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Aktiivihakemisto SFU:lla:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Aktiivihakemisto Winbind:llä:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Tunnistus: LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP perus-dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-palvelin"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "yksinkertainen"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "turva-asetukset (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Tunnistus: Aktiivihakemisto"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Verkkoalue"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Palvelin"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP käyttäjätietokanta"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Käytä anonyymia BIND:a "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP käyttäjä saa selata Aktiivihakemistoa"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Käyttäjän salasana"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Tunnistus: NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-verkkoalue"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-palvelin"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Jotta tämä toimisi W2K PDC kanssa, sinun pitää todennäköisesti pyytää sen "
+"järjestelmävalvojaa suorittamaan: C:\\>net localgroup \"Pre-Windows 2000 "
+"Compatible Access\" everyone /add ja käynnistämään palvelin uudelleen.\n"
+"Tarvitset myös verkkoalueen ylläpitäjän tunnusta liittääksesi koneesi Windows"
+"(TM) verkkoalueeseen.\n"
+"Jos verkkoa ei ole vielä asetettu, DrakX yrittää liittyä verkkoalueeseen kun "
+"verkon asetusvaihe on tehty.\n"
+"Jos tämä asetus epäonnistuu jostain syystä ja verkkoalueen tunnistus ei "
+"toimi, suorita: 'smbpasswd -j VERKKOALUE -U KÄYTTÄJÄ%%SALASANA' käyttäen "
+"Windows verkkoaluetta ja verkkoalueen ylläpitäjän tunnusta/salasanaa "
+"käynnistyksen jälkeen.\n"
+"Komento 'wbinfo -t' tarkistaa jos tunnistuksen salaisuudet ovat kunnossa."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Tunnistus: Windows verkkoalue"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Verkkoalueen pääkäyttäjän nimi"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Verkkoalueen pääkäyttäjän salasana"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Tunnistustapa"
+
+# Asennuksen sivuvalikko
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Aseta ylläpitäjän (\"root\") salasana"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Tunnistustapa"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Ei salasanaa"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Salasana on liian yksinkertainen (sen tulee olla ainakin %d merkkiä pitkä)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "En voi käyttää kuulutusta ilman NIS-verkkoaluetta"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Tervetuloa kayttojarjestelman valitsijaan!\n"
+"\n"
+"Valitse kayttojarjestelma ylla olevasta listasta tai\n"
+"odota oletuskaynnistysta.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO tekstipohjaisella valikolla"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "ei tarpeeksi tilaa hakemistossa /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Et voi asentaa käyttöjärjestelmän lataajaa osioon %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Käynnistyslataajasi asetukset pitää päivittää koska levyosiot on "
+"uudelleennumeroitu"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Käynnistyslataajaa ei voida asentaa oikein. Sinun täytyy käynnistää rescue-"
+"tilaan ja valita \"%s\""
+
+# Asennuksen sivuvalikko
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Asenna käynnistyslataaja uudelleen"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "kt"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "kt"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Mt"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Gt"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "Tt"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuuttia"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuutti"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekuntia"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV on protokolla, joka sallii sinun liittää WWW-palvelimen hakemiston\n"
+"paikallisesti, ja käyttää sitä paikallisena tiedostojärjestelmänä (olettaen\n"
+"että WWW-palvelimeen on asennettu WebDAV-tuki). Jos haluat lisätä WebDAV\n"
+"-liitoskohdan, valitse \"Uusi\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Uusi"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Irrota"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Liitä"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Liitospiste"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Optiot"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Virhe"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Anna WebDAV palvelimen osoite (URL)"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Osoitteen tulee alkaa etuliitteellä 'http://' tai 'https://'"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Palvelin: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Liitospiste: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Optiot: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Osiointi"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lue tarkkaan!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Luo ensin varmuuskopio tiedoistasi"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Poistu"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Jatka"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Jos aiot käyttää aboot:a, varmista että jätät vapaata tilaa levyn alkuun\n"
+"(2048 sektoria on tarpeeksi)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Ohje"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Valitse toiminto"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Sinulla on yksi suuri Microsoft Windows osio.\n"
+"Ehdotan että muutat ensimmäiseksi osion kokoa\n"
+"(klikkaa osiota ja valitse sitten \"Muuta kokoa\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Klikkaa osiota"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Yksityiskohdat"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Yhtään kiintolevyä ei löytynyt"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Tuntematon"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journaloitu FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Sivutus"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows "
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Muut"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tyhjä"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tiedostojärjestelmien tyypit:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Varoitus"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Tämän osion kokoa ei voi muuttaa"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Käytä ensin komentoa ``Irrota''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Käytä sen sijaan ``%s'':ää"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tyyppi"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Valitse toinen osio"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Valitse osio"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Peruuta"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Vaihda vakiotilaan"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Vaihda asiantuntijatilaan"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Vahvistaminen"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Jatka joka tapauksessa?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Lopeta tallentamatta"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Lopeta kirjoittamatta osiotaulua?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Haluatko tallentaa muutokset tiedostoon /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Sinun tulee käynnistää järjestelmä uudelleen jotta muutokset tulevat voimaan"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Sinun pitäisi alustaa osio %s.\n"
+"Muuten tietuetta liitoskohdalle %s ei kirjoiteta fstab:iin.\n"
+"Lopeta kummiskin?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Tyhjennä kaikki"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automaattinen varaus"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Lisää"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Kiintolevyn tiedot"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Kaikki primääriosiot käytetty"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Uusia osioita ei voida lisätä"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Voidaksesi luoda lisää osioita tuhoa yksi olemassa oleva osio jotta voisit "
+"luoda laajennetun osion"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Ei Supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount mutta ei CDROM asemille"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Tallenna osiotaulu"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Palauta osiotaulu"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Pelasta osiotaulu"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Uudelleenlataa osiotaulu"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Vaihdettavan median automaattinen liittäminen"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Valitse tiedosto"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Osiotaulun varmuuskopio ei ole saman kokoinen\n"
+"Jatketaanko silti?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Yritetään pelastaa osiotaulu"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Yksityiskohtaiset tiedot"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Uusi koko"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Alusta"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Lisää RAIDiin"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Lisää LVM:iin"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Poista"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Poista RAID:sta"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Poista LVM:stä"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Muokkaa RAID:a"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Käytä loopback-tiedostoa"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Luo"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Luo uusi osio"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Aloitussektori: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Koko Mt: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tiedostojärjestelmä: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Ominaisuus: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Loogisen taltion nimi "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Et voi luoda uutta osiota.\n"
+"(koska sinulla on jo maksimimäärä primääriosioita käytössä).\n"
+"Poista ensin yksi primääriosio, ja luo laajennettu osio sen tilalle."
+
+# mat
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Poista loopback-tiedosto?"
+
+# mat
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Vaihdettuasi osion %s tyyppiä kaikki siinä olevat tiedot häviävät"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Muuta osiotyyppiä"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Minkä tiedostojärjestelmän haluat?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Vaihdetaan ext2:sta ext3:een"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Nimike"
+
+# mat
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Minne haluat liittää loopback-tiedoston %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Minne haluat liittää laitteen %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Liitospistettä ei voida poistaa koska osiota käytetään loopback-tilassa.\n"
+"Poista loopback-tiedosto ensin."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Minne haluat liittää laitteen %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Muutetaan kokoa"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Lasketaan FAT-tiedostojärjestelmän rajoja"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Tämän osion kokoa ei voi muuttaa"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Kaikki osion tiedot tulisi varmuuskopioida"
+
+# mat
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Osion %s koon muuttamisen jälkeen kaikki osion tiedot tuhoutuvat"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Valitse uusi koko"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Uusi koko (Mt): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Tietojen yhtenäisyyden varmistamiseksi osio(ide)n koon\n"
+"muuttamisen jälkeen suoritetaan tiedostojärjestelmän\n"
+"tarkistus seuraavan kerran kun käynnistät Windowsin(TM)."
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Valitse olemassa oleva RAID johon lisätään"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "uusi"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Valitse olemassa oleva LVM johon lisätään"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM:n nimi?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Osiota ei voida käyttää loopback-osiona"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback tiedostonimi: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Anna tiedostonimi"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Tiedosto on jo toisen loopback:n käytössä, valitse toinen"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Tiedosto on jo olemassa. Käytetäänkö sitä?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Liitosoptiot"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Useita"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "laite"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "taso"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "lohkon koko kilotavuina"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Varoitus: tämä on vaarallinen toiminto"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Minkä tyyppinen osiointi?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Sinun täytyy käynnistää kone uudelleen ennen kuin muutos tulee voimaan"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Levyn %s osiotaulu kirjoitetaan levylle!"
+
+# mat
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Kaikki osiolla %s olevat tiedot häviävät osion alustuksen yhteydessä"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Tarkistetaanko vialliset lohkot?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Siirrä tiedostot uudelle osiolle"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Piilota tiedostot"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Siirretään tiedostoja uudelle osiolle"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopioidaan %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Poistetaan %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "osio %s tunnetaan nyt nimellä %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Osiot ovat uudellennumerotu: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Laite: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Osion nimi: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-asema: %s (vain arvaus)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tyyppi: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nimi: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Alkaa: sektori %s\n"
+
+# mat
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Koko: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektoria"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Sylinteristä %d sylinteriin %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Alustettu\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ei alustettu\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Liitetty\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback tiedosto(t):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Osiolta käynnistetään oletuksena\n"
+" (MS-DOS käynnistys, ei LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Taso %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Lohkon koko %d kt\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-levyt %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback-tiedoston nimi: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"On mahdollista, että tämä osio on\n"
+"ajuriosio. Sinun olisi kaiketi\n"
+"parasta jättää se rauhaan.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Tämä erityinen Bootsrap-osio\n"
+"on järjestelmäsi käynnistämiseksi\n"
+"eri käyttöjärjestelmiin.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Vain luku"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Koko: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Levyn tiedot: %s sylinteriä, %s lukupäätä, %s sektoria\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Tietoja: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-levyt %s\n"
+
+# mat
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Osion tyyppi: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "väylässä %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Tiedostojärjestelmän salausavain"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Valitse tiedostojärjestelmäsi salausavain"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Salausavain on liian yksinkertainen (sen pitää olla ainakin %d merkkiä pitkä)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Salausavaimet eivät täsmää"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Salausavain"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Salausavain (uudelleen)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "salausalgoritmi"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Muuta tyyppiä"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Peruuta"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ei voida kirjautua sisään käyttäjätunnuksella: %s (väärä salasana?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Verkkoaluetunnistus vaaditaan"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Mikä käyttäjätunnus"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Muu"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Anna tunnuksesi, salasanasi ja verkkoalue käyttääksesi tätä palvelinta."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Käyttäjätunnus"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Hae palvelimet"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Etsi uudet palvelimet"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Paketti %s pitää asentaa. Haluatko asentaa sen?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "%s pakettia ei voitu asentaa!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Pakollinen paketti %s puuttuu"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Seuraavat paketit pitää asentaa:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Asennetaan paketteja..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Poistetaan paketteja..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"On tapahtunut virhe - ei löytynyt ainuttakaan laitetta, joille voi luoda "
+"uuden tiedostojärjestelmän. Tarkista laitteistosi korjataksesi ongelman"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Sinulla pitää olla FAT-osio liitettynä hakemistoon /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Alustetaan osiota %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Luodaan ja alustetaan tiedostoa %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "en osaa alustaa %s tyyppiä %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s alustus %s epäonnistui"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Sisäkkäiset liitokset %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Liitetään osiota %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "osion %s liittäminen hakemistoon %s epäonnistui"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Tarkistetaan %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "virhe irrotettaessa %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Otetaan käyttöön sivutusosiota %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Et voi käyttää salattua tiedostojärjestelmää liitospisteelle %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Älä päivitä inoodien käyttöaikaa tässä tiedostojärjestelmässä\n"
+"(esim. nopeampaan uutisspoolin käyttöön nopeuttamaan uutispalvelimia)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Voidaan liittää vain erikseen määritettynä\n"
+"(esim. -a valitsin ei liitä tiedostojärjestelmää)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Älä tulkitse merkki- tai lohkolaitteita tiedostojärjestelmässä."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Älä salli minkään binääritiedoston suoritusta tiedosto-\n"
+"järjestelmässä. Tämä optio saattaa olla hyödyllinen\n"
+"palvelimelle jonka tiedostojärjestelmässä on binäärejä\n"
+"muille kuin omalle arkkitehtuurille."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Älä salli aseta-käyttäjätunniste tai aseta-ryhmätunniste\n"
+"bittien vaikutusta. (Tämä vaikuttaa turvalliselta mutta on\n"
+"itse asiassa melko turvaton mikäli sinulla on suidperl(1)\n"
+"asennettuna.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Liitä tiedostojärjestelmä vain luku -tilassa."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Kaikki luku/kirjoitustoiminnot tehdään synkronoidusti."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Salli kirjoitusoikeus tavallisille käyttäjille"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Salli vain luku -oikeus tavallisille käyttäjille"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Kahdentunut liitospiste %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "ei vapaita osioita"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Tarkistetaan osioita liitospisteiden löytämiseksi"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Valitse liitospisteet"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Valitse alustettavat osiot"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Tiedostojärjestelmän %s tarkistus epäonnistui. Haluatko korjata virheet?\n"
+"(huomioi: voit menettää tietoja)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Sivutustilaa ei ole riittävästi, suurenna sitä"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Sinulla tulee olla juuriosio.\n"
+"Tätä varten luo osio (tai klikkaa olemassa olevaa).\n"
+"Valitse sitten toiminto ``Liitospiste'' ja aseta se arvoon `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Sinulla ei ole sivutusosiota\n"
+"\n"
+"Jatka kuitenkin?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Käytä tyhjää tilaa"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ei tarpeeksi tilaa uusien osioiden luomiseksi"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Käytä olemassa olevia osioita"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Ei ole olemassa olevaa osiota käytettäväksi"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Käytä Microsoft Windows®-osiota loopback-tiedostona"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Mille osiolle haluat laittaa Linux4Win:n?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Valitse koot"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Juuriosion koko Mt: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Sivutusosion koko Mt: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Ei ole FAT-osioita, jota voisi käyttää loopback-tiedostona (tai ei "
+"riittävästi vapaata tilaa)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Käytä tyhjää tilaa Windows-osiolla"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Minkä osion kokoa haluat muuttaa?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT-tiedostojärjestelmän koon muuttaja ei osaa käsitellä osiotasi,\n"
+"seuraava virhe tapahtui: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Lasken Microsoft Windows®-osion kokoa"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows®-osiosi on liian pirstoutunut, käynnistä koneesi "
+"uudelleen, mene Microsoft Windows®iin ja aja \"Levyn eheytys\" ensin, ja "
+"aloita Mandriva Linuxin asennus uudestaan sen jälkeen."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"VAROITUS!\n"
+"\n"
+"\n"
+"DrakX aikoo nyt muuttaa Windows-osiosi kokoa.\n"
+"\n"
+"\n"
+"Ole varovainen: tämä toimenpide on vaarallinen. Jos et ole vielä "
+"tarkistanut Windows-osioitasi, sinun tulisi poistua asennuksesta, ajaa "
+"kiintolevyjen tarkistus \"chkdsk c:\" Windowsissa komentokehotteessa (huomaa "
+"että graafisen \"scandisk\" ohjelman käyttö ei riitä), sekä mahdollisesti "
+"myös eheyttää levyt käyttäen defrag. Sen jälkeen voit aloittaa asennuksen "
+"uudelleen.Samalla suosittelemme ottamaan varmuuskopiot tärkeistä tiedoista.\n"
+"\n"
+"\n"
+"Kun olet varma, paina %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Seuraava"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kuinka paljon tilaa haluat säilyttää Microsoft Windows®ille osio %s?"
+
+# mat
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Koko"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Muutan Microsoft Windows®-osion kokoa"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT-tiedostojärjestelmän koon muuttaminen epäonnistui: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Ei ole FAT-osioita, joiden kokoa voisi muuttaa (tai ei riittävästi vapaata "
+"tilaa)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Poista Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Tyhjennä ja käytä koko levy"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Sinulla on enemmän kuin yksi kiintolevy. Mille haluat asentaa Linuxin?"
+
+# mat
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "KAIKKI olemassa olevat osiot ja niissä oleva tieto tuhoutuu levyltä %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Mukautettu levyn osiointi"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Käytä fdiskiä"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Voit nyt osioida kiintolevysi %s\n"
+"Kun olet valmis, älä unohda tallentaa asetuksia komennolla `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ei ole tarpeeksi tilaa asentamiseen"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX Osiointivelho löysi seuraavat ratkaisut:"
+
+# mat
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Osiointi epäonnistui: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Et voi käyttää JFS-tiedostojärjestelmää alle 16 Mt osioilla"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Et voi käyttää ReiserFS-tiedostojärjestelmää alle 32 Mt osioilla"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "erillinen '/usr' osio"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "palvelin"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Laitteen %s osiotaulua ei voida lukea. Se on liian vioittunut.\n"
+"Tästä voidaan yrittää jatkaa poistamalla kaikki virheelliset osiot\n"
+"(KAIKKI TIEDOT tuhotaan). Toinen vaihtoehto on, ettei DrakX:n anneta\n"
+"muokata osiotaulua.(virhe: %s)\n"
+"\n"
+"Poistetaanko kaikki virheelliset osiot?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Liitospisteiden pitää alkaa /-merkillä."
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Liitospisteet saavat sisältää vain kirjaimia ja numeroita"
+
+# mat
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "On jo olemassa osio, jonka liitospiste on %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Olet valinnut ohjelmallisen RAID-osion juuriosioksi (/).\n"
+"Mikään käynnistyslataaja ei osaa käsitellä tätä ilman /boot -osiota.\n"
+"Lisää /boot -osio, jos haluat käyttää LILO:a tai GRUB:a"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Et voi käyttää LVM loogista taltiota liitepisteelle %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Olet valinnut LVM-osion juuriosioksi (/).\n"
+"Mikään käynnistyslataaja ei osaa käsitellä tätä ilman /boot -osiota.\n"
+"Lisää /boot -osio, jos haluat käyttää LILO:a tai GRUB:a"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Tämän hakemiston pitäisi olla juuritiedostojärjestelmässä"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Tarvitset oikean tiedostojärjestelmän (ext2/ext3, ReiserFS, XFS tai JFS) "
+"tälle liitospisteelle.\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Et voi käyttää salattua tiedostojärjestelmää liitospisteelle %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Vapaa tila ei riitä automaattiseen varaukseen"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ei mitään tekemistä"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Levyke"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Levy"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Polttavat CD/DVD-asemat"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Nauha"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-ohjaimet"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Näytönohjain"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kortti"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Muu multimedialaite"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Äänikortti"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webbikamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prosessorit"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-sovittimet"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Verkkokortti"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modeemi"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-sovittimet"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Muisti"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Tulostin"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Peliohjain"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-ohjaimet"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-ohjaimet"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-ohjaimet"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kortin malli:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "FireWire-ohjaimet"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-ohjaimet"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-ohjaimet"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-ohjaimet"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-portit"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-ohjaimet"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Sillat ja järjestelmäohjaimet"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Näppäimistö"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Hiiri"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Kuvanlukija"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Tuntematon/Muut"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Odota hetki... Otetaan asetukset käyttöön"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Ei vaihtoehtoista ajuria"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Tunnettua vaihtoehtoista OSS/ALSA ajuria äänikortillesi (%s), joka tällä "
+"hetkellä käyttää \"%s\", ei ole"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Ääniasetukset"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Täällä voit valita vaihtoehtoisen ajurin (OSS tai ALSA) äänikortillesi (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Käytät tällä hetkellä ajuria %s\"%s\" (vakioajuri kortillesi on \"%s\")."
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System, eli avoin äänijärjestelmä) oli ensimmäinen ääni-"
+"API.\n"
+"Se on käyttöjärjestelmäriippumaton ääni-API (se on saatavilla useimmille\n"
+"unix-järjestelmille), mutta se aika perustasoa ja rajoitettu API.\n"
+"Sen lisäksi, OSS-ajureissa kaikki 'kehittävät pyörän uudelleen'.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture, eli Linuxin edistynyt\n"
+"äänijärjestelmä) on modulaarinen arkkitehtuuri, joka tukee suurta\n"
+"määrää ISA, USB ja PCI kortteja.\n"
+"\n"
+"Se tarjoaa myös paljon korkeamman tason API:n kuin OSS.\n"
+"\n"
+"Käyttääksesi ALSAa, voit käyttää yhtä näistä:\n"
+"- vanha OSS-yhteensopiva api.\n"
+"- uusi ALSA-api, joka tarjoaa useita parannettuja ominaisuuksia,\n"
+"mutta vaatii ALSA-kirjaston käyttöä.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Ajuri:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Vianetsintä"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Vanha \"%s\" ajuri on 'mustalla listalla'.\n"
+"\n"
+"Sen on raportoitu kaatavan ytimen kun sitä poistetaan käytöstä.\n"
+"\n"
+"Uusi \"%s\" ajuri otetaan käyttöön seuraavassa käynnistyksessä."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ei avoimen lähdekoodin ajuria"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Äänikortillesi (%s) ei löydy vapaata ajuria, mutta patenttisuojattu ajuri "
+"löytyy osoitteesta \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Ei tunnettua ajuria"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Ei tunnettua ajuria äänikortillesi (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Tuntematon ajuri"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Virhe: Ajuri \"%s\" äänikortillesi ei ole listattu"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Äänen vianetsintä"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klassinen tapa etsiä virheitä ääniasetuksissa on suorittaa \n"
+"seuraavat komennot:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" kertoo mitä ajuria äänikorttisi \n"
+"käyttää oletuksena.\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" kertoo mitä ajuria äänikorttisi\n"
+"käyttää tällä hetkellä.\n"
+"\n"
+"- \"/sbin/lsmod\" komennolla tarkistat onko äänikortin moduuli (ajuri)\n"
+"ladattu vai ei .\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" ja \"/sbin/chkconfig --list alsa\"\n"
+"kertoo sinulle jos ääni- ja ALSA-palvelut ovat asetettu toimimaan\n"
+"initlevel 3 -tasossa.\n"
+"\n"
+"- \"aumix -q\" kertoo onko ääni mykistetty vai ei.\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" kertoo mikä ohjelma käyttää äänikorttia.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Anna valita mikä ajuri tahansa"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Summittaisen ajurin valinta"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Jos todellakin uskot tietäväsi mikä ajuri on oikea äänikortillesi \n"
+"voit valita yhden yllä olevasta listasta.\n"
+"\n"
+"Nykyinen ajuri äänikortillesi \"%s\" on \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automaattinen tunnistaminen"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Tuntematon|Yleinen"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Tuntematon|CPH05X (bt878) [monta valmistajaa]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Tuntematon|CPH06X (bt878) [monta valmistajaa]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Useimmille nykyisille TV-korteille GNU/Linux ytimen bttv-moduuli tunnistaa "
+"automaattisesti oikeat parametrit.\n"
+"Jos korttisi on tunnistettu väärin, voit pakottaa oikean vastaanottimen sekä "
+"kortin tyypin täällä. Valitse TV-korttisi parametrit tarvittaessa."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kortin malli:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Vastaanottimen tyyppi:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Kyllä"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ei"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Valitse tiedosto"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Lisää"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Muokkaa"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Poista"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Valmis"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Edellinen"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Huono valinta, yritä uudelleen\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Valintasi? (oletus %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Kohdat, jotka sinun pitää täyttää:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Valintasi? (0/1, oletus '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Painike '%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Haluatko klikata tätä painiketta?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Valintasi? (oletus '%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " kirjoita 'void' jos haluat tyhjän tietueen"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> On monta asiaa, joista valita (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Valitse ensimmäinen numero 10-alueella, jota haluat muokata,\n"
+"tai paina vain Enter jatkaaksesi.\n"
+"Valintasi? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Huomaa, nimike vaihtui:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Lähetä uudelleen"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Arabiemiirikunnat"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua ja Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Alankomaiden Antillit"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktis"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentiina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikan Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Itävalta"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaidžan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia ja Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgia"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasilia"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahama"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet'n saari"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Valko-Venäjä"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kookossaaret"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Keski-Afrikan tasavalta"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Sveitsi"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cookinsaaret"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kiina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kap Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Joulusaari"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kypros"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tsekin tasavalta"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Saksa"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Tanska"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikaaninen tasavalta"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Viro"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypti"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Länsi-Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Espanja"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Suomi"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandinsaaret"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Färsaaret"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Ranska"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Iso-Britannia"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Ranskan Guayana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grönlanti"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Kreikka"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Etelä-Georgia ja Eteläiset Sandwichsaaret"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard ja McDonaldinsaaret"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Unkari"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanti"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Intia"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Brittiläinen Intian valtameren alue"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islanti"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japani"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodza"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komorit"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts ja Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Pohjois-)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Caymansaaret"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Liettua"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marocco"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshallinsaaret"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Pohjoiset Mariaanit"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Malediivit"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malesia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Uusi-Kaledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkinsaari"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Alankomaat"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norja"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Uusi-Seelanti"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Ranskan Polynesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Uusi-Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippiinit"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Puola"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre ja Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestiina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugali"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Venäjä"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Arabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomonsaaret"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellit"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Ruotsi"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard ja Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome ja Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syyria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swazimaa"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks ja Caicossaaret"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tsad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Ranskan eteläiset alueet"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thaimaa"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadzikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Itä-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkki"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad ja Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tansania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Yhdysvaltain pienet erillissaaret"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Yhdysvallat"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikaani"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent ja Grenadiinit"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Brittiläiset Neitsytsaaret"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Yhdysvaltain Neitsytsaaret"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis ja Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Etelä-Afrikka"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+# mat
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Tervetuloa %s:n"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Poista ensin loogiset osiot\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Johdanto\n"
+"\n"
+"\n"
+"HUOM!! Tämä on vapaasti suomennettu teksti Mandriva Linux -jakelun\n"
+"lisenssiehdoista. Alkuperäinen teksti löytyy tämän sivun lopusta.\n"
+"\n"
+"Käyttöjärjestelmään ja muihin Mandriva Linux jakelun eri osiin viitataan\n"
+"tästä eteenpäin nimellä \"Ohjelmisto\". Ohjelmisto sisältää, mutta ei "
+"rajoitu\n"
+"ainoastaan niihin, pakettien yhdistelmät, menetelmät, säännöt ja\n"
+"dokumentaation jotka kuuluvat käyttöjärjestelmään sekä Mandriva Linux\n"
+"-jakeluun kuuluvat komponentit.\n"
+"\n"
+"\n"
+"\n"
+"1. Käyttöoikeussopimus (\"Lisenssi\")\n"
+"\n"
+"\n"
+"Ole hyvä ja lue tämä dokumentti huolellisesti. Tämä dokumentti on Lisenssi-\n"
+"sopimus sinun ja Mandriva S.A.:n välillä ja koskee Ohjelmistoa.\n"
+"Asentamalla, kopioimalla tai käyttämällä Ohjelmistoa millä tavalla tahansa,\n"
+"annat nimenomaisen hyväksynnän ja suostut noudattamaan tämän Lisenssin\n"
+"sääntöjä ja ehtoja. Jos et suostu johonkin osaan tästä Lisenssistä,\n"
+"sinulla ei ole lupaa asentaa, kopioida tai käyttää tätä Ohjelmistoa. Mitään\n"
+"yritystä asentaa, kopioida tai käyttää Ohjelmistoa tavalla, joka ei ole "
+"tämän\n"
+"Lisenssin sääntöjen ja ehtojen mukainen, ei hyväksytä ja sen kaltaiset\n"
+"yritykset päättävät oikeutesi tämän Lisenssin alla välittömästi. Lisenssin\n"
+"päättyessä sinun pitää välittömästi tuhota kaikki Ohjelmiston kopiot.\n"
+"\n"
+"\n"
+"\n"
+"2. Rajoitettu Takuu\n"
+"\n"
+"\n"
+"Ohjelmisto ja sen mukana seuraavat dokumentaatiot tarjotaan sellaisenaan, "
+"ilman\n"
+"mitään takuita, voimassa olevan lain rajojen sisällä. Sikäli kuin takuuta "
+"ei\n"
+"voimassa olevan lain mukaan voi kiistää tai rajoittaa, Mandriva S.A. ei\n"
+"missään nimessä ole vastuussa erikoisista, odottamattomista, välittömistä "
+"tai\n"
+"välillisistä vahingoista (sisältäen ilman rajoituksia vahingot menetetystä\n"
+"työstä, työn keskeytyksestä, taloudellisesta tappiosta, laillisista\n"
+"kustannuksista ja sakoista johtuen tuomioistuimen päätöksestä, tai minkä\n"
+"tahansa muun merkittävän tappion takia) jotka syntyvät käytöstä tai\n"
+"kyvyttömyydestä käyttää Ohjelmistoa, vaikka Mandriva S.A.:lle olisi\n"
+" tiedotettu tällaisen vahingon mahdollisuuden tai tapahtuman "
+"olemassaolosta.\n"
+"\n"
+"\n"
+"RAJOITETTU VASTUU JOKA LIITTYY KIELLETTYJEN OHJELMIEN\n"
+"KÄYTTÖÖN TAI HALLUSSAPITOON JOISSAKIN MAISSA\n"
+"\n"
+"\n"
+"Sikäli kuin takuuta ei voimassa olevan lain mukaan voi kiistää tai "
+"rajoittaa,\n"
+"Mandriva S.A. tai sen jakelijat eivät missään nimessä ole vastuussa\n"
+"erikoisista, odottamattomista, välittömistä tai välillisistä vahingoista\n"
+"(sisältäen ilman rajoituksia vahingot menetetystä työstä, työn "
+"keskeytyksestä,\n"
+"taloudellisesta tappiosta, laillisista kustannuksista ja sakoista johtuen\n"
+"tuomioistuimen päätöksestä, tai minkä tahansa muun merkittävän tappion "
+"takia)\n"
+"jotka johtuvat ohjelmistokomponenttien hallussapidosta tai käytöstä tai\n"
+"jotka johtuvat ohjelmistokomponenttien lataamisesta joltakin Mandriva "
+"Linuxin\n"
+"sivustolta, jotka ovat kiellettyjä tai rajoitettuja joissakin maissa\n"
+"paikallisen lain voimalla.\n"
+"\n"
+"Tämä rajoitettu vastuu koskee, muttei rajoitu niihin, vahvaa salausta\n"
+"käyttäviä komponentteja jotka kuuluvat Ohjelmistoon.\n"
+"\n"
+"\n"
+"\n"
+"3. GPL Lisenssi ja samankaltaiset Lisenssit\n"
+"\n"
+"\n"
+"Ohjelmisto koostuu komponenteista, jotka ovat eri henkilöiden tai tahojen\n"
+"luomia. Suurimpaan osaan näistä komponenteista sovelletaan GNU General "
+"Public\n"
+"License (Yleinen Julkinen Lisenssi), tästä eteenpäin \"GPL\" tai muiden sen\n"
+"kaltaisten lisenssien ehtoja ja sääntöjä. Suurin osa näistä lisensseistä\n"
+"sallii sinun kopioida, sovittaa ja levittää eteenpäin komponentteja joita "
+"ne\n"
+"koskevat. Ole hyvä ja lue jokaisen komponentin lisenssin ehdot ja säännöt\n"
+"ennen kuin käytät sitä. Jokainen kysymys koskien komponentin lisenssiä "
+"tulisi\n"
+"ohjata komponentin tekijälle Mandrivain sijasta. Mandriva S.A.:n\n"
+"tekemiin ohjelmiin sovelletaan GPL-lisenssiä. Mandriva S.A.:n tekemiin\n"
+"dokumentaatioihin sovelletaan erillistä lisenssiä. Lue dokumentaatiota\n"
+"saadaksesi lisää tietoa.\n"
+"\n"
+"\n"
+"\n"
+"4. Älyllisten Omaisuuksien Oikeudet\n"
+"\n"
+"\n"
+"Kaikki oikeudet Ohjelmiston komponentteihin kuuluvat niiden tekijöille,\n"
+"ja ne ovat suojattuja älyllisten omaisuuksien- ja kopiointisuojalailla,\n"
+"jotka koskevat ohjelmistoja. Mandriva S.A. pidättää oikeuden muokata\n"
+"tai sovittaa Ohjelmistoa, joko kokonaan tai osittain, kaikilla tavoilla\n"
+"jokaiseen tarpeeseen.\n"
+"\"Mandriva\", \"Mandriva Linux\" ja kaikki niihin liittyvät logot ovat\n"
+"Mandriva S.A.:n rekisteröityjä tavaramerkkejä.\n"
+"\n"
+"\n"
+"\n"
+"5. Sovellettava laki.\n"
+"\n"
+"\n"
+"Jos ilmenee, että jokin osa tästä sopimuksesta on mitätön, laiton tai\n"
+"täytäntöönpanokelvoton, kyseinen osa poistetaan sopimuksesta. Sopimus "
+"säilyy\n"
+"muilta osin pätevänä ja täytäntöönpanokelpoisena ehtojensa mukaisesti. "
+"Tämän\n"
+"sopimuksen ehtoja ja sääntöjä sovelletaan Ranskan lain mukaan. Kaikki "
+"kiistat\n"
+"tämän Lisenssin ehdoista pyritään selvittämään tuomioistuimen ulkopuolella.\n"
+"Viimeisenä vaihtoehtona kiista luovutetaan soveltuvaan tuomioistuimeen\n"
+"ratkaistavaksi Pariisissa, Ranskassa.\n"
+"\n"
+"Jos teillä on kysymyksiä tästä sopimuksesta, olkaa hyvä ja ottakaa yhteyttä\n"
+"Mandriva S.A.:iin.\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"ALKUPERÄINEN ENGLANNINKIELINEN TEKSTI:\n"
+"\n"
+"\n"
+"\n"
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Varoitus: Vapaa Ohjelmisto ei välttämättä ole patenttivapaa, ja jotkin\n"
+"jakelussa olevat paketit saattavat olla patenttien alaisuudessa maassasi.\n"
+"Esimerkiksi mukana olevat MP3-purkajat voivat vaatia lisenssin jotta saat\n"
+"käyttää sitä jatkuvasti (katso http://www.mp3licensing.com saadaksesi\n"
+"lisätietoa). Jos olet epävarma siitä, koskeeko jokin patentti sinua,\n"
+"selvitä asiaa paikallisten viranomaisten kanssa.\n"
+"\n"
+"\n"
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Varoitus\n"
+"\n"
+"Lue huolellisesti alla olevat ehdot. Jos et hyväksy kaikkia\n"
+"ehtoja, sinulla ei ole oikeuksia asentaa seuraavaa CD-levyä.\n"
+"Paina 'Kieltäydyn' jos haluat jatkaa asennusta käyttämättä näitä osia.\n"
+"\n"
+"\n"
+"Jotkin seuraavalla CD-levyllä olevat komponentit eivät ole GPL:n tai\n"
+"vastaavanlaisen lisenssin alaisia. Jokaisen tällaisen komponentin ehdot\n"
+"on määritelty erikseen niiden omien lisenssien mukaan. Tutustu näihin\n"
+"lisensseihin huolellisesti ennen kuin käytät tai levität näitä "
+"komponentteja\n"
+"eteenpäin.\n"
+"Tällaiset lisenssit kieltävät tavallisesti siirtämisen, kopioimisen\n"
+"(lukuunottamatta varmuuskopioita), uudelleenlevityksen, "
+"käänteissuunnittelun \n"
+"binäärikoodin kääntämisen tai muokkaamisen. Jokainen rike sopimusta \n"
+"vastaan päättää oikeutesi kyseiseen lisenssiin. Ellei ole olemassa "
+"erityisiä \n"
+"ehtoja, jotka sallivat ohjelmiston asentamisen useaan koneeseen tai \n"
+"niiden käyttämistä verkon yli, et saa myöskään tehdä niin. Jos et ole \n"
+"varma kaikista ehdoista, ota yhteys suoraan kyseisen komponentin \n"
+"tekijään tai jakelijaan. Yllä mainittujen komponenttien tai niiden \n"
+"dokumentaation saattaminen kolmannen osapuolen käsiin on tavallisesti \n"
+"kielletty.\n"
+"\n"
+"\n"
+"Kaikki oikeudet seuraavan levyn komponentteihin kuuluvat niiden \n"
+"asianomaisille tekijöille ja ne on suojattu yksityisen omaisuuden ja \n"
+"ohjelmistojen tekijänoikeuslakien mukaan.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Onnittelut, asennus on valmis.\n"
+"Poista käynnistyslevyke ja paina Enter käynnistääksesi koneesi uudelleen.\n"
+"\n"
+"\n"
+"Löydät tähän Mandriva Linuxin versioon saatavilla olevat korjaukset ja\n"
+"korjattujen virheiden listan osoitteesta:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Järjestelmän asettamisesta saat tietoja virallisen Mandriva Linuxin\n"
+"käyttäjäoppaan jälkiasennuskappaleesta."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "UPS ajurin asetukset"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Moduulien asetukset"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Voit määrittää moduulin jokaisen parametrin täällä."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Löydetty %s liitäntää"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Onko sinulla muita?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Onko koneessa liitäntää %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Katso laitteistotietoja"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Asennetaan ajuria USB ohjaimelle"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Asennetaan ajuria firewireohjaimelle %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Asennetaan ajuria kovalevyohjaimelle %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Asennetaan ajuria verkkoohjaimelle %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Asennetaan ajuria %s ohjaimelle %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Voit nyt määrittää moduulin %s optiot.\n"
+"Huomaa että osoite täytyy määrittää '0x' etuliitteellä, esim. 0x123."
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Voit antaa lisäasetuksia moduulille %s.\n"
+"Asetukset ovat muotoa ``nimi=arvo nimi2=arvo2 ...''.\n"
+"Esimerkiksi, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Moduulin optiot:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Mitä %s ajuria kokeillaan?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Joissakin tapauksissa %s ajuri tarvitsee lisätietoja toimiakseen kunnolla,\n"
+"joskin tavallisesti se toimii hyvin ilmankin. Haluatko antaa ajurille\n"
+"lisämääreitä vai annatko sen itse etsiä tarvitsemansa tiedot? Joskus haku\n"
+"voi jumiuttaa tietokoneen, mutta sen ei pitäisi aiheuttaa vahinkoa."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automaattitunnistus"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Lisäasetukset"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Moduulin %s lataaminen epäonnistui.\n"
+"Haluatko yrittää muilla asetuksilla?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "liittäminen epäonnistui: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Laajennettua osiotyyppiä ei tueta tässä ympäristössä"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Sinulla on reikä osiotaulussasi eikä sitä voida käyttää.\n"
+"Ainoa ratkaisu on siirtää primääriosioita siten että reikä on ennen "
+"laajennettuja osioita"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Virhe lukiessa tiedostoa %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Palautus tiedostosta %s epäonnistui: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Huono varmuuskopiotiedosto"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Virhe kirjoitettaessa tiedostoon %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Jotakin kamalaa on tapahtunut kiintolevyllesi.\n"
+"Tiedon oikeellisuuden tarkistus epäonnistui.\n"
+"Tämä tarkoittaa että kaikki asemalle kirjoitettu\n"
+"tieto muuttuu tunnistamattomaksi."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ei voitu lisätä osiota _alustetulle_ RAID:lle %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ei riittävästi osioita RAID tasolle %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Hakemistoa /usr/share/sane/firmware ei voitu luoda!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Linkkiä /usr/share/sane/%s ei voitu luoda!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Firmware-tiedostoa %s ei voitu kopioida kohteeseen /usr/share/sane/firmware"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Firmware-tiedoston %s oikeuksia ei voitu asettaa!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Kuvanlukijasi jakamiseen tarvittavia paketteja ei voitu asentaa."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Kuvanlukijasi ei ole käytettävissä muille kuin pääkäyttäjälle."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Hyväksy / Hylkää virheelliset IPv4 virheviestit."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Hyväksy / Hylkää kuulutetut icmp echo viestit."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Hyväksy / Hylkää icmp echo viestit."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Salli / Estä automaattinen sisäänkirjautuminen."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Jos \"KAIKKI\" asetettu, salli /etc/issue ja /etc/issue.net olemassaolo.\n"
+"\n"
+"Jos \"EI\" asetettu, kumpaakaan ei sallita.\n"
+"\n"
+"Muutoin sallitaan ainoastaan/etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Salli / Estä 'reboot' konsolin käyttäjille."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Salli / Estä root sisäänkirjautuminen etäyhteyksiltä."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Salli / Estä root sisäänkirjautuminen paikallisesti."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Salli / Estä järjestelmän käyttäjien listaus näytönhallinnassa (kdm ja gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Salli/Kiellä näytön edelleenohjaus\n"
+"kun siirrytään root-tilistä muihin käyttäjiin.\n"
+"\n"
+"Katso pam_xauth(8) saadaaksesi lisää tietoa."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Salli / Estä X-yhteydet:\n"
+"\n"
+"- KAIKKI (kaikki yhteydet sallitaan)\n"
+"\n"
+"- PAIKALLINEN (ainoastaan paikalliset yhteydet)\n"
+"\n"
+"- EI (ei yhteyttä)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Parametri määrää sallitaanko asiakkaiden yhdistää X-palvelimelle\n"
+"TCP-portissa 6000 vai ei."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Salli:\n"
+"\n"
+"- kaikki palvelut joita ohjataan tcp_wrappers:ien kautta (katso hosts.deny"
+"(5)) jos \"KAIKKI\",\n"
+"\n"
+"- vain paikalliset jos \"PAIKALLINEN\",\n"
+"\n"
+"- ei yhtään jos \"EI\". \n"
+"\n"
+"Salliaksesi tarvitsemasi palvelut, käytä /etc/hosts.allow (katso hosts.allow"
+"(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Jos SERVER_LEVEL (tai SECURE_LEVEL sen puuttuessa) on\n"
+"korkeampi kuin 3 (kolme) tiedostossa '/etc/security/msec/security.conf',\n"
+"luodaan symlinkin '/etc/security/msec/server' :istä \n"
+"'/etc/security/msec/server.<SERVER_LEVEL>'\n"
+"\n"
+"'chkconfig --add' käyttää '/etc/security/msec/server' päättääkseen jos\n"
+"palvelu pitää asettaa vai ei asennuksen aikana."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Ota käyttöön / poista käytöstä crontab ja at käyttäjille.\n"
+"\n"
+"Laita hyväksytyt käyttäjät tiedostoihin '/etc/cron.allow' ja '/etc/at."
+"allow'.\n"
+"(katso man at(1) ja crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Ota käyttöön / poista käytöstä syslog:n raportin ohjaus konsoliin 12."
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Ota käyttöön / poista käytöstä nimiselvityksen spoofing suojaus.\n"
+"Jos \"%s\" on tosi, raportoidaan myös syslog:iin."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Tietoturvahälytykset:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Ota käyttöön / poista käytöstä IP spoofing suojaus."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Ota käyttöön / poista käytöstä libsafe jos se löytyy järjestelmästä."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+"Ota käyttöön / poista käytöstä epätavallisten IPv4 pakettien kirjaaminen "
+"lokiin."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+"Ota käyttöön / poista käytöstä msec turvallisuustarkistukset joka tunti."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Salli 'su' vain 'wheel' ryhmään kuuluville jäsenille, tai salli komento "
+"kaikille."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Käytä salasanoja käyttäjien tunnistamiseen."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Ota käyttöön / poista käytöstä verkkokorttien 'promiscuous' tarkistus."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Ota käyttöön / poista käytöstä päivittäiset turvallisuustarkistukset."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Ota käyttöön / Poista käytöstä sulogin(8) yhden käyttäjän tasossa."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Lisää nimi jota msec:n salasanojen vanheneminen ei koske."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Asettaa salasanojen vanhenemisen \"max\" päivään ja viiveen vaihtamiselle "
+"\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Aseta salasanojen historian pituus estääksesi salasanojen käyttämistä "
+"uudelleen."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Aseta salasanojen vähimmäispituus sekä vähimmäismäärä numeroita ja isoja "
+"kirjaimia."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Aseta root umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "jos asetettu, tarkistetaan avoimet portit."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"jos asetettu, tarkistetaan:\n"
+"\n"
+"- tyhjät salasanat,\n"
+"\n"
+"- salasanan puuttuminen tiedostossa /etc/shadow\n"
+"\n"
+"- muut käyttäjät kuin root joiden id on 0."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"jos asetettu, tarkistetaan tiedostojen oikeudet käyttäjien kotihakemistossa."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"jos asetettu, tarkistetaan ovatko verkkolaitteet 'promiscuous' tilassa."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "jos asetettu, suoritetaan päivittäiset turvallisuustarkistukset."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "jos asetettu, tarkistetaan 'sgid' tiedostojen lisäykset/poistamiset."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "jos asetettu, tarkistetaan tyhjät salasanat tiedostossa /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "jos asetettu, tarkistetaan 'suid/sgid' tiedostojen tarkistussumma."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"jos 'kyllä', tarkistetaan 'suid root' tiedostojen lisäämiset/poistamiset."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "jos asetettu, raportoidaan omistamattomat tiedostot."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"jos asetettu, tarkistetaan sallivatko tiedostot/hakemistot kirjoituksen "
+"kaikille."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "jos asetettu, suoritetaan chkrootkit tarkistuksia."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "jos asetettu, lähetä raportit tähän osoitteeseen, muuten root saa ne."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "jos asetettu, raportoi tarkistuksen tulos sähköpostitse."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Älä lähetä viestiä jos ei ole varoituksia."
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "jos asetettu, suoritetaan tarkistuksia rpm-tietokannassa."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "jos asetettu, raportoidaan tarkistuksen tulokset syslog:iin."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "jos asetettu, raportoi tarkistuksen tulokset näytölle."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Asettaa komentotulkin historian koon. Arvo -1 tarkoittaa rajoittamatonta."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Asettaa komentotulkin aikaviiveen. Arvo 0 (nolla) poistaa aikaviiveen."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Aikaviiveen yksikkö on sekunti"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Aseta käyttäjän umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Hyväksy virheelliset IPv4 virheviestit"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Hyväksy kuulutetut icmp echo viestit"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Salli icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* on olemassa"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Uudelleenkäynnistys konsolikäyttäjällä"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Salli root sisäänkirjautuminen etäyhteyksiltä."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Suora root-sisäänkirjautuminen"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Näytä lista järjestelmän käyttäjistä näytönhallinnassa (kdm ja gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+"Käytä näytön edelleenlähetys kun siirrytään root-tilistä muihin käyttäjiin."
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Salli X Window -yhteydet"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Valtuuta TCP-yhteydet X Windowille"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Valtuuta kaikki palvelut, joita tcp_wrappers valvoo"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig tottelee msec:n sääntöjä"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Salli \"crontab\" ja \"at\" käyttäjille"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Järjestelmäloki konsoliin 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Koneen nimen huijaussuojaus"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Ota käyttöön IP spoofing suojaus."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Ota käyttöön libsafe jos se löytyy järjestelmästä."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Ota käyttöön epätavallisten IPv4 pakettien kirjaaminen lokiin"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Ota käyttöön msec turvallisuustarkistukset joka tunti."
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Salli 'su' vain 'wheel' ryhmään kuuluville jäsenille, tai salli komento "
+"kaikille"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Käytä salasanoja käyttäjien tunnistamiseen."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Verkkokorttien 'promiscuous' tarkistus"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Päivittäiset turvallisuustarkistukset"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) yhden käyttäjän tasossa."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Salasana ei vanhene"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Aseta salasanan vanheneminen ja tilin käyttämättömyysviive"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Salasanahistorian pituus"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Salasanan vähimmäispituus sekä numeroiden ja isojen kirjainten lukumäärä"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Pääkäyttäjän umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Komentotulkin historian koko"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Komentotulkin aikaviive"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Käyttäjän umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Tarkista avoimet portit"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Tarkista turvattomat tilit"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Tarkista tiedostojen oikeudet käyttäjien kotihakemistossa."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Tarkista ovatko verkkolaitteet 'promiscuous' tilassa."
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Suorita päivittäiset turvallisuustarkistukset"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Tarkista 'sgid' tiedostojen lisäämiset/poistamiset"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Tarkista tyhjät salasanat tiedostossa /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Tarkistetaan 'suid/sgid' tiedostojen tarkistussumma."
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Tarkista 'suid root' tiedostojen lisäykset/poistamiset."
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Raportoi omistamattomat tiedostot"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Tarkistetaan sallivatko tiedostot/hakemistot kirjoituksen kaikille."
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Suorita chkrootkit tarkistuksia"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Jos asetettu, raportit lähetetään tähän osoitteeseen, muuten root saa ne."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Raportoi tarkistuksen tulos sähköpostitse."
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Suorita tarkistuksia rpm-tietokannassa"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Raportoi tarkistuksien tulokset järjestelmälokiin"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Raportoi tarkistuksen tulokset näytölle"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Tervetuloa murtautujat"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Huono"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Vakio"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Korkea"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Korkeampi"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Vainoharhainen"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Tätä tasoa tulee käyttää varoen. Se tekee järjestelmästäsi helpomman "
+"käyttää,\n"
+"mutta hyvin herkän: sitä ei tule käyttää koneessa joka on kytketty muihin "
+"koneisiin\n"
+"tai Internetiin. Koneessa ei ole salasanoja."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Salasanat ovat nyt käytössä, mutta koneen käyttö verkossa ei ole suositeltua."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Tämä on vakio turvataso, jota suositellaan tietokoneelle, jota käytetään\n"
+"Internetissä asiakaskoneena."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Joitakin rajoituksia on voimassa ja enemmän automaattisia tarkistuksia "
+"suoritetaan joka yö."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Tällä turvatasolla tämän järjestelmän käyttö palvelimena on mahdollista.\n"
+"Turvallisuustaso on riittävän korkea, jotta järjestelmää voi käyttää "
+"palvelimena,\n"
+"joka hyväksyy monia yhteyksiä asiakaskoneilta. Huomaa: Jos koneesi on\n"
+"ainoastaan asiakaskone Internetissä, sinun kannattaisi valita alhaisempi "
+"turvataso."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Pohjautuu edelliseen tasoon, mutta järjestelmä on kokonaan suljettu.\n"
+"Turvallisuusasetukset ovat tiukimmillaan."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Tietoturva"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DracSec perusoptiot"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Valitse haluttu turvataso"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Turvataso"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Käytä libsafea palvelimille"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Kirjasto, joka suojelee puskurin ylivuoto- ja\n"
+"merkkijonon muotovirhehyökkäyksiä vastaan."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Tietoturvan ylläpitäjä (tunnus tai sähköposti)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Käynnistä ALSA (Advanced Linux Sound Architecture) äänijärjestelmä"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron on ajoitettujen komentojen ajastaja."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd:ta käytetään valvomaan akkujen tilaa ja raportoimaan siitä syslogin\n"
+"kautta. apmd:a voidaan myös käyttää sulkemaan kone akkujen ollessa tyhjiä."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Ajaa komentoja määrätyillä ajanhetkillä, jotka on määritelty at-komennolla.\n"
+"Ajaa myös eräajoja, kun järjestelmän kuormitus on riittävän matala."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron on UNIX:n perusohjelma joka ajaa määriteltyjä ohjelmia määrätyillä\n"
+"ajanhetkillä. vixie cron lisää monia ominaisuuksia verrattuna normaaliin\n"
+"UNIX:n cron ohjelmaan, kuten paremman turvallisuuden ja laajemmat asetukset."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM on tiedostonvalvontademoni. Sitä käytetään raportoimaan tiedostojen\n"
+"muuttuminen. Sitä käyttävät GNOME ja KDE."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM lisää hiirituen tekstipohjaisiin Linux-sovelluksiin kuten\n"
+"Midnight Commanderiin. GPM mahdollistaa myös leikkaa/liimaa\n"
+"toiminnot hiirellä ja sisältää tuen valikoille konsolissa."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake etsii uutta laitteistoa ja tarvittaessa\n"
+"asettaa uuden/muuttuneen laitteiston."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache on WWW-palvelin. Palvelinta käytetään jakamaan HTML-\n"
+"tiedostoja ja ajamaan CGI-ohjelmia."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet pääpalvelindemoni (yleensä inetd) käynnistää useita eri\n"
+"Internetpalveluita, kuten telnet, ftp, rsh ja rlogin tarpeen mukaan.\n"
+"Inetd:n poistaminen poistaa myös nämä palvelut käytöstä."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Käynnistä pakettisuodatin Linux-ytimen 2.2-sarjalle, jos haluat\n"
+"pystyttää palomuurin suojaamaan konettasi verkkohyökkäyksiltä."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Paketti lataa valitun näppäinkartan /etc/sysconfig/keyboard\n"
+"tiedoston asetusten mukaisesti. Asetukset voidaan valita kbdconfig\n"
+"työkalulla. Tämä tulisi ottaa käyttöön lähes kaikissa järjestelmissä."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automaattinen ytimen otsikkotiedoston korjaus /boot-hakemistossa\n"
+"tiedostoille /usr/include/linux/{autoconf,versio}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+"Automaattinen uuden laitteiston havaitseminen\n"
+"ja asettaminen koneen käynnistyksen yhteydessä."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf järjestää joskus aikaa erilaisten tehtävien hoitamiseen\n"
+"käynnistyksen aikana pitääkseen yllä järjestelmän asetuksia."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd on tulostuspalvelin, jonka lpr ohjelma vaatii toimiakseen.\n"
+"lpd on palvelin joka jakaa tulostustöitä tulostimille."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, jonka avulla voidaan rakentaa\n"
+"tehokas korkean käytettävyyden palvelin."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) on nimipalvelin (DNS) jota käytetään\n"
+"muunnettaessa koneiden verkkonimiä IP-osoitteiksi."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Liittää ja irrottaa NFS (Network File System),\n"
+"SMB (Lan Manager/Windows) ja NCP (NetWare) liitospisteet"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivoi/Poistaa kaikki verkkoliitännät jotka on asetettu\n"
+"käynnistymään koneen käynnistyksen yhteydessä."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS on yleinen protokolla tiedostojen jakoon TCP/IP-\n"
+"verkoissa. Tämä palvelu mahdollistaa NFS-palvelimen\n"
+"käynnistyksen, jakoa ohjataan tiedostosta /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS on yleinen protokolla tiedostojen jakoon TCP/IP-\n"
+"verkoissa. Tämä palvelu mahdollistaa NSF-tiedostolukot."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Asettaa käynnistyksessä numlock-tilan päälle\n"
+"sekä konsolille että Xorg:lle."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Tuki OKI 4w -yhteensopiville Windows-tulostimille."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA tukea käytetään yleensä kannettavissa ethernet- ja modeemi-\n"
+"korttien tukemiseen. Palvelu ei käynnisty ellei sitä ole asetettu,\n"
+"joten sen voi asentaa myös koneisiin jotka eivät sitä tarvitse."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper hallitsee RPC-yhteyksiä, joita käyttävät esimerkiksi\n"
+"NFS ja NIS-protokollat. Portmap-palvelin on oltava käynnissä\n"
+"järjestelmissä jotka haluavat tarjota näitä protokollia."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix on sähköpostin siirtoagentti eli ohjelma,\n"
+"joka välittää postia koneelta toiselle."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Tallentaa ja palauttaa järjestelmän satunnaislukualtaan,\n"
+"mikä parantaa satunnaislukujen laatua."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Määrää raakalaitteet lohkolaitteiksi (kuten kiintolevyn osiot)\n"
+"tietyn tyyppisten sovellusten, kuten Oracle tai DVD-soitin, käyttöön"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed-palvelin mahdollistaa automaattiset IP-reititystaulun päivitykset\n"
+"RIP-protokollalla. Vaikka RIP-protokolla on paljon käytetty pienissä\n"
+"verkoissa, monimutkaisemmat verkot vaativat parempia reititysprotokollia."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Rstat-protokolla mahdollistaa verkon käyttäjien hakea\n"
+"kyseisen verkon eri koneiden tilatietoja."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Rusers-protokolla antaa verkon käyttäjille mahdollisuuden\n"
+"tunnistaa, ketkä ovat kirjautuneina eri koneissa."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Rwho-protokollalla etäkäyttäjät voivat listata kaikki\n"
+"koneella olevat käyttäjät (vastaa fingeriä)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Käynnistä äänijärjestelmä tietokoneessasi"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog on tapa jolla monet palvelut kirjoittavat viestinsä talteen\n"
+"useisiin lokitiedostoihin. On järkevää käyttää syslog-ohjelmaa."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Lataa USB-laitteiden ajurit."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Käynnistää X-kirjasinpalvelimen (pakollinen, jos haluat ajaa Xorg:a)"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Tulostus"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Tiedostojen jako"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Järjestelmä"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Etähallinta"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Tietokantapalvelin"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Palvelut"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Valitse mitkä palvelut käynnistetään automaattisesti koneen käynnistyksen "
+"yhteydessä"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Palvelut: %d aktivoitu, %d rekisteröity"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "käynnissä"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "pysähtynyt"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Palvelut ja demonit"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Ei lisätietoja tästä\n"
+"palvelusta, valitan."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Tietoja"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Käynnistä tarvittaessa"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Käynnistyksen yhteydessä"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Käynnistä"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Pysäytä"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Tämä ohjelma on vapaa; voit levittää ja/tai muokata sitä Free\n"
+"Software Foundationin julkaiseman 'GNU General Public License'\n"
+"-lisenssin mukaisesti; joko lisenssin version 2 mukaisesti, tai\n"
+"(niin halutessasi) minkä tahansa uudemman version mukaisesti.\n"
+"\n"
+"Tämä ohjelma on julkaistu siinä toivossa, että se osoittautuisi\n"
+"hyödylliseksi, mutta ILMAN MINKÄÄNLAISTA TAKUUTA; ilman edes\n"
+"oletettua takuuta TUOTTEEN TOIMIVUUDESTA tai SOPIVUUDESTA \n"
+"TIETTYYN TEHTÄVÄÄN. Lisätietoja saat tutustumalla 'GNU General \n"
+"Public License' dokumentaatioon.\n"
+"\n"
+"Hakemasi ohjelman mukana kuuluu tulla kopio 'GNU General Public License'\n"
+"dokumentaatiosta; jos näin ei ole, kirjoita Free Software Foundation,\n"
+"Inc.:lle osoitteeseen 51 Franklin Street, Fifth Floor, Boston, MA 02110-"
+"1301\n"
+", USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Varmistus- ja palautussovellus\n"
+"\n"
+"--default : tallenna oletushakemistot.\n"
+"--debug : näytä kaikki debuggaus-viestit.\n"
+"--show-conf : varmistettavien tiedostojen tai hakemistojen "
+"listaus.\n"
+"--config-info : selitä asetustiedoston optiot (käyttäjille ilman "
+"X).\n"
+"--daemon : käytä demoni-asetukset. \n"
+"--help : näytä tämä viesti.\n"
+"--version : näytä versiotiedot.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"VALINNAT:\n"
+" --boot - aseta käynnistyslataaja\n"
+" --splash - aseta käynnistysteema\n"
+"Oletustila: tarjoutuu asettamaan automaattisen sisäänkirjautumisen"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIOT] [OHJELMAN_NIMI]\n"
+"\n"
+"OPTIOT:\n"
+" --help - tulosta tämä viesti.\n"
+" --report - ohjelman pitäisi olla yksi Mandriva Linuxin "
+"työkaluista\n"
+" --incident - ohjelman pitäisi olla yksi Mandriva Linuxin työkaluista"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"lisää verkkoliitäntä\" velho\n"
+" --del - \"poista verkkoliitäntä\" velho\n"
+" --skip-wizard - yhteyksien hallinta\n"
+" --internet - aseta Internet\n"
+" --wizard - kuten --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Kirjasinten tuonti- ja valvontasovellus\n"
+"\n"
+"OPTIOT:\n"
+"--windows_import : tuo kaikilta käytettävissä olevilta windows-osioilta.\n"
+"--xls_fonts : näytä kaikki olemassa olevat xls-kirjasimet\n"
+"--install : hyväksy mikä tahansa kirjasin ja hakemisto.\n"
+"--uninstall : poista mikä tahansa kirjasin tai kirjasinhakemisto.\n"
+"--replace : korvaa kaikki olemassa olevat kirjasimet.\n"
+"--application : 0 ei ohjelmistoa.\n"
+" : 1 kaikki olemassa olevat ohjelmistot tuettu.\n"
+" : ohjelmiston_nimi, eli so vastaa StarOfficea\n"
+" : ja gs vastaa GhostScriptiä."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIOT]...\n"
+"Mandriva Linux Terminal Server asetustyökalu\n"
+"--enable : ota MTS käyttöön.\n"
+"--disable : poista MTS käytöstä.\n"
+"--start : käynnistä MTS\n"
+"--stop : pysäytä MTS\n"
+"--adduser : lisää olemassa oleva käyttäjä MTS:lle (tunnus vaaditaan)\n"
+"--deluser : poista olemassa oleva käyttäjä MTS:lta (tunnus vaaditaan)\n"
+"--addclient : lisää asiakaskone MTS:lle (vaatii MAC osoitteen, IP, nbi "
+"kuvatiedoston nimen)\n"
+"--delclient : poista asiakaskone MTS:lta (vaatii MAC osoitteen, IP, nbi "
+"kuvatiedoston nimen)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[näppäimistö]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIOT]\n"
+"Verkko & Internet yhteys- ja seurantasovellus\n"
+"\n"
+"--defaultintf liitäntä : näytä tämä liitäntä oletuksena.\n"
+"--connect : avaa yhteyden Internetiin jos sitä ei ole.\n"
+"--disconnect : sulkee yhteyden Internetiin jos se on käytössä.\n"
+"--force : käytä (dis)connect:n kanssa: pakota yhteyden avaus/sulkeminen.\n"
+"--status : palauttaa 1 jos yhteys on avattu, muuten 0, ja poistuu.\n"
+"--quiet : ei-interaktiivinen tila. Käytetään (dis)connect:n kanssa."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTIO]...\n"
+" --no-confirmation älä pyydä varmistusta Mandriva Update tilassa.\n"
+" --no-verify-rpm älä tarkista pakettien allekirjoitusta\n"
+" --changelog-first näytä muutosloki ennen tiedostolistausta "
+"kuvausikkunassa\n"
+" --merge-all-rpmnew ehdota kaikkien .rpmnew/.rpmsave tiedostojen "
+"yhdistämistä"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] näyttö\n"
+" XFdrake tarkkuus"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Käyttö: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Lisää palvelin"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Yleiset"
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Etelä-Afrikka"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Itävalta"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Etelä-Afrikka"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oseania"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Etelä-Afrikka"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "HongKong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Venäjä"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Onko tämä oikein?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Tiedostoa ei valittu"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Olet valinnut tiedostoo, ei hakemistoa"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Olet valinnut hakemiston, eikä tiedostoa"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Hakemisto ei ole olemassa"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Ei tiedostoa"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Laajenna puu"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sulje puu"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Vaihda tasaisen ja ryhmäjärjestyksen välillä"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s ei ole asennettu\n"
+"Klikkaa \"Seuraava\" asentaaksesi tai \"Peruuta\" lopettaaksesi"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Asennus epäonnistui"
+
+#~ msgid "Icon"
+#~ msgstr "Kuvake"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Kaappauspuskurien määrä:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap-kaappauspuskurien määrä:"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL asetus:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radiotuki:"
+
+#~ msgid "enable radio support"
+#~ msgstr "ota radio-tuki käyttöön"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/fr.po b/perl-install/share/po/fr.po
new file mode 100644
index 000000000..647afdb1e
--- /dev/null
+++ b/perl-install/share/po/fr.po
@@ -0,0 +1,6960 @@
+# translation of DrakX-fr.po to Français
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006 Mandriva
+#
+# Veuillez ne pas mettre à jour ce fichier à moins d'être
+# certain tant de vos traductions que de votre grammaire et
+# de votre orthographe. Ces dernières sont trop souvent
+# approximatives. Elles nécessitent alors des relectures et
+# des corrections qui n'ont d'autre conséquence que de faire
+# perdre du temps à tout le monde (à vous si votre travail est
+# imparfait et aux relecteurs qui doivent rechercher puis corriger
+# vos éventuelles fautes).
+#
+# VEUILLEZ RESPECTER LA TYPOGRAPHIE FRANÇAISE !
+# Les majuscules doivent être accentuées si besoin est. Respectez
+# les espaces nécessaires pour la ponctuation (espace après la virgule et
+# le point, espace insécables avant les points d'interrogation,
+# d'exclamation, les deux-points et le point virgule, espace aussi après
+# le point virgule).
+# N'enlevez pas l'espace qui suit un signe de ponctuation en fin de
+# phrase; vous devez respecter la version originale. Dans ce type de
+# cas, il est extrèmement probable que le programme va afficher
+# quelque chose d'autre à la fin. En enlevant l'espace, vous allez
+# accoller deux mots.
+#
+# ESPACES INSÉCABLES
+# Vous devez utiliser un espace insécable (c'est un espace qui ne peut
+# pas servir de rupture à la ligne) avant le point d'exclamation, le
+# point d'interrogation, le deux-points, le point virgules, et pour les
+# "quantités", entre le nombre et l'unité abbrégée (par exemple "10 g").
+# L'espace normal en ISO et UTF8 est le caractere 0x20 tandis que l'espace
+# insécable est le caractère 0xA0. Sous Emacs en utilisant le po mode
+# livré avec gettext >= 0.10.40-4mdk vous pouvez voir celui-ci avec un
+# fond de couleur spécial. Sous Vi celui-ci est normalement affiché
+# précédé du caractère pipe "|". Pour le taper sous la plupart des
+# éditeurs, vous pouvez utiliser la touche "Compose" puis en tapant
+# deux espaces. Si vous n'avez pas de touche compose, vous pouvez
+# donner cette fonction à la touche "Windows" droite de votre clavier
+# avec la commande suivante :
+# xmodmap -e 'keycode 116 = Multi_key'
+#
+# Les guillemets françaises sont « et » et non ". La guillemet ouvrante
+# « est suivie d'un espace insécable et la guillemet fermante » est
+# précédée du même type d'espace. Pour le taper, vous pouvez utiliser
+# la combinaison Compose < <, et Compose > > (ou alt-z et alt-x).
+#
+# Enfin, traduisez INTELLIGEMMENT et non mot à mot. Certaines traductions
+# n'ont aucun sens en français.
+#
+# MOTS À ÉVITER
+# - application. Ce terme n'étant pas compris par le grand public, il est
+# préférable de le remplacer par le mot "programme".
+#
+# Nous vous remercions de votre compréhension.
+#
+#
+#
+# Stéphane Teletchéa, 2005.
+# David BAUDENS <baudens@mandriva.com>, 1999-2004.
+# David ODIN <odin@mandriva.com>, 2000.
+# Pablo Saratxaga <pablo@mandriva.com>, 2001, 2005.
+# KAtiOS <katios@nolabel.net>, 2001.
+# Guillaume Cottenceau <gc@mandriva.com>, 2001-2002.
+# Thierry Vignaud <tvignaud@mandriva.com>, 2001-2004.
+# Christophe Combelles <ccomb@free.fr>, 2002,2003.
+# Adrien REZER <monsieurdidi@free.fr>, 2003.
+# RICHARD Nicolas <richardnicolas22@yahoo.fr>, 2004.
+# Lecureuil Nicolas <n1c0l4s.l3@wanadoo.fr>, 2004.
+# Teletchéa <steletch@free.fr>, 2004, 2005.
+# Christophe Berthelé <cpjc@free.fr>, 2005, 2006, 2007.
+# Didier Hérisson <didier.herisson@angstrom.uu.se>, 2005.
+# Nicolas Lécureuil <neoclust@mandriva.org>, 2005.
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-fr\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-07 15:11+0100\n"
+"Last-Translator: Christophe Berthelé <cpjc@free.fr>\n"
+"Language-Team: Français <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2;plural=(n>1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Veuillez patienter"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installation du programme d'amorçage en cours"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO veut assigner un nouvel identifiant de volume au disque %s. Cependant, "
+"modifier l'identifiant de volume d'un disque de boot Windows NT, 2000 ou XP "
+"provoque une erreur fatale de Windows.\n"
+"Cet avertissement ne s'applique pas à Windows 95, ou 98 ou aux disques de "
+"données sous NT.\n"
+"\n"
+"Voulez-vous assigner un nouvel identifiant de volume ?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"L'installation du programme d'amorçage a échoué pour la raison suivante :"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Vous aurez peut-être besoin de changer le périphérique d'amorçage\n"
+"de l'OpenFirmware pour activer le programme d'amorçage. Si vous\n"
+"ne voyez pas apparaître l'invite du programme d'amorçage lorsque\n"
+"vous redémarrerez, appuyez sur Command-Option-O-F au démarrage et\n"
+"entrez :\n"
+"setenv boot-device %s,\\\\:tbxi\n"
+"Puis tapez : shut-down\n"
+"Au prochain démarrage vous devriez voir apparaître l'invite du\n"
+"programme d'amorçage."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Vous avez décidé d'installer le programme d'amorçage sur une partition.\n"
+"Cela implique que vous ayez déjà un programme d'amorçage sur le disque dur "
+"sur lequel le système démarre (exemple : System Commander).\n"
+"\n"
+"Quel est le disque de démarrage ?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Premier secteur du disque (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Premier secteur de la partition racine"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Sur disquette"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Passer"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Installation de LILO ou Grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Où désirez-vous installer le programme d'amorçage ?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configuration du style de démarrage"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Principales options du programme d'amorçage"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Programme d'amorçage"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Programme d'amorçage à utiliser"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Périphérique d'amorçage"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Options principales"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Délai avant l'activation du choix par défaut"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Activer l'ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Activer l'APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Activer l'APIC local"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Mot de passe"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Les mots de passe ne sont pas identiques"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Veuillez réessayer"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Vous pouvez utiliser un mot de passe avec %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Mot de passe (vérification)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Protéger par mot de passe les options"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "protection"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"L'option ``Restrict command line options'' est inutile sans mot de passe"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Vider le dossier /tmp à chaque démarrage"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+"Précisez la taille mémoire si nécessaire\n"
+"(%d Mo trouvés)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Indiquez la quantité de mémoire en Mo"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Message de démarrage"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Délai de l'Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Délai d'amorçage du noyau"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Autoriser le démarrage sur CD-ROM ?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Autoriser le démarrage sur l'OF ?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Système d'exploitation par défaut ?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Image"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Partition racine"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Options passées au noyau"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Options Xen passées au noyau"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mode vidéo"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Fichier RamDisk"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profil réseau"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Label"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Choix par défaut"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Un label vide n'est pas autorisé"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Vous devez spécifier l'image noyau désirée"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Vous devez spécifier une partition racine"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Ce label est déjà utilisé"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Quel type de système souhaitez-vous ajouter ?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Autres systèmes (SunOS, etc.)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Autres systèmes (MacOS, etc.)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Autres systèmes (Windows, etc.)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Voici les différentes entrées.\n"
+"Vous pouvez en ajouter de nouvelles ou modifier les entrées existantes."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "accès aux programmes graphiques"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "accès aux outils rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "autoriser « su »"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "accès aux fichiers d'administration"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "accès aux outils réseaux"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "accès aux outils de compilation"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "Utilisateur(s) existant(s) : %s"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Veuillez taper un nom d'utilisateur"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Le nom d'utilisateur ne peut contenir que des lettres minuscules,\n"
+"des nombres, ainsi que les caractères « - » et « _ »"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Ce nom d'utilisateur est trop long"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Ce nom d'utilisateur est déjà utilisé"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Id. utilisateur"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Groupe"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s doit être un nombre"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s doit être supérieur ou égal à 500. Accepter quand même?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Ajouter un utilisateur"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Créer un compte utilisateur\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Terminer"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Accepter"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nom et prénom"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Identifiant de connexion"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Interpréteur"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Connexion automatique"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"À la fin du démarrage, une session peut être ouverte automatiquement pour un "
+"utilisateur."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Utiliser cette fonctionnalité"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Choisissez l'utilisateur par défaut :"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Choisissez l'environnement graphique :"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licence"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Quitter"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Notes de version"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Accepter"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Refuser"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Choisissez la langue."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Choix de la langue"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux supporte de plusieurs langues.\n"
+"Choisissez les langues que vous souhaitez installer.\n"
+"Elles seront disponibles après l'installation du système."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Multilingue"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Compatibilité encodage ancien (non UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Toutes les langues"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Pays / Région"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Veuillez choisir votre pays."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Voici la liste complète des pays disponibles"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Autres Pays"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avancé"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Méthode d'entrée :"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Aucun"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Pas de partage"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Autoriser tous les utilisateurs"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personnalisé"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Souhaitez-vous permettre aux utilisateurs de partager certains sous-"
+"répertoires de leur dossier personnel (/home) ?\n"
+"De cette façon, les utilisateurs pourront simplement cliquer sur "
+"« Partager » dans Konqueror (kde) et Nautilus (gnome).\n"
+"\n"
+"« Personnalisée » permet d'autoriser le partage pour certains utilisateurs.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS : le système de partage de fichiers traditionnel d'UNIX, moins supporté "
+"sur les Mac et sous Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB : un système de partage de fichiers utilisé par Windows, Mac OS X et de "
+"nombreux systèmes Linux modernes."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Souhaitez-vous partager par NFS (protocole Unix) ou SMB (protocole Windows)."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Lancer Userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Fermer"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Pour autoriser un utilisateur à partager ses dossiers, vous devez ajouter "
+"cet utilisateur dans le groupe « fileshare ».\n"
+"Ceci peut se faire grâce au programme « Userdrake »."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+"Veuillez vous déconnecter puis presser simultanément les touches Ctrl-Alt-"
+"BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Vous devez vous déconnecter puis vous connecter à nouveau afin de prendre "
+"les changements en considération"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Fuseau horaire"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Quel est votre fuseau horaire ?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Réglages de la date, de l'heure et du fuseau horaire"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Quelle est l'heure correcte ?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (horloge système réglée sur le Temps Universel - UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (horloge système réglée sur l'heure locale)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Serveur NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Synchronisation automatique de l'horloge (via NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Fichier local"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Card"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Domaine Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory avec SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory avec Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Fichier local :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Utilise les données du système local pour toute l'authentification et la "
+"recherche des informations sur les utilisateurs"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP :"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Utilise LDAP pour tout ou partie de l'authentification. LDAP permet de "
+"centraliser certaines informations dans votre organisation."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS :"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Ceci vous permet de partager les mêmes fichiers password et group parmi un "
+"groupe d'ordinateurs dans le même domaine NIS (Network Information Service)."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Domaine Windows :"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind permet au système de retrouver les informations et d'authentifier "
+"les utilisateurs dans un domaine Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory avec SFU :"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Avec Kerberos et LDAP pour authentification dans un serveur Active Directory"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory avec Winbind :"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind permet au sytème d'authentifier les utilisateurs dans un serveur "
+"Windows Active Directory."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Authentification LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "Racine (dn) LDAP"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Serveur LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simple"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "infrastructure de sécurité (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Authentification Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domaine"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Serveur"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Base de données des utilisateurs LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Utilise BIND anonyme"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Utilisateur LDAP autorisé à parcourir l'Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Mot de passe de l'utilisateur"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Authentification NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Domaine NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Serveur NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Pour que cela fonctionne avec un Contrôleur Principal de Domaine (PDC) "
+"Windows 2000, vous devrez probablement demander à l'administrateur de "
+"lancer : C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone /add et de redémarrer le serveur.\n"
+"Vous aurez aussi besoin du nom utilisateur et du mot de passe d'un "
+"administrateur de domaine pour joindre la machine au domaine Windows™.\n"
+"Si le réseau n'est pas encore activé, le domaine sera joint après l'étape de "
+"configuration du réseau.\n"
+"Si cette étape échoue pour quelque raison que ce soit et que "
+"l'authentification de domaine ne fonctionne pas, lancez « smbpasswd -j "
+"DOMAINE -U UTILISATEUR%%MOTDEPASSE » en utilisant votre domaine Windows™, et "
+"vos nom d'administrateur et mot de passe, après le démarrage du système.\n"
+"La commande « wbinfo -t » permet de tester la validité de votre "
+"authentification."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Authentification au Domaine Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Authentification Active Directory"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nom d'administrateur de domaine"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Mot de passe d'administration de domaine"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Authentification"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Définissez le mot de passe root"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Méthode d'authentification"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Aucun"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Ce mot de passe est trop court (minimum %d caractères)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "On ne peut pas utiliser l'option broadcast sans domaine NIS"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Bienvenue dans le chargeur de systemes d'exploitation.\n"
+"\n"
+"Choisissez un systeme d'exploitation dans la liste ci-dessus\n"
+"ou attendez le demarrage par defaut.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO en mode texte"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB en mode graphique"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB en mode texte"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "il n'y a pas assez de place dans le dossier /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr ""
+"Vous ne pouvez pas installer le programme d'amorçage\n"
+"sur une partition %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"La configuration de votre programme d'amorçage doit être mise à jour car les "
+"partitions ont été renumérotées"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Le programme d'amorçage ne peut pas être installé. Vous devez démarrer le CD-"
+"ROM d'installation avec l'option « rescue » et choisir « %s »"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Réinstaller le programme d'amorçage"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "O"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "Ko"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Mo"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Go"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "To"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutes"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minute"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d secondes"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "commande %s manquante"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV est un protocole qui vous permet de monter localement un dossier\n"
+"de serveur web, et de le traiter comme un système de fichiers local (à "
+"condition\n"
+"que le serveur web soit configuré en serveur WebDAV). Si vous voulez "
+"ajouter\n"
+"des points de montage WebDAV choisissez « Nouveau »."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nouveau"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Démonter"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Monter"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Point de montage"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Options"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Erreur"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Entrez l'adresse du serveur WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "L'URL doit commencer par http:// ou https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Serveur : "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Point de montage : "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Options : %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partitionnement"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "MISE EN GARDE !"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+"Avant d'utiliser un logiciel de partitionnement de disques,\n"
+"il est prudent de faire une copie de sauvegarde de vos données !!"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Quitter"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continuer"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Si vous voulez utiliser « aboot », vous devez réserver\n"
+"un espace libre (d'au moins 2048 secteurs) au début du disque."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Aide"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Choisissez une action"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Votre disque possède une seule grande partition Windows.\n"
+"Vous devriez la réduire pour pouvoir créer d'autres partitions :\n"
+"cliquez sur la partition puis sur « Redimensionner »."
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Veuillez cliquer sur une partition"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Détails"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Aucun disque dur trouvé"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "SF journalisé"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Autre"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Vide"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Types des systèmes de fichiers :"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Attention"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Cette partition est déja vide"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Cliquez d'abord sur « Démonter »"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Utilisez plutôt « %s »"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Type"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Choisissez une autre partition"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Choisissez une partition"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "État précédent"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Passer en mode normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Passer en mode expert"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Confirmation"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Désirez-vous tout de même continuer ?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Quitter sans sauvegarder"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Désirez-vous réellement quitter sans écrire la table des partitions ?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Désirez-vous sauvegarder les modifications de /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Vous devez redémarrer pour que les modifications apportées à la\n"
+"table des partitions soient prises en compte"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Vous devriez formater la partition %s.\n"
+"Sinon aucune entrée pour le point de montage %s ne sera écrite dans la "
+"fstab.\n"
+"Quitter malgré tout ?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Supprimer toutes les partitions"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Partitionnement automatique"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Davantage"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informations sur les disques durs"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Toutes les partitions primaires sont utilisées"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Impossible d'ajouter une partition"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Pour pouvoir utiliser plus de partitions, vous devez d'abord en supprimer "
+"une pour la remplacer par une partition étendue."
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Montage manuel"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Montage automatique"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Montage automatique sauf pour les CD-ROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Sauvegarder la table des partitions..."
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Charger une table des partitions..."
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Deviner automatiquement la table des partitions"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Relire la table des partitions"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Auto-montage des périphériques amovibles"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Sélectionnez un fichier"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"La table des partitions contenue sur la sauvegarde\n"
+"n'a pas la même taille que le disque.\n"
+"Désirez-vous tout de même continuer ?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Tentative de lecture de l'organisation des partitions..."
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informations détaillées"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Redimensionner"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formater"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Ajouter au RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Ajouter au LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Supprimer"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Supprimer du RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Supprimer du LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifier le RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Utiliser pour le bouclage"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Créer"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Créer une nouvelle partition"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Secteur de début : "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Taille en Mo : "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Type du système de fichiers : "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Préférence : "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nom du volume logique"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Vous ne pouvez pas créer de nouvelle partition\n"
+"(vous avez atteint le nombre maximum de partitions primaires).\n"
+"Retirez d'abord une partition primaire et créez une partition étendue."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Supprimer le fichier de bouclage ?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Après avoir modifié le type de la partition %s, toutes les données\n"
+"présentes sur cette partition seront perdues."
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Changement du type de partition"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Quel système de fichiers désirez-vous utiliser ?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Passage de ext2 à ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Quel nom du volume ?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Label :"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Où désirez-vous monter le fichier de bouclage %s ?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Où désirez-vous monter la partition %s ?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Il est impossible de dé-sélectionner ce point de montage car il est\n"
+"utilisé pour du bouclage. Veuillez supprimer ce dernier d'abord."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Où désirez-vous monter %s ?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Redimensionnement"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Calcul des limites du système de fichiers FAT..."
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Cette partition ne peut pas être redimensionnée"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"Toutes les données présentes sur cette partition\n"
+"devraient avoir été sauvegardées."
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Après avoir redimensionné la partition %s, toutes les données présentes\n"
+"sur cette partition seront perdues"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Choisissez la nouvelle taille"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nouvelle taille en Mo : "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Taille minimale : %s Mo"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Taille maximale : %s Mo"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Afin d'assurer l'intégrité des données après le redimensionnement de(s) "
+"partition(s),\n"
+"une vérification du système de fichier sera réalisé au prochain démarrage de "
+"Windows™"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Choisissez un RAID existant"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "Nouveau"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Choisissez un LVM existant"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Nom LVM ?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Le volume physique %s est toujours utilisé.\n"
+"Voulez-vous déplacer les Physical Extents PE de ce volume vers d'autres "
+"volumes ?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Déplacement des d'unités d'allocation physiques"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Cette partition ne peut pas être utilisée pour du bouclage"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Bouclage"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nom du fichier de bouclage : "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Donnez un nom de fichier"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Ce fichier est déjà utilisé par un bouclage.\n"
+"Veuillez en choisir un autre."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Le fichier existe déjà. Faut-il l'utiliser ?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Options de montage"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Divers"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "périphérique"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "Niveau de RAID"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "taille de bloc en KiO"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Soyez prudent : cette opération est dangereuse."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Quel type de partitionnement ?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Vous devez redémarrer pour que les modifications soient prises en compte"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr ""
+"La table des partitions de %s va maintenant être écrite sur le disque !"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Après avoir formaté la partition %s, toutes les données présentes\n"
+"sur cette partition seront perdues."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Vérifier la présence de secteurs endommagés ?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Déplacer les fichiers sur la nouvelle partition"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Cacher les fichiers"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Le répertoire %s contient déjà des données\n"
+"(%s)\n"
+"\n"
+"Vous pouvez soit déplacer les fichiers vers la partition qui sera montée, "
+"soit les laisser où ils sont (ce qui aura pour effet des les cacher par le "
+"contenu de la partition montée)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Déplacement des fichiers sur la nouvelle partition..."
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Copie de %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Suppression de %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "la partition %s est maintenant connue comme %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Les partitions ont été renumérotées : "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Périphérique : "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Nom du volume : "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Lettre de lecteur DOS supposée : %s\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Type : "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nom : "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Début : secteur %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Taille : %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s secteurs"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cylindre %d à %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Nombre d'unités d'allocation logiques : %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatée\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Non formatée\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montée\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "Appartient au RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Fichier(s) de bouclage :\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partition d'amorçage par défaut\n"
+"(pour DOS/Windows, pas pour LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "RAID de niveau %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Taille de bloc %d KiO\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "disques RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nom du fichier de bouclage : %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Cette partition est probablement\n"
+"une partition de pilotes systèmes,\n"
+"vous ne devriez pas la toucher.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Cette partition d'amorçage (bootstrap)\n"
+"est nécessaire si vous avez plusieurs\n"
+"systèmes d'exploitation. \n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Espace libre sur %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Lecture seule"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Taille : %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Géométrie : %s cylindres, %s têtes, %s secteurs\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Information : "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "disques LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Table des partitions de type : %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "sur canal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Clé de chiffrement du système de fichiers"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Choisissez la clé de chiffrement du système de fichiers"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Cette clé de chiffrement est trop courte (minimum %d caractères)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Les clés de chiffrement ne correspondent pas"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Clé de chiffrement"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Clé de chiffrement (confirmation)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algorithme de cryptage"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Changer le type"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Annuler"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Impossible de se connecter avec le nom %s (mauvais mot de passe ?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domaine d'authentification nécessaire"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Quel nom d'utilisateur"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Un autre"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Veuillez entrer vos nom d'utilisateur, mot de passe et nom de domaine pour "
+"accéder à ce serveur."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nom d'utilisateur"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Rechercher les serveurs"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Rechercher les nouveaux serveurs"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Le paquetage %s doit être installé. Souhaitez-vous l'installer ?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Impossible d'installer le paquetage %s !"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Le paquetage %s, requis, est manquant"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Les paquetages suivants doivent être installés :\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installation des paquetages..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Suppression des paquetages ..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Une erreur est survenue : aucun périphérique valide n'a été trouvé pour\n"
+"créer de nouvelles partitions. Veuillez vérifier votre matériel."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Vous devez disposer d'une partition FAT montée en /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatage de la partition %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Création et formatage du fichier %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Impossible de formater %s au format %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "le formatage au format %s de %s a échoué"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Points de montages circulaires %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Montage de la partition %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "le montage de la partition %s dans le dossier %s a échoué"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Vérification de %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "Le démontage de %s a échoué : %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Activer la partition d'échange %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Utiliser un système de fichiers crypté"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Activer les quotas de groupes et imposer (facultativement) les limites"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ne pas mettre à jour l'heure d'accès aux inodes sur ce système de fichier\n"
+"(par exemple, afin d'avoir d'accélérer un serveur de nouvelles via un accès "
+"plus rapide aux à ces dernières)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Ne peut être monté qu'explicitement (ie.,\n"
+"l'option -a ne montera pas le système de fichier)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Ignorer les fichiers spéciaux de type caractère ou bloc sur le système de "
+"fichier."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"N'autorise pas l'exécution de binaires sur le système de fichiers\n"
+"monté. Cette option peut-être utile pour un serveur ayant des systèmes\n"
+"de fichiers contenant des binaires d'autres architectures que la sienne."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Empêche les bits SUID ou SGID d'être actifs. (Cela semble sûr, sauf si "
+"suidperl(1) est installé.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Monter le système de fichier en lecture seule."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Toutes les E/S sur ce système de fichier sont asynchrones."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+"Autoriser tous les utilisateurs à monter et démonter le système de fichier."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Permettre à un utilisateur ordinaire de monter le système de fichier."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Activer les quotas disque pour les utilisateurs et éventuellement renforcer "
+"les limites"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Support des attributs étendus par les utilisateurs"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Donner l'accès en écriture aux utilisateurs ordinaires"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Donner l'accès en lecture aux utilisateurs ordinaires"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Point de montage en double : %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Aucune partition disponible"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Examen des partitions afin d'identifier les points de montage"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Choisissez les points de montage"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Choisissez les partitions que vous voulez formater"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Erreur à la vérification du système de fichiers %s. Souhaitez-vous corriger "
+"les erreurs ? (attention, vous pouvez perdre des données)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"La partition d'échange (swap) est insuffisante pour achever l'installation, "
+"veuillez en ajouter."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Vous devez avoir une partition racine.\n"
+"Pour la définir, créez une partition (ou choisissez-en une déjà\n"
+"existante) puis cliquez sur « Point de montage » et choisissez « / »."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Vous n'avez pas de partition d'échange.\n"
+"\n"
+"Continer malgré tout ?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Utiliser l'espace disponible"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Pas assez d'espace libre pour créer de nouvelles partitions"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Utiliser les partitions existantes"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Il n'y a pas de partition existante à utiliser"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Utiliser la partition Microsoft Windows® pour le bouclage"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Quelle partition désirez-vous utiliser pour Linux4Win ?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Choisissez les tailles"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Taille de la partition racine en Mo : "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Taille de la partition d'échange en Mo : "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Il n'y a aucune partition FAT à utiliser pour le bouclage (ou trop peu "
+"d'espace est disponible)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Utiliser l'espace libre sur la partition Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Quel partition souhaitez-vous redimensionner ?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Le programme de redimensionnement des partitions FAT ne peut gérer votre\n"
+"partition. L'erreur suivante est survenue : %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Caclul de la taille de la partition Microsoft Windows® en cours"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Votre partition FAT est trop fragmentée. Redémarrez sous Microsoft Windows®\n"
+"et lancez le programme de défragmentation « defrag »,\n"
+"puis relancez l'installation de Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ATTENTION !\n"
+"\n"
+"\n"
+"La taille de votre partition Windows va maintenant être réduite.\n"
+"\n"
+"\n"
+"Soyez prudent : cette opération est dangereuse. Si ce n'est pas déjà fait, "
+"vous devriez tout d'abord quitter l'installation, lancer « chkdsk c: » "
+"depuis la ligne de commande sous Windows (attention, le programme graphique "
+"« scandisk » n'est pas suffisant, utilisez réellement « chkdsk » depuis la "
+"ligne de commande ! ), éventuellement exécutez defrag, puis recommencez "
+"l'installation. Vous devriez également sauvegarder vos données.\n"
+"\n"
+"\n"
+"Si vous êtes sûr de vous, cliquez sur %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Suivant"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Quelle taille désirez-vous allouer à Microsoft Windows® sur la partition %s ?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Taille"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Redimensionnement de la partition Microsoft Windows® en cours"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Erreur lors du redimensionnement de la partition FAT : %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Il n'y a aucune partition FAT à redimensionner (ou trop peu d'espace est "
+"disponible)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Enlever Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Effacer et utiliser le disque tout entier"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Vous possédez plus d'un disque dur.\n"
+"Sur lequel désirez-vous installer Linux ?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"TOUTES les partitions existantes et toutes les données présentes sur\n"
+"le disque %s seront perdues"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Partitionnement de disque personnalisé"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Utiliser fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Vous pouvez maintenant partitionner %s.\n"
+"\n"
+"Lorsque vous aurez terminé, n'oubliez pas d'enregistrer vos\n"
+"modifications en appuyant sur la touche « w »."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Pas de place disponible pour l'installation"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "L'assistant de partitionnement a trouvé les solutions suivantes :"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Échec du partitionage : %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Les partitions JFS doivent faire au moins 16 Mo."
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Les partitions ReiserFS doivent faire au moins 32 Mo."
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "avec /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "serveur"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "RAID logiciel sur BIOS detecté sur les disques %s. Faut-il l'activer ?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"La table des partitions du disque %s n'a pas pu être lue.\n"
+"Il est possible de réinitialiser les partitions endommagées (TOUTES LES\n"
+"DONNÉES seront perdues). Une autre solution consiste à ne pas autoriser\n"
+"le logiciel DrakX à modifier la table des partitions (l'erreur est %s)\n"
+"\n"
+"Êtes-vous d'accord pour perdre toutes les partitions de ce disque ?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Les points de montage doivent commencer par /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+"Les points de montage ne doivent contenir que des caractères alphanumériques"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Le point de montage %s est déjà utilisé\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Attention, vous avez choisi une partition RAID logiciel comme partition\n"
+"racine (/). Pour que votre système puisse démarrer, vous devez ajouter\n"
+"une partition non RAID, spécifique pour le dossier /boot."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Vous ne pouvez pas utiliser un volume logique LVM pour le point de montage %"
+"s car il est réparti sur plusieurs volumes physiques"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Attention, vous avez choisi un volume logique LVM comme partition racine "
+"(/).\n"
+"Le chargeur de démarrage ne peut pas gérer cette situation si le volume est "
+"réparti sur plusieurs volumes physiques.\n"
+"Vous devez d'abord créer une partition pour le dossier /boot."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Ce dossier doit rester dans la partition racine"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Vous avez besoin d'un vrai système de fichiers (ext2/ext3, reiserfs, xfs, ou "
+"jfs) pour ce point de montage\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Vous ne pouvez pas utiliser de système de fichiers crypté pour le point de "
+"montage %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Pas assez d'espace libre pour le partitionnement automatique"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Rien à faire"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Lecteur de disquette"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Lecteurs Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disques"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Graveurs CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bande"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Contrôleurs AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Carte vidéo"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Carte DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Carte TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Autres périphériques multimédia"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Carte son"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processeurs"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Cartes RNIS"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Périphériques audio USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Cartes radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Cartes réseau ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Cartes réseau WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Périphériques Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Carte ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Modems ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Mémoire"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Imprimante"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Contrôleurs joystick"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Contrôleurs SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Contrôleurs RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Contrôleurs (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Périphériques de stockage de masse USB"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Lecteurs de carte"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Contrôleurs Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Contrôleurs PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Contrôleurs SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Contrôleurs USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Ports USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Contrôleurs SMB"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Ponts et contrôleurs système"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Clavier"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablettes et écrans tactiles"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Souris"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Inconnus/Autres"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "processeur n°"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Veuillez patienter... Mise en place de la configuration"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Pas de pilote alternatif"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Il n'existe pas de pilote alternatif OSS ou ALSA connu pour votre carte son "
+"(%s) qui actuellement utilise « %s »"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Configuration du son"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Vous pouvez sélectionner ici un pilote alternatif (OSS ou ALSA) pour votre "
+"carte son (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Votre carte utilise actuellement le pilote %s « %s » (le pilote par défaut "
+"étant « %s »)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) fut la première API sonore. Elle est multi "
+"plateformes (disponible sur la majorité des systèmes UNIX™) mais est limitée "
+"et très basique.\n"
+"De ce fait, tous les pilotes OSS doivent réinventer la roue.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) est une architecture modulaire qui\n"
+"supporte un nombre impressionnant de cartes ISA, PCI et USB.\n"
+"\n"
+"Elle fournit également une API de plus haut niveau qu'OSS.\n"
+"\n"
+"Pour utiliser ALSA, il est possible d'utiliser :\n"
+"- la compatibilité avec l'ancienne API OSS\n"
+"- la nouvelle API ALSA qui fournit un grand nombre de possibilités avancées "
+"mais nécessite la bibliothèque ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Pilote :"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Résolution de problème"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"L'ancien pilote « %s » est sur liste noire.\n"
+"\n"
+"Plusieurs personnes ont rapporté des problèmes avec le noyau lors de son "
+"arrêt.\n"
+"\n"
+"Le nouveau pilote « %s » ne sera utilisé qu'au prochain démarrage."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Pas de pilote open-source"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Il n'existe pas de pilote libre pour votre carte son (%s), mais il en existe "
+"un propriétaire à « %s »."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Aucun pilote connu"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Il n'y a pas de pilote connu pour votre carte son (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Pilote inconnu"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+"Erreur : le pilote « %s » pour votre carte son n'est pas dans la liste."
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Résolution d'un problème de son"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Pour résoudre un problème de son,\n"
+"veuillez lancer les commandes suivantes dans une console :\n"
+"\n"
+"- « lspcidrake -v | fgrep AUDIO » vous indique quel pilote votre carte\n"
+" utilise par défaut\n"
+"\n"
+"- « grep sound-slot /etc/modprobe.conf » vous affiche quel pilote\n"
+"(module) est actuellement utilisé.\n"
+"\n"
+"- « /sbin/lsmod » vous permet de vérifier si ce module est chargé\n"
+"\n"
+"- « /sbin/chkconfig --list sound » et « /sbin/chkconfig --list alsa »\n"
+"vous diront si les services « sound » et « alsa » sont configurés pour\n"
+"être démarrés dès le niveau d'exécution 3 (init runlevel 3)\n"
+"\n"
+"- « aumix -q » vous permettra de voir si le volume sonore est coupé ou "
+"non...\n"
+"\n"
+"- « /sbin/fuser -v /dev/dsp » dénoncera quel programme est en train\n"
+"d'utiliser ou de bloquer la carte son.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Choix d'un pilote"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Choix arbitraire d'un pilote..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Si vous pensez vraiment savoir quel pilote est le bon pour votre carte\n"
+"vous pouvez en choisir un dans la liste ci-dessous.\n"
+"\n"
+"Le pilote actuel pour votre carte son « %s » est « %s »."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Auto-détecter"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Inconnu|Générique"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Inconnu|CPH05X (bt878) [nombreux vendeurs]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Inconnu|CPH06X (bt878) [nombreux vendeurs]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Pour la plupart des cartes TV récentes, le module bttv du noyau GNU/Linux "
+"auto-détecte tout seul les bons paramètres.\n"
+"Si votre carte est mal détectée, vous pouvez donner les types de tuner et de "
+"carte corrects ici. Vous n'avez qu'à sélectionner les paramètres nécessaires "
+"à votre carte TV si nécessaire."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Modèle de carte :"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Type de tuner :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Oui"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Non"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Choisissez un fichier"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Ajouter"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifier"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Enlever"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Terminer"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Précédent"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Choix erroné, veuillez recommencer\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Que choisissez-vous ? (%s par défaut) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Les champs que vous devrez remplir sont :\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Votre choix ? (0/1, défaut « %s »)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Bouton « %s » : %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Désirez-vous cliquer sur ce bouton ?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Que choisissez-vous ? (« %s » par défaut%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "Saisissez `void' pour une entrée vide"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Il y a beaucoup de choses à choisir (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Veuillez choisir le premier nombre du groupe de 10 que vous\n"
+"souhaitez modifier, ou appuyez juste sur <Entrée> pour continuer.\n"
+"Votre choix ? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Notez qu'un message a changé :\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Revalider"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorre"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Émirats Arabes Unis"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua-et-Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanie"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Arménie"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antilles néerlandaises"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarctique"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentine"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Américaine"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Autriche"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australie"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaïdjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnie Herzégovine"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbade"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgique"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarie"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahreïn"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Bénin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermudes"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Sultanat de Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivie"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brésil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhoutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Île Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bélarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Îles Cocos"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "République Centrafricaine"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suisse"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Côte d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Îles Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Cameroun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Chine"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombie"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbie-Monténégro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cap-Vert"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Île Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Chypre"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "République Tchèque"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Allemagne"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danemark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominique"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominique"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algérie"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Équateur"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonie"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Égypte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Occidental"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Érythrée"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Espagne"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Éthiopie"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlande"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Îles Malouinnes"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronésie"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Îles Féroé"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "France"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Royaume-Uni"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenade"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Géorgie"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guyane Française"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambie"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinée"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinée Équatoriale"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grèce"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Géorgie du Sud et Îles Sandwich du Sud"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinée-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Chine (Hong-Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Îles Heard et McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croatie"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haïti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hongrie"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonésie"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlande"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israël"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Inde"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territoire Britannique de l'océan Indien"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islande"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italie"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaïque"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanie"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japon"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirghizistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodge"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comores"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint-Kitts-et-Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corée du Nord"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corée"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Koweit"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Îles Caïman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Liban"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sainte-Lucie"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libéria"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituanie"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Lettonie"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libye"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroc"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "République de Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Îles Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macédoine"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Birmanie"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolie"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Îles Mariannes du Nord"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanie"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malte"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurice"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexique"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaisie"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibie"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nouvelle-Calédonie"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Île Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Pays-Bas"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvège"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Népal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Nioue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nouvelle-Zélande"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Pérou"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polynésie Française"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papouasie-Nouvelle-Guinée"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Philippines"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pologne"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint-Pierre-et-Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestine"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palaos (Les)"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion, île de la"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Roumanie"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russie"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabie Saoudite"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Îles Salomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Soudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Suède"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapour"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sainte-Hélène"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovénie"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Îles Svalbard et Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovaquie"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Saint-Marin"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Sénégal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalie"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tomé-et-Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syrie"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Îles Turques et Caïcos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tchad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Terres Australes Françaises"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thaïlande"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Oriental"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkménistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisie"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turquie"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinité-et-Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taïwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanie"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Ouganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Îles mineures des États-Unis d'Amérique"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "États-Unis"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Ouzbékistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatican"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint-Vincent-et-les-Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Îles Vierges (Britanniques)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Îles Vierges (US)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis et Futuna, îles"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Afrique du Sud"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambie"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Bienvenue sur %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Le déplacement des Physical Extents (PE) utilisés vers d'autres volumes a "
+"échoué"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Le volume physique %s est toujours utilisé"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Enlevez d'abord les volumes logiques\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"Le chargeur de démarrage ne peut pas gérer /boot réparti sur plusieurs "
+"volumes physiques"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introduction\n"
+"\n"
+"Le système d'exploitation et les divers composants disponibles dans la \n"
+"distribution Mandriva Linux sont ci-après dénommés les « Logiciels ».\n"
+"Les Logiciels comprennent notamment, mais de façon non limitative,\n"
+"l'ensemble des programmes, procédés, règles et documentations \n"
+"relatifs au système d'exploitation et aux divers composants de la \n"
+"distribution Mandriva Linux.\n"
+"\n"
+"\n"
+"1. Licence\n"
+"\n"
+"Veuillez lire attentivement le présent document. Ce document constitue \n"
+"un contrat de licence entre vous (personne physique ou personne morale) et \n"
+"Mandriva S.A. portant sur les Logiciels.\n"
+"Le fait d'installer, de reproduire ou d'utiliser les Logiciels de quelque \n"
+"manière que ce soit indique que vous reconnaissez avoir préalablement eu \n"
+"connaissance et que vous acceptez de vous conformer aux termes et "
+"conditions \n"
+"du présent contrat de licence. En cas de désaccord avec le présent "
+"document \n"
+"vous n'êtes pas autorisé à installer, reproduire et utiliser de quelque \n"
+"manière que ce soit ce produit.\n"
+"Le contrat de licence sera résilié automatiquement et sans préavis dans le \n"
+"cas où vous ne vous conformeriez pas aux dispositions du présent document. \n"
+"En cas de résiliation vous devrez immédiatement détruire tout exemplaire "
+"et \n"
+"toute copie de tous programmes et de toutes documentations qui constituent \n"
+"le système d'exploitation et les divers composants disponibles dans la \n"
+"distribution Mandriva Linux.\n"
+"\n"
+"\n"
+"2. Garantie et limitations de garantie\n"
+"\n"
+"Les Logiciels et la documentation qui les accompagne sont fournis en "
+"l'état \n"
+"et sans aucune garantie. Mandriva S.A. décline toute responsabilité \n"
+"découlant d'un dommage direct, spécial, indirect ou accessoire, de quelque \n"
+"nature que ce soit, en relation avec l'utilisation des Logiciels, "
+"notamment \n"
+"et de façon non limitative, tout dommage entraîné par les pertes de \n"
+"bénéfices, interruptions d'activité, pertes d'informations commerciales ou \n"
+"autres pertes pécuniaires, ainsi que des éventuelles condamnations et \n"
+"indemnités devant être versées par suite d'une décision de justice, et ce \n"
+"même si Mandriva S.A. a été informée de la survenue ou de \n"
+"l'éventualité de tels dommages.\n"
+"\n"
+"AVERTISSEMENT QUANT À LA DÉTENTION OU L'UTILISATION DE LOGICIELS \n"
+"PROHIBÉS DANS CERTAINS PAYS \n"
+"\n"
+"En aucun cas, ni Mandriva S.A. ni ses fournisseurs ne pourront être \n"
+"tenus responsables à raison d'un préjudice spécial, direct, indirect ou \n"
+"accessoire, de quelque nature que ce soit (notamment et de façon non \n"
+"limitative les pertes de bénéfices, interruptions d'activité, pertes \n"
+"d'informations commerciales ou autres pertes pécuniaires, ainsi que \n"
+"des éventuelles condamnations et indemnités devant être versées par suite \n"
+"d'une décision de justice) qui ferait suite à l'utilisation, la détention \n"
+"ou au simple téléchargement depuis l'un des sites de téléchargement de \n"
+"Mandriva Linux de logiciels prohibés par la législation à laquelle vous \n"
+"êtes soumis. Cet avertissement concerne notamment certains logiciels de \n"
+"cryptographie fournis avec les Logiciels.\n"
+"\n"
+"\n"
+"3. Licence GPL et autres licences\n"
+"\n"
+"Les Logiciels sont constitués de modules logiciels créés par diverses \n"
+"personnes (physiques ou morales). Nombre d'entre eux sont distribués sous \n"
+"les termes de la Licence Publique Générale GNU (ci-après dénommée « GPL »)\n"
+"ou d'autres licences similaires. La plupart de ces licences vous "
+"permettent \n"
+"de copier, d'adapter ou de redistribuer les modules logiciels qu'elles \n"
+"régissent. Veuillez lire et agréer les termes et conditions des licences \n"
+"accompagnant chacun d'entre eux avant de les utiliser. Toute question \n"
+"concernant la licence d'un Logiciel est à soumettre à l'auteur (ou à ses\n"
+"représentants) du Logiciel et non à Mandriva. \n"
+"Les programmes conçus par Mandriva sont régis par la licence GPL. \n"
+"La documentation rédigée par Mandriva fait l'objet d'une licence \n"
+"spécifique. Veuillez vous référez à la documentation pour obtenir plus \n"
+"de précisions.\n"
+"\n"
+"\n"
+"4. Propriété intellectuelle\n"
+"\n"
+"Tous les droits, titres et intérêts des différents Logiciels sont la \n"
+"propriété exclusive de leurs auteurs respectifs et sont protégés au titre \n"
+"des droits de propriété intellectuelle et de copyright applicables aux "
+"Logiciels.\n"
+"Les marques « Mandriva » et « Mandriva Linux » ainsi que les \n"
+"logotypes associés sont déposés par Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Dispositions diverses\n"
+"\n"
+"Si une disposition de ce contrat de licence devait être déclarée nulle, \n"
+"illégale ou inapplicable par un tribunal compétent, cette disposition sera \n"
+"exclue du présent contrat. Vous continuerez à être liés aux autres \n"
+"dispositions, qui recevront leurs pleins effets. Le contrat de licence \n"
+"est soumis à la Loi française. Toute contestation relative aux présentes \n"
+"dispositions sera réglée préalablement par voie amiable. A défaut d'accord\n"
+"avec Mandriva S.A., les tribunaux compétents de Paris seront saisis du \n"
+"litige. Pour toute question relative au présent document, veuillez \n"
+"contacter Mandriva S.A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Attention : les logiciels libres ne sont pas forcément exempts de licence "
+"et\n"
+"certains peuvent être couverts par des brevets dans votre pays. Par "
+"exemple,\n"
+"les décodeurs MP3 inclus peuvent nécessiter une licence pour un usage plus\n"
+"poussé (voyez http://www.mp3licensing.com pour plus de détails).\n"
+"En cas de doute sur l'applicabilité d'une licence, vérifiez les lois en "
+"vigueur\n"
+"dans votre pays."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Important\n"
+"\n"
+"Veuillez lire attentivement le présent document. En cas de désaccord \n"
+"avec l'un de ses termes vous n'êtes pas autorisé à installer les CD-ROM\n"
+"suivants. Dans ce cas, cliquez sur « Refuser » pour continuer \n"
+"l'installation sans ces médias.\n"
+"\n"
+"Certains composants logiciels contenus dans les prochains CD-ROM \n"
+"ne sont pas soumis aux licences GPL ou similaires permettant la copie, \n"
+"la modification ou la redistribution. Chacun de ces composants logiciels \n"
+"est distribué sous les termes et conditions d'un accord de licence qui \n"
+"lui est propre. Veuillez vous y référer et vous y soumettre avant de les \n"
+"installer ou de les redistribuer. Généralement, ces licences n'autorisent\n"
+"pas la copie (autre qu'à titre de sauvegarde), la redistribution, \n"
+"la décompilation, la désassemblage, l'ingénierie inverse ni la modification "
+"des\n"
+"Logiciels auxquels elles s'appliquent. Toute violation d'un des termes de la "
+"licence applicable entraîne généralement sa\n"
+"résiliation, sans préjudice de tous autres droits ou actions à votre "
+"encontre.\n"
+"À moins que l'accord de licence ne vous l'y autorise, vous ne pouvez pas \n"
+"installer ces Logiciels sur plus d'une machine ni adapter les Logiciels \n"
+"pour une utilisation en réseau. Le cas échéant, veuillez contacter le \n"
+"distributeur du programme pour acquérir des licences additionnelles.\n"
+"La distribution à des tiers de copies des Logiciels ou de la documentation\n"
+"qui les accompagne est généralement interdite.\n"
+"\n"
+"Tous les droits, titres et intérêt de ces Logiciels sont la propriété \n"
+"exclusive de leurs auteurs respectifs et sont protégés au titre des \n"
+"droits de propriété intellectuelle et de copyright applicables aux "
+"logiciels.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Félicitations, l'installation est terminée.\n"
+"Enlevez la disquette ou le CD-ROM d'amorçage et appuyez sur « Entrée ».\n"
+"\n"
+"\n"
+"Pour toutes informations sur les corrections disponibles pour cette version "
+"de Mandriva Linux, consultez les Errata disponibles depuis :\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Des informations sur la configuration de votre système sont \n"
+"disponibles dans le Guide de l'Utilisateur de Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Ce pilote n'a pas de paramètre de configuration !"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Configuration du module"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Vous pouvez configurer ici chaque paramètre du module."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Interface(s) détectée(s) : %s"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "En possédez-vous d'autres ?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Possédez-vous des interfaces %s ?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Voir les informations sur le matériel"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installation du pilote pour le contrôleur USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installation du pilote pour le contrôleur firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installation du pilote pour le contrôleur de disque dur %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installation du pilote pour la carte ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installation du pilote pour la carte %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Vous pouvez maintenant fournir des options au module %s.\n"
+"Veuillez noter que les adresses doivent être précédées de 0x, comme « 0x123 »"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Vous pouvez maintenant préciser les options du module %s.\n"
+"Les options sont de la forme « nom=valeur nom2=valeur2 ... ».\n"
+"Par exemple, « io=0x300 irq=7 »"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Options du module :"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Quel pilote %s faut-il essayer ?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Le pilote de matériel « %s » a parfois besoin d'options supplémentaires\n"
+"pour fonctionner de manière optimale.\n"
+"Vous pouvez lui fournir manuellement ces options,\n"
+"ou bien lui laisser les détecter automatiquement.\n"
+"(La détection peut dans certains cas bloquer l'ordinateur,\n"
+"mais sans lui causer de dommage.)"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Détection automatique"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Spécifier des options"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Le chargement du module %s a échoué.\n"
+"Désirez-vous réessayer avec d'autres paramètres ?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "Le montage a échoué : "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Les partitions étendues ne sont pas supportées par cette plateforme"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Il y a un espace vide dans la table des partitions mais il est\n"
+"inutilisable. La seule solution est de déplacer vos partitions primaires\n"
+"de telle façon que cet espace soit placé contre les partitions étendues."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erreur lors de la lecture du fichier %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Restauration impossible depuis le fichier %s : %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Mauvais fichier de sauvegarde"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Erreur d'écriture dans le fichier %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Votre disque dur semble avoir un problème matériel :\n"
+"un test pour vérifier son aptitude à conserver l'intégrité des données a "
+"échoué.\n"
+"Cela signifie que serez victime de pertes aléatoires de données."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Impossible d'ajouter une partition au RAID %s formaté"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Trop peu de partitions pour du RAID de niveau %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Impossible de créer le répertoire /usr/share/sane/firmware !"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Impossible de créer le répertoire /usr/share/sane/%s !"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Impossible de copier le fichier du firmware %s dans /usr/share/sane/"
+"firmware !"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Impossible d'initialiser les permissions du fichier firmware %s !"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Impossible d'installer les paquetages nécessaires au partage de vos scanners."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Vos scanners ne seront pas disponibles pour les utilisateurs non privilégiés."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Accepter/refuser les messages d'erreur IPv4 bogués."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Accepter/refuser l'écho ICMP émis par diffusion."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Accepter/refuser l'écho ICMP."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Activer/Désactiver la connexion automatique (autologin)."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Si TOUS est choisi, permet à /etc/issue et /etc/issue.net d'exister.\n"
+"\n"
+"Si AUCUN est choisi, aucun de ces fichiers est autorisé.\n"
+"\n"
+"Sinon seulement /etc/issue est permis."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+"Activer/Désactiver le redémarrage du système par l'utilisateur de la console."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Permettre la connexion distante en tant que root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Permettre/interdire la connexion directe en tant que root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Permettre/interdire la liste des utilisateurs du système sur les "
+"gestionnaires de connexion (kdm et gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Permettre/interdire d'exporter l'affichage lorsque l'on passe du\n"
+"compte superutilisateur (« root ») à un autre utilisateur.\n"
+"\n"
+"Cf pam_xauth(8) pour plus d'informations"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Permettre/interdire les connexions à Xorg :\n"
+"\n"
+"- TOUS (toutes connexions permises),\n"
+"\n"
+"- LOCAL (seulement les connexions locales),\n"
+"\n"
+"- AUCUN (aucune connexion)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"L'argument spécifie si les clients sont autorisés ou non à se connecter\n"
+"au serveur d'affichage (Xorg) sur le port tcp 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autoriser :\n"
+"\n"
+"- tous les services contrôlés par tcp_wrappers (voir hosts.deny(5)) si "
+"« TOUS »,\n"
+"\n"
+"- seulement ceux qui sont locaux si « LOCAL »\n"
+"\n"
+"- aucun si « AUCUN ».\n"
+"\n"
+"Pour autoriser les services dont vous avez besoin, utilisez\n"
+"/etc/hosts.allow (voir hosts.allow(5)."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Si SERVER_LEVEL (ou SECURE_LEVEL sinon) est supérieur à 3 dans\n"
+"/etc/security/msec/security.conf, créer le lien symbolique\n"
+"/etc/security/msec/server pointant vers\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"Le fichier /etc/security/msec/server est utilisé par chkconfig --add\n"
+"pour décider d'ajouter un service s'il est présent dans le fichier\n"
+"pendant l'installation des paquetages."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Activer/Désactiver les travaux planifiés (crontab et at) pour les\n"
+"utilisateurs.\n"
+"\n"
+"Mettre les utilisateurs autorisés dans /etc/cron.allow et\n"
+"/etc/at.allow (voir les pages de manuel at(1) et crontab(1)."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Activer/désactiver l'affichage des messages systèmes sur la console 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Activer/Désactiver la protection contre l'usurpation de résolution de\n"
+"nom (name resolution spoofing). Si « %s » est à 1, effectue aussi\n"
+"des rapports à syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Alertes de sécurité :"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Activer/désactiver la protection contre l'usurpation d'adresse IP."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+"Activer/désactiver la bibliothèque libsafe si elle est présente sur le "
+"système."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Activer/désactiver le traçage de tous les paquets IPv4 étranges."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Activer/Désactiver les vérifications de msec toutes les heures."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Autorise su seulement pour les membres du groupe wheel. Si mis à non, "
+"autorise su pour tout le monde."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Utiliser des mots de passe pour authentifier les utilisateurs."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Activer/Désactiver la vérification du mode espion des cartes réseau."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Activer/Désactiver les vérifications quotidiennes de sécurité."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+"Activer/Désactiver la demande de mot de passe en mode mono-utilisateur."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Exclure « nom » de la gestion des mots de passe par msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Régler la durée de vie des mots de passe à « max » et le délai de changement "
+"de mot de passe à « inactive »."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Régler la profondeur de l'historique des mots de passe pour éviter la leur "
+"réutilisation."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Régler la longueur minimum, le nombre minimum de chiffres et le nombre "
+"minimum de lettres en majuscule d'un mot de passe."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Régler le « umask » de root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Si oui, vérifie les ports ouverts du réseau."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Si oui, vérifie :\n"
+"\n"
+"- les mots de passe vides,\n"
+"\n"
+"- les mots de passes absents de /etc/shadow,\n"
+"\n"
+"- les utilisateurs autres que root ayant le numéro d'« id » égal à 0."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Si oui, vérifie les droits des fichiers dans les dossiers personnels des "
+"utilisateurs."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "Si oui, vérifie si les périphériques réseau sont dans un mode espion."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Si oui, effectue les vérifications quotidiennes de sécurité."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"Si oui, vérifie les ajouts/retraits des fichiers qui ont la permission "
+"« sgid »."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Si oui, vérifie les mots de passe vides dans /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"Si oui, vérifie les sommes de contrôle des fichiers ayant la permission suid/"
+"sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"Si oui, vérifie les ajouts/retraits des fichiers qui ont la permission "
+"« suid root »."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Si oui, cherche des fichiers sans propriétaire."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "Si oui, vérifie les fichiers/dossiers que tout le monde peut modifier."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Si oui, vérifie l'absence de rootkit via chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Si rempli, envoie le rapport par courriel à cette adresse, sinon à root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "Si oui, envoie un rapport de vérification par courriel."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ne pas envoyer de courriels s'il n'y a rien à signaler"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+"Si oui, effectue des vérifications par rapport à la base de données des "
+"paquetages rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "Si oui, envoie le rapport de vérification vers syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Si oui, envoie le rapport de vérification dans le terminal."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Régler la profondeur de l'historique du shell. Une valeur de -1 signifie "
+"historique illimité."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Régler le délai d'expiration du shell. Zéro signifie pas d'expiration."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "L'unité du délai d'expiration est la seconde"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Régler le « umask » utilisateur."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Accepter les messages d'erreur IPv4 bogués"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Accepter l'écho ICMP émis par diffusion"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Accepter l'écho ICMP"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* existent"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "L'utilisateur peut redémarrer l'ordinateur depuis la console"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Permettre la connexion distante en tant que root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Login root direct"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+"Lister les utilisateurs dans les gestionnaires de connexion (kdm et gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+"Exporter l'affichage lorsque l'on passe du superutilisateur à un autre "
+"utilisateur"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Autoriser les connexions à X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autoriser les connexions X Window via TCP"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autoriser tous les services contrôlés par tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig obéit aux règles de msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Autoriser « crontab » et « at » pour les utilisateurs"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Afficher les messages système sur la console 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Protection contre l'usurpation de résolution de nom"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Activer la protection contre l'usurpation d'adresse IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Activer la bibliothèque libsafe si elle est présente sur le système"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Activer le traçage de tous les paquets IPv4 étranges"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Activer les vérifications de msec toutes les heures"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Autoriser su seulement aux membres du groupe wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Utiliser un mot de passe pour authentifier les utilisateurs"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Activer la vérification du mode espion des cartes réseau"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Vérifications journalières de sécurité"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Activer la demande de mot de passe en mode mono-utilisateur"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Pas de délai d'expiration des mots de passe pour"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Régler la durée de vie des mots de passe et le délai d'inactivation du compte"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Taille de l'historique des mots de passe"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Longueur minimum du mot de passe ainsi que le nombre de chiffres et de "
+"majuscules"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Masque de permissions pour la création de fichier par root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Taille (en lignes) de l'historique du shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Délai d'expiration de l'interpréteur de commande"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Masque de permissions pour la création de fichier par les utilisateurs"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Vérifier la liste des ports ouverts"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Rechercher les comptes non sécurisés"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Vérifie les droits des fichiers dans les dossiers personnels"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Vérifier l'utilisation du mode espion par les périphériques réseaux"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Effectuer les vérifications quotidiennes de sécurité"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Vérifier les ajouts/retraits des fichiers sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Vérifier les mots de passe vides dans /etc/shadow."
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+"Vérifier les sommes de contrôle des fichiers ayant la permission suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+"Vérifier les ajouts/retraits des fichiers qui ont la permission « suid root »"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Rechercher les fichiers n'appartenant à aucun utilisateur"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Vérifier les fichiers et/ou dossiers modifiables par tout un chacun"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Effectuer les vérifications de chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Ne pas envoyer de courriels de rapport vides"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Si rempli, envoie le rapport par courriel à cette adresse, sinon à root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Envoyer le rapport de vérification par courriel"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+"Vérifie les fichiers des paquetages rpm par rapport à la base de données"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Enregistrer le rapport de vérification via syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Afficher le rapport de vérification dans le terminal"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Bienvenue aux pirates"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Très faible"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Élevé"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Plus élevé"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoïaque"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ce niveau de sécurité doit être utilisé avec précaution. Il rend votre\n"
+"système plus facile à utiliser, au détriment de la sécurité. Il ne devrait\n"
+"donc pas être utilisé sur une machine connectée à un réseau ou à Internet.\n"
+"Aucun mot de passe n'est requis."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Les mots de passe sont maintenant requis. Pour autant, il n'est pas\n"
+"recommandé d'utiliser cette machine sur un réseau."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ceci est le niveau de sécurité standard recommandé pour un ordinateur \n"
+"utilisé pour se connecter à Internet en tant que client."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Il y a déjà des restrictions, et des vérifications automatiques sont "
+"effectuées chaque nuit."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Avec ce niveau de sécurité, l'utilisation de cette machine en tant que\n"
+"serveur devient envisageable. La sécurisation est suffisamment forte pour\n"
+"accepter les connexions de nombreux clients. Note : si votre machine est\n"
+"seulement connectée en tant que client sur Internet, vous devriez plutôt\n"
+"choisir un niveau inférieur."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Ce niveau de sécurité est basé sur le précédent mais le système est "
+"maintenant\n"
+"complètement clos (vu du réseau). La sécurité est maximale."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sécurité"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Options de base de DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Choisissez le niveau de sécurité désiré"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Niveau de sécurité"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Utilisation de « libsafe » pour les serveurs"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Une bibliothèque qui protège contre les attaques par débordement de pile.\n"
+"(les plus fréquentes)"
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+"Administrateur sécurité\n"
+"(nom d'utilisateur ou adresse de courriel)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"Démarrage ou arrêt du système sonore ALSA (Advanced Linux Sound "
+"Architecture). Il charge le pilote pour votre carte son, et restaure les "
+"réglages du périphérique de mixage."
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+"Anacron exécute des tâches périodiques avec une précision exprimée en jours. "
+"Les tâches sont exécutées automatiquement au redémarrage de la machine si "
+"elles ont expiré leur délai. Quelques tâches de maintenances quotidienne et "
+"hebdomadaire sont préconfigurées pour le système Mandriva Linux. (Plus "
+"d'informations dans « man anacron »)."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Apmd surveille l'état de la batterie d'un portable, et en garde une trace "
+"(via syslog). Il peut être utilisé pour arrêter proprement la machine "
+"lorsque la batterie est très faible et après avoir averti les utilisateurs."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Service qui permet de démarrer une tâche à une heure précise. Chaque tâche "
+"doit être créée par la commande « at », puis, à l'heure dite, le service "
+"« atd » lance cette tâche. Par exemple pour éteindre automatiquement la "
+"machine ce soir à 23h59, tapez « at 23:59 » dans une fenêtre de commandes, "
+"puis « halt » et <Ctrl-D>."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Cron est un planificateur de tâches. Contrairement à Anacron, les tâches "
+"sont exécutées à des moments précis, pendant lesquels la machine doit être "
+"allumée. « Vixie cron » ajoute des fonctions au « cron » UNIX de base "
+"(notamment une meilleure sécurité et des options de configuration plus "
+"complètes)."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM est un démon surveillant les fichiers. Il permet d'être alerté quand un "
+"fichier est modifié.\n"
+"Il est utilisé à la fois par GNOME et KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM permet d'utiliser la souris dans des programmes fonctionnant en mode "
+"texte dans la console (comme par exemple Midnight Commander). Il permet "
+"également d'utiliser le copier-coller et inclut le support des menus "
+"contextuels sur la console."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake effectue une détection matérielle, et configure éventuellement le "
+"nouveau matériel."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache est un serveur Web (HTTP). Il est utilisé pour faire fonctionner un "
+"site internet."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Le métaserveur « inetd » sert à démarrer automatiquement les autres services "
+"réseau lorsqu'une requête est détectée. Il est notamment responsable du "
+"démarrage des services telnet, ftp, rsh et rlogin, etc. Le désactiver "
+"revient à désactiver tous les services qu'il gère. "
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Démarrer le filtrage des paquets réseau pour la série 2.2 des noyaux Linux, "
+"afin de mettre en place un pare-feu (firewall) pour protéger votre machine "
+"des attaques réseau. "
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ce paquetage active la disposition de clavier défini dans le fichier /etc/"
+"sysconfig/keyboard. Cette disposition peut être modifiée en utilisant "
+"l'outil kbdconfig. Ce service devrait être activé sur la plupart des "
+"machines."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Régénération automatique des fichiers d'en-tête pour le noyau\n"
+"dans le dossier /boot pour /usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Détection automatique et configuration du matériel au démarrage."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf effectue certaines tâches au démarrage afin de maintenir la "
+"configuration du système."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Lpd est le serveur d'impression nécessaire au bon fonctionnement de la "
+"commande lpr. Il permet gérer les files d'attente et les demandes "
+"d'impression."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Activation / désactivation du Linux Virtual Server, qui est un service "
+"utilisé pour créer un serveur virtuel haute performance et haute "
+"disponibilité, composé d'un ensemble de serveurs Linux reliés entre eux."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"Named (BIND) est un Serveur de Noms de Domaine (DNS) qui est utilisé pour "
+"convertir les adresses internet en adresses IP. (Il est principalement mis "
+"en place par les fournisseurs d'accès)."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Montage et démontage de tous les dossiers partagés : systèmes de fichiers\n"
+"distants (NFS), SMB (Lan Manager/Windows), et NCP (Netware)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Gestion groupée de toutes les connexions réseau que vous avez configurées et "
+"que vous avez choisi d'activer dès le démarrage du système. (par ex. vos "
+"connexions pour le réseau local et l'ADSL ou le Câble). Vous pouvez accéder "
+"séparément à vos interfaces réseau grâce au « Centre de Contrôle Mandriva "
+"Linux » dans la section « Internet et réseau »."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS est un protocole populaire pour le partage de fichiers sur les réseaux "
+"TCP/IP.\n"
+"Ce service fournit un serveur NFS. Les dossiers partagés sont listés dans le "
+"fichier /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS est un protocole populaire pour le partage de fichiers sur les réseaux "
+"TCP/IP.\n"
+"Ce service permet de verrouiller des fichiers sur NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Activation de la touche « Verr Num » du pavé numérique du clavier au "
+"démarrage."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Support des imprimantes winprinter OKI 4w et compatibles."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA permet d'utiliser des périphériques PCCARD comme des cartes Ethernet "
+"ou des modems avec des ordinateurs portables. Ce service ne sera pas "
+"démarré, à moins qu'il ne soit correctement configuré. Il peut donc être "
+"activé sans danger sur des machines ne possédant pas ce type de "
+"périphériques."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Le portmapper gère les connexions RPC qui sont utilisées par des serveurs "
+"comme NFS et NIS. Le serveur portmap doit être activé sur des machines "
+"jouant le rôle de serveur pour des protocoles utilisant le mécanisme RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix est un agent de transport du courrier (Mail Transport Agent - MTA) "
+"permettant l'échange de courriers électroniques entre machines."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Sauvegarde et restaure l'entropie du système pour une meilleure génération "
+"de nombres aléatoires. (utile, par exemple, pour la création de clés de "
+"cryptographie)"
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Permet de faire apparaître des périphériques de type bloc (par ex. "
+"partitions de disque dur) comme des périphériques bruts à accès direct (raw "
+"devices). Les correspondances sont établies dans le fichier /etc/sysconfig/"
+"rawdevices, et c'est la commande « raw » qui est utilisée. Cela peut être "
+"utilisé par des programmes comme Oracle ou par des lecteurs de DVD."
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Le service routed permet la mise à jour automatique des tables de routage IP "
+"grâce au protocole RIP. Bien que RIP soit très utilisé sur les petits "
+"réseaux, des protocoles de routage plus complets sont nécessaires pour les "
+"réseaux de plus grande taille. "
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Le protocole rstat permet aux utilisateurs sur un même réseau d'obtenir des "
+"mesures de la performance de n'importe quelle machine sur ce réseau."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Le protocole rusers permet aux utilisateurs de connaître tous les "
+"utilisateurs connectés aux machines supportant ce protocole."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Le protocole rwho permet aux utilisateurs distants d'obtenir une liste des "
+"utilisateurs connectés à une machine qui fait tourner le démon rwho "
+"(similaire à finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Démarrer le système de gestion du son sur votre machine."
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog est un service utilisé par beaucoup d'autres services pour "
+"enregistrer des rapports d'activité. C'est une très bonne idée de toujours "
+"l'activer."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Charger les pilotes pour vos périphériques USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Démarre le serveur de polices de caractères, obligatoire pour le "
+"fonctionnement de l'interface graphique (Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Impression"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Partage de fichiers"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Système"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Administration à distance"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Serveur de base de données"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Services"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Choisissez les services à démarrer automatiquement lors du démarrage du "
+"système"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Services : %d activés sur %d enregistrés"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "actif"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "arrêté"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Serveurs et services"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr "Pas d'autre information au sujet de ce service, désolé."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Information"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Démarré si nécessaire"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Au démarrage"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Démarrer"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Arrêter"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Ce programme est un logiciel libre : vous pouvez le redistribuer\n"
+"et/ou le modifier selon les termes de la « GNU General Public\n"
+"License », tels que publiés par la « Free Software Foundation »; soit\n"
+"la version 2 de cette licence ou (selon votre choix) toute version\n"
+"ultérieure.\n"
+"\n"
+"Ce programme est distribué dans l'espoir qu'il sera utile, mais\n"
+"SANS AUCUNE GARANTIE, ni explicite ni implicite; sans même les\n"
+"garanties de commercialisation ou d'adaptation dans un but spécifique.\n"
+"Se référer à la « GNU General Public License » pour plus de détails.\n"
+"\n"
+"Vous devriez avoir reçu une copie de la « GNU General Public License »\n"
+"en même temps que ce programme; sinon, écrivez à la « Free Software\n"
+"Foundation », Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Logiciel de sauvegardes et restaurations\n"
+"\n"
+"--default  : sauve les dossiers par défaut.\n"
+"--debug  : affiche tous les messages de déboguage.\n"
+"--show-conf  : liste les fichiers ou dossiers à sauvegarder.\n"
+"--config-info  : explique les options du fichier de configuration (en "
+"mode texte).\n"
+"--daemon  : utilise la configuration de sauvegardes "
+"périodiques.\n"
+"--help  : affiche ce message.\n"
+"--version  : affiche le numéro de version.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPTIONS :\n"
+" --boot - permet de configurer le gestionnaire de démarrage\n"
+" --splash - permet de configurer le thème du démarrage\n"
+"mode par défaut : configurer la connexion automatique"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONS] [NOM_PROGRAMME]\n"
+"\n"
+"OPTIONS :\n"
+" --help - affiche ce message.\n"
+" --report - le programme doit être un outil Mandriva Linux\n"
+" --incident - le programme doit être un outil Mandriva Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - assistant « ajout d'interface réseau »\n"
+" --del - assistant « suppression d'une interface réseau » \n"
+" --skip-wizard - gestion des connexions\n"
+" --internet - configurer internet\n"
+" --wizard - comme --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Application de gestion et d'importation de polices de "
+"caractères \n"
+"--windows_import : importe à partir de toutes les partitions Windows "
+"disponibles.\n"
+"--xls_fonts  : montre toutes les polices déjà existante par xls\n"
+"--install  : accepte tout fichier et tout dossier pour les polices.\n"
+"--uninstall  : désinstalle toute police ou tout dossier pour les "
+"polices.\n"
+"--replace  : remplace les polices existantes\n"
+"--application  : 0 : aucun programme.\n"
+"  : 1 : tous les programmes disponibles supportés.\n"
+"  : nom_programme : pour par exemple staroffice, \n"
+"  : ou gs pour ghostscript (pour 1 application)."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Configurateur pour Mandriva Linux Terminal Server\n"
+"--enable  : active MTS\n"
+"--disable  : désactive MTS\n"
+"--start  : démarre MTS\n"
+"--stop  : arrête MTS\n"
+"--adduser  : ajoute un utilisateur système existant au MTS (nécessite "
+"un nom d'utilisateur)\n"
+"--deluser  : enlève un utilisateur système existant du MTS (nécessite "
+"un nom d'utilisateur)\n"
+"--addclient  : ajoute une machine cliente au MTS (nécessite une adresse "
+"MAC, IP, nom d'image nbi)\n"
+"--delclient  : enlève une machine cliente au MTS (nécessite une adresse "
+"MAC, IP, nom d'image nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[clavier]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=monfichier] [--word=monmot] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Application de surveillance et de connexion réseau et internet\n"
+"\n"
+"--defaultintf interface : montre cette interface par défaut\n"
+"--connect : se connecte à Internet (si non connecté)\n"
+"--disconnect : se déconnecte d'Internet (si connecté)\n"
+"--force : utilisé avec l'option (dis)connect : force la (dé)connexion.\n"
+"--status : retourne 1 si connecté, 0 sinon, puis quitte.\n"
+"--quiet : non interactif. À utiliser avec l'option (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation ne demande pas la première confirmation en mode "
+"Mandriva Update\n"
+" --no-verify-rpm ne vérifie pas les signatures des paquetages\n"
+" --changelog-first affiche le changelog avant la liste des fichiers "
+"dans la fenêtre de description\n"
+" --merge-all-rpmnew propose de fusionner tous les fichiers .rpmnew/."
+"rpmsave trouvés"
+
+# C. Berthelé cpjc@free.fr 30 jan 2005
+# Options in XFdrake command line
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=dossier_source_sane] [--update-"
+"usbtable] [--dynamic=dev]"
+
+# C. Berthelé cpjc@free.fr 30 jan 2005
+# Do not translate : options in XFdrake command line
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Utilisation : %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Tous les serveurs"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrique"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asie"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europe"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Amérique du nord"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Océanie"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Amérique du sud"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Fédération russe"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yougoslavie"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Est-ce correct ?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Aucun fichier choisi"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Vous devez spécifier un fichier, pas un répertoire"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Vous devez spécifier un fichier, pas un répertoire"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Aucun répertoire de ce nom"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Aucun fichier de ce nom"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Développer l'arborescence"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Réduire l'arborescence"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Basculer entre tri alphabétique et tri par groupes"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s n'est pas installé\n"
+"Cliquez sur « Suivant » pour l'installer ou « Annuler » pour quitter"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Échec de l'installation"
diff --git a/perl-install/share/po/fur.po b/perl-install/share/po/fur.po
new file mode 100644
index 000000000..21b40bc8c
--- /dev/null
+++ b/perl-install/share/po/fur.po
@@ -0,0 +1,6097 @@
+# translation of DrakX.po to furlan
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Andrea Gracco <graccoandrea@tin.it>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-06-28 17:41+0200\n"
+"Last-Translator: Andrea Gracco <graccoandrea@tin.it>\n"
+"Language-Team: furlan <gft@freelists.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Par plasè, spiete"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr ""
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Prin setôr dal disc (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Prin setôr de partizion lidrie"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Su dischet"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Salte"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Instalazion LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configurazion dal stîl di inviament"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr ""
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr ""
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr ""
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dispositîf di inviament"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Ritart prin di inviâ le imagjin predefinide"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Abilite ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Abilite ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Abilite ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Password"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Le password no corispuint"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Par plasè torne a provâ"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Password (ancjemò)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr ""
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr ""
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Nete /tmp a ducj i inviaments"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Dimension RAM juste se domandât (cjatâts %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Insede le dimension de ram in MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Abilite l'inviament di CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr ""
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Sisteme Operatîf predefinît?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imagjin"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Lidrie"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Append"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Modalitât video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Gnûf profîl..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etichete"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Predefinît"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Etichete vueide no permitude"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Tu âs di specificâ une imagjin kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Tu âs di specificâ une partizion lidrie"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Le etichete e je dizà in vore"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Cuâle sorte di vôs vuelistu zontâ?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Altri sisteme operatîf (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Altri sisteme operatîf (MacOS...)"
+
+#: any.pm:461
+#, fuzzy, c-format
+msgid "Other OS (Windows...)"
+msgstr "Altri sisteme operatîf (windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "acès ai programs X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "acès ai imprescj rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permèt \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "acès ai file di aministrazion"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "acès ai imprescj di rêt"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "acès ai imprescj di compilazion"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(dizà zontât %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Par plasè, insede un non utent"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Il non utent al à di vê dome letaris minusculis, numars , `-' e `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Il non utent al è masse lunc"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Il non utent al è stât dizà zontât"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID Utent"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID Grop"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr ""
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Zonte utent"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Insede un utent\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Fat"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Acete utent"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Non reâl"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr ""
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Acès automatic"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "O pues impostâ il to computer par fâ acedi automatichementri un utent."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Vuelistu doprâ cheste fature?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Sielç un utent predefinît:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Sielç il gjestôr grafic di doprâ:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr ""
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Jessî"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Par plasè sielç"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr ""
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Par plasè sielç une lenghe di doprâ."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Lenghis"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Dutis les lenghis"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Nazion / Regjon"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Par plasè sielç le to nazion."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Cheste e je le liste complete di dutis les nazions disponibilis"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Un altri"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr ""
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Nissun"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Nissune condivision"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permet ducj i utents"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalizât"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Invie userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Siere"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr ""
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr ""
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr ""
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Server NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, fuzzy, c-format
+msgid "Local file"
+msgstr "File locâi"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Domini Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "File locâi:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Domini Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autenticazion LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Server LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr ""
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr ""
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr ""
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Autenticazion LDAP"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domini"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Non utent"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Password"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autenticazion NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Domini NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Server NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr ""
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr ""
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr ""
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr ""
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr ""
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr ""
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO cun menu di test"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "no son a vonde stanziis in /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr ""
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr ""
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minûts"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minût"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d seconts"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Gnûf"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Dismonte"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Monte"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Pont di mount"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opzions"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fal"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Par plasè insede il recapit dal server WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Pont di mount: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opzions: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lei cun atenzion!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Jessì"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continue"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Jutori"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Sielç une azion"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Par plasè frache su une partizion"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalized FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Altri"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Vueit"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Sorte di filesystem:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Avertence"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "No rivi a cambiâ le dimension di cheste dimension"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Dopre ``Unmount'' prin"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Dopre ``%s''invezit"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Sorte"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Sielç une partizion diferente"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Sielç une partizion"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Configurazion"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Continue distès?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Jessî cence salvâ"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Jessî cence scrivi te tabele des partizions?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Vuelistu salvâ les modifichis a /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Tu âs di tornâ a inviâ par che les modifichis a le tabele des partizions e "
+"ledin in vore"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Scancele dut"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr ""
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Di plui"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr ""
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Dutis les partizions primariis e son in vore"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "No rivi a zontâ altris partizions"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Par vê plui partizions, par plasè scancele une par podê creâ une partizion "
+"extended"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Salve le tabele des partizions"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Torne a meti in vore le tabele des partizions"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recupere le tabele des partizions"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Torne a cjariâ le tabele des partizions"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Sielç il file"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "O cîr di recuperâ le tabele des partizions"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informazions minudis"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Mude dimension"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formât"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Zonte a RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Zonte a LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Scancele"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Rimôf di RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Rimôf di LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Mude RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Dopre par loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Cree"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Cree une gnove partizion"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr ""
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Dimension in MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Sorte di filesystem: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preference: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Non dal volum logjic "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Rimôf il file di loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Dopo vê cambiât le sorte di partizion %s, ducj i dâts di cheste partizion e "
+"vignaran pierdûts"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Cambie le sorte di partizion"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Cuâl filesystem vuelistu?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "O cambii di ext2 a ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Etichete"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Dulà vuelistu montâ il file di loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Dulà vuelistu montâ il dispositîf %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Dulà vuelistu montâ %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "O cambii le dimension"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr ""
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "No rivi a cambiâ le dimension di cheste dimension"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Dopo vê cambiât le dimension %s, ducj i dâts de partizion e vignaran pierdûts"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Sielç le gnove dimension"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Gnove dimension in MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Sielç un RAID esistin par zontâ"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "gnûf"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Sielç un LVM esistint dulà zontâ"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Non LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Cheste partizion no po sedi doprade par loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Non dal file di loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr ""
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr ""
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr ""
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr ""
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr ""
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "Gnove dimension in MB: "
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr ""
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr ""
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr ""
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Periferiche: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Sorte: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Non: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Dimension: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s setôrs"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatât\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "No formatât\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montât\n"
+
+#: diskdrake/interactive.pm:1258
+#, fuzzy, c-format
+msgid "RAID %s\n"
+msgstr "Discs RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"File di loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partizion inviade sicu predefinît\n"
+" (par inviament MS-DOS, no par lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivel %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Discs RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Non dal file di loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Dome letûre"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Dimension: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informazions: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Discs LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Sorte di tabele des partizions: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "sul canâl %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Clâf di cifradure dal filesystem"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Sielç le to clâf di cifradure"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Cheste clâf di cifradure e je masse sempliç (e a di sedi lungje almancul %d "
+"letaris)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Les clâfs di cifradure no corispuindin"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Clâf di cifradure"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Clâf di cifradure (ancjemò)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr ""
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Scancele"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "No rivi a jentrâ doprant il non utent %s (password no valevule?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Autenticazion di domini domandade"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Cuâl non utent"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Un altri"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Par plasè insede il to non utent, password e non di domini par jentrâ in "
+"chest host."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Non utent"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Cîr server"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Cîr gnûfs server"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Il pachet %s al à di sedi instalât. Vuelistu instalâlu?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr ""
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr ""
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "O instali i pachets..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "O rimôf i pachets..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr ""
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr ""
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr ""
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr ""
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr ""
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr ""
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr ""
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr ""
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr ""
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr ""
+
+#: fs/mount_point.pm:95
+#, fuzzy, c-format
+msgid "No partition available"
+msgstr "Torne a cjariâ le tabele des partizions"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, fuzzy, c-format
+msgid "Choose the mount points"
+msgstr "Sielç un visôr"
+
+#: fs/partitioning.pm:46
+#, fuzzy, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Sielç une partizion diferente"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:80
+#, fuzzy, c-format
+msgid "Use free space"
+msgstr "Dopre par loopback"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:90
+#, fuzzy, c-format
+msgid "Use existing partitions"
+msgstr "Sielç une partizion"
+
+#: fs/partitioning_wizard.pm:92
+#, fuzzy, c-format
+msgid "There is no existing partition to use"
+msgstr "O cîr di recuperâ le tabele des partizions"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Cuâle sorte di vôs vuelistu zontâ?"
+
+#: fs/partitioning_wizard.pm:104
+#, fuzzy, c-format
+msgid "Choose the sizes"
+msgstr "Sielç le gnove dimension"
+
+#: fs/partitioning_wizard.pm:105
+#, fuzzy, c-format
+msgid "Root partition size in MB: "
+msgstr "Gnove dimension in MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, fuzzy, c-format
+msgid "Swap partition size in MB: "
+msgstr "Gnove dimension in MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Ce âstu voe di fâ?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Prin setôr de partizion lidrie"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Prossim"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Prin setôr de partizion lidrie"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Dimension"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Rimôf Windows™"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:206
+#, fuzzy, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Dopo vê cambiât le dimension %s, ducj i dâts de partizion e vignaran pierdûts"
+
+#: fs/partitioning_wizard.pm:217
+#, fuzzy, c-format
+msgid "Custom disk partitioning"
+msgstr "Sielç une partizion"
+
+#: fs/partitioning_wizard.pm:223
+#, fuzzy, c-format
+msgid "Use fdisk"
+msgstr "ID Utent"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:266
+#, fuzzy, c-format
+msgid "I can not find any room for installing"
+msgstr "No rivi a zontâ altris partizions"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:278
+#, fuzzy, c-format
+msgid "Partitioning failed: %s"
+msgstr "Sorte di tabele des partizions: %s\n"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr ""
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr ""
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr ""
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nuie ce fâ"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Floppy"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr ""
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr ""
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr ""
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr ""
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr ""
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr ""
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr ""
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr ""
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr ""
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr ""
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, fuzzy, c-format
+msgid "Memory"
+msgstr "Di plui"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr ""
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr ""
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr ""
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr ""
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastiere"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Surie"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr ""
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr ""
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr ""
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr ""
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr ""
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr ""
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr ""
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr ""
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr ""
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr ""
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Va ben"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Si"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "No"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr ""
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Zonte"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Mude"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Rimôf"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Finìs"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Precedent"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr ""
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr ""
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr ""
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr ""
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr ""
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emirâts Araps Unîts"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr ""
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua e Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguila"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanie"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenie"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antilis Olandêsis"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartide"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argjentine"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Americane"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austrie"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australie"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr ""
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr ""
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgjiche"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarie"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivie"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasîl"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Isule di Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorussie"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canadà"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Isulis Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Republiche Centrâl Africane"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Svuizare"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr ""
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Isulis Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Cile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Cine"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombie"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbie Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cap Vert"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Isulis di Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cipri"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Republiche Ceche"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Gjermanie"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Zibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danimarcje"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Republiche Dominicane"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alzerie"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonie"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egjit"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Ocidentâl"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritree"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spagne"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopie"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlande"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr ""
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesie"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Isulis Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "France"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Ream Unît"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gjeorgjie"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr ""
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gjibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlande"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinee"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr ""
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinee Ecuatoriâl"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grecie"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinee-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guiane"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Cine (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Isulis Heard e McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Cravuazie"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ongjarie"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesie"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlande"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israêl"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indie"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Teritori dal Ocean Indian Britanic"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islande"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italie"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Gjamaiche"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanie"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Gjapon"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr ""
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr ""
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr ""
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoris"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Coree (Nord)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Coree"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Isulis Cayman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakistan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Liban"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sante Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberie"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituanie"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lussemburc"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letonie"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libie"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroc"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr ""
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Isulis Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonie"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolie"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Isulis Mariannis Setentrionâlis"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr ""
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanie"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malte"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurizi"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivis"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Messic"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambic"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibie"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr ""
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Nigjer"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Isulis Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigjerie"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Olande"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegje"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Gnove Zelande"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perù"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr ""
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Gnove Guinee"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinis"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonie"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sant Pierr e Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr ""
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestine"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr ""
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romanie"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russie"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabie Saudît"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Isulis Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svezie"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapôr"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sante Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenie"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard e Isulis Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr ""
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marin"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalie"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr ""
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirie"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Isulis Turks e Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Teritoris Francês dal Sud"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailandie"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr ""
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Est"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisie"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turchie"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad e Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanie"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ucraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Stâts Unîts"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr ""
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Isulis Virgin (Britanichis)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr ""
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sud Afriche"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambie"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Benvignût su %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr ""
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr ""
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr ""
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr ""
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr ""
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr ""
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr ""
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr ""
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr ""
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr ""
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr ""
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr ""
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr ""
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr ""
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr ""
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr ""
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr ""
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr ""
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr ""
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr ""
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr ""
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr ""
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr ""
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr ""
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr ""
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr ""
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr ""
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr ""
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr ""
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr ""
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr ""
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sigurece"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr ""
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr ""
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Nivel di Sigurece"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr ""
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Stampe"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr ""
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Condivision file"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sisteme"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr ""
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr ""
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servizis"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr ""
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr ""
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Invie"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Ferme"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr ""
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Zonte server"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Sud Afriche"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Austrie"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Sud Afriche"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Macedonie"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Sud Afriche"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federazion Russe"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavie"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr ""
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "Nissune icone"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Cartele Home no disponibile."
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Cartele locâl"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "File locâi"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr ""
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr ""
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr ""
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s nol è instalât\n"
+"Frache \"Prossin\" par instalâlu o \"Scancele\" par jessî"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalazion falade"
+
+#~ msgid "Icon"
+#~ msgstr "Icone"
diff --git a/perl-install/share/po/ga.po b/perl-install/share/po/ga.po
new file mode 100644
index 000000000..dc4e47fe7
--- /dev/null
+++ b/perl-install/share/po/ga.po
@@ -0,0 +1,6139 @@
+#
+# Alastair McKinstry <mckinstry@computer.org>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-09-12 18:04+0200\n"
+"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
+"Language-Team: Irish <ga@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Fan tamall"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Tá an clár dúisithe á shuiteáil"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr ""
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "Níl aon ranna agat!"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Ar dhiosca flapach"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Scipeáil"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Feistiú LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Cumraíocht Stíl Tosnú"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Príomhroghanna bootáil"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Clár dúisithe"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Ríomhchlar Tosnaithe a úsáid "
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Gaireas bootáil"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr ""
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Cumasaigh ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Cumasaigh ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Cumasaigh ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Pasfhocal"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Ní mar a chéile na pasfhocail"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Aththrialaigh"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Pasfhocal (arís)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Teorannaigh roghanna líne ordú"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "teorannaigh"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Glan /tmp nuair a thosnaigh an coráis"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Tabhair na Méid Cuimhne as MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Scéal Tosnú"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Cumasaigh dúiseacht ón dlúthdhiosca?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Cumasaigh dúiseacht OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "OS Loiceadh?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Iomha"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Append"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mód fís"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Próifíl líonra"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Lipéad"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Gnáth"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "GanBhideó"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Níl ceadaigh an lipéad folamh ann"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Is gá íomhá eithne a shonrú"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Ní mór rann fréamhach"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Is ann cheana don ainm úsáideora seo"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Cén sort iontráil a suimigh do?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "CO Eile (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "CO Eile (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "CO Eile (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr ""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr ""
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr ""
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Tá an ainm úsáideora ró-fhada"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Is ann cheana don ainm úsáideora seo"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID Úsáideoir"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID Grupa"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr ""
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Suimigh úsáideoir"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Críochnithe"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Fíor ainm"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Ainm logála isteach:"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Blaosc"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Uath-Logann"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Is féidir linn do ríomhaire a shocrú le X a thosnú i ndhiadh bootáil.\n"
+"An dteastaíonn uait go dtosnófar X nuair a aththosnítear an ríomhaire?"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "An mian leat an gné seo a úsáid?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Roghnagih an úsáidoer gneás:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Roghnaigh an Bainistéoir Fhuinneoga a úsásd:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Ceadúnas"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Éalaigh"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Fan tamall"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Aontaigh"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Tarrtháil"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Roghnaigh teanga le húsáid, le do thoil."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Rogha teanga"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Gach teanga"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Tír / Réigiún"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Roghnaigh do thír, le do thoil."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr ""
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Eile"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Réamhioaíocht"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Neamhní"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Gan roinnt"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "Allow all users"
+msgstr "Suimigh úsáideoir"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Socraithe"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr ""
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Dún"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Éirigh as le do thoil agus Crtl-Alt-BackSpace a úsáid"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Am Críos"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Cén ceann do chrois ama?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "An bhfuil an clog cruaearrach ar GMT?"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "An bhfuil an clog cruaearrach ar GMT?"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Freastalaí NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Comhad logánta"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Fearann Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Comhad logánta :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Fearann Windows :"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Deimniú LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Freastalaí LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simplí"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Deimniú"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Fearannas"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Freastalaí"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Freastalaí Printéir"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Pasfhocal"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Deimniú NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Fearannas NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Freastalaí NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Windows Domain"
+msgstr "Deimniú LDAP"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Ainm Fearannas"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Deimniú"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Socraigh pasfhocal root"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Modh fíordheimhnithe:"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Gan pasfhocal"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO le chlár teacs"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr ""
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr ""
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Ath-shuiteáil an clár dúisithe"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d noiméaid"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 noiméad"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d siocand"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nua"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Dífheistigh"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Feistigh"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Pointe feistithe"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Roghnachais"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Earráid"
+
+#: diskdrake/dav.pm:83
+#, fuzzy, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Teastáil an luchóg, le do thoil"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Freastalaí:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Pointe feistithe:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Roghnachais: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, fuzzy, c-format
+msgid "Partitioning"
+msgstr "Printéir"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Léigh go curamach!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Scoir"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Lean"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "C_úidiú"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Roghnaigh gníomh"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Tá rann mór Microsoft Windows amháin agat.\n"
+"Molaim duit an rann sin a athmhéadú ar dtús\n"
+"(roghnaigh an rann agus gliogáil ar \"Athmhéadaigh\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Roghnaigh rann le do thoil"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Sonraí"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Níor aimsíodh cruadhiosca ar bith"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Anaithnid"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Malairte"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Fuinneoga"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Eile"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Folamh"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Cineál córais-comhadlanna"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Rabhadh"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Ní féidir an rann seo a athmhéadú"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Úsáid \"Dífheistigh\" ar dtús"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Cineál"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Roghnaigh rann eile"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Roghnaigh rann"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Leasú"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Deimhniú"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Lean ar aghaidh ar aon nós?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Éalaigh gan sabháil"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Éalaigh gan an clár-ranna a scríobh?"
+
+#: diskdrake/interactive.pm:279
+#, fuzzy, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "An bhfuil tú ag iarraidh an cumraíocht a thrial?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Is gá an ríomhaire a atosnú sula gcuirfear na hathruithe sa ranntábla i "
+"bhfeidhm"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Glan gach ceann"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr ""
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Mór"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Eolas faoi cruadhioscaí"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Tá na ranna príofa uilig úsáidthe"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ní féidir liom rann eile a cur isteach"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Le breis ranna a bheith agat, dealaigh ceann amháin le bheith in ann "
+"rannsínithe a cruthú"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Sábháil an ranntábla"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Cuir an ranntábla ar ais mar bhí"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Athluchtaigh an ranntábla"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Roghnaigh Comhad"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Níl an méid céanna ar an rann cúltaca\n"
+"Lean ar aghaidh ar aon nós?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Ag iarraidh an clár-ranna a tarrtháil"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Mioneolas"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Athméidigh"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formáidigh"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Cur le RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Cur le LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Scríos"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Bain ó RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Bain ó RAID"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Athraigh RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Cruthaigh"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Cruthaigh rann nua"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Teascán tosasch: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Méid i MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Cineál córas-comhadlanna:"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Tosaíocht: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Chomaid Áitiúl"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, fuzzy, c-format
+msgid "Remove the loopback file?"
+msgstr "Ag formáidiú comhad 'loopback' %s"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Athraigh cineál ranna"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Cén comhadchóras atá uait?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Ag athrú ó ext2 go ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Lipéad:"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Céard a theastaíonn uait a dhéanamh?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Céard a theastaíonn uait a dhéanamh?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Ag athméadú"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Ag ríomhadh teorainn na córais-comhadlanna FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ní féidir an rann seo a athmhéadú"
+
+#: diskdrake/interactive.pm:756
+#, fuzzy, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "caillfear gach sonra ar an rann seo"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Roghnaigh an méid nua"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nua méid i MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Roghnaigh RAID atá ann le méadú"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nua"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Roghnaigh LVM atá ann le méadú"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "ainm LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Aislúbadh"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr ""
+
+#: diskdrake/interactive.pm:941
+#, fuzzy, c-format
+msgid "Give a file name"
+msgstr "Fíor ainm"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr ""
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Roghanna feistithe"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Éagsúil"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "feist"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "leibhéal"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "méid smután"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr ""
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Cén sort rannú atá ort?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Beidh ort an ríomhaire a aththosnú sula ndéanfar an athrú"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Scríobhfar clár diosca %s go dhiosca!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Aistrigh na comhaid go dtí an rann nua"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Hide files"
+msgstr "teip ar 'mkraid'"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Ag aistriú na gcomhad go dtí an rann nua"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Ag cóipeáil %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Ag baint %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Gaireas: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Litir Dioscthiománt DOS: %s (buile faoi thuraim)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Cineál: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Ainm: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Tús: teascán %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Méid: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s teascáin"
+
+#: diskdrake/interactive.pm:1253
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Sorcóir %d go sorcóir %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formáidithe\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Neamhformáidithe\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Feistithe\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Rann tosaithe de ghnáth\n"
+" (do thosnú MS-DOS, ní lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Leibhéal %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Méid smután %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Dioscaí RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Léamh amháin"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Méid: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Céimseasamh: %s sorcóir, %s ceann, %s teascán\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Eolas:"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Dioscaí LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Cinéal tabla rann: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "ar bhús %d, id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Cineál córas-comhadlanna:"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1348
+#, fuzzy, c-format
+msgid "The encryption keys do not match"
+msgstr "Ní mar a chéile na pasfhocail"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Eochair chriptiúcháin:"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algartam criptithe"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Athraigh cineál"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Deimniú"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Cén ainm úsáideora"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Ceann eile"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Ainm úsáideora"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Freastalaithe cuardaigh"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Cuardaigh freastalaithe nua"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Ag feistiál pacáiste %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Roghnaigh pacáistí ..."
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Ag suiteáil pacáistí..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Ag baint pacáistí..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Tharla earráid - ní fhuaireadh aon gaireas ar a bhféadfaí córais-comhadlanna "
+"nua a cruthu. Ba chóir duit do chuid crua-earraí a seiceáil le cúis an fadhb "
+"a aimsiú"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Ag formáidiú rann %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Ag cruthú agus ag formáidiú an chomhaid %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "níl a fhios agam conas %s a formáidiú go %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "Formáidiú %s de %s teipithe"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr ""
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Ag feistiú an rainn %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Ag seiceáil %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr ""
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Ag formáidiú rann %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Pointe taca dublach %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "níl aon ranna saora ann"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Roghnaigh na pointí feistithe"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Roghnaigh na ranna atá le formáidiú"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nil dothain spas malartu chun insealbhu, chuir leis an spas"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Níl aon ranna malairte agat\n"
+"\n"
+"x1Lean ar aghaidh ar aon nós?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Úsáid spás saor"
+
+#: fs/partitioning_wizard.pm:82
+#, fuzzy, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ag aistriú na gcomhad go dtí an rann nua"
+
+#: fs/partitioning_wizard.pm:90
+#, fuzzy, c-format
+msgid "Use existing partitions"
+msgstr "Ag feistiú an rainn %s"
+
+#: fs/partitioning_wizard.pm:92
+#, fuzzy, c-format
+msgid "There is no existing partition to use"
+msgstr "Ag iarraidh an clár-ranna a tarrtháil"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Cén rann a bhfuil tú ag iarraidh úsáid mar rann fréamhach"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Roghnaigh an méid nua"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Méid i MB do Rhann Fréamhach:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Méid i MB do rhann malairte:"
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Úsáid an spás saor ar an rann Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Cén tescán ag a dteastaíonn uait é a bhogadh?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Cruthaigh rann nua"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Teacs"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Cén tescán ag a dteastaíonn uait é a bhogadh?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Méid"
+
+#: fs/partitioning_wizard.pm:173
+#, fuzzy, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Ag ríomhadh teorainn na córais-comhadlanna FAT"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Theip ar uathathmhéadú FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Dealaigh Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Glan diosca ina iomlán"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Rannú diosca saincheaptha"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Úsáid fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:266
+#, fuzzy, c-format
+msgid "I can not find any room for installing"
+msgstr "Ní féidir liom rann eile a cur isteach"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Theip ar rannú: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "le /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "Freastalaí"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, fuzzy, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ni féidir liom an tábla rainn a léamh, tá máchaillí ann :(\n"
+"Leanfaidh mé orm ag cealú droch rainn"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Caithfidh pointí feistithe tosú le /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr ""
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Faic le déanamh"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Flapach"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Diosca"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Téip"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Rialaitheoirí AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Cárta Físe"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Cárta Teilifíse"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Gaireais Ilmheánacha Eile"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Cárta Fuaime"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Ceamara Gréasáin"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Carta ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Cárta Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Móideim"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Cuimhne"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printéir"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Luamhán Stiúrtha"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Rialaitheoirí SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Rialaitheoirí RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Rialaitheoirí (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Cuimhne Charta (DMA)"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Rialaitheoirí Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Rialaitheoirí PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Rialaitheoirí SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Rialaitheoirí USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Poirt USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Rialaitheoirí SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Eocharclár"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Luchóg"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "Soláthar Cumhachta Dobhriste"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanóir"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Anaithnid/Eile"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "LAP # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Fan tamall... ag cur na cumraíochta i bhfeidhm"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Cumraíocht fuaime"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Tiománaí:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Tiománaí anaithnid"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Braith go hUathoibríoch"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Anaithnid|Cineálach"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, fuzzy, c-format
+msgid "Card model:"
+msgstr "Cuimhne Charta (DMA)"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Athraigh cineál ranna"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ceart go Leor"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Tá"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Níl"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Roghnaigh comhad"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Suim"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Athraigh"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Bain"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Criochnaigh"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "feist"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Droch rogha, aththrialaigh\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Do rogha? (gnás %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Do rogha? (0/1, loicshocrú %s)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Cnaipe `%s': %s"
+
+#: interactive/stdio.pm:95
+#, fuzzy, c-format
+msgid "Do you want to click on this button?"
+msgstr "Céard a theastaíonn uait a dhéanamh?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Do rogha? (loicshocrú `%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andóra"
+
+# AR
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Aontas na nÉimíríochtaí Arabacha"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "An Afghanastáin"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua agus Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "An Albáin"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "An Airméin"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Aintillí na hÍsiltíre"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angóla"
+
+# AQ
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "an tAntartasch"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "An Airgintín"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samó Meiriceánach"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "An Ostair"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "An Astráil"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "An Asarbaiseáin"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Boisnia agus Heirseagaivéin"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbadós"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "An Bhanglaidéis"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "An Bheilg"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Buircíne Fasó"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "An Bhulgáir"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "An Bhairéin"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "An Bhurúin"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Beinin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Beirmiúda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brúiné Dárasalám"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "An Bholaiv"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "An Bhrasail"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Na Bahámaí"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "An Bhútáin"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Oileán Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "An Bhotsuáin"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "An Bhílearúis"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "An Bheilís"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Ceanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Oileáin na gCócónna (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "An Congó"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Poblacht na hAfraice Láir"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+# CH
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "An Eilvéis"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "An Cósta Eabhair"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Na hOileáin Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "An tSile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camarún"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "An tSín"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "AN Cholóim"
+
+# CR
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Cósta Rice"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Seirbia agus Montainéagró"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cúba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Rinn Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Oileán na Nollag"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "An Chipir"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "An Phoblacht nc tSeic"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "An Ghearmáin"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "An Danmhairg"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "An Phoblacht Dhoiminiceach"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "An Algéir"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Eacuadór"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "An Eastóin"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "An Éigipt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "An Sahára Thiar"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "An Eiritré"
+
+# ES
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "An Spáinn"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "An Aetóip"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "An Fhionlainn"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidsí"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Na hOileáin Fháclainne (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "An Mhicrinéis"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Na hOileáin Fharó"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Fraince"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabúin"
+
+# UK
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "An Ríocht"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "An tSeoirsia"
+
+# fr
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Fraincis"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gána"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Giobráltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "An Ghraonlainn"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gaimbia"
+
+# GN
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "An Ghuine"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "An Ghuadalúip"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guine Mheánchiorclach"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "An Ghréig"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatamala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guine Bhissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "An Ghuáin"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr ""
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr ""
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondúras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "An Chróit"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Háiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "An Ungáir"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "An Indinéis"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Éire"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Iosrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "An India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr ""
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "An Iaráic"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "An Iaráin"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "An Íoslainn"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "An Iodáil"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Iamáice"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "An Iordáin"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "An tSeapáin"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "An Chéinia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "An Chirgeastáin"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "An Chambóid"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Ciribeas"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Na hOileáin Chomóra"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "San Críostóir Nimheas"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "An Chóiré Thuaidh"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "An Choiré Theas"
+
+# KW
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Cuáit"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Na hOileáin Cayman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "An Chasacstáin"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Láós"
+
+# LB
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "An Liobáin"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "St. Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lichtinstéin"
+
+# LK
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Srí Lanca"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "An Libéir"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Leosóta"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "An Liotuáin"
+
+# LU
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lucsamburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "An Laitvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "An Libia"
+
+# MA
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maracó"
+
+# MC
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monacó"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "An Mholdóiv"
+
+# MG
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Na hOileáin Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "An Mhacadóin"
+
+# ML
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Maenmar"
+
+# MN
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "An Mhóngóil"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr ""
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "An Mhartainíc"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "An Mháratáin"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montsarat"
+
+# MT
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Málta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Oileán Mhuirís"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Na hOileáin Mhaildíve"
+
+# MW
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+# MX
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meicsiceo"
+
+# MY
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "An Mhalaeisia"
+
+# FIXME
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mósaimbic"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "An Namaib"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "An Nua-Chaladóin"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "An Nígir"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Oileán Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "An Nigéir"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "An Isiltír"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "An Iorua"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Neipeál"
+
+# na
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nárúis"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "An Nua-Shéalainn"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peiriú"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polainéis na Fraince"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Nua-Ghuine Phapua"
+
+# PH FIXME
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Na hOileáin"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "An Phacastán"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "An Pholainn"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Peadar Naofa agus Micilín"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Oileán Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Portó Ríce"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "An Phalaistín"
+
+# PT
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "An Phortaingéil"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Catar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+# RO
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "An Rómáin"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "An Rúis"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+# SA
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "An Araib"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Na hOileáin Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Na Séiséil"
+
+# SD
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "An tSúdáin"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "An tSualainn"
+
+# SG
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singeapór"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "San Héilin"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "An tSlóivéin"
+
+# OLT, as is -- KPS
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Oileánra Svalbard"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "An tSlóvaic"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Siarra Leon"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Mairíne"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "An tSeineagáil"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "An tSomáil"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suranam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "São Tomé agus Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "An tSalvadóir"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "An tSiria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "An tSuasalainn"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Na hOileáin Turks agus Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Sead"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr ""
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Tógó"
+
+# TH
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "An Téalainn"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "An Táidsíceastáin"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Na hOileáin Tócalá"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Tíomór Thoir"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "An Tuircméanastáin"
+
+# TN
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "An Túinéis"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+# TR
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "An Tuirc"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Oileán na Tríonóide agus Tobága"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "An Téaváin"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "An Tansáin"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "An Úcráin"
+
+# UG
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Stáit Aontaithe Mheiriceá"
+
+# UY
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uragua"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Úisbéiceastáin"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatacáine"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "St. Vincent agus Grenadines"
+
+# VE
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Veiniséala"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr ""
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vítneam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatú"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Vailís agus Futúna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samó"
+
+# YE
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Éimin"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "An Afraic Theas"
+
+# ZM
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "An tSaimbia"
+
+# ZW
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "An tSiombáib"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Fáilte go %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Cumraigh Idirlíon"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Cumraigh Idirlíon"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Fuair %s comhéadan"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "An bhfuil ceann eile agat?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "An bhfuil comhéadan %s agat?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Leámh an t-eolais crua-earra"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Ag feistáil tiomanaí do %s, carta %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Ag feistáil tiomanaí do %s, carta %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Ag feistáil tiomanaí do %s, carta %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Ag feistáil tiomanaí do %s, carta %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Ag feistáil tiomanaí do %s, carta %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Roghachais modúil:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Cumraigh roghanna"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr ""
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr ""
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Earráid ag léamh comhad %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr ""
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Droch comhad chúltaca"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Earráidh ag scríobh comhad %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Roghnaigh carta grafachach"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Scríos Printéir"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Scríos Printéir"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Roghnaigh liebhéal slándáil"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Gan pasfhocal"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Ainm úsáideora"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "Scríos Printéir"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Cumraigh nasc ghréasán"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Cumraigh seirbhisí"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Gan pasfhocal"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Tá an pasfhocal seo ro-shimplí"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Gan pasfhocal"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Ainm úsáideora"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "Pointe taca dublach %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr ""
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Bocht"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Caighdeánach"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Árd"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Níos Airde"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranóid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Slándáil"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Roghnachais"
+
+#: security/level.pm:57
+#, fuzzy, c-format
+msgid "Please choose the desired security level"
+msgstr "Roghnaigh liebhéal slándáil"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Leibhéal Slándála"
+
+#: security/level.pm:63
+#, fuzzy, c-format
+msgid "Use libsafe for servers"
+msgstr "Roghnaigh cumraíocht an freastalaí"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Priontáil"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Idirlíon"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Roinnt na gComhad"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Córas"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Scríos Printéir"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Freastalaí Bunachair Sonraí"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Seirbishí"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "ag rith"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "ag stoppadh"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Eolas"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Ar Tús"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Tosaigh"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stad"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Eocharclár"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Freastalaí nua"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Domhanda"
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "An Afraic Theas"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "An Ostair"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "An Eoraip"
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "An Afraic Theas"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "An Aigéine"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "An Afraic Theas"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Cong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Cónaidhm na Rúise"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "An Iúgslaiv"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "An bhfuil seo ceart?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "dealbh an comhad"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr ""
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Níl aon filltéan ann"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Níl a leithéid de chomhad ann"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr ""
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr ""
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr ""
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Theip ar shuiteáil"
+
+#~ msgid "Icon"
+#~ msgstr "Dealbh"
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "Ag formáidiú"
diff --git a/perl-install/share/po/gl.po b/perl-install/share/po/gl.po
new file mode 100644
index 000000000..6f33f60dd
--- /dev/null
+++ b/perl-install/share/po/gl.po
@@ -0,0 +1,6764 @@
+# translation of libDrakX-gl.po to Galician
+#
+# Latest versions of po files are at http://www.mandrivalinux.com/l10n/gl.php3
+# Jesús Bravo Álvarez (mdk) <jba@pobox.com>, 2001.
+# Leandro Regueiro <leandro.regueiro@gmail.com>, 2004, 2005, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libDrakX-gl\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-09-10 14:02+0100\n"
+"Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n"
+"Language-Team: Galician <<gpul-traduccion@ceu.fi.udc.es>>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: KBabel 1.9.1\n"
+"X-Poedit-Language: Gallegan\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Por favor, agarde"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Instalando o cargador de arrinque"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO quere asignar un novo ID de Volume ID á unidade %s. Sen embargo,\n"
+"cambiar o ID de Volume dun disco de arrinque de Windows NT, 2000, ou XP é\n"
+"un erro moi grave de Windows.\n"
+"Esta precaución non se aplica a discos de datos de Windows 95 ou 98, ou NT.\n"
+"\n"
+"Desexa asignar un novo ID de Volume?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "A instalación do cargador de arrinque fallou. Ocorreu o seguinte erro:"
+
+#: any.pm:185
+#, fuzzy, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Pode ser que teña que cambiar o dispositivo de arrinque de Open\n"
+"Firmware para habilitar o cargador de arrinque. Se non ve a liña do "
+"cargador de arrinqueó reiniciar, \n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Decidiu instala-lo cargador de arrinque nunha partición.\n"
+"Isto implica que xa ten un cargador de arrinque no disco duro que está "
+"arrincando (p.ex.: System Commander).\n"
+"\n"
+"¿Dende qué unidade está arrincando?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Primeiro sector do disco (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Primeiro sector da partición raiz"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Nun Disquete"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Omitir"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Instalación do LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "¿Onde quere instala-lo cargador de arrinque?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configuración do Estilo de Arrinque"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opcións principais do cargador de arrinque"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Cargador de Arrinque"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Cargador de arrinque que se usará"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dispositivo de arrinque"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Opcións principais"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Retardo antes de arrinca-la imaxe por omisión"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Activar ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Activar ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Activar ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Contrasinal"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Os contrasinais non coinciden"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Por favor, inténteo de novo"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"Non pode usar un sistema de ficheiros cifrado para o punto de montaxe %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Contrasinal (de novo)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Restrinxir opcións da liña de comandos"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "restrinxir"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"A opción ``Restrinxir opcións da liña de comandos'' non ten sentido sen "
+"contrasinal"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Baleirar /tmp en cada arrinque"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Tamaño exacto da memoria RAM se for necesario (atopáronse %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Indique o tamaño da memoria RAM en MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Mensaxe Inicial"
+
+#: any.pm:334
+#, fuzzy, c-format
+msgid "Open Firmware Delay"
+msgstr "Retraso de Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Tempo de Espera do Arrinque do Kernel"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Permiti-lo arrinque dende un CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Activar o Arrinque OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "¿S.O. por omisión?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imaxe"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Raíz"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Agregar"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Modo de video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Perfil de rede"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etiqueta"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Por omisión"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Etiqueta baleira non permitida"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Debe especificar unha imaxe do kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Debe especificar unha partición raíz"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Esta etiqueta xa se está usando"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "¿Qué tipo de entrada desexa engadir?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Outros S.O. (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Outros S.O. (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Outros S.O. (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Estas son as diferentes entradas.\n"
+"Pode engadir algunhas máis ou cambia-las que xa existen."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "acceso ós programas X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "acceso ás ferramentas rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permitir \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "acceso ós ficheiros de administración"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "acceso ás ferramentas de rede"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "acceso ás ferramentas de compilación"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s xa foi engadido)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Por favor, indique un nome de usuario"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"O nome de usuario (login) só pode conter letras minúsculas, números, '-' e "
+"'_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "O nome de usuario é moi longo"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Este nome de usuario xa está engadido"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID de Usuario"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID do Grupo"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s debe ser un número"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s debe estar por riba de 500. Desexa aceptar de tódolos xeitos?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Engadir usuario"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Introduza un usuario\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Feito"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Aceptar usuario"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nome real"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nome de usuario"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Login automático"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Pódese configurar o ordenador para que entre automáticamente\n"
+"un usuario determinado."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Usar esta funcionalidade"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Escolla o usuario por defecto:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Escolla o xestor de fiestras que se executará:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Acordo da licencia"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Saír"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Notas da Versión"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Aceptar"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Rexeitar"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Por favor, escolla a lingua que desexe usar."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Selección da Lingua"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux pode soportar múltiples linguas. Seleccione\n"
+"as linguas que desexa instalar. Esta linguas estarán dispoñibles\n"
+"cando a instalación estea completa e reinicie o seu sistema."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Multilinguaxe"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Tódalas linguas"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "País"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Por favor, escolla o seu país."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Esta é a lista completa dos paises dispoñibles"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Outros Paises"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Método de entrada:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ningún"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Non compartir"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permitirlle a tódolos usuarios"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalizado"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Desexa permitir que os usuarios compartan algúns dos seus directorios?\n"
+"Se permite isto deixará que os usuarios simplemente preman en \"Compartir\" "
+"en konqueror e en nautilus.\n"
+"\n"
+"\"Personalizado\" permite especificalo usuario a usuario.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: o sistema tradicional de compartimento de ficheiros de Unix, con menos "
+"soporte en Mac e Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: un sistema de compartimento de ficheiros que se usa en sistemas "
+"Windows, Mac OS X e varios Linux modernos."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Pode exportar usando NFS ou SMB. Por favor, escolla cal quere usar."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Executar userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Pechar"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"O compartimento por usuario usa o grupo \"fileshare\". \n"
+"Pode usar userdrake para engadir un usuario a este grupo."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Saia da sesión e use Ctrl-Alt-Retroceso"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Cómpre que saia do sistema e volva entrar para que os cambios teñan efecto"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Zona Horaria"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Cal é a súa zona horaria?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Configuración de Data, Reloxo e Zona Horaria"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "O reloxo interno do ordenador usa a hora GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "O reloxo interno do ordenador usa a hora GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Servidor NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sincronización automática da hora (usando NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Ficheiro local"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Tarxeta Smart"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Dominio Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Directorio Activo con SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Directorio Activo con Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Ficheiro local:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Dille ó seu ordenador que use LDAP para toda ou parte da autenticación. LDAP "
+"consolida algúns tipos de información dentro da súa organización."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Permítelle ter un grupo de ordenadores do mesmo dominio de Network "
+"Information Service cun mesmo ficheiro password e group."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Dominio Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind permítelle ó sistema recuperar información e autenticar os usuarios "
+"nun dominio Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Directorio Activo con SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Con Kerberos e Ldap para autenticación nun Servidor de Active Directory"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Directorio Activo con Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind permítelle ó sistema autenticar usuarios nun Servidor Windows de "
+"Active Directory."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autenticación LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Servidor LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "simple"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, fuzzy, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "capa de seguridade (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autenticación nun Directorio Activo"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Dominio"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servidor"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Base de datos de usuarios LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Usar BIND anónimo"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Usuario LDAP con permiso para navegar polo Directorio Activo"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Contrasinal para o usuario"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autenticación NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Dominio NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Servidor NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autenticación nun Dominio Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nome de Usuario do Administrador do Dominio"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Contrasinal do Administrador do Dominio"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autenticación"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Estableza o contrasinal do administrador (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Método de autenticación"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Sen contrasinal"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Este contrasinal é demasiado simple (ten que ter polo menos %d caracteres)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Benvido o selector de sistema operativo!\n"
+"\n"
+"Escolla un sistema operativo na lista de enriba, ou\n"
+"agarde a que arrinque o sistema por defecto.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO con menú de texto"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB con menú gráfico"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB con menú de texto"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "non hai espacio dabondo en /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Non se pode instala-lo cargador de arrinque nunha partición %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"A configuración do seu cargador de arrinque ten que actualizarse porque "
+"cambiou o número da partición"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Non se puido instalar de xeito correcto o cargador de arrinque. Ten que "
+"arrincar co disco de rescate e elixir \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Reinstala-lo Cargador de Arrinque"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutos"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d segundos"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "falta o comando %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV é un protocolo que permite montar un directorio dun servidor web\n"
+"de maneira local, e tratalo coma un sistema de ficheiros local (se o "
+"servidor web\n"
+"está configurado coma un servidor WebDAV). Se desexa engadir puntos de\n"
+"montaxe WebDAV, seleccione \"Novo\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Novo"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Desmontar"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montar"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Punto de montaxe"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcións"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Erro"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Por favor, introduza a URL do servidor WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "A URL debe comezar con http:// ou https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servidor: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Punto de montaxe: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcións: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Facendo as particións"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "¡Lea con moita atención!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Faga primeiro unha copia de seguridade dos seus datos"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Sair"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continuar"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Se ten pensado usar aboot, teña coidado de deixar un espacio libre (2048\n"
+"sectores abondan) no comezo do disco"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Axuda"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Escolla unha acción"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Ten unha partición grande con Microsoft Windows.\n"
+"Aconséllase que primeiro a redimensione\n"
+"(prema nela, e logo en \"Redimensionar\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Por favor, prema nunha partición"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalles"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Non se atoparon unidades de disco duro"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Descoñecido"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "FS Transaccional"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Intercambio"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Outros"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Baleiro"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipos de sistemas de ficheiros:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Advertencia"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Esta partición xa está baleira"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Usar ``Desmontar'' primeiro"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Usar ``%s'' no seu lugar"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipo"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Escolla outra partición"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Escolla unha partición"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Refacer"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Cambiar a modo normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Cambiar a modo experto"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Confirmación"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "¿Continuar de calquera xeito?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Sair sen gardar"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "¿Saír do programa sen garda-la táboa de particións?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "¿Desexa garda-las modificacións de /etc/fstab?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Necesita reinicia-lo equipo para que a modificación da táboa\n"
+"de particións se tome en conta"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Debe formatar a partición %s.\n"
+"Doutro xeito non se escribirá unha entrada para o punto de montaxe %s no "
+"fstab.\n"
+"Desexa saír?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Borrar todas"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Asignación automática"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Máis"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Información da unidade de disco duro"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Estanse usando tódalas particións primarias"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Non é posible engadir máis particións"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Para ter máis particións, borre unha para poder crear unha partición "
+"extendida"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Sen supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount agás para as unidades de CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Garda-la táboa de particións"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Restaura-la táboa de particións"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recupera-la táboa de particións"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Recarga-la táboa de particións"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Montar automáticamente os soportes extraíbles"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Seleccione un ficheiro"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"A táboa de particións de rescate non ten o\n"
+"mesmo tamaño. ¿Continuar de tódolos xeitos?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Intentando recupera-la táboa de particións"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Información detallada"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Redimensionar"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatar"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Engadir ó RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Engadir ó LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Eliminar"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Quitar do RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Quitar do LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifica-lo RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Usar para loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Crear"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Crear unha nova partición"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sector inicial: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Tamaño en MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tipo de sistema de ficheiros: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferencia: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nome do volume lóxico "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Non pode crear unha nova partición\n"
+"(xa que alcanzou o número máximo de particións primarias).\n"
+"Elimine primeiro unha partición primaria e cree unha partición extendida."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Eliminar o ficheiro de loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Ó cambia-lo tipo de partición %s, perderanse tódolos datos da partición"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Cambia-lo tipo de partición"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "¿Qué sistema de ficheiros desexa?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Cambiando de ext2 a ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Que etiqueta de volume?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Etiqueta:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Onde desexa monta-lo ficheiro de loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "¿Onde desexa monta-lo dispositivo %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Non se pode quita-lo punto de montaxe porque esta partición estase a\n"
+"usar para loopback.\n"
+"Quite primeiro o loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "¿Onde desexa montar %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Redimensionando"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Calculando os límites do sistema de ficheiros FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Esta partición non se pode redimensionar"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"Debería facer unha copia de seguridade de tódolos datos desta partición"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Ó redimensiona-la partición %s, perderanse tódolos datos da partición"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Escolla o novo tamaño"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Novo tamaño en MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Tamaño mínimo: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Tamaño máximo: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Para asegurar a integridade dos datos despois de redimensionar a(s) partición"
+"(s), \n"
+"executaranse unhas verificacións do sistema de ficheiros a próxima vez que "
+"arrinque Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Escolla un dos RAID para engadirlla"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "novo"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Escolla un dos LVM para engadirlla"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "¿Nome do LVM?"
+
+#: diskdrake/interactive.pm:902
+#, fuzzy, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Ainda se está usando o volume físico %s.\n"
+"Desexa mover as partes usadas deste volume a outros volumes?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Esta partición non pode usarse para loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nome do ficheiro loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Introduza un nome de ficheiro"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "O ficheiro xa está a ser usado por outro loopback, escolla outro"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "O ficheiro xa existe. ¿Quere usalo?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opcións de montaxe"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "dispositivo"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivel"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "tamaño do bloque de datos en KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Teña coidado: esta operación é perigosa."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "¿Qué tipo de particionamento quere?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Necesitará reiniciar o equipo para que a modificación sexa tomada en conta"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "¡Escribirase no disco a táboa de particións da unidade %s!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Ó formata-la partición %s, perderanse tódolos datos da partición"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Comproba-los bloques erróneos?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Despraza-los ficheiros á nova partición"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Agocha-los ficheiros"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Desprazando os ficheiros á nova partición"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Copiando %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Eliminando %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "o nome da partición %s é %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Renumeraronse as particións: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Dispositivo: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Etiqueta de volume:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Letra de unidade DOS: %s (aproximación)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipo: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nome: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Inicio: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Tamaño: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sectores"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cilindros %d a %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatado\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Non formatado\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montado\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Ficheiro(s) de loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partición de arrinque por omisión\n"
+" (para arrincar en MS-DOS, non para lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivel %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Tamaño do bloque de datos %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Discos RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nome do ficheiro loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Esta partición Bootstrap\n"
+"especial é para o\n"
+"arrinque dual do seu sistema.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Só Lectura"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Tamaño: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Xeometría: %s cilindros, %s cabezas, %s sectores\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Información: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Discos LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipo de táboa de particións: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "na canle %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Clave de cifrado do sistema de ficheiros"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Escolla a clave de cifrado do seu sistema de ficheiros"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Esta clave de cifrado é moi sinxela (ten que ter polo menos %d caracteres)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "As claves de cifrado non coinciden"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Clave de cifrado"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Clave de cifrado (outra vez)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritmo de cifrado"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Cambia-lo tipo"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+"Non se puido entrar usando o nome de usuario %s (¿era o contrasinal "
+"correcto?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Autenticación no Dominio Requirida"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Qué nome de usuario"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Outro"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Por favor introduza o seu nome de usuario, contrasinal e nome de dominio "
+"para acceder a este servidor."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nome de usuario"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Buscar servidores"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Buscar novos servidores"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Necesitase instala-lo paquete %s. ¿Desexa instalalo?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "¡Non se puido instala-lo paquete %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Falta o paquete obrigatorio %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Cómpre instala-los seguintes paquetes:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instalando paquetes..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Eliminando paquetes..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Ocorreu un erro - non se atopou ningún dispositivo válido para crear novos "
+"sistemas de ficheiros. Verifique o hardware para atopa-la razón deste "
+"problema"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Debe ter unha partición FAT montada en /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatando a partición %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Creando e formatando o ficheiro %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Descoñécese o xeito de formatar %s de tipo %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "O formato %s de %s fallou"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Puntos de montaxe circulares %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Montando a partición %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "fallo ó monta-la partición %s no directorio %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Comprobando %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "erro desmontando %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Activando a partición de intercambio %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Usar un sistema de ficheiros cifrado"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Non actualizar as horas de acceso ó inodos neste sistema de ficheiros\n"
+"(p.ex, para un acceso máis rápido na cola de novas para acelerar os "
+"servidores de novas)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Só se poderá montar explícitamente (p.ex.,\n"
+"a opción -a non fará que o sistema de ficheiros se monte)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Non interpretar os dispositivos de caracter ou bloque especiais no sistema "
+"de ficheiros."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Non permitir a execución de binarios no sistema de ficheiros que\n"
+"se montou. Esta opción pode ser útil para un servidor que ten sistemas de "
+"ficheiros\n"
+"que conteñen binarios para arquitecturas diferentes da súa."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Monta-lo sistema de ficheiros coma de só lectura."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+"Toda a E/S do sistema de ficheiros debe facerse de maneira sincronizada."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Permite a tódolos usuarios montar e desmontar o sistema de ficheiros."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Permitir que os usuarios normais monten o sistema de ficheiros."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, fuzzy, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Soportar os atributos extendidos de usuario"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Darlle acceso de escritura ós usuarios normais"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Darlle acceso de só lectura ós usuarios normais"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Punto de montaxe %s duplicado"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Non hai ningunha partición dispoñible"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Examinando as particións para atopa-los puntos de montaxe"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Escolla os puntos de montaxe"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Elixa as particións que desexa formatar"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Fallo ó verificar o sistema de ficheiros %s. Desexa reparar os erros? (teña "
+"coidado, pode perder datos)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Non hai espacio de intercambio dabondo para levar a cabo a instalación, "
+"engada algún"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Ten que ter unha partición raíz.\n"
+"Para tela, cree unha partición (ou prema nunha que xa exista).\n"
+"Logo escolla a acción ``Punto de montaxe'', e asóciea a `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Non ten unha partición swap (espacio de intercambio)\n"
+"\n"
+"Desexa continuar de tódolos xeitos?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Usar espacio libre"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Non hai espacio libre dabondo para crear novas particións"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Usar particións existentes"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Non hai ningunha partición existente para usar"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Usar a partición de Microsoft Windows® para loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Que partición desexa usar para Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Escolla os tamaños"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Tamaño da partición raíz en MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Tamaño da partición swap en MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Non hai particións FAT para usar coma loopback (ou non hai espacio nelas)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usa-lo espacio libre da partición de Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Que partición desexa redimensionar?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"O redimensionador de FAT non é capaz de manexa-la súa partición,\n"
+"ocorreu o seguinte erro: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Calculando o tamaño da partición de Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"A partición de Microsoft Windows® está demasiado fragmentada. Reinicie o seu "
+"sistema con Microsoft Windows®, execute a utilidade ``defrag'', e despois "
+"reinicie a instalación de Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ADVERTENCIA!\n"
+"\n"
+"\n"
+"Vaise redimensiona-la partición de Microsoft Windows®.\n"
+"\n"
+"\n"
+"Teña coidado: esta operación é perigosa. Se aínda non o fixo, terá que saír "
+"da instalación primeiro, executar \"chkdsk c:\" nun Intérprete de Comandos "
+"en Microsoft Windows® (Teña coidado, executa-lo programa gráfico \"scandisk"
+"\") non é dabondo, ¡asegúrese de usar \"chkdsk\" nun Intérprete de "
+"Comandos!), e opcionalmente defrag, e despois recomece a instalación. Tamén "
+"debería facer unha copia de seguridade dos seus datos.\n"
+"\n"
+"\n"
+"Cando estea seguro, prema en %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Seguinte"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Que tamaño desexa conservar para Microsoft Windows® en a partición %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Tamaño"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Redimensionando a partición de Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Fallou o redimensionamento da FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Non hai particións FAT que redimensionar (ou non hai espacio libre dabondo)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Eliminar Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Borrar e usa-lo disco enteiro"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Ten máis dun disco duro, ¿en cal deles desexa instalar linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Perderanse TÓDALAS particións existentes e mailos seus datos na unidade %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Particionamento de disco personalizado"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Usar fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Agora pode particionar %s.\n"
+"Cando remate, non esqueza gardar usando `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Non se puido atopar espacio dabondo para a instalación"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "O Asistente de Particionamento de DrakX atopou as seguintes solucións:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "O particionamento fallou: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Non pode usar JFS para particións máis pequenas de 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Non pode usar ReiserFS para particións máis pequenas de 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "con /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servidor"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Non se pode le-la táboa de particións do dispositivo %s, está demasiado "
+"deteriorada :(\n"
+"Pódese probar baleirando as particións erróneas (¡Perderanse TODOLOS "
+"datos!).\n"
+"A outra solución é impedir que o DrakX modifique a táboa de particións.\n"
+"(o erro é %s)\n"
+"\n"
+"¿Está de acordo ca perda de tódalas particións?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Os puntos de montaxe deben comezar por /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Os puntos de montaxe só poden conter caracteres alfanuméricos"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Xa existe unha partición co punto de montaxe %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Seleccionou unha partición RAID por software coma raíz (/).\n"
+"Non hai ningún cargador de arrinque capaz de manexar isto\n"
+"sen unha partición /boot.\n"
+"Asegúrese de engadir unha partición /boot"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Non pode usar un Volume Lóxico LVM para o punto de montaxe %s xa que expande "
+"os volumes físicos"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Seleccionou un Volume Lóxico LVM coma raíz (/).\n"
+"O cargador de arrinque non é capaz de manexar isto cando o volume\n"
+"expande os volumes físicos.\n"
+"\n"
+"Debe crear unha partición /boot primeiro"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Este directorio debería permanecer dentro do sistema de ficheiros raíz"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Necesita un sistema de ficheiros real (ext2/ext3, reiserfs, xfs, ou jfs) "
+"para este punto de montaxe\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Non pode usar un sistema de ficheiros cifrado para o punto de montaxe %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Non hai espacio libre dabondo para asignar automáticamente"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nada que facer"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disquete"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disco Duro"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Gravadoras de CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Cinta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Controladoras AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Tarxeta de Video"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Tarxeta DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Tarxeta de TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Outros dispositivos MultiMedia"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Tarxeta de Son"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Procesadores"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Adaptadores RDSI"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Dispositivos de son USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Tarxetas de radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Tarxetas de rede ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Tarxetas de rede WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Dispositivos Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Tarxeta Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Módem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Adaptadores ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memoria"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Impresora"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Controladores de portos de xogo"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Controladores SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Controladores RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Controladoras (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Dispositivos de Almacenamento Masivo USB"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Modelo de tarxeta:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Controladoras Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Controladoras PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Controladoras SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Controladoras USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Portos USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Controladores SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Teclado"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Rato"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "SAI"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Escáner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Descoñecidos/Outros"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Por Favor, Agarde... Aplicando a configuración"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Non hai driver alternativo"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Non hai ningún driver OSS/ALSA alternativo para a súa tarxeta de son (%s) "
+"que actualmente usa \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Configuración do son"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Aquí pode seleccionar un driver alternativo (tanto OSS coma ALSA) para a súa "
+"tarxeta de son (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"A tarxeta está usando o driver %s\"%s\" (o driver predeterminado da tarxeta "
+"é \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) foi a primeira API de son. É unha API de son "
+"independente do SO (está dispoñible na maioría dos sistemas UNIX(tm)) pero é "
+"unha API moi básica e limitada.\n"
+"Ainda máis, tódolos drivers OSS reinventan a roda.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) é unha arquitectura modularizada\n"
+"que soporta un gran rango de tarxetas ISA, USB e PCI.\n"
+"\n"
+"Tamén proporciona unha API superior ca OSS.\n"
+"\n"
+"Para usar alsa pódense usar:\n"
+"- a vella api de compatibilidade con OSS\n"
+"- a nova api ALSA que proporciona moitas funcionalidades melloradas pero "
+"require o uso da librería ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Driver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Solución de problemas"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Non hai un driver de código aberto"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Non hai un driver libre para a súa tarxeta de son (%s), pero hai un driver "
+"propietario en \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Driver descoñecido"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Non hai ningún driver coñecido para a súa tarxeta de son (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Driver descoñecido"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Erro: O driver \"%s\" para a súa tarxeta de son non está na lista"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Solución de problemas co son"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"A maneira clásica de comprobación de erros do son é executar os seguintes "
+"comandos:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" diralle que driver usa a súa tarxeta\n"
+"de forma predeterminada\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" diralle que driver está\n"
+"usando agora mesmo\n"
+"\n"
+"- \"/sbin/lsmod\" permitiralle comprobar se o seu módulo (driver)\n"
+"está cargado ou non\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" e \"/sbin/chkconfig --list alsa\"\n"
+"diranlle se os servicios sound e alsa están configurados para\n"
+"executarse no nivel de execución 3\n"
+"\n"
+"- \"aumix -q\" diralle se o volume do son está silenciado ou non\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" diralle que programa está usando a\n"
+"tarxeta de son.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Déixeme escoller un driver calquera"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Escolleando un driver ó chou"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Se sabe cal driver é o axeitado para a súa tarxeta\n"
+"pode escollelo na lista de enriba.\n"
+"\n"
+"O driver actual para a súa tarxeta de son \"%s\" é \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Detección automática"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Descoñecido|Xenérico"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Descoñecido|CPH05X (bt878) [varios vendedores]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Descoñecido|CPH06X (bt878) [varios vendedores]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Para a maioría das tarxetas de TV modernas, o módulo bttv do kernel Linux "
+"detecta automáticamente os parámetros correctos.\n"
+"Se a súa tarxeta non se detecta, vostede pode forzar aquí os tipos de "
+"sintonizador e tarxeta correctos. Simplemente seleccione os parámetros da "
+"súa tarxeta de TV se for necesario."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Modelo de tarxeta:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipo de sintonizador:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Aceptar"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Si"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Non"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Escolla un ficheiro"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Engadir"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modificar"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Eliminar"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Finalizar"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Anterior"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Elección incorrecta, inténteo de novo\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "¿A súa elección? (por omisión %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Entradas que ten que encher:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "¿A súa elección? (0/1, por omisión `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Botón `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Desexa premer neste botón?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "¿A súa elección? (por omisión `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " introduza `void' para a entrada void"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Aviso, cambiou unha etiqueta:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Reenviar"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emiratos Árabes Unidos"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistán"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antiga e Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguila"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antillas Neerlandesas"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antártida"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Arxentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Americana"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Acerbaixán"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia-Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Bélxica"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benín"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Illas Bermudas"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bután"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Illa Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botsuana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorrusia"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belice"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canadá"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Illas Cocos"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "República Centroafricana"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Suíza"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Costa de Marfil"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Illas Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camerún"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia e Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cabo Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Illa Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Chipre"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "República Checa"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Alemaña"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Xibutí"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dinamarca"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "República Dominicana"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alxeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Exipto"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Occidental"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "España"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopía"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidxi"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Illas Malvinas (Falkland)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Illas Feroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francia"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabón"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Reino Unido"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Granada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Xeorxia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Güiana Francesa"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Xibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grenlandia"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadalupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea Ecuatorial"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grecia"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Illas Xeorxia do Sur e Sandwich do Sur"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea Bisau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Güiana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Illas Heard e McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croacia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haití"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungría"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territorios Británicos do Océano Índico"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irán"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandia"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Xamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Xordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Xapón"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Quenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizstán"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Camboia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comores"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts e Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corea do Norte"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corea do Sur"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Illas Caimán"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstán"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Líbano"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Lucía"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburgo"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letonia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marrocos"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Mónaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavia"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Illas Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Malí"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Birmania"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Illas Marianas do Norte"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinica"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauricio"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivas"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malaui"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "México"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaisia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nova Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Níxer"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Illa Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nixeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Países Baixos"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noruega"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nova Celandia"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omán"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panamá"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perú"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinesia Francesa"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papúa-Nova Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinas"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Paquistán"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre e Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Porto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguai"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunión"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabia Saudí"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Illas Salomón"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudán"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Suecia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Eslovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Illas Svalbard e Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Eslovaquia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Serra Leoa"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "San Tomé e Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "O Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Suazilandia"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Illas Turks e Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Territorios Franceses do Sur"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailandia"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Taxikistán"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Toquelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Oriental"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistán"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunicia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turquía"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trindade e Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwán"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ucraína"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Illas Exteriores Menores dos EEUU"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Estados Unidos"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguai"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistán"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "O Vaticano"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "San Vincente e as Granadinas"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Illas Virxes (Británicas)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Illas Virxes (Norteamericanas)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis e Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Iemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Maiote"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sudáfrica"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Cimbabue"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Benvid@ a %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "O volume físico %s ainda se está usando"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Quitar primeiro os volumes lóxicos\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"O cargador de arrinque non pode manexar /boot en varios volumes físicos"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"ESTE TEXTO É UNHA TRADUCCIÓN, CON PROPÓSITO EXCLUSIVAMENTE \n"
+"INFORMATIVO, DOS TERMOS DA LICENZA DE MANDRIVA LINUX. EN NINGÚN CASO \n"
+"ESTA TRADUCCIÓN TEN VALOR LEGAL. O ÚNICO TEXTO DESTA LICENZA CON \n"
+"VALOR LEGAL É A VERSIÓN ORIXINAL DA LICENZA DE MANDRIVA LINUX. Non \n"
+"obstante agardamos que esta traducción axude ós galegofalantes a entender "
+"mellor dita licenza, \n"
+"ainda que o traductor a traduciu como boamente puido.\n"
+"\n"
+"\n"
+"Introducción\n"
+"\n"
+"O sistema operativo e os diferentes compoñentes dispoñibles na distribución "
+"Mandriva Linux \n"
+"chamaranse \"Productos de Software\" de aqui en diante. Os Productos de "
+"Software inclúen, \n"
+"pero non están restrinxidos a, o conxunto de programas, métodos, regras e "
+"documentación \n"
+"relacionada co sistema operativo e os diferentes compoñentes da distribución "
+"Mandriva Linux.\n"
+"\n"
+"\n"
+"1. Acordo de Licenza\n"
+"\n"
+"Por favor lea este documento con coidado. Este documento é un acordo de \n"
+"licenza entre vostede e Mandriva S.A. o cal se aplica ós Productos de "
+"Software.\n"
+"Se instala, duplica ou usa os Productos de Software de calquera maneira, "
+"vostede \n"
+"acepta completa e explicitamente axustarse ós termos e condicións desta "
+"Licenza. \n"
+"Se vostede non está de acordo con calquera parte desta Licenza, non se lle "
+"permite instalar, \n"
+"duplicar ou usar os Productos de Software. \n"
+"Calquera intento de instalar, duplicar ou usar os Productos de Software "
+"dalgún xeito que non \n"
+"cumpra cos termos e condicións desta Licenza está prohibido e anulará os "
+"seus dereitos baixo \n"
+"esta Licenza. Cara o remate da Licenza, vostede debe destruir "
+"inmediatamente \n"
+"tódalas copias dos Productos de Software.\n"
+"\n"
+"\n"
+"2. Garantía Limitada\n"
+"\n"
+"Os Productos de Software e a documentación adxunta proporciónanase \"como "
+"están\", sen \n"
+"garantías, ata onde o permita a lei.\n"
+"Mandriva S.A. non será responsable baixo ningún tipo de circunstancias e ata "
+"onde o permita \n"
+"a lei, por calquera dano especial, relacionado, directa ou indirectamente "
+"sexa cal sexa \n"
+"(incluindo pero sen limitarse a, danos por perda de negocio, interrupción "
+"dos negocios, perdas \n"
+"financeiras, dereitos legais e multas procedentes dun xulgado, ou calquera "
+"outra perda en \n"
+"consecuencia) exceptuando o uso ou incapacidade para usar os Productos de "
+"Software, \n"
+"incluso se Mandriva S.A. tivera avisado da posibilidade ou existencia de "
+"tales danos.\n"
+"\n"
+"RESPONSABILIDADE LIMITADA RELACIONADA CA POSESIÓN OU USO DE SOFTWARE "
+"PROHIBIDO NALGÚNS PAÍSES\n"
+"\n"
+"Ata onde a lei o permita, Mandriva S.A. ou os seus distribuidores, non serán "
+"baixo ningunha \n"
+"circunstancia, considerados responsables por calquera dano dano especial, "
+"relacionado, directa \n"
+"ou indirectamente sexa cal sexa (incluindo pero sen limitarse a, danos por "
+"perda de negocio, \n"
+"interrupción dos negocios, perdas financeiras, dereitos legais e multas "
+"procedentes dun \n"
+"xulgado, ou calquera outra perda en consecuencia) exceptuando a posesión e "
+"uso de compoñentes \n"
+"de software ou exceptuando a descarga de compoñentes de software dalgún dos "
+"sitios de Mandriva Linux \n"
+"que estea prohibido ou restrinxido nalgúns países polas leis locais. Esta "
+"responsabilidade limitada \n"
+"aplícase, pero non está restrinxida a, os compoñentes de cifrado forte "
+"incluidos nos Productos de Software.\n"
+"\n"
+"\n"
+"3. A Licenza GPL e Licenzas Relacionadas\n"
+"\n"
+"Os Productos de Software consisten en compoñentes creados por persoas ou "
+"entidades diferentes. \n"
+"A maior parte destes compoñentes están baixo os termos e condicións da "
+"Licenza Pública Xeral \n"
+"de GNU, que dende agora chamaremos \"GPL\", ou licenzas semellantes. A maior "
+"parte \n"
+"destas licenzas permítenlle usar, duplicar, adaptar ou redistribuír os "
+"compoñentes que \n"
+"cobren. Por favor lea con coidado os termos e condicións do acordo de "
+"licenza de cada \n"
+"compoñente antes de usar calquera compoñente. Calquera pregunta sobre a "
+"licenza dun \n"
+"compoñente debe dirixirse ó autor do compoñente e non a Mandriva. Os "
+"programas desenvolvidos \n"
+"por Mandriva S.A. están baixo a Licenza GPL. A documentación escrita por "
+"Mandriva S.A. está \n"
+"baixo unha licenza específica. Por favor refírase á documentación para obter "
+"máis detalles.\n"
+"\n"
+"\n"
+"4. Dereitos de Propiedade Intelectual\n"
+"\n"
+"Tódolos dereitos dos compoñentes dos Productos de Software pertencen ós seus "
+"respectivos autores \n"
+"e están protexidos polas leis de propiedade intelectual e copyright "
+"aplicables ós programas de software.\n"
+"Mandriva S.A. resérvase os seus dereitos para modificar ou adaptar os "
+"Productos de \n"
+"Software, en conxunto ou en parte, de calquera maneira e para tódolos "
+"propósitos.\n"
+"\"Mandriva\", \"Mandriva Linux\" e os logos asociados son marcas comerciais "
+"de Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Leis de Dominio \n"
+"\n"
+"Se calquera parte deste acordo é declarada nula, ilegal ou inaplicable por "
+"un xulgado, dita porción \n"
+"excluirase deste contrato. Vostede continuará ligado polas outras seccións "
+"aplicables do acordo.\n"
+"Os termos e condicións desta licenza están baixo as Leis de Francia.\n"
+"Tódalas disputas sobre os termos desta licenza resolveranse preferiblemente "
+"fóra dos xulgados. \n"
+"Coma último recurso, a disputa remitirase ó Xulgado apropiado de París - "
+"Francia.\n"
+"Para calquera pregunta sobre este documento, por favor contacte con Mandriva "
+"S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Advertencia: O Software Libre non ten por que estar libre de patentes, e "
+"parte\n"
+"do Software Libre incluído pode estar suxeito a patentes no seu país. Por\n"
+"exemplo, os decodificadores MP3 incluídos poden requirir unha licenza para "
+"o\n"
+"seu uso (mire http://www.mp3licensing.com para obter máis detalles). Se non\n"
+"está seguro de se lle pode afectar unha patente, verifique as súas leis "
+"locais."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Advertencia\n"
+"\n"
+"Por favor, lea con tino os termos de embaixo. Se non está de acordo con\n"
+"algunha parte, non se lle permite instalar o seguinte CD. Prema 'Rexeitar'\n"
+"para continua-la instalación sen usar eses soportes.\n"
+"\n"
+"\n"
+"Algúns dos compoñentes contidos no seguinte CD non están rexidos\n"
+"pola Licenza GPL ou documentos semellantes. Cada un deses\n"
+"compoñentes réxese polos termos e condicións da súa propia licenza\n"
+"específica. Por favor, lea con tino e cumpra cada unha desas licenzas\n"
+"específicas antes de usar ou redistribuír ditos compoñentes.\n"
+"Tales licenzas impedirán en xeral a transferencia, duplicación (agás co\n"
+"propósito da copia de seguridade), redistribución, enxeñería inversa, \n"
+"desensamblamento, descompilación ou modificación do compoñente. \n"
+"Calquera infracción do contrato terminará inmediatamente cos seus dereitos\n"
+"baixo esa licenza específica. A non ser que os termos desa licenza\n"
+"específica lle conceda ditos dereitos, normalmente non poderá instala-los\n"
+"programas en máis dun sistema, ou adaptalos para usalos nunha rede. Se\n"
+"ten dúbidas, por favor, contacte directamente co distribuidor ou editor do\n"
+"compoñente. \n"
+"A transferencia a terceiras partes ou a copia de ditos compoñentes\n"
+"incluíndo a documentación está normalmente prohibida.\n"
+"\n"
+"\n"
+"Tódolos dereitos dos compoñentes do seguinte CD pertenden ós seus\n"
+"respectivos autores e están protexidos polas leis de propiedade intelectual\n"
+"e de copyright aplicables ó software.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Noraboa, rematou a instalación.\n"
+"Quite o disco de arrinque da unidade e prema Intro para reiniciar.\n"
+"\n"
+"\n"
+"Para información sobre parches dispoñibles para esta versión\n"
+"de Mandriva Linux, consulte as erratas dispoñibles en:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Para información sobre a configuración do seu sistema, despois\n"
+"da instalación, hai un capítulo na Guía de Usuario Oficial de Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Este driver non ten parámetros de configuración!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Configuración dos módulos"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Aqui pode configurar cada parárametro dos módulos."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Atopáronse %s interfaces"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "¿Ten algunha outra?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "¿Ten algunha interface %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Mire a información sobre o hardware"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instalando o driver para o controlador USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instalando o driver para o controlador firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instalando o driver para o controlador de disco duro %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instalando o driver para a controladora ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instalando o controlador para a tarxeta %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Agora pode proporcionarlle opcións ó módulo %s.\n"
+"Teña en conta que calquera enderezo debe introducirse co prefixo 0x coma en "
+"'0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Aquí deben ir as diferentes opcións para o módulo %s.\n"
+"As opcións son da forma «nome=valor nome2=valor2 ...».\n"
+"Por exemplo pode ter «io=0x300 irq=7»"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opcións do módulo:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "¿Que controlador de %s desexa probar?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Nalgúns casos, o controlador de %s necesita información extra\n"
+"para funcionar correctamente, aínda que normalmente funcione sen ela.\n"
+"¿Desexa especificar información extra para o controlador ou deixar que el\n"
+"analice o seu equipo e atope a información que necesita? Ás veces,\n"
+"analizar o equipo pode provocar que se pare, pero non debería\n"
+"causar ningún dano."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Autodetección"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Especifica-las opcións"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Fallo ó carga-lo módulo %s\n"
+"¿Desexa volve-lo intentar con outros parámetros?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "mount fallou: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "As particións estendidas non están soportadas nesta plataforma"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Ten un burato na táboa de particións, pero non se pode usar.\n"
+"A única solución é despraza-las particións primarias para que\n"
+"o burato estea despois das particións estendidas."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Erro ó le-lo ficheiro %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Fallou a restauración a partir do ficheiro %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Ficheiro de copia de seguridade incorrecto"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Erro escribindo ó ficheiro %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Está acontecendo algo grave na súa unidade.\n"
+"A proba para verifica-la integridade dos datos fallou.\n"
+"Isto significa que calquera escritura no disco terminará en datos corruptos "
+"aleatorios."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Non se puido engadir unha partición ó RAID _formatado_ %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Non hai particións dabondo para o nivel RAID %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "¡Non se puido crea-lo directorio /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "¡Non se puido crea-lo enlace /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"¡Non se puido copia-lo ficheiro de firmware %s a /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Non se puido establecer os permisos do ficheiro de firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Non se puideron instalar os paquetes necesarios para compartir os seus "
+"escáners."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Os seus escáners non estarán dispoñibles para os usuarios que non sexan root"
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Aceptar/Rexeitar o eco icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Permitir/Prohibir o login automático."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Permitir/Prohibir o reinicio ó usuario da consola."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Permitir/Prohibir login remoto ó usuario root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Permitir/Prohibir login directo do usuario root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Permitir/Prohibir ve-la lista de usuarios do sistema nos xestores de entrada "
+"(kdm e gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Permitir/Prohibir as conexións X:\n"
+"\n"
+"- TODO (permitir tódalas conexións),\n"
+"\n"
+"- LOCAL (só se permiten as conexións dende a máquina local),\n"
+"\n"
+"- NADA (sen conexión)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"O argumento especifica se os clientes están autorizados a\n"
+"conectarse ó servidor X dende a rede polo porto tcp 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorizar:\n"
+"\n"
+"- tódolos servicios controlados por tcp_wrappers (consulte a páxina man "
+"hosts.deny(5)) se está establecido a \"TODO\",\n"
+"\n"
+"- só os locais se está establecido a \"LOCAL\"\n"
+"\n"
+"- ningún se está establecido a \"NADA\".\n"
+"\n"
+"Para autorizar os servicios que precise, use /etc/hosts.allow (mire hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Activar/Desactivar crontab e at para os usuarios.\n"
+"\n"
+"Poña os usuarios ós que se lles permite usalos en /etc/cron.allow e\n"
+"/etc/at.allow (vexa man at(1) e crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Activar/Desactivar os informes de syslog na consola 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Alertas de Seguridade:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Activar/Desactivar libsafe se se atopa libsafe no sistema."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Activar/Desactivar o rexistro de paquetes IPv4 estraños."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Habilitar/Deshabilitar a verificación de seguridade de msec cada hora."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Habilitar su só dende os membros do grupo wheel ou permitir su dende "
+"calquera usuario."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Usar contrasinal para autenticar ós usuarios."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Habilitar/Deshabilitar a verificación de promiscuidade de tarxetas ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Habilitar/Deshabilitar a comprobación diaria de seguridade."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Habilitar/Deshabilitar sulogin(8) no nivel de usuario único."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Configurar a lonxitude do historial de contrasinais para previr a "
+"reutilización de contrasinais."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Establece-la lonxitude mínima, o número mínimo de díxitos e o número mínimo "
+"de letras maiúsculas do contrasinal."
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Sen contrasinal"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "se está a sí, compróbanse os portos abertos."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"se está a sí, comprobar:\n"
+"\n"
+"- contrasinais baleiros,\n"
+"\n"
+"- a falta do contrasinal en /etc/shadow\n"
+"\n"
+"- usuarios con id 0 diferentes de root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"se está a sí, compróbanse os permisos dos ficheiros do directorio persoal do "
+"usuario"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"se está a sí, comprobarase se os dispositivos de rede están en modo "
+"promiscuo."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "se está a sí, executaranse as comprobacións de seguridade diariamente."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "se está a sí, verifica a adición/eliminación de ficheiros sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "se está a sí, comproba contrasinais baleiros en /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"se está a sí, verifica as sumas de comprobación dos ficheiros suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"se está a sí, verifica a adición/eliminación de ficheiros suid de root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "se está a si, informa de ficheiros sen dono."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"se está a si, comprobaranse os ficheiros/directorios escribibles por todos."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "se está a si, executaranse as verificacións chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"se está configurado, enviar o correo de informe a este enderezo de correo e "
+"senón enviarllo a root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "se está a sí, envía o informe do resultado da comprobación por correo."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Non enviar correos-e se non hai nada do que avisar"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+"se está a sí, executa algunhas comprobacións contra a base de datos de rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "se está a si, devolve o resultado da comprobación a syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "se está a si, devolve o resultado da comprobación a tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Establece-lo tamaño do historial de comandos da shell. O valor -1 significa "
+"sen límite."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Establece o tempo de espera da shell. O valor cero significa sen tempo de "
+"espera."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "A unidade de tempo de espera é o segundo"
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Usuarios"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Aceptar o eco icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* existe"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Permitirlle o login remoto ó usuario root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Entrada directa de root ó sistema"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Listar os usuarios nos xestores de entrada (kdm e gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Permitir conexións X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorizar conexións TCP a X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorizar tódolos servicios controlados por tcp_wrappers"
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Configurar servicios"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Activar \"crontab\" e \"at\" para os usuarios"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog informa na consola 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Activar libsafe se se atopa no sistema"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Activar o rexistro de paquetes IPv4 estraños"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Habilitar a verificación de seguridade de msec cada hora"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Habilita su só dende membros do grupo wheel ou para calquera usuario"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Usar contrasinais para autenticar os usuarios"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Verificación de promiscuidade das tarxetas ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Comprobación de seguridade diaria"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) no nivel de usuario único"
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Sen contrasinal"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"Configurar os intervalos de expiración de contrasinais e inactividade de "
+"contas"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Lonxitude do historial de contrasinais"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Lonxitude mínima e número de díxitos e letras maiúsculas do contrasinal"
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Sen contrasinal"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Tamaño do historial da shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Tempo de espera da shell"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Usuarios"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Comproba-los portos abertos"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Buscar contas inseguras"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+"Verificar os permisos dos ficheiros nos directorios persoais dos usuarios"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Comprobar se os dispositivos de rede están en modo promiscuo"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Executar as comprobacións de seguridade diariamente"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Verificar adicións/eliminacións de ficheiros sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Comproba contrasinais baleiros en /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Verificar as sumas de comprobación dos ficheiros suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Verificar a adición/eliminación de ficheiros suid de root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Informar dos ficheiros sen propietario"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Comprobar os ficheiros/directorios escribibles por tods"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Executar as verificacións chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Non enviar informes por correo baleiros"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Se está configurado, envía o correo de informe a este enderezo de correo e "
+"senón envíallo a root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Enviar o resultado da comprobación por correo"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Realizar algunhas comprobacións sobre a base de datos rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Enviar o resultado da comprobación a syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Enviar o resultado da comprobación a unha tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Benvid@ A Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Pobre"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Estándar"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Alto"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Moi Alto"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoico"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Este nivel hai que usalo con coidado. Fai que o seu sistema sexa máis\n"
+"sinxelo de utilizar, pero é moi sensible: non debe usarse nunha máquina\n"
+"conectada a outras ou á Internet. Non hai contrasinais de acceso."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Os contrasinais están activados, pero o uso como ordenador de rede aínda\n"
+"non se recomenda."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Esta é a seguridade recomendada para un ordenador usado para conectar\n"
+"á Internet como cliente."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Xa hai algunhas restriccións, e executaranse máis comprobacións\n"
+"automáticas cada noite."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Con este nivel de seguridade, é posible usar este sistema coma servidor.\n"
+"A seguridade é agora alta dabondo para usa-lo sistema coma un servidor\n"
+"que acepta conexións de varios clientes.\n"
+"Nota: se a súa máquina só é un cliente da Internet, debe escoller un nivel "
+"menor."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Este é similar ó nivel anterior, pero agora o sistema está completamente\n"
+"pechado. As características de seguridade están ó máximo nivel."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Seguridade"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opcións Básicas de DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Escolla o nivel de seguridade"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Nivel de seguridade"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Usar libsafe para os servidores"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Administrador de Seguridade (login ou correo-e)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Executa-lo sistema de son ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, un xestor de comandos periódicos."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd úsase para monitoriza-lo estado da batería e rexistralo a través do\n"
+"syslog. Tamén pode usarse para apaga-la máquina cando a batería está baixa."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Executa os comandos programados polo comando at á hora indicada\n"
+"cando se executou at, e executa comandos de lotes cando a carga media\n"
+"é baixa dabondo."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"O cron é un programa estándar de UNIX que executa programas\n"
+"especificados polo usuario en datas periódicas programadas. O vixie\n"
+"cron engade algunhas características ó cron básico de UNIX, incluindo\n"
+"mellor seguridade e opcións de configuración máis potentes."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM é un daemon de monitorización de ficheiros. Úsase para obter informes "
+"cando os ficheiros cambian.\n"
+"Úsano o GNOME e o KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM engade soporte para o rato ás aplicacións de texto de Linux, coma\n"
+"o Midnight Commander. Tamén permite operacións de cortar e pegar co\n"
+"rato na consola, e inclúe soporte para menús na consola."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake fai probas de hardware, e opcionalmente configura o\n"
+"hardware novo/cambiado."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache é un servidor de World Wide Web. Úsase para servir ficheiros\n"
+"HTML e CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"O daemon superservidor de internet (normalmente chamado inetd) lanza\n"
+"varios outros servicios de internet cando se precisan. É o responsable de\n"
+"iniciar moitos servicios, incluíndo telnet, ftp, rsh, e rlogin. Desactivando "
+"o\n"
+"inetd desactívanse tódolos servicios de internet dos que é responsable."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Execute o filtrado de paquetes do kernel Linux serie 2.2,\n"
+"para configurar un cortalumes que protexa a súa máquina\n"
+"de ataques dende a rede."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Este paquete carga o mapa de teclado seleccionado en\n"
+"/etc/sysconfig/keyboard. Este pode escollerse usando a utilidade\n"
+"kbdconfig. Debería deixar isto activado para a maioría dos sistemas."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Configuración e detección automática do hardware ó arrincar."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Algunhas veces, Linuxconf levará a cabo varias tarefas ó arrincar para\n"
+"mante-la configuración do sistema."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd é o daemon de impresión requirido para que o lpr funcione\n"
+"correctamente. É basicamente un servidor que distribúe os traballos de\n"
+"impresión á(s) impresora(s)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, úsase para construir un servidor de alto\n"
+"rendemento e alta dispoñibilidade."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) é un Servidor de Nomes de Dominio (DNS), que se\n"
+"emprega para converte-los nomes das máquinas en enderezos IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monta e desmonta tódolos puntos de montaxe de Sistemas de\n"
+"Ficheiros de Rede (NFS), SMB (Lan Manager/Windows) e NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Activa/desactiva tódalas interfaces de rede configuradas para\n"
+"seren activadas no arrinque."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS é un protocolo popular para compartir ficheiros a través de redes TCP/"
+"IP.\n"
+"Este servicio fornece funcionalidade de servidor NFS, que se configura "
+"usando\n"
+"o ficheiro /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS é un protocolo popular para compartir ficheiros a través de\n"
+"redes TCP/IP. Este servicio fornece funcionalidade de bloqueo de ficheiros."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"O soporte PCMCIA é normalmente para cousas coma ethernet e módems\n"
+"en portátiles. Non será arrincado ata que non estea configurado de xeito\n"
+"que non haxa problemas ó telo instalado en máquinas que non o precisan."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"O portmapper xestiona as conexións RPC, que son usadas por protocolos\n"
+"coma NFS e NIS. O servidor portmap ten que estar a se executar en\n"
+"máquinas que actúan de servidores de protocolos que usan o mecanismo\n"
+"RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix é un Axente de Transporte de Correo (MTA), que é o programa\n"
+"que move o correo dunha máquina a outra."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Garda e restaura o estado da entropía do sistema para unha xeración\n"
+"de números aleatorios de calidade."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Asignar dispositivos raw a dispositivos de bloque (coma as particións do "
+"disco duro), para o uso de aplicacións coma Oracle ou reproductores de DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"O daemon routed permite actualizacións automáticas da táboa de\n"
+"encamiñamento IP mediante o protocolo RIP. Mentres RIP se usa amplamente\n"
+"en redes pequenas, outros protocolos máis complexos de encamiñamento\n"
+"precísanse para redes máis complexas."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"O protocolo rstat permite ós usuarios dunha rede obter\n"
+"métricas de rendemento de calquera máquina desa rede."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"O protocolo rusers permite ós usuarios dunha rede identificar\n"
+"quen está conectado noutras máquinas activas."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"O protocolo rwho permite que os usuarios remotos obteñan unha\n"
+"lista de tódolos usuarios conectados a unha máquina que está a\n"
+"executar o daemon rwho (similar ó finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Executa-lo sistema se son na súa máquina"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog é o método que usan moitos daemons para rexistrar\n"
+"mensaxes nos diversos ficheiros de rexistro do sistema. É unha\n"
+"boa idea executar sempre syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Carga-los drivers para os dispositivos USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Inicia o Servidor de Fontes X (isto é obrigatorio para poder executar Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Impresión"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Compartimento de ficheiros"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Administración Remota"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Servidor de Bases de Datos"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servicios"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Escolla os servicios que deben ser lanzados no arrinque do sistema"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servicios: %d activados de %d indicados"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "executándose"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "parado"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servicios e daemons"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Non hai información adicional\n"
+"sobre este servicio, desculpe."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Información"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Iniciar cando sexa solicitado"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Ó arrincar"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Iniciar"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Parar"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Aplicación de Copia de Seguridade e Restauración\n"
+"\n"
+"--default : garda os directorios predeterminados.\n"
+"--debug : amosa tódalas mensaxes de depuración.\n"
+"--show-conf : lista dos ficheiros ou directorios da copia de "
+"seguridade.\n"
+"--config-info : explica as opcións do ficheiro de configuración "
+"(para os usuarios sen X).\n"
+"--daemon : usar o daemon de configuración. \n"
+"--help : amosa esta mensaxe.\n"
+"--version : amosa o número de versión.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIÓNS:\n"
+" --boot - habilita a configuración do cargador de arrinque\n"
+" --splash - habilita a configuración do tema de arrinque\n"
+"modo predeterminado: ofrece configurar a funcionalidade autologin"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - asistente \"engadir unha interface de rede\"\n"
+" --del - asistente \"eliminar unha interface de rede\"\n"
+" --skip-wizard - administrar as conexións\n"
+" --internet - configurar Internet\n"
+" --wizard - coma --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPCIÓNS]...\n"
+"Configurador de Terminal Server de Mandriva Linux\n"
+"--enable : habilitar MTS\n"
+"--disable : deshabilitar MTS\n"
+"--start : iniciar MTS\n"
+"--stop : parar MTS\n"
+"--adduser : engade un usuario dun sistema existente a MTS (require o "
+"nome de usuario)\n"
+"--deluser : elimina un usuario dun sistema existente de MTS (require "
+"o nome de usuario)\n"
+"--addclient : engade unha máquina cliente a MTS (require o enderezo "
+"MAC, o IP, e o nome da imaxe nbi)\n"
+"--delclient : elimina unha máquina cliente de MTS (require o enderezo "
+"MAC, o IP, e o nome da imaxe nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[teclado]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPCIÓNS]\n"
+"Aplicación de monitorización e conexión á Rede & Internet\n"
+"\n"
+"--defaultintf interface : amosa esta interface por defecto\n"
+"--connect : conecta á Internet se non o está xa\n"
+"--disconnect : desconecta da Internet se está conectado\n"
+"--force : usada con (dis)connect : forza a (des)conexión.\n"
+"--status : devolve 1 se está conectado e 0 noutro caso, despois sae.\n"
+"--quiet : non ser interactivo. Para usar con (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPCIÓN]...\n"
+" --no-confirmation non facer a primeira pregunta de confirmación no "
+"modo de Actualización de Mandriva\n"
+" --no-verify-rpm non verificar as sinaturas dos paquetes\n"
+" --changelog-first amosa o changelog antes da lista de ficheiros na "
+"ventá de descrición\n"
+" --merge-all-rpmnew intenta mesturar tódolos ficheiros .rpmnew/.rpmsave "
+"atopados"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Uso: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] "
+"[-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Engadir servidor"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "África"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Norteamérica"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanía"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Sudamérica"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federación Rusa"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Iugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "¿É isto correcto?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Non se escolleu ningún ficheiro"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Escolleu un ficheiro, e non un directorio"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Escolleu un directorio, non un ficheiro"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Non existe tal directorio"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Non existe tal ficheiro"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Expandi-la árbore"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Recolle-la árbore"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Mudar entre lista completa e ordenada por grupos"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s non está instalado\n"
+"Prema en \"Seguinte\" para instalalo ou en \"Cancelar\" para saír"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Fallou a instalación"
+
+#~ msgid "Icon"
+#~ msgstr "Icona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Número de bufers de captura:"
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "Opción PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Soporte de radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "activar o soporte de radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/he.po b/perl-install/share/po/he.po
new file mode 100644
index 000000000..222a909d1
--- /dev/null
+++ b/perl-install/share/po/he.po
@@ -0,0 +1,6699 @@
+# translation of he.po to Hebrew
+# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# This file is distributed under the GNU GPL license.
+#
+#
+# Ram Matityahu <linuxfun@email.com>, 2003.
+# nadav mavor <nadav@mavor.com>, 2003.
+# el-cuco <cuco3001@yahoo.com>, 2003.
+# Diego Iastrubni <iastrubn@actcom.co.il>, 2003.
+# dovix <dovix2003@yahoo.com>, 2004, 2005, 2006.
+# Itay Flikier <itayff@gmail.com>, 2005.
+# Dotan Kamber <kamberd@yahoo.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: he\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-16 01:26+0200\n"
+"Last-Translator: Dotan Kamber <kamberd@yahoo.com>\n"
+"Language-Team: Hebrew\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "נא להמתין"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "התקנת מנהל האתחול"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO רוצה להקצות תג זיהוי חדש למחיצת %s. שינוי תג הזיהוי של מחיצת האתחול\n"
+"של Windows NT, 2000 או XP יגרום לשגיאה במערכת ה-Windows.\n"
+"אמצעי זהירות זה אינו חל על Windows 95 ו-98 ועל כונני מידע של NT.\n"
+"\n"
+"האם להקצות תג זיהוי חדש?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "התקנת מנהל האתחול נכשלה. השגיאות הבאות התרחשו:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"ייתכן כי יהיה עליך לשנות את התקן האתחול ב-Open Firmware כדי\n"
+"לאפשר את מנהל האתחול. אם אינך רואה את שורת מנהל האתחול אחרי\n"
+"אחרי הפעלה מחדש המערכת יש להחזיק לחוצים את צירוף המקשים\n"
+"Command-Option-O-F בזמן האתחול ולהזין setenv boot-device %s,\\\\:tbxi\n"
+"אחר כך יש להקליד shut-down. באתחול הבא צפוי להופיע מנהל האתחול."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"החלטת להתקין את מנהל האתחול על מחיצה.\n"
+"חשוב לוודא שיש לך כבר מנהל אתחול כלשהו (כגון System Commander)\n"
+"\n"
+"מהו הכונן ממנו נטענת המערכת? "
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "מקטע ראשון של הכונן (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "מקטע ראשון של מחיצת השורש"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "על התקליטון"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "דילוג"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "התקנת LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "איפה ברצונך להתקין את מנהל האתחול?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "הגדרת סגנון מנהל אתחול"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "הגדרות עיקריות של מנהל האתחול"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "מנהל אתחול"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "מנהל אתחול (ברירת מחדל):"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "מחיצת האתחול (ברירת מחדל):"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "אפשרויות ראשיות"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "השהייה לפני אתחול מערכת ברירת המחדל"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "הפעלת ACPI (ניהול צריכת אנרגיה מתקדמת)"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "הפעלת APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "הפעלת APIC מקומי"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "סיסמה"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "הסיסמאות לא זהות"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "יש לנסות שנית"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "אסור להשתמש בסיסמה עם %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "סיסמה (שוב)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "הגבלת אפשרויות שורת הפקודה"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "הגבלה"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "אפשרות ''הגבלת אפשרויות שורת הפקודה'' לא שימושית ללא הגדרת סיסמה"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "ניקוי קבצים זמניים בספריית tmp/ בכל אתחול"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "הגדרת זיכרון ידנית (נמצאו %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "יש להגדיראת גודל הזיכרון בMB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "הודעת אתחול"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "השהיית קושחה (Firmware) פתוחה"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "משך המתנה מירבי לאתחול גרעין"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "האם לאפשר אתחול מתקליטור?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "האם לאפשר אתחול OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "מהי מערכת הפעלה שתיטען כברירת מחדל?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "תצורה"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "מנהל מערכת (root)"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "הוספה"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "הוספת Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "תצורת תצוגה"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "תצורת רשת"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "תווית"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "ברירת מחדל"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "ללא תצוגה"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "אסור להגדיר תווית שם ריקה"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "חובה להגדיר תמונת גרעין"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "חובה להגדיר מחיצת שורש"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "התווית הזאת כבר בשימוש"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "איזה סוג כניסה ברצונך להוסיף?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "לינוקס"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "מערכת הפעלה אחרת (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "מערכת הפעלה אחרת (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "מערכת הפעלה אחרת (חלונות...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"להלן הרשומות שהוגדרו כבר בתפריט האתחול\n"
+"ניתן להוסיף רשומות או לשנות רשומות קיימות."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "גישה ליישומים גרפיים"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "גישה לכלי התקנת תוכנה"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "איפשור שינוי למנהל מערכת (\"su\")"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "אפשרות גישה לקבצי ניהול"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "אפשרות גישה לכלי רשת"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "אפשרות גישה לכלי הידור"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(כבר נוסף %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "עליך להגדיר שם משתמש"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "שם המשתמש יכול להכיל אך ורק אותיות קטנות, מספרים, `-' ו `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "שם המשתמש ארוך מדי"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "שם משתמש זה כבר קיים"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "קוד זיהוי משתמש"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "קוד זיהוי קבוצה"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "הערך %s חייב להיות מספר"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s צריך להיות מעל 500. האם להמשיך בכל זאת?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "הוספת משתמש"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"הגדרת משתמש\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "סיום"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "שמירת משתמש"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "שם אמיתי"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "שם משתמש"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "מעטפת"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "כניסה-אוטומטית"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"ניתן להגדיר שכאשר המערכת תופעל היא תכנס אוטומטית לחשבון של אחד המשתמשים."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "הפעל אפשרות זו"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "בחירת משתמש ברירת המחדל: "
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "יש לבחור את מנהל החלונות:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "הסכם משתמש"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "יציאה"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "הערות שחרור"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "הסכמה"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "סירוב"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "יש לבחור את השפה העיקרית."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "בחירת שפה"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"מנדריבה לינוקס יכולה לתמוך בריבוי שפות. עליך לבחור\n"
+"את השפות שברצונך להתקין. השפות יהיו זמינות כאשר\n"
+"ההתקנה תסתיים והמחשב יופעל מחדש."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "ריבוי שפות"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "קידוד עם תאימות לאחור (לא UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "כל השפות"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "מדינה / אזור"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "עליך לבחור את המדינה שלך."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "להלן הרשימה המלאה של המדינות הזמינות"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "מדינות אחרות"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "מתקדם"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "שיטת קלט:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "כלום"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "ללא שיתוף"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "הרשה לכל המשתמשים"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "מותאם אישית"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"האם ברצונך לאפשר למשתמשים לשתף חלק מהספריות שלהם?\n"
+"הסכמתך לעשות זאת תאפשר למשתמשים ללחוץ על \"שתף\" ב-Konqueror וב-Nautilus.\n"
+"\n"
+"\" התאמה אישית\" תאפשר התאמה לכל משתמש.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: מערכת שיתוף הקבצים המסורתית של יוניקס, עם תמיכה פחותה במק וחלונות."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: מערכת שיתוף קבצים הנמצאת בשימוש בחלונות, Mac OS X ומערכות לינוקס "
+"מודרניות רבות."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "ניתן לייצא בעזרת NFS או SMB. עליך לבחור במה להשתמש."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "הפעלת userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "סגור"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"השיתוף לכל משתמש, משתמש בהגדרתקבוצה \"שיתוף-קבצים\".\n"
+"ביכולתך להשתמש בעורך המשתמשים כדי להוסיף משתמשים לקבוצה זו."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "נא להתנתק וללחוץ Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "עליך להתנתק ולהתחבר שנית כדי שהשינויים יחולו."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "אזור זמן"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "מהו אזור הזמן שלך?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "הגדרות תאריך, שעון ואזור-זמן"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "מה הזמן הנכון?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (שעון מערכת מכוון ל-UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (שעון מערכת מכוון לזמן המקומי)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "שרת NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "סנכרון זמן אוטומטי (שימוש ב-NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "קובץ מקומי"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "כרטיס חכם"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows Domain"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory עם SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory עם Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "קובץ מקומי:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "בחירה במקומי עבור שמירת כל המידע וההזדהות שמשתמש מספק בקובץ מקומי"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"אומר למערכת להשתמש ב-LDAP עבור חלק או כל ההזדהויות. LDAP מאחד סוגי מידע "
+"שונים בארגון שלך."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"מאפשר לך להריץ קבוצת מחשבים בתוך מתחם שירות מידע רשתי (Network Information "
+"Service) עם קובץ ססמאות וקבוצות משותף."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows Domain:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr "Winbind מאפשר למערכת לקבל מידע ולזהות משתמשים במתחם חלונות."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "מדריך Active Directory עם SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "עם Kerberos ו-LDAP לזיהוי משתמשים בשרת Active Directory"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "מדריך Active Directory עם Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind מאפשר למערכת לקבל מידע ולזהות משתמשים בשרת Active Directory של "
+"חלונות."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "אימות LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "שרת LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "פשוט"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "שיטת אבטחה (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "אימות Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "מתחם"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "שרת"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "בסיס נתוני משתמשים LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "השתמש ב-BIND אנונימי"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "משתמש LDAP המורשה לעיין ב-Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "סיסמה עבור המשתמש"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "אימות NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "מתחם NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "שרת NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"כדי שזה יעבוד עבור W2K PDC כנראה שיהיה עליך לבקש את מנהל המערכת להריץ: C:"
+"\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone / ולאתחל "
+"את השרת.\n"
+"יהיה צורך גם בשם המשתמש והסיסמה של מנהל המתחם כדי להוסיף את המכונה למתחם של "
+"חלונות.\n"
+"אם שירותי הרשת עדיין אינם מאופשרים Drakx ינסה להצטרף למתחם אחרי שלב הגדרת "
+"הרשת.\n"
+"אם שלב זה נכשל מסיבה כלשהי והזיהוי במתחם אינו עובד עליך להריץ 'smbpasswd -j "
+"DOMAIN -U USER%%PASSWORD' עם שם המתחם ושם המשתמש והסיסמה של המנהל, אחרי "
+"איתחול המערכת.\n"
+"הפקודה 'wbinfo -t' תבחן אם סודיות ההזדהות שלך טובה."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "אימות של Windows Domain"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "מתחם Active Directory"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "שם מהשתמש של מנהל המתחם"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "סיסמת מנהל המתחם"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "אימות"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "קביעת סיסמת מנהל"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "שיטת אימות"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "בלי סיסמה"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "הסיסמה הזו קצרה מדי (חייבת להכיל לפחות %d אותיות או סימנים)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "לא יכול להשתמש בשידור מתפרץ ללא הגדרת מתחם NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "מנהל אתחול 'לילו' עם תפריט טקסט"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "מנהל אתחול 'גראב' עם תפריט גרפי"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "מנהל אתחול 'גראב' עם תפריט טקסט"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "אין מספיק מקום ב-/boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "אי אפשר להתקין את מנהל האתחול על המחיצה %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr "יש צורך בעדכון תצורת טוען המערכת שלך מאחר ושונו מספרי מחיצות"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"אין אפשרות להתקין את טוען המערכת באופן תקין. עליך להפעיל את המערכת באופן "
+"rescue ולבחור \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "התקנה חוזרת של מנהל האתחול"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d דקות"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "דקה אחת"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d שניות"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "הפקודה %s חסרה"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"פרוטוקול WebDAV מאפשר לך לעגן בנקודות חיבור תיקיות של שרתי אינטרנט\n"
+" באופן מקומי, ולהתייחס אליהם כמערכת קבצים מקומית (בתנאי ששרת האינטרנט\n"
+"מוגדר כשרת WebDAV). אם ברצונך להוסיף נקודת חיבור WebDAV,\n"
+"בחר \"חדש\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "חדש"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "ניתוק"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "עיגון"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "נקודת עיגון"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "אפשרויות"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "שגיאה"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "נא להכניס את כתובת שרת ה-WevDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "שם האתר חייב להתחיל בhttp:// או בhttps://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "שרת:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "נקודת עיגון: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "אפשרויות: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "חלוקה למחיצות"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "יש לקרוא בעיון!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "יש לגבות את המידע שעל המערכת לפני ביצוע פעולה זו"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "יציאה"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "המשך"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"אם ברצונך להשתמש ב-aboot, עליך להקפיד להשאיר מקום פנוי (2048 מקטעים "
+"יספיקו) \n"
+"בתחילת הכונן"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "עזרה"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "יש לבחור פעולה"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"המערכת שלך משתמשת במחיצת חלונות גדולה יחידה.\n"
+"מומלץ לשנות את גודל המחיצה בתור פעולה ראשונה\n"
+"(עליך לבחור את המחיצה, ואז ללחוץ על \"שינוי גודל\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "עליך לבחור מחיצה"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "פרטים"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "לא נמצאו כוננים קשיחים"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "לא ידוע"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "זיכרון החלפה"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "חלונות"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "אחר"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "ריק"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "סוגי מערכות קבצים:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "אזהרה"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "מחיצה זו כבר ריקה"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "נא לבחור קודם כל ב\"ניתוק\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "השתמש ב''%s'' במקום"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "סוג"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "נא לבחור מחיצה אחרת"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "עליך לבחור מחיצה"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "בטל"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "עבור למצב רגיל"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "עבור למצב מומחה"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "אישור"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "האם להמשיך בכל זאת?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "יציאה ללא שמירה"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "האם לצאת בלי לשמור את טבלת המחיצות?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "האם ברצונך לשמור את שינויי /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "יש צורך בהפעלת המחשב מחדש בכדי שהשינויים בטבלת המחיצות יכנסו לתוקף"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"עליך לפרמט את המחיצה %s.\n"
+"אחרת לא תיכתב כניסה לעיגון %s בקובץ fstab.\n"
+"האם לצאת בכל זאת?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "נקה הכל"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "הקצבה אוטומטית"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "מתקדם"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "מידע על הכונן הקשיח"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "כל המחיצות הראשיות בשימוש"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "אין אפשרות להוסיף מחיצות נוספות"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"כדי לאפשר יצירת מחיצות חדשות, עליך למחוק את אחת המחיצות הקיימות כדי לאפשר "
+"הגדרת מחיצה מורחבת"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "ללא עיגון מחיצות אוטומטי"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "עיגון מחיצות אוטומטי (Supermount)"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "עיגון מחיצות אוטומטי למעט כונני תקליטורים"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "שמור את טבלת המחיצות"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "שחזר את טבלת המחיצות"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "הצל את טבלת המחיצות"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "טען מחדש את טבלת המחיצות"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "עיגון אוטומטי של התקן-נשלף"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "יש לבחור קובץ"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"גיבוי טבלת המחיצות אינה תואמת בגודלה\n"
+"האם להמשיך בכל זאת?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "מנסה להציל את טבלת המחיצות"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "מידע מפורט"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "שנה גודל"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "יצירת מערכת קבצים"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "הוספה ל-RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "הוספה ל-LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "מחיקה"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "הסרה מ-RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "הסרה מ-LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "שינוי RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "שימוש כ-loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "יצירה"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "יצרת מחיצה חדשה"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "מקטע התחלה:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "גודל ב-MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "סוג מערכת קבצים: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "העדפות: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "שם מחיצה לוגית "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"אין באפשרותך ליצור מחיצה חדשה\n"
+"(מאחר והגעת למספר המירבי של מחיצות ראשיות)\n"
+"עליך להסיר מחיצה ראשית ואז ליצור מחיצה מורחבת"
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "מחיקת קובץ ה-loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "אחרי שינוי סוג של מחיצה %s, כל המידע שעליה יאבד"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "שנה סוג מחיצה"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "באיזו מערכת קבצים יש להשתמש?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "מחליף מ-ext2 ל-ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "מהו שם המחיצה?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "תווית:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "איפה ברצונך לעגן את קובץ הloopback ששמו %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "לאן ברצונך לעגן את ההתקן %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"אין אפשרות להסיר את נקודת העיגון מאחר ומחיצה זו משמשת ל-loopback.\n"
+"עליך להסיר בשלב ראשון את ה-loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "לאן ברצונך לעגן את %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "משנה גודל"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "מחשב תחומי מערכת קבצים מסוג FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "לא ניתן לשנות את גודלה של מחיצה זו"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "יש לגבות את כל המידע שעל מחיצה זו"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "אחרי שינוי הגודל של המחיצה %s, כל המידע על מחיצה זו יאבד"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "יש לבחור את הגודל החדש"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "גודל חדש ב-MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "גודל מזערי: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "גודל מירבי: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"על מנת להבטיח את שלמות הנתונים אחרי שינוי גודל המחיצה(ות) \n"
+"תiפעל בדיקה של מערכת הקבצים באתחול הבא של חלונות"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "יש לבחור RAID קיים אליו יש להוסיף"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "חדש"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "יש לבחור LVM קיים אליו יש להוסיף"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "שם LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"המחיצה הפיזית %s עדיין בשימוש.\n"
+"האם ברצונך להעביר את החלקים שבשימוש במחיצה זו למחיצה אחרת?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "מעביר הרחבות פיזיות"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "לא יכול לעשות שימוש במחיצה זאת עבור loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "שם קובץ loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "עליך להגדיר שם קובץ"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "הקובץ בשימוש loopback אחר, נא לבחור קובץ אחר."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "קובץ זה כבר קיים. האם להשתמש בו?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "אפשרויות עיגון"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "שונות"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "התקן"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "רמה"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "גודל חתיכה ב KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "זהירות: פעולה זו מסוכנת."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "איזה סוג חלוקה למחיצות?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "יש צורך להפעיל מחדש את המחשב בכדי שהשינויים יכנסו לתוקף"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "טבלת המחיצות של הכונן %s עומדת להיכתב לכונן!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "אחרי יצירת מערכת קבצים במחיצה %s, כל המידע במחיצה זו יאבד"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "האם לבדוק בלוקים עם שגיאות?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "העבר קבצים למחיצה החדשה"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "הסתר קבצים"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"הספריה %s כבר מכילה מידע\n"
+"(%s)\n"
+"\n"
+"באפשרותך לבחור בהעברת הקבצים למחיצה שתעוגן באותו מקום או להשאירם במקומם (מה "
+"שיביא להסתרתם על ידי תוכן המחיצה שתעוגן)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "מעביר קבצים למחיצה החדשה"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "מעתיק %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "מסיר את %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "המחיצה %s זמינה כעת כ-%s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "מספרי המחיצות שונו: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "התקן:"
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "שם המחיצה:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "אות כונן חלונות: %s (לפי ניחוש)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "סוג: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "שם: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "התחלה: מקטע %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "גודל: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s מקטעים"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "מסילה %d עד %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "מספר הרחבות לוגיות: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "מפורמט\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "לא מפורמט\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "מעוגן\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"קבצי Loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"מחיצה מאתחלת כברירת מחדל\n"
+" (לאתחול מ-DOS, לא מ-Lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "שלב %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "גודל חתיכה %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "כונני RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "שם קובץ Loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"רוב הסיכויים הם, שמחיצה זו היא\n"
+"מחיצה של מנהלי התקנים. כנראה שעליך\n"
+"להשאירה כמות שהיא.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"מחיצת אתחול מיוחדת הזאת \n"
+"היא עבור אתחול כפול של המערכת שלך.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "שטח פנוי על %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "קריאה-בלבד"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "גודל: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "תכונות: %s מסילות, %s ראשים, %s מקטעים\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "מידע: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "כונני LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "סוג טבלת המחיצות: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "בערוץ %d זיהוי %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "מפתח ההצפנה של המערכת"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "עליך לבחור את מפתח ההצפנה של המערכת שלך"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "מפתח ההצפנה פשוט מדי (חייב להיות באורך של %d תווים לפחות)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "מפתחות ההצפנה לא תואמים"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "מפתח הצפנה"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "חזרה על מפתח הצפנה"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "אלגוריתם הצפנה"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "שינוי סוג"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "ביטול"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "אין אפשרות כניסה עם שם משתמש %s (סיסמה שגויה?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "נדרש אימות שם המתחם"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "איזה שם משתמש"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "עוד אחד"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"עליך להכניס את שם המשתמש, הסיסמה ושם המתחם (DNS) שלך כדי לגשת למחשב זה."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "שם משתמש"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "חפש שרתים"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "חפש שרתים חדשים"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "יש צורך להתקין את החבילה %s. האם ברצונך להתקינה?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "אין אפשרות להתקין את החבילה %s !"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "נדרשת החבילה %s אך היא חסרה"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "החבילות הבאות יותקנו:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "מתקין חבילות..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "מסיר חבילות..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"ארעה שגיאה - לא נמצאו התקנים עליהם ניתן ליצור מערכת קבצים חדשה. עליך לבדוק "
+"את החומרה שברשותך כדי לברר את הסיבה לבעיה"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "חייבת להיות מחיצת FAT מעוגנת ב- boot/efi/"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "מפרמט את המחיצה %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "יוצר ומפרמט את הקובץ %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "לא ידוע לי איך לפרמט את %s בסוג %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "אתחול %s של %s נכשל"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "עיגונים מעגליים %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "מעגן את המחיצה %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "עיגון המחיצה %s לתיקייה %s נכשל"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "בודק %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "שגיאה בניתוק %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "מאפשר מחיצת זיכרון החלפה %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "השתמש במערכת קבצים מוצפנת"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "אפשר הקצאת שטח דיסק לקבוצות וכאפשרות גם החלת מגבלות."
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"אל תעדכן זמני גישה ל inode במערכת קבצים זו\n"
+"(יכול לשמש לכוונון שרתים)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"אפשר עיגון ישיר בלבד (דהיינו mount -a\n"
+"לא יגרום לעיגון אוטומטי של מערכת קבצים זו)"
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "אל תפענח התקני character והתקני block על מערכת קבצים זו."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"אל תאפשר הפעלת קבצים בינאריים על מערכת קבצים זו\n"
+"לאחר העיגון. אפשרות זו עשויה לשמש בהגדרת שרתים\n"
+"המאכסנים קבצים בינאריים למעבדים שונים מזה שלהם."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"אל תאפשר שינוי זיהוי משתמש או שינוי זיהוי קבוצה.\n"
+"(גם אם הדבר נראה בטוח, הוא עלול לגרום לפרצת\n"
+"אבטחה באם suidperl מותקן)."
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "עגן את מערכת הקבצים לקריאה בלבד."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "כל גישות כתיבה/קריאה למערכת הקבצים אמורות להתבצע באופן סינכרוני."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "אפשר לכל משתמש לעגן ולהתיר את עגינת מערכת הקבצים."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "אפשר למשתמש רגיל לעגן את מערכת הקבצים."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "אפשר הקצאת שטח דיסק למשתמשים וכאפשרות גם להחיל מגבלות."
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "תמיכה מורחבת בשימוש עם \"user.\""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "אפשר הרשאת כתיבה למשתמשים רגילים"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "אפשר הרשאת קריאה בלבד למשתמשים רגילים"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "משכפל נקודת עיגון %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "אין מחיצה זמינה"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "סורק מחיצות למציאת נקודות עיגון"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "בחירת נקודות עיגון"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "בחירת המחיצות שברצונך לאתחל"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"כשל בבדיקת מערכת הקבצים %s. האם ברצונך לתקן את השגיאות? (זהירות! יש אפשרות "
+"לאיבוד מידע)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "אין די זיכרון חלופה (swap) להשלמת ההתקנה. נא להוסיף."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"חובה לבחר מחיצת שורש.\n"
+"לשם כך יש ליצור מחיצה (או ללחוץ על מחיצה קייימת).\n"
+"אזי יש לבחור \"נקודת עיגון\" ולכוון ל-`/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"אין לך מחיצת זכרון חלופה (swap).\n"
+"\n"
+"להמשיך בכל זאת?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "השתמש במקום פנוי"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "אין די מקום פנוי להקצאת מחיצות חדשות"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "השתמש במחיצות קימות"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "אין מחיצה קיימת לשימוש"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "השתמש במחיצה של חלונות ל-loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "באיזו מחיצה ברצונך להשתמש עבור Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "בחירת גדלים"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "גודל מחיצת השורש ב-MB:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "גודל מחיצת זכרון החלופה (swap) ב-MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "אין מחיצת FAT לשימוש כ-loopback (או שלא נותר די מקום)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "השתמש במקום הפנוי במחיצת החלונות"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "גודל של איזו מחיצה ברצונך לשנות?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"משנה גודל מחיצות ה-FAT אינו יכול לטפל במחיצה שלך.\n"
+"השגיאה הבאה ארעה: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "מחשב את גודל מחיצת מערכת החלונות"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"מחיצת מערכת החלונות שלך מקוטעת יתר על המידה. יש לאתחל את המחשב ותחת חלונות "
+"להריץ את כלי האיחוי, בסיום יש לאתחל מחדש את התקנת מנדריבה לינוקס."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"אזהרה!\n"
+"\n"
+"\n"
+"גודל מחיצת מערכת החלונות שלך ישונה עתה.\n"
+"\n"
+"\n"
+"יש להזהר: פעולה זו מסוכנת. אם עדיין לא עשית כן יש ראשית לצאת מההתקנה ולהריץ "
+"\"chkdsk c:\" משורת הפקודה תחת חלונות (לתשומת לבך - הרצת הישום הגרפי "
+"\"scandisk\" אינה מספקת, עליך להשתמש ב-\"chkdsk c:\" משורת הפקודה!). "
+"באפשרותך גם להריץ איחוי ואזי לאתחל את ההתקנה. עליך גם לגבות את המידע שלך.\n"
+"\n"
+"\n"
+"אם הכל מובן יש להקיש %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "המשך"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "כמה מקום ברצונך להותיר למערכת החלונות על המחיצה %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "גודל"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "משנה את גודל מחיצת חלונות"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "כשל בשינוי גודל מחיצת FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "אין מחיצת FAT לשנות את גודלה (או שלא נותר די מקום)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "הסר את מערכת חלונות"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "מחק והשתמש בדיסק כולו"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "יש לך יותר מדיסק קשיח אחד, על איזה מהם ברצונך להתקין לינוקס?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "כל המחיצות הקיימות והמידע שבהן יאבדו מדיסק %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "חלוקת מחיצות מותאמת אישית"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "השתמש ב-fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"באפשרותך ליצור כעת מחיצות ב-%s.\n"
+"בסיום יש לשמור בעזרת `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "איני מוצא מקום להתקנה"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "אשף החלוקה למחיצות של DrakX מצא את הפתרונות הבאים:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "כשל בחלוקה למחיצות: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "אין אפשרות להשתמש ב-JFS עבור מחיצה קטנה מ- 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "אין אפשרות להשתמש ב-ReiserFS למחיצה קטנה מ-32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "עם /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "שרת"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "זוהה RAID תוכנה של ה-BIOS על הדיסקים %s. להפעיל אותו?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"אין אפשרות לקרוא את טבלת המחיצות של התקן %s , כיוון שהמבנה שלו לא מוכר לי :"
+"(\n"
+"ניתן להמשיך עם מחיקה םל מחיצות שגויות (כל המידע יאבד!).\n"
+"הפתרון האחר הוא לא לאפשר לDrakX להגדיר את טבלת המחיצות.\n"
+"(השגיאה היא %s)\n"
+"\n"
+"האם ניתן להמשיך תוך סיכון של אובדן כל המחיצות?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "נקודות עיגון חייבות להתחיל בלוכסן (/)"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "שמות נקודות עיגון צריכות להכיל רק אותיות, מספרים וקו תחתון"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "כבר קיימת מחיצה עם נקודת עיגון %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"בחרת במחיצת RAID המוגדרת בתוכנה כשורש מערכת הקבצים שלך (/).\n"
+"תצורה זו לא נתמכת ע\"י טוען המערכת ללא מחיצת /boot.\n"
+"עליך להגדיר מחיצת /boot מתאימה"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"לא ניתן להשתמש בחלק הלוגי של ה-LVM לנקודת העיגון %s בגלל שהוא משתרע על מספר "
+"חלקים פיזיים."
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr "עליך להגדיר מחיצת /boot מתאימה"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "ספרייה זו צריכה להישאר במערכת הקבצים הראשית (root)."
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"יש להגדיר מערכת קבצים אמתית (ext2/ext3, reiserfs, xfs, או jfs) בשביל נקודת "
+"העיגון הזאת\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "אסור להשתמש במערכת קבצים מוצפנת לנקודת העיגון %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "אין מספיק מקום פנוי לחלוקה אוטומטית"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "לא נדרש לעשות דבר"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "תקליטון"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "ZIP"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "דיסק"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "תקליטור"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "צורבי CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "טייפ"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "בקרי AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "כרטיס מסך"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "כרטיס DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "כרטיס טלוויזיה"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "התקני מולטימדיה אחרים"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "כרטיס קול"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "מצלמת רשת"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "מעבדים"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "מתאמי ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "התקני קול USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "כרטיסי רדיו"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "כרטיסי רשת ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "כרטיסי רשת WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "התקני שן כחולה"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "כרטיס Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "מודם"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "מתאמי ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "זיכרון"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "מדפסת"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "בקרי יציאת משחק"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "ג'ויסטיק"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "בקרי SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "בקרי RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "בקרי (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "התקני איכסון מידע בחיבור USB"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "קוראי כרטיסים"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "בקרי Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "בקרי PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "בקרי SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "בקרי USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "יציאות USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "בקרי SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "גשרים ובקרי מערכת"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "מקלדת"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "מחשב לוח ומסך מגע"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "עכבר"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "סורק"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "לא ידוע/אחרים"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "מעבד # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "נא להמתין... מיישם את ההגדרות"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "אין מנהל התקן חלופי"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr "אין חלופות OSS או ALSA לכרטיס הקול שלך (%s) אשר משתמש כרגע ב\"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "הגדרות קול"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"כאן באפשרותך לבחור מנהל התקן תחליפי (או OSS או ALSA) לכרטיס הקול שלך (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"כרטיס הקול שלך משתמש כרגע במנהל ההתקן %s\"%s\" (ברירת מחדל למנהל התקן "
+"לכרטיסך \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) היה מנשק הקול הראשון. זהו מנשק שאינו תלוי במערכת "
+"ההפעלה (הוא זמין ברוב מערכות היוניקס) אבל הוא בסיסי ומוגבל ביותר.\n"
+"יתר על כן, התקני ההינע של OSS ממציאים את הגלגגל מחדש כל אחד בתורו.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) בנויה בצורה מודולרית התומכת במגוון "
+"רחב של כרטיסים\n"
+"מ-ISA דרך USB ןכלה ב-PCI.\n"
+"\n"
+"ALSA גם מספקת מנשק ברמה גבוהה בהרבה מזו של OSS.\n"
+"\n"
+"כדי להשתמש ב-ALSA ניתן להשתמש באחד מהשניים:\n"
+"- המנשק הישן התואם ל-OSS\n"
+"- המנשק החדש של ALSA המספק יכולות מתקדמות אך דורש את הספריה של ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "מנהל התקן:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "פתרון בעיות"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"התקן ההינע הישן \"%s\" נמצא ברשימה השחורה.\n"
+"\n"
+"דווח כי הוא גורם לתקלה קריטית בגלעין המערכת בעת הסרה.\n"
+"\n"
+"התקן ההינע החדש \"%s\" יכנס לשימוש בתהליך האיתחול הבא."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "אין מנהל התקן בקוד פתוח"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"לא קיים מנהל התקן חופשי עבור כרטיס המסך שלך (%s), אבל קיים מנהל התקן קנייני "
+"באתר \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "אין מנהל התקן ידוע"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "אין פה מנהל התקן ידוע לכרטיס הקול שלך (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "מנהל התקן לא ידוע"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "שגיאה: ההתקן \"%s\" עבור הכרטיס קול שלך לא רשום"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "פתרון בעיות קול"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"הבדיקה הקלאסית לבעיות במערכת הקול היא הרצת הפקודות הבאות:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" יאמר מה הוא התקן ההינע בו משתמש הכרטיס\n"
+"שלך כברירת מחדל\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" יאמר מה הוא ההתקן ההינע שכרגע\n"
+"נעשה בו שימוש\n"
+"\n"
+"- \"/sbin/lsmod\" יאפשר לך לבדוק אם התקן ההינע טעון או לא\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" ו- \"/sbin/chkconfig --list alsa\" יאמרו\n"
+"אם שירותי הקול ו-alsa מוגדרים לריצה ברמת איתחול 3\n"
+"\n"
+"- \"aumix -q\" יאמר לך אם הקול מושתק או לא\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" יאמר לך איזו תוכנה משתמשת בכרטיס הקול.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "תן לי לבחור מנהל התקן כלשהו"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "בחירת מנהל התקן באופן שרירותי"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"אם השתכנעת שידוע לך מהו התקן ההינע המתאים לכרטיס שלך ניתן לבחור בו ברשימע "
+"לעיל\n"
+"\n"
+"התקן ההינע הנוכחי לכרטיס הקול \"%s\" שלך הוא \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "זיהוי-אוטומטי"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "לא ידוע|כללי"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "לא מוכר|CPH05X (bt878) [יצרנים רבים]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "לא ידוע (CPH06X (bt878 [הרבה ספקים]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"עבור רוב כרטיסי הטלוויזיה המודרניים, המודול BTTV מזהה את הפרמטרים הנכונים "
+"באופן אוטומטי. \n"
+"אם הכרטיס שלך לא מזוהה נכון, יש באפשרותך להגדיר את הכוונן (tuner) וסוג "
+"הכרטיס הנכון במידת הצורך."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "דגם הכרטיס:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "סוג כוונן (Tuner):"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "אישור"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "כן"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "לא"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "יש לבחור קובץ"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "הוספה"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "שינוי"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "הסרה"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "סיום"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "קודם"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "בחירה גרועה, יש לנסות שנית\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "מהי הבחירה שלך? ( ברירת מחדל %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"כניסות שיש צורך למלא:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "מהי בחירתך? (0/1, ברירת מחדל `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "כפתור `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "האם ברצונך ללחוץ על כפתור זה?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "מהי בחירתך? (ברירת מחדל `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "יש להזין 'void' עבור מובאה ריקה"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> יש דברים רבים לבחור מתוך (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"נא לבחור את המספר הראשון מהטווח של 10 שברצונך לערוך, \n"
+"או ללחוץ על enter בכדי להמשיך."
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> יש לשים לב, תווית שונתה:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "טען מחדש"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:RTL"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "אנדורה"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "איחוד הנסיכויות הערביות"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "אפגניסטן"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "אנטיגה וברבודה"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "אנגוויה"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "אלבניה"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "ארמניה"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "האנטילים ההולנדיים"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "אנגולה"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "אנטארקטיקה"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "ארגנטינה"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "סמואה האמריקאית"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "אוסטריה"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "אוסטרליה"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "ארובה"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "אזרביג'אן"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "בוסניה-הרצגובינה"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "ברבדוס"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "בנגלדש"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "בלגיה"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "בורקינה פאסו"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "בולגריה"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "בחריין"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "בורונדי"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "בינן (דהומיי)"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "ברמודה"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "בורני דורסלם"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "בוליביה"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "ברזיל"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "איי בהאמה"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "בהוטן"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "אי Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "בוטסואנה"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "בלרוס"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "בליז"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "קנדה"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "איי קוקוס (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "קונגו (קינסהסה)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "הרפובליקה המרכז-אפריקאית"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "קונגו (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "שוייץ"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "חוף השנהב"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "איי קוק"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "צ'ילה"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "קמרון"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "סין"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "קולומביה"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "קוסטה ריקה"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "סרביה ומונטנגרו"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "קובה"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "איי חַג הַמּוֹלָד"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "קפריסין"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "הרפובליקה הצ'כית"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "גרמניה"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "ג'יבוטי"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "דנמרק"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "דומיניקה"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "הרפובליקה הדומיניקנית"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "אלג'יריה"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "אקוודור"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "אסטוניה"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "מצריים"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "סהרה המערבית"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "אריתריאה"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "ספרד"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "אתיופיה"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "פינלנד"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "פיג'י"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "איי פוקלנד (מאלבינאס) "
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "מיקרונזיה"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "איי פארו"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "צרפת"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "גבון"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "בריטניה"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "גרנדה"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "ג'ורג'יה"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "גיאנה הצרפתית"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "גאנה"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "ג'יברלטר"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "גרינלנד"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "גמביה"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "גינאה"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "גוואדלופ"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "גיניאה המשוונית"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "יוון"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "דרום ג'ורג'יה ואיי סנדוויץ' הדרומיים"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "גואטמלה"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "גואם"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "גיניאה ביסאו"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "גיאנה"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "סין (הונג קונג)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "איי Heard ו-McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "הונדורס"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "קרואטיה"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "האיטי"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "הונגריה"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "אינדונזיה"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "אירלנד"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "ישראל"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "הודו"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "טריטוריית האוקיינוס הבריטי-הודי"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "עירק"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "אירן"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "איסלנד"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "איטליה"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "ג'מייקה"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "ירדן"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "יפן"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "קניה"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "קירגיסטן"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "קמבודיה"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "קיריבטי"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "איי קומורו"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "סנט קיטס ונוויס"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "קוריאה (צפון)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "קוריאה"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "כווית"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "איי קיימאן"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "קזחסטן"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "לאוס"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "לבנון"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "סנט לוצ'יה"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "ליכטנשטיין"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "סרי לנקה"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "ליבריה"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "לסוטו"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "ליטא"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "לוכסמבורג"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "לטוויה"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "לוב"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "מרוקו"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "מונקו"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "מולדובה"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "מדגסקר"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "איי מרשל"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "מקדוניה"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "מאלי"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "מיאנמר"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "מונגוליה"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "איי מריאנה הצפוניים"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "מרטיניק"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "מאוריטניה"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "מונסראט"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "מלטה"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "מאוריציוס"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "האיים המלדיביים"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "מלאווי"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "מקסיקו"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "מלזיה"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "מוזמביק"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "נמיביה"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "קלדוניה החדשה"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "ניגר"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "אי נורפולק"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "ניגריה"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "ניקאראגואה"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "הולנד"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "נורווגיה"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "נפאל"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "נאורו"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "ניו-זילנד"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "עומן"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "פנמה"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "פרו"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "פולינזיה הצָרְפָתִית"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "פאפואה-גינאה החדשה"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "הפיליפינים"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "פקיסטן"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "פולין"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "סנט פייר ומיקואלון"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "פוארטו-ריקו"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "הרשות הפלסטינית"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "פורטוגל"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "פרגוואי"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "פאולו"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "קטאר"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "רומניה"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "רוסיה"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "רואנדה"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "ערב הסעודית"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "איי שלמה"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "איי סיישל"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "סודן"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "שבדיה"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "סינגפור"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "סנט הלנה"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "סלובניה"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "איי Svalbard ואיי Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "סלובקיה"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "סיירה ליאונה"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "סאן-מארינו"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "סנגל"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "סומליה"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "סורינאם"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "סאו תומה ופרינסיפה"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "אל סלבדור"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "סורינאם"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "סווזילנד"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "איי קייקוס"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "צ'אד"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "הטריטוריה הצרפתיתי הדרומית"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "טוגו"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "תאילנד"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "טאנג'יקיסטן"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "מזרח טימור"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "טורקמניסטאן"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "טוניסיה"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "טונגה"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "טורקיה"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "טרינידד וטובגו"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "טובאלו"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "טאיוואן"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "טנזניה"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "אוקראינה"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "אוגנדה"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "איי Minor Outlying של אר\"הב"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "ארצות הברית"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "אורוגוואי"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "אוזבקיסטן"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "ותיקן"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "סנט וינסנט והגרנידים"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "ונצואלה"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "איי הבתולה הבריטיים"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "איי הבתולה האמקריים (ארה\"ב)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "וייטנאם"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "ונואטו"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "וואליס ופוטונה"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "סמואה"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "תימן"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "מאיוט"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "דרום אפריקה"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "זמביה"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "זימבבואה"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "ברוך בואך ל-%s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "העברת החלקים הפיזיים שבשימוש לחלק פיזי אחר כשלה"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "החלק הפיזי %s עדיין בשימוש"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "יש ראשית להסיר את החלקים הלוגיים\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "מנהל האתחול אינו יכול לעבוד עם boot/ על מספר חלקים פיזיים"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"מבוא\n"
+"\n"
+"מערכת ההפעלה והמרכיבים השונים הזמינים בהפצת מנדריבה לינוקס יקראו להלן "
+"\"מוצרי תוכנה\". מוצרי התכנה כוללים, אך\n"
+"לא מוגבלים ל- אוסף התכנות, שיטות, חוקים ומסמכים הנוגעים למערכת ההפעלה ולשאר "
+"המרכיבים של מנדריבה לינוקס.\n"
+"\n"
+"\n"
+"1. הסכם רישוי\n"
+"\n"
+"עליך לקרוא רישיון זה בעיון רב. מסמך זה מהווה הסכם רישוי בינך ובין חברת "
+"Mandriva S.A. לגבי מוצרי התכנה.\n"
+"התקנה, שכפול או שימוש במוצרי התכנה בכל צורה שהיא, משמעה שקיבלת והסכמת באופן "
+"מפורש לתנאי וסייגי רישיון זה.\n"
+"אם חלק כלשהו מרישיון זה אינו מקובל עליך, נאסר עליך להתקין, לשכפל או להשתמש "
+"במוצרי התכנה.\n"
+"כל ניסיון להתקין, לשכפל או להשתמש במוצרי התכנה בכל צורה שאינה מצייתת לתנאי "
+"וסייגי הרישיון הנה חסרת תוקף ותסיים\n"
+"את זכויותיך בכפוף לרישיון זה.\n"
+"עם ביטול הרישוי, עליך להשמיד באופן מיידי את כל העותקים של מוצרי התכנה.\n"
+"\n"
+"\n"
+"2. הגבלת אחריות\n"
+"\n"
+"מוצרי התכנה והתיעוד הנספח מסופקים \"כמות שהם\", בלי אחריות, עד לגבולות "
+"המותרים על פי חוק.\n"
+"חברת Mandriva S.A. לא תהיה אחראית, בשום תנאי שהוא בכפוף להוראות החוק, לכל "
+"אירוע מיוחד, נזקים ישירים\n"
+"ועקיפים למיניהם (כולל, בין היתר הפסדים הנובעים עקב אבדן עסקים, הפרעה "
+"להתנהלות העסק, הפסד כספי, שכר טרחת\n"
+"עורך דין, קנסות ואגרות הנובעים מהחלטת בית משפט, או הפסד כתוצאה מכך) הנובעים "
+"מהשימוש או מאי היכולת להשתמש\n"
+"במוצרי התכנה, וזאת גם אם הובאה לידיעתה חברת Mandriva S.A האפשרות לאפשרות "
+"ההתרחשות של נזקים\n"
+"כאלו.\n"
+"\n"
+"הגבלת אחריות הנובעת משימוש או הפצת תוכנה אסורה במדינות מסוימות\n"
+"\n"
+"בכפוף למגבלות החוק, חברת Mandriva S.A. ומפיציה, לא יהיו אחראים בשום תנאי "
+"שהוא, לכל נזק מיוחד, משני,\n"
+"ישיר או עקיף כלשהו (כולל, בין היתר הפסדים הנובעים עקב אבדן עסקים, הפרעה "
+"להתנהלות העסק, הפסד כספי, שכר\n"
+"טרחת עורך דין, קנסות ואגרות הנובעים מהחלטת בית משפט, או הפסד כתוצאה מכך) "
+"הנובעים מאחזקה ושימוש במוצרי\n"
+"תוכנה, או הורדת מוצרי תוכנה מאתרי מנדריבה לינוקס, אשר אסורים לשימוש או "
+"מוגבלים במדינות מסוימות על פי\n"
+"החוקים המקומיים.\n"
+"הגבלת אחריות זו, כוללת, בין היתר, מרכיבי הצפנה חזקה הכלולים במוצרי התכנה.\n"
+"\n"
+"\n"
+"3. רישיון ה GPL ורישיונות קשורים\n"
+"\n"
+"מוצרי התכנה כוללים מרכיבים שנוצרו על ידי אנשים וגופים שונים. רוב המרכיבים "
+"האלו כפופים לתנאי הרישיון הציבורי\n"
+"הכללי של GNU, שיכונה להלן \"GPL\", או רישיונות דומים. רוב הרישיונות האלו "
+"מרשים לך להשתמש, לשכפל, לשנות או\n"
+"להפיץ את המרכיבים אשר הם מכסים. עליך לקרוא בעיון את התנאים והסייגים של כל "
+"מרכיב לפני השימוש במרכיב כלשהו.\n"
+"עליך להפנות כל שאלה בנוגע לרישיון השימוש הנוגעת לרישיון של מרכיב כלשהו למפתח "
+"התכנה ולא ל Mandriva.\n"
+" התכנות שפותחו ע\"י חברת Mandriva S.A. כפופות לרישיון ה GPL. תיעוד שנכתב על "
+"ידי חברת Mandriva\n"
+"כפוף לרישיון מיוחד. עליך לעיין בתיעוד למידע נוסף בנידון.\n"
+"\n"
+"\n"
+"4. זכויות קניין רוחני\n"
+"\n"
+"כל הזכויות למרכיבים של מוצרי התכנה שייכים למפתחיהם בהתאמה ומוגנים על ידי "
+"חוקי קניין רוחני וזכויות יוצרים התקפים\n"
+"לגבי מוצרי תוכנה.\n"
+"חברת Mandriva S.A. שומרת לעצמה את הזכות לשנות או להתאים את מוצרי התכנה, "
+"כמקשה אחת או בחלקים,\n"
+"בכל שיטה שהיא ולכל צורך שהוא.\n"
+"השמות \"Mandriva\", \"מנדריבה לינוקס\" וסמלים מסחריים הקשורים אליהם הם שמות "
+"שמורים של חברת\n"
+"Mandriva S.A.\n"
+"\n"
+"\n"
+"5. תקפות לחוק\n"
+"\n"
+"במידה ויוחלט על ידי בית משפט שחלק כלשהו של רישיון זה אינו תקף, אינו חוקי, או "
+"אינו ישים, חלק זה לא יהיה כלול בחוזה\n"
+"זה. שאר החלקים הישימים של הסכם זה עדיין מחייבים אותך.\n"
+"התנאים והסייגים של רישיון זה כפופים לחוקי צרפת. יש לשאוף להגיע להסכמה בכל "
+"ויכוח לגבי תנאי רישיון זה מחוץ לכתלי\n"
+"בית המשפט. כמוצא אחרון, הוויכוח יובא בפני בית המשפט המתאים של פריז - צרפת.\n"
+"בכל שאלה הנוגעת למסמך זה, יש לפנות לחברת Mandriva S.A.\n"
+"\n"
+"\n"
+"נספח\n"
+"\n"
+"תרגום זה הנו תרגום לא רשמי לעברית של רישיון השימוש בהפצת מנדריבה לינוקס "
+"(לשעבר מנדריבה לינוקס). התרגום מסופק על\n"
+"מנת לאפשר לך להבין את תנאי הרישוי של הפצה זו, אולם זה אינו תרגום מחייב. "
+"השימוש בהפצה כפוף לרישיון השימוש המקורי,\n"
+"בשפה האנגלית, המופיע בתקליטור. מתרגמי ההפצה ו/או חברת Mandriva לא יהיו "
+"אחראים לכל אי-הבנה ותוצאותיה\n"
+"שעלולים לנבוע מהסתמכות על התרגום הזה, ו/או אי הבנה ותוצאותיה שעלולים לנבוע "
+"כתוצאה מתרגום מרכיבים אחר בהפצה\n"
+"לעברית. אישור הרישיון המובא בזאת מהווה גם את הסכמתך לתנאי הנ\"ל. באם תנאי זה "
+"אינו מקובל עליך, יש לבחור ב\n"
+"\"סירוב\" במסך אישור רישיון השימוש.\n"
+"\n"
+"התנאי הנ\"ל מהווה תוספת לרישיון השימוש המקורי, ואינו מופיע בגרסה האנגלית של "
+"רישיון זה, והנו תקף רק לדוברי עברית\n"
+"המבצעים התקנה בעברית ו/או משתמשים בתרגומים לעברית שבוצעו על ידי מתרגמי הפצת "
+"מנדריבה לינוקס לעברית.\n"
+"\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"אזהרה: תוכנה חופשית אינה בהכרח חסרת-פטנטים, ומרכיבי תוכנה מסויימים הכלולים "
+"בהפצה\n"
+"עלולים להיות מוגנים ע\"י פטנטים במדינה שלך. למשל, מפענחי MP3 עלולים לדרוש "
+"רשיון\n"
+"להמשך שימוש (ניתן לעיין ב http://www.mp3licensing.com לקבלת מידע נוסף). אם "
+"לא\n"
+"ידוע לך האם פטנט מסויים תקף לגבייך, עליך לבדוק את החוקים המקומיים."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"אזהרה\n"
+"\n"
+"עליך לקרוא בעיון את התנאים שלהלן. אם חלק או כל התנאים לא\n"
+"נראים לך, לא תתאפשר ההתקנה מהתקליטור הבא. עליך ללחוץ על 'דחייה' \n"
+"כדי להמשיך את ההתקנה ללא שימוש בתקליטור זה.\n"
+"\n"
+"\n"
+"מרכיבי תוכנה מסויימים הכלולים בתקליטור הבא אינם כפופים לרשיון הציבורי\n"
+"הכללי (GPL) או לרשיונות חופשיים אחרים. כל מרכיב כזה כפוף להסכם משתמש\n"
+"קצה ייחודי משלו. \n"
+"עליך לקרוא בעיון כל הסכם משתמש קצה המלווה תוכנות אלו ולוודא עמידה\n"
+"בתנאים בכל מקרה של שימוש ו/או הפצה של מרכיבי תוכנה אלו. \n"
+"\n"
+"רשיונות שאינם חופשיים אוסרים בד\"כ את ההעברה, השכפול (למעט לצרכי\n"
+"גיבוי), הפצה מחדש, הינדוס לאחור, פרוק למרכיבים, הידור לאחור או שינוי, \n"
+"אחר כלשהו. \n"
+"כל הפרה של הסכמים אלו תשלול ממך באופן מיידי את הזכות להשתמש\n"
+"בתוכנה. למעט במקרים שהסכם משתמש הקצה מאפשר לך את הזכות לכך,\n"
+"אין באפשרותך להתקין את התוכנות על יותר ממחשב אחד או להתקין את\n"
+"התוכנה לגישה דרך הרשת. בכל מקרה של ספק, עליך ליצור קשר ישיר עם\n"
+"המשווק או היצרן של התוכנה. \n"
+"העברה לצד שלישי או העתקה של מרכיבים כלשהם כולל התיעוד אסורים\n"
+" בד\"כ על פי הסכם הרישוי.\n"
+"\n"
+"כל הזכויות למרכיבים הכלולים בתקליטור הבא שמורות ליוצריהם ומוגנות \n"
+"בחוקי קניין רוחני וחוקי זכויות יוצרים התקפים עבור תוכנות מחשב.\n"
+"\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"ברכותינו, ההתקנה הסתיימה.\n"
+"עליך להוציא את תקליטור ההתקנה ולאחר מכן ללחוץ על \"הפעלה מחדש\" להמשך.\n"
+"\n"
+"\n"
+"למידע אודות חבילות התיקונים הזמינים עבור גרסה זאת של מנדריבה לינוקס,\n"
+"יש לבדוק את המידע הזמין באתר האינטרנט:\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"מידע על הגדרת תצורת המערכת שלך, נמצא בפרק \"לאחר התקנה\" \n"
+"של המדריך הרשמי למשתמשי מנדריבה לינוקס."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "למנהל התקן זה אין מאפייני תצורה שאפשר להגדיר!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "הגדרות מודולים"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "באפשרותך להגדיר כל פרמטר מהמודול כאן."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "מצא %s ממשקים"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "האם יש לך עוד אחד?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "האם יש לך ממשקי %s כלשהם?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "עיון במידע אודות החומרה"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "התקנת מנהל התקן עבור בקר USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "התקנת מנהל התקן עבור בקר firewire שסימונו %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "התקנת מנהל התקן עבור בקר כונן קשיח שסימונו %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "התקנת מנהל התקן עבור בקר Ethernet שסימונו %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "מתקין מנהל התקן %s עבור כרטיס %s "
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"כעת ניתן לספק אפשרויות למודול %s.\n"
+"לתשומת ליבך - על כל כתובת להיות מוזנת עם התחילית 0x כמו '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"באפשרותך עכשיו לספק אפשרויות למודול %s\n"
+"אפשרויות הן בפורמט: \"name=value name2=value2 ...\".\n"
+"לדוגמה: \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "אפשרויות מודול:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "איזה מנהל התקן %s אני צריך לנסות?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"במקרים מסוימים התקן ההינע %s צריך מידע נסוף כדי לתפקד באופן תקין.\n"
+"אף כי בד\"כ הוא יעבוד באופן תקין גם בלעדיו. האם ברצונך לספק אפשרויות נוספות\n"
+"עבורו או לאפ]שר להתק ההנע לבחון את המערכת למציאת המידע הדרוש לו?\n"
+"תהליך הבחינה עלול לגרום לניתוק המחשב מדי פעם אבל הוא לא צפוי לגרום כל נזק."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "חיפוש אוטומטי"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "יש לציין אפשרויות"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"טעינת המודול %s נכשלה.\n"
+"האם ברצונך לנסות שוב עם פרמטרים אחרים?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "העיגון נכשל:"
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "מחיצה מורחבת לא נתמכת בפלטפורמה הזאת"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"יש לך מקום פנוי בטבלת המחיצות שלך אך איני יכול להשתמש בו.\n"
+"הפתרון היחידי הוא להזיז את המחיצה הראשית כדי למקם את השטח\n"
+"הפנוי ליד המחיצות המורחבות."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "שגיאה בקריאת הקובץ %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "שחזור מתוך קובץ %s נכשל: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "קובץ גיבוי שגוי"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "שגיאה בכתיבה לקובץ %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"זוהתה בעיה חמורה בכונן הקשיח שלך.\n"
+"בדיקת תקינות המידע נכשלה.\n"
+"יתכן שהחומרה פגומה וכתוצאה מכך נאבד המידע שהיה שמור בכונן."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "אין אפשרות להוסיף מחיצה ל-RAID %s שאותחל"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "אין מספיק מחיצות בשביל שלב ה-RAID %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "לא ניתן ליצור את הספריה usr/share/sane/firmware/"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "לא ניתן ליצור את הקישור usr/share/sane/%s/"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "לא ניתן להעתיק את קובץ הקושחה %s אל usr/share/sane/firmware/"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "לא ניתן לשנות את הרשאות קובץ הקושחה %s"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "אשף הגדרת סורק"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "לא ניתן להתקין את החבילות הדרושות לשיתוף הסורק/ים שלך."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "הסורק/ים שלך לא יהיו זמינים למשתמשים רגילים במערכת."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "קבל/דחה הודעות שגיאה על IPv4 תקול."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "קבל/דחה הד שידור של icmp."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "קבלת/דחייה של icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "התר/מנע כניסה אוטומטית."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"אם כוון ל-\"ALL\", ל-etc/issue/ ו- etc/issue.net/ מותר להתקיים.\n"
+"\n"
+"אם כוון ל-NONE הם לא יותרו.\n"
+"\n"
+"במקרה אחר רק etc/issue/ מותר."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "אפשר/מנע אתחול מחדש על ידי משתמש בשורת הפקודה."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "הרשה/אסור התחברות מרוחקת כמנהל מערכת (root)"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "אפשר/אסור התחברות מקומית של המנהל (root)"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "אפשר/מנע הצגת רשימת המשתמשים במערכת במנהל ההפעלה (kdm ו-gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"התר/מנע יצוא תצוגה כאשר\n"
+"עוברים מחשבון מנהל המערכת למשתמשים אחרים.\n"
+"\n"
+"פרטים נוספים ב- (pam_xauth(8"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"התר/מנע חיבורים ל-X:\n"
+"\n"
+"- ALL (כל החיבורים מותרים)\n"
+"\n"
+"- LOCAL (רק חיבורים מהמכונה המקומית)\n"
+"\n"
+"- NONE (ללא חיבור)"
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"ערך זה מציין אם לקוחות מורשים להתחבר אל שרת ה-X\n"
+"מהרשת בערוץ 6000 של tcp או שלא."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, fuzzy, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"אישור:\n"
+"\n"
+"- כל השירותים הנשלטים על ידי tcp_wrappers (פירוט בדף man hosts.deny(5)) נבחר "
+"\"ALL\",\n"
+"\n"
+"- רק מקומיים אם נבחר \"LOCAL\"\n"
+"\n"
+"- אף אחד אם נבחר \"NONE\".\n"
+"\n"
+"לאישור השירותים הדרושים לך יש להשתמש ב-/etc/hosts.allow (פירוט בדף hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, fuzzy, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"אם SERVER_LEVEL (או SECURE_LEVEL אם איננו)\n"
+"גדול מ- 3 ב- /etc/security/msec/security.conf, יוצר את הקישור\n"
+"הסימבולי /etc/security/msec/server שיצביע אל\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"הקובץ /etc/security/msec/server משמש את chkconfig --add להחלטה\n"
+"על הוספת שירות אם הוא נמצא בקובץ בזמן התקנת חבילות.\n"
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"אפשר/מנע את crontab ו-at ממשתמשים.\n"
+"\n"
+"יש להוסיף משתמשים מורשים בקובץ etc/cron.allow/ ו-etc/at.allow/\n"
+"(פרטים נוספים ב- (man at(1 ו-(crontab(1)."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "אפשר/בטל דיווחי syslog למסוף 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"אפשר/בטל הגנה מפני name resolution spoofing. אם \"%s\"\n"
+"מסומן, תירשם כניסה ברישום של המערכת."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "התראות אבטחה:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "אפשר/נטרל הגנה כנגד כתובות IP מזויפות."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "אפשר/נטרל את libsafe אם הספרייה מותקנת במערכת."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "אפשר בטל את הרישום של חבילות IPv4 מוזרות"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "אפשר/נטרל את הבדיקות של msec מדי שעה."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr "אפשר su רק מחברי קבוצת wheel. אם כוון ל-לא מאפשר su מכל משתמש."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "השתמש בסיסמה לאימות משתמשים."
+
+#: security/help.pm:94
+#, fuzzy, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "הפעל/הפסק promiscuity check של כרטיסי הרשת."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "הפעלה/ביטול של בדיקות אבטחה יומיות"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "אפשר/מנע (sulogin(8 במצב single user."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "הוסף את השם כחריג בטיפול בהתישנות סיסמאות על ידי msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "הגדרת התיישנות הסיסמאות ל-\"max\" ימים והמאחרים לשנות ל-\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "הגדרת אורך היסטורית הסיסמאות לניעת שימוש חוזר בסיסמה"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"הגדרת האורך המזערי של סיסמה, המספר המזערי של ספרות והמספר המינימלי של אותיות "
+"גדולות."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "קביעת מסיכת מנהל (root umask)"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "אם הוגדר כ\"כן\", בדוק יציאות (פורטים) פתוחות."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"אם נבחר, בדוק אחר:\n"
+"\n"
+"- סיסמאות ריקות \n"
+"\n"
+"- אין סיסמאות ב-/etc/shadow\n"
+"\n"
+"- משתמשים עם זיהוי משתמש 0, חוץ מאשר מנהל המערכת (root)."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "אם מסומן \"כן\", תבדקנה ההרשאות של הקבצים בספריות הבית של משתמשים."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "אם הוגדר ככן, בדוק אם התקני הרשת במצב מופקר."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "אם מסומן \"כן\", יורצו בדיקות אבטחה מתוזמנות."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "אם הוגדר ככן, בדוק הוספה/הסרה של קבצי sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "אם הוגדר ככן, בדוק סיסמאות ריקות ב- /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "אם הוגדר ככן, בדוק את ה- checksum של קבצי suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"אם מסומן \"כן\", ייבדקו הוספות או שינויים של קצבים שמסומנים suid של root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "אם הוגדר ככן, דווח על קבצים שאינם בבעלות אף משתמש."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "אם הוגדר כ\"כן\", בדוק קבצים/תיקיות שניתנים לכתיבה על ידי כולם."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "אם הוגדר ככן, הרץ בדיקת chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"אם מוגדר, שלח את הדו\"ח לדוא\"ל הזה, אחרת שלח אותו למנהל המערכת (root)."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "אם מסומן \"כן\",דיווח תוצאת הבדיקה יישלח בדואר."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "נא לא לשלוח הודעות דוא\"ל אם אין שום אזהרה לדווח"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "אם כוון לכן, יורצו מספר בדיקות מול בסיס הנתונים של rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "אם נקבע כחיובי, תוצאות הבדיקות ידווחו ברישום המערכת."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "אם כוון לכן, ידווחו תוצאות הבדיקות ליציאה הטורית."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "הגדרת גודל היסטורית פקודות המעטפת. הגדרה כ- 1 משמעותה כי אין הגבלה."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "הגדרת זמן תפוגת המעטפת. ערך של אפס משמעו כי אין תפוגה."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "יחידת הזמן למשך ההמתנה המירבי היא שניות"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "קביעת ה-umask של המשתמש."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "אפשר הודעות שגיאה IPv4 מוזרות"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "אפשר broadcasted icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "אפשר icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* קיים"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "אתחול המערכת ע\"י משתמש בטרמינל"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "אפשר התחברות מרוחקת של מנהל המערכת (root)"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "התחברות ישירה של מנהל המערכת (root)"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "רשימת המשתמשים במנהלי הפעלה (KDM ו-GDM)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "ייצא את התצוגה כאשר מתבצע מעבר ממנהל מערכת למשתמשים אחרים"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "אפשר חיבורי X Windows"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "אשר חיבורי TCP אל X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "אשר את כל השרותים המבוקרים ע\"י tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig יציית לחוקי msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "אפשר \"crontab\" ו-\"at\" למשתמשים"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "דיווח של SysLog אל מסוף מספר 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "הגנה בפני זיוף תרגום שמות מתחם"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "אפשר הגנה בפני זיוף כתובות IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "אפשר את libsafe אם libsafe נמצא במערכת"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "אפשר רישום חבילות IPv4 מוזרות"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "אפשר בדיקות אבטחה של msec מדי שעה"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "אפשר su רק מחברי קבוצת wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "השתמש בסיסמה בכדי לזהות משתמשים"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "בדיקת ערבוב של כרטיסי Ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "בדיקת אבטחה יומית"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) ברמת משתמש single"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "סיסמה לא תפוג עבור"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "הגדר משך זמן לפני תפוגת הסיסמה ויציאה מכלל פעולה של החשבון"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "אורך היסטורית הסיסמאות"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "האורך המינימלי של הסיסמה ומספר הספרות והאותיות גדולות"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "מסיכת משתמש על (umask)"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "גודל היסטוריית בפקודות במסוף"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "תפוגת תוקף המסוף"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "מסיכת משתמש (umask)"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "בדיקת יציאות פתוחות"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "בדיקת חשבונות לא מאובטחים"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "בדיקת הרשאות בספריות הבית של משתמשים"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "בדוק אם התקני הרשת הם במצב מעורבל"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "הרצת בדיקות האבטחה היומיות"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "בדיקת הוספות או שינויים של קבצי sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "בדוק סיסמה ריקה בקובץ /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "וידוא checksum של קבצי suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "בדיקת הוספה או גריעה של קבצי SUID של root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "דווח על קבצים ללא שייכות"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "בדיקה של קבצים/ספריות עם הרשאות כתיבה לכולם"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "הרצת בדיקות chkrootkit "
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "אל תשלח דווחי דואר ריקים."
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"אם נבחר, שלח את הדו\"ח לכתובת דוא\"ל זו, אחרת שלח את הדו\"ח למנהל המערכת"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "דווח על תוצאות הבדיקה בדוא\"ל"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "ביצוע כמה בדיקות מול בסיס הנתונים של RPM"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "דווח תוצאות הבדיקה אל רישום המערכת (syslog)"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "דווח תוצאות בדיקה ישירות למסוף tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "קבלת פנים לקראקרים"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "חלשה"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "רגיל"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "גבוה"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "יותר גבוה"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "פרנואידי"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"יש להשתמש ברמה זו בזהירות הראויה, היא הופכת את המערכת לקלה יותר לשימוש\n"
+"אך רגישה ביותר. אין לעשות בה שימוש במכונות המחוברות לאחרות או לאינטרנט.\n"
+"אין גישה עם סיסמה."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr "הסיסמאות מאופשרות כעת, אבל השימוש כמחשב ברשת אינו מומלץ למרות זאת."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"זוהי ברירת המחדל של תצורת האבטחה המומלצת למחשב שישמש לחיבור לאינטרנט בתור "
+"לקוח."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"תצורת אבטחה זו כוללת מספר הגבלות נוספות וכן הפעלת בדיקות שגרתיות מדי לילה."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"תצורת אבטחה זו מאפשרת שימוש במערכת כשרת, אליו יכולים להתחבר לקוחות\n"
+"רבים דרך הרשת. חשוב! אם המערכת שלך משמשת כלקוח אינטרנט בלבד,\n"
+"מומלץ ביותר לבחור רמה נמוכה יותר."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"תצורת אבטחה זו מעניקה הגנה מירבית, וכל מאפייני האבטחה מופעלים בתצורתם "
+"המגבילה ביותר."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "הגדרות אבטחה"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "אפשרויות בסיסיות של DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "בשלב זה עליך לבחור את סף האבטחה הרצוי מבין האפשרויות:"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "סף האבטחה"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "השתמש ב-libsafe עבור כל השרתים"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "זוהי ספרייה המגנה בפני buffer overflow והתקפות format string."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "מנהל אבטחה (שם משתמש או דוא\"ל)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"הפעלת מערכת הקול ALSA (ארכיטקטורת\n"
+"קול מתקדמת ללינוקס)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "תוכנת Anacron היא תוכנת לוח זמנים מחזורי פקודתי."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"השירות apmd נועד לניטור מצב הסוללה, ורישום\n"
+"המצב דרך syslog. שימוש אפשרי בתכונה זו הוא\n"
+"כיבוי מחשב נייד, כאשר הסוללה חלשה."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"הרצת פקודות לפי זמנים שנקבעו להרצתן\n"
+"והרצת פקודות אצווה כאשר העומס במערכת נמוך."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"תהליך cron מאפשר ביצוע פעולות במערכת\n"
+"בזמנים מחזוריים מוגדרים מראש. vixie cron\n"
+"הוא גרסה משופרת המשפרת את רמת האבטחה\n"
+"ומאפשרת אפשרויות הגדרה עוצמתיות יותר."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM הוא תהליך רקע לניטור קבצים.\n"
+"הוא משמש את KDE ו GNOME לזיהוי\n"
+"קבצים שהשתנו."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM מוסיף תמיכה בעכבר ליישומים מבוססי מלל כמו Midnight Commander.\n"
+"בנוסף GPM מאפשר פעולות העתקה והדבקה במסוף בעזרת העכבר\n"
+"וכולל תמיכה בתפרטים מזנקים במסוף."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"תהליך רקע המזהה חומרה אשר\n"
+"מחוברת למחשב, ומאפשר להגדיר\n"
+"חומרה חדשה/שהשתנתה."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache הוא שרת אינטרנט (World Wide Web). הוא משמש להגשת קבצי HTML ו-CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"תוכנת השרת internet superserver (ששמה הנפוץ הוא inetd) מאתחלת\n"
+"שרותי אינטרנט רבים לפי הצורך. התכנה אחראית לאתחול שרותים רבים, \n"
+"בניהם telnet, ftp, rsh, ו rlogin. נטרול inetd גורר אחריו נטרול של כל\n"
+"השרותים שעליהם היא אחראית."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"הפעלת סינון פאקטים בגלעין לינוקס מסדרה 2.2, כדי\n"
+"להגדיר חומת-אש ולהגן על המכונה שלך מהתקפות מהרשת."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"חבילה זו טוענת את פריסת המקלדת אשר\n"
+"מוגדרת ב-/etc/sysconfig/keymap. דבר זה\n"
+"נשלט על ידי תוכנת העזר kbdconfig. מומלץ\n"
+"להשאיר שרות הזה פעיל עבור רוב המערכות."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"יצירה אוטומטית של kernel heder בזמן אתחול\n"
+"תחת boot/ עבור:\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "זיהוי אוטומטי והגדרת חומרה בזמן אתחול."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf יפעיל מעת לעת משימות שונות בזמן האתחול\n"
+"כדי לתחזק את אפיון המערכת."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd הוא אשף ההדפסות הדרוש לפעולה תקינה של lpr. בבסיסו\n"
+"הוא שרת המפנה עבודותהדפסה למדפסות."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"שרת וירטואלי של לינוקס, מטרתו לבנות שרת בעל ביצועים גבוהים \n"
+"וזמינות גבוהה."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) הוא שרת כתובות מתחם (DNS) המשמש לתרגום שמות מתחם לכתובות IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"מעגן ומנתק את כל מערכות הקבצים ברשת כגון\n"
+"Network File System (NFS), SMB (Lan\n"
+"Manager/Windows) ו NCP (NetWare)"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"מפעיל/מנתק את כל ממשקי הרשת\n"
+"המוגדרים להתחיל בזמן האתחול."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS הוא פרוטוקול נפוץ לשיתוף קבצים ברשתות TCP/IP.\n"
+"שרות זה מספק פעולות של שרת NFS המאופיין דרך הקובץ etc/exports/."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"פרוטוקול NFS, מיועד לשיתוף קבצים על גבי רשתות TCP/IP.\n"
+"שרות זה מאפשר את פעולת הנעילה של קבצים על NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"הדלקה אוטומטית של מקש numlock במסוף\n"
+"ובמערכת הגרפית בזמן האתחול."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "תמיכה במדפסות winprinters מסוג OKI 4w ותואמותיה."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"תמיכה ב-PCMCIA דרושה בדרך כלל לכרטיסי רשת ומודמים במחשבים\n"
+"ניידים. PCMCIA לא יופעל ללא אפיון מתאים כך שזה בטוח להשאירו\n"
+"מותקן גם על מכונות שאינן צריכות אותו."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"תהליך זה מנהל חיבורי RPC, אשר משמשים\n"
+"פרוטוקולים כגון NFS ו NIS. שרת portmap\n"
+"חייב להיות מופעל במכונות אשר ישמשו כשרתים\n"
+"עבור פרוטוקולים הדורשים שימוש ב RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"postfix היא תוכנת העברת דואר\n"
+"ממחשב אחד לשני."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"שומר וטוען מצב אקראי במערכת לצורך\n"
+"חילול משופר של מספרים אקראיים"
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"מקצה התקנים גולמיים (raw) להתקנים\n"
+"מבוססי מקטעים (כגון מחיצות של כונן\n"
+"קשיח). יכולת זו נדרשת ליישומים כגון\n"
+"Oracle או נגני DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"האשף של routed מאפשר עידכון אוטומטי של טבלאות ניתוב כתובות IP\n"
+"דרך פרוטוקול ה-RIP. אף שהשימוש ב-RIP נפוץ ברשתות קטנות יש צורך\n"
+"בפרוטוקולים סבוכים יותר ברשתות יותר גדולות."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"פרוטוקול ה-rstat מאפשר למשתמשים ברשת לאחזר\n"
+"מדדי ביצועים מכל מכונה באותה רשת."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"הפרוטוקול rusers מאפשר למשתמשים ברשת לזהות מי\n"
+"מחובר למכנות אחרות ברשת שמגיבות."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"הפרוטוקול rwho מאפשר למשתמשים מרוחקים לקבל רשימה\n"
+"של כל המשתמשים המחוברים למכונה המריצה את אשף rwho\n"
+"(זהה ל-finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "טוען את מערכת הקול במחשב שלך"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog הוא השירות בו משתמשים אשפים רבים לרישום הודעות לקבצי\n"
+"רישום שונים במערכת. הרצת Syslog באופן קבוע היא צעד נבון."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "טוען את מנהלי ההתקן לחומרת הusb שלך."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"מפעיל את שרת הגופנים (זוהי פונקציה\n"
+"בסיסית הנדרשת להפעלת ממשק גרפי\n"
+" של-Xorg)"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "הדפסה"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "אינטרנט"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "שיתוף קבצים"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "מערכת"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "ניהול מרחוק"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "שרת בסיס-נתונים"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "שרותים"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "עליך לבחור אלו שרותים יופעלו אוטומטית בזמן אתחול המחשב"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "%d שרותים מופעלים מתוך %d שרותים מוגדרים"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "פועל"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "מופסק"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "שרותים ותהליכי רקע"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"מצטער, אין מידע \n"
+"נוסף על שירות זה."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "מידע"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "הפעל לפי הצורך"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "בזמן אתחול"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "הפעל"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "הפסק"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"תוכנה זו היא תוכנה חופשית; מותר לך להפיצה מחדש ו/או לשנות אותה\n"
+" על-פי תנאי הרישיון הציבורי הכללי של GNU כפי שפורסם על ידי\n"
+"קרן התוכנה החופשית; בין אם גרסה 2 של הרישיון, ובין אם (לפי בחירתך)\n"
+"כל גרסה מאוחרת שלו.\n"
+"\n"
+"תוכנית זו מופצת בתקווה שתהיה מועילה,\n"
+"אבל בלא אחריות כלשהי; ואפילו ללא האחריות המשתמעת בדבר\n"
+"מסחריותה או התאמתה למטרה מסויימת. לפרטים נוספים, עליך לעיין\n"
+"ברישיון הציבורי הכללי של GNU.\n"
+"\n"
+"ביחד עם תוכנית זו היית אמור לקבל עותק של הרישיון הציבורי הכללי\n"
+"של GNU; במידה שלא, עליך לכתוב ל Free Software Foundation, Inc.,\n"
+" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : שמירת ספריות ברירת מחדל\n"
+"--debug : הצגת את כל הודעות הדיבוג\n"
+"--show-conf : רשימת של קבצים ותיקיות לגיבוי\n"
+"--config-info : הסבר על אפשרויות הגדרת קובץ (for non-X users).\n"
+"--daemon : daemon שימוש בהגדרת . \n"
+"--help : הצגת מסך זה.\n"
+"--version : הצגת מספר גרסה.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"אפשרויות:\n"
+" --boot - אפשר אפיון טוען המערכת\n"
+" --splash - אפשר את אפיון ערכת הנושא באתחול\n"
+"מצב ברירת המחדל: הצע לאפיין את אפשרויות הכניסה האוטומטית"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - הדפסת הודעה זו.\n"
+" --report - שם התוכנית צ\"ל אחד מהכלים של מנדריבה לינוקס\n"
+" --incident - שם התוכנית צ\"ל אחד מהכלים של מנדריבה לינוקס"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - אשף \"הגדרת מנשק רשת חדש\"\n"
+" --del - אשף \"מחיקת מנשק רשת\"\n"
+" --skip-wizard - ניהול חיבורים\n"
+" --internet - הגדרת אינטרנט\n"
+" --wizard - כמו --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"יישום לייבוא וניטור גופנים\n"
+"\n"
+"אפשרויות:\n"
+"--windows_import : ייבוא מכל מחיצות חלונות הזמינות\n"
+"--xls_fonts : xls הצגת כל הגופנים שכבר קיימים ב\n"
+"--install : קבלת כל קובץ גופן או תיקייה.\n"
+"--uninstall : הסרת כל גופן או כל תיקיית גופנים.\n"
+"--replace : החלפת כל גופן אם קיים כבר\n"
+"--application : 0 שום יישום.\n"
+" : 1 כל היישומים הזמינים נתמכים.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : MTS אפשור\n"
+"--disable : MTS ביטול\n"
+"--start : MTS התחלת\n"
+"--stop : MTS עצירת\n"
+"--adduser : MTS הוספת משתמש מערכת קיים ל (requires username)\n"
+"--deluser : MTS מחיקת משתמש קיים מ(requires username)\n"
+"--addclient : MTS הוספת מחשב לקוח ל (requires MAC address, IP, nbi "
+"image name)\n"
+"--delclient : MTS מחיקת מחשב לקוח מ(requires MAC address, IP, nbi image "
+"name)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[מקלדת]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[אפשרויות]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : הצג ממשק זה כברירת מחדל\n"
+"--connect : התחבר לאינטרנט אם לא מחובר כבר--disconnect : התנתק מהאינטרנט אם "
+"מחובר כבר\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : החזר 1 אם מחובר, 0 אחרת--quiet : לפעול בצורה בלתי אינטראקטיבית"
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation לא לבקש אישור במצב עדכון-Mandriva\n"
+" --no-verify-rpm לא לזהות חתימות חבילות\n"
+" --changelog-first הצג רישום-שינוי לפני רשימת הקבצים בחלון התיאור\n"
+" --merge-all-rpmnew שנמצאו .rpmnew/.rpmsave מיועד למזג את כל קבצי"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "כל השרתים"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "גלובלי"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "אפריקה"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "אסיה"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "אירופה"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "צפון אמריקה"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "אוקינאווה"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "דרום אמריקה"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "הונג קונג"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "הפדרציה הרוסית"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "יוגוסלביה"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "האם זה נכון?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "לא נבחר קובץ"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "בחרת קובץ, לא ספריה"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "בחרת ספריה, לא קובץ"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "אין ספרייה כזו"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "אין קובץ כזה"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "פרוס עץ"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "כווץ עץ"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "החלף בין תצוגה שטוחה/סידור בקבוצות"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s לא מותקן\n"
+"יש לבחור ב\"המשך\" להתקנה או \"סיום\" ליציאה"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "ההתקנה נכשלה"
diff --git a/perl-install/share/po/help_update_english_only.pl b/perl-install/share/po/help_update_english_only.pl
new file mode 100755
index 000000000..4792e0ad5
--- /dev/null
+++ b/perl-install/share/po/help_update_english_only.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/perl -w
+
+use MDK::Common;
+
+my @prev = get("DrakX.pot.old");
+my @curr = get("DrakX.pot");
+
+@prev == @curr or die "the number of messages has changed: " . int(@prev) . " is now " . int(@curr);
+
+my %l = map_index { $_ => $prev[$::i] } @curr;
+
+while (my ($new, $old) = each %l) {
+ my ($s_old) = $old =~ /"(.*)\\n"/ or die "<$old>";
+ my ($s_new) = $new =~ /"(.*)\\n"/ or die "<$new>";
+ next if $s_old eq $s_new;
+
+ warn "mismatch\n in $s_old\n vs $s_new\n";
+}
+
+print STDERR "Is that ok (Y/n) ? ";
+<STDIN> !~ /n/i or exit;
+
+foreach my $po (glob_("*.po")) {
+ my $s = cat_($po);
+ while (my ($new, $old) = each %l) {
+ my $offset = index($s, $old);
+ if ($offset >= 0) {
+ # print STDERR "replacing $old with $new\n";
+ substr($s, $offset, length($old), $new);
+ }
+ }
+ output($po, $s);
+}
+
+
+sub get {
+ my ($file) = @_;
+ my @l;
+ foreach (cat_($file)) {
+ my $nb = /^#:.*help\.pm/ .. /msgstr ""/ or next;
+ if ($nb =~ /E0/) {
+ push @l, $s if $s;
+ $s = '';
+ } elsif (/^"/) {
+ $s .= $_;
+ }
+ }
+ @l;
+}
+
diff --git a/perl-install/share/po/hi.po b/perl-install/share/po/hi.po
new file mode 100644
index 000000000..3dde0021b
--- /dev/null
+++ b/perl-install/share/po/hi.po
@@ -0,0 +1,6538 @@
+# translation of DrakX-hi.po to हिन्दी, भारत (Hindi, India)
+# Copyright (C) 2003,2004 Free Software Foundation, Inc.
+# धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>, 2003, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-hi\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-04-04 21:54+0530\n"
+"Last-Translator: धनञ्जय शर्मा (Dhananjaya Sharma) <dysxhi@yahoo.co.in>\n"
+"Language-Team: हिन्दी (Hindi) <dysxhi@yahoo.co.in>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "कृपया प्रतीक्षा करें"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "बूटलोडर का संसाधन प्रगति पर है"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "बूटलोडर का संसाधन असफ़ल । निम्नलिखित त्रुटि उत्पन्न हो गयी है:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"बूटलोडर को सक्रिय करने के लिए, आपको अपने ओपन फ़र्मवेयर बूट-उपकरण को \n"
+"परिवर्तित करना होगा | यदि रीबूट के समय, आप बूटलोडर प्रॉम्ट को नहीं देखते है, तो\n"
+"रीबूट के समय कॉमाण्ड-विकल्प-ओ-एफ़ (Command-Option-O-F) को दबा कर रखें\n"
+"और इस निर्देश को इन्टर करें: setenv boot-device %s,\\\\:tbxi और फ़िर\n"
+"टाइप करें: shut-down । आपके आगामी बूट पर आप बूटलोडर प्रॉम्ट को देख सकेगें ।"
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"आपने एक विभाजन के ऊपर बूटलोडर को संसाधित करने का निर्णय लिया है।\n"
+"यह इंगित करता है कि पर आपके पास एक बूटलोडर उस हार्ड ड्राइव पर है जिससे आप बूट करते है "
+"(उदाहरण हेतु: सिस्टम कॉमाण्डर)।\n"
+"\n"
+"आप किस ड्राइव से बूट करते है?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "ड्राइव का प्रथम सेक्टर (मास्टर बूट रिकार्ड)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "रूट विभाजन के प्रथम सेक्टर"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "फ़्लापी पर"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "छोड़े"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "लिलो/ग्रब संसाधान"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "बूटलोडर को आप कहाँ संसाधित करना चाहते है ?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "बूट शैली संरचना"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "बूटलोडर के मुख्य विकल्प"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "बूटलोडर"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "उपयोगार्थ बूटलोडर"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "बूट उपकरण"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "डिफ़ाल्ट प्रतिबिंब को बूट करने के पूर्व देरी"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ऐसीपीआई शक्तियुक्त बनायें"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ऐसीपीआई शक्तियुक्त बनायें"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ऐसीपीआई शक्तियुक्त बनायें"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "कूट-शब्द"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "कूटशब्द आपस में नहीं मिलते है"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "कृपया पुनः प्रयास करें"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "आरोह बिन्दु %s के लिए आप एक गूढ़-लिखित संचिका तंत्र का उपयोग नहीं कर सकते है"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "कूट-शब्द (पुनः बतायें)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "कॉमाड लाइन विकल्पों को सीमित करें"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "सीमित"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"विकल्प कॉमाण्ड लाइन विकल्पों को सीमित करें (``Restrict command line options'') का "
+"बिना एक कूटशब्द के कोई उपयोग नहीं है"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "/tmp निर्देशिका को प्रत्येक बूट के समय साफ़ करें"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "नितांत आवश्यक रॉम का आकार यदि आवश्यक हो (%d एम०बी० मिली)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "रैम का आकार मेगाबाईट में दें"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "आरम्भिक संदेश"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "मुक्त फ़र्मवेयर देरी"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "कर्नल बूट की समय-सीमा समाप्त"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "सीडीबूट को सक्रिय किया जायें?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "बूट के लिए समर्थ?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "डिफ़ाल्ट संचालन-तंत्र?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "प्रतिबिंब"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "रूट"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "जोड़ना"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "विडियो विधा"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "इनिटआरडी"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "नयी प्रोफ़ाइल..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "लेबिल"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "डिफ़ाल्ट"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "कोई विडियो नहीं"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "शून्य लेबिल की अनुमति नहीं है"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "आपको एक कर्नल प्रतिबिंब को बताना चाहिए"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "आपको एक रूट विभाजन को बताया चाहिए"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "यह लेबिल पहिले से उपयोग में है"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "किस प्रकार की प्रविष्टी को आप जोड़ना चाहता है?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "लिनक्स"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "अन्य संचालन-तंत्र (सन संचालन-तंत्र...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "अन्य संचालन तंत्र (मैक संचालन तंत्र...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "अन्य संचालन तंत्र (विण्डो...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"आपके बूट मीनू में अभी तक यह प्रविष्टीयां है । \n"
+"आप अतिरिक्त प्रविष्टीयों का निर्माण या वर्तमान प्रविष्टीयों को परिवर्तित कर सकते है ।"
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "एक्स कार्यक्रमों तक पहुँच"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "आरपीएम औज़ारों तक पहुँच"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" को अनुमति"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "प्रबंधकीय संचिकाओं तक पहुँच"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "नेटवर्क औज़ारों तक पहुँच"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "संकलन औज़ारों तक पहुँच"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s को पहिले से ही जोड़ा जा चुका है)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "कृपया एक उपयोगकर्ता नाम बतायें"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "उपयोगकर्ता के नाम में सिर्फ़ अंग्रेजी के छोटे शब्द, संख्यायें, `-' और `_' होना चाहिए"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "उपयोगकर्ता नाम काफ़ी लंबा है"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "यह उपयोगकर्ता नाम पहिले से विद्यमान है"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "उपयोग-कर्ता पहचान संख्या"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "समूह पहचान संख्या"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "%s विकल्प को एक संख्या होना चाहिए !"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "उपयोगकर्ता जोड़ें"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"एक उपयोगकर्ता को बतायें\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "किया गया"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "उपयोगकर्ता को स्वीकार करना"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "वास्तविक नाम"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "संत्र-आरम्भ नाम"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "कोश"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "स्वतः संत्र-आरम्भ"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"मै आपके कम्प्यूटर को एक उपयोगकर्ता के लिए स्वतः ही संत्र-आरम्भ करने के लिए स्थापित कर सकता "
+"हूँ ।"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "क्या आप इस लक्षण का उपयोग करना चाहते है?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "डिफ़ाल्ट उपयोगकर्ता का चयन:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "चलाने के लिए विण्डो प्रबंधक का चयन करे:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "अनुज्ञापत्र एकरारनामा"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "निकास"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "संस्मरण: "
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "स्वीकार"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "अस्वीकृत"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "कृपया उपयोग में लायी जाने वाली एक भाषा का चयन करें ।"
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "मैनुअल पसन्द"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"ंमैनड्रिव लिनक्स अनेकों भाषाओं को समर्थन करता है । उस भाषा\n"
+"का चयन करें जिसे आप संसाधन करना चाहते है । जब आपका संसाधन समाप्त हो\n"
+"जायेगा और जब आप अपने तंत्र को पुनः आरम्भ करेगें, तो ये उपलब्ध हो जायेगी ।"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "सभी भाषायें"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "देश / क्षेत्र"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "कृपया अपने देश का चयन करें ।"
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "यह है उपलब्ध देशों की सम्पूर्ण सूची"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "दूसरे पोर्ट"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "उन्नत"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "नेट विधि:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "कुछ नहीं"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "कोई सहभाजिता नहीं"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "सभी उपयोगकर्ताओं को अनुमति"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "इच्छानुसार"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"क्या आप उपयोगकर्ताओं को उनकी कुछ निर्देशिकाओं को साझा करने की अनुमति देना पसन्द करेगें?\n"
+"यह अनुमति उपयोगकर्ताओं को कॉन्कर्र या नौटिल्यस में सरलता से \"साझा\" पर क्लिक करने देगी "
+"।\n"
+"\n"
+"\"कस्टम\" एक प्रत्येक-उपयोगकर्ता ग्रॉन्युलॉरटि की आज्ञा देता है।\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"एन०एफ़०एस० या सॉबा का उपयोग करके आप एक्सपोर्ट कर सकते है । कृपया चयन करें आप किस का "
+"उपयोग करना चाहते है ।"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "यूज़रड्रैक को आरम्भ करें"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "बन्द"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"प्रत्येक-उपयोगकर्ता सहभाजिता \"संचिकासाझा\" समूह का उपयोग करती है।\n"
+"आप यूजरड्रैक का उपयोग करके एक उपयोगकर्ता को इस समूह में जोड़ सकते है।"
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+"कृपया संत्र-समाप्त करें और फ़िर कन्ट्रोल-आल्ट-बैकस्पेस (Ctrl-Alt-BackSpace) कुँजियो का "
+"उपयोग करें"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"परिवर्तनों को प्रभाव में लाने के लिए, आपको संत्र-समाप्त करके पुन: संत्र-आरम्भ करना होगा"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "समय क्षेत्र"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "आपका समय-क्षेत्र क्या है?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "हार्डवेयर घड़ी को जी०एम०टी० पर स्थापित कर दिया गया है"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "हार्डवेयर घड़ी को जी०एम०टी० पर स्थापित कर दिया गया है"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "एन०टी०पी० सर्वर"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr " स्वचालित समय एकसारीकरण (एनटीपी का उपयोग करते हुए)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "स्थानीय फ़ाइल"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "एल०डी०ऐ०पी०"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "एन०आई०एस०"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "विण्डो डोमेन"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "बैक-अपों के साथ निर्देशिका"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "बैक-अपों के साथ निर्देशिका"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "स्थानीय संचिकायें:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "एल०डी०ऐ०पी०:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "एन०आई०एस०:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "विण्डो डोमेन:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "बैक-अपों के साथ निर्देशिका"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "बैक-अपों के साथ निर्देशिका"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "एलडीऐपी का प्रमाणीकरण"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "एलडीऐपी आधार डीएन"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "एलडीऐपी सर्वर"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "सरल"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "टीएलएस"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "एसएसएल"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "प्रमाणीकरण विधि"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "डोमेन"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "सर्वर"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "डाटाबेस"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "कूट-शब्द आवश्यक"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "एनआईएस का प्रमाणीकरण"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "एनआईएस डोमेन"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "एनआईएस सर्वर"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"इसको एक डब्लू२के पीडीसी के लिए कार्य करने हेतु, आपको सम्भवता प्रबंधन करना होगाrun: C:"
+"\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add और "
+"सर्वर को रीबूट करें ।\n"
+"इस कम्प्यूटर को विण्डो(TM) डोमेन से जोड़ने के लिए आपको एक डोमेन प्रबंधन केउपयोगकर्ता का "
+"नाम/कूटशब्द की आवश्यकता भी होगी ।\n"
+"यदि नेटवर्क यदि अभी सक्रिय नहीं है, तो नेटवर्क स्थापना चरण के उपरान्त ड्रैकएक्स Drakx "
+"will attempt to join the domain ड्रैकएक्स डोमेन से जुड़ने का प्रयत्न करेगा ।\n"
+"यदि यह स्थापना किसी कारणवश असफ़ल रहें और डोमेन प्रमाणीकरण कार्य ना करें,तो सिस्टम बूट के "
+"बाद, अपने विण्डो(tm) डोमेन, व प्रबंधन उपयोगकर्ता/कूटशब्द का उपयोग करते हुए,यह निर्देश "
+"चलायें: 'smbpasswd -j DOMAIN -U USER%%PASSWORD' ।\n"
+"'wbinfo -t' निर्देश यह परीक्षण करेगा कि क्या आपके प्रमाणीकरण रहस्यअच्छे है।"
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "विण्डो डोमेन का प्रमाणीकरण"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "डोमेन प्रबंधक उपयोगकर्ता का नाम"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "डोमेन प्रबंधन कूट-शब्द"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "प्रमाणीकरण"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "महा-उपयोगकर्ता कूट-शब्द को निर्धारित करें"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "प्रमाणीकरण विधि"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "कोई कूट-शब्द नहीं"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "यह कूटशब्द अति लघु है (इसे कम-से-कम %d शब्दों का होना चाहिए)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "बिना एमआईएस डोमेन के ब्रोडकॉस्ट का उपयोग किया जा सकता है"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "पाठ्य मीनू के साथ लिलो"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "याबूट"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "एस०आई०एल०ओ०"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot में इतना स्थान नहीं है"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "एक %s विभाजन पर आप बूट-लोडर को संसाधित नहीं कर सकते है\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"आपकी बूटलोडर संरचना को अपडेट करना आवश्यक है क्योंकि विभाजन कोनयी क्रम-संख्या दी जा चुकी "
+"है"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"बूटलोडर को भली-भांति संसाधित नहीं किया जा सका । आपको बूट को बचाव विधा में करना होगा "
+"और\"%s\" का चयन करना होगा"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "बूटलोडर को पुनः संसाधित करना"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "केबी"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "केबी"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "एमबी"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "जीबी"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "टीबी"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d मिनट"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "१ मिनट"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d पल"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"वेब डीऐवी एक प्रोटोकॉल है जो कि आपको एक वेब सर्वर की निर्देशिका को स्थानीय रूप से "
+"आरोहित करने की \n"
+"अनुमति प्रदान करता है, और इसे एक स्थानीय संचिका तंत्र की भांति रखता है (जबकि वेब सर्वर "
+"को\n"
+"एक वेब डीऐवी सर्वर की भांति संरचित कर दिया हो) । यदि आप वेब डीऐवी आरोह बिन्दुओं को "
+"जोड़ने के लिए,\n"
+"\"New\" चयन करें ।"
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "नया"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "अवरोहण"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "आरोहण"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "आरोह बिन्दु"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "विकल्पों"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "त्रुटि"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "कृपया वेब डी०ऐ०वी० सर्वर का यू०आर०एल० बतायें"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "यू०आर०एल० का आरम्भ http:// या https:// के द्वारा होना चाहिए"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "सर्वर: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "आरोह बिन्दु:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "विकल्पों: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "विभाजनीकरण"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "सावधानी-पूर्वक पढ़ें !"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "कृपया अपनी सूचनाओं का सवर्प्रथम बैक-अप लें"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "निकास"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "जारी"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"यदि आप एक बूट के उपयोग की योजना बना रहे है, तो ध्यान रहे कि डिस्क के आरम्भ में एक मुक्त "
+"स्थान छोड़ें \n"
+"(२०४८ सेक्टर काफ़ी होगें)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "सहायता"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "विकल्प का चयन करें"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"आपके पास एक बृहत माइक्रोसॉफ़्ट विण्डो विभाजन है । \n"
+"मेरा सुझाव है कि पहिले आप इस विभाजन को पुनःआकार दें\n"
+"(इस पर क्लिक करें, और फ़िर \"Resize\" पर क्लिक करें)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "कृपया एक विभाजन पर क्लिक करें"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "विस्तृत विवरण"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "कोई भी हार्ड ड्राइव नहीं मिली"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "अज्ञात"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "ई०एक्स०टी०-२"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "जर्नलाइज़ड संचिकाप्रणाली"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "स्वैप"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "सन संचालन तंत्र"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "एच०एफ़०एस०"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "विण्डो"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "अन्य"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "शून्य"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "संचिका तंत्र के प्रकार:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "चेतावनी"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "इस विभाजन का पुनः आकारीकरण सम्भव नहीं है"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "``Unmount'' निर्देश का सर्वप्रथम उपयोग करें"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "इसके बदले में \"%s\" का उपयोग करें"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "प्रकार"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "अन्य किसी विभाजन का चयन करें"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "एक विभाजन का चयन करें"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "वापस पहले जैसा करना"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "सामान्य विधा को टॉगल"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "एक्सपर्ट विधा की ओर टॉगल"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "संरचना"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "कुछ भी हो जारी रहा जायें?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "बिना सुरक्षित किये निकास"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "विभाजन तालिका को लिखें बिना ही बाहर निकला जायें?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "क्या आप /etc/fstab परिवर्तनों को सुरक्षित करना चाहते है"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"विभाजन तालिका परिवर्तनों को लागू करने के लिए आपको तंत्र को पुनः आरम्भ (रीबूट) करना "
+"आवश्यक है"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "सभी को साफ़"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "स्वतः बाँटना"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "और अधिक"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "हार्ड ड्राइव सूचना"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "सभी मुख्य विभाजन उपयोग में लाये जा चुके है"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "मै अब और किसी विभाजन को नहीं जोड़ सकता हूँ"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"और अधिक विभाजनों को पाने के लिए, कृपया एक विस्तृत विभाजन का निर्माण करने के लिए किसी "
+"एक को हटायें "
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "विभाजन तालिका को सुरक्षित करें"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "विभाजन तालिका को पुनः-स्थापित करो"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "विभाजन तालिका का बचाव"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "विभाजन तालिका का पुनः आरोहण करें"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "हटाये जाने योग्य माध्यम स्वत: आरोहित हो रहा है"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "संचिका का चयन करें"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"बैक-अप विभाजन तालिका का समान आकार नहीं है\n"
+"क्या जारी रहा जायें?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "विभाजन तालिका को बचाने का प्रयास"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "विस्तृत सूचना"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "पुनःआकारीकरण"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "फ़्रार्मेट"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "रैड को जोड़ें"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "एलवीएम से जोड़ें"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "मिटायें"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "रैड से हटायें"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "एलवीएम से हटायें"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "रैड को परिवर्तित करना"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "लूपबैक के लिए उपयोगार्थ"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "निर्माण करें"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "एक नये विभाजन का निर्माण करें"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "आरम्भिक से सेक्टर: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "एमबी में आकार:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "संचिका प्रणाली का प्रकार: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "वरीयता: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "तार्किक वाल्यूम का नाम"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"आप एक नवीन विभाजन का निर्माण नहीं कर सकते है\n"
+"(क्योंकि आप मुख्य विभाजनों की महत्तम संख्या तक पहुँच चुके है) । \n"
+"प्रथम एक मुख्य विभाजन को हटायें और एक विस्तृत विभाजन क निर्माण करें । "
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "लूपबैक संचिका को हटाया जायें?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"%s विभाजन के प्रकार का परिवर्तन करने के उपरान्त, इस विभाजन पर स्थित सभी सूचनायें विलुप्त "
+"हो जायेगी"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "विभाजन के प्रकार को परिवर्तित करें"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "किस संचिका प्रणाली को आप चाहते है?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ईएक्सटी-२ से ईएक्सटी-३ ले जाया जा रहा है"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "लेबिल"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "लूपबैक संचिका %s को आप कहाँ आरोहित करना चाहते है?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "आप %s उपकरण को कहाँ आरोहित करना चाहते है?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"आरोह बिन्दु को अनसेट नहीं किया जा सका क्योंकि इस विभाजन का उपयोग लूप-बैक के लिए किया "
+"जा रहा है।\n"
+"सर्वप्रथम लूपबैक को हटायें"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "आप %s को कहाँ आरोहित करना चाहते है?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "पुनः आकारीकरण"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "फ़ैट संचिकाप्रणाली की सीमाओं की गणना की जा रही है"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "इस विभाजन का पुनः आकारीकरण सम्भव नहीं है"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "इस विभाजन पर स्थित सभी सूचनाओं का बैक-अप लिया जाना चाहिए"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"%s विभाजन का पुनःआकारीकरण के उपरान्त, इस विभाजन पर स्थित सभी सूचनायें विलुप्त हो जायेगी"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "नये आकार का चयन करें"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "एमबी में नया आकार: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"विभाजन(विभाजनों) के पुनःआकारीकरण के उपरान्त, डाटा की स्थिरता एकनिष्टता को सुनिश्चत "
+"करने हेतु, \n"
+"विण्डो(TM) में आपके अगले बूट के समय संचिकाप्रणाली जाँच प्रक्रियाएँ चलगी "
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "एक विद्यमान रैड को जोड़ने को लिए चयन करें"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "नवीन"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "एक विद्यमान एल०वी०एम० को जोड़ने के लिए चयन करें"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "एलवीएम का नाम?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "इस विभाजन का उपयोग लूपबैक के लिए नहीं किया जा सकता है"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "लूपबैक"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "लूपबैक संचिका का नाम: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "एक संचिका नाम दें"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"अन्य लूपबैक के द्वारा संचिका पहिले से ही उपयोग में लायी जा रही है, किसी अन्य का चयन करें"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "संचिका पहिले से विद्यमान है । क्या उपयोग किया जायें?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "आरोहण के विकल्प"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "विभिन्न"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "उपकरण"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "स्तर"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "चंक का आकार"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "सावधान: यह कार्य ख़तरनाक है ।"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "किस प्रकार का विभाजनीकरण?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "परिवर्तनों को लागू करने के लिए आपको पुनः बूट करने की आवश्यकता होगी"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s ड्राइव की विभाजन तालिका डिस्क पर लिखी जाने वाली है !"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"%s विभाजन को फ़ार्मेट करने के उपरान्त, इस विभाजन पर स्थित सभी सूचनायें विलुप्त हो जायेगी"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "निकृष्ट भागों की जाँच ?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "संचिकाओं को नवीन विभाजन में ले जायें"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "संचिकाओं को छुपाओं"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "संचिकाओं को नये विभाजन पर ले जाया जा रहा है"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s की प्रतिलिपि बनायी जा रही है"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s को हटाया जा रहा है"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "%s विभाजन को अब %s की भांति जाना जाता है"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "उपकरण:"
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "डॉस ड्राइव का अक्षर: %s (सिर्फ़ एक अन्दाज़ है)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "प्रकार: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "नाम: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "आरम्भिक: सेक्टर %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "आकार: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s सेक्टर"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "सिलेन्डर %d से %d तक\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "फ़ार्मेट किया हुआ\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "फ़ार्मेट नहीं किया गया\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "आरोहित\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "रैड %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"लूप-बैक संचिका (संचिकायें):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"डिफ़ाल्ट द्वारा विभाजन बूट हो गया है\n"
+" (माइक्रोसॉफ़्ट-डॉस के लिए, लिलो के लिए नहीं)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "%s स्तर\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "चंक का आकार %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "रैड-की-डिस्कें %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "लूपबैक संचिका का नाम: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"सम्भव है कि यह विभाजन \n"
+"एक चालक-विभाजन है आपको \n"
+"इसे ऐसे ही छोड़ देना चाहिए । \n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"यह विशेष बूटस्टैप \n"
+"विभाजन आपके तंत्र के लिए\n"
+"द्वि-बूटिंग है ।\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "सिर्फ़-पठन-के-लिए"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "आकार: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "ज्यामिति: %s सिलेण्डर, %s शीर्ष, %s सेक्टर\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "सूचना: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "एल०वी०एम०-डिस्क %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "विभाजन तालिका का प्रकार: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "चैनल %d पर पहचान-संख्या %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "संचिकातंत्र गूढ़लेखन कुँजी"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "आपकी संचिकाप्रणाली की गूढ़लेखन कुँजी का चयन करें"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "गूढ़लेखन कुँजी अति सरल है (कम-से-कम %d शब्दों की लंबाई वाली होनी चाहिए)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "गूढ़-लिखित कुँजियां आपस में नहीं मिलती है"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "सांकेतिक कुँजी"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "गूढ़लेखन कुँजी (पुनः)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "गूढ़लेखन ऐल्गोरिथम"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "परिवर्तन का प्रकार"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "निरस्त"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "उपयोगकर्ता नाम %s का उपयोग करके संत्र-आरम्भ करने में असफ़ल (निकॄष्ट कूट-शब्द ?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "डोमेन का प्रमाणीकरण आवश्यक है"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "कौन-सा उपयोगकर्ता नाम"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "एक और"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"कृपया अपना उपयोगकर्ता नाम, कूटशब्द और डोमेन का नाम इस होस्ट तक पहुँचने के लिए बतायें ।"
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "उपयोगकर्ता का नाम"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "सर्वरों को खोजें"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "नये सर्वरों की खोज"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s पैकेज को संसाधन करने की आवश्यकता है । क्या आप इसे संसाधित करना चाहते है?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "%s पैकेज का संसाधन नहीं हो सका"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "आदेशात्मक पैकेज %s विलुप्त है"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "निम्नलिखित पैकेजों का संसाधन करना आवश्यक है:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "पैकेजों का संसाधन किया जा रहा है..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "पैकेजों को हटाया जा रहा है ..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"एक त्रुटि उत्पन्न हो गयी है - कोई वैध उपकरण नहीं मिले जिन पर एक नवीन संचिकाप्रणालियों "
+"कानिर्माण किया जा सकता था। कृपया इस समस्या के कारण हेतु अपने हार्डवेयर की जाँच करें ।"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "/boot/efi में आपके पास एक फ़ैट विभाजन आरोहित होना चाहिए"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s विभाजन का एकसारीकरण किया जा रहा है"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s संचिका का निर्माण और एकसारीकरण हो रहा है"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "मै नहीं जानता हूँ कि %s को किस प्रकार से %s प्रारूप में फ़ार्मेट किया जाता है"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s का फ़ार्मेट करना %s असफ़ल रहा"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "वृताकार माउन्ट्स %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "%s विभाजन को आरोहित किया जा रहा है"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "%s विभाजन का %s निर्देशिका में आरोहण असफ़ल"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s की जाँच हो रही है"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s को अवरोहण करने में त्रुटि: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "%s स्वैप विभाजन को सक्रिय किया जा रहा है"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "आरोह बिन्दु %s के लिए आप एक गूढ़-लिखित संचिका तंत्र का उपयोग नहीं कर सकते है"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"इस संचिका प्रणाली पर आईनोड पहुँच समयों को अपडेट ना करें\n"
+"(उदाहरण हेतु, न्यूज स्पूल पर और अधिक तेजी से पहुँच के लिए समाचार सर्वरों को तेज करने की)।"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"विस्तारपूर्वक ही आरोहित किया जा सकता है (उदाहरण हेतु,\n"
+" -a विकल्प निश्चित करेगा कि संचिका प्रणाली आरोहित ना हो) । "
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "इस संचिका प्रणाली पर कैरेक्टर या ब्लॉक विशेष उपकरणों की व्याख्या ना करें।"
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"आरोहित संचिका प्रणाली पर किसी बायनरीओं को चलाने की अनुमति ना दें\n"
+"यह विकल्प उस एक सर्वर के लिए उपयोगी होगा जिसके पास ऐसी संचिका प्रणालियां\n"
+"है जिनमें उसके अपनी बायनरियों के अलावा आर्कटेक्चरों के लिए बायनरीयां है।"
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"सेट-यूजर-आइडेन्टिफ़ायर या सेट-ग्रुप-आइडेन्टिफ़ायर बिटों को प्रभाव में आने की अनुमति नहीं दें।\n"
+"(यह देखने में सुरक्षित रखता है, परन्तु वास्तव में यह असुरक्षित है यदि\n"
+"आपने suidperl(1) को संसाधित किया हुआ है।)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "संचिका प्रणाली को सिर्फ़-पठन के लिए आरोहित करें"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "संचिका प्रणाली पर सभी इन्पुट/आउटपुट एक ही समय में होना चाहिये ।"
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "साधारण उपयोगकर्ताओं को लिखने की अनुमति दें"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "साधारण उपयोगकर्ताओं को सिर्फ़-पठन की अनुमति दें"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "दोहरा आरोहण बिन्दु %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "कोई विभाजन उपलब्ध नहीं है"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "आरोह बिन्दुओं को खोजने के लिए विभाजनों को स्कैन किया जा रहा है"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "आरोह बिन्दुओं का चयन करें"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "उन विभाजनों का चयन करें जिनको फ़ार्मेट करना चाहते है"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"%s संचिका तंत्र की जाँच करने में असफ़ल । क्या आप त्रुटियों की मरम्मत करना चाहते है? "
+"(सावधान, आप सूचनाओं को खो सकते है)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "संसाधन की आवश्यकता को परिपूर्ण करने योग्य स्वैप स्थान नहीं है, कृपया कुछ बढ़ायें"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"आपके पास एक रूट विभाजन होना चाहिए ।\n"
+"इसके लिए, एक नवीन विभाजन का निर्माण करें (या पहिले से विद्यमान विभाजन पर क्लिक करें) "
+"।\n"
+"और फ़िर ``आरोह बिन्दु'' क्रिया का चयन करें और इसे `/' पर स्थापित करें ।"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"आपके पास एक स्वैप विभाजन नहीं है । \n"
+"\n"
+"क्या फ़िर भी जारी रहा जायें ?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "मुक्त स्थान का उपयोग करें"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "नये विभाजनों को देने के लिए इतना मुक्त स्थान उपलब्ध नहीं है "
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "विद्यमान विभाजनों का उपयोग करें"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "कोई विद्यमान विभाजन उपयोगार्थ नहीं है"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "लूपबैक के लिए विण्डो विभाजन का उपयोग करें"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "लिनक्स-४-विन के लिए आप किस विभाजन का उपयोग करना चाहते है?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "आकारों का चयन करें"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "रूट विभाजन का आकार एमबी में: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "स्वैप विभाजन का आकार एमबी में: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"लूपबैक की भांति उपयोग करने के लिए कोई फ़ैट विभाजन नहीं है (या और अधिक स्थान बाकी नहीं "
+"रहा है)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "विण्डो विभाजन पर उपलब्ध मुक्त स्थान का उपयोग करें"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "आप किस विभाजन का पुनः आकारीकरण करना चाहते है?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"फ़ैट पुनःआकारीकरण आपके विभाजन को जानने में असमर्थ है, \n"
+"निम्नलिखित त्रुटि उत्पन्न हो गयी है: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "विण्डो विभाजन के आकार की गणना की जा रही है"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"आपका विण्डो विभाजन अति खंडित है । कृपया अपने कम्प्यूटर को विण्डो के अन्तर्गत पुनः आरम्भ "
+"करें, ``defrag'' कार्यक्रम को चलायें, और फ़िर मैनड्रिव लिनक्स संसाधन को पुनः आरम्भ करें ।"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"चेतावनी!\n"
+"\n"
+"\n"
+"ड्रैकएक्स अब आपके विण्डो विभाजन को पुनःआकार देगा।\n"
+"सावधान रहें: यह कार्य खतरनाक है । यदि आप पहिले से ऐसा नहीं चुके है, तो आपको पहले संसाधन "
+"प्रक्रिया से बाहर निकलने की आवश्यकता है, फ़िर विण्डो के अन्तर्गत एक कॉमाण्ड प्रॉम्पट से "
+"\"chkdsk c:\" को चलना होगा (सावधान, सचित्र कार्यक्रम \"scandisk\" को चलाना काफ़ी "
+"नहीं है, \"chkdsk\" को कॉमाण्ड प्रॉम्पट से ही चलायें !) , वैकल्पिक रूप से defrag को "
+"चलायें, और फ़िर संसाधन प्रक्रिया को पुनः आरम्भ करें । आपको अपनी सूचनाओं का बैक-अप भी ले "
+"लेना चाहिए । \n"
+"\n"
+"\n"
+"जब यह सब सुनिश्चित कर लें, तब %s को दबायें।"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "अगला"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "विण्डो के लिए आप क्या आकार रखना चाहते है विभाजन %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "आकार "
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "विण्डो विभाजन का पुनः आकारीकरण किया जा रहा है"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "फ़ैट का पुनः आकारीकरण असफ़ल: %s "
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "पुनः आकारीकरण के लिए कोई फ़ैट विभाजन नहीं है (या और अधिक स्थान नहीं बचा है)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "विण्डो (TM) को हटायें"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "सम्पूर्ण डिस्क को मिटायें"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "आपके पास एक से ज्यादा हार्ड-डिस्क है, आप किस पर लिनक्स का संसाधन करना चाहते है?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s ड्राइव पर स्थित सभी विद्यमान विभाजन और उनकी सूचनायें विलुप्त हो जायेगी"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "ऐच्छिक डिस्क विभाजनीकरण"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "एफ़डिस्क का उपयोग करें"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"अब आप विभाजन कर सकते है %s.\n"
+"जब आप कर लें, तो `w' का उपयोग करके सुरक्षित करना ना भूलें ।"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "मै संसाधन करने लिये कोई स्थान नहीं खोज पा रहा हूँ"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "ड्रैक-एक्स विभाजनीकरण विज़ार्ड को निम्नलिखित समाधान मिलें:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "विभाजनीकरण असफ़ल: %s "
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+"१६ एम०बी० से कम के लिए विभाजनों के लिए जे०एफ़०एस० का उपयोग नहीं किया जा सकता है"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+"आप रेजर संचिका-तंत्र (ReiserFS) का उपयोग ३२ मेगाबाइट्स से कम विभाजनों के लिए नहीं कर "
+"सकते है"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr के साथ"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "सर्वर"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"मै %s उपकरण की विभाजन तालिका को नहीं पढ़ सका, यह मेरे लिए बहुत अधिक अपठनीय है :(\n"
+"निकृष्ट विभाजनों को मिटाते हुए, मै आगे बढ़ते रहने का प्रयास जारी रख सकता हूँ (सभी सूचनायें "
+"विलुप्त हो जायेगी!।\n"
+"इसका अन्य समाधान, ड्रैकएक्स को विभाजन तालिका को ना परिवर्तित करने देना है।\n"
+"(यह %s त्रुटि है)\n"
+"\n"
+"क्या आप सभी विभाजनों को खोने के लिए सहमत है?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "आरोह बिन्दुओं के नाम का प्रथम अक्षर / होना चाहिए"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "आरोह बिन्दुओं के नाम में सिर्फ़ शब्द व संख्या होना चाहिए"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "%s आरोह बिन्दु के साथ पहिले से ही एक विभाजन विद्यमान है\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"आपने एक सॉफ़्टवेयर RAID विभाजन को रूट की भांति (/) चयन किया है ।\n"
+"बिना एक /boot विभाजन के कोई बूटलोडर इसकी देखभाल करने समर्थ नहीं है।\n"
+"कृपया एक /boot विभाजन को जोड़ने को सुनिश्चित करें"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "%s आरोह बिन्दु पर आप एक एल०वी०एम० तार्किक खंड को उपयोग नहीं कर सकते है"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"आपने एक एलवीएम लॉजिक्ल वाल्यूम का रूट की भांति (/) चयन किया है ।\n"
+"बिना एक /boot विभाजन के यह बूटलोडर इसकी देखभाल करने समर्थ नहीं है।\n"
+"कृपया एक /boot विभाजन को जोड़ना सुनिश्चित करें"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "इस निर्देशिका को रूट संचिका प्रणाली के भीतर रहना चाहिए"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"इस आरोह बिन्दु के लिए आपको एक वास्तविक संचिकाप्रणाली(ext2/ext3, reiserfs, xfs, or "
+"jfs) की आवश्यकता है\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "आरोह बिन्दु %s के लिए आप एक गूढ़-लिखित संचिका तंत्र का उपयोग नहीं कर सकते है"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "स्वतः-बाँटने के लिए उपयुक्त मुक्त स्थान नहीं है"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "कुछ भी करने को नहीं"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "फ़्लापी"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "ज़िप"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "डिस्क"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "सीडीरॉम"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "सीडी/डीवीडी बर्नर"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "डीवीडी-रॉम"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "टेप"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "ऐजीपी के नियंत्रक"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "वीडियोकार्ड"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "टीवी कार्ड"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "अन्य मल्टीमीडीया के उपकरण"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "सांउडकार्ड"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "वेबकैम"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "प्रोसेसर"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "आई०एस०डी०एन० ऐडाप्टर"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "इथरनेट कार्ड"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "मॉडम"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ऐडीएसएल ऐडाप्टर"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "मेमोरी"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "प्रिंटर"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "जाय़-स्टिक"
+
+#: harddrake/data.pm:357
+#, fuzzy, c-format
+msgid "SATA controllers"
+msgstr "ऐजीपी के नियंत्रक"
+
+#: harddrake/data.pm:366
+#, fuzzy, c-format
+msgid "RAID controllers"
+msgstr "ऐजीपी के नियंत्रक"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(ई)आईडीई/ऐटीऐ नियंत्रक"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "कार्ड का मॉडल:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "फ़ायर वायर नियंत्रण"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "पी०सी०एम०सी०आई०ऐ० के नियंत्रक"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "एस०सी०एस०आई० के नियंत्रक"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "यू०एस०बी० नियंत्रक"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "यू०एस०बी० प्रिंटर"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "एमएम बस के नियंत्रक"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "ब्रिज़ और प्रणाली के नियंत्रक"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "की-बोर्ड"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "माउस"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "यूपीएस"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "स्कैनर"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "अज्ञात/अन्य"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "सीपीयू #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "कृपया प्रतीक्षा करें... संरचना को लागू करें"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "कोई वैकल्पिक चालक नहीं"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"आपके साउण्ड कार्ड (%s) के लिए कोई ज्ञात OSS/ALSA वैकल्पिक चालक नहीं है जो कि वर्तमान में "
+"\"%s\" का उपयोग कर रहा है"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "सांउड संरचना"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"यहाँ आप अपने सांउड कार्ड (%s) के लिए एक वैकल्पिक चालक (या तो ओ०एस०एस० या "
+"ऐ०एल०एस०ऐ०) का चयन कर सकते है ।"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"आपका कार्ड वर्तमान में %s\"%s\" चालक का उपयोग कर रहा है (आपके कार्ड के लिए डिफ़ाल्ट "
+"चालक \"%s\" है)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (मुक्त साउण्ड प्रणाली) प्रथम साउण्ड ऐपीआई थी । यह एक संचालन-तंत्र अनाश्रित साउण्ड "
+"ऐपीआई है(यह लगभग सभी यूनिक्स (tm) तंत्रों पर उपलब्ध है) परन्तु यह एक बहुत बेसिक और सीमित "
+"ऐपीआई है।\n"
+"और भी, OSS चालकों ने सम्पूर्ण संकल्पना का पुनः निर्माण किया है। \n"
+"\n"
+"ALSA (उन्नत लिनक्स साउण्ड वास्तुकला) एक आधुनीकीकरण की हुई वास्तुकला है जो कि \n"
+"आई०एस०ऐ, यूएसबी और पीसीआई कार्डो की एक विस्तृत श्रंखला को समर्थित करती है। \n"
+"\n"
+"यह OSS से बहुत अधिक ऐपीआई को भी प्रदान करती है।\n"
+"\n"
+"alsa को उपयोग करने के लिए, कोई भी या तो निम्न का उपयोग कर सकता है:\n"
+"- प्राचीन अनुरूपता वाली OSS ऐपीआई\n"
+"- या फ़िर नवीन ALSA ऐपीआई जो कि अनेकों परिष्कॄत लक्षणों को प्रदान करती है परन्तु ALSA "
+"लेखागार के उपयोग को चाहती है।\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "चालक:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "समस्या निराकरण"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"प्राचीन \"%s\" चालक को अयोग्य घोषित कर दिया गया है।\n"
+"\n"
+"अनलोडिंग करने पर, इसे कर्नल को ऊप्स करने के लिए रिपोर्ट किया जा चुका है।\n"
+"\n"
+"आगामी बूटस्ट्रैप के समय ही सिर्फ़ नये चालक \"%s\" का उपयोग किया जायेगा।"
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "कोई मुक्त स्रोत चालक नहीं"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"आपके साउन्ड कार्ड (%s) के लिए को निशुल्क चालक नहीं है, परन्तु \"%s\" पर एक स्वामिगत "
+"चालक है ।"
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "कोई ज्ञात चालक नहीं"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "आपके सांउड कार्ड (%s) के लिए कोई ज्ञात चालक नहीं है"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "अज्ञात चालक"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "त्रुटि: \"%s\" चालक आपके सांउड कार्ड के लिए अ-सूचीबद्ध है ।"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "सांउड समस्या के निवारण हेतु खोज़"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"क्लासिक साउण्ड दोष परीक्षक निम्नलिखित निर्देशों को चलाता है:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" आपको बतायेगा कि डिफ़ाल्ट की भांति आपका\n"
+"कार्ड कौन-से चालक का उपयोग करता है।\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" आपको बतायेगा कि यह वर्तमान में\n"
+" किस चालक का उपयोग कर रहा है\n"
+"\n"
+"- \"/sbin/lsmod\" आपको यह जाँच करने में समर्थ बनायेगा कि इसके मॉडयूल (चालक)\n"
+"आरोहित है कि नहीं\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" और \"/sbin/chkconfig --list alsa\" \n"
+"आपको बतायेगें कि इनिट-स्तर-३ पर चलने के लिए यदि साउण्ड व alsa सेवायें \n"
+"संरचित है\n"
+"\n"
+"- \"aumix -q\" आपको बतायेगा कि साउण्ड का वाल्यूम को मौन कर दिया गया है कि नहीं\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" बतायेगा कि कौन कार्यक्रम साउण्ड कार्ड का उपयोग कर "
+"रहा है।\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "मुझे किसी चालक को लेने दें"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "एक स्वच्छन्द चालक का चयन करना"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"यदि आप वास्तव में सोचते है कि आपको ज्ञात है कि आपके कार्ड के लिए कौन सा चालक ठीक है\n"
+"तो आप उपरोक्त सूची में से एक को चुन सकते है । \n"
+"\n"
+"आपके \"%s\" सांउड कार्ड के लिए वर्तमान चालक \"%s\" है"
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "स्वतः-खोज़ी"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "अज्ञात/साधारण"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "अज्ञात । सीपीएच०५एक्स (बीटी८७८) [अनेक विक्रेता]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "अज्ञात।सीपीएच०६एक्स (बीटी८७८) [अनेक प्रदानकर्ता]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"लगभग सभी आधुनिक टीवी कार्डों के लिए, जीएनयू/लिनक्स कर्नल का बीटीटीवी मॉडूयल सिर्फ़ सही "
+"पैरामीटरों की स्वतः-खोज करता है । \n"
+"यदि आपका कार्ड की गलत पहचान हुई है, तो आप यहाँ सही टूयनर और कार्ड के प्रकार को "
+"बलपूर्वक बता सकते है । यदि आवश्यकता हो तो सिर्फ़ अपने टीवी कार्ड पैरामीटरों का चयन करें । "
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "कार्ड का मॉडल:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "ट्यूनर का प्रकार:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "ठीक"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "हाँ"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "नहीं"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "एक संचिका का चयन करें"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "जोड़ें"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "परिवर्तन"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "हटाना"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "समाप्त"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "पिछला"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "निकृष्ट पसन्द, पुनः प्रयास करें\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "आपकी पसन्द ? (डिफ़ाल्ट %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"प्रविष्टियों जिनको आपको भरना होगा:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "आपकी पसन्द ? (०/१, डिफ़ाल्ट `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "बटन `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "क्या आप इस बटन पर क्लिक करना चाहते है?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "आपकी पसन्द? (डिफ़ाल्ट `%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "`void' को शून्य प्रविष्टी के लिए बतायें"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> (%s) से बहुत सारी वस्तुऐं चयन करने को है ।\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"कृपया श्रंखला-१०, जिसे आप संपादित करना चाहते है, के प्रथम अंक का चयन करें,\n"
+"या जारी रहने के लिए इन्टर (ENTER) कुँजी को दबायें ।\n"
+"आपकी पसन्द? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> सूचना, एक लेबिल परिवर्तित हो गया है:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "पुनः-प्रेषण"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "United Arab Emirates"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "अफ़गानिस्तान"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua and Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "अल्बानिया"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "अर्मेनिया"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "अंगोला"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarctica"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "American Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "आस्ट्रिया"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "अरूबा"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia and Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "बाँगलादेश"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "बेल्ज़ियम"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "बुल्गारिया"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "बहरीन"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "बरमूडा"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "ब्राज़ील"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "भूटान"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Island"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "कनाडा"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Cocos (Keeling) Islands"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "केन्द्रीय अफ़्रीकन गणराज्य"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Switzerland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "कुक आइसलैड"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "चीली"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "कैमरून"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "चीनी"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "कोलम्बिया "
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "कोस्टा रिका"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "क्य़ूबा"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "क्रिसमस आइसलैड"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "साईप्रस"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "चेक गणराज्य"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "जर्मन"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "डेनमार्क"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "डोमिनिकन गणराज्य"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "आल्जेरिया"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "ऐक्वाडोर"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "पश्चिमी सहारा"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "स्पेन"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "ईथोपिया"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "फ़िनलैंड"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "फ़ीज़ी"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland Islands (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroe Islands"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "फ़्रांस"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "ब्रिटेन"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "ग्रेनाडा"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "फ़्रेंच गुयाना"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "ग्रीनलैंड"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Equatorial Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "ग्रीस"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "South Georgia and the South Sandwich Islands"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "चीन (हाँग-काँग)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard and McDonald Islands"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "क्रोशिया"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "हंगरी"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "इण्डोनेशिया"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "आयरलैड"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "इजरायल"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "भारत"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "British Indian Ocean Territory"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "इराक"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "इरान"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "आइसलैंड"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "इटली"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "जैमेका"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "जार्डन"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "जापान"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "केन्या"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "कम्बोडिया"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts and Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "कोरिया (उत्तर)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "कोरिया"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "कुवैत"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman Islands"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "लेबनान"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "श्री लंका"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lithuania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "लीबिया"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "मोरोक्को"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Islands"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "माली"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "मंगोलिया"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Northern Mariana Islands"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "माल्टा"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "मालदीव"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "मैक्सिको"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "मलेशिया"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "New Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Island"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "नीदरलैंड"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "नारवे"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "नेपाल"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "न्यूजीलैंड"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "ओमान"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "पनामा"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "पेरू"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "French Polynesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Philippines"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "पोलैंड"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre and Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestine"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "पुर्तगाली"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "कातार"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "रोमानिया"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "रूस"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "साउदी अरब"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon Islands"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "सूडान"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "स्वीडन"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard and Jan Mayen Islands"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "सोमालिया"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "सूरीनाम"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome and Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "सीरिया"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks and Caicos Islands"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "French Southern Territories"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "थाईलैंड"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "East Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "टर्की"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad and Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "ताईवान"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "यूगाण्डा"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "United States Minor Outlying Islands"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "अमेरिका"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "वैटिकन"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent and the Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virgin Islands (British)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Islands (U.S.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "वियतनाम"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis and Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "यमन"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "दक्षिणी अफ़्रीका"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "जाम्बिया"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "ज़िम्बावे"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s में स्वागत"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "काल्पनिक भागों को पहिले हटायें\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"भूमिका\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"१. अधिकार-पत्र करारनामा\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"२. सीमित वारंटी\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"३. जीपीएल अधिकार-पत्र और अन्य सबंधित अधिकार-पत्र\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"४. बौधिक सम्पत्ति के अधिकार\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"५. लागू होने वाले कानून \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"चेतावनी: निःशुल्क सॉफ़्टवेयर आवश्यक नहीं है कि पेटेंट मुक्त हो, और कुछ \n"
+"सम्मिलित निःशुल्क सॉफ़्टवेयरों को आपके देश में पेटेंटो के अन्तर्गत आते हो। उदाहरण के लिए\n"
+"सम्मिलित एमपी३ डीकोडरो के आगे उपयोग करने के लिए सम्भवता \n"
+"एक अधिकार-पत्र की आवश्यकता हो (http://www.mp3licensing.com पर और अधिक विवरण के "
+"लिए देखें)। यदि आप सुनिश्चित नहीं है कि \n"
+"एक पेटेंट आप पर लागू होता है तो अपने स्थानीय कानून की जाँच करें।"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"बधाई हो, संसाधन सम्पूर्ण हुआ ।\n"
+"बूट माध्यम को हटायें और पुनः आरम्भ करने के लिए रीटर्न (return) कुँजी को दबायें ।\n"
+"\n"
+"\n"
+"दोष-निवारणों के सूचनार्थ जो कि मैनड्रिव लिनक्स के इस विमोचन संस्करण के लिए उपलब्ध है,\n"
+"निम्न वेब-कड़ी पर उपलब्ध अशुद्वियां-पृष्ट पर जायें:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"अधिकारिक मैनड्रिव लिनक्स उपयोगकर्ताओं हेतु निर्देशिका के संसाधन-उपरान्त नामक अध्याय में\n"
+" आपके तंत्र की संरचना करने हेतु सूचना उपलब्ध है । "
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "यूपीएस चालक संरचना"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "मॉडूयल संरचना"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "यहाँ मॉडूयल के प्रत्येक पैरामीटर को आप संरचित कर सकते है ।"
+
+#: modules/interactive.pm:63
+#, fuzzy, c-format
+msgid "Found %s interfaces"
+msgstr "%s मिला %s इन्टरफ़ेस"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "कया आपके पास एक और है ?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "क्या आप के पास कोई %s इन्टरफ़ेस है?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "हार्डवेयर सूचना को देखें"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "%s कार्ड %s के लिए चालक का संसाधन हो रहा है"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "%s कार्ड %s के लिए चालक का संसाधन हो रहा है"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "%s कार्ड %s के लिए चालक का संसाधन हो रहा है"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "%s कार्ड %s के लिए चालक का संसाधन हो रहा है"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s कार्ड %s के लिए चालक का संसाधन हो रहा है"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"आप %s मॉडूयल के लिए विकल्पों को अब प्रदान कर सकते है ।\n"
+"ध्यान रहे कि किसी पते के नाम का प्रथम अक्षर 0x होना चाहिए जैसे कि '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"अब आपको विकल्पों को %s मॉडूयल को प्रदान करना चाहिए ।\n"
+"विकल्पों का प्रारूप ``name=value name2=value2 ...' है ।\n"
+"जैसे कि, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "मॉडूयल विकल्प:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "किस %s चालक को मुझे चला कर देखना चहिए?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"कुछ स्थितियों में, %s चालक को भली-भांति कार्य करने के लिए अतिरिक्त सूचना की \n"
+"आवश्यकता होगी । हालांकि सामान्यता यह बिना इनके भी ठीक से कार्य करता है ।क्या आप इसके "
+"के लिए अतिरिक्त विकल्पों को बताना चाहेगें\n"
+"या चालक को आवश्यक सूचना के लिए आपकी मशीन में खोजने की अनुमति प्रदान करेगें?\n"
+"कभी-कभी हो सकता है कि खोज-प्रक्रिया एक कम्प्य़ूटर को जड़ बना दें,परन्तु यह कोई\n"
+"हानि नहीं पहुँचायेगी।"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "स्वंम खोज"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "विकल्पों को बतायें"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"%s मॉडूयल का अधिभारण असफ़ल रहा ।\n"
+"क्या आप अन्य पैरामीटीरों के साथ पुनः प्रयास करना चाहेगें?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "आरोहण असफ़ल: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "इस प्लेटफ़ार्म पर विस्तृत विभाजन को समर्थन प्राप्त नहीं है"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"आपकी विभाजन तालिका में एक छिद्र है परन्तु मै इसको उपयोग नहीं कर सकता हूँ । \n"
+"इसका एकमात्र समाधान आपके मुख्य विभाजनों को इस प्रकार खिसकाना कि छिद्र विस्तृत विभाजनों "
+"के बाद आ जायें । "
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s संचिका को पढ़ने में त्रुटि"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "%s संचिका से पुन: स्थापना असफ़ल रही: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "निकृष्ट बैक-अप संचिका"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "%s संचिका पर लेखन में त्रुटि"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"आपकी ड्राइव पर कुछ गलत घटित हो रहा है । \n"
+"सूचनाओं की integrity को जाँच करने के लिए एक परीक्षण असफ़ल हो चुका है ।\n"
+"इसका अर्थ है कि ड्राइव पर कुछ भी लिखने का अंत एक यहाँ-तहाँ, निकृष्ट सूचनाओं के रूप में सामने "
+"आयेगा ।"
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "_formatted_ RAID md%d में एक विभाजन जोड़ा नहीं जा सकता है"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "रेड स्तर %d के लिये समुचित विभाजनों की उपलब्धी नहीं\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "/usr/share/sane/firmware निर्देशिका का निर्माण नहीं हो सका!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "/usr/share/sane/%s का निर्माण नहीं हो सका!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"%s फ़र्मवेयर संचिका की /usr/share/sane/firmware पर प्रतिलिपि नहीं बनायी जा सकी!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "%s फ़र्मवेयर संचिका की अनुमतियों को स्थापित नहीं किया जा सका!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "स्कैनरड्रैक"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"आपके स्कैनर(स्कैनरों) को सहभाजित करने हेतु आवश्यक पैकेजों को संसाधित नहीं किया जा सका ।"
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"आपका स्कैनर (स्कैनरों) नेटवर्क पर उपयोगकर्ताओं, जो कि महा-उपयोगकर्ता नहीं है, को उपलब्ध "
+"नहीं होगें ।"
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "बकवास आईपी संस्मरण-४ त्रुटि संदेशों को स्वीकृति/अस्वीकृति ।"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "प्रसारित किये हुए आईसीएमपी प्रतिध्वनि को स्वीकृत/अस्वीकृत"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "आईसीएमपी प्रतिध्वनि स्वीकृत/अस्वीकृत ।"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "स्वतः सत्रारम्भ को अनुमति/निषेधज्ञा"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "कन्सोल उपयोगकर्ता द्वारा रीबूट की अनुमति/निषेधाज्ञा । "
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "सुदूर महा-उपयोगकर्ता संत्र-आरम्भ की अनुमति/निषेधाज्ञा ।"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "सीधे रूट संत्र-आरम्भ की अनुमति/निषेधाज्ञा ।"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"अवलोकन प्रबंधक (केडीएम और जीडीएम) पर उपयोगकर्ताओं की सूची की दिखाने कीअनुमति/निषेधाज्ञा"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"एक्स संबंधों को अनुमति/निषेधाज्ञा:\n"
+"\n"
+"- ALL (सभी संबंध को अनुमति है),\n"
+"\n"
+"- LOCAL (सिर्फ़ स्थानीय कम्प्य़ूटर से संबंध),\n"
+"\n"
+"- NONE (कोई संबंध नहीं)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "कन्सोल-१२ पर तंत्र लॉग रिपोर्ट को सक्रिय/निष्क्रिय"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "सुरक्षा चेतावनियां:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "लिबसेफ़ को सक्रिय/निष्क्रिय करें यदि आपके तंत्र पर लिबसेफ़ मिला हो ।"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "आई०पी० संस्मरण-४ के अज्ञात पैकेटों की लॉगिग को सक्रिय/निष्क्रिय करें ।"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "एमसेक्क प्रत्येक घंटे पर की जाने वाली सुरक्षा जाँच सक्रिय/निष्क्रिय"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"सिर्फ़ व्हील समूह के सदस्यों से ही महाउपयोगकर्ता संत्र-आरम्भ सक्रिय किया जा रहा है या किसी "
+"भी उपयोगकर्ता से अनुमति । "
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "उपयोगकर्ताओं का प्रमाणीकरण करने के लिए कूट-शब्द का उपयोग करें"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "ईथरनेट कार्डों की अभेदता जाँच सक्रिय/निष्क्रिय ।"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "नित्य सुरक्षा जाँच को सक्रिय/निष्क्रिय करें ।"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"कूट-शब्द आयू-सीमा को \"महत्तम\" दिवसों पर और देरी को \"निष्क्रिय\" पर स्थापित करें ।"
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "कूट-शब्द के पुन: उपयोग को रोकने के लिए कूटशब्द इतिहास सीमा निर्धारित करें ।"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"कूट-शब्द की लघुत्तम लंबाई और अंकों की लघुत्तम संख्या और बड़ें (कैप्टलाईय़ज) अक्षरों की संख्या "
+"निर्धारित करें ।"
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "रूट यूमास्क (umask) को स्थापित करें ।"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "यदि हाँ पर स्थापित हो, तो खुले हुए पोर्टों की जाँच करें"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"यदि हाँ पर स्थापित हो, तो:\n"
+"\n"
+"- शून्य कूट-शब्दों के लिए जाँच करें,\n"
+"\n"
+"- महा-उपयोगकर्ता के अलावा ० आईडी वाले उपयोगकर्ताओं के लिए\n"
+"\n"
+"- /etc/shadow में कोई कूट-शब्द नहीं । "
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"यदि हाँ पर स्थापित हो, तो उपयोगकर्ता की गृह-निर्देशिका में संचिकाओं की अनुमतियों की जाँच "
+"करें"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "यदि हाँ पर स्थापित हो, तो नित्य सुरक्षा जाँचों का चलायें ।"
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "यदि हाँ पर स्थापित हो, तो एस०जी०आई०डी० संचिकाओं के जोड़ने/हटाने की जाँच करें"
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "यदि हाँ पर स्थापित हो, तो /etc/shadow निर्देशिका में रिक्त कूटशब्द की जाँच करें"
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "यदि हाँ पर स्थापित हो, तो एसयूआईडी/एसजीआईडी संचिकाओं के चेकसम को सत्यापित करें"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"यदि हाँ पर स्थापित है, तो महाउपयोगकर्ता पहचान-पत्र रूट संचिकाओं के जोड़ने/हटाने का "
+"निरीक्षण करो । "
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "यदि हाँ पर स्थापित हो, तो अस्वामित्व संचिकाओं के बारे में रिपोर्ट करें ।"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"यदि हाँ पर स्थापित हो, तो जाँच करें कि संचिकायें/निर्देशिकायें सभी के द्वारा लिखने-योग्य है "
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "यदि हाँ पर स्थापित हो, तो चेकरूटकिट (chkrootkit) जाँचों को चलायें"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"यदि स्थापित किया हो, तो इस विपत्र पते पर विपत्र द्वार रिपोर्ट भेजें या इसे रूट को भेजें"
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "यदि हाँ पर स्थापित हो, तो जाँच परिणामों को विपत्र द्वारा प्रेषित"
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "विपत्रों को ना भेजें यदि कुछ भी चेतावनी देने को ना हो"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "यदि हाँ पर स्थापित हो, तो आरपीएम डाटाबेस की कुछ जाँच करें"
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "यदि हाँ पर स्थापित हो, तो जाँच परिणामों को तंत्र लॉग को रिपोर्ट करें ।"
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "यदि हाँ पर स्थापित किया हो, तो जाँच परिणामों को टर्मिनल पर भेजें ।"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"कोश निर्देशों के इतिहास के आकार को निर्धारित करें । एक -१ मूल्य का अर्थ असीमित है । "
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "कोश की समय-सीमा निर्धारित करें । एक शून्य मूल्य का अर्थ कोई समय-सीमा नहीं है ।"
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "समयसमाप्त इकाई सेकंड है"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "उपयोगकर्ता यूमास्क को स्थापित करें"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "बकवास आईपी संस्मरण-४ त्रुटि संदेशों को स्वीकार करें"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "घोषणा किये जा चुकी आईसीएमपी प्रतिध्वनि को स्वीकार करना"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "आईसीएमपी पराध्वनि को स्वीकार करें"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* विद्यमान है"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "कन्सोल उपयोगकर्ता द्वारा रीबूट"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "सुदूर रूट संत्र-आरम्भ को अनुमति"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "सीधे महा-उपयोगकर्ता सत्रं-आरम्भ"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "अवलोकन प्रबंधकों (केडीएम और जीडीएम) पर उपयोगकर्ताओं की सूची"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "एक्स विण्डो संबंधों को अनुमति"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "टीसीपी संबंधों को एक्स विण्डो के लिए अनुमति दें"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "tcp_wrappers द्वारा नियंत्रित सभी सेवाओं को प्रमाण देना"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig obey msec के नियम"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "\"crontab\" व \"at\" को उपयोगकर्ताओं के लिए सक्रिय करें"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "सिसलॉग रिपोर्टो को कन्सोल-१२ पर"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "नाम रेजयुलेशन स्पूफ़िंग सुरक्षा"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "आईपी स्पूफ़िंग सुरक्षा सक्रिय"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "यदि तंत्र में लिबसेफ़ मिले तो लिबसेफ़ को सक्रिय करें"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "आईपी संस्मरण-४ के विचित्र पैकेटों की लॉग-इन को सक्रिय करना"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "प्रत्येक घंटे पर एमसेक्क सुरक्षा जाँच को सक्रिय करें"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "व्हील समूह सदस्यों या किसी उपयोगकर्ता के लिए सिर्फ़ महा-उपयोगकर्ता को सक्रिय करें"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "उपयोगकर्ताओं की प्रमाणिकता को जाँचने के लिए कूट-शब्द का उपयोग"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "ईथरनेट कार्डो की अभेद जाँच"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "नित्य सुरक्षा जाँच"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "ऐकल उपयोगकर्ता स्तर में Sulogin(8)"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "के लिए कोई कूटशब्द आयू-सीमा नहीं"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "कूटशब्द आयू-सीमा और खाता निष्क्रियता देरीयों की स्थापना"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "कूटशब्द इतिहास की लंबाई"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "कूट-शब्द निम्नत्तम लंबाई और संख्याओं की संख्या तथा अपकेस शब्द"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "रूट यूमास्क"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "कोश इतिहास आकार"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "कोश की समय-सीमा समाप्त"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "उपयोगकर्ता umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "खुले हुए पोर्टों की जाँच"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "असुरक्षित खातों के लिए जाँच"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "उपयोगकर्ताओं के गॄह में संचिकाओं की अनुमतियों की जाँच"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "जाँच करें कि सभी नेटवर्क उपकरण मिश्रित विधा में है"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "नित्य सुरक्षा जाँचों को चलायें"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "एसजीआईडी संचिकाओं का जोड़ना/हटाना को चेक करो"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "/etc/shadow में शुन्य कूट-शब्द की जाँच करें"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "एस०यू०आई०डी/एस०जी०आई०डी० संचिकाओं के चेकसम की जाँच करें"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "एसयूआईडी वाली रूट संचिकाओं के जोड़ने/हटाने की जाँच करें"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "बिना स्वामित्व वाली संचिकाओं के बारे में बतायें"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "सभी के द्वारा लेखन-योग्य संचिकाओं/निर्देशिकाओं की जाँच करें"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "चेकरूटकिट जाँचों को चलायें"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"यदि स्थापित किया गया हो, तो इस विपत्र-पते पर या रूट को विपत्र द्वारा रिपोर्ट भेजें"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "जाँच परिणामों को विपत्र द्वारा प्रेषित करें"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "आर०पी०एम० डाटाबेस में कुछ जाँच करें"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "निरीक्षण परिणामों को तंत्र-लॉग (syslog) को बतायें"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "जाँच परिणामों को टी०टी०वाई० पर प्रेषित करें"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "क्रैकर्स में स्वागत"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "खराब"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "सामान्य"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "उच्च"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "उच्च"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"कूट-शब्दों को अब सक्रिय कर दिया गया है, परन्तु एक नेटवर्क कम्प्यूटर की भांति उपयोग की अभी "
+"भी संस्तुति नही कि जाती है ।"
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"एक कम्प्यूटर के लिए यह एक मानक सुरक्षा है जिसकी संस्तुति की जाती है और जिसकाएक ग्राहक की "
+"भांति इन्टरनेट से जुड़ने के लिए उपयोग किया जायेगा ।"
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"यहाँ पहिले से ही कुछ प्रतिबंध है, तथा और ज्यादा स्वचालित जाँच प्रत्येक रात्रिको चलती है ।"
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "सुरक्षा"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "ड्रैकसेक्क मूल विकल्प"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "कृपया इच्छित सुरक्षा स्तर का चयन करें"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "सुरक्षा स्तर"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "सर्वरों के लिए लिबसेफ़ का उपयोग"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "सुरक्षा प्रबंधक (संत्र-आरम्भ या विपत्र)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "ऐ०एल०एस०ऐ० (उन्नत लिनक्स सांउड बनावट) सांउड प्रणाली को आरम्भ करें"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"ऐ०पी०एम०डी० का उपयोग बैटरी के स्तर को मॉनिटर और तंत्र-लॉग (syslog) के जरिये लॉग करने "
+"के लिए किया जाता है । \n"
+"जब बैटरी-स्तर निम्नतम हो, तब इसका उपयोग कम्प्यूटर को बन्द करने के लिए भी किया जा सकता "
+"है ।"
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"हार्डड्रैक ने एक हार्डवेयर खोजी को चलाया है, और नवीन/परिवर्तित\n"
+"हार्डवेयर को वैकल्पिक रूप से संरचित करता है ।"
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"आपाचे एक विश्व व्यापी वेब सर्वर है । इसका उपयोग एच०टी०एम०एल० संचिकाओं और सी०जी०आई० "
+"को देने के लिए दिया जाता है ।"
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"/usr/include/linux/{autoconf,version}.h के लिए\n"
+"/boot में कर्नल हेडर का स्वतः पुनः निर्माण"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "बूट के समय हार्डवेयर की स्वतः खोज और संरचना ।"
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"लिनक्स काल्पनिक सर्वर, का उपयोग एक उच्च-क्षमतावान और सबसे अधिक उपलब्धता वाले \n"
+"सर्वर के निर्माण में किया जाता है ।"
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"(BIND) नामक एक डोमेन नाम सर्वर (DNS) है जिसका उपयोग होस्ट नामों के आईपी पतों को "
+"खोजने व प्राप्त करने के लिए किया जाता है । "
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"बूट के समय आरम्भ होने वाले संरचित सभी नेटवर्क इन्टरफ़ेसों को\n"
+"सक्रिय/निष्क्रिय करें ।"
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"बूट के समय, नम-लाक कुंजी लॉकर को कन्सोल और एक्सफ़्री के अन्तर्गत\n"
+" स्वतः ही बदलें । "
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "ओकीआई ४-डब्लू और समवर्तक विनप्रिंटरों को समर्थन !"
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"ओरेकल या डीवीडी प्लेयरों जैसे कार्यक्रमों के उपयोगार्थ,\n"
+"रॉ उपकरणों को ब्लॉक उपकरणों को नियत करें (जैसे कि हार्ड ड्राइव के विभाजन)"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "अपने कम्प्यूटर पर ध्वनि प्रणाली को आरम्भ करें"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "आपके यूएसबी उपकरणों के लिए चालकों का अधिभारण करें ।"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "एक्स फ़ॉन्ट सर्वर को आरम्भ करें (यह एक्स-फ़्री को चलाने के लिए आवश्यक है) । "
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "प्रिंटिंग"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "इन्टरनेट"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "संचिका सहभाजन"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "तंत्र"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "सुदूर प्रबंधन"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "डाटाबेस सर्वर"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "सेवायें"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "बूट-समय के स्वतः आरम्भ होने वाली सेवाओं का चयन करें"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "सेवायें: %d सक्रिय की गई %d पंजीकॄत की हुई के लिए"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "चल रहा है"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "रोका गया"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "सेवायें और डैमन"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"क्षमा करें, इस सेवा के बारे में\n"
+"कोई अतिरिक्त सूचना उपलब्ध नहीं"
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "सूचना"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "जब निवेदन किया जायें तब आरम्भ"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "बूट पर"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "आरम्भ"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "रूको"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[विकल्प] [कार्यक्रम_नाम]\n"
+"\n"
+"विकल्प:\n"
+" --help - इस सहायता संदेश को मुद्रित करें । \n"
+" --report - कार्यक्रम को मैनड्रिव औजारों में से एक होना चाहिए \n"
+" --incident - कार्यक्रम को मैनड्रिव औजारों में से एक होना चाहिए"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[की-बोर्ड]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "सर्वर जोड़े"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "वैश्विक"
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "दक्षिणी अफ़्रीका"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "आस्ट्रिया"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "दक्षिणी अफ़्रीका"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "ओसेनिया"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "दक्षिणी अफ़्रीका"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "हांगकांग"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "रूस गणतंत्र"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "यूगोस्लाविया"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "क्या यह सही है ?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "फ़ाइल-चयनक"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "'/' नाम केवल डिरेक्ट्री हेतु हो सकता है, कुंजी हेतु नहीं"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "डिरेक्ट्री नहीं है"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "ऐसी कोई फ़ाइल नहीं '%s'\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "वृक्ष को विस्तृत करें"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "वॄक्ष को संकुचित करें"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "समतल और क्रमबद्ध समूह के मध्य टॉगल"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s संसाधित नहीं है\n"
+"संसाधन के लिए \"अगला\" पर क्लिक करें या बाहर निकलने के लिए \"निरस्त\" पर"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "संसाधन असफ़ल"
+
+#~ msgid "Icon"
+#~ msgstr "आईकॉन"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "पकड़े हुए बफ़रों की संख्या:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap'ed कैप्चर के लिए कैप्चर बफ़रों की संख्या"
+
+#~ msgid "PLL setting:"
+#~ msgstr "पी०एल०एल० समायोजन:"
+
+#~ msgid "Radio support:"
+#~ msgstr "रेडियो समर्थन:"
+
+#~ msgid "enable radio support"
+#~ msgstr "रेडियो समर्थन सक्रिय"
diff --git a/perl-install/share/po/hr.po b/perl-install/share/po/hr.po
new file mode 100644
index 000000000..403acca2e
--- /dev/null
+++ b/perl-install/share/po/hr.po
@@ -0,0 +1,6588 @@
+# Translation of DrakX to Croatian
+# Copyright (C) Croatian team
+# Translators: Danijel Studen <dstuden@vuka.hr>,Denis Lackovic <delacko@fly.srk.fer.hr>,Jerko Škifić <skific@riteh.hr>,Ljubomir Božić <ljubo108@vip.hr>,Nikola Planinac <>,Robert Vuković <robi@surfer.hr>,Sasa Poznanovic <sasa.poznanovic@vuka.hr>,Vedran Vyroubal <vedran.vyroubal@inet.hr>,Vinko Prelac <vinko@buka.hr>,Vlatko Kosturjak <kost@linux.hr>,Zoran Jankovic <zoran.jankovic@inet.hr>,
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-01-04 21:25+CET\n"
+"Last-Translator: auto\n"
+"Language-Team: Croatian <lokalizacija@linux.hr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;;\n"
+"X-Generator: TransDict server\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Molim pričekajte"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Bootloader instalacija"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Instalacija bootloader-a nije uspjela. Prijavljena je slijedeća grešska:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Trebati ćete promjeniti vaš Otvoreni Firmware boot-uređaj kako bi\n"
+" omogućili bootloader. Ukoliko ne želite vidjeti bootloader prompt pri\n"
+" podizanju, pritisnite Command-Option-O-F pri podizanju i unesite:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Tada napišite: shut-down\n"
+"Pri slijedećem podizanju trebali biste vidjeti prompt bootloadera."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Odlučili ste instalirati bootloader na particiju.\n"
+"To podrazumijeva da već imate bootloader na tvrdom disku sa kojeg podižete\n"
+"sustav (npr. System Commander).\n"
+"\n"
+"Sa kojeg diska želite podizati?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Prvi sektor pogona (MBR)"
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "Prvi sektor boot particije"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "Spremi na disketu"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Preskoči"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub instalacija"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Gdje želite instalirati bootloader?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Postava Stila Podizanja"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Glavne postavke bootloadera"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Program za pokretanje sustava"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Koristiti Bootloader"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Boot uređaj"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Odgoda prije bootiranja uobičajenog imagea"
+
+#: any.pm:306
+#, fuzzy, c-format
+msgid "Enable ACPI"
+msgstr "Omogući CD podizanje?"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Omogući CD podizanje?"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Omogući CD podizanje?"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Lozinka"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Lozinke se ne podudaraju"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Molim pokušajte ponovo"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"Ne možete koristiti enkriptirani datotečni sustav za točku montiranja %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Lozinka (provjera)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Ograničene opcije na komandnoj liniji"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ograniči"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Postavka ``Ograničene opcije na komandnoj liniji'' nema svrhe ako ne unesete "
+"lozinku"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Očisti /tmp na svakom podizanju"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Precizna veličina RAMa (pronađeno %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Upišite veličinu RAM u Mb"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init poruka"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Pauza Otvorenog Firmware-a"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Vrijeme čekanja podizanja kernela"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Omogući CD podizanje?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Omogući podizanje?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Uobičajeni OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Slika"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Korijen"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Dodaj"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video mod"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Mrežni međusklop"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Oznaka"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Uobičajeno"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NemaVidea"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Prazna oznaka nije dozvoljena"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Morate odrediti sliku kernela"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Morate odrediti root particiju"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Ova oznaka već postoji"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kakvu vrstu zapisa želite dodati"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Drugi OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Drugi OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Drugi OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Ovo su trenutni zapisi.\n"
+"Možete dodati još koji ili urediti postojeći."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "pristup X programima"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "pristup rpm alatima"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "dozvoli \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "pristup administracijskim datotekama"
+
+#: any.pm:644
+#, fuzzy, c-format
+msgid "access to network tools"
+msgstr "pristup rpm alatima"
+
+#: any.pm:645
+#, fuzzy, c-format
+msgid "access to compilation tools"
+msgstr "pristup rpm alatima"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(već postoji %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Molim dajte korisniku korisničko ime"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Korisničko ime može sadržavati samo mala slova, brojeve, `-' i `_'"
+
+#: any.pm:659
+#, fuzzy, c-format
+msgid "The user name is too long"
+msgstr "Ovaj korisnik već postoji"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Ovaj korisnik već postoji"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Korisnički ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID grupe"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Opcija %s mora biti broj!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Dodaj korisnika"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Unesite korisnika\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Gotovo"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Prihvati korisnika"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Puno ime"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Korisnička oznaka"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Ljuska"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Auto-prijava"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Mogu podesiti da se vaše računalo automatski prijavi kao jedan korisnik.\n"
+"Da li želite koristiti tu pogodnost?"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Da li želite koristiti aboot?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Izaberite uobičajenog korisnika:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Izaberite prozorski upravitelj koji želite pokrenuti:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licencni dogovor"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Izlaz"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Molim pričekajte"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Prihvati"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Odbij"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Molim izaberite jezik koji želite koristiti."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Myanmar"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Možete izabrati druge jezike koji će biti dostupni nakon instalacije"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Svi jezici"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Država / Regija"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "Molim izaberite koju vrstu miša koristite."
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ovdje je cijeli popis raspoloživih tipkovnica"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Iskušaj portove"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "&Napredno"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Nijedan"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Nema dijeljenja"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Dozvoli svim korisnicima"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Prilagođeno"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Da li želite dozvoliti korisnicima da izvezu neke direktorije u "
+"njihivompolaznom direktoriju?\n"
+"Dozvoljavanjem navedenoga ćete dozvoliti korisnicima da jednostavno kliknuna "
+"\"Dijeljenje\"\n"
+" u konqueroru i nautilusu.\n"
+"\n"
+"\"Proizvoljno\" će omogućiti dozvoljavanje po korisniku.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Možete izvesti koristeći NFS ili Sambu. Koji od njih želite"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Pokreni userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Zatvori"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Dijeljenje po korisniku koristi grupu \"fileshare\". \n"
+"Možete koristiti userdrake za dodavanje korisnika u navedenu grupu."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Molim prvo se odjavite te pritisnite Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Vremenska zona"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Koja je vaša vremenska zona?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Vaš hardverski sat namješten je na GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Vaš hardverski sat namješten je na GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Poslužitelj"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatska vremenska sinkronizacija (koristeći NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokalna datoteka"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernet kartica"
+
+#: authentication.pm:27 authentication.pm:163
+#, fuzzy, c-format
+msgid "Windows Domain"
+msgstr "Dobavi Windows fontove"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Povrati sve pohrane"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Povrati sve pohrane"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokalna datoteka :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, fuzzy, c-format
+msgid "Windows Domain:"
+msgstr "Dobavi Windows fontove:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Povrati sve pohrane"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Povrati sve pohrane"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP Autentifikacija"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP Poslužitelj"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "jednostavno"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Provjera autentičnosti"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domena"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Poslužitelj"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Baze"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Lozinka"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS Autentifikacija"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domena"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS Poslužitelj"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Windows Domain"
+msgstr "LDAP Autentifikacija"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Ime domene"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Zaporka administratora domene"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Provjera autentičnosti"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Podešavanje root lozinke"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Provjera autentičnosti"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Bez lozinke"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Ova lozinka je prejednostavna (lozinka mora sadržavati barem %d znakova)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Ne mogu koristiti broadcast bez NIS domene"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, fuzzy, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Dobro dosli u %s izbornik operativnih sustava!\n"
+"\n"
+"Izaberite operativni sustav u popisu iznad ili\n"
+"pricekajte %d sekundi za uobicajeno podizanje.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO sa tekstualnim menijem"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nema dovoljno mjesta u /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Ne možete instalirati bootloader na %s particiju\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Instaliraj bootloader"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuta"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuta"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundi"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Novi"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Odmontiraj"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Monitraj"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Točka montiranja"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Odrednice"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Greška"
+
+#: diskdrake/dav.pm:83
+#, fuzzy, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Upišite brzinu cd snimača"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL mora početi sa http:// ili https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Poslužitelj: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Mjesto montiranja:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcije: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Particioniranje"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Pročitajte pažljivo!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Prvo napravite backup podataka"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Izađi"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Nastavi"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ukoliko želite koristiti aboot morate ostaviti dovoljno mjesta (npr. 2048 "
+"sektora) na\n"
+"početku diska"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Pomoć"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Izaberite akciju"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Vaš sustav sadrži samo jednu veliku particiju.\n"
+"(Microsoft DOS/Windows obično koristi jednu particiju).\n"
+"Preporučam da promijenite veličinu particije\n"
+"(kliknite prvo na particiju te onda na \"Promijeni veličinu\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Molim kliknite na particiju"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalji"
+
+#: diskdrake/hd_gtk.pm:265
+#, fuzzy, c-format
+msgid "No hard drives found"
+msgstr ""
+"Nije pronađen lokalni pisač!\n"
+"\n"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Napoznato"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Ostalo"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Prazno"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Vrste datotečnih sustava:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Upozorenje"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Ova particija nije promjenjiva u veličini"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Prvo pritisnite ``Demontiraj''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Umjesto toga koristi ``%s''"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tip"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Izaberite drugu particiju"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Izaberite particiju"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Vrati"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Prebaci u normalni mod"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Normalno > Ekspert"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Postavke"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Da ipak nastavim?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Da završim bez spremanja"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Da završim bez zapisivanje particijske tablice?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Da li želite spremiti /etc/fstab promjene?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Morate ponovo pokrenuti sustav kako bi se aktivirala promjena particijske "
+"tablice"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Očisti sve"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Raspodijeli automatski"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Više"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Hard disk informacije"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Sve primarne particije su iskorištene"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ne mogu dodati niti jednu dodatnu particiju"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Ako želite dodati još koju particiju molim obrišite jednu od particija kako "
+"bi\n"
+"mogli stvoriti jednu extended particiju."
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Spremi particijsku tabelu"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Vrati particijsku tabelu"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Spasi particijsku tabelu"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Ponovno učitaj particijsku tabelu"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automatsko montiranje prenosivog medija"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Odaberite datoteku"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Backup particijske tablice nema istu veličinu\n"
+"Da ipak nastavim?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Pokušavam spasiti particijsku tablicu"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detaljne informacije"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Promjena veličine"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Oblikovanje"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Dodaj RAID-u"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Dodaj LVM-u"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Obriši"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Ukloni sa RAID-a"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Ukloni sa LVM-a"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Promijeni RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Koristi za loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Stvori"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Stvori novu particiju"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Početni sektor:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Veličina u MB:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Vrsta datotečnog sustava:"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Postavke:"
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Lokalne datoteke"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Ukloniti loopback datoteku?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon mijenjanja tipa particije %s svi podaci na ovoj particiji biti će "
+"obrisani"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Mijenjam tip particije"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Koji datotečni sustav želite?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Mijenjam iz ext2 u ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Oznaka"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Gdje želite montirati loopback datoteku %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Gdje želite montirati uređaj %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ne mogu maknuti točku za montiranje zato što se ova particija koristi za "
+"loop back.\n"
+"Uklonite loopback prvo"
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Gdje želite montirati uređaj %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Mijenjanje veličine"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Izračunavam granice fat datotečnog sustava"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ova particija nije promjenjiva u veličini"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Preporučam da prvo backupirate sve podatke s ove particije"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon mijenjanja veličine particije %s svi podaci na ovoj particiji biti će "
+"izgubljeni"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Odaberite novu veličinu"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nova veličina u MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Izaberite postojeći RAID na koji želite dodati "
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "novi"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Izaberite postojeći LVM na koji želite dodati "
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM ime?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Ova particija se ne može koristiti za loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Ime loopback datoteke:"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Dajte ime datoteke"
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Datoteku koristi neki drugi loopback. Molim izaberite neku drugu datoteku"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Datoteka već postoji. Da li da nju upotrijebim?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opcije montiranja"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Razno"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "uređaj"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "razina"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "chunk veličina"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Budite oprezni: ova operacija je opasna"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kakav tip particioniranja?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Trebate ponovo pokrenuti sustav prije nego promjene postanu aktivne"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Particijska tablica pogona %s će sada biti zapisana na disk!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Nakon formatiranja particije %s svi podaci na ovoj particiji biti će obrisani"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Provjeri za loše blokove?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Premijesti datoteku na novu particiju"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Sakrij datoteku"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Premiješteam datoteke na novu particiju"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopiram %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Uklanjam %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "particija %s je sada poznata kao %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Uređaj: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS uređaj slovo: %s (nagađanje)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Vrsta: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Ime: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Početak: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Veličina: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektora"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cilindar %d do %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatiran\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nije formatiran\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montiran\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback datoteka(e):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Podrazumijevana boot particija\n"
+" (za MS-DOS boot, ne za LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Razina %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Chunk veličina %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-diskovi %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Ime loopback datoteke: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Šanse su, da je ova particija\n"
+"ustvari particija upravljačkog programa, vjerojatno\n"
+"biste ju trebali ostaviti.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Ova specijalna bootstrap\n"
+"particija je za\n"
+"dvostruko-podizanje (dual-boot) vašeg sustava.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Samo za čitanje"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Veličina: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrija: %s cilindara, %s glava, %s sektora\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskovi %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Vrsta particijske tabele: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "na sabirnici %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Ključ enkriptiranja datotečnog sustava"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Izaberite vaš ključ za enkriptiranje datotečnog sustava"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Upisani enkripcijski ključ je prejednostavan (mora biti dug najmanje %d "
+"znakova)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Enkripcijski ključevi se ne slažu"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Enkripcijski ključ"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Enkripcijski ključ (ponovno)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Provjera autentičnosti"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Promijeni tip"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Odustani"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Provjera autentičnosti"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Which username"
+msgstr "Korisničko ime"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Another one"
+msgstr "Internet"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Korisničko ime"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Poslužitelji za pretraživanje"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Poslužitelji za pretraživanje"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Paket %s treba instalirati. Da li ga želite instalirati?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Instaliram paket %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Nužni paket %s nedostaje"
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Slijedeći paketi će biti instalirani"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instaliram pakete..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Uklanjanje paketa..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Pojavila se greška - ne mogu pronaći niti jedan valjani uređaj na kojem\n"
+"bih mogao instalirati datotečni sustav. Provjerite da li je sa vašim "
+"hardverom sve u redu."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Morate imati FAT particiju montiranu na /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatiram particiju %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Stvaram i formatiram datoteku %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "ne znam kako formatirati %s kao vrstu %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatiranje %s nije uspjelo"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Kružno montiranje %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "Formatiram particiju %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "montiranje particije %s u direktorij %s neuspješno"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Provjeravam %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "greška kod demontiranja %s: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Formatiram particiju %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"Ne možete koristiti enkriptirani datotečni sustav za točku montiranja %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ne osvježavaj vremenski pristup inodeu na ovom datotečnom sustavu\n"
+"(na primjer za brži pristup na odlagalište diskusija da se ubrzaju "
+"poslužitelji vijesti (newsa))"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Može biti montirano samo eksplicitno (npr.,\n"
+"-a opcija neće montirati datotečni sustav)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Ne interpretiraj znak ili blok specijalne uređaje na datotečnom sustavu."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ne dozvoli izvršavanje programa na montiranom \n"
+"datotečnom sustavu. Ova opcija bi mogla bitna korisna za poslužitelja koji "
+"ima\n"
+"datotečni sustav koji sadrži programe za arhitekturu drukčiju od vlastite."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ne dozvoli primjenu set-user-identifikator ili set-group-identifikator\n"
+"(ovo se čini sigurnim, ali je u stvari nesigurno ako \n"
+"imate suidperl(1) instalirano.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Montiraj datotečni sustav samo-za-čitanje"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Svi I/O na datotečni sustav bi trebali biti napravljeni sinkronizirano"
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Daj dozvolu pisanja običnim korisnicima"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Dupliciraj mjesto monitranja %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "nema dostupnih particija"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Tražim particije kako bi pronašao mjesta montiranja"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Odaberite mjesta montiranja"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Izaberite particije koje želite formatirati"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nema dovoljno swapa za završetak instalacije, molim dodajte još"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Morate imati root particiju.\n"
+"Prvo napravite particiju (ili kliknite na postojeću) te\n"
+"odaberite akciju ``Mjesto monitranja'' te odaberite `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Swap particija ne postoji\n"
+"\n"
+"Da ipak nastavim?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Koristi slobodan prostor"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nema dovoljno slobodnog prostora za pravljenje novih particija"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Koristi postojeće particije"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nema postojećih particija koje bih mogao upotrijebiti"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Koristi Microsoft Windows® particiju za loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Koju particiju želite koristiti za Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Odaberite veličinu"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Veličina korijenske particije u MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Veličina swap particiju u MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nema FAT particije za mjenjanje veličine ili za korištenje loopback-a (ili "
+"nema dovoljno prostora)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Iskoristi slobodan prostor na Windows particiji"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kojoj particiji želite promijeniti veličinu?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Program koji mjenja veličinu FAT-a ne može rukovati vašom particijom, \n"
+"slijedeća greška se dogodila: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Iskoristi slobodan prostor na Microsoft Windows® particiji"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Vaša Microsoft Windows® particija je prefragmentirana, molim pokrenite "
+"``defrag'' prvo."
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"UPOZORENJE!\n"
+"\n"
+"\n"
+"DrakX sada mora promijeniti veličinu vaše Windows particije.\n"
+"\n"
+"\n"
+"Budite vrlo oprezni budući da je ova operacija izuzetno opasna. Ukoliko još "
+"niste mijenjali veličinu particije molim izađite prvo iz instalacije, "
+"pokrenite scandisk pod Windowsima (opcionalno pokrenite defrag), tada "
+"ponovno pokrenite instalaciju. Također preporučljivo je da sačuvate vaše "
+"podatke (napravite backup).\n"
+"\n"
+"\n"
+"Kada ste sigurni da želite nastaviti, pritisnite %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Dalje"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Koliku veličinu želite zadržati za windowse particija %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Veličina"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Izračunavam granice Microsoft Windows® datotečnog sustava"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Mijenjanje FAT veličine nije uspjelo: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Nema FAT particije za mjenjanje veličine ili za korištenje loopback-a (ili "
+"nema dovoljno prostora)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Ukloni Windowse(TM)"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Obriši cijeli disk"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Imate više od jednog hard diska, na koji želite instalirati Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "SVE postojeće particije i podaci biti će izgubljeni na disku %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Proizvoljno particioniranje diska"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Koristi fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Sada možete razdijeliti %s.\n"
+"Kada ste gotovi ne zaboravite spremiti postavu sa `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ne mogu pronaći bilo kakvo mjesto za instaliranje"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX čarobnjak za particioniranje je pronašao slijedeća rješenja:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Particioniranje neuspjelo: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "JFS se ne može koristiti na particijama koje su manje od 16 MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "ReiserFS se ne može koristiti na particijama koje su manje od 32 MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "sa /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "poslužitelj"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, fuzzy, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ne mogu pročitati particijsku tablicu, previše je koruptirana za mene :(\n"
+"Mogu pokušati sa brisanjem loših particija (SVI PODACI će biti "
+"izgubljeni!).\n"
+"Drugo rješenje je onemogućiti DrakX-u da mjenja particijsku tablicu.\n"
+"(greška je %s)\n"
+"\n"
+"Da li se slažete da izgubite sve particije?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Mjesto montiranja mora početi sa /"
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Ime pisača može sadržavati samo slova, brojeve i podvlaku"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Već postoji particija sa mjestom montiranja %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Izabrali ste softwaresku RAID particiju kao root (/).\n"
+"Nema bootloader-a koji je u mogućnosti to podržati bez /boot particije.\n"
+"Zato budite pažljivi da dodate /boot particiju"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Ne možete koristiti LVM logički prostor za mjesto montiranja %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Izabrali ste softwaresku RAID particiju kao root (/).\n"
+"Nema bootloader-a koji je u mogućnosti to podržati bez /boot particije.\n"
+"Zato budite pažljivi da dodate /boot particiju"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Ovaj direktorij bi trebao ostati unutar root datotečnog sustava"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, fuzzy, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Treba vam istinski datotečni sustav (ex2, reiserfs) za ovo mjesto "
+"montiranja\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Ne možete koristiti enkriptirani datotečni sustav za točku montiranja %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nema dovoljno slobodnog prostora za auto-alokaciju"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nema ništa za uraditi"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disketa"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Poštanski broj"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD snimači"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Vrsta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP kontroleri"
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "Video mod"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, fuzzy, c-format
+msgid "Tvcard"
+msgstr "TV kartica"
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Ostali mediji"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Zvučna kartica"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "procesori"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Interna ISDN kartica"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, fuzzy, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet kartica"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL adapteri"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memorija"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Pisač"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Igračka palica"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA kontroleri "
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Memorija kartice (DMA)"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Kontroleri Firewire-a"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI kontroleri"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr ", USB pisač \\/*%s"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus kontroleri"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Mostovi i sistemski kontroleri"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tipkovnica"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Miš"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skener"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "Generički"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Molimo pričekajte... Primjenjujem konfiguraciju"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Nema slternativnog upravljačkog programa "
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, fuzzy, c-format
+msgid "Sound configuration"
+msgstr "CUPS postavke"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Upravljački program:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, fuzzy, c-format
+msgid "No open source driver"
+msgstr "X upravljački program"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, fuzzy, c-format
+msgid "No known driver"
+msgstr "X upravljački program"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "Nepoznati model"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+"Greška: \"%s\" upravljački program za vašu zvučnu karticu nije prisutan na "
+"listi"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Dopusti da sam odaberem upravljački program"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Odaberite nametnuti upravljački program"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Koristi auto detekciju"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, fuzzy, c-format
+msgid "Unknown|Generic"
+msgstr "Generički"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, fuzzy, c-format
+msgid "Card model:"
+msgstr "Memorija kartice (DMA)"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Promijeni tip"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "U redu"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Da"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ne"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Izaberite datoteku"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Dodaj"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Izmijeni"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Ukloni"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Završetak"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Prethodni"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Krivi izbor, pokušajte ponovo\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Vaš izbor? (uobičajeno %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Unosi koje trebate popuniti:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Vaš izbor? (0/1, uobičajeno '%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Gumb `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Da li želite kliknuti na ovaj gumb? "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Vaš izbor? (uobičajeno `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " unesi 'void' za prazan unos"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Postoji mnogo stvari za odabir iz (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Molim, izaberite prvi broj do 10 kojeg želite urediti,\n"
+"ili samo pritisnite Enter za nastavak.\n"
+"Vaš izbor? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Obavijest, naziv promijenjen:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Ponovno Pošalji"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Ujedinjeni Arapski Emirati"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua i Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanija"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenija"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Američki Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austrija"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australija"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbedžan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosna i Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladeš"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgija"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bugarska"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivija"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahami"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Otok"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Bocvana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bjelorusija"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Cocos (Keeling) Otočje"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centralna Afrička Republika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Switzerland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook Islands"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Čile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbija"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Srbija i Crna Gora"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Christmas Otok"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cipar"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Češka Republika"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Njemačka"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Đibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danska"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikanska Republika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžir"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Evkador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonija"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipat"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Zapadna Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritreja"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Španjolska"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopija"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finska"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiđi"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland Otočje (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroe Otočje"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francuska"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Ujedinjeno Kraljevstvo"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruzija"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Francuska Gvineja"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Greenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambija"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvineja"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorijalna Gvineja"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grčka"
+
+#: lang.pm:296
+#, fuzzy, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "South Georgia and the South Sandwich Island"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvineja-Bisau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gvajana"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard i McDonald otoci"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Hrvatska"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Mađarska"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezija"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irska"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indija"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Teritorij Britanskog Indijskog Oceana"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italija"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamajka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenija"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komori"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts and Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Koreja (Sjeverna)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Prisili"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvajt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kajmansko otočje"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sveta Lucija"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Linhenštajn"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Šri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberija"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvija"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libija"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavija"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Islands"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonija"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mianmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolija"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Northern Mariana Islands"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauricijus"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivi"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malezija"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibija"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nova Kaledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Island"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigerija"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragva"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nizozemska"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norveška"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Novi Zeland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Francuska Polinezija"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Nova Gvineja"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipini"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Poljska"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre and Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Spremi odabir paketa"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvaj"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Kvatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumunjska"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusija"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudijska Arabija"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomonsko otočje"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Sejšeli"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Švedska"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapur"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sveta Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenija"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard and Jan Mayen Islands"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovačka"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalija"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome and Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirija"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilend"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks and Caicos Islands"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Francuski južni teritoriji"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tajland"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Istočni Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunis"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turska"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad i Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tajvan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanija"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrajina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "United States Minor Outlying Islands"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Sjedinjene Američke Države"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvaj"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "Latvija"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sveti Vincent i Granada"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venecuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Djevičanski Otoci (Britanski)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Djevičanski Otoci (U.S.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vijetnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis i Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Južna Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambija"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabve"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Dobrodošli u %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Ukloni logički volumen prvo\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Uvod\n"
+"\n"
+"Operativni sustav i njegove različite komponente raspoložive u Mandriva "
+"Linux distribuciji \n"
+"će se zvati \"Software-ski Produkti\" daljnje u tekstu. Software-ski "
+"Produkti uključuju, ali nisu \n"
+"ograničeni na, skup programa, metoda, zakona i dokumentacija vezanih uz "
+"operativni\n"
+"sustav i različite komponente Mandriva Linux distribucije.\n"
+"\n"
+"\n"
+"1. Licencni Dogovor\n"
+"\n"
+"Molimo pažljivo pročitajte ovaj dokument. Ovaj dokument je licenci dogovor "
+"između vas i \n"
+"Mandriva S.A. koji se primjenjuje na Software-ske produkte.\n"
+"Instaliranjem, dupliciranjem ili korištenjem Software-skih Produkata u bilo "
+"kojem obliku,eksplicitno \n"
+"prihvaćate i potpuno se slažete da ćete prihvatiti stavke i uvjete ove "
+"Licence. \n"
+"Ukoliko se ne slažete sa bilo kojim dijelom licence, nije vam dozvoljeno "
+"instalirati, duplicirati ili koristiti \n"
+"Software-ski produkt. \n"
+"Svaki pokušaj instalacije, dupliciranja ili korištenja Software-skog "
+"Produkta u obliku kojem ne priliči \n"
+"sa stavkama i uvjetima ove licence je prazno i uništiti će vaša prava pod "
+"ovom\n"
+"Licencom. Uslijed uništenja licence, morate odmah unišititi sve kopije \n"
+"Software-skog Produkta.\n"
+"\n"
+"\n"
+"2. Ograničeno Jamstvo\n"
+"\n"
+"Software-ski Produkt i pripadajuća dokumentacija je pružena \"kako je\", bez "
+"jamstva, do \n"
+"mjere dozvoljene zakonom.\n"
+"Mandriva S.A. neće, u bilo kojim slučajevima i do te mjere dozvoljene "
+"zakonom, biti odgovaran za bilo kakvu specijalnu,\n"
+"nesretnu, direktnu ili indirektnu štetu bilo kakvu (uključujući granice "
+"štete od gubitka\n"
+"posla, prestanka posla, financijskih gubitaka, legalnih plaćanja i kazni "
+"posljedica sudskih \n"
+"presuda, ili bilo kakvih drugih posljedica gubitka) što je posljedica "
+"korištenja ili nemogućnosti korištenja Software-skog \n"
+"Produkta, iako je Mandriva S.A. bio upozoren od mogućnosti takve \n"
+"štete.\n"
+"\n"
+"OGRANIČENA ODGOVORNOST POVEZANA SA POSJEDOVANJEM ILI KORIŠTENJEM ZABRANJENOG "
+"SOFTWARE-A U NEKIM ZEMLJAMA\n"
+"\n"
+"Do granice dozvoljene zakonom, Mandriva S.A. ili njegovi distributori neće, "
+"u bilo kakvim slučajevima, biti \n"
+"odgovaran za bilo kakvu specijalnu, nesretnu, direktnu ili indirektnu štetu "
+"bilo kako (uključujući \n"
+"ograničene štete zbog gubitka posla, prekida posla, financijskog gubitka, "
+"legalnih plaćanja \n"
+"i kazni posljedica sudskih presuda, ili bilo kakvih drugih "
+"posljedicagubitka) što je posljedica \n"
+"posjedovanja ili korištenja software-skih komponenti ili kao posljedica "
+"skidanja (download-a) software-skih komponenti \n"
+"sa jednog od Mandriva Linux site-ova koja su zabranjena ili ograničena u "
+"nekim zemljama po lokalnim zakonima.\n"
+"Ova ograničena odgovornost se primjenjuje na, ali nije ograničena, jake "
+"kriptografske komponente \n"
+"uključene u Software-ski Produkt.\n"
+"\n"
+"\n"
+"3. GPL Licenca i slične licence\n"
+"\n"
+"Software-ski Prodkt se sastoji od komponenti napravljenih od raznih ljudi "
+"ili entiteta. Veliki \n"
+"broj tih komponenti je pokriveno pod stavkama i uvjetima GNU Opće Javne \n"
+"Licence, u daljnjem tekstu zvana \"GPL\", ili sličnih licenci. Veliki broj "
+"tih licenci dozvoljava vam korištenje, \n"
+"dupliciranje, prilagođavanje ili redistribuciju komponenti koju ona pokriva. "
+"Molimo pročitajte pažljivo stavke \n"
+"i uvjete licencnog dogovora svake komponente prije korištenja bilo koje "
+"komponente. Bilo koje pitanje \n"
+"o licenci komponente trebao bi biti adresiran autoru komponente a ne "
+"Mandriva-u.\n"
+"Programe razvijeni od strane Mandriva S.A. su pokriveni GPL licencom. "
+"Dokumentacija napisana \n"
+"od strane Mandriva S.A. je pokrivena specifičnom licencom. Molimo pogledajte "
+"dokumentaciju za \n"
+"više detalja.\n"
+"\n"
+"\n"
+"4. Prava na intelektualno vlasništvo\n"
+"\n"
+"Sva prava komponenti Software-skog Produkta pripada njihovim uvaženim "
+"autorima i \n"
+"zaštićeni su intelektualnim vlasništvom i autorskim zakonima primjenjivim na "
+"software-ske programe.\n"
+"Mandriva S.A. zadržava svoje pravo za izmjenu ili prilagođavanje Software-"
+"skog Produkta, kao cijelinu ili u\n"
+"dijelovima, u svim slučajevima za sve namjene.\n"
+"\"Mandriva\", \"Mandriva Linux\" i pripadajući logoi su zaštićeni prodajni "
+"znaci Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Državni zakoni \n"
+"\n"
+"Ukoliko neki dio ovog dogovora govori ništa, ilegalan ili neprikladan "
+"sudstvu, taj \n"
+"dio može se isključiti iz ovog ugovora. Ali ostajete obveznu drugim "
+"primjenjivim sekcijama\n"
+"ugovora.\n"
+"Za stavke i uvjete ove Licence je nadležan zakon Francuske.\n"
+"Sve sporove oko stavaka licence će preferirano biti uređeno sudom. Kao "
+"zadnji \n"
+"izlaz, spor će biti predan odgovarajućem Sudu u Parizu - Francuska.\n"
+"Za bilo kakva pitanja o ovom dokumentu, molimo kontaktirajte Mandriva S."
+"A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Upozorenje\n"
+"\n"
+"Molimo pročitajte pažljivo činjenice niže. Ukoliko se ne slažete sa bilo\n"
+"kojim dijelom, nemate dozvolu instalirati slijedeći CD medij. Pritisnite "
+"'Odbij' \n"
+"za nastavak instalacije bez korištenja ovog medija.\n"
+"\n"
+"\n"
+"Neke komponente sadržane u slijedećem CD mediju nisu pokrivene\n"
+"GPL licencom ili sličnim ugovorom. Svaka takva komponenta je tada\n"
+"pokrivena stavkama i uvjetima svojim vlastitim specifičnim licencama. \n"
+"Molimo pročitajte pažljivo i složite se specifičnim licencama prije \n"
+"vašeg korištenja ili redistribuiranja navedenih komponenti. \n"
+"Takve licence općenito zabranjuju prijenos, dupliciranje \n"
+"(osim za spasonosne kopije), redistribuciju, reverzno inženjerstvo, \n"
+"disasembliranje, dekompilaciju ili promjenu komponente. \n"
+"Svako kršenje ugovora će odmah prekinuti vaša prava kod\n"
+"specifične licence. Ako vam stavke specifične licence ne odobre takva\n"
+"prava, obično ne možete instalirati programe na više od jednog\n"
+"sustava, ili prilagoditi ga za korištenje na mreži. Ako ste u nedoumici,\n"
+"kontaktirajte direktno distributera ili urednika komponente. \n"
+"Prijenos trećim osobama ili kopiranje takvih komponenti uključujući \n"
+"dokumentaciju je obično zabranjeno.\n"
+"\n"
+"\n"
+"Sva prava na komponente slijedećeg CD medija pripadaju njihovim \n"
+"uvaženim autorima i zaštićeni su intelektualnim vlasništvom i \n"
+"autorskim zakonima primjenjivim na software-ske programe.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Čestitam, instalacija je kompletna.\n"
+"Uklonite boot medij i pritisnite return za ponovno podizanje.\n"
+"\n"
+"\n"
+"Za informacije o popravcima koji su raspoloživi za ovo izdanje Mandriva "
+"Linux-a,\n"
+"konzultirajte Eratu raspoloživu na\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informacije o konfiguriranju vašeg sustava je raspoloživo u poslije\n"
+"instalacijskom poglavlju od Official Mandriva Linux User's Guide."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "OKI winprinter konfiguracija"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Ručno namještanje"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Pronašao sam %s međusklopova"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Da li imate još koji?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Da li imate %s međusklopova?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Pokaži info o hardveru"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instaliram upravljački program %s za karticu %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instaliram upravljački program %s za karticu %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instaliram upravljački program %s za karticu %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instaliram upravljački program %s za karticu %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instaliram upravljački program %s za karticu %s"
+
+#: modules/interactive.pm:110
+#, fuzzy, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Sada možete unijeti opcije za modul %s.\n"
+"Primjetite da svaka adresa treba biti unešena sa prefiksom 0x kao '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Sada možete unijeti postavke za modul %s.\n"
+"Postavke su formata ``ime=vrijednost ime2=vrijednost2...''.\n"
+"Na primjer, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Postavke modula:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Koji %s upravljački program želite isprobati?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"U nekim slučajevima, %s upravljački program treba dodatne informacije da bi "
+"radio\n"
+"ispravno, iako normalno radi i bez toga. Da li želite specifirati te "
+"dodatne\n"
+"opcije za njega ili želite dozvoliti upravljačkom programu da isproba vaše\n"
+"računalo za informacije koje treba? Ponekad, isprobavanje može zamrznuti\n"
+"vaše računlo, ali ne bi trebalo izazvati nikakvu štetu."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Auto. ispitaj"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Odredi postavke"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Učitavanje modula %s nije uspjelo.\n"
+"Da li želite pokušati ponovo sa drugim parametrima?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "montiranje nije uspjelo: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Proširene particije nisu podržane na ovoj platformi"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Imate rupu u svojoj particijskoj tablici međutim ja je ne mogu iskoristiti.\n"
+"Jedino rješenje je da pomaknete vašu primarnu particiju kako bi rupa bila\n"
+"odmah do proširenih particija."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Greška prilikom čitanja datoteke %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Vraćanje iz datoteke %s nije uspjelo: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Loša backup datoteka"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Greška prilikom pisanja u datoteku %s"
+
+#: partition_table/raw.pm:264
+#, fuzzy, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Nešto loše se dešava sa vašim pogonom. \n"
+"Test za provjeru integriteta podataka je neuspješan. \n"
+"To znači da pisanje bilo čega na vaš disk rezultira slučajnim smećem"
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ne mogu dodati particiju na _formatirani_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nema dovoljno particija za RAID nivo %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Ne mogu napraviti direktorij /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Ne mogu napraviti link /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Ne mogu kopirati firmware datoteku %s u /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Ne mogu postaviti ovlasti firmware datoteke %s!"
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Odaberite skener"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Nije bilo moguće instalirati pakete potrebe za razmjenu vaših skenera"
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Prihvati/odbij lažne IPv4 poruke o greškama"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Prihvati/Odbij broadcastani icmp echo."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Prihvati/Odbij icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Dozvoli/Zabrani auto-prijavu"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Ukoliko ste podesili na \"ALL\", imat ćete /etc/issue i /etc/issue.net.\n"
+"\n"
+"Ukoliko ste podesili na NONE, nećete imati niti jednu \"distribuciju"
+"\" (issue).\n"
+"\n"
+"Bez ikakvog podešenja imat ćete samo /etc/issue."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Dozvoli/Zabrani ponovno pokretanje od strane korisnika konzole."
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "(na ovom računalu)"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "(na ovom računalu)"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Dozvolite/zabranite eksportiranje zaslona kada\n"
+"prolazite sa root računa na druge korisnike.\n"
+"\n"
+"Pogledajte pam_xauth(8) za više detalja.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Dozvoli/Zabrani X veze:\n"
+"\n"
+"- ALL (Sve veze su dozvoljene),\n"
+"\n"
+"- LOCAL (samo veze sa lokalnog računala),\n"
+"\n"
+"- NONE (bez veza)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argument precizira ako su klijenti ovlašteni ili neovlaštena za konekciju\n"
+"na X server sa mreže na tcp port 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"ako je SERVER_LEVEL (ili SECURE_LEVEL nije prisutan)\n"
+"veći od 3 u /etc/security/msec/security.conf, satvara\n"
+"symlink /etc/security/msec/server prema\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server koristichkconfig --add da bi odlučio da\n"
+"doda servis ako je prisutan u datoteci tijekom instalacije paketa."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Omogući/isključi crontab i at za korisnike.\n"
+"\n"
+"Stavi korisnike kojima je dozvoljeno u /etc/cron.allow i /etc/at.allow "
+"(vidi upute na (1)\n"
+"i crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Omogući/isključi izvještaj sysloga u konzolu 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Sigurnosna razina"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Omogući/isključi zaštitu lažiranja IP adresa"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Omogući/isključi libsafe ako je libsafe pronađen na sistemu"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Omogući/isključi vođenje zapisa o čudnim IPv4 paketima."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Omogući/isključi sigurnosnu provjeru msec-a svaki sat"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr "Aktiviraj su samo za članove grupe ili dozvoli su za svakog korisnika."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktiviraj/Onemogući provjeru promiskuitetnog moda rada mrežnih kartica"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Prihvati/Odbij dnevnu sigurnosnu provjeru."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Uključi/Isključi sulogin(8) u jedno-korisničkom modu rada."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Dodaj ime kao izuzetak rukovođenju starenja lozinke u msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Postavite zastarijevanje lozinke na \"max\" dana i odgodite promjenu na "
+"\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Bez lozinke"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "ako je postavljeno na da, provjeri prazne lozinke u /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"ako je postavljeno na da, provjeri datoteke/direktorije sa dopušenjima za "
+"pisanje za svakoga"
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"ako je postavljeno, šalji izvještaje malom na ovu adresu a inače šalji root "
+"korisniku."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ne šalji e-mailove ukoliko nema upozonja"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Korisnici"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Prihvati lažne IPv4 poruke o greškama"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Prihvati broadcastani icmp echo"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Prihvati icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* izlazi "
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "(na ovom računalu)"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Izravno prijavljivanje root korisnika"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Normalna modemska veza"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Odobri TCP veze na X prozor"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Odobri sve servise koje kontroliraju tcp_wrappersi"
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Podešavanje servisa"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Omogući \"crontab\" i \"at\" za korisnike"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Omogući zaštitu od krivotvorenja IP adresa"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Omogući libsafe ako je libsafe pronađen na sistemu"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Omogući vođenje zapisa čudnih IPv4 paketa"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Omogući sigurnosnu provjeru msec-a svakog sata"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Omogući su (switch user) samo za članove whell grupe ili za bilo kojeg "
+"korisnika"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Provjera promiskuiteta mrežnih kartica"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dnevna sigurnosna provjera"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Bez lozinke"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Lozinka je prejednostavna"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minimalna duljina zaporke i broj brojeva i velikih slova"
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Bez lozinke"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "Vrijeme čekanja podizanja kernela"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Korisnici"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "detektiran na portu %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Provjera nesigurnih korisničkih računa"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Provjeri ovlasti datoteka u korisnikovom home-u"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Provjeri jesu li mrežni uređaji u promiskuitetnom modu."
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Provjera dodavanja/uklanjanja sgid datoteka"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Provjeri prazne zaporke u /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Provjera dodavanja/uklanjanja suid root datoteka"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Provjera datoteka/mapa za koje svi imaju pravo pisanja"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Ukoliko je podešena, pošalji izvještaj na ovu adresu elektronske pošte, u "
+"protivnom pošalji je root korisniku"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Dobrodošli Crackeri"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Slab"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standardno"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Visok"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Viši"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoidan"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ova razina se treba koristiti sa pažnjom. Ona čini vaš sustav mnogo lakšim "
+"za korištenje,\n"
+"ali vrlo osjetljiv: ne smije biti korišten za računala koja su povezana u "
+"mreži ili na Internet. Naime, nema lozinke za pristup."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Lozinke su sada uključene međutim još ne preporučam korištenje ovog računala "
+"u mrežnom okolišu."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ovo je standardna sigurnosna razina preporučena za računala koja će biti "
+"korištena za spajanje na Internet kao klijent."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Već postoje neka ograničenja i više automatskih provjera se pokreće svake "
+"noći."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Sa ovom sigurnosnom razinom, korištenje ovog sustava kao poslužitelj postaje "
+"moguće.\n"
+"Sigurnost je sada toliko visoka da se sustav može koristiti kao poslužitelj\n"
+"koji prima zahtjeve od mnogo klijenata. Upozorenje: ako je vaše računalo "
+"samo klijent na Internetu, bolje da izaberete nižu razinu."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Temeljeno na prijašnjoj razini, ali je sustav potpuno zatvoren.\n"
+"Sigurnosne značajke su na maksimumu."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sigurnost"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opcije"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Izaberite sigurnosni nivo"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Sigurnosna razina"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Koristi libsafe za poslužitelje"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Biblioteka koja štiti od prekoračenja spremnika i format string napada."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Pokreni ALSA (Naprednu Linux Zvučnu Arhitekturu) zvučni sustav"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron periodno zakazivanje komandi"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd služi za monitoriranje statusa i baterije i njegovo logiranje putem "
+"syslog-a.\n"
+"Također može biti korišten za gašenje računala kada je baterija slaba."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Pokreće komande zakazane sa at komandom u specifirano vrijeme kada\n"
+"je at pokrenut, i pokreće batch komande kada je prosječna zauzetost dovoljno "
+"niska."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron je standardan UNIX program koji pokreće korisnički definirane programe\n"
+"u periodično zakazana vremena. vixie cron dodaje veliki broj korisnih "
+"funkcija običnom UNIX cron-u, uključujući bolju sigurnost i veću snagu "
+"konfiguracijskih opcija."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM dodaje podršku za mišu tekst baziranim Linux aplikacijama kao što je\n"
+"Midnight Commander. Također pruža miš baziranim konzolama odreži-i-zalijepi "
+"operacije,\n"
+"i uključuje podršku za iskočive menije u konzoli."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake pokreće isprobavanje hardware-a, i opciono konfigurira\n"
+"novi/promjenjeni hardware."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache je World Wide Web poslužitelj. Koristi se za posluživanje HTML\n"
+"dokumenata i CGI skripti."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internet superserver demon (najčešće zvan inetd) pokreće \n"
+"razne druge internet servise po potrebi. Odgovoran je za pokretanje \n"
+"mnogo servisa, uključujući telnet, ftp, rsh, i rlogin. Isključivanje inetd-"
+"a\n"
+"onemogučuje sve servise za koje je zadužen."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Pokreće paketno filtriranje za Linux kernel 2.2 serije, za postavljanje\n"
+"vatrozida za zaštitu vašeg računala od mrežnih napada."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ovaj paket učitava odabranu tastaturnu mapu kao što je postavljenu u\n"
+"/etc/sysconfig/keyboard. Ona se može odabrati koristeći kbdconfig alat.\n"
+"Trebali biste ostaviti ovo uključeno za većinu računala."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatsko regeneriranje kernel header-a u /boot za\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatska detekcija i konfiguracija hardware-a pri podizanju."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf će ponekada urediti izvršavanje raznih radnji\n"
+"pri samom podizanju kako bi održao sustavsku konfiguraciju."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd je daemon za ispis koji je potreban od lpr-a kako bi radio ispravno.\n"
+"On je pojednostavljeno poslužitelj koji šalje ispisne poslove pisaču(ima)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtualni Poslužitelj, koristi se za pravljenje visoko raspoloživog\n"
+"poslužitelja visokih performansi."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) je Domain Name Server (DNS) poslužitelj koji se upotrebljava\n"
+"za razlučivanje imena računala u IP adrese."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Montira i Demontira sve Mrežne datotečne sustave (NFS), SMB (Lan\n"
+"Manager/Windows), i NCP (NetWare) točke montiranja."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivira/Deaktivira sva podešena mrežna sučelja prilikom pokretanja\n"
+"sustava."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS je popularan protokol za dijeljenje datoteka putem TCP/IP mreža.\n"
+"Ovaj servis pruža NFS poslužiteljsku funkcionalnost, koji se konfigurira\n"
+"putem /etc/exports datoteke."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS je popularan protokol za dijeljenje datoteka putem TCP/IP mreža.\n"
+"Ovaj servis pruža funkcionalnost NFS datotečnog zaključavanja."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Automatski uključuje numlock tipku u konzoli i\n"
+"Xorg-u pri podizanju."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Podržava OKI 4w i kompaktibilne win pisače."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA podrška je obično za podržavanje stvari poput ethernet i\n"
+"modema u laptopima. Ona neće biti pokrenuta ukoliko nije tako\n"
+" konfigurirana zato je sigurno pokrenuti ju iako na instaliranom\n"
+" računalu ne treba."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper uređuje RPC vezama, koje su korištene u protokolima\n"
+"poput NFS-a ili NIS-a. Portmap poslužitelj mora biti pokrenut na računalima\n"
+"koji su poslužitelji za protokole koji se služe RPC mehanizmima."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix je Mail Transport Agent, što je program kojišalje mail-ove sa jednog "
+"računala na drugo."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Sprema i vraća sustavsku entropiju za veću kvalitetu generiranja\n"
+"slučajnih brojeva."
+
+#: services.pm:76
+#, fuzzy, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Dodjeljuje raw uređaje (kao što su hard disk\n"
+"particije), za uporabu u aplikacijama kao što su Oracle"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed daemon omogućava automatsku IP ruter tablicu koja se obnavlja\n"
+"putem RIP protokola. Dok se RIP najšire koristi na malim mrežama, više "
+"kompleksniji\n"
+"ruting protokoli su potrebni za kompleksnije mreže."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Rstat protokol omogućava korisnicima na mreži da dohvate\n"
+"mjerljive performanse za svako računalo koje je na mreži."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Rusers protokol omogućava korisnicima na mreži da identificira tko je\n"
+"prijavljen na drugim računalima koja odgovaraju."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Rwho protokol omogućava udaljenim korisnicima da dobiju popis svih\n"
+"korisnika prijavljenih na računalo na kojima je pokrenut rwho (slično finger-"
+"u)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Pokreni zvučni sustav na vašem računalu"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog je resurs kojega koriste mnogi demoni kako bi logirali poruke\n"
+"u različite sustavske log datoteke. Dobra je ideja uvijek imati pokrenuti "
+"syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Učitava upravljačke programe za vaše usb uređaje."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Pokreće X Pismovni Poslužitelj (ovo je nužno za Xorg da se pokrene)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Ispisivanje"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Dijeljenje datoteka"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sustav"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Udaljeno administriranje"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Poslužitelj baza podataka"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servisi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Izaberite koji servisi trebaju biti startani automatski kod boot-a"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servisi: %d aktiviran za %d registriran"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "radi"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "zaustavljen"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servisi i daemoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nema dodatnih informacija\n"
+"o ovom servisu, žalim."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Pri pokretanju"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Započni"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Zaustavi"
+
+#: standalone.pm:24
+#, fuzzy, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Ovaj program je besplatni softver; možete ga redistribuirati i/ili "
+"mijenjati\n"
+"pod uvjetima GNU General Public License objavljenje od Free Software\n"
+"Foundationa; ili inačice 2, ili (kako izaberete) neke kasnije inačice.\n"
+"\n"
+"Ovaj program se distribuira u nadi da će biti koristan, ali\n"
+"BEZ IKAKVE GARANCIJE; bez čak i podrazumijevane TRŽIŠNE GARANCIJE\n"
+"ili POGODNOSTI ZA ODREĐENU SVRHU. Pogledajte\n"
+"GNU General Public License za više detalja.\n"
+"\n"
+"Trebali ste dobiti presliku GNU General Public License\n"
+"sa ovim programom; ako ne, pišite na Free Software Foundation,\n"
+"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA."
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIJE:\n"
+" --boot - omogući za konfiguraciju boot loadera\n"
+" --splash - omogući za konfiguraciju boot teme\n"
+"uobičajeno: ponudi podešavanje automatske prijave"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - čarobnjak za \"dodavanje mrežnog uređaja\"\n"
+" --del - čarobnjak za \"brisanje mrežnog uređaja\"\n"
+" --skip-wizard - upravljanje vezama/mrežom\n"
+" --internet - podešavanje interneta\n"
+" --wizard - poput --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Tipkovnica"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=mojadatoteka] [--word=mojariječ] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [sve]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake rezolucija"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Dodaj korisnika"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Južna Afrika"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Austrija"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Južna Afrika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanija"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Južna Afrika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Ruska Federacija"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavija"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Da li je ovo ispravno?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "izbornik datoteka"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Trebate odrediti datoteku, a ne direktorij.\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Ime '/' može biti samo mapa, a ne ključ"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Nije mapa"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Datoteka ne postoji"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Proširi stablo"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sažmi stablo"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Prebaci između ravno i grupno sortiranog"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s nije instaliraj\n"
+"Kliknite \"Slijedeći\" da instalira ili \"Odustani\" da odustanete"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalacija nije uspjela"
+
+#~ msgid "Icon"
+#~ msgstr "Sličica"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Broj međuspremnika za hvatanje "
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "Postavka opterećenja"
+
+#~ msgid "Radio support:"
+#~ msgstr "Podrška za radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "omogući podršku za radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/hu.po b/perl-install/share/po/hu.po
new file mode 100644
index 000000000..3a3ca2339
--- /dev/null
+++ b/perl-install/share/po/hu.po
@@ -0,0 +1,6898 @@
+# translation of libDrakX to Hungarian
+# Copyright (C) 2000-2001,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Emese Kovacs <emese@gnome.hu>, 2000-2001.
+# Arpad Biro <biro_arpad@yahoo.com>, 2000, 2003, 2004, 2005, 2006, 2007.
+# Tamas Szanto <tszanto@mol.hu>, 2001.
+msgid ""
+msgstr ""
+"Project-Id-Version: hu\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-10 13:24+0100\n"
+"Last-Translator: Arpad Biro <biro_arpad@yahoo.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Kis türelmet..."
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "A rendszerindító program telepítése folyamatban"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"A LILO új kötetazonosítót készül adni a(z) %s lemeznek. NT, 2000 vagy XP\n"
+"verziójú Windows esetén egy indítólemez kötetazonosítójának módosítása\n"
+"súlyos rendszerhibának lesz véve. Ez a figyelmeztetés nem vonatkozik sem\n"
+"a Windows 95 illetve 98 verzióra, sem pedig az NT adatlemezeire.\n"
+"\n"
+"Szeretné folytatni az azonosító-módosítást?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "A rendszerbetöltő telepítése nem sikerült. A hiba a következő:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Lehet, hogy módosítani kell az Open Firmware rendszerindítási eszköz\n"
+" beállításain a rendszerindító program használatához. Ha újraindítás után\n"
+" nem jelenik meg a prompt, nyomja le a Command-Option-O-F-et induláskor\n"
+" és írja be ezt: setenv boot-device %s,\\\\:tbxi\n"
+" Majd gépelje be ezt: shut-down\n"
+"A következő indítás után meg kell jelennie a promptnak."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Azt a lehetőséget választotta, hogy a rendszerbetöltőt egy partícióra "
+"telepíti.\n"
+"Ez arra utal, hogy már van rendszerbetöltő (például: System Commander) azon "
+"a\n"
+"merevlemezen, amelyről a rendszer indítása történik.\n"
+"\n"
+"Melyik meghajtóról végzi a rendszer indítását?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "A lemezmeghajtó legelső szektora (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "A gyökérpartíció első szektora"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Hajlékonylemez"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Kihagyás"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "A LILO/GRUB telepítése"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Hová kerüljön a rendszerindító program (bootloader)?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "A rendszerindítás beállításai"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Rendszerindítási beállítások"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Rendszerbetöltő"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "A használni kívánt rendszerbetöltő"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Rendszerindítási eszköz"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Fő beállítások"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Várakozási idő az alapértelmezett rendszer betöltése előtt"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI bekapcsolása"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "APIC bekapcsolása"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Helyi APIC bekapcsolása"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Jelszó"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "A jelszavak nem egyeznek"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Próbálja meg újra"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Nem használható jelszó ezzel: %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Jelszó (még egyszer)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "A parancssorban átadható paraméterek korlátozása"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "korlátozás"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"\"A parancssorban átadható paraméterek korlátozása\" beállításnak jelszó "
+"nélkül nincs értelme"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "A /tmp törlése minden újraindulásnál"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "RAM-méret, ha szükséges (felismert: %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "A fizikai memória mérete MB-ban"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Indítási üzenet"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Késleltetés Open Firmware-nél"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Várakozási idő rendszerindításkor"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD-ről történhessen rendszerindítás?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF-ről történhessen rendszerindítás?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Az alapértelmezett op. rendszer?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Indítófájl"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Gyökér"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Hozzáfűzés"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen-hozzáfűzés"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Képernyőmód"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Indítási RAM-diszk"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Hálózati profil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Címke"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Alapértelmezés"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "A címke nem lehet üres"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Meg kell adni egy kernelfájlt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Meg kell adni egy gyökérpartíciót"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Már van ilyen nevű címke"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Milyen bejegyzést szeretne felvenni?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Egyéb op. rendszer (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Egyéb op. rendszer (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Egyéb op. rendszer (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Itt láthatók az indítási menü jelenlegi bejegyzései.\n"
+"Új bejegyzések vehetők fel, illetve módosíthatók a meglevők."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "hozzáférés az X-es programokhoz"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "hozzáférés az RPM-eszközökhöz"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" engedélyezése"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "hozzáférés az adminisztrációs fájlokhoz"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "hozzáférés a hálózati eszközökhöz"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "hozzáférés a fordítási eszközökhöz"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(már fel van véve: %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Adjon meg egy felhasználónevet"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"A felhasználónév csak a következőket tartalmazhatja: kisbetűk, számok, \"-\" "
+"és \"_\""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "A felhasználónév túl hosszú"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Már létezik ilyen felhasználónév"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Felh.-azonosító"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Csoportazonosító"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "A(z) \"%s\" értéknek számnak kell lennie"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "A(z) \"%s\" értéknek 500-nál nagyobbnak kell lennie. Mégis elfogadja?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Felhasználó felvétele"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Adjon meg egy felhasználónevet\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Kész"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Név elfogadása"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Valódi név"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Bejelentkezési név"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Parancsértelmező"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatikus bejelentkezés"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Beállítható, hogy rendszerindításkor egy felhasználó automatikusan "
+"bejelentkezzen."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "A lehetőség használata"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Adja meg az alapértelmezett felhasználónevet:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Válassza ki a használni kívánt ablakkezelőt:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licencegyezmény"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Kilépés"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Verzióinformáció"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Elfogadom"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Nem fogadom el"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Válasszon nyelvet."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Nyelvválasztás"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"A Mandriva Linux több nyelvvel is telepíthető. Jelölje ki,\n"
+"mely nyelveket szeretné telepíteni. Ezek a telepítés befejeződése\n"
+"utáni újraindítást követően lesznek elérhetők."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Több nyelv"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Régebbi kompatibilitási (nem UTF-8) kódolás"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Az összes nyelv"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Ország/terület"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Válassza ki az országot."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Itt található az elérhető országok listája"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Egyéb országok"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Speciális"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Beviteli módszer:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Egyik sem"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Nincs megosztás"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Az összes felhasználó engedélyezése"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Egyéni"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Szeretné engedélyezni a felhasználók számára azt, hogy a saját "
+"könyvtáraikat\n"
+"megosszák?\n"
+"Ha ez engedélyezve van, akkor a felhasználók a Konquerorban és a "
+"Nautilusban\n"
+"a \"Megosztás\" funkcióval végezhetnek exportálást.\n"
+"\n"
+"Az \"Egyéni\" opció használatával felhasználónkénti beállítás lehetséges.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: a hagyományos UNIX-os fájlmegosztási rendszer - Macintosh és Windows "
+"alatt kevésbé támogatott."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Windows, Mac OS X és Linux alatt használatos fájlmegosztási módszer."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Exportálás NFS-sel vagy Sambával végezhető. Válassza ki, melyiket kívánja "
+"használni."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "UserDrake indítása"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Bezárás"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"A felhasználónkénti megosztás a \"fileshare\" csoportot használja.\n"
+"A UserDrake programmal lehet felhasználót felvenni ebbe a csoportba."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+"Jelentkezzen ki, majd nyomja meg a Ctrl+Alt+BackSpace billentyűkombinációt"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "A módosítások érvénybe lépéséhez ki kell lépni, majd ismét belépni"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Időzóna"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Melyik időzónát választja?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Dátum-, óra- és időzóna-beállítások"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Melyik a legmegfelelőbb idő?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (a gép órája az UTC-időt mutatja)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (a gép órája a helyi időt mutatja)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-kiszolgáló"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatikus időszinkronizáció (NTP-vel)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Helyi fájl"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Intelligens kártya"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windowsos tartomány"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory SFU-val"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory Winbinddal"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Helyi fájl:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "Helyi fájlok használata minden azonosításhoz"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"LDAP használatát írja elő az azonosítási műveletek egy részéhez vagy "
+"mindegyikükhöz. Az LDAP a szervezeten belüli információk bizonyos részét "
+"gyűjti egy helyre."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Lehetővé teszi számítógépek csoportjának ugyanazon Network Information "
+"Service-tartományban való üzemeltetését közös jelszóval és csoportfájllal."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windowsos tartomány:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"A Winbind lehetővé teszi a rendszer számára, hogy információt szerezzen és "
+"felhasználókat azonosítson egy windowsos tartományban."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory SFU-val:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Azonosítás Kerberos és LDAP használatával egy Active Directory-kiszolgálón "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory Winbinddal:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"A Winbind lehetővé teszi a rendszer számára, hogy felhasználókat azonosítson "
+"egy windowsos Active Directory-kiszolgálón."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP-alapú azonosítás"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP alap-DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-kiszolgáló"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "egyszerű"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "biztonsági rendszer (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Azonosítás - Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Tartomány"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Kiszolgáló"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP-felhasználók adatbázisa"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Névtelen BIND használata "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Az LDAP-felhasználó böngészheti az Active Directoryt"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "A felhasználó jelszava"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS-alapú azonosítás"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-tartomány"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-kiszolgáló"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Hogy ez működjön egy W2K PDC-vel, ahhoz az adminisztrátornak valószínűleg "
+"végre kell hajtania a következő windowsos parancsot, majd újra kell indítani "
+"a kiszolgálót: 'net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone /add'.\n"
+"Szükség lesz egy tartományadminisztrátor nevére és jelszavára is ahhoz, hogy "
+"a gépet csatlakoztatni lehessen a windowsos tartományhoz.\n"
+"Ha a hálózat még nincs beállítva, akkor a telepítő a hálózatbeállítási "
+"lépést követően fogja megkísérelni a tartományhoz való csatlakozást.\n"
+"Ha a beállítás nem sikerül, és a tartományhitelesítés nem működik, akkor a "
+"rendszer indítását követően futtassa az 'smbpasswd -j TARTOMÁNY -U "
+"FELHASZNÁLÓ%%JELSZÓ' parancsot a windowsos tartomány és a megfelelő "
+"adminisztrátori név illetve jelszó használatával.\n"
+"A 'wbinfo -t' parancs használatával letesztelhető, hogy a hozzáférés "
+"(illetve a létrehozott gépazonosító) működik-e."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Hitelesítési Windows-tartomány"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory-realm"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Tartományadminisztrátor felhasználói neve"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Tartományadminisztrátor jelszava"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Felhasználóazonosítás"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "A rendszergazdai (root) jelszó beállítása"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Azonosítási módszer"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Nincs jelszó"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Ez a jelszó túl rövid (legalább %d karakter hosszúnak kell lennie)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Nem lehet broadcast-ot használni NIS tartomány nélkül"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Udvozoljuk a rendszerinditoban!\n"
+"\n"
+"Valasszon egy operacios rendszert a listabol, vagy varjon\n"
+"amig az alapertelmezett elindul.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO, szöveges menüvel"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB, grafikus menüvel"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB, szöveges menüvel"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nincs elég hely a /boot partíción"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "A rendszerindító program nem tehető %s partícióra\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"A rendszerindító beállításait frissíteni kell, mivel a partíciók számozása "
+"módosult."
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"A rendszerindító nem telepíthető. Indítsa el a rendszert egy helyreállítási "
+"lemezzel, majd válassza ezt: \"%s\"."
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Rendszerindító újratelepítése"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d perc"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 perc"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d másodperc"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "hiányzó parancs: %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"A WebDAV egy olyan protokoll, amely lehetővé teszi egy webkiszolgálón levő\n"
+"valamely könyvtár helyileg történő csatolását (mount) és helyi\n"
+"fájlrendszerként való kezelését (feltéve, hogy a webkiszolgáló be van\n"
+"állítva WebDAV-kiszolgálónak). Ha szeretne felvenni WebDAV csatolási\n"
+"pontokat, válassza az \"Új\" funkciót."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Új"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Leválasztás"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Csatolás"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Csatolási pont"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Beállítások"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Hiba"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Adja meg a WebDAV-kiszolgáló URL-jét"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Az URL-nek http:// vagy https:// kezdetűnek kell lenni"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Kiszolgáló: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Csatolási pont: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Beállítások: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partícionálás"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Olvassa el figyelmesen!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Először készítsen biztonsági mentést az adatokról"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Kilépés"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Folytatás"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ha az aboot-ot fogja használni, először ellenőrizze, hogy maradt-e elég\n"
+"hely (legalább 2048 szektor) a lemez elején"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Segítség"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Válasszon"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Egy nagy windowsos partíció van.\n"
+"Célszerű először átméretezni a partíciót\n"
+"(kattintson a partícióra, majd az \"Átméretezés\" gombra)."
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Kattintson egy partícióra"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Részletek"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Merevlemez nem található"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Ismeretlen"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Naplózott fájlrendszer"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Lapozóterület (swap)"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Egyéb"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Üres"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Fájlrendszer-típusok:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Figyelmeztetés"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Ez a partíció már üres"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Használja először a \"Leválasztás\"-t"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Használja inkább ezt: \"%s\""
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Típus"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Válasszon egy másik partíciót"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Válasszon egy partíciót"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Visszavonás"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Átváltás normál módba"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Átváltás szakértői módba"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Megerősítés"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Kívánja folytatni a műveletet?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Kilépés mentés nélkül"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Ki akar lépni a programból a partíciós tábla mentése nélkül?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "El szeretné menteni a /etc/fstab fájlban végrehajtott módosításokat?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"A partíciós tábla változásai csak a gép újraindítása után lépnek érvénybe"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"A(z) %s partíció formázása javasolt - ennek mellőzése\n"
+"esetén a(z) %s csatolási ponthoz nem lesz bejegyzés az fstab fájlban.\n"
+"Mégis kilép?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Teljes törlés"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automatikus helyfoglalás"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Egyéb"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Merevlemez-jellemzők"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Mindegyik elsődleges partíció foglalt"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Nem hozható létre több partíció"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"További partíciók létrehozásához törölni kell egyet (hogy egy kiterjesztett "
+"partíciót létre lehessen hozni)"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Ne legyen supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount (automatikus csatolás)"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount, kivéve a CD-meghajtókat"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "A partíciós tábla mentése"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Partíciós tábla visszatöltése"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "A partíciós tábla helyreállítása"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "A partíciós tábla újraolvasása"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Cserélhető adathordozó automatikus csatolása"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Fájlválasztás"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"A partíciós tábla két példányának mérete eltér.\n"
+"Mégis kívánja folytatni a műveletet?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "A partíciós tábla helyrehozásának megkísérlése..."
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Részletes információ"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Átméretezés"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formázás"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Hozzáadás RAID-hez"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Hozzáadás LVM-hez"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Törlés"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Eltávolítás RAID-ből"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Eltávolítás LVM-ből"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID módosítása"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Loopback-hez használva"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Létrehozás"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Új partíció létrehozása"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Kezdőszektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Méret (MB): "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "A fájlrendszer típusa: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Beállítások: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "A logikai kötet neve "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Nem lehet új partíciót létrehozni\n"
+"(mivel elérte az elsődleges partíciók lehetséges maximális számát).\n"
+"Távolítson el egy elsődleges partíciót és hozzon létre egy kiterjesztett "
+"partíciót."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "El szeretné távolítani a loopback-fájlt?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"A(z) %s partíció típusának módosítása után a partíción levő adatok elvesznek"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "A partíciótípus megváltoztatása"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Melyik fájlrendszert szeretné?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Konvertálás Ext2-ről Ext3-ra"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Melyik kötetcímke?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Címke:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Hová szeretné csatolni a(z) %s loopback-fájlt?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Hová szeretné csatolni a(z) %s eszközt?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Nem lehet megszüntetni a csatolási pontot, mert ez egy loopback\n"
+"partíció. Először távolítsa el a loopback-et."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Hová szeretné csatolni ezt: \"%s\"?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Átméretezés"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "A FAT-fájlrendszer jellemzőinek kiszámítása"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ezt a partíciót nem lehet átméretezni"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Készítsen biztonsági mentést erről a partícióról"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"A(z) %s partíció átméretezésekor a partíción található adatok elvesznek"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Adja meg az új méretet"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Az új méret (MB-ban): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimális méret: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maximális méret: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Az adatok épségének biztosítása érdekében a legközelebbi Windows-"
+"indításnál \n"
+"fájlrendszer-ellenőrzés lesz végezve"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Válassza ki azt a RAID-et, amelyikhez hozzá szeretné adni a lemezt"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "új"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Válassza ki azt az LVM-et, amelyhez hozzá szeretné adni a lemezt"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Az LVM neve?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"A(z) \"%s\" fizikai kötet még használatban van.\n"
+"Kívánja áthelyezni a kötet használatban levő fizikai kiterjedéseit (extent) "
+"más kötetekre?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Fizikai kiterjedések áthelyezése"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Ez a partíció nem használható loopback-hez"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "A loopback-fájl neve: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Adjon meg egy fájlnevet"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"Ez a fájl már egy másik loopback-hez van rendelve, válasszon egy másikat"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "A fájl már létezik, használjam?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Csatolási (mount) opciók"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Vegyes"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "eszköz"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "szint"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "szeletméret kilobájtban (KiB)"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Vigyázat! Ez a művelet adatvesztést okozhat."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Milyen típusú partícionálást szeretne?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "A változások csak a rendszer újraindításakor lépnek életbe"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "A(z) \"%s\" meghajtó partíciótáblájának mentése következik!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "A(z) %s partíció formázásakor a partíción található adatok elvesznek!"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Ellenőrizve legyen, hogy vannak-e hibás blokkok?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Fájlok áthelyezése az új partícióra"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Fájlok elrejtése"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"A(z) \"%s\" könyvtárban már vannak fájlok.\n"
+"(%s)\n"
+"\n"
+"Áthelyezheti a fájlokat az oda csatolandó partícióra, vagy a helyükön "
+"hagyhatja azokat (az utóbbi esetben a már ott levő fájlokat el fogja rejteni "
+"a csatolt partíció tartalma)."
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Fájlok áthelyezése az új partícióra"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s másolása"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s eltávolítása"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "a(z) %s partíció jelenleg \"%s\"-ként ismert"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "A partíciók újra lettek számozva: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Eszköz: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Kötetcímke: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-meghajtó betűjele: %s (ez csak egy tipp)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Típus: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Név: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Kezdőszektor: %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Méret: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s szektor"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "A(z) %d. cilindertől a(z) %d.-ig\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Logikai kiterjedések száma: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formázva\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nincs formázva\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Csatolva\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-fájl(ok):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Az alapértelmezett indítási partíció\n"
+" (a DOS-nak, nem a LILO-nak)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "%s. szint\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "A szelet mérete: %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-lemezek: %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "A loopback-fájl neve: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Ez a partíció valószínűleg\n"
+"meghajtóknak van fenntartva,\n"
+"ne módosítson rajta.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Ez egy speciális rendszerindítási\n"
+"partíció (hogy többféle operációs\n"
+"rendszert lehessen indítani).\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Üres hely ezen: %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Csak olvasható"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Méret: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometria: %s cilinder, %s fej, %s szektor\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Információ: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-lemezek: %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "A partíciós tábla típusa: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "csatorna: %d, id: %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Fájlrendszer-titkosítási kulcs"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Válasszon fájlrendszer-titkosítási kulcsot"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Ez a titkosítási kulcs túl egyszerű (legalább %d karakter hosszúnak kell "
+"lennie)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "A titkosítási kulcsok nem egyeznek"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Titkosítási kulcs"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Titkosítási kulcs (még egyszer)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Titkosítási módszer"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "A típus megváltoztatása"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Mégsem"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Nem sikerült bejelentkezni %s néven (helytelen jelszó?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Tartományi azonosítás szükséges"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Melyik felhasználónév"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Másik"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Adja meg a gép eléréséhez szükséges felhasználónevet, jelszót és "
+"tartománynevet."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Felhasználónév"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Kiszolgálók keresése"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Új kiszolgálók keresése"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "A(z) %s csomagot telepíteni kell. Szeretné telepíteni?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Nem sikerült telepíteni a(z) %s csomagot."
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Hiányzik a(z) \"%s\" nevű kötelező csomag"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "A következő csomagokat szükséges telepíteni:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Csomagok telepítése..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Csomagok eltávolítása..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Hiba történt - nincs olyan meghajtó, amelyen új fájlrendszert lehetne "
+"létrehozni. Ellenőrizze a gépben található eszközöket."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Szükség van egy FAT-partícióra a /boot/efi ponthoz csatolva"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "A(z) %s partíció formázása"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s fájl létrehozása és formázása"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "A(z) %s eszköz nem formázható %s típusúra"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formázás sikertelen a(z) %s eszközön"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Körkörös csatolás - %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "A(z) %s partíció csatolása"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "a(z) %s partíció ide történő csatolása sikertelen: %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s ellenőrzése"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "hiba történt a(z) %s leválasztásakor: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "A(z) %s lapozópartíció bekapcsolása"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Titkosított fájlrendszer használata"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Csoport-lemezkvóta bekapcsolása, esetlegesen bizonyos korlátozások "
+"érvényesítésével"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Az inode-ok elérési időpontjai ne legyenek frissítve ezen a fájlrendszeren\n"
+"(például hírkiszolgálók esetén gyorsabb hozzáférést biztosíthat a hírekhez)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Csak explicit módon csatolható, vagyis a '-a' opció\n"
+"hatására nem kerül csatolásra a fájlrendszer."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"A fájlrendszerben levő karakter- illetve blokkeszközök ne legyenek "
+"értelmezve."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"A felcsatolt fájlrendszeren levő bináris programok ne legyenek "
+"végrehajthatók.\n"
+"Ez akkor lehet hasznos, ha egy kiszolgálón vannak olyan fájlrendszerek is,\n"
+"amelyek más architektúrákhoz tartozó bináris programokat tartalmaznak."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"A felhasználó- illetve csoportazonosító módosításának (SUID illetve SGID "
+"bit)\n"
+"tiltása. (Ez biztonságosnak tűnhet, de valójában nem az, ha fel van "
+"telepítve\n"
+"az suidperl(1).)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "A fájlrendszer csak-olvasható módon való csatolása."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "A fájlrendszer összes I/O művelete szinkron módon történjen."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+"A fájlrendszer csatolásának és leválasztásának engedélyezése minden "
+"felhasználó számára."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "A fájlrendszer csatolásának engedélyezése normál felhasználók számára."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Felhasználói lemezkvóta bekapcsolása, esetlegesen bizonyos korlátozások "
+"érvényesítésével"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "\"user.\" kiterjesztett attribútumok támogatása"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Írási jog adása a normál felhasználóknak"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Olvasási jog adása a normál felhasználóknak"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "A következő csatolási pont kétszer van megadva: %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nincs elérhető partíció"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Csatolási pontok keresése a partíciókon"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Válassza ki a csatolási pontokat"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Válassza ki a formázandó partíciókat"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"A(z) \"%s\" fájlrendszer ellenőrzése hibákat eredményezett. Szeretné "
+"kijavítani a hibákat? (Legyen óvatos, mivel ez adatvesztéshez is vezethet.)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"A lapozóterület mérete nem elég nagy. Növelje meg a telepítés befejezéséhez."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Feltétlenül kell lennie gyökérpartíciónak.\n"
+"Hozzon létre egy partíciót (vagy kattintson egy meglevőre).\n"
+"Utána adja meg csatolási pontnak a \"/\"-t."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Nincs egyetlen lapozási (swap) partíció sem.\n"
+"\n"
+"Ennek ellenére tovább szeretne lépni?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "A szabad terület felhasználása"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nincs elég szabad terület új partíció létrehozásához"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Már létező partíciók használata"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nincs olyan partíció, amelyet fel lehetne használni"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "A loopback-hez a windowsos partíció használata"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Melyik partícióra szeretné a Linux4Win-t telepíteni?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Adja meg a méreteket"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "A gyökérpartíció mérete MB-ban: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "A lapozási (swap) partíció mérete MB-ban: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "Nincs loopback-ként használható FAT-partíció, vagy nincs elég hely"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "A windowsos partíción levő szabad hely felhasználása"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Melyik partíciót szeretné átméretezni?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"A FAT-átméretező nem tudja kezelni a partíciót.\n"
+"A következő hiba keletkezett: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "A windowsos partíció méretének meghatározása"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"A windowsos partíció túlzottan töredezett. Indítsa újra a gépet Microsoft "
+"Windows®szal, majd futtassa a \"defrag\" programot. Ennek végeztével indítsa "
+"el újra a Mandriva Linux telepítését."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"FIGYELEM!\n"
+"\n"
+"\n"
+"A telepítő most átméretezi a windowsos partíciót.\n"
+"\n"
+"\n"
+"Ez a művelet veszélyes. Ha még nem tette meg, adjon ki egy\n"
+"\"chkdsk c:\" parancsot egy windowsos parancssorból (a \"scandisk\"\n"
+"nevű grafikus program futtatása nem elegendő). Ehhez természetesen\n"
+"ki kell lépnie a telepítőből. Esetleg futtassa le a \"defrag\"\n"
+"programot is Windows alatt. Ezek végeztével indítsa el újra a\n"
+"telepítést. Lehetőleg mentse le az adatait, mielőtt hozzákezd\n"
+"a fenti műveletekhez.\n"
+"\n"
+"\n"
+"Ha biztos abban, hogy folytatni szeretné a telepítést, nyomja meg\n"
+"a(z) \"%s\" gombot."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Következő"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Mekkora helyet szeretne fenntartani a Microsoft Windows®nak itt: %s partíció?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Méret"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Microsoft Windows®os partíció átméretezése"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "A FAT átméretezése nem sikerült: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Nincs átméretezhető FAT-partíció, vagy nincs elég hely"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "A Microsoft Windows® eltávolítása"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "A teljes lemez törlése és felhasználása"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Több merevlemeze van. Melyikre kívánja telepíteni a Linuxot?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"MINDEN létező partíció és rajtuk minden adat elvész a(z) \"%s\" meghajtón"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Egyéni lemezpartícionálás"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Az fdisk használata"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Most partícionálható a(z) %s.\n"
+"Ha kész, ne feledje elmenteni a változásokat a \"w\"-vel"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Nincs elég szabad hely a telepítéshez"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "A telepítő partícionálási varázslója a következőket javasolja:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "A partícionálás nem sikerült: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Nem lehet JFS-t használni 16 MB-nál kisebb partíción"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Nem lehet ReiserFS-t használni 32 MB-nál kisebb partíción"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr-rel"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "kiszolgáló"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+"A következő lemezeken BIOS-os szoftveres RAID van: %s. Kívánja aktiválni?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Nem sikerült beolvasni a(z) %s eszköz partíciós tábláját - túl rossz\n"
+"állapotban van. Meg lehet próbálni a hibás partíciók törlését (MINDEN ADAT\n"
+"ELVÉSZ EZEKRŐL!). Ha ezt nem fogadja el, akkor a telepítő nem fogja\n"
+"módosítani a partíciós táblát.\n"
+"(A hiba: %s)\n"
+"\n"
+"Törölni szeretné az összes partíciót?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "A csatolási pontoknak /-rel kell kezdődni"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "A csatolási pontoknak betűkből és számokból kell állni"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Már van egy partíció amelynek %s a csatolási pontja\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Szoftveres RAID partíciót választott ki gyökérpartíciónak (/).\n"
+"Egyik rendszerindító program sem tudja ezt kezelni /boot partíció nélkül,\n"
+"ezért mindenképpen hozzon létre egy /boot partíciót."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"A(z) \"%s\" csatolási ponthoz nem használható az LVM-es logikai kötet, mivel "
+"több fizikai köteten foglal helyet."
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Egy LVM-es logikai kötetet jelölt ki gyökér-fájlrendszerként (/).\n"
+"A rendszerbetöltő nem képes kezelni ezt abban az esetben, ha a logikai "
+"kötet\n"
+"több fizikai köteten helyezkedik el.\n"
+"Először hozzon létre egy /boot partíciót."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Ennek a könyvtárnak a gyökér-fájlrendszeren belül kell maradnia"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Valódi fájlrendszert (Ext2, Ext3, ReiserFS, XFS vagy JFS) kell használni "
+"ennél a csatolási pontnál\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Titkosított fájlrendszer nem használható ehhez a csatolási ponthoz: %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nincs elég szabad terület az automatikus helyfoglaláshoz"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nincs mit tenni"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Floppy"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Merevlemez"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD-/DVD-írók"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Szalag"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-vezérlők"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokártya"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kártya"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Tévékártya"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Egyéb multimédia-eszközök"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Hangkártya"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Web-kamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processzorok"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-kártyák"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-s hangeszközök"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Rádiókártyák"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM hálózati kártyák"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN hálózati kártyák"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth-eszközök"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet-kártya"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-kártyák"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memória"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Nyomtató"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Játékport-vezérlők"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Botkormány"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-vezérlők"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-vezérlők"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE-/ATA-vezérlők"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-s tárolóeszközök"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kártyaolvasók"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-vezérlők"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-vezérlők"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-vezérlők"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-vezérlők"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-portok"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-vezérlők"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Hidak és rendszervezérlők"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Billentyűzet"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tábla és érintőképernyő"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Egér"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Lapolvasó"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Ismeretlen/Egyéb"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "CPU # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Kis türelmet - a beállítások módosítása"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Nincs alternatív meghajtó"
+
+# a 2. %s egy drivert jelöl
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Nincs ismert OSS/ALSA alternatív meghajtó a hangkártyához (%s) - a kártya "
+"jelenleg ezt a meghajtót használja: \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Hangbeállítások"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Itt kiválaszthat egy alternatív meghajtót (OSS vagy ALSA) a hangkártyához (%"
+"s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"A hangkártya jelenleg a(z) %s\"%s\" meghajtót használja (a kártya "
+"alapértelmezett meghajtója: \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"Az OSS (Open Sound System) volt az első hang-függvénykönyvtár. "
+"Operációsrendszer-független (elérhető a legtöbb UNIX-rendszeren), viszont a "
+"képességei korlátozottak.\n"
+"Hátránya az OSS-nek, hogy az ahhoz készült meghajtókban feleslegesen meg "
+"kell valósítani olyan funkciókat is, amelyek máshol már léteznek.\n"
+"\n"
+"Az ALSA (Advanced Linux Sound Architecture) egy modularizált architektúra, "
+"amely nagyszámú ISA-, USB- és PCI-hangkártyát támogat.\n"
+"\n"
+"Az ALSA fejlettebb függvénykönyvtárt biztosít, mint az OSS.\n"
+"\n"
+"Az ALSA kétféleképpen használható:\n"
+" - OSS-kompatibilis üzemmódot biztosító hívásokkal;\n"
+" - ALSA-hívásokkal, amelyek fejlettebb funkciókat valósítanak meg, de ehhez "
+"szükség van az ALSA-könyvtár használatára.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Meghajtó:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Problémaelhárítás"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"A régi \"%s\" meghajtóval gondok lehetnek.\n"
+"\n"
+"Leállításkor problémákat okozhat a kernelben.\n"
+"\n"
+"Az új \"%s\" meghajtó csak a következő indítástól kezdve lesz használva."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Nincs nyílt forrású meghajtó"
+
+# a 2. %s egy drivert jelöl
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Nincs szabadon használható meghajtó a hangkártyához (%s), viszont létezik "
+"kötött licencelésű meghajtó: \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nincs ismert meghajtó"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Nincs ismert meghajtó a hangkártyához (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Ismeretlen meghajtó"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Hiba: a hangkártya meghajtója (%s) nem elérhető"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Hangprobléma elhárítása"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Hangprobléma esetén a következő parancsokat érdemes használni:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\": kiírja, melyik meghajtót használja\n"
+"alapértelmezésben a hangkártya\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\": kiírja, milyen meghajtó "
+"használata\n"
+"van jelenleg beállítva\n"
+"\n"
+"- \"/sbin/lsmod\": ezzel ellenőrizhető, hogy be van-e töltve a megfelelő\n"
+"modul (meghajtó)\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" és \"/sbin/chkconfig --list alsa\":\n"
+"kiírják, hogy a hangszolgáltatások futtatva vannak-e bizonyos futási\n"
+"szinteken\n"
+"\n"
+"- \"aumix -q\": kiírja, hogy a hangerő le van-e véve vagy sem\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\": kiírja, hogy melyik program használja a\n"
+"hangkártyát\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Szeretnék meghajtót választani"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Tetszőleges meghajtó kiválasztása"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ha tudja, hogy melyik meghajtó felel meg a hangkártyájának, akkor válassza\n"
+"ki a megfelelőt a fenti listából.\n"
+"\n"
+"A jelenlegi meghajtó a(z) \"%s\" hangkártyához: \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automatikus azonosítás"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Ismeretlen|Általános"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Ismeretlen|CPH05X (bt878) [több gyártó]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Ismeretlen|CPH06X (bt878) [több gyártó]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"A legtöbb modern tévékártya esetén a Linux-kernel bttv modulja automatikusan "
+"meghatározza a megfelelő paramétereket.\n"
+"Ha az Ön kártyáját a rendszer helytelenül határozta meg, akkor itt "
+"beállítható a megfelelő tuner- és kártyatípus. Ha szükséges, adja meg a "
+"tévékártya-paramétereket."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kártyatípus:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tuner-típus:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Igen"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nem"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Válasszon egy fájlt"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Hozzáadás"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Módosítás"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Eltávolítás"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Befejezés"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Előző"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Nem megfelelő választás, próbálja meg újra\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Melyiket választja? (az alapértelmezés: %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Kitöltendő bejegyzések:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Melyiket választja? (0/1, az alapértelmezés: \"%s\") "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "\"%s\" gomb: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Szeretne rákattintani erre a gombra?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Melyiket választja? (az alapértelmezés: \"%s\"%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " üres bejegyzéshez adjon meg \"void\"-ot"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Sok választási lehetőség van (%s).\n"
+
+# Number is used to designate approximately the range of entries
+# you wish to edit because all of them would not fit on-screen.
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Jelölje ki a szerkeszteni kívánt 10-es tartomány első számát,\n"
+"vagy csak nyomja le az Enter billentyűt a továbblépéshez.\n"
+"Melyiket választja? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Megjegyzés: egy címke módosult:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Újraküldés"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Egyesült Arab Emirátusok"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganisztán"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua és Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albánia"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Örményország"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Holland Antillák"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktisz"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentína"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikai Szamoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Ausztria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Ausztrália"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbajdzsán"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosznia és Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Banglades"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgium"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgária"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolívia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazília"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahama-szigetek"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhután"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet-sziget"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Fehéroroszország"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Cocos (Keeling) -szigetek"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongó (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Közép-Afrikai Köztársaság"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongó (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Svájc"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Elefántcsontpart"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook-szigetek"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kína"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Szerbia és Montenegró"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Christmas-sziget"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Ciprus"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Cseh Köztársaság"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Németország"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Dzsibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dánia"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikai Köztársaság"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algéria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Észtország"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egyiptom"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Nyugat-Szahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanyolország"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiópia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finnország"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidzsi-szigetek"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland-szigetek (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronézia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Feröer-szigetek"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Franciaország"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Egyesült Királyság"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Grúzia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Francia Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghána"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltár"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grönland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Egyenlítői Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Görögország"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Dél-Georgia és a Dél-Sandwich-szigetek"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Kína (Hongkong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard- és McDonald-szigetek"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Horvátország"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Magyarország"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonézia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Írország"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Brit indiai-óceáni terület"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irán"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Izland"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Olaszország"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordánia"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japán"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizisztán"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodzsa"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts és Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Észak-)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuvait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kajmán-szigetek"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazahsztán"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laosz"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libéria"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litvánia"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Lettország"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Líbia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokkó"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaszkár"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall-szigetek"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedónia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongólia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Északi Mariana-szigetek"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritánia"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Málta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldív-szigetek"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexikó"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malajzia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namíbia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Új-Kaledónia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk-sziget"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigéria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Hollandia"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvégia"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepál"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Új-Zéland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omán"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Francia Polinézia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Pápua Új-Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Fülöp-szigetek"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakisztán"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Lengyelország"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre és Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palesztina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugália"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Románia"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Oroszország"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Szaúd-Arábia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salamon-szigetek"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Szudán"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svédország"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Szingapúr"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Saint Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Szlovénia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard és Jan Mayen-szigetek"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Szlovákia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Szenegál"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Szomália"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome és Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Szíria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Szváziföld"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks és Caicos-szigetek"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Csád"
+
+# a déli féltekéről van szó
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Déli francia területek"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thaiföld"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tádzsikisztán"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Kelet-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Türkmenisztán"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunézia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Törökország"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad és Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tajvan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzánia"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukrajna"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Amerikai Egyesült Államok - kisebb külső szigetek"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Amerikai Egyesült Államok"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Üzbegisztán"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikán"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent és Grenadines"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virgin-szigetek (brit)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin-szigetek (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis és Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Szamoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Dél-Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Üdvözöljük - %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Nem sikerült áthelyezni a használatban levő fizikai kiterjedéseket más "
+"fizikai kötetekre"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "A(z) \"%s\" fizikai kötet még használatban van"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Először törölje az összes logikai kötetet\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+"A rendszerbetöltő nem képes olyan /boot fájlrendszert kezelni, amely több "
+"fizikai köteten helyezkedik el"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Bevezetés\n"
+"\n"
+"A továbbiakban az operációs rendszerre és a Mandriva Linux disztribúcióban "
+"elérhető\n"
+"különféle komponensekre \"Szoftvertermékek\" néven hivatkozunk. A "
+"Szoftvertermékek körébe - nem\n"
+"kizárólagosan - beletartoznak az operációs rendszerhez és a Mandriva Linux "
+"disztribúció\n"
+"különféle komponenseihez kapcsolódó programok, módszerek, szabályok és "
+"dokumentáció.\n"
+"\n"
+"\n"
+"1. Licencegyezmény\n"
+"\n"
+"Kérjük, olvassa el jelen dokumentumot figyelmesen. Ezen dokumentum egy, a "
+"Szoftvertermékekre\n"
+"vonatkozó licencegyezmény Ön és a Mandriva S.A. között.\n"
+"Ha a Szoftvertermékeket bármiféle módon telepíti, sokszorosítja vagy "
+"felhasználja,\n"
+"azzal Ön elfogadja jelen licenc kikötéseit és feltételeit, továbbá "
+"beleegyezik abba, hogy\n"
+"azoknak teljes mértékben megfelel.\n"
+"Ha Ön a Licenc bármely részével nem ért egyet, akkor az Ön számára nem "
+"engedélyezett a\n"
+"Szoftvertermékek telepítése, sokszorosítása illetve felhasználása.\n"
+"Bármely olyan kísérlet, amely a Szoftvertermékeknek a jelen licenc "
+"kikötéseitől és feltételeitől\n"
+"eltérően való telepítésére, sokszorosítására illetve felhasználására "
+"irányul, érvénytelenítő\n"
+"jellegű, és megvonja az Önnek ezen licenc által adott jogokat. A licencjogok "
+"megszűnését\n"
+"követően Önnek azonnali hatállyal meg kell semmisítenie a Szoftvertermékek "
+"összes, Ön által\n"
+"birtokolt példányát.\n"
+"\n"
+"\n"
+"2. Korlátozott garancia\n"
+"\n"
+"A Szoftvertermékek és az azokhoz tartozó dokumentáció \"olyan amilyen\" "
+"állapotban állnak\n"
+"rendelkezésre. Garancia nincsen azokra - a törvények által engedélyezett "
+"mértékben.\n"
+"A Mandriva S.A. - a törvények által engedélyezett mértékben - semmilyen "
+"körülmények\n"
+"között sem vonható felelősségre a Szoftvertermékek használatából vagy "
+"használhatatlanságából\n"
+"származó speciális, előre nem látott, közvetlen vagy közvetett károkért "
+"(korlátozás nélkül\n"
+"beleértve a következőket: üzleti veszteség, üzleti tevékenység megszakadása, "
+"pénzügyi\n"
+"veszteség, jogi díjak illetve bírósági ítéletből származó büntetés, vagy "
+"bármilyen\n"
+"származékos veszteség); még abban az esetben sem, ha a Mandriva S.A. "
+"tájékoztatva lett\n"
+"az ilyesféle károk bekövetkezésének lehetőségéről.\n"
+"\n"
+"KORLÁTOZOTT FELELŐSSÉG A BIZONYOS ORSZÁGOKBAN TILTOTT SZOFTVEREK "
+"BIRTOKLÁSÁVAL ILLETVE\n"
+"HASZNÁLATÁVAL KAPCSOLATBAN\n"
+"\n"
+"A Mandriva S.A. és disztribútorai - a törvények által engedélyezett "
+"mértékben - semmilyen\n"
+"körülmények között sem vonhatók felelősségre az olyan - speciális, előre nem "
+"látott, közvetlen\n"
+"vagy közvetett - károkért (korlátozás nélkül beleértve a következőket: "
+"üzleti veszteség,\n"
+"üzleti tevékenység megszakadása, pénzügyi veszteség, jogi díjak illetve "
+"bírósági\n"
+"ítéletből származó büntetés, vagy bármilyen származékos veszteség), amely "
+"károk a\n"
+"szoftverkomponensek birtoklásából vagy használatából illetve a helyi "
+"törvények által\n"
+"tiltott vagy korlátozott szoftverkomponenseknek egy Mandriva Linux-címről "
+"való\n"
+"letöltéséből származnak.\n"
+"Ezen korlátozott felelősség vonatkozik többek közt a Szoftvertermékekben "
+"levő titkosító\n"
+"komponensekre is.\n"
+"\n"
+"\n"
+"3. A GPL és az ahhoz kapcsolódó licencek\n"
+"\n"
+"A Szoftvertermékek különböző személyek és intézmények által készített "
+"komponensekből állnak.\n"
+"A legtöbb komponensre a GNU General Public Licence (GNU Általános Nyilvános "
+"Licenc; a\n"
+"továbbiakban: GPL) és hasonló licencek kikötései és feltételei vonatkoznak.\n"
+"Ezen licencek java része lehetővé teszi a megfelelő komponensek használatát, "
+"sokszorosítását,\n"
+"módosítását illetve terjesztését. Bármely komponens használata előtt olvassa "
+"el figyelmesen\n"
+"a komponensre vonatkozó licenc kikötéseit és feltételeit. Egy komponens "
+"licencére vonatkozó\n"
+"kérdést nem a Mandriva céghez, hanem az adott komponens szerzőjéhez kell "
+"irányítani.\n"
+"A Mandriva S.A. által fejlesztett programok a GPL licenc hatálya alá "
+"tartoznak.\n"
+"A Mandriva S.A. által írt dokumentációs anyagokra egy speciális licenc "
+"vonatkozik.\n"
+"További részletek a dokumentációban.\n"
+"\n"
+"\n"
+"4. Szellemi tulajdonra vonatkozó jogok\n"
+"\n"
+"A Szoftvertermékek komponenseire vonatkozó összes jog az adott komponensek "
+"szerzőit illeti meg,\n"
+"és a szoftverekre vonatkozó szellemi tulajdoni illetve szerzői jogi "
+"(copyright) törvények\n"
+"védelme alatt áll.\n"
+"A Mandriva S.A. fenntartja a jogot arra, hogy módosítsa illetve átalakítsa "
+"a\n"
+"Szoftvertermékeket - teljes egészében vagy részben, bármilyen módon illetve "
+"bármilyen célra.\n"
+"A \"Mandriva\", a \"Mandriva Linux\" és az azokhoz tartozó logók a Mandriva "
+"S.A. védjegyei.\n"
+"\n"
+"\n"
+"5. Vonatkozó törvények\n"
+"\n"
+"Ha jelen egyezmény bármely része bírósági ítélet alapján semmisnek, "
+"törvénytelennek vagy\n"
+"alkalmazhatatlannak van nyilvánítva, akkor azon rész jelen szerződésből "
+"kizárásra kerül.\n"
+"Az egyezmény többi - alkalmazható - részét Önnek továbbra is be kell "
+"tartania.\n"
+"Jelen licenc kikötései és feltételei Franciaország törvényeinek hatálya alá "
+"tartoznak.\n"
+"A jelen licenc kikötéseivel kapcsolatos viták lezárásának legelőnyösebb "
+"módja egy\n"
+"bíróságon kívül történő megegyezés. Végső lehetőségként a vitás ügy a "
+"megfelelő\n"
+"párizsi (Franciaország) bíróságra kerül.\n"
+"Ha jelen dokumentummal kapcsolatban kérdése van, vegye fel a kapcsolatot a "
+"Mandriva S.A.\n"
+"céggel.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Figyelmeztetés: A szabad szoftver nem feltétlenül szabadalommentes; "
+"bizonyos\n"
+"komponensekre esetleg vonatkozhatnak szabadalmak az Ön országában. Például\n"
+"az MP3-dekódolók használata esetén szükség lehet licencre (információ:\n"
+"http://www.mp3licensing.com). Ha nem biztos abban, hogy egy bizonyos\n"
+"szabadalom vonatkozik-e az Ön esetére, akkor vizsgálja meg az Ön országában\n"
+"érvényes törvényeket."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Figyelmeztetés\n"
+"\n"
+"Olvassa el alaposan az alábbi licencfeltételeket. Ha valamelyik részt nem\n"
+"fogadja el, akkor nem kezdheti el a telepítést a következő CD-ről. Ha a\n"
+"\"Nem fogadom el\" lehetőséget választja, akkor a telepítést ezen "
+"adathordozó\n"
+"kihagyásával kell folytatnia.\n"
+"\n"
+"\n"
+"A következő CD-n található néhány szoftverkomponens nem a GPL\n"
+"(vagy más hasonló) licenc alá tartozik. Mindegyik ilyen komponens\n"
+"saját, egyéni licencegyezménnyel rendelkezik.\n"
+"Olvassa el és fogadja el ezeket a licencfeltételeket a komponens\n"
+"használatba vétele vagy továbbadása előtt.\n"
+"Ezek a feltételek általában nem engedélyezik a komponens továbbadását,\n"
+"lemásolását (kivéve biztonsági másolatként), forgalomba hozását,\n"
+"visszafejtését, gépi kódú kilistázását, visszafordítását és módosítását.\n"
+"Bármelyik feltétel be nem tartása esetén a licenc érvényét veszti.\n"
+"Ha a licencegyezmény külön nem engedélyez többet, akkor a telepítés\n"
+"csak egy rendszerre engedélyezett, és a komponens nem használható\n"
+"közösen, a hálózaton. Ha pontosabb információra van szüksége,\n"
+"lépjen kapcsolatba a komponens forgalmazójával vagy készítőjével.\n"
+"A komponensek átadása, róluk másolat készítése harmadik fél részére\n"
+"általában nem engedélyezett (beleértve a dokumentációt is).\n"
+"\n"
+"\n"
+"A következő CD-n található komponensek minden joga azok szerzőit illeti\n"
+"meg, és a szoftvertermékekre vonatkozó szellemi és szerzői jogi\n"
+"törvények érvényesek rájuk.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gratulálunk; a telepítés befejeződött. Vegye ki a rendszerindítási\n"
+"adathordozókat, majd nyomja le az Enter billentyűt a rendszer\n"
+"újraindításához.\n"
+"\n"
+"\n"
+"Az ehhez a Mandriva Linux-verzióhoz elérhető javításokról a következő\n"
+"helyen olvashat:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"A rendszer beállításával kapcsolatban a Mandriva Linux hivatalos\n"
+"felhasználói kézikönyvében talál további információkat."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Ennek a meghajtóprogramnak nincsenek beállítási paraméterei."
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Modulbeállítás"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "A modul összes paramétere beállítható itt."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "A telepítő %s csatolót talált"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Van még másik is?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Van valamilyen %s csatoló?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "A hardverjellemzők megjelenítése"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Meghajtóprogram telepítése az USB-vezérlőhöz"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Meghajtóprogram telepítése ehhez a Firewire-vezérlőhöz: %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Meghajtóprogram telepítése ehhez a merevlemez-vezérlőhöz: %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Meghajtóprogram telepítése ehhez az Ethernet-vezérlőhöz: %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Meghajtóprogram telepítése ehhez a(z) %s-kártyához: %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Most megadhatók a(z) \"%s\" modul paraméterei.\n"
+"A címeket \"0x\" előtaggal kell megadni, például: \"0x123\"."
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Itt lehet megadni a(z) %s modul paramétereit\n"
+"a következő formátumban: \"név1=érték1 név2=érték2 ...\".\n"
+"Például: \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "A modul paraméterei:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Melyik %s-meghajtóprogramot próbáljam meg?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Bizonyos esetekben a(z) %s meghajtóprogramnak további paraméterekre van\n"
+"szüksége a helyes működéshez. Szeretne további paramétereket megadni a\n"
+"meghajtóprogramnak, vagy hagyja, hogy az lekérdezze a szükséges\n"
+"információkat? Bizonyos körülmények esetén az automatikus felderítés\n"
+"a gép lefagyásához vezethet, de komolyabb kárt nem okozhat."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatikus azonosítás"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Paraméterek megadása"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"A(z) %s modul betöltése nem sikerült.\n"
+"Megpróbálja a betöltést más paraméterekkel?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "a csatolás nem sikerült: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "A kiterjesztett (extended) partíció nem támogatott ezen a platformon"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"A partíciós táblában van egy üres tartomány, de nem használható.\n"
+"Az egyetlen megoldás az elsődleges partíciók áthelyezése úgy, hogy\n"
+"a kiterjesztett partíciók mellé kerüljön az üres hely."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Hiba a(z) %s fájl olvasása közben"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "A(z) %s fájlból való visszaállítás sikertelen: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Hibás mentésfájl"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Hiba a(z) %s fájl írása közben"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Valamilyen probléma van a meghajtóval. \n"
+"Az adatintegritási teszt végrehajtása nem sikerült. \n"
+"Ez azt jelenti, hogy a lemezre való írás tönkreteheti a meghajtó \n"
+"adattartalmát."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Nem lehet partíciót felvenni a _formázott_ RAID %s eszközön"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nincs elég partíció a RAID %d szinthez\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Nem sikerült létrehozni /usr/share/sane/firmware nevű könyvtárt."
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Nem sikerült létrehozni /usr/share/sane/%s nevű linket."
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Nem sikerült a(z) %s firmware-fájlt átmásolni ide: /usr/share/sane/firmware"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Nem sikerült beállítani a(z) %s firmware-fájl jogosultságait."
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "ScannerDrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Nem sikerült telepíteni a lapolvasó(k) megosztásához szükséges csomagokat."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "A lapolvasó(k) csak a rendszergazdák számára lesz(nek) elérhető(k)."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "A hamis IPv4 hibaüzenetek elfogadása/elutasítása"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Broadcast-olt ICMP Echo elfogadása/elutasítása"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "ICMP Echo elfogadása/elutasítása"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Automatikus bejelentkezés engedélyezése/letiltása"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"ALL érték esetén létezhet /etc/issue és /etc/issue.net nevű fájl is.\n"
+"\n"
+"NONE érték esetén egyik \"issue\" fájl sem létezhet.\n"
+"\n"
+"Egyéb esetekben pedig csak a /etc/issue fájl engedélyezett."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Újraindítás engedélyezése/letiltása konzolfelhasználók számára"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Távoli rendszergazdai bejelentkezés engedélyezése/letiltása"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Közvetlen rendszergazdai bejelentkezés engedélyezése/letiltása"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"A felhasználólista megjelenítésének engedélyezése/letiltása a\n"
+"bejelentkezéskezelőkben (KDM és GDM)"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"A képernyő exportálásának engedélyezése/letiltása a\n"
+"rendszergazdai azonosítóról egy másikra való átlépéskor.\n"
+"\n"
+"További részletek: pam_xauth(8)."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X-kapcsolatok engedélyezése/letiltása:\n"
+"\n"
+"- ALL érték esetén minden kapcsolat engedélyezett\n"
+"\n"
+"- LOCAL érték esetén csak a helyi kapcsolatok engedélyezettek\n"
+"\n"
+"- NONE érték esetén semmilyen kapcsolat nincs engedélyezve"
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Az argumentum megadja, hogy a klienseknek lehetőségük legyen-e kapcsolódni\n"
+"az X kiszolgálóhoz a hálózatról a 6000-es TCP porton vagy sem"
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Engedélyezés a következők számára:\n"
+"\n"
+"- ALL érték esetén: a tcp_wrappers által vezérelt összes szolgáltatás\n"
+"(információ a hosts.deny(5) leírásban)\n"
+"\n"
+"- LOCAL érték esetén: csak a helyiek\n"
+"\n"
+"- NONE érték esetén: egyik sem\n"
+"\n"
+"A szükséges szolgáltatások engedélyezése a /etc/hosts.allow fájl\n"
+"használatával végezhető (információ a hosts.allow(5) leírásban)."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Ha a SERVER_LEVEL (vagy annak hiánya esetén a SECURE_LEVEL) érték 3-nál\n"
+"nagyobb a /etc/security/msec/security.conf fájlban, akkor a rendszer\n"
+"létrehozza a /etc/security/msec/server szimbolikus linket a\n"
+"/etc/security/msec/server.<SERVER_LEVEL> fájlra.\n"
+"\n"
+"A /etc/security/msec/server a 'chkconfig --add' parancs számára szükséges\n"
+"annak eldöntéséhez, hogy csomagtelepítéskor fel kell-e venni egy\n"
+"szolgáltatást (az alapján, hogy szerepel-e a fájlban)."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"A 'cron' és az 'at' használatának engedélyezése/letiltása a felhasználók\n"
+"számára.\n"
+"\n"
+"Az engedélyezett felhasználókat a /etc/cron.allow illetve a\n"
+"/etc/at.allow fájlokba kell beírni (információ az at(1) illetve a crontab"
+"(1)\n"
+"leírásban)."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "A 12-es konzolra történő rendszernaplózás bekapcsolása/kikapcsolása"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"A 'DNS spoofing' (a névfeloldásnak az eredetitől eltérő rendszerrel való\n"
+"végeztetése) elleni védelem bekapcsolása/kikapcsolása. Ha az \"%s\"\n"
+"érték igazra van állítva, akkor a rendszernaplóba is ír."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Biztonsági figyelmeztetések:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+"Az 'IP spoofing' (más gép IP-címének használata forráscímként) elleni "
+"védelem\n"
+"bekapcsolása/kikapcsolása"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+"A libsafe bekapcsolása/kikapcsolása, amennyiben megtalálható a rendszeren"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+"A szokásostól eltérő IPv4-csomagok naplózásának bekapcsolása/kikapcsolása"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Az msec óránkénti biztonsági ellenőrzéseinek bekapcsolása/kikapcsolása"
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Az \"su\" parancs használata csak a \"wheel\" nevű csoport tagjainak számára "
+"legyen lehetséges. Ha ki van kapcsolva, akkor bármely felhasználó "
+"használhatja az \"su\" parancsot."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Jelszó használata a felhasználók azonosításához"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Az Ethernet-kártyák 'promiscuous' (minden csomagot megtartó) üzemmódjának\n"
+"ellenőrzésének bekapcsolása/kikapcsolása"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "A napi biztonsági ellenőrzés bekapcsolása/kikapcsolása"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Az sulogin(8) engedélyezése/letiltása egyfelhasználós szinten"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Az adott név felvétele az msec-féle jelszóelévülés-kezelés alóli kivételként"
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"A jelszó élettartamának beállítása \"max\" napra és a módosítási haladék\n"
+"beállítása az \"inactive\" értékre"
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"A jelszótörténeti lista méretének beállítása a jelszavak újrahasználásának\n"
+"megakadályozására"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"A minimális jelszóhossz és a számjegyek illetve a nagybetűk minimális\n"
+"számának beállítása"
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "A rendszergazdához tartozó umask-érték beállítása"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Ha igenre van állítva: nyitott portok ellenőrzése"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Ha igenre van állítva, akkor a következők ellenőrzése:\n"
+"\n"
+"- van-e üres jelszó\n"
+"\n"
+"- hiányzik-e jelszó a /etc/shadow fájlból\n"
+"\n"
+"- létezik-e a rendszergazdán kívül 0 azonosítójú felhasználó"
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Ha igenre van állítva: a felhasználók saját könyvtáraiban levő fájlok\n"
+"engedélyeinek ellenőrzése"
+
+# prom. üzemmód: az eszköz nem csak a neki szóló csomagokat teszi be
+# a pufferébe, hanem a más eszközöknek szólókat is
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"Ha igenre van állítva: ellenőrzés, hogy a hálózati eszközök 'promiscuous'\n"
+"(minden csomagot megtartó) üzemmódban vannak-e"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Ha igenre van állítva: a napi biztonsági ellenőrzések végrehajtása"
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"Ha igenre van állítva: SGID-s fájlok létrehozásának/törlésének ellenőrzése"
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+"Ha igenre van állítva: ellenőrzés, hogy létezik-e üres jelszó a /etc/shadow\n"
+"fájlban"
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+"Ha igenre van állítva: az SUID-s/SGID-s fájlok ellenőrzőösszegének "
+"ellenőrzése"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"Ha igenre van állítva: 'SUID root'-os fájlok létrehozásának/törlésének "
+"ellenőrzése"
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Ha igenre van állítva: figyelmeztetés a tulajdonos nélküli fájlokra"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"Ha igenre van állítva: a mindenki által írható fájlok/könyvtárak ellenőrzése"
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Ha igenre van állítva: chkrootkit ellenőrzések elvégzése"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Ha be van állítva: a jelentés ezen email-címre való küldése; máskülönben a\n"
+"rendszergazdának"
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "Ha igenre van állítva: az ellenőrzés eredményének elküldése levélben"
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Levélküldés mellőzése, ha nincs mire figyelmeztetni"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Ha igenre van állítva: ellenőrzések elvégzése az RPM-adatbázison"
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+"Ha igenre van állítva: az ellenőrzés eredményének írása a rendszernaplóba"
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Ha igenre van állítva: az ellenőrzés eredményének kiírása a konzolra"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"A parancsértelmező parancstörténeti listájának méretének beállítása.\n"
+"A -1 érték jelentése: korlátlan."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"A parancsértelmező várakozási idejének beállítása. A 0 érték jelentése:\n"
+"végtelen hosszúságú várakozási időtartam."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "A várakozási idő egysége a másodperc"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "A felhasználóhoz tartozó umask-érték beállítása"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "A hamis IPv4 hibaüzenetek elfogadása"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Broadcast-olt ICMP Echo elfogadása"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "ICMP Echo elfogadása"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* létezik"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Újraindítás konzolfelhasználók által"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Távoli rendszergazdai bejelentkezés engedélyezése"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Közvetlen rendszergazdai bejelentkezés"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+"A felhasználólista megjelenítése a bejelentkezéskezelőkben\n"
+"(KDM és GDM)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+"A képernyő exportálása a rendszergazdai azonosítóról egy másikra való "
+"átlépéskor"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window-kapcsolatok engedélyezése"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "TCP-kapcsolatok engedélyezése az X Window rendszer számára"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "A tcp_wrappers által vezérelt összes szolgáltatás engedélyezése"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "A chkconfig figyelembe veszi-e az msec szabályait"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "A \"crontab\" és az \"at\" elérhetővé tétele a felhasználók számára"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Rendszernaplózás a 12-es konzolra"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+"'DNS spoofing' (a névfeloldásnak az eredetitől eltérő rendszerrel való\n"
+"végeztetése) elleni védelem"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+"Az 'IP spoofing' (más gép IP-címének használata forráscímként) elleni "
+"védelem\n"
+"bekapcsolása"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "A libsafe bekapcsolása, amennyiben megtalálható a rendszeren"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "A szokásostól eltérő IPv4-csomagok naplózásának bekapcsolása"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Az msec óránkénti biztonsági ellenőrzéseinek bekapcsolása"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Az \"su\" parancs használata csak a \"wheel\" nevű csoport tagjainak számára "
+"legyen lehetséges."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Jelszó használata a felhasználók azonosításához"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+"Az Ethernet-kártyák 'promiscuous' (minden csomagot megtartó) üzemmódjának\n"
+"ellenőrzése"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Napi biztonsági ellenőrzés"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) egyfelhasználós szinten"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Nincs jelszóelévülés:"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+"A jelszavak lejáratához és az azonosítók deaktiválásához tartozó várakozási "
+"idők beállítása"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "A jelszótörténeti lista mérete"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"A minimális jelszóhossz és a számjegyek illetve a nagybetűk minimális száma"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Rendszergazdai umask-érték"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "A parancsértelmező történeti listájának mérete"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "A parancsértelmező várakozási ideje"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Felhasználói umask-érték"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Nyitott portok ellenőrzése"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Ellenőrzés: létezik-e nem biztonságos azonosító"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+"A felhasználók saját könyvtáraiban levő fájlok engedélyeinek\n"
+"ellenőrzése"
+
+# prom. üzemmód: az eszköz nem csak a neki szóló csomagokat teszi be
+# a pufferébe, hanem a más eszközöknek szólókat is
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+"Ellenőrzés, hogy a hálózati eszközök 'promiscuous'\n"
+"(minden csomagot megtartó) üzemmódban vannak-e"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "A napi biztonsági ellenőrzések végrehajtása"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "SGID-s fájlok létrehozásának/törlésének ellenőrzése"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Ellenőrzés, hogy létezik-e üres jelszó a /etc/shadow fájlban"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Az SUID-s/SGID-s fájlok ellenőrzőösszegének ellenőrzése"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "'SUID root'-os fájlok létrehozásának/törlésének ellenőrzése"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Figyelmeztetés a tulajdonos nélküli fájlokra"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "A mindenki által írható fájlok/könyvtárak ellenőrzése"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Chkrootkit ellenőrzések elvégzése"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Üres jelentés ne legyen küldve"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Ha be van állítva: a jelentés ezen email-címre való küldése; máskülönben a\n"
+"rendszergazdának"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Az ellenőrzés eredményének elküldése levélben"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Ellenőrzések elvégzése az RPM-adatbázison"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Az ellenőrzés eredményének írása a rendszernaplóba"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Az ellenőrzés eredményének kiírása a konzolra"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Üdvözlet a cracker-eknek"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Alacsony"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Szabványos"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Magas"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Magasabb"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoiás"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ezt a szintet csak körültekintéssel használja.\n"
+"Egyszerűbbé teszi a rendszer használatát, de így az sebezhetőbb is lesz:\n"
+"ne válassza ezt a szintet, ha a gép hálózatba van kötve, vagy az "
+"internethez\n"
+"csatlakozik. A hozzáférés nincs jelszóval védve."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"A jelszavak be vannak kapcsolva, de hálózatra kapcsolódó gép esetén\n"
+"ez a konfiguráció még mindig nem ajánlott."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ez a szabványos biztonsági szint, amely az internetre (kliensként) "
+"csatlakozó gépek esetén javasolt."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Már vannak bizonyos megszorítások, és több automatikus ellenőrzés fut "
+"éjszakánként."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Ezzel a biztonsági szinttel már használhatja a gépét kiszolgálóként.\n"
+"Ez a biztonsági szint elég magas ahhoz, hogy a rendszer sok, hálózaton\n"
+"keresztül csatlakozó klienst szolgáljon ki. Ha a gép az interneten csak\n"
+"kliensként van jelen, akkor érdemesebb egy alacsonyabb szintet választani."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Az előző szinthez hasonló, de itt a rendszer teljesen zárt.\n"
+"Ez a legbiztonságosabb szint."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Biztonság"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec - alapvető beállítások"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Válassza ki a kívánt biztonsági szintet"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Biztonsági szint"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "A libsafe használata kiszolgálókhoz"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Könyvtár, amely védelmet nyújt a puffertúlcsordulásos és a formátumsztringes "
+"támadások ellen."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Biztonsági adminisztrátor (felhasználónév vagy email-cím)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Az ALSA (Advanced Linux Sound Architecture) hangrendszer elindítása"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, a parancsidőzítő."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Az apmd monitorozza a telepek állapotát és naplóz a syslog-ba.\n"
+"Segítségével leállítható a gép, mielőtt a telep lemerül."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Az \"at\" parancs által ütemezett utasításokat hajtja végre a megadott\n"
+"időpontban, valamint kötegelt (batch-elt) parancsokat futtat, amikor\n"
+"a gép terhelése alacsony."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"A cron a szabványos parancsütemező program a UNIX operációs rendszereken.\n"
+"Segítségével programokat lehet futtatni megadott időpontokban. A vixie cron\n"
+"fejlettebb az alap cronnál: biztonságosabb és több beállítási lehetőséggel\n"
+"rendelkezik."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"A FAM egy fájlfigyelő szolgáltatás, amely értesítést küld a fájlok "
+"változásakor.\n"
+"A GNOME és a KDE is használja."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"A GPM egértámogatást biztosít a szöveg-alapú (konzolos) linuxos\n"
+"alkalmazások (mint például a Midnight Commander) számára. Lehetőséget\n"
+"nyújt egérrel való másolásra illetve beillesztésre, valamint\n"
+"felbukkanó menük használatára (konzolon)."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"A HardDrake a gép hardverének ellenőrzésére szolgál. Lehetővé teszi az új\n"
+"vagy megváltozott hardver megfelelő beállítását."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Az Apache egy WWW-kiszolgáló. HTML-fájlokat és CGI-t tesz elérhetővé\n"
+"a hálózaton keresztül."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Az \"internet szuperszerver szolgáltatás\" (inetd) felelős sok hálózati\n"
+"szolgáltatás indításáért, mint például telnet, ftp, rsh és rlogin. Az inetd\n"
+"leállításával minden általa irányított szolgáltatás leáll."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"A csomagszűrés bekapcsolása a Linux kernel 2.2-es változatához.\n"
+"Lehetővé teszi tűzfal beállítását, hogy a hálózat felőli támadások\n"
+"kivédhetők legyenek."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Ez a csomag tölti be a billentyűzetkiosztást, ami a\n"
+"/etc/sysconfig/keyboard -ban állítható be. A beállítás megváltoztatható\n"
+"a kbdconfig programmal. Ezt bekapcsolva kell hagyni a legtöbb rendszeren."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"A kernel fejlécének automatikus újragenerálása a /boot-ban a\n"
+"/usr/include/linux/{autoconf,version}.h alapján"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+"A hardvereszközök automatikus felderítése és beállítása a rendszer "
+"indulásakor."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"A Linuxconf elvégez bizonyos feladatokat a rendszer indításakor,\n"
+"hogy a beállítások konzisztensek maradjanak."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"Az lpd nyomtatószolgáltatás szükséges az lpr helyes működéséhez. Az lpd\n"
+"alapjában véve egy nyomtatókiszolgáló, amely elrendezi a nyomtatásokat\n"
+"a különböző nyomtatók között."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, nagyteljesítményű, nagy rendelkezésre állású\n"
+"kiszolgáló kialakításához használható."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"A named (BIND) egy DNS, azaz tartománynév-kiszolgáló, ennek segítségével\n"
+"feleltetik meg a gépek az IP-címeket és a gépneveket."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Fel- illetve lecsatolja (mount-olja illetve unmount-olja) a különböző\n"
+"hálózati fájlrendszereket, mint például az NFS, az SMB\n"
+"(LAN Manager/Windows) és az NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktiválja vagy deaktiválja a rendszerindításnál automatikusan induló\n"
+"hálózati csatolókat."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"Az NFS egy népszerű, TCP/IP hálózaton használatos fájlmegosztási protokoll.\n"
+"Ez a szolgáltatás egy NFS-kiszolgáló; beállítása a /etc/exports\n"
+"fájllal történik."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"Az NFS egy népszerű, TCP/IP hálózaton használatos fájlmegosztási protokoll.\n"
+"Ez a szolgáltatás az NFS-fájlzárolást biztosítja."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"A NumLock automatikus bekapcsolása rendszerindításkor a konzolon és az\n"
+"Xorg rendszerben."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Az OKI 4w és az azzal kompatibilis windowsos nyomtatók támogatása."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"A PCMCIA-támogatásra általában azoknak a laptop-felhasználóknak van\n"
+"szükségük, akik PCMCIA szabványú modemet vagy hálózati kártyát használnak.\n"
+"A szolgáltatás nem indul el, ha nincs beállítva, tehát nyugodtan fel lehet\n"
+"telepíteni olyan gépre is, ahol nincs rá szükség."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"A portmapper kezeli az RPC-kapcsolatokat - ezekre többek között az\n"
+"NFS-nek és a NIS-nek van szüksége. A portmap szervernek futnia kell\n"
+"azokon a gépeken, amelyek az RPC mechanizmust használó protokollokhoz\n"
+"kapcsolódó szolgáltatást nyújtanak."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"A Postfix egy levéltovábbító (MTA) program, amely a leveleket továbbítja\n"
+"a különböző gépek között."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Elmenti és visszaállítja a rendszer entrópia-tárolóját, így jobb\n"
+"véletlenszámokat lehet generálni."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Közvetlen elérésű (raw) eszközök blokkeszközökhöz való rendelése (például\n"
+"merevlemezes partíciókhoz), hogy az alkalmazásokból (Oracle, DVD-lejátszók,\n"
+"...) hozzáférhetők legyenek."
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"A routed szolgáltatás lehetővé teszi, hogy a RIP protokoll segítségével\n"
+"automatikusan frissüljön az IP protokoll által használt útválasztótábla\n"
+"(IP routing table).\n"
+"A RIP elterjedt a kis hálózatokon; a nagyobb, bonyolultabb hálózatok más\n"
+"útválasztó-protokollokat igényelnek."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Az rstat protokoll segítségével a felhasználók információt kaphatnak a\n"
+"(lokális) hálózaton működő gépekről."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Az rusers protokoll segítségével a felhasználók lekérdezhetik, hogy melyik\n"
+"gépre ki van bejelentkezve."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Az rwho protokoll segítségével távoli felhasználók kaphatnak egy listát\n"
+"az rwho szolgáltatást futtató gép aktuális felhasználóiról (olyan, mint a\n"
+"finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "A gép hangrendszerének elindítása"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"A syslog-on keresztül naplóznak a szolgáltatások különböző naplófájlokba.\n"
+"A syslog használata mindig ajánlott."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Az USB-eszközök meghajtóinak betöltése."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Elindítja az X betűtípus-kiszolgálóját (erre szükség van az Xorg "
+"használatához)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Nyomtatás"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fájlmegosztás"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Rendszer"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Távoli adminisztráció"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Adatbázis-kiszolgáló"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Szolgáltatások"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Válassza ki, mely szolgáltatások induljanak el rendszerindításkor"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Szolgáltatások: %d aktivált, %d regisztrált"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "fut"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "leállítva"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Szolgáltatások és démonok"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nem érhető el további információ\n"
+"erről a szolgáltatásról."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Információ"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Indítás kérésre"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Rendszerindításkor"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Indítás"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Leállítás"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Ez a program szabad szoftver; terjeszthető és/vagy módosítható\n"
+"a Free Software Foundation által publikált GNU General Public\n"
+"License 2. vagy annál újabb verziója alapján.\n"
+"\n"
+"A program annak reményében kerül terjesztésre, hogy hasznosnak\n"
+"bizonyul, de GARANCIA NÉLKÜL; még a PIACKÉPESSÉG illetve\n"
+"egy BIZONYOS CÉLRA VALÓ ALKALMASSÁG sincs garantálva. További\n"
+"részletek a GNU General Public License-ben.\n"
+"\n"
+"A programmal együtt Önnek kapnia kellett egy példányt a GNU General\n"
+"Public License-ből; ha nem így történt, írjon a következő címre:\n"
+"Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
+"Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Mentések készítésére és azok visszatöltésére szolgáló alkalmazás\n"
+"\n"
+"--default : az alapértelmezett könyvtárak elmentése\n"
+"--debug : az összes nyomkövetési üzenet megjelenítése\n"
+"--show-conf : a mentendő fájlok illetve könyvtárak listázása\n"
+"--config-info : a beállítási fájl opcióinak magyarázata (az\n"
+" X grafikus rendszert nem használók számára)\n"
+"--daemon : a szolgáltatás beállításának használata\n"
+"--help : jelen segítség megjelenítése\n"
+"--version : verzió-információ megjelenítése\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPCIÓK:\n"
+" --boot - a rendszerindító beállítása\n"
+" --splash - a rendszerindítási téma beállítása\n"
+"alapértelmezett üzemmód: az automatikus bejelentkezés beállítása"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPCIÓK] [PROGRAMNÉV]\n"
+"\n"
+"OPCIÓK:\n"
+" --help - jelen segítség megjelenítése\n"
+" --report - programnév (a Mandriva Linux-eszközök egyike)\n"
+" --incident - programnév (a Mandriva Linux-eszközök egyike)"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"hálózati csatoló felvétele\" varázsló\n"
+" --del - \"hálózati csatoló eltávolítása\" varázsló\n"
+" --skip-wizard - kapcsolatok kezelése\n"
+" --internet - az internet beállítása\n"
+" --wizard - mint a --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Betűkészletek importálása és lekérdezése\n"
+"\n"
+"OPCIÓK:\n"
+"--windows_import : importálás az összes elérhető windowsos partícióról\n"
+"--xls_fonts : a betűkészletek listázása (xlsfonts)\n"
+"--install : betűkészlet vagy betűkészlet-könyvtár telepítése\n"
+"--uninstall : betűkészlet vagy betűkészlet-könyvtár eltávolítása\n"
+"--replace : a már létező betűkészletek felülírása\n"
+"--application : 0: egyik alkalmazáshoz se legyen telepítve támogatás;\n"
+" 1: az összes elérhető alkalmazáshoz legyen támogatás;\n"
+" alkalmazásnév: az adott alkalmazáshoz legyen támogatás\n"
+" (például az 'so' alkalmazásnév a StarOffice programot\n"
+" jelöli, a 'gs' pedig a Ghostscriptet)"
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPCIÓK]...\n"
+"A Mandriva Linux terminálkiszolgáló (MTS) beállítása\n"
+"--enable : az MTS bekapcsolása\n"
+"--disable : az MTS kikapcsolása\n"
+"--start : az MTS elindítása\n"
+"--stop : az MTS leállítása\n"
+"--adduser : létező rendszerfelhasználó felvétele az MTS-be\n"
+" (felhasználónevet igényel)\n"
+"--deluser : létező rendszerfelhasználó eltávolítása az MTS-ből\n"
+" (felhasználónevet igényel)\n"
+"--addclient : kliensgép felvétele az MTS-be (MAC-címet, IP-címet\n"
+" és NBI-képmásnevet igényel)\n"
+"--delclient : kliensgép eltávolítása az MTS-ből (MAC-címet, IP-címet\n"
+" és NBI-képmásnevet igényel)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[billentyűzet]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=fájl] [--word=szó] [--explain=reguláris_kifejezés] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPCIÓK]\n"
+"Hálózati- és internetkapcsolat létrehozása és figyelése\n"
+"\n"
+"--defaultintf csatoló: alapértelmezésben ezen csatoló megjelenítése\n"
+"--connect: kapcsolódás az internetre, ha nincs kapcsolódva\n"
+"--disconnect: lekapcsolódás az internetről, ha kapcsolódva van\n"
+"--force: (dis)connect funkció esetén a (le)kapcsolódás kikényszerítése\n"
+"--status: ha kapcsolódva van, 1-es kóddal lép ki, ha nem, akkor 0-ssal\n"
+"--quiet: interaktivitás kikapcsolása - (dis)connect esetére"
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPCIÓ]...\n"
+" --no-confirmation az első megerősítési kérdés kihagyása\n"
+" Mandriva Update módban\n"
+" --no-verify-rpm a csomagaláírások ellenőrzésének kihagyása\n"
+" --changelog-first a módosítási napló megjelenítése a fájllista\n"
+" előtt a leírásablakban\n"
+" --merge-all-rpmnew az összes megtalált .rpmnew illetve .rpmsave\n"
+" fájl összefűzésének felajánlása"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=eszköz] [--update-sane=sane_forráskönyvtár] [--update-"
+"usbtable] [--dynamic=eszköz]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake felbontás"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Használat: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Az összes kiszolgáló"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globális"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Ázsia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Európa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Észak-Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Óceánia"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Dél-Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hongkong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Oroszország"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoszlávia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Elfogadja?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Nincs kiválasztva fájl"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Fájlt adott meg, nem könyvtárt"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Könyvtárt adott meg, nem fájlt"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Nincs ilyen könyvtár"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Nincs ilyen fájl"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "A fa kibontása"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "A fa összecsukása"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Váltás sima és csoportok szerint rendezett nézet között"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"A(z) %s nincs telepítve.\n"
+"Telepítés a \"Következő\" gombbal; kilépés a \"Mégsem\" gombbal."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "A telepítés hibával ért véget."
diff --git a/perl-install/share/po/id.po b/perl-install/share/po/id.po
new file mode 100644
index 000000000..47a331019
--- /dev/null
+++ b/perl-install/share/po/id.po
@@ -0,0 +1,6790 @@
+# Instalator Grafis Mandriva Linux
+# Copyright (C) 1999 Mandriva
+# Budi Rachmanto <rac@mandrivalinux.org>, 2001-2003
+# Linux Indonesia <http://www.linux.or.id>, 1999-2001
+# Mohammad DAMT <mdamt@cdl2000.com>, 1999-2001
+# Andy <chandy@indo.net.id>, 1999
+# Kelana <nk@telkom.net>, 1999
+# Willy Sudiarto Raharjo <willysr@gmail.com>, 2004 - 2005.
+# Erwien Samantha <erwiensamantha@gmail.com>, 2005.
+# Bayu Artanto <bayuart@yahoo.com>, 2005.
+# Ahmad Ramadhana <ahmad_ramadhana@yahoo.com.sg>, 2005.
+# Firdaus <dausnux@gmail.com>, 2005.
+# Sofian <sofianhanafi@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX 0.1\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-18 08:17+0700\n"
+"Last-Translator: Willy Sudiarto Raharjo <willysr@gmail.com>\n"
+"Language-Team: Indonesia <mdk-id@yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.6\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Harap tunggu"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Proses installasi Bootloader"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO akan memberi Volume ID baru pada drive %s. Namun, mengubah\n"
+"Volume ID disk boot Windows NT, 2000, atau XP adalah kesalahan Windows yang "
+"fatal.\n"
+"Peringatan ini tidak berlaku terhadap disk data Windows 95 atau 98, atau "
+"NT.\n"
+"\n"
+"Beri Volume ID baru?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Installasi bootloader gagal. Terjadi kesalahan berikut:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Anda harus mengganti bootdevice Open Firmware untuk mengaktifkan "
+"bootloader.\n"
+" Jika Anda tak melihat prompt bootloader saat reboot, tekan\n"
+" Command-Option-O-F saat reboot dan ketik:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" kemudian ketikkan: shut-down\n"
+"Pada boot berikutnya, Anda akan melihat prompt bootloader."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Anda memutuskan untuk menginstall bootloader pada partisi.\n"
+"Berarti Anda sudah punya bootloader di harddisk yang Anda boot (mis: System "
+"Commander).\n"
+"\n"
+"Pada drive mana Anda melakukan booting?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Sektor pertama pada drive (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Sektor pertama pada partisi root"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Pada Disket"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Lewati"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Installasi LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Dimana Anda akan menginstall Bootloader?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Konfigurasi Gaya Boot"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opsi utama Bootloader"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Bootloader yang hendak digunakan"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Divais boot"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Opsi utama"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Jeda sebelum boot ke image default"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Aktifkan ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Aktifkan APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Aktifkan APIC Lokal"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Katasandi"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Katasandi tidak cocok"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Silahkan coba lagi"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Anda tidak dapat menggunakan sebuah katasandi dengan %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Katasandi (lagi)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Batasi parameter command line"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "batasi"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Pilihan ``Batasi parameter command line'' tidak ada gunanya tanpa katasandi"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Hapus /tmp tiap kali boot"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ukuran RAM yang tepat jika diperlukan (ditemukan %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Berikan ukuran RAM dalam MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Pesan Init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Jeda Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Timeout Booting Kernel"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Aktifkan boot dari CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Aktifkan boot dari OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "OS Standar?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Image"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Tambahkan"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Tambahkan Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mode video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profil Jaringan"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Label"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standar"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Label kosong tidak diperbolehkan"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Anda harus menentukan image kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Anda harus menentukan partisi root"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Label ini sudah dipakai"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Tipe entri mana yang hendak ditambahkan?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "OS Lain (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "OS Lain (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "OS Lain (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Ini adalah daftar pada menu boot Anda yang ada saat ini.\n"
+"Anda boleh menambah atau mengubah yang sudah ada."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "akses ke program X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "akses ke perkakas rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "izinkan \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "akses ke file administratif"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "akses ke perkakas jaringan"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "akses ke perkakas kompilasi"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s sudah ditambahkan)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Silakan berikan nama pengguna"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Nama pengguna hanya boleh terdiri dari huruf, angka, `-' dan `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Nama pengguna terlalu panjang"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Pengguna ini sudah ada sebelumnya"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID Pengguna"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID Grup"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s harus sebuah angka"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s seharusnya diatas 500. Terima apa adanya?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Tambah pengguna"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Masukkan pengguna\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Selesai"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Menerima pengguna"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nama asli"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nama login"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Login otomatis"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Komputer dapat diset agar secara otomatis login dengan satu pengguna."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Gunakan fitur ini"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Pilih pengguna standar:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Pilih window manajer yang akan dijalankan:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Persetujuan Lisensi"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Keluar"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Catatan Rilis"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Terima"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Tolak"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Pilihlah bahasa yang akan dipakai."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Pilihan bahasa"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux mendukung beberapa bahasa. Pilihlah\n"
+"bahasa yang akan diinstall. Bahasa pilihan akan ditampilkan\n"
+"setelah proses installasi selesai dan Anda merestart sistem Anda."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Banyak bahasa"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Enkoding kompatibilitas lama (non UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Semua bahasa"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Negara / Wilayah"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Pilih negara Anda."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Berikut adalah daftar lengkap negara yang tersedia"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Negara lain"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Tingkat mahir"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Metode Input:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Tak ada"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Tanpa sharing"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Izinkan semua pengguna"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Kebiasaan"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Apakah Anda mengijinkan pengguna melakukan sharing pada direktori mereka?\n"
+"Mengijinkan hal ini akan membuat pengguna dapat meng-klik \"Share\" pada "
+"konqueror and nautilus.\n"
+"\n"
+"\"Custom\" memungkinkan tuning masing-masing pengguna.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: Sistem file sharing tradisional Unix, dengan dukungan Windows dan Mac"
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Sistem file sharing yang digunakan Windows, Mac OS X dan sistem Linux "
+"modern"
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Anda dapat mengekspor menggunakan NFS atau SMB. Pilih yang hendak Anda "
+"gunakan."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Jalankan userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Tutup"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Sharing setiap user menggunakan grup \"fileshare\". \n"
+"Anda menggunakan userdrake untuk menambah user pada grup ini."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Silakan log out dan tekan Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Anda harus log out dan kembali agar perubahan berlaku"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Zona waktu"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Mana zone waktu Anda?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Setting Tanggal, Jam & Zona Waktu"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Kapan jam terbaik?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (jam perangkat keras diset ke UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (jam perangkat keras diset ke waktu lokal)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Server NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sinkronisasi waktu otomatis (menggunakan NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "File lokal"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Kartu Pintar"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Domain Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory dengan SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory dengan Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "File lokal:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Gunakan lokal untuk semua otentikasi dan informasi pengguna dalam file lokal"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Memberitahu komputer untuk menggunakan LDAP untuk beberapa atau semua "
+"otentikasi.LDAP mengkonsolisadi beberapa jenis informasi dalam organisasi "
+"Anda."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Mengijinkan Anda untuk menjalankan sekelompok komputer dalam domain NIS yang "
+"sama dengan password umum dan file grup."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Domain Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind mengijinkan sistem untuk menerima informasi dan mengotentikasi "
+"pengguna dalam domain Windows"
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory dengan SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Dengan Kerberos dan Ldap untuk otentikasi pada Active Directory Server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory dengan Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind mengijinkan sistem untuk mengotentikasi pengguna dalam Active "
+"Directory Server Windows"
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Otentikasi LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Server LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "sederhana"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "layout keamanan (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Otentikasi Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domain"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Basis Data pengguna LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Gunakan BIND anonymous"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Pengguna LDAP diijinkan untuk menjelajah Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Katasandi untuk pengguna"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Otentikasi NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Domain NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Server NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Agar dapat bekerja dengan PDC W2K, Anda mungkin perlu minta tolong admin "
+"menjalankan: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone / add dan me-reboot server.\n"
+"Anda mungkin juga perlu nama pengguna/katasandi Admin Domain untuk "
+"menggabungkan komputer ke domain Windows(TM).\n"
+"Jika jaringan belum aktif, Drakx akan mencoba bergabung dengan domain "
+"setelah tahapan setup jaringan.\n"
+"Jika setup dan otentikasi domain gagal, jalankan 'smbpasswd -j DOMAIN -U USER"
+"%%PASSWORD' menggunakan Domain Windows(tm) Anda, dan Nama pengguna/Katasandi "
+"Admin, setelah boot system.\n"
+"Perintah 'wbinfo -t' akan menguji apakah rahasia otentikasi Anda baik."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Otentikasi Domain Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory Realm "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nama Pengguna Admin Domain"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Katasandi Admin Domain"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Otentikasi"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Tentukan katasandi root"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Metode otentikasi"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Tanpa katasandi"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Katasandi ini terlalu pendek (paling tidak harus %d karakter)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Tidak dapat menggunakan broadcast tanpa domain NIS"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Selamat datang di pemilih sistem operasi!\n"
+"\n"
+"Pilih sistem operasi pada daftar di atas atau \n"
+"tunggu untuk boot default.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO dengan menu teks"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB dengan menu grafis"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB dengan menu teks"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "tidak cukup ruang pada /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Anda tidak dapat menginstal bootloader pada partisi %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Konfigurasi bootloader Anda harus diupdate karena nomor partisi telah berubah"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Bootloader tidak bisa diinstall dengan benar. Anda harus melakukan boot "
+"penyelamatan dan memilih \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Instal ulang Boot Loader"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d menit"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 menit"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d detik"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "perintah %s tidak ada"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV adalah protokol yang memungkinkan Anda me-mount direktori server web\n"
+"secara lokal, dan menganggapnya seperti sistem file lokal (web server \n"
+"dikonfigurasikan sebagai server WebDAV). Jika Anda ingin menambah titik "
+"mount\n"
+"WebDav, pilih \"Baru\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Baru"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Unmount"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Mount"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Titik mount"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opsi"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Kesalahan"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Masukkan URL server WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL harus dimulai dengan http:// atau https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Titik mount: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opsi: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Pembuatan partisi"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Baca dengan seksama!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Buatlah backup data Anda terlebih dahulu"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Keluar"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Lanjutkan"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Jika Anda ingin menggunakan aboot, sisakan ruang kosong (cukup 2048 sektor) "
+"di awal disk"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Bantuan"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Pilih aksi"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Anda punya satu partisi besar Windows Microsoft.\n"
+"Disarankan untuk mengubah ukuran partisi ini\n"
+"(klik di situ, lalu pilih \"Ubah ukuran\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Silakan klik pada partisi"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detil"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Harddisk tak ditemukan"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Tidak dikenal"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "FS terjournal"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Lainnya"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Kosong"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipe filesystem:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Peringatan"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Partisi ini sudah kosong"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Gunakan ``unmount'' terlebih dahulu"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Gunakan ``%s'' saja"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipe"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Pilih partisi lain"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Pilih partisi"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Kembali"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Ubah ke modus normal"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Ubah ke modus ahli"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Konfirmasi"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Lanjutkan?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Keluar tanpa menyimpan"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Keluar dari program tanpa menulis tabel partisi?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Apakah Anda ingin menyimpan modifikasi /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Anda harus reboot agar perubahan tabel partisi dapat berlaku"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Anda harus memformat partisi %s.\n"
+"Jika tidak, tidak ada daftar titik mount %s yang ditulis pada fstab.\n"
+"Berhenti?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Hapus semua"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Alokasi otomatis"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Selebihnya"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Info hard drive"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Semua partisi primary telah digunakan"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Tidak bisa menambah partisi lagi"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Untuk menambahkan partisi, hapus salah satu satu agar dapat membuat partisi "
+"extended"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Tanpa supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount kecuali untuk drive CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Simpan tabel partisi"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Kembalikan tabel partisi"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Selamatkan tabel partisi"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Muat ulang tabel partisi"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Mount otomatis media removable"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Pilih file"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Backup tabel partisi tidak memiliki ukuran yang sama\n"
+"Lanjutkan?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Mencoba menyelamatkan tabel partisi"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informasi detail"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Ubah ukuran"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Format"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Tambahkan ke RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Tambahkan ke LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Hapus"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Hapus dari RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Hapus dari LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Ganti RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Gunakan untuk loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Buat"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Membuat partisi baru"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sektor awal: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Ukuran dalam MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tipe filesystem: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferensi: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nama volume logical "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Anda tidak dapat membuat partisi baru\n"
+"(karena jumlah maksimal partisi primer telah tercapai).\n"
+"Hapuslah satu partisi primer dan buatlah partisi extended."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Hapus file loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Setelah mengganti tipe partisi %s, semua data pada partisi ini akan hilang"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Mengubah tipe partisi"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Filesystem apa yang Anda inginkan?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Pindah dari ext2 ke ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Label volume yang mana?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Label:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Dimana Anda akan melakukan mount file loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Dimana Anda akan melakukan mount divais %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Tidak bisa unset mount point karena partisi ini sudah digunakan untuk\n"
+"loopback. Hapus dulu loopbacknya."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Dimana Anda akan melakukan mount %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Mengubah ukuran"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Menghitung batas filesystem FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ukuran partisi ini tidak dapat diubah"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Semua data pada partisi ini sebaiknya dibackup dulu"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Setelah merubah ukuran partisi %s, semua data pada partisi ini akan hilang"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Pilih ukuran baru"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ukuran baru dalam MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Ukuran minimal: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Ukuran maksimal: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Untuk memastikan integritas data setelah ukuran partisi berubah,\n"
+"pengujian sistem file akan dilakukan pada boot berikut dalam Windows®"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Pilih RAID yang ada untuk ditambahkan ke"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "baru"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Pilih LVM yang ada untuk ditambahkan ke"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "nama LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Volume fisik %s sedang digunakan.\n"
+"Apakah Anda hendak memindahkan perluasan fisik yang digunakan pada volume "
+"ini pada volume lain?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Memindahkan perluasan fisik"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Partisi ini tidak bisa dipakai sebagai loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nama file loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Berikan nama file"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "File sudah digunakan oleh loopback lain, pilih yang lainnya"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "File sudah ada. Gunakan file ini ?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opsi mount"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Macam-macam"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "divais"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "level"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "ukuran chunk dalam KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Hati-hati: operasi ini berbahaya"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Tipe partisi apa yang hendak digunakan?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Anda harus reboot agar perubahan tabel partisi dapat berlaku"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Tabel partisi pada drive %s akan ditulis ke disk!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Setelah memformat partisi %s semua data pada partisi ini akan hilang"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Periksa blok rusak?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Memindahkan file ke partisi baru"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Sembunyikan file"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Direktori %s sudah berisi data\n"
+"(%s)\n"
+"\n"
+"Anda memilih untuk memindahkan file pada partisi yang akan dimount atau "
+"membiarkan tetap disana (yang berarti akan menyembunyikan mereka dari isi "
+"partisi yang dimount)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Memindahkan file ke partisi baru"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Menyalin %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Menghapus %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partisi %s sekarang dikenali sebagai %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Telah terjadi penomoran ulang pada partisi:"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Divais: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Label Volume: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Huruf drive DOS : %s (hanya tebakan)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipe: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nama: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Mulai: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Ukuran: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektor"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Silinder %d sampai %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Jumlah perluasan logical: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Telah terformat\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Belum terformat\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Telah termount\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"File loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partisi di-boot secara default\n"
+" (untuk MS-DOS boot, bukan untuk lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Level %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Ukuran chunk %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Disk RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nama file loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Mungkin partisi ini adalah \n"
+"partisi Driver, sebaiknya\n"
+"biarkan begitu saja.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Partisi bootstrap khusus ini \n"
+"digunakan oleh sistem dual boot.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Ruang kosong pada %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Baca-saja"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Ukuran: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Ukuran: %s silinder, %s head, %s sektor\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Disk LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipe tabel partisi: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "pada kanal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Kunci enkripsi sistem file"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Pilih kunci enkripsi sistem file Anda"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Kunci enkripsi ini terlalu mudah (harus paling tidak %d karakter)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Kunci enkripsi tidak sesuai"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Kunci enkripsi"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Kunci enkripsi (lagi)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritma enkripsi"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Ubah tipe"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Batal"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Tidak bisa login dengan nama pengguna %s (katasandi salah?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Otentikasi Domain Dibutuhkan"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Nama pengguna yang mana"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Yang lain"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Masukkan nama pengguna, katasandi dan nama domain untuk mengakses host ini."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nama pengguna"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Cari Server"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Cari server baru"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Paket %s perlu diupgrade. Anda ingin instal?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Tidak bisa menginstall paket %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Paket wajib %s hilang"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Paket berikut perlu diinstal:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Menginstall paket..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Menghapus paket..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Sebuah kesalahan terjadi - tidak ada divais yang ditemukan untuk membuat "
+"sistem berkas baru. Harap periksa perangkat keras Anda untuk penyebab "
+"masalah ini"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Anda harus memiliki partisi FAT yang dimount pada /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Memformat partisi %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Membuat dan memformat file %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "tidak bisa melakukan format %s pada tipe %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s proses pemformatan dari %s gagal"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Mount melingkar %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Mounting partisi %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "proses mounting partisi %s pada direktori %s gagal"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Menguji %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "kesalahan melakukan unmount %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Aktifkan partisi swap %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Gunakan sistem file terenkripsi"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+"Mengaktifkan akuntasi quota grup dan memaksa batas disk secara opsional"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Jangan update waktu akses inode di sistem file ini\n"
+"(mis: untuk akses lebih cepat di spool berita untuk mempercepat server "
+"berita)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Hanya dapat di-mount secara eksplisit\n"
+"(opsi -a takkan me-mount sistem file)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Jangan interpretasi divais karakter atau blok spesial pada sistem file."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Jangan izinkan eksekusi biner di sistem file ter-mount. Opsi ini berguna\n"
+"bagi server yang memiliki sistem file berisi biner untuk arsitektur berbeda."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Tidak memberlakukan bit set-user-identifier atau set-group-identifier.\n"
+"(Tampaknya aman, tapi sebenarnya lebih berbahaya kecuali jika Anda telah "
+"menginstal\n"
+"suidperl(1).)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Mount sistem file read-only."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Semua I/O ke sistem file harus dilakukan secara sinkron."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Ijinkan semua pengguna untuk me-mount dan unmount sistem file."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Ijinkan pengguna biasa untuk me-mount sistem file."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Mengaktifkan akuntasi quota pengguna dan memaksa batas disk secara opsional"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Mendukung attribut tambahan \"pengguna.\""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Berikan akses tulis pada pengguna biasa"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Berikan akses baca pada pengguna biasa"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Titik mount %s terduplikasi"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Tidak ada partisi yang tersedia"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Menindai partisi untuk mencari titik mount"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Pilih titik mount"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Pilih partisi yang hendak diformat"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Gagal untuk menguji sistem berkas %s. Apakah Anda hendak memperbaiki "
+"kesalahan? (hati-hati, Anda bisa kehilangan data)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Tidak tersedia ruang swap untuk menjalankan installasi, harap ditambahkan"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Anda harus memiliki partisi root.\n"
+"Untuk ini, buat sebuah partisi (atau klik pada yang sudah ada).\n"
+"Lalu pilih aksi ``Titik mount'' dan tentukan ke `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Anda tidak memiliki partisi swap.\n"
+"\n"
+"Lanjutkan?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Gunakan ruang kosong"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Tidak tersedia ruang kosong yang cukup untuk alokasi partisi baru"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Gunakan partisi yang ada"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Tidak ada partisi yang sudah ada untuk digunakan"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Gunakan partisi Microsoft Windows® untuk loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Partisi mana yang hendak Anda gunakan untuk Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Pilih ukuran"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Ukuran partisi root dalam MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Ukuran partisi swap dalam MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Tidak terdapat partisi FAT yang akan digunakan sebagai loopback (atau tidak "
+"tersedia ruang kosong)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Gunakan ruang kosong pada partisi Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Partisi apa yang hendak Anda atur ulang?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Pengatur ulang FAT tidak mampu menangani partisi Anda, \n"
+"kesalahan berikut terjadi: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Menghitung ukuran partisi Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Partisi Microsoft Windows® Anda terlalu terfragmentasi. Harap reboot "
+"komputer Anda pada Microsoft Windows®, jalankan utilitas ``defrag'', lalu "
+"jalankan kembali installasi Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"PERINGATAN!\n"
+"\n"
+"\n"
+"Partisi Microsoft Windows® partition Anda akan diatur ulang.\n"
+"\n"
+"\n"
+"Hati-hati: operasi ini berbahaya. Jika Anda belum pernah melakukannya, Anda "
+"harus keluar dari installasi, jalankan \"chkdsk c:\" dari Command Prompt "
+"pada Microsoft Windows® (hati-hati, menjalankan program grafis \"scandisk\" "
+"tidaklah cukup, pastikan menggunakan \"chkdsk\" pada Command Prompt!), "
+"opsional jalankan defrag, lalu jalankan ulang installasi. Anda juga harus "
+"menyediakan cadangan data Anda.\n"
+"\n"
+"\n"
+"Jika yakin, tekan %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Selanjutnya"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Ukuran mana yang hendak Anda pertahankan untuk Microsoft Windows® pada "
+"partisi %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Ukuran"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Mengatur ulang partisi Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Pengaturan ulang FAT gagal: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Tidak terdapat partisi FAT untuk diatur ulang (atau tidak ada ruang kosong)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Hapus Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Hapus dan gunakan semua disk"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Anda memiliki lebih dari satu hard drive, mana yang akan digunakan untuk "
+"menginstall linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "SEMUA partisi yang ada dan datanya akan hilang pada drive %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Partisi disk kustomisasi"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Gunakan fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Anda sekarang bisa mempartisi %s.\n"
+"Jika sudah selesai, jangan lupa menyimpan menggunakan `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Saya tidak bisa menemukan sembarang ruang untuk installasi"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Panduan Partisi DrakX menemukan solusi-solusi berikut:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Proses partisi gagal: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "JFS tidak dapat dipakai untuk partisi berukuran di bawah 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "ReiserFS tidak dapat dipakai untuk partisi berukuran di bawah 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "dengan /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Software RAID BIOS terdeteksi pada disk %s. Aktifkan?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Tidak bisa membaca tabel partisi dari divais %s, rusak terlalu parah :(\n"
+"Saya dapat mencoba untuk menghapus partisi yang rusak (SEMUA DATA AKAN "
+"HILANG!).\n"
+"Solusi lainnya adalah melarang DrakX memodifikasi tabel partisi.\n"
+"(pesan kesalahannya adalah %s)\n"
+"\n"
+"Anda setuju untuk kehilangan semua partisi?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Mount point harus diawali dengan /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Titik mount hanya mengandung huruf atau angka"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Partisi dengan titik mount %s sudah ada\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Anda telah memilih partisi RAID software sebagai root (/).\n"
+"Tanpa partisi /boot, bootloader tidak dapat berbuat apa-apa.\n"
+"Hati-hati dalam menambahkan partisi /boot"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Anda tidak bisa menggunakan sebuah Volume Logical LVM untuk titik mount %s "
+"karena ia melebihi volume fisik"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Anda telah memilih Volume Logical LVM sebagai root (/).\n"
+"Bootloader belum mampu menanganinya ketika volume melebihi volume fisik.\n"
+"Anda harus membuat partisi /boot terlebih dahulu"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Direktori ini harus ada pada sistem file root"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Anda perlu file sistem yang sesungguhnya (ext2, reiserfs, xfs, atau jfs) "
+"untuk titik mount ini\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Anda tidak dapat menggunakan sistem file terenkripsi untuk mount point %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Tidak cukup ruangan untuk alokasi otomatis"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Tidak ada yang dikerjakan"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disket"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Pembakar CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Tape"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Pengontrol AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Kartu Video"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "Kartu DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Kartu TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Divais MultiMedia Lain"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Kartu Suara"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prosesor"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Adapter ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Divais suara USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Kartu Radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Kartu jaringan ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Kartu jaringan WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Divais Bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Kartu Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Adapter ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memori"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printer"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Port pengontrol game"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Pengontrol SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Pengontrol RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Pengontrol (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Divais Penyimpanan Massal USB"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Pembaca kartu"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Pengontrol Firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Pengontrol PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Pengontrol SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Pengontrol USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "port USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Pengontrol SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Pengontrol sistem dan bridge"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Keyboard"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet dan layar sentuh"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mouse"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Tak dikenal/Lain-lain"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Harap tunggu... Menerapkan konfigurasi"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Tidak ada driver alternatif"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Tidak ada driver OSS/ALSA alternatif yang diketahui untuk kartu suara Anda (%"
+"s) yang kini menggunakan \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Konfigurasi suara"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Di sini Anda dapat dipilih driver alternatif (OSS atau ALSA) untuk kartu "
+"suara Anda (%s)"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Kartu Anda kini memakai driver %s\"%s\" (driver standar kartu Anda adalah \"%"
+"s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) adalah API suara pertama, tidak tergantung OS "
+"(tersedia di hampir semua sistem unix) tapi amat primitif dan terbatas.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) adalah arsitektur modular yang\n"
+"mendukung banyak kartu ISA, USB dan PCI.\n"
+"\n"
+"Ia juga menyediakan API lebih baik daripada OSS.\n"
+"\n"
+"Utk menggunakan alsa, pakailah:\n"
+"- api OSS kompatibel lama, atau\n"
+"- api ALSA baru yg menyediakan banyak fitur canggih tapi memerlukan library "
+"ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Driver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Trouble shooting"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Driver \"%s\" lama di-blacklist.\n"
+"\n"
+"Ia merusak kernel saat proses unload.\n"
+"\n"
+"Driver baru \"%s\" akan digunakan pada boot berikut."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Tidak ada driver open source"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Tidak ada driver gratis untuk kartu suara Anda (%s), tapi ada driver "
+"proprietary yang cocok pada \"%s\""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Tidak ada driver yg diketahui"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Tidak ada driver yang diketahui untuk kartu suara Anda (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Driver tak dikenal"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Kesalahan: driver \"%s\" untuk kartu suara Anda tidak terdaftar"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Solusi masalah suara"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Penguji kesalahan suara klasik akan menjalankan perintah berikut:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" akan memberitahu Anda driver mana yang\n"
+"dipakai oleh kartu Anda secara default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" memberitahu driver apa yang "
+"dipakai\n"
+"sekarang\n"
+"\n"
+"- \"/sbin/lsmod\" menguji apakah modul (driver) dimuat atau tidak\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" dan \"/sbin/chkconfig --list alsa\" akan\n"
+"memberitahu Anda apakah layanan suara dan alsa terkonfigurasi untuk "
+"dijalankan\n"
+"pada initlevel 3\n"
+"\n"
+"- \"aumix -q\" memberitahu apakah volume suara dipadamkan atau tidak\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" akan memberitahu program mana yang memakai\n"
+"kartu suara.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Ambil sembarang driver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Pilih sembarang driver"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Jika Anda tahu pasti driver yg cocok untuk kartu Anda ambillah salah satu\n"
+"dari daftar di atas.\n"
+"\n"
+"Driver kartu suara \"%s\" Anda kini adalah \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Deteksi otomatis"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Tak dikenal|Generik"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Tak dikenal|CPH05X (bt878) [banyak pembuat]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Tak dikenal|CPH06X (bt878) [banyak vendors]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Pada kartu TV modern umumnya, modul bttv kernel GNU/Linux otomatis "
+"mendeteksi parameter yang benar.\n"
+"Jika kartu Anda tidak terdeteksi dengan benar, pilihlah tuner dan tipe kartu "
+"di sini. Pilih parameter kartu tv Anda jika perlu"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Model kartu :"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipe tuner :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ya"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Tidak"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Pilih file"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Tambah"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifikasi"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Hapus"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Selesai"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Sebelumnya"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Pilihan salah, silakan ulangi\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Pilihan Anda? (default %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Entri yang harus Anda isi:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Pilihan Anda? (0/1, default %s) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Tombol `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Apakah Anda ingin meng-klik pada tombol ini?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Pilihan Anda? (default `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " masukkan`void' untuk entri kosong"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Banyak yang dapat dipilih dari (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Pilihlah nomor pertama dari jangkauan 10 yang ingin Anda edit,\n"
+"atau tekan Enter untuk melanjutkan.\n"
+"Pilihan Anda? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Catatan, label berubah:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Kirim ulang"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Uni Emirat Arab"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua dan Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Belanda Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Amerika"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgia"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahama"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Pulau Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kepulauan Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Republik Afrika Tengah"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Switzerland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Pantai Gading"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kepulauan Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Cina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Tanjung Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Pulau Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipros"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Republik Ceko"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Jerman"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Jibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Denmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Republik Dominika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Aljazair"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Mesir"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Barat"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanyol"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Ethiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Kepulauan Malvinas"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Kepulauan Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Perancis"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Inggris"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Grujia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guiana Perancis"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Greenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea Equator"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Yunani"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Georgia Selatan dan Pulau Sandwich Selatan"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (Cina)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Kepulauan Heard dan McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroasia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungaria"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlandia"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Inggris Teritori Samudera India"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandia"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "itali"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Jepang"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgiztan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kamboja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Santa Kitts dan Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Utara)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Pulau Cayman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lithuania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Kepulauan Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Kepulauan Mariana Utara"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maladewa"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksiko"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Caledonia Baru"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Kepulauan Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Belanda"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norwegia"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinesia Perancis"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipina"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polandia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Santa Pierre dan Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugis"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arab Saudi"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Pulau Sulaiman"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Swedia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapura"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Kepulauan Svalbard dan Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome dan Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Kepulauan Turks dan Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Perancis, Teritori Selatan"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Timur"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turki"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad dan Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Amerika Serikat, kepulauan Luar Minor"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Amerika Serikat"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Santa Vincent dan Grenadin"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Kepulauan Virgin (Inggris)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Islands (Amerika)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis dan Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yaman"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Afrika Selatan"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Selamat Datang di %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Pemindahan perluasan fisik yang dipakai pada volume fisik lain gagal"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Volume fisik %s sedang digunakan"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Hapus volume logical dahulu\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Bootloader tidak bisa menangani /boot pada beberapa volume fisik"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Peringatan: Free Software mungkin tidak lepas dari paten, dan beberapa\n"
+"Free Software yang disertakan mungkin tercakup paten negara Anda.\n"
+" Misalnya dekoder MP3 yang disertakan mungkin membutuhkan lisensi untuk\n"
+"penggunaan lebih lanjut (lihat http://www.mp3licensing.com untuk detail).\n"
+"Jika Anda tidak yakin apakan paten berlaku pada Anda, periksa hukum lokal\n"
+"Anda."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Peringatan\n"
+"\n"
+"Harap membaca semua ketentuan di bawah. Bila Anda tidak setuju dengan\n"
+"salah satu bagiannya, Anda tidak diijinkan menginstal media CD\n"
+"berikutnya. Silakan tekan 'Tolak' untuk melanjutkan installasi tanpa\n"
+"menggunakan media ini.\n"
+"\n"
+"\n"
+"Beberapa komponen yang ada di media CD berikutnya tidak diatur dalam\n"
+"lisensi GPL atau perjanjian sejenis. Komponen-komponen tersebut \n"
+"diatur dalam ketentuan dan kondisi dalam lisensi yang bersangkutan.\n"
+"Baca dengan hati-hati dan penuhi setiap lisensi sebelum Anda\n"
+"menggunakan atau mendistribusikan ulang komponen tersebut.\n"
+"Model lisensi tersebut akan melarang proses transfer, duplikasi\n"
+"(kecuali untuk alasan backup), distribusi ulang, rekayasa ulang,\n"
+"de-assembly, de-kompilasi, atau modifikasi komponen tersebut.\n"
+"Setiap pelanggaran pada perjanjian akan segera mengakhiri hak-hak\n"
+"Anda dalam lisensi tersebut, Anda tidak dapat menginstall program\n"
+"ini pada lebih dari satu sistem atau menggunakannya pada jaringan.\n"
+"Bila Anda masih ragu, silakan hubungi langsung distributor atau\n"
+"editor komponen ini. Anda dilarang mentransfer komponen ini ke pihak\n"
+"ketiga atau menyalinnya, termasuk dokumentasi.\n"
+"\n"
+"\n"
+"Semua hak pada komponen di media CD berikutnya dimiliki oleh pembuat\n"
+"masing-masing dan dilindungi oleh hukum hak cipta dan hak intelektual\n"
+"yang berlaku untuk program komputer.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Selamat, installasi selesai.\n"
+"Ambil media boot dan tekan Enter untuk reboot.\n"
+"\n"
+"\n"
+"Untuk informasi perbaikan yang tersedia untuk rilis Mandriva Linux\n"
+"ini, silakan lihat Errata yang tersedia pada:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informasi tentang konfigurasi sistem tersedia pada bab Pasca\n"
+"Installasi di Panduan Pengguna Resmi Linux Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Driver ini tidak memiliki parameter konfigurasi!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Konfigurasi modul"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Anda bisa mengkonfigurasi setiap parameter modul disini."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Ditemukan %s antarmuka"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Apakah Anda punya lagi?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Apakah Anda memiliki antarmuka %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Lihat info hardware"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Menginstal driver untuk pengontrol USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Menginstal driver untuk pengontrol firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Menginstal driver untuk pengontrol hard disk %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Menginstal driver untuk pengontrol ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Menginstal driver untuk kartu %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Anda bisa memberikan opsi untuk modul %s.\n"
+"Perhatikan bahwa alamat harus diawali dengan awalan 0x misalnya '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Anda bisa memberikan opsi untuk modul %s.\n"
+"Opsi umumnya memiliki format ``nama=nilai nama2=nilai2...''.\n"
+"Misalnya, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opsi Modul:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Driver %s mana yang harus saya coba?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Pada beberapa kasus, driver %s perlu informasi tambahan agar dapat\n"
+"bekerja normal meskipun tetap bisa tanpa informasi tambahan. Apakah\n"
+"Anda ingin memberikan parameter tambahan atau mengijinkan driver\n"
+"mendeteksi komputer untuk informasi yang diperlukannya? Biasanya\n"
+"pendeteksian bisa membuat komputer hang, tetapi tidak merusak."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Probe otomatis"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Tentukan opsi"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Pemuatan modul %s gagal.\n"
+"Apakah Anda mau mencoba dengan parameter yang lain?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "proses mount gagal: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Partisi extended tidak didukung pada platform ini"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Anda memiliki celah pada tabel partisi tetapi tidak bisa digunakan.\n"
+"Solusi satu-satunya adalah memindahkan partisi primary Anda ke partisi\n"
+"extended selanjutnya"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Kesalahan membaca file %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Proses pengembalian dari file %s gagal: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "File backup rusak"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Kesalahan penulisan ke file %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Sesuatu yang rusak terjadi pada hard disk Anda.\n"
+"Pengujian integritas data gagal.\n"
+"Artinya penulisan data apapun pada disk akan berakhir dengan data acak yang "
+"rusak."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Tidak dapat menambah partisi pada RAID %s yang _terformat_"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Tidak cukup partisi untuk RAID level %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Tidak bisa membuat direktori /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Tidak bisa membuat link /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Tidak bisa menyalin file firmware %s ke /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Tidak bisa menentukan hak akses file firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Tidak bisa menginstall paket yang diperlukan untuk berbagi scanner."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Scanner Anda tidak akan tersedia untuk pengguna selain root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Terima/Tolak pesan kesalahan IPv4."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Terima/Tolak echo icmp tersiar."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Terima/Tolak echo icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Izinkan/Larang autologin."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Jika diset ke \"SEMUA\", /etc/issue dan /etc/issue.net diijinkan untuk ada.\n"
+"\n"
+"Jika diset ke TIDAK ADA, tidak ada issue yang diijinkan.\n"
+"\n"
+"Selain itu hanya /etc/issue yang diijinkan."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Izinkan/Larang reboot oleh pengguna konsol."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Izinkan/Larang login root remote."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Izinkan/Larang login root langsung."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Izinkan/Larang daftar pengguna sistem pada manajer display (kdm dan gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Ijinkan/larang mengeksport tampilan\n"
+"ketika berganti dari account root pada pengguna lain.\n"
+"\n"
+"Lihat pam_xauth(8) untuk detail lebih lanjut.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Izinkan/Larang koneksi X:\n"
+"\n"
+"- SEMUA (semua koneksi diijinkan), \n"
+"\n"
+"- LOKAL (hanya koneksi dari komputer lokal), \n"
+"\n"
+"- TIDAK ADA (tidak ada koneksi)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argumen menentukan apakah klien diizinkan berhubungan \n"
+"dengan server X pada port tcp 6000 atau tidak."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Otorisasi:\n"
+"\n"
+"- semua servis dikontrol oleh tcp_wrappers (lihat manual hosts.deny(5)) jika "
+"diset ke \"SEMUA\",\n"
+"\n"
+"- hanya lokal jika diset ke \"LOKAL\"\n"
+"\n"
+"- tak satu-pun jika diset ke \"TIADA\".\n"
+"\n"
+"Untuk meng-otorisasi layanan yang Anda perlukan, gunakan /etc/hosts.allow "
+"(lihat hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Jika SERVER_LEVEL (atau SECURE_LEVEL jika tidak ada) lebih \n"
+"besar daripada 3 pada /etc/security/msec/security.conf, buat symlink /etc/"
+"security/msec/server untuk menunjuk pada /etc/security/msec/server."
+"<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server dipakai oleh chkconfig --add untuk \n"
+"menambahkan layanan jika terdapat pada file selama installasi paket."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Aktifkan/Matikan crontab dan at untuk pengguna.\n"
+"\n"
+"Taruh pengguna yang diijinkan pada /etc/cron.allow dan /etc/at.allow \n"
+"(lihat man at(1) dan crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Aktifkan/Matikan laporan syslog ke konsol 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Aktifkan/Matikan proteksi pemalsuan resolusi nama.\n"
+"Jika \"%s\" bernilai true, juga laporkan ke syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Pemberitahuan Keamanan:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Aktifkan/Matikan proteksi pemalsuan IP."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Aktifkan/Matikan libsafe jika libsafe ditemukan pada sistem."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Aktifkan/Matikan pencatatan paket aneh IPv4."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Aktifkan/Matikan pengujian keamanan tiap jam oleh msec."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Mengijinkan su hanya bagi anggota grup wheel. Jika ditentukan ke tidak, "
+"ijinkan su dari sembarang pengguna."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Gunakan katasandi untuk meng-otentikasi pengguna."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktifkan/Matikan pengujian mode promiscuous kartu ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktifkan/Matikan pengujian keamanan harian."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Izinkan/Tolak sulogin(8) pada level pengguna tunggal."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Tambahkan nama sebagai pengecualian penanganan umur katasandi oleh msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Tentukan umur katasandi menjadi \"maks\" hari dan delay menjadi \"tidak aktif"
+"\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Tentukan panjang sejarah katasandi untuk mencegah penggunaan ulang katasandi."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Tentukan panjang minimum, jumlah minimum digit dan huruf besar katasandi."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Tentukan umask root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Jika ya, periksa port yang terbuka."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"jika ya, periksa:\n"
+"\n"
+"- katasandi kosong,\n"
+"\n"
+"- katasandi kosong pada /etc/shadow\n"
+"\n"
+"- pengguna dengan id 0 selain root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "jika ya, periksa hak akses file-file pada home pengguna."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"jika ya, periksa apakah divais jaringan berada dalam modus promiscuous."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "jika ya, jalankan pengujian keamanan harian."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Jika ya, periksa penambahan/penghapusan file sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "jika ya, periksa katasandi kosong pada /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "jika ya, lakukan pengujian checksum file suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "jika ya, periksa penambahan/penghapusan file root suid."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "jika ya, laporkan file yang tidak dimiliki siapapun."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "jika ya, periksa file/direktori yang dapat ditulisi semua orang."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Jika ya, jalankan pengujian chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"Jika diset, kirim laporan ke alamat email ini, jika tidak, kirim ke root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "jika ya, laporkan hasil pengujian melalui mail."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Jangan kirim email jika tidak ada peringatan"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "jika ya, jalankan pengujian terhadap basis data rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "jika ya, laporkan hasil pengujian ke syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "jika diset ya, laporkan hasil pengujian ke tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Menentukan sejarah perintah shell. -1 berarti tidak terbatas."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Menentukan timeout shell. Nol berarti tidak ada timeout."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Unit timeout adalah detik"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Tentukan umask pengguna."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Terima pesan error IPv4 yang tidak benar"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Terima echo icmp tersiar"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Terima mode icmp"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "ada /etc/issue*"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Reboot oleh pengguna konsol"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Izinkan/Larang login root remote."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Login root langsung"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Daftar pengguna pada manajer display (kdm dan gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Eksport tampilan ketika berpindah dari root pada pengguna lain"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Ijinkan koneksi X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Ijinkan koneksi TCP ke X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Ijinkan semua layanan yang dikontrol oleh tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig mematuhi aturan msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Aktifkan \"crontab\" dan \"at\" untuk pengguna"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog dilaporkan ke konsol 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Proteksi penipuan nama"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Aktifkan proteksi pemalsuan IP."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Aktifkan/Matikan libsafe jika libsafe ditemukan pada sistem"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Aktifkan pencatatan paket aneh IPv4"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Aktifkan pengujian keamanan setiap jam oleh msec"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Izinkan su hanya bagi anggota grup wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Pakai katasandi untuk meng-otentikasi pengguna"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Pengujian mode promiscuous kartu ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Pengujian keamanan harian"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) pada level pengguna tunggal"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Tidak ada umur katasandi untuk"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Tentukan kadaluarsa katasandi dan jeda penonaktifan account"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Panjang sejarah katasandi"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Panjang minimum katasandi serta jumlah digit dan huruf besar"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Umask root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Ukuran sejarah shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Timeout shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Umask pengguna"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Periksa port yang terbuka"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Periksa account yang tidak aman"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Periksa hak akses file pada home pengguna."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Periksa apakah divais jaringan berada dalam modus promiscuous"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Jalankan pengujian keamanan harian"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Periksa penambahan/penghapusan file sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Periksa katasandi kosong pada /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Verifikasi checksum file suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Pengujian penambahan/penghapusan file root suid."
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Laporkan file yang tidak memiliki pemilik"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Periksa file/direktori yang dapat ditulisi semua orang"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Jalankan pengujian chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Jangan mengirimkan laporan email kosong"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Jika diset, kirim laporan ke alamat email ini, jika tidak, kirim ke root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Laporkan hasil pengujian via mail"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Jalankan beberapa pengujian terhadap basis data rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Laporkan hasil pengujian ke syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Laporkan hasil pengujian ke tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Selamat Datang di Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Lemah"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standar"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Kuat"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Lebih Kuat"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Level ini harus digunakan hati-hati. Ia akan membuat sistem Anda akan mudah\n"
+"digunakan, tapi sangat sensitif. Tidak boleh digunakan untuk komputer yang\n"
+"terhubung ke komputer lain atau ke Internet. Tidak ada akses katasandi."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Katasandi diaktifkan, tapi penggunaan sebagai komputer jaringan tidak "
+"direkomendasikan."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ini adalah keamanan standar, dianjurkan untuk komputer yang akan\n"
+"terkoneksi ke Internet sebagai klien."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Terdapat beberapa batasan, dan beberapa pengujian otomatis berjalan setiap "
+"malam."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Dengan level keamanan ini, penggunaan sistem sebagai server dimungkinkan.\n"
+"Keamanan kini cukup tinggi untuk menggunakan sistem sebagai server yang "
+"dapat \n"
+"menerima koneksi dari banyak klien. Catatan: Jika komputer Anda satu-satunya "
+"klien pada Internet, Anda harus memilih level yang lebih rendah."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Hal ini sama dengan level sebelumnya, tapi sistem sepenuhnya ditutup.\n"
+"Fitur keamanan maksimal."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Keamanan"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opsi Dasar DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Pilih tingkat keamanan yang diinginkan"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Tingkat keamanan"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Gunakan libsafe untuk server"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Sebuah pustaka yang menjaga terhadap serangan buffer overflow dan format "
+"string."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Administrator Keamanan (login / email)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Jalankan sistem suara ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron adalah penjadwal periodik untuk perintah."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd digunakan untuk mengawasi status baterai dan mencatatnya pada syslog.\n"
+"Ia juga bisa untuk mematikan komputer ketika baterai hampir habis."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Menjalankan perintah terjadwal dengan perintah at pada waktu yang \n"
+"ditentukan ketika at dijalankan dan menjalankan perintah secara batch ketika "
+"beban rendah."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Cron adalah program UNIX standar yang menjalankan program pengguna\n"
+"pada waktu terjadwal. vixie cron menambah sejumlah fitur pada cron\n"
+"UNIX biasa, termasuk keamanan dan opsi konfigurasi yang lebih canggih."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM adalah daemon pengawasan file. Digunakan untuk mendapatkan laporan "
+"ketika file berubah.\n"
+"Digunakan oleh GNOME dan KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM menambahkan dukungan mouse pada aplikasi Linux berbasis teks\n"
+"seperti Midnight Commander. Dia juga mengujinkan operasi cut-and-paste "
+"dengan mouse \n"
+"pada konsol dan menyertakan dukungan untuk menu pop-up pada konsol."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake menjalankan pendeteksian perangkat keras hardware\n"
+"dan mengkonfigurasi perangkat keras yang baru/berubah."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache adalah server World Wide Web. Dia digunakan untuk menyediakan file\n"
+"HTML dan CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Daemon superserver internet (biasa dipanggil inetd) bertugas untuk\n"
+"menjalankan layanan internet yang dibutuhkan. Dia bertanggung jawab\n"
+"atas banyak server, misalnya telnet, ftp, rsh, dan rlogin. Menonaktifkan\n"
+"inetd berarti menonaktifkan semua layanan tadi."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Jalankan filter paket untuk Linux kernel seri 2.2, untuk set-up\n"
+"firewall yang melindungi komputer Anda dari serangan jaringan."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Paket ini memuat peta keyboard yang dipilih pada file\n"
+"/etc/sysconfig/keyboard. Hal ini dapat dipilih dari utility kbdconfig.\n"
+"Anda harus mengaktifkan ini pada sebagian besar komputer."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Regenerasi otomatis header kernel pada /boot untuk\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Pendeteksian dan konfigurasi otomatis perangkat keras saat boot."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf seringkali mencoba melakukan berbagai macam tugas\n"
+"saat boot untuk mengelola konfigurasi sistem."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd adalah daemon printer yang diperlukan lpr. Ia merupakan \n"
+"server yang memberi perintah kepada printer untuk mencetak."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, digunakan untuk membangun server dengan \n"
+"performa dan kapasitas tinggi."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) adalah Domain Name Server (DNS) yang digunakan untuk "
+"menerjemahkan nama host ke IP address."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Mount dan unmount semua Network File System (NFS), SMB (Lan\n"
+"Manager/windows), dan NCP (Netware)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktifkan/Nonaktifkan semua interface jaringan yang terkonfigurasi\n"
+"aktif pada saat boot."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS adalah protokol untuk berbagi file lewat jaringan TCP/IP.\n"
+"Layanan ini menyediakan fungsi server NFS, yang dikonfigurasikan\n"
+"via file /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS adalah protokol populer untuk file sharing pada jaringan TCP/IP\n"
+"Layanan ini menyediakan fungsi penguncian file NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "Secara otomatis nyalakan numlock saat boot pada console dan Xorg."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Dukung OKI 4w and winprinter yang kompatibel."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Dukungan PCMCIA biasanya untuk mendukung perangkat semacam ethernet\n"
+"dan modem pada laptop. Ia tidak dijalankan kecuali terkonfigurasi sehingga\n"
+"aman untuk diinstall pada komputer yang memerlukannya."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper mengelola koneksi RPC, yang digunakan oleh protokol seperti\n"
+"NFS dan NIS. Server portmap harus berjalan pada komputer yang \n"
+"bertindak sebagai server untuk protokol yang menggunakan mekanisme RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix adalah Mail Transport Agent, program pengantar surat dari satu ke "
+"lain komputer."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Menyimpan dan mengembalikan pool entropi sistem untuk membuat\n"
+"angka acak dengan kualitas sangat acak."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Menunjuk divais raw ke divais block (misalnya partisi hard drive),\n"
+"untuk digunakan oleh aplikasi semacam Oracle atau pemutar DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Daemon routed digunakan untuk update tabel routing IP otomatis via\n"
+"protokol RIP. RIP dipakai pada jaringan kecil, dan semakin besar "
+"jaringannya\n"
+"maka protokol routing yang canggih pun semakin dibutuhkan."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Protokol rstat mengujinkan pengguna untuk menerima \n"
+"metrik performa untuk sembarang komputer pada jaringan."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokol ruser digunakan pada jaringan untuk mengidentifikasi siapa\n"
+"yang login pada komputer lain."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokol rwho mengijinkan pengguna remote mendapatkan daftar pengguna\n"
+"yang login pada komputer yang menjalankan daemon rwho (serupa dengan finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Jalankan sistem suara pada komputer Anda"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog adalah fasilitas yang digunakan para daemon untuk mencatat\n"
+"pesan log sistem pada file. Sebaiknya syslog selalu hidup."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Muat driver untuk divais USB Anda"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Jalankan Server Font X (agar Xorg dapat berjalan)"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Pencetakan"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Berbagi file"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistem"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Administrasi remote"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Server Basis Data"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Layanan"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Pilih layanan yang akan dijalankan secara otomatis saat boot"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Layanan: %d diaktifkan untuk %d tercatat"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "berjalan"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "berhenti"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Layanan dan daemon"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Tidak ada informasi tambahan\n"
+"tentang layanan ini, maaf."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informasi"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Jalankan bila diminta"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Saat boot"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Mulai"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Program ini adalah free software; Anda dapat mendistribusikan ulang \n"
+"dan/atau mengubahnya sesuai Lisensi Publik Umum GNU dari Free \n"
+"Software Foundation; baik versi 2, atau yang lebih baru.\n"
+"\n"
+"Program ini didistribusikan agar dapat digunakan, tapi TANPA \n"
+"GARANSI APAPUN; bahkan tanpa garansi sebagai implikasi DAGANG \n"
+"atau KELAYAKAN UNTUK KEGUNAAN TERTENTU. Informasi lebih lanjut \n"
+"terdapat pada Lisensi Publik Umum GNU.\n"
+"\n"
+"Anda seharusnya sudah menerima salinan Lisensi Publik Umum GNU dari \n"
+"program ini; jika tidak, tulis ke Free Software Foundation, Inc., \n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Aplikasi Backup dan Restore\n"
+"\n"
+"--default : simpan direktori default.\n"
+"--debug : tampilkan semua pesan debug.\n"
+"--show-conf : daftar file atau direktori yang di-backup.\n"
+"--config-info : jelaskan opsi file konfigurasi (untuk pengguna non-"
+"X).\n"
+"--daemon : gunakan konfigurasi daemon.\n"
+"--help : tampilkan pesan ini.\n"
+"--version : tampilkan nomor versi.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPSI:\n"
+" --boot - mampu mengkonfigurasi boot loader\n"
+" --splash - mampu mengkonfigurasi tema boot\n"
+"mode default: menawarkan untuk mengkonfigurasi fitur autologin"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPSI] [NAMA_PROGRAM]\n"
+"\n"
+"OPSI:\n"
+" --help - cetak pesan ini.\n"
+" --report - program harus berupa perkakas Mandriva Linux\n"
+" --incident - program harus berupa perkakas Mandriva Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - wizard \"tambah antarmuka jaringan\"\n"
+" --del - wizard \"hapus antarmuka jaringan\"\n"
+" --skip-wizard - mengelola koneksi\n"
+" --internet - mengkonfigurasi internet\n"
+" --wizard - seperti --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Import Font dan aplikasi pemantauan\n"
+"\n"
+"OPSI:\n"
+"--windows_import : impor dari seluruh partisi windows yang ada.\n"
+"--xls_fonts : tampilkan semua font yang ada dari xls\n"
+"--install : terima sembarang file dan direktori font.\n"
+"--uninstall : hapus sembarang font atau direktori font.\n"
+"--replace : ganti semua font jika telah ada\n"
+"--application : 0 tanpa aplikasi.\n"
+" : 1 semua aplikasi yg ada didukung.\n"
+" : nama_aplikasi misalnya so untuk staroffice \n"
+" : dan gs untuk ghostscript."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPSI]...\n"
+"Konfigurator Server Terminal Mandriva\n"
+"--enable : aktifkan MTS\n"
+"--disable : matikan MTS\n"
+"--start : jalankan MTS\n"
+"--stop : stop MTS\n"
+"--adduser : tambahkan pengguna yang telah ada pada MTS (membutuhkan "
+"nama pengguna)\n"
+"--deluser : hapus pengguna yang telah ada dari MTS (membutuhkan nama "
+"pengguna)\n"
+"--addclient : tambahkan komputer klien pada MTS (membutuhkan alamat "
+"MAC, IP, nama image nbi)\n"
+"--delclient : hapus komputer klien dari MTS (membutuhkan alamat MAC, "
+"IP, nama image nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[keyboard]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPSI]\n"
+"Koneksi jaringan & Internet dan aplikasi pemantauan\n"
+"\n"
+"--defaultintf antarmuka : tampilkan antarmuka ini\n"
+"--connect : hubungkan ke internet jika belum terhubung\n"
+"--disconnect : putuskan sambungan internet jika telah tersambung\n"
+"--force : digunakan dengan (dis)connect : paksa putus/sambung.\n"
+"--status : kembalikan 1 jika tersambung 0 jika tidak, lalu keluar.\n"
+"--quiet : tidak interaktif. Digunakan dengan (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPSI]...\n"
+" --no-confirmation tidak ada konfirmasi awal pada mode Mandriva "
+"Update\n"
+" --no-verify-rpm tidak ada verifikasi tandatangan paket\n"
+" --changelog-first tampilkan changelog sebelum filelist di window "
+"penjelasan\n"
+" --merge-all-rpmnew menggabungkan semua file .rpmnew/.rpmsave yang "
+"ditemukan"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] awasi\n"
+" resolusi XFdrake"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Penggunaan: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Semua server"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Eropa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Amerika Utara"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oseania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Amerika Selatan"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hongkong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federasi Rusia"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Apakah sudah benar?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Tidak ada file yang dipilih"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Anda telah memilih file, bukan direktori"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Anda telah memilih sebuah direktori, bukan file"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Tidak ada direktori itu"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Tidak ada file itu"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Perluas Tree"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Tutup Tree"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Pindah tampilan antara terurut rata dan grup"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s tidak terinstall\n"
+"Klik \"Berikutnya\" untuk menginstall atau \"Batal\" untuk keluar"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installasi gagal"
+
+#~ msgid "Icon"
+#~ msgstr "Ikon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Jumlah capture buffer :"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "Jumlah capture buffer untuk penangkapan mmap"
+
+#~ msgid "PLL setting:"
+#~ msgstr "setting PLL :"
+
+#~ msgid "Radio support:"
+#~ msgstr "Dukungan radio :"
+
+#~ msgid "enable radio support"
+#~ msgstr "aktifkan dukungan radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/is.po b/perl-install/share/po/is.po
new file mode 100644
index 000000000..3bb6beccf
--- /dev/null
+++ b/perl-install/share/po/is.po
@@ -0,0 +1,6737 @@
+# Icelandic translation of libDrakX.po
+# translation of libDrakX.po to
+# Translation file for Mandriva Linux graphic install, DrakX
+# Copyright (C) 1999,2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1999 Mandriva
+#
+#
+# Jóhann Þorvarðarson <johann.torvardarson@lais.is>, 1999-2000.
+# Þórarinn (Tony) R. Einarsson <thori@mindspring.com>, 1999-2000.
+# Pjetur G. Hjaltason <pjetur@pjetur.net>, 2003, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: libDrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-10 22:41+0000\n"
+"Last-Translator: Pjetur G. Hjaltason <pjetur@pjetur.net>\n"
+"Language-Team: Icelandic <kde-isl@molar.is>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Augnablik"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Er að setja upp ræsistjóra"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO vill setja nýtt diskauðkenni á disk %s. ATHUGIÐ að ef þú breytir\n"
+"diskauðkenni á Windows NT, 2000, eða XP \"ræsidisk\" þá veldur það\n"
+"alvarlegri Windows villu.\n"
+"Þetta á ekki við Windows 95 eða 98, eða NT gagnadiska.\n"
+"\n"
+"Breyta diskauðkenni?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Innsetning ræsiforrits brást sökum eftirfarandi villu:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Það getur verið að þú þurfir að breyta Open Firmware ræsi-tæki til\n"
+" að virkja ræsiforritið. Ef þú sérð ekki hvata-spurningu frá\n"
+" ræsi-forritinu, haltu niðri Command-Option-O-F þegar þú ræsir\n"
+" og sláðu inn: setenv boot-device %s,\\\\:tbxi\n"
+" sláðu síðan inn: shut-down\n"
+"Við næstu ræsingu þá ættir þú að sjá hvata-spurningu fra ræsi-forritinu."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Þú ákvaðst að setja ræsiforritið á disksneið.\n"
+"Þetta gefur til kynna að þú hafir nú þegar ræsiforrit á disknum sem þú ræsir "
+"af (t.d. System Commander).\n"
+"\n"
+"Af hvaða disk ræsir þú?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Í ræsifærsluna (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Á fyrsta geira rótardisksneiðar"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Á diskling"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Sleppa"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub uppsetning"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Hvert viltu setja ræsistjórann?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Uppsetning ræsistíls"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Aðalvalmöguleikar ræsiforrits"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Ræsistjóri"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Ræsiforrit sem á að nota"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Ræsitæki"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Aðalvalkostir"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Töf áður en sjálfgefin ræsing byrjar"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Virkja ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Virkja APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Virkja staðbundið APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Lykilorð"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Mismunandi lykilorð"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Reyndu aftur"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Þú getur ekki notað lykilorð með %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Lykilorð (aftur)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Takmarka alla rofa á skipanalínu"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "takmarka"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Valkosturinn ``Takmarka alla rofa á skipanalínu'' gerir ekkert án lykilorðs"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Hreinsa /tmp við hverja ræsingu"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Nákvæm stærð vinnsluminnis (fann %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Sláðu inn vinnsluminni í MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init skilaboð"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Biðtími Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kjarna ræsibið"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Virkja CD ræsingu?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Virkja OF ræsingu?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Sjálfgefið stýrikerfi?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Ræsikjarni"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Rót"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Bæta við"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen append"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Skjáhamur"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Net snið"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Auðkenni"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Sjálfgefið"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "NoVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Auðkenni má eki vera autt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Þú verður að skilgreina ræsikjarna"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Þú verður að tilgreina rótardisksneiðina"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Þetta auðkenni er nú þegar í notkun"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Hvers konar færslu viltu bæta við?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Öðru stýrikerfi (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Öðru stýrikerfi (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Öðru stýrikerfi (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hérna eru núverandi færslur á ræsivalmynd.\n"
+"Þú getur bætt við fleirum eða breytt þessum."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "aðgengi að X forritum"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "aðgengi að rpm tólum"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "leyfa \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "aðgengi að stýrikerfisskrám"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "aðgengi að nettólum"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "aðgengi að þróunartólum"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s er nú þegar til)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Vinsamlega sláðu inn notandanafn"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Notandanafnið má bara innihalda litla stafi, tölustafi, `-' og `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Þetta notandanafn er of langt"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Þetta notandanafn er nú þegar til"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "UID notanda"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Hópnúmer"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "Valkostur %s verður að vera tala"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s ætti að vera yfir 500. Samþykkja samt?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Bæta við notanda"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Skrá notanda\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Lokið"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Samþykkja notanda"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Fullt nafn"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Notandanafn"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Skel"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Skrá notanda sjálfkrafa inn"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Ég get stillt tölvuna þína til að stimpla sjálfkrafa inn ákveðinn notanda."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Nota þennan eiginleika"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Veldu sjálfgefinn notanda:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Veldu gluggastjóra sem þú vilt nota:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Notkunarskilmálar"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Hætta"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Athugasemdir við útgáfu"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Samþykkja"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Neita"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Vinsamlega veldu tungumál sem á að nota."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Tungumálaval"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux getur stutt mörg tungumál. Veldu tungumál\n"
+"sem þú vilt setja upp stuðning fyrir. Þau verða tiltæk þegar\n"
+"uppsetningu er lokið. og þú endurræsir kerfið."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Mörg tungumál"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Samhæfni við eldri (ekki UTF-8) kóðun"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Öll tungumál"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land / Svæði"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Veldu þér land."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Hér er listi af tiltækum löndum"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Önnur lönd"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Ítarlegra"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Innsláttaraðferð:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Enginn"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Engin miðlun"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Leyfa öllum notendum"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Sérsniðið"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Viltu leyfa notendum að miðla sínum möppum?\n"
+"Ef þú leyfir þetta þá geta notendur einfaldlega smellt á \"Sameign\" í "
+"Konqueror og Nautilus.\n"
+"\n"
+"\"Sérsniðið\" leyfir að stilla fyrir hvern notanda.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: algengt Unix net-skráamiðlunarkerfi, með minni stuðning á Mac og "
+"Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: skráarkerfi notað af Windows, Mac OS X og mörgum nýlegum Linux kerfum."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Þú getur miðlað með NFS eða SMB. Veldu hvort þú vilt nota."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Ræsa userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Loka"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Netmiðlun einstakra notanda notar hópinn \"fileshare\". \n"
+"Þú getur notað userdrake til að bæta notendum í þennan hóp."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Stimplaðu þig út og sláðu á Ctrl-Alt-Backspace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Þú þarft að skrá þig út og inn aftur til að breytingar taki gildi"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tímabelti"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Hvert er þitt tímabelti?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Dagsetning, Tími og tímabelti"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Hvað er er besti tíminn?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (tölvuklukka stillt á UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (tölvuklukka stillt á staðartíma)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP þjónn"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sjálfvirk tímastilling (með NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Staðbundin skrá"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Snjallkort"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows Lén"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Upplýsingaveita með SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Upplýsingaveita með Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Staðbundin skrá:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Nota staðbundna skrá fyrir allar auðkenningar og upplýsingar um notanda"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Nota LDAP fyrir allar (eða hluta) auðkenningar. LDAP safnar og varðveitir "
+"ýmsar tegundir upplýsinga innan þíns nethverfis."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Leyfir þér að keyra hóp af tölvum í sama netupplýsingakerfi, með sameiginleg "
+"lykilorð og hópaskrár."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows Lén:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind leyfir kerfinu að sækja upplýsingar og auðkenna notendur í Windows "
+"léni."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Upplýsingaveita með SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Með Kerberos og Ldap fyrir auðkenningu í upplýsingaveitu miðlara"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Upplýsingaveita með Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind leyfir kerfinu að auðkenna notendur í Windows virkri upplýsingaveitu "
+"(Active Directory Server)."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Auðkenning LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Grunn-DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP miðlari"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "einfalt"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "öryggisupsetning (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Auðkenning á upplýsingaveitu"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Lén"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Miðlari"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP notenda gagnagrunnur"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Nota nafnlausa tengingu "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP notanda leyft að flakka í upplýsingaveitu"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Lykilorð fyrir notanda"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Auðkenning NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS lén"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS Miðlari"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Til að þetta gangi á W2K PDC, þá verður þú sennilega að láta kerfisstjóra "
+"keyra: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add og endurræsa miðlarann.\n"
+"Þú þarft einnig notendanafn/lykilorð kerfisstjóra (Domain Admin) til þess að "
+"getatengt vélina við Windows(tm) lénið.\n"
+"Ef netið er ekki sett upp, þá mun Drakx reyna að tengjast netinu eftir að "
+"netið hefur verið sett upp.\n"
+"Ef að þetta mistekst af einhverri ástæðu og lénsauðkenni virkar ekki, keyrðu "
+"þá run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' og notaðu uppgefið Windows"
+"(tm) lén og lykilorð kerfisstjóra (Domain Admin) eftir kerfisræsingu.\n"
+"Skipunin 'wbinfo -t' mun prófa hvort leyniauðkenni þitt eru í lagi."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Auðkenning Windows Léns"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Upplýsingaveitu-umdæmi"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Notandanafn kerfisstjóra léns"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Lykilorð kerfisstjóra léns"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Auðkenning"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Ákveða kerfislykilorð (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Auðkenningarregla"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Ekkert lykilorð"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Þetta lykilorð er of einfalt (það verður að vera a.m.k. %d stafa langt)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Get ekki notað útvörpun án NIS léns"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Velkomin(n) i styrikerfis-raesistjorann!\n"
+"\n"
+"Veldu kerfi af listanum her ad ofan eda\n"
+"biddu eftir sjalfgefinni raesingu.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO með textavalmynd"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB með myndrænni valmynd"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB með texavalmynd"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "ekki nægilegt pláss í /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Þú getur ekki sett ræsistjórann á %s disksneiðina\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Þú verður að uppfæra stillingar ræsistjórans því disksneiðar hafa verið "
+"endurnúmeraðar"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Ekki er hægt að setja ræsistjórann rétt upp. Þú verður að ræsa með "
+"björgunardisk og velja \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Setja aftur inn ræsistjóra"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d mínútur"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 mínútu"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekúndur"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "skipun %s vantar"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDav er samskiptaregla sem leyfir þér að tengja möppu vefmiðlara\n"
+"og nota það sem staðbundið skráakerfi (vefmiðlarinn verður að vera\n"
+"uppsettur sem WebDAV skráamiðlari). Ef þú vilt bæta við WebDAV\n"
+"tengipunktum, veldu \"Nýtt\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nýtt"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Aftengja"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Tengja"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Tengipunktur"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Valkostir"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Villa"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Vinsamlega gefið upp WebDAV slóð miðlara"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Slóðin verður að byrja á http:// eða https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Miðlari: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Tengipunktur: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Valkostir: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Forsníða diska"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lestu vandlega!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Vinsamlega taktu fyrst afrit af öllum gögnum"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Hætta"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Áfram"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ef þú ætlar að nota aboot, þá verður þú að skilja eftir pláss (2048 sneiðar "
+"er nóg)\n"
+"fremst á disknum"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hjálp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Veldu aðgerð"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Þú hefur eina stóra Microsoft Windows disksneið.\n"
+"Ég legg til að þú breytir henni\n"
+"(smelltu á hana - síðan á \"Breyta stærð\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Smelltu á disksneið"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Ítarlegar"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Engir diskar fundust"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Óþekkt"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Diskminni"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Annað"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Autt"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tegundir skráakerfa:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Aðvörun"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Þessi disksneið er þegar tóm"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Nota ``Aftengja'' fyrst"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Nota ``%s'' í staðin"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tegund"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Veldu aðra disksneið"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Veldu disksneið"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Afturkalla"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Fara í venjulegan ham"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Færa í snillingsham"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Staðfesting"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Halda samt áfram?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Hætta án þess að vista"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Hætta án þess að skrifa sneiðatöfluna?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Viltu vista /etc/fstab breytingar"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Þú verður að ræsa tölvuna aftur svo breytingar á sneiðatöflunni taki gildi"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Þú ættir að forsníða disksneiðina %s.\n"
+"Annars verður engin færsla fyrir tengipunkt %s skráð í fstab.\n"
+"Hætta samt?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Hreinsa allt"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Ráðstafa skjálfkrafa"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Meira"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Sýna upplýsingar um disk"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Allar aðal-disksneiðar eru í notkun"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Get ekki bætt við disksneiðum"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Til að fá fleiri disksneiðar, vinsamlega eyddu einni til að búa til "
+"framlengda disksneið"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Ekki supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount nema fyrir geisladiska"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Vista sneiðatöflu"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Endurheimta sneiðatöflunna"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Bjarga sneiðatöflunni"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Endurhlaða sneiðatöflunna"
+
+# ## skrytid
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Sjálfvirk tenging aukatækja"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Veljið skrá"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Disksneiðin sem var tekin sem afrit er ekki af sömu stærð\n"
+"Halda samt áfram?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Reyni að endurheimta disksneiðatöfluna"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Ítarlegri upplýsingar"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Breyta stærð"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Forsníða"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Bæta við RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Bæta við LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Eyða"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Taka úr RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Taka úr LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Breyta RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Nota fyrir sýndardisk"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Búa til"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Búa til nýja disksneið"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Byrjunar geiri: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Stærð í MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tegund skráakerfis: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Valkostur: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nafn sýndardisks"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Þú getur ekki búið til nýja disksneið\n"
+"(því að þú hefur búið til hámarksfjölda aðalsneiða).\n"
+"Fjarlægðu fyrst aðalsneiðina og búðu til framlengda disksneið."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Fjarlægja sýndardisk-skrá?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Eftir breytingu á sneið %s, hafa öll gögn á þessari disksneið tapast"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Breyta tegund sneiðar"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Hvaða skráakerfi viltu?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Breyti frá ext2 í ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Hvaða Diskauðkenni?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Auðkenni:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Hvar viltu tengja sýndardisk-skrá %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Hvar viltu tengja tæki %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Get ekki aftengt tengipunkt þar sem þessi disksneið inniheldur\n"
+"sýndardisk-skrá. Fjarlægðu sýndardiskinn fyrst (aftengdu)"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Hvar viltu tengja tæki %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Breyta stærð"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Reikna mörk FAT skráakerfis"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ekki er hægt að breyta stærð á þessari disksneið"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Öll gögn á þessari disksneið ætti að afrita"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Eftir stærðarbreytingu á sneið %s, hafa öll gögn á þessari disksneið tapast"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Veldu nýja stærð"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ný stærð í MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Lágmarksstærð: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Hámarksstærð: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Til að staðfesta að gögn séu í lagi eftir að disksneiðum hefur verið \n"
+"breytt verður að keyra diskaprófun þegar þú ræsir Windows(tm) næst"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Veldu RAID sem til er fyrir til að bæta við"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ný"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Veldu LVM sem til er fyrir til að bæta við"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM nafn?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Diskur með auðkenni %s er enn í notkun.\n"
+"Vilt þú færa notaðar sneiðar á þessum diski yfir á aðra diska?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Flyt disksneiðar"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Það er ekki hægt að nota þessa sneið fyrir sýndardisk"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Sýndardiskur"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Skráarnafn sýndardisks: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Gefðu upp skráarnafn"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Skrá er þegar notuð sem annar sýndardiskur, veldu annan"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Skráin er þegar til. Nota hana?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Tengistillingar"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Ýmislegt"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "tæki"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "stig"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "blokkarstærð í KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Varaðu þig: þessi aðgerð er hættuleg."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Hvaða tegund af disksneiðingu?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Þú þarft að endurræsa áður en breytingar taka gildi"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Disksneiðatafla drifs %s mun verða skrifuð á disk!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Eftir að diskssneið %s hefur verið forsniðin, hafa öll gögn á þessari "
+"disksneið tapast"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Athuga skemmdar blokkir?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Flytja skrár á nýju disksneiðina"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Fela skrár"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Mappan %s inniheldur nú þegar gögn\n"
+"(%s)\n"
+"\n"
+"Þú getur annað hvort fært skrárnar inn á þá disksneið sem verður tengd á "
+"þessa möppu, eða skilið þær þarna eftir (sem veldur því að þær verða faldar "
+"með innihaldi tengdrar disksneiðar)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Færi skrár á nýju disksneiðina"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Afrita %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Fjarlægi %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "disksneið %s er nú þekkt sem %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Disksneiðar hafa verið endurnúmeraðar: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Tæki: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Diskauðkenni: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS drifstafur: %s (aðeins ágiskun)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tegund: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nafn: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Byrja: geiri %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Stærð: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s geirar"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Sívalningur %d til %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Fjöldi sýndarsneiða (LV): %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Forsniðinn\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ekki forsniðinn\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Tengdur\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Sýndartengdar skrár:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Sjálfgefin disksneið ræst\n"
+" (fyrir MS-DOS ræsingu, ekki fyrir LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Stig %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Blokkarstærð %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-diskar %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Skráarnafn sýndardisks: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Líklega er þessi disksneið\n"
+"Reklasneið. Þú ættir sennilega\n"
+"að láta hana í eiga sig.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Þessi sérstaka ræsidisksneið\n"
+"er til að geta ræst mismunandi\n"
+"kerfi á vélinni þinni.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Laust pláss á %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Ritvarið"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Stærð: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Disksnið: %s sívalningar, %s hausar, %s geirar\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Upplýsingar: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskar %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tegund disksneiðartöflu: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "á gagnabraut %d auðk. %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Dulritunarlykill skráakerfis"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Veldu dulritunarlykil fyrir skráakerfið"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Þetta lykilorð er of einfalt (verður að vera minnst %d stafa langt)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Dulritunarlyklarnir eru mismunandi"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Dulritunarlykill"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Dulritunarlykill (aftur)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Dulritunaralgrím"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Breyta tegund"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Hætta við"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Get ekki tengst sem notandi %s (vitlaust lykilorð?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Lénsauðkenningar er þörf"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "hvaða notandanafn"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Önnur"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Vinsamlega gefðu upp notandanafn, lykilorð og nafn léns til að fá aðgang að "
+"þessum miðlara."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Notandanafn"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Leita að þjónum"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Leita að nýjum þjónum"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Þarf að setja inn pakkann %s. Viltu setja hann inn?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Gat ekki sett inn pakkann %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Vantar nauðsynlegan pakka %s"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Eftirfarandi pakka þarf að setja inn:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Set inn pakka..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Fjarlægi pakka..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Það kom upp villa. Engin tæki fundust sem unnt er að búa til ný skráakerfi "
+"á. Vinsamlega athugaðu vélbúnaðinn í leit að orsök vandamálsins"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Þú verður að hafa FAT disksneið tengda í /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Forsníð disksneið %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "bý til og forsníð skrá %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "kann ekki að forsníða %s af tegundinni %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s forsniðið á %s mistókst"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Hringtenging %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Tengi disksneið %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "tenging disksneiðar %s í möppu %s mistókst"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Athuga %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "villa við að aftengja %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Virkja diskminni á disksneið %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Notað dulritað skráakerfi"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Virkja disk-kvóta fyrir hópa, og jafnvel fylgja eftir mörkum"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ekki uppfæra aðgengistíma á þessu skráakerfi\n"
+"(t.d. fyrir hraðari aðgengi í fréttaskrár til að herða upp á fréttaþjónum)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Er aðeins hægt að tengja nema með ákveðinni beiðni\n"
+"(þ.e. mount -a skipunin tengir ekki skráakerfið)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Ekki túlka staf eða blokk-tæki á þessu skráakerfi."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ekki leyfa keyrslu af neinum forritum frá þessu tengda skráakerfi.\n"
+"Þetta gæti verið gagnlegt fyrir miðlara sem hefur tengd skráakerfi\n"
+"sem innihalda forrit fyrir aðrar vélargerðir."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ekki leyfa forritum að setja notanda eða hóp auðkenni\n"
+"(Þetta lítur út fyrir að vera öruggt, en er í raun frekar óöruggt\n"
+"ef þú hefur suidperl(1) uppsett)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Tengja skráakerfi aðeins til lestrar."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Allar aðgerðir á skráakerfinu ættu að vera gerðar í réttri röð."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Leyfa öllum notendum að tengja og aftengja skráakerfið."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Leyfa venjulegum notanda að tengja skráakerfið."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Virkja disk-kvóta fyrir notendur, (og jafnvel fylgja eftir mörkum)"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Styðja aukavalkosti \"notanda\""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Veita skrifleyfi til venjulegra notenda"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Veita aðeins lestrarleyfi til venjulegra notenda"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Tengipunkturinn %s er nú þegar í notkun"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Engin tiltæk disksneið"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Leita á disksneiðum að tengipunktum"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Veldu tengipunktana"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Veldu þær disksneiðar sem á að forsníða"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Tókst ekki að athuga skráakerfi %s. Viltu gera við villurnar? (varúð, þú "
+"getur tapað gögnum)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Ekki nægjanlegt diskminni fyrir innsetningu. Bættu við það"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Þú verður að hafa rótarsneið fyrir Linux. Búðu því annað hvort\n"
+"til rótarsneið eða veldu sneið sem nú þegar er til á disknum.\n"
+"Veldu síðan ``Tengipunktur'' og sláðu inn `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Þú hefur enga diskminnis-sneið\n"
+"\n"
+"Halda samt áfram?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Nota laust pláss"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ekki nóg laust pláss til að búa til nýjar disksneiðar"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Nota núverandi disksneiðar"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "það eru engar núverandi disksneiðar til að nota"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Nota Microsoft Windows® disksneiðina fyrir sýndardisk"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Hvaða disksneið vilt þú nota fyrir Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Veldu stærðir"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Stærð rótar-disksneiðar í MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Stærð diskminnis í MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Það er engin FAT disksneið sem hægt er að nota sem sýndardisk (eða ekki nóg "
+"pláss laust)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Nota laust pláss á Windows disksneiðinni"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Hvaða disksneið viltu breyta stærð á?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Forritið sem breytir stærð FAT disk-sneiðarinnar getur ekki unnið með þessa "
+"disksneið, \n"
+"eftirfarandi villa kom upp: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Reikna stærð Microsoft Windows® disksneiðar"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows® disk-sneiðin þín er of sundurslitin. Endurræstu tölvuna "
+"þína undir Microsoft Windows®, keyrðu ``defrag'' forritið, endurræstu síðan "
+"Mandriva Linux uppsetninguna."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"AÐVÖRUN\n"
+"\n"
+"\n"
+"DrakX ætlar nú að breyta stærð Windows sneiðarinnar.\n"
+"\n"
+"\n"
+"Athugið: Þetta getur verið hættulegt. Ef þú ert ekki búin(n) að því, þá "
+"ættir þú fyrst að hætta við uppsetninguna, keyra \"chkdsk c:\"\n"
+"frá skipanalínunni (DOS) (Varúð: það er ekki nóg að keyra myndræna forritið "
+"\"scandisk\", verið viss um að nota \"chkdisk\" úr skipanalínunni!), Þið "
+"gætuð einnig keyrt defrag. Endurræsið síðan uppsetninguna. Þú ættir einnig "
+"að taka afrit af gögnunum þínum.\n"
+"\n"
+"\n"
+"Þegar þú ert viss, sláðu á \"%s\" til að halda áfram."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Næsta"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Hvaða stærð viltu skilja eftir fyrir Microsoft Windows® á disksneið %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Stærð"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Breyta stærð Microsoft Windows® skráakerfis"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Breyting á FAT mistókst: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "Það er engin FAT disksneið til að breyta stærð á (eða ekki nóg pláss)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Fjarlægja Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Eyða og nota allan diskinn"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Þú hefur fleiri en einn disk. Hvar viltu setja upp Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Allar disksneiðar og öll gögn á diski %s tapast"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Sérsniðin disksneiðing"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Nota fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Þú getur nú skipt %s.\n"
+"Þegar þú ert búin(n), gleymdu ekki að vista með `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Get ekki fundið neitt pláss fyrir uppsetningu"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX ráðgjafinn fann eftirfarandi lausnir:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Skipting disks í sneiðar mistókst: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Þú getur ekki notað JFS á disksneiðar minni en 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Þú getur ekki notað ReiserFs á disksneiðar minni en 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "með /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "netþjónn"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Skynjaði BIOS RAID hugbúnað á diskum %s. Virkja það?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ég get ekki lesið disksneiðatöflu á tæki %s, hún er of skemmd fyrir mig :(\n"
+"Ég mun reyna að halda áfram með því að hreinsa skemmdar disksneiðar\n"
+"(ÖLL GÖGN tapast!).\n"
+"Hin lausnin er að leyfa DrakX ekki að breyta disksneiðatöflunni.\n"
+"(villan er %s)\n"
+"\n"
+"Viltu eyða öllum þessum disksneiðum?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Heiti tengipunkta verða að byrja á /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Heiti tengipunkta eiga aðeins að innihalda bókstafi og tölur"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Það er þegar disksneið með tengipunktinn %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Þú hefur valið að nota RAID hugbúnað til að stjórna rótarsneið (/).\\ Enginn "
+"ræsistjóri ræður við þetta án sérstakrar /boot sneiðar.\n"
+"Vinsamlega passaðu uppá að bæta við sneið fyrir /boot"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Þú getur ekki notað sýndardisk (LVM) á tengipunkti %s því hann spannar marga "
+"raunverulega diska"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Þú hefur valið sýndardisk (LVM) sem rót (/).\n"
+"Ræsistjórinn getur ekki notað þetta þegar sýndardiskurinn spannar marga "
+"raunverulega diska.\n"
+"Þú ættir að búa til /boot disksneið fyrst"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Þessi mappa ætti að vera í rótar-skráakerfinu"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Þú þarft raunverulegt skráakerfi (ext2/ext3, reiserfs, xfs, eða jfs) fyrir "
+"þennan tengipunkt\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Þú getur ekki notað dulritað skráakerfi á tengipunkt %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ekki nægilegt pláss til sjálfvirkrar úthlutunar"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ekkert að gera"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Disklingadrif"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Diskur"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD skrifarar"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD Geisladrif"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Segulband"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP stýringar"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Skjákort"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB kort"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Sjónvarpskort"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Önnur margmiðlunartæki"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Hljóðkort"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Vefmyndavél"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Örgjörvar"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN spjöld"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB hljóðtæki"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Útvarpskort"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM netkort"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Víðnetskort"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Blátannartæki"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Netkort"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Mótald"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL spjöld"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Minni"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Prentari"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Leikjastýritæki"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Stýripinnar"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA stýringar"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID stýringar"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA stýringar"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB gagnageymslumiðill"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kortalesarar"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire stýringar"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA stýringar"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI stýringar"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB stýringar"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB port"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus stýringar"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Brýr og kerfisstýringar"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Lyklaborð"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Teiknitöflur og snertiskjáir"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mús"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "Varaaflgjafi"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Myndskanni"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Óþekkt/annað"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Augnablik... Framkvæmi stillingar"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Enginn aukarekill"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Það er enginn þekktur OSS/ALSA aukarekill fyrir hljóðkortið þitt (%s) sem nú "
+"notar \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Hljóðuppsetning"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Hér getur þú valið annan rekil (annað hvort OSS eða ALSA) fyrir hljóðkortið "
+"þitt (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Kortið þitt notar rekilinn %s\"%s\" (sjálfgefið fyrir kortið þitt er \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) var fyrsta hljóðkerfis-forritunar-viðmótið. Það er "
+"óháð stýrikerfum (og til á flestum UNIX(tm) kerfum) en hefur mjög einfalt og "
+"takmarkað viðmót.\n"
+"Þess utan verða allir OSS reklar að finna upp hjólið.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) er hljóðkerfi byggt á einingum\n"
+"sem styður mjög mörg ISA, USB og PCI kort.\n"
+"\n"
+"Það býður einnig upp á miklu þróaðra forritunarumhverfi en OSS.\n"
+"\n"
+"Til að nota ALSA, þá getur þú annað hvort notað:\n"
+"- gamla OSS viðmótshermirinn\n"
+"- nýja ALSA forritunarviðmótið sem býður upp á aukna möguleika en krefst "
+"notkunar á ALSA forritunarsafninu.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Rekill:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Vandamálaleit"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Gamli \"%s\" rekillinn er á svörtum lista.\n"
+"\n"
+"Hann hefur valdið kerfisvillum þegar honum er afhlaðið.\n"
+"\n"
+"Nýi \"%s\" rekillinn verður aðeins notaður við næstu ræsingu."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Enginn \"frjáls hugbúnaðar\" rekill"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Það er enginn \"frjáls\" rekill fyrir hljóðkortið þitt (%s) en það er til "
+"rekill framleiðanda á \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Enginn þekktur rekill"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Það er enginn þekktur rekill fyrir hljóðkortið þitt (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Óþekktur rekill"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Villa: rekillinn \"%s\" er ekki á listanum"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Vandamálaleit hljóðkorta"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Klassísk hljóðvilluprófun er að keyra eftirfarandi skipanir:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" segir þér hvaða rekill hljóðkortið\n"
+"notar sjálfgefið\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" segir þér hvaða rekill er nú í\n"
+"notkun af hljóðkerfinu\n"
+"\n"
+"- \"/sbin/lsmod\" sýnir þér hvor þessum rekli hefur þegar verið hlaðið\n"
+"inn eða ekki\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" og \"/sbin/chkconfig --list alsa\" segir\n"
+"þér hvort hljóð og ALSA þjónustur séu stilltar til að ræsa á vinnslustigi 3\n"
+"\n"
+"- \"aumix -q\" segir þér hvort slökkt sé hljóði í hljóðblandara\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" segir þér hvaða forrit er að nota "
+"hljóðkortið.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Leyfðu mér að velja rekil"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Velja einhvern rekil"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ef þú heldur að þú vitir hvaða rekill sé réttur fyrir kortið þitt\n"
+"þá getur þú valið einn í listanum hér að ofan\n"
+"\n"
+"Núverandi rekill fyrir \"%s\" hljóðkortið er \"%s\""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Finna sjálfkrafa"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Óþekkt|almennt"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Óþekkt|CPH06X (bt878) [margir framleiðendur]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Óþekkt|CPH06X (bt878) [margir framleiðendur]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"GNU/Linux 'bttv' einingin finnur sjálfkrafa uppsetningu á flestum nútíma "
+"sjónvarpskortum.\n"
+"Ef kortið þitt er ekki sett rétt upp þá getur þú stillt móttakarann og "
+"korttegundir hér. Veldu viðföng fyrir kortið þitt ef þess er þörf."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kort tegund:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Útvarpstegund:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Í lagi"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Já"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nei"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Veldu skrá"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Bæta við"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Breyta"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Fjarlægja"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Ljúka"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Fyrra"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Rangt val, reyndu aftur\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Þitt val? (sjálfgefið %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Svæði sem þú verður að fylla:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Þitt val? (0/1, sjálfgefið `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Hnappur `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Viltu smella á þennan hnapp?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Þitt val? (sjálfgefið `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " sláið inn 'void' fyrir autt val"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Það er úr mörgu að velja (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Vinsamlega sláðu inn fyrstu töluna í tugnum sem þú vilt sýsla með,\n"
+"eða sláðu á Enter til að halda áfram.\n"
+"Þitt val? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Athugið, merki breyttist:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Endursenda"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Sameinuðu Arabísku Furstadæmin"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua og Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanía"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenía"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Holland, Antilleyjar"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angóla"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Suðurskautslandið"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentína"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Ameríku Samóeyjar"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austurríki"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Ástralía"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Arúba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Asjerbæjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnía og Herzegónía"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgía"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Búrkina Fasó"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Búlgaría"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Búrúndi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benín"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermúda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brúnei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bólivía"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasilía"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamaeyjar"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bútan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet eyja"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Hvítarússland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belís"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kókos (Keeling) eyjar"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongó (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Miðafríkulýðveldið"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongó (brassaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Sviss"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Fílabeinsströndin"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook eyjar"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chíle"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerún"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kína"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kólumbía"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Ríka"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbía og Svartfjallaland"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kúba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Grænhöfðaeyjar"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Jólaeyjar"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kýpur"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tékkland"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Þýskaland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibútí"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danmörk"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominiká"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dóminíska lýðveldið"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algería"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Eistland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egyptaland"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Vestur Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Erítrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spánn"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Eþíópía"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finnland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fíjí"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandseyjar (Malvínas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Míkrónesía"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Færeyjar"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frakkland"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Stóra Bretland"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgía"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Franska Gínea"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gíbraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grænland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambía"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gínea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadalúp"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Miðbaugs Gínea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grikkland"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Suður Georgía og suður samlokueyjar"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Gúam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gínea-Bissáu"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gvíana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (Kína)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard og McDonalds eyjar"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondúras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Króatía"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haíti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungverjaland"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indónesía"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Írland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Ísrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indland"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Bresku indíueyjar"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Írak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Íran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Ísland"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Ítalía"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaíka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jórdanía"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenía"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambódía"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Kómoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Sankti Kitts og Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Kórea (norður)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Kórea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kúvæt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Keyman eyjar"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kasakstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Líbanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sankti Lúsía"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Srí Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Líbería"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesótó"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litháen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lúxemborg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Lettland"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Líbýa"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokkó"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Mónakó"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavía"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall eyjar"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedónía"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Malí"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongólía"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Norður Maríanaeyjar"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martiník"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Máritanía"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Máritus"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldíví"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malaví"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexíkó"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malasía"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mósambík"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibía"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nýja Kaledónía"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Níger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk eyjar"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nígería"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nígarakúa"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noregur"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nárú"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nýja Sjáland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Óman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perú"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Franska Pólínesía"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papúa Nýja-Gínea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippseyjar"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pólland"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sankti Pierre og Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Púertó Ríko"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestína"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portúgal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvæ"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palá"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Kvatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rúmenía"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rússland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rúanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudiarabía"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salómon eyjar"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Súdan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svíþjóð"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapúr"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sankti Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slóvenía"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbarði og Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slóvakía"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Síera Leóne"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marínó"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Sómalía"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Súrínam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Saó Tóme og Prinsípe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sýrland"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svasiland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks og Kaikós eyjar"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Frönsku suðureyjar"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Tógó"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tæland"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadsíkistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Austur Tímor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Túrkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Túnis"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Tyrkland"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trínidad og Tóbagó"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Túvaú"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tævan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tansanía"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Úkraína"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Úganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Bandaríkin, smærri eyjar"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Bandaríkin"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Úrúgvæ"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Úsbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatíkanið"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sankti Vincent og Grenadín"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venesúela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Jómfrúreyjar (Breskt)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Jómfrúreyjar (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Víetnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatú"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis og Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samóa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Suður Afríka"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Sambía"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Simbave"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Velkomin(n) að %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Ekki tókst að flytja disksneiðar yfir á aðra raundiska"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Raundiskur %s er enn í notkun"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Fjarlægðu sýndardiskana fyrst\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Ræsistjórinn getur ekki unnið með /boot sem spannar marga diska"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Inngangur\n"
+"\n"
+"Stýrikerfið og ýmsir mismunandi hlutar þess í Mandriva Linux dreifingunni "
+"hér eftir kallað \n"
+"\"Hugbúnaðar-einingar\".Hugbúnaðar-einingarnar innihalda, en eru ekki "
+"takmarkaðar við, \n"
+"safn forrita, aðferðir, reglur og handbækur tengdar stýrikerfinu og "
+"mismunandi hlutum \n"
+"Mandriva Linux dreifingarinnar.\n"
+"\n"
+"\n"
+"1. Hugbúnaðarleyfi\n"
+"\n"
+"Vinsamlega lestu þetta skjal vandlega. Þetta skjal er samningur milli þín og "
+"Mandriva S.A.\n"
+"sem tekur tillit til Hugbúnaðar-eininga. Með því að setja upp, fjölfalda eða "
+"nota Hugbúnaðar-einingarnar \n"
+"á einhvern hátt, þá hefur þú samþykkt að fylgja skilmálum og takmörkunum "
+"þessa leyfis. \n"
+"Ef þú ert ekki samþykkur einhverjum hluta leyfisins, þá hefur þú ekki leyfi "
+"til að \n"
+"setja upp, fjölfalda eða nota Hugbúnaðar-einingarnar. \n"
+"Allar aðgerðir til að setja upp, fjölfalda eða nota Hugbúnaðar-einingar á "
+"einhvern þann hátt \n"
+"sem ekki fylgir skilmálum þessa leyfis eru ógildar og munu binda endi á "
+"leyfi þitt. \n"
+"Við lok þessa samnings, verður þú að eyðileggja öll afrit af Hugbúnaðar-"
+"einingunum.\n"
+"\n"
+"\n"
+"2. Takmörkun ábyrgðar\n"
+"\n"
+"Hugbúnaðar-einingarnar og fylgjandi handbækur eru látnar í té \"eins og þær "
+"koma fyrir\" \n"
+"án nokkurrar ábyrgðar, eins og unnt er innan takmörkunar laga. Mandriva S.A. "
+"mun ekki undir neinum \n"
+"kringumstæðum - að þeim mörkum sem leyft er samkvæmt lögum - vera á nokkurn "
+"hátt ábyrgt fyrir sértækum, \n"
+"óvæntum, beinum eða óbeinum skaða af nokkru tagi (einnig án nokkurrar "
+"ábyrgðar á truflun eða stöðvun á \n"
+"rekstri, fjárhagstapi, málskostnaði, sektum eða öðru afleiddu tapi) vegna "
+"notkunar Hugbúnaðar-eininganna, \n"
+"jafnvel þó Mandriva S.A. hafi verið varað við tilviki eða möguleika á þess "
+"háttar afleiðingum.\n"
+"\n"
+"TAKMÖRKUÐ ÁBYRGÐ TENGD ÞVÍ AÐ HAFA UNDIR HÖNDUM EÐA NOTA ÓLEYFILEGAN "
+"HUGBÚNAÐ Í SUMUM LÖNDUM\n"
+"\n"
+"Að þeim mörkum sem leyft er samkvæmt lögum, mun Mandriva S.A. ekki undir "
+"neinum kringumstæðum, \n"
+"vera á nokkurn hátt ábyrgt fyrir sértækum, óvæntum, beinum eða óbeinum skaða "
+"af nokkru tagi \n"
+"(einnig án nokkurrar ábyrgðar á truflun eða stöðvun á rekstri, fjárhagstapi, "
+"málskostnaði, \n"
+"sektum eða öðru afleiddu tapi) vegna þess að einhver hafi undir höndum eða "
+"noti Hugbúnaðar-eininganar, \n"
+"heldur ekki afleiddum aðgerðum vegna þess að hugbúnaðar einingarnar sem séu "
+"bannaðar eða takmarkaðar \n"
+"í viðkomandi löndum hafi verið sóttar frá Mandriva Linux miðlurum. Þessar "
+"takmarkanir eiga við um, \n"
+"en eru ekki takmarkaðar við dulritunar-einingar sem eru innifaldar í "
+"Hugbúnaðar-einingum.\n"
+"\n"
+"3. GPL leyfið og tengd leyfi\n"
+"\n"
+"Hugbúnaðar-einingarnar samanstanda af einingum framleiddum af mismunandi "
+"fólki og samtökum. \n"
+"Flest af Þessum einingum er framleitt undir skilmálum og takmörkunum \"GNU "
+"General Public Licence\"\n"
+", héreftir kallað \"GPL\", eða svipaðra leyfa. Flest þessarra leyfa leyfa "
+"þér að nota fjölfalda,\n"
+"breyta og endurdreifa einingum sem þau gilda um. Vinsamlega lestu vandlega "
+"skilmála og takmarkanir \n"
+"á leyfi hverrar einingar fyrir sig áður en þú notar viðkomandi einingu. \n"
+"Allar spurningar um leyfi hverrar einingar ætti að vera beint til höfunda "
+"einingarinnar en ekki til Mandriva.\n"
+"Forrit sem eru hönnuð af Mandriva S.A. fylgja GPL leyfi. Handbækur sem "
+"skrifaðar eru af \n"
+"fylgja sérstöku leyfi. Vinsamlega lesið vandlega þau leyfi.\n"
+"\n"
+"\n"
+"4. Höfundaréttur\n"
+"\n"
+"Allur réttur hverrar einingar tilheyra höfundum eininganna og eru verndaðar "
+"með höfundaréttarlögum \n"
+"eins og þau eiga við um hugbúnað. Mandriva S.A. tekur sér rétt til að breyta "
+"eða aðlaga \n"
+"Hugbúnaðar-einingar, að hluta eða í heild, með öllum og til \"Mandriva\", "
+"\"Mandriva Linux\" og tengd vörumerki eru skráð vörumerki Mandriva S.A. \n"
+"\n"
+"5. Ríkjandi lög \n"
+"\n"
+"Ef einhver hluti af þessum samningi er ógildur, ólöglegur eða ótækur "
+"samkvæmt úrskurði dómstóla,\n"
+"þá fellur sá hluti úr þessum samningi. Þú ert enn bundinn af öðrum hlutum "
+"samningsins.\n"
+"Skilmálar og takmarkanir þessa leyfis eru samkvæmt frönskum lögum.\n"
+"Öll mál sem kunna að koma upp um gildi þessa leyfis ætti helst að leysa utan "
+"dómstóla. \n"
+"Sem síðasta úrræði þá verður öllum deilum um þennann samning beint til "
+"dómstóla í París - Frakklandi.\n"
+"Öllum spurningum um þennann samning ætti að vera beint til Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Aðvörun: Frjáls og opinn hugbúnaður er ekki endilega laus við\n"
+"einkaleyfi, og það getur verið að opinn hugbúnaður sé háður\n"
+"einkaleyfum í þínu landi. Til dæmis er MP3 afþjöppunarhugbúnaður\n"
+"háður einkaleyfum í ýmsum löndum.\n"
+"(sjá nánar á http://www.mp3licensing.com) ef þú ert ekki viss\n"
+"um einkaleyfi athugaðu þá hjá einkaleyfisstofu landsins."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Aðvörun\n"
+"\n"
+"Vinsamlega lestu vandlega skilmálana hér að neðan. Ef þú ert ekki\n"
+"sátt(ur) við einhvern hluta þess þá mátt þú ekki setja inn næsta\n"
+"geisladisk. Ýttu á 'Neita' til að halda áfram uppsetningu á þess að\n"
+"nota þennan miðil.\n"
+"\n"
+"\n"
+"Sumt af þeim hugbúnaði sem er á næsta geisladiski er ekki dreift\n"
+"samkvæmt GPL eða sambærilegum leyfum. Hver og einn af þessum\n"
+"hugbúnaði er með sína eigin notkunarskilmála. Vinsamlega lestu\n"
+"þá vandlega og samþykktu þá sérstöku skilmála áður en þú notar\n"
+"eða dreifir umræddum hugbúnaði.\n"
+"Þessi leyfi munu almennt takmarka flutning, afritun (nema til geymslu),\n"
+"endurdreifingu, rannsókn á vinnslu kerfis, afkóðun, afþýðingu eða\n"
+"breytingu á hugbúnaðinum. Allar vanefndir á þessum skilmálum munu\n"
+"sjálfkrafa binda endi á leyfi þitt til að nota hugbúnaðinn. Nema "
+"sérstaklega\n"
+"sé tekið fram mátt þú ekki setja hugbúnaðinn upp á fleiri en einni vél,\n"
+"eða breyta þannig að hann sé nothæfur á netkerfi. Ef í vafa vinsamlega\n"
+"hafðu samband við dreifingaraðila eða höfund hugbúnaðarins.\n"
+"Flutningur til þriðja aðila eða afritun af þessum hugbúnaði eða\n"
+"handbókum er venjulega ekki leyfður.\n"
+"\n"
+"\n"
+"Allur réttur hugbúnaðar á næsta geisladiski er í höndum höfunda\n"
+"hvers hugbúnaðar fyrir sig og er varin af höfundarréttarlögum\n"
+"og lögum um hugbúnað.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Til hamingju! Innsetningu er lokið.\n"
+"Taktu disklinginn eða geisladiskinn úr drifinu og sláðu á ENTER.\n"
+"\n"
+"\n"
+"Viðbætur og/eða lagfæringar á göllum sem gætu verið til\n"
+"staðar í þessari útgáfu af Mandriva Linux má finna á \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Frekari upplýsingar um hvernig á að stilla vélina eftir innsetninguna er að\n"
+"finna í viðeigandi kafla í Official Mandriva Linux User's Guide bókinni."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Þessi rekill hefur engin stillingar-viðföng!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Uppsetning eininga"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Þú getur stillt öll viðföng einingarinnar hér."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Fann %s tengi"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Er kannski eitt enn í vélinni?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Eru einhver %s tengi í tölvunni?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Skoðaðu vélbúnaðarupplýsingar"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Set inn rekil fyrir USB stýringu"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Set inn rekil fyrir firewire stýringu %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Set inn rekil fyrir diskstýringu %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Set inn rekil fyrir ethernet-kortið %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Set inn rekil fyrir %s kortið %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Þú getur núna gefið upp viðföng fyrir eininguna %s.\n"
+"Athugið að vistföng eru gefin upp með formerki 0x eins og '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Þú getur núna gefið upp viðföng fyrir eininguna %s.\n"
+"Viðföng eru gefin upp sem ``viðfang=gildi viðfang2=gildi2 ...''.\n"
+"Til dæmis: ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Stillingar kjarnaeininga:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Hvaða %s rekil viltu prófa?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Í sumum tilfellum þarf rekillinn %s auka viðföng svo hann virki rétt,\n"
+" þó hann virki vel í flestum tilfellum án þeirra. Viltu setja inn auka\n"
+" viðföng eða leyfa reklinum sjálfum að leita að þeim upplýsingum sem\n"
+" hann þarf? Stundum frystir sjálfvirk stilling vélina en það ætti ekki\n"
+"að skemma neitt."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Stilla sjálfvirkt"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Stilla handvirkt"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Innsetning á einingu %s mistókst.\n"
+"Viltu prófa aftur með ólík viðföng?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "tókst ekki að tengja: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Framlengdar disksneiðar ekki studdar af þessu kerfi"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Það er gat í sneiðatöflunni þinni sem ekki er hægt að nota.\n"
+"Eina lausnin er að færa aðalsneiðar svo að gatið verði við hliðina á "
+"framlengdri disksneið."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Villa við lestur úr skránni %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Villa við lestur úr skránni %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Skemmd afritsskrá"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Villa við að skrifa í skrána %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Eitthvað slæmt er að gerast á disknum þínum.\n"
+"Féll á prófi þar sem athugað var samræmi á \n"
+"gögnum á disknum\n"
+"Það þýðir að allt sem þú skrifar á diskinn verður\n"
+"líklega rangt þegar það er lesið aftur."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Get ekki bætt við sneið á _forsniðinn_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ekki nógu margar disksneiðar fyrir RAID %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Gat ekki búið til skrána /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Gat ekki búið til tengingu /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Gat ekki afritað vélbúnaðarskrá %s til /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Gat ekki sett heimildir á vélbúnaðarskrá %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Gat ekki sett inn pakka sem þarf til að miðla skannanum þínum."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Skanninn þinn verður ekki aðgengilegur nema fyrir kerfisstjóra."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Leyfa/Hafna gölluðum IPv4 villuskeytum."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Leyfa/hafna útvörpun á 'icmp echo'."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Leyfa/Hafna icmp endurvörpun."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Leyfa/Hafna sjálfvirka innskráningu."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Ef skilgreint sem \"ALLT\", þá mega /etc/issue og /etc/issue.net vera til.\n"
+"\n"
+"Ef skilgreint sem \"ENGAR\", þá eru engar issue skrár leyfðar.\n"
+"\n"
+"Annars er /etc/issue leyft."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Leyfa/Banna enduræsingu af notanda á stjórnskjá."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Leyfa/banna net-innskráningu á kerfisstjóra."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Leyfa/banna beina innskráningu kerfisstjóra."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Leyfa/Banna lista af notendum kerfisins í innskráningar-glugga (kdm og gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Leyfa/Banna útflutning skjás þegar\n"
+"flutt er frá kerfisstjóra til annara notanda.\n"
+"\n"
+"Sjá meiri upplýsingar í pam_xauth(8).'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Leyfa/Banna X tengingar:\n"
+"\n"
+"- ALLT (allar tengingar leyfðar),\n"
+"\n"
+"- STAÐBUNDIÐ (aðeins staðbundnar tengingar leyfðar),\n"
+"\n"
+"- ENGAR (engar tengingar leyfðar)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Þessi breyta skilgreinir hvort biðlar hafi leyfi til að tengjast\n"
+"X-miðlara frá netinu yfir tcp-gátt 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Heimila:\n"
+"\n"
+"- allar þjónustur sem nota tcp_wrappers (sjá man-síðu hosts.deny(5)) ef sett "
+"\"ALLT\",\n"
+"\n"
+"- aðeins staðbundnar ef sett \"STAÐBUNDIÐ\"\n"
+"\n"
+"- engar ef sett \"ENGAR\"\n"
+"\n"
+"Til að leyfa þær þjónustur sem þú þarfnast, notaðu /etc/hosts.allow (sjá man-"
+"síðu hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Ef SERVER_LEVEL (eða SECURE_LEVEL ef ekki til staðar)\n"
+"er hærri en 3 í /etc/security/msec/security.conf, býr til tengil\n"
+"frá /etc/security/msec/server yfir á \n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server er notað af \"chkconfig --add\" til að ákvarða\n"
+"hvort eigi að bæta við þjónustu ef hún er skráð þar, þegar pakkar eru settir "
+"inn."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Virkja/Aftengja crontab og at fyrir notendur.\n"
+"\n"
+"Setja leyfða notendur í /etc/cron.allow og /etc/at.allow (sjá man at(1)\n"
+"og crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Virkja/Aftengja syslog færslur á skjá 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Virkja/Aftengja nafnaleit til að varna vélarstuldi. Ef\n"
+"\"%s\" er virkt þá er einnig skrifað í syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Öryggisviðvaranir:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Virkja/Aftengja IP vélastuldar-vörn."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Virkja/Aftengja libsafe ef libsafe finnst á kerfinu."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Virkja/Aftengja skráningu á undarlegum IPv4 pökkum."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Virkja/Aftengja msec athugun á klukkustundar fresti."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Leyfa su aðeins frá meðlimum wheel hópsins eða leyfa su frá öllum notendum."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Nota lykilorð til að auðkenna notendur."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Virkja/Aftengja athugun á hvort ethernet-korta séu í opnum (promiscuous) ham."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Virkja/Aftengja daglega öryggisathugun."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Virkja/Aftengja sulogin(8) í eins-notanda ham."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Bæta við nafninu sem undantekningu á úreldingu lykilorða-höndlunar msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Setja hámarks-liftíma lykilorða \"max\" og biðtíma þar til notandi verður "
+"\"óvirkur\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Setja lengd lykilborðs-sögu til að varna endurnotkun lykilorða."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Setja lágmarkslengd lykilorða og einnig lágmarksfjölda tölustafa og "
+"lágmarksfjölda upphafsstafa."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Setja 'umask' rótar."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "ef sett já, athuga opin port."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"ef sett já, leita eftir:\n"
+"\n"
+"- auðum lykilorðum,\n"
+"\n"
+"- engum lykilorðum í /etc/shadow\n"
+"\n"
+"- notendum með notanda-númer 0 og ekki root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "ef sett já, athuga aðgangsheimildir í heimasvæðum notanda."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "ef sett já, athuga hvort nettæki séu í opnum (promiscuous) ham."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "ef sett já, keyra daglegar öryggisathuganir."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"ef sett já, leita eftir breytingum á sgid skrám - forritum sem keyra í nafni "
+"hóps."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "ef sett já, leita eftir auðum lykilorðum í /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "ef sett já, staðfesta gátsummu á suid/sgid skrám."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"ef sett já, þá er fylgst með breytingum á suid forritum - sem keyra sem root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "ef sett já, þá tilkynna skrár án eiganda."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "ef sett já, athuga skrár/möppur sem allir geta skrifað í að vild."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+"ef sett já, keyra chkrootkit prófanir - athugar hvort nokkur þekkt "
+"innbrotskerfi hafa verið sett upp."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "ef sett, senda skýrslur í pósti á þetta netfang, annars senda á root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "ef sett já, senda skýrslur í pósti."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ekki senda póst ef það eru engar viðvaranir"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "ef sett já, framkvæma nokkrar athuganir á rpm gagnagrunninum."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "ef sett já, senda niðurstöður athugana í syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "ef sett já, senda niðurstöður athugana á tty - skjá."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Setja lengd skipanasögu skeljar. Gildið -1 þýðir ótakmarkað."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Setja hvenær skel fellur á tíma. Gildið núll þýðir að skelin fellur aldrei á "
+"tíma."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Tímaeining er sekúndur"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Setja umask notanda."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Taka á móti röngum IPv4 villuskeytum"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Taka á móti útvörpuðu \"icmp echo\""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Taka á móti \"icmp echo\""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* er til"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Endurræsing af notanda sjórnskjás"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Leyfa \"root\" innstimplun yfir net"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Bein \"root\" innstimplun"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Notandalisti á innstimplunarskjá (kdm og gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Flytja skjá þegar flutt frá \"root\" til annarra notanda"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Leyfa X Window tengingar"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Heimila TCP tengingar við X glugga"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Heimila allar tengingar stýrt af \"tcp_wrappers\""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig fylgi msec reglum"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Virkja \"crontab\" og \"at\" fyir notendur"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Kerfisannáll er skráður á skjá 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Verjast vélarstuldi í nafnauppflettingu"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Verjast IP vélarstuldi"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Virkja libsafe ef libsafe finnst á kerfinu"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Virkja skráningu undarlegra IPv4 pakka"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Virkja msec öryggisathugun á hverri klukkustund"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Leyfa su aðeins frá notendum í wheel hópnum"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Nota lykilorð til að auðkenna notendur"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Athuga hvort ethernetkort í opnum ham (promisc)"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dagleg öryggisathugun"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) í eins-notanda ham"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Enginn öldrun á lykilorði fyrir"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Setja líftíma lykilorðs og hversu lengi notandi óvirkur"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Lengd lykilorða-sögu"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Lágmarkslengd lykilorðs og fjöldi talna og hástafa"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Rótar-umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Lengd skeljarsögu"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Tímamörk skeljar"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Umask notenda"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Athuga opin port"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Athuga ótrausta notendur"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Athuga aðgangsheimildir í heimamöppum notanda"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Athuga ef nettæki eru í opnum ham (promiscuous)"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Keyra daglegar öryggisathuganir"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Athuga breytingar á sgid skrám"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Athuga auð lykilorð í /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Staðfesta gátsummu á suid/sgid skrám"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Athuga breytingar á \"suid root\" skrám"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Tilkynna skrár án eiganda"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Athuga skrár/möppur sem allir geta skrifað í"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Keyra chkrootkit athuganir"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Ekki senda auðar villuskýrslur"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr "ef sett, senda skýrslu með pósti til þessa vistfangs - annars til root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Senda athuganir í pósti"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Framkvæma nokkrar athuganir á rpm gagnagrunni"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Skrifa athuganir í kerfisannál"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Senda niðurstöður athugana á tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Velkomin(n) í tölvuþrjótinn"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Lélegt"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Venjuleg"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Hátt"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Hærra"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Taugaveiklað"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Þetta þrep verður að nota með varúð. Það gerir einfalt að nota tölvuna\n"
+"þína, en hún verður mjög viðkvæm. Hún ætti ekki að vera tengd öðrum\n"
+"tölvum á netinu. Engra lykilorða er krafist."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Lykilorð eru nú virk, en ekki er mælt með notkun að tölvan sé nettengd."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Þetta er hið hefðbundna öryggi sem mælt er með fyrir tölvu sem verður notuð\n"
+"til að tengja við netið sem biðill."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Það eru nú þegar nokkrar takmarkanir og sjálfvirkar prófanir eru keyrðar á "
+"hverri nóttu."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Á þessu öryggisstigi er orðið mögulegt að nota tölvuna sem miðlara.\n"
+"Öryggið er nógu nógu mikið til að taka við fyrirspurnum frá\n"
+"mörgum biðlum. Athugið: ef vélin þín er biðlari á Internetinu\n"
+"þá ættir þú að velja lægra öryggisþrep."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Líkt fyrra þrepi, en kerfið er nú alveg lokað og öryggið er á hæsta stigi."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Öryggi"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec grunnvalkostir"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Vinsamlega veldu öryggisþrep"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Öryggisþrep"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Nota libsafe fyrir þjónustur"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Undirforritasafn sem ver gegn yfirflæði á minnissvæðum og prentstrengjum."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Öryggisfulltrúi (notandi eða netfang)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Ræsa ALSA (Advanced Linux Sound Architecture) hljóðkerfið"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron fylgist með að reglulega áætlaðar keyrslur séu keyrðar."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd er notaður til að fylgjast með stöðu rafhlöðu og skrá í kerfisannál.\n"
+"Einnig er hægt að nota hann til að slökkva á tölvu þegar rafhlaða er að "
+"tæmast."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Keyrir skipanir sem eru á áætlun með \"at\" skipuninni þegar á að keyra\n"
+"þau, og keyrir bakgrunnsforrit þegar álag á vélini er nægilega lágt."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron er staðlað UNIX forrit sem keyrir forrit notanda á fyrirfram\n"
+"áætluðum tímum. vixe cron bætir nokkrum valkostum við almennt\n"
+"UNIX cron, m.a. aukið öryggi og fleiri öflugum stillingarmöguleikum."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM er forrit sem fylgist með breytingum á skrám og möppum. Það\n"
+"sendir skilaboð þegar breytingar verða. Það er notað af GNOME og KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM veitir músarstuðning til forrita sem keyra í Linux textaham\n"
+"s.s. Midnight Commander. Það veitir líka möguleika á að klippa\n"
+"og líma og valseðla-þjónustu í textaham."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr "HardDrake athugar vélbúnað og stillir ný og breytt jaðartæki."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache er vefmiðlari, sem veitir aðgang að HTML skjölum og CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Yfir-Internet-þónustumiðlarinn (venjulega kallaður inetd) ræsir\n"
+"ýmsar internet þjónustur eftir þörfum. Það er ábyrgt fyrir\n"
+"ræsingu á mörgum þekktum þjónustum t.d. telnet, ftp, rsh\n"
+"og rlogin. Ef þú aftengir inetd þá aftengjast allar þjónustur sem\n"
+"það ræsir."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Ræsir pakkasíun fyrir Linux kjarna 2.2, notað til að setja upp\n"
+"eldvegg til að vernda tölvuna þína fyrir árásum frá netinu."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Þessi pakki hleður inn völdu lyklaborði sem skilgreint er í\n"
+"/etc/sysconfig/keyboard. Þetta má setja upp með kbdconfig forritinu.\n"
+"Þú ættir að hafa þetta virkt á flestum vélum."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Sjálfvirk endurbygging á kjarna-haus-skrám í /boot fyrir\n"
+"/usr/include/linux/{autoconf,útgáfa}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Sjálfvirk skynjun og stilling á vélbúnaði við ræsingu."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf mun stundum setja upp keyrslu á forritum við ræsingu\n"
+"til að viðhalda uppsetningu kerfisins."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd er prentþjónusta sem lpr þarfnast til að geta unnið sín verk.\n"
+"Þetta er í grunni þjónusta sem deilir prentverkum á prentara."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, notað til að byggja öflugan skráamiðlara\n"
+"með mikinn uppitíma."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) er nafnaþjónusta fyrir net (DNS) sem varpar netnafni yfir í IP-"
+"vistföng."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Tengir og aftengir allar NFS nettengingar, SMB (Lan Manager\n"
+"/Windows) og NCP (NetWare) tengingar."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Virkjar eða aftengir öll nettengi skilgreind til að ræsast\n"
+"þegar kerfi er ræst."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS er vinsæl aðferð til skráamiðlunar yfir TCP/IP net.\n"
+"Þessi þjónusta veitir NFS skráamiðlun, sem er stillt í\n"
+"/etc/exports skránni."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS er vinsæl aðferð til skráamiðlunar yfir TCP/IP net.\n"
+"Þessi þjónusta bætir skráalæsingum við NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "Setja sjálfkrafa á numlock lykil í skjáhermi og Xorg við ræsingu."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Stuðningur fyrir OKI 4w og sambærilega Windows prentara."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA þjónusta er venjulega til að styðja við hluti eins og netkort\n"
+"og mótöld á ferðavélum. Þessi þjónusta fer ekki af stað nema hún sé\n"
+"stillt svo það er í lagi að hafa þetta á vélum sem þarfnast þess ekki."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper sér um RPC tengingar sem eru notaðar af NIS og NFS\n"
+"portmap þjónustan verður að vera keyrandi fyrir vélar sem á eru\n"
+"þjónustur sem byggja á RPC samskiptum."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix er póstflutningskerfi, sem flytur tölvupóst frá einni vél til "
+"annarrar."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Geymir og sækir slembitölugrunn kerfis til að bæta gæði\n"
+"slembitalna."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Setur upp hrá tæki sem vísa á blokkar-tæki (eins og diskasneiðar),\n"
+"fyrir forrit sem nota þannig aðgang s.s. Oracle og DVD spilarar"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed þjónustan heldur utan um sjálfvirka IP-rútutöflu, sem er\n"
+"uppfærð með RIP samskiptareglunni. RIP er oft notað fyrir smærri\n"
+"net, en flóknari rútu-samskiptareglur eru notaðar fyrir stærri net."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat samskiptareglan leyfir notendum á neti að sækja\n"
+"upplýsingar um afköst annarra véla á netinu."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers leyfir notendum á neti að athuga hverjir hafa stimplað sig\n"
+"inn á viðkomandi vélar."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho gefur fjarstöddum notendum lista af notendum sem eru\n"
+"stimplaðir inn á vélina (svipað finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Ræsa hljóðkerfi fyrir vélina þína"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog er kerfisþjónusta sem mörg forrit nota til að skrá skilaboð\n"
+"í ýmsa kerfisannála. Það er góð hugmynd að hafa syslog alltaf keyrandi."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Hlaða inn reklum fyrir USB tæki."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Ræsa X leturþjón (þetta verður að vera til að Xorg keyri)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Prentun"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Skráamiðlun"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Kerfi"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Fjarvinnsla"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Gagnagrunnsmiðlari"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Þjónustur"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Veldu þær þjónustur sem skal sjálfkrafa keyra við ræsingu"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Þjónustur: %d ræstar af %d skráðum"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "keyrandi"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "stöðvað"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Þjónustur og púkar"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Engar aukalegar upplýsingar\n"
+"um þetta tæki, því miður."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Upplýsingar"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Ræsa þegar óskað er"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Við ræsingu"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Ræsa"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stöðva"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Þetta forrit er frjáls hugbúnaður; þú mátt endurrita hann og/eða breyta\n"
+"samkvæmt skilmálum \"GNU General Public License\" eins og það er\n"
+"útgefið af \"Free Software Foundation;\"; annað hvort útgáfa 2 af leyfinu,\n"
+"eða (að þínu vali) einhver síðari útgáfa.\n"
+"\n"
+"Þessu forriti er dreift í þeirri von að það sé gagnlegt, en ÁN\n"
+"NOKKURAR ÁBYRGÐAR; einnig án óbeinnar SÖLUÁBYRGÐAR eða\n"
+"HÆFNI TIL NOKKURS HLUTAR. Sjá nánar í \"GNU General Public\n"
+"License\" leyfinu.\n"
+"\n"
+"Þú ættir að hafa fengið afrit af \"GNU General Public License\" með\n"
+"þessu forriti; ef ekki, skrifaðu til Free Software Foundation, Inc.,\n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Afrit- og endurheimtunar- forrit\n"
+"\n"
+"--default : vista sjálfgefnar möppur.\n"
+"--debug : sýna öll aflúsunarskilaboð.\n"
+"--show-conf : listi af skrám eða möppum sem á að taka afrit af.\n"
+"--config-info : útskýra uppsetninga-skrá (fyrir þá sem eru ekki í X "
+"gluggakerfi).\n"
+"--daemon : nota púka-uppsetningu (keyra í bakgrunni). \n"
+"--help : sýna þetta.\n"
+"--version : sýna útgáfunúmer.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"VALKOSTIR:\n"
+" --boot - virkja til að stilla ræsistjóra\n"
+" --splash - virkja til að stilla ræsiþema\n"
+"sjálfgefinn hamur: bjóðast til að stilla sjálfkrafa innstimplun"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"VALKOSTIR:\n"
+" --help - prenta þetta.\n"
+" --report - forrit ætti að vera eitt af Mandriva Linux tólunum\n"
+" --incident - forrit ætti að vera eitt af Mandriva Linux tólunum"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - ráðgjafi til að\"bæta við nettæki\"\n"
+" --del - ráðgjafi til að \"eyða nettæki\"\n"
+" --skip-wizard - sýsla með tengingar\n"
+" --internet - sýsla með Internetið\n"
+" --wizard - sama og --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Forrit til að flytja inn og sýsla með letur\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : flytja inn frá öllum tiltækum Windows disksneiðum.\n"
+"--xls_fonts : sýna öll letur sem eru þegar til frá xls\n"
+"--install : bæta við hvaða leturskrá eða möppu sem vill.\n"
+"--uninstall : fjarlægja letur eða möppu með letri.\n"
+"--replace : skipta út letrum ef þegar til\n"
+"--application : 0 engin forrit.\n"
+" : 1 öll tiltæk forrit studd.\n"
+" : nafn forrits, eins og so fyrir staroffice \n"
+" : og gs fyrir ghostscript."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Linux Skjámiðlara stillingar\n"
+"--enable : virkja MTS\n"
+"--disable : aftengja MTS\n"
+"--start : ræsa MTS\n"
+"--stop : stöðva MTS\n"
+"--adduser : bæta notanda við MTS (þarfnast notandanafns)\n"
+"--deluser : eyða notanda úr MTS (þarfnast notandanafns)\n"
+"--addclient : bæta biðlara-vél við MTS (þarfnast MAC addressu, IP, nbi "
+"ímyndar-nafns)\n"
+"--delclient : eyða biðlara-vél úr MTS (þarfnast MAC addressu, IP, nbi "
+"ímyndar-nafns)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[Lyklaborð]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIONS]\n"
+"Net & Internet tengingar og eftirlitsforrit\n"
+"\n"
+"--defaultintf tæki : sýna sjálfgefið þetta tæki\n"
+"--connect : tengjast Internetinu ef ekki þegar tengdur\n"
+"--disconnect : aftengjast internetinu ef tengdur\n"
+"--force : notað með (dis)connect : þvinga (af)tengingu.\n"
+"--status : skilar 1 ef tengdur, annars 0, hætta síðan.\n"
+"--quiet : ekki gagnvirkt. notist með --(dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation Ekki biðja um staðfestingu í upphafi Mandriva "
+"Update\n"
+" --no-verify-rpm Ekki staðfesta undirskriftir pakka\n"
+" --changelog-first Birta breytingalista á undan skráarlista í "
+"lýsingaglugga\n"
+" --merge-all-rpmnew Bjóðast til að bræða saman allar .rpmnew/.rpmsave "
+"skrár"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [allt]\n"
+" XFdrake [--noauto] skjár\n"
+" XFdrake upplausn"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Notkun: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Allir miðlarar"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Heimur"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afríka"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asía"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Evrópa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Norður Ameríka"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Kyrrahafseyjar"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Suður Ameríka"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rússneska Sambandið"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Júgóslavía"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Er þetta rétt?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Engin skrá valin"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Þú hefur valið skrá, ekki möppu"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Þú hefur valið möppu, ekki skrá"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Mappa ekki til"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Skráin er ekki til"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Opna tré"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Loka tré"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Víxla milli flats lista og raðaðra hópa"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s er ekki sett upp\n"
+"Smelltu á \"Næsta\" til að setja upp eða \"Hætta við\" til að stöðva"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Innsetning mistókst"
diff --git a/perl-install/share/po/it.po b/perl-install/share/po/it.po
new file mode 100644
index 000000000..e260d89a1
--- /dev/null
+++ b/perl-install/share/po/it.po
@@ -0,0 +1,6820 @@
+# translation of DrakX.po to Italian
+# translation of DrakX-it.po to Italiano
+# translation of DrakX-it.po to Italian
+# Copyright (C) 2000, 2001 Mandriva S.A.
+# Paolo Lorenzin <pasusu@tin.it>, 2000.
+# Simone Riccio <s.riccio@aeb-informatica.it>, 2002.
+# Roberto Rosselli Del Turco <rosselli@ling.unipi.it>, 2001, 2002,2003.
+# Marco De Vitis <mdv@spin.it>, 2003.
+# Andrea Celli <a.celli@caltanet.it>, 2003, 2004, 2005, 2006.
+# Giuseppe Levi <giuseppe.levi@email.it>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-it\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-09-16 14:41+0100\n"
+"Last-Translator: Giuseppe Briotti <g.briotti@mclink.it>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Attendere prego"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installazione del bootloader in corso"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO vuole assegnare un nuovo Volume ID al drive %s. Tuttavia, il cambio\n"
+"del Volume ID di una partizione di boot di Windows NT, 2000, o XP "
+"costituisce\n"
+"un errore fatale per Windows.\n"
+"Non servono precauzioni per le partizioni di Windows 95/98 o NT con solo "
+"dati.\n"
+"\n"
+"Assegno un nuovo Volume ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Installazione del bootloader fallita. Si è verificato il seguente errore:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Potrebbe servire la modifica del dispositivo di boot dell'Open Firmware\n"
+" per abilitare il bootloader. Se non vedi il prompt del bootloader dopo\n"
+" il riavvio, tieni premuto Command-Option-O-F al riavvio e digita:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Poi digita: shut-down\n"
+"Al boot successivo dovresti vedere il prompt del bootloader."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Hai deciso di installare il bootloader su una partizione.\n"
+"Questo significa che esiste già un bootloader (ad es. System Commander)\n"
+"installato sul disco fisso dal quale viene effettuato il boot.\n"
+"\n"
+"Da quale disco viene effettuato il boot?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Primo settore del disco (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Primo settore della partizione root"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Su floppy"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Salta"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Installazione di LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Dove vuoi installare il bootloader?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configurazione stile di avvio"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opzioni principali del bootloader"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Bootloader da usare"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Dispositivo di boot"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Opzioni principali"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Ritardo prima di avviare con l'immagine predefinita"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Abilitare l'ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Abilitare l'APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Abilitare l'APIC locale"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Password"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Le password non corrispondono"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Per favore, riprova"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Non puoi usare un filesystem crittato per il punto di mount %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Password (ripeti)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Opzioni da riga di comando solo con password"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "limita"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"L'opzione \"Opzioni da riga di comando solo con password\" è inutile senza "
+"una password"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Svuota /tmp ad ogni avvio"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Correggi dimensione RAM se necessario (trovati %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Specifica dimensione RAM (in MB)"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Messaggio di init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Attesa dell'Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Attesa per il boot del kernel"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Abilitare l'avvio da CD-ROM?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Abilitare boot da OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Sistema operativo predefinito?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Immagine"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Opzioni per il kernel"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Accodamento Xen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Modo video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profilo di rete"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etichetta"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Predefinito"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "No Video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Non sono ammesse etichette vuote"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Bisogna indicare l'immagine di un kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Bisogna specificare una partizione root"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Questa etichetta è già stata usata"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Che tipo di voce vuoi aggiungere?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Altro S.O. (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Altro S.O. (MacOS,...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Altro S.O. (Windows, ...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Finora ci sono queste voci nel menu di boot.\n"
+"Puoi aggiungerne altre o cambiare quelle esistenti."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "accesso ai programmi X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "accesso agli strumenti RPM"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "permettere \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "accesso ai file di amministrazione del sistema"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "accesso agli strumenti di rete"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "accesso agli strumenti di compilazione"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s già aggiunto)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Inserisci il nome di un utente, grazie"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Il nome utente deve contenere solo lettere minuscole, numeri, \"-\" e \"_\""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Questo nome utente è troppo lungo"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Questo nome utente è già stato utilizzato"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID utente"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID gruppo"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s dev'essere un numero"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s dovrebbe essere superiore a 500. Va accettato lo stesso?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Aggiungere un utente"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Inserire un utente\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Fatto"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Accetta utente"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Vero nome"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nome utente"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Autologin"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Si può configurare il computer per fare automaticamente il login di un "
+"utente all'avvio."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Utilizza questa funzionalità"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Scegli l'utente predefinito:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Scegli il window manager da usare:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Accordo di licenza"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Esci"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Note sulla release"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Accetta"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Rifiuta"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Scegli una lingua da utilizzare."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Scelta della lingua"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux può gestire più di una lingua.\n"
+"Seleziona le lingue da installare. Esse saranno disponibili\n"
+"quando riavvierai il sistema alla fine dell'installazione."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Più di una lingua"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Codifica per vecchia compatibilità (non UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Tutte le lingue"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Paese / Regione"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Indica la tua nazione."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ecco la lista completa dei Paesi disponibili"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Altre nazioni"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avanzato"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Modalità input:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Nessuno"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Nessuna condivisione"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Permetti a tutti gli utenti"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalizzato"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Vuoi permettere agli utenti di condividere qualcuna delle loro directory?\n"
+"Se lo consenti, agli utenti basterà poi utilizzare l'opzione \n"
+"\"Condividi\" in Konqueror o Nautilus.\n"
+"\n"
+"\"Personalizzata\" permette un controllo più specifico per ogni utente.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: il classico sistema di condivisione dei file in ambiente Unix, con un "
+"limitato supporto per Mac e Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: il sistema di condivisione dei file utilizzato in Windows, Mac OS X e "
+"molte distribuzioni Linux recenti."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Puoi esportare usando NFS o Samba. Scegli quello che preferisci utilizzare."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Lancia userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Chiudi"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Per condividere le directory bisogna appartenere al gruppo \"fileshare\".\n"
+"Puoi usare \"userdrake\" per aggiungervi un utente."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Per favore, fai logout e poi premi Ctrl-Alt-Backspace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Devi sconnetterti e rientrare affinché i cambiamenti abbiano effetto."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Fuso orario"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Qual è il fuso orario locale?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Impostazione di data, ora e fuso orario"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Quale è il miglior tempo?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (orologio hardware impostato su UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (orologio hardware impostato su ora locale)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Server NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sincronizzazione automatica dell'ora (usando NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "File locale"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Card"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Dominio Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active directory con SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active directory con Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "File locale:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Usa local per tutte le autenticazioni e le informazioni che l'utente mette "
+"su un file locale"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Dice al computer di utilizzare LDAP per alcune o per tutte le "
+"autenticazioni. LDAP raggruppa alcuni tipi di informazioni sulla tua "
+"organizzazione."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Ti permette di gestire un gruppo di computer in un dominio NIS (Network "
+"Information Service) con i file per password e gruppi in comune."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Dominio Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind permette al sistema di recuperare le informazioni e di autenticare "
+"gli utenti in un dominio Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory con SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Con Kerberos e LDAP per autenticarsi in un Active Directory Server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory con Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind permette al siststema di autenticare gli utenti in un Windows Active "
+"Directory Server."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autenticazione LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Server LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "semplice"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "security layout (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autenticazione di Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Dominio"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Database utenti LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Utilizza BIND anonimo "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Utente LDAP abilitato a navigare Active directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Password utente"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autenticazione NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Dominio NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Server NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Perché questo funzioni con un PDC di Windows 2000, probabilmente si dovrà "
+"chiedere all'amministratore di lanciare: C:\\>net localgroup \"Pre-Windows "
+"2000 Compatible Access\" everyone /add\n"
+" e di riavviare il server.\n"
+"Servirà anche il nome e la password di un amministratore di dominio per "
+"aggiungere la macchina al dominio Windows(TM).\n"
+"Se la rete non è ancora attiva, Drakx cercherà di collegarsi al dominio dopo "
+"la configurazione della rete.\n"
+"Se questa configurazione fallisse per qualche motivo e l'autenticazione sul "
+"dominio non funzionasse, bisognerà lanciare, dopo il riavvio del sistema,\n"
+"\"smbpasswd -j DOMAIN -U USER%%PASSWORD\"\n"
+"usando il nome del dominio Windows(tm) e nome e password "
+"dell'amministratore.\n"
+"Il comando \"wbinfo -t\" permette di verificare il funzionamento "
+"dell'autenticazione."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autenticazione sul dominio Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Autenticazione Active Directory"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Nome utente dell'amministratore di dominio"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Password dell'amministratore di dominio"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autenticazione"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Scegli password amministratore (root)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Metodo autenticazione"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "No password"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Questa password è troppo corta (deve essere almeno di %d caratteri)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Non posso usare broadcast senza un dominio NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Benvenuti nel selezionatore di sistemi operativi!\n"
+"\n"
+"Scegli un sistema operativo da questo elenco,\n"
+"o aspetta che si avvii quello predefinito.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO con menu testuale"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB con menu grafico"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB con menu testuale"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "spazio insufficiente in /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Non puoi installare il bootloader su una partizione %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Devi aggiornare la configurazione del bootloader perché le partizioni hanno "
+"cambiato numerazione"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Il bootloader non può essere installato correttamente. Devi avviare in "
+"modalità rescue e selezionare \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Reinstallazione del bootloader"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuti"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuto"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d secondi"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "manca il comando %s"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV è un protocollo che permette di montare localmente una directory\n"
+"del server web, e di trattarla come un file system locale (purché il web\n"
+"server sia configurato come server WebDAV). Se si vuole aggiungere un\n"
+"punto di mount WebDAV, basta selezionare \"Nuovo\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nuovo"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Smonta"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Esegui mount"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Punto di mount"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opzioni"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Errore"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Inserisci l'URL del server WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "L'URL deve iniziare con http:// o https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Punto di mount: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opzioni: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partizionamento"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Leggere con attenzione!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Si consiglia di effettuare prima un backup dei propri dati"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Esci"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Continua"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Se hai intenzione di usare aboot, stai attento a lasciare uno spazio libero\n"
+"(2048 settori sono sufficienti) all'inizio del disco"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Guida"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Scegli un'azione"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"C'è una grossa partizione Microsoft Windows.\n"
+"Per prima cosa, ti suggerisco di ridimensionarla\n"
+"(fai clic su di essa e poi su \"Ridimensiona\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Clicca su una partizione"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Dettagli"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Non ho trovato nessun disco fisso"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "FS con journal"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Altro"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Vuoto"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipi di filesystem:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Attenzione"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Questa partizione è già vuota"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Prima clicca su \"Smonta\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Usa \"%s\" al suo posto"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tipo"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Scegliere un'altra partizione"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Scegli una partizione"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Un passo indietro"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Passare a modo normale"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Passare a modo esperto"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Conferma"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Continuo comunque?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Esci senza salvare"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Devo uscire senza scrivere la tabella delle partizioni?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Devo salvare le modifiche a /etc/fstab?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Bisogna riavviare il PC affinché le modifiche alla tabella delle partizioni "
+"abbiano effetto"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Dovresti formattare la partizione %s.\n"
+"Altrimenti non verrà assegnato un punto di mount per %s in fstab.\n"
+"Vuoi uscire comunque?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Azzerare tutto"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Partizionare automaticamente"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Ancora"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informazioni sul disco fisso"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Tutte le partizioni primarie sono in uso"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Non posso aggiungere altre partizioni"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Se vuoi avere altre partizioni, devi eliminarne una per potere in seguito "
+"crearne una estesa"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Senza supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount tranne che per unità CDROM"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Salva la tabella delle partizioni"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Ripristina tabella delle partizioni"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Recupera tabella delle partizioni"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Ricarica tabella delle partizioni"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automounting di supporti rimovibili"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Scegli file"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"La tabella delle partizioni nella copia di sicurezza\n"
+"non ha la stessa dimensione del disco fisso.\n"
+"Continuo lo stesso?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Provo a recuperare la tabella delle partizioni"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informazioni dettagliate"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Ridimensiona"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatta"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Aggiungi a RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Aggiungi a LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Cancella"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Rimuovi da RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Rimuovi da LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifica RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Usa per loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Creare"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Crea una nuova partizione"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Settore iniziale: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Dimensione in MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tipo di filesystem: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferenza: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Nome del volume logico "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Non si può creare una nuova partizione\n"
+"(è stato raggiunto il numero massimo di partizioni primarie).\n"
+"Occorre prima eliminare una partizione primaria e crearne una estesa."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Rimuovo il file di loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Dopo aver cambiato il tipo della partizione %s, tutti i dati su questa "
+"partizione saranno persi"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Cambia il tipo di partizione"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Che filesystem vuoi usare?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Passaggio da ext2 a ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Quale etichetta di volume?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Etichetta:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Dove devo montare il file loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Dove devo montare il dispositivo %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Non si può deselezionare questo punto di mount perché la partizione\n"
+"è usata per il loopback. Bisogna, prima, rimuovere il loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Dove devo montare %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Ridimensionamento"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Calcolo dei limiti del filesystem FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Questa partizione non è ridimensionabile"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"È meglio fare una copia di riserva di tutti i dati su questa partizione"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Dopo aver ridimensionato la partizione %s, tutti i dati su questa partizione "
+"saranno persi"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Scegliere la nuova dimensione"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nuova dimensione in MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Dimensione minima: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Dimensione massima: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Per assicurare l'integrità dei dati dopo aver ridimensionato partizioni,\n"
+"saranno eseguiti dei controlli sul filesystem al prossimo riavvio di Windows"
+"(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Scegli un RAID esistente a cui aggiungere"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nuovo"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Scegliere un LVM esistente"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Nome LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Il volume fisico %s è ancora in uso.\n"
+"Vuoi spostare su altri volumi le estesioni fisiche in uso su questo volume?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Spostamento delle estensioni fisiche"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Questa partizione non può essere usata per il loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Nome file loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Fornisci un nome di file"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "File già usato da un altro loopback, devi indicarne un altro"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Il file esiste già. Lo uso?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Opzioni di mount"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Vari"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "dispositivo"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "livello"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "dimensione frammento in KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Attenzione: questa operazione è pericolosa."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Che tipo di partizionamento?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Sarà necessario riavviare il sistema affinché le modifiche diventino "
+"effettive"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "La tabella delle partizioni di %s sta per essere scritta su disco!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Dopo aver formattato la partizione %s, tutti i dati su questa partizione "
+"saranno persi"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Controllo blocchi danneggiati?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Sposta i file sulla nuova partizione"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Nascondi i file"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"La directory %s contiene già dei dati\n"
+"(%s)\n"
+"\n"
+"Potete scegliere di spostare i file nella partizione che sarà montata li o "
+"lasciarli dove sono (cosa che comporta nasconderli con il contenuto della "
+"partizione montata)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Sto spostando i file sulla nuova partizione"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Copia di %s in corso"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Sto cancellando %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "la partizione %s adesso è nota come %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "È cambiata la numerazione delle partizioni: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Dispositivo: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Etichetta volume: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Lettera del drive DOS: %s (solo una supposizione)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipo: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nome: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Inizio: settore %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Dimensione: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s settori"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Da cilindro %d a %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Numero di estensioni logiche: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formattato\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Non formattato\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montato\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"File di loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partizione di boot predefinita\n"
+" (per boot MS-DOS, non per lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Livello %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Dimensione frammento %d in KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Dischi RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Nome file di loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Molto probabilmente questa partizione\n"
+"è una partizione Driver, è meglio\n"
+"non toccarla.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Questa speciale partizione di boot\n"
+"viene utilizzata per effettuare\n"
+"il dual-boot del sistema.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Solo lettura"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Dimensione: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometria: %s cilindri, %s testine, %s settori\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informazioni: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Dischi LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tipo tabella delle partizioni: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "sul canale %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Chiave di cifratura del filesystem"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Scegliere la chiave di cifratura del filesystem"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Questa chiave di cifratura è troppo semplice (deve essere lunga almeno %d "
+"caratteri)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Le chiavi di cifratura non corrispondono"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Chiave di cifratura"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Chiave di cifratura (conferma)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritmo di cifratura"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Cambia tipo"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Annulla"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Impossibile effettuare il login con il nome %s (password errata?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Serve l'autenticazione del dominio"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Quale nome utente"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Un altro"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Per favore inserisci il tuo nome utente, la password e il nome di dominio "
+"per accedere a questo host."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Nome utente"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Ricerca i server"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Cerca nuovi server"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Il pacchetto %s deve essere installato. Lo installo?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "È stato impossibile installare il pacchetto %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Manca il pacchetto %s, che è indispensabile"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "I seguenti pacchetti devono essere installati:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installazione dei pacchetti ..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Rimozione i pacchetti in corso..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Si è verificato un errore perché non è stata trovata alcuna unità valida su "
+"cui creare nuovi filesystem. Per favore controlla l'hardware per stabilire "
+"la causa di questo problema."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Occorre una partizione FAT montata su /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formattazione della partizione %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Sto creando e formattando il file %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Impossibile formattare %s nel formato %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "formattazione %s di %s fallita"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Mount circolari %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Sto montando la partizione %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "il mount della partizione %s sulla directory %s non è riuscito"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Sto controllando %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "errore in fase di unmount di %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Attivazione della partizione di swap %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Usa un filesystem crittato"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Attivare le quote per i gruppi e imporre eventuali limiti"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Non aggiornare i tempi di accesso agli inode su questo filesystem\n"
+"(p.e., per accessi più rapidi al news spool e quindi server di news più "
+"veloci)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Può essere montato solo esplicitamente\n"
+"(ossia, l'opzione -a non farà montare questo file system)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Non interpretare i dispositivi speciali a blocchi o caratteri nel filesystem."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Non permettere l'esecuzione di alcun binario sul filesystem montato.\n"
+"Questa opzione può essere utile per un server che ha dei\n"
+"filesystem contenenti dei binari per architetture diverse dalla propria."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Non consente che i bit set-user-identifier o set-group-identifier\n"
+"abbiano effetto. (Ciò sembrerebbe sicuro, ma è piuttosto rischioso\n"
+"se hai installato suidperl(1).)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Monta il filesystem in sola lettura."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Tutti gli I/O sul file-system devono avvenire in modo sincrono."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Consentire ad ogni utente di montare e smontare il file system."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Consentire ad un utente normale di montare il file system."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Attivare le quote per gli utenti e imporre eventuali limiti"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Supporto attributi estesi per l'\"utente.\" "
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Permetti agli utenti normali di accedere in scrittura"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Permetti agli utenti normali di accedere solo per leggere"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Punto di mount doppio: %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nessuna partizione disponibile"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Controllo delle partizioni per trovare i punti di mount"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Scegli i punti di mount"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Scegliere le partizioni da formattare"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Errori nella verifica del filesystem %s. Vuoi riparare gli errori? "
+"(attenzione, si potrebbero perdere dei dati)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Swap insufficiente per completare l'installazione.\n"
+"Per favore, aumentane le dimensioni"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Deve esserci una partizione root.\n"
+"Per farla, basta creare una partizione (o cliccare su una già esistente)\n"
+"e poi cliccare su \"Punto di mount\" per assegnarla a \"/\""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Manca una partizione swap\n"
+"\n"
+"Continuo comunque?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Usa lo spazio libero"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Non c'è abbastanza spazio libero per creare nuove partizioni"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Usa partizioni esistenti"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Non esiste già una partizione da usare"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Usa la partizione Microsoft Windows® per loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Che partizione devo usare per Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Fissa le dimensioni"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Dimensione partizione root in MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Dimensione partizione di swap in MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Non c'è una partizione FAT da usare come loopback (o ha poco spazio libero)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Usa lo spazio libero della partizione Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Quale partizione vuoi ridimensionare?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Il ridimensionatore della FAT non riesce a gestire la partizione, \n"
+"si è verificato il seguente errore: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Sto calcolando la dimensione della partizione Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"La partizione Microsoft Windows® è troppo frammentata. Bisogna riavviare il "
+"computer sotto Microsoft Windows®, lanciare \"defrag\" e poi ricominciare "
+"l'installazione di Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ATTENZIONE!\n"
+"\n"
+"\n"
+"DrakX ora ridimensionerà la partizione Windows.\n"
+"\n"
+"\n"
+"Sii prudente: questa operazione è pericolosa. Se non lo hai già fatto, devi "
+"uscire dalla installazione e lanciare \"chkdsk c:\" da riga di comando sotto "
+"Windows (attenzione, l'uso del comando grafico \"scandisk\" non è "
+"sufficiente. Devi assolutamente lanciare \"chkdsk\" da linea di comando!). "
+"Se vuoi lancia anche defrag. Poi puoi riavviare l'installazione. È "
+"consigliato anche un backup dei dati.\n"
+"\n"
+"\n"
+"Quando sei sicuro, premi %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Avanti"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Quanto spazio devo lasciare per Microsoft Windows® sulla partizione %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Dimensione"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Sto ridimensionando la partizione Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Ridimensionamento FAT fallito: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Non c'è una partizione FAT da ridimensionare\n"
+"(o non basta lo spazio disponibile)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Rimuovi Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Cancella e utilizza l'intero disco"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Ci sono più dischi rigidi, su quale vuoi installare Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"TUTTE le partizioni esistenti sul disco %s (NB. i dati contenuti verranno "
+"persi)"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Partizionamento personalizzato"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Usa fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Adesso puoi partizionare %s\n"
+"Alla fine, ricordati di salvare usando \"w\""
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Manca spazio per l'installazione"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+"L'assistente per partizionare di DrakX ha trovato le seguenti soluzioni:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partizionamento fallito: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Non si può usare JFS per partizioni più piccole di 16 MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Non si può usare ReiserFS per partizioni più piccole di 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "con /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Rilevato un BIOS software RAID sui dischi %s. Attivarlo?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"La tabella delle partizioni del dispositivo %s è illeggibile: è troppo "
+"corrotta :(\n"
+"Posso provare a continuare, svuotando le partizioni danneggiate\n"
+"(TUTTI I DATI verranno persi!). L'altra soluzione è di impedire a DrakX di\n"
+"modificare la tabella delle partizioni. (L'errore è %s)\n"
+"\n"
+"Accetti di perdere tutte le partizioni?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "I punti di mount devono iniziare con /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Il nome dei punti di mount dovrebbe contenere solo lettere e numeri"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "C'è già una partizione con punto di mount %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Hai selezionato una partizione RAID software come root (/).\n"
+"Nessun bootloader può gestirla senza una partizione /boot.\n"
+"Accertarti di aver aggiunto una partizione /boot."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Non puoi usare un volume logico LVM per il punto di mount %s perché è "
+"distribuito su più volumi fisici"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Hai selezionato un volume logico LVM come root (/).\n"
+"Il bootloader non può gestire questa situazione se il volume è ripartito su "
+"più volumi fisici.\n"
+"Devi prima creare una partizione /boot"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Questa directory dovrebbe rimanere all'interno del filesystem root"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"È richiesto un vero filesystem (ext2/ext3, reiserfs, xfs o jfs) per questo "
+"punto di mount\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Non puoi usare un filesystem crittato per il punto di mount %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Non c'è abbastanza spazio libero per l'allocazione automatica"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nulla da fare"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Floppy"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disco"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Masterizzatori CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Nastro"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Controller AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Scheda video"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "scheda DVB"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Scheda TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Altri dispositivi multimediali"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Scheda audio"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processori"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Dispositivi ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "Dispositivi audio USB"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Schede radio"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "Schede di rete ATM"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "Schede di rete WAN"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Dispositivi bluetooth"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Scheda ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "Modem ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memoria"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Stampante"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Controller per porta giochi"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Controller SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Controller RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Controller (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Dispositivi di archivizione di massa USB"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Tipo di scheda:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Controller firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Controller PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Controller SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Controller USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Porte USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Controller SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Bridge e controller di sistema"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastiera"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Ttavoletta grafica e touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mouse"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Sconosciuto/Altri"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu n. "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Bisogna attendere, ... sto applicando la configurazione"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Non c'è un driver alternativo"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Non c'è nessun altro driver OSS/ALSA conosciuto per questa scheda audio(%s), "
+"che attualmente usa \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Configurazione del suono"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Qui è possibile scegliere un driver alternativo (OSS o ALSA) per la scheda "
+"audio (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"La scheda ora utilizza il driver %s \"%s\" (il driver predefinito era \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) è stata la prima API audio. È indipendente dal S.O. "
+"(è disponibile per la maggior parte dei sistemi UNIX(tm) ) ma è un'API molto "
+"elementare e limitata.\n"
+"Per sovrappiù, tutti i driver OSS reinventano la ruota.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) è un'architettura modularizzata\n"
+"che supporta un'ampia gamma di schede ISA, USB e PCI.\n"
+"\n"
+"Inoltre, fornisce un'API di livello molto più alto rispetto a OSS.\n"
+"\n"
+"Per usare alsa, si può scegliere tra utilizzare:\n"
+"- la compatibilità con la vecchia API di OSS\n"
+"- la nuova API di ALSA che fornisce funzionalità molto più avanzate, ma che "
+"richiede l'utilizzo della libreria ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Driver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Ricerca di guasti"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Il vecchio driver \"%s \" è sulla lista nera.\n"
+"\n"
+"È stato riferito che, quando viene fermato, può creare problemi al kernel.\n"
+"\n"
+"Il nuovo driver \"%s\"sarà utilizzabile solo dopo il prossimo riavvio."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Nessun driver open source"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Non c'è nessun driver libero per questa scheda audio(%s), ma ce n'è uno "
+"commerciale a \"%s\""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nessun driver conosciuto"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Non esistono driver conosciuti per questa scheda audio (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Driver sconosciuto"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Errore: Il driver \"%s\" per la scheda audio non è nell'elenco"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Individuazione problemi audio"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Un controllo classico in caso di problemi audio è lanciare questi comandi:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" ti dice qual è il driver predefinito per "
+"la tua scheda\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" ti dice che driver si sta usando "
+"ora\n"
+"\n"
+"- \"/sbin/lsmod\" ti permette di controllare se il modulo (driver) è\n"
+"caricato o no\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" e \"/sbin/chkconfig --list alsa\" ti "
+"dicono\n"
+"se i servizi sound e alsa sono configurati per funzionare all'initlevel 3\n"
+"\n"
+"- \"aumix -q\" ti dice se il volume del suono è azzerato o no\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" ti dice quale programma sta usando la scheda\n"
+"audio.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Scelta di un driver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Scelta arbitraria d'un driver..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Se sei realmente convinto di sapere qual è il driver giusto\n"
+"per la tua scheda audio, prelevalo da questa lista.\n"
+"\n"
+"Attualmente il driver usato per la tua scheda audio \"%s\" è\" %s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Riconoscimento automatico"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Sconosciuto|Generico"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Sconosciuto|CPH05X (bt878) [molte marche]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Sconosciuto|CPH05X (bt878) [molte marche]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Per la maggior parte delle schede di sintonia TV recenti, il modulo bttv del "
+"kernel GNU/Linux si limita\n"
+"ad identificare automaticamente i parametri corretti. Se la scheda non è "
+"stata identificata correttamente, puoi correggere adesso il modello della "
+"scheda e del sintonizzatore. Se bisogna farlo, basta selezionare i parametri "
+"della scheda TV."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Tipo di scheda:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tipo di sintonizzatore:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Sì"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "No"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Scegli un file"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Aggiungi"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifica"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Finisci"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Indietro"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Scelta errata, riprova\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "La tua scelta? (predefinito %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Voci che dovrai riempire:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "La tua scelta? (0/1, predefinito \"%s\") "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Pulsante \"%s\": %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Vuoi cliccare su questo pulsante?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Cosa scegli? (predefinito \"%s\"%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " immetti \"void\" come dato vuoto"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Ci sono molte cose fra cui scegliere (%s)\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Per favore, scegliere il primo numero del gruppo di 10 che vuoi\n"
+"modificare, oppure premi Invio per continuare.\n"
+"Cosa hai scelto? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Attenzione, un'etichetta è cambiata:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Riproporre"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emirati Arabi Uniti"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua e Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Antille olandesi"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartide"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Americana"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia Erzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgio"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasile"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Isola di Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bielorussia"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Isole Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Repubblica Centro Africana"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Svizzera"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Costa d'Avorio"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Isole Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Cile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Camerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Cina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia e Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Capo Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Isola Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cipro"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Repubblica Ceca"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Germania"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Gibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danimarca"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Repubblica Dominicana"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egitto"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Occidentale"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spagna"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandia"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Isole Falkland (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Isole Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francia"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Regno Unito"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Guiana Francese"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibilterra"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenlandia"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadalupa"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Guinea Equatoriale"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grecia"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Georgia del Sud e le isole Sandwich meridionali"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Cina (Hong Kong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Isole Heard e McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croazia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungheria"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israele"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territorio Britannico dell'Oceano Indiano"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islanda"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Giordania"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Giappone"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirghizistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambogia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comore"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts e Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Corea del Nord"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Corea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Isole Cayman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakistan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libano"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lituania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lussemburgo"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Lettonia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marocco"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavia"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Isole di Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Isole Marianne Settentrionali"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinica"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldive"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Messico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malesia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambico"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nuova Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Isola Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Paesi Bassi"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegia"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nuova Zelanda"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polinesia Francese"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Nuova Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippine"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonia"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "San Pietro e Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Porto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portogallo"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arabia Saudita"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Isole Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svezia"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sant'Elena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard e le isole Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovacchia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome e Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Siria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Isole Turks e Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Ciad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Territori australi francesi"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailandia"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tagikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Est"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turchia"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad e Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ucraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Stati Uniti (Isole minori)"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Stati Uniti"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vaticano"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Saint Vincent e Grenadine"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Isole Vergini (britanniche)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Isole Vergini (U.S.A.)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis e Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sud Africa"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Benvenuto in %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Lo spostamento su altri volumi delle estensioni fisiche in uso non è "
+"riuscito."
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Il volume fisico %s è ancora in uso"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Prima rimuovi i volumi logici\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Il bootloader non può gestire una /boot ripartita su più volumi fisici"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introduzione\n"
+"\n"
+"Nel seguito intendiamo con \"Software\" il sistema operativo e le diverse "
+"componenti disponibili\n"
+"nella distribuzione Mandriva Linux. Il Software include, ma non è limitato "
+"all'insieme di\n"
+"programmi, metodi, regole e documentazione relativi al sistema operativo e "
+"alle diverse componenti\n"
+"della distribuzione Mandriva Linux.\n"
+"\n"
+"\n"
+"1. Licenza\n"
+"\n"
+"Per favore leggete con attenzione questo documento.\n"
+"Questo documento costituisce un contratto tra voi e la Mandriva S.A. per "
+"quanto riguarda l'uso del Software. L'azione di installare, duplicare o "
+"usare in qualsiasi modo il Software implica l'esplicita accettazione e il "
+"pieno consenso ad adeguarsi ai termini e alle condizioni di questa Licenza. "
+"Se non si è d'accordo con uno o più punti della Licenza, non si ha "
+"l'autorizzazione ad installare, duplicare o utilizzare il Software. "
+"Qualunque tentativo di installare, duplicare o utilizzare il Software in "
+"modi non conformi ai termini e alle condizioni della Licenza porterà "
+"automaticamente all'annullamento della licenza e alla revoca dei vostri "
+"diritti ai sensi della stessa. Una volta invalidata la Licenza, avete "
+"l'obbligo di distruggere immediatamente tutte le copie del Software in "
+"vostro possesso.\n"
+"\n"
+"\n"
+"2. Garanzia e limiti della garanzia\n"
+"\n"
+"Il Software e la documentazione allegata sono forniti \"come sono\", senza "
+"nessuna garanzia, nei limiti permessi dalla legge. In nessun caso, e nei "
+"limiti permessi dalla legge, la Mandriva S.A. potrà essere ritenuta "
+"responsabile per un qualsiasi danno, speciale, accidentale, diretto o "
+"indiretto (inclusi, senza limitazioni, danni dovuti alla perdita di attività "
+"commerciali, interruzioni dell'attività commerciale, perdite finanziarie, "
+"oneri legali e sanzioni pecuniarie che derivino da sentenze giudiziarie, o "
+"qualsiasi altra perdita conseguente), dovuto all'utilizzo o "
+"all'impossibilità di utilizzo del Software, anche nel caso in cui Mandriva S."
+"A. sia stata avvertita della possibilità che si verificassero tali danni.\n"
+"\n"
+"RESPONSABILITÀ LIMITATA IN RELAZIONE AL POSSESSO O ALL'USO DI SOFTWARE "
+"PROIBITO IN ALCUNE NAZIONI\n"
+"\n"
+"Nei limiti di legge, in nessun caso Mandriva S.A. o i suoi distributori "
+"potranno essere ritenuti responsabili per un qualsiasi danno, speciale, "
+"accidentale, diretto o indiretto (inclusi, senza limitazioni, danni dovuti "
+"alla perdita di attività commerciali, interruzioni dell'attività "
+"commerciale, perdite finanziarie, oneri legali e sanzioni pecuniarie che "
+"derivino da sentenze giudiziarie, o qualsiasi altra perdita conseguente), "
+"dovuto al possesso e all'uso di componenti software, o derivante dall'aver "
+"scaricato componenti software da uno dei siti di Mandriva Linux, che "
+"risultino proibiti o soggetti a limitazioni d'uso in alcune nazioni per "
+"effetto di leggi locali. Questa limitazione di responsabilità si applica, ma "
+"non è limitata, alle componenti di crittografia sicura incluse nel "
+"Software.\n"
+"\n"
+"\n"
+"3. La Licenza GPL (\"General Public License\") e altre Licenze collegate\n"
+"\n"
+"Il Software è costituito da componenti creati da persone ed enti diversi. La "
+"maggior parte di questi componenti sono soggetti ai termini e alle "
+"condizioni della GNU General Public License, d'ora in poi chiamata \"GPL\", "
+"o di licenze simili. La maggior parte di queste licenze consente di usare, "
+"duplicare, adattare o ridistribuire le componenti software che le adottano. "
+"Per favore, si leggano con attenzione i termini e le condizioni della "
+"licenza relativi a ciascuna componente prima di utilizzarla. Qualsiasi "
+"domanda relativa alla licenza di una componente software dovrebbe essere "
+"indirizzata all'autore di tale componente, e non alla Mandriva. I programmi "
+"sviluppati dalla Mandriva S.A. sono soggetti alla licenza GPL.La "
+"documentazione scritta dalla Mandriva S.A. è soggetta ad una licenza "
+"specifica. Per favore si consulti la documentazione per ulteriori dettagli.\n"
+"\n"
+"\n"
+"4. Diritti di proprietà intellettuale\n"
+"\n"
+"Tutti i diritti relativi alle componenti del Software appartengono ai "
+"rispettivi autori e sono protetti dalle leggi che disciplinano la proprietà "
+"intellettuale e il copyright applicabili ai programmi software. La Mandriva "
+"S.A. si riserva il diritto di modificare o adattare il Software, in parte o "
+"in tutto, con ogni mezzo e per qualsiasi scopo.\"Mandriva\", \"Mandriva Linux"
+"\" e i relativi logo sono proprietà della Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Disposizioni diverse\n"
+"\n"
+"Se una qualsiasi parte di questo contratto è ritenuta non valida, illegale o "
+"non applicabile in seguito a sentenza giudiziaria in una determinata "
+"giurisdizione, tale parte è esclusa dal contratto. Rimangono vincolanti le "
+"altre parti applicabili del contratto. I termini e le condizioni di questa "
+"Licenza sono soggetti alle leggi vigenti in Francia. Qualsiasi disputa in "
+"merito ai termini di questa licenza verrà risolta preferibilmente per via "
+"extra-giudiziaria. Come ultima risorsa, la disputa verrà portata "
+"all'attenzione del Tribunale competente di Parigi - Francia. Per qualsiasi "
+"domanda riguardo questo documento, per favore si contatti Mandriva S.A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Attenzione il Free Software non è necessariamente libero da brevetti,\n"
+"e alcune parti incluse in un pacchetto Free Software potrebbero essere\n"
+"tutelate da brevetto nel tuo paese. Per esempio, il decoder MP3 incluso "
+"potrebbe richiedere una licenza se lo usi per altri scopi (per maggiori\n"
+"informazioni vedi http://www.mp3licensing.com). Se sospetti di\n"
+"essere entrato nel campo di applicazione di un brevetto, verifica\n"
+"attentamente la tua legislazione nazionale."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Attenzione\n"
+"\n"
+"Per favore leggi con attenzione il documento che segue.\n"
+"Se non sei d'accordo con una sua qualsiasi parte, non puoi installare il CD\n"
+"successivo. Premi \"Rifiuta\" per continuare l'installazione senza di esso.\n"
+"\n"
+"\n"
+"Alcune componenti software contenuti nel CD successivo non sono\n"
+"soggette alla licenza GPL o a licenze simili. Ciascuna di tali componenti\n"
+"è pertanto soggetta ai termini e alle condizioni della propria\n"
+"licenza specifica. Per favore leggi con attenzione e attieniti alle "
+"relative\n"
+"licenze specifiche prima di usare o ridistribuire tali\n"
+"componenti software. Tali licenze in genere proibiscono\n"
+"il trasferimento, la duplicazione (eccetto che per scopi di backup),\n"
+"la ridistribuzione, il reverse engineering, il deassemblaggio,\n"
+"la decompilazione o la modifica della componente in questione.\n"
+"Qualunque infrazione del contratto porterà alla immediata cancellazione\n"
+"dei tuoi diritti per quanto riguarda la specifica licenza.\n"
+"A meno che la licenza specifica non ti accordi tale diritti,\n"
+"in genere non potrai installare i programmi su più di un computer,\n"
+"o adattarlo in modo che possa essere usato su una rete. In caso di\n"
+"dubbio, per favore contatta direttamente il distributore\n"
+"o il curatore della componente. Il trasferimento a terzi o la copia di tali\n"
+"componenti, documentazione inclusa, è in genere proibito.\n"
+"\n"
+"\n"
+"Tutti i diritti relativi alle componenti del CD successivo appartengono ai\n"
+"loro rispettivi autori e sono protetti dalle leggi relative alla proprietà\n"
+"intellettuale e al copyright applicabili ai programmi software.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Congratulazioni, l'installazione è completa.\n"
+"Rimuovi il disco di avvio e premi Invio per riavviare il sistema.\n"
+"\n"
+"\n"
+"Per informazioni su correzioni disponibili per questa versione di Linux\n"
+"Mandriva Linux, consulta gli \"Errata\" che trovi su\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Altre informazioni sulla configurazione del sistema sono nel capitolo\n"
+"sulla post-installazione del \"Manuale dell'Utente\" di Mandriva Linux."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Questo driver è privo dei parametri di configurazione!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Configurazione modulo"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Qui si possono configurare tutti i parametri del modulo."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Trovate %s interfacce"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Ne hai un'altra?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Ci sono delle interfacce %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Vedere le informazioni hardware"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installazione driver per controller USB"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installazione driver per controller firewire %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installazione driver per disco rigido %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installazione driver per scheda ethernet %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installazione driver per la scheda %s %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Adesso si possono fornire delle opzioni per il modulo %s.\n"
+"Si noti che ogni indirizzo dovrebbe essere inserito con il prefisso 0x (ad "
+"es.\"0x123\")."
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Adesso si possono fornire delle opzioni per il modulo %s.\n"
+"Le opzioni sono nel formato \"nome=valore nome2=valore2 ...\".\n"
+"Per esempio, \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Opzioni del modulo:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Quale driver %s deve essere provato?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Talvolta, il driver %s richiede informazioni extra per funzionare \n"
+"correttamente, anche se normalmente può farne a meno. Desideri\n"
+"specificare opzioni extra o lasciare che il driver esamini la macchina per\n"
+"ottenere le informazioni di cui ha bisogno? In certi casi, la ricerca può\n"
+"bloccare il computer, ma non dovrebbe causare alcun danno."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Rilevamento automatico"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Specifica opzioni"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Il caricamento del modulo %s è fallito.\n"
+"Vuoi riprovare con altri parametri?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "mount fallito: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Questa piattaforma non supporta le partizioni estese"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Hai uno spazio vuoto non utilizzabile nella tabella delle partizioni.\n"
+"L'unica soluzione è di spostare le partizioni primarie, per avere il buco "
+"vicino alle partizioni estese"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Errore nel leggere il file %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Ripristino dal file %s fallito: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "File di backup errato"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Errore nello scrivere sul file %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Al tuo disco sta accadendo qualcosa di brutto. \n"
+"Un test per verificare l'integrità dei dati è fallito. \n"
+"Significa che qualsiasi cosa venga scritto sul disco genererà solo dati "
+"casuali e corrotti."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Non posso aggiungere una partizione al RAID %s _già formattato_"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Non ci sono abbastanza partizioni per RAID di livello %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Non posso creare la directory «/usr/share/sane/firmware»!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Non posso creare la directory /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Non posso copiare il file %s del firmware in /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Non si possono impostare i permessi sul file %s del firmware!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+"Non si possono installare i programmi necessari per condividere lo/gli "
+"scanner."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "Gli scanner saranno disponibili solo a root, non agli utenti normali."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Permette o inibisce i messaggi simulati di errore IPv4."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Permettere o inibire l'eco icmp in broadcast."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Permette o vieta l'eco icmp."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Permetti o inibisci il login automatico."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Se impostato come \"ALL\", si consente l'esistenza di /etc/issue e /etc/"
+"issue.net.\n"
+"Se impostato come \"NONE\", nessuno di questi file è permesso\n"
+"\n"
+"Altrimenti, solo /etc/issue è permessa."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Permettere o vietare agli utenti il ravvio del sistema da console."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Permettere o negare la connessione da remoto come root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Permette o nega di entrare direttamente come root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Permettere o no l'elencazione degli utenti del sistema sui display manager "
+"(kdm e gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Permetti/impedisci di esportare il display quando\n"
+"si passa dall'account di root ad uno normale.\n"
+"\n"
+"Vedi pam_xauth(8) per maggiori dettagli."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Permette o nega le connessioni a X.\n"
+"\n"
+"- ALL (tutte le connessioni sono permesse),\n"
+"\n"
+"- LOCAL (solo connessioni dalla macchina locale)\n"
+"\n"
+"- NONE (nessuna connessione)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"L'argomento specifica se i client sono autorizzati o no\n"
+"a connettersi dalla rete al server X tramite porta tcp 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autorizza:\n"
+"\n"
+"- tutti i servizi controllati da tcp_wrappers (vedi «man 5 hosts.deny») se "
+"impostato su \"ALL\",\n"
+"\n"
+"- solo quelli locali se impostato su \"LOCAL\",\n"
+"\n"
+"- nessuno se impostato su \"NONE\".\n"
+"\n"
+"Per autorizzare i servizi che ti servono, usa /etc/hosts.allow (vedi hosts."
+"allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Se SERVER_LEVEL (o, se manca, SECURE_LEVEL)\n"
+"è maggiore di 3 in /etc/security/msec/security.conf, crea il symlink\n"
+"/etc/security/msec/server che punta a\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"Il file /etc/security/msec/server è usato da chkconfig --add per\n"
+"decidere di aggiungere un servizio se è presente nel file durante \n"
+"l'installazione dei pacchetti."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Abilita o disabilita gli utenti ad usare crontab e at.\n"
+"\n"
+"Metti gli utenti abilitati in /etc/cron.allow e /etc/at.allow\n"
+"(vedi i man di at(1) e crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Abilita/Disabilita i messaggi di syslog sulla console 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Abilita/disabilita protezione da spoofing nella risoluzione dei nomi.\n"
+"Se \"%s\" è vero, invia anche una segnalazione a syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Avvisi di sicurezza:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Abilita o disabilita la protezione da IP spoofing."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Abilita o disabilita libsave se viene trovato nel sistema."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+"Abilita o disabilita la registrazione su log dei pacchetti IPv4 anomali."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Abilita/disabilita controllo orario di msec sulla sicurezza."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Abilitare \"su\" solo ai membri del gruppo wheel. Se impostato a no, è "
+"consentito a tutti."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Utilizzare password per autenticare utenti."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Attiva o disattiva il controllo di promiscuità sulle schede ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Attivare o disattivare i controlli giornalieri per la sicurezza."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Abilita o disabilita sulogin(8) nel livello \"singolo utente\"."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Aggiungi questo nome alle eccezioni per come msec gestisce la durata delle "
+"password."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Fissa durata password in \"max\" giorni di attività e \"inactive\" giorni in "
+"cui si può ancora cambiare."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Imposta quante vecchie password vengono ricordate\n"
+"per prevenirne il riutilizzo."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Fissa la lunghezza minima della password, con numero minimo di cifre e "
+"lettere maiuscole."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Imposta l'umask di root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "se hai impostato \"si\", verifica le porte aperte."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"se si imposta \"si\", controlla:\n"
+"\n"
+"- le password vuote, \n"
+"\n"
+"- le password non in /etc/shadow\n"
+"\n"
+"- gli utenti diversi da root con ID=0."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"se si imposta \"si\", verifica i permessi dei file nelle home degli utenti."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"se si imposta \"si\", controlla se i dispositivi di rete sono in modo "
+"promiscuo."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+"se si imposta \"si\", esegue ogni giorno le verifiche per la sicurezza."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "se si imposta \"si\", verifica aggiunte e rimozioni di file sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+"se si imposta \"si\", controlla eventuali password vuote in /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "se si imposta \"si\", verifica il checksum dei file suid e sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "se si imposta \"si\", verifica aggiunte e rimozioni di file suid root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "se si imposta \"si\", segnala i file senza proprietario."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "se si imposta \"si\", verifica file e directory scrivibili da tutti."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "se si imposta \"si\", esegue verifiche chkrootkit."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"se impostato, invia la segnalazione a questo indirizzo email,\n"
+"altrimenti lo manda a root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "se si imposta \"si\", invia per posta il risultato della verifica."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Non inviare messaggi se non ci sono segnalazioni"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "se si imposta \"si\", esegue alcuni controlli sul database di rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "se si imposta \"si\", scrive i risultati delle verifiche su syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "se si imposta \"si\", mostra i risultati della verifica su tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Imposta la lunghezza della cronologia per la shell.\n"
+"Se metti -1, sarà illimitata."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Imposta il timeout per la shell. Se metti 0, non c'è tempo massimo."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Il timeout è misurato in secondi"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Imposta l'umask dell'utente."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Permette i messaggi simulati di errore IPv4."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Permettere l'eco icmp in broadcast."
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Accetta eco ICMP"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* esistono"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "L'utente può fare reboot da console"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Permettere la connessione da remoto come root."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Login diretto per root"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Elenca gli utenti sul display manager (kdm o gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Esporta il display quando si passa da root ad un altro utente"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Abilita connessioni X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autorizza connessioni X Window tramite TCP"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autorizza tutti i servizi controllati da tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig segue le regole di msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Autorizza utenti ad usare \"crontab\" e \"at\""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Segnalazioni di syslog sulla console 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Protezione contro lo spoofing da risoluzione dei nomi"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Attiva la protezione da IP spoofing"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Abilita libsave se viene trovato nel sistema"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Abilita la registrazione su log dei pacchetti IPv4 anomali."
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Abilita controllo di sicurezza msec ogni ora"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Abilitare \"su\" solo ai membri del gruppo wheel"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Utilizza password per autenticare utenti"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Controllo di promiscuità sulle schede ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Controllo giornaliero della sicurezza"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) nel livello \"singolo utente\"."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Password senza scadenza per"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Imposta quanto tempo sono valide le password e attivi gli account"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Dimensione cronologia per password"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+"Lunghezza minima della password, con numero minimo di cifre e lettere "
+"maiuscole."
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "umask di root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Dimensione della cronologia della shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Timeout della shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "umask utente"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Controllo porte aperte"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Controlla gli account non sicuri"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Controlla i permessi sui file nelle home degli utenti"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Controlla se i dispositivi di rete sono in modo promiscuo"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Eseguire i controlli giornalieri per la sicurezza"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Verifica aggiunte/rimozioni di file sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Controlla eventuali password vuote in /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Verifica il checksum dei file con permesso suid o sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Verifica aggiunte/rimozioni di file suid root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Segnala i file senza proprietario"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Verifica file e directory scrivibili da tutti"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Esegui controlli per chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Non inviate mail di report vuote"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Se impostato, invia la segnalazione a questo indirizzo email,\n"
+"altrimenti lo manda a root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Invia per posta il risultato della verifica"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Eseguire alcuni controlli sul database di rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Registra i risultati delle verifiche su syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Invia i risultati della verifica su tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Benvenuto ai pirati"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Debole"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Normale"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Alto"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Più alto"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoico"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Questo livello va usato con cura. Rende il sistema più facile da usare,\n"
+"ma molto vulnerabile. Non deve essere usato per una macchina connessa\n"
+"ad altre o ad Internet. Gli accessi non sono regolati da password."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Ora le password sono abilitate, ma è ancora sconsigliato collegarsi a "
+"internet."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Questo è il livello di sicurezza standard, raccomandato per un computer da "
+"usare per connettersi ad Internet come client."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Esistono già alcuni limiti, e ogni notte vengono eseguiti ulteriori "
+"controlli automatici."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"A questo livello di sicurezza, diventa possibile l'uso di questo sistema "
+"come server.\n"
+"La sicurezza è ora abbastanza alta per consentire l'utilizzo del sistema\n"
+"come server che accetta connessioni da molti client.\n"
+"Nota: se la tua macchina è un semplice client su Internet, sarebbe meglio "
+"scegliere un livello più basso."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"È simile al livello precedente, ma ora il sistema è completamente\n"
+"chiuso e le funzioni di sicurezza sono al massimo."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sicurezza"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opzioni base per DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Scegli il livello di sicurezza desiderato"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Livello di sicurezza"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Usare libsafe per i server"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Una libreria che difende il sistema da attacchi \"buffer overflow\" e "
+"\"format string\"."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Amministratore per la sicurezza (login o email)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Lancia il sistema audio ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron è un gestore di comandi periodici."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd è usato per monitorare lo stato delle batterie e fare il log tramite\n"
+"syslog. Può anche essere usato per spegnere la macchina quando la batteria\n"
+"è scarica."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Lancia comandi programmati dal comando at al momento specificato quando\n"
+"hai lanciato at, e lancia comandi batch quando il carico medio è abbastanza\n"
+"basso."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron è un programma UNIX standard che lancia programmi definiti dall'utente\n"
+"ad intervalli periodici programmati. \"vixie cron\" aggiunge diverse "
+"funzioni\n"
+"al normale cron UNIX, incluse una maggior sicurezza e opzioni di\n"
+"configurazione più ricche."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM è un demone per monitorare i file. Segnala quando i file cambiano.\n"
+"Viene utilizzato da GNOME e KDE."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM aggiunge il supporto del mouse ad applicazioni testuali per Linux come\n"
+"Midnight Commander. Permette anche di tagliare/incollare con il mouse in \n"
+"console e include il supporto per i menu a scomparsa in console."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake esegue una ricognizione dell'hardware, e se richiesto\n"
+"configura l'hardware nuovo/cambiato."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache è un server per World Wide Web. È usato per gestire file HTML e CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Il demone superserver di Internet (comunemente chiamato inetd) avvia una\n"
+"varietà di altri servizi Internet a richiesta. È responsabile dell'avvio\n"
+"di molti servizi, tra cui telnet, ftp, rsh, e rlogin. Disabilitando inetd\n"
+"si disabilitano tutti i servizi di cui è responsabile."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Lancio del filtro dei pacchetti per la serie di kernel 2.2, allo scopo\n"
+"di impostare un firewall che protegga la tua macchina da intrusioni."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Questo pacchetto carica la mappa di tastiera selezionata definita in\n"
+"/etc/sysconfig/keyboard, che può essere modificata usando l'utilità "
+"kdbconfig.\n"
+"Questo servizio dovrebbe essere attivato sulla maggior parte delle macchine."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Rigenerazione automatica degli header del kernel in /boot per\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Riconoscimento e configurazione automatica dell'hardware al boot."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf talvolta deve eseguire alcune operazioni al momento\n"
+"del boot per gestire la configurazione del sistema."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd è il demone di stampa necessario per il buon funzionamento di lpr.\n"
+"È fondamentalmente un server che assegna le stampe alle stampanti."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, usato per impostare un server ad alte prestazioni\n"
+"e alta disponibilità."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) è un Domain Name Server (DNS) utilizzato per risolvere\n"
+"nomi host in indirizzi IP."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monta e smonta tutti i punti di mount di Network File System (NFS),\n"
+"SMB (Lan Manager/Windows), e NCP (Netware)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Attiva/disattiva tutte le interfacce di rete di cui è previsto l'avvio\n"
+"al momento del boot."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS è un popolare protocollo per la condivisione di file attraverso reti\n"
+"TCP/IP. Questo servizio fornisce le funzioni di server NFS, che sono\n"
+"configurate tramite il file /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS è un noto protocollo per condividere file attraverso reti TCP/IP.\n"
+"Questo servizio fornisce la funzionalità di blocco dei file NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Attiva automaticamente il tasto relativo al tastierino numerico\n"
+"per la console e Xorg al momento del boot."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Supporto per le win-printer OKI 4w e compatibili."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Il supporto PCMCIA di solito serve per usare dispositivi tipo schede "
+"ethernet\n"
+"e modem nei portatili. Non sarà lanciato se non è stato configurato, perciò\n"
+"non dà problemi anche se installato su macchine che non lo richiedono."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Il portmapper gestisce connessioni RPC, che sono usate da protocolli\n"
+"come NFS e NIS. Il server portmap deve essere in esecuzione su macchine\n"
+"che agiscono come server per protocolli che fanno uso di meccanismi RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix è un Agente di Trasporto di Posta (MTA), un programma \n"
+"che invia la posta elettronica da una macchina ad un'altra."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Salva e ripristina il generatore d'entropia del sistema per una\n"
+"generazione di numeri casuali di alta qualità."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Assegna dispositivi raw a dispositivi a blocchi (quali le partizioni\n"
+"di un disco rigido), da usare con applicazioni come Oracle \n"
+"o con lettori di DVD"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Il demone routed permette tabelle di router IP automatiche aggiornate per\n"
+"mezzo del protocollo RIP. Mentre RIP è largamente usato in piccole reti, \n"
+"protocolli di routing più complessi sono necessari per reti più articolate."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Il protocollo rstat permette agli utenti di una rete di ricevere\n"
+"misure sulle prestazioni di ogni macchina di quella rete."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Il protocollo rusers permette agli utenti di una rete di identificare\n"
+"chi è connesso su un'altra macchina in grado di rispondere."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Il protocollo rwho permette ad utenti remoti di ottenere una lista di \n"
+"tutti gli utenti connessi ad una macchina su cui gira il demone rwho\n"
+"(è simile a finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Lancia il sistema audio sulla tua macchina"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog è un'utilità che molti demoni usano per aggiungere messaggi\n"
+"in vari file di log del sistema. È una buona idea lanciare sempre syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Carica i driver per i tuoi dispositivi USB."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Avvia il server dei font (indispensabile per eseguire Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Stampa"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Condivisione dei file"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Amministrazione remota"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Server database"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servizi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Scegli quali servizi saranno lanciati automaticamente all'avvio."
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servizi : %d attivati su %d registrati"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "in esecuzione"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "fermato"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servizi e demoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Spiacente, ma non ci sono ulteriori\n"
+"informazioni riguardo questo servizio."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informazioni"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Inizia quando richiesto"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Al boot"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Avvia"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Questo programma è free software; è lecito ridistribuirlo e/o modificarlo \n"
+"nei termini della Licenza Pubblica Generica GNU come è pubblicata dalla\n"
+"Free Software Foundation; nella versione 2 della licenza o (a propria "
+"scelta)\n"
+"in una versione successiva.\n"
+"\n"
+"Questo programma è distribuito nella speranza che sia utile, ma\n"
+"SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di\n"
+"NEGOZIABILITÀ o di APPLICABILITÀ PER UN PARTICOLARE SCOPO.\n"
+"Si veda la Licenza Pubblica Generica GNU per maggiori dettagli.\n"
+"Ognuno dovrebbe avere ricevuto una copia della Licenza Pubblica\n"
+"Generica GNU insieme a questo programma; in caso contrario,\n"
+"si scriva alla Free Software Foundation, Inc.,\n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Applicazione per backup e ripristino\n"
+"\n"
+"--default : salva le directory predefinite.\n"
+"--debug : mostra tutti i messaggi di debug.\n"
+"--show-conf : lista dei file o directory da includere nel backup.\n"
+"--config-info : mostra le opzioni del file di configurazione (per "
+"utenti non-X).\n"
+"--daemon : usa la configurazione del demone. \n"
+"--help : mostra questo messaggio.\n"
+"--version : mostra il numero della versione.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPZIONI:\n"
+" --boot - permette di configurare il boot loader\n"
+" --splash - permette di configurare il tema del boot\n"
+"senza opzioni avvia la configurazione del login automatico."
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPZIONI] [NOME_PROGRAMMA]\n"
+"\n"
+"OPZIONI:\n"
+" --help - mostra questo messaggio di spiegazioni.\n"
+" --report - il programma dovrebbe essere uno strumento Mandriva "
+"Linux\n"
+" --incident - il programma dovrebbe essere uno strumento Mandriva "
+"Linux"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - assistente per \"aggiungere un'interfaccia di rete\"\n"
+" --del - assistente per \"rimuovere un'interfaccia di rete\"\n"
+" --skip-wizard - gestire connessioni\n"
+" --internet - configurare internet\n"
+" --wizard - come --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Applicazione per importare e gestire i font\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : importa da tutte le partizioni windows disponibili.\n"
+"--xls_fonts : mostra tutti i fonts che esistono già in xls\n"
+"--install : accetta qualsiasi file o directory con font.\n"
+"--uninstall : disinstalla tutti i font o directory di font.\n"
+"--replace : sostituisci tutti i font eventualmente esistenti.\n"
+"--application : 0 per nessuna applicazione;\n"
+" : 1 per tutte le applicazioni disponibili e supportate.\n"
+" : nome_applicazione (ad es. so per staroffice \n"
+" : e gs per ghostscript) se solo per questa."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPZIONI]...\n"
+"Configuratore del Mandriva Linux Terminal Server\n"
+"--enable : abilita MTS\n"
+"--disable : disabilita MTS\n"
+"--start : avvia MTS\n"
+"--stop : chiudi MTS\n"
+"--adduser : aggiungi uno degli attuali utenti del sistema a MTS "
+"(serve l'username)\n"
+"--deluser : rimuovi uno degli attuali utenti del sistema da MTS "
+"(serve l'username)\n"
+"--addclient : aggiungi una macchina client a MTS (servono indirizzo "
+"MAC, IP e nbi image name)\n"
+"--delclient : togli una macchina client da MTS (servono indirizzo MAC, "
+"IP e il nome dell'immagine nbi)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[Tastiera]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=mio-file] [--word=mia-parola] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPZIONI]\n"
+"Applicazione per stabilire e controllare la connessione a LAN e Internet\n"
+"\n"
+"--defaultintf interface : usa quest'interfaccia come predefinita\n"
+"--connect : connetti ad internet se non si è già collegati\n"
+"--disconnect : disconnetti da internet se si è collegati\n"
+"--force : usato con (dis)connect, forza la (dis)connessione.\n"
+"--status : ritorna 1 se connesso 0 altrimenti, poi esce.\n"
+"--quiet : senza interattività. Da usare con (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPZIONE]...\n"
+" --no-confirmation non chiedere prima una conferma in modalità "
+"Mandriva Update\n"
+" --no-verify-rpm non verificare le firme dei pacchetti\n"
+" --changelog-first mostra nella finestra delle descrizioni il log dei "
+"cambiamenti prima della lista dei file\n"
+" --merge-all-rpmnew chiedi di unire tutti i file .rpmnew/.rpmsave "
+"incontrati"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=dir_sorgenti_sane] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] schermo \n"
+" XFdrake risoluzione"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Uso : %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Tutti i server"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globale"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Africa"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Nordamerica"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "America del sud"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federazione Russa"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "È giusto?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Nessun file selezionato"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Hai selezionato un file, non una directory"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Hai selezionato una directory, non un file"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Directory non trovata"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "File non trovato"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Espandi la struttura"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Raggruppa struttura"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Cambia tra ordinamento semplice o a gruppi"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s non è installato\n"
+"Premi \"Avanti\" per installarlo o \"Annulla\" per uscire"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Install. non riuscita"
+
+#~ msgid "Icon"
+#~ msgstr "Icona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Numero dei buffer di cattura:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "numero dei buffer di cattura per una cattura di tipo mmap"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Impostazioni PLL:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Supporto radio:"
+
+#~ msgid "enable radio support"
+#~ msgstr "abilita il supporto radio"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/ja.po b/perl-install/share/po/ja.po
new file mode 100644
index 000000000..0a9758a50
--- /dev/null
+++ b/perl-install/share/po/ja.po
@@ -0,0 +1,6705 @@
+# translation of libDrakX.po to Japanese
+# Drakbootdisk Japanese translation
+# Copyright (C) 2000,2003, 2004, 2006 Free Software Foundation, Inc.
+# YAMAGATA Hiroo <hiyori13@alum.mit.edu>, 2000.
+# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2003, 2004, 2006.
+# Yukiko Bando <ybando@k6.dion.ne.jp>, 2004, 2005, 2006, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libDrakX-ja\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-10 18:00+0900\n"
+"Last-Translator: Yukiko Bando <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <cooker-i18n@mandrivalinux.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "お待ちください"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "ブートローダをインストール中"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO がドライブ %s に新しいボリューム ID を割り当てようとしています。\n"
+"Windows NT/2000/XP のブートディスクのボリューム ID を変更することは\n"
+"Windows システムの致命的エラーになります。この警告は Windows 95/98 や\n"
+"NT データディスクには当てはまりません。\n"
+"\n"
+"新しいボリューム ID を割り当てますか?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "ブートローダのインストールに失敗しました。以下のエラーが発生:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"ブートローダを有効にするにはオープンファームウェアの起動デバイスを\n"
+"変更する必要があるかもしれません。再起動時にブートローダのプロンプトが\n"
+"表示されない場合は、Command-Option-O-F を再起動時に押して\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" shut-down\n"
+"と入力してください。\n"
+"次回の起動時にはブートローダのプロンプトが表示されるはずです。"
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"パーティションにブートローダをインストールするよう選択されました。\n"
+"これは、起動するハードディスクに既に別のブートローダ (例: システムコマン"
+"ダー) がインストールされていることが前提になります。\n"
+"\n"
+"どのドライブから起動しますか?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "ドライブの最初のセクタ (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "root パーティションの最初のセクタ"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "フロッピー"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "スキップ"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/GRUB のインストール"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "ブートローダをどこにインストールしますか?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "起動方式の設定"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "ブートローダのメインオプション"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "ブートローダ"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "使用するブートローダ"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "起動デバイス"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "メインオプション"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "デフォルトが起動するまでの秒数"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI を有効にする"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "APIC を有効にする"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "ローカル APIC を有効にする"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "パスワード"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "パスワードが一致しません"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "やり直してください"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "%s にはパスワードは使えません"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "パスワード (再入力)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "コマンドラインオプションの制限"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "制限"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "コマンドラインオプションを制限するにはパスワードが必要です"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "起動するたびに /tmp 以下を消す"
+
+# added a \n to the translation to avoid that the dialog window
+# in which it appears to be tooooo laaaaarge
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+"必要なら正確な RAM サイズを入力してください\n"
+"(検出したサイズ: %dMB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "RAM のサイズを MB で入力"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init メッセージ"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "オープンファームウェアの遅延"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "カーネルブートのタイムアウト"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD からの起動を有効にしますか?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF からの起動を有効にしますか?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "デフォルトの OS"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "イメージ"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "追加"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen 追加"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "ビデオモード"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "ネットワークプロファイル"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "ラベル"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "デフォルト"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "ビデオなし"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "空白のラベルは使えません"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "カーネルイメージを指定してください"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "root パーティションは必ず指定してください"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "このラベルは既に使われています"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "どの種類のエントリを追加しますか?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "他の OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "他の OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "他の OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"起動メニューのエントリは以下のとおりです。\n"
+"エントリは追加/変更できます。"
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X プログラムへのアクセス"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "RPM ツールへのアクセス"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "su を許可する"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "管理ファイルへのアクセス"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "ネットワークツールへのアクセス"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "コンパイルツールへのアクセス"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s は追加済み)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "ユーザ名を入力してください"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"ユーザ名には英語の小文字、数字、ハイフン (-)、アンダースコア (_) しか使えませ"
+"ん"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "ユーザ名が長すぎます"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "このユーザ名は既に存在します"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ユーザ ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "グループ ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s は数字でなければいけません"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s は 500 より上でなければいけません。このまま受け入れますか?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "ユーザを追加"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"ユーザ名を入力\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "完了"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "ユーザ受け入れ"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "本名"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "ログイン名"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "シェル"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "自動ログイン"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "自動的に特定のユーザでログオンするように設定できます。"
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "この機能を使います"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "デフォルトのユーザを選択:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "ウィンドウマネージャを選択:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "ライセンスへの同意"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "終了"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "リリースノート"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "承諾する"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "拒否する"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "使用する言語を選んでください。"
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "言語の選択"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux では複数の言語を使うことができます。\n"
+"お使いになりたい言語を選んでください。\n"
+"インストール後に再選択することも可能です。"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "多言語"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "UTF-8 ではないエンコーディング (後方互換性のため)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "すべての言語"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "国名/地域"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "お住いの国を選んでください"
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "利用可能なすべての国名のリスト"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "他の国"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "詳細"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "入力メソッド:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "なし"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "共有しない"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "すべてのユーザに許可"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "カスタム"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"ユーザ間での一部のディレクトリの共有を許可しますか?\n"
+"許可すると、ユーザは konqueror または nautilusで「共有」を\n"
+"クリックするだけで共有することができます。\n"
+"「カスタム」を選ぶとユーザごとに細かく設定できます。\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr "NFS: 伝統的な Unix ファイル共有システム"
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Windows/Mac OS X や新しい Linux システムで使われるファイル共有システム"
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "エクスポートには NFS と SMB を使用できます。どちらを使いますか?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "userdrake を起動"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "閉じる"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"ユーザ別に共有する場合は \"fileshare\" グループを使います。\n"
+"userdrake を使ってこのグループにユーザを追加してください。"
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "ログアウトして Ctrl-Alt-BackSpace を押してください"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "変更を有効にするには再ログインしてください。"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "タイムゾーン"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "タイムゾーンを選んでください。"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "日付、時刻とタイムゾーンの設定"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "どの時刻を使いますか?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (ハードウェアクロックを UTC に設定)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (ハードウェアクロックをローカルタイムに設定)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP サーバ"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "自動的に時間を合わせる (NTP を使用)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "ローカルファイル"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "スマートカード"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows ドメイン"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "SFU の Active Directory"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "WinBind の Active Directory"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "ローカルファイル:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "すべての認証およびユーザ情報の検索にローカルシステムのデータを使う"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"すべてまたは一部の認証に LDAP を使用します。 LDAP を使うと組織内のある種の情"
+"報を一元管理することができます。"
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"同じ NIS ドメイン内の複数のマシンで共通のパスワード/グループファイルを使える"
+"ようにします。"
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows ドメイン:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr "Winbind は Windows ドメインでの情報収集とユーザ認証を可能にします。"
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "SFU の Active Directory:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Active Directory サーバでの認証に Kerberos と LDAP を使う"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Winbind の Active Directory:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr "Winbind は Windows Active Directory サーバのユーザ認証を可能にします。"
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP 認証"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP の Base DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP サーバ"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "シンプル"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "セキュリティレイアウト (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "認証の Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "ドメイン"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "サーバ"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP ユーザデータベース"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "匿名 BIND を使う "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Active Directory の閲覧を許可するユーザ"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "ユーザのパスワード"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS 認証"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS ドメイン"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS サーバ"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"これを W2K PDC で動作させるには、恐らく管理者が以下を実行し、その後\n"
+"サーバを再起動しなければなりません:\n"
+"C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add\n"
+"また、マシンを Windows ドメインにつなぐには、ドメイン管理者のユーザ名/\n"
+"パスワードが必要です。\n"
+"ネットワークがまだ有効になっていない場合は、ネットワークの設定後 DrakX が\n"
+"ドメインに接続を試みます。\n"
+"何らかの理由でこの設定が失敗しドメイン認証ができない場合は、システムを\n"
+"再起動し、Windows(tm) ドメインを使って 'smbpasswd -j DOMAIN -U \n"
+"USER%%PASSWORD' を実行し、管理者のユーザ名/パスワードを入れてください。\n"
+"'wbinfo -t' コマンドで認証が有効かどうかをテストすることができます。"
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "認証の Windows ドメイン"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory レルム "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "ドメイン管理者の名前"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "ドメイン管理者のパスワード"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "認証"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "管理者 (root) のパスワードを設定"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "認証方法"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "パスワードなし"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "このパスワードは短すぎます (最低でも %d 文字以上にしてください)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "NIS ドメインがないのでブロードキャストを使えません"
+
+# NOTE: this message will be displayed by SILO at boot time; that is
+# only the ascii charset will be available
+# so use only 7bit for this message
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"operating system chooser-he youkosou!\n"
+"\n"
+"Ichiran kara OS wo erabu ka Default no OS no kidou wo\n"
+"Matte kudasai.\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO (テキスト表示)"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB (グラフィカル表示)"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB (テキスト表示)"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot の容量が足りません"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "ブートローダは %s パーティションにはインストールできません\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"パーティション番号が変更されたので、ブートローダの設定を更新してください"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"ブートローダを正しくインストールできません。レスキューをブートして %s を選ん"
+"でください。"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "ブートローダを再インストール"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d 分"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 分"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d 秒"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "コマンド %s がありません"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV はウェブサーバのディレクトリをローカルにマウントするための\n"
+"プロトコルです。ウェブサーバが WebDAV サーバとして設定されていれば\n"
+"マウントしたディレクトリをローカルファイルと同様に扱うことができます。\n"
+"WebDAV のマウントポイントを追加するには「新規」を選んでください。"
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "新規"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "アンマウント"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "マウント"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "マウントポイント"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "オプション"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "エラー"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "WavDAV サーバの URL を入力してください"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL は http:// か https:// で始まります"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "サーバ: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "マウントポイント: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "オプション: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "パーティションの設定"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "よくお読みください"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "まずデータをバックアップしてください"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "終了"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "続ける"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"aboot を使う場合はディスクの先頭に空き領域 (2048 セクタほど)\n"
+"を残してください"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "ヘルプ"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "動作を選択"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Microsoft Windows の大きなパーティションが 1 つあります。\n"
+"このパーティションをリサイズすることをおすすめします。\n"
+"(パーティションをクリックして「リサイズ」をクリック)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "パーティションをクリックしてください"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "詳細"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "ハードドライブが見つかりません"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "不明"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+# we must keep label narrow, full katakana label is too wide
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "その他"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "空"
+
+# "FS" instead of "fairuistemu" because we must keep label narrow
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "ファイルシステムの種類:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "警告"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "このパーティションは既に空です"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "まず「アンマウント」を使ってください"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "代わりに %s を使ってください"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "種類"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "別のパーティションを選択"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "パーティションを選択"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "元に戻す"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "標準モードに切り替え"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "エキスパートモードに切り替え"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "確認"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "このまま続けますか?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "保存せずに終了"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "パーティションテーブルを更新せずに終了しますか?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "/etc/fstab の変更を保存しますか?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "パーティションテーブルの変更を反映するには再起動してください"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"パーティション %s をフォーマットする必要があります。\n"
+"そうしないと、マウントポイント %s のエントリは fstab に書き込まれません。\n"
+"このまま終了しますか?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "すべてをクリア"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "自動割り当て"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "詳細"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "ハードドライブの情報"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "すべてのプライマリパーティションが使われています"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "これ以上パーティションを追加できません"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"パーティションを増やすには、どれかを削除して拡張パーティションを作成\n"
+"できるようにしてください。"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "supermount なし"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "CDROM ドライブ以外は supermount"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "パーティションテーブルを保存"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "パーティションテーブルを復旧"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "パーティションテーブルを救出"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "パーティションテーブルを再読み込み"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "リムーバブルメディアを自動的にマウント"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "ファイルを選択"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"バックアップのパーティションテーブルが同一サイズになっていません。\n"
+"このまま続けますか?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "パーティションテーブルを救出"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "詳細情報"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "リサイズ"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "フォーマット"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID に追加"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVM に追加"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "削除"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAID から削除"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM から削除"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID を変更"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "ループバックに使用"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "作成"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "新しいパーティションを作成"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "開始セクタ: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "サイズ (MB): "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "ファイルシステムの種類: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "設定: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "論理ボリューム名 "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"新しいパーティションを作成できません。\n"
+"(基本パーティションの数が上限に達してます)\n"
+"基本パーティションを削除し、拡張パーティションを作成してください。"
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "ループバックファイルを削除しますか?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"パーティション %s の種類を変更すると、このパーティションの全データが失われま"
+"す"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "パーティションの種類を変更"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "どのファイルシステムを使いますか?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2 を ext3 に変更"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "どのボリュームラベル?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "ラベル:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "ループバックファイル %s をどこにマウントしますか?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "デバイス %s をどこにマウントしますか?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"このパーティションはループバックに使用されているので、マウント\n"
+"ポイントを解除できません。まずループバックを削除してください。"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%s をどこにマウントしますか?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "リサイズ中"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT ファイルシステムの境界を計算"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "このパーティションはリサイズできません"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "このパーティションのデータをバックアップしてください"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"パーティション %s をリサイズすると、このパーティションの全データが\n"
+"失われます"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "新しいサイズを選択"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "新しいサイズ (MB): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "最小サイズ: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "最大サイズ: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"パーティションリサイズ後のデータの完全性を確認するため、次回の\n"
+"Microsoft Windows® 起動時にファイルシステムチェックが実行されます。"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "追加する RAID を選んでください"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "新規"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "追加する LVM を選んでください"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM の名前を入力"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"物理ボリューム %s は使用中です。\n"
+"このボリュームの使用中の物理エクステントを他のボリュームに移動しますか?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "物理エクステントを移動"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "このパーティションはループバックには使えません"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "ループバック"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "ループバックファイルの名前: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "ファイル名を入力"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+"ファイルは既に別のループバックに使用されています。別のものを選んでください。"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "ファイルは既に存在します。これを使いますか?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "マウントオプション"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "その他"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "デバイス"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "レベル"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "チャンクサイズ (KiB)"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "注意: この操作は危険です。"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "パーティション設定の種類"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "変更を反映させるには再起動してください"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "ドライブ %s のパーティションテーブルをディスクに書き込みます"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"パーティション %s をフォーマットすると、このパーティションの全データが\n"
+"失われます"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "不正なブロックをチェックしますか?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "ファイルを新しいパーティションに移動"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "ファイルを隠す"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"ディレクトリ %s は既にデータを含んでいます\n"
+"(%s)\n"
+"\n"
+"ファイルをそこにマウントされるパーティションに移動するか、現在の場所に残して"
+"おくかのいずれかを選択できます。後者の場合は、マウントされたパーティションの"
+"内容によってファイルが隠されることになります。"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "ファイルを新しいパーティションに移動"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s をコピー"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s を削除"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "パーティション %s は %s になりました"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "パーティションの番号が変わりました: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "デバイス: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "ボリュームラベル: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS のドライブ文字: %s (推定)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "種類: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "名前: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "開始: セクタ %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "サイズ: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s セクタ"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "シリンダ %d から %d まで\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "論理エクステントの数: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "フォーマット済み\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "未フォーマット\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "マウント済み\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"ループバックファイル:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"デフォルトで起動するパーティション\n"
+" (MS-DOS 用 - LILO 用ではありません)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "レベル %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "チャンクサイズ %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID ディスク %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "ループバックファイル名: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"このパーティションは\n"
+"ドライバパーティションのようです。\n"
+"そのままにしておいてください。\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"このブートストラップ\n"
+"パーティションは\n"
+"デュアルブート用です。\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "%s の空き容量 (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "読み取り専用"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "サイズ: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "ジオメトリ: %s シリンダ, %s ヘッド, %s セクタ\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "情報: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM ディスク %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "パーティションテーブルの種類: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "on channel %d ID %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "ファイルシステムの暗号鍵"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "ファイルシステムの暗号鍵を選んでください"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "この暗号鍵は簡単すぎます (最低でも %d 文字以上にしてください)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "暗号鍵が一致しません"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "暗号鍵"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "暗号鍵 (再入力)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "暗号化アルゴリズム"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "種類を変更"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "キャンセル"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "ユーザ名 %s でログインできません (不正なパスワード?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "ドメイン認証が必要です"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "どのユーザ名"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "別のもの"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"このホストにアクセスするにはユーザ名/パスワード/ドメイン名を入力してください"
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "ユーザ名"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "サーバを検索"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "新しいサーバを検索"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "パッケージ %s が必要です。インストールしますか?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "%s パッケージをインストールできません"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "必要なパッケージ %s がありません"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "以下のパッケージをインストールします:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "パッケージをインストール中..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "パッケージを削除..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"エラー発生 - 新しいファイルシステムを作成するためのデバイスが\n"
+"見つかりません。ハードウェアを確認してください。"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "/boot/efi にマウントされた FAT パーティションが必要です"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "パーティション %s をフォーマット中"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "ファイル %s の作成とフォーマット"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "%s を %s でフォーマットする方法がわかりません"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%2$s を %1$s にフォーマットできませんでした"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "巡回マウント %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "パーティション %s をマウント中"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "パーティション %s をディレクトリ %s にマウントできませんでした"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s をチェック中"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s をアンマウント中にエラー: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "swap パーティション %s を有効にしています"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "暗号化ファイルシステムを使う"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "グループディスククォータを有効にしオプションで制限を強制する"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"このファイルシステムの inode のアクセス時間を更新しない。\n"
+"(用途例: ニューススプールへのアクセス速度を向上させる)"
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"明示的に指定された場合のみマウントする。\n"
+"('-a' オプションではマウントしない)"
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"このファイルシステム上にあるキャラクタ・スペシャル・デバイスやブロック・スペ"
+"シャル・デバイスを解釈しない。"
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"マウントしたファイルシステムでバイナリの実行を禁止する。このオプションは他の"
+"アーキテクチャのバイナリを含むサーバで有用です。"
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"set-user-identifier や set-group-identifier を無効にする。(安全に見えますが "
+"suidperl(1) がインストールされている場合は、かえって危険です)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "ファイルシステムを読み込み専用でマウントする"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "ファイルシステムへのすべての I/O を同期的に行う"
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "すべてのユーザにファイルシステムのマウント/アンマウントを許可する"
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "一般ユーザにファイルシステムのマウントを許可する"
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "ユーザディスククォータを有効にしオプションで制限を強制する"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "\"user.\" 拡張属性をサポートする"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "一般ユーザに書き込み権限を与える"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "一般ユーザに読み取りのみの権限を与える"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "マウントポイント %s は重複しています"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "利用可能なパーティションがありません"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "パーティションをスキャンしてマウントポイントを探しています"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "マウントポイントを選択"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "フォーマットするパーティションを選んでください"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"ファイルシステム %s のチェックに失敗しました。エラーを修復しますか?\n"
+"(注意: データが失われる可能性があります)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "インストールするには swap 領域が足りません。追加してください。"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"rootパーティションが必要です。\n"
+"パーティションを作成 (または既存のものをクリック) してください。\n"
+"「マウントポイント」を押して '/' にセットしてください。"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"swap パーティションがありません\n"
+"\n"
+"このまま続けますか?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "空き領域を使う"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "新しいパーティションに割り当てる十分な空き領域がありません"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "既存のパーティションを使う"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "使用できるパーティションがありません"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "ループバックに Microsoft Windows® パーティションを使う"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "どのパーティションに Linux4Win を入れますか?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "サイズを選択"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "root パーティションのサイズ (MB):"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "swap パーティションのサイズ (MB): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"ループバックに使う FAT パーティションがありません (または容量が不足していま"
+"す)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Microsoft Windows® パーティションの空き領域を使う"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "どのパーティションをリサイズしますか?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT のサイズ変更ツールがパーティションを操作できません。\n"
+"以下のエラーが発生: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Microsoft Windows® パーティションのサイズを計算"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows® パーティションが断片化しすぎています。再起動して "
+"Microsoft Windows® を立ち上げ、\n"
+"デフラグを実行してください。その後再起動して Mandriva Linux をインストール\n"
+"してください。"
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"警告\n"
+"\n"
+"\n"
+"これから Microsoft Windows® のパーティションをリサイズします。\n"
+"\n"
+"\n"
+"これは危険な操作です。実行済みでなければインストールを中止して、Microsoft "
+"Windows® のコマンドプロンプトで \"chkdsk c:\" を実行してください。グラフィカ"
+"ルプログラム\"scandisk\"では不十分です。 必ず\"chkdsk\"を実行してください。そ"
+"して、必須ではありませんがデフラグも実行し、改めてインストールを開始してくだ"
+"さい。データのバックアップも忘れずに作成しておいてください。\n"
+"\n"
+"\n"
+"よろしければ「%s」を押してください。"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "次へ"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Microsoft Windows® 用にパーティション %s に残しておくサイズを指定してください"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "サイズ"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Microsoft Windows® パーティションのリサイズ"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT のリサイズに失敗: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"リサイズする FAT パーティションがありません (または容量が不足しています)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Microsoft Windows® を削除"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "ディスク全体を消去して使用"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "複数のハードドライブがあります。どこに Linux をインストールしますか?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "ドライブ %s のすべてのパーティションとデータが失われます"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "パーティションを手動で設定"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdisk を使う"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"%s のパーティション設定ができます。\n"
+"完了後は 'w' を使って保存してください。"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "インストール用の空き容量がありません"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "以下の解決法があります:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "パーティション設定に失敗: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "16 MB 未満のパーティションに JFS は使えません"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "32 MB 未満のパーティションに ReiserFS は使えません"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr で"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "サーバ"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "ディスク %s に BIOS ソフトウェア RAID を検出しました。有効にしますか?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"デバイス %s のパーティションテーブルを読めません。壊れているようです。\n"
+"不正なパーティションを消せば続行できますが、全データが失われます。\n"
+"DrakX にパーティションテーブルを変更させないこともできます。\n"
+"(エラー: %s)\n"
+"\n"
+"全パーティションを消去しますか?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "マウントポイントは / で始まります"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "マウントポイントにはアルファベットと数字しか使えません"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "マウントポイント %s には既にパーティションがあります\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"root (/) にソフトウェア RAID パーティションを選ばれました。\n"
+"/boot パーティションがないとブートローダはこれを操作できません。\n"
+"必ず /boot パーティションを追加してください。"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"LVM 論理ボリュームは物理ボリュームに及ぶので、マウントポイント %s には使用で"
+"きません。"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"LVM 論理ボリュームをルート (/) に選択されました。\n"
+"このボリュームが物理ボリュームに及ぶ場合はブートローダはこれを扱えません。\n"
+"まず /boot パーティションを作成してください。"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "このディレクトリは root ファイルシステム内に残してください"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"このマウントポイントには実在するファイルシステムが必要です。\n"
+"(例: ext2/ext3, reiserfs, xfs, jfs)\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "マウントポイント %s には暗号化ファイルシステムは使えません"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "空き容量が少ないので自動的に割り当てられません"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "何もすることがありません"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "フロッピー"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "ディスク"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD ライター"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "テープ"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP コントローラ"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "ビデオカード"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB カード"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "テレビカード"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "他のマルチメディアデバイス"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "サウンドカード"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "プロセッサ"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN アダプタ"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB サウンドデバイス"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "ラジオカード"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM ネットワークカード"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN ネットワークカード"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth デバイス"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet カード"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "モデム"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL アダプタ"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "メモリ"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "プリンタ"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "ゲームポートコントローラ"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "ジョイスティック"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA コントローラ"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID コントローラ"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA コントローラ"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB マスストレージデバイス"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "カードリーダー"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire コントローラ"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA コントローラ"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI コントローラ"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB コントローラ"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB ポート"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus コントローラ"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "ブリッジとシステムコントローラ"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "キーボード"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "タブレットとタッチスクリーン"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "マウス"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "スキャナ"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "不明/その他"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "CPU # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "設定を適用しています。お待ちください..."
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "代替ドライバはありません"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"お使いのサウンドカード (%s) には OSS/ALSA 代替ドライバがありません。\n"
+"現在 %s を使っています。"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "サウンドの設定"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr "お使いのサウンドカード (%s) に代替ドライバ (OSS かALSA) を選択できます"
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"お使いのカードは現在 %s %s ドライバを使用しています\n"
+"(このカードのデフォルトドライバは %s です)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) は最初のサウンド API です。OS に依存しない API で\n"
+"ほとんどの UNIX(tm) システムに含まれていますが、非常に基本的で制限の\n"
+"ある API です。\n"
+"さらに、OSSドライバはすべて分りきったことのやり直しにすぎません。\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) はモジュール構造をしていて、\n"
+"非常に広範な ISA/USB/PCI カードをサポートしています。\n"
+"\n"
+"ALSA は OSS よりはるかに優れた API を提供します。\n"
+"\n"
+"ALSA を利用するには次のいずれかを使います:\n"
+"- 古い OSS API との互換性\n"
+"- 新しい ALSA API (多くの拡張機能を提供しますが ALSA ライブラリが必要)\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "ドライバ:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "不具合対策"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"この古い %s ドライバはブラックリストに載っています。\n"
+"\n"
+"アンロード時にカーネルに悪影響を及ぼすとの報告があります。\n"
+"\n"
+"新しい %s ドライバは次のブートストラップから使用されます。"
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "オープンソースのドライバがありません"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"お使いのサウンドカード (%s) 用のフリードライバはありませが、\n"
+"%s にプロプラエタリ・ドライバがあります。"
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "既知のドライバがありません"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "お使いのサウンドカード (%s) 用の既知のドライバはありません"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "不明なドライバ"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "エラー: お使いのサウンドカードの %s ドライバはリストにありません"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "サウンドの不具合修正"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"サウンドのバグを調べるには以下のコマンドを実行してください:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" はお使いのカードのデフォルトドライバを\n"
+"表示\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" は現在使用されているドライバを\n"
+"表示\n"
+"\n"
+"- \"/sbin/lsmod\" はドライバのモジュールがロードされているかどうかを\n"
+"表示\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" と \"/sbin/chkconfig --list alsa\" は\n"
+"サウンドと ALSA サービスが 'initlevel 3' で有効になっているかどうかを\n"
+"表示\n"
+"\n"
+"- \"aumix -q\" はボリュームがミュートになっているかどうかを表示\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" は現在カードを使用しているプログラムを表示\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "手動でドライバを選択"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "任意のドライバを選択"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"お使いのカードに適したドライバがわかっている場合は\n"
+"リストの中からひとつ選んでください。\n"
+"\n"
+"現在のドライバは %s で、お使いのサウンドカードは %s です。"
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "自動検出"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "不明|一般"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "不明|CPH05X (bt878) [各種ベンダー]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "不明|CPH06X (bt878) [各種ベンダー]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"最近のほとんどのテレビカードについては、GNU/Linux カーネルの bttv モジュール"
+"が正しいパラメータを自動的に検出します。\n"
+"検出されたカードが間違っている場合は、正しいチューナとカードの種類を指定して"
+"ください。必要に応じてテレビカードのパラメータを選んでください。"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "カードのモデル:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "チューナの種類:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "はい"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "いいえ"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "ファイルを選択"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "追加"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "変更"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "削除"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "完了"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "戻る"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "不正な選択です。やり直してください。\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "どれにしますか?(デフォルトは %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"以下の項目に入力してください:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "どれにしますか?(0/1, デフォルトは %s)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "ボタン'%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "このボタンをクリックしますか?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "どれにしますか?(デフォルトは `%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "無効な項目には 'void' と入力してください"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> 選択肢はいろいろあります (%s)\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"10 のなかで編集する最初の数字を入力してください。\n"
+"Enter を押すと、このまま先に進みます。\n"
+"どうしますか? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> 注意: ラベルが変更されました:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "再登録"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "アンドラ"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "アラブ首長国連邦"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "アフガニスタン"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "アンティグア・バーブーダ"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "アンギラ"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "アルバニア"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "アルメニア"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "オランダ領アンティル"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "アンゴラ"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "南極"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "アルゼンチン"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "米領サモア"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "オーストリア"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "オーストラリア"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "アルバ"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "アゼルバイジャン"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "ボスニア・ヘルツェゴビナ"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "バルバドス"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "バングラデシュ"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "ベルギー"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "ブルキナファソ"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "ブルガリア"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "バーレーン"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "ブルンジ"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "ベナン"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "バミューダ諸島"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "ブルネイ"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "ボリビア"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "ブラジル"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "バハマ"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "ブータン"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "ブーベ島"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "ボツワナ"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "ベラルーシ"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "ベリーズ"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "カナダ"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "ココス諸島"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "コンゴ (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "中央アフリカ共和国"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "コンゴ (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "スイス"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "コートジボアール"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "クック諸島"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "チリ"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "カメルーン"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "中国"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "コロンビア"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "コスタリカ"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "セルビア・モンテネグロ"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "キューバ"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "カーボベルデ"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "クリスマス島"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "キプロス"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "チェコ"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "ドイツ"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "ジブチ"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "デンマーク"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "ドミニカ"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "ドミニカ共和国"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "アルジェリア"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "エクアドル"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "エストニア"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "エジプト"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "西サハラ"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "エリトリア"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "スペイン"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "エチオピア"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "フィンランド"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "フィジー"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "フォークランド諸島 (マルビーナス諸島)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "ミクロネシア"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "フェロー諸島"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "フランス"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "ガボン"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "英国"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "グレナダ"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "グルジア"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "仏領ギアナ"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "ガーナ"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "ジブラルタル"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "グリーンランド"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "ガンビア"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "ギニア"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "グアドループ"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "赤道ギニア"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "ギリシャ"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "南ジョージア島・南サンドイッチ諸島"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "グアテマラ"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "グアム"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "ギニアビサウ"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "ガイアナ"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "ハード島・マクドナルド諸島"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "ホンジュラス"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "クロアチア"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "ハイチ"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "ハンガリー"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "インドネシア"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "アイルランド"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "イスラエル"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "インド"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "英領インド洋地域"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "イラク"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "イラン"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "アイスランド"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "イタリア"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "ジャマイカ"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "ヨルダン"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "日本"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "ケニア"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "キルギス"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "カンボジア"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "キリバス"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "コモロ"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "セントクリストファー・ネビス"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "北朝鮮"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "韓国"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "クウェート"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "ケイマン諸島"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "カザフスタン"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "ラオス"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "レバノン"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "セントルシア"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "リヒテンシュタイン"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "スリランカ"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "リベリア"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "レソト"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "リトアニア"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "ルクセンブルク"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "ラトビア"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "リビア"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "モロッコ"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "モナコ"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "モルドバ"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "マダガスカル"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "マーシャル諸島"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "マケドニア"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "マリ"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "ミャンマー"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "モンゴル"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "北マリアナ諸島連邦"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "マルティニク"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "モーリタニア"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "モンセラット"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "マルタ"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "モーリシャス"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "モルディブ"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "マラウイ"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "メキシコ"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "マレーシア"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "モザンビーク"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "ナミビア"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "ニューカレドニア"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "ニジェール"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "ノーフォーク島"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "ナイジェリア"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "ニカラグア"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "オランダ"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "ノルウェー"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "ネパール"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "ナウル"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "ニウエ"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "ニュージーランド"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "オマーン"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "パナマ"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "ペルー"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "仏領ポリネシア"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "パプアニューギニア"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "フィリピン"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "パキスタン"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "ポーランド"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "セントピエール島・ミクロン島"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "ピトケアン島"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "プエルトリコ"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "パレスチナ"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "ポルトガル"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "パラグアイ"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "パラオ"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "カタール"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "レユニオン"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "ルーマニア"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "ロシア"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "ルワンダ"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "サウジアラビア"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "ソロモン諸島"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "セーシェル"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "スーダン"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "スウェーデン"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "シンガポール"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "セントヘレナ島"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "スロベニア"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "スバルバール諸島・ヤンマイエン諸"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "スロバキア"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "シエラレオネ"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "サンマリノ"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "セネガル"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "ソマリア"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "スリナム"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "サントメ・プリンシペ"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "エルサルバドル"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "シリア"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "スワジランド"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "タークス諸島・カイコス諸島"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "チャド"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "仏領極南諸島"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "トーゴ"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "タイ"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "タジキスタン"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "トケラウ諸島"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "東ティモール"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "トルクメニスタン"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "チュニジア"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "トンガ"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "トルコ"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "トリニダード・トバゴ"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "ツバル"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "台湾"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "タンザニア"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "ウクライナ"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "ウガンダ"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "米領太平洋諸島"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "米国"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "ウルグアイ"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "ウズベキスタン"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "バチカン"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "セントビンセント・グレナディーン"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "ベネズエラ"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "英領バージン諸島"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "米領バージン諸島"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "ベトナム"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "バヌアツ"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "ワリス・フテュナ諸島"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "サモア"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "イエメン"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "マヨット"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "南アフリカ"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "ザンビア"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "ジンバブエ"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s へようこそ"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "使用中の物理エクステントを他の物理ボリュームに移動できませんでした"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "物理ボリューム %s は使用中です"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "まず論理ボリュームを削除してください\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "ブートローダは複数の物理ボリューム上の /boot を扱えません"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"序文\n"
+"\n"
+"オペレーティング・システムと Mandriva Linux ディストリビューションに\n"
+"含まれる様々なコンポーネントを、以下「ソフトウェア製品」と呼びます。\n"
+"ソフトウェア製品には、オペレーティング・システムに関連するプログラム\n"
+"一式・方法・ルール・ドキュメントと Mandriva Linux ディストリビューション\n"
+"の様々なコンポーネントが含まれます。但し、これらに限定されるものでは\n"
+"ありません。\n"
+"\n"
+"\n"
+"1. 使用承諾契約\n"
+"\n"
+"この文書をよくお読みください。この文書はソフトウェア製品に適用される\n"
+"お客様と Mandriva S.A. との間の使用承諾契約です。方法の如何にかかわ\n"
+"らず、ソフトウェア製品をインストール・コピーまたは使用することによって\n"
+"お客様は使用承諾契約の規約に従うことに同意されたものとします。使用承諾\n"
+"契約に少しでも同意できない部分がある場合は、ソフトウェア製品をインスト\n"
+"ール・コピーまたは使用することはできません。この使用承諾契約の規約に反\n"
+"する方法でソフトウェア製品をインストール・コピーまたは使用された場合は\n"
+"この使用承諾契約に基づきお客様は製品を使用する権利を喪失します。そして\n"
+"契約の失効にともない、ソフトウェア製品のすべてのコピーを直ちに破棄しな\n"
+"くてはなりません。\n"
+"\n"
+"\n"
+"2. 限定保証\n"
+"\n"
+"法律で認められる範囲内で、Mandriva S.A. はソフトウェア製品と付属の\n"
+"ドキュメントを「保証なし」で提供しています。法律で認められる範囲内で、\n"
+"Mandriva S.A. はいかなる状況においてもソフトウェア製品の使用または\n"
+"使用不能によって生じた特殊・偶発的・直接的・間接的な損害に対して責任を\n"
+"負いません。これらの損害には、取引上の損失・事業の中断・経済的損失・\n"
+"裁判の判決によって発生した訴訟費用ならびに罰金、その他の間接的な損失を\n"
+"無制限に含みます。Mandriva S.A. はこのような損害またはその可能性を\n"
+"報告された場合も責任を負いかねます。\n"
+"\n"
+"いくつかの国で禁止されているソフトウェアの所持・使用に関する限定保証\n"
+"\n"
+"法律で認められる範囲内で、Mandriva S.A. またはその製品を配布する者\n"
+"は、いかなる状況においてもソフトウェア製品のコンポーネントの所持・使用\n"
+"またはいくつかの国の法律によって禁止・制限されているソフトウェアを\n"
+"Mandriva Linux のウェブサイトからダウンロードしたことによって生じた特殊・\n"
+"偶発的・直接的・間接的な損害に対して責任を負いません。これらの損害には\n"
+"取引上の損失・事業の中断・経済的損失・裁判の判決によって発生した訴訟\n"
+"費用ならびに罰金、その他の間接的な損失を無制限に含みます。この限定保証\n"
+"はソフトウェア製品に含まれる強力な暗号化コンポーネントにも適用されます。\n"
+"\n"
+"\n"
+"3. GPLライセンスと関連するライセンス\n"
+"\n"
+"ソフトウェア製品は様々な人と団体によって制作されたコンポーネントによっ\n"
+"て構成されています。これらのコンポーネントの大部分は GNU General Public\n"
+"License (以下「GPL」と呼びます) または類似のライセンスに準拠しています。\n"
+"これらのライセンスの多くは対象となるコンポーネントの使用・コピー・改作\n"
+"または再配布を認めています。各コンポーネントを使用する前に、それぞれの\n"
+"使用承諾契約の規約をよくお読みください。各コンポーネントのライセンスに\n"
+"関し不明な点があれば、Mandriva ではなくコンポーネントの作者へお問い\n"
+"合わせください。Mandriva S.A. が開発したプログラムは GPL ライセンスに\n"
+"準拠します。Mandriva S.A. が作成したドキュメントについては、特別な\n"
+"ライセンスに準拠します。詳しくはドキュメントをご参照ください。\n"
+"\n"
+"\n"
+"4. 知的所有権\n"
+"\n"
+"ソフトウェア製品に含まれるコンポーネントのすべての権利はそれぞれの作者\n"
+"に属し、ソフトウェア・プログラムに適用される知的財産法・著作権法によって\n"
+"保護されています。Mandriva S.A. は方法・目的の如何にかかわらずソフト\n"
+"ウェア製品を全面的・部分的に改変する権利を留保しています。Mandriva と\n"
+"Mandriva Linux、ならびに関連するロゴは Mandriva S.A. の登録商標です。\n"
+"\n"
+"\n"
+"5. 準拠法\n"
+"\n"
+"この使用承諾契約の一部が裁判所の判決によって無効・違法または適用不可と\n"
+"判断された場合は、該当条項はこの契約から除外されます。但し、それ以外の\n"
+"適用可能な条項については、お客様は引き続き従う義務があります。この使用\n"
+"承諾契約の規約はフランス共和国の法律に準拠しています。この使用承諾契約\n"
+"の条項に関する争議は法廷外で解決されることが望まれますが、解決できない\n"
+"場合は最後の手段としてパリ (フランス共和国) の適切な法廷に持ち込みます。\n"
+"この文書に関し不明な点があれば、Mandriva S.A. までご連絡ください。\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"警告: フリーソフトウェアは必ずしも特許フリーではありません。\n"
+"ここに含まれるフリーソフトウェアの中にはお住いの国の特許によって\n"
+"保護されているものがあるかもしれません。例えば、MP3 デコーダーは\n"
+"今後使用を続けるためにはライセンスが必要になるかもしれません。\n"
+"(詳しくは http://www.mp3licensing.com をご覧ください) 特許が適用\n"
+"されるかどうか不明な場合は、お住いの国の法律をご確認ください。"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"警告\n"
+"\n"
+"以下の条項をよくお読みください。少しでも同意できない部分がある\n"
+"場合は、次の CD からのインストールは許可されません。このメディア\n"
+"を使わずにインストールを続ける場合は「拒否する」を選んでください。\n"
+"\n"
+"\n"
+"次の CD に含まれるコンポーネントの中には GPL ライセンスまたは類似\n"
+"のライセンスに準拠しないものがあります。その場合は、それぞれの使用\n"
+"承諾書の規約に準拠します。該当するコンポーネントを使用または再配\n"
+"布する前に、それぞれの使用承諾書をよくお読みください。\n"
+"一般的には、転送・バックアップ目的以外の複製・再配布・改悪・分解・\n"
+"再編集・変更はすべて使用承諾書によって禁じられています。規約に違反\n"
+"すると、使用承諾書に基づき直ちに使用する権利が失われます。また、\n"
+"使用承諾書に明記されていない限り、プログラムを複数のシステムにイン\n"
+"ストールすることやネットワーク経由で他のマシンから使用できるように\n"
+"改変することも禁じられています。不明な場合は、プログラムの配布者ま\n"
+"たは編集者にお問い合わせください。ドキュメントを含めそのようなプロ\n"
+"グラムを第三者に転送したりコピーすることは通常禁じられています。\n"
+"\n"
+"\n"
+"次の CD に含まれるコンポーネントのすべての権利はそれぞれの作者に帰属し\n"
+"ソフトウェアに適用される知的財産法・著作権法によって保護されています。\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"おめでとうございます。インストールが完了しました。\n"
+"起動用メディアを抜き、Enter を押して再起動してください。\n"
+"\n"
+"\n"
+"このバージョンの不具合修正に関する情報については次を参照してください:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"システム設定に関する詳細については Mandriva Linux User's Guide を\n"
+"ご覧ください。"
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "このドライバには設定パラメータがありません。"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "モジュール設定"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "モジュールの各パラメータをここで設定できます。"
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s インターフェースを検出しました"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "別のものはありますか?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "%s インターフェースはありますか?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "ハードウェアの情報を見る"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "USB コントローラのドライバをインストール中"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "firewire コントローラ %s のドライバをインストール中"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "ハードドライブコントローラ %s のドライバをインストール中"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "ethernet コントローラ %s のドライバをインストール中"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s カード %s のドライバをインストール中"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"モジュール %s のオプションを指定してください。\n"
+"注意: アドレスはすべて頭に 0x を付けてください (例: 0x123)"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"モジュール %s のオプションを指定できます。\n"
+"オプションの形式: 名前=値 名前2=値2 ...\n"
+"例: io=0x300 irq=7"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "モジュールのオプション:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "どの %s ドライバを試しますか?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"%s ドライバは、正しく機能するために特別な情報を必要とする場合があります。\n"
+"(普通はオプションなしで問題なく動きます)\n"
+"ドライバに特別なオプションを指定するか、ドライバにマシンを調査させて必要\n"
+"な情報を取得させますか?まれに、調査中にマシンが固まることがありますが、\n"
+"ダメージを与えることはありません。"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "自動検出"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "オプションを指定"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"モジュール %s のロードに失敗しました。\n"
+"他のパラメータでもう一度試しますか?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "マウントに失敗: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "このプラットフォームでは拡張パーティションはサポートされていません"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"パーティションテーブルに空の隙間がありますが使用できません。\n"
+"プライマリパーティションを移動して、この隙間が拡張パーティションの次に来るよ"
+"うにするのが唯一の解決策です。"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "ファイル %s を読み込み中にエラー"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "ファイル %s からの復元に失敗しました: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "不正なバックアップファイル"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "ファイル %s に書き込み中にエラー"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"お使いのドライブに異常が発生しています。\n"
+"データの完全性チェックに失敗しました。\n"
+"このディスクに書き込んでもデータは破損します。"
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "フォーマット済みの RAID %s にはパーティションを追加できません"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "RAID レベル %d にはパーティションが足りません\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "ディレクトリ /usr/share/sane/firmware を作成できません"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "リンク /usr/share/sane/%s を作成できません"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"ファームウェアファイル %s を /usr/share/sane/firmware にコピーできません"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "ファームウェアファイル %s の権限を設定できません"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "スキャナを共有するために必要なパッケージをインストールできません"
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "お使いのスキャナは root 以外のユーザには利用できません"
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "偽の IPv4 エラーメッセージを許可/拒否する"
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "ブロードキャストされた icmp echo を許可/拒否する"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "icmp echo を許可/禁止する"
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "自動ログインを許可/禁止する"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"「すべて」を選ぶと、/etc/issue と /etc/issue.net を許可します。\n"
+"「なし」を選ぶと、どちらも禁止します。\n"
+"それ以外の場合は、/etc/issue のみ許可します。"
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "コンソールユーザによる再起動を許可/禁止する"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "リモート root ログインを許可/禁止する"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "ダイレクト root ログインを許可/禁止する"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "ディスプレイマネージャ (kdm と gdm) のユーザリストを許可/禁止する"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"root から他のユーザアカウントに移行したときに\n"
+"ディスプレイのエクスポートを許可/禁止する。\n"
+"\n"
+"詳しくは man pam_xauth(8) を参照してください。"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X 接続を許可/禁止する:\n"
+"\n"
+"- すべて (すべての接続を許可)\n"
+"\n"
+"- ローカル (ローカル接続のみ許可)\n"
+"\n"
+"- なし (接続しない)"
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"この引数はクライアントに tcp port 6000 の X サーバへの接続を\n"
+"許可するかどうかを指定します。"
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Authorize:\n"
+"\n"
+"- 「すべて」を選ぶと、すべてのサービスを tcp_wrappers が制御します。man "
+"hosts.deny(5) を参照。\n"
+"\n"
+"- 「なし」を選ぶと、どれも制御されません。\n"
+"必要なサービスを認可するには、/etc/hosts.allow を使ってください。man hosts."
+"allow(5) を参照。"
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"SERVER_LEVEL (これがなければ SECURE_LEVEL)\n"
+"が /etc/security/msec/security.conf で 3 より高く設定されている場合は\n"
+"/etc/security/msec/server.<SERVER_LEVEL> へのシンボリックリンク\n"
+"/etc/security/msec/server を作成します。\n"
+"\n"
+"/etc/security/msec/serverは、パッケージのインストール中に\n"
+"'chkconfig --add' が参照し、サービスを追加するかどうかを決定します。"
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"ユーザの crontab と at を有効/無効にします。\n"
+"\n"
+"/etc/cron.allow と /etc/at.allow に許可するユーザを追加します。\n"
+"man at(1) と crontab(1) を参照。"
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Syslog による console 12 への報告を有効/無効にします。"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"name resolution spoofing protection を有効/無効にします。\n"
+"%s が true の場合は syslog に報告します。"
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "セキュリティ警告:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "IP spoofing protection を有効/無効にします。"
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "libsafe がシステムにある場合、libsafe を有効/無効にします。"
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "IPv4 strange packets のログを有効/無効にします。"
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "一時間ごとの msec セキュリティチェックを有効/無効にします。"
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"su を wheel グループのメンバーだけに許可します。「いいえ」の場合は、すべての"
+"ユーザに許可します。"
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "ユーザの認証にパスワードを使用します。"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "ethernet カードの promiscuity チェックを有効/無効にします。"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "毎日のセキュリティチェックを有効/無効にします。"
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "シングルユーザレベルでの sulogin(8) を有効/無効にします。"
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "msec によるパスワード有効期限の管理から除外するユーザ名を追加します。"
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "パスワードの有効日数と無効にするまでの猶予日数を設定します。"
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "パスワードの再利用を防ぐためにパスワード履歴の長さを設定します。"
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr "パスワードの最小の長さ、最小の桁数、最小の大文字数を設定します。"
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "root の umask を設定します。"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "「はい」の場合はオープンポートを確認します。"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"「はい」にすると以下をチェックします:\n"
+"\n"
+"- 空白のパスワード\n"
+"\n"
+"- /etc/shadow のパスワードの有無\n"
+"\n"
+"- root 以外の 0 id のユーザ"
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "「はい」にすると、ユーザ home のファイルの権限をチェックします。"
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "「はい」にすると、ネットワークデバイスが混乱していないか確認します。"
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "「はい」にすると、毎日のセキュリティチェックを実行します。"
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "「はい」にすると、sgid ファイルの追加/削除をチェックします。"
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "「はい」にすると、/etc/shadow の空白のパスワードをチェックします。"
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "「はい」にすると、suid/sgid ファイルのチェックサムを検証します。"
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "「はい」にすると、suid root ファイルの追加/削除をチェックします。"
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "「はい」にすると、所有者のないファイルを報告します。"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"「はい」にすると、world-writabe ファイル/ディレクトリをチェックします。"
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "「はい」にすると、chkrootkit チェックを実行します。"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "設定すると、メールレポートを root にではなくこのアドレスに送ります。"
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "「はい」にすると、チェック結果をメールで報告します。"
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "警告することがない場合はメールを送りません。"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "「はい」にすると、RPM データベースをチェックします。"
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "「はい」にすると、チェック結果を syslog に報告します。"
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "「はい」にすると、チェック結果を tty に報告します。"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "シェルコマンドの履歴サイズを設定します。-1 は無制限。"
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "シェルのタイムアウトを設定します。ゼロはタイムアウトなし。"
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "タイムアウトの単位は秒です"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "ユーザの umask を設定します。"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "偽の IPv4 エラーメッセージを許可"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "ブロードキャストされた icmp echo を許可"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "icmp echo を許可"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* を認める"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "コンソールユーザによる再起動"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "リモート root ログインを許可"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "直接 root でログイン"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "ディスプレイマネージャ (kdm と gdm) にユーザを表示"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "root から他のユーザに移行したときにディスプレイをエクスポートする"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window 接続を許可"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "TCP の X Window 接続を許可"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "tcp_wrappers が制御する全サービスを認める"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig は msec のルールに従う"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "ユーザの crontab と at を許可"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog が console 12 に報告"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Name resolution spoofing protection を有効にする"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "IP spoofing protection を有効にする"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "libsafe がシステムにあるときは libsafe を有効にする"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "IPv4 strange packets のログを有効にする"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "一時間ごとの msec セキュリティチェックを有効にする"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "su を wheel グループのメンバーのみに許可する"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "ユーザの認証にパスワードを使う"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Ethernet カードの promiscuity チェック"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "毎日のセキュリティチェック"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "シングルユーザレベルの Sulogin(8)"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "パスワードの時効なし"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "パスワードとアカウントの有効期限を設定"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "パスワード履歴の長さ"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "パスワードの最小文字数と数字/大文字の数"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "root の umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "シェル履歴のサイズ"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "シェルのタイムアウト"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "ユーザの umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "オープンポートを確認"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "安全でないアカウントをチェック"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "ユーザ home のファイルの権限をチェック"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "ネットワークデバイスが混乱していないか確認"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "毎日のセキュリティチェックを実行"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "sgid ファイルの追加/削除をチェック"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "/etc/shadow の空白のパスワードをチェック"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "suid/sgid ファイルのチェックサムを検証"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "suid root ファイルの追加/削除をチェック"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "所有者のないファイルを報告"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "world-writable ファイル/ディレクトリをチェック"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "chkrootkit チェックを実行"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "空のメール報告を送らない"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr "設定すると、メールレポートを root にではなくこのアドレスに送ります"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "チェック結果をメールで報告"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "RPM データベースをチェック"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "チェック結果を syslog に報告"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "チェック結果を tty に報告"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "とても低い"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "低い"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "標準"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "高い"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "非常に高い"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "極度に高い"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"このレベルを使う場合は注意が必要です。システムの使い勝手はよくなりますが、\n"
+"細心の注意を要します。インターネットや他のマシンに接続するマシンでは使わな\n"
+"いでください。パスワードによる制限もありません。"
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"パスワードによる制限はありますが、ネットワークに接続するマシンにはお勧めでき"
+"ません。"
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"インターネットにクライアントとして接続するマシンに適した標準的なセキュリティ"
+"レベルです。"
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr "いくつかの制限に加え、さらに多くの自動チェックを毎日実行します。"
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"システムをサーバとして安全に利用できるセキュリティレベルです。\n"
+"多くのクライアントがアクセスするサーバマシンに必要十分なセキュリティ\n"
+"を確保します。\n"
+"注意: お使いのマシンが単にクライアントとしてインターネットに接続\n"
+"する場合は、これより低いレベルを選んでください。"
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"前のレベルに似ていますが、このレベルではシステムが完全に閉ざされ\n"
+"セキュリティ機能が最大に設定されます。"
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "セキュリティ"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec の基本的なオプション"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "セキュリティレベルを選んでください"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "セキュリティレベル"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "サーバに libsafe を使う"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "バッファオーバーフローやフォーマットストリング攻撃を防御するライブラリ"
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "セキュリティ管理者 (ログイン名かメールアドレス)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"ALSA (Advanced Linux Sound Architecture)\n"
+"サウンドシステムを起動"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron は定期的コマンドのスケジューラです。"
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd はバッテリの状態を監視し syslog でログを作成します。\n"
+"電池がなくなったときにマシンをシャットダウンするのにも使えます。"
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"at コマンドで設定したコマンドを指定された時間に実行します。\n"
+"そして、平均負荷が低いときにバッチコマンドを実行します。"
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron は UNIX の標準的なプログラムで、ユーザが指定したプログラムを\n"
+"定期的に実行します。vixie cron は cron の基本的な機能に加え、高度\n"
+"なセキュリティや強力な設定オプションなどを備えています。"
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM はファイル監視デーモンです。ファイルが変更されたときに報告を\n"
+"受けるために使います。これは GNOME と KDE で使います。"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM は Midnight Commander などのテキストベースの Linux ソフトで\n"
+"マウスを使えるようにします。コンソールでマウスによるカット&ペーストや\n"
+"ポップアップメニューが利用できるようになります。"
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake はハードウェアを検査し、状況に応じて新たに追加\n"
+"または変更されたハードウェアの設定を行います。"
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache は World Wide Web サーバです。\n"
+"HTML ファイルや CGI の公開に使われます。"
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"インターネットスーパーサーバデーモン (inetd) は、必要に応じて\n"
+"各種のインターネットサービスを開始します。telnet/ftp/rsh/\n"
+"rlogin などがこれに含まれます。inetd を無効にすると、これら\n"
+"のサービスも無効になります。"
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"カーネル 2.2 のパケットフィルタを起動します。\n"
+"これはネットワーク攻撃からマシンを守るため\n"
+"ファイアウォールを設定します。"
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"このパッケージは /etc/sysconfig/keyboard からキーボードマップを\n"
+"ロードします。このファイルは kbdconfig を使って設定します。通常は\n"
+"有効にしておいてください。"
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"/usr/include/linux/{autoconf,version}.h 用に\n"
+"/boot のカーネルヘッダを再生成します。"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "起動時にハードウェアの検出と設定を自動的に行います。"
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf はシステム設定を維持するため起動時に\n"
+"多様な処理を行うことがあります。"
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd は lpr を正しく機能させるために必要なプリンタデーモンです。\n"
+"基本的にはプリンタに印刷ジョブを振り分けるサーバです。"
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux バーチャルサーバは高性能で利便性の\n"
+"高いサーバを構築します。"
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) は、ホスト名と IP アドレスを結び付けるための\n"
+"ドメイン名サーバ (Domain Name Server, DNS) です。"
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"すべてのネットワークファイルシステム (NFS),\n"
+"SMB (LanManager/Windows), NCP (NetWare) マウント\n"
+"ポイントをマウント/アンマウントします。"
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"起動時に開始するよう設定されたすべてのネットワーク\n"
+"インターフェースを有効/無効にします。"
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS は TCP/IP ネットワークでファイル共有をするのによく使われるプロトコル\n"
+"です。このサービスは NFS サーバ機能を提供します。設定には /etc/exports \n"
+"ファイルを使います。"
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS は TCP/IP ネットワークでファイル共有をするのによく使われるプロトコル\n"
+"です。このサービスは NFS ファイルのロック機能を提供します。"
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "起動時にコンソールと Xorg で自動的に numlock を有効にします。"
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "OKI 4w 互換の win プリンタをサポートします。"
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA サポートは、ラップトップコンピュータでイーサネットやモデム\n"
+"などの PC カードを使用できるようにします。自動的に起動しないので、\n"
+"この機能が必要ないマシンにインストールしても安全です。"
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper は RPC 接続を管理します。これは NFS や NIS などのプロトコルで\n"
+"使用されます。RPC 機構を使うプロトコルのサーバとなるマシンでは、この\n"
+"portmap サーバが動いている必要があります。"
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix はメール転送エージェントです。\n"
+"マシン間でメールを移動します。"
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"システムのエントロピープールを保存し復旧します。高品質な乱数が\n"
+"生成されるようになります。"
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"raw デバイスをブロックデバイス (ハードドライブのパーティションなど) に\n"
+"割り当てます。Oracle や DVD プレーヤなどのアプリケーションが使えるよう\n"
+"になります。"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed デーモンは、RIP プロトコル経由の IP テーブルの自動更新を\n"
+"可能にします。RIP は小さなネットワークで広く使われていますが、\n"
+"複雑なネットワークにはより複雑なプロトコルが必要です。"
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat プロトコルを使うと、ネットワークのユーザがネットワークの\n"
+"すべてのマシンについて性能指標を得ることができるようになります。"
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers プロトコルは、ネットワークの他のマシンにログイン\n"
+"しているユーザを識別できるようにします。"
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho プロトコルは、rwho デーモンを実行しているマシンにログインした\n"
+"ユーザのリストを、リモートユーザが取得できるようにします。\n"
+"(finger に似ています)"
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "サウンドシステムを起動"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog は様々なデーモンがシステムログにメッセージを記録するのに\n"
+"使います。Syslog は常に稼動させておいてください。"
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "USB デバイスのドライバをロードします。"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "X フォントサーバを開始します。(Xorg を実行するのに必須)"
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "印刷"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "インターネット"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "ファイル共有"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "システム"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "リモート管理"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "データベースサーバ"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "サービス"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "起動時に自動的に開始するサービスを選んでください"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "サービス: %d 個を起動 (登録数は %d 個)"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "実行中"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "停止中"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "サービスとデーモン"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"このサービスについての\n"
+"追加情報はありません。"
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "情報"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "リクエストがあったときに開始"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "起動時に開始"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "開始"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "停止"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"バックアップ/復元のためのアプリケーション\n"
+"\n"
+"--default : デフォルトのディレクトリを保存\n"
+"--debug : デバッグメッセージをすべて表示\n"
+"--show-conf : バックアップするファイル/ディレクトリのリスト\n"
+"--config-info : 設定ファイルオプションの説明を表示 (X を使用しない"
+"ユーザのために)\n"
+"--daemon : デーモン設定を使う\n"
+"--help : このヘルプを表示\n"
+"--version : バージョン情報を表示\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"オプション:\n"
+" --boot - ブートローダの設定を有効にする\n"
+" --splash - 起動テーマの設定を有効にする\n"
+"デフォルトモード: 自動ログイン機能の設定を提供する"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[オプション] [プログラム名]\n"
+"\n"
+"オプション:\n"
+" --help - このヘルプを表示\n"
+" --report - プログラムは Mandriva Linux のツールに限ります\n"
+" --incident - プログラムは Mandriva Linux のツールに限ります"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - 「ネットワークインターフェースを追加」ウィザード\n"
+" --del - 「ネットワークインターフェースを削除」ウィザード\n"
+" --skip-wizard - 接続を管理\n"
+" --internet - インターネットを設定\n"
+" --wizard - '--add' と同じ"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"フォントのインポート/モニタのためのアプリケーション\n"
+"\n"
+"オプション:\n"
+"--windows_import : 利用可能なすべての Windows パーティションからインポート\n"
+"--xls_fonts : 既存のすべてのフォントを xls から表示\n"
+"--install : すべてのフォントファイルとディレクトリを受け入れる\n"
+"--uninstall : すべてのフォントとディレクトリをアンインストール\n"
+"--replace : 既に存在する場合はすべて置き換える\n"
+"--application : 0 アプリケーションなし\n"
+" : 1 サポートされている利用可能なすべてのアプリケーション\n"
+" : アプリケーション名 (staroffice なら so、ghostscript\n"
+" : なら gs) - 指定したアプリケーションにのみ有効"
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIONS]...\n"
+"Mandriva Linux ターミナルサーバ設定ツール\n"
+"--enable : MTS を有効にする\n"
+"--disable : MTS を無効にする\n"
+"--start : MTS を開始する\n"
+"--stop : MTS を停止する\n"
+"--adduser : 既存のシステムユーザを MTS に追加 (ユーザ名が必要)\n"
+"--deluser : 既存のシステムユーザを MTS から削除 (ユーザ名が必要\n"
+"--addclient : MTS にクライアントマシンを追加 (MAC アドレス, IP, \n"
+"nbi イメージ名が必要)\n"
+"--delclient : MTS からクライアントマシンを削除 (MAC アドレス, IP, \n"
+"nbi イメージ名が必要)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[キーボード]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTION]\n"
+"ネットワーク/インターネットの接続/モニタリングツール\n"
+"\n"
+"--defaultintf interface : デフォルトでこのインターフェースを表示\n"
+"--connect : 未接続ならインターネットに接続する\n"
+"--disconnect : 接続中ならインターネット接続を切断する\n"
+"--force : 接続/切断を強制 : (dis)connect と一緒に使用\n"
+"--status : 接続中なら 1、さもなければ 0 を返して終了\n"
+"--quiet : クワイエット・モード : (dis)connect と一緒に使用"
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation Mandriva Update で最初の確認メッセージを表示しない\n"
+" --no-verify-rpm パッケージのサインを確認しない\n"
+" --changelog-first 説明欄で変更ログをファイルリストより先に表示\n"
+" --merge-all-rpmnew 検出したすべての .rpmnew/.rpmsave ファイルをマージ"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "すべてのサーバ"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "グローバル"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "アフリカ"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "アジア"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "ヨーロッパ"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "北アメリカ"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "オセアニア"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "南アメリカ"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "香港"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "ロシア"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "ユーゴスラビア"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "正しいですか?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "ファイルが選択されていません"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "ファイルではなくディレクトリを選んでください"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "ディレクトリではなくファイルを選んでください"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "指定されたディレクトリは存在しません"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "指定されたファイルは存在しません"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "ツリーを展開する"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "ツリーを折りたたむ"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "フラット表示/グループ別表示を切り替える"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s がインストールされていません。\n"
+"インストールするには「次へ」\n"
+"終了する場合は「キャンセル」を押してください。"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "インストール失敗"
+
+#~ msgid "Icon"
+#~ msgstr "アイコン"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "キャプチャバッファの量:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap キャプチャのバッファ量"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL の設定:"
+
+#~ msgid "Radio support:"
+#~ msgstr "ラジオサポート:"
+
+#~ msgid "enable radio support"
+#~ msgstr "ラジオサポートを有効にする"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/ko.po b/perl-install/share/po/ko.po
new file mode 100644
index 000000000..b0c6385f8
--- /dev/null
+++ b/perl-install/share/po/ko.po
@@ -0,0 +1,6288 @@
+# Korean translation of drakbootdisk.
+# Copyright (C) 2001 Free Software Foundation, Inc.
+# Jaegeum Choe <baedaron@hananet.net>, 2001.
+#
+# changes asked by HP people -- pablo 2003-01-23
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2002-09-09 09:08+0900\n"
+"Last-Translator: Jaegeum Cze <baedaron@hanafos.com>\n"
+"Language-Team: Korean <beadaron@hanafos.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "기다려 주세요"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "부트로더 설치"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "부트로더 설치가 실패했습니다. 다음과 같은 오류가 발생했습니다:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"부트로더가 제대로 작동하기 위해서는 공개 펌웨어 부트 장치를 변경할 필요성이\n"
+"있을 수도 있습니다. 만약 재부팅후에 부트로더 프롬프트가 나타나지 않는다면,\n"
+"재부팅시에 명령-옵션-O-F를 계속 누르고 있다가 다음과 같이 입력하세요:\n"
+"setenv boot-device %s,\\\\:tbxi\n"
+"shut-down\n"
+"그러고나면 다음부터는 부트로더 프롬프트를 볼 수 있을 것입니다."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "드라이브의 첫번째 섹터(MBR)"
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "부트 파티션의 첫번째 섹터"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "부트 플로피"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "건너뛰기"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/GRUB 설치"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "부트로더를 어디에 설치하고 싶으세요?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "부팅 스타일 설정"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "부트로더 주 옵션들"
+
+#: any.pm:299
+#, fuzzy, c-format
+msgid "Bootloader"
+msgstr "사용할 부트로더"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "사용할 부트로더"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "부트 장치"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "기본 이미지로 부팅될 때까지 지연시간"
+
+#: any.pm:306
+#, fuzzy, c-format
+msgid "Enable ACPI"
+msgstr "CD 부팅 허용?"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "CD 부팅 허용?"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "CD 부팅 허용?"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "암호"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "암호가 일치하지 않습니다."
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "다시 시도하세요."
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr " %s 마운트 위치에는 암호화 파일시스템을 사용할 수 없습니다. "
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "암호 (확인)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "명령행 옵션을 제한합니다."
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "제한"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "옵션: 「명령행 옵션제한」은 암호없이 사용될수 없습니다."
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "부팅시 /tmp 디렉토리 자동 청소"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "옵션: 정확한 메모리 용량 (%d MB 발견)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "메모리 용량를 MB로 입력하세요"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "초기화 메시지"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "펌웨어 열기 지연"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "커널 부트 제한시간"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD 부팅 허용?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF 부팅 허용?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "기본 OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "이미지"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "루트"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "추가"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "비디오 모드"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "초기화 램디스크"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "네트웍 인터페이스"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "항목명"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "기본값"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "비디오 없음"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "빈 항목명은 허용되지 않습니다."
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "커널 이미지를 지정해 주세요."
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "루트 파티션은 반드시 지정되어야 합니다."
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "이 항목명은 이미 사용되고 있습니다."
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "어떤 종류의 항목을 추가하시겠습니까?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "리눅스"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "기타 OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "기타 OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "기타 OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"몇 가지 항목이 여기에 표시되고 있습니다.\n"
+"더 추가하거나, 기존의 것들을 수정할수 있습니다."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X 프로그램 액세스"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "RPM 도구 액세스"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "「su」허용"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "시스템 관리파일 액세스"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "네트웍 도구 액세스"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "컴파일 도구 액세스"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(이미 %s는(은) 추가되었습니다.)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "사용자명을 입력해 주세요"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "사용자명은 영문 소문자나 숫자, '-' 그리고 '_' 만 포함될수 있습니다."
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "사용자 명이 너무 깁니다."
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "이 사용자명은 이미 추가되어 있습니다."
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "사용자 ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "그룹 ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "%s 옵션은 숫자이어야 합니다!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "사용자 추가"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"사용자 입력\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "완료"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "사용자 허가"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "실제 이름"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "도메인 이름"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "명령 해석기"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "자동로그인"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"자동으로 특정 사용자로서 로그인되도록 할 수 있습니다.\n"
+"이런 특성을 원하세요?"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "aboot를 사용하시겠습니까?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "기본 사용자를 선택하세요:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "사용할 윈도우 매니저를 선택하세요:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "사용 동의서"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "종료"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "릴리즈:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "동의"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "거부"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "사용할 언어를 선택해 주세요."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "미얀마"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "설치후 다른 다른 언어를 선택할수 있습니다."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, fuzzy, c-format
+msgid "All languages"
+msgstr "언어 선택"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "국가"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "어떤 종류의 마우스를 사용하십니까?"
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "지원되는 키보드 목록이 여기에 있습니다."
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "기타 포트"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "고급"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "없음"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "비공유"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "모든 사용자 허용"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "사용자 정의"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "NFS와 삼바 중, 어느 것을 이용하시겠습니까?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "사용자드레이크 실행"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "닫기"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "로그아웃하고 Crtl-Alt-BackSpace키를 누르세요."
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "시간대"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "님의 시간대는 어디입니까?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "하드웨어 시계 GMT 설정"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "하드웨어 시계 GMT 설정"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP 서버"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "자동 시간 동기화 (NTP 사용)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "로컬 파일"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "이더넷 카드"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "윈도우즈 도메인"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "모든 백업 복구"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "모든 백업 복구"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "로컬 파일 :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "윈도우즈 도메인:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "모든 백업 복구"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "모든 백업 복구"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "인증 LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP 기반 DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP 서버"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "단순화"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "사용자 인증"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "도메인"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "서버"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "데이터베이스"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "암호가 필요합니다."
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "인증 NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS 도메인"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS 서버"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "인증 윈도우즈 도메인"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "도메인 관리자 사용자명"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "사용자 인증"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "root 암호 설정"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "사용자 인증"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "암호 없음"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "이 암호는 너무 단순합니다.( 적어도 %d 글자는 넘어야 합니다)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "NIS 도메인 없이는 브로드케스트를 사용할 수 없습니다."
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "텍스트 메뉴 LILO"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot에 공간이 부족합니다."
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "「%s」파티션에 부트로더를 설치할 수 없습니다.\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "부트로더 설치"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "바이트"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d 분"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 분"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d 초"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "새로 만들기"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "언마운트"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "마운트"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "마운트 위치"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "옵션들"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "오류"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "WebDAV 서버 URL을 입력하세요."
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "서버:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "마운트 위치: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "옵션들: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, fuzzy, c-format
+msgid "Partitioning"
+msgstr "인쇄"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "주의깊게 읽으세요!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "먼저 데이터를 백업하세요."
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "종료"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "계속"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"만약 aboot를 사용할 계획이라면, 디스크의 시작부분에 충분한 공간 (2048 섹터 "
+"면 충분함)\n"
+"을 남기도록 주의하세요."
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "도움말"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "행동을 선택하세요"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"하나의 큰 도스 파티션을 가지고 있습니다.\n"
+"(일반적으로 마이크로소프트의 도스/윈도우즈에서 사용).\n"
+"먼저 그 파티션의 크기를 조정할 것을 권장합니다.\n"
+"(그것을 클릭한후, \"크기조정\"을 클릭하세요.)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "파티션을 클릭하세요"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "상세설명"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "하드 디스크를 찾을 수 없습니다."
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "알 수 없음"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "저널화 FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "스왑"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "창"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "기타"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "빈공간"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "파일시스템 유형:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "경고"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "이 파티션은 크기변경이 허용되지 않습니다."
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "「언마운트」를 먼저 사용하세요"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "대신에 「%s」를 사용합니다"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "유형"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "추가 파티션 선택"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "파티션 선택"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "되돌리기"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "일반 모드로 전환"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "전문가 모드로 전환"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "확인"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "계속하시겠습니까?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "저장하지 않고 종료하시겠습니까?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "파티션을 기록하지 않고 종료하시겠습니까?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "「/etc/fstab」의 변경사항을 저장하시겠습니까?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "파티션 테이블 변경사항을 적용하려면 리부팅을 해야 합니다."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "모두 삭제"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "자동 할당"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "추가 옵션"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "하드 디스크 정보"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "모든 주파티션이 사용중입니다."
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "더이상 파티션을 추가할 수 없습니다."
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"더 많은 파티션을 만드실려면, 확장 파티션을 만들수 있도록 주파티션 하나를 지우"
+"세요."
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "파티션 테이블 저장"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "파티션 테이블 복구"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "파티션 테이블 응급처치"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "파티션 테이블 다시 읽기"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "탈착식 미디어 자동 마운트"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "파일을 선택하세요."
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"백업 파티션 테이블 크기가 같지 않습니다.\n"
+"계속 하시겠습니까?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "파티션 테이블 복구 시도 중..."
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "자세한 정보"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "크기조정"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "포맷"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID에 추가"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVM에 추가"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "삭제"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAID로부터 제거"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM으로부터 제거"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID 수정"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "루프백으로 사용"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "생성"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "새 파티션 만들기"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "시작 섹터: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "크기(MB) :"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "파일시스템 유형: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "사용자 정의"
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "지역 파일들"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "루프백 파일을 제거합니까?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "%s의 파티션 유형을 변경후 이 파티션내의 모든 자료를 잃게 됩니다."
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "파티션 유형 변경"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "어떤 파일 시스템을 원하세요?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "EXT2에서 EXT3로 변경"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "항목명"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "%s파일을 어디에 루프백으로 마운트 하시겠습니까?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "장치 %s를 어디에 마운트 하시겠습니까?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"이 파티션은 loopback으로 설정되어 있으므로 마운트 포인트를 변경할수 없습니"
+"다.\n"
+"loopback을 먼저 제거하세요."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%s를 어디에 마운트 하시겠습니까?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "크기변경"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "도스 파일시스템의 범위 계산중"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "이 파티션은 크기변경이 허용되지 않습니다."
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "이 파티션의 모든 데이타를 백업하여야 합니다."
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "%s 파티션의 크기를 변경하면, 모든 데이타를 잃게됩니다."
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "새로운 크기를 선택해 주세요"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "새로운 용량(MB):"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "추가할 기존 RAID를 선택하세요."
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "새로 만들기"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "추가할 LVM를 선택하세요"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM 이름?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "이 파티션은 loopback으로 사용될 수 없습니다."
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "루프백"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "루프백 파일 이름: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "파일 이름을 입력하세요."
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "다른 루프백이 이 파일을 사용하고 있습니다, 다른 것을 선택해 주세요."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "파일이 이미 존재합니다. 그것을 사용합니까?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "마운트 옵션들:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "다양한"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "장치"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "레벨"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "크기"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "주의 : 이 조작은 위험합니다."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "어떤 유형의 파티션입니까?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "변경된것을 적용하기 위해선 리부팅이 필요합니다."
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s 드라이브의 파티션 테이블을 저장합니다."
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "%s 파티션을 포맷하면, 모든 데이타를 잃게 됩니다."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "배드 블럭 검사를 합니까?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "새 파티션으로 파일 옴기기"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "파일 숨기기"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "새 파티션으로 파일 옴기는 중"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s 복사 중"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s 제거 중"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "장치: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS 드라이브 문자: %s (단지 추측일 뿐임)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "유형: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "이름:"
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "시작: 섹터 %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "크기: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s 섹터"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "실린더 %d에서 %d까지\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "포맷되었음\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "포맷 안되었음\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "마운트 되었음\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "레이드 장치 %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"루프백 파일(들):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"기본적으로 부팅되는 파티션\n"
+" (lilo를 위한것이 아니라 MS-DOS boot를 위한것임)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "%s 등급\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "크기 %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "레이드-디스크 %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "루프백 파일 이름: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"이 파티션은 드라이버 파티션입니다.\n"
+"그냥 두는 것이 좋습니다.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"이 특별한 부트스트랩\n"
+"파티션은 시스템을 \n"
+"듀얼 부팅하기 위한 것입니다.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "읽기 전용"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "크기: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "위치: %s 실린터, %s 헤드, %s 섹터\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "정보: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-디스크 %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "파티션 테이블 유형: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "%d 버스상에서 ID %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "파일시스템 암호화 키"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "파일 시스템 암호화 키 선택"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "이 암호화 키는 너무 단순합니다.( 적어도 %d 글자는 넘어야 합니다)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "암호화 키가 일치하지 않습니다."
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "암호화 키"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "암호화 키 (확인)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "사용자 인증"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "유형 변경"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "취소"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "도메인 인증이 필요합니다."
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "사용할 아이디"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "또 다른 것"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "사용자명"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "서버 검색"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "서버 검색"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "팩키지 %s가 필요합니다. 설치하겠습니까?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "%s 팩키지 설치중"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "필수 팩키지 %s가 없습니다."
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "다음 팩키지들이 설치될 것입니다."
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "팩키지 설치 중..."
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "%s 제거 중"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"오류 발생 - 새로운 파일 시스템을 만들 어떤 올바른 장치도 찾을 수 없습니다.이 "
+"문제를 해결하시려면, 하드웨어를 점검해 보시기 바랍니다."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "「/boot/efi」에 마운트된 FAT 파티션이 있어야만 합니다."
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s 파티션 포맷중"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s 파일를 생성하고 포맷"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "%s는 %s 유형이므로 포맷할수 없습니다."
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s 포맷 실패(드라이브 %s)"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "순환 마운트 %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "%s 파티션 포맷중"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, fuzzy, c-format
+msgid "Checking %s"
+msgstr "%s 복사 중"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s를 언마운트중 오류발생: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "%s 파티션 포맷중"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr " %s 마운트 위치에는 암호화 파일시스템을 사용할 수 없습니다. "
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "마운트 포인트 중복 %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "사용가능한 파티션이 없습니다."
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "마운트 위치를 찾기위해 파티션들을 검색 중"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "마운트 위치를 선택해 주세요."
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "포맷할 파티션을 선택하세요"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "스왑 메모리가 부족합니다. 좀 더 추가하세요."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"루트 파티션이 반드시 필요합니다.\n"
+"이를 위해서, 파티션을 생성하세요. (이미 있는 파티션을 클릭하거나).\n"
+"그리고 나서, ``마운트 위치''를 클릭한후 '/'으로 설정하세요."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"스왑 파티션이 없습니다.\n"
+"\n"
+"계속 진행합니까?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "빈 공간 사용"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "새로운 파티션을 만들 수 있는 공간이 부족합니다."
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "기존의 파티션 사용"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "사용할 기존의 파티션이 없습니다."
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "윈도우즈 파티션을 루프백으로 사용"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "어느 파티션을 Linux4Win용으로 사용하겠습니까?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "크기 선택"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "루트 파티션 크기(MB): "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "스왑 파티션 크기(MB): "
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"loopback로 사용하거나 크기를 조정할 FAT 파티션이 없습니다. (또는 디스크 공간"
+"이 부족합니다.)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "윈도우즈 파티션의 빈 공간 사용하세요."
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "어떤 파티션의 크기를 조정하시겠습니까?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT 크기 조정기가 님의 파티션을 처리할 수 없습니다.\n"
+"다음의 오류가 발생했습니다: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "윈도우즈 파티션의 빈 공간 사용하세요."
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"윈도우즈 파티션이 심하게 조각나 있습니다. 먼저 ``디스크 조각 모음''을 하세요."
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"경고!\n"
+"\n"
+"\n"
+"드레이크X가 이제 윈도우즈 파티션의 크기를 조정할 것입니다.\n"
+"\n"
+"\n"
+"이 작동은 위험합니다. 아직 시작하지 않았다면, 설치를 중단하고 윈도우즈에서 "
+"디스크검사」(가능하다면 또한 「디스크 조각모음」)를 실행한 후에, 설치를 다시 "
+"시작하세요. 또한 데이터도 백업해 두세요.\n"
+"\n"
+"\n"
+"준비됐으면, 「%s」을 누르세요."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "다음"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "파티션 %s 윈도우즈용으로 어느 용량을 유지하시겠습니까?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "크기"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "윈도우즈 파일 시스템의 범위 계산중"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT크기조정 실패: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"loopback로 사용하거나 크기를 조정할 FAT 파티션이 없습니다. (또는 디스크 공간"
+"이 부족합니다.)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "윈도우즈™ 제거"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "전체 디스크 삭제"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"하드 드라이브가 하나 이상 있습니다. 어느 것에 리눅스를 설치하시겠습니까?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s 드라이브 상의 모든 기존 파티션과 데이터가 손실될 것입니다."
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "사용자 정의 파티션 나누기"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdisk 사용"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"이제 %s의 파티션 작업을 할 수 있습니다.\n"
+"마친 후, 'w'를 눌러 저장하는것을 잊지마세요."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "설치에 필요한 공간을 찾을 수 없습니다."
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "드레이크X 파티션 마법사가 다음의 솔루션을 발견했습니다:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "파티션 나누기 실패: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "16MB 미만의 파티션에는 JFS 파일 시스템을 사용할 수 없습니다."
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "32MB 미만의 파티션에는 ReiserFS 파일 시스템을 사용할 수 없습니다."
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "서버"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, fuzzy, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"하드 디스크의 파티션 테이블을 읽을수 없습니다. 너무 손상되어 있습니다:(\n"
+"문제있는 파티션을 비우기위한 시도를 할 수 있습니다.(모든 데이터가 손실됩니"
+"다!)\n"
+"다른 해결책은 DrakX가 파티션 테이블을 변경하지 못하게 하는 것입니다.\n"
+"(오류는 %s 입니다.)\n"
+"\n"
+"파티션들을 잃어도 좋습니까?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "마운트 위치는 반드시 「/」로 시작하여야 합니다."
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "프린터 이름에는 문자, 숫자 그리고 밑줄(Underscore)만 있어야 합니다."
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "마운트 위치 %s가 이미 존재합니다.\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"소프트웨어 RAID 파티션을 루트(/)로 지정했습니다.\n"
+"어떠한 부트로더도 /boot 파티션 없이는 이것을 처리하지 못합니다.\n"
+"그러므로 /boot 파티션을 추가하는 것을 잊지 마세요."
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr " %s 마운트 포인트로 LVM 논리볼륨을 사용할 수는 없습니다. "
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"소프트웨어 RAID 파티션을 루트(/)로 지정했습니다.\n"
+"어떠한 부트로더도 /boot 파티션 없이는 이것을 처리하지 못합니다.\n"
+"그러므로 /boot 파티션을 추가하는 것을 잊지 마세요."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "이 디렉토리는 루트 파일시스템 안에 있어야 합니다."
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"이 마운트 위치에는 트루 파일시스템 (ext2, reiserfs, xfs, jfs)이 필요합니다.\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr " %s 마운트 위치에는 암호화 파일시스템을 사용할 수 없습니다. "
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "자동할당하기에는 공간이 합니다."
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "할 일 없음."
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "플로피"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "짚"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "하드디스크"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "테입"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "비디오 모드"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, fuzzy, c-format
+msgid "Tvcard"
+msgstr "TV 카드"
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "다른 매체"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "사운드카드"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "내장 ISDN 카드"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, fuzzy, c-format
+msgid "Ethernetcard"
+msgstr "이더넷 카드"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "모뎀"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "메모리"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "프린터"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr ""
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "카드 모델:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI 컨트롤러"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "프린터 없음"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "키보드"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "마우스"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "CUPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "스캐너"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "알 수 없음|일반"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "기다려 주세요... 설정을 적용하고 있습니다."
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "사운드 설정"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "드라이버:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "알 수 없는 드라이버"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "자동 검색"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "알 수 없음|일반"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "카드 모델:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "튜너 유형:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "확인"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "예"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "아니오"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "파일 선택"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "추가"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "변경"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "제거"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "종료"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "이전"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "잘못된 선택입니다, 다시 하세요\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "님의 선택은? (기본값 %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "님의 선택은? (0/1 기본값 「%s」) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "버튼 「%s」: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "이 버튼을 누르시겠습니까?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "님의 선택은? (기본값 「%s」%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "재전송"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "안도라"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "아랍 에미리트 연합"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "아프가니스탄"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "안티가 바부다"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "앙귈라"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "알바니아"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "아르메니아"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "네델란드령 앤틸레스 열도"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "앙골라"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "남극"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "아르헨티나"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "미국령 사모아"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "오스트리아"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "오스트레일리아"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "아루바"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "아제르바이잔"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "보스니아 헤르체고비나"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "바르바도스"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "방글라데시"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "벨기에"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "부르키나 파소"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "불가리아"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "바레인"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "부룬디"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "베닌"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "버뮤다"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "브루나이 다루살람"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "볼리비아"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "브라질"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "바하마"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "부탄"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "보우벳 섬"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "보츠와나"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "벨라루스"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "벨리즈"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "캐나다"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "코코스 (킬링) 제도"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "중앙 아프리카 공화국"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "스위스"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "코트 디브와르"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "쿡 제도"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "칠레"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "카메룬"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "중국"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "콜롬비아"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "코스타리카"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "세르비아 & 몬테네그로"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "쿠바"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "케이프 베르드"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "크리스마스 섬"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "사이프러스"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "체코 공화국"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "독일"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "지부티"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "덴마크"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "도미니카"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "도미니카 공화국"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "알제리"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "에콰도르"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "에스토니아"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "이집트"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "서부 사하라"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "에리트리아"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "스페인"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "에티오피아"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "핀란드"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "피지"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "포클랜드 군도 (말비나스)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "미크로네시아"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "패로 제도"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "프랑스"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "가봉"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "영국"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "그레나다"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "조지아"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "프랑스령 기아나"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "가나"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "지브롤터"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "그린랜드"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "잠비아"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "기니"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "적도 기니"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "그리스"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "과테말라"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "괌"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "기니비사우"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "구야나"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "홍콩"
+
+#: lang.pm:302
+#, fuzzy, c-format
+msgid "Heard and McDonald Islands"
+msgstr "북 마리아나 제도"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "혼두라스"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "크로아티아"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "하이티"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "헝가리"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "인도네시아"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "아일랜드"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "이스라엘"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "인도"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "영국령 인도양 자치구역"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "이라크"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "이란"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "아이스랜드"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "이탈리아"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "자메이카"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "요르단"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "일본"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "케냐"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "키르기즈스탄"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "캄보디아"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "키리바시"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "코모로스"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "북한"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "대한민국"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "쿠웨이트"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "케이만 제도"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "카자흐스탄"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "라오스"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "레바논"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "세인트 루시아"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "리히텐슈타인"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "스리랑카"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "라이베리아"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "레소토"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "리투아니아"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "룩셈부르크"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "라트비아"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "리비야"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "모로코"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "모나코"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "몰도바"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "마다가스카르"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "마샬 제도"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "마케도니아"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "말리"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "미얀마"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "몽골라"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "북 마리아나 제도"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "마르띠니크"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "모리타니아"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "몽세라트"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "마르타"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "모리셔스"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "몰디브"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "말라위"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "멕시코"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "말레이시아"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "모잠비크"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "나미비아"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "뉴 칼레도니아"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "니제르"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "노퍽 섬"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "나이지리아"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "니카라과"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "네덜란드"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "노르웨이"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "네팔"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "나우루"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "니우에"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "뉴질랜드"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "오만"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "파나마"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "페루"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "프랑스령 폴리네시아"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "파푸아뉴기니"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "필리핀"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "파키스탄"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "폴란드"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "세인트 피에르 미쿠엘론"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "피트케언"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "푸에르토리코"
+
+#: lang.pm:384
+#, fuzzy, c-format
+msgid "Palestine"
+msgstr "경로 선택"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "포르투갈"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "파라과이"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "팔라우"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "카타르"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "레위니옹"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "루마니아"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "러시아"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "르완다"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "사우디아라비아"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "솔로몬 제도"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "세이셸"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "수단"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "스웨덴"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "싱가포르"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "세인트헬레나"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "슬로베니아"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr ""
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "슬로바키아"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "시에라리온"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "산마리노"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "세네갈"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "소말리아"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "수리남"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "상투메 프린시페"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "엘 살바도르"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "시리아"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "스와질란드"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "터크스 카이코스 군도"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "챠드"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "프랑스령 남 자치구역"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "통고"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "태국"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "타지키스탄"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "토켈로"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "동티모르"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "투르크멘"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "튀니지"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "통가"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "터키"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "트리니다드토바고"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "투발루"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "대만"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "탄자니아"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "우크라이나"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "우간다"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "미국령 소군도"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "미국"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "우루과이"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "우즈베키스탄"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "라트바아"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "베네수엘라"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr ""
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "베트남"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "바누아투"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "월리스 후투나 제도"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "사모아"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "예멘"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "마요트"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "남아프리카"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "잠비아"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "짐바브웨"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s에 오신것을 환영합니다."
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "논리 볼륨을 먼저 제거해 주세요.\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"축하합니다. 설치가 성공적으로 끝났습니다.\n"
+"부트 미디어를 제거하고 리턴을 눌러서 리부팅 하세요.\n"
+"\n"
+"\n"
+"이 버전의 맨드리바 리눅스의 버그수정 정보는\n"
+"%s\n"
+"에서 얻으실 수 있습니다.\n"
+"\n"
+"\n"
+"설치후 시스템 설정에 대한 정보는 공식 맨드리바 리눅스 유저 가이드를\n"
+"참고하시기 바랍니다."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "OKI 윈프린터 설정"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "수동 설정"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s 인터페이스가 감지되었습니다."
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "또 다른것이 설치되어 있습니까?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "또 다른 %s 인터페이스가 설치되어 있습니까?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "하드웨어 정보 보기"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "%s카드 드라이버 %s 설치중"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "%s카드 드라이버 %s 설치중"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "%s카드 드라이버 %s 설치중"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "%s카드 드라이버 %s 설치중"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s카드 드라이버 %s 설치중"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"이제 %s 드라이버에 옵션을 지정할 수 있습니다.\n"
+"옵션은 ``이름=값 이름2=값2 ...''형식으로 지정합니다..\n"
+"가령, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "모듈 옵션들:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "어떤 %s 드라이버를 시도해 봅니까?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"일반적으로 %s 드라이버는 추가 정보 없이도 잘 작동하지만, 어떤 경우에는 \n"
+"추가 정보를 필요로 하기도 합니다. 추가 옵션을 지정하시겠습니까, 아니면 \n"
+"필요한 정보를 자동검색하게 하겠습니까?\n"
+"자동검색은 어쩌다가 컴퓨터를 멈추게 할 수도 있습니다.하지만,\n"
+"장치를 훼손하지는 않습니다."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "자동검색"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "옵션 지정"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"%s 모듈을 읽어들이는데 실패했습니다.\n"
+"다른 값으로 다시 시도해 보시겠습니까?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "마운트 실패: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "이 시스템에서는 확장파티션이 지원되지 않습니다."
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"파티션 테이블에서 빈 공간이 있지만 사용할 수 없습니다.\n"
+"유일한 해결책은 주 파티션들이 확장 파티션들의 뒤에 있는 빈 공간을 차지하도록 "
+"옴기는 것입니다."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s 파일을 읽는중 오류가 발생했습니다."
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "%s 파일로부터의 복구 실패: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "잘못된 백업 파일"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "%s 파일에 쓰기 오류"
+
+#: partition_table/raw.pm:264
+#, fuzzy, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"하드드스크에 이상이 발생했습니다. \n"
+"데이터 무결성 검사가 실패했습니다. \n"
+"이것은 디스크에 기록되는 데이터를 잃어 버린다는 것을 의미합니다."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "포맷된 RAID md%d에 파티션을 추가할 수 없습니다."
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "RAID 레벨 %d를 위한 파티션들이 충분하지 않습니다.\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "스캐너 선택"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "(이 서버상의)"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "(이 서버상의)"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "보안 수준"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "암호 없음"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "사용자들"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "(이 서버상의)"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "일반 모뎀 연결"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "서비스 설정"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "암호 없음"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "이 암호는 너무 단순합니다."
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "암호 없음"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "커널 부트 제한시간"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "사용자들"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "%s 포트에서 발견"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "보안에 신경안씀"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "최저"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "표준"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "높음"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "더 높음"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "최고"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"이 등급을 사용할려면 매우 주의하여야 합니다. 시스템을 사용하기에는 \n"
+"용이하겠지만 매우 민감하게 작동합니다: 인터넷이나 네트웍에 연결된 시스템용\n"
+"으로는 사용하지 마세요. 암호기능이 없습니다."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"암호기능이 적용되지만, 네트웍에 연결된 컴퓨터로 사용하기에는 아직 적절하지 않"
+"습니다."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"이 등급은 클라이언트로서 인터넷에 접속하는데 적당한 표준 보안등급입니다."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"이 보안등급으로 이 시스템을 서버로 운용할 수 있게 됩니다.\n"
+"이 보안등급은 외부의 클라이언트들의 접속을 받아들이는데 있어서 \n"
+"충분히 높은 보안등급입니다. 주의: 인터넷 클라이언트로 컴퓨터를 사용한다면, "
+"더 낮은 등급을 선택하세요."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"이전 등급과 비슷하지만, 시스템이 완전히 외부접근에서 격리됩니다. 최고 보안 수"
+"준입니다."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "보안"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec 기본 옵션"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "희망하는 보안 단계를 선택해 주세요."
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "보안 수준"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "서버에 대해 libsafe 사용"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "버퍼 넘침이나 형식화 문자열 공격을 막는 라이브러리."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "보안 관리자 (로그인 또는 이메일)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "ALSA (진보된 리눅스 사운드 아키텍처) 사운드 시스템 실행"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anancron은 주기적인 명령 스케쥴러 입니다."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd는 배터리 상태와 syslog를 거쳐서 로그 기록을 감시하는데 사용됩니다.\n"
+"또한 배터리량이 미약할때 자동으로 시스템을 셧다운 시켜주는 기능도 합니다."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"정해준 시간에 한번에 하나씩 실행시킵니다. at는 batch 명령들을 시스템\n"
+"로드율이 낮을때 수행시킵니다."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron은 사용자가 지정한 프로그램을 주기적으로 특정 시간에 실행시키는 \n"
+"표준 UNIX 프로그램입니다. vixie cron은 이 기본 UNIX Cron에 향상된 보안과 \n"
+"더 강력한 설정옵션 등의 많은 특징을 추가합니다."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM은 텍스트 기반 프로그램들에게 마우스 기능을 지원합니다.\n"
+"또한 콘솔 화면에서 잘라서 붙이기와 팝업 메뉴 기능을 \n"
+"지원합니다."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"하드드레이크는 하드웨어 검색을 수행하며, 필요하다면\n"
+"새/변경된 하드웨어를 설정합니다."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"아파치(Apache)는 웹 서버입니다. 이것은 HTML이나 CGI 파일 서비스를\n"
+"하는데 사용됩니다."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"(통상적으로 inetd라고 하는) 인터넷 수퍼 대몬은 다양한 인터넷 서버를\n"
+"필요한 때 실행 시킵니다. 텔넷, FTP, RSH, RLOGIN 등과 같은 많은 \n"
+"서비스를 관리합니다. 이것이 실행되어 있지 않으면, 또한 이것이 관리하는\n"
+"여러 서비스도 또한 불가능하게 됩니다."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"2.2 커널 시리즈용 패킷 필터를 실행, 네트웍 공격으로부터\n"
+"컴퓨터를 보호하는 방화벽을 구축합니다."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"이 팩키지는 「/etc/sysconfig/keyboard」에 설정되어 있는 \n"
+"키보드 맵을 적재합니다. 키보드는 「kbdconfig」명령으로 선택할 수 있습니다.\n"
+"대부분의 시스템에서 필요한 것입니다."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"「/usr/include/linux/{autoconf,version}.h」에 대해\n"
+"「/boot」에 커널 헤더를 자동 생성."
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "부팅시에 자동 하드웨어 검색 및 설정."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"리눅스 설정(Linuxconf)은 시스템 설정을 유지하기 위하여\n"
+"부팅시에 다양한 작업 수행을 준비합니다."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"LPD는 lpr 명령이 올바르게 작동하기 위해 필요한 인쇄 대몬입니다.\n"
+"근본적으로 인쇄 작업들을 프린터로 중재해 주는 서버입니다."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"리눅스 가상 서버, 고성능 서버 구축에\n"
+"사용됩니다."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"NAMED(BIND)는 호스트 이름으로 IP 주소를 찾아내는데 사용되는\n"
+"도메인 네임 서버입니다."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"네트웍 파일 시스템(NFS), 삼바(SMB/랜 관리자/윈도우즈), 그리고\n"
+"NCP(넷웨어)를 마운트하고 언마운트합니다."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"부팅시에 시작하도록 설정된 모든 네트웍 인테페이스를 \n"
+"활성화/비활성화 합니다."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS는 TCP/IP 네트웍으로 파일을 공유하는 인기있는 프로토콜입니다.\n"
+"이 서비스는 /etc/export 파일을 설정함으로써 NFS 서버의 기능을 가능하게\n"
+"합니다."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS는 TCP/IP 네트웍으로 파일을 공유하는 인기있는 프로토콜입니다.\n"
+"이 서비스는 NFS 파일 잠금 기능을 제공합니다."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"부팅시에 자동으로 콘솔과 X 환경에서\n"
+"숫자키 잠금 모드 사용."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "OKI 4w 및 호환 프린터 지원."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA는 보통 랩탑(노트북)에 있는 이더넷 카드와 모뎀같은 장치\n"
+"들을 지원하기 위한 것입니다. 추가 설정이 없으면 시작되지 않기 때문에,\n"
+"이러한 장치가 없는 컴퓨터에 설치되어 있어도 안전합니다."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"포트맵퍼(portmapper)는 NFS와 NIS 같은 프로토콜에 의해 사용되는\n"
+"RPC 연결을 관리합니다. 포트맵 서버는 RPC 메커니즘을 이용하는 프로토콜용 서버"
+"로\n"
+"사용되고 있는 컴퓨터에는 반드시 실행되고 있어야 합니다."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"포스트픽스(Postfix)는 컴퓨터들간에 메일을 주고받는 \n"
+"메일 전송 에이전트 프로그램입니다."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"고품질의 난수 생성을 위해 시스템 엔트로피 풀을 저장하고 \n"
+"복구합니다."
+
+#: services.pm:76
+#, fuzzy, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"오라클 같은 프로그램을 사용하기 위해 날(RAW) 장치를\n"
+"(하드디스크 파티션 같은) 블록 장치로 할당."
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Routed 데몬은 RIP 프로토콜을 통해 자동으로 IP 라우터 테이블이 갱신되도록 합니"
+"다.\n"
+"RIP는 소규모 네트웍을 위한 것이기 때문에, 대규모 네트웍을 위해서는 보다 복잡"
+"한\n"
+"라우팅 프로토콜이 필요합니다."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat 프로토콜은 네트웍상의 사용자가 구 네트워상에 있는 \n"
+"모든 컴퓨터에 대하여 수행능력 메트릭스를 알아 볼 수 있게 합니다."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers 프로토콜은 네트웍상의 사용자들이 다른 컴퓨터상에 로그인한 \n"
+"사용자들의 신원을 알 수 있게 합니다."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho 프로토콜은 (finger와 비슷하게) rwho 대몬이 실행되고\n"
+"있는 컴퓨터에 로그인한 사용자 목록을 원격 사용자가 볼 수 있게 합니다."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "이 컴퓨터에서 사운드 시스템 실행"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog는 여러 데몬들의 로그 메세지를 여러 종류의 시스템 로그 파일로\n"
+"남기는데 유용합니다. 항상 Syslog를 실행시키는것이 좋습니다."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "USB 장치용 드라이버 적재."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "X 폰트 서버 시작 (X 윈도우를 운영하기 위해서는 필수입니다)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "인쇄"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "인터넷"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "파일 공유"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "시스템"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "원격 관리"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "데이터베이스 서버"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "서비스"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "어떤 서비스가 부팅시에 자동 실행되어야 할지 선택하세요."
+
+# #msgid "Services: %d activated for %d registered"
+# #msgstr "서비스: 등록된 %2$d 중 %1$d 활성화됨"
+#: services.pm:162
+#, fuzzy, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "서비스: 등록된 %2$d 중 %1$d 활성화됨"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "실행중"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "정지됨"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "서비스와 대몬"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"죄송합니다.\n"
+"이 서비스에 대한 추가정보가 없습니다."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "정보"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "자동실행"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "시작"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "중지"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "키보드"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "사용자 추가"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "아프리카"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "아시아"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "유럽"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "북아메리카"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "오세아니아"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "남아메리카"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "홍콩"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "러시아"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "유고슬라비아"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "이것이 맞습니까?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "파일 선택창"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+"디렉토리가 아닌,\n"
+"파일이름을 입력하세요"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "'/' 이름은 디렉토리만이 사용할 수 있습니다. 키는 안 됩니다"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "디렉토리가 아닙니다"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "`%s'와같은 파일이 없습니다\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "트리 확장"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "트리 접기"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "그룹별/팩키지별 정렬 전환"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"[%s]가 설치되어 있지 않습니다.\n"
+"지금 설치하려면, [다음]을, 그냥 종료하려면, [취소]를 누르세요."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "설치 실패."
+
+#~ msgid "Icon"
+#~ msgstr "아이콘"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "캡쳐 버퍼 수:"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL 설정:"
+
+#~ msgid "Radio support:"
+#~ msgstr "라디오 지원:"
+
+#~ msgid "enable radio support"
+#~ msgstr "라디오 지원"
diff --git a/perl-install/share/po/ky.po b/perl-install/share/po/ky.po
new file mode 100644
index 000000000..30e9b4eae
--- /dev/null
+++ b/perl-install/share/po/ky.po
@@ -0,0 +1,6321 @@
+# translation of DrakX-ky.po to Kyrgyz
+# Copyright (C) 2004,2003, 2005 Free Software Foundation, Inc.
+# Timur Jamakeev <ztimur@mail.ru>, 2003,2004.
+# Nurlan Borubaev <nurlan@tamga.info>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-ky\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-04-20 20:27+0500\n"
+"Last-Translator: Nurlan Borubaev <nurlan@tamga.info>\n"
+"Language-Team: Kyrgyz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Күтө туруңуз"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Жүктөгүчтү орнотуу жүрүп жатат"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO %s дискине жаңы том ID'син жазууну каалайт. Эсиңизде болсун, Windows\n"
+"NT, 2000 же XP системаларынын жүктөгүч дистеринин томунун ID'син өзгөртүү "
+"Windows үчүн коркунучтуу.\n"
+"Бул эскертүү Windows 95, 98 же беримдер сакталуучу NT дисктерине тийиштүү "
+"эмес.\n"
+"\n"
+"Жаңы том ID'си жазылсынбы?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"Баштапкы жүктөгүчтү орнотуу ийгиликсиз аяктады.\n"
+"Төмөнкү жаңылыштык орун алды:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Сыягы баштапкы жүктөгүч иштей башташы үчүн Open Firmware жүктөгүч\n"
+" түзүлүшүңүздү алмаштыруу талап кылынат. Эгерде кайра жүктөө учурунда\n"
+" баштапкы жүктөгүчтүн чакырыгын көрбөсөңүз, кайра жүктөө учурунда\n"
+" Command-Option-O-F басылган абалда кармап туруңуз да, соңунда кийириңиз:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Андан соң жазыңыз: shut-down\n"
+"Кийинки жолу жүктөлгөндө сиз баштапкы жүктөгүчтүн чакыргын көрүшүңүз керек."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Сиз баштапкы жүктөгүчтү бөлүмгө орнотууну чечтиңиз.\n"
+"Сиз жүктөлгөн таш дискте баштапкы жүктөгүч бар деп эсептелет (М.: System "
+"Commander).\n"
+"\n"
+"Кайсы дисктен жүктөлөсүз?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Дисктин биринчи сектору (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Түпкү бөлүмдүн биринчи сектору"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Ийилчээкке"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Таштап кете берүү"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub орнотуу"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Баштапкы жүктөгүчтү кайда орноткуңуз келет?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Жүктөө стилин конфигурациялоо"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Баштапкы жүктөгүчтүн негизги опциялары"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Баштапкы жүктөгүч"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Колдонулуучу баштапкы жүктөгүч"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Жүктөгүч түзүлүш"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Алдынала болгон образды жүктөө алдындагы пауза"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI жандыруу"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ACPI жандыруу"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ACPI жандыруу"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Пароль"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Паролдор дал келбейт"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Дагы бир кайталап көрүңүз"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Сиз %s биригүү чекити үчүн шифрделген файл системасын колдоно албайсыз"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Пароль (дагы бир жолу)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Командалык саптын опцияларын чектөө"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "чектөө"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "``Командалык саптын опцияларын чектөө'' опциясы паролсуз колдонулбайт"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Ар бир жүктөгөн сайын /tmp каталогун тазалоо"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "RAM так көлөмүн көрсөтүңүз (табылганы %d Мб)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "RAM өлчөмүн Мб катары бериңиз"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Инициализациянын кабары"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware паузасы"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Ядрону жүктөөдөгү таймаут"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD жүктөлүүгө уруксатпы?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF жүктөлүү уруксатпы?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Алдынала тандалган ОС?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Образ"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Кошумча"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Видеорежим"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Желенин профили"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Эн белги"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Алдынала алынган"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Видеосуз"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Бош эн белги мүмкүн эмес"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Сиз ядро образын көрсөтүүңүз керек"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Сиз түпкү бөлүмдү көрсөтүшүңүз керек"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Бул эн белги мурдатан колдонууда бар"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Кандай пункту кошкуңуз келет?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Башка ОС (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Башка ОС (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Башка ОС (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Учурда сиздин жүктөө менюңузда төмөнкүлөр бар.\n"
+"Сиз кошумча пунктарды түзсөңүз же барларын өзгөртсөңүз болот."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X программаларын пайдалануу уруксаты"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "RPM аспаптарын пайдалануу уруксаты"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" урунуу уруксаты"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "административдик файлдарды урунуу уруксаты"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "тармак аспаптарын урунуу уруксаты"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "компиляция аспаптарын урунуу уруксаты"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s алдагачан кошулган)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Колдонуучу атын бериңиз"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Колдонуучу аты кичине латын тамгаларынан, цифралардан, `-'жана `_' турушу "
+"керек"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Колдонуучу аты өтө узун"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Бул колдонуучу аты алдагачан кошулган"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Колдонуучунун IDси"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Группанын IDси"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s сан болушу керек"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s 500дөн чоң болушу керек. Ага карабай кабыл алайынбы?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Колдонуучу кошуу"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Колдонуучу киргиз\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Даяр"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Кабыл алуу"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Чыныгы аты"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Такма аты"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Шел-чөйрө"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Автологин"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Мен компьютериңизди автоматтык түрдө бир колдонуучу кирүүсүн орното алам."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Бул мүмкүнчүлүктү колдонуу"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Алдыалынган колдонуучуну тандаңыз:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Иштетүү үчүн терезе менеджерин тандаңыз:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Лицензиялык келишим"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Чыгуу"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Релиз эскертмелери"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Макул"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Баш тартуу"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Колдонулуучу тилди тандаңыз."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Тилди тандоо"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux көп тилдүүлүктү колдойт. Орнотуу үчүн\n"
+"каалаган тилди тандаңыз. Орнотуу процесси бүтүп,\n"
+"системаңызды кайра жүктөгөн соң алар колдонууга даяр болот."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Көп тилдүүлүк"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Бардык тилдер"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Өлкө / Регион"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Өз өлкөңүздү тандаңыз."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Мүмкүн болгон бардык өлкөлөр тизмеси"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Башка Өлкөлөр"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Кошумча"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Кийирүү ыкмасы:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Жок"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Жалпы ресурс жок"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Бардык колдонуучуларга уруксат"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Тандама"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Колдонуучуга өзүнүн кээ бир каталогдорун бөлүшүү мүмкүнчүлүгүн бересизби?\n"
+"Бул колдонуучуга Konqueror жана Nautilus'тан жөн гана \"Бөлүшүү\" басууга "
+"мүмкүнчүлүк берет.\n"
+"\n"
+"\"Тандама\" кээ бир колдонуучуларга гана бөлүшүү укугун берсе болот.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: адаткы Unix файлдарды бөлүшүү системасы, Mac жана Windows'то начар "
+"колдоого ээ."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Windows, Mac OS X жана башка көпчүлүк заманбап Linux системаларында "
+"колдонулуучу файлдарды ортодо бөлүшүп пайдалануу системасы."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Сиз NFS же SMB жардамында экспорттосоңуз болот. Кайсынысын колдонууну "
+"каалайсыз? Тандаңыз."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Userdrake иштетүү"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Жабуу"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Колдонуучу ресурстарын бөлүштүрүү \"fileshare\" группасын колдонот .\n"
+"Колдонуучуну бул группага кошуу үчүн userdrake'ти колдонсоңуз болот."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Убакыт алкагы"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr ""
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Аппараттык саатты GMT боюнча орнотуу"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Аппараттык саатты GMT боюнча орнотуу"
+
+#: any.pm:1234
+#, fuzzy, c-format
+msgid "NTP Server"
+msgstr "NIS сервери"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Локалдык файл"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Смарт карта"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows домени"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "SFU'су бар актив директория"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Winbind'и бар актив директория"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Локалдык файл:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Бардык авторизацияларды локалдык жүргүзүү жана колдонуучу жөнүндө "
+"маалыматтарды локалдык файлдан окуу"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Бардык же айрым авторизациялар үчүн LDAP колдонуу керектиги жөнүндө сиздин "
+"компьютериңизге кабарлайт. LDAP сиздин уюмдун чегинде аныкталган бир "
+"маалыматтардын түрүн топтоп сактап турат."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Компьютерлердин тобуна бир Network Information Service доменинин алкагында "
+"жалпы бир паролдор жана группалар файлын пайдаланып иштөөгө мүмкүндүк берет."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows домени:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind системага Windows доменинен маалыматтарды алууга жана "
+"колдонуучуларды авторизациялоого уруксат берет."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "SFU колдонгон актив директория:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Active Directory Server серверине Kerberos жана Ldap менен аутентификациялоо"
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Winbind колдонгон актив директория:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind колонуучуларды Windows Active Directory Server аркылуу "
+"аутентификациялоого жол берет."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP аутентификациясы"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP сервери"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "жөнөкөй"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "коопсуздук катмары (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Active Directory аутентификациялануусу"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Домен"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Сервер"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP колдонуучуларынын беримдер базасы"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Анонимдик BIND колдонуу "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP колдонуучусуна актив директорияны кыдырууга уруксат берилген"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Колдонуучу үчүн сырсөз"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS аутентификациясы"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS домени"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS сервери"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"W2K PDC иштетүү үчүн, сиз админ катары C:\\>net localgroup \"Pre-Windows "
+"2000 Compatible Access\" everyone /add аткарып, андан соң серверди кайра "
+"жүктөңүз.\n"
+"Машинаны Windows(TM) доменине кошуу үчүн сизге домен администраторунун "
+"колдонуучу_аты/паролу керек болушу мүмкүн.\n"
+"Эгер желе учурда иштетилбеген болсо, Drakx желени орнотуу кадамынан кийин "
+"доменге кошулууга аракет жасайт. Кандайдыр бир себептер менен бул иш "
+"ийгиликсиз\n"
+"аяктаса жана домен аутентификациясы иштебесе, система кайра жүктөлгөндөн "
+"кийин Windows(tm) домен аты, жана админ колдонуучу_аты/паролу жардамы менен "
+"'smbpasswd -j ДОМЕН -U КОЛДОНУУЧУ%%ПАРОЛЬ' аткарыңыз.\n"
+"Бул 'wbinfo -t' командасы аутентификацияңыз канчалык жашыруун экендигин "
+"текшерет."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows доменин аутентификациялоо"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory Realm "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Домен админинин колдонуучу аты"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Домен админинин паролу"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Аутентификация"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Администратордуy (root) паролун орнотуу"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Аутентификация ыкмасы"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Паролсуз"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Бул парол өтө эле кыска (анын узундугу %d символдон кем эмес болушу керек)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "NIS доменисиз обого чыгарууну колдонууга болбойт"
+
+# this text MUST be in ASCII (as at boot time that is the only thing
+# that we are sure to be available on any computer).
+# the transliteration follows BGN/PCGN-1979 system; with ü and ö
+# written u' and o' instead.
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Operatsionduk sistema tandoochuga kosh kelingiz!\n"
+"\n"
+"Jogorudagy tizmeden operatsionduk sistemany tandangyz je\n"
+"aldynala bolgonu ju'kto'lgu'cho'ktu' ku'tu'ngu'z.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO тексттик меню менен"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB графикалык меню менен"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB текстик меню менен"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot ичинде жетиштүү орун жок"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Сиз %s бөлүмүндө баштапкы жүктөгүчтү орното албайсыз\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Баштапкы жүктөгүчүңүздүн конфигурациясы жаңыланышы керек, себеби бөлүм "
+"жаңыдан номурланган"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Баштапкы жүктөгүч туура орнотулбады. Сиз коопсуздук режиминде жүктөлүп \"%s"
+"\" тандаңыз"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Баштапкы жүктөгүчтү кайра орнотуу"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "Кб"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "Кб"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "Мб"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "Гб"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "Тб"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d минута"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 минута"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d секунда"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV-бул протокол, сизге веб-серверинин каталогун локалдык катары\n"
+"бириктирүүгө мүмкүнчүлүк берет жана аны локалдык файл системасы катары\n"
+"карайт (веб-сервери WebDAV сервери катары орнотулган шартта гана).\n"
+"Эгер WebDAV биригүү чекиттерин кошууну кааласаңыз \"Жаңы\" тандаңыз."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Жаңы"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Ажыратуу"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Бириктирүү"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Биригүү чекити"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Опциялар"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Жаңылыштык"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "WebDAV серверинин URLин киргизиңиз"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL http:// же https:// менен башталышы керек"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Сервер: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Биригүү чекити: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Опциялар: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Бөлүмдөргө бөлүү"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Кунт коюп окуңуз!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Адегенде беримдериңиздин көчүрмөсүн даярдаңыз"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Чыгуу"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Улантуу"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Эгер aboot колдонууну пландаштырсаңыз, дисктин башынан бош орун\n"
+"калтырууну унутпаңыз (2048 сектор жетиштүү)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Жардам"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Аракет тандоо"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Сизде бир чоң Microsoft Windows бөлүмү бар.\n"
+"Адегенде мен анын көлөмүн өзгөртүүнү сунуштайм\n"
+"(аны тандап, андан кийин \"Көлөмүн өзгөртүү\" басыңыз)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Бөлүмдүн үстүнө чертиңиз"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Таржымалы"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Таш дисктер табылбады"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Белгисиз"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Журналдануучу FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Своп"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Башка"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Бош"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Файл системасы тиби:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Эскертүү"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Бул бөлүмдүн көлөмүн өзгөртүүгө болбойт"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Алгач ``Ажыратууну'' колдонуңуз"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Ордуна ``%s'' колдонуңуз"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Тиби"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Башка бөлүм тандаңыз"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Бөлүм тандаңыз"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Аракеттен айнуу"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Нормалдык режимге өтүү"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Эксперт режимине өтүү"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Конфигурациялоо"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Буга карабай улантайынбы?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Сактабай чыгуу"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Бөлүмдөр таблицасын жазбай чыгайынбы?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "/etc/fstab өзгөртүүсүн сактоону калайсызбы"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Бөлүмдөр таблицасы ишке кирши үчүн кайра жүктөө талап кылынат"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Сизден %s бөлүмүн форматтоо талап кылынат.\n"
+"Антпесе %s биригүү чекити жөнүндө fstab'ка жазылбайт.\n"
+"Кандай болсо да чыгуубу?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Бардыгын тазалоо"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Авто бөлүштүрүү"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Көбүрөөк"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Таш диск жөнүндө маалымат"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Бардык негизги бөлүмдөр колдонулууда"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Жаңы бөлүмдөрдү кошууга болбойт"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Бөлүмдөр көбүрөөк болушу үчүн, кеңейтилген бөлүм түзүү үчүн бирөөнү жоготуңуз"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Supermount жок"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "CDROM түзүлүштөрүнөн башканы supermount кылуу"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Бөлүмдөр таблицасын сактоо"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Бөлүмдөр таблицасын калыбына келтирүү"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Бөлүмдөр таблицасын сактап калуу"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Бөлүмдөр таблицасын кайра жүктөө"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Чыгарылма түзүлүштү автобириктирүү"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Файл тандоо"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Бөлүмдөр таблицасынын резервдик копиясынын өлчөмү башка\n"
+"Ага карабай улантайынбы?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Бөлүмдөр таблицасын сактап калуу аракети"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Кеңири маалымат"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Көлөмүн өзгөртүү"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Форматтоо"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID'га кошуу"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVM'ге кошуу"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Жоготуу"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAID'дан алып салуу"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM'ден алып салуу"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID өзгөртүү"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "loopback үчүн колдонуу"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Түзүү"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Жаңы бөлүм түзүү"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Баштапкы сектор: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Көлөмү (Мб): "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Файл системасынын тиби: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Жактыргандар: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Логикалык том аты "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Сиз жаңы бөлүм түзө албайсыз\n"
+"(себеби негизги бөлүмдөрүнүн саны максималдыкка жетти).\n"
+"Адегенде негизги бөлүмдү жоготуп кеңейтилген бөлүм түзүңүз."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "loopback файлын жоготоюнбу?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"%s бөлүмүнүн тибин өзгөрткөн соң, бул бөлүмдөгү бардык беримдер жоголот"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Бөлүмүндүн тибин өзгөртүү"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Кайсы файл системасын каалайсыз?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2 файл системасынын ext3'кө өткөрүү"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Кайсы томдун белгиси?"
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Эн белги"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "%s loopback файлын кайда бириктиргиңиз келет?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "%s түзүлүшүн кайда бириктиргиңиз келет?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Биригүү чекитин алып салууга болобой, себеби бул бөлүм loop back\n"
+"үчүн колдонулууда. Адегенде loopback'ты жоготуңуз."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "%s кайда бириктиргиңиз келет?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Көлөмүн өзгөртүү"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT файл системасынын чектери эсептелүүдө "
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Бул бөлүмдүн көлөмүн өзгөртүүгө болбойт"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Бул бөлүмдүн бардык берилиштери резервдик копияланышы керек"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "%s бөлүмүнүн көлөмүн өзгөрткөн соң, андагы бардык беримдер жоголот"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Жыңы көлөмүн тандаңыз"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Жаңы көлөмү (Мб): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Көлөмүн өзгөрткөн соң бөлүмдүн(дөрдүн) бүтүндүгүн\n"
+"камсыздоо үчүн, Windows(TM) кийинки жүктөлгөндө\n"
+"файл системасын текшерүү ишке ашырылат"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Кошуу үчүн бар RAID тандаңыз"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "жаңы"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Кошуу үчүн бар LVM тандаңыз"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM аты?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"%s физикалык тому учурда колдонулууда.\n"
+"Бул томдогу колдонулуп жаткан физикалык кеңейүүлөрдү башка томго көчүргүңүз "
+"келеби?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Физикалык кеңейүүлөр жылдырылууда"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Бул бөлүмдү loopback үчүн колдонууга болбойт"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback файл аты: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Файл атын бериңиз"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Файлды алдагачан башка loopback колдонууда, башкасын тандаңыз"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Файл алдагачан бар. Аны колндоноюнбу?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Бириктирүү опциялары"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Ар кандай"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "түзүлүш"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "деңгээл"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "үзүмдүн өлчөмү, KiB менен"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Этият болуңуз: бул операция кооптуу."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Бөлүмдөргө бөлүүнүн кандай тиби?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Өзгөртүүлөр ишке кирши үчүн системаны кайра жүктөөңүз керек"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s түзүлүшү үчүн бөлүмдөр таблицасы дискке жазылат!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "%s бөлүмүн форматтагандан кийин, андагы бардык берилиштер жоголот"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Начар блокторго текшерүүнү аткарайынбы?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Файлдарды жаңы бөлүмгө жылдыруу"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Файлдарды жашыруу"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Файлдар жаңы бөлүмгө жылдырылууда"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s көчүрүлүүдө"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s жоготулууда"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "%s бөлүмү эми %s катары белгилүү"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Бөлүмдөр өз катарларын өзгөртүштү: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Түзүлүш: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Томдун эн белгиси: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS дискинин тамгасы: %s (тобокелге)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Тиби: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Аты:"
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Башы: %s-сектор\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Көлөмү: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s секторлор"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Цилиндр %d - %d чейин\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Логикалык кеңейтүүлөрдүн саны: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Форматталган\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Форматталган эмес\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Бириктирилген\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback файлы(дары):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Алдынала тандалган жүктөлчү бөлүм\n"
+" (MS-DOS жүктөө үчүн, lilo үчүн эмес)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Деңгээл %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Үзүмдүн өлчөмү %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-дисктер %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback файл аты: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Бул бөлүм драйвердин бөлүмү\n"
+"болуп калуу ыктымалдыгы бар.\n"
+"Аны тийбегениңиз дурус.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Бул атайын бөлүм\n"
+"Bootstrap сиздин системаны\n"
+"кош жүктөө үчүн арналган.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Окуу үчүн гана"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Көлөмү: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Геометриясы: %s цилиндр, %s башча, %s сектор\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Маалымат: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-дисктери %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Бөлүмдөр таблицасынын тиби: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "%d каналында id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Файл системасын шифрлөө ачкычы"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Файл системаңыздын шифрлөө ачкычын тандаңыз"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Бул шифрлөө ачкычы өтө эле жөнөкөй (кеминде %d символдон турушу керек)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Шифрлөө ачкычтары дал келишпейт"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Шифрлөө ачкычы"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Шифрлөө ачкычы (кайрадан)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Шифрлөө алгоритми"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Тибин өзгөртүү"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Айнуу"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "%s колдонуучу аты менен кирүүгө мүмкүн болбоду (парол туурабы?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Домен аутентификациясы талап кылынат"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Колдонуучу аты кайсы"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Башкасы"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Бул хостко кирүү үчүн колдонуучу атыңызды, паролуңузду жана домен атын "
+"киргизиңиз."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Колдонуучу аты"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Серверлерди издөө"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Жаңы серверлерди издөө"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s пакети орнотулуга тийиш. Аны орнотууну каалайсызбы?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "%s пакетин орнотууга болбоду!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "%s милдеттүү болчу пакет жетишпөөдө"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Төмөндөгү пакеттер орнотулушу керек:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Пакеттер орнотулууда..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Пакеттер жоготулууда..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Жаңылыштык орун алды - жаңы файлдык системаларды түзүү үчүн туура түзүлүштөр "
+"табылган эмес. Ыктымалдуу себебин табуу үчүн аппараттык жабдууларыңызды "
+"текшерип көрүңүз."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Сизде /boot/efi менен бириктирилген FAT бөлүмү болушу керек"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "%s бөлүмү форматталууда"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "%s файлы түзүлүүдө жана форматталууда"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Мен %s кантип %s тибинде форматтоону билбейм"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s тибинде %s форматтоо ийгиликсиз аяктады"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Циркулярдык биригүүлөр (mounts) %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "%s бөлүмү бириктирилүүдө"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "%s бөлүмүн %s каталогуна бириктирүү ийгиликсиздиги"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s текшерилүүдө"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s ажыратуудагы ката: %s "
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Своп бөлүмү ишке киргизилүүдө %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Шифрленген файл системасын колдонуу"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Бул файл системасынын inode'на жетүү убактысы жаңыланууда\n"
+"(М. жаңылыктар серверинин жаңылыктар спулуна ылдам жетүү үчүн)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Анык жол менен гана бириктирилиши мүмкүн (б.а.,\n"
+"-a опциясы файл системасын бириктирүүгө алып келбейт)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Файл системасында символдук же атайын блоктук түзүлүштөрдү интрпретациялабоо."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Бириктирилген файл системасында эч бир бинардык файлга\n"
+"аткарылууга мүмкүндүк бербөө. Бул опция өзүнүн архитектурасынан\n"
+"айырмаланган, башка архитектура үчүн бинардык файлдары\n"
+"камтыган файл системалары бар серверлер үчүн пайдалуу болушу мүмкүн."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"set-user-identifier же set-group-identifier биттеринин ишке\n"
+"киришүүсүнө уруксат бербөө. (Бул коопсуз сыяктуу, бирок\n"
+"иш үстүндө suidperl(1) орнотуу коопсузураак болот.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Файл системасын окуу үчүн гана бириктирүү."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Файл системасынын бардык кирүү/чыгуусу синхрондуу аткарылуусу керек."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Кадимки колдонуучуларга файл системасын бириктирүүгө уруксат берүү."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Кадимки колдонуучуларга жазуу укугун берүү"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Кадимки колдонуучуларга окуу үчүн гана укугун берүү"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Кайталанган %s биригүү чекити"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Мүмүкүн болгон бөлүмдөр жок"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Биригүү чекиттерин тандаңыз"
+
+#: fs/partitioning.pm:46
+#, fuzzy, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Конфигурациялоо үчүн туташууну тандаңыз"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Сизде своп бөлүмү жок.\n"
+"\n"
+"Буга карабай улантайынбы?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Бош орунду колдонуу"
+
+#: fs/partitioning_wizard.pm:82
+#, fuzzy, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Авто-бөлүштүрүү үчүн бош орун жетишсиз"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Бар бөлүмдөрдү колдонуу"
+
+#: fs/partitioning_wizard.pm:92
+#, fuzzy, c-format
+msgid "There is no existing partition to use"
+msgstr "Бөлүмдөр таблицасын сактап калуу аракети"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Аны кайсы секторго жылдыргыңыз келет?"
+
+#: fs/partitioning_wizard.pm:104
+#, fuzzy, c-format
+msgid "Choose the sizes"
+msgstr "Жыңы көлөмүн тандаңыз"
+
+#: fs/partitioning_wizard.pm:105
+#, fuzzy, c-format
+msgid "Root partition size in MB: "
+msgstr "Жаңы көлөмү (Мб): "
+
+#: fs/partitioning_wizard.pm:106
+#, fuzzy, c-format
+msgid "Swap partition size in MB: "
+msgstr "Жаңы көлөмү (Мб): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Windows бөлүмүндөгү бош орунду колдонуу"
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Эмне кылууну каалайсыз?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Түпкү бөлүмдүн биринчи сектору"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Кийинки"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Түпкү бөлүмдүн биринчи сектору"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Көлөмү"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:178
+#, fuzzy, c-format
+msgid "FAT resizing failed: %s"
+msgstr "%s файлын окуудагы ката"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Windows'ту жоготуу"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Дискти толугу менен өчүрүү жана аны колдонуу"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Сизде бир нече катуу диск бар, анын кайсынысына линуксту орнотууну каалайсыз?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "%s түзүлүшүндөгү БАРДЫК бөлүмдөр жана алардагы берилиштер жоготулат"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Дискти өз алдынча бөлүү"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdisk колдонуңуз"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Эми сиз %s түзүлүшүн бөлсөңүз болот.\n"
+"Ишти аяктаган соң `w' командасын колдонуу менен өзгөрүүлөрдү сактоону "
+"унутпаңыз."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Орнотууга орун таба албадым"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX диск бөлүү устасы төмөнкү чечимдерди тапты:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Бөлүмдөргө бөлүү ишке ашпады: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Сиз көлөмү 16 Мб кем бөлүмдөргө JFS'ти колдоно албайсыз"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Сиз көлөмү 32 Мб кем бөлүмдөргө ReiserFS'ти колдоно албайсыз"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "/usr менен"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "сервер"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Мен %s түзүлүшүнүн бөлүмдөр таблицасын окуй албадым, ал мен үчүн\n"
+"өтө бузулган :( Мен бардык жаман бөлүмдөрдү жоготконго (БАРДЫК\n"
+"БЕРИЛИШТЕР жоголот!) аракет жасай алам. Башка бир варианты\n"
+"DrakX'ке бөлүмдөр таблицасын өзгөртүүгө мүмкүндүк бербөө.\n"
+"(ката болсо бул: %s)\n"
+"\n"
+"Сиз бардык бөлүмдөрдү жоготууга даярсызбы?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Биригүү чекити / символу менен башталышы керек"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Биригүү чекиттери алфавиттик-цифралык символдордон гана турушу керек"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "%s биригүү чекити менен бөлүм алдагачан бар\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Сиз RAID программалык бөлүмүн түпкү (/) катары тандадыңыз.\n"
+"Бир дагы баштапкы жүктөгүч /boot бөлүмүсүз аны башкара албайт.\n"
+"/boot бөлүмү бар экендигин тактаңыз."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"%s биригүү чекити үчүн LVM логикалык томун колдоно албайсыз, себеби ал "
+"физикалык томдорго таркайт"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Сиз LVM логикалык томун түпкү (/) катары тандадыңыз.\n"
+"Том физикалык бөлүмдөргө тараган учурда жүктөгүч аны иштете албайт.\n"
+"Алгач /boot бөлүмүн түзүңүз."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Бул каталог түпкү каталог ичинде калтырылышы керек"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Бул биригүү чекити үчүн реалдуу (ext2/ext3, reiserfs, xfs же jfs) файл "
+"системасы талап кылынат\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Сиз %s биригүү чекити үчүн шифрделген файл системасын колдоно албайсыз"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Авто-бөлүштүрүү үчүн бош орун жетишсиз"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Аткарганга эч нерсе жок"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Флоппи"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Таш диск"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Жазуучу CD/DVD"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Магниттик тасма"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP контроллерлери"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Видеокарта"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB картасы"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "ТВ-карта"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Башка мультимедиа түзүлүштөрү"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Добуш картасы"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Веб-камера"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Процессорлор"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN адаптерлери"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB добуш түзүлүштөрү"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Радио карталар"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM тармак карталары"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN тармак карталары"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth түзүлүштөрү"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet картасы"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Модем"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL адаптерлери"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Эс"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Принтер"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Оюн портторунун контроллерлери"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Жойстик"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA контроллерлери"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID контроллерлери"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA контроллерлер"
+
+#: harddrake/data.pm:386
+#, fuzzy, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB добуш түзүлүштөрү"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Карта модели:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire контроллерлер"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA контроллерлер"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI контроллерлер"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB контроллерлер"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB порттору"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus контроллерлер"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Көпүрөлөр жана системалык контроллерлер"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Алиптергич"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet жана touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Чычкан"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Сканер"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Белгисиз/Башкалар"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "процессор # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Күтө туруңуз... Конфигурация колдонулууда"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Альтернативдик драйвер жок"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Сиздин добуш картаңыз (%s) үчүн белгилүү OSS/ALSA альтернативдик драйвер "
+"жок, учурда ал \"%s\" колдонууда"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Добуш конфигурациясы"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Бул жерден сиз добуш картаңыз (%s) үчүн альтернативдик драйвер (же OSS, же "
+"ALSA) тандасаңыз болот.."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Сиздин картаңыз учурда %s\"%s\" драйверин колдонууда (картаңыз үчүн алдынала "
+"драйвер \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) добуш үчүн биринчи API. Ал добуш үчүн АС көз "
+"карандысыз API (ал көпчүлүк UNIX(tm) системаларында бар),\n"
+"бирок өтө жөнөкөй жана мүмкүнчүлүгү чектелген API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) модулдаштырылган архитектура,\n"
+"ал салыштырмалуу көп ISA, USB жана PCI карталар диапазонун колдойт.\n"
+"\n"
+"Ал OSSке караганда бир топ күчтүү API.\n"
+"\n"
+"Alsa'ны колдоо үчүн:\n"
+"- OSS менен иштөөчү эски api\n"
+"- көптөгөн кеңейтилген мүмкүнчүлүктүү жаңы ALSA api, бирок ал ALSA "
+"библиотекасын колдонууну талап кылат.\n"
+"колдонсоңуз болот\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Драйвер:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Бузукту издөө жана арылуу"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"\"%s\" эски драйвери кара тизмеге кошулган.\n"
+"\n"
+"Ядро ишин аяктоо учурунда аны эскертүү үчүн, ал жөнүндө отчет түзүлгөн.\n"
+"\n"
+"Жаңы драйвер \"%s\" кийинки жүктөө учурунда гана колдонулат."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ачык баштапкы кодду драйвер жок"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Сиздин добуш картаңыз (%s) үчүн бекер драйвер жок, бирок мында: \"%s\" "
+"өзүнүн драйвери жатат."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Белгилүү драйвер жок"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Сиздин добуш картаңыз (%s) үчүн белгилүү драйвер жок"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Белгисиз драйвер"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Ката: Сиздин добуш картаңыз үчүн \"%s\" драйвери тизмеде жок"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Добуш бузугун издөө жана арылуу"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Классикалык добуш бузугун текшергич төмөнкү командаларды аткарат:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" сизге алдыалынган добуш картасынын\n"
+"драйверин көрсөтөт\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" кайсы драйвер колдонулуп\n"
+"жаткандыгын көрсөтөт\n"
+"\n"
+"- \"/sbin/lsmod\" сизге модул (драйвер) жүктөлгөндүгүн\n"
+"же жүктөлбөгөндүгүн көрсөтөт\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" жана \"/sbin/chkconfig --list alsa\"\n"
+"initlevel 3'тө аткарылуучу sound жана alsa кызматтарын көрсөтөт\n"
+"\n"
+"\n"
+"- \"aumix -q\" сизге добуш бийиктигинин иштетилгендигин\n"
+"же жокутугун көрсөтөт\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" добуш картасын кайсы программа\n"
+"колдонгондугун көрсөтөт.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Башка драйвер тандоо"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Каалаган драйверди тандоо"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Эгер сиз картаңызга кайсы драйвер туура келерин билем деп эсептесеңиз,\n"
+"анда сиз аны жогорку тизмеден тандасаңыз болот.\n"
+"\n"
+"Сиздин добуш картаңыз \"%s\" үчүн учурдагы драйвер \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Автоаныктоо"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Белгисиз|Кадимки"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Белгисиз|CPH05X (bt878) [көпчүлүк өндүрүүчүлөр]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Белгисиз|CPH06X (bt878) [көпчүлүк өндүрүүчүлөр]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Азыркы убактагы көпчүлүк ТВ-карталар үчүн GNU/Linux ядросунун bttv модулу "
+"автоматтык түрдө\n"
+"туура параметрлерди аныктай алат. Эгер сиздин картаңыз аныкталбаса, сиз бул "
+"жерден аны атайлап\n"
+"тюнердин жана картанын туура параметрлерин колдонтсоңуз болот. Эгер керек "
+"болсо, өзүңүздүн\n"
+"ТВ-картаңыздын туура параметрлерин тандаңыз."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Карта модели:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Тюнер тиби:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "ОК"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ооба"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Жок"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr ""
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Кошуу"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Өзгөртүү"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Жоготуу"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Аяктоо"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Мурунку"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr ""
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr ""
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr ""
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr ""
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Кайрадан жөнөтүү"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Андорра"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Араб Эмираттары"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Афганистан"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Антигуа жана Барбуда"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Ангвилла"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Албания"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Армения"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Голландиялык Антил аралдары"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Ангола"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Антарктика"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Аргентина"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Америкалык Самоа"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Австрия"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Австралия"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Аруба"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Азербайжан"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Босния жана Герцеговина"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Барбадос"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Бангладеш"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Бельгия"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Буркина-Фасо"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Болгария"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Бахрейн"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Бурунди"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Бенин"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Бермуддар"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Бруней Даруссалам"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Боливия"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Бразилия"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Багамдар"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Бутан"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Буве аралы"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Ботсвана"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Беларусь"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Белиз"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Канада"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Кокос аралдары"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Конго (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Борбордук Африка Республикасы"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Конго (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Швейцария"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Кот-д'Ивуар"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Кук аралдары"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Чили"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Камерун"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Кытай"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Колумбия"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Коста-Рика"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Сербия жана Черногория"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Куба"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Кабо-Верде"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Кристмас аралы"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Кипр"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Чех Республикасы"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Германия"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Джибути"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Дания"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Доминика"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Доминик республикасы"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Алжир"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Эквадор"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Эстония"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Египет"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Батыш Сахара"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Эритрея"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Испания"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Эфиопия"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Финляндия"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Фиджи"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Фолкленд (Мальвиналар) аралдары"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Микронезия"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Фаре аралдары"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Франция"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Габон"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Улуу Британия"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Гренада"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Грузия"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Француз Гвианасы"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Гана"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Гибралтар"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Гренландия"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Гамбия"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Гвинея"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Гваделупа"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Экваториалдык Гвинея"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Греция"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Түштүк Жорджия жана Түштүк Сандвич аралдары"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Гватемала"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Гуам"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Гвинея-Бисау"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Гайана"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Гонконг (Кытай)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Херд жана МакДональд аралдары"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Гондурас"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Хорватия"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Гаити"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Венгрия"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Индонезия"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ирландия"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Израиль"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Индия"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Индия океандын Британдык территориясы "
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ирак"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Иран"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Исландия"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Италия"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Ямайка"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Иордания"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Япония"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Кения"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Кыргызстан"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Камбоджа"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Кирибати"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Комор аралдары"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Сент-Китс жана Невис"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Корея (Түндүк)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Корея"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Кувейт"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Кайман аралдары"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Казакстан"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Лаос"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Лебанон"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Ыйык Люсия"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Лихтенштейн"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Шри-Ланка"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Либерия"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Лесото"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Литва"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Люксембург"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Латвия"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Ливия"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Марокко"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Монако"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Молдова"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Мадагаскар"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Маршалл аралдары"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Македония"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Мали"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Мьянма"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Монголия"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Түндүк Мариана аралдары"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Мартиника"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Мавритания"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Монсеррат"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Мальта"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Маврикий"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Мальдивдер"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Малави"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Мексика"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Малайзия"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Мозамбик"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Намибия"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Жаңы Каледония"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Нигер"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Норфолк аралы"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Нигерия"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Никарагуа"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Голландия"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Норвегия"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Непал"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Науру"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Нью"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Жаңы Зеландия"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Оман"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Панама"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Перу"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Француз Полинезиясы"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Папуа Жаңы Гвинея"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Филиппиндер"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Пакистан"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Польша"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Сен-Пьер жана Микелон"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Питкэрн"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Пуэрто-Рико"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Палестина"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Португалия"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Парагвай"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Палау"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Катар"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Реюньон"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Румыния"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Россия"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Руанда"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Сауд Аравиасы"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Соломон аралдары"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Сейшел аралдары"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Судан"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Швеция"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Сингапур"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Ыйык Елена"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Словения"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Свалбард жана Ян Майен аралдары"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Словакия"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Сьерра-Леоне"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Сан-Марино"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Сенегал"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Сомали"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Суринам"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Сао Томе жана Принсипи"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Сальвадор"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Сирия"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Свазиленд"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Туркс жана Каикос аралдары"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Чад"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Француз түштүк территориялары"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Того"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Тайланд"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Тажикистан"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Токелау"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Чыгыш Тимор"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Түркмөнстан"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Тунис"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Тонга"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Түркия"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Тринидад жана Тобаго"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Тувалу"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Тайван"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Танзания"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Украина"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Уганда"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Кошмо штаттардын Алыстагы Кичи аралдары"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Кошмо Штаттары"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Уругвай"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Өзбекстан"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Ватикан"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Сент-Винсент жана Гренадиндер"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Венесуэла"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Виргин аралдары (Британия)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Виргин аралдары (АКШ)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Вьетнам"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Вануату"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Уоллес жана Футана"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Самоа"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Йемен"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Майот"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Түштүк Африка"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Замбия"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Зимбабве"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "%s Кош келиңиз!"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr ""
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr ""
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr ""
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr ""
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr ""
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr ""
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr ""
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr ""
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr ""
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr ""
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr ""
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr ""
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr ""
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "%s файлын окуудагы ката"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr ""
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr ""
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr ""
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr ""
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr ""
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr ""
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr ""
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr ""
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr ""
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr ""
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr ""
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr ""
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr ""
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr ""
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr ""
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr ""
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr ""
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr ""
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Коопсуздук"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr ""
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr ""
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr ""
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr ""
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Басуу системасы"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Интернет"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr ""
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Система"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr ""
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr ""
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Кызматтар"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr ""
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Жүктөөдө"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Баштоо"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Стоп"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr ""
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Сервер кошуу"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Түштүк Африка"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Австрия"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Түштүк Африка"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Македония"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Түштүк Африка"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Гонконг"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Россия федерациясы"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Югославия"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Бул туурабы?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Файл тандалган эмес"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Сиз каталогду эмес, файлды көрсөттүңүз"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Сиз файлды эмес, каталогду көрсөттүңүз"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Мындай каталог жок"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Мындай файл жок"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Бутактарды жазуу"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Бутактарды жыйуу"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr ""
+"Жөнөкөй жана группалары боюнча иреттелген тизмектердин ортосунда алмаштыруу"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s орнотулган эмес\n"
+"Орнотуу үчүн \"Кийинки\" же чыгуу үчүн \"Айнуу\" баскычын басыңыз"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Орнотуу ийгиликсиз аяктады"
+
+#~ msgid "Icon"
+#~ msgstr "Сүрөтбелги"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Кармап алынуучу буферлер саны:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "mmap кармап алуу үчүн кармап алуу буферлер саны"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL параметрлери:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Радиону колдоо:"
+
+#~ msgid "enable radio support"
+#~ msgstr "радиону колдоону иштетүү"
diff --git a/perl-install/share/po/libDrakX.pot b/perl-install/share/po/libDrakX.pot
new file mode 100644
index 000000000..9c8d9d5ad
--- /dev/null
+++ b/perl-install/share/po/libDrakX.pot
@@ -0,0 +1,5931 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617 diskdrake/interactive.pm:798 diskdrake/interactive.pm:842 diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209 do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr ""
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr ""
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr ""
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr ""
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr ""
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr ""
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr ""
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr ""
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr ""
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr ""
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr ""
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr ""
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr ""
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr ""
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr ""
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr ""
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr ""
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr ""
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr ""
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr ""
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr ""
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr ""
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr ""
+
+#: any.pm:318
+#, c-format
+msgid "Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr ""
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr ""
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr ""
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr ""
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr ""
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr ""
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr ""
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr ""
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr ""
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr ""
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr ""
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr ""
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr ""
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr ""
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr ""
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr ""
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr ""
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr ""
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr ""
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr ""
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr ""
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr ""
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr ""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr ""
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr ""
+
+#: any.pm:658
+#, c-format
+msgid "The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr ""
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr ""
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr ""
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr ""
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr ""
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr ""
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166 diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82 interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr ""
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr ""
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr ""
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr ""
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr ""
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr ""
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr ""
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr ""
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr ""
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr ""
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr ""
+
+#: any.pm:773 any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr ""
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr ""
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr ""
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr ""
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr ""
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr ""
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr ""
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr ""
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr ""
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr ""
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr ""
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr ""
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr ""
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+""
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid "NFS: the traditional Unix file sharing system, with less support on Mac and Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid "SMB: a file sharing system used by Windows, Mac OS X and many modern Linux systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid "You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr ""
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr ""
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr ""
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr ""
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr ""
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr ""
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr ""
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr ""
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr ""
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr ""
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr ""
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr ""
+
+#: authentication.pm:66
+#, c-format
+msgid "Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "Allows you to run a group of computers in the same Network Information Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Winbind allows the system to retrieve information and authenticate users in a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Winbind allows the system to authenticate users in a Windows Active Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr ""
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr ""
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr ""
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr ""
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr ""
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr ""
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr ""
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr ""
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr ""
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr ""
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr ""
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr ""
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr ""
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr ""
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr ""
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr ""
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr ""
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr ""
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr ""
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+""
+msgstr ""
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr ""
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr ""
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr ""
+
+#: bootloader.pm:1679
+#, c-format
+msgid ""
+"You can not install the bootloader on a %s partition\n"
+""
+msgstr ""
+
+#: bootloader.pm:1732
+#, c-format
+msgid "Your bootloader configuration must be updated because partition has been renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid "The bootloader can not be installed correctly. You have to boot rescue and choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr ""
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr ""
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr ""
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr ""
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr ""
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr ""
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr ""
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr ""
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr ""
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr ""
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr ""
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr ""
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440 diskdrake/interactive.pm:670 diskdrake/interactive.pm:688 diskdrake/interactive.pm:692 diskdrake/removable.pm:23 diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr ""
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442 diskdrake/interactive.pm:1047 diskdrake/removable.pm:24 diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr ""
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229 diskdrake/interactive.pm:242 diskdrake/interactive.pm:398 diskdrake/interactive.pm:416 diskdrake/interactive.pm:547 diskdrake/interactive.pm:552 diskdrake/interactive.pm:660 diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092 diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108 diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19 do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229 interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19 scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95 wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr ""
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr ""
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr ""
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520 diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr ""
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286 diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106 fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201 fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247 fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067 diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/hd_gtk.pm:94 diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is enough)\n"
+"at the beginning of the disk"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719 interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291 diskdrake/interactive.pm:392 diskdrake/interactive.pm:428 diskdrake/interactive.pm:577 diskdrake/interactive.pm:751 diskdrake/interactive.pm:809 diskdrake/interactive.pm:902 diskdrake/interactive.pm:944 diskdrake/interactive.pm:945 diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211 diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53 harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441 diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083 diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr ""
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279 diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr ""
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr ""
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr ""
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr ""
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr ""
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr ""
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360 interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr ""
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr ""
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr ""
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr ""
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid "To have more partitions, please delete one to be able to create an extended partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr ""
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr ""
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr ""
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr ""
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr ""
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr ""
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr ""
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr ""
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr ""
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr ""
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr ""
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr ""
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr ""
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr ""
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr ""
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr ""
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr ""
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid "After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr ""
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr ""
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr ""
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr ""
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798 fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr ""
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr ""
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr ""
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr ""
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr ""
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr ""
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr ""
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr ""
+
+#: diskdrake/interactive.pm:874 diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr ""
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr ""
+
+#: diskdrake/interactive.pm:941 diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr ""
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr ""
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr ""
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr ""
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr ""
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr ""
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr ""
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr ""
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr ""
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr ""
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr ""
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be mounted there or leave them where they are (which results in hiding them by the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr ""
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid ""
+"DOS drive letter: %s (just a guess)\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246 diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid ""
+"Start: sector %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ""
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid ""
+"Cylinder %d to %d\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid ""
+"Number of logical extents: %d\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid ""
+"Formatted\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid ""
+"Not formatted\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid ""
+"Mounted\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid ""
+"RAID %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid ""
+"Level %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid ""
+"Chunk size %d KiB\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid ""
+"RAID-disks %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr ""
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid ""
+"Size: %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid ""
+"Geometry: %s cylinders, %s heads, %s sectors\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid ""
+"LVM-disks %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid ""
+"Partition table type: %s\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid ""
+"on channel %d id %d\n"
+""
+msgstr ""
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr ""
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr ""
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539 interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160 interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506 ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid "Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr ""
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr ""
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, c-format
+msgid ""
+"The following packages need to be installed:\n"
+""
+msgstr ""
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr ""
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr ""
+
+#: fs/any.pm:17
+#, c-format
+msgid "An error occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr ""
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr ""
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr ""
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr ""
+
+#: fs/loopback.pm:24
+#, c-format
+msgid ""
+"Circular mounts %s\n"
+""
+msgstr ""
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr ""
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr ""
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr ""
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr ""
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr ""
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr ""
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr ""
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr ""
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr ""
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid "Failed to check filesystem %s. Do you want to repair the errors? (beware, you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr ""
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr ""
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid "Your Microsoft Windows® partition is too fragmented. Please reboot your computer under Microsoft Windows®, run the ``defrag'' utility, then restart the Mandriva Linux installation."
+msgstr ""
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, you first need to exit the installation, run \"chkdsk c:\" from a Command Prompt under Microsoft Windows® (beware, running graphical program \"scandisk\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), optionally run defrag, then restart the installation. You should also backup your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr ""
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr ""
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+""
+msgstr ""
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr ""
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid ""
+"There is already a partition with mount point %s\n"
+""
+msgstr ""
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+
+#: fsedit.pm:415
+#, c-format
+msgid "You can not use the LVM Logical Volume for mount point %s since it spans physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount point\n"
+""
+msgstr ""
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr ""
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr ""
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr ""
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr ""
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr ""
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr ""
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr ""
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr ""
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr ""
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr ""
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr ""
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr ""
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr ""
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr ""
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr ""
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr ""
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr ""
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr ""
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr ""
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr ""
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr ""
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr ""
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr ""
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr ""
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr ""
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid "There's no known OSS/ALSA alternative driver for your sound card (%s) which currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr ""
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid "Here you can select an alternative driver (either OSS or ALSA) for your sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is \"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent sound API (it's available on most UNIX(tm) systems) but it's a very basic and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using the ALSA library.\n"
+""
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr ""
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid "There's no free driver for your sound card (%s), but there's a proprietary driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr ""
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+""
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr ""
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr ""
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr ""
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr ""
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217 interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39 interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508 ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr ""
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr ""
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr ""
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr ""
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr ""
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr ""
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr ""
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr ""
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr ""
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid ""
+"Bad choice, try again\n"
+""
+msgstr ""
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr ""
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr ""
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr ""
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr ""
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid ""
+"=> There are many things to choose from (%s).\n"
+""
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr ""
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr ""
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr ""
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr ""
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr ""
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr ""
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr ""
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr ""
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr ""
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr ""
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr ""
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr ""
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr ""
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr ""
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr ""
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr ""
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr ""
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr ""
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr ""
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr ""
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr ""
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr ""
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr ""
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr ""
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr ""
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr ""
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr ""
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr ""
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr ""
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr ""
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr ""
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr ""
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr ""
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr ""
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr ""
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr ""
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr ""
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr ""
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr ""
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr ""
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr ""
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr ""
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr ""
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr ""
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr ""
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr ""
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr ""
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr ""
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr ""
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr ""
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr ""
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr ""
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr ""
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr ""
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr ""
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr ""
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr ""
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr ""
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr ""
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr ""
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr ""
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr ""
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr ""
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr ""
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr ""
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr ""
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr ""
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr ""
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr ""
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr ""
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr ""
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr ""
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr ""
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr ""
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr ""
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr ""
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr ""
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr ""
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr ""
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr ""
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr ""
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr ""
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr ""
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr ""
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr ""
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr ""
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr ""
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr ""
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr ""
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr ""
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr ""
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr ""
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr ""
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr ""
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr ""
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr ""
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr ""
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr ""
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr ""
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr ""
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr ""
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr ""
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr ""
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr ""
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr ""
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr ""
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr ""
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr ""
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr ""
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr ""
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr ""
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr ""
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr ""
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr ""
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr ""
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr ""
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr ""
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr ""
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr ""
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr ""
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr ""
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr ""
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr ""
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr ""
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr ""
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr ""
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr ""
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr ""
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr ""
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr ""
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr ""
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr ""
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr ""
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr ""
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr ""
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr ""
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr ""
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr ""
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr ""
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr ""
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr ""
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr ""
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr ""
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr ""
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr ""
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr ""
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr ""
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr ""
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr ""
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr ""
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr ""
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr ""
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr ""
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr ""
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr ""
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr ""
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr ""
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr ""
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr ""
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr ""
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr ""
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr ""
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr ""
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr ""
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr ""
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr ""
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr ""
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr ""
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr ""
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr ""
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr ""
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr ""
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr ""
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr ""
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr ""
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr ""
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr ""
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr ""
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr ""
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr ""
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr ""
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr ""
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr ""
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr ""
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr ""
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr ""
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr ""
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr ""
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr ""
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr ""
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr ""
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr ""
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr ""
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr ""
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr ""
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr ""
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr ""
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr ""
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr ""
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr ""
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr ""
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr ""
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr ""
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr ""
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr ""
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr ""
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr ""
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr ""
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr ""
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr ""
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr ""
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr ""
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr ""
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr ""
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr ""
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr ""
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr ""
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr ""
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr ""
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr ""
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr ""
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr ""
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr ""
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr ""
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr ""
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr ""
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr ""
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr ""
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr ""
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr ""
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr ""
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr ""
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr ""
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid ""
+"Remove the logical volumes first\n"
+""
+msgstr ""
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this License. \n"
+"If you disagree with any portion of the License, you are not allowed to install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner which does not comply \n"
+"with the terms and conditions of this License is void and will terminate your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever (including without \n"
+"limitation damages for loss of business, interruption of business, financial loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential loss) arising out \n"
+"of the possession and use of software components or arising out of downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please read carefully the terms \n"
+"and conditions of the license agreement for each component before using any component. Any question \n"
+"on a component license should be addressed to the component author and not to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of France.\n"
+"All disputes on the terms of this license will preferably be settled out of court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+""
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+""
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr ""
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr ""
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr ""
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr ""
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr ""
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr ""
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr ""
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr ""
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr ""
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr ""
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr ""
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr ""
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr ""
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr ""
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next to the extended partitions."
+msgstr ""
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr ""
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr ""
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr ""
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr ""
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid ""
+"Not enough partitions for RAID level %d\n"
+""
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, c-format
+msgid "Allow/Forbid the list of users on the system on display managers (kdm and gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr ""
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid "Enable su only from members of the wheel group. If set to no, allows su from any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid "Set the password minimum length and minimum number of digit and minimum number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr ""
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid "if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr ""
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr ""
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr ""
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr ""
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr ""
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr ""
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr ""
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr ""
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr ""
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr ""
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr ""
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr ""
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr ""
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid "Passwords are now enabled, but use as a networked computer is still not recommended."
+msgstr ""
+
+#: security/level.pm:45
+#, c-format
+msgid "This is the standard security recommended for a computer that will be used to connect to the Internet as a client."
+msgstr ""
+
+#: security/level.pm:46
+#, c-format
+msgid "There are already some restrictions, and more automatic checks are run every night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes possible.\n"
+"The security is now high enough to use the system as a server which can accept\n"
+"connections from many clients. Note: if your machine is only a client on the Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, c-format
+msgid "This is similar to the previous level, but the system is entirely closed and security features are at their maximum."
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr ""
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr ""
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr ""
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr ""
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr ""
+
+#: security/level.pm:64
+#, c-format
+msgid "A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid "Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd disables\n"
+"all of the services it is responsible for."
+msgstr ""
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid "named (BIND) is a Domain Name Server (DNS) that is used to resolve host names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+
+#: services.pm:73
+#, c-format
+msgid "Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another."
+msgstr ""
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr ""
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr ""
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr ""
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr ""
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr ""
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr ""
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr ""
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr ""
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr ""
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr ""
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr ""
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr ""
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+""
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+""
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr ""
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid "[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr ""
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr ""
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr ""
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr ""
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr ""
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr ""
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr ""
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr ""
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr ""
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr ""
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr ""
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr ""
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr ""
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr ""
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr ""
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr ""
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr ""
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr ""
+
diff --git a/perl-install/share/po/lt.po b/perl-install/share/po/lt.po
new file mode 100644
index 000000000..4e06cfa03
--- /dev/null
+++ b/perl-install/share/po/lt.po
@@ -0,0 +1,6303 @@
+#
+# Mykolas Norvai-as <Myka@centras.lt>, 2002
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX VERSION\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2000-12-23 13:50+0200\n"
+"Last-Translator: Mykolas Norvai­as <Myka@centras.lt>\n"
+"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Prašom palaukti"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Įkrovos tvarkyklės įdiegimas"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Nepavyko įdiegti įkrovos tvarkyklės. Įvyko tokia klaida:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Pirmasis kaupiklio sektorius (MBR)"
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "Pirmasis įkrovos skirsnio sektorius"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "Išsaugoti į diskelį"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Praleisti"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/GRUB įdiegimas"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kur nori įdiegti įkrovos tvarkyklę?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Įdiegimo Tipo Konfiguracija"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Įkrovos tvarkyklės pagrindinės parinktys"
+
+#: any.pm:299
+#, fuzzy, c-format
+msgid "Bootloader"
+msgstr "Naudojama įkrovos tvarkyklė"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Naudojama įkrovos tvarkyklė"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Įkrovos įrenginys"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Palaukti prieš įkraunant įprastą atvaizdą"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr ""
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Serveris, Duomenų bazių"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr ""
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Slaptažodis"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Slaptažodžiai nesutampa"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Prašom bandyti vėl"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr ""
+"Tau reikia tikros bylų sistemos (ext2, reiserfs) šiam montavimo taškui\n"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Slaptažodis (vėl)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Griežtos komandinės eilutės parinktys"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "griežta"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Parinktis „Griežtos komandinės eilutės parinktys“ yra nenaudingą be "
+"slaptažodžio"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Išvalyti /tmp kiekvieną kartą įkrovus"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Tikslus RAM atminties dydis (rasta %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Nurodyk RAM atminties dydį (MB)"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr ""
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr ""
+
+#: any.pm:338
+#, fuzzy, c-format
+msgid "Default OS?"
+msgstr "Įprastas"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Atvaizdas"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Šakninis"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Pridurti"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Vaizdo režimas"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Tinklo interfeisas"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Žymė"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Įprastas"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tuščia žymė neleidžiama"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr ""
+
+#: any.pm:444
+#, fuzzy, c-format
+msgid "You must specify a root partition"
+msgstr "Tu privalai turėti swap skirsnį"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Ši žymė jau naudojama"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kokio tipo įrašą tu nori pridėti?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Kitos OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Kitos OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Kitos OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Čia yra skirtingi įrašai.\n"
+"Tu gali pakeisti esamus arba prijungti naujus."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr ""
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr ""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s jau pridėtas)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Prašom suteikti vartotojo vardą"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Vartotojo vardas turi susidaryti tik iš mažųjų raidžių, skaičių ir simbolių "
+"`-' bei `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Naudotojo vardas yra per ilgas"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Šis vartotojo vardas jau pridėtas"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Vartotojo ID"
+
+#: any.pm:662 any.pm:690
+#, fuzzy, c-format
+msgid "Group ID"
+msgstr "Grupė"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr ""
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Pridėti vartotoją"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Įvesk vartotoją\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Atlikta"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Priimti vartotoją"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Tikras vardas"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Domeno vardas"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatinis pasisveikinimas"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Aš galiu nustatyti taip, kad vienas vartotojas pasisveikintų automatiškai.\n"
+"Jei nenori to naudoti, spausk mygtuką Nutraukti."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Ar nori naudoti aboot?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Pasirink įprastą vartotoją:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Pasirink, kurią langų tvarkyklę naudosi:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licenzijos patvirtinimas"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Išeiti"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Prašom palaukti"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Sutinku"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Atmetu"
+
+#: any.pm:795 any.pm:863
+#, fuzzy, c-format
+msgid "Please choose a language to use."
+msgstr "Prašom pasirinkti kalbą, kurią naudosi."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Vanuatu"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Tu gali pasirinkti kitas kalbas, kurios bus prieinamos po įdiegimo"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, fuzzy, c-format
+msgid "All languages"
+msgstr "Pasirink savo kalbą"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Valstybė"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "Prašom pasirinkti savo pelės rūšį."
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "Čia yra galimų klaviatūrų sąrašas"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Patikrinti prievadus"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Išplėstinis"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr ""
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Joks"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "No sharing"
+msgstr "CUPS paleidžiamas"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "Allow all users"
+msgstr "Pridėti vartotoją"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Prisitaikyti"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr ""
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Uždaryti"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Prašom atsisveikinti ir paskui paspausti Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Laiko juosta"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Kokia tavo laiko juosta?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Ar tavo įrangos laikrodis nustatytas GMT?"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Ar tavo įrangos laikrodis nustatytas GMT?"
+
+#: any.pm:1234
+#, fuzzy, c-format
+msgid "NTP Server"
+msgstr "NIS serveris"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Vietinė byla"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernet Korta"
+
+#: authentication.pm:27 authentication.pm:163
+#, fuzzy, c-format
+msgid "Windows Domain"
+msgstr "NIS domenas"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr ""
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr ""
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Vietinis spausdintuvas:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr ":"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, fuzzy, c-format
+msgid "NIS:"
+msgstr "Naudoti NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, fuzzy, c-format
+msgid "Windows Domain:"
+msgstr "NIS domenas:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, fuzzy, c-format
+msgid "Authentication LDAP"
+msgstr "Autentikacija"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, fuzzy, c-format
+msgid "LDAP Server"
+msgstr "serveris"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "paprasta"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentikacija"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domenas"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Serveris"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Serveris, Duomenų bazių"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Slaptažodis"
+
+#: authentication.pm:140
+#, fuzzy, c-format
+msgid "Authentication NIS"
+msgstr "Autentikacijos NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domenas"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS serveris"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autentikacija"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Domeno vardas"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr ""
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentikacija"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Nurodyti root slaptažodį"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Autentikacija"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Jokio slaptažodžio"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Šis slaptažodis yra pernelyg paprastas (turi būti bent %d simbolių ilgio)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Negalima naudoti transliavimo be NIS domeno"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, fuzzy, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Sveiki, besinaudojantys %s, operaciju sistemu parinkikliu!\n"
+"\n"
+"Pasirink operaciju sistema is zemiau esancio saraso,\n"
+"arba palauk %d sekundziu, kad butu ikrauta pagal nutylejima\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO su tekstiniu meniu"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nepakanka vietos /boot"
+
+#: bootloader.pm:1679
+#, fuzzy, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Kur nori įdiegti įkrovos tvarkyklę?"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Įdiegti įkrovos tvarkyklę"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutės"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minutė"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundės"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Naujas"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Atjungti"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Primontuoti"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Prijungimo vieta"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Pasirinktys"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Klaida"
+
+#: diskdrake/dav.pm:83
+#, fuzzy, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Prašom išbandyti pelę"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr ""
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Serveris: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Montavimo taškas: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Pasirinktys: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, fuzzy, c-format
+msgid "Partitioning"
+msgstr "Spausdintuvas"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Perskaityk įdėmiai!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Pradžiai padaryk atsarginę savo duomenų kopiją"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Išeiti"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Tęsti"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Jeigu tu planuoji naudoti aboot, nepamiršk palikti tuščios vietos (2048 "
+"sektorių pakanka)\n"
+"kaupiklio pradžioje"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Pagalba"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Pasirink veiksmą"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Tu turi vieną didelį FAT skirsnį\n"
+"(dažniausiai naudojamas Microsoft DOS/Windows).\n"
+"Patariu tau pakeisti to skirsnio dydį\n"
+"(spragtelėk ant jo, tada ant „Pakeisti dydį“)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Prašom spragtelėti ant skirsnio"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalės"
+
+#: diskdrake/hd_gtk.pm:265
+#, fuzzy, c-format
+msgid "No hard drives found"
+msgstr "Vietinis spausdintuvas"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Nežinima"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, fuzzy, c-format
+msgid "Journalised FS"
+msgstr "primontuoti nepavyko"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Langai"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Kitas"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tuščias"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Bylų sistemos tipai:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Dėmesio"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Šio skirsnio dydžio neina pakeisti"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Pirmiau naudok „Numontuoti“"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Naudok „%s“ vietoj to"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Rūšis"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose another partition"
+msgstr "Sukurti naują skirsnį"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose a partition"
+msgstr "Pasirink veiksmą"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Sugrįžti"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Pakeisti į normalų režimą"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Pakeisti į eksperto režimą"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Nustatymai"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Ar vis tiek tęsti?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Išeiti neišsaugojus"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Išeiti neišsaugojus skirsnių lentelės?"
+
+#: diskdrake/interactive.pm:279
+#, fuzzy, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ar tu nori išbandyti nustatymus?"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Tau reikia perkrauti kompiuterį, kad skirsnių lentelės pakeitimai būtų "
+"naudojami"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Išvalyti viską"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automatinis suskirstymas"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Dar"
+
+#: diskdrake/interactive.pm:311
+#, fuzzy, c-format
+msgid "Hard drive information"
+msgstr "Pašto informaciją"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Visi pirminiai skirsniai yra naudojami"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Aš daugiau negaliu pridėti nė vieno skirsnio"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Jei nori turėti daugiau skirsnių, prašom ištrinti vieną, kad vietoj jo "
+"galėtum sukurti išplėstinį"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, fuzzy, c-format
+msgid "Save partition table"
+msgstr "Įrašyti skirsnių lentelę"
+
+#: diskdrake/interactive.pm:363
+#, fuzzy, c-format
+msgid "Restore partition table"
+msgstr "Išgelbėti skirsnių lentelę"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Išgelbėti skirsnių lentelę"
+
+#: diskdrake/interactive.pm:366
+#, fuzzy, c-format
+msgid "Reload partition table"
+msgstr "Išgelbėti skirsnių lentelę"
+
+#: diskdrake/interactive.pm:368
+#, fuzzy, c-format
+msgid "Removable media automounting"
+msgstr "Išimamų laikmenų automatinis montavimas"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Pasirink bylą"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Atsarginė skirsnių lentelė nėra tokio paties dydžio\n"
+"Vis tiek tęsti?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Bandau išgelbėti skirsnių lentelę"
+
+#: diskdrake/interactive.pm:428
+#, fuzzy, c-format
+msgid "Detailed information"
+msgstr "Pašto informaciją"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Pakeisti dydį"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatuoti"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Pridėti į RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Pridėti į LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Ištrinti"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Pašalinti iš RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Pašalinti iš LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Taisyti RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Naudoti loopback'ui"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Sukurti"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Sukurti naują skirsnį"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Pradžios sektorius: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Dydis (MB): "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Bylų sistemos tipas: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Pirmenybė: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Vietinis spausdintuvas"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+
+#: diskdrake/interactive.pm:577
+#, fuzzy, c-format
+msgid "Remove the loopback file?"
+msgstr "Sužymima loopback byla %s"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "Pakeitus skirsnio %s tipą, visi duomenys jame bus prarasti"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Pakeisti skirsnio tipą"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Kokios bylų sistemos tu nori?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Žymė"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kur nori primontuoti loopback bylą %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kur nori primontuoti įrenginį %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Negaliu nuimti montavimo taško, nes šis skirsnis naudojamas loopback'ui.\n"
+"Pirma pašalink loopback'us"
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kur nori primontuoti įrenginį %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Keičiamas dydis"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Skaičiuojami FAT bylų sistemos rėžiai"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Šio skirsnio dydžio neina pakeisti"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Pasidaryk atsarginę duomenų šiame skirsnyje kopiją"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Pakeitus skirsnio %s dydį, visi duomenys jame bus prarasti"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Pasirink naują dydį"
+
+#: diskdrake/interactive.pm:766
+#, fuzzy, c-format
+msgid "New size in MB: "
+msgstr "Dydis (MB): "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Pasirink jau esantį RAID, prie kurio pridėti"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "naujas"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Pasirink jau esantį LVM, prie kurio pridėti"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM vardas?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Šis skirsnis negali būti naudojamas loopback'ui"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback bylos vardas: "
+
+#: diskdrake/interactive.pm:941
+#, fuzzy, c-format
+msgid "Give a file name"
+msgstr "Tikras vardas"
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Byla jau naudojama kitam loopback'ui, pasirink kitą"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Ši byla jau yra. Naudoti ją?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, fuzzy, c-format
+msgid "Mount options"
+msgstr "Modulio parinktys:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "įrenginys"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "lygis"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "gabalo dydis"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Būk atsargus: ši operacija yra pavojinga."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kokio tipo skirsnių skaidymas?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Tau reikia perkrauti, kad pakeitimai būtų veiksmingi"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Įrenginio %s skirsnių lentelė bus įrašyta į diską!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Sužymėjus skirsnį %s, visi duomenys jame bus prarasti"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Ieškoti blogų blokų?"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Move files to the new partition"
+msgstr "Naujiems skirsniams nepakanka laisvos vietos"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Hide files"
+msgstr "mkraid nepavyko"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, fuzzy, c-format
+msgid "Moving files to the new partition"
+msgstr "Naujiems skirsniams nepakanka laisvos vietos"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1196
+#, fuzzy, c-format
+msgid "Removing %s"
+msgstr "Skiriamoji geba: %s\n"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr ""
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Įrenginys: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS kaupiklio raidė: %s (spėjama)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tipas: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Pavadinimas: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Pradžia: sektorius %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Dydis: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektoriai(-ių)"
+
+#: diskdrake/interactive.pm:1253
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Nuo cilindro %d iki cilindro %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Sužymėtas\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Nesužymėtas\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Primontuotas\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, fuzzy, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr "Loopback byla(os): %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Skirsnis, įkraunamas pagal nutylėjimą\n"
+" (MS-DOS užkrovimui, ne LILO)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Lygis %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Gabalo dydis %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID kaupikliai %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback bylos vardas: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Galimybės tokios, šis skirsnis\n"
+"yra Tvarkyklės skirsnis\n"
+"gariau palikite jį ramybėje.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Šis specialus Bootstrap\n"
+"skirsnis yra skirtas jūsų\n"
+"sistemos dvigubai įkrovai.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Tik skaitoma"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Dydis: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometrija: %s cilindrų(-ai), %s galvučių(-os), %s sektorių(-iai)\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM kaupikliai %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Skirsnių lentelės tipas: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "ant magistralės %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Bylų sistemos tipas: "
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Šis slaptažodis yra pernelyg paprastas (turi būti bent %d simbolių ilgio)"
+
+#: diskdrake/interactive.pm:1348
+#, fuzzy, c-format
+msgid "The encryption keys do not match"
+msgstr "Slaptažodžiai nesutampa"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Autentikacija"
+
+#: diskdrake/removable.pm:46
+#, fuzzy, c-format
+msgid "Change type"
+msgstr "Pakeisti skirsnio tipą"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Nutraukti"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Autentikacija"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Which username"
+msgstr "Vartotojo vardas"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Another one"
+msgstr "Internetas"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Vartotojas"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, fuzzy, c-format
+msgid "Search servers"
+msgstr "DNS serveris"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "DNS serveris"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, fuzzy, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Kokius jūs norite įdiegti paketus"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Įdiegiamas paketas %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr ""
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Ruošiamasi įdiegti šiuos paketus"
+
+#: do_pkgs.pm:209
+#, fuzzy, c-format
+msgid "Installing packages..."
+msgstr "Įdiegiamas paketas %s"
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Skiriamoji geba: %s\n"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Įvyko klaida -- nerasta tinkamų įrenginių, kur būtų galima sukurti naujus "
+"skirsnius. Prašom pasitikrinti savo įrangą dėl galimo gedimo"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, fuzzy, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Tu privalai turėti swap skirsnį"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Sužymimas skirsnis %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Sukuriama ir sužymima byla %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Nežinau, kaip sužymėti %s tipu %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s %s sužymėjimas nepavyko"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Loopback montavimai %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "Sužymimas skirsnis %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr ""
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Tikrinama %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "klaida numontuojant %s: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Sužymimas skirsnis %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr ""
+"Tau reikia tikros bylų sistemos (ext2, reiserfs) šiam montavimo taškui\n"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Pasikartojantis montavimo taškas %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "nėra prieinamų skirsnių"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Peržiūrimi skirsniai, ieškant montavimo taškų"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Pasirink montavimo taškus"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Pasirink skirsnius, kuriuos nori sužymėti"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Nepakanka swap atminties įdiegimo vykdymui, prašom praplėsti"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Tu turi turėti root skirsnį. Tam sukurk skirsnį\n"
+"(arba spragtelėk ant jau esamo). Tada pasirink\n"
+"veiksmą „Montavimo taškas“ ir nurodyk jam „/“"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Tu neturi swap skirsnio\n"
+"\n"
+"Vis tiek tęsti?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Naudoti laisvą vietą"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Naujiems skirsniams nepakanka laisvos vietos"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Naudoti esamą skirsnį"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nėra jokio skirsnio, tinkamo naudojimui"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Naudoti Microsoft Windows® skirsnį loopback'ui"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Kuri skirsnį tu nori naudoti Linux4Win įdiegimui?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Pasirink dydžius"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Šakninio skirsnio dydis, MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap skirsnio dydis, MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nėra jokių FAT skirsnių, kurių dydį būtų galima pakeisti arba naudoti juos "
+"loopback'ui\n"
+"(arba nėra pakankamai laisvos vietos)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Naudoti laisvą vietą Windows skirsnyje"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kurio skirsnio dydį tu nori pakeisti?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT dydžio keitimo programa nesusitvarko su tavo\n"
+"skirsniu, įvyko tokia klaida: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Naudoti laisvą vietą Microsoft Windows® skirsnyje"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Tavo Microsoft Windows® skirsnis yra pernelyg fragmentuotas, pirma paleisk "
+"„defrag“"
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"PERSPĖJIMAS!\n"
+"\n"
+"\n"
+"DrakX dabar pakeis tavo Windows skirsnio dydį.\n"
+"\n"
+"\n"
+"Būk atsargus: šis veiksmas yra pavojingas. Jeigu to dar nepadarei, dabar "
+"pats laikas išeiti iš įdiegimo, paleisti scandisk iš Windows (nepakenktų ir "
+"defrag paleisti), o tada iš naujo pradėti įdiegimą. Taip pat turėtum "
+"pasidaryti atsarginę duomenų kopiją.\n"
+"\n"
+"\n"
+"Kai viskas sutvarkyta, spausk %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Toliau"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kokį dydį norėtum palikti Microsoft Windows®'ams skirsnyje %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Dydis"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Skaičiuojami Microsoft Windows® bylų sistemos rėžiai"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Nepavyko pakeisti FAT dydžio: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Nėra jokių FAT skirsnių, kurių dydį būtų galima pakeisti arba naudoti juos "
+"loopback'ui\n"
+"(arba nėra pakankamai laisvos vietos)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Išmesti Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Ištrinti visą diską"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Tu turi daugiau negu vieną kietą diską, į kurį nori įdiegti Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "VISI kaupiklyje %s esantys skirsniai ir duomenys bus prarasti"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Rankinis diskų skirstymas"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Naudoti fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Tu dabar gali sudalinti %s.\n"
+"Kai baigsi, nepamiršk išsaugoti su 'w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Aš niekur negaliu rasti vietos įdiegimui"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX Skirsnių dalinimo meistras rado tokius sprendimus:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Dalinimas į skirsnius nepavyko: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Tu negali naudoti JFS skirsniams, mažesniems nei 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Tu negali naudoti ReiserFS skirsniams, mažesniems nei 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "serveris"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, fuzzy, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Aš negaliu perskaityti skirsnių lentelės, ji pernelyg sugadinta :(\n"
+"Galiu pabandyti išvalyti blogus skirsnius (VISI DUOMENYS bus prarasti!)\n"
+"Kitas sprendimas -- neleisti DrakX taisyti skirsnių lentelę.\n"
+"(klaida %s)\n"
+"\n"
+"Ar sutinki prarasti visus skirsnius?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Montavimo taškai turi prasidėti /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Jau yra skirsnis su montavimo tašku %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Tu pasirinkai programinį RAID skirsnį kaip šakninį (/).\n"
+"Jokia įkrovos tvarkyklė negali su ja dirbti be /boot skirsnio.\n"
+"Taigi, nepamiršk sukurti /boot skirsnio"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Tu pasirinkai programinį RAID skirsnį kaip šakninį (/).\n"
+"Jokia įkrovos tvarkyklė negali su ja dirbti be /boot skirsnio.\n"
+"Taigi, nepamiršk sukurti /boot skirsnio"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Šis katalogas turi pasilikti šakninėje bylų sistemoje"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, fuzzy, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Tau reikia tikros bylų sistemos (ext2, reiserfs) šiam montavimo taškui\n"
+
+#: fsedit.pm:429
+#, fuzzy, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr ""
+"Tau reikia tikros bylų sistemos (ext2, reiserfs) šiam montavimo taškui\n"
+
+#: fsedit.pm:493
+#, fuzzy, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Naujiems skirsniams nepakanka laisvos vietos"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr ""
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskelis"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Kietas diskas"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr ""
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, fuzzy, c-format
+msgid "Tape"
+msgstr "Rūšis"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "Vaizdo režimas"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr ""
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Kitas"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Garso korta"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Vidinė ISDN plokštė"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, fuzzy, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet Korta"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modemas"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Atmintis"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Spausdintuvas"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Vairalazdė"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Plokštės mem (DMA)"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "Spausdintuvo nėra"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klaviatūra"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Pelė"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "Nepertraukiamo maitinimo šaltinis (UPS)"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skaneris"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "Paprasta"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, fuzzy, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Nustatymų tikrinimas"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr ""
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, fuzzy, c-format
+msgid "Sound configuration"
+msgstr "LAN Konfiguravimas"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, fuzzy, c-format
+msgid "Driver:"
+msgstr "Tvarkyklė"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr ""
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr ""
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr ""
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr ""
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, fuzzy, c-format
+msgid "Auto-detect"
+msgstr "Naudokite automatinį aptikimą"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, fuzzy, c-format
+msgid "Unknown|Generic"
+msgstr "Paprasta"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr ""
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+
+#: harddrake/v4l.pm:477
+#, fuzzy, c-format
+msgid "Card model:"
+msgstr "Plokštės mem (DMA)"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Pakeisti skirsnio tipą"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Gerai"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Taip"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Ne"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Pasirinkite bylą"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Pridėti"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifikuoti"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Išmesti"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Baigti"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Ankstesnis"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Blogas pasirinkimas, bandyk vėl\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Tavo pasirinkimas? (pagal nutylėjimą %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Tavo pasirinkimas? (pagal nutylėjimą %s) "
+
+#: interactive/stdio.pm:94
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Pasirinktys: %s"
+
+#: interactive/stdio.pm:95
+#, fuzzy, c-format
+msgid "Do you want to click on this button?"
+msgstr "Ar nori naudoti aboot?"
+
+#: interactive/stdio.pm:104
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Tavo pasirinkimas? (pagal nutylėjimą %s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Jungtiniai Arabų Emyratai"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistanas"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antikva ir Barbadosas"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angvila"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanija"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armėnija"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nyderlandų Antilai"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikos Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austrija"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australija"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaidžanas"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnija ir Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbadosas"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladešas"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgija"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Fasas"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarija"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahreinas"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundis"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Beninas"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermudai"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunėjaus sultonatas"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivija"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazilija"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamai"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butanas"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Buvė sala"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botsvana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Gudija"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belizas"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosų (Kylingo) Salos"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centrinė Afrikos respublika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Šveicarija"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Dramblio Kaulo Krantas"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kuko Salynas"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Čilė"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerūnas"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kinija"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbija"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbija ir Juodkalnija"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Žaliasis kyšulys"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Kalėdų sala"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipras"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Čekija"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Vokiečių"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Džibutis"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danija"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikonų respublika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžyras"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvadoras"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estija"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egiptas"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Vakarų Sachara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrėja"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Ispanija"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopija"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Suomija"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidžis"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr ""
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronezija"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Farerų Salos"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Prancūzija"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabonas"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Jungtinė Karalystė"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruzija"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Prancūzijos Gviana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltaras"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grenlandija"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambija"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvinėja"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadelupė"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Pusiaujo Gvinėja"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Graikija"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guamas"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvinėja-Bisau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gajana"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Honkongas"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Herdo ir Makdonaldo salos"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondūras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatija"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haitis"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Vengrija"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezija"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Airija"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izraelis"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indija"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britų Indijos Vandenyno Teritorijos"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irakas"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iranas"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandija"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italija"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanas"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japonija"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenija"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgistanas"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribatis"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komorai"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr ""
+
+#: lang.pm:326 timezone.pm:206
+#, fuzzy, c-format
+msgid "Korea"
+msgstr "Dar"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuveitas"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman Salynas"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazachstanas"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laosas"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanas"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Šv. Liucija"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lichtenšteinas"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Šri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberija"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotas"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lietuva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Liuksemburgas"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvija"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libija"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokas"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monakas"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskaras"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Maršalo salos"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonija"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Malis"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mianmaras"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolija"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Šiaurės Marianų salos"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinika"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanija"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montseratas"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauricijus"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldyvai"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malavis"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksika"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaizija"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambikas"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibija"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Naujoji Kaledonija"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Nigeris"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolko sala"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigerija"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragva"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Olandija"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegija"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepalas"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niujė"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Naujoji Zelandija"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omanas"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Prancūzijos Polinezija"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Naujoji Gvinėja"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinai"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistanas"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Lenkija"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Sent Pjero ir Mikelono salos"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitkernas"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rikas"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugalija"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvajus"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Kvataras"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Rejunjonas"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumunija"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusija"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudo Arabija"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Saliamono salos"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seišeliai"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudanas"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Švedija"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapūras"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Šv. Elenos sala "
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovėnija"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbardas ir Jan Mayenas"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakija"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Siera Leonė"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marinas"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegalas"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalis"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinamas"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tomė ir Principė"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvadoras"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirija"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilendas"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turkų ir Kaikų salos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čadas"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Prancūzų Pietų Teritorijos"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togas"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tailandas"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistanas"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Rytų Timoras"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmėnistanas"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisas"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkija"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidadas ir Tobagas"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taivanas"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzanija"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Jungtinių Valstijų Užkontinentinės Salos"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Jungtinės amerikos valstijos"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvajus"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistanas"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "Vieta"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venesuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Mergelių salos (britų) "
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnamas"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr ""
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemenas"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Majotas"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Pietų Afrikos respublika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambija"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabvė"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Sveiki atvykę į %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Pirmiausia išmeskite loginius tomus\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Perspėjimas\n"
+"\n"
+"Prašau įdėmiai perskaityti šį susitarimą. Jeigu jūs nesutinkate nors\n"
+"su vienu kunktu jums neleidžiama naudoti šios laikmenos. Paspauskite "
+"'Atmetu', \n"
+"kad tęsti įdiegimą be šios laikmenos.\n"
+"\n"
+"\n"
+"Kaikurie CD esantys komponentai nėra pažymėti \n"
+"GPL Licenzija ar kažkuo panašiu. Tokiu atveju kiekvienas\n"
+"komponentas turi savo licenziją. \n"
+"Prašau pirmiau perskaityti ir sutikti su tomis licenzijomis prieš \n"
+"naudojant arba perduodant tuos komponentus. \n"
+"Tokios licenzijos bandrai sulaiko komponentų perdavimą, kopijavimą \n"
+"(išskyrus rezervinę kopiją), atvirkštinę inžineriją, \n"
+"de-assembly, de-compilation arba modifikavimą. \n"
+"Bet koks susitarimo laužymas atima iš jūsų visas šios licenzijos suteiktas\n"
+"teises. Jeigu jums speciali licenzija nesuteikia įpatinkų įgaliojimų\n"
+"jūs negalite įdiegti šių programų į daugiau negu vieną kompiuterį\n"
+"arba pritaikyti naudoti tinkle. Jei abejojate\n"
+"susisiekite tiesiai su gamintoju. \n"
+"Šių komponentų arba dokumentacijos perdavimas trečioms šalims\n"
+"yra uždraustas.\n"
+"\n"
+"\n"
+"Visos CD diske esančių komponentų teisės priklauso gerbiamiems\n"
+"jų autoriams ir saugomos intelektualios nuosavybės teises\n"
+"saugančių įstatymų.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Sveikiname. Įdiegimas baigtas.\n"
+"Ištrauk įdiegimo laikmenas ir spausk Enter, kad perkrautum.\n"
+"\n"
+"\n"
+"Kad sužinotum apie pataisymus, kurie prieinami šiai Mandriva Linux laidai,\n"
+"pasižiūrėk į Errata, kuris yra \n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informacija apie tavo sistemos konfigūravimą yra oficialioje\n"
+"Mandriva Linux User's Guide knygoje."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Modemo Nustatymai"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Nustatymai"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Rasti %s interfeisai"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Ar turi dar vieną?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Ar tu turi kokį nors %s interfeisą?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Pažiūrėk įrangos informaciją"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Įdiegiama tvarkyklė %s plokštei %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Įdiegiama tvarkyklė %s plokštei %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Įdiegiama tvarkyklė %s plokštei %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Įdiegiama tvarkyklė %s plokštei %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Įdiegiama tvarkyklė %s plokštei %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Dabar tu gali nustatyti %s modulio nustatymus.\n"
+"Opcijų formatas yra toks : ''vardas=reikšmė vardas2=reikšmė2 ...''.\n"
+"Pvz, ''io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulio parinktys:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Kokią %s tvarkyklę turėčiau išbandyti?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Kartais %s tvarkyklei reikia papildomos informacijos, kad dirbtų gerai,\n"
+"nors normaliai turi veikti ir be jos. Ar tu nori jai nurodyti papildomas\n"
+"parinktis, ar leisi pabandyti nusistatyti pačiai. Bandymas gali\n"
+"pakabinti kompiuterį, bet tai neturėtų padaryti žalos."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatinis bandymas"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Nurodyti parinktis"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Modulio %s iškvietimas nepavyko.\n"
+"Ar nori bandyti su kitais nustatymais?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "primontuoti nepavyko: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Išplėstiniai skirsniai šioje platformoje nepalaikomi"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Skirsnių lentelėje yra tuščios vietos, bet ji negali būti panaudota.\n"
+"Vienintelis sprendimas yra perkelti pirminius skirsnius taip, kad tuščia "
+"vieta būtų šalia išplėstinių skirsnių"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Klaida skaitant bylą %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Nepavyko atstatyti iš bylos %s: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Bloga atsarginė byla"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Klaida įrašant į bylą %s"
+
+#: partition_table/raw.pm:264
+#, fuzzy, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Kažkas blogo nutiko jūsų kaupikliui. \n"
+"Bandymas pabandyti jo vientisumą nepavyko. \n"
+"Tai sako, kad rašymas į jį bus visiškas mėšlas. "
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Negaliu pridėti skirsnio prie _formatuoto_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nėra pakankamai sričių %d lygio RAID\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Pasirink vaizdo plokštę"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Nutolęs spausdintuvas"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Nutolęs spausdintuvas"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Nustatomas saugumo lygis"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Jokio slaptažodžio"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Vartotojo vardas"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "Nutolęs spausdintuvas"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Nustatyti normalią jungtį per modemą"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Nustatyti servisus"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Jokio slaptažodžio"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Šis slaptažodis pernelyg paprastas"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Jokio slaptažodžio"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Vartotojo vardas"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "aptiktas prievade %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Sveiki atvykę į cracker'ių šalį"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Menkas"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standartinė"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Aukštas"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Aukštesnis"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranojiškas"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Šiame lygyje reikia elgtis atsargiai. Tai leidžia lengviau naudoti sistemą,\n"
+"bet labai jautriai: ji turėtų nebūti naudojama kompiuteriuose,\n"
+"sujungtais su kitais arba prie Interneto. Čia nėra slaptažodžių."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Dabar slaptažodžiai yra įjungti bet naudoti kaip tinklinį kompiuterį dar "
+"nerekomenduojama."
+
+#: security/level.pm:45
+#, fuzzy, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Šis saugumo lygis yra standartinis, rekomenduojamas kompiuteriui, kuris\n"
+"naudojamas prisijungti prie interneto kaip klientas. Nėra jokių saugumo "
+"tikrinimų."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, fuzzy, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Su šiuo saugumo lygiu sistemą jau galima naudoti kaip serverį. Saugumas\n"
+"yra pakankamai aukštas, kad sistemą būtų galima naudoti serveriui, kuris "
+"priima\n"
+"prisijungimus iš daugybės klientų."
+
+#: security/level.pm:50
+#, fuzzy, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Dabar naudojami 4 lygio privalumai,bet sistema yra visiškai uždaryta.\n"
+"Saugumo savybės yra maksimalios."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Saugumas"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Pasirinktys"
+
+#: security/level.pm:57
+#, fuzzy, c-format
+msgid "Please choose the desired security level"
+msgstr "Pasirink saugumo lygį"
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "Nustatomas saugumo lygis"
+
+#: security/level.pm:63
+#, fuzzy, c-format
+msgid "Use libsafe for servers"
+msgstr "Pasirink serverio nuostatas"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr ""
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron yra periodinė komandų tvarkyklė."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd naudojamas akumuliatoriaus būsenai stebėti ir užrašyti per\n"
+"syslog. Jis taip pat gali būti naudojamas kompiuterio išjungti,\n"
+"kai trūksta energijos akumuliatoriuje."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Paleidžia komandas laiku, nurodytu su at komanda, bei paleidžia\n"
+"susikaupusias komandas tuomet, kai sistema mažai apkrauta."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron yra standartinė UNIX programa, paleidžianti vartotojo nurodytas "
+"programas\n"
+"periodiškai, nustatytu laiku. vixie cron prideda nemažai galimybių prie "
+"paprasto\n"
+"UNIX cron'o, įskaitant didesnį saugumą ir galingesnes parinktis."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM prideda pelės palaikymą tekstinėse Linux programose, pvz.\n"
+"Midnight Commander. Ji suteikia galimybę konsolėje kopijuoti ir įdėti su\n"
+"pele, bei iškviesti kontekstinį meniu."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache yra World Wide Web serveris. Jis naudojamas pateikti HTML\n"
+"byloms ir CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Interneto superserverio demonas (bendrai vadinamas inetd) paleidžia\n"
+"įvairias interneto paslaugas, kai reikia. Jis atsakingas už daugelio\n"
+"paslaugų paleidimą, įskaitant telnet, ftp, rsh ir rlogin. Inetd išjungimas\n"
+"kartu išjungia visas paslaugas, už kurias jis yra atsakingas."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Šis paketas užkrauna pasirinktą klaviatūros išdėstymą, kuris\n"
+"nurodytas /etc/sysconfig/keyboard byloje. Jis gali būti pasirinktas su\n"
+"kbdconfig priemone. Daugumoje kompiuterių jis turi būti įjungtas."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr ""
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd yra spausdinimo demonas, būtinas, kad lpr veiktų tvarkingai.\n"
+"Tai yra tiesiog serveris, paskirstantis spausdinimo darbus spausdintuvui"
+"(ams)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, fuzzy, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) yra Domenų vardų serveris (DNS), naudojamas\n"
+"išsiaiškinti IP adresus pagal hosto vardus."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Primontuoja ir numontuoja visas Network File System (NFS), SMB\n"
+"(Lan Manager/Windows), ir NCP (NetWare) montavimo taškus."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Įjungia/Išjungia visas tinklo jungtis, nustatytas paleisti\n"
+"įkrovos metu."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS yra populiarus protokolas dalintis byloms TCP/IP tinkluose.\n"
+"Ši tarnyba teikia NFS serverio funkcionalumą, kuris tvarkomas\n"
+"/etc/exports byloje."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS yra populiarus protokolas dalintis byloms TCP/IP tinkluose.\n"
+"Ši tarnyba teikia NFS bylų užrakinimo funkcionalumą."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA skirtas palaikyti tokiems nešiojamų kompiuterių įrenginiams,\n"
+"kaip modemai ir tinklo plokštės. Jis nebus paleidžiamas, jei nėra "
+"sutvarkytas,\n"
+"tad saugu palikti jį net kompiuteriuose, kuriems jo nereikia."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper tvarko RPC jungtis, kurios naudojamos protokoluose,\n"
+"tokiuose kaip NFS bei NIS. portmap serveris turi būti paleistas "
+"kompiuteriuose,\n"
+"kurie veikia kaip serveriai protokolų, naudojančių PS jungtis."
+
+#: services.pm:73
+#, fuzzy, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix yra pašto siuntimo agentas (MTA), tai yra programa,\n"
+"siunčianti paštą iš vieno kompiuterio į kitą."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Išsaugo ir atkuria sistemos entropijos tvenkinį aukštesnės kokybės\n"
+"atsitiktinių skaičių generavimui."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed demonas leidžia automatiškai atnaujinti IP maršrutizavimo lenteles,\n"
+"naudojant RIP protokolą. RIP plačiai naudojamas mažuose tinkluose, tačiau\n"
+"sudėtinguose tinkluose gali prireikti sudėtingesnių protokolų."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokolas leidžia tinklo vartotojams išmatuoti\n"
+"vykdymo metrikas bet kuriam kompiuteriui iš tinklo."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers protokolas leidžia tinklo vartotojams sužinoti, kas yra\n"
+"prisijungęs prie kitų atsakinėjančių kompiuterių."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho protokolas leidžia nutolusiems vartotojams gauti sąrašą\n"
+"vartotojų, prisijungusių prie kompiuterio, kuriame veikia rwho demonas\n"
+"(panašiai kaip finger)."
+
+#: services.pm:87
+#, fuzzy, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Startuojant paleisti X_Windows"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog yra priemonė, kurią daugelis demonų naudoja užrašyti\n"
+"log įrašams į įvairias sistemos log bylas. Visada pravartu leisti syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, fuzzy, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Paleidžia ir sustabdo X šriftų serverį pakrovimo metu ir išjungiant."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Spausdinimas"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internetas"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr ""
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Nutolusio lpd spausdintuvo nuostatos"
+
+#: services.pm:133
+#, fuzzy, c-format
+msgid "Database Server"
+msgstr "Serveris, Duomenų bazių"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Paslaugų nustatymai"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Pasirink kokias tarnybas įjungus paleisti automatiškai"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, fuzzy, c-format
+msgid "running"
+msgstr "Dėmesio"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "sustabdytas"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Įkrovos metu"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Pradėti"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Sustoti"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Klaviatūra"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Pridėti serverį"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Azija"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Šiaurės Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Okeanija"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Pietų Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Honkongas"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rusijos federacija"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavija"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Ar taip teisinga?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "bylų parinkimas"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Įkelti visas bylas kataloge"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Ženklas „/“ gali būti tik katalogo varde, jis netinka raktui"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Ne katalogas"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Byla „%s“ nerasta\n"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Išskleisti medį"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Suskleisti medį"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Perjungti tarp rikiavimo pagal grupes ar abėcėlę"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s neįdiegta\n"
+"Spauskite \"Toliau\" , jei norite įdiegti, arba \"Atšaukti\" , jei norite "
+"baigti"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Įdiegimas nepavyko"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "sužymimas"
diff --git a/perl-install/share/po/ltg.po b/perl-install/share/po/ltg.po
new file mode 100644
index 000000000..10968358a
--- /dev/null
+++ b/perl-install/share/po/ltg.po
@@ -0,0 +1,6404 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-02-24 13:01+0200\n"
+"Last-Translator: Māris Laureckis <linux@latgola.lv>\n"
+"Language-Team: Latgalian <linux@latgola.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Lyudzu pagaidit"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Suokneituoja instaleišona procesā"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Suoknietuoja instaleišona naizadeve. Atkluota itaida kliuda:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Jius nūlēmet suokneituoju instalēt iz diska sadalis.\n"
+"Tys paredz, ka jiusim jau ir suokneituojs iz tuo suoknejamuo cītuo diska "
+"(pīm.: System Commander).\n"
+"\n"
+"Kurs ir jiusu suoknejamais disks?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Diska pyrmais sektors (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Suoknejomuos sadalis pyrmais sektors"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Uz disketi"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Izlaist"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub instaleišona"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kur jius gribit instalēt suokneituoju?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Suokneišonys stila konfigureišona"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Suokneituoja golvonuos opcejis"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Suokneituojs"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Kuru OS īluodeituoju lītuot"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Suoknejamuo īreice"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Pauze pyrms nūkluseituos sistemys īluodis"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Īslēgt ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Īslēgt ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Īslēgt ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Parole"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Parolis nasakreit"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Lyudzu mieginit vēlreiz"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Jius navarit lītuot šifreitū failsistemu monteišonys punktā %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Parole (atkāuotuoti)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Īrobežuot komandryndys opcejis"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "īrībežuot"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Opcejai ``Īrūbežuot komandryndys opcejis'' nav jāgys bez parolis"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Izteireit /tmp kotrys suokneišonys laikā"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ja napīcīšoms, precizejit RAM apjūmu (atrosti %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Nūruodit atminis apjūmu MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kerneļa īluodis taimauts"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Atļaut īluodi nu kompaktdiska?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Atļaut īluodi OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Nūklusātuo OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Attāls"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Sakne"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Papyldynuot"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video režims"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Jauns profils..."
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Nūsaukums"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Nūklusāts"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Bez video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tukšs nūsaukums nav atļauts"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Jiusim juonūruoda kūdula attāls"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Jiusim juonūruoda saknis (root) sadaļa"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Itys nūsaukums jau ir izmontuots"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kaida veida īrokstu gribit pīvīnuot"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Cyta OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Cyta OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Cyta OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Ite ir dažaidi suokneišonys īroksti.\n"
+"Jius varit pīvīnuot jaunus voi izmaineit esūšūs."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "pīkļuve X programmom"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "pīkļuve rpm reikim"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "atļaut \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "pīkļuve administreišonys failim"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "pīkļuve teikla reikim"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "pīkļuve kompileišonys reikim"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(jau pīvīnuots %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Lyudzu īvodit lītuotuoja vuordu"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Lītuotuoja vuordā var byut tikai mozie angļu burti, cipari, `-' i `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Lītuotuoja vuords ir puoruok garš"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Šaids lītuotuoja vuords jau ir pīvīnuots"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Lītuotuoja ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Grupys ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Opcejai %s ir juobyun numeram!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Pīvīnuot lītuotuoju"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Īvodit lītuotuoju\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Gotovs"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Apstyprynuot lītuotuoju"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Vuords i uzvuords"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Slāgvuords"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Čaula"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Autopīsasliegšonuos"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Sistēmu var konfigurēt tā, lai pēc startēšanas automātiski tiktu\n"
+"atvērta viena noteikta lietotāja sesija. \n"
+"Vai vēlaties lietot šo iespēju?"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Nūruodit nūkluseitū lītuotuoju:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Nūruodit izmontojamū lūgu menedžeri:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licencis leigums"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Beigt"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr ""
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Pījimt"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Nūraideit"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Lyudzu izavielejit izmontojamū volūdu."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Manuali"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux var nūdrūšynuot vairuokys volūdys. Izavielejit\n"
+"volūdys, kaidys gribit uzstuodeit. Tuos byus pīejamys,\n"
+"kod jiusu instaleišona byus gotova i jius puorstarteisit sovu sistemu."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Vysys volūdys"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Vaļsts / Regions"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Lyudzu izavielejit jiusu vaļsti."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ite ir pylns pīejamū vaļstu saroksts"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Cyti porti"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Izvārsta"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Teikla metode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Nav"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Bez kūplītuošonys"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Atļaut vysus lītuotuojus"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Pīlāguota"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Voi gribit ļaut lītuotuojim kūplītuot savus direktorejus?\n"
+"Atļaunūt itū, lītuotuojim byus atļauts vīnkuorši nūklikškinuot iz \"Kūplītuot"
+"\" konqueror\n"
+"voi nautilus programmuos.\n"
+"\n"
+"\"Izvārts\" atļaun individualu tīseibu pīškieršonu.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Jius varit eksportēt, lītojūt NFS voi SMB. Lyudzu izavielejit, kuru gribit "
+"lītuot."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Palaist userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Aizvērt"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Lītuotuoju kūplītuojumi izmontoj grupu \"fileshare\". \n"
+"Jius varit izmontuot userdrake, lai itai grupai pīvīnuotu lītuotuojus."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Lyudzu aizverit seseju i nūspīdit Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Laika jūsla"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Kaida ir jiusu laika jūsla?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Datora pulksteņs īstateits ruodeit GMT laiku"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Datora pulksteņs īstateits ruodeit GMT laiku"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP servers"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatiska laika sinhronizaceja (izmontojūt NTP)"
+
+#: authentication.pm:23
+#, fuzzy, c-format
+msgid "Local file"
+msgstr "Lokalī faili"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernet karte"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows domens"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Atjaunuot vysys rezervis kopejis"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Atjaunuot vysys rezervis kopejis"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Lokalī faili:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows domens:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Atjaunuot vysys rezervis kopejis"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Atjaunuot vysys rezervis kopejis"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP autentikaceja"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP servers"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "vīnkuoršs"
+
+#: authentication.pm:112
+#, fuzzy, c-format
+msgid "TLS"
+msgstr "LSB"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr ""
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentifikacejis_metode"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domens"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Servers"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Datubāzis"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Napīcīšoma parole"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS autentikaceja"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domens"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS servers"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows domena autentikaceja"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domena administratora lītuotuoja vuords"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domena administratora parole"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentifikaceja"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "root parolis izviele"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Autentifikacejis_metode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Bez parolis"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Itei parole ir puoruok vīnkuorša (juobyun vysmoz %d simbolus garai)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Navar izmontuot apraidi bez NIS domena"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Laipni lyudzam opereituojsistemu puorsliedziejaa!\n"
+"\n"
+"Sarokstaa izveilejit vajadzeiguu opereituojsistemu voi\n"
+"gaidit, cikom tiks iiluodeita nuuklusaatuo sistema.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO ar teksta izvieļni"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "napīteik vītys /boot sadaļā"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Jius navarit instalēt suokneituoju %s sadaļā\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Suokneituoja instaleišona"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minotys"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minota"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundis"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV ir protokols, ka ļaun jiusim lokali montēt web servera direktoreju\n"
+"i reikuotīs ar tū kai ar lokalu failsistemu (ja vīn web servers ir "
+"konfigureits\n"
+"kai WebDAV servers). Ja jius gribit pīvīnuot WebDAV monteišonys\n"
+"punktus, izavielejit \"Jauns\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Jauns"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Nūmontēt"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montēt"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Monteišonys punkts"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcejis"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Kliuda"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Lyudzu īvodit WebDAV servera URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL ir juosasuoc ar http:// voi https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Servers:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Monteišonys punkts: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcejis: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Diska sadaleišona"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Losit uzmaneigi!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Vyspyrms izveidojit datu rezervis kopeju"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Izīt"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Turpynuot"
+
+#: diskdrake/hd_gtk.pm:97
+#, fuzzy, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ja planavojit izmontuot aboot, naaizmierstit atstuot breivu vītu diska\n"
+"suokumā (pīteik ar 2048 sektorim)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Paleidzeiba"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Izavielejit darbeibu"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Jums ir viena liela FAT sadaļa\n"
+"(parasti to izmanto Microsoft Dos/Windows).\n"
+"Iesaku vispirms izmainīt šīs sadaļas izmēru\n"
+"(uzklikšķiniet uz tās, tad uz \"Mainīt izmēru\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Lyudzu uzklikškinit iz sadalis"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detalis"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Cītī diski natyka atrosti"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Nazynuoms"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Žurnaleita FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Cyts"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tukšs"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Failsistemu tipi:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Uzmaneibu"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Ituos sadalis izmāru navar izmaineit"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Vyspyrms izmontojit ``Nūmontēt''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Tuo vītā izmontojit ``%s''"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tips"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Izavielejit cytu sadaļu"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Izavielejit sadaļu"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Atsaukt"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Puorsaslēgt normalajā režimā"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Puorsaslēgt eksperta režimā"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Konfiguraceja"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Tūmār turpynuot?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Izīt bez saglobuošonys"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Izīt naīrokstūt sadaļu tabulu?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Voi gribit saglobuot /etc/fstab izmainis"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Lai sadaļu tabulys izmainis stuotūs spākā, jiusim juopuorstartej dators"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Jiusim vajadzātu formatēt sadali %s.\n"
+"Sovaižuok fstab nabyus īroksts par monteišonys punktu %s.\n"
+"Tūmār izīt?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Vysu dzēst"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Izvītuot automatiski"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Vairuok"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Cītuo diska informaceja"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Vysys primaruos sadalis jau izmontuotys"
+
+#: diskdrake/interactive.pm:344
+#, fuzzy, c-format
+msgid "I can not add any more partitions"
+msgstr "Vairuok sadalis navar pīvīnuot"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Ja gribit vairuok sadalis, izdzēsit kaidu sadaļu, lai varātu izveiduot "
+"paplašynuotū sadaļu"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Īraksteit sadaļu tabulu"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Atjaunuot sadaļu tabulu"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Salobuot sadaļu tabulu"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Puorluodēt sadaļu tabulu"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Izjamama datu nesieja automonteišona"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Izavielejit failu"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Sadaļu tabulys rezervis kopejai ir atškireigs izmārs\n"
+"Tūmār turpynuot?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Mieginu izgluobt sadaļu tabulu"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detalizeita informaceja"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Maineit izmāru"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatēt"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Pīvīnuot pi RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Pīvīnuot pi LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Izdzēst"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Izjimt nu RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Izjimt nu LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Maineit RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Izmontuot prīkš loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Izveiduot"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Izveiduot jaunu sadaļu"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Suokuma sektors: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Izmārs MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Failsistemys tips: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Prīkšrūka: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Logiskuos sadalis vuords"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Jius navarit izveiduot jaunu diska sadaļu\n"
+"(par tū ka ir sasnīgts maksimalais primarū sadaļu skaits).\n"
+"Vyspyms nūjemit kaidu primarū sadaļu i izveidojit paplašynuotū sadaļu."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Nūjimt loopback failu?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Piec sadalis %s tipa nūmainis vysi šamā sadaļā esūšī dati tiks pazaudeiti"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Nūmaineit sadalis tipu"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Kuru failu sistemu gribit?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Puorsasliegšona nu ext2 iz ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Nūsaukums"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kur jūs vēlaties montēt loopback failu %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kur jius gribit montēt %s īreici?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Navaru nūjimt monteišonys punktu, par tū ka itei sadaļa teik izmontuota "
+"prīkš loopback.\n"
+"Vyspyrms nūjemit loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kur jius gribit montēt %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Mainu izmāru"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Izskaitļoju FAT failsistemys rūbežys"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Ituos sadalis izmāru navar izmaineit"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Vysim ituos sadalis datim juoizveidoj rezervis kopejis"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Piec sadalis %s izmāra mainis vysi šamā sadaļā esūšū dati tiks pazaudeiti"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Nūruodit jaunū izmāru"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Jauns izmārs MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Nūruodit eksistejūšu RAID, kam pīvīnuot"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "jauns"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Nūruodit jau esūšu LVM, kam pīvīnuot"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM vuords?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Itū sadaļu navar izmontuot prīkš loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback faila vuords: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Nūruodit faila nūsaukumu"
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fails jau tiek izmantots citam loopback, norādiet citu failu"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fails jau eksistej. Voi tū izmontuot?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Monteišonys īspiejis:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Dažaidi"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "īreice"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "leimiņs"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "gobola izmārs"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Esit uzmaneigi: itei operaceja ir beistama."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kaids ir sadaliejuma tips?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Lai izmainis stuotūs spākā, jiusim ir juopuorstartej dators"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Īkuortys %s sadaļu tabula tiks īraksteita iz diska!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Piec sadalis %s formateišonys vysi šamā sadaļā esūšī dati tiks pazaudeiti"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Puorbaudeit slyktūs blokus?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Puorvītuot failus iz jaunū sadaļu"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Slēpt failus"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Puorvītoju failus iz jaunū sadaļu"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopeju %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Atvīnoju %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "sadaļa %s tagad ir zynuoma kai %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Īreice: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS īkuortys burts: %s (tikai miniejums)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tips: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Vuords: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Suokums: sektors %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Izmārs: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektori"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Nu cilindra %d leidz cilindram %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formateita\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Naformateita\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Monteita\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback fails(i):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Nāklusāti suoknejamuo sadaļa\n"
+" (lai suokneitu MS-DOS, na lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Leimiņs %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Gobola izmārs %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID diski %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback faila nūsaukums: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Pastāv iespēja, ka šī sadaļa\n"
+"ir Draivera sadaļa, ko jums\n"
+"varbūt nevajadzētu aiztikt.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Itei specialuo Bootstrap\n"
+"sadaļa ir paradzāta jiusu\n"
+"sistemys dualai suokneišonai.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Tikai laseit"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Izmārs: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometreja: %s cilindri, %s golvys, %s sektori\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informaceja: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diski %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "sadaļu tabulys tips: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "uz šinas %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Failsistemys šifreišonys atslāga"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Izavielejit jiusu failsistemys šifreišonys atslāgu"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Šifreišonys atslāga ir puoruok vīnkuorša (juobyun vysmoz %d simbolus garai)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Šifreišonys atslāgys nasakreit"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Šifreišonys atslāga"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Šifreišonys atslāga (vēlreiz)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Autentifikacejis_algoritms"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Maineit tipu"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Atceļt"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Navar pīsaslēgt ar lītuotuoja vuordu %s (napareiza parole?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Napīcīšoma domena autentikaceja"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Kurs lītuotuoja vuords"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Vēl vīns"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Lyudzu, īvodit jiusu lītuotuoja vuordu, paroli i domena nūsaukumu, lai "
+"pūkliutu itam hostam."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Lītuotuoja vuords"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Meklēt serverus"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Meklēšanas serveri"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Napīcīšoms instalēt pakūtni %s. Voi gribit tū instalēt?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Navaru instalēt Xorg pakūtni: %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Iztryukst obligatuo pakūtne %s."
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Tiks instaleitys sekūjūšys pakūtnis:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instaleju pakūtnis..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Nūjamu pakūtnis..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Atkluota kliuda - nav atrosta nivīna īreice, kas darātu jaunu failsistemu "
+"veiduošonai. Lyudzu puorbaudit aparaturu, lai nūskaidruotu problemys īmaslu"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Jiusim ir napīcīšoma /boot/efi monteita FAT sadaļa"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formateju sadaļu %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Veidoju i formateju failu %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Nazynu, kai formatēt %s ar tipu %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formateišona %s naizadeve"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Cikliski monteišonys punkti %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "Formatēju sadaļu %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "sadalis %s monteišona direktorejā %s naizadeve"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Puorbaudu %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "kliuda nūmontejūt %s: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Formatēju sadaļu %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Jius navarit lītuot šifreitū failsistemu monteišonys punktā %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Dublēt monteišonys punktu %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nav pīejamu sadaļu"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Puormekleju sadalis, lai atrostu monteišonys punktus"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Izavielejit monteišonys punktus"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Izavielejit sadalis, kū gribit formatēt"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Naizadeve puorbaudeit failsistemu %s. Voi gribit lobuot kliudys? (uzamonit, "
+"jius varit pazaudēt datus)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Instaleišonys pabeigšonai napīteik swap vītys, palelynojit tū"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Jiusim ir napīcīšoma saknis sadaļa.\n"
+"Itam nūlyukam izveidojit sadaļu (voi uzklikškinit iz jau asūšys).\n"
+"Tod izavielejit darbeibu ``Monteišonys punkts'' i uzstuodit tū iz `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Jiusim nav swap sadalis\n"
+"\n"
+"Voi tūmār turpynuot?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Izmontuot breivū vītu"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Napīteik breivys vītys, lai izvītuotu jaunys sadalis"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Izmontuot jau esūšu sadalis"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nav nivīnys sadalis, kū varātu lītuot"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Lītuot Microsoft Windows® sadali prīkš loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Kuru sadali gribit izmontuot prīkš Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Izavielejit izmārus"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Saknis sadalis izmārs (MB): "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap sadalis izmārs (MB): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nav FAT sadalis, lai izmontuotu kai loopback (voi napīteik breivys vītys)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Izmontuot Microsoft Windows® sadalis breivū vītu"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kurys sadalis izmāru gribit izmaineit?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT izmāra maineituojs naspiej izmaineit jiusu sadali,\n"
+"atkluota sekuojūša kliuda: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Teik kalkulāts Microsoft Windows® sadalis lelums"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows® sadaļa ir puoruok fragmenteita. Vyspyrms nu Microsoft "
+"Windows® vidis palaidit ``defrag'' i tod atsuocit Mandriva Linux "
+"instaleišonu."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"BREIDYNUOJUMS!\n"
+"\n"
+"\n"
+"Jiusu Microsoft Windows® sadalis izmārs tiks izmainets.\n"
+"\n"
+"\n"
+"Esit uzmaneigs: šei darbeiba ir beistama. Ja jius tū vēļ naasot dariejs, "
+"jiusim vyspyrms ir juopuortrauc instaleišona, palaist \"chkdsk c:\" nu "
+"komandryndys Microsoft Windows® vidē (jemit vārā, palaižūt grafiskū "
+"programmu \"scandisk\" nav pīteikūši, obligati palaidit \"chkdsk c:\" nu "
+"komandryndys!), īteicams palaist defragmentaceju (defrag), tod atkuortuoti "
+"juosuoc instaleišona. Vajadzātu izveiduot ari datu rezervis kopeju.\n"
+"\n"
+"\n"
+"Kod asot puorsalīcynuojs, nūspīdit %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Tuoļuok"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kaidu apjūmu gribit atstuot prīkš Microsoft Windows® iz sadaļa %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Izmārs"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Mainu Microsoft Windows® sadalis izmāru"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT izmāra maiņa naizadeve: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Nav FAT sadalis, lai izmaineitu tuo izmāru (voi napīteik breivys vītys)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Nūdzēst Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Izdzēst un lītuot vysu disku"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr ""
+"Jiusim ir vairuok nakai vīns cītais disks, iz kura jius gribit instalēt "
+"linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "VYSYS diska %s sadalis i tamuos asūšī dati tiks pazaudeiti"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Pīlāguots disku sadaliejums"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Lītuot fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Tagad jius varit sadaleit diska īkuortu %s.\n"
+"Kod byusit pabeiguši, naaizmierstit saglobuot, izmontojūt `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Navaru atrast vītu instaleišonai"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX sadaļu veiduošonys paleigs atroda sekojūšus rysynuojumus:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Diska sadaleišona naizadeve: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "JFS navar izmontuot sadaļom, kas mozuokys par 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "ReiserFS navar izmontuot sadaļom, kas mozuokys par 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "ar /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "servers"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Naizadeve nūlaseit īkuortys %s sadaļu tabulu, par tū ka tei beja puoruok "
+"stypri būjuota :(\n"
+"Sistema var mieginuot atslēgt slyktuos sadalis (VYSI DATI pazuss!).\n"
+"Ūtrs rysynuojums ir aizligt DrakX izmaineit sadaļu tabulu.\n"
+"(kliuda ir %s)\n"
+"\n"
+"Voi jius pīkreitot zaudēt vysys sadalis?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Monteišonys punktim juosasuoc ar /"
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Printera vārdam jāsatur tikai burtus, ciparus un pasvītrojumu"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Jau eksistej sadaļa ar monteišonys punktu %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Jūs izvēlējies programmatūras uzturētu RAID sadaļu kā saknes sadaļu (/).\n"
+"Neviens sāknētājs nespēj to izmantot bez /boot sadaļas.\n"
+"Tāpēc neaizmirstiet izveidot /boot sadaļu."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Jūs izvēlējies programmatūras uzturētu RAID sadaļu kā saknes sadaļu (/).\n"
+"Neviens sāknētājs nespēj to izmantot bez /boot sadaļas.\n"
+"Tāpēc neaizmirstiet izveidot /boot sadaļu."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Itam katalogam ir juopalīk saknis failsistemā"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Itam monteišonys punktam ir napīcīšoma reala failsistema (ext2/ext3, "
+"reiserfs, xfs voi jfs)\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Jius navarit lītuot šifreitū failsistemu monteišonys punktā %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Napīteik breivys vītys, lai izvītuotu automatiski"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nav kū izpiļdeit"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskete"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Disks"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD īraksteituoji"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Lenta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokarte"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV karte"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Cytys multimedia īkuortys"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Skanis karte"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN karte"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet teikla karte"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modems"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL adapteri"
+
+#: harddrake/data.pm:315
+#, fuzzy, c-format
+msgid "Memory"
+msgstr "Vairuok"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printers"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Kursorsvira"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kartis modeļs:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "USB printers"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Klaviatura"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Pele"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "CUPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skeners"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Nazynuoms/Cyti"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "procesors # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Lyudzu pagaidit ... konfiguracejis pīmāruošona"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Nav alternativa draivera"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Nav zynuoms alternativs OSS/ALSA draivers prīkš jiusu skanis kartis (%s), "
+"kura pošreiz izmontoj \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Skanis konfiguraceja"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Ite jius varit izavielēt alternativu draiveri (voi nu OSS voi ALSA) prīkš "
+"jiusu skanis kartis (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Jiusu karte pošreiz izmontoj %s\"%s\" draiveri (nūklusātais draivers prīkš "
+"jiusu kartis ir \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Draivers:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Vacais \"%s\" draivers ir malnajā sarokstā.\n"
+"\n"
+"Ir sajimtys zinis par tuo slyktū darbeibu pi kūdula izluodis.\n"
+"\n"
+"Jaunais \"%s\" draivers tiks lītuots tikai pi nuokūšuos īluodis."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Nav atgvārtuo koda draiveru"
+
+#: harddrake/sound.pm:288
+#, fuzzy, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Nav zināms alternatīvs OSS/ALSA draiveris priekš Jūsu skaņu kartes (%s) kura "
+"patreiz izmanto \"%s\""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nav zynuomu draiveru"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Nav zynuomu draiveru jiusu skanis kartei (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Nazynuoms draivers"
+
+#: harddrake/sound.pm:297
+#, fuzzy, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Nav zināmu draiveru jūsu skaņu kartei (%s)"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automatiska nūteikšona"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Nazynuoma|Vyspuoreja"
+
+#: harddrake/v4l.pm:130
+#, fuzzy, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Nezināms|CPH05X (bt878) [daudz pārdevēju]"
+
+#: harddrake/v4l.pm:131
+#, fuzzy, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Nezināms|CPH06X (bt878) [daudz pārdevēju]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Prīkš vairuma myusdīnu TV kartem GNU/Linux bttv moduļs automatiski nūsoka "
+"parametrus.\n"
+"Ja jiusu karte teik nūteikta napareizi, jius varit nūruodeit pareizūs "
+"uztvierieja i kartis tipus ite. Vīnkuorši izavielejit kartis parametrus, ja "
+"napīcīšoms."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kartis modeļs:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Uztvierieja tips:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Labi"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Da"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nā"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Izavielejit failu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Pīvīnuot"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Maineit"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Nūjimt"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Beigt"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Atpakaļ"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Slykta izviele, pamieginit vēlreiz\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Jiusu izviele? (nūklusāti %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Īroksti, kas jiusim byus juoaizpylda:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Jiusu izviele? (0/1, nūklusāti %s) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Pūga `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Voi gribit uzklikškinuot iz ituos pūgys?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Jiusu izviele? (nūklusāti `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " īvodit `void' prīkš tukša īroksta"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Ir daudzys lītys, nu kurom izavielēt (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Lyudzu izavielejit pyrmū skaitli nu intervala 1-10, kuru gribit redigēt,\n"
+"voi ari vīnkuorši nūspīdit Enter lai turpynuotu.\n"
+"Jiusu izviele?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Īvārojit, īzeime mainiejās:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Atkuortuoti nūsyuteit"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Apvīnuotī Arabu Emirati"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistana"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigva i Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angilja"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albaneja"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armeneja"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Holandis Antilis"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktida"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentiona"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikaņu Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austreja"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australeja"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaidžana"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosneja Hercogovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbadosa"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladeša"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Beļgeja"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgareja"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahreina"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benina"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermundu solys"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Bruneja"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolīveja"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazīleja"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamu solys"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butāna"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Island"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botsvāna"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Boltkrīveja"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Beliza"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosu solys"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinšasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Central Afrikys republika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Šveice"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Kotdivuāra"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kuka solys"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Čīle"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerūna"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kīna"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbeja"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kostarika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr ""
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kabovarde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Zīmsvātku sola"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipra"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Čehejis Republika"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Vuoceja"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Džibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dāneja"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikys Republika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžireja"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvadora"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Igauneja"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egipte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Rītumsahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritreja"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spāneja"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopeja"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Sūmeja"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidži"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Folklendu solys"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronezeja"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Farēru solys"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Franceja"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabona"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Apvīnuotuo Karaliste"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruzeja"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Franču Gviana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltars"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grenlande"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambeja"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvineja"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadelupa"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorialuo Gvineja"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grīkeja"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guama"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvineja-Bisava"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gajana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Kīna (Honkonga)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Herda sola i Makdonalda solys"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondurasa"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Horvateja"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungareja"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonezeja"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Īreja"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izraela"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indeja"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britu Indejis okeana teritoreja"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraka"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irana"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islande"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itāleja"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordaneja"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japuona"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Keneja"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizeja"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoru solys"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Zīmeļkoreja"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Koreja"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuveita"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kaimanu solys"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazahstana"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laosa"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Lībeja"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sentlūseja"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lihtenšteina"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Šrilanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libereja"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lītuva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburga"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latveja"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libeja"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroka"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldaveja"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskara"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Maršala solys"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedoneja"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mjanma"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongoleja"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Zemeļmarianys solys"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinika"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritaneja"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrata"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauriceja"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivu solys"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malavi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksika"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaizeja"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambika"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibeja"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Jaunkaledoneja"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Nigera"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkys sola"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigereja"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragva"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holande"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvegeja"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepala"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Jaunzelande"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omāna"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Franču Polinezeja"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Jaungvineja"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipinys"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistana"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Pūleja"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr ""
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitkerna"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Riko"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugāle"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvaja"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katara"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reinjona"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumaneja"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Krīveja"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Sauda Arabeja"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomona solys"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seišeļu solys"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudāna"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Zvīdreja"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapūra"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Svātuos Helenys sola"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Sloveneja"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbāra i Jana Mejena solys"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakeja"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sjerra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Sanmarino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegala"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somaleja"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinama"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr ""
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Salvadora"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sīreja"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilenda"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Tērksa i Kaikosa solys"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čada"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franču dīnvydu teritorejis"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Taizeme"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistana"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau solys"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Austrum Timūra"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistana"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tuniseja"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turceja"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidada i Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taivana"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzaneja"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "ASV Mozuos Antiļu solys"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "A.S.V."
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvaja"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistana"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikans"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venecuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virdžīnu solys (Britu)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virdžīnu solys (ASV)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vjetnama"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Volisa i Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemena"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Majota"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Dienvidafrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambija"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabve"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Laipni lyudzam %s'a"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Vyspyrms nūjemit logiskūs siejumus\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Breidynuojums\n"
+"\n"
+"Lyudzu ryupeigi izlosit zemļuok esūšūs nūsaciejumus. Ja jius napīkreitot "
+"kaidai\n"
+"tuos daļai, jius nadreikstit instalēt nu ituo CD. Nūspīdit 'Nūraideit', lai\n"
+"turpynuotu instaleišonu, naizmontojūt itū datu nesieju.\n"
+"\n"
+"\n"
+"Daži itymā CD datu nesiejā asūšī komponenti nav pakļauti GPL licencei voi\n"
+"leidzeigim leigumim. Kotra itaida komponenta izmontuošonu nūsoka atseviškis\n"
+"licencis nūteikumi i nūsaciejumi. Lyudzu ryupeigi tū izlosit i īvārojit\n"
+"tuos nūsaciejumus, pyrms izmontuot voi izplateit uzskaiteitūs komponentus.\n"
+"Ituos licencis puorsvorā aizlīgs jiusim puorsyuteit, dublēt (izjamūt "
+"rezervis\n"
+"kopeišonys nūlyukūs), izplateit tuoļuok, reversi uzbyuvēt, de-asamblēt,\n"
+"de-kompilēt voi modificēt itū komponentu. Jebkurs ituos vīnuošonuos "
+"puorkuopums\n"
+"jiusim automatiski atjims tīseibys, kū pīškeiruse attīceiguo licence. "
+"Izjamūt\n"
+"gadīņus, kod konkretuos licencis nūsaciejumi jiusim dūd šaidys tīseibys, "
+"jius\n"
+"parosti nadreikstot instalēt šaidu programmu iz vairuok, kai vīnys sistemys\n"
+"voi pīlāguot tū izmontuošonai teiklā. Ja šaubatēs, lyudzu sasazynojit ar\n"
+"komponenta izplateituoju voi redaktoru.\n"
+"Šaidu komponentu, tymā skaitā ari īkļautuos dokumentacejis, nūdūšona\n"
+"trešajom personom voi kopeišona parosti ir aizlīgta.\n"
+"\n"
+"\n"
+"Vysys nuokūšajā CD datu nesiejā īkļauto komponentu tīseibys pīder tū\n"
+"attīceigajim autorim, i tuos aizsargoj intelektualuo īpašuma i\n"
+"autortīseibu lykumi, kas atsatiec iz programmnūdrūšynuojumu.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Apsveicam, instaleišona ir pabeigta.\n"
+"Izjemit suokneišonys datu nesieju i nūspīdit īvodu, lai puorstarteitu "
+"datoru.\n"
+"\n"
+"\n"
+"Lai sajimtu informaceju par lobuojumim, kas ir pīejami itam Mandriva Linux\n"
+"izdavumam, skotit Errata failu, kas atrūnams\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informaceja par jiusu sistemys konfigureišonu ir pīejama Oficialajā\n"
+"Mandriva Linux lītuotuoja rūkysgruomotys piecinstaleišonys (post install) "
+"nūdaļā."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "OKI winprinter konfigurācija"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Moduļa konfigureišona"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Ite jius varit konfigurēt kotru moduļa parametru."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Atrostys %s saskarnis"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Voi ir vēl kaida?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Voi datorā ir koč kaida %s saskarne?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Apskateit aparaturys informaceju"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instaleju draiveri %s kartei %s"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instaleju draiveri %s kartei %s"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instaleju draiveri %s kartei %s"
+
+# -PO: the first %s is the card type (scsi, network, sound,...)
+# -PO: the second is the vendor+model name
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instaleju draiveri %s kartei %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instaleju draiveri %s kartei %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Tagad jius varit nūruodeit moduļa %s opcejis.\n"
+"Atguodojit, ka vysys adresis juoīvoda ar 0x prefiksu, pīmāram, '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Tagad jius varit nūruodeit moduļa %s opcejis.\n"
+"Opceju formats ir ``nūsaukums=vierteiba nūsaukums2=vierteiba2 ...''.\n"
+"Pīmāram, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Moduļa opcejis:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Kuru %s draiveri pamieginuot?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Dažūs gadīņūs %s draiveram ir juonūruoda papyldus informaceja, lai tys\n"
+"dorbuotūs pareizi, tūmār parosti tei nav vajadzeiga. Voi gribit nūruodeit\n"
+"papyldus parametrus, voi ari ļausit draiveram aptaujuot datoru i savuokt\n"
+"napīcīšomī informaceju? Rešūs gadīņūs aptaujuošona var uzkuort datoru,\n"
+"bet tys naradeis nikaidus būjuojumus."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Autoizmekliešona"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Nūruodeit opcejis"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Moduļa %s īluode beja naveiksmeiga.\n"
+"Voi gribit pamieginuot ar cytim parametrim?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "monteišona naizadeve: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Itai platformai paplošynuotuo sadaļa nav pīejama"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Jiusu diska sadaļu tabulu ir caurums, bet es tū navaru izmontuot.\n"
+"Vīneigais rysynuojums ir puorvītuot prymaruos sadalis tai, kab caurums "
+"atsarost supluok paplošynuotajuom sadaļom."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Kliuda, nūlosūt failu %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Atjaunuošona nu faila %s naizadeve: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Slykts rezervis kopejis fails"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Kliuda, īrokstūt failā %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Navar pīvīnuot sadaļu _formateitam_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Napīteik diska sadaļu RAID leimiņam %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Atļaut/Aizlīgt attuolu root dasasliegšonu sistemai"
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Atļaut/Aizlīgt tīšu root dasasliegšonu sistemai"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Drūšeibys trauksmis:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Uzstuodeit root lītuotuoja umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Uzstuodeit lītuotuoja umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Atļaut attuolu īeju sistemā prīkš root"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Atļaut X Window savīnuojumus"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig pasakļaun msec lykumim"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Nav parolis vacums dieļ"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Parolis viesturis garums"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Čaulys īluodis taimauts"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Lītuotuoja umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Atvārtū portu puorbaude"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Laipni lyudzam pi hakerim"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Vuojs"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standarta"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Augsts"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Paaugstynuots"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoisks"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Šū leimini ir juoizmontoj uzmaneigi. Tys padora jiusu sistemu vīgļuok\n"
+"izmontojamu, bet ļūti nadrūšu: tū nadreikst izmontuot datoram, kas ir\n"
+"savīnuots ar cytim datorim voi ar Internetu. Nateik praseita parole."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Tagad teik izmontuota parole, bet izmontuot datoru teiklā vēl aizviņ\n"
+"nav īteicams."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Itys ir parosts drūšeibys leimins, kas ir īteicams datoram, kas tiks\n"
+"izmontuots, lai sasavīnuotu ar Internetu kai klients."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Ar itū drūšeibys leimini sistemu var suokt izmontuot kuo serveri.\n"
+"Drūšeiba tagad ir pīteikūši stypra, lai izmontuotu sistemu kai serveri, kas\n"
+"apkolpoj savīnuojumus nu daudzim klientim. Pīzeime: ja jiusu dators "
+"darbojas\n"
+"tikai kai klients Internetā, jiusim vajadzātu izavielēt mozuoku drūšeibys "
+"leimini."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Itys ir leidzeigs īprīkšejam leimiņam, bet sistema ir piļneibā slāgta i "
+"drūšeibys īspiejis ir pošys maksimaluokuos."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Drūšeiba"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec pamata opcejis"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Izavielejit vālamū drūšeibys leimini?"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Drūšeibys leimins"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Lītuot libsafe prīkš serverim"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Biblioteka, kas aizsorgoj pret bufera puorpiļdeišonys i ryndys formata "
+"uzbrukumim."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Drūšeibys administrators (slāgvuords voi e-posts)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Palaist ALSA (Advanced Linux Sound Architecture) skaņu sistemu"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron ir periodisku komandu planavuotuojs."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd paradzāts baterejis stuovūkļa nūvāruošonai i gruomotuošonai ar syslog.\n"
+"Tū var izmontuot ari datora izsliegšonai, kod batereja ir izaluodiejuse."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Palaiž komandys, kas ir īplanavuotys nūteiktā laikā, izmontojūt komandu at,\n"
+"kai ari palaiž komandu paketis, kod videjuo sistemys nūslūdze ir pīteikūši\n"
+"zama."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron ir parosta UNIX programma, kas palaiž lītuotuoju nūruodeituos "
+"programmys\n"
+"periodiski īplanavuotūs laikūs. vixie cron pūduovoj virkni papyldus\n"
+"īspieju saleidzynūt ar UNIX cron, tymā skaitā ari lobuoku drūšeibu i daudz\n"
+"izvārtstuokys konfigureišonys īspiejis."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM nūdrūšyna pelis atbolstu dažaidom teksta režima Linux programmom,\n"
+"pīmāram, Midnight Commander. Tys ari ļaun nu konsolis ar peli veikt\n"
+"izgrīzt-i-īspraust operacejis, kai ari pīduovoj izlecūšū izvieļņu\n"
+"atbolstu konsolei."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake veic aparatūras aptauju, un opcionāli konfigurē\n"
+"jauno/izmainīto aparatūru."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache ir puorstaipteikla servers. Tys teik izmontuots HTML\n"
+"failu i CGI izplateišonai."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Interneta superservera demons (parasti saukts par inetd) piec vajadzeibys\n"
+"startej dažaidus interneta servisus. Tys ir atbiļdeigs par daudzu servisu\n"
+"starteišonu, tymā skaitā telnet, ftp, rsh i rlogin. inetd atsliegšona\n"
+"atslādz ari vysus servisus, par kurim tys atbiļd."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Itei pakūtne īluodej izvālātū klaviaturys karti, kas uzstuodeita failā\n"
+"/etc/sysconfig/keyboard. Tū var izavielēt, izmontojūt programmu kbdconfig.\n"
+"Vairumā gadiejumu itū pakūtni ir juoatstuoj izvālātu."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatiska aparaturys nūteikšona i konfigureišona suokneišonys laikā."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf dažreiz pīmāruos dažaidus uzdavumus\n"
+"īluodis laikā, lai uzturātu sistemys konfiguraceju."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd ir drukys demons, kas ir napīcīšams lpr pareizai darbeibai. Tys ir\n"
+"servers, kas nūsyuta drukys uzdavumus printera(i)m."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux virtualais servers, lītojams, lai uzbyuvātu augstys veiktspiejis\n"
+"i augstys pīejameibys serveri."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) ir domenu vuordu servers (DNS), kas teik izmontuots hostu "
+"vuordim atbylstūšū IP adrešu nūskaidruošonai."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Montej i nūmontej vysys Teikla Failu sistemys (NFS), SMB (Lan\n"
+"Manager/Windows) i NCP (NetWare) monteišonys punktus."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivizej/Deaktivizej vysus teikla saskarnis, kas ir konfigurātys\n"
+"starteišonai sistemys suokneišonys laikā."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS ir populars protokols failu kūplūtuošonai TCP/IP teiklūs.\n"
+"Itys serviss nūdrūšyna NFS servera funkcionalitati\n"
+"ar faila /etc/exports paleidzeibu."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS ir populars protokols failu kūplūtuošonai TCP/IP teiklūs.\n"
+"Itys serviss nūdrūšyna NFS failu aizsliegšonys funkcionalitati."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Atbolsta OKI 4w i savītojamus winprinterus."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA atbolsts parosti ir paradzāts, pīmāram, teikla karšu i modemu\n"
+"uztureišonai puornāsuojamūs datorūs. Tys natiks starteits, ja nav "
+"konfigurāts,\n"
+"tuopiec ir drūši tū instalēt datorūs, kam tys nav napīcīšams."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper apkalpoj RPC savīnuojumus, kū izmontoj cyti protokoli,\n"
+"pīmāram, NFS i NIS. portmap serveri ir juoizmontoj datorūs, kas\n"
+"darbojas kai RPC protokolus izmontojūšu protokolu serveri."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix ir Posta transporta agents, i tei ir programma, kas puorsyuta postu "
+"nu vīna datora iz cytu."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Sagloboj i atjaunoj sistemys entropejis kruotuvi, lai genereitu\n"
+"kvalitativuokus gadiejumskaitļus."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Pīškir raw īreicis bloku īreicem (taidom, kai cītuo\n"
+"diska sadalis), lai lītuotu taidys aplikacejis, kai Oracle voi DVD "
+"atskaņuotuoji"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed demons ļaun automatiski atjaunynuot IP maršrutizatora tabulu,\n"
+"izmantojūt RIP protokolu. Kaut gon RIP teik plaši izmontuots nalelūs\n"
+"teiklūs, sarežgeituokim teiklim ir napīcīšami sarežgeituoki "
+"maršrutizeišonys\n"
+"protokoli."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokols ļaun teikla lītuotuojim sajimt veiktspiejis\n"
+"informaceju par jebkuru ituo teikla datoru."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokols rusers teikla lītuotuojim ļaun nūskaidruot, kuru lītuotuoju\n"
+"sesejis ir atvārtys cytūs atbiļdūšūs datorūs."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokols rwho attuolim lītuotuojim ļaun sajimt vysu atvārtū lītuotuoju\n"
+"seseju sarokstu nu datora, kurā darbojas rwho demons (leidzeigi finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Palaist skaņusistemu iz jiusu datora"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog ir mehanisms, kū daudzi demoni izmontoj ziņuojumu gruomotuošonai\n"
+"daudzūs sistemys žurnalu failūs. Byutu labi vysod dorbynuot syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Īluodej draiverus jiusu usb īreicem."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Startē X fontu serveri (obligati, lai izpiļdeitu Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Drukuošona"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internets"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Failu kūplītuošuona"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Attuola administreišona"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Datubāžu servers"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servisi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Izavielejit, kurus servisus vajag automatiski startēt īluodis laikā"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servisi: %d aktivizāti nu %d registrātim"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "darbojas"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "apturāts"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servisi i demoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nav papyldus informacejis\n"
+"par itū servisu."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Suokneišonys laikā"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Startēt"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Apturēt"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[klaviatura]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Pīvīnuot serveri"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Azeja"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Eiropa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Zīmeļamerika"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Makedoneja"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Dīnvidamerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr ""
+
+#: timezone.pm:237
+#, fuzzy, c-format
+msgid "Russian Federation"
+msgstr "Krīvejis (fonetiskuo)"
+
+#: timezone.pm:245
+#, fuzzy, c-format
+msgid "Yugoslavia"
+msgstr "Dīnvydslavu (latiņu)"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Vai tys ir pareizi?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "Nav ikonys"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Sātys direktorejs nav pīejams."
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Lokals katalogs"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Lokalī faili"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Izvērst kūku"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sakļaut kūku"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Sakuortuots vīnā sarokstā voi pa grupom"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalaceja naizadeve"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Uztveršonys buferu skaits:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "uztveršonys buferu skaits mmap-eitai uztveršonai"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL uzstuodiejums:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radejis atbolsts:"
+
+#~ msgid "enable radio support"
+#~ msgstr "īslēgt radejis atbolstu"
diff --git a/perl-install/share/po/lv.po b/perl-install/share/po/lv.po
new file mode 100644
index 000000000..d55de0cbb
--- /dev/null
+++ b/perl-install/share/po/lv.po
@@ -0,0 +1,6378 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2002-09-27 17:45+0200\n"
+"Last-Translator: Raivo Saars <spaiks@inbox.lv>\n"
+"Language-Team: Latvian <ll10nt@listes.murds.lv>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Lūdzu uzgaidiet"
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Sāknētāja instalēšana"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Sāknētāja instalēšana neizdevās. Atklāta šāda kļūda:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Jūs nolēmāt sāknētāju instalēt uz diska sadaļas.\n"
+"Tas paredz, ka jums jau ir sāknētājs uz tā sāknējamā cietā diska (piem.: "
+"System Commander).\n"
+"\n"
+"Kurš ir jūsu sāknējamais disks?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Diska pirmais sektors (MBR)"
+
+#: any.pm:247
+#, fuzzy, c-format
+msgid "First sector of the root partition"
+msgstr "Sāknējamās sadaļas pirmais sektors"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "Saglabāt disketē"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Izlaist"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub instalēšana"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kur jūs vēlaties instalēt sāknētāju?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Sāknēšanas stila konfigurēšana"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Sāknētāja galvenās opcijas"
+
+#: any.pm:299
+#, fuzzy, c-format
+msgid "Bootloader"
+msgstr "Kuru OS ielādētāju lietot"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Kuru OS ielādētāju lietot"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Sāknējamā ierīce"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Pauze pirms noklusētās sistēmas ielādes"
+
+#: any.pm:306
+#, fuzzy, c-format
+msgid "Enable ACPI"
+msgstr "Atļaut CD ielādi?"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Atļaut CD ielādi?"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Atļaut CD ielādi?"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Parole"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Paroles nesakrīt"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Lūdzu mēģiniet vēlreiz"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Jūs nevarat lietot šifrēto failsistēmu montēšanas punktā %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Parole (atkārtoti)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Ierobežot komandrindas opcijas"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ierobežot"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Opcijai ``Ierobežot komandrindas opcijas'' nav jēgas bez paroles"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Iztīrīt /tmp katras sāknēšanas laikā"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Ja nepieciešams, precizējiet RAM apjomu (atrasti %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Norādiet atmiņas apjomu Mb"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr ""
+
+#: any.pm:335
+#, fuzzy, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kerneļa ielādes taimauts"
+
+#: any.pm:336
+#, fuzzy, c-format
+msgid "Enable CD Boot?"
+msgstr "Atļaut CD ielādi?"
+
+#: any.pm:337
+#, fuzzy, c-format
+msgid "Enable OF Boot?"
+msgstr "Atļaut OF ielādi?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Noklusētā OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Attēls"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Sakne"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Papildināt"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video režīms"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Tīkla pārlūks"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Nosaukums"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Noklusēts"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "BezVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tukšs nosaukums nav atļauts"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Jums jānorāda kodola attēls"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Jums ir nepieciešama root sadaļa"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Šis nosaukums jau ir izmantots"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kāda veida ierakstu gribat pievienot"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Cita OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Cita OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Cita OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Šeit ir dažādi sāknēšanas ieraksti.\n"
+"Jūs varat pievienot jaunus vai izmainīt esošos."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "piekļuve X programmām"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "piekļuve rpm rīkiem"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "atļaut \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "piekļuve administrēšanas failiem"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "piekļuve tīkla rīkiem"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "piekļuve kompilēšanas rīkiem"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(jau pievienots %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Lūdzu ievadiet lietotāja vārdu"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Lietotāja vārdā var būt tikai mazie angļu burti, cipari, `-' un `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Lietotāja vārds ir pārāk garš"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Šāds lietotāja vārds jau ir pievienots"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Lietotāja ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Grupas ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Opcijai %s ir jābūt skaitlim!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Pievienot lietotāju"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Ievadiet lietotāju\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Izdarīts"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Apstiprināt lietotāju"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Vārds un uzvārds"
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Domēna nosaukums"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Čaula"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Autopieslēgšanās"
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Sistēmu var konfigurēt tā, lai pēc startēšanas automātiski tiktu\n"
+"atvērta viena noteikta lietotāja sesija. \n"
+"Vai vēlaties lietot šo iespēju?"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Vai vēlaties izmantot aboot?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Norādiet noklusēto lietotāju:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Norādiet izmantojamo logu menedžeri:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licences līgums"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Beigt"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Lūdzu izvēlieties"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Pieņemt"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Noraidīt"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Lūdzu izvēlieties izmantojamo valodu."
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Mjanma"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Jūs varat izvēlēties citas valodas, kas būs pieejamas pēc instalēšanas"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, fuzzy, c-format
+msgid "All languages"
+msgstr "Valodas izvēle"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Valsts"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "Lūdzu izvēlieties jūsu peles tipu."
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "Šeit ir pilns pieejamo tastatūru saraksts"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Citi porti"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Izvērsta"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Tīkla metode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Nekas"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Bez koplietošanas"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Atļaut visus lietotājus"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Pielāgota"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Vai vēlaties ļaut lietotājies koplietot savus direktorijus?\n"
+"Atļaujot šo, lietotājiem būs atļauts vienkārši noklikšķināt uz \"Koplietot\" "
+"konqueror\n"
+"vai nautilus programmās.\n"
+"\n"
+"\"Custom\" atļauj individuālu tiesību piešķiršanu.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Jūs varat eksportēt, lietojot NFS vai SMB. Lūdzu izvēlieties, kuru vēlaties "
+"lietot."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Izpildīt userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Aizvērt"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Lietotāju koplietojumi izmanto grupu \"fileshare\". \n"
+"Jūs varat izmantot userdrake, lai šai grupai pievienotu lietotājus."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Lūdzu aizveriet sesiju un nospiediet Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Laika josla"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Kāda ir jūsu laika josla?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Datora pulkstenis iestatīts rādīt GMT laiku"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Datora pulkstenis iestatīts rādīt GMT laiku"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP serveris"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automātiska laika sinhronizācija (izmantojot NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokāls fails"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, fuzzy, c-format
+msgid "Smart Card"
+msgstr "Ethernet karte"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows domēns"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Atjaunot visas rezerves kopijas"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Atjaunot visas rezerves kopijas"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Lokālie faili:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows domēns:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Atjaunot visas rezerves kopijas"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Atjaunot visas rezerves kopijas"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP autentikācija"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP serveris"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "vienkāršs"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentifikācija"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domēns"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Serveris"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Datubāzes"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Nepieciešama parole"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS autentikācija"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS domēns"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS serveris"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows Domain autentikācija"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domēna administratora lietotāja vārds"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domēna administratora parole"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentifikācija"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "root paroles izvēle"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Autentifikācija"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Bez paroles"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Šī parole ir pārāk vienkārša (jābūt vismaz %d simbolus garai)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Neva izmantot apraidi bez NIS domēna"
+
+# NOTE: this message will be displayed at boot time; that is
+# only the ascii charset will be available on most machines
+# so use only 7bit for this message (and do transliteration or
+# leave it in English, as it is the best for your language)
+#
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, fuzzy, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Juus sveic %s, opereetaajsisteemu paarsleedzeejs!\n"
+"\n"
+"Sarakstaa izveelieties vajadziigo sisteemu vai gaidiet %d sekunDES, liidz "
+"tiks ielaadeeta nokluseetaa sisteema.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO ar teksta izvēlni"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "nepietiek vietas /boot sadaļā"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Jūs nevarat instalēt sāknētāju %s sadaļā\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Sāknētāja instalēšana"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minūtes"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minūte"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekundes"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV ir protokols, ka ļauj jums lokāli montēt web servera direktoriju\n"
+"un rīkoties ar to kā ar lokālu failsistēmu (ja vien web serveris ir "
+"konfigurēts\n"
+"kā WebDAV serveris). Ja jūs vēlaties pievienot WebDAV montēšanas\n"
+"punktus, izvēlieties \"Jauns\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Jauns"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Nomontēt"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montēta"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Montēšanas punkts"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opcijas"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Kļūda"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Lūdzu ievadiet WebDAV servera URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL ir jāsākas ar http:// vai https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Serveris:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Montēšanas punkts: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opcijas: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, fuzzy, c-format
+msgid "Partitioning"
+msgstr "Drukāšana"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lasiet uzmanīgi!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Vispirms izveidojiet datu rezerves kopiju"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Iziet"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Turpināt"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ja gatavojaties izmantot aboot, neaizmirstiet atstāt brīvu vietu diska\n"
+"sākumā (pietiek ar 2048 sektoriem)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Palīdzība"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Izvēlieties darbību"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Jums ir viena liela FAT sadaļa\n"
+"(parasti to izmanto Microsoft Dos/Windows).\n"
+"Iesaku vispirms izmainīt šīs sadaļas izmēru\n"
+"(uzklikšķiniet uz tās, tad uz \"Mainīt izmēru\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Lūdzu uzklikšķiniet uz sadaļas"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detaļas"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Cietņi netika atrasti"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Nzināms"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Žurnalēta FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Logi"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Cits"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tukšs"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Failsistēmu tipi:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Uzmanību"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Šīs sadaļas izmēru nevar izmainīt"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Vispirms izmantojiet ``Nomontēt''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Tā vietā izmantojiet ``%s''"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tips"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Izvēlieties citu sadaļu"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Izvēlieties sadaļu"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Atsaukt"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Pārslēgt normālajā režīmā"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Pārslēgt eksperta režīmā"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Konfigurācija"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Tad turpināt?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Iziet nesaglabājot"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Iziet neierakstot sadaļu tabulu?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Vai vēlaties saglabāt /etc/fstab izmaiņas"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Lai sadaļu tabulas izmaiņas stātos spēkā, jums jāpārstartē dators"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Visu dzēst"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Izvietot automātiski"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Vairāk"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Cietā diska informācija"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Visas primārās sadaļas izmantotas"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Vairāk sadaļas nevar pievienot"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Ja gribat vairāk sadaļas, izdzēsiet kādu sadaļu, lai varētu izveidot "
+"paplašināto sadaļu"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Ierakstīt sadaļu tabulu"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Atjaunot sadaļu tabulu"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Salabot sadaļu tabulu"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Pārlādēt sadaļu tabulu"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Izņemama datu nesēja automontēšana"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Izvēlieties failu"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Sadaļu tabulas rezerves kopijai ir atšķirīgs izmērs\n"
+"Tomēr turpināt?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Mēģinu saglābt sadaļu tabulu"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detalizēta informācija"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Mainīt izmēru"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatēt"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Pievienot pie RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Pievienot LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Izdzēst"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Izslēgt no RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Izņemt no LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Mainīt RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Izmantot priekš loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Izveidot"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Izveidot jaunu sadaļu"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Sākuma sektors: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Izmērs MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Failsistēmas tips: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Priekšroka: "
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Lokālie faili"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Jūs nevarat izveidot jaunu diska sadaļu\n"
+"(jo ir sasniegts maksimālais primāro sadaļu skaits).\n"
+"Vispims noņemiet kādu primāro sadaļu un izveidojiet paplašināto sadaļu."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Atvienot loopback failu?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Pēc sadaļas %s tipa nomaiņas visi šajā sadaļā esošie dati tiks pazaudēti"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Nomainīt sadaļas tipu"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Kuru failu sistēmu vēlaties?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Pārslēgšanās no ext2 uz ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Nosaukums"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kur jūs vēlaties montēt loopback failu %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kur jūs vēlaties montēt %s ierīci?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Nevaru noņemt montēšanas punktu, jo šī sadaļa tiek izmantota priekš "
+"loopback.\n"
+"Vispirms noņemiet loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kur jūs vēlaties montēt %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Mainu izmēru"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Izskaitļoju FAT failsistēmas robežas"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Šīs sadaļas izmēru nevar izmainīt"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Visiem šīs sadaļas datiem jāizveido rezerves kopijas"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Pēc sadaļas %s izmēra maiņas visi šajā sadaļā esošie dati tiks pazaudēti"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Norādiet jauno izmēru"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Jauns izmērs MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Norādiet eksistējošu RAID, kam pievienot"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "jauns"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Norādiet jau esošu LVM kam pievienot"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM vārds?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Šo sadaļu nevar izmantot priekš loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback faila vārds: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Faila nosaukums"
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fails jau tiek izmantots citam loopback, norādiet citu failu"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fails jau eksistē. Vai to izmantot?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Montēšanas iespējas:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Dažādi"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "ierīce"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "līmenis"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "gabala izmērs"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Esiet uzmanīgi: šī operācija ir bīstama."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kāds ir sadalījuma tips?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Lai izmaiņas stātos spēkā, jums ir jāpārstartē dators"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Iekārtas %s sadaļu tabula tiks ierakstīta uz diska!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Pēc sadaļas %s formatēšanas visi šajā sadaļā esošie dati tiks pazaudēti"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Pārbaudīt sliktos blokus?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Pārvietot failus uz jauno sadaļu"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Slēpt failus"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Pārvietoju failus uz jauno sadaļu"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopēju %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Atvienoju %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "sadaļa %s tagad ir zināma kā %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Ierīce: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS iekārtas burts: %s (tikai minējums)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tips: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Vārds: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Sākums: sektors %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Izmērs: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektori"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "No cilindra %d līdz cilindram %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatēta\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Neformatēta\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montēta\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback fails(i):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Noklusēti sāknējamā sadaļa\n"
+" (lai sāknētu MS-DOS, nevis lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Līmenis %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Gabala izmērs %s\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID diski %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback faila nosaukums: %s"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Pastāv iespēja, ka šī sadaļa\n"
+"ir Draivera sadaļa, ko jums\n"
+"varbūt nevajadzētu aiztikt.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Šī speciālā Bootstrap\n"
+"sadaļa ir paredzēta jūsu\n"
+"sistēmas duālai sāknēšanai.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Tikai-lasīt"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Izmērs: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Ģeometrija: %s cilindri, %s galvas, %s sektori\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diski %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "sadaļu tabulas tips: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "uz šinas %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Failsistēmas šifrēšanas atslēga"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Izvēlieties jūsu failsistēmas šifrēšanas atslēgu"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Šifrēšanas atslēga ir pārāk vienkārša (jābūt vismaz %d simbolus garai)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Šifrēšanas atslēgas nesakrīt"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Šifrēšanas atslēga"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Šifrēšanas atslēga (vēlreiz)"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Autentifikācija"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Mainīt tipu"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Atcelt"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Nevar pieslēgties ar lietotāja vārdu %s (nepareiza parole?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Nepieciešama Domain autentikācija"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Kurš lietotāja vārds"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Cits"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Lūdzu, ievadiet Jūsu lietotāja vārdu, paroli un domēna nosaukumu, lai "
+"piekļūtu šim hostam."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Lietotāja vārds"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Meklēšanas serveri"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Meklēšanas serveri"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Nepieciešams instalēt pakotni %s. Vai vēlaties to instalēt?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Instalēju pakotni %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Iztrūkst obligātā pakotne %s."
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Tiks instalētas sekojošas pakotnes"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Instalēju pakotnes..."
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Atvienoju %s"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Atklāta kļūda - nav atrasta neviena ierīce, kas derētu jaunu failsistēmu "
+"veidošanai. Lūdzu pārbaudiet dzelžus, lai noskaidrotu problēmas iemeslu"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Jums ir nepieciešama /boot/efi montēta FAT sadaļa"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formatēju sadaļu %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Veidoju un formatēju failu %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Nezinu, kā formatēt %s, izmantojot tipu %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatēšana %s neizdevās"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Cikliski montēšanas punkti %s\n"
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "Formatēju sadaļu %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "sadaļas %s montēšana direktorijā %s neizdevās"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, fuzzy, c-format
+msgid "Checking %s"
+msgstr "Kopēju %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "kļūda nomontējot %s: %s"
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Formatēju sadaļu %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Jūs nevarat lietot šifrēto failsistēmu montēšanas punktā %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Dublēts montēšanas punkts %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Nav pieejamu sadaļu"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Pārmeklēju sadaļas, lai atrastu montēšanas punktus"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Izvēlieties montēšanas punktus"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Izvēlieties sadaļas, ko vēlaties formatēt"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Neizdevās pārbaudīt failsistēmu %s. Vai vēlaties labot kļūdas? (uzmanieties, "
+"jūs varat zaudēt datus)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Instalēšanas pabeigšanai nepietiek swap, palieliniet swap"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Jums ir nepieciešama saknes sadaļa.\n"
+"Šim nolūkam izveidojiet sadaļu (vai uzklikšķiniet uz jau esošas).\n"
+"Tad izvēlieties darbību ``Montēšanas punkts'' un norādiet, ka tas ir `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Jums nav swap sadaļas\n"
+"\n"
+"Vai tomēr turpināt?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Izmantot brīvo vietu"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Nepietiek brīvas vietas, lai izvietotu jaunas sadaļas"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Izmantot jau esošu sadaļu"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Nav nevienas sadaļas, ko varētu izmantot"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Izmantot Microsoft Windows® sadaļu priekš loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Kuru sadaļu vēlaties izmantot priekš Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Izvēlieties izmērus"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Saknes sadaļas izmērs (MB): "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap sadaļas izmērs (MB): "
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Nav FAT sadaļu, lai izmainīto to izmēru vai izmantotu kā loopback (vai "
+"nepietiek brīvas vietas)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Izmantot Windows sadaļas brīvo vietu"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kuras sadaļas izmēru vēlaties izmainīt?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT izmēra mainītājs nespēj izmainīt jūsu sadaļu,\n"
+"atklāta sekojoša kļūda: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Izmantot Microsoft Windows® sadaļas brīvo vietu"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows® sadaļa ir pārāk fragmentēta. Vispirms no Microsoft "
+"Windows® vides palaidiet ``defrag'' un tad atsāciet Mandriva Linux "
+"instalēšanu."
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"BRĪDINĀJUMS!\n"
+"\n"
+"\n"
+"Tagad DrakX izmainīs Windows sadaļas izmēru.\n"
+"\n"
+"\n"
+"Esiet uzmanīgs: šī darbība ir bīstama. Ja jūs to vēl neesat izdarījis, jums "
+"vispirms ir jāpārtrauc instalēšana, no Windows jāpalaiž scandisk (ieteicams "
+"palaist arī defrag), tad atkārtoti jāsāk instalēšana. Vajadzētu izveidot arī "
+"datu rezerves kopiju.\n"
+"\n"
+"\n"
+"Kad esat pārliecināts, nospiediet %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Tālāk"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kādu apjomu vēlaties atstāt priekš windows uz sadaļa %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Izmērs"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Mainu Microsoft Windows® sadaļas izmēru"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT izmēra maiņa neizdevās: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Nav FAT sadaļu, lai izmainīto to izmēru vai izmantotu kā loopback (vai "
+"nepietiek brīvas vietas)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Noņemt Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Izdzēst visu disku"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Jums ir vairāk nekā viens cietais disks, uz kura jūs instalējat linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "VISAS diska %s sadaļas un tajās esošie dati tiks pazaudēti"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Pielāgots disku sadalījums"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Izmantot fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Tagad jūs varat sadalīt diska iekārtu %s.\n"
+"Kad esat pabeiguši, neaizmirstiet saglabāt, izmantojot `w'"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Nevaru atrast vietu instalēšanai"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX sadaļu veidošanas meistars atrada sekojošus risinājumus:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Diska sadalīšana neizdevās: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "JFS nevar izmantot sadaļām, kas mazākas par 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "ReiserFS nevar izmantot sadaļām, kas mazākas par 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "ar /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "serveris"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Neizdevās nolasīt iekārtas %s sadaļu tabulu, jo tā bija pārāk stipri bojāta :"
+"(\n"
+"Sistēma var mēģināt atslēgt sliktās sadaļas (VISI DATI pazudīs!).\n"
+"Otrs risinājums ir aizliegt DrakX izmainīt sadaļu tabulu.\n"
+"(kļūda ir %s)\n"
+"\n"
+"Vai Jūs piekrītat zaudēt visas sadaļas?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Montēšanas punktiem jāsākas ar /"
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Printera vārdam jāsatur tikai burtus, ciparus un pasvītrojumu"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Jau eksistē sadaļa ar montēšanas punktu %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Jūs izvēlējies programmatūras uzturētu RAID sadaļu kā saknes sadaļu (/).\n"
+"Neviens sāknētājs nespēj to izmantot bez /boot sadaļas.\n"
+"Tāpēc neaizmirstiet izveidot /boot sadaļu."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Jūs izvēlējies programmatūras uzturētu RAID sadaļu kā saknes sadaļu (/).\n"
+"Neviens sāknētājs nespēj to izmantot bez /boot sadaļas.\n"
+"Tāpēc neaizmirstiet izveidot /boot sadaļu."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Šim katalogam ir jāpaliek saknes failsistēmā"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Šim montēšanas punktam ir nepieciešama reāla failsistēma (ext2/ext3, "
+"reiserfs, xfs vai jfs)\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Jūs nevarat lietot šifrēto failsistēmu montēšanas punktā %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Nepietiek brīvas vietas, lai izvietotu automātiski"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Nav ko darīt"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskete"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Cietais Disks"
+
+#: harddrake/data.pm:97
+#, fuzzy, c-format
+msgid "CDROM"
+msgstr "uz CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr ""
+
+#: harddrake/data.pm:117
+#, fuzzy, c-format
+msgid "DVD-ROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Lenta"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr ""
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "Video režīms"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, fuzzy, c-format
+msgid "Tvcard"
+msgstr "TV karte"
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Cits mēdijs"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Skaņaskarte"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr ""
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr ""
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Iekšēja ISDN karte"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, fuzzy, c-format
+msgid "Ethernetcard"
+msgstr "Ethernet karte"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modēms"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Atmiņa"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printeris"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Kursorsvira"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr ""
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kartes modelis:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr ""
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr ""
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr ", USB printeris \\/*%s"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr ""
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatūra"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Pele"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "CUPS"
+
+#: harddrake/data.pm:514
+#, fuzzy, c-format
+msgid "Scanner"
+msgstr "Izvēlieties skeneri"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "Nezināma|vispārēja"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Lūdzu uzgaidiet ... konfigurācijas piemērošana"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Nav alternatīva draivera"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Nav zināms alternatīvs OSS/ALSA draiveris priekš Jūsu skaņu kartes (%s) kura "
+"patreiz izmanto \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Skaņas konfigurācija"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Šeit Jūs varat izvēlēties alternatīvu draiveri (vai nu OSS vai ALSA) priekš "
+"Jūsu skaņu kartes (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Jūsu karte petreiz izmanto %s\"%s\" draiveri (noklusētais draiveris priekš "
+"Jūsu kartes ir \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Draiveris:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Vecais \"%s\" draiveris ir melnajā sarakstā.\n"
+"\n"
+"Ir saņemtas ziņas par tā sliktu uzvedību pie izlādes.\n"
+"\n"
+"Jaunais \"%s\" draiveris tiks lietots tikai pie nākamās ielādes."
+
+#: harddrake/sound.pm:287
+#, fuzzy, c-format
+msgid "No open source driver"
+msgstr "Nav zināmu draiveru"
+
+#: harddrake/sound.pm:288
+#, fuzzy, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Nav zināms alternatīvs OSS/ALSA draiveris priekš Jūsu skaņu kartes (%s) kura "
+"patreiz izmanto \"%s\""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Nav zināmu draiveru"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Nav zināmu draiveru jūsu skaņu kartei (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Nezināms draiveris"
+
+#: harddrake/sound.pm:297
+#, fuzzy, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Nav zināmu draiveru jūsu skaņu kartei (%s)"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automātiska noteikšana"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Nezināma|vispārēja"
+
+#: harddrake/v4l.pm:130
+#, fuzzy, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Nezināms|CPH05X (bt878) [daudz pārdevēju]"
+
+#: harddrake/v4l.pm:131
+#, fuzzy, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Nezināms|CPH06X (bt878) [daudz pārdevēju]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Priekš vairuma mūsdienu TV kartēm GNU/Linux bttv modulis automātiski nosaka "
+"parametrus.\n"
+"Ja Jūsu karte tiek noteikta nepareizi, Jūs varat norādīt pareizos uztvērēja "
+"un kartes tipus šeit. Vienkārši izvēlieties kartes parametrus, ja "
+"nepieciešams"
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kartes modelis:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Uztvērēja tips:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Labi"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Jā"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nē"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Izvēlieties failu"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Pievienot"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Mainīt"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Noņemt"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Beigt"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Atpakaļ"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Slikta izvēle, pamēģiniet vēlreiz\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Jūsu izvēle? (noklusēti %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Ieraksti, kas Jums būs jāaizpilda:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Jūsu izvēle? (0/1, noklusēti %s) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Poga `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Vai vēlaties uzklikšķināt uz šīs pogas?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Jūsu izvēle? (noklusēti `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " ievadiet `void' priekš tukša ieraksta"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Ir daudzas lietas, no kurām izvēlēties (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Lūdzu izvēlieties pirmo skaitli no intervāla 1-10, kuru vēlaties rediģēt,\n"
+"vai arī vienkārši nospiediet Enter lai turpinātu.\n"
+"Jūsu izvēle?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Ievērojiet, uzraksts mainījies:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, fuzzy, c-format
+msgid "Re-submit"
+msgstr "Atkārtoti nosūtīt"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andora"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Apvienotie Arābu Emirāti"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistāna"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigva un Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angilja"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albānija"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armēnija"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Holandes Antiļas"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktīda"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentīna"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikāņu Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austrija"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Austrālija"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaidžāna"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnija Hercogovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbadosa"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladeša"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Beļģija"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgārija"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahreina"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benina"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermundu salas"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Bruneja"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolīvija"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazīlija"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamu salas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butāna"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet Island"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botsvāna"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Baltkrievija"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Beliza"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanāda"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosu salas"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr ""
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centrāl Āfrikas republika"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Šveice"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Kotdivuāra"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kuka salas"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Čīle"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerūna"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Ķīna"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolumbija"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kostarika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbija & Melnkalne"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kabovarde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Ziemsvētku sala"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kipra"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Čehijas Republika"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Vācija"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Džibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Dānija"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikas Republika"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alžīrija"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvadora"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Igaunija"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Ēģipte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Rietumsahāra"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritreja"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spānija"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopija"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Somija"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fidži"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Folklendu salas"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronēzija"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Farēru salas"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Francija"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabona"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Apvienotā Karaliste"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenāda"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Gruzija"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Franču Gviāna"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltārs"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grenlande"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambija"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gvineja"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gvadelupa"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatoriālā Gvineja"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Grieķija"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gvatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guama"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gvineja-Bisava"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gajana"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Honkonga"
+
+#: lang.pm:302
+#, fuzzy, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Herda sala un Makdonalda salas"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondurasa"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Horvātija"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungārija"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonēzija"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Īrija"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Izraēla"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indija"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britu Indijas okeāna teritorija"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irāka"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Irāna"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islande"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itālija"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordāna"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japāna"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenija"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgīzija"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kombodža"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoru salas"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Ziemeļkoreja"
+
+#: lang.pm:326 timezone.pm:206
+#, fuzzy, c-format
+msgid "Korea"
+msgstr "Vairāk"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuveita"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kaimanu salas"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazahstāna"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laosa"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Lībija"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Sentlūsija"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Lihtenšteina"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Šrilanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Libērija"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lietuva"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luksemburga"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvija"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Lībija"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Maroka"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldāvija"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskāra"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Māršala salas"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Maķedonija"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mjanma"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolija"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Zemeļmarianas salas"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinika"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Maurīcija"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrata"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Maurīcija"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivu salas"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malāvi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Meksika"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaizija"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambika"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namībija"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Jaunkaledonija"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Nigērija"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkas sala"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigērija"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragva"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Holande"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norvēģija"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepāla"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Jaunzēlande"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Omāna"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Franču Polinēzija"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Jaungvineja"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipīnas"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistāna"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polija"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr ""
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitkerna"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Riko"
+
+#: lang.pm:384
+#, fuzzy, c-format
+msgid "Palestine"
+msgstr "Ceļa izvēle"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugāle"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragvaja"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Katara"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reinjona"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumānija"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Krievija"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Ruanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saūda Arābija"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Zālamana salas"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seišeļu salas"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudāna"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Zviedrija"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapūra"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Svētās Helēnas sala"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovēnija"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbāra un Jana Mejena salas"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovākija"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sjerra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Sanmarino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegāla"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somālija"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinama"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Santome un Prinsipi"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Salvadora"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sīrija"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Svazilenda"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Tērksa un Kaikosa salas"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Čada"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franču dienvidu teritorijas"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Taizeme"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadžikistāna"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau salas"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Austrum Timūra"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistāna"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisija"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turcija"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidada un Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taivāna"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzānija"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Amerikas Savienoto Valstu mazās pieguļošās salas"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "A.S.V."
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugvaja"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistāna"
+
+#: lang.pm:434
+#, fuzzy, c-format
+msgid "Vatican"
+msgstr "Latviešu"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venecuēla"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Virdžīnu salas (Britu)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virdžīnu salas (ASV)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vjetnama"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, fuzzy, c-format
+msgid "Wallis and Futuna"
+msgstr "Volisa un Futunas salas"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemena"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Majota"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Dienvidāfrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambija"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabve"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Jūs sveic %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, fuzzy, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Vispirms noņemiet loģiskos sējumus\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Brīdinājums\n"
+"\n"
+"Lūdzu rūpīgi izlasiet zemāk esošos nosacījumus. Ja jūs nepiekrītat kādai\n"
+"to daļai, jūs nedrīkstat instalēt no šī CD. Nospiediet 'Noraidīt', lai\n"
+"turpinātu instalēšanu, neizmantojot šo datu nesēju.\n"
+"\n"
+"\n"
+"Daži šajā CD datu nesējā esošie komponenti nav pakļauti GPL licencei vai\n"
+"līdzīgiem līgumiem. Katra šāda komponenta izmantošanu nosaka atsevišķas\n"
+"licences noteikumi un nosacījumi. Lūdzu rūpīgi to izlasiet un ievērojiet\n"
+"tās nosacījumus, pirms izmantot vai izplatīt uzskaitītos komponentus.\n"
+"Šīs licences pārsvarā aizliegs jums pārsūtīt, dublēt (izņemot rezerves\n"
+"kopēšanas nolūkus), izplatīt tālāk, reversi uzbūvēt, de-asamblēt,\n"
+"de-kompilēt vai modificēt šo kompomentu. Jebkurš šīs vienošanās pārkāpums\n"
+"jums automātiski atņems tiesības, ko piešķīrusi attiecīgā licence. Izņemot\n"
+"gadījumus, kad konkrētas licences nosacījumi jums dod šādas tiesības, jūs\n"
+"parasti nedrīkstat instalēt šādu programmu uz vairāk, kā vienas sistēmas\n"
+"vai pielāgot to izmantošanai tīklā. Ja šaubaties, lūdzu sazinieties ar\n"
+"komponenta izplatītāju vai redaktoru.\n"
+"Šādu komponentu, tajā skaitā arī iekļautās dokumentācijas, nodošana\n"
+"trešajām personām vai kopēšana parasti ir aizliegta.\n"
+"\n"
+"\n"
+"Visas nākamajā CD datu nesējā iekļauto komponentu tiesības pieder to\n"
+"attiecīgajiem autoriem, un tās aizsargā intelektuālā īpašuma un\n"
+"autortiesību likumi, kas attiecas uz programnodrošinājumu.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Apsveicam, instalēšana ir pabeigta.\n"
+"Izņemiet sāknēšanas datu nesēju un nospiediet ievadu, lai pārstartētu "
+"datoru.\n"
+"\n"
+"\n"
+"Lai saņemtu informāciju par labojumiem, kas ir pieejami šim Mandriva Linux\n"
+"izdevumam, skatiet Errata failu, kas atrodams\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informācija par jūsu sistēmas konfigurēšanu ir pieejama Oficiālās\n"
+"Mandriva Linux rokasgrāmatas pēcinstalēšanas nodaļā."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "OKI winprinter konfigurācija"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Manuāla konfigurēšana"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Šeit Jūs varat konfigurēt katru moduļa parametru."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Atrasti %s interfeisi"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Vai ir vēl kāds?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Vai datorā ir kāds %s interfeiss?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Apskatīt dzelžu informāciju"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Instalēju draiveri %s kartei %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Instalēju draiveri %s kartei %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Instalēju draiveri %s kartei %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Instalēju draiveri %s kartei %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Instalēju draiveri %s kartei %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Tagad jūs varat norādīt moduļa %s opcijas.\n"
+"Atcerieties, ka visas adreses jāievada ar 0x prefiksu, piemēram, '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Tagad jūs varat norādīt moduļa %s opcijas.\n"
+"Opciju formāts ir ``nosaukums=vērtība nosaukums2=vērtība2 ...''.\n"
+"Piemēram, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Moduļa opcijas:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Kuru %s draiveri pamēģināt?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Dažos gadījumos %s draiverim ir jānorāda papildus informācija, lai tas\n"
+"darbotos pareizi, tomēr parasti tā nav vajadzīga. Vai vēlaties norādīt\n"
+"papildus parametrus, vai arī ļausit draiverim aptaujāt datoru un savākt\n"
+"nepieciešamo informāciju? Retos gadījumos aptaujāšana var uzkārt datoru,\n"
+"taču tas neradīs nekādus bojājumus."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Aptaujāt"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Norādīt opcijas"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Moduļa %s ielāde bija neveiksmīga.\n"
+"Vai vēlaties pamēģināt ar citiem parametriem?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "montēšana neizdevās: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Šai platformai paplašinātā sadaļa nav pieejama"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Jūsu diska sadaļu tabulā ir caurums, bet es to nevaru izmantot.\n"
+"Vienīgais risinājums ir pārvietot primāras sadaļas tā, lai caurums atrastos "
+"blakus paplašinātajām sadaļām."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Kļūda, nolasot failu %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Atjaunošana no faila %s neizdevās: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Slikts rezerves kopijas fails"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Kļūda, ierakstot failā %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Nevar pievienot sadaļu _formatētam_ RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Nepietiek diska sadaļu RAID līmenim %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Izvēlieties skeneri"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr ""
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr ""
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "(pie šī datora)"
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "(pie šī datora)"
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Drošības trauksmes:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr ""
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr ""
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Bez paroles"
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr ""
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr ""
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr ""
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr ""
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr ""
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr ""
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr ""
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr ""
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr ""
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Lietotāji"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr ""
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "(pie šī datora)"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Parasts modēma savienojums"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Servisu konfigurēšana"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr ""
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Bez paroles"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Šī parole ir pārāk vienkārša"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Bez paroles"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "Kerneļa ielādes taimauts"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Lietotāji"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "atklāts uz porta %s"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr ""
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr ""
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr ""
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr ""
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr ""
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr ""
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Sveiciens hakeriem"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Vājš"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standarta"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Augsts"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Augstāk"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoisks"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Šo līmeni ir jāizmanto uzmanīgi. Tas padara jūsu sistēmu vieglāk\n"
+"izmantojamu, taču ļoti nedrošu: to nedrīkst izmantot datoram, kas ir\n"
+"savienots ar citiem datoriem vai Internetam. Netiek prasītas paroles."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Tagad tiek izmantota parole, taču izmantot datoru tīklā vēl aizvien\n"
+"nav ieteicams."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Šis ir parasts drošības līmenis, kas ir ieteicams datoram, kas tiks\n"
+"izmantots, lai savienotos ar Internetu kā klients."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Ar šo drošības līmeni sistēmu var sākt izmantot kā serveri.\n"
+"Drošība tagad ir pietiekoši stipra, lai izmantotu sistēmu kā serveri, kas\n"
+"apkalpo savienojumus no daudziem klientiem. Piezīme: ja jūsu dators "
+"darbojas\n"
+"tikai kā klients Internetā, Jums vajadzētu izvēlēties mazāku drošības līmeni."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Šis ir līdzīgs iepriekšējam līmenim, bet sistēma ir pilnībā slēgta un "
+"drošības iespējas ir pašas maksimālākās."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Drošība"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec pamata opcijas"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Izvēlieties vēlamo drošības līmeni?"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Drošības līmenis"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Lietot libsafe priekš serveriem"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Bibliotēka, kas aizsargā pret bufera pārpildīšanas un rindas formāta "
+"uzbrukumiem."
+
+#: security/level.pm:65
+#, fuzzy, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Drošības administrators (lietotāju vai pasta)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Palaist ALSA (Advanced Linux Sound Architecture) skaņu sistēmu"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron ir periodisku komandu plānotājs."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd paredzēts baterijas stāvokļa novērošanai un grāmatošanai ar syslog.\n"
+"To var izmantot arī datora izslēgšanai, kad baterija ir izlādēta."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Palaiž komandas, kas ir ieplānotas noteiktā laikā, izmantojot at komandu,\n"
+"kā arī palaiž komadu paketes, kad vidējā sistēmas noslodze ir pietiekoši\n"
+"zema."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron ir parasta UNIX programma, kas palaiž lietotāju norādītās programmas\n"
+"periodiski ieplānotos laikos. vixie cron piedāvā virkni papildus\n"
+"iespēju salīdzinot ar UNIX cron, tajā skaitā arī labāku drošību un daudz\n"
+"izvērtstākas konfigurēšanas iespējas."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM nodrošina peles atbalstu dažādām teksta režīma Linux programmām,\n"
+"piemēram, Midnight Commander. Tas arī ļauj no konsoles ar peli veikt\n"
+"izgriezt-un-iespraust operācijas, kā arī piedāvā izlecošo izvēlņu\n"
+"atbalstu konsolei."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake veic aparatūras aptauju, un opcionāli konfigurē\n"
+"jauno/izmainīto aparatūru."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache ir Vispasaules tīmekļa (WWW) serveris. Tas tiek izmantots HTML\n"
+"failu un CGI izplatīšanai."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Interneta superservera demons (parasti saukts par inetd) pēc vajadzības\n"
+"startē dažādus interneta servisus. Tas it atbildīgs par daudzu servisu\n"
+"startēšanu, tajā skaitā telnet, ftp, rsh un rlogin. inetd atslēgšana\n"
+"atslēdz arī visus servisus, par kuriem tas atbild."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Šī pakotne ielādē izvēlēto tastatūras karti, kas norādīta failā\n"
+"/etc/sysconfig/keyboard. To var izvēlēties, izmantojot programmu kbdconfig.\n"
+"Vairumā gadījumu šo pakotni ir jāatstāj izvēlētu."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automātiska dzelžu noteikšana un konfigurēšana sāknēšanas laikā."
+
+#: services.pm:48
+#, fuzzy, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf dažreiz piemēros dažādus uzdevumus \n"
+"ielādes laikā, lai uzturētu sistēmas konfigurāciju."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd ir drukas demons, kas ir nepieciešams lpr pareizai darbībai. Tas ir\n"
+"serveris, kas nosūta drukas uzdevumus printeri(e)m."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux virtuālais serveris, lietojams, lai uzbūvētu augstas veiktspējas\n"
+"un augstas pieejamības serveri."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) ir domēnu vārdu serveris (DNS), kas tiek izmantots hostu "
+"vārdiem atbilstošo IP adrešu noskaidrošanai."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Mounts un unmounts ir Tīkla Failu sistēmas (NFS), SMB (Lan\n"
+"Manager/Windows) un NCP (NetWare) montēšanas punkti."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktivizē/Deaktivizē visus tīkla interfeisus, kas ir konfigurēti\n"
+"startēšanai sistēmas sāknēšanas laikā."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS ir populārs protokols failu koplietošanai TCP/IP tīklos.\n"
+"Šis serviss nodrošina NFS servera funkcionalitāti, un to var konfigurēt\n"
+"ar faila /etc/exports palīdzību."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS ir populārs protokols failu koplietošanai TCP/IP tīklos.\n"
+"Šis serviss nodrošina NFS failu aizslēgšanas funkcionalitāti."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Atbalsta OKI 4w un savietojamus winprinterus."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA atbalsts parasti ir paredzēts, piemēram, tīkla karšu un modēmu\n"
+"uzturēšanai pārnēsājamos datoros. Tas netiks startēts, ja nav konfigurēts,\n"
+"tāpēc ir droši to instalēt datoros, kam tas nav nepieciešams."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"portmapper apkalpo RPC savienojumus, ko izmanto citi protokoli,\n"
+"piemēram, NFS un NIS. portmap serveri ir jāizmanto datoros, kas\n"
+"darbojas kā RPC protokolus izmantojošu protokolu serveri."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix ir Pasta transporta aģents, un tā ir programma, kas pārvieto pastu "
+"no viena datora uz citu."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Saglabā un atjauno sistēmas entropijas krātuvi, lai ģenerētu\n"
+"kvalitatīvākus gadījumskaitļus."
+
+#: services.pm:76
+#, fuzzy, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Piešķirt tiešās ierīces bloku ierīcēm (tādām, kā cietā\n"
+"diska sadaļas), lai lietotu tādās aplikācijās, kā Oracle"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed demons ļauj automātiski atjaunināt IP maršrutizatora tabulu,\n"
+"izmantojot RIP protokolu. Kaut gan RIP tiek plaši izmantots nelielos\n"
+"tīklos, sarežģītākiem tīkliem ir nepieciešami sarežģītāki maršrutizēšanas\n"
+"protokoli."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat protokols ļauj tīkla lietotājiem saņemt veiktspējas\n"
+"informāciju par jebkuru šī tīkla datoru."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokols rusers tīkla lietotājiem ļauj noskaidrot, kuru lietotāju\n"
+"sesijas ir atvērtas citos atbildošajos datoros."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokols rwho attāliem lietotājiem ļauj saņemt visu atvērto lietotāju\n"
+"sesiju sarakstu no datora, kurā darbojas rwho demons (līdzīgi finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Palaist skaņusistēmu uz Jūsu datora"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog ir mehānisms, ko daudzi demoni izmanto ziņojumu grāmatošanai\n"
+"daudzos sistēmas žurnālu failos. Ir gudra doma vienmēr darbināt syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Ielādē draiverus jūsu usb ierīcēm."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Startē X fontu serveri (obligāti, lai izpildītu Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Drukāšana"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internets"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Failu koplietošana"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistēma"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Attāla administrēšana"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Datubāzu serveris"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servisi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Izvēlēties, kurus servisus vajag automātiski startēt ielādes laikā"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servisi: %d aktivizēti no %d reģistrētiem"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "darbojas"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "apturēts"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servisi un dēmoni"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Nav papildus informācijas\n"
+"par šo servisu."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Sāknēšanas laikā"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Startēt"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Apturēt"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Tastatūra"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Pievienot lietotāju"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Āfrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Āzija"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Eiropa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Ziemeļamerika"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Maķedonija"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Dienvidamerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Honkonga"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Krievijas Federācija"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Dienvidslāvija"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Vai tas ir pareizi?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "Neviens fails nav atrasts"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Saglabāt piesaistnes _direktorijā:"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Nosaukums '/' var būt tikai direktorija, ne atslēga"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Nav direktorija"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Nav tāda faila"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Izvērst koku"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Sakļaut koku"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Sakārtots vienā sarakstā vai pa grupām"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s nav instalēts\n"
+"Klikšķiniet \"Nākamis\", lai instalētu, vai \"Atlikt\" lai beigtu"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalēšana neizdevās"
+
+#~ msgid "Icon"
+#~ msgstr "Ikona"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Uztveršanas buferu skaits:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "Uztveršanas buferu skaits mmap-ētai uztveršanai"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL uzstādījums:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radio atbalsts:"
+
+#~ msgid "enable radio support"
+#~ msgstr "ieslēgt radio atbalstu"
diff --git a/perl-install/share/po/mk.po b/perl-install/share/po/mk.po
new file mode 100644
index 000000000..f46849f19
--- /dev/null
+++ b/perl-install/share/po/mk.po
@@ -0,0 +1,6713 @@
+# translation of DrakX-mk.po to Macedonian
+# translation of proba.po to Macedonian
+# translation of DrakX.po to Macedonian
+# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc.
+# Danko Ilik <danko@mindless.com>, 2002,2003.
+# Vladimir Stefanov <vladoboss@mt.net.mk>, 2003.
+# Зоран Димовски <zoki@email.com>, 2003.
+# Danko Ilik <danko@on.net.mk>, 2003.
+# Зоран Димовски <decata@mt.net.mk>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX-mk\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-11-03 18:47+0100\n"
+"Last-Translator: Зоран Димовски <decata@mt.net.mk>\n"
+"Language-Team: Macedonian <mkde-l10n@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Ве молиме почекајте"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Инсталацијата на подигачот е во тек"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Инсталирањето на подигачот не успеа. Се појави следнава грешка:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Можеби треба да го промените Open Firmware уредот за подигање,\n"
+" за да го овозможите подигачот. Ако не го видите екранчето на подигачот\n"
+" по рестартирање на компјутерот, при подигање држете ги копчињата\n"
+" Command-Option-O-F и внесете:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Потоа внесете: shut-down\n"
+"При следното подигање би требало да го видите екранчето за подигање."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Одлучивте да инсталирате подигач на партиција.\n"
+"Ова насочува дека веќе имате подигач (пр. System Commander) на хардискот што "
+"го подигате.\n"
+"\n"
+"На кој диск подигате?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Првиот сектор на дискот (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Првиот сектор на root партицијата"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "На дискета"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Прескокни"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Инсталација на LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Каде сакате да го инсталирате подигачот?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Конфигурација на стилот на подигање"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Главни опции на подигачот"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Подигач"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Подигач кој ќе се користи"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Уред за подигачот"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Пауза пред подигање на првата слика"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Овозможи ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Овозможи ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Овозможи ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Лозинка"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Лозинките не се совпаѓаат"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Ве молиме обидете се повторно"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Не може да користите криптиран фајлсистем за точката на монтирање %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Лозинка (повторно)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Забранети опции од командна линија"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "забрани"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Опцијата \"Забранети опции од командна линија\" е бесполезна без лозинка"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Чисти го /tmp при секое подигање"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Точната големина на RAM, ако е потребно (пронајдени се %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Количество RAM во MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init порака"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware закаснување"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Пауза пред подигање на кернел"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Овозможи подигање од CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Овозможи OF подигање?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Стандарден ОС?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Слика"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Продолжи"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Видео режим"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Мрежен профил"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Ознака"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Стандардно"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Без видео"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Не се дозволени празни ознаки"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Мора да наведете слика на кернелот"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Мора да наведете root партиција"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Оваа ознака е веќе искористена"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Каков тип на внес сакате да додадете?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Линукс"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Друг ОС (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Друг ОС (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Друг ОС (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Ова се досегашните внесови на Вашето мени за подигање.\n"
+"Можете да додадете уште или да ги промените постоечките."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "пристап до X програми"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "пристап до rpm алатки"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "дозволи \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "пристап до административни датотеки"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "пристап до мрежни алатки"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "пристап до алатки за компајлирање"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(веќе е додаден %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Ве молиме внесете корисничко име"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Корисничкото име мора да се состои само од мали латински букви, цифри, `-' и "
+"`_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Корисничкото име е премногу долго"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Ова корисничко име веќе е додадено"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Кориснички ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Групна ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Опцијата %s мора да е број!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Додајте корисник"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Внесете корисник\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Завршено"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Прифати корисник"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Вистинско име"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Име за најава"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Школка"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Автоматска најава"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Можам да го подесам вашиот компјутер автоматски да се најави еден корисник."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Дали сакате да ja користите оваа опција?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Изберете го почетниот корисник:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Изберете во која работна околина да се вклучи:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Лиценцен договор"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Излез"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Серија:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Прифати"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Одбиј"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Ве молиме изберете јазик кој ќе се користи."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Избор на јазик"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux може да подржи повеќе јазици. Изберете\n"
+"ѓи јазиците кои сакате да ѓи инсталирате. Тие ќе бидат\n"
+"достапни кога инсталацијата ќе заврши и кога ќе го\n"
+"рестартирате системот."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Сите јазици"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Држава / Регион"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Ве молам изберете ја вашата држава."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Ова е целосна листа на достапни држави"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Други држави"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Напредно"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Влезен метод:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ниедно"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Без споделување (sharing)"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Дозволи на сите корисници"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "По избор"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Дали сакате да дозволите корисниците да споделуваат некои од своите \n"
+"директориуми? Тоа ќе им дозволи едноставно да притиснат на \"Share\" во "
+"konqueror\n"
+"и nautilus.\n"
+"\n"
+"\"По избор\" поодделни ѓи третира корисниците.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: традиционалниот датотечен систем за споделување на Unix, со мала "
+"подршка на Mac и Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: датотечен систем користен од Windows, Mac OS X и многу модерни Linux "
+"системи."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"Можете да експортирате со NFS или со SMB. Изберете што сакате да користите."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Вклучи userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Затвори"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Споделување по корисник ја користи групата \"fileshare\". \n"
+"Можете да го користите userdrake за да додадете корисник во оваа група."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Одлогирајте се и тогаш натиснете Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Часовна зона"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Кој е Вашата временска зона?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Хардверски часовник наместен според GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Хардверски часовник наместен според GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP сервер"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Автоматска синхронизација на време (преку NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Локална датотека"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows Domain"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory со SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory со Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Локална датотека:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows Domain:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory со SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory со Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP за автентикација"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "едноставно"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "автентикација"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Домен"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Сервер"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "База на податоци"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Лозинка за корисникот"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS за автентикација"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS Домен"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS сервер"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"За да ова работи за W2K PDC, веројатно ќе треба Вашиот администратор да "
+"изврши: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"и да го рестартира серверот.\n"
+"Исто така ќе Ви треба име/лозинка на администратор на домен за да ја "
+"придружите машинава на Windows(TM) доменот.\n"
+"Ако в мрежувањето сеуште не е овозможено, Drakx ќе се обиде да се приклучи "
+"на доменот по чекорот на мрежното подесување.\n"
+"Ако од некоја причина подесувањето не успее и автентикацијата на доменот не "
+"работи, извршете 'smbpasswd -j DOMAIN -U USER%%PASSWORD' со Вашиот Windows"
+"(tm) домен, и администраторски корисник/лозинка, по вклучувањето на "
+"компјутерот.\n"
+"Командата 'wbinfo -t' ќе тестира дали вашите тајни за автентикација се добри."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Windows Domain автентикација"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Корисничко име на домен-админ."
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Лозинка на домен-админ."
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Автентикација"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Постави root лозинка"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Режим на автентикација"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Без лозинка"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Оваа лозинка е прекратка (мора да има должина од барем %d знаци)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Неможам да извршам пренос без NIS домеин"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Dobredojdovte vo programata za izbiranje operativen sistem!\n"
+"\n"
+"Izberete operativen sistem od gornata lista ili\n"
+"pochekajte za standardno podiganje.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO со текстуално мени"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "нема доволно простор во /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Не може да инсталирате подигач на %s партиција\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Преинсталирај го подигачот"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d минути"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 минута"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d секунди"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV е протокол кој овозможува локално да монтирате директориум од \n"
+"веб сервер и да го третирате како локален датотечен систем (под\n"
+"претпоставка дека веб серверот е конфигуриран како WebDAV сервер). \n"
+"Ако сакате да додадете WebDAV монтирачки точки, изберете \"Ново\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Ново"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Одмонтирај"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Монтирај"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Точка на монтирање"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Опции"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Грешка"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Внесете го WebDAV серверското URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL-то мора да има префикс http:// или https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Сервер: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Точка на монтирање: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Опции: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Партиционирање"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Прочитајте внимателно!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Ве молиме прво да направите бекап на Вашите податоци"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Излез"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Продолжи"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Ако планирате да го користите aboot, внимавајте да оставите празен простор\n"
+"(2048 сектори се доволно) на почетокот на дискот"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Помош"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Изберете акција"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Имате една голема Microsoft Windows партиција\n"
+"Предлагам прво да ја промените големината на таа партиција\n"
+"(кликнете на неа, а потоа на \"Промени Големина\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Кликнете на партиција"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Детали"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Не се најдени тврди дискови"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Непознат"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Друго"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Празно"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Типови фајлсистеми:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Внимание"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "На оваа партиција не може да и се промени големината"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Прво користи \"Одмонтирај\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Користи ``%s'' наместо тоа"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Тип"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Изберете друга партиција"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Изберете партиција"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Поврати"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Префрлање во нормален режим"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Префрлање во експертски режим"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Потврдување"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Продолжуваме?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Напушти без зачувување"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Напушти без запишување на партициската табела?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Дали сакате да ги зачувате модификациите на /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Морате да го рестартувате компјутерот за модификациите да имаат ефект"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Партицијата %s треба да се форматира.\n"
+"Спротивно, во fstab нема да се запише внесот на точката на монтирање за %s.\n"
+"Откажувате?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Исчисти се"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Авто-алоцирање"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Повеќе"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Информации за дискот"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Сите примарни партиции се искористени"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Повеќе не може да се додадат партиции"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"За да може да имате повеќе партиции, избришете една за да може да создадете "
+"extended партиција"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Зачувај партициска табела"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Врати партициска табела"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Спасувај партициска табела"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Превчитај партициска табела"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Автомонтирање на отстранливи медиуми"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Избор на датотека"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Партициската табела за бекап не е со иста големина\n"
+"Да Продолжиме?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Обид за спасување на партициската табела"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Детални информации"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Големина"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Форматирај"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Додај на RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Додај на LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Избриши"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Отстрани од RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Отстрани од LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Измени RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Користи за loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Креирај"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Создај нова партиција"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Почетен сектор: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Големина во MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Тип на фајлсистем: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Претпочитано: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Име на логичка партиција "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Не можете да креирате нова партиција\n"
+"(затоа што е достигнат максималниот број на примарни партиции).\n"
+"Прво отстранете една примарна партиција, а потоа креирајте extended "
+"партиција."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Отстранување на loopback датотеката?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"По промената на типот на партицијата %s, сите податоци на таа партиција ќе "
+"бидат изгубени"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Промена на тип на партиција"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Кој фајлсистем го сакате?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Префрлање од ext2 на ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Ознака"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Каде сакате да ја монтирате loopback датотеката %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Каде сакате да го монтирате уредот %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Не може да се отпостави точката на монтирање зашто оваа партиција се\n"
+"користи за loopback. Прво отстранете го loopback-от."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Каде сакате да го монтирате %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Менување големина"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Пресметување на граници на FAT фајлсистемот"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "На оваа партиција не може да и се промени големината"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Сите податоци на оваа партиција би требало да се во бекап"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"По промена на големината на партицијата %s, сите податоци на оваа партиција "
+"ќе бидат изгубени"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Изберете ја новата големина"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Нова големина во МБ: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Изберете постоечки RAID на кој да се додаде"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "нов"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Изберете LVM на кој да се додаде"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM име?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Оваа партиција не може да се користи за loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback датотека: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Наведете датотека"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Датотеката веќе се користи од друг loopback, изберете друга"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Датотека веќе постои. Да се користи?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Опции за монтирање"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Разни"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "уред"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "ниво"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "големина на ѓубрето во KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Внимателно: оваа операција е опасна."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Кој тип на партиционирање?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+"Ќе морате да го рестартувате компјутерот пред модификациите да бидат "
+"ефективни"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Партициската табела на дискот %s ќе биде запишана на дискот!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"По форматирањето на партицијата %s, сите податоци на оваа партиција ќе бидат "
+"изгубени"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Проверка на лоши блокови?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Премести ги датотеките на новата партиција"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Скриј датотеки"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Преместување на датотеките на новата партиција"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Копирање на %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Отстранување на %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "партицијата %s сега е позната како %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Уред: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Име на модиумот: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS диск-буква: %s (само претпоставка)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Тип: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Име: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Почеток: сектор %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Големина: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s сектори"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Цилиндер %d до %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Форматирана\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Неформатирана\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Монтирано\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback датотека(и):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Партицијата што прва се подига\n"
+" (за MS-DOS, не за lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Ниво %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Големина на ѓубрето %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-дискови %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback датотека: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Има шанси оваа партиција да е\n"
+"Драјверска партиција. Веројатно треба\n"
+"да ја оставите на мира.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Оваа специјална Bootstrap\n"
+"партиција е за\n"
+"двојно подигање на Вашиот систем.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Само за читање"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Големина: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Геометрија: %s цилиндри, %s глави, %s сектори\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Инфо: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-дискови %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Тип на партициска табела: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "на канал %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Клуч за криптирање на фајлсистемот"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Изберете го клучот за криптирање на фајлсистемот"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Овој криптирачки клуч е преедноставен (мора да има должина од барем %d знаци)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Криптирачките клучеви не се совпаѓаат"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Криптирачки клуч"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Криптирачки клуч (повторно)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Алгоритам за енкрипција"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Промена на тип"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Откажи"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Не може да се најави со корисникот %s (погрешна лозинка?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Потребна е автентикација на домен"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Кое корисничко име"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Друг"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "Внесете го Вашето корисничко име, лозинка и име на домен за пристап."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Корисничко име"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Барај сервери"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Барај нови сервери"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Треба да се инсталира пакетот %s. Дали сакате да го инсталирате?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Инсталирање на пакетот %s"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Неопходниот пакет %s недостига"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Следниве пакети мора да се инсталирани:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Инсталирање на пакетите..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Отстранување на пакетите..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Се случи грешка - не се најдени валидни уреди за на нив да се создаде нов "
+"фајлсистем. Проверете го Вашиот хардвер, за да го отстраните проблемот"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Мора да имате FAT партиција монтирана на /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Форматирање на партицијата %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Создавање и форматирање на датотеката %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Не знам како да го форматирам %s во тип %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s форматирање на %s не успеа"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Циркуларни монтирања %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Монтирање на партицијата %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "монтирањето на партицијата %s во директориум %s не успеа"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Проверка %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "грешка при одмонтирање на %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Вклучување на swap партицијата %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Не може да користите криптиран фајлсистем за точката на монтирање %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Не ги ажурирај инодно временските пристапи на овој фајл ситем\n"
+"(на пр. за побрз пристап на новостите паралелно за да се забрзат серверите "
+"за дискусионите групи)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Може да се монтира само експлицитно (на пр.,\n"
+"опцијата -а нема да предизвика фајл системот да биде монтиран)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Не ги интерпретирај карактерите или специјалните блок уреди на датотечниот "
+"систем."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Не дозволувајте извршивање на ниедни бинарни датотеки на монтираниот\n"
+"фајл ситем. Оваа опција можеби е корисна за сервер чии што фајл системи\n"
+"содржат бинарни датотеки за архитектури поинакви од неговата."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Не дозволувајте битовите на подеси-кориснички-идентификатор или\n"
+"подеси-групен-идентификатор да се применат. (Ова изгледа сигурно, но\n"
+"всушност не е сигурно ако имате инсталирано suidperl(1))"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Монтирањето на системската датотека е само за читање."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Сите I/O од системските датотеки треба да бидат синхрнизирани."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Дупликат точка на монтирање: %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Нема достапна партиција"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Скенирање на партиции за да се најдат точки на монтирање"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Изберете ги точките на монтирање"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Изберете ги партициите за форматирање"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Неуспешна проверка на фајлсистемот %s. Сакате ли да ги поправите грешките? "
+"(внимавајте, може да изгубите податоци)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"Нема доволно swap простор за завршување на инсталацијата; додадете малку"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Мора да имате root-партиција.\n"
+"Затоа, создадете партиција (или изберете веќе постоечка),\n"
+"потоа изберете \"Точка на монтирање\" и поставете ја на \"/\""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Немате swap партиција.\n"
+"\n"
+"Да продолжиме?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Користи празен простор"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Нема доволно слободен простор за алоцирање на нови партиции"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Користи ги постоечките партиции"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Не постои партиција за да може да се користи"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Користи ја Microsoft Windows® партицијата за loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Која партиција сакате да ја користите за Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Избири ги големините"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Root партиција големина во во МБ: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "swap партиција (во МБ): "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Не постои FAT партиција за користење како loopback\n"
+"(или нема доволно преостанат простор)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Користи го празниот простор на Windows партицијата"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Која партиција сакате да ја зголемувате/намалувате?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"FAT зголемувачот не може да се справи со Вашата партиција,\n"
+"зашто се случи следнава грешка: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Пресметување на големината на Microsoft Windows® партицијата"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Вашата Microsoft Windows® партиција е премногу фрагментирана. Рестартирајте "
+"го компјутерот, подигнете го под Microsoft Windows®, вклучете ја алатката "
+"\"defrag\", и потоа повторно подигнете ја инсталациската постапка на Мадрак "
+"Линукс."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ПРЕДУПРЕДУВАЊЕ!\n"
+"\n"
+"\n"
+"Големината на вашата „Microsoft Windows®“ партиција ќе биде променета.\n"
+"\n"
+"\n"
+"Внимавајте: оваа операција е опасна. Најпрво е потребно да извршите„chkdsk "
+"c:“преку командната конзола во „Windows“. Доколку не сте го сториле тоа,"
+"треба да излезете од инсталацијава, и да ја извршите оваа команда"
+"(внимавајте, не е доволно да го извршите графичкиот програм „scandisk“,"
+"бидете сигурни дека користите „chkdsk“ во командната конзола!). Како "
+"опцијаможе да го извршите и „defrag“ и потоа повторно да ја вклучите "
+"инсталацијата.Исто така, пожелно е да направите и резервна копија на вашите "
+"податоци.\n"
+"\n"
+"\n"
+"Кога ќе сте сигурни, притиснете „%s“"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Следно"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Колкава големина да остане за Microsoft Windows® на партиција %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Големина"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Зголемување/намалување на Microsoft Windows® партиција"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT зголемувањето/намалувањето не успеа: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Не постои FAT партиција за зголемување/намалување (или нема доволно "
+"преостанат простор)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Отстрани го Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Избриши и користи го целиот диск"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Имате повеќе од еден хард диск; на кој инсталирате Линукс?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "СИТЕ постоечки партиции и податоци на %s ќе бидат изгубени"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Сопствено партицирање"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Користи fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Сега можете да го партицирате %s.\n"
+"Кога ќе завршите, не заборавајте да зачувате користејќи \"w\""
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Не можам да најдам простор за инсталирање"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX партицирачката самовила ги пронајде следниве решенија:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Партицирањето не успеа: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Не можете да користите JFS за партиции помали од 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Не можете да користите ReiserFS за партиции помали од 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "со /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "сервер"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Не можам да ја прочитам партициската табела на уредот %s, за мене е премногу "
+"расипана:(\n"
+"Можам да се обидам да продолжам, пребришувајќи преку лошите партиции\n"
+"(СИТЕ ПОДАТОЦИ ќе бидат изгубени).\n"
+"Друго решение е да не дозволите DrakX да ја модифицира партициската табела.\n"
+"(грешката е %s)\n"
+"\n"
+"Дали се сложувате да ги изгубите сите партиции?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Точките на монтирање мора да почнуваат со префикс /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Точките на монтирање треба да содржат само алфанумерички карактери"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Веќе постои партиција со точка на монтирање %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Избравте софтверска RAID партиција како root-партиција (/).\n"
+"Ниту еден подигач не може да се справи со ова без /boot партиција.\n"
+"Ве молиме бидете сигурни да додадете /boot партиција"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Не можете да користите LVM логички волумен за точкатата на монтирање %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Избравте LVM логичка партиција root-партиција (/).\n"
+"Подигачот не може да се справи со ова без /boot партиција.\n"
+"Ве молиме бидете сигурни да додадете /boot партиција"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Овој директориум би требало да остане во root-фајлсистемот"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Потребен ви е вистински фајлсистем (ext2/ext3, reiserfs, xfs, или jfs) за "
+"оваа точка на монтирање\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Не може да користите криптиран фајлсистем за точката на монтирање %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Нема доволно слободен простор за авто-алоцирање"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Не прави ништо"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Floppy"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Пакуван"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Диск"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD режачи"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Лента"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP контролери"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Видео картичка"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "ТВ картичка"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Други Мултимедијални уреди"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Звучна картичка"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Веб-камера"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Процесори"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN картички"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Мрежна картичка"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Модем"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Меморија"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Принтер"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Џојстик"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA контролери"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID контролери"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA контролери"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Модел на картичка:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire контролери"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA контролери"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI контролери"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "7USB контролери"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB порти"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus контролери"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Мостови и систем контролери"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Тастатура"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Глушец"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Скенер"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Непознато/Други"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu #"
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Почекајте... Примена на конфигурацијата"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Нема алтернативен драјвер"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Не постои познат OSS/ALSA алтернативен драјвер за Вашата звучна картичка (%"
+"s) која моментално го користи \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Конфигурација на звук"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Овде може да изберете алтернативен драјвер (или OSS или ALSA) за Вашата "
+"звучна картичка (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Вашата картичка моментално го користи драјверот %s\"%s\" (подразбираниот "
+"драјвер за Вашата картичка е \"%s\")"
+
+#: harddrake/sound.pm:248
+#, fuzzy, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) беше првото звучно API. Тоа е независно од "
+"оперативниот систем (достапно е на повеќето јуникси), но е многу едноставно "
+"и ограничено.\n"
+"Дополнително, OSS драјверите прават се од почеток.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) е модуларизирана архитектура која "
+"поддржува голем број ISA, USB и PCI картички.\n"
+"\n"
+"Исто така, нуди и \"повисоко\" API од OSS.\n"
+"\n"
+"За да користите ALSA, можете да изберете помеѓу:\n"
+"- старото API компатибилно со OSS - новото ALSA API кое нуди многу напредни "
+"можности, но бара користење на ALSA библиотеката.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Драјвер:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Решавање Проблеми"
+
+#: harddrake/sound.pm:279
+#, fuzzy, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Стариот драјвер \"%s\" е во црната листа.\n"
+"\n"
+"Има извештаи дека го oops-ува крнелот при исклучување.\n"
+"\n"
+"Новио драјвер \"%s\" ќе се употреби на наредното подигање."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Нема познат драјвер со отворен код"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Нема бесплатен драјвер за вашата звучка картичка (%s), но има платен драјвер "
+"на \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Нема познат драјвер"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Нема познат драјвер за Вашата звучна (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Непознат драјвер"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Грешка: \"%s\" драјверот за вашата звучна картичка не во листата"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Отстранување на проблемот за звукот"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Класичниот тестер за грешки во звукот е за извршивање на следниве команди:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" ќе ви каже кој драјвер стандардно го "
+"користи\n"
+"вашата картичка\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" ќе ви каже кој драјвер моментално "
+"го\n"
+"користи вашата картичка\n"
+"\n"
+"- \"/sbin/lsmod\" ќе ви овозможи да видите дали модулот (драјверот) е\n"
+"вчитан или не\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" и \"/sbin/chkconfig --list alsa\" ќе ви "
+"каже\n"
+"дали звучните и alsa сервисите се конфигурирани да се извршуваат на\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" ќе ви каже дали јачината на звукот е на нула или не\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" ќе ви каже кој програм ја користи звучната "
+"картичка.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Дозволи ми да изберам било кој уред"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Избирање на произволен драјвер"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Ако навистина знаете кој е вистинскиот драјвер за вашата картичка\n"
+"можете да изберете еден од горната листа.\n"
+"\n"
+"Тековниот драјвер за вашата \"%s\" звучна картичка е \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Авто-детекција"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Непознато|Општо"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Непознато|CPH05X (bt878) [многу производители]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Непознато|CPH06X (bt878) [многу производители]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"За повеќето современи ТВ-картички, модулот bttv од GNU/Linux кернелот "
+"автоматски ги детектира вистинските параметри.\n"
+"Ако Вашата картичка не е добро детектирана, овде можете рачно да ги "
+"наместите тјунерот и типот на картичката. Едноставно изберете ги параметрите "
+"за Вашата картичка ако тоа е потребно."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Модел на картичка:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Тип на тјунер:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Во ред"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Да"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Не"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Изберете датотека"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Додај"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Промени"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Отстрани"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Заврши"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Претходно"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Лош избор, обидете се повторно\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Вашиот избор? (%s е стандардно)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Ставки што мора да ги пополните:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Вашиот избор? (0/1, \"%s\" е стандарден)"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Копче `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Дали сакате да го притиснете ова копче?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Вашиот избор? ('%s'%s е стандарден)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " внесете `void' за void (празна) ставка"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Постојат многу работи за избирање од (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Изберете го првиот број од рангот од 10, кој сакате да го уредите,\n"
+"или едноставно притиснете Ентер за понатаму.\n"
+"Вашиот избор?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Забележете дека се промени:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Пре-прати"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Андора"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Обединете Арапски Емирати"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Авганистански"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Антигва и Барбуда"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Ангуила"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Албанија"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Ерменија"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Холандски Антили"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Ангола"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Антартик"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Аргентина"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Американска Самоа"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Австрија"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Австралија"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Аруба"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Азербејџан"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Босна и Херцеговина"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Барбодас"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Бангладеш"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Белгија"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Буркима фасо"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Бугарија"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Бахраин"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Бурунди"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Бенин"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Бермуди"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Брунеи Дарусалам"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Боливија"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Бразил"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Бахами"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Бутан"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Боувет остров"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Боцвана"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Белорусија"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Белице"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Канада"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Кокосови (Килингови) Острови"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Конго (Киншаса)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Централно Афричка Република"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Конго (Бразавил)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Швајцарија"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Островите Кук"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Чиле"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Камерун"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Кина"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Колумбија"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Костарика"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Србија и Црнагора"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Куба"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Божиќни Острови"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Кипар"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Чешка Република"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Германија"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Џуботи"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Данска"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Доминика"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Доминиканска Република"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Алжир"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Еквадор"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Естонија"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Египет"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Западна Сахара"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Еритреа"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Шпанија"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Етиопија"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Финска"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Фуџи"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Фолкленд Острови"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Микронезија"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Фарски Острови"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Франција"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Габон"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Велика Британија"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Гренада"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Џорџија"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Француска Гвајана"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Гана"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Гибралтар"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Гренланд"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Гамбија"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Гвинеја"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Гвадалупе"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Екваторска Гвинеја"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Грција"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Северна Џорџија"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Гватемала"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Гуам"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Гвинеја-Бисао"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Гвајана"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Хонг Конг SAR (Кина)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "МекДоналд Острови"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Хондурас"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Хрватска"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Хаити"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Унгарија"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Идонезија"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ирска"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Израел"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Индија"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Британска територија во Индискиот Океан"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ирак"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Иран"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Исланд"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Италија"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Јамајка"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Јордан"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Јапонија"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Кенија"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Киргистан"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Камбоџа"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Кирибати"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Коморос"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Свети Китс и Невис"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Северна Кореа"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Кореа"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Кувајт"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Кајмански Острови"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Казахстан"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Лаос"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Либан"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Света Луција"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Лихтенштајн"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Шри Ланка"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Либерија"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Лесото"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Литванија"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Луксембург"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Латвија"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Либија"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Мароко"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Монако"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Молдавија"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Магадаскар"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Маршалски Острови"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Македонија"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Мали"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Мјанмар"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Монголија"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Западно Маријански Острови"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Мартиник"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Мауританија"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Монсерат"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Малта"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Маурициус"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Малдиви"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Малави"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Мексико"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Малезија"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Мозамбик"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Намбиа"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Нова Каледонија"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Нигер"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Норфолк Остров"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Нигериа"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Никарагва"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Холандија"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Норвешка"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Непал"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Науру"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Ниуе"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Нов Зеланд"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Оман"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Панама"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Перу"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Француска Полинезија"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Папуа Нова Гвинеја"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Филипини"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Пакистан"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Полска"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Свети Петар и Микелон"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Питкаирн"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Порто Рико"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Палестина"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Португалија"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Парагвај"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Палау"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Катар"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Ресоединување"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Романија"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Русија"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Руанда"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Саудиска Арабија"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Соломонски Острови"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Сејшели"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Судан"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Шведска"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Сингапур"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Света Елена"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Словенија"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Свалбандски и Јан Мајенски Острови"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Словачка"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Сиера Леоне"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Сан Марино"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Сенегал"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Сомалија"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Суринам"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Сао Томе и Принципе"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Ел Салвадор"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Сирија"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Свазиленд"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Туркски и Каикос острови"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Чад"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Југоисточни Француски Територии"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Того"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Тајланд"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Таџикистан"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Толекау"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Источен Тимор"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Туркменистан"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Тунис"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Тонга"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Турција"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Тринидад и Тобаго"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Тувалу"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Тајван"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Танзанија"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Украина"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Уганда"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Помалите острови на Соединетите Држави"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "САД"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Уругвај"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Узбекистан"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Ватикан"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Свети Винсент"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Венецуела"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Девствени Острови"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Виетнам"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Вануту"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Валис и Фатуна"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Самоа"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Јемен"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Мајот"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Јужна Африка"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Замбија"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Зимбабве"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Добредојдовте во %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Најпрво отстранете ги логичките партиции\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Вовед\n"
+"\n"
+"Оперативниот систем и различните компоненти достапни во Мандрива Линукс\n"
+"дистрибуцијата, отсега натаму, ќе се викаат \"софтверски производи\". \n"
+"Софтверските прозиводи ги вклучуваат, но не се ограничени само на, \n"
+"множеството програми, методи, правила и документација во врска со \n"
+"оперативниот систем и различните компоненти на Мандрива Линукс\n"
+"дистрибуцијата.\n"
+"\n"
+"\n"
+"1. Лиценцен договор\n"
+"\n"
+"Внимателно прочитајте го овој документ. Овој документ е лиценцен договор\n"
+"меѓу Вас и Mandriva S.A. кој се однесува на софтверските производи.\n"
+"Со инсталирање, дуплицирање или користење на софтверските производи\n"
+"на било кој начин, Вие експлицитно прифаќате и целосно се согласувате со\n"
+"термините и условите на оваа лиценца. Ако не се согласувате со било кој \n"
+"дел од лиценцата, не Ви е дозволено да ги инсталирате, дуплицирате или \n"
+"користите софтверските продукти. Секој обид да ги инсталирате, \n"
+"дуплицирате или користите софтверските производи на начин кој не е\n"
+"во согласност со термините и условите на оваа лиценца е неважечки (void)\n"
+"и ги терминира Вашите права под оваа лиценца. По терминирање на \n"
+"лиценцата, морате веднаш да ги уништите сите копии на софтверските \n"
+"производи.\n"
+"\n"
+"\n"
+"2. Ограничена гаранција\n"
+"\n"
+"Софтверските производи и придружната документација се дадени \n"
+"\"како што се\" (\"as is\"), без никаква гаранција, до степен можен со \n"
+"закон. Mandriva S.A. нема во никој случај, до степен можен со закон, \n"
+"да одговара за било какви специјални, инцидентни, директни и индиректни\n"
+"штети (вклучувајќи, и неограничувајќи се, на губиток на бизнис, прекин на\n"
+"бизнис, финансиски губиток, легални такси и казни последеици на судска\n"
+"одлука, или било каква друга консеквентна штета) кои потекнуваат од \n"
+"користење или неспособност за користење на софтверските производи, \n"
+"дури и ако Mandriva S.A. бил советуван за можноста од или случувањето\n"
+"на такви штети.\n"
+"\n"
+"ОГРАНИЧЕНА ОДГОВОРНОСТ ПОВРЗАНА СО ПОСЕДУВАЊЕТО ИЛИ \n"
+"КОРИСТЕЊЕТО СОФТВЕР ЗАБРАНЕТ ВО НЕКОИ ЗЕМЈИ\n"
+"\n"
+"До степен дозволн со закон, Mandriva S.A. или неговите дистрибутери\n"
+"нема во никој случај да бидат одговорни за било какви специјални, \n"
+"инцидентни, директни и индиректни штети (вклучувајќи, и неограничувајќи се, "
+"на губиток на бизнис, прекин на\n"
+"бизнис, финансиски губиток, легални такси и казни последеици на судска\n"
+"одлука, или било каква друга консеквентна штета) кои потекнуваат од \n"
+"поседување и користење или од преземање (downloading) софтверски\n"
+"компоненти од некој од Мандрива Линукс сајтовите, кои се забранети или\n"
+"ограничени во некои земји со локалните закони. Оваа ограничена одговорност\n"
+"се однесува, но не е ограничена на, компонентите за силна криптографија\n"
+"вклучени во софтверските производи.\n"
+"\n"
+"\n"
+"3. Лиценцата GPL или сродни лиценци\n"
+"\n"
+"Софтверските производи се состојат од компоненти создадени од различни\n"
+"луѓе или ентитети. Повеќете од овие компоненти потпаѓаат под термините \n"
+"и условите на лиценцата \"GNU General Public Licence\", отсега натаму "
+"позната\n"
+"како \"GPL\", или на слични лиценци. Повеќете од овие лиценци Ви "
+"дозволуваат\n"
+"да ги користите, дуплицирате, адаптирате или редистрибуирате компонентите\n"
+"кои ги покриваат. Прочитајате ги внимателно термините и условите на \n"
+"лиценцниот договор за секоја окмпонента, пред да користите било ко од нив.\n"
+"Било какви прашања за лиценца на некоја компонента треба да се адресира\n"
+"на авторот на компонентата, а не на Mandriva. Програмите развиени од\n"
+"Mandriva S.A. потпаѓаат под GPL лиценцата. Документацијата напишана\n"
+"од Mandriva S.A. потпаѓа под посебна лиценца. Видете ја документацијата,\n"
+"за повеќе детали.\n"
+"\n"
+"4. Права на интелектиална сопственост\n"
+"\n"
+"Сите права на компонентите на софтверските производи им припаѓаат на нивните "
+"соодветни автори и се заштитени со законите за интелектуална\n"
+"сопственост или авторски права (copyright laws) применливи на софтверски\n"
+"програми. Mandriva S.A. го задржува правото да ги модифицира или \n"
+"адаптира софтверските производи, како целина или во делови, на било кој\n"
+"начин и за било која цел.\n"
+"\"Mandriva\", \"Mandriva Linux\" и придружените логотипи се заштитени знаци\n"
+"на Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Правосилни закони\n"
+"\n"
+"Ако било кој дел од овој договор се најде за неважечки, нелегален или \n"
+"неприменлив од страна на судска пресуда, тој дел се исклучува од овој\n"
+"договор. Останувате обврзани од другите применливи делови на \n"
+"договорот. \n"
+"Термините и условите на оваа лиценца потпаѓаат под законите на Франција.\n"
+"Секој спор за термините на оваа лиценца по можност ќе се реши на суд.\n"
+"Како последен чекор, спорот ќе биде предаден на соодветинот суд во\n"
+"Париз - Франиција. За било какви прашања во врска со овој документ,\n"
+"контактирајте го Mandriva S.A.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Внимание\n"
+"\n"
+"Внимателно прочитајте ги следниве услови. Ако не се согласувате\n"
+"со било кој дел, не Ви е дозволено да инсталирате од следните цедиња.\n"
+"Притиснете \"Одбиј\" за да продолжите со инсталирање без овие медиуми.\n"
+"\n"
+"\n"
+"Некои компоненти на следниве цедиња не потпаѓаат под лиценцата GPL \n"
+"или некои слични договори. Секоја од таквите компоненти во таков\n"
+"случај потпаѓа под термините и условите на сопствената лиценца. \n"
+"Внимателно прочитајте ги и прифатете ги таквите специфични лиценци \n"
+"пред да ги користите или редистрибуирате овие компоненти. \n"
+"Општо земено, таквите лиценци забрануваат трансфер, копирање \n"
+"(освен во цел на бекап), редистрибуирање, обратно инжинерство (reverse\n"
+"engineering), дисасемблирање или модификација на компонентите.\n"
+"Секое прекршување на договорот автоматски ќе ги терминира Вашите\n"
+"права под конкретната лиценца. Освен ако специфичните лиценци Ви\n"
+"дозволуваат, обично не можете да ги инсталирате програмите на повеќе\n"
+"од еден систем, или да ги адаптирате да се користат мрежно. Ако сте\n"
+"во двоумење, контактирајте го дистрибутерот или уредникот на \n"
+"компонентата директно.\n"
+"Трансфер на трети лица или копирање на таквите компоненти, \n"
+"вклучувајќи ја документацијата, е обично забрането.\n"
+"\n"
+"\n"
+"Сите права на компонентите на следните цеде-медиуми припаѓаат\n"
+"на нивните соодветни автори и се заштите со законите за интелектуална\n"
+"сопственост и авторски права (copyright laws) што се применливи за\n"
+"софтверски програми.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Инсталацијата е завршена. Ви честитаме!\n"
+"Извадете ги инсталационите медиуми и притиснете Ентер за рестартирање.\n"
+"\n"
+"\n"
+"За информации за поправките достапни за ова издание на Мандрива Линукс,\n"
+"консултирајте се со Errata коешто е достапно од:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Информациите за конфигурирање на Вашиот систем се достапни во поглавјето\n"
+"за пост-инсталација од Официјалниот кориснички водич на Мандрива Линукс."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "CUPS принтерска конфигурација"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Конфигурација на модул"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Овде можете да го конфигурирате секој параметар на модулот."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Пронајдени се %s интерфејси"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Дали имате уште?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Дали имате %s интерфејси?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Видете ги информациите за хардверот"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Инсталирање на драјвер за %s картичката %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Инсталирање на драјвер за %s картичката %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Инсталирање на драјвер за %s картичката %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Инсталирање на драјвер за %s картичката %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Инсталирање на драјвер за %s картичката %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Сега можете да ги обезбедите опции за модулот %s.\n"
+"Забележете дека било која адреса треба да се внесува со префикс 0x, како на "
+"пример '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Сега можете да наведете опции за модулот %s.\n"
+"Опциите се со формат \"name=value name2=value2 ...\".\n"
+"На пример, \"io=0x300 irq=7\""
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Модул-опции:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Кој %s драјвер да го пробам?"
+
+#: modules/interactive.pm:140
+#, fuzzy, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"Во некои случаи, драјверот %s бара дополнителни информации за да работи\n"
+"како што треба, иако фино работи и без нив. Дали сакате да наведете\n"
+"дополнителни опции за него или да дозволите драјверот да побара ги на\n"
+"Вашата машина потребните информации? Понекогаш барањето може да го \n"
+"смрзне компјутерот, но не би требало да предизвика штета."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Автоматско барање"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Наведување опции"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Вчитувањето на модулот %s е неуспешно.\n"
+"Дали сакате да се обидете со други параметри?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "монтирањето неуспешно:"
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Продолжената партиција не е подржана на оваа платформа"
+
+#: partition_table.pm:518
+#, fuzzy, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Ја имате цела табела на партицијата, но не можам да ја користам.\n"
+" Единствено решение е да ја поместите примарната партиција за да ја имам "
+"цела следна проширена партиција."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Грешка при читање на датотеката %s"
+
+#: partition_table.pm:604
+#, fuzzy, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Лоша бекап датотека"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Грешка при запишувањето во датотеката %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Нешто лошо се случува на вашиот диск. \n"
+"Тест да се провери дали откажа интегритетот на податоците. \n"
+"Тоа значи запишување на било што на дискот ќе резултира со случајни, "
+"оштетени податоци."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Неможам да додадам партиција на_форматираниот_RAID md%d"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Нема доволно партиции за RAID ниво %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, fuzzy, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Прифати/Одбиј ги IPv4 пораките за грешки."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Прифати/Одбиј ги broadcasted icmp echo"
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Прифати/Одбиј icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Дозволи/Забрани авто-логирање."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Ако е подесено на \"СИТЕ\", на /etc/issue и /etc/issue.net им е дозволено да "
+"постојат.\n"
+"\n"
+"Ако е подесено на НИТУ ЕДНО, не се дозволени никакви извршувања.\n"
+"\n"
+"Инаку, само /etc/issue е дозволено."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Дозволи/Забрани рестартирање од конзолниот корисник."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Дозволи/Забрани нелокално логирање на root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Дозволи/Забрани ги директните пријавувања како root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "Дозволи/Забрани листа на корисници на дисплеј менаџерот(kdm and gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Дозоволи/Forbid X конекција:\n"
+"\n"
+"- СИТЕ (сите конекции се дозволени),\n"
+"\n"
+"- ЛОКАЛНИ (само конекции од локални компјутери),\n"
+"\n"
+"- ПРАЗНО (без кокнекции)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Аргументот назначува дали клиентите се авторизирани за поврзување\n"
+"на X серверот преку мрежата на tcp порта 6000 или пак не."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Овласти:\n"
+"\n"
+"- сите сервиси контолирани од tcp_wrappers (види hosts.deny(5) во "
+"прирачникот) if наместено на \"СИТЕ\",\n"
+"\n"
+"- го поседуваат само локалните ако е подесено на \"ЛОКАЛНО\"\n"
+"\n"
+"- никој ако е подесено на \"НИКОЈ\".\n"
+"\n"
+"За да ги овластите сервисите кои ви требаат, користите /etc/hosts.allow "
+"(види hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Ако SERVER_LEVEL (или SECURE_LEVEL е исклучено)\n"
+"е поголемо од 3 во /etc/security/msec/security.conf, го создава\n"
+"линкот /etc/security/msec/server да го посочи до\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server го користи chkconfig --add да одреди дали да\n"
+"додаде сервис ако е присутен во датотеката во текот на инсталацијата на\n"
+"пакетите."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Enable/Disable crontab and at for users.\n"
+"Стави ги дозволените корисници во /etc/cron.allow и /etc/at.allow (види man "
+"во(1)\n"
+"и crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Овозможи/Оневозможи syslog извештаи на конзола 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Безбедност:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Овозможи/Оневозможи заштита од IP измама."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Дозволи/Забрани libsafe ако libsafe е на системот."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Овозможи/Оневозможи логирање на IPv4 чудни пакети."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Овозможи/Оневозможи msec безбедносна проверка на секој час."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Овозможите su само од членовите на контролната група или од секој корисник."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Користи лозинка за препознавање на корисниците"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Активирај/Забрани проверка на ethernet картичките"
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Активирај/Исклучи ја дневната проверка на сигурност."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Подеси го остарувањето на лозинката на \"максимум\" денови и задоцнувањето "
+"го смени на \"неактивно\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Поставете јалозинката на минимум ... и минимум борјки и минимум број на "
+"големи букви."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Подеси го umask за root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "ако поставете да, проверете ги отворените порти."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"ако е поставено на да, направете проверка за:\n"
+"\n"
+"- празни лозинки,\n"
+"\n"
+"-нема лозинки во /etc/shadow\n"
+"\n"
+"-за корисници со id 0 а кои не се root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"ако е подесено на да, провери дали мрежните уреди со во заеднички режим."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "ако поставете да, вклучете ја дневната проверка на безбедност."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr ""
+"ако е подесено на да. проверете ги додатоците/отстранувањата на sgid "
+"датотеките."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "ако е поставено да, провери ја празната лозинка во /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "ако е \"да\", потврди го проверениот збир од suid/sgid датотеките."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"ако е наместено на да, провери за додавања/отсранувања на suid root "
+"датотеките."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "ако е поставено да, извести за не своите датотеки."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"ако поставите да, проверете ги датотеките/директориумите на кои може секој "
+"да пишува."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "ако одберете да, стартувајте ја chkrootkit проверката"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"ако е подесено, испрати го извештајот за поштата на оваа е-пошта во "
+"спротивно испрати го на root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "ако е подесено на да, прати го добиениот резултат по е-пошта"
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "ако поставете да, стартувајте некои проверки во rpm базата на податоци"
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "ако е ставено на да, известува за резултатот од проверката во syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "ако е \"да\", го испишува резултатот од проверката на tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Постави ја големинта на поранешните команди во школката. -1 значи "
+"неограничен простор."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Подеси го корисничкиот umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Прифати лажни IPv4 пораки со грешка"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Прифати емитираното icmp ехо"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Прифати icmp ехо"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* излез"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Рестарт од конзолниот корисник"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Дозволи remote root логирање"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Директно root логирање"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Листа на корисници на дисплеј менаџерот (kdm и gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Дозволи X Window конекција"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Авторизирај TCP конекции со X Window"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Одобри ги сите сервиси контролирани од страна на tcp_wrappers"
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Конфигурирај"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Овозможи \"crontab\" и \"at\" за корисниците"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog извештаи за конзола 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Овозможи IP заштита"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Овозможи го libsafe ако libsafe е пронајден на вашиот систем"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Овозможи го логирањето на IPv4 чудните пакети"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Овозможи msec сигурносна проверка на час"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Овозможите su само од членовите на контролната група или од секој корисник."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Користи лозинка за логирање корисници"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Мешана проверка на мрежните картички"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Дневна сигурносна проверка"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) во ниво на еден корисник"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Нема стареење на лозинка за"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Намести изминување на лозинката и неактивни задоцнувања на акаунтот"
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Лозинка"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Минимална должина на лозинка и број на цифри и големи букви"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Големина на историјата на шелот"
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "Пауза пред подигање на кернел"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Кориснички umask"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "Провери ги отворените порти"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Проверка на несигурни акаунти"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Провери ја пристапноста до датотеките на кориниците во home"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Проверка на мрежните уреди"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Вклучи ги дневните сигурносни проверки"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Провери ги додавањата/отстранувањата од sgid датотеките"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Провери да не е празна лозинката во /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Проверка на додадените/поместените suid root датотеки"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Пријави непознати датотеки"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Провери ги датотеките/директориумите на кои може секој да пишува"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Вклучи ги chkrootkit проверките"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Ако е подесено, пратете го маил репортот на оваа е-маил адреса, инаку "
+"пратете го на root "
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Резултатите од проверките на маил"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Изврши неколку проверки врз rpm базата на податоци"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Извести за резултатите од проверката во syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Ги известува проверените резулатати на tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Бујрум кракери"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Сиромашно"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Стандардно"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Високо"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Повисоко"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Параноично"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Ова ниво треба да се користи внимателно. Со него системот полесно\n"
+"се користи, но е многу чувствителен. Не смее да се користи за машини\n"
+"поврзани со други, или на Интернет. Не постои пристап со лозинки."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Лозинките се сега овозможени, но да се користење како мрежен компјутер "
+"сеуште не се препорачува."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Ова е стандардната сигурност препорачана за компјутер што ќе се користи за "
+"клиентска конекција на Интернет."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Постојат некои ограничувања, и повеќе автоматски проверки се извршуваат "
+"секоја вечер."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Со ова безбедносно ниво, користењето на системов како сервер станува можно.\n"
+"Безбедност е на ниво доволно високо за системот да се користи како сервер\n"
+"за многу клиенти. Забелешка: ако Вашата машина е само клиент на Интернет, би "
+"требало да изберете пониско ниво."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Ова е слично на преходното ниво, но системот е целосно затворен и "
+"безбедносните функции се во нивниот максимум."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Безбедност"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec основни опции"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Изберете безбедносно ниво"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Сигурносно ниво"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Користење libsafe за сервери"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Библиотека што штити од \"buffer overflow\" и \"format string\" напади."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Безбедносен администратор (логин или e-mail)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Го лансира ALSA (Advanced Linux Sound Architecture) звучниот систем."
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron е периодично команден распоредувач."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd се користи за набљудување на статусот на батеријата и логирање преку "
+"syslog\n"
+"Исто така може да се користи за исклучување на машината кога батеријата е "
+"слаба."
+
+#: services.pm:23
+#, fuzzy, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"време\n"
+" и."
+
+#: services.pm:25
+#, fuzzy, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron е стандардна UNIX програма кој ги стартува специфираните кориснички "
+"програми\n"
+"во определено време. vixie cron додава бројки на основна на\n"
+"UNIX cron, вклучувајќи и подобра сигурност и многу помоќни опции за "
+"конфигурација."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM додава подрашка за глушецот на Линукс текстуално-базираните апликации, \n"
+"како на пр. Midnight Commander. Исто така дозволува конзолни изечи-и-вметни\n"
+"операции со глушецот, и вклучува подршка за pop-up менија во конзолата."
+
+#: services.pm:33
+#, fuzzy, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"и\n"
+"."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache е World Wide Web(WWW) сервер. Се користи за ги услужува HTML и CGI "
+"датотеките."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Интернетскиот суперсервер демон (најчесто викан inetd) ако е потребно\n"
+"вклучува и различни други интернет сервиси. Тој е одговорен за вклучување\n"
+"многу сервиси, меѓу кои се telnet, ftp, rsh, и rlogin. Ако се оневозможи "
+"inetd се оневозможиваат\n"
+"сите сервиси за кој што тој е одговорен."
+
+#: services.pm:40
+#, fuzzy, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Стартувај го филтрираниот пакет за Linux кернел 2.2 серија, за да го "
+"поставите\n"
+"firewall-от да го штити Вашиот компјутер од нападите на мрежа."
+
+#: services.pm:42
+#, fuzzy, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"во\n"
+"\n"
+" овозможено."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Автоматско регенерирање на хедерот на кернелот во /boot за\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Автоматско откривање и подесување на хардвер при стартување."
+
+#: services.pm:48
+#, fuzzy, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"на\n"
+" време на."
+
+#: services.pm:50
+#, fuzzy, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd е демон за печатење, кој бара lpr за да работи како што треба.\n"
+" Тоа е основен сервер кој ја арбитрира работата на принтерите."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Линукс Виртуален Сервер, се користи за да се изгради високо достапен сервер "
+"со високи перформанси."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) е Domain Name Server (DNS) кој што се користи за доделување "
+"имиња на компјутерите за IP адресите."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Ги монтира и одмонтира сите Network File System (NFS), SMB (Менаџер\n"
+"на локалната мрежа/Windows), и NCP (NetWare) монтирачките точки."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Ги Активира/Деактивира сите мрежни интерфејси конфигурирани на почетокот\n"
+"од времето на подигање."
+
+#: services.pm:59
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS е популарен протокол за делење на датотеки во TCP/IP мрежи.\n"
+"Овој сервер е конфигуриран со датотеката /etc/exports.\n"
+
+#: services.pm:62
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS е популарен протокол за делење на датотеки низ TCP/IP\n"
+"мрежите"
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Автоматски го вклучи Num Lock копчето во конзола \n"
+"и Xorg на вклучување."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Ги подржува OKI 4w и компатибилните win печатари."
+
+#: services.pm:67
+#, fuzzy, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA на и\n"
+" во на\n"
+" Вклучено."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper е менаџер на RPC конекции, кои се користат при\n"
+"протоколи како NFS и NIS. Серверот portmapper мора да се\n"
+"извршува на машини кои претставуваат сервер за протоколи\n"
+"што го користат механизмот RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix е Mail Transport Agent, а тоа е програма што ја пренесува поштата од "
+"една машина на друга."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Ја зачувува и повратува ентропската системска резерва за поголем квалитет\n"
+"на случајно генерирање броеви."
+
+#: services.pm:76
+#, fuzzy, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr "на\n"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Демонот за пренасочување ви овозможува автоматска пренасочувачка IP табела\n"
+"осовременувана преку RIP протоколот. Додека RIP пошироко се користи за мали\n"
+"мрежи, по комплицирани пренасочувачки протоколи се потребни за комплицирани "
+"мрежи."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat протоколот овозможува корисниците на мрежата да добиваат\n"
+"мерења на перормансите на било која машина на мрежата."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers протоколот дозволува корисниците на мрежата да се индетификува\n"
+"кој е логиран7 на други машини кои што одговараат."
+
+#: services.pm:85
+#, fuzzy, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho пртоколот дозволува локалните корисници да имаат пристап до листата на "
+"сите корисници\n"
+" пријавени на компјутерот."
+
+#: services.pm:87
+#, fuzzy, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Стартувај го звукот на Вашиот компјутер"
+
+#: services.pm:88
+#, fuzzy, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog на\n"
+" на на."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Подиги ги драјверите за вашиот usb уред."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Го стартува Х Фонт Серверот (ова е задолжително за да може Xorg да работи)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Печатење"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Интернет"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Споделување датотеки"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Систем"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Локална Администрација"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Сервер за Бази на Податоци"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Сервиси"
+
+#: services.pm:144
+#, fuzzy, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Избери кои сервиси автоматски да стартуваатпри рестарт"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Сервисите: %d активирани за %d регистрирани"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "работи"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "престани"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Сервиси и демони"
+
+#: services.pm:207
+#, fuzzy, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Нема дополнителни информации\n"
+"за овој сервис. Жалиме!"
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Информации"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "При подигање"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Старт"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Стоп"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Оваа програма е слободен софтвер, можете да ја редистрибуирате и/или да ја\n"
+"изменувате под условите на GNU Општо Јавна Лиценца ако што е објавена од\n"
+"Фондацијата за Слободно Софтвер, како верзија 2, или (како ваша опција)\n"
+"било која понатамошна верзија\n"
+"\n"
+"Оваа програма е дистрибуирана со надеж дека ќе биде корисна,\n"
+"но со НИКАКВА ГАРАНЦИЈА; дури и без имплементирана гаранција за\n"
+"ТРГУВАЊЕ или НАМЕНА ЗА НЕКАКВА ПОСЕБНА ЦЕЛ. Видете ја\n"
+"GNU Општо Јавна Лиценца за повеќе детали.\n"
+"\n"
+"Би требало да добиете копија од GNU Општо Јавна Лиценца\n"
+"заедно со програмата, ако не пишете на Фондацијата за Слободен\n"
+"Софтвер, Корпорација, 51 Franklin Street, Fifth Floor, Boston, MA 02110-"
+"1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Апликација за Бекап и Повратување\n"
+"\n"
+"--default : ги снима стандардните директориуми.\n"
+"--debug : ги прикажува сите дебагирачки пораки.\n"
+"--show-conf : листа на датотеки или директориуми за бекап.\n"
+"--config-info : ги објаснува конфигурационите опции (за не-X "
+"корисници).\n"
+"--daemon : користи демон конфигурација. \n"
+"--help : ја прикажува оваа порака.\n"
+"--version : го прикажува бројот на верзијата.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[ОПЦИИ] [ИМЕ_НА_ПРОГРАМАТА]\n"
+"\n"
+"ОПЦИИ:\n"
+" --help - ја прикажува оваа порака за помош.\n"
+" --report - програмата треба да е една од алатките на мандрак\n"
+" --incident - програмата треба да е една од алатките на мандрак"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[ОПЦИИ]...\n"
+"Конфигуратор на Мандрива Контролниот Сервер\n"
+"--enable : овозможи MTS\n"
+"--disable : оневозможи MTS\n"
+"--start : вклучи MTS\n"
+"--stop : исклучи MTS\n"
+"--adduser : додади постоечки системски корисник на MTS (потребно е "
+"корисничко име)\n"
+"--deluser : избриши постоечки системски корисник од MTS (потребно е "
+"корисничко име)\n"
+"--addclient : додава клиентска машина на MTS (потребно е MAC адреса, "
+"IP, nbi име на сликата)\n"
+"--delclient : брише клиентска машина од MTS (потребно е MAC адреса, IP, "
+"nbi име на сликата)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[Тастатура]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[Опции]\n"
+"Мрежа & интернет конекција и мониторинг апликации\n"
+"\n"
+"--defaultintf interface : прикажи го овој интерфејс како дефаулт\n"
+"--connect : поврзи се на Интернет ако не си поврзан\n"
+"--disconnect : исклучи се од Интернет ако веќе си поврзан\n"
+"--force : used with (dis)connect : насилна конектирање/исклучување.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [се]\n"
+" XFdrake [--noauto] монитор\n"
+" XFdrake резолуција"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Искористеност: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] "
+"[--testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Додади сервер"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Јужна Африка"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Австрија"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Јужна Африка"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Македонија"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Јужна Африка"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Хонг Конг"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Руска Федерација"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Југославија"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Дали е ова точно?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "одбирач на датотеки"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Мора да изберете датотека , не именик.\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "'/' името може да биде само директориум, не клуч"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Не е папка"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Не пости таков директориум"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Рашири го дрвото"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Собери го дрвото"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Избор меѓу линеарно и сортирано по група"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s не е инсталиран\n"
+"За да го инсталирате притиснете \"Следно\" или \"Откажи\" за откажување"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Неуспешна инсталација"
+
+#~ msgid "Icon"
+#~ msgstr "Икона"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Број на бафери за capture:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "број на бафери за mmap-иран capture"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL поставка:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Радио поддршка:"
+
+#~ msgid "enable radio support"
+#~ msgstr "овозможи радио поддршка"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr "[--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/mn.po b/perl-install/share/po/mn.po
new file mode 100644
index 000000000..39ffb8c88
--- /dev/null
+++ b/perl-install/share/po/mn.po
@@ -0,0 +1,6165 @@
+# translation of DrakX.po to Mongolian
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Khurelbaatar Lkhagavsuren <hujii247@yahoo.com>, 2003.
+# Khurelbaatar Lkhagvasuren <hujii247@yahoo.com>, 2003.
+# Sanlig Badral <Badral@openmn.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-01-02 00:35+0100\n"
+"Last-Translator: Sanlig Badral <Badral@openmn.org>\n"
+"Language-Team: Mongolian <openmn-core@lists.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.0.2\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr ""
+
+#: any.pm:157
+#, fuzzy, c-format
+msgid "Bootloader installation in progress"
+msgstr "Эхлүүлэгч ачаалагч суулгах"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, fuzzy, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "аас:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Хөтлөгчийн эхний сектор (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Үндсэн хуваалтын эхний сектор"
+
+#: any.pm:249
+#, fuzzy, c-format
+msgid "On Floppy"
+msgstr "Идэвхитэй"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Алгасах"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr ""
+
+#: any.pm:257
+#, fuzzy, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Хаана вы?"
+
+#: any.pm:284
+#, fuzzy, c-format
+msgid "Boot Style Configuration"
+msgstr "Загвар"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Эхлүүлэгч ачаалагчийн үндсэн сонголтууд"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr ""
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr ""
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr ""
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Үндсэн зургийг ачаалахын өмнө түр саатах"
+
+#: any.pm:306
+#, fuzzy, c-format
+msgid "Enable ACPI"
+msgstr "Нээх"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Нээх"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Нээх"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Нууц үг"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr ""
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Дахин оролдоно уу"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Та Цэг"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Нууц үг (дахин)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Тушаалын мөрийн сонголтуудыг хязгаарлах"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr ""
+
+#: any.pm:318
+#, fuzzy, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "бол аас үгүй"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr ""
+
+#: any.pm:321
+#, fuzzy, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "хэмжээ МБ"
+
+#: any.pm:322
+#, fuzzy, c-format
+msgid "Give the ram size in MB"
+msgstr "хэмжээ ямх"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr ""
+
+#: any.pm:334
+#, fuzzy, c-format
+msgid "Open Firmware Delay"
+msgstr "Нээх"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr ""
+
+#: any.pm:336
+#, fuzzy, c-format
+msgid "Enable CD Boot?"
+msgstr "Нээх CD?"
+
+#: any.pm:337
+#, fuzzy, c-format
+msgid "Enable OF Boot?"
+msgstr "Нээх?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Үндсэн ҮС?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Дүр"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Эзэн"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Залгах"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Видео горим"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, fuzzy, c-format
+msgid "Network profile"
+msgstr "Сүлжээ-харьцах хэсэг"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Бичээс"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Стандарт"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, fuzzy, c-format
+msgid "Empty label not allowed"
+msgstr "Бичээс"
+
+#: any.pm:444
+#, fuzzy, c-format
+msgid "You must specify a kernel image"
+msgstr "Та"
+
+#: any.pm:444
+#, fuzzy, c-format
+msgid "You must specify a root partition"
+msgstr "Та"
+
+#: any.pm:445
+#, fuzzy, c-format
+msgid "This label is already used"
+msgstr "Бичээс бол"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Ямар төрлийн өгөгдөл та оруулахыг хүсэж байна?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Линукс"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Бусад ҮС (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Бусад ҮС (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Бусад ҮС (Виндовс...)"
+
+#: any.pm:489
+#, fuzzy, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr "Цэс."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr ""
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "rpm хэрэгсэлүүд рүү хандах"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr ""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr ""
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr ""
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr ""
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr ""
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr ""
+
+#: any.pm:658
+#, fuzzy, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "нэр"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Хэрэглэгчийн нэр хэт урт"
+
+#: any.pm:660
+#, fuzzy, c-format
+msgid "This user name has already been added"
+msgstr "нэр"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Хэрэглэгчийн ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Группын ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "%s сонголт нь тоо байх ёстой!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Хэрэглэгч нэмэх"
+
+#: any.pm:673
+#, fuzzy, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr "г"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Биелэгдэв"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Хэрэглэгчийг зөвшөөрөх"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr ""
+
+#: any.pm:685
+#, fuzzy, c-format
+msgid "Login name"
+msgstr "Домэйн"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Бүрхүүл"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr ""
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Та энэ чанарыг ашиглахыг хүсэж байна уу?"
+
+#: any.pm:738
+#, fuzzy, c-format
+msgid "Choose the default user:"
+msgstr "Сонгох:"
+
+#: any.pm:739
+#, fuzzy, c-format
+msgid "Choose the window manager to run:"
+msgstr "Цонх:"
+
+#: any.pm:767
+#, fuzzy, c-format
+msgid "License agreement"
+msgstr "Лиценз"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Гарах"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Хэвлэл:"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Зөвшөөрөх"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr ""
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Хэрэглэх хэлээ сонгоно уу"
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Хэл"
+
+#: any.pm:826
+#, fuzzy, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "вы бол вы."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Бүх хэл"
+
+#: any.pm:918
+#, fuzzy, c-format
+msgid "Country / Region"
+msgstr " / Муж"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Улсаа сонгоно уу."
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "бол бүрэн жигсаалт аас"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Бусад"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Өргөтгөсөн"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Сүлжээний арга:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Алга"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "No sharing"
+msgstr "Үгүй"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Бүх хэрэглэгчдийг зөвшөөрөх"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Тохир"
+
+#: any.pm:1016
+#, fuzzy, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr "вы хэрэглэгчид аас хэрэглэгчид Хамтын хэрэглээ ямх г г Хэрэглэгчийн"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, fuzzy, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Та Самба вы."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr ""
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Хаах"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Гараад, Ctrl-Alt-BackSpace товчнуудыг дарна уу!"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Цагийн бүс"
+
+#: any.pm:1212
+#, fuzzy, c-format
+msgid "Which is your timezone?"
+msgstr "бол?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Hardware"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Hardware"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP Сервер"
+
+#: any.pm:1235
+#, fuzzy, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Автоматаар"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Дотоод файл"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr ""
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr ""
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, fuzzy, c-format
+msgid "Windows Domain"
+msgstr "Цонхнууд"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "Бүх нөөцлөлтийг сэргээх"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "Бүх нөөцлөлтийг сэргээх"
+
+#: authentication.pm:66
+#, fuzzy, c-format
+msgid "Local file:"
+msgstr "Дотоод файлууд:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr ":"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr ":"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, fuzzy, c-format
+msgid "Windows Domain:"
+msgstr "Цонхнууд:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "Бүх нөөцлөлтийг сэргээх"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Бүх нөөцлөлтийг сэргээх"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, fuzzy, c-format
+msgid "Authentication LDAP"
+msgstr "Баталгаажуулалт"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr ""
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr ""
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr ""
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr ""
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Баталгаажуулалт"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Домэйн"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Сервер"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Өгөгдлийн сан"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr ""
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Нууц үг шаардлагатай"
+
+#: authentication.pm:140
+#, fuzzy, c-format
+msgid "Authentication NIS"
+msgstr "Баталгаажуулалт"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr ""
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr ""
+
+#: authentication.pm:147
+#, fuzzy, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"вы Цонхнууд аас Домэйн Цонхнууд бол бол Цонхнууд Домэйн Хэрэглэгчийн нэр "
+"Нууц үг."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Баталгаажуулалт Цонхнууд Хэвтүүл"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Домэйн Хэрэглэгч"
+
+#: authentication.pm:165
+#, fuzzy, c-format
+msgid "Domain Admin Password"
+msgstr "Домэйн"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Баталгаажуулалт"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Нууцлалын Удирдлага (бүртгэл эсвэл и-мэйл)"
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Баталгаажуулалт"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Нууц үг байхгүй"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+"Нууц үг хэтэрхий богино байна (энэ нь дор хаяж %d тэмдэгтийн урттай байна)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr ""
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, fuzzy, c-format
+msgid "LILO with text menu"
+msgstr "текст"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr ""
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr ""
+
+#: bootloader.pm:1679
+#, fuzzy, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Хаана вы?"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr ""
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "КБ"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "КБ"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "МБ"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "ГБ"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr ""
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d минут"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 Минут"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr ""
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Шинэ"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Дискийн төхөөрөмж салгах"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Дискийн төхөөрөмж холбох"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, fuzzy, c-format
+msgid "Mount point"
+msgstr "Дискийн төхөөрөмж холбох"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Сонголтууд"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Алдаа"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "WebDAV серверийн URL-г оруулна уу"
+
+#: diskdrake/dav.pm:87
+#, fuzzy, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Вэб хаяг"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Сервер: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Оруулах(Mount) цэг: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Сонголтууд: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, fuzzy, c-format
+msgid "Read carefully!"
+msgstr "Унших!"
+
+#: diskdrake/hd_gtk.pm:93
+#, fuzzy, c-format
+msgid "Please make a backup of your data first"
+msgstr "аас"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Гарах"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Үргэлжилүүлэх"
+
+#: diskdrake/hd_gtk.pm:97
+#, fuzzy, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr "вы бол аас"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Тусламж"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Үйлдэл сонгох"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Нэг хуваалтан дээр дарна уу"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Дэлгэрэнгүй"
+
+#: diskdrake/hd_gtk.pm:265
+#, fuzzy, c-format
+msgid "No hard drives found"
+msgstr "Үгүй"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Үл мэдэгдэх"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, fuzzy, c-format
+msgid "Swap"
+msgstr "Солилт"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "СанОС"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Виндоус"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Бусад"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Хоосон"
+
+#: diskdrake/hd_gtk.pm:356
+#, fuzzy, c-format
+msgid "Filesystem types:"
+msgstr "Файлын систем:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Анхааруулга"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Энэ хуваалтын хэмжээг өөрчилж болохгүй"
+
+#: diskdrake/hd_gtk.pm:389
+#, fuzzy, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Дискийн төхөөрөмж салгах"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Дараахын оронд ``%s'' үүнийг хэрэглэ:"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Төрөл"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Ондоо хуваалт сонго"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose a partition"
+msgstr "Сонгох"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Буцаж үйлдэх"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr ""
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Мэргэжилтний горимд шилжүүлэх"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Тохиргоо"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Ямар ч байсан үргэлжлүүлэх үү?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Хадгалахгүйгээр гарах"
+
+#: diskdrake/interactive.pm:274
+#, fuzzy, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Гарах хүснэгт?"
+
+#: diskdrake/interactive.pm:279
+#, fuzzy, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "вы"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, fuzzy, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Та хүснэгт"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, fuzzy, c-format
+msgid "Clear all"
+msgstr "Устгах"
+
+#: diskdrake/interactive.pm:305
+#, fuzzy, c-format
+msgid "Auto allocate"
+msgstr "Авто"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Илүү"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Хатуу диск хөтлөгчийн мэдээлэл"
+
+#: diskdrake/interactive.pm:343
+#, fuzzy, c-format
+msgid "All primary partitions are used"
+msgstr "Бүх"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Би өшөө илүү хуваалт нэмж чадахгүйI"
+
+#: diskdrake/interactive.pm:345
+#, fuzzy, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "тийш"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Хуваалтын хүснэгтийг хадгалах"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Хуваалтын хүснэгтийг сэргээх"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:366
+#, fuzzy, c-format
+msgid "Reload partition table"
+msgstr "Дахин ачаалах"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr ""
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Файл сонгох"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Нөөц хуваалтын хүснэгтийн хэмжээ ижилхэн биш байна\n"
+"Тэгээд үргэлжлүүлэх үү?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Хуваалтын хүснэгтийг аврахаар оролдох"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr ""
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Хэмжээ өөрчилөх"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Формат"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID руу нэмэх"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, fuzzy, c-format
+msgid "Add to LVM"
+msgstr "Нэмэх"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Устгах"
+
+#: diskdrake/interactive.pm:451
+#, fuzzy, c-format
+msgid "Remove from RAID"
+msgstr "Устгах"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM-с устгах"
+
+#: diskdrake/interactive.pm:453
+#, fuzzy, c-format
+msgid "Modify RAID"
+msgstr "Өөрчлөх"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Үүсгэх"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, fuzzy, c-format
+msgid "Create a new partition"
+msgstr "шинэ"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Эхлэх сектор: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Хэмжээ МБ-р: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, fuzzy, c-format
+msgid "Filesystem type: "
+msgstr "Файлын систем төрөл "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr ""
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Локал хэмжээс"
+
+#: diskdrake/interactive.pm:547
+#, fuzzy, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr "Та шинэ г вы аас."
+
+#: diskdrake/interactive.pm:577
+#, fuzzy, c-format
+msgid "Remove the loopback file?"
+msgstr "Устгах?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Хуваалтын төрлийг өөрчлөх"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, fuzzy, c-format
+msgid "Which filesystem do you want?"
+msgstr "Ямар төрлийн өгөгдөл та оруулахыг хүсэж байна?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Бичээс"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Хаана вы с?"
+
+#: diskdrake/interactive.pm:656
+#, fuzzy, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Хаана вы с?"
+
+#: diskdrake/interactive.pm:661
+#, fuzzy, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr "Цэг бол"
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Хаана вы с?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Хэмжээгөөрчилж байна"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr ""
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Энэ хуваалтын хэмжээг өөрчилж болохгүй"
+
+#: diskdrake/interactive.pm:756
+#, fuzzy, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Бүх"
+
+#: diskdrake/interactive.pm:758
+#, fuzzy, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "Нээх"
+
+#: diskdrake/interactive.pm:765
+#, fuzzy, c-format
+msgid "Choose the new size"
+msgstr "шинэ"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Шинэ хэмжээ МБ-р."
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, fuzzy, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr "тийш с Цонхнууд"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Тийш нэмэхийн тулд одоо байгаа RAID-ийг сонгоно уу"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "шинэ"
+
+#: diskdrake/interactive.pm:867
+#, fuzzy, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Сонгох"
+
+#: diskdrake/interactive.pm:874
+#, fuzzy, c-format
+msgid "LVM name?"
+msgstr "нэр?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Давталт"
+
+#: diskdrake/interactive.pm:936
+#, fuzzy, c-format
+msgid "Loopback file name: "
+msgstr "нэр "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr ""
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Файл бол"
+
+#: diskdrake/interactive.pm:945
+#, fuzzy, c-format
+msgid "File already exists. Use it?"
+msgstr "Файл?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, fuzzy, c-format
+msgid "Mount options"
+msgstr "Дискийн төхөөрөмж холбох"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr ""
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr ""
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr ""
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "хэмжээ с"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr ""
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Ямар төрлийн хуваалт бэ?"
+
+#: diskdrake/interactive.pm:1121
+#, fuzzy, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Та хүснэгт"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "%s хөтлөгчийн хуваалтын хүснэгт нь одоо диск рүү бичигдэх болно!"
+
+#: diskdrake/interactive.pm:1153
+#, fuzzy, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Хөтлөгчид уян диск оруулна уу\n"
+"Уян диск дээрх бүх өгөгдөл устгагдах болно"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, fuzzy, c-format
+msgid "Check bad blocks?"
+msgstr "Gá?"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Move files to the new partition"
+msgstr "Зөөх шинэ"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Файлуудыг далдлах"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, fuzzy, c-format
+msgid "Moving files to the new partition"
+msgstr "Зөөлт шинэ"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s-г хуулж байна"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s-г устгаж байна"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "хуваалт %s нь одоо %s болсон"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Төхөөрөмж: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Төрөл: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Нэр: "
+
+#: diskdrake/interactive.pm:1248
+#, fuzzy, c-format
+msgid "Start: sector %s\n"
+msgstr "Эхлэх с"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Хэмжээ: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ""
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Түвшин %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "хэмжээ с"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1270
+#, fuzzy, c-format
+msgid "Loopback file name: %s"
+msgstr "нэр"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr "бол Драйвер Та"
+
+#: diskdrake/interactive.pm:1276
+#, fuzzy, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr "бол"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Зөвхөн-унших"
+
+#: diskdrake/interactive.pm:1295
+#, fuzzy, c-format
+msgid "Size: %s\n"
+msgstr "Хэмжээ с"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1297
+#, fuzzy, c-format
+msgid "Info: "
+msgstr "Upplýsingar"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Хуваалтын хүснэгтийн төрөл: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "Нээх"
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Файлын систем"
+
+#: diskdrake/interactive.pm:1344
+#, fuzzy, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Сонгох"
+
+#: diskdrake/interactive.pm:1347
+#, fuzzy, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "бол"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr ""
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "Баталгаажуулалт"
+
+#: diskdrake/removable.pm:46
+#, fuzzy, c-format
+msgid "Change type"
+msgstr "Өөрчилөх"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Хүчингүй"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, fuzzy, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Хостын нэр, хэрэглэгчийн нэр болон нууц үг шаардлагатай!"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Домэйн Баталгаажуулалт"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Ямар хэрэглэгчийн нэр"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, fuzzy, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "нэр."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Хэрэглэгчийн нэр"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Серверүүд хайх"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Серверүүд хайх"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "%s багц суулгагдах шаардлагатай. Үүнийг суулгахыг хүсэж байна уу?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Ямар нэгэн туршилтын хуудас битгий хэвлэ"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, fuzzy, c-format
+msgid "Mandatory package %s is missing"
+msgstr "с бол"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr ""
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr ""
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "%s багцийг устгалт"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr ""
+
+#: fs/format.pm:63
+#, fuzzy, c-format
+msgid "Creating and formatting file %s"
+msgstr "Үүсгэж байна"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "%s-г %s төрөлд хэрхэн форматлахыг би мэдэхгүй байна."
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr ""
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr ""
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Хуваалтыг холбож байна %s"
+
+#: fs/mount.pm:80
+#, fuzzy, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "Хуваалтыг холбож байна %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "%s-ийг шалгаж байна"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, fuzzy, c-format
+msgid "error unmounting %s: %s"
+msgstr "%s-ийг салгаж байна"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr ""
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Та Цэг"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr ""
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr ""
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, fuzzy, c-format
+msgid "Duplicate mount point %s"
+msgstr "Цэг"
+
+#: fs/mount_point.pm:95
+#, fuzzy, c-format
+msgid "No partition available"
+msgstr "Үгүй"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Холболтын цэгүүдийг олохын тулд хуваалтуудыг шалгаж байна"
+
+#: fs/mount_point.pm:105
+#, fuzzy, c-format
+msgid "Choose the mount points"
+msgstr "Сонгох"
+
+#: fs/partitioning.pm:46
+#, fuzzy, c-format
+msgid "Choose the partitions you want to format"
+msgstr "вы"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Сул зайг ашиглах"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Шинэ хуваалтуудыг хуваарилахад хангалттай зай байхгүй"
+
+#: fs/partitioning_wizard.pm:90
+#, fuzzy, c-format
+msgid "Use existing partitions"
+msgstr "Хуваалтыг холбож байна %s"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Энд хэрэглэх ямар нэгэн хуваалт алга"
+
+#: fs/partitioning_wizard.pm:99
+#, fuzzy, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Цонхнууд"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Linux4Win-ийн хувьд ямар хуваалт хэрэглэхийг та хүсэж байна?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Хэмжээнүүдийг сонго"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Суурь хуваалын хэмжээ МБ-р:"
+
+#: fs/partitioning_wizard.pm:106
+#, fuzzy, c-format
+msgid "Swap partition size in MB: "
+msgstr "Солилт хэмжээ ямх МБ "
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "бол үгүй зүүн"
+
+#: fs/partitioning_wizard.pm:122
+#, fuzzy, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Цонхнууд"
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "вы?"
+
+#: fs/partitioning_wizard.pm:138
+#, fuzzy, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr "бол"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "хэмжээ аас Цонхнууд"
+
+#: fs/partitioning_wizard.pm:148
+#, fuzzy, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr "Цонхнууд бол Цонхнууд."
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr "АНХААРУУЛГА г Цонхнууд бол вы Хийгдсэн вы Цонхнууд Та Ок."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Дараагийн"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "хэмжээ вы Цонхнууд"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Хэмжээ"
+
+#: fs/partitioning_wizard.pm:173
+#, fuzzy, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Цонхнууд"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT хэмжээ өөрчлөлт бүтэлгүйтэв: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "бол үгүй зүүн"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Виндоусыг (ХТ) устгах"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Устгах"
+
+#: fs/partitioning_wizard.pm:200
+#, fuzzy, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Та вы?"
+
+#: fs/partitioning_wizard.pm:206
+#, fuzzy, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Нээх"
+
+#: fs/partitioning_wizard.pm:217
+#, fuzzy, c-format
+msgid "Custom disk partitioning"
+msgstr "Хэрэглэгчийн"
+
+#: fs/partitioning_wizard.pm:223
+#, fuzzy, c-format
+msgid "Use fdisk"
+msgstr "Хэрэглэгчид"
+
+#: fs/partitioning_wizard.pm:226
+#, fuzzy, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr "Та с вы Хийгдсэн"
+
+#: fs/partitioning_wizard.pm:266
+#, fuzzy, c-format
+msgid "I can not find any room for installing"
+msgstr "Би өшөө илүү хуваалт нэмж чадахгүйI"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:278
+#, fuzzy, c-format
+msgid "Partitioning failed: %s"
+msgstr "Хуваалтын хүснэгтийн төрөл: %s\n"
+
+#: fs/type.pm:366
+#, fuzzy, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Та"
+
+#: fs/type.pm:367
+#, fuzzy, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Та"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr ""
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr ""
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+
+#: fsedit.pm:403
+#, fuzzy, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Дискийн төхөөрөмж холбох Цэг"
+
+#: fsedit.pm:404
+#, fuzzy, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Дискийн төхөөрөмж холбох Цэг"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Энд холболтын цэгтэй хуваалт хэдийн байна %s\n"
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr "Та бол"
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Та Чанга Цэг"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr "Та бол"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr ""
+
+#: fsedit.pm:425 fsedit.pm:427
+#, fuzzy, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr "Та Цэг"
+
+#: fsedit.pm:429
+#, fuzzy, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Та Цэг"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, fuzzy, c-format
+msgid "Nothing to do"
+msgstr "Юу ч үгүй"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Уян диск"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr ""
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Диск"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, fuzzy, c-format
+msgid "CD/DVD burners"
+msgstr "CD"
+
+#: harddrake/data.pm:117
+#, fuzzy, c-format
+msgid "DVD-ROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Хальс"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP хянагчууд"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr ""
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Тв карт"
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Бусад"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Дууны карт"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Вэб дуран"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Процессорууд"
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "ИСДН(ISDN)"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Сүлжээний карт"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Модем"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr ""
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Санах ой"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Хэвлэгч"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr ""
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA хянагчууд"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID хянагчууд"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr ""
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr ""
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Галтханын хяналтууд"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr ""
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr ""
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB хянагчууд"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "USB хэвлэгч"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus хянагчууд"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr ""
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Гар"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Хулгана"
+
+#: harddrake/data.pm:505
+#, fuzzy, c-format
+msgid "UPS"
+msgstr "CUPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Хуулан оруулагч"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "Тодорхойгүй"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr ""
+
+#: harddrake/sound.pm:195
+#, fuzzy, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Хүлээх"
+
+#: harddrake/sound.pm:232
+#, fuzzy, c-format
+msgid "No alternative driver"
+msgstr "Үгүй"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+
+#: harddrake/sound.pm:239
+#, fuzzy, c-format
+msgid "Sound configuration"
+msgstr "Драйвер"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, fuzzy, c-format
+msgid "Driver:"
+msgstr "Драйвер:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Асуудал гарч байна"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Нэллтэй эх код бүхий драйвер алга"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+
+#: harddrake/sound.pm:291
+#, fuzzy, c-format
+msgid "No known driver"
+msgstr "Нэллтэй эх код бүхий драйвер алга"
+
+#: harddrake/sound.pm:292
+#, fuzzy, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Алдаа: Таны дууны картны \"%s\" драйвер жагсаалтанд байхгүй байна"
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "Тодорхойгүй алдаа"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Алдаа: Таны дууны картны \"%s\" драйвер жагсаалтанд байхгүй байна"
+
+#: harddrake/sound.pm:311
+#, fuzzy, c-format
+msgid "Sound trouble shooting"
+msgstr "Асуудал гарч байна"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, fuzzy, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr "вы вы бол баруун ямх жигсаалт г с бол с "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Автомат танилт"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, fuzzy, c-format
+msgid "Unknown|Generic"
+msgstr "Тодорхойгүй"
+
+#: harddrake/v4l.pm:130
+#, fuzzy, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Тодорхойгүй"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Тодорхойгүй|CPH06X (bt878) [олон нийлүүлэгчид]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Ихэнх орчин үеийн ТВ картуудын хувьд GNU/Linux цөмийн bttv модуль тохирох "
+"параметрүүдийг автоматаар таньдаг.\n"
+"Хэрэв таны карт буруу танигдсан бол та тохирох тоглуулагч болон картын "
+"төрлийг энд сонгож болно. Зүгээр л ТВ картныхаа хэрэгтэй параметрүүдийг "
+"сонгоно уу."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr ""
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "төрөл:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ок"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Тийм"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Үгүй"
+
+#: interactive.pm:258
+#, fuzzy, c-format
+msgid "Choose a file"
+msgstr "Файл сонгох"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Нэмэх"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Өөрчлөх"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Устгах"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Дуусгах"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Өмнөх"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr ""
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Таны сонголт уу? (үндсэн нь %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Та бөглөх хэрэгтэй болох утгууд:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Таны сонголт уу? (үндсэн нь %s) "
+
+#: interactive/stdio.pm:94
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Товч %d:"
+
+#: interactive/stdio.pm:95
+#, fuzzy, c-format
+msgid "Do you want to click on this button?"
+msgstr "Та суулгалтыг үргэлжлүүлэхийг хүсэж байна уу?"
+
+#: interactive/stdio.pm:104
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Таны сонголт уу? (үндсэн нь %s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr ""
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+
+#: interactive/stdio.pm:138
+#, fuzzy, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr "Мэдэгдэл Бичээс г"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr ""
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Андорра"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Арабын Нэгдсэн Эмират"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Афганистан"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Антигуа болон Барбуда"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Ангуйлла"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Албани"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Армени"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Нидерландын Антилын арлууд"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Ангол"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Антрактид"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Аргентин"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Америкийн Самао"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Австри"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Австрали"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Аруба"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Азарбажани"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Босни ба Херцеговина"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Барбадос"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Бангладеш"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Бельги"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Буркина Фасо"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Болгарь"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Бахрайн"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Бурунди"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Бенин"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Бермуда"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Бруне Даруссалам"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Болив"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Бразил"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Бахама"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Бутан"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Бувет Арал"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Ботсвана"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Беларус"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Белиз"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Канад"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Кокос (Кийлинг) -ын Аралууд"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Конго (Киншаса)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Төв Африкийн Бүгд Найрамдах Улс"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr ""
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Швейцарь"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Кот-д'Ивуар"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Коок Аралууд"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Чили"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Камерун"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Хятад"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Колумб"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Коста Рика"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr ""
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Куба"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Капе Верде"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Кристмасын Арал"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Кипр"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Чех"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Герман"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Дижибути"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Дани"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Доминик"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Доминиканы Бүгд Найрамдах Улс"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Алжир"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Эквадор"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Эстони"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Египт"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Баруун Сахара"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Эритреа"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Испани"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Этиоп"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Финланд"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Фижи"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Фалкланд арлууд (Малвинас)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Микронесиа"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Фарое Аралууд"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Франц"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Габон"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Англи"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Гренада"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Гүрж"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Франц гвиана"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Гана"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Гибралтар"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Грек"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Гамби"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Гвиней"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Гваделупа"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Эквадорын Гвинеа"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Грек"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Гуатемала"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Гуам"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Гуйнеа-Биссау"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Гуяана"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Хонконг"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Неэрд, МакДоналдын Аралууд"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Гондурас"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Хорват"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Гайти"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Унгар"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Индонез"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ирланд"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Изриаль"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Энэтхэг"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Британийн Энэтхэгийн Далайн Газар Нутаг"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Ирак"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Иран"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Исланд"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Итали"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Ямайка"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Иордан"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Япон"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Кени"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Киргистан"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Камбож"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Кирибати"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Коморос"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr ""
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr ""
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Кувейт"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Кеймений Аралууд"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Казакстан"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Лаос"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Ливан"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Сайнт Лучиа"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Лейхенштейн"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Шри Ланка"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Либера"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Лесото"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Литвани"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Люксенбүрг"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Латви"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Либя"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Марокко"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Монако"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Молдав"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Мадаксакар"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Маршаллын Аралууд"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Македон"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Мали"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Мяанмар"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Монгол"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Умард Мариана Аралууд"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Мартиник"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Мавритани"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Монтсеррат"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Мальт"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Мауритиус"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Малдива"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Малави"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Мексик"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Малайз"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Мозамбик"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Намибиа"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Шинэ Калидоне"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Нигер"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Норфолк Арал"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Нигер"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Никорагуа"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Голланд"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Норвеги"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Балба"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Науру"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Ниве"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Шинэ Зеаланд"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Оман"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Панама"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Перу"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Франц Полинесиа"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Папуа Шинэ Гвинеа"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Филлипинни"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Пакистан"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Польш"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Сайнт Пиерре ба Микуелон"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Питкайрн"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Порто Рико"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Палестин"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Португали"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Парагвай"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Палау"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Катар"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Реюньон"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Румин"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Орос"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Руанда"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Саудын Араб"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Соломоны Аралууд"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Сейшеллийн арлууд"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Судан"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Швед"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Сингапур"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Сайнт Елена"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Словени"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Свалбард, Жан Майен Аралууд"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Словак"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Сиерра Леоне"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "Сан Марино"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Сенегал"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Сомали"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Суринам"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Сао Томэ ба Принцип"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "Ел Салвадорь"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Сири"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Швазиланд"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Туркууд болон Кайкосын Аралууд"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Чад"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Френчийн Өмнөд хэсгийн Газар нутаг"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Того"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Тайланд"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Тажикстан"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Токелау"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Зүүн Тимур"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Туркмен"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Тунис"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Тонга"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Турк"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Тринидад болон Тобаго"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Тувалу"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Тайван"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Танзан"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Украйн"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Уганда"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "АНУ"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Уругвай"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Узбекстан"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr ""
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Венесуаль"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Виржин Аралууд (Британи)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr ""
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Вьетнам"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Вануату"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Вилямс ба футуна"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Самао"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Иемэн"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Майотте"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Өмнөд Африк"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Замби"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Зимбабе"
+
+#: lang.pm:1153
+#, fuzzy, c-format
+msgid "Welcome to %s"
+msgstr "Тавтай морил тийш"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Эхлээд логик хуваалтыг устга\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"г вы вы CD г г ямх CD Бүрдэл хэсэг бол аас ямх ерөнхий г аас Бүрдэл хэсэг "
+"аас вы вы Томоор аас Бүрдэл хэсэг аас бол г г аас CD"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "CUPS тохиргоо"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "Гараар"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Энд та удирдах самбар тохируулж болно"
+
+#: modules/interactive.pm:63
+#, fuzzy, c-format
+msgid "Found %s interfaces"
+msgstr "Та ямар нэгэн %s гэсэн харагдалттай юу?"
+
+#: modules/interactive.pm:64
+#, fuzzy, c-format
+msgid "Do you have another one?"
+msgstr "Та ямар нэгэн %s гэсэн харагдалттай юу?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Та ямар нэгэн %s гэсэн харагдалттай юу?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Техник хангамжийн мэдээллийг харах"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "%s карт %s-ийн драйверыг суулгаж байна"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "%s карт %s-ийн драйверыг суулгаж байна"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "%s карт %s-ийн драйверыг суулгаж байна"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "%s карт %s-ийн драйверыг суулгаж байна"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "%s карт %s-ийн драйверыг суулгаж байна"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+
+#: modules/interactive.pm:118
+#, fuzzy, c-format
+msgid "Module options:"
+msgstr "Дискийн төхөөрөмж холбох"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Автомат судалгаа"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr ""
+
+#: modules/interactive.pm:156
+#, fuzzy, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr "Ачаалж байна... с вы бусад?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr ""
+
+#: partition_table.pm:500
+#, fuzzy, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Өргөтгөгдсөн"
+
+#: partition_table.pm:518
+#, fuzzy, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr "Та ямх хүснэгт бол."
+
+#: partition_table.pm:597
+#, fuzzy, c-format
+msgid "Error reading file %s"
+msgstr "Файл уншихад алдаа\n"
+
+#: partition_table.pm:604
+#, fuzzy, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "с."
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr ""
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "%s файл руу бичих үед алдаа гарлаа"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr ""
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr ""
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr ""
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr ""
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, fuzzy, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Аргумент г."
+
+#: security/help.pm:13
+#, fuzzy, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr ""
+"Аргумент г\n"
+" Зөвшөөрөх."
+
+#: security/help.pm:15
+#, fuzzy, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr ""
+"Аргумент г\n"
+" Зөвшөөрөх."
+
+#: security/help.pm:17
+#, fuzzy, c-format
+msgid "Allow/Forbid autologin."
+msgstr ""
+"Аргументууд: (арг)\n"
+"\n"
+"автомат нэвтрэлтийг Зөвшөөр/Хоригло."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, fuzzy, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr "Аргумент г үгүй бол."
+
+#: security/help.pm:27
+#, fuzzy, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Аргумент г."
+
+#: security/help.pm:29
+#, fuzzy, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+"Аргументууд: (арг)\n"
+"\n"
+"Эзний зайн нэвтрэлтийг Зөвшөөр/Хоригло."
+
+#: security/help.pm:31
+#, fuzzy, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Аргумент г."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+
+#: security/help.pm:48
+#, fuzzy, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr "Аргумент г X."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, fuzzy, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr "Аргумент г байхгүй тийш вы г."
+
+#: security/help.pm:63
+#, fuzzy, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr "Аргумент г ҮЕ ҮЕ бол Цэг<SERVER_LEVEL> бол ямх аас."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, fuzzy, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr "Аргумент Сонордуулга г нэр г бол."
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Хамгаалалт:"
+
+#: security/help.pm:82
+#, fuzzy, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Аргумент Сонордуулга г."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr ""
+
+#: security/help.pm:86
+#, fuzzy, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Аргумент г аас."
+
+#: security/help.pm:88
+#, fuzzy, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Аргумент г."
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Аргумент г\n"
+" аас бүлэг."
+
+#: security/help.pm:92
+#, fuzzy, c-format
+msgid "Use password to authenticate users."
+msgstr "Аргумент г хэрэглэгчид."
+
+#: security/help.pm:94
+#, fuzzy, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+"Аргумент: (arg)\n"
+"\n"
+"итернэт карт шалгалт идэвхижүүлэх/болих."
+
+#: security/help.pm:96
+#, fuzzy, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+"Аргументууд: (арг)\n"
+"\n"
+" Өдөр тутмын нууцлалын шалгалтыг идэвхжүүлэх/ идэвхгүйжүүлэх."
+
+#: security/help.pm:98
+#, fuzzy, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr ""
+"Аргумент г\n"
+" Нээх ямх."
+
+#: security/help.pm:100
+#, fuzzy, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Аргумент нэр г нэр аас."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+
+#: security/help.pm:104
+#, fuzzy, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Аргумент г."
+
+#: security/help.pm:106
+#, fuzzy, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr "Аргумент г аас аас."
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Аргумент г."
+
+#: security/help.pm:109
+#, fuzzy, c-format
+msgid "if set to yes, check open ports."
+msgstr "Тийм."
+
+#: security/help.pm:110
+#, fuzzy, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr "Тийм үгүй ямх хэрэглэгчид бусад."
+
+#: security/help.pm:117
+#, fuzzy, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "Тийм эрх аас ямх хэрэглэгчид."
+
+#: security/help.pm:118
+#, fuzzy, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "Тийм ямх горим."
+
+#: security/help.pm:119
+#, fuzzy, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Тийм өдөр тутам."
+
+#: security/help.pm:120
+#, fuzzy, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Тийм аас."
+
+#: security/help.pm:121
+#, fuzzy, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Тийм ямх."
+
+#: security/help.pm:122
+#, fuzzy, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "Тийм аас."
+
+#: security/help.pm:123
+#, fuzzy, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "Тийм аас."
+
+#: security/help.pm:124
+#, fuzzy, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Тийм."
+
+#: security/help.pm:125
+#, fuzzy, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "Тийм."
+
+#: security/help.pm:126
+#, fuzzy, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Тийм."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "хэрэв тийм гэвэл тайлангийн үр дүн и-мэйлээр шалгагдах болно."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, fuzzy, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Тийм."
+
+#: security/help.pm:131
+#, fuzzy, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "Тийм."
+
+#: security/help.pm:132
+#, fuzzy, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Тийм."
+
+#: security/help.pm:134
+#, fuzzy, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Аргумент хэмжээ г хэмжээ аас."
+
+#: security/help.pm:136
+#, fuzzy, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Аргумент г аас үгүй."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr ""
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Аргумент г."
+
+#: security/l10n.pm:11
+#, fuzzy, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Аргумент г."
+
+#: security/l10n.pm:12
+#, fuzzy, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr ""
+"Аргумент г\n"
+" Зөвшөөрөх."
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr ""
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr ""
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr ""
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr ""
+"Аргументууд: (арг)\n"
+"\n"
+"Эзний зайн нэвтрэлтийг Зөвшөөр/Хоригло."
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr ""
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr ""
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr ""
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, fuzzy, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Тохируулах"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr ""
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr ""
+
+#: security/l10n.pm:28
+#, fuzzy, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Аргумент Сонордуулга г."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr ""
+
+#: security/l10n.pm:30
+#, fuzzy, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Аргумент г аас."
+
+#: security/l10n.pm:31
+#, fuzzy, c-format
+msgid "Enable msec hourly security check"
+msgstr "Аргумент г."
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr ""
+"Аргумент г\n"
+" аас бүлэг."
+
+#: security/l10n.pm:33
+#, fuzzy, c-format
+msgid "Use password to authenticate users"
+msgstr "Аргумент г хэрэглэгчид."
+
+#: security/l10n.pm:34
+#, fuzzy, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+"Аргумент: (arg)\n"
+"\n"
+"итернэт карт шалгалт идэвхижүүлэх/болих."
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr ""
+
+#: security/l10n.pm:36
+#, fuzzy, c-format
+msgid "Sulogin(8) in single user level"
+msgstr ""
+"Аргумент г\n"
+" Нээх ямх."
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Нууц үг байхгүй"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr ""
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "бол"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr ""
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "Эзэн"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr ""
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr ""
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Хэрэглэгчид"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "Нээх"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr ""
+
+#: security/l10n.pm:47
+#, fuzzy, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Тийм эрх аас ямх хэрэглэгчид."
+
+#: security/l10n.pm:48
+#, fuzzy, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Тийм ямх горим."
+
+#: security/l10n.pm:49
+#, fuzzy, c-format
+msgid "Run the daily security checks"
+msgstr "Тийм өдөр тутам."
+
+#: security/l10n.pm:50
+#, fuzzy, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Тийм аас."
+
+#: security/l10n.pm:51
+#, fuzzy, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Тийм ямх."
+
+#: security/l10n.pm:52
+#, fuzzy, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Тийм аас."
+
+#: security/l10n.pm:53
+#, fuzzy, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Тийм аас."
+
+#: security/l10n.pm:54
+#, fuzzy, c-format
+msgid "Report unowned files"
+msgstr "Тийм."
+
+#: security/l10n.pm:55
+#, fuzzy, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Тийм."
+
+#: security/l10n.pm:56
+#, fuzzy, c-format
+msgid "Run chkrootkit checks"
+msgstr "Тийм."
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, fuzzy, c-format
+msgid "Report check result by mail"
+msgstr "хэрэв тийм гэвэл тайлангийн үр дүн и-мэйлээр шалгагдах болно."
+
+#: security/l10n.pm:60
+#, fuzzy, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Тийм."
+
+#: security/l10n.pm:61
+#, fuzzy, c-format
+msgid "Report check result to syslog"
+msgstr "Тийм."
+
+#: security/l10n.pm:62
+#, fuzzy, c-format
+msgid "Reports check result to tty"
+msgstr "Тийм."
+
+#: security/level.pm:10
+#, fuzzy, c-format
+msgid "Welcome To Crackers"
+msgstr "Тавтай морил тийш"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Стандарт"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Өндөр"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr ""
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Нууц үгс одоо боломжтой болсон, гэвч сүлжээний тооцоолуураар хэрэглэхийг "
+"зөвлөмөөргүй байна."
+
+#: security/level.pm:45
+#, fuzzy, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr "бол Интернэт."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+
+#: security/level.pm:50
+#, fuzzy, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr "бол бол."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Нууцлал"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Үндсэн"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr ""
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "Хамгаалалт"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr ""
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Нууцлалын Удирдлага (бүртгэл эсвэл и-мэйл)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr ""
+"ЛДДА (Линуксын Дэлгэрэнгүй Дууны Архитектури) дууны системийг ажиллуулах"
+
+#: services.pm:20
+#, fuzzy, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "бол."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd нь цэнэгийн байдлыг хянахад хэрэглэгддэг ба syslog руу бүртгэдэг.\n"
+"Энэ нь мөн цэнэг бага болох үед машиныг унтрааж чадна."
+
+#: services.pm:23
+#, fuzzy, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr "ачаалах бол."
+
+#: services.pm:25
+#, fuzzy, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr "бол Программ аас."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+
+#: services.pm:33
+#, fuzzy, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr "HardDrake."
+
+#: services.pm:35
+#, fuzzy, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "бол Вэб бол."
+
+#: services.pm:36
+#, fuzzy, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr "аас бусад бол аас бол."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, fuzzy, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr "ямх г."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"/boot дэх цөмийн толгойн автомат дахин үүсгэлт,\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, fuzzy, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Автоматаар аас."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+
+#: services.pm:59
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr "бол бол г."
+
+#: services.pm:62
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr "бол."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr ""
+
+#: services.pm:67
+#, fuzzy, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr "PCMCIA бол ямх бол."
+
+#: services.pm:70
+#, fuzzy, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr "аас."
+
+#: services.pm:73
+#, fuzzy, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr "бол Мэйл Төлөөлөгч бол Программ."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+
+#: services.pm:76
+#, fuzzy, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr "аас"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+
+#: services.pm:81
+#, fuzzy, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr "хэрэглэгчид."
+
+#: services.pm:83
+#, fuzzy, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr "хэрэглэгчид бол ямх бусад."
+
+#: services.pm:85
+#, fuzzy, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr "хэрэглэгчид жигсаалт аас аас хэрэглэгчид."
+
+#: services.pm:87
+#, fuzzy, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Нээх"
+
+#: services.pm:88
+#, fuzzy, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr "бол log log бол."
+
+#: services.pm:90
+#, fuzzy, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Ачаалах."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "X Бичгийн Серверийг эхлүүлэх (энэ нь Xorg-г ажиллуулахад чухал)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Хэвлэж байна"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Интернэт"
+
+#: services.pm:118
+#, fuzzy, c-format
+msgid "File sharing"
+msgstr "Файл"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Систем"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Дээд"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Өгөгдлийн баазын сервер"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Үйлчилгээ"
+
+#: services.pm:144
+#, fuzzy, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Сонгох"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr ""
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr ""
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr ""
+
+#: services.pm:207
+#, fuzzy, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr "Үгүй."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Мэдээлэл"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr ""
+
+#: services.pm:215
+#, fuzzy, c-format
+msgid "On boot"
+msgstr "Идэвхитэй"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Эхлэх"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Зогсоох"
+
+#: standalone.pm:24
+#, fuzzy, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Программ бол вы аас Ерөнхий Нийтийн Software г Программ бол ямх аас Ерөнхий "
+"Нийтийн г аас Ерөнхий Нийтийн Программ Software"
+
+#: standalone.pm:43
+#, fuzzy, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr "Сэргээх х.программ г г г г жигсаалт аас г X хэрэглэгчид г г г"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[СОНГОЛТУУД] [ПРОГРАМЫН_НЭР]\n"
+"\n"
+"СОНГОЛТУУД:\n"
+" --help - энэ тусламжийн мэдээллийг хэвлэнэ.\n"
+" --report - програм нь мандраке хэрэгсэлүүдийн нэг байх ёстой\n"
+" --incident - програм нь мандраке хэрэгсэлүүдийн нэг байх ёстой"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"Бичиг х.программ г цонх цонх г г аас г г аас г г х.программ байхгүй х."
+"программ\n"
+" х.программ\n"
+" нэр аас х.программ\n"
+"."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr "СОНГОЛТУУД Терминал Сервер г г г г г г г Зураг нэр г Зураг нэр"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[гар]"
+
+#: standalone.pm:100
+#, fuzzy, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "Сонордуулга"
+
+#: standalone.pm:101
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr "СОНГОЛТУУД Интернэт х.программ г г г г г г г аяархан тийш."
+
+#: standalone.pm:111
+#, fuzzy, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"\n"
+" үгүй ямх горим\n"
+" үгүй\n"
+" ямх Тодорхойлолт Цонх\n"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Сервэр нэмэх"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Өмнөд Африк"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Австри"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Өмнөд Африк"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Номхон далай"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Өмнөд Африк"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Гон Конг"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "ОХУ"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Югослав"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr ""
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "Файл сонгогч"
+
+#: ugtk2.pm:850
+#, fuzzy, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Та хавтас бус харин файл оруулах ёстой.\n"
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "»/« нэр түлхүүр биш зөвхөн лавлах байх боломжтой. "
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Лавлах биш"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "»%s« файл алга\n"
+
+#: ugtk2.pm:933
+#, fuzzy, c-format
+msgid "Expand Tree"
+msgstr "Дотогш нь задлах"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr ""
+
+#: ugtk2.pm:935
+#, fuzzy, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "бүлэг"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, fuzzy, c-format
+msgid "Installation failed"
+msgstr "Хэлбэр!"
+
+#~ msgid "Icon"
+#~ msgstr "Эмблем"
+
+#, fuzzy
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Дугаар аас:"
+
+#, fuzzy
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "аас"
+
+#, fuzzy
+#~ msgid "Radio support:"
+#~ msgstr "Радио:"
diff --git a/perl-install/share/po/ms.po b/perl-install/share/po/ms.po
new file mode 100644
index 000000000..7c64b2c36
--- /dev/null
+++ b/perl-install/share/po/ms.po
@@ -0,0 +1,6136 @@
+# DrakX Bahasa Melayu (Malay) (ms).
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>, 2003
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-02-19 14:09+0800\n"
+"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
+"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Sila tunggu"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Pemasangan pemuat boot sedang dijalankan"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+
+#: any.pm:179
+#, fuzzy, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "ralat:"
+
+#: any.pm:185
+#, fuzzy, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Buka\n"
+"\n"
+" Arahan dan\n"
+"\n"
+"."
+
+#: any.pm:223
+#, fuzzy, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr "on on Sistem?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Sektor pertama pemacu (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Sektor pertama bagi partisyen root"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Pada Cekara Liut"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Langkau"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Pemasangan LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Dimana anda ingin pemuatbut ini dipasang?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Tetapan Gaya Boot"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Pilihan utama pemuatboot"
+
+#: any.pm:299
+#, fuzzy, c-format
+msgid "Bootloader"
+msgstr "PemuatBoot"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Pemuatboot untuk digunakan"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Peranti boot"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Penangguhan sebelum memboot imej default"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Hidupkan ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Hidupkan ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Hidupkan ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Katalaluan"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Katalaluan tidak sepadan"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Sila cuba lagi"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "fail"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Katalaluan (sekali lagi)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Hadkan pilihan arahan baris"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr ""
+
+#: any.pm:318
+#, fuzzy, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "tidak"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr ""
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr ""
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Berikan saiz ram dalam MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Mesej Init"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Kelengahan Firmware Terbuka"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Hadmasa Tamat Boot Kernel"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Hidupkan Boot CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Hidupkan Boot OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "OS Default?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Imej"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Tambah"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Mod video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profil rangkaian"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Label"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Default"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr ""
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Label kosong tidak dibenarkan"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Anda mesti nyatakan imej kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Anda mesti nyatakan partisyen root"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Label ini telah digunakan"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr ""
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "OS Lain (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "OS Lain (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "OS Lain (Windows...)"
+
+#: any.pm:489
+#, fuzzy, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr "on."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "akses ke program X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "akses ke alatan rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "benar \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "akses kepada fail pentadbiran"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "akses ke alatan rangkaian"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "akses ke alatan himpunan"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(telah ditambah %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Sila berikan nama pengguna"
+
+#: any.pm:658
+#, fuzzy, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Nama mesti mengandungi hanya aksara latin hufuf kecil, nombor, `-' dan `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Nama pengguna terlalu panjang"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Nama pengguna ini telahpun ditambah"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID Pengguna"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID kumpulan"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s mestilah nombor"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Tambah pengguna"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Masukkan pengguna\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Selesai"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Terima pengguna"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Nama sebenar"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Nama logmasuk"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr ""
+
+#: any.pm:736
+#, fuzzy, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "on pengguna."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Guna ciri ini"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Pilih pengguna default:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Pilih pengurus tetingkap untuk dilaksanakan:"
+
+#: any.pm:767
+#, fuzzy, c-format
+msgid "License agreement"
+msgstr "Perjanjian Lesen"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Keluar"
+
+#: any.pm:773
+#, fuzzy, c-format
+msgid "Release Notes"
+msgstr "Nota Keluaran"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Terima"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Tolak"
+
+#: any.pm:795 any.pm:863
+#, fuzzy, c-format
+msgid "Please choose a language to use."
+msgstr "Pilih jenis giliran yang anda hendak guna"
+
+#: any.pm:796 any.pm:864
+#, fuzzy, c-format
+msgid "Language choice"
+msgstr "Pilihan Tidak Sah"
+
+#: any.pm:826
+#, fuzzy, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "dan ulanghidup."
+
+#: any.pm:829
+#, fuzzy, c-format
+msgid "Multi languages"
+msgstr "Tetapan multi-head"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, fuzzy, c-format
+msgid "All languages"
+msgstr "Semua Pakej"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Negara / Kawasan"
+
+#: any.pm:920
+#, fuzzy, c-format
+msgid "Please choose your country."
+msgstr "Sila pilih jenis logmasuk anda:"
+
+#: any.pm:922
+#, fuzzy, c-format
+msgid "Here is the full list of available countries"
+msgstr "penuh"
+
+#: any.pm:923
+#, fuzzy, c-format
+msgid "Other Countries"
+msgstr "Port lain"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Lanjutan"
+
+#: any.pm:929
+#, fuzzy, c-format
+msgid "Input method:"
+msgstr "Kaedah masukan kebolehcapaian"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Tiada"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "No sharing"
+msgstr "Ciri perkongsian - %s"
+
+#: any.pm:1012
+#, fuzzy, c-format
+msgid "Allow all users"
+msgstr "Benarkan capaian dari semua hos"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Tersendiri"
+
+#: any.pm:1016
+#, fuzzy, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr "on Kongsi dalam dan Tersendiri pengguna"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+
+#: any.pm:1064
+#, fuzzy, c-format
+msgid "Launch userdrake"
+msgstr "_Laksana up2date..."
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Tutup"
+
+#: any.pm:1066
+#, fuzzy, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr "pengguna pengguna."
+
+#: any.pm:1158
+#, fuzzy, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "keluar dan Ctrl Alt"
+
+#: any.pm:1162
+#, fuzzy, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "keluar dan dalam"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Zonmasa"
+
+#: any.pm:1212
+#, fuzzy, c-format
+msgid "Which is your timezone?"
+msgstr "Persekitaran Desktop adalah:"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Mengsinkronisasikan jam perkakasan ke masa sistem"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Mengsinkronisasikan jam perkakasan ke masa sistem"
+
+#: any.pm:1234
+#, fuzzy, c-format
+msgid "NTP Server"
+msgstr "Pelayan NTP Baru"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr ""
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Fail lokal"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Kad Pintar"
+
+#: authentication.pm:27 authentication.pm:163
+#, fuzzy, c-format
+msgid "Windows Domain"
+msgstr "_Domain NIS:"
+
+#: authentication.pm:28
+#, fuzzy, c-format
+msgid "Active Directory with SFU"
+msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s"
+
+#: authentication.pm:29
+#, fuzzy, c-format
+msgid "Active Directory with Winbind"
+msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Fail tempatan :"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+
+#: authentication.pm:69
+#, fuzzy, c-format
+msgid "Windows Domain:"
+msgstr "_Domain NIS:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+
+#: authentication.pm:70
+#, fuzzy, c-format
+msgid "Active Directory with SFU:"
+msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, fuzzy, c-format
+msgid "Active Directory with Winbind:"
+msgstr "tak boleh menindih bukan-direktori %s dengan direktori %s"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, fuzzy, c-format
+msgid "Authentication LDAP"
+msgstr "Pengesahan LDAP"
+
+#: authentication.pm:97
+#, fuzzy, c-format
+msgid "LDAP Base dn"
+msgstr "DN _Asas LDAP:"
+
+#: authentication.pm:98
+#, fuzzy, c-format
+msgid "LDAP Server"
+msgstr "Pelayan _LDAP:"
+
+#: authentication.pm:111 fsedit.pm:23
+#, fuzzy, c-format
+msgid "simple"
+msgstr "Pengurus tetingkap ringkas"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr ""
+
+#: authentication.pm:121 authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Active Directory"
+msgstr "Direktori mengendungi imej:"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domain"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Pelayan"
+
+#: authentication.pm:125
+#, fuzzy, c-format
+msgid "LDAP users database"
+msgstr "Pelayan Pengkalan Data SQL"
+
+#: authentication.pm:126
+#, fuzzy, c-format
+msgid "Use Anonymous BIND "
+msgstr "Guna ftp bukan-anonymous"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr ""
+
+#: authentication.pm:128
+#, fuzzy, c-format
+msgid "Password for user"
+msgstr "Ralat menetapkan katalaluan untuk pengguna %s: %s.\n"
+
+#: authentication.pm:140
+#, fuzzy, c-format
+msgid "Authentication NIS"
+msgstr "Pengesahan NIS"
+
+#: authentication.pm:141
+#, fuzzy, c-format
+msgid "NIS Domain"
+msgstr "_Domain NIS:"
+
+#: authentication.pm:142
+#, fuzzy, c-format
+msgid "NIS Server"
+msgstr "_Pelayan NIS:"
+
+#: authentication.pm:147
+#, fuzzy, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"C Tetingkap dan Domain Tetingkap dihidupkan dan Tetingkap Domain dan "
+"Namapengguna Katalaluan."
+
+#: authentication.pm:159
+#, fuzzy, c-format
+msgid "Authentication Windows Domain"
+msgstr "domain NIS default"
+
+#: authentication.pm:161
+#, fuzzy, c-format
+msgid "Active Directory Realm "
+msgstr "kawasan kerberos default"
+
+#: authentication.pm:164
+#, fuzzy, c-format
+msgid "Domain Admin User Name"
+msgstr "Tiada nama pengguna dinyatakan.\n"
+
+#: authentication.pm:165
+#, fuzzy, c-format
+msgid "Domain Admin Password"
+msgstr "Tetapkan Katalaluan Root"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Pengesahan"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Sila masukkan katalaluan root bagi sistem."
+
+#: authentication.pm:184
+#, fuzzy, c-format
+msgid "Authentication method"
+msgstr "Kaedah Penyelamatan"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Tiada katalaluan"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr ""
+
+#: authentication.pm:351
+#, fuzzy, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "tidak NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+
+#: bootloader.pm:1028
+#, fuzzy, c-format
+msgid "LILO with text menu"
+msgstr "Menu alat mod teks"
+
+#: bootloader.pm:1029
+#, fuzzy, c-format
+msgid "GRUB with graphical menu"
+msgstr "Konfigurasi kemaskini menu selesai dg ERROR !!!"
+
+#: bootloader.pm:1030
+#, fuzzy, c-format
+msgid "GRUB with text menu"
+msgstr "Menu alat mod teks"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, fuzzy, c-format
+msgid "not enough room in /boot"
+msgstr "dalam"
+
+#: bootloader.pm:1679
+#, fuzzy, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "on"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+
+#: bootloader.pm:1746
+#, fuzzy, c-format
+msgid "Re-install Boot Loader"
+msgstr "Pasang pemuat but baru"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, fuzzy, c-format
+msgid "%d minutes"
+msgstr " minit"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minit"
+
+#: common.pm:149
+#, fuzzy, c-format
+msgid "%d seconds"
+msgstr " saat"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, fuzzy, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr "direktori dan lokal Baru."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Baru"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Nyahlekap"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Lekap"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, fuzzy, c-format
+msgid "Mount point"
+msgstr "Titik Lekapan"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Pilihan"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Ralat"
+
+#: diskdrake/dav.pm:83
+#, fuzzy, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Sila masukkan direktori pelayan HTTP."
+
+#: diskdrake/dav.pm:87
+#, fuzzy, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Pelayan: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, fuzzy, c-format
+msgid "Mount point: "
+msgstr "Titik Lekapan"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Pilihan: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Pempartisyenan"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Baca dengan cermat!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Keluar"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Teruskan"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Bantuan"
+
+#: diskdrake/hd_gtk.pm:197
+#, fuzzy, c-format
+msgid "Choose action"
+msgstr "Pilih secara manual"
+
+#: diskdrake/hd_gtk.pm:201
+#, fuzzy, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr "Tetingkap on on"
+
+#: diskdrake/hd_gtk.pm:203
+#, fuzzy, c-format
+msgid "Please click on a partition"
+msgstr "Anda mesti mempunyai partisyen / untuk dipasang."
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Perincian"
+
+#: diskdrake/hd_gtk.pm:265
+#, fuzzy, c-format
+msgid "No hard drives found"
+msgstr "Tiada pemacu liut dikesan"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Entah"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, fuzzy, c-format
+msgid "Journalised FS"
+msgstr "Jenis FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Tetingkap"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Lain-lain"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Kosong"
+
+#: diskdrake/hd_gtk.pm:356
+#, fuzzy, c-format
+msgid "Filesystem types:"
+msgstr "Tiada sistemfail"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Amaran"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Partisyen ini adalah sebahagian dari peranti RAID."
+
+#: diskdrake/hd_gtk.pm:389
+#, fuzzy, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Jurucipta Pertama Kali"
+
+#: diskdrake/hd_gtk.pm:389
+#, fuzzy, c-format
+msgid "Use ``%s'' instead"
+msgstr "atau digunakan:"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Jenis"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose another partition"
+msgstr "Edit partisyen: /dev/%s"
+
+#: diskdrake/interactive.pm:193
+#, fuzzy, c-format
+msgid "Choose a partition"
+msgstr "_Ubahsuai Partisyen"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Nyahcara"
+
+#: diskdrake/interactive.pm:255
+#, fuzzy, c-format
+msgid "Toggle to normal mode"
+msgstr "Selamat datang ke %s - Mod Menyelamat"
+
+#: diskdrake/interactive.pm:255
+#, fuzzy, c-format
+msgid "Toggle to expert mode"
+msgstr "/Mod pakar dalam _wizard"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Pengesahan"
+
+#: diskdrake/interactive.pm:269
+#, fuzzy, c-format
+msgid "Continue anyway?"
+msgstr "_Pasang juga"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Keluar tanpa simpan"
+
+#: diskdrake/interactive.pm:274
+#, fuzzy, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Keluar?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr ""
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, fuzzy, c-format
+msgid "Clear all"
+msgstr "Semua Pakej"
+
+#: diskdrake/interactive.pm:305
+#, fuzzy, c-format
+msgid "Auto allocate"
+msgstr "Auto _Pilih"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Lagi"
+
+#: diskdrake/interactive.pm:311
+#, fuzzy, c-format
+msgid "Hard drive information"
+msgstr "Partisyen Pemacu Keras:"
+
+#: diskdrake/interactive.pm:343
+#, fuzzy, c-format
+msgid "All primary partitions are used"
+msgstr "Semua"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr ""
+
+#: diskdrake/interactive.pm:345
+#, fuzzy, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "Kepada"
+
+#: diskdrake/interactive.pm:354
+#, fuzzy, c-format
+msgid "No supermount"
+msgstr "Menidakupayakan Supermount"
+
+#: diskdrake/interactive.pm:355
+#, fuzzy, c-format
+msgid "Supermount"
+msgstr "Menidakupayakan Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, fuzzy, c-format
+msgid "Save partition table"
+msgstr "Edit partisyen: /dev/%s"
+
+#: diskdrake/interactive.pm:363
+#, fuzzy, c-format
+msgid "Restore partition table"
+msgstr "Edit partisyen: /dev/%s"
+
+#: diskdrake/interactive.pm:364
+#, fuzzy, c-format
+msgid "Rescue partition table"
+msgstr "Edit partisyen: /dev/%s"
+
+#: diskdrake/interactive.pm:366
+#, fuzzy, c-format
+msgid "Reload partition table"
+msgstr "Edit partisyen: /dev/%s"
+
+#: diskdrake/interactive.pm:368
+#, fuzzy, c-format
+msgid "Removable media automounting"
+msgstr " -a - pilih semua media non-removable.\n"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Pilih fail"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Jadual partisyen backup tidak mempunyai saiz yang sama\n"
+"Masih teruskan?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr ""
+
+#: diskdrake/interactive.pm:428
+#, fuzzy, c-format
+msgid "Detailed information"
+msgstr "Maklumat tidak sah"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Ubah saiz"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Format"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, fuzzy, c-format
+msgid "Add to RAID"
+msgstr "Tambah kepada Tandabuku"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, fuzzy, c-format
+msgid "Add to LVM"
+msgstr "Tambah kepada Tandabuku"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Padam"
+
+#: diskdrake/interactive.pm:451
+#, fuzzy, c-format
+msgid "Remove from RAID"
+msgstr "Buang Daripada Panel"
+
+#: diskdrake/interactive.pm:452
+#, fuzzy, c-format
+msgid "Remove from LVM"
+msgstr "Buang Daripada Panel"
+
+#: diskdrake/interactive.pm:453
+#, fuzzy, c-format
+msgid "Modify RAID"
+msgstr "Peranti RAID"
+
+#: diskdrake/interactive.pm:454
+#, fuzzy, c-format
+msgid "Use for loopback"
+msgstr "Guna extendedstatus %s utk info lanjut.\n"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Cipta"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, fuzzy, c-format
+msgid "Create a new partition"
+msgstr "Cipta Queue baru"
+
+#: diskdrake/interactive.pm:513
+#, fuzzy, c-format
+msgid "Start sector: "
+msgstr "Memulakan VNC"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, fuzzy, c-format
+msgid "Size in MB: "
+msgstr "Saiz (dalam MB):"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, fuzzy, c-format
+msgid "Filesystem type: "
+msgstr "Jenis Pemasangan"
+
+#: diskdrake/interactive.pm:524
+#, fuzzy, c-format
+msgid "Preference: "
+msgstr "Keutamaan"
+
+#: diskdrake/interactive.pm:527
+#, fuzzy, c-format
+msgid "Logical volume name "
+msgstr "Nama Volum _Logikal:"
+
+#: diskdrake/interactive.pm:547
+#, fuzzy, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr "dan."
+
+#: diskdrake/interactive.pm:577
+#, fuzzy, c-format
+msgid "Remove the loopback file?"
+msgstr "Pemindahan Fail (FTP)"
+
+#: diskdrake/interactive.pm:596
+#, fuzzy, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "on"
+
+#: diskdrake/interactive.pm:608
+#, fuzzy, c-format
+msgid "Change partition type"
+msgstr "Jenis tetikus dikesan: %s"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, fuzzy, c-format
+msgid "Which filesystem do you want?"
+msgstr "Tetapan Xorg mana yang anda hendak?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr ""
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, fuzzy, c-format
+msgid "Which volume label?"
+msgstr "Edit Label But"
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Label"
+
+#: diskdrake/interactive.pm:655
+#, fuzzy, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "fail?"
+
+#: diskdrake/interactive.pm:656
+#, fuzzy, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Adakah anda pasti untuk memadam peranti \"%s\"?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+
+#: diskdrake/interactive.pm:691
+#, fuzzy, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Dimana anda ingin pemuatbut ini dipasang?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, fuzzy, c-format
+msgid "Resizing"
+msgstr "Mengulangsaiz Volum Logikal"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr ""
+
+#: diskdrake/interactive.pm:751
+#, fuzzy, c-format
+msgid "This partition is not resizeable"
+msgstr "Partisyen ini adalah sebahagian dari peranti RAID."
+
+#: diskdrake/interactive.pm:756
+#, fuzzy, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Semua on"
+
+#: diskdrake/interactive.pm:758
+#, fuzzy, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "on"
+
+#: diskdrake/interactive.pm:765
+#, fuzzy, c-format
+msgid "Choose the new size"
+msgstr "Jumlah saiz pemasangan: %s"
+
+#: diskdrake/interactive.pm:766
+#, fuzzy, c-format
+msgid "New size in MB: "
+msgstr "Berikan saiz ram dalam MB"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, fuzzy, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr "Kepada on Tetingkap"
+
+#: diskdrake/interactive.pm:850
+#, fuzzy, c-format
+msgid "Choose an existing RAID to add to"
+msgstr ""
+"Tambah ke Kumpulan Volum \n"
+"sedia ada"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "baru"
+
+#: diskdrake/interactive.pm:867
+#, fuzzy, c-format
+msgid "Choose an existing LVM to add to"
+msgstr ""
+"Tambah ke Kumpulan Volum \n"
+"sedia ada"
+
+#: diskdrake/interactive.pm:874
+#, fuzzy, c-format
+msgid "LVM name?"
+msgstr "Nama Pengguna"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, fuzzy, c-format
+msgid "Moving physical extents"
+msgstr "Jumlah Extent Fizikal:"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr ""
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Gelungbalik"
+
+#: diskdrake/interactive.pm:936
+#, fuzzy, c-format
+msgid "Loopback file name: "
+msgstr "nama fail rpm [%s] tidak sah"
+
+#: diskdrake/interactive.pm:941
+#, fuzzy, c-format
+msgid "Give a file name"
+msgstr "nama fail rpm [%s] tidak sah"
+
+#: diskdrake/interactive.pm:944
+#, fuzzy, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fail"
+
+#: diskdrake/interactive.pm:945
+#, fuzzy, c-format
+msgid "File already exists. Use it?"
+msgstr "Fail Khas peranti telah wujud dalam gugusan"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, fuzzy, c-format
+msgid "Mount options"
+msgstr "Opsyen RAID"
+
+#: diskdrake/interactive.pm:984
+#, fuzzy, c-format
+msgid "Various"
+msgstr "Pelbagai peningkatan"
+
+#: diskdrake/interactive.pm:1049
+#, fuzzy, c-format
+msgid "device"
+msgstr "_Peranti"
+
+#: diskdrake/interactive.pm:1050
+#, fuzzy, c-format
+msgid "level"
+msgstr "Aras"
+
+#: diskdrake/interactive.pm:1051
+#, fuzzy, c-format
+msgid "chunk size in KiB"
+msgstr "Berikan saiz ram dalam MB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr ""
+
+#: diskdrake/interactive.pm:1083
+#, fuzzy, c-format
+msgid "What type of partitioning?"
+msgstr "Apa jenis papan kekunci yang anda ada?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr ""
+
+#: diskdrake/interactive.pm:1130
+#, fuzzy, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partisyen!"
+
+#: diskdrake/interactive.pm:1153
+#, fuzzy, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "on"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, fuzzy, c-format
+msgid "Check bad blocks?"
+msgstr "Periksa blok _teruk?"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Move files to the new partition"
+msgstr "fail"
+
+#: diskdrake/interactive.pm:1172
+#, fuzzy, c-format
+msgid "Hide files"
+msgstr "Fail Log"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, fuzzy, c-format
+msgid "Moving files to the new partition"
+msgstr "fail"
+
+#: diskdrake/interactive.pm:1192
+#, fuzzy, c-format
+msgid "Copying %s"
+msgstr "Menyalin Fail"
+
+#: diskdrake/interactive.pm:1196
+#, fuzzy, c-format
+msgid "Removing %s"
+msgstr "membuang %s"
+
+#: diskdrake/interactive.pm:1210
+#, fuzzy, c-format
+msgid "partition %s is now known as %s"
+msgstr "-%C10-%C11-%O$t$1 kini dikenali sebagai $2"
+
+#: diskdrake/interactive.pm:1211
+#, fuzzy, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Tiada partisyen RAID"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Peranti "
+
+#: diskdrake/interactive.pm:1232
+#, fuzzy, c-format
+msgid "Volume label: "
+msgstr "Label Bertindan"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Jenis: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Nama: "
+
+#: diskdrake/interactive.pm:1248
+#, fuzzy, c-format
+msgid "Start: sector %s\n"
+msgstr "Memulakan VNC"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Saiz: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ""
+
+#: diskdrake/interactive.pm:1253
+#, fuzzy, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Selamat datang ke %s"
+
+#: diskdrake/interactive.pm:1254
+#, fuzzy, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Jumlah Extent:"
+
+#: diskdrake/interactive.pm:1255
+#, fuzzy, c-format
+msgid "Formatted\n"
+msgstr "Nama Diformatkan"
+
+#: diskdrake/interactive.pm:1256
+#, fuzzy, c-format
+msgid "Not formatted\n"
+msgstr "%s tidak dijumpai"
+
+#: diskdrake/interactive.pm:1257
+#, fuzzy, c-format
+msgid "Mounted\n"
+msgstr "terlekap"
+
+#: diskdrake/interactive.pm:1258
+#, fuzzy, c-format
+msgid "RAID %s\n"
+msgstr "RAD"
+
+#: diskdrake/interactive.pm:1263
+#, fuzzy, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr "Menyalin Fail"
+
+#: diskdrake/interactive.pm:1264
+#, fuzzy, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr "Partisyen default\n"
+
+#: diskdrake/interactive.pm:1266
+#, fuzzy, c-format
+msgid "Level %s\n"
+msgstr "Aras"
+
+#: diskdrake/interactive.pm:1267
+#, fuzzy, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Jumlah saiz pemasangan: %s"
+
+#: diskdrake/interactive.pm:1268
+#, fuzzy, c-format
+msgid "RAID-disks %s\n"
+msgstr "Cekara Liut"
+
+#: diskdrake/interactive.pm:1270
+#, fuzzy, c-format
+msgid "Loopback file name: %s"
+msgstr "nama fail rpm [%s] tidak sah"
+
+#: diskdrake/interactive.pm:1273
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr "Jurupacu"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Baca-sahaja"
+
+#: diskdrake/interactive.pm:1295
+#, fuzzy, c-format
+msgid "Size: %s\n"
+msgstr "Saiz"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Maklumat: "
+
+#: diskdrake/interactive.pm:1298
+#, fuzzy, c-format
+msgid "LVM-disks %s\n"
+msgstr "Cekara Liut"
+
+#: diskdrake/interactive.pm:1299
+#, fuzzy, c-format
+msgid "Partition table type: %s\n"
+msgstr "Jenis tetikus dikesan: %s"
+
+#: diskdrake/interactive.pm:1300
+#, fuzzy, c-format
+msgid "on channel %d id %d\n"
+msgstr "ID kumpulan %s tidak sah\n"
+
+#: diskdrake/interactive.pm:1343
+#, fuzzy, c-format
+msgid "Filesystem encryption key"
+msgstr "Fail Sijil _Kekunci:"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr ""
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1348
+#, fuzzy, c-format
+msgid "The encryption keys do not match"
+msgstr "Katalaluan root tidak sepadan."
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Kekunci enkripsi"
+
+#: diskdrake/interactive.pm:1352
+#, fuzzy, c-format
+msgid "Encryption key (again)"
+msgstr "Kesan kekunci USB sekali lagi"
+
+#: diskdrake/interactive.pm:1354
+#, fuzzy, c-format
+msgid "Encryption algorithm"
+msgstr "_Kekunci Enkripsi"
+
+#: diskdrake/removable.pm:46
+#, fuzzy, c-format
+msgid "Change type"
+msgstr "Tukar Jenis"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Batal"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr ""
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, fuzzy, c-format
+msgid "Domain Authentication Required"
+msgstr "Pengesahan Proksi Diperlukan"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Which username"
+msgstr "Namapengguna FTP"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, fuzzy, c-format
+msgid "Another one"
+msgstr "Muatkan cakera lain"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, fuzzy, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "dan."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Namapengguna"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, fuzzy, c-format
+msgid "Search servers"
+msgstr "Pelay_an Pentadbir"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, fuzzy, c-format
+msgid "Search new servers"
+msgstr "Tambah alamat baru..."
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr ""
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, fuzzy, c-format
+msgid "Could not install the %s package!"
+msgstr "Tidak Dapat Membuka Pakej"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, fuzzy, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Kehilangan Alamat IP"
+
+#: do_pkgs.pm:35
+#, fuzzy, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "_Personalisasikan pakej perisian untuk dipasang"
+
+#: do_pkgs.pm:209
+#, fuzzy, c-format
+msgid "Installing packages..."
+msgstr ""
+"Memasang pakej %s\n"
+"\n"
+
+#: do_pkgs.pm:255
+#, fuzzy, c-format
+msgid "Removing packages..."
+msgstr "Membuang Pakej"
+
+#: fs/any.pm:17
+#, fuzzy, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Ralat berlaku - tiada peranti dijumpai yang sah dimana untuk mencipta sistem "
+"fail. Sila periksa perkakasan anda untuk mengenalpasti punca masalah ini."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, fuzzy, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "terpasang dalam"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, fuzzy, c-format
+msgid "Formatting partition %s"
+msgstr "_Ubahsuai Partisyen"
+
+#: fs/format.pm:63
+#, fuzzy, c-format
+msgid "Creating and formatting file %s"
+msgstr "/Fail/_Simpan dan keluar"
+
+#: fs/format.pm:116
+#, fuzzy, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "dalam"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, fuzzy, c-format
+msgid "%s formatting of %s failed"
+msgstr "Pelekapan gagal"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr ""
+
+#: fs/mount.pm:79
+#, fuzzy, c-format
+msgid "Mounting partition %s"
+msgstr "_Ubahsuai Partisyen"
+
+#: fs/mount.pm:80
+#, fuzzy, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "Gagal menyimpan direktori baru dalam %s"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Memeriksa %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, fuzzy, c-format
+msgid "error unmounting %s: %s"
+msgstr "Nyahlekap sistemfail %s: "
+
+#: fs/mount.pm:133
+#, fuzzy, c-format
+msgid "Enabling swap partition %s"
+msgstr "Naiktaraf Partisyen Swap"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Jenis Sistem Fail Asal:"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, fuzzy, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr "on fail on."
+
+#: fs/mount_options.pm:120
+#, fuzzy, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr "terpasang fail terpasang."
+
+#: fs/mount_options.pm:123
+#, fuzzy, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "on fail."
+
+#: fs/mount_options.pm:125
+#, fuzzy, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr "on terpasang fail."
+
+#: fs/mount_options.pm:129
+#, fuzzy, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr "pengguna dalam"
+
+#: fs/mount_options.pm:133
+#, fuzzy, c-format
+msgid "Mount the file system read-only."
+msgstr "tak dapat membaca maklumat sistem fail bagi %s"
+
+#: fs/mount_options.pm:135
+#, fuzzy, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Semua fail siap."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, fuzzy, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Mendapatkan ciri-ciri pengguna default:\n"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr ""
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr ""
+
+#: fs/mount_point.pm:80
+#, fuzzy, c-format
+msgid "Duplicate mount point %s"
+msgstr "Titik lekapan tidak sah"
+
+#: fs/mount_point.pm:95
+#, fuzzy, c-format
+msgid "No partition available"
+msgstr "Tiada Partisyen Punca"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Mengimbas partisyen untuk mencari titik lekapan"
+
+#: fs/mount_point.pm:105
+#, fuzzy, c-format
+msgid "Choose the mount points"
+msgstr ""
+"Titik Lekapan Aktif:\n"
+"--------------------"
+
+#: fs/partitioning.pm:46
+#, fuzzy, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Pilih jenis giliran yang anda hendak guna"
+
+#: fs/partitioning.pm:76
+#, fuzzy, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr "Gagal"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:47
+#, fuzzy, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr "on dan"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:80
+#, fuzzy, c-format
+msgid "Use free space"
+msgstr "Tiada ruang bebas"
+
+#: fs/partitioning_wizard.pm:82
+#, fuzzy, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "fail"
+
+#: fs/partitioning_wizard.pm:90
+#, fuzzy, c-format
+msgid "Use existing partitions"
+msgstr "Kekalkan partisyen yang ada"
+
+#: fs/partitioning_wizard.pm:92
+#, fuzzy, c-format
+msgid "There is no existing partition to use"
+msgstr "tidak"
+
+#: fs/partitioning_wizard.pm:99
+#, fuzzy, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Tetingkap"
+
+#: fs/partitioning_wizard.pm:102
+#, fuzzy, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Pemacu manakah yang anda ingin gunakan bagi pemasangan ini?"
+
+#: fs/partitioning_wizard.pm:104
+#, fuzzy, c-format
+msgid "Choose the sizes"
+msgstr "Pilih secara manual"
+
+#: fs/partitioning_wizard.pm:105
+#, fuzzy, c-format
+msgid "Root partition size in MB: "
+msgstr "Berikan saiz ram dalam MB"
+
+#: fs/partitioning_wizard.pm:106
+#, fuzzy, c-format
+msgid "Swap partition size in MB: "
+msgstr "Berikan saiz ram dalam MB"
+
+#: fs/partitioning_wizard.pm:115
+#, fuzzy, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr "tidak"
+
+#: fs/partitioning_wizard.pm:122
+#, fuzzy, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "on Tetingkap"
+
+#: fs/partitioning_wizard.pm:124
+#, fuzzy, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Tetapan Xorg mana yang anda hendak?"
+
+#: fs/partitioning_wizard.pm:138
+#, fuzzy, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr "ralat"
+
+#: fs/partitioning_wizard.pm:141
+#, fuzzy, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Kemasukan Tidak Sah bagi Saiz Partisyen"
+
+#: fs/partitioning_wizard.pm:148
+#, fuzzy, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr "Tetingkap Tetingkap ulanghidup."
+
+#: fs/partitioning_wizard.pm:151
+#, fuzzy, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr "AMARAN Tetingkap siap Tetingkap dan ulanghidup Ok."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Berikut"
+
+#: fs/partitioning_wizard.pm:163
+#, fuzzy, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Tetingkap"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Saiz"
+
+#: fs/partitioning_wizard.pm:173
+#, fuzzy, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Edit partisyen: /dev/%s"
+
+#: fs/partitioning_wizard.pm:178
+#, fuzzy, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Gagal menerima %s: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, fuzzy, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr "tidak"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "keyboard|Russia (Microsoft)"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Masukkan cakera liut"
+
+#: fs/partitioning_wizard.pm:200
+#, fuzzy, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "on?"
+
+#: fs/partitioning_wizard.pm:206
+#, fuzzy, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "dan on"
+
+#: fs/partitioning_wizard.pm:217
+#, fuzzy, c-format
+msgid "Custom disk partitioning"
+msgstr "Tetapan Pempartisyenan Cakera"
+
+#: fs/partitioning_wizard.pm:223
+#, fuzzy, c-format
+msgid "Use fdisk"
+msgstr "atau digunakan:"
+
+#: fs/partitioning_wizard.pm:226
+#, fuzzy, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr "siap"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr ""
+
+#: fs/partitioning_wizard.pm:270
+#, fuzzy, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Pempartisyenan:"
+
+#: fs/partitioning_wizard.pm:278
+#, fuzzy, c-format
+msgid "Partitioning failed: %s"
+msgstr "Pelekapan gagal"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr ""
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr ""
+
+#: fsedit.pm:27
+#, fuzzy, c-format
+msgid "with /usr"
+msgstr "Segerak %s@%s:%s dgn %s."
+
+#: fsedit.pm:32
+#, fuzzy, c-format
+msgid "server"
+msgstr "_Pelayan"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, fuzzy, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr "on ralat"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr ""
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr ""
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr ""
+
+#: fsedit.pm:409
+#, fuzzy, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr "RAD"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr "RAD"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, fuzzy, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "direktori"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+
+#: fsedit.pm:429
+#, fuzzy, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "fail"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr ""
+
+#: fsedit.pm:495
+#, fuzzy, c-format
+msgid "Nothing to do"
+msgstr "-> Hendak buat apa ?"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Pemacu"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Cakera Keras"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, fuzzy, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD Burner"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, fuzzy, c-format
+msgid "Tape"
+msgstr "Pemacu Pita"
+
+#: harddrake/data.pm:138
+#, fuzzy, c-format
+msgid "AGP controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:147
+#, fuzzy, c-format
+msgid "Videocard"
+msgstr "Mencari kad video"
+
+#: harddrake/data.pm:157
+#, fuzzy, c-format
+msgid "DVB card"
+msgstr "Kad Video"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr ""
+
+#: harddrake/data.pm:174
+#, fuzzy, c-format
+msgid "Other MultiMedia devices"
+msgstr "Mematikan peranti PLX... "
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Kad Bunyi"
+
+#: harddrake/data.pm:196
+#, fuzzy, c-format
+msgid "Webcam"
+msgstr "Aplikasi webcam GNOME"
+
+#: harddrake/data.pm:210
+#, fuzzy, c-format
+msgid "Processors"
+msgstr "Jumlah Pemproses Aktif"
+
+#: harddrake/data.pm:220
+#, fuzzy, c-format
+msgid "ISDN adapters"
+msgstr "Memulakan isdn"
+
+#: harddrake/data.pm:231
+#, fuzzy, c-format
+msgid "USB sound devices"
+msgstr "Mematikan peranti PLX... "
+
+#: harddrake/data.pm:240
+#, fuzzy, c-format
+msgid "Radio cards"
+msgstr "Kad bunyi"
+
+#: harddrake/data.pm:249
+#, fuzzy, c-format
+msgid "ATM network cards"
+msgstr "Konfigurasi Rangkaian bagi %s"
+
+#: harddrake/data.pm:258
+#, fuzzy, c-format
+msgid "WAN network cards"
+msgstr "Konfigurasi Rangkaian bagi %s"
+
+#: harddrake/data.pm:267
+#, fuzzy, c-format
+msgid "Bluetooth devices"
+msgstr "Peranti Rangkaian"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr ""
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, fuzzy, c-format
+msgid "ADSL adapters"
+msgstr "Aktifkan pautan ADSL"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memori"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Pencetak"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, fuzzy, c-format
+msgid "Game port controllers"
+msgstr "Amerika/Port_of_Spain"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Kayu bidik"
+
+#: harddrake/data.pm:357
+#, fuzzy, c-format
+msgid "SATA controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:366
+#, fuzzy, c-format
+msgid "RAID controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:376
+#, fuzzy, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "GenericName=IDE Eclipse"
+
+#: harddrake/data.pm:386
+#, fuzzy, c-format
+msgid "USB Mass Storage Devices"
+msgstr "Mematikan peranti PLX... "
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Model Keselamatan:"
+
+#: harddrake/data.pm:404
+#, fuzzy, c-format
+msgid "Firewire controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:413
+#, fuzzy, c-format
+msgid "PCMCIA controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:422
+#, fuzzy, c-format
+msgid "SCSI controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:431
+#, fuzzy, c-format
+msgid "USB controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:440
+#, fuzzy, c-format
+msgid "USB ports"
+msgstr "Port lain"
+
+#: harddrake/data.pm:449
+#, fuzzy, c-format
+msgid "SMBus controllers"
+msgstr "Pengawal Domain:"
+
+#: harddrake/data.pm:458
+#, fuzzy, c-format
+msgid "Bridges and system controllers"
+msgstr "Konfigurasi sistem dan pemonitoran"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Papan Kekunci"
+
+#: harddrake/data.pm:482
+#, fuzzy, c-format
+msgid "Tablet and touchscreen"
+msgstr "Pengarangan dan Penerbitan"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Tetikus"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Pengimbas"
+
+#: harddrake/data.pm:524
+#, fuzzy, c-format
+msgid "Unknown/Others"
+msgstr "Ralat Tidak Diketahui"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, fuzzy, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr ""
+"Menerapkan perubahan.\n"
+"Sila tunggu..."
+
+#: harddrake/sound.pm:232
+#, fuzzy, c-format
+msgid "No alternative driver"
+msgstr "Tiada jurupacu dijumpai"
+
+#: harddrake/sound.pm:233
+#, fuzzy, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr "tidak"
+
+#: harddrake/sound.pm:239
+#, fuzzy, c-format
+msgid "Sound configuration"
+msgstr "Tetapan kad bunyi"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, fuzzy, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr "default"
+
+#: harddrake/sound.pm:248
+#, fuzzy, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr "Buka Bunyi Sistem on asas dan Lanjutan Bunyi USB dan"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Pemacu :"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr ""
+
+#: harddrake/sound.pm:279
+#, fuzzy, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr "on on."
+
+#: harddrake/sound.pm:287
+#, fuzzy, c-format
+msgid "No open source driver"
+msgstr "Pustaka kriptografi sumber terbuka."
+
+#: harddrake/sound.pm:288
+#, fuzzy, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr "tidak."
+
+#: harddrake/sound.pm:291
+#, fuzzy, c-format
+msgid "No known driver"
+msgstr "Tiada jurupacu dijumpai"
+
+#: harddrake/sound.pm:292
+#, fuzzy, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "tidak"
+
+#: harddrake/sound.pm:296
+#, fuzzy, c-format
+msgid "Unknown driver"
+msgstr "Cekera jurupacu"
+
+#: harddrake/sound.pm:297
+#, fuzzy, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Ralat"
+
+#: harddrake/sound.pm:311
+#, fuzzy, c-format
+msgid "Sound trouble shooting"
+msgstr "Bunyi dan Video"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, fuzzy, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr "default dan dan on"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr ""
+
+#: harddrake/sound.pm:343
+#, fuzzy, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Membaca cakera jurupacu..."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, fuzzy, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr "dalam "
+
+#: harddrake/v4l.pm:12
+#, fuzzy, c-format
+msgid "Auto-detect"
+msgstr "Auto _Pilih"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, fuzzy, c-format
+msgid "Unknown|Generic"
+msgstr "ralat umum"
+
+#: harddrake/v4l.pm:130
+#, fuzzy, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Entah"
+
+#: harddrake/v4l.pm:131
+#, fuzzy, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Entah"
+
+#: harddrake/v4l.pm:474
+#, fuzzy, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr "dan."
+
+#: harddrake/v4l.pm:477
+#, fuzzy, c-format
+msgid "Card model:"
+msgstr "Model Keselamatan:"
+
+#: harddrake/v4l.pm:478
+#, fuzzy, c-format
+msgid "Tuner type:"
+msgstr "Jenis Pemasangan"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ya"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Tidak"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Pilih fail"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Tambah"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Ubah"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Buang"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Tamat"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Terdahulu"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, fuzzy, c-format
+msgid "Bad choice, try again\n"
+msgstr "Salah pilih, cuba lagi\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, fuzzy, c-format
+msgid "Your choice? (default %s) "
+msgstr "Pilih aplikasi default anda"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+
+#: interactive/stdio.pm:70
+#, fuzzy, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Pilih aplikasi default anda"
+
+#: interactive/stdio.pm:94
+#, fuzzy, c-format
+msgid "Button `%s': %s"
+msgstr "Butang %d:"
+
+#: interactive/stdio.pm:95
+#, fuzzy, c-format
+msgid "Do you want to click on this button?"
+msgstr "Adakah anda ingin memulakan antaramuka rangkaian pada sistem ini"
+
+#: interactive/stdio.pm:104
+#, fuzzy, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Pilih aplikasi default anda"
+
+#: interactive/stdio.pm:104
+#, fuzzy, c-format
+msgid " enter `void' for void entry"
+msgstr "Masukkan maklumat untuk pengguna"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr ""
+
+#: interactive/stdio.pm:125
+#, fuzzy, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr "Enter "
+
+#: interactive/stdio.pm:138
+#, fuzzy, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr "Maklumat finger berubah.\n"
+
+#: interactive/stdio.pm:145
+#, fuzzy, c-format
+msgid "Re-submit"
+msgstr "Ulang_but"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emiriah Arab Bersatu"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua dan Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antartika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Amerika"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austria"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgium"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Pulau Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Belarus"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kepulauan Cocos (Keeling)"
+
+#: lang.pm:247
+#, fuzzy, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Afrika/Kinshasa"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Republik Afrika Tengah"
+
+#: lang.pm:249
+#, fuzzy, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Afrika/Brazzaville"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Switzerland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Pantai Gading"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Kepulauan Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Cameroon"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Kepulauan Krismas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cyprus"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Republik Czech"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Jerman"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Denmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Republik Dominica"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algeria"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonia"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Mesir"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Sahara Barat"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Sepanyol"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Ethiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Kepulauan Falkland"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Kepulauan Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Perancis"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "United Kingdom"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "French Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Greenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Equitorial Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Greek"
+
+#: lang.pm:296
+#, fuzzy, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Selatan Georgia dan Selatan"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, fuzzy, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Name=Macau SAR(China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Kepulauan Heard dan McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Croatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hungary"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ireland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Kawasan Ocean India British"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Iceland"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Itali"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Jepun"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, fuzzy, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts & Nevis Anguilla"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea (Utara)"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kepulauan Cayman"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Lebanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Lithuania"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Morocco"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagascar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Kepulauan Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Kepulauan Mariana Utara"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "New Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Kepulauan Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Belanda"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norway"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "French Polynesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filipina"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Poland"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Santa Pierre dan Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestin"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russia"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Arab Saudi"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Kepulauan Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sweden"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapura"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Kepulauan Svalbard dan Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome and Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Kepulauan Caicos dan Turks"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Kawasan Selatan Perancis"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor Larose"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turki"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad dan Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraine"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Amerika Syarikat, kepulauan Luar Minor"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Amerika Syarikat"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatican"
+
+#: lang.pm:435
+#, fuzzy, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Santa Pierre dan Miquelon"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Kepulauan Virgin (Inggeris)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Virgin Islands (Amerika)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, fuzzy, c-format
+msgid "Wallis and Futuna"
+msgstr "Kepulauan Futuna dan Wallis"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yaman"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Afrika Selatan"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Selamat datang ke %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, fuzzy, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Volum Logikal Maksimum Dibenarkan:"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, fuzzy, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Pengenalan dan dalam dan dan dan A dalam dan dan dalam dan dan dan tidak A "
+"dalam tidak dan dan keluar A A dalam tidak keluar dan keluar dalam lokal "
+"dalam dan dan Umum dan A Dokumentasi A Kanan: dan dan A dalam dan dan A dan "
+"Perancis on keluar Perancis on A"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr "dalam dan dan dalam on on Masuk dan dan"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, fuzzy, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr "Tahniah dan on on dalam Pengguna."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Konfigurasi Pemuat But"
+
+#: modules/interactive.pm:22
+#, fuzzy, c-format
+msgid "Module configuration"
+msgstr "modul dimatikan oleh tetapan"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr ""
+
+#: modules/interactive.pm:63
+#, fuzzy, c-format
+msgid "Found %s interfaces"
+msgstr "%s tidak dijumpai"
+
+#: modules/interactive.pm:64
+#, fuzzy, c-format
+msgid "Do you have another one?"
+msgstr "Anda ada Cekera jurupacu?"
+
+#: modules/interactive.pm:65
+#, fuzzy, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Anda ada Cekera jurupacu?"
+
+#: modules/interactive.pm:71
+#, fuzzy, c-format
+msgid "See hardware info"
+msgstr "Maklumat Ogg Vorbis:"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr ""
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr ""
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr ""
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr ""
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, fuzzy, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Mengesan kad video: %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+
+#: modules/interactive.pm:116
+#, fuzzy, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr "dalam"
+
+#: modules/interactive.pm:118
+#, fuzzy, c-format
+msgid "Module options:"
+msgstr "Opsyen RAID"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr ""
+
+#: modules/interactive.pm:140
+#, fuzzy, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr "Masuk."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr ""
+
+#: modules/interactive.pm:144
+#, fuzzy, c-format
+msgid "Specify options"
+msgstr "Opsyen RAID"
+
+#: modules/interactive.pm:156
+#, fuzzy, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr "Memuatkan?"
+
+#: partition_table.pm:390
+#, fuzzy, c-format
+msgid "mount failed: "
+msgstr "Pelekapan gagal"
+
+#: partition_table.pm:500
+#, fuzzy, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "LVM TIDAK disokong pada platform ini."
+
+#: partition_table.pm:518
+#, fuzzy, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr "dalam."
+
+#: partition_table.pm:597
+#, fuzzy, c-format
+msgid "Error reading file %s"
+msgstr "ralat membaca fail"
+
+#: partition_table.pm:604
+#, fuzzy, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Gagal untuk menulis ke fail %s."
+
+#: partition_table.pm:606
+#, fuzzy, c-format
+msgid "Bad backup file"
+msgstr "saiz fail salinan tidak sepadan"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Ralat menulis kepada fail %s"
+
+#: partition_table/raw.pm:264
+#, fuzzy, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr "on on."
+
+#: raid.pm:42
+#, fuzzy, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "RAD"
+
+#: raid.pm:150
+#, fuzzy, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "RAD"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr ""
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+
+#: scanner.pm:120
+#, fuzzy, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Tidak dapat menetapkan keizinan %o pada salinan %s: %s"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr ""
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+
+#: security/help.pm:11
+#, fuzzy, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Terima ralat."
+
+#: security/help.pm:13
+#, fuzzy, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Terima."
+
+#: security/help.pm:15
+#, fuzzy, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Terima."
+
+#: security/help.pm:17
+#, fuzzy, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Benarkan Sambungan _Persistent"
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, fuzzy, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr "dan tidak."
+
+#: security/help.pm:27
+#, fuzzy, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "pengguna."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr ""
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr ""
+
+#: security/help.pm:33
+#, fuzzy, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "on on dan."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+
+#: security/help.pm:40
+#, fuzzy, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr "lokal tidak."
+
+#: security/help.pm:48
+#, fuzzy, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr "on."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, fuzzy, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr "hos lokal tiada hos hos."
+
+#: security/help.pm:63
+#, fuzzy, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr "dalam<SERVER_LEVEL> dalam fail."
+
+#: security/help.pm:72
+#, fuzzy, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr "dan dalam dan."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr ""
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+
+#: security/help.pm:80
+#, fuzzy, c-format
+msgid "Security Alerts:"
+msgstr "Model Keselamatan:"
+
+#: security/help.pm:82
+#, fuzzy, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "IP."
+
+#: security/help.pm:84
+#, fuzzy, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "on."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr ""
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr ""
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr "pengguna."
+
+#: security/help.pm:92
+#, fuzzy, c-format
+msgid "Use password to authenticate users."
+msgstr "Katalaluan untuk digunakan bagi proksi berpengesahan"
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr ""
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr ""
+
+#: security/help.pm:98
+#, fuzzy, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "dalam tunggal pengguna."
+
+#: security/help.pm:100
+#, fuzzy, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Tambah."
+
+#: security/help.pm:102
+#, fuzzy, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "hari dan."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+
+#: security/help.pm:106
+#, fuzzy, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr "dan dan."
+
+#: security/help.pm:108
+#, fuzzy, c-format
+msgid "Set the root umask."
+msgstr "Tetapkan Katalaluan Root"
+
+#: security/help.pm:109
+#, fuzzy, c-format
+msgid "if set to yes, check open ports."
+msgstr "ya port."
+
+#: security/help.pm:110
+#, fuzzy, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr "ya kosong tidak dalam."
+
+#: security/help.pm:117
+#, fuzzy, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr "ya fail dalam."
+
+#: security/help.pm:118
+#, fuzzy, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "ya dalam."
+
+#: security/help.pm:119
+#, fuzzy, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "ya."
+
+#: security/help.pm:120
+#, fuzzy, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "jika tetap kepada ya, periksa penambahan/pembuangan fail suid root."
+
+#: security/help.pm:121
+#, fuzzy, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "ya kosong dalam."
+
+#: security/help.pm:122
+#, fuzzy, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "ya fail."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "jika tetap kepada ya, periksa penambahan/pembuangan fail suid root."
+
+#: security/help.pm:124
+#, fuzzy, c-format
+msgid "if set to yes, report unowned files."
+msgstr "ya fail."
+
+#: security/help.pm:125
+#, fuzzy, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "ya fail."
+
+#: security/help.pm:126
+#, fuzzy, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "ya."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+
+#: security/help.pm:128
+#, fuzzy, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "ya."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr ""
+
+#: security/help.pm:130
+#, fuzzy, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "ya."
+
+#: security/help.pm:131
+#, fuzzy, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "ya."
+
+#: security/help.pm:132
+#, fuzzy, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "ya."
+
+#: security/help.pm:134
+#, fuzzy, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "A."
+
+#: security/help.pm:136
+#, fuzzy, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "A tidak."
+
+#: security/help.pm:136
+#, fuzzy, c-format
+msgid "Timeout unit is second"
+msgstr "1/s"
+
+#: security/help.pm:138
+#, fuzzy, c-format
+msgid "Set the user umask."
+msgstr "Tetapkan keutamaan pengguna"
+
+#: security/l10n.pm:11
+#, fuzzy, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Terima ralat"
+
+#: security/l10n.pm:12
+#, fuzzy, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Terima"
+
+#: security/l10n.pm:13
+#, fuzzy, c-format
+msgid "Accept icmp echo"
+msgstr "Perihal Plagmasuk Gema"
+
+#: security/l10n.pm:15
+#, fuzzy, c-format
+msgid "/etc/issue* exist"
+msgstr "Peranti '$device' tidak wujud"
+
+#: security/l10n.pm:16
+#, fuzzy, c-format
+msgid "Reboot by the console user"
+msgstr "- Ia tidak dimiliki oleh pengguna '%s'."
+
+#: security/l10n.pm:17
+#, fuzzy, c-format
+msgid "Allow remote root login"
+msgstr "Anggap pengguna _root jauh sebagai root tempatan"
+
+#: security/l10n.pm:18
+#, fuzzy, c-format
+msgid "Direct root login"
+msgstr "Benarkan login root:"
+
+#: security/l10n.pm:19
+#, fuzzy, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "on dan"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+
+#: security/l10n.pm:21
+#, fuzzy, c-format
+msgid "Allow X Window connections"
+msgstr "Benarkan Sambungan _Persistent"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr ""
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr ""
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr ""
+
+#: security/l10n.pm:25
+#, fuzzy, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "dan"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr ""
+
+#: security/l10n.pm:27
+#, fuzzy, c-format
+msgid "Name resolution spoofing protection"
+msgstr "kegagalan sementara di dalam resolusi nama"
+
+#: security/l10n.pm:28
+#, fuzzy, c-format
+msgid "Enable IP spoofing protection"
+msgstr "IP"
+
+#: security/l10n.pm:29
+#, fuzzy, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "on"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr ""
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr ""
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "pengguna."
+
+#: security/l10n.pm:33
+#, fuzzy, c-format
+msgid "Use password to authenticate users"
+msgstr "Katalaluan untuk digunakan bagi proksi berpengesahan"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr ""
+
+#: security/l10n.pm:35
+#, fuzzy, c-format
+msgid "Daily security check"
+msgstr "Hasil Pemeriksaan Media"
+
+#: security/l10n.pm:36
+#, fuzzy, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "dalam tunggal pengguna"
+
+#: security/l10n.pm:37
+#, fuzzy, c-format
+msgid "No password aging for"
+msgstr "Sila tetapkan katalaluan bagi %s."
+
+#: security/l10n.pm:38
+#, fuzzy, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "dan"
+
+#: security/l10n.pm:39
+#, fuzzy, c-format
+msgid "Password history length"
+msgstr "Jarak kod IR:"
+
+#: security/l10n.pm:40
+#, fuzzy, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Katalaluan dan dan"
+
+#: security/l10n.pm:41
+#, fuzzy, c-format
+msgid "Root umask"
+msgstr "_Katalaluan root: "
+
+#: security/l10n.pm:42
+#, fuzzy, c-format
+msgid "Shell history size"
+msgstr "Jumlah saiz pemasangan: %s"
+
+#: security/l10n.pm:43
+#, fuzzy, c-format
+msgid "Shell timeout"
+msgstr "Sambungan Masatamat:"
+
+#: security/l10n.pm:44
+#, fuzzy, c-format
+msgid "User umask"
+msgstr "Edit Pengguna"
+
+#: security/l10n.pm:45
+#, fuzzy, c-format
+msgid "Check open ports"
+msgstr "dulang terbuka"
+
+#: security/l10n.pm:46
+#, fuzzy, c-format
+msgid "Check for unsecured accounts"
+msgstr "Periksa blok _teruk?"
+
+#: security/l10n.pm:47
+#, fuzzy, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "fail dalam"
+
+#: security/l10n.pm:48
+#, fuzzy, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "dalam"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr ""
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr ""
+
+#: security/l10n.pm:51
+#, fuzzy, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "kosong dalam"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr ""
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr ""
+
+#: security/l10n.pm:54
+#, fuzzy, c-format
+msgid "Report unowned files"
+msgstr "Tiada Fail Dinyatakan."
+
+#: security/l10n.pm:55
+#, fuzzy, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "fail"
+
+#: security/l10n.pm:56
+#, fuzzy, c-format
+msgid "Run chkrootkit checks"
+msgstr "Tahap dan pemeriksaan"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr ""
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr ""
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr ""
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr ""
+
+#: security/level.pm:10
+#, fuzzy, c-format
+msgid "Welcome To Crackers"
+msgstr "Selamat datang ke &RHL;"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr ""
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Piawai"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Tinggi"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Lebih tinggi"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr ""
+
+#: security/level.pm:41
+#, fuzzy, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr "Internet tidak."
+
+#: security/level.pm:44
+#, fuzzy, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr "Katalaluan dihidupkan."
+
+#: security/level.pm:45
+#, fuzzy, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr "Internet."
+
+#: security/level.pm:46
+#, fuzzy, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr "dan."
+
+#: security/level.pm:47
+#, fuzzy, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr "terima on Internet."
+
+#: security/level.pm:50
+#, fuzzy, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr "dan."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Keselamatan"
+
+#: security/level.pm:55
+#, fuzzy, c-format
+msgid "DrakSec Basic Options"
+msgstr "Opsyen Saiz Tambahan"
+
+#: security/level.pm:57
+#, fuzzy, c-format
+msgid "Please choose the desired security level"
+msgstr "Pilih tahap keselamatan yang sesuai bagi sistem anda."
+
+#: security/level.pm:61
+#, fuzzy, c-format
+msgid "Security level"
+msgstr "Tahap keselamatan:"
+
+#: security/level.pm:63
+#, fuzzy, c-format
+msgid "Use libsafe for servers"
+msgstr "Guna extendedstatus %s utk info lanjut.\n"
+
+#: security/level.pm:64
+#, fuzzy, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr "A dan."
+
+#: security/level.pm:65
+#, fuzzy, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Keselamatan"
+
+#: services.pm:19
+#, fuzzy, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Lanjutan Bunyi"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr ""
+
+#: services.pm:21
+#, fuzzy, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr "dan."
+
+#: services.pm:23
+#, fuzzy, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr "dan."
+
+#: services.pm:25
+#, fuzzy, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr "pengguna asas dan."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+
+#: services.pm:30
+#, fuzzy, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr "dan on."
+
+#: services.pm:33
+#, fuzzy, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr "dan."
+
+#: services.pm:35
+#, fuzzy, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "fail dan."
+
+#: services.pm:36
+#, fuzzy, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr "dan."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+
+#: services.pm:42
+#, fuzzy, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr "dalam dihidupkan."
+
+#: services.pm:45
+#, fuzzy, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr "dalam"
+
+#: services.pm:47
+#, fuzzy, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "dan."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+
+#: services.pm:50
+#, fuzzy, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr "lpd."
+
+#: services.pm:52
+#, fuzzy, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr "Pelayan dan."
+
+#: services.pm:54
+#, fuzzy, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr "Domain Nama Pelayan IP."
+
+#: services.pm:55
+#, fuzzy, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr "dan Rangkaian Fail Sistem SMB Tetingkap dan."
+
+#: services.pm:57
+#, fuzzy, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr "mula."
+
+#: services.pm:59
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr "fail IP fail."
+
+#: services.pm:62
+#, fuzzy, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr "fail IP fail."
+
+#: services.pm:64
+#, fuzzy, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "on."
+
+#: services.pm:66
+#, fuzzy, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "dan."
+
+#: services.pm:67
+#, fuzzy, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr "dan dalam on."
+
+#: services.pm:70
+#, fuzzy, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr "dan NIS on protokol."
+
+#: services.pm:73
+#, fuzzy, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr "Mel."
+
+#: services.pm:74
+#, fuzzy, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr "dan."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+
+#: services.pm:78
+#, fuzzy, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr "IP on protokol."
+
+#: services.pm:81
+#, fuzzy, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr "on on."
+
+#: services.pm:83
+#, fuzzy, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr "on dalam on."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+
+#: services.pm:87
+#, fuzzy, c-format
+msgid "Launch the sound system on your machine"
+msgstr "on"
+
+#: services.pm:88
+#, fuzzy, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr "fail."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr ""
+
+#: services.pm:91
+#, fuzzy, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Font Pelayan."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Cetakan"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, fuzzy, c-format
+msgid "File sharing"
+msgstr "Konfigurasi Perkongsian Bersama Fail"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistem"
+
+#: services.pm:125
+#, fuzzy, c-format
+msgid "Remote Administration"
+msgstr "Pentadbiran jauh"
+
+#: services.pm:133
+#, fuzzy, c-format
+msgid "Database Server"
+msgstr "Pelayan Pengkalan Data SQL"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Perkhidmatan"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+
+#: services.pm:162
+#, fuzzy, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Perkhidmatan"
+
+#: services.pm:196
+#, fuzzy, c-format
+msgid "running"
+msgstr "melaksanakan %s\n"
+
+#: services.pm:196
+#, fuzzy, c-format
+msgid "stopped"
+msgstr "Dihentikan"
+
+#: services.pm:201
+#, fuzzy, c-format
+msgid "Services and daemons"
+msgstr "Tetapkan servis NIS dan Autofs"
+
+#: services.pm:207
+#, fuzzy, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr "Tidak."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Maklumat"
+
+#: services.pm:215
+#, fuzzy, c-format
+msgid "Start when requested"
+msgstr "Cuba memulakan %s"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Semasa boot"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Mula"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Henti"
+
+#: standalone.pm:24
+#, fuzzy, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr "dan Umum Bebas dalam A Umum Umum Bebas"
+
+#: standalone.pm:43
+#, fuzzy, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr "default dan default default fail fail"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"NAMA\n"
+"\n"
+"\n"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"Font dan terima fail dan direktori tiada\n"
+"\n"
+"\n"
+" dan."
+
+#: standalone.pm:87
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr "Pelayan mula mula pengguna pengguna IP IP"
+
+#: standalone.pm:99
+#, fuzzy, c-format
+msgid "[keyboard]"
+msgstr "Papan Kekunci"
+
+#: standalone.pm:100
+#, fuzzy, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "fail"
+
+#: standalone.pm:101
+#, fuzzy, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr "Internet dan default Kepada."
+
+#: standalone.pm:111
+#, fuzzy, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"\n"
+" tidak dalam\n"
+" tidak\n"
+" dalam\n"
+" fail"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "_Pelayan NIS:"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Afrika Selatan"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Austria"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Afrika Selatan"
+
+#: timezone.pm:190
+#, fuzzy, c-format
+msgid "Oceania"
+msgstr "Macedonia"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Afrika Selatan"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Persekutuan Rusia"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Yugoslavia"
+
+#: ugtk2.pm:788
+#, fuzzy, c-format
+msgid "Is this correct?"
+msgstr "Adakah tetapan ini betul?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Tiada fail dipilih"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Anda telah memilih fail, bukan direktori"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Anta telah memilih direktori, bukan fail"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Tiada direktori sedemikian"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Tiada fail sedemikian"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Pepohon Kembang"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Pepohon Kuncup"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Tukar antara sorotan datar dan kumpulan"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Instalasi gagal"
+
+#~ msgid "Icon"
+#~ msgstr "Ikon"
+
+#, fuzzy
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Jumlah Maksimum Sambungan:"
+
+#, fuzzy
+#~ msgid "PLL setting:"
+#~ msgstr "Menetapkan namahos ${HOSTNAME}: "
+
+#, fuzzy
+#~ msgid "Radio support:"
+#~ msgstr "Sokongan Brazil"
+
+#, fuzzy
+#~ msgid "enable radio support"
+#~ msgstr "Hidupkan sokongan SSL"
+
+#, fuzzy
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr "Comment=Foomatic (CUPS, LPRng, PDQ)"
diff --git a/perl-install/share/po/mt.po b/perl-install/share/po/mt.po
new file mode 100644
index 000000000..ead4a3ed2
--- /dev/null
+++ b/perl-install/share/po/mt.po
@@ -0,0 +1,6595 @@
+# translation of mt.po to Maltese
+# translation of DrakX-mt.po to Maltese
+# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc.
+# Ramon Casha <ramon.casha@linux.org.mt>, 2002,2003, 2004.
+# Ramon Casha <rcasha@waldonet.net.mt>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mt\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2004-10-04 18:45+0200\n"
+"Last-Translator: Ramon Casha <ramon.casha@linux.org.mt>\n"
+"Language-Team: Maltese <mt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.3.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Stenna ftit"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Għaddejja l-installazzjoni tal-bootloader"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO jixtieq jassenja ID tal-Volum ġdid għad-drajv %s. Però, li tibdel\n"
+"l-ID tal-Volum ta' diska \"boot\" ta' Windows NT, 2000 jew XP hija problema\n"
+"kritika għall-Windows.\n"
+"Din it-twissija ma tapplikax għal Windows 95 jew 98, jew għal diski tad-data "
+"tal-NT.\n"
+"\n"
+"Trid tagħti ID tal-Volum ġdid?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "L-installazzjoni tal-bootloader falla. Dan kien il-messaġġ:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Għandek mnejn trid tbiddel is-setings tal-Open Firmware u tbiddel l-\n"
+"apparat tal-boot biex jiffunzjona l-bootloader. Jekk ma tixtieqx tara\n"
+"l-prompt tal-bootloader meta tirristartja, żomm Command-Option-O-F \n"
+"waqt ir-ristartjar u daħħal:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Imbagħad ittajpja: shut-down\n"
+"Meta jerġa' jitla' għandek tara l-prompt tal-bootloader."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Int għażilt li tinstalla l-bootloader fuq partizzjoni. \n"
+"Dan jimplika li diġà għandek bootloader fuq il-ħard disk mnejn tistartja "
+"(eż: System Commander).\n"
+"\n"
+"Minn fuq liema drajv tistartja?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "L-ewwel settur tal-ħard disk (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "L-ewwel settur tal-partizzjoni root"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Fuq Flopi"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Aqbeż"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "Installazzjoni LILO/grub"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Fejn tixtieq tinstalla l-\"bootloader\"?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Konfigurazzjoni ta' l-istil ta' boot"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Għażliet prinċipali tal-bootloader"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Bootloader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Liema bootloader tuża"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Diska/apparat \"boot\""
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Stennija qabel ittella' l-għażla impliċita"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Ippermetti ACPI"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "Ippermetti ACPI"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "Ippermetti ACPI"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Password"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Il-passwords ma jaqblux"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Erġa' pprova"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Ma tistax tuża filesystem iċċifrat għall-punt ta' mmuntar %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Password (erġa')"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Irrestrinġi l-għażliet tal-linja tal-kmand"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "restrict"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"L-għażla \"irrestrinġi l-għażliet tal-linja tal-kmand\" m'għandha ebda "
+"effett minngħajr password"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Naddaf /tmp kull meta tixgħel"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Daqs eżatt ta' memorja jekk meħtieġ (sibt %d RAM)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Agħti d-daqs tar-RAM f'MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Messaġġ tal-bidu"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Stennija Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Skadenza tal-ħin għall-kernel boot"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Ippermetti boot mis-CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Ippermetti Boot OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "OS Impliċitu?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Image"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Żid fl-aħħar"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Konfigurazzjoni video"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Profil tan-network"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Isem"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Impliċitu"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "EbdaVideo"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Isem vojt mhux aċċettat"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Trid tispeċifika \"image\" tal-kernel"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Trid tispeċifika partizzjoni \"root\""
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Dan l-isem diġà qed jintuża"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Liema tip ta' sistema operattiva trid iżżid?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "OS ieħor (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "OS ieħor (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "OS ieħor (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hawn huma l-elementi differenti>\n"
+"Tista' żżid iżjed jew tibdel dawk li hemm."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "aċċess għall-programmi X"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "aċċess għall-għodda rpm"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "ippermetti \"su\""
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "aċċess għall-fajls amministrattivi"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "aċċess għall-għodda tan-network"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "aċċess għall-għodda tal-kompilazzjoni"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s diġà miżjud)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Jekk jogħġbok agħti isem ta' user"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"L-isem tal-user jista' jkun fih biss ittri żgħar, numri, \"-\" u \"_\"."
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Dan l-isem ta' user huwa twil wisq"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Dan l-isem ta' user diġà jeżisti"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "ID tal-utent"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ID tal-Grupp"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "Għażla %s trid tkun numru!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Żid user"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Daħħal dettalji ta' user\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Lest"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Aċċetta user"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Isem veru"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Isem tal-login"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Awto-login"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr ""
+"Nista' nissettja l-kompjuter biex awtomatikament jagħmel login fuq user "
+"wieħed."
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "Trid tuża din il-faċilità?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Agħżel il-user impliċitu:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Agħżel liema \"window manager\" trid tħaddem:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Qbil mal-liċenzja"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Noħroġ"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Noti dwar il-ħarġa"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Naċċetta"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ma naċċettax"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Agħżel liema lingwa trid tuża."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Għażla ta' lingwa"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr "Tista' tagħżel lingwi oħra li jkun u disponibbli wara li tinstalla"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Lingwi kollha"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Pajjiż"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Jekk jogħġbok agħżel il-pajjiż."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Hawn issib lista sħiħa ta' pajjiżi disponibbli"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Pajjiżi oħrajn"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avvanzat"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Metodu ta' input:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ebda"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ebda offerti (sharing)"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Ippermetti l-users kollha"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Personalizzat"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Trid tippermetti lill-users li joffru xi direttorji fid-direttorju personali "
+"tagħhom għal fuq in-network?\n"
+"Jekk tippermetti dan, il-users ikunu jistgħu jagħżlu \"Offri\" jew \"Share\" "
+"ġo konqueror jew nautilus.\n"
+"\n"
+"\"Personalizzat\" jippermetti setings għal kull user.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: sistema ta' qsim ta' fajls tradizzjonali Unix, b'inqas sapport fuq Mac "
+"u Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: sistema ta' qsim ta' fajls użata minn Windows, Mac OSX u diversi "
+"sistemi moderni ta' Linux."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Tista' toffri direttorji bl-NFS jew SMB. Liema trid?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Ħaddem userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Agħlaq"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Id-direttorju offruti (file sharing) għall-users juża l-\n"
+"grupp \"fileshare\". Tista' tuża userdrake biex iżżid\n"
+"users ma' dan il-grupp."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Jekk jogħġbok oħroġ mid-desktop u agħfas Ctrl-Alt-Backspace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"Trid tilloggja 'l barra u terġa' tidħol biex ikollhom effett il-bidliet."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Żona tal-ħin"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Liem hi ż-żona orarja tiegħek?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "Arloġġ tal-kompjuter issettjat GMT"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "Arloġġ tal-kompjuter issettjat GMT"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "Server NTP"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Sinkronizzazzjoni tal-ħin awtomatiku (permezz ta' NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Fajl lokali"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr ""
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Dominju tal-Windows"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory b' SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory b' Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Fajl lokali:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Uża lokali biex iżżomm l-awtentikazzjoni kollha u l-informazzjoni dwar l-"
+"utenti ġo fajl lokali"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Jgħid lill-kompjuter juża LDAP għall-awtentikazzjoni kollha jew kważi "
+"kollha. LDAP jgħaqqad ċerti tipi ta' informazzjoni fl-għaqda jew ditta."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Jippermettilek tħaddem grupp ta' kompjuters fl-istess dominju NIS b'fajls "
+"tal-password u gruppi komuni."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Dominju tal-Windows:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind iħalli s-sistema tikseb informazzjoni u tawtentika users f'dominju "
+"tal-Windows."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory b' SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory b' Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Awtentikazzjoni LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "DN bażi LDAP"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "Server LDAP"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "sempliċi"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "tqassim tas-sigurtà (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Awtentikazzjoni Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Dominju"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "Databażi ta' utenti LDAP"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Uża BIND anonimu "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Utent LDAP jitħalla jibbrawżja l-Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Password għall-utent"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Awtentikazzjoni NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "Dominju NIS"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "Server NIS"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Biex dan jaħdem għal PDC tal-W2K, aktarx ikollok bżonn lill-amministratur "
+"iħaddem: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" "
+"everyone /add u jirristartja s-server.\n"
+"Ikollok bżonn ukoll isem l-utent u password ta' Amministratur tad-Dominju "
+"biex tingħaqad mad-dominju Windows(TM).\n"
+"Jekk in-network għadu ma ġiex imtella', Drakx jipprova jingħaqad mad-dominju "
+"wara l-issettjar tan-network.\n"
+"Jekk dan il-pass ifalli għal xi raġuni u l-awtentikazzjoni tad-dominju m'hux "
+"jaħdem, ħaddem \"smbpasswd -j DOMINJU -U UTENT%%PASSWORD' u uża d-dominju, "
+"utent u password tal-amministratur tad-dominju tal-Windows(TM), wara li "
+"titla' l-magna.\n"
+"Il-kmand \"wbinfo -t\" jittestja jekk is-sigrieti ta' awtentikazzjoni humiex "
+"tajbin."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Awtentikazzjoni Dominju Windows"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "User ta' amministrazzjoni tad-dominju"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Password ta' amministrazzjoni tad-dominju"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Awtentikazzjoni"
+
+#: authentication.pm:182
+#, fuzzy, c-format
+msgid "Set administrator (root) password"
+msgstr "Issettja l-password ta' \"root\""
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Metodu ta' awtentikazzjoni"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Ebda password"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Dan il-password qasir wisq (irid ikun twil tal-inqas %d ittri)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Ma nistax nuża \"broadcast\" minngħajr dominju NIS"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Merhba ghall-ghazla ta' sistema operattiva\n"
+"\n"
+"Aghzel sistema operattiva mil-lista ta' fuq, jew\n"
+"stenna ghall-ghazla implicita\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO b'menu testwali"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "M'hemmx biżżejjed spazju fuq /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Ma tistax tinstalla l-bootloader fil-partizzjoni %s\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Il-konfigurazzjoni tal-bootloader trid tiġi aġġornata għax il-partizzjoni "
+"inbidlilha n-numru"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Il-bootloader ma jistax jiġi nstallat sew. Trid tibbutja \"rescue\" u "
+"tagħżel \"%s\""
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Erġa' Installa bootloader"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuti"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "minuta"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekondi"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV huwa protokoll li jħallik timmonta d-direttorju ta' webserver\n"
+"lokalment u tittrattah bħala filesystem lokali (dejjem jekk il-webserver\n"
+"huwa ssettjat bħala server WebDAV). Jekk tixtieq iżżid punti ta' mmuntar\n"
+"WebDAV, agħżel \"Ġdid\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Ġdid"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Żmonta"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Immonta"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Post għall-immontar"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Għażliet"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Problema"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Jekk jogħġbok daħħal il-URL tas-server WebDAV"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "Il-URL irid jibda' b' http:// jew https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Punt ta' mmuntar: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Għażliet: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partizzjonament"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Aqra sew!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Ħu kopja tad-data kollha qabel tkompli"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Oħroġ"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Kompli"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Jekk bi ħsiebek tuża aboot, kun ċert li tħalli spazju fil-bidu tad-diska "
+"(2048 setturi biżżejjed)"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Għajnuna"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Agħżel azzjoni"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Għandek partizzjoni waħda kbira Microsoft Windows.\n"
+"Nissuġġerixxi li l-ewwel iċċekken dik il-partizzjoni\n"
+"(klikkja fuqha, u agħfas \"ibdel daqs\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Jekk jogħġbok klikkja fuq partizzjoni"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Dettalji"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Ebda ħard disk ma nstab!"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Mhux magħruf"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalised FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Swap"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Oħrajn"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Vojt"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Tipi ta' filesystem"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Twissija"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "Din il-partizzjoni ma tistax tinbidel id-daqs tagħha"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "L-ewwel agħfas \"żmonta\""
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Uża \"%s\" minnflok"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Tip"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Agħżel partizzjoni oħra"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Agħżel partizzjoni"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Annulla"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Lura f'modalità normali"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Idħol f'modalità għal esperti"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "Konfigurazzjoni"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Trid tkompli xorta?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Oħroġ minngħajr ma tikteb"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Trid toħroġ minngħajr ma tikteb it-tabella tal-partizzjonijiet?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Trid tikteb il-modifiki għal /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Trid tirristartja sabiex il-bidliet fit-tabella tal-partizzjonijiet ikollhom "
+"effett."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Neħħi kollox"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Awto-allokazzjoni"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Iżjed"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informazzjoni dwar il-ħard disk"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Il-partizzjonijiet primarji kollha mimlijin"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Ma nistax inżid iżjed partizzjonijiet"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Biex iżżid iżjed partizzjonijiet, trid tħassar waħda milli hemm biex tkun "
+"tista' toħloq partizzjoni estiża"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Ikteb it-tabella ta' partizzjonijiet"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Erġa' tella' tabella ta' partizzjonijiet"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Salva tabella ta' partizzjonijiet"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Erġa' aqra t-tabella ta' partizzjonijiet"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Awtomuntar ta' diski li jinħarġu"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Agħżel fajl"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Il-kopja tat-tabella tal-partizzjonijiet m'għandiex l-istess daqs.\n"
+"Tkompli xorta?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Qed nipprova nsalva t-tabella ta' partizzjonijiet"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Informazzjoni dettaljata"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Ibdel daqs"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formattja"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Żid ma' RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Żid ma' LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Ħassar"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Neħħi mir-RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Neħħi mill-LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Biddel RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Uża bħala loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Oħloq"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Oħloq partizzjoni ġdida"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Settur tal-bidu: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Daqs f' MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Tip ta' filesystem: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Preferenzi: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Isem tal-volum loġiku"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Ma nistax noħloq partizzjoni ġdida\n"
+"(għax ilħaqt il-limitu ta' partizzjonijiet primarji).\n"
+"L-ewwel neħħi partizzjoni primarja u oħloq partizzjoni estiża."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Trid tneħħi l-fajl ta' loopback?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Jekk tibdel it-tip ta' partizzjoni %s, l-informazzjoni kollha li hemm fuqha "
+"tintilef"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Ibdel tip ta' partizzjoni"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Liema filesystem trid?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Qed nibdel minn ext2 għal ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "Isem"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Fejn trid timmonta l-fajl ta' loopback %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Fejn trid timmonta d-diska %s?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Ma nistax inneħħi l-punt ta' mmuntar għax din il-partizzjoni qed tintuża "
+"għal loopback.\n"
+"L-ewwel neħħiha minn loopback"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Fejn trid timmonta %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Qed nibdel id-daqs"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Qed nikkalkula l-limiti tal-filesystem FAT"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Din il-partizzjoni ma tistax tinbidel id-daqs tagħha"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"L-informazzjoni kollha fuq din il-partizzjoni għandha tiġi kkupjata fuq "
+"kopja tas-sigurtà"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Wara li tibdel id-daqs tal-partizzjoni %s, l-informazzjoni kollha fuqha "
+"tintilef"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Agħżel id-daqs il-ġdid"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Daqs ġdid f'MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Biex tassigura l-integrità tad-data wara li tibdel id-daqs tal-partizzjoni"
+"(jiet),\n"
+"se jiġu ċċekkjati l-filesystems meta terġa' tibbutja l-Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Agħżel RAID eżistenti biex iżżid miegħu"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ġdid"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Agħżel LVM eżistenti biex iżżid miegħu"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Isem tal-LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Din il-partizzjoni ma tistax tintuża għal loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Isem ta' fajl għal loopback: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Agħti isem ta' fajl"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fajl diġà qed jintuża minn loopback ieħor, agħżel ieħor"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fajl diġà jeżisti. Tuża lilu?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Għażliet għall-immuntar"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Varji"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "apparat"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "livell"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "daqs ta' \"chunk\" f' KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Oqgħod attent: dan il-proċess huwa perikoluż."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "X'tip ta' partizzjoni?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Trid tirristartja sabiex il-bidliet ikollhom effett."
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "It-tabella tal-partizzjonijiet tad-diska %s se tinkiteb fuq id-diska."
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Wara li tifformattja l-partizzjoni %s, l-informazzjoni kollha fuqha tintilef."
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Trid tiċċekkja għal blokki ħżiena?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Mexxi fajls għal partizzjoni ġdida"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Aħbi fajls"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Qed jitmexxew il-fajls għal partizzjoni ġdida"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Qed nikkopja %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Qed inneħħi %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partizzjoni %s issa magħrufa bħala %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr ""
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Apparat: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Isem il-volum: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "Ittra tad-diska fid-DOS: %s (probabbli)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Tip: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Isem: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Bidu: settur %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Daqs: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s setturi"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Ċilindri %d sa %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formattjat\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Mhux formattjat\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Immuntat\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Fajl/s ta' loopback:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partizzjoni li tibda' impliċitament\n"
+" (għad-DOS/Windows, mhux għal-lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Livell %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Daqs ta' \"chunk\" %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "Diski RAID %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Isem ta' fajl loopback: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Aktarx, din il-partizzjoni\n"
+"hija partizzjoni ta' Driver,\n"
+"jaqbillek tħalliha kif inhi.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Din il-partizzjoni speċjali\n"
+"\"bootstrap\" qegħda biex\n"
+"tagħżel OS meta tixgħel.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Jinqara biss"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Daqs: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Ġeometrija: %s ċilindri, %s heads, %s setturi\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "Diski LVM %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Tip ta' tabella tal-partizzjonijiet: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "fuq kanal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Ċavetta taċ-ċifrazzjoni tal-filesystem (password)"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Agħżel ċavetta għaċ-ċifrazzjoni tal-filesystem"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Din iċ-ċavetta taċ-ċifrazzjoni huwa sempliċi wisq (irid ikun twil tal-inqas %"
+"d ittri)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Iċ-ċifrarji ma jaqblux"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Ċavetta taċ-ċifrazzjoni"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Ċavetta taċ-ċifrazzjoni (darb' oħra)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Algoritmu ta' ċifrazzjoni"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Ibdel tip"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Ikkanċella"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Ma nistax nilloggja bil-user \"%s\" (password ħażin?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Awtentikazzjoni tad-dominju meħtieġ"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Liema user"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Ieħor"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Jekk jogħġbok daħħal il-user, password u dominju biex taċċessa dan il-"
+"kompjuter"
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "User"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Fittex servers"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Fittex servers ġodda"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Irid jiġi nstallat il-pakkett %s. Tridni ninstallah?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Ma stajtx ninstalla il-pakkett %s!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Pakkett meħtieġ %s huwa nieqes"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Dawn il-pakketti jridu jiġu nstallati:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Qed ninstalla pakketti..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Qed jitneħħew pakketti..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Instabet problema - ebda apparat validu ma nstab fejn jinħolqu filesystems "
+"ġodda. Iċċekkja l-kompjuter għall-kawża ta' din il-problema."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Għandek bżonn partizzjoni FAT immuntata fuq /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Qed nifformattja partizzjoni %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Qed noħloq u nifformattja fajl %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Ma nafx kif nifformattja %s b'tip %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formattjar ta' %s falla"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Muntaġġ ċirkolari %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Qed nimmonta partizzjoni %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "immuntar ta' partizzjoni %s fid-direttorju %s falla"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Qed niċċekkja %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "problema fl-iżmuntar ta' %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Qed nixgħel partizzjoni swap %s"
+
+#: fs/mount_options.pm:113
+#, fuzzy, c-format
+msgid "Use an encrypted file system"
+msgstr "Ma tistax tuża filesystem iċċifrat għall-punt ta' mmuntar %s"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Taġġornax ħinijiet ta' aċċess fuq din is-sistema ta' fajls\n"
+"(eż, għal aċċess iżjed malajr fid-direttorju spool ta' news server)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Jista' biss jiġi mmuntat espliċitament (i.e.,\n"
+"l-għażla -a ma jimmontax din is-sistema ta' fajls)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Tinterpretax apparat speċjali ta' karattri jew blokk fuq is-sistema ta' "
+"fajls."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Tħallix it-tħaddim ta' programmi minn fuq din is-sistema ta' fajls. Din l-"
+"għażla\n"
+"tista' tkun utli fuq server li għandu binarji għal arkitettura differenti."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Tippermettix li l-bits set-user-identifier jew set-group-identifier \n"
+"ikollhom effett. (Dan jidher bla problemi, imma fil-fatt jista' joħloq "
+"problemi\n"
+"jekk għandek suidperl(1) installat)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Immonta s-sistema ta' fajls tinqara biss."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "L-I/O fuq is-sistema ta' fajls għandu jsir b'mod sinkronu."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr ""
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr ""
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Agħti aċċess għall-ktib lil utenti normali"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Agħti aċċess għall-qari lil utenti normali"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Punt ta' mmuntar doppju %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "m'hemmx partizzjonijiet disponibbli"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Qed niskannja partizzjonijiet biex insib punti ta' mmuntar"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Agħżel punti ta' mmuntar"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Agħżel liema partizzjonijiet trid tifformattja"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Ma rnexxielix jiċċekkja l-filesystem %s. Trid issewwi l-problemi? (attent, "
+"tista' titlef informazzjoni)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr ""
+"M'hemmx biżżejjed swap biex issir l-installazzjoni, jekk jogħġbok żid ftit"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Għandek bżonn partizzjoni \"root\".\n"
+"Għal dan l-ewwel oħloq partizzjoni (jew agħżel waħda eżistenti)\n"
+"Imbagħad agħżel \"Punt ta' mmuntar\" u ssettjah għal \"/\""
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"M'għandekx partizzjoni \"swap\".\n"
+"\n"
+"Trid tkompli xorta?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Uża l-ispazju vojt"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "M'hemmx biżżejjed spazju vojt biex jinħolqu l-partizzjonijiet il-ġodda"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Uża partizzjoni eżistenti"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "M'hemmx partizzjonijiet eżistenti x'nuża"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Uża l-partizzjoni tal-Microsoft Windows® għal loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Liema partizzjoni trid tuża għal Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Agħżel id-daqsijiet"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Daqs tal-partizzjoni root f' MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Daqs tal-partizzjoni Swap f' MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"M'hemmx partizzjonijiet FAT biex tintuża bħala loopback (jew m'hemmx\n"
+"biżżejjed spazju)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Uża l-ispazju vojt fil-partizzjoni tal-Windows"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Liema partizzjoni trid tibdlilha d-daqs?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Il-programm biex tibdel id-daqs ta' partizzjoni FAT m'hux\n"
+"kapaċi tbiddel din il-partizzjoni - instabet din il-problema:\n"
+"%s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Qed jiġi kalkulat id-daqs tal-partizzjoni Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Il-partizzjoni tal-Microsoft Windows® hija mgerfxa wisq. Jekk jogħġbok "
+"ħaddem \"defrag\"."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"TWISSIJA!\n"
+"\n"
+"\n"
+"DrakX issa se jbiddel id-daqs tal-partizzjoni Windows.\n"
+"\n"
+"\n"
+"Oqgħod attent: dan il-proċess huwa perikoluż. Jekk għadek m'għamiltx dan, "
+"jaqbillek l-ewwel toħroġ mill-proċess tal-installazzjoni, tħaddem \"scandisk"
+"\" mill-\"command prompt\" tal-Windows u idejalment anke \"defrag\", u "
+"mbagħad terġa' tibda l-installazzjoni. Int rakkomandat ukoll li tieħu kopja "
+"tas-sigurtà tal-informazzjoni importanti.\n"
+"\n"
+"\n"
+"Meta tkun ċert, agħfas %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Li jmiss"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "X'daqs trid iżżomm għall-windows fuq partizzjoni %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Daqs"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Qed nikkalkula l-limiti tal-filesystem tal-Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Bdil tad-daqs FAT falla: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"M'hemmx partizzjonijiet FAT biex tibdel id-daqs (jew m'hemmx biżżejjed "
+"spazju)."
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Neħħi l-Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "Ħassar kull m'hemm fid-diska"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Għandek iżjed minn ħard disk waħda. Fuq liema trid tinstalla l-Linux?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"Il-partizzjonijiet kollha fuq id-diska %s u l-informazzjoni ta' ġo fihom se "
+"jintilfu"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Partizzjonament personalizzat"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Uża fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Tista' tippartizzjona %s.\n"
+"X'ħin tlesti, tinsiex tikteb il-bidliet billi tittajpja \"w\"."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ma nistax insib spazju fejn ninstalla."
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Is-saħħar ta' partizzjonament DrakX sab dawn is-soluzzjonijiet:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partizzjonament falla: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Ma tistax tuża JFS għal partizzjonijiet iżgħar minn 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Ma tistax tuża ReiserFS għal partizzjonijiet iżgħar minn 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "b' /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Ma nistax naqra t-tabella tal-partizzjonijiet għall-apparat %s, hija \n"
+"korrotta wisq. Nista' nkompli billi nħassar partizzjonijiet ħżiena \n"
+"(L-INFORMAZZJONI KOLLHA tintilef). L-alternattiva hi li ma tħallix \n"
+"lill DrakX ibiddel it-tabella tal-partizzjonijiet (il-problema hi \n"
+"%s)\n"
+"\n"
+"Trid titlef il-partizzjonijiet kollha?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Punti ta' mmuntar iridu jibdew b' /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Punti tal-immunar jista' jkun fihom biss ittri u numri"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Diġà hemm partizzjoni b'punt ta' mmuntar %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Int għażilt partizzjoni software-RAID bħala root (/).\n"
+"Ebda bootloader m'hu kapaċi jħaddem dan mingħajr partizzjoni /boot.\n"
+"Għalhekk aċċerta li jkollok partizzjoni /boot mhux fuq ir-RAID."
+
+#: fsedit.pm:415
+#, fuzzy, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr "Ma tistax tuża volum loġiku LVM għall-punt ta' mmuntar %s"
+
+#: fsedit.pm:417
+#, fuzzy, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Int għażilt volum loġiku LVM bħala root (/).\n"
+"Ebda bootloader m'hu kapaċi jħaddem dan mingħajr partizzjoni /boot.\n"
+"Għalhekk aċċerta li jkollok partizzjoni /boot mhux fuq ir-RAID."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Dan id-direttorju irid jibqa' fil-filesystem root."
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Għandek bżonn filesystem vera (ext2/ext3, reiserfs, xfs jew jfs) għal dan il-"
+"punt ta' mmuntar\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Ma tistax tuża filesystem iċċifrat għall-punt ta' mmuntar %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "M'hemmx biżżejjed spazju għal awto-allokazzjoni"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "M'hemm xejn x'nagħmel"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Flopi"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Żip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Diska"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD burners"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Tejp"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "Kontrollaturi AGP"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Kard tal-video"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr ""
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Kard TV"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Tagħmir multimedia ieħor"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Kard awdjo"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Proċessaturi"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "Kard ISDN"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr ""
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr ""
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr ""
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr ""
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr ""
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Kard Ethernet"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL kard"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Memorja"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printer"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr ""
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Ġojstik"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "Kontrollaturi SATA"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "Kontrollaturi RAID"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "Kontrollaturi (E)IDE/ATA"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr ""
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Mudell tal-kard :"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Kontrollaturi tal-firewire"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "Kontrollaturi PCMCIA"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "Kontrollaturi SCSI"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "Kontrollaturi USB"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "Ports USB"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "Kontrollaturi SMBus"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Bridges u kontrollaturi tas-sistema"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastiera"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr ""
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Maws"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skaner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Mhux magħruf/oħrajn"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Stenna ftit... qed napplika l-konfigurazzjoni"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Ebda drajver alternattiv"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"M'hemm ebda drajver alternattiv OSS/ALSA għall-kard awdjo tiegħek (%s) li "
+"bħalissa tuża \"%s\""
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Konfigurazzjoni tal-awdjo"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Hawn tista' tagħżel drajver alternattiv (OSS jew ALSA) għall-kard awdjo "
+"tiegħek (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Il-kard tiegħek tuża d-drajver %s\"%s\" (id-drajver impliċitu għall-kard "
+"tiegħekhuwa \"%s\")."
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) kien l-ewwel API tal-awdjo. Huwa API indipendenti "
+"mis-sistema operattiva (huwa disponibbli fuq diversi forom ta' UNIX(tm)) "
+"imma huwa API bażiku u limitat ħafna.\n"
+"Apparti minn dan, id-drajvers tal-OSS kollha jirrepetu ħafna affarijiet.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) hija arkitettura modulari li "
+"jissapportja ħafna kards ISA, USB u PCI.\n"
+"\n"
+"Hija tipprovdi API ħafna iżjed komprensiv mill-OSS.\n"
+"Biex tuża l-ALSA, tista' tuża:\n"
+"- l-API qadim għall-kompatibbiltà mal-OSS\n"
+"- l-API il-ġdid li jipprovdi diversi faċilitajiet ġodda imma jiħtieġ l-użu "
+"tal-libreriji l-ġodda ALSA.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Drajver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Identifikazzjoni ta' problemi"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Id-drajver \"%s\" antik huwa mmarkat li hu ħażin.\n"
+"\n"
+"Huwa rrapportat li jikkawża problemi fil-kernel waqt it-tneħħija.\n"
+"\n"
+"Id-drajver il-ġdid \"%s\" jintuża biss għall-istartjar li jmiss."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ebda drajver sors miftuħ"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"M'hemm ebda drajver ab'xejn OSS/ALSA għall-kard awdjo tiegħek (%s),imma hemm "
+"drajver propjetarju f' \"%s\""
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Ebda drajver magħruf"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "M'hemm ebda drajver magħruf għall-kard awdjo tiegħek (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Drajver mhux magħruf"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Problema: Id-drajver %s għall-kard awdjo tiegħek mhux elenkat"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Sib problemi fl-awdjo"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"It-tester klassiku ta' bugs ta' l-awdjo se jħaddem dawn il-kmandijiet:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" jgħidlek liema drajver juża impliċitament\n"
+"il-kard tiegħek.\n"
+"- \"grep sound-slot /etc/modprobe.conf\" jgħidlek liema drajver juża "
+"bħalissa\n"
+"\n"
+"- \"/sbin/lsmod\" jippermettilek tiċċekkja jekk il-modulu (drajver) hux\n"
+"imtella' jew le.\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" u \"/sbin/chkconfig --list alsa\" \n"
+"jgħidulek jekk is-servizzi sound u alsa humiex konfigurati biex jitilgħu\n"
+"f'initlevel 3\n"
+"\n"
+"- \"aumix -q\" jgħidlek jekk il-volum tal-awdjo hux mitfu jew le\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" jgħidlek liema programm qed juża l-kard\n"
+"tal-awdjo.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Ħallini nagħżel drajver ieħor"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Agħżel drajver arbitrarju"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Jekk taħseb li taf liema drajver huwa dak adattat għall-kard tiegħek,\n"
+"tista' tagħżel wieħed mil-lista ta' fuq.\n"
+"\n"
+"Id-drajver kurrenti għall-kard awdjo \"%s\" tiegħek huwa \"%s\"."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Għarfien awtomatiku"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Mhux magħruf/Ġeneriku"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Mhux magħruf|CPH05X (bt878) [diversi manifatturi]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Mhux magħruf|CPH06X (bt878) [diversi manifatturi]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Għal ħafna kards tat-TV moderni, il-modulu bttv tal-kernel GNU/Linux "
+"awtomatikament isib il-parametri tajba.\n"
+"Jekk il-kard ma tingħarafx sew, tista' ġġegħlu jieħu t-tuner u kard it-tajba "
+"minn hawn. Sempliċiment agħżel il-kard u parametri jekk meħtieġa."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Mudell tal-kard :"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tip ta' tuner :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Iva"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Le"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Agħżel fajl"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Żid"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Biddel"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Neħħi"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Spiċċa"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Ta' qabel"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Għażla ħażina, erġa' pprova\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "L-għażla tiegħek? (impliċita: %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Elementi li trid timla':\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "L-għażla tiegħek? (0/1, impliċitu: %s) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Buttuna \"%s\": %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Trid tikklikkja din il-buttuna?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "L-għażla tiegħek? (impliċita: \"%s\"%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "daħħal \"void\" għal element vojt"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Hemm ħafna affarijiet minn xiex tagħżel (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Jekk jogħġbok agħżel l-ewwel numru minn dawn l-għaxra li trid tbiddel, jew "
+"agħfas Enter biex tkompli.\n"
+"X'tagħżel?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Nota, l-isem inbidel:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Erġa' ssottometti"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Emirati Għarab Magħquda"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afganistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigwa u Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Angwilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanija"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenija"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Netherlands Antilles"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Arġentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Samoa Amerikana"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Awstrija"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Awstralja"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Ażerbajġan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bożnija u Ħerżegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladexx"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belġju"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarija"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Baħrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunej Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivja"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brażil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Baħamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Butan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Gżira Bouvet"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Bjelorussja"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Beliż"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Kanada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Gżejjer Cocos (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinxasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Repubblika Ċentrali Afrikana"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Svizzera"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Kosta tal-Avorju"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Gżejjer Cook"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Ċilè"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Ċina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Kolombja"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Kosta Rika"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbja u Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Kuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Cape Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Gżira Christmas"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Ċipru"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Repubblika Ċeka"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Ġermanja"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Dġibuti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danimarka"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Repubblika Dumnikana"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Alġerija"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekwador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estonja"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Eġittu"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Saħara tal-Punent"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanja"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etjopja"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finlandja"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiġi"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Gżejjer Falkland"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Gżejjer Faroe"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Franza"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Renju Unit"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Ġorġja"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Gwijana Franċiża"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Gana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Ġibiltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grinlandja"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambja"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Gwinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Gwadelup"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Gwinea Ekwatorjali"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Greċja"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Georgia t'Isfel u l-Gżejjer Sandwich tan-Nofsinhar"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Gwatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Gwam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Gwinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Gujana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Ħong Kong SAR (Ċina)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Gżejjer Heard u McDonald"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Ħonduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroazja"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Ħaiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungerija"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indoneżja"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irlanda"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Iżrael"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "Indja"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Territorju Brittaniku ta' l-Oċean Indjan"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Iraq"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Islandja"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italja"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Ġamajka"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Ġordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Ġappun"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenja"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgiżstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "San Kitts u Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Korea ta' fuq"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwajt"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Gżejjer Kajmani"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Każakstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanu"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Luċija"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberja"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Leżoto"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litwanja"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Lussemburgu"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvja"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libja"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokk"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monako"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavja"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Gżejjer Marshall"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Maċedonja"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Mjanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolja"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Gżejjer Mariana tat-Tramuntana"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinik"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mawritanja"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mawrizju"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldives"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Messiku"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malażja"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Możambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibja"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "New Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niġer"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Gżira Norfolk"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Niġerja"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nikaragwa"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Netherlands"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norveġja"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nawru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Perù"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Polineżja Franċiża"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippini"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polonja"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "San Pierre u Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugall"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paragwaj"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palaw"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Rumanija"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russja"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Għarabja Sawdita"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Gżejjer Solomon"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychelles"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Svezja"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapor"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Santa Liena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenja"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Gżejjer Svalbard u Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakkja"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegall"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalija"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome u Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Sirja"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swazilandja"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Gżejjer Turks u Caicos"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Ċadd"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Territorji Franċiżi tan-Nofsinhar"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Tajlandja"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Taġikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelaw"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Timor tal-Lvant"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tuneżija"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkija"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad u Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Tajwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanżanija"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukranja"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Gżejjer Żgħar Imbegħda ta' l-Istati Uniti"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Stati Uniti"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Urugwaj"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Użbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "San Vinċenz u l-Grenadini"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezwela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Gżejjer Virgin (Brittanniċi)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Gżejjer Virgin (US)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vjetnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis u Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Majott"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Afrika t'Isfel"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Żambja"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Żimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Merħba għal %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr ""
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "L-ewwel neħħi l-volumi loġiċi minn ġo fih\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Twissija: Softwer Ħieles mhux neċessarjament ħieles minn patenti, u ċerti \n"
+"Softwer Ħieles inkluż jista' jkun kopert minn patenti fil-pajjiż fejn "
+"tużah.\n"
+"Per eżempju, programmi MP3 inklużi jistgħu jeħtieġu liċenzja biex tużahom\n"
+"(ara http://www.mp3licensing.com għal dettalji). Jekk m'intix ċert jekk\n"
+"patent japplikax għalik, iċċekkja l-liġijiet lokali."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Twissija\n"
+"\n"
+"Jekk jogħġbok aqra sew it-termini ta' taħt. Jekk ma taqbilx ma xi parti,\n"
+"ma tistax tinstalla s-CD li jmiss. Agħfas \"Ma naċċettax\" biex tkompli \n"
+"l-installazzjoni minngħajr dan is-CD.\n"
+"\n"
+"\n"
+"Xi komponenti tas-CD li jmiss ma jaqgħux taħt il-liċenzja GPL jew liċenzji\n"
+"simili. Kull komponent simili għalhekk huwa kontrollat mit-termini u\n"
+"kundizzjonijiet tal-liċenzja speċifika tiegħu. Jekk jogħġbok aqra sew\n"
+"u segwi dawn il-liċenzji speċifiċi qabel tuża jew tiddistribwixxi dawn il-\n"
+"komponenti.\n"
+"Dawn il-liċenzji ġeneralment jipprojbixxu t-trasferiment, ikkupjar (ħlief \n"
+"bħala kopja tas-sigurtà), ridistribuzzjoni, \"reverse engineering\", "
+"diżassemblaġġ,\n"
+"dikompilazzjoni jew modifika ta' dawn il-komponenti. Ksur ta' dan\n"
+"il-qbil jittermina immedjatament id-drittijiet tiegħek taħt din il-"
+"liċenzja.\n"
+"Sakemm il-liċenzja ma tagħtikx dawn id-drittijiet, normalment ma tistax\n"
+"tinstalla dawn il-programmi fuq iżjed minn kompjuter wieħed, jew \n"
+"tadattahom biex jintużaw fuq network. Jekk għandek xi dubju, jekk \n"
+"jogħġbok ikkuntattja direttament lid-distributur jew editur tal-komponent.\n"
+"It-trasferiment lill terzi partijiet jew ikkupjar ta' dawn il-komponenti "
+"inkluż\n"
+"id-dokumentazzjoni normalment huwa miċħud.\n"
+"\n"
+"\n"
+"Id-drittijiet kollha tal-komponenti tas-CD li jmiss huma tal-awturi "
+"rispettivi u\n"
+"huma protetti minn liġijiet ta' propjetà intellettwali u copyright "
+"applikabbli\n"
+"għal programmi ta' softwer.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Prosit! L-installazzjoni issa lesta.\n"
+"Neħħi l-flopi/CD u agħfas Enter biex tirristartja.\n"
+"\n"
+"\n"
+"Għal informazzjoni dwar aġġornamenti li saru għal din il-verżjoni ta' \n"
+"Mandriva Linux, iċċekkja s-sezzjoni \"Errata\" li hemm fuq:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informazzjoni dwar kif tissettja s-sistema tinstab fil-kapitlu \"Post-install"
+"\"\n"
+"fil-Mandriva Linux User's Guide uffiċjali."
+
+#: modules/interactive.pm:19
+#, fuzzy, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Konfigurazzjoni drajver UPS"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Konfigurazzjoni tal-modulu"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Tista' tikkonfigura kull parametru tal-modulu minn hawn."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Sibt %s interfaċċji"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Għandek iżjed?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Il-kompjuter għandu interfaċċji %s?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Ara info. dwar ħardwer"
+
+#: modules/interactive.pm:82
+#, fuzzy, c-format
+msgid "Installing driver for USB controller"
+msgstr "Qed ninstalla drajver għal %s kard %s"
+
+#: modules/interactive.pm:83
+#, fuzzy, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Qed ninstalla drajver għal %s kard %s"
+
+#: modules/interactive.pm:84
+#, fuzzy, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Qed ninstalla drajver għal %s kard %s"
+
+#: modules/interactive.pm:85
+#, fuzzy, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Qed ninstalla drajver għal %s kard %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Qed ninstalla drajver għal %s kard %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Issa trid tipprovdi l-għażliet lill-modulu %s.\n"
+"Innota li l-indirizzi jridu jiddaħħlu bil-prefiss 0x, bħal \"0x123\"."
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Tista' tipprovdi l-għażliet lill-modulu %s.\n"
+"L-għażliet għandhom il-format \"isem=valur isem=valur ...\".\n"
+"Per eżempju, \"io=0x300 irq=7\"."
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Għażliet tal-modulu:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Liema drajver %s tridni nipprova?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"F'ċerti każi id-drajver %s ikollu bżonn iżjed informazzjoni biex jaħdem\n"
+"sew, għalkemm is-soltu jaħdem sew mingħajrha. Trid tispeċifika xi\n"
+"informazzjoni lid-drajver, jew tħallih ifittex l-apparat waħdu? Kulltant, "
+"it-\n"
+"tfittix iġiegħel lill-kompjuter jeħel, imma dan m'għandux jagħmel ħsara."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Fittex"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Speċifika informazzjoni"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Il-modulu %s ma rnexxielux jitla'.\n"
+"Trid terġa' tipprova b'parametri oħra?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "immuntar falla: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Partizzjoni estiża m'hix sapportita fuq din il-pjattaforma"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Għandek toqba fit-tabella tal-partizzjonijiet imma ma nistax nużaha.\n"
+"L-unika soluzzjoni hija li tmexxi l-partizzjoni primarja sabiex din it-toqba "
+"tkun maġenb il-partizzjoni estiża"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Problema fil-qari tal-fajl %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Restawr minn fajl %s falliet: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Fajl ta' kopja tas-sigurtà ħażin"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Problema waqt kitba fil-fajl %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Qed jiġri xi ħaġa ħażina fuq il-ħard disk.\n"
+"It-test biex niċċekkja l-integrità tal-informazzjoni falla.\n"
+"Dan ifisser li kull ma tikteb fuq id-diska jista' jispiċċa mimli mbarazz."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Ma nistax inżid partizzjoni fuq RAID _formattjat_ %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "M'hemmx biżżejjed partizzjonijiet għal RAID livell %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Ma stajtx noħloq direttorju /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Ma stajtx noħloq link /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr ""
+"Ma stajtx nikkopja l-fajl tal-formware %s għal /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Ma stajtx nissettja l-permessi tal-fajl ta' firmware %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Ma stajtx ninstalla l-pakketti meħtieġa biex naqsam l-iskaners"
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr "L-iskaners mhux se jkunu disponibbli għal utenti apparti root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Aċċetta/iċħad messaġġi fittizji ta' żbalji IPv4."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Aċċetta/iċħad icmp echo imxandra."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Aċċetta/iċħad icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Ippermetti/iċħad autologin."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Jekk tissettja għal \"KOLLHA\", /etc/issue u /etc/issue.net jitħallew "
+"jeżistu.\n"
+"\n"
+"Jekk tissettja għal \"EBDA\", ma jitħallewx issues\n"
+"\n"
+"Altrimenti jitħalla biss /etc/issue"
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Ippermetti/iċħad reboot mill-utent fuq il-konsol."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Ippermetti/iċħad reboot remot mill-utent root."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Ippermetti/iċħad login dirett ta' root."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Ippermetti/iċħad il-lista ta' utenti tas-sistema fuq id-display managers "
+"(kdm u gdm)"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Ippermetti/iċħad li tesporta display meta tgħaddi\n"
+"mill-kont root għal users oħrajn.\n"
+"\n"
+"Ara pam_xauth(8) għal iżjed tagħrif."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Ippermetti/iċħad konnessjonijiet X:\n"
+"\n"
+" - KOLLHA (konnessjonijiet kollha permessi),\n"
+"\n"
+" - LOKALI (konnessjonijiet biss mill-kompjuter lokali),\n"
+"\n"
+" - EBDA (ebda konnessjoni)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"L-argument jispeċifika jekk klijenti humiex awtorizzati jaqbdu\n"
+"mas-serevr X min-network fuq il-port tat-TCP 6000 jew le."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Awtorizza:\n"
+"\n"
+"- is-servizzi kollha kontrollati minn tcp_wrappers (ara l-paġna man hosts."
+"deny(5)) jekk tissettja \"KOLLHA\",\n"
+"\n"
+"- dawk lokali biss jekk tissettja \"LOKALI\"\n"
+"\n"
+"- ebda konnessjoni jekk tissettja \"EBDA\".\n"
+"\n"
+"Biex tissettja s-servizzi li trid, uża /etc/hosts.allow (ara hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Jekk SERVER_LEVEL (jew SECURE_LEVEL jekk assenti)\n"
+"huwa iżjed minn 3 f' /etc/security/msec/security.conf, joħloq\n"
+"il-link simboliku /etc/security/msec/server biex jipponta lejn\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"/etc/security/msec/server jintuża minn chkconfig --add biex \n"
+"jiddeċiedi iżidx servizz jekk huwa preżenti fil-fajl waqt\n"
+"l-installazzjoni tal-pakketti."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Ixgħel/itfi crontab u at għal utenti.\n"
+"\n"
+"Poġġi utenti permessi f' /etc/cron.allow u /etc/at.allow (ara man ta'\n"
+"at(1) u crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Igħel/itfi rapporti syslog fuq konsol 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Ixgħel/itfi protezzjoni kontra \"spoofing\" tar-reżoluzzjoni ta' ismijiet. "
+"Jekk \"%s\" huwa veru, jirrapporta fuq syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Allerti ta' sigurtà:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Igħel/itfi protezzjoni kontra IP spoofing."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Ixgħel/ifti libsafe jekk dan jinstab fuq is-sistema."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Ixgħel/itfi l-illoggjar tal-pakketti strambi IPv4."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Ixgħel/itfi l-kontroll ta' sigurtà msec ta' kull siegħa"
+
+#: security/help.pm:90
+#, fuzzy, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Ippermetti su biss mill-membri tal-grupp \"wheel\" jew ippermetti su mill-"
+"utenti kollha."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Uża passwords biex tawtentika utenti."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Ixgħel/itfi l-iċċekkjar għall-promiskwità tal-kards ethernet."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Ixgħel/itfi ċċekkjar tas-sigurtà ta' kuljum."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Ixgħel/itfi sulogin(8) fil-livell ta' utent wieħed."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Żid l-isem bħala eċċezzjoni għall-iċċekkjar tal-iskadenza tal-passwords minn "
+"msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Issettja l-iskadenza tal-passwords għal \"max\" ġranet u ippermetti dewmien "
+"biex jaqleb inattiv."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"Issettja t-tul tal-kronoloġija tal-passwords u tippermettix li jerġa' "
+"jintuża password."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Issettja t-tul minimu ta' password u numru minimu ta' numri u ittri kbar."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Issettja umask ta' root."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Jekk mixgħul, jiċċekkja ports miftuħa"
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Jekk mixgħul, jiċċekkja :\n"
+"\n"
+"- passwords vojta,\n"
+"\n"
+"- ebda password f' /etc/shadow\n"
+"\n"
+"- għal users b'id 0 apparti root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Jekk mixgħul, jiċċekkja l-permessi tal-fajls fid-direttorju personali tal-"
+"utenti."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"Jekk mixgħul, jiċċekkja jekk it-tagħmir tan-network hux f'modalità promiskwa."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "jekk mixgħul, iħaddem it-testijiet tas-sigurtà ta' kuljum."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Jekk mixgħul, jiċċekkja żieda jew tneħħija ta' fajls sgid."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Jekk mixgħul, jiċċekkja għal passwords vojta f' /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "jekk mixgħul, jivverifika l-integrità ta' fajls suid/sgid."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "jekk mixgħul, jiċċekkja ż-żieda jew tneħħija ta' fajls suid root."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Jekk mixgħul, jiċċekkja fajls li m'huma ta' ħadd."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr "Jekk mixgħul, jiċċekkja fajls li jistgħu jinkitbu minn kulħadd."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Jekk mixgħul, jiċċekkja għall-eżistenza ta' rootkits"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "jekk mixgħul, ibgħat rapport bl-imejl f'dan l-indirizz, inkella root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "jekk mixgħul, jibgħad ir-rapport tar-riżultat bl-imejl."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Tibgħatx imejl jekk m'hemm xejn fuq xiex twissi"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Jekk mixgħul, jiċċekkja xi affarijiet dwar id-databażi rpm."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "jekk mixgħul, ibgħat riżultati fuq syslog."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "jekk mixgħul, rapporti jintbagħatu fuq tty"
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Issettja d-daqs tal-kronoloġija tax-shell. Valur ta' -1 ifisser bla limitu."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"Issettja \"timeout\" għax-shell. Valur ta' żero jfisser is-sessjoni ma "
+"tiskadix."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Timeout huwa f'sekondi"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Issettja umask ta' l-utenti"
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Aċċetta messaġġi fittizji ta' problemi IPv4"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Aċċetta icmp echo imxandrin"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Aċċetta icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* jeżisti"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Irributjar mill-utent fuq il-konsol"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Ippermetti login ta' root remot"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Login root dirett"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Elenka l-utenti fuq display managers (kdm u gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Esporta display meta tgħaddi minn root għal utenti oħrajn"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Ippermetti konnessjoni X Window"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Awtorizza konnessjonijiet TCP għal XWindows"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Awtoriżża s-servizzi kollha kontrollati minn tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig jobdi regoli ta' msec"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Ixgħel \"crontab\" u \"at\" għal utenti"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog jirrapporta fuq konsol 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Protezzjoni kontra \"spoofing\" tar-reżoluzzjoni ta' ismijiet"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Protezzjoni kontra spoofing IP"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Uża libsafe jekk jinstab fuq is-sistema"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Illoggja pakketti strambi IPv4"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Ixgħel test tas-sigurtà kull siegħa msec"
+
+#: security/l10n.pm:32
+#, fuzzy, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Ippermetti su biss minn membri tal-grupp \"wheel\", jew utenti kollha"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Uża password biex tawtentika users"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Iċċekkja promiskwità ta' kards ethernet"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Iċċekkjar ta' sigurtà kuljum"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) f'livell single user"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Ebda skadenza tal-password għal"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Issettja l-iskandeza tal-password u dewmien fl-inattivazzjoni ta' kont"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Tul ta' kronoloġija ta' passwords"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Tul minimu tal-passwords, u numru ta' figuri u ittri kbar"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "umask ta' root"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Daqs tal-kronoloġija tax-shell"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Skadenza tal-ħin tax-shell"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "umask tal-utenti"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Iċċekjka ports miftuħa"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Iċċekkja kontijiet mhux sikuri"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Iċċekkja permessi tal-fajls fid-direttorji personali ta' l-utenti"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Iċċekkja jekk hemmx tagħmir tan-network b'modalità promiskwa"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Ħaddem it-testijiet ta' sigurtà ta' kuljum"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Iċċekkja żieda/tneħħija ta' fajls sgid"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Iċċekkja passwords vojta f' /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Ivverifika checksum ta' fajls suid/sgid"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Iċċekkja ż-żieda/tneħħija ta' fajls suid root"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Irrapporta fajls bla sid"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Iċċekkja fajls u direttorji jinkitbu minn kulħadd"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Ħaddem testijiet chkrootkit"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr ""
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Jekk mixgħul, ir-rapport jintbagħat lil dan l-indirizz, inkella lil root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Irrapporta r-riżultat tal-iċċekkjar bl-imejl"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Ħaddem xi testijiet fuq id-databażi rpm"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Irrapporta r-riżultat lis-syslog"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Irrapporta r-riżultati fuq terminal"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Bieb miftuħ beraħ!"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Ftit li xejn"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Tajjeb"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Tajjeb ħafna"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranojku"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Oqgħod attent jekk tuża dan il-livell. Il-kompjuter tiegħek jista' ikun "
+"iżjed faċli tużah, imma jkun vulnerabbli ħafna. Qatt m'għandu jintuża fuq "
+"kompjuter imqabbad ma' oħrajn permezz ta' network jew ma' l-internet. Ma "
+"hemm ebda password."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Il-passwords issa huma mixgħula, imma l-użu fuq l-internet jew network xorta "
+"m'hux rakkomandat."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dan huwa s-seting rakkomandat jekk se tuża dan il-kompjuter fuq l-internet "
+"bħala klijent."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Diġà hemm xi restrizzjonijiet, u iżjed testijiet awtomatiċi jitħaddmu kuljum "
+"bil-lejl."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"B'dan il-livell ta' sigurtà jsir possibbli li tuża dan il-kompjuter bħala "
+"server.\n"
+"Is-sigurtà hija għolja biżżejjed biex jintuża bħala server li jaċċetta "
+"konnessjonijiet\n"
+"minn ħafna kompjuters oħra. Jekk int se tuża l-kompjuter bħala klijent biss, "
+"jew biex taċċessa l-internet, jaqbillek livell iżjed baxx."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Ibbażat fuq il-livell ta' qabel, imma issa s-sistema hija magħluqa għal "
+"kollox.\n"
+"Is-setings tas-sigurtà qegħdin fil-massimu."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sigurtà"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Għażliet bażiċi DrakSec"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Agħżel livell ta' sigurtà mixtieq"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Livell ta' sigurtà"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Uża libsafe għas-servers"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Din hija librerija li tipproteġi kontra attakki \"buffer overflow\" u "
+"\"format string\"."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Amministratur tas-sigurtà (login jew imejl)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Ħaddem is-sistema tal-awdjo ALSA (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron iħaddem kmandijiet perjodikament."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd jintuża biex tiċċekkja l-istatus tal-batterija ta' laptop u żżomm\n"
+"rikordju fis-syslog. Jista' jintuża wkoll biex jintefa' awtomatikament\n"
+"beta l-batterija titbaxxa wisq."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Iħaddem kmandijiet li jiġu appuntati mill-kmand \"at\" fil-ħin speċifikat\n"
+"meta tħaddem \"at\", u jħaddem programmi meta t-tagħbija tas-sistema tkun\n"
+"baxxa biżżejjed."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron huwa programm standard tal-UNIX li jħaddem programmi speċifikati \n"
+"mill-user f'ħinijiet speċifiċi. Vixie cron iżid numru ta' fattizzi lill-\n"
+"cron bażiku tal-UNIX, inkluż sigurtà aħjar u konfigurazzjoni iżjed "
+"b'saħħitha."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM huwa proċess li jimmonitorja l-fajls. Huwa jintuża biex jiġi rappurtat "
+"meta xi fajls jinbidlu.\n"
+"Huwa jintuża minn GNOME u KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM jippermetti l-użu tal-maws fi programmi non-grafiċi bħall-Midnight\n"
+"Commander. Jippermetti wkoll ikkopjar ta' test u menus popup fil-konsol."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake iħaddem inkjesta tal-ħardwer, u jista' jsib u \n"
+"jikkonfigura apparat ġdid li twaħħal."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache huwa server tal-web. Huwa jista' joffri fajls HTML u CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Id-daemon tal-internet \"superserver\" (magħruf bħala inetd) itella'\n"
+"varjetà ta' servizzi oħra tal-internet skond il-ħtieġa. Huwa responsabbli\n"
+"li jtella' diversi servizzi, inkluż telnet, ftp, rsh u rlogin. Jekk tneħħi\n"
+"lill-inetd tkun neħħejt is-servizzi kollha tiegħu."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Ħaddem filtrar ta' pakketti għall-kernel verżjoni 2.2 tal-Linux,\n"
+"biex tissettja firewall biex tipproteġi l-kompjuter minn attakki \n"
+"min-network"
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Dan il-pakkett itella' t-tqassim tat-tastiera kif konfigurat f'\n"
+"/etc/sysconfig/keyboard. Dan jista' jiġi ssettjat bil-programm kbdconfig.\n"
+"Dan għandu jibqa' ssettjat għal ħafna magni."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Riġenerazzjoni awtomatika tal-headers tal-kernel ġewwa\n"
+"/boot għal /usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Għarfien u konfigurazzjoni ta' apparat ġdid meta tixgħel."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Il-programm Linuxconf ġieli jagħmel diversi xogħlijiet waqt li qed\n"
+"jitla' l-kompjuter biex imantni l-konfigurazzjoni."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd huwa daemon tal-ipprintjar li huwa meħtieġ biex jaħdem sew l-lpr.\n"
+"Huwa bażikament server li jqassam xogħol ta' pprintjar lill-printer/s."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, li jintuża biex tibni servers kbar u \n"
+"effiċjenti ħafna."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) huwa \"Domain Name Server\" (DNS) li jirrisolvi l-indirizz IP "
+"minn isem ta' kompjuter."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Jimmonta u jiżmonta l-filesystems kollha NFS (Unix/Linux), \n"
+"SMB (LANmanager/Windows) jew NCP (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Itella' jew iwaqqaf l-interfaċċji kollha tan-network li qegħdin \n"
+"konfigurati biex jitilgħu meta tixgħel."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS huwa protokoll popolari għal qsim ta' fajls fuq networks TCP/IP. \n"
+"Dan is-servizz jipprovdi funzjonalità ta' server NFS, li jiġi konfigurat \n"
+"mill-fajl /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS huwa protokoll popolari għal qsim ta' fajls fuq networks \n"
+"TCP/IP. Dan il-modulu jipprovdi faċilità li ssakkar fajls bl-NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Awtomatikament ixgħel in-\"numlock\" taħt il-konsol u Xorg \n"
+"meta tixgħel"
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Jippermetti l-użu tal-Oki4w \"win-printer\" jew kompatibbli"
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Il-PCMCIA normalment jintuża għal kards tan-network jew modems fuq \n"
+"kompjuters laptop. Dan ma jittellax jekk ma jkunx konfigurat għalhekk \n"
+"m'hux problema jekk tħallih fuq kompjuters li m'għandhomx bżonnu."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Il-portmapper jimmaniġġja konnessjonijiet RPC, li jintużaw minn \n"
+"protokolli bħal NFS u NIS. Is-server portmap irid ikun qed jaħdem fuq\n"
+"kompjuters li jaġixxu bħala servers għal protokolli li jużaw il-\n"
+"mekkaniżmu RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix huwa aġent tat-trasport tal-imejl, ċioè programm li jgħaddi imejls "
+"minn kompjuter għall-ieħor."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Jikteb u jirrestawra blokka ta' entropija għall-ġenerazzjoni ta' \n"
+"numri bil-polza iżjed randomi."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Jassenja apparat \"raw\" lill apparat \"block\" (bħal partizzjoni tal-ħard "
+"disk), għall-użu ta' programmi bħal Oracle jew werrejja ta' DVDs"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Id-daemon routed jippermetti lit-tabella tar-\"routing\" li tiġi\n"
+"aġġornata awtomatikament bil-protokoll RIP. Filwaqt li l-protokoll RIP\n"
+"huwa komuni fuq networks żgħar, huma meħtieġa protokolli ta' routing\n"
+"iżjed sofistikati fuq networks komplikati."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Il-protokoll rstat jippermetti users fuq network li jiksbu\n"
+"informazzjoni dwar l-effiċjenza ta' kull magna fuq dan in-network."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Il-protokoll rusers jippermetti lill users fuq network li jidentifikaw\n"
+"min qiegħed illoggjat fuq magni oħra."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Il-protokoll rwho jippermetti lill user remot li jikseb lista \n"
+"tal-users kollha li qegħdin konnessi mal-kompjuter (simili għal finger)"
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Ħaddem is-sistema awdjo fuq il-kompjuter"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog huwa faċilità li permezz tagħha d-daemons jistgħu iżommu\n"
+"log ta' messaġġi. Dejjem huwa rakkomandat li tħaddem 'is-syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Tella' d-drajvers għall-apparat usb"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Itella' l-\"X Font Server\" (dan huwa meħtieġ biex jaħdem l-Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Printjar"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Qsim ta' fajls"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Sistema"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Amministrazzjoni remota"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Server Database"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Servizzi"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Agħżel liema servizzi għandhom jittellgħu awtomatikament meta tixgħel"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Servizzi: %d imtella' għal %d reġistrati"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "imtella'"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "imwaqqaf"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Servizzi u daemons"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"M'hemmx iżjed informazzjoni\n"
+"dwar dan l-apparat, jiddispjaċini."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Tella' meta meħtieġ"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Malli tixgħel"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Ibda"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Ieqaf"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Dan il-programm huwa softwer ħieles; tista' tiddistribwih u/jew tibdlu\n"
+"skond it-termini tal-Liċenzja Ġenerali Pubblika (GPL) GNU, kif ippubblikata\n"
+"mill-Free Software Foundation; jew verżjoni 2 tal-liċenzja, jew (skond il-\n"
+"ġudizzju tiegħek) waħda iżjed riċenti.\n"
+"\n"
+"Dan il-programm huwa distribwit bl-isperanza li jkun utli, imma\n"
+"MINNGĦAJR EBDA GARANZIJA; minngħajr saħansitra l-garanzija impliċita \n"
+"ta' MERKANTABILITÀ jew LI HU ADEGWAT GĦAL UŻU PARTIKULARI. Ara\n"
+"l-Liċenzja Ġenerali Pubblika GNU (GNU General Public License) għal iżjed\n"
+"dettalji.\n"
+"\n"
+"Għandek tirċievi kopja tal-Liċenzja Ġenerali Pubblika GNU flimkien ma' dan\n"
+"il-programm. Jekk le, ikteb lill-Free Software Foundation, Inc., \n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[tastiera]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr ""
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+
+#: timezone.pm:148 timezone.pm:149
+#, fuzzy, c-format
+msgid "All servers"
+msgstr "Żid server"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr ""
+
+#: timezone.pm:186
+#, fuzzy, c-format
+msgid "Africa"
+msgstr "Afrika t'Isfel"
+
+#: timezone.pm:187
+#, fuzzy, c-format
+msgid "Asia"
+msgstr "Awstrija"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr ""
+
+#: timezone.pm:189
+#, fuzzy, c-format
+msgid "North America"
+msgstr "Afrika t'Isfel"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oċeanja"
+
+#: timezone.pm:191
+#, fuzzy, c-format
+msgid "South America"
+msgstr "Afrika t'Isfel"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Ħong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Federazzjoni Russa"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavja"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Dan tajjeb?"
+
+#: ugtk2.pm:848
+#, fuzzy, c-format
+msgid "No file chosen"
+msgstr "Ebda ikona"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr ""
+
+#: ugtk2.pm:852
+#, fuzzy, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Direttorju personali ma nstabx."
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such directory"
+msgstr "Direttorju lokali"
+
+#: ugtk2.pm:854
+#, fuzzy, c-format
+msgid "No such file"
+msgstr "Fajl lokali"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Espandi friegħi"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Agħlaq friegħi"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Aqleb bejn lista sempliċi jew kategorizzata"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s m'hux installat\n"
+"Klikkja \"Li jmiss\" biex tinstalla jew \"Ikkanċella\" biex tieqaf"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installazzjoni falliet"
+
+#~ msgid "Icon"
+#~ msgstr "Stampa"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Numru ta' buffers għall-kattura :"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "numru ta' buffers għall-kattura mmapp"
+
+#~ msgid "PLL setting:"
+#~ msgstr "Seting PLL :"
+
+#~ msgid "Radio support:"
+#~ msgstr "Sapport għar-radju :"
+
+#~ msgid "enable radio support"
+#~ msgstr "ippermetti sapport għal radju"
diff --git a/perl-install/share/po/nb.po b/perl-install/share/po/nb.po
new file mode 100644
index 000000000..f311cb0f7
--- /dev/null
+++ b/perl-install/share/po/nb.po
@@ -0,0 +1,6797 @@
+# translation of nb.po to Norwegian Bokmål
+# KTranslator Generated File
+# Translation file of Mandriva Linux graphic install
+# Copyright (C) 1999 Mandriva
+#
+# Terje Bjerkelia <terje@bjerkelia.com>, 1999-2000.
+# Andreas Bergstrøm <abergstr@halden.net>, 2000.
+# Kenneth Rørvik <kenneth@argon.no-ip.com>, 2003.
+# Per Øyvind Karlsen <peroyvind@sintrax.net>, 2003, 2004.
+# Keld Simonsen <keld@dkuug.dk>, 2004.
+# Per Øyvind Karlsen <peroyvind@mandrivalinux.org>, 2004, 2005.
+# Eskild Hustvedt <eskild@goldenfiles.com>, 2004.
+# Eskild Hustvedt <zerodogg@skolelinux.no>, 2004, 2005.
+# Per Øyvind Karlsen <pkarlsen@mandriva.com>, 2005, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: nb\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2006-09-12 23:22+0200\n"
+"Last-Translator: Per Øyvind Karlsen <pkarlsen@mandriva.com>\n"
+"Language-Team: Norwegian Bokmål <cooker-i18n@mandrivalinux.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Vennligst vent"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installasjon av oppstartslaster i gang"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO vil tildele en ny Volum ID til lagringsenhet %s. Men, å bytte\n"
+"Volum ID-en til en Windows NT, 2000 eller XP oppstartsenhet er en fatal\n"
+"Windows feil. Denne advarselen er ikke gyldig for Windows 95 eller 98, "
+"eller\n"
+"til NT dataenheter.\n"
+"\n"
+"Tildel ny Volum ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Installasjon av oppstartslaster mislykket. Følgende feil oppsto:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Du må muligens endre din Open Firmware-oppstartsenhet for å\n"
+" aktivere oppstartslasteren. Hvis du ikke ser oppstartslasteren ved\n"
+" omstart, hold nede Command-Option-O-F ved omstart og skriv:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Skriv så: shut-down\n"
+"Ved din neste oppstart burde du se oppstartslasteren."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Du har bestemt deg for å installere oppstartslasteren på en partisjon.\n"
+"Dette innebærer at du allerede har en oppstartslaster på den disken du "
+"starter fra (eks: System Commander.)\n"
+"\n"
+"Hvilken disk starter du fra?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Første sektor av disk (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Første sektor av root-partisjon"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "På diskett"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Hopp over"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub-installasjon"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Hvor ønsker du å installere oppstartslasteren?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Oppsett av oppstartsstil"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Hovedinstillinger for oppstartslaster"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Oppstartslaster"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Oppstartslaster som skal brukes"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Oppstartsenhet"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Hovedvalg"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Forsinkelse før man starter opp med standard imagefil"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Aktiver ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Aktiver APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Aktiver Local APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Passord"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Passordene stemmer ikke overens"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Prøv igjen"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "Du kan ikke bruke ett kryptert filsystem som monteringspunkt %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Passord (igjen)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Begrens kommandolinjeinstillinger"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "begrens"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"Innstillingen ``Begrense kommandolinje-instillinger'' kan ikke brukes uten "
+"et passord"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Tøm /tmp ved hver oppstart"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Presiser RAM-størrelse hvis det trengs (funnet %d MB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Oppgi ram-størrelsen i MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Initmelding"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware-forsinkelse"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kernel Boot Timeout"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Skal det være mulig å starte opp fra CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Skal det være mulig å starte opp fra OF?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Standardoperativsystem?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Bilde"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Tilføy"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen-tilføyning"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Skjermmodus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Nettverksprofil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Etikett"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standard"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Ingen video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Tom etikett er ikke tillatt"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Du må velge ett kjernebilde"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Du må ha en root-partisjon"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Denne etiketten er allerede i bruk"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Hvilken oppføringstype vil du legge til"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Andre OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Andre OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Andre OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Her er de forskjellige oppføringene.\n"
+"Du kan legge til flere eller endre de eksisterende."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "tilgang til X-programmer"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "tilgang til rpm-verktøy"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "tilgang til «su»"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "tilgang til administrative filer"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "tilgang til nettverksverktøy"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "tilgang til kompileringsverktøy"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(allerede lagt til %s)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Oppgi et brukernavn"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "Brukernavnet kan kun innholde små bokstaver, tall, `-' og `_'"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Dette brukernavnet er for langt"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Denne brukeren er allerede lagt til"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "BrukerID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "GruppeID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s må være et tall"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s burde være over 500. Akseptér allikevel?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Legg til bruker"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Angi en bruker\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Ferdig"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Godta bruker"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Virkelig navn"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Innloggingsnavn"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Skall"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatisk innlogging"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Jeg kan sette opp maskinen din til å automatisk logge på en bruker."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Bruk denne finessen"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Velg standardbruker:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Velg vindushåndtereren som skal kjøres:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lisensavtale"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Avslutt"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Utgivelsesnotater"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Godta"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Nekt"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Velg språk som skal brukes."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Spåkvalg"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux kan støtte flere språk. Velg\n"
+"språkene du ønsker å installere. Disse vil bli tilgjengelige\n"
+"når installasjonen er ferdig og du har startet systemet på nytt."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Flere språk"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Gammel kompatibilitetskoding (ikke UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle språk"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Velg ditt land."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Her er den komplette lista over tilgjengelige land"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Andre land"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avansert"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Inndata-metode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ingen"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Ingen deling"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Tillat alle brukere"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Skreddersydd"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Vil du tillate brukere å dele noen av katalogene deres?\n"
+"Ved å tillate dette kan brukere enkelt klikke på «Share» i konqueror og "
+"nautilus.\n"
+"\n"
+"«Egendefinert» tillater egne oppsett per bruker.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: Det tradisjonelle Unix-fildelingssystemet, med mindre støtte på Mac og "
+"Windows"
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: et fildelingsystem brukt av Windows, Mac OS X og mange moderne Linux-"
+"systemer."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Du kan eksportere med NFS eller SMB. Velg den du ønsker å bruke."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Start userdrake"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Lukk"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Per-bruker deling benytter gruppen «fileshare». \n"
+"Du kan bruke userdrake til å legge til en bruker i denne gruppen."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Logg ut og bruk så Ctrl-Alt-BackSpace"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Du trenger å logge ut og inn igjen for at fendringene skal tre i kraft"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tidssone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Hva er din tidssone?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Dato-, klokke- og tidssoneoppsett"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Hva er den beste tida?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (maskinvareklokke satt til UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (maskinvareklokke satt til lokal tid) "
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-tjener"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatisk tidssynkronisering (ved hjelp av NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokal fil"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart Kort"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows-domene"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory med SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory med Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokal fil:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Bruk lokal for all autentisering og informasjon som bruker oppgir i lokal fil"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Forteller din maskin om å bruke LDAP til noe eller all autentisering. LDAP "
+"forener noen typer informasjon innen din organisasjon."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Lar deg kjøre en gruppe av maskiner i samme Nettverks Informasjonstjeneste-"
+"domene (Network Information Service domain) med en felles passord- og "
+"gruppefil"
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-domene:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind tillater systemet å hente informasjon og autentisere brukere i et "
+"Windows-domene."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory med SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Med Kerberos og Ldap for autentisering i Active Directory-tjener "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory med Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind tillater systemet å autentisere brukere i en Windows Active "
+"Directory-tjener."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autentisering LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP grunnleggende dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-tjener"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "enkel"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "sikkerhetsoppsett (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentisering for Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domene"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Tjener"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP-brukerdatabase"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Bruk anonym BIND"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP-bruker som får søke i Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Passord for bruker"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autentisering NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-domene"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-tjener"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"For at dette skal virke på en Windows 2000-PDC, må du sannsynligvis "
+"fåadministrator til å kjøre kommandoen:C:\\>net localgroup \"Pre-Windows "
+"2000 Compatible Access\" everyone add og deretter start tjeneren på nytt.\n"
+"Du vil også trenge brukernavnet og passordet til en domeneadministratorfor å "
+"legge maskinen til i et Windows(TM)-domene.\n"
+"Dersom nettverket ennå ikke er satt opp, vil DrakX forsøke å legge "
+"maskinentil i domenet etter at nettverket er satt opp.\n"
+"Dersom dette skulle feile, og domeneautentisering ikke virker, kjør "
+"'smbpasswd -j DOMENE -U BRUKER%%PASSORD' med ditt Windows(TM)-domene, ag "
+"administrators brukernavn og passord etter at systemet har startet.\n"
+"Kommandoen 'wbinfo -t' sjekker om autentiseringspassordene er "
+"tilstrekkelige. "
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autentisering Windows-Domene"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory-sfære"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Domeneadministrator-brukernavn"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Domeneadministratorpassord"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentisering"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Sett (root) administrator-passordet"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Autentiseringsmetode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Intet passord"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Dette passordet er for kort (må være minst %d tegn langt)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Kan ikke bruke broadcast uten NIS-domene"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Velkommen til operativsystem-velgeren!\n"
+"\n"
+"Velg et operativsystem fra listen over eller\n"
+"vent for standardoppstart.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO med tekstmeny"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB med grafisk meny"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB med tekstmeny"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "ikke nok plass i /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Du kan ikke installere oppstartslasteren på en %s-partisjon\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Din oppstartslasters oppsett trenger å oppdateres pga. rekkefølgen på dine "
+"partisjoner har blitt endret"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Oppstartslasteren kan ikke bli installert korrekt. Du må gjøre nødoppstart "
+"og velge «%s»"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Installer oppstartslaster på nytt"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutter"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minutt"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekunder"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "kommando %s mangler"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV er en protokoll som lar deg montere en vevtjeners kataloger lokalt,\n"
+"og behandle den som et lokalt filsystem (forutsatt at vevtjeneren er satt "
+"opp som\n"
+"WebDAV-tjener). Hvis du vil legge til WebDAV monteringspunkter, velg «Ny»"
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Ny"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Avmonter"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Montér"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Monteringspunkt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Valg"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Feil"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Tast inn WebDAV-tjeners URL"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL'en må begynne med http:// eller https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Tjener: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Monteringspunkt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Valg: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partisjonering"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Les nøye!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Ta sikkerhetskopi av dine data først"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Avslutt"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Fortsett"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Hvis du skal bruke aboot, vær nøye med å la det være ledig plass (2048 "
+"sektorer er nok)\n"
+"ved begynnelsen av disken"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hjelp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Velg handling"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Du har én stor Microsoft Windows-partisjon\n"
+"Jeg foreslår at du først endrer størrelsen på denne partisjonen\n"
+"(klikk på den, klikk så på «Endre størrelse»)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Klikk på en partisjon"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Detaljer"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Ingen harddisker funnet"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Ukjent"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalisert filsystem"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Veksel"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Andre"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tom"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Filsystemtyper:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Advarsel"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Partisjonen er allerede tom"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Bruk «Avmonter» først"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Bruk «%s» istedet"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Type"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Velg en annen partisjon"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Velg en partisjon"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Angre"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Skift til normalmodus"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Skift til ekspertmodus"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Bekreftelse"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Fortsett likevel?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Avslutt uten å lagre"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Avslutt uten å skrive partisjonstabellen?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Ønsker du å lagre endringene i /etc/fstab"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "Du må starte maskinen på nytt for at endringene skal tre i kraft"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Du burde formatere partisjon %s.\n"
+"Hvis ikke vil ingen oppføring for monteringspunkt %s bli skrevet til fstab.\n"
+"Avslutt allikevel?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Fjern alle"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automatisk tildeling"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Mer"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Harddiskinformasjon"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle primærpartisjoner er i bruk"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Jeg kan ikke legge til flere partisjoner"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"For å ha flere partisjoner, slett en for å kunne opprette en utvidet "
+"partisjon"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Ingen supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount bortsett fra for CDROMer"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Lagre partisjonstabell"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Redde partisjonstabell"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Nødpartisjonstabell"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Last inn partisjonstabell på nytt"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automontering av fjernbart medie"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Velg fil"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Kopien av partisjonstabellen har ikke samme størrelse\n"
+"Fortsett likevel?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Prøver å redde partisjonstabell"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detaljert informasjon"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Endre størrelse"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formater"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Legg til RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Legg til LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Slett"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Fjern fra RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Fjern fra LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Modifiser RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Bruk for loopback"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Opprett"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Opprett en ny partisjon"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Start-sektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Størrelse i MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Filsystemtype: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Valg: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Lokalt volumnavn"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Du kan ikke lage en ny partisjon\n"
+"(ettersom du har nådd det maksimale antallet primærpartisjoner).\n"
+"Du må først fjerne en primærpartisjon og lage en utvidet partisjon."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Fjern loopback-filen?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Etter endring av type på partisjon %s, vil alle data på denne partisjonen gå "
+"tapt"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Endre partisjonstype"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Hvilket filsystem ønsker du?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Bytter fra ext2 til ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Hvilken volumetikett?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Etikett:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Hvor vil du montere loopback-filen %s?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Hvor vil du montere %s-enheten?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Kan ikke fjerne monteringspunkt da denne partisjonen blir brukt til\n"
+"loopback. Fjern loopback først"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Hvor vil du montere %s?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Endrer størrelse"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Beregner FAT-filsystemgrense"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Denne partisjonen kan ikke størrelsen forandres på"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Alle data på denne partisjonen burde sikkerhetskopieres"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Etter endring av størrelse for partisjon %s, vil alle data på denne\n"
+"partisjonen gå tapt"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Velg den nye størrelsen"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ny størrelse i MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimumsstørrelse: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maksimumsstørrelse: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"For å sikre dataintegritet etter at partisjonen(e) har blitt endret, \n"
+"vil kontroll av filsystemene kjøres neste gang du starter Windows(TM)"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Velg et eksisterende RAID for å legge til"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ny"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Velg et eksisterende LVM for å legge til"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-navn?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Fysisk volum %s er fortsatt i bruk.\n"
+"Ønsker å flytte brukte fysiske områder på dette volumet til andre volum?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Flytter fysiske områder"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Denne partisjonen kan ikke brukes for loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback-filnavn: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Gi ett filnavn"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Filen blir allerede brukt av et annen loopback, velg en annen"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Filen eksisterer allerede. Bruk denne?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Monteringsvalg:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Diverse"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "enhet"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivå"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "skivestørrelse i KB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Vær forsiktig: denne operasjonen er farlig."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Hva slags type partisjonering?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Du må starte maskinen på nytt for at endringene skal tre i kraft"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partisjonstabellen på disk %s blir nå skrevet til disk!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Etter formatering av partisjon %s vil alle data på denne partisjonen\n"
+"gå tapt"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Sjekk for dårlige blokker?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Flytt filer til en ny partisjon"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Gjem filer"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Katalog %s inneholder allerede data\n"
+"(%s)\n"
+"\n"
+"Du kan enten velge å flytte filene over på partisjonen som vil bli montert "
+"der eller la de være der de befinner seg (som resulterer i at de blir gjemt "
+"av innholdet på den montert partisjonen)"
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Flytt filer til den nye partisjonen"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopierer %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Fjerner %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partisjon %s er nå kjent som %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partisjoner har blitt omnummerert:"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Enhet: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Volumnavn: "
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-diskbokstav: %s (bare en gjetning)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Type: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Navn: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Start: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Størrelse: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektorer"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Sylinder %d til %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Nummer på logiske områder: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatert\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ikke formatert\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montert\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-fil(er): \n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partisjon startet opp som standard\n"
+" (for MS-DOS oppstart, ikke for lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivå %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Skivestørrelse %d i KB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-disker %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback-filnavn: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Det er store sjanser for at\n"
+"denne partisjonen er en\n"
+"driverpartisjon, du bør nok\n"
+"la den være i fred.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Denne spesielle Bootstrap-\n"
+"partisjonen er for å\n"
+"dual-boote ditt system.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Skrivebeskyttet"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Størrelse: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometri: %s sylindere, %s hoder, %s sektorer\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-disker %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Type partisjonstabell: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "på kanal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Krypteringsnøkkel for filsystem"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Velg ditt filsystems krypteringsnøkkel"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Denne krypteringsnøkkelen er for enkel (må være minst %d tegn lang)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Krypteringsnøklene stemmer ikke overens"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Krypteringsnøkkel"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Krypteringsnøkkel (igjen)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Krypteringsalgoritme"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Endre type"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Kan ikke logge inn med brukernavn %s (ugyldig passord?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domene-autentisering nødvendig"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Hvilket brukernavn"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Enda ett"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Tast inn brukernavnet, passordet og domenenavnet ditt for å få tilgang til "
+"denne verten."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Brukernavn"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Søk gjennom tjenere"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Søk nye tjenere"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Pakken %s må installeres. Vil du installere den?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Kunne ikke installere %s-pakken!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Obligatorisk pakke %s mangler"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "De følgende pakkene trengs å installeres:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installerer pakke..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Fjerner pakker..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"En feil har oppstått - ingen gyldige enheter ble funnet for å opprette nye "
+"filsystemer. Sjekk maskinvaren din for årsaken til dette problemet"
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Du må ha en FAT-partisjonen montert under /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formaterer partisjon %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Oppretter og formaterer fila %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Jeg vet ikke hvordan å formatere %s i type %s"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatering av %s mislykket"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Sirkulære monteringer %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Monterer partisjon %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "monterer partisjon %s i katalog %s gikk ikke"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Sjekker %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "feil ved avmontering av %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Aktiverer swap-partisjon %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Bruk et kryptert filsystem"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Aktiver bokføring av gruppediskkvota og valgfritt påfør grenser"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"Ikke oppdater inodeaksesstid på dette filsystemet\n"
+"(feks. for kjappere tilgang til njus-køen for å øke hastigheten på njus-"
+"tjenere)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kan bare bli eksplisitt montert (feks.,\n"
+"-a-valget vil ikke forårsake at filsystemet blir montert)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Ikke tyd tegn- eller blokkspesialenheter på filsystemet."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ikke tillat kjøring av binære filer på det monterte filsystemet.\n"
+"Dette valget kan være nyttig på en tjener som har filsystem som\n"
+"inneholder binære filer for andre arkitekturer enn sin egen."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ikke tillat set-user-identifisere- eller set-group-identifiserer-biter\n"
+"å trå i effekt. (Dette ser trygt ut, men er faktisk rimelig utrygt hvis du\n"
+"har suidperl(1) installert.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Monter filsystemet som read-only."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "All I/O til filsystemet bør gjøres synkront."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Tillat alle brukere å montere og avmontere filsystemet."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Tillat ordinære brukere å montere filsystemet."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Aktiver bokføring av brukerdiskkvota og valgfritt påfør grenser"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Støtte «user.»-utvidede egenskaper"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Gi skrivetilgang til ordinære brukere"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Gi lesetilgang til ordinære brukere"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Duplisér monteringspunkt %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Ingen tilgjengelige partisjoner"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Skanner partisjoner for å finne monteringspunkter"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Velg monteringspunktene"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Velg partisjonene du ønsker å formatere"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Klarte ikke å sjekke filsystemet %s. Vil du forsøke å reparere feilene? "
+"(Advarsel! Du kan miste data!)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Det er ikke nok swap til å fullføre installasjonen, legg til mer"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Du må ha en root-partisjon.\n"
+"Opprett en partisjon for dette (eller klikk på en eksisterende).\n"
+"Velg så «Monteringspunkt» og sett dette til «/»"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Du har ingen vekselpartisjon\n"
+"\n"
+"Fortsett likevel?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Bruk ledig plass"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ikke nok plass til tildeling av nye partisjoner"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Bruk eksisterende partisjon"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Det finnes ingen eksisterende partisjon som kan brukes"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Bruk Microsoft Windows®-partisjonen for loopback"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Hvilken partisjon vil du bruke for Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Velg størrelsene"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Root-partisjonsstørrelse i MB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap-partisjonsstørrelse i MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Det finnes ingen FAT-partisjon til å bruke som loopback (eller ikke nok "
+"plass igjen)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Bruk den ledige plassen på Windows-partisjonen"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Hvilken partisjon ønsker du å forandre størrelse til?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Størrelsesendreren for FAT greide ikke å håndtere din partisjon, \n"
+"følgende feil oppsto: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Beregner den ledige plassen på Microsoft Windows®-partisjonen"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows®-partisjonen din er for fragmentert. Start maskinen din på "
+"nytt til Microsoft Windows®, kjør «defrag»-verktøyet, så start Mandriva "
+"Linux-installasjonen på nytt."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ADVARSEL!\n"
+"\n"
+"\n"
+"DrakX vil nå endre størrelsen på Windows-partisjonen din.\n"
+"\n"
+"\n"
+"Vær forsiktig: denne operasjonen er farlig. Hvis du ikke allerede har gjort "
+"det, bør du først kjøre «chkdsk c:» fra en kommandolinje under Windows (vær "
+"oppmerksom på at å kjøre et grafisk program som «scandisk»\n"
+"ikke er nok, vær sikker på å kjøre «chkdsk» i en kommandolinje!), og det "
+"anbefales også å defragmentere, deretter start installasjonen på nytt. Du "
+"burde også ta sikkerhetskopi av dine data.\n"
+"\n"
+"\n"
+"Når du er sikker, trykk %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Neste"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr ""
+"Hvilken størrelse ønsker du å beholde Microsoft Windows® på partisjon %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Størrelse"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Endrer størrelse på Microsoft Windows®-partisjon"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Endring av størrelse på FAT-partisjon feilet: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Det finnes ingen FAT-partisjon å forandre størrelsen på(eller ikke nok plass "
+"igjen)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Fjern Microsoft Windows®"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Slett og bruk hele disk"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Du har mer enn en harddisk, hvilken ønsker du å installere linux på?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "ALLE eksisterende partisjoner og deres data vil være tapt på disk %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Egendefinert diskpartisjonering"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Bruk fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Du kan nå partisjonere %s.\n"
+"Når du er ferdig ikke glem å lagre med «w»"
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Jeg kan ikke finne noe plass for installasjon"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "DrakX partisjoneringsveiviseren fant følgende løsninger:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partisjonering feilet: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Du kan ikke bruke JFS for partisjoner mindre enn 16 MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Du kan ikke bruke ReiserFS for partisjoner mindre enn 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "med /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "tjener"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "BIOS-programvare RAID oppdaget på disker %s. Aktiver det?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Jeg kan ikke lese partisjonstabellen på %s, den er for ødelagt for meg :(\n"
+"Jeg kan forsøke å blanke ut dårlige partisjoner (ALLE DATA vil gå tapt!)\n"
+"Den andre løsningen er å ikke la DrakX endre på partisjonstabellen.\n"
+"(feilen er %s)\n"
+"\n"
+"Vil du miste alle partisjonene?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Monteringspunkter må begynne med /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Monteringspunkt burde innholde alfanumeriske tegn"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Det finnes allerede en partisjon med monteringspunkt %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Du har valgt en programvare-RAID-partisjon som root (/).\n"
+"Ingen oppstartslaster kan håndtere dette uten en /boot partisjon.\n"
+"Så vær nøye med å legge til en /boot-partisjon"
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Du kan ikke bruke LVM Logisk Volum for monteringspunkt %s siden det omfanger "
+"fysiske volum"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Du har valgt LVM Logisk Volum som root (/).\n"
+"Oppstartslasteren er ikke i stand til å håndtere dette når volumet omfanger "
+"fysiske volum.\n"
+"Du burde opprette en /boot-partisjon først"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Denne katalogen bør forbli i root-filsystemet"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Du trenger et virkelig filsystem (ext2, reiserfs, xfs eller jfs) for dette "
+"monteringspunktet\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Du kan ikke bruke ett kryptert filsystem som monteringspunkt %s"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ikke nok plass for automatisk tildeling"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ingenting å gjøre"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskett"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Harddisk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CDROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD/DVD-brennere"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Bånd"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-kontrollere"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Skjermkort"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kort"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kort"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Andre multimediaenheter"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Lydkort"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webkamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prosessorer"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-adaptere"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-lydenheter"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radiokort"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM-nettverkskort"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN-nettverkskort"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth-enheter"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernettkort"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-adaptere"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Minne"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Skriver"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Spillport-kontrollere"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Styrespak"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-kontrollere"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-kontrollere"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-kontrollere"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-masselagringsenheter"
+
+#: harddrake/data.pm:395
+#, fuzzy, c-format
+msgid "Card readers"
+msgstr "Kortmodell:"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-kontrollere"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-kontrollere"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-kontrollere"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-kontrollere"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-porter"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-kontrollere"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Broer og systemkontrollere"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet og touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mus"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Ukjent/Andre"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "cpu nr. "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Vennligst vent... Aktiverer oppsettet"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Ingen alternativ driver"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Det er ingen alternative OSS/ALSA-drivere for lydkortet ditt (%s) som nå "
+"bruker «%s»"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Lydoppsett"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Her kan du velge en alternativ driver (enten OSS eller ALSA) for lydkortet "
+"ditt (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Kortet ditt bruker nå %s«%s»-driveren (standard driver for kortet ditt er «%"
+"s»)"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) var det første lyd-APIet. OSS er "
+"etoperativsystemuavhengig lyd-API (det er tilgjengelig på de fleste unix-"
+"systemer),\n"
+"men det er et veldig enkelt og begrenset API. \n"
+"Dessuten så gjenoppfinnere alle OSS-drivere hjulet.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) er en modulærisert lydarkitektur\n"
+"som støtter en stor mengde med ISA-, USB- og PCI-baserte lydkort.\n"
+"\n"
+"ALSA tilbyr også et mye bredere API enn OSS.\n"
+"\n"
+"For å bruke ALSA kan du enten bruke:\n"
+"- det gamle OSS-kompatibilitets api'et,\n"
+"- det nye ALSA-api'et som tilbyr mange forbedringer men som krever bruk av "
+"ALSA-bibliotekene.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Driver:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Feilsøking"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Den gamle «%s»-driveren er svartelistet.\n"
+"\n"
+"Den har blitt rapportert at den oopser kjernen når den lastes ut.\n"
+"\n"
+"Den nye «%s»-driveren vil bare bli brukt på neste bootstrap."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ingen open source-driver"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Det er ingen frie drivere for lydkortet ditt (%s), men det er en proprietær "
+"driver på «%s»."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Ingen kjent driver"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Det er ingen kjent driver for lydkortet ditt (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Ukjent driver"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Feil: «%s»-driveren for lydkortet ditt er ikke i listen"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Feilsøking av lyd"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Den klassiske metoden for å avluse lydoppsettet er å kjøre følgende\n"
+"kommandoer:\n"
+"\n"
+"\n"
+"- «lspcidrake -v | fgrep AUDIO» vil vise hvilken driver lydortet bruker \n"
+"som standard\n"
+"- «grep sound-slot /etc/modprobe.conf» vil vise hvilken driver som er i "
+"bruk\n"
+"\n"
+"- «/sbin/lsmod» lar deg se om denne driveren er lastet\n"
+"\n"
+"- «/sbin/chkconfig --list sound» og «/sbin/chkconfig --list alsa» vil\n"
+"vise om sound- og alsa-tjenestene er satt opp til å kjøres i\n"
+"initnivå\n"
+"\n"
+"- «aumix -q» vil vise om lydvolumet er skrudd ned eller ikke\n"
+"\n"
+"- «/sbin/fuser -v /dev/dsp» vil vise hvilke programmer som bruker lydkortet\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "La meg velge driver"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Valg av en vilkårlig driver"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Hvis du tror du vet hvilken driver som passer til ditt kort kan du velge en\n"
+"i lista over.\n"
+"\n"
+"Den nåværende driveren for ditt «%s»-lydkort er «%s»."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automatisk oppdagelse"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Ukjent|Generisk"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Ukjent|CPH05X (bt878) [mange leverandører]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Ukjent|CPH06X (bt878) [mange leverandører]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"For de fleste moderne TV-kort klarer bttv-modulen til GNU/Linux-kjernen å\n"
+"oppdage de fleste korrekte parametrene automatisk.\n"
+"Dersom kortet ditt er feiloppdaget, kan du spesifisere den korrekte "
+"mottager-\n"
+"og korrtypen her. Velg ditt TV-korts parametre om nødvendig."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kortmodell:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Mottagertype:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nei"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Velg en fil"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Legg til"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Modifiser"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Fjern"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Fullfør"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Forrige"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Ugyldig valg, prøv igjen\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Ditt valg? (standard %s) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Oppføringer du må fylle ut:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Ditt valg? (0/1, standard `%s') "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Valg: `%s': %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Ønsker du å klikke på denne knappen? "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Ditt valg? (standard `%s'%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " skriv `void' for tomt felt"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Det er mange ting å velge fra (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Velg det første nummeret av 10-rekke du ønsker å redigere,\n"
+"eller bare trykk Enter for å fortsette.\n"
+"Ditt valg? "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Merk, en etikett ble endret:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Re-submit"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Forente Arabiske Emirater"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua og Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nederlanske Atiller"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktis"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikansk Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Østerrike"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbaijan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia og Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgia"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvetøya"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Hviterussland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos-øyene (Keeling)"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Den sentralafrikanske republikk"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Sveits"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Cote d'Ivoire"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cook-øyene"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kapp Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Juleøyene"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kypros"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Den Tsjekkiske republikk"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Tyskland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominika"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominikanske republikk"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algerie"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ekvador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Vest-Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spania"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandsøyene (Malvinas)"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesia"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faro-øyene"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankrike"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "United Kingdom"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "French Guiana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grønland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadelopa"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorisk Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Hellas"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Sør-Georgia og Sør-Sandwichøyene"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (Kina)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard- and McDonald-øyene"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Hondurene"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungarn"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Britisk Indisk Hav-Territorie"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaika"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kyrgyzstan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodia"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Comoros"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts and Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Nordkorea"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Cayman Islands"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Lebanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Saint Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litauen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Liberia"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall-øyene"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Nordre Mariana-øyene"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivene"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "New Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk-øya"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nederland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Norge"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "French Polynesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua New Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippinene"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polen"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint Pierre og Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Reunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi Arabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Solomon-øyene"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellene"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sverige"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "Sankt Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard og Jan Mayen-øyene"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome and Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks og Caicos-øyene"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Chad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franske Sør-territorier"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tajikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Øst-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Tyrkia"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad og Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "De Forente Staters mindre utenomliggende øyer"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "USA"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Uzbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikanstatene"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sankt Vincent og Grenadiene"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Jomfruøyene (Britisk)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Jomfruøyene (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis og Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Yemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sør-Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Velkommen til %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Flytting av brukte fysiske områder til andre fysiske volum mislykket"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Fysisk volum %s er fortsatt i bruk"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Fjern de logiske partisjonene først\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Oppstartslasteren kan ikke håndtere /boot på flere fysiske volum"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introduksjon\n"
+"\n"
+"Dette operativsystemet og de forskjellige komponentene som følger med "
+"Mandriva Linux\n"
+"kalles heretter \"programvareproduktene\". Programvareproduktene inkluderer, "
+"men er ikke\n"
+"begrenset til det settet med programmer, metoder, regler og dokumentasjon "
+"relatert til\n"
+"operativsystemet og de forskjellige komponentene til Mandriva Linux-"
+"distribusjonen.\n"
+"\n"
+"\n"
+"1. Lisensavtale\n"
+"\n"
+"Les dette dokumentet nøye. Dokumentet er en lisensavtale mellom deg og\n"
+"Mandriva S.A.som gjelder programvareproduktene. Ved å installere, duplisere "
+"eller\n"
+"bruke programvareproduktene godtar du og samtykker i vilkårene i denne "
+"lisensen.\n"
+"Dersom du ikke samtykker i hele eller deler av lisensen kan du ikke "
+"installere, duplisere\n"
+"eller bruke programvareproduktene. Ethvert forsøk på å installere, "
+"duplisere, eller bruke\n"
+"programvareproduktene på en måte som bryter med lisensvilkårene vil frata "
+"deg dine\n"
+"rettigheter under denne lisensen. Ved fratagelse av dine rettigheter må du "
+"umiddelbart\n"
+"ødelegge alle dine kopier av programvareproduktene.\n"
+"\n"
+"\n"
+"2. Begrenset garanti\n"
+"\n"
+"Programvareproduktene og den medfølgende dokumentasjonen er levert \"som de "
+"er\"\n"
+"uten garanti så langt som det er tillatt ved lov. Mandriva S.A. vil under "
+"ingen\n"
+"omstendigheter, og så langt som loven tillater det, være ansvarlige for noen "
+"spesielle,\n"
+"tilfeldige, direkte eller indirekte skader (inkludert skader for tap av "
+"forretning, driftsavbrudd\n"
+"økonomisk tap, rettsgebyr, advokatsalær, rettslig ilagt straff, eller annet "
+"påført tap) som oppstår\n"
+"som følge av bruk av, eller manglende mulighet til å bruke, "
+"programvareproduktene. Dette \n"
+"gjelder også om Mandriva S.A. har blitt informert om slike tap, eller "
+"muligheten for slike tap.\n"
+"\n"
+"BEGRENSET ANSVAR I FORBINDELSE MED BESITTELSE ELLER BRUK AV ULOVLIG "
+"PROGRAMVARE\n"
+"I ENKELTE LAND\n"
+"\n"
+"Mandriva S.A. eller dets distributører vil under ingen omstendigheter, og så "
+"langt som loven\n"
+"tillater det, være ansvarlige for noen spesielle, tilfeldige, direkte eller "
+"indirekte skader (inkludert\n"
+"skader for tap av forretning, driftsavbrudd, økonomisk tap, rettsgebyr, "
+"advokatsalær, rettslig ilagt\n"
+"straff, eller annet påført tap) som oppstår som følge av besittelse og bruk "
+"av programvareproduktene\n"
+"eller som følge av nedlasting av programvarekomponenter fra noen av Mandriva "
+"Linux-nettstedene\n"
+"som er forbudt eller begrenset i enkelte land ved lokal lov. Dette "
+"begrensede\n"
+"ansvaret gjelder, men er ikke begrenset til, sterke kryptografiprodukter som "
+"er inkludert i\n"
+"programvareproduktene.\n"
+"\n"
+"\n"
+"3. GPL-lisensen og relaterte lisenser\n"
+"\n"
+"Programvareproduktene består av komponenter som er skapt av forskjellige "
+"personer eller\n"
+"grupper. De fleste av disse komponentene er regulert under vilkårene og "
+"betingelsene i \"GNU\n"
+"General Public License\", heretter kalt \"GPL\", eller tilsvarende lisenser. "
+"De fleste av disse\n"
+"lisensene tillater deg å bruke, duplisere, tilpasse eller redistribuere "
+"komponentene som de\n"
+"omfatter. Les nøye gjennom vilkårene for hver enkelt komponent før du bruker "
+"dem.\n"
+"Spørsmål om en gitt komponents lisens skal rettes til forfatteren av "
+"komponenten og ikke til\n"
+"Mandriva S.A. Programmene som er utviklet av Mandriva S.A. er regulert av "
+"GPL-lisensen.\n"
+"Dokumentasjon skrevet av Mandriva S.A er regulert av en spesifikk lisens. "
+"Referer\n"
+"til dokumentasjonen for detaljer.\n"
+"\n"
+"\n"
+"4. Opphavsrett\n"
+"\n"
+"Alle rettigheter til programvareproduktene tilhører deres respektive "
+"forfattere og er beskyttet\n"
+"av opphavrettlover som gjelder for programvare. Mandriva S.A. forbeholder "
+"seg retten til å\n"
+"endre på eller tilpasse programvareproduktene helt eller delvis, på alle "
+"måter og for alle formål.\n"
+"½Mandriva«, «Mandriva Linux» og tilhørende logoer er varemerker tilhørende "
+"Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Gjeldende lover\n"
+"\n"
+"Hvis noen del av denne avtalen blir holdt ugyldig, ulovlig eller uegnet ved "
+"rettslig ordre, er denne\n"
+"delen av lisensavtalen eksludert. Du vil fortsatt være bundet av de andre "
+"vilkårene i avtalen.\n"
+"Vilkårene og betingelsene i denne lisensen er regulert av fransk lov. Alle "
+"disputter om vilkårene\n"
+"i denne avtalen vil fortrinnsvis bli løst utenfor rettsystemet. Som en siste "
+"utvei vil disputten bli\n"
+"henvist til de riktige rettsinstansene i Paris, Frankrike. Har du noen "
+"spørsmål om dette dokumentet,\n"
+"kontakt Mandriva S.A. \n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Advarsel: Fri programvare er ikke nødvendigvis patentfri, og noe fri\n"
+"programvare inkludert kan være dekket av patenter i ditt land.\n"
+"For eksempel så kan det være at MP3-dekodere krever en lisens for bruk\n"
+"(se http://www.mp3licensing.com for flere detaljer). Er du usikker om\n"
+"en patent kan gjelde deg, sjekk dine lokale lover."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Advarsel\n"
+"\n"
+"Les nøye gjennom vilkårene nedenfor. Hvis du er uenig\n"
+"med noe som helst, så er du ikke tillatt å installere neste CD-media.\n"
+"Trykk 'Nekt' for å fortsette installasjonen uten å bruke disse mediene.\n"
+"\n"
+"\n"
+"Noen komponenter som følger med på neste CD-media følger\n"
+"ikke GPL-lisensen eller lignende avtaler. Hvert slikt komponent følger "
+"dermed\n"
+"andre vilkår og kondisjoner til deres egen spesifike lisens. \n"
+"Les nøye gjennom og rett deg etter slike spesifikke lisenser før\n"
+"du bruker eller distribuerer de videre. \n"
+"Slike lisenser vil generelt forhindre overføring, kopiering \n"
+"(foruten sikkerhetskopier), videre distribuering, reverse engineering, \n"
+"de-assembly, dekompilering eller endring på komponentet. \n"
+"Enhvert brudd på avtalen vil øyeblikkelig opphøre dine rettigheter under\n"
+"den spesifikke lisensen. Med mindre lisensens vilkår gir deg slike\n"
+"rettigheter, så kan du vanligvis ikke installere programmene på mere nn\n"
+"et system, eller tilpasse det til å brukes over nettverk. Hvis i tvil, \n"
+"kontakt distributøren eller opphavsmannen til komponentet. \n"
+"Overføring til tredjeparter eller kopiering av slike komponentert,\n"
+"inkludert dokumentasjonen er vanligvis forbudt.\n"
+"\n"
+"\n"
+"Alle rettigheter til komponentene på det neste CD-media hører til deres \n"
+"respektive opphavsmenn og er beskyttet av intellektuell eiendom og \n"
+"opphavsrettslover som gjelder programvare.\n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gratulerer, installasjonen er fullført.\n"
+"Fjern oppstartsmediet og trykk enter for å starte på nytt.\n"
+"\n"
+"\n"
+"For informasjon om fikser som er tilgjengelige for denne utgaven av Mandriva "
+"Linux,\n"
+"sjekk errataen tilgjengelig fra:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informasjon om oppsett av systemet ditt finnes i kapitlene"
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Denne driveren har ingen parametre for oppsett!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Moduloppsett"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Du kan sette opp hver parameter til modulen her."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Fant %s grensesnitt"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Har du enda ett?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Har du noen %s-grensesnitt?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Se maskinvareinfo"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installerer driver for USB-kontroller"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installerer driver for firewire-kontroller %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installerer driver for harddisk-kontroller %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installerer driver for Ethernet-kontroller %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installerer driver for %s kort %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Du kan nå gi modul %s de instillinger du føler for.\n"
+"Merk at addresser bør gis med 0x prefikset som i '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Du kan nå oppgi dens instillinger for modul %s.\n"
+"Instillingene er i format «navn=verdi navn2=verdi2 ...».\n"
+"F.eks., «io=0x300 irq=7»"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulinstillinger:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Hvilken %s-driver skal jeg prøve?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"I noen tilfeller trenger %s-driveren å ha ekstra informasjon for å virke\n"
+"ordentlig, selv om den normalt virker fint foruten. Ønsker du å spesifisere "
+"ekstra\n"
+"instillinger for den eller tillate driveren å sondere maskinen din for\n"
+"informasjonen den trenger? Av og til kan sondering fryse maskinen, men "
+"burde\n"
+"ikke forårsake noen skader."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatisk sondering"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Spesifiser instillinger"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Lasting av modul %s feilet.\n"
+"Ønsker du å prøve igjen med andre parametere?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "montering mislykket: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Utvidet partisjon ikke støttet på denne plattformen"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Du har et hull i partisjonstabellen din, men jeg kan ikke bruke det.\n"
+"Den eneste løsningen er å flytte primærpartisjonene dine for å ha hullet ved "
+"siden av de utvidede partisjonene"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Feil ved lesing av fil %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Gjenoppretting fra fil %s mislykket: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Ugyldig sikkerhetskopifil"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Feil ved skriving til fil %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Noe som ikke er bra skjer med disken din. \n"
+"En test for å sjekke dataintegriteten var mislykket. \n"
+"Dette betyr at å skrive noe til disken vil ende opp med tilfeldig,\n"
+"ubrukelig data."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kan ikke legge til en partisjon til _formatert_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ikke nok partisjoner for RAID-nivå %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Kunne ikke opprette katalog /usr/share/sane/firmware!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Kunne ikke opprette lenke /usr/share/sane/%s!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Kunne ikke kopiere firmware-fil %s til /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Kunne ikke sette rettigheter på firmware-fil %s!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Kunne ikke installere pakkene som trengs for å dele din(e) skanner(e)."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Din(e) skanner(e) vil ikke være tilgjengelig(e) for brukere som ikke er root."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Aksepter/Nekt tullete IPv4-feilmeldinger."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Aksepter/Nekt kringkastede icmp echo."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Aksepter/Nekt icmp echo."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Tillat/Forby automatisk innlogging."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Hvis satt til «ALL», tillates både /etc/issue og /etc/issue.net å "
+"eksistere.\n"
+"\n"
+"Hvis satt til «NONE», tillates ingen av de\n"
+"\n"
+"Ellers er bare /etc/issue tillatt."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Tillat/Forby omstart av konsollbrukeren."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Tillat/Forby ekstern root-innlogging."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Tillat/Forby direkte root-innlogging."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"Tillat/Forby liste over brukere på systemet i innloggingshåndterer (kdm og "
+"gdm)"
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Tillat/nekt å eksportere display når\n"
+"det sendes fra root-kontoen til andre brukere.\n"
+"\n"
+"Se pam_xauth(8) for flere detaljer.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Tillat/Forby X-tilkoblinger:\n"
+"\n"
+"- ALL (alle tilkoblinger er tillatt),\n"
+"\n"
+"- LOCAL (bare tilkoblinger fra den lokale maskinen),\n"
+"\n"
+"- NONE (ingen tilkoblinger)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Dette argumentet spesifiserer om klienter er autoriserte til å koble\n"
+"til X-tjeneren fra nettverket på tcp-port 6000 eller ei."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Autoriser:\n"
+"\n"
+"- alle tjenester kontrollert av tcp_wrappers (se hosts.deny(5) man-side) "
+"hvis satt til «ALL»,\n"
+"\n"
+"- bare lokale hvis satt til «LOCAL»\n"
+"\n"
+"- ingen hvis satt til «NONE».\n"
+"\n"
+"For å autorisere tjenestene du trenger, bruk /etc/hosts.allow\n"
+"(se hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Hvis SERVER_LEVEL (eller SECURE_LEVEL hvis fraværende) er større enn 3\n"
+"i /etc/security/msec/security.conf, opprettes symlinken /etc/security/msec/"
+"server\n"
+"for å peke til /etc/security/msec/server.<SERVER_LEVEL>. \n"
+"/etc/security/msec/server brukes av chkconfig --add for å avgjøre om en\n"
+"tjeneste skal legges til hvis den er til stede i filen under "
+"installasjonenen\n"
+"av pakker."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Aktiver/Deaktiver crontab og at for brukere.\n"
+"\n"
+"Plassér tillatte brukere i /etc/cron.allow og /etc/at.allow\n"
+"(se man-side at(1) og crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Aktiver/Deaktiver systemloggrapporter til konsoll 12"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Aktiver/Deaktiver navneoppslagsforfalskningsbeskyttelse. Hvis\n"
+"«%s» er sann, rapportér også til syslog."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Sikkerhetvarsler:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Aktiver/Deaktiver IP-forfalskningsbeskyttelse."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Aktiver/Deaktiver libsafe hvis libsafe er funnet på systemet."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Aktiver/Deaktiver loggingen av rare IPv4 pakker."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Aktiver/Deaktiver msec-sikkerhetssjekk hver time."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Aktiver su kun for medlemmer av wheel-gruppen. Hvis satt til nei, så "
+"tillates su fra alle brukere"
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Bruk passord for å autentisere brukere."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Aktiver/Deaktiver ethernettkorts promiskuøssjekk."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Aktiver/Deaktiver daglig sikkerhetssjekk."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Aktiver/Deaktiver sulogin(8) i enbruker-nivå."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Legg til navnet som et unntak for håndteringen av passordforeldelse av msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Sett passordaldring til «max» dager og forsinkelsen for endring til "
+"«inactive»."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Setter passordhistorielengden for å hindre gjenbruk av passord. "
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Sett minimum passordlengde, minimum antall sifre, og minimum antall store "
+"bokstaver."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Setter root sin umask."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "hvis satt til ja, sjekker for åpne porter."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Hvis satt til ja, sjekk etter:\n"
+"\n"
+"- tomme passord,\n"
+"n \n"
+"- tomme passord i /etc/shadow\n"
+"\n"
+"- for brukere med 0-iden utenom root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"hvis satt til ja, sjekk rettigheter på filer i brukerenes hjemmekatalog. "
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr "hvis satt til ja, sjekk om nettverksenhetene er i promiskuøst modus."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "hvis satt til ja, kjør de daglige sikkerhetskontrollene."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "hvis satt til ja, sjekk for opprettelse/fjerning av sgid filer."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "hvis satt til ja, sjekk tomme passord i /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "hvis satt til ja. sjekk kontrollsum på suid/guid filer."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "hvis satt til ja, sjekk for opprettelse/fjerning av suid root-filer."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "hvis satt til ja, rapporter filer uten eier"
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"hvis satt til ja, sjekk filer eller kataloger som er skrivbare av alle."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "hvis satt til ja, kjør chkrootkit-kontroller"
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "sender e-postrapport til denne adressen dersom satt, ellers til root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "rapporterer kontrollresultat på e-post når satt til ja."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ikke send e-post med mindre det er noe å varsle om"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Kjører noen kontroller mot rpm-databasen dersom satt til ja."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "rapporterer kontrollresultat til systemloggen dersom satt til ja."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "rapporterer kontrollresultat til tty dersom satt til ja."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Setter skallets kommandohistoriestørrelse. -1 betyr ubegrenset."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Sett skallets tidsavbrudd. Null betyr inget tidsavbrudd."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Tidsavbruddenhet er sekund"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Setter brukerens umask."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Akseptér ugyldige IPv4-feilmeldinger."
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Akseptér kringkastede icmp echo."
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Akseptér icmp echo"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* eksisterer"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Omstart av konsollbruker"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Tillat ekstern root-innlogging"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direkte root-innlogging"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "List opp brukere på innloggingshåndterer (kdm og gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Eksporter display når det sendes fra root-kontoen til andre brukere."
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Tillat X Window-tilkoblinger"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autoriser TCP-tilkoblinger til X Windows"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autoriser alle tjenester kontrollert av tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig adlyd msec-regler"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Aktiver «crontab» og «at» for brukere"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Syslog rapporterer til konsoll 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Navneoppslagsforfalskningsbeskyttelse."
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Aktiver IP-forfalskningsbeskyttelse."
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Aktiver libsafe hvis libsafe er funnet på systemet."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Aktiver loggingen av rare IPv4 pakker."
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Aktiver msec sikkerhetssjekk hver time"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Aktiver su kun for medlemmer av wheel-gruppen."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Bruk passord for å autentisere brukere."
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Ethernettkorts promiskiøssjekk."
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Daglig sikkerhetssjekk"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) i enbruker-nivå."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Ingen passordaldring for"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Sett passordforelding og konto-inaktiveringsforsinkelser"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Passordhistorielengde"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Passords minimumlengde og antall sifre og store bokstaver"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root-umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Skallhistorestørrelse"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Skall-tidsavbrudd"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Bruker-umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Sjekk åpne porter"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Sjekk for usikrede kontoer"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Sjekk rettigheter på filer i brukerenes hjemmekatalog"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Sjekk om nettverksenhetene er i promiskuøst modus."
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Kjør de daglige sikkerhetskontrollene"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Sjekker for opprettelse/fjerning av sgid-filer "
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Sjekk tomme passord i /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Kontrollér kontrollsum på suid/guid-filer"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Sjekker for opprettelse/fjerning av suid root-filerm"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Rapportér filer uten eiere"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Sjekk filer eller kataloger som er skrivbare av alle"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Kjører chkrootkit-kontroller"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Ikke send tomme e-postrapporter"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Hvis satt, send e-postrapport til denne e-postadressen, ellers send til root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Rapportẽr kontrollresultat per e-post"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Kjør noen kontroller mot rpm-databasen"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Rapportẽr sjekkresultat til systemloggen"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Rapporterer kontrollresultat til tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Velkommen til Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Dårlig"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Høyt"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Høyere"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Dette nivået bør brukes med forsiktighet. Det gjør systemet ditt lettere å\n"
+"bruke, men mer utsatt: det må ikke brukes på en maskin koblet til andre\n"
+"eller til internett. Det er ingen adgang med passord."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Passord er nå aktivert, men bruk som nettverksmaskin er fortsatt ikke "
+"anbefalt."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dette er standard sikkerhet anbefalt for en maskin som vil bli brukt til å "
+"koble til Internett som en klient."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Det er allerede noen restriksjoner, og flere automatiske kontroller kjøres "
+"hver natt."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Med dette sikkerhetsnivået kan systemet brukes som tjener.\n"
+"Sikkerheten er nå høy nok til å bruke systemet som en tjener som godtar\n"
+"oppkoblinger fra mange klienter. Merk: Hvis maskinen din kun er en klient på "
+"internett burde du velge et lavere nivå."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Basert på forrige nivå, men nå er systemet fullstendig stengt.\n"
+"Sikkerhetsfunksjonene er nå på maksimum."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Sikkerhet"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Draksec standardvalg"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Velg ønsket sikkerhetsnivå"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Sikkerhetsnivå"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Bruk libsafe for tjenere"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Ett bibliotek som beskytter mot buffer overflow og strengformateringsangrep."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Sikkerhetsadministrator (brukernavn eller e-post)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Start ALSA-lydsystem (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron en periodisk kommandoplanlegger."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd blir brukt til overvåkning av batteristatus og logging av dette via "
+"syslog.\n"
+"Det kan også brukes til å slå av maskinen når batteriet er dårlig."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Kjører kommandoer planlagt av at kommandoen ved tidspunkt spesifisert når\n"
+"at ble kjørt, og kjører skriptkommandoer når snittlasten er lav nok."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron er et standard UNIX-program som kjører brukerspesifiserte programmer\n"
+"ved periodisk planlagte tider. vixie cron gir flere funksjoner til den "
+"grunnleggende UNIX cron,\n"
+"inkludert bedre sikkerhet og mer kraftige oppsettsvalg."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM er en filovervåknings-tjeneste. Den brukes for å rapportere når filer "
+"har blitt endret.\n"
+"Den er brukt av GNOME og KDE"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM gir musestøtte til tekstbaserte Linux-applikasjoner som\n"
+"Midnight Commander. Den lar også musebaserte konsoller foreta klipp-og-lim-"
+"operasjoner,\n"
+"og inkluderer støtte for oppsprettsmenyer i konsollen."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake kjører et maskinvaresøk, og kan også sette opp ny/endret\n"
+"maskinvare."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache er en World Wide Web-tjener. Den blir brukt til å tjene HTML-filer og "
+"CGI."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Internett supertjenertjenesten (vanligvis kalt inetd) starter\n"
+"diverse internett-tjenester ettersom det trengs. Den er ansvarlig for å "
+"starte\n"
+"mange tjenester, inkludert telnet, ftp, rsh, og rlogin. Stopping av inetd "
+"stopper\n"
+"alle tjenestene den er ansvarlig for."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Start pakkefiltrering for Linux-kjerne 2.2-serien for å sette\n"
+"opp en brannmur for å beskytte maskinen din mot nettverksangrep."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Denne pakken laster det valgte tastaturkartet som er satt i\n"
+"/etc/sysconfig/keyboard. Dette kan bli valgt ved bruk av kbdconfig "
+"verktøyet.\n"
+"For de fleste maskiner bør dette være aktivert."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatisk regenerering av kjernehode i /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatisk oppdagelse og oppsett av maskinvare ved oppstart."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf vil noen ganger arrangere utførelse av forskjellige\n"
+"oppgaver ved oppstart for å vedlikeholde systemoppsettet."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd er skrivertjenesten som behøves for at lpr skal virke ordentlig. Den er\n"
+"i hovedsak en tjener som fordeler utskriftsjobber til skriveren(e)."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, brukt for å bygge en tjener med høy ytelse og\n"
+"tilgjengelighet."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) er en Domenenavntjener (DNS) som brukes til å bestemme "
+"vertsnavn til IP-adresser."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monterer og avmonterer alle Network File System- (NFS), SMB- (Lan\n"
+"Manager/Windows), og NCP- (NetWare) monteringspunkter."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Aktiverer/deaktiverer alle nettverksgrensesnitt satt opp til å starte\n"
+"ved oppstart."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS er en populær protokoll for fildeling over TCP/IP-nettverk.\n"
+"Denne tjenesten tilbyr NFS-tjenerfunksjonalitet som er satt opp via\n"
+"/etc/exports-filen."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS er en populær protokoll for fildeling over TCP/IP-nettverk.\n"
+"Denne tjenesten tilbyr NFS-fillåsingfunksjonalitet."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Slår automatisk på numlock-tast i konsoll og Xorg ved\n"
+"oppstart."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Støtter OKI 4w og kompatible winskrivere."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA-støtte er vanligvis støtte for ting som ethernet og\n"
+"modem i bærbare PC'er. Den vil ikke starte uten oppsett så det er trygt\n"
+"å ha det installert på maskiner som ikke trenger det."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper håndterer RPC-tilkoblinger, som brukes av protokoller\n"
+"som NFS og NIS. Portmap-tjeneren må kjøres på maskiner som brukes som\n"
+"tjenere for protokoller som bruker RPC-mekanismen."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix er en posttransporteringsagent (MTA), som er et program som flytter "
+"post fra en maskin til en annen."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Lagrer og gjenoppretter systementropigrunnlag for høyere kvalitet på\n"
+"tilfeldig nummergenerering."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Tilordne rå enheter til blokkenheter (som harddisk-partisjoner),\n"
+"for bruk av applikasjoner som Oracle eller DVD-spillere"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"routed-tjenesten tillater automatisk oppdatering av IP-rutertabell via\n"
+"RIP-protokollen. Mens RIP er mye brukt på små nettverk, trengs mere "
+"komplekse\n"
+"rutingprotokoller for komplekse nettverk."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"rstat-protokollen lar brukere på et nettverk finne ytelses-\n"
+"metrikser for alle maskinene på nettverket."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"rusers-protokollen lar brukere på et nettverk identifisere hvem som\n"
+"er logget inn på andre svarende maskiner."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"rwho-protokollen lar eksterne brukere motta en liste over alle brukerne\n"
+"som er logget på en maskin som kjører rwho-tjenesten (lik finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Start lydsystemet på maskinen din"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog er et fasilitet som mange tjenester bruker for å logge beskjeder\n"
+"til forskjellige systemloggfiler. Det er en god idé å alltid kjøre syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Last driverne for dine usb-enheter."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Starter X-font-tjeneren (dette er obligatorisk for at Xorg skal kjøre)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Skriver ut"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internett"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fildeling"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "System"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Fjernadministrasjon"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Databasetjener"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Tjenester"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Velg hvilke tjenester som skal startes automatisk ved oppstart"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Tjenester: %d aktivert for %d registrert"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "kjører"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "stoppet"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Tjenester og tjenere"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Ingen tilleggsinformasjon\n"
+"om denne tjenesten, beklager."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Start ved forespørsel"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Ved oppstart"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stopp"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Dette programmet er fri programvare; du kan redistribuere det og/eller\n"
+"endre på det ifølge betingelsene til «GNU General Public License» som\n"
+"definert av Free Software Foundation, enten versjon 2, eller etter ditt "
+"ønske\n"
+"en hvilken som helst senere versjon.\n"
+"\n"
+"Dette programmet er distribuert med håp om at det vil være nyttig,\n"
+"men uten noen som helst form for garanti. Se «GNU General Public License»\n"
+"for mer informasjon.\n"
+"\n"
+"Du skal ha mottatt en kopi av «GNU General Public License» sammen med\n"
+"dette programmet. Hvis ikke, kontakt:\n"
+"\n"
+"Free Software Foundation Inc\n"
+"51 Franklin Street, Fifth Floor,\n"
+"Boston\n"
+"MA 02111-1301\n"
+"USA\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup og gjenopprettingsapplikasjon\n"
+"\n"
+"--default : lagre standardkataloger.\n"
+"--debug : vis alle avlusningsmeldinger.\n"
+"--show-conf : liste over filer eller kataloger til å ta backup "
+"av.\n"
+"--config-info : forklar oppsettsfilvalg (for ikke-X-brukere)\n"
+"--daemon : bruk tjenesteoppsett. \n"
+"--help : vis denne meldingen.\n"
+"--version : vis versjonsnummer.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - aktiver for å sette opp oppstartslaster\n"
+" --splash - aktiver for å sette opp oppstartstema\n"
+"standardmodus: tilby å sette opp autologin-finesse"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[VALG] [PROGRAMNAVN]\n"
+"\n"
+"VALG:\n"
+" --help - vis denne hjelpemeldingen.\n"
+" --report - program må være et av Mandriva Linux-verktøyene\n"
+" --incident - program må være et av Mandriva Linux-verktøyene"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - «legg til et nettverksgrensesnitt»-veiviser\n"
+" --del - «slett et nettverksgrensesnitt»-veiviser\n"
+" --skip-wizard - håndter tilkoblinger\n"
+" --internet - sett opp internett\n"
+" --wizard - samme som --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Skrifttypeimportering- og overvåkningsapplikasjon\n"
+"\n"
+"VALG:\n"
+"--windows_import : importér fra alle tilgjengelige windows-partisjoner.\n"
+"--xls_fonts : vis alle typer som allerede eksisterer fra xls\n"
+"--install : installer alle typer og kataloger.\n"
+"--uninstall : avinstaller alle typer og kataloger.\n"
+"--replace : erstatt typer som eksisterer fra før\n"
+"--application : 0 ingen applikasjon.\n"
+" : 1 alle tilgjengelige støttede applikasjoner.\n"
+" : applikasjonsnavn som «so» for staroffice \n"
+" : og gs for ghostscript bare for denne."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[VALG]...\n"
+"Mandriva Linux Terminaltjener-oppsett\n"
+"--enable : aktiver MTS\n"
+"--disable : deaktiver MTS\n"
+"--start : start MTS\n"
+"--stop : stopp MTS\n"
+"--adduser : legg til en eksisterende systembruker til MTS (krever "
+"brukernavn)\n"
+"--deluser : fjern en systembruker fra MTS (krever brukernavn)\n"
+"--addclient : legg til en klientmaskin til MTS (krever MAC-addresse, "
+"IP, nbi-imagefilnavn)\n"
+"--delclient : slett en klientmaskin fra MTS (krever MAC-addresse, IP, "
+"nbi-imagefilnavn)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[tastatur]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=minfil] [--word=mittord] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[VALG]\n"
+"Nettverks- & internettforbindelse og overvåkningsapplikasjon\n"
+"\n"
+"--defaultintf interface : vis dette grensesnittet som standard\n"
+"--connect : Koble til internett dersom ikke allerede tilkoblet\n"
+"--disconnect : koble fra internett dersom tilkoblet\n"
+"--force : tving til/frakobling. Brukes med --(dis)connect.\n"
+"--status : returnerer 1 dersom tilkoblet, 0 hvis ikke.\n"
+"--quiet : ikke vær interaktiv. Brukes med --(dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[VALG]...\n"
+" --no-confirmation ikke spør det første bekreftelsesspørsmålet i "
+"Mandriva Update-modus\n"
+" --no-verify-rpm ikke kontroller pakkesignaturer\n"
+" --changelog-first vis endringslogg før filliste i "
+"beskrivelsesvinduet\n"
+" --merge-all-rpmnew foreslå å slå sammen alle .rpmnew/.rpmsave-filer "
+"funnet"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=enhet] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=enhet]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [alt]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake oppløsning"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Bruk: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Alle tjenere"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Globalt"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Nord-Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oseania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Sør-Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Russiske føderasjon"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Jugoslavia"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Er dette riktig?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Ingen fil valgt"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Du har valgt en fil, ikke en katalog"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Du har valgt en katalog, ikke en fil"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Ingen slik katalog"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Ingen slik fil"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Utvid tre"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Trekk sammen tre"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Skift mellom flat og gruppesortert"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s er ikke installert\n"
+"Klikk «Neste» for å installere eller «Avbryt» for å avslutte"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installasjon mislyktes"
+
+#~ msgid "Icon"
+#~ msgstr "Ikon"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Antall opptaksmellomlagre"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "Antall opptaksmellomlagre for minnekartlagt opptak"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL-oppsett:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radiostøtte"
+
+#~ msgid "enable radio support"
+#~ msgstr "aktiver radiostøtte"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/nl.po b/perl-install/share/po/nl.po
new file mode 100644
index 000000000..0596ed859
--- /dev/null
+++ b/perl-install/share/po/nl.po
@@ -0,0 +1,6880 @@
+# translation of libDrakX-nl.po to
+# translation of DrakX-nl.po to Nederlands
+# Dutch translation of DrakX.
+# Copyright (C) 2000, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (c) 2000 Mandriva
+# Niels Gras <niels.gras@wanadoo.nl>, 2000.
+# Jeroen ten Berge <j.ten.berge@twinbit.nl>, 2002.
+# Reinout van Schouwen <reinout@gmail.com>, 2002-2007.
+# Peter Bosch <peter.bosch@hccnet.nl>, 2002.
+# Rob Teng <mandrake.tips@free.fr>, 2005.
+# Arno Fleming, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libDrakX-nl\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-13 00:45+0200\n"
+"Last-Translator: Reinout van Schouwen <reinout@gmail.com>\n"
+"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Even geduld"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installatie opstartlader is bezig"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO wil een nieuw volumen-ID toekennen aan station %s. Het veranderen\n"
+"van het volume-ID van een Windows NT, 2000, of XP opstartschijf creëert\n"
+"een fatale Windows-fout. \n"
+"Deze waarschuwing geldt niet voor Windows 95 of 98, of voor NT-\n"
+"dataschijven.\n"
+"\n"
+"Nieuw volumen-ID toekennen?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr ""
+"De installatie van de opstartlader is mislukt. De volgende fout is "
+"opgetreden:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Wellicht is het nodig om uw Open Firmware opstart-apparaat \n"
+" te veranderen om de opstartlader te activeren. Wanneer u geen \n"
+" opstartlader-prompt bij het opnieuw opstarten ziet, houdt dan \n"
+" Command-Option-O-F ingedrukt bij het opstarten en voer in: \n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Vervolgens voert u in: shut-down\n"
+"Bij de volgende keer opstarten zou u dan de opstartlader-prompt \n"
+"moeten zien."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"U heeft besloten om de bootloader op een partitie te installeren.\n"
+"Dit betekent dat U al een bootloader op de opstart schijf hebt.\n"
+"(Bijv. System Commander)\n"
+"\n"
+"Van welke schijf start U op ?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Eerste sector van schijf (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Eerste sector van root-partitie"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "Op diskette"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Overslaan"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub-installatie"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Waar wenst u de opstartlader te installeren?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Configuratie van opstartstijl"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Opstartlader algemene opties"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Opstartlader"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Welke opstartlader te gebruiken"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Opstartapparaat"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Hoofdopties"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Wachttijd voor het opstarten van standaard image"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI inschakelen"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "APIC inschakelen"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Lokale APIC inschakelen"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Wachtwoord"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "De wachtwoorden komen niet overeen"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Probeert u het opnieuw"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "U kunt geen wachtwoord gebruiken met %s"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Wachtwoord (nogmaals)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Opdrachtregel-opties beperken"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "beperken"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr ""
+"De optie ``Opdrachtregel-opties beperken'' heeft geen nut zonder wachtwoord"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Elke keer bij opstarten /tmp legen"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Juiste RAM-grootte (indien nodig) (%d MB gevonden)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Geef de RAM-grootte in MB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Initialisatie-bericht"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Open Firmware-vertraging"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Kernel opstart-wachttijd"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD-opstart inschakelen?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF-opstart inschakelen?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Standaard besturingssysteem?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Beeldbestand"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Root"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Toevoegen"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen toevoegen"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Video-modus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Netwerkprofiel"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Naam"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standaard"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Geen video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Lege naam is niet toegelaten"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "U dient een kernel-bestand aan te geven"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "U dient een root-partitie aan te geven"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Dit label is al in gebruik"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Welk type waarde wil u toevoegen?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Ander OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Ander OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Ander OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Hier zijn de waardes voor uw opstartmenu tot dusver.\n"
+"U kunt er enkele toevoegen of de bestaande wijzigen."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "toegang tot X-programma's"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "toegang tot rpm-programmatuur"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" toestaan"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "toegang tot administratieve bestanden"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "toegang tot netwerkprogrammatuur"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "toegang tot compileerprogrammatuur"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s reeds toegevoegd)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Geef een gebruikersnaam"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"De gebruikersnaam mag slechts kleine letters, cijfers, `-' en`_' bevatten"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Deze gebruikersnaam is te lang"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Deze gebruikersnaam is al toegevoegd"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Gebruikers-ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Groep-ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s moet een getal zijn"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s behoort groter dan 500 te zijn. Toch doorgaan?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Gebruiker toevoegen"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Voer gebruiker in\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Klaar"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Gebruiker OK"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Echte naam"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Aanmeldnaam"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Shell"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Auto-aanmelden"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Automatische aanmelding van één gebruiker is instelbaar."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Deze mogelijkheid gebruiken"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Kies de standaard gebruiker:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Kies de te gebruiken werkomgeving:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Licentie-overeenkomst"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Afsluiten"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Uitgave-opmerkingen"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Accepteren"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Weigeren"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Kies de taal die u wenst te gebruiken."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Taalkeuze"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux kan meerdere talen aan. Selecteer de talen\n"
+"die u wenst te installeren. Ze zullen beschikbaar zijn wanneer\n"
+"de installatie afgerond is en u uw computer opnieuw start."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Meerdere talen"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Oude compatibiliteit (niet-UTF-8)-codering"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle talen"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Kies uw land alstublieft."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Dit is de volledige lijst van beschikbare landen"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Overige landen"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Geavanceerd"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Invoermethode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Geen"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Niet delen"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Alle gebruikers toestaan"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Aangepast"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Wilt U gebruikers toestaan om enkele eigen mappen te delen?\n"
+"Door dit toe te staan kunnen gebruikers in Konquerer en nautilus\n"
+"eenvoudig met een klik op \"Delen\" hun mappen delen.\n"
+"\n"
+"\"Aangepast\": per-gebruiker instellingen toestaan.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: het traditionele Unix bestandsdelingssysteem, met minder ondersteuning "
+"op Mac en Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: een bestandsdelingssysteem dat Windows, Mac OS X en vele moderne Linux "
+"systemen gebruiken."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr ""
+"U kunt bestandssystemen delen met behulp van NFS of SMB. Welke daarvan wilt "
+"u gebruiken?"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Userdrake opstarten"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Sluiten"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"De 'per gebruiker delen'-functie gebruikt de groep\n"
+"\"fileshare\". U kunt met userdrake een gebruiker\n"
+"aan deze groep toevoegen."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Gelieve uit te loggen en daarna op Ctrl-Alt-Backspace te drukken"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr ""
+"U dient zich af te melden en weer aan te melden voordat de veranderingen "
+"effect hebben"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tijdzone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "Wat is uw tijdzone?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Datum-, klok- & tijdzone-instellingen"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Welke tijdzone komt het best overeen?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (apparaatklok ingesteld op UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (apparaatklok ingesteld op lokale tijd)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-server"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatische tijdssynchronisatie (met gebruik van NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Bestand op deze computer"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smartcard"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows-domein"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory met SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory met Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Bestand op deze computer:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Gebruik local voor alle aanmeldingscontrole en gebruikersinformatie in een "
+"bestand op deze computer."
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Laat uw computer LDAP gebruiken voor sommige of alle aanmeldingscontrole. "
+"LDAP consolideert bepaalde soorten informatie binnen uw organizatie."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Stelt u in staat om een groep computers in hetzelfde Network Information "
+"Service-domein te gebruiken met een hetzelfde wachtwoord en group-bestand."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-domein:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind laat een systeem informatie ophalen en stelt het in staat "
+"aanmeldingscontrole uit te voeren op gebruikers in een Windows-domein."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory met SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+"Met Kerberos en Ldap voor aanmeldingscontrole in Active Directory Server "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory met Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind stelt het systeem in staat om gebruikers aan te melden in een "
+"Windows Active Directory Server."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP-aanmeldingscontrole"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP Base dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-server"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "eenvoudig"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "beveiligingsinrichting (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Active Directory-aanmeldingscontrole"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domein"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Server"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP gebruikersdatabase"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Anonieme BIND gebruiken"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP-gebruiker toegestaan om Active Directory door te bladeren"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Wachtwoord voor gebruiker"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "NIS-aanmeldingscontrole"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-domein"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-server"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Om dit te laten werken met een W2K PDC, zal de beheerder de volgende "
+"opdracht moeten uitvoeren en de server opnieuw opstarten: 'C:\\>net "
+"localgroup \"Pre-Windows 2000 Compatible Access\" everyone /add'\n"
+"U zult tevens de gebruikersnaam/wachtwoord van de domeinbeheerder nodig "
+"hebben om de computer deel te laten nemen aan het Windows(TM)-domein.\n"
+"Indien de netwerkfunctionaliteit nog niet is ingeschakeld, zal DrakX "
+"trachten zich bij het domein te voegen na afloop van de stap netwerk-"
+"instellingen.\n"
+"Mocht deze instelling om wat voor reden dan ook mislukken en de "
+"domeinaanmeldingscontrole werkt niet, herstart dan het systeem en voer "
+"'smbpasswd -j DOMEIN -U GEBRUIKER%%WACHTWOORD' uit waarbij u uw Windows(TM)-"
+"domein en beheerdersgebruikersnaam en -wachtwoord invult.\n"
+"De opdracht 'wbinfo -t' gaat na of uw aanmeldingscontrole-geheimen kloppen."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Aanmeldingscontrole Windows-domein"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory-realm"
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Gebruikersnaam van domeinbeheerder"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Wachtwoord domeinbeheerder"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Aanmeldingscontrole"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Beheerderswachtwoord (root) instellen"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Aanmeldingscontrole-methode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Geen wachtwoord"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Dit wachtwoord is te makkelijk (moet tenminste %d tekens lang zijn)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Kan niet uitzenden zonder NIS-domein"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welkom bij de besturingssysteemkiezer!\n"
+"\n"
+"Kies een besturingssysteem uit de bovenstaande lijst\n"
+"of wacht even op de standaard-opstartprocedure.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO met tekst-menu"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB met grafisch menu"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB met tekstmenu"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "niet genoeg ruimte in /boot"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "U kunt de opstartlader niet installeren op een %s-partitie\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"De configuratie van uw opstartlader moet bijgewerkt worden omdat de partitie "
+"is omgenummerd"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Kan de opstartlader niet correct installeren. U dient in rescue-modus op te "
+"starten en \"%s\" te kiezen"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Opstartlader herinstalleren"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minuten"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minuut"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d seconden"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "opdracht %s is niet aanwezig"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV is een protocol dat u in staat stelt een map op een web server\n"
+"lokaal te koppelen, en deze te behandelen alsof het een lokaal bestands-\n"
+"systeem is (vooropgesteld dat de web server geconfigureerd is als een\n"
+"WebDAV-server). Indien u WebDAV-koppelpunten wenst toe te voegen,selecteer "
+"dan \"Nieuw\"."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Nieuw"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Ontkoppelen"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Koppelen"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Koppelpunt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Opties"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Fout"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Geef de URL van de WebDAV-server in"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "De URL moet beginnen met http:// of https://"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Server:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Koppelpunt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Opties: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partitionering"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Lees aandachtig!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Maak eerst een veiligheidskopie van uw gegevens"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Afsluiten"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Doorgaan"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Als u aboot wenst te gebruiken, wees dan voorzichtig en laat vrije ruimte "
+"over (2048 sectoren is genoeg)\n"
+"aan het begin van de schijf"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hulp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Kies een actie"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"U heeft één grote Microsoft Windows-partitie.\n"
+"Het is aanbevolen dat u eerst de grootte van die partitie aanpast\n"
+"(klik erop, en klik daarna op \"Grootte aanpassen\")"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Klik op een partitie"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Details"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Geen harde schijven gevonden"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Gejournaliseerd bestandssysteem"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Virtueel"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Overig"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Leeg"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Bestandssysteemtypes:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Waarschuwing"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Deze partitie is al leeg"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Gebruik eerst ``Ontkoppelen''"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "``%s'' in plaats gebruiken"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Type"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Kies een andere partitie"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Kies een partitie"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Ongedaan maken"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Naar normale modus"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Naar expert-modus"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Bevestiging"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Toch doorgaan?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Afsluiten zonder opslaan"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Afsluiten zonder de partitietabel weg te schrijven?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Wilt u de /etc/fstab aanpassingen bewaren"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"U dient te herstarten om de wijzigingen in de partitietabel te activeren."
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"U dient partitie %s te formatteren.\n"
+"Anders kan er geen regel voor koppelpunt %s in fstab worden gezet.\n"
+"Toch afsluiten?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Alles wissen"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Automatisch toewijzen"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Meer"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Informatie over harde schijf"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle primaire partities zijn al toegewezen"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "U kunt geen partitie meer toevoegen"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Om meer partities te kunnen maken, zal u er een moeten verwijderen. Dan kan\n"
+"er een uitgebreide (extended) partitie worden bijgemaakt"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Geen supermount"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermount"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermount behalve voor CD-ROM-spelers"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Partitietabel schrijven"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Partitietabel terughalen"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Partitietabel redden"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Partitietabel opnieuw laden"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automatische koppeling van verwisselbare media"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Selecteer bestand"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"De backup partitietabel heeft niet dezelfde grootte\n"
+"Toch verdergaan?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Proberen om partitietabel te redden"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Gedetailleerde informatie"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Grootte aanpassen"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formatteren"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Toevoegen aan RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Toevoegen aan LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Verwijderen"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Verwijderen uit RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Verwijderen uit LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "RAID aanpassen"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Voor Loopback gebruiken"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Aanmaken"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Nieuwe partitie creëren"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Start-sector: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Grootte in MB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Bestandssysteem-type: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Voorkeur: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Logische volumenaam "
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"U kunt geen nieuwe partitie aanmaken, omdat u\n"
+"het maximale aantal primaire partities bereikt hebt.\n"
+"Verwijder eerst een primaire partitie en creëer een uitgebreide partitie."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Het loopback-bestand verwijderen?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Na het veranderen van het type van partitie %s, zullen alle gegevens op deze "
+"partitie verloren gaan"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Partitietype veranderen"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Welk bestandssysteem wilt u?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Omschakelen van ext2 naar ext3"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Welk volumen-label?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Label:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Waar wenst u het loopback-bestand %s aan te koppelen?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Waar wilt u apparaat %s koppelen?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Kan een koppelpunt niet verzetten omdat deze partitie gebruikt wordt als\n"
+"loopback. Verwijder de loopback eerst."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Waar wilt u %s koppelen?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Grootte aanpassen"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Bezig met berekenen van FAT bestandssysteemgrenzen"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Deze partitie is niet in grootte aanpasbaar"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr ""
+"Er zou een reservekopie gemaakt moeten worden van alle gegevens op deze "
+"partitie."
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Na het veranderen van de grootte van partitie %s, zullen alle gegevens op "
+"deze partitie verloren gaan"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Kies de nieuwe grootte"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Nieuwe grootte in MB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minimale grootte: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Maximale grootte: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"Om de data-integriteit na het aanpassen van de partitiegrootte(s)\n"
+"te garanderen, zal het bestandssysteem worden gecontroleerd\n"
+"de volgende keer dat u Windows(TM) opstart"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Kies een bestaande RAID om aan toe te voegen"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "nieuw"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Kies een bestaande LVM om aan toe te voegen"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "Naam van de LVM?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Fysiek volumen %s is nog altijd in gebruik.\n"
+"Wilt u de gebruikte fysieke extents van dit volumen naar andere volumina "
+"verplaatsen?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Verplaatsen van fysieke extents"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Deze partitie kan niet gebruikt worden voor loopback"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Loopback"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Loopback-bestandsnaam: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Voer een bestandsnaam in"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Loopback-bestand is al in gebruik, gelieve een ander te kiezen"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Het bestand bestaat al. Wenst u het te gebruiken?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Koppel-opties:"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Diversen"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "apparaat"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "niveau"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "chunk-grootte in KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Voorzichtig: deze operatie is gevaarlijk."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Welk type partitionering?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "U zult moeten herstarten voordat de aanpassing van kracht wordt"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partitietabel van schijf %s wordt weggeschreven!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr ""
+"Na het formatteren van partitie %s, zullen alle gegevens op deze partitie "
+"verloren zijn"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Slechte blocks checken?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Bestanden naar de nieuwe partitie verplaatsen"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Bestanden verbergen"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Er staan bestanden in de map %s \n"
+"(%s)\n"
+"\n"
+"De keuze is om de data te verplaatsen naar de partitie die hier wordt "
+"gekoppeld, of om de bestanden hier te laten staan. Zolang de partitie is "
+"gekoppeld zijn de bestanden niet beschikbaar."
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Bezig met verplaatsen van bestanden naar de nieuwe partitie"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Bezig met kopiëren van %s"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Bezig met verwijderen van %s"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "partitie %s heet vanaf nu %s"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partities zijn hernummerd: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Apparaat: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Volumenaam"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS schijfletter: %s (slechts een gok)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Type: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Naam: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Start: sector %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Grootte: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sectoren"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Cylinder %d tot %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Aantal logische extents: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Geformatteerd\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Niet geformatteerd\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Gekoppeld\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Loopback-bestand(en):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Standaard te starten partitie\n"
+" (om MS-DOS te booten, niet voor lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Niveau %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Chunk-grootte %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-schijven %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Loopback bestandsnaam: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"De kans is aanwezig dat deze\n"
+"partitie een stuurprogramma-partitie is.\n"
+"U kunt hem waarschijnlijk beter met\n"
+"rust laten.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Deze speciale Bootstrap\n"
+"partitie is voor het\n"
+"multi-opstarten van uw systeem.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Lege ruimte op %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Alleen-lezen"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Grootte: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Indeling: %s cylinders, %s koppen, %s sectoren\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Info: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-schijven %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partitietabel-type: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "op kanaal %d id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Sleutel voor bestandssysteem-versleuteling"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Kies uw sleutel voor bestandssysteem-versleuteling"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr ""
+"Deze versleutelings-sleutel is te makkelijk (moet tenminste %d tekens lang "
+"zijn)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "De versleuteling-sleutels kloppen niet met elkaar"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Vercijferingssleutel"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "versleutelings sleutel (nogmaals)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Versleutelingsalgoritme"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Type veranderen"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Annuleren"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Kan niet aanmelden met gebruikersnaam %s (verkeerd wachtwoord?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Domein-aanmeldingscontrole vereist"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Welke gebruikersnaam"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Een andere"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr ""
+"Voer uw gebruikersnaam, wachtwoord en domeinnaam in om toegang te krijgen "
+"tot deze host."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Gebruikersnaam"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Servers zoeken"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Nieuwe servers zoeken"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Pakket %s dient geïnstalleerd te worden. Wilt u het installeren?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Kan het pakket %s niet installeren!"
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Verplicht pakket %s ontbreekt"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "De volgende pakketten dienen geïnstalleerd te worden:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Bezig met installeren van pakketten..."
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Verwijderen van pakketten..."
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Er is een fout opgetreden - er zijn geen geldige apparaten gevonden waarop "
+"nieuwe bestandssystemen kunnen worden aangemaakt. Kijk uw apparatuur na om "
+"de oorzaak van dit probleem te vinden."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr ""
+"U moet een partitie met FAT-bestandssysteem gekoppeld hebben aan /boot/efi"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Bezig met formatteren van partitie %s"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Bezig met aanmaken en formatteren van bestand %s"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Methode voor formatteren van %s in type %s onbekend"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s formatteren van %s mislukt"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Circulaire koppelpunten: %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Bezig met koppelen van partitie %s"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "het koppelen van partitie %s in map %s is mislukt"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Bezig met controleren van %s"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "fout bij ontkoppelen %s: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Bezig met inschakelen van virtueel geheugen-partitie %s"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Gebruik een versleuteld bestandssysteem"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Zet harde schijf groepsquota aan en bekrachtig optioneel de limieten"
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr ""
+"inode-toegangstijden op dit bestandssysteem niet verversen\n"
+"(bijv. voor snellere toegang op de newsspool om newsservers te versnellen)."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kan alleen expliciet gekoppeld worden (bijvoorbeeld\n"
+"de optie -a zorgt er niet voor dat het bestandssysteem gekoppeld wordt)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr ""
+"Speciale character- of block-apparaten op het bestandssysteem niet "
+"interpreteren."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Het uitvoeren van binaire bestanden op het gekoppelde \n"
+"bestandssysteem niet toestaan. Deze optie kan nuttig zijn voor een server\n"
+"die binaire bestanden bevat voor andere architecturen dan zijn eigen."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"De bits set-user-identifier en set-group-identifier niet toestaan\n"
+"om effect te hebben. (Dit lijkt veilig, maar is in feite nogal onveilig als\n"
+"u suidperl(1) geïnstalleerd heeft.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Het bestandssysteem alleen voor lezen koppelen"
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "Alle I/O naar het bestandssysteem zou synchroon moeten gebeuren."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "Alle gebruikers toestaan om het bestandsysteem aan- en af te koppelen."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Gewone gebruikers toestaan om het bestandsysteem aan te koppelen."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr ""
+"Zet harde schijf gebruikersquota aan en bekrachtig optioneel de limieten"
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "\"user.\"-uitgebreide attributen ondersteunen"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Schrijftoegang geven aan gewone gebruikers"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Allen-lezen-toegang geven aan gewone gebruikers"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Dubbel koppelpunt %s"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Geen beschikbare partities"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Bezig met scannen van partities om koppelpunten te vinden"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Selecteer de koppelpunten"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Kies de partities die u wenst te formatteren"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Het controleren van bestandssysteem %s is mislukt. Wilt u de fouten "
+"repareren? (Let op, gegevensverlies is mogelijk)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Niet genoeg swap voor de installatie, voeg er wat toe"
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"U moet een root-partitie hebben.\n"
+"Hiervoor dient u een partitie aan te maken (of op een bestaande partitie "
+"teklikken). Daarna kiest u de actie ``Koppelpunt'' en stelt u dit i nop `/'"
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"U heeft geen swap-partitie!\n"
+"\n"
+"Toch verdergaan?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Vrije ruimte benutten"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Niet genoeg vrije ruimte om nieuwe partities te maken"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Gebruik een bestaande partitie"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Er is geen bestaande partitie om te gebruiken"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Gebruik de Microsoft Windows® partitie voor loopback "
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Welke partitie wenst u te gebruiken voor Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Kies de grootte"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Root-partitie-grootte in MB:"
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Swap-partitie-grootte in MB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Er is geen FAT-partitie om als loopback te gebruiken (of er is te weinig "
+"ruimte over)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Gebruik de vrije ruimte op de Windows partitie"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Van welke partitie wilt u de grootte veranderen?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"De FAT grootte-aanpasser was niet instaat met uw partitie om te gaan, \n"
+"de volgende fout is opgetreden: %s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Bezig met berekenen grootte van Microsoft Windows®-partitie"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Uw Microsoft Windows®-partitie is te gefragmenteerd. Start uw computer "
+"opnieuw op onder Microsoft Windows®, gebruik het ``defrag''-hulpprogramma, "
+"en herstart vervolgens de installatie van Mandriva Linux."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"WAARSCHUWING!\n"
+"\n"
+"\n"
+"DrakX zal nu de grootte van uw Windows-partitie aanpassen.\n"
+"\n"
+"\n"
+"Wees voorzichtig: deze operatie is gevaarlijk. Als u dit niet reeds gedaan "
+"heeft, dient u eerst de installatie af te breken, \"chkdsk c:\" uit te "
+"voeren vanuit een Opdrachtaanwijzing onder Windows (kijk uit, het draaien "
+"van het grafische programma \"scandisk\" is niet genoeg, zorg ervoor dat u "
+"\"chkdsk\" in een opdrachtaanwijzing gebruikt!), eventueel defrag uit te "
+"voeren, en daarna de installatie opnieuw te starten. Maakt u ook een "
+"reservekopie van uw gegevens.\n"
+"\n"
+"\n"
+"Wanneer u zeker van uw zaak bent, klik dan %s."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Volgende"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Welke grootte wilt u behouden voor Microsoft Windows® op partitie %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Grootte"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Bezig met grootte aanpassen van Microsoft Windows®-partitie"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "FAT grootte-aanpassing mislukt: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Er is geen FAT partitie om de grootte van aan te passen (of er is te weinig "
+"ruimte over)"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Microsoft Windows® verwijderen"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Volledige harde schijf wissen en gebruiken"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "U heeft meer dan één harde schijf, op welke wilt u Linux installeren?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr ""
+"ALLE bestaande partities en de gegevens die ze bevatten, zullen verloren "
+"gaan op schijf %s"
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Aangepaste schijfpartitionering"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "fdisk gebruiken"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"U kunt nu uw schijf %s partitioneren.\n"
+"Vergeet niet op te slaan met `w' wanneer u klaar bent."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Er is geen ruimte meer voor installatie"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "De partitionerings-wizard heeft de volgende oplossingen gevonden:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Partitionering mislukt: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "U kunt JFS niet gebruiken op een partitie kleiner dan 16MB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "U kunt ReiserFS niet gebruiken op een partitie kleiner dan 32MB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "met /usr"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "server"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr ""
+"Moet de BIOS software RAID - die is aangetroffen op de schijven %s - worden "
+"geactiveerd?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Niet in staat de partitietabel van apparaat %s niet lezen, ze is te "
+"corrupt. :(\n"
+"Ik kan proberen door te gaan en de slechte partities verwijderen\n"
+"(ALLE GEGEVENS zullen worden gewist!).\n"
+"De andere mogelijkheid is om DrakX de de partitietabel niet te laten "
+"aanpassen.\n"
+"(de fout is %s)\n"
+"\n"
+"Gaat u ermee akkoord dat alle partities verloren gaan?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Koppelpunten moeten beginnen met een /"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Koppelpuntnamen kunnen slechts alfanumerieke tekens bevatten"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Er is al een partitie met als koppelpunt %s\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"U heeft een software RAID partitie als root (/) geselecteerd.\n"
+"Geen enkele opstartlader kan dit aan zonder een /boot partitie.\n"
+"Vergeet dus niet om ook een /boot-partitie toe te voegen."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"U kunt het LVM logisch volumen voor koppelpunt %s niet gebruiken aangezien "
+"het fysieke volumes omvat"
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"U heeft een LVM Logisch Volumen als root (/) geselecteerd.\n"
+"De opstartlader is niet in staat hiermee om te gaan als het volume fysieke "
+"volumina omvat.\n"
+"U dient eerst een /boot partitie te creëren"
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Deze map zou binnen het root-bestandssysteem moeten blijven"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"U heeft een echt bestandssysteem (ext2/ext3, reiserfs, xfs of jfs) voor dit "
+"koppelpunt nodig\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "U kunt geen versleuteld bestandssysteem voor koppelpunt %s gebruiken"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Niet voldoende vrije ruimte voor automatische toewijzing"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Niets meer te doen"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskette"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Schijf"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "Cd-rom"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "Cd/dvd-branders"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "Dvd-rom"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Band"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-controllers"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Videokaart"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kaart"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "TV-kaart"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Andere multimedia-apparaten"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Geluidskaart"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Webcam"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Processoren"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-adapters"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB geluidsapparaten"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radio kaarten"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM netwerkkaarten"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN netwerkkaarten"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth apparaten"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Ethernetkaart"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-adapters"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Geheugen"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Printer"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Gamepoort controllers"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Joystick"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-controllers"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-controllers"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-controllers"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB massaopslag-apparaten"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kaartlezers"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-controllers"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-controllers"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-controllers"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-controllers"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-poorten"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-controllers"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Bridges en systeemcontrollers"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Toetsenbord"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tablet en touchscreen"
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Muis"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Scanner"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Onbekend/Overige"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "CVE # "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Even geduld... bezig met toepassen van de configuratie"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Geen alternatief stuurprogramma"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Er is geen alternatief OSS/ALSA-stuurprogramma bekend voor uw geluidskaart(%"
+"s) welke momenteel \"%s\" gebruikt"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Geluidsconfiguratie"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Hier kunt u een alternatief stuurprogramma selecteren (OSS of ALSA) voor uw "
+"geluidskaart (%s)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Uw kaart gebruikt momenteel het %s\"%s\"-stuurprogramma (standaard "
+"stuurprogramma voor uw kaart is \"%s\")"
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) was de eerste geluidsarchitectuur (API) voor Linux. "
+"Het is een besturingssysteem-onafhankelijke geluids-API (het is beschikbaar "
+"op de meeste UNIX-systemen) maar het is een erg simpele en beperkte API.\n"
+"Daarbij komt dat alle OSS-stuurprogramma's het wiel opnieuw uitvinden.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is een gemodulariseerde "
+"architectuur welke een behoorlijk groot scala aan ISA-, USB- en PCI-kaarten "
+"ondersteunt.\n"
+"\n"
+"Tevens biedt het een interface op veel hoger niveau dan OSS.\n"
+"\n"
+"Om van ALSA gebruik te maken, kan men twee dingen doen:\n"
+"- gebruik maken van de compatibiliteits-API voor het oude OSS\n"
+"- gebruik maken van de nieuwe ALSA-API welke veel verbeterde "
+"functionaliteit kent maar vereist dat u de ALSA-bibliotheek gebruikt.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Stuurprogramma:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Probleemaanpak"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Het oude \"%s\"-stuurprogramma staat op de zwarte lijst.\n"
+"\n"
+"Er is gerapporteerd dat het kernel-oopses veroorzaakt bij\n"
+"het uitladen.\n"
+"\n"
+"Het nieuwe \"%s\"-stuurprogramma zal slechts gebruikt worden\n"
+"bij de volgende \"bootstrap\"."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Geen stuurprogramma met vrije broncode"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Er is geen vrij stuurprogramma beschikbaar voor uw geluidskaart (%s), maar "
+"er is een fabrikantsgebonden stuurprogramma op \"%s\"."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Geen stuurprogramma bekend"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Er is geen stuurprogramma bekend voor uw geluidskaart (%s)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Onbekend stuurprogramma"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr ""
+"Er is een fout opgetreden: Het stuurprogramma \"%s\" voor uw geluidskaart "
+"staat niet in de lijst"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Geluidsproblemen aanpakken"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"De klassieke test voor problemen met geluid is het uitvoeren van de\n"
+"volgende opdrachten:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" vertelt u welk stuurprogramma uw kaart\n"
+"normaal gesproken gebruikt\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" vertelt u welk stuurprogramma uw "
+"kaart\n"
+"momenteel gebruikt\n"
+"\n"
+"- \"/sbin/lsmod\" laat u nagaan of de betreffende module (stuurprogramma)\n"
+"is geladen of niet\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" en \"/sbin/chkconfig --list alsa\" "
+"vertelt\n"
+"u of de sound- en alsa-diensten zijn geconfigureerd om te starten op\n"
+"initniveau 3\n"
+"\n"
+"- \"aumix -q\" vertelt u of het geluid is gedempt of niet\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" vertelt u welk programma de geluidskaart "
+"gebruikt.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Laat de computer een stuurprogramma uitzoeken"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Kiezen van willekeurig stuurprogramma"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Indien u zeker denkt te weten welk stuurprogramma het juiste is voor uw "
+"kaart\n"
+"dan kunt u er één kiezen uit bovenstaande lijst.\n"
+"\n"
+"Het huidige stuurprogramma voor uw \"%s\" geluidskaart is \"%s\" "
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Automatisch bespeuren"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Onbekend|Algemeen"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Onbekend|CPH05X (bt878) [vele uitvoeringen]"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Onbekend|CPH06X (bt878) [vele uitvoeringen]"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"Voor de meeste recente TV-kaarten worden de juiste parameters automatisch "
+"door de bttv module van de GNU/Linux kernel gevonden.\n"
+"Indien uw kaart niet goed is herkend, kunt u de juiste tuner, kaart-type en "
+"instellingenhier handmatig aangeven."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kaartmodel:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Tuner type :"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "Ok"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nee"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Kies een bestand"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Toevoegen"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Aanpassen"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Klaar"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Vorige"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Ongeldige keuze, probeer nog eens\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Uw keuze? (standaard %s)"
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Waarden die u dient in te vullen:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Uw keuze? (0/1, standaard '%s')"
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Knop '%s':%s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Wilt u op deze knop klikken?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Uw keuze? (standaard '%s'%s)"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr " voer `void' in voor een lege keuze"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "=> Er zijn vele keuzes mogelijk (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Gelieve het eerste nummer van het 10-bereik dat u wilt bewerken,\n"
+"te kiezen, of geef eenvoudigweg Enter om verder te gaan.\n"
+"Uw keuze?"
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"=> Let op, een label is veranderd:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Opnieuw invoeren"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Verenigde Arabische Emiraten"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua en Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albanië"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenië"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Nederlandse Antillen"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarctica"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentinië"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikaans Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Oostenrijk"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australië"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Azerbeidjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnië-Herzegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "België"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgarije"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrein"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei Darussalam"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivië"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brazilië"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahama's"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvet-Eiland"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Wit-Rusland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokos (Keeling) Eiland"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Congo (Kinshasa)"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Centraal-Afrikaanse Republiek"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Congo (Brazzaville)"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Zwitserland"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Ivoorkust"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cookeilanden"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chili"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kameroen"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "China"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Servië & Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kaapverdische Eilanden"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Kerstmis-eiland"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Cyprus"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tsjechische Republiek"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Duitsland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Denemarken"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Dominicaanse Republiek"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algerije"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypte"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Westelijke Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spanje"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Ethiopië"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falkland eilanden pond"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Micronesië"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Faroër Eilanden"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankrijk"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Verenigd Koninkrijk"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgië"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Frans Guyana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Groenland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinee"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Equatoriaal Guinee"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Griekenland"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Zuid-Georgia en de zuidelijke Sandwich-eilanden"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinee-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Hong Kong SAR (China)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard en McDonald-eilanden"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatië"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haïti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Hongarije"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesië"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Ierland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israël"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Brits Indische Oceaan Territorium"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "IJsland"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italië"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordanië"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenia"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgizië"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Cambodja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komoren"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "Saint Kitts en Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Noord-Korea"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Koeweit"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Kaaimaneilanden"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kazachstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "Santa Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litouwen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxemburg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Letland"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libië"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldavië"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshall Eilanden"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Macedonië"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolië"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Noordelijke Mariana Eilanden"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritanië"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Malediven"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Maleisië"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mozambique"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibië"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Nieuw Caledonië"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolk Eiland"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nederland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noorwegen"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "Nieuw Zeeland"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Frans Polynesië"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papoea Nieuw Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippijnen"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polen"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "St. Pierre en Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Roemenië"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Rusland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saoedi-Arabië"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomonseilanden"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellen"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Soedan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Zweden"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "St. Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenië"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard en Jan Mayen Eilanden"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slowakije"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalië"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Suriname"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "Sao Tome en Principe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syrië"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks en Caicos Eilanden"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tsjaad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franse Zuidelijke Territoriën"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadjzikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Oost-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunesië"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkije"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad en Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Oekraïene"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Oeganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "Amerikaanse Kleine Eilanden"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "Verenigde Staten"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Oezbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vaticaan"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "Sint Vincent en de Grenadinen"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Britse Maagdeneilanden"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Amerikaanse Maagdeneilanden"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis en Futuna"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Zuid-Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Welkom bij %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr ""
+"Het verplaatsen van de gebruikte fysieke extents naar andere fysieke volumes "
+"is mislukt"
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Fysiek volume %s is nog altijd in gebruik"
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Verwijder eerst de logische volumina\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "De opstartlader kan niet omgaan met /boot op meerdere fysieke volumina"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+"Introductie\n"
+"\n"
+"Het besturingssysteem en de verschillende componenten beschikbaar in de "
+"Mandriva Linux\n"
+"distributie zullen vanaf nu \" Software Produkten\" heten. De Software "
+"Produkten omvatten,\n"
+"maar zijn niet beperkt tot de programma's, methoden, regels en documentatie "
+"gerelateerd aan\n"
+"het besturingssysteem en de verschillende onderdelen van de Mandriva Linux "
+"distributie.\n"
+"\n"
+"\n"
+"1. Licentieovereenkomst\n"
+"\n"
+"Lees dit document zorgvuldig. Dit document is een licentieovereenkomst "
+"tussen U en\n"
+"Mandriva S.A. welke van toepassing is op de Software Produkten.\n"
+"Door het installeren, dupliceren of gebruiken van de Software Produkten in "
+"welke vorm dan ook,\n"
+"gaat u expliciet akkoord en bent het volledig eens met de voorwaarden van "
+"deze\n"
+"licentie. Indien U het met welk onderdeel van de Licentie dan ook niet eens "
+"bent, dan is het U\n"
+"niet toegestaan deze Software Produkten te installeren, dupliceren of "
+"gebruiken.\n"
+"Elke poging om de Software Produkten te installeren, dupliceren of gebruiken "
+"op een wijze die\n"
+"niet in overeenstemming is met de voorwaarden van deze licentie is nietig\n"
+"en beëindigt uw rechten onder deze Licentie. Bij beëindiging van de Licentie "
+"dient u onmiddelijk\n"
+"alle kopieën van de Software Produkten te vernietigen.\n"
+"\n"
+"\n"
+"2. Beperkte garantie\n"
+"\n"
+"De Software Produkten en meegeleverde documentatie zijn geleverd \"als "
+"zodanig\" zonder garantie,\n"
+"voorzover dat dat wettelijk is toegestaan.\n"
+"Mandriva S.A. zal in geen enkele omstandigheid, en voorzover dat wettelijk "
+"is toegestaan,\n"
+"aansprakelijk zijn voor elke vorm van speciale, incidentele, directe of "
+"indirecte schade (inclusief\n"
+"zonder beperking schade door verlies van zaken, interruptie van zaken, "
+"financieel verlies, juridische\n"
+"kosten en boetes resulterend uit een rechterlijke uitspraak, of andere "
+"daaruit volgende verliezen)\n"
+"veroorzaakt door het gebruik of het niet kunnen gebruiken van de Software "
+"Produkten, zelfs als\n"
+"Mandriva S.A. op de hoogte was van de mogelijkheid danwel voorkomen van "
+"dergelijke schades.\n"
+"\n"
+"BEPERKTE AANSPRAKELIJKHEID GEKOPPELD AAN HET BEZIT OF GEBRUIK VAN\n"
+"VERBODEN SOFTWARE IN SOMMIGE LANDEN\n"
+"\n"
+"Mandriva S.A. of zijn distributeurs zullen, voorzover wettelijk toegestaan, "
+"in geen geval aansprakelijk\n"
+"zijn voor welke vorm van speciale, incidentele, directe of indirecte schade "
+"dan ook (inclusief\n"
+"zonder beperking schade door verlies van zaken, interruptie van zaken, "
+"financieel verlies, juridische\n"
+"kosten en boetes resulterend uit een rechterlijke uitspraak, of andere "
+"daaruit volgende verliezen)\n"
+"voortkomend uit het bezit of gebruik van softwarecomponenten of voortkomend "
+"uit het downloaden van\n"
+"softwarecomponenten van één van Mandriva Linux sites, welke verboden of "
+"beperkt zijn in sommige\n"
+"landen door lokale wetgeving.\n"
+"Deze beperkte aansprakelijkheid geldt voor, maar is niet beperkt tot de "
+"sterke versleutelingscomponenten\n"
+"meegeleverd met de Software Produkten.\n"
+"\n"
+"\n"
+"3. De GPL-licentie en gerelateerde licenties\n"
+"\n"
+"De Software Produkten bestaan uit componenten die ontwikkeld zijn door "
+"verschillende personen\n"
+"of entiteiten. De meeste componenten vallen onder de bewoording en "
+"voorwaarden van de GNU \n"
+"General Public License, hierna te noemen \"GPL\", of onder vergelijkbare "
+"licenties. De meeste van\n"
+"deze licenties staan u toe de desbetreffende componenten te gebruiken, "
+"dupliceren, aanpassen of\n"
+"verder te distribueren. Leest u aandachtig de bewoording en voorwaarden van "
+"deze licentieovereenkomsten\n"
+"alvorens enige component te gebruiken. Elke vraag over een componentlicentie "
+"kunt U richten aan de\n"
+"desbetreffende auteur en niet aan Mandriva.\n"
+"De programmatuur ontwikkeld door Mandriva S.A. valt onder de GPL-licentie. "
+"Documentatie\n"
+"geschreven door Mandriva S.A. valt onder een eigen licentie. Zie de "
+"documentatie voor verdere details.\n"
+"\n"
+"\n"
+"4. Intellectuele eigendomsrechten\n"
+"\n"
+"Alle rechten op de componenten van de Software Produkten behoren toe aan hun "
+"respectievelijke\n"
+"auteurs en zijn beschermd door intellectuele eigendoms- en copyright-wetten "
+"welke gelden voor\n"
+"computerprogrammatuur.\n"
+"Mandriva S.A. behoudt zich het recht voor om de Software Produkten te "
+"veranderen in hun geheel\n"
+"of in onderdelen, op welke manier dan ook en voor welk doel dan ook.\n"
+"\"Mandriva\", \"Mandriva Linux\" en geassocieerde logo's zijn handelsmerken "
+"van Mandriva S.A.\n"
+"\n"
+"\n"
+"5. Geldende wetten\n"
+"\n"
+"Als welk deel dan ook van deze overeenkomst niet geldig, illegaal of niet "
+"toepasselijk wordt\n"
+"bevonden door een rechterlijke uitspraak, dan wordt het betreffende deel "
+"uitgesloten van dit\n"
+"contract. U blijft verder wel gebonden aan de overige toepasselijke secties "
+"van de overeenkomst.\n"
+"De voorwaarden van deze licentie vallen onder de wetten van Frankrijk.\n"
+"Alle meningsverschillen ten aanzien van deze licentie worden het liefst "
+"buiten een rechtszaak om\n"
+"geschikt. Als een laatste oplossing kan de zaak doorverwezen worden naar de "
+"geschikte\n"
+"gerechtshoven van Parijs - Frankrijk.\n"
+"Bij vragen over dit document, gelieve contact op te nemen met Mandriva S.A.\n"
+"\n"
+"Dit document is vanuit het Engels vertaald door een onbeëdigde vertaler. "
+"Voor het rechtsgeldig\n"
+"laten maken van dit document zult U dus een originele versie van dit "
+"document op moeten halen\n"
+"en deze laten vertalen door een beëdigd vertaler.\n"
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Waarschuwing: Vrije Software is niet altijd vrij van patenten, en sommige\n"
+"van de meegeleverde software zou onder patenten kunnen vallen die gelden\n"
+"in uw land. Bijvoorbeeld de meegeleverde MP3-decoders zouden een licentie\n"
+"kunnen vereisen voordat ze gebruikt mogen worden (zie \n"
+"http://www.mp3licensing.com voor verdere details). Indien u onzeker bent\n"
+"of een patent op u toepasbaar is, raadpleeg dan uw lokale wetgeving."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+"\n"
+"Waarschuwing\n"
+"\n"
+"Leest u aandachtig de voorwaarden hieronder. Als u het niet eens bent \n"
+"met eender welk onderdeel, is het u niet toegestaan om de volgende \n"
+"CD-media te installeren. Klik op 'Weigeren' om de installatie voort te \n"
+"zetten zonder deze media te gebruiken.\n"
+"\n"
+"\n"
+"Sommige componenten die op de volgende CD-media staan staan niet \n"
+"onder de GPL-licentie of dergelijke overeenkomsten. Ieder van deze \n"
+"componenten valt onder de regels en voorwaarden van zijn eigen \n"
+"specifieke licentie. Leest u dergelijke licenties alstublieft aandachtig \n"
+"en ga ermee akkoord voordat u de genoemde componenten gebruikt \n"
+"of opnieuw distribueert. \n"
+"Dergelijke licenties zullen in het algemeen het overnemen, dupliceren \n"
+"(behalve voor reservekopie-doeleinden), herdistribueren, reverse \n"
+"engineering, de-assemblage, de-compilatie of aanpassing van het \n"
+"component voorkomen. Het doorbreken van deze overeenkomst zal \n"
+"onmiddelijk uw rechten onder de specifieke licentie opheffen. Tenzij \n"
+"de specifieke licentie u zulke rechten toekent, kunt u in het algemeen \n"
+"de programma's niet op meer dan één machine installeren, of hen \n"
+"aanpassen voor gebruik over een netwerk. Als u twijfelt, neem dan \n"
+"alstublieft rechtstreeks contact op met de distributeur van het \n"
+"component. \n"
+"Het doorgeven aan een derde partij of het kopiëren van dergelijke \n"
+"componenten is in het algemeen verboden.\n"
+"\n"
+"\n"
+"Alle rechten op de componenten van de volgende CD-media behoren \n"
+"aan hun respectievelijke auteurs en zijn beschermd door wetten met \n"
+"betrekking tot intellectueel eigendom en copyright van software- \n"
+"programma's. \n"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gefeliciteerd, de installatie is voltooid. \n"
+"Verwijder de opstartmedia en druk op Enter om opnieuw op te starten.\n"
+"\n"
+"\n"
+"Voor informatie over verbeteringen die voor deze versie van Mandriva Linux\n"
+"beschikbaar zijn, raadpleegt u de Errata, beschikbaar van:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Informatie over het configureren van uw systeem is beschikbaar in het\n"
+"\"post install\"-hoofdstuk van de Official Mandriva Linux User's Guide."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Dit stuurprogramma heeft geen configuratieparameter!"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Moduleconfiguratie"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "U kunt elke vlag van de module hier configureren"
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "%s interfaces gevonden"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Heeft u er nog één?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Heeft u een %s interface?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Hardware-info bekijken"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installeren van stuurprogramma voor USB-besturingsapparaat"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installeren van stuurprogramma voor Firewire-besturingsapparaat %s"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installeren van stuurprogramma voor harde schijf-besturingsapparaat %s"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installeren van stuurprogramma voor ethernetapparaat %s"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Bezig met installeren van stuurprogramma voor %s kaart %s"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"U kunt nu de opties doorgeven aan module %s.\n"
+"Merk op dat een adres moet worden ingegeven met de prefix 0x zoals '0x123'"
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"U mag nu de opties voor module %s ingeven.\n"
+"Opties staan in het formaat ``naam=waarde naam2=waarde2 ...''.\n"
+"Bijvoorbeeld, ``io=0x300 irq=7''"
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Module-opties:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Welk %s-stuurprogramma te proberen?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"In sommige gevallen heeft het stuurprogramma %s extra informatie nodig\n"
+"om juist te werken, alhoewel het meestal ook zonder goed werkt. Wilt u\n"
+"extra opties invoeren of laat u liever het stuurprogramma zijn informatie\n"
+"zelf zoeken? Soms zal de automatische detectie de computer laten hangen,\n"
+"maar het zou geen schade mogen veroorzaken."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatisch bespeuren"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Opties specificeren"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Het laden van module %s is niet gelukt.\n"
+"Wenst u opnieuw te proberen met andere parameters?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "koppelen mislukt: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Extended partitie niet ondersteund op dit platform"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Er zit een gat in uw partitietabel, maar ik kan het niet gebruiken.\n"
+"De enige oplossing is om uw primaire partitie te verplaatsen zodat het gat "
+"naast de extended partitie komt te liggen"
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Fout bij het lezen van bestand %s"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Het herstellen van bestand %s is niet gelukt: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Slechte reservekopie"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Fout bij het schrijven naar bestand %s"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Er is iets verdachts aan de gang op uw schijf. \n"
+"Een test om de integriteit van de gegevens de testen is mislukt.Dat betekent "
+"dat schrijven naar de schijf uiteindelijk\n"
+"tot willekeurige, beschadigde gegevens leidt."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kan geen partitie toevoegen aan een _geformatteerde_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Niet genoeg partities voor RAID-niveau %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Kan map /usr/share/sane/firmware niet aanmaken!"
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Kan verwijzing /usr/share/sane/%s niet aanmaken!"
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Kan firmwarebestand %s niet kopiëren naar /usr/share/sane/firmware!"
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Kan de rechten van firmwarebestand %s niet instellen!"
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Scannerdrake"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Kan de benodigde pakketten om scanner(s) te delen niet installeren."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Uw scanner(s) zullen niet beschikbaar zijn voor gebruikers die geen root "
+"zijn."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "IPv4-onzinfoutmeldingen accepteren/weigeren."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Uitgezonden icmp-echo accepteren/weigeren."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "icmp-echo accepteren/weigeren."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Automatisch aanmelden toestaan/verbieden."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Als ingesteld op = \"ALL\", het bestaan van /etc/issue en /etc/issue.net\n"
+"toestaan. Als ingesteld op \"NONE\" dan zijn geen 'issues' toegestaan.\n"
+"\n"
+"Anders is alleen /etc/issue toegestaan."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Herstarten door de console-gebruiker toestaan/verbieden"
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Op afstand aanmelden van root toestaan/verbieden."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Directe aanmelding van root toestaan/verbieden."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr ""
+"De systeemgebruikerslijst toestaan/verbieden op displaybeheer (kdm en gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Export van de display toestaan/verbieden\n"
+"wanneer vanaf het root account overgegaan wordt\n"
+"naar andere gebruikers.\n"
+"\n"
+"Zie de man-pagina van pam_xauth(8) voor meer details.'"
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"X-verbindingen toestaan/verbieden:\n"
+"\n"
+"- ALL (alle verbindingen toegestaan),\n"
+"\n"
+"- LOCAL (alleen lokale verbinding toestaan),\n"
+"\n"
+"- NONE (geen.verbinding)."
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Het argument geeft aan of het clients is toegestaan te verbinden\n"
+"vanaf het netwerk met de X-server op de tcp-poort 6000 of niet."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Goedkeuren:\n"
+"\n"
+"- Alle diensten gecontroleerd door tcp_wrappers (zie de man-pagina\n"
+"van hosts.deny(5)) als ingesteld op \"ALL\",\n"
+"\n"
+"- alleen lokale diensten als ingesteld op \"LOCAL\"\n"
+"\n"
+"- geen als ingesteld op \"NONE\".\n"
+"\n"
+"Om de diensten die u nodig heeft goed te keuren, gebruikt u\n"
+"/etc/hosts.allow (zie de man-pagina van hosts.allow(5))."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Maakt de symbolische verwijzing /etc/security/msec/server naar\n"
+"/etc/security/msec/server.<SERVER_LEVEL>, alsSERVER_LEVEL (of SECURE_LEVEL "
+"indien afwezig) groter is dan 3\n"
+"in /etc/security/msec/security.conf\n"
+"/etc/security/msec/server wordt door chkconfig --add gebruikt om te bepalen\n"
+"of een dienst wordt toegevoegd als het aanwezig is in het bestand gedurende\n"
+"de installatie van pakketten."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"crontab en at in-/uitschakelen voor gebruikers.\n"
+"\n"
+"Zet toegestane gebruikers in /etc/cron.allow en /etc/at.allow\n"
+"(zie man at(1) en crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Systeemlogboekrapportage naar console 12 in-/uitschakelen"
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Bescherming tegen naamopzoek-misleiding in-/uitschakelenAls \"%s\" waar is, "
+"ook naar syslogboek rapporteren."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Beveiligingswaarschuwingen:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Bescherming tegen nep-IP's in-/uitschakelen."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "libsafe in-/uitschakelen als libsafe op het systeem is gevonden."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "In logboek bijhouden van vreemde IPv4-pakketten."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Om het uur-msec beveilingscontrole in-/uitschakelen."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"su slechts inschakelen voor leden van de wheel-groep. Als dit op nee staat, "
+"dan is su toegestaan voor elke gebruiker."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Wachtwoord gebruiken voor aanmeldcontrole van gebruikers."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Controle op ethernetkaart-afluistermodus in-/uitschakelen."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Dagelijkse beveiligingscontrole (de-)activeren."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "sulogin(8) in-/uitschakelen op \"single user\"-niveau."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr ""
+"Naam toevoegen als uitzondering op afhandeling wachtwoordveroudering van "
+"msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr ""
+"Wachtwoordveroudering instellen op \"max\" dagen en tijd tot wijziging op\n"
+"\"inactive\"."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr ""
+"De lengte van de wachtwoordgeschiedenis instellen om wachtwoord-hergebruik\n"
+"te voorkomen."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Instellen van minimumlengte van het wachtwoord en minimum aantal cijfers en "
+"hoofdletters."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Het root-umask instellen."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "als ingesteld op ja, nagaan van open poorten. "
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"als ingesteld op ja, controleren op: \n"
+"\n"
+"- lege wachtwoorden,\n"
+"\n"
+"- geen wachtwoord in /etc/shadow\n"
+"\n"
+"- gebruikers met id 0 bezijden root."
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"als ingesteld op ja, permissies controleren van bestanden in persoonlijke "
+"map van gebruiker."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"als ingesteld op ja, nagaan of netwerkapparaten in afluistermodus staan."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "als ingesteld op ja, dagelijkse beveiligingscontroles uitvoeren."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "als ingesteld op ja, nagaan van toegevoegde/verwijderde sgid-bestanden"
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "als ingesteld op ja, controleren op leeg wachtwoord in /etc/shadow."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "als ingesteld op ja, controlesom verifiëren van suid/guid-bestanden."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr ""
+"als ingesteld op ja, toevoegingen/verdwijningen controleren van suid root-"
+"bestanden."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "als ingesteld op ja, bestanden zonder eigenaar rapporteren."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"als ingesteld op ja, controleren op voor iedereen schrijfbare bestanden/"
+"mappen"
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "als ingesteld op ja, chkrootkit-controles uitvoeren."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr ""
+"als ingesteld, de e-mailrapportage naar dit adres sturen, anders naar root."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "als op ja ingesteld, controleresultaat rapporteren over e-mail."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Geen e-mail versturen als er niets te waarschuwen valt"
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "als ingesteld op ja, enkele controles op de rpm-database uitvoeren."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr "als ingesteld op ja, controleresultaat rapporteren naar syslogboek."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "als ingesteld op ja, dan gaan de rapportages naar tty."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr ""
+"Grootte van opdrachtgeheugen van shell instellen. Een waarde van -1\n"
+"betekent ongelimiteerd."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr ""
+"De shell-wachttijd instellen. Een waarde van nul betekent geen wachttijd."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Timeout-eenheid is seconde"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Het gebruikers-umask instellen."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "IPv4-onzinfoutmeldingen accepteren"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Uitgezonden icmp-echo accepteren"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "icmp-echo accepteren"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "/etc/issue* bestaat"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Herstarten door de console-gebruiker"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Op afstand aanmelden van root toestaan"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direct aanmelden als root"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Gebruikers opsommen op displaybeheer (kdm en gdm)."
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr ""
+"Display exporteren wanneer van root overgegaan wordt naar andere gebruikers"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "X Window-verbindingen toestaan"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "TCP-verbindingen naar X goedkeuren"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Alle diensten onder controle van tcp_wrappers goedkeuren"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig gehoorzaamt aan msec-regels"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "\"crontab\" en \"at\" voor gebruikers inschakelen"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Systeemlogboekrapportage naar console 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Bescherming tegen nep-name resolution"
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Bescherming tegen nep-IP's"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "libsafe inschakelen als libsafe op het systeem is gevonden."
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "In logboek bijhouden van vreemde IPv4-pakketten"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Om het uur-msec beveilingscontrole in-/uitschakelen"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "su slechts inschakelen voor leden van de wheel-groep."
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Wachtwoord gebruiken voor aanmeld controle van gebruikers"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Controle op ethernetkaart-afluistermodus"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dagelijkse beveiligingscontrole"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "sulogin(8) in-/uitschakelen op \"single user\"-niveau."
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Geen wachtwoordverloop voor"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Wachtwoordverloop en account-deactivatieperiodes"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Lengte van wachtwoordgeschiedenis"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minimumlengte van wachtwoord en aantal cijfers en hoofdletters"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root-umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Grootte van shell-geschiedenis"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Shell-wachttijd"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Gebruiker-umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Open poorten controleren"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Controleren op onbeveiligde accounts"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Rechten controleren van bestanden in persoonlijke map van gebruiker."
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Nagaan of netwerkapparaten in afluistermodus staan"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Dagelijkse beveiligingscontroles uitvoeren."
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Nagaan van toegevoegde/verwijderde sgid-bestanden"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Controleren op leeg wachtwoord in /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Controlesom verifiëren van suid/guid-bestanden."
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Toevoegingen/verdwijningen controleren van suid root-bestanden."
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Bestanden zonder eigenaar rapporteren"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Controleren op voor iedereen schrijfbare bestanden/mappen"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "chkrootkit-controles uitvoeren"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Geen lege e-mailrapporten sturen"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Als ingesteld, de e-mailrapportage naar dit e-mailadres sturen, anders naar "
+"root."
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Controleresultaat rapporteren over e-mail."
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Enkele controles op de rpm-database uitvoeren."
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Controleresultaat rapporteren naar syslogboek"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Controlerapportages naar tty sturen"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Krakers zijn welkom"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Matig"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standaard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Hoog"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Hoger"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoïde"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Dit niveau moet met voorzichtigheid gebruikt worden. Het maakt uw systeem\n"
+"makkelijker te gebruiken maar erg gevoelig: het moet niet gebruikt worden "
+"indien de\n"
+"machine met andere computers of het internet verbonden is. Er worden\n"
+"geen wachtwoorden gebruikt."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Wachtwoorden zijn nu ingeschakeld, maar het gebruik als netwerk computer is "
+"nog steeds niet aanbevolen."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dit is de standaardbeveiliging, aangeraden voor een computer die als cliënt "
+"met het Internet verbonden zal worden."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Er zijn al enkele restricties en meer automatische nachtelijke controles."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Met dit veiligheidsniveau wordt het mogelijk dit systeem als server te "
+"gebruiken.\n"
+"De beveiliging is nu goed genoeg om de computer als server te gebruiken die\n"
+"verbindingen van vele clients accepteert. Merk op: als uw computer alleen "
+"een\n"
+"client op het Internet is, dan kunt u beter een lager niveau kiezen."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Gebaseerd op het lagere niveau, maar nu is het systeem volledig afgesloten.\n"
+"Beveiligingsfuncties staan op hun maximumwaarde."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Beveiliging"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "DrakSec basisopties"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Kies het gewenste veiligheidsniveau"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Veiligheidsniveau"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Gebruik libsafe voor servers"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Een bibliotheek welke bescherming biedt tegen \"buffer-overflow\"- en "
+"\"format string\"-aanvallen."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Beveiligings-beheerder (gebruikersnaam of e-mail)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Start het ALSA (Advanced Linux Sound Architecture) geluidssysteem"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron, een periodieke opdracht-planner."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"apmd wordt gebruikt voor het controleren van de batterijstatus en om dit te "
+"bij te houden via het systeemlogboek.\n"
+"Het kan ook gebruikt worden om de machine uit te schakelen als het\n"
+"spanningsniveau van de batterij laag is."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Voert opdrachten uit die door het at-programma gepland zijn op het moment "
+"dat\n"
+"werd opgegeven toen at werd aangeroepen, en draait batch-opdrachtenwanneer\n"
+"de computer slechts licht belast wordt."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"cron is een standaard UNIX-programma dat door de gebruiker gespecificeerde "
+"programma's start\n"
+"op periodiek geplande tijden. vixie cron voegt een aantal extra's toe aan de "
+"basis UNIX-cron,\n"
+"waaronder betere veiligheid en krachtiger in te stellen opties."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM is een voorziening die bestanden observeert. Het is bruikbaar om\n"
+"meldingen te krijgen wanneer bestanden veranderen.\n"
+"Het wordt door GNOME en KDE gebruikt"
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM voegt muisondersteuning toe aan text-based Linux-toepassingen zoals de\n"
+"Midnight Commander. Het laat ook mouse-based console knippen-en-plakken "
+"toe,\n"
+"en biedt ook ondersteuning voor pop-up menu's op de console."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake draait als een hardware-sonde, en eventueel \n"
+"configureert het nieuwe of veranderde hardware."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr ""
+"Apache is een World Wide Web-server. Het wordt gebruikt om HTML-bestanden en "
+"CGI aan te bieden."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"De internet superserver daemon (meestal inetd genoemd) start een hele\n"
+"hoop andere internetdiensten wanneer nodig. Het is verantwoordelijk voor\n"
+"vele diensten, waaronder telnet, ftp, rsh en rlogin. Als u inetd "
+"uitschakelt,\n"
+"schakelt u alle diensten uit waar de daemon verantwoordelijk voor is."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Pakket-filtering inschakelen voor Linux kernel 2.2-serie, om \n"
+"een firewall op te zetten die uw machine beschermt tegen \n"
+"aanvallen vanuit het netwerk."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Dit pakket laadt de geselecteerde toetsenbord-indeling als ingesteld in\n"
+"/etc/sysconfig/keyboard. Dit kan geselecteerd worden via de kbdconfig "
+"utility.\n"
+"U kunt dit het best aan laten voor de meeste machines."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatisch opnieuw aanmaken van kernel header in \n"
+"/boot voor /usr/include/linux/{autoconf,version}.h"
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatisch vinden en instellen van hardware bij het opstarten"
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf zal op sommige momenten regelen dat diverse \n"
+"taken worden uitgevoerd bij het opstarten, om de systeem-\n"
+"configuratie te behouden."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd is de afdrukvoorziening, die nodig is om de lpr-opdracht goed te laten\n"
+"werken. Het is een server die afdruktaken naar printers stuurt en regelt."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server, gebruikt om een hoge-prestatie en hoge-\n"
+"beschikbaarheid server te bouwen."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) is een Domain Name Server (DNS) die wordt gebruikt om "
+"computernamen naar IP-adressen om te zetten."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"(Ont)koppelt alle Network File System (NFS), SMB (Lan Manager/Windows)\n"
+"en NCP (NetWare) koppelpunten."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Activeert/Deactiveert alle netwerk-interfaces die geconfigureerd zijn\n"
+"om bij het opstarten ingeschakeld te worden."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS is een populair protocol voor bestandsdeling over TCP/IP-netwerken.\n"
+"Deze dienst geeft u NFS-serverfunctionaliteit, die dan wordt geregeld via "
+"het\n"
+"bestand /etc/exports."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS is een populair protocol voor bestandsdeling over TCP/IP-netwerken.\n"
+"Deze dienst geeft u NFS-bestands'locking'-functionaliteit."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr ""
+"Automatisch aanzetten van de numlock-toets onder \n"
+"terminalvensters en Xorg bij het opstarten."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Ondersteun de OKI 4w en compatibele winprinters"
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"PCMCIA-ondersteuning dient meestal om ethernet en modems in laptops te "
+"onder-\n"
+"steunen. Het zal niet gestart worden tenzij het geconfigureerd is, dus het "
+"is\n"
+"veilig om het geïnstalleerd te hebben op machines die het niet nodig hebben."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"De portmapper beheert RPC-verbindingen, die gebruikt worden door protocols\n"
+"zoals NFS en NIS. De portmap-server moet draaien op machines die fungeren\n"
+"als servers voor protocols die het RPC-mechanisme gebruiken."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix is een Mail Transport Agent, een programma dat post verplaatst van "
+"de ene machine naar de andere."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Bewaart en herstelt de systeem-entropie pool voor betere generatie\n"
+"van willekeurige cijfers."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Blok-georiënteerde apparaten (zoals partities op een harde schijf)\n"
+"direct aanspreken voor het gebruik van toepassingen als Oracle of DVD-spelers"
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"De routed daemon laat automatische IP-router-tabel updates toe via het RIP-\n"
+"protocol. RIP is vooral gebruikt op kleine netwerken, complexere routing-\n"
+"protocols zijn nodig voor complexere netwerken."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Het rstat-protocol laat gebruikers op een netwerk de prestatie-cijfers\n"
+"voor elke machine op dat netwerk op te vragen."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Het rusers-protocol laat gebruikers op een netwerk toe om de kijken wie er\n"
+"ingelogd is op de andere machines op dat netwerk."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Het rwho-protocol laat gebruikers op afstand een lijst opvragen van alle\n"
+"gebruikers die op een machine ingelogd zijn die de rwho daemon draait.\n"
+"(vergelijkbaar met finger)."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Schakel het geluidssysteem van uw machine in"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog is de manier die vele daemons gebruiken om boodschappen te loggen "
+"naar\n"
+"verscheidene systeem-logbestanden. Het is een goed idee syslog altijd te "
+"draaien."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Laad de stuurprogramma's voor uw USB-apparaten"
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr ""
+"Start de X Font Server (deze is noodzakelijk voor het draaien\n"
+"van Xorg)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Afdrukken"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internet"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Bestanden delen"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "Systeem"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Beheer op afstand"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Database-server"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Diensten"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr ""
+"Selecteer welke diensten automatisch gestart moeten worden bij het opstarten"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Diensten: %d geactiveerd van %d geregistreerd"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "actief"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "gestopt"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Diensten en voorzieningen"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Geen extra informatie over\n"
+"deze dienst beschikbaar, sorry."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Info"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Starten op aanvraag"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Bij opstarten"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stop"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"Dit programma is vrije software; U mag het herdistribueren en/of\n"
+"wijzigen onder de voorwaarden van de GNU General Public License als\n"
+"geplubiceerd door the Free Software Foundation; ofwel versie 2, als\n"
+"ook (uw eigen optie) elke latere versie.\n"
+"\n"
+"Dit programma wordt gedistribueerd in de hoop dat het bruikbaar\n"
+"zal zijn, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete \n"
+"garantie voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN\n"
+"SPECIFIEK DOEL. Zie de GNU General Public License voor meer\n"
+"details.\n"
+"\n"
+"U zou een kopie ontvangen moeten hebben van de GNU General\n"
+"Public License bij dit programma; indien dit niet het geval is,\n"
+"schrijf dan een brief naar de Free Software Foundation, Inc.,\n"
+"51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Toepassing voor reservekopie en herstellen\n"
+"\n"
+"--default : standaardmappen opslaan.\n"
+"--debug : alle debugberichten tonen.\n"
+"--show-conf : lijst van bestanden of mappen om reservekopie van te "
+"maken.\n"
+"--config-info : opties in configuratiebestand uitleggen (voor niet-X "
+"gebruikers).\n"
+"--daemon : daemon-configuratie gebruiken. \n"
+"--help : deze melding tonen.\n"
+"--version : versienummer tonen.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - de opstartlader configureren\n"
+" --splash - het opstartthema configureren\n"
+"standaardmodus: configureren van de automatische aameldingsfunctie"
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+"[OPTIES] [PROGRAMMA_NAAM]\n"
+"\n"
+"OPTIES:\n"
+" --help - deze hulptekst tonen.\n"
+" --report - moet een Mandriva Linux-hulpprogramma zijn\n"
+" --incident - moet een Mandriva Linux-hulpprogramma zijn"
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+"[--add]\n"
+" --add - \"netwerkinterface toevoegen\"-wizard\n"
+" --del - \"netwerkinterface verwijderen\"-wizard\n"
+" --skip-wizard - verbindingen beheren\n"
+" --internet - internet configureren\n"
+" --wizard - als --add"
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+"\n"
+"Importeren en bijhouden van lettertypen\n"
+"\n"
+"OPTIES:\n"
+"--windows_import : importeren vanaf alle beschikbare windows-partities.\n"
+"--xls_fonts : alle lettertypen die reeds in xls staan, tonen\n"
+"--install : accepteert ieder lettertype of map.\n"
+"--uninstall : een lettertype of map met lettertypen deïnstalleren.\n"
+"--replace : alle reeds bestaande lettertypen vervangen\n"
+"--application : 0 geen toepassing.\n"
+" : 1 alle beschikbare toepassingen ondersteund.\n"
+" : naam_van_toepassing zoals so voor staroffice \n"
+" : en gs voor ghostscript voor slechts deze."
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+"[OPTIES]...\n"
+"Mandriva Linux Terminal Server Configuratieprogramma\n"
+"--enable : MTS inschakelen\n"
+"--disable : MTS uitschakelen\n"
+"--start : MTS starten\n"
+"--stop : MTS stoppen\n"
+"--adduser : bestaande gebruiker toevoegen aan MTS (gebruikersnaam "
+"vereist)\n"
+"--deluser : bestaande gebruiker uit MTS verwijderen (gebruikersnaam "
+"vereist)\n"
+"--addclient : client-computer toevoegen aan MTS (MAC-adres, IP, nbi "
+"imagenaam vereist)\n"
+"--delclient : client-computer verwijderen uit MTS (MAC-adres, IP, nbi "
+"imagenaam vereist)"
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[toetsenbord]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=mijnbestand] [--word=mijnwoord] [--explain=regexp] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+"[OPTIES]\n"
+"Toepassing voor het volgen van netwerk & internetverbinding\n"
+"\n"
+"--defaultintf interface : deze interface standaard tonen\n"
+"--connect : met internet verbinden wanneer niet reeds verbonden\n"
+"--disconnect : internetverbinding verbreken wanneer reeds verbonden\n"
+"--force : met (dis)connect: verbinden/verbreken forceren.\n"
+"--status : geeft 1 als verbonden, anders 0 en sluit af\n"
+"--quiet : niet interactief. Te gebruiken met (dis)connect."
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+"[OPTION]...\n"
+" --no-confirmation eerste bevestigingsvraag niet stellen in Mandriva "
+"Update modus\n"
+" --no-verify-rpm pakket-handtekeningen niet verifiëren\n"
+" --changelog-first veranderingenlogboek voor bestandslijst weergeven "
+"in omschrijvingsvenster\n"
+" --merge-all-rpmnew voorstellen om alle gevonden .rpmnew/.rpmsave "
+"bestanden samen te voegen"
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=app] [--update-sane=sane_bron_map] [--update-usbtable] "
+"[--dynamic=app]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [alles]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolutie"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Gebruik: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Alle servers"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Wereldwijd"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Azië"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Noord Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oceanië"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Zuid-Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hong Kong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Rusland"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Joegoslavië"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Is dit correct?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Geen bestand gekozen"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "U heeft een bestand gekozen in plaats van een map"
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "U heeft een map gekozen in plaats van een bestand"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Map bestaat niet"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Bestand bestaat niet"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Boom uitklappen"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Boom inklappen"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Schakelen tussen gewoon en per-groep-gesorteerd"
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s is niet geïnstalleerd\n"
+"Klik op \"Volgende\" om te installeren of \"Annuleren\" om af te sluiten"
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Installatie mislukt"
+
+#~ msgid "Icon"
+#~ msgstr "Pictogram"
+
+#~ msgid "Number of capture buffers:"
+#~ msgstr "Aantal opnamebuffers:"
+
+#~ msgid "number of capture buffers for mmap'ed capture"
+#~ msgstr "aantal opnamebuffers voor mmap-opname:"
+
+#~ msgid "PLL setting:"
+#~ msgstr "PLL instelling:"
+
+#~ msgid "Radio support:"
+#~ msgstr "Radio ondersteuning:"
+
+#~ msgid "enable radio support"
+#~ msgstr "activeer radio ondersteuning"
+
+#~ msgid " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
+#~ msgstr " [--skiptest] [--cups] [--lprng] [--lpd] [--pdq]"
diff --git a/perl-install/share/po/nn.po b/perl-install/share/po/nn.po
new file mode 100644
index 000000000..64a61483b
--- /dev/null
+++ b/perl-install/share/po/nn.po
@@ -0,0 +1,6527 @@
+# translation of libDrakX.po to Norwegian Nynorsk
+# Translation of nn to Norwegian Nynorsk
+# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# Karl Ove Hufthammer <karl@huftis.org>, 2004, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: libDrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2007-03-07 20:08+0100\n"
+"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
+"Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "Vent litt "
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "Installerer oppstartslastar"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO ønskjer å tildela ein ny volum-ID til stasjon «%s». Å byta volum-ID på "
+"ein Windows NT-, Windows 2000- eller XP-oppstartsdisk er ein fatal Windows-"
+"feil.\n"
+"Denne åtvaringa gjeld ikkje Windows 95, 98 eller NT. \n"
+"Er du sikker på at du vil tildela ein ny volum-ID?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "Klarte ikkje installera oppstartslastar:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"Det kan henda du må endra Open Firmware-oppstartseininga for å bruka "
+"oppstartslastaren. Viss du ikkje oppstartsmenyen når du startar maskina om "
+"att, held nede «Command + Option + O + F» ved omstart, og skriv:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+"Skriv så: shut-down\n"
+"Ved neste omstart skal du då sjå menyen."
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"Du har valt å installera oppstartslastaren på ein partisjon.\n"
+"Dette betyr at du allereie har ein oppstartslastar (som System Commander) på "
+"oppstartsdisken.\n"
+"\n"
+"Kven av diskane er oppstartsdisk?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "Første sektor på stasjonen (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "Første sektor på rotpartisjonen"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "På ein diskett"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "Hopp over"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO-/grub-installering"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "Kor vil du installera oppstartslastaren?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "Oppsettype"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "Hovudval for oppstartslastar"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "Oppstartslastar"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "Oppstartslastar"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "Oppstartseining"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr "Hovudval"
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "Ventetid før oppstart med standardbilete"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "Bruk ACPI"
+
+#: any.pm:307
+#, c-format
+msgid "Enable APIC"
+msgstr "Bruk APIC"
+
+#: any.pm:308
+#, c-format
+msgid "Enable Local APIC"
+msgstr "Bruk lokal APIC"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "Passord"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "Passorda er ikkje like"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "Prøv igjen"
+
+#: any.pm:313
+#, c-format
+msgid "You can not use a password with %s"
+msgstr "Du kan ikkje bruka eit passord som inneheld «%s»."
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "Passord (på nytt)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "Avgrens kommandolinjeval"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "avgrens"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "Valet «Avgrens kommandolinjeval» er ubrukeleg utan passord"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "Tøm «/tmp» ved kvar oppstart"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "Nøyaktig minnestorleik om nødvendig (fann %d MiB)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "Minnestorleik i MiB"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Startmelding"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "Pause for Open Firmware"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "Tidsgrense for kjerneoppstart"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "Skal det vera mogleg å starta opp frå CD?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "Skal det vera mogleg å starta opp frå Open Firmware?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "Standardoperativsystem?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "Bilete"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "Rot"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "Legg til"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr "Xen-tillegg"
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "Videomodus"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "Nettverksprofil"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "Merkelapp"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "Standard"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "Ingen video"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "Kan ikkje ha tom merkelapp"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "Du må velja ein kjerne"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "Du må velja ein rotpartisjon"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "Merkelappen er allereie brukt"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "Kva type oppføring vil du leggja til?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "Linux"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "Anna operativsystem (SunOS …)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "Anna operativsystem (MacOS …)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "Anna operativsystem (Windows …)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"Her er oppføringane på oppstartsmenyen.\n"
+"Du kan leggja til fleire, eller endra dei som er der."
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "tilgang til X-program"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "tilgang til rpm-verktøy"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "godta «su»"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "tilgang til administrative filer"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "tilgang til nettverksverktøy"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "tilgang til kompileringsverktøy"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(allereie lagt til «%s»)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "Skriv inn brukarnamn"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr ""
+"Brukarnamnet kan berre innehelda små bokstavar, tala og teikna «-» og «_»"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "Brukarnamnet er for langt"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "Brukarnamnet finst allereie"
+
+#: any.pm:661 any.pm:689
+#, c-format
+msgid "User ID"
+msgstr "Brukar-ID"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "Gruppe-ID"
+
+#: any.pm:665
+#, c-format
+msgid "%s must be a number"
+msgstr "%s må vera eit tal."
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr "%s må vera over 500. Vil du likevel bruka dette?"
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "Legg til brukarar"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"Skriv inn ny brukar\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "Ferdig"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "Godta brukar"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "Fullt namn"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "Brukarnamn:"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "Skal"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "Automatisk innlogging"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "Du kan automatisk logga på standardbrukaren ved oppstart."
+
+#: any.pm:737
+#, c-format
+msgid "Use this feature"
+msgstr "Bruk denne funksjonen"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "Vel standardbrukar:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "Vel vindaugsbehandlar:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "Lisensavtale"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "Avslutt"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "Versjonsnotat"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "Godta"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "Ikkje godta"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "Vel språk."
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "Språkval"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"Mandriva Linux støttar fleire språk. Her\n"
+"kan du velja kva språk du vil ha tilgjengeleg."
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr "Fleire språk"
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr "Gammal kompatibilitetskoding (ikkje UTF-8)"
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "Alle språk"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "Land/område"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "Vel land."
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "Her er heile lista over land"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "Andre land"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "Avansert"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "Skrivemetode:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "Ingen"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "Inga deling"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "Tillèt alle brukarar"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "Sjølvvald"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"Vil du la brukarane kunna dela nokre av mappene deira?\n"
+"Dei kan då trykka «Del» i Konqueror eller Nautilus på mappene dei ønskjer å "
+"dela.\n"
+"\n"
+"Med «Eigendefinert» kan du velja oppsett for kvar brukar for seg.\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr ""
+"NFS: Det tradisjonelle Unix-fildelingssystemet, og dårleg støtta på Mac og "
+"Windows."
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Eit fildelingssystem brukt i Windows, Mac OS X og i fleire moderne "
+"Linux-system."
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "Du kan eksportera med NFS og SMB. Vel kven av dei du vil bruka."
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "Set opp brukarar"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "Lukk"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"Dei brukarspesifikke delingsinnstillingane brukar gruppa\n"
+"«fileshare». Du kan bruka brukaroppsettprogrammet til\n"
+"å leggja til brukarar her."
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "Logg ut og bruk «Ctrl + Alt + Rettetast»."
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "Du må logga ut for at endringane skal trå i kraft."
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "Tidssone"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "I kva tidssone held du til?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr "Dato, klokkeslett og tidssone"
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr "Kva er den beste tida?"
+
+#: any.pm:1231
+#, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "%s (maskinvareklokka er sett til UTC)"
+
+#: any.pm:1232
+#, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "%s (maskinvareklokka er sett til lokaltid)"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP-tenar"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "Automatisk tidssynkronisering (med NTP)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "Lokal fil"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "Smart-kort"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows-domene"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "Active Directory med SFU"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Active Directory med Winbind"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "Lokal fil:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr ""
+"Bruk lokal for all autentisering og informasjon brukarar oppgjev i lokal fil"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"Ber maskina bruka LDAP for noko eller all autentisering. LDAP sameiner visse "
+"typar informasjon innan organisasjonen."
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"Lar deg køyra ei gruppe datamaskiner i same nettverksinformasjonsdomene "
+"(NIS), med felles passord og gruppefil."
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows-domene:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind lèt systemet henta informasjon og autentisera brukarar i Windows-"
+"domene."
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "Active Directory med SFU:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr "Med Kerberos og Ldap for autotentisering i Active Directory-tenar "
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Active Directory med Winbind:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+"Winbind lèt systemet henta informasjon og autentisera brukarar i Windows "
+"Active Directory-tenarar."
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "Autentisering for LDAP"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP-grunn-DN"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP-tenar"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "enkel"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "tryggleiksoppsett (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "Autentisering for Active Directory"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "Domene"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "Tenar"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP-brukardatabase"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "Bruk anonym BIND "
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "Tillèt LDAP-brukar å sjå gjennom Active Directory"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "Passord for brukar"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "Autentisering for NS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS-domene"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS-tenar"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"Du må truleg be systemansvarleg køyra følgjande kommando for at dette skal "
+"verka på W2K-PDC-ar: «C:\\>net localgroup \"Pre-Windows 2000 Compatible "
+"Access\" everyone / add». Start så tenaren på nytt.\n"
+"Du treng og brukarnamnet og passordet til ein domeneadministrator for å "
+"kopla maskina til Windows™-domenet.\n"
+"Om maskina ikkje er sett opp til nettverksbruk enno, vil DrakX vil prøva å "
+"kopla til domenet når dette er gjort.\n"
+"Om nettverksoppsettet ikkje er klart, og domeneautentiseringa ikkje "
+"fungerer, kan du etter ein omstart køyra «smbpasswd -j DOMAIN -U USER%%"
+"PASSWORD» med Windows™-domenenamnet og brukarnamnet og passordet til "
+"administratoren.\n"
+"Kommandoen «wbinfo -t» kontrollerer at autentiseringsløyndomen er god nok."
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "Autentisering for Windows-domene"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr "Active Directory-område "
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "Brukarnamn for domeneadministrator"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "Passord for domeneadministrator"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "Autentisering"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "Vel passord for systemansvarleg («root»)"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "Autentiseringsmetode"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "Ingen passord"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "Passordet er for kort (det må ha minst %d teikn)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "Kan ikkje kringkasta utan NIS-domene"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Velkommen!\n"
+"\n"
+"Vel eit operativsystem fraa lista ovanfor,\n"
+"eller vent (for standard operativsystem).\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "LILO med tekstmeny"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr "GRUB med grafisk meny"
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr "GRUB med tekstmeny"
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr "SILO"
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "Ikkje nok plass på «/boot»"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "Du kan ikkje installera oppstartslastaren på ein «%s»-partisjon\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"Oppstartslastaren må oppdaterast, då partisjonane har fått ny rekkjefølgje"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"Klarte ikkje installera oppstartslastaren. Du må køyra redningsmodus og "
+"velja «%s»"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "Installer oppstartslastar på nytt"
+
+#: common.pm:129
+#, c-format
+msgid "B"
+msgstr "B"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "KiB"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "MiB"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "GiB"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "TiB"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d minutt"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 minutt"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d sekund"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr "Kommandoen %s manglar"
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV er ein protokoll som gjer at du kan montera ei mappe\n"
+"på ein vevtenar lokalt, og bruka ho som ei vanleg mappe. Dette\n"
+"verkar berre viss vevtenaren er sette opp som ein WebDAV-tenar.\n"
+"Vel «Ny» om du ønskjer å montera WebDAV-mapper."
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "Ny"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "Avmonter"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "Monter"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "Monteringspunkt"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "Val"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "Feil"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "Skriv inn WebDAV-tenaradresse"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL-en må begynna med «http://» eller «https://»"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "Tenar: "
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "Monteringspunkt: "
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "Val: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "Partisjonering"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "Les nøye!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "Reservekopier alle viktige data først"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "Avslutt"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "Hald fram"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"Viss du skal bruka aboot må du hugsa å lata det vera litt ledig plass\n"
+"(2048 sektorar er nok) på begynnelsen av disken"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "Hjelp"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "Vel handling"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"Du har éin stor Microsoft Windows-partisjon.\n"
+"Du bør først endra storleiken på denne\n"
+"(trykk på han og vel «Endra storleik»)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "Trykk på ein partisjon"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "Vis detaljar"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "Fann ingen harddiskar"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "Ukjend"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "Journalfilsystem"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "Vekslepartisjon"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "Anna"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "Tom"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "Filsystemtypar:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "Åtvaring"
+
+#: diskdrake/hd_gtk.pm:380
+#, c-format
+msgid "This partition is already empty"
+msgstr "Denne partisjonen er allereie tom."
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "Bruk «Avmonter» først"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "Bruk «%s» i stadenfor"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "Type"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "Vel ein annan partisjon"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "Vel partisjon"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "Angra"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "Skift til normalmodus"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "Skift til ekspertmodus"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, c-format
+msgid "Confirmation"
+msgstr "Stadfesting"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "Vil du likevel halda fram?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "Avslutt utan å lagra"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "Vil du avslutta utan å lagra partisjontabellen?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "Vil du lagra endringar i «/etc/fstab»"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr ""
+"Du må starta på nytt for at endringane i partisjontabellen skal trå i kraft"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"Du bør formatera partisjonen «%s».\n"
+"Om du ikkje gjer dette, vert det ikkje lagt til ei oppføring for "
+"monteringspunktet «%s» i «fstab».\n"
+"Vil du likevel avslutta?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "Fjern alle"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "Tildel automatisk"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "Meir"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "Harddiskinformasjon"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "Alle primærpartisjonane er brukt"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "Kan ikkje legga til fleire partisjonar"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr ""
+"Du har fleire partisjonar. Du må først sletta éin av dei for å kunna laga "
+"ein utvida partisjon."
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr "Inga supermontering"
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr "Supermontering"
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr "Supermontering med unntak av CD-ROM-stasjonar"
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "Lagra partisjonstabell"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "Opna partisjonstabell"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "Redd partisjonstabell"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "Last partisjonstabell på nytt"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "Automontering av fjernbare medium"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "Vel fil"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"Partisjonstabellenkopien har ikkje same storleik.\n"
+"Vil du likevel halda fram?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "Prøver å redda partisjonstabell"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "Detaljert informasjon"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "Endra storleik"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "Formater"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "Legg til i RAID"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "Legg til i LVM"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "Slett"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "Fjern frå RAID"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "Fjern frå LVM"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "Endra RAID"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "Bruk til filmontering"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "Opprett"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "Lag ny partisjon"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "Startsektor: "
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "Storleik i MiB: "
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "Filsystemtype: "
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "Innstilling: "
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "Logisk volumnamn"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"Du kan ikkje laga ein ny partisjon\n"
+"(sidan du har nådd grensa på talet på partisjonar).\n"
+"Du må først fjerna ein primærpartisjon, og så laga ein utvida partisjon."
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "Vil du fjerna filmonteringsfila?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr ""
+"Når du har endra partisjonstypen til «%s» vil alle data på denne partisjonen "
+"vera tapt"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "Endra partisjonstype"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "Kva filsystem vil du ha?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "Byter frå «ext2» til «ext3»"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr "Kva volumnamn?"
+
+#: diskdrake/interactive.pm:641
+#, c-format
+msgid "Label:"
+msgstr "Merkelapp:"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "Kor vil du montera filmonteringsfila «%s»?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "Kor vil du montera eininga «%s»?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"Klarte ikkje fjerna monteringspunkt, då partisjonen er brukt\n"
+"til filmontering. Du må først fjerna filmonteringsfila."
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "Kor vil du montera «%s»?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "Endrar storleik"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "Reknar ut grenser for FAT-filsystem"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "Kan ikkje endra storleik på partisjonenen"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "Du bør ta reservekopi av alle data på denne partisjonen"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr ""
+"Når du har endra storleik på «%s» vil alle data på denne partisjonen vera "
+"tapt"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "Vel ny storleik"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "Ny storleik i MiB: "
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr "Minste storleik: %s MB"
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr "Største storleik: %s MB"
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"For å sikra dataintegritet på partisjonen/-ane\n"
+"vert det køyrt filsystemkontroll neste gongar du startar Windows™"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "Vel ein eksisterande RAID å leggja til i"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ny"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "Vel ein eksisterande LVM å leggja til i"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM-namn?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+"Det fysiske volumet «%s» er framleis i bruk.\n"
+"Vil du flytta brukte fysiske område på dette volumet til andre volum?"
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr "Flytting av fysiske område"
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "Partisjonen kan ikkje brukast til filmontering."
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "Filmontering"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "Filmonteringsfil: "
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "Skriv inn filnamn"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "Fila er allereie brukt til filmontering. Vel ei anna fil."
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "Fila finst allereie. Vil du bruka ho?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "Monteringsval"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "Ymse"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "eining"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "nivå"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "blokkstorleik i KiB"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "Åtvaring: Denne operasjonen er farleg."
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "Kva type partisjonering?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "Du må starta på nytt for at endringane skal trå i kraft"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "Partisjonstabellen til «%s» vert no lagra."
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "Når du har formatert «%s» vil alle data på denne partisjonen vera tapt"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "Sjå etter øydelagde blokkar?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "Flytt filer til ny partisjon"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "Skjul filer"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+"Mappa «%s» inneheld allereie data.\n"
+"(%s)\n"
+"\n"
+"Du kan velje mellom å flytta filene til partisjonen som vert montert der, "
+"eller la dei verta verande der dei er (resultatet er at dei vert skjult av "
+"innhaldet på den monterte partisjonen)."
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "Flyttar filer til ny partisjon"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "Kopierer «%s»"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "Fjernar «%s»"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "Partisjonen «%s» har no namnet «%s»"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "Partisjonane har fått nye nummer: "
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "Eining: "
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "Namn på dataområde:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS-stasjonsbokstav: %s (berre gjetting)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "Type: "
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "Namn: "
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "Start: sektor %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "Storleik: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s sektorar"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "Sylinder %d til %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr "Talet på logiske område: %d\n"
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "Formatert\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "Ikkje formatert\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "Montert\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"Filmonteringsfil(er):\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"Partisjon starta opp som standard\n"
+" (for MS-DOS-oppstart – ikkje for lilo)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "Nivå %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Blokkstorleik %d KiB\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-diskar %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "Filmonteringsfil: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"Denne partisjonen er truleg\n"
+"ein drivarpartisjon. Då bør\n"
+"du ikkje røra han.\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"Denne spesielle\n"
+"oppstartslastarpartisjonen\n"
+"er for fleirsystemoppsett.\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr "Ledig plass på %s (%s)"
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "Skrivebeskytta"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "Storleik: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "Geometri: %s sylindrar – %s hovud – %s sektorar\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "Informasjon: "
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-diskar %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "Partisjonstabelltype: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "på kanal %d – id %d\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "Krypteringsnøkkel for filsystem"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "Vel krypteringsnøkkel for filsystemet"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "Krypteringsnøkkelen er for enkel. Han må vera på minst %d teikn."
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "Krypteringsnøklane er ikkje like"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "Krypteringsnøkkel"
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "Krypteringsnøkkel (på nytt)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "Krypteringsalgoritme"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "Endra type"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "Avbryt"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "Klarte ikkje logga på med brukarnamnet «%s» (feil passord?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "Treng domeneautentisering"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "Kva brukarnamn"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Another one"
+msgstr "Endå ein"
+
+#: diskdrake/smbnfs_gtk.pm:178
+#, c-format
+msgid ""
+"Please enter your username, password and domain name to access this host."
+msgstr "Skriv inn brukarnamn, passord og domenenamn for verten."
+
+#: diskdrake/smbnfs_gtk.pm:180
+#, c-format
+msgid "Username"
+msgstr "Brukarnamn"
+
+#: diskdrake/smbnfs_gtk.pm:206
+#, c-format
+msgid "Search servers"
+msgstr "Søk etter tenarar"
+
+#: diskdrake/smbnfs_gtk.pm:211
+#, c-format
+msgid "Search new servers"
+msgstr "Søk etter nye tenarar"
+
+#: do_pkgs.pm:16 do_pkgs.pm:53
+#, c-format
+msgid "The package %s needs to be installed. Do you want to install it?"
+msgstr "Pakken «%s» må installerast. Vil du installera han no?"
+
+#: do_pkgs.pm:19 do_pkgs.pm:40 do_pkgs.pm:56
+#, c-format
+msgid "Could not install the %s package!"
+msgstr "Klarte ikkje installera pakken «%s»."
+
+#: do_pkgs.pm:24 do_pkgs.pm:61
+#, c-format
+msgid "Mandatory package %s is missing"
+msgstr "Manglar den obligatoriske pakken «%s»"
+
+#: do_pkgs.pm:35
+#, c-format
+msgid "The following packages need to be installed:\n"
+msgstr "Desse pakkane må installerast:\n"
+
+#: do_pkgs.pm:209
+#, c-format
+msgid "Installing packages..."
+msgstr "Installerer pakkar …"
+
+#: do_pkgs.pm:255
+#, c-format
+msgid "Removing packages..."
+msgstr "Fjernar pakkar …"
+
+#: fs/any.pm:17
+#, c-format
+msgid ""
+"An error occurred - no valid devices were found on which to create new "
+"filesystems. Please check your hardware for the cause of this problem"
+msgstr ""
+"Det oppstod ein feil: Fann ingen gyldige einingar for nytt filsystem. "
+"Kontroller maskinvaren."
+
+#: fs/any.pm:62 fs/partitioning_wizard.pm:55
+#, c-format
+msgid "You must have a FAT partition mounted in /boot/efi"
+msgstr "Du må ha ein FAT-partisjon montert i «/boot/efi»"
+
+#: fs/format.pm:59 fs/format.pm:66
+#, c-format
+msgid "Formatting partition %s"
+msgstr "Formaterer partisjonen «%s»"
+
+#: fs/format.pm:63
+#, c-format
+msgid "Creating and formatting file %s"
+msgstr "Lagar og formaterer partisjonen «%s»"
+
+#: fs/format.pm:116
+#, c-format
+msgid "I do not know how to format %s in type %s"
+msgstr "Kan ikkje formatera «%s» som type «%s»"
+
+#: fs/format.pm:121 fs/format.pm:123
+#, c-format
+msgid "%s formatting of %s failed"
+msgstr "%s-formatering av %s mislukka"
+
+#: fs/loopback.pm:24
+#, c-format
+msgid "Circular mounts %s\n"
+msgstr "Sirkelmontering %s\n"
+
+#: fs/mount.pm:79
+#, c-format
+msgid "Mounting partition %s"
+msgstr "Monterer partisjonen «%s»"
+
+#: fs/mount.pm:80
+#, c-format
+msgid "mounting partition %s in directory %s failed"
+msgstr "Klarte ikkje montera partisjonen «%s» i mappa «%s»"
+
+#: fs/mount.pm:85 fs/mount.pm:102
+#, c-format
+msgid "Checking %s"
+msgstr "Kontrollerer «%s»"
+
+#: fs/mount.pm:118 partition_table.pm:384
+#, c-format
+msgid "error unmounting %s: %s"
+msgstr "Feil ved avmontering av «%s»: %s"
+
+#: fs/mount.pm:133
+#, c-format
+msgid "Enabling swap partition %s"
+msgstr "Slår på vekslepartisjonen «%s»"
+
+#: fs/mount_options.pm:113
+#, c-format
+msgid "Use an encrypted file system"
+msgstr "Bruk kryptert filsystem"
+
+#: fs/mount_options.pm:115
+#, c-format
+msgid "Enable group disk quota accounting and optionally enforce limits"
+msgstr "Bruk gruppekvoter og handhev grenser (valfritt)."
+
+#: fs/mount_options.pm:117
+#, c-format
+msgid ""
+"Do not update inode access times on this file system\n"
+"(e.g, for faster access on the news spool to speed up news servers)."
+msgstr "Ikkje oppdater tilgangstider på inodar på filsystemet."
+
+#: fs/mount_options.pm:120
+#, c-format
+msgid ""
+"Can only be mounted explicitly (i.e.,\n"
+"the -a option will not cause the file system to be mounted)."
+msgstr ""
+"Kan berre monterast eksplisitt (for eksempel vil\n"
+"ikkje «-a»-valet montera filsystemet)."
+
+#: fs/mount_options.pm:123
+#, c-format
+msgid "Do not interpret character or block special devices on the file system."
+msgstr "Ikkje tolk teikn- og blokkspesialeiningar på filsystemet."
+
+#: fs/mount_options.pm:125
+#, c-format
+msgid ""
+"Do not allow execution of any binaries on the mounted\n"
+"file system. This option might be useful for a server that has file systems\n"
+"containing binaries for architectures other than its own."
+msgstr ""
+"Ikkje tillèt køyring av programfiler på det monterte\n"
+"filsystemet. Dette valet kan vera nyttig for tenarar som\n"
+"har filsystem med programfiler for andre operativsystem."
+
+#: fs/mount_options.pm:129
+#, c-format
+msgid ""
+"Do not allow set-user-identifier or set-group-identifier\n"
+"bits to take effect. (This seems safe, but is in fact rather unsafe if you\n"
+"have suidperl(1) installed.)"
+msgstr ""
+"Ikkje tillèt «set-user-identifier»- og «set-group-identifier»-bitane\n"
+"å ha nokon verknad. (Dette er ikkje trygt om du ikkje har\n"
+"suidperl(1) installert, sjølv om det kan verka slik.)"
+
+#: fs/mount_options.pm:133
+#, c-format
+msgid "Mount the file system read-only."
+msgstr "Monter filsystemet som skriveverna."
+
+#: fs/mount_options.pm:135
+#, c-format
+msgid "All I/O to the file system should be done synchronously."
+msgstr "All lesing og skriving til filsystemet skal gjerast synkront."
+
+#: fs/mount_options.pm:139
+#, c-format
+msgid "Allow every user to mount and umount the file system."
+msgstr "La alle brukarar montera og avmontera filsystemet."
+
+#: fs/mount_options.pm:141
+#, c-format
+msgid "Allow an ordinary user to mount the file system."
+msgstr "Lèt ein vanleg brukar montera filsystemet."
+
+#: fs/mount_options.pm:143
+#, c-format
+msgid "Enable user disk quota accounting, and optionally enforce limits"
+msgstr "Bruk brukarkvoter og handhev grenser (valfritt)."
+
+#: fs/mount_options.pm:145
+#, c-format
+msgid "Support \"user.\" extended attributes"
+msgstr "Støtt «user.»-baserte utvida attributt"
+
+#: fs/mount_options.pm:147
+#, c-format
+msgid "Give write access to ordinary users"
+msgstr "Gjev skrivetilgang til vanlege brukarar"
+
+#: fs/mount_options.pm:149
+#, c-format
+msgid "Give read-only access to ordinary users"
+msgstr "Gjev berre lesetilgang til vanlege brukarar"
+
+#: fs/mount_point.pm:80
+#, c-format
+msgid "Duplicate mount point %s"
+msgstr "Kopier monteringspunktet «%s»"
+
+#: fs/mount_point.pm:95
+#, c-format
+msgid "No partition available"
+msgstr "Ingen tilgjengelege partisjonar"
+
+#: fs/mount_point.pm:98
+#, c-format
+msgid "Scanning partitions to find mount points"
+msgstr "Ser gjennom partisjonar etter monteringspunkt"
+
+#: fs/mount_point.pm:105
+#, c-format
+msgid "Choose the mount points"
+msgstr "Vel monteringspunkta"
+
+#: fs/partitioning.pm:46
+#, c-format
+msgid "Choose the partitions you want to format"
+msgstr "Vel partisjonane du vil formatera"
+
+#: fs/partitioning.pm:76
+#, c-format
+msgid ""
+"Failed to check filesystem %s. Do you want to repair the errors? (beware, "
+"you can lose data)"
+msgstr ""
+"Klarte ikkje kontrollera filsystemet «%s». Vil du ordna feila? (Merk at du "
+"då kan tapa data.)"
+
+#: fs/partitioning.pm:79
+#, c-format
+msgid "Not enough swap space to fulfill installation, please add some"
+msgstr "Ikkje nok veksleplass for installering. Du må leggja til meir."
+
+#: fs/partitioning_wizard.pm:47
+#, c-format
+msgid ""
+"You must have a root partition.\n"
+"For this, create a partition (or click on an existing one).\n"
+"Then choose action ``Mount point'' and set it to `/'"
+msgstr ""
+"Du må ha ein rotpartisjon.\n"
+"Lag ein ny partisjon (eller vel ein gammal ein),\n"
+"og vel så «Monteringspunkt». Set dette til «/»."
+
+#: fs/partitioning_wizard.pm:52
+#, c-format
+msgid ""
+"You do not have a swap partition.\n"
+"\n"
+"Continue anyway?"
+msgstr ""
+"Du har ingen vekslepartisjon.\n"
+"\n"
+"Vil du likevel halda fram?"
+
+#: fs/partitioning_wizard.pm:80
+#, c-format
+msgid "Use free space"
+msgstr "Bruk ledig plass"
+
+#: fs/partitioning_wizard.pm:82
+#, c-format
+msgid "Not enough free space to allocate new partitions"
+msgstr "Ikkje nok ledig plass til nye partisjonar"
+
+#: fs/partitioning_wizard.pm:90
+#, c-format
+msgid "Use existing partitions"
+msgstr "Bruk gamle partisjonar"
+
+#: fs/partitioning_wizard.pm:92
+#, c-format
+msgid "There is no existing partition to use"
+msgstr "Det finst ingen gammal partisjon å bruka"
+
+#: fs/partitioning_wizard.pm:99
+#, c-format
+msgid "Use the Microsoft Windows® partition for loopback"
+msgstr "Bruk Microsoft Windows®-partisjonen til filmontering"
+
+#: fs/partitioning_wizard.pm:102
+#, c-format
+msgid "Which partition do you want to use for Linux4Win?"
+msgstr "Kva partisjon vil du bruka for Linux4Win?"
+
+#: fs/partitioning_wizard.pm:104
+#, c-format
+msgid "Choose the sizes"
+msgstr "Vel storleikar"
+
+#: fs/partitioning_wizard.pm:105
+#, c-format
+msgid "Root partition size in MB: "
+msgstr "Storleik på rotpartisjon i MiB: "
+
+#: fs/partitioning_wizard.pm:106
+#, c-format
+msgid "Swap partition size in MB: "
+msgstr "Storleik på vekslepartisjon i MiB: "
+
+#: fs/partitioning_wizard.pm:115
+#, c-format
+msgid "There is no FAT partition to use as loopback (or not enough space left)"
+msgstr ""
+"Det finst ingen FAT-partisjon som kan brukast til filmontering (eller det er "
+"ikkje nok ledig plass)"
+
+#: fs/partitioning_wizard.pm:122
+#, c-format
+msgid "Use the free space on the Microsoft Windows® partition"
+msgstr "Bruk ledig plass på Windows-partisjon"
+
+#: fs/partitioning_wizard.pm:124
+#, c-format
+msgid "Which partition do you want to resize?"
+msgstr "Kva partisjon vil du endra storleik på?"
+
+#: fs/partitioning_wizard.pm:138
+#, c-format
+msgid ""
+"The FAT resizer is unable to handle your partition, \n"
+"the following error occurred: %s"
+msgstr ""
+"Klarte ikkje endra storleik på partisjonen:\n"
+"%s"
+
+#: fs/partitioning_wizard.pm:141
+#, c-format
+msgid "Computing the size of the Microsoft Windows® partition"
+msgstr "Reknar ut storleik på Microsoft Windows®-partisjon"
+
+#: fs/partitioning_wizard.pm:148
+#, c-format
+msgid ""
+"Your Microsoft Windows® partition is too fragmented. Please reboot your "
+"computer under Microsoft Windows®, run the ``defrag'' utility, then restart "
+"the Mandriva Linux installation."
+msgstr ""
+"Microsoft Windows®-partisjonen for fragmentert. Start maskina på nytt under "
+"Microsoft Windows®, og køyr defragmenteringsverktøyet. Prøv så å installera "
+"Mandriva Linux på nytt."
+
+#: fs/partitioning_wizard.pm:151
+#, c-format
+msgid ""
+"WARNING!\n"
+"\n"
+"\n"
+"Your Microsoft Windows® partition will be now resized.\n"
+"\n"
+"\n"
+"Be careful: this operation is dangerous. If you have not already done so, "
+"you first need to exit the installation, run \"chkdsk c:\" from a Command "
+"Prompt under Microsoft Windows® (beware, running graphical program \"scandisk"
+"\" is not enough, be sure to use \"chkdsk\" in a Command Prompt!), "
+"optionally run defrag, then restart the installation. You should also backup "
+"your data.\n"
+"\n"
+"\n"
+"When sure, press %s."
+msgstr ""
+"ÅTVARING!\n"
+"\n"
+"\n"
+"Du er no i ferd med å endra storleiken på Windows-partisjonen.\n"
+"\n"
+"\n"
+"Dette er ein farleg operasjon. Om du ikkje allereie har gjort det, bør du "
+"avslutta installasjonen, køyra «chkdsk c:» frå kommandolinja i Windows (det "
+"grafiske programmet «scandisk» er ikkje nok), etterfølgt av defragmentering, "
+"og starta installasjonen på nytt. Du bør òg ta ein reservekopi av alle "
+"data.\n"
+"\n"
+"\n"
+"Trykk «%s» når du er klar."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: fs/partitioning_wizard.pm:160 interactive.pm:538 interactive/curses.pm:217
+#: ugtk2.pm:508
+#, c-format
+msgid "Next"
+msgstr "Neste"
+
+#: fs/partitioning_wizard.pm:163
+#, c-format
+msgid "Which size do you want to keep for Microsoft Windows® on partition %s?"
+msgstr "Kva storleik vil du behalda for Microsoft Windows® på partisjon %s?"
+
+#: fs/partitioning_wizard.pm:164
+#, c-format
+msgid "Size"
+msgstr "Storleik"
+
+#: fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing Microsoft Windows® partition"
+msgstr "Endrar storleik på Microsoft Windows®-partisjon"
+
+#: fs/partitioning_wizard.pm:178
+#, c-format
+msgid "FAT resizing failed: %s"
+msgstr "Klarte ikkje krympa/auka FAT: %s"
+
+#: fs/partitioning_wizard.pm:193
+#, c-format
+msgid "There is no FAT partition to resize (or not enough space left)"
+msgstr ""
+"Finn ingen FAT-partisjon å endra storleik på (eller det er ikkje nok ledig "
+"plass)."
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Remove Microsoft Windows®"
+msgstr "Fjern Windows™"
+
+#: fs/partitioning_wizard.pm:198
+#, c-format
+msgid "Erase and use entire disk"
+msgstr "Slett og bruk heile disken"
+
+#: fs/partitioning_wizard.pm:200
+#, c-format
+msgid "You have more than one hard drive, which one do you install linux on?"
+msgstr "Du har meir enn éin harddisk. Kven av dei vil du installera Linux på?"
+
+#: fs/partitioning_wizard.pm:206
+#, c-format
+msgid "ALL existing partitions and their data will be lost on drive %s"
+msgstr "Alle eksisterande partisjonar og data går tapt på stasjon «%s»."
+
+#: fs/partitioning_wizard.pm:217
+#, c-format
+msgid "Custom disk partitioning"
+msgstr "Eigendefinert partisjonering"
+
+#: fs/partitioning_wizard.pm:223
+#, c-format
+msgid "Use fdisk"
+msgstr "Bruk fdisk"
+
+#: fs/partitioning_wizard.pm:226
+#, c-format
+msgid ""
+"You can now partition %s.\n"
+"When you are done, do not forget to save using `w'"
+msgstr ""
+"Du kan no partisjonera «%s».\n"
+"Hugs å lagra med «w» når du er ferdig."
+
+#: fs/partitioning_wizard.pm:266
+#, c-format
+msgid "I can not find any room for installing"
+msgstr "Ikkje nok plass for installering"
+
+#: fs/partitioning_wizard.pm:270
+#, c-format
+msgid "The DrakX Partitioning wizard found the following solutions:"
+msgstr "Partisjonsvegvisaren fann følgjande løysingar:"
+
+#: fs/partitioning_wizard.pm:278
+#, c-format
+msgid "Partitioning failed: %s"
+msgstr "Feil ved partisjonering: %s"
+
+#: fs/type.pm:366
+#, c-format
+msgid "You can not use JFS for partitions smaller than 16MB"
+msgstr "Du kan ikkje bruka JFS på partisjonar mindre enn 16 MiB"
+
+#: fs/type.pm:367
+#, c-format
+msgid "You can not use ReiserFS for partitions smaller than 32MB"
+msgstr "Du kan ikkje bruka ReiserFS på partisjonar mindre enn 32 MiB"
+
+#: fsedit.pm:27
+#, c-format
+msgid "with /usr"
+msgstr "med «/usr»"
+
+#: fsedit.pm:32
+#, c-format
+msgid "server"
+msgstr "tenar"
+
+#: fsedit.pm:116
+#, c-format
+msgid "BIOS software RAID detected on disks %s. Activate it?"
+msgstr "Fann BIOS-programvare-RAID på diskane %s. Vil du bruka dette?"
+
+#: fsedit.pm:230
+#, c-format
+msgid ""
+"I can not read the partition table of device %s, it's too corrupted for me :"
+"(\n"
+"I can try to go on, erasing over bad partitions (ALL DATA will be lost!).\n"
+"The other solution is to not allow DrakX to modify the partition table.\n"
+"(the error is %s)\n"
+"\n"
+"Do you agree to lose all the partitions?\n"
+msgstr ""
+"Klarte ikkje lesa partisjonstabellen for eininga «%s», då han er\n"
+"altfor øydelagd. Du kan velja å sletta alle øydelagde partisjonar.\n"
+"Alle data går då tapt. Ei anna løysing er å ikkje la DrakX endra\n"
+"partisjonstabellen. Feilen er «%s».\n"
+"\n"
+"Godtek du å sletta alle partisjonane?\n"
+
+#: fsedit.pm:403
+#, c-format
+msgid "Mount points must begin with a leading /"
+msgstr "Alle monteringspunkt må starta med teiknet «/»"
+
+#: fsedit.pm:404
+#, c-format
+msgid "Mount points should contain only alphanumerical characters"
+msgstr "Monteringspunkt kan berre innhelda tal og bokstavar"
+
+#: fsedit.pm:405
+#, c-format
+msgid "There is already a partition with mount point %s\n"
+msgstr "Det finst allereie ein partisjon med monteringspunktet «%s»\n"
+
+#: fsedit.pm:409
+#, c-format
+msgid ""
+"You've selected a software RAID partition as root (/).\n"
+"No bootloader is able to handle this without a /boot partition.\n"
+"Please be sure to add a /boot partition"
+msgstr ""
+"Du har valt programvare-RAID-partisjon som rot («/»).\n"
+"Ingen oppstartslastar kan bruka denne utan ein «/boot»-partisjon.\n"
+"Hugs derfor å leggja til ein «/boot»-partisjon òg."
+
+#: fsedit.pm:415
+#, c-format
+msgid ""
+"You can not use the LVM Logical Volume for mount point %s since it spans "
+"physical volumes"
+msgstr ""
+"Du kan ikkje bruka eit LVM-basert logisk volum for monteringspunktet «%s», "
+"då volumet dekkjer fleire fysiske volum."
+
+#: fsedit.pm:417
+#, c-format
+msgid ""
+"You've selected the LVM Logical Volume as root (/).\n"
+"The bootloader is not able to handle this when the volume spans physical "
+"volumes.\n"
+"You should create a /boot partition first"
+msgstr ""
+"Du har vald eit LVM-basert logisk volum som rot («/»).\n"
+"Oppstartslastaren kan ikkje handtera dette når volumet dekkjer fleire "
+"fysiske volum.\n"
+"Du bør derfor laga ein «/boot»-partisjon først."
+
+#: fsedit.pm:421 fsedit.pm:423
+#, c-format
+msgid "This directory should remain within the root filesystem"
+msgstr "Denne mappa bør bli verande i rotfilsystemet"
+
+#: fsedit.pm:425 fsedit.pm:427
+#, c-format
+msgid ""
+"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
+"point\n"
+msgstr ""
+"Du treng eit ekte filsystem(«ext2», «ext3», «reiserfs», «xfs» eller «jfs») "
+"for dette monteringspunktet\n"
+
+#: fsedit.pm:429
+#, c-format
+msgid "You can not use an encrypted file system for mount point %s"
+msgstr "Du kan ikkje bruka eit kryptert filsystem for monteringspunktet «%s»"
+
+#: fsedit.pm:493
+#, c-format
+msgid "Not enough free space for auto-allocating"
+msgstr "Ikkje nok ledig plass for automatisk oppsett"
+
+#: fsedit.pm:495
+#, c-format
+msgid "Nothing to do"
+msgstr "Ingenting å gjera"
+
+#: harddrake/data.pm:62
+#, c-format
+msgid "Floppy"
+msgstr "Diskett"
+
+#: harddrake/data.pm:72
+#, c-format
+msgid "Zip"
+msgstr "Zip"
+
+#: harddrake/data.pm:88
+#, c-format
+msgid "Hard Disk"
+msgstr "Hard Disk"
+
+#: harddrake/data.pm:97
+#, c-format
+msgid "CDROM"
+msgstr "CD-ROM"
+
+#: harddrake/data.pm:107
+#, c-format
+msgid "CD/DVD burners"
+msgstr "CD- og DVD-brennarar"
+
+#: harddrake/data.pm:117
+#, c-format
+msgid "DVD-ROM"
+msgstr "DVD-ROM"
+
+#: harddrake/data.pm:127
+#, c-format
+msgid "Tape"
+msgstr "Band"
+
+#: harddrake/data.pm:138
+#, c-format
+msgid "AGP controllers"
+msgstr "AGP-kontrollarar"
+
+#: harddrake/data.pm:147
+#, c-format
+msgid "Videocard"
+msgstr "Skjermkort"
+
+#: harddrake/data.pm:157
+#, c-format
+msgid "DVB card"
+msgstr "DVB-kort"
+
+#: harddrake/data.pm:165
+#, c-format
+msgid "Tvcard"
+msgstr "Fjernsynskort"
+
+#: harddrake/data.pm:174
+#, c-format
+msgid "Other MultiMedia devices"
+msgstr "Andre multimedieeiningar"
+
+#: harddrake/data.pm:183
+#, c-format
+msgid "Soundcard"
+msgstr "Lydkort"
+
+#: harddrake/data.pm:196
+#, c-format
+msgid "Webcam"
+msgstr "Vevkamera"
+
+#: harddrake/data.pm:210
+#, c-format
+msgid "Processors"
+msgstr "Prosessorar"
+
+#: harddrake/data.pm:220
+#, c-format
+msgid "ISDN adapters"
+msgstr "ISDN-kort"
+
+#: harddrake/data.pm:231
+#, c-format
+msgid "USB sound devices"
+msgstr "USB-lydeiningar"
+
+#: harddrake/data.pm:240
+#, c-format
+msgid "Radio cards"
+msgstr "Radiokort"
+
+#: harddrake/data.pm:249
+#, c-format
+msgid "ATM network cards"
+msgstr "ATM-nettverkskort"
+
+#: harddrake/data.pm:258
+#, c-format
+msgid "WAN network cards"
+msgstr "WAN-nettverkskort"
+
+#: harddrake/data.pm:267
+#, c-format
+msgid "Bluetooth devices"
+msgstr "Bluetooth-einingar"
+
+#: harddrake/data.pm:276
+#, c-format
+msgid "Ethernetcard"
+msgstr "Nettverkskort"
+
+#: harddrake/data.pm:293
+#, c-format
+msgid "Modem"
+msgstr "Modem"
+
+#: harddrake/data.pm:303
+#, c-format
+msgid "ADSL adapters"
+msgstr "ADSL-kort"
+
+#: harddrake/data.pm:315
+#, c-format
+msgid "Memory"
+msgstr "Minne"
+
+#: harddrake/data.pm:324
+#, c-format
+msgid "Printer"
+msgstr "Skrivar"
+
+#. -PO: these are joysticks controllers:
+#: harddrake/data.pm:338
+#, c-format
+msgid "Game port controllers"
+msgstr "Spelportkontrollarar"
+
+#: harddrake/data.pm:347
+#, c-format
+msgid "Joystick"
+msgstr "Styrespak"
+
+#: harddrake/data.pm:357
+#, c-format
+msgid "SATA controllers"
+msgstr "SATA-kontrollarar"
+
+#: harddrake/data.pm:366
+#, c-format
+msgid "RAID controllers"
+msgstr "RAID-kontrollarar"
+
+#: harddrake/data.pm:376
+#, c-format
+msgid "(E)IDE/ATA controllers"
+msgstr "(E)IDE/ATA-kontrollarar"
+
+#: harddrake/data.pm:386
+#, c-format
+msgid "USB Mass Storage Devices"
+msgstr "USB-masselagringseningar"
+
+#: harddrake/data.pm:395
+#, c-format
+msgid "Card readers"
+msgstr "Kortlesarar"
+
+#: harddrake/data.pm:404
+#, c-format
+msgid "Firewire controllers"
+msgstr "Firewire-kontrollarar"
+
+#: harddrake/data.pm:413
+#, c-format
+msgid "PCMCIA controllers"
+msgstr "PCMCIA-kontrollarar"
+
+#: harddrake/data.pm:422
+#, c-format
+msgid "SCSI controllers"
+msgstr "SCSI-kontrollarar"
+
+#: harddrake/data.pm:431
+#, c-format
+msgid "USB controllers"
+msgstr "USB-kontrollarar"
+
+#: harddrake/data.pm:440
+#, c-format
+msgid "USB ports"
+msgstr "USB-portar"
+
+#: harddrake/data.pm:449
+#, c-format
+msgid "SMBus controllers"
+msgstr "SMBus-kontrollarar"
+
+#: harddrake/data.pm:458
+#, c-format
+msgid "Bridges and system controllers"
+msgstr "Bruer og systemkontrollarar"
+
+#: harddrake/data.pm:469
+#, c-format
+msgid "Keyboard"
+msgstr "Tastatur"
+
+#: harddrake/data.pm:482
+#, c-format
+msgid "Tablet and touchscreen"
+msgstr "Tavlemaskin og peikeskjerm."
+
+#: harddrake/data.pm:491
+#, c-format
+msgid "Mouse"
+msgstr "Mus"
+
+#: harddrake/data.pm:505
+#, c-format
+msgid "UPS"
+msgstr "UPS"
+
+#: harddrake/data.pm:514
+#, c-format
+msgid "Scanner"
+msgstr "Skannar"
+
+#: harddrake/data.pm:524
+#, c-format
+msgid "Unknown/Others"
+msgstr "Ukjend/andre"
+
+#: harddrake/data.pm:552
+#, c-format
+msgid "cpu # "
+msgstr "Prosessornummer "
+
+#: harddrake/sound.pm:195
+#, c-format
+msgid "Please Wait... Applying the configuration"
+msgstr "Vent litt … Gjer klar oppsett"
+
+#: harddrake/sound.pm:232
+#, c-format
+msgid "No alternative driver"
+msgstr "Ingen alternativ drivar"
+
+#: harddrake/sound.pm:233
+#, c-format
+msgid ""
+"There's no known OSS/ALSA alternative driver for your sound card (%s) which "
+"currently uses \"%s\""
+msgstr ""
+"Det finst ingen OSS- eller ALSA-drivarar for lydkortet ditt («%s») som "
+"brukar «%s»"
+
+#: harddrake/sound.pm:239
+#, c-format
+msgid "Sound configuration"
+msgstr "Lydoppsett"
+
+#: harddrake/sound.pm:241
+#, c-format
+msgid ""
+"Here you can select an alternative driver (either OSS or ALSA) for your "
+"sound card (%s)."
+msgstr ""
+"Her kan du velja ein annan OSS- eller ALSA-drivar for lydkortet ditt («%s»)."
+
+#. -PO: here the first %s is either "OSS" or "ALSA",
+#. -PO: the second %s is the name of the current driver
+#. -PO: and the third %s is the name of the default driver
+#: harddrake/sound.pm:246
+#, c-format
+msgid ""
+"\n"
+"\n"
+"Your card currently use the %s\"%s\" driver (default driver for your card is "
+"\"%s\")"
+msgstr ""
+"\n"
+"\n"
+"Kortet brukar %s«%s»-drivaren (standarddrivaren for kortet er «%s»)."
+
+#: harddrake/sound.pm:248
+#, c-format
+msgid ""
+"OSS (Open Sound System) was the first sound API. It's an OS independent "
+"sound API (it's available on most UNIX(tm) systems) but it's a very basic "
+"and limited API.\n"
+"What's more, OSS drivers all reinvent the wheel.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) is a modularized architecture "
+"which\n"
+"supports quite a large range of ISA, USB and PCI cards.\n"
+"\n"
+"It also provides a much higher API than OSS.\n"
+"\n"
+"To use alsa, one can either use:\n"
+"- the old compatibility OSS api\n"
+"- the new ALSA api that provides many enhanced features but requires using "
+"the ALSA library.\n"
+msgstr ""
+"OSS (Open Sound System) var det første lydgrensesnittet. Det er\n"
+"operativsystemuavhengig (og tilgjengeleg på dei fleste UNIX™-system),\n"
+"men er òg ganske teknisk avgrensa.\n"
+"\n"
+"ALSA (Advanced Linux Sound Architecture) er ein modularisert arkitektur som\n"
+"støttar veldig mange ISA-, USB- og PCI-kort.\n"
+"\n"
+"Systemet har òg eit betre grensesnitt enn OSS har.\n"
+"\n"
+"For å bruka ALSA kan du enten bruka det gamle OSS-grensesnittet, eller det "
+"nye ALSA-grensesnittet, med mange nye funksjonar.\n"
+
+#: harddrake/sound.pm:262 harddrake/sound.pm:351
+#, c-format
+msgid "Driver:"
+msgstr "Drivar:"
+
+#: harddrake/sound.pm:271
+#, c-format
+msgid "Trouble shooting"
+msgstr "Feilsøkjing"
+
+#: harddrake/sound.pm:279
+#, c-format
+msgid ""
+"The old \"%s\" driver is blacklisted.\n"
+"\n"
+"It has been reported to oops the kernel on unloading.\n"
+"\n"
+"The new \"%s\" driver will only be used on next bootstrap."
+msgstr ""
+"Den gamle «%s»-drivaren er svartelista, då han visstnok kan «oopsa» kjernen "
+"ved utlasting.\n"
+"\n"
+"Den nye «%s»-drivaren vert berre brukt ved neste oppstart."
+
+#: harddrake/sound.pm:287
+#, c-format
+msgid "No open source driver"
+msgstr "Ingen open kjeldekode-drivar"
+
+#: harddrake/sound.pm:288
+#, c-format
+msgid ""
+"There's no free driver for your sound card (%s), but there's a proprietary "
+"driver at \"%s\"."
+msgstr ""
+"Det finst ingen fri drivar for lydkortet ditt («%s»), men det finst ein "
+"godseigd drivar på «%s»."
+
+#: harddrake/sound.pm:291
+#, c-format
+msgid "No known driver"
+msgstr "Ingen kjend drivar"
+
+#: harddrake/sound.pm:292
+#, c-format
+msgid "There's no known driver for your sound card (%s)"
+msgstr "Det finst ingen kjend drivar for lydkortet ditt («%s»)"
+
+#: harddrake/sound.pm:296
+#, c-format
+msgid "Unknown driver"
+msgstr "Ukjend drivar"
+
+#: harddrake/sound.pm:297
+#, c-format
+msgid "Error: The \"%s\" driver for your sound card is unlisted"
+msgstr "Feil: Drivaren «%s» for lydkortet ditt er ikkje med i lista"
+
+#: harddrake/sound.pm:311
+#, c-format
+msgid "Sound trouble shooting"
+msgstr "Feilsøkjing av lyd"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:314
+#, c-format
+msgid ""
+"The classic bug sound tester is to run the following commands:\n"
+"\n"
+"\n"
+"- \"lspcidrake -v | fgrep AUDIO\" will tell you which driver your card uses\n"
+"by default\n"
+"\n"
+"- \"grep sound-slot /etc/modprobe.conf\" will tell you what driver it\n"
+"currently uses\n"
+"\n"
+"- \"/sbin/lsmod\" will enable you to check if its module (driver) is\n"
+"loaded or not\n"
+"\n"
+"- \"/sbin/chkconfig --list sound\" and \"/sbin/chkconfig --list alsa\" will\n"
+"tell you if sound and alsa services're configured to be run on\n"
+"initlevel 3\n"
+"\n"
+"- \"aumix -q\" will tell you if the sound volume is muted or not\n"
+"\n"
+"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
+msgstr ""
+"Dette er den vanlege måten feilsøkja lydoppsett på:\n"
+"\n"
+"\n"
+"– «lspcidrake -v | fgrep AUDIO» fortel deg kva drivar kortet brukar som "
+"standard.\n"
+"\n"
+"– «grep sound-slot /etc/modprobe.conf» fortel deg kva drivar kortet brukar "
+"no.\n"
+"\n"
+"– «/sbin/lsmod» lar deg sjå om drivaren er lasta.\n"
+"– «/sbin/chkconfig --list sound» and «/sbin/chkconfig --list alsa» fortel\n"
+"deg om lyd- og ALSA-tenestene er sette opp til å køyra på initlevel 3.\n"
+"\n"
+"– «aumix -q» fortel deg om lydvolumet er slått ned.\n"
+"\n"
+"– «/sbin/fuser -v /dev/dsp» fortel deg kva program som brukar lydkortet.\n"
+
+#: harddrake/sound.pm:340
+#, c-format
+msgid "Let me pick any driver"
+msgstr "Vel drivar"
+
+#: harddrake/sound.pm:343
+#, c-format
+msgid "Choosing an arbitrary driver"
+msgstr "Val av annan drivar"
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: harddrake/sound.pm:346
+#, c-format
+msgid ""
+"If you really think that you know which driver is the right one for your "
+"card\n"
+"you can pick one in the above list.\n"
+"\n"
+"The current driver for your \"%s\" sound card is \"%s\" "
+msgstr ""
+"Vis du kjenner til ein annan drivar som fungerer med lydkortet ditt, kan du "
+"velja han her.\n"
+"\n"
+"Lydkortet «%s» brukar no drivaren «%s»."
+
+#: harddrake/v4l.pm:12
+#, c-format
+msgid "Auto-detect"
+msgstr "Finn automatisk"
+
+#: harddrake/v4l.pm:97 harddrake/v4l.pm:285 harddrake/v4l.pm:337
+#, c-format
+msgid "Unknown|Generic"
+msgstr "Ukjend/generell"
+
+#: harddrake/v4l.pm:130
+#, c-format
+msgid "Unknown|CPH05X (bt878) [many vendors]"
+msgstr "Ukjend|CPH05X (bt878) (mange merke)"
+
+#: harddrake/v4l.pm:131
+#, c-format
+msgid "Unknown|CPH06X (bt878) [many vendors]"
+msgstr "Ukjend|CPH06X (bt878) (mange merke)"
+
+#: harddrake/v4l.pm:474
+#, c-format
+msgid ""
+"For most modern TV cards, the bttv module of the GNU/Linux kernel just auto-"
+"detect the rights parameters.\n"
+"If your card is misdetected, you can force the right tuner and card types "
+"here. Just select your tv card parameters if needed."
+msgstr ""
+"For dei fleste moderne fjernsynskort vil bttv-modulen i GNU/Linux-kjerna "
+"automatisk finna dei rette parametrane.\n"
+"Viss ikkje dette går, kan du sjølv velja rett mottakar og korttype her."
+
+#: harddrake/v4l.pm:477
+#, c-format
+msgid "Card model:"
+msgstr "Kortmodell:"
+
+#: harddrake/v4l.pm:478
+#, c-format
+msgid "Tuner type:"
+msgstr "Mottakartype:"
+
+#: interactive.pm:125 interactive.pm:538 interactive/curses.pm:217
+#: interactive/http.pm:103 interactive/http.pm:156 interactive/stdio.pm:39
+#: interactive/stdio.pm:142 interactive/stdio.pm:143 ugtk2.pm:410 ugtk2.pm:508
+#: ugtk2.pm:788 ugtk2.pm:811
+#, c-format
+msgid "Ok"
+msgstr "OK"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "Yes"
+msgstr "Ja"
+
+#: interactive.pm:224 modules/interactive.pm:71 ugtk2.pm:787 wizards.pm:156
+#, c-format
+msgid "No"
+msgstr "Nei"
+
+#: interactive.pm:258
+#, c-format
+msgid "Choose a file"
+msgstr "Vel fil"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Add"
+msgstr "Legg til"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Modify"
+msgstr "Endra"
+
+#: interactive.pm:383 interactive/gtk.pm:419
+#, c-format
+msgid "Remove"
+msgstr "Fjern"
+
+#: interactive.pm:538 interactive/curses.pm:217 ugtk2.pm:508
+#, c-format
+msgid "Finish"
+msgstr "Fullfør"
+
+#: interactive.pm:539 interactive/curses.pm:214 ugtk2.pm:506
+#, c-format
+msgid "Previous"
+msgstr "Førre"
+
+#: interactive/stdio.pm:29 interactive/stdio.pm:148
+#, c-format
+msgid "Bad choice, try again\n"
+msgstr "Ugyldig val. Prøv på nytt.\n"
+
+#: interactive/stdio.pm:30 interactive/stdio.pm:149
+#, c-format
+msgid "Your choice? (default %s) "
+msgstr "Val? (Standard: «%s».) "
+
+#: interactive/stdio.pm:54
+#, c-format
+msgid ""
+"Entries you'll have to fill:\n"
+"%s"
+msgstr ""
+"Oppføringar du må fylla ut:\n"
+"%s"
+
+#: interactive/stdio.pm:70
+#, c-format
+msgid "Your choice? (0/1, default `%s') "
+msgstr "Val? («0» eller «1». Standard: «%s».) "
+
+#: interactive/stdio.pm:94
+#, c-format
+msgid "Button `%s': %s"
+msgstr "Knapp «%s»: %s"
+
+#: interactive/stdio.pm:95
+#, c-format
+msgid "Do you want to click on this button?"
+msgstr "Vil du trykkja på knappen?"
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid "Your choice? (default `%s'%s) "
+msgstr "Val? (Standard: «%s»%s) "
+
+#: interactive/stdio.pm:104
+#, c-format
+msgid " enter `void' for void entry"
+msgstr "skriv inn «void» for tomt felt"
+
+#: interactive/stdio.pm:122
+#, c-format
+msgid "=> There are many things to choose from (%s).\n"
+msgstr "Det er mange ting å velja frå (%s).\n"
+
+#: interactive/stdio.pm:125
+#, c-format
+msgid ""
+"Please choose the first number of the 10-range you wish to edit,\n"
+"or just hit Enter to proceed.\n"
+"Your choice? "
+msgstr ""
+"Vel det første talet du ønskjer å endra, eller trykk «Enter» for å helda "
+"fram.\n"
+"Vel: "
+
+#: interactive/stdio.pm:138
+#, c-format
+msgid ""
+"=> Notice, a label changed:\n"
+"%s"
+msgstr ""
+"Merk: Ein merkelapp er endra:\n"
+"%s"
+
+#: interactive/stdio.pm:145
+#, c-format
+msgid "Re-submit"
+msgstr "Send inn på nytt"
+
+#. -PO: the string "default:LTR" can be translated *ONLY* as "default:LTR"
+#. -PO: or as "default:RTL", depending if your language is written from
+#. -PO: left to right, or from right to left; any other string is wrong.
+#: lang.pm:193
+#, c-format
+msgid "default:LTR"
+msgstr "default:LTR"
+
+#: lang.pm:210
+#, c-format
+msgid "Andorra"
+msgstr "Andorra"
+
+#: lang.pm:211 timezone.pm:213
+#, c-format
+msgid "United Arab Emirates"
+msgstr "Dei sameinte arabiske emirata"
+
+#: lang.pm:212
+#, c-format
+msgid "Afghanistan"
+msgstr "Afghanistan"
+
+#: lang.pm:213
+#, c-format
+msgid "Antigua and Barbuda"
+msgstr "Antigua og Barbuda"
+
+#: lang.pm:214
+#, c-format
+msgid "Anguilla"
+msgstr "Anguilla"
+
+#: lang.pm:215
+#, c-format
+msgid "Albania"
+msgstr "Albania"
+
+#: lang.pm:216
+#, c-format
+msgid "Armenia"
+msgstr "Armenia"
+
+#: lang.pm:217
+#, c-format
+msgid "Netherlands Antilles"
+msgstr "Dei nederlandske Antillane"
+
+#: lang.pm:218
+#, c-format
+msgid "Angola"
+msgstr "Angola"
+
+#: lang.pm:219
+#, c-format
+msgid "Antarctica"
+msgstr "Antarktika"
+
+#: lang.pm:220 timezone.pm:258
+#, c-format
+msgid "Argentina"
+msgstr "Argentina"
+
+#: lang.pm:221
+#, c-format
+msgid "American Samoa"
+msgstr "Amerikansk Samoa"
+
+#: lang.pm:222 mirror.pm:11 timezone.pm:216
+#, c-format
+msgid "Austria"
+msgstr "Austerrike"
+
+#: lang.pm:223 mirror.pm:10 timezone.pm:254
+#, c-format
+msgid "Australia"
+msgstr "Australia"
+
+#: lang.pm:224
+#, c-format
+msgid "Aruba"
+msgstr "Aruba"
+
+#: lang.pm:225
+#, c-format
+msgid "Azerbaijan"
+msgstr "Aserbajdsjan"
+
+#: lang.pm:226
+#, c-format
+msgid "Bosnia and Herzegovina"
+msgstr "Bosnia-Hercegovina"
+
+#: lang.pm:227
+#, c-format
+msgid "Barbados"
+msgstr "Barbados"
+
+#: lang.pm:228 timezone.pm:198
+#, c-format
+msgid "Bangladesh"
+msgstr "Bangladesh"
+
+#: lang.pm:229 mirror.pm:12 timezone.pm:218
+#, c-format
+msgid "Belgium"
+msgstr "Belgia"
+
+#: lang.pm:230
+#, c-format
+msgid "Burkina Faso"
+msgstr "Burkina Faso"
+
+#: lang.pm:231 timezone.pm:219
+#, c-format
+msgid "Bulgaria"
+msgstr "Bulgaria"
+
+#: lang.pm:232
+#, c-format
+msgid "Bahrain"
+msgstr "Bahrain"
+
+#: lang.pm:233
+#, c-format
+msgid "Burundi"
+msgstr "Burundi"
+
+#: lang.pm:234
+#, c-format
+msgid "Benin"
+msgstr "Benin"
+
+#: lang.pm:235
+#, c-format
+msgid "Bermuda"
+msgstr "Bermuda"
+
+#: lang.pm:236
+#, c-format
+msgid "Brunei Darussalam"
+msgstr "Brunei"
+
+#: lang.pm:237
+#, c-format
+msgid "Bolivia"
+msgstr "Bolivia"
+
+#: lang.pm:238 mirror.pm:13 timezone.pm:259
+#, c-format
+msgid "Brazil"
+msgstr "Brasil"
+
+#: lang.pm:239
+#, c-format
+msgid "Bahamas"
+msgstr "Bahamas"
+
+#: lang.pm:240
+#, c-format
+msgid "Bhutan"
+msgstr "Bhutan"
+
+#: lang.pm:241
+#, c-format
+msgid "Bouvet Island"
+msgstr "Bouvetøya"
+
+#: lang.pm:242
+#, c-format
+msgid "Botswana"
+msgstr "Botswana"
+
+#: lang.pm:243 timezone.pm:217
+#, c-format
+msgid "Belarus"
+msgstr "Kviterussland"
+
+#: lang.pm:244
+#, c-format
+msgid "Belize"
+msgstr "Belize"
+
+#: lang.pm:245 mirror.pm:14 timezone.pm:248
+#, c-format
+msgid "Canada"
+msgstr "Canada"
+
+#: lang.pm:246
+#, c-format
+msgid "Cocos (Keeling) Islands"
+msgstr "Kokosøyane"
+
+#: lang.pm:247
+#, c-format
+msgid "Congo (Kinshasa)"
+msgstr "Kongo"
+
+#: lang.pm:248
+#, c-format
+msgid "Central African Republic"
+msgstr "Den sentralafrikanske republikken"
+
+#: lang.pm:249
+#, c-format
+msgid "Congo (Brazzaville)"
+msgstr "Kongo-Brazaville"
+
+#: lang.pm:250 mirror.pm:38 timezone.pm:242
+#, c-format
+msgid "Switzerland"
+msgstr "Sveits"
+
+#: lang.pm:251
+#, c-format
+msgid "Cote d'Ivoire"
+msgstr "Elfenbeinskysten"
+
+#: lang.pm:252
+#, c-format
+msgid "Cook Islands"
+msgstr "Cookøyane"
+
+#: lang.pm:253 timezone.pm:260
+#, c-format
+msgid "Chile"
+msgstr "Chile"
+
+#: lang.pm:254
+#, c-format
+msgid "Cameroon"
+msgstr "Kamerun"
+
+#: lang.pm:255 timezone.pm:199
+#, c-format
+msgid "China"
+msgstr "Kina"
+
+#: lang.pm:256
+#, c-format
+msgid "Colombia"
+msgstr "Colombia"
+
+#: lang.pm:257 mirror.pm:15
+#, c-format
+msgid "Costa Rica"
+msgstr "Costa Rica"
+
+#: lang.pm:258
+#, c-format
+msgid "Serbia & Montenegro"
+msgstr "Serbia og Montenegro"
+
+#: lang.pm:259
+#, c-format
+msgid "Cuba"
+msgstr "Cuba"
+
+#: lang.pm:260
+#, c-format
+msgid "Cape Verde"
+msgstr "Kapp Verde"
+
+#: lang.pm:261
+#, c-format
+msgid "Christmas Island"
+msgstr "Christmasøya"
+
+#: lang.pm:262
+#, c-format
+msgid "Cyprus"
+msgstr "Kypros"
+
+#: lang.pm:263 mirror.pm:16 timezone.pm:220
+#, c-format
+msgid "Czech Republic"
+msgstr "Tsjekkia"
+
+#: lang.pm:264 mirror.pm:21 timezone.pm:225
+#, c-format
+msgid "Germany"
+msgstr "Tyskland"
+
+#: lang.pm:265
+#, c-format
+msgid "Djibouti"
+msgstr "Djibouti"
+
+#: lang.pm:266 mirror.pm:17 timezone.pm:221
+#, c-format
+msgid "Denmark"
+msgstr "Danmark"
+
+#: lang.pm:267
+#, c-format
+msgid "Dominica"
+msgstr "Dominica"
+
+#: lang.pm:268
+#, c-format
+msgid "Dominican Republic"
+msgstr "Den dominikanske republikken"
+
+#: lang.pm:269
+#, c-format
+msgid "Algeria"
+msgstr "Algerie"
+
+#: lang.pm:270
+#, c-format
+msgid "Ecuador"
+msgstr "Ecuador"
+
+#: lang.pm:271 mirror.pm:18 timezone.pm:222
+#, c-format
+msgid "Estonia"
+msgstr "Estland"
+
+#: lang.pm:272
+#, c-format
+msgid "Egypt"
+msgstr "Egypt"
+
+#: lang.pm:273
+#, c-format
+msgid "Western Sahara"
+msgstr "Vest-Sahara"
+
+#: lang.pm:274
+#, c-format
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#: lang.pm:275 mirror.pm:36 timezone.pm:240
+#, c-format
+msgid "Spain"
+msgstr "Spania"
+
+#: lang.pm:276
+#, c-format
+msgid "Ethiopia"
+msgstr "Etiopia"
+
+#: lang.pm:277 mirror.pm:19 timezone.pm:223
+#, c-format
+msgid "Finland"
+msgstr "Finland"
+
+#: lang.pm:278
+#, c-format
+msgid "Fiji"
+msgstr "Fiji"
+
+#: lang.pm:279
+#, c-format
+msgid "Falkland Islands (Malvinas)"
+msgstr "Falklandsøyane"
+
+#: lang.pm:280
+#, c-format
+msgid "Micronesia"
+msgstr "Mikronesiaføderasjonen"
+
+#: lang.pm:281
+#, c-format
+msgid "Faroe Islands"
+msgstr "Færøyane"
+
+#: lang.pm:282 mirror.pm:20 timezone.pm:224
+#, c-format
+msgid "France"
+msgstr "Frankrike"
+
+#: lang.pm:283
+#, c-format
+msgid "Gabon"
+msgstr "Gabon"
+
+#: lang.pm:284 timezone.pm:244
+#, c-format
+msgid "United Kingdom"
+msgstr "Storbritannia"
+
+#: lang.pm:285
+#, c-format
+msgid "Grenada"
+msgstr "Grenada"
+
+#: lang.pm:286
+#, c-format
+msgid "Georgia"
+msgstr "Georgia"
+
+#: lang.pm:287
+#, c-format
+msgid "French Guiana"
+msgstr "Fransk Guyana"
+
+#: lang.pm:288
+#, c-format
+msgid "Ghana"
+msgstr "Ghana"
+
+#: lang.pm:289
+#, c-format
+msgid "Gibraltar"
+msgstr "Gibraltar"
+
+#: lang.pm:290
+#, c-format
+msgid "Greenland"
+msgstr "Grønland"
+
+#: lang.pm:291
+#, c-format
+msgid "Gambia"
+msgstr "Gambia"
+
+#: lang.pm:292
+#, c-format
+msgid "Guinea"
+msgstr "Guinea"
+
+#: lang.pm:293
+#, c-format
+msgid "Guadeloupe"
+msgstr "Guadeloupe"
+
+#: lang.pm:294
+#, c-format
+msgid "Equatorial Guinea"
+msgstr "Ekvatorial-Guinea"
+
+#: lang.pm:295 mirror.pm:22 timezone.pm:226
+#, c-format
+msgid "Greece"
+msgstr "Hellas"
+
+#: lang.pm:296
+#, c-format
+msgid "South Georgia and the South Sandwich Islands"
+msgstr "Sør-Georgia og dei sørlege Sandwichøyane"
+
+#: lang.pm:297 timezone.pm:249
+#, c-format
+msgid "Guatemala"
+msgstr "Guatemala"
+
+#: lang.pm:298
+#, c-format
+msgid "Guam"
+msgstr "Guam"
+
+#: lang.pm:299
+#, c-format
+msgid "Guinea-Bissau"
+msgstr "Guinea-Bissau"
+
+#: lang.pm:300
+#, c-format
+msgid "Guyana"
+msgstr "Guyana"
+
+#: lang.pm:301
+#, c-format
+msgid "Hong Kong SAR (China)"
+msgstr "Kina (Hongkong)"
+
+#: lang.pm:302
+#, c-format
+msgid "Heard and McDonald Islands"
+msgstr "Heard- og McDonaldøyane"
+
+#: lang.pm:303
+#, c-format
+msgid "Honduras"
+msgstr "Honduras"
+
+#: lang.pm:304
+#, c-format
+msgid "Croatia"
+msgstr "Kroatia"
+
+#: lang.pm:305
+#, c-format
+msgid "Haiti"
+msgstr "Haiti"
+
+#: lang.pm:306 mirror.pm:23 timezone.pm:227
+#, c-format
+msgid "Hungary"
+msgstr "Ungarn"
+
+#: lang.pm:307 timezone.pm:202
+#, c-format
+msgid "Indonesia"
+msgstr "Indonesia"
+
+#: lang.pm:308 mirror.pm:24 timezone.pm:228
+#, c-format
+msgid "Ireland"
+msgstr "Irland"
+
+#: lang.pm:309 mirror.pm:25 timezone.pm:204
+#, c-format
+msgid "Israel"
+msgstr "Israel"
+
+#: lang.pm:310 timezone.pm:201
+#, c-format
+msgid "India"
+msgstr "India"
+
+#: lang.pm:311
+#, c-format
+msgid "British Indian Ocean Territory"
+msgstr "Det britiske området i Indiahavet"
+
+#: lang.pm:312
+#, c-format
+msgid "Iraq"
+msgstr "Irak"
+
+#: lang.pm:313 timezone.pm:203
+#, c-format
+msgid "Iran"
+msgstr "Iran"
+
+#: lang.pm:314
+#, c-format
+msgid "Iceland"
+msgstr "Island"
+
+#: lang.pm:315 mirror.pm:26 timezone.pm:229
+#, c-format
+msgid "Italy"
+msgstr "Italia"
+
+#: lang.pm:316
+#, c-format
+msgid "Jamaica"
+msgstr "Jamaica"
+
+#: lang.pm:317
+#, c-format
+msgid "Jordan"
+msgstr "Jordan"
+
+#: lang.pm:318 mirror.pm:27 timezone.pm:205
+#, c-format
+msgid "Japan"
+msgstr "Japan"
+
+#: lang.pm:319
+#, c-format
+msgid "Kenya"
+msgstr "Kenya"
+
+#: lang.pm:320
+#, c-format
+msgid "Kyrgyzstan"
+msgstr "Kirgisistan"
+
+#: lang.pm:321
+#, c-format
+msgid "Cambodia"
+msgstr "Kambodsja"
+
+#: lang.pm:322
+#, c-format
+msgid "Kiribati"
+msgstr "Kiribati"
+
+#: lang.pm:323
+#, c-format
+msgid "Comoros"
+msgstr "Komorane"
+
+#: lang.pm:324
+#, c-format
+msgid "Saint Kitts and Nevis"
+msgstr "St. Kitts og Nevis"
+
+#: lang.pm:325
+#, c-format
+msgid "Korea (North)"
+msgstr "Nord-Korea"
+
+#: lang.pm:326 timezone.pm:206
+#, c-format
+msgid "Korea"
+msgstr "Sør-Korea"
+
+#: lang.pm:327
+#, c-format
+msgid "Kuwait"
+msgstr "Kuwait"
+
+#: lang.pm:328
+#, c-format
+msgid "Cayman Islands"
+msgstr "Caymanøyane"
+
+#: lang.pm:329
+#, c-format
+msgid "Kazakhstan"
+msgstr "Kasakhstan"
+
+#: lang.pm:330
+#, c-format
+msgid "Laos"
+msgstr "Laos"
+
+#: lang.pm:331
+#, c-format
+msgid "Lebanon"
+msgstr "Libanon"
+
+#: lang.pm:332
+#, c-format
+msgid "Saint Lucia"
+msgstr "St. Lucia"
+
+#: lang.pm:333
+#, c-format
+msgid "Liechtenstein"
+msgstr "Liechtenstein"
+
+#: lang.pm:334
+#, c-format
+msgid "Sri Lanka"
+msgstr "Sri Lanka"
+
+#: lang.pm:335
+#, c-format
+msgid "Liberia"
+msgstr "Liberia"
+
+#: lang.pm:336
+#, c-format
+msgid "Lesotho"
+msgstr "Lesotho"
+
+#: lang.pm:337 timezone.pm:230
+#, c-format
+msgid "Lithuania"
+msgstr "Litauen"
+
+#: lang.pm:338 timezone.pm:231
+#, c-format
+msgid "Luxembourg"
+msgstr "Luxembourg"
+
+#: lang.pm:339
+#, c-format
+msgid "Latvia"
+msgstr "Latvia"
+
+#: lang.pm:340
+#, c-format
+msgid "Libya"
+msgstr "Libya"
+
+#: lang.pm:341
+#, c-format
+msgid "Morocco"
+msgstr "Marokko"
+
+#: lang.pm:342
+#, c-format
+msgid "Monaco"
+msgstr "Monaco"
+
+#: lang.pm:343
+#, c-format
+msgid "Moldova"
+msgstr "Moldova"
+
+#: lang.pm:344
+#, c-format
+msgid "Madagascar"
+msgstr "Madagaskar"
+
+#: lang.pm:345
+#, c-format
+msgid "Marshall Islands"
+msgstr "Marshalløyane"
+
+#: lang.pm:346
+#, c-format
+msgid "Macedonia"
+msgstr "Makedonia"
+
+#: lang.pm:347
+#, c-format
+msgid "Mali"
+msgstr "Mali"
+
+#: lang.pm:348
+#, c-format
+msgid "Myanmar"
+msgstr "Myanmar"
+
+#: lang.pm:349
+#, c-format
+msgid "Mongolia"
+msgstr "Mongolia"
+
+#: lang.pm:350
+#, c-format
+msgid "Northern Mariana Islands"
+msgstr "Nord-Marianane"
+
+#: lang.pm:351
+#, c-format
+msgid "Martinique"
+msgstr "Martinique"
+
+#: lang.pm:352
+#, c-format
+msgid "Mauritania"
+msgstr "Mauritania"
+
+#: lang.pm:353
+#, c-format
+msgid "Montserrat"
+msgstr "Montserrat"
+
+#: lang.pm:354
+#, c-format
+msgid "Malta"
+msgstr "Malta"
+
+#: lang.pm:355
+#, c-format
+msgid "Mauritius"
+msgstr "Mauritius"
+
+#: lang.pm:356
+#, c-format
+msgid "Maldives"
+msgstr "Maldivane"
+
+#: lang.pm:357
+#, c-format
+msgid "Malawi"
+msgstr "Malawi"
+
+#: lang.pm:358 timezone.pm:250
+#, c-format
+msgid "Mexico"
+msgstr "Mexico"
+
+#: lang.pm:359 timezone.pm:207
+#, c-format
+msgid "Malaysia"
+msgstr "Malaysia"
+
+#: lang.pm:360
+#, c-format
+msgid "Mozambique"
+msgstr "Mosambik"
+
+#: lang.pm:361
+#, c-format
+msgid "Namibia"
+msgstr "Namibia"
+
+#: lang.pm:362
+#, c-format
+msgid "New Caledonia"
+msgstr "Ny-Caledonia"
+
+#: lang.pm:363
+#, c-format
+msgid "Niger"
+msgstr "Niger"
+
+#: lang.pm:364
+#, c-format
+msgid "Norfolk Island"
+msgstr "Norfolkøya"
+
+#: lang.pm:365
+#, c-format
+msgid "Nigeria"
+msgstr "Nigeria"
+
+#: lang.pm:366
+#, c-format
+msgid "Nicaragua"
+msgstr "Nicaragua"
+
+#: lang.pm:367 mirror.pm:28 timezone.pm:232
+#, c-format
+msgid "Netherlands"
+msgstr "Nederland"
+
+#: lang.pm:368 mirror.pm:30 timezone.pm:233
+#, c-format
+msgid "Norway"
+msgstr "Noreg"
+
+#: lang.pm:369
+#, c-format
+msgid "Nepal"
+msgstr "Nepal"
+
+#: lang.pm:370
+#, c-format
+msgid "Nauru"
+msgstr "Nauru"
+
+#: lang.pm:371
+#, c-format
+msgid "Niue"
+msgstr "Niue"
+
+#: lang.pm:372 mirror.pm:29 timezone.pm:255
+#, c-format
+msgid "New Zealand"
+msgstr "New Zealand"
+
+#: lang.pm:373
+#, c-format
+msgid "Oman"
+msgstr "Oman"
+
+#: lang.pm:374
+#, c-format
+msgid "Panama"
+msgstr "Panama"
+
+#: lang.pm:375
+#, c-format
+msgid "Peru"
+msgstr "Peru"
+
+#: lang.pm:376
+#, c-format
+msgid "French Polynesia"
+msgstr "Fransk Polynesia"
+
+#: lang.pm:377
+#, c-format
+msgid "Papua New Guinea"
+msgstr "Papua Ny-Guinea"
+
+#: lang.pm:378 timezone.pm:208
+#, c-format
+msgid "Philippines"
+msgstr "Filippinane"
+
+#: lang.pm:379
+#, c-format
+msgid "Pakistan"
+msgstr "Pakistan"
+
+#: lang.pm:380 mirror.pm:31 timezone.pm:234
+#, c-format
+msgid "Poland"
+msgstr "Polen"
+
+#: lang.pm:381
+#, c-format
+msgid "Saint Pierre and Miquelon"
+msgstr "Saint-Pierre-et-Miquelon"
+
+#: lang.pm:382
+#, c-format
+msgid "Pitcairn"
+msgstr "Pitcairn"
+
+#: lang.pm:383
+#, c-format
+msgid "Puerto Rico"
+msgstr "Puerto Rico"
+
+#: lang.pm:384
+#, c-format
+msgid "Palestine"
+msgstr "Palestina"
+
+#: lang.pm:385 mirror.pm:32 timezone.pm:235
+#, c-format
+msgid "Portugal"
+msgstr "Portugal"
+
+#: lang.pm:386
+#, c-format
+msgid "Paraguay"
+msgstr "Paraguay"
+
+#: lang.pm:387
+#, c-format
+msgid "Palau"
+msgstr "Palau"
+
+#: lang.pm:388
+#, c-format
+msgid "Qatar"
+msgstr "Qatar"
+
+#: lang.pm:389
+#, c-format
+msgid "Reunion"
+msgstr "Réunion"
+
+#: lang.pm:390 timezone.pm:236
+#, c-format
+msgid "Romania"
+msgstr "Romania"
+
+#: lang.pm:391 mirror.pm:33
+#, c-format
+msgid "Russia"
+msgstr "Russland"
+
+#: lang.pm:392
+#, c-format
+msgid "Rwanda"
+msgstr "Rwanda"
+
+#: lang.pm:393
+#, c-format
+msgid "Saudi Arabia"
+msgstr "Saudi-Arabia"
+
+#: lang.pm:394
+#, c-format
+msgid "Solomon Islands"
+msgstr "Salomonøyane"
+
+#: lang.pm:395
+#, c-format
+msgid "Seychelles"
+msgstr "Seychellane"
+
+#: lang.pm:396
+#, c-format
+msgid "Sudan"
+msgstr "Sudan"
+
+#: lang.pm:397 mirror.pm:37 timezone.pm:241
+#, c-format
+msgid "Sweden"
+msgstr "Sverige"
+
+#: lang.pm:398 timezone.pm:209
+#, c-format
+msgid "Singapore"
+msgstr "Singapore"
+
+#: lang.pm:399
+#, c-format
+msgid "Saint Helena"
+msgstr "St. Helena"
+
+#: lang.pm:400 timezone.pm:239
+#, c-format
+msgid "Slovenia"
+msgstr "Slovenia"
+
+#: lang.pm:401
+#, c-format
+msgid "Svalbard and Jan Mayen Islands"
+msgstr "Svalbard og Jan Mayen"
+
+#: lang.pm:402 mirror.pm:34 timezone.pm:238
+#, c-format
+msgid "Slovakia"
+msgstr "Slovakia"
+
+#: lang.pm:403
+#, c-format
+msgid "Sierra Leone"
+msgstr "Sierra Leone"
+
+#: lang.pm:404
+#, c-format
+msgid "San Marino"
+msgstr "San Marino"
+
+#: lang.pm:405
+#, c-format
+msgid "Senegal"
+msgstr "Senegal"
+
+#: lang.pm:406
+#, c-format
+msgid "Somalia"
+msgstr "Somalia"
+
+#: lang.pm:407
+#, c-format
+msgid "Suriname"
+msgstr "Surinam"
+
+#: lang.pm:408
+#, c-format
+msgid "Sao Tome and Principe"
+msgstr "São Tomé og Príncipe"
+
+#: lang.pm:409
+#, c-format
+msgid "El Salvador"
+msgstr "El Salvador"
+
+#: lang.pm:410
+#, c-format
+msgid "Syria"
+msgstr "Syria"
+
+#: lang.pm:411
+#, c-format
+msgid "Swaziland"
+msgstr "Swaziland"
+
+#: lang.pm:412
+#, c-format
+msgid "Turks and Caicos Islands"
+msgstr "Turks- og Caicosøyane"
+
+#: lang.pm:413
+#, c-format
+msgid "Chad"
+msgstr "Tsjad"
+
+#: lang.pm:414
+#, c-format
+msgid "French Southern Territories"
+msgstr "Franske sørlege territorium"
+
+#: lang.pm:415
+#, c-format
+msgid "Togo"
+msgstr "Togo"
+
+#: lang.pm:416 mirror.pm:40 timezone.pm:211
+#, c-format
+msgid "Thailand"
+msgstr "Thailand"
+
+#: lang.pm:417
+#, c-format
+msgid "Tajikistan"
+msgstr "Tadsjikistan"
+
+#: lang.pm:418
+#, c-format
+msgid "Tokelau"
+msgstr "Tokelau"
+
+#: lang.pm:419
+#, c-format
+msgid "East Timor"
+msgstr "Aust-Timor"
+
+#: lang.pm:420
+#, c-format
+msgid "Turkmenistan"
+msgstr "Turkmenistan"
+
+#: lang.pm:421
+#, c-format
+msgid "Tunisia"
+msgstr "Tunisia"
+
+#: lang.pm:422
+#, c-format
+msgid "Tonga"
+msgstr "Tonga"
+
+#: lang.pm:423 timezone.pm:212
+#, c-format
+msgid "Turkey"
+msgstr "Turkey"
+
+#: lang.pm:424
+#, c-format
+msgid "Trinidad and Tobago"
+msgstr "Trinidad og Tobago"
+
+#: lang.pm:425
+#, c-format
+msgid "Tuvalu"
+msgstr "Tuvalu"
+
+#: lang.pm:426 mirror.pm:39 timezone.pm:210
+#, c-format
+msgid "Taiwan"
+msgstr "Taiwan"
+
+#: lang.pm:427 timezone.pm:195
+#, c-format
+msgid "Tanzania"
+msgstr "Tanzania"
+
+#: lang.pm:428 timezone.pm:243
+#, c-format
+msgid "Ukraine"
+msgstr "Ukraina"
+
+#: lang.pm:429
+#, c-format
+msgid "Uganda"
+msgstr "Uganda"
+
+#: lang.pm:430
+#, c-format
+msgid "United States Minor Outlying Islands"
+msgstr "USA, mindre utanforliggjande øyar"
+
+#: lang.pm:431 mirror.pm:41 timezone.pm:251
+#, c-format
+msgid "United States"
+msgstr "USA"
+
+#: lang.pm:432
+#, c-format
+msgid "Uruguay"
+msgstr "Uruguay"
+
+#: lang.pm:433
+#, c-format
+msgid "Uzbekistan"
+msgstr "Usbekistan"
+
+#: lang.pm:434
+#, c-format
+msgid "Vatican"
+msgstr "Vatikanstaten"
+
+#: lang.pm:435
+#, c-format
+msgid "Saint Vincent and the Grenadines"
+msgstr "St. Vincent og Grenadinane"
+
+#: lang.pm:436
+#, c-format
+msgid "Venezuela"
+msgstr "Venezuela"
+
+#: lang.pm:437
+#, c-format
+msgid "Virgin Islands (British)"
+msgstr "Jomfruøyane (Storbritannia)"
+
+#: lang.pm:438
+#, c-format
+msgid "Virgin Islands (U.S.)"
+msgstr "Jomfruøyane (USA)"
+
+#: lang.pm:439
+#, c-format
+msgid "Vietnam"
+msgstr "Vietnam"
+
+#: lang.pm:440
+#, c-format
+msgid "Vanuatu"
+msgstr "Vanuatu"
+
+#: lang.pm:441
+#, c-format
+msgid "Wallis and Futuna"
+msgstr "Wallis- og Futunaøyane"
+
+#: lang.pm:442
+#, c-format
+msgid "Samoa"
+msgstr "Samoa"
+
+#: lang.pm:443
+#, c-format
+msgid "Yemen"
+msgstr "Jemen"
+
+#: lang.pm:444
+#, c-format
+msgid "Mayotte"
+msgstr "Mayotte"
+
+#: lang.pm:445 mirror.pm:35 timezone.pm:194
+#, c-format
+msgid "South Africa"
+msgstr "Sør-Afrika"
+
+#: lang.pm:446
+#, c-format
+msgid "Zambia"
+msgstr "Zambia"
+
+#: lang.pm:447
+#, c-format
+msgid "Zimbabwe"
+msgstr "Zimbabwe"
+
+#: lang.pm:1153
+#, c-format
+msgid "Welcome to %s"
+msgstr "Velkommen til %s"
+
+#: lvm.pm:83
+#, c-format
+msgid "Moving used physical extents to other physical volumes failed"
+msgstr "Feil ved flytting av brukte fysiske område til andre fysiske volum."
+
+#: lvm.pm:135
+#, c-format
+msgid "Physical volume %s is still in use"
+msgstr "Det fysiske volumet «%s» er framleis i bruk."
+
+#: lvm.pm:145
+#, c-format
+msgid "Remove the logical volumes first\n"
+msgstr "Du må først fjerna det logiske dataområdet.\n"
+
+#: lvm.pm:178
+#, c-format
+msgid "The bootloader can't handle /boot on multiple physical volumes"
+msgstr "Oppstartslastaren kan ikkje handtera «/boot» på fleire fysiske volum."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:10
+#, c-format
+msgid ""
+"Introduction\n"
+"\n"
+"The operating system and the different components available in the Mandriva "
+"Linux distribution \n"
+"shall be called the \"Software Products\" hereafter. The Software Products "
+"include, but are not \n"
+"restricted to, the set of programs, methods, rules and documentation related "
+"to the operating \n"
+"system and the different components of the Mandriva Linux distribution.\n"
+"\n"
+"\n"
+"1. License Agreement\n"
+"\n"
+"Please read this document carefully. This document is a license agreement "
+"between you and \n"
+"Mandriva S.A. which applies to the Software Products.\n"
+"By installing, duplicating or using the Software Products in any manner, you "
+"explicitly \n"
+"accept and fully agree to conform to the terms and conditions of this "
+"License. \n"
+"If you disagree with any portion of the License, you are not allowed to "
+"install, duplicate or use \n"
+"the Software Products. \n"
+"Any attempt to install, duplicate or use the Software Products in a manner "
+"which does not comply \n"
+"with the terms and conditions of this License is void and will terminate "
+"your rights under this \n"
+"License. Upon termination of the License, you must immediately destroy all "
+"copies of the \n"
+"Software Products.\n"
+"\n"
+"\n"
+"2. Limited Warranty\n"
+"\n"
+"The Software Products and attached documentation are provided \"as is\", "
+"with no warranty, to the \n"
+"extent permitted by law.\n"
+"Mandriva S.A. will, in no circumstances and to the extent permitted by law, "
+"be liable for any special,\n"
+"incidental, direct or indirect damages whatsoever (including without "
+"limitation damages for loss of \n"
+"business, interruption of business, financial loss, legal fees and penalties "
+"resulting from a court \n"
+"judgment, or any other consequential loss) arising out of the use or "
+"inability to use the Software \n"
+"Products, even if Mandriva S.A. has been advised of the possibility or "
+"occurrence of such \n"
+"damages.\n"
+"\n"
+"LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME "
+"COUNTRIES\n"
+"\n"
+"To the extent permitted by law, Mandriva S.A. or its distributors will, in "
+"no circumstances, be \n"
+"liable for any special, incidental, direct or indirect damages whatsoever "
+"(including without \n"
+"limitation damages for loss of business, interruption of business, financial "
+"loss, legal fees \n"
+"and penalties resulting from a court judgment, or any other consequential "
+"loss) arising out \n"
+"of the possession and use of software components or arising out of "
+"downloading software components \n"
+"from one of Mandriva Linux sites which are prohibited or restricted in some "
+"countries by local laws.\n"
+"This limited liability applies to, but is not restricted to, the strong "
+"cryptography components \n"
+"included in the Software Products.\n"
+"\n"
+"\n"
+"3. The GPL License and Related Licenses\n"
+"\n"
+"The Software Products consist of components created by different persons or "
+"entities. Most \n"
+"of these components are governed under the terms and conditions of the GNU "
+"General Public \n"
+"Licence, hereafter called \"GPL\", or of similar licenses. Most of these "
+"licenses allow you to use, \n"
+"duplicate, adapt or redistribute the components which they cover. Please "
+"read carefully the terms \n"
+"and conditions of the license agreement for each component before using any "
+"component. Any question \n"
+"on a component license should be addressed to the component author and not "
+"to Mandriva.\n"
+"The programs developed by Mandriva S.A. are governed by the GPL License. "
+"Documentation written \n"
+"by Mandriva S.A. is governed by a specific license. Please refer to the "
+"documentation for \n"
+"further details.\n"
+"\n"
+"\n"
+"4. Intellectual Property Rights\n"
+"\n"
+"All rights to the components of the Software Products belong to their "
+"respective authors and are \n"
+"protected by intellectual property and copyright laws applicable to software "
+"programs.\n"
+"Mandriva S.A. reserves its rights to modify or adapt the Software Products, "
+"as a whole or in \n"
+"parts, by all means and for all purposes.\n"
+"\"Mandriva\", \"Mandriva Linux\" and associated logos are trademarks of "
+"Mandriva S.A. \n"
+"\n"
+"\n"
+"5. Governing Laws \n"
+"\n"
+"If any portion of this agreement is held void, illegal or inapplicable by a "
+"court judgment, this \n"
+"portion is excluded from this contract. You remain bound by the other "
+"applicable sections of the \n"
+"agreement.\n"
+"The terms and conditions of this License are governed by the Laws of "
+"France.\n"
+"All disputes on the terms of this license will preferably be settled out of "
+"court. As a last \n"
+"resort, the dispute will be referred to the appropriate Courts of Law of "
+"Paris - France.\n"
+"For any question on this document, please contact Mandriva S.A. \n"
+msgstr ""
+
+#: messages.pm:90
+#, c-format
+msgid ""
+"Warning: Free Software may not necessarily be patent free, and some Free\n"
+"Software included may be covered by patents in your country. For example, "
+"the\n"
+"MP3 decoders included may require a licence for further usage (see\n"
+"http://www.mp3licensing.com for more details). If you are unsure if a "
+"patent\n"
+"may be applicable to you, check your local laws."
+msgstr ""
+"Åtvaring: Fri programvare er ikkje nødvendigvis fri for patentar, og nokre\n"
+"program kan innehelda funksjonar som er patenterte i heimlandet ditt.\n"
+"For eksempel kan det vera at MP3-dekodarane kreva eigen lisens for vidare\n"
+"bruk (sjå http://www.mp3licensing.com/ for meir informasjon). Om du ikkje "
+"er\n"
+"sikker på om ein patent gjeld deg, bør du sjekka dei lokale lovene der du "
+"bur."
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:98
+#, c-format
+msgid ""
+"\n"
+"Warning\n"
+"\n"
+"Please read carefully the terms below. If you disagree with any\n"
+"portion, you are not allowed to install the next CD media. Press 'Refuse' \n"
+"to continue the installation without using these media.\n"
+"\n"
+"\n"
+"Some components contained in the next CD media are not governed\n"
+"by the GPL License or similar agreements. Each such component is then\n"
+"governed by the terms and conditions of its own specific license. \n"
+"Please read carefully and comply with such specific licenses before \n"
+"you use or redistribute the said components. \n"
+"Such licenses will in general prevent the transfer, duplication \n"
+"(except for backup purposes), redistribution, reverse engineering, \n"
+"de-assembly, de-compilation or modification of the component. \n"
+"Any breach of agreement will immediately terminate your rights under \n"
+"the specific license. Unless the specific license terms grant you such\n"
+"rights, you usually cannot install the programs on more than one\n"
+"system, or adapt it to be used on a network. In doubt, please contact \n"
+"directly the distributor or editor of the component. \n"
+"Transfer to third parties or copying of such components including the \n"
+"documentation is usually forbidden.\n"
+"\n"
+"\n"
+"All rights to the components of the next CD media belong to their \n"
+"respective authors and are protected by intellectual property and \n"
+"copyright laws applicable to software programs.\n"
+msgstr ""
+
+#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
+#: messages.pm:131
+#, c-format
+msgid ""
+"Congratulations, installation is complete.\n"
+"Remove the boot media and press Enter to reboot.\n"
+"\n"
+"\n"
+"For information on fixes which are available for this release of Mandriva "
+"Linux,\n"
+"consult the Errata available from:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Information on configuring your system is available in the post\n"
+"install chapter of the Official Mandriva Linux User's Guide."
+msgstr ""
+"Gratulerer! Installeringa er fullført.\n"
+"Fjern oppstartsmediet, og trykk «Enter» for å starta maskina på nytt.\n"
+"\n"
+"\n"
+"Du finn meir informasjon om nye rettingar for denne\n"
+"utgåva av Mandriva Linux på:\n"
+"\n"
+"\n"
+"%s\n"
+"\n"
+"\n"
+"Meir informasjon om korleis du set opp systemet ditt finn du\n"
+"i den offisielle Mandriva Linux-bruksrettleiinga."
+
+#: modules/interactive.pm:19
+#, c-format
+msgid "This driver has no configuration parameter!"
+msgstr "Drivaren har ingen oppsettparametrar."
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "Module configuration"
+msgstr "Moduloppsett"
+
+#: modules/interactive.pm:22
+#, c-format
+msgid "You can configure each parameter of the module here."
+msgstr "Du kan velja modulparametrar her."
+
+#: modules/interactive.pm:63
+#, c-format
+msgid "Found %s interfaces"
+msgstr "Fann %s-grensesnitt"
+
+#: modules/interactive.pm:64
+#, c-format
+msgid "Do you have another one?"
+msgstr "Har du fleire?"
+
+#: modules/interactive.pm:65
+#, c-format
+msgid "Do you have any %s interfaces?"
+msgstr "Har du fleire %s-grensesnitt?"
+
+#: modules/interactive.pm:71
+#, c-format
+msgid "See hardware info"
+msgstr "Sjå maskinvareinformasjon"
+
+#: modules/interactive.pm:82
+#, c-format
+msgid "Installing driver for USB controller"
+msgstr "Installerer drivaren til USB-kontrollaren"
+
+#: modules/interactive.pm:83
+#, c-format
+msgid "Installing driver for firewire controller %s"
+msgstr "Installerer drivaren til firewire-kontrollaren «%s»"
+
+#: modules/interactive.pm:84
+#, c-format
+msgid "Installing driver for hard drive controller %s"
+msgstr "Installerer drivaren til harddisk-kontrollaren «%s»"
+
+#: modules/interactive.pm:85
+#, c-format
+msgid "Installing driver for ethernet controller %s"
+msgstr "Installerer drivaren til nettverkskontrollaren «%s»"
+
+#. -PO: the first %s is the card type (scsi, network, sound,...)
+#. -PO: the second is the vendor+model name
+#: modules/interactive.pm:96
+#, c-format
+msgid "Installing driver for %s card %s"
+msgstr "Installerer drivaren til %s-kortet «%s»"
+
+#: modules/interactive.pm:110
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Note that any address should be entered with the prefix 0x like '0x123'"
+msgstr ""
+"Du kan no velja parametrar for modul «%s».\n"
+"Merk at alle adresser må skrivast med prefikset «0x», som «0x123»."
+
+#: modules/interactive.pm:116
+#, c-format
+msgid ""
+"You may now provide options to module %s.\n"
+"Options are in format ``name=value name2=value2 ...''.\n"
+"For instance, ``io=0x300 irq=7''"
+msgstr ""
+"Du kan no velja parametrar for modul «%s».\n"
+"Parametrane er på formatet «namn1=verdi1 name2=verdi2 …».\n"
+"Eksempel: «io=0x300 irq=7»."
+
+#: modules/interactive.pm:118
+#, c-format
+msgid "Module options:"
+msgstr "Modulval:"
+
+#. -PO: the %s is the driver type (scsi, network, sound,...)
+#: modules/interactive.pm:131
+#, c-format
+msgid "Which %s driver should I try?"
+msgstr "Kva %s-drivar vil du bruka?"
+
+#: modules/interactive.pm:140
+#, c-format
+msgid ""
+"In some cases, the %s driver needs to have extra information to work\n"
+"properly, although it normally works fine without them. Would you like to "
+"specify\n"
+"extra options for it or allow the driver to probe your machine for the\n"
+"information it needs? Occasionally, probing will hang a computer, but it "
+"should\n"
+"not cause any damage."
+msgstr ""
+"I nokre tilfelle treng %s-drivaren ekstra informasjon for å fungera rett,\n"
+"sjølv om han vanlegvis vil fungera utan. Vil du skriva inn ekstraval for\n"
+"drivaren no, eller heller la han prøva å finna ut nødvendig informasjon "
+"sjølv.\n"
+"Sistnemnte kan av og til krasja maskina, men vil ikkje gjera fysisk skade."
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Autoprobe"
+msgstr "Automatisk søk"
+
+#: modules/interactive.pm:144
+#, c-format
+msgid "Specify options"
+msgstr "Endra oppsett"
+
+#: modules/interactive.pm:156
+#, c-format
+msgid ""
+"Loading module %s failed.\n"
+"Do you want to try again with other parameters?"
+msgstr ""
+"Klarte ikkje lasta modulen «%s».\n"
+"Vil du prøva på nytt med andre parametrar?"
+
+#: partition_table.pm:390
+#, c-format
+msgid "mount failed: "
+msgstr "Feil ved montering: "
+
+#: partition_table.pm:500
+#, c-format
+msgid "Extended partition not supported on this platform"
+msgstr "Utvida partisjon er ikkje støtta på denne plattforma"
+
+#: partition_table.pm:518
+#, c-format
+msgid ""
+"You have a hole in your partition table but I can not use it.\n"
+"The only solution is to move your primary partitions to have the hole next "
+"to the extended partitions."
+msgstr ""
+"Du er eit hol i partisjonstabellen, men dette kan ikkje brukast.\n"
+"Den einaste løysinga er å flytta primærpartisjonane slik at dei har holet "
+"ved sidan av dei utvida partisjonane."
+
+#: partition_table.pm:597
+#, c-format
+msgid "Error reading file %s"
+msgstr "Klarte ikkje lesa fila «%s»"
+
+#: partition_table.pm:604
+#, c-format
+msgid "Restoring from file %s failed: %s"
+msgstr "Klarte ikkje gjenoppretta frå fila «%s»: %s"
+
+#: partition_table.pm:606
+#, c-format
+msgid "Bad backup file"
+msgstr "Ugyldig reservekopifil"
+
+#: partition_table.pm:626
+#, c-format
+msgid "Error writing to file %s"
+msgstr "Klarte ikkje skriva til fila «%s»"
+
+#: partition_table/raw.pm:264
+#, c-format
+msgid ""
+"Something bad is happening on your drive. \n"
+"A test to check the integrity of data has failed. \n"
+"It means writing anything on the disk will end up with random, corrupted "
+"data."
+msgstr ""
+"Noko er galt med disken din.\n"
+"Ein test av dataintegriteten påviste feil.\n"
+"Dette vil seia at alt som vert skrive på disken vert lagra som tilfeldig, "
+"ubrukeleg data."
+
+#: raid.pm:42
+#, c-format
+msgid "Can not add a partition to _formatted_ RAID %s"
+msgstr "Kan ikkje leggja partisjon til _formatert_ RAID %s"
+
+#: raid.pm:150
+#, c-format
+msgid "Not enough partitions for RAID level %d\n"
+msgstr "Ikkje nok partisjonar for RAID nivå %d\n"
+
+#: scanner.pm:95
+#, c-format
+msgid "Could not create directory /usr/share/sane/firmware!"
+msgstr "Klarte ikkje oppretta mappa «/usr/share/sane/firmware»."
+
+#: scanner.pm:106
+#, c-format
+msgid "Could not create link /usr/share/sane/%s!"
+msgstr "Klarte ikkje laga lenkja «/usr/share/sane/%s»."
+
+#: scanner.pm:113
+#, c-format
+msgid "Could not copy firmware file %s to /usr/share/sane/firmware!"
+msgstr "Klarte ikkje kopiera fastvarefila «%s» til «/usr/share/sane/firmware»."
+
+#: scanner.pm:120
+#, c-format
+msgid "Could not set permissions of firmware file %s!"
+msgstr "Klarte ikkje velja løyve for fastvarefila «%s»."
+
+#: scanner.pm:199
+#, c-format
+msgid "Scannerdrake"
+msgstr "Skannaroppsett"
+
+#: scanner.pm:200
+#, c-format
+msgid "Could not install the packages needed to share your scanner(s)."
+msgstr "Klarte ikkje installera pakkane for deling av skannar(ar)."
+
+#: scanner.pm:201
+#, c-format
+msgid "Your scanner(s) will not be available for non-root users."
+msgstr ""
+"Skannaren/-ane vil ikkje vera tilgjengeleg for andre brukarar enn «root»."
+
+#: security/help.pm:11
+#, c-format
+msgid "Accept/Refuse bogus IPv4 error messages."
+msgstr "Godta/forkast ugyldig IPv4-feilmeldingar."
+
+#: security/help.pm:13
+#, c-format
+msgid "Accept/Refuse broadcasted icmp echo."
+msgstr "Godta/forkast kringkasta icmp-ekko."
+
+#: security/help.pm:15
+#, c-format
+msgid "Accept/Refuse icmp echo."
+msgstr "Godta/forkast icmp-ekko."
+
+#: security/help.pm:17
+#, c-format
+msgid "Allow/Forbid autologin."
+msgstr "Godta/nekt autoinnlogging."
+
+#. -PO: here "ALL" is a value in a pull-down menu; translate it the same as "ALL" is
+#: security/help.pm:21
+#, c-format
+msgid ""
+"If set to \"ALL\", /etc/issue and /etc/issue.net are allowed to exist.\n"
+"\n"
+"If set to NONE, no issues are allowed.\n"
+"\n"
+"Else only /etc/issue is allowed."
+msgstr ""
+"Viss sett til «ALLE» kan «/etc/issue» og «/etc/issue.net» eksistera.\n"
+"\n"
+"Viss sett til «INGEN» kan ingen av dei eksistera.\n"
+"\n"
+"Elles kan berre «/etc/issue» eksistera."
+
+#: security/help.pm:27
+#, c-format
+msgid "Allow/Forbid reboot by the console user."
+msgstr "Godta/nekt omstart av konsollbrukar."
+
+#: security/help.pm:29
+#, c-format
+msgid "Allow/Forbid remote root login."
+msgstr "Godta/nekt fjerninnlogging."
+
+#: security/help.pm:31
+#, c-format
+msgid "Allow/Forbid direct root login."
+msgstr "Godta/nekt direkte «root»-innlogging."
+
+#: security/help.pm:33
+#, c-format
+msgid ""
+"Allow/Forbid the list of users on the system on display managers (kdm and "
+"gdm)."
+msgstr "Godta/nekt vising av brukar i innlogginshandsamarar (kdm og gdm)."
+
+#: security/help.pm:35
+#, c-format
+msgid ""
+"Allow/forbid to export display when\n"
+"passing from the root account to the other users.\n"
+"\n"
+"See pam_xauth(8) for more details.'"
+msgstr ""
+"Godta/nekt skjermbileteksportering frå\n"
+"«root»-brukar til andre brukarar.\n"
+"\n"
+"Sjå pam_xauth(8) for meir informasjon."
+
+#: security/help.pm:40
+#, c-format
+msgid ""
+"Allow/Forbid X connections:\n"
+"\n"
+"- ALL (all connections are allowed),\n"
+"\n"
+"- LOCAL (only connection from local machine),\n"
+"\n"
+"- NONE (no connection)."
+msgstr ""
+"Godta/nekt X-samband:\n"
+"\n"
+"– ALLE (godta alle samband)\n"
+"\n"
+"– LOKALE (berre godta samband frå lokale maskiner)\n"
+"\n"
+"– INGEN (ikkje godta nokon samband)"
+
+#: security/help.pm:48
+#, c-format
+msgid ""
+"The argument specifies if clients are authorized to connect\n"
+"to the X server from the network on the tcp port 6000 or not."
+msgstr ""
+"Argumentet seier om klientar får kopla til X-tenaren frå nettverket på TCP-"
+"port 6000."
+
+#. -PO: here "ALL", "LOCAL" and "NONE" are values in a pull-down menu; translate them the same as they're
+#: security/help.pm:53
+#, c-format
+msgid ""
+"Authorize:\n"
+"\n"
+"- all services controlled by tcp_wrappers (see hosts.deny(5) man page) if "
+"set to \"ALL\",\n"
+"\n"
+"- only local ones if set to \"LOCAL\"\n"
+"\n"
+"- none if set to \"NONE\".\n"
+"\n"
+"To authorize the services you need, use /etc/hosts.allow (see hosts.allow"
+"(5))."
+msgstr ""
+"Godta:\n"
+"\n"
+"– Alle tenester kontrollert av tcp_wrappers (sjå manualsida hosts.deny(5)) "
+"viss sett til «ALLE».\n"
+"\n"
+"– Berre lokale viss sett til «LOKALE».\n"
+"\n"
+"– Ingen viss sett til «INGEN».\n"
+"\n"
+"Bruk /etc/hosts.allow (sjå hosts.allow (5)) for å godta dei tenestene du "
+"treng."
+
+#: security/help.pm:63
+#, c-format
+msgid ""
+"If SERVER_LEVEL (or SECURE_LEVEL if absent)\n"
+"is greater than 3 in /etc/security/msec/security.conf, creates the\n"
+"symlink /etc/security/msec/server to point to\n"
+"/etc/security/msec/server.<SERVER_LEVEL>.\n"
+"\n"
+"The /etc/security/msec/server is used by chkconfig --add to decide to\n"
+"add a service if it is present in the file during the installation of\n"
+"packages."
+msgstr ""
+"Viss SERVER_LEVEL (eller SECURE_LEVEL viss SERVER_LEVEL manglar)\n"
+"er større enn 3 i /etc/security/msec/security.conf, vert det laga ei "
+"symbolsk\n"
+"lenkje /etc/security/msec/server til /etc/security/msec/server."
+"<SERVER_LEVEL>.\n"
+"\n"
+"Fila /etc/security/msec/server vert bruk av «chkconfig --add» til å avgjera "
+"om\n"
+"ei teneste skal leggjast til når ho finst i ein programpakke som vert "
+"installert."
+
+#: security/help.pm:72
+#, c-format
+msgid ""
+"Enable/Disable crontab and at for users.\n"
+"\n"
+"Put allowed users in /etc/cron.allow and /etc/at.allow (see man at(1)\n"
+"and crontab(1))."
+msgstr ""
+"Slå på/av «crontab» og «at» for brukarar.\n"
+"\n"
+"Legg brukarar som får tilgang til «/etc/cron.allow» og «/etc/at.allow» (sjå "
+"man at(1)\n"
+"og crontab(1))."
+
+#: security/help.pm:77
+#, c-format
+msgid "Enable/Disable syslog reports to console 12"
+msgstr "Slå på/av systemloggrapportar til konsoll 12."
+
+#: security/help.pm:79
+#, c-format
+msgid ""
+"Enable/Disable name resolution spoofing protection. If\n"
+"\"%s\" is true, also reports to syslog."
+msgstr ""
+"Slå på/av vern mot namneoppslagforfalsking. Viss\n"
+"«%s» er på vil dette òg loggførast i systemloggen."
+
+#: security/help.pm:80
+#, c-format
+msgid "Security Alerts:"
+msgstr "Tryggleiksvarsel:"
+
+#: security/help.pm:82
+#, c-format
+msgid "Enable/Disable IP spoofing protection."
+msgstr "Slå på/av vern mot namneoppslagforfalsking."
+
+#: security/help.pm:84
+#, c-format
+msgid "Enable/Disable libsafe if libsafe is found on the system."
+msgstr "Slå på/av «libsafe» om dette er tilgjengeleg på systemet."
+
+#: security/help.pm:86
+#, c-format
+msgid "Enable/Disable the logging of IPv4 strange packets."
+msgstr "Slå på/av loggføring av merkelege IPv4-pakkar."
+
+#: security/help.pm:88
+#, c-format
+msgid "Enable/Disable msec hourly security check."
+msgstr "Slå på/av msec-basert tryggleikskontroll."
+
+#: security/help.pm:90
+#, c-format
+msgid ""
+"Enable su only from members of the wheel group. If set to no, allows su from "
+"any user."
+msgstr ""
+"Berre godta «su» frå medlemmar i «wheel»-gruppa. Viss sett til nei, kan «su» "
+"brukast av alle."
+
+#: security/help.pm:92
+#, c-format
+msgid "Use password to authenticate users."
+msgstr "Bruk passord for brukarautentisering."
+
+#: security/help.pm:94
+#, c-format
+msgid "Activate/Disable ethernet cards promiscuity check."
+msgstr "Slå på/av promiskuitetskontroll for nettverkskort."
+
+#: security/help.pm:96
+#, c-format
+msgid "Activate/Disable daily security check."
+msgstr "Slå på/av dagleg tryggleikskontroll."
+
+#: security/help.pm:98
+#, c-format
+msgid "Enable/Disable sulogin(8) in single user level."
+msgstr "Slå på/av sulogin(8) i einbrukarmodus."
+
+#: security/help.pm:100
+#, c-format
+msgid "Add the name as an exception to the handling of password aging by msec."
+msgstr "Legg til namnet som eit unntak til passordeldinga i msec."
+
+#: security/help.pm:102
+#, c-format
+msgid "Set password aging to \"max\" days and delay to change to \"inactive\"."
+msgstr "Set passordeldinga til «maks» dagar og endra til «ikkje i bruk»."
+
+#: security/help.pm:104
+#, c-format
+msgid "Set the password history length to prevent password reuse."
+msgstr "Vel storleik på passordlogg for å hindra gjenbruk av passord."
+
+#: security/help.pm:106
+#, c-format
+msgid ""
+"Set the password minimum length and minimum number of digit and minimum "
+"number of capitalized letters."
+msgstr ""
+"Vel minstelengd på passord og minimum tal på siffer og store bokstavar."
+
+#: security/help.pm:108
+#, c-format
+msgid "Set the root umask."
+msgstr "Vel umask for «root»."
+
+#: security/help.pm:109
+#, c-format
+msgid "if set to yes, check open ports."
+msgstr "Kontroller opne portar viss sett til «ja»."
+
+#: security/help.pm:110
+#, c-format
+msgid ""
+"if set to yes, check for:\n"
+"\n"
+"- empty passwords,\n"
+"\n"
+"- no password in /etc/shadow\n"
+"\n"
+"- for users with the 0 id other than root."
+msgstr ""
+"Kontroller følgjande viss sett til «ja»:\n"
+"\n"
+"– tomme passord\n"
+"\n"
+"– ingen passord i «/etc/shadow»\n"
+"\n"
+"– for brukarar med 0-ID utanom «root»"
+
+#: security/help.pm:117
+#, c-format
+msgid "if set to yes, check permissions of files in the users' home."
+msgstr ""
+"Kontroller løyve til filer i heimemappe til brukarar viss sett til «ja»."
+
+#: security/help.pm:118
+#, c-format
+msgid "if set to yes, check if the network devices are in promiscuous mode."
+msgstr ""
+"Kontroller om nettverksgrensesnitt er i promiskuitetsmodus viss sett til "
+"«ja»."
+
+#: security/help.pm:119
+#, c-format
+msgid "if set to yes, run the daily security checks."
+msgstr "Køyr daglege tryggleikskontrollar viss sett til «ja»."
+
+#: security/help.pm:120
+#, c-format
+msgid "if set to yes, check additions/removals of sgid files."
+msgstr "Kontroller nye og fjerna sgid-filer viss sett til «ja»."
+
+#: security/help.pm:121
+#, c-format
+msgid "if set to yes, check empty password in /etc/shadow."
+msgstr "Kontroller tomt passord i «/etc/shadow» viss sett til «ja»."
+
+#: security/help.pm:122
+#, c-format
+msgid "if set to yes, verify checksum of the suid/sgid files."
+msgstr "Stadfest kontrollsum i suid/sgid-filer viss sett til «ja»."
+
+#: security/help.pm:123
+#, c-format
+msgid "if set to yes, check additions/removals of suid root files."
+msgstr "Kontroller nye og fjerna suid-filer til «root» viss sett til «ja»."
+
+#: security/help.pm:124
+#, c-format
+msgid "if set to yes, report unowned files."
+msgstr "Rapporter eigarlause filer viss sett til «ja»."
+
+#: security/help.pm:125
+#, c-format
+msgid "if set to yes, check files/directories writable by everybody."
+msgstr ""
+"Kontroller om filer og mapper er skrivbare for alle viss sett til «ja»."
+
+#: security/help.pm:126
+#, c-format
+msgid "if set to yes, run chkrootkit checks."
+msgstr "Køyr «chkrootkit»-kontrollar viss sett til «ja»."
+
+#: security/help.pm:127
+#, c-format
+msgid ""
+"if set, send the mail report to this email address else send it to root."
+msgstr "Send rapport på e-post til denne adressa, eller til «root» viss tom."
+
+#: security/help.pm:128
+#, c-format
+msgid "if set to yes, report check result by mail."
+msgstr "Send rapport på e-post viss sett til «ja»."
+
+#: security/help.pm:129
+#, c-format
+msgid "Do not send mails if there's nothing to warn about"
+msgstr "Ikkje send e-postar om det ikkje er noko å åtvara mot."
+
+#: security/help.pm:130
+#, c-format
+msgid "if set to yes, run some checks against the rpm database."
+msgstr "Køyr nokre kontrollar mot rpm-databasen viss sett til «ja»."
+
+#: security/help.pm:131
+#, c-format
+msgid "if set to yes, report check result to syslog."
+msgstr ""
+"Rapporter resultatet av kontrollar til systemloggen viss sett til «ja»."
+
+#: security/help.pm:132
+#, c-format
+msgid "if set to yes, reports check result to tty."
+msgstr "Rapporter resultatet av kontrollar til tty viss sett til «ja»."
+
+#: security/help.pm:134
+#, c-format
+msgid "Set shell commands history size. A value of -1 means unlimited."
+msgstr "Vel storleik på kommandologg for skal. Bruk «-1» for inga grense."
+
+#: security/help.pm:136
+#, c-format
+msgid "Set the shell timeout. A value of zero means no timeout."
+msgstr "Vel avbrotsgrense for skal. Bruk «0» for inga tidsavbrot."
+
+#: security/help.pm:136
+#, c-format
+msgid "Timeout unit is second"
+msgstr "Avbrotseininga er sekund"
+
+#: security/help.pm:138
+#, c-format
+msgid "Set the user umask."
+msgstr "Vel umask for brukar."
+
+#: security/l10n.pm:11
+#, c-format
+msgid "Accept bogus IPv4 error messages"
+msgstr "Godta ugyldige IPv4-feilmeldingar"
+
+#: security/l10n.pm:12
+#, c-format
+msgid "Accept broadcasted icmp echo"
+msgstr "Godta kringkasta icmp-ekko"
+
+#: security/l10n.pm:13
+#, c-format
+msgid "Accept icmp echo"
+msgstr "Godta icmp-ekko"
+
+#: security/l10n.pm:15
+#, c-format
+msgid "/etc/issue* exist"
+msgstr "«/etc/issue*» finst"
+
+#: security/l10n.pm:16
+#, c-format
+msgid "Reboot by the console user"
+msgstr "Omstart av konsollbrukar"
+
+#: security/l10n.pm:17
+#, c-format
+msgid "Allow remote root login"
+msgstr "Godta «root»-innlogging utanfrå"
+
+#: security/l10n.pm:18
+#, c-format
+msgid "Direct root login"
+msgstr "Direkte «root»-innlogging"
+
+#: security/l10n.pm:19
+#, c-format
+msgid "List users on display managers (kdm and gdm)"
+msgstr "Vis brukarar på innloggingshandsamarar (kdm og gdm)"
+
+#: security/l10n.pm:20
+#, c-format
+msgid "Export display when passing from root to the other users"
+msgstr "Eksporter skjermbilete ved sending frå «root» til andre brukarar"
+
+#: security/l10n.pm:21
+#, c-format
+msgid "Allow X Window connections"
+msgstr "Godta X Window-samband"
+
+#: security/l10n.pm:22
+#, c-format
+msgid "Authorize TCP connections to X Window"
+msgstr "Autoriser TCP-samband til X Windows"
+
+#: security/l10n.pm:23
+#, c-format
+msgid "Authorize all services controlled by tcp_wrappers"
+msgstr "Autoriser alle tenester kontroller av tcp_wrappers"
+
+#: security/l10n.pm:24
+#, c-format
+msgid "Chkconfig obey msec rules"
+msgstr "Chkconfig skal følgja msec-reglar"
+
+#: security/l10n.pm:25
+#, c-format
+msgid "Enable \"crontab\" and \"at\" for users"
+msgstr "Slå på «crontab» og «at» for brukarar"
+
+#: security/l10n.pm:26
+#, c-format
+msgid "Syslog reports to console 12"
+msgstr "Systemloggrapportar til konsoll 12"
+
+#: security/l10n.pm:27
+#, c-format
+msgid "Name resolution spoofing protection"
+msgstr "Vern mot namneoppslagforfalsking."
+
+#: security/l10n.pm:28
+#, c-format
+msgid "Enable IP spoofing protection"
+msgstr "Bruk vern mot IP-forfalsking"
+
+#: security/l10n.pm:29
+#, c-format
+msgid "Enable libsafe if libsafe is found on the system"
+msgstr "Bruk libsafe om libsafe er tilgjengeleg på systemet"
+
+#: security/l10n.pm:30
+#, c-format
+msgid "Enable the logging of IPv4 strange packets"
+msgstr "Loggfør merkelege IPv4-pakkar"
+
+#: security/l10n.pm:31
+#, c-format
+msgid "Enable msec hourly security check"
+msgstr "Køyr msec-tryggleikskontroll kvar time"
+
+#: security/l10n.pm:32
+#, c-format
+msgid "Enable su only from the wheel group members"
+msgstr "Godta «su» berre frå medlemmar i «wheel»-gruppa"
+
+#: security/l10n.pm:33
+#, c-format
+msgid "Use password to authenticate users"
+msgstr "Bruk passord til å autentisera brukarar"
+
+#: security/l10n.pm:34
+#, c-format
+msgid "Ethernet cards promiscuity check"
+msgstr "Promiskuitetskontroll for nettverkskort"
+
+#: security/l10n.pm:35
+#, c-format
+msgid "Daily security check"
+msgstr "Dagleg tryggleikskontroll"
+
+#: security/l10n.pm:36
+#, c-format
+msgid "Sulogin(8) in single user level"
+msgstr "Sulogin(8) i éinbrukarnivå"
+
+#: security/l10n.pm:37
+#, c-format
+msgid "No password aging for"
+msgstr "Inga passordelding for"
+
+#: security/l10n.pm:38
+#, c-format
+msgid "Set password expiration and account inactivation delays"
+msgstr "Vel passordutløps- og kontodeaktiveringsforseinking"
+
+#: security/l10n.pm:39
+#, c-format
+msgid "Password history length"
+msgstr "Passordlogglengd"
+
+#: security/l10n.pm:40
+#, c-format
+msgid "Password minimum length and number of digits and upcase letters"
+msgstr "Minstegrense for passordlengd og talet på siffer og store bokstavar"
+
+#: security/l10n.pm:41
+#, c-format
+msgid "Root umask"
+msgstr "Root-umask"
+
+#: security/l10n.pm:42
+#, c-format
+msgid "Shell history size"
+msgstr "Skalloggstorleik"
+
+#: security/l10n.pm:43
+#, c-format
+msgid "Shell timeout"
+msgstr "Skal-tidsavbrot"
+
+#: security/l10n.pm:44
+#, c-format
+msgid "User umask"
+msgstr "Brukar-umask"
+
+#: security/l10n.pm:45
+#, c-format
+msgid "Check open ports"
+msgstr "Sjå etter opne portar"
+
+#: security/l10n.pm:46
+#, c-format
+msgid "Check for unsecured accounts"
+msgstr "Sjå etter usikra kontoar"
+
+#: security/l10n.pm:47
+#, c-format
+msgid "Check permissions of files in the users' home"
+msgstr "Kontroller løyve på filer i brukarens heimemappe"
+
+#: security/l10n.pm:48
+#, c-format
+msgid "Check if the network devices are in promiscuous mode"
+msgstr "Sjå om nettverkseiningar er i promiskuitetsmodus"
+
+#: security/l10n.pm:49
+#, c-format
+msgid "Run the daily security checks"
+msgstr "Køyr daglege tryggleikskontrollar"
+
+#: security/l10n.pm:50
+#, c-format
+msgid "Check additions/removals of sgid files"
+msgstr "Kontroller tillegg/fjerning av sgid-filer"
+
+#: security/l10n.pm:51
+#, c-format
+msgid "Check empty password in /etc/shadow"
+msgstr "Sjå etter tomme passord i /etc/shadow"
+
+#: security/l10n.pm:52
+#, c-format
+msgid "Verify checksum of the suid/sgid files"
+msgstr "Stadfest kontrollsum til suid/sgid-filene"
+
+#: security/l10n.pm:53
+#, c-format
+msgid "Check additions/removals of suid root files"
+msgstr "Sjå etter tillegg og fjerning av suid-root-filer"
+
+#: security/l10n.pm:54
+#, c-format
+msgid "Report unowned files"
+msgstr "Meld frå om eigarlause filer"
+
+#: security/l10n.pm:55
+#, c-format
+msgid "Check files/directories writable by everybody"
+msgstr "Kontroller filer og mapper som er skrivbare for alle"
+
+#: security/l10n.pm:56
+#, c-format
+msgid "Run chkrootkit checks"
+msgstr "Køyr chkrootkit-kontrollar"
+
+#: security/l10n.pm:57
+#, c-format
+msgid "Do not send empty mail reports"
+msgstr "Ikkje send tomme e-postrapportar"
+
+#: security/l10n.pm:58
+#, c-format
+msgid "If set, send the mail report to this email address else send it to root"
+msgstr ""
+"Viss kryssa av, vert e-postrapporten sendt til denne adressa, og ikkje til "
+"root"
+
+#: security/l10n.pm:59
+#, c-format
+msgid "Report check result by mail"
+msgstr "Rapporter resultatet over e-post"
+
+#: security/l10n.pm:60
+#, c-format
+msgid "Run some checks against the rpm database"
+msgstr "Køyr nokre kontrollar på rpm-databasen"
+
+#: security/l10n.pm:61
+#, c-format
+msgid "Report check result to syslog"
+msgstr "Rapporter kontrollresultatet til systemloggen"
+
+#: security/l10n.pm:62
+#, c-format
+msgid "Reports check result to tty"
+msgstr "Rapporter kontrollresultat til tty"
+
+#: security/level.pm:10
+#, c-format
+msgid "Welcome To Crackers"
+msgstr "Velkommen til Crackers"
+
+#: security/level.pm:11
+#, c-format
+msgid "Poor"
+msgstr "Dårleg"
+
+#: security/level.pm:12
+#, c-format
+msgid "Standard"
+msgstr "Standard"
+
+#: security/level.pm:13
+#, c-format
+msgid "High"
+msgstr "Høg"
+
+#: security/level.pm:14
+#, c-format
+msgid "Higher"
+msgstr "Høgare"
+
+#: security/level.pm:15
+#, c-format
+msgid "Paranoid"
+msgstr "Paranoid"
+
+#: security/level.pm:41
+#, c-format
+msgid ""
+"This level is to be used with care. It makes your system more easy to use,\n"
+"but very sensitive. It must not be used for a machine connected to others\n"
+"or to the Internet. There is no password access."
+msgstr ""
+"Dette nivået må brukast med varsemd. Det kan gjera systemet lettare å bruka, "
+"men òg mykje meir sårbar. Du må ikkje bruka det på ei maskin kopla til andre "
+"maskiner, eller til Internett. Ingen passord vert brukt."
+
+#: security/level.pm:44
+#, c-format
+msgid ""
+"Passwords are now enabled, but use as a networked computer is still not "
+"recommended."
+msgstr ""
+"Passord vert no brukt, men du bør likevel ikkje kopla maskina opp mot andre "
+"maskiner eller mot Internett."
+
+#: security/level.pm:45
+#, c-format
+msgid ""
+"This is the standard security recommended for a computer that will be used "
+"to connect to the Internet as a client."
+msgstr ""
+"Dette er standard tryggleik for ei maskin som er kopla til Internett som ein "
+"klient."
+
+#: security/level.pm:46
+#, c-format
+msgid ""
+"There are already some restrictions, and more automatic checks are run every "
+"night."
+msgstr ""
+"Det finst allereie nokre avgrensingar, og fleire automatiske kontrollar vert "
+"køyrde kvar natt."
+
+#: security/level.pm:47
+#, c-format
+msgid ""
+"With this security level, the use of this system as a server becomes "
+"possible.\n"
+"The security is now high enough to use the system as a server which can "
+"accept\n"
+"connections from many clients. Note: if your machine is only a client on the "
+"Internet, you should choose a lower level."
+msgstr ""
+"Med dette tryggleiksnivået kan du bruka systemet som ein tenar.\n"
+"Merk: viss maskina berre er ein klient på Internett, bør du velja eit lågare "
+"tryggleiksnivå."
+
+#: security/level.pm:50
+#, c-format
+msgid ""
+"This is similar to the previous level, but the system is entirely closed and "
+"security features are at their maximum."
+msgstr ""
+"Dette nivået er basert på førre nivå, men systemet er heilt lukka, og alle "
+"tryggleiksfunksjonar er i bruk."
+
+#: security/level.pm:55
+#, c-format
+msgid "Security"
+msgstr "Tryggleik"
+
+#: security/level.pm:55
+#, c-format
+msgid "DrakSec Basic Options"
+msgstr "Standardval"
+
+#: security/level.pm:57
+#, c-format
+msgid "Please choose the desired security level"
+msgstr "Vel tryggleiksnivå"
+
+#: security/level.pm:61
+#, c-format
+msgid "Security level"
+msgstr "Tryggleiksnivå"
+
+#: security/level.pm:63
+#, c-format
+msgid "Use libsafe for servers"
+msgstr "Bruk libsafe for tenarar"
+
+#: security/level.pm:64
+#, c-format
+msgid ""
+"A library which defends against buffer overflow and format string attacks."
+msgstr ""
+"Eit bibliotek som vernar mot overflytsfeil og strengformateringsangrep."
+
+#: security/level.pm:65
+#, c-format
+msgid "Security Administrator (login or email)"
+msgstr "Tryggleiksansvarleg (brukarnamn eller e-postadresse)"
+
+#: services.pm:19
+#, c-format
+msgid "Launch the ALSA (Advanced Linux Sound Architecture) sound system"
+msgstr "Start ALSA-lydsystemet (Advanced Linux Sound Architecture)"
+
+#: services.pm:20
+#, c-format
+msgid "Anacron is a periodic command scheduler."
+msgstr "Anacron er eit system for tidsinnstilt kommandokøyring."
+
+#: services.pm:21
+#, c-format
+msgid ""
+"apmd is used for monitoring battery status and logging it via syslog.\n"
+"It can also be used for shutting down the machine when the battery is low."
+msgstr ""
+"Programmet apmd vert brukt til å overvaka og logga batteristatus.\n"
+"Du kan òg bruka det til å slå av maskina når batteriet held på å gå tomt."
+
+#: services.pm:23
+#, c-format
+msgid ""
+"Runs commands scheduled by the at command at the time specified when\n"
+"at was run, and runs batch commands when the load average is low enough."
+msgstr ""
+"Køyrer kommandoar planlagde av at-kommandoen på tider valde ved køyring av "
+"at, samt køyrer skriptkommandoar når resursbruken er låg nok."
+
+#: services.pm:25
+#, c-format
+msgid ""
+"cron is a standard UNIX program that runs user-specified programs\n"
+"at periodic scheduled times. vixie cron adds a number of features to the "
+"basic\n"
+"UNIX cron, including better security and more powerful configuration options."
+msgstr ""
+"Programmet cron køyrer brukarvalde program på faste tider, og vixie cron er "
+"ei utgåve med fleire funksjonar, blant anna betre tryggleik og avanserte "
+"oppsettval."
+
+#: services.pm:28
+#, c-format
+msgid ""
+"FAM is a file monitoring daemon. It is used to get reports when files "
+"change.\n"
+"It is used by GNOME and KDE"
+msgstr ""
+"FAM er ei filovervakingsteneste, som vert brukt til å melda frå når filer "
+"vert endra.\n"
+"Tenesta er brukt av GNOME og KDE."
+
+#: services.pm:30
+#, c-format
+msgid ""
+"GPM adds mouse support to text-based Linux applications such the\n"
+"Midnight Commander. It also allows mouse-based console cut-and-paste "
+"operations,\n"
+"and includes support for pop-up menus on the console."
+msgstr ""
+"GPM gjev musstøtte til tekstbaserte Linux-program, som for eksempel Midnight "
+"Commander. Programmet gjer det òg mogleg å kopiera og lim inn tekst frå "
+"konsollen."
+
+#: services.pm:33
+#, c-format
+msgid ""
+"HardDrake runs a hardware probe, and optionally configures\n"
+"new/changed hardware."
+msgstr ""
+"HardDrake køyrer eit maskinvaresøk, og kan setja opp ny og endra maskinvare."
+
+#: services.pm:35
+#, c-format
+msgid ""
+"Apache is a World Wide Web server. It is used to serve HTML files and CGI."
+msgstr "Apache er ein vevtenar."
+
+#: services.pm:36
+#, c-format
+msgid ""
+"The internet superserver daemon (commonly called inetd) starts a\n"
+"variety of other internet services as needed. It is responsible for "
+"starting\n"
+"many services, including telnet, ftp, rsh, and rlogin. Disabling inetd "
+"disables\n"
+"all of the services it is responsible for."
+msgstr ""
+"Supertenartenesta (ofte kalla «inetd») startar fleire ulike Internett-\n"
+"tenester etter kvart som dei trengst. Nokre av desse tenestene er\n"
+"telnet, ftp, rsh og rlogin. Viss du slår av inetd, kan du ikkje bruka\n"
+"nokon av desse tenestene."
+
+#: services.pm:40
+#, c-format
+msgid ""
+"Launch packet filtering for Linux kernel 2.2 series, to set\n"
+"up a firewall to protect your machine from network attacks."
+msgstr ""
+"Køyr pakkefiltrering for Linux-kjernen 2.2, for å setja opp\n"
+"ein brannmur for å verna maskina mot nettverksangrep."
+
+#: services.pm:42
+#, c-format
+msgid ""
+"This package loads the selected keyboard map as set in\n"
+"/etc/sysconfig/keyboard. This can be selected using the kbdconfig utility.\n"
+"You should leave this enabled for most machines."
+msgstr ""
+"Denne pakken lastar tastaturkartet valt i /etc/sysconfig/keyboard.\n"
+"Du kan velja tastaturkart med programmet kbdconfig.\n"
+"Denne bør stå på for dei fleste maskiner."
+
+#: services.pm:45
+#, c-format
+msgid ""
+"Automatic regeneration of kernel header in /boot for\n"
+"/usr/include/linux/{autoconf,version}.h"
+msgstr ""
+"Automatisk regenerering av kjernehovudet i /boot for «/usr/include/linux/"
+"{autoconf,versjon}.h»."
+
+#: services.pm:47
+#, c-format
+msgid "Automatic detection and configuration of hardware at boot."
+msgstr "Automatisk søk etter, og oppsett av, maskinvare ved oppstart."
+
+#: services.pm:48
+#, c-format
+msgid ""
+"Linuxconf will sometimes arrange to perform various tasks\n"
+"at boot-time to maintain the system configuration."
+msgstr ""
+"Linuxconf vil av og til setja opp ymse oppgåver ved oppstart\n"
+"for vedlikehald av systemoppsettet."
+
+#: services.pm:50
+#, c-format
+msgid ""
+"lpd is the print daemon required for lpr to work properly. It is\n"
+"basically a server that arbitrates print jobs to printer(s)."
+msgstr ""
+"lpd er utskriftstenesta som må køyra for at lpr skal fungera.\n"
+"Programmet er i hovudsak ein tenar som fordeler utskriftsjobbar til "
+"skrivarar."
+
+#: services.pm:52
+#, c-format
+msgid ""
+"Linux Virtual Server, used to build a high-performance and highly\n"
+"available server."
+msgstr ""
+"Linux Virtual Server – brukt til å byggja ein rask og godt tilgjengeleg "
+"tenar."
+
+#: services.pm:54
+#, c-format
+msgid ""
+"named (BIND) is a Domain Name Server (DNS) that is used to resolve host "
+"names to IP addresses."
+msgstr ""
+"named (BIND) er ein domenamntenar (DNS) som vert brukt å fastsetja IP-"
+"adresser ut frå vertsnamn."
+
+#: services.pm:55
+#, c-format
+msgid ""
+"Mounts and unmounts all Network File System (NFS), SMB (Lan\n"
+"Manager/Windows), and NCP (NetWare) mount points."
+msgstr ""
+"Monterer og avmonterer alle nettverksfilsystem- (NFS), SMB- (Lan\n"
+"Manager / Windows) og NCP-monteringspunkt (NetWare)."
+
+#: services.pm:57
+#, c-format
+msgid ""
+"Activates/Deactivates all network interfaces configured to start\n"
+"at boot time."
+msgstr ""
+"Slå på/av alle nettverksgrensesnitt sett opp til å startast ved "
+"systemoppstart."
+
+#: services.pm:59
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP networks.\n"
+"This service provides NFS server functionality, which is configured via the\n"
+"/etc/exports file."
+msgstr ""
+"NFS er ein populær protokoll for fildeling over TCP/IP-nettverk.\n"
+"Denne tenesta gjev NFS-tenarfunksjonalitet, som er sett opp via fila «/etc/"
+"exports»."
+
+#: services.pm:62
+#, c-format
+msgid ""
+"NFS is a popular protocol for file sharing across TCP/IP\n"
+"networks. This service provides NFS file locking functionality."
+msgstr ""
+"NFS er ein populær protokoll for fildeling over TCP/IP-nettverk.\n"
+"Denne tenesta gjev fillåsingsstøtte i NFS."
+
+#: services.pm:64
+#, c-format
+msgid ""
+"Automatically switch on numlock key locker under console\n"
+"and Xorg at boot."
+msgstr "Slå automatisk på «Num Lock» på konsollar og X.org ved systemoppstart."
+
+#: services.pm:66
+#, c-format
+msgid "Support the OKI 4w and compatible winprinters."
+msgstr "Støtte OKI 4w og kompatible Windows-skrivarar."
+
+#: services.pm:67
+#, c-format
+msgid ""
+"PCMCIA support is usually to support things like ethernet and\n"
+"modems in laptops. It will not get started unless configured so it is safe "
+"to have\n"
+"it installed on machines that do not need it."
+msgstr ""
+"Du treng vanlegvis PCMCIA-støtta til nettverkskort og modem i\n"
+"bærbare maskiner. Støtta vert ikkje slått på med mindre ho er\n"
+"sett opp slik at ho er trygg å bruka på maskiner som ikkje treng ho."
+
+#: services.pm:70
+#, c-format
+msgid ""
+"The portmapper manages RPC connections, which are used by\n"
+"protocols such as NFS and NIS. The portmap server must be running on "
+"machines\n"
+"which act as servers for protocols which make use of the RPC mechanism."
+msgstr ""
+"Portmapper handterer RPC-samband, som vert brukt av blant anna\n"
+"protokollane NFS og NIS. Du må køyra portmap-tenaren på maskiner\n"
+"som vert brukte som tenarar for protokollar som brukar RPC."
+
+#: services.pm:73
+#, c-format
+msgid ""
+"Postfix is a Mail Transport Agent, which is the program that moves mail from "
+"one machine to another."
+msgstr ""
+"Postfix er eit program for overføring av elektronisk post mellom maskiner."
+
+#: services.pm:74
+#, c-format
+msgid ""
+"Saves and restores system entropy pool for higher quality random\n"
+"number generation."
+msgstr ""
+"Lagrar og gjenopprettar systementropigrunnlag for betre slumptalsgenerering."
+
+#: services.pm:76
+#, c-format
+msgid ""
+"Assign raw devices to block devices (such as hard drive\n"
+"partitions), for the use of applications such as Oracle or DVD players"
+msgstr ""
+"Tildeler råeiningar til blokkeiningar (som harddiskpartisjonar) for bruk\n"
+"av program som for eksempel Oracle og DVD-spelarar."
+
+#: services.pm:78
+#, c-format
+msgid ""
+"The routed daemon allows for automatic IP router table updated via\n"
+"the RIP protocol. While RIP is widely used on small networks, more complex\n"
+"routing protocols are needed for complex networks."
+msgstr ""
+"Tenesta routed gjer det mogleg med automatisk oppdatering av IP-tabellen\n"
+"til rutaren via RIP-protokollen. RIP vert mykje brukt i mindre nettverk, men "
+"du\n"
+"treng meir avanserte ruteprotokollar for store nettverk."
+
+#: services.pm:81
+#, c-format
+msgid ""
+"The rstat protocol allows users on a network to retrieve\n"
+"performance metrics for any machine on that network."
+msgstr ""
+"Protokollen rstat lèt brukarar på nettverket henta\n"
+"ytingsstatistikk for andre maskiner på nettverket."
+
+#: services.pm:83
+#, c-format
+msgid ""
+"The rusers protocol allows users on a network to identify who is\n"
+"logged in on other responding machines."
+msgstr ""
+"Protokollen rusers lèt brukarar på nettverket identifisera\n"
+"kven som er logga inn på andre maskiner."
+
+#: services.pm:85
+#, c-format
+msgid ""
+"The rwho protocol lets remote users get a list of all of the users\n"
+"logged into a machine running the rwho daemon (similar to finger)."
+msgstr ""
+"Protokollen rwho lar fjernbrukarar henta ei oversikt over alle\n"
+"brukarar logga på maskiner som køyrer rwho-tenesta."
+
+#: services.pm:87
+#, c-format
+msgid "Launch the sound system on your machine"
+msgstr "Start lydsystemet på maskina"
+
+#: services.pm:88
+#, c-format
+msgid ""
+"Syslog is the facility by which many daemons use to log messages\n"
+"to various system log files. It is a good idea to always run syslog."
+msgstr ""
+"Syslog er ei teneste mange andre tenester brukar til å logga\n"
+"meldingar til systemloggfilene. Du bør alltid køyra syslog."
+
+#: services.pm:90
+#, c-format
+msgid "Load the drivers for your usb devices."
+msgstr "Last drivarane for USB-einingane dine."
+
+#: services.pm:91
+#, c-format
+msgid "Starts the X Font Server (this is mandatory for Xorg to run)."
+msgstr "Startar X-skrifttenaren (du treng denne for å køyra X.org)."
+
+#: services.pm:114
+#, c-format
+msgid "Printing"
+msgstr "Utskrift"
+
+#: services.pm:115
+#, c-format
+msgid "Internet"
+msgstr "Internett"
+
+#: services.pm:118
+#, c-format
+msgid "File sharing"
+msgstr "Fildeling"
+
+#: services.pm:120
+#, c-format
+msgid "System"
+msgstr "System"
+
+#: services.pm:125
+#, c-format
+msgid "Remote Administration"
+msgstr "Fjernadministrering"
+
+#: services.pm:133
+#, c-format
+msgid "Database Server"
+msgstr "Databasetenar"
+
+#: services.pm:144 services.pm:180
+#, c-format
+msgid "Services"
+msgstr "Tenester"
+
+#: services.pm:144
+#, c-format
+msgid "Choose which services should be automatically started at boot time"
+msgstr "Vel kva tenester du vil starta automatisk ved oppstart"
+
+#: services.pm:162
+#, c-format
+msgid "Services: %d activated for %d registered"
+msgstr "Tenester: %d slått på av %d registrerte"
+
+#: services.pm:196
+#, c-format
+msgid "running"
+msgstr "køyrer"
+
+#: services.pm:196
+#, c-format
+msgid "stopped"
+msgstr "stoppa"
+
+#: services.pm:201
+#, c-format
+msgid "Services and daemons"
+msgstr "Tenester og tenarar"
+
+#: services.pm:207
+#, c-format
+msgid ""
+"No additional information\n"
+"about this service, sorry."
+msgstr ""
+"Det finst ingen ekstrainformasjon\n"
+"om denne tenesta."
+
+#: services.pm:212 ugtk2.pm:898
+#, c-format
+msgid "Info"
+msgstr "Informasjon"
+
+#: services.pm:215
+#, c-format
+msgid "Start when requested"
+msgstr "Start ved førespurnad"
+
+#: services.pm:215
+#, c-format
+msgid "On boot"
+msgstr "Ved oppstart"
+
+#: services.pm:233
+#, c-format
+msgid "Start"
+msgstr "Start"
+
+#: services.pm:233
+#, c-format
+msgid "Stop"
+msgstr "Stopp"
+
+#: standalone.pm:24
+#, c-format
+msgid ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 2, or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+msgstr ""
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation, either version 2 or (at your option)\n"
+"any later version.\n"
+"\n"
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY, without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License\n"
+"along with this program; if not, write to the Free Software\n"
+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
+"USA.\n"
+
+#: standalone.pm:43
+#, c-format
+msgid ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Backup and Restore application\n"
+"\n"
+"--default : save default directories.\n"
+"--debug : show all debug messages.\n"
+"--show-conf : list of files or directories to backup.\n"
+"--config-info : explain configuration file options (for non-X "
+"users).\n"
+"--daemon : use daemon configuration. \n"
+"--help : show this message.\n"
+"--version : show version number.\n"
+msgstr ""
+"[--config-info] [--daemon] [--debug] [--default] [--show-conf]\n"
+"Program for reservekopiering og gjenoppretting.\n"
+"\n"
+"--default – Lagra standardmapper.\n"
+"--debug – Vis alle feilsøkingsmeldingar.\n"
+"--show-conf – Oversikt over filer og mapper å ta kopi av.\n"
+"--config-info – Forklar val for oppsettfila (for ikkje-grafiske "
+"brukarar).\n"
+"--daemon – Bruk daemon-oppsett. \n"
+"--help – Vis denne meldinga.\n"
+"--version – Vis versjonsnummer.\n"
+
+#: standalone.pm:55
+#, c-format
+msgid ""
+"[--boot] [--splash]\n"
+"OPTIONS:\n"
+" --boot - enable to configure boot loader\n"
+" --splash - enable to configure boot theme\n"
+"default mode: offer to configure autologin feature"
+msgstr ""
+"[--boot] [--splash]\n"
+"VAL:\n"
+" --boot – Set opp oppstartslastar.\n"
+" --splash – Sett opp oppstartstema.\n"
+"Standardmodus: Spør om oppsett av autoinnlogging."
+
+#: standalone.pm:60
+#, c-format
+msgid ""
+"[OPTIONS] [PROGRAM_NAME]\n"
+"\n"
+"OPTIONS:\n"
+" --help - print this help message.\n"
+" --report - program should be one of Mandriva Linux tools\n"
+" --incident - program should be one of Mandriva Linux tools"
+msgstr ""
+
+#: standalone.pm:66
+#, c-format
+msgid ""
+"[--add]\n"
+" --add - \"add a network interface\" wizard\n"
+" --del - \"delete a network interface\" wizard\n"
+" --skip-wizard - manage connections\n"
+" --internet - configure internet\n"
+" --wizard - like --add"
+msgstr ""
+
+#: standalone.pm:72
+#, c-format
+msgid ""
+"\n"
+"Font Importation and monitoring application\n"
+"\n"
+"OPTIONS:\n"
+"--windows_import : import from all available windows partitions.\n"
+"--xls_fonts : show all fonts that already exist from xls\n"
+"--install : accept any font file and any directory.\n"
+"--uninstall : uninstall any font or any directory of font.\n"
+"--replace : replace all font if already exist\n"
+"--application : 0 none application.\n"
+" : 1 all application available supported.\n"
+" : name_of_application like so for staroffice \n"
+" : and gs for ghostscript for only this one."
+msgstr ""
+
+#: standalone.pm:87
+#, c-format
+msgid ""
+"[OPTIONS]...\n"
+"Mandriva Linux Terminal Server Configurator\n"
+"--enable : enable MTS\n"
+"--disable : disable MTS\n"
+"--start : start MTS\n"
+"--stop : stop MTS\n"
+"--adduser : add an existing system user to MTS (requires username)\n"
+"--deluser : delete an existing system user from MTS (requires "
+"username)\n"
+"--addclient : add a client machine to MTS (requires MAC address, IP, "
+"nbi image name)\n"
+"--delclient : delete a client machine from MTS (requires MAC address, "
+"IP, nbi image name)"
+msgstr ""
+
+#: standalone.pm:99
+#, c-format
+msgid "[keyboard]"
+msgstr "[tastatur]"
+
+#: standalone.pm:100
+#, c-format
+msgid "[--file=myfile] [--word=myword] [--explain=regexp] [--alert]"
+msgstr "[--file=mifil] [--word=mittord] [--explain=regulært-uttrykk] [--alert]"
+
+#: standalone.pm:101
+#, c-format
+msgid ""
+"[OPTIONS]\n"
+"Network & Internet connection and monitoring application\n"
+"\n"
+"--defaultintf interface : show this interface by default\n"
+"--connect : connect to internet if not already connected\n"
+"--disconnect : disconnect to internet if already connected\n"
+"--force : used with (dis)connect : force (dis)connection.\n"
+"--status : returns 1 if connected 0 otherwise, then exit.\n"
+"--quiet : do not be interactive. To be used with (dis)connect."
+msgstr ""
+
+#: standalone.pm:111
+#, c-format
+msgid ""
+"[OPTION]...\n"
+" --no-confirmation do not ask first confirmation question in Mandriva "
+"Update mode\n"
+" --no-verify-rpm do not verify packages signatures\n"
+" --changelog-first display changelog before filelist in the "
+"description window\n"
+" --merge-all-rpmnew propose to merge all .rpmnew/.rpmsave files found"
+msgstr ""
+
+#: standalone.pm:116
+#, c-format
+msgid ""
+"[--manual] [--device=dev] [--update-sane=sane_source_dir] [--update-"
+"usbtable] [--dynamic=dev]"
+msgstr ""
+"[--manual] [--device=eining] [--update-sane=sane-kjelde-mappe] [--update-"
+"usbtable] [--dynamic=eining]"
+
+#: standalone.pm:117
+#, c-format
+msgid ""
+" [everything]\n"
+" XFdrake [--noauto] monitor\n"
+" XFdrake resolution"
+msgstr ""
+" [alt]\n"
+" XFdrake [--noauto] skjerm\n"
+" XFdrake oppløysing"
+
+#: standalone.pm:150
+#, c-format
+msgid ""
+"\n"
+"Usage: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+msgstr ""
+"\n"
+"Bruk: %s [--auto] [--beginner] [--expert] [-h|--help] [--noauto] [--"
+"testing] [-v|--version] "
+
+#: timezone.pm:148 timezone.pm:149
+#, c-format
+msgid "All servers"
+msgstr "Alle tenarar"
+
+#: timezone.pm:183
+#, c-format
+msgid "Global"
+msgstr "Global"
+
+#: timezone.pm:186
+#, c-format
+msgid "Africa"
+msgstr "Afrika"
+
+#: timezone.pm:187
+#, c-format
+msgid "Asia"
+msgstr "Asia"
+
+#: timezone.pm:188
+#, c-format
+msgid "Europe"
+msgstr "Europa"
+
+#: timezone.pm:189
+#, c-format
+msgid "North America"
+msgstr "Nord-Amerika"
+
+#: timezone.pm:190
+#, c-format
+msgid "Oceania"
+msgstr "Oseania"
+
+#: timezone.pm:191
+#, c-format
+msgid "South America"
+msgstr "Sør-Amerika"
+
+#: timezone.pm:200
+#, c-format
+msgid "Hong Kong"
+msgstr "Hongkong"
+
+#: timezone.pm:237
+#, c-format
+msgid "Russian Federation"
+msgstr "Russland"
+
+#: timezone.pm:245
+#, c-format
+msgid "Yugoslavia"
+msgstr "Serbia og Montenegro"
+
+#: ugtk2.pm:788
+#, c-format
+msgid "Is this correct?"
+msgstr "Er dette rett?"
+
+#: ugtk2.pm:848
+#, c-format
+msgid "No file chosen"
+msgstr "Inga fil vald"
+
+#: ugtk2.pm:850
+#, c-format
+msgid "You have chosen a file, not a directory"
+msgstr "Du har vald ei fil og ikkje ei mappe."
+
+#: ugtk2.pm:852
+#, c-format
+msgid "You have chosen a directory, not a file"
+msgstr "Du har vald ei mappe og ikkje ei fil."
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such directory"
+msgstr "Mappa finst ikkje"
+
+#: ugtk2.pm:854
+#, c-format
+msgid "No such file"
+msgstr "Fila finst ikkje"
+
+#: ugtk2.pm:933
+#, c-format
+msgid "Expand Tree"
+msgstr "Utvid tre"
+
+#: ugtk2.pm:934
+#, c-format
+msgid "Collapse Tree"
+msgstr "Fald saman tre"
+
+#: ugtk2.pm:935
+#, c-format
+msgid "Toggle between flat and group sorted"
+msgstr "Byt mellom flat og gruppert vising."
+
+#: wizards.pm:95
+#, c-format
+msgid ""
+"%s is not installed\n"
+"Click \"Next\" to install or \"Cancel\" to quit"
+msgstr ""
+"%s er ikkje installert.\n"
+"Trykk «Neste» for å installera, eller «Avbryt» for å avslutta."
+
+#: wizards.pm:99
+#, c-format
+msgid "Installation failed"
+msgstr "Feil ved installering."
diff --git a/perl-install/share/po/pa_IN.po b/perl-install/share/po/pa_IN.po
new file mode 100644
index 000000000..d69c2aec6
--- /dev/null
+++ b/perl-install/share/po/pa_IN.po
@@ -0,0 +1,6445 @@
+# translation of DrakX.po to Punjabi
+# translation of DrakX.po to Panjabi
+# Copyright (C) 2005 Free Software Foundation, Inc.
+# Kanwaljeet Singh Brar <kanwaljeetbrar@yahoo.co.in>, 2005.
+# Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: DrakX\n"
+"POT-Creation-Date: 2007-03-21 12:10+0100\n"
+"PO-Revision-Date: 2005-03-27 17:55+0530\n"
+"Last-Translator: Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>\n"
+"Language-Team: Punjabi <punlinux-i18n@lists.soruceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#: any.pm:157 diskdrake/interactive.pm:422 diskdrake/interactive.pm:617
+#: diskdrake/interactive.pm:798 diskdrake/interactive.pm:842
+#: diskdrake/interactive.pm:904 diskdrake/interactive.pm:1188 do_pkgs.pm:209
+#: do_pkgs.pm:255 harddrake/sound.pm:195 interactive.pm:576
+#, c-format
+msgid "Please wait"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕੋ"
+
+#: any.pm:157
+#, c-format
+msgid "Bootloader installation in progress"
+msgstr "ਬੂਟ-ਲੋਡਰ ਇੰਸਟਾਲੇਸ਼ਨ ਹੋ ਰਹੀ ਹੈ"
+
+#: any.pm:168
+#, c-format
+msgid ""
+"LILO wants to assign a new Volume ID to drive %s. However, changing\n"
+"the Volume ID of a Windows NT, 2000, or XP boot disk is a fatal Windows "
+"error.\n"
+"This caution does not apply to Windows 95 or 98, or to NT data disks.\n"
+"\n"
+"Assign a new Volume ID?"
+msgstr ""
+"LILO ਡਰਾਈਵ %s ਨੂੰ ਨਵਾਂ ਵਾਲਿਅਮ ID ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ। ਭਾਵੇਂ, \n"
+"Windows NT, 2000, ਜਾਂ XP ਬੂਟ ਡਿਸਕ ਤਬਦੀਲ ਕਰਨੀ ਖਤਰਨਾਕ Windows ਗਲਤੀ ਹੈ।\n"
+"ਇਹ ਸਾਵਧਾਨੀ Windows 95 ਜਾਂ 98, ਜਾਂ NT ਡਾਟਾ ਡਿਸਕ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ।\n"
+"\n"
+"ਨਵਾਂ ਵਾਲਿਅਮ ID ਨਿਰਧਾਰਿਤ ਕਰੋ?"
+
+#: any.pm:179
+#, c-format
+msgid "Installation of bootloader failed. The following error occurred:"
+msgstr "ਬੂਟ-ਲੋਡਰ ਇੰਸਟਾਲੇਸ਼ਨ ਅਸਫਲ ਹੋਈ। ਹੇਠਲੀ ਗਲਤੀ ਹੋਈ ਹੈ:"
+
+#: any.pm:185
+#, c-format
+msgid ""
+"You may need to change your Open Firmware boot-device to\n"
+" enable the bootloader. If you do not see the bootloader prompt at\n"
+" reboot, hold down Command-Option-O-F at reboot and enter:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+" Then type: shut-down\n"
+"At your next boot you should see the bootloader prompt."
+msgstr ""
+"ਤੁਹਾਨੂੰ ਬੂਟ-ਲੋਡਰ ਯੋਗ ਕਰਨ ਲਈ ਆਪਣਾ Open Firmware ਬੂਟ-ਜੰਤਰ ਤਬਦੀਲ \n"
+"ਕਰਨ ਦੀ ਜਰੂਰਤ ਪੈ ਸਕਦੀ ਹੈ। ਜੇ ਤੁਸੀਂ ਮੁੜ ਚਲਾਉਣ ਤੇ ਬੂਟ-ਲੋਡਰ ਪਰੌਂਪਟ ਨਹੀਂ \n"
+"ਵੇਖਦੇ, ਮੁੜ ਚੱਲਣ ਤੇ Command-Option-O-F ਦਬਾ ਕੇ ਰੱਖੋ ਅਤੇ ਇਹ ਭਰੋ:\n"
+" setenv boot-device %s,\\\\:tbxi\n"
+"ਫਿਰ ਲਿਖੋ:shut-down\n"
+"ਅਗਲੀ ਬੂਟ ਤੇ ਤੁਹਾਨੂੰ ਬੂਟ-ਲੋਡਰ ਪਰੌਂਪਟ ਦਿਸਣਾ ਚਾਹੀਦਾ ਹੈ।"
+
+#: any.pm:223
+#, c-format
+msgid ""
+"You decided to install the bootloader on a partition.\n"
+"This implies you already have a bootloader on the hard drive you boot (eg: "
+"System Commander).\n"
+"\n"
+"On which drive are you booting?"
+msgstr ""
+"ਤੁਸੀਂ ਇੱਕ ਭਾਗ ਤੇ ਬੂਟ-ਲੋਡਰ ਇੰਸਟਾਲ ਕਰਨ ਬਾਰੇ ਫੈਸਲਾ ਕੀਤਾ ਹੈ।\n"
+"ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਬੂਟ ਕੀਤੀ ਹਾਰਡ ਡਰਾਈਵ ਤੇ ਬੂਟ-ਲੋਡਰ ਹੈ (ਜਿਵੇਂ: ਸਿਸਟਮ "
+"ਕਮਾਂਡਰ)।\n"
+"\n"
+"ਤੁਸੀਂ ਕਿਸ ਡਰਾਈਵ ਤੋਂ ਬੂਟ ਕਰਾ ਰਹੇ ਹੋ?"
+
+#: any.pm:246
+#, c-format
+msgid "First sector of drive (MBR)"
+msgstr "ਡਰਾਈਵ ਦਾ ਪਹਿਲਾ ਹਿੱਸਾ (MBR)"
+
+#: any.pm:247
+#, c-format
+msgid "First sector of the root partition"
+msgstr "root ਭਾਗ ਦਾ ਪਹਿਲਾ ਹਿੱਸਾ"
+
+#: any.pm:249
+#, c-format
+msgid "On Floppy"
+msgstr "ਫਲਾਪੀ ਤੇ"
+
+#: any.pm:251
+#, c-format
+msgid "Skip"
+msgstr "ਛੱਡੋ"
+
+#: any.pm:255
+#, c-format
+msgid "LILO/grub Installation"
+msgstr "LILO/grub ਇੰਸਟਾਲੇਸ਼ਨ"
+
+#: any.pm:257
+#, c-format
+msgid "Where do you want to install the bootloader?"
+msgstr "ਤੁਸੀ ਬੂਟ-ਲੋਡਰ ਕਿੱਥੇ ਇੰਸਟਾਲ ਕਰਨਾ ਚਾਹੋਗੇ?"
+
+#: any.pm:284
+#, c-format
+msgid "Boot Style Configuration"
+msgstr "ਬੂਟ ਸ਼ੈਲੀ ਸੰਰਚਨਾ"
+
+#: any.pm:294 any.pm:326 any.pm:327
+#, c-format
+msgid "Bootloader main options"
+msgstr "ਬੂਟ-ਲੋਡਰ ਮੁੱਖ ਚੋਣ"
+
+#: any.pm:299
+#, c-format
+msgid "Bootloader"
+msgstr "ਬੂਟ-ਲੋਡਰ"
+
+#: any.pm:300 any.pm:331
+#, c-format
+msgid "Bootloader to use"
+msgstr "ਵਰਤਣ ਲਈ ਬੂਟ-ਲੋਡਰ"
+
+#: any.pm:302 any.pm:333
+#, c-format
+msgid "Boot device"
+msgstr "ਬੂਟ ਜੰਤਰ"
+
+#: any.pm:304
+#, c-format
+msgid "Main options"
+msgstr ""
+
+#: any.pm:305
+#, c-format
+msgid "Delay before booting default image"
+msgstr "ਮੂਲ ਪ੍ਰਤੀਬਿੰਬ ਬੂਟ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਖਾਓ"
+
+#: any.pm:306
+#, c-format
+msgid "Enable ACPI"
+msgstr "ACPI ਯੋਗ ਕਰੋ"
+
+#: any.pm:307
+#, fuzzy, c-format
+msgid "Enable APIC"
+msgstr "ACPI ਯੋਗ ਕਰੋ"
+
+#: any.pm:308
+#, fuzzy, c-format
+msgid "Enable Local APIC"
+msgstr "ACPI ਯੋਗ ਕਰੋ"
+
+#: any.pm:310 any.pm:686 authentication.pm:196 diskdrake/smbnfs_gtk.pm:181
+#, c-format
+msgid "Password"
+msgstr "ਗੁਪਤ-ਕੋਡ"
+
+#: any.pm:312 authentication.pm:207
+#, c-format
+msgid "The passwords do not match"
+msgstr "ਗੁਪਤ-ਕੋਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ"
+
+#: any.pm:312 authentication.pm:207 diskdrake/interactive.pm:1348
+#, c-format
+msgid "Please try again"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਫਿਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ"
+
+#: any.pm:313
+#, fuzzy, c-format
+msgid "You can not use a password with %s"
+msgstr "ਤੁਸੀਂ ਮਾਊਂਟ %s ਸਥਿਤੀ ਲਈ ਇਨਕ੍ਰਿਪਡ ਫਾਇਲ ਸਿਸਟਮ ਨਹੀਂ ਵਰਤ ਸਕਦੇ"
+
+#: any.pm:316 any.pm:687 authentication.pm:197
+#, c-format
+msgid "Password (again)"
+msgstr "ਗੁਪਤ-ਕੋਡ (ਫਿਰ)"
+
+#: any.pm:317
+#, c-format
+msgid "Restrict command line options"
+msgstr "ਕਮਾਂਡ ਲਾਈਨ ਚੋਣ ਮਨਾਹੀ"
+
+#: any.pm:317
+#, c-format
+msgid "restrict"
+msgstr "ਮਨਾਹੀ"
+
+#: any.pm:318
+#, c-format
+msgid ""
+"Option ``Restrict command line options'' is of no use without a password"
+msgstr "ਚੋਣ ``ਕਮਾਂਡ ਲਾਈਨ ਚੋਣ ਮਨਾਹੀ'' ਦਾ ਗੁਪਤ-ਕੋਡ ਤੋਂ ਬਿਨਾ ਕੋਈ ਮਤਲਬ ਨਹੀਂ"
+
+#: any.pm:320
+#, c-format
+msgid "Clean /tmp at each boot"
+msgstr "ਹਰੇਕ ਬੂਟ ਦੌਰਾਨ /tmp ਸਾਫ ਕਰੋ"
+
+#: any.pm:321
+#, c-format
+msgid "Precise RAM size if needed (found %d MB)"
+msgstr "ਜੇ ਲੋੜ ਹੈ RAM ਅਕਾਰ ਠੀਕ ਕਰੋ (%d ਮੈਬਾ ਲੱਭਿਆ ਹੈ)"
+
+#: any.pm:322
+#, c-format
+msgid "Give the ram size in MB"
+msgstr "ਮੈਬਾ ਵਿੱਚ ਰੈਮ ਅਕਾਰ ਦਿਓ"
+
+#: any.pm:332
+#, c-format
+msgid "Init Message"
+msgstr "Init ਸੁਨੇਹਾ"
+
+#: any.pm:334
+#, c-format
+msgid "Open Firmware Delay"
+msgstr "ਫਰਮਵੇਅਰ ਦ੍ਰਿਸ਼ ਖੋਲੋ"
+
+#: any.pm:335
+#, c-format
+msgid "Kernel Boot Timeout"
+msgstr "ਕਰਨਲ ਬੂਟ ਮਿਆਦ"
+
+#: any.pm:336
+#, c-format
+msgid "Enable CD Boot?"
+msgstr "CD ਬੂਟ ਯੋਗ?"
+
+#: any.pm:337
+#, c-format
+msgid "Enable OF Boot?"
+msgstr "OF ਬੂਟ ਯੋਗ?"
+
+#: any.pm:338
+#, c-format
+msgid "Default OS?"
+msgstr "ਮੂਲ OS?"
+
+#: any.pm:404
+#, c-format
+msgid "Image"
+msgstr "ਚਿੱਤਰ"
+
+#: any.pm:405 any.pm:418
+#, c-format
+msgid "Root"
+msgstr "ਰੂਟ"
+
+#: any.pm:406 any.pm:431
+#, c-format
+msgid "Append"
+msgstr "ਜੋੜਨਾ"
+
+#: any.pm:408
+#, c-format
+msgid "Xen append"
+msgstr ""
+
+#: any.pm:411
+#, c-format
+msgid "Video mode"
+msgstr "ਵੀਡੀਓ ਵਿਧੀ"
+
+#: any.pm:413
+#, c-format
+msgid "Initrd"
+msgstr "Initrd"
+
+#: any.pm:414
+#, c-format
+msgid "Network profile"
+msgstr "ਨੈੱਟਵਰਕ ਪਰੋਫਾਈਲ"
+
+#: any.pm:423 any.pm:428 any.pm:430 diskdrake/interactive.pm:443
+#, c-format
+msgid "Label"
+msgstr "ਲੇਬਲ"
+
+#: any.pm:425 any.pm:433 harddrake/v4l.pm:438
+#, c-format
+msgid "Default"
+msgstr "ਮੂਲ"
+
+#: any.pm:432
+#, c-format
+msgid "NoVideo"
+msgstr "ਕੋਈ ਵੀਡੀਓ ਨਹੀਂ"
+
+#: any.pm:443
+#, c-format
+msgid "Empty label not allowed"
+msgstr "ਖਾਲੀ ਲੇਬਲ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a kernel image"
+msgstr "ਤੁਹਾਨੂੰ ਕਰਨਲ ਪ੍ਰਤੀਬਿੰਬ ਦਰਸਾਉਣਾ ਜਰੂਰੀ ਹੈ"
+
+#: any.pm:444
+#, c-format
+msgid "You must specify a root partition"
+msgstr "ਤੁਹਾਨੂੰ ਰੂਟ ਭਾਗ ਦਰਸਾਉਣਾ ਜਰੂਰੀ ਹੈ"
+
+#: any.pm:445
+#, c-format
+msgid "This label is already used"
+msgstr "ਇਹ ਲੇਬਲ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਹੈ"
+
+#: any.pm:459
+#, c-format
+msgid "Which type of entry do you want to add?"
+msgstr "ਤੁਸੀਂ ਕਿਸ ਕਿਸਮ ਦੀ ਇੰਦਰਾਜ ਸ਼ਾਮਿਲ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: any.pm:460
+#, c-format
+msgid "Linux"
+msgstr "ਲੀਨਕਸ"
+
+#: any.pm:460
+#, c-format
+msgid "Other OS (SunOS...)"
+msgstr "ਹੋਰ OS (SunOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (MacOS...)"
+msgstr "ਹੋਰ OS (MacOS...)"
+
+#: any.pm:461
+#, c-format
+msgid "Other OS (Windows...)"
+msgstr "ਹੋਰ OS (Windows...)"
+
+#: any.pm:489
+#, c-format
+msgid ""
+"Here are the entries on your boot menu so far.\n"
+"You can create additional entries or change the existing ones."
+msgstr ""
+"ਇੱਥੇ ਤੁਹਾਡੇ ਬੂਟ ਮੇਨੂ ਉਪਰਲੀਆਂ ਇੰਦਰਾਜਾਂ ਹਨ।\n"
+"ਤੁਸੀਂ ਵਾਧੂ ਇੰਦਰਾਜਾਂ ਬਣਾ ਜਾਂ ਮੌਜੂਦ ਨੂੰ ਤਬਦੀਲ ਕਰ ਸਕਦੇ ਹੋ।"
+
+#: any.pm:640
+#, c-format
+msgid "access to X programs"
+msgstr "X ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਪਹੁੰਚ"
+
+#: any.pm:641
+#, c-format
+msgid "access to rpm tools"
+msgstr "rpm ਸੰਦਾਂ ਨੂੰ ਪਹੁੰਚ"
+
+#: any.pm:642
+#, c-format
+msgid "allow \"su\""
+msgstr "\"su\" ਲਾਗੂ ਕਰੋ"
+
+#: any.pm:643
+#, c-format
+msgid "access to administrative files"
+msgstr "ਪ੍ਰਬੰਧਕੀ ਫਾਇਲਾਂ ਨੂੰ ਪਹੁੰਚ"
+
+#: any.pm:644
+#, c-format
+msgid "access to network tools"
+msgstr "ਨੈੱਟਵਰਕ ਸੰਦਾਂ ਨੂੰ ਪਹੁੰਚ"
+
+#: any.pm:645
+#, c-format
+msgid "access to compilation tools"
+msgstr "ਕੰਪਾਇਲੇਸਨ ਸੰਦਾਂ ਨੂੰ ਪਹੁੰਚ"
+
+#: any.pm:650
+#, c-format
+msgid "(already added %s)"
+msgstr "(%s ਪਹਿਲਾਂ ਸ਼ਾਮਿਲ ਹੈ)"
+
+#: any.pm:657
+#, c-format
+msgid "Please give a user name"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਉਪਭੋਗੀ ਨਾਂ ਦਿਓ"
+
+#: any.pm:658
+#, c-format
+msgid ""
+"The user name must contain only lower cased letters, numbers, `-' and `_'"
+msgstr "ਉਪਭੋਗੀ ਨਾਂ ਵਿੱਚ ਸਿਰਫ ਛੋਟੇ ਅੱਖਰ, ਅੰਕ, `-' ਅਤੇ `_' ਸ਼ਾਮਿਲ ਹੋਣੇ ਜਰੂਰੀ ਹਨ"
+
+#: any.pm:659
+#, c-format
+msgid "The user name is too long"
+msgstr "ਉਪਭੋਗੀ ਨਾਂ ਬਹੁਤ ਲੰਬਾ ਹੈ"
+
+#: any.pm:660
+#, c-format
+msgid "This user name has already been added"
+msgstr "ਇਹ ਉਪਭੋਗੀ ਨਾਂ ਪਹਿਲਾ ਹੀ ਸ਼ਾਮਿਲ ਹੈ"
+
+#: any.pm:661 any.pm:689
+#, fuzzy, c-format
+msgid "User ID"
+msgstr "ਉਪਭੋਗੀ:"
+
+#: any.pm:662 any.pm:690
+#, c-format
+msgid "Group ID"
+msgstr "ਗਰੁੱਪ ID"
+
+#: any.pm:665
+#, fuzzy, c-format
+msgid "%s must be a number"
+msgstr "ਚੋਣ %s ਅੰਕ ਹੋਣਾ ਜਰੂਰੀ ਹੈ!"
+
+#: any.pm:666
+#, c-format
+msgid "%s should be above 500. Accept anyway?"
+msgstr ""
+
+#: any.pm:671
+#, c-format
+msgid "Add user"
+msgstr "ਉਪਭੋਗੀ ਸ਼ਾਮਿਲ"
+
+#: any.pm:673
+#, c-format
+msgid ""
+"Enter a user\n"
+"%s"
+msgstr ""
+"ਉਪਭੋਗੀ ਭਰੋ\n"
+"%s"
+
+#: any.pm:676 diskdrake/dav.pm:66 diskdrake/hd_gtk.pm:166
+#: diskdrake/removable.pm:26 diskdrake/smbnfs_gtk.pm:82
+#: interactive/http.pm:151
+#, c-format
+msgid "Done"
+msgstr "ਸਮਾਪਤ"
+
+#: any.pm:677
+#, c-format
+msgid "Accept user"
+msgstr "ਉਪਭੋਗੀ ਸਵੀਕਾਰ"
+
+#: any.pm:682
+#, c-format
+msgid "Real name"
+msgstr "ਅਸਲੀ ਨਾਂ"
+
+#: any.pm:685
+#, c-format
+msgid "Login name"
+msgstr "ਲਾਗਇਨ ਨਾਂ"
+
+#: any.pm:688
+#, c-format
+msgid "Shell"
+msgstr "ਸ਼ੈਲ"
+
+#: any.pm:735 security/l10n.pm:14
+#, c-format
+msgid "Autologin"
+msgstr "ਸਵੈ-ਲਾਗਇਨ"
+
+#: any.pm:736
+#, c-format
+msgid "I can set up your computer to automatically log on one user."
+msgstr "ਮੈਂ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਇੱਕ ਉਪਭੋਗੀ ਦੇ ਸਵੈ-ਲਾਗਇਨ ਹੋਣ ਲਈ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦਾ ਹਾਂ।"
+
+#: any.pm:737
+#, fuzzy, c-format
+msgid "Use this feature"
+msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: any.pm:738
+#, c-format
+msgid "Choose the default user:"
+msgstr "ਮੂਲ ਉਪਭੋਗੀ ਚੁਣੋ:"
+
+#: any.pm:739
+#, c-format
+msgid "Choose the window manager to run:"
+msgstr "ਚਲਾਉਣ ਲਈ ਝਰੋਖਾ ਪ੍ਰਬੰਧਕ ਚੁਣੋ:"
+
+#: any.pm:767
+#, c-format
+msgid "License agreement"
+msgstr "ਲਾਈਸਿੰਸ ਸਹਿਮਤੀ"
+
+#: any.pm:770 diskdrake/dav.pm:26
+#, c-format
+msgid "Quit"
+msgstr "ਬਾਹਰ"
+
+#: any.pm:773
+#, c-format
+msgid "Release Notes"
+msgstr "ਜਾਰੀ ਸੂਚਨਾ"
+
+#: any.pm:776
+#, c-format
+msgid "Accept"
+msgstr "ਸਵੀਕਾਰ"
+
+#: any.pm:776
+#, c-format
+msgid "Refuse"
+msgstr "ਇਨਕਾਰ"
+
+#: any.pm:795 any.pm:863
+#, c-format
+msgid "Please choose a language to use."
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਵਰਤਣ ਲਈ ਬੋਲੀ ਚੁਣੋ।"
+
+#: any.pm:796 any.pm:864
+#, c-format
+msgid "Language choice"
+msgstr "ਬੋਲੀ ਚੋਣ"
+
+#: any.pm:826
+#, c-format
+msgid ""
+"Mandriva Linux can support multiple languages. Select\n"
+"the languages you would like to install. They will be available\n"
+"when your installation is complete and you restart your system."
+msgstr ""
+"ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਕਈ ਬੋਲੀਆਂ ਨੂੰ ਸਹਿਯੋਗ ਦੇ ਸਕਦਾ ਹੈ। ਭਾਸ਼ਾ ਜੋ\n"
+"ਤੁਸੀਂ ਇੰਸਟਾਲ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ ਚੁਣੋ। ਇਹ ਉਪਲੱਬਧ ਹੋਣਗੇ ਜਦੋਂ ਤੁਹਾਡੀ\n"
+"ਇੰਸਟਾਲੇਸ਼ਨ ਸਮਾਪਤ ਹੋ ਗਈ ਅਤੇ ਆਪਣਾ ਸਿਸਟਮ ਸਿਸਟਮ ਮੁੜ ਚਲਾਇਆ।"
+
+#: any.pm:829
+#, c-format
+msgid "Multi languages"
+msgstr ""
+
+#: any.pm:841 any.pm:872
+#, c-format
+msgid "Old compatibility (non UTF-8) encoding"
+msgstr ""
+
+#: any.pm:843
+#, c-format
+msgid "All languages"
+msgstr "ਸਭ ਬੋਲੀਆਂ"
+
+#: any.pm:918
+#, c-format
+msgid "Country / Region"
+msgstr "ਦੇਸ਼ / ਖੇਤਰ"
+
+#: any.pm:920
+#, c-format
+msgid "Please choose your country."
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਦੇਸ਼ ਚੁਣੋ।"
+
+#: any.pm:922
+#, c-format
+msgid "Here is the full list of available countries"
+msgstr "ਇੱਥੇ ਉਪਲੱਬਧ ਦੇਸ਼ਾਂ ਦੀ ਪੂਰੀ ਸੂਚੀ ਹੈ"
+
+#: any.pm:923
+#, c-format
+msgid "Other Countries"
+msgstr "ਹੋਰ ਦੇਸ਼"
+
+#: any.pm:923 interactive.pm:477
+#, c-format
+msgid "Advanced"
+msgstr "ਤਕਨੀਕੀ"
+
+#: any.pm:929
+#, c-format
+msgid "Input method:"
+msgstr "ਇੰਪੁੱਟ ਵਿਧੀ:"
+
+#: any.pm:932
+#, c-format
+msgid "None"
+msgstr "ਕੋਈ ਨਹੀਂ"
+
+#: any.pm:1012
+#, c-format
+msgid "No sharing"
+msgstr "ਕੋਈ ਸ਼ੇਅਰਿੰਗ ਨਹੀਂ"
+
+#: any.pm:1012
+#, c-format
+msgid "Allow all users"
+msgstr "ਸਭ ਉਪਭੋਗੀਆਂ ਨੂੰ ਇਜਾਜ਼ਤ ਦਿਓ"
+
+#: any.pm:1012
+#, c-format
+msgid "Custom"
+msgstr "ਪਸੰਦ"
+
+#: any.pm:1016
+#, c-format
+msgid ""
+"Would you like to allow users to share some of their directories?\n"
+"Allowing this will permit users to simply click on \"Share\" in konqueror "
+"and nautilus.\n"
+"\n"
+"\"Custom\" permit a per-user granularity.\n"
+msgstr ""
+"ਕੀ ਤੁਸੀਂ ਉਪਭੋਗੀਆਂ ਨੂੰ ਉਹਨਾਂ ਦੀਆਂ ਕੁਝ ਡਾਇਰੈਕਟਰੀਆਂ ਸ਼ੇਅਰ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓਗੇ?\n"
+"ਇਸ ਦੀ ਮਨਜੂਰੀ ਨਾਲ ਉਪਭੋਗੀ ਨੂੰ ਕੁਕਿਊਰਰ ਅਤੇ ਨਟਾਲਿਸ ਵਿੱਚ \"ਸ਼ੇਅਰ\" ਤੇ ਕਲਿੱਕ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ "
+"ਹੋਵੇਗੀ।\n"
+"\n"
+"\n"
+"\"ਪਸੰਦੀਦਾ\" ਪ੍ਰਤੀ-ਉਪਭੋਗੀ ਮਨਜੂਰੀ ਦਿੰਦਾ ਹੂ।\n"
+
+#: any.pm:1028
+#, c-format
+msgid ""
+"NFS: the traditional Unix file sharing system, with less support on Mac and "
+"Windows."
+msgstr "NFS: ਵਾਧੂ ਪੁਰਾਣਾ ਯੂਨਿਕਸ ਫਾਇਲ ਸ਼ੇਅਰਿੰਗ ਸਿਸਟਮ, Mac ਅਤੇ Windows ਤੇ ਘੱਟ ਸਹਿਯੋਗ ਨਾਲ।"
+
+#: any.pm:1031
+#, c-format
+msgid ""
+"SMB: a file sharing system used by Windows, Mac OS X and many modern Linux "
+"systems."
+msgstr ""
+"SMB: Windows ਦੁਆਰਾ ਵਰਤਿਆ ਫਾਇਲ ਸ਼ੇਅਰਿੰਗ ਸਿਸਟਮ, Mac OS X ਅਤੇ ਬਹੁਤੇ ਨਵੀਨ ਲੀਨਕਸ ਸਿਸਟਮ।"
+
+#: any.pm:1039
+#, c-format
+msgid ""
+"You can export using NFS or SMB. Please select which you would like to use."
+msgstr "ਤੁਸੀਂ NFS ਜਾਂ SMB ਵਰਤ ਕੇ ਨਿਰਯਾਤ ਕਰ ਸਕਦੇ ਹੋ। ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ ਤੁਸੀਂ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ।"
+
+#: any.pm:1064
+#, c-format
+msgid "Launch userdrake"
+msgstr "userdrake ਚਲਾਓ"
+
+#: any.pm:1064 interactive/gtk.pm:747
+#, c-format
+msgid "Close"
+msgstr "ਬੰਦ ਕਰੋ"
+
+#: any.pm:1066
+#, c-format
+msgid ""
+"The per-user sharing uses the group \"fileshare\". \n"
+"You can use userdrake to add a user to this group."
+msgstr ""
+"ਪ੍ਰਤੀ-ਉਪਭੋਗੀ ਸ਼ੇਅਰਿੰਗ \"fileshare\" ਸਮੂਹ ਵਰਤਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ \n"
+"ਸਮੂਹ ਵਿੱਚ ਉਪਭੋਗੀ ਸ਼ਾਮਿਲ ਕਰਨ ਲਈ userdrake ਵਰਤ ਸਕਦੇ ਹੋ।"
+
+#: any.pm:1158
+#, c-format
+msgid "Please log out and then use Ctrl-Alt-BackSpace"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਲਾਗ-ਆਊਟ ਕਰੋ ਅਤੇ Ctrl-Alt-BackSpace ਵਰਤੋ"
+
+#: any.pm:1162
+#, c-format
+msgid "You need to log out and back in again for changes to take effect"
+msgstr "ਤੁਹਾਨੂੰ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਹੋਣ ਲਈ ਫਿਰ ਬਾਹਰ (ਲਾਗ-ਆਊਟ) ਜਾਣ ਦੀ ਲੋੜ ਹੈ"
+
+#: any.pm:1212
+#, c-format
+msgid "Timezone"
+msgstr "ਸਮਾਂ-ਖੇਤਰ"
+
+#: any.pm:1212
+#, c-format
+msgid "Which is your timezone?"
+msgstr "ਤੁਹਾਡਾ ਸਮਾਂ-ਖੇਤਰ ਕਿਹੜਾ ਹੈ?"
+
+#: any.pm:1224 any.pm:1226
+#, c-format
+msgid "Date, Clock & Time Zone Settings"
+msgstr ""
+
+#: any.pm:1227
+#, c-format
+msgid "What is the best time?"
+msgstr ""
+
+#: any.pm:1231
+#, fuzzy, c-format
+msgid "%s (hardware clock set to UTC)"
+msgstr "ਜੰਤਰ ਘੜੀ ਨੂੰ GMT ਨਿਰਧਾਰਿਤ ਕੀਤਾ"
+
+#: any.pm:1232
+#, fuzzy, c-format
+msgid "%s (hardware clock set to local time)"
+msgstr "ਜੰਤਰ ਘੜੀ ਨੂੰ GMT ਨਿਰਧਾਰਿਤ ਕੀਤਾ"
+
+#: any.pm:1234
+#, c-format
+msgid "NTP Server"
+msgstr "NTP ਸਰਵਰ"
+
+#: any.pm:1235
+#, c-format
+msgid "Automatic time synchronization (using NTP)"
+msgstr "ਸਵੈਚਾਲਤ ਸਮਾਂ ਸਮਕਾਲਤਾ (NTP ਵਰਤ ਰਿਹਾ ਹੈ)"
+
+#: authentication.pm:23
+#, c-format
+msgid "Local file"
+msgstr "ਲੋਕਲ ਫਾਇਲ"
+
+#: authentication.pm:24
+#, c-format
+msgid "LDAP"
+msgstr "LDAP"
+
+#: authentication.pm:25
+#, c-format
+msgid "NIS"
+msgstr "NIS"
+
+#: authentication.pm:26
+#, c-format
+msgid "Smart Card"
+msgstr "ਸਮਾਰਟ ਕਾਰਡ"
+
+#: authentication.pm:27 authentication.pm:163
+#, c-format
+msgid "Windows Domain"
+msgstr "Windows ਡੋਮੇਨ"
+
+#: authentication.pm:28
+#, c-format
+msgid "Active Directory with SFU"
+msgstr "SFU ਨਾਲ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ"
+
+#: authentication.pm:29
+#, c-format
+msgid "Active Directory with Winbind"
+msgstr "Winbind ਨਾਲ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ"
+
+#: authentication.pm:66
+#, c-format
+msgid "Local file:"
+msgstr "ਲੋਕਲ ਫਾਇਲ:"
+
+#: authentication.pm:66
+#, c-format
+msgid ""
+"Use local for all authentication and information user tell in local file"
+msgstr "ਸਭ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਜਾਣਕਾਰੀ ਜੋ ਉਪਭੋਗੀ ਲੋਕਲ ਫਾਇਲ ਵਿੱਚ ਦੱਸਦਾ ਹੈ ਲਈ ਲੋਕਲ ਵਰਤੋ"
+
+#: authentication.pm:67
+#, c-format
+msgid "LDAP:"
+msgstr "LDAP:"
+
+#: authentication.pm:67
+#, c-format
+msgid ""
+"Tells your computer to use LDAP for some or all authentication. LDAP "
+"consolidates certain types of information within your organization."
+msgstr ""
+"ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਕੁਝ ਜਾਂ ਸਾਰੀਆਂ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ LDAP ਵਰਤਣ ਲਈ ਦੱਸੋ। LDAP ਤੁਹਾਡੀ ਸੰਗਠਨ ਵਿਚਲੀ "
+"ਜਾਣਕਾਰੀ ਦੀਆਂ ਕੁਝ ਕਿਸਮਾਂ ਇਕੱਠੀਆਂ ਕਰਦਾ ਹੈ।"
+
+#: authentication.pm:68
+#, c-format
+msgid "NIS:"
+msgstr "NIS:"
+
+#: authentication.pm:68
+#, c-format
+msgid ""
+"Allows you to run a group of computers in the same Network Information "
+"Service domain with a common password and group file."
+msgstr ""
+"ਤੁਹਾਨੂੰ ਇੱਕੋ ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਸੇਵਾ ਡੋਮੇਨ ਵਿੱਚ ਸਾਂਝੇ ਗੁਪਤ-ਕੋਡ ਅਤੇ ਸਮੂਹ ਫਾਇਲ ਨਾਲ ਕੰਪਿਊਟਰਾਂ ਦੇ ਸਮੂਹ ਨੂੰ "
+"ਚਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।"
+
+#: authentication.pm:69
+#, c-format
+msgid "Windows Domain:"
+msgstr "Windows ਡੋਮੇਨ:"
+
+#: authentication.pm:69
+#, c-format
+msgid ""
+"Winbind allows the system to retrieve information and authenticate users in "
+"a Windows domain."
+msgstr ""
+"Winbind ਸਿਸਟਮ ਨੂੰ Windows ਡੋਮੇਨ ਵਿੱਚ ਜਾਣਕਾਰੀ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਉਪਭੋਗੀ ਮੁੜ-ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ "
+"ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।"
+
+#: authentication.pm:70
+#, c-format
+msgid "Active Directory with SFU:"
+msgstr "SFU ਨਾਲ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ:"
+
+#: authentication.pm:70
+#, c-format
+msgid "With Kerberos and Ldap for authentication in Active Directory Server "
+msgstr ""
+
+#: authentication.pm:71
+#, c-format
+msgid "Active Directory with Winbind:"
+msgstr "Winbind ਨਾਲ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ:"
+
+#: authentication.pm:71
+#, c-format
+msgid ""
+"Winbind allows the system to authenticate users in a Windows Active "
+"Directory Server."
+msgstr ""
+
+#: authentication.pm:96
+#, c-format
+msgid "Authentication LDAP"
+msgstr "LDAP ਪ੍ਰਮਾਣਿਕਤਾ"
+
+#: authentication.pm:97
+#, c-format
+msgid "LDAP Base dn"
+msgstr "LDAP ਮੁੱਢਲਾ dn"
+
+#: authentication.pm:98
+#, c-format
+msgid "LDAP Server"
+msgstr "LDAP ਸਰਵਰ"
+
+#: authentication.pm:111 fsedit.pm:23
+#, c-format
+msgid "simple"
+msgstr "ਸਧਾਰਨ"
+
+#: authentication.pm:112
+#, c-format
+msgid "TLS"
+msgstr "TLS"
+
+#: authentication.pm:113
+#, c-format
+msgid "SSL"
+msgstr "SSL"
+
+#: authentication.pm:114
+#, c-format
+msgid "security layout (SASL/Kerberos)"
+msgstr "ਸੁਰੱਖਿਆ ਖਾਕਾ (SASL/Kerberos)"
+
+#: authentication.pm:121 authentication.pm:159
+#, c-format
+msgid "Authentication Active Directory"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ"
+
+#: authentication.pm:122 diskdrake/smbnfs_gtk.pm:182
+#, c-format
+msgid "Domain"
+msgstr "ਡੋਮੇਨ"
+
+#: authentication.pm:124 diskdrake/dav.pm:63
+#, c-format
+msgid "Server"
+msgstr "ਸਰਵਰ"
+
+#: authentication.pm:125
+#, c-format
+msgid "LDAP users database"
+msgstr "LDAP ਉਪਭੋਗੀ ਡਾਟਾਬੇਸ"
+
+#: authentication.pm:126
+#, c-format
+msgid "Use Anonymous BIND "
+msgstr "ਨਕਲੀ BIND ਵਰਤੋ"
+
+#: authentication.pm:127
+#, c-format
+msgid "LDAP user allowed to browse the Active Directory"
+msgstr "LDAP ਉਪਭੋਗੀ ਨੂੰ ਸਰਗਰਮ ਡਾਇਰੈਕਟਰੀ ਵੇਖਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"
+
+#: authentication.pm:128
+#, c-format
+msgid "Password for user"
+msgstr "ਉਪਭੋਗੀ ਲਈ ਗੁਪਤ-ਕੋਡ"
+
+#: authentication.pm:140
+#, c-format
+msgid "Authentication NIS"
+msgstr "ਪ੍ਰਮਾਣਕਿਤਾ NIS"
+
+#: authentication.pm:141
+#, c-format
+msgid "NIS Domain"
+msgstr "NIS ਡੋਮੇਨ"
+
+#: authentication.pm:142
+#, c-format
+msgid "NIS Server"
+msgstr "NIS ਸਰਵਰ"
+
+#: authentication.pm:147
+#, c-format
+msgid ""
+"For this to work for a W2K PDC, you will probably need to have the admin "
+"run: C:\\>net localgroup \"Pre-Windows 2000 Compatible Access\" everyone /"
+"add and reboot the server.\n"
+"You will also need the username/password of a Domain Admin to join the "
+"machine to the Windows(TM) domain.\n"
+"If networking is not yet enabled, Drakx will attempt to join the domain "
+"after the network setup step.\n"
+"Should this setup fail for some reason and domain authentication is not "
+"working, run 'smbpasswd -j DOMAIN -U USER%%PASSWORD' using your Windows(tm) "
+"Domain, and Admin Username/Password, after system boot.\n"
+"The command 'wbinfo -t' will test whether your authentication secrets are "
+"good."
+msgstr ""
+"ਇਸ ਨੂੰ W2K PDC ਲਈ ਕੰਮ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਸੰਭਾਵੀ ਹੀ admin ਚਲਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ: C:\\>ਨੈੱਟ ਲੋਕਲ-"
+"ਗਰੁੱਪ \"Pre-Windows 2000 ਅਨੁਕੂਲ ਪਹੁੰਚ\" ਹਰੇਕ ਸਰਵਰ ਨੂੰ /ਸ਼ਾਮਿਲ ਅਤੇ ਮੁੜ ਚਲਾਉਂਦਾ ਹੈ।\n"
+"ਤੁਹਾਨੂੰ Windows(TM) ਡੋਮੇਨ ਨਾਲ ਮਸ਼ੀਨ ਜੋੜਨ ਲਈ ਡੋਮੇਨ Admin ਦੇ ਉਪਭੋਗੀ-ਨਾਂ/ਗੁਪਤ-ਕੋਡ ਦੀ ਲੋੜ "
+"ਪਵੇਗੀ।\n"
+"ਜੇ ਹਾਲੇ ਨੈੱਟਵਰਕਿੰਗ ਯੋਗ ਨਹੀਂ, Drakx ਨੈੱਟਵਰਕ ਨਿਰਧਾਰਨ ਪਗ਼ ਤੋਂ ਬਾਅਦ ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ।\n"
+"ਕੀ ਇਹ ਪਗ਼ ਕੁਝ ਕਾਰਨਾ ਕਰਕੇ ਅਸਫਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਡੋਮੇਨ ਪ੍ਰਮਾਣਿਕਤਾ ਕੰਮ ਨਹੀਂ ਕਰਦੀ, ਸਿਸਟਮ "
+"ਬੂਟ ਹੋਣ ਮਗਰੋਂ ਆਪਣੇ Windows(tm) ਡੋਮੇਨ, ਅਤੇ Admin ਉਪਭੋਗੀ-ਨਾਂ/ਗੁਪਤ-ਕੋਡ ਵਰਤ ਕੇ 'smbpasswd -j "
+"DOMAIN -U USER%%PASSWORD' ਚਲਾਓ।\n"
+"ਕਮਾਂਡ 'wbinfo -t' ਜਾਂਚ ਕਰੇਗੀ ਕਿ ਕੀ ਤੁਹਾਡੀ ਪ੍ਰਮਾਣਿਕਤਾ ਸਹੀ ਹੈ ਜਾਂ ਨਹੀਂ।"
+
+#: authentication.pm:159
+#, c-format
+msgid "Authentication Windows Domain"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ Windows ਡੋਮੇਨ"
+
+#: authentication.pm:161
+#, c-format
+msgid "Active Directory Realm "
+msgstr ""
+
+#: authentication.pm:164
+#, c-format
+msgid "Domain Admin User Name"
+msgstr "ਡੋਮੇਨ ਪ੍ਰਬੰਧਕ ਉਪਭੋਗੀ ਨਾਂ"
+
+#: authentication.pm:165
+#, c-format
+msgid "Domain Admin Password"
+msgstr "ਡੋਮੇਨ ਪ੍ਰਬੰਧਕ ਗੁਪਤ-ਕੋਡ"
+
+#: authentication.pm:181 authentication.pm:198
+#, c-format
+msgid "Authentication"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ"
+
+#: authentication.pm:182
+#, c-format
+msgid "Set administrator (root) password"
+msgstr "ਪ੍ਰਬੰਧਕ (root) ਗੁਪਤ-ਕੋਡ ਨਿਰਧਾਰਿਤ ਕਰੋ"
+
+#: authentication.pm:184
+#, c-format
+msgid "Authentication method"
+msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਵਿਧੀ"
+
+#. -PO: keep this short or else the buttons will not fit in the window
+#: authentication.pm:189
+#, c-format
+msgid "No password"
+msgstr "ਕੋਈ ਗੁਪਤ-ਕੋਡ ਨਹੀਂ"
+
+#: authentication.pm:210
+#, c-format
+msgid "This password is too short (it must be at least %d characters long)"
+msgstr "ਇਹ ਗੁਪਤ-ਕੋਡ ਬਹੁਤ ਛੋਟਾ ਹੈ (ਇਹ ਘੱਟੋ-ਘੱਟ %d ਅੱਖਰਾਂ ਦਾ ਹੋਵੇ)"
+
+#: authentication.pm:351
+#, c-format
+msgid "Can not use broadcast with no NIS domain"
+msgstr "ਕੋਈ ਨਾ NIS ਡੋਮੇਨ ਨਾਲ ਬਰਾਡਕਾਸਟ ਨਹੀਂ ਵਰਤ ਸਕਦਾ"
+
+#. -PO: these messages will be displayed at boot time in the BIOS, use only ASCII (7bit)
+#: bootloader.pm:880
+#, c-format
+msgid ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+msgstr ""
+"Welcome to the operating system chooser!\n"
+"\n"
+"Choose an operating system from the list above or\n"
+"wait for default boot.\n"
+"\n"
+
+#: bootloader.pm:1028
+#, c-format
+msgid "LILO with text menu"
+msgstr "ਪਾਠ ਮੇਨੂ ਨਾਲ LILO"
+
+#: bootloader.pm:1029
+#, c-format
+msgid "GRUB with graphical menu"
+msgstr ""
+
+#: bootloader.pm:1030
+#, c-format
+msgid "GRUB with text menu"
+msgstr ""
+
+#: bootloader.pm:1031
+#, c-format
+msgid "Yaboot"
+msgstr "Yaboot"
+
+#: bootloader.pm:1032
+#, c-format
+msgid "SILO"
+msgstr ""
+
+#: bootloader.pm:1112
+#, c-format
+msgid "not enough room in /boot"
+msgstr "/boot ਵਿੱਚ ਲੋੜੀਂਦੀ ਥਾਂ ਨਹੀਂ ਹੈ"
+
+#: bootloader.pm:1679
+#, c-format
+msgid "You can not install the bootloader on a %s partition\n"
+msgstr "ਤੁਸੀਂ %s ਭਾਗ ਤੇ ਬੂਟ ਲੋਡਰ ਇੰਸਟਾਲ ਨਹੀਂ ਕਰ ਸਕਦੇ\n"
+
+#: bootloader.pm:1732
+#, c-format
+msgid ""
+"Your bootloader configuration must be updated because partition has been "
+"renumbered"
+msgstr ""
+"ਤੁਹਾਡੀ ਬੂਟ-ਲੋਡਰ ਸੰਰਚਨਾ ਦਾ ਨਵੀਨੀਕਰਨ ਹੋਣਾ ਜਰੂਰੀ ਹੈ ਕਿਉਂਕਿ ਭਾਗ ਮੁੜ ਅੰਕਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"
+
+#: bootloader.pm:1745
+#, c-format
+msgid ""
+"The bootloader can not be installed correctly. You have to boot rescue and "
+"choose \"%s\""
+msgstr ""
+"ਬੂਟ-ਲੋਡਰ ਠੀਕ ਤਰਾਂ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਸੰਕਟ-ਕਾਲੀਨ ਚਲਾਉਣਾ ਪਵੇਗਾ ਅਤੇ \"%s\" ਚੁਣੋ।"
+
+#: bootloader.pm:1746
+#, c-format
+msgid "Re-install Boot Loader"
+msgstr "ਬੂਟ ਲੋਡਰ ਮੁੜ ਇੰਸਟਾਲ ਕਰੋ"
+
+#: common.pm:129
+#, fuzzy, c-format
+msgid "B"
+msgstr "ਕਿਬਾ"
+
+#: common.pm:129
+#, c-format
+msgid "KB"
+msgstr "ਕਿਬਾ"
+
+#: common.pm:129
+#, c-format
+msgid "MB"
+msgstr "ਮੈਬਾ"
+
+#: common.pm:129
+#, c-format
+msgid "GB"
+msgstr "ਗੀਬਾ"
+
+#: common.pm:137
+#, c-format
+msgid "TB"
+msgstr "ਟੈਬਾ"
+
+#: common.pm:145
+#, c-format
+msgid "%d minutes"
+msgstr "%d ਮਿੰਟ"
+
+#: common.pm:147
+#, c-format
+msgid "1 minute"
+msgstr "1 ਮਿੰਟ"
+
+#: common.pm:149
+#, c-format
+msgid "%d seconds"
+msgstr "%d ਸਕਿੰਟ"
+
+#: common.pm:298
+#, c-format
+msgid "command %s missing"
+msgstr ""
+
+#: diskdrake/dav.pm:17
+#, c-format
+msgid ""
+"WebDAV is a protocol that allows you to mount a web server's directory\n"
+"locally, and treat it like a local filesystem (provided the web server is\n"
+"configured as a WebDAV server). If you would like to add WebDAV mount\n"
+"points, select \"New\"."
+msgstr ""
+"WebDAV ਇੱਕ ਪਰੋਟੋਕਾਲ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਵੈਬ ਸਰਵਰ ਦੀ ਡਾਇਰੈਕਟਰੀ ਲੋਕਲ ਹੀ ਮਾਊਂਟ ਕਰਨ\n"
+"ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਸ ਨੂੰ ਲੋਕਲ ਫਾਇਲ ਸਿਸਟਮ ਤੌਰ ਤੇ ਸਮਝਦਾ ਹੈ (ਵੈਬ ਸਰਵਰ ਨੂੰ WebDAV ਸਰਵਰ\n"
+"ਤੌਰ ਤੇ ਸੰਰਚਿਤ ਕਰਦਾ ਹੈ)। ਜੇ ਤੁਸੀਂ WebDAV ਮਾਊਂਟ ਸਥਿਤੀ ਸ਼ਾਮਿਲ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ,\n"
+"\"ਨਵਾਂ\" ਚੁਣੋ।"
+
+#: diskdrake/dav.pm:25
+#, c-format
+msgid "New"
+msgstr "ਨਵਾਂ"
+
+#: diskdrake/dav.pm:61 diskdrake/interactive.pm:449 diskdrake/smbnfs_gtk.pm:75
+#, c-format
+msgid "Unmount"
+msgstr "ਅਨ-ਮਾਊਟ"
+
+#: diskdrake/dav.pm:62 diskdrake/interactive.pm:446 diskdrake/smbnfs_gtk.pm:76
+#, c-format
+msgid "Mount"
+msgstr "ਮਾਊਟ"
+
+#: diskdrake/dav.pm:64 diskdrake/interactive.pm:440
+#: diskdrake/interactive.pm:670 diskdrake/interactive.pm:688
+#: diskdrake/interactive.pm:692 diskdrake/removable.pm:23
+#: diskdrake/smbnfs_gtk.pm:79
+#, c-format
+msgid "Mount point"
+msgstr "ਮਾਂਊਟ ਪੁਆਂਇਟ"
+
+#: diskdrake/dav.pm:65 diskdrake/interactive.pm:442
+#: diskdrake/interactive.pm:1047 diskdrake/removable.pm:24
+#: diskdrake/smbnfs_gtk.pm:80
+#, c-format
+msgid "Options"
+msgstr "ਚੋਣ"
+
+#: diskdrake/dav.pm:75 diskdrake/hd_gtk.pm:115 diskdrake/interactive.pm:229
+#: diskdrake/interactive.pm:242 diskdrake/interactive.pm:398
+#: diskdrake/interactive.pm:416 diskdrake/interactive.pm:547
+#: diskdrake/interactive.pm:552 diskdrake/interactive.pm:660
+#: diskdrake/interactive.pm:922 diskdrake/interactive.pm:1092
+#: diskdrake/interactive.pm:1105 diskdrake/interactive.pm:1108
+#: diskdrake/interactive.pm:1348 diskdrake/smbnfs_gtk.pm:42 do_pkgs.pm:19
+#: do_pkgs.pm:24 do_pkgs.pm:40 do_pkgs.pm:56 do_pkgs.pm:61 fsedit.pm:229
+#: interactive/http.pm:117 interactive/http.pm:118 modules/interactive.pm:19
+#: scanner.pm:94 scanner.pm:105 scanner.pm:112 scanner.pm:119 wizards.pm:95
+#: wizards.pm:99 wizards.pm:121
+#, c-format
+msgid "Error"
+msgstr "ਗਲਤੀ"
+
+#: diskdrake/dav.pm:83
+#, c-format
+msgid "Please enter the WebDAV server URL"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ WebDAV ਸਰਵਰ URL ਭਰੋ"
+
+#: diskdrake/dav.pm:87
+#, c-format
+msgid "The URL must begin with http:// or https://"
+msgstr "URL, http:// ਜਾਂ https:// ਨਾਲ ਸ਼ੁਰੂ ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
+
+#: diskdrake/dav.pm:109
+#, c-format
+msgid "Server: "
+msgstr "ਸਰਵਰ:"
+
+#: diskdrake/dav.pm:110 diskdrake/interactive.pm:520
+#: diskdrake/interactive.pm:1230 diskdrake/interactive.pm:1308
+#, c-format
+msgid "Mount point: "
+msgstr "ਮਾਊਂਟ ਸਥਿਤੀ:"
+
+#: diskdrake/dav.pm:111 diskdrake/interactive.pm:1315
+#, c-format
+msgid "Options: %s"
+msgstr "ਚੋਣ: %s"
+
+#: diskdrake/hd_gtk.pm:53 diskdrake/interactive.pm:286
+#: diskdrake/smbnfs_gtk.pm:22 fs/mount_point.pm:106
+#: fs/partitioning_wizard.pm:47 fs/partitioning_wizard.pm:201
+#: fs/partitioning_wizard.pm:207 fs/partitioning_wizard.pm:247
+#: fs/partitioning_wizard.pm:266 fs/partitioning_wizard.pm:271
+#, c-format
+msgid "Partitioning"
+msgstr "ਵਿਭਾਗੀਕਰਨ"
+
+#: diskdrake/hd_gtk.pm:93 diskdrake/interactive.pm:1067
+#: diskdrake/interactive.pm:1077 diskdrake/interactive.pm:1130
+#, c-format
+msgid "Read carefully!"
+msgstr "ਧਿਆਨ ਨਾਲ ਪੜੋ!"
+
+#: diskdrake/hd_gtk.pm:93
+#, c-format
+msgid "Please make a backup of your data first"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਆਪਣੇ ਡਾਟੇ ਦਾ ਬੈਕਅੱਪ ਲਵੋ"
+
+#: diskdrake/hd_gtk.pm:94 diskdrake/interactive.pm:222
+#, c-format
+msgid "Exit"
+msgstr "ਬਾਹਰ"
+
+#: diskdrake/hd_gtk.pm:94
+#, c-format
+msgid "Continue"
+msgstr "ਜਾਰੀ ਰੱਖੋ"
+
+#: diskdrake/hd_gtk.pm:97
+#, c-format
+msgid ""
+"If you plan to use aboot, be careful to leave a free space (2048 sectors is "
+"enough)\n"
+"at the beginning of the disk"
+msgstr ""
+"ਜੇ ਤੁਸੀਂ aboot ਵਰਤਣ ਬਾਰੇ ਸੋਚਿਆ ਹੈ, ਡਿਸਕ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ (2048 ਸੈਕਟਰ ਕਾਫੀ ਹਨ)\n"
+" ਛੱਡਣ ਦਾ ਧਿਆਨ ਰੱਖੋ।"
+
+#: diskdrake/hd_gtk.pm:162 interactive.pm:640 interactive/gtk.pm:719
+#: interactive/gtk.pm:740 interactive/gtk.pm:760 ugtk2.pm:923 ugtk2.pm:924
+#, c-format
+msgid "Help"
+msgstr "ਸਹਾਇਤਾ"
+
+#: diskdrake/hd_gtk.pm:197
+#, c-format
+msgid "Choose action"
+msgstr "ਕਾਰਵਾਈ ਚੁਣੋ"
+
+#: diskdrake/hd_gtk.pm:201
+#, c-format
+msgid ""
+"You have one big Microsoft Windows partition.\n"
+"I suggest you first resize that partition\n"
+"(click on it, then click on \"Resize\")"
+msgstr ""
+"ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਵੱਡਾ ਮਾਈਕ੍ਰੋਸਾਫਟ Windows ਭਾਗ ਹੈ।\n"
+"ਮੈਂ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਇਸ ਭਾਗ ਨੂੰ ਮੁੜ ਅਕਾਰ ਦੇਣ ਬਾਰੇ ਕਹਿੰਦਾ ਹਾਂ\n"
+"(ਇਸ ਨੂੰ ਦਬਾਓ, ਫਿਰ \"ਮੁੜ-ਅਕਾਰ\" ਦਬਾਓ)"
+
+#: diskdrake/hd_gtk.pm:203
+#, c-format
+msgid "Please click on a partition"
+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਭਾਗ ਤੇ ਕਲਿੱਕ ਕਰੋ"
+
+#: diskdrake/hd_gtk.pm:217 diskdrake/smbnfs_gtk.pm:63
+#, c-format
+msgid "Details"
+msgstr "ਵੇਰਵਾ"
+
+#: diskdrake/hd_gtk.pm:265
+#, c-format
+msgid "No hard drives found"
+msgstr "ਕੋਈ ਹਾਰਡ ਡਰਾਈਵ ਨਹੀਂ ਲੱਭੀ"
+
+#: diskdrake/hd_gtk.pm:292
+#, c-format
+msgid "Unknown"
+msgstr "ਅਣਪਛਾਤਾ"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Ext2"
+msgstr "Ext2"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Journalised FS"
+msgstr "ਜਰਨਲਾਈਜ਼ਡ FS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Swap"
+msgstr "ਸਵੈਪ"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "SunOS"
+msgstr "SunOS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "HFS"
+msgstr "HFS"
+
+#: diskdrake/hd_gtk.pm:351
+#, c-format
+msgid "Windows"
+msgstr "Windows"
+
+#: diskdrake/hd_gtk.pm:352 services.pm:149
+#, c-format
+msgid "Other"
+msgstr "ਹੋਰ"
+
+#: diskdrake/hd_gtk.pm:352 diskdrake/interactive.pm:1244
+#, c-format
+msgid "Empty"
+msgstr "ਖਾਲੀ"
+
+#: diskdrake/hd_gtk.pm:356
+#, c-format
+msgid "Filesystem types:"
+msgstr "ਫਾਇਲ-ਸਿਸਟਮ ਕਿਸਮ:"
+
+#: diskdrake/hd_gtk.pm:380 diskdrake/interactive.pm:291
+#: diskdrake/interactive.pm:392 diskdrake/interactive.pm:428
+#: diskdrake/interactive.pm:577 diskdrake/interactive.pm:751
+#: diskdrake/interactive.pm:809 diskdrake/interactive.pm:902
+#: diskdrake/interactive.pm:944 diskdrake/interactive.pm:945
+#: diskdrake/interactive.pm:1173 diskdrake/interactive.pm:1211
+#: diskdrake/interactive.pm:1347 do_pkgs.pm:16 do_pkgs.pm:35 do_pkgs.pm:53
+#: harddrake/sound.pm:279
+#, c-format
+msgid "Warning"
+msgstr "ਚੇਤਾਵਨੀ"
+
+#: diskdrake/hd_gtk.pm:380
+#, fuzzy, c-format
+msgid "This partition is already empty"
+msgstr "ਇਹ ਭਾਗ ਮੁੜ-ਅਕਾਰ ਦੇ ਯੋਗ ਨਹੀਂ"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``Unmount'' first"
+msgstr "ਪਹਿਲਾਂ ``ਅਨ-ਮਾਊਂਟ'' ਵਰਤੋ"
+
+#: diskdrake/hd_gtk.pm:389
+#, c-format
+msgid "Use ``%s'' instead"
+msgstr "``%s'' ਵਰਤੋ"
+
+#: diskdrake/hd_gtk.pm:389 diskdrake/interactive.pm:441
+#: diskdrake/interactive.pm:611 diskdrake/interactive.pm:1083
+#: diskdrake/removable.pm:25 diskdrake/removable.pm:48
+#, c-format
+msgid "Type"
+msgstr "ਕਿਸਮ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose another partition"
+msgstr "ਹੋਰ ਭਾਗ ਵਰਤੋ"
+
+#: diskdrake/interactive.pm:193
+#, c-format
+msgid "Choose a partition"
+msgstr "ਭਾਗ ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Undo"
+msgstr "ਵਾਪਿਸ"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to normal mode"
+msgstr "ਸਧਾਰਨ ਵਿਧੀ ਤਬਦੀਲ ਕਰੋ"
+
+#: diskdrake/interactive.pm:255
+#, c-format
+msgid "Toggle to expert mode"
+msgstr "ਮਾਹਿਰ ਵਿਧੀ ਤਬਦੀਲ ਕਰੋ"
+
+#: diskdrake/interactive.pm:269 diskdrake/interactive.pm:279
+#: diskdrake/interactive.pm:1158
+#, fuzzy, c-format
+msgid "Confirmation"
+msgstr "ਸੰਰਚਨਾ"
+
+#: diskdrake/interactive.pm:269
+#, c-format
+msgid "Continue anyway?"
+msgstr "ਕਿਸੇ ਤਰਾਂ ਜਾਰੀ ਰਹੋ?"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without saving"
+msgstr "ਬਿਨਾਂ ਸੰਭਾਲੇ ਹੀ ਬਾਹਰ"
+
+#: diskdrake/interactive.pm:274
+#, c-format
+msgid "Quit without writing the partition table?"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਲਿਖਣ ਬਿਨਾ ਬਾਹਰ?"
+
+#: diskdrake/interactive.pm:279
+#, c-format
+msgid "Do you want to save /etc/fstab modifications"
+msgstr "ਕੀ ਤੁਸੀਂ /etc/fstab ਤਬਦੀਲੀਆਂ ਸੰਭਾਲਣੀਆਂ ਚਾਹੁੰਦੇ ਹੋ"
+
+#: diskdrake/interactive.pm:286 fs/partitioning_wizard.pm:247
+#, c-format
+msgid "You need to reboot for the partition table modifications to take place"
+msgstr "ਤੁਹਾਨੂੰ ਭਾਗ ਸਾਰਣੀ ਤਬਦੀਲੀਆਂ ਲਾਗੂ ਹੋਣ ਲਈ ਮੁੜ ਚਲਾਉਣ ਦੀ ਜਰੂਰਤ ਹੈ।"
+
+#: diskdrake/interactive.pm:291
+#, c-format
+msgid ""
+"You should format partition %s.\n"
+"Otherwise no entry for mount point %s will be written in fstab.\n"
+"Quit anyway?"
+msgstr ""
+"ਤੁਹਾਨੂੰ ਭਾਗ %s ਫਾਰਮਿਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।\n"
+"ਨਹੀਂ ਤਾਂ ਮਾਊਂਟ ਸਥਿਤੀ %s ਲਈ ਕੋਈ ਇੰਦਰਾਜ fstab ਵਿੱਚ ਲਿਖੀ ਨਹੀਂ ਜਾਵੇਗੀ।\n"
+"ਕਿਸੇ ਤਰਾਂ ਬਾਹਰ?"
+
+#: diskdrake/interactive.pm:304
+#, c-format
+msgid "Clear all"
+msgstr "ਸਭ ਸਾਫ"
+
+#: diskdrake/interactive.pm:305
+#, c-format
+msgid "Auto allocate"
+msgstr "ਸਵੈ ਜਾਰੀ"
+
+#: diskdrake/interactive.pm:306 diskdrake/interactive.pm:360
+#: interactive/curses.pm:457
+#, c-format
+msgid "More"
+msgstr "ਹੋਰ"
+
+#: diskdrake/interactive.pm:311
+#, c-format
+msgid "Hard drive information"
+msgstr "ਹਾਰਡ ਡਰਾਈਵ ਜਾਣਕਾਰੀ"
+
+#: diskdrake/interactive.pm:343
+#, c-format
+msgid "All primary partitions are used"
+msgstr "ਸਭ ਪ੍ਰਾਇਮਰੀ ਭਾਗ ਵਰਤੇ ਹਨ"
+
+#: diskdrake/interactive.pm:344
+#, c-format
+msgid "I can not add any more partitions"
+msgstr "ਮੈਂ ਹੋਰ ਭਾਗ ਸ਼ਾਮਿਲ ਨਹੀਂ ਕਰ ਸਕਦਾ"
+
+#: diskdrake/interactive.pm:345
+#, c-format
+msgid ""
+"To have more partitions, please delete one to be able to create an extended "
+"partition"
+msgstr "ਹੋਰ ਭਾਗ ਹੋਣ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਐਕਸਟੈਂਡਡ ਭਾਗ ਬਣਾਉਣ ਲਈ ਇੱਕ ਹਟਾਓ।"
+
+#: diskdrake/interactive.pm:354
+#, c-format
+msgid "No supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:355
+#, c-format
+msgid "Supermount"
+msgstr ""
+
+#: diskdrake/interactive.pm:356
+#, c-format
+msgid "Supermount except for CDROM drives"
+msgstr ""
+
+#: diskdrake/interactive.pm:362
+#, c-format
+msgid "Save partition table"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਸੰਭਾਲੋ"
+
+#: diskdrake/interactive.pm:363
+#, c-format
+msgid "Restore partition table"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਮੁੜ-ਸੰਭਾਲੋ"
+
+#: diskdrake/interactive.pm:364
+#, c-format
+msgid "Rescue partition table"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਸੰਕਟ-ਕਾਲੀਨ"
+
+#: diskdrake/interactive.pm:366
+#, c-format
+msgid "Reload partition table"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਮੁੜ-ਲੋਡ"
+
+#: diskdrake/interactive.pm:368
+#, c-format
+msgid "Removable media automounting"
+msgstr "ਹਟਾਉਣ ਯੋਗ ਮਾਧਿਅਮ ਸਵੈ-ਮਾਊਂਟ ਹੋ ਰਿਹਾ ਹੈ"
+
+#: diskdrake/interactive.pm:381 diskdrake/interactive.pm:407
+#, c-format
+msgid "Select file"
+msgstr "ਫਾਇਲ ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:393
+#, c-format
+msgid ""
+"The backup partition table has not the same size\n"
+"Still continue?"
+msgstr ""
+"ਬੈਕਅੱਪ ਭਾਗ ਸਾਰਣੀ ਦਾ ਸਮਾਨ ਅਕਾਰ ਨਹੀਂ ਹੈ\n"
+"ਹਾਲੇ ਜਾਰੀ ਕਰੋ?"
+
+#: diskdrake/interactive.pm:422
+#, c-format
+msgid "Trying to rescue partition table"
+msgstr "ਸੰਕਟ-ਕਾਲੀਨ ਭਾਗ ਸਾਰਣੀ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ"
+
+#: diskdrake/interactive.pm:428
+#, c-format
+msgid "Detailed information"
+msgstr "ਵਿਸਥਾਰ ਜਾਣਕਾਰੀ"
+
+#: diskdrake/interactive.pm:444 diskdrake/interactive.pm:764
+#, c-format
+msgid "Resize"
+msgstr "ਮੁੜ-ਆਕਾਰ"
+
+#: diskdrake/interactive.pm:445
+#, c-format
+msgid "Format"
+msgstr "ਫਾਰਮਿਟ"
+
+#: diskdrake/interactive.pm:447 diskdrake/interactive.pm:850
+#, c-format
+msgid "Add to RAID"
+msgstr "RAID ਵਿੱਚ ਸ਼ਾਮਿਲ"
+
+#: diskdrake/interactive.pm:448 diskdrake/interactive.pm:867
+#, c-format
+msgid "Add to LVM"
+msgstr "LVM ਵਿੱਚ ਸ਼ਾਮਿਲ"
+
+#: diskdrake/interactive.pm:450
+#, c-format
+msgid "Delete"
+msgstr "ਹਟਾਓ"
+
+#: diskdrake/interactive.pm:451
+#, c-format
+msgid "Remove from RAID"
+msgstr "RAID ਵਿੱਚੋਂ ਹਟਾਓ"
+
+#: diskdrake/interactive.pm:452
+#, c-format
+msgid "Remove from LVM"
+msgstr "LVM ਵਿੱਚੋਂ ਹਟਾਓ"
+
+#: diskdrake/interactive.pm:453
+#, c-format
+msgid "Modify RAID"
+msgstr "LVM ਤਬਦੀਲ"
+
+#: diskdrake/interactive.pm:454
+#, c-format
+msgid "Use for loopback"
+msgstr "ਲੂਪਬੈਕ ਲਈ ਵਰਤੋ"
+
+#: diskdrake/interactive.pm:465
+#, c-format
+msgid "Create"
+msgstr "ਬਣਾਓ"
+
+#: diskdrake/interactive.pm:509 diskdrake/interactive.pm:511
+#, c-format
+msgid "Create a new partition"
+msgstr "ਨਵਾਂ ਭਾਗ ਬਣਾਓ"
+
+#: diskdrake/interactive.pm:513
+#, c-format
+msgid "Start sector: "
+msgstr "ਸੈਕਟਰ ਸ਼ੁਰੂ ਕਰੋ:"
+
+#: diskdrake/interactive.pm:516 diskdrake/interactive.pm:937
+#, c-format
+msgid "Size in MB: "
+msgstr "ਮੈਬਾ ਵਿੱਚ ਅਕਾਰ:"
+
+#: diskdrake/interactive.pm:518 diskdrake/interactive.pm:938
+#, c-format
+msgid "Filesystem type: "
+msgstr "ਫਾਇਲ-ਸਿਸਟਮ ਕਿਸਮ:"
+
+#: diskdrake/interactive.pm:524
+#, c-format
+msgid "Preference: "
+msgstr "ਮੇਰੀ ਪਸੰਦ:"
+
+#: diskdrake/interactive.pm:527
+#, c-format
+msgid "Logical volume name "
+msgstr "ਲੋਕਲ ਵਾਲਿਅਮ ਨਾਂ"
+
+#: diskdrake/interactive.pm:547
+#, c-format
+msgid ""
+"You can not create a new partition\n"
+"(since you reached the maximal number of primary partitions).\n"
+"First remove a primary partition and create an extended partition."
+msgstr ""
+"ਤੁਸੀਂ ਨਵਾਂ ਭਾਗ ਨਹੀਂ ਬਣਾ ਸਕਦੇ\n"
+"(ਕਿਉਂਕਿ ਤੁਸੀਂ ਵੱਧ-ਤੋਂ-ਵੱਧ ਭਾਗ ਬਣਾ ਚੁੱਕੇ ਹੋ)।\n"
+"ਪਹਿਲਾਂ ਪ੍ਰਾਇਮਰੀ ਭਾਗ ਹਟਾਓ ਅਤੇ ਐਕਸਟੈਂਡਡ ਭਾਗ ਬਣਾਓ।"
+
+#: diskdrake/interactive.pm:577
+#, c-format
+msgid "Remove the loopback file?"
+msgstr "ਲੂਪਬੈਕ ਫਾਇਲ ਹਟਾਓ?"
+
+#: diskdrake/interactive.pm:596
+#, c-format
+msgid ""
+"After changing type of partition %s, all data on this partition will be lost"
+msgstr "ਭਾਗ %s ਦੀ ਕਿਸਮ ਤਬਦੀਲ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਇਸ ਭਾਗ ਤੋਂ ਸਾਰਾ ਡਾਟਾ ਗੁੰਮ ਹੋ ਜਾਵੇਗਾ।"
+
+#: diskdrake/interactive.pm:608
+#, c-format
+msgid "Change partition type"
+msgstr "ਭਾਗ ਕਿਸਮ ਤਬਦੀਲ"
+
+#: diskdrake/interactive.pm:610 diskdrake/removable.pm:47
+#, c-format
+msgid "Which filesystem do you want?"
+msgstr "ਤੁਸੀਂ ਕਿਹੜਾ ਫਾਇਲ ਸਿਸਟਮ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: diskdrake/interactive.pm:617
+#, c-format
+msgid "Switching from ext2 to ext3"
+msgstr "ext2 ਤੋਂ ext3 ਤਬਦੀਲੀ"
+
+#: diskdrake/interactive.pm:637 diskdrake/interactive.pm:640
+#, c-format
+msgid "Which volume label?"
+msgstr ""
+
+#: diskdrake/interactive.pm:641
+#, fuzzy, c-format
+msgid "Label:"
+msgstr "ਲੇਬਲ"
+
+#: diskdrake/interactive.pm:655
+#, c-format
+msgid "Where do you want to mount the loopback file %s?"
+msgstr "ਤੁਸੀਂ ਲੂਪਬੈਕ ਫਾਇਲ %s ਕਿੱਥੇ ਮਾਊਂਟ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: diskdrake/interactive.pm:656
+#, c-format
+msgid "Where do you want to mount device %s?"
+msgstr "ਤੁਸੀਂ ਜੰਤਰ %s ਕਿੱਥੇ ਮਾਊਂਟ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: diskdrake/interactive.pm:661
+#, c-format
+msgid ""
+"Can not unset mount point as this partition is used for loop back.\n"
+"Remove the loopback first"
+msgstr ""
+"ਮਾਊਂਟ ਸਥਿਤੀ ਹਟਾ ਨਹੀਂ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਭਾਗ ਲੂਪਬੈਕ ਲਈ ਵਰਤਿਆ ਹੈ।\n"
+"ਪਹਿਲਾ ਲੂਪਬੈਕ ਹਟਾਓ।"
+
+#: diskdrake/interactive.pm:691
+#, c-format
+msgid "Where do you want to mount %s?"
+msgstr "ਤੁਸੀਂ %s ਨੂੰ ਕਿੱਥੇ ਮਾਊਂਟ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: diskdrake/interactive.pm:715 diskdrake/interactive.pm:798
+#: fs/partitioning_wizard.pm:141 fs/partitioning_wizard.pm:173
+#, c-format
+msgid "Resizing"
+msgstr "ਮੁੜ-ਆਕਾਰ"
+
+#: diskdrake/interactive.pm:715
+#, c-format
+msgid "Computing FAT filesystem bounds"
+msgstr "FAT ਫਾਇਲ ਸਿਸਟਮ ਬੰਧਨ ਜਾਂਚ ਜਾਰੀ"
+
+#: diskdrake/interactive.pm:751
+#, c-format
+msgid "This partition is not resizeable"
+msgstr "ਇਹ ਭਾਗ ਮੁੜ-ਅਕਾਰ ਦੇ ਯੋਗ ਨਹੀਂ"
+
+#: diskdrake/interactive.pm:756
+#, c-format
+msgid "All data on this partition should be backed-up"
+msgstr "ਇਸ ਭਾਗ ਤੇ ਸਾਰਾ ਡਾਟਾ ਬੈਕਅੱਪ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ"
+
+#: diskdrake/interactive.pm:758
+#, c-format
+msgid "After resizing partition %s, all data on this partition will be lost"
+msgstr "ਭਾਗ %s ਮੁੜ ਅਕਾਰ ਤੋਂ ਬਾਅਦ, ਇਸ ਭਾਗ ਤੇ ਸਾਰਾ ਡਾਟਾ ਗੁੰਮ ਹੋ ਜਾਵੇਗਾ"
+
+#: diskdrake/interactive.pm:765
+#, c-format
+msgid "Choose the new size"
+msgstr "ਨਵਾਂ ਅਕਾਰ ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:766
+#, c-format
+msgid "New size in MB: "
+msgstr "ਮੈਬਾ ਵਿੱਚ ਨਵਾਂ ਅਕਾਰ:"
+
+#: diskdrake/interactive.pm:767
+#, c-format
+msgid "Minimum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:768
+#, c-format
+msgid "Maximum size: %s MB"
+msgstr ""
+
+#: diskdrake/interactive.pm:809 fs/partitioning_wizard.pm:181
+#, c-format
+msgid ""
+"To ensure data integrity after resizing the partition(s), \n"
+"filesystem checks will be run on your next boot into Microsoft Windows®"
+msgstr ""
+"ਭਾਗ ਮੁੜ-ਅਕਾਰ ਤੋਂ ਬਾਅਦ ਡਾਟਾ ਇੱਕਸਾਰਤਾ ਜਾਂਚ ਲਈ, \n"
+"Windows(TM) ਵਿੱਚ ਤੁਹਾਡੀ ਅਗਲੀ ਬੂਟ ਦੌਰਾਨ ਫਾਇਲ ਸਿਸਟਮ ਜਾਂਚ ਚੱਲੇਗੀ"
+
+#: diskdrake/interactive.pm:850
+#, c-format
+msgid "Choose an existing RAID to add to"
+msgstr "ਸ਼ਾਮਿਲ ਕਰਨ ਲਈ ਮੌਜੂਦਾ RAID ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:852 diskdrake/interactive.pm:869
+#, c-format
+msgid "new"
+msgstr "ਨਵਾਂ"
+
+#: diskdrake/interactive.pm:867
+#, c-format
+msgid "Choose an existing LVM to add to"
+msgstr "ਸ਼ਾਮਿਲ ਕਰਨ ਲਈ ਮੌਜੂਦਾ LVM ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:874
+#, c-format
+msgid "LVM name?"
+msgstr "LVM ਨਾਂ?"
+
+#: diskdrake/interactive.pm:902
+#, c-format
+msgid ""
+"Physical volume %s is still in use.\n"
+"Do you want to move used physical extents on this volume to other volumes?"
+msgstr ""
+
+#: diskdrake/interactive.pm:904
+#, c-format
+msgid "Moving physical extents"
+msgstr ""
+
+#: diskdrake/interactive.pm:922
+#, c-format
+msgid "This partition can not be used for loopback"
+msgstr "ਇਹ ਭਾਗ ਲੂਪਬੈਕ ਲਈ ਨਹੀਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ"
+
+#: diskdrake/interactive.pm:935
+#, c-format
+msgid "Loopback"
+msgstr "ਲੂਪਬੈਕ"
+
+#: diskdrake/interactive.pm:936
+#, c-format
+msgid "Loopback file name: "
+msgstr "ਲੂਪਬੈਕ ਫਾਇਲ ਨਾਂ:"
+
+#: diskdrake/interactive.pm:941
+#, c-format
+msgid "Give a file name"
+msgstr "ਫਾਇਲ ਨਾਂ ਦਿਓ"
+
+#: diskdrake/interactive.pm:944
+#, c-format
+msgid "File is already used by another loopback, choose another one"
+msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਹੋਰ ਲੂਪਬੈਕ ਦੁਆਰਾ ਵਰਤੀ ਹੈ, ਹੋਰ ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:945
+#, c-format
+msgid "File already exists. Use it?"
+msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਮੌਜੂਦ ਹੈ, ਇਹ ਵਰਤੋ?"
+
+#: diskdrake/interactive.pm:974 diskdrake/interactive.pm:977
+#, c-format
+msgid "Mount options"
+msgstr "ਮਾਊਂਟ ਚੋਣ"
+
+#: diskdrake/interactive.pm:984
+#, c-format
+msgid "Various"
+msgstr "ਵੱਖਰੇ"
+
+#: diskdrake/interactive.pm:1049
+#, c-format
+msgid "device"
+msgstr "ਜੰਤਰ"
+
+#: diskdrake/interactive.pm:1050
+#, c-format
+msgid "level"
+msgstr "ਪੱਧਰ"
+
+#: diskdrake/interactive.pm:1051
+#, c-format
+msgid "chunk size in KiB"
+msgstr "ਕਿਬਾ ਵਿੱਚ chunk ਅਕਾਰ"
+
+#: diskdrake/interactive.pm:1068
+#, c-format
+msgid "Be careful: this operation is dangerous."
+msgstr "ਸਾਵਧਾਨ: ਇਹ ਕਿਰਿਆ ਖਤਰਨਾਕ ਹੈ।"
+
+#: diskdrake/interactive.pm:1083
+#, c-format
+msgid "What type of partitioning?"
+msgstr "ਭਾਗ ਦੀ ਕਿਹੜੀ ਕਿਸਮ?"
+
+#: diskdrake/interactive.pm:1121
+#, c-format
+msgid "You'll need to reboot before the modification can take place"
+msgstr "ਤਬਦੀਲੀ ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਮੁੜ ਚਲਾਉਣਾ ਪਵੇਗਾ"
+
+#: diskdrake/interactive.pm:1130
+#, c-format
+msgid "Partition table of drive %s is going to be written to disk!"
+msgstr "ਡਰਾਈਵ %s ਦੀ ਭਾਗ ਸਾਰਣੀ ਡਿਸਕ ਤੇ ਲਿਖੀ ਜਾ ਰਹੀ ਹੈ!"
+
+#: diskdrake/interactive.pm:1153
+#, c-format
+msgid "After formatting partition %s, all data on this partition will be lost"
+msgstr "ਭਾਗ %s ਫਾਰਮਿਟ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਇਸ ਭਾਗ ਤੇ ਸਾਰਾ ਡਾਟਾ ਗੁੰਮ ਹੋ ਜਾਵੇਗਾ"
+
+#: diskdrake/interactive.pm:1158 fs/partitioning.pm:49
+#, c-format
+msgid "Check bad blocks?"
+msgstr "ਨਕਾਰਾ ਬਲਾਕਾਂ ਦੀ ਜਾਂਚ?"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Move files to the new partition"
+msgstr "ਫਾਇਲਾਂ ਨਵੇਂ ਭਾਗ ਤੇ ਲਿਜਾਓ"
+
+#: diskdrake/interactive.pm:1172
+#, c-format
+msgid "Hide files"
+msgstr "ਫਾਇਲਾਂ ਓਹਲੇ"
+
+#: diskdrake/interactive.pm:1173
+#, c-format
+msgid ""
+"Directory %s already contains data\n"
+"(%s)\n"
+"\n"
+"You can either choose to move the files into the partition that will be "
+"mounted there or leave them where they are (which results in hiding them by "
+"the contents of the mounted partition)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1188
+#, c-format
+msgid "Moving files to the new partition"
+msgstr "ਫਾਇਲਾ ਨਵੇਂ ਭਾਗ ਤੇ ਜਾ ਰਹੀਆਂ ਹਨ"
+
+#: diskdrake/interactive.pm:1192
+#, c-format
+msgid "Copying %s"
+msgstr "%s ਨਕਲ ਹੋ ਰਹੀ ਹੈ"
+
+#: diskdrake/interactive.pm:1196
+#, c-format
+msgid "Removing %s"
+msgstr "%s ਹਟਾ ਰਿਹਾ ਹੈ"
+
+#: diskdrake/interactive.pm:1210
+#, c-format
+msgid "partition %s is now known as %s"
+msgstr "ਭਾਗ %s ਹੁਣ %s ਨਾਲ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ"
+
+#: diskdrake/interactive.pm:1211
+#, c-format
+msgid "Partitions have been renumbered: "
+msgstr "ਭਾਗ ਮੁੜ ਅੰਕਿਤ ਕੀਤੇ ਗਏ:"
+
+#: diskdrake/interactive.pm:1231 diskdrake/interactive.pm:1293
+#, c-format
+msgid "Device: "
+msgstr "ਜੰਤਰ:"
+
+#: diskdrake/interactive.pm:1232
+#, c-format
+msgid "Volume label: "
+msgstr "ਵਾਲਿਅਮ ਲੇਬਲ:"
+
+#: diskdrake/interactive.pm:1233
+#, c-format
+msgid "DOS drive letter: %s (just a guess)\n"
+msgstr "DOS ਡਰਾਈਵ ਅੱਖਰ: %s (ਅੰਦਾਜਾ)\n"
+
+#: diskdrake/interactive.pm:1237 diskdrake/interactive.pm:1246
+#: diskdrake/interactive.pm:1311
+#, c-format
+msgid "Type: "
+msgstr "ਕਿਸਮ:"
+
+#: diskdrake/interactive.pm:1241
+#, c-format
+msgid "Name: "
+msgstr "ਨਾਂ:"
+
+#: diskdrake/interactive.pm:1248
+#, c-format
+msgid "Start: sector %s\n"
+msgstr "ਸ਼ੁਰੂ: ਸੈਕਟਰ %s\n"
+
+#: diskdrake/interactive.pm:1249
+#, c-format
+msgid "Size: %s"
+msgstr "ਅਕਾਰ: %s"
+
+#: diskdrake/interactive.pm:1251
+#, c-format
+msgid ", %s sectors"
+msgstr ", %s ਸੈਕਟਰ"
+
+#: diskdrake/interactive.pm:1253
+#, c-format
+msgid "Cylinder %d to %d\n"
+msgstr "ਸਿਲੰਡਰ %d ਤੋਂ %d\n"
+
+#: diskdrake/interactive.pm:1254
+#, c-format
+msgid "Number of logical extents: %d\n"
+msgstr ""
+
+#: diskdrake/interactive.pm:1255
+#, c-format
+msgid "Formatted\n"
+msgstr "ਫਾਰਮਿਟ ਕੀਤੀ\n"
+
+#: diskdrake/interactive.pm:1256
+#, c-format
+msgid "Not formatted\n"
+msgstr "ਫਾਰਮਿਟ ਨਹੀਂ\n"
+
+#: diskdrake/interactive.pm:1257
+#, c-format
+msgid "Mounted\n"
+msgstr "ਮਾਊਂਟ ਕੀਤੀ\n"
+
+#: diskdrake/interactive.pm:1258
+#, c-format
+msgid "RAID %s\n"
+msgstr "RAID %s\n"
+
+#: diskdrake/interactive.pm:1263
+#, c-format
+msgid ""
+"Loopback file(s):\n"
+" %s\n"
+msgstr ""
+"ਲੂਪਬੈਕ ਫਾਇਲਾਂ:\n"
+" %s\n"
+
+#: diskdrake/interactive.pm:1264
+#, c-format
+msgid ""
+"Partition booted by default\n"
+" (for MS-DOS boot, not for lilo)\n"
+msgstr ""
+"ਮੂਲ ਬੂਟ ਕੀਤਾ ਭਾਗ\n"
+" (MS-DOS ਬੂਟ ਲਈ, lilo ਲਈ ਨਹੀਂ)\n"
+
+#: diskdrake/interactive.pm:1266
+#, c-format
+msgid "Level %s\n"
+msgstr "ਪੱਧਰ %s\n"
+
+#: diskdrake/interactive.pm:1267
+#, c-format
+msgid "Chunk size %d KiB\n"
+msgstr "Chunk ਅਕਾਰ %d ਕਿਬਾ\n"
+
+#: diskdrake/interactive.pm:1268
+#, c-format
+msgid "RAID-disks %s\n"
+msgstr "RAID-ਡਿਸਕ %s\n"
+
+#: diskdrake/interactive.pm:1270
+#, c-format
+msgid "Loopback file name: %s"
+msgstr "ਲੂਪਬੈਕ ਫਾਇਲ ਨਾਂ: %s"
+
+#: diskdrake/interactive.pm:1273
+#, c-format
+msgid ""
+"\n"
+"Chances are, this partition is\n"
+"a Driver partition. You should\n"
+"probably leave it alone.\n"
+msgstr ""
+"\n"
+"ਮੌਕੇ ਹਨ, ਇਹ ਭਾਗ\n"
+"ਡਰਾਈਵਰ ਭਾਗ ਹੈ। ਤੁਹਾਨੂੰ ਸੰਭਾਵੀ ਹੀ\n"
+"ਇਸ ਨੂੰ ਇਕੱਲੀ ਛੱਡਣਾ ਪਵੇਗਾ।\n"
+
+#: diskdrake/interactive.pm:1276
+#, c-format
+msgid ""
+"\n"
+"This special Bootstrap\n"
+"partition is for\n"
+"dual-booting your system.\n"
+msgstr ""
+"\n"
+"ਇਹ ਖਾਸ Bootstrap\n"
+"ਭਾਗ ਤੁਹਾਡੇ ਸਿਸਟਮ ਨੂੰ \n"
+"ਦੋਹਰਾ-ਬੂਟ ਕਰਨ ਲਈ ਹੈ।\n"
+
+#: diskdrake/interactive.pm:1285
+#, c-format
+msgid "Empty space on %s (%s)"
+msgstr ""
+
+#: diskdrake/interactive.pm:1294
+#, c-format
+msgid "Read-only"
+msgstr "ਸਿਰਫ਼ ਪੜਨ ਲਈ"
+
+#: diskdrake/interactive.pm:1295
+#, c-format
+msgid "Size: %s\n"
+msgstr "ਅਕਾਰ: %s\n"
+
+#: diskdrake/interactive.pm:1296
+#, c-format
+msgid "Geometry: %s cylinders, %s heads, %s sectors\n"
+msgstr "ਬਣਤਰ: %s ਸਿਲੰਡਰ, %s ਹੈੱਡ, %s ਸੈਕਟਰ\n"
+
+#: diskdrake/interactive.pm:1297
+#, c-format
+msgid "Info: "
+msgstr "ਜਾਣਕਾਰੀ:"
+
+#: diskdrake/interactive.pm:1298
+#, c-format
+msgid "LVM-disks %s\n"
+msgstr "LVM-ਡਿਸਕਾਂ %s\n"
+
+#: diskdrake/interactive.pm:1299
+#, c-format
+msgid "Partition table type: %s\n"
+msgstr "ਭਾਗ ਸਾਰਣੀ ਕਿਸਮ: %s\n"
+
+#: diskdrake/interactive.pm:1300
+#, c-format
+msgid "on channel %d id %d\n"
+msgstr "ਚੈਨਲ %d id %d ਤੇ\n"
+
+#: diskdrake/interactive.pm:1343
+#, c-format
+msgid "Filesystem encryption key"
+msgstr "ਫਾਇਲ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ"
+
+#: diskdrake/interactive.pm:1344
+#, c-format
+msgid "Choose your filesystem encryption key"
+msgstr "ਆਪਣੀ ਫਾਇਲ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਚੁਣੋ"
+
+#: diskdrake/interactive.pm:1347
+#, c-format
+msgid "This encryption key is too simple (must be at least %d characters long)"
+msgstr "ਇਹ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਬਹੁਤ ਸੌਖੀ ਹੈ (ਘੱਟੋ-ਘੱਟ %d ਅੱਖਰਾਂ ਦੀ ਹੋਵੇ)"
+
+#: diskdrake/interactive.pm:1348
+#, c-format
+msgid "The encryption keys do not match"
+msgstr "ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀ"
+
+#: diskdrake/interactive.pm:1351
+#, c-format
+msgid "Encryption key"
+msgstr "ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ "
+
+#: diskdrake/interactive.pm:1352
+#, c-format
+msgid "Encryption key (again)"
+msgstr "ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ (ਫਿਰ)"
+
+#: diskdrake/interactive.pm:1354
+#, c-format
+msgid "Encryption algorithm"
+msgstr "ਇਨਕ੍ਰਿਪਸ਼ਨ ਕਲਨ ਵਿਧੀ"
+
+#: diskdrake/removable.pm:46
+#, c-format
+msgid "Change type"
+msgstr "ਕਿਸਮ ਤਬਦੀਲ"
+
+#: diskdrake/smbnfs_gtk.pm:81 interactive.pm:126 interactive.pm:539
+#: interactive/curses.pm:214 interactive/http.pm:104 interactive/http.pm:160
+#: interactive/stdio.pm:39 interactive/stdio.pm:142 ugtk2.pm:404 ugtk2.pm:506
+#: ugtk2.pm:515 ugtk2.pm:788
+#, c-format
+msgid "Cancel"
+msgstr "ਰੱਦ ਕਰੋ"
+
+#: diskdrake/smbnfs_gtk.pm:164
+#, c-format
+msgid "Can not login using username %s (bad password?)"
+msgstr "ਉਪਭੋਗੀ-ਨਾਂ %s ਵਰਤ ਕੇ ਲਾਗਇਨ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ (ਗੁਪਤ-ਕੋਡ ਗਲਤ?)"
+
+#: diskdrake/smbnfs_gtk.pm:168 diskdrake/smbnfs_gtk.pm:177
+#, c-format
+msgid "Domain Authentication Required"
+msgstr "ਡੋਮੇਨ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਲੋੜ ਹੈ"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format
+msgid "Which username"
+msgstr "ਕਿਹੜਾ ਉਪਭੋਗੀ-ਨਾਂ"
+
+#: diskdrake/smbnfs_gtk.pm:169
+#, c-format